IP Library Patent Application 12163725
Patent Application
App. No. 12/163,725

ANNOTATION-AIDED CODE GENERATION IN LIBRARY-BASED REPLAY

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 None
App. No.
12/163,725
Abstract

Techniques for automatically generating replay-enabling code in a library based replay system. The technique requires a code template programmed by an operating system developer. Then, utilizing an application programming interface (API) annotation, either standard or user-defined, customized replay-enabled code is automatically generated for every specific API.

Claims (33)

1 . A method for automatically generating a replay-enabling code, the method comprising:

intercepting one or more application program interface (API) functions;

generating one or more code wrappers and one or more slots utilizing annotation information;

encapsulating the one or more API functions with the one or more code wrappers; and

converting one or more wrapped API functions into one or more flexible extension structures.

2 . The method of claim 1 , wherein the one or more API functions are located in a virtual execution layer.

3 . The method of claim 2 , wherein the virtual execution layer comprises representing a boundary between a program and an underlying support infrastructure.

4 . The method of claim 1 , wherein the one or more flexible extensions comprises a SignalEx® object.

5 . The method of claim 4 , wherein the SignalEx®(g object comprises treating the one or more API functions as a signal-slot process comprising the one or more slots, wherein the SignalEx® is plugged into the one or more slots.

6 . The method of claim 1 , further comprising an application reading the annotation information to generate code wrapper information.

7 . The method of claim 1 , further comprising a device reading the annotation information to generate code wrapper information.

8 . The method of claim 1 , wherein the one or more API functions comprises being annotated in a Standard Annotation Language (SAL).

9 . One or more computer-readable storage media containing instructions that are executable by a computing device to perform actions comprising:

intercepting one or more application program interface (API) functions;

encapsulating the one or more API functions with a code wrapper;

converting a wrapped API function into a flexible extension, wherein the flexible extension treats the wrapped API function as one or more slots of a linked list; and

executing the one or more slots of the linked list.

10 . The one or more computer-readable storage media of claim 9 , wherein the linked list comprises being dynamically reconfigured.

11 . The one or more computer-readable storage media of claim 9 , further comprising a wrapped API function utilizing a script to convert the one or more wrapped API function into the flexible extensions.

12 . The one or more computer-readable storage media of claim 11 , wherein the script comprises generating a slot to record contents of output parameters.

13 . A system for automatically generating a replay-enabling code, the system comprising:

a processor;

a memory coupled to the processor;

a virtual execution layer stored in the memory;

one or more application program interface (API) functions existing in a virtual execution layer;

a linked-list, wherein the one or more API functions emit a signal triggering a slot within the linked-list to be executed.

14 . The system of claim 13 , wherein the one or more API functions existing in the virtual execution layer comprises encapsulating with a code wrapper generated from annotation information creating one or more code wrapped API functions.

15 . The system of claim 14 , wherein the one or more code wrapped API functions comprises converting into one or more flexible extensions.

16 . The system of claim 13 , wherein the linked list comprises one or more distinctive slots that are executed one by one.

17 . The system of claim 16 , wherein the one or more distinctive slots comprises a log slot and a replay slot tool.

18 . The system of claim 17 , wherein the log slot comprises recording the output parameters of the one or more APIs calls.

19 . The system of claim 18 , wherein the logging information comprises collecting on a separate memory device.

20 . The system of claim 18 , wherein the replay slot comprises feeding the linked list from the logged output parameters.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2008
From: GUO, ZHENYU; LIU, XUEZHENG; ZHANG, ZHENG
To: MICROSOFT CORPORATION
Reel/Frame 021932/0172 →