JP5612221B2 - Sleep clock error recovery scheme - Google Patents

Sleep clock error recovery scheme Download PDF

Info

Publication number
JP5612221B2
JP5612221B2 JP2013538934A JP2013538934A JP5612221B2 JP 5612221 B2 JP5612221 B2 JP 5612221B2 JP 2013538934 A JP2013538934 A JP 2013538934A JP 2013538934 A JP2013538934 A JP 2013538934A JP 5612221 B2 JP5612221 B2 JP 5612221B2
Authority
JP
Japan
Prior art keywords
keep
alive
transmission
slave device
clock
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2013538934A
Other languages
Japanese (ja)
Other versions
JP2013544467A (en
Inventor
ハステッド、ポール・ジェイ.
マクファーランド、ウィリアム・ジェイ.
ス、デイビッド・ケー.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2013544467A publication Critical patent/JP2013544467A/en
Application granted granted Critical
Publication of JP5612221B2 publication Critical patent/JP5612221B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/0015Synchronization between nodes one node acting as a reference for the others
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0212Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
    • H04W52/0216Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Description

[0001] 本発明は、無線通信に関し、より詳細には、より安定した低電力発振器の設計に関する。   [0001] The present invention relates to wireless communications, and more particularly, to a more stable low power oscillator design.

[0002] ブルートゥース(登録商標)は、固定デバイスおよびモバイルデバイスから、(長さの短い電波を使用して)短距離上でデータを交換するための無線プロトコルである。ブルートゥースは、低電力アプリケーションのために意図され、しばしば、ファックス、モバイルフォン、電話、ラップトップ、パーソナルコンピュータ、プリンタ、全地球測位システム(GPS)受信機、デジタルカメラ、およびビデオゲームコンソールなどのデバイスで使用される。ブルートゥースは、周波数ホッピングスペクトル拡散と呼ばれる無線技術を使用し、これは、送られるデータを分割して、2402−2480MHzの範囲における1MHz幅の最大79個の帯域上で、これらデータの塊を送信する。   [0002] Bluetooth (registered trademark) is a wireless protocol for exchanging data over a short distance (using short-length radio waves) from a fixed device and a mobile device. Bluetooth is intended for low-power applications, often in devices such as fax machines, mobile phones, telephones, laptops, personal computers, printers, global positioning system (GPS) receivers, digital cameras, and video game consoles used. Bluetooth uses a radio technology called frequency hopping spread spectrum, which divides the data being sent and transmits these chunks of data over up to 79 bands of 1 MHz width in the range 2402-2480 MHz. .

[0003] ブルートゥース無線リンクは、ピコネットのコンテキスト(context)において形成される。ピコネットは、同じ物理チャネルを占有する2つ以上のデバイスを備える(これは、それらが、共通のクロックおよびホッピングシーケンスに同期されていることを意味する)。共通の(ピコネット)クロックは、ピコネットのマスタとして知られる、ピコネット内のデバイスのうちの1つのブルートゥースクロックと同一であり、ホッピングシーケンスは、マスタのクロックおよびマスタのブルートゥースデバイスアドレスから導出される。その他すべての同期されたデバイスは、ピコネット内のスレーブと呼ばれる。   [0003] The Bluetooth wireless link is formed in the context of a piconet. A piconet comprises two or more devices that occupy the same physical channel (this means they are synchronized to a common clock and hopping sequence). The common (piconet) clock is identical to the Bluetooth clock of one of the devices in the piconet, known as the piconet master, and the hopping sequence is derived from the master clock and the master Bluetooth device address. All other synchronized devices are called slaves in the piconet.

[0004] ブルートゥースは、マスタ/スレーブ構造を有するパケットベースプロトコルである。1つのマスタは、ピコネット内の最大7個のスレーブと通信することができ、すべてのデバイスは、マスタのクロックを共有する。パケット交換は、マスタによって定義される基本クロックに基づき、それは、312.5μsインターバルでティックする(ticks)。2つのクロックティックは、625μsのスロットを作成し、2つのスロットは、1250μsのスロットペアを作成する。シングルスロットパケットの単純なケースでは、マスタは、偶数スロットで送信して奇数スロットで受信し、逆にスレーブは、偶数スロットで受信して奇数スロットで送信する。パケットは、1スロット長、3スロット長または5スロット長でありうるが、すべてのケースにおいて、マスタ送信は、偶数スロットから開始し、スレーブ送信は、奇数スロットから開始する。   [0004] Bluetooth is a packet-based protocol having a master / slave structure. One master can communicate with up to seven slaves in the piconet, and all devices share the master's clock. Packet switching is based on a basic clock defined by the master, which ticks at 312.5 μs intervals. Two clock ticks create a slot of 625 μs, and two slots create a slot pair of 1250 μs. In the simple case of a single slot packet, the master transmits in even slots and receives in odd slots, and conversely, the slave receives in even slots and transmits in odd slots. Packets can be 1 slot long, 3 slots long or 5 slots long, but in all cases, master transmission starts with even slots and slave transmission starts with odd slots.

[0005] ブルートゥースの仕様は、スニフモード(sniff mode)と呼ばれる低電力モードを含み、これは、より一般的には、低電力スリープモード、または簡略化のために、単にスリープモードと呼ばれうる。スニフモードでは、アクティブに通信していないデバイスは、互いに「キープアライブ(keep alive)」メッセージまたは送信を周期的に送りながら、低電力(スリープ)状態に入りうる。言い換えれば、スニフモードでは、通信リンクを確立した送信機デバイスと受信機デバイスは、リンクを維持するために、互いに周期的に通信しあう。例えば、ユーザが、ブルートゥースのキーボードまたはマウスを使用しており、ある一定の時間期間の間、入力を提供していなかった場合には、このキーボードまたはマウスは、低電力スニフモードに入り、ブルートゥースマスタデバイス(ホストコンピュータ)は、リンクを維持するために、スレーブデバイス(キーボードまたはマウス)と周期的に通信するであろう。スニフモードは、バッテリで動作するヒューマンインタフェースデバイスに最大の利益をもたらし、また、これらデバイスのために、増大されたバッテリ寿命をもたらす。   [0005] The Bluetooth specification includes a low power mode called sniff mode, which may be more generally referred to as a low power sleep mode, or simply a sleep mode for simplicity. In sniff mode, devices that are not actively communicating may enter a low power (sleep) state while periodically sending “keep alive” messages or transmissions to each other. In other words, in the sniff mode, the transmitter device and the receiver device that have established the communication link periodically communicate with each other to maintain the link. For example, if the user is using a Bluetooth keyboard or mouse and has not provided input for a period of time, the keyboard or mouse will enter a low power sniff mode and the Bluetooth master device The (host computer) will periodically communicate with the slave device (keyboard or mouse) to maintain the link. Sniff mode provides the greatest benefit to battery-operated human interface devices and also provides increased battery life for these devices.

[0006] ブルートゥースの仕様は、ブルートゥースデバイスが、スリープ中でさえも、3.2kHzのブルートゥースクロックを維持することを必要とする。スリープ中、ブルートゥースは、クロックが250ppm+/−10μs内に維持されることを必要とする。デバイスが内部低電力発振器(LPO)を含む場合、内部LPO回路は、時として250ppmを超えてドリフトする(drifts)クロックを作成しうる。このドリフトは、ノイズ、温度の変化、供給電圧変動、または上記の組み合わせによるものである。   [0006] The Bluetooth specification requires that the Bluetooth device maintain a 3.2 kHz Bluetooth clock even during sleep. During sleep, Bluetooth requires that the clock be maintained within 250 ppm +/− 10 μs. If the device includes an internal low power oscillator (LPO), the internal LPO circuit may create clocks that sometimes drift over 250 ppm. This drift is due to noise, temperature changes, supply voltage fluctuations, or a combination of the above.

[0007] ブルートゥースデバイスクロックが、250ppmを超えてドリフトするケースでは、2つのデバイスは、スニフモードの間に通信リンクを維持することが困難になりうる。これは、マスタデバイスとスレーブデバイスとのクロックにおける差のためであり、マスタは、スレーブデバイスがスリープ状態の間に、スニフメッセージを送信しうる。スニフリンクにおけるスレーブデバイスの場合、このスレーブデバイスは、マスタ送信機を見つけ出すことができるように、その走査ウィンドウを開くことが可能である。スレーブデバイスは、典型的に、リンクの両側で250ppmの許容可能なクロックドリフト誤差範囲を可能にするために、そのウィンドウを所望の量だけ開くことができる。   [0007] In the case where the Bluetooth device clock drifts beyond 250 ppm, the two devices may have difficulty maintaining a communication link during sniff mode. This is due to the difference in clock between the master device and the slave device, and the master may send a sniff message while the slave device is in the sleep state. In the case of a slave device in a sniff link, this slave device can open its scan window so that it can find the master transmitter. The slave device can typically open its window by the desired amount to allow an acceptable clock drift error range of 250 ppm on either side of the link.

[0008] しかしながら、スレーブデバイスがその走査ウィンドウを増大させるケースでさえも、マスタデバイスは、依然として、スレーブデバイスがスリープモードにあるときに、スニフ通信を送信しうる。例えば、マスタは、スレーブがその受信ウィンドウを+/−250ppmを超えて開くと仮定することはできず、また、スレーブにそうするよう要求することもできない。マスタデバイスは、マスタ送信を、(クロックによって決定されるように)時間通り(on time)、かつ適切な周波数において実行する必要があり、さもなければ、リンクは、リンク監視タイムアウト(このタイムアウトの間に、リンクを復活させようとする、交渉されたまたはプログラム可能な数の試みが存在しうる)の満了後にドロップするであろう。   [0008] However, even in the case where the slave device increases its scan window, the master device may still send a sniff communication when the slave device is in sleep mode. For example, the master cannot assume that the slave will open its receive window beyond +/− 250 ppm, nor can it request the slave to do so. The master device must perform the master transmission on time (as determined by the clock) and at the appropriate frequency, otherwise the link will receive a link monitoring timeout (during this timeout). There may be a negotiated or programmable number of attempts to revive the link).

[0009] 先行技術に関連するその他の対応する課題は、そのような先行技術を、ここに説明される実施形態と比較した後に、当業者にとって明らかになるであろう。   [0009] Other corresponding problems associated with the prior art will become apparent to those skilled in the art after comparing such prior art to the embodiments described herein.

