WO2007105026A1 - Allocation of a communications channel to a data transfer session - Google Patents

Allocation of a communications channel to a data transfer session Download PDF

Info

Publication number
WO2007105026A1
WO2007105026A1 PCT/IB2006/001144 IB2006001144W WO2007105026A1 WO 2007105026 A1 WO2007105026 A1 WO 2007105026A1 IB 2006001144 W IB2006001144 W IB 2006001144W WO 2007105026 A1 WO2007105026 A1 WO 2007105026A1
Authority
WO
WIPO (PCT)
Prior art keywords
data transfer
transfer session
data
packets
communications channel
Prior art date
Application number
PCT/IB2006/001144
Other languages
French (fr)
Inventor
Christian Zechlin
Eugen Palnau
Original Assignee
Nokia Corporation
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 Nokia Corporation filed Critical Nokia Corporation
Priority to US12/225,031 priority Critical patent/US8374191B2/en
Priority to CN200680053860.5A priority patent/CN101401354B/en
Priority to EP06727578A priority patent/EP1994683A1/en
Priority to KR1020087024895A priority patent/KR101122142B1/en
Priority to PCT/IB2006/001144 priority patent/WO2007105026A1/en
Publication of WO2007105026A1 publication Critical patent/WO2007105026A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/26Resource reservation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access, e.g. scheduled or random access
    • H04W74/04Scheduled or contention-free access
    • H04W74/06Scheduled or contention-free access using polling
    • 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
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation

