下記工程を具備する、指定されたイベントを検出するための移動局通信プロトコルスタックのための方法:前記移動局通信プロトコルスタックと通信ネットワークとの間を通信する;移動局アプリケーションインターフェースを介して前記移動局通信プロトコルと移動局アプリケーションとの間を通信する;前記移動局アプリケーションが指定されたイベントを登録するとき、前記移動局通信プロトコルスタックにより、メモリをポーリングする;および前記移動局通信プロトコルスタックにより、前記ポーリングに基づいて前記指定されたイベントを検出する。前記メモリが十分な量のデータを受け入れるために利用可能なとき、前記移動局通信プロトコルスタックにより、前記指定されたイベントを検出する工程をさらに具備する、請求項1の方法。前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも1つである、請求項1の方法。前記データは前記移動局アプリケーションから送信される、請求項2の方法。前記指定されたイベントを前記移動局アプリケーションにより登録し、前記指定されたイベントを前記移動局アプリケーションによりディスエーブルする工程をさらに具備する、請求項1の方法。下記工程を具備する、指定されたイベントを検出するための移動局通信プロトコルスタックのための方法:移動局通信プロトコルスタックと通信ネットワークとの間で通信する;移動局アプリケーションインターフェースを介して移動局通信プロトコルスタックと移動局アプリケーションとの間で通信する;移動局アプリケーションにより前記指定されたイベントを登録する;前記指定されたイベントが生じたとき割込み通知をトリガする;および前記割込み通知により前記指定されたイベントを、前記移動局通信プロトコルスタックにより検出する。前記指定されたイベントはデータがメモリに書き込まれるとき生じる、請求項6の方法。前記指定されたイベントは書き込みイベント、読み出しイベント、およびクローズイベントの少なくとも1つである、請求項6の方法。前記指定されたイベントを前記移動局アプリケーションによりディスエーブルする工程をさらに具備する、請求項6の方法。通信ネットワークと通信するための移動局通信プロトコルスタックと;前記移動局通信プロトコルスタックと移動局アプリケーションとの間の通信を容易にするための移動局アプリケーションインターフェースと;および前記移動局アプリケーションが前記指定されたイベントを登録するとき前記移動局通信プロトコルスタックによりポーリングされるメモリとを具備し、前記移動局通信プロトコルスタックは前記ポーリングに基づいて前記指定されたイベントを検出するように適応する、指定されたイベントを検出するための装置。メモリが十分な量のデータを受け入れるために利用可能なときはいつでも、前記移動局アプリケーションインターフェースは前記指定されたイベントを検出するように適応する、請求項10の装置。前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも1つである、請求項10の装置。前記データは移動局アプリケーションから送信される、請求項10の装置。前記移動局アプリケーションは前記指定されたイベントをディスエーブルするように適応する、請求項10の装置。通信ネットワークと通信するための移動局通信プロトコルスタックと;および前記移動局通信プロトコルスタックと移動局アプリケーションとの間の通信を容易にするための移動局アプリケーションインターフェースとを具備し、前記移動局アプリケーションは前記指定されたイベントを登録するように適応し、前記指定されたイベントが生じたとき、割込み通知がトリガされるように適応し、および前記割込み通知によって前記移動局通信プロトコルスタックが前記指定されたイベントを検出するように適応する、指定されたイベントを検出するための装置。前記指定されたイベントは書き込みイベント、読み出しイベント、クローズイベントの少なくとも1つである、請求項15の装置。前記指定されたイベントはデータがメモリに書き込まれると生じる、請求項15の装置。前記移動局は前記指定されたイベントをディスエーブルするように適応する、請求項15の装置。機械により読まれたとき下記プロセスを生じる、符号化された情報からなる機械読み出し可能な媒体:移動局通信プロトコルスタックと通信ネットワークとの間で通信する;移動局アプリケーションインターフェースを介して前記移動局通信プロトコルスタックと移動局アプリケーションとの間で通信する;移動局アプリケーションが指定されたイベントを登録するとき前記移動局通信プロトコルスタックによりメモリをポーリングする;および前記ポーリングに基づいて前記指定されたイベントを前記移動局通信プロトコルスタックにより検出する。前記メモリが十分な量のデータを受け入れるように利用可能なとき、前記指定されたイベントを前記移動局通信プロトコルスタックにより検出するプロセスをさらに具備する、請求項19の機械読み出し可能な媒体。前記指定されたイベントは、書き込みイベント、読み出しイベント、クローズイベントの少なくとも1つである、請求項19の機械読み出し可能な媒体。前記データは前記移動局アプリケーションから送信される、請求項20の機械読み出し可能な媒体。前記指定されたイベントを前記移動局アプリケーションにより登録し、前記指定されたイベントを前記移動局アプリケーションによりディスエーブルするプロセスをさらに具備する、請求項19の機械読み出し可能な媒体。機械により読まれたとき下記プロセスを生じる、符号化された情報からなる機械読み出し可能な媒体:移動局通信プロトコルスタックと通信ネットワークとの間で通信する;移動局アプリケーションインターフェースを介して前記移動局通信プロトコルスタックと移動局アプリケーションとの間で通信する;移動局アプリケーションにより指定されたイベントを登録する;指定されたイベントが生じたとき割込み通知をトリガする;および前記割込み通知により前記指定されたイベントを前記移動局通信プロトコルスタックにより検出する。前記指定されたイベントはデータがメモリに書き込まれるとき生じる、請求項24の機械読み出し可能な媒体。前記指定されたイベントは書き込みイベント、読み出しイベントおよびクローズイベントの少なくとも1つである、請求項24の機械読み出し可能な媒体。前記指定されたイベントを前記移動局アプリケーションによりディスエーブルするプロセスをさらに具備する、請求項24の機械読み出し可能な媒体。この発明の実施形態は、ソフトウエア、ファームウエア、および/またはハードウエアを含む種々の実施で実現可能である。それ故この発明の動作と行動はソフトウエアコードまたはハードウエア部品の特定指示なしに記載される。当業者は指定されたイベントを検出するこの発明を実現するためのソフトウエアおよび/またはハードウエアを設計可能にするであろうことが理解される。図3はMS110内のアプリケーション260、通信プロトコルスタック280およびAPI270を示す。アプリケーション260と通信プロトコルスタックすなわちプロトコルレイヤ202、204、206、208、210、212はAPI270により供給されるファンクションコールを介して通信する。言い換えれば、API270はアプリケーション260と通信プロトコルスタック280が機能性の妥協なしに異なるプロセッサおよびオペレーティングシステム上で実行可能にする。当業者はこの発明の範囲から逸脱することなく呼び出された機能のための種々の名前が可能であることが理解される。通信プロトコルスタック280は、データを記憶する複数の送信キューおよび受信キューを含むことに留意する必要がある。出力機能はアプリケーション260のメモリからデータをリードし、そのデータを通信プロトコルスタック280の送信キューの1つに記憶する。入力機能は通信プロトコルスタック280の受信キューの1つからデータをリードし、そのデータをアプリケーション260のメモリに記憶する。動作を明らかにするために、MS110はIPパケットを受信する。MS110の通信プロトコルスタック280はIPパケットを非カプセル化し、トランスポートレイヤ202に渡す図3参照。IPパケットヘッダのフィールドはTCPまたはUDPのいずれかであるトランスポートを示す。トランスポートレイヤヘッダで指定された宛先ポート番号に基づいて、データは特定のパケットに相当する、通信プロトコルスタック280の適当な受信キューに経路指示される。次に、データはアプリケーション260に送信される。ある状況においては、待ち時間効果を低減するためにプロトコルスタック280の種々のレイヤをバイパスするパケットを用いて動作することが望ましい場合がある。そのようなパケットは宛先情報すなわち宛先ポート番号を欠いている、未加工IPパケットのような、未加工のパケット化されたデータを含む。従って宛先アプリケーションは未加工のIPパケットから決定することはできない。そのような状況において、通信プロトコルスタック280は、受信した未加工のIPパケットを、例えばIPプロトコルをサポートするために登録されたすべてのソケットに送信することができる。これはペイロードデータが宛先アプリケーションに送信されることを可能にする。インターネットコントロールメッセ-ジングプロトコルICMP構文解析エンジンはIPパケットに相当し、未加工のパケット化されたデータも受信することができる。公知のICMP構文解析エンジンはインターネットコントロールメッセージプロトコルというタイトルのRFC792に定義される。通信プロトコルスタック280は例えば受信したパケットをアプリケーション260に渡す前に処理し、これはアプリケーション260によりなされる非カプセル化の量を低減する。逆に言えば、アプリケーション260は未加工のパケット化されたデータをソケットを用いてUmインターフェース上に送信可能であり、これは通信プロトコルスタック280とアプリケーション260との間の通信を容易にする。さらに、アプリケーション260は未加工のパケット化されたデータをUmインターフェース上に送信することができる。次に、通信プロトコルスタック280は例えばパケット化されたまたは未加工のパケット化されたデータをIPパケットにカプセル化し、Umインターフェース上に送信する。この例において、通信プロトコルスタック280はIPパケットを発生するためにIPヘッダとチェックサムを供給する。一方、ICMPの場合、指定されたプロトコルタイプはIPヘッダにコピー可能である。上述したように、通信プロトコルスタック280の使用に固有の待ち時間を低減するためにプロトコルレイヤ202、204、206、208、210、212の少なくとも1つとアプリケション260との間のデータ通信を可能にするソケットを作ることができる。すなわち、アプリケーション260はトランスポートレイヤ202、ネットワークレイヤ204、およびリンクレイヤ206を迂回するソケットを作ることができ、従ってアプリケーションがペイロードデータをRLPレイヤ210に送信したり、RLPレイヤ210からペイロードデータを受信したりすることを可能にする。また、アプリケーション260はアプリケ-ション260がペイロードデータをIS-95レイヤ212に送信したり、IS-95レイヤ212からペイロードデータを受信可能にするソケットを作ることができる。一実施形態において、アプリケーション260は通信プロトコルスタック280を開き、アプリケーション識別を割当てる機能opennetlibをコールする。アプリケーション識別は複数のアプリケーションが通信プロトコルスタック280と通信することすなわちマルチタスクを可能にする。例えば機能opennetlibへのコールの一部としてアプリケーション260はネットワークコールバックファンクションへのポインタとソケットコールバックファンクションへのポインタを指定する。トラフィックチャネルすなわちUmおよび/またはリンクレイヤPPP206に対するリード/ライトおよびトラフィックチャネルおよび/またはリンクレイヤを閉じるようなネットワークサブシステム指定イベントが生じた時またはイネーブルになった時はいつでもネットワークコールバックファンクションが呼び出されアプリケーション260に知らせる。トランスポートレイヤすなわちTCPに対するリード/ライトおよびトランスポートレイヤを閉じるようなソケット指定イベントが生じたまたはイネーブルになったときはいつでもソケットコールバックファンクションが呼び出されアプリケーション260に知らせる。通信ネットワークは、トラフィックチャネル、リンクレイヤおよびトランスポートレイヤの少なくとも1つから構成されることは当業者にとって明らかでなければならない。通信プロトコルスタック280が開かれると、機能pppopenがコールされ、トラフィックチャネルおよびリンクレイヤを含むネットワークサブシステム接続を開始する。これはアプリケーションワイドコールであり、個々のソケットに依存しない。しかしながら、それはアプリケーション識別を必要とする。ネットワークサブシステム接続が確立または失敗すると、ネットワークコールバックファンクションが呼び出され指定されたイベント通知を供給する。例えば、トラフィックチャネルが確立されなければ、ネットワークサブシステムは失敗する。さらにネットワークサブシステム特性は機能netioctlへのコールを用いて設定可能である。例えば、このコールはソケットのデータレートを指定することができる。ネットワークサブシステム接続が確立されると、ソケットまたはソケット群は機能socketへのコールを介して作られイニシャライズすることができる。しかしながら、ソケット機能が使用できる前に機能socketへのコールはソケットディスクリプタを戻すかもしれない。従って、アプリケーション260は指定されたイベントを登録し、非同期通知を受信するために機能asyncselectをコールすることができる。この登録は、通知を必要とする指定されたイベントのソケットディスクリプタおよびビットマスクすなわち複数のイベントがORされるを指定するために、機能コールの一部として、アプリケーション260により実現可能である。指定されたイベントが生じすなわちイネーブルとなり、それが例えば、通信プロトコルスタック280またはAPI270により検出されるなら、ソケットコールバック機能が開始され非同期通知が供給される。コールバック機能はアプリケーション260に、リモードプロシージャコールRPC上のメッセージ、またはハードウエアまたはソフトウエアインタラプトを含む信号、メッセージの使用により指定されたイベントを通知することができる。アプリケーション260に指定されたイベントが通知されると、サービスするための指定されたイベントを決定するためにアプリケーションは機能getnexteventをコールすることができる。この機能は指定されたソケットディスクリプタに対して生じた指定されたイベントのマスクを戻す。また、アプリケーション260は生じた指定されたイベントのマスク内のビットをクリアする。従って、アプリケーション260はもはやディスエーブルされた指定されたイベントの通知を受信することができない。アプリケーション260は機能asyncselectへの次のコールを介してこれらの指定されたイベントを再登録再イネーブルしなければならない。さらにアプリケーション260は指定されたイベントのビットマスクの対応するビットをクリアすることにより登録された指定されたイベントを変更することができる。ビットマスクにおいてビットがすでにクリアされている場合には、その要求は単に無視される。要約すれば、例えば機能asyncdeselectの機能へのコールを介してイベント当りでディスエーブルすることができる。図4および5は指定されたイベントを検出するためのフローチャートである。図4に示すように、例えば、通信プロトコルスタック280は指定されたイベントを登録するためにブロック400においてアプリケーション260を待つ。指定されたイベントが登録された後、通信プロトコルスタック280はブロック402においてメモリをポーリングする。ブロック404において、指定されたイベントはブロック402のポーリングされた情報に基づいて検出可能である。ブロック406において、通信プロトコルスタック280のメモリ即ち送信キューが十分なデータ量を受け入れ可能であるとき、書き込みイベントが検出される。データはアプリケーション260から送信可能である。ブロック404のポーリングされた情報が満足されなければすなわち指定されたイベントが生じなければ、通信プロトコルスタック280はブロック402においてメモリをポーリングし続ける。図5において、通信プロトコルスタック280はブロック500に示すように指定されたイベントを登録するためにアプリケーション260を待つ。このとき割込み通知をディスエーブルにすることができる。従って、割込み通知はトリガすることもできないしトリガされることもできない。ブロック500において指定されたイベントが登録されると、ブロック502において割込み通知が指定されたイベントの発生に基づいてトリガすることができる。例えば読み出しイベントは、データが通信プロトコルスタック280のメモリすなわち受信キューに書き込まれると生じる。従って、ブロック504において、イベントの発生によりトリガされた割込み通知を受信すると読み出しイベントが通信プロトコルスタック280により検出される。通信プロトコルスタック280のメモリに記憶されたデータは通信ネットワークから送信される。さらに、読み出しイベントの場合、記憶されたデータはアプリケーション260に送信可能である。最後に、例えばトランスポートレイヤのようなデータリンク接続が終端されるので、ソケットが再使用のために利用可能なときには閉じるイベントが検出される。非同期イベント通知の使用を図示するために非同期接続図6参照および非同期入力図7参照の以下の例が提供される。図6において、機能opennetlibへのコールを介して通信プロトコルスタック280が入力され、コールバック機能が指定される。機能pppopenへのコールはネットワークサブシステム接続Bを開始する。ネットワークサブシステム接続は確立された後、コールバックファンクションが呼び出されC、ネットワークサブシステムの可用性が報告される。ソケットが開かれ割当てられたと仮定すると、機能connectへのコールはTCP接続Eを開始する。さらに、アプリケーション260は機能asyncselectをコールし、指定されたイベントを登録して通知を受信する。この例において、所定の指定されたイベントは書き込みイベントであり、接続が確立すると生じる。接続を確立すると、指定されたイベントがマスクに登録されるとコールバック機能が呼び出される。そうであるなら、コールバック機能が呼び出されG、非同期通知を供給する。アプリケーション260が通知されると、アプリケーションは機能getnexteventをコールし、その指定されたイベントが生じたかを決定するI。また、このコールはマスク内のイベントすなわち書き込みイベントのビットをクリアするJ。アプリケーション260は機能asyncselectへのコールを介して指定されたイベントの次の通知を再登録しなければならない。図7において、非同期ソケット読み出しの例図が供給される。読み出しを開始するために、アプリケーション260は機能readをコールする。読むべきデータが無いと仮定すると、アプリケーション260は機能asyncselectをコールしすなわち、対応するビットをマスクに設定し、通知を受信する。この例において、所定の指定されたイベントは読み出しイベントであり、アプリケーション260により読むべきデータがあるとき生じる。データを受信キューに記憶すると、読み出しイベントがマスクに指定されているならば、コールバック機能が呼び出される。そうであるなら、コールバック機能が呼び出されC、非同期通知を供給する。アプリケーション260が通知されると、アプリケーションは機能getnexteventをコールし、どのイベントが生じたかを決定するE。また、このコールはマスクFのイベントのビットをクリアする。アプリケーションは、機能asyncselectへのコールを介してイベントの次の通知を再イネーブルしなければならない。最後に、受信キューに記憶されたデータを読み出すために、アプリケーション260は機能readをコールするG。図8乃至10において、この発明の実施形態の状態機械が図示される。図8乃至9において、通信プロトコルスタック280が開かれ、ネットワークサブシステム接続すなわち、トラフィックチャネル、および必要であればリンクレイヤ-未加工のソケットはネットワークサブシステムを迂回することができるが確立される。当業者は、この発明の範囲を逸脱することなく状態に対する種々の名前が可能であることを理解するであろう。状態機械は状態間を非同期に遷移可能であり、読み出し、書き込み、クローズのような指定されたイベントを制御するすなわちイネーブルおよびディスエーブルする。指定されたイベントは動作の開始時にディスエーブルになることができ、所定の状態でイネーブルになることができ、アプリケーション260がMS110の状態を識別するのを助ける。また、API270は、API270の状態およびアプリケーション260によりコールされる機能の種類に基づいてアプリケーション260に特別なすなわち単に一般的でない指定された状態メッセージを報告する。指定された状態メッセージは基礎を成す通信ネットワークの状態を反映することができる。例えば状態メッセージは機能コールの引数としてアプリケーション260に報告される。図8において、例えばAPI270のTCPソケットのための状態図が図示される。イニシャライズされていないソケットはヌル状態800で始まる。ソケットはまだ今のところ割当てられていないので存在しない。ソケットは機能socketへのコールを介して作成しイニシャライズすることができる。socketはソケット関連機能とともに使用するためにソケットディスクリプタを戻す。機能socketへのコールの後、状態機械はイニシャライズ状態805に遷移する。イニシャライズ状態805において、状態機械は、TCP接続の可能性が機能closeへのコールにより終端されるときはヌル状態800に戻る。機能closeへのコールはすべてのソケットに関連するリソースを解放する。一方、機能connectへのコールはTCP接続を開始し、状態機械をオープニング状態810に遷移する。オープニング状態810において、1ネットワークサブシステム障害が生じたとき、2TCP接続を確立するための障害があるとき、または3変更されたIPアドレスがあるときは、状態機械はクローズド状態815に遷移する。また、機能closeこれはTCP接続を終端するへのコールの後、終端手続きが開始される間状態機械はソケットをクロージング820に遷移する。最後に、TCP接続が確立されると、状態機械はオープン状態825に遷移する。オープン状態825において、ソケットは読み出しおよび書き込みのためにオープンされる。特に書き込みイベントは即イネーブルとなり、一方読み出しイベントは通信プロトコルスタック280のメモリにデータが記憶されているかどうかに基づいてイネーブルになる。1ネットワークサブシステム障害が発生したとき、2TCP接続を確立するための障害があるとき、3ネットワークサーバにより開始されるTCPリセット、TCPアボート、またはTCPクローズドのようなTCP接続を終端させる試みがあるとき、4IPアドレスに変更があるとき状態機械はクローズド状態815に遷移する。機能closeへのコールによるようなアプリケーションにより開始されたTCP接続終端は状態機械をクロージング状態820に遷移する。クローズド状態815において、読み出し、書き込みおよびクローズイベントはすべてアサートされる。TCP接続を終端する機能closeへのコールの後、状態機械はソケットをヌル状態800に遷移させる。この状態はソケットを自由にし、再使用のために利用可能にする。クロージング状態820において、1ネットワークサブシステム障害が発生したとき、2ネットワークサーバにより開始されるTCPリセットまたはTCPクローズドのようなTCP接続を終端する試みがあるとき、3タイマが満了のとき、および4IPアドレスに変更があるときは、状態機械はクローズ待ち状態830に遷移する。TCP接続を終端する際の遅延に対して保護するために、API270はタイマを導入し、このタイマはTCP接続終端の開始時にアクティブになる。見られるように、タイマの満了は状態機械をクローズ待ち状態830に遷移する。クローズ待ち状態830において、機能closeへのコールはTCP接続を終端し、状態機械をヌル状態800に遷移させる。クローズイベントはこの状態830においてアサートされる。表1乃至3はAPI270により支持された指定された状態メッセージを説明する。ヌル状態において表1乃至3には示されていない、指定されたメッセージ状態は記述的なものであるが、さらなるリソースは利用できないという指定された状態メッセージがアプリケーション260に報告可能である。一例として、図9はAPI270のUDPソケットのための状態図を示す。イニシャライズされていないソケットはヌル状態900で開始する。ヌル状態800に関して上で述べたように、ソケットは割当てられなかったので存在しない。ソケットは機能ソケットへのコールを介して作りイニシャライズすることができ、ソケットに関連する機能とともに使用するためにソケットディスクプリタを戻す。機能ソケットへのコールの後、状態機械はオープン状態905に遷移する。オープン状態905において、ソケットは読み出しおよび書き込みを行うためにオープンされる。特に、書き込みイベントは即イネーブルになるのに対し、読み出しイベントはデータが通信プロトコルスタック280のメモリに記憶されているかどうかに基づいてイネーブルになる。ネットワークサブシステムに障害が生じると、状態機械はクローズド状態910に遷移する。機能クローズへのコールによるようなアプリケーション開始UDP接続終端は状態機械をヌル状態900に遷移する。クローズド状態910において、読み出し、書き込みおよびクローズイベントはすべてイネーブルになる。機能クローズへのコールの後、これはUDP接続を終端させるのだが、状態機械はソケットをヌル状態900に遷移し、これはソケットを自由にし再使用のために利用可能にさせる。表4乃至6はAPI270により支持される指定されたステータスメッセージを示す。ヌル状態表4乃至6には示されていないにおいて、上で述べたようにさらなるリソースは利用できないという指定されたステータスメッセージはアプリケーション260に報告可能である。図10はトラフィックチャネルすなわちUmおよびリンクレイヤすなわちPPP206のようなネットワークサブシステムを制御するための状態図を示す。機能opennetlibへのコールはネットワークサブシステムをオープンし、ソケットをクローズド状態1000にイニシャライズする。機能pppopenへのコールはネットワークサブシステム接続を開始し、ソケットをオープニング状態1005に遷移する。また、入って来るPPPコールによるMSへのページはソケットをオープニング状態1005に遷移する。両方の場合において、成功した交渉に応じてMS110はトラフィックチャネルを越えてRLPおよびPPPの両方を同期化し確立しようとする。オープニング状態1005において、ネットワークサブシステム接続が確立されるとソケットはオープン状態1010に遷移する。一方、ソケットは、ネットワークサブシステム接続が確立されなければクローズド状態1000に戻る。オープン状態1010において、コールバック機能が行使され、アプリケーション1060に対してイネーブルである読み出し、書き込みおよびクローズのような指定されたイベントを識別する。このとき、MS110はトラフィックチャネルを介して通信することができる。しかしながら、ソケットは、ネットワークサブシステムに障害が生じたときはクローズド状態1000に遷移し、コールバック機能を行使する。functioncloseへのコールによるようなアプリケーションにより開始されたネットワークサブシステム接続終端はソケットをクロージング状態1015に遷移する。クロージング状態1015において、ネットワークサブシステム接続が終端するとソケットはクローズド状態1000に遷移する。クローズド状態1000において、コールバック機能が行使され、アプリケーション260に対してイネーブルである指定されたイベントを識別する。表7は特定の機能コールに対応し、API270により支持される指定されたステータスメッセージを示す。他の実施形態において、機械は、指定されたイベントを検出する上述したプロセスを生じるために符号化されたソフトウエアコードのような符号化された情報からなる機械読み出し可能な媒体を読むことができる。機械読み出し可能な媒体はメモリまたは記憶ディスク、または通信ネットワークからのような記憶装置から符号化された情報を受け入れることができる。また、機械読み出し可能な媒体は、媒体が製造されるとき、符号化された情報を用いてプログラムすることができる。機械はアプリケーション260、通信プロトコルスタック280、およびAPI270の少なくとも1つで構成でき、一方機械読み出し可能な媒体はメモリまたは記憶ディスクで構成することができる。この発明は特定の実施形態に関連して示されたが、それに限定されると考えられるべきでない。むしろ、この発明は添付したクレームおよびそれらの均等物の範囲によってのみ限定される。