[0010] 本発明の実施形態は、例えば、ブルートゥースシステムのような、無線通信システムおけるデバイス間の通信リンクを維持することに関する。無線通信システムは、マスタデバイスと1つまたは複数のスレーブデバイスとを含む。スレーブデバイスが低電力モード(またはスリープモード)に入った場合、マスタデバイスは、通信リンクを維持するために、スレーブデバイスにキープアライブメッセージを周期的に送る。いくつかの実施形態では、マスタデバイスは、最後に成功したキープアライブ送信がスレーブデバイスに送られてからの時間の量を決定するように構成される。その後、マスタデバイスは、最後のキープアライブ送信からの決定された時間の量に基づいて、キープアライブ送信の適切な数と、キープアライブ送信のための適切な送信時間(transmission time)とを決定しうる。その後、マスタデバイスは、通信リンクを維持するために、複数のキープアライブメッセージをスケジュールされた時間において送信しうる。   [0010] Embodiments of the invention relate to maintaining a communication link between devices in a wireless communication system, such as, for example, a Bluetooth system. A wireless communication system includes a master device and one or more slave devices. When the slave device enters a low power mode (or sleep mode), the master device periodically sends keep alive messages to the slave device to maintain the communication link. In some embodiments, the master device is configured to determine the amount of time since the last successful keepalive transmission was sent to the slave device. The master device then determines an appropriate number of keepalive transmissions and an appropriate transmission time for the keepalive transmissions based on the determined amount of time since the last keepalive transmission. sell. The master device may then send multiple keep alive messages at scheduled times to maintain the communication link.

[0011] 本発明の目的、特徴、および利点は、添付図面とともに読むと、以下の詳細な説明への参照によって、より完全に理解されうる。
図1は、実例的なブルートゥースデバイスを含むブルートゥースシステムを示す。 図2は、一実施形態による、ブルートゥースマスタ送信機デバイスのブロック図である。 図3は、一実施形態による、スリープクロック誤差から回復する方法のフローチャート図である。 図4は、一実施形態による、マスタ無線デバイスとスレーブデバイスの間のスリープモード送信に関する時間的関係のチャートを図示する。 図5は、一実施形態による、マスタ無線デバイスとスレーブデバイスの間の計画されたスリープモード送信に関する実例的なタイミング図を例示する。 図6は、一実施形態による、マスタ無線デバイスとスレーブデバイスの間の実際のスリープモード送信に関する実例的なタイミング図を例示する。 図7は、一実施形態による、スリープクロック誤差から回復する方法のフローチャート図である。
[0011] The objects, features and advantages of the present invention may be more fully understood by reference to the following detailed description when read in conjunction with the accompanying drawings.
FIG. 1 shows a Bluetooth system that includes an exemplary Bluetooth device. FIG. 2 is a block diagram of a Bluetooth master transmitter device, according to one embodiment. FIG. 3 is a flowchart diagram of a method for recovering from a sleep clock error, according to one embodiment. FIG. 4 illustrates a chart of temporal relationships for sleep mode transmission between a master wireless device and a slave device, according to one embodiment. FIG. 5 illustrates an example timing diagram for planned sleep mode transmission between a master wireless device and a slave device, according to one embodiment. FIG. 6 illustrates an example timing diagram for actual sleep mode transmission between a master wireless device and a slave device, according to one embodiment. FIG. 7 is a flowchart diagram of a method for recovering from a sleep clock error according to one embodiment.

