WO2005064824A1 - Method and apparatus for wireless network expansion - Google Patents

Method and apparatus for wireless network expansion Download PDF

Info

Publication number
WO2005064824A1
WO2005064824A1 PCT/SG2003/000293 SG0300293W WO2005064824A1 WO 2005064824 A1 WO2005064824 A1 WO 2005064824A1 SG 0300293 W SG0300293 W SG 0300293W WO 2005064824 A1 WO2005064824 A1 WO 2005064824A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
timeslot
devices
data
state
Prior art date
Application number
PCT/SG2003/000293
Other languages
French (fr)
Inventor
Boon Kwang Koh
Huan Fong Tan
Tai Wee Khoo
Original Assignee
Frontier Integrated Technology Pte. Ltd.
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 Frontier Integrated Technology Pte. Ltd. filed Critical Frontier Integrated Technology Pte. Ltd.
Priority to PCT/SG2003/000293 priority Critical patent/WO2005064824A1/en
Priority to AU2003290502A priority patent/AU2003290502A1/en
Publication of WO2005064824A1 publication Critical patent/WO2005064824A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • H04B7/26Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile
    • H04B7/2643Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile using time-division multiple access [TDMA]
    • H04B7/2656Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile using time-division multiple access [TDMA] for structure of frame, burst
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/535Allocation or scheduling criteria for wireless resources based on resource usage policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/246Connectivity information discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/248Connectivity information update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • 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
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/02Inter-networking arrangements

