(57)【要約】本発明は、第１の通信ネットワーク（Ａ１）を介して通信する第１の移動ユニット（１）と第２の通信ネットワーク（Ａ２）を介して通信する第２のユニット（２）との間の通信を維持する方法、コンピュータプログラム製品、およびコンピュータ読み取り可能媒体に関する。第１のユニット（１）は、第１のプロトコルスタック（１２）を含み、第２のユニット（２）は、第２のプロトコルスタック（２２）を含む。第１のユニット（１）は、第１のプロトコルスタック（１２）と第１のユニット（１）内で動作する第１のソフトウェアコンポーネント（１５）との間のインタフェースとして機能するように適合している第１のセッションレイヤ（１１）を含む。同様にして、第２のユニット（２）は、第２のプロトコルスタック（２２）と第２のユニット（１）内で動作する第２のソフトウェアコンポーネント（２５）との間のインタフェースとして機能するように適合している第２のセッションレイヤ（２１）を含む。第１のユニット（１）は、異なる通信ネットワーク（Ａ１、Ａ２、Ａ３、Ａ４）に適合した駆動ルーチン（１２ａ、１２ｂ、１２ｃ、１２ｄ）に関連した１つまたは２つ以上の第１の通信ハードウェア（１３ａ、１３ｂ、１３ｃ、１３ｄ）を含む。第１のユニット（１）が、第１の通信ネットワーク（Ａ１）から第３の通信ネットワーク（Ａ３）への切り換え（Ａ１−３）を行う場合、第１のセッションレイヤ（１１）は、第３の通信ネットワーク（Ａ３）に必要とされる第１の通信ハードウェア（１３ｂ）および駆動ルーチン（１４ｂ）を選択することにより、通信を維持するように機能する。第１および第２のユニット（１、２）のそれぞれの識別情報は、第１および第２のセッションレイヤ（１１、２１）によって保持され、これら識別情報は、第１のユニット（１）による通信ネットワークの切り換え中、維持される。
2004527928.tif 000002
【特許請求の範囲】
【請求項１】
第１のユニットと第２のユニットとの間の通信を維持する方法であり、前記第１のユニットが、地理的に移動可能なユニットであり、前記第１のユニットが、第１の通信ネットワークを介した通信に使用される第１の通信ハードウェア及び１つまたは２つ以上の第１のソフトウェアコンポーネントとの間で動作するように適応した第１のプロトコルスタックを含み、前記第２のユニットが、第２の通信ネットワークを介した通信に使用される第２の通信ハードウェア及び１つまたは２つ以上の第２のソフトウェアコンポーネントとの間で動作するように適応した第２のプロトコルスタックを含む、方法であって、
前記第１のユニットは、前記第１のプロトコルスタックと前記第１のソフトウェアコンポーネントとの間のインタフェースとして動作するように適応している第１のセッションレイヤを含むこと、
前記第２のユニットは、前記第２のプロトコルスタックと前記第２のソフトウェアコンポーネントとの間のインタフェースとして動作するように適応している第２のセッションレイヤを含むこと、
前記第１のセッションレイヤは、前記第２のユニットおよび当該第２のユニットに属するソフトウェアコンポーネント用の第１の識別情報を示すこと、
前記第２のセッションレイヤは、前記第１のユニットおよび当該第１のユニットに属するソフトウェアコンポーネント用の第２の識別情報を示すこと、
前記第１および前記第２のセッションレイヤは、それらの間で、前記第１のソフトウェアコンポーネントのそれぞれのソケットに属するトラフィックが、それぞれのソフトウェアコンポーネントに向けられた、前記第２のソフトウェアコンポーネントのユニークなソケットに属するトラフィックによって対応付けられることを保証し、その逆も同様であること、
前記第１のユニットは、異なる通信ネットワークに適応した駆動ルーチンと関連する１つまたは２つ以上の第１の通信ハードウェアを含むこと、
前記第１のユニットが、前記第１の通信ネットワークから第３の通信ネットワークへの切り換えを行う場合には、前記第１のセッションレイヤは、前記第３の通信ネットワークに必要な第１の通信ハードウェアおよび駆動ルーチンを選択することにより、前記通信を維持するように機能すること、
前記識別情報は、通信ネットワークの切り換え中、前記第１のユニット側に保持されること
を特徴とする方法。
【請求項２】
前記第１のセッションレイヤは、通信ネットワークの変更がいつ必要であるかを判断するように適応していること、
前記第１のセッションレイヤは、前記第２のユニットとの通信を維持している間、前記通信ネットワークの切り換え手順を制御すること
を特徴とする請求項１に記載の方法。
【請求項３】
前記第１のセッションレイヤは、継続的または周期的のいずれかで、前記通信ハードウェアに属する前記駆動ルーチンと通信し、これにより、異なる通信ネットワークの信号強度、ネットワーク可用性、および必要な通信ハードウェアの可用性といった能力および特性に関する情報を読み取ることを特徴とする請求項２に記載の方法。
【請求項４】
前記第１および前記第２のセッションレイヤは、前記第１の通信ネットワークの別のネットワークへの切り換えと共に、前記第１のユニットと前記第２のユニットとの間のデータストリームの同期をとるように適合していることを特徴とする請求項２または３に記載の方法。
【請求項５】
前記第１の通信ネットワークが、切り換えプロセスの全体にわたって利用可能である場合において、
前記第１のセッションレイヤは、前記第１のユニットが通信ネットワークの切り換えプロセスにあることを、前記第１の通信ネットワークを介して前記第２のセッションレイヤに通知すること、
次に、前記第２のセッションレイヤは、前記第１の通信ネットワークを介したその後の通信が停止されることを、前記第１の通信ネットワークを介して前記第１のセッションレイヤに通知すること、
次に、前記第２のセッションレイヤは、前記第１の通信ネットワークを介したデータの送信を中断すること、
次に、前記第１のセッションレイヤは、前記第３の通信ネットワークを介して通信を開始すること、
次に、前記第２のセッションレイヤは、前記第３の通信ネットワークを介して前記第１のセッションレイヤとの通信を再開すること
を特徴とする請求項４に記載の方法。
【請求項６】
前記第１の通信ネットワークが、ある理由により利用不能であるか、または請求項５によるネットワークの切り換え中に利用不能となる場合において、
前記第１のセッションレイヤは、当該第１のセッションレイヤが前記第２のセッションレイヤからどのデータを受信したかについて、前記第３の通信ネットワークを介して前記第２のセッションレイヤに通知すること、
次に、前記第２のセッションレイヤは、当該第２のセッションレイヤが前記第１のセッションレイヤから受信したデータを前記第１のセッションレイヤに通知すること、
次に、前記第１および第２のセッションレイヤは、受信機によって前に受信されなかったデータの送信を、前記第３の通信ネットワークを介して開始すること
を特徴とする請求項４に記載の方法。
【請求項７】
前記第１のセッションレイヤは、前記ネットワークの切り換えと共に、前記第３の通信ネットワーク上に新たなトランスポートセッションを確立することを特徴とする請求項５または６に記載の方法。
【請求項８】
前記セッションレイヤは、それぞれのソケット用のトランスポートセッション、または１つだけもしくは複数のトランスポートセッションを保持することを特徴とする請求項７に記載の方法。
【請求項９】
第１のトランスポートセッションが、ストリームベースの通信を使用するすべてのソケットに対して保持され、かつ例えばＴＣＰに基づいていること、
第２のトランスポートセッションが、データグラムベースの通信を使用するすべてのソケットに対して保持され、かつ例えばＵＤＰの基づいていること、
を特徴とする請求項８に記載の方法。
【請求項１０】
前記第１のセッションレイヤは、第１のセキュリティレイヤを含むこと、
前記第２のセッションレイヤは、第２のセキュリティレイヤを含むこと、
を特徴とする請求項１ないし９のいずれか１項に記載の方法。
【請求項１１】
前記第１および第２のセキュリティレイヤは、ＷＴＬＳに基づいていること、
前記識別情報は、ＷＴＬＳセッション識別情報であること、
を特徴とする請求項１０に記載の方法。
【請求項１２】
前記第１および第２のセキュリティレイヤは、前記第１のユニットと前記第２のユニットとの間に、暗号化され、かつ認証された接続を提供すること、
前記第１および第２のセキュリティレイヤは、ある通信ネットワークから別の通信ネットワークへの切り換えに続いて、前記セキュリティ接続を再確立すること、
を特徴とする請求項１０に記載の方法。
【請求項１３】
前記再確立は、完全ハンドシェイクによって実行されることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記再確立は、ＷＴＬＳセッションレジュームによって実行されることを特徴とする請求項１１または１２に記載の方法。
【請求項１５】
前記第１のユニットは、複数の第２のユニットと同時に通信することを特徴とする先行の請求項のいずれか１項に記載の方法。
【請求項１６】
前記第２のユニットも、地理的に移動可能なユニットからなること、
前記第２のユニットおよび前記第２のセッションレイヤは、前記第１のユニットおよび前記第１のセッションレイヤとすべての特徴において同様であること、
を特徴とする先行の請求項のいずれか１項に記載の方法。
【請求項１７】
前記第１および前記第２のユニットの双方が、通信ネットワークの切り替えを開始する場合であって、該ネットワーク間の切り換えをほぼ同時に開始した相手方からメッセージを受信する前に、請求項５によるメッセージシーケンスにより該通信ネットワークの切り換えを開始する場合に、共通規則が、いずれのメッセージシーケンスが続行されるべきかを判断する、例えば通信セッションを最初に生成したユニットによって開始されたメッセージシーケンスが続行され、他方のメッセージシーケンスが停止されることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記第１のユニットは、請求項６によってネットワークの切り換えを実行すること、
前記第１のユニットは、前記通信ネットワークの切り換えと共に、その新しいＩＰアドレスを第３のユニットに通知すること、
前記第２のユニットは、前記新しいＩＰアドレスを前記第３のユニットから取得できること、
を特徴とする請求項１７に記載の方法。
【請求項１９】
前記第３のユニットは、ＳＩＰレジスタサーバであることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記第３のユニットは、Ｍｏｂｉｌｅ−ＩＰのホームエージェントであることを特徴とする請求項１８に記載の方法。
【請求項２１】
前記第２のユニットも、請求項６によってネットワークの切り換えを実行すること、
前記第２のユニットも、前記通信ネットワークの切り換えの実行と共に、その新しいＩＰアドレスを前記第３のユニットに通知すること、
前記第１のユニットは、前記新しいＩＰアドレスを前記第３のユニットから取得できること、
を特徴とする請求項１８に記載の方法。
【請求項２２】
コンピュータユニットによって実行される場合に、請求項１ないし２１のいずれか１項による第１のセッションレイヤの機能を実行するコンピュータプログラムコードを含むことを特徴とする第１のコンピュータプログラム製品。
【請求項２３】
コンピュータユニットによって実行される場合に、請求項１ないし２１のいずれか１項による第２のセッションレイヤの機能を実行するコンピュータプログラムコードを含むことを特徴とする第２のコンピュータプログラム製品。
【請求項２４】
請求項２２および２３のいずれか１項によるコンピュータプログラムコードを記憶していることを特徴とするコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[発明の分野]
本発明は、異種通信ネットワーク間のハンドオーバまたはローミングの方法、コンピュータプログラム製品、およびコンピュータ読み取り可能媒体に関する。
【０００２】
[従来技術の説明]
ＧＳＭ基地局間といった同種ネットワーク間のハンドオーバ技法およびローミング技法は、長く使用されてきた。ＩＰＳｅｃと組み合わされたＭｏｂｉｌｅ−ＩＰといった技術も、ＩＰプロトコルに基づくネットワーク間のローミング用に考案されてきた。この技術は、無線ＬＡＮといった、同種のネットワーク特性を有するＩＰネットワークにおいてうまく機能する。このタイプの解決法は、帯域幅、損失率またはラウンドトリップ時間に関して大幅に異なるネットワーク特性を有する異種ネットワーク間のハンドオーバと組み合わされると問題になり得ることも知られている。
【０００３】
この明細書の説明および併記特許請求項では、簡単にするために、多数の頭文字および略語が使用される。これら頭文字は、当業者には慣例的なものであるとはいえ、それらの意味に関する説明を以下に記載する。
【０００４】
ＩＰ−インターネットプロトコル（Internet Protocol）。ＴＣＰ−送信制御プロトコル（Transmission Control Protocol）。ＵＤＰ−ユーザデータグラムプロトコル（User Datagram Protocol）。ＡＰＩ−アプリケーションプログラミングインタフェース（Application Programming Interface）。ＳＰＩ−サービスプロバイダインタフェース（Service Provider Interface）。ＬＡＮ−ローカルエリアネットワーク（Local Area Network）。ＤＮＳ−ドメインネームシステム（Domain Name System）。ＲＯＭ−読み出し専用メモリ（Read Only Memory）。ＷＴＬＳ−無線トランスポートレイヤセキュリティ（Wireless Transport Layer Security）。ＳＩＰ−セッション開始プロトコル（Session Initiation Protocol）。ＮＡＴ−ネットワークアドレス変換（Network Address Translation）。
【０００５】
明細書の説明および併記特許請求項は、いくつかの技術用語も含む。その定義も以下に記載する。
【０００６】
エンドツーエンドセキュリティ：２つのソフトウェアプロセス間の暗号化され、かつ認証されたトンネル。このトンネルでは、暗号化および認証が、トラフィックの傍受および改ざんできる者が、暗号化された情報を読めないようになっているか、または暗号化された情報を受信機によって検出されることなく変更できないようになっている。また、このトンネルでは、通信が、上記２つのソフトウェアプロセス用に意図され、かつ上記２つのソフトウェアプロセスによって解釈される。
【０００７】
セッションレイヤ：トランスポートプロセスレイヤのすぐ上で動作するプロトコルレイヤ。
【０００８】
ソケット：ソケットＡＰＩのソケットハンドルによって表される通信用のターミナルポイント。
【０００９】
ハンドオーバ：同じネットワークまたは異なるネットワーク上の２つの異なる通信リンク間の交換。
【００１０】
ローミング：地理的に分離された２つの異なる通信ネットワーク間の交換。
【００１１】
[本発明の概要]
技術的課題
少なくとも第１のユニットが地理的に移動可能である当該第１のユニットと第２のユニットとの間のデータ通信に関して、多くの課題が提起されている。通常、通信ネットワークは、第１のユニットが移動可能であることを第２のユニットに見えないようにする必要がある。通信ネットワークは、通信ネットワークによって提供される通信技術の使用に適合するように固定され、また、ネットワーク事業者の使用に適合するように固定されている可能性もある。
【００１２】
第１のユニットのソフトウェアも、常に、当該第１のユニットが移動可能であることを考慮するようになっているとは限らない。これは、第１のユニットの通信ハードウェアが、当該第１のユニットが移動可能であることを考慮するようになっていなければならないことを意味する。これにより、第１のユニットのハードウェアによってサポートされる通信技術に、固定される結果が生じる。
【００１３】
第１のユニットと第２のユニットとの通信がＩＰプロトコルを使用する場合、第２のユニットは、第１のユニットのＩＰアドレスを用いて、第２のユニットから第１のユニットへのメッセージのアドレス指定を行う。第１のユニットが、複数の異なる通信リンクを介して第２のユニットと通信可能である場合には、第１のユニットは、それぞれの通信リンクに対して少なくとも１つの別個のＩＰアドレスを有するであろう。第１のユニットが、今、第１の使用されていた通信リンクが利用不能となるように移動すると、第２のユニットは、第１のユニットへの新しい第２の通信リンクを使用するように強いられる。これは、第２の通信リンクに属する第１のユニットのＩＰアドレスへメッセージをアドレス指定することにより行われる。しかしながら、ここで、第２のユニットが、第１のユニットが通信リンクを切り換えたことに気づき、現在使用されるであろう新しいＩＰアドレスを知ることには問題が多い。
【００１４】
ＴＣＰプロトコルがＩＰプロトコルの上で使用され、第２の通信リンクが第１の通信リンクに対して異なるネットワーク特性、例えば異なる帯域幅または異なるラウンドトリップ時間を有する場合、ＴＣＰプロトコルが第２のネットワークの特性に適合するには多くの時間を要する可能性がある。この切り換えに続いて、いわゆるカーンのアルゴリズム（Karn's algorithm）は、ＴＣＰが、平均ラウンドトリップ時間およびその標準偏差の推定を更新することを困難にする。ＴＣＰプロトコルの自己適合に要する時間の間、多くの不要な再送または不必要に延長された中断が発生しやすい。
【００１５】
第２のユニットが企業のサーバであり、第１のユニットがある通信リンクから別の通信リンクに切り換える場合に、セキュリティの問題が発生し得る。通常、使用される通信リンクには、第１のユニットの認証が結合している。第１のユニットが第１の通信リンクから第２の通信リンクに切り換わる場合に、第１のユニットは、当該第２の通信リンク上でさらに別の認証を確立する必要がある。
【００１６】
セキュリティプロトコルの使用に伴い、データは、通常、リンクレイヤに到達する前に暗号化される。これは、リンクレイヤで行われる圧縮機能が効果を持たないことを意味し、その上、通信リンク上をより多くのデータを搬送する必要があることを意味する。
【００１７】
同種ネットワークの通信リンク間のハンドオーバおよびローミング用のシステムを作成する方法は、従来技術に長く知られている。ＧＳＭシステムでは、ハンドオーバおよびローミングが、ＧＳＭ通信に正確に適合した特別なリンクレイヤ上で実行される。ＧＳＭ上でのデータ通信は、回線交換式のＧＳＭ接続を介して、またはＧＰＲＳ技術を介してのいずれかで行うことができる。他の移動電話通信システムは、同様にして機能する。
【００１８】
ハンドオーバに適合したリンクレイヤによって、基地局間でのハンドオーバの実行が可能になると共に、ある事業者によって運営されるネットワーク内での通信リンクの切り換えが可能になる。また、異なる事業者に属するネットワーク間でのローミングには、電話接続を解放し、その後再び確立する必要があるものの、ＧＳＭは、このローミングの可能性も提供する。個々の事業者に属するネットワークでのハンドオーバがリンクレイヤで行われるという事実により、ハンドオーバは、任意の可能なＩＰレイヤから隠蔽されるであろう。これは、上述したＩＰに関連した問題のいくつかを解決する。しかしながら、この解決法の本質は、例えば、異なるタイプのリンクレイヤを有する異種ネットワーク上でそれが転送されることを防止することである。
【００１９】
いくつかの異なる電話通信システム用のハードウェアおよびソフトウェアを含む特別な電話は、異なるタイプの移動電話通信ネットワーク間でのローミングの実行を可能にするが、この場合でさえも、呼の間でのローミングだけが可能である。
【００２０】
移動電話通信システムに基づく解決法におけるセキュリティは、通常、移動リンク上のトラフィックの暗号化に基づいている。この暗号化は、原則として、任意の強度にすることができるが、今日のシステムでは弱いことが多い。例えば、ＧＳＭの暗号化は、アルゴリズムＡ５に基づいているが、このアルゴリズムは、基本的に実時間で破ることができる。しなしながら、リンクベースの暗号化に関連する本質的な問題は、暗号化が、第１のユニットと第２のユニットとの間の経路全体、いわゆるエンドツーエンドに使用されないということである。これにより、別のコンピュータユニットが、トラフィックを傍受したり、メッセージに変更を行ったり、あるいは第１のユニットのＩＰアドレスを使用する、いわゆるＩＰスプーフィングを行ったりすることが可能となる。
【００２１】
ＩＰベースの異なる通信リンク間での移動用に、Ｍｏｂｉｌｅ−ＩＰ型のプロトコルを使用することも知られている。Ｍｏｂｉｌｅ−ＩＰは、第１のユニットおよびホームエージェントと呼ばれる第１のサーバ内の特殊なソフトウェアに基づいている。ネットワークには、外部エージェントと呼ばれる第２のサーバが必要とされる場合もある。外部エージェントが使用される場合、通常、１つの通信リンクにつき１つの外部エージェントが必要となる。Ｍｏｂｉｌｅ−ＩＰは、第１のユニットの実際のＩＰアドレスを隠蔽し、かつ第１のサーバに属する第２のＩＰアドレスを当該ユニットに割り当てることにより、ＩＰアドレスに関連した問題を解決する。第１のサーバは、第２のＩＰアドレスで受信したすべての通信を、第１のユニットによって使用されるＩＰアドレスに直ちに転送する。これは、上述したＩＰアドレスに関連した問題を解決する。しかしながら、ＴＣＰプロトコルに関連した問題は、解決されない。さらに、Ｍｏｂｉｌｅ−ＩＰは、それぞれのＩＰパケットにさらに別のデータを追加する結果、性能が劣化する。Ｍｏｂｉｌｅ−ＩＰは、いわゆる三角ルーティング（triangular routing）の結果として、通信にさらに別の遅延も導入する。これらの遅延は、第１のユニットおよび第２のユニットの双方が移動可能である場合には、より長い持続時間となる。双方向音声通信といったアプリケーションによっては、これらの遅延が、アプリケーションの質をひどく悪化させやすいものもある。
【００２２】
プロトコルＩＰ−Ｓｅｃは、セキュリティに関連した問題を解決しようとする場合に、Ｍｏｂｉｌｅ−ＩＰと共に使用されることが多い。ＩＰ−Ｓｅｃは、通常、Ｍｏｂｉｌｅ−ＩＰよりも上位のレベルで使用される。これにより、暗号化された情報が、復号化されることなく、第１のサーバを通過することができ、また、第１のユニットが通信リンクを切り換える時に、新しいＩＰ−Ｓｅｃ接続を確立する必要が未然に回避される。第１のユニットおよび第２のユニットは、証明書の利用することにより、安全な方法で相互認証を行うこともできる。しかしながら、ＩＰ−Ｓｅｃレイヤは、リンクレイヤよりも上位で動作し、このことは、リンクレイヤベースの圧縮が機能しないことを意味する。ＩＰ−Ｓｅｃレイヤでの圧縮は可能であるが、ＩＰのパケット交換の特質からして、状態依存圧縮アルゴリズムを使用することは困難であるか、または不可能である。これは、圧縮の効果を大きく削減する。さらに、ＩＰ−Ｓｅｃは、それぞれのＩＰパケットと共に、余分なデータの送信を必要とする。全体として、これは、かなり性能を悪化させる結果となる。
【００２３】
ＩＰ−ＳｅｃおよびＭｏｂｉｌｅ−ＩＰの双方の変形を包含するＩＰプロトコルの新しいバージョンであるＩＰバージョン６が提案されている。移動通信に関連したＩＰバージョン６に伴う１つの問題は、個々のメッセージのヘッダサイズが、ＩＰプロトコルの初期バージョンのヘッダサイズよりも大きいということである。この結果、有効帯域幅が小さくなり、遅延が長くなる。さらに、ＩＰバージョン６では、すべての既存の経路を置き換えるか、またはアップグレードする必要がある。
【００２４】
ＴＣＰに関連した問題を解決する努力には、ＴＣＰプロトコルに対するさまざまな変更が提案されてきた。提案された選択肢には、既存のＴＣＰプロトコルを完全に新しいプロトコルと置き換えることを伴うものがある。しかしながら、これらの技法の利用を可能にするには、一般に、第１のユニットおよび第２のユニットの双方を変更する必要がある。これらの提案の全般的な特徴として、提案のすべてが、ＴＣＰ標準に変更を加えることを必要とする。中には、実行に移し、既存のコンピュータシステムで実施するのに非常の長い時間を要するであろうものもある。
【００２５】
Ｐｏｃｋｅｔ  ＰＣベースのコンピュータといった所定のタイプのユニットにおける所定のソフトウェアコンポーネントの交換は、当該コンポーネントがＲＯＭに置かれていることから、非常に複雑である。これは、Ｍｏｂｉｌｅ−ＩＰソフトウェアのインストールを行うことになり、このＭｏｂｉｌｅ−ＩＰソフトウェアは、実行するのが難しいＴＰＣ／ＩＰスタック内またはスタック下で実行されることとなる。
【００２６】
また、インターネットに配置され、第１のユニットのＴＣＰ接続を確立するプロキシを利用する解決法も提案されている。しかしながら、ＩＰ−Ｓｅｃプロトコルが、ＴＣＰプロトコルのシグナリングに関連したデータを暗号化するので、プロキシベースの解決法は、ＩＰ−Ｓｅｃプロトコルを終端することなしに機能することができない。
【００２７】
解決法
上述した問題を解決する本発明によると、第１のユニットが、第１のセッションレイヤ、第１のプロトコルスタック、１つまたは２つ以上のハードウェアを含む方法が、本発明によって提案される。第１のセッションレイヤは、第１のセキュリティレイヤを含む。第２のユニットは、第２の通信ハードウェア、当該第２の通信に属する１つまたは２つ以上の駆動ルーチン、第２のセッションレイヤ、第２のプロトコルスタック、および１つまたは２つ以上の第２の通信ハードウェアを含む。第２のセッションレイヤは、第２のセキュリティレイヤを含む。複数の通信ネットワークのそれぞれは、第１のユニットが、上記それぞれの通信ネットワークに属する地理的エリア内で、第１の通信ハードウェアの１つによって、第２のユニットに属する通信ハードウェアの１つにメッセージを送信すること、および第２のユニットに属する通信ハードウェアの１つからメッセージを受信することを可能にする。
【００２８】
第１のセッションレイヤには、ソケットＡＰＩに基づく複数の既存の第１のソフトウェアコンポーネントが使用することができる第１のインタフェースが提供される。第１のユニットが、Ｗｉｎｄｏｗｓベースである場合には、第１のインタフェースは、例えば、Ｌａｙｅｒｅｄ  Ｓｅｒｖｉｃｅ  ＰｒｏｖｉｄｅｒまたはＢａｓｅ  Ｔｒａｎｓｐｏｒｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒを備えたＷｉｎＳｏｃｋ  ＳＰＩに基づくものとすることができる。第１のユニットが、ＰａｌｍＯＳベースのものである場合には、第１のインタフェースは、ＰａｌｍＯＳのｎｅｔｌｉｂコンポーネントに基づくものと同じものとすることができる。また、第１のインタフェースは、プロキシインタフェースとすることもできる。プロキシインタフェースには、予め選択された所定のＴＣＰポートで通信をリスンし、予め選択された所定のＵＤＰポートで、第１のユニットにローカルなＩＰアドレスのデータを受信する機能が割り当てられる。
【００２９】
第１のインタフェースが、プロキシインタフェースである場合には、第１のユニットは、ＤＮＳサーバを含むことができる。ＤＮＳサーバは、予め選択された所定のホスト名に属するＩＰアドレスに関連した第１のソフトウェアコンポーネントからのＤＮＳクエリーに応答して、正確なＩＰアドレスの代わりにローカルＩＰアドレスを返す。その結果、選択された通信は、第１のセッションレイヤを通過するであろう。第１のセッションレイヤは、上記通信に属するデータが受信されたポート、使用されたローカルＩＰアドレス、および／またはＤＮＳ参照が最後に行われた対象のホスト名を用いて、上記通信のあて先を決定することができる。
【００３０】
第２のセッションレイヤには、ソケットＡＰＩに基づく複数の既存の第２のソフトウェアコンポーネントが使用することができる第２のインタフェースが提供される。第２のユニットが、Ｗｉｎｄｏｗｓベースである場合には、第２のインタフェースは、例えば、Ｌａｙｅｒｅｄ  Ｓｅｒｖｉｃｅ  ＰｒｏｖｉｄｅｒまたはＢａｓｅ  Ｔｒａｎｓｐｏｒｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒを備えたＷｉｎＳｏｃｋ  ＳＰＩに基づくものとすることができる。第２のインタフェースは、ＴＣＰプロトコルに基づくものとすることもできるし、ＵＤＰプロトコルに基づくものとすることもできる。
【００３１】
第１および第２のセッションレイヤには、第２のソフトウェアコンポーネント用に意図され、かつ第２のソフトウェアコンポーネントの１つのユニークなソケットに属するトラフィックによって、第１のソフトウェアコンポーネントのそれぞれにおけるそれぞれのソケットに属するトラフィックが対応付けられることを保証するタスクが割り当てられる。また、その逆もしかりである。
【００３２】
第１のユニットは、第１の通信ネットワークを介して接続され、第２のユニットは、第２の通信ネットワークを介して接続される。第１のセッションレイヤは、必要な場合には、第１の通信ネットワークから第３の通信ネットワークに切り換える機能を有する。
【００３３】
また、第１のセッションレイヤには、通信ネットワーク間の切り換えをいつ行うべきかを判断するタスクも割り当てられる。このネットワークの切り換えは、使用されている通信ネットワークがもはや利用可能でなくなる場合に行うことができ、また、他の理由によっても行うことができる。他の理由としては、例えば、使用されている通信ネットワーク以外の通信ネットワークが、通信により適しているとみなされる場合、またはさまざまな通信ネットワークの使用コストに基づく基準が満たされる場合がある。例えば、現在の通信が、時間に基づく課金制を有する回線交換接続上で行われており、かつ情報が、ある特定の時間の間、回線交換接続上を送信されなかった場合に、切り換えを行うことができる。その場合、送信データ量に基づく課金制を有するパケット交換接続に切り換える方が有利であるかもしれない。
【００３４】
どの通信ネットワークが利用可能であるかを判断することを可能にするために、第１のセッションレイヤは、第１の通信ハードウェアに属する駆動ルーチンと通信し、信号強度、ネットワーク可用性、および必要なハードウェアの可用性といった通信ネットワークの能力および特性の判断に関与し得る情報を読み出すことができる。
【００３５】
また、第１および第２のセッションレイヤには、２つの通信ネットワーク間の切り換えと共に、第１のユニットと第２のユニットとの間のデータフローの同期をとるタスクも割り当てられる。これは、切り換えが上記２つの通信ネットワーク間でどのようにして行われるかに応じて、２つの異なる方法で行うことができる。新たな第３の通信ネットワークへの切り換えが行われる時に、使用されている第１の通信ネットワークが、まだ利用可能である場合には、第１のセッションレイヤは、第１のユニットがネットワークをまさに切り換えようとしていることを第２のセッションレイヤに第１の通信ネットワークを介して通知することができる。次に、第２のセッションレイヤは、第１の通信ネットワーク上へのデータの送信を中止し、自身が第３の通信ネットワーク上へのその後の通信の待ち状態にあることを第１のセッションレイヤに通知する。一方、第１のユニットは、第３の通信ネットワークを介して通信を開始することができる。第２のセッションレイヤが、第３の通信ネットワーク上で第１のユニットからの通信を受信すると、第２のセッションレイヤは、第３の通信ネットワークを介した第１のセッションレイヤとの通信を再開することができる。通信ネットワーク間のこの切り換えは、以下では、ソフトハンドオーバと呼ばれる。
【００３６】
通信ネットワークを切り換えるもう１つの方法には、第３の通信ネットワークへの切り換えが行われる時に、第１の通信ネットワークがもはや利用可能でないか、または第１の通信ネットワークが、ソフトハンドオーバ中に利用不能となるという条件が必要とされる。この場合、第１のセッションレイヤは、第２のセッションレイヤから第１のセッションレイヤにより受信されたデータを、第３の通信ネットワークを介して第２のセッションレイヤに通知することができる。次に、第２のセッションレイヤは、第１のセッションレイヤから第２のセッションレイヤにより受信されたデータを、第１のセッションレイヤに通知する。次に、第１および第２のセッションレイヤは、その受信機によって受信されなかったデータの送信を開始する。通信ネットワークのこのような切り換えは、以下の説明では、ハードハンドオーバと呼ばれる。ソフトハンドオーバおよびハードハンドオーバのそれぞれに関する上述したメッセージシーケンスは、以下の説明では、ハンドオーバ手順と呼ばれる。
【００３７】
第１のセッションレイヤには、上に重なるプロトコルレイヤまたはアプリケーションに対して第２のユニット用の第１の識別情報を提示するタスクも割り当てられる。第２のセッションレイヤには、上に重なるプロトコルレイヤまたはアプリケーションに対して第１のユニット用の第２の識別情報を提示するタスクが割り当てられる。これらの識別情報は、通信ネットワーク間の切り換え時に変更されることはない。第１および第２のセキュリティレイヤが、ＷＴＬＳに基づいている場合には、識別情報は、ＷＴＬＳセッション識別情報とすることができる。
【００３８】
第１のセッションレイヤには、第３の通信ネットワークへの切り換えと共に、第３の通信ネットワーク上での新たなトランスポートセッションを確立するタスクが割り当てられる。セッションレイヤは、１つのソケットにつき１つのトランスポートセッション、または１つのみもしくは数個のトランスポートセッションを保持することができる。ストリームベースの通信を使用するすべてのソケット用の第１のトランスポートセッション、およびデータグラムベースの通信を使用するすべてのソケット用の第２のトランスポートセッションを持つことができる。第１のトランスポートセッションは、ＴＣＰに基づくものとすることができ、第２のトランスポートセッションは、ＵＤＰに基づくものとすることができる。
【００３９】
また、第１および第２のセッションレイヤには、第１および第２のセキュリティレイヤを通じて上記トラフィックを送信する前に、または送信と共に、のいずれかにおいて、ソフトウェアコンポーネントからのトラフィックを圧縮し、かつ第１および第２のセキュリティレイヤを介して受信されたトラフィックを伸張するタスクも割り当てられる。
【００４０】
その必要に応じて、セキュリティレイヤには、第１のユニットと第２のユニットとの間の暗号化され、認証された接続を提供するタスクを割り当てることができる。第１のセッションレイヤは、第１の識別情報を、第１のセキュリティレイヤと第２のセキュリティレイヤとの間のそれぞれの安全な接続と関連付ける。第２のセッションレイヤは、第２の識別情報を、第１のセキュリティレイヤと第２のセキュリティレイヤとの間のそれぞれの安全な接続と関連付ける。また、第１のセッションレイヤおよび第２のセッションレイヤは、ユニークなセッションを、第１のセキュリティレイヤと第２のセキュリティレイヤとの間のそれぞれの安全な接続と関連付ける。
【００４１】
また、第１のセキュリティレイヤには、第１の通信ネットワークから第３の通信ネットワークへの切り換えが行われた後に、他方の通信ネットワーク上に安全な接続を再び確立するタスクも割り当てられる。セキュリティレイヤが、ＷＴＬＳに基づいている場合には、この切り換えを、完全ハンドシェイクまたはいわゆるセッションレジュームにより行うことができる。セッションレジュームの場合には、初期の完全ハンドシェイクで交換される共有秘密が再利用される。セッションレジュームは、上記完全ハンドシェイクにより生成されたＷＴＬＳ接続と同じセッション識別情報を有するいわゆるＷＴＬＳ接続を生成する。
【００４２】
トランスポートセッションは、第１のユニットと第２のユニットとの間に確立することができる。しかしながら、第１のユニットと中間ユニットとの間、およびこの中間ユニットと第２のユニットとの間にトランスポートセッションを確立することもできる。複数の中間ユニットが、第１のユニットと第２のユニットとの間に鎖状に接続され、これにより、第１のユニットが、鎖の中間ユニットの最初のものへのトランスポートセッションを確立し、上記鎖のそれぞれのユニットが、鎖の次に続くユニットへのトランスポートセッションを確立するようになっていてもよい。そして、鎖の最後のユニットおよび第２のユニットが、それらの間にトランスポートセッションを確立する。
【００４３】
トランスポートセッションが中間ユニットまたは複数の中間ユニットからなる鎖に確立されると、上記中間ユニットまたは複数のユニットからなる鎖のあるユニットを、第１のユニットをワンタイム認証するために使用することができる。このような認証は、第１のセキュリティレイヤと第２のセキュリティレイヤとの間のハンドシェイク手順にワンタイムパスワードを組み込むことにより行うことができる。第１および第２のセキュリティレイヤが、ＷＴＬＳに基づくものである場合には、ワンタイムパスワードは、ｃｌｉｅｎｔ＿ｈｅｌｌｏメッセージのｃｌｉｅｎｔ＿ｒａｎｄｏｍフィールドに組み込むことができる。認証は、ハンドシェイクメッセージを検証する中間ユニットまたは鎖内のあるユニットに基づくこともできる。このハンドシェイクメッセージには、第１のユニットに属する証明書に関連したプライベート鍵によりなされた署名が含まれる。
【００４４】
第２のユニットは、地理的に移動可能であってもよい。この場合、この第２のユニットは、第１のユニットと同じように機能してもよい。
【００４５】
第１のユニットおよび第２のユニットの双方が、実質的に全く同時に通信ネットワークを変更すると、第１および第２のユニットはともに、相手方からのハンドオーバリクエストを受信する前に、ハンドオーバ手順を開始することが起こり得る。この場合、２つの進行中のハンドオーバ手順が存在することとなる。この場合、第１および第２のユニットは、進行中のハンドオーバ手順のいずれを終了させるべきかを決定する規則に従う。
【００４６】
この規則は、最初にセッションを生成したユニットが開始したハンドオーバ手順を選択するように、第１および第２のユニットに要求することができる。
【００４７】
第１のユニットおよび第２のユニットが、実質的に全く同時に通信ネットワークを変更し、双方が、ハードハンドオーバを開始すると、第１のユニットおよび第２のユニットはともに、その通信に関与する相手方への新しいアドレスに気付かないことが起こり得る。この問題は、中間ユニットまたは複数のユニットからなる中間の鎖を介した通信によって解決することができる。しかしながら、当該通信の当事者であるそれぞれのユニットは、メッセージが遅延するというリスクを構成するであろう。これは、例えば双方向音声通信の場合といった所定の状況では受忍できない。
【００４８】
第１のユニットが、中間ユニットまたは複数のユニットからなる鎖を介した通信を必要とすることなく、通信ネットワークを切り換えた後に、第１のユニットの位置を突き止めることができるように、第１のユニットは、ハンドオーバ手順の開始と共に、第３のユニットにメッセージを送信する。このメッセージは、ネットワークを切り換えた後の第１のユニットのアドレスに関する情報を含む。第２のユニットが移動可能であるか、または移動可能と考えられ得る場合には、第１のユニットは、第２のユニットの関連アドレスに関するリクエストも第３のユニットに送信する。第３のユニットは、第２のユニットの関連アドレスを含むメッセージに応答する。自身のアドレス情報および相手方のアドレスに関するクエリーを含むメッセージは、共通メッセージに一体化されてもよい。第２のユニットがハードハンドオーバを介して通信ネットワークを切り換える場合の対応する手順は、第２のユニットによって実行される。
【００４９】
第３のユニットは、ＳＩＰのレジスタサーバまたはＭｏｂｉｌｅ−ＩＰのホームエージェントであってもよい。
【００５０】
第２のユニットは、企業の内部サーバであってもよい。そして、ファイアウォールが、第１のユニットと第２のユニットとの間に設置され、第１のユニットと第２のユニットとの間のすべての通信が、ファイアウォールを通過しなければならないようになっていてもよい。中間ユニットまたは複数の中間ユニットからなる鎖が使用される場合、中間ユニットの１つは、ファイアウォールに属するいわゆる非武装地帯に設置されてもよい。この場合、非武装地帯のユニットは、上述した方法で、第１のコンピュータユニットの認証に使用することもできる。
【００５１】
この認証方法に使用されるユニットには、従来のように「Data Network Based-System」という発明の名称のスウェーデン特許出願第００  ０４３３８−０号による前置結合手段（pre-coupled means）の機能が割り当てられてもよい。このような前置結合手段は、ファイアウォールの外部の非武装地帯で動作し、認証手順を開始する特別な関数を有し、例えば、第１のユニットが、当該第１のユニットが主張するところのユニットであることを証明する。その後、第１のユニットと第２のユニットとの間の認証手順は終了し、いわゆる安全なセッションが、第１のユニットと第２のユニットとの間に確立される。
【００５２】
あるいは、中間ユニットまたは複数の中間ユニットからなる鎖のユニットの１つが、ファイアウォールで構成されてもよい。
【００５３】
第１のユニットが数個の第２のユニットと通信できること、および同様にして、第２のユニットが数個の第１のユニットと通信できることも、理解されるであろう。
【００５４】
有利な点
本発明により、第１のユニットの第１のソフトウェア、第２のユニットの第２のソフトウェア、通信ネットワークおよび通信ハードウェアが、ネットワークの切り換え時に通信セッションを維持するように設計されていないにもかかわらず、第１のソフトウェアは、通信ネットワークの切り換え時に、第２のソフトウェアとの通信セッションを維持することが可能となる。
【００５５】
本発明により、ネットワーク特性の高速な変化を処理するＴＣＰプロトコルに頼る必要なく、異なる技術に基づく異なるネットワーク特性を有する通信ネットワーク間の切り換えを行うことが可能となる。
【００５６】
また、本発明により、エンドツーエンドのセキュリティが維持されている間、通信ネットワーク間の切り換えを安全な方法で行うことも可能となる。
【００５７】
また、本発明により、圧縮がプロトコルスタックのＩＰレイヤで行われる場合に使用される圧縮アルゴリズムよりも効果的な圧縮アルゴリズムを使用することも可能となる。
【００５８】
また、本発明によると、三角ルーティングなしに、通信ネットワークの切り換えを行うことも可能となる。
【００５９】
本発明は、ルータまたはＮＡＴサーバの変更を必要としない。
【００６０】
本発明は、第１のユニットまたは第２のユニットのいずれかのＴＣＰ／ＩＰスタックの変更を必要としない。
【００６１】
第２のユニットが、企業の内部サーバである場合には、本発明により、維持されたエンドツーエンドのセキュリティおよび外部またはファイアウォール内の認証により、通信をファイアウォールを通じて行うことが可能となる。
【００６２】
本発明に関連する特徴を有する方法、コンピュータプログラム製品、およびコンピュータ読み取り可能媒体は、一例として、添付図面を参照しながら以下により詳細に説明される。
【００６３】
（好ましい実施の形態の説明）
図１は、第１のユニット１が、第１のセッションレイヤ１１、第１のプロトコルスタック１２、１つまたは２つ以上の第１の通信ハードウェア１３ａ、１３ｂ、１３ｃ、１３ｄおよび第１の通信ハードウェア１３ａ、１３ｂ、１３ｃ、１３ｄに属する１つまたは２つ以上の駆動ルーチン１４ａ、１４ｂ、１４ｃ、１４ｄを含む方法を示している。第１のセッションレイヤ１１は、第１のセキュリティレイヤ１１ａを含む。
【００６４】
第２のユニット２は、第２のセッションレイヤ２１、第２のプロトコルスタック２２、および１つまたは２つ以上の第２の通信ハードウェア２３ａ、２３ｂ、２３ｃ、２３ｄを含む。第２のセッションレイヤ２１は、第２のセキュリティレイヤ２１ａを含む。
【００６５】
複数の通信ネットワークＡ１、Ａ２、Ａ３、Ａ４のそれぞれは、第１のユニット１が、それぞれのネットワークに属する地理的エリア内において、上記第１の通信ハードウェア１３ａ、１３ｂ、１３ｃ、１３ｄの１つの援助により、第２のユニットに属するハードウェア２３ａ、２３ｂ、２３ｃ、２３ｄの１つへメッセージを送信し、これらハードウェアの１つからメッセージを受信することを可能とする。
【００６６】
１つの好ましい実施の形態では、セキュリティレイヤ１１ａ、２１ａは、ＷＴＬＳプロトコルレイヤとすることができる。
【００６７】
第１のセッションレイヤ１１は、上に重なる第１のソフトウェアコンポーネント１５に対する第１のインタフェース１１ｂを有する。１つの好ましい実施の形態では、第１のユニット１は、Ｗｉｎｄｏｗｓベースのコンピュータユニットであり、第１のインタフェース１１ｂは、Ｌａｙｅｒｅｄ  Ｓｅｒｉｖｅ  ＰｒｏｖｉｄｅｒのＷｉｎＳｏｃｋ  ＳＰＩに基づいている。
【００６８】
代替的な実施の形態では、第１のユニット１は、ＰａｌｍＯＳベースであり、第１のインタフェース１１ｂは、ＰａｌｍＯＳのｎｅｔｌｉｂコンポーネントに基づくものと同じである。
【００６９】
別の代替的な実施の形態では、第１のユニット１は、Ｐｏｃｋｅｔ  ＰＣベースであり、第１のインタフェース１１ｂは、プロキシインタフェースである。プロキシインタフェースでは、第１のセッションレイヤ１１は、所定の選択されたＴＣＰポートをリスンし、所定の選択されたＵＤＰポートにバインドして、第１のソフトウェアコンポーネント１５からのＤＮＳクエリーに対してローカルＩＰアドレスで応答する。
【００７０】
第２のセッションレイヤ２１は、上に重なる第２のソフトウェアコンポーネント２５に対する第２のインタフェース２１ｂを有する。１つの好ましい実施の形態では、第２のユニット２は、Ｗｉｎｄｏｗｓベースのコンピュータユニットであり、第２のインタフェース２１ｂは、Ｌａｙｅｒｅｄ  Ｓｅｒｉｖｅ  ＰｒｏｖｉｄｅｒのＷｉｎＳｏｃｋ  ＳＰＩに基づいている。
【００７１】
第１のセッションレイヤ１１および第２のセッションレイヤ２１は、共通のセッションプロトコルを用いて、第１のインタフェース１１ｂの第１のソフトウェアコンポーネント１５によって生成される第１のソケット１１ｂ１、１１ｂ２、１１ｂ３のそれぞれについて、第２のインタフェース２１ｂの対応する第２のソケット２１ｂ１、２１ｂ２、２１ｂ３が確実に生成されるようにし、また、上記第１のソケット１１ｂ１、１１ｂ２、１１ｂ３のそれぞれに属するその後のトラフィックが、第２のソフトウェアコンポーネント２５用のトラフィックであって、対象とするユニークな第２のソケット２１ｂ１，２１ｂ２，２１ｂ３に属するトラフィックによって確実に対応付けられるようにする。その逆も同様である。ソケットが、ストリームベースである場合には、セッションプロトコルは、すべてのトラフィックが、正しい順序で到着することを保証し、どのトラフィックも排除されないことを保証する。
【００７２】
第１のユニット１は、第１の通信ネットワークＡ１を介して接続され、第２のユニット２は、第２の通信ネットワークＡ２を介して接続される。第１のセッションレイヤ１１には、必要な場合に、第１の通信ネットワークＡ１から第３の通信ネットワークＡ３への切り換えＡ１−３を行い、このネットワークの切り換えをいつ行うべきかを決定するタスクが割り当てられる。
【００７３】
１つの好ましい実施の形態によると、Ａ１−３切り換えは、第１のネットワークＡ１がもはや利用できない場合に行われることになっている。また、この切り換えは、第３のネットワークＡ３が利用可能となり、かつ予め決定された順序によって、第１の通信ネットワークＡ１よりも通信に適しているとみなされる場合にも行うことができる。また、転送データ量に基づく課金制を有するパケット交換通信ネットワークが利用可能である場合、かつ第１の通信ネットワークＡ１が回線交換であり、時間に基づく課金制を有し、情報が、ある特定の時間の間、回線交換の第１の通信ネットワークＡ１上を送信されなかった場合にも、上記パケット交換通信ネットワークへの切り換えが行われることになっている。
【００７４】
好ましい実施の形態によると、第１のセッションレイヤ１１は、通信ネットワークＡ１、Ａ２、Ａ３，Ａ４のいずれが利用可能であるかを決定できるように、駆動ルーチン１４ａ、１４ｂ、１４ｃ、１４ｄと通信することになっている。駆動ルーチンが、そのたびごとに、利用可能なそれら通信ネットワークを判断できる場合には、この情報が用いられる。駆動ルーチンが、どの通信ネットワークが利用可能であるかを判断できないが、他方で、通信ネットワークに属する基地局に到達する信号の強度を測定できる場合には、第１のセッションレイヤ１１は、信号強度が、予め選択された閾値よりも大きいときに、通信ネットワークが利用可能であると仮定する。駆動ルーチン１４ａ、１４ｂ、１４ｃ、１４ｄが、通信ハードウェア１３ａ、１３ｂ、１３ｃ、１３ｄが利用可能か否かを判断できる場合には、上記ネットワークに属するハードウェアが利用できないとき、ネットワークは利用可能でないと仮定される。
【００７５】
図１に示す切り換えＡ１−３では、ネットワークＡ１からネットワークＡ３への切り換えが、通信ハードウェア１３ｂの切り換えおよび関連する駆動ルーチン１４ｂの切り換えも引き起こす。しかしながら、これが事実とは限らず、ネットワークの切り換えは、ハードウェアおよび駆動ルーチンの切り換えが行われることを必要とすることなく実行可能であることが理解されるであろう。
【００７６】
第１のセッションレイヤ１１および第２のセッションレイヤ２１には、セッションプロトコルの援助により、２つのネットワークＡ１、Ａ３間の切り換えＡ１−３と共に、第１のユニット１と第２のユニットとの間のデータストリームの同期をとるタスクも割り当てられる。これは、上記２つの通信ネットワーク間の切り換えがどのように行われるかに応じて、２つの異なる方法で行うことができる。
【００７７】
新たな第３の通信ネットワークＡ３への切り換えが行われる時に、使用されている第１の通信ネットワークＡ１が、まだ利用可能である場合には、第１のセッションレイヤ１１は、第１のユニット１がネットワークの切り換えの最中であることを第２のセッションレイヤ２１に第１の通信ネットワークＡ１を介して通知することができる。次に、第２のセッションレイヤ２１は、第１の通信ネットワークＡ１上へのその後のデータ送信を中断し、自身が第３の通信ネットワークＡ３上へのその後の通信の待ち状態にあることを第１のセッションレイヤ１１に通知する。一方、第１のユニット１は、第３の通信ネットワークＡ３上への通信を開始することができる。第２のセッションレイヤ２１が、第３のネットワークＡ３上で第１のセッションレイヤ１１からの通信を受信すると、第２のセッションレイヤは、第３の通信ネットワークＡ３上で第１のセッションレイヤ１１との通信を再開することができる。通信ネットワークのこのような切り換えは、以下では、ソフトハンドオーバと呼ばれる。
【００７８】
通信ネットワークを切り換える代替的な方法は、第３の通信ネットワークＡ３へのハンドオーバが行われる時に、第１の通信ネットワークＡ１がもはや利用可能でない場合に使用される。この場合、第１のセッションレイヤ１１は、第２のセッションレイヤ２１から第１のセッションレイヤ１１により受信されたデータを、第３のネットワークＡ３を介して第２のセッションレイヤ２１に通知することができる。次に、第２のセッションレイヤ２１は、第１のセッションレイヤ１１から第２のセッションレイヤ２１により受信されたデータを、第１のセッションレイヤ１１に通知する。次に、第１のセッションレイヤ１１および第２のセッションレイヤ２１は、その受信機によって受信されなかったデータの送信を開始する。通信ネットワークのこのような切り換えは、以下では、ハードハンドオーバと呼ばれる。
【００７９】
ソフトハンドオーバおよびハードハンドオーバのそれぞれについて上述したメッセージシーケンスは、以下では、ハンドオーバ手順と呼ばれる。
【００８０】
好ましい実施の形態によると、ソフトハンドオーバは、第１の通信ネットワークＡ１が、通信ネットワーク切り換えプロセスの開始時にまだ利用可能である場合に使用されることになっている。ハードハンドオーバは、それ以外の場合に使用されることになっている。ソフトハンドオーバが開始されたが、完了していない状態で、第１のセッションレイヤ１１が、第１の通信ネットワークＡ１がもはや利用可能でないことを検出すると、第１のセッションレイヤ１１は、ハードハンドオーバを開始することとなる。
【００８１】
第１のセッションレイヤ１１には、上に重なるプロトコルレイヤおよびプログラム１５に対して第２のユニット２用の第１の識別情報を提示するタスクも割り当てられる。第２のセッションレイヤ２１には、上に重なるプロトコルレイヤおよびプログラム２５に対して第１のユニット１用の第２の識別情報を提示するタスクが割り当てられる。
【００８２】
好ましい実施の形態によると、これらの識別情報は、ＷＴＬＳセッション識別情報とすることができる。短縮化されたＷＴＬＳハンドシェイクは、通信ネットワークの切り換えと共に、第１のセキュリティレイヤ１１ａと第２のセキュリティレイヤ２１ａとの間で、いわゆるＷＴＬＳセッションレジュームとして行われる。その上、ＷＴＬＳセッション識別情報は、ネットワークに切り換えに伴って変更されることはなく維持される。したがって、第１のセッションレイヤ１１および第２のセッションレイヤ２１は、ＩＰアドレスに代わって、ユニークで変更されないマシン識別情報としてＷＴＬＳセッション識別情報を使用することができる。
【００８３】
図２は、第３の通信ネットワークＡ３への切り換えに伴って、第３の通信ネットワークＡ３上で新しいトランスポートセッションＢ１、Ｂ２を確立するタスクが、第１のセッションレイヤ１１に割り当てられることを示す非常に簡易化した概略図である。
【００８４】
１つの好ましい実施の形態では、セッションレイヤ１１，２１は、それら自身の間で２つのトランスポートセッションＢ１、Ｂ２を確立することになっている。第１のトランスポートセッションＢ１は、ＴＣＰプロトコルに基づいており、ストリームベースの通信用に生成されたすべての第１のソケット１１ｂ１、１１ｂ２のデータを転送するために使用されることになっている。第２のトランスポートセッションＢ２は、ＵＤＰプロトコルに基づいており、データグラムベースの通信用に生成されたすべての他のソケット１１ｂ３のデータを転送するために使用されることになっている。
【００８５】
代替的な実施の形態では、第１のトランスポートセッションＢ１は、第１の通信ネットワークＡ１および第３の通信ネットワークＡ３の特性にそれぞれ依存する異なるプロトコルに基づいていてもよい。
【００８６】
第１のセッションレイヤ１１および第２のセッションレイヤ２１は、ソフトウェアコンポーネント１５、２５からのトラフィックをセキュリティレイヤ１１ａ、２１ａを通じて転送する前に、または転送と共に、のいずれかにおいて、当該トラフィックを圧縮する。また、第１のセッションレイヤ１１および第２のセッションレイヤ２１は、セキュリティレイヤ１１ａ、２１ａを通じて受信されたトラフィックの伸張も行う。
【００８７】
１つの好ましい実施の形態では、それぞれのストリームベースのソケットおよびトラフィックの方向についての１つの状態を有する状態依存圧縮アルゴリズムが使用される。１つの代替的な実施の形態によると、それぞれのトラフィックの方向および受信機についての１つの状態を有する状態依存圧縮アルゴリズムが使用される。
【００８８】
セキュリティレイヤ１１ａ、２１ａには、第１のユニット１および第２のユニット２との間の暗号化され、認証された接続を提供するタスクが割り当てられる。第１のセッションレイヤ１１は、第１の識別情報を、第１のセキュリティレイヤ１１ａと第２のセキュリティレイヤ２１ａとの間のそれぞれの安全な接続と関連付ける。第２のセッションレイヤ２１は、第２の識別情報を、第１のセキュリティレイヤ１１ａと第２のセキュリティレイヤ２１ａとの間のそれぞれの安全な接続と関連付ける。また、第１のセッションレイヤ１１および第２のセッションレイヤ２１は、ユニークなセッションを、第１のセキュリティレイヤ１１ａと第２のセキュリティレイヤ２１ａとの間のそれぞれの安全な接続と関連付ける。
【００８９】
一実施の形態によると、トランスポートセッションＢ１、Ｂ２は、第１のユニット１と第２のユニット２との間に直接確立される。
【００９０】
図３は、トランスポートセッションＢが、第１のユニット１から中間ユニットＣへ、および第２のユニット２と中間ユニットＣとの間に確立される好ましい実施の形態を示している。中間ユニットＣは、第１のユニット１と第２のユニット２との間のデータを、トランスポートセッションＢを介して転送する。
【００９１】
図４は、複数の中間ユニットＣ１、Ｃ２、Ｃ３が鎖状に接続され、トランスポートセッションＢが、第１のユニット１から上記鎖の中間ユニットの最初のユニットＣ１へ確立され、第２のユニット２からのトランスポートセッションＢ３が、上記中間ユニットの鎖の最後のユニットＣ３へ確立される代替的な実施の形態を示している。鎖のユニットＣ１、Ｃ２からのトランスポートセッションＢ’、Ｂ”も、次に続く鎖のユニットへ確立される。第１のユニット１からのトラフィックは、鎖を通じて第２のユニット２へ転送される。第２のユニット２からのトラフィックは、これとは逆方向に鎖を通じて第１のユニット１へ転送される。
【００９２】
トランスポートセッションＢが中間ユニットＣへ確立されると、中間ユニットＣ、または中間ユニットＣ１、Ｃ２、Ｃ３からなる鎖のある別のユニットは、第１のユニット１を認証するために使用することができる。
【００９３】
１つの好ましい実施の形態では、認証は、完全ＷＴＬＳハンドシェイクのcertificate_verifyメッセージをチェックすることにより行われる。代替的な実施の形態では、認証は、完全ＷＴＬＳハンドシェイクまたはすべてのＷＴＬＳハンドシェイクのclient_helloメッセージのclient_randomフィールドに組み込まれるワンタイムパスワードをチェックすることにより行われる。
【００９４】
一実施の形態では、第２のユニット２は、地理的に移動可能であってもよい。この移動可能ユニットは、第１のユニット１と同じように機能する。第１のユニット１および第２のユニット２の双方が、実質的に同時に通信ネットワークを切り換えると、第１のユニット１および第２のユニット２はともに、ハンドオーバ手順が開始された旨のメッセージを相手方から受信する前に、ハンドオーバ手順を開始することが起こり得る。この場合、２つのハンドオーバ手順が進行中になるであろう。この場合、第１のユニット１および第２のユニット２は、進行中のハンドオーバのいずれを終了させるべきかを決定する規則を適用する。
【００９５】
好ましい実施の形態では、第１のユニット１および第２のユニット２は、通信セッションを開始したユニットによって開始されたハンドオーバ手順を選択する。
【００９６】
図５は、第１のユニット１が、第１の通信ネットワークＡ１から第３の通信ネットワークＡ３への切り換えＡ１−３のハンドオーバ手順の開始と共に、第３のユニット３へメッセージを送信することができる実施の形態を示している。このメッセージは、第１のユニットが別のネットワークに切り換わった後の第１のユニットのアドレスに関する情報を含む。第１のユニット１からのメッセージは、第２のユニット２の関連アドレスのリクエストも含むことができる。このリクエストに応答して、第３のユニット３は、第２のユニット２の関連アドレスを含むメッセージを第１のユニットへ送信する。代替的な実施の形態では、第２のユニット２の関連アドレスのリクエストは、第１のユニットの関連アドレスを含むメッセージとは別のメッセージで送信されてもよい。第２のユニット２が、第２の通信ネットワークＡ２から第４の通信ネットワークＡ４への切り換えＡ２−４を行う場合には、対応する手順が続けられる。
【００９７】
これにより、第１のユニット１および第２のユニット２の双方が、ハードハンドオーバにより全く同時にハンドオーバ手順を開始した結果、お互いのアドレスを失っても、第１のユニット１および第２のユニット２は、お互いを見つけ出すことが可能となる。
【００９８】
一実施の形態によると、第３のユニット３が、地理的に移動可能なユニットの関連アドレスのアカウントの保持専用のユニットになっている。代替的な実施の形態では、第３のユニット３は、ＳＩＰレジスタサーバであってもよい。別の代替的な実施の形態によると、第３のユニット３は、Ｍｏｂｉｌｅ−ＩＰのホームエージェントであってもよい。
【００９９】
図６は、第２のユニット２が、企業の内部サーバであり得、かつファイアウォール４が、第１のユニット１と第２のユニット２との間に設置され得る別の好ましい実施の形態を示している。この実施の形態では、第１のユニット１と第２のユニット２との間のすべてのトラフィックが、上記ファイアウォール４を通過しなければならないようになっている。
【０１００】
この実施の形態によると、中間ユニットＣは、ファイアウォール４に属するいわゆる非武装地帯４１に設置されてもよい。その上、第２のユニット２と中間ユニットＣとの間のトランスポートセッションＢ’は、第２のユニット２の主導の下で確立されることになっている。さらに、中間ユニットＣは、上述した方法で、第１のユニット１を認証するために使用されることになっている。
【０１０１】
代替的な実施の形態によると、ファイアウォール４は、中間ユニットＣで構成されてもよい。図７に示すさらに別の代替的な実施の形態によると、中間ユニットＣ１、Ｃ２、Ｃ３からなる鎖を使用することができ、それによって、上記鎖のユニットの１つ（図では中間ユニットＣ２として例示）が、ファイアウォール４に属する非武装地帯４１に設置される。この場合、上記ユニットＣ２は、ファイアウォール４を構成してもよい。
【０１０２】
非武装地帯４１で動作するユニットには、スウェーデン特許出願第00 04338-0号による前置結合手段（pre-coupled means）５の機能も与えることができる。この前置結合手段は、ファイアウォールの外部に位置するユニットの認証を操作し、ファイアウォールの内部のユニットとの通信を要求する。
【０１０３】
この明細書には、前置結合手段５について詳細に説明しないので、上記手段のより詳細な説明については、上記スウェーデン特許出願を参照されたい。
【０１０４】
図８は、第１のユニット１が、数個の第２のユニット２、２’、２”との中間ユニットＣを介した通信にどのようにして適合できるか、および上記第２のユニット２、２’、２”のそれぞれが、数個の第１のユニット１、１’、１”との通信にどのようにして適合できるかの一例を示している。第１のユニット１、１’、１”および第２のユニット２、２’、２”は、前述したように、第２のユニットのそれぞれおよび第１のユニットのそれぞれに関連した同じ方法でそれぞれ処理を進めて行く。
【０１０５】
本発明は、前述した、図面により例示された本発明の実施の形態に限定されるものではなく、また、併記特許請求項に示されるような本発明の概念内において変更をなし得ることが理解されるであろう。
【図面の簡単な説明】
【０１０６】
【図１】本発明による２つユニット間の通信の非常に簡易化した概略図である。
【図２】トランスポートセッションが、本発明によって第１のユニットと第２のユニットとの間にどのように確立されるかを示す非常に簡易化した概略図である。
【図３】２つのユニットが中間ユニットを介してどのように通信を行うことができるかを示す。
【図４】２つのユニットが複数の中間ユニットを介してどのように通信を行うことができるかを示す。
【図５】確立されたセッションが、何らかの理由により切断された場合に、２つのユニットがお互いを見つけ出す可能性を高めるために、第３のユニットがどのように動作することができるかを示す。
【図６】中間ユニットにファイアウォールの機能をどのようにして割り当てることができるかを示す。
【図７】数個の中間ユニットのうちの１つの中間ユニットにファイアウォールの機能をどのようにして割り当てることができるかを示す。
【図８】複数のユニットが、本発明によって、どのように相互に通信を行うことができるかを示す。
【図１】
2004527928.tif 000003
【図２】
2004527928.tif 000004
【図３】
2004527928.tif 000005
【図４】
2004527928.tif 000006
【図５】
2004527928.tif 000007
【図６】
2004527928.tif 000008
【図７】
2004527928.tif 000009
【図８】
2004527928.tif 000010
【国際公開パンフレット】
2004527928.tif 000011
2004527928.tif 000012
2004527928.tif 000013
2004527928.tif 000014
2004527928.tif 000015
2004527928.tif 000016
2004527928.tif 000017
2004527928.tif 000018
2004527928.tif 000019
2004527928.tif 000020
2004527928.tif 000021
2004527928.tif 000022
2004527928.tif 000023
2004527928.tif 000024
2004527928.tif 000025
2004527928.tif 000026
2004527928.tif 000027
2004527928.tif 000028
2004527928.tif 000029
2004527928.tif 000030
2004527928.tif 000031
2004527928.tif 000032
2004527928.tif 000033
2004527928.tif 000034
2004527928.tif 000035
2004527928.tif 000036
2004527928.tif 000037
2004527928.tif 000038
2004527928.tif 000039
2004527928.tif 000040
【国際調査報告】
2004527928.tif 000041
2004527928.tif 000042
2004527928.tif 000043