[0019] 本発明は、様々な修正および代替形態が可能であるが、その特定の実施形態が、図面に例として示され、ここで詳細に説明される。しかしながら、それに対する図面および詳細な説明は、本発明を開示される特定の形態に限定するようには意図されず、逆に、その意図は、添付の特許請求の範囲によって定義される本発明の趣旨および範囲内に含まれるすべての修正、同等のもの、および代替例を網羅することであることが理解されるべきである。見出しは、構成目的のみに用いられ、説明または特許請求の範囲を、限定または解釈するために使用されるようには意図されないことに留意されたい。さらに、本願にわたり、「〜しうる、〜することができる(may)」という文言は、許容を示す意味(すなわち、可能性がある、または可能であること)で用いられ、義務的な意味(すなわち、〜しなければならない(must))ではないことに留意されたい。「含む(include)」という用語、およびその派生語は、「それに限定されるものではないが、〜を含む」を意味する。「結合された(coupled)」という用語は、「直接的または間接的に接続された」を意味する。   [0019] While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. However, the drawings and detailed description thereto are not intended to limit the invention to the particular forms disclosed, but on the contrary, the intent is that of the invention as defined by the appended claims. It is to be understood that this is to cover all modifications, equivalents, and alternatives included within the spirit and scope. It should be noted that headings are used for organizational purposes only and are not intended to be used to limit or interpret the description or the claims. Further, throughout this application, the term “may be” is used in a sense of acceptance (ie, is possible or possible) and has a mandatory meaning ( Note that it is not a must. The term “include” and its derivatives mean “including but not limited to”. The term “coupled” means “directly or indirectly connected”.

[0020] ここに説明される本発明の実施形態は、2つのデバイス間の通信リンクを維持するために、「スリープモード」を含み、かつ、2つのデバイスのうちの少なくとも1つが低電力モードに置かれることができる、2つのデバイス間で送信されるメッセージを利用する、任意の様々な無線通信システムで使用されうる。実施形態は、ブルートゥースシステムのコンテキストにおいて以下に説明される。ここで使用される場合、「ブルートゥース」という用語は、ブルートゥース無線通信規格を指し、この規格の過去、現在および将来のバージョンを含む。以下の実施形態は、例示的であり、実施形態は、他の同様のタイプのシステムにも適用されうることに、ここでも留意されたい。さらに、「スリープモード」および「スリープフレーム」という用語は、それぞれ「スニフモード」および「スニフフレーム」というブルートゥース特有の用語に対応し、またはこれらの用語を一般的に称するためにここで使用されることに留意されたい。加えて、ここで使用される場合、「キープアライブ送信」または「キープアライブメッセージ」という用語は、「スニフパケット」というブルートゥース特有の用語に対応し、またはこの用語を一般的に称するために使用される。   [0020] Embodiments of the invention described herein include a "sleep mode" to maintain a communication link between two devices, and at least one of the two devices is in a low power mode It can be used in any of various wireless communication systems that utilize messages sent between two devices that can be placed. Embodiments are described below in the context of a Bluetooth system. As used herein, the term “Bluetooth” refers to the Bluetooth wireless communication standard and includes past, present and future versions of this standard. It should also be noted here that the following embodiments are exemplary and the embodiments may be applied to other similar types of systems. Further, the terms “sleep mode” and “sleep frame” correspond to, or are used herein generically, the Bluetooth-specific terms “sniff mode” and “sniff frame”, respectively. Please note that. In addition, as used herein, the term “keep-alive transmission” or “keep-alive message” corresponds to the Bluetooth-specific term “sniff packet” or is used to generically refer to this term. The

[0021] 図1は、一実施形態による、実例的な無線通信システムを例示する。図1の実例的なシステムは、ブルートゥースシステムである。この実例的なシステムは、ブルートゥース送信機/受信機、すなわち、トランシーバ、として動作しうるコンピュータシステム102を備え、それは、本発明の実施形態をインプリメント(implement)するように構成されうる。コンピュータシステム102は、コンピュータシステムの標準がそうであるように、少なくとも1つのプロセッサとメモリ、ディスプレイ、およびその他の様々なハードウェア/ソフトウェアなどの、様々な標準コンポーネントを含む。コンピュータシステム102は、ここで説明されるように動作するように構成されたブルートゥース送信/受信デバイス、すなわち、トランシーバデバイス(図2の200)、を含む。   [0021] FIG. 1 illustrates an example wireless communication system, according to one embodiment. The illustrative system of FIG. 1 is a Bluetooth system. This illustrative system includes a computer system 102 that can operate as a Bluetooth transmitter / receiver, or transceiver, that can be configured to implement embodiments of the present invention. The computer system 102 includes various standard components, such as at least one processor and memory, a display, and various other hardware / software, just as the computer system standard is. The computer system 102 includes a Bluetooth transmit / receive device, ie, a transceiver device (200 in FIG. 2) configured to operate as described herein.

[0022] コンピュータシステム102は、示されるように、ブルートゥースキーボード112、ブルートゥースマウス114および/またはブルートゥースヘッドセット116などの1つまたは複数の周辺機器と通信する。周辺機器112、114、116の各々は、ホストコンピュータ102と無線方式で通信する、バッテリ(またはその他の携帯可能なエネルギーソース)で動作するデバイスでありうる。   [0022] The computer system 102 communicates with one or more peripheral devices, such as a Bluetooth keyboard 112, a Bluetooth mouse 114, and / or a Bluetooth headset 116, as shown. Each peripheral device 112, 114, 116 may be a battery (or other portable energy source) device that communicates wirelessly with the host computer 102.

[0023] 様々なタイプのコンピュータシステムのうちの任意のもの、特に、スマートフォンまたはその他のモバイルフォン、マイクロホン、スピーカ、デジタルカメラ、ライトペン、ジョイスティック、ファックス装置、プリンタ、全地球測位システム(GPS)受信機、携帯情報端末(PDAs)、デジタルオーディオおよび/またはビデオプレーヤ、およびビデオゲームコンソールなどの、その他のタイプの無線デバイスも企図される。いくつかの実施形態では、プロセッサとメモリの代わりに、またはそれに加えて、無線デバイスは、何らかの他のタイプの機能的な、例えば、ASIC(特定用途向け集積回路)、フィールド・プログラマブル・ゲート・アレイ(FPGA)などの、プログラマブルハードウェアエレメントを利用しうることにさらに留意されたい。ここで使用される場合、「機能ユニット」という用語は、ハードウェアおよび/またはソフトウェアを備え、かつ特定の機能を実行することが可能なコンポーネント(または複数のコンポーネント)を指す。   [0023] Any of various types of computer systems, in particular smartphones or other mobile phones, microphones, speakers, digital cameras, light pens, joysticks, fax machines, printers, global positioning system (GPS) reception Other types of wireless devices are also contemplated such as machines, personal digital assistants (PDAs), digital audio and / or video players, and video game consoles. In some embodiments, instead of or in addition to a processor and memory, the wireless device may have some other type of functional, eg, ASIC (application specific integrated circuit), field programmable gate array. Note further that programmable hardware elements such as (FPGA) may be utilized. As used herein, the term “functional unit” refers to a component (or components) that comprises hardware and / or software and is capable of performing a specific function.

[0024] 上述されたように、図1は、一例にすぎず、実施形態は、無線方式で互いに通信しあうデバイスの様々な組み合わせのうちの任意のもので動作しうる。   [0024] As described above, FIG. 1 is merely an example, and embodiments may operate with any of various combinations of devices that communicate with each other in a wireless manner.

[0025] 図2は、図1に示された任意のブルートゥースデバイスにおいて備えられうる、実例的なブルートゥース・マスタ・トランシーバ・デバイス200のブロック図である。ブルートゥース・マスタ・トランシーバ・デバイス200は、マスタ送信機(またはトランシーバ)デバイスとして動作するように構成されうる。示されるように、ブルートゥースデバイス200は、例えば、メモリ204に結合されたプロセッサ202などの、機能ユニットを備えることができるが、他のタイプの機能ユニットも所望に応じて使用されることができ、例えば、所望に応じて、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ASIC(特定用途向け集積回路)などのようなプログラマブルハードウェアエレメント。ブルートゥースデバイス200はまた、アンテナ206と、クロック210を含むブルートゥース通信をインプリメントするための様々なブルートゥース回路208とを備え、例えば、低電発振器を備える。他の実施形態では、クロックは、任意の様々な方法でインプリメントされることができ、さらに、デバイス中の他の場所に位置しうることに留意されたい。   [0025] FIG. 2 is a block diagram of an exemplary Bluetooth master transceiver device 200 that may be included in any of the Bluetooth devices shown in FIG. The Bluetooth master transceiver device 200 may be configured to operate as a master transmitter (or transceiver) device. As shown, the Bluetooth device 200 can comprise a functional unit, such as, for example, a processor 202 coupled to a memory 204, although other types of functional units can be used as desired, For example, a programmable hardware element such as a field programmable gate array (FPGA), ASIC (application specific integrated circuit), etc., as desired. The Bluetooth device 200 also includes an antenna 206 and various Bluetooth circuits 208 for implementing Bluetooth communication including a clock 210, such as a low power oscillator. It should be noted that in other embodiments, the clock can be implemented in any of a variety of ways and can be located elsewhere in the device.

[0026] メモリ204は、ブルートゥースデバイス200の動作ために、様々なタイプのプログラム命令を記憶しうる。示されるように、メモリ204はまた、誤差回復プログラム命令212を記憶しうる。誤差回復プログラム命令212は、ここに説明される方法および機能、例えば、図3−図7のフローチャートおよびタイミング図で説明される方法および機能、の実施形態を実行するために、プロセッサ202によって実行可能でありうる。あるいは、ここに開示される誤差回復機能は、所望に応じて、ハードウェアで、例えば、適切に構成されたプログラマブルハードウェア、例えば、FPGA、またはその他のロジックを介して、あるいはソフトウェアとハードウェアの組み合わせで、インプリメントされうる。より一般的には、誤差回復機能は、機能ユニットを介してインプリメントされうる。   [0026] The memory 204 may store various types of program instructions for operation of the Bluetooth device 200. As shown, memory 204 may also store error recovery program instructions 212. Error recovery program instructions 212 may be executed by processor 202 to perform embodiments of the methods and functions described herein, eg, the methods and functions described in the flowcharts and timing diagrams of FIGS. It can be. Alternatively, the error recovery functions disclosed herein may be implemented in hardware as desired, eg, through appropriately configured programmable hardware, eg, FPGA, or other logic, or in software and hardware. Can be implemented in combination. More generally, the error recovery function can be implemented via a functional unit.

[0027] 図3は、クロック誤差から回復するための方法の一実施形態の動作を例示するフローチャート図である。この方法は、コンピュータシステム102のような、マスタ送信機として動作するブルートゥースデバイスによって実行されうる。マスタ無線デバイスは、スリープモード(302)、例えば、ブルートゥースの実施形態についてのスニフモード、に入りうる。マスタ無線デバイスは、同様にスリープモードにある、少なくとも1つのスレーブ無線デバイスに無線で結合される。マスタおよびスレーブの無線デバイスは、例えば、バッテリ電力を節約するために、少なくとも1つのスレーブ無線デバイスがアイドル状態にあってスリープモード(すなわち、低電力スリープモード、またはスニフモード)に入ることを決定したために、スリープモードに入りうる。例えば、スレーブ無線デバイスが、ブルートゥースキーボードであり、ユーザが、予め定められた時間の量の間、いずれの入力もキーボードに入力していない(キーボード上のいずれのキーも押下していない)場合、ブルートゥースキーボードは、スリープ(例えば、スニフ)モードに入りうる。   FIG. 3 is a flowchart illustrating the operation of one embodiment of a method for recovering from a clock error. This method may be performed by a Bluetooth device operating as a master transmitter, such as computer system 102. The master wireless device can enter a sleep mode (302), eg, a sniff mode for a Bluetooth embodiment. The master wireless device is wirelessly coupled to at least one slave wireless device that is also in sleep mode. The master and slave wireless devices have determined that, for example, at least one slave wireless device is idle and enters sleep mode (ie, low power sleep mode, or sniff mode) to conserve battery power Can enter sleep mode. For example, if the slave wireless device is a Bluetooth keyboard and the user has not entered any input on the keyboard for a predetermined amount of time (no key on the keyboard pressed) The Bluetooth keyboard can enter sleep (eg, sniff) mode.

[0028] マスタ無線デバイスは、少なくとも1つのスレーブ無線デバイスとの最後に成功したキープアライブ送信が行われてからの時間の量を決定する(304)。いくつかの実施形態では、成功は、送信に続く肯定応答の受信として定義される。いくつかの実施形態では、最後のキープアライブ送信の検出からの指定された時間の量の経過は、以下に説明されるブロック306−308で図示される動作をトリガする。マスタ無線デバイスは、スレーブ無線デバイスに送信するキープアライブフレームの回数と、キープアライブ送信を送信するのに適切な時間と周波数チャネルとを決定する(306)。いくつかの実施形態では、キープアライブフレームの回数は複数である。いくつかの実施形態では、マスタ無線デバイスは、ブロック304で決定されたような、最後のキープアライブ送信が行われてからの時間の量に基づいて、スレーブ無線デバイスに送信するキープアライブ送信の回数を決定する。   [0028] The master wireless device determines an amount of time since the last successful keepalive transmission with at least one slave wireless device (304). In some embodiments, success is defined as receipt of an acknowledgment following transmission. In some embodiments, the passage of a specified amount of time since the detection of the last keep-alive transmission triggers the action illustrated in blocks 306-308 described below. The master wireless device determines (306) the number of keepalive frames to send to the slave wireless device and the appropriate time and frequency channel to send the keepalive transmission. In some embodiments, the number of keep-alive frames is multiple. In some embodiments, the master wireless device transmits the number of keepalive transmissions to the slave wireless device based on the amount of time since the last keepalive transmission, as determined at block 304. To decide.

[0029] ブロック306のスレーブ無線デバイスに送信するキープアライブ送信の回数を決定することにおいて、マスタ無線デバイスは、以下に説明される図4の表のようなデータ構造を調べうる(examine)。マスタ無線デバイスはまた、データ構造を調べることによって、キープアライブフレームについての適切な送信時間を決定しうる。データ構造は、メモリ204の誤差回復プログラム命令212中に記憶されうる。マスタデバイスは、選択された回数のキープアライブフレームの送信を開始する(308)。ブロック306−308で実行される動作は、スレーブデバイスからの送信を検出することの繰り返される失敗に応答して、繰り返されることが可能であり、また、いくつかの実施形態では、様々な繰り返しについての送信時間は、それぞれの繰り返しの時間における状態に応答して、異なって間隔を空けられることが可能である。加えて、いくつかの実施形態は、ブロック306−308について上述された動作の繰り返される実行に応答して、送信の数および間隔を再計算するために、予期されたまたは予測されたクロックドリフトレートを調整しうる。   [0029] In determining the number of keep-alive transmissions to transmit to the slave wireless device in block 306, the master wireless device may examine the data structure as shown in the table of FIG. 4 described below. The master wireless device may also determine an appropriate transmission time for the keep alive frame by examining the data structure. The data structure can be stored in error recovery program instructions 212 in memory 204. The master device starts transmission of the selected number of keep-alive frames (308). The operations performed in blocks 306-308 can be repeated in response to repeated failures to detect transmissions from slave devices, and in some embodiments, for various iterations. The transmission times can be differently spaced in response to the state at each repetition time. In addition, some embodiments may provide an expected or predicted clock drift rate to recalculate the number and interval of transmissions in response to repeated execution of the operations described above for blocks 306-308. Can be adjusted.

[0030] 図4は、一実施形態による、マスタ無線デバイスとスレーブデバイスの間のスリープモード送信(キープアライブ送信)に関する時間的関係のチャートを図示する。表400は、1.25ミリ秒間隔の複数のキープアライブパケット(またはスニフフレーム)のセットを送った場合、クロック回復が成功する確率が高いかを決定するために使用される一連の値を示す(reflects)。表400は、625マイクロ秒のスロット期間を示す。各々の表エントリ402−414については、スロットの数が、スロット列416に示される。各々の表エントリ402−414については、時間列418が、スロット列416に示される625マイクロ秒のスロットの数のための時間の量を示す。   [0030] FIG. 4 illustrates a chart of temporal relationships for sleep mode transmission (keep alive transmission) between a master wireless device and a slave device, according to one embodiment. Table 400 shows a series of values used to determine if the probability of successful clock recovery is high when sending multiple sets of keepalive packets (or sniff frames) at 1.25 millisecond intervals. (Reflects). Table 400 shows a slot period of 625 microseconds. For each table entry 402-414, the number of slots is shown in the slot column 416. For each table entry 402-414, a time column 418 indicates the amount of time for the number of 625 microsecond slots shown in the slot column 416.

[0031] 各々の表エントリ402−414については、誤差列420が、予測されたクロックドリフト誤差範囲または許可された許容誤差(error tolerance)によって示される誤差の大きさを示す。表400のケースでは、予測されたクロックドリフト誤差レートの250ppmの許容誤差は、誤差列420に示される。誤差列420は、エントリのスロット列416における選択された数のスロット毎に、250ppmの誤差を有する水晶から生じる誤差の量を示す。LPO周波数が、250ppmの誤差で誤調整された場合、誤差列420にリストされる量は、予期されたまたは予測されたクロックドリフトである。誤差列420は、時間列418を、受け入れ可能な誤差フラクション(error fraction)(例えば、クロックドリフトレート)で乗算することによって計算され、これは、表400のケースにおいて、エントリ402については、時間列420の値12.5ミリ秒を、250で乗算し、100万で除算して、誤差列420における3.125マイクロ秒の値を生成することとなる。   [0031] For each table entry 402-414, an error column 420 indicates the magnitude of the error indicated by the predicted clock drift error range or allowed error tolerance. In the case of table 400, a 250 ppm tolerance of the predicted clock drift error rate is shown in error column 420. Error column 420 shows the amount of error resulting from a crystal with an error of 250 ppm for a selected number of slots in the slot column 416 of entries. If the LPO frequency is mistuned with an error of 250 ppm, the amount listed in error column 420 is the expected or predicted clock drift. Error column 420 is calculated by multiplying time column 418 by an acceptable error fraction (eg, clock drift rate), which in the case of table 400 is the time column for entry 402. The value of 12.5 milliseconds for 420 would be multiplied by 250 and divided by 1 million to produce a value of 3.125 microseconds in error sequence 420.

[0032] 誤差フレーム列422は、誤差列420にリストされる誤差から相当する数のブルートゥース送信フレームへの変換を表す。フレームは、2つのスロットで構成される。上述されたように、スロット期間は625マイクロ秒である。したがって、各フレームは、1.25ミリ秒である。ブルートゥースデバイスは、スロットおよびフレームで時間をキープする。例えば、スニフインターバルは、典型的に、フレームまたはスロットで表される。例えば、スニフインターバルは、20スロット(または160、または320)として計算されうる。エントリ402の各々は、スロット列416における所与のスニフインターバルについての誤差フレーム列422における潜在的なドリフトの(potential drift)フレームの数を提供する。スロット列416の値は、スレーブデバイスとの最後のコンタクトからいくつのスロットが経過したかを表す、同期期間(synch period)として考えられる。   [0032] Error frame sequence 422 represents a conversion from the errors listed in error sequence 420 to a corresponding number of Bluetooth transmission frames. The frame is composed of two slots. As described above, the slot period is 625 microseconds. Thus, each frame is 1.25 milliseconds. Bluetooth devices keep time in slots and frames. For example, a sniff interval is typically represented by a frame or slot. For example, the sniff interval may be calculated as 20 slots (or 160, or 320). Each entry 402 provides the number of potential drift frames in the error frame sequence 422 for a given sniff interval in the slot sequence 416. The value in the slot column 416 can be thought of as a synch period that represents how many slots have passed since the last contact with the slave device.

[0033] 表400は、スニフ期間が増大するにつれて、誤差と関連づけられる潜在的な時間の長さは、増加するフレームの数を表すということを実証する。スニフ期間と、誤差と関連づけられる潜在的な時間の長さとの間の関係を決定することは、スレーブデバイスとの相互作用の確率を増大させるために送られることができるキープアライブメッセージ(スニフパケット)の回数の決定を可能にする。LPOが250ppmの精度であるという確信(belief)を与えられると、その後、16000スロット期間の後に、およそ+/−2フレームの不確定性が現れるであろう。いくつかの実施形態では、デバイスがLPO周波数における可能な誤差が、例えば、1000ppm程の高さになりうると決定した場合には、この列の値は、4によって乗算されることができ、16000スロット期間にわたり、およそ+/−8フレームの不確定性を与える。送られるマスタ送信の数が、その後、表された誤差の反映として決定されることが可能である。   [0033] Table 400 demonstrates that as the sniff period increases, the potential length of time associated with the error represents an increasing number of frames. Determining the relationship between the sniff period and the length of potential time associated with the error can be sent to increase the probability of interaction with the slave device (sniff packet) Allows the number of times to be determined. Given the belief that the LPO is 250 ppm accurate, then an uncertainty of approximately +/− 2 frames will appear after the 16000 slot period. In some embodiments, if the device determines that a possible error in the LPO frequency can be as high as, for example, 1000 ppm, the value in this column can be multiplied by 4 and 16000 Over the slot period gives an uncertainty of approximately +/− 8 frames. The number of master transmissions sent can then be determined as a reflection of the represented error.

[0034] 図5は、一実施形態による、マスタ無線デバイスとスレーブデバイスの間の計画されたキープアライブ送信に関する実例的なタイミング図を例示する。図5は、マスタタイムライン500とスレーブタイムライン502を含む。マスタタイムライン500は、一連の送信ウィンドウ504−512および受信ウィンドウ514−522を含む。スレーブタイムライン502は、送信ウィンドウ524と受信ウィンドウ526を含む。   [0034] FIG. 5 illustrates an example timing diagram for a planned keep-alive transmission between a master wireless device and a slave device, according to one embodiment. FIG. 5 includes a master timeline 500 and a slave timeline 502. Master timeline 500 includes a series of transmit windows 504-512 and receive windows 514-522. Slave timeline 502 includes a transmission window 524 and a reception window 526.

[0035] 図5に描写される例では、マスタクロックが誤差に遭遇し、マスタタイムライン500をスレーブタイムライン502と400ppmずれた時間において配置する。マスタデバイスとスレーブデバイスの間の通信リンクを回復するために、マスタは、マスタデバイスが送信ウィンドウ504−512において最大5個のキープアライブ送信を送信するであろうことを決定する。マスタデバイスのブルートゥースリソースマネージャ(BRM)は、マスタシステムを通常よりも2スロット早く、例えば、送信ウィンドウ504において、ウェーク(wakes)し、フレームカウントを2だけ調整して、ブルートゥース回路がキープアライブ送信を生成することを要求する。スレーブデバイスからのいずれの応答も受信されない場合、BRMは、フレームカウントをスリープタイム位置に再び調整して、送信ウィンドウ506において再送信する。上述した例では、送信は、およそ−1000ppm(送信ウィンドウ504)、−500ppm(送信ウィンドウ506)、オン−タイム(on-time)(送信ウィンドウ508)、+500ppm(送信ウィンドウ510)、および+1000ppm(送信ウィンドウ512)において、最大5回まで行われるように計画される。図5の例では、スレーブクロックは、マスタクロックと400ppmずれており、したがって、送信ウィンドウ510における4番目の送信は、スレーブ受信ウィンドウ526に到来し、スレーブ送信524により応答され、それは、マスタ受信ウィンドウ520において受信される。   In the example depicted in FIG. 5, the master clock encounters an error and places the master timeline 500 at a time that is 400 ppm offset from the slave timeline 502. In order to restore the communication link between the master device and the slave device, the master determines that the master device will transmit a maximum of 5 keep-alive transmissions in the transmission window 504-512. The master device's Bluetooth Resource Manager (BRM) wakes up the master system two slots earlier than normal, eg, wakes in the transmit window 504 and adjusts the frame count by two so that the Bluetooth circuit can keep-alive transmit. Request to generate. If no response from the slave device is received, the BRM again adjusts the frame count to the sleep time position and retransmits in the transmit window 506. In the example described above, the transmission is approximately -1000 ppm (transmission window 504), -500 ppm (transmission window 506), on-time (transmission window 508), +500 ppm (transmission window 510), and +1000 ppm (transmission). In window 512) it is planned to be performed up to 5 times. In the example of FIG. 5, the slave clock is 400 ppm off the master clock, so the fourth transmission in the transmission window 510 arrives at the slave reception window 526 and is answered by the slave transmission 524, which is the master reception window. Received at 520.

[0036] 一旦スリープ応答が見つけ出されると、マスタは、そのクロックを、スレーブが応答したスニフ送信を作成しているクロックになるように調整でき、そして、リンクは継続できる。マスタクロックを調整することは、マスタクロックが誤差状態にあるという仮定を具現化(embodies)し、マスタクロックをスレーブクロックに一致させるように調整することにより、マスタクロックは修正される。しかしながら、たとえ誤差がスレーブクロックにあったとしても、スレーブクロックへの再同期は、多くのアプリケーションに利益を提供するであろう。実施形態は、クロックが再調整(realigned)されているので、リンクが維持されるという可能性(likelihood)を増大させるのに役立つ。このようなケースにおいて影響を被りうる、同期接続指向型(SCO:Synchronous Connection Oriented)リンクのような同期リンクは、比較的長い時間期間の間にいずれの応答がなく、スリープ状態の間にタイムセンシティブな(time-sensitive)同期データをアクティブに送らない傾向にある実施形態において使用される。いくつかの実施形態では、送信ウィンドウ504−512におけるスリープ送信は、優先フレームとして扱われる。送信が、(共存インタフェースを介して)他のブルートゥースまたはWALNのトラフィックによって阻止された(pre-empted)場合、後続するスリープ期間もまた、スリープ応答が見つからなかった場合には、スリープ回復を利用するであろう。   [0036] Once a sleep response is found, the master can adjust its clock to be the clock that is creating the sniff transmission to which the slave responded, and the link can continue. Adjusting the master clock embodies the assumption that the master clock is in error and modifies the master clock by adjusting the master clock to match the slave clock. However, even if the error is in the slave clock, resynchronization to the slave clock will provide benefits for many applications. Embodiments help to increase the likelihood that the link will be maintained because the clock has been realigned. A synchronous link, such as a synchronous connection oriented (SCO) link, that can be affected in such a case, has no response during a relatively long time period and is time sensitive during sleep. Used in embodiments that tend to not actively send time-sensitive synchronization data. In some embodiments, sleep transmissions in transmission window 504-512 are treated as priority frames. If transmission is pre-empted by other Bluetooth or WALN traffic (via a coexistence interface), the subsequent sleep period also uses sleep recovery if no sleep response is found Will.

[0037] すべてのフレームにおいてキープアライブ送信を送ることの代替として、送信機は、1つのスリープアンカーにおけるいくつかのフレーム期間において送信し、その後、別のスリープアンカーにおける他のスリープ期間において送信するように、オプション的に選択しうる。例えば、送信機は、1つのスリープアンカーにおいて偶数フレームのオフセット(−4、−2、0、2、4)で送り、その後、次のアンカにおいて奇数フレームのオフセットで送ることを選択しうる。このような実施形態は、電力を節約するために選択されることができ、スレーブが1つのフレーム期間全体よりも長くウィンドウを開くので、デバイスがスリープ応答なしで5秒を超えた場合、有用であることが証明されうる。このような実施形態はまた、マスタが、送信すべき他のブルートゥーストラフィックを有している場合、あるいは、共存インタフェース上のWLANトラフィックが、あるトラフィックについての媒体を必要とする場合に、有用であることが証明されうる。   [0037] As an alternative to sending keep-alive transmissions in every frame, the transmitter may transmit in several frame periods in one sleep anchor and then in other sleep periods in another sleep anchor. Optionally, it can be selected. For example, the transmitter may choose to send with an even frame offset (-4, -2, 0, 2, 4) in one sleep anchor and then send with an odd frame offset in the next anchor. Such an embodiment can be selected to save power and is useful if the device exceeds 5 seconds without a sleep response because the slave opens the window longer than an entire frame period. It can be proven. Such an embodiment is also useful if the master has other Bluetooth traffic to transmit or if the WLAN traffic on the coexistence interface requires a medium for some traffic. Can be proved.

[0038] 当業者であれば、本開示を読んだことを踏まえて、図5に描写される送信が、フレーム境界に対応するように揃えられている一方で、いくつかの実施形態は、本開示の範囲から逸脱することなく、数100マイクロ秒のインクリメントにおいてクロックの分解能を調整することによって、フレーム境界にまたがる送信を含むということを理解するであろう。加えて、ここに開示される実例的な実施形態は、簡単にするために、単一のマスタおよび単一のスレーブについて説明された一方で、当業者であれば、本開示を読んだことを踏まえて、複数のスレーブをサポートする実施形態が、本開示の範囲から逸脱することなくインプリメントされうることを理解するであろう。複数のスニフリンクを適合(accommodate)するための解決策は、複数のマスタ/スレーブ関係の単一のリンクのみについての回復のサポートを含みうる。さらに、いくつかの実施形態は、複数のスレーブリンクのための複数のマスタクロックをインプリメントする。   [0038] While one of ordinary skill in the art would have read the present disclosure, while the transmission depicted in FIG. 5 is aligned to correspond to frame boundaries, some embodiments are described in this document. It will be understood that transmission across frame boundaries is included by adjusting the clock resolution in increments of a few hundred microseconds without departing from the scope of the disclosure. In addition, while the illustrative embodiments disclosed herein have been described for a single master and a single slave for simplicity, those of ordinary skill in the art should have read this disclosure. In light of this, it will be appreciated that embodiments supporting multiple slaves may be implemented without departing from the scope of the present disclosure. Solutions for adapting multiple sniff links may include support for recovery for only a single link in multiple master / slave relationships. Furthermore, some embodiments implement multiple master clocks for multiple slave links.

[0039] 図6は、図5に示された計画された時間ダイアグラムに関する実例的な結果のタイミング図を図示する。図6は、マスタタイムライン600とスレーブタイムライン602を含む。マスタタイムライン600は、一連の送信ウィンドウ604−610および受信ウィンドウ614−620を含む。スレーブタイムライン602は、送信ウィンドウ624と受信ウィンドウ626を含む。   [0039] FIG. 6 illustrates an exemplary results timing diagram for the planned time diagram shown in FIG. FIG. 6 includes a master timeline 600 and a slave timeline 602. Master timeline 600 includes a series of transmit windows 604-610 and receive windows 614-620. Slave timeline 602 includes a transmission window 624 and a reception window 626.

[0040] 図6に描写される例では、マスタクロックは、マスタタイムライン600がスレーブタイムライン602に対して400ppmのオフセットを生じる誤差に遭遇する。マスタデバイスとスレーブデバイスと間の通信リンクを回復するために、マスタは、送信ウィンドウ604−610において、4個のみが実際には送信されるが、最大5個のスリープ送信を送信するよう計画する。マスタデバイスのBRMは、マスタシステムを通常よりも2スロット早く、例えば、送信ウィンドウ604において、ウェークし、フレームカウントを2だけ調整して、ブルートゥース回路がスリープ送信を生成することを要求する。スレーブからのいずれの応答も受信されない場合、BRMは、フレームカウントをスリープタイム位置に再び調整して、送信ウィンドウ606において再送信する。上述した例では、これは、およそ−1000ppm(送信ウィンドウ604)、−500ppm(送信ウィンドウ606)、オン−タイム(送信ウィンドウ608)、+500ppm(送信ウィンドウ510)、および+1000ppm(キャンセルにより図示せず)において、最大5回まで行われるように計画される。この例では、スレーブクロックは、マスタクロックから400ppmの差があり、したがって、送信ウィンドウ510における4番目の送信は、スレーブ受信ウィンドウ626に到来し、スレーブ送信624により応答され、それは、マスタ受信ウィンドウ620において受信される。   [0040] In the example depicted in FIG. 6, the master clock encounters an error that causes the master timeline 600 to produce a 400 ppm offset relative to the slave timeline 602. To restore the communication link between the master device and the slave device, the master plans to send a maximum of 5 sleep transmissions in the send window 604-610, although only 4 are actually sent. . The BRM of the master device wakes up the master system two slots earlier than normal, for example, in the transmission window 604, adjusts the frame count by 2 and requests that the Bluetooth circuit generate a sleep transmission. If no response from the slave is received, the BRM again adjusts the frame count to the sleep time position and retransmits in the transmit window 606. In the example described above, this is approximately -1000 ppm (transmit window 604), -500 ppm (transmit window 606), on-time (transmit window 608), +500 ppm (transmit window 510), and +1000 ppm (not shown by cancellation). Is planned to be performed up to 5 times. In this example, the slave clock is 400 ppm different from the master clock, so the fourth transmission in transmit window 510 arrives at slave receive window 626 and is answered by slave transmit 624, which is the master receive window 620. Received at.

[0041] 一旦スリープ応答が見つけ出されると、調整された時間値628に反映されているように、マスタは、そのクロックをスレーブクロックに調整することができ、そして、リンクは継続することができる。それによって具体化される(embodied)仮定は、マスタクロックが誤差状態にあるということであり、スレーブクロックに調整することによって、マスタクロックは修正される。   [0041] Once a sleep response is found, the master can adjust its clock to the slave clock, as reflected in the adjusted time value 628, and the link can continue. The assumption embodied thereby is that the master clock is in error, and the master clock is modified by adjusting to the slave clock.

[0042] 図7は、一実施形態による、スリープクロック誤差から回復する方法のフローチャート図である。この方法は、コンピュータシステム102のような、マスタ送信機として動作するブルートゥースデバイスによって実行されうる。マスタ無線デバイスは、スリープモード(702)、例えば、ブルートゥースの実施形態についてのスニフモード、に入りうる。マスタ無線デバイスは、同様にスリープモードにある、少なくとも1つのスレーブ無線デバイスに無線で結合される。マスタおよびスレーブの無線デバイスは、例えば、バッテリ電力を節約するために、少なくとも1つのスレーブ無線デバイスがアイドル状態にあってスリープモード(すなわち、低電力スリープモード、またはスニフモード)に入ることを決定したために、スリープモードに入りうる。例えば、スレーブ無線デバイスが、ブルートゥースキーボードであり、ユーザが、予め定められた時間の量の間、いずれの入力もキーボードに入力していない(キーボード上のいずれのキーも押下していない)場合、ブルートゥースキーボードは、スリープ(例えば、スニフ)モードに入りうる。   [0042] FIG. 7 is a flowchart diagram of a method for recovering from a sleep clock error, according to one embodiment. This method may be performed by a Bluetooth device operating as a master transmitter, such as computer system 102. The master wireless device may enter a sleep mode (702), eg, a sniff mode for a Bluetooth embodiment. The master wireless device is wirelessly coupled to at least one slave wireless device that is also in sleep mode. The master and slave wireless devices have determined that, for example, at least one slave wireless device is idle and enters sleep mode (ie, low power sleep mode, or sniff mode) to conserve battery power Can enter sleep mode. For example, if the slave wireless device is a Bluetooth keyboard and the user has not entered any input on the keyboard for a predetermined amount of time (no key on the keyboard pressed) The Bluetooth keyboard can enter sleep (eg, sniff) mode.

[0043] マスタ無線デバイスは、少なくとも1つのスレーブ無線デバイスとの最後に成功したキープアライブ送信が行われてからの時間の量を決定する(704)。いくつかの実施形態では、成功は、送信に続く肯定応答の受信として定義される。マスタ無線デバイスは、スレーブ無線デバイスに送信するスリープフレームの数と、複数のキープアライブ送信を送信するのに適切な時間とを決定する(706)。加えて、いくつかの実施形態では、適切なチャネル周波数が決定される。いくつかの実施形態では、スリープフレームの数は複数である。いくつかの実施形態では、マスタ無線デバイスは、ブロック704で決定されたような、最後のキープアライブ送信が行われてからの時間の量に基づいて、スレーブ無線デバイスに送信するキープアライブ送信の回数を決定しうる。   [0043] The master wireless device determines an amount of time since the last successful keep-alive transmission with at least one slave wireless device (704). In some embodiments, success is defined as receipt of an acknowledgment following transmission. The master wireless device determines the number of sleep frames to send to the slave wireless device and the appropriate time to send multiple keep-alive transmissions (706). In addition, in some embodiments, the appropriate channel frequency is determined. In some embodiments, the number of sleep frames is multiple. In some embodiments, the master wireless device transmits the number of keep-alive transmissions to send to the slave wireless device based on the amount of time since the last keep-alive transmission, as determined at block 704. Can be determined.

[0044] 706のスレーブ無線デバイスに送信するキープアライブ送信の回数を決定することにおいて、マスタ無線デバイスは、上述された図4の表のようなデータ構造を調べうる。マスタ無線デバイスはまた、データ構造を調べることによって、スリープフレームについての適切な送信時間を決定しうる。マスタ無線デバイスは、いくつかの実施形態では、リンク監視タイムアウトまでの残りの時間の量も考慮しうる。このような実施形態では、複数のスニフフレームのより積極的な送信が、リンク監視タイムアウトの手法に対する応答として適切でありうる。データ構造は、メモリ204の誤差回復プログラム命令212中に記憶されうる。その後、マスタデバイスは、キープアライブ送信とも呼ばれるスリープフレームを送信する(708)。   [0044] In determining the number of keep-alive transmissions to be transmitted to the 706 slave wireless devices, the master wireless device may examine the data structure as shown in the table of FIG. 4 described above. The master wireless device may also determine an appropriate transmission time for the sleep frame by examining the data structure. The master wireless device may also consider the amount of time remaining before link monitoring timeout in some embodiments. In such an embodiment, more aggressive transmission of multiple sniff frames may be appropriate as a response to the link monitoring timeout approach. The data structure can be stored in error recovery program instructions 212 in memory 204. Thereafter, the master device transmits a sleep frame, also called keep-alive transmission (708).

[0045] スレーブ応答が受信されたかどうかの決定が行われる(710)。スレーブ応答が受信された場合、マスタクロックが調整される(712)。いずれのスレーブ応答も受信されなかった場合、接続がタイムアウトしたかどうかの決定が行われる(714)。接続がタイムアウトした場合、接続は終了される(716)。接続がタイムアウトしていない場合には、処理は、ブロック708に戻り、これは上述されている。   [0045] A determination is made as to whether a slave response has been received (710). If a slave response is received, the master clock is adjusted (712). If no slave response is received, a determination is made as to whether the connection has timed out (714). If the connection times out, the connection is terminated (716). If the connection has not timed out, processing returns to block 708, which has been described above.

[0046] 上記の実施形態は、かなり詳細に説明されているが、上記開示を十分に理解すれば、当業者にとって多数の変形例および修正が明らかになるであろう。以下の特許請求の範囲は、このような変形例および修正を全て包含するものとして解釈されるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] 無線デバイスであって、
機能ユニットと、
前記機能ユニットに結合された、無線トランシーバおよびアンテナと、
前記機能ユニットと前記無線トランシーバとに結合され、クロック信号を生成するように構成されたクロックと、
を備え、
前記無線デバイスは、少なくとも1つの無線スレーブデバイスに無線で結合され、前記機能ユニットは、
a)前記クロックに基づいて、前記少なくとも1つのスレーブデバイスとの最後のキープアライブ送信が行われてからの時間の量を決定し、
b)前記最後に成功したキープアライブ送信からの前記決定された時間の量に基づいて、前記少なくとも1つのスレーブデバイスに送信するキープアライブ送信の回数と、次にスケジュールされたキープアライブ送信の時間に関する前記キープアライブ送信についての適切な送信時間とを決定し、
c)前記決定された送信時間ごとに、前記少なくとも1つのスレーブデバイスに前記回数分のキープアライブ送信の連続送信を開始する、
ように構成される、無線デバイス。
[C2] 前記機能ユニットは、さらに、
前記キープアライブ送信についての適切な周波数チャネルを決定し、
前記少なくとも1つのスレーブデバイスが前記回数のキープアライブ送信のうちの少なくとも1つを受信することに応答して、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を受信し、
前記少なくとも1つのスレーブデバイスからの前記キープアライブ送信を受信することに応答して、前記回数分のキープアライブ送信の連続送信を中止し、それによって、前記回数分のキープアライブ送信のうちのいずれの残りのものも送信しない、
ように構成される、C1に記載の無線デバイス。
[C3] 前記機能ユニットは、さらに、
前記少なくとも1つのスレーブデバイスからの前記受信されたキープアライブ送信に基づいて、前記クロックを調整し、それによって、前記クロックを前記少なくとも1つのスレーブ無線デバイスに同期する、
ように構成される、C1に記載の無線デバイス。
[C4] 送信する前記キープアライブ送信の回数を決定するために、前記機能ユニットは、
予測されたクロックドリフト誤差レートにさらに基づいて、前記キープアライブ送信の回数および適切な送信時間を決定する、
ように構成される、C1に記載の無線デバイス。
[C5] 前記機能ユニットは、指定された時間の量の間、前記少なくとも1つのスレーブデバイスからのキープアライブ送信の検出を失敗することに応答して、a)乃至c)を実行するように構成される、C1に記載の無線デバイス。
[C6] 前記機能ユニットは、さらに、
前記指定された時間の量の間、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を検出することのそれぞれの失敗に応答して、そのたびに、a)乃至c)の複数の繰り返しを実行する、なお、前記複数の繰り返しのうちの少なくとも2つについての前記適切な送信時間は、異なる、
ように構成される、C5に記載の無線デバイス。
[C7] 前記機能ユニットは、さらに、
a)乃至c)を指定された回数実行した後、前記少なくとも1つのスレーブデバイスからのキープアライブ送信の検出を失敗することに応答して、前記予測されたクロックドリフトレートを増大させる、
ように構成される、C1に記載の無線デバイス。
[C8] 前記回数分のキープアライブ送信の各送信は、送信フレームの境界上で行われる、C1に記載の無線デバイス。
[C9] 前記機能ユニットは、
プロセッサと、
前記プロセッサに結合されたメモリと、
を備える、C1に記載の無線デバイス。
[C10] 前記機能ユニットは、1つまたは複数の、
プログラマブルハードウェアエレメント、または
特定用途向け集積回路(ASIC)、
を備える、C1に記載の無線デバイス。
[C11] スリープクロック誤差から回復するための方法であって、
無線マスタデバイスが、クロックに基づいて、少なくとも1つのスレーブデバイスへの無線接続に関する最後のキープアライブ送信が行われてからの時間の量を決定することと、
前記最後に成功したキープアライブ送信からの前記決定された時間の量に基づいて、前記少なくとも1つのスレーブデバイスに送信するキープアライブ送信の回数と、次にスケジュールされたキープアライブ送信の時間に関する前記キープアライブ送信についての適切な送信時間とを決定することと、
前記決定された送信時間ごとに、前記少なくとも1つのスレーブデバイスに前記数のキープアライブ送信の連続送信を開始することと、
を備える方法。
[C12] 前記キープアライブ送信についての適切な周波数チャネルを決定することと、
前記少なくとも1つのスレーブデバイスが前記回数分のキープアライブ送信のうちの少なくとも1つを受信することに応答して、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を受信することと、
前記少なくとも1つのスレーブデバイスからの前記キープアライブ送信を受信することに応答して、前記回数分のキープアライブ送信の連続送信を中止し、それによって、前記回数分のキープアライブ送信のうちのいずれの残りのものも送信しないことと、
をさらに備える、C11に記載の方法。
[C13] 前記少なくとも1つのスレーブデバイスからの前記受信されたキープアライブ送信に基づいて、前記クロックを調整し、それによって、前記クロックを前記少なくとも1つのスレーブ無線デバイスに同期すること、
をさらに備える、C11に記載の方法。
[C14] 前記送信するキープアライブ送信の回数を決定することは、予測されたクロックドリフト誤差レートに基づいて、前記キープアライブ送信の回数および適切な送信時間を決定することをさらに備える、C11に記載の方法。
[C15] 前記回数分のキープアライブ送信の各送信は、送信フレームの境界上で行われる、C11に記載の方法。
[C16] 実行されたときに、1つまたは複数のコンピュータに方法をインプリメントさせるプログラム命令を記憶した非一時的なコンピュータ可読記憶媒体であって、前記方法は、
無線マスタデバイスが、クロックに基づいて、少なくとも1つのスレーブデバイスへの無線接続に関する最後のキープアライブ送信が行われてからの時間の量を決定することと、
前記最後のキープアライブ送信からの前記決定された時間の量に基づいて、前記少なくとも1つのスレーブデバイスに送信するキープアライブ送信の回数と、次にスケジュールされたキープアライブ送信の時間に関する前記キープアライブ送信についての適切な送信時間とを決定することと、
前記決定された送信時間ごとに、前記少なくとも1つのスレーブデバイスに前記回数分のキープアライブ送信の連続送信を開始することと、
を備える、非一時的なコンピュータ可読記憶媒体。
[C17] 前記方法は、さらに、
前記少なくとも1つのスレーブデバイスが、前記回数分のキープアライブ送信のうちの少なくとも1つを受信することに応答して、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を受信することと、
前記少なくとも1つのスレーブデバイスからの前記キープアライブ送信を受信することに応答して、前記回数分のキープアライブ送信の連続送信を中止し、それによって、前記回数分のキープアライブ送信のうちのいずれの残りのものも送信しないことと、
を備える、C16に記載の非一時的なコンピュータ可読記憶媒体。
[C18] 前記方法は、さらに、
前記少なくとも1つのスレーブデバイスからの前記受信されたキープアライブ送信に基づいて、前記クロックを調整し、それによって、前記クロックを前記少なくとも1つのスレーブ無線デバイスに同期すること、
を備える、C16に記載の非一時的なコンピュータ可読記憶媒体。
[C19] 前記送信するキープアライブ送信の回数を決定することは、予測されたクロックドリフト誤差レートに基づいて、前記キープアライブ送信の回数および適切な送信時間を決定することをさらに備える、C16に記載の非一時的なコンピュータ可読記憶媒体。
[C20] 前記回数分のキープアライブ送信の各送信は、送信フレームの境界上で行われる、C16に記載の非一時的なコンピュータ可読記憶媒体。
[0046] Although the above embodiments have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. The following claims should be construed to include all such variations and modifications.
Hereinafter, the invention described in the scope of claims of the present application will be appended.
[C1] A wireless device,
A functional unit;
A radio transceiver and an antenna coupled to the functional unit;
A clock coupled to the functional unit and the wireless transceiver and configured to generate a clock signal;
With
The wireless device is wirelessly coupled to at least one wireless slave device, and the functional unit is:
a) determining an amount of time since the last keep-alive transmission with the at least one slave device based on the clock;
b) based on the determined amount of time from the last successful keep-alive transmission, the number of keep-alive transmissions sent to the at least one slave device and the time of the next scheduled keep-alive transmission. Determine an appropriate transmission time for the keep-alive transmission;
c) starting continuous transmission of the number of keep-alive transmissions to the at least one slave device for each determined transmission time;
Configured as a wireless device.
[C2] The functional unit further includes:
Determine an appropriate frequency channel for the keep-alive transmission;
Responsive to the at least one slave device receiving at least one of the number of keep-alive transmissions, receiving a keep-alive transmission from the at least one slave device;
In response to receiving the keep-alive transmission from the at least one slave device, the continuous transmission of the keep-alive transmission for the number of times is stopped, whereby any one of the keep-alive transmissions for the number of times Do not send the rest,
The wireless device according to C1, configured as follows.
[C3] The functional unit further includes:
Adjusting the clock based on the received keep-alive transmission from the at least one slave device, thereby synchronizing the clock to the at least one slave wireless device;
The wireless device according to C1, configured as follows.
[C4] In order to determine the number of keep-alive transmissions to transmit, the functional unit
Further determining the number of keep-alive transmissions and an appropriate transmission time based further on an estimated clock drift error rate;
The wireless device according to C1, configured as follows.
[C5] The functional unit is configured to perform a) to c) in response to failing to detect a keep-alive transmission from the at least one slave device for a specified amount of time. The wireless device according to C1, wherein:
[C6] The functional unit further includes:
In response to each failure to detect keep-alive transmissions from the at least one slave device for the specified amount of time, each time a plurality of iterations of a) to c) are performed. Note that the appropriate transmission time for at least two of the plurality of repetitions is different.
The wireless device according to C5, configured as follows.
[C7] The functional unit further includes:
increasing the predicted clock drift rate in response to failing to detect a keep-alive transmission from the at least one slave device after performing a) to c) a specified number of times;
The wireless device according to C1, configured as follows.
[C8] The wireless device according to C1, wherein each transmission of the keep-alive transmission for the number of times is performed on a boundary of a transmission frame.
[C9] The functional unit is
A processor;
A memory coupled to the processor;
The wireless device according to C1, comprising:
[C10] The functional unit includes one or more functional units.
Programmable hardware elements, or
Application specific integrated circuit (ASIC),
The wireless device according to C1, comprising:
[C11] A method for recovering from a sleep clock error,
The wireless master device determines, based on the clock, an amount of time since the last keep-alive transmission for the wireless connection to the at least one slave device;
Based on the determined amount of time from the last successful keepalive transmission, the number of keepalive transmissions to be transmitted to the at least one slave device and the keep time for the next scheduled keepalive transmission. Determining an appropriate transmission time for an alive transmission;
Starting a continuous transmission of the number of keep-alive transmissions to the at least one slave device at each determined transmission time;
A method comprising:
[C12] determining an appropriate frequency channel for the keep-alive transmission;
Receiving the keep-alive transmission from the at least one slave device in response to the at least one slave device receiving at least one of the number of keep-alive transmissions;
In response to receiving the keep-alive transmission from the at least one slave device, the continuous transmission of the keep-alive transmission for the number of times is stopped, whereby any one of the keep-alive transmissions for the number of times Do n’t send the rest,
The method of C11, further comprising:
[C13] adjusting the clock based on the received keep-alive transmission from the at least one slave device, thereby synchronizing the clock to the at least one slave wireless device;
The method of C11, further comprising:
[C14] The determination of C11, wherein determining the number of keep-alive transmissions to transmit further comprises determining the number of keep-alive transmissions and an appropriate transmission time based on an estimated clock drift error rate. the method of.
[C15] The method according to C11, wherein each transmission of the number of keep-alive transmissions is performed on a transmission frame boundary.
[C16] A non-transitory computer readable storage medium that stores program instructions that, when executed, cause one or more computers to implement the method, the method comprising:
The wireless master device determines, based on the clock, an amount of time since the last keep-alive transmission for the wireless connection to the at least one slave device;
Based on the determined amount of time since the last keep-alive transmission, the number of keep-alive transmissions to be transmitted to the at least one slave device and the keep-alive transmission with respect to the next scheduled keep-alive transmission time. Determining an appropriate transmission time for
Starting continuous transmission of the number of keep-alive transmissions to the at least one slave device for each determined transmission time;
A non-transitory computer-readable storage medium comprising:
[C17] The method further comprises:
The at least one slave device receiving a keep alive transmission from the at least one slave device in response to receiving at least one of the number of keep alive transmissions;
In response to receiving the keep-alive transmission from the at least one slave device, the continuous transmission of the keep-alive transmission for the number of times is stopped, whereby any one of the keep-alive transmissions for the number of times Do n’t send the rest,
A non-transitory computer-readable storage medium according to C16, comprising:
[C18] The method further comprises:
Adjusting the clock based on the received keep-alive transmission from the at least one slave device, thereby synchronizing the clock to the at least one slave wireless device;
A non-transitory computer-readable storage medium according to C16, comprising:
[C19] The C16 described in C16, wherein determining the number of keep-alive transmissions to transmit further comprises determining the number of keep-alive transmissions and an appropriate transmission time based on an estimated clock drift error rate. Non-transitory computer-readable storage medium.
[C20] The non-transitory computer-readable storage medium according to C16, wherein each transmission of the number of keep-alive transmissions is performed on a boundary of a transmission frame.