Definitions

  • Embodiments of the present invention relate to allocation of a communications channel to a data transfer session.
  • they relate to allocating a communications channel to a data transfer session between a Master device and a Slave device, such as in a Bluetooth piconet.
  • Fig. 1 illustrates a Bluetooth piconet 1. This is an ad-hoc radio communications network controlled by a Master device 2, and including the Master device 2 and up to seven Slave devices 4, 6, 8, 10.
  • the devices of the piconet 1 are synchronised to a common time reference 20 as illustrated in Fig. 2.
  • the common time reference is synchronised to the Bluetooth clock of the Master device 2.
  • communications in the piconet 1 occur as a sequence
  • the PDUs 22 are communicated in a time division duplex (TDD) fashion.
  • TDD time division duplex
  • the common time reference 20 is divided into a series of TDD frames 30.
  • Each TDD frame comprises two time slots.
  • the first time slot 31 of a.TDD frame is allocated to the Master 2 of the piconet 1. Only the Master 2 can begin transmission of a PDU in the first slot 31 of a TDD frame 30.
  • the second slot 32 of a TDD frame 30 is allocated to a single Slave in the piconet 1. Only that allocated Slave can begin transmitting a PDU 22 in the second time slot 32 of the TDD frame 30.
  • a PDU 22 comprises a header and a payload.
  • An access code of the header identifies the Master of the piconet and an address within the header identifies the device addressed.
  • the access code within- the header is also used for maintaining synchronisation to the common time reference 20 at each of the devices within the piconet 1. Accurate time synchronisation is necessary as the piconet 1 , according to the Bluetooth standard, uses fast frequency hopping and it is imperative that the Master and Slaves hop together.
  • the Master 2 at slot 31 A sends a PDU to the Slave S1 .
  • This enables the Slave S1 to reply with a PDU sent to the Master 2 in slot 32A.
  • the Master 2 sends a second PDU 22 in time slot 31 B which also enables the Slave S1 in time slot 32 to reply.
  • the Slave S1 is not obliged to reply.
  • time slot 31C 1 the Master 2 sends a PDU 22 to the Slave S3, which replies with a PDU 22 in a time slot 32.
  • time slot 31 D the Master 2 sends a PDU 22 to the Slave S2, which replies in the immediately following time slot 32D with a PDU 22.
  • This communication channel operates in a TDD fashion and includes a downlink channel from the Master 2 in a first slot 31 of a TDD frame 30 and an uplink channel to the Master in the second slot 32 of that
  • the communication channel may be allocated to a particular
  • the Bluetooth Master device 2 In order to maintain synchronisation ' within the piconet 1 , the Bluetooth Master device 2 typically polls a Slave at least every 25 ms. Consequently, by default, the communications channel will be allocated to a Slave at least once every Fig. 3 illustrates an example of an asynchronous data transfer protocol.
  • the asynchronous data transfer protocol is the OBEX (Object Exchange) protocol. This is a compact binary protocol originally developed by the Infrared Device Association (IrDA) for infrared communication that can be used with other transport mechanisms, such as Bluetooth. OBEX performs a function similar to HTTP but is less resource intensive.
  • the OBEX protocol is a session-orientated protocol, in that a session is initiated for data transfer and is then terminated when data transfer is complete.
  • an OBEX client 40 pushes a data block using the PUT command to a server 42.
  • the server 42 acknowledges receipt of the data block contained within the PUT command by sending a CONTINUE response to the client 40.
  • the client 40 after receiving the CONTINUE response for the previous data block transfer, proceeds with the next data block transfer by sending another PUT command 50 to the server 42, which will acknowledge receipt by returning a CONTINUE response 52. Because of the asynchronous nature of the data transfer protocol, there may be a delay at the server between the receipt of a PUT command 50 and the transmission of a CONTINUE response 52. Likewise, there may be a delay at the client 40 between the receipt of a CONTINUE response 52 and the transmission of the next PUT command 50.
  • the OBEX protocol may be used to transfer data using Bluetooth RDUs as the transport mechanism.
  • the latency between the receipt of a PUT command and the production of a CONTINUE response at the server 42 may be greater than a TDD frame duration (1.25 ms).
  • the latency at the client 40 between the receipt of a CONTINUE response 52 and the production of the next PUT command " 50 may be greater than a TDD frame duration (1.25 ms).
  • the Master device 2 is operating as the client 40, and it sends a PUT command 50 to a server 42 acting as a Slave in a first slot 31 of a TDD frame 30, the server 42 is unlikely to be able to reply with a CONTINUE response 52 in the second slot 32 of that TDD frame 30. Consequently, the OBEX server 42 acting as the Slave device, will have to wait until it is next polled by the Master before it can send the CONTINUE response 52 back to the OBEX client 40. This will typically be a delay of 25 ms.
  • the OBEX client 40 acting as the Slave, will be able to respond to a received CONTINUE response 52 sent in the first slot 31 of a TDD frame 30 by sending a PUT command 50 in the immediately following second time slot 32 of that TDD frame 30. Consequently, the OBEX client 40, operating as a Slave device, will have to wait until it is polled by the Master device 2 before it can provide the next PUT command 50 to the OBEX server 42.
  • a method of allocating a communications channel to a data transfer session comprising during the data transfer session: sending a first data transfer session packet via the communications channel then sending an additional packet or packets, that are not a part of the data transfer session, via the communications channel to reserve the communications channel for the data transfer session.
  • Each additional packet reserves the communications channel.
  • the communication channel may be reserved as needed by sending additional packets or may be reserved continuously. Continuous reservation of the communications channel in each TDD frame 'holds' the communications channel. 'Holding' in this sense means that the communication channel remains unavailable for uses other than the data transfer while the channel is held.
  • the data transfer session may be an asynchronous data transfer session, such as that provided by OBEX, in which data is transferred by a series of data/ack message pairs.
  • the first data transfer session packet may include a data message or an ack message as a payload.
  • the additional packet or packets may be a packet without a payload such as an RFCOMM packets with no payload.
  • the additional packet or packets are transparent/redundant from the perspective of actual data transfer.
  • a device operable to use a communications channel to transfer data during a data transfer session, comprising: a controller operable during a data transfer session to control the sending of a first data transfer session packet via the communications channel and the subsequent sending of an additional packet or packets, that are not a part of the data transfer session, via the communications channel to reserve the communications channel for the data transfer session.
  • a computer program comprising program instructions for enabling a device, during a data transfer session, to send a first data transfer session packet via a communications channel and to subsequently send an additional packet or
  • a chipset arranged to control, during a data transfer session, the sending of a first data transfer session packet via a communications channel and the subsequent sending of an additional packet or packets, that are not a part of the data transfer session, via the communications channel to reserve the communications channel for the data transfer session.
  • a method of transferring first data during a data transfer session comprising: sending data from a sender in a sequence of first packets interspersed with second packets sent from the sender via a communications channel, wherein the first packets transfer the first data and the second packets do not transfer the first data but repeatedly reserve the communications channel.
  • a method of allocating a communications channel to a data transfer session comprising during the data transfer session: sending, from a Master device to a Slave device, a first data transfer session packet via the communications channel then sending polls to the Slave device to reserve the communications channel for a second data transfer session packet sent by the Slave device to the Master device in reply to the first data transfer session packet.
  • Fig. 1 illustrates a Bluetooth piconet
  • - Fig. 2 illustrates a common time reference of the Bluetooth piconet and the • use of time slots to transfer packet data units
  • Fig. 3 illustrates an asynchronous data transfer session
  • Figs. 4A, 4B, 4C and 4D illustrate embodiments of the present invention.
  • Fig. 5A schematically illustrates a device and computer program for carrying out an embodiment of the invention.
  • Fig. 5B schematically illustrates a chip-set for carrying out an embodiment of the invention.
  • FIGS. 4A, 4B, 4C and 4D illustrate a method of allocating a communications channel to a data transfer session, the method comprising during the data transfer session: sending a first data transfer session packet
  • Figs 4A, 4B, 4C and 4D illustrate portions of asynchronous data transfer sessions in which transfer data is sent in OATA 1 messages contained in one or more PDUs 50 ( 'DATA' PDU(s)) and the receipt of a DATA message is acknowledged by returning an 1 ACK' message contained in one or more PDUs 52 (ACK PDU(s)).
  • the data sender 40 is the OBEX client
  • the data receiver 42 is the OBEX server
  • the PUT command is the DATA message
  • the CONTINUE response is the ACK message.
  • the Master M of the piconet is operating as a data sender 40 and a Slave S is operating as a data receiver 42 in an asynchronous data transfer session.
  • the data sender sends a final DATA PDU 50 in a DATA message to the Slave S. containing a transfer data block in its payload.
  • the PDUs 60 have payloads that do not contain transfer data and are transparent to the asynchronous data transfer session.
  • the receipt of a PDU 60 addressed to the Slave S from the Master M in a first time slot 31 of a TDD frame 30 allocates the communication channel to the. addressed Slave S and enables the Slave S to- reply in the second time slot 32 of that TDD frame 30.
  • the allocation/enablement is schematically illustrated in the Fig using the reference 70.
  • the Master 2 holds the communications channel for use by the Slave S.
  • the Slave S can therefore immediately use the communications channel to transfer the ACK
  • the ACK PDU 52 is sent in time slot N + 5.
  • the situation differs from that illustrated in Fig. 4A in that the data sender 40 is a Slave device as opposed to a Master device.
  • the Slave S of the piconet is operating as a data sender 40 and the Master M is operating as a data receiver 42 in the asynchronous data transfer session.
  • the data sender 40 is a Slave it needs to be granted access to the communications channel by the Master M for each frame it uses for transmission.
  • the Master device M is arranged so that whenever it receives a PDU, during the data transfer session, from a Slave -S in a TDD frame 30, it allocates the next TDD frame to that Slave by polling that Slave in the first time slot 31 of the next TDD frame 30.
  • "Polling" in this context means sending a PDU 1 such as PDU 62, that is addressed to the Slave. This functionality is illustrated with the reference numeral 72 in Fig. 4B and the poll is illustrated with the reference numeral 62.
  • the data sender 40 sends a final DATA PDU 50 in a DATA message to the Master M containing a transfer data block in its payload.
  • the Master M consequently responds 72 to the receipt of the final DATA PDU 50 by granting the Slave S access to the communications channel by sending a poll 62 to the Slave S in reply.
  • the data sender 40 uses the allocation 70 of access to the communications channel to send a PDU 60 to the data receiver 42 (the Master M) whether or not transfer data is available.
  • the PDUs 60 have payloads that do not contain transfer data and are transparent to the asynchronous data transfer session.
  • the PDUs 60 cause the Master M to repeatedly send polls 62 in reply which hold the communications channel for use by the Slave S.
  • the Slave S by replying to the polls with PDUs 60 prompts the Master M to send the polls.
  • the communication channel is therefore immediately available when the data receiver 42 (the Master M) has the ACK message ready to send back to the Slave S. There is consequently minimal delay in the ACK message being returned to the Slave S as SCK PDU 52.
  • Fig. 4C the situation differs from that illustrated in Fig. 4A in that it illustrates the time period between a final ACK PDU 52 of an ACK message and a first DATA PDU in a DATA message as compared to the time period between a final DATA PDU and a first ACK PDU in an-AGK message.
  • a Slave S of the piconet is operating as a data receiver 42 and the Master M is operating as a data sender 40 in the asynchronous data transfer session.
  • the Slave S needs to be granted access to the communications channel by the Master M for each frame it uses for transmission.
  • the Master M is arranged so that whenever it receives a PDU 1 during the data transfer session, from a Slave S in a TDD frame 30, it allocates the next TDD frame to that Slave by polling that Slave in the first time slot 31 of the next TDD frame 30.
  • "Polling" in this context means sending a PDU, such as a PDU 62, that is addressed to the Slave. This functionality is illustrated with the reference numeral 72 in Fig. 4C and the poll is illustrated with the reference numeral 62.
  • the receipt of a poll, such as PDU 62 addressed to the Slave S from the Master M in a first time slot 31 of a TDD frame 30 allocates the communication channel to the addressed Slave S and enables the Slave S to reply in the second time slot 32 of that TDD frame 30.
  • the allocation/enablement is schematically illustrated in the Fig using the reference 70.
  • the data receiver 42 sends a final ACK PDU 52 of an ACK message to the Master M.
  • the Master M consequently responds 72 to the receipt of the ACK PDU 52 by. granting the Slave S access to the communications channel by sending a poll 62 to the Slave S in reply.
  • the data receiver 42 uses the allocation 70 of access to the communications channel to send a PDU 60 to the data sender 40 (the Master M).
  • the PDUs 60 have payloads that do not contain transfer data and are transparent to- the asynchronous, data transfer session.
  • the PDUs 60 cause the Master M to repeatedly send polls 62 in reply which hold the communications channel for use by the Slave S.
  • the Slave S by replying to the polls with PDUs 60 prompts the Master M to send the polls.
  • the communication channel is therefore immediately available when the data sender 40 (the Master M) has a DATA message ready to send to the Slave S. There is consequently minimal delay in the DATA message being sent to the Slave S as DATA PDU 50.
  • Fig. 4D the situation differs from that illustrated in Fig. 4B in that it illustrates the time period between a final ACK PDU 52 of an ACK message and a first DATA PDU of a next DATA message as compared to the time period between a final DATA PDU of a DATA message and a first ACK PDU " of an ACK message.
  • the Master M of the piconet is operating as a data receiver 42 and a Slave S is operating as a data sender 40 in an asynchronous data transfer session.
  • the data receiver 42 sends a final ACK PDU 52 of an ACK message to the Slave S.
  • the PDUs 60 have payloads that do not contain transfer data and are transparent to the asynchronous data transfer session.
  • Master M in a first time slot 31 of a TDD frame 30 allocates the communication channel to the addressed Slave S and enables the Slave S to
  • the Master 2 holds the communications channel for use by the Slave S.
  • the Slave S can therefore immediately use the communications channel to transfer the next DATA PDU 50 as soon as it is available, In the illustrated example, the ACK PDU 52 is sent in time slot N' + 5.
  • the data transfer session packet is a DATA PDU 50.
  • the PDU 60 holds the communication channel as it is sent by the Master and in the example of Fig 4B, the PDU 60 prompts a poll 62 from the Master which holds the communication channel.
  • the data transfer session packet is an ACK PDU 52.
  • the PDU 60 holds the communication channel as it is sent from the Master and -in the example of Fig " 4C-, the PDU 60 prompts a poll 62 from the Master which holds the communication channel.
  • the PDUs have the consequence of either allocating the communications channel to the Slave S 1 if sent by the Master, or causing the Master to allocate the communications channel to the Slave S if sent by the Slave.
  • the PDUs 60 may be RFCOMM packets with no payload.
  • the PDUs 60 are sent in every TDD frame 30, this need not always be the case. For example, if it is the Master M that is sending the PDU 60, it can be sent with any time interval as the Master controls allocation of the communication channel. The PDUs 60 may therefore be sent periodically but not every TDD frame.
  • the PDUs 60 are sent in every TDD frame, in other embodiments they may be sent less frequently, in particular in the processes illustrated in Figs 4A and 4D, where the Master M sends the PDUs 60, they may be sent by the Master at will with any chosen periodicity or even randomly, also depending on other tasks of the master like exchanging packets with other slaves. However, the PDUs 60 will be sent more often than every 25ms. Thus the Master M may have two operational states- a data transfer state and a non-data transfer state.
  • a data transfer is on-going with a Slave S, and the Master after sending a final PDU 50, 52 of a data transfer message sends PDUs 60 to the Slave S more often than every 25ms up to a maximum frequency of every TDD frame.
  • the non-data transfer state ' a data transfer is not on-going with a Slave S, and the Master polls the Slave S every 25ms.
  • the Master may enter the data transfer state when a message or messages for a Slave are being buffered for transmission and may return to the non-data transfer state when the buffer does not contain message for the Slave.
  • Fig. 5A schematically illustrates suitable components for a device 90 that is operable as a Master M or Slave S of a Bluetooth piconet.
  • the device 90 is operable to use a Bluetooth communications channel to transfer data during a data transfer session.
  • a device controller 70 is operable during a data transfer session to control the sending of a first data transfer session packet (via the communications channel) and the subsequent sending of an additional packet or packets, that are not a part of the data transfer session, via the communications channel to hold the communications channel for the data transfer session.
  • the controller 70 may comprise a processor 72 and a memory 74 accessible by the processor 72 or it may be an ASIC or similar.
  • the controller 70 is connected to a radio transceiver 78.
  • the memory 74 may comprise a computer program 76 comprising program instructions for enabling a device, during a data transfer session, to send a first data transfer session packet via a communications channel and to subsequently send an additional packet or packets, that are not a part of the data transfer session, via the communications channel to hold the communications channel for the. data transfer session.
  • the computer program instructions may arrive at the device 90 via an electromagnetic carrier signal or be copied from a physical entity such as a computer program product, a memory/ device or a record medium such as a CD-ROM or DVD.
  • the controller 70 and radio transceiver 78. may be part of a chipset 80 as illustrated in Fig. 5B that is sold for integration within a device.
  • a chipset is arranged to control, during a data transfer session, the sending of a first data transfer session packet via a communications channel and the subsequent sending of an additional packet or packets, that are not a part of the data transfer session, via the communications channel to hold the communications channel for the data transfer session.