Definitions

  • the present invention relates to the field of wireless networks.
  • the invention relates to the management of a wireless network and the mobile network devices therein.
  • mobile or wireless network devices are referred to as devices for convenience.
  • the invention in relation to management of a wireless network with the use of algorithms and protocols for forming a wireless network dynamically, detection of the presence of a network, synchronizing to the network and access techniques, each of which may be applied to mobile devices which in turn may operate in a network environment.
  • the present invention is not limited to that use, only.
  • TDMA time division multiple access
  • each device is allocated a fixed transmission timeslot.
  • transmission timeslot is referred to hereinafter simply as a timeslot.
  • the device may transmit and receive data in its given timeslot.
  • DECT Digital European Cordless Telecommunication
  • a 1- second time frame is divided into 24 timeslots, of which, 12 are used for transmission and 12 are for reception.
  • a device with a DECT protocol is assigned a fixed timeslot, and it may transmit data in its assigned timeslot.
  • To synchronize and allocate timeslots most networks have a master that transmits a beacon and allocates resources over the available airtime.
  • the master may be pre-assigned and all communication accordingly may go through the master.
  • two slave devices may not communicate to each other directly, in which case, the information is first relayed to the master.
  • Bluetooth does not pre-assign a fixed master.
  • the device which initiates the communication becomes the master. Any other new devices which enter the network may then become the slave in this piconet.
  • a problem with timing synchronization may arise when 2 piconets come within the vicinity of each other (scatternets result). This situation may be particularly acute when a particular device happens to be a slave member in two separate piconets.
  • the slave may have to keep two sets of timing information and switch between the two timings according to the particular network that it is currently active in. Any discussion of documents, devices, acts or knowledge in this specification is included to explain the context of the invention. It should not be taken as an admission that any of the material forms a part of the prior art base or the common general knowledge in the relevant art in Singapore or elsewhere on or before the priority date of the disclosure and claims herein.
  • An object of the present invention is to provide a useful method of managing the operation of a wireless network.
  • a further object of the present invention is to alleviate at least one disadvantage that may be associated with the prior art.
  • the present invention provides a data transmission packet format for use by a first device communicating in a communication network, the data transmission packet format defined by fields comprising source device ID for identifying the first device as a transmission source; timeslot for identifying the timeslot number currently used by the first device; neighborhood list for identifying whether at least one other timeslot in the vicinity of the first device has been occupied for transmission by a second device and so as to identify whether the at least one other timeslot is available for a receiving third device.
  • the present invention provides a method of data encoding for data packets in a communication network, the method comprising the steps of enclosing a data byte with a start bit and a stop bit; wherein the start bit comprises a first predetermined logic level of a first predetermined duration followed by a transition to a complimentary second predetermined logic level of a second predetermined duration, and wherein the stop bit comprises a third predetermined logic level of a third predetermined duration followed by a transition to a complimentary fourth predetermined logic level of a fourth predetermined duration.
  • the data encoding method may further comprising the steps of sending a start bit prior to sending the first bit of a payload data byte; sending a stop bit after sending the last bit of a payload data byte.
  • the present invention provides a method of synchronizing devices for communicating in a network, the method comprising the steps of detecting a start symbol at a receiving device by timing the duration of a logic signal level on a received data transmission, changing the state of the receiving device upon detecting the start symbol, to a wait state wherein the receiving device waits to receive the start of a payload data transmission in the form of a predetermined logic transition, adjusting the internal clock of the receiving device immediately upon detecting the predetermined logic transition, so as to synchronize the receiving device with other devices receiving the data transmission within the network.
  • the present invention also provides a method of dynamically allocating a timeslot for a receiving device in a communication network, the method comprising the steps of receiving a data transmission from the network; copying a received timeslot from the data transmission; copying a received neighborhood list from the data transmission; searching the received neighborhood list for an unused timeslot in accordance with a predetermined logical search strategy so as to locate and allocate a timeslot to the receiving device.
  • the present invention provides a method of providing network access for a device adapted to receive data, the method comprising the steps of receiving a data packet formatted as described herein; processing the received data packet as follows: copying the received neighborhood list; copying the received timeslot; forming a network with the device and the transmitting device if the device does not have any neighbor and is not in network; determine a dynamic allocation of a timeslot in accordance with a method as described herein based on the following predetermined criteria: a) if the device is not in network and its ID value is less than the transmitting device's ID, perform a dynamic allocation of a timeslot; b) if the device is not in network and the transmitting device is in network, perform a dynamic allocation of a timeslot; c) if the device and the transmitting device are already in a network, do not perform a dynamic allocation of a timeslot.
  • the present invention provides a protocol for dynamically expanding a network of communicating devices, the protocol comprising the following states of operation: sleep, wherein a device's transmitter and receiver are inactive and the device is waiting for an external trigger; wake up, wherein a device's transmitter and receiver are enabled by an external trigger; scan, wherein a device's receiver is continuously receiving such that it scans for transmissions from other devices; listen, wherein a device is allocated a timeslot, synchronized to the timeslots of other devices, and such that the device only has its receiver operating during its allocated timeslot; normal, wherein a device is allocated a timeslot without being synchronized to the timeslots of other devices and, such that the device transmits during its allocated timeslot and receives during every other timeslot; network, wherein a device is allocated a timeslot for receiving and for transmitting and synchronized to the timeslots of other devices in the network.
  • the present invention also provides apparatus adapted to format a data packet, encode data, synchronize devices, dynamically allocate a timeslot, provide network access, or provide a protocol for dynamically expanding a network, as disclosed herein, said apparatus including processor means adapted to operate in accordance with a predetermined instruction set, said apparatus, in conjunction with said instruction set, being adapted to perform the methods as disclosed herein.
  • the present invention provides a computer program product including a computer usable medium having computer readable program code and computer readable system code embodied on said medium for any one or more of formatting a data packet, encoding data, synchronizing devices, dynamically allocating a timeslot, providing network access, or providing a protocol for dynamically expanding a network, within a data processing system, said computer program product including computer readable code within said computer usable medium for performing the methods as disclosed herein
  • Other aspects and preferred aspects are disclosed in the specification and / or defined in the appended claims, forming a part of the description of the invention.
  • the present invention stems from the realization that providing information in relation to the accessibility of timeslots and allocating use of "free" timeslots to devices in a network by providing this information as part of the network infrastructure, the restrictions of fixed numbers of devices gaining access to a network and its resources may be overcome.
  • the present invention has been found to result in a number of advantages, such as allowing devices to synchronize automatically without having to keep track of different timings.
  • the present invention also allows two different piconets to merge into one network. Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter.
  • Figure 3 shows a typical scheme of a timeslot for transmission.
  • Figure 4 shows a flowchart for a synchronization algorithm in accordance with a third embodiment of the invention.
  • Figure 5 is an illustration of a Normal mode of a device transmitting in accordance with an embodiment of the invention.
  • Figure 6 illustrates a Listen mode of a device in accordance with an embodiment of the invention.
  • Figure 7 is a flow chart for an algorithm carrying out a method of adjusting a timeslot in accordance with a further embodiment of the present invention.
  • Figure 8 is a state transition diagram for a network protocol in accordance with another embodiment of the invention.
  • Data Transmission Format 1.1 Data Transmission Format
  • data is transmitted in packets.
  • a typical packet 10 with an exemplary data transmission format in accordance with an embodiment of the invention is illustrated in Figure 1.
  • Each packet consists of the following fields.
  • Device Identification ID 1 Destination Identification ID, 2 Neighbourhood List, 3 Network List, 4 Current Timeslot, 5 Data, 6 Checksum, 7 Device Identification, ID
  • This field 1 identifies the device that is transmitting the data packet 10 at the moment. This field 1 is needed for the protocol to work.
  • This field 2 identifies the remote device that the current transmitter is sending information to by way of packet 10. This field 2 is not mandatory, but may depend on the application managing the transmission.
  • Neighourhood List This field 3 identifies which timeslot in the vicinity of the transmitter has been occupied. The receiver use this information to determine which device is in the vicinity of the transmitter. It also uses this information to assign a timeslot to a receiver which wishes to join an existing network.
  • Network List This field 4 contains information about the devices in the network that the transmitter is operating in. It gives the receiver information about devices that are operating in the network of the transmitter, but is beyond the reception range of the transmitter.
  • Current Timeslot This field 5 identifies the timeslot number that the transmitter is currently using.
  • Data This field 6 comprises the payload or information that the application device is transmitting.
  • Checksum This field 7 is used by the receiver to determine if the received packet 10 is valid.
  • 1.2 Data Encoding Data encoding is a method whereby the information bits are coded into symbols so that data may be transmitted. In this algorithm, the bits are coded in such a manner as to enable automatic symbol timing sychronisation and minimize coding redundancy present in, for example, the commonly used Manchester Coding. START and STOP Bits Reference is made of Figure 2. In this algorithm, each data byte 11 is enclosed by a START BIT 12 and a STOP BIT 13. The START BIT 12 consists of logic Level LOW for half a symbol duration followed by a logic level HIGH for half symbol duration.
  • the STOP Bit 13 consists of logic Level HIGH for half a symbol duration followed by a logic level LOW for half symbol duration.
  • a START bit 12 will be sent before the first bit of a data byte 11 is sent. After the last bit of the data byte 11 has been sent, a STOP bit 13 will be sent.
  • START and STOP are used only for the data packets and not for the Preambles 15 and START SYMBOL 14. The use of START and STOP bits ensure that there will not be long transmissions of consecutive 1s or 0s. It also allows the receiver to synchronize using the transitions.
  • PREAMBLES Preambles 15 consist of alternating 1's (Logic Level HIGH) and 0's
  • the number of preambles sent depends on the design of the receiver. The use of the preamble is to condition the receiver for receiving data.
  • START SYMBOL The START Symbol 14 consists of a 1 for a period of time that exceeds
  • Data Scrambling The actual data is scrambled by performing an exclusive OR operation on each data byte with a value of 202 (or CA in hexadecimal form) before adding a START and a STOP bit. Preambles and START symbols are not scrambled.
  • the Data transmission format and the packet format has been defined in such a way that the START symbol and the Preambles will never appear in any of the data bytes. This provides a means for the receiver to detect that another device is transmitting data and also a means for synchronizing the devices' clock.
  • FIG. 2 Data transmission format. 1.3 Data Reception and Timing Synchronization Algorithm
  • a time frame is divided into timeslots. An example is shown in Figure 3.
  • Each device transmits in one time slot 8 and receives in the rest of the time slots 9. For example, if the system has 12 timeslots, one time slot 8 would be dedicated to transmission, whilst the rest 9 are for reception.
  • Timeslot #0 be the timeslot for transmission 8. This is an arbitrary number that is given at the start. Assume that each time slot 8, 9 has duration of 100ms, and that there are altogether 12 timeslots.
  • the device would transmit a packet of information as described in Section 2.1.
  • the device would turn on the receiver and listen to the "air" for transmission from other devices. If it receives an information packet, it would process the information and adjusts timing accordingly (See section 2.7 below). Otherwise, it would turn off the receiver and wait for the next time slot. Detection of data transmission. With reference to Figure 4, the receiver detects that another device is transmitting by monitoring the duration of the logic level of the received bit. If the bit time is longer than a pre-defined period that will not be confused with noise, a carrier is present. Timing Synchronisation Every device has an internal clock whose value changes at a fixed time. For example, with a 16-bit clock, a device's clock will start from 0 and count up to 65535, and then repeats again.
  • the receiver times the duration of Logic level HIGH on the received bit, steps 401 , 402 and 403. If the received bit remains at HIGH level for more than two times of a symbol duration step 404, a START Symbol has been detected. The receiver then moves to another state step 405 where it waits for the start of data transmission. The receiver now waits for a negative transition (1 -> 0) step 407 and then a positive transition (0 - > 1) step 408. Immediately after detecting the positive transition step 408, the receiver adjusts its internal clock step 409.
  • the transmitter or receiver In the Normal_Mode, the transmitter or receiver is only turned on for a period that is needed for transmission/reception of data. For example, if it takes 12 milliseconds to transmit a packet of data, the transmitter would only be active for the 12 ms to transmit the packet. If the device is not in Normal_Mode, it would not be transmitting. • Listen Mode. With reference to Figure 6, a device is said to be in Listen_Mode if it does not turn on its transmitter during its allocated timeslot. A device can be operating in the Normal_Mode but in Listen Mode also. This means that during its own time slot for transmission, it would turn on its receiver instead of its transmitter. A device that is not in Normal_Mode but in Listen_Mode would have its receiver turned on all the time.
  • Network A device is said to be in a network if it is able to communicate with at least one device. A device that "sees" no other devices is said to be not in network.
  • Neighours and Neighbourhood A device is said to be in the neighbourhood of another device if the other device can detect the messages that it is transmitting.
  • Neighbourhood List Assuming that we have a network that can have a maximum of 8 devices. The neighbour list will consist of 8 bits. Each bit will be set to One if there is another device in that timeslot.
  • bits 0 and bits 2 will be set to Logic 1 while the rest of the bits are set to 0. 1.4.2 Joining a network and adjusting timeslot
  • a device When a device is first powered up, it assumes that it is occupying Timeslot #0, and transmits in Timeslot #0. Since it is not in network, and has no neighbours, it will set the TimeSlot parameter in the Transmission packet to 0, and the value of the neighbourhood list is 1 (Bit 0 is set to Logic 1).
  • a device which receives a data packet will process the received data packet as follows.
  • the algorithm makes timeslot allocation dynamic and automatic without the need for a master device to intervene.
  • the algorithm is as follows: • Copy Received Timeslot 701. • Copy received neighbourhood list step 702. • Search through the received neighbourhood list for an empty timeslot step 703, 704, 705, 706. • Use the last 3 bits of the ID to start the search step 704. For example, if there are 8 timeslots, and the value of the last 3 bits of the receiver ID is 3, the receiver will first look at slot number 3 in the received neighbourhood list to see if that slot is empty. • If that slot is empty step 706, 707, the receiver's transmit timeslot becomes 3 and the current timeslot of the receiver changed to the received timeslot value.
  • the receiver will look at the next adjacent timeslot. If the second ID byte is even step 708, it will search in descending order step 709. Otherwise, it will search in ascending order step 710. In this case, if its second ID byte is even, it will look at slot number 2 next. • This search continues until all 8 slots are exhausted or until an empty timeslot is found. • If an empty timeslot is found step 707, the receiver grabs that slot and it joins the network. It will then operate in NORMAL_MODE thereafter • If no slots can be found, it will operate in LISTENJVIODE but in NORMAL_MODE. It is also possible to use other search strategies.
  • the SLEEP MODE feature allows different networks that had been formed to co-exist and eventually merge into one network with all devices synchronized to the same clock.
  • 2 different networks had been formed independently and each network are not synchronised.
  • the networks are mobile and happen to come into each other's vicinity.
  • a device from network A may detect another device in Network B. Since it is already in a network, it will not adjust its timeslot.
  • the SLEEP MODE feature it will need to acquire or seek a new network when it wakes up. The process of having a network form up, then break up and then re-form again eventually allows all the devices to get together into one network.
  • FIG. 8 shows the State Trasnsitions Diagram that explains the operation of the network protocol. There are 6 possible states that a device can be in: SLEEP 801 WAKEUP 802 SCAN 803 • NORMAL 804 LISTEN 805 NETWORK 806
  • SLEEP state 801 the device is inactive and the transmitter and receiver are powered down. In this state, the device is waiting for external trigger events to wake up the device, such as expiration of timers, external interrupts, user intervention, etc. Once the event triggers, a WAKEUP TIMER is started and the device enters into the WAKEUP state 802. Once the triggering event occurs, the device powers up and enters into the WAKEUP state 802. In this state, the RF device is powered up. After the RF device is stable, it will transmit a short burst of data containing its ID. The device then starts a timer, known as a SCAN_TIMER, before entering the SCAN state 803. The device will stay in the WAKEUP state 802 until the WAKEUP TIMER expires and the RF device becomes stable. In SCAN state 803, the device's receiver is turned on continuously.
  • SCAN_TIMER a timer
  • This state is similar to the Listen mode but not Normal Mode as described in section 2.4.
  • the device is scanning the air for transmissions from other devices.
  • the SCAN_TIMER expires and the device could not detect other devices.
  • the device is said to have no neighbours. It starts a NORMAL_TIMER and then enters the NORMAL state 804.
  • the device has already been synchronized to the timeslots that other devices are using. It is said to be Normal_Mode whereby it is turning on its receiver at the start of a timeslot to listen to transmission from other devices. The transmitter is not turned on since there is no available timeslot.
  • a time slot will eventually be available and the device will take up that time slot and enters the NETWORK state 806. It will start a NETWORK_TIMER before leaving the LISTEN state 805.
  • the device starts a NORMAL_TIMER and leaves the LISTEN state
  • the device will turn on its transmitter and transmit short burst of information including its ID. It will turn on its receiver at the start of every timeslot to listen for messages in the air.
  • the device could be alone in the network, or it could be in the proximity of other devices but it is not synchronized to other devices, and therefore does not participate or interfere with the other networks. 3 scenarios could happen: • The device detects newly transmitted messages from other devices that it did not previously see. The reason is that other mobile devices could have "walked" into its detection zone. Other possible reason is that another device has detected this device's transmission and adjusts its clock to synchronise to this device.
  • the device then starts a NETWORK TIMER and enters the NETWORK state 806. • The device did not see any other devices and remains in the NORMAL state 804. • The NORMAL_TIMER expires and the device enters into the WAKEUP state 802. Before entering the WAKEUP state 802, the device turns off the transmitter and receiver and starts a WAKEUP TIMER. In the NETWORK state 806, the device will be transmitting and receiving information periodically according to the timeslots. The device will have an allocated timeslot for transmission and reception. It is to be noted that for any device, there may only be one timeslot allocated for transmission and the remaining timeslots are for receiving. The device will remain in this state until one of the following events occurs. • The NETWORK NMER expires.
  • the device then stops all communications, power down the RF device, starts a WAKEUP_TIMER and enters the WAKEUP state 802. This will allow other devices to take over the timeslot that it is occupying so far. • The number of neighbour devices in the network drops to 0. This could happen in the situation that the device has moved out of the detection range of all other devices (by walking away), or the other devices enter into WAKEUP state 802, and so on. In this case, the device will start a SCAN
  • WAKEUP Timer has a different expiration time when it is started in the SLEEP state 801 and when it is started in the NETWORK state 806.
  • a nail and a screw may not be structural equivalents in that a nail employs a cylindrical surface to secure wooden parts together, whereas a screw employs a helical surface to secure wooden parts together, in the environment of fastening wooden parts, a nail and a screw are equivalent structures.
  • some or all of the parameters of the encoding may be altered with respect to each other.
  • the START and STOP bits have a duration of half a symbol for each logic level respectively, these durations could be changed to the same duration as a symbol, or may be the duration of one-and-a-half symbol.
  • the START and STOP bits have a duration of half a symbol making it easier to differentiate from actual data bits which are one symbol's duration, and also so that valuable air time is not wasted to transmit extra information not being data. Accordingly whatever duration is chosen for the START and STOP bits, it may be such that the START symbols and the Preambles will remain never to appear in any of the payload data bytes.

