(57)【特許請求の範囲】
【請求項１】
送信経路及び受信経路のうち少なくとも１つの経路がより高い電力消費を犠牲にして有効にされるパワーアップ状態と、前記少なくとも１つの経路がより低い電力消費を支持して無効にされるパワーダウン状態とを有する無線トランシーバを含む複数のハードウェアＩ／Ｏユニットと、
プロセッシング装置と、
前記プロセッシング装置へ結合され、該プロセッシング装置で実行されるよう配置される少なくとも第１及び第２のアプリケーション、オペレーティングシステム、通信プロトコル層並びにドライバ層を記憶する記憶媒体と
を有し、
前記オペレーティングシステムは、前記通信プロトコル層及び前記ドライバ層を介する前記無線トランシーバへのアクセスを含む、前記ドライバ層を介する前記ハードウェアＩ／Ｏユニットへの前記第１及び第２のアプリケーションによるアクセスをアービトレートするよう配置され、
前記第２のアプリケーションは、無線トラフィックスケジューラを有し、該無線トラフィックスケジューラは、
前記第１のアプリケーションに関連するトラフィックのスケジューリングに関するインジケーションを受け取り、該インジケーションは、前記第２のアプリケーションにおける無線トラフィックスケジューラによって、該無線トラフィックスケジューラが前記第１のアプリケーションに関連するトラフィックのスケジューリングに関して前記第１のアプリケーションにクエリーを行うことに応答して受信され、
前記第２のアプリケーションに関連するトラフィックが、前記第１のアプリケーションに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間の前記無線トランシーバを介した通信のためにスケジューリングされ得るかどうかを決定し、
前記第１のアプリケーション及び前記第２のアプリケーションの一方又は両方に関連するトラフィックがタイムクリティカルであるかどうか又はどの程度タイムクリティカルであるのかに基づき、前記第１のアプリケーションに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間に前記無線トランシーバを介して通信されるように前記第２のアプリケーションに関連するトラフィックを協調させるよう構成され、
前記無線トラフィックスケジューラは、前記第２のアプリケーションに関連するトラフィックがタイムクリティカルでない場合には、前記第１のアプリケーションに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間、前記無線トランシーバを介して、スケジューリングされた時点よりも後の時点に通信されるように前記第２のアプリケーションに関連するトラフィックを再スケジューリングすることによってトラフィックを協調させるよう構成される、
端末。
【請求項２】
前記無線トラフィックスケジューラは、前記第１及び第２のアプリケーションの一方又は両方に関連するトラフィックのアプリケーション層コンテンツの情報に基づきトラフィックを協調させるよう構成される、
請求項１に記載の端末。
【請求項３】
前記無線トラフィックスケジューラは、
前記第２のアプリケーションに関連するトラフィックが、前記第１のアプリケーションに関連するトラフィックについて既にスケジューリングされたフェーズにはスケジューリング不可能である場合に、前記第１のアプリケーションに関連するトラフィックのスケジューリングされた通信を要求する前記オペレーティングシステム又は前記第１のアプリケーションへのリクエストを送信する
ことによって前記協調を実行するよう構成される、
請求項１又は２に記載の端末。
【請求項４】
前記オペレーティングシステムは、
異なる夫々の時間で前記無線トランシーバを介するトラフィックの通信のために前記第１及び第２のアプリケーションからリクエストを受け取り、
前記第２のアプリケーションにおける前記無線トラフィックスケジューラと協働して、前記第２のアプリケーションからのリクエストに関連するトラフィックを夫々のリクエストの時間以外の時間に再スケジューリングして、前記第１のアプリケーションからのリクエストに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間に前記無線トランシーバを介して通信されるようにする
ことによって前記協調に関与するよう構成される無線トラフィックスケジューラを更に有する、
請求項１又は２に記載の端末。
【請求項５】
前記オペレーティングシステムにおける無線トラフィックスケジューラは、
１又はそれ以上の第１の時間で前記無線トランシーバを介して第１トラフィックを通信するよう前記第１のアプリケーションから１又はそれ以上のリクエストを受け取り、前記１又はそれ以上の要求された第１の時間でアクセスをスケジューリングし、
１又はそれ以上の第２の時間で前記無線トランシーバを介して第２トラフィックと通信するよう前記第２のアプリケーションから１又はそれ以上のリクエストを受け取り、前記１又はそれ以上の第１の時間に基づき前記第２トラフィックの再スケジューリングされた通信を提示する前記第２のアプリケーションにおける無線トラフィックスケジューラに対する応答を返す
ことによって前記再スケジューリングを実行するよう構成される、
請求項４に記載の端末。
【請求項６】
前記第２のアプリケーションは、パケットに基づくネットワークを介してボイス若しくはビデオ交換を行い又はＩＭチャットメッセージを交換するためのパケットに基づく通信クライアントを有する、
請求項１乃至５のうちいずれか一項に記載の端末。
【請求項７】
送信経路及び受信経路のうち少なくとも１つの経路がより高い電力消費を犠牲にして有効にされるパワーアップ状態と、前記少なくとも１つの経路がより低い電力消費を支持して無効にされるパワーダウン状態とを有する無線トランシーバを含む複数のハードウェアＩ／Ｏユニットと、
プロセッシング装置と、
前記プロセッシング装置へ結合され、該プロセッシング装置で実行されるよう配置される少なくとも第１及び第２のアプリケーション、オペレーティングシステム、通信プロトコル層並びにドライバ層を記憶する記憶媒体と
を有し、
前記オペレーティングシステムは、前記通信プロトコル層及び前記ドライバ層を介する前記無線トランシーバへのアクセスを含む、前記ドライバ層を介する前記ハードウェアＩ／Ｏユニットへの前記第１及び第２のアプリケーションによるアクセスをアービトレートするよう配置される、端末を動作させる方法であって、
前記第１のアプリケーションに関連するトラフィックのスケジューリングに関するインジケーションを受け取り、該インジケーションは、前記第２のアプリケーションにおける無線トラフィックスケジューラによって、該無線トラフィックスケジューラが前記第１のアプリケーションに関連するトラフィックのスケジューリングに関して前記第１のアプリケーションにクエリーを行うことに応答して受信され、
前記第２のアプリケーションに関連するトラフィックが、前記第１のアプリケーションに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間の前記無線トランシーバを介した通信のためにスケジューリングされ得るかどうかを決定し、
前記第１のアプリケーション及び前記第２のアプリケーションの一方又は両方に関連するトラフィックがタイムクリティカルであるかどうか又はどの程度タイムクリティカルであるのかに基づき、前記第１のアプリケーションに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間に前記無線トランシーバを介して通信されるように前記第２のアプリケーションに関連するトラフィックを協調させ、
前記第２のアプリケーションに関連するトラフィックがタイムクリティカルでない場合には、前記第１のアプリケーションに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間、前記無線トランシーバを介して、スケジューリングされた時点よりも後の時点に通信されるように前記第２のアプリケーションに関連するトラフィックを再スケジューリングすることによってトラフィックを協調させるよう、前記第２のアプリケーションにおいて実装される無線トラフィックスケジューラを実行する、
方法。
【請求項８】
前記無線トラフィックスケジューラは、前記第１及び第２のアプリケーションの一方又は両方に関連するトラフィックのアプリケーション層コンテンツの情報に基づきトラフィックを協調させるよう構成される、
請求項７に記載の方法。
【請求項９】
前記無線トラフィックスケジューラは、
前記第２のアプリケーションに関連するトラフィックが、前記第１のアプリケーションに関連するトラフィックについて既にスケジューリングされたフェーズにはスケジューリング不可能である場合に、前記第１のアプリケーションに関連するトラフィックのスケジューリングされた通信を要求する前記オペレーティングシステム又は前記第１のアプリケーションへのリクエストを送信する
ことによって前記協調を実行するよう構成される、
請求項７又は８に記載の方法。
【請求項１０】
前記オペレーティングシステムは、
異なる夫々の時間で前記無線トランシーバを介するトラフィックの通信のために前記第１及び第２のアプリケーションからリクエストを受け取り、
前記第２のアプリケーションにおける前記無線トラフィックスケジューラと協働して、前記第２のアプリケーションからのリクエストに関連するトラフィックを夫々のリクエストの時間以外の時間に再スケジューリングして、前記第１のアプリケーションからのリクエストに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間に前記無線トランシーバを介して通信されるようにする
ことによって前記協調に関与するよう構成される無線トラフィックスケジューラを更に有する、
請求項７又は８に記載の方法。
【請求項１１】
前記オペレーティングシステムにおける無線トラフィックスケジューラは、
１又はそれ以上の第１の時間で前記無線トランシーバを介して第１トラフィックを通信するよう前記第１のアプリケーションから１又はそれ以上のリクエストを受け取り、前記１又はそれ以上の要求された第１の時間でアクセスをスケジューリングし、
１又はそれ以上の第２の時間で前記無線トランシーバを介して第２トラフィックと通信するよう前記第２のアプリケーションから１又はそれ以上のリクエストを受け取り、前記１又はそれ以上の第１の時間に基づき前記第２トラフィックの再スケジューリングされた通信を提示する前記第２のアプリケーションにおける無線トラフィックスケジューラに対する応答を返す
ことによって前記再スケジューリングを実行するよう構成される、
請求項１０に記載の方法。
【請求項１２】
前記第２のアプリケーションは、パケットに基づくネットワークを介してボイス若しくはビデオ交換を行い又はＩＭチャットメッセージを交換するためのパケットに基づく通信クライアントを有する、
請求項７乃至１１のうちいずれか一項に記載の方法。
【請求項１３】
送信経路及び受信経路のうち少なくとも１つの経路がより高い電力消費を犠牲にして有効にされるパワーアップ状態と、前記少なくとも１つの経路がより低い電力消費を支持して無効にされるパワーダウン状態とを有する無線トランシーバを含む複数のハードウェアＩ／Ｏユニットと、
プロセッシング装置と、
前記プロセッシング装置へ結合され、該プロセッシング装置で実行されるよう配置される少なくとも第１及び第２のアプリケーション、オペレーティングシステム、通信プロトコル層並びにドライバ層を記憶する記憶媒体と
を有し、
前記オペレーティングシステムは、前記通信プロトコル層及び前記ドライバ層を介する前記無線トランシーバへのアクセスを含む、前記ドライバ層を介する前記ハードウェアＩ／Ｏユニットへの前記第１及び第２のアプリケーションによるアクセスをアービトレートするよう配置される、端末のためのコンピュータプログラムであって、
持続性コンピュータ可読媒体において坦持される前記第２のアプリケーションを有し、該第２のアプリケーションが、前記プロセッシング装置で実行される場合に請求項７乃至１２のうちいずれか一項に記載の方法を実施するように無線トラフィックスケジューラを有する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モバイル端末においてバッテリ電力を節約するのに有用であるような、無線トランシーバが負うべき電力節約技術に関する。
【背景技術】
【０００２】
無線装置、及び特にバッテリ駆動のモバイル装置（例えば、携帯電話機、スマートホン、タブレット及びラップトップ）においては、バッテリ寿命を保つように装置の電力消費を最小限とすることが望ましい。また、発生する熱を制限するといった他の動機付けも存在しうる。それらは、より薄いパッケージング又はより安い部品が使用されることを可能にする。
【０００３】
無線装置において顕著な電力消費を招く１つの主なサブシステムは、無線トランシーバの無線フロントエンドである。送信経路で、これは電力増幅器（ＰＡ）、デジタル−アナログ変換器（ＤＡＣ）及びアップコンバージョンミキサのような部品を有してよい。受信経路で、これは低雑音増幅器（ＬＮＡ）、アナログ−デジタル変換器（ＡＤＣ）及びダウンコンバージョンミキサのような部品を有してよい。電力増幅器は、特に、装置の電力消費の大部分の原因となり得る。
【０００４】
電力を節約するために、使用されないときにパワーダウンすることが出来るメカニズムを無線トランシーバに設けることが知られている。無線のパワーアップ及びダウンは、通常は、無線トランシーバの状態を切り替えるよう配置されるソフトウェアによりアクセス可能なレジスタへ書き込むことによって、ドライバ層ソフトウェアにより制御される。パワーダウン自体は、例えば、電力増幅器のような無線トランシーバの部品の１つへの電力供給接続をオフすることを有してよい。これは、例えば、そのような部品が、信号を送信又は受信するために使用されていない場合でさえ電流を引き込むことがあるためである。パワーダウンメカニズムの詳細は様々でありうるが、ドライバソフトウェアのプログラマは必ずしもかかる詳細に興味を持つ必要はない。なお、全てのプログラマは、ある値が関連のレジスタへ書き込まれる場合に、無線トランシーバが（より高い電力消費を犠牲にして）無線トラフィックの送信及び／又は受信の用意ができた高電力状態に置かれ、ある他の値がレジスタへ書き込まれる場合に、無線トランシーバが（低減された電力消費を支持して）無線トラフィックを送信及び／又は受信することができない低電力状態に置かれることを知っている必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、パワーアップ及びダウン動作は限られた量の時間を要し、また、無線をオン又はオフするときに電流におけるサージに起因して一定の電力消費をそれ自体負うことがある。従って、一般的に、過度に頻繁に無線をオン及びオフすることは望ましくない。
【０００６】
無線を制御するための１つの型は、タイムアウトによって、すなわち、ある所定期間の無線非活動の後に、トリガされる場合に、無線をオフすることである。しかし、これは、夫々の後続メッセージが所定期間内に収まったままである場合に、散在性のトラフィックが長期間無線をオンされたままとするという不利点を有する。
【０００７】
他の可能性は、ドライバソフトウェアが、バーストにおいてメッセージをまとめて送信及び／又は受信しようとするようにトラフィックを待ち行列に入れて、バースト間で無線をオフする更なる機会を可能にすることである。しかし、これは、タイムクリティカルなトラフィックが耐えられない量だけ遅延されうるという不利点を有する。
【課題を解決するための手段】
【０００８】
本発明の一態様に従って、送信経路及び受信経路のうち少なくとも１つの経路がより高い電力消費を犠牲にして有効にされるパワーアップ状態と、前記少なくとも１つの経路がより低い電力消費を支持して無効にされるパワーダウン状態とを有する無線トランシーバを含む複数のハードウェアＩ／Ｏユニットと、
プロセッシング装置と、
前記プロセッシング装置へ結合され、該プロセッシング装置で実行されるよう配置される少なくとも第１及び第２のアプリケーション、オペレーティングシステム、通信プロトコル層並びにドライバ層を記憶する記憶媒体と
を有し、
前記オペレーティングシステムは、前記通信プロトコル層及び前記ドライバ層を介する前記無線トランシーバへのアクセスを含む、前記ドライバ層を介する前記ハードウェアＩ／Ｏユニットへの前記第１及び第２のアプリケーションによるアクセスをアービトレートするよう配置され、
前記第２のアプリケーションは、前記第１のアプリケーションに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間、前記無線トランシーバを介して通信される前記第２のアプリケーションに関連するトラフィックを協調させるよう構成される無線トラフィックスケジューラを有する、
端末が提供される。
【０００９】
トランシーバのパワーアップ及びダウンを制御する責任をアプリケーション層へのより高いスタックに移すことによって、動作を妨害することなしに電力を節約するようにトラフィックの改善されたスケジューリングを達成することが可能である。これは、スケジューリングが、トラフィックが起源とするアプリケーションの認識に基づくことができるためである。これは、ドライバ層におけるようなより低いスタックで達成されうるものとは異なる。それは、どのアプリケーションがどのトラフィック又は異なるアプリケーションの何らの概念を生成したのかという理解を有さず、従って、トラフィックをバーストに入れるようなされる如何なる試みも当該アプリケーション又はそれらのトラフィックに悪影響を与えないことを知り得ない。
【００１０】
特に、アプリケーション層において無線送信をスケジューリングする利点は、スケジューリングがトラフィックのアプリケーション層コンテンツの認識に基づき実行され得る点である。従って、特に望ましい実施形態において、無線トラフィックスケジューラは、前記トラフィックの協調が、前記第１及び第２のアプリケーションの一方又は両方に関連するトラフィックのアプリケーション層コンテンツの情報に依存するように、構成される。
【００１１】
例えば、スケジューリングは、コンテンツがどのようにタイムクリティカルであるのかとの認識に基づいてよい。従って、他の実施形態では、前記無線トラフィックスケジューラは、前記トラフィックの協調が、前記第１及び第２のアプリケーションの一方又両方に関連するトラフィックがタイムクリティカルであるかどうか又はどの程度タイムクリティカルであるのかに依存するように、構成される。
【００１２】
例えば、通信クライアントアプリケーションからの発信プレゼンス更新又はＩＭチャットメッセージはタイムクリティカルではないと判断され得、一方、ウェブブラウザからオークションウェブブラウザへの入札又はオンラインゲームからの信号のような他のアプリケーションからの発信アラート又は更新はタイムクリティカルであり得る。次いで、スケジューラは、タイムクリティカルなトラフィックに不動にスケジューリングされているのと同じ送信バーストにおいて一緒に送信されるようにタイムクリティカルでないコンテンツを再スケジューリングしてよい。あるいは、他の例において、送信経路のパワーアップが受信経路のパワーアップと無関係でない場合に、タイムクリティカルでないプレゼンス更新又はＩＭメッセージは、入来するニュース又はウェザーリポートと同じパワーアップフェーズにスケジューリングされてよい。
【００１３】
更なる実施形態において、前記無線トラフィックスケジューラは、前記第１のアプリケーションに関連する第１トラフィックのスケジューリングに関するインジケーションを受け取り、前記第２のアプリケーションに関連する第２トラフィックが、前記第１のアプリケーションに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間に前記無線トランシーバを介して通信されるようにスケジューリングされ得るかどうかを決定することによって、前記協調を実行するよう構成されてよい。
【００１４】
前記インジケーションは、前記オペレーティングシステムを介して受信されてよい。
【００１５】
前記インジケーションは、前記第１のアプリケーションに関連する第１トラフィックのスケジューリングに関して前記第１のアプリケーションにクエリーを行う前記第２のアプリケーションにおける前記無線トラフィックスケジューラによって受け取られてよい。
【００１６】
前記無線トラフィックスケジューラは、前記第２のアプリケーションに関連するトラフィックが、前記第１のアプリケーションに関連するトラフィックについて既にスケジューリングされたフェーズにはスケジューリング不可能である場合に、前記第１のアプリケーションに関連するトラフィックのスケジューリングされた通信を要求する前記オペレーティングシステム又は前記第１のアプリケーションへのリクエストを送信することによって、前記協調を実行するよう構成されてよい。
【００１７】
更なる実施形態において、前記オペレーティングシステムは、異なる夫々の時間で前記無線トランシーバを介するトラフィックの通信のために前記第１及び第２のアプリケーションからリクエストを受け取り、前記第２のアプリケーションにおける前記無線トラフィックスケジューラと協働して、前記第２のアプリケーションからのリクエストに関連するトラフィックを夫々のリクエストの時間以外の時間に再スケジューリングして、前記第１のアプリケーションからのリクエストに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間に前記無線トランシーバを介して通信されるようにすることによって、前記協調に関与するよう構成される無線トラフィックスケジューラを更に有してよい。
【００１８】
前記オペレーティングシステムにおける無線トラフィックスケジューラは、１又はそれ以上の第１の時間で前記無線トランシーバを介して第１トラフィックを通信するよう前記第１のアプリケーションから１又はそれ以上のリクエストを受け取り、前記１又はそれ以上の要求された第１の時間でアクセスをスケジューリングし、１又はそれ以上の第２の時間で前記無線トランシーバを介して第２トラフィックと通信するよう前記第２のアプリケーションから１又はそれ以上のリクエストを受け取り、前記１又はそれ以上の第１の時間に基づき前記第２トラフィックの再スケジューリングされた通信を提示する前記第２のアプリケーションにおける無線トラフィックスケジューラに対する応答を返すことによって、前記再スケジューリングを実行するよう構成されてよい。
【００１９】
前記オペレーティングシステムにおける無線トラフィックスケジューラは、前記第２のアプリケーションにおける無線トラフィックスケジューラが提示された再スケジューリングを拒否する場合に、前記１又はそれ以上の第１の時間及び前記１又はそれ以上の第２の時間の両方の考慮に基づき前記第１トラフィック及び前記第２トラフィックの通信を再スケジューリングすることによって、前記再スケジューリングを実行するよう構成されてよい。
【００２０】
当該端末は、前記プロセッシング装置及び前記無線トランシーバへ結合されるソフトウェアによりアクセス可能なレジスタを有してよく、前記オペレーティングシステムは、前記ソフトウェアによりアクセス可能なレジスタへ書き込むことによって前記パワーアップ状態及び前記パワーダウン状態を制御するよう配置される。
【００２１】
前記第２のアプリケーションに関連するトラフィックは、非実時間トラフィックであってよく、前記第１のアプリケーションに関連するトラフィックは、実時間トラフィックであってよい。
【００２２】
前記第１のアプリケーションは、ウェブブラウザ、電子メールクライアント、専用ウェザーリポートクライアントアプリケーション、専用ニュースクライアントアプリケーション、専用株価表示クライアントアプリケーション、及びゲームの中の１つを有してよい。
【００２３】
前記第２のアプリケーションは、パケットに基づくネットワークを介してボイス若しくはビデオ交換を行い又はＩＭチャットメッセージを交換するためのパケットに基づく通信クライアントを有してよい。
【００２４】
前記パケットに基づく通信クライアントに関連するトラフィックは、プレゼンス更新及びＩＭメッセージのうち少なくとも１つを有してよい。
【００２５】
前記送信経路は電力増幅器を有してよく、前記パワーアップ状態は、オンされている前記電力増幅器を有してよく、前記パワーダウン状態は、オフされている前記電力増幅器を有してよい。
【００２６】
本発明の他の態様に従って、送信経路及び受信経路のうち少なくとも１つの経路がより高い電力消費を犠牲にして有効にされるパワーアップ状態と、前記少なくとも１つの経路がより低い電力消費を支持して無効にされるパワーダウン状態とを有する無線トランシーバを含む複数のハードウェアＩ／Ｏユニットと、
プロセッシング装置と、
前記プロセッシング装置へ結合され、該プロセッシング装置で実行されるよう配置される少なくとも第１及び第２のアプリケーション、オペレーティングシステム、通信プロトコル層並びにドライバ層を記憶する記憶媒体と
を有し、
前記オペレーティングシステムは、前記通信プロトコル層及び前記ドライバ層を介する前記無線トランシーバへのアクセスを含む、前記ドライバ層を介する前記ハードウェアＩ／Ｏユニットへの前記第１及び第２のアプリケーションによるアクセスをアービトレートするよう配置され、
前記オペレーティングシステム及び前記第２のアプリケーションのうち少なくとも１つは、前記第１のアプリケーションに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間、前記無線トランシーバを介して通信される前記第２のアプリケーションに関連するトラフィックを協調させるよう構成される無線トラフィックスケジューラを有する、
端末が提供されてよい。
【００２７】
前記無線トラフィックスケジューラは前記オペレーティングシステムで実装されてよく、異なる夫々の時間で前記無線トランシーバを介するトラフィックの通信のために前記第１及び第２のアプリケーションからリクエストを受け取り、前記第２のアプリケーションにおける前記無線トラフィックスケジューラと協働して、前記第２のアプリケーションからのリクエストに関連するトラフィックを夫々のリクエストの時間以外の時間に再スケジューリングして、前記第１のアプリケーションからのリクエストに関連するトラフィックと同じ連続フェーズの前記パワーアップ状態の間に前記無線トランシーバを介して通信されるようにすることによって、前記協調を実行するよう構成される。
【００２８】
実施形態において、前記無線トラフィックスケジューラは、１又はそれ以上の第１の時間で前記無線トランシーバを介して第１トラフィックを通信するよう前記第１のアプリケーションから１又はそれ以上のリクエストを受け取り、前記１又はそれ以上の要求された第１の時間でアクセスをスケジューリングし、１又はそれ以上の第２の時間で前記無線トランシーバを介して第２トラフィックと通信するよう前記第２のアプリケーションから１又はそれ以上のリクエストを受け取り、前記１又はそれ以上の第１の時間に基づき前記第２トラフィックの再スケジューリングされた通信を提示する前記第２のアプリケーションにおける無線トラフィックスケジューラに対する応答を返すことによって、前記再スケジューリングを実行するよう構成されてよい。
【００２９】
前記無線トラフィックスケジューラは、１又はそれ以上の第１の時間で前記無線トランシーバを介して第１トラフィックを通信するよう前記第１のアプリケーションから１又はそれ以上のリクエストを受け取り、１又はそれ以上の第２の時間で前記無線トランシーバを介して第２トラフィックを通信するよう前記第２のアプリケーションから１又はそれ以上のリクエストを受け取り、前記１又はそれ以上の第１の時間及び前記１又はそれ以上の第２の時間の両方の考慮に基づき前記第１トラフィック及び前記第２トラフィックの再スケジューリングされた通信を提示する前記第１及び第２のアプリケーションに対する応答を返すことによって、前記再スケジューリングを実行するよう構成されてよい。
【００３０】
前記無線トラフィックスケジューラは、前記第２のアプリケーションが提示された再スケジューリングを拒否する場合に、前記１又はそれ以上の第１の時間及び前記１又はそれ以上の第２の時間の両方の考慮に基づき前記第１トラフィック及び前記第２トラフィックの再スケジューリングされた通信を提示する前記第１及び第２のアプリケーションに対する応答を返すことによって、前記再スケジューリングを実行するよう構成される。
【００３１】
前記無線トラフィックスケジューラはまた、前記パワーアップ状態及び前記パワーダウン状態を制御するようこう制される。当該端末は、前記プロセッシング装置及び前記無線トランシーバへ結合されるソフトウェアによりアクセス可能なレジスタを有してよく、前記オペレーティングシステムは、前記ソフトウェアによりアクセス可能なレジスタへ書き込むことによって前記パワーアップ状態及び前記パワーダウン状態を制御するよう配置されてよい。
【００３２】
本発明の更なる態様に従って、対応する方法と、持続性コンピュータ可読媒体において坦持され、プロセッシング装置で実行される場合に前記方法を実行するように構成されるコンピュータプログラムプロダクトとが更に提供される。
【図面の簡単な説明】
【００３３】
【図１】通信ネットワークの略図である。
【図２】ユーザ端末の略ブロック図である。
【図３ａ】スケジューリングされた無線トラフィックの略図である。
【図３ｂ】再スケジューリングされた無線トラフィックの略図である。
【図４ａ】無線トラフィックを再スケジューリングする方法のフローチャートである。
【図４ｂ】無線トラフィックを再スケジューリングする方法のフローチャートである。
【図５】無線トラフィックを再スケジューリングする他の方法のフローチャートである。
【図６】無線トラフィックを再スケジューリングする他の方法のフローチャートである。
【発明を実施するための形態】
【００３４】
本発明のより良い理解のために且つどのように本発明が実施され得るのかを示すために、一例として添付の図面が参照される。
【００３５】
バッテリ駆動の装置においてバッテリ寿命を節約するために、装置の動作をモニタし、最も激しい電力消費が他の理由のために、例えば、他のアプリケーションの動作に起因して、既に起こっている時点で、特定のアプリケーションからのトラフィックをスケジューリングすることが望ましい。無線アンテナ起動はそのような動作である。一実施形態において、ＶｏＩＰ（voice-over-IP）又はＩＭ（instant  messaging）クライアントのような通信クライアントは、無線アンテナが既にアクティブである場合をモニタし、該場合にのみバーストトラフィックを送出するよう構成される。このバーストトラフィックは、例えば、（少なくとも第１のメッセージについて）実時間である必要がないプレゼンス更新又は入来チャットメッセージを有してよい。かかる例は無線アンテナに関するが、本発明は潜在的に、バッテリのランタイムを改善するよう賢い決定をするためにシステム全体（すなわち、装置の他のハードウェアリソース）をモニタすることにまで広がってよい。これは、大容量のバッテリを節約することを可能にし、バッテリ装置におけるスタンバイ時間を助ける。
【００３６】
図１は、本発明が展開される通信システム１００の略図である。通信システム１００は、複数のエンドユーザ端末１０２を有する。それらのエンドユーザ端末のうち数個の例１０２ａ、１０２ｂ、１０２ｃ、１０２ｄ及び１０２ｅのみが例示のために示されているが、図示されるよりも多い多数のユーザ端末１０２が同様に存在しうることは明らかである。夫々のユーザ端末１０２、サーバ１０４及びゲートウェイ１０６は、ＷｉＦｉ又はセルラー接続のような無線接続又は有線接続によって、ネットワーク１０８の残りへ接続されている。ネットワーク１０８は、インターネットのようなパケットに基づくネットワークであってよい。本発明の記載されている実施形態に従って、ユーザ端末１０２の少なくとも１つは、パケットに基づくネットワーク１０８への無線接続を確立する無線トランシーバを有する。
【００３７】
通信システム１００は、固定電話ネットワーク（図示せず。）のような１又はそれ以上の他のネットワークへの１又はそれ以上のサーバ１０４及び１又はそれ以上のゲートウェイ１０６を更に有してよい。１又はそれ以上のサーバ１０４及び／又は１又はそれ以上のゲートウェイ１０６の夫々は、適切な接続によって、パケットに基づくネットワーク１０８の残りへ更に接続されている。
【００３８】
夫々のユーザ端末１０２は、ＶｏＩＰクライアント又はＩＭクライアントのような通信クライアントアプリケーションのインスタンスをインストールされる。特に望ましい実施形態では、通信クライアントは、追加のＩＭ能力を備えたＶｏＩＰクライアントである。ＶｏＩＰクライアントの夫々のインスタンスは、その各自のユーザ端末１０２の持続性（不揮発性）記憶媒体に記憶され、その端末１０２のプロセッシング装置での実行のために配置される。ＶｏＩＰクライアントは、実行される場合に、パケットに基づくネットワーク１０８を介して他のユーザ端末１０２とともに又はゲートウェイ１０６を介する更なる従来の電話とともにボイス若しくはビデオ呼び出し又はＩＭメッセージのようなパケットに基づく通信を確立するように構成される。これは、サーバ１０４にクエリーを行うこと及び／又はピア・ツー・ピアシステムの場合に他のエンドユーザ端末１０２（必ずしも呼び出しに関与しない。）の間で分配される分散型データベースにクエリーを行うことによって他のユーザのＩＰアドレス及び／又はコンタクト情報のような情報を調べることを引き起こしうる。パケットに基づく通信を確立するための適切な呼び出しセットアップ及びメッセージングメカニズムの詳細は、当業者によく知られている。
【００３９】
図２は、本発明の望ましい実施形態に従うユーザ端末１０２の更なる詳細を示す略ブロック図である。ユーザ端末１０２は、１又はそれ以上のコアを有するＣＰＵの形をしたプロセッシング装置２０２と、電子メモリ（例えば、フラッシュメモリ又は他のＥＥＰＲＯＭ）、磁気メモリ装置（例えば、ハードドライブ又はディスクドライブ）及び／又は光記憶装置（例えば、ＣＤ−ＲＯＭ）のような不揮発性記憶媒体２２６とを有する。記憶媒体２２６は、（簡単に論じられるべき）プロセッシング装置２０２で実行されるよう配置されるソフトウェアの様々な項目を記憶する。ユーザ端末１０２は、バス、ＤＭＡエンジン及び／又は専用有線接続を有してよいインターコネクトシステム２２０と、記憶媒体２２６からのソフトウェアがプロセッシング装置２０２での実行のために一時的にロードされ得るＲＡＭ２２４とを更に有する。記憶媒体２２６、ＲＡＭ２２４及びプロセッシング装置２０２は、インターコネクト２２０によって相互接続されている。ユーザ端末１０２は、無線トランシーバ２３０の形をした複数のハードウェアリソースと、任意に１又はそれ以上の他の入出力（Ｉ／Ｏ）ユニット２２２とを更に有する。無線トランシーバ２３０は、例えば、ＷｉＦｉ若しくはブルートゥーストランシーバ、又は他のそのような短距離若しくは“アドホック”無線トランシーバ、及び／又は無線セルラーモバイルネットワークの基地局と通信するセルラートランシーバを有してよい。無線トランシーバは、望ましくは、例えばＶｏＩＰ呼び出し、ＩＭメッセージ、電子メール又はウェブアクセスのために、パケットに基づくネットワーク１０８を介するパケットに基づく通信へのアクセスを可能にする。他のＩ／Ｏ装置２２２は、有線モデム、スクリーン若しくはタッチスクリーン、ウェブカメラ、オーディオスピーカ、及び／又はマイクロホンの中の１又はそれ以上を有してよい。ハードウェアリソース２２２，２３０の夫々は、リソース２２２，２３０の間のデータの通信と、何らかの関連ソフトウェアがプロセッシング装置２０２で実行されることとを可能にするように、インターコネクト２２０を介してプロセッシング装置２０２へ接続されている。
【００４０】
記憶装置２２６は、ハードウェアリソース２２２，２３０の夫々についての１又はそれ以上のドライバの形をしたドライバ層２０４と、ＴＣＰスタックの形をした通信プロトコル層２０６と、オペレーティングシステム（ＯＳ）２０８（カーネルとも呼ばれる。）と、電子メールクライアント２１８、ウェブブラウザ２１６、ＶｏＩＰ及び／又はＩＭクライアント２１４、並びに専用アプリケーションクライアント２１２のような複数のクライアントアプリケーションを有するアプリケーション層２１０とを記憶する。専用アプリケーションクライアント２１２は、例えば、インターネット１０８を介してウェザー更新を受け取るウェザーリポートアプリケーション、インターネット１０８を介してニュース更新を受け取るニュースアプリケーション、又はインターネット１０８を介して最新株価又は株式情報を受け取る株価表示アプリケーションを有してよい。そのようなアプリケーション２１２からの更新は、実時間で、すなわち、対応するイベントが起こると“オンザフライで”又はそのような場合に、無線トランシーバ２３０を介して受け取られてよい。他の例では、専用アプリケーションクライアント２１２は、ライブオンラインプレイを呼び出すゲームアプリケーションを有してよく、その場合に、ゲームは、無線トランシーバ２３０及びインターネット１０８を介してサーバ及び／又は他のユーザ端末１０２へ及び／又はそれらから実時間ゲーム信号を送信及び／又は受信してよい。
【００４１】
当業者にはよく知られているように、ソフトウェアは、最低レベルにあるドライバ層２０４から最高レベルにあるアプリケーション層２１０までの階層スタック：
アプリケーション層２１０
オペレーティングシステム（ＯＳ）２０８
ＴＣＰ（サブスタック）２０６
ドライバ層２０４
を形成すると考えられる。
【００４２】
プロセッシング装置２０２で実行される場合に、ドライバ２０４は、中間インターフェースをハードウェアリソースへ提供するように動作する。ドライバ層２０４の上にはＴＣＰスタック２０６がある。ＴＣＰスタック２０６は、（少なくともインタラクションのために無線トランシーバ２３０を介して又は有線モデムを介して）インターネットを介する通信を実行するトランスポートプロトコル及びインターネットプロトコル（ＩＰ）のような通信プロトコルのためのサブスタックである。オペレーティングシステム２０８は、実行される場合に、実行のために種々のアプリケーション２１０をスケジューリングし、且つ、関連するドライバ２０４を介する下にあるハードウェアリソース２２２，２３０への種々のアプリケーション２１０によるアクセスをアービトレートするように、構成される。すなわち、アプリケーション２１０は、一方的にハードウェアリソース２２２，２３０にアクセスすることはできず、オペレーティングシステム２０８を介してアクセスを要求しなければならない。アプリケーション２１０は、それらが装置の実際の高度なユーザに面した機能を実行するのに関与し、更にはそれらがオペレーティングシステム２０８によって上述されたようにアービトレートされる点で、スタックにおいてより下のレベルで動作する如何なるソフトウェアからも区別される。オペレーティングシステム２０８は、アプリケーション２１０の実行を管理し且つアプリケーション２１０の間でアービトレーションを行うことに関与するので、より下のレベルにある如何なるソフトウェアからも区別される。一方、データがＴＣＰ層２０６又はドライバ層２０４に達した段階によって、種々のアプリケーション２１０の存在及びそれらの性質に関する情報は失われ、ＴＣＰスタック２０６及びドライバ２０４は、異なる信号又はトラフィックがどのアプリケーション２１０に関連するのかに関する認識（又は気にかける理由）を有さない。種々のアプリケーション２１０（２１２，２１４，２１６及び２１８）は、それらが互いと通信することができる場合でさえ独立に実行可能である点で、互いから区別される。すなわち、１つのアプリケーション２１０の実行は、他のアプリケーションの必要な実行に依存しない。種々のアプリケーション２１０はまた、オペレーティングシステム２０８の制御下で実行のために別個にスケジューリングされてもよい。ユーザの観点からすれば、種々のアプリケーション２１０は、様々なユーザに面した機能、例えばウェブ、電子メール、ＶｏＩＰ等を有する。
【００４３】
本発明の実施形態に従って、アプリケーションの少なくとも１つ、例えばＶｏＩＰ及び／又はＩＭアプリケーション２１４は、種々の複数のアプリケーション２１０の他に関する情報及び／又はそれらのアプリケーション２１０へ及び／又はから送信されるトラフィックのコンテンツへのアクセスを有することができるレベルでアプリケーション層２１０において実装される無線トラフィックスケジューラ２１５を有する。
【００４４】
代替的に、又は追加的に、オペレーティングシステム２０８は、同じく種々の複数のアプリケーション２１０に関する情報及び／又はそれらのアプリケーション２１０へ及び／又はから送信されるトラフィックのコンテンツへのアクセスを有することができるレベルでオペレーティングシステム２０８において実装される無線トラフィックスケジューラ２０９を有する。この場合に、トラフィックスケジューラ２０９は、無線トランシーバ２３０を介してトラフィックを送信及び／又は受信するよう要求するリクエストを、無線トランシーバ２３０へのアクセスのためにアプリケーション２１０から受け取るよう配置される。リクエストは、直ちに（リクエストの時点で）又はリクエストにおいて指定されるある未来の時点でトラフィックに対するアクセスを要求してよい。例えば、リクエストは、所定の規則的な時間インターバルで（例えば、数ミリ秒ごとに一回）といったように所定の時間パターンでアクセスを要求してよい。その場合に、無線トラフィックスケジューラ２０９は、アクセスを許可し、アクセスを拒否し、又はトラフィックのための代替の再スケジューリングされた時間を提示することによって、アプリケーション２１０へ応答するよう構成される。
【００４５】
トラフィックスケジューラ２１５及び／又は２０９の目的は、（無線トランシーバ２３０が１つのアプリケーションのトラフィックを送信又は受信するよう起動され、次いでオフされ、次いで他のアプリケーションのトラフィックを送信又は受信するよう起動されるよう求めるのではなく、あるいは、実際には、長期間無線トランシーバを起動させたままアイドリングしておく必要なしに）２又はそれ以上の異なるアプリケーション２１０に関連するトラフィックを無線トランシーバ２３０の同じパワーアップ
“バースト”にスケジューリングするように、アプリケーション２１０の１又はそれ以上のトラフィックを再スケジューリングすることである。例えば、ＶｏＩＰ及び／又はＩＭアプリケーションのような第２のアプリケーション２１４からの意図された送信は、専用アプリケーション２１２のような第１のアプリケーションへ又はから送信又は受信されるよう既にスケジューリングされたトラフィックと同じバーストの部分であるよう再スケジューリングされてよい。
【００４６】
図２に示されるように、無線トランシーバ２３０は、少なくとも１つのアンテナ２３２と、電力増幅器（ＰＡ）２３４のような部品を有する送信経路と、低雑音増幅器（ＬＮＡ）２３６のような部品を有する受信経路とを有する。電力増幅器２３４の出力は、動作上、アンテナ２３２へ結合され、電力増幅器２３４の入力は、動作上、インターコネクト２２０へ結合される。送信経路は、通常は、デジタル−アナログ変換器（ＤＡＣ）及びアップコンバージョンミキサのような他の部品を更に有する（図示せず。）。それにより、無線トランシーバ２３０は、パケットに基づくネットワーク１０８を介して通信を行うように、プロセッシング装置２０２で実行されるアプリケーション２１０から送信されるデータがエアインターフェース（例えば、ＷｉＦｉ、ブルートゥース又はセルラーチャネル）を介して送信されることを可能にするよう配置される。低雑音増幅器２３６は、動作上アンテナ２３２へ結合された入力と、動作上インターコネクト２２０へ結合された出力とを有する。受信経路は、通常は、アナログ−デジタル変換器（ＡＤＣ）及びダウンコンバージョンミキサのような他の部品を更に有する（図示せず。）。それにより、無線トランシーバ２３０は、パケットに基づくネットワーク１０８を介して入来する通信を受信するように、データがプロセッシング装置２０２で実行されるアプリケーション２１０によってエアインターフェースを介して受信されることを可能にするよう配置される。
【００４７】
上記に加えて、無線トランシーバ２３０は、ソフトウェアによりアクセス可能なレジスタ２３８（例えば、ソフトウェアがデータを書き込むことができるアドレスを経由してアクセス可能である。）を更に有する。レジスタ２３８は、例えば、無線トランシーバ２３０において又はその近くで実施され、バス又はＤＭＡのようなインターコネクトを介してアクセスされてよく、あるいは、ＣＰＵ２０２において又はその近くで実施され、専用のハードウェア接続を介して無線トランシーバ２３０へ接続された出力を有してよい。いずれにしても、レジスタ２３８及び無線トランシーバ２３０は、動作上結合され、ある値がレジスタ２３８に書き込まれる場合に、無線トランシーバ２３０が、送信経路及び受信経路の少なくとも１つの経路がより高い電力消費を犠牲にして有効にされるパワーアップ状態に設定され、他の値がレジスタ２３８に書き込まれる場合に、無線トランシーバ２３０が、少なくとも１つの経路がより低い電力消費を支持して無効にされるパワーダウン状態に設定されるように、配置される。レジスタ２３８は、これを行うために１ビットフラグしか必要としない。パワーアップ状態は、電力増幅器２３４及び／又は低雑音増幅器２３６への電力供給をオンすることを引き起こしてよく、パワーダウン状態は、電力増幅器２３４及び／又は低雑音増幅器２３６への電力供給をオフすることを有してよい（これは、動作不能レベルまで下げることを意味する。）。電力増幅器２３４、すなわち送信経路のパワーアップ及びダウンは、一般的に、低雑音増幅器、すなわち受信経路のパワーアップ及びダウンとは無関係であってもなくてもよい。より高い電力状態では、無線トランシーバ２３０は、無線トラフィックの送信及び／又は受信の準備ができているが、実際に送信又は受信していない場合でさえ（すなわち、アイドリング状態である場合に）電流を引き込み、より低い電力状態では、無線トランシーバ２３０は、無線トラフィックを送信及び／又は受信することができないが、ほとんど電流を引き込まない。
【００４８】
レジスタ２３８は、通常、ドライバ層２０４によってのみ書き込まれ得るが、本発明の実施形態に従って、レジスタ２３８は、無線トラフィックを必要とする種々のアプリケーションの可視性を鑑みて、オペレーティングシステム２０８の無線トラフィックスケジューラ２０９によって書き込まれる。
【００４９】
上述されたように、通常、パワーアップ（無線トランシーバ２３０のパワーアップは、“起動”又は“ウェイクアップ”動作とも呼ばれる。）及びダウンには有限且つ馬鹿にならない量の時間がかかる。更に、パワーダウン及びウェイクアップ動作自体に関連する、例えば電力サージに起因する電力コストも、存在しうる。従って、過度に頻繁に又は浅はかに、状態間を動き回ることは望ましくない。他方で、トラフィックのバースト間の長期間にわたって無線トランシーバ２３０をより高い電力状態のままとすることは望ましくない。
【００５０】
このため、第２のアプリケーション２１４及び／又はオペレーティングシステム２０８における無線トラフィックスケジューラ２１５，２０９は、少なくとも２つの異なるアプリケーション２１０からのトラフィックのために共通の送信バーストを取り決める又は別なふうに協調させるよう構成される。同時の又は同じバーストにおける送信は、無線トランシーバの同じ連続したパワーアップフェーズの部分として、すなわち、２又はそれ以上の異なるアプリケーション２１０からのトラフィックの間でパワーダウンすることなしに、起きる。これはまた、トラフィックを同じ送信時間スロットに協調させると見なされ得る。それは、無線トランシーバ２３０のパワーアップフェーズを延ばすことによってではなく（又は少なくともそれによってのみならず）、異なるアプリケーション２１０の少なくとも１つ（及び潜在的にそれ以上）からのトラフィックを再スケジューリングすることによって、達成される（なお、無線トラフィックスケジューラ２０９はまた、トラフィックの再スケジューリングなしに必要とされていたよりも小さい範囲でパワーアップフェーズを延ばすことができるよう構成されてよい。）。望ましくは、２又はそれ以上のアプリケーション２１０からのトラフィックは、連続して、すなわち、無線トランシーバ２３０をアイドリング中に不必要に電源オンしたままとして電力を浪費しないように実質的な時間ギャップを伴わずに、送信される。
【００５１】
この考えの例は、図３ａ及び図３ｂにおいて図式的に表される。夫々の点は、無線トランシーバ２３０のパワーアップ状態の連続フェーズを表す（すなわち、バースト又は時間スロット）。図３ａ及び図３ｂにおける第１の点線は、専用アプリケーション２１２のような第１のアプリケーションによって要求される無線トラフィックのスケジューリングを表す。図３ａ及び図３ｂにおける第２の点線は、ＶｏＩＰ又はＩＭクライアント２１４のような第２のアプリケーションによって望まれる無線トラフィックのスケジューリングを表す。時間軸は左から右へ流れる。例えば、第１の線は、ゲーム信号又はウェザーリポートを表してよく、第２の線は、プレゼンス更新又はＩＭメッセージを表してよい。
【００５２】
しかし、無線トランシーバが、それらの要求される時間スロットの１つごとに起動され次いでオフされる場合に、電力消費（従って、ポータブル端末におけるバッテリ寿命）に関して相当のコストがかかる。
【００５３】
従って、無線トラフィックスケジューラ２１５及び／又は２０９は、図３ｂに示されるタイミングへのトラフィックの再スケジューリングを取り決め又は別なふうに協調させるよう構成される。ここで、要求される送信スロットの少なくとも一部は、要求された以外の時間に再スケジューリングされていることが表されている。当然、トラフィックは、厳密に同時に通信され得ないが、無線トランシーバ２３０の同じパワーアップフェーズの一部として及び望ましくは連続して通信される。従って、他のアプリケーションの要求から生じうるパワーアップフェーズからさもなければ外れた１つのアプリケーションの要求されるトラフィックの時間は、無線トランシーバ２３０のパワーアップフェーズ又はスロットが共有され得る、電力効率のより良い時間へ移動されている。第２のアプリケーション２１４又はオペレーティングシステム２０８における無線トラフィックスケジューラ２１５及び／又は２０９は、積極的にトラフィックを協調させるよう構成される。これは、トラフィックが偶然同時に起こらないが、同時発生が確かにされるように積極的に制御されることを意味する。従って、図３ｂに示されるように、２つのアプリケーション２１０のための再スケジューリングされたトラフィックは、目下、時間においてより有効に整列されている。
【００５４】
アプリケーション層２１０又はオペレーティシングシステム層２０８で無線送信をスケジューリングする利点は、スケジューリングがトラフィックのアプリケーション層コンテンツの認識に基づき実行され得る点である。例えば、本発明は、問題になっているアプリケーションの１つに関連するトラフィックが実時間トラフィック、すなわち、あるタイムクリティカルな性質を有するトラフィックである場合に、特に有利な使用を見出す。タイムクリティカルな性質とは、遅れた場合に、それが機能しなくなる又は関連性がなくなる、あるいは、少なくともその有効性を妨げられることを意味する。
【００５５】
例えば、通信クライアントアプリケーションからの発信プレゼンス更新又はＩＭチャットメッセージはタイムクリティカルではないと判断され得、一方、ウェブブラウザからオークションウェブブラウザへの入札又はオンラインゲームからの信号のような他のアプリケーションからの発信アラート又は更新はタイムクリティカルである。次いで、スケジューラは、タイムクリティカルなトラフィックに不動にスケジューリングされているのと同じ送信バーストにおいて一緒に送信されるようにタイムクリティカルでないコンテンツを再スケジューリングしてよい。あるいは、他の例において、送信及び受信経路のパワーアップが関連付けられる場合に、タイムクリティカルでないプレゼンス更新又はＩＭメッセージは、入来する実際のニュース速報、ウェザーリポート又は株価更新（これらは全て実時間情報を有してよい。）と同じパワーアップフェーズにスケジューリングされてよい。
【００５６】
望ましい実施形態において、無線トラフィックスケジューラ２１５は、オペレーティングシステム２０８又は第１のアプリケーション２１２（若しくは他のアプリケーション２１０）に対してほとんど又は全く変更なしに、第２のアプリケーション２１４、例えばＶｏＩＰ及び／又はＩＭアプリケーションにおいて実装される。この場合に、無線トラフィックスケジューラ２１５は、ＯＳ２０８又は他のアプリケーション２１２，２１０と交渉するよう構成されず、むしろ、他のアプリケーション２１２，２１０によるトラフィックのスケジューリングに反応するよう構成されて、１又はそれ以上の他のアプリケーション２１２，２１０によって独立に既に要求されているタイミングに従うようそれ自体の非実時間トラフィックをスケジューリングするようにされる。
【００５７】
トラフィックスケジューラ２１５が実行される場合に実行するよう構成され得る方法の例が、図４ａ及び図４ｂの略フローチャートにおいて表される。
【００５８】
図４ａにおけるステップＲ０１で、第１のアプリケーション２１２は、ある指定された１又はそれ以上の時間（例えば、所定パターンの時間）にスケジューリングされたトラフィックを発生させる。ステップＲ０２で、第２のアプリケーション２１４は、この１又はそれ以上の時間のインジケーションを受け取る。ステップＲ０３で、第２のアプリケーション２１４は、第１のアプリケーション２１２からの指示されたトラフィックと同じ送信バーストに自身のトラフィックのいずれかを再スケジューリングすることができるかどうかを決定する。再スケジューリング可能である場合には、第２のアプリケーション２１４は、ステップＲ０４で然るべく自身のトラフィックを発生させてスケジューリングする。そうではなく再スケジューリング不可能である場合には、第２のアプリケーション２１４は、ステップＲ０５でそのトラフィックを別個にスケジューリングしてよい。
【００５９】
第１のアプリケーション２１２からのインジケーションの受信は、望ましくは、第１のアプリケーション２１２において新たなプロトコルが実装されることを必要とせずに、オペレーティングシステム２０８を介して達成される。これは、図４ｂにおいて分析される。
【００６０】
図４ｂにおけるステップＲ０１ａで、第１のアプリケーション２１２は、ある指定される１又はそれ以上の時間（例えば、所定パターンの時間）に無線トランシーバ２３０へのアクセスを要求する第１のリクエストを、オペレーティングシステム２０８へとスタックを下って送信する。ステップＲ０１ｂで、オペレーティングシステム２０８は、第１のアプリケーション２１２から第１のリクエストを受け取る。ステップＲ０１ｃで、オペレーティングシステム２０８は、然るべくＲＦトランシーバ２３０へのアクセスをスケジューリングし、更に、第１のアプリケーション２１２のトラフィックにスケジューリングされた１又はそれ以上の時間のインジケーションを第２のアプリケーション２１４に利用可能とする。これは、オペレーティングシステム２０８が要求されたインジケーションを含むメッセージを第２のアプリケーション２１４へ送信すること、又は第２のアプリケーション２１４がオペレーティングシステム２０８にクエリーを行うこと、又は、より望ましくは、第２のアプリケーション２１４がオペレーティングシステム２０８のアプリケーションによりアクセス可能な場所からインジケーションを読み出す不必要な余分のプロトコルを回避することを伴う。
【００６１】
次いで、ステップＲ０３乃至Ｒ０５は、図４ａに関して示されているように起こってよい。ステップＲ０４は、ステップＲ０４ａで、第２のアプリケーション２１４が、協調された１又はそれ以上の時間に無線トランシーバ２３０へのアクセスを要求する第２のリクエストをオペレーティングシステム２０８へとスタックを下って送信することと、ステップＲ０４ｂで、オペレーティングシステム２０８が第２のアプリケーション２１４から第２のリクエストを受け取ることと、ステップＲ０４ｃで、オペレーティングシステム２０８が然るべくＲＦトランシーバ２３０へのアクセスをスケジューリングすることとを有してよい。
【００６２】
代替の実施形態では、無線トラフィックスケジューラ２０９は、問題となっている２又はそれ以上のアプリケーション２１０の中の１又はそれ以上に再スケジューリングを提示して、その提示された再スケジューリングが当該アプリケーションに受け入れられることを確認するよう構成される。提示に対する応答に基づき、無線トラフィックスケジューラ２０９は、如何なる特定のスケジュールも実行する前に、再スケジューリングがアプリケーション２１０の性質及び／又はその関連するトラフィックのコンテンツに依存することを確かにすることができる（なお、この実施形態では、オペレーティングシステム２０８における無線トラフィックスケジューラ２０９は、望ましくは、依然として最終的なアービターである。）。ある実施形態では、無線トラフィックスケジューラ２０９は、いずれのアプリケーション２１０も他のスケジューリングを受け入れることができない場合に、それらのアプリケーション２１０へ妥協的スケジューリングを提案するよう構成されてよい。
【００６３】
トラフィックスケジューラ２０９が実行される場合に実行するよう構成され得る方法の例が、図５の略フローチャートにおいて表される。
【００６４】
図５におけるステップＳ０１で、第１のアプリケーション２１２は、ある指定された１又はそれ以上の時間（例えば、所定パターンの時間）に無線トランシーバ２３０へのアクセスを要求する第１のリクエストを、オペレーティングシステム２０８における無線トラフィックスケジューラ２０９へとスタックを下って送信する。ステップＳ０２で、無線トラフィックスケジューラ２０９は、第１のアプリケーション２１２からＯＳ層２０８で第１のリクエストを受け取る。ステップＳ０３で、無線トラフィックスケジューラ２０９は、（一例として）他の無線トラフィックが同時にスケジューリングされないと決定し、要求された１又はそれ以上の時間におけるアクセスを認める応答を、ＯＳ層２０８からスタックを上って第１のアプリケーション２１２へ返す。ステップＳ０４で、第１のアプリケーション２１２は、応答を受け取り、そのスケジューリングされたトラフィックを然るべく発生させ始める（実施形態において、アプリケーションは、実際には、早い時期にトラフィックを発生させてそれをスケジューリングされた時間まで待ち行列に入れるのでなく、トラフィックを発生させるのをスケジューリングされた時間まで待ってよい。）。
【００６５】
後にステップＳ０５で、第２のアプリケーション２１４は、ある他の指定された１又はそれ以上の時間（例えば、所定パターンの時間）に無線トランシーバ２３０へのアクセスを要求する第２のリクエストを、無線トラフィックスケジューラ２０９へとスタックを下って送信する。ステップＳ０６で、トラフィックスケジューラ２０９は、第２のアプリケーション２１４からＯＳ層２０８で第２のリクエストを受け取る。ステップＳ０７で、無線トラフィックスケジューラ２０９は、（一例として）第２のアプリケーション２１４によって要求された１又はそれ以上の時間が、第１のアプリケーション２１２に関連するトラフィックに既にスケジューリングされた無線トランシーバ２３０のフェーズのパワーアップフェーズの外にあると決定する。この決定に基づき、ステップＳ０８で、無線トラフィックスケジューラ２０９は、第２のアプリケーション２１４による使用のための代替のスケジューリングとして、第１のアプリケーション２１２に既にスケジューリングされた１又はそれ以上の時間（すなわち、バースト／フェーズ）を提示する応答を、ＯＳ層２０８からスタックを上って第２のアプリケーション２１４へ返す。ステップＳ０９で、第２のアプリケーション２１４は、この提示された再スケジューリングが、例えば、第２のアプリケーション２１４に関連するトラフィックが如何にタイムクリティカルであるのかに基づき、受け入れられるかどうかを決定し、どちらにしても、提示を受け入れる又は拒否する更なるメッセージを、無線トラフィックスケジューラ２０９に対してスタックを下って返す。提示が受け入れられる場合には、ステップＳ１０で、第２のアプリケーションは、そのスケジューリングされたトラフィックを然るべく発生させ始める（先と同じく、実施形態において、アプリケーションは、実際には、早い時期にトラフィックを発生させてそれをスケジューリングされた時間まで待ち行列に入れるのでなく、トラフィックを発生させるのをスケジューリングされた時間まで待ってよい。）。
【００６６】
ステップＳ１１で、無線トラフィックスケジューラ２０９は、第２のアプリケーション２１４から応答を受け取り、ステップＳ１２で、それが第２のアプリケーション２１４によって受け入れられたか又は拒否されたかを決定する。提示が第２のアプリケーション２１４によって、例えば、そのトラフィックがあまりにタイムクリティカルであるために、拒否される場合には、実施形態において、無線トラフィックスケジューラ２０９は、第１のアプリケーション２１２及び第２のアプリケーション２１４の両方に受け入れられ得る妥協案を決定しようと試みてよい。例えば、第１のアプリケーション２１２が、あるトラフィックの送信のためにある時間ｔを既に割り当てられており、第２のアプリケーション２１４が目下他の時間ｔ＋ｎを要求している場合に、無線トラフィックスケジューラ２０９は、第１のアプリケーション２１２及び第２のアプリケーション２１４の両方からのトラフィックのために提示すべき提案される妥協的な再スケジューリングｔ＋（ｎ／２）を決定してよい。これは、例えば、第１のアプリケーション２１２のスケジューリングされた時間及び／又は第２のアプリケーション２１４の要求された時間のある所定の時間窓内にある妥協的な時間差ｎ／２を条件としてよい。何らかのそのような条件が満足されるとするならば、ステップＳ１４で、無線トラフィックスケジューラ２０９は、ＯＳ層２０８からスタックを上って第１のアプリケーション２１２及び第２のアプリケーション２１４へ他の提示（妥協的提示）を送信する。妥協的な処理は、単一の要求された時間について、又は要求された時間のパターンについて、実行されてよい。
【００６７】
ステップＳ１５で、第１のアプリケーション２１２は、妥協的提示を受け取り、それが受け入れられるかどうかを決定し、どちらにしても、ＯＳ層２１８における無線トラフィックスケジューラ２０９へとスタックを下って応答を返す。同様に、ステップＳ１６で、第２のアプリケーション２１４は、妥協的提示を受け取り、それが自身に受け入れられるかどうかを決定し、どちらにしても、先と同じく、ＯＳ層２０８における無線トラフィックスケジューラ２０９へとスタックを下って応答を返す。無線トラフィックスケジューラ２０９は、ステップＳ１７で妥協的提示に対する応答を受け取り、ステップＳ１８で、第１のアプリケーション２１２及び第２のアプリケーション２１４の両方が受け入れたのか又は拒否したのかを決定し、両アプリケーション２１２及び２１４に結果を知らせる更なるメッセージを送信する。妥協的提示が第１のアプリケーション２１２及び第２のアプリケーション２１４の両方に受け入れられた場合には、ステップＳ１９で、第１のアプリケーション２１２はメッセージを受け取り、その再スケジューリングされたトラフィックを然るべく発生させ始め、同様に、ステップＳ２０で、第２のアプリケーション２１４は、メッセージを受け取り、その再スケジューリングされたトラフィックを然るべく発生させ始める。
【００６８】
しかしながら、妥協案が第１のアプリケーション２１２及び第２のアプリケーションのいずれかによっても受け入れられない場合には、ステップＳ２１で、無線トラフィックスケジューラ２０９は、如何にして膠着状態を解消すべきかを判断する必要がある。無線トラフィックスケジューラ２０９は、この場合において、単純に、異なる要求された時間に第１のアプリケーション２１２及び第２のアプリケーション２１４に関連するトラフィックの別個のスケジューリングを可能にしてよく、単純に、２つのアプリケーション２１２，２１４の夫々からのトラフィックの間において無線トランシーバ２３０をオン及びオフする際に生ずる余分の電力を受け入れるべきである。代替的に、例えば２つのアプリケーション２１２，２１４の一方又は両方に割り当てられる優先度に依存して、無線トラフィックスケジューラ２０９は、アプリケーション２１２，２１４の一方に他方のタイミングを受け入れさせ、又はそれら両方に妥協的タイミングを受け入れさせようとしていると判断してよい。ＯＳ層２０８は、ハードウェアリソースへのアクセスの最終的なアービターであり、従って、望ましくは、アプリケーション２１０は、それら自身のスケジューリングを強制する権限を有さない。
【００６９】
上記の処理に含まれ得る（しかし、図４には示されない）ステップの代替又は追加の組は、無線トラフィックスケジューラが第２のアプリケーション２１４によって要求されるスケジューリングを第１のアプリケーション２１２に提示するものである。
【００７０】
また、処理は、第３の又は更なるアプリケーション２１６又は２１８が無線トランシーバ２３０へのアクセスを要求するために繰り返されて、３又はそれ以上のアプリケーション２１０による使用のために無線トランシーバ２３０の共通のパワーアップフェーズについて交渉するようにしてよい。
【００７１】
他の代替の実施形態に従って、無線トラフィックスケジューラは、図４の実施形態において見られるようにＶｏＩＰ又はＩＭクライアント２１４のようなアプリケーション２１０の１つにおいて実装されるが、第１のアプリケーション２１２のような他のアプリケーション２１０の１又はそれ以上と交渉するよう構成されてよい。これはまた、交渉に参加するために第１のアプリケーション２１２に対する幾らかの変更を伴うことがある。この場合に、無線トラフィックスケジューラは、問題となっているアプリケーション２１０の１又はそれ以上（例えば、専用アプリケーション２１２）に関連するトラフィック（それ自身のトラフィック及び／又は１又はそれ以上の他のアプリケーションのうち１つのトラフィックのいずれか）の再スケジューリングについて交渉するために、他のアプリケーションの１又はそれ以上と通信するよう構成される。先と同じく、目的は、２又はそれ以上の異なるアプリケーション２１０に関連するトラフィックを、図３ｂの例において表されるように、無線トランシーバ２３０の同じ連続したパワーアップ“バースト”にスケジューリングするように、アプリケーション２１０の１又はそれ以上のトラフィックを再スケジューリングすることである。この実施形態では、レジスタ２３８は、ＯＳ２０８又はドライバ層２０４よりむしろ、関連するアプリケーション２１０によって書き込まれてよい。
【００７２】
アプリケーション層２１０で実装されるトラフィックスケジューラが実行される場合に実行するよう構成され得る方法の例が、図６の略フローチャートにおいて表される。
【００７３】
図６におけるステップＴ０１で、第１のアプリケーション２１２は、あるスケジューリングされた１又はそれ以上の時間にトラフィックを発生させ始める。ステップＴ０２で、第２のアプリケーション２１４は、それが無線トランシーバ２３０へのアクセスを要求する特定のトラフィックを有するかどうかを決定し、第２のアプリケーション２１４における無線トラフィックスケジューラは、どの時間に第１のアプリケーション２１２が無線トランシーバ２３０のパワーアップフェーズを使用しようと既に計画しているのかを尋ねるよう、第１のアプリケーション２１２へクエリーメッセージを送信する。第１のアプリケーション２１２は、ステップＴ０３でこのクエリーを受け取り、ステップＴ０４で、その目下スケジューリングされている１又はそれ以上の時間（例えば、所定パターンの時間）のインジケーションを第２のアプリケーション２１４へ返す。
【００７４】
第１のアプリケーション２１２からの応答に基づき、ステップＴ０５で、第２のアプリケーション２１４は、第１のアプリケーション２１２のために既にスケジューリングされている時間（すなわち、バースト／フェーズ）と一致するよう自身のトラフィックをスケジューリングする用意ができているかどうかを決定する。用意ができている場合には、ステップＴ０６で、第２のアプリケーション２１４は、第１のアプリケーション２１２のトラフィックと同時に起こるようスケジューリングされた時間に、そのトラフィックを発生させ始める。
【００７５】
しかし、用意ができていない場合には、ステップＴ０７で、第２のアプリケーション２１４において実装されている無線トラフィックスケジューラは、上述されたのと同じように妥協的スケジューリングを決定するよう、すなわち、第１のアプリケーション２１２による使用のために既にスケジューリングされている時間と、第２のアプリケーション２１４によってそのトラフィックのために望まれている時間との間に提案される時間を見出そうとするよう、試みてよい。第２のアプリケーション２１４における無線トラフィックスケジューラは、この妥協的提案を第１のアプリケーション２１２へ送信する。代替的に、又は追加的に、第２のアプリケーション２１４における無線トラフィックスケジューラは、それ自身の望ましい１又はそれ以上のスケジューリング時間を提案として送信してよい。第１のアプリケーション２１２は、提案される再スケジューリングをステップＴ０８で受け取り、ステップＴ０９で、これが第１のアプリケーション２１２に受け入れられるかどうかを（例えば、第１のアプリケーション２１２に関連するトラフィックが如何にタイムクリティカルであるかに依存して）決定する。
【００７６】
提案が第１のアプリケーション２１２に受け入れられない場合には、第１のアプリケーション２１２は、そのようなものとして第２のアプリケーション２１４に応答する。ステップＴ１０で、第２のアプリケーション２１４は、次いで、独立にスケジューリングされた時間にそれ自身のトラフィックを発生させ始める。しかし、提案が第１のアプリケーション２１２に受け入れられる場合には、次いでステップＴ１１で、第１のアプリケーション２１２は、提案において計画されている再スケジューリングされた時間にそのトラフィックを発生させることへ切り替える。第１のアプリケーション２１２はまた、第２のアプリケーション２１４に応答し、それによりステップＴ１２で、第２のアプリケーション２１４はまた、提案された時間にトラフィックを発生させ始める。
【００７７】
上記の実施形態が単なる一例として記載されていることは明らかである。他の変形例は、ここでの開示を鑑みて当業者には明らかになるであろう。本発明の適用範囲は、記載されている実施形態によっては制限されず、添付の特許請求の範囲によってのみ制限される。
【図１】
0005964333.tif 000002
【図２】
0005964333.tif 000003
【図３ａ】
0005964333.tif 000004
【図３ｂ】
0005964333.tif 000005
【図４ａ】
0005964333.tif 000006
【図４ｂ】
0005964333.tif 000007
【図５】
0005964333.tif 000008
【図６】
0005964333.tif 000009