WO2007008823A2 - Mesh network and piconet work system and method - Google Patents

Mesh network and piconet work system and method Download PDF

Info

Publication number
WO2007008823A2
WO2007008823A2 PCT/US2006/026773 US2006026773W WO2007008823A2 WO 2007008823 A2 WO2007008823 A2 WO 2007008823A2 US 2006026773 W US2006026773 W US 2006026773W WO 2007008823 A2 WO2007008823 A2 WO 2007008823A2
Authority
WO
WIPO (PCT)
Prior art keywords
station
network
stations
mesh
beacon
Prior art date
Application number
PCT/US2006/026773
Other languages
French (fr)
Other versions
WO2007008823A3 (en
Inventor
Mark E. Schrader
Eric Frayer
George She
Original Assignee
Aster Wireless, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aster Wireless, Inc. filed Critical Aster Wireless, Inc.
Publication of WO2007008823A2 publication Critical patent/WO2007008823A2/en
Publication of WO2007008823A3 publication Critical patent/WO2007008823A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access, e.g. scheduled or random access
    • H04W74/002Transmission of channel access control information

Definitions

  • This invention is directed to an ad hoc method of controlling and sharing access to a wireless communication mesh of single stations, or smaller wireless communication networks (member stations), wherein the mesh can be created and modified at any time in any location without the need for a central master station.
  • Wireless communication protocols must handle three distinct situations: First, a network or station joining an established network; second, a station leaving the network; and, third, a station roaming within the network. To accomplish this, there must be a way for stations to communicate their presence to all other stations within range, and communicate changes in what stations they can hear.
  • TDMA time division multiple access
  • each station is assigned a periodic time slot in which to transmit data.
  • a central master station is required to administer the time slots to the members of the network. In a network where some of the members are out of range of other members, the ability of a central master to communicate with all members of the network may not exist.
  • the invention provides a method of controlling and sharing access to a wireless mesh network wherein not every station of the mesh network is in range of every other station of the same network.
  • the invention's method includes the steps of: first, each station periodically transmits a beacon (or other forms of control signaling) containing mesh management information, mesh commands, and data to be transferred between member stations; second, in response to a beacon being no longer detected, each station transmits a bit map containing an indication of only the stations whose beacon it can still receive; third, on receiving a bit map with not all stations indicated, each station responds by adding stations that it can receive to the received bit map and transmitting the updated bit map; fourth, each station repeats the third step until the updated bit map indicates that all stations are still in the network or that a member station is missing from the mesh network; and finally, if a station is indicated to be missing from the network, each remaining member station updates the bit map to eliminate the bit position of the missing station.
  • This process is illustrated in Fig. 7. Through the application of these steps, the invention controls
  • the present invention provides a mechanism for two separate mesh networks to be merged into one network. This can happen in two different situations. For the first case, a member from one mesh network directly communicates with the member from the other network, as shown in Fig 3. The second case is when a station, which is not a member of either mesh network but is within range of at least one member of each mesh network, serves as the common station for communication between the two mesh networks upon joining either of the mesh networks, and then becomes part of the merged network.
  • This invention has the advantage of merging the two mesh networks very efficiently, without needing to reform either network.
  • the present invention provides a mechanism for two member stations to share the same time slot if the two stations are out of range of each other and have no common neighbors. It allows members of the mesh, who have no global knowledge about the network topology, to discover what other member time slots might be shared without causing interference. It provides a robust and efficient method for managing time slot sharing that is immune to changes in network topology because of. stations roaming, new stations joining, or member stations dropping out of the mesh.
  • the present invention has the advantage of controlling a network without the need for a central master station, and does not require continuous global knowledge of the topology of the network. It provides a mechanism for managing changes in mesh propagation time that is the result of radio interference with transmissions of member stations.
  • ATS - Acquire Time Slots, mesh command Used to determine which time slots can be shared without causing interference with other member stations already sharing time slots.
  • Beacon - Transmission containing information about the member station and the mesh network, and any mesh commands originated or retransmitted by the station.
  • Beacon Cycle The sequence of beacons, wherein each member transmits its beacon at the proper time in the sequence. The time between successive beacons is a constant known to each member of the mesh network.
  • BCC, BCCi, • • • - Beacon Cycle Count is a variable whose value is an integer number incremented by ' 1' after each beacon cycle. The value of BCC is modulo the size of the beacon cycle counter.
  • BDBF - Beacon Detect Bitmap/Flag is bitmap in which a ' 1 'represents a member station whose beacon some other member station can hear and '0' represents a member station whose beacon cannot be heard by any other member station.
  • CEC - Change Effect Cycle Count - is the future BCC when the execution of a mesh command will be completed and any changes resulting from that command will take effect.
  • EOB - End of Beacon is the field in the beacon that marks that separates the last MCmd from the Join Contention Slot.
  • GSB - Granted Slot Bitmap is a bitmap of time slots not belonging to a member station that have been granted by the mesh for use by that member station.
  • JCS - Join Contention Slot is a time slot that a station may use to request to join the mesh.
  • the time slot uses a contention mechanism to resolve collisions between colliding join requests that is beyond the scope of this invention.
  • LBL - Lost Beacon List is a variable length field in the NNC MCmd specifying which mesh members that the originator of the NNC MCmd can no longer hear.
  • MAS - Map Available Time Slots A mesh command used by a member station to determine the nearest neighbors of its nearest neighbors. The combination of the nearest neighbors and the nearest neighbors of the nearest neighbors represents the set of member stations that are excluded from sharing time slots with the member station originating this command.
  • MCC - Membership Change Counter A modulo N counter that is incremented each time a new station joins the mesh or when a member of the mesh is determined to be no longer present.
  • MCmd - Mesh Command A command transmitted by a member station in its beacon.
  • An MCmd may be transmitted once or multiple times depending on the MCmd. If it is retransmitted, the parameters sent with the MCmd may change with each retransmission, depending on the MCmd.
  • MS, MSa, MSx - Member Station is a station that has joined a mesh network and is considered a member by all other members. A Member Station is required to transmit a beacon at its assigned time in the beacon cycle.
  • Mesh, Mesh Network A set of intercommunicating of member stations each of which transmit at prescribed times in a predefined manner, and with no source of central control.
  • MFI - Member Frame Interval The time between successive beacons in the beacon cycle.
  • MID - Mesh ID Number Identifies the mesh network and distinguishes it from other mesh networks. This is a random number created by a station starting the mesh network and in doing so, becoming its first member station.
  • MPB - MCmd Propagation Bitmap A bitmap containing one bit per member station of mesh network used to record the progress of propagation of an
  • NBD - New Beacon Detected, mesh command Used to indicate that a member station can now receive the beacon from a member station that was previously not heard.
  • NNB -Nearest Neighbor Bitmap the position of each bit represents the SID of member of the mesh.
  • a " 1 " in a bit position means that the corresponding member of the mesh is in range and is audible.
  • N NNB - Nearest Neighbor Count The number of members of the mesh that the member station can hear.
  • NNC - Nearest Neighbor Change, mesh command A member transmits this when it hears new beacon or when it loses a previously heard beacon. It is used to determine which member stations are still present in the mesh network and which member stations cannot be heard by any other member.
  • NS the total number of member stations in a mesh network.
  • NUSB - Non-Usable Slot Bitmap uses a ' 1' to represent both a neighbor whose beacons can be heard (nearest neighbor), and the nearest neighbor of a nearest neighbors.
  • the resulting bitmap contains ' l's for all the neighbors and all of the neighbor's neighbors.
  • Piconet - a network in a small physical zone made up of one or more wireless, electronic devices each of which is in range of the controlling station designated as the piconet master.
  • Piconet Master A station that is capable of creating and controlling a local piconet. Of all the members of a piconet, only the piconet master can become a member station of a mesh network.
  • RP - Relative Position is the number of lost beacons detected by a member station.
  • RTS - Release Time Slots, mesh command Used to communicate to the members of a mesh when one member is no longer using one or more shared time slots.
  • RUSJ - Request US Join, mesh command A command sent from a station wanting to join the mesh to a current member of the mesh during the Join
  • Contention Slot portion of the current member beacon SAB - Silence All Beacons, mesh command: Used by a joining mesh network to stop beacon transmissions in its own mesh, in preparation for resynchronization with the mesh with which it is merging.
  • Shared Time Slot The beacon time of a second member station the becomes available to a first member for sharing, when the member stations are spread out enough that the first member is able to use the second member's time slot without interfering with any station. A station may use slots that are confirmed by executing the ATS mesh command.
  • SID - Member Station ID is the ID that is assigned when an unjoined station joins a mesh network.
  • the SID starts at 1.
  • each new member station receives the SID equal to 1 plus the total number of members prior to the join.
  • the SIDs of some member stations are revised as a result of member stations dropping out of the mesh network.
  • SJM - Station Join Mesh mesh command: Request to join a mesh network as a single station (or as a mesh), used by a member station to inform that remaining member stations an impending join, and the beacon cycle on which the un-joined member shall be treated as a new member.
  • SMM - Start Mesh Merge mesh command: Command to both the joining mesh and the joined mesh that the merge process is starting.
  • SSB - Shared Slot Bitmap Each member of the mesh uses this private data structure to keep track of what time slots belonging to other members that it is currently using (sharing with them).
  • TDMA - Time Division Multiple Access is a method by which several wireless stations are able to communicate in one communication channel, without interference, by each being assigned a unique time slot in which to communicate.
  • US - Unjoined Station is any station that is not a member of a mesh network.
  • Fig. 1 is a diagram illustrating the beacon employed by a member station according to the present invention.
  • Fig. 2 is a diagram showing the structure of the beacon cycle as recurring sequence of beacons, one for each member of the mesh.
  • Fig. 3 is a flow chart showing the process of adding a member station to the mesh according to the present invention.
  • Fig. 4 is the merged mesh beacon sequence as produced by the present invention.
  • Fig. 5a, Fig. 5b show a dropped member station in a linear mesh network.
  • Fig. 6a, Fig. 6b, Fig. 6c show a sequence of network diagrams illustrating a dropped member station in a non-linear mesh network as resolved by the present invention.
  • Fig. 7 is a flow chart showing the process of resolving a lost beacon according to the present invention.
  • Fig. 8 and Fig. 9 show the overlapping NNC MCmds that can be resolved using the present invention.
  • Fig. 10a, Fig. 10b, and Fig. 10c show the network diagrams for a two- member stations lost beacons as resolved using the present invention.
  • Fig. 11 shows the non-sharable and sharable beacons in a linear mesh network.
  • Fig. 12 shows the non-sharable and sharable beacons in a non-linear mesh network.
  • the invention addresses the issue of networking individual stations in an ad hoc mesh wireless network without any mesh network master.
  • the invention establishes a protocol, by which a wireless mesh network can be created at any time in any location, and the membership of the mesh network is managed in an efficient manner.
  • the invention's protocol also provides a way to share network bandwidth without interfering with any members of the mesh network, rendering the invention both more effective and more efficient than conventional methods of creating wireless networks.
  • the Invention's protocol handles three distinct situations regarding the an individual station and its membership in a mesh: (1) an unjoined station (US) joining an established network and thus becoming a mesh member station (MS), or two mesh networks merging into one new mesh network, (2) an MS leaving the mesh network, and (3) an MS roaming within the mesh network.
  • US unjoined station
  • MS mesh member station
  • the MSs communicate their presence to all stations within range, and communicate changes in what stations they can hear.
  • a small time slot has been set-aside for this purpose at the beginning of each MS assigned time slot.
  • An MS uses this small slot of time to transmit the beacon.
  • the beacon is an important part of each time slot.
  • the information transmitted by MS in its beacon allows an individual MS to determine local area knowledge, and network changes based on this knowledge.
  • the information carried by each MS beacon includes: ' • Mesh ID (MID)
  • SID Member Station ID
  • MS a number assigned to each US when it joins the network and becomes an MS.
  • the MS numbering is sequential and based on the total number of MSs in the mesh. For this document, the value of each new member station will be 1 plus the total number of stations in the network. Other embodiments are possible.
  • BCC Beacon Cycle Count
  • MCC Membership Change Counter
  • MCmd is a command used for network management.
  • Examples of MCmds a command to inform the network that a US is joining as of a specific BCC in the future, that a current MS is no longer heard by another MS, or to share a time slots with MSs that are well out range of the MS owner of the slot.
  • the MCmd field is variable in length depending on the number of current commands circulating in the mesh. This is also an area where parameters specific other embodiments would be added, such as routing information, CRC, FEC, etc.
  • the BCC is determined and incremented by the root station.
  • the root station is the MS with the lowest SID number in the mesh network.
  • Each joining MS is assigned an SID that is larger than the SID of the most recently joined member.
  • the SID number always distinguishes the order in which member joined in relative to all other MSs.
  • An SID number can change when an MS leaves the network, or when a new station joins.
  • the Member Frame (MF) and the Join Contention Slot (JCS) are The Member Frame (MF) and the Join Contention Slot (JCS)
  • the MF is the entire slot of time owned by an MS. It consists of the Mesh Control Slot (MCS) and the Member Defined Slot (MDS). These structures are also shown in Fig. 1.
  • MCS Mesh Control Slot
  • MDS Member Defined Slot
  • the MCS consists of the Beacon, as defined previously, and the Join Contention Slot (JCS).
  • JCS allows a US within range of an MS to send a request-to-join command to the MS in this slot.
  • the MF may use Slotted Aloha, CSMA/CA, or other methods to start contention-based access. This invention does not depend on the embodiment of the JCS functionality.
  • Fig. 2 shows the beacon cycle.
  • the beacon cycle consists of a sequence of the beacons from all MSs. The time between each successive MS beacon is a constant called the member frame interval (MFI).
  • MFI member frame interval
  • a beacon cycle begins with the beacon from the MS with the lowest SID (i.e., the root MS), followed by each successive SID, in a numerical order. After the last MS (i.e., which has the highest SID) sends its beacon, the sequence repeats from the lowest number SID.
  • the member frame interval is a constant known to all members of the mesh.
  • the BCC is incremented at the beginning of each beacon cycle and remains constant throughout the remainder of it.
  • Each MS keeps track of the period of the beacon cycle and the BCC so that it can independently transmit the correct BCC for each cycle.
  • the root MS sends the updated BCC and the other MSs just repeat its value unless the root MS roams out of range or powers down.
  • a MCmd is transmitted in the beacon after the BCC. Although various types of MCmds are possible, all require the same mechanism for execution.
  • the MCmd requires that one MS, the originator, sends the initial MCmd in its beacon. Then each recipient MS receives the MCmd, performs an operation if required by the MCmd, and then retransmits the MCmd in its own beacon if required by MCmd.
  • the recipient typically alters one of the received parameters in the MCmd before retransmitting it. This process continues for the prescribed period of time indicated by a field in the MCmd itself. This may result in an MS receiving and retransmitting the MCmd more than once. Whether this happens depends on the command and the network topology.
  • All MCmds have at least one common parameter transmitted with them.
  • the parameter common to all of the MCmds is the Change Effect Cycle Count (CEC).
  • CEC Change Effect Cycle Count
  • the CEC is a future value of the BCC when each and every MS in the mesh has performed the operation defined by the MCmd and the execution of the MCmd is completed.
  • the originator computes the CEC by adding a value called delta-T, or ⁇ T (in units of beacon cycle counts), to the current cycle count, BCC.
  • ⁇ T represents a time delay estimate, based on cycles of beacon transmission, needed to propagate the command and perform required tasks before the action takes effect.
  • the value of ⁇ T varies depending on the number and topology of the MSs in the network, as well as the type of action taking place.
  • MCmd The basic form of an MCmd is shown in Table 2.
  • the Length of MCmd field is used to allow for: (1) The fact that the size of a bit map parameter will increase by one bit for each MS in the network, (2) Commands that are not interpretable by all MSs in the mesh, and (3) Commands with a variable number of parameters. In the second case, an MS can skip the command, and in the third case, an MS can add or remove a parameter during the execution process.
  • Table 2 MCmd Format
  • NNB the nearest neighbor bitmap
  • the size of the NNB (in bits) is equal to value of NS, and the bit order corresponds to the SID number.
  • One bit in the bitmap is reserved for each MS in a mesh network.
  • the US shall be in range of one or more MSs in order to join the mesh.
  • the US shall select an MS within range, MS k .
  • the US shall send a Request-US-Join command (RUSJ) in the JCS (after the EOB field in the beacon).
  • RUSJ Request-US-Join command
  • the RUSJ command is shown in Table 4.
  • MS k shall immediately acknowledge the RUSJ command in the JCS.
  • the MS that received the RUSJ shall then authenticate the US to determine if it is permitted to join the mesh. (The authentication process is beyond the scope of this invention.)
  • MS k shall then transmit the Station Join Mesh (SJM) MCmd in its next beacon.
  • SJM Station Join Mesh
  • the CEC field in the SJM MCmd informs the US and all the MSs in the mesh network when the US will become a member of the mesh.
  • the CEC defines the beacon cycle on which the US will officially become an MS and begin transmitting its own
  • beacon cycle and ⁇ T depends on the amount of knowledge that join MS has about the propagation time of its messages.
  • the CEC beacon cycle includes the new MS.
  • the MCC and the NS are both incremented by one before being broadcast in the beacon, and the beacon cycle is extended by one member frame interval (MFI) during which the new MS transmits its first beacon.
  • MFI member frame interval
  • the previous case showed a single US joining an existing mesh.
  • the general case is if any MS from an existing mesh network comes within range of an MS from another mesh network, or if a single US comes within range of two separate mesh networks. In either case, the two networks must join/merge into one mesh network.
  • the following is the sequence of actions that occur in adding Network 2 to Network 1, when a member of Network 1 comes within range with a member of Network 2.
  • two MSs from different mesh networks detect each other.
  • the two mesh networks, 1, and 2 discover overall network sizes (NSi, NS 2 ) and respective SIDs (SID x and SID y ) at Step 22 by receiving the beacon from corresponding members, MS x and MS y .
  • Step 23 the MSy of the smaller mesh network, 2, submits Request US Join, RUSJ, command in the JCS that occurs at the end of the MS x beacon.
  • MS y transmits NS 2 as the Number-of-US-to-Join parameter to signal that a mesh is joining instead of a single US.
  • MS x immediately acknowledges receipt of the RUSJ command in Step 24.
  • Step 25 Network 1 initiates the join.
  • MSx originates the SJM MCmd with the Number of US to Join field set to the overall size of mesh Network 2, NS 2 .
  • the CEC parameter (CECj) is set to BCCi + ⁇ Tmax, where BCCi is the
  • ⁇ Tmax is the largest of the two quantities: NSl * (NSi - SID x ), or NS 2 / NSi * (NS 2 - SID y + 1). This is required because while Network 1 is propagating the SJM message, Network 2 will propagate a command originated by MS y to silence all of its beacons except that of MSy. The longest prorogation time is used to time the total join process. The entire membership of Mesh 2 will join Mesh 1 on the same CECj. The newly joined group will not, however, be able to participate in the mesh until they are resynchronized with the original members of Mesh 1.
  • MS y in Network 2 also receives the SJM MCmd originated by MSx in Step 25.
  • each MS in mesh Network 2 stops transmitting its beacon temporarily to eliminate interference and as the first step in resynchronization of Network 2 to the timing of mesh Network 1.
  • Step 28 the CECj time is reached and the join portion of the join/merge is complete. Any station that is transmitting beacons from this point is now a member of the combined mesh network. (Initially, MS y will be the only member of mesh Network 2 to transmit a beacon in the combined network.) All members of both mesh networks update NS, to NSi + NS 2 , and adjust the size of bit maps and the beacon cycle timing to be consistent with the NS change. The MSs of Network 1 do not start updating their NNBs at this time, but wait until the merge is complete.
  • MSx originates the Start Mesh Merge (SMM) as an MCmd to its own mesh and as a command to MS y .
  • SMM Start Mesh Merge
  • SAM MCmd is shown in Table 8.
  • the MSs of mesh Network 2 use the Size-of-Joined-Mesh parameter (NS 1 ) to calculate their new SIDs and the size of the merged mesh.
  • each neighbor of MS m sends its own beacon as a new member of the merged network.
  • the new SID of each MS becomes its old SID added to NS 1 .
  • This process continues until the CECm beacon cycle, as neighbors of neighbor hear the SAM MCmd and then propagate the command on to their own neighbors as members of the merged network.
  • the (smaller) network 2 gets new ID numbers that are calculated by adding their current ID number to the size of the larger network.
  • the smaller network also adopts the larger network's beacon cycle count.
  • the merged network size becomes the sum of the sizes of the two networks and all bitmaps are expanded accordingly.
  • Fig. 4 shows the sequence of beacons for the merged mesh network.
  • the function performed by this MCmd is to determine if the beacon of every MS of the merged mesh can be heard by at least one other MS, which confirms that all merged MSs are actually present. The definition and operation of this MCmd will be described in the next section.
  • An MS may move outside the range of the mesh network or simply cease transmitting its beacon. This would mean that the MS is no longer a part of the mesh and should not have a reserved time slot for its member frame.
  • the lack of a beacon may change the network topology in several ways.
  • Fig. 5a and Fig. 5b show a linear mesh network in which an MS leaves the network.
  • FIG. 6b show a nonlinear mesh network in which an MS leaves the network.
  • Fig. 6c shows the network re-organizes itself after the detection of the departing MS. Fig.
  • FIG. 7 shows a flowchart of the process whereby a departing MS is detected and dropped, and network operation continues.
  • Step 51 of Fig. 7 by comparing its current Nearest Neighbor
  • NNBi Bitmap (NNBi) to the image of its previous NNB (NNBo), MS 3 has detected that it can no longer receive the beacons of one or more members ('O's in NNBi), which were previously represented as ' l's in NNBo of MS 3 .
  • Step 52 the detecting MS a takes a snapshot of its NNB at its current value, NNBi, which is saved until CEC is reached.
  • Step 53 the detecting MS a prepares to send an MCmd by calculating several parameters.
  • MS a creates a list of the beacons that have been lost, the Lost Beacon List, LBL.
  • the members of the LBL ⁇ MSj ⁇ are the MSs represented by ones in the result Of (NNB 1 ⁇ NNBo) ⁇ NNB 0 , where ⁇ is the exclusive OR
  • LBL (NNBi ⁇ NNBo) ⁇ NNB 0 .
  • MS a begins keeping a running value of the Beacon Detect Bitmap Flag, BDBF 3 , which it initializes to NNBi.
  • BDBF 3 the Beacon Detect Bitmap Flag
  • RP is the relative position of ' 1 's in the LBB with respect to MS a .
  • MS 3 shall send the Nearest Neighbor Change, NNC command, which is shown in Table 9, with its SID a as the Originator SID, the CEC and
  • Step 55 is discussed in the section titled "Conditional Preprocessing of NNC Fields.” For this discussion, assume that no preprocessing of a received NNC MCmd is required.
  • Step 56 applies to all members of the mesh network including MS a . It is assumed that the NS parameter in any received NNC command is equal to the NS in the beacon. If this is true, the NNC command is executed throughout the mesh as follows:
  • NNCs with identical LBLs shall be combined into one NNC and retransmitted. This is true regardless of whether they have the same or different Originator SIDs.
  • Each retransmitted NNC is defined as a unique NNC.
  • the CEC shall be the smallest CEC received, and the Originator SID shall be that contained in the NNC with the smallest CEC.
  • the NS is the current beacon NS, which for this case is also common to all NNCs MCmds. 5. Before a unique NNC MCmd, NNC k , is retransmitted, the receiving MS,
  • BDBFt is the logical OR of all of the following: • All ofthe BDBFr values associated with each unique NNC k that have been received since the previous beacon was transmitted:
  • MS x the current (sampled) value ofthe NNB, NNB 1 , with a ' 1 ' added back into any bit position that is not in the received LBL, and is in the LBL of a pending NNC MCmd that was originated by MS x .
  • the receiving MS x retransmits all ofthe unique NNC MCmds with the new BDBFs, the current NS, and the originator SID associated with the smallest CEC, for each common LBL.
  • MS x ORs its NNBi with every received BDBFr for that NNC and LBL combination.
  • the result is that the retransmitted BDBFt is a result of BDBFr i v ...V BDBFr n v NNBi.
  • One final rule is that while an MS is executing one or more NNC MCmds, it shall not originate its own NNC command until the CEC + 1 beacon cycle of the last NNC pending. At that time, the MS may take a snapshot of its NNB and compare the snapshot with its NNB (adjusted for dropped MSs) at the point when the first NNC was received.
  • Step 57 shows that this process shall be repeated until the CEC for the unique NNC MCmd is reached.
  • the meaning of a "1" in BDBF bit position k is that "at least one MS in this mesh network can receive the beacon that is transmitted by MS*".
  • the meaning of a zero in bit position , / is "No MS in this mesh network can receive the beacon that was transmitted by MSj," Thus, zero specifies that the station is no longer part of the mesh.
  • Every MS in the mesh network has the same BDBF on the CEC-I beacon cycle unless there is a '0' in a bit position not listed in the LBL, in which case the NNC MCmd has not propagated through the entire mesh and must be propagated for additional beacon cycles.
  • Step 58 and Step 60 show that if the BDBF contains a 'O' in a bit position specified by an LBL entry and nowhere else, then the MS takes the following actions on the CEC beacon cycle:
  • the MCC is incremented by one to indicate that a new iteration of the mesh membership is in effect.
  • Any bitmap that is the old NS in length shall be shortened to the new NS length by removing bits corresponding to the 'O's in the BDBF.
  • the MS shall keep a temporary bit map called the Dropped Member Bitmap, DMB.
  • Steps 58 and 59 if the BDBF is all Ts, then the all MSs are still members of the mesh and no changes to bitmaps are required. This can occur if an MS changes its transmit power, or roams out of range of one MS and is in range of another MS. Table 10 summarizes the variables that an MS shall keep for each unique
  • NNC MCmd originated or received. All variables, except for DMB, are no longer needed at CEC time. DMB is no longer needed on the CEC + NS beacon cycle.
  • Step 55 Conditional Preprocessing of Received NNC Fields
  • the NNC MCmd contains three fields that are needed to process overlapping NNC MCmds: the Originator NS field, the Originator SID field, and the LBL field. These are required because of possibilities shown by Fig. 8 and Fig. 9, which are time lines of the events associated with two NNC commands and three NNC commands, respectively. A separate bar shows the propagation of each MCmd. Fig. 8 shows that after MSl has transmitted the NNC MCmd, but before MS2 has received it, MS2 may send its own NNC MCmd after losing a beacon.
  • the Originator SID field is the unique identifier for the NNC MCmd because only one NNC command can be associated with an MS at a time.
  • each MS shall retransmit every NNC command that it receives with a distinct Originator SID field, unless their LBL fields are identical.
  • the originator can be any MS in the mesh, it is possible for a particular MS (e.g., MS3 in Fig. 8) to receive the NNC MCmds in a different order than they were transmitted.
  • Fig. 9 is used to show why the NS field and the DMB temporary data are required.
  • the "MS2 NNC2 Originate Interval" in Fig. 9 is the same interval in which NNC2 was generated in Fig. 8.
  • the "MS3 NNC3 Originate Interval” is a different type of interval because NNCl MCmd has completed on beacon cycle CECl, and the remaining zeros in the BDBF field of NNCl have caused a decrease in the value of NS from NSl to NS2. Since NNC2 was transmitted before the CECl beacon cycle, the transmitted NS in NNC2 is larger than the newer NS being sent in all of the post-CECl beacons.
  • any SID in the LBL field is the same as an SID represented by a zero in the DMB, then that LBL entry shall be eliminated from the NNC MCmd before retransmission.
  • the eliminated LBL entry represents an MS that has already been dropped from the mesh network. If all of the entries in the LBL represent member stations that have already been dropped from the mesh network, then the received NNC MCmd shall be ignored and not retransmitted.
  • the received BDBF shall be reduced according to the DMB retained from the completion of the previous NNC MCmd.
  • the remaining entries in the LBL shall be decremented by the number of 'O's in the DMB that represent SIDs that are smaller than the LBL entry. This is the same rule used to modify the SID values of the remaining MSs after one or more MS has been dropped.
  • the NNC MCmd with the smallest CEC shall be retransmitted if the CECs are different, otherwise the NNC with the smallest originator ID shall be retransmitted. 7. Finally, the NNC MCmd shall be retransmitted with the new values for BDBF, Originator NS, and LBL.
  • the original mesh network will split into two new mesh networks as a by-product of the invention's process.
  • MS a and MS b are still connected to each other but they cannot hear the beacons of MSd and MS e , as in Fig. 5b. The same is true for MSa and MS e — they cannot hear MS a and MSb. Therefore, when MS C is dropped from the entire network, MS a and MS b form a network, and MS d and MS e form another network. This all happens by the end of 4 beacon cycle counts after MS C leaves the network.
  • Fig. 6a through Fig. 6c show a more complex (non-linear) network configuration. This example is used to show how the lost beacon is resolved and the mesh network is reorganized after a change is detected. Table 11 will help to show how the bitmaps are filled during each beacon cycle. In this example, MS 3
  • the two commands have identical LBLs, reporting that the beacon of MS 3 has been lost.
  • the BDBF entries are the BDBFs transmitted by the indicated MS. These are calculated by ORing all of the BDBFs received since the MS transmitted its beacon in the previous beacon cycle (2), and with its own NNB.
  • BDBF x MCmd.
  • MS 4 NNB 4
  • MS 5 NNB 4 v NNB 5
  • While BCC 4, the NNCl MCmd is retransmitted by MSi with BDBFi calculated using the BDBF 2 transmitted by MS2 in the previous beacon cycle ORed with the NNB from MSi.
  • MS 4 calculates a new BDBF 4 by ORing the previous BDBFs for MS 5 and MS 8 with its own previous BDBF 4 Jn this case there was no BDBF for MSs in the previous beacon cycle.
  • MS5 calculates its BDBF 5 from the current value of BDBFi, the newly calculated value for BDBF 4 for MS 4 , and the previous BDBF values for MS 5 , MS 6 and MS 7 .
  • the value for BDBF k is calculated (with the connectivity in Fig. 6b) using the connected neighbor's previous BDBF when the connected neighbor has an SID greater than the SID of MS k . Otherwise, if the neighbor SID, SID j , is smaller than that of SID k , the newly calculated value of BDBF j is used in the calculation for BDBF k . Therefore, it is best to calculate the values for BDBF k in Table 11 from the smallest SID to the largest SID.
  • NNC2 MCmd is assessed as redundant because the LBL is identical to that of NNCl and CEC2 > CECl. NNC2 is therefore not retransmitted, and is subsequently ignored by MS 5 and MS 6 .
  • BCC 6
  • All members drop the MS3 bit from all bitmaps, including NNB, because bit 3 in the BDBF is a '0' indicating that no MS can receive a beacon from MS 3 .
  • the renamed MSs are now consistent with the modified bitmaps.
  • the two-MS drop case is based on the network shown in Fig. 10a.
  • the word "UNJOIN” indicates the loss of a beacon for that MS is detected.
  • MS 8 sends the NNCl MCmd in response to the loss of MS 9 during
  • BCC 3.
  • NNNB is ' 1 ' because there is only one beacon left in the NNB OfMS 8 . This corresponds to the line connecting MS8 and MS7 shown in Fig. 10b.
  • RP is 1 because the SID of the loss beacon (9) is larger than the SID of the originator of the NNCl (8).
  • the LBL is the SID of the lost beacon as shown in the last column of the Table 13.
  • BCC 5
  • MS 1 originates NNC2 to resolve the loss Of MS 6 .
  • CEC2 BCC + NS - N NN
  • the mesh now looks like Fig. 10b.
  • Each MS can receive every proceeding beacon before transmitting its own.
  • the BDBF is formed when each MS performs a logical OR operation on all received versions of BDBFs since it transmitted its previous beacon. In this case, the BDBF contains 'O's for both lost beacons by the time it propagates to MS 8 .
  • both NNC MCmds are propagated through the mesh network.
  • NNCl propagation has resolved dropped beacons, 6 and 9.
  • MS 6 was not connected to an MS that NNCl had reached before its beacon was lost. If MSe had been within range of MSg, the bit corresponding to MS 6 would have remained set in the NNB of MS 8 . This is because MS 8 takes a snapshot of its NNB when originating the NNC 1, which it uses to OR with subsequently received BDBFs until CECl time. For this case, only NNC2 would have detected the loss of MS 6 by all members of the mesh.
  • each MS can fundamentally only transmit during its MF interval (time slot) (Fig. 1 and Fig. 2). If an MS is only within range of a few other members, then there is the possibility that the MS can transmit at the same time as some other member without interfering with any other MF transmission.
  • Fig. 11 and Fig. 12 show that the MS represented as a circle with lines can transmit during the same time slot as an MS represented by a white circle, but may not transmit at the same time as an MS represented as the shaded circle. Described here is the method that allows sharable time slots determination, acquisition for use, and finally releasing the time slots when done.
  • the connectivity of the network must be determined one level deeper than the NNB of the node requesting the bandwidth. This is due to the following. A node (say MS x ) must not be within range of both the requesting node and the node whose timeslot it is requesting. Otherwise, MS A - will hear two devices transmitting at once. What the requestor MS needs is a bitmap of all MS IDs that are not usable because the MSs can hear both the requestor and the MS whose time slot is being requested. Fig. 11 indicates this for a linear mesh with 11 MSs. The MS with the SID
  • the 'O's in the NUSB represent the MSs with sharable MF intervals.
  • the NUSB is determined using the Map Available Slots (MAS) MCmd defined in Table 14.
  • the MAS MCmd is executed, and the NUSB is computed as follows:
  • the requesting MS x originates MAS command with a NUSB set to the originator NNB with the addition that the MSx bit is also set.
  • CEC BCC
  • Fig. 12 is the diagram for a nonlinear topology with 9 MSs. To arrive at the value for the
  • NUSB when the MS 6 is the requestor, the value the NNBs OfMS 6 , MS 5 , MS 7 and MS 8 are ORed together.
  • the resulting non-usable slot bitmap NUSB6 will be 111110100, so time slots from MS 1 , MS 2 , and MS 4 are ones that can be acquired for reuse by MS 6 .
  • NUSB 9 I 10100111.
  • the usable time slots are those OfMS 4 , MS 5 , and MS 7 .
  • Any MS using an acquired time slot shall keep track of which time slots that it has acquired and its NUSB.
  • the shared slots are recorded using a Shared Slot Bitmap (SSB).
  • SSB Shared Slot Bitmap
  • An MS shall only originate an ATS MCmd if there is no pending ATS MCmd being received.
  • a receiving MS, MS x may alter the GSB by resetting one or more of the bits before retransmitting the GSB in its own beacon.
  • the algorithm for resetting the bits is based on the fact that two MSs may not use the same time slot if any MS can receive both of their beacons.
  • the algorithm is as follows. In other words, a neighbor's neighbor shall not allow a shared slot that the neighbor's neighbor is already using (sharing) because the two transmissions will collide on their common neighbor. If there is a ' 1 ' in the receiver NUSB, NUSB x , at the bit position corresponding to the originator SID, then there will be a collision if MSx and the originator both use the same time slot.
  • BCC CEC
  • the originator has a copy of GSB that contains ' l's in the bit positions for sharable time slots that it is allowed to use. The originator may now send data during those shared timeslots without the possibility of interfering with other MSs.
  • RTS Release Time Slot
  • Table 16 This command informs the network that the time slot is available for use by any MS, and in particular, an MS whose request was previously rejected. The receipt of this command by the original requestor will result in it sending a new request (ATS) for that time slot.
  • An MS moving out of range of one neighbor MS and into range of another is an MS moving out of range of one neighbor MS and into range of another.
  • An MS originating the NNC MCmd indicates the absence of a beacon, which is then resolved as no 'O's in the final BDBF, and therefore no members dropped from the network.
  • the second case is a member that does not roam out of range of any other member and does move within range of at least one new member.
  • the member that detects a previously unheard member (MS 2 ) beacon shall also originate an NNC MCmd with MS 2 in the LBL parameter.
  • the MS When any MS that is sharing a time slot receives an NNC MCmd, the MS shall cease using that shared slot. The MS shall then originate an MAS MCmd followed by an ATS MCmd to re-acquire usable shared time slots.
  • RF Interference from sources not associated with the mesh network will increase the time required to propagate an MCmd throughout the mesh network.
  • the only MCmd that can detect if it has not fully propagated at CEC time is NNC.
  • the parameter BDBF will only have a '0' in a location that is not included in the LBL parameter if NNC has not folly propagated through the mesh. Any MS satisfying this condition interprets the result as "no change to the mesh.” This was shown in Step 58 of Fig. 7, and must continue to propagate NNC for an additional period of time, which will be implementation dependent.
  • the parameter shown in Table 17 must be added each MCmd except NNC. This shall be the last parameter in the MCmd if it is present.
  • each MS When an MS receives an MCmd containing the MPB parameter, it shall set the bit corresponding to its own SID and retransmit the MCmd.
  • each MS checks to see if there are any 'O's remaining in the MPB. Any zero corresponds to an MS that either did not receive the MCmd at all, or did not receive in time to propagate the modified MPB to the rest of the mesh. There are several possible methods for recovering a zero in the MPB.
  • the individual station may do nothing and wait for the result to be propagated by a node with which the MCmd did complete successfully, or it may continue to propagate the MCmd for an additional interval, new CEC parameter.
  • originator of the original MCmd may re-originate the MCmd that did complete successfully.
  • the exact recovery mechanism is implementation dependent. Depending on the mechanism chosen, an additional propagation time parameter may have to be added to the MCmd if this time parameter is needed to calculate the extended CEC time.
  • Time slots can be shared as much as the network topology allows.
  • Joins can be done either with one unjoined station, or an entire unjoined mesh network.

Abstract

A method of distributed control of a wireless mesh network without knowledge of global topology. The method includes: a station joining the network with any current member by propagating the join-request, or two meshes merging using the steps of: one mesh joining the other as a whole and then re- synchronizing its timing. The method further includes: first, each station periodically transmits a beacon; second, in response to a beacon being no longer detected, a station transmitting a bitmap of stations that it can still receive; third, each station responds by adding stations that it can receive with all of the bitmaps received from other members, and retransmitting the updated bitmap; fourth, after time for all stations to respond, all stations base current membership on the bitmap. The method further includes: determining sharable time slots that will not interfere with neighbors or other slot sharers, using and then releasing those slots.

Description

MESH NETWORK AND PICONET WORK SYSTEM AND METHOD
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of the filing date of U. S. patent application Serial Number 11/178,697, filed July 11, 2005.
FIELD OF THE INVENTION
This invention is directed to an ad hoc method of controlling and sharing access to a wireless communication mesh of single stations, or smaller wireless communication networks (member stations), wherein the mesh can be created and modified at any time in any location without the need for a central master station.
BACKGROUND OF THE INVENTION
Wireless communication protocols must handle three distinct situations: First, a network or station joining an established network; second, a station leaving the network; and, third, a station roaming within the network. To accomplish this, there must be a way for stations to communicate their presence to all other stations within range, and communicate changes in what stations they can hear. In prior art time division multiple access (TDMA) protocols, each station is assigned a periodic time slot in which to transmit data. In the prior art related to TDMA protocols, a central master station is required to administer the time slots to the members of the network. In a network where some of the members are out of range of other members, the ability of a central master to communicate with all members of the network may not exist. Furthermore, in an ad hoc network where member stations are joining and leaving the network at random, there may not be a suitable candidate as the master station. There is a need therefore for an improved protocol for managing access to an ad hoc network that does not require a central master station. This invention is not concerned with the routing of application data between member stations of the mesh network.
SUMMARY OF THE INVENTION
The invention provides a method of controlling and sharing access to a wireless mesh network wherein not every station of the mesh network is in range of every other station of the same network. The invention's method includes the steps of: first, each station periodically transmits a beacon (or other forms of control signaling) containing mesh management information, mesh commands, and data to be transferred between member stations; second, in response to a beacon being no longer detected, each station transmits a bit map containing an indication of only the stations whose beacon it can still receive; third, on receiving a bit map with not all stations indicated, each station responds by adding stations that it can receive to the received bit map and transmitting the updated bit map; fourth, each station repeats the third step until the updated bit map indicates that all stations are still in the network or that a member station is missing from the mesh network; and finally, if a station is indicated to be missing from the network, each remaining member station updates the bit map to eliminate the bit position of the missing station. This process is illustrated in Fig. 7. Through the application of these steps, the invention controls access to the network without a global master. This invention's method allows the sharing time slots among member stations that cannot interfere with each other,
The present invention provides a mechanism for two separate mesh networks to be merged into one network. This can happen in two different situations. For the first case, a member from one mesh network directly communicates with the member from the other network, as shown in Fig 3. The second case is when a station, which is not a member of either mesh network but is within range of at least one member of each mesh network, serves as the common station for communication between the two mesh networks upon joining either of the mesh networks, and then becomes part of the merged network. This invention has the advantage of merging the two mesh networks very efficiently, without needing to reform either network.
The present invention provides a mechanism for two member stations to share the same time slot if the two stations are out of range of each other and have no common neighbors. It allows members of the mesh, who have no global knowledge about the network topology, to discover what other member time slots might be shared without causing interference. It provides a robust and efficient method for managing time slot sharing that is immune to changes in network topology because of. stations roaming, new stations joining, or member stations dropping out of the mesh.
In general, the present invention has the advantage of controlling a network without the need for a central master station, and does not require continuous global knowledge of the topology of the network. It provides a mechanism for managing changes in mesh propagation time that is the result of radio interference with transmissions of member stations.
GLOSSARY OF TERMS AND ABBREVIATIONS USED IN THIS SPECIFICATION
ATS - Acquire Time Slots, mesh command: Used to determine which time slots can be shared without causing interference with other member stations already sharing time slots.
Beacon - Transmission containing information about the member station and the mesh network, and any mesh commands originated or retransmitted by the station.
Beacon Cycle - The sequence of beacons, wherein each member transmits its beacon at the proper time in the sequence. The time between successive beacons is a constant known to each member of the mesh network. BCC, BCCi, • • • - Beacon Cycle Count is a variable whose value is an integer number incremented by ' 1' after each beacon cycle. The value of BCC is modulo the size of the beacon cycle counter. BDBF - Beacon Detect Bitmap/Flag is bitmap in which a ' 1 'represents a member station whose beacon some other member station can hear and '0' represents a member station whose beacon cannot be heard by any other member station.
CEC - Change Effect Cycle Count - is the future BCC when the execution of a mesh command will be completed and any changes resulting from that command will take effect. DMB - Dropped Member Bitmap is equal to the most recent BDBF when BCC = CEC - 1 after the execution of an NNC MCmd. The DMB is retained for NS beacon cycles after CEC is reached, that is for BCC = CEC + NS, where NS is the NS computed on the CEC beacon cycle. EOB - End of Beacon is the field in the beacon that marks that separates the last MCmd from the Join Contention Slot.
GSB - Granted Slot Bitmap is a bitmap of time slots not belonging to a member station that have been granted by the mesh for use by that member station.
JCS - Join Contention Slot is a time slot that a station may use to request to join the mesh. The time slot uses a contention mechanism to resolve collisions between colliding join requests that is beyond the scope of this invention.
LBB - Lost Beacon Bitmap is a bitmap of beacons that have been within range, but are no longer being received. This is mathematically defined as LBB=(NNBi © NNB0) Λ NNB0. This is private to each MS and not transmitted to a different MS.
LBL - Lost Beacon List is a variable length field in the NNC MCmd specifying which mesh members that the originator of the NNC MCmd can no longer hear.
MAS - Map Available Time Slots: A mesh command used by a member station to determine the nearest neighbors of its nearest neighbors. The combination of the nearest neighbors and the nearest neighbors of the nearest neighbors represents the set of member stations that are excluded from sharing time slots with the member station originating this command. MCC - Membership Change Counter: A modulo N counter that is incremented each time a new station joins the mesh or when a member of the mesh is determined to be no longer present.
MCmd - Mesh Command: A command transmitted by a member station in its beacon. An MCmd may be transmitted once or multiple times depending on the MCmd. If it is retransmitted, the parameters sent with the MCmd may change with each retransmission, depending on the MCmd. MS, MSa, MSx - Member Station is a station that has joined a mesh network and is considered a member by all other members. A Member Station is required to transmit a beacon at its assigned time in the beacon cycle.
Mesh, Mesh Network: A set of intercommunicating of member stations each of which transmit at prescribed times in a predefined manner, and with no source of central control.
MFI - Member Frame Interval: The time between successive beacons in the beacon cycle.
MID - Mesh ID Number: Identifies the mesh network and distinguishes it from other mesh networks. This is a random number created by a station starting the mesh network and in doing so, becoming its first member station. MPB - MCmd Propagation Bitmap: A bitmap containing one bit per member station of mesh network used to record the progress of propagation of an
MCmd throughout the mesh. NBD - New Beacon Detected, mesh command: Used to indicate that a member station can now receive the beacon from a member station that was previously not heard.
NNB -Nearest Neighbor Bitmap: the position of each bit represents the SID of member of the mesh. A " 1 " in a bit position means that the corresponding member of the mesh is in range and is audible.
NNNB - Nearest Neighbor Count: The number of members of the mesh that the member station can hear.
NNC - Nearest Neighbor Change, mesh command: A member transmits this when it hears new beacon or when it loses a previously heard beacon. It is used to determine which member stations are still present in the mesh network and which member stations cannot be heard by any other member.
NS, NSl, NS2, etc. -the total number of member stations in a mesh network.
NUSB - Non-Usable Slot Bitmap uses a ' 1' to represent both a neighbor whose beacons can be heard (nearest neighbor), and the nearest neighbor of a nearest neighbors. The resulting bitmap contains ' l's for all the neighbors and all of the neighbor's neighbors.
Piconet - a network in a small physical zone made up of one or more wireless, electronic devices each of which is in range of the controlling station designated as the piconet master.
Piconet Master - A station that is capable of creating and controlling a local piconet. Of all the members of a piconet, only the piconet master can become a member station of a mesh network. RP - Relative Position is the number of lost beacons detected by a member station. RTS - Release Time Slots, mesh command: Used to communicate to the members of a mesh when one member is no longer using one or more shared time slots.
RUSJ - Request US Join, mesh command: A command sent from a station wanting to join the mesh to a current member of the mesh during the Join
Contention Slot portion of the current member beacon. SAB - Silence All Beacons, mesh command: Used by a joining mesh network to stop beacon transmissions in its own mesh, in preparation for resynchronization with the mesh with which it is merging. SAM - Synchronize All Members, mesh command: Commands the members of the joining mesh to begin transmitting beacons synchronized with the joined mesh. Shared Time Slot - The beacon time of a second member station the becomes available to a first member for sharing, when the member stations are spread out enough that the first member is able to use the second member's time slot without interfering with any station. A station may use slots that are confirmed by executing the ATS mesh command. SID - Member Station ID is the ID that is assigned when an unjoined station joins a mesh network. The SID starts at 1. In this embodiment, each new member station receives the SID equal to 1 plus the total number of members prior to the join. The SIDs of some member stations are revised as a result of member stations dropping out of the mesh network. SJM - Station Join Mesh, mesh command: Request to join a mesh network as a single station (or as a mesh), used by a member station to inform that remaining member stations an impending join, and the beacon cycle on which the un-joined member shall be treated as a new member. SMM - Start Mesh Merge, mesh command: Command to both the joining mesh and the joined mesh that the merge process is starting. SSB - Shared Slot Bitmap: Each member of the mesh uses this private data structure to keep track of what time slots belonging to other members that it is currently using (sharing with them). TDMA - Time Division Multiple Access is a method by which several wireless stations are able to communicate in one communication channel, without interference, by each being assigned a unique time slot in which to communicate. US - Unjoined Station is any station that is not a member of a mesh network.
BRIEF DESCRIPTION OF THE DRAWINGS : Fig. 1 is a diagram illustrating the beacon employed by a member station according to the present invention. Fig. 2 is a diagram showing the structure of the beacon cycle as recurring sequence of beacons, one for each member of the mesh. Fig. 3 is a flow chart showing the process of adding a member station to the mesh according to the present invention. Fig. 4 is the merged mesh beacon sequence as produced by the present invention.
Fig. 5a, Fig. 5b show a dropped member station in a linear mesh network. Fig. 6a, Fig. 6b, Fig. 6c show a sequence of network diagrams illustrating a dropped member station in a non-linear mesh network as resolved by the present invention.
Fig. 7 is a flow chart showing the process of resolving a lost beacon according to the present invention.
Fig. 8 and Fig. 9 show the overlapping NNC MCmds that can be resolved using the present invention.
Fig. 10a, Fig. 10b, and Fig. 10c, show the network diagrams for a two- member stations lost beacons as resolved using the present invention. Fig. 11 shows the non-sharable and sharable beacons in a linear mesh network.
Fig. 12 shows the non-sharable and sharable beacons in a non-linear mesh network.
DETAILED DESCRIPTION OF THE INVENTION
The invention addresses the issue of networking individual stations in an ad hoc mesh wireless network without any mesh network master. The invention establishes a protocol, by which a wireless mesh network can be created at any time in any location, and the membership of the mesh network is managed in an efficient manner. The invention's protocol also provides a way to share network bandwidth without interfering with any members of the mesh network, rendering the invention both more effective and more efficient than conventional methods of creating wireless networks. The Invention's protocol handles three distinct situations regarding the an individual station and its membership in a mesh: (1) an unjoined station (US) joining an established network and thus becoming a mesh member station (MS), or two mesh networks merging into one new mesh network, (2) an MS leaving the mesh network, and (3) an MS roaming within the mesh network. To accomplish each of these changes, the MSs communicate their presence to all stations within range, and communicate changes in what stations they can hear. A small time slot has been set-aside for this purpose at the beginning of each MS assigned time slot. An MS uses this small slot of time to transmit the beacon. The Beacon
The beacon is an important part of each time slot. The information transmitted by MS in its beacon allows an individual MS to determine local area knowledge, and network changes based on this knowledge. The information carried by each MS beacon includes: ' • Mesh ID (MID)
• Member Station ID (SID, a number assigned to each US when it joins the network and becomes an MS. The MS numbering is sequential and based on the total number of MSs in the mesh. For this document, the value of each new member station will be 1 plus the total number of stations in the network. Other embodiments are possible.)
• Total Number of Mesh Member Stations (NS, the total number of MSs in the network)
• Beacon Cycle Count (BCC, the number of cycles that have passed since the network was established, modulo the size of the counter.) • Membership Change Counter (MCC, a number that is incremented each time a new station joins the mesh, or when a member of the mesh is determined to be no longer present, modulo the size of the counter.)
• Mesh Command (MCmd, is a command used for network management.) Examples of MCmds a command to inform the network that a US is joining as of a specific BCC in the future, that a current MS is no longer heard by another MS, or to share a time slots with MSs that are well out range of the MS owner of the slot. The MCmd field is variable in length depending on the number of current commands circulating in the mesh. This is also an area where parameters specific other embodiments would be added, such as routing information, CRC, FEC, etc.
• End of Beacon (EOB, indicates that the last MCmd has occurred and what follows is the contention slot for join request.)
Table 1 summarizes the above list. The BCC is determined and incremented by the root station. The root station is the MS with the lowest SID number in the mesh network. Each joining MS is assigned an SID that is larger than the SID of the most recently joined member. Thus, the SID number always distinguishes the order in which member joined in relative to all other MSs. An SID number can change when an MS leaves the network, or when a new station joins.
Table 1: Beacon Fields
Figure imgf000013_0001
Figure imgf000014_0001
The Member Frame (MF) and the Join Contention Slot (JCS)
The MF is the entire slot of time owned by an MS. It consists of the Mesh Control Slot (MCS) and the Member Defined Slot (MDS). These structures are also shown in Fig. 1. The MCS consists of the Beacon, as defined previously, and the Join Contention Slot (JCS). The JCS allows a US within range of an MS to send a request-to-join command to the MS in this slot. The MF may use Slotted Aloha, CSMA/CA, or other methods to start contention-based access. This invention does not depend on the embodiment of the JCS functionality.
The Beacon Cycle
Fig. 2 shows the beacon cycle. The beacon cycle consists of a sequence of the beacons from all MSs. The time between each successive MS beacon is a constant called the member frame interval (MFI). A beacon cycle begins with the beacon from the MS with the lowest SID (i.e., the root MS), followed by each successive SID, in a numerical order. After the last MS (i.e., which has the highest SID) sends its beacon, the sequence repeats from the lowest number SID.
The member frame interval is a constant known to all members of the mesh. The BCC is incremented at the beginning of each beacon cycle and remains constant throughout the remainder of it. Each MS keeps track of the period of the beacon cycle and the BCC so that it can independently transmit the correct BCC for each cycle. Typically, the root MS sends the updated BCC and the other MSs just repeat its value unless the root MS roams out of range or powers down.
Mesh Command Operation Principles
A MCmd is transmitted in the beacon after the BCC. Although various types of MCmds are possible, all require the same mechanism for execution. The MCmd requires that one MS, the originator, sends the initial MCmd in its beacon. Then each recipient MS receives the MCmd, performs an operation if required by the MCmd, and then retransmits the MCmd in its own beacon if required by MCmd. The recipient typically alters one of the received parameters in the MCmd before retransmitting it. This process continues for the prescribed period of time indicated by a field in the MCmd itself. This may result in an MS receiving and retransmitting the MCmd more than once. Whether this happens depends on the command and the network topology.
All MCmds have at least one common parameter transmitted with them. The parameter common to all of the MCmds is the Change Effect Cycle Count (CEC). The CEC is a future value of the BCC when each and every MS in the mesh has performed the operation defined by the MCmd and the execution of the MCmd is completed. The originator computes the CEC by adding a value called delta-T, or ΔT (in units of beacon cycle counts), to the current cycle count, BCC. ΔT represents a time delay estimate, based on cycles of beacon transmission, needed to propagate the command and perform required tasks before the action takes effect. The value of ΔT varies depending on the number and topology of the MSs in the network, as well as the type of action taking place. (The calculation of ΔT values will be specified for each MCmd that is subsequently described). Some MCmds must reach each member in the mesh only once. These requires less time to propagate than MCmds that are received and then retransmitted with changed parameter fields, since the retransmissions must also propagate to all members of the mesh. In some cases multiple MSs will start propagating the same MCmd, but with different CECs. In the case of multiple instances of the same MCmd received by an MS during a single beacon cycle, the MS shall resend the only one copy of the MCmd, and use the smallest CEC value received.
The basic form of an MCmd is shown in Table 2. The Length of MCmd field is used to allow for: (1) The fact that the size of a bit map parameter will increase by one bit for each MS in the network, (2) Commands that are not interpretable by all MSs in the mesh, and (3) Commands with a variable number of parameters. In the second case, an MS can skip the command, and in the third case, an MS can add or remove a parameter during the execution process. Table 2: MCmd Format
Figure imgf000017_0001
Nearest Neighbor Bitmap Each MS generates and maintains an internal bit map of all neighboring
MSs whose beacons can be properly received. This bitmap is called the nearest neighbor bitmap, NNB. The size of the NNB (in bits) is equal to value of NS, and the bit order corresponds to the SID number. One bit in the bitmap is reserved for each MS in a mesh network. The least significant bit, lsb, which in this embodiment is on the right hand end of the string, refers to the root MS (SID=I) and the most significant bit, msb, refers to the most recent MS to join the mesh (SID=NS) and is on the left hand end of the string.
An example of a bitmap for an MS, when NS = 9, that can receive beacons from MS4, SID = 4, MS5, and MS8 is 010011000. The algorithm for updating the NNB is not part of this invention, but it is assumed that the loss of a previously received beacon shall persist long enough to be correctly interpreted as the MS no longer transmitting or no longer within range.
Operation of the Invention The process of managing a mesh network must consider all possible scenarios: a single station joining the mesh, combining together two mesh networks, removing a member from the mesh network, and movement of a member within the mesh network. Each scenario is different but this invention allows all scenarios to be treated in similar and consistent ways. In most of this section, the mesh network will be assumed to be operating in an interference-free environment. Operation in the presence of interference is considered at the end of this section.
Unjoined Station Joining a Mesh Network 1 First, the US shall be in range of one or more MSs in order to join the mesh. The US shall select an MS within range, MSk. Then the US shall send a Request-US-Join command (RUSJ) in the JCS (after the EOB field in the beacon). The RUSJ command is shown in Table 4. MSk shall immediately acknowledge the RUSJ command in the JCS. The MS that received the RUSJ shall then authenticate the US to determine if it is permitted to join the mesh. (The authentication process is beyond the scope of this invention.) If authentication is successful, MSk shall then transmit the Station Join Mesh (SJM) MCmd in its next beacon. The CEC field in the SJM MCmd informs the US and all the MSs in the mesh network when the US will become a member of the mesh. The CEC defines the beacon cycle on which the US will officially become an MS and begin transmitting its own beacon.
Table 4: RUSJ, Contention Slot Command Format
Figure imgf000019_0001
Station Join Mesh (SJM) MCmd
This SJM command shown in Table 5 is transmitted (originated) by the join MS, to inform all MSs that a new member will be joining on the beacon cycle specified by the parameter CEC = BCC + ΔT. Where BCC is always the current
beacon cycle and ΔT depends on the amount of knowledge that join MS has about the propagation time of its messages. The worst-case number for ΔT in beacon cycles is SID. This worst case occurs for a linear mesh in which, MSj is in range OfMS2, MSk is in range OfMSk-1 and MSk+i, for k=2,3,4... (NS-I), and MSNS is in range of MSNS-I- Since the exact topology of the network cannot be known because an MS only knows what MSs are within range, the SID value shall be used for ΔT.
If the number of beacon cycles required for a command to propagate from the join MS to the root MS is TPR and is known to the join MS, then ΔT is the TPR + 2. This is true because once the MCmd reaches the root, it will propagate to all MSs on the next, ΔT = TPR+ I9 beacon cycle. Thus the join can always happen on the ΔT = TPR+ 2 beacon cycle.
Table 5: SJM MCmd Format
Figure imgf000020_0001
Starting with the root MS, the CEC beacon cycle includes the new MS. The MCC and the NS are both incremented by one before being broadcast in the beacon, and the beacon cycle is extended by one member frame interval (MFI) during which the new MS transmits its first beacon.
Combining Two Mesh Networks Into One Mesh Network
The previous case showed a single US joining an existing mesh. The general case is if any MS from an existing mesh network comes within range of an MS from another mesh network, or if a single US comes within range of two separate mesh networks. In either case, the two networks must join/merge into one mesh network. The following is the sequence of actions that occur in adding Network 2 to Network 1, when a member of Network 1 comes within range with a member of Network 2.
Refer to Fig. 3. At the Step 21, two MSs from different mesh networks detect each other. The two mesh networks, 1, and 2, discover overall network sizes (NSi, NS2) and respective SIDs (SIDx and SIDy) at Step 22 by receiving the beacon from corresponding members, MSx and MSy.
In Step 23 the MSy of the smaller mesh network, 2, submits Request US Join, RUSJ, command in the JCS that occurs at the end of the MSx beacon. MSy transmits NS2 as the Number-of-US-to-Join parameter to signal that a mesh is joining instead of a single US. MSx immediately acknowledges receipt of the RUSJ command in Step 24.
In Step 25, Network 1 initiates the join. MSx originates the SJM MCmd with the Number of US to Join field set to the overall size of mesh Network 2, NS2. The CEC parameter (CECj) is set to BCCi + ΔTmax, where BCCi is the
current value of BCC for Network 1, and ΔTmax is the largest of the two quantities: NSl * (NSi - SIDx), or NS2 / NSi * (NS2 - SIDy + 1). This is required because while Network 1 is propagating the SJM message, Network 2 will propagate a command originated by MSy to silence all of its beacons except that of MSy. The longest prorogation time is used to time the total join process. The entire membership of Mesh 2 will join Mesh 1 on the same CECj. The newly joined group will not, however, be able to participate in the mesh until they are resynchronized with the original members of Mesh 1. In Step 26, MSy in Network 2 also receives the SJM MCmd originated by MSx in Step 25. MSy times the join process in terms of its own beacon cycles as ΔT = (CECj - BCC1) * (NS1 / NS2) + BCC2.
In Step 27, MSy originates a Silence All Beacons (SAB) MCmd (see Table 6) with the CEC parameter set to CECa = BCC2 + ΔT = BCC2 + NS2 - SIDy,
whereas MSx also receives this MCmd and uses the ΔT = (CECa - BCC2 ) * (NS2 / NSi) + BCCi + 1, rounded up the next BCC, to time the SAB execution. Except for MSy, each MS in mesh Network 2 stops transmitting its beacon temporarily to eliminate interference and as the first step in resynchronization of Network 2 to the timing of mesh Network 1.
Table 6: SAB MCmd Format
Figure imgf000022_0001
In Step 28, the CECj time is reached and the join portion of the join/merge is complete. Any station that is transmitting beacons from this point is now a member of the combined mesh network. (Initially, MSy will be the only member of mesh Network 2 to transmit a beacon in the combined network.) All members of both mesh networks update NS, to NSi + NS2, and adjust the size of bit maps and the beacon cycle timing to be consistent with the NS change. The MSs of Network 1 do not start updating their NNBs at this time, but wait until the merge is complete.
In Step 29, MSx originates the Start Mesh Merge (SMM) as an MCmd to its own mesh and as a command to MSy. This MCmd is propagated with the parameter NS111 = NSi + NS2, CECm = BCC + NSm * DTmax, where DTmax is the largest of: (NS1n - SIDx+ 1) and (NSm - SIDy + 2). This tells mesh Network 1 to prepare for the merge and for MSy to start the merge of Network 2. Table 7 shows the SMM command format.
Table 7: SMM MCmd Format
Figure imgf000023_0001
In Step 30, MSy hears the MSx beacon with BCC = CECm, and changes its identity from being a member of mesh Network 2, to the identity of being a member of the merged mesh network. To designate this new identity, the name of MSy will be changed to MSm for the remainder of this section.
In Step 31, Starting from this current BCC, which is the BCC of the original network I5 MSm sends a beacon at the proper time for a member of the merged mesh with the following beacon parameters: MIDm= I5 SIDm = NSi + SIDy, NSm = NS, + NS2, and MCC = MCC + 1. MSm also sends the MCmd Synchronize All Members (SAM) with CECm = NSm - SIDn, = NS2 - SIDy, which is received by its original Mesh 2 neighbors, who are waiting for this transmission. The SAM MCmd is shown in Table 8. The MSs of mesh Network 2 use the Size-of-Joined-Mesh parameter (NS1) to calculate their new SIDs and the size of the merged mesh.
Table 8: SAM MCmd Format
Figure imgf000024_0001
In Step 32, each neighbor of MSm sends its own beacon as a new member of the merged network. The new SID of each MS becomes its old SID added to NS1. This process continues until the CECm beacon cycle, as neighbors of neighbor hear the SAM MCmd and then propagate the command on to their own neighbors as members of the merged network. Thus, the (smaller) network 2 gets new ID numbers that are calculated by adding their current ID number to the size of the larger network. The smaller network also adopts the larger network's beacon cycle count. The merged network size becomes the sum of the sizes of the two networks and all bitmaps are expanded accordingly. Fig. 4 shows the sequence of beacons for the merged mesh network. The final action in Step 32 is for MSi (SID=I) of the merged mesh network to originate a Nearest Neighbor Change MCmd. The function performed by this MCmd is to determine if the beacon of every MS of the merged mesh can be heard by at least one other MS, which confirms that all merged MSs are actually present. The definition and operation of this MCmd will be described in the next section.
Resolving Mesh Membership After the Loss of a Beacon
An MS may move outside the range of the mesh network or simply cease transmitting its beacon. This would mean that the MS is no longer a part of the mesh and should not have a reserved time slot for its member frame. The lack of a beacon may change the network topology in several ways. Fig. 5a and Fig. 5b show a linear mesh network in which an MS leaves the network. Fig. 6a and Fig.
6b show a nonlinear mesh network in which an MS leaves the network. Fig. 6c shows the network re-organizes itself after the detection of the departing MS. Fig.
7 shows a flowchart of the process whereby a departing MS is detected and dropped, and network operation continues.
In Step 51 of Fig. 7, by comparing its current Nearest Neighbor
Bitmap (NNBi) to the image of its previous NNB (NNBo), MS3 has detected that it can no longer receive the beacons of one or more members ('O's in NNBi), which were previously represented as ' l's in NNBo of MS3.
In Step 52, the detecting MSa takes a snapshot of its NNB at its current value, NNBi, which is saved until CEC is reached. In Step 53, the detecting MSa prepares to send an MCmd by calculating several parameters. First, MSa creates a list of the beacons that have been lost, the Lost Beacon List, LBL. The members of the LBL {MSj} are the MSs represented by ones in the result Of (NNB1 θ NNBo) Λ NNB0, where θ is the exclusive OR
operator and Λ is the logical AND operator. For convenience, the result of this
expression shall be referred to as the Lost Beacon List, LBL=(NNBi © NNBo) Λ NNB0.
In addition, MSa begins keeping a running value of the Beacon Detect Bitmap Flag, BDBF3, which it initializes to NNBi. The further use of BDBF is outlined in subsequent steps.
Finally, MS3 calculates the parameter CEC = BCC + ΔT, where ΔT = NS - NNNBI - RP- NNNBI is the number of neighbors still within range (i.e., number of Ts remaining in NNBi). RP is the relative position of ' 1 's in the LBB with respect to MSa. RP is equal to the number of ' 1 's in the LBB that represent MSs with a larger SID than MSa. For example, if SID3 = 5 and LBB = 0101000010, then the value of RP is 2 since the ' 1 's in LBB are located at SIDs 2, 7, and 9. If LBB = 0000001011, then RP = 0, because all SIDs represented by the ' 1 's are in lower bit positions than SID3 = 5.
In Step 54, MS3 shall send the Nearest Neighbor Change, NNC command, which is shown in Table 9, with its SIDa as the Originator SID, the CEC and
BDBF calculated in Step 52, and an LBL consisting of the ' 1' bit positions (SIDs) in the LBB. Step 55 is discussed in the section titled "Conditional Preprocessing of NNC Fields." For this discussion, assume that no preprocessing of a received NNC MCmd is required.
Table 9: NNC MCmd Format
Figure imgf000028_0001
Step 56 applies to all members of the mesh network including MSa. It is assumed that the NS parameter in any received NNC command is equal to the NS in the beacon. If this is true, the NNC command is executed throughout the mesh as follows:
When any MSx receives more than one NNC MCmd during one beacon cycle, they are reduced to a set of unique NNCs using the following rules:
1. Any NNCs with identical LBLs shall be combined into one NNC and retransmitted. This is true regardless of whether they have the same or different Originator SIDs.
2. Each retransmitted NNC is defined as a unique NNC. 3. The CEC shall be the smallest CEC received, and the Originator SID shall be that contained in the NNC with the smallest CEC.
4. The NS is the current beacon NS, which for this case is also common to all NNCs MCmds. 5. Before a unique NNC MCmd, NNCk, is retransmitted, the receiving MS,
MSy, recomputes the BDBF parameter. The received BDBF parameter shall be called BDBFr and the recomputed-for-transmission BDBF parameter shall be called BDBFt. BDBFt is the logical OR of all of the following: • All ofthe BDBFr values associated with each unique NNCk that have been received since the previous beacon was transmitted:
• The BDBF retransmitted in the previous beacon by MSx, NNC associated with the same unique NNCk-
• For the receiver ofthe NNC MCmd, MSx: the current (sampled) value ofthe NNB, NNB1, with a ' 1 ' added back into any bit position that is not in the received LBL, and is in the LBL of a pending NNC MCmd that was originated by MSx.
The receiving MSx retransmits all ofthe unique NNC MCmds with the new BDBFs, the current NS, and the originator SID associated with the smallest CEC, for each common LBL.
To summarize the previous receive logic for a unique NNCl: When any MS receives an NNC command and if this is the first time that the NNC MCmd has been received, then MSx takes a snapshot of its current NNB, NNBi, but preserves the ' 1 ' for any distinct lost beacon that had resulted in the MS sending its own pending NNC MCmd.
Regardless of whether or not this is the first time that the NNC MCmd has been received, MSx ORs its NNBi with every received BDBFr for that NNC and LBL combination. The result is that the retransmitted BDBFt is a result of BDBFr i v ...V BDBFrn v NNBi.
One final rule is that while an MS is executing one or more NNC MCmds, it shall not originate its own NNC command until the CEC + 1 beacon cycle of the last NNC pending. At that time, the MS may take a snapshot of its NNB and compare the snapshot with its NNB (adjusted for dropped MSs) at the point when the first NNC was received.
Step 57 shows that this process shall be repeated until the CEC for the unique NNC MCmd is reached.
When the CEC beacon cycle is reached, the meaning of a "1" in BDBF bit position k (where k is one of the SIDs listed in the LBL) is that "at least one MS in this mesh network can receive the beacon that is transmitted by MS*". The meaning of a zero in bit position,/ is "No MS in this mesh network can receive the beacon that was transmitted by MSj," Thus, zero specifies that the station is no longer part of the mesh. Every MS in the mesh network has the same BDBF on the CEC-I beacon cycle unless there is a '0' in a bit position not listed in the LBL, in which case the NNC MCmd has not propagated through the entire mesh and must be propagated for additional beacon cycles. The exact number of additional beacon cycles is outside the scope of this invention. Step 58 and Step 60 show that if the BDBF contains a 'O' in a bit position specified by an LBL entry and nowhere else, then the MS takes the following actions on the CEC beacon cycle:
1. The MCC is incremented by one to indicate that a new iteration of the mesh membership is in effect.
2. The existence of 'O's in the BDBF compresses all bitmaps. The corresponding MSs are thus dropped from the network. The value of NS is also decremented by the number of 'O's.
3. If a remaining MS has a larger SID than the SID associated with the bit position of one '0' in the BDBF, then it shall decrement its SID by 1 before transmitting its beacon. If an MS has a larger SID than the bit position of two 'O's, in the BDBF, then the MS shall decrement its SID by 2, and so on. This results in all MSs having consecutive numbers with no gaps in the sequence. The SIDs remain a function of the bit map bit position, although for some embodiments they may not be equal to that index.
4. Any bitmap that is the old NS in length shall be shortened to the new NS length by removing bits corresponding to the 'O's in the BDBF.
5. The MS shall keep a temporary bit map called the Dropped Member Bitmap, DMB. The DMB is equal to the BDBF when BCC = CEC - 1, and it shall be retained for NS additional beacon cycles after BCC = CEC. The use of this is described in the next section. In Steps 58 and 59, if the BDBF is all Ts, then the all MSs are still members of the mesh and no changes to bitmaps are required. This can occur if an MS changes its transmit power, or roams out of range of one MS and is in range of another MS. Table 10 summarizes the variables that an MS shall keep for each unique
NNC MCmd originated or received. All variables, except for DMB, are no longer needed at CEC time. DMB is no longer needed on the CEC + NS beacon cycle.
Table 10: Temporary MS Variables Per Unique NNC MCmd
Figure imgf000033_0001
Step 55: Conditional Preprocessing of Received NNC Fields
The NNC MCmd contains three fields that are needed to process overlapping NNC MCmds: the Originator NS field, the Originator SID field, and the LBL field. These are required because of possibilities shown by Fig. 8 and Fig. 9, which are time lines of the events associated with two NNC commands and three NNC commands, respectively. A separate bar shows the propagation of each MCmd. Fig. 8 shows that after MSl has transmitted the NNC MCmd, but before MS2 has received it, MS2 may send its own NNC MCmd after losing a beacon. The Originator SID field is the unique identifier for the NNC MCmd because only one NNC command can be associated with an MS at a time. Therefore, each MS shall retransmit every NNC command that it receives with a distinct Originator SID field, unless their LBL fields are identical. Note that, because the originator can be any MS in the mesh, it is possible for a particular MS (e.g., MS3 in Fig. 8) to receive the NNC MCmds in a different order than they were transmitted.
Fig. 9 is used to show why the NS field and the DMB temporary data are required. The "MS2 NNC2 Originate Interval" in Fig. 9 is the same interval in which NNC2 was generated in Fig. 8. The "MS3 NNC3 Originate Interval" is a different type of interval because NNCl MCmd has completed on beacon cycle CECl, and the remaining zeros in the BDBF field of NNCl have caused a decrease in the value of NS from NSl to NS2. Since NNC2 was transmitted before the CECl beacon cycle, the transmitted NS in NNC2 is larger than the newer NS being sent in all of the post-CECl beacons.
The following is an explanation of the "preprocessing" required in Step 55 in Fig. 7. When MSl, MS2, or MS3 receive NNC2 after the CECl beacon cycle as in Fig. 9, then they shall first perform the following operations if and only if the Origination NS in the NNC is same as the current NS: 1. NNC commands from different originators are considered redundant if the LBLs are identical. Only one NNC command shall be retransmitted. The NNC MCmd with the smallest CEC shall be retransmitted if the CECs are different, otherwise the NNC with the smallest originator SID shall be retransmitted.
If the originator NS is greater than the current (beacon) NS, then perform the following preprocessing operation per MS:
1. If any SID in the LBL field is the same as an SID represented by a zero in the DMB, then that LBL entry shall be eliminated from the NNC MCmd before retransmission. The eliminated LBL entry represents an MS that has already been dropped from the mesh network. If all of the entries in the LBL represent member stations that have already been dropped from the mesh network, then the received NNC MCmd shall be ignored and not retransmitted.
2. The received BDBF shall be reduced according to the DMB retained from the completion of the previous NNC MCmd.
3. The remaining entries in the LBL shall be decremented by the number of 'O's in the DMB that represent SIDs that are smaller than the LBL entry. This is the same rule used to modify the SID values of the remaining MSs after one or more MS has been dropped.
4. Compress the received BDBF by eliminating the same bit positions of the BDBF as the zeros in the DMB. The result of this operation is that the retransmitted BDBF no longer contains any of the dropped MSs. 5. Set the Originator NS to the current (beacon) NS.
6. Eliminate NNC commands from different originators that are redundant if LBLs are identical. The NNC MCmd with the smallest CEC shall be retransmitted if the CECs are different, otherwise the NNC with the smallest originator ID shall be retransmitted. 7. Finally, the NNC MCmd shall be retransmitted with the new values for BDBF, Originator NS, and LBL.
In Fig. 9, MSl, MS2, and MS3 may all be required to perform this BDBF preprocessing operation upon receipt of NNC2. This preprocessing on BDBF and originator NS shall be completed before performing any of the operations mentioned in Step 56.
Examples of One Lost Beacon Suppose a linear network where each MS, except for the first and last MS, is only connected to two other MSs, as shown in Fig. 5a. (Note: The linear configuration is the worst possible in terms of number of links between piconets. All ΔT values are calculated assuming a linear configuration.) IfMS0 were to leave the network as in Fig. 5b, then both MSb and MSa would detect this. MSb and MSa would each set the BDBFs to their NNBs and originate an NNC MCmd. Each sets the CEC to the current BCC + NS - NNNB - RP- In this case NS = 5 (MS0 is still treated as a member of the original mesh network, and NNNB = 1» since both MSb and MSd are currently only connected to one other MS. After a maximum (5 - 1 - 0), or 4, beacon cycles, MS0 will be dropped from the mesh network.
In this case, the original mesh network will split into two new mesh networks as a by-product of the invention's process. MSa and MSb are still connected to each other but they cannot hear the beacons of MSd and MSe, as in Fig. 5b. The same is true for MSa and MSe — they cannot hear MSa and MSb. Therefore, when MSC is dropped from the entire network, MSa and MSb form a network, and MSd and MSe form another network. This all happens by the end of 4 beacon cycle counts after MSC leaves the network. MSd then becomes the root MS of its mesh network when its SID is decremented by 3 as a result of the 3 zeros in its final BDBF=I 1000, and MSa retains the title of root MS for its mesh network with its final BDBF=OOOl 1. MSd will then be in charge of updating the
BCC for the mesh network containing MSa and MSe.
Fig. 6a through Fig. 6c show a more complex (non-linear) network configuration. This example is used to show how the lost beacon is resolved and the mesh network is reorganized after a change is detected. Table 11 will help to show how the bitmaps are filled during each beacon cycle. In this example, MS3
(SID = 3) is dropped from the network. The lost beacon resolution process can be followed by stepping down through the rows of Table 11, with help from Table
12, which shows the NNBs and the NNNB for each MS before and after MS3 stops sending beacons. In both of these tables, as with previous examples, the lsb of all bitmaps is on the right hand side. The ' Vs in the NNB corresponds to the lines connecting MSs in Fig. 6a and then Fig. 6b.
In Table 11, the "UNJOIN" at BCC = 1 indicates that MS3 beacon is no longer detected. When BCC = 2, bit 3 in the NNB of both MS4 and MS2 changes from a ' I ' to a '0'. The mesh network now has the topology shown in a Fig. 6b.
Figure imgf000038_0001
Table 12
NNB and NNNB Before and After Losing the MS3 Beacon. (See Fig. 6a and Fig. 6b for mesh network topology)
Figure imgf000039_0001
When BCC = 3, MS2 signals the change in its NNB by originating the
NNCl MCmd with CECl = BCC + NS - NNNB - RP = 3 + 8 - 2 - l = 8, where NNNB is the number ' 1 's in NNB, and RP is ' 1 ' since the SID of the lost beacon (3) is greater than the SID of the detecting MS, (2). Similarly, MS4 originates the NNC2 MCmd with CEC = BCC + NS - NNNB - RP = 3 + 8 - 2 - 0 = 9, where RP is 0 because the SID of the lost beacon (3) is less than the SID of the detecting MS, (4). The two commands have identical LBLs, reporting that the beacon of MS3 has been lost.
In Table 11 for BCC = 3, the BDBF entries are the BDBFs transmitted by the indicated MS. These are calculated by ORing all of the BDBFs received since the MS transmitted its beacon in the previous beacon cycle (2), and with its own NNB. We define the BDBF for NNCx MCmd as BDBFx. Thus for MS4, BDBF4 = NNB4, for MS5, BDBF5 = NNB4 v NNB5, MS6, BDBF6 = NNB4 v NNB5 v NNB6, and for MS7, BDBF7 = NNB2 v NNB7. While BCC = 4, the NNCl MCmd is retransmitted by MSi with BDBFi calculated using the BDBF2 transmitted by MS2 in the previous beacon cycle ORed with the NNB from MSi. MS4 calculates a new BDBF4 by ORing the previous BDBFs for MS5 and MS8 with its own previous BDBF4Jn this case there was no BDBF for MSs in the previous beacon cycle. MS5 calculates its BDBF5 from the current value of BDBFi, the newly calculated value for BDBF 4 for MS4, and the previous BDBF values for MS5, MS6 and MS7.
In general, for any MSk, the value for BDBFk is calculated (with the connectivity in Fig. 6b) using the connected neighbor's previous BDBF when the connected neighbor has an SID greater than the SID of MSk. Otherwise, if the neighbor SID, SIDj, is smaller than that of SIDk, the newly calculated value of BDBFj is used in the calculation for BDBFk. Therefore, it is best to calculate the values for BDBFk in Table 11 from the smallest SID to the largest SID.
For BCC = 4, the X'ed out NNC2 entries for MS5 and MS6 indicate! that NNC2 MCmd is assessed as redundant because the LBL is identical to that of NNCl and CEC2 > CECl. NNC2 is therefore not retransmitted, and is subsequently ignored by MS5 and MS6.
The propagation of NNCl and NNC2 continue during BCC = 5, with MS4 and MS8 also eliminating NNC2 as redundant. NNC2 is not shown in subsequent beacon cycles.
In BCC = 6, MSi is the only remaining member that does not have the final BDBF 1 = 11111011. At BCC = 7, all members have the final value of BDBFl. When BCC = CECl = 8, a copy of the BDBF is retained as DMB and saved for NS beacon cycles. All members drop the MS3 bit from all bitmaps, including NNB, because bit 3 in the BDBF is a '0' indicating that no MS can receive a beacon from MS3. Each MS, whose SID is greater than 3, decrements the SID by ' 1 ' . The renamed MSs are now consistent with the modified bitmaps.
Example of Two Lost Beacons
The two-MS drop case is based on the network shown in Fig. 10a. Table 13 shows the sequence of NNC commands for resolving the lost beacon of MS9, which happens during BCC = 2, followed by the lost beacon OfMS6 during BCC = 4. The word "UNJOIN" indicates the loss of a beacon for that MS is detected.
The first change that the loss of MS9 produces is that the msb of the NNB for MS8 is no longer set in BCC = 2. This corresponds to the deletion of MS8 between Fig. 10a and Fig. 10b. Next, MS8 sends the NNCl MCmd in response to the loss of MS9 during
BCC = 3. The CECl is calculated as BCC + NS - NNNB - RP = 3 + 9 - l - l = 10. NNNB is ' 1 ' because there is only one beacon left in the NNB OfMS8. This corresponds to the line connecting MS8 and MS7 shown in Fig. 10b. RP is 1 because the SID of the loss beacon (9) is larger than the SID of the originator of the NNCl (8). The LBL is the SID of the lost beacon as shown in the last column of the Table 13.
The beacon of MS6 is lost during BCC = 4, which produces a change in the NNB Of MS1. When BCC = 5, MS1 originates NNC2 to resolve the loss Of MS6. CEC2 = BCC + NS - NNNB - RP = 5 + 9 - 1 - 1 = 12. The mesh now looks like Fig. 10b. The NNC2 MCmd propagates among all of the MSs during BCC = 5, because the sequence of beacons is in SID order, 1, 2, 3...9. Each MS can receive every proceeding beacon before transmitting its own. The BDBF is formed when each MS performs a logical OR operation on all received versions of BDBFs since it transmitted its previous beacon. In this case, the BDBF contains 'O's for both lost beacons by the time it propagates to MS8.
Figure imgf000043_0001
Since MS7 and MS2 are within range of each other. NNCl propagates from MS2 starting on BCC = 5 as a result of the NNCl sent in the beacon of MS7 during BCC = 4.
For BCC = 6 to BCC = 9, both NNC MCmds are propagated through the mesh network. When BCC = 9, NNCl propagation has resolved dropped beacons, 6 and 9. The reason that both lost beacons are resolved in NNCl is that MS6 was not connected to an MS that NNCl had reached before its beacon was lost. If MSe had been within range of MSg, the bit corresponding to MS6 would have remained set in the NNB of MS8. This is because MS8 takes a snapshot of its NNB when originating the NNC 1, which it uses to OR with subsequently received BDBFs until CECl time. For this case, only NNC2 would have detected the loss of MS6 by all members of the mesh.
For the Table 13 case, when CEC = 10 the DMB (= BDBFl, when BCC = 9) contains a zero at the same SID position as the LBL of NNC2. This allows each MS to eliminate NNC2 as indicated in the text for Fig. 7, Step 55.
Since the BDBF contains 'O's at the SID=6 and SID=9 bits, those positions in the NNB bitmap are eliminated. In addition, NS becomes 9 - 2 = 7. In order for the remaining MSs to correspond the to the correct bits in the new NNBs, MS8 and MS7 must decrement their SIDs by 1. In Fig. 7, this was shown as Step 60. There is one '0' in the BDBF at SID=6, which is less than 8 and less than 7. The final mesh network at BCC=IO is shown in Fig. 10c.
Sharing Member Frame Intervals Regardless of the topology of the mesh network, each MS can fundamentally only transmit during its MF interval (time slot) (Fig. 1 and Fig. 2). If an MS is only within range of a few other members, then there is the possibility that the MS can transmit at the same time as some other member without interfering with any other MF transmission. Fig. 11 and Fig. 12 show that the MS represented as a circle with lines can transmit during the same time slot as an MS represented by a white circle, but may not transmit at the same time as an MS represented as the shaded circle. Described here is the method that allows sharable time slots determination, acquisition for use, and finally releasing the time slots when done.
Determining Sharable Member Frame Time Slots
In order to determine what time slots can be shared, the connectivity of the network must be determined one level deeper than the NNB of the node requesting the bandwidth. This is due to the following. A node (say MSx) must not be within range of both the requesting node and the node whose timeslot it is requesting. Otherwise, MSA- will hear two devices transmitting at once. What the requestor MS needs is a bitmap of all MS IDs that are not usable because the MSs can hear both the requestor and the MS whose time slot is being requested. Fig. 11 indicates this for a linear mesh with 11 MSs. The MS with the SID
= 5, MS5, wants to use the same time slot as another member. The shaded MSs are those whose time slots cannot be used. For example MS3 cannot be used because MS4 can hear both MS5 and MS3. A Non-Usable Slot Bitmap (NUSB) is defined such that NUSB = 00001111100, where all the 1 's are in the bit positions representing MSs that whose time slots cannot be uses by MS5, (the SID=I position is the right-most bit). Thus the 'O's in the NUSB represent the MSs with sharable MF intervals.
The NUSB is determined using the Map Available Slots (MAS) MCmd defined in Table 14.
Table 14: MAS MCmd Format
Figure imgf000046_0001
The MAS MCmd is executed, and the NUSB is computed as follows:
1. The requesting MSx originates MAS command with a NUSB set to the originator NNB with the addition that the MSx bit is also set. CEC = BCC
+ NS - NNNB.
2. For any MS receiving the command: If the SID of the originator is in its NNB then replace the value received for the NUSB with the received NUSB ORed with its own NNB.
3. Retransmit the MAS command with the modified NUSB field.
4. Do this until BCC = CEC. 5. The value of NUSB that comes back to the originator at BCC = CEC has O's in bit positions representing MFs that may be requested.
This algorithm works for both linear and non-linear topology cases. Fig. 12 is the diagram for a nonlinear topology with 9 MSs. To arrive at the value for the
NUSB when the MS6 is the requestor, the value the NNBs OfMS6, MS5, MS7 and MS8 are ORed together. Remembering that the SID=I bit is at the right hand end of the string, the NNBs are as follows: NNB6=Ol 1010000, NNB5=OOOIOOIOO, NNB7=OOOIOOOOO, NNB8=IOO I OOOOO. The resulting non-usable slot bitmap NUSB6 will be 111110100, so time slots from MS1, MS2, and MS4 are ones that can be acquired for reuse by MS6.
IfMS9 is the requestor then NUSB9=I 10100111. The usable time slots are those OfMS4, MS5, and MS7.
Acquiring Sharable Member Frame Time Slots
Now that possible MFs are known from the MAS command, it is now desirable to actually acquire one or more of them for use. Any MS using an acquired time slot shall keep track of which time slots that it has acquired and its NUSB. The shared slots are recorded using a Shared Slot Bitmap (SSB). For an MS requesting one or more time slots, it shall transmit an Acquire Time Slots (ATS) MCmd, with a Granted Slot Bitmap, GSB, initialized to the one's compliment of NUSB indicating that all possible time slots are granted. An MS shall only originate an ATS MCmd if there is no pending ATS MCmd being received. A receiving MS, MSx, may alter the GSB by resetting one or more of the bits before retransmitting the GSB in its own beacon.
Table 15: ATS MCmd Format
Figure imgf000048_0001
The algorithm for resetting the bits is based on the fact that two MSs may not use the same time slot if any MS can receive both of their beacons. The algorithm is as follows. In other words, a neighbor's neighbor shall not allow a shared slot that the neighbor's neighbor is already using (sharing) because the two transmissions will collide on their common neighbor. If there is a ' 1 ' in the receiver NUSB, NUSBx, at the bit position corresponding to the originator SID, then there will be a collision if MSx and the originator both use the same time slot. Therefore, the receiving MSx resets the proper bits in the received GSB with the following operation: GSB = (GSBΛ SSBX) θ GSB, where θ is the exclusive-OR operation. The new value is used in the retransmitted ATS MCmd. If the receiving MS is not using any shared time slots, then SSBx is all zeros, and the MSx retransmits the ATS MCmd without altering GSB. When BCC = CEC, the originator has a copy of GSB that contains ' l's in the bit positions for sharable time slots that it is allowed to use. The originator may now send data during those shared timeslots without the possibility of interfering with other MSs.
When an MS stops using a previously acquired slot, it shall send a Release Time Slot (RTS) MCmd containing a list of the time slots that are no longer being used. The RTS MCmd is shown in Table 16. This command informs the network that the time slot is available for use by any MS, and in particular, an MS whose request was previously rejected. The receipt of this command by the original requestor will result in it sending a new request (ATS) for that time slot.
Table 16: RTS MCmd Format
Figure imgf000049_0001
Roaming Within a Mesh Network
If an MS is free to move about the area of the mesh network, these movements can change the network topology and cause a given MS to be in or out of range with the roaming MS. Therefore, every time an MS moves, the NUSB and the GSB may need to be re-determined since there is the possibility of a shared slot time causing interference.
There are two possible situations for movement within the network. One is an MS moving out of range of one neighbor MS and into range of another. An MS originating the NNC MCmd indicates the absence of a beacon, which is then resolved as no 'O's in the final BDBF, and therefore no members dropped from the network.
The second case is a member that does not roam out of range of any other member and does move within range of at least one new member. The member that detects a previously unheard member (MS2) beacon shall also originate an NNC MCmd with MS2 in the LBL parameter.
When any MS that is sharing a time slot receives an NNC MCmd, the MS shall cease using that shared slot. The MS shall then originate an MAS MCmd followed by an ATS MCmd to re-acquire usable shared time slots.
RF Interference and MCmd Propagation
RF Interference from sources not associated with the mesh network will increase the time required to propagate an MCmd throughout the mesh network. The only MCmd that can detect if it has not fully propagated at CEC time is NNC. The parameter BDBF will only have a '0' in a location that is not included in the LBL parameter if NNC has not folly propagated through the mesh. Any MS satisfying this condition interprets the result as "no change to the mesh." This was shown in Step 58 of Fig. 7, and must continue to propagate NNC for an additional period of time, which will be implementation dependent.
In order for other commands to share this capability, the parameter shown in Table 17 must be added each MCmd except NNC. This shall be the last parameter in the MCmd if it is present.
Table 17: MPB Parameter Format
Figure imgf000051_0001
When an MS receives an MCmd containing the MPB parameter, it shall set the bit corresponding to its own SID and retransmit the MCmd. The CEC of each MCmd must be initially set to CEC = BCC + NS - NNNB by the originator, in order to allow both for the original MCmd and the retransmitted command to propagate. At CEC time, each MS checks to see if there are any 'O's remaining in the MPB. Any zero corresponds to an MS that either did not receive the MCmd at all, or did not receive in time to propagate the modified MPB to the rest of the mesh. There are several possible methods for recovering a zero in the MPB. The individual station may do nothing and wait for the result to be propagated by a node with which the MCmd did complete successfully, or it may continue to propagate the MCmd for an additional interval, new CEC parameter. In addition, originator of the original MCmd may re-originate the MCmd that did complete successfully. The exact recovery mechanism is implementation dependent. Depending on the mechanism chosen, an additional propagation time parameter may have to be added to the MCmd if this time parameter is needed to calculate the extended CEC time.
Advantages Of This Mesh Network Implementation
• Data structures (bitmaps) for control scale linearly with the number of mesh network members, NS.
• Complexity of resolving a lost beacon is efficient and independent of the number of members in the mesh.
• Multiple lost beacons are resolved correctly regardless of when the lost beacons occur and at the earliest possible times
• Time slots can be shared as much as the network topology allows.
• Roaming of members and partitioning of mesh into independent parts is supported transparently.
• Joins can be done either with one unjoined station, or an entire unjoined mesh network.

Claims

WHAT IS CLAIMED IS:
1. A method for managing a wireless network of member stations, comprising the steps of: joining a station to a mesh network of stations; adding together two networks of member stations; removing a member station from the network; moving a member station within a network; and sharing time slots used by other members.
2. The method of Claiml wherein the step of joining a station to a mesh network further comprises the steps of: a) operating the unjoined station on the same frequency as the mesh network; b) if the unjoined station is in a range of a mesh member station, detecting and decoding a beacon transmitted by a mesh member station; c) the unjoined station transmitting a request-to-join command to the mesh member during its time slot; d) one mesh member station authenticating the requested unjoined station; e) the authenticating mesh member station granting permission for the unjoined station to join the mesh network at a specified join time, and propagating that information throughout the joining mesh network; f) the unjoined station becoming a member of the mesh network at the specified join time, and updating network topology with the new member in the network.
3. The method of Claim 1 wherein the step of adding together two networks of member stations further comprises the steps of: a) a first detecting member station in a first network detecting a second detecting member station in a second network; b) the second detecting member station detecting the first detecting member station; c) the first and second detecting member stations exchanging overall network size parameters for comparison; d) the detecting member station in the smaller network sending to the detecting member station in the larger network a request to join the larger network, which is acknowledged by the larger network; e) the detecting member station in the larger network completing the authentication process and informing its other members that the smaller network will be joining the larger network at a specific future time; f) the detecting member station in the smaller network also receiving the larger network join message and the specific future time, propagating to the other members of the smaller network the command to stop transmitting; g) at the specific future time, the member stations in both networks expanding all of their bitmaps to the length in bits of the combined network and the network size to the value equal to the size of the combined network; h) at the specific future time, detecting member station in the larger network propagating to its own members and the detecting member station of the smaller network that the merge is beginning and will end at the second future time; i) at the specific future time, the member stations of the smaller network calculating new ID numbers by adding their current ID number to the size of the larger network; j) at the specific future time, the detecting member station in the smaller network adopting the larger network's cycle count and its current indicator of a change to the mesh membership or topology; k) at the specific future time, the detecting member station in the larger network propagating a command to both the larger network members and the detecting member of the smaller network to begin the merge with the time of completion set to a second future time. 1) all members of the larger network and the detecting member of the smaller network beginning to propagate the combined total size to other member stations in the combined network; m) each member of the smaller network restarting its transmissions in synchronization with the detecting member station in the smaller network using the size of the combined network, their updated ID numbers, and the expanded bitmaps of the combined network; n) all member stations in the combined network propagating the combined network parameters in their transmissions; o) at the second future time, the start of detecting a possible missing member station of the combined mesh to be removed from the expanded bitmaps of all remaining member stations at a third future time.
4. The method of Claim 1 wherein the step of removing a member station from the network further comprises the steps of: a) a first member, station detecting that a neighboring member station is no longer present; b) the first member station setting a timer to allow for propagation of the identification of the lost neighboring member station; c) the first member station transmitting a loss of contact signal to notify the loss of the neighboring member station, an indication of current nearest neighbors, and the member(s) no longer present; d) all member stations receiving the loss of contact signal, determining if the loss of contact signal is redundant and contains the same lost station ID as the one that has already been dropped from processing a previous loss of contact signal, and eliminating redundant loss of contact signals and excluding previously eliminated member stations; e) each member station propagating the received loss of contact signal to its neighboring member stations, and signaling the identities of all the member stations it can hear pooled with the identities of all the member stations audible to the other member stations in the network as propagated by them; i) for any listed member stations in the network not audible to any signaling member station, dropping all non-audible member stations from the network; and all member stations adjusting their identities and remapping the network to eliminate any lost member stations and updating its current indicator of a change to the mesh membership or topology.
5. The method of Claim 1 wherein the step of moving a member station within a network further comprises the steps of: a) a member station detecting that a neighboring member station is no longer present, or a member station in the network detecting a previously unheard member, or both; b) the detecting member station setting a propagation timer to allow for propagation of the identification of a change in nearest neighbor stations; c) the detecting member station transmitting a loss of contact signal to notify the change in the neighboring member station, an indication of current nearest neighbors, and the member(s) no longer present, if any; d) all member stations receiving the loss of contact signal, determining if the loss of contact signal is redundant and contains the same lost station ID as the one that has already been dropped from processing a previous loss of contact signal, and eliminating redundant loss of contact signals and excluding previously eliminated member stations; e) each member station propagating the received loss of contact signal to its neighboring member stations, and signaling the identities of all the member stations it can hear pooled with the identities of all the member stations audible to the other member stations in the network as propagated by them; f) when the propagation timer has timed out, for any listed member station in the network not audible to any signaling member station, dropping all non- audible member stations from the mesh network; and all member stations adjusting their identities and remapping the network to eliminate any lost member; g) when the propagation timer has timed out, for all listed member stations still audible by at least one other member station, no dropping of any member station from the mesh network; h) for either dropping or not dropping member stations from the mesh network, updating the current indicator of a change to the mesh membership or topology.
6. The method of Claim 2 wherein the step of adding together two networks of member stations further comprises the steps of: a) an unjoined station detecting member stations of two mutually non- communicating meshes; and b) the unjoined station using the method of Claim 2 to join either of the non-communicating mesh networks, the smaller network being preferred.
7. A method for a member station to make use of unused time slots in a member station beacon cycle, comprising the steps of: a) having each member station keep a map of neighbor stations that the member station can hear, and the stations that neighbors can hear (neighbors-of- neighbors); b) a first member station selecting one or more slots not listed in the map as slots that it requests to share; c) the first member station transmitting a map of selected slots to the other member stations in the network to notify the member stations of its desire to use the slots; d) each member station receiving the map of desired slots, removing a time slot from the map if interference would take place when the first member station uses the time slot, and propagating the resulting map to the remainder of the network; e) after propagation of the map to all mesh members, the map containing the granted time slots that may be used by the first member station to transmit data; f) The first member station using one or more granted time slots to transmit data; g) the first member station marking the time slot as no longer in use as a map of released time slots, and transmitting the map to the other member stations in the network to notify them of the release. h) the neighbor stations of the first member station receiving the map of released time slots, propagating the map to all other member stations, and so on throughout the mesh network.
8. The method claimed in Claim 7, further comprising the steps of: a) any member station using a shared time slot and receiving the loss of contact signal, stopping the use of all shared time slots; b) the propagation timer for the loss of contact signal timing out with dropouts being resolved, and for all member stations for desiring to use shared time slots, re-determining what time slots can be shared. c) creating a new neighbor and neighbor-of-neighbor map. d) propagating a new requested slot map to obtain a new map of sharable time slots; e) using the time slots specified by the map of sharable time slots to send data; f) releasing aforementioned timeslots when they are no longer needed.
9. The method of Claim 4 wherein the step of removing a member station from the network further comprises the steps of: e) one of the member stations stopping transmission of its beacon; f) one of the remaining member stations detecting the stopping of transmission and updating its NNB; g) the remaining member station within range of the absent member, transmitting in its own beacon, a nearest neighbor change MCmd (NNC) and a change effect cycle count (CEC) value equal to current BCC + NS - NNNB - RP , where NS is the total number of member stations before any member went off-line and NNNB is the number of member stations whose beacons are now heard by the remaining member stations, and the parameter BDBF = NNB, and the LBL list of member stations whose beacons are newly lost; h) each member station that has not already transmitted an NNC, but has received an NNC in the beacon from any other member station with an identical lost beacon list (LBL), retransmitting (thus repeating) an NNC and the smallest CEC received from any master station in its own next beacon; i) every member station that has received a beacon with an NNC transmitting in its next beacon an NNC with a Beacon Detect Bitmap Flag (BDBF) having non-zero values in locations representing member stations that can be heard by that member station; j) every member station receiving the BDBFs, logically OR-ing all of the BDBFs together with its own NNB, to produce an ORed BDBFs with NNB, and storing and retransmitting in its next beacon the NNC with ORed BDBFs with NNB as its BDBF parameter; and k) every member station receiving the NNC with the ORed BDBF, logically OR-ing that BDBF with its stored BDBF to produce an updated BDBF, and storing and transmitting the updated BDBF in the retransmitted NNC; and repeating the steps of receiving, OR-ing, storing and transmitting until the cycle count BCC is equal to the value CEC; 1) the value of BCC = CEC being reached, and the BDBF containing one or more bits with the value zero, all member stations compressing all bitmaps to eliminate the positions represented by the 'O's in the BDBF, and reassigning the SIDs such that the remaining bit positions are assigned to the correct member stations; m) if the value of BCC = CEC being reached and the BDBF containing only bits with the value ' 1 ', making no changes to bitmaps or bitmap assignments. n) each member station resuming beacon transmissions at the new beacon time specified by its modified SID.
10. The method of Claim 1 wherein member stations compensate for delays in the propagation of time slot data, beacons, commands, and member station data by the steps of: a) each member station transmitting a propagation bitmap with one bit for each member station corresponding to its station ID, and possibly transmitting an extended time parameter; b) each station receiving the data with the propagation bitmap, setting the bit corresponding to its station ID, and propagating the data with the revised bitmap; c) the original propagation time value being reached, each member station determining if there are any zeros remaining in the propagation bitmap; d) a zero being present in the propagation bitmap, the station either taking no further action or terminating the operation; e) or a zero being present in the propagation bitmap and the station continuing to propagate the command for an amount of time specified by the extended time parameter received with the propagation bitmap, and propagating a new extended time parameter; f) a zero not being present in the propagation bitmap, the member station completing the required operation.
11. The method of Claim 1 wherein any member station may be the controller of its own local area network (LAN) or personal area network (PAN).
PCT/US2006/026773 2005-07-11 2006-07-11 Mesh network and piconet work system and method WO2007008823A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/178,697 US20050243765A1 (en) 2003-07-25 2005-07-11 Mesh network and piconet work system and method
US11/178,697 2005-07-11