Abstract

The present invention relates to the field of wireless networks. In one form the invention relates to the management of a wireless network and the mobile network devices therein. The present invention stems from the realization that providing information in relation to the accessibility of timeslots and allocating use of 'free' timeslots to devices in a network by providing this information as part of the network infrastructure, the restrictions of fixed numbers of devices gaining access to a network and its resources may be overcome.

Description

METHOD AND APPARATUS FOR WIRELESS NETWORK EXPANSION
FIELD OF THE INVENTION The present invention relates to the field of wireless networks. In one form the invention relates to the management of a wireless network and the mobile network devices therein. Hereinafter, mobile or wireless network devices are referred to as devices for convenience. It will also be convenient to hereinafter describe the invention in relation to management of a wireless network with the use of algorithms and protocols for forming a wireless network dynamically, detection of the presence of a network, synchronizing to the network and access techniques, each of which may be applied to mobile devices which in turn may operate in a network environment. However, it should be appreciated that the present invention is not limited to that use, only.
BACKGROUND OF THE INVENTION Many wireless network protocols rely on Time Division Multiple Access
(TDMA) techniques for communications between different wireless devices.
Examples are GSM, Bluetooth and DECT (Digital European Cordless Telecommunication) specifications. In these methods, each device is allocated a fixed transmission timeslot. For convenience, transmission timeslot is referred to hereinafter simply as a timeslot. The device may transmit and receive data in its given timeslot. For example, in DECT, a 1- second time frame is divided into 24 timeslots, of which, 12 are used for transmission and 12 are for reception. A device with a DECT protocol is assigned a fixed timeslot, and it may transmit data in its assigned timeslot. To synchronize and allocate timeslots, most networks have a master that transmits a beacon and allocates resources over the available airtime.
The master may be pre-assigned and all communication accordingly may go through the master. In such an arrangement two slave devices may not communicate to each other directly, in which case, the information is first relayed to the master. In contrast, Bluetooth does not pre-assign a fixed master. In this instance, the device which initiates the communication becomes the master. Any other new devices which enter the network may then become the slave in this piconet. There may only be one master in a piconet. However, a problem with timing synchronization may arise when 2 piconets come within the vicinity of each other (scatternets result). This situation may be particularly acute when a particular device happens to be a slave member in two separate piconets. The slave may have to keep two sets of timing information and switch between the two timings according to the particular network that it is currently active in. Any discussion of documents, devices, acts or knowledge in this specification is included to explain the context of the invention. It should not be taken as an admission that any of the material forms a part of the prior art base or the common general knowledge in the relevant art in Singapore or elsewhere on or before the priority date of the disclosure and claims herein. An object of the present invention is to provide a useful method of managing the operation of a wireless network. A further object of the present invention is to alleviate at least one disadvantage that may be associated with the prior art.
SUMMARY OF THE INVENTION In one aspect, the present invention provides a data transmission packet format for use by a first device communicating in a communication network, the data transmission packet format defined by fields comprising source device ID for identifying the first device as a transmission source; timeslot for identifying the timeslot number currently used by the first device; neighborhood list for identifying whether at least one other timeslot in the vicinity of the first device has been occupied for transmission by a second device and so as to identify whether the at least one other timeslot is available for a receiving third device. In another aspect the present invention provides a method of data encoding for data packets in a communication network, the method comprising the steps of enclosing a data byte with a start bit and a stop bit; wherein the start bit comprises a first predetermined logic level of a first predetermined duration followed by a transition to a complimentary second predetermined logic level of a second predetermined duration, and wherein the stop bit comprises a third predetermined logic level of a third predetermined duration followed by a transition to a complimentary fourth predetermined logic level of a fourth predetermined duration. The data encoding method may further comprising the steps of sending a start bit prior to sending the first bit of a payload data byte; sending a stop bit after sending the last bit of a payload data byte. In another aspect the present invention provides a method of synchronizing devices for communicating in a network, the method comprising the steps of detecting a start symbol at a receiving device by timing the duration of a logic signal level on a received data transmission, changing the state of the receiving device upon detecting the start symbol, to a wait state wherein the receiving device waits to receive the start of a payload data transmission in the form of a predetermined logic transition, adjusting the internal clock of the receiving device immediately upon detecting the predetermined logic transition, so as to synchronize the receiving device with other devices receiving the data transmission within the network. The present invention also provides a method of dynamically allocating a timeslot for a receiving device in a communication network, the method comprising the steps of receiving a data transmission from the network; copying a received timeslot from the data transmission; copying a received neighborhood list from the data transmission; searching the received neighborhood list for an unused timeslot in accordance with a predetermined logical search strategy so as to locate and allocate a timeslot to the receiving device. In yet another aspect the present invention provides a method of providing network access for a device adapted to receive data, the method comprising the steps of receiving a data packet formatted as described herein; processing the received data packet as follows: copying the received neighborhood list; copying the received timeslot; forming a network with the device and the transmitting device if the device does not have any neighbor and is not in network; determine a dynamic allocation of a timeslot in accordance with a method as described herein based on the following predetermined criteria: a) if the device is not in network and its ID value is less than the transmitting device's ID, perform a dynamic allocation of a timeslot; b) if the device is not in network and the transmitting device is in network, perform a dynamic allocation of a timeslot; c) if the device and the transmitting device are already in a network, do not perform a dynamic allocation of a timeslot. In another aspect the present invention provides a protocol for dynamically expanding a network of communicating devices, the protocol comprising the following states of operation: sleep, wherein a device's transmitter and receiver are inactive and the device is waiting for an external trigger; wake up, wherein a device's transmitter and receiver are enabled by an external trigger; scan, wherein a device's receiver is continuously receiving such that it scans for transmissions from other devices; listen, wherein a device is allocated a timeslot, synchronized to the timeslots of other devices, and such that the device only has its receiver operating during its allocated timeslot; normal, wherein a device is allocated a timeslot without being synchronized to the timeslots of other devices and, such that the device transmits during its allocated timeslot and receives during every other timeslot; network, wherein a device is allocated a timeslot for receiving and for transmitting and synchronized to the timeslots of other devices in the network. The present invention also provides apparatus adapted to format a data packet, encode data, synchronize devices, dynamically allocate a timeslot, provide network access, or provide a protocol for dynamically expanding a network, as disclosed herein, said apparatus including processor means adapted to operate in accordance with a predetermined instruction set, said apparatus, in conjunction with said instruction set, being adapted to perform the methods as disclosed herein. Furthermore the present invention provides a computer program product including a computer usable medium having computer readable program code and computer readable system code embodied on said medium for any one or more of formatting a data packet, encoding data, synchronizing devices, dynamically allocating a timeslot, providing network access, or providing a protocol for dynamically expanding a network, within a data processing system, said computer program product including computer readable code within said computer usable medium for performing the methods as disclosed herein Other aspects and preferred aspects are disclosed in the specification and / or defined in the appended claims, forming a part of the description of the invention. In essence, the present invention stems from the realization that providing information in relation to the accessibility of timeslots and allocating use of "free" timeslots to devices in a network by providing this information as part of the network infrastructure, the restrictions of fixed numbers of devices gaining access to a network and its resources may be overcome. The present invention has been found to result in a number of advantages, such as allowing devices to synchronize automatically without having to keep track of different timings. The present invention also allows two different piconets to merge into one network. Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description. BRIEF DESCRIPTION OF THE DRAWINGS Further disclosure, objects, advantages and aspects of the present application may be better understood by those skilled in the relevant art by reference to the following description of preferred embodiments taken in conjunction with the accompanying drawings, which are given by way of illustration only, and thus are not limitative of the present invention, and in which: Figure 1 illustrates a data transmission format in accordance with a first preferred embodiment of the invention. Figure 2 illustrates a data encoding format in accordance with second preferred embodiment of the invention. Figure 3 shows a typical scheme of a timeslot for transmission. Figure 4 shows a flowchart for a synchronization algorithm in accordance with a third embodiment of the invention. Figure 5 is an illustration of a Normal mode of a device transmitting in accordance with an embodiment of the invention. Figure 6 illustrates a Listen mode of a device in accordance with an embodiment of the invention. Figure 7 is a flow chart for an algorithm carrying out a method of adjusting a timeslot in accordance with a further embodiment of the present invention. Figure 8 is a state transition diagram for a network protocol in accordance with another embodiment of the invention.
DETAILED DESCRIPTION OF THE INVENTION The techniques described in this document allow devices to synchronize automatically without having to keep track of different timings. The techniques also allow two different piconets to merge into one network. 1. Data Transmission Format. 1.1 Data Transmission Format In this technique, data is transmitted in packets. A typical packet 10 with an exemplary data transmission format in accordance with an embodiment of the invention is illustrated in Figure 1. Each packet consists of the following fields. Device Identification ID, 1 Destination Identification ID, 2 Neighbourhood List, 3 Network List, 4 Current Timeslot, 5 Data, 6 Checksum, 7 Device Identification, ID This field 1 identifies the device that is transmitting the data packet 10 at the moment. This field 1 is needed for the protocol to work. Destination Identification, ID This field 2 identifies the remote device that the current transmitter is sending information to by way of packet 10. This field 2 is not mandatory, but may depend on the application managing the transmission. Neighourhood List This field 3 identifies which timeslot in the vicinity of the transmitter has been occupied. The receiver use this information to determine which device is in the vicinity of the transmitter. It also uses this information to assign a timeslot to a receiver which wishes to join an existing network. Network List This field 4 contains information about the devices in the network that the transmitter is operating in. It gives the receiver information about devices that are operating in the network of the transmitter, but is beyond the reception range of the transmitter. Current Timeslot This field 5 identifies the timeslot number that the transmitter is currently using. Data This field 6 comprises the payload or information that the application device is transmitting. Checksum This field 7 is used by the receiver to determine if the received packet 10 is valid. 1.2 Data Encoding Data encoding is a method whereby the information bits are coded into symbols so that data may be transmitted. In this algorithm, the bits are coded in such a manner as to enable automatic symbol timing sychronisation and minimize coding redundancy present in, for example, the commonly used Manchester Coding. START and STOP Bits Reference is made of Figure 2. In this algorithm, each data byte 11 is enclosed by a START BIT 12 and a STOP BIT 13. The START BIT 12 consists of logic Level LOW for half a symbol duration followed by a logic level HIGH for half symbol duration. The STOP Bit 13 consists of logic Level HIGH for half a symbol duration followed by a logic level LOW for half symbol duration. A START bit 12 will be sent before the first bit of a data byte 11 is sent. After the last bit of the data byte 11 has been sent, a STOP bit 13 will be sent. START and STOP are used only for the data packets and not for the Preambles 15 and START SYMBOL 14. The use of START and STOP bits ensure that there will not be long transmissions of consecutive 1s or 0s. It also allows the receiver to synchronize using the transitions. PREAMBLES Preambles 15 consist of alternating 1's (Logic Level HIGH) and 0's
(Logic Level LOW). The number of preambles sent depends on the design of the receiver. The use of the preamble is to condition the receiver for receiving data. START SYMBOL The START Symbol 14 consists of a 1 for a period of time that exceeds
3 times symbol duration. It would be well understood by the person skilled in the art that there are other encoding or scrambling techniques that may be employed whilst remaining within the scope of the present invention. Data Scrambling The actual data is scrambled by performing an exclusive OR operation on each data byte with a value of 202 (or CA in hexadecimal form) before adding a START and a STOP bit. Preambles and START symbols are not scrambled. In this algorithm, the Data transmission format and the packet format has been defined in such a way that the START symbol and the Preambles will never appear in any of the data bytes. This provides a means for the receiver to detect that another device is transmitting data and also a means for synchronizing the devices' clock. Figure 2 Data transmission format. 1.3 Data Reception and Timing Synchronization Algorithm A time frame is divided into timeslots. An example is shown in Figure 3. Each device transmits in one time slot 8 and receives in the rest of the time slots 9. For example, if the system has 12 timeslots, one time slot 8 would be dedicated to transmission, whilst the rest 9 are for reception. For discussion purposes, let Timeslot #0 be the timeslot for transmission 8. This is an arbitrary number that is given at the start. Assume that each time slot 8, 9 has duration of 100ms, and that there are altogether 12 timeslots. At Timeslot #0, the device would transmit a packet of information as described in Section 2.1. 100ms later, the device would turn on the receiver and listen to the "air" for transmission from other devices. If it receives an information packet, it would process the information and adjusts timing accordingly (See section 2.7 below). Otherwise, it would turn off the receiver and wait for the next time slot. Detection of data transmission. With reference to Figure 4, the receiver detects that another device is transmitting by monitoring the duration of the logic level of the received bit. If the bit time is longer than a pre-defined period that will not be confused with noise, a carrier is present. Timing Synchronisation Every device has an internal clock whose value changes at a fixed time. For example, with a 16-bit clock, a device's clock will start from 0 and count up to 65535, and then repeats again. If two devices are synchronized n time, it means that their clock values are the same at the same time. In the algorithm of Figure 4, the receiver times the duration of Logic level HIGH on the received bit, steps 401 , 402 and 403. If the received bit remains at HIGH level for more than two times of a symbol duration step 404, a START Symbol has been detected. The receiver then moves to another state step 405 where it waits for the start of data transmission. The receiver now waits for a negative transition (1 -> 0) step 407 and then a positive transition (0 - > 1) step 408. Immediately after detecting the positive transition step 408, the receiver adjusts its internal clock step 409. Since each device transmit on a fixed and regular basis, each device would know its exact clock value at the point where it has just completed sending the first START bit. In order to synchronise every devices' clock, each receiver only need to adjust its clock immediately after receiving the first START bit. This will ensure that all devices will be synchronized after receiving a data packet. It would not matter what the receiver's clock value is before detecting the data packet. 1.4 Network protocol 1.4.1 Terms and definitions. Modes In this algorithm, a device can assume any one of the modes. • Normal Mode. With reference to Figure 5, a device is said to be in Normal_Mode if it turns on its transmitter in its own timeslot for transmission and turns on its receiver only in all the other timeslots. This is the normal mode of operation.
In the Normal_Mode, the transmitter or receiver is only turned on for a period that is needed for transmission/reception of data. For example, if it takes 12 milliseconds to transmit a packet of data, the transmitter would only be active for the 12 ms to transmit the packet. If the device is not in Normal_Mode, it would not be transmitting. • Listen Mode. With reference to Figure 6, a device is said to be in Listen_Mode if it does not turn on its transmitter during its allocated timeslot. A device can be operating in the Normal_Mode but in Listen Mode also. This means that during its own time slot for transmission, it would turn on its receiver instead of its transmitter. A device that is not in Normal_Mode but in Listen_Mode would have its receiver turned on all the time. This is also known as the Scanning Mode. • In Network A device is said to be in a network if it is able to communicate with at least one device. A device that "sees" no other devices is said to be not in network. • Neighours and Neighbourhood A device is said to be in the neighbourhood of another device if the other device can detect the messages that it is transmitting. • Neighbourhood List Assuming that we have a network that can have a maximum of 8 devices. The neighbour list will consist of 8 bits. Each bit will be set to One if there is another device in that timeslot. For example, if there is a "neighbour" in timeslot 2, and it is occupying Timeslot 0, then bits 0 and bits 2 will be set to Logic 1 while the rest of the bits are set to 0. 1.4.2 Joining a network and adjusting timeslot When a device is first powered up, it assumes that it is occupying Timeslot #0, and transmits in Timeslot #0. Since it is not in network, and has no neighbours, it will set the TimeSlot parameter in the Transmission packet to 0, and the value of the neighbourhood list is 1 (Bit 0 is set to Logic 1). A device which receives a data packet will process the received data packet as follows. An example algorithm is also shown in Table 1 : • Copy received neighbourhood list • Copy received time slot • If the receiver does not have any neighbour, and it is not in network, it will form a network with the transmitting device. • A receiving device adjusts its time slot according to the following rules or predetermined criteria. a. If it is not in network, and its ID value is less than transmitter's ID, it will adjust its timeslot b. If it is not in network, but the transmitter is in a network, the receiver will adjust its timeslot. c. If the receiver and the transmitter are already in a network, no timeslot adjustment would be made.
Table 1. if(gbNoNeighbour) { gbNoNeighbour = FALSE; if(lgblnNetwork) { if(gucReceivedID3 > gucMyID3) Adjust_Timeslot(); else { if ReceivedPartyInNetwork(guiReceivedNeighList)) Adjust_Timeslot(); } } } gblnNetwork = TRUE; // This is done after adjusting timeslot
Adjusting Timeslot. With reference to the flow chart of Figure 7, the algorithm makes timeslot allocation dynamic and automatic without the need for a master device to intervene. The algorithm is as follows: • Copy Received Timeslot 701. • Copy received neighbourhood list step 702. • Search through the received neighbourhood list for an empty timeslot step 703, 704, 705, 706. • Use the last 3 bits of the ID to start the search step 704. For example, if there are 8 timeslots, and the value of the last 3 bits of the receiver ID is 3, the receiver will first look at slot number 3 in the received neighbourhood list to see if that slot is empty. • If that slot is empty step 706, 707, the receiver's transmit timeslot becomes 3 and the current timeslot of the receiver changed to the received timeslot value. • If that slot is occupied, the receiver will look at the next adjacent timeslot. If the second ID byte is even step 708, it will search in descending order step 709. Otherwise, it will search in ascending order step 710. In this case, if its second ID byte is even, it will look at slot number 2 next. • This search continues until all 8 slots are exhausted or until an empty timeslot is found. • If an empty timeslot is found step 707, the receiver grabs that slot and it joins the network. It will then operate in NORMAL_MODE thereafter • If no slots can be found, it will operate in LISTENJVIODE but in NORMAL_MODE. It is also possible to use other search strategies. For example, it is possible to start and proceed in ascending order from timeslot 0, or alternatively in descending order starting from timeslot 12. The inventor has chosen in this preferred embodiment to conduct a search in somewhat random fashion, so that if more than one device detects a network at the same time, the likelihood of both devices taking the same timeslot is diminished. 1.4.3 Network Expansion In most wireless network protocols, if there are only 8 timeslots, the network can handle only 8 active devices at the most. This algorithm allows the network to expand to cater for more than the number of timeslots available by introducing a Sleep mode to a device in network. Together with Listen mode, it allows devices which were not previously able to join the network to join in the network. Whenever a device joins a network, it can only remain in the NETWORK_MODE for a certain time period. After this period of time, the device will leave the network and goes into Sleep mode for at least 2 frame periods. When this happens, other devices which are on LISTEN_MODE can grab the time slot and start transmitting in the free slot. Clashes are minimized due to the timeslot allocation algorithm described in 1.4.2. A device that is in SLEEP MODE will wake up and try to rejoin the network. Since every device will enter into SLEEP_MODE at some point, the network will always have available timeslots. The State Transitions Diagram in Figure 8 illustrates the entire network link management and access protocol. Multiple Networks. The SLEEP MODE feature allows different networks that had been formed to co-exist and eventually merge into one network with all devices synchronized to the same clock. Suppose 2 different networks had been formed independently and each network are not synchronised. Suppose the networks are mobile and happen to come into each other's vicinity. A device from network A may detect another device in Network B. Since it is already in a network, it will not adjust its timeslot. However, because of the SLEEP MODE feature, it will need to acquire or seek a new network when it wakes up. The process of having a network form up, then break up and then re-form again eventually allows all the devices to get together into one network. 1.4.4 Timing Randomisation The time that a device spends in Normal Mode, Network Mode, Listen Mode, Sleep Mode and Wake Up mode is made random by using the device's IDs and the internal counters in the device. Table 2 shows a code segment of an embodiment in which the method was used. Table 2
#defme CNT_SCAN_TIMEOUT ( 27 + ( (gucMyID3 + gucMyID2) & OxOF) )
#define CNT_LISTENMODE_TIMEOUT (31)
#define CNT_NORMAL_TIMEOUT ( 81+ ( (gucMyID3 + gucMylDl) & OxOF) )
// ADD SOME RANDOM TIMING TO WAKE UP TIMER
// TO MAKE IT DIFFERENT FOR EACH UNIT INVOLVE TAG ID
#define CNT_WAKEUP_TIMEOUT ( ((gucMylDl Λ TMRO) + (gucMyID3 Λ TMRIL)) & 0x07)
|0x08 )
#defιne CNT_NETWORK_TIMEOUT (61 + ( (gucMyID2 & OxOF) « 2)
2. State Transitions Diagram Figure 8 shows the State Trasnsitions Diagram that explains the operation of the network protocol. There are 6 possible states that a device can be in: SLEEP 801 WAKEUP 802 SCAN 803 • NORMAL 804 LISTEN 805 NETWORK 806
In SLEEP state 801, the device is inactive and the transmitter and receiver are powered down. In this state, the device is waiting for external trigger events to wake up the device, such as expiration of timers, external interrupts, user intervention, etc. Once the event triggers, a WAKEUP TIMER is started and the device enters into the WAKEUP state 802. Once the triggering event occurs, the device powers up and enters into the WAKEUP state 802. In this state, the RF device is powered up. After the RF device is stable, it will transmit a short burst of data containing its ID. The device then starts a timer, known as a SCAN_TIMER, before entering the SCAN state 803. The device will stay in the WAKEUP state 802 until the WAKEUP TIMER expires and the RF device becomes stable. In SCAN state 803, the device's receiver is turned on continuously.
This state is similar to the Listen mode but not Normal Mode as described in section 2.4. In this state, the device is scanning the air for transmissions from other devices. There are 4 possible scenarios that can happen in this state: • The device detects transmissions (message) from other devices and is able to grab a time slot for itself. The timeslot is allocated using the algorithm in 1.4.2. The device then starts another timer called the NETWORK JIMER and then enters the NETWORK state 806. • The device detects transmissions from other devices but find that there are no time slots available. The device then starts a LISTEN_TIMER and enters the LISTEN state 805. • The device could not detect any transmissions (message) and remain in the SCAN state 803 until the SCAN_TIMER expires. • The SCAN_TIMER expires and the device could not detect other devices. The device is said to have no neighbours. It starts a NORMAL_TIMER and then enters the NORMAL state 804. In the LISTEN state 805, the device has already been synchronized to the timeslots that other devices are using. It is said to be Normal_Mode whereby it is turning on its receiver at the start of a timeslot to listen to transmission from other devices. The transmitter is not turned on since there is no available timeslot. • Because of the SLEEP_MODE feature, a time slot will eventually be available and the device will take up that time slot and enters the NETWORK state 806. It will start a NETWORK_TIMER before leaving the LISTEN state 805. • If no time slot becomes available when the LISTEN_TIMER expires, the device starts a NORMAL_TIMER and leaves the LISTEN state
805 and enters the NORMAL state 806. In the NORMAL state 806, the device will turn on its transmitter and transmit short burst of information including its ID. It will turn on its receiver at the start of every timeslot to listen for messages in the air. In this state, the device could be alone in the network, or it could be in the proximity of other devices but it is not synchronized to other devices, and therefore does not participate or interfere with the other networks. 3 scenarios could happen: • The device detects newly transmitted messages from other devices that it did not previously see. The reason is that other mobile devices could have "walked" into its detection zone. Other possible reason is that another device has detected this device's transmission and adjusts its clock to synchronise to this device. The device then starts a NETWORK TIMER and enters the NETWORK state 806. • The device did not see any other devices and remains in the NORMAL state 804. • The NORMAL_TIMER expires and the device enters into the WAKEUP state 802. Before entering the WAKEUP state 802, the device turns off the transmitter and receiver and starts a WAKEUP TIMER. In the NETWORK state 806, the device will be transmitting and receiving information periodically according to the timeslots. The device will have an allocated timeslot for transmission and reception. It is to be noted that for any device, there may only be one timeslot allocated for transmission and the remaining timeslots are for receiving. The device will remain in this state until one of the following events occurs. • The NETWORK NMER expires. The device then stops all communications, power down the RF device, starts a WAKEUP_TIMER and enters the WAKEUP state 802. This will allow other devices to take over the timeslot that it is occupying so far. • The number of neighbour devices in the network drops to 0. This could happen in the situation that the device has moved out of the detection range of all other devices (by walking away), or the other devices enter into WAKEUP state 802, and so on. In this case, the device will start a SCAN
TIMER and enter into a SCAN state803. In time taken for the various timers to expires may vary in different states and in different situations. For example, WAKEUP Timer has a different expiration time when it is started in the SLEEP state 801 and when it is started in the NETWORK state 806.
Applications. This section lists some of the applications in which the algorithms can be used. However, the algorithms can also be used for other applications. • Close proximity contact tracing • Asset tracking • Location tracing of people and small devices • Short range data communication in a small area network • Security systems. • RFID related applications While this invention has been described in connection with specific embodiments thereof, it will be understood that it is capable of further modification(s). This application is intended to cover any variations uses or adaptations of the invention following in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains and as may be applied to the essential features hereinbefore set forth. As the present invention may be embodied in several forms without departing from the spirit of the essential characteristics of the invention, it should be understood that the above described embodiments are not to limit the present invention unless otherwise specified, but rather should be construed broadly within the spirit and scope of the invention as defined in the appended claims. Various modifications and equivalent arrangements are intended to be included within the spirit and scope of the invention and appended claims. Therefore, the specific embodiments are to be understood to be illustrative of the many ways in which the principles of the present invention may be practiced. In the following claims, means-plus-function clauses are intended to cover structures as performing the defined function and not only structural equivalents, but also equivalent structures. For example, although a nail and a screw may not be structural equivalents in that a nail employs a cylindrical surface to secure wooden parts together, whereas a screw employs a helical surface to secure wooden parts together, in the environment of fastening wooden parts, a nail and a screw are equivalent structures. In the example of the preferred embodiments hereinbefore, and in particular the data encoding, it is envisaged that some or all of the parameters of the encoding may be altered with respect to each other. For instance, although the START and STOP bits have a duration of half a symbol for each logic level respectively, these durations could be changed to the same duration as a symbol, or may be the duration of one-and-a-half symbol. Nevertheless, in the preferred embodiment described herein, the START and STOP bits have a duration of half a symbol making it easier to differentiate from actual data bits which are one symbol's duration, and also so that valuable air time is not wasted to transmit extra information not being data. Accordingly whatever duration is chosen for the START and STOP bits, it may be such that the START symbols and the Preambles will remain never to appear in any of the payload data bytes. "Comprises/comprising" when used in this specification is taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof."