Claims (17)

無線デバイスであって、
機能ユニットと、
前記機能ユニットに結合された、無線トランシーバおよびアンテナと、
前記機能ユニットと前記無線トランシーバとに結合され、クロック信号を生成するように構成されたクロックと、
を備え、
前記無線デバイスは、少なくとも1つの無線スレーブデバイスに無線で結合され、前記機能ユニットは、
a)前記クロックに基づいて、前記少なくとも1つのスレーブデバイスとの最後に成功したキープアライブ送信が行われてから経過した間量を決定し、
b)前記最後に成功したキープアライブ送信からの前記決定された、経過した間量に基づいて、前記少なくとも1つのスレーブデバイスに送信するキープアライブ送信の回数と、次にスケジュールされたキープアライブ送信の時間に関する前記キープアライブ送信についての送信時間とを決定し、
c)前記決定された送信時間ごとに、前記少なくとも1つのスレーブデバイスに前記回数分のキープアライブ送信の連続送信を開始する、
ように構成され、
前記機能ユニットは、さらに、
前記少なくとも1つのスレーブデバイスからの受信されたキープアライブ送信に基づいて、前記クロックの誤差を調整し、それによって、前記クロックを前記少なくとも1つのスレーブ無線デバイスに同期する、
ように構成される、無線デバイス。
A wireless device,
A functional unit;
A radio transceiver and an antenna coupled to the functional unit;
A clock coupled to the functional unit and the wireless transceiver and configured to generate a clock signal;
With
The wireless device is wirelessly coupled to at least one wireless slave device, and the functional unit is:
Based on the a) said clock, determines the amount of time it last keep-alive transmission successful has elapsed since been carried out with the at least one slave device,
b) is the determination of the keep-alive transmissions the last successful, based on the amount the time that has elapsed, the number of keep-alive transmission to be transmitted to the at least one slave device, then scheduled keep-alive transmission wherein determining the transmit time for the keep-alive transmissions for time,
c) starting continuous transmission of the number of keep-alive transmissions to the at least one slave device for each determined transmission time;
Is configured to,
The functional unit further comprises:
Adjusting an error of the clock based on a received keep-alive transmission from the at least one slave device, thereby synchronizing the clock to the at least one slave wireless device;
Configured as a wireless device.
前記機能ユニットは、さらに、
前記キープアライブ送信についての周波数チャネルを決定し、
前記少なくとも1つのスレーブデバイスが前記回数のキープアライブ送信のうちの少なくとも1つを受信することに応答して、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を受信し、
前記少なくとも1つのスレーブデバイスからの前記キープアライブ送信を受信することに応答して、前記回数分のキープアライブ送信の連続送信を中止し、それによって、前記回数分のキープアライブ送信のうちのいずれの残りのものも送信しない、
ように構成される、請求項1に記載の無線デバイス。
The functional unit further comprises:
Determining the frequency channel for the keep-alive transmission,
Wherein the at least one slave device in response to receiving at least one of a keep-alive transmission of the number of times to receive the keep-alive transmission from the at least one slave device,
In response to receiving the keep-alive transmission from the at least one slave device, the continuous transmission of the keep-alive transmission for the number of times is stopped, whereby any one of the keep-alive transmissions for the number of times Do not send the rest,
The wireless device of claim 1, configured as follows.
送信する前記キープアライブ送信の回数を決定するために、前記機能ユニットは、
予測されたクロックドリフト誤差レートにさらに基づいて、前記キープアライブ送信の回数および送信時間を決定する、
ように構成される、請求項1に記載の無線デバイス。
In order to determine the number of keep-alive transmissions to transmit, the functional unit
Further based on the predicted clock drift error rate, it determines the keep-alive transmission times and transmit time,
The wireless device of claim 1, configured as follows.
前記機能ユニットは、指定された時間量の間、前記少なくとも1つのスレーブデバイスからのキープアライブ送信の検出を失敗することに応答して、a)乃至c)を実行するように構成される、請求項1に記載の無線デバイス。 The functional unit, between the amount during the specified time, in response to failure to detect the keep-alive transmissions from the at least one slave device configured to perform a) to c), The wireless device according to claim 1. 前記機能ユニットは、さらに、
前記指定された時間量の間、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を検出することのそれぞれの失敗に応答して、そのたびに、a)乃至c)の複数の繰り返しを実行する、なお、前記複数の繰り返しのうちの少なくとも2つについての前記送信時間は、異なる、
ように構成される、請求項に記載の無線デバイス。
The functional unit further comprises:
Wherein between between amount when specified, in response to each of the failure to detect keepalive transmissions from said at least one slave device, each time, to perform multiple repetitions of a) to c) , At least two prior Kioku Shin time for one of said plurality of iterations, different,
The wireless device of claim 4 , configured as follows.
前記機能ユニットは、さらに、
a)乃至c)を指定された回数実行した後、前記少なくとも1つのスレーブデバイスからのキープアライブ送信の検出を失敗することに応答して、予測されたクロックドリフトレートを増大させる、
ように構成される、請求項1に記載の無線デバイス。
The functional unit further comprises:
a) to c) after performing the specified number of, in response to failure to detect the keep-alive transmissions from the at least one slave device, to increase the predicted clock drift rate,
The wireless device of claim 1, configured as follows.
前記回数分のキープアライブ送信の各送信は、送信フレームの境界上で行われる、請求項1に記載の無線デバイス。   The wireless device according to claim 1, wherein each transmission of the number of keep-alive transmissions is performed on a transmission frame boundary. 前記機能ユニットは、
プロセッサと、
前記プロセッサに結合されたメモリと、
を備える、請求項1に記載の無線デバイス。
The functional unit is
A processor;
A memory coupled to the processor;
The wireless device of claim 1, comprising:
前記機能ユニットは、1つまたは複数の、
プログラマブルハードウェアエレメント、または
特定用途向け集積回路(ASIC)、
を備える、請求項1に記載の無線デバイス。
The functional unit is one or more,
Programmable hardware elements, or application specific integrated circuits (ASICs),
The wireless device of claim 1, comprising:
スリープクロック誤差から回復するための方法であって、
無線マスタデバイスが、クロックに基づいて、少なくとも1つのスレーブデバイスへの無線接続に関する最後に成功したキープアライブ送信が行われてから経過した間量を決定することと、
前記最後に成功したキープアライブ送信からの前記決定された、経過した間量に基づいて、前記少なくとも1つのスレーブデバイスに送信するキープアライブ送信の回数と、次にスケジュールされたキープアライブ送信の時間に関する前記キープアライブ送信についての送信時間とを決定することと、
前記決定された送信時間ごとに、前記少なくとも1つのスレーブデバイスに前記回数分のキープアライブ送信の連続送信を開始することと、
前記少なくとも1つのスレーブデバイスからの受信されたキープアライブ送信に基づいて、前記クロックの誤差を調整し、それによって、前記クロックを前記少なくとも1つのスレーブ無線デバイスに同期することと、
を備える方法。
A method for recovering from a sleep clock error comprising:
And that the wireless master device, based on a clock, to determine the amount of time that the keep-alive transmission successful end to wireless connection to at least one slave device has elapsed since been made,
The last is the determination of the keep-alive transmission successful, based on the amount the time that has elapsed, the number of keep-alive transmission to be transmitted to the at least one slave device, then scheduled keep-alive transmission times and determining a transmit time for the keep-alive transmissions for,
Starting continuous transmission of the number of keep-alive transmissions to the at least one slave device for each determined transmission time;
Adjusting an error of the clock based on a received keep-alive transmission from the at least one slave device, thereby synchronizing the clock to the at least one slave wireless device;
A method comprising:
前記キープアライブ送信についての周波数チャネルを決定することと、
前記少なくとも1つのスレーブデバイスが前記回数分のキープアライブ送信のうちの少なくとも1つを受信することに応答して、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を受信することと、
前記少なくとも1つのスレーブデバイスからの前記キープアライブ送信を受信することに応答して、前記回数分のキープアライブ送信の連続送信を中止し、それによって、前記回数分のキープアライブ送信のうちのいずれの残りのものも送信しないことと、
をさらに備える、請求項10に記載の方法。
Determining a frequency channel for the keep-alive transmission,
Receiving the keep-alive transmission from the at least one slave device in response to the at least one slave device receiving at least one of the number of keep-alive transmissions;
In response to receiving the keep-alive transmission from the at least one slave device, the continuous transmission of the keep-alive transmission for the number of times is stopped, whereby any one of the keep-alive transmissions for the number of times Do n’t send the rest,
The method of claim 10 , further comprising:
前記送信するキープアライブ送信の回数を決定することは、予測されたクロックドリフト誤差レートに基づいて、前記キープアライブ送信の回数および送信時間を決定することをさらに備える、請求項10に記載の方法。 Wherein determining the number of keep-alive transmission to be transmitted, further comprising, based on the predicted clock drift error rate, determines the keep-alive transmission times and transmit time, according to claim 10 the method of. 前記回数分のキープアライブ送信の各送信は、送信フレームの境界上で行われる、請求項10に記載の方法。 The method according to claim 10 , wherein each transmission of the number of keep-alive transmissions is performed on a transmission frame boundary. 実行されたときに、1つまたは複数のコンピュータに方法をインプリメントさせるプログラム命令を記憶した非一時的なコンピュータ可読記憶媒体であって、前記方法は、
無線マスタデバイスが、クロックに基づいて、少なくとも1つのスレーブデバイスへの無線接続に関する最後に成功したキープアライブ送信が行われてから経過した間量を決定することと、
前記最後に成功したキープアライブ送信からの前記決定された、経過した間量に基づいて、前記少なくとも1つのスレーブデバイスに送信するキープアライブ送信の回数と、次にスケジュールされたキープアライブ送信の時間に関する前記キープアライブ送信についての送信時間とを決定することと、
前記決定された送信時間ごとに、前記少なくとも1つのスレーブデバイスに前記回数分のキープアライブ送信の連続送信を開始することと、
前記少なくとも1つのスレーブデバイスからの受信されたキープアライブ送信に基づいて、前記クロックの誤差を調整し、それによって、前記クロックを前記少なくとも1つのスレーブ無線デバイスに同期することと、
を備える、非一時的なコンピュータ可読記憶媒体。
A non-transitory computer readable storage medium storing program instructions that, when executed, cause one or more computers to implement the method, the method comprising:
And that the wireless master device, based on a clock, to determine the amount of time that the keep-alive transmission successful end to wireless connection to at least one slave device has elapsed since been made,
The last is the determination of the keep-alive transmission successful, based on the amount the time that has elapsed, the number of keep-alive transmission to be transmitted to the at least one slave device, then scheduled keep-alive transmission times and determining a transmit time for the keep-alive transmissions for,
Starting continuous transmission of the number of keep-alive transmissions to the at least one slave device for each determined transmission time;
Adjusting an error of the clock based on a received keep-alive transmission from the at least one slave device, thereby synchronizing the clock to the at least one slave wireless device;
A non-transitory computer-readable storage medium comprising:
前記方法は、さらに、
前記キープアライブ送信についての周波数チャネルを決定することと、
前記少なくとも1つのスレーブデバイスが、前記回数分のキープアライブ送信のうちの少なくとも1つを受信することに応答して、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を受信することと、
前記少なくとも1つのスレーブデバイスからの前記キープアライブ送信を受信することに応答して、前記回数分のキープアライブ送信の連続送信を中止し、それによって、前記回数分のキープアライブ送信のうちのいずれの残りのものも送信しないことと、
を備える、請求項14に記載の非一時的なコンピュータ可読記憶媒体。
The method further comprises:
Determining a frequency channel for the keep-alive transmission;
The at least one slave device receiving a keep alive transmission from the at least one slave device in response to receiving at least one of the number of keep alive transmissions;
In response to receiving the keep-alive transmission from the at least one slave device, the continuous transmission of the keep-alive transmission for the number of times is stopped, whereby any one of the keep-alive transmissions for the number of times Do n’t send the rest,
The non-transitory computer readable storage medium of claim 14 , comprising:
前記送信するキープアライブ送信の回数を決定することは、予測されたクロックドリフト誤差レートに基づいて、前記キープアライブ送信の回数および送信時間を決定することをさらに備える、請求項14に記載の非一時的なコンピュータ可読記憶媒体。 Wherein determining the number of keep-alive transmission to be transmitted, further comprising, based on the predicted clock drift error rate, determines the keep-alive transmission times and transmit time, according to claim 14 Non-transitory computer-readable storage medium. 前記回数分のキープアライブ送信の各送信は、送信フレームの境界上で行われる、請求項14に記載の非一時的なコンピュータ可読記憶媒体。 The non-transitory computer-readable storage medium according to claim 14 , wherein each transmission of the number of keep-alive transmissions is performed on a transmission frame boundary.
JP2013538934A 2010-11-12 2011-11-11 Sleep clock error recovery scheme Expired - Fee Related JP5612221B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/945,067 US8504889B2 (en) 2010-11-12 2010-11-12 Sleep clock error recovery scheme
US12/945,067 2010-11-12
PCT/US2011/060383 WO2012065069A1 (en) 2010-11-12 2011-11-11 Sleep clock error recovery scheme