Publications (2)

Publication Number Publication Date
WO2007008823A2 true WO2007008823A2 (en) 2007-01-18
WO2007008823A3 WO2007008823A3 (en) 2009-04-09

Family

ID=37637846

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/026773 WO2007008823A2 (en) 2005-07-11 2006-07-11 Mesh network and piconet work system and method

Country Status (2)

Country Link
US (1) US20050243765A1 (en)
WO (1) WO2007008823A2 (en)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7583648B2 (en) * 2003-05-08 2009-09-01 Meshdynamics, Inc. Managing latency and jitter on wireless LANs
GB0317372D0 (en) * 2003-07-25 2003-08-27 Royal Holloway University Of L Routing protocol for ad hoc networks
US7346021B2 (en) * 2003-08-06 2008-03-18 Matsushita Electric Industrial Co., Ltd. Master station in communications system and access control method
JP2005094169A (en) * 2003-09-16 2005-04-07 Sony Corp Wireless communication system, wireless communication device and wireless communications method, and computer program
US8014378B1 (en) * 2003-10-23 2011-09-06 Itt Manufacturing Enterprise, Inc. Method and apparatus for automatic control of time-of-day synchronization and merging of networks
US8090857B2 (en) 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
KR100579525B1 (en) * 2003-12-30 2006-05-15 삼성전자주식회사 Channel time allocation method in WPAN
EP1779567A4 (en) * 2004-08-18 2008-12-24 Staccato Communications Inc Beacon group merging
SG122826A1 (en) * 2004-11-12 2006-06-29 Matsushita Electric Ind Co Ltd Method of leader beacon group selection during beacon group merging in decentralized wireless networks
US7522540B1 (en) * 2005-04-15 2009-04-21 Nvidia Corporation Extended service set mesh topology discovery
US7502354B1 (en) 2005-04-15 2009-03-10 Nvidia Corporation Mesh networking using point coordination function
US7835301B1 (en) 2005-04-15 2010-11-16 Nvidia Corporation Extended service set mesh topology representation
US7606175B1 (en) 2005-04-15 2009-10-20 Nvidia Corporation Extended service set mesh path selection
US8509442B2 (en) * 2005-07-27 2013-08-13 Sharp Laboratories Of America, Inc. Association, authentication, and security in a network
US7720471B2 (en) * 2005-07-27 2010-05-18 Sharp Laboratories Of America Method for managing hidden stations in a centrally controlled network
US20070058659A1 (en) * 2005-07-27 2007-03-15 Ayyagari Deepak V Method for providing requested quality of service
US8175190B2 (en) 2005-07-27 2012-05-08 Qualcomm Atheros, Inc. Managing spectra of modulated signals in a communication network
US7856008B2 (en) * 2005-07-27 2010-12-21 Sharp Laboratories Of America, Inc. Synchronizing channel sharing with neighboring networks
US8027345B2 (en) * 2005-07-27 2011-09-27 Sharp Laboratories Of America, Inc. Method for automatically providing quality of service
US8694435B1 (en) * 2005-11-14 2014-04-08 American Express Travel Related Services Company, Inc. System and method for linking point of sale devices within a virtual network
US10277519B2 (en) 2006-01-31 2019-04-30 Silicon Laboratories Inc. Response time for a gateway connecting a lower bandwidth network with a higher speed network
US20080151824A1 (en) * 2006-01-31 2008-06-26 Peter Shorty Home electrical device control within a wireless mesh network
US8194569B2 (en) * 2006-01-31 2012-06-05 Sigma Designs, Inc. Static update controller enablement in a mesh network
US20080151795A1 (en) * 2006-01-31 2008-06-26 Peter Shorty Home electrical device control within a wireless mesh network
US8300652B2 (en) 2006-01-31 2012-10-30 Sigma Designs, Inc. Dynamically enabling a secondary channel in a mesh network
US8626178B2 (en) * 2006-01-31 2014-01-07 Niels Thybo Johansen Audio-visual system control using a mesh network
US20070177576A1 (en) * 2006-01-31 2007-08-02 Niels Thybo Johansen Communicating metadata through a mesh network
US20150187209A1 (en) 2006-01-31 2015-07-02 Sigma Designs, Inc. Method and system for synchronization and remote control of controlling units
US7680041B2 (en) * 2006-01-31 2010-03-16 Zensys A/S Node repair in a mesh network
US8219705B2 (en) * 2006-01-31 2012-07-10 Sigma Designs, Inc. Silent acknowledgement of routing in a mesh network
US8626251B2 (en) * 2006-01-31 2014-01-07 Niels Thybo Johansen Audio-visual system energy savings using a mesh network
US8509790B2 (en) * 2006-01-31 2013-08-13 Tommas Jess Christensen Multi-speed mesh networks
US20080154396A1 (en) * 2006-01-31 2008-06-26 Peter Shorty Home electrical device control within a wireless mesh network
US9166812B2 (en) 2006-01-31 2015-10-20 Sigma Designs, Inc. Home electrical device control within a wireless mesh network
US10326537B2 (en) 2006-01-31 2019-06-18 Silicon Laboratories Inc. Environmental change condition detection through antenna-based sensing of environmental change
US8223783B2 (en) * 2006-01-31 2012-07-17 Sigma Designs, Inc. Using battery-powered nodes in a mesh network
US8411590B2 (en) 2006-07-27 2013-04-02 Mobitrum Corporation Mesh network remote control device
USRE47894E1 (en) 2006-07-27 2020-03-03 Iii Holdings 2, Llc Method and system for dynamic information exchange on location aware mesh network devices
US7801058B2 (en) 2006-07-27 2010-09-21 Mobitrum Corporation Method and system for dynamic information exchange on mesh network devices
US8427979B1 (en) 2006-07-27 2013-04-23 Mobitrum Corporation Method and system for dynamic information exchange on location aware mesh network devices
US8305935B2 (en) 2006-07-27 2012-11-06 Mobitrum Corporation Method and system for dynamic information exchange on location aware mesh network devices
US8305936B2 (en) 2006-07-27 2012-11-06 Mobitrum Corporation Method and system for dynamic information exchange on a mesh network in a vehicle
US8774100B2 (en) * 2006-09-18 2014-07-08 Nokia Corporation Resource management techniques for wireless networks
TWI355211B (en) * 2006-12-01 2011-12-21 Inst Information Industry Connection node, method, application program, and
KR100867990B1 (en) * 2006-12-07 2008-11-10 한국전자통신연구원 The system and method of beacon scheduling for preventing beacon overlap
US8031615B2 (en) * 2007-02-27 2011-10-04 Tropos Networks, Inc. Balancing clusters of a wireless mesh network
US8751173B1 (en) 2007-03-28 2014-06-10 LDARtools, Inc. Management of response to triggering events in connection with monitoring fugitive emissions
JP4416008B2 (en) * 2007-05-18 2010-02-17 ソニー株式会社 Communication apparatus and communication method
JP4956281B2 (en) * 2007-05-29 2012-06-20 キヤノン株式会社 Wireless communication apparatus and control method thereof
US8429406B2 (en) 2007-06-04 2013-04-23 Qualcomm Atheros, Inc. Authorizing customer premise equipment into a network
US8885630B2 (en) * 2007-06-14 2014-11-11 Harris Corporation TDMA communications system with configuration beacon and associated method
JP5139785B2 (en) * 2007-12-06 2013-02-06 日本電気通信システム株式会社 Wireless base station, communication system, affiliation information management method, and program
US8274402B1 (en) 2008-01-24 2012-09-25 LDARtools, Inc. Data collection process for optical leak detection
US8130737B2 (en) * 2008-03-12 2012-03-06 Samsung Electronics Co., Ltd. System and method for a multiple hop wireless network
US20120140748A1 (en) * 2010-12-07 2012-06-07 John Carruthers End point control method
DE102011088884A1 (en) 2011-12-16 2013-06-20 Siemens Aktiengesellschaft Method for transmitting data in a communication network
US9197510B2 (en) * 2013-09-30 2015-11-24 Silicon Laboratories Inc. Efficient network data dissemination
US10637681B2 (en) 2014-03-13 2020-04-28 Silicon Laboratories Inc. Method and system for synchronization and remote control of controlling units
US9462464B2 (en) * 2014-03-27 2016-10-04 Qualcomm Incorporated Secure and simplified procedure for joining a social Wi-Fi mesh network
US9392525B2 (en) * 2014-05-16 2016-07-12 Qualcomm Incorporated Establishing reliable routes without expensive mesh peering
US9380513B2 (en) 2014-05-16 2016-06-28 Qualcomm Incorporated Reducing broadcast duplication in hybrid wireless mesh protocol routing
US9295011B1 (en) 2014-11-06 2016-03-22 At&T Mobility Ii Llc Low power chaining
US10785700B2 (en) * 2016-03-14 2020-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method for transmitting beacon messages in a mesh network
US10171434B2 (en) * 2016-04-14 2019-01-01 Airwatch Llc Managed device scatternet administration
US10637673B2 (en) 2016-12-12 2020-04-28 Silicon Laboratories Inc. Energy harvesting nodes in a mesh network
US11229023B2 (en) * 2017-04-21 2022-01-18 Netgear, Inc. Secure communication in network access points
FI129068B (en) * 2020-01-27 2021-06-15 Wirepas Oy A load balancing solution for co-operative broadcasting in a wireless communication system
CN114258043A (en) * 2020-09-25 2022-03-29 瑞昱半导体股份有限公司 Network distribution system and method thereof
CN112566016B (en) * 2020-11-19 2023-08-01 上海九乾航空科技有限公司 Deep learning and blockchain-based method for positioning loRa (loRa) of maintenance tool

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010002912A1 (en) * 1999-12-06 2001-06-07 Larsson Tony Methods and arrangements in a telecommunications system
US20030012173A1 (en) * 2000-11-08 2003-01-16 Johan Rune Coordinated inquiry and page procedures in an ad-hoc wireless network
US20030110291A1 (en) * 2001-12-12 2003-06-12 Nokia Corporation Method and device for route searching in a bluetooth ad-hoc network
US20030152110A1 (en) * 2002-02-08 2003-08-14 Johan Rune Synchronization of remote network nodes

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE518132C2 (en) * 1996-06-07 2002-08-27 Ericsson Telefon Ab L M Method and apparatus for synchronizing combined receivers and transmitters in a cellular system
US7016336B2 (en) * 2000-11-22 2006-03-21 Telefonaktiebolaget L M Ericsson (Publ) Administrative domains for personal area networks
US7058050B2 (en) * 2000-12-01 2006-06-06 Telefonaktiebolaget L M Ericsson (Publ) Flexible inter-network communication scheduling
US6754250B2 (en) * 2000-12-15 2004-06-22 Telefonaktiebolaget Lm Ericsson (Publ) Networking in uncoordinated frequency hopping piconets
US7164885B2 (en) * 2000-12-18 2007-01-16 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for selective service access
US20030081603A1 (en) * 2001-10-26 2003-05-01 Johan Rune Pending data announcements
US20030092386A1 (en) * 2001-10-26 2003-05-15 Gyorgy Miklos Predictable communication establishment in ad-hoc wireless network
US7496065B2 (en) * 2001-11-29 2009-02-24 Telcordia Technologies, Inc. Efficient piconet formation and maintenance in a Bluetooth wireless network
US6980541B2 (en) * 2002-01-03 2005-12-27 Freescale Semiconductor, Inc. Media access controller having pseudo-static guaranteed time slots
US6985740B2 (en) * 2002-08-08 2006-01-10 Green Wireless Llc System for and method of providing priority access service and cell load redistribution

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010002912A1 (en) * 1999-12-06 2001-06-07 Larsson Tony Methods and arrangements in a telecommunications system
US20030012173A1 (en) * 2000-11-08 2003-01-16 Johan Rune Coordinated inquiry and page procedures in an ad-hoc wireless network
US20030110291A1 (en) * 2001-12-12 2003-06-12 Nokia Corporation Method and device for route searching in a bluetooth ad-hoc network
US20030152110A1 (en) * 2002-02-08 2003-08-14 Johan Rune Synchronization of remote network nodes