Claims

1. A data transmission packet format for use by a first device communicating in a communication network, the data transmission packet format defined by fields comprising: source device ID for identifying the first device as a transmission source; timeslot for identifying the timeslot number currently used by the first device; neighborhood list for identifying whether at least one other timeslot in the vicinity of the first device has been occupied for transmission by a second device and so as to identify whether the at least one other timeslot is available for a receiving third device.
2. A data transmission packet format as claimed in claim 1 further defined by fields comprising: destination ID, for identifying the receiving third device which the first device is transmitting information to; network list, comprising network information for the devices in the network in which the first device is communicating; data, comprising the payload information being transmitted by the first device; checksum, for validating the packet received by the third device.
3. A method of data encoding for data packets in a communication network, the method comprising the steps of: enclosing a data byte with a start bit and a stop bit; wherein the start bit comprises a first predetermined logic level of a first predetermined duration followed by a transition to a complimentary second predetermined logic level of a second predetermined duration, and; wherein the stop bit comprises a third predetermined logic level of a third predetermined duration followed by a transition to a complimentary fourth predetermined logic level of a fourth predetermined duration.
4. A method as claimed in claim 3 further comprising the steps of: sending a start bit prior to sending the first bit of a payload data byte; sending a stop bit after sending the last bit of a payload data byte.
5. A method as claimed in claim 3 or 4 wherein: the first and fourth predetermined logic levels comprise a logic level low; the second and third predetermined logic levels comprise a logic level high; and, the predetermined durations comprise half of a logic symbol duration.
6. A method as claimed in any one of claims 3 to 5 further comprising the step of: conditioning a receiver device by encoding preambles and wherein each preamble comprises alternating transmissions of logic level high and logic level low.
7. A method as claimed in any one of claims 3 to 6 further comprising the step of: sending a start symbol wherein the start symbol comprises the transmission of a continuous logic level for a period of more than two times symbol duration.
8. A method as claimed in any one of claims 3 to 7 further comprising the step of: scrambling payload data wherein the scrambling comprises performing a predetermined logical operation on each data byte before adding a start and a stop bit.
9. A method as claimed in claim 8 wherein the predetermined logical operation comprises an exclusive OR on each data byte with a value of 202 (CA hexadecimal).
10. A method of synchronizing devices for communicating in a network, the method comprising the steps of: detecting a start symbol at a receiving device by timing the duration of a logic signal level on a received data transmission; changing the state of the receiving device upon detecting the start symbol, to a wait state wherein the receiving device waits to receive the start of a payload data transmission in the form of a predetermined logic transition; adjusting the internal clock of the receiving device immediately upon detecting the predetermined logic transition, so as to synchronize the receiving device with other devices receiving the data transmission within the network.
11. A method as claimed in claim 10 wherein the received data transmission is encoded in accordance with a method as claimed in any one of claims 3 to 9.
12. A method of dynamically allocating a timeslot for a receiving device in a communication network, the method comprising the steps of: receiving a data transmission from the network; copying a received timeslot from the data transmission; copying a received neighborhood list from the data transmission; searching the received neighborhood list for an unused timeslot in accordance with a predetermined logical search strategy so as to locate and allocate a timeslot to the receiving device.
13. A method as claimed in claim 12 further comprising the step of providing access to the network for the receiving device in the event that an unused timeslot is located and allocated to the receiving device and, wherein the receiving device is operated in a Normal mode where during its own timeslot for transmission the device transmits.
14. A method as claimed in claim 13 further comprising the step of operating the receiving device in a Normal/Listen mode in the event that an unused timeslot is not located or allocated to the receiving device, wherein the
Normal/Listen mode is such that during its own timeslot for transmission, the receiving device activates its receiver and not its transmitter.
15. A method of providing network access for a device adapted to receive data, the method comprising the steps of: receiving a data packet formatted as in claim 1 or 2 from a transmitting device; processing the received data packet as follows: copying the received neighborhood list; copying the received timeslot; forming a network with the device and the transmitting device if the device does not have any neighbor and is not in network; determine a dynamic allocation of a timeslot in accordance with a method as claimed in claim 12, 13 or 14 based on the following predetermined criteria: a) if the device is not in network and its ID value is less than the transmitting device's ID, perform a dynamic allocation of a timeslot; b) if the device is not in network and the transmitting device is in network, perform a dynamic allocation of a timeslot; c) if the device and the transmitting device are already in a network, do not perform a dynamic allocation of a timeslot.
16. A protocol for dynamically expanding a network of communicating devices, the protocol comprising the following states of operation: sleep, wherein a device's transmitter and receiver are inactive and the device is waiting for an external trigger; wake up, wherein a device's transmitter and receiver are enabled by an external trigger; scan, wherein a device's receiver is continuously receiving such that it scans for transmissions from other devices; listen, wherein a device is allocated a timeslot, synchronized to the timeslots of other devices, and such that the device only has its receiver operating during its allocated timeslot; normal, wherein a device is allocated a timeslot without being synchronized to the timeslots of other devices and, such that the device transmits during its allocated timeslot and receives during every other timeslot; network, wherein a device is allocated a timeslot for receiving and for transmitting and synchronized to the timeslots of other devices in the network.
17. A protocol as claimed in claim 16 further comprising : a wake up timer; a scan timer; a listen timer; a normal timer; a network timer.
18. A protocol as claimed in claim 17 wherein the scan state comprises the following transitions: the device detects transmissions from other devices and is able to be allocated a timeslot for itself and gain access in accordance with a method as claimed in claim 15, start a network timer and enter the network state; the device detects transmissions from other devices, determines there are no timeslots to allocate, starts a listen timer and enters the listen state; a scan timer expires and no other devices are detected defining no neighbors, a normal timer is started and the normal state is entered.
19. A protocol as claimed in claim 17 or 18 wherein the listen state comprises the following transitions: the device detects that a timeslot is available for allocation due to a sleep state being invoked by one or more other devices, allocates the timeslot, enters the network state and a network timer is started before leaving the listen state; a listen timer expires and no timeslot is available, a normal timer is started and the device leaves the listen state and enters the normal state.
20. A protocol as claimed in any of claims 17 to 19 wherein the normal state comprises the following transitions: the device detects newly transmitted messages from other devices, a network timer is started and the device enters the network state; the device does not detect any transmissions from other devices and remains in the normal state; a normal timer expires, the device disables it transmitter and receiver, starts a wake up timer and enters the wake up state.
21. A protocol as claimed in any of claims 17 to 20 wherein the network state comprises the following transitions: a network timer expires, the device disables all communications, powers down, starts a wake up timer and enters the wake up state so as to allow other devices to be allocated the timeslot it has occupied; the number of neighbor devices in the network drops to zero, the device starts a scan timer and enters the scan state.
22. A protocol as claimed in any of claims 17 to 21 wherein the timers have a duration and expiry time that differs for each instance of the timers being started in the given states.
23. Apparatus adapted to format a data packet, encode data, synchronize devices, dynamically allocate a timeslot, provide network access, or provide a protocol for dynamically expanding a network, said apparatus including: processor means adapted to operate in accordance with a predetermined instruction set, said apparatus, in conjunction with said instruction set, being adapted to perform the method as claimed in any one of claims 1 to 22.
24. A computer program product including: a computer usable medium having computer readable program code and computer readable system code embodied on said medium for any one or more of formatting a data packet, encoding data, synchronizing devices, dynamically allocating a timeslot, providing network access, or providing a protocol for dynamically expanding a network, within a data processing system, said computer program product including: computer readable code within said computer usable medium for performing the method of any of claims 1 to 22.
25. A method or protocol as herein disclosed.
26. An apparatus or product as herein disclosed.
PCT/SG2003/000293 2003-12-26 2003-12-26 Method and apparatus for wireless network expansion WO2005064824A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/SG2003/000293 WO2005064824A1 (en) 2003-12-26 2003-12-26 Method and apparatus for wireless network expansion
AU2003290502A AU2003290502A1 (en) 2003-12-26 2003-12-26 Method and apparatus for wireless network expansion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SG2003/000293 WO2005064824A1 (en) 2003-12-26 2003-12-26 Method and apparatus for wireless network expansion

