System and method for transferring data between virtual machines or other computer entities

    公开(公告)号:US07181744B2

    公开(公告)日:2007-02-20

    申请号:US10280987

    申请日:2002-10-24

    IPC分类号: G06F9/46 G06F9/44

    摘要: A method for communication between first and second computer programs having a shared memory. The first computer program has a first work dispatcher for a first work queue. The second computer program has a second work dispatcher for a second work queue. Without causing an interrupt, a message or data is written for the second program from the first program to the shared memory and the second work queue is updated with a work item indicating a message or data for the second program. In association with the updating step, it is determined if the second program is currently busy. If so, the second program is not interrupted regarding the message or data. When the second program subsequently becomes not busy, the second program receives, without an interrupt, and executes the work item to receive the message or data. If the second program was not currently busy, the second program is interrupted to process the message or data on its work queue. This imposes a minimal burden on the second program.

    Shared file system cache in a virtual machine or LPAR environment
    2.
    发明授权
    Shared file system cache in a virtual machine or LPAR environment 有权
    共享文件系统缓存在虚拟机或LPAR环境中

    公开(公告)号:US08589937B2

    公开(公告)日:2013-11-19

    申请号:US12848186

    申请日:2010-08-01

    IPC分类号: G06F9/46 G06F13/28

    摘要: Computer system, method and program for defining first and second virtual machines and a memory shared by the first and second virtual machines. A filesystem cache resides in the shared memory. A lock structure resides in the shared memory to record which virtual machine, if any, currently has an exclusive lock for writing to the cache. The first virtual machine includes a first program function to acquire the exclusive lock when available by manipulation of the lock structure, and a second program function active after the first virtual machine acquires the exclusive lock, to write to the cache. The lock structure is directly accessible by the first program function. The cache is directly accessible by the second program function. The second virtual machine includes a third program function to acquire the exclusive lock when available by manipulation of the lock structure, and a fourth program function active after the second virtual machine acquires the exclusive lock, to write to the cache. The lock structure is directly accessible by the third program function. The cache is directly accessible by the fourth program function. Another computer system, method and program is embodied in logical partitions of a real computer, instead of virtual machines.

    摘要翻译: 用于定义第一和第二虚拟机的计算机系统,方法和程序以及由第一和第二虚拟机共享的存储器。 文件系统缓存驻留在共享内存中。 锁定结构驻留在共享存储器中,以记录哪个虚拟机(如果有的话)当前具有用于写入缓存的排他锁。 第一虚拟机包括第一程序功能,用于通过操纵锁定结构获得可用的独占锁,以及在第一虚拟机获取排他锁之后活动的第二程序功能,以写入高速缓存。 锁结构可以通过第一个程序功能直接访问。 缓存可以通过第二个程序功能直接访问。 第二虚拟机包括第三程序功能,用于通过操纵锁定结构获得排他锁;以及在第二虚拟机获取排他锁之后活动的第四程序功能,以写入高速缓存。 锁结构可以通过第三个程序功能直接访问。 缓存可以通过第四个程序功能直接访问。 另一个计算机系统,方法和程序体现在真实计算机的逻辑分区中,而不是虚拟机。

    System, method and program to preserve a cache of a virtual machine
    3.
    发明申请
    System, method and program to preserve a cache of a virtual machine 有权
    保存虚拟机缓存的系统,方法和程序

    公开(公告)号:US20060136667A1

    公开(公告)日:2006-06-22

    申请号:US11015167

    申请日:2004-12-17

    IPC分类号: G06F13/00

    摘要: A system, computer program product and method for managing a cache of a virtual machine. A cache is defined in memory, and a virtual machine is assigned to the cache. An identity of the cache is recorded in storage. The virtual machine terminates, and the cache and contents of the cache are preserved despite the termination of the virtual machine, such that if the virtual machine subsequently resumes operating, the virtual machine can access the cache and its contents. There is also a system, method and computer program product for managing a cache of an LPAR. A cache is defined in memory, and assigned to an LPAR. A record is made of an identity of the cache in storage. The LPAR terminates, and the cache and contents of the cache are preserved despite the termination of the LPAR, such that if the LPAR subsequently resumes operating, the LPAR can access the cache and its contents.

    摘要翻译: 一种用于管理虚拟机的高速缓存的系统,计算机程序产品和方法。 高速缓存在内存中定义,并将虚拟机分配给缓存。 缓存的身份被记录在存储器中。 虚拟机终止,并且高速缓存和缓存的内容尽管虚拟机终止,但是如果虚拟机随后恢复运行,则虚拟机可以访问高速缓存及其内容。 还有一种用于管理LPAR缓存的系统,方法和计算机程序产品。 缓存在内存中定义,并分配给LPAR。 记录存储中的缓存的身份。 LPAR终止,并且高速缓存和高速缓存的内容尽管LPAR的终止被保留,从而如果LPAR随后恢复运行,LPAR可以访问高速缓存及其内容。

    System, method and program to preserve a cache of a virtual machine
    4.
    发明授权
    System, method and program to preserve a cache of a virtual machine 有权
    保存虚拟机缓存的系统,方法和程序

    公开(公告)号:US08060683B2

    公开(公告)日:2011-11-15

    申请号:US11015167

    申请日:2004-12-17

    IPC分类号: G06F12/16

    摘要: A system, computer program product and method for managing a cache of a virtual machine. A cache is defined in memory, and a virtual machine is assigned to the cache. An identity of the cache is recorded in storage. The virtual machine terminates, and the cache and contents of the cache are preserved despite the termination of the virtual machine, such that if the virtual machine subsequently resumes operating, the virtual machine can access the cache and its contents. There is also a system, method and computer program product for managing a cache of an LPAR. A cache is defined in memory, and assigned to an LPAR. A record is made of an identity of the cache in storage. The LPAR terminates, and the cache and contents of the cache are preserved despite the termination of the LPAR, such that if the LPAR subsequently resumes operating, the LPAR can access the cache and its contents.

    摘要翻译: 一种用于管理虚拟机的高速缓存的系统,计算机程序产品和方法。 高速缓存在内存中定义,并将虚拟机分配给缓存。 缓存的身份被记录在存储器中。 虚拟机终止,并且高速缓存和缓存的内容尽管虚拟机终止,但是如果虚拟机随后恢复运行,则虚拟机可以访问高速缓存及其内容。 还有一种用于管理LPAR缓存的系统,方法和计算机程序产品。 缓存在内存中定义,并分配给LPAR。 记录存储中的缓存的身份。 LPAR终止,并且高速缓存和高速缓存的内容尽管LPAR的终止被保留,从而如果LPAR随后恢复运行,LPAR可以访问高速缓存及其内容。

    System, method and program to manage virtual memory allocated by a virtual machine control program
    5.
    发明授权
    System, method and program to manage virtual memory allocated by a virtual machine control program 有权
    用于管理由虚拟机控制程序分配的虚拟内存的系统,方法和程序

    公开(公告)号:US08015383B2

    公开(公告)日:2011-09-06

    申请号:US11769161

    申请日:2007-06-27

    IPC分类号: G06F12/00

    摘要: Management of virtual memory allocated by a virtual machine control program to a plurality of virtual machines. Each of the virtual machines has an allocation of virtual private memory divided into working memory, cache memory and swap memory. The virtual machine control program determines that it needs additional virtual memory allocation, and in response, makes respective requests to the virtual machines to convert some of their respective working memory and/or cache memory to swap memory. At another time, the virtual machine control program determines that it needs less virtual memory allocation, and in response, makes respective requests to the virtual machines to convert some of their respective swap memory to working memory and/or cache memory.

    摘要翻译: 由虚拟机控制程序分配给多个虚拟机的虚拟内存的管理。 每个虚拟机具有划分为工作存储器,高速缓冲存储器和交换存储器的虚拟专用存储器的分配。 虚拟机控制程序确定它需要额外的虚拟内存分配,并且作为响应,使得对虚拟机的各个请求将其各自的工作存储器和/或高速缓冲存储器中的一些转换成交换存储器。 在另一时间,虚拟机控制程序确定它需要较少的虚拟内存分配,并且作为响应,使得对虚拟机的各个请求将其各自的交换存储器中的一些转换为工作存储器和/或高速缓冲存储器。

    Management of locks in a virtual machine environment
    6.
    发明授权
    Management of locks in a virtual machine environment 有权
    在虚拟机环境中管理锁

    公开(公告)号:US07328437B2

    公开(公告)日:2008-02-05

    申请号:US10425468

    申请日:2003-04-29

    IPC分类号: G06F9/455 G06F12/00

    摘要: A technique to collectively manage locks by multiple virtual machines and then access shared data protected by the locks. A computer system defines first and second virtual machines and a memory shared by the first and second virtual machines. A lock structure is defined in the shared memory. The lock structure is capable of listing a holder of a lock for shared data in the shared memory. The first virtual machine acquires a lock for the shared data when available by manipulation of the lock structure. After acquiring the lock, the first virtual machine accesses the shared data. The lock structure and the shared data are directly accessible by the first virtual machine. The second virtual machine acquires a lock for the shared data when available by manipulation of the lock structure. After acquiring the lock, the second virtual machine accesses the shared data. The lock structure and shared data are directly accessible by the second virtual machine. In an alternate embodiment of the present invention, the shared data resides in one of the virtual machines while the lock structure remains in shared memory.

    摘要翻译: 一种由多个虚拟机共同管理锁定的技术,然后访问受锁保护的共享数据。 计算机系统定义第一和第二虚拟机以及由第一和第二虚拟机共享的存储器。 共享内存中定义了一个锁定结构。 锁定结构能够在共享存储器中列出用于共享数据的锁的持有者。 第一个虚拟机通过操纵锁定结构获得共享数据的锁定。 获取锁后,第一个虚拟机访问共享数据。 锁结构和共享数据可以由第一个虚拟机直接访问。 第二个虚拟机通过操纵锁定结构获得共享数据的锁定。 获取锁定后,第二个虚拟机访问共享数据。 锁结构和共享数据可由第二虚拟机直接访问。 在本发明的替代实施例中,共享数据驻留在虚拟机之一中,而锁结构保持在共享存储器中。

    Management of virtual machines to utilize shared resources
    7.
    发明授权
    Management of virtual machines to utilize shared resources 有权
    管理虚拟机以利用共享资源

    公开(公告)号:US07299468B2

    公开(公告)日:2007-11-20

    申请号:US10425470

    申请日:2003-04-29

    摘要: A technique for utilizing resources in a virtual machine operating system. The virtual machine operating system comprises a multiplicity of virtual machines. A share of resources is allocated to each of the virtual machines. Utilization by one of the virtual machines of the resources allocated to the one virtual machine is automatically monitored. If the one virtual machine needs additional resources, the one virtual machine is automatically cloned. The clone is allocated a share of the resources taken from the shares of other of the virtual machines, such that the resultant shares allocated to the one virtual machine and the clone together are greater than the share allocated to the one virtual machine before the one virtual machine was cloned. The clone performs work with its resources that would have been performed by the one virtual machine if not for the existence of said clone.

    摘要翻译: 一种在虚拟机操作系统中利用资源的技术。 虚拟机操作系统包括多个虚拟机。 一部分资源被分配给每个虚拟机。 一个虚拟机利用一个虚拟机分配的资源被自动监控。 如果一个虚拟机需要额外的资源,则会自动克隆一个虚拟机。 该克隆被分配了从其他虚拟机的共享中获取的资源的一部分,使得分配给一个虚拟机和克隆在一起的结果共享大于在一个虚拟机之前分配给一个虚拟机的共享 机器被克隆。 克隆执行其资源的工作,如果不存在所述克隆,该资源将由一个虚拟机执行。

    SHARED FILE SYSTEM CACHE IN A VIRTUAL MACHINE OR LPAR ENVIRONMENT
    8.
    发明申请
    SHARED FILE SYSTEM CACHE IN A VIRTUAL MACHINE OR LPAR ENVIRONMENT 有权
    共享文件系统在虚拟机或LPAR环境中缓存

    公开(公告)号:US20100299673A1

    公开(公告)日:2010-11-25

    申请号:US12848186

    申请日:2010-08-01

    IPC分类号: G06F9/46 G06F12/00

    摘要: Computer system, method and program for defining first and second virtual machines and a memory shared by the first and second virtual machines. A filesystem cache resides in the shared memory. A lock structure resides in the shared memory to record which virtual machine, if any, currently has an exclusive lock for writing to the cache. The first virtual machine includes a first program function to acquire the exclusive lock when available by manipulation of the lock structure, and a second program function active after the first virtual machine acquires the exclusive lock, to write to the cache. The lock structure is directly accessible by the first program function. The cache is directly accessible by the second program function. The second virtual machine includes a third program function to acquire the exclusive lock when available by manipulation of the lock structure, and a fourth program function active after the second virtual machine acquires the exclusive lock, to write to the cache. The lock structure is directly accessible by the third program function. The cache is directly accessible by the fourth program function. Another computer system, method and program is embodied in logical partitions of a real computer, instead of virtual machines.

    摘要翻译: 用于定义第一和第二虚拟机的计算机系统,方法和程序以及由第一和第二虚拟机共享的存储器。 文件系统缓存驻留在共享内存中。 锁定结构驻留在共享存储器中,以记录哪个虚拟机(如果有的话)当前具有用于写入缓存的排他锁。 第一虚拟机包括第一程序功能,用于通过操纵锁定结构获得可用的独占锁,以及在第一虚拟机获取排他锁之后活动的第二程序功能,以写入高速缓存。 锁结构可以通过第一个程序功能直接访问。 缓存可以通过第二个程序功能直接访问。 第二虚拟机包括第三程序功能,用于通过操纵锁定结构获得排他锁;以及在第二虚拟机获取排他锁之后活动的第四程序功能,以写入高速缓存。 锁结构可以通过第三个程序功能直接访问。 缓存可以通过第四个程序功能直接访问。 另一个计算机系统,方法和程序体现在真实计算机的逻辑分区中,而不是虚拟机。

    System and method for transferring data between virtual machines or other computer entities
    9.
    发明授权
    System and method for transferring data between virtual machines or other computer entities 失效
    用于在虚拟机或其他计算机实体之间传输数据的系统和方法

    公开(公告)号:US07299464B2

    公开(公告)日:2007-11-20

    申请号:US11559936

    申请日:2006-11-15

    IPC分类号: G06F9/455 G06F9/46 G06F5/00

    摘要: A method for communication between first and second computer programs having a shared memory. The first computer program has a first work dispatcher for a first work queue. The second computer program has a second work dispatcher for a second work queue. Without causing an interrupt, a message or data is written for the second program from the first program to the shared memory and the second work queue is updated with a work item indicating a message or data for the second program. In association with the updating step, it is determined if the second program is currently busy. If so, the second program is not interrupted regarding the message or data. When the second program subsequently becomes not busy, the second program receives, without an interrupt, and executes the work item to receive the message or data. If the second program was not currently busy, the second program is interrupted to process the message or data on its work queue. This imposes a minimal burden on the second program.

    摘要翻译: 一种用于具有共享存储器的第一和第二计算机程序之间的通信的方法。 第一个计算机程序具有第一个工作队列的第一个工作调度程序。 第二个计算机程序具有第二个工作队列的第二个工作调度程序。 在不引起中断的情况下,从第一程序向共享存储器写入第二程序的消息或数据,并且用指示第二程序的消息或数据的工作项更新第二工作队列。 与更新步骤相关联,确定第二节目当前是否正忙。 如果是这样,第二个程序不会对消息或数据中断。 当第二程序随后变得不忙时,第二程序在没有中断的情况下接收并执行工作项以接收消息或数据。 如果第二个程序当前不忙,则第二个程序中断处理其工作队列上的消息或数据。 这给第二个程序带来了最小的负担。

    Multiple virtual machines sharing processor and work queue in memory having program/dispatch functions for assigning and accessing work items while the virtual machine was not idle
    10.
    发明授权
    Multiple virtual machines sharing processor and work queue in memory having program/dispatch functions for assigning and accessing work items while the virtual machine was not idle 有权
    多个虚拟机在内存中共享处理器和工作队列,具有用于在虚拟机不空闲时分配和访问工作项的程序/调度功能

    公开(公告)号:US07251815B2

    公开(公告)日:2007-07-31

    申请号:US10425469

    申请日:2003-04-29

    摘要: A system, computer program product and method for dispatching work items in a virtual machine operating system. The virtual machine operating system defines first and second virtual machines. First and second work queues are created in a memory. The first virtual machine assigns a first work item to the first work queue and a second work item to the second work queue. The first virtual machine schedules work items from the first work queue for execution by the first virtual machine. The first and second work items originate from the first virtual machine. The first and second work queues are directly accessible by the first virtual machine. The second virtual machine assigns a third work item to the first work queue and a fourth work item to the second work queue. The second virtual machine schedules work items from the second work queue for execution by the second virtual machine. The third and fourth work items originate from the second virtual machine. The first and second work queues are directly accessible by the second virtual machine. The first virtual machine is not able to schedule work items from the second work queue, and the second virtual machine is not able to schedule work items from the first work queue. A shared work queue in shared memory is also disclosed.

    摘要翻译: 用于在虚拟机操作系统中调度工作项的系统,计算机程序产品和方法。 虚拟机操作系统定义了第一和第二虚拟机。 在内存中创建第一个和第二个工作队列。 第一个虚拟机将第一个工作项目分配给第一个工作队列,第二个工作项目分配给第二个工作队列。 第一个虚拟机从第一个工作队列中调度工作项,供第一个虚拟机执行。 第一个和第二个工作项源自第一个虚拟机。 第一个和第二个工作队列可以由第一个虚拟机直接访问。 第二个虚拟机将第三个工作项目分配给第一个工作队列,第四个工作项目分配给第二个工作队列。 第二个虚拟机从第二个工作队列中调度工作项,供第二个虚拟机执行。 第三个和第四个工作项源自第二个虚拟机。 第一个和第二个工作队列可以由第二个虚拟机直接访问。 第一个虚拟机无法从第二个工作队列中调度工作项,而第二个虚拟机无法从第一个工作队列中调度工作项。 共享存储器中的共享工作队列也被公开。