US2018217924A1PendingUtilityA1

Transactional boundaries for virtualization within a software system

Assignee: CA INCPriority: Mar 30, 2016Filed: Mar 28, 2018Published: Aug 2, 2018
Est. expiryMar 30, 2036(~9.7 yrs left)· nominal 20-yr term from priority
G06F 11/3608G06F 11/3696G06F 11/3698
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Transaction data is received identifying characteristics of a particular transaction involving the first software component and a second software component as observed by an agent during operation of the system. The particular transaction is contemporaneous with another transaction involving software components in the system. It is determined, from the transaction data, that the particular transaction falls within a defined transaction boundary for the system and the other transaction falls outside the transaction boundary. A virtual service is instantiated for use in the particular transaction that simulates responses of a particular software component of the system. Another software component of the system interacts with the virtual service in the particular transaction based on the particular transaction falling within the transaction boundary, and the other software component interacts with the particular software component in the other transaction based on the other transaction falling outside the transaction boundary.

Claims

exact text as granted — not AI-modified
1 . A method comprising:
 receiving transaction data from a software-based agent instrumented on a first software component in a system comprising a plurality of software components, wherein the transaction data identifies characteristics of a particular transaction involving the first software component and a second software component in the plurality of software components as observed by the agent during operation of the system, the plurality of software components comprise a default first version of the second software component and a modified second version of the second software component, and the particular transaction is contemporaneous with another transaction involving software components in the system;   using a data processing apparatus to determine, from the transaction data, that the particular transaction falls within a defined transaction boundary for the system, wherein transactions meeting a set of conditions fall within the transaction boundary, the other transaction falls outside the transaction boundary, and each of the particular transaction and the other transaction comprises a respective request of the second software component and the second software component is to generate a corresponding response to the respective request;   directing the request by the first software component in the particular transaction from the first version of the software component to the second version of the software component based on determining that the particular transaction falls within the transaction boundary; and   allowing the request in the other transaction to proceed to the first version of the second software component based on the other transaction falling outside the transaction boundary.   
     
     
         2 . The method of  claim 1 , wherein the request of the second software component in the other transaction is also by the first software component. 
     
     
         3 . The method of  claim 1 , wherein the characteristics comprise an indication of a session involving a particular user and the transaction boundary defines transactions within sessions involving the particular user. 
     
     
         4 . The method of  claim 3 , wherein transaction boundary defines transactions within sessions of any one of a particular group of users comprising the particular user. 
     
     
         5 . The method of  claim 3 , wherein the first software component receives a session identifier corresponding to the particular user and the second software component does not receive the session identifier. 
     
     
         6 . The method of  claim 3 , wherein the particular transaction comprises a plurality of transaction fragments, the transaction data comprises first transaction data describing a first one of the plurality of transaction fragments, and the method further comprises:
 receiving second transaction data from another agent, wherein the second transaction data identifies characteristics of a second one of the plurality of transaction fragments;   determining, from the characteristics of the second transaction fragment, that the first and second transaction fragments are fragments of the particular transaction; and   determining that the second transaction fragment is in the session.   
     
     
         7 . The method of  claim 6 , wherein the second transaction fragment involves the second software component and a third one of the plurality of software components. 
     
     
         8 . The method of  claim 3 , wherein the particular user is one of a plurality of users accessing the system. 
     
     
         9 . The method of  claim 1 , wherein the characteristics comprise a particular value being included in an original request of the particular transaction. 
     
     
         10 . The method of  claim 9 , wherein the original request precedes the request by the first software component of the second software component. 
     
     
         11 . The method of  claim 1 , wherein the characteristics comprise the transaction being invoked by a particular background process. 
     
     
         12 . The method of  claim 1 , wherein the characteristics comprise size of a particular request in the transaction being in excess of a threshold. 
     
     
         13 . The method of  claim 1 , wherein the particular transaction and the other transaction are transactions of a particular type. 
     
     
         14 . The method of  claim 13 , wherein the first software component is to send a request with a particular command to the second software component in transactions of the particular type. 
     
     
         15 . The method of  claim 1 , wherein the second version of the second software component comprises a patch, and functionality of the second version of the second software component is different from the first version of the second software component based on the patch, and the first version of the second software component operates differently from the second version of the second software component in response to requests based on the patch. 
     
     
         16 . The method of  claim 15 , wherein the patch enables pre-production functionality to be added to the second software component, and the particular transaction comprises a test transaction. 
     
     
         17 . The method of  claim 1 , wherein the second version of the second software component is only to be used in transactions falling within the transaction boundary. 
     
     
         18 . A non-transitory computer readable medium having program instructions stored therein, wherein the program instructions are executable by a computer system to perform operations comprising:
 accessing transaction data generated by a software-based agent instrumented on a particular software component in a system comprising a plurality of software components, wherein the transaction data identifies characteristics of a particular transaction comprising a request by first software component directed to a second software component in the plurality of software components as observed by the agent during operation of the system, and the particular transaction is contemporaneous with another transaction involving software components in the system;   determining, from the transaction data, that the particular transaction falls within a defined transaction boundary for the system, wherein transactions meeting a set of conditions fall within the transaction boundary, the other transaction falls outside the transaction boundary, and each of the particular transaction and the other transaction comprises a respective request of the second software component and the second software component is to generate a corresponding response to the respective request;   selectively applying a patch to the second software component during the particular transaction based on determining that the particular transaction falls within the transaction boundary, wherein the patch is not applied in the other transaction based on the other transaction falling outside the transaction boundary.   
     
     
         19 . A system comprising:
 a data processor;   a memory;   an agent manager to:
 receive transaction data from a software-based agent instrumented on a particular software component in the system, wherein the transaction data identifies characteristics of a particular transaction involving at least a portion of the plurality of software components as observed by the agent during operation of the system, and the particular transaction is contemporaneous with another transaction involving the portion of the plurality of software components; and 
   a path manager, executable by the data processor to:
 determine, from the transaction data, that the particular transaction falls within a defined transaction boundary for the system, wherein transactions meeting a set of conditions fall within the transaction boundary, and the other transaction falls outside the transaction boundary; 
 cause a first one of the plurality of software components to interact with a patched version of a second software component in the particular transaction based on the particular transaction falling within the transaction boundary; and 
 cause requests of the second software component to be handled by an unpatched version of the second software component in the other transaction based on the other transaction falling outside the transaction boundary. 
   
     
     
         20 . The system of  claim 19 , further comprising a plurality of agents instrumented on the plurality of software components, wherein the plurality of agents comprises the agent.

Join the waitlist — get patent alerts

Track US2018217924A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.