Publications (2)

Publication Number Publication Date
JP2013544467A JP2013544467A (en) 2013-12-12
JP5612221B2 true JP5612221B2 (en) 2014-10-22

Family

ID=45217657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013538934A Expired - Fee Related JP5612221B2 (en) 2010-11-12 2011-11-11 Sleep clock error recovery scheme

Country Status (6)

Country Link
US (1) US8504889B2 (en)
EP (1) EP2638743B1 (en)
JP (1) JP5612221B2 (en)
KR (1) KR101463365B1 (en)
CN (1) CN103202072B (en)
WO (1) WO2012065069A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504889B2 (en) * 2010-11-12 2013-08-06 Qualcomm Incorporated Sleep clock error recovery scheme
US20130064337A1 (en) * 2011-09-12 2013-03-14 Qualcomm Incorporated Method and Apparatus for Adaptive Hysteresis Timer Adjustments for Clock Gating
US8995908B2 (en) * 2012-01-25 2015-03-31 Blackberry Limited Mobile communications system providing enhanced out of band (OOB) bluetooth pairing and related methods
CN108776227B (en) 2012-05-30 2019-10-15 李忠 Instantaneous detection of biomarker and application thereof
WO2014012109A1 (en) * 2012-07-13 2014-01-16 Zte Corporation Optical network unit power management in passive optical networks
CN104244239A (en) * 2013-06-06 2014-12-24 中兴通讯股份有限公司 Mobile hotspot starting device, method and system
KR101840245B1 (en) * 2013-11-28 2018-03-20 후아웨이 디바이스 (둥관) 컴퍼니 리미티드 A method for transmitting a heartbeat message and a mobile terminal
US9788288B2 (en) * 2014-01-13 2017-10-10 Qualcomm Incorporated Systems and methods for reducing power consumption in wireless communication
US10356839B2 (en) * 2014-11-04 2019-07-16 Qualcomm Incorporated Low power discontinuous reception with a second receiver
KR101675734B1 (en) * 2015-02-04 2016-11-14 전자부품연구원 Method for determining link quality in wireless network system
WO2018049924A1 (en) * 2016-09-14 2018-03-22 华为技术有限公司 Clock synchronization method and device
CN107040742B (en) * 2017-03-10 2019-10-18 浙江宇视科技有限公司 A kind of method for detecting abnormality and network hard disk video recorder NVR and video server
CN112019305B (en) * 2019-05-28 2023-04-18 阿里巴巴集团控股有限公司 Data transmission method, device, equipment and storage medium
CN112152745B (en) * 2019-08-07 2021-09-28 中兴通讯股份有限公司 Time synchronization method, time synchronization sending end, time synchronization receiving end and time synchronization system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953648A (en) * 1996-08-13 1999-09-14 Qualcomm Incorporated System and method for estimating clock error in a remote communication device
US6735454B1 (en) * 1999-11-04 2004-05-11 Qualcomm, Incorporated Method and apparatus for activating a high frequency clock following a sleep mode within a mobile station operating in a slotted paging mode
GB2371449A (en) * 2001-01-22 2002-07-24 Nokia Mobile Phones Ltd Synchronizing a new device to a synchronized network of devices
US7522689B2 (en) * 2002-09-23 2009-04-21 Telefonaktiebolaget L M Ericsson (Publ) Clock recovery in communication systems
US7701858B2 (en) * 2003-07-17 2010-04-20 Sensicast Systems Method and apparatus for wireless communication in a mesh network
US7330736B2 (en) * 2004-12-17 2008-02-12 Bbn Technologies Corp. Methods and apparatus for reduced energy communication in an ad hoc network
US8023441B2 (en) * 2004-12-20 2011-09-20 Sensicast Systems Method for reporting and accumulating data in a wireless communication network
KR20080025095A (en) * 2005-06-01 2008-03-19 밀레니얼 넷, 인크. Communicating over a wireless network
US7529531B2 (en) * 2005-11-09 2009-05-05 Qualcomm, Incorporated Apparatus and methods for estimating a sleep clock frequency
US8005065B2 (en) * 2007-09-11 2011-08-23 Qualcomm Incorporated Keep-alive for wireless networks
US7921316B2 (en) * 2007-09-11 2011-04-05 International Business Machines Corporation Cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US8155055B2 (en) * 2007-09-14 2012-04-10 Sony Ericsson Mobile Communications Ab Automatic re-connection of a previously lost connection in a frequency hopping communication system
US7979420B2 (en) * 2007-10-16 2011-07-12 Oracle International Corporation Handling silent relations in a data stream management system
US7886175B1 (en) * 2008-03-05 2011-02-08 Juniper Networks, Inc. Delaying one-shot signal objects
CA2665130A1 (en) * 2008-05-02 2009-11-02 Escherlogic Inc. Emergency warning system and method of installation
US8023425B2 (en) * 2009-01-28 2011-09-20 Headwater Partners I Verifiable service billing for intermediate networking devices
KR101537043B1 (en) * 2008-06-18 2015-07-15 삼성전자주식회사 Method and system for keeping connection between terminal and servers in communication system
JP5199470B2 (en) * 2008-08-27 2013-05-15 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Absolute control of virtual switches
US8504889B2 (en) * 2010-11-12 2013-08-06 Qualcomm Incorporated Sleep clock error recovery scheme

