[0004]WLAN対応リモートコントロールデバイスに対する電力節約のための様々な実施形態が開示されている。いくつかの実施形態において、第1のネットワークデバイスは、第2のネットワークデバイスの動作を制御するためにユーザ入力を受信したことに応答してアクティブ動作状態に遷移し得る。第1のネットワークデバイスは、第1のユーザ入力を第2のネットワークデバイスに送信し得る。第1のネットワークデバイスは、第1のユーザ入力を第2のネットワークデバイスに送信することに成功したことに応答してアクティブ動作状態を終了し得る。
[0005]いくつかの実施形態において、方法は、第1の通信チャネル上で第1のユーザ入力を第1のネットワークデバイスから第2のネットワークデバイスに送信することと、ここにおいて、第1のユーザ入力は、第2のネットワークデバイスの動作を制御するための入力である、第1の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信しないことに少なくとも一部は基づき、第2のネットワークデバイスが第1の通信チャネル上で動作しているかどうかを決定することと、第2のネットワークデバイスが第1の通信チャネル上で動作していないと決定したことに応答してチャネルスキャンシーケンスに従って複数の通信チャネルをスキャンすることと、ここにおいて、チャネルスキャンシーケンスは、第2のネットワークデバイスから以前に受信されている動作状態フィードバックに少なくとも一部は基づき決定される、を備える。
[0006]いくつかの実施形態において、方法は、第1の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信しないことに応答して第1のネットワークデバイスから第1のユーザ入力と動作状態フィードバック要求とを第2のネットワークデバイスに送信することをさらに備える。
[0007]いくつかの実施形態において、方法は、第1のネットワークデバイスから動作状態フィードバック要求を第2のネットワークデバイスに、第1のユーザ入力を第2のネットワークデバイスに送信するための所定の再送時間間隔が経過したことを決定することと、第1のユーザ入力を第2のネットワークデバイスに送信するための所定の再送試行回数に達したことを決定することと、第1のユーザ入力が所定のユーザ入力とマッチしていると決定することのうちの少なくとも1つに応答して、送信することをさらに備える。
[0008]いくつかの実施態様では、方法は、第1のネットワークデバイスから動作状態フィードバック要求を第2のネットワークデバイスに送信することと、新しい動作状態フィードバックが第2のネットワークデバイスから受信されるまで、または事前定義されている時間間隔が経過するまでアクティブ動作状態に構成されたままであることを決定することとをさらに備える。
[0009]いくつかの実施形態において、第2のネットワークデバイスの動作状態フィードバックは、第2のネットワークデバイスが、アクティブ動作状態で構成されているかどうか、第2のネットワークデバイスが、アクセスポイントに関連付けられているかどうか、第2のネットワークデバイスがアクセスポイントと通信するように構成されている動作している通信チャネルの識別、第2のネットワークデバイスがアクティブ動作状態で動作するように構成されている時間間隔の識別、および第2のネットワークデバイスがスリープ動作状態で動作するように構成されている時間間隔の識別のうちの少なくとも1つを備える。
[0010]いくつかの実施形態において、方法は、所定の再送時間間隔が経過した後に第1の通信チャネル上で第1のユーザ入力を第2のネットワークデバイスに再送しないことを決定することと、第1のユーザ入力を再送しないことを決定した後に第1の通信チャネル上で第1のネットワークデバイスから動作状態フィードバック要求を第2のネットワークデバイスに送信することとをさらに備える。
[0011]いくつかの実施形態において、方法は、第1の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信しないことに応答して、第1の通信チャネル上で第1のネットワークデバイスから第2のネットワークデバイスへの第1のユーザ入力の再送に動作状態フィードバック要求を埋め込むことをさらに備える。
[0012]いくつかの実施形態において、方法は、第1のネットワークデバイスから動作状態フィードバック要求を第2のネットワークデバイスに送信したことに応答して第2のネットワークデバイスから肯定応答メッセージを受信することと、その肯定応答メッセージは、第2のネットワークデバイスの新しい動作状態フィードバックを含まないと決定することと、その肯定応答メッセージが新しい動作状態フィードバックを含まないと決定したことに応答して第2のネットワークデバイスから以前に受信された動作状態フィードバックを使用することを決定することとをさらに備える。
[0013]いくつかの実施形態において、方法は、第2のネットワークデバイスへの送信のため第1のネットワークデバイスで第2のユーザ入力を受信することと、第1のネットワークデバイスが、第1のユーザ入力を第2のネットワークデバイスに送信しているかどうかを決定することと、第1のネットワークデバイスが第1のユーザ入力を第2のネットワークデバイスに送信しているかどうかに少なくとも一部は基づき第2のユーザ入力を第2のネットワークデバイスに送信するかどうかを決定することとをさらに備える。
[0014]いくつかの実施形態において、第1のネットワークデバイスが、第1のユーザ入力を第2のネットワークデバイスに送信していると決定したことに応答して、方法は、第2のユーザ入力が第1のユーザ入力の複製であるかどうかを決定することと、第2のユーザ入力が第1のユーザ入力の複製でないと決定したことに応答して第1のネットワークデバイスから第1のユーザ入力と第2のユーザ入力とを第2のネットワークデバイスに送信することと、第2のユーザ入力が第1のユーザ入力の複製であると決定したことに応答して第1のユーザ入力を送信することに関連付けられている再送時間間隔を延長することとを備える。
[0015]いくつかの実施形態において、第1のネットワークデバイスが、第1のユーザ入力を第2のネットワークデバイスに送信していると決定したことに応答して、方法は、第1のネットワークデバイスから第1のユーザ入力と第2のユーザ入力とを第2のネットワークデバイスに送信することを備える。
[0016]いくつかの実施形態において、第1のネットワークデバイスが、第1のユーザ入力を第2のネットワークデバイスに送信しているかどうかを決定したことに応答して、方法は、所定の再送時間間隔が経過した後に第1のユーザ入力と第2のユーザ入力とを再送しないことを決定することと、所定の再送時間間隔が経過した後に第1のネットワークデバイスから動作状態フィードバック要求を第2のネットワークデバイスに送信することとを備える。
[0017]いくつかの実施形態において、方法は、第1のユーザ入力を受信したことに応答して第1のネットワークデバイスでアクティブ動作状態に遷移することと、第2の通信チャネル上で第1のユーザ入力を送信した後に第2の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信したことに応答して第2の通信チャネル上で第2のネットワークデバイスが動作していると決定することと、第2の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信したことに応答して第1のネットワークデバイスでアクティブ動作状態から非アクティブ動作状態に遷移することとをさらに備える。
[0018]いくつかの実施形態において、第1の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信しないことに応答して、方法は、所定の再送時間間隔の間に第1の通信チャネル上で第1のユーザ入力を再送することと、所定の再送時間間隔が経過した後に肯定応答メッセージを受信しないことに少なくとも一部は基づき第2のネットワークデバイスが第1の通信チャネル上で動作していないと決定することとを備える。
[0019]いくつかの実施形態において、方法は、第2の通信チャネル上で第1のネットワークデバイスから第2のネットワークデバイスへの第1のユーザ入力の送信成功を決定することと、第1のネットワークデバイスをアクティブ動作状態からスリープ動作状態に遷移させることと、ここにおいて、スリープ動作状態は、アクティブ動作状態と非アクティブ動作状態との間の状態である、をさらに備える。
[0020]いくつかの実施形態において、第1のネットワークデバイスが、スリープ動作状態に構成されている間、方法は、第1のネットワークデバイスで第2のユーザ入力を受信したことに応答して、第1のネットワークデバイスをスリープ動作状態からアクティブ動作状態に遷移させて第2のユーザ入力を第2のネットワークデバイスに送信することと、所定の時間間隔が経過したと決定したことに応答して、第1のネットワークデバイスをスリープ動作状態から非アクティブ動作状態に遷移させることとをさらに備える。
[0021]いくつかの実施形態において、第1のユーザ入力は、第1のネットワークデバイスのトリガーメカニズムをアクティブ化したことに応答して供給される。
[0022]いくつかの実施形態において、方法は、第2の通信チャネル上で第1のネットワークデバイスから第2のネットワークデバイスへの第1のユーザ入力の送信成功を決定することと、第1のネットワークデバイスをアクティブ動作状態からスリープ動作状態に遷移させることと、ここにおいて、スリープ動作状態は、アクティブ動作状態と非アクティブ動作状態との間の状態である、所定の時間間隔が経過した後に、第1のネットワークデバイスをスリープ動作状態からアクティブ動作状態に自動的に遷移させて第2のユーザ入力を送信することとをさらに備える。
[0023]いくつかの実施形態において、方法は、第1のネットワークデバイスからフィードバック要求を第2のネットワークデバイスに送信すること、ここにおいて、フィードバック要求への応答は、第1のネットワークデバイスがその後のユーザ入力を第2のネットワークデバイスに供給し続けるべきかどうかを指示する、をさらに備える。
[0024]いくつかの実施形態において、方法は、第1のユーザ入力と第2のユーザ入力との差が所定の閾値を超えるかどうかを決定することと、第1のユーザ入力と第2のユーザ入力との差が所定の閾値を超えたと決定したことに応答して第2のユーザ入力を第1のネットワークデバイスから第2のネットワークデバイスに送信することと、第1のユーザ入力と第2のユーザ入力との差が所定の閾値を超えていないと決定したことに応答して第2のユーザ入力を第1のネットワークデバイスから第2のネットワークデバイスに再送しないことを決定することとをさらに備える。
[0025]いくつかの実施形態において、第1のユーザ入力および第2のユーザ入力は、各々、ジェスチャー入力を表すセンサー情報を含むか、または第1のユーザ入力および第2のユーザ入力は、各々、音声入力を表す音声サンプルを含む。
[0026]いくつかの実施形態において、方法は、第1の通信チャネル上で第1のユーザ入力を第1のネットワークデバイスから第2のネットワークデバイスに送信するために第1のネットワークデバイスの第1の通信パラメータを選択することと、所定の再送時間間隔が経過した後に、第1の通信チャネル上で第1のユーザ入力を第1のネットワークデバイスから第2のネットワークデバイスに再送するために第1のネットワークデバイスの第2の通信パラメータを選択することとをさらに備える。
[0027]いくつかの実施形態において、方法は、第1のネットワークデバイスと第2のネットワークデバイスとの間の第1の通信チャネルに関連付けられている性能測定を決定することと、性能測定と閾値とを比較した結果に少なくとも一部は基づき第1の通信チャネルに関するリンクステータスを提示するかどうかを決定することとをさらに備える。
[0028]いくつかの実施形態において、方法は、性能測定が閾値に従っていないと決定したことに応答して第1のネットワークデバイスが第2のネットワークデバイスへの接続性を喪失することを指示するためのリンクステータスを提示することをさらに備える。
[0029]いくつかの実施形態において、第1のユーザ入力を第1のネットワークデバイスから第2のネットワークデバイスに前記送信することは、第1のネットワークデバイスが第2のネットワークデバイスへの接続性を喪失しないと決定したことに応答して、またはリンクステータスを提示した後に、第1のネットワークデバイスが第2のネットワークデバイスの通信可能範囲内にあると決定したことに応答して行われる。
[0030]いくつかの実施形態において、方法は、所定の数のユーザ入力が第1のネットワークデバイスから第2のネットワークデバイスに送信されることに成功しなかったと決定したこと、または第2のネットワークデバイスが複数の通信チャネル上で検出されなかったと決定したことに応答して第1のネットワークデバイスと第2のネットワークデバイスとの間のペアリングのための動作を実行する通知を第1のネットワークデバイスで提示することをさらに備える。
[0031]いくつかの実施形態において、第1のネットワークデバイスは、リモートコントロールデバイスであり、第2のネットワークデバイスは、家庭用電子機器である。
[0032]いくつかの実施形態において、第1のネットワークデバイスおよび第2のネットワークデバイスは、各々、ワイヤレスローカルエリアネットワーク(WLAN)機能を含む。
[0033]いくつかの実施形態において、第1のネットワークデバイスは、プロセッサと、プロセッサに結合された通信ユニットとを備え、通信ユニットは第2のネットワークデバイスの動作を制御するためのユーザ入力を受信し、ここにおいて、第1のネットワークデバイスは非ビーコン動作モード(non-beaconing operating mode)で動作する第2のネットワークデバイスに関して非同期に動作するように構成され、ユーザ入力を受信したことに応答してアクティブ動作状態に遷移し、ユーザ入力を第2のネットワークデバイスに送信し、ユーザ入力を第2のネットワークデバイスに送信した後に第2のネットワークデバイスから肯定応答メッセージを受信したことに応答してアクティブ動作状態を終了するように構成される。
[0034]いくつかの実施形態において、通信ユニットは、動作状態フィードバック要求を第2のネットワークデバイスに送信し、動作状態フィードバックが第2のネットワークデバイスから受信されるまで、または事前定義されている時間間隔が経過するまでアクティブ動作状態に構成されたままであることを決定するようにさらに構成される。
[0035]いくつかの実施形態において、第2のネットワークデバイスから肯定応答メッセージを受信しないことに応答して、通信ユニットは、第1のネットワークデバイスから第2のネットワークデバイスへのユーザ入力の再送に動作状態フィードバック要求を埋め込むようにさらに構成される。
[0036]いくつかの実施形態において、方法は、第1のネットワークデバイスから第1のユーザ入力を第2のネットワークデバイスに送信することと、ここにおいて、第1のユーザ入力は、第2のネットワークデバイスの動作を制御するための入力である、第2のネットワークデバイスから肯定応答メッセージを受信しないことに応答して、第1のネットワークデバイスから第2のネットワークデバイスへの第1のユーザ入力の再送に動作状態フィードバック要求を埋め込むことと、第2のネットワークデバイスから以前に受信された動作状態フィードバックに少なくとも一部は基づき、第1のネットワークデバイスから第2のネットワークデバイスへの第1のユーザ入力の再送に使用されるべき第1の通信チャネルを決定することとを備える。
[0037]いくつかの実施形態において、第1のユーザ入力を再送するために使用されるべき第1の通信チャネルを前記決定することは、第2のネットワークデバイスを検出するためにチャネルスキャンシーケンスに従って複数の通信チャネルをスキャンすること、ここにおいて、チャネルスキャンシーケンスは、第2のネットワークデバイスから以前に受信されている動作状態フィードバックに少なくとも一部は基づき決定される、を備える。
[0038]いくつかの実施形態において、方法は、動作状態フィードバック要求に応答して第2のネットワークデバイスから新しい動作状態フィードバックを受信することと、第2のネットワークデバイスがチャネルスキャンシーケンスに少なくとも一部は基づき第1の通信チャネルから第2の通信チャネルに遷移することを決定することと、ここにおいて、チャネルスキャンシーケンスは、新しい動作状態フィードバックに少なくとも一部は基づき決定される、第1のネットワークデバイスから第2の通信チャネル上のその後のユーザ入力を第2のネットワークデバイスに再送することとをさらに備える。
[0039]いくつかの実施形態において、方法は、新しい動作状態フィードバックが動作状態フィードバック要求に応答して第2のネットワークデバイスから受信されなかったと決定することと、第1の通信チャネルを介して第1のネットワークデバイスから第1のユーザ入力と動作状態フィードバック要求とを第2のネットワークデバイスに再送することとをさらに備える。
[0040]いくつかの実施形態において、第1のユーザ入力の再送に動作状態フィードバック要求を前記埋め込むことは、第1のネットワークデバイスで事前定義されたユーザ入力を受信したことに応答して行われ、ここにおいて、事前定義されたユーザ入力は、第1のネットワークデバイスが動作状態フィードバックを第2のネットワークデバイスに要求することを引き起こす。
[0041]いくつかの実施形態において、第1のネットワークデバイスは、プロセッサと、プロセッサに結合された通信ユニットとを備え、通信ユニットは第1の通信チャネル上で第1のユーザ入力を第2のネットワークデバイスに送信し、ここにおいて、第1のユーザ入力は、第2のネットワークデバイスの動作を制御するための入力である、第1の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信しないことに少なくとも一部は基づき、第2のネットワークデバイスが第1の通信チャネル上で動作しているかどうかを決定し、第2のネットワークデバイスが第1の通信チャネル上で動作していないと決定したことに応答してチャネルスキャンシーケンスに従って複数の通信チャネルをスキャンし、ここにおいて、チャネルスキャンシーケンスは、第2のネットワークデバイスから以前に受信されている動作状態フィードバックに少なくとも一部は基づき決定される、ように構成される。
[0042]いくつかの実施形態において、第1の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信しないことに応答して、通信ユニットは、第1の通信チャネル上で第1のネットワークデバイスから第2のネットワークデバイスへの第1のユーザ入力の再送に動作状態フィードバック要求を埋め込むようにさらに構成される。
[0043]いくつかの実施形態において、通信ユニットは、第2のネットワークデバイスへの送信のための第2のユーザ入力を受信し、第1のネットワークデバイスが第1のユーザ入力を第2のネットワークデバイスに送信しているかどうかを決定し、第1のネットワークデバイスが第1のユーザ入力を第2のネットワークデバイスに送信しているかどうかに少なくとも一部は基づき第2のユーザ入力を第2のネットワークデバイスに送信するかどうかを決定するようにさらに構成される。
[0044]いくつかの実施形態において、通信システムは、第2のネットワークデバイスと非同期に動作するように構成された第1のネットワークデバイスを備え、第1のネットワークデバイスは通信システムの第2のネットワークデバイスの動作を制御するために第1のユーザ入力を受信したことに応答してアクティブ動作状態に遷移し、第1のユーザ入力を第2のネットワークデバイスに送信し、第1のユーザ入力を第2のネットワークデバイスに送信した後に第2のネットワークデバイスから肯定応答メッセージを受信したことに応答してアクティブ動作状態を終了するように構成され、第2のネットワークデバイスは第1のネットワークデバイスに通信可能に結合され、第2のネットワークデバイスは非ビーコン動作モードで動作するように構成され、第2のネットワークデバイスは第1のネットワークデバイスから第1のユーザ入力を受信したことに応答して肯定応答メッセージを第1のネットワークデバイスに送信し、第1のユーザ入力を処理し第1のユーザ入力に関連付けられている動作を実行するように構成される。
[0045]いくつかの実施形態において、第2のネットワークデバイスは、第2のネットワークデバイスがアクティブ動作状態に構成されている間に第1のネットワークデバイスと第2のネットワークデバイスとの間の通信チャネル上のデータトラヒックを検出し、通信チャネル上のデータトラヒックを検出したことに応答してアクティブ動作状態で動作するための時間間隔を動的に増加させるように構成される。
[0046]いくつかの実施形態において、第2のネットワークデバイスは、アクティブ動作状態で構成され、第2のネットワークデバイスに関連付けられているアクティブ動作状態の持続時間は、第1のネットワークデバイスから第1のユーザ入力を受信することに関連付けられている最大待ち時間に少なくとも一部は基づく。
[0047]いくつかの実施形態において、第2のネットワークデバイスは、第1のネットワークデバイスから第2のユーザ入力を受信し、第2のユーザ入力が第1のユーザ入力の複製であるかどうかを決定し、第2のユーザ入力が第1のユーザ入力の複製でないと決定したことに応答して第1のユーザ入力と第2のユーザ入力とを処理し、第2のユーザ入力が第1のユーザ入力の複製であると決定したことに応答して第2のユーザ入力を処理しないことを決定するようにさらに構成される。
[0048]いくつかの実施形態において、第2のネットワークデバイスは、第2のユーザ入力が第1のユーザ入力の複製であるかどうかが第1のユーザ入力および第2のユーザ入力の種類と状況とに少なくとも一部は基づくと決定するようにさらに構成される。
[0049]いくつかの実施形態において、第2のネットワークデバイスが第1の通信チャネル上で動作していることと第1のネットワークデバイスが第2の通信チャネル上で動作していることとに応答して、第2のネットワークデバイスは、第1のネットワークデバイスと通信するために第1の通信チャネルから第2の通信チャネルに定期的に遷移するようにさらに構成される。
[0050]いくつかの実施形態において、第1のネットワークデバイスは、第1の通信チャネル上で第1のユーザ入力を送信したことに応答して肯定応答メッセージが第2のネットワークデバイスから受信されていないと決定し、所定の再送時間間隔の間に第1の通信チャネル上で第1のユーザ入力を再送し、所定の再送時間間隔が経過した後に肯定応答メッセージを受信しないことに少なくとも一部は基づき第2のネットワークデバイスが第1の通信チャネル上で動作していないと決定し、第2のネットワークデバイスを検出するためにチャネルスキャンシーケンスに従って複数の通信チャネルをスキャンし、ここにおいて、チャネルスキャンシーケンスは、第2のネットワークデバイスから以前に受信されている動作状態フィードバックに少なくとも一部は基づき決定される、ようにさらに構成される。
[0051]いくつかの実施形態において、非一時的機械可読記憶媒体はその中に機械実行可能命令が記憶されており、機械実行可能命令は、第1の通信チャネル上で第1のネットワークデバイスから第1のユーザ入力を第2のネットワークデバイスに送信するための命令と、ここにおいて、第1のユーザ入力は、第2のネットワークデバイスの動作を制御するための入力である、第1の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信しないことに少なくとも一部は基づき、第2のネットワークデバイスが第1の通信チャネル上で動作しているかどうかを決定するための命令と、第2のネットワークデバイスが第1の通信チャネル上で動作していないと決定したことに応答してチャネルスキャンシーケンスに従って複数の通信チャネルをスキャンするための命令と、ここにおいて、チャネルスキャンシーケンスは、第2のネットワークデバイスから以前に受信されている動作状態フィードバックに少なくとも一部は基づき決定される、を備える。
[0052]いくつかの実施形態において、第1の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信しないことに応答して、前記命令は、第1の通信チャネル上で第1のネットワークデバイスから第2のネットワークデバイスへの第1のユーザ入力の再送に動作状態フィードバック要求を埋め込むための命令をさらに備える。
[0053]いくつかの実施形態において、前記命令は、第2のネットワークデバイスへの送信のために第2のユーザ入力を受信するための命令と、第1のネットワークデバイスが第1のユーザ入力を第2のネットワークデバイスに送信しているかどうかを決定するための命令と、第1のネットワークデバイスが第1のユーザ入力を第2のネットワークデバイスに送信しているかどうかに少なくとも一部は基づき第2のユーザ入力を第2のネットワークデバイスに送信するかどうかを決定するための命令とをさらに備える。
[0054]添付の図面を参照することにより、本実施形態がよりよく理解され得、多数の目的、特徴、および利点が当業者に明らかになり得る。
[0071]次の説明は、本開示の技術を具現化する例示的なシステムと、方法と、技術と、命令シーケンスと、コンピュータプログラム製品とを含む。ただし、記載される実施形態は、これらの具体的な詳細がなくても実施され得ることを理解されたい。たとえば、電力節約動作は、ワイヤレスローカルエリアネットワーク(WLAN)デバイス(たとえば、IEEE802.11n互換ネットワークデバイス)によって実装され得るけれども、実施形態はそれに限定されない。他の実施形態では、本明細書で説明されている電力節約動作は、他の好適な通信プロトコル(たとえば、IEEE 802.11b/g/ac/ad/ah、Wi−Fiダイレクト(登録商標)、ロングタームエボリューション(LTE(登録商標))、3G、4Gなど)を実装するネットワークデバイスによって実行され得る。他の例では、周知の命令インスタンス、プロトコル、構造、技法については、説明をわかりにくくしないように、詳細には示されていない。
[0072]リモートコントロールは、テレビ、セットトップボックス(STB)、メディアプレーヤーなどの、ネットワークデバイスの動作を制御するために使用され得る。いくつかの実装において、リモートコントロールは、通信範囲が制限され、および/または有能電力の量が制限されている電池式デバイスであってよい。たとえば、リモートコントロールは、別のネットワークデバイスと通信し、別のネットワークデバイスの動作を制御するためにWLAN通信プロトコルを利用するWLAN対応リモートコントロールであり得る。リモートコントロール通信にWLAN通信プロトコルを使用することで、ジェスチャーインタラクション、タッチパッドインタラクション、音声インタラクション、リモートコントロールを介したワイヤレスヘッドセット機能、リモートコントロールを介した表示などの高データレートのアプリケーションを行うことが可能になり得る。リモートコントロール通信にWLAN通信プロトコルを使用することは、被制御ネットワークデバイスがインターネット接続性のための既存のWLAN機能を有しているときに費用効果があり得る。そのような環境では、WLAN対応リモートコントロールの使用は、被制御ネットワークデバイスにおけるリモートコントロール通信を可能にするための追加のトランシーバと処理コンポーネントとを不要にし得る。たとえば、WLAN対応リモートコントロールの使用は、被制御ネットワークデバイスにおける赤外線(IR)検出と処理コンポーネントとを不要にし得る。しかしながら、WLANは、電力を大量に消費する通信プロトコルであり得るので、WLAN対応リモートコントロールを実装することは、リモートコントロールの電池電力を涸渇させ得る。以下でさらに説明されるように、WLAN対応リモートコントロールおよびWLAN対応ネットワークデバイスは、電力節約のためにより低電力の通信プロトコルを実装するように構成され得る。本明細書で説明されている電力節約メカニズムは、WLAN対応リモートコントロールの電池寿命の最適化を助けることができる。
[0073]図1は、通信ネットワーク100内でWLAN対応リモートコントロールの例示的な動作を示すブロック図である。通信ネットワーク100は、リモートコントロール102と被制御デバイス104とを備える。リモートコントロール102は、節電ユニット106と、WLAN通信ユニット108と、入力処理ユニット110とを備える。被制御デバイス104は、WLAN通信ユニット112と、入力処理ユニット114と、節電ユニット116とを備える。いくつかの実施形態において、リモートコントロール102および被制御デバイス104は、WLAN通信プロトコルを使用してアドホックモードで動作し得る。アドホックモードでは、WLAN通信ユニット108および112は、リモートコントロール102と被制御デバイス104との間の直接WLAN通信リンクを確立するためにメッセージ交換を行い得る。たとえば、WLAN通信ユニット108および112は、アドホックモードでの動作のために、Wi−Fiダイレクト通信プロトコル、トンネルダイレクトリンクセットアップ(TDLS)通信プロトコル、ピアツーピア通信プロトコル、ワイヤレスメッシュ通信プロトコルなどの好適な通信プロトコルを実装し得る。他の実施形態において、リモートコントロール102および被制御デバイス104は、WLAN通信プロトコル(たとえば、IEEE802.11n通信プロトコル)を使用してインフラストラクチャモードで動作し得る。インフラストラクチャモードでは、リモートコントロール102および被制御デバイス104は、アクセスポイントまたは別の中間調整ネットワークデバイスを介して通信を行い得る。たとえば、WLAN通信ユニット108および112は、リモートコントロール102と被制御デバイス104との間のWLAN通信リンクを確立するために中間調整デバイスを介してメッセージ交換を行い得る。いくつかの実施形態において、WLAN通信ユニット108および112は、通信プロトコルと関係する機能とを実装するために1つまたは複数の無線トランシーバ、アナログフロントエンド(AFE)ユニット、アンテナ、プロセッサ、メモリ、他のロジック、および/または他のコンポーネントを備え得る。
[0074]一例では、被制御デバイス104は、WLAN対応テレビとすることができる。リモートコントロール102は、WLAN通信プロトコルを使用して、入力処理ユニット110によって検出されたユーザ入力118に基づきテレビの動作を制御することができる。他の実施形態では、被制御デバイス104は、ケーブルテレビセットトップボックス、ラップトップコンピュータ、タブレットコンピュータ、ゲーム機、メディアプレーヤー、スマートアプライアンス、またはリモートコントロールによって制御され得る別の好適な電子デバイスとすることができる。いくつかの実施形態において、リモートコントロール102は、専用コントローラデバイスであってよい。他の実施形態では、リモートコントロール102は、モバイルデバイス(たとえば、スマートフォン、タブレットなど)またはウェアラブルデバイス(たとえば、スマートウォッチ)などの、電子デバイス上にアプリケーションで実装され得る。電子デバイスは、アプリケーションを実行し、ユーザがユーザインターフェースを介してリモートコントロール入力を行うことを可能にし得る。いくつかの実施形態において、WLAN通信プロトコルに加えて、被制御デバイス104は、他の好適な通信プロトコル(たとえば、Bluetooth(登録商標)、WiMAX、Ethernet(登録商標)、電力線搬送通信(PLC)など)を使用して他のネットワークデバイスと通信するように構成され得る。たとえば、被制御デバイス104は、通信プロトコルと関係する機能とを実装するために1つまたは複数の無線トランシーバ、AFEユニット、アンテナ、プロセッサ、メモリ、および/または他のロジックを備え得る。
[0075]いくつかの実施形態において、リモートコントロール102は、被制御デバイス104との直接通信リンクをワイヤレス方式で確立し得る(たとえば、TDLS通信プロトコル、Wi−Fiリダイレクト通信プロトコルなどを使用して)。しかしながら、他の実施形態では、リモートコントロール102は、アクセスポイント(またはネットワークゲートウェイ)を介して被制御デバイス104にワイヤレス方式で接続し得る。この例では、リモートコントロール102は、アクセスポイントを介して被制御デバイス104を制御するものとしてよい。さらに別の実施形態では、リモートコントロール102は、別の好適な中間ネットワークデバイス(たとえば、必ずしもアクセスポイントでない)を介して被制御デバイス104にワイヤレス方式で接続し得る。リモートコントロール102は、中間ネットワークデバイスを介してメッセージ(たとえば、ユーザ入力)を被制御デバイス104に送信し得、中間ネットワークデバイスを介して被制御デバイス104からメッセージを受信し得る。いくつかの実施形態において、リモートコントロール102および中間ネットワークデバイスは、一方の通信プロトコルを使用して通信を交わし、中間ネットワークデバイスおよび被制御デバイス104は、他方の通信プロトコルを使用して通信を交わし得る。たとえば、リモートコントロール102および中間ネットワークデバイスは、WLAN通信プロトコルを使用して通信を交わし、中間ネットワークデバイスおよび被制御デバイス104は、Ethernet通信プロトコルを使用して通信を交わし得る。いくつかの実施形態において、中間ネットワークデバイスは、リモートコントロール102および/または被制御デバイス104の1つまたは複数の動作を実行し得る。いくつかの実施形態において、リモートコントロール102は、被制御デバイス104とアクセスポイントの両方との直接通信をワイヤレス方式で確立し得る。一実施形態において、リモートコントロール102は、被制御デバイス104の動作を制御するように構成された専用コントローラデバイスとすることができる。専用コントローラデバイスは、一体化された表示ユニットを含む場合も含まない場合もある。別の実施形態では、リモートコントロール102の機能は、スマートフォン、タブレットコンピュータ、ウェアラブルデバイスなどの別の好適な電子デバイスに組み込まれ得る。さらに別の実施形態では、リモートコントロール102の機能は、電子デバイスによって実行される(たとえば、電子デバイスのプロセッサによって実行される)アプリケーションに実装され得る。電子デバイスは、アプリケーションを実行し、ユーザがユーザインターフェースを介してリモートコントロール入力を行うことを可能にし得る。
[0076]図1に示されていないけれども、いくつかの実施形態では、通信ネットワーク100は、アクセスポイント、ネットワークゲートウェイ、および/または別の好適なネットワークデバイスも含み得る。被制御デバイス104は、通信ネットワーク100内の複数のネットワークデバイスに接続し、通信することもできる。たとえば、被制御デバイス104は、外部通信ネットワーク(たとえば、インターネット)からコンテンツを受信するためにネットワークゲートウェイに接続し得る。別の例として、被制御デバイス104は、タブレットコンピュータ、スマートフォン、カメラ、ラップトップコンピュータ、ウェアラブルデバイス、および/または別の好適なスマートアプライアンスに接続し、それらとデータを交換することもできる。被制御デバイス104は、WLAN通信プロトコル(たとえば、IEEE802.11通信プロトコル)、PLC通信プロトコル(たとえば、HomePlug AV)、および/または別の好適な通信プロトコルを使用してネットワークデバイスに接続し得る。
[0077]いくつかの実施形態において、リモートコントロール102は、リモートコントロール102と被制御デバイス104との間で交わされるすべての通信を開始するものとしてよい。たとえば、リモートコントロール102は、入力処理ユニット110がユーザ入力118を検出したことに応答して被制御デバイス104との通信を開始することができる。たとえば、入力処理ユニット110は、ユーザがリモートコントロール102上の物理的ボタンを押した場合にその指示を受信し得る。別の例として、入力処理ユニット110は、ユーザが音声入力を行った場合にマイクロフォンまたは他の音声センサーから指示を受信し得る。別の例として、入力処理ユニット110は、ユーザがジェスチャー入力を行った場合にジャイロスコープ、加速度計、別の好適なモーションセンサー、カメラ、および/または別の好適なマシンビジョン検出器から指示を受信し得る。別の例として、入力処理ユニット110は、ユーザがリモートコントロール102上の仮想ボタンをアクティブ化した場合に圧力センサー、またはリモートコントロールタッチスクリーンと一体化された別の好適なセンサーから指示を受信し得る。他の実施形態では、入力処理ユニット110は、別の好適なトリガーメカニズムのアクティブ化、マウスのクリック、スタイラスに基づく選択、ウェアラブル入力提供デバイスの動きなどの、他の好適な種類のユーザ入力118を検出し得る。さらに、いくつかの実施形態では、入力処理ユニット110は、様々な種類のユーザ入力118を検出するためにオーディオセンサー、モーションセンサー、タッチスクリーンセンサーなどを備え得る。いくつかの実施形態において、被制御デバイス104は、リモートコントロール102に関してアクセスポイントとして動作するように構成され得る。この実施形態では、被制御デバイス104は、非ビーコン動作モードで動作し得る。たとえば、被制御デバイス104のWLAN通信ユニット112は、定期的間隔でビーコンメッセージをリモートコントロール102に送信することをし得ず、リモートコントロール102と同期し得ない。被制御デバイス104は、リモートコントロール102に対するビーコンメッセージを生成すること、またはその存在をリモートコントロール102に定期的にアドバタイズすることをしないので、リモートコントロール102は、被制御デバイス104から独立して、それと非同期に動作し得る。したがって、リモートコントロール102は、被制御デバイス104を監視すること、およびそれと同期することをし得ない。いくつかの実装において、リモートコントロール102は、アクティブ動作状態に切り替わり、被制御デバイス104からビーコンメッセージが届くのを待たなくても任意の時点においてメッセージを送信し得る。典型的には、互いに通信可能に結合されているネットワークデバイスは、定期的に「キープアライブ」メッセージをやり取りし、2つのネットワークデバイスの間の通信リンクが動作しているかどうかを決定し、および/または通信リンクが終了するのを防ぐ。しかしながら、リモートコントロール102は、被制御デバイス104から独立して、それと非同期に動作するので、いくつかの実装において、リモートコントロール102は、被制御デバイス104とキープアライブメッセージを定期的にやり取りし得ない。したがって、通信セッションの状態および上位プロトコル層(たとえば、IP層)は両方とも、リモートコントロール102の不活動期間にわたって温存され得る。
[0078]リモートコントロール102における電力節約のために、節電ユニット106は、入力処理ユニット110がユーザ入力118を受信するまでリモートコントロール102をディープスリープ状態(「非アクティブ動作状態」または低電力状態(「スリープ動作状態」)に維持することができる。以下でさらに説明されるように、リモートコントロール102の入力処理ユニット110がユーザ入力118を受信したときに、リモートコントロール102は、非アクティブ動作状態からアクティブ動作状態に、またはスリープ動作状態からアクティブ動作状態に遷移し得る。被制御デバイス104における電力節約のために、節電ユニット116は、被制御デバイス104がスリープ動作状態とアクティブ動作状態との間で定期的に遷移することを引き起こし得る。いくつかの実施形態において、スリープ動作状態は、低電力動作状態とすることができる。いくつかの実施形態において、被制御デバイス104の通信コンポーネント(たとえば、WLAN通信ユニット112)は、スリープ動作状態では無効化され得る。したがって、被制御デバイス104は、スリープ動作状態では通信を送信または受信することをし得ない。いくつかの実施形態において、被制御デバイス104の処理コンポーネントおよび通信コンポーネントは、アクティブ動作状態で有効化され得る。したがって、被制御デバイス104は、アクティブ動作状態で通信を送信または受信することをし得る。被制御デバイス104がスリープ動作状態に構成されている時間間隔(「スリープ間隔」)および被制御デバイス104がアクティブ動作状態に構成されている時間間隔(「アクティブ間隔」)は、様々なファクターに基づき決定され得る。たとえば、スリープ間隔およびアクティブ間隔は、被制御デバイス104の電力消費指定と、ユーザがユーザ入力118を与えてから(たとえば、リモートコントロール102上のボタンを押してから)被制御デバイス104がユーザ入力118を受信するまでの最大許容可能待ち時間とに少なくとも一部は基づき決定され得る。
[0079]図2は、WLAN対応リモートコントロールの例示的な動作を示すタイミング図である。図2において、タイミング図200は、リモートコントロール102の動作を図示し、タイミング図250は、被制御デバイス104の動作を図示する。図2には示されていないけれども、被制御デバイス104は、図2の動作が実行される前に、スイッチがオンにされ、リモートコントロール102とのペアリングが行われ得る。ユーザ入力がない間、リモートコントロール102は、非アクティブ動作状態に構成されている(時間間隔202)。非アクティブ動作状態は、「ディープスリープ」動作状態とすることができる。たとえば、リモートコントロール102の処理コンポーネントおよび通信コンポーネント(たとえば、WLAN通信ユニット108)は、非アクティブ動作状態で部分的にまたは完全に無効化され得る。ユーザ入力を検出したことに応答して、時間間隔204において、リモートコントロール102は、非アクティブ動作状態からアクティブ動作状態に遷移する。たとえば、節電ユニット106は、ユーザがリモートコントロール102の電源ONボタンを押したときにリモートコントロール102がアクティブ動作状態に遷移することを引き起こし得る。他の実施形態では、リモートコントロール102は、リモートコントロールの仮想/物理的ボタンのアクティブ化、音声コマンド、ジェスチャーコマンドなどの、他の好適なユーザ入力に応答してアクティブ動作状態に遷移し得る。時間間隔204において、リモートコントロール102は、リモートコントロール102の以前に無効化されていた処理コンポーネントおよび通信コンポーネントをアクティブ化し得る。
[0080]リモートコントロール102の入力処理ユニット110は、リモートコントロール102でユーザ入力118を検出したことに応答してコマンドメッセージ(CMD)206Aを生成する。リモートコントロール102のWLAN通信ユニット108は、コマンドメッセージ206Aを被制御デバイス104に送信する。しかしながら、タイミング図250に図示されているように、被制御デバイス104は、スリープ動作状態とアクティブ動作状態との間で定期的遷移を行う。スリープ動作状態は、アクティブ動作状態と非アクティブ動作状態との間の低電力動作状態とすることができる。たとえば、スリープ動作状態では、節電ユニット116は、被制御デバイス104の処理コンポーネントと通信コンポーネントのすべてを無効化することをし得ない。これは、非アクティブ動作状態とアクティブ動作状態との間の遷移と比べてスリープ動作状態とアクティブ動作状態との間の遷移を高速化することができる。しかしながら、被制御デバイス104は、スリープ動作状態において通信を送信または受信することをし得ない。図2において、非アクティブ動作状態およびスリープ動作状態は、陰影を付けたブロックを使用して図示されている。非アクティブ動作状態は、スリープ動作状態に比べて高くなっているブロックを使用して図示されている。図2の例では、被制御デバイス104は、リモートコントロール102がコマンドメッセージ206Aを送信するときである、スリープ間隔208においてスリープ動作状態に構成されている。したがって、被制御デバイス104は、コマンドメッセージ206Aを受信せず、対応する肯定応答メッセージを送信しない。WLAN通信ユニット108が、所定の肯定応答時間間隔内で肯定応答メッセージを受信しない場合、WLAN通信ユニット108は、被制御デバイス104がコマンドメッセージの受信に肯定応答するまでコマンドメッセージを再送することができる。図2に示されているように、リモートコントロール102は、コマンドメッセージ206B、206C、および206Dを被制御デバイス104に再送するのに失敗する。コマンドメッセージの連続した再送と再送との間(たとえば、コマンドメッセージ206Aと206Bの送信の間)の時間間隔は、コマンド繰り返し間隔222と称される。リモートコントロール102は、被制御デバイス104のアクティブ間隔を知っていること、被制御デバイス104のスリープ間隔を知っていること、および/またはコマンドメッセージを被制御デバイス104に送信に成功する所望の確率に少なくとも一部は基づきコマンド繰り返し間隔222を決定し得る。被制御デバイス104は、アクティブ時間間隔210において被制御デバイス104がアクティブ動作状態に遷移するときに再送されたコマンドメッセージ206Eを受信する。次いで、被制御デバイス104のWLAN通信ユニット112は、肯定応答メッセージ212をリモートコントロール102に送信する。次いで、被制御デバイス104は、スリープ間隔220に対するスリープ動作状態に遷移して戻ることができる。
[0081]いくつかの実施形態において、図2に示されているように、リモートコントロール102は、肯定応答メッセージ212を受信するとすぐに非アクティブ動作状態に遷移して戻ることをし得ない。その代わりに、リモートコントロール102は、別のユーザ入力を受信することを予想して、時間間隔214においてアクティブ動作状態からスリープ動作状態に一時的に遷移し得る。上で説明されているように、スリープ動作状態は、アクティブ動作状態と非アクティブ動作状態との間の中間の低電力動作状態とすることができる。たとえば、節電ユニット106は、スリープ動作状態にあるリモートコントロール102の処理コンポーネントと通信コンポーネントのすべてを無効化することをし得ない。したがって、スリープ動作状態からアクティブ動作状態に遷移することに対する応答時間は、非アクティブ動作状態からアクティブ動作状態に遷移することに対する応答時間よりも短くなり得る。リモートコントロール102は、時間間隔214の間、スリープ動作状態に留まり得る。時間間隔214は、スリープ動作状態に留まることに関連付けられている電力および待ち時間の量に対して非アクティブ動作状態からアクティブ動作状態に遷移することに関連付けられている電力および待ち時間の量を最適化することによって選択され得る。たとえば、リモートコントロール102は、スリープ動作状態からアクティブ動作状態に遷移するために様々な処理および通信コンポーネントによって消費される電力、非アクティブ動作状態からアクティブ動作状態に遷移するために様々な処理および通信コンポーネントによって消費される電力、処理および通信コンポーネントがスリープ動作状態からアクティブ動作状態に遷移するのに要する時間、および/または処理用および通信コンポーネントが非アクティブ動作状態からアクティブ動作状態に遷移するのに要する時間を推定することができる。リモートコントロール102は、時間間隔214をこれらの電力および時間値の組合せとして決定することができる。図2では、リモートコントロール102は、リモートコントロールがスリープ動作状態に構成されている間、時間間隔214においてユーザ入力を受信しない。したがって、時間間隔214が経過した後、リモートコントロール102は、ユーザが被制御デバイス104を制御することを望んでいないと推論することができる。時間間隔214が経過した後、リモートコントロール102は、スリープ動作状態から非アクティブ動作状態に遷移する(時間間隔216)。
[0082]図2に示されているように、リモートコントロール102がユーザ入力118を検出してから被制御デバイス104が肯定応答メッセージ212を送信するまでの間の時間間隔は、被制御デバイス104のウェイクアップ待ち時間218と称される。ウェイクアップ待ち時間218は、被制御デバイス104のアクティブ間隔とスリープ間隔との関数であるものとしてよい。いくつかの実施形態において、被制御デバイス104は、被制御デバイス104における電力節約とウェイクアップ待ち時間218の最小化との間のバランスをとるようにアクティブ間隔とスリープ間隔とを選択し、および/または変化させることができる。
[0083]いくつかの実施形態において、被制御デバイス104のデューティサイクル(すなわち、スリープ間隔およびアクティブ間隔)は、予め決定され得る。しかしながら、他の実施形態では、節電ユニット116は、チャネル活動測定結果またはアクティブ間隔において検出されたトラヒックの量に基づき被制御デバイス104のデューティサイクルを動的に調整することができる。たとえば、WLAN通信プロトコルは、キャリア検知多重アクセス(CSMA)プロトコルを実装し、WLAN対応ネットワークデバイスは「話す前に聞く」。したがって、WLAN対応ネットワークデバイスは、送信を開始する前に通信チャネルを検知し、別の送信が通信チャネル上で検出された場合に送信を延期する。したがって、高トラヒック環境では、リモートコントロール102は、被制御デバイス104のアクティブ間隔においてメッセージを被制御デバイス104に送信する機会を有し得ない。いくつかの実施形態において、被制御デバイス104は、アクティブ動作状態に構成されている間に、WLAN通信ユニット112は、通信チャネルを監視し得る。WLAN通信ユニット112が、アクティブ間隔において通信チャネルがビジー状態にあったと決定した場合に、節電ユニット116は、メッセージを被制御デバイス104に送信する機会がリモートコントロール102にあったということはあり得ないと推論することができる。したがって、節電ユニット116は、所定の時間間隔だけアクティブ間隔を延長することができる。これは、リモートコントロール102が、メッセージを被制御デバイス104に送信することを可能にすることができる(必要な場合に)。たとえば、被制御デバイス104が、Xmsのアクティブ期間を有している場合、被制御デバイス104は、通信チャネルがアイドル状態になるまでアクティブ動作状態に留まることができる。通信チャネルがアイドル状態になった後、被制御デバイス104は、メッセージを被制御デバイス104に送信する(必要な場合に)機会がリモートコントロール102にあることを確認するためにXmsの追加時間の間アクティブ動作状態に留まることができる。しかしながら、他の実施形態では、通信チャネルがアイドル状態になった後、被制御デバイス104は、アクティブ間隔(たとえば、Xms)と異なる追加の時間間隔(たとえば、Yms)の間、アクティブ動作状態に留まることができる。追加の時間間隔は、被制御デバイス104のアクティブ間隔に少なくとも一部は基づき決定され得る。たとえば、追加の時間間隔は、アクティブ間隔の所定のパーセンテージの時間間隔であってよい。別の例として、追加の時間間隔は、アクティブ間隔の所定の倍数の時間間隔であってもよい。したがって、節電ユニット116は、ウェイクアップ待ち時間218を最小にすることに有利に被制御デバイス104の電力節約指定を一時的にサスペンドすることができる。
[0084]WLAN通信ユニット112は、被制御デバイス104のデューティサイクルをリモートコントロール102に通知することができる。リモートコントロール102は、被制御デバイス104がリモートコントロール102からの送信を受信することを確認するために被制御デバイス104への送信を計時することができる。いくつかの実施形態において、再送試行回数、再送時間間隔、および/またはコマンド再送間隔(たとえば、毎秒再送試行回数)は、被制御デバイス104のデューティサイクルに少なくとも一部は基づき決定され得る。たとえば、被制御デバイス104が、Xmsのアクティブ間隔を有している場合、リモートコントロール102は、再送試行回数、再送時間間隔、および/または単位時間当たりの再送試行回数を選択することができ、これにより、コマンドメッセージは、Xmsの時間間隔において少なくとも1回被制御デバイス104に送信される。
[0085]いくつかの実施形態において、リモートコントロール102は、第1の通信チャネル上で被制御デバイス104に接続し、第1の通信チャネルを介してコマンドメッセージを被制御デバイス104に送信し得る。リモートコントロール102は、スリープ動作状態または非アクティブ動作状態に遷移する前に第1の通信チャネルの識別子を記録することができる。しかしながら、いくつかの実施形態では、被制御デバイス104は、リモートコントロール102がスリープ動作状態にある間に新しい通信チャネルに切り替え得る。たとえば、被制御デバイス104は、通信ネットワーク100のアクセスポイントに関連し得る。アクセスポイントがその動作中に新しい通信チャネルに切り替わった場合、被制御デバイス104も、アクセスポイントへの接続性を維持するために新しい通信チャネルに切り替わり得る。別の例として、被制御デバイス104は、好ましい性能を有する(たとえば、干渉レベルがより低い)通信チャネルを検出したことに応答して、および/または別の好適な種類の通信を開始するために、ピアツーピアコンテンツ共有通信(たとえば、Miracast(登録商標)通信)のための新しい通信チャネルに切り替わり得る。したがって、リモートコントロール102は、リモートコントロール102がアクティブ動作状態に遷移するときに第1の通信チャネル上で被制御デバイス104を検知し得ない。被制御デバイス104を特定しようとして、図3および図4において以下でさらに説明されるように、リモートコントロール102のWLAN通信ユニット108は、被制御デバイス104が動作する可能性の高い通信チャネルのリストを分析することができる。
[0086]図3および図4は、WLAN対応リモートコントロールの例示的な動作を示す流れ図(「流れ」)300を示している。流れは、図3のブロック302から始まる。
[0087]ブロック302において、第1のネットワークデバイスは、通信ネットワークの第2のネットワークデバイスを制御するためのユーザ入力を受信する。図1の例を参照すると、リモートコントロール102の入力処理ユニット110は、ユーザ入力118を検出することができる。たとえば、入力処理ユニット110は、ユーザがリモートコントロール102のトリガーメカニズム(たとえば、物理的ボタン、キー押下など)をアクティブ化したことを決定し得る。別の例として、入力処理ユニット110は、ジェスチャーコマンド、音声コマンド、センサー情報、および/または別の好適なユーザ入力を検出し得る。フローは、ブロック304に続く。
[0088]ブロック304で、第1のネットワークデバイスは、ユーザ入力を受信したことに応答して、アクティブ動作状態に遷移する。たとえば、ユーザ入力118を検出したことに応答して、節電ユニット106は、リモートコントロール102がアクティブ動作状態で動作することを引き起こすことができる。図2において上で説明されているように、アクティブ動作状態では、リモートコントロール102の処理および通信コンポーネントは、有効化されるか、または動作可能状態にあるものとしてよい。リモートコントロール102は、アクティブ動作状態では通信を送信または受信するように構成され得る。いくつかの実施形態において、リモートコントロール102は、ユーザ入力を受信したことに応答して、非アクティブ動作状態からアクティブ動作状態に遷移し得る。非アクティブ動作状態は、ディープスリープ状態とすることができ、そこで、リモートコントロール102の複数の処理および通信コンポーネントは、リモートコントロール102における電力節約を最大化するように部分的にまたは完全に無効化され得る。リモートコントロール102は、非アクティブ動作状態では通信を送信または受信するように構成され得ない。別の実施形態において、リモートコントロール102は、ユーザ入力を受信したことに応答して、スリープ動作状態からアクティブ動作状態に遷移し得る。スリープ動作状態は、アクティブ動作状態と非アクティブ動作状態との間の中間の低電力動作状態とすることができる。たとえば、リモートコントロール102の処理コンポーネントおよび通信コンポーネントは、スリープ動作状態で無効化され得ない。したがって、スリープ動作状態からアクティブ動作状態に遷移することに対する応答時間は、非アクティブ動作状態からアクティブ動作状態に遷移することに対する応答時間よりも短くなり得る。フローは、ブロック306に続く。
[0089]ブロック306において、第1のネットワークデバイスは、通信チャネル上でユーザ入力を含むコマンドメッセージを第2のネットワークデバイスに送信する。たとえば、リモートコントロール102の入力処理ユニット110は、ユーザ入力を含むコマンドメッセージを生成することができる。たとえば、コマンドメッセージは、どのボタンがアクティブ化されたかを示す指示を含むことができる。別の例として、コマンドメッセージは、ジェスチャーユーザ入力を表すセンサー情報を含むことができる。別の例として、コマンドメッセージは、音声ユーザ入力を表す音声サンプルを含むことができる。WLAN通信ユニット108は、通信チャネル上でコマンドメッセージを被制御デバイス104に送信することができる。WLAN通信ユニット108は、キーボードおよびマウスイベント、タッチパッドデータ、トラッキングホイールデータ、ジャイロスコープ/加速度計からのセンサー情報、マイクロフォンからのデータなどのユーザ入力を指示する様々な他のデータも送信し得る。いくつかの実施形態において、WLAN通信ユニット108は、リモートコントロール102の通信機能も送信することができる。いくつかの実施形態において、WLAN通信ユニット108は、リモートコントロール102における低電力レベル(たとえば、電池残量低下)を指示する通知を送信することができる。いくつかの実施形態において、非アクティブ動作状態に遷移する前に、WLAN通信ユニット108は、リモートコントロール102が被制御デバイス104と最後に通信した通信チャネルの識別子を記録し得る。WLAN通信ユニット108は、この記録された通信チャネル上でコマンドメッセージを送信し得る。他の実施形態では、以下でさらに説明されるように、WLAN通信ユニット108は、被制御デバイス104を特定しようとして他の通信チャネルをスキャンし得る。この実施形態では、WLAN通信ユニット108は、考察対象の通信チャネル上でコマンドメッセージを被制御デバイス104に送信することができる。フローは、ブロック308に続く。
[0090]ブロック308において、肯定応答メッセージが第2のネットワークデバイスから受信されるかどうかが決定される。たとえば、WLAN通信ユニット108は、肯定応答メッセージが被制御デバイス104から受信されるかどうかを決定することができる。リモートコントロール102が、肯定応答メッセージを受信した場合、これは、被制御デバイス104がアクティブ動作状態に構成されていることを指示することができる。リモートコントロール102は、被制御デバイス104が検出された通信チャネルの識別子を記録することができる。リモートコントロール102が、肯定応答メッセージを受信しない場合、これは、被制御デバイス104がスリープ動作状態に構成されていること、または被制御デバイス104が別の通信チャネル上で動作していることを指示することができる。肯定応答メッセージが、第2のネットワークデバイスから受信された場合、第2のネットワークデバイスがコマンドメッセージを受信することに成功したと決定され、フローはブロック310に続く。そうでなければ、肯定応答メッセージが、第2のネットワークデバイスから受信されない場合、第2のネットワークデバイスがコマンドメッセージを受信しなかったと決定され、フローは図4のブロック316に続く。
[0091]ブロック310において、第1のネットワークデバイスは、アクティブ動作状態からスリープ動作状態に遷移する。上で説明されているように、スリープ動作状態は、アクティブ動作状態と非アクティブ動作状態との間の中間の低電力動作状態とすることができる。リモートコントロール102は、スリープ動作状態では通信を送信/受信するように構成され得ない。リモートコントロール102は、電池電力を節約するようにスリープ動作状態に構成され得る。上で説明されているように、スリープ動作状態からアクティブ動作状態に遷移することに対する時間間隔は、非アクティブ動作状態からアクティブ動作状態に遷移することに対する時間間隔よりも短い。したがって、リモートコントロール102は、次のユーザ入力を受信することを予想してスリープ動作状態に構成され得る。フローは、ブロック312に続く。
[0092]ブロック312で、非アクティブ動作状態に遷移するかどうかが決定される。図2を参照しつつ上で説明されているように、リモートコントロール102は、別のユーザ入力を受信することを予想して所定の時間間隔の間、スリープ動作状態に留まり得る。所定の時間間隔が経過し、リモートコントロール102がいかなるユーザ入力も検出しなかった場合、リモートコントロール102は、非アクティブ動作状態に遷移し、フローはブロック314に続く。所定の時間間隔が経過する前にリモートコントロール102がユーザ入力を検出した場合、リモートコントロールは、アクティブ動作状態に遷移し、フローはブロック306(図3において「NO(1)」経路として表されている)に続く。所定の時間間隔が経過していない場合、およびリモートコントロール102がいかなるユーザ入力も検出していない場合、リモートコントロール102は、スリープ動作状態に留まり、フローはブロック312(図3において「NO(2)」経路として表されている)にループバックする。
[0093]ブロック314において、第1のネットワークデバイスは、スリープ動作状態から非アクティブ動作状態に遷移する。たとえば、節電ユニット106は、リモートコントロール102が非アクティブ動作状態に遷移することを引き起こすことができる。ブロック314からのフローは終了する。リモートコントロール102は、非アクティブ動作状態にある間に次のユーザ入力を待つものとしてよい。
[0094]図4のブロック316において、第1のネットワークデバイスは、現在の通信チャネル上でコマンドメッセージを第2のネットワークデバイスに再送するかどうかを決定する。たとえば、WLAN通信ユニット108は、コマンドメッセージを被制御デバイス104に再送するかどうかを決定することができる。現在の通信チャネル上でコマンドメッセージを被制御デバイス104に再送するかどうかを決定するために、リモートコントロール102は、所定の再送試行回数に達したかどうか、および/または所定の再送時間間隔が経過したかどうかを決定することができる。
[0095]いくつかの実施形態において、コマンドメッセージを被制御デバイス104に再送する前に、リモートコントロール102は、動作状態フィードバックに対する要求(「動作状態フィードバック要求」)を被制御デバイス104に送信するかどうかを決定し得る。いくつかの実施形態において、WLAN通信ユニット108は、被制御デバイス104に動作状態フィードバックを請求する別個のメッセージを送信することができる。他の実施形態では、動作状態フィードバック要求は、コマンドメッセージの一部として送信され得る。動作状態フィードバック要求を被制御デバイス104に送信することによって、リモートコントロール102は、次の動作状態フィードバックのうちの1つまたは複数を被制御デバイス104に要求し得る。A)被制御デバイス104の現在の電力状態(たとえば、被制御デバイス104がスイッチON/OFFされているかどうか、または被制御デバイスがアクティブ動作状態もしくはスリープ動作状態に構成されているかどうか)、B)被制御デバイス104の現在のインフラストラクチャモード(たとえば、被制御デバイス104がインフラストラクチャモードをサポートしているときに被制御デバイス104が通信ネットワーク100のアクセスポイントに関連付けられているかどうか)、C)被制御デバイス104の現在の動作している通信チャネル、D)被制御デバイス104が関連付けられているアクセスポイントと通信するように構成されている通信チャネル、および/またはE)被制御デバイス104が、ピアツーピア(P2P)通信のためにオフチャネルで動作するかどうか。一実施形態において、動作状態フィードバック要求は、被制御デバイス104のデューティサイクル、被制御デバイス104が現在の通信チャネル上に留まる時間間隔(「存在期間」)、および/またはリモートコントロールが被制御デバイス104への送信に使用し得る最高変調コーディング方式(MCS)に関係する要求情報も含み得る。被制御デバイス104が、P2P通信に対してオフチャネルで動作するかどうかを決定する際に、P2P通信が被制御デバイス104上で有効化されているか、または無効化されているかが決定され得る。P2P通信が有効化されている場合、動作状態フィードバックは、どのP2PチャネルがP2P通信に現在使用されている(たとえば、現在アクティブである)かどうかを指示することができる。P2P通信が無効化されている場合、現在の動作状態は、P2P通信に使用され得る好ましいP2Pチャネルのリストを指示することができる。好ましいP2Pチャネルのリストは、被制御デバイス104を検出するために利用可能なP2Pチャネルが探索されるべきであるシーケンスを表すことができる。
[0096]一実施形態では、被制御デバイス104が、P2P通信に対してオフチャネルで動作するかどうかは、被制御デバイス104のMiracastモード(Miracast通信が被制御デバイス104上で有効化されているか、または無効化されているか)によって表され得る。この実施形態では、動作状態フィードバックは、被制御デバイス104のMiracast通信に関係する情報を含み得る。しかしながら、他の実施形態では、動作状態フィードバックは、被制御デバイス104によって実行される他の好適な種類の通信に関係する情報を含むことができる。たとえば、動作状態フィードバックは、他のピアツーピアコンテンツ共有通信に関連付けられている情報を含むことができる。いくつかの実施形態において、動作状態フィードバックは、リモートコントロール(RC)チャネルを指示することができる。RCチャネルは、リモートコントロール102と被制御デバイス104との間で通信を交わすための既定の通信チャネルとすることができる。
[0097]それに加えて、動作状態フィードバックは、被制御デバイス104のスリープ間隔とアクティブ間隔とを含むことができる。上で説明されているように、スリープ間隔は、被制御デバイス104がスリープ動作状態に構成され、通信を送信/受信することができない持続時間を指示することができる。アクティブ間隔は、被制御デバイス104がアクティブ動作状態に構成され、通信を送信/受信することができる持続時間を指示することができる。いくつかの実施形態において、動作状態フィードバックは、被制御デバイス104に関連付けられている動作している通信チャネルの好ましいリスト(「チャネルスキャンシーケンス」)を含むことができる。動作状態フィードバックは、被制御デバイス104が動作する可能性の高い通信チャネルのシーケンスを指示し得る。図4を参照すると、現在の通信チャネル上でコマンドメッセージを再送すると決定された場合に、フローは、図3のブロック306に続く。そうでなければ、現在の通信チャネル上でコマンドメッセージを再送しないと決定された場合に、フローは、図4のブロック318に続く。
[0098]ブロック318において、チャネルスキャンシーケンスで別の通信チャネルを分析するかどうかが決定される。いくつかの実装において、WLAN通信ユニット108は、被制御デバイス104から受信された最後の動作状態フィードバックに基づき被制御デバイス104を特定するために通信チャネルをスキャンするシーケンス(「チャネルスキャンシーケンス」)を決定することができる。たとえば、リモートコントロール102は、被制御デバイス104の関連付け状態、被制御デバイス104がP2P通信のためにオフチャネルで動作するかどうか、被制御デバイス104が動的周波数選択(DFS)チャネル上で動作しているかどうか、などの様々なファクターに基づきチャネルスキャンシーケンスを決定することができる。特定の一例において、被制御デバイス104が、DFSチャネル上のアクセスポイントに関連付けられており、Miracast通信を無効化している場合、リモートコントロール102は、チャネルスキャンシーケンスをRCチャネル、Miracastチャネル#1、Miracastチャネル#2、他の2.4GHz WLAN通信チャネル、他の5GHz WLAN通信チャネルとして決定し得る。別の特定の例では、被制御デバイス104が、非DFSチャネル上のアクセスポイントに関連付けられ、Miracast通信を有効化している場合、リモートコントロール102は、チャネルスキャンシーケンスをMiracastチャネル#1、非DFS APチャネル、Miracastチャネル#2、他の2.4GHz WLAN通信チャネル、他の5GHz WLAN通信チャネルとして決定し得る。実施形態ではリモートコントロール102が被制御デバイス104のMiracast通信に基づきチャネルスキャンシーケンスを決定すると記述しているけれども、実施形態はそのように制限されない。他の実施形態では、チャネルスキャンシーケンスは、被制御デバイス104によって実行される他の好適な種類の通信に基づき決定され得る。
[0099]いくつかの実施形態において、リモートコントロール102は、チャネルスキャンシーケンス構造を維持することができる。チャネルスキャンシーケンス構造は、被制御デバイス104の異なる動作状態フィードバックに対する所定のチャネルスキャンシーケンスを含むことができる。被制御デバイス104から動作状態フィードバックを受信したことに応答して、リモートコントロール102は、受信された動作状態フィードバックをチャネルスキャンシーケンス構造と比較し、適切なチャネルスキャンシーケンスを選択することができる。図4を参照すると、チャネルスキャンシーケンスが分析されるべき別の通信チャネルを含む場合、フローは、ブロック320に続く。そうでない場合、フローは終了する。リモートコントロール102は、スリープ動作状態または非アクティブ動作状態に遷移し、次のユーザ入力を待つものとしてよい。
[00100]ブロック320において、第1のネットワークデバイスは、第2のネットワークデバイスと通信するためにチャネルスキャンシーケンス内の次の通信チャネルに遷移する。たとえば、WLAN通信ユニット108は、チャネルスキャンシーケンスから決定された次の通信チャネルに遷移することができる。いくつかの実施形態において、WLAN通信ユニット108は、次の通信チャネル上でコマンドメッセージを被制御デバイス104に再送し得る。別の実施形態では、WLAN通信ユニット108は、動作状態フィードバック要求と併せてコマンドメッセージを送信し得る。別の実施形態において、リモートコントロール102は、現在の通信チャネル上でのコマンドメッセージの所定の回数の再送試行が失敗した後に動作状態フィードバック要求を送信し得る。別の実施形態では、リモートコントロール102は、コマンドメッセージを再送し得ず、動作状態フィードバック要求のみを送信し得る。コマンドメッセージおよび/または動作状態フィードバック要求を被制御デバイス104に送信するリモートコントロール102の動作は、図10および図11を参照しつつさらに説明される。ブロック320から、フローは、図3のブロック306にループバックする。
[00101]図3〜4を参照しつつ上で説明されているように、いくつかの実施形態において、リモートコントロール102は、所定の再送時間間隔が経過した後、または所定の回数の再送試行が失敗した後に、動作状態フィードバック要求を送信することができる。たとえば、所定の回数の再送試行が失敗した後、および/または所定の再送時間が経過した後、リモートコントロール102は、被制御デバイス104が現在の通信チャネル上ではアクティブになっていないと推論し得る。その結果、リモートコントロール102は、動作状態フィードバック要求を被制御デバイス104に送信することができる。いくつかの実施形態において、WLAN通信ユニット108は、動作状態フィードバック要求を、コマンドメッセージのその後の再送試行に埋め込むことができる。いくつかの実施形態において、動作状態フィードバック要求の一部として、WLAN通信ユニット108は、動作状態フィードバックを受信するためにリモートコントロール102がアクティブ動作状態に留まる時間間隔を指示することができる。しかしながら、他の実施形態では、動作状態フィードバック要求は、リモートコントロール102がアクティブ動作状態に留まる時間間隔を指示し得ない。その代わりに、リモートコントロール102は、それが被制御デバイス104から動作状態フィードバックを受信するまで、または事前定義された時間間隔が経過するまで、アクティブ動作状態に留まり得る。いくつかの実施形態において、動作状態フィードバック要求の一部として、WLAN通信ユニット108は、リモートコントロール102が動作状態フィードバックを待ち受ける通信チャネルを指示し得る。動作状態フィードバック要求を受信したことに応答して、WLAN通信ユニット112は、被制御デバイス104の現在の動作状態に関する情報をリモートコントロール102に送信することができる。一実施形態では、リモートコントロール102は、所定の再送試行回数の後にリモートコントロール102がコマンドメッセージへの応答および/または動作状態フィードバック要求を受信しない場合にチャネルスキャンシーケンス内の次の通信チャネルに切り替わることができる。別の実施形態では、リモートコントロール102は、所定の再送間隔においてリモートコントロール102が応答を受信しない場合にチャネルスキャンシーケンス内の次の通信チャネルに切り替わることができる。リモートコントロール102は、被制御デバイス104を特定しようとして、次の通信チャネル上でコマンドメッセージおよび/または動作状態フィードバック要求を送信することができる。
[00102]図3〜4では、リモートコントロール102が所定の再送時間間隔が経過した後および/または所定の回数の再送試行が失敗した後に、動作状態フィードバック要求を送信することを説明しているけれども、実施形態はそれに限定されない。いくつかの実施形態において、リモートコントロール102は、定期的間隔で(動作状態フィードバック要求を送信することなく)被制御デバイス104から動作状態フィードバックを受信し得る。いくつかの実施形態において、リモートコントロール102は、所定の種類のユーザ入力を検出したことに応答して動作状態フィードバック要求を送信し得る。たとえば、動作状態フィードバック要求は、リモートコントロール102上の所定のボタン、所定のジェスチャー、所定の音声コマンド、および/または別の好適なユーザ入力のアクティブ化にリンクされ得る。一例において、リモートコントロール102は、リモートコントロール102の電源ON/OFFボタンをユーザがアクティブ化したと決定したことに応答して動作状態フィードバック要求を送信することができる。別の例として、リモートコントロール102は、リモートコントロール102の「enter」または「select」ボタンをユーザがアクティブ化したと決定したことに応答して動作状態フィードバック要求を送信することができる。いくつかの実施形態において、リモートコントロール102は、リモートコントロール102が最後に被制御デバイス104から動作状態フィードバックを受信してから所定の時間間隔が経過した場合に動作状態フィードバック要求を送信することができる。たとえば、リモートコントロール102は、被制御デバイス104から動作状態フィードバック要求を受信したことに応答してタイマーを起動することができる。リモートコントロール102が、タイマーの時間が経過した後に更新された動作状態フィードバックを受信していない場合、リモートコントロール102は、動作状態フィードバック要求を被制御デバイス104に送信することができる。
[00103]図3〜図4を参照して上で説明されていないけれども、入力処理ユニット110は、ユーザ入力118が検出された後、どれだけの時間が経過したかを追跡するコマンドタイマーを維持することができる。コマンドタイマー値がコマンド失効間隔を超えた場合、リモートコントロール102は、ユーザ入力は「陳腐化(stale)」しており、もはや有効でないと推論することができる。コマンド失効間隔は、ユーザがユーザ入力118を与えて(たとえば、リモートコントロール102上のボタンを押して)から被制御デバイス104が対応するコマンドメッセージを受信するまでの間の最大許容可能ウェイクアップ待ち時間に少なくとも一部は基づき選択され得る。入力処理ユニット110が、ユーザ入力が陳腐化していると決定した場合、WLAN通信ユニット108は、ユーザ入力を含むコマンドメッセージを破棄し得る。WLAN通信ユニット108は、どの通信チャネル上でもユーザ入力を含むコマンドメッセージを再送し得ない。いくつかの実施形態において、リモートコントロール102は、ユーザ入力を破棄した後であっても動作状態フィードバック要求を送信することを続行し得る。リモートコントロール102は、それが被制御デバイス104から動作状態フィードバックを受信するか、もしくは新しいユーザ入力が検出されるまで、動作状態フィードバック要求を送信することを続行し得るか、またはリモートコントロール102は、チャネルスキャンシーケンス内のすべての通信チャネルを一度にスキャンする。
[00104]図5は、被制御デバイスを特定するためのリモートコントロールの例示的な動作を示す流れ図である。フローは、ブロック502に続く。
[00105]ブロック502において、第1のネットワークデバイスは、第2のネットワークデバイスの動作を制御するために第1の通信チャネル上でユーザ入力を第2のネットワークデバイスに送信する。図1の例を参照すると、リモートコントロール102の入力処理ユニット110は、ユーザ入力118を検出することができる。たとえば、入力処理ユニット110は、ユーザがリモートコントロール102のトリガーメカニズム(たとえば、物理的ボタン、キー押下など)をアクティブ化したことを決定し得る。別の例として、入力処理ユニット110は、ジェスチャーコマンド、音声コマンド、センサー情報、および/または別の好適なユーザ入力を検出し得る。いくつかの実施形態において、ユーザ入力118を検出したことに応答して、節電ユニット106は、リモートコントロール102が非アクティブ動作状態からアクティブ動作状態に遷移することを引き起こすことができる。別の実施形態では、ユーザ入力118を検出したことに応答して、節電ユニット106は、リモートコントロール102がスリープ動作状態からアクティブ動作状態に遷移することを引き起こすことができる。図3を参照しつつ上で説明されているように、リモートコントロール102の入力処理ユニット110は、ユーザ入力を含むコマンドメッセージを生成し得る。WLAN通信ユニット108は、第1の通信チャネル上でコマンドメッセージを被制御デバイス104に送信することができる。いくつかの実施形態において、リモートコントロール102は、第1の通信チャネルを介して被制御デバイス104と通信するように事前構成され得る。別の実施形態では、リモートコントロール102および被制御デバイス104は、その後の通信のために第1の通信チャネルを選択することをネゴシエートし得る。フローは、ブロック504に続く。
[00106]ブロック504において、第1のネットワークデバイスは、第1の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信しないことに少なくとも一部は基づき、第2のネットワークデバイスが第1の通信チャネル上で動作しているかどうかを決定する。図3を参照しつつ上で説明されているように、リモートコントロール102のWLAN通信ユニット108は、リモートコントロール102が被制御デバイス104から肯定応答メッセージを受信しない場合に、被制御デバイス104が第1の通信チャネル上で動作していないと決定し得る。いくつかの実施形態において、リモートコントロール102は、再送時間が経過し、および/または所定の回数の再送試行が失敗した後に被制御デバイス104が第1の通信チャネル上で動作していないと決定し得る。以下でさらに説明されるようないくつかの実施形態において、リモートコントロール102は、異なる通信パラメータ(たとえば、MCSレベル)を使用してユーザ入力および/または動作状態フィードバック要求を再送しようとして失敗した後に被制御デバイス104が第1の通信チャネル上で動作していないと決定し得る。いくつかの実施形態において、リモートコントロール102は、図11において以下で説明されるように、コマンド失効時間が経過した後、または第1の通信チャネルに対するチャネルサーチ期間が経過した後に、被制御デバイス104が第1の通信チャネル上で動作していないと決定し得る。フローは、ブロック506に続く。
[00107]ブロック506において、第1のネットワークデバイスは、第2のネットワークデバイスが第1の通信チャネル上で動作していないと決定したことに応答してチャネルスキャンシーケンスに従って複数の通信チャネルをスキャンする。図3および図4において上で説明されているように、リモートコントロール102は、第2のネットワークデバイスから以前に受信されている動作状態フィードバックに少なくとも一部は基づきチャネルスキャンシーケンスを決定し得る。たとえば、リモートコントロール102および被制御デバイス104は、より早い時刻に同じ通信チャネル上で動作している可能性がある。被制御デバイス104は、より早い時刻に動作状態フィードバックをリモートコントロール102に与えている可能性がある。この例では、リモートコントロール102は、動作状態フィードバックを記憶し、被制御デバイス104を特定するために記憶されている動作状態フィードバックから決定されたチャネルスキャンシーケンスを使用し得る。リモートコントロール102は、記憶されている動作状態フィードバックを置き換えるために新しい動作状態フィードバックが受信されるまでより早い時刻に受信された記憶されている動作状態フィードバックを使用し得る。ブロック506において、リモートコントロール102は、被制御デバイス104から新しい動作状態フィードバック要求を受信していない。したがって、リモートコントロール102は、被制御デバイス104を探索するチャネルスキャンシーケンスを決定するために以前に受信された動作状態フィードバックを使用し得る。リモートコントロール102は、被制御デバイス104が動作する可能性の高い通信チャネルを決定するためにチャネルスキャンシーケンスを使用し得る。被制御デバイス104が第1の通信チャネル上で動作していないと決定したことに応答して、リモートコントロール102は、チャネルスキャンシーケンスで指示されている次の通信チャネルに切り替わり得る。リモートコントロール102は、次の通信チャネル上でユーザ入力を被制御デバイス104に再送し得る。図11においてさらに説明されるように、リモートコントロール102は、リモートコントロール102が被制御デバイス104を特定するまでチャネルスキャンシーケンス内にリストされている各通信チャネルをスキャンし成功し得る。フローは、ブロック508に続く。
[00108]ブロック508において、第1のネットワークデバイスは、第2の通信チャネル上でユーザ入力を送信した後に第2の通信チャネル上で第2のネットワークデバイスから肯定応答メッセージを受信したことに応答して第2の通信チャネル上で第2のネットワークデバイスが動作していると決定する。いくつかの実施形態において、リモートコントロール102は、チャネルスキャンシーケンスの第2の通信チャネル上でユーザ入力を再送し得、第2の通信チャネル上で肯定応答メッセージを受信し得る。リモートコントロール102は、第2の通信チャネル上で被制御デバイス104とのその後の通信を交わすことを決定し得る。いくつかの実施形態において、第2のネットワークデバイスから肯定応答メッセージを受信した後に、電力制御ユニット110は、リモートコントロール102がアクティブ動作状態から中間スリープ動作状態に遷移することを引き起こし得る。上で説明されているように、リモートコントロール102は、別のユーザ入力を受信することを予想して所定の時間間隔の間、スリープ動作状態に留まり得る。所定の時間間隔が経過し、リモートコントロール102がいかなるユーザ入力も検出しなかった場合、リモートコントロール102は、非アクティブ動作状態に遷移する。他の実施形態では、リモートコントロール102は、第1のユーザ入力を第2のネットワークデバイスに送信すること、および/または第2のネットワークデバイスから動作状態フィードバックを受信することに成功した後、アクティブ動作状態から非アクティブ動作状態に遷移し得る。この実施形態では、リモートコントロール102は、中間スリープ動作状態で動作し得ない。ブロック508からのフローは終了する。
[00109]図6は、動作状態フィードバックを要求するためのリモートコントロールの例示的な動作を示す流れ図である。フローは、ブロック602に続く。
[00110]ブロック602において、第1のネットワークデバイスは、第2のネットワークデバイスの動作を制御するためにユーザ入力を第2のネットワークデバイスに送信する。図1の例を参照すると、リモートコントロール102の入力処理ユニット110は、ユーザ入力118を検出することができる。たとえば、入力処理ユニット110は、ユーザがリモートコントロール102のトリガーメカニズム(たとえば、物理的ボタン、キー押下など)をアクティブ化したことを決定し得る。別の例として、入力処理ユニット110は、ジェスチャーコマンド、音声コマンド、センサー情報、および/または別の好適なユーザ入力を検出し得る。いくつかの実施形態において、ユーザ入力118を検出したことに応答して、節電ユニット106は、リモートコントロール102がアクティブ動作状態で動作することを引き起こすことができる。
[00111]図3を参照しつつ上で説明されているように、入力処理ユニット110は、ユーザ入力を含むコマンドメッセージを生成し得る。WLAN通信ユニット108は、通信チャネル上でコマンドメッセージを被制御デバイス104に送信することができる。いくつかの実施形態において、リモートコントロール102は、事前定義された通信チャネルを介して被制御デバイス104と通信するように事前構成され得る。別の実施形態では、リモートコントロール102および被制御デバイス104は、その後の通信のために通信チャネルを選択することをネゴシエートし得る。フローは、ブロック604に続く。
[00112]ブロック604において、第2のネットワークデバイスから肯定応答メッセージを受信しないことに応答して、第1のネットワークデバイスから第2のネットワークデバイスへのユーザ入力のその後の再送に動作状態フィードバック要求が埋め込まれる。図3を参照しつつ上で説明されているように、リモートコントロール102は、被制御デバイス104に様々な種類の情報を要求する動作状態フィードバック要求を送信し得る。たとえば、リモートコントロール102は、被制御デバイス104を特定するためにチャネルスキャンシーケンスを決定する動作状態フィードバック要求を送信し得る。フローは、ブロック606に続く。
[00113]ブロック606において、第1のネットワークデバイスは、第2のネットワークデバイスから以前に受信された動作状態フィードバックに少なくとも一部は基づき、ユーザ入力を第1のネットワークデバイスから第2のネットワークデバイスに再送するための第1の通信チャネルを決定する。いくつかの実施形態において、リモートコントロール102は、被制御デバイス104から以前に受信された動作状態フィードバックからチャネルスキャンシーケンスを決定することができる。リモートコントロール102は、被制御デバイス104を特定しようとして、チャネルスキャンシーケンスによって指示される第1の通信チャネル上でユーザ入力および/または動作状態フィードバック要求を再送することができる。いくつかの実施形態において、リモートコントロール102が、動作状態フィードバック要求に応答して被制御デバイス104から動作状態フィードバックを受信しない場合、リモートコントロール102は、所定の再送時間間隔が経過する、動作状態フィードバックが受信される、および/または肯定応答メッセージが受信されるまで、第1の通信チャネル上でユーザ入力および/または動作状態フィードバック要求を再送し得る。リモートコントロール102は、すべての通信チャネルがスキャンされてしまうまで、または被制御デバイス104が検出されるまで、チャネルスキャンシーケンス内にリストされている各通信チャネル上でユーザ入力および/または動作状態フィードバック要求を送信し得る。いくつかの実施形態において、リモートコントロール102は、動作状態フィードバック要求に応答して第2のネットワークデバイスから新しい動作状態フィードバックを受信し得る。リモートコントロール102は、新しい動作状態フィードバックに少なくとも一部は基づきチャネルスキャンシーケンスを決定し得る。リモートコントロール102は、第2のネットワークデバイスがチャネルスキャンシーケンスに少なくとも一部は基づき第1の通信チャネルから第2の通信チャネルに遷移することを決定し得る。リモートコントロール102は、第2の通信チャネル上でその後のユーザ入力を送信することができる。ブロック606からのフローは終了する。
[00114]図7は、被制御デバイスへの送信のために複数のユーザ入力を統合するリモートコントロールの流れ図700である。フローは、ブロック702から始まる。
[00115]ブロック702において、通信ネットワークの第1のネットワークデバイスは、通信ネットワークの第2のネットワークデバイスへの送信のための現在のユーザ入力を受信する。図1の例を参照すると、リモートコントロール102の入力処理ユニット110は、ユーザ入力118を検出することができる。たとえば、入力処理ユニット110は、ユーザがリモートコントロール102のトリガーメカニズム(たとえば、物理的ボタン、仮想ボタンなど)をアクティブ化したことを決定し得る。別の例として、入力処理ユニット110は、ジェスチャーユーザ入力、音声ユーザ入力、センサー情報、および/または別の好適なユーザ入力を検出し得る。図3のブロック304を参照しつつ上で同様に説明されているように、現在のユーザ入力を検出したことに応答して、節電ユニット106は、リモートコントロール102が非アクティブ動作状態からアクティブ動作状態に遷移することを引き起こすことができる。別の例では、現在のユーザ入力を検出したことに応答して、節電ユニット106は、リモートコントロール102がスリープ動作状態からアクティブ動作状態に遷移することを引き起こすことができる。フローは、ブロック704に続く。
[00116]ブロック704において、第1のネットワークデバイスが、前のユーザ入力を第2のネットワークデバイスに送信しているかどうかが決定される。たとえば、入力処理ユニット110は、WLAN通信ユニット108が、前のユーザ入力を被制御デバイス104に現在送信中であるかどうかを決定することができる。たとえば、ユーザは、リモートコントロール102上での第1のボタンをアクティブ化し得る。リモートコントロール102が第1のボタンのアクティブ化の指示を送信している(か、または再送している)間に、ユーザは、リモートコントロール102上で第2のボタンをアクティブ化し得る。第1のネットワークデバイスが、前のユーザ入力を第2のネットワークデバイスに現在送信中である場合、フローは、ブロック706に続く。そうでない場合、フローはブロック708に続く。
[00117]ブロック706において、前のユーザ入力が有効であるかどうかが決定される。たとえば、入力処理ユニット110は、前のユーザ入力が有効であるか、タイムアウトしているかを決定し、それを無効にすることができる。いくつかの実施形態において、前のユーザ入力が有効であるかどうかを決定するために、入力処理ユニット110は、前のユーザ入力がリモートコントロール102で検出された後にコマンド失効間隔が経過したかどうかを決定することができる。別の実施形態では、入力処理ユニット110は、前のユーザ入力を送信するための所定の再送時間間隔が経過したかどうか、および/または所定の再送試行回数に達したかどうかを決定することができる。
[00118]いくつかの実施形態において、入力処理ユニット110は、前のユーザ入力と現在のユーザ入力とを比較して、前のユーザ入力が現在のユーザ入力から明確に異なるかどうかを決定し得る。いくつかの実施形態において、現在のユーザ入力および前のユーザ入力が、同じ値を有している場合(たとえば、ユーザが同じボタンを2回押した場合)、入力処理ユニット110は、所定のルールセットを参照して、現在のユーザ入力が前のユーザ入力の複製であるかどうかと、ユーザ入力の一方または両方を送信するかどうかとを決定し得る。いくつかの実施形態において、入力処理ユニット110は、ユーザ入力の種類とユーザ入力が与えられた状況とに少なくとも一部は基づきユーザ入力の一方または両方を送信するかどうかを決定し得る。入力処理ユニット110は、連続する同一のユーザ入力が複製または一意的なユーザ入力として考えられるべきかどうかを指示する所定のルールセットを参照し得る。一実施形態において、入力処理ユニット110は、アクティブ化されるボタンの種類に基づき連続する同一のユーザ入力が複製または一意的なユーザ入力として考えられるべきかどうかを決定し得る。たとえば、電源ON/OFFボタンが複数回連続的にアクティブ化された場合、入力処理ユニット110は、ユーザが電源ON/OFFボタンを1回だけ押すことを意図していたと推論し得る。この例では、入力処理ユニット110は、電源ON/OFFボタンの第2のアクティブ化は電源ON/OFFボタンの第1のアクティブ化の複製であると推論し得る。別の例として、ボリュームボタンが複数回連続的にアクティブ化された場合、入力処理ユニット110は、ユーザがボリュームボタンを複数回押すことを意図していたと推論し得る。この例では、入力処理ユニット110は、ボリュームボタンの第2のアクティブ化はボリュームボタンの第1のアクティブ化から明確に異なると推論し得る。前のユーザ入力が有効である場合、フローはブロック710に続く。そうでない場合、フローはブロック708に続く。
[00119]ブロック708において、第1のネットワークデバイスは、現在のユーザ入力を含むコマンドメッセージを第2のネットワークデバイスに送信する。図3のブロック306を参照しつつ上で同様に説明されているように、入力処理ユニット110は、現在のユーザ入力を含むコマンドメッセージを生成することができる。いくつかの実施形態において、入力処理ユニット110は、前のユーザ入力は有効でないが、現在のユーザ入力は有効である場合に、現在のユーザ入力を含むコマンドメッセージを生成することができる。上で説明されているように、前のユーザ入力は、ユーザが前のユーザ入力を与えた後にコマンド失効間隔が経過した場合、前のユーザ入力を送信するための所定の再送時間間隔が経過した場合、所定の再送試行回数に達した場合などの場合に、有効ではあり得ない。別の実施形態では、入力処理ユニット110は、現在のユーザ入力が検出されたときにリモートコントロール102が前のユーザ入力を送信しようとしていなかった場合に、現在のユーザ入力を含むコマンドメッセージを生成することができる。WLAN通信ユニット108は、コマンドメッセージを被制御デバイス104に送信することができる。いくつかの実施形態において、図3〜図4を参照しつつ上で同様に説明されているように、リモートコントロール102は、必要に応じて、コマンドメッセージを再送し、通信チャネルを切り替えて被制御デバイス104を探索し、および/または動作状態フィードバック要求を送信し得る。ブロック708からのフローは終了する。リモートコントロール102は、スリープ動作状態または非アクティブ動作状態に遷移し、次のユーザ入力を待つものとしてよい。
[00120]ブロック710において、前のユーザ入力および現在のユーザ入力は、第2のネットワークデバイスに送信される。上で説明されているように、前のユーザ入力は、ユーザが前のユーザ入力を与えた後にコマンド失効間隔が経過していない場合、前のユーザ入力を送信するための所定の再送時間間隔が経過していない場合、所定の再送試行回数に達していない場合などの場合に、有効であり得る。したがって、前のユーザ入力は、現在のユーザ入力が与えられたときにリモートコントロール102が前のユーザ入力を被制御デバイス104に送信(または再送)しようとしていた場合に有効であり得る。たとえば、前のユーザ入力が有効であると決定したことに応答して、また前のユーザ入力が現在のユーザ入力から明確に異なると決定したことに応答して、リモートコントロール102は、前のユーザ入力と現在のユーザ入力を単一のコマンドメッセージで送信することができる。たとえば、前のユーザ入力および現在のユーザ入力は、各々、ユーザがボリュームアップボタンをアクティブ化したことに応答し得る。この例では、入力処理ユニット110は、「increase volume」ボタンの連続的アクティブ化が受け入れ可能であると(たとえば、所定のルールセットを参照することに基づき)決定し得る。入力処理ユニット110は、ユーザがボリュームアップボタンを2回押すことを意図していたと決定することができる。入力処理ユニット110は、前のユーザ入力および現在のユーザ入力が一意的な、明確に異なる入力であると推論し得る。リモートコントロール102は、前のユーザ入力と現在のユーザ入力の両方を共通のコマンドメッセージで送信し得る。いくつかの実施形態において、リモートコントロール102は、両方のユーザ入力をドロップする前に、所定の再送時間間隔の間、および/または所定の回数の再送試行の間、前のユーザ入力と現在のユーザ入力とを送信し得る。したがって、前のユーザ入力が有効である間に現在のユーザ入力が与えられた場合、リモートコントロール102は、前のユーザ入力と現在のユーザ入力とに対する再送時間間隔を事実上リスタートする。いくつかの実施形態において、現在のユーザ入力が前のユーザ入力の複製である場合、リモートコントロール102は、前のユーザ入力に対する再送時間間隔をリスタートすることができる。ブロック712からのフローは終了する。
[00121]いくつかの実施形態において、リモートコントロール102は、リモートコントロール102がチャネルスキャンシーケンスの通信チャネル上で前のユーザ入力を再送している、および/または動作状態フィードバックを請求している間に現在のユーザ入力を受信し得る。リモートコントロール102は、チャネルスキャン手順をリスタートし得ず、現在のユーザ入力を受信したことに応答して以前にスキャンされた通信チャネルを再スキャンし得ない。その代わりに、リモートコントロール102は、前のユーザ入力、現在のユーザ入力、および/または動作状態フィードバック要求を送信しながらチャネルスキャンシーケンス内に残っている通信チャネルをスキャンし続けることができる。
[00122]図7では、リモートコントロール102が複数の連続的に受信されたユーザ入力が一意的であるかまたは複製であるかを決定することを説明しているけれども、実施形態はそれに限定されない。その代わりに、リモートコントロール102は、コマンドメッセージで各ユーザ入力を被制御デバイス104に送信することができる。被制御デバイス104の入力処理ユニット114は、リモートコントロール102を参照しつつ上で同様に説明されているように、ユーザ入力のどれかが複製であるかどうかを確認するために受信されたユーザ入力を分析し得る。被制御デバイス104が、同じユーザ入力を複数回連続的に受信する場合、入力処理ユニット114は、連続的に受信されたユーザ入力が、所定のルールセットに基づき一意的であるかまたは複製であるかを決定することができる。これらのルールは、リモートコントロール102で検出された連続的ユーザ入力(たとえば、ボタン押下)の間の相対的タイミングに少なくとも一部は基づきリモートコントロール102によってさらに強化され得る。次いで、被制御デバイス104は、一意的なユーザ入力を処理し、複製のユーザ入力を破棄することができる。
[00123]いくつかの実施形態において、リモートコントロール102および被制御デバイス104は、複数のユーザ入力動作モードをサポートし得る。たとえば、リモートコントロール102および被制御デバイス104は、プッシュボタン入力動作モード、ジェスチャー入力動作モード、音声入力動作モード、ワイヤレスオーディオ入力動作モード、または別の好適な入力動作モードをサポートし得る。いくつかの実施形態において、リモートコントロール102および被制御デバイス104は、入力動作モードに応じて、電力節約のための異なる動作を実行し得る。プッシュボタン入力動作モードを実装するための動作は、図8を参照しつつさらに説明される。ジェスチャー入力動作モードを実装するための動作は、図9を参照しつつさらに説明される。
[00124]図8は、プッシュボタン入力動作モードでのWLAN対応リモートコントロールの例示的な動作を示すタイミング図である。図8において、タイミング図800は、リモートコントロール102の動作を図示している。タイミング図850は、リモートコントロール102の動作に応答する被制御デバイス104の動作を示している。図8には示されていないけれども、被制御デバイス104は、図8の動作が実行される前に、スイッチがオンにされ、リモートコントロール102とのペアリングが行われ得る。ユーザ入力がない間、リモートコントロール102は、非アクティブ動作状態に構成されている(時間間隔802)。リモートコントロール102は、ユーザがリモートコントロール102上のボタンをアクティブ化したときにアクティブ動作状態に遷移する。リモートコントロール102は、時間間隔804において非アクティブ動作状態からアクティブ動作状態に遷移する。リモートコントロール102は、WLAN通信プロトコルに従って時間間隔806においてチャネルアクセスを求めて競合する。リモートコントロール102は、時間間隔806においてチャネルはアクセスを求めて競合している間にアクティブ動作状態に構成され得る。リモートコントロール102は、ユーザがリモートコントロール102上のボタンをアクティブ化することに基づきコマンドメッセージ(CMD)808を生成する。リモートコントロール102は、コマンドメッセージ808を被制御デバイス104に送信する。被制御デバイス104は、コマンドメッセージ808を受信し、肯定応答メッセージ810をリモートコントロール102に送信する。
[00125]いくつかの実施形態において、図8に示されているように、リモートコントロール102は、被制御デバイス104から肯定応答メッセージ810を受信するとすぐに非アクティブ動作状態に遷移して戻ることをし得ない。その代わりに、リモートコントロール102は、ユーザがリモートコントロール102の別のボタンをアクティブ化することを予想してスリープ動作状態に一時的に遷移し得る。上で説明されているように、スリープ動作状態は、アクティブ動作状態と非アクティブ動作状態との間の中間の低電力動作状態とすることができる。スリープ動作状態からアクティブ動作状態に遷移することに対する応答時間は、非アクティブ動作状態からアクティブ動作状態に遷移することに対する応答時間よりも短くなり得る。図8において、非アクティブ動作状態およびスリープ動作状態は、陰影を付けたブロックを使用して図示されている。非アクティブ動作状態は、スリープ動作状態に比べて高くなっているブロックを使用して図示されている。リモートコントロール102は、非アクティブ動作状態に遷移する前の所定のタイムアウト間隔826の間、スリープ動作状態に留まるように構成され得る。所定のタイムアウト間隔826は、スリープ動作状態に留まることに関連付けられている電力の量に対して非アクティブ動作状態からアクティブ動作状態に遷移することに関連付けられている電力および待ち時間の量を最適化することによって選択され得る。
[00126]図8の例では、リモートコントロール102が、時間間隔812において(所定のタイムアウト間隔826内で)スリープ動作状態にある間、ユーザは、リモートコントロール102上の第2のボタンをアクティブ化する。リモートコントロール102は、時間間隔814においてスリープ動作状態からアクティブ動作状態に遷移する。たとえば、時間間隔814において、リモートコントロール102は、リモートコントロール102の処理コンポーネントおよび/または通信コンポーネントを電源オンまたはアクティブ化し得る。リモートコントロール102は、WLAN通信プロトコルに従って時間間隔816においてチャネルアクセスを求めて競合する。リモートコントロール102は、時間間隔816においてチャネルアクセスを求めて競合している間にアクティブ動作状態に構成され得る。リモートコントロール102は、ユーザがリモートコントロール102上の第2のボタンをアクティブ化することに基づきコマンドメッセージ818を生成する。リモートコントロール102は、コマンドメッセージ818を被制御デバイス104に送信する。被制御デバイス104は、コマンドメッセージ818を受信し、肯定応答メッセージ820をリモートコントロール102に送信する。
[00127]肯定応答メッセージ820を受信した後、リモートコントロール102は、スリープ動作状態822に遷移して戻り、別の所定のタイムアウト間隔828を開始する。図8において、リモートコントロール102は、所定のタイムアウト間隔828においていかなるユーザ入力をも受信しない。したがって、所定の時間間隔828が経過した後、リモートコントロール102は、ユーザが被制御デバイス104を制御することを望んでいないと推論し得る。所定の時間間隔828が経過した後、リモートコントロール102は、スリープ動作状態から非アクティブ動作状態に遷移する(時間間隔824)。
[00128]図9は、ジェスチャー入力動作モードでのWLAN対応リモートコントロールの例示的な動作を示すタイミング図である。図9において、タイミング図900は、リモートコントロール102の動作を図示している。タイミング図950は、リモートコントロール102の動作に応答する被制御デバイス104の動作を示している。図9には示されていないけれども、被制御デバイス104は、図9の動作が実行される前に、スイッチがオンにされ、リモートコントロール102とのペアリングが行われ得る。ユーザ入力がない間、リモートコントロール102は、非アクティブ動作状態に構成されている(時間間隔902)。リモートコントロール102は、リモートコントロール102が非アクティブ動作状態に構成されている間にユーザ入力を検出する。たとえば、ユーザは、リモートコントロール102上のボタンをアクティブ化してジェスチャー入力動作モードを開始し得る。別の例として、ユーザ入力は、ジェスチャー入力を表すセンサー情報(以下で説明される)とすることができる。リモートコントロール102は、リモートコントロール102がユーザ入力を検出したことに応答してアクティブ動作状態に遷移し得る。リモートコントロール102は、時間間隔904において非アクティブ動作状態からアクティブ動作状態に遷移し得る。リモートコントロール102は、WLAN通信プロトコルに従って時間間隔906においてチャネルアクセスを求めて競合する。リモートコントロール102は、時間間隔906においてチャネルアクセスを求めて競合している間にアクティブ動作状態に構成され得る。
[00129]いくつかの実施形態において、リモートコントロール102は、一体化されたセンサー(たとえば、加速度計、ジャイロスコープ、マイクロフォンなど)を備え、これにより、リモートコントロール102がジェスチャー入力動作モードで動作することを可能にし得る。いくつかの実施形態において、リモートコントロール102は、一体化されたセンサーからセンサー情報を受信し、リモートコントロール102上の電池電力を節約することを目的として生のセンサー情報(未処理の)を被制御デバイス104に送信し得る。図9に示されているように、リモートコントロール102は、センサー情報を含むコマンドメッセージ908を生成し、コマンドメッセージ908を被制御デバイス104に送信する。被制御デバイス104は、コマンドメッセージ908を受信し、肯定応答メッセージ910をリモートコントロール102に送信する。
[00130]被制御デバイス104は、センサー情報を処理し、受信されたセンサー情報にどのように応答するかを決定し得る。たとえば、ユーザは、リモートコントロール102を、被制御デバイス104上に表示される要素を選択するためのポインタとして使用し得る。リモートコントロール102は、リモートコントロール102内に組み込まれている加速度計から対応するセンサー情報を受信し、センサー情報を被制御デバイス104に転送し得る。被制御デバイス104は、センサー情報を処理し、ユーザが選択することを望んでいる要素を識別し得る。次いで、被制御デバイス104は、要素を選択する視覚的指示を提示し得る。
[00131]ジェスチャー入力動作モードでは、センサー情報が生成され、リモートコントロール102から送信される速度は、典型的には、ユーザがジェスチャー入力を与える速度よりも速い。リモートコントロール102は、連続的コマンドメッセージを送信する間にアクティブ動作状態からスリープ動作状態に遷移するように構成され得る。たとえば、図9において以下でさらに説明されるように、リモートコントロール102は、第1のコマンドメッセージを送信する、所定のスリープ時間間隔の間スリープ動作状態に遷移する、所定のスリープ時間間隔が経過した後にアクティブ動作状態に遷移して第2のコマンドメッセージを送信する、などを行い得る。
[00132]ジェスチャー入力(たとえば、センサー情報)の解釈は、典型的には、被制御デバイス104によって実行される。したがって、リモートコントロール102は、定期的にアクティブ動作状態に遷移して、被制御デバイス104からフィードバックを受信し、ユーザが有効なジェスチャー入力を与えているかどうかを決定し得る。リモートコントロール102は、この受信されたフィードバックを使用して、ジェスチャー入力動作モードが続いているかどうか、またはユーザがジェスチャー入力を与えることを停止したかどうか(たとえば、ユーザがリモートコントロール102を使用することを停止したかどうか)を決定し得る。リモートコントロール102は、受信されたフィードバックを使用して、ジェスチャー入力動作モードを終了し、センサーの電源を切り、センサー情報を被制御デバイス104に送信することを停止するかどうかを決定することができる。
[00133]図9の例を参照すると、リモートコントロール102は、センサー情報の第1のセットを含む第1のコマンドメッセージ908を被制御デバイス104に送信する。リモートコントロール102は、被制御デバイス104から肯定応答メッセージ910を受信する。リモートコントロール102は、スリープ時間間隔912の間に、アクティブ動作状態からスリープ動作状態に遷移する。上で説明されているように、スリープ動作状態は、アクティブ動作状態と非アクティブ動作状態との間の中間の低電力動作状態とすることができる。スリープ動作状態からアクティブ動作状態に遷移することに関連付けられている遷移時間および/または電力消費)は、非アクティブ動作状態からアクティブ動作状態に遷移することに関連付けられている遷移時間(および/または電力消費)よりも小さいものとしてよい。図9において、非アクティブ動作状態およびスリープ動作状態は、陰影を付けたブロックを使用して図示されている。非アクティブ動作状態は、スリープ動作状態に比べて高くなっているブロックを使用して図示されている。スリープ時間間隔912が経過した後、リモートコントロール102は、時間間隔914においてスリープ動作状態からアクティブ動作状態に遷移する。たとえば、時間間隔914において、リモートコントロール102は、リモートコントロール102の処理コンポーネントおよび/または通信コンポーネントを電源オンまたはアクティブ化し得る。リモートコントロール102は、WLAN通信プロトコルに従って時間間隔916においてチャネルアクセスを求めて競合する。リモートコントロール102は、時間間隔916においてチャネルアクセスを求めて競合している間にアクティブ動作状態に構成され得る。リモートコントロール102は、センサー情報の第2のセットを含む第2のコマンドメッセージ918を生成し、第2のコマンドメッセージ918を被制御デバイス104に送信する。リモートコントロール102が第1のコマンドメッセージ908を送信してから第2のコマンドメッセージ918までの時間間隔は、パケット間時間間隔938と称される。
[00134]リモートコントロール102は、第2のコマンドメッセージ918を送信したことに応答して被制御デバイス104から肯定応答メッセージ920を受信する。上で説明されているように、肯定応答メッセージ920を受信した後、リモートコントロール102は、スリープ時間間隔922の間に、アクティブ動作状態からスリープ動作状態に遷移する。スリープ時間間隔922が経過した後、リモートコントロール102は、時間間隔924においてスリープ動作状態からアクティブ動作状態に遷移する。次いで、リモートコントロール102は、センサー情報の次のセットを含む次のコマンドメッセージを送信する。より一般的に、リモートコントロール102は、定期的にセンサー情報の現在のセットを含むコマンドメッセージを送信し、スリープ時間間隔の間にスリープ動作状態に遷移し、アクティブ動作状態に遷移してセンサー情報の次のセットを送信する。リモートコントロール102は、センサー情報の現在のセットを送信してからセンサー情報の次のセットを送信するまでの間にパケット間時間間隔938が維持されることを確実にし得る。
[00135]リモートコントロール102は、ユーザが有効なジェスチャー入力を与えているかどうかを決定することができないので、リモートコントロール102は、被制御デバイス104に頼って、ユーザがジェスチャー入力を与えているかどうかと、リモートコントロール102がジェスチャー入力動作モードに留まっているべきかどうかを指示し得る。たとえば、受信されたセンサー情報を処理することに基づき、被制御デバイス104は、ユーザが有効なジェスチャー入力を与えているかどうか、またはユーザがリモートコントロール102を使用することを停止したかどうかを決定することができる。いくつかの実施形態において、リモートコントロール102は、被制御デバイス104からジェスチャーフィードバックを受信するためにリモートコントロール102がアクティブ動作状態にいつおよびどれだけの間留まるかを(センサー情報含むコマンドメッセージの一部として)指示することができる。ジェスチャーフィードバックは、リモートコントロール102がジェスチャー入力動作モードに留まるべきかどうか、またはリモートコントロール102が非アクティブ動作状態に遷移すべきかどうかを指示することができる。図9の例を参照すると、リモートコントロール102は、センサー情報の次のセットを含むコマンドメッセージ926およびジェスチャーフィードバック要求を送信することができる。いくつかの実施形態において、ジェスチャーフィードバック要求は、リモートコントロール102がアクティブ動作状態にどれだけの間留まるかを指示することができる。しかしながら、他の実施形態では、ジェスチャーフィードバック要求は、リモートコントロール102がアクティブ動作状態にどれだけの間留まるかを指示し得ない。この実施形態において、リモートコントロール102は、それが被制御デバイス104からジェスチャーフィードバックを受信するまで、または事前定義された時間間隔が経過するまで、アクティブ動作状態に留まり得る。被制御デバイス104は、ジェスチャーフィードバック要求を含むコマンドメッセージ926を受信し、肯定応答メッセージ928を送信する。肯定応答メッセージ928を受信したことに応答して、リモートコントロール102は、被制御デバイス104からジェスチャーフィードバックを受信することを予想してアクティブ動作状態に留まる(時間間隔930において)。被制御デバイス104は、リモートコントロール102によって指定された時間間隔930においてジェスチャーフィードバック932(FB)を送信することができる。ジェスチャーフィードバックは、リモートコントロール102がジェスチャー入力動作モードに留まるべきかどうかと、リモートコントロール102がセンサー情報を被制御デバイス104に定期的に送信し続けるべきかどうかを指示することができる。
[00136]リモートコントロール102は、ジェスチャーフィードバック932を受信したことに応答して肯定応答メッセージ934を被制御デバイス104に送信することができる。リモートコントロール102は、ジェスチャーフィードバックを分析し、ジェスチャー入力動作モードに留まるかどうかを決定することができる。図9の例では、受信されたジェスチャーフィードバック932に基づき、リモートコントロール102は、ユーザがもはやジェスチャー入力を与えていないと決定する。したがって、肯定応答メッセージ934を送信した後、リモートコントロール102は、非アクティブ動作状態に遷移する(時間間隔936)。
[00137]いくつかの実施形態において、図9を参照しつつ上で説明されているように、リモートコントロール102は、ジェスチャーフィードバック要求を送信し、所定の数のコマンドメッセージ(およびセンサー情報)が送信された後にアクティブ動作状態に留まることができる。別の実施形態では、各コマンドメッセージ(すなわち、センサー情報の各セット)が被制御デバイス104に送信された後、リモートコントロール102は、被制御デバイス104からジェスチャーフィードバックを受信することを予想して所定の時間間隔の間アクティブ動作状態に留まり得る。
[00138]図9ではリモートコントロール102がジェスチャーフィードバック要求を送信し、被制御デバイス104がいつジェスチャーフィードバックを送信すべきかを指示することを説明しているけれども、実施形態はそれに限定されない。いくつかの実施形態において、被制御デバイス104は、ジェスチャーフィードバックを受信するためにリモートコントロール102がアクティブ動作状態にいつどれだけの間留まるかについて予め知っているものとしてよい。この実施形態では、リモートコントロール102は、ジェスチャーフィードバックを被制御デバイス104に送信し得ない。その代わりに、被制御デバイス104は、所定の定期的時間間隔でジェスチャーフィードバックをリモートコントロール102に自動的に送信し得る。別の実施形態では、被制御デバイス104は、定期的間隔でジェスチャーフィードバックを送信し得ない。その代わりに、被制御デバイス104が、ユーザがリモートコントロール102を使用することを停止したと決定したときに、被制御デバイス104は、リモートコントロール102がジェスチャー入力動作モードを終了すべきであることを(たとえば、肯定応答メッセージで)指示することができる。別の実施形態では、被制御デバイス104は、被制御デバイス104がジェスチャーフィードバックをリモートコントロール102にいつ送信するかを指示し得る。さらに、リモートコントロール102が、ジェスチャー入力動作モードに留まるべきかどうかを指示することに加えて、被制御デバイス104は、リモートコントロール102がセンサー情報を被制御デバイス104にどれだけの頻度で送信すべきかと、リモートコントロール102が被制御デバイス104からジェスチャーフィードバックをどれだけの頻度で待ち受けるべきかとを指示することもできる。いくつかの実施形態において、ジェスチャーフィードバックは、上ですでに説明されているように、被制御デバイス104の動作状態フィードバックも含むことができる。
[00139]上で説明されているように、ユーザがジェスチャー入力を与える時間間隔は、センサー情報の複数のセットの送信を包含し得る。被制御デバイス104は、センサー情報の複数のセットを評価することに基づきジェスチャー入力をする推論し得る。したがって、いくつかの実施形態では、センサー情報の連続するセット間の相違はほとんどないか、または全くあり得ない。センサー情報の各セットは、ビット、シンボル、サンプル、または別の好適な情報単位に関して表され得る。いくつかの実施形態において、リモートコントロール102は、実質的に一意的なセンサー情報を被制御デバイス104に送信することのみによって電力を節約するように構成され得る。たとえば、リモートコントロール102は、センサー情報の第1のセットを含む第1のコマンドメッセージを送信し得る。センサー情報の第2のセットを受信した後に、リモートコントロール102は、センサー情報の第2のセットがセンサー情報の第1のセットと実質的に異なるかどうかを決定し得る。たとえば、リモートコントロール102は、センサー情報の第1のセットとセンサー情報の第2のセットとの間の差がセンサー閾値より小さいかどうかを決定し得る。別の例として、リモートコントロール102は、センサー情報の第1のセットに対応するデータサンプルの第1のセットとセンサー情報の第2のセットに対応するデータサンプルの第2のセットとの間の差がセンサー閾値より小さいかどうかを決定し得る。別の例として、リモートコントロール102は、センサー情報の第1のセットとセンサー情報の第2のセットとの間の相関が相関閾値を超えるかどうかを決定し得る。この差がセンサー閾値よりも小さい場合、またはこの相関が相関閾値を超える場合、リモートコントロール102は、センサー情報の第2のセットがセンサー情報の第1のセットとほぼ同じであると決定することができる。したがって、リモートコントロール102は、センサー情報の第2のセットを被制御デバイス104に送信し得ない。しかしながら、センサー情報の第1のセットとセンサー情報の第2のセットとの間の差が、センサー閾値以上である場合、または相関が相関閾値を超えない場合に、リモートコントロール102は、センサー情報の第2のセットを被制御デバイス104に送信し得る。したがって、リモートコントロール102は、ジェスチャー入力動作モードで送信された送信回数とセンサー情報の量とを最小にすることができる。
[00140]いくつかの実施形態において、被制御デバイス104の入力処理ユニット116(たとえば、ジェスチャー処理アプリケーション)は、ジェスチャー入力動作モードが開始された後センサー情報を定期的に受信するように構成され得る。入力処理ユニット116は、センサー情報を解釈し、被制御デバイス104の表示ユニット上に結果として得られる出力を提示する(たとえば、要素を選択する、マウスポインタを移動する、など)ことを行い得る。入力処理ユニット116は、センサー情報が適切な時刻に受信されない場合にエラーメッセージを生成し得る。上で説明されているように、センサー情報の第2のセットがセンサー情報の第1のセットとほぼ同じである場合、リモートコントロール102は、センサー情報の第2のセットを送信し得ない。被制御デバイス104のWLAN通信ユニット112が、リモートコントロール102から現在のセンサー情報を受信しない場合、WLAN通信ユニット112は、現在のセンサー情報が前のセンサー情報とほぼ同じであると推論することができる。その結果、入力処理ユニット116の誤りのない動作に対して、WLAN通信ユニット112は、2回目に対する前のセンサー情報を入力処理ユニット116に提供することができる。いくつかの実施形態において、WLAN通信ユニット112は、所定のレベルのコンフォートノイズを前のセンサー情報に追加することによって現在のセンサー情報を生成することができる。これは、入力処理ユニット116が、前のセンサー情報と異なる現在のセンサー情報を受信することを確実にすることができる。
[00141]WLAN通信プロトコルは、典型的には、WLAN対応ネットワークデバイスが別のWLAN対応ネットワークデバイスへの通信をどのよう伝送することができるかを指示する様々な変調符号化方式(MCS)レベルを指示する。各MCSレベルは、スループットと信頼性との間の異なるトレードオフの関係を表す。典型的には、より高いスループットレベル(たとえば、より高いデータ伝送速度)は、より低い信頼性レベルに付随し、またその逆も言える。コマンドメッセージを被制御デバイス104に送信することを決定したことに応答して、リモートコントロール102は、リモートコントロール102のエネルギー消費量を最小にし、スループットを最大にする初期MCSレベルを選択することができる。初期MCSレベルは、被制御デバイス104からの動作状態フィードバック、リモートコントロール102の受信信号強度情報(RSSI)(被制御デバイス104によって提供される)、および/または他の好適なファクターに基づき選択され得る。代替的に、リモートコントロール102によって使用される初期MCSは、被制御デバイス104からの入力に基づき選択され得る。
[00142]所定の回数の再送試行の失敗の後、リモートコントロール102は、伝送信頼性を最適化する第2のMCSレベルを選択することができる。リモートコントロール102は、第2のMCSレベルを使用してコマンドメッセージを被制御デバイス104に再送することを試みることができる。いくつかの実施形態において、第2のMCSレベルでコマンドメッセージを再送することが失敗した場合、リモートコントロール102は、コマンドメッセージを再送するために第3のMCSレベルを選択することができる。他の実施形態では、第2のMCSレベルでコマンドメッセージを再送することが、所定の再送間隔の間、または所定の再送試行回数に対して失敗である場合、リモートコントロール102は、図3〜図4を参照しつつ上で説明されているように、(チャネルスキャンシーケンスからの)次の通信チャネルに切り替わり、次の通信チャネル上で被制御デバイス104を特定することを試みることができる。異なるMCSレベルでコマンドメッセージを再送するための動作は、図10にさらに示されている。
[00143]図10は、被制御デバイスと通信するために送信パラメータを変化せせるWLAN対応リモートコントロールの例示的な動作を示すタイミング図である。図10において、タイミング図1000は、リモートコントロール102の動作を図示し、タイミング図1050は、被制御デバイス104の動作を図示する。ユーザ入力がない間、リモートコントロール102は、非アクティブ動作状態に構成されている(時間間隔1002)。ユーザ入力を検出したことに応答して、時間間隔1004において、リモートコントロール102は、非アクティブ動作状態からアクティブ動作状態に遷移する。リモートコントロール102は、リモートコントロールの仮想/物理的ボタンのアクティブ化、音声コマンド、ジェスチャーコマンドなどの、他の好適なユーザ入力に応答してアクティブ動作状態に遷移し得る。
[00144]リモートコントロール102の入力処理ユニット110は、リモートコントロール102でユーザ入力を検出したことに応答してコマンドメッセージ(CMD)1006Aを生成する。リモートコントロール102のWLAN通信ユニット108は、コマンドメッセージ1006Aを被制御デバイス104に送信する。しかしながら、タイミング図1050に図示されているように、被制御デバイス104は、スリープ動作状態とアクティブ動作状態との間で定期的遷移を行う。図10の例では、被制御デバイス104は、リモートコントロール102がコマンドメッセージ1006Aを送信するときに、スリープ間隔1008においてスリープ動作状態に構成されている。したがって、被制御デバイス104は、コマンドメッセージ1006Aを受信せず、対応する肯定応答メッセージを送信しない。リモートコントロール102が、所定の肯定応答時間間隔内で肯定応答メッセージを受信しない場合、WLAN通信ユニット108は、所定のコマンド繰り返し間隔1010でコマンドメッセージを再送することができる。
[00145]図10に示されているように、リモートコントロール102は、被制御デバイス104がスリープ動作状態に構成されている間に(スリープ間隔1008において)コマンドメッセージ1006B、1006C、および1006Dを被制御デバイス104に再送する。スリープ間隔1008が経過した後、被制御デバイス104は、アクティブ間隔1012の間にアクティブ動作状態に遷移する。リモートコントロール102は、被制御デバイス104がアクティブ間隔1012においてアクティブ動作状態に構成されている間にコマンドメッセージ1006E、1006F、および1006Gを再送し続ける。リモートコントロール102は、被制御デバイス104が次のスリープ間隔1014においてスリープ動作状態に構成されている間にコマンドメッセージ1006Hを送信する。しかしながら、いくつかの実装では、被制御デバイス104は、メッセージ1006E、1006F、1006G、および1006Hのうちのどれかを受信し肯定応答することをしない。図10では、メッセージ1006A〜1006Hは、第1のMCSレベルを使用して送信される。いくつかの実装では、アクティブ間隔1012において送信されるコマンドメッセージ1006E、1006F、および1006Gは、被制御デバイス104が、第1のMCSレベルを使用するメッセージを確実に受信することができない場合に被制御デバイス104(「X」を使用して示されている)によって受信されることに成功し得ない。所定の再送時間間隔1016が経過した後(または所定の回数の再送試行が失敗した後)、リモートコントロール102は、第2のMCSレベルを選択し(上で説明されているように)、コマンドメッセージ1006I、1006J、1006K、および1006Lで第2のMCSレベルを使用してユーザ入力を再送することを開始する。第2のMCSレベルを使用して送信されるメッセージ1006I〜1006Lも、埋め込まれた動作状態フィードバック要求を含み得る。図10において、第2のMCSレベルを使用して送信され、動作状態フィードバック要求を含むメッセージ1006I〜1006Lは、斜め線を使用して示されている。
[00146]図10の例において、リモートコントロール102は、被制御デバイス104がスリープ間隔1014においてスリープ動作状態に構成されている間にコマンドメッセージ1006I、1006J、および1006Kを送信する。スリープ間隔1014が経過した後、被制御デバイス104は、アクティブ動作状態に遷移する。リモートコントロール102は、被制御デバイス104がアクティブ動作状態に構成されている間にコマンドメッセージ1006Lを送信する。被制御デバイス104は、再送されたコマンドメッセージ1016Lを受信し、肯定応答メッセージ1018をリモートコントロール102に送信する。上で説明されているように、リモートコントロール102がユーザ入力を検出してから被制御デバイス104がユーザ入力を受信し肯定応答するまでの間の時間間隔は、ウェイクアップ待ち時間1020である。
[00147]コマンドメッセージ1006Lは、動作状態フィードバック要求を含んでいたので、被制御デバイス104は、動作状態フィードバック(FB)1022をリモートコントロール102に送信する。図10の例では、被制御デバイス104は、肯定応答メッセージ1018を送信した後に動作状態フィードバック1022をリモートコントロール102に送信する。肯定応答メッセージ1018を受信したことに応答して、リモートコントロール102は、被制御デバイス104から動作状態フィードバック1022を受信するためにアクティブ動作状態に留まる。しかしながら、他の実施形態では、被制御デバイス104は、肯定応答メッセージ1018の一部として動作状態フィードバックを送信し得る。動作状態フィードバック1022を受信した後に、リモートコントロール102は、肯定応答メッセージ1024を被制御デバイス104に送信する。リモートコントロール102は、スリープ間隔1026の間に、アクティブ動作状態からスリープ動作状態に遷移する。上で説明されているように、リモートコントロール102は、スリープ間隔1026が経過した後にスリープ動作状態から非アクティブ動作状態に遷移する。リモートコントロール102は、リモートコントロール102が別のユーザ入力を検出するまで非アクティブ動作状態(時間間隔1028として示されている)に留まり得る。いくつかの実施形態において、図11でさらに説明されるように、リモートコントロール102は、被制御デバイス104を特定するためにMCSレベルと通信チャネルの両方を変化させ得る。
[00148]いくつかの実施形態において、被制御デバイス104は、第1のMCSレベルを使用して送信されたコマンドメッセージ1006E、1006F、および1006Gのうちの1つを受信し肯定応答することを行い得る。この実施形態では、リモートコントロール102は、第1のMCSレベルを使用してその後のメッセージ(たとえば、動作状態フィードバック要求メッセージ、第2のコマンドメッセージ、など)を送信し得る。リモートコントロール102は、被制御デバイス104が第1のMCSレベルを使用してメッセージを受信することに成功し得る場合に第2のMCSレベルには切り替わり得ない。
[00149]図11は、被制御デバイスの動作通信チャネルを識別するためのリモートコントロールの例示的な動作を示すタイミング図1100である。図11は、時間に対するWLAN通信チャネルのグラフを示している。ユーザ入力がない間、リモートコントロール102は、非アクティブ動作状態に構成されている(時間間隔1102)。ユーザ入力を検出したことに応答して、時間間隔1104において、リモートコントロール102は、非アクティブ動作状態からアクティブ動作状態に遷移する。
[00150]リモートコントロール102の入力処理ユニット110は、リモートコントロール102でユーザ入力を検出したことに応答してコマンドメッセージ1106Aを生成する。リモートコントロール102のWLAN通信ユニット108は、コマンドメッセージ(CMD)1106Aを被制御デバイス104に送信する。しかしながら、被制御デバイス104は、たとえば、被制御デバイス104が異なる通信チャネル上で動作している、スリープ動作状態に構成されている、などの場合に、コマンドメッセージを受信し得ない。図11の例では、被制御デバイス104は、コマンドメッセージ1106Aを受信せず、対応する肯定応答メッセージを送信しない。WLAN通信ユニット108が、所定の肯定応答時間間隔内で肯定応答メッセージを受信しない場合、WLAN通信ユニット108は、以下でさらに説明されるように、他の好適な送信パラメータ(たとえば、異なるMCSレベル、異なる通信チャネル、など)を使用してコマンドメッセージを再送することができる。図11では、リモートコントロール102は、第1のMCSレベルを使用し、第1の通信チャネル(CH_Aとして示されている)を介して、元のコマンドメッセージ1106Aと再送されたメッセージ1106Bおよび1106Cとを送信する。所定の再送時間間隔が経過した後または所定の回数の再送試行が失敗した後、リモートコントロール102は、第2のMCSレベルを選択し、第2のMCSレベルを使用して第1の通信チャネル上でコマンドメッセージを再送する。図11の例では、リモートコントロール102は、第2のMCSレベルを使用して第1の通信チャネル上でコマンドメッセージ1106D、1106E、および1106Fを送信する。いくつかの実施形態において、コマンドメッセージ1106D、1106E、および1106Fは、埋め込まれた動作状態フィードバック要求も含み得る。図11では、第2のMCSレベルを使用して送信されたコマンドメッセージ1106D、1106E、および1106Fは、斜め線を使用して示されている。
[00151]所定のチャネルサーチ期間1108が経過した後、リモートコントロール102は、次の通信チャネルを選択する。チャネルサーチ期間1108は、リモートコントロール102が特定の通信チャネル上で被制御デバイス104を特定することを試みる時間間隔を指すものとしてよい。チャネルサーチ期間1108は、被制御デバイス104のアクティブ間隔とスリープ間隔とに少なくとも一部は基づき決定され得る。次の通信チャネルは、チャネルスキャンシーケンス(図3〜図4において上で説明されている)に少なくとも一部は基づき決定され得る。図11では、第1の通信チャネルに対するチャネルサーチ期間1108が経過した後、リモートコントロール102は、第2のWLAN通信チャネル(CH_Bとして示されている)を介してコマンドメッセージを再送する。リモートコントロール102は、第2の通信チャネルを介して、コマンドメッセージ1106G、1106H、などを送信する。いくつかの実施形態において、図11に示されているように、リモートコントロール102は、第2のMCSレベルを使用してコマンドメッセージ1106G、1106Hを送信し得る。しかしながら、他の実施形態では、リモートコントロール102は、上で説明されているように、第1のMCSレベルを使用して第2の通信チャネル上でいくつかのコマンドメッセージを送信し得、第2のMCSレベルを使用して第2の通信チャネル上で残りのコマンドメッセージを送信し得る。さらに別の実施形態では、リモートコントロール102は、第2のMCSレベルを使用して第2の通信チャネル上でいくつかのコマンドメッセージを送信し得、第3のMCSレベルを使用して第2の通信チャネル上で残りのコマンドメッセージを送信し得、というように続け得る。
[00152]図11の例では、所定のコマンド失効時間1110が経過した後、リモートコントロール102は、ユーザ入力は「陳腐化」しており、もはや有効でないと決定する。したがって、コマンド失効時間1110が経過した後、リモートコントロール102は、ユーザ入力を被制御デバイス104に再送することを停止する。その代わりに、図11に示されているように、リモートコントロール102は、動作状態フィードバック要求(REQ)1112Aを被制御デバイス104に送信することのみを行う。リモートコントロール102は、第2の通信チャネル上で複数回動作状態フィードバック要求を再送し得る(メッセージ1112A...1112Bで示されている)。第2の通信チャネルに対するチャネルサーチ期間1118が経過した後、リモートコントロール102は、第3の通信チャネルに切り替わり、リモートコントロール102が被制御デバイス104から動作状態フィードバックを受信するまで、または第3の通信チャネルに対するチャネルサーチ期間が経過するまで動作状態フィードバック要求を再送することができる。通信チャネルの各々に対するチャネルサーチ期間は、異なることも、同じであることもあり得る。
[00153]図11の例では、リモートコントロール102は、n番目の通信チャネル(CH_Nで示されている)上で動作状態フィードバック要求112Cおよび1112Dを送信する。n番目の通信チャネルに対するチャネルサーチ期間が経過した後、リモートコントロール102は、被制御デバイス104が動作する可能性の高いすべての通信チャネルをそれがスキャンしたと決定する。たとえば、リモートコントロール102は、チャネルスキャンシーケンスで指示されているすべての通信チャネルをそれがスキャンしたと決定し得る。したがって、動作状態フィードバック要求1112Dを送信するのに失敗した後、およびn番目の通信チャネルに対するチャネルサーチ期間が経過した後、リモートコントロール102は、アクティブ動作状態からスリープ動作状態に遷移することができる。リモートコントロール102は、スリープ間隔1114の間、スリープ動作状態に留まることができる。上で説明されているように、リモートコントロール102は、スリープ間隔1114が経過した後にスリープ動作状態から非アクティブ動作状態に遷移する。リモートコントロール102は、リモートコントロール102が別のユーザ入力を検出するまで非アクティブ動作状態(時間間隔1116として示されている)に留まり得る。代替的実施形態では、リモートコントロール102は、フレーム1112Dを送信したことに応答して非アクティブの動作状態1116に遷移し得る。
[00154]図12は、リモートコントロールを検出するための被制御デバイスの例示的な動作を示すタイミング図である。図12において、タイミング図1200は、リモートコントロール102の動作を図示し、タイミング図1250は、被制御デバイス104の動作を図示する。リモートコントロール102は、スリープ動作状態とアクティブ動作状態との間で定期的に遷移する。同様に、被制御デバイス104は、スリープ動作状態とアクティブ動作状態との間で定期的に遷移する。タイミング図1250に図示されているように、被制御デバイス104は、スリープ間隔1202においてスリープ動作状態に構成される。スリープ動作状態に構成されている間に、ユーザは、被制御デバイス104がリモートコントロール102を特定することを引き起こす入力1230を与える。たとえば、ユーザは、被制御デバイス104上の「find remote control」ボタンをアクティブ化し得る。ユーザ入力1230に応答して、被制御デバイス104は、時間間隔1204においてスリープ動作状態からアクティブ動作状態に遷移する。たとえば、時間間隔1204において、被制御デバイス102は、被制御デバイス104の処理コンポーネントおよび/または通信コンポーネントを電源オンまたはアクティブ化し得る。被制御デバイス104は、リモートコントロール102がその存在をユーザに対して指示すべきであるという要求を含むコマンドメッセージ(CMD)1206Aを生成する。
[00155]被制御デバイス104は、コマンドメッセージ1206Aをリモートコントロール102に送信する。たとえば、被制御デバイス104は、リモートコントロール102と通信するために最後に使用された通信チャネル上でコマンドメッセージ1206Aを送信し得る。しかしながら、タイミング図1200に図示されているように、リモートコントロール102は、スリープ動作状態とアクティブ動作状態との間で定期的遷移を行う。たとえば、リモートコントロール102は、スリープ間隔1212においてスリープ動作状態に構成され、時間間隔1214においてスリープ動作状態からアクティブ動作状態に遷移し、アクティブ間隔1216においてアクティブ動作状態で動作する。アクティブ間隔1216が経過した後、リモートコントロール102は、スリープ間隔1218の間にスリープ動作状態に遷移する。被制御デバイス104は、コマンドメッセージ1206Aと再送されたメッセージ1206B、1206C、および1206Dとをリモートコントロール102に送信することを試み、その一方で、リモートコントロール102は、スリープ動作状態に構成されている(スリープ間隔1218において)。上で説明されているように、被制御デバイス104は、所定のコマンド繰り返し間隔1210ごとにコマンドメッセージを再送し得る。スリープ間隔1218が経過した後、リモートコントロール102は、時間間隔1220においてスリープ動作状態からアクティブ動作状態に遷移し、アクティブ間隔1222においてアクティブ動作状態で動作する。コマンドメッセージ1206Eの被制御デバイスの送信は、リモートコントロール102のアクティブ間隔1222内で行われる。リモートコントロール102は、コマンドメッセージ1206Eを受信し、肯定応答メッセージ1224を被制御デバイス104に送信する。それに加えて、リモートコントロール102は、ユーザがリモートコントロール102を特定することができるようにその存在をユーザに指示することもできる。たとえば、リモートコントロール102は、リモートコントロール102内に組み込まれている光源(たとえば、LED)をアクティブ化する、触覚フィードバックを返す(たとえば、リモートコントロール102を振動させる)、オーディオフィードバックを返す、などの動作を行うことができる。アクティブ間隔1222が経過した後、リモートコントロール102は、スリープ間隔1226の間にスリープ動作状態に遷移することができる。同様に、リモートコントロール102から肯定応答メッセージ1224を受信した後、被制御デバイス104は、スリープ時間間隔1208の間に、スリープ動作状態に遷移することができる。
[00156]図13〜図15は、本開示の様々な実施形態による様々な例示的な状態と動作とを説明する状態図である。状態図は、リモートコントロールまたは被制御デバイス上に実装され得る様々な動作状態、遷移、または条件の非限定的な例である。状態図は、状態機械(state machine)、機械可読媒体上に具現化される命令、ハードウェア、ソフトウェア、または同様のものとして実装されることは理解されるであろう。いくつかの実施形態において、装置は、図13〜図15で説明されている状態、遷移、または条件を実装するように構成された命令を実行する1つまたは複数のプロセッサを備えることができる。
[00157]図13は、リモートコントロール(たとえば、リモートコントロール102)によって実行される例示的な動作を示す状態図である。リモートコントロールは、ペアリングされていない動作状態1302で開始し得る。リモートコントロールは、リモートコントロールと被制御デバイスとの間のペアリングプロセスが正常に完了した後にペアリングされた動作状態1304に遷移し得る(遷移1303によって示される)。リモートコントロールが、被制御デバイスとのペアリングが喪失したとローカルで決定した場合、リモートコントロールは、ペアリングされていない動作状態1302に遷移し得る(遷移1305によって示される)。いくつかの実施形態において、リモートコントロールは、好適なユーザ入力に応答してペアリングされていない状態1302に遷移し得る(遷移1305によって示されている)。代替的に、リモートコントロールは、リモートコントロールが上で説明されているようなチャネルスキャンシーケンスで指示されている通信チャネル上の被制御デバイスを特定しようとして失敗した後にペアリングされていない状態に遷移し得る。さらに、リモートコントロールは、リモートコントロールがリセットされるか、またはリスタートされるときにペアリングされていない動作状態1302で動作し得る(遷移1306によって示される)。
[00158]図14は、リモートコントロール(たとえば、リモートコントロール102)の例示的な電力状態動作を示す状態図である。リモートコントロールは、リモートコントロールがペアリングされた動作状態で動作しているときに図14で説明されている動作を実行し得る。リモートコントロールは、非アクティブ動作状態1402で開始し得る。ボタン押下などの、リモートコントロール(RC)イベント1404を受信したことに応答して、リモートコントロールは、リストア動作状態(restore operating state)1406と整定動作状態(settle operating state)1408とに遷移し得る。整定状態(settling state)1408の後、リモートコントロールは、アクティブ待ち受け動作状態1410に遷移し得る(遷移1412によって示される)。コマンドが送信のために利用可能である場合、リモートコントロールは、状態1416でコマンドを被制御デバイスに送信する(遷移1414によって示されている)ことを試み得る。リモートコントロールは、リモートコントロールが被制御デバイスから層2肯定応答メッセージを受信するか(遷移1420によって示されている)、またはチャネルサーチ時間間隔が経過するか(遷移1422によって示されている)、またはコマンド送信するための時間間隔が経過する(遷移1424によって示されている)までコマンド送信するために状態1416に留まり得る(ループ1418によって示されている)。
[00159]チャネルサーチ時間間隔が経過した場合(1422)、リモートコントロールは、チャネルスキャンリスト上の次の通信チャネルに切り替わり、次の通信チャネル上で動作することを開始することができる(状態1426)。次いで、リモートコントロールは、状態1426から状態1416への遷移1428によって示されているように、次の通信チャネル上でコマンドを再送することを試みることができる。
[00160]層2肯定応答メッセージ1420を受信したことに応答して、リモートコントロールは、リモートコントロールが上位層肯定応答メッセージを受信することを予期しているかどうかを決定することができる(状態1430)。リモートコントロールが、上位層肯定応答を受信することを予期している場合(遷移1432を参照)、リモートコントロールは、アクティブ待ち受け動作状態1410に遷移し、上位層肯定応答メッセージ(UL_ACK)が状態1434で受信されるか、または新しいコマンドが送信に利用可能になるか(遷移1414を参照)、または最大上位層待ち時間時間間隔が経過するまで(状態1442への遷移1440を参照)、アクティブ待ち受け動作状態1410に留まることができる。状態1434において、上位層肯定応答メッセージが受信された場合、リモートコントロールは、次のコマンドが送信されるようにスケジュールされる前の残り時間を推測し得る(状態1434から状態1442への遷移1436を参照)。
[00161]リモートコントロールが、上位層肯定応答メッセージを受信するようにスケジュールされていない場合(1438から状態1430への遷移)、または上位層肯定応答メッセージを受信するための時間間隔が経過した場合(遷移1440)、リモートコントロールは、次のコマンドが送信されるようにスケジュールされる前の残り時間を推測する。状態1442において、リモートコントロールは、残り時間と所定の閾値とを比較する。次のコマンドが送信される前の残り時間が、所定の閾値より大きい場合、リモートコントロールは、遷移1444を介してスリープ動作状態1446に遷移する。しかしながら、次のコマンドが送信される前の残り時間が、所定の閾値より大きい場合、リモートコントロールは、遷移1448を介して、ほかの状態に遷移し、それはアクティブ待ち受け動作状態1410に戻る。
[00162]スリープタイムアウト間隔が経過した後、リモートコントロールは、スリープ動作状態1446から非アクティブ動作状態1402に遷移し、これは遷移1450によって示されている。スリープ動作状態1446から非アクティブ動作状態1402への遷移は、リモートコントロールの「サスペンド」動作への遷移とも称され得る。リモートコントロールが、スリープタイムアウト間隔が経過する前に新しいRCイベント(たとえば、ボタン押下)を検出した場合、リモートコントロールは、スリープ動作状態1446から整定動作状態1408に遷移し、これは遷移1452によって示されている。さらに、リモートコントロールは、リモートコントロールがリセットされるか、またはリスタートされるときに非アクティブ動作状態1402で動作し得る(遷移1454によって示される)。
[00163]図15は、被制御デバイス(たとえば、被制御デバイス104)の例示的な電力状態動作を示す状態図である。いくつかの実施形態において、スタンバイ動作モードに入っている間、被制御デバイスのWLANモジュールは、中間のスリープ動作状態とアクティブ動作状態との間で振動し得る。被制御デバイスは、スリープ動作状態とアクティブ動作状態との間で遷移し、リモートコントロールから送信されるコマンドへの応答性を維持しながら被制御デバイスのスタンバイ電力消費量を低減し得る。
[00164]被制御デバイスは、非アクティブ動作状態1510から開始し得る。さらに、被制御デバイスは、被制御デバイスがリセットされるか、またはリスタートされるときに非アクティブ動作状態1510で動作し得る(遷移1570によって示される)。定期的タイマーイベント1515を検出したことに応答して(たとえば、スリープサイクルの完了に応答して)、被制御デバイスは、リストア動作状態1520と整定動作状態1530を通って遷移し得る。次いで、被制御デバイスは、アクティブ待ち受け動作状態1540に遷移し得る。被制御デバイスは、被制御デバイスがパケットを検出するのを待つ所定の時間間隔(たとえば、RC存在時間間隔)の間、アクティブ待ち受け動作状態1540に留まり得る。パケットが検出された場合、被制御デバイスは受信動作状態1550に遷移し得る(遷移1545によって示されている)。パケットを受信した後、被制御デバイスは、受信動作状態1550からアクティブ待ち受け動作状態1540に遷移し(遷移1555によって示されている)、受信されたパケットに少なくとも一部は基づき次の動作状態を決定する。
[00165]次の動作状態が、アクティブ待ち受け動作状態である場合、被制御デバイスは、所定の時間間隔(たとえば、RC存在時間間隔)をキャンセルし、アクティブ待ち受け動作状態1540に留まり得るが、これは遷移1560によって示される。アクティブ待ち受け動作状態1540では、被制御デバイスは、リモートコントロールからのその後のコマンド/メッセージを検出するのを待ち続け得る。
[00166]しかしながら、被制御デバイスが、アクティブ待ち受け動作状態1540に留まる指示を受信しない場合、被制御デバイスは、所定の時間間隔(たとえば、RC存在時間間隔)が経過するまでアクティブ待ち受け動作状態1540で(スタンバイ動作モードとしての)動作し得る。RC存在時間間隔が経過した後、被制御デバイスは、遷移1565を介して非アクティブ動作状態1510に遷移し得る。
[00167]図1〜図15は、実施形態の理解を助けることを意図された例であり、実施形態を制限する、または請求項の範囲を限定するために使用されるべきでないことは理解されるであろう。実施形態は、追加のコンポーネント、異なるコンポーネントを備えるものとしてよく、および/または追加の動作と、より少ない動作と、異なる順序の動作と、並列動作と、違った方法によるいくつかの動作とを実行し得る。たとえば、音声入力動作モードでは、リモートコントロール102および被制御デバイス104は、ジェスチャー入力動作モードのために図9において上で説明されているような類似の動作を実行することができる。リモートコントロール102は、音声サンプルを含むコマンドメッセージを被制御デバイス104に定期的に送信することができる。被制御デバイス104は、音声サンプルを処理し、適切な出力を提示することができる。さらに、被制御デバイス104は、ユーザが音声入力を行っているかどうかと、リモートコントロール102が音声入力動作モードに留まるべきかどうかとを指示するフィードバックをリモートコントロール102に提供することができる。さらに、リモートコントロール102は、現在の音声サンプルのセットが、前の音声サンプルのセットとほぼ同じかどうか(たとえば、ユーザが話していないときに)と、現在の音声サンプルのセットを被制御デバイス104に提供するかどうかとをさらに決定し得る。
[00168]図では、リモートコントロール102および被制御デバイス104がメッセージを送信し受信することを説明している。しかしながら、他の実施形態では、リモートコントロール102および被制御104は、パケット、フレーム、および/または他の好適なデータ単位を送信し受信し得る。パケット、フレーム、および/または別の好適なデータ単位は、ヘッダフィールド、ペイロードフィールド、および/または他の好適な数の、および種類のフィールドを含み得る。図1〜図15では、リモートコントロール102および/または互いにもしくは他のネットワークデバイスに接続する被制御デバイス104を参照している。「接続」という用語は、ネットワークデバイス間の物理的接続またはネットワークデバイス間の通信結合を指すものとしてよい(たとえば、有線もしくはワイヤレス通信媒体およびプロトコルを使用する)。それに加えて、「接続」という用語は、ネットワークデバイス間の直接的結合または1つもしくは複数の中間ネットワークデバイスを介したネットワークデバイス間の間接的結合を指すものとしてよい。
[00169]図は、被制御デバイス104が動作状態フィードバック要求を受信したことに応答して動作状態フィードバックをリモートコントロール102に送信することを説明しているけれども、実施形態はそれに限定されない。いくつかの実施形態において、動作状態フィードバック要求を受信したことに応答して、被制御デバイス104は、現在の動作状態フィードバックが最後に送信された動作状態フィードバックと同じであるかどうかを決定することができる。もしそうであれば、被制御デバイス104は、現在の動作状態フィードバックをリモートコントロール102に送信し得ない。その代わりに、被制御デバイス104は、現在の動作状態フィードバックが最後に送信された動作状態フィードバックと同じであることを指示する肯定応答メッセージをリモートコントロール102に送信し得る。他の実施形態では、被制御デバイス104は、現在の動作状態フィードバックが最後に送信された動作状態フィードバックと同じであることを指示するためにメッセージ内で別の好適なメッセージまたは好適な値を送信し得る。被制御デバイス104は、現在の動作状態フィードバックが最後に送信された動作状態フィードバックと異なる場合に現在の動作状態フィードバックを送信し得る。
[00170]いくつかの実施形態において、リモートコントロール102は、チャネルスキャンシーケンスで指示されているすべての通信チャネルをスキャンした後に被制御デバイス104を検出し得ない。たとえば、リモートコントロール102は、被制御デバイス104が抜かれている場合、リモートコントロール102が被制御デバイス104の通信範囲外にある場合、などにおいて被制御デバイス104を検出し得ない。したがって、リモートコントロール102は、リモートコントロール102が被制御デバイス104を検出することができないことと、ユーザがリモートコントロール102と被制御デバイス104との間でペアリング動作を再実行すべきであることとをユーザに通知することができる。他の実施形態では、リモートコントロール102は、リモートコントロール102が所定の数の連続するユーザ入力が被制御デバイス104に正常に送信され得なかった後に被制御デバイス104を検出することができないことをユーザに通知することができる。リモートコントロール102は、リモートコントロール102内に組み込まれている光源(たとえば、LED)をアクティブ化すること、触覚フィードバックを返すこと(たとえば、リモートコントロール102を振動させること)、オーディオフィードバックを返すこと、リモートコントロール102の表示ユニット上に通知を提示することなどによって被制御デバイス104とのペアリングを喪失したことをユーザに通知することができる。
[00171]いくつかの実施形態において、リモートコントロール102は、リモートコントロール102が被制御デバイス104との接続性を喪失する瀬戸際にあるかどうかを指示する機能を実装し得る。一実施形態において、リモートコントロール102は、リモートコントロール102と被制御デバイス104との間のワイヤレス通信リンクの性能測定(たとえば、RSSI、誤り率、など)を監視することができる。リモートコントロール102は、性能測定を性能閾値と比較して、性能測定が性能閾値に従っているかどうかを決定することができる。たとえば、リモートコントロール102は、性能測定が性能閾値よりも大きい/小さいかどうかを決定することができる。別の例として、リモートコントロール102は、性能測定が性能閾値所定のパーセンテージまたは所定の範囲内にあるかどうかを決定することができる。性能測定を閾値と比較することに基づき、リモートコントロール102は、ワイヤレス通信リンクに関するリンクステータスインジケータを提示するかどうかを決定することができる。リンクステータスインジケータは、リモートコントロール102が、被制御デバイス104のWLAN通信可能範囲の縁にあることを指示し得る。言い換えれば、リンクステータスインジケータは、リモートコントロール102が、被制御デバイス104への接続性を喪失する瀬戸際にあることをユーザに指示することができる。たとえば、リモートコントロール102は、RSSIがRSSI閾値よりも小さい場合にリンクステータスインジケータを提示することができる。別の例として、リモートコントロール102は、誤り率が誤り率閾値よりも大きい場合にリンクステータスインジケータを提示することができる。別の例として、リモートコントロール102は、RSSIが閾値RSSIのRSSI閾値よりも5%(または別の好適なパーセンテージ)小さい場合にリンクステータスインジケータを提示することができる。いくつかの実施形態において、リンクステータスインジケータは、リモートコントロール102に関連付けられている表示ユニット上に提示される通知であってもよい。別の実施形態では、リモートコントロール102は、光源(たとえば、発光ダイオードまたはLED)点滅させること、触覚フィードバック(たとえば、振動)を返すこと、オーディオフィードバックを返すこと、および/または他の好適なフィードバックを返すことによって、リモートコントロール102が被制御デバイス104への接続性を喪失することを指示するリンクステータスインジケータを提示し得る。ユーザは、リンクステータスインジケータを受信したことに応答して被制御デバイス104のWLAN通信可能範囲内でリモートコントロール102を移動し得る。
[00172]いくつかの実施形態において、リモートコントロール102は、リモートコントロール102が被制御デバイス104への接続性を喪失しない場合にユーザ入力を被制御デバイス104に送信し得る。いくつかの実施形態において、リモートコントロール102は、リモートコントロール102が被制御デバイス104への接続性を喪失することを指示するリンクステータスインジケータを提示した後にユーザ入力を被制御デバイス104に送信し得る。他の実施形態では、リモートコントロール102は、リモートコントロール102がWLAN通信可能範囲内にあり、被制御デバイス104への接続性を喪失しないことを確実にした後にユーザ入力を被制御デバイス104に送信し得る。この実施形態において、リモートコントロール102は、リモートコントロール102が被制御デバイス104への接続性を喪失しないと決定されるまでユーザ入力を被制御デバイス104に送信し得ない。
[00173]いくつかの実施形態において、被制御デバイス104は、リモートコントロール102が被制御デバイス104との接続性を喪失する瀬戸際にあるかどうかを決定し得る。被制御デバイス104は、リモートコントロール102と被制御デバイス104との間の通信リンクの性能測定を監視することができる。適切なときに、被制御デバイス104は、リモートコントロール102が被制御デバイス104への接続性を喪失する瀬戸際にあることを指示する通知を(たとえば、被制御デバイスを介して、リモートコントロール102を介して、など)行うことができる。いくつかの実施形態において、リモートコントロール102が、中間ネットワークデバイスを介して被制御デバイス104に接続する場合、リモートコントロール102、被制御デバイス104、および/または中間ネットワークデバイスは、リモートコントロール102と中間ネットワークデバイスとの間の通信リングの性能測定を監視することができる。上で説明されているように、リモートコントロール102と中間ネットワークデバイスとの間の通信リンクの性能測定が、性能閾値に従っていない場合、リモートコントロール102、被制御デバイス104、および/または中間ネットワークデバイスは、リモートコントロール102が中間ネットワークデバイスのWLAN通信可能範囲の縁にあることを知らせる通知を行うことができる。通知は、光源(たとえば、LED)をアクティブ化すること、触覚フィードバックを返すこと、オーディオフィードバックを返すこと、表示ユニット上に通知を提示することなどによってもたらされ得る。リモートコントロール102が、被制御デバイス104(または中間ネットワークデバイス)への接続性を喪失する瀬戸際にあることを知らせる通知を受信したことに応答して、ユーザは、リモートコントロール102を移動して被制御デバイス104(または中間ネットワークデバイス)に近付けることができる。
[00174]いくつかの実施形態において、被制御デバイス104は、動的周波数選択(DFS)チャネルに切り替えて、動的周波数選択(DFS)チャネル上で通信し得る。たとえば、被制御デバイス104は、通信ネットワーク100のアクセスポイントまたはネットワークゲートウェイ(図1に図示されていない)に接続し得る。アクセスポイントがDFSチャネルに切り替わる場合、被制御デバイス104も、アクセスポイントへの接続性を維持するためにDFSチャネルに切り替わり得る。DFSチャネルは、他の通信プロトコル(たとえば、RADAR通信)を実装するネットワークデバイスがDFSチャネル上でアクティブでない場合にのみWLAN通信に使用され得る通信チャネルとすることができる。典型的には、WLAN対応ネットワークデバイスは、DFSチャネルを介して通信する前にDFSチャネルがWLAN通信に利用可能であることを確実にするのにかなり長い時間待つ必要があり得る。したがって、電力および待ち時間を考慮して、リモートコントロール102は、DFSチャネル上で動作するように構成され得ない。したがって、被制御デバイス104がDFSパネル上で動作する場合、被制御デバイス104は、非DFSチャネルに定期的に切り替わり、リモートコントロール102が被制御デバイス104を検出し、通信することを可能にするように構成され得る。いくつかの実施形態において、被制御デバイス104は、所定の時間間隔の間、非DFSチャネルに定期的に切り替えて、非DFSチャネル上での存在を維持することができる。所定の時間間隔は、被制御デバイス104のアクティブ間隔に少なくとも一部は基づき選択されるものとしてよい。たとえば、被制御デバイス104は、それが各100ms時間間隔において5msのアクティブ間隔を有することを(リモートコントロール102に)指示し得る。したがって、被制御デバイス104がDFSチャネル上で動作するように構成されている場合、被制御デバイス104は、各100ms時間間隔において少なくとも5msの間に非DFSチャネルに切り替わるように構成され得る。しかしながら、他の実施形態では、被制御デバイス104は、好適なアクティブ間隔とスリープ間隔とを維持することができる。さらに、DFSチャネル上で動作するように構成された場合、被制御デバイス104は、好適な時間間隔の間に非DFSチャネル上でアクティブ動作状態における存在を維持することができる。一例では、上で説明されているように、被制御デバイス104は、アクティブ間隔に等しい所定の時間間隔の間に非DFSチャネルに切り替わることができる。一実施形態では、非DFSチャネルは、リモートコントロール102と被制御デバイス104との間で以前にネゴシエートされた通信チャネルとすることができる。別の実施形態では、非DFSチャネルは、チャネルスキャンシーケンスからの好適な通信チャネル(たとえば、Miracast通信チャネル、2.4GHz WLAN通信チャネル、5GHz WLAN通信チャネルなど)とすることができる。
[00175]いくつかの実施形態において、被制御デバイス104は、通信ネットワーク100内の別のネットワークデバイスに関連付けられ、接続し得る。たとえば、被制御デバイス104は、ラップトップコンピュータ、スマートアプライアンス、または別の好適なネットワークデバイスに関連付けられ、接続し得る。ネットワークデバイスとメッセージを交換する前に、被制御デバイス104およびネットワークデバイスは、その後の通信のために好適な通信チャネルを選択することをネゴシエートし得る。被制御デバイス104は、通信チャネルを選択するためにネットワークデバイスとネゴシエートしながらDFSチャネルを含み得ない。
[00176]当業者であれば理解するように、本開示の態様は、システム、方法、またはコンピュータプログラム製品として具現化され得る。したがって、本開示の態様は、全体がハードウェアである実施形態、ソフトウェアである実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書においてすべて「回路」、「モジュール」、または「システム」と一般的に称され得るソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形をとり得る。さらに、本開示の態様は、コンピュータ可読プログラムコードが具現化される1つまたは複数のコンピュータ可読媒体内に具現化されたコンピュータプログラム製品の形態をとり得る。
[00177]1つまたは複数の非一時的コンピュータ可読媒体の任意の組合せが利用され得る。非一時的コンピュータ可読媒体は、一時的伝搬信号を唯一の例外として、すべてのコンピュータ可読媒体を備える。非一時的コンピュータ可読媒体は、コンピュータ可読記憶媒体であることもある。コンピュータ可読記憶媒体は、たとえば、電子的な、磁気的な、光学的な、電磁気学的な、赤外線の、または半導体のシステム、装置、またはデバイス、あるいはそれらの任意の適当な組合せであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)は、1つまたは複数の電線を有する電気的接続、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラム可能リードオンリーメモリ(EPROMまたはフラッシュメモリ)、光ファイバ、携帯型コンパクトディスクリードオンリーメモリ(CD−ROM)、光学式記憶装置デバイス、磁気記憶装置デバイス、または前述のものの好適な組合せを含む。本文書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって使用される、またはそれらと組み合わせて使用されるプログラムを含むことができる、または記憶することができる、任意の有形の媒体であり得る。
[00178]本開示の態様に対する動作を実行するためにコンピュータ可読媒体上に具現化されたコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++、または同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの伝統的な手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の組合せで書くことができる。プログラムコードは、完全にユーザのコンピュータ上で実行してもよいし、部分的にユーザのコンピュータ上で実行してもよいし、独立型ソフトウェアパッケージとして実行してもよいし、一部はユーザのコンピュータ上で実行して、一部は遠隔コンピュータ上で実行してもよいし、あるいは完全に遠隔コンピュータまたはサーバ上で実行してもよい。後者のシナリオでは、遠隔コンピュータは、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)など任意のタイプのネットワークを介してユーザのコンピュータに接続され得、その接続は、(たとえばインターネットサービスプロバイダを用いてインターネットを介して)外部コンピュータに対しても行われてもよい。
[00179]本開示の態様は、本開示の実施形態による方法、装置(システム)、およびコンピュータプログラム製品の流れ図図解および/またはブロック図を参照しつつ以下で説明される。流れ図および/またはブロック図の各ブロック、ならびに流れ図および/またはブロック図中のブロックの組合せは、コンピュータプログラム命令によって実施され得ることは理解されるであろう。これらのコンピュータプログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されて機械を生成して、その命令が、そのコンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行されて、流れ図および/またはブロック図の1つまたは複数のブロックに指定される機能/作用を実施するための手段を生成するようにすることができる。
[00180]これらのコンピュータプログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスを特定の様式で機能させることができるコンピュータ可読媒体にも記憶され得、コンピュータ可読媒体に記憶されたそれらの命令が、流れ図および/またはブロック図の1つまたは複数のブロックに指定される機能/作用を実施する命令を含む製品を生成するようにすることができる。
[00181]コンピュータプログラム命令は、コンピュータまたは他のプログラマブル装置上で実行されるそれらの命令が、流れ図および/またはブロック図の1つまたは複数のブロックに指定される機能/作用を実施するためのプロセスを提供するように、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップが実行されてコンピュータ実施プロセスを生成するように、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにもロードされ得る。
[00182]図16は、通信ネットワークにおける電力節約のためのメカニズムを備える電子デバイス1600の一実施形態のブロック図である。いくつかの実装において、電子デバイス1600は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、スマートアプライアンス、ゲーム機、テレビ、セットトップボックス、オーディオプレーヤー、メディアブレーヤー、またはリモートコントロールもしくは別の制御デバイスによって制御され得る通信ユニットを備える別の電子デバイスのうちの1つであってよい。別の実装では、電子デバイス1600は、ネットワークデバイスを制御するためのユーザ入力を受信するように構成されたリモートコントロールまたは別の電子デバイスであってよい。電子デバイス1600は、プロセッサ1602(場合によっては、複数のプロセッサ、複数のコア、複数のノードを備え、および/またはマルチスレッディングなどを実装する)とメモリ1606とを備える。メモリ1606は、システムメモリ(たとえば、キャッシュ、SRAM、DRAM、ゼロキャパシタRAM、ツイントランジスタRAM、eDRAM、EDO RAM、DDR RAM、EEPROM(登録商標)、NRAM、RRAM(登録商標)、SONOS、PRAMなどのうちの1つまたは複数)、または非一時的機械可読記憶媒体の上ですでに説明されている可能な実現のうちの1つまたは複数であってよい。電子デバイス1600は、バス1610(たとえば、PCI、ISA、PCI−Express、HyperTransport(登録商標)、InfiniBand(登録商標)、NuBus、AHB、AXIなど)も備える。電子デバイス1600は、ネットワークインターフェース1604(破線を使用して示されている)を任意選択で含み得る。たとえば、電子デバイス1600は、電子デバイスがリモートコントロールによって制御できる場合にネットワークインターフェース1604を備え得る。ネットワークインターフェース1604は、ワイヤレスネットワークインターフェース(たとえば、WLANインターフェース、Bluetoothインターフェース、WiMAXインターフェース、ZigBee(登録商標)インターフェース、Wireless USBインターフェースなど)および/または有線ネットワークインターフェース(たとえば、PLCインターフェース、Ethernetインターフェースなど)を含み得る。いくつかの実施形態において、電子デバイス1600は、WLAN通信機能を実装するためにIEEE802.11プロトコルを実行し得る。いくつかの実施形態において、電子デバイス1600は、ハイブリッド通信機能を実装するためにIEEE1905.1プロトコルを実行し得る。
[00183]電子デバイス1600は、通信ユニット1608も備える。通信ユニット1608は、節電ユニット1612と、WLAN通信ユニット1614と、入力処理ユニット1616とを備える。一実施形態では、図1〜図12と図15とを参照しつつ上で説明されているように、節電ユニット1612は、電子デバイス1600がアクティブ動作状態とスリープ動作状態との間で定期的に遷移することを引き起こすことができる。リモートコントロールからユーザ入力を受信したことに応答して、入力処理ユニット1616は、ユーザ入力を処理し、電子デバイス1600の表示ユニット上に結果として得られる出力をどのようにレンダリングするかを決定することができる。別の実施形態では、図1〜図11と図13〜図14において説明されているように、入力処理ユニット1616は、ユーザ入力を受信し、ユーザ入力をネットワークデバイスに送信するかどうかを決定し、WLAN通信ユニット1614がユーザ入力をネットワークデバイスに送信することを引き起こすことができる。節電ユニット1612は、入力処理ユニット1616と被制御ネットワークデバイスとからの通信に少なくとも一部は基づきアクティブ動作状態、中間のスリープ動作状態、または非アクティブ動作状態に電子デバイス1600を構成するかどうかを決定することができる。いくつかの実施形態において、通信ユニット1608は、被制御ネットワークデバイスと通信し、その動作を制御するための少なくとも1つのワイヤレスインターフェースも備え得る。
[00184]これらの機能のうちのどれか1つは、ハードウェアで、および/またはプロセッサ1602上に、部分的に(または全部について)実装され得る。たとえば、機能は、特定用途向け集積回路、プロセッサ1602内に実装されているロジック、周辺デバイスまたはカード上のコプロセッサ、などにより実装され得る。いくつかの実施形態において、通信ユニット1608は、システムオンチップ(SoC)、特定用途向け集積回路(ASIC)、または電子デバイス1600の通信を可能にするのに好適な別の集積回路上に、各々実装され得る。いくつかの実施形態において、通信ユニット1608は、追加のプロセッサとメモリとを備え得、電子デバイス1600の1つまたは複数の回路基板上の1つまたは複数の集積回路内に実装され得る。さらに、実現は、図16に例示されていないより少ない、または追加のコンポーネント(たとえば、ビデオカード、オーディオカード、ネットワークインターフェース、周辺デバイスなど)を含み得る。たとえば、バス1610に結合されているプロセッサ1602に加えて、通信ユニット1608は、少なくとも1つの追加のプロセッサを備え得る。別の例として、バス1610に結合されているように図示されているけれども、メモリ1606は、プロセッサ1602に結合され得る。
[00185]これらの実施形態は、様々な実装および利用を参照しつつ説明されているが、これらの実施形態は例示的であり、本開示の範囲は、これらに限定されないことは理解されるであろう。一般に、本明細書で説明されているようなWLAN対応リモートコントロールデバイスの電力節約のための技術は、ハードウェアシステムと整合している設備、またはハードウェアシステムにより実装され得る。多くの変形、修正、追加、および改良が可能である。
[00186]本明細書において単数の場合として説明されている構成要素、動作、または構造については、複数の場合も可能である。最後に、様々な構成要素、動作、およびデータ記憶位置の間の境界は、ある程度任意であり、特定の動作は、具体的な例示的な構成の文脈において例示されたものである。機能の他の割り当ても企図され、本開示の範囲内に収まり得る。一般に、例示的な構成において別個の構成要素として提示されている構造および機能性は、結合された構造または構成要素として実施され得る。同様に、単一の構成要素として提示されている構造および機能性は、別個の構成要素として実施され得る。これらのおよび他の変更、修正、追加、および改善は、本開示の範囲内に収まり得る。