(57)【要約】【課題】複数のネットワークインターフェイスを備えるデバイスのアプリケーションが、データの送信のために、ネットワークインターフェイスの中から選択することを可能にする方法を提供すること。【解決手段】アプリケーションとプロトコルスタックのネットワーク層との間のインターフェイスが、ネットワークインターフェイスの利用可能性についての情報をアプリケーション５に提供し、アプリケーション６１によってネットワークインターフェイスが選択され、そして選択されたネットワークインターフェイスをパラメータとしてネットワーク層６２に送信するために提供されている。【選択図】      図５
2006072969.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークインターフェイスの利用可能性についての情報をアプリケーションに提供することと、
アプリケーションによってネットワークインターフェイスを選択することと、
選択されたネットワークインターフェイスをパラメータとしてネットワーク層に送信することとのために、アプリケーションとプロトコルスタックのネットワーク層との間にインターフェイスを提供することによって、複数のネットワークインターフェイスを備えるデバイスのアプリケーションが、データの送信のために、ネットワークインターフェイスの中から選択することを可能にする方法。
【請求項２】
アプリケーションとネットワーク層との間のインターフェイスが、Ｊａｖａ（登録商標）インターフェイスである請求項１に記載の方法。
【請求項３】
プロトコルおよびネットワークインターフェイスについての情報を収容するオブジェクトが、接続されたネットワークインターフェイスをパラメータとしてネットワーク層に送信するように、アプリケーションによって生成される請求項１に記載の方法。
【請求項４】
ネットワークインターフェイスの利用可能性についての情報が、内部データグラムにより提供される請求項１に記載の方法。
【請求項５】
ネットワークインターフェイスの利用可能性についての情報が、ネットワーク層から情報を照会する、アプリケーション層により提供される請求項１に記載の方法。
【請求項６】
ネットワーク層レベルの他のアプリケーションを呼び出すステップをさらに含む請求項１に記載の方法。
【請求項７】
請求項１から６のいずれか一項に記載の方法の実装形態の手段を備えることを特徴とする、複数のネットワークインターフェイスを備えるデバイス。
【請求項８】
デバイスが移動体であることを特徴とする請求項７に記載のデバイス。
【請求項９】
請求項１から６のいずれか一項に記載の方法を実装することを特徴する、複数のネットワークインターフェイスを備えるデバイスのアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気通信に関し、より詳細には、複数のネットワークインターフェイスを備えるデバイスのアプリケーションが、データを送信するネットワークインターフェイスの中で、複数のインターフェイスを備えるデバイスおよびデバイス用のアプリケーションを選択することを可能にする方法に関する。
【背景技術】
【０００２】
さまざまな規格の無線および有線ネットワークを利用する可能性は増大しており、複数のネットワークを利用可能な新しいデバイス（いわゆる「マルチホーム（ｍｕｌｔｉ−ｈｏｍｅｄ）」デバイス）が市販されるようになっているので、プロバイダがこれらの異機種ネットワークを介してサービスを提供することが、ますます一般的になると見込まれる。これは、主に、移動体デバイスに関連しており、この分野では、代替のネットワークインターフェイス、例えば、ＧＰＲＳ（ｇｅｎｅｒａｌ  ｐａｃｋｅｔ  ｒａｄｉｏ  ｓｅｒｖｉｃｅ）に加えて、ＷＬＡＮ（ｗｉｒｅｌｅｓｓ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ：無線ＬＡＮ）またはＢｌｕｅｔｏｏｔｈを備える、ラップトップコンピュータ、タブレットコンピュータ、ＰＤＡ（ｐｅｒｓｏｎａｌ  ａｖｉｌａｂｉｌｉｔｙ  ａｓｓｉｓｔａｎｔｓ：携帯情報端末）およびＧＳＭ（ｇｌｏｂａｌ  ｓｙｓｔｅｍ  ｆｏｒ  ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）携帯電話など、ネットワークの利用可能性が頻繁に変化している。
【０００３】
これらの多くのデバイスには、プログラムで１つのインターフェイスの起動または停止を行うことができる、ネットワーク層がある。プログラムで１つのネットワークインターフェイスの起動または停止を行うことは、デバイス上のすべてのアプリケーションに影響を及ぼしてしまい、きめ細かいアプリケーションごとのネットワークの選択が不可能になる。例えば、１つのアプリケーションが少量のデータを高信頼性のコストのかかるネットワークを介して送ることができる必要がある一方で、別のアプリケーションは、大規模な転送のために、コストのかからない、一時的ネットワークを選択できる必要もあるはずである。
【０００４】
別の可能性としては、パケットが希望する宛先により特定のネットワークインターフェイスへ送ることができるように、プログラムで変更可能なＩＰルーティングテーブルを提供するＩＰ（ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ：インターネットプロトコル）接続のデバイスを使用する場合である。しかし、同じ宛先用にさまざまなネットワークの使用を可能にするルーティングテーブルを作成することは不可能である。
【０００５】
ソケットＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｔｏｃｏｌ  ｉｎｔｅｒｆａｃｅ：アプリケーションプロトコルインターフェイス）を提供するＩＰ接続デバイスを使用している場合、特定のネットワークインターフェイスは、ネットワークインターフェイスのＩＰアドレスを指定することで選択できる。しかし、ソケットＡＰＩを使用するＩＰ接続デバイスは、基礎をなすネットワークが変更されるときに、変更を追跡しそれらのＩＰアドレスを突き止め、ＩＰアドレスとネットワークインターフェイスを整合させる必要がある。さらに、アプリケーションがネットワークインターフェイスと対話する前に、そのネットワークインターフェイスに対するＩＰアドレスが存在するという要件がある。
【０００６】
ＧＰＲＳによるデータ転送およびＢｌｕｅｔｏｏｔｈによるデータ転送に対して異なるシステムコールを使用する、Ｓｙｍｂｉａｎオペレーティングシステムを使っている場合など、携帯電話はよく、利用可能な各ネットワークインターフェイスに対して別々のＡＰＩを有している。さまざまなネットワークインターフェイスに対して異なるＡＰＩを提供すると、アプリケーションごとのきめ細かいインターフェイスの制御が可能になるが、各インターフェイス／ＡＰＩ用にアプリケーションのネットワーキングコンポーネントの書き換えが必要になる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、複数のネットワークインターフェイスを備えるデバイスを使用する際に、アプリケーションごとのきめ細かいネットワークインターフェイスの選択を可能にすることである。
【課題を解決するための手段】
【０００８】
この目的は、他の目的にとともに、請求項１による方法、請求項７によるデバイス、および請求項９によるアプリケーションによって実現する。本発明のさらなる利点は従属請求項に示されている。すべての請求項は、本明細書の構成部分であると理解されたい。
【発明の効果】
【０００９】
本発明によるインターフェイスを提供することで、ネットワーク層が１つのアプリケーションに対して、さまざまなネットワークインターフェイスを使用できるようにすることが可能である。ネットワーク層とは、プロトコルスタックの複数の層の１つである。これは、種々の長さのデータシーケンスを、１つまたは複数のネットワークを介してソースから宛先まで転送する機能的および手順上の手段を提供する。詳細には、ネットワーク層がメッセージに対応し、論理アドレスおよび論理名を物理アドレスに変換する。プロトコルスタックの他の層には、例えば、デバイスの電気的および物理的仕様を定義する物理層、またはアプリケーションに共通のアプリケーションサービスを行うアプリケーション層などがある。プロトコルスタックについては、例えば、ＯＳＩ（Ｏｐｅｎ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）参照モデルで詳細に説明されている。
【００１０】
新しいインターフェイスの主な利点の１つは、データの送信に使用される特定のネットワークインターフェイスに依存していないことである。本発明によるインターフェイスは、ネットワークインターフェイスを選択する際に、豊富な柔軟性が可能になる。アプリケーションはネットワークインターフェイスの利用可能性についての情報を取得し、さらに、データサイズ、優先順位、コスト、伝送速度などのパラメータを検討し、ある特定のネットワークインターフェイスを選択することができる。次に、そのインターフェイスを介して、アプリケーションは、選択したネットワークをパラメータとして、ネットワーク層に送信する。この情報を使って、ネットワーク層は選択されたネットワークインターフェイスを使用した接続を確立することができる。
【００１１】
本発明の詳細な説明は以下で行われる。述べられている説明は、添付図面を参照して読むための、非限定的な実施例として提供されている。
【発明を実施するための最良の形態】
【００１２】
図１は、実行中のアプリケーション２を備える移動体デバイス１を概略的に示している。デバイス１から地点４に、またはその逆方向にデータを送信するには、プロトコル３が必要とされ、それによってネットワークを介しての接続の確立、データの処理、および実際のデータの送信が行われる。プロトコル３は、アプリケーション２および／またはデバイス１および／または地点４の一部または全体に実装される。
【００１３】
デバイス１は、例えば、携帯電話、ラップトップ、ＰＤＡ、またはタブレットコンピュータとすることができるはずである。使用可能なアプリケーション２は、例えば、ＳＭＳ（ｓｈｏｒｔ  ｍｅｓｓａｇｅ  ｓｅｒｖｉｃｅ：ショートメッセージサービス）、ＭＭＳ（ｍｕｌｔｉｍｅｄｉａ  ｍｅｓｓａｇｅ  ｓｅｒｖｉｃｅ）、電子メール、音楽、同期データの送信／受信などとすることができるはずである。一般的に知られているいくつかのプロトコルには、例えば、ｈｔｔｐ、ｆｔｐ、ｔｅｌｎｅｔ、ＴＣＰ／ＩＰ、およびイーサネット（登録商標）がある。
【００１４】
相互に接続されたアプリケーションは、抽象的に、階層構造を有するもの（図２を参照）として説明することができるので、一般的に、プロトコルスタック３に言及される。ＯＳＩ参照モデルでは、例えば、各層には、より下層の機能だけを使用し、機能性のみをより上層にエクスポートする属性がある。プロトコルスタックは、ハードウェアまたはソフトウェアのいずれか、あるいは、その両方を組み合わせたもので実装することができる。通常、下の方の層はハードウェアで、上の方の層はソフトウェアで実装される。スタックの層の１つはネットワーク層３１である。
【００１５】
アプリケーション２は、適正な接続を確立するために、プロトコル３のネットワーク層３１と通信して、データの伝送に使用するネットワークインターフェイスの選択のために、ネットワークインターフェイスの利用可能性に関する必要な情報を取得して、ネットワーク層３１に選択したネットワークインターフェイスを通知する必要がある。本発明によると、アプリケーション２とネットワーク層３１間の適切なインターフェイス（図２では矢印で表示）は、アプリケーション２からネットワーク層３１への選択したネットワークインターフェイスの送信を可能にするものが提供される。
【００１６】
本発明の好ましい実施形態では、このインターフェイスは、普通の規格に基づくＪａｖａ（登録商標）インターフェイスである。アプリケーションレベルおよびネットワーク層レベルの仮想マシンは、アプリケーションが選択したネットワークインターフェイスをパラメータとして送信できるように、また、ネットワーク層が選択されたネットワークインターフェイスをパラメータとして受け取ることができるように変更される。そのようにすることによって、この実装形態はトランスペアレントなものとなり、すなわち、本発明によるインターフェイスを備えるアプリケーションの他のすべての機能はすべてのネットワーク層を使って通常どおりに実行され、他のアプリケーションもこのインターフェイスを有するネットワーク層を使って通常どおりに実行され、そして、適合されていないネットワーク層を使う本発明によるアプリケーション、例えば、アプリケーション側の一部にだけ実装されているインターフェイス、が定義されたエラーメッセージを生成する。
【００１７】
図３では、本発明による方法の一実施形態の実施例がより詳細に説明されている。主にアプリケーション側で起きる動作が普通線のボックスで表示され、主にネットワーク層側で起きる動作は破線のボックスで表示されている。
【００１８】
ネットワークインターフェイスを選択できるようにするには、アプリケーションは最初、ネットワークインターフェイスが使用可能であることを知る必要がある。このことは、アプリケーションを実行中のデバイスのハードウェアコンポーネントだけではなく、どのようなネットワークが使用可能であるかにも左右される。普通の移動体デバイスを考慮している場合、使用可能なネットワークには、例えば、ＷＬＡＮ、Ｂｌｕｅｔｏｏｔｈ、ＧＳＭがある。この必要な情報を獲得する１つの可能性が図３に例示されている。アプリケーションはシステム属性に照会することで、ネットワークインターフェイスの利用可能性についての情報を見つけることができる（動作５１）。Ｊａｖａ（登録商標）インターフェイスを使用する場合、ＭＩＤＰ２．０規格を使用し、ＭＩＤＰの属性に照会することが好ましい。ネットワーク層は、照会された情報を提供することによって、アプリケーションの照会に返信する（動作５２）。
【００１９】
別の可能性が図４に例示されている。そこでは、アプリケーションは、内部ソケットのＩＰデータグラムを介して通知される（動作５３）。この動作はアプリケーションまたはネットワーク層に限定されていないので、表示ボックスはダッシュ破線で示している。この可能性は、頻繁にネットワークの利用可能性の変更を処理する、移動体デバイスにとって利点となる。データグラムを使用することで、アプリケーションは常時、ネットワークの変更を通知されることができる。
【００２０】
いったんアプリケーションに、ネットワークインターフェイスの利用可能性に関する必要な情報が提供されると、アプリケーションは、そのネットワークインターフェイスの選択を開始することができる（動作６）。さらに、重要な選択基準には、データサイズ、優先順位、伝送速度、コストなどがある。それぞれのアプリケーションは、それ独自の特定の選択基準を有し、さまざまなデータを同じ地点への、またはそこからの送信のために、さまざまなネットワークインターフェイスを選択することができる。これによって、使用可能なネットワークインターフェイスが常時、最適に使用されることが保証される。
【００２１】
使用可能なネットワークインターフェイスから好ましいネットワークインターフェイスを知能的に選択した後、ネットワーク層には選択されたネットワークインターフェイスが通知され（動作６）、アプリケーションからの、またはそこへのデータの伝送（動作８１）を可能にするために、この選択されたインターフェイスを介して接続を生成する（動作７）。
【００２２】
図４で概略的に例示している、好ましい実施形態では、ネットワーク層は、選択されたインターフェイスを介して接続を生成する（動作７）だけではなく、追加のアプリケーションも起動する（動作８２）。こうすることによって、ネットワークインターフェイスの利用可能性のさまざまなレベルに、アプリケーションがアクセスできるようになる。例えば、ＷＬＡＮ媒体が利用可能な場合、認証クライアントが関係あるはずで、ＩＰの接続性を取得するためにデバイスの認証を起動できるはずである。ＩＰ接続性が使用可能な場合、後続のアプリケーションはネットワークインターフェイスに関係があるはずである。追加のアプリケーションも最初のアプリケーションにより起動することができる。認証クライアントのように、接続のプロセスに深く関係するアプリケーションは、ネットワーク層により自動的に起動されることが好ましい。
【００２３】
図５は、アプリケーションとネットワーク層との間でＭＩＤＰ２．０規格によるＪａｖａ（登録商標）インターフェイスを使用した、本発明による方法の実施形態をより詳細に示している。Ｊａｖａ（登録商標）ＭＩＤＰ２．０環境には、移植性が高いという利点がある。この環境の本発明による方法の実装形態を使うと、本発明による方法が広範囲のデバイスに適用できるようになる。この環境では、ネットワークサービスとの接続は、通常、ＨｔｔｐＣｏｎｎｅｃｔｉｏｎと呼ばれる、明確に定義されたＪａｖａ（登録商標）インターフェイスによって行われ、これは、ＵＲＬ（ｕｎｉｖｅｒｓａｌ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ）をパラメータとして取得する。通常、「ｈｔｔｐ：／／ｐａｔｈ／ｔｏ／ｒｅｓｏｕｒｃｅ」などのＵＲＬの場合、プロトコル（この場合はｈｔｔｐ）は、基礎となるネットワークインターフェイスには依存していない。データは、適切なネットワークインターフェイスを選択するのにＩＰルーティングテーブルを使用する、ＴＣＰ／ＩＰスタックへ送られる。
【００２４】
照会と返信または内部データグラムのいずれかによって、ネットワーク利用可能性の情報を取得して（動作５）、使用するネットワークインターフェイスの選択の後（動作６１）、アプリケーションはオブジェクト「ｈｔｔｐＧＰＲＳ：／／ｐａｔｈ／ｔｏ／ｒｅｓｏｕｒｃｅ」を生成する（動作６２）。こうして、本発明による方法の実装形態によって、指定されたＵＲＬのプロトコルが、明示的にネットワークインターフェイス（この場合はＧＰＲＳ）を選択できるという機能性が、Ｊａｖａ（登録商標）仮想マシンに追加される。つまり、ＵＲＬ「ｈｔｔｐＧＰＲＳ：／／ｐａｔｈ／ｔｏ／ｒｅｓｏｕｒｃｅ」を使用するＨｔｔｐＣｏｎｎｅｃｔｉｏｎは、常時、ＧＰＲＳインターフェイスを介するネットワーク接続を構築することになる。同様に、同じアプリケーションはＵＲＬ「ｈｔｔｐＷｉＦｉ：／／ｐａｔｈ／ｔｏ／ｒｅｓｏｕｒｃｅ」を指定することができ、これは常時、ＷＬＡＮインターフェイスを介して接続を構築するはずである。ＨｔｔｐＣｏｎｎｅｃｔｉｏｎオブジェクトが作成された後、その基礎となるアプリケーションは、アプリケーションに対して、まったくトランスペアレントなものとなる。
【００２５】
ネットワーク層は、ＨｔｔｐＣｏｎｎｅｃｔｉｏｎオブジェクトにより接続を生成する（動作７１）。適切なネットワークインターフェイスが、アプリケーションによって指定されたプロトコルに使用されていることを保証する責任がある。ＭＩＤＰ２．０などのＪａｖａ（登録商標）規格は、中断することなく拡張されることに留意することは重要である。こうして、Ｊａｖａ（登録商標）規格と互換性のある既存のアプリケーションは、本発明の特徴を含むように、容易に変更されることが可能である。
【００２６】
本発明による方法は、ネットワークインターフェイスの選択によって、アプリケーションごとのきめ細かい制御を提供するが、ネットワークインターフェイスが選択された後には、ネットワークインターフェイスの透過性を保持する。したがって、ネットワークインターフェイスの利用可能性および選択されたネットワークインターフェイスについての情報のこの交換を利用するために、本方法をソフトウェアおよび／またはハードウェアとして実装するアプリケーションを記述し、デバイスを構築することができ、こうして、とりわけ移動体デバイスのユーザーに対して、柔軟性があり、応答性のあるサービスを提供できる。
【産業上の利用可能性】
【００２７】
本発明は、ＭＭＳ配信に関するさらなる実施例で、より明確に例示されるはずである。携帯型コンピュータには、複数のネットワークインターフェイス、すなわち、ＷＬＡＮカードを使用するＷｉＦｉおよび接続された携帯電話および／または有線ＬＡＮを使用するＧＰＲＳが装備されているとする。アプリケーションは、複数のネットワークインターフェイスを利用するために記述されているとする。詳細には、ＭＭＳを作成し、ＧＰＲＳによって直ちに送ったり、端末がＷＬＡＮホットスポットに入るまで待機する機能が、ユーザーに提供されているとする。同様に、ＭＭＳの通知を受信すると、ユーザーは、直ちにそれをダウンロードする。この場合、接続がよりコストのかかる速度の遅いＧＰＲＳによって行われるとき、ユーザーはＷＬＡＮの接続性の方を好むか、あるいは、端末がＷＬＡＮホットスポットに入るまで待機するのいずれかを行うことできるはずである。これによって、ユーザーは端末から、より多くの選択肢や応答性を提供され、それは、サービスの使用法の増大およびサービスプロバイダにとっては収益の増大につながるはずである。
【００２８】
本発明のいくつかの好ましい実施形態を説明してきたが、当業者なら、種々の変形、変更、および代用が本発明の趣旨や概念を逸脱することなく行うことができることを理解されよう。
【図面の簡単な説明】
【００２９】
【図１】データ伝送の概念を概略的に示す図である。
【図２】アプリケーションおよびネットワーク層を概略的に示す図である。
【図３】本発明による方法の第１の実施形態を概略的に示す図である。
【図４】本発明による方法の第２の実施形態を概略的に示す図である。
【図５】本発明による方法の第３の実施形態を概略的に示す図である。
【符号の説明】
【００３０】
１  移動体デバイス
２、５、６１  アプリケーション
３  プロトコルスタック
４  地点
３１、６２  ネットワーク層
【図１】
2006072969.tif 000003
【図２】
2006072969.tif 000004
【図３】
2006072969.tif 000005
【図４】
2006072969.tif 000006
【図５】
2006072969.tif 000007
【外国語明細書】
2006072969.tif 000008
2006072969.tif 000009
2006072969.tif 000010
2006072969.tif 000011
2006072969.tif 000012
2006072969.tif 000013
2006072969.tif 000014
2006072969.tif 000015
2006072969.tif 000016
2006072969.tif 000017
2006072969.tif 000018
2006072969.tif 000019
2006072969.tif 000020
2006072969.tif 000021
2006072969.tif 000022