(57)【要約】【課題】【解決手段】コンピューティング装置に、プロセッサ、プロセッサに接続されたメモリ、メモリに保管され、プロセッサによって実行可能である、シンボリック制御情報に基づいてネットワークを介してリモート・コンピュータ・システムに通信されるデータを生成するアプリケーション・プログラムが含まれる。通信プロトコル・スタックが、メモリに保管され、モバイル装置からリモート・システムへのデータの通信をもたらすために、プロセッサによって実行される。プロトコル・スタックは、アプリケーション・プログラムからデータを受け取り、受け取られたデータアプリケーション層プロトコル・データ・ユニットに配置するアプリケーション層と、アプリケーション層からアプリケーション層プロトコル・データ・ユニットを受け取り、アプリケーション層プロトコル・データ・ユニットをネットワーク層プロトコル・データ・ユニットに配置し、シンボリック制御情報を、アプリケーション層プロトコル・データ・ユニットと別にネットワーク層プロトコル・データ・ユニットに配置し、リモート・システムへの送信のためにネットワーク層プロトコル・データ・ユニットをネットワークに転送するネットワーク層を有する。
2004531157.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング装置であって、プロセッサと、前記プロセッサに接続されたメモリと、前記メモリに保管され、前記プロセッサによって実行可能である、シンボリック制御情報に基づいてネットワークを介してリモート・コンピュータ・システムに通信されるデータを生成するアプリケーション・プログラムと、前記メモリに保管され、前記プロセッサによって実行可能である、前記モバイル装置から前記リモート・システムへの前記データの通信をもたらす通信プロトコル・スタックであって、前記プロトコル・スタックが、前記アプリケーション・プログラムから前記データを受け取り、受け取られた前記データをアプリケーション層プロトコル・データ・ユニットに配置するアプリケーション層と、前記アプリケーション層プロトコル・データ・ユニットを前記アプリケーション層から受け取り、前記アプリケーション層プロトコル・データ・ユニットをネットワーク層プロトコル・データ・ユニットに配置し、前記シンボリック制御情報を、前記アプリケーション層プロトコル・データ・ユニットと別に前記ネットワーク層プロトコル・データ・ユニットに配置し、前記リモート・システムへの送信のために前記ネットワーク層プロトコル・データ・ユニットを前記ネットワークに転送するネットワーク層とを有する、通信プロトコル・スタックとを有する、コンピューティング装置。
【請求項２】
前記制御情報が、前記リモート・システムのシンボリック・ネットワーク・アドレスを含む、請求項１に記載の装置。
【請求項３】
前記制御情報が、前記ネットワーク層によって、前記ネットワーク層プロトコル・データ・ユニットのオプション・フィールドに配置される、請求項１または２に記載の装置。
【請求項４】
未使用のオプション・コードが、前記ネットワーク層によって前記制御情報に割り当てられる、請求項３に記載の装置。
【請求項５】
前記制御情報が、前記ネットワーク層によって既存オプション・コードに書き込まれる、請求項３に記載の装置。
【請求項６】
前記制御情報が、ネットワーク・トンネリングによって前記ネットワーク層プロトコル・データ・ユニットに配置される、請求項１または２に記載の装置。
【請求項７】
請求項１ないし６のいずれかに記載のコンピューティング装置を含む携帯電話機。
【請求項８】
請求項１ないし６のいずれかに記載のコンピューティング装置を含むサーバ・コンピュータ・システム。
【請求項９】
コンピュータ装置とリモート・コンピュータとの間でデータを通信する方法であって、コンピューティング装置内のアプリケーション・プログラムによって、シンボリック制御情報に基づいてネットワークを介して前記リモート・システムに通信されるデータを生成することと、前記コンピューティング装置の通信プロトコル・スタックのアプリケーション層によって前記データを受け取ることと、前記アプリケーション層によって、アプリケーション層プロトコル・データ・ユニットに前記データを配置することと、前記アプリケーション層によって、前記アプリケーション層プロトコル・データ・ユニットを前記プロトコル・スタックのネットワーク層に転送することと、前記ネットワーク層で、前記アプリケーション層プロトコル・データ・ユニットを前記アプリケーション層から受け取ることと、前記ネットワーク層によって、前記アプリケーション層プロトコル・データ・ユニットをネットワーク層プロトコル・データ・ユニットに配置することと、前記ネットワーク層によって、前記アプリケーション層プロトコル・データ・ユニットと別に前記ネットワーク層プロトコル・データ・ユニットに前記シンボリック制御情報を配置することと、前記リモート・システムへの送信のために、前記ネットワーク層によって、前記ネットワーク層プロトコル・データ・ユニットを前記ネットワークに転送することとを含む方法。
【請求項１０】
前記制御情報が、前記リモート・システムのシンボリック・ネットワーク・アドレスを含む、請求項９に記載の方法。
【請求項１１】
前記制御情報が、前記ネットワーク層によって、前記ネットワーク層プロトコル・データ・ユニットのオプション・フィールドに配置される、請求項９または１０に記載の方法。
【請求項１２】
前記ネットワーク層によって、未使用のオプション・コードを前記制御情報に割り当てることを含む、請求項１１に記載の方法。
【請求項１３】
前記ネットワーク層によって、前記制御情報を既存オプション・コードに書き込むことを含む、請求項１１に記載の方法。
【請求項１４】
前記制御情報が、ネットワーク・トンネリングによって前記ネットワーク層プロトコル・データ・ユニットに配置される、請求項９または１０に記載の方法。
【請求項１５】
コンピュータ・システムのプロセッサにロードされた時に、請求項９ないし１４のいずれかに記載の方法を実行するように前記プロセッサを構成するコンピュータ・プログラム・コード手段を含む、コンピュータプログラム要素。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にはモバイル・ネットワークと固定データ・ネットワークの間のパケット・データ通信に関し、具体的には、そのようなデータ通信のアドレス処理に関する。
【背景技術】
【０００２】
通常のパケット指向データ・ネットワークには、複数のデータ処理ノードが含まれ、各処理ノードは、プロセッサ、プロセッサに接続されたメモリ、メモリに保管されプロセッサによって実行されるコンピュータ・プログラム・コード、およびノードをネットワークに結合するネットワーク・インターフェースを有する。コンピュータ・プログラム・コードに、プログラム制御の下でネットワーク・インターフェースを介してネットワーク内の他のノードとのデータ通信をもたらすアプリケーション・プログラムが含まれる。データ・トラフィックは、参照される離散パケットまたはプロトコル・データ・ユニット（ＰＤＵ）でソース・ノードから宛先ノードに通信される。各ＰＤＵに、ヘッダ部分およびペイロード部分が含まれる。ペイロード部分によって、通信されるデータが搬送される。ヘッダ部分によって、ＰＤＵの宛先への通信をもたらす制御情報が搬送される。そのようなＰＤＵは、ソース・ノードのアプリケーション・プログラムから、宛先ノードのアプリケーション・プログラムへ、国際標準化機構（ＩＳＯ）参照モデルに従って通信される。ＩＳＯ参照モデルでは、ソース・ノードのアプリケーション・プログラムと、宛先ノードのアプリケーション・プログラムと、ネットワークとの間の論理データ処理プロトコル層のスタックが定義される。ソース・アプリケーション・プログラムから宛先アプリケーション・プログラムに通信されるデータは、ソース・アプリケーション・プログラムからネットワークへ、ソース・ノードのプロトコル・スタックを介して渡される。受信時には、データが、ネットワークから宛先アプリケーション・プログラムへ、宛先ノードのプロトコル・スタックを介して渡される。
【０００３】
ソース・ノードと宛先ノードの両方のスタックに、アプリケーション層、プレゼンテーション層、セッション層、トランスポート層、ネットワーク層、リンク層、および物理層が含まれる。アプリケーション層によって、ファイル転送アクセスおよび管理などのネットワーク全体にわたる分散サービスならびに電子メールなどの一般的なメッセージ交換サービスの範囲のユーザ・インターフェースが提供される。アプリケーション層は、アプリケーション・プログラムとプレゼンテーション層の間に配置される。プレゼンテーション層によって、トランザクション中に使用される適当な転送構文が折衝され、選択され、その結果、２つのアプリケーション実体の間で交換されるメッセージの構文が維持される。プレゼンテーション層は、アプリケーション層とセッション層の間に配置される。セッション層を用いると、２つのアプリケーション層プロトコル実体が、たとえば実体の間で通信チャネルを確立し、クリアすることによって、データ交換を管理できるようになる。セッション層は、プレゼンテーション層とトランスポート層の間に配置される。トランスポート層は、基礎になるネットワーク・タイプと独立のメッセージ転送機能をセッション層に提供することによって、上位のアプリケーション指向の層と下位のネットワーク指向の層の間のインターフェースとして働く。トランスポート層は、セッション層とネットワーク層の間に配置される。セッション層にメッセージ転送機能の事前定義の組を与えることによって、トランスポート層によって、基礎となるネットワークの詳細な動作がセッション層から隠蔽される。ネットワーク層は、トランスポート層プロトコル実体の間でネットワーク接続を確立し、クリアする責任を負い、ネットワーク層には、ネットワーク・ルーティングなどの機能性が含まれる。ネットワーク層は、トランスポート層とリンク層の間に配置される。リンク層は、ネットワークによって提供される物理接続の上で作られて、ネットワーク層に、エラー訂正および伝送エラーの場合のメッセージ再送信などの情報転送機能が与えられる。リンク層は、ネットワーク層と物理層の間に配置される。物理層によって、ノードとネットワークの間の物理的インターフェースおよび電気的インターフェースが提供される。
【０００４】
ソースのプロトコル・スタックの各層で、前の層からのデータおよび制御情報を含むＰＤＵが、現在の層からの制御情報によって増補される。ソース・アプリケーション・プログラムからのデータが、アプリケーション層プロトコル制御情報を含むヘッダ部分によって、アプリケーション層で増補されて、アプリケーション層ＰＤＵ（ＡＰＤＵ）が形成される。ＡＰＤＵが、プレゼンテーション層プロトコル制御情報を含むヘッダ部分によって、プレゼンテーション層で増補されて、プレゼンテーション層ＰＤＵ（ＰＰＤＵ）が形成される。ＰＰＤＵが、セッション層プロトコル制御情報を含むヘッダ部分によって、セッション層で増補されて、セッション層ＰＤＵ（ＳＰＤＵ）が形成される。ＳＰＤＵが、トランスポート層プロトコル制御情報を含むヘッダ部分によって、トランスポート層で増補されて、トランスポート層ＰＤＵ（ＴＰＤＵ）が形成される。ＴＰＤＵが、ネットワーク層プロトコル制御情報を含むヘッダ部分によって、ネットワーク層で増補されて、ネットワーク層ＰＤＵ（ＮＰＤＵ）が形成される。ＮＰＤＵが、リンク層プロトコル制御情報によって、リンク層で増補されて、物理層ＰＤＵまたはデータグラムが形成されて、物理ネットワーク上の宛先に通信される。
【０００５】
一部のデータ通信環境では、アプリケーション層、プレゼンテーション層、およびセッション層の機能が、単一のプロトコル層に組み合わせることができる。そのような環境の例が、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）環境である。ＴＣＰ／ＩＰ環境では、アプリケーション層、プレゼンテーション層、およびセッション層の組み合わされた機能性が、ファイル転送プロトコル（ＦＴＰ）、リモート端末プロトコル（ＴＥＬＮＥＴ）、シンプル・メール転送プロトコル（ＳＭＴＰ）、およびネーム・サーバ・プロトコル（ＮＳＰ）などの複数のプロトコルを介して提供される。トランスポート層は、転送制御プロトコルまたはユーザ・データグラム・プロトコル（ＵＤＰ）あるいはその両方によって提供される。ネットワーク層は、インターネット・プロトコル（ＩＰ）によって提供される。ソース・アプリケーションからのデータが、ＴＣＰ制御情報を含むヘッダ部分によって、ＴＣＰ層で増補されて、ＴＣＰ  ＰＤＵが形成される。ＴＣＰ  ＰＤＵが、ＩＰプロトコル制御情報を含むヘッダ情報によって、ＩＰ層で増補されて、ＴＣＰ／ＩＰデータグラムが形成される。
【０００６】
通常のＴＣＰ／ＩＰネットワークでは、アドレス、ソース・ノード、および宛先ノードが、通信される各データグラムに組み込まれる。ソースのアプリケーション・プログラムでは、宛先のアドレスが、形式において通常はシンボリックである。たとえば、ネットワークに接続されたリモート・ホスト・システムの名前が、シンボリック・アドレスとみなされる。ソース・ノードから宛先ノードへのＰＤＵの通信をもたらすために、シンボリック・ネットワーク・アドレスが、バイナリ・ネットワーク層アドレスに変換される。この変換処理を、一般に、アドレス解決と称する。アドレス解決は、通常は、ソース・ノードのプロトコル・スタックのトランスポート層およびネットワーク層で実行される。ネットワークによって、宛先ノードのアドレスに基づいて中間ノードでのルーティングが実行される。ルーティング・テーブルが、中間ノードで使用されて、データグラムが、宛先へのパスでの最善ホップに向けられる。アドレス解決のさらなる詳細は、ダグラス・コーマー（Douglas E. Comer）著、「ＴＣＰ／ＩＰによるネットワーク構築、第１巻、第２版（Internetworking withTCP/IP, Volume 1, Second Edition）」、プレンティス・ホール（Prentice Hall)、１９９１年に記載されている。
【０００７】
アドレス解決には、通常は、分散データベースでのルックアップ機能が含まれる。動作中に、データベースによって、シンボリック・アドレスが、対応するバイナリ・ネットワーク層アドレスにマッピングされる。一般に、ソース・ノードは、データベースに接続される、またはローカルにその複製を保管しているのいずれかである。たとえば、通常のＴＣＰ／ＩＰネットワークでは、通常、ドメイン・ネーム・システム（ＤＮＳ）が設けられ、このＤＮＳでは、分散ネーム・サーバが、ノード間のＴＣＰ／ＩＰ通信を容易にするために使用される。通常、固定ネットワークのノードは、ネットワーク上で前述のアドレス・ルック・アップ機能を実行するか、アドレス解決を実行するのに必要なネーム・サービスの抜粋を他の形でキャッシングするかのいずれかを行うのに十分なコンピューティング・リソースを有する。さらに、ネットワーク・インフラストラクチャは、一般に、オン・デマンドのアドレス解決に必要なデータをすばやく送達するのに十分な、短い待ち時間および広い帯域幅を有する。
【０００８】
ワイヤレス・アプリケーション・プロトコル（Wireless ApplicationProtocol、ＷＡＰ）ネットワークなどの通常のモバイル・データ通信ネットワークには、複数のモバイル・データ処理装置が含まれる。モバイル装置は、無線ネットワークを介して互い通信することができ、固定ネットワーク内のリモート・ホスト・データ処理ノードと通信することもできる。そのような装置には、通常は、プロセッサ、プロセッサに接続されたメモリ、メモリに保管され、プロセッサによって実行可能なコンピュータ・プログラム・コード、およびノードをネットワークに結合するネットワーク・インターフェースが含まれる。コンピュータ・プログラム・コードには、プログラム制御の下でのネットワーク・インターフェースを介するネットワーク内の他の装置とのデータ通信をもたらすアプリケーション・プログラムが含まれる。そのような装置の例に、形態電話機および携帯情報端末が含まれる。モバイル装置は、通常は、固定ネットワークに接続されたゲートウェイを介して固定ネットワークと通信する。ＷＡＰネットワークでは、有線ネットワーク内のホスト・システムを、起点サーバと称する。一般に、モバイル・データ処理装置は、固定ネットワークのデータ処理ノードほど多量の使用可能なメモリを有しない。また、モバイル装置は、通常は、電力消費、物理的体積、および重量を含むさまざまな理由から、データ記憶容量を制限されている。モバイル・ネットワークは、固定ネットワークより狭い帯域幅と長い待ち時間を有する。したがって、モバイル・ネットワークのデータ・トラフィック処理容量は、一般に、固定ネットワークより制限されている。また、モバイル・ネットワークとその中の装置との永久的接続は、通常は、予備の電力を保存するために、維持されない。また、モバイル装置がネットワーク・カバレッジの１つの地域から別の地域に移動する時の、移動中のモバイル装置とモバイル・ネットワークの接続の位置依存の中断がある。したがって、モバイル装置でのアドレス解決情報の最新のレコードの維持は、実際に非常に困難であることを諒解されたい。
【０００９】
この問題に対する従来の解決策は、モバイル装置がモバイル・ネットワークにそれを介して接続されるネットワーク・ゲートウェイまでアドレス解決を延期することである。ネットワーク・ゲートウェイによって、シンボリック・アドレスからネットワーク層アドレスへのアドレス解決が実行される。この手法の例を、ＷＡＰネットワークに見ることができる。通常、モバイル装置は、通常はＷＡＰゲートウェイと称するプル・プロキシ・サーバを介してＷＡＰネットワークに接続される。ＷＡＰゲートウェイによって、アドレス解決が実行される。モバイル装置は、常駐アプリケーションとＷＡＰゲートウェイの間のデータ通信をもたらすアプリケーション層プロトコルを有する。しかし、モバイル装置がアドレス解決を実行しないので、シンボリック宛先アドレスは、モバイル装置からＷＡＰゲートウェイに、ユニバーサル・リソース・ロケータ（Universal Resource Locator、ＵＲＬ）の形で送信される。ワイヤレス・セッション・プロトコル（WirelessSession Protocol、ＷＳＰ）と称するセッション層プロトコルによって、モバイル装置からゲートウェイへのＵＲＬの通信がもたらされる。ＵＲＬは、ゲートウェイのハイパーテキスト転送プロトコル／伝送制御プロトコル／インターネット・プロトコル（ＨＴＴＰ／ＴＣＰ／ＩＰ）スタックによって解決される。具体的に言うと、ＨＴＴＰ要素によって、ＩＰアドレス解決が実行される。ＷＳＰのさらなる詳細は、ＷＡＰフォーラム（ＷＡＰ  Ｆｏｒｕｍ）、ワイヤレス・アプリケーション・プロトコル：ワイヤレス・セッション・プロトコル仕様（WirelessApplication Protocol: Wireless Session Protocol Specification）２０００年５月に記載されている。
【００１０】
そのようなモバイル・ネットワークを使用して、暗号化された情報を通信することが望ましく、この暗号化では、セッション層またはその下層もしくはその両方のデータ・ペイロードが、ＷＡＰフォーラムによって指定されるワイヤレス・トランスポート層エンド・ツー・エンド・セキュリティ（Wireless Transport Layer End to End Security、ＷＴＬＳ）などのセキュリティ・プロトコルに従って暗号化される。ＷＴＬＳプロトコルのさらなる詳細は、ＷＡＰフォーラム、ワイヤレス・アプリケーション・プロトコル：ワイヤレス・トランスポート層エンド・ツー・エンド・セキュリティ仕様（WirelessApplication Protocol: Wireless Transport Layer End to End SecuritySpecification）２０００年７月に記載されている。しかし、そのようなセキュリティ・プロトコルには、通常は、シンボリック宛先アドレスの暗号化が含まれる。暗号化されたアドレスは、アドレス解決がゲートウェイで実行される前に暗号化解除される。この暗号化解除によって、エンド・ツー・エンド・セキュリティが壊される。したがって、ＷＡＰネットワーク内のＷＴＬＳセッションと称するセキュア通信チャネルが、モバイル装置からゲートウェイまで延びるが、それ以上には延びない。金融アプリケーションまたは医療アプリケーションなどのセキュリティに依存するアプリケーションにとって、これは望ましくない。
【００１１】
モバイル・データ通信ネットワークでエンド・ツー・エンド・セキュリティを提供するという問題に対する従来の解決策には、通信サービス・プロバイダによって確立されるセキュア・ドメインに常駐する副プル・プロキシ・サーバにセッション層トラフィックをリダイレクトすることが含まれる。ナビゲーション文書の形の情報のプロビジョニングが、副サーバによってモバイル装置に供給されて、モバイル装置が、セッション層で通信をリダイレクトできるようになる。もう１つの従来の解決策は、モバイル装置で宛先アドレス解決を実行し、ゲートウェイによってトランスポート層での後続トンネリングを行うことである。トランスポート層トンネルは、ＵＤＰまたは、ＵＤＰに類似するＷＡＰ通信プロトコルであるワイヤレス・データグラム・プロトコル（Wireless Datagram Protocol）のいずれかに準拠するピアプロキシ・プロトコルによって確立される。しかし、この手法は、追加の処理を伴なう。
【非特許文献１】
ダグラス・コーマー（Douglas E. Comer）著、「ＴＣＰ／ＩＰによるネットワーク構築、第１巻、第２版（Internetworkingwith TCP/IP, Volume 1, Second Edition）」、プレンティス・ホール（Prentice Hall）、１９９１年
【非特許文献２】
ＷＡＰフォーラム（ＷＡＰ  Ｆｏｒｕｍ）、ワイヤレス・アプリケーション・プロトコル：ワイヤレス・セッション・プロトコル仕様（Wireless Application Protocol: Wireless Session ProtocolSpecification）２０００年５月
【非特許文献３】
ＷＡＰフォーラム、ワイヤレス・アプリケーション・プロトコル：ワイヤレス・トランスポート層エンド・ツー・エンド・セキュリティ仕様（Wireless Application Protocol: Wireless Transport Layer End to EndSecurity Specification）２０００年７月
【発明の開示】
【発明が解決しようとする課題】
【００１２】
【課題を解決するための手段】
【００１３】
本発明によれば、コンピューティング装置であって、プロセッサと、前記プロセッサに接続されたメモリと、前記メモリに保管され、前記プロセッサによって実行可能である、シンボリック制御情報に基づいてネットワークを介してリモート・コンピュータ・システムに通信されるデータを生成するアプリケーション・プログラムと、前記メモリに保管され、前記プロセッサによって実行可能である、前記モバイル装置から前記リモート・システムへの前記データの通信をもたらす通信プロトコル・スタックであって、前記プロトコル・スタックが、前記アプリケーション・プログラムから前記データを受け取り、受け取られた前記データをアプリケーション層プロトコル・データ・ユニットに配置するアプリケーション層と、前記アプリケーション層プロトコル・データ・ユニットを前記アプリケーション層から受け取り、前記アプリケーション層プロトコル・データ・ユニットをネットワーク層プロトコル・データ・ユニットに配置し、前記シンボリック制御情報を、前記アプリケーション層プロトコル・データ・ユニットと別に前記ネットワーク層プロトコル・データ・ユニットに配置し、前記リモート・システムへの送信のために前記ネットワーク層プロトコル・データ・ユニットを前記ネットワークに転送するネットワーク層とを有する、通信プロトコル・スタックとを有する、コンピューティング装置が提供される。
【００１４】
前記制御情報が、前記リモート・システムのネットワーク・アドレスを含むことが好ましい。前記制御情報を、前記ネットワーク層によって、前記ネットワーク層プロトコル・データ・ユニットのオプション・フィールドに配置することができる。本発明の好ましい実施形態では、未使用のオプション・コードが、前記制御情報に割り当てられる。本発明のもう１つの好ましい実施形態では、前記制御情報が、既存オプション・コードに書き込まれる。代替案では、前記制御情報が、ネットワーク・トンネリングによって前記ネットワーク層プロトコル・データ・ユニットに配置される。本発明は、前に記載のコンピューティング装置を含む携帯電話機にも拡張される。同様に、本発明は、前に記載のコンピューティング装置を含むサーバ・コンピュータ・システムに拡張される。
【００１５】
本発明を別の態様から見ると、コンピュータ装置とリモート・コンピュータとの間でデータを通信する方法であって、コンピューティング装置内のアプリケーション・プログラムによって、シンボリック制御情報に基づいてネットワークを介して前記リモート・システムに通信されるデータを生成することと、前記コンピューティング装置の通信プロトコル・スタックのアプリケーション層によって前記データを受け取ることと、前記アプリケーション層によって、アプリケーション層プロトコル・データ・ユニットに前記データを配置することと、前記アプリケーション層によって、前記アプリケーション層プロトコル・データ・ユニットを前記プロトコル・スタックのネットワーク層に転送することと、前記ネットワーク層で、前記アプリケーション層プロトコル・データ・ユニットを前記アプリケーション層から受け取ることと、前記ネットワーク層によって、前記アプリケーション層プロトコル・データ・ユニットをネットワーク層プロトコル・データ・ユニットに配置することと、前記ネットワーク層によって、前記アプリケーション層プロトコル・データ・ユニットと別に前記ネットワーク層プロトコル・データ・ユニットに前記シンボリック制御情報を配置することと、前記リモート・システムへの送信のために、前記ネットワーク層によって、前記ネットワーク層プロトコル・データ・ユニットを前記ネットワークに転送することとを含む方法が提供される。本発明は、コンピュータ・システムのプロセッサにロードされた時に、前に記載の方法を実行するように前記プロセッサを構成するコンピュータ・プログラム・コード手段を含む、コンピュータプログラム要素にも拡張される。
【００１６】
本発明の好ましい実施形態では、シンボリック・アドレス情報が、データ・ペイロードとは別に、ネットワーク層データグラムに組み込まれる。データ通信が、ゲートウェイを介して行われる。ゲートウェイのネットワーク層によって、シンボリック・アドレスが検出され、ネットワーク層アドレスに解決される。組込みは、ネットワーク層プロトコル・データ・ユニットのペイロードが影響を受けないように実行される。アドレス解決は、スタック内でプロトコル層およびその上位層に対して透過的である。ペイロード・データの暗号化解除は不要である。したがって、エンド・ツー・エンド・ネットワーク・セキュリティを維持することができる。本発明は、アドレス・データ以外のタイプの組込み制御情報に同等に適用可能である。
【００１７】
本発明の実施形態は、前述の従来の解決策より優れている。というのは、そうでなければモバイル装置へのナビゲーション文書の供給によってもたらされる、サーバ、ゲートウェイ、およびモバイル・デバイスの間での追加トラフィックの導入が回避され、セッション・リダイレクションまたはピア・プロキシ・プロトコルの実行あるいはその両方が回避されるからである。前に述べた従来の解決策は、モバイル装置の再構成などの他のオーバーヘッドもこうむり、モバイル装置およびネットワーク・インフラストラクチャの両方でのナビゲーション文書の管理は、本発明の実施形態によって同様に回避される。ナビゲーション文書を介する通信のリダイレクトには、ゲートウェイを超えるすべての宛先サーバについて２つの接続を確立することが含まれる。したがって、接続セット・アップ時間が２倍になる。これによって、エンド・ユーザが知覚する応答時間が増える。本発明の好ましい実施形態では、単一の接続セット・アップだけを確立する必要がある。その後、同一の接続を、複数の異なる宛先サーバとの通信に使用することができる。
【００１８】
本発明の好ましい実施形態を、例のみとして、添付図面を参照して説明する。
【発明を実施するための最良の形態】
【００１９】
まず図１を参照すると、データ処理システム８０の例に、中央処理装置（ＣＰＵ）１０、メモリ・サブシステム２０、ユーザ入力サブシステム３０、ユーザ出力サブシステム４０、およびネットワーク・インターフェース５０が含まれ、これらのすべてがバス・サブシステム６０によって相互接続される。動作中に、中央処理装置１０によって、メモリ・サブシステム２０に保管されたコンピュータ・プログラム命令コードが実行される。コンピュータ・プログラム・コードに、オペレーティング・システム・ソフトウェアおよび、オペレーティング・システム・ソフトウェアとあいまって実行されるアプリケーション・プログラム・ソフトウェアが含まれる。アプリケーション・プログラム・ソフトウェアによって、メモリ・サブシステム２０に保管されたデータが操作される。ユーザは、ユーザ入力サブシステム３０を介してアプリケーション・ソフトウェアの実行を制御することができる。アプリケーション・ソフトウェアおよびデータを、メモリ・サブシステム２０と外部ネットワーク７０の間で、ネットワーク・インターフェース５０を介して通信することができる。
【００２０】
図２を参照すると、モバイル・データ通信環境の例に、モバイル・データ通信ネットワーク１１０に接続されたモバイル・データ処理装置１００が含まれる。モバイル・ネットワーク１１０は、ゲートウェイ１２０を介して固定データ通信ネットワーク１３０に接続される。起点サーバ１４０が、固定ネットワーク１３０を介してゲートウェイ１２０に接続される。モバイル装置１００、ゲートウェイ１２０、および起点サーバ１４０のそれぞれに、図１に関して前に説明したデータ処理システム８０が含まれる。モバイル装置１００は、携帯電話機、携帯情報端末など、またはモバイル・センサなどの組込みシステムとすることができる。
【００２１】
モバイル装置１００、ゲートウェイ１２０、および起点サーバ１４０の間のデータ通信は、固定ネットワーク１３０およびモバイル・ネットワーク１１０を介し、モバイル装置１００、ゲートウェイ１２０、および起点サーバ１４０の中央処理装置１０によるコンピュータ・プログラム・コードの実行を介してもたらされる。図３を参照すると、前に言及したように、データ・トラフィックは、ソース・ノードから宛先へ、離散パケットまたはプロトコル・データ・ユニット（ＰＤＵ）２００で通信される。各ＰＤＵ２００に、ヘッダ部分２２０およびペイロード部分２１０が含まれる。ペイロード部分２１０によって、通信されるデータが搬送される。ヘッダ部分２２０によって、宛先へのＰＤＵ２００の通信をもたらす制御情報が搬送される。
【００２２】
図４を参照すると、データは、モバイル装置１００内のソース・アプリケーション・プログラム３００から、サーバ１４０内の宛先アプリケーション・プログラム３１０へ、国際標準化機構（ＩＳＯ）参照モデルに従って通信される。ＩＳＯ参照モデルでは、ソース・アプリケーション・プログラム３００と宛先アプリケーション・プログラム３１０の間の論理データ処理プロトコル層のスタックと、モバイル装置１００とサーバ１４０の間にあるネットワーク・インフラストラクチャが定義される。そのようなプロトコル・スタック３３０が、モバイル装置１００に常駐する。類似するプロトコル・スタック３２０が、サーバ１４０に常駐する。ソース・アプリケーション・プログラム３００から宛先アプリケーション・プログラム３１０に通信されるデータは、ＰＤＵ２００で、ソース・アプリケーション・プログラム３００からモバイル装置１００内のプロトコル・スタック３３０を介してネットワーク・インフラストラクチャに渡される。受信時に、ＰＤＵ２００が、ネットワーク・インフラストラクチャから宛先アプリケーション・プログラム３１０へ、サーバ１４０内のプロトコル・スタック３２０を介して渡される。
【００２３】
プロトコル・スタック３２０および３３０のそれぞれに、アプリケーション層３４０、プレゼンテーション層３５０、セッション層３６０、トランスポート層３７０、ネットワーク層３８０、リンク層３９０、および物理層４００が含まれる。アプリケーション層３４０によって、ファイル転送アクセスおよび管理などのある範囲のネットワーク全体の分散サービスへのユーザ・インターフェースならびに電子メールなどの一般メッセージ相互交換サービスが提供される。アプリケーション層３４０は、アプリケーション・プログラム３００とプレゼンテーション層３５０の間に配置される。プレゼンテーション層３５０によって、トランザクション中に使用される適当な転送構文が折衝され、選択され、その結果、２つのアプリケーション実体の間で交換されるメッセージの構文が維持される。プレゼンテーション層３５０は、アプリケーション層３４０とセッション層３６０の間に配置される。セッション層３６０を用いると、２つのアプリケーション層プロトコル実体が、たとえば実体の間で通信チャネルを確立し、クリアすることによって、データ交換を管理できるようになる。セッション層３６０は、プレゼンテーション層３５０とトランスポート層３７０の間に配置される。トランスポート層３７０は、基礎になるネットワーク・タイプと独立のメッセージ転送機能をセッション層３６０に提供することによって、上位のアプリケーション指向の層と下位のネットワーク指向の層の間のインターフェースとして働く。トランスポート層３７０は、セッション層３６０とネットワーク層３８０の間に配置される。セッション層３６０にメッセージ転送機能の事前定義の組を与えることによって、トランスポート層３７０によって、基礎となるネットワークの詳細な動作がセッション層３６０から隠蔽される。ネットワーク層３８０は、トランスポート層プロトコル実体の間でネットワーク接続を確立し、クリアする責任を負い、ネットワーク層３８０には、ネットワーク・ルーティングなどの機能性が含まれる。ネットワーク層３８０は、トランスポート層３７０とリンク層３９０の間に配置される。リンク層３９０は、ネットワークによって提供される物理接続の上で作られて、ネットワーク層３８０に、エラー訂正および伝送エラーの場合のメッセージ再送信などの情報転送機能が与えられる。リンク層３９０は、ネットワーク層３８０と物理層４００の間に配置される。物理層４００によって、ノードとネットワークの間の物理的インターフェースおよび電気的インターフェースが提供される。
【００２４】
図５を参照すると、ソース・プロトコル・スタック３３０の各層で、前の層からのデータおよび制御情報を含むＰＤＵが、現在の層からの制御情報によって増補される。ソース・アプリケーション・プログラム３００からのデータ５００が、アプリケーション層プロトコル制御情報を含むヘッダ部分５１０によって、アプリケーション層３４０で増補されて、アプリケーション層ＰＤＵ（ＡＰＤＵ）５７０が形成される。ＡＰＤＵ５７０が、プレゼンテーション層プロトコル制御情報を含むヘッダ部分５２０によって、プレゼンテーション層３５０で増補されて、プレゼンテーション層ＰＤＵ（ＰＰＤＵ）５８０が形成される。ＰＰＤＵ５８０が、セッション層プロトコル制御情報を含むヘッダ部分５３０によって、セッション層３６０で増補されて、セッション層ＰＤＵ（ＳＰＤＵ）５９０が形成される。ＳＰＤＵ５９０が、トランスポート層プロトコル制御情報を含むヘッダ部分５４０によって、トランスポート層３７０で増補されて、トランスポート層ＰＤＵ（ＴＰＤＵ）６００が形成される。ＴＰＤＵ６００が、ネットワーク層プロトコル制御情報を含むヘッダ部分５５０によって、ネットワーク層３８０で増補されて、ネットワーク層ＰＤＵ（ＮＰＤＵ）６１０が形成される。ＮＰＤＵ６１０が、リンク層プロトコル制御情報によって、リンク層３９０で増補されて、物理ネットワークを介するサーバ１４０への通信のための物理層ＰＤＵが形成される。ネットワークに送信されるＰＤＵを、時々、データグラムと称する。サーバ１４０では、データ５００が、回復され、宛先アプリケーション・プログラム３１０に供給されるまで、受信されたＰＤＵが、プロトコル・スタック３２０の層を介して渡される時に徐々に減る。
【００２５】
図２、４、および５の組合せに関して、ゲートウェイ１２０にも、モバイル装置およびサーバ１４０のプロトコル・スタックに類似するプロトコル・スタックが含まれる。しかし、ゲートウェイ・スタックは、説明を単純にするために、図４および５から省略した。
【００２６】
図２および３を参照すると、ソース・モバイル装置１００および宛先サーバ１４０の両方のアドレスが、モバイル装置１００からサーバ１４０に送信される各ＰＤＵに組み込まれる。モバイル装置１００のアプリケーション・プログラム３００では、サーバ１４０のアドレスが、形態においてシンボリックである。具体的に言うと、サーバ１４０のアドレスは、モバイル装置１００のアプリケーション・プログラム３００で、サーバ１４０の名前、たとえばwww.server.comとして表される。モバイル装置１００からサーバ１４０へのＰＤＵの通信をもたらすために、シンボリック・ネットワーク・アドレスが、アドレス解決機能によってバイナリ・ネットワーク層アドレスに変換される。通信環境のエンド・ツー・エンド・セキュリティは、シンボリック・アドレス情報などのプロトコル制御情報を、プロトコル・スタック３３０のネットワーク層３８０でデータグラムに組み込むことによって維持される。
【００２７】
図６を参照すると、ＮＰＤＵ６１０のヘッダ部分５５０に、可変長のオプション・フィールド５５１が含まれる。オプション・フィールド５５１は、ＮＰＤＵ６１０のヘッダ部分５５０に追加のパラメータ・データを置くのに使用される。図７を参照すると、本発明の好ましい実施形態では、シンボリック・アドレスなどの制御情報５５２が、各ＮＰＤＵ６１０のヘッダ部分５５０のオプション・フィールド５５１に組み込まれる。制御情報は、多数の異なる形でオプション・フィールド５５１に組み込むことができる。
【００２８】
たとえば、本発明の特に好ましい実施形態では、オプション・フィールド５５１で制御情報５５２を運ぶための新しいオプション・コードが定義される。制御情報は、ＮＰＤＵ６１０のヘッダ部分５５０が生成される時に、ソース・ネットワーク層３８０で新しいオプション・コードにコピーされる。新しいオプション・コードを知らない途中のルータは、新しいオプション・コードを含むデータグラムを、ソースから宛先に向かって変更せずに渡す。これは、制御情報２４０を、複数のルーティング・ホップにまたがって渡して、オプション・コードが検出され、アドレス解決が実行される、そのルートに沿った点に最終的に達することができるという長所を有する。
【００２９】
図２を参照すると、ゲートウェイ１２０のネットワーク層３８０は、モバイル装置１００から受信されたＮＰＤＵ６１０のオプション・フィールド５５１に含まれるシンボリック・アドレス情報５５２をインターセプトし、抽出することと、アドレス解決を実行するエージェントとして働くことを可能にされる。最初のおそらくは暗号化されたペイロード６００は、モバイル装置１００から最終宛先のサーバ１４０に渡される時に影響を受けないままになり、最終宛先のサーバ１４０は、アドレス解決が実行された後に限って識別することができる。したがって、エンド・ツー・エンド・セキュリティが達成される。本発明のもう１つの特に好ましい実施形態では、制御情報５５２が、ソース・ネットワーク層３８０で、オプション・フィールド５５１内の既存のオプション・コードにコピーされる。既存のオプション・コードは、中間のルータが、所期の宛先に達する前に制御情報５５２をインターセプトしないように選択され、構成される。図２に関して、ゲートウェイ１２０のネットワーク層３８０は、やはり、モバイル装置１００から受信されたＮＰＤＵ６１０のオプション・フィールド５５１に含まれるシンボリック・アドレス情報５５２をインターセプトし、抽出することと、アドレス解決を実行するエージェントとして働くことを可能にされる。最初のペイロード６００は、モバイル装置１００から最終宛先のサーバ１４０に渡される際に変更されないままになる。したがって、やはり、エンド・ツー・エンド・セキュリティが達成される。オプション・フィールドを有するＰＤＵの例が、ＴＣＰ／ＩＰのＰＤＵである。前に示したように、ＴＣＰ／ＩＰ環境では、ネットワーク層プロトコルがＩＰである。ＮＰＤＵ６１０のＩＰヘッダ５５０に、オプション・フィールド５５１が含まれる。ＩＰオプション・フィールドに含まれるように事前に割り当てられたオプション・コードに、「ルーズ・ソース・アンド・レコード・ルート（loose source and record route）」（ＬＳＲＲ）および「ストリクト・ソース・アンド・レコード・ルート（strictsource and record route）」（ＳＳＲＲ）オプション・コードなどのソース・ルーティング・オプション・コードが含まれる。ＬＳＲＲおよびＳＳＲＲの両方が、シンボリック・アドレス・データなどの制御情報を含めるための再定義に適する。ＳＳＲＲオプションが使用される時には、ＳＳＲＲオプションは、データグラムの起点とアドレス解決が行われる点の間に単一のホップだけが存在可能であることを示すようにセットされる。そうでなければ、ソース・ルーティングを実施する中間のルータによって、ＳＳＲＲオプション・フィールド内のシンボリック・アドレス情報が、誤って解釈され、潜在的に修正される。単一のホップは、ほとんどの実用的な配置で制限ではない。というのは、モバイル装置１００および固定ネットワーク１３０が、通常は、ゲートウェイ１２０での単一のアクセス・ホップによって分離されるからである。たとえば、図２を参照すると、モバイル装置１００は、モバイル・ネットワーク１１０から１アクセス・ホップだけゲートウェイ１２０から離されている。
【００３０】
図８を参照すると、本発明のもう１つの特に好ましい実施形態で、シンボリック・アドレス・データなどの制御情報５５２が、ネットワーク層トンネリングを介してデータグラムに組み込まれる。トンネリングは、あるプロトコル層のＰＤＵをオプションの追加情報と共に、別の、スタックの同一のまたは別の層のトンネリングＰＤＵ７００にカプセル化する技法である。トンネリングＰＤＵ７００は、最初のＰＤＵ６１０に類似するヘッダ７２０およびペイロード７１０を有する。制御情報５５２は、最初のＰＤＵ６１０と一緒に、トンネリングＰＤＵ７００のペイロード７１０に置かれる。トンネリングＰＤＵ７００を用いると、そうでなければアプリケーション・レベルの実施形態を介してＰＤＵ６１０が従うルートに沿って、ＮＰＤＵ６１０と共に制御情報５５２を転送できるようになる。これは、プロトコル・スタックの修正が不要になるという長所を有する。図２を参照すると、ゲートウェイ１２０のネットワーク層３８０は、モバイル装置１００からのトンネリングＰＤＵ７００で運ばれる制御情報２４０をインターセプトし、抽出することと、アドレス解決を実行するエージェントとして働くことを可能にされる。最初のＰＤＵ６１０は、モバイル装置１００から最終宛先のサーバ１４０に渡される際に、影響を受けないままになる。したがって、やはり、エンド・ツー・エンド・セキュリティが達成される。
【図面の簡単な説明】
【００３１】
【図１】データ処理システムの例を示すブロック図である。
【図２】モバイル・データ通信環境の例を示すブロック図である。
【図３】環境内の通信のデータグラムを示す単純化されたブロック図である。
【図４】ソース・ノードからネットワークを介する宛先への通信パスを示すブロック図である。
【図５】通信パスを示すもう１つのブロック図である。
【図６】環境内の通信からのデータグラムを示すもう１つのブロック図である。
【図７】環境内の通信からのデータグラムを示すもう１つのブロック図である。
【図８】トンネリング・データグラムを示すブロック図である。
【図１】
2004531157.tif 000003
【図２】
2004531157.tif 000004
【図３】
2004531157.tif 000005
【図４】
2004531157.tif 000006
【図５】
2004531157.tif 000007
【図６】
2004531157.tif 000008
【図７】
2004531157.tif 000009
【図８】
2004531157.tif 000010
【国際公開パンフレット】
2004531157.tif 000011
2004531157.tif 000012
2004531157.tif 000013
2004531157.tif 000014
2004531157.tif 000015
2004531157.tif 000016
2004531157.tif 000017
2004531157.tif 000018
2004531157.tif 000019
2004531157.tif 000020
2004531157.tif 000021
2004531157.tif 000022
2004531157.tif 000023
2004531157.tif 000024
2004531157.tif 000025
2004531157.tif 000026
2004531157.tif 000027
2004531157.tif 000028
2004531157.tif 000029
2004531157.tif 000030
2004531157.tif 000031
2004531157.tif 000032
2004531157.tif 000033
2004531157.tif 000034
2004531157.tif 000035
【手続補正書】
【提出日】平成15年6月20日(2003.6.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティング装置であって、プロセッサと、前記プロセッサに接続されたメモリと、前記メモリに保管され、前記プロセッサによって実行可能である、リモート・システムのシンボリック・ネットワーク・アドレスを含むシンボリック制御情報に基づいてネットワークを介して前記リモート・コンピュータ・システムに通信されるデータを生成するアプリケーション・プログラムと、前記メモリに保管され、前記プロセッサによって実行可能である、前記モバイル装置から前記リモート・システムへの前記データの通信をもたらす通信プロトコル・スタックであって、前記プロトコル・スタックが、前記アプリケーション・プログラムから前記データを受け取り、受け取られた前記データをアプリケーション層プロトコル・データ・ユニットに配置するアプリケーション層と、前記アプリケーション層プロトコル・データ・ユニットを前記アプリケーション層から受け取り、前記アプリケーション層プロトコル・データ・ユニットをネットワーク層プロトコル・データ・ユニットに配置し、前記シンボリック制御情報を、前記アプリケーション層プロトコル・データ・ユニットと別に前記ネットワーク層プロトコル・データ・ユニットのオプション・フィールドに配置し、前記リモート・システムへの送信のために前記ネットワーク層プロトコル・データ・ユニットを前記ネットワークに転送するネットワーク層とを有する、通信プロトコル・スタックとを有し、前記装置が、前記ネットワーク層によって前記制御情報を既存オプション・コードに書き込むことを特徴とする、コンピューティング装置。
【請求項２】
請求項１に記載のコンピューティング装置を含む携帯電話機。
【請求項３】
請求項１に記載のコンピューティング装置を含むサーバ・コンピュータ・システム。
【請求項４】
コンピュータ装置とリモート・コンピュータ・システムとの間でデータを通信する方法であって、コンピューティング装置内のアプリケーション・プログラムによって、前記リモート・システムのシンボリック・ネットワーク・アドレスを含むシンボリック制御情報に基づいてネットワークを介して前記リモート・システムに通信されるデータを生成することと、前記コンピューティング装置の通信プロトコル・スタックのアプリケーション層によって前記データを受け取ることと、前記アプリケーション層によって、アプリケーション層プロトコル・データ・ユニットに前記データを配置することと、前記アプリケーション層によって、前記アプリケーション層プロトコル・データ・ユニットを前記プロトコル・スタックのネットワーク層に転送することと、前記ネットワーク層で、前記アプリケーション層プロトコル・データ・ユニットを前記アプリケーション層から受け取ることと、前記ネットワーク層によって、前記アプリケーション層プロトコル・データ・ユニットをネットワーク層プロトコル・データ・ユニットに配置することと、前記ネットワーク層によって、前記アプリケーション層プロトコル・データ・ユニットと別に前記ネットワーク層プロトコル・データ・ユニットのオプション・フィールドに前記シンボリック制御情報を配置することと、前記リモート・システムへの送信のために、前記ネットワーク層によって、前記ネットワーク層プロトコル・データ・ユニットを前記ネットワークに転送することとを含み、前記方法が、前記ネットワーク層によって前記制御情報を既存オプション・コードに書き込むことを特徴とする、方法。
【請求項５】
コンピュータ・システムのプロセッサにロードされた時に、請求項４に記載の方法を実行するように前記プロセッサを構成するコンピュータ・プログラム・コード手段を含む、コンピュータプログラム要素。
【国際調査報告】
2004531157.tif 000036
2004531157.tif 000037