Response time measurement system and method

US8990779B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-8990779-B2
Application numberUS-53937109-A
CountryUS
Kind codeB2
Filing dateAug 11, 2009
Priority dateAug 11, 2009
Publication dateMar 24, 2015
Grant dateMar 24, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments of the present invention relate to a computer-implemented method that includes binary weaving a second computer program code into the byte code of a first computer program code using a code weaver to form a third program product with a plurality of time measurement points. The programs can include sending a request via a network requesting information from a server computer system. The embodiment of the present invention may include measuring the execution time between the execution of a start point to the execution of a corresponding stop point.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: analyzing different code compilations of an application by receiving and storing response time data in one or more log files from the different code compilations of the application to determine a best code compilation from the different code compilations with a best response time to thereby generate the application using code corresponding to the best code compilation having the best response time, including: sending a communication from a first computer system to a second computer system for each of the different code compilations of the application, the communication requesting information via a network for measuring a response time of portions of a first computer program code stored in memory for each of the different code compilations of the application; configuring the first computer program code for each of the different code compilations of the application using a second computer program code to initiate a timer when a start point is reached in the first computer program code and the timer is stopped when a stop point is reached in the first computer program code, the second computer program code inserting high level language code into a byte code of the first computer program code for each of the different code compilations of the application to create a woven program product for each of the different code compilations of the application with the start and stop points based on receiving input from a user specifying where to insert the start and stop points into the byte code, and the code between the start and stop points sends the communication from the first computer system to the second computer system via the network; displaying output generated by the woven program product for each of the different code compilations of the application to the user including a result of the information received from the second computer system related to the inserted start and stop points; calculating the response time for each of the different code compilations of the application and displaying the calculated response time for each of the different code compilations of the application to the user after displaying the result of the information received from the second computer system, the response time comprising both a first computer system execution time and a second computer system execution time for measuring the first and second computer system execution times between execution of the start point to execution of the stop point; and storing the response time for each of the different code compilations of the application as the response time data in the one or more log files. 2. The method of claim 1 , wherein the first computer system and the second computer system are coupled to each other in the client-server relationship, and wherein the first computer performs client operations in the client-server relationship and the second computer system performs server operations in the client-server relationship. 3. The method of claim 1 , wherein initiating the timer comprises: storing a start timestamp in a log file when the start point is reached in the first computer program code; and storing a stop timestamp in a log file when the stop point is reached in the first computer program code. 4. The method of claim 3 , wherein calculating the response time includes determining the difference between the stored stop and start timestamps. 5. The method of claim 1 , wherein the stored start and stop points are embedded between other start and stop points to measure response times. 6. The method of claim 1 , further comprising a response time analysis logic configured to determine the portions of the first computer program code with the fastest response time. 7. The method of claim 6 , further comprising a response time analysis logic configured receive response time data to determine the response time difference since a previous version of the first computer program code with the fastest response time. 8. A computer-implemented method, comprising: analyzing different code compilations of an application by receiving and storing response time data in one or more log files from the different code compilations of the application to determine a best code compilation from the different code compilations with a best response time to thereby generate the application using code corresponding to the best code compilation having the best response time, including: load time weaving a second computer program code into a first computer program code stored in memory for each of the different code compilations of the application using a compiler that transforms source code into language that a computer is configured to execute, the second computer program code is configured as an abstract byte code, and the abstract byte code is inserted into an object class by use of the compiler to form a concrete response time byte code that is tied to a plurality of start and stop points in the first computer program code for each of the different code compilations of the application based on receiving input from a user specifying where to insert the start and stop points into the abstract byte code; the second computer program code configured to define start and stop measurement points to measure the response time between the start and stop points in the first computer program code for each of the different code compilations of the application; displaying output generated when the second computer program code is executed to the user including displaying information related to the inserted start and stop points to the user for each of the different code compilations of the application; measuring the response time for each of the different code compilations of the application and displaying the measured response time for each of the different code compilations of the application to the user after displaying the information related to the inserted start and stop points to the user; and storing the response time for each of the different code compilations of the application as the response time data in the one or more log files. 9. The method of claim 8 , wherein the language that a computer is configured to execute comprises byte code that is a form of program instructions that a virtual machine is configured to execute. 10. The method of claim 9 , wherein the virtual machine is a set of computer software program and data structures that execute other computer programs and scripts. 11. The method of claim 9 , wherein load time weaving includes combining at least two software programs to form one program product that includes code from both software program, and wherein at least one program product includes response time start and stop measurement points. 12. The method of claim 9 , wherein the compiler is a byte code weaver that takes as input a plurality of software programs and assembles the programs to produce byte code that is executable by a machine. 13. The method of claim 8 , wherein the abstract byte code uses aspect-oriented programming (AOP) to allow crosscutting aspects to be inserted into the first computer program code. 14. The method of claim 13 , wherein AOP allows a programmer to write an aspect that further defines or modifies various characteristics of at least one object in an application; wherein defining or modifying a characteristic includes measuring the response time of the at least one object. 15. The method of claim 14 , wherein the first computer program code is a java swing application that implements a user interface of a java application. 16. T

Assignees

Inventors

Classifications

  • Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title

  • Aspect-oriented programming techniques · CPC title

  • using software metrics · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US8990779B2 cover?
Embodiments of the present invention relate to a computer-implemented method that includes binary weaving a second computer program code into the byte code of a first computer program code using a code weaver to form a third program product with a plurality of time measurement points. The programs can include sending a request via a network requesting information from a server computer system. …
Who is the assignee on this patent?
Schalk Michael, Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F11/3616. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 24 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).