Message-based leasing of resources in a distributed computing environment
    51.
    发明授权
    Message-based leasing of resources in a distributed computing environment 有权
    在分布式计算环境中基于消息的资源租赁

    公开(公告)号:US06917976B1

    公开(公告)日:2005-07-12

    申请号:US09653216

    申请日:2000-08-31

    摘要: A system and method for providing message-based leasing of resources in a distributed computing environment. Services may issue leases to clients and provide operations on those leases. The lease functionality of a service may be defined in an XML message schema. Gates may be used to perform lease operations. Leases may be granted for a period that may be negotiated. Leasing messages for performing leasing operations may be defined. The leasing messages may include messages to renew a lease and to cancel a lease. Services may specify an address where leasing messages may be sent. A lease renewal mechanism may be provided in which a gate may receive lease renewal messages and automatically respond to them. A mechanism to detect stale advertisements in a space may be provided. When a service publishes its advertisement in a space, the service obtains a lease on the publishing of its advertisement. Each advertisement may include a time by which the service may renew the advertisement. When the lease is not renewed, the space service marks the service advertisement as stale. Services renew advertisements by sending a renewal message to the space. Stale service advertisements may be deleted after a period. A space service may allow clients to lease service advertisements in the space to thus grant clients access to the services. Messages are described for accessing the leasing services provided by the space services.

    摘要翻译: 一种用于在分布式计算环境中提供基于消息的资源租赁的系统和方法。 服务可以向客户发放租赁,并为这些租赁提供经营。 服务的租赁功能可以在XML消息模式中定义。 门可用于执行租赁业务。 租赁可以在可能协商的期限内批准。 可以定义用于执行租赁操作的租赁消息。 租赁邮件可能包括续订租约和取消租赁的邮件。 服务可以指定可以发送租赁邮件的地址。 可以提供租赁更新机制,其中门可以接收租赁更新消息并自动响应它们。 可以提供用于检测空间中的陈旧广告的机制。 当服务在空间中发布广告时,该服务将获得其广告发布的租约。 每个广告可以包括服务可以更新广告的时间。 当租赁不更新时,空间业务将服务广告标记为陈旧。 服务通过向该空间发送续订消息来更新广告。 一段时间后可能会删除陈旧的服务广告。 空间服务可以允许客户端在该空间中租赁服务广告,从而授予客户端对服务的访问。 描述了访问由空间业务提供的租赁业务的消息。

    Garbage collector for a virtual heap
    52.
    发明授权
    Garbage collector for a virtual heap 有权
    垃圾收集器为虚拟堆

    公开(公告)号:US06865657B1

    公开(公告)日:2005-03-08

    申请号:US09586334

    申请日:2000-06-02

    IPC分类号: G06F12/00 G06F12/02

    摘要: A method and system for performing generational garbage collection on a virtual heap in a virtual machine is provided. The garbage collection method is suited for use with small consumer and appliance devices that have a small amount of memory and may be using flash devices as persistent storage. The garbage collection method may provide good performance where only a portion of the virtual heap may be cached in the physical heap. The virtual heap may use a single address space for both objects in the store and the in-memory heap. In one embodiment, a single garbage collector is run on the virtual heap address space. The garbage collection method may remove non-referenced objects from the virtual heap. The garbage collection method may also include a compaction phase to reduce or eliminate fragmentation, and to improve locality of objects within the virtual heap. In one embodiment, the garbage collector for the virtual heap may be implemented as a generational garbage collector using working sets in the virtual heap, where each generation is confined to a working set of the heap. The generational garbage collector may allow the flushing of changes after each garbage collection cycle for each working set region. Heap regions with different flushing policies may be used. An object nursery region without flushing where objects are initially created may be used. When a garbage collection cycle is run, objects truly referenced in the object nursery may be copied back into heap regions to be flushed, while short-lived objects no longer referenced may be deleted without flushing.

    摘要翻译: 提供了一种用于在虚拟机中的虚拟堆上执行代数垃圾回收的方法和系统。 垃圾收集方法适用于具有少量存储器并可能将闪存设备用作永久存储的小型消费者和设备设备。 垃圾回收方法可以提供良好的性能,其中只有一部分虚拟堆可以缓存在物理堆中。 虚拟堆可以为存储中的两个对象和内存中的堆使用单个地址空间。 在一个实施例中,在虚拟堆地址空间上运行单个垃圾收集器。 垃圾收集方法可以从虚拟堆中删除未引用的对象。 垃圾收集方法还可以包括压缩阶段以减少或消除分段,并且改善虚拟堆内的对象的局部性。 在一个实施例中,用于虚拟堆的垃圾收集器可以使用虚拟堆中的工作集来实现为代数垃圾收集器,其中每一代都限于堆的工作集合。 世代垃圾收集器可能允许在每个工作集区域的每个垃圾收集周期之后刷新变化。 可以使用具有不同冲洗政策的堆区。 可以使用没有冲洗的物体托儿所区域,其中最初产生物体的物体。 当运行垃圾收集循环时,对象托儿所中真正引用的对象可能会被复制回堆区域以进行刷新,而不再引用的短期对象可能会被删除而无需冲洗。

    Process persistence in a virtual machine
    53.
    发明授权
    Process persistence in a virtual machine 有权
    在虚拟机中处理持久性

    公开(公告)号:US06854115B1

    公开(公告)日:2005-02-08

    申请号:US09587078

    申请日:2000-06-02

    IPC分类号: G06F11/14 G06F11/20 G06F17/00

    CPC分类号: G06F11/203

    摘要: A system and method for providing process persistence in a virtual machine are described. A virtual persistent heap may be provided. The virtual persistent heap may enable the checkpointing of the state of the computation of a virtual machine, including processes executing within the virtual machine, to a persistent storage such as a disk or flash device for future resumption of the computation from the checkpoint. The Virtual Persistent Heap also may enable the migration of the virtual machine computation states, and thus the migration of executing processes, from one machine to another. The saved state of the virtual machine heap may also provide the ability to restart the virtual machine after a system crash or shutdown to the last saved persistent state, and to thus restart a process that was running within the virtual machine prior to the system crash or shutdown to a checkpointed state of the process stored in the virtual persistent heap. This persistent feature is important for small consumer and appliance devices, as these appliances may be shutdown and restarted often.

    摘要翻译: 描述了在虚拟机中提供过程持续性的系统和方法。 可以提供虚拟持久堆。 虚拟持久堆可以使得能够将虚拟机的计算状态(包括在虚拟机内执行的进程)的检查点定位到诸如磁盘或闪存装置的持久存储器,以便将来从检查点恢复计算。 虚拟持久堆还可以实现虚拟机计算状态的迁移,从而使执行过程从一台机器迁移到另一台机器。 虚拟机堆的保存状态还可以提供在系统崩溃或关闭到上一次保存的持久状态后重新启动虚拟机的能力,并因此重新启动在系统崩溃之前在虚拟机中运行的进程,或者 关闭到存储在虚拟持久堆中的进程的检查点状态。 这种持久性特征对于小型消费者和家用设备是重要的,因为这些设备可能经常被关闭和重新启动。

    Garbage collection using nursery regions for new objects in a virtual heap
    54.
    发明授权
    Garbage collection using nursery regions for new objects in a virtual heap 有权
    使用托儿所的垃圾收集在虚拟堆中的新对象

    公开(公告)号:US06763440B1

    公开(公告)日:2004-07-13

    申请号:US09587077

    申请日:2000-06-02

    IPC分类号: G06F1212

    摘要: A method and system for garbage collecting a virtual heap using nursery regions for newly created objects to reduce flushing of objects from an in-memory heap to a store heap is provided. The garbage collection method is suited for use with small consumer and appliance devices that have a small amount of memory and may be using flash devices as persistent storage. The garbage collection method may provide good performance where only a portion of the virtual heap may be cached in the physical heap. The virtual heap may use a single address space for both objects in the store and the in-memory heap. In one embodiment, a single garbage collector is run on the virtual heap address space. The garbage collection method may remove non-referenced objects from the virtual heap. The garbage collection method may also include a compaction phase to reduce or eliminate fragmentation, and to improve locality of objects within the virtual heap. In one embodiment, the garbage collector for the virtual heap may be implemented as a generational garbage collector using working sets in the virtual heap, where each generation is confined to a working set of the heap. The generational garbage collector may allow the flushing of changes after each garbage collection cycle for each working set region. Heap regions with different flushing policies may be used. An object nursery region without flushing where objects are initially created may be used. When a garbage collection cycle is run, objects truly referenced in the object nursery may be copied back into heap regions to be flushed, while short-lived objects no longer referenced may be deleted without flushing.

    摘要翻译: 提供了一种用于使用新创建的对象的托儿区对垃圾收集虚拟堆以减少对象从内存堆到存储堆的冲洗的方法和系统。 垃圾收集方法适用于具有少量存储器并可能将闪存设备用作永久存储的小型消费者和设备设备。 垃圾回收方法可以提供良好的性能,其中只有一部分虚拟堆可以缓存在物理堆中。 虚拟堆可以为存储中的两个对象和内存中的堆使用单个地址空间。 在一个实施例中,在虚拟堆地址空间上运行单个垃圾收集器。 垃圾收集方法可以从虚拟堆中删除未引用的对象。 垃圾收集方法还可以包括压缩阶段以减少或消除分段,并且改善虚拟堆内的对象的局部性。 在一个实施例中,用于虚拟堆的垃圾收集器可以使用虚拟堆中的工作集来实现为代数垃圾收集器,其中每一代都限于堆的工作集合。 世代垃圾收集器可能允许在每个工作集区域的每个垃圾收集周期之后刷新变化。 可以使用具有不同冲洗政策的堆区。 可以使用没有冲洗的物体托儿所区域,其中最初产生物体的物体。 当运行垃圾收集循环时,对象托儿所中真正引用的对象可能会被复制回堆区域以进行刷新,而不再引用的短期对象可能会被删除而无需冲洗。

    Transforming transient contents of object-oriented database into persistent textual form according to grammar that includes keywords and syntax
    55.
    发明授权
    Transforming transient contents of object-oriented database into persistent textual form according to grammar that includes keywords and syntax 有权
    根据包含关键字和语法的语法,将面向对象数据库的瞬态内容转化为永久文本形式

    公开(公告)号:US06606632B1

    公开(公告)日:2003-08-12

    申请号:US09253840

    申请日:1999-02-19

    IPC分类号: G06F1730

    摘要: A method and system for serializing a transient object-oriented database into a persistent form. The persistent form is a grammatical form, an expression of an object-oriented database in a textual form according to a grammar. The grammatical form is human-readable and human-editable. The grammar is designed to be platform-independent and programming-language-independent and therefore descriptive of any hierarchical object-oriented database. An object-oriented database is expressed as a plurality of entries in a transient, hierarchical, object-oriented form. The tree of entries is navigated and each entry is written to the persistent form as text according to the grammar. The serialized form stores only the key state of the database, not a “snapshot” of memory. Therefore, the persistent, serialized form is smaller than the in-memory, transient form of the object-oriented database. The object-oriented database is an object-oriented configuration database which stores configuration parameters pertaining to the software and hardware of a computer system, such as application programs, device drivers, system services, and other components. The object-oriented database is platform-independent and is therefore configured to be hosted on several different operating systems and computing platforms.

    摘要翻译: 一种用于将瞬态面向对象数据库序列化为持久形式的方法和系统。 持续形式是语法形式,根据语法以文本形式表达面向对象的数据库。 语法形式是人类可读和人类可编辑的。 该语法被设计为与平台无关并且与程序语言无关,因此描述任何层次化的面向对象数据库。 面向对象的数据库以瞬态,分级,面向对象的形式表示为多个条目。 条目树被导航,每个条目根据语法被写入持久化形式作为文本。 序列化表单仅存储数据库的关键状态,而不是内存的“快照”。 因此,持久的,序列化的形式小于面向对象数据库的内存,瞬态形式。 面向对象数据库是面向对象的配置数据库,其存储与计算机系统的软件和硬件有关的配置参数,诸如应用程序,设备驱动程序,系统服务和其他组件。 面向对象的数据库与平台无关,因此被配置为托管在几个不同的操作系统和计算平台上。

    Mechanism and process to transform a grammar-derived intermediate form to an object-oriented configuration database
    56.
    发明授权
    Mechanism and process to transform a grammar-derived intermediate form to an object-oriented configuration database 失效
    将语法派生的中间形式转换为面向对象的配置数据库的机制和过程

    公开(公告)号:US06298354B1

    公开(公告)日:2001-10-02

    申请号:US09253839

    申请日:1999-02-19

    IPC分类号: G06F1730

    摘要: A method and system for transforming an intermediate form into an object-oriented database. The intermediate form is derived from a grammatical form of an object-oriented database through the process of compilation. The grammatical form is an expression of an object-oriented database in a textual form according to a grammar. The intermediate form comprises an array of intelligent entry objects that encapsulate data with methods for manipulating that data. The intermediate form comprises entries as in the object-oriented database but lacks the infrastructure of the database. The intermediate form can be used to populate the object-oriented database with entries. Population takes place through a public API for accessing the object-oriented database; in other words, through an interface which declares methods for navigating the database and adding entries to the database. The object-oriented database is an object-oriented configuration database which stores configuration parameters pertaining to the software and hardware of a computer system, such as application programs, device drivers, system services, and other components. The object-oriented database is platform-independent and is therefore configured to be hosted on several different operating systems and computing platforms.

    摘要翻译: 一种用于将中间形式转换为面向对象数据库的方法和系统。 中间形式是通过编译过程从面向对象数据库的语法形式导出的。 语法形式是根据语法以文本形式表达面向对象的数据库。 中间形式包括一系列智能入口对象,它们用用于操纵该数据的方法来封装数据。 中间形式包括与面向对象数据库中相同的条目,但缺少数据库的基础结构。 中间窗体可用于使用条目填充面向对象的数据库。 人口通过公共API进行访问面向对象的数据库; 换句话说,通过一个界面来声明导航数据库的方法,并向数据库添加条目。 面向对象数据库是面向对象的配置数据库,其存储与计算机系统的软件和硬件有关的配置参数,诸如应用程序,设备驱动程序,系统服务和其他组件。 面向对象的数据库与平台无关,因此被配置为托管在几个不同的操作系统和计算平台上。

    Endianness checking for platform-independent device drivers
    57.
    发明授权
    Endianness checking for platform-independent device drivers 失效
    端点检查与平台无关的设备驱动程序

    公开(公告)号:US06202146B1

    公开(公告)日:2001-03-13

    申请号:US09106910

    申请日:1998-06-29

    IPC分类号: G06F900

    CPC分类号: G06F13/102

    摘要: Methods, apparatus, and software for endianness checking for platform-independent device drivers is described. According to one embodiment, the method of the invention includes generating a memory allocation request from a platform-independent device driver. The driver instantiates a memory constraints object that is configured to report the endianness of the driver. The request is received by a bus manger that is configured to process memory allocation requests from the device driver and has an endianness independent of the device driver. If the endianness of the bus manager and device driver is inconsistent, then the memory constraints object is transformed to be consistent with the bus manager's endianness.

    摘要翻译: 描述了与平台无关的设备驱动程序的字节顺序检查的方法,设备和软件。 根据一个实施例,本发明的方法包括从平台无关的设备驱动程序生成存储器分配请求。 驱动程序实例化配置为报告驱动程序的字节顺序的内存限制对象。 总线管理器接收该请求,该总线管理器被配置为处理来自设备驱动器的存储器分配请求,并且具有与设备驱动程序无关的字节码。 如果总线管理器和设备驱动程序的字节顺序不一致,则内存约束对象被转换为与总线管理器的字节顺序一致。

    Security for platform-independent device drivers
    58.
    发明授权
    Security for platform-independent device drivers 失效
    与平台无关的设备驱动程序的安全性

    公开(公告)号:US06434694B1

    公开(公告)日:2002-08-13

    申请号:US09106912

    申请日:1998-06-29

    IPC分类号: G06F900

    CPC分类号: G06F13/102 G06F12/1458

    摘要: A computer-implemented method for allocating securely memory resources to a platform-independent device driver is described. In one embodiment, a device driver generates a request for memory allocation in terms of an abstract memory address space. The driver forwards the request to the bus manager. An inner class representation of the bus manager is generated and the identity of the driver is determined. The inner class representation handles the request from the device driver using the same procedures as the bus manager, and appears to the driver as the bus manager itself. Thus, a memory request from a platform-independent device driver can be made in a secure manner.

    摘要翻译: 描述了一种用于将稳定的存储器资源分配给与平台无关的设备驱动器的计算机实现的方法。 在一个实施例中,设备驱动程序根据抽象存储器地址空间产生对存储器分配的请求。 司机将请求转发给总线管理员。 生成总线管理器的内部类表示,并确定驱动程序的身份。 内部类表示使用与总线管理器相同的过程处理设备驱动程序的请求,并作为总线管理器本身显示给驱动程序。 因此,可以以安全的方式制造来自与平台无关的设备驱动程序的存储器请求。

    Platform-independent device drivers
    59.
    发明授权
    Platform-independent device drivers 失效
    平台无关的设备驱动程序

    公开(公告)号:US06202147B1

    公开(公告)日:2001-03-13

    申请号:US09107047

    申请日:1998-06-29

    IPC分类号: G06F900

    CPC分类号: G06F9/5016 G06F12/0284

    摘要: A computer-implemented method for allocating memory resources to a device driver is described. In one embodiment, a device driver generates a request for memory allocation in terms of an abstract memory address space. This abstract memory address space is also used by a bus manager to manage the allocation of memory. The driver forwards the request to the bus manager which can then allocate memory or translate the request to a second abstract memory address space used by a second bus manager. When the request is passed to a platform manager, real memory is allocated and the requested memory is passed back to the driver. Thus, by making a memory request in terms of a bus manager's abstract memory address space, the necessity of coding the driver to request real addresses (a platform-specific operation) is avoided.

    摘要翻译: 描述了一种用于向设备驱动器分配存储器资源的计算机实现的方法。 在一个实施例中,设备驱动程序根据抽象存储器地址空间产生对存储器分配的请求。 这个抽象的存储器地址空间也被总线管理器用来管理存储器的分配。 驱动器将请求转发到总线管理器,总线管理器然后可以分配存储器或将请求转换为由第二总线管理器使用的第二抽象存储器地址空间。 当请求传递给平台管理器时,将分配实际内存并将请求的内存传回驱动程序。 因此,通过根据总线管理器的抽象存储器地址空间进行存储器请求,避免了编写驱动程序以请求实际地址(特定于平台的操作)的必要性。