IP Library › Granted Patent US 8,046,540
Granted Patent B2
US 8,046,540 · App. 11/789,925 · Granted Oct 25, 2011

Shared closures on demand

Assignee: SAP AG
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,046,540
App. No.
11/789,925
Granted
Oct 25, 2011
Kind
B2
Abstract

A method and apparatus for copying data from a virtual machine to a shared closure on demand. This process improves system efficiency by avoiding the copying of data in the large number of cases where the same virtual machine is the next to request access and use of the data. Load balancing and failure recovery are supported by copying the data to the shared closure when the data is requested by another virtual machine or recovering the data from the failed virtual machine and storing it in the shared closure before a terminated virtual machine is discarded.

Claims (40)

1. A method comprising:

monitoring session data of a first virtual machine;

storing an indicator in a shared memory location, the indicator providing a location of the session data of the first virtual machine in a heap memory of the first virtual machine;

detecting a termination of the first virtual machine caused by a failure of the first virtual machine; and

copying the session data from the heap memory of the first virtual machine to the shared memory after the termination of the first virtual machine, using the indicator stored in the shared memory location to locate the session data in the first virtual machine.

2. The method of claim 1 , wherein copying the session data comprises:

retrieving the session data from the first virtual machine at the location.

3. The method of claim 2 , wherein the session data is retrieved in response to a request from a second virtual machine as a copy on demand process.

4. The method of claim 1 , further comprising:

updating the indicator in response to a session dialogue action.

5. The method of claim 1 , wherein the session data is stored as a shared closure in the shared memory.

6. The method of claim 1 , further comprising:

checking for the indicator upon detection of termination of the first virtual machine.

7. The method of claim 1 , further comprising:

checking the session data at the location for coherency.

8. The method of claim 1 , wherein the session data is reclaimed from the terminated first virtual machine prior to discard of the first virtual machine and without maintaining a copy of the session data in the shared memory prior to termination.

9. A system comprising:

a shared memory component;

a first virtual machine to service an application server; and

a session manager to store an indicator of session data location in a heap memory within the first virtual machine, the indicator stored in the shared memory component, the session manager to copy session data of the first virtual machine from the heap memory to the shared memory component, after detecting a failure of the first virtual machine, using the indicator stored in the shared memory component to locate the session data in the heap memory of the first virtual machine.

10. The system of claim 9 , wherein the session manager copies the session data at the location in response to a request from a second virtual machine.

11. The system of claim 9 , further comprising:

a session data tracking component to store the indicator.

12. The system of claim 9 , wherein the session data is reclaimed from the terminated first virtual machine prior to discard of the first virtual machine and without maintaining a copy of the session data in the shared memory component prior to termination.

13. A non-transitory machine readable medium having instructions stored therein, which if executed by a machine, cause the machine to perform a set of operations comprising:

tracking session activity of a first virtual machine; and

updating a set of references to data in a shared memory in response to session activity, the set of references indicating a location of session data in a heap structure in the first virtual machine;

detecting a termination of the first virtual machine caused by a failure of the first virtual machine; and

copying the session data from the heap structure of the first virtual machine to the shared memory after the termination of the first virtual machine, using the set of references in the shared memory to locate the session data in the heap structure of the first virtual machine.

14. The non-transitory machine readable medium of claim 13 , wherein copying the session data from the first virtual machine to a shared memory location is in response to a request from a second virtual machine.

15. The non-transitory machine readable medium of claim 14 , wherein the session data is stored in shared memory as a shared closure.

16. The non-transitory machine readable medium of claim 13 , having further instructions stored therein, which if executed by a machine, cause the machine to perform a set of further operations comprising:

error checking session data at the location if the first virtual machine failed.

17. The non-transitory machine readable medium of claim 13 , having further instructions stored therein, which if executed by a machine, cause the machine to perform a set of further operations comprising:

maintaining a heap of the first virtual machine after failure until heap data is retrieved.

18. The non-transitory machine readable medium of claim 13 , having further instructions stored therein, which if executed by a machine, cause the machine to perform a set of further operations comprising:

searching shared memory for the set of references corresponding to the first virtual machine to determine support for on demand shared closures for the first virtual machine.

19. The non-transitory machine readable medium of claim 18 , having further instructions stored therein, which if executed by a machine, cause the machine to perform a set of further operations comprising:

updating the set of references in response to a session dialogue action.

20. The non-transitory machine-readable medium of claim 13 , wherein the session data is reclaimed from the terminated first virtual machine prior to discard of the first virtual machine and without maintaining a copy of the session data in the shared memory prior to termination.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2008
From: SMITS, THOMAS; DOSTERT, JAN BORIS; SCHMIDT, OLIVER PATRICK; KUCK, NORBERT
To: SAP AG
Reel/Frame 021016/0288 →
Continuity (1)
Related Publication 20080270709A1 · Oct 30, 2008