IP Library Granted Patent US 8,209,707
Granted Patent B2
US 8,209,707 · App. 12/013,349 · Granted Jun 26, 2012

Gathering state information for an application and kernel components called by the application

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,209,707
App. No.
12/013,349
Granted
Jun 26, 2012
Kind
B2
Abstract

Provided are a method, system, and article of manufacture for gathering state information for an application and kernel components called by the application. An implementation of a component to execute in a kernel space is instantiated in a user space. An application invokes a call to the component in the kernel space. The call to the component in the kernel space is invoked and an implementation of the component in the user space is invoked to execute the call in the user space. State information related to the execution of the call to the component in the user space to include in checkpoint information for the application is gathered.

Claims (63)

1. A method, comprising:

instantiating an implementation of a component, that is configured to execute in a kernel space, in a user space;

invoking, by an application, a call to the component in the kernel space;

intercepting the call to the component in the kernel space;

invoking the implementation of the component in the user space to execute the call in the user space;

translating the intercepted call to a format compatible with the implementation of the component in the user space, wherein the translated call invokes the implementation of the component; and

gathering state information related to the execution of the call to the component in the user space and related to the execution of the implementation of the component in the user space that is called to include in checkpoint information for the application.

2. The method of claim 1 , wherein the checkpoint information includes system information related to operations of the application and the execution of the call invoking the implementation of the component in the user space, and a state of memory regions used by the application.

3. The method of claim 1 , wherein the implementation of the component in the user space comprises a subsystem that executes in the user space, and wherein the state information of the subsystem related to the call from the application is gathered for the checkpoint information.

4. A method, comprising:

instantiating an implementation of a component, that is configured to execute in a kernel space, in a user space;

invoking, by an application, a call to the component in the kernel space;

intercepting the call to the component in the kernel space;

invoking the implementation of the component in the user space to execute the call in the user space;

gathering state information related to the execution of the call to the component in the user space and related to the execution of the implementation of the component in the user space that is called to include in checkpoint information for the application;

loading and initializing the application; and

loading an agent in response to loading the application, wherein the agent intercepts the call to the component in the kernel space and invokes the implementation of the component in the user space.

5. The method of claim 4 , wherein the agent instantiates the implementation of the component to execute in the kernel space in the user space.

6. The method of claim 4 , wherein intercepting the call comprises:

modifying, by the agent, the call made by the application to invoke the implementation of the component in the user space to execute the call in the user space.

7. The method of claim 4 , wherein the component comprises a network communication data structure residing in the kernel space that is used to process network communication packets, and wherein the implementation of the component in the user space comprises the network communication data structure in the user space used to process the network communication packets.

8. The method of claim 4 , wherein the component comprises a graphics engine residing in the kernel space that is used to render graphics, and wherein the implementation of the component in the user space comprises a graphics subsystem in the user space used to process calls to the graphics engine and render graphics.

9. A system, comprising:

at least one processor;

a memory including an application; and

a computer program in the memory executed by the processor to perform operations, the operations comprising:

instantiating in the memory an implementation of a component, that is configured to execute in a kernel space, in a user space;

invoking, by the application, a call to the component in the kernel space;

intercepting the call to the component in the kernel space;

invoking the implementation of the component in the user space to execute the call in the user space;

gathering state information related to the execution of the call to the component in the user space and related to the execution of the implementation of the component in the user space that is called to include in checkpoint information for the application;

loading and initializing the application; and

loading an agent in response to loading the application, wherein the agent intercepts the call to the component in the kernel space and invokes the implementation of the component in the user space.

10. The system of claim 9 , wherein the checkpoint information includes system information related to operations of the application and the execution of the call to invoke the implementation of the component in the user space, and a state of memory regions used by the application.

11. The system of claim 9 , wherein the implementation of the component in the user space comprises a subsystem that executes in the user space, and wherein the state information of the subsystem related to the call from the application is gathered for the checkpoint information.

12. The system of claim 9 , wherein the agent instantiates the implementation of the component to execute in the kernel space in the user space.

13. The system of claim 9 , wherein intercepting the call comprises:

modifying, by the agent, the call made by the application to invoke the implementation of the component in the user space to execute the call in the user space.

14. The system of claim 9 , wherein the component comprises a member of a set of components including:

a network communication data structure residing in the kernel space that is used to process network communication packets, and wherein the implementation of the component in the user space comprises the network communication data structure in the user space used to process the network communication packets; and

a graphics engine residing in the kernel space that is used to render graphics, and wherein the implementation of the component in the user space comprises a graphics subsystem in the user space used to process calls to the graphics engine and render graphics.

15. An article of manufacture comprising at least one of a computer readable storage medium having code and a hardware device having hardware logic executed to communicate with a memory and an application and perform operations, the operations comprising:

instantiating an implementation of a component in the memory, that is configured to execute in a kernel space, in a user space;

invoking, by the application, a call to the component in the kernel space;

intercepting the call to the component in the kernel space;

invoking the implementation of the component in the user space to execute the call in the user space;

translating the intercepted call to a format compatible with the implementation of component in the user space, wherein the translated call invokes the implementation of the component; and

gathering state information related to the execution of the call to the component in the user space and related to the execution of the implementation of the component in the user space that is called to include in checkpoint information for the application.

16. The article of manufacture of claim 15 , wherein the checkpoint information includes system information related to operations of the application and the execution of the call to invoke the implementation of the component in the user space, and a state of memory regions used by the application.

17. The article of manufacture of claim 15 , wherein the implementation of the component in the user space comprises a subsystem that executes in the user space, and wherein the state information of the subsystem related to the call from the application is gathered for the checkpoint information.

18. The article of manufacture of claim 15 , wherein the component comprises a network communication data structure residing in the kernel space that is used to process network communication packets, and wherein the implementation of the component in the user space comprises the network communication data structure in the user space used to process the network communication packets.

19. The article of manufacture of claim 15 , wherein the component comprises a graphics engine residing in the kernel space that is used to render graphics, and wherein the implementation of the component in the user space comprises a graphics subsystem in the user space used to process calls to the graphics engine and render graphics.

20. An article of manufacture comprising at least one of a computer readable storage medium having code and a hardware device having hardware logic executed to communicate with a memory and an application and perform operations, the operations comprising:

instantiating an implementation of a component in the memory, that is configured to execute in a kernel space, in a user space;

invoking, by the application, a call to the component in the kernel space;

intercepting the call to the component in the kernel space;

invoking the implementation of the component in the user space to execute the call in the user space;

gathering state information related to the execution of the call to the component in the user space and related to the execution of the implementation of the component in the user space that is called to include in checkpoint information for the application;

loading and initializing the application; and

loading an agent in response to loading the application, wherein the agent intercepts the call to the component in the kernel space and invokes the implementation of the component in the user space.

21. The article of manufacture of claim 20 , wherein the agent instantiates the implementation of the component to execute in the kernel space in the user space.

22. The article of manufacture of claim 20 , wherein intercepting the call comprises:

modifying, by the agent, the call made by the application to invoke the implementation of the component in the user space to execute the call in the user space.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GOOGLE INC.
Reel/Frame 027463/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2008
From: SUBHRAVETI, DINESH KUMAR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020712/0137 →