説明

通信システム

【課題】モバイル・ノードのIPアドレスの変更の影響を受けずに、動作が安定した通信システムに関する技術を提供する。
【解決手段】アプリケーションプログラム410が、インターネットプロトコルアドレス情報を用いて通信セッションを提供し、オペレーティングシステム420が、インターネットプロトコルアドレス情報を監視し、インターネットプロトコルアドレス情報の変更をアプリケーションプログラムに知らせる。アプリケーションプログラムは、インターネットプロトコルアドレス情報の変更に応じて通信セッションを適合させるように構成され、オペレーティングシステムがアプリケーションプログラムにインターネットプロトコルアドレス情報の変更を知らせることの結果として、アプリケーションプログラムは、IPアドレスが変わったときに通信セッションが影響を受ける可能性を減らすように、通信セッションの動作を適合させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネットプロトコルを用いた通信セッションを提供するための通信システム及び通信方法に関するものである。
本発明はまた、モバイル・ノード、通知モジュールおよび通知プラグインにも関するものである。
【背景技術】
【0002】
インターネットプロトコル(IP)を用いた通信ネットワークは、通信セッションの間に情報を伝達するためにパソコン、移動装置およびサーバーなどの通信ノードのための機能を提供するものである。
用いられたインターネットプロトコルによって、それぞれの通信ノードには、IPネットワーク内で、そのノードを一意的に識別するIPアドレスが付与される。
これらのIPアドレスは、通信ノードに恒久的に割り当てられるか、またはノード自身がネットワークに加入されたときに割り当てられる。
最近では、移動電話またはノートパソコンなどのモバイル・ノードを用いることによって、IPネットワークにアクセスすることも可能になっている。
例えば、モバイル・ノードは、無線通信ネットワークまたは赤外線リンク等のある形の無線接続を介してIPネットワークにアクセスできる。
なお、IPアドレスは一時的に通信ノードに割り当てられ、それを通信セッションの間に変更することができる。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、通信セッションは、あるネットワークから他のネットワークへ変更する結果として、モバイル・ノードのIPアドレスの変更の影響を受け、動作に不都合が生じることがあった。
従って、本発明は、モバイル・ノードのIPアドレスの変更の影響を受けずに、動作が安定した通信システムに関する技術を提供することを課題とする。
【課題を解決するための手段】
【0004】
第1に、
アプリケーションプログラムとオペレーティングシステムとを有するモバイル・ノードから成る、インターネットプロトコルを用いた通信セッションを提供することができる通信システムであって、
アプリケーションプログラムは、インターネットプロトコルアドレス情報を用いた通信セッションを提供することができ、
オペレーティングシステムは、インターネットプロトコルアドレス情報を監視することができるものであり、
アプリケーションプログラムに、インターネットプロトコルアドレス情報の変更を通知することにより、アプリケーションプログラムが、インターネットプロトコルアドレス情報の変更に応じて通信セッションを適合させるように構成することを特徴とする、通信システム。
第2に、
アプリケーションプログラムが、インターネットプロトコルアドレス情報の変更に応じて、新規のインターネットプロトコルアドレスを、対応するノード上で動作している対応するアプリケーションプログラムと通信させることができることを特徴とする、前記第1に記載の通信システム。
第3に、
アプリケーションプログラムが、セッション開始プロトコル(SIP)メッセージを用いて対応するアプリケーションプログラムに通知することを特徴とする、前記第2に記載の通信システム。
第4に、
アプリケーションプログラムが、
新規のインターネットプロトコルアドレスを有する、対応するノードからのインターネットパケットと、現在使用されているインターネットプロトコルアドレスを有する、対応するノードからのインターネットパケットとを監視することができ、
現在使用されているインターネットプロトコルアドレスは、第1のネットワークとのモバイル・ノードの加入に対応し、
新規インターネットプロトコルアドレスは、第2のネットワークに関連づけられていることを特徴とする、前記第2または前記第3に記載の通信システム。
第5に、
オペレーティングシステムが、インターネットプロトコルアドレスを保存するためのアドレステーブルと、アドレステーブルにインターネットプロトコルアドレスを追加することができるアドレス加算器と、アドレステーブルからインターネットプロトコルアドレスを除去することができるアドレス減算器とを構成するインターネットプロトコルスタックを有するものであり、
アドレステーブルへのインターネットプロトコルアドレスの追加、またはアドレステーブルからのインターネットプロトコルアドレスを削除することの少なくとも一方によって、インターネットプロトコルアドレス情報の変更が実行されることを特徴とする、前記第1〜4のいずれか一つに記載の通信システム。
第6に、
オペレーティングシステムが、インターネットプロトコルアドレスの追加、またはインターネットプロトコルアドレスの削除からのインターネットプロトコルアドレスの変更を、アプリケーションプログラムに通知するモジュールを有するものであり、
インターネットプロトコルスタックが、インターネットプロトコルアドレステーブルへのアドレスの追加または削除のためにインターネットプロトコルスタックを監視し、インターネットプロトコルアドレステーブルへの追加または削除からインターネットプロトコルアドレス情報の変更を引き出し、アドレス情報の変更を通知モジュールに知らせることができる通知プラグインを有することを特徴とする、前記第5に記載の通信システム。
第7に、
通知プラグインが、インターネットプロトコルアドレス情報の変更を引き出すために、アドレス加算器またはアドレス減算器のアウトプットに応答することを特徴とする、前記第6に記載の通信システム。
第8に、
アプリケーションプログラムを支援するオペレーティングシステムを提供し、
インターネットプロトコルアドレス情報の変更を監視するようにオペレーティングシステムを構成し、
インターネットプロトコルアドレス情報の変更を、アプリケーションプログラムに通知するようにオペレーティングシステムを構成し、
インターネットプロトコルアドレス情報の変更に応じて通信セッションを適合させるようにアプリケーションプログラムを構成することにより、
モバイル・ノード上で動作するアプリケーションプログラムを用いた通信セッションを提供し、
通信セッションが、インターネットプロトコルを用いたものである、通信方法。
第9に、
適合が、アプリケーションプログラムからの新規インターネットプロトコルアドレス情報を、対応するノード上で動作している対応するアプリケーションプログラムへと伝達することを含むことを特徴とする、前記第8に記載の方法。
第10に、
アプリケーションプログラムが、セッション開始プロトコル(SIP)メッセージを用いて対応するアプリケーションプログラムに通知することを特徴とする、前記第9に記載の方法。
第11に、
新規インターネットプロトコルアドレスを有する対応するノードから受信したインターネットプロトコルパケットを監視し、
現在使用されているインターネットプロトコルアドレスを有する対応するノードから受信したインターネットプロトコルパケットを監視し、
現在使用されているインターネットプロトコルアドレスが、モバイル・ノードの第1のネットワークとの加入に対応し、
新規インターネットプロトコルアドレスが、第2のネットワークに関連づけられることから成ることを特徴とする、前記第9または前記第10に記載の方法。
第12に、
アプリケーションプログラムを実行することができ、
インターネットプロトコルアドレス情報の変更を監視し、
インターネットプロトコルアドレス情報の変更をアプリケーションプログラムに知らせるオペレーティングシステムを備えており、
アプリケーションプログラムが、インターネットプロトコルアドレス情報の変更に応じて通信セッションを適合させるように構成され、
インターネットプロトコルを用いる通信システムを介して通信することができる、モバイル・ノード。
第13に、
インターネットプロトコルアドレス情報の変更を、モバイル・ノード上で動作しているアプリケーションプログラムに知らせるために、モバイル・ノードのインターネットプロトコルアドレス情報の変更に応答するものであり、
アプリケーションプログラムが、インターネットプロトコルアドレス情報の変更に応じて通信セッションを適合させるように構成され、
インターネットプロトコルアドレス情報の変更を、モバイル・ノードのオペレーティングシステムから通信セッションを実行しているアプリケーションプログラムに通知することができる、通知モジュール。
第14に、
インターネットプロトコルアドレスの、アドレステーブルからの追加または削除について、インターネットプロトコルスタックを監視し、
インターネットプロトコルアドレスのアドレステーブルからの追加または削除から、インターネットプロトコルアドレス情報の変更を引き出し、
アプリケーションプログラムとの通信のために、アドレス情報の変更を通知モジュールに通知し、モバイル・ノード上で動作しているアプリケーションプログラムに伝達するためにインターネットプロトコルアドレス情報の変更を監視することができる、通知プラグイン。
第15に、
前記第13に記載の通知モジュールと、前記第14に記載の通知プラグインとを備えている、オペレーティングシステム。
第16に、
通信セッションが、アプリケーションプログラムに応じて実行され、
インターネットプロトコルアドレス情報の変更を監視することにより、
インターネットプロトコルアドレス情報の変更をアプリケーションプログラムに通知し、アプリケーションプログラムが、
インターネットプロトコルアドレス情報の変更に応じて通信セッションを適合させることから成る、インターネットプロトコルを用いた通信システムを介してモバイル・ノードを用いる通信セッションを実行する方法。
第17に、
インターネットプロトコルアドレス情報の変更をモバイル・ノード上で動作しているアプリケーションプログラムに知らせるために、
モバイル・ノードのインターネットプロトコルアドレス情報の変更に応じて動作し、
アプリケーションプログラムが、インターネットプロトコルアドレス情報の変更に応じて通信セッションを適合させ、インターネットプロトコルアドレス情報の変更を、モバイル・ノードのオペレーティングシステムから通信セッションを実行しているアプリケーションプログラムに通知する方法。
第18に、
アドレステーブルへのインターネットプロトコルアドレスの追加または削除について、インターネットプロトコルスタックを監視し、
アドレステーブルへのインターネットプロトコルアドレスの追加または削除から、インターネットプロトコルアドレス情報の変更を引き出し、
アプリケーションプログラムへの伝達のために、アドレス情報の変更を通知モジュールに通知することから成る、
モバイル・ノード上で動作しているアプリケーションプログラムへの伝達のために、インターネットプロトコルアドレス情報の変更を監視する方法。
第19に、
データプロセッサに搭載されたときに、アプリケーションプログラムに応じてインターネットプロトコルを用いる通信システムを介して通信方法をデータプロセッサに実行させるコンピュータプログラムにおいて、
インターネットプロトコルアドレス情報の変更を監視し、
インターネットプロトコルアドレス情報の変更をアプリケーションプログラムに通知し、
アプリケーションプログラムが、インターネットプロトコルアドレス情報の変更に応じて通信セッションを適合させることから成る方法。
第20に、
記録された読取可能な媒体を含むことを特徴とする、前記第19に記載のコンピュータプログラム製品。
第21に、
コンピュータプログラムを表す信号を担持することを特徴とする、前記第19に記載の媒体。
【0005】
第1の態様に従えば、本発明は、インターネットプロトコルを用いた通信セッションを提供することができる通信システムを提供するものである。
このシステムは、アプリケーションプログラムとオペレーティングシステムを有するモバイル・ノードから成る。
アプリケーションプログラムは、インターネットプロトコルアドレス情報を用いた通信セッションを提供することができる。
オペレーティングシステムは、インターネットプロトコルアドレス情報を監視することができ、そして、アプリケーションプログラムにインターネットプロトコルアドレス情報の変更を通知する。
アプリケーションプログラムは、インターネットプロトコルアドレス情報の変更に応じて通信セッションを適合させるように構成される。
【0006】
一つの実施例において、通信システムは、モバイル・ノードと対応するノードとから成り、モバイル・ノードは、モバイル・ノード上で実行されるアプリケーションプログラムを用いた対応するノードとの通信セッションを提供するように構成される。
【0007】
本発明の実施態様は、IPパケット通信で用いるためのインターネットプロトコル(IP)アドレスが、通信セッションの間に変更されたことを、モバイル・ノード上で実行されているアプリケーションプログラムに通知するように構成されている。
オペレーティングシステムは、モバイル・ノードのためのIPアドレス情報が変更されたこと表示することを提供するように構成される。
アドレス情報の変更には、例えば、第1のネットワークから第2のネットワークへのモバイル・ノードの加入の変更あるいは変更の開始に続く、オペレーティングシステムのIPスタックへの新規IPアドレスの追加を含むことができる。ここで、開始とは、加入変更プロセスの始まりである。
これに対応して、アドレス情報の変更は、加入変更の完了後に、オペレーティングシステムのIPスタックからのIPアドレスの削除となる。
【0008】
アプリケーションプログラムは、IPアドレス情報の変更が通知された後に通信セッションの動作を適合させるためのアクションを起こすことができる。
このようにして、アプリケーションプログラムは、例えば、一つのネットワークから他のネットワークへの加入の変更を受けて、モバイル・ノードがIPアドレスを変更する時間の間に、通信セッションが影響を受ける可能性を減らすことができる。
【0009】
アプリケーションプログラムは、IPアドレス情報の変更の通知に続き、通信セッションを適合させるように構成することができる。
例えば、一つのネットワークから他のネットワークへのモバイル・ノードの加入の変更に典型的に関連づけられるIPアドレス情報の変更は、加入変更が実施される時間の間、IPパケットの通信を混乱させる影響を及ぼすことがある。
したがって、いくつかの実施態様は、IPパケットの通信の中断、または、少なくとも一つのIPパケットの通信速度を適合させる過程を含むことができる。
中断または速度の変更は、例えば、ノードが加入していたIPネットワークのIPアドレスが、IPスタックから削除されるまで実施することができる。
他の実施態様において、アプリケーションプログラムは、IPパケットをモバイル・ノードに伝達するために新規IPアドレスを使わなければならないという表示を、対応するノードにおいて動作している対応するアプリケーションプログラムに提供するように構成することができる。
例えば、モバイル・ノード上のアプリケーションプログラムは、新規IPアドレス、ならびに対応するノードからIPパケットを受け取るための古いIPアドレスを監視するように適合させることができる。
モバイル・ノードが、新規IPアドレスと古いIPアドレスの両方を監視している間、両方のIPアドレスをモバイル・ノードで使用するために同時に利用することができる。
古いIPアドレスは、新規IPネットワークへの加入変更プロセスの開始前に、モバイル・ノードが加入していたIPネットワーク上で、IPパケットを伝達するために使用していたアドレスでありうる。
実施態様によっては、対応するノードは、セッション開始プロトコル(SIP)メッセージを用いたモバイル・ノード上のアプリケーションプログラムによって、新規IPアドレスを通知されることがある。
【0010】
実施態様によっては、オペレーティングシステムは、IPアドレスを保存するためのIPアドレステーブル、IPアドレスを追加するためのアドレス加算器と、IPパケットからIPアドレスを除去するためのアドレス減算器を有するIPスタックを備えている。
オペレーティングシステムは、通知プラグインと通知モジュールを備えることができる。
通知プラグインは、IPスタックを監視し、IPアドレステーブルへのアドレスの追加や削除に応じてIPスタックのIPアドレスの変更の通知を提供する機能を有することができる。
通知は、通知モジュールに提供される。
通知モジュールは、通知プラグインから受領した通知に基づいて、IPアドレス情報の変更をアプリケーションプログラムに通知することができる。
【0011】
本発明の実施態様は、電気通信加入者がWLAN(無線ローカルエリアネットワーク)、GSM(移動通信用グローバルシステム)およびUMTS(ユニバーサル移動通信システム)などの異なるアクセスネットワークの間でローミングするときに移動サービスを提供するのに用いることができる。
くわえて、これらの技術は、とくにアプリケーションがSIPハンドオーバーを開始することができるようにセッション開始プロトコル(SIP)との使用に応用することができる。
本発明の実施態様は、特定のインターネットプロトコルへの応用に限定されるものではなく、例えば、モバイルIPv6とIPv4にも使用することができる。
【0012】
本発明のその他の態様と特徴は、付属の請求の範囲に定義され、通信方法、モバイル・ノード、通知モジュールと通知プラグインを含むものである。
【発明の効果】
【0013】
本発明によると、モバイル・ノードのIPアドレスの変更の影響を受けずに、動作が安定した通信システムに関する技術を提供することが可能となる。
すなわち、本発明によると、IPアドレスが変わったときに通信セッションが影響を受ける可能性を減らすことができる。
【図面の簡単な説明】
【0014】
【図1】移動使用者機器と対応するノードとの間の、一般的インターネットプロトコル(IP)通信の簡略化して示したものを提供する略ブロック図
【図2】オペレーティングシステムとアプリケーションを有する、簡略化して示したモバイル・ノードの略ブロック図
【図3】適合させたオペレーティングシステムを含む、簡略化して示した図2のモバイル・ノードの略ブロック図
【図4】図3に示した適合させたオペレーティングシステムを実行するための例示的アーキテクチュアの略ブロック図
【図5】第1のネットワークから第2のネットワークへのモバイル・ノードのハンドオーバーの間に起こり得るIP更新プロセスの略図
【図6】アプリケーションが動作しているモバイル・ノードが利用できる新規IPアドレスを、アプリケーションに通知するプロセスを示すフローチャート
【図7】アプリケーションが動作しているモバイル・ノードがもはや利用できないIPアドレスを、アプリケーションに通知するプロセスを示すフローチャート
【発明を実施するための最良の形態】
【0015】
つぎに、付属の図面を参照して、本発明の実施態様を説明する。
図面において、同様な部分には対応する参照番号が付けられる。
【0016】
モバイルインターネットプロトコル第6版(MIPv6)として知られている、モビリティ管理のための現在のIETF(インターネットエンジニアリングタスクフォース)インターネット標準によれば、「気付」アドレスは、モバイル・ノードが一つのネットワークから他のものに加入を変更したときに割り当てられる。
この技術によれば、モバイル・ノードは、変化しない全てのアプリケーションプログラムが使用している「恒久的アドレス(ホームアドレス)」によって識別され、「気付アドレス」と「ホームアドレス」の間のマッピングは、モバイル・ノードのIPレベルで処理される。
モバイル・ノードが異なるネットワークに移動したとき、新しいネットワークから気付アドレスを取得し、それがモバイル・ノードと通信している各種のデバイスのIPスタックに提供される。
ノードホームアドレスに宛てられたパケットは、つぎにネットワークを通じて気付アドレスに自動的に送られる。
MIPv6では、モバイル・ノード上で動作しているアプリケーションプログラムは、IPアドレスの変更を知らないままである。
【0017】
移動使用可能ネットワークのアプリケーションレベルでIPアドレスの変更を管理する一つの手法は、ポーリング法を用いることである。
これは、アプリケーションプログラムに基づく方法で、モバイル・ノード上で動作しているアプリケーションプログラムが、オペレーティングシステムのポーリングによって得られた現在のIPアドレスを、アプリケーションプログラム自体に保存されているものと定期的に比較し、それによって変更を「発見」できるものである。
【0018】
図1は、モバイル・ノードのIPアドレスが変更されるプロセスを示す移動ユーザー機器MNと対応するノードCNの間の一般的インターネットプロトコル(IP)通信構成を、概略的に示している。
図1には、互いに、またネットワークにアクセスできるユーザーノードCNとMNと通信できる多数の別個のネットワーク110、ネットワーク120、ネットワーク130、ネットワーク140が、図示されている。
ネットワーク間の、またネットワーク内またはそれを横断するユーザー間の通信パスは、ネットワーク110、ネットワーク120、ネットワーク130、ネットワーク140に存在する一つまたは複数のルーター115、ルーター125、ルーター135、ルーター145によって制御される。
ユーザーノードは、適切な方法でネットワークに接続される。
例えば、(移動または対応する)ユーザーノードは、電話回線またはケーブル接続によってネットワーク120に接続される。
モバイル・ノードMNのような移動ユーザーノードの場合、送受信器105、送受信器106を用いた無線移動ネットワークを介して接続することができる。
【0019】
二つのユーザーノードの間の通信リンクは、モバイル・ノードMNと対応するノードCNの間のIP通信セッションについて、図1に示されている。
これら二つのユーザーノードの間の通信は、二つのネットワーク110とネットワーク120にわたり、モバイル・ノードMNと対応するノードCNの間の通信は、それぞれのルーター115とルーター125によって制御される。
モバイル・ノードMNと対応するノードCNの間の通信は、ノードのそれぞれに指定されたIPスタックを使用する。
この例において、対応するノードCNは、モバイル・ノードMNとの通信セッションの間を通じて固定IPアドレスを保持しているものとするが、他の例において、対応するノードも移動可能とすることができる。
モバイル・ノードMNの場合、ノードがネットワーク110の動作区域の外に移動するのであれば、既存の通信パスを介した通信は終結し、ルーター115によって割り当てられたIPアドレスは喪失する。
【0020】
図1において、新しいネットワークへの加入変更は、モバイル・ノードMN'によって表現され、それはネットワーク110の動作区域からネットワーク140の動作区域に移動した後のモバイル・ノードMNの位置を概略的に示している。
ここで分かるように、このとき新しい通信パスは、今度はルーター125、ルーター135、ルーター145の制御の下でネットワーク120、ネットワーク130、ネットワーク140を使用することにより、モバイル・ノードMN'と対応するノードCNの間に存在する。
モバイル・ノードMNと対応するノードCNの間の第1の通信パスから、モバイル・ノードMN'と対応するノードCNの間の第2の通信パスへの移行は、二つのユーザーノードの間の通信セッションを混乱させる可能性がある。
【0021】
図2は、図1について先に述べたような、通信セッションに用いるのに適したモバイル・ノードMNを簡略化して示した概略図である。
図2に示したごとく、モバイル・ノードは、オペレーティングシステム220とアプリケーションプログラム210を有する。
アプリケーションプログラム210は、ユーザーインターフェイスを制御し、ユーザーに情報を提示する役割を果たす。そして、対応するノードで、アプリケーションプログラムに伝達されるデータを管理し、対応するノードCNから受け取ったデータを処理する通信機能を有する。
【0022】
オペレーティングシステム220は、モバイル・ノードMNと外部ネットワークとデバイスの間の通信を制御するIPスタック230を備えている。
IPスタック230は、モバイル・ノードMNが通信することができるそれぞれのネットワークによって、モバイル・ノードMNに割り当てられた、一つまたは複数のIPアドレスを保存するIPスタックアドレステーブル240を備えている。
さらに、オペレーティングシステム220のIPスタック230のアドレス追加モジュール250を用いることによって、IPアドレスをIPスタックアドレステーブル240に追加することができる。
IPアドレスは、オペレーティングシステム220のIPスタック230のアドレス除去モジュール260を用いることによって、IPスタックアドレステーブル240から削除することができる。
図2のモバイル・ノードMNにおいて、アプリケーションプログラム210は、IPスタック230の動作にほとんど気がつかず、モバイル・ノードMNは、とくにIPスタックアドレステーブル240の状態に気がついていない。
【0023】
図2のノードは、典型的にはMIPv6プロトコルの下で動作することができる。
MIPv6の一つの態様は、IPアドレスの変更が、モバイル・ノード上で動作するあらゆるアプリケーションから隠されているというものである。
実際、MIPv6では、アプリケーションプログラムは、モバイル・ノードの恒久的ホームアドレスは承知しており、そして、気付アドレスの変更は、IPレベルで処理される。
しかしながら、上述のごとく、アプリケーションプログラムレベルでIPアドレスを管理することは場合によっては強く望まれることである。
実際、IPアドレスの変更は、メディア通信に関与するアプリケーションプログラムに影響し、パケット喪失と混乱を引き起こす可能性がある。
これらのセッション混乱を減らし、パケット喪失を減らすために、適切なメカニズムをアプリケーションプログラムレベルに導入することができる。
例えば、混乱の減少は、モバイル・ノードが経験したIPアドレスの変更を対応するノードに通知することによって達成できる。
混乱の減少のための別のメカニズムは、アプリケーションプログラムが第2のネットワークの下で新規IPアドレスによってセッションを開くときに、対応するノードによってIPアドレスの変更が肯定応答されるまで、第1のネットワークで開かれた当初のIPアドレスに対応するセッションを、可能な場合維持することである。
このようなセッションモビリティ管理機能が、マルチメディアアプリケーションプログラムに組み込まれるために、IPレベルで発生するIPアドレスの変更は、アプリケーションプログラムに通知してはならない。
IPアドレスの変更がアプリケーションプログラムに隠されているとき、いかなる回復メカニズムあるいはこのIPアドレスの変更を処理する強化機能も導入することはできない。
【0024】
アプリケーションプログラムがIPアドレスの変更を検出できる既存の技術は、アプリケーションプログラムがIPスタックアドレステーブル240のIPアドレスの変更を常に検査(あるいはポーリング)することを必要とする。
IPアドレスの変更を検出するためにオペレーティングシステムを定期的にポーリングすることはシステム性能に悪影響を及ぼす可能性があり、それがマルチメディアセッションの品質を低下させる可能性がある。
さらに、オペレーティングシステムに過大な負荷を与え、ポーリングの頻度に応じて変更検出に遅延を招くこともありうる。
【0025】
図3は、図2について述べたものと類似のモバイル・ノードMN"を簡略化して示した概略図である。
モバイル・ノードMN"は、アプリケーションプログラム310とオペレーティングシステム320を備えている。
オペレーティングシステム320は、IPスタックアドレステーブル340とアドレス追加モジュール350とアドレス除去モジュール360を有するIPスタック330を備えている。
しかしながら、図2に示したモバイル・ノードMNとは対照的に、IPスタック330は、IPスタックアドレステーブル340を監視するように構成された通知プラグイン370も備えている。
この例における監視は、IPスタックアドレステーブル340に変更を行うよう起動されたときに、アドレス追加モジュール350とアドレス除去モジュール360からの更新を通知プラグイン370に提供することによって影響を受ける。
モバイル・ノードMN"のオペレーティングシステム320は、IPスタックアドレステーブル340への追加あるいは削除に関する情報を判断するために、アプリケーションプログラム310と通信することができる。
通知モジュールは、通知プラグイン370によってこれらの変更を知らされる。
【0026】
通知プラグイン370は、モバイル・ノードMN"に利点を提供するが、それは、オペレーティングシステム320によって行われる過重なポーリングを必要とせずに、IPスタックアドレスをアプリケーションプログラム310に利用可能にするためである。
このように、複雑さが減る間、性能が向上する。
イベントは、アドレスが追加または除去されたときにだけ引き起こされ、その結果、変更が生じるかを問わず、定期的に更新が行われるメカニズムと比較して、少ない回数の動作が実行される。
通知プラグイン370を有する通信ノードは、とくにノード制御モビリティ環境内で動作しているシステムのためのストリーミングメディア通信に応用された際に、利点を備えている。
かかるノードは、通知プラグイン370が指示されたIPアドレスの変更に応じて、メディアを適合させることをアプリケーションプログラムに許可することができる点で、便宜が改善されることがある。
くわえて、それはSIP利用可能にされたアプリケーションプログラムなどのマルチメディアアプリケーションプログラムが、アクセスネットワークの間でローミングするときにモバイル・ノードのIPアドレスの変更を通知される必要性に対処している。
【0027】
なお、IP通知情報をアプリケーションレイヤーに提供するために選択された現在の構造は、ここに記載されている特定のオペレーティングシステムに限定されるものではない。
例示されたオペレーティングシステムは、通知プラグイン370と通知モジュール380を使用するが、適切なIPアドレス監視と通知機能を提供するのに適した、異なるオペレーティングシステム構成も考えられ、そして既存または将来のオペレーティングシステムとモバイル環境にとって有利でありうる。
【0028】
図4は、図3に関して説明したモバイル・ノードアーキテクチュアの例の詳細を、概略的に示したものである。
このアーキテクチュアは、アプリケーションレイヤー410とオペレーティングシステム(OS)カーネル420を備えている。
この実施例で使用された通知メカニズムは、四つの別個のエンティティを含んでいる。
これらのエンティティは、アドレス管理モジュール435、通知プラグイン370、通知モジュール380と通知ハンドラー490である。
【0029】
OSカーネル420は、IPスタック430を備え、図3について説明したアドレス追加モジュール350とアドレス除去モジュール360を含むアドレス管理モジュール435を備えている。
図3と同様に、アドレス追加モジュールおよびアドレス除去モジュールは、IPスタックアドレステーブル340に、IPアドレスを追加あるいは除去するために使用される。
一般的にあらゆるIPスタックのOS実現には、IPアドレス管理のためのテーブル、およびテーブルのこれらのアドレスを管理するための関連する方法のセットを含んでいる。
例えば、Linux(登録商標)用のIPv6スタックバージョン1.23は、inet6_addr_lstと称するテーブルを使用し、IPアドレスが取得または喪失される度に、このテーブルにIPアドレスを挿入または消去するipv6_add_addr()とipv6_del_addr()と称する方法を使用する。
同様に、Windows(登録商標)用のMicrosoft(登録商標)IPv6スタックバージョン1.4は、IPアドレスの追加のためにAddrObjオブジェクトのリストである、InsertAddrObj()方法を使用し、IPアドレスの削除のためにRemoveAddrObj()方法を使用する。
【0030】
OSカーネル420は、通知モジュール380を備えている。
通知モジュールは、それ自体がアクティブIPアドレスのテーブルを維持することができる。
通知モジュールは、アドレスが削除されたことをIPスタックによって通知されたとき、テーブルから対応するアドレスを除去し、このアドレスが削除されたことをアプリケーションプログラムに通知する。
メカニズムは、アプリケーションプログラムが使用することのできる代替IPアドレスを(利用可能な場合)提供することもできる。
このようにして通知メカニズムは、ノードのIPアドレスの変更をさまざまなアプリケーションプログラムに通知することができる。
【0031】
IPスタック430は、通知プラグイン370も備えている。
これは、通知モジュール380と相互作用するために修正されなければならないIPスタックコードの部分であり、通知メカニズムの開始と停止を可能にする。
これは、アプリケーションレイヤー410内でアプリケーションプログラムと積極的に通信することを可能にするための標準IPスタックの拡張である。
【0032】
通知プラグイン370は、通知モジュール380の機能を呼び出し可能にする機能ポインタを含んでいる構造を定義するものである。
通知機能が積み込まれているとき、通知モジュール380は、構造の機能ポインタをセットし、それはマクロを用いるIPスタックによってアクセスすることができる。
マクロは対応するポインタが有効か(すなわち、通知機能が開始されていないか、あるいは利用できないことを意味するNULLでないこと)を検査し、対応する通知機能を呼び出す。
【0033】
アプリケーションプログラムがIPアドレスの変更の通知を受けるために、通知ハンドラー490がアプリケーションレイヤー410に組み込まれる。
通知ハンドラー490は、好適にはアプリケーションプログラムインターフェイス(API)を用いてOSカーネルの通知モジュール380と連動し、アプリケーションレイヤー410のアプリケーションプログラムに通知モジュール380によって送られた通知メッセージを処理し、アプリケーションプログラムがシステムに利用可能なIPアドレスに関する情報の受信と使用を可能にする。
【0034】
通知ハンドラー490の例としての実現は、「イベントメッセージ通信」の周囲に配置され、オペレーティングシステム420の通常イベントシステムを介してIPアドレスの変更が発生したときに、通知モジュールからイベントを受信するアプリケーションプログラムから成る。
この場合、新しい対のイベントがオペレーティングシステム420に登録や宣言されなければならない。イベントは、オペレーティングシステム420のIPスタックアドレステーブル340にIPアドレスが追加されたことの通知と、オペレーティングシステム420のIPスタックアドレステーブル340からIPアドレスが削除されたことの通知に対応する。
これらのイベントに関連するパラメータは、追加または除去された関連するIPアドレスになる。
オペレーティングシステム420に、これらのイベントを追加することで、アプリケーションプログラムデベロッパは、所与のアプリケーションプログラムのモビリティ特性に対する制御を維持することができる。
【0035】
通知ハンドラー490の他の実施態様は、アプリケーションプログラムデベロッパに提供できるようなカスタムアプリケーションプログラミングインターフェイス(API)の周囲に配置される。
供給されたAPIは、メッセージ通信機能を処理し、アプリケーションプログラムに対する機能コールバックを使用する。
アプリケーションプログラムデベロッパは、このとき通知メカニズムをアプリケーションプログラム自体の中に埋め込んで、提供されたAPIで自己のアプリケーションプログラムを開発できる。
APIは、IPアドレスの変更通知を受け取るために通知モジュール380と整合し、通知のための指定ソケットに接続し、特定の予め定められたイベントをアプリケーションプログラムに通知する方法を提供する。
アプリケーションプログラムが通知を受ける代表的なイベントは、モバイル・ノードが操作可能なIPアドレスをもはや持たず、どのネットワークにも接続されていないこと、新規IPアドレスを使用しなければならないこと、あるいは使用される新規IPアドレスが提供されている場合、現在のIPアドレスがもはや利用できないことの通知を含むことができる。
【0036】
図5は、第1のネットワークから第2のネットワークへのモバイル・ノードの引き渡しの際に発生することのあるIP更新プロセスを概略的に示している。
本発明の実施態様は、モバイル・ノード上のIPアドレスの変更をアプリケーションプログラムに通知するための一般的解決法を提供しようと努めるものである。
先に説明したIP更新プロセスは、IPスタックとアプリケーションレイヤーの間の通信のための便宜を提供し、IPスタックが、IPアドレスの変更を関連するアプリケーションプログラムに通知することを可能にする。
【0037】
上述の構成において、IPアドレスによるアプリケーションレイヤーの通知は、IPスタックアドレステーブル340への変更によって引き起こされる。
IPスタックのそれぞれの実施態様は、利用可能なIPアドレスの全てを「管理する」機能を特徴とする。
これが変更されたとき(すなわち、アドレスがテーブルに追加や除去されたとき)、通知システムはイベントを発生する。
このときシステムに設置した通知モジュール380は、開始することができる。マルチメディアアプリケーションプログラムなどの関連するアプリケーションプログラムに分配するために、すべてのIPスタック動作が、通知モジュール380に報告されるように、IPスタックと関連するアプリケーションプログラムの間を連結するように操作できるようになる。
【0038】
図5において、二つの無線移動ネットワークであるネットワークAとネットワークBが、重複サービスエリアを提供する状況が図示されている。
この例において、モバイル・ノードは、ネットワークAからネットワークBのサービスエリアへと移動するストリーミング・メディアセッションを作動させる。
モバイル・ノードは、ネットワークAによって提供されたサービスエリアからネットワークBによって提供されたサービスエリアに移動するときに加入を変更し、所与の時間に関連するネットワークからIPアドレスを取得する。
なお、この例では無線ネットワークを使用したが、無線または固定にかかわらず、同じ原理がどんなIPネットワークとアクセスネットワークにも適用される。
【0039】
基本的加入移転段階は、図5のステージS1からS4に見るとおりである。
ステージS1において、モバイル・ノードは、当初ネットワーク(ネットワークA)に帰属している。
モバイル・ノードにネットワークAによって先に割り当てられた既存のIPアドレスは、IPスタックアドレステーブルに現れる。
通知機能(通知モジュール380と通知プラグイン370)は、システムに積み込まれるが、この段階では待機状態である。
メディアセッション、例えばストリーミングセッションは、対応するノードによって開かれるが、対応するノードは図5に示されていない。
【0040】
ステージS2において、モバイル・ノードは、別のネットワーク(ネットワークB)に帰属する。
モバイル・ノードは移動しているため、ネットワークBのサービスエリアに入り、そしてネットワークAに加入しているにもかかわらず、ネットワークBからIPアドレスを取得する。
この時点で、このときIPスタックアドレステーブル340は、ネットワークAによって当初割り当てられたIPアドレスとネットワークBによって割り当てられた新規IPアドレスの、二つのIPアドレスを含む。
当初待機状態であった通知プラグイン370は、テーブルに第2のIPアドレスを挿入することによって起動され、IPアドレスの追加を通知モジュール380に知らせることで反応する。
通知モジュール380の役割には、モバイル・ノード上で動作しているアプリケーションプログラムとのインターフェイスによる連結が含まれる。
したがって、今度はそれが、新規IPアドレスが利用可能であることをセッションに基づくアプリケーションプログラムに知らせる。
つぎに、この情報は、アプリケーションプログラムによって処理され、例えば、モバイル・ノードの新規IPアドレスを用いることにより、他のノード上の対応するアプリケーションプログラムとのセッションの再交渉をするかどうかを決定することができる(ここはそれに該当する)。
【0041】
ステージS3において、モバイル・ノードは、ネットワークAのサービスエリアを出て、それによりそのネットワークとの接続を、そして結果的にネットワークAに対応するIPアドレスを喪失する。
ネットワークAによって当初割り当てられたIPアドレスは、IPスタックのIPアドレステーブル340から除去される。
ネットワークBのIPアドレスは、IPスタックの中に残る。
IPアドレスの一つがIPスタックによって削除されたとき、通知プラグイン370は、この削除を通知モジュール380に知らせる。
IPアドレス追加と同様な仕方で、通知モジュール380は、IPアドレスの削除をメディアセッションアプリケーションプログラムに知らせる。
つぎにアプリケーションプログラムは、そのプログラミングに応じて適切な手順を開始することができる。
図5の例において、アプリケーションプログラムはこの情報を無視する。
【0042】
ステージS4において、加入とアクティブIPアドレスの変更が完了し、そして通知機能は、待機状態に戻る。
メディアセッションは、ネットワークBによって割り当てられたIPアドレスを使用し続ける。
【0043】
図6は、オペレーティングシステムのIPレイヤーでのIPスタックアドレステーブルへのIPアドレスの追加が、アプリケーションプログラムに通知されるプロセスを概略的に示している。
ステップA1にて、通知モジュールが開始されたとき、通知プラグインは、IPスタックのアドレス管理モジュールに積み込まれる。 h
ステップA2で、モバイル・ノードのOSカーネルは、モバイル・ノードが加入プロセスを開始しているネットワークから新規IPアドレスを取得する。
ステップA3で、IPスタックアドレス管理モジュールのアドレス追加方法が呼び出される。
ステップA4で、新規IPアドレスがIPスタックのアドレステーブルに追加される。
ステップA5で、アドレス追加方法は、IPアドレスの変更を通知に知らせるために、通知プラグインによって指定された対応する通知モジュール方法を呼び出す。
ステップA6で、通知モジュールは、利用可能なIPアドレスの自身の内部記録を更新する。
ステップA7で、通知モジュールは、モバイル・ノードが新規IPアドレスを取得したことを、通知機能に加入した任意のアプリケーションプログラムに通知する。
【0044】
図7は、オペレーティングシステムのIPレイヤーにおける、IPスタックアドレステーブルからIPアドレスを削除することをアプリケーションプログラムに通知するときに取られるステップを概略的に示したものである。
ステップD1において、通知モジュールが開始されたとき、通知プラグインは、IPスタックのアドレス管理モジュールに積み込まれる。
ステップD2で、モバイル・ノードのOSカーネルは、IPアドレスの喪失を検出する。
ステップD3で、IPスタックのアドレス管理モジュールのアドレス除去方法が呼び出される。
ステップD4で、IPアドレスが、IPスタックのアドレステーブルから除去される。
ステップD5で、アドレス除去方法は、IPアドレスの変更を通知に知らせるために、通知プラグインによって指定された対応する通知モジュール方法を呼び出す。
ステップD6で、通知モジュールは、モバイル・ノードが利用可能なIPアドレスの自分の内部記録を更新する。
ステップD7で、通知モジュールは、モバイル・ノードが特定のIPアドレスをもはや使用していないことを、通知機能に加入した任意のアプリケーションプログラムに通知し、利用可能であれば、自己の内部IPアドレステーブルから使用される別のIPアドレスを提供する。
【0045】
以上説明した例としての実施態様にはさまざまな変更が可能であるが、それらは本発明の範囲を逸脱するものではない。
本発明の実施態様をモバイルIPv6について説明したが、本発明の実施態様は例えば、IPv4を含む他のインターネットプロトコルにも応用できる。
さらに本発明を用いる通信ノードは、無線通信装置を含まず、単にIPアドレスミッドセッションを変更する構成とすることもできる。
さらに、対応するノードもモバイルとすることができる。
【符号の説明】
【0046】
105 送受信器
106 送受信器
110 ネットワーク
115 ルーター
120 ネットワーク
125 ルーター
130 ネットワーク
135 ルーター
140 ネットワーク
145 ルーター
210 アプリケーションプログラム
220 オペレーティングシステム
230 IPスタック
240 IPスタックアドレステーブル
250 アドレス追加モジュール
260 アドレス除去モジュール
310 アプリケーションプログラム
320 オペレーティングシステム
330 IPスタック
340 IPスタックアドレステーブル
350 アドレス追加モジュール
360 アドレス除去モジュール
370 通知プラグイン
380 通知モジュール
410 アプリケーションレイヤー
420 オペレーティングシステム(OS)カーネル
430 IPスタック
435 アドレス管理モジュール
490 通知ハンドラー
【先行技術文献】
【特許文献】
【0047】
【特許文献1】特開2003−333072号公報

