Method and system for the garbage collection of shared data

    公开(公告)号:US06996590B2

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

    申请号:US10324548

    申请日:2002-12-20

    IPC分类号: G06F17/30

    摘要: A method of garbage collection of shared data in a system heap within a data processing system, the method comprising the steps of: (a) determining if the contents of the system heap has reached a predetermined threshold, the system heap storing shared objects which are shared amongst a plurality of processes running in a data processing system; (b) in a table identifying each of the plurality of processes with a status field, setting the status field of a process which has carried out determining step (a) to a mark initiator value; (c) triggering remaining processes to mark all objects in the system heap that each process is currently using; (d) determining that each of the remaining processes has completed the marking, at step (c); (e) releasing any unmarked objects in the system heap to an object pool.

    Computer system with heap and card table
    2.
    发明授权
    Computer system with heap and card table 失效
    计算机系统与堆和卡表

    公开(公告)号:US06845437B2

    公开(公告)日:2005-01-18

    申请号:US10217718

    申请日:2002-08-13

    IPC分类号: G06F12/02 G06F12/00

    摘要: A computer system has a heap for storing objects and a card table for tracking updates to objects on the heap, typically for garbage collection purposes. In particular, the heap is divided into segments, each corresponding to a card in the card table, and any update to a segment in the heap triggers a write barrier to mark the corresponding card in the card table. It is important that this write barrier is as efficient as possible to optimize system performance. In some circumstances an object update may be made to an address outside the heap. To ensure that this still properly maps to a card in the card table, the entire memory space is folded cyclically, so that any given memory address corresponds to one, and only one card, in the card table.

    摘要翻译: 计算机系统具有用于存储对象的堆和用于跟踪对堆上的对象的更新的卡表,通常用于垃圾收集目的。 特别地,堆被分成段,每个段对应于卡表中的卡,并且对堆中的段的任何更新触发写入屏障以标记卡表中的相应卡。 重要的是,这种写入障碍尽可能高效地优化系统性能。 在某些情况下,可以对堆外的地址进行对象更新。 为了确保这仍然正确地映射到卡表中的卡,整个存储空间被循环地折叠,使得任何给定的存储器地址对应于卡表中的一个且仅一个卡。

    Voice processing system
    3.
    发明授权
    Voice processing system 失效
    语音处理系统

    公开(公告)号:US07660399B2

    公开(公告)日:2010-02-09

    申请号:US10818837

    申请日:2004-04-06

    IPC分类号: H04M11/00

    CPC分类号: H04M3/487

    摘要: A voice processing complex has a plurality of host machines, each host machine supporting one or more voice applications, at least one host in the complex including telephony hardware for providing access to a plurality of telephone lines. Such a host provides telephony functions to the complex. This is achieved by maintaining a mapping of voice applications to telephone lines, and creating a call object in response to an incoming call on one of the lines. It is then determined which voice application to associate with the incoming call on the basis of this mapping, and an identifier to the call object is then passed to the determined voice application. Thereafter the call object is responsive to requests from this voice application for providing telephony functions for the call. This includes receiving a media object from the voice processing application which represents desired output over a telephone line. This media object is then processed into a plurality of output components in accordance with one or more presentation criteria, and these components are then output over the telephone line.

    摘要翻译: 语音处理复合体具有多个主机,每个主机支持一个或多个语音应用,所述复合体中的至少一个主机包括用于提供对多条电话线路的接入的电话硬件。 这样的主机向复合体提供电话功能。 这通过将语音应用程序映射到电话线并且响应于其中一条线路上的来话呼叫创建呼叫对象来实现。 然后,基于该映射确定哪个语音应用与呼入呼叫相关联,并且将呼叫对象的标识符传递到所确定的语音应用。 此后,呼叫对象响应于来自该语音应用的用于为呼叫提供电话功能的请求。 这包括从语音处理应用接收媒体对象,该媒体对象通过电话线表示期望的输出。 然后根据一个或多个呈现标准将该媒体对象处理成多个输出组件,然后通过电话线输出这些组件。

    Computer system for detecting object updates
    4.
    发明授权
    Computer system for detecting object updates 有权
    用于检测对象更新的计算机系统

    公开(公告)号:US07386854B2

    公开(公告)日:2008-06-10

    申请号:US10176794

    申请日:2002-06-21

    IPC分类号: G06F3/00 G06F12/00

    摘要: A computer system is used to run one or more programs. It includes a memory having at least a first heap and a second heap in which objects are stored, with a first object being stored on the first heap. A write barrier is provided for detecting that said the first object has been updated by a program to include a first reference to a memory location in the second heap.

    摘要翻译: 计算机系统用于运行一个或多个程序。 它包括具有至少第一堆和存储对象的第二堆的存储器,第一对象被存储在第一堆上。 提供写入屏障,用于检测所述第一对象已被程序更新以包括对第二堆中的存储器位置的第一引用。

    Voice processing system with mapping of voice applications to telephone lines
    6.
    发明授权
    Voice processing system with mapping of voice applications to telephone lines 失效
    语音处理系统,将语音应用映射到电话线

    公开(公告)号:US06748055B1

    公开(公告)日:2004-06-08

    申请号:US09221018

    申请日:1998-12-23

    IPC分类号: H04M164

    CPC分类号: H04M3/487

    摘要: A voice processing system for connection to a telephone line for providing telephony support to voice processing applications having a voice processing application and a media object, the media object having an output element for outputting a set of output components in accordance with one or more presentation criteria such as locale and style; a receiving element for receiving the media object from the voice processing application, the media object representing desired output over a telephone line; and the outputting element outputting the output components over the telephone line.

    摘要翻译: 一种用于连接到电话线的语音处理系统,用于向具有语音处理应用和媒体对象的语音处理应用提供电话支持,所述媒体对象具有用于根据一个或多个呈现准则输出一组输出组件的输出元件 如地域和风格; 用于从所述语音处理应用接收所述媒体对象的接收元件,所述媒体对象通过电话线表示期望的输出; 并且输出元件通过电话线输出输出分量。

    Computer system with heap reset for performing generational garbage collection implemented by card-marking between successive applications
    7.
    发明授权
    Computer system with heap reset for performing generational garbage collection implemented by card-marking between successive applications 有权
    具有堆重置的计算机系统,用于执行通过连续应用程序之间的卡标记实现的代数垃圾回收

    公开(公告)号:US07107426B2

    公开(公告)日:2006-09-12

    申请号:US09928565

    申请日:2001-08-13

    IPC分类号: G06F12/00 G06F9/45

    摘要: A computer system provides an object-based virtual machine environment for running successive applications. The computer system includes storage, at least a portion of which is logically divided into two or more heaps in which objects can be stored. A first heap is reset between successive applications, and a second heap persists from one application to the next. A card table is provided which comprises multiple cards, each corresponding to a region of said storage. Each card in the card table is set to null when the first heap is reset between successive applications. A card is marked whenever an object in its corresponding storage region is created or updated. It is then possible to detect potential references from the second heap to the first heap at reset by scanning the cards in the card table corresponding to the second heap, and detecting any cards which have been marked.The system further identifies any objects on the first heap which have a finalization method. The finalization methods of any such identified objects are then run on the main thread prior to reset of the first heap.

    摘要翻译: 计算机系统提供用于运行连续应用程序的基于对象的虚拟机环境。 计算机系统包括存储装置,其存储装置的至少一部分被逻辑地分成两个或多个可以存储对象的堆。 第一堆在连续的应用程序之间重置,第二个堆从一个应用程序继续下一个应用程序。 提供了一种卡片表,其包括多个卡,每个卡对应于所述存储的区域。 当连续应用程序之间重置第一个堆时,卡表中的每个卡都将设置为空。 每当对应的存储区域中的对象被创建或更新时,就会标记一个卡片。 然后可以通过扫描对应于第二堆的卡片表中的卡,并且检测已经被标记的卡片,在复位时检测从第二堆到第一堆的潜在引用。 该系统进一步识别第一个堆上具有最终化方法的任何对象。 然后,在重置第一个堆之前,任何这样识别的对象的最终化方法在主线程上运行。

    Computer system for detecting object updates
    8.
    发明授权
    Computer system for detecting object updates 有权
    用于检测对象更新的计算机系统

    公开(公告)号:US07748007B2

    公开(公告)日:2010-06-29

    申请号:US12020342

    申请日:2008-01-25

    IPC分类号: G06F3/00 G06F12/00 G06F9/455

    摘要: A computer system is used to run one or more programs. It includes a memory having at least a first heap and a second heap in which objects are stored, with a first object being stored on the first heap. A write barrier is provided for detecting that said the first object has been updated by a program to include a first reference to a memory location in the second heap.

    摘要翻译: 计算机系统用于运行一个或多个程序。 它包括具有至少第一堆和存储对象的第二堆的存储器,第一对象被存储在第一堆上。 提供写入屏障,用于检测所述第一对象已被程序更新以包括对第二堆中的存储器位置的第一引用。

    Composite locking of objects in a database
    9.
    发明授权
    Composite locking of objects in a database 失效
    数据库中对象的复合锁定

    公开(公告)号:US06708195B1

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

    申请号:US09267586

    申请日:1999-03-12

    IPC分类号: G06F900

    CPC分类号: G06F9/52 Y10S707/99938

    摘要: In a multi-user environment, a method of controlling access to objects is required, such that updates performed by one user are not overwritten by simultaneous updates by another user. There is provided a method of controlling access to objects and containers, each representing a group of objects, in a multi-user environment whereby lock states of the objects and lock states of the containers are stored in a computer system, said method comprising the steps of: accepting a request for access to an object or a container; deciding access based on the lock state for that object or container, the lock state of a container if the request is for an object contained within that container, and the lock state of objects grouped within a container if the request is for a container object; and sending a message to the requester granting or denying access to said object or container object. Updates performed by one user on an object or a container are not overwritten by simultaneous updates by another user. The above supports units of work in a GUI session where a unit of work could be updating a single object, viewing a single object or copying or deleting a container of objects. This extends to manipulating entire voice applications which consist of many containers and other objects.

    摘要翻译: 在多用户环境中,需要控制对对象的访问的方法,使得一个用户执行的更新不会被另一个用户的同时更新所覆盖。 提供了一种在多用户环境中控制对对象和容器的访问的方法,每个对象和容器表示一组对象,其中对象的锁定状态和容器的锁定状态被存储在计算机系统中,所述方法包括步骤 的:接受访问对象或容器的请求; 基于该对象或容器的锁定状态来决定对该容器的锁定状态的访问,如果该请求是针对该容器中所包含的对象的容器的锁定状态,以及如果请求是针对容器对象,则分组在容器内的对象的锁定状态; 并向所述请求者发送消息,所述请求者授予或拒绝对所述对象或容器对象的访问。 一个用户在对象或容器上执行的更新不会被另一个用户的同时更新所覆盖。 以上支持GUI会话中的工作单元,其中工作单元可以更新单个对象,查看单个对象或复制或删除对象的容器。 这扩展到操纵由许多容器和其他对象组成的整个语音应用程序。