Abstract

A method of allocating a communications channel to a data transfer session, the method comprising during the data transfer session: sending a first data transfer session packet via the communications channel then sending an additional packet or packets, that are not a part of the data transfer session, via the communications channel to hold the communications channel for the data transfer session.

Description

TITLE
Allocation of a communications channel- to a data transfer session
FIELD OF THE INVENTION
Embodiments of the present invention relate to allocation of a communications channel to a data transfer session. In particular, they relate to allocating a communications channel to a data transfer session between a Master device and a Slave device, such as in a Bluetooth piconet.
BACKGROUND TO THE INVENTION
Fig. 1 illustrates a Bluetooth piconet 1. This is an ad-hoc radio communications network controlled by a Master device 2, and including the Master device 2 and up to seven Slave devices 4, 6, 8, 10. The devices of the piconet 1 are synchronised to a common time reference 20 as illustrated in Fig. 2. The common time reference is synchronised to the Bluetooth clock of the Master device 2.
As illustrated in Fig. 2, communications in the piconet 1 occur as a sequence
of packet data units (PDU) 22. The PDUs 22 are communicated in a time division duplex (TDD) fashion. The common time reference 20 is divided into a series of TDD frames 30. Each TDD frame comprises two time slots. The first time slot 31 of a.TDD frame is allocated to the Master 2 of the piconet 1. Only the Master 2 can begin transmission of a PDU in the first slot 31 of a TDD frame 30. The second slot 32 of a TDD frame 30 is allocated to a single Slave in the piconet 1. Only that allocated Slave can begin transmitting a PDU 22 in the second time slot 32 of the TDD frame 30. Only the Slave addressed in the first time slot 31 of a TDD frame 30 can reply in the second time slot 32 of that TDD frame 30. A PDU 22 comprises a header and a payload. An access code of the header identifies the Master of the piconet and an address within the header identifies the device addressed. The access code within- the header is also used for maintaining synchronisation to the common time reference 20 at each of the devices within the piconet 1. Accurate time synchronisation is necessary as the piconet 1 , according to the Bluetooth standard, uses fast frequency hopping and it is imperative that the Master and Slaves hop together.
Referring to Fig. 2, the Master 2 at slot 31 A sends a PDU to the Slave S1 . This enables the Slave S1 to reply with a PDU sent to the Master 2 in slot 32A. The Master 2 sends a second PDU 22 in time slot 31 B which also enables the Slave S1 in time slot 32 to reply. However, the Slave S1 is not obliged to reply. In time slot 31C1 the Master 2 sends a PDU 22 to the Slave S3, which replies with a PDU 22 in a time slot 32. In time slot 31 D, the Master 2 sends a PDU 22 to the Slave S2, which replies in the immediately following time slot 32D with a PDU 22.
It will therefore be appreciated that a single communication channel exists within the piconet 1. This communication channel operates in a TDD fashion and includes a downlink channel from the Master 2 in a first slot 31 of a TDD frame 30 and an uplink channel to the Master in the second slot 32 of that
TDD frame 30. The communication channel may be allocated to a particular
Slave by having the Master poll that Slave, by sending a PDU addressed to it, in the first time slot of a TDD frame 30.
In order to maintain synchronisation' within the piconet 1 , the Bluetooth Master device 2 typically polls a Slave at least every 25 ms. Consequently, by default, the communications channel will be allocated to a Slave at least once every Fig. 3 illustrates an example of an asynchronous data transfer protocol. -In this example the asynchronous data transfer protocol is the OBEX (Object Exchange) protocol. This is a compact binary protocol originally developed by the Infrared Device Association (IrDA) for infrared communication that can be used with other transport mechanisms, such as Bluetooth. OBEX performs a function similar to HTTP but is less resource intensive. The OBEX protocol is a session-orientated protocol, in that a session is initiated for data transfer and is then terminated when data transfer is complete. During a session, an OBEX client 40 pushes a data block using the PUT command to a server 42. The server 42 acknowledges receipt of the data block contained within the PUT command by sending a CONTINUE response to the client 40. The client 40, after receiving the CONTINUE response for the previous data block transfer, proceeds with the next data block transfer by sending another PUT command 50 to the server 42, which will acknowledge receipt by returning a CONTINUE response 52. Because of the asynchronous nature of the data transfer protocol, there may be a delay at the server between the receipt of a PUT command 50 and the transmission of a CONTINUE response 52. Likewise, there may be a delay at the client 40 between the receipt of a CONTINUE response 52 and the transmission of the next PUT command 50.
The OBEX protocol may be used to transfer data using Bluetooth RDUs as the transport mechanism. However, the latency between the receipt of a PUT command and the production of a CONTINUE response at the server 42 may be greater than a TDD frame duration (1.25 ms). Likewise, the latency at the client 40 between the receipt of a CONTINUE response 52 and the production of the next PUT command "50 may be greater than a TDD frame duration (1.25 ms).
Consequently, if the Master device 2 is operating as the client 40, and it sends a PUT command 50 to a server 42 acting as a Slave in a first slot 31 of a TDD frame 30, the server 42 is unlikely to be able to reply with a CONTINUE response 52 in the second slot 32 of that TDD frame 30. Consequently, the OBEX server 42 acting as the Slave device, will have to wait until it is next polled by the Master before it can send the CONTINUE response 52 back to the OBEX client 40. This will typically be a delay of 25 ms.
if the Master 2 is operating as the OBEX server 42, it is unlikely that the OBEX client 40, acting as the Slave, will be able to respond to a received CONTINUE response 52 sent in the first slot 31 of a TDD frame 30 by sending a PUT command 50 in the immediately following second time slot 32 of that TDD frame 30. Consequently, the OBEX client 40, operating as a Slave device, will have to wait until it is polled by the Master device 2 before it can provide the next PUT command 50 to the OBEX server 42.
It is therefore apparent that significant delays can occur if large amounts of data need to be transmitted using an asynchronous data transfer protocol between a Master device and a Slave device, in particular, where the Master device grants the Slave device access to a communication channel on a transaction by transaction basis.
BRIEF DESCRIPTION OF THE INVENTION
According to one embodiment of the invention there is provided a method of allocating a communications channel to a data transfer session, the method comprising during the data transfer session: sending a first data transfer session packet via the communications channel then sending an additional packet or packets, that are not a part of the data transfer session, via the communications channel to reserve the communications channel for the data transfer session.
Each additional packet reserves the communications channel. The communication channel may be reserved as needed by sending additional packets or may be reserved continuously. Continuous reservation of the communications channel in each TDD frame 'holds' the communications channel. 'Holding' in this sense means that the communication channel remains unavailable for uses other than the data transfer while the channel is held.
The data transfer session may be an asynchronous data transfer session, such as that provided by OBEX, in which data is transferred by a series of data/ack message pairs. The first data transfer session packet may include a data message or an ack message as a payload. The additional packet or packets may be a packet without a payload such as an RFCOMM packets with no payload. The additional packet or packets are transparent/redundant from the perspective of actual data transfer.
According to another embodiment of the present invention there is provided a device operable to use a communications channel to transfer data during a data transfer session, comprising: a controller operable during a data transfer session to control the sending of a first data transfer session packet via the communications channel and the subsequent sending of an additional packet or packets, that are not a part of the data transfer session, via the communications channel to reserve the communications channel for the data transfer session.
According to a further embodiment of the present invention there is provided a computer program comprising program instructions for enabling a device, during a data transfer session, to send a first data transfer session packet via a communications channel and to subsequently send an additional packet or
• - packets, that are not a part of the data transfer session, via the
communications channel to reserve the communications channel for the data transfer session.
According to a still further embodiment of the present invention there is provided a chipset arranged to control, during a data transfer session, the sending of a first data transfer session packet via a communications channel and the subsequent sending of an additional packet or packets, that are not a part of the data transfer session, via the communications channel to reserve the communications channel for the data transfer session.
According to anther embodiment of the present invention there is provided a method of transferring first data during a data transfer session comprising: sending data from a sender in a sequence of first packets interspersed with second packets sent from the sender via a communications channel, wherein the first packets transfer the first data and the second packets do not transfer the first data but repeatedly reserve the communications channel.
According to another embodiment there is provided a method of allocating a communications channel to a data transfer session, the method comprising during the data transfer session: sending, from a Master device to a Slave device, a first data transfer session packet via the communications channel then sending polls to the Slave device to reserve the communications channel for a second data transfer session packet sent by the Slave device to the Master device in reply to the first data transfer session packet.
* BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the present invention reference will now be made by way of example only to the accompanying drawings in which:
Fig. 1 illustrates a Bluetooth piconet; - Fig. 2 illustrates a common time reference of the Bluetooth piconet and the use of time slots to transfer packet data units;
Fig. 3 illustrates an asynchronous data transfer session; and
Figs. 4A, 4B, 4C and 4D illustrate embodiments of the present invention.
Fig. 5A schematically illustrates a device and computer program for carrying out an embodiment of the invention; and
Fig. 5B schematically illustrates a chip-set for carrying out an embodiment of the invention. DETAILED DESCRIPTION OF THE INVENTION
Each of Figs. 4A, 4B, 4C and 4D illustrate a method of allocating a communications channel to a data transfer session, the method comprising during the data transfer session: sending a first data transfer session packet
(50 in Figs. 4A and 4B, 52 in Fig. 4C and 4D) via the communications channel then sending an additional packet or packets (60), that are not a part of the data transfer session, via the communications channel to hold the communications channel for the data transfer session.
Figs 4A, 4B, 4C and 4D illustrate portions of asynchronous data transfer sessions in which transfer data is sent in OATA1 messages contained in one or more PDUs 50 ( 'DATA' PDU(s)) and the receipt of a DATA message is acknowledged by returning an 1ACK' message contained in one or more PDUs 52 (ACK PDU(s)). If the OBEX data transfer protocol is used, the data sender 40 is the OBEX client, the data receiver 42 is the OBEX server, the PUT command is the DATA message and the CONTINUE response is the ACK message. ■ '
Referring to Fig. 4A, the Master M of the piconet is operating as a data sender 40 and a Slave S is operating as a data receiver 42 in an asynchronous data transfer session.
At time slot N, the data sender sends a final DATA PDU 50 in a DATA message to the Slave S. containing a transfer data block in its payload. The data sender 40 (Master M) continues to send PDUs 60 to the Slave S in each of the following TDD frames 30 at time slots N + 2m, where m=1 , 2, 3... until it receives an ACK PDU 52 in reply from the data receiver 42.
The PDUs 60 have payloads that do not contain transfer data and are transparent to the asynchronous data transfer session. At the Slave S1 the receipt of a PDU 60 addressed to the Slave S from the Master M in a first time slot 31 of a TDD frame 30 allocates the communication channel to the. addressed Slave S and enables the Slave S to- reply in the second time slot 32 of that TDD frame 30. The allocation/enablement is schematically illustrated in the Fig using the reference 70.
Consequently, by repeatedly sending PDUs 60 to the Slave S, the Master 2 holds the communications channel for use by the Slave S. The Slave S can therefore immediately use the communications channel to transfer the ACK
- PDU 52 as soon as it is available. In the illustrated example, the ACK PDU 52 is sent in time slot N + 5.
Referring to Fig. 4B, the situation differs from that illustrated in Fig. 4A in that the data sender 40 is a Slave device as opposed to a Master device. The Slave S of the piconet is operating as a data sender 40 and the Master M is operating as a data receiver 42 in the asynchronous data transfer session. As the data sender 40 is a Slave it needs to be granted access to the communications channel by the Master M for each frame it uses for transmission.
The Master device M is arranged so that whenever it receives a PDU, during the data transfer session, from a Slave -S in a TDD frame 30, it allocates the next TDD frame to that Slave by polling that Slave in the first time slot 31 of the next TDD frame 30. "Polling" in this context means sending a PDU1 such as PDU 62, that is addressed to the Slave. This functionality is illustrated with the reference numeral 72 in Fig. 4B and the poll is illustrated with the reference numeral 62.
At the Slave S, the receipt of a PDU, such as poll 62, addressed to the Slave S from the Master M in a first time slot 31" of a TDD frame 30 allocates the 1144
9 communication channel to the addressed Slave S and enables the Slave S to reply in the second time slot 32 of that TDD frame 30. The allocation/enablement is schematically illustrated in the Fig using the reference 70. -
At time slot M, the data sender 40 sends a final DATA PDU 50 in a DATA message to the Master M containing a transfer data block in its payload.
The Master M consequently responds 72 to the receipt of the final DATA PDU 50 by granting the Slave S access to the communications channel by sending a poll 62 to the Slave S in reply.
The data sender 40 (Slave S) uses the allocation 70 of access to the communications channel to send a PDU 60 to the data receiver 42 (the Master M) whether or not transfer data is available. The PDUs 60 have payloads that do not contain transfer data and are transparent to the asynchronous data transfer session.
Consequently, as in Fig. 4A, the data sender 40, after sending a final DATA PDU 50 of a DATA message to the data receiver 42, holds the communications channel by sending PDUs 60 to the Master M in each of the following TDD frames 30 at time slots M + 2m, where m=i , 2, 3... until it ' receives an ACK PDU 52 in reply from the data receiver 42 (Master M). The PDUs 60 cause the Master M to repeatedly send polls 62 in reply which hold the communications channel for use by the Slave S. The Slave S by replying to the polls with PDUs 60 prompts the Master M to send the polls. The communication channel is therefore immediately available when the data receiver 42 (the Master M) has the ACK message ready to send back to the Slave S. There is consequently minimal delay in the ACK message being returned to the Slave S as SCK PDU 52. Referring to Fig. 4C, the situation differs from that illustrated in Fig. 4A in that it illustrates the time period between a final ACK PDU 52 of an ACK message and a first DATA PDU in a DATA message as compared to the time period between a final DATA PDU and a first ACK PDU in an-AGK message.
A Slave S of the piconet is operating as a data receiver 42 and the Master M is operating as a data sender 40 in the asynchronous data transfer session. The Slave S needs to be granted access to the communications channel by the Master M for each frame it uses for transmission.
The Master M is arranged so that whenever it receives a PDU1 during the data transfer session, from a Slave S in a TDD frame 30, it allocates the next TDD frame to that Slave by polling that Slave in the first time slot 31 of the next TDD frame 30. "Polling" in this context means sending a PDU, such as a PDU 62, that is addressed to the Slave. This functionality is illustrated with the reference numeral 72 in Fig. 4C and the poll is illustrated with the reference numeral 62.
At the Slave S, the receipt of a poll, such as PDU 62 addressed to the Slave S from the Master M in a first time slot 31 of a TDD frame 30 allocates the communication channel to the addressed Slave S and enables the Slave S to reply in the second time slot 32 of that TDD frame 30. . The allocation/enablement is schematically illustrated in the Fig using the reference 70.
At time slot M', the data receiver 42 sends a final ACK PDU 52 of an ACK message to the Master M.
The Master M consequently responds 72 to the receipt of the ACK PDU 52 by. granting the Slave S access to the communications channel by sending a poll 62 to the Slave S in reply. The data receiver 42 (Slave S) uses the allocation 70 of access to the communications channel to send a PDU 60 to the data sender 40 (the Master M). The PDUs 60 have payloads that do not contain transfer data and are transparent to- the asynchronous, data transfer session.
Consequently, the data receiver 42, after sending a final ACK PDU 52 of an
ACK message to the data sender 40, holds the communications channel by sending PDUs 60 to the Master M in each of the following TDD frames 30 at time slots M' + 2m, where m=1 , 2, 3... until it receives another DATA PDU 50 or the data transfer session ends. The PDUs 60 cause the Master M to repeatedly send polls 62 in reply which hold the communications channel for use by the Slave S. The Slave S by replying to the polls with PDUs 60 prompts the Master M to send the polls. The communication channel is therefore immediately available when the data sender 40 (the Master M) has a DATA message ready to send to the Slave S. There is consequently minimal delay in the DATA message being sent to the Slave S as DATA PDU 50.
Referring to Fig. 4D, the situation differs from that illustrated in Fig. 4B in that it illustrates the time period between a final ACK PDU 52 of an ACK message and a first DATA PDU of a next DATA message as compared to the time period between a final DATA PDU of a DATA message and a first ACK PDU" of an ACK message.
The Master M of the piconet is operating as a data receiver 42 and a Slave S is operating as a data sender 40 in an asynchronous data transfer session.
At time slot N1, the data receiver 42 sends a final ACK PDU 52 of an ACK message to the Slave S. The data sender 40 (Master M) continues to send PDUs 60 to the Slave S in each of the following TDD frames 30 at time slots N' + 2m, where m=1 , 2, 3... until it receives a DATA PDU 50 or the data transfer session ends. T/IB2006/00H44
12
The PDUs 60 have payloads that do not contain transfer data and are transparent to the asynchronous data transfer session.
At the Slave S, the receipt of a PDU 60 addressed to the Slave S from the
Master M in a first time slot 31 of a TDD frame 30 allocates the communication channel to the addressed Slave S and enables the Slave S to
reply in the second time slot 32 of that TDD frame 30. The allocation/enablement is schematically illustrated in the Fig using the reference 70.
Consequently, by repeatedly sending PDUs 60 to the Slave S, the Master 2 holds the communications channel for use by the Slave S. The Slave S can therefore immediately use the communications channel to transfer the next DATA PDU 50 as soon as it is available, In the illustrated example, the ACK PDU 52 is sent in time slot N' + 5.
It will therefore be appreciated from the description of Figs 4A-4D that after a device sends a data transfer session packet, it will continue to hold the communications channel by repeatedly sending PDUs 60 in subsequent TDD frames 30. In the. examples of Figs 4A and 4B, the data transfer session packet is a DATA PDU 50. In the example of Fig 4A, the PDU 60 holds the communication channel as it is sent by the Master and in the example of Fig 4B, the PDU 60 prompts a poll 62 from the Master which holds the communication channel. In the examples of Figs 4C and 4D, the data transfer session packet is an ACK PDU 52. In the example of Fig 4D, the PDU 60 holds the communication channel as it is sent from the Master and -in the example of Fig "4C-, the PDU 60 prompts a poll 62 from the Master which holds the communication channel. The PDUs have the consequence of either allocating the communications channel to the Slave S1 if sent by the Master, or causing the Master to allocate the communications channel to the Slave S if sent by the Slave. The PDUs 60 may be RFCOMM packets with no payload. it should be appreciated that each of Figs 4A, 4B, 4C and 4D relate to independent processes for holding a communication channel for use in a data transfer session, and as such an- embodiment of the invention may use one or more of those, independent processes in any combination. That is, an implementation of the invention does not have to use all of the processes described in Figs 4A to 4D.
Although in the preceding paragraphs it has been described that the PDUs 60 are sent in every TDD frame 30, this need not always be the case. For example, if it is the Master M that is sending the PDU 60, it can be sent with any time interval as the Master controls allocation of the communication channel. The PDUs 60 may therefore be sent periodically but not every TDD frame.
Although in the preceding embodiments, the PDUs 60 are sent in every TDD frame, in other embodiments they may be sent less frequently, in particular in the processes illustrated in Figs 4A and 4D, where the Master M sends the PDUs 60, they may be sent by the Master at will with any chosen periodicity or even randomly, also depending on other tasks of the master like exchanging packets with other slaves. However, the PDUs 60 will be sent more often than every 25ms. Thus the Master M may have two operational states- a data transfer state and a non-data transfer state. In the data transfer state, a data transfer is on-going with a Slave S, and the Master after sending a final PDU 50, 52 of a data transfer message sends PDUs 60 to the Slave S more often than every 25ms up to a maximum frequency of every TDD frame. In the non-data transfer state,' a data transfer is not on-going with a Slave S, and the Master polls the Slave S every 25ms. The Master may enter the data transfer state when a message or messages for a Slave are being buffered for transmission and may return to the non-data transfer state when the buffer does not contain message for the Slave. Fig. 5A schematically illustrates suitable components for a device 90 that is operable as a Master M or Slave S of a Bluetooth piconet. The device 90 is operable to use a Bluetooth communications channel to transfer data during a data transfer session.
A device controller 70 is operable during a data transfer session to control the sending of a first data transfer session packet (via the communications channel) and the subsequent sending of an additional packet or packets, that are not a part of the data transfer session, via the communications channel to hold the communications channel for the data transfer session.
The controller 70 may comprise a processor 72 and a memory 74 accessible by the processor 72 or it may be an ASIC or similar. The controller 70 is connected to a radio transceiver 78.
The memory 74 may comprise a computer program 76 comprising program instructions for enabling a device, during a data transfer session, to send a first data transfer session packet via a communications channel and to subsequently send an additional packet or packets, that are not a part of the data transfer session, via the communications channel to hold the communications channel for the. data transfer session.
The computer program instructions may arrive at the device 90 via an electromagnetic carrier signal or be copied from a physical entity such as a computer program product, a memory/ device or a record medium such as a CD-ROM or DVD.
The controller 70 and radio transceiver 78. may be part of a chipset 80 as illustrated in Fig. 5B that is sold for integration within a device. Such a chipset is arranged to control, during a data transfer session, the sending of a first data transfer session packet via a communications channel and the subsequent sending of an additional packet or packets, that are not a part of the data transfer session, via the communications channel to hold the communications channel for the data transfer session.
Although embodiments of the present invention have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications to the examples given can be made without departing from the scope of the invention as claimed.
Whilst endeavoring in the foregoing specification to draw attention to those features of the invention believed to be of particular importance it should be understood that the Applicant claims protection in respect of any patentable feature or combination of features hereinbefore referred to and/or shown in the drawings whether or not particular emphasis has been placed thereon.
I/we claim:

Claims

1. A method of allocating a communications channel to a data transfer session, the method .comprising during the data transfer session: sending a first data transfer session packet via the communications channel then sending an additional packet or packets via the communications channel to reserve the communications channel for the data transfer session.
2. A method as claimed in claim 1 , wherein the communication channel is between a first device operating as a master and a second device operating as a slave, wherein a slave is operable to send a packet to the master only in response to a poll from the master.
3. A method as claimed in claim 1 or 2, wherein the communication channel is a TDD channel comprising frames having a downlink time slot and an uplink time slot.
4.. A method as claimed in claim 3, when dependent on claim 2, wherein the latency between the receipt of a message in a data transfer protocol and the transmission of a. message in reply is greater than a frame duration.
5. A method as claimed in any preceding claim, wherein the data transfer session uses an asynchronous data transfer protocol.
6. A method as claimed in claim 5, wherein the latency between the receipt of a message in the asynchronous data transfer protocol and the transmission of the next message in the asynchronous data transfer protocol is'greater than 1.25ms.
7. A method as claimed in any preceding claim, wherein the data transfer session is for transferring first data and comprises sending a sequence of packets including data transfer session packets interspersed with additional packets wherein the first data transfer session packets transfer the first data and the additional packets do not transfer the first data but repeatedly reserve the communications channel.
8. A method as claimed in any preceding claim comprising sending a data transfer session packet, then repeatedly sending additional packets until receipt of an acknowledgement of receipt of the data transfer session packet.
9. A method as claimed in any preceding claim wherein the first data transfer session packet is a final packet of an OBEX PUT command.
10. A method as claimed in any preceding claim, wherein the additional packets are polls sent by a Master.
>
11. A method as claimed in any one of claims 1 to 6, wherein the data transfer session is for transferring first data and comprises sending a sequence of packets including data transfer session packets interspersed with additional packets wherein the first data transfer session packets acknowledge transfer of the first data and the additional packets do not transfer the first data or acknowledge transfer of the first data but repeatedly reserve the communications channel.
12. A method as claimed in any one of claims 1 to 6 or 11 wherein the communication channel is a TDD channel comprising frames having a downlink time slot and an uplink time slot, the method comprising sending a data transfer session packet in an uplink slot , then repeatedly sending additional packets in each uplink slot, thereby holding the communications channel, until the next data transfer in the downlink slot.
13. A method as claimed in any one of claims 1 to 6 or 11 and 12, wherein the first data transfer session packet is a final packet of an OBEX CONTINUE response.
14. A method as claimed in any one of claims 1 to 6 or 12 to 13, wherein the additional packets are packets sent by a Slave that obtain polls in reply from a master.
15. A method as claimed in claim 14 , wherein a master on receiving a packet from a slave, during a data transfer session, polls that slave.
16. A method as claimed in any preceding claim, wherein the additional packets are data packets with an empty payload.
17. A method as claimed in any preceding claim wherein the additional packets are empty RFCOMM packets.
18. A device operable to use a communications channel to transfer data during a data transfer session, comprising: a controller operable during a data transfer session to control the sending of a first data transfer session packet via the communications channel and the subsequent sending of an additional packet or packets , that are not a part of the data transfer session, via the communications channel to reserve the communications channel for the data transfer session.
19. A device as claimed in claim 18, wherein the device is operable either as a master or a slave and the communication channel is between a master and a slave, wherein a slave is operable to send a packet to the master only in response to a poll from the master.
20.' A device as claimed in claim 19, wherein a master on receiving a packet from a slave, during a data transfer session, polls that slave.
21. A device as claimed in claim 18 to 20, wherein the communication channel is a TDD channel comprising frames including a downlink time slot and an uplink time slot.
22. A device as claimed in any one of claims 18 to 21 , wherein the data transfer session uses an asynchronous data transfer protocol.
23. A computer program comprising program instructions for enabling a device during a data transfer session to send a first data transfer session packet via a communications channel and to subsequently send an additional packet or packets via the communications channel-to reserve the communications channel for the data transfer session.
24. A chipset arranged to control, during a data transfer session, the sending of a first data transfer session packet via a communications channel and the subsequent sending of an additional packet or packets via the communications channel to reserve the communications channel for the data transfer session.
25. A method of transferring first data during a data transfer session comprising: sending data from a sender in a sequence of first packets interspersed with second packets sent from the sender, wherein the first packets transfer the first data and the second packets do not transfer the first data but repeatedly reserve the communications channel.
26. A method of allocating a communications channel to a data transfer session, the method comprising during the data transfer session: sending, from a Master device to a Slave device, a first data transfer session packet via the communications channel then sending polls to the Slave device 1144
20 to reserve the communications channel for a second data transfer session packet sent by the Slave device to the Master device in reply to the first data transfer session packet.
27. A method as claimed in any claim 26, wherein the data transfer session is for transferring first data and comprises sending a sequence of packets including first data transfer session packets interspersed with polls wherein the first data transfer session packets transfer the first data and the polls do not transfer the first data but each poll reserves the communications channel.
28. A method as claimed in claim 26 or 27, comprising sending a data transfer session packet, then repeatedly sending polls until receipt of an acknowledgement of receipt of the data transfer session packet.
29. A method as claimed in any one of claims 26 to 28, wherein the data transfer session packet is a final packet of an OBEX PUT command.
30. A method as claimed in any one of claims 26 to 29, wherein the polls are data packets with an empty payload.
31. A method as claimed in any one of claims 26 to 30, wherein the polls are empty RFCOMM packets.
PCT/IB2006/001144 2006-03-14 2006-03-14 Allocation of a communications channel to a data transfer session WO2007105026A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US12/225,031 US8374191B2 (en) 2006-03-14 2006-03-14 Allocation of a communications channel to a data transfer session
CN200680053860.5A CN101401354B (en) 2006-03-14 2006-03-14 Allocation of a communications channel to a data transfer session
EP06727578A EP1994683A1 (en) 2006-03-14 2006-03-14 Allocation of a communications channel to a data transfer session
KR1020087024895A KR101122142B1 (en) 2006-03-14 2006-03-14 Allocation of a communications channel to a data transfer session
PCT/IB2006/001144 WO2007105026A1 (en) 2006-03-14 2006-03-14 Allocation of a communications channel to a data transfer session

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2006/001144 WO2007105026A1 (en) 2006-03-14 2006-03-14 Allocation of a communications channel to a data transfer session