Publications (1)

Publication Number Publication Date
WO2005064824A1 true WO2005064824A1 (en) 2005-07-14

Family

ID=34738121

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2003/000293 WO2005064824A1 (en) 2003-12-26 2003-12-26 Method and apparatus for wireless network expansion

Country Status (2)

Country Link
AU (1) AU2003290502A1 (en)
WO (1) WO2005064824A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008095105A1 (en) * 2007-01-31 2008-08-07 Qualcomm Incorporated Method and apparatus for reducing call setup delay by improved sib7 and sib14 scheduling
EP2244524A3 (en) * 2009-04-22 2011-12-28 Digi International Inc. System and method for rejoining sleeping subnets in a wireless mesh network
US8149108B2 (en) 2007-11-14 2012-04-03 Stryker Corporation System and method for automatically powering on and synchronizing a wireless remote console to a central control unit so as to allow remote control of a medical device
US8942695B2 (en) 2007-01-31 2015-01-27 Qualcomm Incorporated Method and apparatus for reducing call setup delay by adjusting SIB7 and SIB14 scheduling frequency
US11678137B2 (en) 2020-05-06 2023-06-13 Fleetwood Group, Inc. Decentralized proximity system with multiple radio links

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719868A (en) * 1995-10-05 1998-02-17 Rockwell International Dynamic distributed, multi-channel time division multiple access slot assignment method for a network of nodes
US6317436B1 (en) * 1999-04-30 2001-11-13 Rockwell Collins Method and apparatus for managing communication resources using an adaptive broadcast cycle (ABC)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719868A (en) * 1995-10-05 1998-02-17 Rockwell International Dynamic distributed, multi-channel time division multiple access slot assignment method for a network of nodes
US6317436B1 (en) * 1999-04-30 2001-11-13 Rockwell Collins Method and apparatus for managing communication resources using an adaptive broadcast cycle (ABC)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008095105A1 (en) * 2007-01-31 2008-08-07 Qualcomm Incorporated Method and apparatus for reducing call setup delay by improved sib7 and sib14 scheduling
KR101086942B1 (en) 2007-01-31 2011-11-29 콸콤 인코포레이티드 Method and apparatus for reducing call setup delay by improved sib7 and sib14 scheduling
CN101601323B (en) * 2007-01-31 2014-04-30 高通股份有限公司 Method and apparatus for reducing call setup delay by improved SIB7 and SIB14 scheduling
US8934915B2 (en) 2007-01-31 2015-01-13 Qualcomm Incorporated Method and apparatus for reducing call setup delay by improved SIB7 and SIB14 scheduling
US8942695B2 (en) 2007-01-31 2015-01-27 Qualcomm Incorporated Method and apparatus for reducing call setup delay by adjusting SIB7 and SIB14 scheduling frequency
US8149108B2 (en) 2007-11-14 2012-04-03 Stryker Corporation System and method for automatically powering on and synchronizing a wireless remote console to a central control unit so as to allow remote control of a medical device
EP2244524A3 (en) * 2009-04-22 2011-12-28 Digi International Inc. System and method for rejoining sleeping subnets in a wireless mesh network
US8363569B2 (en) 2009-04-22 2013-01-29 Digi International Inc. System and method for rejoining sleeping subnets in a wireless mesh network
US11678137B2 (en) 2020-05-06 2023-06-13 Fleetwood Group, Inc. Decentralized proximity system with multiple radio links

