WO0048367A2

Adaptive communication protocol for wireless networks

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.

WO0048367A2, drawing sheet 1
Sheet 1 of 7

Term

No projected expiry on record.

  1. Priority and filed
  2. Published
  3. Today

58 claims: 4 independent, 54 dependent

  1. 1
    CLAIMS What is claimed is: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 and, if unsuccessful in doing so, then establishes itself as a single node network.
  2. 9
    10. The method of claim 9 wherein upon detecting one or more attempts by the further nodes to join a network, the node transmits a response thereto.
  3. 10
    11. The method of claim 10 wherein the response includes an indication of time within the single node network.
  4. 12
    13. A method, comprising:receiving, at a first node of a computer network, an indication of time within the computer network according to a second node of the computer network;and determining whether to adjust the time at the first node according to whether the indication of time received from the second node is younger or older than the time at the first node.
  5. 13
    14. The method of claim 13 wherein the time at the first node is only adjusted if the indication of time received from the second node is older than the time at the first node.
  6. 14
    15. The method of claim 14 wherein the indication of time received from the second node is augmented for delays within the computer network before determining whether to adjust time at the first node.
  7. 15
    16. The method of claim 15 wherein if the indication of time received from the second node differs from the time at the first node by more than a predetermined threshold amount, the first node determines whether the first node or the second node has priority over the other and adjusts the time at the first node only if the second node has priority.
  8. 16
    17. The method of claim 16 wherein the first node first transmits a Transition Request packet before adjusting the time at the first node.
  9. 17
    18. The method of claim 17 wherein nodes synchronized with the first node receive the Transition Request packet from the first node and adjust corresponding local times according to a time specified in the Transition Request packet.
  10. 18
    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 the age of the network.
  11. 19
    20. The method of claim 19 wherein the age of the network comprises an indication of the network age up to the start of a current frame within which the packet is to be transmitted.
  12. 20
    21. The method of claim 20 wherein the packet comprises a network control packet.
  13. 22
    23. The method of claim 22 wherein the function comprises an encryption function.
  14. 24
    25. The method of claim 24 wherein the hash function comprises the MD5 hash function.
  15. 26
    27. The method of claim 26 wherein the pseudorandom values represent transmission slots within the frame within which the control packet may be transmitted.
  16. 28
    29. The method of claim 28 wherein computing transmission times for the other nodes is performed using unique identifiers for each of the other nodes and the network age.
  17. 29
    30. The method of claim 29 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.
  18. 30
    31. The method of claim 30 wherein the other nodes are all within a two-hop neighborhood of the first node in the computer network.
  19. 31
    32. The method of claim 31 wherein the first node resolves contentions for transmission times between itself and any of the other nodes according to a priority determination.
  20. 32
    33. The method of claim 32 wherein the priority determination is made using a function that provides a unique output for varying identification and network age inputs.
  21. 33
    34. The method of claim 33 wherein the function comprises an encryption algorithm.
  22. 36
    37. The method of claim 36 wherein the first node transmits at the transmission time if it is determined to have priority over the other nodes.
  23. 37
    38. The method of claim 37 wherein the first node transmits at the transmission time if it further has priority exceeding a priority threshold.
  24. 39
    40. The method of claim 39 wherein the first node transmits at the transmission time if it further has priority exceeding a priority threshold.
  25. 41
    42. The method of claim 41 wherein the schedule includes an identification of one or more nodes to receive the data transmission.
  26. 42
    43. The method of claim 42 wherein the schedule further includes a data transmission time.
  27. 43
    44. The method of claim 43 wherein the schedule further includes a data transmission channel.
  28. 46
    47. The method of claim 46 wherein the first node transmits a mapping of the local identifiers to the network identifiers within the network.
  29. 49
    50. The method of claim 49 wherein the table of pseudorandom values is indexed by a value derived from a media access control layer address of the first node to retrieve an entry corresponding to a first priority determination.
  30. 50
    51. The method of claim 50 wherein the first priority determination is checked by logically combining the media access control layer address of the first node with the entry corresponding to the first priority determination to resolve conflicts.
  31. 51
    52. A method, comprising using a topology-independent scheduling procedure to determine candidate packet transmission times within a computer network for the transmission of packets therein and a topology-dependent scheduling procedure to avoid collisions in contended time periods.
  32. 52
    53. The method of claim 52 wherein the topology-independent scheduling procedure utilizes an age of the network and unique identifiers for each node of the network to determine the candidate transmission times for each of the nodes.
  33. 53
    54. The method of claim 53 wherein the topology-independent scheduling procedure computes the candidate transmission times for each of the nodes using a function that provides a varying distribution of outputs for a varying sampling of inputs.
  34. 54
    55. The method of claim 54 wherein the function comprises at least one of a hash function, an encryption function or a table look-up operation.
  35. 56
    57. The method of claim 56 wherein the priority for each of the nodes is determined according to a function that provides a unique output for each set of inputs.
  36. 57
    58. The method of claim 57 wherein the function that provides a unique output for each set of inputs comprises at least one of an encryption function, a hash function or a table look-up operation.
Independent claims36