Also Published As

Publication number Publication date
CN103202072B (en) 2016-06-08
US20120124444A1 (en) 2012-05-17
KR20130098402A (en) 2013-09-04
KR101463365B1 (en) 2014-11-19
CN103202072A (en) 2013-07-10
WO2012065069A1 (en) 2012-05-18
EP2638743B1 (en) 2016-07-06
JP2013544467A (en) 2013-12-12
US8504889B2 (en) 2013-08-06
EP2638743A1 (en) 2013-09-18

Similar Documents

Publication Publication Date Title
JP5612221B2 (en) Sleep clock error recovery scheme
US10911930B2 (en) Wireless system, wireless device, non-transitory computer-readable storage medium having stored therein communication program, and communication method
US10750573B2 (en) BLE scatternet system and method
US9655067B2 (en) Method and apparatus for reducing energy consumption of radio communications in a wireless sensor network
US9848069B2 (en) Device synchronization over bluetooth
US10904832B2 (en) Wireless system, wireless device, non-transitory computer-readable storage medium having stored therein communication program, and communication method
JP5118756B2 (en) Code keying in power saving mode
JP4944251B2 (en) Automatic reconnection of previously lost connections in frequency hopping communication systems
KR20100081321A (en) Method for transmitting information packets within an asynchronous wireless communication network and network node implementing it
JP2014512610A (en) Reducing energy consumption in wireless devices
JP4919204B2 (en) Sensor network system and media access control method
US20120246265A1 (en) Time synchronization in wireless networks
JP6021445B2 (en) COMMUNICATION DEVICE AND ITS CONTROL METHOD
US11917543B2 (en) Bluetooth-based data transmission method and data receiving method, communicating apparatus and computer storage medium
CN115552989A (en) Multi-hop relay system, communication method and communication device
WO2016152804A1 (en) Wireless communication system, wireless communication network, wireless terminal, and wireless communication method
JP2018038023A (en) Radio transmission/reception system
JP6357796B2 (en) Wireless communication apparatus, wireless communication apparatus synchronization method, wireless communication program, and wireless communication system
JP2006325055A (en) Transmitter, receiver, transmitter/receiver and transmitting/receiving method of transmitter/receiver
Berdajs Time Synchronization Issues in a MAC Protocol for Wireless Sensor Networks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140709

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140805

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140903

R150 Certificate of patent or registration of utility model

Ref document number: 5612221

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees