(57)【特許請求の範囲】
【請求項１】
クライアント・アプリケーションとサーバ・アプリケーションとの間のデータ通信用の第１のプロトコルの不都合な特性を補償するデータ通信方法であって、
前記クライアント・アプリケーションと前記サーバ・アプリケーションはデータ通信用に第２のプロトコルを用いており、前記第２のプロトコルは前記第１のプロトコルにマッピングされて実際の通信の用に供されており、
前記クライアント・アプリケーションの前記第２のプロトコルに基づいたデータ通信要求を、前記サーバ・アプリケーションを代表しているように振る舞うことにより前記サーバ・アプリケーションに代わって動作しているクライアント・インターセプタがインターセプトする第１のステップと、
前記クライアント・インターセプタが、前記通信要求を前記第１のプロトコルにマッピングして、サーバ・インターセプタに対してデータ通信を実行する第２のステップと、
前記クライアント・アプリケーションを代表しているように振る舞うことにより前記クライアント・アプリケーションに代わって動作している前記サーバ・インターセプタが、前記通信要求を前記第２のプロトコルに逆マッピングして、それを前記サーバ・アプリケーションに配送する第３のステップとを含み、
前記第１のプロトコルが信頼できない、コネクション型のプロトコルであり、
前記第２のステップで、前記クライアント・インターセプタまたは前記サーバ・インターセプタは、コネクションが失われたと判断した場合、コネクションが失われたことを前記クライアント・アプリケーションと前記サーバ・アプリケーションに通知する代わりに、新たなコネクションを確立することにより前記第１のプロトコルの特性を補償し、
前記第２のステップで、前記クライアント・インターセプタまたは前記サーバ・インターセプタは、コネクションが確立されていないと判断した場合、前記コネクションを廃棄し、一旦前記クライアント・アプリケーションまたは前記サーバ・アプリケーションが発信した新たな通信要求をインターセプトしたら、新たなコネクションを確立することにより前記第１のプロトコルの特性を補償し、
前記第２のステップで、前記クライアント・インターセプタまたは前記サーバ・インターセプタは、前記コネクションがある時間フレーム内に前記通信要求を処理するのに十分でないと判断した場合、少なくとも１つの新たなコネクションを確立して並行通信の用に供することにより前記第１のプロトコルの特性を補償することを特徴とする、データ通信方法。
【請求項２】
前記第２のプロトコルがコネクション型であり、
前記クライアント・インターセプタと前記サーバ・インターセプタが、前記第１のステップと前記第２のステップで、前記クライアント・アプリケーションと前記クライアント・インターセプタとの間、および、前記サーバ・アプリケーションと前記サーバ・インターセプタとの間の多数のコネクションをインターセプトしている、請求項１に記載のデータ通信方法。
【請求項３】
前記多数のコネクションが前記第１のプロトコルの単一のコネクション上で多重化されている、請求項２に記載のデータ通信方法。
【請求項４】
前記クライアント・インターセプタが、前記第１のステップで、前記サーバ・アプリケーションに対してコネクションをオープンする要求をインターセプトすると、代わりに前記サーバ・インターセプタに対するコネクションをオープンし、前記サーバ・インターセプタが前記サーバ・アプリケーションに対するコネクションをオープンする、請求項２に記載のデータ通信方法。
【請求項５】
前記クライアント・インターセプタが、コネクションをオープンする前記要求を使って前記サーバ・アプリケーションの識別情報を受信し、
前記クライアント・インターセプタが、前記識別情報を潜在的に異なる第２のサーバ・インターセプタにフォワードして、前記第１のプロトコル内でのアドレス解決の用に供し、
前記クライアント・インターセプタが、戻されたアドレスを使って前記サーバ・インターセプタに対する前記コネクションをオープンする、請求項４に記載のデータ通信方法。
【請求項６】
前記クライアント・アプリケーションと前記クライアント・インターセプタが第１のコンピュータ・システムに常駐しており、前記サーバ・インターセプタが第２のコンピュータ・システムに常駐している、請求項１〜５のうちの１項に記載のデータ通信方法。
【請求項７】
前記第１のプロトコルが無線通信媒体上の無線通信プロトコルである、請求項６に記載のデータ通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・システム間、パーベイシブ（pervasive:広く普及した）コンピューティング装置間、または、コンピュータ・システムとパーベイシブ・コンピューティング装置との間で通信する方法および対応する手段に関する。本発明は、特に、通信プロトコル自体を取り替えることのできない環境下で通信プロトコルの不都合な特性を補償する（埋め合わせる）手法を提案するものである。
【０００２】
【従来の技術】
本発明は、通信プロトコルの不都合な点の処理方法に関する。このような不都合な点（後述する）は、多くの種類の通信プロトコルに内在している。この種の不都合を反映した最もよく知られたプロトコルは無線通信プロトコルであるので、以下では無線通信プロトコルに専心する。それでも、同じあるいは同様の不都合は、別の種類の通信プロトコルにも存在する。無論、本発明の手法は、これらの通信プロトコルにも適用することができる。本発明は、本発明が適用される通信プロトコル自体とは無関係なものである。
【０００３】
過去数年間、業界観測筋は、無線によるインターネットの利用が爆発的に普及する、と予測してきた。市場には２億人超のインターネット・ユーザと４億人超の携帯電話加入者がいるので、この産業は、成長するにつれ、情報にアクセスする方法に劇的な影響を与えることになる、と信ずべき十分な根拠がある。
【０００４】
モバイル（mobile）通信市場は、信じられない速さで拡大を続けている。その結果、様々な形をした新たなサービスと新たな目標部門が絶えず増えつづけているので、企業の潜在的な収益力も増大し続けている。これら新たなサービスと新たな目標部門のおのおのが、既存のオフィス環境の外でのビジネス活動に新たな課題を投げかけている。無線インターネットを利用すると、販売の自動化、文書管理といった内部サービスと、旅行の予約、証券取引、情報の販売といった外部サービスとの双方に新種のサービスを提供するビジネスが可能になる。この新種のサービスは、かつてなかったほど速くて簡便なものになる。モバイル・データ通信は、人へのアクセスと情報へのアクセスをタイムリーなものにする新たな業界標準を確立することになる。経営者、共同経営者、顧客主任（これらの人々は、すべて、大部分の時間を社外の現場で過ごすべきものとされている）などは、会社のネットワークにリモート・アクセスできれば、多大な恩恵を受けることになる。
【０００５】
モバイルデータ通信とそれがユーザに盛んに受け入られつつあるということが、地上ネットワークの進歩にも多大な影響を与えることになる。モバイル無線データ通信ネットワークに起因するインフラストラクチャ上の影響を別にして、無線データ通信プロトコルで実証されている特別の諸問題が存在する。無論、他の通信プロトコルにも同じ欠点がある。これら欠点のうちのいくつかは、次に示すようなものである。
１．帯域幅が狭く伝送速度が遅いこと−−無線データ伝送サービスの伝送帯域幅は、今日でも、固定ネットワークの伝送帯域幅のはるか後塵（こうじん）を拝している。
２．コストが高いこと−−無線伝送ネットワークの伝送コストは、固定ネットワークのコストよりもはるかに高い。
３．複雑さの程度が高いこと−−動的アーキテクチャでは、物理的な構造に論理コネクションを対応付ける必要がある。
４．信頼性が低いこと−−無線接続は、有線接続よりもはるかに信頼性が低い。
５．遅延が大きいこと−−無線リンクの応答時間は、地上リンクの応答時間よりもずっと長い。
６．コネクションにかかるオーバーヘッドが大きいこと−−ＴＣＰ／ＩＰベースのサーバに対する個々のデータ要求ごとに、クライアント側は、ＴＣＰ／ＩＰソケットをオープンする必要がある。
（オーバーヘッドとは、本来の処理以外の処理を実行するのにかかる余分な負荷のことである。ＴＣＰ／ＩＰとソケットは、下で詳述する）。
この結果、データのオーバーヘッドが増大するとともに、遅延が大きくなる。
【０００６】
無線通信端末が空間を介して信号を送受信すると、様々な問題が生じる可能性がある。すなわち、すべての端末の信号は、相互干渉を受ける。ユーザが移動すると、伝搬媒体の特性は不規則に変化する。モバイル無線チャネルでは、受信信号電力が不規則に変動するほか、周波数のずれや時間の経過に伴う信号の拡散など他のひずみ（歪）も生じる。空中を伝搬する信号も、ワイヤや光ファイバ中を伝送する信号よりも、ジャミング（意図的に干渉を与えて無線通信を妨害すること）や盗聴に対して脆弱（ぜいじゃく）である。この結果、伝送するデータ・パケットが失われる可能性がある。これらの限界は非常に複雑な信号処理技法とアンテナとを組み合わせて対処されることが多いが、ソフトウェアに基づいた包括的な解決策はない。しかしながら、これらハードウェアによる解決策では、無線ネットワークが複雑になってしまうとともに、必要な電力量が増大してしまう。
【０００７】
無線端末を備えるとデータ・リンクのコストが余分に増大してしまうのは、狭帯域がその理由である。現在、伝送速度は、９６００ビット／秒に制限されている（ちなみに有線ネットワークであるＩＳＤＮでは６４０００ビット／秒である）。この制約は、ＧＳＭ（global system for mobile communication: 欧州が標準化したディジタル携帯電話システムの方式）の技術的な構想に基づいたものである。ＧＳＭは、１チャネル当り約１３ｋビット／秒しか転送することができない。上述した欠点を少しでも緩和するために、様々な試みがなされた。ＧＳＭフェーズIIでは、１４．４ｋビット／秒のデータ転送モードが策定された。しかし、データ転送速度が速くなると、ＦＥＣ（Foward Error Correction:順方向誤り訂正）が困難になる。したがって、インフラストラクチャを継続的に整備すると、コネクションの質は、かえって低下してしまう。
【０００８】
実際、ＧＳＭは、モバイル・インターネット方式用に設計されたものではない。１４．４ｋビット／秒のデータ転送速度をもってしても、このような仕方では、一点集中的な改善しか実現できない。つまり、音声伝送に固着した元の構想の基本的な欠点は、なくならない。たとえば、ＧＳＭのチャネル割り当て方式は、回線調停型（line-mediating）ネットワークには適している。したがって、回線は、会話の期間あるいはデータ伝送の期間に対して課金される。
【０００９】
情報技術の他の分野とは反対に、無線通信は、まだ、単一の技術標準あるいはごく少数の技術標準に向けて収束する必要がある。ところが、無線通信は、今のところ、発散が継続するように見える。この技術標準が確立できない限り、上述した問題に対する解決策を提示しうるようにするためには、別の方法（おそらくソフトウェアによる解決策に基づいたもの）を追求しなければならない。
【００１０】
無線ネットワークでＴＣＰ／ＩＰを用いると、別の次元の問題を招来する。第１のプロトコルと第２のプロトコルとを組み合わせるようなことは、ある場合には不可避である。ＴＣＰ／ＩＰは、それがインターネットのプロトコルの王様であるという理由だけで第１のプロトコルに採用されているに違いない。他方、無線通信プロトコルは、代わりになる別のプロトコルが得られないといった特定の通信環境故に第２のプロトコルとして採用されているに違いない。このような状況では、プロトコル自体に固有なのかも知れない、あるいは、２つのプロトコルの組み合わせの結果なのかも知れない、あるプロトコルの不利な特性をどのように扱ったらよいかという問題に直面する可能性がある。
【００１１】
現状の無線ネットワーク上のＴＣＰ／ＩＰの性能は、遅延が大きいこと、およびデータの損失が変動することから、標準のマルチメディア・アプリケーションの多くやＴＣＰ／ＩＰなど信頼性の高いプロトコルにとって受け入れがたいものである。マルチメディア・アプリケーションと信頼性の高いプロトコルとの双方は、データの送信元と送信先との間における遅延とパケット損失の長期間にわたる両端間の評価に適応している。しかし、それらはネットワーク特性が急激に変動するとうまく機能できないので、上記の評価はきわめて不安定になる。上記アプリケーションとプロトコルが良好な性能を達成するためには、データをモバイル・ホストに伝送するプロトコルは、通信に信頼性の高いコネクションと無視できるデータ損失とをもたらすものでなければならない（無線通信プロトコルの場合、こうなっていない）。
【００１２】
通常、無線インターネット方式は、固定データ・モデムを使ったネットワーク方式とまったく同様に機能する。普通、モバイル端末（ノート型パーソナル・コンピュータと無線のデータホン〔電話回線を用いてデータを伝送する装置〕とを組み合わせたもの）は、ＩＳＰ（Internet Service Provider:インターネット接続事業者) 側に設置された固定ネットワーク・モデムを呼び出す。このとき、モバイル端末は、電話回線上でＴＣＰ／ＩＰを利用できるようにＰＰＰ（ＲＦＣ１６６２）あるいはＳＬＩＰ（ＲＦＣ１０５５）を利用する（この他に、個々の携帯用無線ネットワーク事業者〔portable radio network carrier〕による専用のソリューションもある）。しかし、ＰＰＰとＳＬＩＰの双方は、共に、伝送オーバーヘッドが大きいので、信頼できない無線コネクションにはうまく適合していない。タイマーの維持、プロセスのスケジューリング、特定のプロトコル制御データなどに関連付けられた通信部分を送受信する際に、所定量の伝送オーバーヘッドが生じる。
【００１３】
ＩＰ（Intetnet Protocol:インターネット・プロトコル）は、ＯＳＩ参照モデルのネットワーク層のコネクションレス型パケット指向のプロトコルである。
トランスポート層では、普通、ＴＣＰ（transport control protocol: トランスポート制御プロトコル）が使われている。ＴＣＰとＩＰとは、ＴＣＰがＩＰを利用する関係にある。ＴＣＰは、コネクション型で信頼性の高いプロトコルであり、誤り認識と誤り訂正の機能、フロー制御機能、ルータにおける輻輳の回避機能、ネットワーク・コンポーネント間における公平性を確保する機能などを備えている。（コネクションとは、互いに通信している機器の間の接続関係の総称であり、特に論理レベルの接続を指す。コネクション型通信とは、送信側から受信側へコネクションを確立してデータ・セグメントを伝送することである。コネクションレス型通信とは、送信側から受信側へコネクションを確立せずにデータ・セグメントを伝送することである。輻輳とは、通信網に処理能力以上の通信要求が発生し、一部の通信要求を無効にしたり、新たな通信要求が受け入れられない状態のことである）。
【００１４】
ＴＣＰプロトコルのユーザは、自分のデータが誤りなく完全に配送されることを確信することができる。このことの代償として、誤りの影響を受けやすいチャネル上の伝送速度は遅い。しかし、完全なウインドウ制御技法を用いることにより、ＴＣＰは、この弱点を取り除くことができる。スライディング・ウインドウを用いることにより、ＴＣＰは、いくつかのデータ・セグメントを送信したのち、それらに対する確認応答（ＡＣＫ）を待つことができる。確認応答（ＡＣＫ）を受信するやいなや、ウインドウを移動させることにより、別のセグメントを送信することが可能になる。セグメントを送信するたびに、ＴＣＰは独立のタイマーをスタートさせる。このタイマーは、確認応答（ＡＣＫ）が不達の場合、その旨を知らせて、当該セグメントの再送を開始させる。（ＴＣＰなどコネクション型のプロトコルでは、データ伝送時に送信側が受信側の受信バッファの大きさに合わせて送信するデータ・セグメントの流量を制御する。具体的には、受信側が連続して受信することのできるデータ・セグメントの量〔ウインドウの大きさ〕を送信側に知らせる。これに応じて、送信側が送信するデータ・セグメントの量を制御する。これがウインドウ制御である。データ・セグメントの流量に応じてウインドウの大きさを変えるのがスライディング・ウインドウである）。
【００１５】
輻輳回避、乗法的減少（Multiplicative Decrease)、およびスロー・スタートの助けをかりて、ＴＣＰは、ネットワーク状態に適合して、ネットワークの過負荷を回避している。
【００１６】
今日のネットワークは、きわめて低い誤り率（約１０-6）を実現している。それ故、ＴＣＰ機構は、誤り率の低い有線ネットワーク用に設計されている。通常の無線ネットワークは、このように良好な伝送品質と小さな遅延を提供できない。さらに、無線ネットワーク用のＯＳＩの低位層は誤りを認識して訂正する技法を使っているので、余計に遅延が増大してしまう。
【００１７】
ＴＣＰは、このような遅延を計測して輻輳に対処することができる。すなわち、遅延が大きくなると、無線ネットワーク層の完全な機構が誤りのない伝送を実現しているとしても、ＴＣＰタイマーがタイムアウトして再送を開始するようにしている。これらＴＣＰタイマーは、ラウンド・トリップ・タイムを計測することにより、動的に適合される（ラウンド・トリップ・タイムとは、あるコンピュータが発信したパケットが別のコンピュータに届き、その返答が返ってくるまでの時間のことである）。送出したセグメントに対する確認応答（ＡＣＫ）を受信し、かつそのセグメントの再送が開始されていないときにだけ、ＴＣＰタイマーをリセットして新たに計時する。したがって、誤りのない伝送の期間が続いたあとでは、ＴＣＰタイマーの計時時間は短くなる。
【００１８】
妨害あるいは貧弱な伝送状態が短い期間だけ存在しても、無線ネットワーク層の誤り訂正機構が働くので、長い遅延が生じる結果、ＴＣＰラウンド・トリップ・タイムが長くなる。ＴＣＰは、タイマーをタイムアウトさせてセグメントを再送することにより、長い遅延に対処している。しかし、無線ネットワーク層では誤りなしの伝送が既に実現しているので、このようなことは、不必要である。ＴＣＰは、タイマーがタイムアウトすると（すなわちデータが失われると）、それを常に輻輳の兆候として解釈する。その結果、タイマーの計時時間を長くするとともに、スライディング・ウインドウの大きさを小さくすることになる。そして、再びネットワーク中の伝送状態が完全になったとしても、ＴＣＰは、自身のタイマーをその状態に適合させるのにいくばくかの時間を必要とする。
【００１９】
ＴＣＰは、すべての確認応答（ＡＣＫ）の遅延を輻輳と解釈してしまうので、無線ネットワークに特有な上述した状況下では正しく対応することができない。したがって、無線ネットワークでデータを転送するためのプロトコルとして、ＴＣＰは、最適のプロトコル・ソリューションではない。
【００２０】
【発明が解決しようとする課題】
本発明の目的は、通信プロトコル自体を取り替えることのできない状況下で通信プロトコルの不都合な特性を補償する手法を提供することである。
【００２１】
【課題を解決するための手段】
本発明は、クライアント・アプリケーションとサーバ・アプリケーションとの間のデータ通信用の第１のプロトコルの不都合な特性を補償するデータ通信の手段と方法に関する。
【００２２】
第２のプロトコルに従う、クライアント・アプリケーションとサーバ・アプリケーションの通信要求は、クライアント・インターセプタとサーバ・インターセプタがインターセプトする。
【００２３】
クライアント・インターセプタとサーバ・インターセプタは、第２のプロトコルを第１のプロトコルにマッピングするとともに第１のプロトコルを第２のプロトコルにマッピングするほかに、第１のプロトコルに内在する、あるいは第１のプロトコルと第２のプロトコルとの組み合わせに起因する不都合な特性を透過的に補償する。
【００２４】
現在の相互接続されたコンピュータ環境では、アプリケーションの開発者は、特定の種類の通信プロトコルを自由に選べない場合が圧倒的に多い。たとえば、インターネットに参加するために、大多数のアプリケーションがＴＣＰ／ＩＰプロトコルを利用するのを強いられている。他方、モバイル・コンピューティング装置とパーベイシブ・コンピューティング装置に関しては、技術が爆発的に進歩している。これら新しいコンピューティング装置の場合、これら新しいコンピューティング装置を相互接続するには、新しい型の低レベルの通信プロトコルを用いて処理する必要がある。これら低レベルのプロトコル上でＴＣＰ／ＩＰを介して直接的に通信するように直接切り込んでいく取り組み方では、上述した不都合が生じるだけである。本発明のインターセプタを使う手法によれば、これらの不都合を透過的に補償する効率的な手法が得られる。
【００２５】
【発明の実施の形態】
図面および詳細な説明では、本発明の好適な実施形態が記載してある。特定の用語が使用されているけれども、ここでの記載は、用語法を、一般的かつ記述的な意味でのみ使用しており、限定を目的として使用していない。
【００２６】
本発明は、ハードウェア、ソフトウェア、あるいはハードウェアとソフトウェアとの組み合わせで実現することができる。どのような種類のコンピュータ（あるいはここで述べる方法を実行するのに適した他の装置）であっても、適している。ハードウェアとソフトウェアとの典型的な組み合わせは、ロードして実行したときにここで述べる方法を実行しうるように制御してくれるコンピュータ・プログラムを備えた汎用コンピュータ・システムである。本発明は、ここで述べる方法を実装（implementation）するのを可能にするすべての機能を備え、かつ、ロードして実行したときに、ここで述べる方法を実行することのできるコンピューター・プログラム製品に組み込むこともできる。
【００２７】
ここでの文脈におけるコンピュータ・プログラム手段（すなわちコンピュータ・プログラム）は、情報処理機能を備えたシステムに、特定の機能を、直接に、あるいは、（ａ）別のプログラミング言語、コード、もしくは表記への変換、または、（ｂ）別の材料形態での再生産、またはこれらの双方を行なったあとに実行させるように意図された命令の集合を、任意のプログラミング言語、コード、または表記で任意の形に表現したものを意味している。
【００２８】
ここでは、第１のプロトコルと第２のプロトコルの代表としてＴＣＰ／ＩＰと無線通信プロトコルを採用した例に基づいて本発明を説明する。しかしながら、本発明は、特定の種類のプロトコルから完全に独立しているので、他のプロトコルにも適用することができる。
【００２９】
〔１．提案するインタセプタの導入と外観〕
図１は、上述した問題を引き起こす典型的な最新の環境を図示したものである。通信プラットフォーム１０１、１０２、１０３によって、モバイル・クライアント装置１０４、１０５は、無線ネットワーク１０９（たとえばＧＳＭネットワーク）を使うことにより、静止したゲートウェイ・コンポーネント１０３とデータを交換することができる。通信プラットフォームは、信頼性が高く効率的なデータ伝送を保証するものである。通信プラットフォームは、ブレークダウン（切断）したコネクションを再確立させるクラッシュ回復機能と、コストを最小限にするショートホールド（shorthold:期限付き) モードとを備えている。通信プラットフォームは、データを圧縮してデータ伝送を高速化する。これもコストに良い影響を与える。通信プラットフォーム・クライアント１０１、１０２は、すべてのモバイル装置１０４、１０５上のクライアント・アプリケーション１０６、１０７に、通信プラットフォーム・ゲートウェイ１０３に接続されたサーバ１０８と交信する能力を付与している。サーバ・アプリケーション１０８は、同時に１つの通信プラットフォーム・ゲートウェイ１０３にしか接続することができない。これに対して、モバイル装置は、同時に複数のものが通信プラットフォーム・ゲートウェイ１０３に接続することができるので、同時に複数のクライアント・アプリケーション１０６、１０７がサーバ・アプリケーション１０８と交信することができる。
【００３０】
図１に示した状況下で生じるすべての問題にもかかわらず、ＧＳＭを装備したＰＣ（パーソナル・コンピュータ）から企業のデータ・センターへディジタル・データ・コネクションを張ることによって、リモート・アクセスするユーザにとって新たな段階のモバイル使用形態（mobility）が実現する。本発明が提案するインターセプタ（Interceptor)によるソリューション（解決策）は、この機能を利用するとともに、それを補足してＧＳＭに固有のいくつかの欠点、すなわち高コスト、信頼できないコネクション、限られた帯域幅、および秘密性と保全性が失われる状態にさらされることを克服するものである。
【００３１】
無線コネクションの伝送品質を改善するとともに、無線通信プロトコルのいくつかの不都合な特性を補償するために、インタセプタは、インターセプト（interception）機構を採用している。
【００３２】
図２は、本発明が提案するインターセプト機構（クライアント・インターセプタ２０１、２０２とサーバ・インターセプタ２０３とで表してある）が図１に示した最新の環境をどこでどのように拡張しようとしているのかを、図１と対照させる形で示す図である。
【００３３】
インターセプト機構によれば、インターセプタは、アプリケーションの存在を気にしなくてもよい。発信ＴＣＰ／ＩＰコネクションは、すべて、低レベルのインターセプト機構を使って、クライアント側とサーバ側とで透過的にインターセプトする。次いで、この発信ＴＣＰ／ＩＰコネクションを通信部へ渡す。通信部は、無線伝送機能を使ってそれをフォワード（転送）する。この手法は、ＴＣＰ／ＩＰスタックに対する変更を要しないが、ＴＣＰ／ＩＰ要求をインターセプトするのにオペレーティング・システム固有の機構に依存している。このように、ＴＣＰ／ＩＰベースのクライアント／サーバ・アプリケーションを変更する必要なく、きわめて効率的に目的を達成することができる。この高性能のシステムは、２つの基本構成要素、すなわちＴＣＰ／ＩＰ要求を透過的にインターセプトする組み込みコンポーネントとモバイル通信プラットフォームとから成る。インターセプタは、プロトコルを取り替えて最適化するために、あるいは一般に、基礎を成す無線通信プロトコルの不都合を補償するために、クライアント側およびサーバ側で実行されている両方のコンポーネントを使っている。モバイル通信プラットフォームによって、物理的な無線ネットワークの種類と振舞いは、アプリケーションに対して透過になる。このソフトウェア・コンポーネントは、様々な種類のセルラー（携帯）無線ネットワークに適用できるとともに、すべての無線ネットワークに関係する、予定されている帯域幅の取り消しと短くなるＴＣＰ／ＩＰアクセス時間とに適合しているか、それらを上回る状態にある。
【００３４】
インターセプタによって、クライアントとサーバとが特別の要件を満たすようにデータを交換する方策を構築することが可能になる。トラフィックは、コネクション型かコネクションレス型かどちらか一方になりうる。あるいは、換言すると、本発明の手法は、両方の類型のプロトコルに適用することができる。コネクションレス型プロトコルの場合、インターセプタに次に示す機能を組み込んで、基礎を成すプロトコルの不都合な特性を補償することができる。
【００３５】
１．スケーラビリティ（拡張容易性）
これにより、特定のアプリケーションとインストレーション（導入システム）の要求を満たすように、様々なトポロジでエンタープライズ環境（企業用情報環境）を構築することができる。同時に、インターセプタは、様々なセルラー無線ネットワークを使用することができる。
【００３６】
２．信頼性
これにより、すべてのデータは、変更されることなく、失われることなく伝送される。モバイルの呼の間には、予期せぬとき、たとえば文書のダウンロード中にトンネルに入ってしまったときになどにコネクションの切断が起こることもありうる（呼〔こ〕とは、利用者が通信を目的として通信設備を一時占有する事象のことである）。インターセプタは、すぐれたモバイル障害許容力（resilience）を備えており、自動再試行によってコネクションが再確立されるまで、特別の論理オフライン・モードでセッションを保持している。
【００３７】
３．ショートホールド・モード
ショートホールド・モードによって、アイドル期間中に呼を保留することがもはや必要なくなる。すなわち、インターセプタは、これらアイドル期間を検出して呼を中止し、他にもトラフィックがある場合には、自動的にコネクションを再確立する。
【００３８】
４．無線最適化トランスポート・プロトコルによるＴＣＰ／ＩＰの置き換え
これにより、発信ＴＣＰ／ＩＰデータ・ストリームは、インターセプトされる。すべての要求を１つの無線コネクション上でルーティングして、コストの高いコネクションを確立するオーバーヘッドを避けている。要求と応答は、この１つの無線コネクション上で多重化されている。この無線コネクションは、データ・トラフィックを低減させるために、最適化された専用のプロトコルを用いている。したがって、インターセプタ・インスタンスは、Ｎ−１−Ｎコネクション・マッピングを実現することにより、単一の無線プロトコル・コネクション上でＮ個のコネクションを多重化している。
【００３９】
５．認証
データを伝送する前に、ゲートウェイでクライアントを認証する必要がある。ユーザのセッションは（意図的に、あるいは他の理由により）切断されうるコネクション上で維持されているので、セキュリティのレベルが重要である。あるユーザが別のユーザのオフライン、あるいはショートホールドで切断されたセッションに接続するのを防ぐことが重要である。インターセプタのセキュリティ手法では、対応する機能に基づいて、このようなことは起こりえない、ということが保証されている。
【００４０】
６．圧縮
データ・トラフィックは、Ｖ．４２ｂｉｓアルゴリズムを使って圧縮し、データ転送を高速化するとともに、コストを削減している。換言すると、インターセプタは、特定の圧縮アルゴリズムを使用することもできる。
【００４１】
以上説明したように、インターセプタによる手法は、（クライアント・インターセプタとサーバ・インターセプタとの間の）コネクション型プロトコルに限定されない。たとえば、伝送コストを削減するために、インターセプタは、コネクションレス型無線ネットワークをも同様にサポートしている。
【００４２】
〔２．インターセプタのアーキテクチャ〕
図３は、本発明が提案するインターセプタ技術を有利に利用することのできる全体的な環境を示す図である。図３は、インターセプタを使用する典型的なシナリオとして見ることができる。（たとえばモバイル・コンピュータあるいは携帯電話〔mobile phone〕で表されている）クライアント・システム３０１で代表されているモバイル・ユーザは、様々なＴＣＰ／ＩＰベースのアプリケーションを使用することができる。この種のアプリケーションの例には、ＨＴＴＰを使うインターネット・ブラウザ、ＴＥＬＮＥＴを使う端末エミュレーション・プログラム、専用のプロトコルを使うロータス・ノーツ（Lotus Notes)などがある（ロータス・ノーツとは、米ロータス・ディベロップメント社が開発・販売しているグループウェア〔ネットワークを用いてグループで作業する環境を提供するソフトウェア〕のことである）。対応するアプリケーション・サーバ３０２は、イントラネットあるいはインターネットの一部でありうる。
【００４３】
クライアント・システム３０１は、ユーザ・アプリケーションの他に、ＳＯＣＫＳのクライアント部、インターセプタ３０３、および通信プラットフォームから成る（ＳＯＣＫＳとは、クライアント／サーバ環境で利用するプロキシ〔代理〕接続用のプロトコルのことである）。ＳＯＣＫＳクライアントは、すべての発信ＴＣＰ／ＩＰコネクションをインターセプタ・クライアント３０３にリダイレクトするために使用する。インターセプタ・クライアント３０３は、ユーザ・アプリケーションが送信するすべてのデータをこのようなＴＣＰ／ＩＰコネクションを介して受信し、通信プラットフォーム・クライアントを使ってそれらを無線ネットワークに送信する。通信プラットフォームが無線ネットワークから受信したデータは、インターセプタ・クライアント３０３を介して適切なユーザ・アプリケーションに転送する。
【００４４】
サーバ・システム３０２は、インターセプタ・クライアント３０３と通信プラットフォーム・クライアントの等価物、すなわちインターセプタ・サーバ３０５と通信プラットフォーム・サーバとから成る。クライアント・システム３０１が無線ネットワーク３０４上に送信したデータは、通信プラットフォーム・サーバが受信して、インターセプタ・サーバ３０５に配送する。インターセプタ・サーバ３０５は、ＩＰアドレスとポートを知ることにより、上記データをＴＣＰ／ＩＰコネクションを介して対応するアプリケーション・サーバに送信する。以上とは逆の過程も成立する。すなわち、インターセプタ・サーバ３０５にあててアプリケーション・サーバがＴＣＰ／ＩＰコネクション上に送出したデータは、通信プラットフォーム・サーバを使って、無線ネットワーク３０４を介してクライアント・システム３０１に送信する。図３に示すシナリオでは、アプリケーション・サーバ３０６として、インターネット内のサーバを用いることができる。そして、本発明の教示から離れることなく、アプリケーション・サーバは、アプリケーション・サーバ３０８として図示したように、ある種のファイアウォール３０７のうしろの専用のイントラネット内に配置することもできる。
【００４５】
このようなアーキテクチャ上の見方は、クライアント・アプリケーション、クライアント・インターセプタ、サーバ・アプリケーション、およびサーバ・インターセプタの間の独特の関係をうまく反映している。クライアント・アプリケーションの観点からは、クライアント・インターセプタは、サーバ・アプリケーションを代表しているふりをしているように見える。クライアント・アプリケーションとクライアント・インターセプタとが同じ（モバイルまたはパーベイシブ）コンピューティング装置に常駐しており、この例の場合のように、（信頼性の高い通信媒体を使用しているという想定に基づいている）ＴＣＰ／ＩＰコネクションによって結び付けられている場合には、このコネクションは、いかなる妨害の対象にもなることはない。本発明の手法は、クライアント・アプリケーションとクライアント・インターセプタとが別々のコンピューティング装置に常駐している環境にも適用することができる。しかし、両インスタンス（クライアント・アプリケーションのインスタンスとクライアント・インターセプタのインスタンス）が同じコンピューティング装置に常駐している場合に、ＴＣＰ／ＩＰコネクションの脆弱性（ぜいじゃくせい）が最大限に低減するので、最大の効果が得られる。サーバ・アプリケーションの観点からは、サーバ・インターセプタは、クライアント・アプリケーションを代表しているふりをしているように見える。
サーバ・インターセプタが、（この例の場合、無線ネットワークを介した）信頼できないコネクションのエンドポイントを代表しているこのコンピューティング装置に常駐している場合に、最大の効果が得られる。通常の環境では、サーバ・アプリケーションは、サーバ・インターセプタを常駐させているコンピューティング装置とは別のコンピューティング装置に常駐することができる。しかしながら、無論、サーバ・インターセプタとサーバ・アプリケーションとが同じコンピューティング装置を共用することを排除するものではない。
【００４６】
図４は、インターセプタによるソリューションのシステム・アーキテクチャをレイヤー（層）モデルで示した図である。
【００４７】
クライアント・システムの通信プラットフォーム４０１は、第１のプロトコル、すなわちこの例では無線ネットワーク４０３を介してサーバ・システムの通信プラットフォーム４０２に接続されている。これにより、論理的な観点からは、２つの通信プラットフォーム４０１、４０２の間の通信４０４が可能になる。
【００４８】
最新技術では、この段階で、クライアント・アプリケーション４０５は、通信プラットフォーム４０１、４０２を介して、その等価物であるサーバ・アプリケーション４０６との間にＴＣＰ／ＩＰ（第２のプロトコル）のコネクションを張っていた。そして、これにより、アプリケーション・クライアント４０５とアプリケーション・サーバ４０６との間に論理通信コネクション４０７を確立させていた。（以下では、クライアント・アプリケーション、クライアント・インターセプタなどともいう。これらは図示したアプリケーション・クライアント、インターセプタ・クライアントなどと表記が異なるが、両者は同じものを指している）。
【００４９】
この最新技術に対して、本発明の手法では、２つの新しいインスタンス、すなわちクライアント・インターセプタ４０８とサーバ・インターセプタ４０９を生成する。クライアント・アプリケーション４０５がサーバ・アプリケーション４０６に対して第２のプロトコル（ＴＣＰ／ＩＰプロトコル）に基づくコネクションを確立しようとすると、実際にはクライアント・インターセプタ４０８に対してコネクションが確立されることになる。ある意味で、クライアント・インターセプタ４０８は、クライアント・アプリケーション４０５に対してサーバ・アプリケーション４０６を代表しているふりをしている。クライアント・インターセプタ４０８は、クライアント・アプリケーション４０５の通信要求をすべてインターセプトして、それらを第２のプロトコル（ＴＣＰ／ＩＰ）から第１のプロトコル（信頼できない無線ネットワーク）にマッピングする。次いで、クライアント・インターセプタ４０８は、通信プラットフォーム４０１、４０２を介して、その等価物であるサーバ・インターセプタ４０９と交信する。この論理上のインターセプタ対インターセプタの通信４１０によって、第１のプロトコルの不都合を補償するための基礎が形成される。次いで、サーバ・インターセプタ４０９は、サーバ・アプリケーション４０６に対するコネクションを確立したのち、第１のプロトコルから第２のプロトコルへの逆マッピングを実行することになる。サーバ・インターセプタ４０９は、そのインターセプト動作故に、サーバ・アプリケーション４０６に対してクライアント・アプリケーション４０５を代表しているふりをしている。
【００５０】
図４のインターセプタのアーキテクチャは、図５のように示すこともできる。しかし、図５では、よりモジュールの観点を用いている。図４の記載をも参照して、図５は、次に示すものを表わしている。
・クライアント・アプリケーション（１）５０１〜（ｎ）５０２
・第２のプロトコル（ＴＣＰ／ＩＰ）５０３を介した通信要求の発行
・上記通信要求をインターセプトし、それを第１のプロトコル５０５にマッピングするクライアント・インターセプタ５０４
・上記第１のプロトコル５０５を介して通信する通信プラットフォーム・クライアント５０６と通信プラットフォーム・サーバ５０７
・第１のプロトコルと第２のプロトコル（ＴＣＰ／ＩＰ）５０９との間の逆マッピングを実行するサーバ・インターセプタ５０８
・サーバ・アプリケーション（１）５１０〜（ｍ）５１１
【００５１】
図５の例では、インターセプタは、モバイル（クライアント）部（インターセプタ・クライアント５０４）と静止（サーバ）部（インターセプタ・サーバ５０８）とから成る。
【００５２】
〔３．インターセプト・アーキテクチャと様々な通信プロトコル〕
１．ＴＣＰ／ＩＰコネクションを用いた標準のＬＡＮクライアント／サーバのシナリオ
このシナリオでは、クライアント・アプリケーションは、ＴＣＰ／ＩＰコネクションを使ってサーバ・アプリケーションと交信する。両者ともコネクションを張るのを始動してもよいし、入来するコネクションを待ち受けてもよい。ＬＡＮの特性は、ＴＣＰプロトコルの設計目的に適合している。したがって、このような環境にインターセプト・アーキテクチャを適用することは、その利点を全面的に達成することにはならない。たとえば、（上述した）信頼性が増すという利点は、単なるＬＡＮ環境では達成されえない（すなわちＬＡＮ環境はそれ自体で信頼性が高いから、ＬＡＮ環境にインターセプト・アーキテクチャを適用しても、信頼性が増すというインターセプト・アーキテクチャの利点が生きない）。
【００５３】
２．コネクション型無線ネットワーク（たとえばＧＳＭベアラー・サービス）における無線シナリオ
ＧＳＭネットワークでは、電話番号をダイヤルすることにより、データ転送用のコネクションを張ることができる。データを転送できるＧＳＭ電話機は、通常、コンピュータに対するヘイズ（Hayes)互換インタフェース、たとえばモデムを備えている。したがって、ＧＳＭネットワークを介してコンピュータをＬＡＮに接続するのに、ＰＰＰ（Point to Point Protocol)プロトコル（ＲＦＣ１６６１参照）の標準の実装（implementation）を使うことができる。このようなコネクション型無線ネットワーク環境には、顕著な不都合がつきものである。ＧＳＭネットワークなどのコネクション型無線ネットワークのこれらの特性は、次に示すように、ＰＰＰプロトコル以外のソリューションを必要としていた。
・今日の無線ネットワークでは、遅いデータ転送速度（通常９６００ビット／秒）しか実現されていない。
・無線カバレッジ（電波が届く区域）によっては、データ転送速度はさらに遅くなりうる。
・無線カバレッジがなくなると、データ・コネクションが失われる。
・モバイル・コンピュータが移動していると、その無線カバレッジが急激かつ永久に変化しうる。
【００５４】
これらの特性により、ＰＰＰに関し次に示す問題が生じる。
・いったんデータ・コネクションが失われると、既存のＴＣＰ／ＩＰコネクションがすべてクローズされる。
・ＴＣＰのタイムアウト機構は、伝送速度とターンアラウンド・タイム（送受反転時間、ＲＦＣ８１３参照）がこのように変動するネットワーク用には設計されていない。
【００５５】
本発明が提案する手法は、これらの問題にとって魅力的なソリューションである。無線ネットワークの特別の特性に適合した、本発明に係るインターセプタ技術によって、上述した問題を次に示すように解決することができる。
・既存のＴＣＰ／ＩＰコネクションに影響を与えることなく、ネットワーク層の失われた（切断された）データ・コネクションを再確立することができる。
・無線リンク上では、ＴＣＰプロトコルを使用していない。その代わりに、通信プラットフォームは、タイムアウト機構に適合したプロトコルを使用している。
【００５６】
このソリューションは、クライアント・アプリケーションとサーバ・アプリケーションにとって透過である。（「透過である」とは、気付くことなく利用できる、ということである）。このことは、クライアント・アプリケーションとサーバ・アプリケーションは、それらの古いＴＣＰ／ＩＰインタフェースをそのまま使える、ということを意味している。（ＳＯＣＫＳを使って）ＴＣＰ／ＩＰトラフィックを補足し、通信プラットフォームを使ってそれを転送するインターセプタ・コンポーネントによって、既存のクライアント・アプリケーションとサーバ・アプリケーションは、自らを適合させる取り組みを何ら行なうことなく、本発明の手法から恩恵を受けることができる。換言すると、既存のアプリケーションは、本発明の手法を透過的に利用することができる。実例をさらにいくつか挙げると、インターセプタ技術によって次に示すプロトコルを扱うことができる。すなわち、ｈｔｔｐ（ＲＦＣ２０６８参照）、ＳＭＴＰ（インターネット・メール、ＲＦＣ８２１参照）、ＮＮＴＰ（インターネット・ニュース、ＲＦＣ９７７参照）であるが、無論、この他にも多数ある。
【００５７】
３．ＳＯＣＫＳ
好適な実施形態で、本発明は、ＳＯＣＫＳプロトコル（ＲＦＣ１９２８参照）を利用して、クライアント・アプリケーションがサーバ・アプリケーションとの間にオープンしているＴＣＰ／ＩＰコネクションをすべて捕捉（ほそく）している。通常、ＳＯＣＫＳプロトコルは、ファイアウォールをまたいでＴＣＰ／ＩＰコネクションを張るのに使われている。ＳＯＣＫＳクライアントは、ＴＣＰ／ＩＰコネクションのオープンをＳＯＣＫＳサーバにリダイレクトする。ＳＯＣＫＳサーバは、新しいコネクション上を転送される始めの数バイトから、クライアント・アプリケーションがコネクションをオープンするときに始めから使っていたＩＰアドレスとリモート・ポートを知ることができる。したがって、ＳＯＣＫＳサーバは、このＩＰアドレスとリモート・ポートを使って第２のＴＣＰ／ＩＰコネクションをオープンして、複数のＴＣＰ／ＩＰコネクションのおのおののトラフィックを自身の等価物にフォワードすることができる。
【００５８】
インターセプタ・クライアントは、ＳＯＣＫＳサーバとして振る舞う。これにより、クライアント・インターセプタは、対応するサーバ・アプリケーションを代表しているふりをすることができる。（「加入者回線〔localloop 〕」コネクションを除く）すべての発信ＴＣＰ／ＩＰコネクションをインターセプタ・クライアント（「ローカル・ホスト〔localhost 〕」、ＩＰアドレス127.0.0.1 ）にリダイレクトするために、モバイル・コンピュータにＳＯＣＫＳクライアントをインストールしておく必要がある。ＳＯＣＫＳクライアントは、ほとんどすべてのオペレーティング・システムで使用可能である。
【００５９】
〔４．インターセプト、コネクション処理、および名前解決〕
インターセプタ・クライアントとインターセプタ・サーバは、通信プラットフォームを使って通信する。クライアント・アプリケーションがサーバ・アプリケーションに対してＴＣＰ／ＩＰコネクションをオープンしようとするときにはいつでも、そのＴＣＰ／ＩＰコネクションは、インターセプタ・クライアントにリダイレクトされる。インターセプタ・クライアントは、ＳＯＣＫＳプロトコルを使って、元の送信先のＩＰアドレスとリモート・ポートを取り込む。次いで、インターセプタ・クライアントは、この情報をインターセプタ・サーバに転送する。インターセプタ・サーバは、このＩＰアドレスとリモート・ポートを使って、サーバ・アプリケーションに対してＴＣＰ／ＩＰコネクションをオープンする。
【００６０】
インターセプタ・サーバがサーバ・アプリケーションに対してＴＣＰ／ＩＰコネクションをオープンするのに失敗した場合には、インターセプタ・クライアントは、クライアント・アプリケーションに対するＴＣＰ／ＩＰコネクションをクローズする。
【００６１】
クライアント・アプリケーションがＴＣＰ／ＩＰコネクション上に送出するデータは、すべて、インターセプタ・クライアントが通信プラットフォームを介してインターセプタ・サーバにフォワードする。インターセプタ・サーバは、それを対応するサーバ・アプリケーションに配送する。
【００６２】
サーバ・アプリケーションがＴＣＰ／ＩＰコネクション上に送出するデータは、すべて、インターセプタ・サーバが通信プラットフォームを介してインターセプタ・クライアントにフォワードする。インターセプタ・クライアントは、それを対応するクライアント・アプリケーションに配送する。
【００６３】
クライアント・アプリケーションまたはサーバ・アプリケーションがＴＣＰ／ＩＰコネクションをクローズすると、インターセプタ・クライアントまたはインターセプタ・サーバは、その等価物に対するコネクションをクローズすることになる。
【００６４】
本発明が提案するインターセプト機構は、名前解決の問題にも取り組む必要がある。（名前解決とは、便宜的に付けたホストの名称をプロトコル上のアドレスに置き換えることである）。通常、実際の名前解決は、いわゆる「ＤＮＳ（domain name service またはdomain name system）」が提供している。最も利用されているＳＯＣＫＳクライアントは、ＴＣＰ／ＩＰトラフィックしか処理しない。これは問題である。というのは、クライアント・アプリケーションはサーバ・アプリケーションのホストのＩＰアドレスを取得するのにＤＮＳ（ＲＦＣ１１０１参照）を使用するかも知れないのに、ＤＮＳは、ＴＣＰ／ＩＰプロトコルではなく、ＵＤＰプロトコルを使っているからである。
【００６５】
この理由により、本発明の手法は、インターセプタがＤＮＳサーバ（domain name server、ネーム・サーバ) として機能するようにインターセプタを実装することを提案している。インターセプタ・クライアントがクライアント・アプリケーションから受信する名前解決要求は、すべて、インターセプタ・サーバにフォワードされる。インターセプタ・サーバは、それを本来のＤＮＳサーバに再度フォワードする。インターセプタ・サーバがフォワードする各名前解決要求ごとに、インターセプタ・サーバは、異なったローカルのＵＤＰポートを使用しているので、本来のＤＮＳサーバからの回答は、名前解決を要求したクライアントに割り当てることができる。インターセプタ・サーバは、本来のＤＮＳサーバからの回答を正しいインターセプタ・クライアントに返送する。インターセプタ・クライアントは、それらを一連の動作を引き起こしたクライアント・アプリケーションにフォワードする。インターセプタ上でＤＮＳをサポートするために、クライアント・システムのシステム全体にわたるＤＮＳサーバのアドレスは、「ローカル・ホスト」（ＩＰアドレス127.0.0.1 ）になるように構成する必要がある。
【００６６】
〔５．インターセプタの補償機能〕
上述したように、本発明の好適な実施形態では、クライアント・インターセプタとサーバ・インターセプタがＳＯＣＫＳプロトコルをインターセプトすることを提案している。ＳＯＣＫＳは、アプリケーション・ユーザがファイアウォールをまたいで透過的にアクセスできるようにするために、ＴＣＰセッションをファイアウォール・ホストで中継するプロトコルである。ＳＯＣＫＳプロトコルは、アプリケーション・プロトコルと無関係であるので、ｔｅｌｎｅｔ、ｆｔｐ、ｆｉｎｇｅｒ、ｗｈｏｉｓ、ｇｏｐｈｅｒ、ＷＷＷなど多種多様なサービス用に使うことができる（そして使われてきた）。（ｔｅｌｎｅｔとはネットワーク経由で他のコンピュータに接続して遠隔操作を実現する仮想端末機能のことである。ｆｔｐとはインターネット上の２点間でファイルを転送するためのプロトコルのことである。ｆｉｎｇｅｒとはあるＴＣＰ／ＩＰホスト上にアカウントを持つユーザの情報をインターネット経由で取得するアプリケーションのことである。ｗｈｏｉｓとはインターネット・ユーザ向けに個々のネットワークに属すユーザ、ＩＰアドレス、組織に関する情報を検索するためのツールのことである。ｇｏｐｈｅｒとはインターネットに接続したコンピュータ上にある情報を検索するサービス機能のことである。ＷＷＷとはインターネット上のある情報から関連する別の情報を容易に参照できるようにしたもののことである）。サーバ（ファイアウォール・ホスト）はクライアントとアプリケーション・サーバとの間でデータを中継するだけなので、処理に伴うオーバーヘッドは最小限で済む。ＳＯＣＫＳは、アプリケーション・プロトコルについて知る必要が全くないので、好奇心旺盛なせんさく好きな人からトラフィックを守るために暗号を用いたアプリケーションを受け入れることも容易なはずである。
【００６７】
ＳＯＣＫＳクライアントは、ＳＯＣＫＳサーバと交信する代わりに、本発明の好適な実施形態では、モバイル装置で実行されているインターセプタ・クライアントと交信する。インターセプタ・クライアントがＳＯＣＫＳクライアントから受信したデータは、すべて、通信プラットフォームを使っているインターセプタ・サーバに配送される。通常はＳＯＣＫＳサーバが行なっている作業を、ここでは、インターセプタ・クライアントとインターセプタ・サーバが行なう。
【００６８】
図６は、最新技術による典型的なＧＳＭネットワークを示す図である。図６では、モバイル装置６０１がサーバ・アプリケーション６０３に接続するのに携帯電話（ＧＳＭ電話）６０２を利用している。
【００６９】
クライアント・ネットワーク層６０４は、ゲートウェイ・ネットワーク層に物理的に接続するのにＧＳＭ電話６０２を使っている。ＧＳＭ電話６０２は、ＧＳＭネットワーク・プロバイダ（接続事業者）の基地局６０５に接続している。ＧＳＭネットワーク・プロバイダの交換局６０６は、（Ｖ．１１０プロトコルを使って）ＩＳＤＮ６０７を経由してゲートウェイ・ネットワーク層６０８に接続している。
【００７０】
この例の環境の内で、上述したインターセプタ技術を導入するとしたら、
・モバイル装置６０１のおのおのの内で、クライアント・アプリケーション６０９と通信プラットフォーム６０４との間にクライアント・インターセプタを実現することになる。そして、
・サーバ・アプリケーション６０３と通信プラットフォーム・ゲートウェイ６０８との間にサーバ・インターセプタを実現することになる。
【００７１】
本発明が提案するインターセプタ技術で増強したこのような例の環境で、クライアント・インターセプタとサーバ・インターセプタが協働すると、次に示す問題状況を首尾よく処理することにより、顕著な利点が達成されることになる。
【００７２】
１．クラッシュ回復
ＧＳＭネットワークをまたいだ物理コネクションは、無線カバレッジが失われることにより、いつでも中断されうる。これは、モバイル装置が実際に動き回っているときに、頻繁に発生する。インターセプタ技術は、この不都合を補償することができる。ネットワーク層が何らかのデータを配送する必要があるのに、所定の物理コネクションが存在しないときにはいつでも、ネットワーク層は、そのピアに対して物理コネクションを新たに確立しようと試みる。コネクションを確立する試みは、それが成功するまで、あるいは、信頼性層がセッション・タイムアウトを検出したのを理由にセッション層が論理コネクションをクローズするまで繰り返す。
【００７３】
２．ショートホールド・モード
所定のインターセプタ技術は、コストを削減するとともに、不使用のコネクションを管理する手間を削減するために、長い間使用されていない物理コネクションをクローズする。そのクローズした物理コネクションは、信頼性層が新しいデータを通過させると、すぐに再確立される。このように、インターセプタ手法によれば、基礎を成すプロトコルの不都合を補償することが可能になる。
【００７４】
３．新たなコネクションの確立
ＴＣＰベースのクライアントがアプリケーション・サーバに対するコネクションを確立したいと望むと、ＳＯＣＫＳクライアントは、まず、インターセプタ・クライアントに対するＴＣＰコネクションをオープンする必要がある。コネクション要求が成功した場合、ＳＯＣＫＳクライアントは、バージョン識別子／メソッド選択メッセージを送る。インターセプタ・クライアントは、ＳＯＣＫＳクライアントに、「認証は必要ありません（NO AUTHENTICAION REQUIRED)」というＭＥＴＨＯＤ選択メッセージを送る。その後、ＳＯＣＫＳクライアントは、送信先アドレスと送信先ポートを含むＣＯＮＮＥＣＴ要求をインターセプタ・クライアントに送る。インターセプタ・クライアントは、ＣＯＮＮＥＣＴ要求をを評価したのち、「成功しました(SUCCEEDED) 」というメッセージをＳＯＣＫＳクライアントに送る。
【００７５】
さらに、インターセプタ・クライアントは、オープン要求パケットを無線ネットワーク介し通信プラットフォームを使ってインターセプタ・サーバに送る。このオープン要求パケットには、送信先アドレス、送信先ポート、クライアント・コネクション識別子（client conn id) が含まれている。インターセプタ・サーバは、与えられた送信先アドレスと送信先ポートを使ってアプリケーション・サーバに対してＴＣＰコネクションを確立する。このＴＣＰコネクションは、与えられたクライアント・コネクション識別子とクライアント識別子（client id)に関連付ける。
【００７６】
４．コネクションのクローズ
アプリケーション・クライアントもアプリケーション・サーバと同様に、コネクションをクローズすることができる。第１の場合では、インターセプタ・クライアントがクローズ要求パケットを通信プラットフォームを使ってインターセプタ・サーバに送り、インターセプタ・サーバがアプリケーション・サーバに対するＴＣＰ／ＩＰコネクションをクローズする。第２の場合では、インターセプタ・サーバがクローズ要求パケットを通信プラットフォームを使ってインターセプタ・クライアントに送り、インターセプタ・クライアントがアプリケーション・クライアントに対するＴＣＰ／ＩＰコネクションをクローズする。
【００７７】
５．データの転送
クライアント・アプリケーションが発信したデータは、インターセプタ・クライアントに送られる。インターセプタ・クライアントは、そのデータにクライアント・コネクション識別子を付加したのち、インターセプタ・サーバに送る。インターセプタ・サーバは、クライアント・コネクション識別子の情報によって、上記データを適切なアプリケーション・サーバに送るのに使用すべきＴＣＰ／ＩＰコネクションを判断する。
【００７８】
サーバ・アプリケーションが発信したデータは、既存のＴＣＰ／ＩＰコネクション上をインターセプタ・サーバに送信される。インターセプタ・サーバは、上記データに上記ＴＣＰ／ＩＰコネクション用のクライアント・コネクション識別子を付加する。他方、インターセプタ・サーバは、上記ＴＣＰ／ＩＰコネクション用のクライアント識別子（client id)を知っているので、上記データをインターセプタ・クライアントに送る。インターセプタ・クライアントは、クライアント・コネクション識別子の情報によって、上記データを適切なアプリケーション・クライアントに送るのに使用すべきＴＣＰ／ＩＰコネクションを判断する。
【００７９】
６．不十分な伝送容量
既存のコネクションの容量（すなわち帯域幅）がある時間フレーム内に伝送要求を処理するのに十分でない、と（クライアントおよび／またはサーバ）インターセプタが判断した場合、クライアント・インターセプタとサーバ・インターセプタは、両者の間に並行して新たなコネクションを確立するように判断しうる。（「Ａおよび／またはＢ」は「ＡおよびＢ、Ａ、またはＢ」を表わす）。新たな伝送容量を提供する多数の並行コネクションによって、（クライアントおよび／またはサーバ）インターセプタは、顕著に短くなった時間フレーム内で伝送を実行することができる。
【００８１】
まとめとして以下の事項を開示する。
（１）クライアント・アプリケーションとサーバ・アプリケーションとの間のデータ通信用の第１のプロトコルの不都合な特性を補償するデータ通信方法であって、
前記クライアント・アプリケーションと前記サーバ・アプリケーションはデータ通信用に第２のプロトコルを用いており、前記第２のプロトコルは前記第１のプロトコルにマッピングされて実際の通信の用に供されており、
前記クライアント・アプリケーションの前記第２のプロトコルに基づいたデータ通信要求を、前記サーバ・アプリケーションを代表しているふりをすることにより前記サーバ・アプリケーションに代わって動作しているクライアント・インターセプタがインターセプトする第１のステップと、
前記クライアント・アプリケーションと前記サーバ・アプリケーションに対して透過的に、前記クライアント・インターセプタが、前記通信要求を前記第１のプロトコルにマッピングして、サーバ・インターセプタに対してデータ通信を実行するステップと、
前記クライアント・インターセプタと前記サーバ・インターセプタが前記不都合な特性を透過的に補償するステップと
を備えた第２のステップと、
前記クライアント・アプリケーションと前記サーバ・アプリケーションに対して透過的に、前記クライアント・アプリケーションを代表しているふりをすることにより前記クライアント・アプリケーションに代わって動作している前記サーバ・インターセプタが、前記通信要求を前記第２のプロトコルに逆マッピングして、それを前記サーバ・アプリケーションに配送する第３のステップと
を備えたデータ通信方法。
（２）前記第１のプロトコルが信頼できない、かつコネクション型のプロトコルであり、
前記第２のステップで、前記クライアント・インターセプタまたは前記サーバ・インターセプタがコネクションが失われたと判断した場合、前記クライアント・インターセプタまたは前記サーバ・インターセプタは、コネクションが失われたことを前記クライアント・アプリケーションと前記サーバ・アプリケーションに通知する代わりに、新たなコネクションを確立することにより透過的に補償し、
および／または、
前記第２のステップで、前記クライアント・インターセプタまたは前記サーバ・インターセプタは、コネクションがアイドルであると判断した場合、前記コネクションを透過的に廃棄することにより補償し、いったん前記クライアント・アプリケーションまたは前記サーバ・アプリケーションが発信した新たな通信要求をインターセプトしたら、新たなコネクションを確立し、
および／または、
前記第２のステップで、前記クライアント・インターセプタまたは前記サーバ・インターセプタは、前記コネクションがある時間フレーム内に前記通信要求を処理するのに十分でないと判断した場合、少なくとも１つの新たなコネクションを確立して並行通信の用に供することにより補償する、
上記（１）に記載のデータ通信方法。
（３）前記第２のプロトコルがコネクション型であり、
前記クライアント・インターセプタと前記サーバ・インターセプタが、前記第１のステップと前記第２のステップで、前記クライアント・アプリケーションと前記クライアント・インターセプタとの間、および、前記サーバ・アプリケーションと前記サーバ・インターセプタとの間の多数のコネクションをインターセプトしている、
上記（２）に記載のデータ通信方法。
（４）基礎を成す通信媒体を効率的に使用するために、前記多数のコネクションが前記第１のプロトコルの単一のコネクション上で多重化されている、
上記（３）に記載のデータ通信方法。
（５）前記第２のプロトコルがコネクション型であり、
前記クライアント・インターセプタが、前記第１のステップで、前記サーバ・アプリケーションに対してコネクションをオープンする要求をインターセプトすると、代わりに前記サーバ・インターセプタに対するコネクションをオープンし、前記サーバ・インターセプタが前記サーバ・アプリケーションに対するコネクションをオープンする、
上記（３）に記載のデータ通信方法。
（６）前記クライアント・インターセプタが、コネクションをオープンする前記要求を使って前記サーバ・アプリケーションの識別情報を受信し、
前記クライアント・インターセプタが、前記識別情報を潜在的に異なる第２のサーバ・インターセプタにフォワードして、前記第１のプロトコル内でのアドレス解決の用に供し、
前記クライアント・インターセプタが、戻されたアドレスを使って前記サーバ・インターセプタに対する前記コネクションをオープンする、
上記（５）に記載のデータ通信方法。
（７）前記クライアント・アプリケーションと前記クライアント・インターセプタが第１のコンピュータ・システムに常駐しており、前記サーバ・インターセプタが第２のコンピュータ・システムに常駐している、
上記（２）〜（６）のうちの１つに記載のデータ通信方法。
（８）前記第１のプロトコルが無線通信媒体上の無線通信プロトコルである、上記（２）〜（７）のうちの１つに記載のデータ通信方法。
（９）前記第１のコンピュータ・システムが前記無線通信媒体の第１の末端部を形成しており、前記第２のコンピュータ・システムが前記無線通信媒体の第２の末端部を形成しており、
前記第２のコンピュータ・システムがワイヤ・ベースまたは光ファイバ・ベースの通信媒体の第１の末端部を形成しており、前記サーバ・アプリケーションを実行している第３のコンピュータ・システムが前記ワイヤ・ベースまたは光ファイバ・ベースの通信媒体の第２の末端部を形成している、
上記（８）に記載のデータ通信方法。
（１０）前記第１のコンピュータ・システムおよび／または前記第２のコンピュータ・システムがモバイル・コンピュータ・システムである、
上記（９）に記載のデータ通信方法。
（１１）前記モバイル・コンピュータ・システムが携帯電話であり、および／または、前記第２のプロトコルがＴＣＰ／ＩＰプロトコルである、
上記（１０）に記載のデータ通信方法。
（１２）クライアント・アプリケーションとサーバ・アプリケーションとの間のデータ通信用の第１のプロトコルの不都合な特性を補償するデータ通信システムであって、
上記（１）〜（１１）のうちの１つに記載のデータ通信方法のステップ群を実行するように適合された複数の手段
を備えたデータ通信システム。
（１３）データ処理システムで実行するデータ処理プログラムであって、
前記データ処理プログラムが前記データ処理システムで実行されるときに、上記（１）〜（１１）のうちの１つに記載のデータ通信方法を実行するソフトウェア・コード部を備えたデータ処理プログラム。
（１４）コンピュータ使用可能な媒体に格納されたコンピューター・プログラム製品であって、
前記プログラムがコンピュータで実行されるときに、上記（１）〜（１１）のうちの１つに記載のデータ通信方法を実行するように前記コンピュータに作用するコンピュータ読み取り可能なプログラム手段群を備えたコンピューター・プログラム製品。
【図面の簡単な説明】
【図１】  従来技術に内在する問題を引き起こす典型的な最新の環境を図示したものである。
【図２】  本発明が提案するインターセプト機構が図１に示した最新の環境をどこでどのように拡張しようとしているのかを、図１と対照させる形で示す図である。
【図３】  本発明が提案するインターセプタ技術を有利に利用することのできる全体的な環境を示す図である。
【図４】  インターセプタによるソリューションのシステム・アーキテクチャをレイヤー（層）モデルで示した図である。
【図５】  モジュールの観点をより一層用いて図４のインターセプタ・アーキテクチャを示す図である。
【図６】  サーバ・アプリケーションに携帯電話を接続した、最新技術による典型的なＧＳＭネットワークを示す図である。
【図７】  単一のコネクション上で多数の並行コネクションを多重化するのにインターセプタ手法がどのように利用できるのかを示す図である。
【符号の説明】
１０１…通信プラットフォーム、１０２…通信プラットフォーム、１０３…通信プラットフォーム、１０４…モバイル・クライアント装置、１０５…モバイル・クライアント装置、１０６…クライアント・アプリケーション、１０７…クライアント・アプリケーション、１０８…サーバ・アプリケーション、１０９…無線ネットワーク、２０１…クライアント・インターセプタ、２０２…クライアント・インターセプタ、２０３…サーバ・インターセプタ、３０１…クライアント・システム、３０２…アプリケーション・サーバ、３０３…インターセプタ・クライアント、３０４…無線ネットワーク、３０５…インターセプタ・サーバ、３０６…アプリケーション・サーバ、３０７…ファイアウォール、３０８…アプリケーション・サーバ、４０１…通信プラットフォーム、４０２…通信プラットフォーム、４０３…無線ネットワーク、４０４…通信、４０５…クライアント・アプリケーション、４０６…サーバ・アプリケーション、４０７…論理通信コネクション、４０８…クライアント・インターセプタ、４０９…サーバ・インターセプタ、４１０…通信、５０１…クライアント・アプリケーション（１）、５０２…クライアント・アプリケーション（ｎ）、５０３…第２のプロトコル、５０４…クライアント・インターセプタ、５０５…第１のプロトコル、５０６…通信プラットフォーム・クライアント、５０７…通信プラットフォーム・サーバ、５０８…サーバ・インターセプタ、５０９…第２のプロトコル、５１０…サーバ・アプリケーション（１）、５１１…サーバ・アプリケーション（ｍ）、６０１…モバイル装置、６０２…携帯電話、６０３…サーバ・アプリケーション、６０４…通信プラットフォーム、６０５…基地局、６０６…交換局、６０７…ＩＳＤＮ、６０８…ゲートウェイ・ネットワーク層、６０９…クライアント・アプリケーション、７０１…クライアント・アプリケーション、７０２…クライアント・インターセプタ、７０３…クライアント・システムの通信プラットフォーム、７０４…サーバ・システムの通信プラットフォーム、７０５…サーバ・インターセプタ、７０６…サーバ・アプリケーション、７０７…並行コネクション、７０８…単一のコネクション。
【図１】
0003758999.tif 000002
【図２】
0003758999.tif 000003
【図３】
0003758999.tif 000004
【図４】
0003758999.tif 000005
【図５】
0003758999.tif 000006
【図６】
0003758999.tif 000007
【図７】
0003758999.tif 000008