Garbage collection for shared data entities
    1.
    发明授权
    Garbage collection for shared data entities 有权
    共享数据实体的垃圾收集

    公开(公告)号:US07788300B2

    公开(公告)日:2010-08-31

    申请号:US10942736

    申请日:2004-09-15

    IPC分类号: G06F17/00

    CPC分类号: G06F12/0253

    摘要: Methods and apparatus, including computer systems and program products, for garbage collection of shared data entities. A computer program identifies a set of virtual machines (VMs), each operable to generate references to shared entities stored in shared memory. Each shared entity can include references to one or more of the other shared entities. The program waits for the VMs to independently identify the shared entities that they reference directly, and then initiates a shared garbage collection procedure to identify the shared entities that are not directly or indirectly referenced by any of the VMs and to reclaim the shared memory being used to store those shared entities. The VMs are prevented from generating new references to the shared entities solely during a portion of the shared garbage collection procedure. By minimizing the time during which access to the shared entities is restricted, performance and scalability can be increased.

    摘要翻译: 方法和设备,包括计算机系统和程序产品,用于共享数据实体的垃圾收集。 计算机程序识别一组虚拟机(VM),每个虚拟机可操作以生成对存储在共享存储器中的共享实体的引用。 每个共享实体可以包括对一个或多个其他共享实体的引用。 该程序等待虚拟机独立地识别它们直接引用的共享实体,然后启动共享垃圾回收过程,以识别任何虚拟机不直接或间接引用的共享实体,并回收所使用的共享内存 存储这些共享实体。 VM被阻止仅在共享垃圾收集过程的一部分期间生成对共享实体的新引用。 通过最小化对共享实体的访问受限的时间,可以提高性能和可扩展性。

    Sharing objects in runtime systems
    2.
    发明授权
    Sharing objects in runtime systems 有权
    在运行系统中共享对象

    公开(公告)号:US07415704B2

    公开(公告)日:2008-08-19

    申请号:US10851795

    申请日:2004-05-20

    IPC分类号: G06F9/45

    CPC分类号: G06F9/544 G06F9/4488

    摘要: Methods and apparatus, including computer systems and program products, for sharing data objects in runtime systems. An identification of a first data object in a first runtime system is received. The first data object references zero or more referenced data objects. A shared closure of data objects, which consists of the first data object and a transitive closure of the referenced data objects, is identified, and a determination is made as to whether the shared closure of data objects is usable in a second runtime system. In some implementations, determining whether a shared closure is usable in a second runtime system includes determining whether each data object in the shared closure is serializable without execution of custom code, or determining whether the runtime class of each object instance in the shared closure is shareable. Using shared closures to share objects between runtime systems can provide isolation between user sessions.

    摘要翻译: 用于在运行系统中共享数据对象的方法和装置,包括计算机系统和程序产品。 接收第一运行时系统中的第一数据对象的标识。 第一个数据对象引用零个或多个引用的数据对象。 识别由第一数据对象和引用的数据对象的传递闭包组成的数据对象的共享闭包,并且确定数据对象的共享关闭是否可用于第二运行时系统。 在一些实现中,确定共享闭包在第二运行时系统中是否可用包括确定共享闭包中的每个数据对象是否可串行化而不执行自定义代码,或者确定共享闭包中每个对象实例的运行时类是否可共享 。 使用共享闭包在运行时系统之间共享对象可以提供用户会话之间的隔离。

    Robust sharing of runtime systems
    3.
    发明申请
    Robust sharing of runtime systems 有权
    运行时系统的稳健共享

    公开(公告)号:US20050262181A1

    公开(公告)日:2005-11-24

    申请号:US10851794

    申请日:2004-05-20

    摘要: Methods and apparatus, including computer systems and program products, for sharing objects in runtime systems and for providing isolation between user sessions in a scalable manner. A user context corresponding to a user session is stored in a shared memory area. Upon receiving a request corresponding to the user session, a process is selected from a set of operating system processes, and a runtime system is selected from a set of runtime systems. The runtime system is bound to the process, and the user context is associated with the runtime system to process the request. In some implementations, sharing user contexts enables virtual machines to be used in a shared but isolated manner: Each user context can be exclusively associated with an available virtual machine from a fixed set of virtual machines, and each virtual machine can be exclusively executed in an available process from a fixed set of processes.

    摘要翻译: 用于在运行时系统中共享对象并以可扩展方式在用户会话之间提供隔离的方法和装置,包括计算机系统和程序产品。 与用户会话相对应的用户上下文存储在共享存储器区域中。 在接收到与用户会话相对应的请求时,从一组操作系统进程中选择一个进程,并且从一组运行时系统中选择运行时系统。 运行时系统被绑定到进程,并且用户上下文与运行时系统相关联以处理该请求。 在一些实现中,共享用户上下文使虚拟机能够以共享但隔离的方式使用:每个用户上下文可以与固定的一组虚拟机可用的虚拟机完全相关联,并且每个虚拟机可以在 可用流程来自固定的流程。

    Robust sharing of runtime systems
    4.
    发明授权
    Robust sharing of runtime systems 有权
    运行时系统的稳健共享

    公开(公告)号:US07707583B2

    公开(公告)日:2010-04-27

    申请号:US10851794

    申请日:2004-05-20

    IPC分类号: G06F3/00 G06F9/46

    摘要: Methods and apparatus, including computer systems and program products, for sharing objects in runtime systems and for providing isolation between user sessions in a scalable manner. A user context corresponding to a user session is stored in a shared memory area. Upon receiving a request corresponding to the user session, a process is selected from a set of operating system processes, and a runtime system is selected from a set of runtime systems. The runtime system is bound to the process, and the user context is associated with the runtime system to process the request. In some implementations, sharing user contexts enables virtual machines to be used in a shared but isolated manner: Each user context can be exclusively associated with an available virtual machine from a fixed set of virtual machines, and each virtual machine can be exclusively executed in an available process from a fixed set of processes.

    摘要翻译: 用于在运行时系统中共享对象并以可扩展方式在用户会话之间提供隔离的方法和装置,包括计算机系统和程序产品。 与用户会话相对应的用户上下文存储在共享存储器区域中。 在接收到与用户会话相对应的请求时,从一组操作系统进程中选择一个进程,并且从一组运行时系统中选择运行时系统。 运行时系统被绑定到进程,并且用户上下文与运行时系统相关联以处理该请求。 在一些实现中,共享用户上下文使虚拟机能够以共享但隔离的方式使用:每个用户上下文可以与固定的一组虚拟机可用的虚拟机完全相关联,并且每个虚拟机可以在 可用流程来自固定的流程。

    Sharing objects in runtime systems
    5.
    发明授权
    Sharing objects in runtime systems 有权
    在运行系统中共享对象

    公开(公告)号:US07587721B2

    公开(公告)日:2009-09-08

    申请号:US10851813

    申请日:2004-05-20

    IPC分类号: G06F3/00 G06F9/44

    摘要: Method, apparatus and system for data sharing in runtime systems are described. A set of data objects is identified, where each data object in the set of data objects comprises a reference to runtime metadata about the data object in a first runtime system. For each data object in the set of data objects, the reference to the runtime metadata in the data object is replaced with a proxy. The set of data objects is transmitted to a second runtime system. The transmitting of the set of data objects includes replacing the proxy with the reference to the runtime metadata for each of the set of data objects transmitted to the second runtime system. Further, a shared memory is associated with the first runtime system and the second runtime system such that the first and second runtime systems share us information at the shared memory.

    摘要翻译: 描述了运行系统中数据共享的方法,装置和系统。 识别一组数据对象,其中数据对象集合中的每个数据对象包括关于在第一运行时系统中的数据对象的运行时元数据的引用。 对于数据对象集合中的每个数据对象,数据对象中对运行时元数据的引用将替换为代理。 该数据对象集合被传送到第二运行时系统。 所述数据对象集合的发送包括:代替传送到第二运行时系统的每组数据对象的运行时间元数据的代理。 此外,共享存储器与第一运行时系统和第二运行时系统相关联,使得第一和第二运行时系统在共享存储器处共享信息。

    Garbage collection for shared data entities
    6.
    发明申请
    Garbage collection for shared data entities 有权
    共享数据实体的垃圾收集

    公开(公告)号:US20060059453A1

    公开(公告)日:2006-03-16

    申请号:US10942736

    申请日:2004-09-15

    IPC分类号: G06F9/44

    CPC分类号: G06F12/0253

    摘要: Methods and apparatus, including computer systems and program products, for garbage collection of shared data entities. A computer program identifies a set of virtual machines (VMs), each operable to generate references to shared entities stored in shared memory. Each shared entity can include references to one or more of the other shared entities. The program waits for the VMs to independently identify the shared entities that they reference directly, and then initiates a shared garbage collection procedure to identify the shared entities that are not directly or indirectly referenced by any of the VMs and to reclaim the shared memory being used to store those shared entities. The VMs are prevented from generating new references to the shared entities solely during a portion of the shared garbage collection procedure. By minimizing the time during which access to the shared entities is restricted, performance and scalability can be increased.

    摘要翻译: 方法和设备,包括计算机系统和程序产品,用于共享数据实体的垃圾收集。 计算机程序识别一组虚拟机(VM),每个虚拟机可操作以生成对存储在共享存储器中的共享实体的引用。 每个共享实体可以包括对一个或多个其他共享实体的引用。 该程序等待虚拟机独立地识别它们直接引用的共享实体,然后启动共享垃圾回收过程,以识别任何虚拟机不直接或间接引用的共享实体,并回收所使用的共享内存 存储这些共享实体。 VM被阻止仅在共享垃圾收集过程的一部分期间生成对共享实体的新引用。 通过最小化对共享实体的访问受限的时间,可以提高性能和可扩展性。

    Sharing objects in runtime systems
    7.
    发明申请
    Sharing objects in runtime systems 有权
    在运行系统中共享对象

    公开(公告)号:US20050262512A1

    公开(公告)日:2005-11-24

    申请号:US10851813

    申请日:2004-05-20

    摘要: Methods and apparatus, including computer systems and program products, for sharing objects in runtime systems. A set of objects is identified, each object having a reference to runtime metadata about the object in a first runtime system. The reference to the runtime metadata in each object is replaced with a proxy, and the set of objects is transmitted to a second runtime system, where the proxy in each object is replaced with a reference to runtime metadata about the object in the second runtime system. In some implementations, the runtime metadata can be installed in the second runtime system if it is not already available. The set of objects can include a shared closure of objects, which can be shared between runtime systems (including virtual machines) located on distinct physical machines. Sharing objects between runtime systems on multiple machines can provide isolation between user sessions in a scalable manner.

    摘要翻译: 用于在运行时系统中共享对象的方法和装置,包括计算机系统和程序产品。 识别一组对象,每个对象在第一个运行时系统中引用关于对象的运行时元数据。 每个对象中对运行时元数据的引用被替换为代理,并且将对象集合发送到第二运行时系统,其中每个对象中的代理被替换为关于第二运行时系统中的对象的运行时元数据 。 在一些实现中,运行时元数据可以安装在第二个运行时系统中(如果它还不可用)。 对象集可以包括对象的共享关闭,可以在位于不同物理机器上的运行时系统(包括虚拟机)之间共享。 在多个计算机上的运行时系统之间共享对象可以以可扩展的方式提供用户会话之间的隔离。

    Sharing objects in runtime systems
    8.
    发明申请
    Sharing objects in runtime systems 有权
    在运行系统中共享对象

    公开(公告)号:US20050262493A1

    公开(公告)日:2005-11-24

    申请号:US10851795

    申请日:2004-05-20

    IPC分类号: G06F9/44 G06F9/46

    CPC分类号: G06F9/544 G06F9/4488

    摘要: Methods and apparatus, including computer systems and program products, for sharing data objects in runtime systems. An identification of a first data object in a first runtime system is received. The first data object references zero or more referenced data objects. A shared closure of data objects, which consists of the first data object and a transitive closure of the referenced data objects, is identified, and a determination is made as to whether the shared closure of data objects is usable in a second runtime system. In some implementations, determining whether a shared closure is usable in a second runtime system includes determining whether each data object in the shared closure is serializable without execution of custom code, or determining whether the runtime class of each object instance in the shared closure is shareable. Using shared closures to share objects between runtime systems can provide isolation between user sessions.

    摘要翻译: 用于在运行系统中共享数据对象的方法和装置,包括计算机系统和程序产品。 接收第一运行时系统中的第一数据对象的标识。 第一个数据对象引用零个或多个引用的数据对象。 识别由第一数据对象和引用的数据对象的传递闭包组成的数据对象的共享闭包,并且确定数据对象的共享关闭是否可用于第二运行时系统。 在一些实现中,确定共享闭包在第二运行时系统中是否可用包括确定共享闭包中的每个数据对象是否可串行化而不执行自定义代码,或者确定共享闭包中每个对象实例的运行时类是否可共享 。 使用共享闭包在运行时系统之间共享对象可以提供用户会话之间的隔离。

    Sharing classes and class loaders
    9.
    发明授权
    Sharing classes and class loaders 有权
    共享类和类加载器

    公开(公告)号:US07614045B2

    公开(公告)日:2009-11-03

    申请号:US10949936

    申请日:2004-09-24

    IPC分类号: G06F9/44

    CPC分类号: G06F9/544 G06F9/44563

    摘要: Methods and apparatus, including computer systems and program products, for sharing classes and class loaders. One implementation provides a technique for performing a shared load procedure for a class, performing a post load procedure for the class, performing a shared link procedure for the class, performing a post link procedure for the class, and performing an initialization procedure for the class to reduce memory consumption and class loading time. Through performance of these procedures, a first portion of the class (which may include a class block and object) is loaded into a shared memory accessible by multiple runtime systems, and a second portion of the class (which may include a class static variable) as is stored in a local memory associated with a selected runtime system. A shared master copy of the second portion of the class is also stored in the shared memory.

    摘要翻译: 方法和设备,包括计算机系统和程序产品,用于共享类和类装载器。 一个实现提供了一种用于为类执行共享负载过程,对该类执行后加载过程,为该类执行共享链接过程,为该类执行一个后链接过程以及执行该类的初始化过程的技术 以减少内存消耗和类加载时间。 通过执行这些过程,类的第一部分(可以包括类块和对象)被加载到由多个运行时系统可访问的共享存储器中,并且该类的第二部分(其可以包括类静态变量) 如同存储在与所选择的运行时系统相关联的本地存储器中。 该类的第二部分的共享主副本也存储在共享存储器中。

    Sharing classes and class loaders
    10.
    发明申请

    公开(公告)号:US20060070051A1

    公开(公告)日:2006-03-30

    申请号:US10949936

    申请日:2004-09-24

    IPC分类号: G06F9/44

    CPC分类号: G06F9/544 G06F9/44563

    摘要: Methods and apparatus, including computer systems and program products, for sharing classes and class loaders. One implementation provides a technique for performing a shared load procedure for a class, performing a post load procedure for the class, performing a shared link procedure for the class, performing a post link procedure for the class, and performing an initialization procedure for the class to reduce memory consumption and class loading time. Through performance of these procedures, a first portion of the class (which may include a class block and object) is loaded into a shared memory accessible by multiple runtime systems, and a second portion of the class (which may include a class static variable) as is stored in a local memory associated with a selected runtime system. A shared master copy of the second portion of the class is also stored in the shared memory.