Also Published As

Publication number Publication date
US20050243765A1 (en) 2005-11-03
WO2007008823A3 (en) 2009-04-09

Similar Documents

Publication Publication Date Title
WO2007008823A2 (en) Mesh network and piconet work system and method
Garcia et al. A tutorial on 5G NR V2X communications
KR100973727B1 (en) Apparatus and methods for central control of mesh networks
US7376100B2 (en) Channel assigning method for ad-hoc network
KR101075671B1 (en) Transmission of success and failure indications (ack_bitmap) in relay networks
US8885630B2 (en) TDMA communications system with configuration beacon and associated method
US20190132878A1 (en) Hybrid time division multiple access (tdma) and carrier sense multiple access (csma) for interference avoidance method therefor
KR20100117951A (en) Communication method and apparatus in mobile ad-hoc network
JP2009100443A (en) Method of setting packet transmission path in ad hoc network and network apparatus using the same
CN114245972A (en) Method and apparatus for transmitting and receiving HARQ response in communication system supporting sidelink communication
JP4083585B2 (en) A network with a common transmission channel
KR20210056226A (en) Method and apparatus for transmitting and receiving hybrid automatic repeat request response in communication system
KR101243501B1 (en) Apparatus and method for transmitting and receiving data in wireless local area network mesh communication system
KR20220103034A (en) Retransmission method and apparatus using adjacent Configured Grant resource in wireless communication system
EP3046272A1 (en) A method for controlling relay in a group communication and computer programmes thereof
KR20220050782A (en) Method and apparatus for relay communication in sidelink
JPWO2008038347A1 (en) Communication system, terminal, communication method, and communication processing program
JP5602153B2 (en) Reservation method in mesh network and transmission method for performing such reservation
KR20200107796A (en) Method and apparatus for configuring bandwidth part in sidelink communication
KR20140116675A (en) Data channel scheduling system and method for ofdma based wireless mesh network
JP2005073118A (en) Radio communication method
CN110958682B (en) Method and device for point-to-point physical layer communication in ad hoc network, sending UE (user equipment) and receiving UE
Dang et al. An adaptive and cooperative MAC protocol in vehicular ad hoc network: design and performance analysis
KR20220056130A (en) Method and apparatus for relay communication in sidelink
WO2002089416A2 (en) Collision avoidance in communication networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06786805

Country of ref document: EP

Kind code of ref document: A2