Facilitating non-contiguous allocation of a large object within a java heap
    31.
    发明授权
    Facilitating non-contiguous allocation of a large object within a java heap 失效
    促进Java堆内大型对象的非连续分配

    公开(公告)号:US07500080B2

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

    申请号:US12031395

    申请日:2008-02-14

    IPC分类号: G06F12/00 G06F13/00 G06F13/28

    CPC分类号: G06F12/0253 G06F9/5016

    摘要: A chunking controller within a broker layer detects a large object, where a large object is one that the size of the allocation of the large object within a memory heap exceeds a maximum contiguous free space within the Java heap. The broker layer operates atop the Java Virtual Manager to facilitate communication and business processes between heterogeneous systems. The chunking controller describes the large object by an underlying array of the large object divided into multiple pieces of a size not exceeding the maximum contiguous free space. Then, the chunking controller enables requests through the broker layer for allocation by the Java Virtual Manager of each of the pieces of the large object within the Java heap, such that the broker layer facilitates efficient allocation of large objects in the Java heap managed by the Java Virtual Manager.

    摘要翻译: 代理层内的分块控制器检测大对象,其中大对象是内存堆中大对象的分配大小超过Java堆中最大连续可用空间的大对象。 代理层在Java虚拟管理器的顶部运行,以促进异构系统之间的通信和业务流程。 分块控制器通过大对象的底层数组描述大对象,分为多个不超过最大连续可用空间的尺寸。 然后,分块控制器通过代理层来实现Java虚拟管理器分配Java堆中的大对象的每一块的请求,使得代理层有助于在由Java堆管理的Java堆中有效分配大对象 Java虚拟管理器。

    Efficient and scalable event partitioning in business integration applications using multiple delivery queues
    32.
    发明授权
    Efficient and scalable event partitioning in business integration applications using multiple delivery queues 失效
    使用多个传递队列的业务集成应用程序中高效且可扩展的事件分区

    公开(公告)号:US07509653B2

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

    申请号:US10763084

    申请日:2004-01-22

    CPC分类号: G06F9/546 G06F2209/548

    摘要: A business integration (BI) system receives business objects from a source application at an event partitioner. Event partitioner partitions received business objects into independent sets based on interdependent events, and allocates each independent group of business events to a separate event queue based a partitioning modulo reduction transformation of the independent sets to determine the correct event queue for storing a particular received business object. This transformation reduces the number of independent sets to a number of event groups equal to the number of allocated event queues. Events in different groups are delivered to an interchange server through the separate event queues so that they may be processed independently and in parallel, thus improving the overall performance of the interchange server, while guaranteeing that dependent events are processed in the correct serial order.

    摘要翻译: 业务集成(BI)系统从事件分割器的源应用程序接收业务对象。 事件分割器根据相互依赖的事件将业务对象分成独立的集合,并且通过独立集合的分区模数减少转换来将每个独立的业务事件组分配给单独的事件队列,以确定用于存储特定接收到的业务对象的正确事件队列 。 该转换将独立集合的数量减少为等于分配的事件队列数的多个事件组。 不同组中的事件通过单独的事件队列发送到交换服务器,以便它们可以独立和并行处理,从而提高交换服务器的整体性能,同时保证以正确的顺序处理依赖事件。

    System and method for compacting a computer system heap
    33.
    发明授权
    System and method for compacting a computer system heap 有权
    用于压缩计算机系统堆的系统和方法

    公开(公告)号:US07010555B2

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

    申请号:US10273642

    申请日:2002-10-17

    IPC分类号: G06F17/30

    摘要: A system and method for incrementally compacting a computer system heap is presented. A heap, such as a garbage-collected heap in a Java environment, is divided into logical regions. When the heap is becoming fragmented, an incremental compaction cycle is commenced. During a first time period, the first region of the heap is compacted, with subsequent regions being compacted during subsequent time periods. A time period commences when a garbage collection event occurs. In a multiprocessor environment the regions can be divided into a number of sections which are each compacted using a different processor. One or more break tables are constructed indicating how far contiguous groups of moveable objects should be moved to better group objects and eliminate interspersed free spaces. References throughout the heap that point to objects within the compacted region are then adjusted so that the references point to the new object locations.

    摘要翻译: 提出了一种用于逐步压缩计算机系统堆的系统和方法。 诸如Java环境中垃圾收集堆的堆被分成逻辑区域。 当堆成分碎片时,开始增量压缩循环。 在第一时间段期间,堆的第一区域被压实,随后的区域在随后的时间段内被压实。 发生垃圾回收事件时,时间段开始。 在多处理器环境中,区域可以分为多个部分,每个部分使用不同的处理器进行压缩。 构建一个或多个中断表,指示可移动对象的多少距离移动到更好的组对象并消除散布的空闲空间。 然后对整个堆中指向压实区域内的对象的引用进行调整,以使引用指向新的对象位置。

    Facilitating non-contiguous allocation of a large object within a java heap
    34.
    发明授权
    Facilitating non-contiguous allocation of a large object within a java heap 失效
    促进Java堆内大型对象的非连续分配

    公开(公告)号:US07360053B2

    公开(公告)日:2008-04-15

    申请号:US10948276

    申请日:2004-09-23

    IPC分类号: G06F12/00 G06F13/00 G06F13/28

    CPC分类号: G06F12/0253 G06F9/5016

    摘要: A method, system, and program for facilitating non-contiguous allocation of a chunked object within a Java heap without changing the manner in which a Java Virtual Manager allocates objects within the heap are provided. According to one embodiment, a chunking controller within a broker layer detects a large object, where a large object is one that the size of the allocation of the large object within a memory heap exceeds a maximum contiguous free space within the Java heap. The broker layer operates atop the Java Virtual Manager to facilitate communication and business processes between heterogeneous systems. The chunking controller describes the large object by an underlying array of the large object divided into multiple pieces of a size not exceeding the maximum contiguous free space. Then, the chunking controller enables requests through the broker layer for allocation by the Java Virtual Manager of each of the pieces of the large object within the Java heap, such that the broker layer facilitates efficient allocation of large objects in the Java heap managed by the Java Virtual Manager.

    摘要翻译: 提供用于促进Java堆内的分块对象的不连续分配的方法,系统和程序,而不改变Java虚拟管理器在堆内分配对象的方式。 根据一个实施例,代理层内的分块控制器检测大对象,其中大对象是存储器堆内的大对象的分配大小超过Java堆内的最大连续可用空间的大对象。 代理层在Java虚拟管理器的顶部运行,以促进异构系统之间的通信和业务流程。 分块控制器通过大对象的底层数组描述大对象,分为多个不超过最大连续可用空间的尺寸。 然后,分块控制器通过代理层来实现Java虚拟管理器分配Java堆中的大对象的每一块的请求,使得代理层有助于在由Java堆管理的Java堆中有效分配大对象 Java虚拟管理器。

    System and method for detecting and reordering loading patterns
    35.
    发明授权
    System and method for detecting and reordering loading patterns 失效
    用于检测和重新排序加载模式的系统和方法

    公开(公告)号:US06421827B1

    公开(公告)日:2002-07-16

    申请号:US08992467

    申请日:1997-12-17

    IPC分类号: G06F9445

    CPC分类号: G06F8/443 G06F9/44521

    摘要: The present invention is a method, system, and computer readable medium for detecting the loading pattern of application and library files, and then reordering the files so that future loads are performed more efficiently. The present invention detects the loading pattern of an application file and library files, and then reorders the pages within the application and library executable files so that future loads are sequential. After being reordered, the application and library files are relinked in order to resolve references. A sequential load access pattern is beneficial, as it takes full advantage of read-ahead performed by the file system. The present invention allows pages of an application or library executable file to be stored in the order in which they will most likely be loaded. Thus, when the file system performs read-ahead, and brings additional pages into memory, these additional pages are the next pages needed and are loaded. By taking advantage of the file system's read-ahead process, application and library load times can be reduced, because I/O wait time associated with the request of pages is overlapped with the processing (i.e. loading) of previously requested pages.

    摘要翻译: 本发明是用于检测应用程序和库文件的加载模式,然后重新排序文件的方法,系统和计算机可读介质,以便更有效地执行未来的负载。 本发明检测应用文件和库文件的加载模式,然后重新排序应用程序和库可执行文件中的页面,以便将来的负载是顺序的。 重新排序后,应用程序和库文件将重新链接以解析引用。 顺序加载访问模式是有益的,因为它充分利用文件系统执行的预读功能。 本发明允许应用程序或库可执行文件的页面以最有可能被加载的顺序存储。 因此,当文件系统执行预读,并将附加页面引入内存时,这些附加页面是需要并被加载的下一页。 通过利用文件系统的预读过程,可以减少应用程序和库加载时间,因为与页面请求相关联的I / O等待时间与先前请求的页面的处理(即加载)重叠。