Also Published As

Publication number Publication date
AU2003290502A1 (en) 2005-07-21

Similar Documents

Publication Publication Date Title
EP2115965B1 (en) Low-power wireless multi-hop networks
US7193986B2 (en) Wireless network medium access control protocol
JP3872786B2 (en) Wireless communication method capable of connectionless broadcasting
JP5136590B2 (en) Wireless communication system, wireless communication apparatus, wireless communication method, and computer program
US9351301B2 (en) Maintenance of time slot usage indicators and self-organizing networking
JP4285138B2 (en) Wireless communication system, wireless communication apparatus, wireless communication method, and computer program
US20140334387A1 (en) Method, apparatus, and computer program product for protecting shared transmission opportunity
US20120328061A1 (en) Method, apparatus, and computer program product for using discovered clock in a first communications protocol to synchronize networking activity in a second communications protocol
US20030081603A1 (en) Pending data announcements
EP1475924B1 (en) Wireless ad hoc communication with different power levels for message header and payload
US20050089001A1 (en) Wireless communication system, wireless communication apparatus, wireless communication method and computer program
KR20050071610A (en) Beacon channel for frequency hopping wireless devices
US9042828B2 (en) Method, apparatus, and computer program product for optimized discovery between mobile devices
US20080107157A1 (en) System and method for data transfer in frequency hopping wireless networks
WO2007106042A1 (en) A distributed wireless medium access control protocol for ad-hoc networks
JP2006042076A (en) Radio communication system, radio communication apparatus, radio communication method, and computer program
KR20000029996A (en) Method and apparatus for optimizing a medium access control protocol
WO2007035729A2 (en) Method of synchronizing a wireless device using an external clock
JP4582098B2 (en) Wireless communication system, communication apparatus, communication method, and program
CN105103644A (en) Systems and methods for collision management in a neighborhood aware network
KR20040002416A (en) Radio communication arrangements
WO2002039665A2 (en) Coordinated inquiry and page procedures in an ad-hoc wireless network
US20130003803A1 (en) Listen before talk frequency agile radio synchronization
US7564832B2 (en) Scheduling poll packets in bluetooth sniff mode
US20030092386A1 (en) Predictable communication establishment in ad-hoc wireless network

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
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

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP