CN100382047C - 把无用方法收集到垃圾箱中的方法和系统 - Google Patents

把无用方法收集到垃圾箱中的方法和系统 Download PDF

Info

Publication number
CN100382047C
CN100382047C CNB008164169A CN00816416A CN100382047C CN 100382047 C CN100382047 C CN 100382047C CN B008164169 A CNB008164169 A CN B008164169A CN 00816416 A CN00816416 A CN 00816416A CN 100382047 C CN100382047 C CN 100382047C
Authority
CN
China
Prior art keywords
thread
garbage collection
storage space
updating
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB008164169A
Other languages
English (en)
Other versions
CN1402847A (zh
Inventor
乔基姆·达尔斯泰特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
BEA Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEA Systems Inc filed Critical BEA Systems Inc
Publication of CN1402847A publication Critical patent/CN1402847A/zh
Application granted granted Critical
Publication of CN100382047C publication Critical patent/CN100382047C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Abstract

一种在使用虚拟机时提高数据处理应用程序的有效性的方法,其中该程序包括许多个方法,即许多个程序段,它们都存储在所用计算机的存储器中,和其中该程序利用了垃圾收集过程。该发明的特征在于,在第1步骤中,分析所有线程堆栈,以确定哪些方法是所述线程堆栈需要的方法;在第2步骤中,更新每一个需要的方法,其中正在调用更新以前的方法被调用更新后的方法所取代;在第3步骤中,删除所有未更新的方法并释放由所述未更新的方法所占用的存储空间。

Description

把无用方法收集到垃圾箱中的方法和系统
技术领域
本发明涉及一种提高数据处理应用程序的有效性的方法和系统。
更准确地说,本发明涉及提高虚拟机中的数据处理速率,尤其与Java程序语言有关。
背景技术
虽然下面主要针对Java程序语言描述本发明,但是,本发明不限于Java程序语言,而是可以与许多程序语言一起应用。
本方法打算用在程序的自适应优化上。在自适应优化中,当运行程序时,重构程序和优化程序的各个不同部分。运行的程序越长,所需的存储空间就越大,因此,提高数据处理能力的一般性问题在于迅速创建新的存储场地。
Java和其它动态程序语言包括自动存储器管理。这意味着程序员无需关心存储器已经使用的那些部分。虚拟机有时进行所谓的垃圾收集(garbagecollection),大体上指的是虚拟机扫描整个存储器,找出哪些对象还存储在存储器中和哪些对象程序不再访问。归还存储器的这些部分供以后使用。
Java还包括有关所谓线程管理方法的方法。因此,Java包含了支持或模拟两个或更多个程序的同时处理的系统。线程管理可以分成两个部分。一个部分涉及到以控制方式构造不同线程的方式。另一个部分涉及到哪些线程将被运行和哪些线程将是被动的和等待着被运行。
为了进一步提高有效性和让程序清理占用的存储空间,仅仅根据各个对象来优化存储器是不够的。
发明内容
本发明解决了这个问题。
因此,本发明涉及一种在使用虚拟机时提高数据处理应用程序的有效性的方法,其中该程序包括许多个方法,它们都存储在所用计算机的存储器中,和其中该程序利用了垃圾收集过程,其特征在于,在第1步骤中,分析所有线程堆栈,以确定哪些方法被所述线程使用;在第2步骤中,通过创建每个所述使用的方法的拷贝,更新每个所述使用的方法,其中,正在调用更新以前的方法被调用更新后的方法所取代;和在第3步骤中,删除所有旧的方法并释放由所述旧的方法所占用的存储空间;其中在所述第1步骤中,当程序正在运行时,让线程一次一个地被暂停;传输由所述暂停的线程使用的方法到一列表;重新开始被暂停的线程;在所述第2步骤中,更新和存储所述列表中的方法;在所述第3步骤中,当所有线程的第1和第2步骤的处理完成时,让所有线程同时停止;以及删除所有旧的方法,并用更新的方法重新开始这些线程。
本发明还提供一种用于对计算机或虚拟机的存储空间内的方法的分布进行优化的方法,包括步骤:分析所有线程堆栈,以便确定哪个方法被线程使用;通过创建每个所述使用的方法的拷贝,对每个所述使用的方法进行更新,并以对所更新的方法的调用来替换对每一个使用的方法的调用;以及删除所有旧的方法,并释放由这些旧的方法占用的存储空间;其中,所述分析步骤包括如下子步骤:对所有线程当程序正在运行时,一次一个地暂停每一个线程,传输被暂停的线程使用的方法到一更新列表,和重新开始被暂停的线程;并且其中所述更新每个所述使用的方法的步骤包括步骤:更新并存储所述更新列表中的方法;以及其中所述删除步骤包括如下子步骤:当所有线程的处理完成时同时停止所有线程,删除所有旧的方法,和用更新的方法重新开始所述线程。
附图说明
现在参照如附图所示的本发明示范性实施例,在一定程度上比较详细地描述本发明,在附图中:
图1是方块图;
图2显示了旧方法;和
图3显示了根据本发明更新的方法。
具体实施方式
图1显示了Java虚拟机JVM,无论操作系统是WinNT、LINUX、Solaris、还是一些其它系统,这种虚拟机JVM都可以用于运行不同的数据程序1、2、3。如上所述,尽管Java程序语言是非常流行的程序语言,但是,本发明不限于这种语言,而是可以应用于所有面向对象的和与平台无关的相应程序语言。
因此,本发明涉及当使用虚拟机时,提高数据处理应用程序的有效性的方法,其中,该程序包括许多个方法,即许多个程序段,它们都存储在所用计算机的存储器中,和其中,该程序利用了垃圾收集进程。
大家知道,垃圾箱收集各个对象,随之删除当前不再使用的对象,从而使相应的存储空间得到清理。
在大多数系统中,许多方法,即许多程序段,被使用一次或数次,或者这些方法在很短的时间内得到应用,然后就不再被使用了。
在Java和相应程序的情况中,装入新方法之后,旧方法就再也没有用了。
此外,自适应优化导致存储在存储器中的方法的优化或再优化,其中留下的旧方法就再也没有用了。
当优化锁定机构选择和垃圾收集选择时,有必要用新机构取代使用旧机构的所有已使用过的方法。
根据本发明,在新发明的方法的第1步骤中,根据所需的各个方法分析所有所谓的线程堆栈。在第2步骤中,更新所需方法的每一个,其中,正在对所述更新以前的方法的调用被对更新方法的调用所取代。在第3步骤中,删除所有未更新的方法,和由所述程序清理相应的存储空间。
这个过程不仅的确清除了不使用的方法,而且致使已经更新的那些方法得到重排,以便把方法的调用直接指向更新的方法,而不是通过不再使用的旧方法来进行。
这显示在图2和3中,其中图2显示了旧方法,和图3显示了所用的更新方法。在图2中显示了三个方法foo、apa和bar。foo从存储器地址4711开始,apa从地址4714开始,和bar从地址4720开始。
线程堆栈的分析表明,只有方法foo和bar被使用,因此,foo和bar不再引用方法apa。
把方法foo和bar更新成图3所示的那些方法。在这种情况中,方法foo和bar精确地重建起来,尽管不同之处在于,各个方法获得了新地址,和此时,foo对bar的调用指向新的bar地址4903。
删除了所有旧方法,即图2中的方法,以前被这些方法占用的存储空间也空出来供未来使用。
当进行对象的垃圾收集时,一般来说,在进行垃圾收集的时候,程序停止运行。在垃圾收集和删除了不再使用的对象之后,程序重新启动运行。
当应用本发明时可以使用这样的方法。
但是,最好用如下的方法来取代。
当实施新发明的方法时,在程序正在运行的时候停止一个线程,与此同时,把用于停止线程的方法转移到一个列表中,然后,重新启动该线程。接着,更新和存储该列表中的方法。在按照这种方式处理完所有线程之后,使所有线程同时停止,即,以便更新与所关心的线程相关的所有已用方法。删除没有被更新的所有方法,和用更新方法重新启动所有线程。
由于更新是断断续续进行的,这种方法避免了停止运行程序的需要。
如上所述,在Java和相应的语言中利用了锁定机构。可以选择不同的锁定机构。重要的是,选择在避免与另一个线程同时访问给定对象的多于一个的线程的出现方面最为有效的锁定机构。
同步问题出现在几个线程想要访问同一个对象或资源的时候。为了在Java程序语言中解决这个问题,每个线程尽力达到资源锁定。可以以各种各样的方式利用资源锁定机构。不同锁定机构的有效性取决于线程如何致力于获得同步资源。
根据优选实施例,当利用锁定机构时,在所述第1步骤之前的步骤中识别最有效的锁定机构,和更新利用如此确定的锁定机构的方法。
至于垃圾收集算法,也需要加以选择。许多面向对象的语言都利用垃圾收集。这意味着,程序员无需明确地告诉系统不再需要某个对象了。系统负责这种检测,和收回被对象占用的存储器部分。为了有效实现这种检测和收回,已经提出了许多不同的算法。已经证明,不同的算法最好适合于不同的应用程序。选择最适合于正在运行的应用程序的垃圾收集算法对于取得与所关心的程序有关的最大执行速率是非常有意义的。
根据本发明的另一个优选实施例,当利用不同的垃圾收集算法时,在所述第1步骤之前的步骤中确定各个对象的分配和寿命,此后,使最有效的垃圾收集算法得到识别,和更新构成所需垃圾收集算法的方法,然后删除其余的垃圾收集算法。
优选实施例的应用提供了优化代码、线程和存储器管理的高效方法,其中,一般特征在于方法的识别和更新,以便不把无用方法装入系统中。

Claims (13)

1.一种在使用虚拟机时提高数据处理应用程序的有效性的方法,其中该程序包括许多个方法,它们都存储在所用计算机的存储器中,和其中该程序利用了垃圾收集过程,其特征在于,
在第1步骤中,分析所有线程堆栈,以确定哪些方法被所述线程使用;
在第2步骤中,通过创建每个所述使用的方法的拷贝,更新每个所述使用的方法,其中,正在调用更新以前的方法被调用更新后的方法所取代;和
在第3步骤中,删除所有旧的方法并释放由所述旧的方法所占用的存储空间;
其中在所述第1步骤中,当程序正在运行时,让线程一次一个地被暂停;传输由所述暂停的线程使用的方法到一列表;重新开始被暂停的线程;
在所述第2步骤中,更新和存储所述列表中的方法;
在所述第3步骤中,当所有线程的第1和第2步骤的处理完成时,让所有线程同时停止;以及
删除所有旧的方法,并用更新的方法重新开始这些线程。
2.根据权利要求1所述的方法,其中,所述虚拟机是Java虚拟机。
3.根据权利要求1或2所述的方法,在使用锁定机构时,包括步骤:
在所述第1分析步骤之前,识别最优锁定机构;以及
在所述更新步骤中,对使用所识别的锁定机构的那些方法进行更新。
4.根据权利要求1或2所述的方法,在使用不同的垃圾收集算法时,包括步骤:
在所述分析步骤之前,确定各个程序对象的分配和寿命;以及识别最优垃圾收集算法;
在所述更新步骤中,对构成所识别的垃圾收集算法的方法进行更新;以及
在所述删除步骤中,删除其余的垃圾收集算法。
5.根据权利要求3所述的方法,在使用不同的垃圾收集算法时,包括步骤:
在所述分析步骤之前,确定各个程序对象的分配和寿命;以及识别最优垃圾收集算法;
在所述更新步骤中,更新构成所识别的垃圾收集算法的方法;以及
在所述删除步骤中,删除其余的垃圾收集算法。
6.一种用于对计算机或虚拟机的存储空间内的方法的分布进行优化的方法,包括步骤:
分析所有线程堆栈,以便确定哪个方法被线程使用;
通过创建每个所述使用的方法的拷贝,对每个所述使用的方法进行更新,并以对所更新的方法的调用来替换对每一个使用的方法的调用;以及
删除所有旧的方法,并释放由这些旧的方法占用的存储空间;
其中,所述分析步骤包括如下子步骤:对所有线程
当程序正在运行时,一次一个地暂停每一个线程,
传输被暂停的线程使用的方法到一更新列表,和
重新开始被暂停的线程;
并且
其中所述更新每个所述使用的方法的步骤包括步骤:
更新并存储所述更新列表中的方法;以及
其中所述删除步骤包括如下子步骤:
当所有线程的处理完成时同时停止所有线程,
删除所有旧的方法,和
用更新的方法重新开始所述线程。
7.根据权利要求6所述的用于优化计算机或虚拟机的存储空间中的方法的分布的方法,在使用锁定机构时,包括步骤:
在所述第1分析步骤之前,识别最优锁定机构;以及
在所述更新步骤中,对使用所识别的锁定机构的那些方法进行更新。
8.根据权利要求6所述的用于优化计算机或虚拟机的存储空间中的方法的分布的方法,在使用不同的垃圾收集算法时,包括步骤:
在所述分析步骤之前,确定使用的对象的分配和寿命,以及识别最优垃圾收集算法;
在所述更新步骤中,还对构成所识别的垃圾收集算法的方法进行更新;以及
在所述删除步骤中,删除其余的垃圾收集算法。
9.根据权利要求7所述的用于优化计算机或虚拟机的存储空间中的方法的分布的方法,在使用不同的垃圾收集算法时,包括步骤:
在所述分析步骤之前,确定使用的对象的分配和寿命,以及
识别最优垃圾收集算法;
在所述更新步骤中,还对构成所识别的垃圾收集算法的方法进行更新;以及
在所述删除步骤中,删除其余垃圾收集算法。
10.一种用于对计算机或虚拟机的存储空间中的方法进行重排的方法,其中所述虚拟机包括一个或多个线程,包括步骤:
在所述虚拟机的存储空间中原始分布的方法中,确定对要被更新的所述方法的选择,其中所述确定步骤包括分析线程堆栈以确定当前所述线程需要的那些方法;
创建更新的方法,并以对所述更新的方法的调用替换对选择的每一个方法的调用,其中所述创建更新的方法的步骤包括一次停止所述线程一个并在备用存储器地址再创建所述停止的线程所需方法的拷贝;以及
删除原始的方法,并释放由删除的方法占用的存储空间的部分。
11.一种对计算机或虚拟机中的存储空间中的方法进行重排的方法,包括步骤:
在所述存储空间中原始存在的方法中,确定要保留的所述方法的子集,所述确定步骤包括分析线程以确定当前所述线程需要的那些方法;
创建要保留的方法子集的拷贝,并将对子集中的每个原始方法的调用修改为对那个方法的新的拷贝的调用;以及
删除所有其他方法并释放由所述删除的方法占用的存储空间。
12.一种优化计算机或虚拟机的存储空间中的方法分布的方法,包括步骤:
从多个原始方法选择一组将要更新的方法;
更新所述组的方法,包括创建从所述要更新的组拷贝的新的方法组,并以对所述新的方法组的相应调用代替对原始方法组的调用;和
删除在多个原始方法中的所有方法,并释放由删除的方法占用的存储空间的部分。
13.根据权利要求12所述的方法,还包括步骤:
在更新所述方法之前停止所述线程,和
在所述方法被更新后重新开始所述线程。
CNB008164169A 1999-10-28 2000-10-27 把无用方法收集到垃圾箱中的方法和系统 Expired - Lifetime CN100382047C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE9903890A SE514318C2 (sv) 1999-10-28 1999-10-28 Förfarande för att effektivisera en databehandlingsprocess vid användning av en virtuell maskin och där ett skräpsamlingsförfarande används
SE99038903 1999-10-28

Publications (2)

Publication Number Publication Date
CN1402847A CN1402847A (zh) 2003-03-12
CN100382047C true CN100382047C (zh) 2008-04-16

Family

ID=20417516

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008164169A Expired - Lifetime CN100382047C (zh) 1999-10-28 2000-10-27 把无用方法收集到垃圾箱中的方法和系统

Country Status (11)

Country Link
US (2) US7194494B1 (zh)
EP (1) EP1240589B1 (zh)
JP (1) JP4150518B2 (zh)
KR (1) KR20020070270A (zh)
CN (1) CN100382047C (zh)
AT (1) ATE402443T1 (zh)
AU (1) AU768181B2 (zh)
CA (1) CA2389168C (zh)
DE (1) DE60039628D1 (zh)
SE (1) SE514318C2 (zh)
WO (1) WO2001031455A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018425A (ja) * 2003-06-26 2005-01-20 Matsushita Electric Ind Co Ltd プログラム変換方法、プログラムおよび記憶媒体
ATE479942T1 (de) * 2003-06-30 2010-09-15 Panasonic Corp Speicherbereinigungssystem
EP1622009A1 (en) * 2004-07-27 2006-02-01 Texas Instruments Incorporated JSM architecture and systems
DE102007026693A1 (de) 2007-06-08 2008-12-11 Robert Bosch Gmbh Verfahren und Vorrichtung zum Umorganisieren von Daten in einem Speichersystem, insbesondere für Steuergeräte in Kraftfahrzeugen
CA2700217C (en) * 2010-04-01 2011-07-19 Ibm Canada Limited - Ibm Canada Limitee Write barrier elision for reference arrays
US10606614B2 (en) * 2016-07-31 2020-03-31 Oracle International Corporation Container-based language runtime using a variable-sized container for an isolated method
CN114265670B (zh) * 2022-03-02 2022-09-23 阿里云计算有限公司 一种内存块整理方法、介质及计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797810A (en) * 1986-06-26 1989-01-10 Texas Instruments Incorporated Incremental, multi-area, generational, copying garbage collector for use in a virtual address space
US5293614A (en) * 1991-04-08 1994-03-08 Texas Instruments Incorporated System and method for hard real-time garbage collection requiring a write barrier but no read barrier
US5873105A (en) * 1997-06-26 1999-02-16 Sun Microsystems, Inc. Bounded-pause time garbage collection system and method including write barrier associated with a source instance of a partially relocated object

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088036A (en) 1989-01-17 1992-02-11 Digital Equipment Corporation Real time, concurrent garbage collection system and method
US5355483A (en) * 1991-07-18 1994-10-11 Next Computers Asynchronous garbage collection
ATE233001T1 (de) * 1992-06-15 2003-03-15 Microsoft Corp Rechnerverfahren und system zur speicherverwaltung
US5692193A (en) * 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US6463581B1 (en) * 1996-10-03 2002-10-08 International Business Machines Corporation Method for determining reachable methods in object-oriented applications that use class libraries
US6041179A (en) * 1996-10-03 2000-03-21 International Business Machines Corporation Object oriented dispatch optimization
US5915255A (en) * 1997-04-23 1999-06-22 Sun Microsystems, Inc. Method and apparatus for referencing nodes using links
WO1999032978A1 (en) * 1997-12-19 1999-07-01 Microsoft Corporation Incremental garbage collection
US6654951B1 (en) * 1998-12-14 2003-11-25 International Business Machines Corporation Removal of unreachable methods in object-oriented applications based on program interface analysis

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797810A (en) * 1986-06-26 1989-01-10 Texas Instruments Incorporated Incremental, multi-area, generational, copying garbage collector for use in a virtual address space
US5293614A (en) * 1991-04-08 1994-03-08 Texas Instruments Incorporated System and method for hard real-time garbage collection requiring a write barrier but no read barrier
US5873105A (en) * 1997-06-26 1999-02-16 Sun Microsystems, Inc. Bounded-pause time garbage collection system and method including write barrier associated with a source instance of a partially relocated object

Also Published As

Publication number Publication date
EP1240589B1 (en) 2008-07-23
WO2001031455A1 (en) 2001-05-03
DE60039628D1 (de) 2008-09-04
SE9903890L (sv) 2001-02-12
CA2389168C (en) 2009-10-06
JP2003513356A (ja) 2003-04-08
CN1402847A (zh) 2003-03-12
AU1563201A (en) 2001-05-08
US20070073794A1 (en) 2007-03-29
US7194494B1 (en) 2007-03-20
AU768181B2 (en) 2003-12-04
ATE402443T1 (de) 2008-08-15
SE514318C2 (sv) 2001-02-12
EP1240589A1 (en) 2002-09-18
CA2389168A1 (en) 2001-05-03
SE9903890D0 (sv) 1999-10-28
JP4150518B2 (ja) 2008-09-17
KR20020070270A (ko) 2002-09-05

Similar Documents

Publication Publication Date Title
EP1080411B1 (en) Memory reclamation method
KR100541174B1 (ko) 로컬화된 메모리 재이용을 가진 데이터 처리기
CN100468336C (zh) 基于优先权的代码高速缓存管理
US6571260B1 (en) Memory reclamation method
US6757890B1 (en) Methods and apparatus for enabling local Java object allocation and collection
US20020087589A1 (en) Methods and apparatus for optimizing garbage collection
CN1447224A (zh) 计算机应用程序中优化存储器使用的方法
US10372601B2 (en) Managing memory in a computer system
JP4756231B2 (ja) 掃除用のガーベッジコレクションの効果を高めるための方法、コンピュータ読み取り可能媒体、コンピュータシステム、及び、メモリ
US7650370B2 (en) System and method for regeneration of methods and garbage collection of unused methods
US8255436B2 (en) Per thread garbage collection
US5369732A (en) Method and apparatus for goal processing memory management
CN100382047C (zh) 把无用方法收集到垃圾箱中的方法和系统
US10423526B2 (en) Method, program, and system for reducing the cost of stack scanning
US8140597B2 (en) Computer system memory management
CN115033378B (zh) 一种关于易失性内存的管理方法
CN114791934A (zh) 区块链升级方法、装置、设备及存储介质
CN101923555A (zh) Ext文件系统的安装方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: BEA SYSTEM CO.,LTD.

Free format text: FORMER OWNER: BEA SYSTEM STOCKHOLM ENGINEERING CO., LTD.

Effective date: 20060818

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20060818

Address after: American California

Applicant after: Bea Systems Corp.

Address before: Stockholm

Applicant before: BEA systems Stockholm Engineering Co

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: ORACLE INT CORP

Free format text: FORMER OWNER: BEA SYSTEMS CORP.

Effective date: 20110831

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20110831

Address after: American California

Patentee after: Oracle Int Corp

Address before: California, USA

Patentee before: Bea Systems Corp.

CX01 Expiry of patent term

Granted publication date: 20080416

CX01 Expiry of patent term