ADAPTIVE COMMUNICATION PROTOCOL FOR WIRELESS NETWORKS
First Claim
1. A method, comprising activating a node of a computer network such that the node first attempts to establish contact with other nodes that may exist within the computer network by cycling through a set of common channels for communication within the computer network, the node at each channel attempting to establish contact by transmitting a request packet including a code identifying the network thereon and, after transmitting a request packet on one of the common channels, the node listens for a response packet before proceeding to a next one of the common channels, wherein upon receiving a response packet including the code identifying the network first transmitted by the request packet from one of the other nodes, the node enters a synchronization mode and joins the computer network and, if unsuccessful in establishing contact with other nodes, then the node establishes itself as a single node network.
5 Assignments
0 Petitions
Accused Products
Abstract
A communication protocol that provides link-level and media access control (MAC) level functions for wireless (e.g., ad-hoc) networks and is robust to mobility or other dynamics, and for scaling to dense networks. In a mobile or otherwise dynamic network, any control-packet collisions will be only temporary and fair. In a dense network, the network performance degrades gracefully, ensuring that only a certain percentage of the common channel is consumed with control packets. The integrated protocol allows packets (e.g., data scheduling control packets) to be scheduled in a collision-free and predictable manner (known to all neighbors), multicast packets can be reliably scheduled, as well as streams of delay- or delay-jitter-sensitive traffic. Further, using an optional network code, the scheduling of control packets can appear to observers to be randomized.
-
Citations
60 Claims
- 1. A method, comprising activating a node of a computer network such that the node first attempts to establish contact with other nodes that may exist within the computer network by cycling through a set of common channels for communication within the computer network, the node at each channel attempting to establish contact by transmitting a request packet including a code identifying the network thereon and, after transmitting a request packet on one of the common channels, the node listens for a response packet before proceeding to a next one of the common channels, wherein upon receiving a response packet including the code identifying the network first transmitted by the request packet from one of the other nodes, the node enters a synchronization mode and joins the computer network and, if unsuccessful in establishing contact with other nodes, then the node establishes itself as a single node network.
-
2. (canceled)
-
3. (canceled)
-
5. (canceled)
-
6. A method, comprising activating a node of a computer network such that the node first attempts to establish contact with other nodes that may exist within the computer network by cycling through a set of common channels for communication within the computer network, the node at each channel attempting to establish contact by transmitting a request packet including a code identifying the network thereon and, after transmitting a request packet on one of the common channels, the node listens for a response packet before proceeding to a next one of the common channels, wherein upon receiving a response packet including the code identifying the network first transmitted by the request packet from one of the other nodes, the node enters a synchronization mode and joins the computer network and, if unsuccessful in establishing contact with other nodes, then the node establishes itself as a single node network,
wherein the response packet includes a parameter specifying time with the computer network.
-
7. (canceled)
-
8. (canceled)
-
11. A method, comprising activating a node of a computer network such that the node first attempts to establish contact with other nodes that may exist within the computer network by cycling through a set of common channels for communication within the computer network, the node at each channel attempting to establish contact by transmitting a request packet including a code identifying the network thereon and, after transmitting a request packet on one of the common channels, the node listens for a response packet before proceeding to a next one of the common channels, wherein upon receiving a response packet including the code identifying the network first transmitted by the request packet from one of the other nodes, the node enters a synchronization mode and joins the computer network and, if unsuccessful in establishing contact with other nodes, then the node establishes itself as a single node network,
wherein while the node is established as a single node network, the node listens for attempts by further nodes to join a network; -
upon detecting one or more attempts by the further nodes to join a network, the node transmits a response thereto; and
the response includes an indication of time within the single node network. - View Dependent Claims (12)
-
-
13. (canceled)
-
14. (canceled)
-
15. (canceled)
-
16. A method comprising:
-
receiving, at first node of a computer network, a packet from a second node of the computer network;
using information contained in the packet from the second node in determining whether or not to adjust a time at the first node according to whether a priority of the second node is lesser or greater than a priority of the first node;
adjusting the time at the first node only if the priority of the second node is greater than the priority of the first node; and
not adjusting the time at the first node if the priority of the second node is less than or equal to the priority of the first node, wherein the information contained in the packet from the second node includes an indication of time within the computer network according to the second node, wherein if both the first and second nodes are not locked, then the priority of the second node is greater than the priority of the first node if the indication of time of the second node is greater than the time at the first node. - View Dependent Claims (17, 18, 60)
-
- 19. A method, comprising computing a transmission time for a packet from a first node of a computer network according to the identification of the node and an indication of the network age up to the start of a current frame within which the packet is to be transmitted and, wherein the computing is performed using a function that provides a varying distribution of results for varying inputs of the identification of the first node and the age of the network, the results ranging from a minimum to a maximum representing a number of transmission slots per frame within which a control packet may be transmitted.
-
20. (canceled)
-
22. (canceled)
- 26. A method, comprising computing a transmission time for a packet from a first node of a computer network according to the identification of the node and an indication of the network age up to the start of a current frame within which the packet is to be transmitted, wherein the computing is performed using a table of entries of pseudorandom values.
- 33. A method, comprising computing a transmission time for a packet from a first node of a computer network according to the identification of the node and an indication of the network age up to the start of a current frame within which the packet is to be transmitted, further comprising computing, at the first node, transmission times for other nodes that are within a two-hop neighborhood of the first node in the computer network using unique identifiers for each of the other nodes and the network age, wherein computing transmission times for the other nodes is accomplished using a function that is also used for computing the transmission time for the first node, wherein the first node resolves contentions for transmission times between itself and any of the other nodes according to a priority determination which uses a function that provides a unique output for various identification and network age inputs.
-
45. A method, comprising computing a transmission time for a packet from a first node of a computer network according to the identification of the node and an indication of the network age up to the start of a current frame within which the packet is to be transmitted, wherein the packet comprises a network control packet which advertises a schedule for a data transmission, and the schedule includes a persistence indicator.
- 46. A method, comprising computing a transmission time for a packet from a first node of a computer network according to the identification of the node and an indication of the network age up to the start of a current frame within which the packet is to be transmitted, wherein the packet comprises a network control packet which advertises a schedule for a data transmission and the schedule includes an identification of one or more nodes to receive the data transmission, wherein the nodes to receive the data transmission are identified by local identifiers being smaller than network identifiers associated with the nodes.
-
48. (canceled)
- 49. A method, comprising computing a transmission time for a packet from a first node of a computer network according to the identification of the node and an indication of the network age up to the start of a current frame with which the packet is to be transmitted, further comprising computing, at the first node, transmission times for other nodes that are within a two-hop neighborhood of the first node in the computer network using unique identifiers for each of the other nodes and the network age, wherein computing transmission times for the other nodes is accomplished using a function that is also used for computing the transmission time for the first node, wherein the first node resolves contention for transmission times between itself and any of the other nodes according to a priority determination and the priority determination is made using a table of pseudorandom values.
- 52. A method, comprising using a topology-independent scheduling procedure utilizing an age of the network and unique identifiers for each node of the network to determine the candidate packet transmission times within a computer network for each of the nodes therein and a topology-dependent scheduling procedure to avoid collisions in contended time periods, wherein the topology-independent scheduling procedure computes the candidate transmission times for each of the nodes using a function that provides various distribution of outputs for various sampling of inputs.
-
53. (canceled)
-
54. (canceled)
Specification