Augmenting functionality in distributed systems with payload headers
Assigneesalesforce.com, inc.
InventorAnkush Goyal
Life of this patent
Estimating the term…
Abstract
A method for data processing may include receiving a communication from a parent span, the communication including a data portion and a header portion. The header portion may include an identifier of an originating service that produced the communication, an identifier of a transaction for the communication, and an identifier of the parent span. The method may include identifying the parent span and the originating serviced based on the header portion. The method may also include performing a system trace process of the communication throughout the transaction based on the parent span and the originating service.
Claims20
A method for communication data processing, comprising:
- receiving, at a first span, a communication from a parent span, the communication comprising a data portion and a header portion, wherein the header portion comprises an identifier of an originating service that produced the communication, an identifier of a transaction for the communication, and an identifier of the parent span;
- identifying, at the first span, the parent span and the originating service based at least in part on the header portion, wherein the parent span immediately precedes the first span;
- unwrapping the header portion to process the data portion at the first span;
- modifying, at the first span, the header portion to identify the first span as a parent span for a second span subsequent to the first span in the transaction for the communication;
- wrapping the data portion that was previously wrapped with the header portion with the modified header portion, the modified header portion including an identification of the first span as the parent span for the second span;
- performing a system trace process of the communication throughout the transaction based at least in part on the parent span and the originating service;
- identifying, through the system trace process, that the originating service is transmitting an amount of data that is above a threshold;
- and
- throttling communications from the originating service based at least in part on the system trace process, wherein throttling comprises limiting a number of communications received from the originating service for a predetermined amount of time.
An apparatus for communication data processing, in a system comprising:
- a processor;
- memory in electronic communication with the processor;
- and
- instructions stored in the memory and operable, when executed by the processor, to cause the apparatus to:
- receive, at a first span, a communication from a parent span, the communication comprising a data portion and a header portion, wherein the header portion comprises an identifier of an originating service that produced the communication, an identifier of a transaction for the communication, and an identifier of the parent span;
- identify, at the first span, the parent span and the originating service based at least in part on the header portion, wherein the parent span immediately precedes the first span;
- unwrap the header portion to process the data portion at the first span;
- modify, at the first span, the header portion to identify the first span as a parent span for a second span subsequent to the first span in the transaction for the communication;
- wrap the data portion that was previously wrapped with the header portion with the modified header portion, the modified header portion including an identification of the first span as the parent span for the second span;
- perform a system trace process of the communication throughout the transaction based at least in part on the parent span and the originating service;
- identify, through the system trace process, that the originating service is transmitting an amount of data that is above a threshold;
- and
- throttle communications from the originating service based at least in part on the system trace process, wherein the instructions to throttle the communications are executable by the processor to limit a number of communications received from the originating service for a predetermined amount of time.
A non-transitory computer readable medium storing code for communication data processing, the code comprising instructions executable by a processor to:
- receive, at a first span, a communication from a parent span, the communication comprising a data portion and a header portion, wherein the header portion comprises an identifier of an originating service that produced the communication, an identifier of a transaction for the communication, and an identifier of the parent span;
- identify, at the first span, the parent span and the originating service based at least in part on the header portion, wherein the parent span immediately precedes the first span;
- unwrap the header portion to process the data portion at the first span;
- modify, at the first span, the header portion to identify the first span as a parent span for a second span subsequent to the first span in the transaction for the communication;
- wrap the data portion that was previously wrapped with the header portion with the modified header portion, the modified header portion including an identification of the first span as the parent span for the second span;
- perform a system trace process of the communication throughout the transaction based at least in part on the parent span and the originating service;
- identify, through the system trace process, that the originating service is transmitting an amount of data that is above a threshold;
- and
- throttle communications from the originating service based at least in part on the system trace process, wherein the instructions to throttle the communications are executable by the processor to limit a number of communications received from the originating service for an additional predetermined amount of time.
Dependencies are inferred from the claim text.