【誤訳訂正書】
【提出日】平成22年6月1日(2010.6.1)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【書類名】  明細書
【発明の名称】  回線交換データ転送シミュレーションのための通信ブリッジ
【特許請求の範囲】
【請求項１】  シリアル接続を介してユーティリティーメーターからデータを受信し、ＧＳＭネットワークを介する無線装置による伝送のために前記データをパケットデータに翻訳するように構成された第１のインターフェースと、
ＧＳＭプロトコルスタックに追加されたアプリケーション層オブジェクトコードであって、ユーザー装置に対するシミュレーションされた回線交換呼リンクを処理するように構成されたアプリケーション層オブジェクトコードとを含む通信ブリッジであって、
前記通信ブリッジは、前記シリアル接続を通して前記ユーティリティーメーターと通信するように構成され、前記通信ブリッジは、エスケープシーケンスが検出されるまで、前記無線装置と公衆電話交換網との間で回線交換呼リンクをシミュレーションするように構成され、前記回線交換呼リンクを介して前記パケットデータを送信するためにショートメッセージサービス（ＳＭＳ）モードを使用する通信ブリッジ。
【請求項２】  前記パケットデータがショートメッセージサービスフォーマットを有する請求項１の通信ブリッジ。
【請求項３】  前記パケットデータが汎用パケット無線サービス（ＧＰＲＳ）フォーマットを有する請求項１の通信ブリッジ。
【請求項４】  前記通信ブリッジは、さらに、
マイクロコントローラと、
前記マイクロコントローラに接続され、前記アプリケーション層オブジェクトコードを保持する不揮発性メモリと、
前記マイクロコントローラに接続され、前記マイクロコントローラが前記アプリケーション層オブジェクトコードを実行する間に一時的情報を保持するよう構成された揮発性メモリと、
前記マイクロコントローラに接続された入力出力コントローラとを備え、
前記入力出力コントローラは、
前記シリアル接続と、
前記無線装置に通信可能に接続されるよう構成された第２シリアル接続とを含む請求項１記載の通信ブリッジ。
【請求項５】  回線交換呼リンクをシミュレーションする方法であって、
ユーザ装置とのシリアルリンクを介して、ユーティリティーメーターの読み取り値に対応するデータを受信するステップと、
エスケープシーケンスが検出されるまで、ユーザー装置と、無線装置及び公衆電話交換網との間でのシミュレーションされた回線交換呼リンクを確立するステップと、
非回線交換呼リンクを介する１つ以上のパケットとしての伝送のために、前記シミュレーションされた回線交換呼リンクを介して受信したデータを準備するステップとを含み、前記シミュレーションされた回線交換呼リンクを介して受信した前記データを準備するステップは、前記データのフォーマットをショートメッセージサービスフォーマットパケットに変換するステップを含み、前記シミュレーションされた回線交換呼リンクを介してパケットデータを送信するためにショートメッセージサービス（ＳＭＳ）モードが使用され、
前記方法は、
前記シミュレーションされた回線交換呼リンクを介して受信した前記データをエスケープシーケンスに関してモニターするステップと、
前記エスケープシーケンスが検出されれば、前記非回線交換呼リンクおよび前記シミュレーションされた回線交換呼リンクを切断するステップとを含む方法。
【請求項６】  回線交換呼リンクをシミュレーションするための、１つ以上のプロセッサに前記請求項５の方法の各ステップを実行させる命令からなる１つ以上のシーケンスが格納されたコンピュータ読みだし可能な媒体。
【請求項７】  回線交換呼リンクをシミュレーションする方法であって、
ユーザ装置とのシリアルリンクを介して、ユーティリティーメーターの読み取り値に対応するデータを受信するステップと、
エスケープシーケンスが検出されるまで、ユーザー装置と、無線装置及び公衆電話交換網との間でのシミュレーションされた回線交換呼リンクを確立するステップと、
非回線交換呼リンクを介する１つ以上のパケットとしての伝送のために、前記シミュレーションされた回線交換呼リンクを介して受信したデータを準備するステップとを含み、前記シミュレーションされた回線交換呼リンクを介して受信した前記データを準備するステップは、前記データのフォーマットを汎用パケット無線サービス（ＧＰＲＳ）フォーマットパケットに変換するステップを含み、前記シミュレーションされた回線交換呼リンクを介してパケットデータを送信するためにショートメッセージサービス（ＳＭＳ）モードが使用され、
前記方法は、
前記シミュレーションされた回線交換呼リンクを介して受信した前記データをエスケープシーケンスに関してモニターするステップと、
前記エスケープシーケンスが検出されれば、前記非回線交換呼リンクおよび前記シミュレーションされた回線交換呼リンクを切断するステップとを含む方法。
【請求項８】  前記ユーザー装置からのデータフローを処理するデータ端末装置の容量を示すフロー制御データを前記ユーザー装置に送るステップと、
宛先へのデータ伝送の成功を確かめるために状態情報を構成するステップとをさらに含む請求項７の方法。
【請求項９】  回線交換呼リンクをシミュレーションするための、１つ以上のプロセッサに前記請求項７または８の方法の各ステップを実行させる命令からなる１つ以上のシーケンスが格納されたコンピュータ読みだし可能な媒体。
【発明の詳細な説明】
【０００１】
（背景）
（発明の分野）
この出願は通信装置の分野に関し、そして、特に、回線交換ネットワークおよびパケット交換ネットワークを通信ブリッジと統合する通信装置に関する。
【０００２】
（背景説明）
種々のユーザー装置が、世界中の住宅、商業施設および工場の建物の複合体をモニターし、および／またはこれらの建物の複合体に設置される。そのようなユーザー装置の例は、電気的または電気機械的な変換器により天然ガス、電力、水道等の種々の公益事業（ユーティリィー）による供給物資の消費量を測定するメーター読み取り装置を含む。メーター読み取り装置は、典型的には、ある時間期間にわたって測定された供給物資の第１の読み取り値および第２の読み取り値を記録するか、あるいは、循環的な合計値（すなわち、ある数に達した後に測定を初めから繰り返す動作時の合計値）を記録するアナログ装置である。
【０００３】
通常、公益事業者のためのサービス人員は、毎月、メーター読み取り装置の場所に、またはそのそばに物理的に現れて、供給物資の消費量を記録する。メーター読み取り装置からの記録された消費量は、それから、請求書作成目的のために用いられるデータベースに供給され、次に、測定された供給物資のユーザーによる消費量に基づいて消費者宛ての請求書を生成する。
【０００４】
都市エリアにおいて、記録される必要があるメーター読み取り装置の数は途方もない。サービス人員を所望の場所に送ることに関連する費用は、特定の場所、例えばアパート集合体のような高密度住宅団地におけるメーター読み取り装置の整理統合によって償却され得るけれども、コストは依然として非常に大きい可能性がある。一方、田舎では、単一の場所で読み取られる多数のメーター読み取り装置によってメーター読み取りを償却することは一般には不可能であるので、コストはより高くなる。
【０００５】
サービス人員を物理的場所に送るコストを低減するため、公益事業会社によってさまざまな技術が使用される。
【０００６】
たとえば、単純な方法としては、１つ以上の過去の値または移動平均もしくは季節平均から現在の読み取り値の測定した量を外挿するための確率的技術を使用するものがある。この技術は、メーター読み取りの頻度を減らすように設計されている。しかしながら、その欠点として、消費者が単に不在であってサービスが使用されていないケース、または異常気象パターンが発生して消費量が著しく増加したケースのように、外挿された読み取り値が実際の消費量を大幅に下回ったり、もしくは上回ったりする可能性がある。
【０００７】
他の技術としては、無線ベースのメーター読み取り装置を使用するものがある。例えば、各メーター読み取り装置は、メーター読み取り値を近くの受信機にブロードキャストすることが可能な無線装置を含む。例えば中東では、地所の所有者（人）が在宅ではない場合にサービス人員がその地所へのアクセスをしばしば拒否されるので、そのようなシステムが採用されることが多い。無線ベースのメーター読み取り装置によれば、サービス人員が、メーターを読み取る受信装置を伴って、無線メーター読み取り装置のそばを自動車で通過することができる。この技術によれば、サービス人員は地所に入る必要はない。そのようなシステムの利点は、田舎エリアにおいて、サービス人員がメーターを読むためにかかる時間を低減できることである。
【０００８】
例えば、あるシステムは、メーター読み取り装置と通信するために、メーター読み取り装置の集合体の物理的なそばまたは近くをサービス人員が自動車で通過することを要求するかもしれない。「自動車で近くを通過すること（ｄｒｉｖｅ−ｂｙ）」により集められるデータは、後に、集中化されたデータ収集システムにアップロードされる。
【０００９】
他の解決方法は、装置から無線データを集める周期的なステーションを含むかもしれない。周期的なステーションは、集中化されたデータ収集システムと回線交換呼によって通信する陸線モデムを含むことができる。そのような解決方法はサービス要員を展開することに代わる代替の方法を提供する。しかしながら、周期的なステーションをサービスするために電話回線をセットアップすることも、コストが高くなる可能性がある。さらに、回線交換呼もまた、コストが高くなる可能性がある。
【００１０】
例えば、ある解決方法では、回線交換で発呼するためにＧＳＭモデムを使う。ＧＳＭモデムは、セットアップ及び制御の目的では、ヘイズ（Ｈａｙｅｓ）互換モデム等の既知の陸線モデムと同様に動作する。そのようなモデムは、一般には、主として、クライアントコンピュータとヘッドエンドサーバーのような２台の装置の間でデータを移動させるためのトランスポートメカニズムとして動作する。特に、モデムは、クライアントコンピュータからのデータまたは制御信号を受動的に変調するように、またはモデムを通してクライアントコンピュータに変調信号を受動的にプッシュするよう構成される。
【００１１】
モデムが初期化されるとき、それは一般に、モデムに格納されているデフォルトモデム構成で動作するか、またはモデムは、クライアントコンピュータから特別な初期化構成パラメータを受信して動作する。初期化構成がいずれかのモードで実行されることで、モデムがクライアントコンピュータと通信できるようになり、好ましくは、（トランスポートとして）その最大効率で動作できるようになることを保証する。
【００１２】
図１６は、無線モデムを採用している典型的な通信ネットワーク１６００を示す。ラップトップコンピュータは、クライアントコンピュータ１６０４である。クライアントコンピュータ１６０４は、例えばＲＳ−２３２ポートとシリアルケーブル１６０６を介して、ＧＳＭモデム１６０８に接続されている。次いで、ＧＳＭモデム１６０８は、無線（ｏｖｅｒ−ｔｈｅ−ａｉｒ）インターフェース１６１０を介して、ＧＳＭネットワーク１６１２に接続されている。ＧＳＭネットワーク１６１２は、ショートメッセージサービスセンター・インターフェース１６１４を介して、アプリケーションサーバのようなヘッドエンドサーバー１６１６に接続されている。
【００１３】
データフロー１６５０が示すように、クライアントコンピュータ１６０４がヘッドエンドサーバー１６１６に接続しようとするとき、それは最初に、ＧＳＭモデム１６０８に構成パラメータを直接渡すことによってＧＳＭモデム１６０８を初期化しようとする。例えば、構成パラメータ１６２０は、クライアントコンピュータ１６０４からシリアルケーブル１６０６を介してＧＳＭモデム１６０８に渡される。パラメータが受け入れられたかどうかを示す応答１６２４は、それからＧＳＭモデム１６０８によってクライアントコンピュータ１６０４へ戻される。一旦ＧＳＭモデム１６０８が初期化されれば、それは本質的に、クライアントコンピュータ１６０４のスレーブとなり、ヘッドエンドサーバー１６１６からクライアントコンピュータ１６０４へのデータ１６３２に加えて、クライアントコンピュータ１６０４からヘッドエンドサーバー１６１６へのデータ１６２８を伝送する受動的なトランスポートとして機能する。
【００１４】
上述の問題は、アメリカ合衆国における公益事業の規制緩和によって悪化する。現在、一つの大都市圏に対していくつかの異なる電力供給会社がサービスすることが可能である。この結果、サービス人員がモニターしなければならないかもしれない複数のサービスエリアからなる、互いに隣接しないパッチワークがもたらされる。もはや、特定の地理的エリアの全てのユーザーが単一のサービスプロバイダから電力供給を受けると仮定することはできない。実際に、単一の住居ブロック上で、全ての世帯が異なるサービスプロバイダを有しているかもしれない。さらに、消費者がサービスプロバイダを簡単に変更できることは、状況をさらに複雑にする。したがって、使用量測定の収集のコストを償却する能力は、低減される。
【００１５】
他のタイプのユーザー装置は、自動販売機、火災探知器、侵入者探知器とガス探知器を含む。一般的に、これらの装置は、特定のイベントが検出されたことを示すためにアラームメカニズムを必要とする。殆どの場合、アラームは可聴または可視であることのみが必要である。しかしながら、しばしば、特定のアラーム状態への応答は、遠隔地の関係者による介在を必要とする。例えば、火災報知または侵入者報知が引き起こされたとき、適当な応答人員が介入することができるように、中央派遣地点にアラームを送ることは有用である。
【００１６】
最も一般に採用されるアラームシステムは、多くの自動販売機上で使われているものである。このアラームシステムにおいては、アラームが引き起こされた時、自動販売機のサービスライトが点灯する。点灯したサービスライトに隣接したステッカーには、「サービスまたは修理のため、（４０８）５５７−４５６７のＪＩＭに電話してください」と書いてある。
【００１７】
より複雑化した環境では、より複雑なアラームシステムを採用することができる。例えば、一部の装置は、アラーム状態を検出して応答を実行するために内蔵マイクロコントローラを利用する。応答は収集地点に送られ、そこから、外部陸線モデムに送られる。外部陸線モデムもそれ自体のマイクロコントローラを利用する。次いで、陸線モデムは、派遣センターにアラームを知らせる。このシステムに係る重要な態様は、アラームシステムが、装置内部のマイクロコントローラによる制御下にあり、および／またはそのマイクロコントローラによってトリガーされるということにある。
【００１８】
（発明の概要）
ユーザー装置への回線交換呼リンクをシミュレーションするための通信ブリッジを提供する。ある実施例では、通信ブリッジは、シリアルデータインターフェースを介してユーザー装置からデータを受信する。通信ブリッジは、回線交換呼リンクをシミュレーションし、ユーザー装置へ応答し、それによりユーザー装置は回線交換呼リンクが生成されたことを信じる。一旦シミュレーションされた回線交換呼リンクが確立されれば、ユーザー装置からのデータは、非回線交換呼リンクを介した伝送のために、通信ブリッジによってショートメッセージサービスパケットまたは汎用パケット無線サービスパケットにパケット化される。
【００１９】
さらに、オペレーターに依存しない、トランスペアレントな無線モデム管理システムについて開示する。ある実施例によれば、モデム管理システムは、無線モデムにおいてショートメッセージサービスメッセージを受信するステップと、モデム管理情報のために上記ショートメッセージサービスメッセージを検査するステップとを含む。ショートメッセージサービスメッセージがモデム管理情報を含むならば、無線モデムはショートメッセージサービスメッセージを処理する。
【００２０】
他の実施例では、通信ブリッジのメモリーは、無線プロトコルスタックと通知アルゴリズムを含む。イベント検出インターフェースで受信されたアラーム状態は、通知アルゴリズムをトリガーする。通知アルゴリズムはアラーム状態を処理し、このことは好ましくは、無線プロトコルスタックに送られる通知コマンドをセットアップすることを含む。次いで、無線プロトコルスタックは、アラーム状態に対応するデータを含むショートメッセージサービスメッセージを、ＲＦトランシーバーを介して伝送する。
【００２１】
（好ましい実施の形態の説明）
回線交換データ転送シミュレーションのための方法と装置を提供する。本発明の態様によれば、データ収集装置をだまして、回線交換通信が実行されていると信じさせる通信ブリッジ（またはインターフェース）を提供する。一実施例において、通信は、実際にはＧＳＭショートメッセージサービス（以下、「ＳＭＳ」）によって実行される。
【００２２】
本発明の一実施例によれば、通信ブリッジは、特別に構成された電気的ハードウェアとソフトウェアによって実装される。しかしながら、他の実施例によれば、通信ブリッジは、既存のＧＳＭモデムハードウェア上のＧＳＭプロトコルスタックのアプリケーション層に追加される機能によって実装される。両方の実施例をここで説明する。
【００２３】
動作の概要
図１３Ａは、本発明を用いた一実施例に係るシステム１３００のブロック図である。ユーザー装置１３０４は、多数のユーティリティメーター（公益事業用メーター）からデータを受信するメーター読み取り装置収集ステーションのような、データ収集装置である。ユーザー装置１３０４は、通信ブリッジとして機能するデータ端末装置１３０８に対して（例えば、シリアルデータインターフェース１３０６によって）通信可能に接続される。データ端末装置１３０８は、無線インターフェース（すなわち、「オーバージエア（ｏｖｅｒ−ｔｈｅ−ａｉｒ）」インターフェース）１３２４を介して、好ましくはデータ端末装置１３０８の構成要素である標準的なＧＳＭモデムによって、ＧＳＭネットワーク１３２０と通信するよう構成されている。今のところ、ＧＳＭネットワーク１３２０の左側を、便宜上、発信元装置と呼ぶ。後述のコマンドは、好ましくは修正されたヘイズ（Ｈａｙｅｓ）ＡＴコマンドセットから実装される。
【００２４】
ＧＳＭネットワーク１３２０の右側にもまた、無線インターフェース１３２８によって同様のデータ端末装置１３１２がリンクされ、データ端末装置１３１２は、ユーザー装置１３１６に（例えば、シリアルデータインターフェース１３１４によって）通信可能に接続される。ユーザー装置１３１６は、発信元装置からの通信を分析たりまたは中継したりするための第２のデータ収集ステーションまたは他の装置を含むことができる。便宜のために、ＧＳＭネットワーク１３２０の右側を、受信側装置と呼ぶ。受信側装置が発信元装置の鏡像である必要はないという点に留意する。例えば、受信側装置は無線インターフェース１３２８によってＧＳＭネットワーク１３２０に接続される必要はなくて、代わりに、物理的なネットワーク接続によって接続されてもよい。
【００２５】
図１３Ｂ及び図１３Ｃは、回線交換呼シミュレーションのための呼のセットアップおよび呼の切断のプロトコルを表す。一実施例によれば、発信元ユーザー装置１３０４も受信側ユーザー装置１３１６も、非回線交換の発呼が行われたことについて認識していない。データ端末装置１３０８、１３１２は、ユーザー装置への回線交換呼応答をシミュレーションし、非回線交換型交換機が実行したという事実をトランスペアレントにする。
【００２６】
最初に図１３Ｂを参照すると、それは、図１３Ａに関連付けられ、シミュレーションされた回線交換呼のセットアップのフロー図を表す。ユーザー装置１３０４から開始するとき、ＡＴＤコマンド１３３２が発行され、シリアルデータインターフェース１３０６を介してデータ端末装置１３０８にシリアルに渡される。通信ブリッジは、到来するＡＴＤコマンド１３３２を処理し、無線装置へＳＭＳエスタブリッシュリンク（establish link）メッセージ１３３６を送る。一実施例によれば、データ端末装置とユーザー装置は、ユーザー装置１３０４からデータ端末装置１３０８まで転送されているデータからの入力バッファオーバーフローを防止するように、フロー制御のためのネゴシエーションを行う。
【００２７】
無線装置は、無線インターフェース１３２４を介してＧＳＭネットワーク１３２０へＳＭＳエスタブリッシュリンクメッセージ１３３６を送信する。ＧＳＭネットワーク１３２０は、ＳＭＳエスタブリッシュリンクメッセージ１３３６を受信側無線ローカルループ１３２８へルーティングする。受信側無線ローカルループ１３２８では、ＳＭＳエスタブリッシュリンクメッセージ１３３６は、次いでデータ端末装置１３１２に送られ、データ端末装置１３１２は、その無線装置でメッセージを受信し、それからその通信ブリッジでメッセージを処理する。通信ブリッジは、メッセージを調べて、リング（ring）インジケーター１３４０によりユーザー装置１３１６に着信呼について知らせる。
【００２８】
データ端末装置１３０８の通信ブリッジは、好ましくは、電話番号を５分間にわたってアクティブにしておく。これは、ユーザー装置１３１６からＳＭＳエスタブリッシュリンクメッセージ１３３６の肯定応答を受信するのに十分な時間をもたらす。
【００２９】
１つの実施例によれば、ＡＴコマンド「ＡＴＡ」（ＡＴＡコマンド１３４４として示す）が、ユーザー装置１３１６からデータ端末装置１３１２に渡される。データ端末装置１３１２は、それから、ＳＭＳリンクエスタブリッシュト（link established）メッセージ１３４８をデータ端末装置１３０８に送る。ＳＭＳリンクエスタブリッシュトメッセージ１３４８を受信したとき、データ端末装置１３０８の通信ブリッジは、コネクト（connect）メッセージ１３５２をユーザー装置１３０４に送る。
【００３０】
ＡＴＡコマンド１３４４がユーザー装置１３１６から受信される前に、１以上のＳＭＳエスタブリッシュリンクメッセージ１３３６がデータ端末装置１３１２によってＧＳＭネットワーク１３２０から受信される場合には、データ端末装置１３１２の通信ブリッジは、最も最近のＳＭＳエスタブリッシュリンクメッセージ１３３６に応答するということに留意する。
【００３１】
一旦ＳＭＳリンクが確立されれば、データ端末装置１３０８、１３１２によって、１つ又は複数の無線ローカルループ上でルーティングされるショートメッセージングサービスを介して、ユーザー装置１３０４とユーザー装置１３１６との間でデータを転送することができる。
【００３２】
発信元装置と受信側装置との間の仮想リンクを用いて、データは、通常の回線交換呼通信が実行されているように渡されることができる。データ端末装置の通信ブリッジが、装置を用いる特定のアプリケーションによって必要とされるデータパケット化（ｄａｔａ  ｐａｃｋｅｔｉｚａｔｉｏｎ）、ハンドシェーク、順序付けおよびエラー訂正のすべてを処理するので、動作はユーザー装置にとってトランスペアレントである。
【００３３】
ここで、図１３Ｃを参照する。図１３Ｃもまた、図１３Ａに関連付けられている。図１３Ｃは、シミュレーションされた回線交換呼の呼リンク切断１３５０のフロー図を表す。１つの実施例によれば、データ端末装置１３０８の中の通信ブリッジは、約１０分間にわたって、ユーザー装置１３１６からのデータもしくはコマンドを待つ。そのようなタイムフレーム内にデータもしくはコマンドが受信されなければ、呼は「切断された（ｄｒｏｐｐｅｄ）」とみなされる。しかしながら、エスケープシーケンスを受信したときも、呼は切断される。
【００３４】
最初に、エスケープシーケンス１３５６がデータ端末装置１３０８により受信される。ＳＭＳディスコネクトリンク（disconnect link）メッセージ１３６０は、それから、データ端末装置１３０８内の無線装置により、無線インターフェース１３２４を介して送られる。
【００３５】
ＧＳＭネットワーク１３２０は、送られたＳＭＳディスコネクトリンクメッセージ１３６０を受信して、それを無線インターフェース１３２８を介してデータ端末装置１３１２に向けてルーティングする。データ端末装置１３１２は、ＳＭＳディスコネクトリンクメッセージ１３６０を受信し、それは通信ブリッジにより処理される。次いで、通信ブリッジは、ディスコネクトインジケーター１３６４をユーザー装置１３１６に送り、それからリンクディスコネクティッド（link disconnected）メッセージ１３６８をデータ端末装置１３０８に戻す。リンクディスコネクティッドメッセージ１３６８がデータ端末装置１３０８により受信されたとき、無線装置はリンクを切断する。
【００３６】
ＳＭＳ実施例を参照してここまで説明したが、他の実施例によれば、通信ブリッジは、汎用パケット無線サービス（「ＧＰＲＳ」）によって回線交換呼をシミュレーションする。呼のセットアップおよび切断は、上記（および下記）の方法に実質的に類似したものである。しかしながら、ＡＴコマンド「ＡＴＤ」に続いて電話番号を供給するのではなく、インターネットプロトコルアドレスを供給する（例えば「ＡＴＤ１１４．３２．０．１０８」）。一旦接続が確立されれば、ＧＰＲＳを介して送られるデータパケットは、ＳＭＳを介して送られるデータパケットと同様のフォーマットにされる。
【００３７】
ＳＭＳアプローチとＧＰＲＳアプローチとの他の違いは、ＳＭＳの場合に１４０バイトのパケット長および３００ボー未満のボーレートを有するのに対して、ＧＰＲＳパケットは１５００Ｋバイトのパケット長を有することができ、さらに、ずっと高い１７０Ｋボーの無線レートもまた可能であるということにある。より大きいデータパケットと増加されたバンド幅が追加されていることは、緩和されたフロー制御、改善されたサービス品質のためのハンドシェーク、マルチビット暗号化、および他のエラー復元技術（例えばパリティ・チェック、ＣＲＣ、その他）のような追加機能を通信ブリッジへより簡単に統合することを可能にする。そのような機能はＳＭＳ実施例でも可能であるが、その小さいパケットサイズは、パケット順序番号および他のヘッダ情報が各パケットとともに送られることを要求する可能性があり、このことは通信をさらに遅くするであろう。
【００３８】
上述の一般的なアーキテクチャを実装するシステムの１つの例は、インターフェース１３０６を介してデータ端末装置１３０８と接続されたパーソナルコンピュータ（ユーザー装置１３０４）上で動作するホームオートメーションアプリケーションである。ホームオートメーションアプリケーションの反対の端に、ユーザー装置１３１６として実現されたホームネットワーク制御センターがある。ホームオートメーションアプリケーションは、ホームネットワーク制御システムに対するモニタリングおよび制御サービスを提供するのに対し、ホームネットワーク制御システムは、例えば、ユーザーの家の暖房、換気、空調、およびセキュリティを制御する。市販のホームネットワーク制御システムは、エシヤロン  コーポレーション（Ｅｃｈｅｌｏｎ  Ｃｏｒｐｏｒａｔｉｏｎ）のＬＯＮＷＯＲＫＳ（登録商標）技術を含む。
【００３９】
図１３Ａに示す一般的なアーキテクチャを実装しているシステムの他の例は、自動メーター読み取りシステムである。そのようなシステムにおいては、ユーザー装置１３０４は、一つ以上の自動メーター読み取り装置について、電力または天然ガス等の測定された供給物資の消費量の測定値を受信する自動メーター読み取り装置収集ステーションである。自動メーター読み取り装置により測定されたデータは収集ステーションに送られ、次いで収集ステーションでは、それはデータ端末装置１３０８に供給される。ユーザー装置１３１６は、データ端末装置１３１２を介して収集ステーションに対して能動的にポーリングするか、またはデータ端末装置１３１２を介してデータ収集ステーションから測定データを受動的に受信することかのいずれかで動作するユーティリティー装置であり得る。
【００４０】
物理的パッケージング
図１は、データ端末モジュール（「ＤＴＭ」）１００の物理的パッケージングの実施例の斜視図を表す。データ端末モジュール１００は、データ端末サブアセンブリー（「ＤＴＳＡ）を囲むエンクロージャ１０４を含む。データ端末サブアセンブリー（図示せず）は、以下に詳述されるプリプロセッサおよび無線装置を収容するように構成された回路カードである。
【００４１】
エンクロージャ１０４上には、同軸ケーブルコネクタ１０８、標準的なＤＢ−９コネクタ１１２、電源コネクタ１１６および電源インジケーター１２０が図示されている。これらの各々は、内部で、データ端末サブアセンブリーに接続されている。同軸ケーブルコネクタ１０８は、無線装置のためのアンテナに接続されるよう構成される。エンクロージャ１０４には、２つの設置スリーブ１０６としての切り欠きがもうけられている。設置スリーブ１０６は、所望位置にデータ端末モジュール１００を取り付けるのに使われるコネクタのための通り道を提供する。
【００４２】
図２は、データ端末ユニット（「ＤＴＵ」）２００の物理的パッケージングの実施例の斜視図を表す。データ端末ユニット２００は、２つの部分からなるエンクロージャを含む。ケース２０４には、データ端末サブアセンブリー２２８および電源２３２のような電子装置モジュールが設けられている。ケース２０４の内側の各コーナーにはヒートシンク２２４が設けられ、電子装置モジュールにより発生される熱を放散させるのに用いられる。ケース２０４の外面には、同軸ケーブル受け口２４０およびＡ／Ｃ電力コード２４４が設けられる。また、ケース２０４の外面には、ヒンジ付きの２つのラッチ２１６が設けられる。
【００４３】
データ端末ユニット２００のためのエンクロージャの第２の部分はカバー２０８である。カバー２０８は、ヒンジ２４８によりケース２０４に接続され、ケース２０４内に設けられた電子装置モジュールを密封可能に包囲するように構成される。密封を達成するように、ヒンジ付きラッチ２１６をラッチコネクタ２１２が受ける。カバー２０８とケース２０４はさらに、さらなる保護のために多くのコネクタ受け口２２０を含む。カバー２０８にパッチアンテナ２３６が設けられる。パッチアンテナ２３６は、データ端末サブアセンブリー２２８に含まれる無線装置に接続される。
【００４４】
パッチアンテナ２３６の詳細およびエンクロージャの実施例は、１９９９年５月２１日にそれぞれ出願された米国特許出願シリアルナンバー０９／３１６，４５７、名称「容量性信号結合装置（ＣＡＰＡＣＩＴＩＶＥ  ＳＩＧＮＡＬ  ＣＯＵＰＬＩＮＧ  ＤＥＶＩＣＥ）」および０９／３１６，４５９、名称「放射エンクロージャ（ＲＡＤＩＡＴＩＮＧ  ＥＮＣＬＯＳＵＲＥ）」において説明される。
【００４５】
他の実施例によれば、データ端末モジュール１００及びデータ端末ユニット２００の何れにおいても、特別な電気的ハードウェアが使用されることはない。そのような実施例では、標準的なＧＳＭモデムソフトウェアスタックにアプリケーションソフトウェアが追加される。したがって、データ端末装置は、特別に構成されたＧＳＭモデムであり得る。しかしながら、他の実施例において、特別に構成された電子装置および／またはメモリを用いることもできる。そのような１つの実施例を、以下に提示する。
【００４６】
プリプロセッサ実施例
図３は、プリプロセッサアーキテクチャのブロック図である。プリプロセッサ３００は、第１のインターフェース３２８、第２のインターフェース３３６、および第３のインターフェース３３２と接続されている。好ましくは、インターフェースの各々は、ＤＢ−９または等価な物理的なコネクタを持っているＲＳ−２３２ポートを含む。そのようなコネクタにより、例えば、ＣＯＭＡ  ３０４、ＣＯＭＲ  ３０８、およびＤＥＢＵＧ  ３１２を実装することができる。通信回線３１６、３２０、３２４は、物理的なコネクタをプリプロセッサ３００に通信可能に接続させる。
【００４７】
１つの実施例によれば、第１のインターフェース３２８はユーザー装置（例えば遠隔測定装置、自動メーター読み取り装置、メーター読み取り装置集中地点、ユーティリティーメーター制御システム、サブステーションモニタリング装置、その他）に接続される。ユーザー装置は、外部の活動をモニターした測定データを収集するよう構成される。第２のインターフェース３３６は、無線装置、特におよそ９６００ｂｐｓまたはそれ以上のボーレートを持つＧＳＭモデムに物理的に接続される。第３のインターフェース３３２は、好ましくは、デバッグおよび構成を目的とする端末またはテスト装置を受け入れることができるオープンシリアルインターフェースである。１つの実施例によれば、デバッグポートサービスは、第１のインターフェース３２８を通して物理的にアクセスされることができる。
【００４８】
ＲＳ−２３２コネクタ３０４、３０８、３１２の各々は、固有の通信回線３１６、３２０、３２４によってプリプロセッサ３００に接続されるように図示されている。これは、単純化のためであり、通信ポートまたはシリアルインターフェースの各々に対して一意的なアドレスを表すためである。実際、単一のアドレスとデータバスが、複数の通信ポートをサポートすることができる。
【００４９】
図４は、プリプロセッサ３００の実施例のハードウェア概要図である。プリプロセッサ３００は、マイクロコントローラ４０４、好ましくはダラスセミコンダクター（Ｄａｌｌａｓ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）の部品番号ＤＳ８０Ｃ３２３（１６ＭＨｚ）と、汎用非同期送受信回路（「ＵＡＲＴ」）４１６、好ましくはエクサーコーポレーション（Ｅｘａｒ  Ｃｏｒｐｏｒａｔｉｏｎ）の部品番号ＳＴ１６Ｃ２４５０（８ＭＨｚ）と、不揮発性メモリ４２４、好ましくはアドバンストマイクロデバイセズ（Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ）の部品番号２９ＬＶ００１Ｂ−７０ＪＣと、揮発性メモリ４２８、好ましくはＩＤＴの部品番号７１Ｖ２５６ＳＡ−１２ＰＺとを含む。タイミング（例えばＵＡＲＴ  ４１６のためのクロック分周器）、バッファリング、および論理レベルを維持するためのゲートアレイおよびＴＴＬ論理回路のような付加的な制御論理回路４２０を備えることが望ましい。電源回路４１２は、プリプロセッサ３００および任意の周辺装置（例えば無線装置）に電力を提供し、そして、水晶発振器４０８（１６ＭＨｚ）はクロック信号を与える。メインバス４３２は、マイクロコントローラ４０４を、制御論理回路４２０と通信可能に接続するとともに、メモリ４２４、４２８と通信可能に接続する。メインバス４３２は、データ、アドレス、および制御線を含み、制御線に関しては例えば、同じ制御線４３６が、クロック４０８、ＵＡＲＴ  ４１６およびマイクロコントローラ４０４を相互接続する。
【００５０】
ＵＡＲＴ  ４１６には、付加的な回線４４０、４４４、４４８が接続されるように示される。これらの回線は、第１のインターフェース３２８、第２のインターフェース３３６、第３のインターフェース３３２のためである。マイクロコントローラ４０４において例外／割り込みアルゴリズムをトリガーする割り込みは、回線４４０、４４４、４４８を介してＵＡＲＴ  ４１６によって受信される。揮発性メモリ４２８の一部は、ＵＡＲＴ  ４１６における各入力キューのための１０２４バイトのメモリバッファとして使われる（従って、２つのインターフェースが使われるならば、２０４８バイトのメモリが使われる）。
【００５１】
図５は、６５キロバイトのアドレス空間のためのメモリマップを示す。下位の４９ｋＢのアドレス空間５０４は、不揮発性メモリ４２４のためのものであり、次の１２ｋＢのアドレス空間５０８は揮発性メモリ４２８のためのものであり、続く８バイトのアドレス空間５１２は第１のインターフェース３２８のためのものであり、続く２ｋＢのアドレス空間５１６は予約されたメモリのためのものであり、８バイトのアドレス空間５２０は第２のインターフェース３３６のためのものであり、他の２ｋＢのアドレス空間５２４は予約されたメモリのためのものである。
【００５２】
図６Ａ〜図６Ｃは、ユーザー装置（例えばデータ収集ユニット６０８）とインターフェースされる本発明の種々の物理的な実施例を表す。図６Ａは、データ収集ユニット６０８（例えば自動メーター読み取り装置）、プリプロセッサ６０４、および無線装置６１２を含んでいる単一のユーザー装置６００を示す。プリプロセッサ６０４は、第１のインターフェース６１６を介してデータ収集ユニット６０８に接続され、そして、第２のインターフェース６２０を介して無線装置６１２に接続される。
【００５３】
図６Ｂは、プリプロセッサ６０４を含むユーザー装置６２４を示す。ここで、無線装置６１２は、別の物理的なパッケージング６２８の中にある。ここで、第２のインターフェースは、Ｉ／Ｏインターフェース６５２、６５６（例えばＲＳ−２３２ポート）を備える。Ｉ／Ｏインターフェース６５２、６５６は、シリアルケーブル６４４を介して接続される。Ｉ／Ｏインターフェース６５６はコネクタ６４０を介してプリプロセッサ６０４に接続され、Ｉ／Ｏインターフェース６５２はコネクタ６４８を介して無線装置６１２に接続される。
【００５４】
図６Ｃは、図６Ａと図６Ｂに示すシステムに類似しているが、プリプロセッサ６０４及び無線装置６１２がデータ端末ユニット／モジュール６３６にあるユーザー装置６３２を示す。図６Ｃには、図６Ｂの第２のインターフェース６２０を参照して説明したものと同じインターフェースが示されている。ただし、図６Ｃでは、図６Ｂの第２のインターフェース６２０内の構成要素が、その代わりに第１のインターフェース６１６内に設けられる。図６Ｃは、図１と図２においてそれぞれ示されるデータ端末モジュール１００およびデータ端末ユニット２００と最も似ている。
【００５５】
本技術の動作上の概要について、以下に提示する。一般的に言って、プリプロセッサ６０４はソフトウェアドライバーを含むハードウェア構成要素である。上述のように、プリプロセッサ６０４は、ソフトウェアドライバーを実行する専用ハードウェア部分を有することができるが、ソフトウェアドライバーをソフトウェアスタックの付加的な構成要素として既存のハードウェア部分の上にかぶせることも可能である。例えば、プリプロセッサドライバーは、ユーザー装置ソフトウェアスタックまたは無線装置ソフトウェアスタックに追加されることができる。本実施例のプリプロセッサドライバーは、一般に、割り込みで駆動されるサービスルーチンであり、これはすなわち、第１に割り込みの発信元を確認し、第２に、割り込みを伴う任意のデータ（または割り込み自体）に基づいて、どのプロセスまたは割り込みサービスルーチンを実行するかを決定するものである。
【００５６】
入って来るデータが好ましくはシリアルＡＳＣＩＩキャラクタデータである点に留意する必要がある。コマンドは、好ましくは、よく知られたヘイズ（Ｈａｙｅｓ）モデムＡＴコマンドセットに基づく。しかし、本明細書で説明する特定の機能を識別するために、付加的な特別なコードを追加することもできる。これらのコードの一部については、表２を参照して後述する。
【００５７】
１つの実施例によれば、プリプロセッサドライバーの主要な構成要素は、不揮発性メモリ４２４（例えばメモリマップ５００のセクション５０４）において保存されて、コンピュータ読み取り可能なフォーマットで格納された複数の命令からなるシーケンスとして、マイクロコントローラ４０４により実行される。例えば、命令（例えばオペコード）のシーケンスは、不揮発性メモリ４２４から、マイクロコントローラ４０４内のデータおよび制御レジスタにロードされる（代わりに、命令は、実行される前に不揮発性メモリ４２４から揮発性実行メモリにコピーされることができる）。命令のシーケンスは、プリプロセッサ３００内のマイクロコントローラ４０４をして、命令のシーケンスとシリアルデータインターフェース（例えばＵＡＲＴ  ４１６）から受信されたデータとの組合せに基づく一連の動作を実行させる。プリプロセッサドライバーにより必要とされるプログラム変数は、マイクロコントローラ４０４内の利用可能なレジスタ内に格納され、またはそれらは揮発性メモリ４２８に格納される。
【００５８】
図７Ａ、図７Ｂを参照して、２つの状態図について以下に説明する。この説明は概要であり、図８から図１２を参照して以下に説明される詳細なフローチャートによってさらにサポートされる。
【００５９】
図７Ａに、第１のインターフェースの割り込みサービスルーチンの状態図７００を示す。デフォルト状態はＩＤＬＥモード７０４である。ＩＤＬＥモード７０４においては、キャラクタは第１のインターフェース６１６を介して受信されて、状態変更をトリガーするコマンドまたはイベント、例えばリンクコマンド７１６、７２８に関してテストされる。状態変更を示しているコマンドまたはイベントが検出されないならば、状態変更が起こるまで、データキャラクタはメモリバッファに格納される。
【００６０】
回線（「ＣＫＴ」）モード７１２は、第１のインターフェース６１６から直接に第２のインターフェース６２０にデータを渡す。このとき、他の状態変更をトリガーするかもしれないコマンドまたはイベント（例えばエスケープ・シーケンス）に関してモニターすることを除き、プリプロセッサ６０４からの介入はほとんどない。回線モード７１２において、アクティブな仮想リンクは、無線ローカルループを介して無線装置６１２と公衆電話交換網（「ＰＳＴＮ」）との間で維持される。エスケープシーケンス７２０が検出されるまで、回線モード７１２は維持される。しかしながら、再入（re-enter）コマンド７３２がエスケープシーケンス７２０に続いて検出されれば、それから割込サービスルーチンは、ＩＤＬＥモード７０４ではなくて回線モード７１２に戻る。
【００６１】
ショートメッセージサービス（「ＳＭＳ」）モードは、第１のインターフェース６１６からメモリバッファに格納されたデータを含むＳＭＳメッセージを準備して、第２のインターフェース６２０から無線装置６１２を通して送る。無線装置６１２から、ＳＭＳメッセージは、ＧＳＭネットワークを介して伝送され、それから、介在する他のネットワークを介して最終的な宛先までルーティングされる。
【００６２】
ＳＭＳメッセージは、一般に１４０バイトのデータ構造を持つ。第１のバイトがＳＭＳメッセージタイプを示し、第２のバイトはＳＭＳメッセージ長を示し、最後の１３８バイトはＳＭＳメッセージ本文を構成する。ＳＭＳメッセージ本文は、キャラクタデータまたはコマンド、またはその両方を含む。ＳＭＳメッセージタイプは、表１に説明される。
【００６３】
【表１】
2003512750.tif 000001
エスケープシーケンス７２４は、状態をＳＭＳモード７０８からＩＤＬＥモード７０４に戻させる。
【００６４】
図７Ｂに示す状態図７５０は、第２のインターフェースの割込サービスルーチンと関連する状態を表す。第１のインターフェースの割込サービスアルゴリズムを参照して上述した状態は、第２のインターフェースの割込サービスアルゴリズムと関連する状態と実質的に類似したものであり、主要な相違点は、第２のインターフェースを介して割り込みが受信されたならば、それはユーザー装置（例えばデータ収集ユニット６０８）から受信されたものではなく、無線装置６１２を介して遠隔の装置から受信されたものである、ということにある。
【００６５】
ＩＤＬＥモード７５４においては、第２のインターフェース６２０（例えばＣＯＭＲ  ３０８）で受信されたデータキャラクタは、第１のインターフェース６１６（例えばＣＯＭＡ  ３０４）を通してストレートに渡される。ただし、データキャラクタは、リンクコマンド７５８または７６２に関してモニターされる。リンクコマンド７５８、７６２は、ＳＭＳモード７６６またはＣＫＴモード７７０への状態変更をそれぞれ示す。エスケープシーケンス７７４、７７８は、サービスルーチンを、ＣＫＴモード７７０またはＳＭＳモード７６６からＩＤＬＥモード７５４に戻す。
【００６６】
図８は、プリプロセッサドライバーのためのメインループ８００を表す。メインループ８００は、最初に種々の動作パラメータを初期化することによって始まる。例えば、ステップ８０４において、ウォッチドッグタイマー、第２タイマー、シリアルポート、およびＵＡＲＴ  ４１６が初期化される。
【００６７】
ウォッチドッグタイマーは、ソフトウェアがストールしたりまたは処理エラーが発生したりするような状況において、プリプロセッサ６０４をリセットするように設計されている。好ましくは、ウォッチドッグタイマーの持続時間は、４．５秒にセットされる。第２タイマーは、第１ウォッチドッグタイマーより長くかかるルーチンのために、４．５秒のタイムアウトを延長するのに用いられる。第２タイマーは、２ミリ秒の割り込みを生成する。
【００６８】
シリアルポート（例えばＣＯＭＡ  ３０４およびＣＯＭＲ  ３０８）は、９６００ボー、８データビット、１ストップビット、パリティなしで動作するよう初期化され、ＵＡＲＴ  ４１６は、最初は９６００ボーで動作するようにセットアップされる。メモリバッファ入力キューは、各々１０２４バイトを有し、ＣＯＭＲ  ３０８およびＣＯＭＡ  ３０４を通して受信されるデータキャラクタを格納する。
【００６９】
次に、ステップ８０８において、メインループのモードは、ＩＤＬＥ（例えば、第１のインターフェース６１６および第２のインターフェース６２０の両者のために）にセットされる。ステップ８０８の後、割り込みサービスルーチン処理が開始する。
【００７０】
ステップ８１２において、割り込みが第１のインターフェース６１６で受信されたならば、例外が発生し、そして、処理は、ステップ８１６の、第１のインターフェースの割り込みサービスルーチンに続く。第１のインターフェースの割り込みサービスルーチンは、図７Ａを参照して上述されたものであり、図９を参照して以下に説明される。
【００７１】
ステップ８２０において、割り込みが第２のインターフェース６２０で受信されたならば、例外が発生し、そして、処理は、ステップ８２４の、第２のインターフェースの割り込みサービスルーチンに続く。第２のインターフェースの割り込みサービスルーチンは、図７Ｂを参照して上述されたものであり、図１０を参照して以下に説明される。
【００７２】
ステップ８２８において、第１のインターフェースの割り込みサービスルーチンがＳＭＳモード７０８であるとき、第１のインターフェース６１６（例えば、ＣＯＭＡ  ３０４）を通して最後のデータキャラクタが受信されてから所定時間が経過したかどうかを決定するテストが実行される。このテストを、ＳＭＳタイマー満了イベントと呼ぶ。ＳＭＳタイマーイベントが起こったならば、それからステップ８３２において、メモリバッファがＳＭＳ伝送のために用意され、ＳＭＳメッセージが送られ、ＳＭＳタイマーはリセットされる。処理は、ステップ８３６に続く。
【００７３】
ステップ８３６において、割り込みが第３のインターフェース（例えば、図３に示したデバッグインターフェース３１２）で受信されたならば、ステップ８４０において、図１１を参照して以下に説明されるデバッグ割り込みサービスルーチンが実行される。
【００７４】
ステップ８４４において、モデムステータスレジスタまたはラインステータスレジスタの値（ＵＡＲＴ  ４１６によって無線装置６１２から取得される）がアップデートされたかどうかを決定するテストが実行される。いずれかがアップデートされたならば、処理は、図１２を参照して以下に説明されるステップ８４８に続く。いずれもアップデートされていないとき、またはステップ８４８の後、処理はステップ８５２に続き、その後、ループはステップ８１２に戻る。
【００７５】
図９は、第１のインターフェース６１６を介して割り込みをサービスするとき、プリプロセッサドライバーによって実行されるステップを表すフローチャートである。より具体的には、このフローチャートは、ユーザー装置（例えばデータ収集ユニット６０８）からの割り込みをサービスする、第１のインターフェースの割り込みサービスルーチン９００を表す。
【００７６】
ステップ９０４において、現在のモードがＣＫＴモード７１２であるかどうかを決定するテストが実行される。モードがＣＫＴモード７１２であるならば、ステップ９０８において、第１のインターフェース６１６によって受信されたデータは、第２のインターフェース６２０に渡される。
【００７７】
ステップ９１２において、エスケープシーケンスが受信されたかどうかを決定するテストが実行される。特に、このテストにより、キャラクタシーケンス「＋＋＋」が第１のインターフェース６１６を通して受信されたかどうかを決定する。エスケープシーケンスが受信されていないならば、それからステップ９１６において、エスケープシーケンスカウンタがリセットされる。一方、エスケープシーケンスが受信されたならば、それからステップ９２０において、モードがＩＤＬＥモード７０４にセットされる。プリプロセッサドライバは、それからメインループ、すなわちステップ８２０、に戻る。
【００７８】
ステップ９２４において、現在のモードがＩＤＬＥモード７０４であるかどうかを決定するテストが実行される。現在のモードがＩＤＬＥモード７０４であるならば、第１のインターフェース６１６からの到来するデータキャラクタはメモリバッファに加えられる。次にステップ９３２において、プロセストリガー（例えば、キャリッジリターン、ＣＴＲＬ−Ｚ、またはメモリバッファはいっぱいであること）が起こったかどうかを決定するテストが実行される。プロセストリガーが起こったならば、それからステップ９３６において、メモリバッファが構文解析され、解釈され、そして、適切なステップが実行される。例示的な解釈されたストリングとそれらの結果のリストは、表２に示される。
【００７９】
【表２】
2003512750.tif 000002
ＡＴ−ＥＭＵコマンドがシミュレーションモードをユニットに設定するという点に留意する。このことは、ユニットが真の回線交換呼またはシミュレーションされた回線交換呼の両方を提供することができるので重要である。したがって、モードがエミュレーションなしにセットされているならば、ＡＴＤおよびＡＴＨコマンドは、真の回線交換呼のためのセットアップ／制御機能として動作する。一方、モードがシミュレーションされた回線交換モードにセットされるとき、機能は上述のように固有のものになる。
【００８０】
ステップ９３６の後、プリプロセッサドライバは、ステップ８２０に戻る。
【００８１】
ステップ９４０において、現在のモードがＳＭＳモード７０８であるかどうかを決定するテストが実行される。現在のモードがＳＭＳモード７０８であるならば、それからステップ９４４において、ＳＭＳタイマーはリセットされる。ステップ９４８において、追加のデータを格納するためにメモリバッファに十分なあきがあるかどうかを決定する別のテストが実行される。十分なあきがないならば、それからステップ９５２において、ＳＭＳメッセージを送信して、それによってメモリバッファの一部を解放する。一方、メモリバッファに十分なあきがあれば、それからステップ９５６において、任意のエスケープキャラクタが処理され、例えば、ＣＯＭＡ  ３０４を通してのストリング「＋＋＋」の発生、またはＣＯＭＲ  ３０８を通して受信されたディスコネクトリンクＳＭＳメッセージが処理される。エスケープキャラクタを処理した後に、プリプロセッサドライバは、ステップ８２０に戻る。
【００８２】
図１０は、第２のインターフェース６２０を介して割り込みをサービスするときにプリプロセッサドライバーにより実行されるステップ、すなわち第２のインターフェースの割り込みサービスルーチン１０００を表すフローチャートである。
【００８３】
ステップ１００４において、現在のモードがＣＫＴモード７７０であるかどうかを決定するテストが実行される。現在のモードがＣＫＴモード７７０であるならば、ステップ１００８において、第２のインターフェース６２０（例えばＣＯＭＲ  ３０８）で受信される任意のデータキャラクタは、プリプロセッサ６０４を介して第１のインターフェース６１６（例えば、ＣＯＭＡ  ３０４）に渡される。次に、ステップ１０１２において、エスケープシーケンスが受信されたかどうかを決定するテストが実行される。１つの実施例によれば、エスケープシーケンスは、３つの連続的プラス記号またはストリング「＋＋＋」の受信である。エスケープシーケンスが見つからないならば、エスケープカウンタはステップ１０１６においてリセットされる。一方、エスケープシーケンスが見つかったならば、モードはステップ１０２０においてＩＤＬＥモード７５４にセットされる。ステップ１０１６またはステップ１０２０の後、プリプロセッサドライバーはステップ８２８に続く。
【００８４】
ステップ１０２４において、現在のモードがＩＤＬＥモード７５４であるかどうかを決定するテストが実行される。現在のモードがＩＤＬＥモード７５４であるならば、第２のインターフェース６２０で受信されたデータキャラクタは、ステップ１０２８において第１のインターフェース６１６に渡される。ステップ１０３２において、リンクシーケンスがデータキャラクタにおいて見つかるかどうかを決定するテストが実行される。１つの実施例によれば、リンクシーケンスは、到来するＳＭＳメッセージを示すストリング「＋ＣＭＴＩ：」である。リンクシーケンスが検出されないならば、それからエスケープカウンタはステップ１０３６でリセットされる。一方、リンクシーケンスが検出されたならば、ステップ１０４０で、到来したＳＭＳメッセージが読まれる。
【００８５】
次にステップ１０４４において、他のリンクシーケンスがＳＭＳメッセージにおいて（例えば、ＳＭＳメッセージタイプフィールドにおいて）見つかるかどうかを決定する第２のテストが実行される。例えば、次のリンクシーケンスは、表１を参照して上述された「エスタブリッシュリンク」または「リンクエスタブリッシュト」メッセージであり得る。エスタブリッシュリンクメッセージまたはリンクエスタブリッシュトメッセージが見つからなければ、ＳＭＳメッセージの残りはステップ１０４８において第１のインターフェース６１６へ出力される。一方、エスタブリッシュリンクメッセージまたはリンクエスタブリッシュトメッセージが見つかれば、メッセージは処理され、モードはステップ１０５２においてＳＭＳモード７６６にセットされる。プリプロセッサドライバーは、それからステップ８２８に続く。
【００８６】
ステップ１０５６において、現在のモードがＳＭＳモード７６６であるかどうかを決定するテストが実行される。現在のモードがＳＭＳモード７６６であるならば、ステップ１０６０において、構文解析トリガーが受信されたかどうかを決定するテストが実行される。１つの実施例によれば、構文解析トリガーは、「バッファフル（ｂｕｆｆｅｒ  ｆｕｌｌ）」インジケーターを含むとともに、ラインフィードまたはキャリッジリターンを含む。構文解析トリガーが受信されていなければ、ステップ１０６４において、データキャラクタはメモリバッファに格納され、処理はステップ８２８に続く。一方、構文解析トリガーが受信されたならば、ステップ１０６８において、ＳＭＳメッセージは構文解析される。
【００８７】
ステップ１０７２において、ＳＭＳメッセージタイプがディスコネクトリンクであるかどうかを決定するテストが実行される。もしＳＭＳメッセージタイプがディスコネクトリンクでなければ、ステップ１０７６においてＳＭＳメッセージタイプが第１のインターフェース６１６に送られる。一方、もしＳＭＳメッセージがディスコネクトリンクコマンドであれば、モードはステップ１０８０においてＩＤＬＥモード７５４にセットされる。ステップ１０８０の後、プリプロセッサドライバーはステップ８２８に続く。
【００８８】
図１１は、デバッグ割り込みサービスルーチン１１００を表すフローチャートである。通常の状況の下で、図３および図４において示される第３のインターフェースは、デバッグ割り込みを受信する。デバッグ割り込みは、一般に、第３のインターフェース３３２に端末装置またはラップトップコンピュータを接続することと関連している。デバッグ割り込みサービスルーチン１１００は、セットアップおよび診断の目的のために使われる。
【００８９】
ステップ１１０４において、第３のインターフェース３３２を介して受信されたデータキャラクタは、メモリバッファに加えられる。ステップ１１０８において、データキャラクタは、それがキャリッジリターンであるかどうかを決定するためにテストされる。データキャラクタがキャリッジリターンでないならば、ルーチンはステップ８４４に戻る。データキャラクタがキャリッジリターンであるならば、ステップ１１１２において、メモリバッファは構文解析される。ステップ１１１６において、メモリバッファからのコマンドがコマンドリスト（例えば表２）の中にあるかどうかを決定するテストが実行される。コマンドがコマンドリストの中にないならば、ステップ１１２０において、第３のインターフェース３３２を介してエラーメッセージが報告される。一方、コマンドがコマンドリストの中にあるならば、コマンドはステップ１１２４において実行される。その後で、処理はステップ８４４に続く。
【００９０】
図１２は、第１のインターフェース６１６および第２のインターフェース６２０から集められたモデムステータスレジスタ（「ＭＳＲ」）値およびラインステータスレジスタ（「ＬＳＲ」）値を処理するためのフローチャート１２００を表す。本質的には、発生しうる一連のエラーが分析されて、適切な動作が行われる。実行される動作としては、ある場合には、プリプロセッサモードを変更することが含まれる。
【００９１】
ステップ１２０４において、キャリア検出（ｃａｒｒｉｅｒ  ｄｅｔｅｃｔ）  （「ＣＤ」）が第２のインターフェース６２０（例えば無線装置６１２）上でアサートされているかどうかを決定するテストが実行される。キャリア検出がアサートされているならば、ステップ１２０８において、キャリア検出は第１のインターフェース６１６上でアサートされ、モードは回線モードにセットされる。
【００９２】
ステップ１２１２において、キャリア検出が第２のインターフェース６２０上で停止されているかどうかを決定するテストが実行される。キャリア検出が停止されていれば、ステップ１２１６において、第１のインターフェース６１６上でもキャリア検出は停止され、モードはアイドルモードにセットされる。
【００９３】
ステップ１２２０において、リングインジケーター（「ＲＩ」）が第２のインターフェース６２０上でアサートされているかどうかを決定するテストが実行される。リングインジケーターがアサートされているならば、ステップ１２２４において、リングインジケーターは第１のインターフェース６１６上でアサートされる。
【００９４】
ステップ１２２８において、リングインジケーターが第２のインターフェース６２０上で停止されているかどうかを決定するテストが実行される。リングインジケーターが停止されているならば、ステップ１２３２において、第１のインターフェース６１６上でもリングインジケーターは同様に停止される。
【００９５】
ステップ１２３６において、クリアトゥーセンド（ｃｌｅａｒ−ｔｏ−ｓｅｎｄ）（「ＣＴＳ」）が第２のインターフェース６２０上でアサートされているかどうかを決定するテストが実行される。クリアトゥーセンドがアサートされているならば、ステップ１２４０において、無線装置６１２は初期化される。ステップ１２３６またはステップ１２４０の後、プリプロセッサはステップ８５２に戻る。
【００９６】
ある物理的状況に応じて、すなわち、仮想回線を完成させるのに用いられる回線のうちの１つをアサートさせるかまたは停止させることに応じて、第１のインターフェース６１６か第２のインターフェース６２０のいずれかでサービスルーチンがプリプロセッサ６０４のモードを変えることができるという点で、フローチャート１２００に表現されるサービスルーチンは有用である。
【００９７】
アプリケーション層実施例
他の実施例によれば、特別な目的のシミュレーションハードウェア（例えば図３で示されるプリプロセッサ３００）が既存のＧＳＭモデムと統合されることはない。むしろ、上記の機能は、図１５Ａに示される標準的なＧＳＭプロトコル・スタック１５００のアプリケーション層に加えられるソフトウェアによって実装される。同じソフトウェアを、図１５Ｂと図１５Ｃにおいて示される汎用パケット無線サービス（ＧＰＲＳ）プロトコルスタック１５８０（ＧＰＲＳ  Ｃｌａｓｓ  Ｃ）と１５９０（ＧＰＲＳ  Ｃｌａｓｓ  Ａ）に追加することもできる。図１５Ａ〜図１５Ｃ中の同様な参照符号は同様な要素を示す。
【００９８】
一実施例によれば、図１３Ａ〜図１３Ｃを参照して上述された呼のセットアップおよび切断の機能は、ＧＳＭプロトコルスタック、例えば、ＧＳＭモデムの中にすでに存在しているＧＳＭプロトコルスタック、のアプリケーション層への拡張として実行される。
【００９９】
そのような実施例において、コンピュータ読み取り可能なプログラムコードは、コンパイルされ、不揮発性記憶媒体にロードされる。コードは、ユーザー装置から到来するＡＴコマンドまたはＳＭＳパケットの形式の無線入力を処理するように構成された１つ以上のプロセッサにより、後に実行される。アプリケーション層の拡張は、ユーザー装置への回線交換呼をシミュレーションするための機能的通信ブリッジを構成する。アプリケーション層実施例の長所は、特定用途／単一用途のハードウェアが必要でないということにある。むしろ、機能は、ＧＳＭプロトコルスタックに加えられるソフトウェアとして、既存のＧＳＭモデムに加えられる。
【０１００】
図１５Ａは、ＧＳＭプロトコルスタック１５００を表す。ＧＳＭプロトコル・スタック１５００の基礎的な構成要素は、本技術分野において一般に知られている。例えば、ＧＳＭプロトコルスタック１５００のベース・ソフトウェア構成要素は、ドイツ、ベルリンのデビスシステムハウス（ｄｅｂｉｓ  Ｓｙｓｔｅｍｈａｕｓ）、ドイツ、ハノーバーのＣＯＮＤＡＴ  Ｄａｔｅｎｓｙｓｔｅｍ  Ｇｍｂｌｔ、他の無線通信ベンダーのような種々のベンダーから入手可能である。１つの実施例によれば、ＧＳＭプロトコルスタック１５００は、さまざまな論理装置として実装可能であり、または既にＧＳＭモデムの部分である組み込まれたプロセッサにより実行されるコンピュータ読み取り可能なコードとして実装可能である。
【０１０１】
本発明は、ＡＴコマンドインターフェース１５０４を含むソフトウェアコードとして実現されることができる。ＡＴコマンドインターフェースは、種々のＧＳＭプロトコルスタック１５００、１５８０、１５９０の各々の上にかぶせられる。表２を参照して上述したように、コマンドは、ユーザー装置１３０４とＧＳＭプロトコルスタックとの間の、従ってＧＳＭネットワーク１３２０（図１３）との間のブリッジにより伝送される。ＡＴコマンドインターフェース１５０４がイベント検出及び通知ソフトウェアを含むこともできるという点にさらに留意する。ここで、上記ソフトウェアは、ユーザー装置からのアラームを検出し、例えば回線交換呼またはシミュレーションされた回線交換呼を初期化することによって、適切にアラームを処理するものである。若干の例示的なＡＴコマンドは、表３に示される。
【０１０２】
【表３】
2003512750.tif 000003
図１５Ａを参照すると、ユーザー装置１３０４は、ヘイズ（Ｈａｙｅｓ）の標準的なＡＴコマンドインターフェース１５０４を用いてＧＳＭネットワーク１３２０を介してデータを送る。モバイルネットワークのマンマシンインターフェース（ＭＮ）１５１２がデータを受信し、データを適切なメッセージングサービス、例えば、ショートメッセージサービス（ＳＭＳ）１５１６、呼制御サービス（ＣＣ）１５２０、または補足サービス（ＳＳ）１５２４、に渡す。登録構成要素１５０８は、データとネットワークに関する必要な情報を移動管理層１５２８に提供する。層１５０８、１５１６、１５２０、１５２４の各々からのデータフローは、移動管理層（ＭＭ）１５２８との間で送受信される。
【０１０３】
移動管理層１５２８は、ユーザー装置１３０４とＧＳＭネットワーク１３２０との間の接続を確立し、維持し、解放する。移動管理層１５２８から、データおよび制御が無線資源管理層（ＲＲ）１５３２に渡される。無線資源管理層１５３２は、ユーザー装置１３０４と基地局１４８８（図１４）との間の呼関連シグナリングおよびトラフィックチャンネルのために無線インターフェースを介して物理的な接続を確立する。
【０１０４】
無線資源管理層１５３２には、物理層（ＬＩ）１５４０が接続される。物理層１５４０は、無線資源層１５３２から直接に呼関連シグナリングおよびトラフィックチャンネルを処理し、また、データリンク層（Ｌ２）１５３６から送られるデータを処理する。
【０１０５】
図１５Ｂは図１５Ａに実質的に類似したものであるが、ただし、プロトコルスタック層の中の「Ｇ」表記は、指定された層が今度は汎用パケット無線サービス（ＧＰＲＳ）に関連していることを示す。ＧＰＲＳは、パケット無線原理を使い、ユーザー装置１３０４とＧＳＭネットワーク１３２０との間でパケットデータプロトコルの伝送のために使用可能である。ＧＰＲＳは、標準的なＧＳＭネットワークで提供されることを越えて付加的なサービスを提供する。例えば、ＧＰＲＳは、増大した無線データ転送速度およびパケット長を提供することができる。
【０１０６】
アプリケーションがサブネットワーク依存コンバージェンスプロトコル（ＳＮＤＣＰ）を制御することを可能にために、アプリケーションプログラムインターフェース（ＡＰＩ）１５４４が追加される。ここで、それは、データパケットのセグメント化およびリアセンブリ、暗号化および解読、および伝送制御プロトコル（ＴＣＰ）ヘッダおよびデータ圧縮を担当する。
【０１０７】
ＡＴコマンドインターフェース１５０４とインターフェースをとる層は、登録層１５０８およびマンマシンインターフェース層１５１２を含み、これらは次いで、ＳＭ層１５５２とＧＳＭＳ（ＧＰＲＳショートメッセージサービス）１５５６とインターフェースをとる。ＳＭ層１５５２とＧＳＭＳ層１５５６とは、ＧＰＲＳ移動管理（ＧＭＭ）層１５６０とインターフェースをとり、ＧＭＭおよびＳＮＤＣＰ層１５４８の両方は、パケットデータのリンク層情報を処理するリンク層制御（ＬＬＣ）１５６４とインターフェースをとる。
【０１０８】
リンク層制御１５６４は、ＧＰＲＳ資源管理層（ＧＲＲ）１５６８とインターフェースをとる。ＧＰＲＳ資源管理層１５６８は、次いで、物理的なリンク処理を行う中間アクセス制御／無線リンク制御（ＲＬＣ／ＭＡＣ）層１５７２とインターフェースをとり、さらに物理層１５４０とインターフェースをとる。
【０１０９】
図１５Ｃは、ＧＰＲＳ  Ｃｌａｓｓ  Ａプロトコルスタック１５９０を示す。プロトコルスタック１５９０は、ＧＳＭプロトコルスタック１５００（図１５Ａ）およびＧＰＲＳ  Ｃｌａｓｓ  Ｃプロトコルスタック１５８０（図１５Ｂ）を組み合わせたものであり、このことを、図１５Ａ及び図１５Ｂのプロトコルスタックの各層を示す参照符号を二重に引用したことにより示している。ＧＰＲＳ  Ｃｌａｓｓ  Ａプロトコルスタックは、標準的なＧＰＲＳと他のＧＳＭサービスを同時に動作させることができる。
【０１１０】
データ収集システム
図１４は、本発明を用いた他のシステム１４００を表す。ユーザー装置１４０４は、例えば遠隔測定、自動メーター読み取り、メーター集中地点、ユーティリティーメーター制御システム、サブステーションモニタリング、ホームネットワーク制御システムまたは他のアプリケーションなどのアプリケーションプログラムを含む。特に、本発明は、火災報知器、ガス報知器、侵入者警報器、自動販売機警報器、または、ユーザー装置１４０４もしくはそれに接続された他の何らかの装置の状態変化を示す他の条件のような、イベント検出および通知アプリケーションと共に使われることができる。
【０１１１】
ハードウェアフロー制御を伴うＲＳ−２３２インターフェース１４４８は、ユーザー装置１４０４をデータ端末モジュール１００または代わりにデータ端末ユニット２００に接続する。データ端末モジュール１００およびデータ端末ユニット２００は、好ましくはデバッグポートを備え、このデバッグポートを介して端末装置またはラップトップコンピュータ１４１２が接続でき、ソフトウェアツール１４８４でインストールまたはテストサービスを実行することができる。オプションとして、デバッグおよび構成サービスは、第１のインターフェース６１６を通してアクセスされることができる。
【０１１２】
データ端末モジュール１００とデータ端末ユニット２００とは、無線装置を介して１つ以上のアンテナ中継器１４０８と通信する。好ましくは、無線装置は、ＧＭＳタイプモデムである。無線装置は、前記データ端末モジュール１００またはデータ端末ユニット２００と、ＧＳＭネットワーク１４８８との間で情報を送受するよう構成されている。
【０１１３】
１つ以上のアンテナ中継器１４０８のうちの少なくとも１つは、基地送受信局（「ＢＴＳ」）１４１６に接続されている。基地送受信局１４１６は、到来する無線データを処理し（例えば、到来する無線データのデータパケットを作り）、それをＴ１回線１４５６（または他の専用回線）を介して基地局コントローラ（「ＢＳＣ」）１４２０に向けてルーティングする。基地局コントローラ１４２０は、データ端末ユニット／モジュールのためのサービスを認証し、処理された到来無線データを、Ｔ１回線１４５６を介して移動通信交換局（「ＭＳＣ」）１４２４に向けて送る。移動通信交換局１４２４は、処理された到来無線データを、専用回線１４５６を介して適当なネットワーキングステーションに向けて送る。ネットワーキングステーションは、例えば、回線交換データパスの場合（ラベル「１」で示す）にはＰＳＴＮブリッジ／ルーター等のインターワーキングファンクション装置（「ＩＷＦ」）１４３２であり、ショートメッセージサービスデータパスの場合（ラベル「２」で示す）にはショートメッセージサービスセンター（「ＳＭＳＣ」）１４２８である。
【０１１４】
データパスが回線交換データパスであるならば、処理された無線データは、インターワーキングファンクション装置１４３２から公衆交換電話網（「ＰＳＴＮ」）１４３６を介して回線交換データインターフェース１４３６に渡される。一方、データパスがショートメッセージサービスデータパスであるならば、ショートメッセージサービスセンター１４２８は、処理された無線データを、ＰＳＴＮ接続１４６０を介してインターフェース１４３６にルーティングしたり、またはインターネット１４４０に接続されたパケット交換ネットワーク１４５６を介してルーティングすることができる。インターネット１４４０を介したルーティングをする場合、ショートメッセージサービスセンター１４２８は、公的に利用できるインターネットＲＦＣ  ７９１のような既知のインターネットプロトコル標準にしたがって、インターネットプロトコルパケット化（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｐａｃｋｅｔｉｚａｔｉｏｎ）をすべて処理する。ＲＦＣ  ７９１の全体は参照によってここに組み込まれる。
【０１１５】
ユーザーアプリケーションサーバ１４４４は、モデム接続１４６８を介して、到来した無線データをＰＳＴＮインターフェース１４３６から取り出す。あるいは、ユーザーアプリケーションサーバ１４４４は、インターネット１４４０に接続されたインターネットアクセス／サービスプロバイダ１４７６を介して、到来した無線データを取り出す。
【０１１６】
オプションの端末管理ソフトウェア１４８０をユーザーアプリケーションサーバ１４４４によって使用することもでき、この場合、上述したものと逆の経路で、発信するデータ、コマンド、またはセットアップサービスをユーザーアプリケーションサーバ１４４４からユーザー装置１４０４に（データ端末モジュール１００またはデータ端末ユニット２００を通して）提供する。
【０１１７】
オペレーターに依存しない、トランスペアレントな無線モデム管理技術
本発明は、ショートメッセージサービスを用いる、オペレーターに依存しない、トランスペアレントな無線モデム管理のための方法および技術を更に含む。この技術に係る態様を遠隔（または「ヘッドエンド（ｈｅａｄ−ｅｎｄ）」）のサーバーにおいて実装することもできるが、この方法および技術は、無線モデムとして実現される。本技術は、好ましくは、無線モデムが、従来技術のようにクライアントコンピュータに対するスレーブ装置として機能するだけでなく、インテリジェント処理装置としても機能することを可能にする。
【０１１８】
さらに、無線モデムは、ショートメッセージサービスメッセージを用いて構成パラメータを遠隔から初期化することを可能にするよう構成される。ショートメッセージサービスメッセージは、無線モデムの動作パラメータを初期化するデータを含むだけでなく、無線モデムの内部または外部で実行する他のコマンドまたはアプリケーションを呼び出すデータを含むことができる。例えば、本方法および技術は、無線モデム内のイベント検出および通知アルゴリズムを遠隔から初期化することを可能にする。他の例において、本方法および技術は、無線モデムの外部の装置、例えば、ユーティリティーメーター、自動販売機または他のユーザー装置を遠隔から初期化または制御することを可能にする。
【０１１９】
図１７は、本技術を用いた例示的なネットワーク１７００を表す。ユーザー装置１７２０は、無線モデム１７０４、好ましくはＧＳＭまたはＧＰＲＳタイプのモデムに、シリアルケーブルまたは他の回線１７０６（以下、「回線１７０６」という）を通して接続される。ユーザー装置１７２０がラップトップコンピュータとして表されているけれども、それは、ユーティリティーメーター、メーター集中地点、ユーティリティーメーター制御システム、サブステーションモニター、遠隔測定装置または自動販売機のような、あまり高度でないかまたは機能が制限されたユーザー装置の形式をとることができる。
【０１２０】
無線モデム１７０４は、無線インターフェース１６１０を介して無線ネットワーク１６１２、例えば、ＧＳＭまたはＧＰＲＳネットワーク、に接続される。次いで、無線ネットワーク１６１２は、ショートメッセージサービスセンターインターフェース１６１４を介してヘッドエンドサーバー１６１６に接続される。無線モデム１７０８に、無線モデム管理情報を含むＳＭＳメッセージを送るよう構成されるという点で、ヘッドエンドサーバー１７１６はヘッドエンドサーバー１６１６と異なる。ただし、標準的なＳＭＳメッセージを構成するＡＳＣＩＩストリングだけが修正される必要があるので（特に表１を参照して、下記の説明において明らかになるように）、ヘッドエンドサーバー１７１６では特別なプログラミングは必要でない。
【０１２１】
図１７にさらに示したデータフロー図１７５０は、無線モデム１７０４と、ユーザー装置１７２０またはヘッドエンドサーバー１７１６との間の可能な通信フローを示している。ここでは、データおよび構成パラメータをユーザー装置１７２０及びヘッドエンドサーバー１７１６の両方との間でやりとりすることができるという点に留意する。例えば、データおよび構成パラメータ１７２４は、クライアントコンピュータ１７２０から無線モデム１７０４に渡されることができる。同様に、データおよび構成パラメータ１７２８は、無線モデム１７０４からクライアントコンピュータ１７２０に渡されることができる。より重要なこととして、データおよび初期化パラメータ１７０８が無線モデム１７０４からヘッドエンドサーバー１７１６に渡されることができるように、データおよび初期化パラメータ１７１２は、ヘッドエンドサーバー１７１６から無線モデム１７０４に渡されることができる。ショートメッセージサービス管理方法とここで説明される技術とを重ね合わせることによって、事実上、無線モデム１７０４はユーザー装置１７２０とヘッドエンドサーバー１７１６との間でインテリジェントブリッジとして動作することができる。そして、それによって、レガシー装置（ｌｅｇａｃｙ  ｄｅｖｉｃｅ）と無線ネットワークとの間で通信と制御を容易にする。
【０１２２】
図１８は、ショートメッセージサービスモデム管理アルゴリズム１８００の実施例を表す。ステップ１８０４において、ヘッドエンドサーバー１７１６から発信されたＳＭＳメッセージは無線モデム１７０４で受信される。到来したＳＭＳメッセージは、ステップ１８０８において構文解析され、構文解析の結果は無線モデム１７０４のメモリに格納される。ステップ１８１２において、ステップ１８０８からの構文解析されたデータは、ＳＭＳメッセージが無線モデム１７０４により内部で処理されるべきか、それともユーザー装置により外部で処理されるべきかを決定するために、既知のコマンドまたはインジケーターに関してテストされる。例えば、格納されたデータを、コマンドルックアップテーブルと比較することによって、またはＳＭＳメッセージがモデム管理目的のためであることを示す特定シーケンスのキャラクタ（例えば「＋＋＋ＡＴ」）と比較することによってテストされる。
【０１２３】
ステップ１８１２でのテストの結果、モデム管理コマンドが認識されたならば、ＳＭＳメッセージはステップ１８１６で無線モデムにおいて特定のルーチンによって処理される。一方、ステップ１８１２でのテストがＳＭＳメッセージが無線モデム１７０４に渡されるべきことを示すならば、それからステップ１８２０で、ＳＭＳメッセージはユーザー装置１７２０に渡される。
【０１２４】
ステップ１８１６またはステップ１８２０の何れかの後、最初の処理は、終わる。しかしながら、処理が、到来したＳＭＳメッセージの実際のハンドオフまたは識別を含まないさらなるステップまたは特定の機能を含む可能性があるということに留意する。そのような特定の処理ステップは概して本発明の範囲を越えるので、そのような処理についてこれ以上詳述せず、ステップ１８１６で、無線モデムが適切にＳＭＳメッセージを処理するということに単に留意する。殆どの場合、ユーザー装置１７２０からのデータまたはコマンドを処理するものと同じルーチンは、ＳＭＳメッセージとしてヘッドエンドサーバー１７１６から渡されるデータおよびコマンドを処理するのに用いられる。
【０１２５】
例えば、追加のコマンドとして、無線モデム１７０４のプロセッサに命令して、ＲＦトランシーバーで検出されたＲＦ信号の品質をチェックさせたり、または無線モデムにより所定情報を通信する無線インターフェースを介した特定のＲＦチャンネルを選択させたりすることができる。なおさらに、コマンドとしては、プロセッサに命令して、無線モデム１７０４から送信されたかまたは受信された呼を記述した呼履歴ファイルまたはログを検索させることができる。
【０１２６】
イベント検出および通知アプリケーション
図１９Ａは、本発明のイベント検出および通知アプリケーションを処理できる無線モデムであって、図４を参照して表され、説明された無線モデムと実質的に類似した無線モデム内の電子ハードウェアのブロック図である。無線モデム１９００は、電力およびクロック回路１９０４を含む。好ましくは、電力および接地面は、電子ハードウェアを支持するプリント回路基板の部分である。クロック信号はプロセッサ１９０８に接続されて示されているが、それはまた、モデム１９００を構成する他の構成要素にも供給される。
【０１２７】
不揮発性メモリ１９１２、例えば、フラッシュメモリまたはＥＥＰＲＯＭのような電気的に変えられるが持続的なメモリは、プロセッサ１９０８に通信可能に接続される。不揮発性メモリ１９１２は、好ましくは、プロセッサ１９０８により実行されるソフトウェアであって、以下にさらに詳細に説明されるＧＳＭ通信プロトコルスタックソフトウェアおよび通知アルゴリズムソフトウェアを含むがこれには限定されないソフトウェアを保持する。プロセッサ１９０８にはさらに、ランダムアクセスメモリのような揮発性メモリ１９１６も接続されている。揮発性メモリ１９１６は、好ましくは、実行時環境で、すなわち、プロセッサ１９０８がＧＳＭプロトコルスタックソフトウェアまたは通知アルゴリズムを実行しているときに、用いられる一時的なプログラム変数および他の情報を保持する。
【０１２８】
プロセッサ１９０８にはさらに、ＲＦ無線装置またはＲＦトランシーバー１９２０も接続される。ＲＦトランシーバー１９２０は、無線インターフェース１９２２との間の送受信のためのデータおよび制御信号の物理的な修正を処理する。無線インターフェース１９２２は、ＧＳＭまたはＧＰＲＳネットワークの一部である基地局と通信する。ＧＳＭおよびＧＰＲＳのような一般的な無線通信規格は本技術分野において知られており、このため、それらがここでさらに詳細に説明されることは必要でない。
【０１２９】
１つの実施例によれば、プロセッサ１９０８は一つ以上の割り込み入力を含む。状態遷移が割り込み入力１９２４のような割り込み入力で検出されるとき、割り込みを処理するルーチンのメモリアドレス（一般に、例外ベクトルと呼ばれる）が検索される。例外ベクトルにより識別されるアルゴリズムが実行されることができるように、プロセッサ１０８はそれから一時的にメインルーチンの処理を停止する。図１９Ａに示されるように、外部の信号は、回線１９３２を介してソケット１９２８に供給され、ソケット１９２８は次いで、割り込み入力１９２４に接続される。ソケット１９２８から割り込み入力１９２４までの構成要素を、集合的に「イベント検出インターフェース」と呼ぶことができる。イベント検出インターフェースの他の実施例を用いることもでき、その幾つかは以下にさらに詳細に説明される。
【０１３０】
説明の目的で、回線１９３２上の外部信号は、以下で「アラーム状態」と呼ばれる。アラーム状態は、実質的に、外部回路で発生する任意の種類のアラームであり得る。例えば、アラーム状態は、ガス漏れ、メンテナンスインジケーター（自動販売機の品切れのような）、またはサーキットブレーカーの作動を示す高レベル／低レベルのアクティブ信号であり得る。回線１９３２は、１つのワイヤーまたは複数のワイヤーを含むことができるという点に留意する。
【０１３１】
図１９Ｂは、自動販売機１９４０を示す。入力パネル１９４４は、表示ウインドウ１９４８の後のストック（キャンディーバーまたは飲料のような）を選ぶのに用いられる。ストックは、代金の支払いと選択が済むと、開口１９５２に置かれる。自動販売機１９４０に格納された特定のストックまたは全てのストックが最小のレベルに達した時、またはつり銭を作るためのコインが底をついた時、自動販売機１９４０内の回路は回線１９３２上にアラーム状態を生成する。回路は、回線１９３２上に、高レベルまたは低レベルの電圧ストローブ、波、安定状態値、または制御シーケンスを生成することができる。回線１９３２上のアラーム状態は、モデム１９００上のソケット１９２８に供給され、それによって通知アルゴリズムがプロセッサ１９０８で実行される原因になる例外ベクトルをトリガーする。
【０１３２】
他の実施例において、回線１９３２上のアラーム状態は、プロセッサ１９０８上の割り込み入力に送られる必要はない。その代わり、アラーム状態は、回線１９３２上によって、ＲＳ−２３２ポート、パラレルポート、またはパラレルポートの上の特定のデータ線のように、プロセッサ１９０８と関連する他の入力ポートに供給される。前記の装置の全ては、イベント検出インターフェースを用いる実施例である。さらに、通知アルゴリズムを呼び出す例外ベクトルをトリガーするのではなく、プロセッサ１９０８が定期的に、回線１９３２における状態変化に関して、イベント検出インターフェースに対してポーリングを行うことができる。状態変化が検出されたならば、メインルーチン自体が通知アルゴリズムを呼び出す。
【０１３３】
図２０は、メインルーチン２０００の実施例を表す。メインルーチン２０００の主要な機能は、ＲＦトランシーバー１９２０との間でやりとりされる無線プロトコルとプロセスデータを処理することである。したがって、メインルーチン２０００は、本質的に、ＧＳＭプロトコルスタック、汎用パケット無線サービス（「ＧＰＲＳ」）プロトコルスタック、ＧＳＭとＧＰＲＳの混合物、または符号分割多重アクセス（「ＣＤＭＡ」）等の他のタイプのプロトコルスタックのような無線プロトコルスタックである。
【０１３４】
ステップ２００４は、ＧＳＭ処理を取り扱い／実行するメインルーチンを示す。この処理は、アラーム状態（または「イベント」）がステップ２００８で検出されるまで、中断されずに続く。アラーム状態が検出されたならば、処理は図２１で表される通知アルゴリズム２１００に続く。
【０１３５】
図２１を説明する前に、モデム１９００には１つ以上のアラーム状態をプログラム可能であり、従って１つ以上のイベント通知アルゴリズムをプログラム可能であるということに留意することは重要である。この理由のために、図２１は概して、実質的に任意の特定の通知アルゴリズムに適用されることができる通知アルゴリズムのプロセスを記述する。
【０１３６】
ここで、図２１を参照すると、ステップ２１０４でアラーム状態が識別される。アラーム信号が特定の割り込み入力に直接供給される場合には、割り込み入力がアラーム信号を受信したという事実は、どの通知アルゴリズムがアラーム状態を処理すべきかを決定するのに十分である。各割り込み入力がそれ自体の例外ベクトル（ただし、２つ以上の割り込み入力間で例外ベクトルが同じ可能性がある）を持つので、上記のことが成立する。ステップ２１０８において、通知アルゴリズム２１００が、無線プロトコルを使って送られる特定の通知コマンドをセットアップする。ステップ２１０８は、通知コマンドによって用いられる特定のデータまたはパラメータを含むセットアップファイルからコマンドデータを読み出すステップをさらに含むことができる。
【０１３７】
１つの実施例において、通知は、ＧＳＭショートメッセージサービス（以下、「ＳＭＳ」）メッセージの形で送られる。したがって、伝送されるテキストスクリプトは、「gas leak detected, IAC Hampton site, unit no 3, 07-23-99 05:34 PST（ガス漏れ検出、ＩＡＣハンプトンサイト、ユニットＮｏ．３，０７−２３−９９  ０５：３４  ＰＳＴ）」のように、作成される。同じように、テキストスクリプトが、「out of stock B3, SCU building 5, unit no 2, 06-09-99 18:23 PST（Ｂ３ストックなし、ＳＣＵビルディング５、ユニットＮｏ．２，０６−０９−９９  １８：２３  ＰＳＴ）」になる可能性もある。さらに他の実施例において、割り込みが検出されるたびに、通知アルゴリズム２１００によってアラーム状態が収集されて合成され、複数のアラーム状態にされることも可能である。一旦アラーム状態の閾値数に達したとき、例えば、自動販売機の中の６つの軽食選択肢が空になったとき、通知アルゴリズム２１００は、無線プロトコルスタックを介した処理と配信のためにメインルーチン２０００に沿ってデータを渡す。
【０１３８】
１つの実施例において、アラーム状態は、標準的なコマンドフォーマットをトリガーする。例えば、標準的なコマンドフォーマットは、「ＡＴ〜ＥＶＮＴＭＳＧ＝＜ｎｕｍ＞，＜”ｍｓｇ”＞」であり得る。ここで、ｎｕｍは、ＧＳＭ  ＳＭＳ（またはＧＰＲＳ  ＳＭＳ）メッセージの配信先である電話番号（または場合によってはＩＰアドレス）であり、そしてｍｓｇは、メッセージのＡＳＣＩＩテキストスクリプトである。コマンドがステップ２１０８でセットアップされた後、ステップ２１１２において、それは処理のためにメインルーチン２０００に渡される。メインルーチン２０００において、通知コマンドに関してモニターする無線プロトコルスタックは、内部で呼び出されたコマンドを受信し、例えばＳＭＳメッセージとして適当な電話番号（ｎｕｍ）にｍｓｇテキストを送ることによって、そのコマンドを適切に実行する。
【０１３９】
上述のイベントメッセージコマンドのためのパラメータとして用いられるテキストスクリプトおよび他のデータは、好ましくは、コマンドが一度だけプログラムすればよいように、かつ、（既に存在するであろうアラーム状態回路以外の）処理要件が外部装置（例えば、自動販売機１９４０）に課されないように、不揮発性メモリ（メモリ１９１２等）に格納される。
【０１４０】
多数の外部イベントがモデム１９００によって検出されることになっている場合、外部装置の中の標準的なデマルチプレクサ回路は、モデム１９００に回線１９３２を介して供給されるアラーム状態を生成することができる。そのような実施例において、プロセッサ１９０８は全てのポートをモニターして、割り込み／入力（ステップ２１０４が示すように）を区別する必要がある。
【０１４１】
メインルーチン２０００で実装される無線プロトコルスタックに関しては、図１５Ａ〜図１５Ｃは、ＳＭＳメッセージ伝送を含む無線プロトコルスタックの種々の実施例を表す。好ましいＧＳＭプロトコルスタックが図１５Ａに示され、一方、汎用パケット無線サービス（以下、「ＧＰＲＳ」）プロトコルスタックが図１５Ｂに示される。図１５Ｃは、組み合わされたＧＳＭとＧＰＲＳプロトコルスタックを表す。図１５Ａ〜図１５Ｃにおける同様な参照符号は同様の要素を示す。
【０１４２】
１つの実施例によれば、ＡＴコマンドインターフェース１５０４およびＳＭＳ層１５１６は、メインルーチン２０００が通知アルゴリズム２１００からの通知コマンド（例えば、図２１を参照して上述されたコマンド「ＡＴ〜ＥＶＮＴＭＳＧ＝＜ｎｕｍ＞，＜”ｍｓｇ”＞」）を認識するように、プロトコルスタックにおいて修正される。特に、ＡＴコマンドインターフェース１５０４は、追加の機能を統合する柔軟性をなお残しながら、そのような特別な目的のコマンドが無線プロトコルスタックの相当な修正を必要とすることなく統合されることができる便利な層を提供する。
【０１４３】
本発明の実施例は、好ましくは、ＡＴコマンドインターフェースを含むソフトウェアコードとして実現される。ＡＴコマンドインターフェースは、種々の無線プロトコルスタックの各々の上へかぶせられる。ＡＴコマンドインターフェースは、好ましくは、通知アルゴリズム２１００から通知コマンドを受信する。通知コマンドは、外部装置において回路によりセットされるアラーム状態によってトリガーされている。
【０１４４】
典型的データフローは、次の通りである。自動販売機１９４０のような外部装置の中の回路は、イベントを検出する。回路は、回線１９３２上のアラーム状態をトリガーする。モデム１９００に供給される回線１９３２は、そのイベント検出インターフェースにおいてアラーム状態を検出する。アラーム状態は、次いで、プロセッサ１９０８を例外／割り込み処理モードに入らせ、これにより、メインルーチン２０００での処理を停止させ、特別な目的の通知アルゴリズム２１００を呼び出させる。通知アルゴリズム２１００は、次いで、アラーム状態を処理し、それから通知コマンドと、ＡＴコマンドインターフェースに渡されるデータとを生成する。ＡＴコマンドインターフェースから、コマンドおよびデータは、無線プロトコルスタックの残余によって処理される。
【０１４５】
メインルーチン２０００（それは、無線プロトコルスタックを含む）および通知アルゴリズム２１００は、無線モデムにおいて１つ以上のプロセッサに通信可能に接続された不揮発性メモリのようなコンピュータ読み取り可能な媒体に格納された、複数の命令からなる１つ以上のシーケンスとして実装されることができる。命令のシーケンスは、予めコンパイルされることができ（オブジェクトコードの場合）、またはそれらは翻訳された命令（ｉｎｔｅｒｐｒｅｔｅｄ  ｉｎｓｔｒｕｃｔｉｏｎｓ）であり得る。さらに、メインルーチン２０００および通知アルゴリズムは、Ｃ、Ｃ＋＋、アセンブリまたはＢＡＳＩＣのような種々のプログラミング言語で実装されることができる。通知アルゴリズム２１００とメインルーチン２０００との間で渡される通知コマンドに関しては、それらは、同じプログラミング言語によって実装されることができるが、好ましくは、それらは修正されたＡＴコマンドセットに基づく。
【０１４６】
さらに、メインルーチン２０００および通知アルゴリズム２１００が一般に実行可能なオブジェクトコードとして格納されるのに対して、ＡＴコマンドインターフェースに渡される特定のイベント通知コマンドのためのセットアップおよび初期化ストリング（例えば電話番号、ＩＰアドレス、テキストメッセージ、およびイベントメッセージをトリガーする多くのアラーム状態）は、１つ以上の修正可能なテキストファイルとして格納されることができる。無線モデムのデバッグポート、追加のポート、またはイベント検出インターフェース（例えばＲＳ−２３２ポート）は、セットアップおよび初期化ストリングをプログラム可能に修正することを可能にすることができ、または、それらはヘッドエンドサーバーから無線モデムへＳＭＳまたは他のタイプのメッセージを送ることによってプログラム可能に修正されてもよい。
【０１４７】
本発明の利点は、ここで記述される方法と装置が一つのデータ端末装置または無線モデムに組み込まれることができ、それからイベント検出および通知技術を必要とするレガシー（ｌｅｇａｃｙ）装置と統合されることができるということである。そのように組み込まれるとき、本発明は、そのような装置をチェックするためにサービス要員を使うすることと関連するオーバーヘッドを減らす。さらに、レガシー外部装置に追加可能な既製品としての単一のハードウエア部分であって、その外部装置への修正が必要であるとしても修正を最小化したハードウェア部分を提供する。なおさらに、レガシー（ｌｅｇａｃｙ）外部装置の中のイベント検出および通知処理（もしあれば）は、外部装置から除去され、そして、便利な多目的無線モデムの上に移動されることができる。
【図面の簡単な説明】
【図１】  本発明の一実施例の物理的なパッケージングを表す図である。
【図２】  本発明の他の実施例の物理的なパッケージングを表す図である。
【図３】  プリプロセッサユニットとインターフェースアーキテクチャのブロック図である。
【図４】  プリプロセッサユニットのハードウェアの概要図である。
【図５】  本発明の一実施例のメモリマップである。
【図６Ａ】  ユーザー装置を含む本発明の実施例のブロック図である。
【図６Ｂ】  ユーザー装置を含む本発明の実施例のブロック図である。
【図６Ｃ】  ユーザー装置を含む本発明の実施例のブロック図である。
【図７Ａ】  本発明の割り込みサービスルーチンのための状態図を表す。
【図７Ｂ】  本発明の割り込みサービスルーチンのための状態図を表す。
【図８】  プリプロセッサドライバーのためのメインループを表すフローチャートである。
【図９】  プリプロセッサドライバーのための割り込みサービスルーチンの一部を表すフローチャートである。
【図１０】  プリプロセッサドライバーのための割り込みサービスルーチンの他の一部を表すフローチャートである。
【図１１】  プリプロセッサドライバーのための割り込みサービスルーチンのさらに他の一部を表すフローチャートである。
【図１２】  プリプロセッサドライバーのための割り込みサービスルーチンの残部を表すフローチャートである。
【図１３Ａ】  本発明を用いたシステムのブロック図である。
【図１３Ｂ】  シミュレーションされた回線交換呼のセットアップを示すフロー図である。
【図１３Ｃ】  シミュレーションされた回線交換呼の切断を示すフロー図である。
【図１４】  本発明を用いたネットワークモニターシステムのブロック図である。
【図１５Ａ】  本発明の実施例で使われる一プロトコルスタックを表す図である。
【図１５Ｂ】  本発明の実施例で使われる他のプロトコルスタックを表す図である。
【図１５Ｃ】  本発明の実施例で使われるさらに他のプロトコルスタックを表す図である。
【図１６】  典型的な通信ネットワークとデータフローを示す図である。
【図１７】  本発明の一実施例にしたがう通信ネットワークとデータフローを示す図である。
【図１８】  ショートメッセージサービスモデム管理プロセスのためのステップを表すフローチャートである。
【図１９Ａ】  無線モデムのためのイベント検出及び通知アプリケーションの一実施例のブロック図である。
【図１９Ｂ】  イベント検出及び通知モデムが接続することができる外部装置を表す図である。
【図２０】  イベント検出及び通知モデムのためのメインルーチンを示すフローチャートである。
【図２１】  イベント検出及び通知モデムのためのモデル通知アルゴリズムを示すフローチャートである。
【誤訳訂正２】
【訂正対象書類名】図面
【訂正対象項目名】図４
【訂正方法】変更
【訂正の内容】
【図４】
2003512750.tif 000004
【誤訳訂正３】
【訂正対象書類名】図面
【訂正対象項目名】図５
【訂正方法】変更
【訂正の内容】
【図５】
2003512750.tif 000005
【誤訳訂正４】
【訂正対象書類名】図面
【訂正対象項目名】図６Ａ
【訂正方法】変更
【訂正の内容】
【図６Ａ】
2003512750.tif 000006
【誤訳訂正５】
【訂正対象書類名】図面
【訂正対象項目名】図６Ｂ
【訂正方法】変更
【訂正の内容】
【図６Ｂ】
2003512750.tif 000007
【誤訳訂正６】
【訂正対象書類名】図面
【訂正対象項目名】図６Ｃ
【訂正方法】変更
【訂正の内容】
【図６Ｃ】
2003512750.tif 000008
【誤訳訂正７】
【訂正対象書類名】図面
【訂正対象項目名】図８
【訂正方法】変更
【訂正の内容】
【図８】
2003512750.tif 000009
【誤訳訂正８】
【訂正対象書類名】図面
【訂正対象項目名】図９
【訂正方法】変更
【訂正の内容】
【図９】
2003512750.tif 000010
【誤訳訂正９】
【訂正対象書類名】図面
【訂正対象項目名】図１０
【訂正方法】変更
【訂正の内容】
【図１０】
2003512750.tif 000011
【誤訳訂正１０】
【訂正対象書類名】図面
【訂正対象項目名】図１１
【訂正方法】変更
【訂正の内容】
【図１１】
2003512750.tif 000012
【誤訳訂正１１】
【訂正対象書類名】図面
【訂正対象項目名】図１２
【訂正方法】変更
【訂正の内容】
【図１２】
2003512750.tif 000013
【誤訳訂正１２】
【訂正対象書類名】図面
【訂正対象項目名】図１４
【訂正方法】変更
【訂正の内容】
【図１４】
2003512750.tif 000014
【誤訳訂正１３】
【訂正対象書類名】図面
【訂正対象項目名】図１８
【訂正方法】変更
【訂正の内容】
【図１８】
2003512750.tif 000015