Tools and techniques for instrumenting interfaces of units of a software program
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-003/00
G06F-009/44
G06F-009/46
G06F-013/00
G06F-009/45
출원번호
US-0096358
(2005-04-01)
등록번호
US-7493630
(2009-02-17)
발명자
/ 주소
Hunt,Galen C.
출원인 / 주소
Microsoft Corporation
대리인 / 주소
Klarquist Sparkman, LLP
인용정보
피인용 횟수 :
27인용 특허 :
60
초록▼
A computer readable medium contains a data structure, which, in some embodiments, is an interface wrapper. The interface wrapper stores information about the interface such as a first data field that contains a reference to instrumentation, a second data field that contains data which represents a r
A computer readable medium contains a data structure, which, in some embodiments, is an interface wrapper. The interface wrapper stores information about the interface such as a first data field that contains a reference to instrumentation, a second data field that contains data which represents a reference to an interface of a software program, and a third data field which contains data representing an identity of the unit of software. When a client unit calls a member function of the interface, the interface wrapper intercepts the call and invokes the instrumentation.
대표청구항▼
I claim: 1. A computer-readable medium having stored thereon computer program instructions for creating an interface wrapper which associates an interface with a unit identity of a unit of a software program, wherein the software program comprises plural units, and wherein one of the plural units e
I claim: 1. A computer-readable medium having stored thereon computer program instructions for creating an interface wrapper which associates an interface with a unit identity of a unit of a software program, wherein the software program comprises plural units, and wherein one of the plural units exposes the interface, the interface wrapper comprising: a first data field having data representing a reference to instrumentation for the interface, the reference to instrumentation comprising a pointer to a table comprising: a pointer to an instrumentation function of the interface, and at least one other pointer to another instrumentation function; a second data field having data representing a reference to the interface as a whole of the unit of the software program that exposes the interface; a third data field having data representing unit identity of the unit of the software program that exposes the interface; a fourth data field having data for use by the instrumentation; and the computer-readable medium further having stored thereon computer program instructions comprising: instructions for intercepting a call to a method of the interface from a client; instructions for using at least the first data field data to invoke the instrumentation function of the interface, and instructions for using at least the second data field data to call the method of the interface. 2. The computer-readable medium of claim 1 wherein the fourth data field further has a reference to interface information stored outside of the data structure. 3. The computer-readable medium of claim 1 wherein the instrumentation references type description accessible using the fourth data field to parse and measure one or more parameters passed across the interface. 4. The computer-readable medium of claim 3 wherein the instrumentation uses the one or more parameters to parse and measure one or more return parameters from a function call. 5. The computer-readable medium of claim 1 wherein the fourth data field further has information about function calls passed to and from the interface. 6. The computer-readable medium of claim 1 wherein the fourth data field further has information about parameter data types passed to and from the interface. 7. The computer-readable medium of claim 1 wherein the fourth data field further comprises a description of parameters of the interface. 8. The computer-readable medium of claim 1 wherein the third data field comprises a globally unique identifier for the unit identity of the unit of the software program that exposes the interface. 9. The computer-readable medium of claim 1 wherein the data for use by the instrumentation comprises a pointer, and wherein the pointer references data stored elsewhere. 10. The computer-readable medium of claim 1 wherein the data representing a reference to the interface as a whole of the unit of the software program comprises a pointer to a table, the table comprising a pointer to the method of the interface and at least one other pointer to another method of the interface. 11. The computer-readable medium of claim 1 wherein the data in the fourth field comprises data representing a log of activity over the interface. 12. The computer-readable medium of claim 1, further having stored thereon computer program instructions comprising instruction for providing the client with a reference to the interface wrapper. 13. The computer-readable medium of claim 1, wherein the computer-readable medium is hard disk storage. 14. The computer-readable medium of claim 1 further comprising: instructions for the instrumentation function to use at least the third data field data to log amount of communication between the client and the unit that exposes the interface. 15. A computer-readable medium having stored thereon computer program instructions for creating an interface wrapper which associates an interface with a unit identity of a unit of a software program, wherein the software program comprises plural units, and wherein one of the plural units exposes the interface, the interface wrapper comprising: a first data field having data representing a reference to instrumentation for the interface; a second data field having data representing a reference to the interface as a whole of the unit of the software program that exposes the interface, the data comprising a pointer to a table, the table comprising a pointer to a method of the interface and at least one other pointer to another method of the interface; a third data field having data representing unit identity of the unit of the software program that exposes the interface; a fourth data field having data for use by the instrumentation; and the computer-readable medium further having stored thereon computer program instructions comprising: instructions for intercepting a call to the method of the interface from a client; instructions for using at least the first data field data to invoke an instrumentation function of the interface, and instructions for using at least the second data field data to call the method of the interface. 16. The computer-readable medium of claim 15 wherein the instrumentation references type description accessible through the fourth data field to parse and measure one or more parameters passed across the interface. 17. The computer-readable medium of claim 15 further comprising: instructions for using at least the data in the third data field and the data in the fourth data field to measure parameters passed to and from the method of the interface as traffic between the client and the unit that exposes the interface. 18. A method of processing data stored in an interface wrapper in computer memory, the method comprising: in response to a client invocation to a method of an interface of a unit of a software program comprising plural units: intercepting the invocation to the method of the interface; accessing a first data field in the interface wrapper, the first data field having data representing a reference to instrumentation of the interface; accessing a second data field in the interface wrapper, the second data field having data representing a reference to the interface as a whole of the unit of the software program, the reference to the interface comprising a pointer to a table, the table comprising a pointer to the method of the interface and at least one other pointer to another method of the interface; using an instrumentation function of the instrumentation, accessing a third data field in the interface wrapper, the third data field having data representing an identity of the unit of the software program that exposes the interface; processing parameters of the invocation to the method of the interface using data in a fourth data field in the interface wrapper, the fourth data field having data for use by the instrumentation; using at least the second data field data to invoke the method of the interface; processing return parameters of the method of the interface; and returning control to the client. 19. The method of claim 18 wherein the instrumentation references type description accessible through the fourth data field to parse and measure one or more parameters passed across the interface. 20. A method of processing data stored in an interface wrapper in computer memory, the method comprising: in response to a client invocation to a method of an interface of a unit of a software program comprising plural units: intercepting the invocation to the method of the interface; accessing a first data field in the interface wrapper, the first data field having data representing a reference to instrumentation of the interface, the reference to instrumentation comprising a pointer to a table comprising: a pointer to an instrumentation function of the interface, and at least one other pointer to another instrumentation function; accessing a second data field in the interface wrapper, the second data field having data representing a reference to the interface as a whole of the unit of the software program; using the instrumentation function of the instrumentation, accessing a third data field in the interface wrapper, the third data field having data representing an identity of the unit of the software program that exposes the interface; processing parameters of the invocation to the method of the interface using data in a fourth data field in the interface wrapper, the fourth data field having data for use by the instrumentation; using at least the second data field data to invoke the method of the interface; processing return parameters of the method of the interface; and returning control to the client. 21. The method of claim 20 wherein the fourth data field further has a reference to interface information stored outside of the data structure. 22. The method of claim 20 further comprising the instrumentation referencing type description accessible using the fourth data field to parse and measure one or more parameters passed across the interface. 23. The method of claim 22 further comprising the instrumentation using the one or more parameters to parse and measure one or more return parameters from the invocation to the method. 24. The method of claim 20 further comprising storing information about function calls passed to and from the interface in the fourth data field. 25. The method of claim 20 further comprising storing, in the fourth data field, information about function calls passed to and from the interface. 26. The method of claim 20 further comprising storing, in the fourth data field, a description of at least one parameter of the interface. 27. The method of claim 20 further comprising storing, in the third data field, a globally unique identifier for the unit identity of the unit of the software program that exposes the interface. 28. The method of claim 20 wherein the data for use by the instrumentation comprises a pointer, and wherein the pointer references data stored elsewhere. 29. The method of claim 20 wherein the reference to the interface as a whole of the unit of the software program comprises a pointer to a table, the table comprising a pointer to the method of the interface and at least one other pointer to another method of the interface. 30. The method of claim 20 further comprising storing, in the fourth data field, data representing a log of activity over the interface. 31. The method of claim 20, further comprising providing the client with a reference to the interface wrapper. 32. A computer system comprising: means for creating an interface wrapping data structure in memory associated with the computer system, the data structure comprising: a first data field having data representing a reference to instrumentation for an interface, a second data field having data representing a reference to the interface as a whole of a unit of a software program, the reference to the interface comprising a pointer to a table, the table comprising a pointer to a method of the interface and at least one other pointer to another method of the interface, wherein the software program comprises plural units and wherein one of the plural units exposes the interface, a third data field having data representing an identity of the unit of the software program that exposes the interface, a fourth data field having data for use by the instrumentation; and means for intercepting a call from a client to the method of the interface; means for using at least the data in the first field to access an instrumentation function of the instrumentation; means for using at least the data in the second data field to call the method of the interface; and means for returning control to the client. 33. The method of claim 32 further comprising: means for using at least the data in the third data field and the data in the fourth data field to measure parameters passed to and from the method of the interface as traffic between the client and the unit that exposes the interface. 34. A computer system comprising: means for creating an interface wrapping data structure in memory associated with the computer system, the data structure comprising: a first data field having data representing a reference to instrumentation for an interface, the reference to instrumentation comprising a pointer to a table comprising: a pointer to the instrumentation function of the interface, and at least one other pointer to another instrumentation function, a second data field having data representing a reference to the interface as a whole of a unit of a software program, wherein the software program comprises plural units and wherein one of the plural units exposes the interface, a third data field having data representing an identity of the unit of the software program that exposes the interface, a fourth data field having data for use by the instrumentation; and means for intercepting a call from a client to a method of the interface; means for using at least the data in the first field to access an instrumentation function of the instrumentation; means for using at least the data in the second data field to call the method of the interface; and means for returning control to the client.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (60)
Charles J. Northrup, Access-method-independent exchange 3.
Reed Drummond Shattuck ; Heymann Peter Earnshaw ; Mushero Steven Mark ; Jones Kevin Benard ; Oberlander Jeffrey Todd, Computer-based communication system and method using metadata defining a control-structure.
Campbell Michael J. (Los Angeles CA) Finn Dennis J. (Los Angeles CA) Tucker George K. (Los Angeles CA) Vahey Michael D. (Manhattan Beach CA) Vedder Rex W. (Playa del Rey CA), Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and.
Lauren Ann Cotugno ; Thien Huu Pham ; Edward Henry Frankel, Digital signaturing method and system for re-creating specialized native files out of a container imported from an open network or residing on a CD-ROM.
Robert Barnhouse ; Doug Cardy ; Kelvin Porter ; Ken Rambo ; Carol Waller ; Wendy Wong ; George Yao, Intelligent call platform for an intelligent distributed network architecture.
Cabrera Luis Felipe ; Long Darrell Don Earl, Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write inpu.
Bobby G. Doran, Jr. ; Bill Hyden ; Terry Wayne Liles, Method and apparatus for windows-based installation for installing software on build-to-order computer systems.
Jonathan J. Gibbons ; Graham Hamilton ; Peter B. Kessler ; Michael L. Powell ; Sanjay R. Radia, Method and mechanism for invocation on objects with interface inheritance.
Leach Paul ; Williams Antony S. ; Jung Edward ; Hodges C. Douglas ; Koppolu Srinivasa R. ; MacKichan Barry B. ; Wittenberg Craig, Method and system for aggregating objects.
Leach Paul ; Williams Antony S. ; Jung Edward ; Hodges C. Douglas ; Koppolu Srinivasa R. ; MacKichan Barry B. ; Wittenberg Craig, Method and system for aggregating objects.
Ekanadham Kattamuri ; Moreira Jose Eduardo ; Naik Vijay Krishnarao, Method for resource control in parallel environments using program organization and run-time support.
Cohen Geoffrey Alexander ; Gray James P. ; Kaminsky David Louis ; Kasichainula Manoj V. S. ; King Richard Adam ; Li Zhiyong ; Stone Phillip Allan, Methods, systems and computer program products for generating client/server applications.
Orton Debra L. (San Jose CA) Bolton Eugenie L. (Sunnyvale CA) Chernikoff Daniel F. (Palo Alto CA) Goldsmith David B. (Los Gatos CA) Moeller Christopher P. (Los Altos CA), Object-oriented interface for a procedural operating system.
Boldo Irit (Neve Sheanan ILX) Shani Uri (Givat Adi ILX) Gold Israel (Haifa ILX), Programming system for generating client and server programs from an undistributed application program.
Gaertner Gregory G. (Eau Claire WI) Wengelski Diane M. (Eau Claire WI) Thompson Keith J. (Eau Claire WI), Responding to service requests using minimal system-side context in a multiprocessor environment.
Mitchell Herman (Lithonia GA) Rich William L. (Charlotte NC) Shackelford Floyd W. (Beauford GA), System and method for importing and exporting data between an object oriented computing environment and an external comp.
Brumme Christopher ; De Groot Michael ; Lemke Ralph ; Dancs Frank ; Fung Priscilla, Uniform object model having methods and additional features for integrating objects defined by different foreign object type systems into a single type system.
Hanson, Aaron D.; Sturniolo, Emil A.; Menn, Anatoly; Olsen, Erik D.; Savarese, Joseph T., Method and apparatus for providing mobile and other intermittent connectivity in a computing environment.
Hanson, Aaron D.; Sturniolo, Emil A.; Menn, Anatoly; Olsen, Erik D.; Savarese, Joseph T., Method and apparatus for providing mobile and other intermittent connectivity in a computing environment.
Hanson, Aaron D.; Sturniolo, Emil A.; Menn, Anatoly; Olson, Erik D.; Savarese, Joseph T., Method and apparatus for providing mobile and other intermittent connectivity in a computing environment.
Akimoto, Sae; Hagiwara, Masayuki; Kobayashi, Hirotomo, Semiconductor device, system for performing data processing, and method for performing communication between software framework and plurality of software modules.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.