Executing loops
First Claim
1. A method of executing a loop computer program comprising:
- receiving at an execution unit a set of state variables which define an entry state, wherein one of the state variables defines a sequence of loop options;
recording the entry state in a storage unit; and
in the execution unit, executing a first loop option in the ordered sequence of loop options in the entry state, using as parameters at least one of the other state variables in the set of state variables, wherein executing the first loop option comprises cancelling the first loop option from the ordered sequence, carrying out processing steps using at least one state variable, and determining if any of the state variables have altered as a result of the processing steps, wherein;
if none of the state variables have altered, entering a next loop iteration with an entry state in which the first loop option is cancelled from the ordered sequence, revealing a new first loop option, andif at least one of the state variables has altered, reinstating the cancelled first loop option in the ordered sequence and entering a next loop iteration with an entry state defined by the altered state variable(s) and the original ordered sequence,whereby each next loop iteration receives a new entry state,wherein one of the state variables is a routing network address and a further one of the state variables is a switching address,wherein an option determines if the routing address in the entry state is on the focus device of the entry state and if not uses a mapping table to translate the routing address to a switching address, andwherein the switching address is used to access a forwarding database to locate an egress port.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of executing a loop computer program comprising receiving at an execution unit a set of state variables which define an entry state, wherein one of the state variables defines a sequence of loop options; recording the entry state in a storage unit; in the execution unit, executing a first loop option in the ordered sequence of loop options in the entry state, using as parameters at least one of the other state variables in the set of state variables, wherein executing the first loop option comprises cancelling the first loop option from the ordered sequence, carrying out processing steps using at least one state variable, and determining if any of the state variables have altered as a result of the processing steps, wherein if none of the state variables have altered, entering a next loop iteration with an entry state in which the first loop option is cancelled from the ordered sequence, revealing a new first loop option, and; if at least one of the state variables has altered, reinstating the cancelled first loop option in the ordered sequence and entering a next loop iteration with an entry state defined by the altered state variable(s) and the original ordered sequence, whereby each next loop iteration receives a new entry state.
-
Citations
3 Claims
-
1. A method of executing a loop computer program comprising:
-
receiving at an execution unit a set of state variables which define an entry state, wherein one of the state variables defines a sequence of loop options; recording the entry state in a storage unit; and in the execution unit, executing a first loop option in the ordered sequence of loop options in the entry state, using as parameters at least one of the other state variables in the set of state variables, wherein executing the first loop option comprises cancelling the first loop option from the ordered sequence, carrying out processing steps using at least one state variable, and determining if any of the state variables have altered as a result of the processing steps, wherein; if none of the state variables have altered, entering a next loop iteration with an entry state in which the first loop option is cancelled from the ordered sequence, revealing a new first loop option, and if at least one of the state variables has altered, reinstating the cancelled first loop option in the ordered sequence and entering a next loop iteration with an entry state defined by the altered state variable(s) and the original ordered sequence, whereby each next loop iteration receives a new entry state, wherein one of the state variables is a routing network address and a further one of the state variables is a switching address, wherein an option determines if the routing address in the entry state is on the focus device of the entry state and if not uses a mapping table to translate the routing address to a switching address, and wherein the switching address is used to access a forwarding database to locate an egress port.
-
-
2. A method of executing a loop computer program comprising:
-
receiving at an execution unit a set of state variables which define an entry state, wherein one of the state variables defines a sequence of loop options; recording the entry state in a storage unit; and in the execution unit, executing a first loop option in the ordered sequence of loop options in the entry state, using as parameters at least one of the other state variables in the set of state variables, wherein executing the first loop option comprises cancelling the first loop option from the ordered sequence, carrying out processing steps using at least one state variable, and determining if any of the state variables have altered as a result of the processing steps, wherein; if none of the state variables have altered, entering a next loop iteration with an entry state in which the first loop option is cancelled from the ordered sequence, revealing a new first loop option, and if at least one of the state variables has altered, reinstating the cancelled first loop option in the ordered sequence and entering a next loop iteration with an entry state defined by the altered state variable(s) and the original ordered sequence, whereby each next loop iteration receives a new entry state, wherein one of the state variables is a routing network address and a further one of the state variables is a switching address, wherein an option locates in a mapping table a mapping entry between the routing address and switching address in the entry state (or new entry state), uses the mapping entry to determine from which interface the mapping entry was derived, and thus derives an egress port.
-
-
3. A computer implemented method of identifying in a network of interconnected devices a path through the network from a source device to a final destination device, the path comprising a connected sequence of devices, the method comprising:
-
at a monitor computer connected to the network, executing a loop computer program comprising; receiving at an execution unit a set of state variables which define an entry state, wherein one of the state variables defines a sequence of loop options; recording the entry state in a storage unit; and in the execution unit, executing a first loop option in the ordered sequence of loop options in the entry state, using as parameters at least one of the other state variables in the set of state variables, wherein executing the first loop option comprises cancelling the first loop option from the ordered sequence, carrying out processing steps using at least one state variable, and determining if any of the state variables have altered as a result of the processing steps, wherein; if none of the state variables have altered, entering a next loop iteration with an entry state in which the first loop option is cancelled from the ordered sequence, revealing a new first loop option, and if at least one of the state variables has altered, reinstating the cancelled first loop option in the ordered sequence and entering a next loop iteration with an entry state defined by the altered state variable(s) and the original ordered sequence, whereby each next loop iteration receives a new entry state; and further at the monitor computer, using the loop computer program to implement the steps of; identifying a first device connected to the source device; transmitting a first query to the first device, the query including a destination identifier and requesting identification of an egress port for messages addressed to the destination identified by the destination identifier when the query is received at the first device; receiving a result message identifying the egress port and identifying the second device connected to the first device based on a network topology accessible by the monitor computer; and addressing a next query to the second device and receiving a next result message identifying an egress port from the second device; and identifying from the network topology a third device connected to the second device, wherein the path is identified to include the first, second and third devices.
-
Specification