【特許請求の範囲】
【請求項1】
アプリケーションプログラムを支援するオペレーティングシステムを提供し、
オペレーティングシステムが備えるインターネットプロトコルスタック内に保存されたインターネットプロトコルアドレスから引き出されるインターネットプロトコルアドレス情報の変更を監視するようにオペレーティングシステムを構成し、
インターネットプロトコルアドレス情報の変更を、アプリケーションプログラムに通知するようにオペレーティングシステムを構成し、
インターネットプロトコルアドレス情報の変更に応じて通信セッションを適合させるようにアプリケーションプログラムを構成することにより、
モバイル・ノード上で動作するアプリケーションプログラムを用いた通信セッションを提供し、
通信セッションが、インターネットプロトコルを用いたものである、通信方法。
【請求項2】
適合が、アプリケーションプログラムからの新規インターネットプロトコルアドレス情報を、対応するノード上で動作している対応するアプリケーションプログラムへと伝達することを含むことを特徴とする、請求項1に記載の方法。
【請求項3】
アプリケーションプログラムが、セッション開始プロトコルメッセージを用いて対応するアプリケーションプログラムに通知することを特徴とする、請求項2に記載の方法。
【請求項4】
新規インターネットプロトコルアドレスを有する対応するノードから受信したインターネットプロトコルパケットを監視し、
現在使用されているインターネットプロトコルアドレスを有する対応するノードから受信したインターネットプロトコルパケットを監視し、
現在使用されているインターネットプロトコルアドレスが、モバイル・ノードの第1のネットワークとの加入に対応し、
新規インターネットプロトコルアドレスが、第2のネットワークに関連づけられることから成ることを特徴とする、請求項2または請求項3に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−23722(P2012−23722A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2011−132317(P2011−132317)
【出願日】平成23年6月14日(2011.6.14)
【分割の表示】特願2005−105553(P2005−105553)の分割
【原出願日】平成17年4月1日(2005.4.1)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.GSM
【出願人】(591034154)フランス・テレコム (290)
【Fターム(参考)】