(57)【要約】【課題】無線通信システムにおける特定のイベントを検出するための方法および装置を供給する。【解決手段】この発明は無線通信システムにおいて指定されたイベントを検出するための方法および装置を開示する。この発明は、通信ネットワークと通信する移動局通信プロトコルスタックと移動局アプリケーションとの間で通信を容易にするアプリケーションプログラムインターフェース（ＡＰＩ）を含む。移動局アプリケーションが指定されたイベントを登録すると移動局通信プロトコルスタックはメモリをポーリングする。このポーリングに基づいて、移動局通信プロトコルスタックは次に指定されたイベントを検出する。この発明の他の実施において、移動局通信プロトコルスタックは、指定されたイベントが生じるとトリガされる割込み通知により指定されたイベントを検出する。【選択図】図３
2011176858.tif 000002
【特許請求の範囲】
【請求項１】
下記工程を具備する、指定されたイベントを検出するための移動局通信プロトコルスタックのための方法：
前記移動局通信プロトコルスタックと通信ネットワークとの間を通信する；
移動局アプリケーションインターフェースを介して前記移動局通信プロトコルと移動局アプリケーションとの間を通信する；
前記移動局アプリケーションが指定されたイベントを登録するとき、前記移動局通信プロトコルスタックにより、メモリをポーリングする；および
前記移動局通信プロトコルスタックにより、前記ポーリングに基づいて前記指定されたイベントを検出する。
【請求項２】
前記メモリが十分な量のデータを受け入れるために利用可能なとき、前記移動局通信プロトコルスタックにより、前記指定されたイベントを検出する工程をさらに具備する、請求項１の方法。
【請求項３】
前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つである、請求項１の方法。
【請求項４】
前記データは前記移動局アプリケーションから送信される、請求項２の方法。
【請求項５】
前記指定されたイベントを前記移動局アプリケーションにより登録し、前記指定されたイベントを前記移動局アプリケーションによりディスエーブルする工程をさらに具備する、請求項１の方法。
【請求項６】
下記工程を具備する、指定されたイベントを検出するための移動局通信プロトコルスタックのための方法：
移動局通信プロトコルスタックと通信ネットワークとの間で通信する；
移動局アプリケーションインターフェースを介して移動局通信プロトコルスタックと移動局アプリケーションとの間で通信する；
移動局アプリケーションにより前記指定されたイベントを登録する；
前記指定されたイベントが生じたとき割込み通知をトリガする；および
前記割込み通知により前記指定されたイベントを、前記移動局通信プロトコルスタックにより検出する。
【請求項７】
前記指定されたイベントはデータがメモリに書き込まれるとき生じる、請求項６の方法。
【請求項８】
前記指定されたイベントは書き込みイベント、読み出しイベント、およびクローズイベントの少なくとも１つである、請求項６の方法。
【請求項９】
前記指定されたイベントを前記移動局アプリケーションによりディスエーブルする工程をさらに具備する、請求項６の方法。
【請求項１０】
通信ネットワークと通信するための移動局通信プロトコルスタックと；
前記移動局通信プロトコルスタックと移動局アプリケーションとの間の通信を容易にするための移動局アプリケーションインターフェースと；および
前記移動局アプリケーションが前記指定されたイベントを登録するとき前記移動局通信プロトコルスタックによりポーリングされるメモリとを具備し、
前記移動局通信プロトコルスタックは前記ポーリングに基づいて前記指定されたイベントを検出するように適応する、指定されたイベントを検出するための装置。
【請求項１１】
メモリが十分な量のデータを受け入れるために利用可能なときはいつでも、前記移動局アプリケーションインターフェースは前記指定されたイベントを検出するように適応する、請求項１０の装置。
【請求項１２】
前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つである、請求項１０の装置。
【請求項１３】
前記データは移動局アプリケーションから送信される、請求項１０の装置。
【請求項１４】
前記移動局アプリケーションは前記指定されたイベントをディスエーブルするように適応する、請求項１０の装置。
【請求項１５】
通信ネットワークと通信するための移動局通信プロトコルスタックと；および
前記移動局通信プロトコルスタックと移動局アプリケーションとの間の通信を容易にするための移動局アプリケーションインターフェースとを具備し、
前記移動局アプリケーションは前記指定されたイベントを登録するように適応し、
前記指定されたイベントが生じたとき、割込み通知がトリガされるように適応し、および
前記割込み通知によって前記移動局通信プロトコルスタックが前記指定されたイベントを検出するように適応する、指定されたイベントを検出するための装置。
【請求項１６】
前記指定されたイベントは書き込みイベント、読み出しイベント、クローズイベントの少なくとも１つである、請求項１５の装置。
【請求項１７】
前記指定されたイベントはデータがメモリに書き込まれると生じる、請求項１５の装置。
【請求項１８】
前記移動局は前記指定されたイベントをディスエーブルするように適応する、請求項１５の装置。
【請求項１９】
機械により読まれたとき下記プロセスを生じる、符号化された情報からなる機械読み出し可能な媒体：
移動局通信プロトコルスタックと通信ネットワークとの間で通信する；
移動局アプリケーションインターフェースを介して前記移動局通信プロトコルスタックと移動局アプリケーションとの間で通信する；
移動局アプリケーションが指定されたイベントを登録するとき前記移動局通信プロトコルスタックによりメモリをポーリングする；および
前記ポーリングに基づいて前記指定されたイベントを前記移動局通信プロトコルスタックにより検出する。
【請求項２０】
前記メモリが十分な量のデータを受け入れるように利用可能なとき、前記指定されたイベントを前記移動局通信プロトコルスタックにより検出するプロセスをさらに具備する、請求項１９の機械読み出し可能な媒体。
【請求項２１】
前記指定されたイベントは、書き込みイベント、読み出しイベント、クローズイベントの少なくとも１つである、請求項１９の機械読み出し可能な媒体。
【請求項２２】
前記データは前記移動局アプリケーションから送信される、請求項２０の機械読み出し可能な媒体。
【請求項２３】
前記指定されたイベントを前記移動局アプリケーションにより登録し、前記指定されたイベントを前記移動局アプリケーションによりディスエーブルするプロセスをさらに具備する、請求項１９の機械読み出し可能な媒体。
【請求項２４】
機械により読まれたとき下記プロセスを生じる、符号化された情報からなる機械読み出し可能な媒体：
移動局通信プロトコルスタックと通信ネットワークとの間で通信する；
移動局アプリケーションインターフェースを介して前記移動局通信プロトコルスタックと移動局アプリケーションとの間で通信する；
移動局アプリケーションにより指定されたイベントを登録する；
指定されたイベントが生じたとき割込み通知をトリガする；および
前記割込み通知により前記指定されたイベントを前記移動局通信プロトコルスタックにより検出する。
【請求項２５】
前記指定されたイベントはデータがメモリに書き込まれるとき生じる、請求項２４の機械読み出し可能な媒体。
【請求項２６】
前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つである、請求項２４の機械読み出し可能な媒体。
【請求項２７】
前記指定されたイベントを前記移動局アプリケーションによりディスエーブルするプロセスをさらに具備する、請求項２４の機械読み出し可能な媒体。
【発明の詳細な説明】
【発明の属する技術分野】
【０００１】
この発明は一般に無線通信の分野に関する。特に、この発明は無線通信システムにおける指定されたイベントを検出するための新規な方法および装置に関する。
【関連出願の記載】
【０００２】
Ａ  無線通信およびコンピュータ関連技術における近年の改革並びにインターネット加入者の前例の無い成長はモバイルコンピューティングの道を開いた。事実、モバイルコンピューティングの人気は移動ユーザにより多くのサポートを供給するように現在のインターネットインフラストラクチャの需要を高めた。このインフラストラクチャの生命線はローカルエリアネットワークおよび広域ネットワーク（ＬＡＮおよびＷＡＮ）間のパケット（データグラム）のアドレッシングおよび経路指示を含む種々のサービスを提供するパケット志向のインターネットプロトコル（ＩＰ）である。ＩＰプロトコルは１９８１年９月に発行された「インターネットプロトコルダーパインターネットプログラムスペシフィケーション(INTERNET PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION)」という名称のRequest for Comment 791 (ＲＦＣ７９１）に定義されている。
【０００３】
ＩＰプロトコルは伝送のためにデータをＩＰパケットにカプセル化するネットワークレイヤプロトコルである。アドレッシングおよび経路指示情報はパケットのヘッダに添付される。ＩＰヘッダは例えば送信ホストおよび受信ホストを識別する３２ビットアドレスを含む。これらのアドレスはそのパケットのためのネットワークを介して、意図されたアドレスをもつ最終目的地に向けられた経路を選択するために中継ルータにより使用される。従って、世界のいずれかのインターネットノードで発せられたＩＰプロトコルは世界の他のいずれかのインターネットノードに経路指示可能である。一方、トランスポート層はトランスミッションコントロールプロトコル（ＴＣＰ）またはユーザデータグラムプロトコル（ＵＤＰ）から構成され、特定のアプリケーションをアドレスするために使用される。
【０００４】
現在の傾向は、インターネットにアクセスするためにセル方式の携帯無線電話または携帯電話のような無線通信装置と共にラップトップコンピュータまたはパームトップコンピュータのような移動コンピュータを移動ユーザが使用することである。すなわち、ユーザは自分達のコンピュータを地上にあるネットワークに接続するために一般に「有線」の通信を採用するように、移動ユーザは移動端末をそのようなネットワークに接続するために一般に「移動局」（ＭＳ）と呼ばれる無線通信装置を使用するであろう。本明細書で使用するように、移動局すなわちＭＳは公共の無線ネットワークにおけるいずれかの加入者局に言及するであろう。
【０００５】
図１（従来技術）はＭＳ１１０が基地局／移動交換局（ＢＳ／ＭＳＣ）１０６を介して相互作用機能（ＩＷＦ）１０８と通信する無線データ通信システムの高レベルのブロック図である。ＩＷＦ１０８はインターネットへのアクセスポイントとしての役目をする。ＩＷＦ１０８はＢＳ／ＭＳＣ１０６と接続されしばしば同じ場所に配置される。これは技術的に知られているように一般的な無線基地局かもしれない。無線データ通信システムをアドレスする他の標準プロトコルは１９９９年１２月に発行された「無線ＩＰネットワーク規格(WIRESS IP NETWORK STANDARD)」というタイトルの第三世代パートナーシッププロジェクト２（”３ＧＰＰ２”）である。３Ｇ無線ＩＰネットワーク規格は例えばＩＷＦ１０８のように機能するパケットデータサービングノード（”ＰＳＤＮ”）を含む。ＭＳ１１０とＩＷＦ１０８との間のデータ通信をアドレスする種々のプロトコルがある。例えば、１９９３年７月に発行された「デュアルモード広帯域拡散スペクトルセルラシステムのための移動局−基地局互換性規格」というタイトルの電気通信産業協会（ＴＩＡ）／電子産業協会（ＥＩＡ）暫定規格は一般に広帯域拡散スペクトル無線通信システムのための規格を提供する。さらに、１９９８年２月に発行された「広帯域拡散スペクトルシステムのためのデータサービスオプション：パケットデータサービス」というタイトルの標準ＴＩＡ／ＥＩＡ  ＩＳ−７０７．５はＴＩＡ／ＥＩＡ  ＩＳ−９５システムに関するパケットデータ伝送能力のサポートのための要件を定義し、ＢＳ／ＭＳＣ１０６を介してＭＳ１１０とＩＷＦ１０８との間の通信に使用可能なパケットデータベアラーサービスの仕様を定める。また、１９９９年３月に発行された「拡散スペクトルシステムのためのデータサービスオプション：パケットデータサービス」というタイトルのＴＩＡ／ＥＩＡ  ＩＳ−７０７−Ａ．５規格および１９９９年３月に発行された「拡散スペクトルシステムのためのデータサービスオプション：高速パケットデータサービス」というタイトルのＴＩＡ／ＥＩＡ  ＩＳ−７０７−Ａ．９規格もまた、ＴＩＡ／ＥＩＡ  ＩＳ−９５システムに関するパケットデータ伝送サポートのための要件を定義する。さらに、ＭＳ１１０とＩＷＦ１０８との間の通信をアドレスする他の標準プロトコルは、１９９９年７月に発行された「拡散スペクトルシステムのためのＣＤＭＡ  ２０００規格入門」というタイトルのＴＩＡ／ＥＩＡ  ＩＳ−２０００である。
【０００６】
ＩＳ−７０７．５はＭＳ１１０とＢＳ／ＭＳＣ  １０６（Ｕｍインターフェース）との間、およびＢＳ／ＭＳＣ１０６とＩＷＦ１０８（Ｌインターフェース）との間の通信プロトコルオプションモデルを導入する。例えばリレーモデルはＭＳ１１０とＩＷＦ１０８との間のＵｍインターフェースに関してポイントツーポイントプロトコル（ＰＰＰ）リンクが存在する状況を表す。ＰＰＰプロトコルは「ポイントツーポイントプロトコル（ＰＰＰ）」というタイトルのRequest for Comments 1661（ＲＦＣ１６６１）に詳細に記載されている。
【０００７】
図２（従来技術）はＩＳ−７０７．５リレーモデルの各エンティティーにおけるプロトコルスタックの図である。図の極左はＭＳ１１０上で実行されているプロトコルレイヤを示す、慣習的な縦フォーマットで示される通信プロトコルスタックである。ＭＳ１１０プロトコルスタックはＵｍインターフェースを介してＢＳ／ＭＳＣ１０６プロトコルスタックに論理的に接続されるものとして示される。順にＢＳ／ＭＳＣ１０６プロトコルスタックはＬインターフェースを介してＩＷＦ１０８プロトコルスタックに論理的に接続されるものとして示される。
【０００８】
図２に描かれる動作は以下の通りである。ＭＳ１１０上で実行しているアプリケーションプログラムのようなアッパーレイヤプロトコル２００エンティティーはインターネット上にデータを送信する必要がある。代表的なアプリケーションはウエブブラウザプログラム（例えば、ネットスケープナビゲータ（登録商標）、マイクロソフトインターネットイクスプローラー（登録商標））であり得る。ウエブブラウザはハイパーリンク"http://www.Qualcom.com/"のようなユニバーサルリソースロケータ（ＵＲＬ）を要求する。ドメインネームシステム（ＤＮＳ）プロトコルもアッパーレイヤプロトコル２００にあり、原文のホスト名www.Qualcomm.comをドメインネームリゾルーションの使用により３２ビットの数値のＩＰアドレスに変換する。これは名前をインターネットのアドレスに変換する。ハイパーテキストトランスファープロトコル（ＨＴＴＰ）もまたアッパーレイヤプロトコル２００であるが、要求されたＵＲＬのためのＧＥＴメッセージを構築し、ＴＣＰがメッセージを送信するためにそしてＨＴＴＰ動作のために使用されるであろうことを指定する。技術的に知られていることだが、トランスポートレイヤ２０２はＨＴＴＰ動作をアプリケーションに経路指定するための宛先ポートとしてポート８０を使用する。
【０００９】
ＴＣＰプロトコルはトランスポートレイヤプロトコル２０２でありＤＮＳにより指定されたＩＰアドレスへの接続を開き、アプリケーションレベルＨＴＴＰ  ＧＥＴメッセージを送信する。ＴＣＰプロトコルは、ＩＰプロトコルがメッセージトランスポートのために使用されるであろうことを指定する。ＩＰプロトコルはネットワークレイヤプロトコル２０４であり、ＴＣＰパケットを指定されたＩＰアドレスに送信する。ＰＰＰはリンクレイヤプロトコル２０６であり、ＩＰパケットを符号化してリレーレイヤプロトコル２０８に送信する。リレーレイヤプロトコル２０８の一例は図示されたＴＩＡ／ＥＩＡ−２３２Ｆ規格であり得る。これは１９９７年１０月に発行された「シリアルバイナリデータ交換を採用したデータ端末機器とデータ回路終端機器との間のインターフェース」に規定されている。当業者に知られる他の規格またはプロトコルはレイヤを越える送信を定義するために使用することができることが理解される。例えば、他の適用可能な規格は、１９９８年９月に発行された「ユニバーサルシリアルバス（ＵＳＢ）仕様、改訂１．１」および１９９９年７月に発行された「ブルーツース仕様書バージョン１．０Ａコア」を含むことができる。最後に、リレーレイヤプロトコル２０８は、Ｕｍインターフェースを介してＢＳ／ＭＳＣ１０６に送信するためにＰＰＰパケットを無線リンクプロトコル（ＲＬＰ）
２１０に渡し、次にＩＳ−９５プロトコル２１２に渡す。ＲＬＰプロトコル２１０は、１９９８年２月に発行された「広帯域拡散スペクトルシステムのためのデータサービスオプション：無線リンクプロトコル」というタイトルのＩＳ−７０７．２規格に定義され、ＩＳ−９５プロトコルは上述したＩＳ−９５規格に定義される。
【００１０】
ＢＳ／ＭＳＣ１０６上のコンプリメンタリリレーレイヤプロトコル２２０は、ＩＳ−９５レイヤ２１８を介して次にＲＬＰレイヤ２１６を介してＵｍインターフェース上でＰＰＰパケットを受信する。リレイレイヤプロトコル２２０はＰＰＰパケットをＬインターフェースを介してＩＷＦ１０８上のリレイレイヤプロトコル２２８に渡す。ＩＷＦ１０８上のＰＰＰプロトコルリンクレイヤ２２６はリレイレイヤプロトコル２２８からのＰＰＰパケットを受信し、ＭＳ１１０とＩＷＦ１０８との間のＰＰＰ接続を終端する。最終経路指定のためのＩＰパケットヘッダの審査のためにパケットはＰＰＰレイヤ２２６からＩＷＦ１０８上のＩＰレイヤ２２４に渡される。これはこのシナリオではwww.Qualcomm.comである。
【００１１】
ＭＳ１１０により発生されたＩＰパケットの最終的な宛先がＩＷＦ１０８ではないと仮定すると、パケットはネットワークレイヤプロトコル２２４およびリンクレイヤプロトコル２２５を介してインターネット上の次のルータ（図示せず）に送られる。このようにして、ＭＳ１１０からのＩＰパケットは、ＩＳ−７０７．５標準リレイモデルに従ってＢＳ／ＭＳＣ１０６、およびＩＷＦ１０８を介して最終的な意図されたインターネットの宛先に向けて通信される。
【００１２】
ＭＳ１１０パケットが宛先に到達する前に、最初にデータリンク接続を確立しなければならない。ＲＦＣ１６６１に仕様が定められるように、これは、データリンク接続を確立し、構成し、テストするために、ポイントツーポイントリンクの各エンド（すなわちＰＰＰプロトコル２０６および２２６）が、最初にＰＰＰリンクコントロールプロトコル（ＬＣＰ）パケットを送る必要がある。ＬＣＰによりリンクが確立された後、次に、ＰＰＰプロトコル２０６はネットワークコントロールプロトコル（ＮＣＰ）パケットを送り、ネットワークレイヤプロトコル２０４および２２４を構成することができる。ＰＰＰリンクのＩＰのためのＮＣＰはＩＰコントロールプロトコル（ＩＰＣＰ）である。ＩＰＣＰは１９９２年５月に発行された「ＰＰＰインターネットプロトコルコントロールプロトコル（ＩＰＣＰ）」というタイトルのRequest for Comment 1332  （ＲＦＣ１３３２）に詳細に記載されている。しかしながら、ＩＰＣＰネゴーシエイションの前にオーセンティケーションフェーズが必要となるかもしれない。ネットワークレイヤプロトコルの各々が構成された後、各ネットワークレイヤプロトコルからのパケットは、ネットワークレイヤプロトコル間のリンクを介して送信することができる。
【００１３】
Ｂ．アプリケーションプログラムインターフェース
全部ではないが、ＭＳ１１０上の通信プロトコルスタックをサポートするほとんどのプロセスはアプリケーションプログラムにより実行される。一般的に、伝統的なデータネットワークは一方のコンピュータ上で実行しているアプリケーションプログラムが他方のコンピュータ上で実行しているアプリケーションプログラムと通信可能にするアプリケーションプログラムインターフェース（ＡＰＩ）を採用する。ＡＰＩは「ソケット」を利用する。ソケットは基礎となるネットワークのプロトコルの違いから呼び出すアプリケーションを保護する。相互接続ネットワークされた通信を得るために、ＡＰＩは例えばアプリケーションがソケットを開き、データをネットワークに送信し、ネットワークからデータを受信し、ソケットを閉じることを可能にする機能から構成される。一般的なネットワークプログラミングインターフェースはＵｎｉｘ（登録商標）オペーレーティングシステムの下で動作するバークレーシステムズデベロップメント（ＢＳＤ）ソケットインターフェースと、Ｗｉｎｄｏｗｓ（登録商標）の下で動作するウインドウズソケットインターフェース（ＷｉｎＳｏｃｋ（登録商標））を含む。
【００１４】
ＢＳＤソケットもＷｉｎＳｏｃｋ（登録商標）も無線ＭＳ１１０（図２参照）上の通信プロトコルスタックをサポートしないので、そのようなスタックをサポートする新規なＡＰＩが必要となる。特に、必要なのは無線通信システムにおいて、指定されたイベントを検出するための新規な方法と装置である。
【発明の概要】
【００１５】
この発明は無線通信システムにおける特定のイベントを検出するための方法および装置を供給することにより上述した必要性に取り組む。一実施において、この発明は、通信ネットワークと通信する移動局通信プロトコルスタックと移動局アプリケーションとの間の通信を容易にするアプリケーションプログラムインターフェース（ＡＰＩ）を含む。移動局アプリケーションが指定されたイベントを登録すると、移動局通信プロトコルスタックはメモリをポーリングする。次に、移動局通信プロトコルスタックはポーリングにもとづいて指定されたイベントを検出する。この発明の他の実施において、移動局通信プロトコルスタックは指定されたイベントが生じたときトリガされる割込み通知により指定されたイベントを検出する。
【図面の簡単な説明】
【００１６】
【図１】（従来技術）は移動局がインターネットに接続する無線通信システムの高レベルブロック図である。
【図２】（従来技術）はＴＩＡ／ＥＩＡ  ＩＳ−７０７．５リレーモデルの各エンティティーのプロトコルスタックを概略的に示す図である。
【図３】この発明の実施形態の特徴を概略的に示す図である。
【図４】指定されたイベントを検出するためのフローチャートである。
【図５】指定されたイベントを検出するためのフローチャートである。
【図６】非同期接続を描くブロック図である。
【図７】非同期ソケット入力を描くブロック図である。
【図８】この発明の実施形態の状態図である。
【図９】この発明の実施形態の状態図である。
【図１０】この発明の実施形態の状態図である。
【発明を実施するための形態】
【００１７】
この発明の実施形態は、ソフトウエア、ファームウエア、および／またはハードウエアを含む種々の実施で実現可能である。それ故この発明の動作と行動はソフトウエアコードまたはハードウエア部品の特定指示なしに記載される。当業者は指定されたイベントを検出するこの発明を実現するためのソフトウエアおよび／またはハードウエアを設計可能にするであろうことが理解される。
【００１８】
図３はＭＳ１１０内のアプリケーション２６０、通信プロトコルスタック２８０およびＡＰＩ２７０を示す。アプリケーション２６０と通信プロトコルスタック（すなわちプロトコルレイヤ２０２、２０４、２０６、２０８、２１０、２１２）はＡＰＩ２７０により供給されるファンクションコールを介して通信する。言い換えれば、ＡＰＩ２７０はアプリケーション２６０と通信プロトコルスタック２８０が機能性の妥協なしに異なるプロセッサおよびオペレーティングシステム上で実行可能にする。当業者はこの発明の範囲から逸脱することなく呼び出された機能のための種々の名前が可能であることが理解される。
【００１９】
通信プロトコルスタック２８０は、データを記憶する複数の送信キューおよび受信キューを含むことに留意する必要がある。出力機能はアプリケーション２６０のメモリからデータをリードし、そのデータを通信プロトコルスタック２８０の送信キューの１つに記憶する。入力機能は通信プロトコルスタック２８０の受信キューの１つからデータをリードし、そのデータをアプリケーション２６０のメモリに記憶する。
【００２０】
動作を明らかにするために、ＭＳ１１０はＩＰパケットを受信する。ＭＳ１１０の通信プロトコルスタック２８０はＩＰパケットを非カプセル化し、トランスポートレイヤ２０２に渡す（図３参照）。ＩＰパケットヘッダのフィールドはＴＣＰまたはＵＤＰのいずれかであるトランスポートを示す。トランスポートレイヤヘッダで指定された宛先ポート番号に基づいて、データは特定のパケットに相当する、通信プロトコルスタック２８０の適当な受信キューに経路指示される。次に、データはアプリケーション２６０に送信される。
【００２１】
ある状況においては、待ち時間効果を低減するためにプロトコルスタック２８０の種々のレイヤをバイパスするパケットを用いて動作することが望ましい場合がある。そのようなパケットは宛先情報（すなわち宛先ポート番号）を欠いている、未加工ＩＰパケットのような、未加工のパケット化されたデータを含む。従って宛先アプリケーションは未加工のＩＰパケットから決定することはできない。そのような状況において、通信プロトコルスタック２８０は、受信した未加工のＩＰパケットを、例えばＩＰプロトコルをサポートするために登録されたすべてのソケットに送信することができる。これはペイロードデータが宛先アプリケーションに送信されることを可能にする。インターネットコントロールメッセ−ジングプロトコル（ＩＣＭＰ）構文解析エンジンはＩＰパケットに相当し、未加工のパケット化されたデータも受信することができる。公知のＩＣＭＰ構文解析エンジンは「インターネットコントロールメッセージプロトコル」というタイトルのＲＦＣ７９２に定義される。通信プロトコルスタック２８０は例えば受信したパケットをアプリケーション２６０に渡す前に処理し、これはアプリケーション２６０によりなされる非カプセル化の量を低減する。
【００２２】
逆に言えば、アプリケーション２６０は未加工のパケット化されたデータをソケットを用いてＵｍインターフェース上に送信可能であり、これは通信プロトコルスタック２８０とアプリケーション２６０との間の通信を容易にする。さらに、アプリケーション２６０は未加工のパケット化されたデータをＵｍインターフェース上に送信することができる。次に、通信プロトコルスタック２８０は例えばパケット化されたまたは未加工のパケット化されたデータをＩＰパケットにカプセル化し、Ｕｍインターフェース上に送信する。この例において、通信プロトコルスタック２８０はＩＰパケットを発生するためにＩＰヘッダとチェックサムを供給する。一方、ＩＣＭＰの場合、指定されたプロトコルタイプはＩＰヘッダにコピー可能である。
【００２３】
上述したように、通信プロトコルスタック２８０の使用に固有の待ち時間を低減するためにプロトコルレイヤ２０２、２０４、２０６、２０８、２１０、２１２の少なくとも１つとアプリケション２６０との間のデータ通信を可能にするソケットを作ることができる。すなわち、アプリケーション２６０はトランスポートレイヤ２０２、ネットワークレイヤ２０４、およびリンクレイヤ２０６を迂回するソケットを作ることができ、従ってアプリケーションがペイロードデータをＲＬＰレイヤ２１０に送信したり、ＲＬＰレイヤ２１０からペイロードデータを受信したりすることを可能にする。また、アプリケーション２６０はアプリケ−ション２６０がペイロードデータをＩＳ−９５レイヤ２１２に送信したり、ＩＳ−９５レイヤ２１２からペイロードデータを受信可能にするソケットを作ることができる。
【００２４】
一実施形態において、アプリケーション２６０は通信プロトコルスタック２８０を開き、アプリケーション識別を割当てる機能open_netlib()をコールする。アプリケーション識別は複数のアプリケーションが通信プロトコルスタック２８０と通信すること（すなわちマルチタスク）を可能にする。例えば機能open_netlib()へのコールの一部としてアプリケーション２６０はネットワークコールバックファンクションへのポインタとソケットコールバックファンクションへのポインタを指定する。トラフィックチャネル（すなわちＵｍ）および／またはリンクレイヤ（ＰＰＰ２０６）に対するリード／ライトおよびトラフィックチャネルおよび／またはリンクレイヤを閉じるようなネットワークサブシステム指定イベントが生じた時（またはイネーブルになった時）はいつでもネットワークコールバックファンクションが呼び出されアプリケーション２６０に知らせる。トランスポートレイヤ（すなわちＴＣＰ）に対するリード／ライトおよびトランスポートレイヤを閉じるようなソケット指定イベントが生じた（またはイネーブルになった）ときはいつでもソケットコールバックファンクションが呼び出されアプリケーション２６０に知らせる。通信ネットワークは、トラフィックチャネル、リンクレイヤおよびトランスポートレイヤの少なくとも１つから構成されることは当業者にとって明らかでなければならない。
【００２５】
通信プロトコルスタック２８０が開かれると、機能pppopen()がコールされ、トラフィックチャネルおよびリンクレイヤを含むネットワークサブシステム接続を開始する。これはアプリケーションワイドコールであり、個々のソケットに依存しない。しかしながら、それはアプリケーション識別を必要とする。ネットワークサブシステム接続が確立または失敗すると、ネットワークコールバックファンクションが呼び出され指定されたイベント通知を供給する。例えば、トラフィックチャネルが確立されなければ、ネットワークサブシステムは失敗する。さらにネットワークサブシステム特性は機能net_ioctl()へのコールを用いて設定可能である。例えば、このコールはソケットのデータレートを指定することができる。
【００２６】
ネットワークサブシステム接続が確立されると、ソケット（またはソケット群）は機能socket()へのコールを介して作られイニシャライズすることができる。しかしながら、ソケット機能が使用できる前に機能socket()へのコールはソケットディスクリプタを戻すかもしれない。従って、アプリケーション２６０は指定されたイベントを登録し、非同期通知を受信するために機能async_select()をコールすることができる。この登録は、通知を必要とする指定されたイベントのソケットディスクリプタおよびビットマスク（すなわち複数のイベントがＯＲされる）を指定するために、機能コールの一部として、アプリケーション２６０により実現可能である。指定されたイベントが生じ（すなわちイネーブルとなり）、それが例えば、通信プロトコルスタック２８０またはＡＰＩ２７０により検出されるなら、ソケットコールバック機能が開始され非同期通知が供給される。コールバック機能はアプリケーション２６０に、リモードプロシージャコール（ＲＰＣ）上のメッセージ、またはハードウエアまたはソフトウエアインタラプトを含む信号、メッセージの使用により指定されたイベントを通知することができる。
【００２７】
アプリケーション２６０に指定されたイベントが通知されると、サービスするための指定されたイベントを決定するためにアプリケーションは機能getnextevent()をコールすることができる。この機能は指定されたソケットディスクリプタに対して生じた指定されたイベントのマスクを戻す。また、アプリケーション２６０は生じた指定されたイベントのマスク内のビットをクリアする。従って、アプリケーション２６０はもはやディスエーブルされた指定されたイベントの通知を受信することができない。アプリケーション２６０は機能async_select()への次のコールを介してこれらの指定されたイベントを再登録（再イネーブル）しなければならない。
【００２８】
さらにアプリケーション２６０は指定されたイベントのビットマスクの対応するビットをクリアすることにより登録された指定されたイベントを変更することができる。ビットマスクにおいてビットがすでにクリアされている場合には、その要求は単に無視される。要約すれば、例えば機能async_deselect()の機能へのコールを介してイベント当りでディスエーブルすることができる。
【００２９】
図４および５は指定されたイベントを検出するためのフローチャートである。図４に示すように、例えば、通信プロトコルスタック２８０は指定されたイベントを登録するためにブロック４００においてアプリケーション２６０を待つ。指定されたイベントが登録された後、通信プロトコルスタック２８０はブロック４０２においてメモリをポーリングする。ブロック４０４において、指定されたイベントはブロック４０２のポーリングされた情報に基づいて検出可能である。ブロック４０６において、通信プロトコルスタック２８０のメモリ（即ち送信キュー）が十分なデータ量を受け入れ可能であるとき、書き込みイベントが検出される。データはアプリケーション２６０から送信可能である。ブロック４０４のポーリングされた情報が満足されなければ（すなわち指定されたイベントが生じなければ）、通信プロトコルスタック２８０はブロック４０２においてメモリをポーリングし続ける。
【００３０】
図５において、通信プロトコルスタック２８０はブロック５００に示すように指定されたイベントを登録するためにアプリケーション２６０を待つ。このとき割込み通知をディスエーブルにすることができる。従って、割込み通知はトリガすることもできないしトリガされることもできない。ブロック５００において指定されたイベントが登録されると、ブロック５０２において割込み通知が指定されたイベントの発生に基づいてトリガすることができる。例えば読み出しイベントは、データが通信プロトコルスタック２８０のメモリ（すなわち受信キュー）に書き込まれると生じる。従って、ブロック５０４において、イベントの発生によりトリガされた割込み通知を受信すると読み出しイベントが通信プロトコルスタック２８０により検出される。通信プロトコルスタック２８０のメモリに記憶されたデータは通信ネットワークから送信される。さらに、読み出しイベントの場合、記憶されたデータはアプリケーション２６０に送信可能である。
【００３１】
最後に、例えばトランスポートレイヤのようなデータリンク接続が終端されるので、ソケットが再使用のために利用可能なときには閉じるイベントが検出される。
【００３２】
非同期イベント通知の使用を図示するために非同期接続（図６参照）および非同期入力（図７参照）の以下の例が提供される。
【００３３】
図６において、機能open_netlib()へのコールを介して通信プロトコルスタック２８０が入力され、コールバック機能が指定される。機能pppopen()(A)へのコールはネットワークサブシステム接続（Ｂ）を開始する。ネットワークサブシステム接続は確立された後、コールバックファンクションが呼び出され（Ｃ）、ネットワークサブシステムの可用性が報告される。
【００３４】
ソケットが開かれ割当てられたと仮定すると、機能connect()(D)へのコールはＴＣＰ接続（Ｅ）を開始する。さらに、アプリケーション２６０は機能async_select()(F)をコールし、指定されたイベントを登録して通知を受信する。この例において、所定の指定されたイベントは書き込みイベントであり、接続が確立すると生じる。
【００３５】
接続を確立すると、指定されたイベントがマスクに登録されるとコールバック機能が呼び出される。そうであるなら、コールバック機能が呼び出され（Ｇ）、非同期通知を供給する。アプリケーション２６０が通知されると、アプリケーションは機能getnextevent()(H)をコールし、その指定されたイベントが生じたかを決定する（Ｉ）。また、このコールはマスク内のイベント（すなわち書き込みイベント）のビットをクリアする（Ｊ）。アプリケーション２６０は機能async_select()へのコールを介して指定されたイベントの次の通知を再登録しなければならない。
【００３６】
図７において、非同期ソケット読み出しの例図が供給される。読み出しを開始するために、アプリケーション２６０は機能read()(A)をコールする。読むべきデータが無いと仮定すると、アプリケーション２６０は機能async_select()(B)をコールし（すなわち、対応するビットをマスクに設定し）、通知を受信する。この例において、所定の指定されたイベントは読み出しイベントであり、アプリケーション２６０により読むべきデータがあるとき生じる。
【００３７】
データを受信キューに記憶すると、読み出しイベントがマスクに指定されているならば、コールバック機能が呼び出される。そうであるなら、コールバック機能が呼び出され（Ｃ）、非同期通知を供給する。アプリケーション２６０が通知されると、アプリケーションは機能getnextevent()(D)をコールし、どのイベントが生じたかを決定する（Ｅ）。また、このコールはマスク（Ｆ）のイベントのビットをクリアする。アプリケーションは、機能async_select()へのコールを介してイベントの次の通知を再イネーブルしなければならない。最後に、受信キューに記憶されたデータを読み出すために、アプリケーション２６０は機能read()をコールする（Ｇ）。
【００３８】
図８乃至１０において、この発明の実施形態の状態機械が図示される。図８乃至９において、通信プロトコルスタック２８０が開かれ、ネットワークサブシステム接続（すなわち、トラフィックチャネル、および必要であればリンクレイヤ−未加工のソケットはネットワークサブシステムを迂回することができる）が確立される。当業者は、この発明の範囲を逸脱することなく状態に対する種々の名前が可能であることを理解するであろう。
【００３９】
状態機械は状態間を非同期に遷移可能であり、読み出し、書き込み、クローズのような指定されたイベントを制御する（すなわちイネーブルおよびディスエーブルする）。指定されたイベントは動作の開始時にディスエーブルになることができ、所定の状態でイネーブルになることができ、アプリケーション２６０がＭＳ１１０の状態を識別するのを助ける。
【００４０】
また、ＡＰＩ２７０は、ＡＰＩ２７０の状態およびアプリケーション２６０によりコールされる機能の種類に基づいてアプリケーション２６０に特別な（すなわち単に一般的でない）指定された状態メッセージを報告する。指定された状態メッセージは基礎を成す通信ネットワークの状態を反映することができる。例えば状態メッセージは機能コールの引数としてアプリケーション２６０に報告される。
【００４１】
図８において、例えばＡＰＩ２７０のＴＣＰソケットのための状態図が図示される。イニシャライズされていないソケットは「ヌル」状態８００で始まる。ソケットはまだ今のところ割当てられていないので「存在」しない。ソケットは機能socket()へのコールを介して作成しイニシャライズすることができる。socket()はソケット関連機能とともに使用するためにソケットディスクリプタを戻す。機能socket()へのコールの後、状態機械は「イニシャライズ」状態８０５に遷移する。
【００４２】
イニシャライズ状態８０５において、状態機械は、ＴＣＰ接続の可能性が機能close()へのコールにより終端されるときはヌル状態８００に戻る。機能close()へのコールはすべてのソケットに関連するリソースを解放する。一方、機能connect()へのコールはＴＣＰ接続を開始し、状態機械を「オープニング」状態８１０に遷移する。
【００４３】
オープニング状態８１０において、（１）ネットワークサブシステム障害が生じたとき、（２）ＴＣＰ接続を確立するための障害があるとき、または（３）変更されたＩＰアドレスがあるときは、状態機械は「クローズド」状態８１５に遷移する。また、機能close()（これはＴＣＰ接続を終端する）へのコールの後、終端手続きが開始される間状態機械はソケットを「クロージング」８２０に遷移する。最後に、ＴＣＰ接続が確立されると、状態機械は「オープン」状態８２５に遷移する。
【００４４】
オープン状態８２５において、ソケットは読み出しおよび書き込みのためにオープンされる。特に書き込みイベントは即イネーブルとなり、一方読み出しイベントは通信プロトコルスタック２８０のメモリにデータが記憶されているかどうかに基づいてイネーブルになる。（１）ネットワークサブシステム障害が発生したとき、（２）ＴＣＰ接続を確立するための障害があるとき、（３）ネットワークサーバにより開始されるＴＣＰリセット、ＴＣＰアボート、またはＴＣＰクローズドのようなＴＣＰ接続を終端させる試みがあるとき、（４）ＩＰアドレスに変更があるとき状態機械はクローズド状態８１５に遷移する。機能close()へのコールによるようなアプリケーションにより開始されたＴＣＰ接続終端は状態機械をクロージング状態８２０に遷移する。
【００４５】
クローズド状態８１５において、読み出し、書き込みおよびクローズイベントはすべてアサートされる。ＴＣＰ接続を終端する機能close()へのコールの後、状態機械はソケットをヌル状態８００に遷移させる。この状態はソケットを自由にし、再使用のために利用可能にする。
【００４６】
クロージング状態８２０において、（１）ネットワークサブシステム障害が発生したとき、（２）ネットワークサーバにより開始されるＴＣＰリセットまたはＴＣＰクローズドのようなＴＣＰ接続を終端する試みがあるとき、（３）タイマが満了のとき、および（４）ＩＰアドレスに変更があるときは、状態機械は「クローズ待ち」状態８３０に遷移する。ＴＣＰ接続を終端する際の遅延に対して保護するために、ＡＰＩ２７０はタイマを導入し、このタイマはＴＣＰ接続終端の開始時にアクティブになる。見られるように、タイマの満了は状態機械をクローズ待ち状態８３０に遷移する。
【００４７】
クローズ待ち状態８３０において、機能close()へのコールはＴＣＰ接続を終端し、状態機械をヌル状態８００に遷移させる。クローズイベントはこの状態８３０においてアサートされる。
【００４８】
表１乃至３はＡＰＩ２７０により支持された指定された状態メッセージを説明する。ヌル状態において（表１乃至３には示されていない）、指定されたメッセージ状態は記述的なものであるが、「さらなるリソースは利用できない」という指定された状態メッセージがアプリケーション２６０に報告可能である。
【表１】
2011176858.tif 000003
【表２】
2011176858.tif 000004
【表３】
2011176858.tif 000005
【００４９】
一例として、図９はＡＰＩ２７０のＵＤＰソケットのための状態図を示す。イニシャライズされていないソケットは「ヌル」状態９００で開始する。ヌル状態８００に関して上で述べたように、ソケットは割当てられなかったので「存在」しない。ソケットは機能ソケット（）へのコールを介して作りイニシャライズすることができ、ソケットに関連する機能とともに使用するためにソケットディスクプリタを戻す。機能ソケット（）へのコールの後、状態機械は「オープン」状態９０５に遷移する。
【００５０】
オープン状態９０５において、ソケットは読み出しおよび書き込みを行うためにオープンされる。特に、書き込みイベントは即イネーブルになるのに対し、読み出しイベントはデータが通信プロトコルスタック２８０のメモリに記憶されているかどうかに基づいてイネーブルになる。ネットワークサブシステムに障害が生じると、状態機械は「クローズド」状態９１０に遷移する。機能クローズ（）へのコールによるようなアプリケーション開始ＵＤＰ接続終端は状態機械をヌル状態９００に遷移する。
【００５１】
クローズド状態９１０において、読み出し、書き込みおよびクローズイベントはすべてイネーブルになる。機能クローズ（）へのコールの後、これはＵＤＰ接続を終端させるのだが、状態機械はソケットをヌル状態９００に遷移し、これはソケットを自由にし再使用のために利用可能にさせる。
【００５２】
表４乃至６はＡＰＩ２７０により支持される指定されたステータスメッセージを示す。ヌル状態（表４乃至６には示されていない）において、上で述べたように「さらなるリソースは利用できない」という指定されたステータスメッセージはアプリケーション２６０に報告可能である。
【表４】
2011176858.tif 000006
【表５】
2011176858.tif 000007
【表６】
2011176858.tif 000008
【００５３】
図１０はトラフィックチャネル（すなわちＵｍ）およびリンクレイヤ（すなわちＰＰＰ２０６）のようなネットワークサブシステムを制御するための状態図を示す。機能open_netlib()へのコールはネットワークサブシステムをオープンし、ソケットを「クローズド」状態１０００にイニシャライズする。機能pppopen()へのコールはネットワークサブシステム接続を開始し、ソケットを「オープニング」状態１００５に遷移する。また、入って来るＰＰＰコールによるＭＳへのページはソケットをオープニング状態１００５に遷移する。両方の場合において、成功した交渉に応じてＭＳ１１０はトラフィックチャネルを越えてＲＬＰおよびＰＰＰの両方を同期化し確立しようとする。
【００５４】
オープニング状態１００５において、ネットワークサブシステム接続が確立されるとソケットは「オープン」状態１０１０に遷移する。一方、ソケットは、ネットワークサブシステム接続が確立されなければクローズド状態１０００に戻る。
【００５５】
オープン状態１０１０において、コールバック機能が行使され、アプリケーション１０６０に対してイネーブルである読み出し、書き込みおよびクローズのような指定されたイベントを識別する。このとき、ＭＳ１１０はトラフィックチャネルを介して通信することができる。しかしながら、ソケットは、ネットワークサブシステムに障害が生じたときはクローズド状態１０００に遷移し、コールバック機能を行使する。function close ()へのコールによるようなアプリケーションにより開始されたネットワークサブシステム接続終端はソケットを「クロージング」状態１０１５に遷移する。
【００５６】
クロージング状態１０１５において、ネットワークサブシステム接続が終端するとソケットはクローズド状態１０００に遷移する。クローズド状態１０００において、コールバック機能が行使され、アプリケーション２６０に対してイネーブルである指定されたイベントを識別する。
【００５７】
表７は特定の機能コールに対応し、ＡＰＩ２７０により支持される指定されたステータスメッセージを示す。
【表７】
2011176858.tif 000009
【表８】
2011176858.tif 000010
【表９】
2011176858.tif 000011
【表１０】
2011176858.tif 000012
【００５８】
他の実施形態において、機械は、指定されたイベントを検出する上述したプロセスを生じるために符号化されたソフトウエアコードのような符号化された情報からなる機械読み出し可能な媒体を読むことができる。機械読み出し可能な媒体はメモリまたは記憶ディスク、または通信ネットワークからのような記憶装置から符号化された情報を受け入れることができる。また、機械読み出し可能な媒体は、媒体が製造されるとき、符号化された情報を用いてプログラムすることができる。機械はアプリケーション２６０、通信プロトコルスタック２８０、およびＡＰＩ２７０の少なくとも１つで構成でき、一方機械読み出し可能な媒体はメモリまたは記憶ディスクで構成することができる。
【００５９】
この発明は特定の実施形態に関連して示されたが、それに限定されると考えられるべきでない。むしろ、この発明は添付したクレームおよびそれらの均等物の範囲によってのみ限定される。
【図１】
2011176858.tif 000013
【図２】
2011176858.tif 000014
【図３】
2011176858.tif 000015
【図４】
2011176858.tif 000016
【図５】
2011176858.tif 000017
【図６】
2011176858.tif 000018
【図７】
2011176858.tif 000019
【図８】
2011176858.tif 000020
【図９】
2011176858.tif 000021
【図１０】
2011176858.tif 000022
【手続補正書】
【提出日】平成23年5月9日(2011.5.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
指定されたイベントを検出するための移動局の通信プロトコルスタックのための方法において、
移動局により、前記移動局通信プロトコルスタックと通信ネットワークとの間を通信することと、
移動局により、移動局アプリケーションインターフェースを介して前記移動局の通信プロトコルスタックと移動局のアプリケーションとの間を通信することと、
前記移動局のアプリケーションが指定されたイベントを登録するとき、前記移動局の通信プロトコルスタックにより、前記移動局のメモリをポーリングすることと、
前記移動局の通信プロトコルスタックにより、前記ポーリングに基づいて前記指定されたイベントを検出することと、
前記メモリが十分な量のデータを受け入れるために利用可能なとき、前記移動局の通信プロトコルスタックにより、前記指定されたイベントを検出することと、
を具備し、前記指定されたイベントは、書込みイベント、読み出しイベントおよびクローズドイベントの少なくとも１つであり、前記書込みイベントが検出されると、前記移動局アプリケーションはデータを前記移動局通信プロトコルスタック内のトランスポートレイヤ、ネットワークレイヤ及びリンクレイヤの少なくとも１つを迂回してＲＬＰレイヤまたはＩＳ−９５レイヤに送信し、前記読み込みイベントが検出されると、前記移動局アプリケーションは前記ＲＬＰレイヤまたは前記ＩＳ−９５レイヤから前記リンクレイヤ、前記ネットワークレイヤおよび前記トランスポートレイヤの少なくとも１つを迂回してデータを受信する方法。
【請求項２】
前記データは前記移動局のアプリケーションから送信される、請求項１の方法。
【請求項３】
前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つである、請求項１の方法。
【請求項４】
前記指定されたイベントを前記移動局のアプリケーションにより登録することと、
前記指定されたイベントを前記移動局のアプリケーションによりディスエーブルすることと、
をさらに具備する、請求項１の方法。
【請求項５】
指定されたイベントを検出するための移動局の通信プロトコルスタックのための方法において、
移動局により、移動局の通信プロトコルスタックと通信ネットワークとの間で通信することと、
移動局により、移動局のアプリケーションインターフェースを介して移動局の通信プロトコルスタックと移動局のアプリケーションとの間で通信することと、
移動局のアプリケーションにより前記指定されたイベントを登録することと、
前記指定されたイベントが生じたとき移動局により、割込み通知をトリガすることと、
前記割込み通知により前記指定されたイベントを、前記移動局の通信プロトコルスタックにより検出することと、
を具備し、前記指定されたイベントはデータが前記移動局のメモリに書き込まれるとき生じ、書込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つであり、前記書込みイベントが検出されると、前記移動局アプリケーションはデータを前記移動局通信プロトコルスタック内のトランスポートレイヤ、ネットワークレイヤ及びリンクレイヤの少なくとも１つを迂回してＲＬＰレイヤまたはＩＳ−９５レイヤに送信し、前記読み込みイベントが検出されると、前記移動局アプリケーションは前記ＲＬＰレイヤまたは前記ＩＳ−９５レイヤから前記リンクレイヤ、前記ネットワークレイヤおよび前記トランスポートレイヤの少なくとも１つを迂回してデータを受信する方法。
【請求項６】
前記指定されたイベントは書き込みイベント、読み出しイベント、およびクローズイベントの少なくとも１つである、請求項５の方法。
【請求項７】
前記指定されたイベントを前記移動局アプリケーションによりディスエーブルすることをさらに具備する、請求項５の方法。
【請求項８】
通信ネットワークと通信するための移動局の通信プロトコルスタックと、
前記移動局の通信プロトコルスタックと移動局のアプリケーションとの間の通信を容易にするための移動局のアプリケーションインターフェースと、
前記移動局のアプリケーションが前記指定されたイベントを登録するときはいつでも前記移動局の通信プロトコルスタックによりポーリングされるメモリとを具備し、
前記移動局の通信プロトコルスタックは前記ポーリングに基づいて前記指定されたイベントを検出するように適応し、前記メモリが十分な量のデータを受け入れるために利用可能なときはいつでも、前記移動局のアプリケーションインターフェースは前記指定されたイベントを検出するように適応し、
前記指定されたイベントは、書込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つであり、前記書込みイベントが検出されると、前記移動局アプリケーションはデータを前記移動局通信プロトコルスタック内のトランスポートレイヤ、ネットワークレイヤ及びリンクレイヤの少なくとも１つを迂回してＲＬＰレイヤまたはＩＳ−９５レイヤに送信し、前記読み込みイベントが検出されると、前記移動局アプリケーションは前記ＲＬＰレイヤまたは前記ＩＳ−９５レイヤから前記リンクレイヤ、前記ネットワークレイヤおよび前記トランスポートレイヤの少なくとも１つを迂回してデータを受信する、指定されたイベントを検出するための装置。
【請求項９】
前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つである、請求項８の装置。
【請求項１０】
前記データは移動局アプリケーションから送信される、請求項８の装置。
【請求項１１】
前記移動局アプリケーションは前記指定されたイベントをディスエーブルするように適応する、請求項８の装置。
【請求項１２】
通信ネットワークと通信するための移動局の通信プロトコルスタックと、
前記移動局の通信プロトコルスタックと移動局のアプリケーションとの間の通信を容易にするための移動局のアプリケーションインターフェースとを具備し、
前記移動局のアプリケーションは前記指定されたイベントを登録するように適応し、
前記指定されたイベントが生じたときはいつでも、割込み通知がトリガされるように適応し、および
前記割込み通知によって前記移動局の通信プロトコルスタックが前記指定されたイベントを検出するように適応し、前記指定されたイベントはデータがメモリに書き込まれるときはいつでも生じ、書込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つであり、前記書込みイベントが検出されると、前記移動局アプリケーションはデータを前記移動局通信プロトコルスタック内のトランスポートレイヤ、ネットワークレイヤ及びリンクレイヤの少なくとも１つを迂回してＲＬＰレイヤまたはＩＳ−９５レイヤに送信し、前記読み込みイベントが検出されると、前記移動局アプリケーションは前記ＲＬＰレイヤまたは前記ＩＳ−９５レイヤから前記リンクレイヤ、前記ネットワークレイヤおよび前記トランスポートレイヤの少なくとも１つを迂回してデータを受信する、指定されたイベントを検出するための装置。
【請求項１３】
前記指定されたイベントは書き込みイベント、読み出しイベント、クローズイベントの少なくとも１つである、請求項１２の装置。
【請求項１４】
前記移動局は前記指定されたイベントをディスエーブルするように適応する、請求項１２の装置。
【請求項１５】
機械により読まれたとき下記プロセスを生じる、符号化された情報からなる機械読み出し可能な媒体：
移動局の通信プロトコルスタックと通信ネットワークとの間で通信する、
移動局のアプリケーションインターフェースを介して前記移動局の通信プロトコルスタックと移動局のアプリケーションとの間で通信する、
移動局のアプリケーションが指定されたイベントを登録するときはいつでも前記移動局の通信プロトコルスタックにより前記移動局のメモリをポーリングする、
前記ポーリングに基づいて前記指定されたイベントを前記移動局の通信プロトコルスタックにより検出する、
前記メモリが十分な量のデータを受け入れるように利用可能なときはいつでも、前記指定されたイベントを前記移動局の通信プロトコルスタックにより検出する、
前記指定されたイベントは、書込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つであり、前記書込みイベントが検出されると、前記移動局アプリケーションはデータを前記移動局通信プロトコルスタック内のトランスポートレイヤ、ネットワークレイヤ及びリンクレイヤの少なくとも１つを迂回してＲＬＰレイヤまたはＩＳ−９５レイヤに送信し、前記読み込みイベントが検出されると、前記移動局アプリケーションは前記ＲＬＰレイヤまたは前記ＩＳ−９５レイヤから前記リンクレイヤ、前記ネットワークレイヤおよび前記トランスポートレイヤの少なくとも１つを迂回してデータを受信する。
【請求項１６】
前記指定されたイベントは、書き込みイベント、読み出しイベント、クローズイベントの少なくとも１つである、請求項１５の機械読み出し可能な媒体。
【請求項１７】
前記データは前記移動局アプリケーションから送信される、請求項１５の機械読み出し可能な媒体。
【請求項１８】
前記指定されたイベントを前記移動局アプリケーションにより登録するプロセスと、
前記指定されたイベントを前記移動局アプリケーションによりディスエーブルするプロセスと、
をさらに具備する、請求項１５の機械読み出し可能な媒体。
【請求項１９】
機械により読まれたとき下記プロセスを生じる、符号化された情報からなる機械読み出し可能な媒体：
移動局の通信プロトコルスタックと通信ネットワークとの間で通信する；
移動局のアプリケーションインターフェースを介して前記移動局の通信プロトコルスタックと移動局のアプリケーションとの間で通信する；
移動局のアプリケーションにより指定されたイベントを登録する；
指定されたイベントが生じたときはいつでも割込み通知をトリガする；および
前記割込み通知により前記指定されたイベントを前記移動局の通信プロトコルスタックにより検出する、ここにおいて、前記指定されたイベントはデータがメモリに書き込まれるときはいつでも生じ、
前記指定されたイベントは、書込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つであり、前記書込みイベントが検出されると、前記移動局アプリケーションはデータを前記移動局通信プロトコルスタック内のトランスポートレイヤ、ネットワークレイヤ及びリンクレイヤの少なくとも１つを迂回してＲＬＰレイヤまたはＩＳ−９５レイヤに送信し、前記読み込みイベントが検出されると、前記移動局アプリケーションは前記ＲＬＰレイヤまたは前記ＩＳ−９５レイヤから前記リンクレイヤ、前記ネットワークレイヤおよび前記トランスポートレイヤの少なくとも１つを迂回してデータを受信する。
【請求項２０】
前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つである、請求項１９の機械読み出し可能な媒体。
【請求項２１】
前記指定されたイベントを前記移動局アプリケーションによりディスエーブルするプロセスをさらに具備する、請求項１９の機械読み出し可能な媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
この発明は特定の実施形態に関連して示されたが、それに限定されると考えられるべきでない。むしろ、この発明は添付したクレームおよびそれらの均等物の範囲によってのみ限定される。
以下に他の実施形態を示す。
［１］  下記工程を具備する、指定されたイベントを検出するための移動局通信プロトコルスタックのための方法：
前記移動局通信プロトコルスタックと通信ネットワークとの間を通信する；
移動局アプリケーションインターフェースを介して前記移動局通信プロトコルと移動局アプリケーションとの間を通信する；
前記移動局アプリケーションが指定されたイベントを登録するとき、前記移動局通信プロトコルスタックにより、メモリをポーリングする；および
前記移動局通信プロトコルスタックにより、前記ポーリングに基づいて前記指定されたイベントを検出する。
［２］  前記メモリが十分な量のデータを受け入れるために利用可能なとき、前記移動局通信プロトコルスタックにより、前記指定されたイベントを検出する工程をさらに具備する、［１］の方法。
［３］  前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つである、［１］の方法。
［４］  前記データは前記移動局アプリケーションから送信される、請求項２の方法。
［５］  前記指定されたイベントを前記移動局アプリケーションにより登録し、前記指定されたイベントを前記移動局アプリケーションによりディスエーブルする工程をさらに具備する、［１］の方法。
［６］  下記工程を具備する、指定されたイベントを検出するための移動局通信プロトコルスタックのための方法：
移動局通信プロトコルスタックと通信ネットワークとの間で通信する；
移動局アプリケーションインターフェースを介して移動局通信プロトコルスタックと移動局アプリケーションとの間で通信する；
移動局アプリケーションにより前記指定されたイベントを登録する；
前記指定されたイベントが生じたとき割込み通知をトリガする；および
前記割込み通知により前記指定されたイベントを、前記移動局通信プロトコルスタックにより検出する。
［７］  前記指定されたイベントはデータがメモリに書き込まれるとき生じる、［６］の方法。
［８］  前記指定されたイベントは書き込みイベント、読み出しイベント、およびクローズイベントの少なくとも１つである、［６］の方法。
［９］  前記指定されたイベントを前記移動局アプリケーションによりディスエーブルする工程をさらに具備する、［６］の方法。
［１０］  通信ネットワークと通信するための移動局通信プロトコルスタックと；
前記移動局通信プロトコルスタックと移動局アプリケーションとの間の通信を容易にするための移動局アプリケーションインターフェースと；および
前記移動局アプリケーションが前記指定されたイベントを登録するとき前記移動局通信プロトコルスタックによりポーリングされるメモリとを具備し、
前記移動局通信プロトコルスタックは前記ポーリングに基づいて前記指定されたイベントを検出するように適応する、指定されたイベントを検出するための装置。
［１１］  メモリが十分な量のデータを受け入れるために利用可能なときはいつでも、前記移動局アプリケーションインターフェースは前記指定されたイベントを検出するように適応する、［１０］の装置。
［１２］  前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つである、［１０］の装置。
［１３］  前記データは移動局アプリケーションから送信される、請求項１０の装置。
［１４］  前記移動局アプリケーションは前記指定されたイベントをディスエーブルするように適応する、［１０］の装置。
［１５］  通信ネットワークと通信するための移動局通信プロトコルスタックと；および
前記移動局通信プロトコルスタックと移動局アプリケーションとの間の通信を容易にするための移動局アプリケーションインターフェースとを具備し、
前記移動局アプリケーションは前記指定されたイベントを登録するように適応し、
前記指定されたイベントが生じたとき、割込み通知がトリガされるように適応し、および
前記割込み通知によって前記移動局通信プロトコルスタックが前記指定されたイベントを検出するように適応する、指定されたイベントを検出するための装置。
［１６］  前記指定されたイベントは書き込みイベント、読み出しイベント、クローズイベントの少なくとも１つである、［１５］の装置。
［１７］  前記指定されたイベントはデータがメモリに書き込まれると生じる、［１５］の装置。
［１８］  前記移動局は前記指定されたイベントをディスエーブルするように適応する、［１５］の装置。
［１９］  機械により読まれたとき下記プロセスを生じる、符号化された情報からなる機械読み出し可能な媒体：
移動局通信プロトコルスタックと通信ネットワークとの間で通信する；
移動局アプリケーションインターフェースを介して前記移動局通信プロトコルスタックと移動局アプリケーションとの間で通信する；
移動局アプリケーションが指定されたイベントを登録するとき前記移動局通信プロトコルスタックによりメモリをポーリングする；および
前記ポーリングに基づいて前記指定されたイベントを前記移動局通信プロトコルスタックにより検出する。
［２０］  前記メモリが十分な量のデータを受け入れるように利用可能なとき、前記指定されたイベントを前記移動局通信プロトコルスタックにより検出するプロセスをさらに具備する、［１９］の機械読み出し可能な媒体。
［２１］  前記指定されたイベントは、書き込みイベント、読み出しイベント、クローズイベントの少なくとも１つである、［１９］の機械読み出し可能な媒体。
［２２］  前記データは前記移動局アプリケーションから送信される、［２０］の機械読み出し可能な媒体。
［２３］  前記指定されたイベントを前記移動局アプリケーションにより登録し、前記指定されたイベントを前記移動局アプリケーションによりディスエーブルするプロセスをさらに具備する、［１９］の機械読み出し可能な媒体。
［２４］  機械により読まれたとき下記プロセスを生じる、符号化された情報からなる機械読み出し可能な媒体：
移動局通信プロトコルスタックと通信ネットワークとの間で通信する；
移動局アプリケーションインターフェースを介して前記移動局通信プロトコルスタックと移動局アプリケーションとの間で通信する；
移動局アプリケーションにより指定されたイベントを登録する；
指定されたイベントが生じたとき割込み通知をトリガする；および
前記割込み通知により前記指定されたイベントを前記移動局通信プロトコルスタックにより検出する。
［２５］  前記指定されたイベントはデータがメモリに書き込まれるとき生じる、［２４］の機械読み出し可能な媒体。
［２６］  前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも１つである、［２４］の機械読み出し可能な媒体。
［２７］  前記指定されたイベントを前記移動局アプリケーションによりディスエーブルするプロセスをさらに具備する、［２４］の機械読み出し可能な媒体。
【外国語明細書】
2011176858000001.pdf