(57)【要約】本発明は、ＷＬＡＮにおけるモビリティ機能システムアーキテクチャ（ＭＥＳＡ）のＯＳ独立およびプラットフォーム独立を可能にするソフトウェアアーキテクチャおよび支援ＡＰＩに関する。本発明は、ＷＬＡＮノードにおける異なるプラットフォームにおいてポータブルおよびモジュールのソフトウェア実行を支援するシステムを提供する。ノードは、制御プレーンアルゴリズムを実行しおよびＭＡＣドライバとの双方向通信をするよう構成された制御プレーンと、データ・プレーン・アルゴリズムを実行しおよびＭＡＣドライバとの双方向通信をするよう構成されたデータプレーンと、ＯＡＭエージェントとの双方向通信をするよう構成されたＯＡＭ処理タスクとを含む。ＡＰＩは、ＯＳの違いと、ＯＡＭエージェント実行の特殊性と、ＡＰプラットフォームの違いとに関係なく、外部モジュールとの双方向通信を可能にするよう提供される。
2007532051.tif 000002
【特許請求の範囲】
【請求項１】
高位層エンティティと、メディアアクセス制御（ＭＡＣ）ドライバと、ＯＡＭ（Ｏｐｅｒａｔｉｏｎ、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ）エージェントと、物理層エンティティとを含んでいるワイヤレス・ローカル・エリア・ネットワーク（ＷＬＡＮ）ノードにおける異なるプラットフォームにおいてポータブルおよびモジュールのソフトウェア実行を支援するシステムであって、
制御プレーンアルゴリズムを実行しおよびＭＡＣドライバとの双方向通信をするよう構成された制御プレーンと、
データ・プレーン・アルゴリズムを実行しおよび前記ＭＡＣドライバとの双方向通信をするよう構成されたデータプレーンと、
前記ＯＡＭエージェントとの双方向通信をするよう構成されたＯＡＭ処理タスクと、
外部モジュールの特殊性および実装に関係なく前記外部モジュールとの双方向通信を可能にするアプリケーション・プログラミング・インターフェース（ＡＰＩ）と
を備えたことを特徴とするシステム。
【請求項２】
前記制御プレーンが、前記ＭＡＣドライバから測定データを収集しかつ他のタスクと連係するチャネル品質制御タスクを含み、および前記データプレーンが、前記ＭＡＣドライバからデータを転送されるデータ・イン・タスクと、前記ＭＡＣドライバにデータを転送するデータ・アウト・タスクとを含むことを特徴とする請求項１に記載のシステム。
【請求項３】
前記チャネル品質制御タスクが、前記ＭＡＣドライバからのアソシエーション要求メッセージを処理しおよびＳＭＰ（ｓｉｌｅｎｔ  ｍｅａｓｕｒｅｍｅｎｔ  ｐｅｒｉｏｄ）中に、隣接したＡＰに対してＡＣＫ（ａｃｋｎｏｗｌｅｄｇｅ）メッセージを収集することを特徴とする請求項２に記載のシステム。
【請求項４】
前記チャネル品質制御タスクが、周波数選択アルゴリズム、エネルギー検出しきい値アルゴリズム、および電力制御アルゴリズムを実行することを特徴とする請求項２に記載のシステム。
【請求項５】
前記チャネル品質制御タスクが、前記アルゴリズムを周期的に実行することを特徴とする請求項４に記載のシステム。
【請求項６】
前記チャネル品質制御タスクが、予め定義されたしきい値のトリガによって前記アルゴリズムを実行することを特徴とする請求項４に記載のシステム。
【請求項７】
無線リソース管理（ＲＲＭ）ＡＰＩが、測定データと統計データとを収集するために前記ＭＡＣドライバに実装され、およびＲＲＭ出力によってＭＡＣ層エンティティと物理層エンティティとを更新することを特徴とする請求項１に記載のシステム。
【請求項８】
ＯＥＭベンダが提供する少なくとも１つのＯＥＭの機能は、前記ノードに含まれ、およびＯＥＭベンダのＡＰＩは、前記ＭＡＣドライバに実装されることを特徴とする請求項１に記載のシステム。
【請求項９】
ＭＥＳＡ機能ブロックを提供することによって、前記ＯＥＭの機能と適切なＭＥＳＡタスクとの間でメッセージを転送することを特徴とする請求項８に記載のシステム。
【請求項１０】
送信関数を前記ＭＥＳＡ機能ブロックがコールすることによって、メッセージヘッダにより前記メッセージを適切なＭＥＳＡタスクに転送することを特徴とする請求項９に記載のシステム。
【請求項１１】
前記送信関数が、関数コールか、ルータのシステム・メッセージ・キューへのメッセージかのいずれかによって、コールされることを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記ＭＥＳＡタスクのキューは、オペレーティングシステム（ＯＳ）カーネルが制御する共有メモリ領域に属することを特徴とする請求項９に記載のシステム。
【請求項１３】
少なくとも１つのＭＥＳＡタスクが、前記ＯＥＭの機能において実行されることを特徴とする請求項１０に記載のシステム。
【請求項１４】
前記送信関数が、前記ＡＰＩを処理するのに適した関数を直にコールすることを特徴とする請求項１３に記載のシステム。
【請求項１５】
ＲＲＭポーティングおよびオペレーティングシステム（ＯＳ）抽象化ＡＰＩが、前記ＭＡＣドライバにおいて実装されることを特徴とする請求項１に記載のシステム。
【請求項１６】
前記ＲＲＭポーティングおよびＯＳ抽象化ＡＰＩが、メモリ割当ＡＰＩ、バッファ管理ＡＰＩ、およびタイマーサービスＡＰＩを含むことを特徴とする請求項１５に記載のシステム。
【請求項１７】
ＯＡＭに対するＲＲＭ  ＡＰＩが、専用ＭＩＢアクセスと標準ＭＩＢアクセスとの両方に対して前記ＯＡＭエージェントに実装されることを特徴とする請求項１に記載のシステム。
【請求項１８】
前記ノードが、アクセスポイント（ＡＰ）、ＷＬＡＮルータ、および端末のうちの１つであることを特徴とする請求項１に記載のシステム。
【請求項１９】
各タスクは、ローカルデータベースによって提供され、および共有データベースは、前記タスクのすべてがアクセスするデータを格納するために提供されることを特徴とする請求項２に記載のシステム。
【請求項２０】
前記ローカルデータベースが、各タスクに固有の構成パラメータと、測定データと、アルゴリズム固有の内部データとを含むことを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記共有データベースが、構成パラメータと、測定データと、複数のタスクの間で共有するのに必要であるアルゴリズム出力とを含むことを特徴とする請求項１９に記載のシステム。
【請求項２２】
前記タスクのすべてが、同時に実行されることを特徴とする請求項２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、ワイヤレス・コミュニケーション・システムに関し、より詳細には、ワイヤレス・ローカル・エリア・ネットワーク（ＷＬＡＮ：Ｗｉｒｅｌｅｓｓ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）におけるモビリティ機能システムアーキテクチャ（ＭＥＳＡ：Ｍｏｂｉｌｉｔｙ  Ｅｎａｂｌｅｄ  Ｓｙｓｔｅｍ  Ａｒｃｈｉｔｅｃｔｕｒｅ）のオペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）独立およびプラットフォーム独立を可能にするソフトウェアアーキテクチャおよび支援アプリケーション・プログラミング・インターフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）に関する。
【背景技術】
【０００２】
従来、例として、ＷＬＡＮは、システムをセルに細分するアーキテクチャに基づく。本明細書において、各セルを基本サービスセット（ＢＳＳ：Ｂａｓｉｃ  Ｓｅｒｖｉｃｅ  Ｓｅｔ）と呼ぶことがある。通常、各セルは、アクセスポイント（ＡＰ：Ａｃｃｅｓｓ  Ｐｏｉｎｔ）により制御される。ＡＰと端末（ＳＴＡ：ＳＴＡｔｉｏｎ）との間の通信は、例えば、８０２．１１規格により定義される。ＷＬＡＮを、単一のＡＰによる単一のセルによって構成することができる場合でさえ、ほとんどのＷＬＡＮは、複数のセルを含む。本明細書において、ＡＰは、ディストリビューションシステム（ＤＳ：Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓｙｓｔｅｍ）、通常はイーサネット（登録商標）、と呼ばれるバックボーンを介して接続される。通常、異なるセルと、それぞれのＡＰと、ＤＳとを含む連結されたＷＬＡＮ全体は、単一の８０２．１１ネットワークと考えられ、および拡張サービスセット（ＥＳＳ：Ｅｘｔｅｎｄｅｄ  Ｓｅｒｖｉｃｅ  Ｓｅｔ）と呼ばれることがある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、ＷＬＡＮにおいて、ＭＥＳＡのＯＳ独立およびプラットフォーム独立を可能にするソフトウェアアーキテクチャおよび支援ＡＰＩに関する。本発明は、ＷＬＡＮノードにおける異なるプラットフォームにおいてポータブルおよびモジュールのソフトウェア実行を支援するシステムを提供する。
【課題を解決するための手段】
【０００４】
ＷＬＡＮノードは、制御プレーンアルゴリズムを実行しおよびメディアアクセス制御（ＭＡＣ：Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）ドライバとの双方向通信をするよう構成された制御プレーンと、データ・プレーン・アルゴリズムを実行しおよびＭＡＣドライバとの双方向通信をするよう構成されたデータプレーンと、ＯＡＭ（Ｏｐｅｒａｔｉｏｎ、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ）エージェントとの双方向通信をするよう構成されたＯＡＭ処理タスクとを含む。ＡＰＩを提供して、ＯＳの違いと、ＯＡＭエージェント実行の特殊性と、ＡＰプラットフォームの違いとに関係なく、外部モジュールとの双方向通信を可能にする。制御プレーンは、チャネル品質制御タスクを含み、およびデータプレーンは、データ・イン・タスク（ｄａｔａ−ｉｎ  ｔａｓｋ）とデータ・アウト・タスク（ｄａｔａ−ｏｕｔ  ｔａｓｋ）とを含む。チャネル品質制御タスクは、ＭＡＣドライバから測定データ（ｍｅａｓｕｒｅｍｅｎｔ）を収集し、および他のタスクと連携する。データ・イン・タスクは、ＭＡＣドライバからデータを転送され、およびデータ・アウト・タスクは、ＭＡＣドライバにデータを転送する。
【発明を実施するための最良の形態】
【０００５】
本発明についての、より詳細な理解は、本明細書において、例として与えられおよび添付図面と結びついて理解されるべき望ましい実施形態の、以下の説明から得られるであろう。
【０００６】
以下では、専門用語の「ＳＴＡ」は、ワイヤレス送受信ユニットに制限されず、ユーザ装置、移動局、固定または移動の加入者ユニット、ページャ、またはワイヤレス環境において動作可能な他のあらゆる種類の装置を含む。加えて、これらの用語のすべてを、互いに取替え可能に用いることができ、本明細書において、用語の各々は、制限されないが、その他の用語のすべてを包含する。以下に参照する場合、専門用語の「ＡＰ」は、基地局に制限されず、ノードＢ、サイトコントローラ、またはワイヤレス環境における他のあらゆる種類のインターフェース装置を含む。加えて、これらの用語のすべてを、互いに取替え可能に用いることができ、本明細書において、用語の各々は、制限されないが、その他の用語のすべてを包含する。
【０００７】
ＭＥＳＡの主眼は、ルータ、ＡＰ、およびＳＴＡなどのＷＬＡＮノードにおけるアルゴリズムに関する発展中の無線リソース管理（ＲＲＭ：Ｒａｄｉｏ  Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｍｅｎｔ）、サービス品質（ＱｏＳ：Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）、および移動管理についてである。本発明を説明するのに用いる図面の図形は、主にＡＰを基にしている。しかしながら、同一のアーキテクチャを、ＷＬＡＮルータまたはＷＬＡＮ端末（すなわち、移動端末）など、他のＷＬＡＮノードにおいてさらに実装することができることを補足すべきである。ＡＰは、ＭＥＳＡソフトウェアアーキテクチャを例示するのに用いられている。なぜならば、ＡＰにおけるＷＬＡＮインテリジェンスのほとんどを集中する豊富な（ｆａｔ）ＡＰアーキテクチャオブションが、今日のＷＬＡＮ市場における優れたＡＰソリューションであるように思われるからである。
【０００８】
ＡＰは、無線周波数通信、ユーザ認証、通信の暗号化、セキュアなローミング、ＷＬＡＮ管理、および場合によりネットワークルーティングを処理する。アルゴリズムのインテリジェンスは、端末管理エンティティ（ＳＭＥ：Ｓｔａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ｅｎｔｉｔｙ）に属する。アルゴリズムは、サービス・アクセス・ポイント（ＳＡＰ：Ｓｅｒｖｉｃｅ  Ａｃｃｅｓｓ  Ｐｏｉｎｔ）インターフェースを介して、メディアアクセス制御（ＭＡＣ）層管理エンティティ（ＭＬＭＥ：ＭＡＣ  Ｌａｙｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｅｎｔｉｔｙ）と物理層管理エンティティ（ＰＬＭＥ：Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｅｎｔｉｔｙ）とをインターフェースにより連結する。
【０００９】
一般に、本発明にかかるＭＥＳＡソフトウェアアーキテクチャは、モジュールであり、および最小費用と最小開発期間とにおいて、異なるカスタマープラットフォームに対して容易にポータブルであるソフトウェア実装を許容する。ＭＥＳＡソフトウェアアーキテクチャへのＡＰＩ層の包含は、ＭＥＳＡアルゴリズムを、将来のカスタマープラットフォームおよびＯＳの特殊性から分離する。このことは、ミドルウェアとしてのＭＥＳＡソフトウェアの、種々のカスタマープラットフォームへの統合を非常に単純化する。
【００１０】
さて図面を参照すると、図１の図１Ａおよび図１Ｂは、本発明にかかるＭＥＳＡソフトウェアアーキテクチャを含むシステム１００の高レベル機能ブロック図である。システム１００は、端末管理エンティティ（ＳＭＥ）１１０と、メディアアクセス制御（ＭＡＣ）のドライバ／ＯＳインターフェース１２０と、ＯＡＭエージェント１３０と、ＴＣＰ、ＩＰ、ｈｔｔｐなどの他の高位層エンティティ１４０と、８０２．１１チップセット１５０と、８０２．３チップセット１６０とを含む。ＳＭＥ１１０は、ＷＬＡＮ  ＲＲＭ機能ブロック１１２を含み、およびＯＥＭベンダからの他のＳＭＥ機能ブロック１１４をさらに含むことができる。ＲＲＭ機能ブロック１１２は、ＲＲＭ制御論理１１６を実装し、およびＱｏＳ制御と、レート制御と、スケジューリングと、電力制御となどを含むＲＲＭアルゴリズム１１８を実行する。
【００１１】
ＲＲＭ  ＡＰＩ１２２は、ＭＡＣドライバ１２０において実装される。ＲＲＭ  ＡＰＩ１２２は、ＲＲＭアルゴリズムが必要とする測定データおよび統計データ（ｓｔａｔｉｓｔｉｃｓ）の収集に対するＡＰＩを主に含み、同様にＲＲＭ出力によりＭＡＣ層または物理層を更新するＡＰＩを含む。これらのＡＰＩは、特定のドライバが選択されると、ＭＡＣドライバＡＰＩにマッピングされる。ＲＲＭ  ＡＰＩ１２２を、ＭＡＣドライバ１２０において実装して、ＯＥＭベンダが提供するＳＭＥ機能１１４にインターフェースにより連結する。さらに、ＲＲＭポーティング（ｐｏｒｔｉｎｇ）およびＯＳ抽象化ＡＰＩ１２４は、ＭＡＣドライバ１２０に実装される。ＲＲＭポーティングおよびＯＳ抽象化ＡＰＩ１２４は、メモリ割当ＡＰＩと、バッファ管理ＡＰＩと、タイマーサービスＡＰＩとを含むことが望ましい。これらのＡＰＩは、ポータブル・オペレーティング・システム・インターフェース（ＰＯＳＩＸ：Ｐｏｒｔａｂｌｅ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）である。ＰＯＳＩＸは、ＩＥＥＥにより提出され、ＩＳＯおよびＡＮＳＩにより認められたオープン・オペレーティング・インターフェース規格であり、プラットフォーム独立を可能、かつポータビリティを容易に可能にするために従う規格である。ＯＡＭに対するＲＲＭ  ＡＰＩ１３２は、専用（ｐｒｏｐｒｉｅｔａｒｙ）ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂｌｏｃｋ）アクセス１３４および標準（ｓｔａｎｄａｒｄ）ＭＩＢアクセス１３６の両方に対して、ＯＡＭエージェント１３０に実装される。
【００１２】
図２は、本発明にかかるＭＥＳＡソフトウェアアーキテクチャを組入れるシステム２００のブロック図である。システム２００は、高位層エンティティ２１０と、ＭＡＣドライバ２２０と、８０２．１１チップセット２３０と、ＯＡＭエージェント２４０と、ＭＥＳＡソフトウェアアーキテクチャ２５０とを含む。ＭＥＳＡソフトウェアアーキテクチャ２５０は、チャネル品質制御タスク２５２と、データ・イン・タスク２５４と、データ・アウト・タスク２５６と、ＯＡＭ処理タスク２５８とを含んでいる複数のタスクを含む。
【００１３】
チャネル品質制御タスク２５２は、受信パケット誤り率（Ｒｘ  ＰＥＲ：Ｒｅｃｅｉｖｅｄ  Ｐａｃｋｅｔ  Ｅｒｒｏｒ  Ｒａｔｅ）など、ＭＡＣドライバ２２０から測定データを収集する。測定データが異なると、周期性が異なることがある。チャネル品質制御タスク２５２は、測定データの収集のために他のタスクと連携し、および必要に応じて適切なフィルタリングを実行する。さらに、チャネル品質制御タスク２５２は、ＭＡＣドライバ２２０からのアソシエーション要求メッセージ（ａｓｓｏｃｉａｔｉｏｎ  ｒｅｑｕｅｓｔ  ｍｅｓｓａｇｅ）を処理し、およびＳＭＰ（Ｓｉｌｅｎｔ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｐｅｒｉｏｄ）中に、隣接したＡＰ宛のＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅ）メッセージを収集する。ＳＭＰは、ＭＥＳＡアルゴリズムが使用する測定データを収集するために、ＡＰがデータを何も転送せずに、ＡＰの周囲の状況をただ聞いている間の時間である。チャネル品質制御タスク２５２は、周波数選択アルゴリズム、エネルギー検出しきい値アルゴリズム、および電力制御アルゴリズムなどのアルゴリズムを実行する。高（ｌｏｕｄ）パケット生成論理は、データ・アウト・タスク２５６において実行される。
【００１４】
チャネル品質制御タスク２５２において実行されるアルゴリズムを、周期タイマまたは予め定義された測定データしきい値のトリガにより、起動することができる。チャネル品質制御タスク２５２は、起動フェーズ制御をＯＡＭ処理タスク２５８と共有し、およびＲＭＭフィーチャ（ｆｅａｔｕｒｅ）の可能／不可能などのＯＡＭ要求を処理する。ＱｏＳアルゴリズムは、チャネル品質制御タスク２５２とデータ・アウト・タスク２５６との間に割当られる。
【００１５】
データ・アウト・タスク２５６は、データをＭＡＣドライバ２２０に転送し、および不良フレーム数と、良フレーム数と、ＡＰ自体のチャネル利用と、ＡＣＫ損失数となど、転送されたデータに関する統計データを収集する。データ・アウト・タスク２５６は、レート制御およびスケジューリングのアルゴリズムと、ＱｏＳアルゴリズムの一部とを実行する。電力制御アルゴリズムを支援するデータ・アウト・タスク２５６は、データ・アウト・タスク２５６が収集する受信信号強度（ＲＳＳＩ：Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ  Ｉｎｄｉｃａｔｏｒ）の測定データを使用して、結びつけられたＳＴＡが読取るＲＳＳＩを評価し、および電力制御の遅延干渉の評価処理が使用するヒストグラムを更新する。さらに、データ・アウト・タスク２５６は、チャネル品質制御タスク２５２が保持する関連パス損失蓄積（ｒｅｌｅｖａｎｔ  ｐａｔｈ  ｌｏｓｓ  ｂｉｎ）へのＴｘパケットの存続時間を合計することにより、データ・アウト・タスク自体のＡＰロードのヒストグラムに属する最新のインスタンスを更新する。
【００１６】
データ・イン・タスク２５４は、ＭＡＣドライバ２２０から入来するデータについて、ＭＥＳＡアルゴリズムが必要とする情報を受信し、およびＭＥＳＡアルゴリズムが必要とする情報をＲＲＭソフトウェアに送信する。ＲＲＭソフトウェアは、ＡＰと結びつけられた各ＳＴＡに対してキューを保持する。
【００１７】
ＯＡＭ処理タスク２５８は、ＯＡＭエージェント２４０と双方向通信をして、他のＭＥＳＡタスクに対して構成パラメータを取得かつ割当て、他のＭＥＳＡタスクが収集する種々の実行管理およびフォルト管理の統計データを処理し、およびＯＡＭエージェント２４０によってＯＡＭマネージャ（図示せず）に報告されるこれらの統計データを、必要に応じてフィルタリングする。さらに、ＯＡＭ処理タスク２５８は、ＭＥＳＡソフトウェアのレディ状態を、（チャネル品質制御タスク２５２からの受信に応じて、）ＯＡＭエージェント２４０に報告する。
【００１８】
本発明にかかるＭＥＳＡソフトウェアアーキテクチャは、割当てられたデータベースアプローチを使用して、ロック／アンロック要求と、システム実行に関する負の影響とを最小化する。データベースは、２つのカテゴリに分類される。すなわち、データベース２６２、２６４などのローカルデータベース、および共有データベース２７０である。
【００１９】
タスク毎に少なくとも１つのローカルデータベースがある。ローカルデータベースは、以下のサブデータベースを含む。すなわち、各タスクに固有の構成パラメータのサブデータベースと、測定データのサブデータベースと、アルゴリズム固有の内部データのサブデータベースとである。構成パラメータは、ＭＩＢから収集され、およびＯＡＭエージェント２４０から構成パラメータを取得するＯＡＭ処理タスク２５８によって割当てられる。アルゴリズム固有の内部データを、アルゴリズムに固有のデータベースにおいて保存する必要がある。アルゴリズム固有の内部データは、測定データベースにおいて実行されたフィルタリングからの出力を含む。ＯＡＭ処理タスク２５８に対するローカルデータベースは、ＯＡＭマネージャに報告するために集められた、実行および統計のデータを含むことができる。
【００２０】
共有データベース２７０は、２つ以上のタスクが共有する必要があるかもしれないデータを含む。さらに、共有データベース２７０は、複数のタスク間で共有する必要がある構成パラメータと、２つ以上のタスクが使用する必要がある測定データと、他のタスクが参照する必要があるアルゴリズム出力とを含む。
【００２１】
図３は、本発明にかかるシステム３００の図であり、本明細書において、ＭＥＳＡソフトウェアアーキテクチャ３０２が、データプレーン３１０および制御プレーン３２０を含んでいる。本発明にかかる制御プレーン３２０は、データ処理の優先順位（すなわち、データ流出か、データ流入か）における柔軟性を提供するデータプレーン３１０から分離される。本発明のモジュールアーキテクチャは、将来の容易な拡張性を提供し、および互いから独立したフィーチャアクティベーションを可能にする。ポータビリティを、８０２．１１チップセットドライバ３０４、ＯＡＭエージェント３０６、およびＯＳ（図示せず）などの外部モジュールとの、よく定義された（ｗｅｌｌ  ｄｅｆｉｎｅｄ）インターフェースによって達成することができる。すべてのタスクは、同時に実行することができる。すべてのタスクは、データを転送するのと同時に、バックグランドにおいて測定データを処理することを可能にする。データ・プレーン・アルゴリズムは、最適なデータ・レート・アルゴリズムと、スケジューリング転送キューアルゴリズムと、許可制御および混雑制御（すなわち、ＱｏＳ）の一部の実行アルゴリズムを決定する。制御プレーンアルゴリズムは、周波数管理アルゴリズムと、電力制御アルゴリズムと、ＱｏＳの一部が関係するアルゴリズムとを実行する。
【００２２】
例として、以下は、起動フェーズ中に実行されるタスクの説明である。起動フェーズにおいて、チャネル品質制御タスク３５２は、初期化状態（Ｉｎｉｔ状態）および検出ＳＭＰ状態において動作する。Ｉｎｉｔ状態において、チャネル品質制御タスク３５２は、初期ＯＡＭ構成パラメータを取得し、およびソフトウェア初期化処理を実行する。検出ＳＭＰ状態において、ＳＭＰ機能を実行する。検出ＳＭＰ状態の最後では、チャネル品質制御タスク３５２は、データ・アウト・タスク３５６に信号を送出し、および同一状態にとどまる。チャネル品質制御タスク３５２がデータ・アウト・タスク３５６から高（ｌｏｕｄ）パケット生成処理の終了を示す表示を受信すると、チャネル品質制御タスク３５２は、初期Ｔｘ電力の計算を実行する。次に、チャネル品質制御タスク３５２は、他のタスク（すなわち、データ・アウト・タスク３５６、データ・イン・タスク３５４、およびＯＡＭ処理タスク３５８）に起動フェーズの終了を示し、通常動作フェーズに対するすべてのタイマを設定し、適切な測定データを設定し、および通常動作の主状態に移行する。
【００２３】
起動フェーズでは、データ・アウト・タスク３５６は、Ｉｎｉｔ状態および検出ＬＰＧ（Ｌｏｕｄ  Ｐａｃｋｅｔ  Ｇｅｎｅｒａｔｉｏｎ）状態において動作する。Ｉｎｉｔ状態において、データ・アウト・タスク３５６は、初期ＯＡＭ構成パラメータを取得し、およびソフトウェア初期化処理を実行する。検出ＬＰＧ状態において、データ・アウト・タスク３５６は、起動フェーズの高（ｌｏｕｄ）パケット生成処理を実行する。起動フェーズの高（ｌｏｕｄ）パケット生成処理の最後では、データ・アウト・タスク３５６は、チャネル品質制御タスク３５２に信号を送出することにより、高（ｌｏｕｄ）パケット生成処理の終了を示し、および同一状態にとどまる。
【００２４】
起動フェーズでは、データ・イン・タスク３５４は、ＯＡＭのために、初期ＯＡＭ構成パラメータを取得し、およびソフトウェア初期化処理を実行する。データ・イン・タスク３５４は、チャネル品質制御タスク３５２から起動フェーズの終了を示すメッセージを受信すると、Ｉｎｉｔ状態から通常動作の主状態に移行する。
【００２５】
起動フェーズでは、ＯＡＭ処理タスク３５８は、Ｉｎｉｔ状態において動作する。Ｉｎｉｔ状態において、ＯＡＭ処理タスク３５８は、ＯＡＭのために、初期ＯＡＭ構成パラメータを取得し、およびソフトウェア初期化処理を実行する。さらに、ＯＡＭ処理タスク３５８は、ＯＡＭパラメータを他のＭＥＳＡタスクに割当てる。
【００２６】
起動フェーズの後に、ＭＥＳＡソフトウェアは、通常動作フェーズに入る。通常動作フェーズにおいて、チャネル品質制御タスク３５２が取り得る状態は、通常動作の主状態と、通常動作のＳＭＰ状態と、チャネル更新状態とである。
【００２７】
通常動作の主状態では、チャネル品質制御タスク３５２は、結びつけられたＳＴＡから受信したデータについて測定データおよび種々の統計データを集め、測定データをフィルタリングし、現在のＡＰのチャネル利用を周期的に評価し、およびＭＥＳＡアルゴリズムを実行する。通常動作のＳＭＰ状態では、チャネル品質制御タスク３５２は、チャネル利用、ＡＰが現在使用しているチャネルを含むＡＣＳにおけるすべてのチャネルに対するキャリアロックに直面したＲＳＳＩ、キャリアロック（干渉測定データ）がない場合のＲＳＳＩ、隣接したＡＰにＳＴＡが送信するＡＣＫの数など、隣接したＡＰについての測定データを収集する。常に、測定データのフィルタリングは、状態に関係なくバックグランドにおいて実行されている。データ・アウト・タスク３５６またはデータ・イン・タスク３５４は、チャネル品質制御タスク３５２の通常動作のＳＭＰ状態を知る必要はない。結びつけられたＳＴＡに転送されるデータに対して、データ・アウト・タスク３５６がＡＣＫ／ＮＡＣＫの受信を抑制するのに使用するタイマは、通常動作フェーズのＳＭＰ継続時間よりもより大きな値に設定されるであろう。チャネル更新中、チャネル品質制御タスク３５２は、チャネル更新状態に移行する。
【００２８】
通常動作フェーズでは、データ・アウト・タスク３５６の状態は、通常動作の主状態と、ＡＣＫ待ち状態とである。通常動作の主状態では、データ・アウト・タスク３５６は、データをＭＡＣドライバに転送し、遅延干渉の評価統計データ（すなわち、ＳＴＡが読取るＲＳＳＩの予測）、およびデータ・アウト・タスク３５６の機能の定義に属する他の統計データを更新する。ＡＰが読取るＲＳＳＩの測定データは、チャネル品質制御タスク３５２により収集され、および測定データのデータベースに格納される。さらに、Ｔｘ電力レベル変化表示は、チャネル品質制御タスク３５２からの通知によって、データ・アウト・タスク３５６によりＭＡＣドライバに転送される。
【００２９】
ＡＣＫ待ち状態では、データ・アウト・タスク３５６は、ＡＣＫ／ＮＡＣＫを待ち受ける。ＡＣＫおよびＮＡＣＫがＭＡＣによりトラッキング（ｔｒａｃｋ）され、およびＮＡＣＫタイマがＭＡＣに属すると仮定すると、別個のタイマによって、高（ｌｏｕｄ）パケット転送の継続時間（Ｔとする）を抑制するタイマを明示的にトラッキングする必要はない。しかしながら、このシナリオによって、内部変数を提供して、ＡＣＫ／ＮＡＣＫの受信によって、タイマ（Ｔ）をリセットすべきかどうかをトラッキングすることが望ましい。
【００３０】
通常動作フェーズでは、データ・イン・タスク３５４は、通常動作の主状態において動作する。通常動作の主状態では、データ・イン・タスク３５４は、データ・イン・タスク３５４とデータ・アウト・タスク３５６との間の通常データ転送機能を実行する。
【００３１】
通常動作フェーズでは、ＯＡＭ処理タスク３５８は、通常動作の主状態において動作する。通常動作の主状態では、ＯＡＭ処理タスク３５８は、オーディット（ａｕｄｉｔ）更新要求とパラメータ更新要求とを他のＭＥＳＡソフトウェアタスクにルーティングし、ＯＡＭエージェントからの実行管理要求とフォルト管理要求とを処理し、および必要に応じてフィルタリングを実行する。
【００３２】
図４は、本発明にかかる商業ＡＰに関するＭＥＳＡソフトウェアアーキテクチャの統合についての一例である。本願発明の特許出願人によるブランド商品「Ｐｅｒｆｏｒｍｗａｒｅ」であるＭＥＳＡソフトウェア製品は、Ａｔｈｅｒｏｓ  ＡＰプラットフォームに統合される。本例において、ＡＰＩは、３つのカテゴリに分けられる。すなわち、ＯＳ  ＡＰＩ（ＯＳ層）４０２と、ＯＡＭ  ＡＰＩ４０４と、ＭＡＣ  ＡＰＩ４０６およびハードウェア制御（ＨＷＣ：ＨａｒｄＷａｒｅ  Ｃｏｎｔｒｏｌ）／ハードウェア抽象化層（ＨＡＬ：Ｈａｒｄｗａｒｅ  Ａｂｓｔｒａｃｔｉｏｎ  Ｌａｙｅｒ）ＡＰＩ４０８とである。
【００３３】
ＯＳ  ＡＰＩ４０２は、ＭＥＳＡソフトウェアが使用する一般的な関数を提供し、ＯＳサービスにアクセスさせる。ＭＥＳＡソフトウェアが使用する一般的な関数は、ＭＥＳＡソフトウェアアルゴリズムが支援基本ＯＳ間の違いを意識することがないよう、各オペレーティングシステムの項目を実行する。
【００３４】
各ターゲットプラットフォームは、実行管理プロトコルインターフェースとネットワーク管理プロトコルインターフェースとの異なるインターフェースによって、異なるＯＡＭエージェントを有することができる。ＯＡＭ  ＡＰＩ４０４は、各ＯＡＭエージェント実行の特殊性を処理することにより、ＯＡＭエージェントの差異からＭＥＳＡソフトウェアを分離する。
【００３５】
ＭＡＣ  ＡＰＩ４０６およびＨＷＣ／ＨＡＬ  ＡＰＩ４０８は、ＡＰプラットフォームの差異に関係なく、端末に関連するＡＰ処理パラメータ（すなわち、周波数、電力レベルなど）を、同様にＭＥＳＡアルゴリズムに必要な測定データを制御する、ＭＡＣ層および物理層のリソースへの、一様なアクセスをＭＥＳＡソフトウェアに提供する。
【００３６】
図５の図５Ａおよび図５Ｂを参照して、ＭＥＳＡソフトウェア起動処理中に実行される機能を、シーケンスにおいて説明する。ＡＰの電源投入後、ＯＥＭベンダソフトウェアは、ＭＥＳＡソフトウェアのメイン起動関数を呼び出す。起動関数では、ＭＥＳＡソフトウェアに関係する以下のＯＳサービスが初期化される。すなわち、ＭＥＳＡソフトウェアに関係するＯＳサービスは、メモリおよびバッファ管理サービス、（ＭＥＳＡタスクと環境との間、および異なるタスク間の）通信チャネル、タイマーサービス、および同期化サービスである。チャネルの識別子を、グローバルな構造体において格納し、異なるタスク間の通信を促進する。上述のサービスを初期化後、起動関数は、異なるアプリケーションタスクを生成する。
【００３７】
Ｉｎｉｔ状態では、すべてのタスクは、ソフトウェアの初期化を実行する（ステップ５０２）。ＯＡＭエージェントは、ＯＡＭ開始要求をＯＡＭ処理タスクに送信する（ステップ５０４）。ＯＡＭ処理タスクは、ＯＡＭ開始要求をチャネル品質制御タスクに転送する。（ステップ５０６）。レート制御およびスケジューリング（ＲＣＳ：Ｒａｔｅ  Ｃｏｎｔｒｏｌ  ａｎｄ  Ｓｃｈｅｄｕｌｅｒ）と、ＥＤＴ（Ｅｎｅｒｇｙ  ｄｅｔｅｃｔ  ｔｈｒｅｓｈｏｌｄ）のパート１とを除く、すべてのアルゴリズムデータが、データ・アウト・タスクに転送される（ステップ５０８）。ＲＣＳとＥＤＴのパート１とは、データ・イン・タスクに転送される（ステップ５１０）。チャネル品質制御タスク、データ・アウト・タスク、およびデータ・イン・タスクは、ＯＡＭデータベースに常駐（ｐｏｐｕｌａｔｅ）する（ステップ５１２）。データ・アウト・タスクおよびデータ・イン・タスクは、ＯＡＭ開始確認をＯＡＭ処理タスクに送信する（ステップ５１４、５１６）。チャネル品質制御タスクは、検出ＳＭＰ状態に入り（ステップ５１８）、およびＳＭＰ機能を実行する（ステップ５２０）。チャネル品質制御タスクは、ステップ５２２において初期ベースレンジを計算し、および初期周波数選択を実行する（ステップ５２４）。次に、チャネル品質制御タスクは、ステップ５２６において、高パケット生成（ＬＰＧ：Ｌｏｕｄ  Ｐａｃｋｅｔ  Ｇｅｎｅｒａｔｉｏｎ）要求をデータ・アウト・タスクに送信する。ＬＰＧ要求は、ステップ５２８において検出される。データ・アウト・タスクは、ステップ５３０において高パケットを生成し、およびチャネル品質制御タスクに高パケット生成の確認を送信する（ステップ５３２）。高パケット生成の確認を受信することによって、チャネル品質制御タスクは、初期Ｔｘ電力を計算し、および通常動作を初期化する（ステップ５３４、５３６）。チャネル品質制御タスクは、通常動作の開始に対する表示を、データ・アウト・タスクとデータ・イン・タスクとに送信し（それぞれ、ステップ５４２、５４８）、およびＯＡＭ開始確認をＯＡＭ処理タスクに送信する（ステップ５３８）。ＯＡＭ処理タスクがＯＡＭ開始確認をＯＡＭエージェントに転送する（ステップ５４０）。次に、データ・イン・タスク、データ・アウト・タスク、チャネル品質制御タスク、およびＯＡＭ処理タスクは、通常動作に入る（それぞれ、ステップ５５２、５４６、５５０、および５４４）。
【００３８】
本発明にかかるＡＰＩ機構を、図６および７を参照して説明する。本発明にかかる、ＯＥＭベンダソフトウェアに対する単一インターフェース（すなわち、ｓｅｎｄ＿ｔｏ＿ＭＥＳＡ関数およびｓｅｎｄ＿ｆｒｏｍ＿ＭＥＳＡ関数）、およびｓｅｎｄ＿ｔｏ＿ＭＥＳＡ関数またはｓｅｎｄ＿ｆｒｏｍ＿ＭＥＳＡ関数により内部コールされるＤｉｓｐａｔｃｈ＿Ｂｕｆｆｅｒ関数（送信関数）を提供して、メッセージを適切な受信タスクに転送する。単一インターフェースが提供される一方、インターフェース実装を必要に応じて変更することができることを補足する。
【００３９】
図６は、外部環境からＭＥＳＡソフトウェアへの通信のためのＡＰＩ機構を示す。ＭＥＳＡ機能ブロック６０２は、ｓｅｎｄ＿ｆｒｏｍ＿ＭＥＳＡ関数６０４をコールして、メッセージを受信タスク６０８１、６０８Ｎ、６０８Ｎ＋１に転送する。ｓｅｎｄ＿ｆｒｏｍ＿ＭＥＳＡ関数６０４は、メッセージヘッダ６０５ａとメッセージパラメータ６０５ｂとを含むメッセージ６０５を生成し、およびＤｉｓｐａｔｃｈ＿Ｂｕｆｆｅｒ関数６０６をコールする。コールは、関数コール、またはルータのシステム・メッセージ・キューへのメッセージとすることができる。Ｄｉｓｐａｔｃｈ＿Ｂｕｆｆｅｒ関数６０６は、メッセージヘッダ６０５ａによって、メッセージ６０５を受信タスク・メッセージ・キューにおく。受信タスクは、新しいメッセージに対する受信タスク・メッセージ・キューを連続して監視し、および新しいメッセージを検出すると受信タスクの内部ＡＰＩ処理関数をコールする。
【００４０】
図７は、ＭＥＳＡソフトウェアから外部環境への通信のためのＡＰＩ機構を示す。ＭＡＣまたはＯＡＭの機能ブロック７０２は、ｓｅｎｄ＿ｔｏ＿ＭＥＳＡ関数７０４をコールして、メッセージを受信タスク７０８１、７０８Ｎ、７０８Ｎ＋１に転送する。ｓｅｎｄ＿ｔｏ＿ＭＥＳＡ関数７０４は、メッセージヘッダ７０５ａとメッセージパラメータ７０５ｂとを含むメッセージ７０５を生成し、およびＤｉｓｐａｔｃｈ＿Ｂｕｆｆｅｒ関数７０６をコールする。Ｄｉｓｐａｔｃｈ＿Ｂｕｆｆｅｒ関数７０６は、メッセージヘッダ７０５ａによって、メッセージ７０５を受信タスク・メッセージ・キューにおく。
【００４１】
本スキームは、ＭＥＳＡソフトウェアとベンダソフトウェアとの間に完全な分離をもたらし、およびＰＯＳＩＸメッセージキューを、受信タスク毎に１つ使用する。受信タスクキューは、ＯＳカーネルが制御する共有メモリ領域に属するのが望ましい。本スキームは、２つのシステムコールを必要とする。すなわち、１つがメッセージを受信キューにおくためのシステムコールであり、およびもう一方がメッセージを受信キューから取り出すためのシステムコールである。システムコール（特に受信側の）は、受信タスクに再スケジューリングをさせることができる。送信されるバッファは、大きくなくて（例えば、数バイトで）よい。図３を参照して説明したように、データプレーンでは、実際のユーザデータは、参照されるが、コピーされない。
【００４２】
ＭＥＳＡフィーチャのいくつかを、ベンダが必要とする場合、ベンダ・ソフトウェア・コンテキストに直に実装することができる。直に実装する場合、Ｄｉｓｐａｔｃｈ＿Ｂｕｆｆｅｒ関数７０６は、特定のＡＰＩを処理する受信関数を直にコールすることができる。しかしながら、このことは、フロント・エンド・カスタマイズ化のいっそうの努力とともに、ベンダ・ソフトウェア・アーキテクチャの詳細な知識を必要とする。本アプローチの利点は、本アプローチが、特にデータパスにおいて実行されるアルゴリズムに対して、性能の改善をもたらすことにある。データ・プレーン・アルゴリズムは、このことによって益を得ることができる。
【００４３】
図における要素を別個の要素として例示するが、これらの要素を、特定用途向け集積回路（ＡＳＩＣ）、多重（ｍｕｌｔｉｐｌｅ）ＩＣ、ディスクリートコンポーネント、またはディスクリートコンポーネントとＩＣとの組合せなど、単一の集積回路（ＩＣ）に実装することができる。本発明の特徴および要素を、独得な組合せにおける望ましい実施形態において説明したが、各々の特徴または要素を、望ましい実施形態のその他の特徴および要素を用いずに単独で、または本発明の他の特徴および要素を用いるかどうかに関わらず、種々の組合せにおいて使用することができる。さらに、本発明を、あらゆる種類のワイヤレス通信システムにおいて実装することができる。
【図面の簡単な説明】
【００４４】
【図１Ａ】本発明にかかるＭＥＳＡソフトウェアアーキテクチャの高レベル機能ブロック図である。
【図１Ｂ】本発明にかかるＭＥＳＡソフトウェアアーキテクチャの高レベル機能ブロック図である。
【図２】ＭＥＳＡソフトウェア・タスク・レベル・アーキテクチャのブロック図である。
【図３】制御プレーンとデータプレーンとを対比した説明のＭＥＳＡソフトウェアアーキテクチャのブロック図である。
【図４】本発明にかかる商業ＡＰに関するＭＥＳＡソフトウェアアーキテクチャの統合の一例を示す図である。
【図５Ａ】本発明にかかる起動処理の信号送信の図である。
【図５Ｂ】本発明にかかる起動処理の信号送信の図である。
【図６】本発明にかかるＭＥＳＡソフトウェアと外部環境との間のアプリケーション・プログラミング・インターフェースを示すブロック図である。
【図７】本発明にかかるＭＥＳＡソフトウェアと外部環境との間のアプリケーション・プログラミング・インターフェースを示すブロック図である。
【図１Ａ】
2007532051.tif 000003
【図１Ｂ】
2007532051.tif 000004
【図２】
2007532051.tif 000005
【図３】
2007532051.tif 000006
【図４】
2007532051.tif 000007
【図５Ａ】
2007532051.tif 000008
【図５Ｂ】
2007532051.tif 000009
【図６】
2007532051.tif 000010
【図７】
2007532051.tif 000011