Connection minimization for distributed system
First Claim
1. A method of minimizing edges in a directed graph representing a distributed system, the method comprising:
- using a representational state transfer application program interface (REST API) including a plurality of resource nodes of the directed graph representing resources identified by uniform resource indicators (URIs) and a plurality of edges of the directed graph representing a plurality of hyperlinks between the resources, traversing paths in the directed graph including;
performing a distinct walk procedure to determine all distinct paths in the directed graph; and
performing a random walk procedure including;
starting from an entry node of the directed graph, selecting an edge at random;
moving to a node coupled by the selected edge and repeating random selection of an edge until a predefined path length is reached or no edge exists from the node coupled by the selected edge;
storing each selected edge; and
repeating selecting an edge at random from the entry node, moving, and repeating selection of an edge until a selected number of paths is obtained;
simulating a client accessing the resources, the simulated client selecting, at each node, one of the stored edges instead of an edge that was not encountered in the random walk procedure; and
identifying as excessive edges, edges that are not used by any of the selected number of paths, wherein the excessive edges are removable from the distributed system without preventing client access to resources in the distributed system.
1 Assignment
0 Petitions
Accused Products
Abstract
A method computer implemented method of minimizing connections in a distributed system includes traversing paths in a directed graph representation of the distributed system having a fixed set of paths between nodes representing resources of the distributed system and edges representing connections between the resources by performing a random walk procedure to provide a reduced number of paths in the directed graph representation, and identifying excessive connections between the resources by simulating a client accessing the resources and identifying as excessive, connections that are not used by any of the reduced number of paths, wherein the excessive connections are removable from the distributed system without preventing client access to resources in the distributed system.
14 Citations
12 Claims
-
1. A method of minimizing edges in a directed graph representing a distributed system, the method comprising:
-
using a representational state transfer application program interface (REST API) including a plurality of resource nodes of the directed graph representing resources identified by uniform resource indicators (URIs) and a plurality of edges of the directed graph representing a plurality of hyperlinks between the resources, traversing paths in the directed graph including; performing a distinct walk procedure to determine all distinct paths in the directed graph; and performing a random walk procedure including; starting from an entry node of the directed graph, selecting an edge at random; moving to a node coupled by the selected edge and repeating random selection of an edge until a predefined path length is reached or no edge exists from the node coupled by the selected edge; storing each selected edge; and repeating selecting an edge at random from the entry node, moving, and repeating selection of an edge until a selected number of paths is obtained; simulating a client accessing the resources, the simulated client selecting, at each node, one of the stored edges instead of an edge that was not encountered in the random walk procedure; and identifying as excessive edges, edges that are not used by any of the selected number of paths, wherein the excessive edges are removable from the distributed system without preventing client access to resources in the distributed system. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A device comprising:
-
a non-transitory memory storage comprising instructions; and one or more processors in communication with the memory, wherein the one or more processors execute instructions to perform operations including; using a representational state transfer application program interface (REST API) including a plurality of resource nodes of a directed graph representing resources identified by uniform resource indicators (URIs) and a plurality of edges of the directed graph representing a plurality of hyperlinks between the resources, traversing paths in a directed graph including; performing a distinct walk procedure to determine all distinct paths in the directed graph; and performing a random walk procedure including; starting from an entry node of the directed graph, selecting an edge at random; moving to a node coupled by the selected edge and repeating random selection of an edge until a predefined path length is reached or no edge exists from the node coupled by the selected edge; storing each selected edge; and repeating selecting an edge at random from the entry node, moving, and repeating selection of an edge until a selected number of paths is obtained; simulating a client accessing the resources, the simulated client selecting, at each node, one of the stored edges instead of an edge that was not encountered in the random walk procedure; and identifying as excessive edges, edges that are not used by any of the selected number of paths, wherein the excessive edges are removable from a distributed system without preventing client access to resources in the distributed system. - View Dependent Claims (9, 10, 11)
-
-
12. A system comprising:
-
a non-transitory storage device comprising instructions; and one or more processors in communication with the non-transitory storage device, wherein the one or more processors are configured by the instructions to process a resource oriented network (RON) directed graph representation of a distributed system, the instructions comprising; a REST API (Representational State Transfer Application Program Interface) stored on the non-transitory storage device the REST API including a plurality of resource nodes of the directed graph representing resources identified by uniform resource indicators (URIs) and a plurality of edges of the directed graph representing a plurality of hyperlinks between the resources; a distinct walk procedure, stored on the non-transitory storage device that conditions the one or more processors to determine all distinct paths in the RON; a random walk procedure stored on the storage device that conditions the one or more processors to perform a procedure comprising; starting from an entry node of the directed graph, selecting an edge at random; moving to a node coupled by the selected edge and repeating random selection of an edge until a predefined path length is reached or no edge exists from the node coupled by the selected edge; storing each selected edge; and repeating selecting an edge at random from the entry node, moving, and repeating selection of an edge until a selected number of paths is obtained; a client model stored on the non-transitory storage device, the client model including a cache-first policy that configures the one or more processors to select a stored edge instead of an edge that was not encountered in the random walk procedure and a recent-first policy that configures the one or more processors to select a more recently stored edge over a less recently stored edge to resolve ambiguous hypertext driven paths; and a minimization procedure stored on the non-transitory storage device to condition the one or more processors to identify excessive hyperlinks from the selected number of paths, such excessive hyperlinks corresponding to edges in the RON that are not used by any of the selected number of paths.
-
Specification