Resuming applications using pass-through servers and trace data

US10579502B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10579502-B2
Application numberUS-201715444756-A
CountryUS
Kind codeB2
Filing dateFeb 28, 2017
Priority dateFeb 28, 2017
Publication dateMar 3, 2020
Grant dateMar 3, 2020

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.

Aspects include receiving, at a pass-through server executing in a replay mode, a request directed to a backend resource. The request is received from an application that is connected to the pass-through server. The pass-through server executing in the replay mode identifies a response that corresponds to the request by: forming a key that includes an identifier of the current execution phase of the application and at least a subset of the request; accessing trace data that includes a plurality of keys and corresponding responses that were previously recorded in the trace data by the pass-through server executing in a recording mode; and using the key to locate, in the trace data, the response corresponding to the request. The identified response is relayed, by the pass-through server executing in the replay mode, to the application.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-based method comprising: receiving, at a pass-through server executing in a replay mode, a request directed to a backend resource, the receiving from an application that is communicatively coupled to the pass-through server; determining, by the pass-through server executing in the replay mode, a current execution phase of the application; identifying, by the pass-through server executing in the replay mode, a response that corresponds to the request, the identifying including: forming a unique key that consists of an identifier of the current execution phase of the application and at least a subset of the request; accessing trace data, the trace data including a plurality of keys and corresponding responses recorded from multiple threads, the corresponding responses previously recorded in the trace data by the pass-through server executing in a recording mode based at least in part on responses by the backend resource to requests from the application at specified execution phases; and using the key to locate, in the trace data, the response corresponding to the request; relaying, by the pass-through server executing in the replay mode, the identified response to the application; and repeating the identifying and relaying using second trace data different than the trace data, the second trace data recorded based in least in part on responses by the backend resource to requests from the application at specified execution phases. 2. The method of claim 1 , further comprising: receiving, at the pass-through server executing in the recording mode, a request directed to the backend resource, the receiving from the application; relaying, by the pass-through server executing in the recording mode, the request to the backend resource, the backend resource communicatively coupled to the pass-through server; receiving, by the pass-through server executing in the recording mode, from the backend resource, the response to the request; relaying, by the pass-through server executing in the recording mode, the response to the application; determining, by the pass-through server executing in the recording mode, the current execution phase of the application; and storing in the trace data, by the pass-through server executing in the recording mode, the identifier of the current execution phase of the application and at least a subset of the request as the key, and the response as the corresponding response. 3. The method of claim 1 , wherein the determining a current execution phase of the application includes receiving the identifier of the current execution phase from the application. 4. The method of claim 1 , wherein the application is communicatively coupled to a plurality of pass-through servers to communicate with a plurality of backend resources. 5. The method of claim 1 , wherein the key is a unique key. 6. The method of claim 1 , wherein prior to the receiving, the application is started at an intermediate state. 7. The method of claim 1 , wherein the request is an application programming interface (API) call. 8. A system, comprising: a memory having computer readable instructions; and a processor for executing the computer readable instructions, the computer readable instructions including instructions for: receiving, at a pass-through server executing in a replay mode, a request directed to a backend resource, the receiving from an application that is communicatively coupled to the pass-through server; determining, by the pass-through server executing in the replay mode, a current execution phase of the application; identifying, by the pass-through server executing in the replay mode, a response that corresponds to the request, the identifying including: forming a unique key that consists of an identifier of the current execution phase of the application and at least a subset of the request; accessing trace data, the trace data including a plurality of keys and corresponding responses recorded from multiple threads, the corresponding responses previously recorded in the trace by the pass-through server executing in a recording mode based at least in part on responses by the backend resource to requests from the application at specified execution phases; and using the key to locate, in the trace data, the response corresponding to the request; and relaying, by the pass-through server executing in the replay mode, the identified response to the application; and repeating the identifying and relaying using second trace data different than the trace data, the second trace data recorded based in least in part on responses by the backend resource to requests from the application at specified execution phases. 9. The system of claim 8 , wherein the computer readable instructions further include instructions for: receiving, at the pass-through server executing in the recording mode, a request directed to the backend resource, the receiving from the application; relaying, by the pass-through server executing in the recording mode, the request to the backend resource, the backend resource communicatively coupled to the pass-through server; receiving, by the pass-through server executing in the recording mode, from the backend resource, the response to the request; relaying, by the pass-through server executing in the recording mode, the response to the application; determining, by the pass-through server executing in the recording mode, the current execution phase of the application; and storing in the trace data, by the pass-through server executing in the recording mode, the identifier of the current execution phase of the application and at least a subset of the request as the key, and the response as the corresponding response. 10. The system of claim 8 , wherein the determining a current execution phase of the application includes receiving the identifier of the current execution phase from the application. 11. The system of claim 8 , wherein the application is communicatively coupled to a plurality of pass-through servers to communicate with a plurality of backend resources. 12. The system of claim 8 , wherein the key is a unique key. 13. The system of claim 8 , wherein prior to the receiving, the application is started at an intermediate state. 14. The system of claim 8 , wherein the request is an application programming interface (API) call. 15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform: receiving, at a pass-through server executing in a replay mode, a request directed to a backend resource, the receiving from an application that is communicatively coupled to the pass-through server; determining, by the pass-through server executing in the replay mode, a current execution phase of the application; identifying, by the pass-through server executing in the replay mode, a response that corresponds to the request, the identifying including: forming a unique key that consists of an identifier of the current execution phase of the application and at least a subset of the request; accessing trace data, the trace data including a plurality of keys and corresponding responses recorded from multiple threads, the corresponding responses previously recorded in the trace by the pass-through server executing in a recording mode based at least in part on responses by the backend resource to requests from the application at specified execution phases; and using the key to locate, in the trace data, the r

Assignees

Inventors

Classifications

  • by tracing the execution of the program · 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 US10579502B2 cover?
Aspects include receiving, at a pass-through server executing in a replay mode, a request directed to a backend resource. The request is received from an application that is connected to the pass-through server. The pass-through server executing in the replay mode identifies a response that corresponds to the request by: forming a key that includes an identifier of the current execution phase o…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3636. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 03 2020 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).