Synchronization protocol in a cloud computing environment
AssigneeCrowdStrike, Inc.
InventorsNeil Alva, Sorin Otescu, Shriram Vishwanathan
Life of this patent
Estimating the term…
Abstract
Techniques for exchanging data between a host device and a computing device in a cloud computing environment using a protocol are discussed herein. The protocol can, for example, define a schema for identifying and/or tracking data packets associated with one or more events at the host device. The techniques can include assigning information to the data packets that enable recovery of a data packet and/or arranging the data packets regardless of whether data packets are received out of order. The protocol can improve reliability of data exchanges and perform synchronization in less time and using fewer computational resources (than not implementing the techniques).
Claims20
A system comprising:
- one or more processors;
- and
- one or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform operations comprising:
- receiving, from a host device, a first data packet associated with a data file, the first data packet comprising a first identifier to identify the first data packet, a first payload, a first index value, and a total number of indexes associated with the data file;
- receiving, from the host device, a second data packet associated with the data file, the second data packet comprising a second identifier to identify the second data packet, a second payload, a second index value, and the total number of indexes associated with the data file;
- determining, based on the first index value, the second index value, and the total number of indexes associated with the data file, first data indicating that the first payload or the second payload is a last payload associated with the data file;
- determining an order for the first data packet relative to the second data packet based on the first index value, the second index value, and the first data indicating that the first payload or the second payload is the last payload associated with the data file;
- combining, as second data, the first payload of the first data packet and the second payload of the second data packet in the order;
- and
- storing, based on the first data indicating that the first payload or the second payload is the last payload, the second data in a storage device for access by a computing device configured to detect a potential malicious event in the second data.
One or more non-transitory computer-readable media storing instructions executable by one or more processors, wherein the instructions, when executed, cause the one or more processors to perform operations comprising:
- receiving first data from a first device, the first data representing a first portion of a data file in memory of the first device, the first data including a first identifier identifying the first data, a first payload, a first index value, and a total number of indexes value;
- receiving second data from the first device, the second data representing a second portion of the data file in the memory of the first device, the second data including a second identifier identifying the second data, a second payload, a second index value, and the total number of indexes value;
- determining, based at least in part on the first index value, the second index value, and the total number of indexes value, third data indicating that the first payload or the second payload is a last payload associated with the data file;
- determining an order for the first data relative to the second data based at least in part on the first index value and the second index value;
- combining, as fourth data, the first payload of the first data and the second payload of the second data in the order;
- and
- outputting, based on the third data indicating that the first payload or the second payload is the last payload, the fourth data to a second device configured to detect a potential malicious event in the fourth data.
A computer-implemented method comprising:
- receiving first data from a first device, the first data representing a first portion of a data file in memory of the first device, the first data including a first identifier identifying the first data, a first payload, a first index value, and a total number of indexes value;
- receiving second data from the first device, the second data representing a second portion of the data file in the memory of the first device, the second data including a second identifier identifying the second data, a second payload, a second index value, and the total number of indexes value;
- determining, based at least in part on the first index value, the second index value, and the total number of indexes value, third data indicating that the first payload or the second payload is a last payload associated with the data file;
- determining an order for the first data relative to the second data based at least in part on the first index value and the second index value;
- combining, as fourth data, the first payload of the first data and the second payload of the second data in the order;
- and
- outputting, based on the third data indicating that the first payload or the second payload is the last payload, the fourth data to a second device configured to detect a potential malicious event in the fourth data.
Dependencies are inferred from the claim text.