Method and system for providing interoperability among processes written to execute on different operating systems
    1.
    发明授权
    Method and system for providing interoperability among processes written to execute on different operating systems 失效
    提供在不同操作系统上执行的过程之间的互操作性的方法和系统

    公开(公告)号:US06182158B2

    公开(公告)日:2001-01-30

    申请号:US08915153

    申请日:1997-08-19

    IPC分类号: G06F15163

    摘要: An embodiment of the present invention provides an efficient and robust way to facilitate interoperability between two or more processes which were initially written to execute on top of two different operating systems but instead execute on top of a third operating system. Typically, the preferred embodiment begins by launching a parent process which was initially written to execute on top of a first operating system. The preferred embodiment then obtains a context object that implements a naming graph for the parent process. The context object includes bindings between a given set of names and an associated set of objects that are specific to the first operating system. At some point during execution of the parent process, the parent process spawns a child process which was initially written to execute on top of a second operating system. Next, the parent process instantiates a copy of its context object. The parent process then performs a context merge operation which ensures that object names used by the second process are interpreted relative to a context object associated with the second operating system before (or in lieu of) being interpreted relative to the context object for the first operating system. Once the context merge operation is complete, the new context object is passed to the child process and execution of the second process begins. System calls initiated by the child process will therefore be interpreted relative to the name space for the second operating system. In this way two processes which were initially written to execute on top of two different operating systems can interoperate while executing on top of yet a third operating system.

    摘要翻译: 本发明的一个实施例提供了一种有效和鲁棒的方式,以促进两个或多个进程之间的互操作性,这两个或多个进程最初被写入在两个不同操作系统之上执行,而是在第三操作系统之上执行。 通常,优选实施例开始于最初写入以在第一操作系统之上执行的父进程。 然后,优选实施例获得实现父进程的命名图的上下文对象。 上下文对象包括给定的一组名称和特定于第一个操作系统的关联的一组对象之间的绑定。在父进程执行期间的某个时刻,父进程产生一个子进程,该进程最初被写入以执行 第二个操作系统的顶部。 接下来,父进程实例化其上下文对象的副本。 然后,父进程执行上下文合并操作,确保第二进程使用的对象名称相对于与第二操作系统关联的上下文对象相对于第一操作(或代替)相对于上下文对象进行解释 系统。上下文合并操作完成后,将新的上下文对象传递给子进程,并开始执行第二个进程。 因此,子进程启动的系统调用将相对于第二个操作系统的名称空间来解释。 以这种方式,最初写入两个不同操作系统之上执行的两个进程可以在执行第三个操作系统之前进行互操作。

    Methods and apparatus for linking a program for remote execution
    2.
    发明授权
    Methods and apparatus for linking a program for remote execution 有权
    用于链接远程执行程序的方法和装置

    公开(公告)号:US06453467B2

    公开(公告)日:2002-09-17

    申请号:US09726609

    申请日:2000-12-01

    IPC分类号: G06F944

    CPC分类号: G06F9/445 G06F8/54

    摘要: A linkage editor executing at a server receives instructions for packaging software components that are required for program execution at a client. The linkage editor generates an output file by iteratively analyzing the program for references to other software components and extracting those components from their parent classes. The linkage editor sends the completed output file to an interface task, which transmits it to the client.

    摘要翻译: 在服务器上执行的连接编辑器接收用于打包在客户端执行程序所需的软件组件的指令。 链接编辑器通过迭代地分析程序来引用其他软件组件并从其父类中提取这些组件来生成输出文件。 链接编辑器将完成的输出文件发送到接口任务,将其发送给客户端。

    File allocation tables with holes
    3.
    发明授权
    File allocation tables with holes 失效
    带孔的文件分配表

    公开(公告)号:US5819298A

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

    申请号:US669632

    申请日:1996-06-24

    IPC分类号: G06F17/30

    摘要: A file system includes a file allocation table (FAT) and a file allocation table extension. Each FAT element of the file allocation table corresponds to a unique cluster on disk and represents the status of that cluster. These FAT elements are indexed by a cluster number that corresponds to that cluster on disk. Each element of the file allocation table extension does not correspond to any region on disk. Writing a file divided into clusters to disk first involves determining whether the cluster may be represented by a hole. If not, the cluster is written to disk at a particular cluster number and a status indicator is stored in the file allocation table at a FAT element indexed by that cluster number indicating that the cluster is allocated. If the cluster may be represented by a hole, a status indicator is stored in the file allocation table extension at an element indicating that the cluster is not stored on the disk of the computer. The status indicators in the FAT and FAT extension form a linked list representing the clusters of a file. The holes of the FAT extension may also be used to store compressed files. A plurality of file allocation table extensions may be used. One file allocation table extension may indicate holes in stored data that result from expanded files having clusters full of zeros. Additional file allocation table extensions may be used to represent holes in stored data that result from the use of various compression algorithms on the data. Each FAT extension may represent holes resulting from the use of a different compression algorithm.

    摘要翻译: 文件系统包括文件分配表(FAT)和文件分配表扩展。 文件分配表的每个FAT元素对应于磁盘上的唯一集群,并表示该集群的状态。 这些FAT元素由与磁盘上的该集群对应的集群编号进行索引。 文件分配表扩展的每个元素都不对应于磁盘上的任何区域。 首先将分成簇的文件写入磁盘首先涉及确定集群是否可以由一个孔表示。 如果不是,则将集群以特定的集群号写入磁盘,并且状态指示器存储在文件分配表中,该FAT元素由该集群号索引,指示已分配集群。 如果群集可以由洞表示,则状态指示符存储在文件分配表扩展中,该元素指示群集不存储在计算机的盘上。 FAT和FAT扩展中的状态指示器形成表示文件集群的链表。 FAT扩展的孔也可以用于存储压缩文件。 可以使用多个文件分配表扩展。 一个文件分配表扩展可以指示由扩展的文件导致的存储数据中的空格,这些文件具有充满零的簇。 附加文件分配表扩展可用于表示在数据上使用各种压缩算法产生的存储数据中的空洞。 每个FAT扩展可以表示由于使用不同的压缩算法而产生的空洞。

    Methods and apparatus for packaging a program for remote execution
    4.
    发明授权
    Methods and apparatus for packaging a program for remote execution 失效
    用于封装程序进行远程执行的方法和装置

    公开(公告)号:US06493870B1

    公开(公告)日:2002-12-10

    申请号:US09044900

    申请日:1998-03-20

    IPC分类号: G06F944

    CPC分类号: G06F9/44521

    摘要: A task executing at a server receives a request to package program code for remote execution on a client, and determines the software components that already reside at the client. The task uses this information to formulate a set of instructions to another task that creates the package. The created package is transmitted to the client, and program execution begins.

    摘要翻译: 在服务器上执行的任务接收用于在客户机上包装用于远程执行的程序代码的请求,并且确定已经驻留在客户端的软件组件。 该任务使用此信息为创建包的另一个任务制定一组指令。 创建的包被传送到客户端,程序执行开始。

    Methods and apparatus for linking a program for remote execution
    5.
    发明授权
    Methods and apparatus for linking a program for remote execution 失效
    用于链接远程执行程序的方法和装置

    公开(公告)号:US06199196B1

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

    申请号:US09044904

    申请日:1998-03-20

    IPC分类号: G06F945

    CPC分类号: G06F9/445 G06F8/54

    摘要: A linkage editor executing at a server receives instructions for packaging software components that are required for program execution at a client. The linkage editor generates an output file by iteratively analyzing the program for references to other software components and extracting those components from their parent classes. The linkage editor sends the completed output file to an interface task, which transmits it to the client.

    摘要翻译: 在服务器上执行的连接编辑器接收用于打包在客户端执行程序所需的软件组件的指令。 链接编辑器通过迭代地分析程序来引用其他软件组件并从其父类中提取这些组件来生成输出文件。 链接编辑器将完成的输出文件发送到接口任务,将其发送给客户端。

    Method and apparatus for controlling a device on a network
    6.
    发明授权
    Method and apparatus for controlling a device on a network 失效
    用于控制网络上的设备的方法和装置

    公开(公告)号:US5922050A

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

    申请号:US678400

    申请日:1996-07-02

    申请人: Peter W. Madany

    发明人: Peter W. Madany

    摘要: A system for controlling a device using a computer coupled to the device through a communication medium. The device contains an program code capable of generating control signals used by the device. A message is broadcast from the device across the communication medium indicating the existence of the device on the communication medium. The computer requests transmission of the device program code across the communication medium. The device then transmits the program code from the device to the computer. The program code is executed by the computer to generate control signals for controlling the device.

    摘要翻译: 一种使用通过通信介质耦合到所述设备的计算机来控制设备的系统。 该设备包含能够产生设备使用的控制信号的程序代码。 通过通信介质从设备广播指示在通信介质上存在设备的消息。 计算机请求通过通信介质传输设备程序代码。 然后,设备将程序代码从设备传送到计算机。 程序代码由计算机执行以产生用于控制设备的控制信号。

    File system level compression using holes
    7.
    发明授权
    File system level compression using holes 失效
    文件系统级压缩使用孔

    公开(公告)号:US5774715A

    公开(公告)日:1998-06-30

    申请号:US623907

    申请日:1996-03-27

    摘要: A method, apparatus, and computer-usable medium for compressing data in a file system utilizing the concept of "holes". A mapping table in a file system maps the logical blocks of a file to actual physical blocks on disk where the data is stored. Blocks may be arranged in units of a cluster, and the file may be compressed cluster-by-cluster. Holes are used within a cluster to indicate not only that a cluster has been compressed, but also the compression algorithm used. Different clusters within a file may be compressed with different compression algorithms. A unit of data is compressed, with the result that the file occupies fewer physical blocks than it has logical blocks. The mapping table is updated to indicate that for a given unit of data compressed, fewer physical blocks are needed. Certain logical blocks belonging to this unit of data are not mapped to physical blocks but are mapped to a hole. A hole indicates that the unit of data was compressed, and may also indicate the particular compression algorithm used to compress the unit of data. If a unit of data begins or ends within the middle of a cluster, to avoid overwriting the data not to be changed the whole cluster must first be read from disk. If a hole indicates the cluster had been compressed, the data must be expanded first. The cluster is read into a buffer and the portion to be changed is overwritten. The cluster is compressed and written back to disk. Those clusters within which the unit of data neither begins nor ends may be written to directly.

    摘要翻译: 一种利用“孔”概念在文件系统中压缩数据的方法,装置和计算机可用介质。 文件系统中的映射表将文件的逻辑块映射到存储数据的磁盘上的实际物理块。 块可以以集群为单位布置,并且该文件可以逐个群集地压缩。 在群集中使用孔来表示集群不仅被压缩,而且还使用了压缩算法。 可以使用不同的压缩算法压缩文件中的不同集群。 数据单元被压缩,结果是文件占用的物理块比逻辑块少。 映射表被更新以指示对于给定的压缩数据单元,需要较少的物理块。 属于该数据单元的某些逻辑块不映射到物理块,但映射到一个孔。 一个孔表示数据单元被压缩,并且还可以指示用于压缩数据单元的特定压缩算法。 如果一个数据单元在集群的中间开始或结束,为避免覆盖数据不被更改,必须首先从磁盘读取整个集群。 如果一个洞表示集群已被压缩,则必须首先扩展数据。 将集群读入缓冲区,并改写部分被覆盖。 集群被压缩并写回磁盘。 数据单元开始或结束的那些集群可能被直接写入。

    Using extents of indirect blocks for file mapping of large files
    8.
    发明授权
    Using extents of indirect blocks for file mapping of large files 有权
    使用间接块的大范围文件映射大文件

    公开(公告)号:US09542401B1

    公开(公告)日:2017-01-10

    申请号:US13436533

    申请日:2012-03-30

    IPC分类号: G06F7/00 G06F17/30

    CPC分类号: G06F17/30088

    摘要: Large files in a file system are mapped by extents of contiguous indirect blocks in order to reduce the time for read or write access to the large files while allowing allocation of data blocks one at a time. The inode of a file includes an indication of whether file mapping metadata of the file includes either an extent of contiguous indirect blocks or a tree of blocks. In a preferred mapping scheme, an inode contains an array of block pointer entries, and each entry includes a flag indicating whether the block pointer is pointing to either an extent of indirect blocks or a tree of blocks. For sharing of data blocks between files, the block pointer fields of the indirect blocks each contain an ownership flag indicating whether the pointed-to block is shared or not.

    摘要翻译: 文件系统中的大文件被连续间接块的范围映射,以减少对大文件的读取或写入访问的时间,同时允许一次一个地分配数据块。 文件的inode包括文件的文件映射元数据是否包括连续的间接块的范围或块的树的指示。 在优选的映射方案中,inode包含块指针条目的数组,并且每个条目包括指示块指针是指向间接块的块还是块的块的标志。 为了共享文件之间的数据块,间接块的块指针字段各自包含指示指向块是否被共享的所有权标志。

    Power supply system
    9.
    发明授权
    Power supply system 有权
    电源系统

    公开(公告)号:US07152175B2

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

    申请号:US10383455

    申请日:2003-03-06

    CPC分类号: G06F1/30 G06F1/263

    摘要: Disclosed is a system having a power input line. A power supply facility provides the system with a combined set of signals including a power signal and a status signal over the power input line.Additionally, disclosed is a system having at least two power input lines. Uninterruptible power supply facilities provide the system with combined sets of signals including a power signal and a status signal over the power input lines. Each combined set of signals includes a unique UPS identifier, which can be used to determine whether power sources for power input lines are unique.

    摘要翻译: 公开了具有电力输入线的系统。 电源设备为系统提供了一组组合的信号,包括功率信号和电源输入线上的状态信号。 此外,公开了具有至少两个电力输入线的系统。 不间断电源为系统提供组合的信号,包括功率信号和电源输入线上的状态信号。 每个组合信号包括唯一的UPS标识符,其可以用于确定电力输入线的电源是否是唯一的。

    System for storing block allocation information on multiple snapshots
    10.
    发明授权
    System for storing block allocation information on multiple snapshots 有权
    用于在多个快照上存储块分配信息的系统

    公开(公告)号:US06938134B2

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

    申请号:US10251601

    申请日:2002-09-19

    申请人: Peter W. Madany

    发明人: Peter W. Madany

    IPC分类号: G06F11/14 G06F12/00

    摘要: An apparatus and method for locating free data blocks in a microprocessor-based system for which snapshots are maintained. The snapshots are stored periodically, but only a subset of live snapshots is retained in order to reduce the total amount of storage needed for the snapshot information, such that their snapshot numbers are not sequential and there are gaps in the snapshot times. For each data block to be accessed, an allocation time and a deallocation time are stored in an allocation table. When a data block is needed, its allocation and deallocation times are compared with the live snapshot times to determine whether that data block is available. If not, the system iterates through the other data block allocation information until a free data block is located. If so, the system writes to that data block, and repeats the procedure as necessary to locate additional free data blocks.

    摘要翻译: 一种用于在基于微处理器的系统中定位可用数据块的装置和方法,用于保持快照。 快照定期存储,但只保留实时快照的一小部分,以减少快照信息所需的总存储量,使其快照编号不顺序,并且快照时间有间隙。 对于要访问的每个数据块,分配时间和释放时间存储在分配表中。 当需要数据块时,将其分配和释放时间与实时快照时间进行比较,以确定该数据块是否可用。 如果不是,系统将遍历其他数据块分配信息,直到找到一个空闲数据块。 如果是这样,系统将写入该数据块,并根据需要重复该过程以定位附加的空闲数据块。