Nova Patents
US7523263B2

Storage plug-in based on shared closures

Summary by NHIP

Shared closure caching in multi-VM systems

The system manages shared closure caching across multiple virtual machines executing on a single CPU. It updates a shared instance in common memory when private data changes, while limiting each virtual machine to a maximum of five concurrent threads.

Claim Score by NHIP

Read claim 10, the broadest

Abstract

Methods for a treatment of cached objects are described. In one embodiment, a first shared closure for a first application is cached into a shared memory with a first virtual machine that is executed on a CPU. A second shared closure for a second application is cached into the shared memory with a second virtual machine that is concurrently executed on the CPU with the first virtual machine.

US7523263B2, drawing sheet 1
Sheet 1 of 20

Term

Term ended

Expired 12 November 2025, 0.9 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

33 claims: 5 independent, 28 dependent

  1. 1
    An article of manufacture, comprising:program code stored on a computer readable medium to implement a plug-in to manage the caching activity of a shared closure, said shared closure composed of more than one object, wherein when said program code is processed by a virtual machine the following method is performed: if a change occurs to data contained within an instance of said shared closure located in a first memory that is private to said virtual machine: updating a second instance of said shared closure with said change, said second instance of said shared closure located in a second memory that said virtual machine shares with at least one other virtual machine;said plug-in to plug into a cache management program that runs in a multi-virtual machine system wherein: a) said virtual machine and said at least one other virtual machine amount to a total number of virtual machines that is greater than the number of CPUs used to operate said virtual machines;b) each one of said virtual machines is dedicated to one of said CPUs;c) said virtual machines are operating concurrently;d) each one of said virtual machines has a limitation on the maximum number of threads it can concurrently execute, said limitation to reduce said system's sensitivity to a virtual machine crash.
  2. 10
    Broadest claimClaim Score 43, average(NHIP)A method, comprising:plugging a plug-in into a caching management software program;performing the following method by processing said plug-in's program code with a virtual machine: if a change occurs to data contained within an instance of a shared closure composed of more than object located in a first memory that is private to said virtual machine: updating a second instance of said shared closure with said change, said second instance of said shared closure located in a second memory that said virtual machine shares with at least one other virtual machine;running said cache management software program within a multi-virtual machine system wherein: a) said virtual machine and said at least one other virtual machine amount to a total number of virtual machines that is greater than the number of CPUs used to operate said virtual machines;b) each one of said virtual machines is dedicated to one of said CPUs;c) said virtual machines are operating concurrently;d) each one of said virtual machines has a limitation on the maximum number of threads it can concurrently execute, said limitation to reduce said system's sensitivity to a virtual machine crash.
  3. 19
    A computing system, comprising:i) a virtual machine;ii) first memory that is private to said virtual machine;iii) second memory that said virtual machine shares with at least one other virtual machine such that a multi-virtual machine system exists, wherein: a) said virtual machine and said at least one other virtual machine amount to a total number of virtual machines that is greater than the number of CPUs used to operate said virtual machines;b) each one of said virtual machines is dedicated to one of said CPUs;c) said virtual machines are operating concurrently;d) each one of said virtual machines has a limitation on the maximum number of threads it can concurrently execute, said limitation to reduce said system's sensitivity to a virtual machine crash;iv) cache management software;v) a plug-in to plug into said cache management software, said plug-in to manage the caching activity of a shared closure composed of more than one object, said plug-in comprising program code which when processed by said virtual machine causes the following method to be performed: if a change occurs to data contained within an instance of said shared closure located in a first memory that is private to said virtual machine: updating a second instance of said shared closure with said change, said second instance of said shared closure located in a second memory that said virtual machine shares with at least one other virtual machine.
  4. 28
    A method, comprising:plugging a plug-in into a caching management software program;performing the following method by processing said plug-in's program code with performing the following method by processing said plug-in's program code with a virtual machine: if a change occurs to data contained within an instance of a shared closure composed of more than object located in a first memory that is private to said virtual machine: updating a second instance of said shared closure with said change, said second instance of said shared closure located in a second memory that said virtual machine shares with at least one other virtual machine;running said cache management software program within a multi-virtual machine system wherein: a) said virtual machine and said at least one other virtual machine amount to a total number of virtual machines that is greater than the number of CPUs used to operate said virtual machines;b) each one of said virtual machines is dedicated to one of said CPUs;c) said virtual machines are operating concurrently;d) each one of said virtual machines has a limitation on the maximum number of threads it can concurrently execute, said limitation to reduce said system's sensitivity to a virtual machine crash.
  5. 33
    An article of manufacture, comprising:program code stored on a computer readable medium to implement a plug-in to manage the caching activity of a shared closure, wherein when said program code is processed by a virtual machine the following method is performed: if a change occurs to data contained within an instance of said shared closure located in a first memory that is private to said virtual machine: updating a second instance of said shared closure with said change, said second instance of said shared closure located in a second memory that said virtual machine shares with at least one other virtual machine;said plug-in to plug into a cache management program that runs in a multi-virtual machine system wherein: a) said virtual machine and said at least one other virtual machine amount to a total number of virtual machines that is greater than the number of CPUs used to operate said virtual machines;b) each one of said virtual machines is dedicated to one of said CPUs;c) said virtual machines are operating concurrently;d) each one of said virtual machines has a limitation on the maximum number of threads it can concurrently execute, said limitation to reduce said system's sensitivity to a virtual machine crash.