無線デバイスであって、機能ユニットと、前記機能ユニットに結合された、無線トランシーバおよびアンテナと、前記機能ユニットと前記無線トランシーバとに結合され、クロック信号を生成するように構成されたクロックと、を備え、前記無線デバイスは、少なくとも1つの無線スレーブデバイスに無線で結合され、前記機能ユニットは、a前記クロックに基づいて、前記少なくとも1つのスレーブデバイスとの最後のキープアライブ送信が行われてからの時間の量を決定し、b前記最後に成功したキープアライブ送信からの前記決定された時間の量に基づいて、前記少なくとも1つのスレーブデバイスに送信するキープアライブ送信の回数と、次にスケジュールされたキープアライブ送信の時間に関する前記キープアライブ送信についての適切な送信時間とを決定し、c前記決定された送信時間ごとに、前記少なくとも1つのスレーブデバイスに前記回数分のキープアライブ送信の連続送信を開始する、ように構成される、無線デバイス。前記機能ユニットは、さらに、前記キープアライブ送信についての適切な周波数チャネルを決定し、前記少なくとも1つのスレーブデバイスが前記回数のキープアライブ送信のうちの少なくとも1つを受信することに応答して、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を受信し、前記少なくとも1つのスレーブデバイスからの前記キープアライブ送信を受信することに応答して、前記回数分のキープアライブ送信の連続送信を中止し、それによって、前記回数分のキープアライブ送信のうちのいずれの残りのものも送信しない、ように構成される、請求項1に記載の無線デバイス。前記機能ユニットは、さらに、前記少なくとも1つのスレーブデバイスからの前記受信されたキープアライブ送信に基づいて、前記クロックを調整し、それによって、前記クロックを前記少なくとも1つのスレーブ無線デバイスに同期する、ように構成される、請求項1に記載の無線デバイス。送信する前記キープアライブ送信の回数を決定するために、前記機能ユニットは、予測されたクロックドリフト誤差レートにさらに基づいて、前記キープアライブ送信の回数および適切な送信時間を決定する、ように構成される、請求項1に記載の無線デバイス。前記機能ユニットは、指定された時間の量の間、前記少なくとも1つのスレーブデバイスからのキープアライブ送信の検出を失敗することに応答して、a乃至cを実行するように構成される、請求項1に記載の無線デバイス。前記機能ユニットは、さらに、前記指定された時間の量の間、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を検出することのそれぞれの失敗に応答して、そのたびに、a乃至cの複数の繰り返しを実行する、なお、前記複数の繰り返しのうちの少なくとも2つについての前記適切な送信時間は、異なる、ように構成される、請求項5に記載の無線デバイス。前記機能ユニットは、さらに、a乃至cを指定された回数実行した後、前記少なくとも1つのスレーブデバイスからのキープアライブ送信の検出を失敗することに応答して、前記予測されたクロックドリフトレートを増大させる、ように構成される、請求項1に記載の無線デバイス。前記回数分のキープアライブ送信の各送信は、送信フレームの境界上で行われる、請求項1に記載の無線デバイス。前記機能ユニットは、プロセッサと、前記プロセッサに結合されたメモリと、を備える、請求項1に記載の無線デバイス。前記機能ユニットは、1つまたは複数の、プログラマブルハードウェアエレメント、または特定用途向け集積回路ASIC、を備える、請求項1に記載の無線デバイス。スリープクロック誤差から回復するための方法であって、無線マスタデバイスが、クロックに基づいて、少なくとも1つのスレーブデバイスへの無線接続に関する最後のキープアライブ送信が行われてからの時間の量を決定することと、前記最後に成功したキープアライブ送信からの前記決定された時間の量に基づいて、前記少なくとも1つのスレーブデバイスに送信するキープアライブ送信の回数と、次にスケジュールされたキープアライブ送信の時間に関する前記キープアライブ送信についての適切な送信時間とを決定することと、前記決定された送信時間ごとに、前記少なくとも1つのスレーブデバイスに前記数のキープアライブ送信の連続送信を開始することと、を備える方法。前記キープアライブ送信についての適切な周波数チャネルを決定することと、前記少なくとも1つのスレーブデバイスが前記回数分のキープアライブ送信のうちの少なくとも1つを受信することに応答して、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を受信することと、前記少なくとも1つのスレーブデバイスからの前記キープアライブ送信を受信することに応答して、前記回数分のキープアライブ送信の連続送信を中止し、それによって、前記回数分のキープアライブ送信のうちのいずれの残りのものも送信しないことと、をさらに備える、請求項11に記載の方法。前記少なくとも1つのスレーブデバイスからの前記受信されたキープアライブ送信に基づいて、前記クロックを調整し、それによって、前記クロックを前記少なくとも1つのスレーブ無線デバイスに同期すること、をさらに備える、請求項11に記載の方法。前記送信するキープアライブ送信の回数を決定することは、予測されたクロックドリフト誤差レートに基づいて、前記キープアライブ送信の回数および適切な送信時間を決定することをさらに備える、請求項11に記載の方法。前記回数分のキープアライブ送信の各送信は、送信フレームの境界上で行われる、請求項11に記載の方法。実行されたときに、1つまたは複数のコンピュータに方法をインプリメントさせるプログラム命令を記憶した非一時的なコンピュータ可読記憶媒体であって、前記方法は、無線マスタデバイスが、クロックに基づいて、少なくとも1つのスレーブデバイスへの無線接続に関する最後のキープアライブ送信が行われてからの時間の量を決定することと、前記最後のキープアライブ送信からの前記決定された時間の量に基づいて、前記少なくとも1つのスレーブデバイスに送信するキープアライブ送信の回数と、次にスケジュールされたキープアライブ送信の時間に関する前記キープアライブ送信についての適切な送信時間とを決定することと、前記決定された送信時間ごとに、前記少なくとも1つのスレーブデバイスに前記回数分のキープアライブ送信の連続送信を開始することと、を備える、非一時的なコンピュータ可読記憶媒体。前記方法は、さらに、前記少なくとも1つのスレーブデバイスが、前記回数分のキープアライブ送信のうちの少なくとも1つを受信することに応答して、前記少なくとも1つのスレーブデバイスからのキープアライブ送信を受信することと、前記少なくとも1つのスレーブデバイスからの前記キープアライブ送信を受信することに応答して、前記回数分のキープアライブ送信の連続送信を中止し、それによって、前記回数分のキープアライブ送信のうちのいずれの残りのものも送信しないことと、を備える、請求項16に記載の非一時的なコンピュータ可読記憶媒体。前記方法は、さらに、前記少なくとも1つのスレーブデバイスからの前記受信されたキープアライブ送信に基づいて、前記クロックを調整し、それによって、前記クロックを前記少なくとも1つのスレーブ無線デバイスに同期すること、を備える、請求項16に記載の非一時的なコンピュータ可読記憶媒体。前記送信するキープアライブ送信の回数を決定することは、予測されたクロックドリフト誤差レートに基づいて、前記キープアライブ送信の回数および適切な送信時間を決定することをさらに備える、請求項16に記載の非一時的なコンピュータ可読記憶媒体。前記回数分のキープアライブ送信の各送信は、送信フレームの境界上で行われる、請求項16に記載の非一時的なコンピュータ可読記憶媒体。0020ここに説明される本発明の実施形態は、2つのデバイス間の通信リンクを維持するために、スリープモードを含み、かつ、2つのデバイスのうちの少なくとも1つが低電力モードに置かれることができる、2つのデバイス間で送信されるメッセージを利用する、任意の様々な無線通信システムで使用されうる。実施形態は、ブルートゥースシステムのコンテキストにおいて以下に説明される。ここで使用される場合、ブルートゥースという用語は、ブルートゥース無線通信規格を指し、この規格の過去、現在および将来のバージョンを含む。以下の実施形態は、例示的であり、実施形態は、他の同様のタイプのシステムにも適用されうることに、ここでも留意されたい。さらに、スリープモードおよびスリープフレームという用語は、それぞれスニフモードおよびスニフフレームというブルートゥース特有の用語に対応し、またはこれらの用語を一般的に称するためにここで使用されることに留意されたい。加えて、ここで使用される場合、キープアライブ送信またはキープアライブメッセージという用語は、スニフパケットというブルートゥース特有の用語に対応し、またはこの用語を一般的に称するために使用される。0021図1は、一実施形態による、実例的な無線通信システムを例示する。図1の実例的なシステムは、ブルートゥースシステムである。この実例的なシステムは、ブルートゥース送信機/受信機、すなわち、トランシーバ、として動作しうるコンピュータシステム102を備え、それは、本発明の実施形態をインプリメントimplementするように構成されうる。コンピュータシステム102は、コンピュータシステムの標準がそうであるように、少なくとも1つのプロセッサとメモリ、ディスプレイ、およびその他の様々なハードウェア/ソフトウェアなどの、様々な標準コンポーネントを含む。コンピュータシステム102は、ここで説明されるように動作するように構成されたブルートゥース送信/受信デバイス、すなわち、トランシーバデバイス図2の200、を含む。0022コンピュータシステム102は、示されるように、ブルートゥースキーボード112、ブルートゥースマウス114および/またはブルートゥースヘッドセット116などの1つまたは複数の周辺機器と通信する。周辺機器112、114、116の各々は、ホストコンピュータ102と無線方式で通信する、バッテリまたはその他の携帯可能なエネルギーソースで動作するデバイスでありうる。0023様々なタイプのコンピュータシステムのうちの任意のもの、特に、スマートフォンまたはその他のモバイルフォン、マイクロホン、スピーカ、デジタルカメラ、ライトペン、ジョイスティック、ファックス装置、プリンタ、全地球測位システムGPS受信機、携帯情報端末PDAs、デジタルオーディオおよび/またはビデオプレーヤ、およびビデオゲームコンソールなどの、その他のタイプの無線デバイスも企図される。いくつかの実施形態では、プロセッサとメモリの代わりに、またはそれに加えて、無線デバイスは、何らかの他のタイプの機能的な、例えば、ASIC特定用途向け集積回路、フィールドプログラマブルゲートアレイFPGAなどの、プログラマブルハードウェアエレメントを利用しうることにさらに留意されたい。ここで使用される場合、機能ユニットという用語は、ハードウェアおよび/またはソフトウェアを備え、かつ特定の機能を実行することが可能なコンポーネントまたは複数のコンポーネントを指す。0024上述されたように、図1は、一例にすぎず、実施形態は、無線方式で互いに通信しあうデバイスの様々な組み合わせのうちの任意のもので動作しうる。0025図2は、図1に示された任意のブルートゥースデバイスにおいて備えられうる、実例的なブルートゥースマスタトランシーバデバイス200のブロック図である。ブルートゥースマスタトランシーバデバイス200は、マスタ送信機またはトランシーバデバイスとして動作するように構成されうる。示されるように、ブルートゥースデバイス200は、例えば、メモリ204に結合されたプロセッサ202などの、機能ユニットを備えることができるが、他のタイプの機能ユニットも所望に応じて使用されることができ、例えば、所望に応じて、フィールドプログラマブルゲートアレイFPGA、ASIC特定用途向け集積回路などのようなプログラマブルハードウェアエレメント。ブルートゥースデバイス200はまた、アンテナ206と、クロック210を含むブルートゥース通信をインプリメントするための様々なブルートゥース回路208とを備え、例えば、低電発振器を備える。他の実施形態では、クロックは、任意の様々な方法でインプリメントされることができ、さらに、デバイス中の他の場所に位置しうることに留意されたい。0026メモリ204は、ブルートゥースデバイス200の動作ために、様々なタイプのプログラム命令を記憶しうる。示されるように、メモリ204はまた、誤差回復プログラム命令212を記憶しうる。誤差回復プログラム命令212は、ここに説明される方法および機能、例えば、図3-図7のフローチャートおよびタイミング図で説明される方法および機能、の実施形態を実行するために、プロセッサ202によって実行可能でありうる。あるいは、ここに開示される誤差回復機能は、所望に応じて、ハードウェアで、例えば、適切に構成されたプログラマブルハードウェア、例えば、FPGA、またはその他のロジックを介して、あるいはソフトウェアとハードウェアの組み合わせで、インプリメントされうる。より一般的には、誤差回復機能は、機能ユニットを介してインプリメントされうる。0027図3は、クロック誤差から回復するための方法の一実施形態の動作を例示するフローチャート図である。この方法は、コンピュータシステム102のような、マスタ送信機として動作するブルートゥースデバイスによって実行されうる。マスタ無線デバイスは、スリープモード302、例えば、ブルートゥースの実施形態についてのスニフモード、に入りうる。マスタ無線デバイスは、同様にスリープモードにある、少なくとも1つのスレーブ無線デバイスに無線で結合される。マスタおよびスレーブの無線デバイスは、例えば、バッテリ電力を節約するために、少なくとも1つのスレーブ無線デバイスがアイドル状態にあってスリープモードすなわち、低電力スリープモード、またはスニフモードに入ることを決定したために、スリープモードに入りうる。例えば、スレーブ無線デバイスが、ブルートゥースキーボードであり、ユーザが、予め定められた時間の量の間、いずれの入力もキーボードに入力していないキーボード上のいずれのキーも押下していない場合、ブルートゥースキーボードは、スリープ例えば、スニフモードに入りうる。0028マスタ無線デバイスは、少なくとも1つのスレーブ無線デバイスとの最後に成功したキープアライブ送信が行われてからの時間の量を決定する304。いくつかの実施形態では、成功は、送信に続く肯定応答の受信として定義される。いくつかの実施形態では、最後のキープアライブ送信の検出からの指定された時間の量の経過は、以下に説明されるブロック306-308で図示される動作をトリガする。マスタ無線デバイスは、スレーブ無線デバイスに送信するキープアライブフレームの回数と、キープアライブ送信を送信するのに適切な時間と周波数チャネルとを決定する306。いくつかの実施形態では、キープアライブフレームの回数は複数である。いくつかの実施形態では、マスタ無線デバイスは、ブロック304で決定されたような、最後のキープアライブ送信が行われてからの時間の量に基づいて、スレーブ無線デバイスに送信するキープアライブ送信の回数を決定する。0029ブロック306のスレーブ無線デバイスに送信するキープアライブ送信の回数を決定することにおいて、マスタ無線デバイスは、以下に説明される図4の表のようなデータ構造を調べうるexamine。マスタ無線デバイスはまた、データ構造を調べることによって、キープアライブフレームについての適切な送信時間を決定しうる。データ構造は、メモリ204の誤差回復プログラム命令212中に記憶されうる。マスタデバイスは、選択された回数のキープアライブフレームの送信を開始する308。ブロック306-308で実行される動作は、スレーブデバイスからの送信を検出することの繰り返される失敗に応答して、繰り返されることが可能であり、また、いくつかの実施形態では、様々な繰り返しについての送信時間は、それぞれの繰り返しの時間における状態に応答して、異なって間隔を空けられることが可能である。加えて、いくつかの実施形態は、ブロック306-308について上述された動作の繰り返される実行に応答して、送信の数および間隔を再計算するために、予期されたまたは予測されたクロックドリフトレートを調整しうる。0030図4は、一実施形態による、マスタ無線デバイスとスレーブデバイスの間のスリープモード送信キープアライブ送信に関する時間的関係のチャートを図示する。表400は、1.25ミリ秒間隔の複数のキープアライブパケットまたはスニフフレームのセットを送った場合、クロック回復が成功する確率が高いかを決定するために使用される一連の値を示すreflects。表400は、625マイクロ秒のスロット期間を示す。各々の表エントリ402-414については、スロットの数が、スロット列416に示される。各々の表エントリ402-414については、時間列418が、スロット列416に示される625マイクロ秒のスロットの数のための時間の量を示す。0031各々の表エントリ402-414については、誤差列420が、予測されたクロックドリフト誤差範囲または許可された許容誤差errortoleranceによって示される誤差の大きさを示す。表400のケースでは、予測されたクロックドリフト誤差レートの250ppmの許容誤差は、誤差列420に示される。誤差列420は、エントリのスロット列416における選択された数のスロット毎に、250ppmの誤差を有する水晶から生じる誤差の量を示す。LPO周波数が、250ppmの誤差で誤調整された場合、誤差列420にリストされる量は、予期されたまたは予測されたクロックドリフトである。誤差列420は、時間列418を、受け入れ可能な誤差フラクションerrorfraction例えば、クロックドリフトレートで乗算することによって計算され、これは、表400のケースにおいて、エントリ402については、時間列420の値12.5ミリ秒を、250で乗算し、100万で除算して、誤差列420における3.125マイクロ秒の値を生成することとなる。0032誤差フレーム列422は、誤差列420にリストされる誤差から相当する数のブルートゥース送信フレームへの変換を表す。フレームは、2つのスロットで構成される。上述されたように、スロット期間は625マイクロ秒である。したがって、各フレームは、1.25ミリ秒である。ブルートゥースデバイスは、スロットおよびフレームで時間をキープする。例えば、スニフインターバルは、典型的に、フレームまたはスロットで表される。例えば、スニフインターバルは、20スロットまたは160、または320として計算されうる。エントリ402の各々は、スロット列416における所与のスニフインターバルについての誤差フレーム列422における潜在的なドリフトのpotentialdriftフレームの数を提供する。スロット列416の値は、スレーブデバイスとの最後のコンタクトからいくつのスロットが経過したかを表す、同期期間synchperiodとして考えられる。0033表400は、スニフ期間が増大するにつれて、誤差と関連づけられる潜在的な時間の長さは、増加するフレームの数を表すということを実証する。スニフ期間と、誤差と関連づけられる潜在的な時間の長さとの間の関係を決定することは、スレーブデバイスとの相互作用の確率を増大させるために送られることができるキープアライブメッセージスニフパケットの回数の決定を可能にする。LPOが250ppmの精度であるという確信beliefを与えられると、その後、16000スロット期間の後に、およそ/-2フレームの不確定性が現れるであろう。いくつかの実施形態では、デバイスがLPO周波数における可能な誤差が、例えば、1000ppm程の高さになりうると決定した場合には、この列の値は、4によって乗算されることができ、16000スロット期間にわたり、およそ/-8フレームの不確定性を与える。送られるマスタ送信の数が、その後、表された誤差の反映として決定されることが可能である。0034図5は、一実施形態による、マスタ無線デバイスとスレーブデバイスの間の計画されたキープアライブ送信に関する実例的なタイミング図を例示する。図5は、マスタタイムライン500とスレーブタイムライン502を含む。マスタタイムライン500は、一連の送信ウィンドウ504-512および受信ウィンドウ514-522を含む。スレーブタイムライン502は、送信ウィンドウ524と受信ウィンドウ526を含む。0035図5に描写される例では、マスタクロックが誤差に遭遇し、マスタタイムライン500をスレーブタイムライン502と400ppmずれた時間において配置する。マスタデバイスとスレーブデバイスの間の通信リンクを回復するために、マスタは、マスタデバイスが送信ウィンドウ504-512において最大5個のキープアライブ送信を送信するであろうことを決定する。マスタデバイスのブルートゥースリソースマネージャBRMは、マスタシステムを通常よりも2スロット早く、例えば、送信ウィンドウ504において、ウェークwakesし、フレームカウントを2だけ調整して、ブルートゥース回路がキープアライブ送信を生成することを要求する。スレーブデバイスからのいずれの応答も受信されない場合、BRMは、フレームカウントをスリープタイム位置に再び調整して、送信ウィンドウ506において再送信する。上述した例では、送信は、およそ-1000ppm送信ウィンドウ504、-500ppm送信ウィンドウ506、オン-タイムontime送信ウィンドウ508、500ppm送信ウィンドウ510、および1000ppm送信ウィンドウ512において、最大5回まで行われるように計画される。図5の例では、スレーブクロックは、マスタクロックと400ppmずれており、したがって、送信ウィンドウ510における4番目の送信は、スレーブ受信ウィンドウ526に到来し、スレーブ送信524により応答され、それは、マスタ受信ウィンドウ520において受信される。0036一旦スリープ応答が見つけ出されると、マスタは、そのクロックを、スレーブが応答したスニフ送信を作成しているクロックになるように調整でき、そして、リンクは継続できる。マスタクロックを調整することは、マスタクロックが誤差状態にあるという仮定を具現化embodiesし、マスタクロックをスレーブクロックに一致させるように調整することにより、マスタクロックは修正される。しかしながら、たとえ誤差がスレーブクロックにあったとしても、スレーブクロックへの再同期は、多くのアプリケーションに利益を提供するであろう。実施形態は、クロックが再調整realignedされているので、リンクが維持されるという可能性likelihoodを増大させるのに役立つ。このようなケースにおいて影響を被りうる、同期接続指向型SCO:SynchronousConnectionOrientedリンクのような同期リンクは、比較的長い時間期間の間にいずれの応答がなく、スリープ状態の間にタイムセンシティブなtimesensitive同期データをアクティブに送らない傾向にある実施形態において使用される。いくつかの実施形態では、送信ウィンドウ504-512におけるスリープ送信は、優先フレームとして扱われる。送信が、共存インタフェースを介して他のブルートゥースまたはWALNのトラフィックによって阻止されたpreempted場合、後続するスリープ期間もまた、スリープ応答が見つからなかった場合には、スリープ回復を利用するであろう。0037すべてのフレームにおいてキープアライブ送信を送ることの代替として、送信機は、1つのスリープアンカーにおけるいくつかのフレーム期間において送信し、その後、別のスリープアンカーにおける他のスリープ期間において送信するように、オプション的に選択しうる。例えば、送信機は、1つのスリープアンカーにおいて偶数フレームのオフセット-4、-2、0、2、4で送り、その後、次のアンカにおいて奇数フレームのオフセットで送ることを選択しうる。このような実施形態は、電力を節約するために選択されることができ、スレーブが1つのフレーム期間全体よりも長くウィンドウを開くので、デバイスがスリープ応答なしで5秒を超えた場合、有用であることが証明されうる。このような実施形態はまた、マスタが、送信すべき他のブルートゥーストラフィックを有している場合、あるいは、共存インタフェース上のWLANトラフィックが、あるトラフィックについての媒体を必要とする場合に、有用であることが証明されうる。0038当業者であれば、本開示を読んだことを踏まえて、図5に描写される送信が、フレーム境界に対応するように揃えられている一方で、いくつかの実施形態は、本開示の範囲から逸脱することなく、数100マイクロ秒のインクリメントにおいてクロックの分解能を調整することによって、フレーム境界にまたがる送信を含むということを理解するであろう。加えて、ここに開示される実例的な実施形態は、簡単にするために、単一のマスタおよび単一のスレーブについて説明された一方で、当業者であれば、本開示を読んだことを踏まえて、複数のスレーブをサポートする実施形態が、本開示の範囲から逸脱することなくインプリメントされうることを理解するであろう。複数のスニフリンクを適合accommodateするための解決策は、複数のマスタ/スレーブ関係の単一のリンクのみについての回復のサポートを含みうる。さらに、いくつかの実施形態は、複数のスレーブリンクのための複数のマスタクロックをインプリメントする。0039図6は、図5に示された計画された時間ダイアグラムに関する実例的な結果のタイミング図を図示する。図6は、マスタタイムライン600とスレーブタイムライン602を含む。マスタタイムライン600は、一連の送信ウィンドウ604-610および受信ウィンドウ614-620を含む。スレーブタイムライン602は、送信ウィンドウ624と受信ウィンドウ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において受信される。0041一旦スリープ応答が見つけ出されると、調整された時間値628に反映されているように、マスタは、そのクロックをスレーブクロックに調整することができ、そして、リンクは継続することができる。それによって具体化されるembodied仮定は、マスタクロックが誤差状態にあるということであり、スレーブクロックに調整することによって、マスタクロックは修正される。0042図7は、一実施形態による、スリープクロック誤差から回復する方法のフローチャート図である。この方法は、コンピュータシステム102のような、マスタ送信機として動作するブルートゥースデバイスによって実行されうる。マスタ無線デバイスは、スリープモード702、例えば、ブルートゥースの実施形態についてのスニフモード、に入りうる。マスタ無線デバイスは、同様にスリープモードにある、少なくとも1つのスレーブ無線デバイスに無線で結合される。マスタおよびスレーブの無線デバイスは、例えば、バッテリ電力を節約するために、少なくとも1つのスレーブ無線デバイスがアイドル状態にあってスリープモードすなわち、低電力スリープモード、またはスニフモードに入ることを決定したために、スリープモードに入りうる。例えば、スレーブ無線デバイスが、ブルートゥースキーボードであり、ユーザが、予め定められた時間の量の間、いずれの入力もキーボードに入力していないキーボード上のいずれのキーも押下していない場合、ブルートゥースキーボードは、スリープ例えば、スニフモードに入りうる。0043マスタ無線デバイスは、少なくとも1つのスレーブ無線デバイスとの最後に成功したキープアライブ送信が行われてからの時間の量を決定する704。いくつかの実施形態では、成功は、送信に続く肯定応答の受信として定義される。マスタ無線デバイスは、スレーブ無線デバイスに送信するスリープフレームの数と、複数のキープアライブ送信を送信するのに適切な時間とを決定する706。加えて、いくつかの実施形態では、適切なチャネル周波数が決定される。いくつかの実施形態では、スリープフレームの数は複数である。いくつかの実施形態では、マスタ無線デバイスは、ブロック704で決定されたような、最後のキープアライブ送信が行われてからの時間の量に基づいて、スレーブ無線デバイスに送信するキープアライブ送信の回数を決定しうる。0044706のスレーブ無線デバイスに送信するキープアライブ送信の回数を決定することにおいて、マスタ無線デバイスは、上述された図4の表のようなデータ構造を調べうる。マスタ無線デバイスはまた、データ構造を調べることによって、スリープフレームについての適切な送信時間を決定しうる。マスタ無線デバイスは、いくつかの実施形態では、リンク監視タイムアウトまでの残りの時間の量も考慮しうる。このような実施形態では、複数のスニフフレームのより積極的な送信が、リンク監視タイムアウトの手法に対する応答として適切でありうる。データ構造は、メモリ204の誤差回復プログラム命令212中に記憶されうる。その後、マスタデバイスは、キープアライブ送信とも呼ばれるスリープフレームを送信する708。0045スレーブ応答が受信されたかどうかの決定が行われる710。スレーブ応答が受信された場合、マスタクロックが調整される712。いずれのスレーブ応答も受信されなかった場合、接続がタイムアウトしたかどうかの決定が行われる714。接続がタイムアウトした場合、接続は終了される716。接続がタイムアウトしていない場合には、処理は、ブロック708に戻り、これは上述されている。0046上記の実施形態は、かなり詳細に説明されているが、上記開示を十分に理解すれば、当業者にとって多数の変形例および修正が明らかになるであろう。以下の特許請求の範囲は、このような変形例および修正を全て包含するものとして解釈されるべきである。