Partitioning a temporal graph for distributed storage
AssigneeCisco Technology, Inc.
InventorsBhalaji Narayanan, Arun Kumar Raghavendra, Ramesh Nethi, Venkata Lakshmi Narayana Mehar Simhadri
Life of this patent
Estimating the term…
Abstract
In one embodiment, present disclosure discloses a method for partitioning a temporal graph is described. Embodiments of the method comprises creating a plurality of storage blocks for each type of the different types of graph elements based on predefined label groups, each of the plurality of storage blocks configured to store the telemetry information generated in a corresponding predefined time-range, recreating each of the plurality of storage blocks upon expiry of a configurable rollover time, and sharding each of the plurality of storage blocks into a plurality of shards based on a configurable sharding count.
Claims20
A method comprising:
- partitioning a temporal graph comprising different types of graph elements including vertices and edges, for storing telemetry information of a computer network, the partitioning comprising:
- creating a plurality of storage blocks for each type of the different types of graph elements based on predefined label groups, wherein each of the plurality of storage blocks is configured to store the telemetry information generated in a corresponding predefined time-range, wherein each of the plurality of storage blocks are recreated upon expiry of a configurable rollover time;
- and
- sharding each of the plurality of storage blocks into a plurality of shards based on a configurable sharding count.
A method comprising:
- receiving telemetry information of a computer network for storing in a temporal graph comprising different types of graph elements including vertices and edges, wherein the temporal graph is partitioned into a plurality of storage blocks for storing each type of the different types of graph elements, wherein each of the plurality of storage blocks are partitioned into a plurality of shards;
- extracting information comprising type of the graph elements, labels corresponding to the graph elements and element identifiers corresponding to the labels of the graph elements, from the telemetry information;
- identifying one or more storage blocks from the plurality of storage blocks based on the labels corresponding to the graph elements;
- identifying one or more shards from the plurality of shards, comprised in the identified one or more storage blocks, based on the element identifiers corresponding to the labels of the graph elements;
- and
- writing the telemetry information into the identified one or more shards of the plurality of shards.
A computer system comprising:
- one or more processors;
- one or more non-transitory computer-readable media storing instructions which, when executed by the one or more processors, cause:
- partitioning a temporal graph, comprising different types of graph elements including vertices and edges, to store telemetry information of a computer network, the partitioning comprising:
- creating a plurality of storage blocks for each type of the different types of graph elements based on predefined label groups, wherein each of the plurality of storage blocks is configured to store the telemetry information generated in a corresponding predefined time-range;
- wherein each of the plurality of storage blocks are recreated upon expiry of a configurable rollover time;
- and
- sharding each of the plurality of storage blocks into a plurality of shards based on a configurable sharding count.
Dependencies are inferred from the claim text.