Determining MAC state using sequence numbers in a distributed environment
AssigneeJuniper Networks, Inc.
InventorsSanjiv Doshi, Rajagopalan Subbiah, Apurva Mehta, Kumar Mehta
Life of this patent
Estimating the term…
Abstract
A derived state value is calculated based on a plurality of component state values. As any of the plurality of component state values changes, the derived state value is recalculated. When sending information about a MAC address or other data between two components, the derived state value is included in the information sent. An object receiving a MAC address or other data from another object checks the validity of the received derived state value to determine whether to accept the new data and flush old data, to accept the new data, or to ignore the new data.
Claims29
A method of determining state in a distributed environment of one or more network devices, comprising:
- generating a plurality of object state values in a network device, one for each of a plurality of objects;
- combining the plurality of object state values into a derived state value;
- updating the derived state value in a first object of the plurality of object state values;
- detecting a change in the derived state value by a second object of the plurality of objects;
- flushing a datum associated with the second object responsive to detecting the change in the derived state value,
- wherein the first object and the second object can be the same object and;
- wherein detecting a change in the derived state value by the second object of the plurality of objects comprises:
- determining whether an updated derived state value is valid;
- and
- wherein the updated derived state value is valid if the absolute value of the difference between the updated derived state value and the derived state value is less than one-half the number of possible derived state values.
A method of determining state in a distributed computer environment of one or more network devices, comprising:
- generating a plurality of object state values in a network device, one for each of a plurality of objects;
- combining the plurality of object state values into a derived state value;
- updating the derived state value in a first object of the plurality of object state values;
- detecting a change in the derived state value by a second object of the plurality of objects;
- flushing a datum associated with the second object responsive to detecting the change in the derived state value,
- wherein the first object and the second object can be the same object;
- wherein each of the plurality of object state values has an associated object state characteristic,
- wherein the object state characteristic of a first object state value of the plurality of the object state values can be different from the object state characteristic of a second object state value of the plurality of object state values;
- wherein the derived state value has an associated global state characteristic;
- and
- wherein the characteristic of the derived state value is dependent on the object state characteristics of all dependent objects.
A method for managing a datum in a distributed environment of one or more network devices, comprising:
- creating a plurality of objects in the distributed environment;
- assigning an object state value to each of the plurality of objects;
- computing a first derived state value from the object state values assigned to each of the plurality of objects in a network device;
- associating the first derived state value with a first datum;
- receiving a second datum and an associated second derived state value;
- determining whether the second derived state value is valid,
- and
- determining whether to flush the first datum responsive to a comparison between the first derived state value and the second derived state value;
- wherein the second derived state value is valid if the absolute difference between the first derived state value and the second derived state value is less than or equal to one half the number of possible derived state values.
A networking device, comprising:
- a plurality of processing elements;
- an object state value associated with each of the plurality of processing elements;
- a derived state value derived from a combination of the object state values;
- a storage medium, configured to store a series of instructions, which when executed cause one of the plurality of processing elements to perform actions comprising:
- detecting a change in the derived state value by a first processing element of plurality of processing elements;
- determining whether an updated derived state value is valid;
- and
- flushing a datum associated with the first processing element responsive to detecting the change in the derived state value;
- wherein the updated derived state value is valid if the derived state value is less than the updated derived state value, and
- wherein the updated derived state value is valid if the absolute value of the difference between the updated derived state value and the derived state value is less than one half the number of possible derived state values, and
- wherein flushing a datum associated with the first processing element responsive to detecting the change in the derived state value only flushes the datum if the updated derived state value is valid.
Dependencies are inferred from the claim text.