Distributed coordination of caching and processing by networking devices
First Claim
Patent Images
1. A method comprising:
- receiving, at a device along a path in a network, one or more data units that are to be forwarded by the device along the path;
identifying, by the device, an ingress and egress of the path by analyzing the one or more data units;
calculating, by the device, a hash value based on the one or more data units and using a hash function, wherein ranges of hash values generated by the hash function are assigned to different devices along the path a) based on the identified ingress and egress of the path and b) such that any given hash value generated by the hash function is assigned to a predefined number of the devices along the path;
determining, by the device, whether the calculated hash value is within a range of hash values assigned to the device; and
storing, by the device and in addition to forwarding the one or more data units along the path, data derived from the one or more data units, when the device determines that the calculated hash value is within the range of hash values assigned to the device.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a device in a network receives one or more data units. The device calculates a hash value based on the one or more data units and using a hash function. Ranges of hash values generated by the hash function are assigned to different devices along the path such that any given hash value generated by the hash function is assigned to a predefined number of the devices along the path. The device determines whether the calculated hash value is within the range of hash values assigned to the device. The device stores data derived from the one or more data units, when the device determines that the calculated hash value is within the range of hash values assigned to the device.
21 Citations
18 Claims
-
1. A method comprising:
-
receiving, at a device along a path in a network, one or more data units that are to be forwarded by the device along the path; identifying, by the device, an ingress and egress of the path by analyzing the one or more data units; calculating, by the device, a hash value based on the one or more data units and using a hash function, wherein ranges of hash values generated by the hash function are assigned to different devices along the path a) based on the identified ingress and egress of the path and b) such that any given hash value generated by the hash function is assigned to a predefined number of the devices along the path; determining, by the device, whether the calculated hash value is within a range of hash values assigned to the device; and storing, by the device and in addition to forwarding the one or more data units along the path, data derived from the one or more data units, when the device determines that the calculated hash value is within the range of hash values assigned to the device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus, comprising:
-
one or more network interfaces to communicate with a network; a processor coupled to the network interfaces and configured to execute one or more processes; and a memory configured to store a process executable by the processor, the process when executed configured to; receive one or more data units that are to be forwarded by the apparatus along a path in the network; identify an ingress and egress of the path by analyzing the one or more data units; calculate a hash value based on the one or more data units and using a hash function, wherein ranges of hash values generated by the hash function are assigned to different devices along the path a) based on the identified ingress and egress of the path and b) such that any given hash value generated by the hash function is assigned to a predefined number of the devices along the path; determine whether the calculated hash value is within a range of hash values assigned to the apparatus; and store, in addition to forwarding the one or more units along the path, data derived from the one or more data units, when the apparatus determines that the calculated hash value is within the range of hash values assigned to the apparatus. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A tangible, non-transitory, computer-readable media having software encoded thereon, the software when executed by a device along a path in a network cause the device to perform a process comprising:
-
receiving, at the device, one or more data units that are to be forwarded by the device along the path; identifying, by the device, an ingress and egress of the path by analyzing the one or more data units; calculating, by the device, a hash value based on the one or more data units and using a hash function, wherein ranges of hash values generated by the hash function are assigned to different devices along the path a) based on the identified ingress and egress of the path and b) such that any given hash value generated by the hash function is assigned to a predefined number of the devices along the path; determining, by the device, whether the calculated hash value is within a range of hash values assigned to the device; and storing, by the device and in addition to forwarding the one or more data units along the path, data derived from the one or more data units, when the device determines that the calculated hash value is within the range of hash values assigned to the device.
-
Specification