Publications (1)

Publication Number Publication Date
WO2007105026A1 true WO2007105026A1 (en) 2007-09-20

Family

ID=38509093

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2006/001144 WO2007105026A1 (en) 2006-03-14 2006-03-14 Allocation of a communications channel to a data transfer session

Country Status (5)

Country Link
US (1) US8374191B2 (en)
EP (1) EP1994683A1 (en)
KR (1) KR101122142B1 (en)
CN (1) CN101401354B (en)
WO (1) WO2007105026A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2494758A (en) * 2011-09-13 2013-03-20 Nordic Semiconductor Asa A slave device configured to transmit reply messages in reply to only some request messages sent from a master device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9686049B2 (en) * 2007-09-12 2017-06-20 Avago Technologies General Ip (Singapore) Pte. Ltd Method and system for Bluetooth (BT) delayed acknowledgement (ACK)
US8732236B2 (en) 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
US9942887B2 (en) * 2012-04-12 2018-04-10 Futurewei Technologies, Inc. System and method for downlink transmission in a wireless network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040264381A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation Method and apparatus for managing keepalive transmissions

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0818659A (en) * 1994-06-28 1996-01-19 Kokusai Denshin Denwa Co Ltd <Kdd> Communication system using bi-directional tree network
US5583866A (en) * 1994-12-05 1996-12-10 Motorola, Inc. Method for delivering broadcast packets in a frequency hopping local area network
US6185197B1 (en) * 1995-06-02 2001-02-06 Airspan Networks, Inc. Control message transmission in telecommunications systems
US5691709A (en) * 1995-10-10 1997-11-25 Motorola, Inc. Communication transceiver providing unscheduled acknowledge back responses and method therefor
US5982761A (en) * 1996-09-30 1999-11-09 Amsc Subsidiary Corporation Methods of communicating over time-division multiple-access (TDMA) communication systems with distinct non-time-critical and time-critical network management information transmission rates
FI101666B (en) * 1996-11-29 1998-07-31 Nokia Multimedia Network Termi Implementation of delay-critical services in a cable television system
US6031841A (en) * 1997-12-23 2000-02-29 Mediaone Group, Inc. RSVP support for upstream traffic
US6747959B1 (en) * 1998-10-07 2004-06-08 At&T Corp. Voice data integrated mulitaccess by self-reservation and blocked binary tree resolution
US6445701B1 (en) * 1998-10-09 2002-09-03 Microsoft Corporation Channel access scheme for use in network communications
KR20000032728A (en) * 1998-11-17 2000-06-15 서평원 Method for assigning channel when communicating data in wide band wireless multimedia communication system
FI108203B (en) * 1998-11-27 2001-11-30 Nokia Mobile Phones Ltd Method and apparatus for transmitting information in a packet radio service
KR100350318B1 (en) * 1999-12-16 2002-08-28 엘지전자 주식회사 method for channel and time-slot assigning in time division multiplex system
CN100477857C (en) * 2000-02-23 2009-04-08 Ipr特许公司 Validation method for accessing probe with collision detection
US7126939B2 (en) * 2000-07-24 2006-10-24 Nortel Networks Limited Packet-based calls in a wireless network
FI20001876A (en) * 2000-08-25 2002-02-26 Nokia Mobile Phones Ltd Improved method and arrangement for data transmission in packet radio service
US20030081599A1 (en) * 2001-10-30 2003-05-01 Chui-Tsang Wu System and method for data transmission control
US7185045B2 (en) * 2002-07-15 2007-02-27 Sixnet, Llc Ethernet interface device for reporting status via common industrial protocols
US7391719B2 (en) * 2002-07-15 2008-06-24 Sixnet, Llc Redundant network interface for ethernet devices
US20050259617A1 (en) * 2004-05-06 2005-11-24 Samsung Electronics Co., Ltd. System and method for channel time reservation in distributed wireless personal area network
US8526415B2 (en) * 2005-09-30 2013-09-03 Robert Bosch Gmbh Method and system for providing acknowledged broadcast and multicast communication

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040264381A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation Method and apparatus for managing keepalive transmissions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2494758A (en) * 2011-09-13 2013-03-20 Nordic Semiconductor Asa A slave device configured to transmit reply messages in reply to only some request messages sent from a master device
GB2494758B (en) * 2011-09-13 2013-12-11 Nordic Semiconductor Asa Wireless data communication

Also Published As

Publication number Publication date
KR20080109842A (en) 2008-12-17
CN101401354B (en) 2012-08-29
US20090303906A1 (en) 2009-12-10
US8374191B2 (en) 2013-02-12
CN101401354A (en) 2009-04-01
KR101122142B1 (en) 2012-03-15
EP1994683A1 (en) 2008-11-26

Similar Documents

Publication Publication Date Title
US6928085B2 (en) System and method for providing quality of service and contention resolution in ad-hoc communication systems
JP5323940B2 (en) Uplink retuning for use in communication systems
US5751708A (en) Access method for broadband and narrowband networks
US7333514B2 (en) Flexible frame scheduler for simultaneous circuit-and packet-switched communication
US20030137970A1 (en) System and method for improved synchronization in a wireless network
US7613138B2 (en) Separating control and data in wireless networks
JP3902516B2 (en) Interference reducing communication method, communication system, and communication apparatus
JP4444660B2 (en) System and method for handling long asynchronous data in asynchronous time slots
EP1808034B1 (en) A method and element for wireless uplink packet data communications
CN101925190B (en) Wireless communication system and a method for transmitting data in the wireless communication system
EP1021891A1 (en) Medium access control protocol for data communications
EP1021001A3 (en) Onboard control of demand assigned multiple access protocol for satellite ATM networks
WO2001058077A2 (en) Ping-pong protocol with variable length packets
EP2465311A1 (en) Time synchronization in wireless networks
US20030140296A1 (en) Method of improving system performance in a wireless network by making requests without acknowledgement
WO2007027643A2 (en) Priority queuing of frames in a tdma network
US8374191B2 (en) Allocation of a communications channel to a data transfer session
EP1037405A3 (en) Satellite based demand assigned multiple access protocol for use with a processing satellite communication system
CN104981999A (en) Data processing method, communication device and system
EP2023552B1 (en) Wireless communication device and wireless communication method
Fantacci et al. Performance evaluation of a reservation TDMA protocol for voice/data transmission in microcellular systems
US8554139B2 (en) Transmission method and related apparatus for reducing radio resource overhead
Li et al. Achieving maximal VoIP calls in 802.11 wireless networks
Garcia-Luna-Aceves et al. ALOHA-NUI: A collision-free version of ALOHA using a Neighborhood-Understood Index
AU761936B2 (en) Medium access control protocol for data communications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06727578

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2006727578

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 200680053860.5

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020087024895

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 12225031

Country of ref document: US