JP2008546321A - マルチホーミングマルチモード通信デバイスにおけるデータインターフェースの選択 - Google Patents
マルチホーミングマルチモード通信デバイスにおけるデータインターフェースの選択 Download PDFInfo
- Publication number
- JP2008546321A JP2008546321A JP2008514882A JP2008514882A JP2008546321A JP 2008546321 A JP2008546321 A JP 2008546321A JP 2008514882 A JP2008514882 A JP 2008514882A JP 2008514882 A JP2008514882 A JP 2008514882A JP 2008546321 A JP2008546321 A JP 2008546321A
- Authority
- JP
- Japan
- Prior art keywords
- data
- application
- data interface
- network
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/308—Route determination based on user's profile, e.g. premium users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/18—Selecting a network or a communication service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/08—Access point devices
- H04W88/10—Access point devices adapted for operation in multiple networks, e.g. multi-mode access points
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/04—Network layer protocols, e.g. mobile IP [Internet Protocol]
Abstract
【解決手段】マルチホーミングネットワークデバイスからデータネットワークにデータを送信および受信する方法が開示され、ネットワークポリシーを定義することと、当該ネットワークポリシーをルーティングモジュールに送信することとを含む。さらに、方法は、ルーティングモジュールから経路範囲を受信することを含む。経路範囲はネットワークポリシーを満足するデータネットワークに対するデータインターフェースのサブセットを識別し、ここにおいてデータインターフェースのサブセットは1組の利用可能なデータインターフェースから選択され、ここにおいてデータインターフェースのサブセットは少なくとも1つのデータインターフェースを含む。
【選択図】 図3
【選択図】 図3
Description
本出願は、2005年6月1日に出願された米国仮出願第60/686,844号に基づいて優先権を主張するものである。
概して、本開示はネットワークデバイスに関する。より具体的には、本開示はマルチホーミング(multi-homing)ネットワークデバイスに関する。
近年、稼働している無線ハンドセットの数が劇的に増加した。これらの移動体デバイスに対する需要の増加に伴って、製造業者は、非常に多くのデータサービスを含むようにこれらのデバイスを組み立てている。データサービスのこの集約は、無線デバイスをデータネットワーキングのための強力なリソースにすることができる。しかし、無線デバイスによって提供されるデータサービスの増加が原因で、無線デバイスに対する悪質な攻撃の数も増加した。したがって、これらのデバイスを悪意ある攻撃から守りたいという増大する要望がある。
無線電話は、それらのデータインターフェースを通じて無線電話がデータを受取りおよび送信することができる多数のデータインターフェースを含むマルチホーミングデバイスになった。いつでも、特定の無線電話内で、これらのデータインターフェースの2つ以上が、インターネットまたは別のデータネットワークとの直接のデータ転送のために開いていることができる。大抵は、移動体デバイス内のデータプロトコルスタック(stack)は、デバイスのマルチプル(multiple)のデータインターフェースに対して透過的である。さらに、データプロトコルスタックは、到来(incoming)データのプロトコルアドレスが電話のプロトコルアドレスと一致する限りデータインターフェースのうちの任意のものからのデータを受け入れることができる。したがって、無線電話は、インターネットおよびその他のデータネットワークからの多くの攻撃に対して開いており、それらの攻撃を受けやすい。
例えば、パケットがマルチホーミングデバイスのデータインターフェース上で受信されるとき、パケットは適切なソケットまたはアプリケーションにルーティングされる(routed)ことができる。概して、伝送制御プロトコル(TCP)を使用して接続されるソケットに関して、パケットは4つのタプル(tuples)、例えば、送信元アドレス(src_addr)、送信元ポート(src_port)、宛先アドレス(dst_addr)、および宛先ポート(dst_port)に基づいてソケットにルーティングされる。ユーザデータグラムプロトコル(UDP)を使用して接続されるソケットに関して、パケットは2つのタプル、例えば、宛先アドレス(dst_addr)および宛先ポート(dst_port)に基づいてソケットにルーティングされる。インターネット制御メッセージプロトコル(ICMP)または非インターネットプロトコル(IP)に基づくプロトコルなどのその他のプロトコルに関して、ネットワークレイヤヘッダおよびトランスポートレイヤヘッダ内のその他のフィールドが使用される可能性がある。
残念なことに、マルチホーミングデバイスにおいて、上述のパラメータはいくつかの理由でデータインターフェースを一意に識別することができない可能性がある。例えば、マルチホーミングデバイス内のデータインターフェースが、重複した(duplicate)プライベートアドレスを割り当てられる可能性がある。また、マルチホーミングデバイス内のマルチプルのアプリケーションが、異なるネットワークデータインターフェースを使用して同じサービスにアクセスしようと試みる可能性がある。そのようなシナリオにおいて、アプリケーションは、同じサービスアクセス点(point)(SAP)、例えばUDPまたはTCPの場合は同じポート番号にバインドする(bind)可能性がある。したがって、パケットを適切な宛先アプリケーションに正しくルーティングすることができない可能性がある。
マルチホーミングデバイスは、当該マルチホーミングデバイスで利用可能な異なるデータインターフェースを介したスプリアス攻撃(spurious attacks)も受けやすい可能性がある。例えば、典型的なマルチホーミングデバイスにおいて、そのデバイスにインストールされたアプリケーションは、データインターフェースがデータ転送のために開いており、データプロトコルアドレス、例えばIPアドレス、ポート番号などが、アプリケーションのデータプロトコルアドレスと一致する限り任意のネットワークデータインターフェースからのデータを受信する可能性がある。
セキュリティの考察から離れて、データネットワークのプロバイダは、データネットワーク上の移動体電話が利用可能な種々のサービスおよび技術の課金(billing)および使用についても懸念している。例えば、データネットワークのプロバイダが提供するそれぞれの新しいサービスおよび技術に関連する特定のコストが存在し、概して、キャリアは移動体電話のユーザによって使用される種々のサービスの困難のない(hassel free)別々の課金に関心を持っている。データ転送のために当該移動体電話において利用可能な特定のデータインターフェースを使用するように移動体電話内のアプリケーションが制限される場合、キャリアネットワークがデータ毎のインターフェースの使用に基づいて異なる技術およびサービスの使用に関連する課金およびコストを明瞭に追跡する(track)ことがより容易である可能性がある。
さらに、マルチホーミングネットワーキングデバイスにおいて、通常、ネットワーキングアプリケーションのためのポート空間は、デバイスが利用可能なデータインターフェースの全ての間で共有される。アプリケーションが特定のデータインターフェース上のデータ転送のために特定のポート番号を使用している場合、その他のアプリケーションは、たとえ当該その他のアプリケーションが完全に異なるデータインターフェースを使用しているとしても同じポート番号を使用することはできない。これは、異なるデータインターフェース上であるが同じポート番号を用いて異なるサービスを実行する必要がある可能性があるデバイスに対しては不必要な制限である可能性がある。例えば、ネットワークデバイスは、同じポート番号、例えば80番を使用するが、異なるデータインターフェース上の2つの異なるウェブサーバを含む可能性がある。ほとんどのネットワークデバイスはこの柔軟性(flexibility)を可能にしない。いくつかの実装は、データインターフェースの全てに関して、または特定のデータインターフェースに関して、すなわち1つのインターフェースまたは全てのインターフェースに関して1つのポートにバインドすることを可能にする。
[発明の概要]
マルチホーミングネットワークデバイスからデータネットワークにデータを送信する方法が開示され、ネットワークポリシーを定義することと、当該ネットワークポリシーをルーティングモジュールに送信することとを含む。さらに、方法は、ルーティングモジュールから経路範囲(route scope)を受信することを含む。経路範囲はネットワークポリシーを満足するデータネットワークに対するデータインターフェースのサブセットを識別し、ここにおいてデータインターフェースのサブセットは1組の利用可能なデータインターフェースから選択され、ここにおいてデータインターフェースのサブセットは少なくとも1つのデータインターフェースを含む。
マルチホーミングネットワークデバイスからデータネットワークにデータを送信する方法が開示され、ネットワークポリシーを定義することと、当該ネットワークポリシーをルーティングモジュールに送信することとを含む。さらに、方法は、ルーティングモジュールから経路範囲(route scope)を受信することを含む。経路範囲はネットワークポリシーを満足するデータネットワークに対するデータインターフェースのサブセットを識別し、ここにおいてデータインターフェースのサブセットは1組の利用可能なデータインターフェースから選択され、ここにおいてデータインターフェースのサブセットは少なくとも1つのデータインターフェースを含む。
特定の実施形態において、ネットワークポリシーは、1組の利用可能なデータインターフェースからデータインターフェースのサブセットを選択するための1つまたはそれより多くの基準を識別する。さらに、ネットワークポリシーは、アプリケーションへのデータ転送およびアプリケーションからのデータ転送のために使用されるべき2つまたはそれより多くのデータインターフェースを定義する。別の特定の実施形態において、ネットワークポリシーはアプリケーションによって定義される。
さらに別の特定の実施形態において、データインターフェースのサブセットは、移動体通信用グローバルシステム(global system for mobile communications)(GSM)データインターフェース、汎用パケット無線サービス(GPRS)データインターフェース、ユニバーサル移動体通信システム(universal mobile telecommunications system)(UMTS)データインターフェース、符号分割多元接続(CDMA)データインターフェース、CDMA2000データインターフェース、CDMAエボリューションデータオプティマイズド( CDMA evolution data optimized)(EVDO)インターフェース、Bluetooth(登録商標)(BT)データインターフェース、802.11aデータインターフェース、802.11bデータインターフェース、802.11gデータインターフェース、802.11iデータインターフェース、802.15データインターフェース、802.16データインターフェース、広帯域CDMA(WCDMA)データインターフェース、直交周波数符号分割多重(orthogonal frequency code division multiplexing)(OFCDM)データインターフェース、全地球測位システム(GPS)データインターフェース、またはこれらの組合せを含む。特定の実施形態において、インターフェースのそれぞれは、インターネットプロトコルバージョン4(IPv4)データインターフェース、IPバージョン6(IPv6)データインターフェース、または別のネットワークプロトコルデータインターフェースであってよい。
さらに別の特定の実施形態において、ネットワークポリシーに関連するアプリケーションが、経路範囲によって識別されるデータインターフェースのサブセットにバインドされる。別の実施形態において、方法は、データインターフェースのサブセット内の好ましいデータインターフェースが利用可能であるかどうかを決定することと、好ましいデータインターフェースが利用可能であるときに好ましいデータインターフェースを介して接続を開くことと、好ましいデータインターフェースを介してデータを送信することとを含む。さらに、方法は、好ましいデータインターフェースが利用可能でないときにデータインターフェースのサブセット内の次に好ましいデータインターフェースが利用可能であるかどうかを決定することと、次に好ましいデータインターフェースを介して接続を開くことと、次に好ましいデータインターフェースを介してデータを送信することとを含む。さらに別の実施形態において、方法は、接続が遮断され(interrupted)ているかどうかを決定することと、接続が遮断されているときに次に好ましいデータインターフェースが利用可能であるかどうかを決定することと、次に好ましいデータインターフェースを介して接続を開くことと、次に好ましいデータインターフェースを介してデータを送信することとを含む。
別の実施形態において、マルチホーミングネットワークデバイスが開示され、プロセッサおよび当該プロセッサがアクセス可能なメモリを含む。さらに、少なくとも1つのアプリケーションがメモリ内に記憶され、少なくとも1つのネットワークポリシーがメモリ内に記憶される。この実施形態において、少なくとも1つのネットワークポリシーは、データを送信および受信するためにアプリケーションによって使用されるべき少なくとも1つのデータインターフェースを定義する。
さらに別の実施形態において、プロセッサがアクセス可能なコンピュータ可読媒体が開示され、少なくとも1つのアプリケーションと、当該少なくとも1つのアプリケーションに関連する少なくとも1つのネットワークポリシーとを含む。この実施形態において、ネットワークポリシーは、アプリケーションに関するデータを伝達するために使用されることができる、マルチホーミングネットワークデバイスの2つまたはそれより多くのデータインターフェースを識別する。
さらに別の実施形態において、データインターフェースをアプリケーションにバインドする方法が開示され、アプリケーションからネットワークポリシーを受信することと、マルチホーミングネットワークデバイスにおける1組の利用可能なデータインターフェース内の全てのデータインターフェースではなく、データインターフェースのサブセットにアプリケーションをバインドすることとを含む。この実施形態において、データインターフェースのサブセットは少なくとも1つのデータインターフェースを含む。
その上さらに別の実施形態において、データを受信する方法が開示され、データインターフェースからデータパケットを受信することと、データインターフェースのインターネットプロトコル(IP)アドレスをパケットに関連する宛先IPアドレスと比較することと、データインターフェースのIPアドレスが宛先IPアドレスと一致しないときにデータパケットを廃棄すること(dropping)とを含む。
別の実施形態において、マルチホーミングネットワークデバイスが開示され、プロセッサと、当該プロセッサがアクセス可能なメモリと、当該メモリ内に記憶されるルーティングモジュールとを含む。この実施形態において、ルーティングモジュールは、アプリケーションからネットワークポリシーを受信し、アプリケーションを1組の利用可能なデータインターフェース内のデータインターフェースのサブセットにバインドするように構成される。
さらに別の実施形態において、プロセッサがアクセス可能なコンピュータ可読媒体が開示され、経路範囲を含む。この実施形態において、経路範囲は、マルチホーミングデバイスにおける1組の利用可能なデータインターフェース内のデータインターフェースのサブセットを指示し、マルチホーミングデバイス内のアプリケーションが、データを送信および受信するためにデータインターフェースの当該サブセットにバインドされる。
さらに別の実施形態において、アプリケーションをネットワークデバイス内の少なくとも1つのポートにバインドする方法が開示され、ポートを要求元の(requesting)アプリケーションにバインドする要求を受信することと、開いているアプリケーションが当該ポートにバインドされているかどうかを決定することと、開いているアプリケーションが当該ポートにバインドされていないときに当該ポートを要求元のアプリケーションにバインドすることとを含む。
さらに別の実施形態において、ユーザインターフェースが開示され、アプリケーションメニューを含む。この実施形態において、アプリケーションメニューはマルチホーミングネットワークデバイスにおいてインストールされているアプリケーションのリストを含み、ユーザは、選択されたアプリケーションに関連する少なくとも1つのネットワーク設定を編集するためにアプリケーションメニューからアプリケーションを選択することができる。
その上さらに別の実施形態において、マルチホーミングネットワークデバイスが開示され、ネットワークポリシーをルーティングモジュールに送信するための手段と、ルーティングモジュールからの経路範囲をソケットに記憶するための手段とを含む。この実施形態において、経路範囲はネットワークポリシーを満足するデータネットワークに対するデータインターフェースのサブセットを識別し、データインターフェースのサブセットは1組の利用可能なデータインターフェースから選択される。さらに、データインターフェースのサブセットは少なくとも1つのデータインターフェースを含む。
別の実施形態において、マルチホーミングネットワークデバイスが開示され、アプリケーションからネットワークポリシーを受信するための手段と、マルチホーミングネットワークデバイスにおける1組の利用可能なデータインターフェース内の全てのデータインターフェースではなく、データインターフェースのサブセットにアプリケーションをバインドするための手段とを含む。この実施形態において、データインターフェースのサブセットは少なくとも1つのデータインターフェースを含む。
さらに別の実施形態において、マルチホーミングネットワークデバイスが開示され、データインターフェースからデータパケットを受信するための手段と、データインターフェースのインターネットプロトコル(IP)アドレスをパケットに関連する宛先IPアドレスと比較するための手段と、データインターフェースのIPアドレスが宛先IPアドレスと一致しないときにデータパケットを廃棄するための手段とを含む。
別の実施形態において、マルチホーミングネットワークデバイスが開示され、ポートを要求元のアプリケーションにバインドする要求を受信するための手段と、開いているアプリケーションが当該ポートにバインドされているかどうかを決定するための手段と、開いているアプリケーションが当該ポートにバインドされていないときに要求元のアプリケーションを当該ポートにバインドするための手段とを含む。
本明細書において開示される1つまたは複数の実施形態の利点は、利用可能なネットワークデータインターフェースのサブセットにアプリケーションをバインドすることを含む可能性がある。
別の利点は、アプリケーションによって認められたデータインターフェース上に到着しない受信データパケットを廃棄することを含む可能性がある。
さらに別の利点は、アプリケーションに関して利用可能なデータインターフェースの階層に基づいてデータパケットを送信することを含む可能性がある。
本開示のその他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明、詳細な説明、および特許請求の範囲を含む本出願の全体の検討の後で明らかになるであろう。
本明細書において説明される実施形態の態様および付随する利点は、添付の図面と合わせて考慮されるときに以下の詳細な説明を参照することによってより容易に明らかになるであろう。
図1を参照すると、例示的で非限定的な通信システムが示され、全体的に100で示される。示されるように、システムは、第1のネットワークデバイス102および第2のネットワークデバイス104を含む。特定の実施形態において、第1のネットワークデバイス102および第2のネットワークデバイス104は、第1のデータネットワーク106、第2のデータネットワーク108、第3のデータネットワーク110、および第Nのデータネットワークのうちの1つまたはそれより多くを介して通信することができる。特定の実施形態において、データネットワーク106、108、110、112は、移動体通信用グローバルシステム(GSM)ネットワーク、汎用パケット無線サービス(GPRS)ネットワーク、ユニバーサル移動体通信システム(UMTS)ネットワーク、符号分割多元接続(CDMA)ネットワーク、CDMA2000ネットワーク、CDMAエボリューションデータオプティマイズド(EVDO)ネットワーク、Bluetooth(BT)ネットワーク、802.11aネットワーク、802.11bネットワーク、802.11gネットワーク、802.11iネットワーク、802.15ネットワーク、802.16ネットワーク、広帯域CDMA(WCDMA)ネットワーク、直交周波数符号分割多重(OFCDM)ネットワーク、全地球測位システム(GPS)ネットワーク、またはこれらの組合せであってよい。
図1に示されるように、第1のネットワークデバイス102は、プロセッサ114、およびプロセッサ114が利用可能なメモリ116を含むことができる。示されるように、アプリケーション118、ソケットレイヤ119、およびルーティングモジュール120が、メモリ116内に組み込まれるまたは記憶されることができ、プロセッサ114によって実行可能であることができる。特定の実施形態において、ソケットレイヤ119は、データを送信および受信するためにアプリケーションによって使用されることができる1つまたはそれより多くのソケットを含む。動作中、アプリケーション118は、ソケットレイヤ119を介してルーティングモジュール120にネットワークポリシー122を送信する。特定の実施形態において、ネットワークポリシー122は、ネットワーク106、108、110、112のうちの1つまたはそれより多くのものと通信するためにアプリケーションによって使用されることができる1組のデータインターフェースを識別することができる。ネットワークポリシー122に応答して、ルーティングモジュール120は経路範囲124をソケットレイヤ119に返し、経路範囲はアプリケーション118に関連するソケットのためにソケットレイヤ119内に記憶されることができる。特定の実施形態において、経路範囲124は、ネットワークポリシーを満足するデータインターフェースのサブセットを含む。データインターフェースのサブセットは、第1のネットワークデバイス102における利用可能なデータインターフェース132、134、136から選択される。
図1は、第1のネットワークデバイス102が第1のハードウェアポート126、第2のハードウェアポート128、および第Nのハードウェアポート130を含むことができることを示す。また、ネットワークデバイス102は、第1のデータインターフェース132、第2のデータインターフェース134、および第Nのデータインターフェース136を含むことができる。
特定の実施形態において、データインターフェース132、134、136のそれぞれは、移動体通信用グローバルシステム(GSM)データインターフェース、汎用パケット無線サービス(GPRS)データインターフェース、ユニバーサル移動体通信システム(UMTS)データインターフェース、符号分割多元接続(CDMA)データインターフェース、CDMA2000データインターフェース、CDMAエボリューションデータオプティマイズド(EVDO)インターフェース、Bluetooth(BT)データインターフェース、802.11aデータインターフェース、802.11bデータインターフェース、802.11gデータインターフェース、802.11iデータインターフェース、802.15データインターフェース、802.16データインターフェース、広帯域CDMA(WCDMA)データインターフェース、直交周波数符号分割多重(OFCDM)データインターフェース、全地球測位システム(GPS)データインターフェース、またはこれらの組合せであってよい。特定の実施形態において、インターフェースのそれぞれは、インターネットプロトコルバージョン4(IPv4)データインターフェース、IPバージョン6(IPv6)データインターフェース、または別のネットワークプロトコルデータインターフェースであってよい。
図1に示されるように、第1のネットワークデバイス102は、プロセッサ114およびアンテナ140に結合されているトランシーバ138も含む。特定の実施形態において、トランシーバ138はデータパケットを送信および受信し、ネットワーク106、108、110、112のうちの1つまたはそれより多くのものとの通信を容易にする。特定の実施形態において、第2のネットワークデバイス104は、第1のネットワークデバイス102に関連して説明された要素(element)のうちの1つまたはそれより多くのものを含むことができる。
特定の実施形態において、第1のネットワークデバイス102または第2のネットワークデバイス104は、マルチホーミングネットワーキング資産(asset)である。さらに、データサービスの非常に大きな多様性をサポートするために、第1のネットワークデバイス102は、マルチプルのネットワークデータインターフェース132、134、136を含む。データインターフェース132、134、136のそれぞれは、いったんそれぞれのデータインターフェースが関連するネットワーク106、108、110、112に接続するように構成されると、データ転送を行うことができる。特定の実施形態において、マルチホーミングを用いて、データインターフェース132、134、136のうちの1つまたはそれより多くのものは同時にアクティブであることができ、それぞれのアクティブなデータインターフェース132、134、136は異なる物理または論理ネットワーク106、108、110、112に対するアクセスを提供することができる。
さらに、特定の実施形態において、それぞれのアクティブなデータインターフェース132、134、136は、それらのデータインターフェースに割り当てられた別個のネットワークアドレス、例えばIPネットワークのためのIPアドレスを含む。ネットワークアドレスのそれぞれはグローバルユニークであることができるか、またはネットワークアドレスのうちの1つまたはそれより多くのものは、プライベート空間から割り当てられる場合、重複している可能性がある。
特定の実施形態において、マルチホーミングは、第1のネットワークデバイス102が、異なるデータ技術、例えば、CDMA、UMTS、GSMなどを有する異なるネットワークにアクセスすることを可能にすることができる。さらに、マルチホーミングは、第1のネットワークデバイス102が、利用可能なネットワーク106、108、110、112に関連する様々なコストに基づいて当該利用可能なネットワーク106、108、110、112にアクセスすることを可能にすることができる。したがって、ユーザ、または第1のネットワークデバイス102内のアプリケーションは、所望の品質および費用対効果に関するさらなる柔軟性を与えられる。マルチホーミングは、第1のネットワークデバイスが、利用可能なネットワーク106、108、110、112が提供するサービスの品質に基づいて当該ネットワークにアクセスすることを可能にすることもできる。ユーザは、ネットワークを使用することに関連するコストを問わずに特定のアプリケーションが高品質なネットワークを使用することを望むことができる。その一方、ユーザは、ネットワーク接続の品質を問わずに、アプリケーションに特定のコストを超えないように、および当該コスト未満のネットワークのみを使用するように命令することができる。
特定の実施形態において、マルチホーミングは、第1のネットワークデバイス102が異なるネットワークの種類、例えば、IPv4、IPv6、IPXなどにアクセスすることを可能にすることができる。また、マルチホーミングは、第1のネットワークデバイス102内のアプリケーションが、異なる物理的な/論理的なネットワークによって提供される様々なサービスにアクセスすることを可能にすることができる。例えば、特定のキャリアが、異なる種類のIPサービス、例えば、インターネット、電子メール、SMS、MMS、WAPなどを提供するために異なるネットワークを配備することができる。
図2は、全体的に200で示されるTCP/IPネットワーキングスタックの例示的で非限定的な実施形態を示す。示されるように、ネットワーキングスタック200は物理レイヤ202を含む。データインターフェースレイヤ204が物理レイヤ202の上に位置付けられる。特定の実施形態において、データインターフェースレイヤ204は、第1のデータインターフェース206、第2のデータインターフェース208、第3のデータインターフェース210、および第Nのデータインターフェース212を含む。
図2に示されるように、インターネットプロトコル(IP)レイヤ214がデータインターフェースレイヤ204の上に位置付けられる。例示的な実施形態において、IPレイヤ214は、1つまたはそれより多くのIP、例えば、IPバージョン4(IPv4)216およびIPバージョン6(IPv6)218を含む。図2は、IPレイヤ214の上のトランスポートレイヤ220をさらに示す。トランスポートレイヤ220は、1つまたはそれより多くの通信プロトコル、例えば、伝送制御プロトコル(TCP)222またはユーザデータグラムプロトコル(UDP)224を含むことができる。さらに、ソケットレイヤ226がトランスポートレイヤ220の上に位置付けられることができる。また、1つまたはそれより多くのアプリケーションがソケットレイヤ226の上に位置付けられることができる。
図3を参照すると、ネットワークデバイスからデータネットワークにデータを送信する方法が示され、ブロック300において開始する。ブロック300において、ネットワークデバイス内のアプリケーションが、ネットワークデバイス内のルーティングモジュールにネットワークポリシーを送信する。特定の実施形態において、アプリケーションおよびルーティングモジュールは、単一のプロセッサによって同時に実行可能である。その代わりに、アプリケーションおよびルーティングモジュールは、異なるプロセッサによって実行されることができる。
特定の実施形態において、ネットワークポリシーは、当該ネットワークポリシー内で指定される1つまたは複数の基準を満足する1組のデータインターフェースを識別することができる。例えば、ネットワークポリシーは、全てのUMTSデータインターフェースまたは全てのIPv4データインターフェースとして基準を指定することができる。さらに、ネットワークポリシーは、サービス品質基準、例えば、最大遅延の値、最大ジッタの値、帯域幅の値、またはこれらの組合せを指定することができる。また、ネットワークポリシーは、最大コスト、通信技術の種類、1つまたはそれより多くのキャリア、またはこれらの組合せを指定することができる。アプリケーションによってデータ転送が開始されることができる前に、アプリケーションは、ネットワークポリシーを満足する1組のデータインターフェースの中の特定のデータインターフェースを立ち上げる(bring up)ことができる。
別の特定の実施形態において、どのデータインターフェースを立ち上げるかの決定が、データスタックのネットワーク管理ソフトウェアによって実行されることができる。さらに、決定は、最も好ましい経路に基づいて、例えば指定されたネットワークポリシーに基づいて実行されることができる。特定の実施形態において、各データインターフェースは、そのデータインターフェース独自のアクセス制御リスト(ACL)を含むことができ、それは本質的に規則のリストである。さらに、各データインターフェースは、それへのアクセスを、アプリケーションに関連するネットワークポリシーに基づいて評価することができる。評価の一部として、ACLは、データインターフェースへのアクセスを制限するか、またはそのデータインターフェースに関する非ゼロの優先順位番号、例えば1〜5を返すかのいずれかを行うことができる。非ゼロの優先順位(priority)番号はデータインターフェースが与えられたポリシーと共に使用可能であることを示し、当該優先順位番号は優先(preference)のレベルを識別する。
例示的な実施形態において、ルーティングモジュールは、アプリケーションに関連するネットワークポリシーと、利用可能なデータインターフェースのそれぞれに関連するACLとを評価し、最も高い優先順位を有するデータインターフェースを選択することができる。したがって、ルーティングモジュールは、データを送出するためにアプリケーションを最も高い優先順位を有するデータインターフェースにバインドすることができる。特定の実施形態において、任意の与えられた時間に、多くのデータインターフェースがデータ転送のために開いていることができ、無線デバイス上の送信側マルチホーミングを可能にするために各データインターフェースが別個のアプリケーションにバインドされることができる。特定のデータインターフェースが開いていない場合、それを立ち上げて、データ通信のために開くことができる。
ブロック302に移ると、経路範囲がルーティングモジュールから受信される。さらに、ブロック303において、経路範囲は、アプリケーションに関連するソケットのためにソケットレイヤ内に記憶されることができる。特定の実施形態において、経路範囲は、ネットワークポリシーを満足するデータインターフェースのサブセットを指示する。当該サブセット内の各データインターフェースは優先順位番号を含むことができる。したがって、データインターフェースのサブセットは、好ましいデータインターフェースから最も好ましくないデータインターフェースまでの階層に構成されることができる。例示的な実施形態において、データインターフェースのサブセットは、ネットワークデバイスにおける1組の利用可能なデータインターフェースから選択される。
決定ステップ304において、ネットワークデバイスは、アプリケーションがデータネットワークにデータを送信しようと試みているかどうかを決定する。否の場合、方法は状態306において終了する。そうである場合、方法は決定ステップ308に進み、ネットワークデバイスが経路範囲内の、すなわちアプリケーションにバインドされたデータインターフェースのサブセット内の好ましいデータインターフェースが利用可能かどうかを決定する。好ましいデータインターフェースが利用可能である場合、方法はブロック310に移動し、ネットワークデバイスが好ましいデータインターフェースを介してチャネルを開く。反対に、好ましいデータインターフェースが利用可能でない場合、方法は決定ステップ312に進み、ネットワークデバイスが経路範囲内の次に好ましいデータインターフェースが利用可能かどうかを決定する。
次に好ましいデータインターフェースが利用可能でない場合、方法はブロック314に移動し、例えばネットワークデバイスにおけるディスプレイを介してネットワークデバイスのユーザに誤りメッセージが表示される。そうではなくて、次に好ましいデータインターフェースが利用可能である場合、方法はブロック310に進み、ネットワークデバイスが当該データインターフェースを介してチャネルを開く。特定の実施形態において、誤りメッセージが表示される前にマルチプルの繰り返し(iterations)があってよい。換言すれば、データインターフェースの階層内にマルチプルの次に好ましいデータインターフェースが存在することができる。例えば、データインターフェースの階層は、好ましいデータインターフェース、第1の次に好ましいデータインターフェース、第2の次に好ましいデータインターフェース、第3の次に好ましいデータインターフェースなどを含むことができる。特定の実施形態において、ネットワークデバイスは、経路範囲内の全てのインターフェースがチェックされ尽くすまで、次の利用可能なインターフェースをチェックし続けることができる。
ブロック316に進むと、アプリケーションが、利用可能なデータインターフェースを介してデータを送信する。決定ステップ318において、ネットワークデバイスは接続が遮断されているかどうかを決定する。接続が遮断されていない場合、方法は決定ステップ320に進み、ネットワークデバイスがデータの送信が完了しているかどうかを決定する。データの送信が完了している場合、方法は状態306において終了する。データの送信が完了していない場合、方法はブロック316に戻り、説明されたように継続する。
決定ステップ318に戻ると、接続が遮断されている場合、方法は決定ステップ322に移動し、ネットワークデバイスが経路範囲内の次に好ましいデータインターフェースが利用可能かどうかを決定する。次に好ましいデータインターフェースが利用可能でない場合、方法は状態306において終了する。その一方で、次に好ましいデータインターフェースが利用可能である場合、方法は決定ステップ324に続き、ネットワークデバイスが、データ転送のためのプロトコルが接続指向かどうかを決定する。プロトコルが接続指向ではない場合、例えば、プロトコルがコネクションレス(connectionless)のユーザデータグラム(datagram)プロトコル(UDP)である場合、方法はブロック326に移動し、アプリケーションが、接続性(connectivity)を損なうことなしに次の利用可能なデータインターフェースにシームレスに(seamlessly)ジャンプする。逆に、プロトコルが接続指向である場合、例えば、プロトコルが伝送制御プロトコル(TCP)である場合、方法はブロック328に進み、アプリケーションが、次の利用可能なデータインターフェースに再接続する。プロトコルがTCPである場合、アプリケーションが新しいデータインターフェースを介して再接続する間、接続性が損なわれることになる。ブロック326またはブロック328から、方法は決定ステップ320に進み、説明されたように継続する。
特定の実施形態において、上述の方法を使用して、アプリケーションは、当該アプリケーションに関連するデータ転送のためのネットワークポリシーを指定することができる。ネットワークポリシーは、そのデータインターフェース上で当該アプリケーションがデータを送信および受信するデータインターフェースを制限することができる。送信経路上で、認められたデータインターフェースのサブセットからアプリケーションに関して1つのデータインターフェースが選択される。特定の実施形態において、選択されるデータインターフェースは、ネットワークポリシーの基準に基づいて最も好ましく、すなわち、最も優先順位が高く、それによって送信経路を最適化することができる。さらに、特定の実施形態において、アプリケーションは、データ転送が完了されるか、またはデータインターフェースが失われるまで、選択された送信データインターフェースを使用する。データインターフェースが失われる場合、新しいデータインターフェースが、利用可能であれば、優先順位に基づいてデータインターフェースのサブセットから選択される。これは、たとえ最も高い優先順位のデータインターフェースが失われた場合でさえも、データ送信がネットワークポリシーに従うことを可能にする。
図4は、1群の利用可能なデータインターフェース内のデータインターフェースのサブセットにアプリケーションをバインドする方法を示す。ブロック400で開始すると、ルーティングモジュールはアプリケーションからネットワークポリシーを受信する。ブロック402において、ルーティングモジュールが、ネットワークポリシーおよび利用可能なデータインターフェースに従って経路範囲を作成する。特定の実施形態において、経路範囲は、アプリケーションのネットワークポリシーを満足する利用可能なデータインターフェースのサブセットを含むか、またはそのサブセットを示す。ブロック404に移動すると、ルーティングモジュールが、経路範囲内の利用可能なデータインターフェースにアプリケーションをバインドする。ブロック406において、ルーティングモジュールが、アプリケーションに関連するソケットのために記憶されるようにソケットレイヤに経路範囲を返す。続いて、方法は状態408において終了する。
図5を参照すると、ネットワークデバイスにおいてデータネットワークからデータを受信する方法が示され、ブロック500において開始する。ブロック500において、ネットワークデバイスが、データスタックのIPレイヤにおいてデータインターフェースからデータパケットを受信する。決定ステップ502に移動すると、ネットワークデバイスは、データパケットの宛先IPアドレスがアプリケーションに割り当てられたデータインターフェースのIPアドレスと同じであるかどうかを決定する。同じでない場合、方法はブロック504に進み、データパケットが廃棄される。続いて、方法は状態506において終了する。
データパケットの宛先IPアドレスがデータインターフェースのIPアドレスと同じである場合、方法はブロック508に移動し、ネットワークデバイスが、データパケットに関連するソケットを探索する。決定ステップ510において、ネットワークデバイスが、ソケットが見つけられるかどうかを決定する。見つけられない場合、方法はブロック504に進み、データパケットが廃棄される。続いて、方法は状態506において終了する。
決定ステップ510においてソケットが見つけられる場合、方法はブロック512に進み、アプリケーションに関連する経路範囲が検索される。ブロック514において、データインターフェースに関する一時的な経路範囲が作成される。特定の実施形態において、一時的な経路範囲は、入力データインターフェースのインデックスを決定することと、対応するビットを1に変えることと、一時的な経路範囲内のあらゆるその他のビットを0に保つこととによって作成される。
決定ステップに移動すると、一時的な経路範囲がアプリケーションに関連する経路範囲に従うかどうかが決定される。図6は、一時的な経路範囲がアプリケーションに関連する経路範囲に従うかどうかを決定する詳細な実施形態を示す。一時的な経路範囲がアプリケーションの経路範囲に従う場合、方法はブロック518に移動し、ネットワークデバイスがデータパケットのトランスポートレイヤの処理を続ける。続いて、方法は状態506において終了する。
一時的な経路範囲がアプリケーションの経路範囲に従わない場合、方法はブロック520に移動し、ネットワークデバイスがデータパケットを廃棄する。決定ステップ522に進むと、ネットワークデバイスは、現在の通信プロトコルがTCPであるか、それともUDPであるかを決定する。現在の通信プロトコルがTCPである場合、方法はブロック524に移動し、ネットワークデバイスが、廃棄されるデータパケットを送信したピア(peer)デバイスにリセット(RST)メッセージを送信する。方法は状態506において終了する。現在の通信プロトコルがUDPである場合、ネットワークデバイスは、当該ネットワークデバイスにおいて廃棄されるデータパケットを送信したピアデバイスにインターネット制御メッセージプロトコル(ICMP)宛先到達不能ポート到達不能(destination unreachable port unreachable)を送信する。続いて、方法は状態506において終了する。
特定の実施形態において、上述の方法を使用して、パケットが何らかの接続に関するデータインターフェースを介して到着するとき、それは、経路範囲において許可されたデータインターフェースに2段階で制限されることができる。例えば、第1の段階は、単純なサニティ(sanity)チェックである。この段階は、パケットがそこに到着したデータインターフェースのIPアドレスと、そのパケットの宛先アドレスとの比較を伴う。このことに対する唯一の例外は、宛先アドレスがマルチキャストまたはブロードキャストアドレスであってはならないことである。入力パケットがIPレイヤに引き渡されるとき、IPレイヤは当該パケットが入ってきたデータインターフェースを知らされる。パケットの宛先IPアドレスがそのデータインターフェース上にそのパケットが到着したデータインターフェースのIPアドレスと一致しない場合、パケットは通知なしに(silently)廃棄される。これは、パケットを特定のIPアドレスを有する特定のデータインターフェースに制限し、入力パケットに関して発生するあらゆるルーティングの誤りを防止する。
図6は、一時的な経路範囲がアプリケーションの経路範囲に従うかどうかを決定する方法を示す。ブロック600において開始すると、アプリケーションに関する経路範囲が受信される。ブロック602において、一時的な経路範囲が作成される。その後で、ブロック604において、ビット毎の論理積演算が経路範囲および一時的な経路範囲に関して実行される。ブロック606に移動すると、論理積演算の結果がゼロであるかどうかが決定される。結果がゼロである場合、方法はブロック608に進み、パケットが廃棄される。続いて、方法は状態610において終了する。その一方、結果がゼロではない場合、方法はブロック612に移動し、データパケットが保持される。続いて、方法は状態610において終了する。
特定の実施形態において、経路範囲は、どのデータインターフェースが特定のアプリケーションに関してデータを受信することを許されるかについての情報を含む。経路範囲は、全ての利用可能なデータインターフェースのビットマスクとして保持されることができる。データインターフェースが特定のアプリケーションに関するネットワークポリシーを満足するとき、当該データインターフェースが当該特定のアプリケーションに関連する経路範囲に追加される。例えば、インデックス5を有する第5のデータインターフェースがアプリケーションに関するネットワークポリシーを満足する場合、アプリケーションに関する経路範囲内のビット番号5が、第5のデータインターフェースをアプリケーションに関する経路範囲に含めるために1に設定される。
特定の実施形態において、受信データを制限するとき、ゼロより大きい優先順位を有する全てのデータインターフェースがアプリケーションに関する経路範囲に含まれる。方法は、各データインターフェースに関するACLを検討し、アプリケーションに関するネットワークポリシーを満足する全てのデータインターフェースをアプリケーションに関する経路範囲内に含める。特定の実施形態において、経路範囲は、当該経路範囲に関連するアプリケーションがデータインターフェースのうちの1つまたはそれより多くのものを介してデータを受信することを許可されることを示す1に設定される1つまたはそれより多くのビットを含むことができる。
特定の実施形態において、アプリケーションが特定のIPアドレスにバインドする場合、経路範囲は、要求されたIPアドレスを有し、ネットワークポリシーにやはり一致するデータインターフェースを含むように制限されることができる。別の特定の実施形態において、経路範囲は、アプリケーションが特定のネットワークポリシーを用いてソケットを作成するときに作成される。しかし、経路範囲は周期的に更新されることができる。
図7から図10までは、図5および図6において概説された方法に従う例を示す。図7は、入力パケットが受信され、データインターフェースのアドレス(10.0.0.1)と同じである宛先アドレス(10.0.0.1)を含む例を示す。したがって、入力パケットは受け入れられる。
図8は、入力パケットが受信され、当該入力パケットデータが受信される入力データインターフェースのアドレス(10.0.0.2)とは異なる宛先アドレス(10.0.0.1)を含む例を示す。したがって、入力パケットは廃棄される。
図9は、アプリケーションのネットワークポリシーを満足するデータインターフェース上で入力パケットが受信され、受け入れられる例を示す。示されるように、アプリケーションの経路範囲および一時的な経路範囲に関して実行されるビット毎の論理積演算は非ゼロである。したがって、入力パケットはアプリケーションのネットワークポリシーを満足する。
図10は、アプリケーションのネットワークポリシーを満足しないデータインターフェース上で入力パケットが受信される例を示す。示されるように、アプリケーションの経路範囲および一時的な経路範囲に関して実行されるビット毎の論理積演算はゼロである。したがって、入力パケットはアプリケーションのネットワークポリシーに違反し(violates)、入力パケットは廃棄される。
特定の実施形態において、データインターフェースおよび無線ネットワーキングの状態の動的な性質が、ネットワークデバイス内の各アプリケーションに関連する経路範囲に影響を与える可能性がある。例えば、ネットワークデバイスの移動性(mobility)が原因で、ネットワークデバイスは複数のネットワークのカバレージエリアをまたがって移動し、対応するネットワークデータインターフェースを立ち上がら(come up)せる、または停止さ(go down)せる可能性がある。やはり移動性が原因で、1つのネットワークおよび関連するネットワークデータインターフェースの優先順位は、特定の時間に特定の場所において利用可能であるネットワークアクセスの種類、またはサービスを提供しているキャリアの種類に応じて上昇または下降する可能性がある。
無線通信の動的な性質が原因で、ネットワークデバイス内のアプリケーションに関連する経路範囲を変化させる可能性があるいくつかのトリガー(triggers)が存在し得る。さらに、アプリケーションに関連する経路範囲は、データインターフェースの状態の変化に伴って管理および変更される必要がある。
特定の実施形態において、データインターフェースが立ち上がるかまたは停止する(goes up or down)度に、そのことは、いくつかのアプリケーションおよびデータインターフェースに関連するネットワークポリシーが動的に構成されるので種々のアプリケーションの経路範囲に影響を与える可能性がある。例えば、UMTSデータインターフェースが立ち上げられるとき、UMTSは毎回異なるアクセスポイント名(APN)に接続し、異なる種類のサービスを提供する。そのようなデータインターフェースが立ち上げられ、特定のAPNに関連付けられる(tied to)とき、そのデータインターフェースは、ネットワークデバイス内の1つまたはそれより多くのアプリケーションのネットワークポリシーともはや合わない可能性がある。したがって、特定のデータインターフェースを立ち上げることは、1つまたはそれより多くのアプリケーションに関する経路範囲を縮小する(shrink down)可能性がある。
同様に、特定のデータインターフェースが停止される(brought down)とき、それは1つまたはそれより多くのアプリケーションに関連する経路範囲を拡大する可能性がある。特定の実施形態において、データインターフェースが停止している(is down)場合、それはそれまで通りアプリケーションに関連する経路範囲内に含まれることができ、アプリケーションはそのデータインターフェースを、それが立ち上げられた後で、場合によっては使用する可能性がある。さらに、特定の実施形態において、全てのデータインターフェースではなく一部のデータインターフェースが、コストを節約するために自動的に立ち上げられる可能性がある。追加的なデータインターフェースが、例えばユーザまたはアプリケーションによって必要とされるときに立ち上げられることができる。
特定の実施形態において、ネットワークノードがネットワークのカバレージエリアを変更するとき、1つまたはそれより多くのアプリケーションの経路範囲が変わることができる。例えば、1つのネットワークのカバレージエリアを外れることは、ネットワークデバイスがカバレージエリアに再び入るときに関連するデータインターフェースが有効化されるまで当該データインターフェースを無効にする可能性がある。特定の実施形態において、無効にされた(disabled)データインターフェースはネットワークの接続性の欠如が原因で立ち上げられることができない一方、停止している(down)データインターフェースは場合によっては必要とされるときに通信のために立ち上げられ、使用されることができる。
別の特定の実施形態において、いくつかのアプリケーションが単一のネットワークデータインターフェースに厳格にバインドされることができ、そのデータインターフェースはデータの送信および受信のために使用される。そのようなアプリケーションに関して、経路範囲は1ビットのみを設定させ、そのビットは、当該データインターフェースが立ち上げられるときに設定され、当該データインターフェースが停止されるときにゼロにリセットされることができる。
特定の実施形態において、経路範囲は、ソケットに関連するネットワークポリシーが変更されるときにやはり変わることができる。そのような実施形態において、新しいネットワークポリシーに従ってそのアプリケーションに対して新しい経路範囲が計算されることができ、新しい経路範囲はアプリケーションに関連するソケットに伝えられる(propagated)ことができる。別の実施形態において、アプリケーションが例えばbind()API呼び出し(call)を使用して特定のIPアドレスにバインドする場合、経路範囲は、その特定のアドレスにソケットがバインドされる特定のアドレスを有するデータインターフェースに制限されることができる。移動性およびネットワークのハンドオフが原因で、データインターフェースのIPアドレスは変わる可能性があり、アプリケーションに関する経路範囲は、関連する経路範囲から前のデータインターフェースを除外するために更新される必要がある可能性がある。
さらに、特定の実施形態において、単一のネットワークデータインターフェースが様々な技術的領域、例えばCDMA、UMTSなど、またはネットワークの種類、例えばIPv4、IPv6などをサービスすることができる場合、およびそのようなデータインターフェースが異なる技術的領域またはネットワークの種類にハンドオフする場合、このデータインターフェースを含む経路範囲は、更新され、当該データインターフェースがアプリケーションのネットワークポリシーを満足し続けるかどうかを決定するために再評価される必要がある。さらに別の特定の実施形態において、接続されるソケット、例えばTCPソケットに関して、例えばconnect()API呼び出しを使用していったん接続が確立されてしまうと、経路範囲は指定された宛先アドレスに接続することができる1つのインターフェースのみに制限されることができる。
別の特定の実施形態において、アプリケーションによって指定されるネットワークポリシーは、ループバック(loopback)データインターフェースを含んでもよく、または含まなくてもよい。しかし、あらゆるソケットが、ループバックデータインターフェース上でパケットを送信および受信することを許可される可能性がある。したがって、ループバックデータインターフェースは、1つまたはそれより多くのネットワークポリシーを通じて制限されるデータインターフェースの特別な場合と考えられることができる。ループバックデータインターフェースは、ループバック宛先アドレスを有する受信パケットはループバックデータインターフェース上で受信されなければならないという制限を含むことができる。このチェックは、例えばアドレス比較の間に入力パケットに対するデータインターフェースの制限の第1の段階としてIPレイヤにおいて実行されることができる。トランスポートレイヤの制限に関して、ループバックデータインターフェースに対応するビットが、各アプリケーションに関連する経路範囲に関してオンにされることができるか、経路範囲に関する処理のためにトランスポートレイヤにおいて特別なチェックが実行されることができるかのいずれかである。
図11を参照すると、アプリケーションをポートにバインドする方法が示され、ブロック1100において開始する。ブロック1100において、ネットワークデバイス内のルーティングモジュールが、ポートをアプリケーションにバインドする要求を受信する。ブロック1102において、ルーティングモジュールが、全ての開いているまたはアクティブなアプリケーションを検討する。決定ステップ1104に移動すると、ルーティングモジュールは、要求元のアプリケーションがバインドしようと試みているその同じポートに何らかの開いているまたはアクティブなアプリケーションがバインドされているかどうかを決定する。バインドされていない場合、方法はブロック1106に進み、ルーティングモジュールが要求元のアプリケーションをポートにバインドする。続いて、方法は状態1108において終了する。
その一方、決定ステップ1104において、そのポートに要求元のアプリケーションがバインドしようと試みている同じポートに何らかの開いているまたはアクティブなアプリケーションがバインドされている場合、方法はブロック1110に進み、ルーティングモジュールがそれぞれの開いている/アクティブなアプリケーションの経路範囲と、要求元のアプリケーションの経路範囲とに関してビット毎の論理積演算を実行する。決定ステップ1112に進むと、ルーティングモジュールは、任意のビット毎の論理積演算の結果がゼロであるかどうかを決定する。結果がゼロである場合、方法はブロック1106に移動し、ルーティングモジュールが要求元のアプリケーションをポートにバインドし、要求元のアプリケーションに関連するソケットに当該ポートを設定する。方法は状態1108において終了する。
決定ステップ1112に戻ると、何らかのビット毎の論理積演算の結果がゼロでない場合、方法はブロック1114に移動し、ルーティングモジュールは要求元のアプリケーションをポートにバインドしない。続いて、方法は状態1108において終了する。
特定の実施形態において、上述の様々な理由のうちの1つまたはそれより多くが原因でソケットの経路範囲が変わるときに、新しい経路範囲がポート空間の分割に影響を与える可能性がある。例えば、アプリケーションに関する経路範囲の再計算の間に、1つまたはそれより多くのデータインターフェースが経路範囲から削除される場合、ポート空間は分かれたままであるので、およびソケットの経路範囲の間の新しい重なりが生み出されないので問題は起こらない。しかし、1つまたはそれより多くのデータインターフェースが経路範囲に追加される場合、データインターフェースの追加はその他のアプリケーションに関連する経路範囲とのコンフリクト(conflict)を引き起こす可能性がある。重なり合う経路範囲を有するアプリケーションによって使用されるポート番号が同じである場合、ネットワーキングスタックは、重なり合うデータインターフェースのうちの1つに到着する到来受信データパケットをどのアプリケーションに送るのかを決定することができなくなる。
特定の実施形態において、この潜在的なコンフリクトは以下のアプローチに基づいて解決されることができる。コンフリクトしているアプリケーションがコンフリクトしている<ポート番号,データインターフェース>の対でデータを既にアクティブに転送している場合、そのアプリケーションはそのままにされ、その他のアプリケーションはその<ポート番号,データインターフェース>の対を使用することを阻止される。コンフリクトしているアプリケーションがその<ポート番号,データインターフェース>の対をデータ転送のためにアクティブに使用していない場合、当該<ポート番号,データインターフェース>の対は構成可能なポリシーに基づいてコンフリクトしているアプリケーションに対して許可されない(disallowed)。
特定の実施形態において、アプリケーションを許可しないことは、許可されないアプリケーションの経路範囲が問題のポート番号に関するコンフリクトしているデータインターフェースを除外する(exclude)ように一時的に縮小する(shrinks)ことを本質的に意味する。これは、それぞれのアプリケーションに対して1組のブロックされる<ポート番号,データインターフェース>の対、すなわちブロック経路範囲を定義することによって処理されることができる。特定の実施形態において、ブロック経路範囲は、ネットワークポリシーの不一致が原因ではなく、別のアプリケーションとのコンフリクトが原因で一時的にブロックされる経路範囲である。
非限定的で例示的な実施形態において、ブロック経路範囲内のエントリは、(1)競合する(competing)アプリケーションが閉じるとき、(2)競合するアプリケーションが別のポート空間に再バインドする(rebinds)とき、(3)許可されないアプリケーションが異なるポート空間に再バインドするとき、(4)許可されないアプリケーションのネットワークポリシーが変わるとき、(5)競合するアプリケーションのネットワークポリシーが変わるとき、または(6)上で規定された条件が原因で1つまたはそれより多くのアプリケーションの経路範囲が変わるとき、削除されることができる。
特定の実施形態において、上の条件(2)および(5)は、ネットワークデバイス内のその他のアプリケーションに関する経路範囲をブロックさせる可能性がある。さらに、特定の実施形態において、条件(3)および(4)は、いくつかのエントリをブロック経路範囲から削除させる可能性がある一方、新しいコンフリクトが原因でその他のエントリが追加される可能性がある。
特定の実施形態において、図3、図4、図5、図6、および図11に関連して上述されたステップは、メモリ、例えば、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、読み出し専用メモリ(ROM)、マスクROM、プログラマブル読み出し専用メモリ(PROM)、消去可能プログラマブル読み出し専用メモリ(erasable and programmable read only memory)(EPROM)、電子的消去可能プログラマブル読み出し専用メモリ(electronically erasable and programmable read only memory)(EEPROM)、不揮発性ランダムアクセスメモリ(NVRAM)、フラッシュメモリ、ハードディスクドライブ、またはその他の記憶手段内に記憶されるソフトウェアとして実施されることができる。これらの方法のステップのそれぞれは、個々に、またはその他の方法のステップと組み合わせて記憶されてよい。
さらに、特定の実施形態において、図3、図4、図5、図6、および図11に関連して上述された方法のステップは、プロセッサ、マイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、ディジタル信号プロセッサ(DSP)、またはその他の処理手段によって実行されることができる。これらの方法のステップのそれぞれは、個々に、またはその他の方法のステップと組み合わせて実行されてよい。
図12は、全体的に1200で示される無線デバイスを示す。示されるように、無線デバイス1200はディスプレイ1202およびキーパッド1204を含む。さらに、無線デバイス1200は、マイクロホン1206およびスピーカ1208を含むことができる。ユーザは、マイクロホン1206に話しかけ、スピーカ1208を介して到来音声を聞くことができる。図12に示されるように、信号強度インジケータ1210、ボイスメールインジケータ1212、およびバッテリレベルインジケータ1214がディスプレイ1202によって表示されることができる。
図12に示されるように、例示的で非限定的な実施形態において、キーパッド1204は、ディスプレイ1202においてカーソルまたはセレクタバーをあちこちに移動するためにユーザが使用することができる方向ボタン1216を含むことができる。具体的には、ユーザは、方向ボタン1216を使用してカーソルまたはセレクタバーを任意の方向、例えば、上、下、左、右、または任意の斜めの方向に移動することができる。さらに、特定の実施形態において、キーパッド1204は、OKボタン1218、クリアボタン1220、および終了ボタン1222を含むことができる。ユーザは、OKボタン1218、クリアボタン1220、および終了ボタン1222を使用して、ディスプレイ1202に表示されるプロンプト(prompts)に応答して答えを入力することができる。
図12は、無線デバイス1200のディスプレイ1202を介してユーザに提示されることができる第1の例示的なグラフィカルユーザデータインターフェース(GUI)1250をさらに示す。示されるように、第1のGUI1210は、第1のGUI1250の目的を示すヘッダ1252を含むことができる。示されるように、例示的な実施形態において、ヘッダ1252は、「ネットワーク設定を編集する」とラベル表示される。したがって、ユーザは、ネットワーク設定を編集するために第1のGUI1250が使用できると推測する(surmise)ことができる。
図12は、第1のGUI1250がアプリケーションメニュー1254を含むことができることも示す。特定の実施形態において、アプリケーションメニュー1254は、ネットワークアクセスを必要とする、無線デバイス1200にインストールされているアプリケーションのリストを含む。例えば、アプリケーションメニュー1254は、第1のアプリケーション、第2のアプリケーション、第3のアプリケーション、および第Nのアプリケーションを含む。示されるように、第1のGUI1250は、ユーザがキーパッド1204の方向ボタン1216を使用してアプリケーションメニュー1254内を上および下に移動させることができるセレクタバー1256も含む。ユーザは、図13に示される第2のGUI1300にアクセスするために、セレクタバー1256をアプリケーション、例えば、第3のアプリケーションに移動し、キーパッド1204のOKボタン1218を選択することができる。
図13は、アプリケーション、例えば、第1のGUI1250(図12)を使用して選択された第3のアプリケーションに関する設定を編集するために使用されることができる、1300で示される第2の例示的なGUIを示す。図13に示されるように、第2のGUI1300は、第2のGUI1300の目的を示すヘッダ1302を含むことができる。例示的な実施形態において、第2のGUI1300のヘッダ1302は、「アプリケーション3−ネットワーク設定を編集する」とラベル表示される。したがって、ユーザは、第2のGUI1300が第3のアプリケーションに関するネットワーク設定を編集するために使用されることができると判断することができる。
別の実施形態において、ユーザが第1のGUI1250(図12)において第1のアプリケーションを選択する場合、第2のGUI1300のヘッダ1302は、「アプリケーション1−ネットワーク設定を編集する」とラベル表示されることができる。
図13に示されるように、第2のGUI1300は、無線デバイス1200において利用可能であるネットワークまたはネットワークデータインターフェースのリストを含むネットワークメニュー1304を含むことができる。例えば、ネットワークメニュー1304は、第1のネットワーク、第2のネットワーク、第3のネットワーク、および第Nのネットワークを含む。第2のGUI1300は、ユーザがキーパッド1204の方向ボタン1216を使用してネットワークメニュー1304内を上および下に移動させることができるセレクタバー1306も含む。ユーザは、無線デバイス1200にインストールされている特定のアプリケーションに関する認められたネットワークのリストにネットワークを追加するか、またはそのリストからネットワークを削除するために、セレクタバー1306をネットワーク、例えば、第2のアプリケーションに移動し、追加ソフトボタン1308または削除ソフトボタン1310を選択することができる。
示されるように、第2のGUI1300は、ディスプレイ1202に表示される優先順位設定ソフトボタン1312も含む。特定の実施形態において、ユーザは、無線デバイス1200内の特定のアプリケーションによる使用が認められたネットワークの階層を確立するために優先順位設定ソフトボタン1312を選択することができる。優先順位設定ソフトボタン1312が選択されると、第3のGUI1400はディスプレイ1202を介してユーザに提示されることができる。その代りに、ネットワークポリシーを記述し、データネットワークに優先順位を割り当てるために事前定義された(predefined)ACLsが使用されることができる。
図14を参照すると、第3のGUI1400が示される。図14に示されるように、第3のGUI1400は、第3のGUI1400の目的を示すヘッダ1402を含むことができる。例えば、第3のGUI1400のヘッダ1402は、「ネットワーク優先順位−アプリケーション3」とラベル表示される。したがって、ユーザは、第3のGUI1400が第3のアプリケーションによる使用が認められたネットワークに関するネットワーク優先順位を編集するために使用されることができると判断することができる。
代りの実施形態において、ユーザが第1のGUI1250(図12)において第1のアプリケーションを選択し、ユーザが第2のGUI1300(図13)において優先順位設定ソフトボタン1312を選択する場合、第3のGUI1400のヘッダ1402は、「ネットワーク優先順位−アプリケーション1」とラベル表示されることができる。
図14に示されるように、第3のGUI1400は、第3のアプリケーションによる使用が認められているネットワークまたはネットワークデータインターフェースのリストを含むネットワーク優先順位メニュー1404を含むことができる。また、ネットワーク優先順位メニュー1404は、それぞれの認められたネットワークまたはネットワークデータインターフェースの優先順位を示す。例えば、ネットワーク優先順位メニュー1404は、第1の優先順位を有する第3のネットワークと、第2の優先順位を有する第1のネットワークと、第3の優先順位を有する第5のネットワークと、第4の優先順位を有する第4のネットワークとを含む。
第3のGUI1400は、ユーザがキーパッド1204の方向ボタン1216を使用してネットワーク優先順位メニュー1404内を上および下に移動させることができるセレクタバー1406も含む。ユーザは、ネットワーク優先順位メニュー1404内で第1のネットワークを上または下に移動させるために、ネットワーク、例えば第1のアプリケーションにセレクタバー1406を移動し、上ソフトボタン1408または下ソフトボタン1410を選択することができる。したがって、ユーザは、アプリケーションがデータ転送中に利用できるネットワークの優先順位を定義することができる。
図15は、データパケットをアプリケーションに送信する試みが阻止されると、ユーザに提示されることができる第4のGUI1500を示す。図15に示されるように、第4のGUI1500は、第4のGUI1500の目的を示すヘッダ1502を含むことができる。例えば、第4のGUI1500のヘッダ1502は、「誤りメッセージ」とラベル表示される。したがって、ユーザは、無線デバイスが誤りに遭遇したと推測することができる。図15は、第4のGUI1500がディスプレイ1202を介してユーザに提示されることができる誤りメッセージ1504を含むことができることをさらに示す。例示的で非限定的な実施形態において、誤りメッセージは、「到来データパケットが廃棄されました。誤りが記録されました(logged)。」を示す。したがって、ユーザは、外部デバイスが無線デバイス、例えば、無線デバイス内のアプリケーションにデータパケットを送信しようと試み、当該データパケットが疑わしい(suspicious)ために廃棄されたことを知る。特定の実施形態において、誤りは無線デバイスにおいて記録されることができる。その代りに、誤りは、そのネットワークから疑わしいパケットが受信されるネットワークのネットワークデバイスにおいて記録されることができる。
特定の実施形態において、上述の各GUI1250、1300、1400、1500は独立したGUIである。その代りに、上述のGUIs1250、1300、1400、1500は、単一のGUIがマルチプルのページを有する場合は一部分である。
本明細書において説明された構造の構成を用いて、マルチホーミングマルチモード通信デバイスにおいてデータアプリケーションをサポートするシステムおよび方法は、どのデータインターフェースをデータネットワーキングに使用するかをネットワークデバイス内のアプリケーションが指定するためのやり方を提供する。例えば、ネットワークデバイス内の特定のネットワークデータインターフェースが包括的なネットワーク、例えば、インターネットに対するアクセスを提供することができる一方、別のネットワークデータインターフェースが私企業のイントラネットに対するアクセスを提供することができる。また、ネットワークデバイスは、私企業のネットワークから電子メールにアクセスするための第1の電子メールクライアントアプリケーションと、インターネット上で個人的な電子メールを検索するための第2の電子メールクライアントアプリケーションとを含むことができる。
特定の実施形態において、ネットワークデバイスは、プライベートなイントラネットに対するアクセスのための「専用の」ブラウザと、通常のインターネットアクセスのための「入手し易い(off the shelf)」ブラウザとを含むことができる。また、ネットワークデバイスはマルチプルのGPSエンジンを含むことができ、各GPSエンジンは、当該GPSエンジンによって指定されたデータインターフェースを介して特定のネットワークから位置情報にアクセスすることができる。さらに、特定の実施形態において、ネットワークデバイスと通信するネームリゾルバ(resolver)、例えば、ドメインネームシステム(DNS)は、2つのプライベートネットワークにおいて構成された重複する名前またはアドレスが存在する可能性があるので、特定のネットワークに関して名前またはアドレスを解決することができる。
さらに、本明細書において説明された構造の構成を用いて、システムおよび方法は、そのデータインターフェース上でアプリケーションがデータを受信することができるデータインターフェースの数を制限することができる。これは、ネットワークデバイス内のプロトコルスタックおよびアプリケーションに対して比較的高いレベルのセキュリティを提供する。また、システムおよび方法は、そのデータインターフェース上でデータが受信される1つのデータインターフェースまたは複数のデータインターフェースに基づいて到来データが特定のアプリケーションに通信されるように到来データを制限するやり方を提供する。システムは、各アプリケーションに関するデータ転送のために認められているデータインターフェースを識別するために、各アプリケーションに関連するネットワークポリシーを利用することができる。
さらに、本明細書において説明されたシステムおよび方法は、1つの、複数の、または全てのデータインターフェースに関する特定のポートにアプリケーションがバインドすることを可能にすることができる。その他のプロトコルスタック、例えば、非TCP/UDP/IPに関して、アプリケーションは、1組のデータインターフェース上でサービスにアクセスすることを認められることができる。
当業者は、本明細書において開示された実施形態に関連して説明された種々の例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムのステップが、電子的なハードウェア、コンピュータソフトウェア、またはそれら両方の組合せとして実装されることができることをさらに理解するであろう。ハードウェアとソフトウェアとのこの互換性を明確に示すために、種々の例示的なコンポーネント、ブロック、構成、モジュール、回路、およびステップが、概してそれらの機能に関して説明された。そのような機能がハードウェアで実装されるか、それともソフトウェアで実装されるかは、システム全体に課された特定の用途および設計の制約による。当業者は、説明された機能をそれぞれの特定の用途のために様々なやり方で実装することができるが、そのような実装の判断は本開示の範囲からの逸脱をもたらすものと解釈されてはならない。
本明細書において開示された実施形態と関連して説明された方法またはアルゴリズムのステップは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはこの2つの組合せで実装されることができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、PROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当技術分野で知られている任意のその他の形態の記憶媒体に存在することができる。例示的な記憶媒体は、プロセッサが当該記憶媒体から情報を読むことができ、当該記憶媒体に情報を書き込むことができるようにプロセッサに結合される。別法として、記憶媒体はプロセッサに一体化されていてよい。プロセッサおよび記憶媒体はASIC内に存在してよい。ASICは、コンピューティングデバイスまたはユーザ端末内に存在してよい。別法として、プロセッサおよび記憶媒体はコンピューティングデバイスまたはユーザ端末内の別個のコンポーネントとして存在してよい。
開示された実施形態の上記の説明は、当業者が開示を作製するまたは使用することを可能にするために提供される。これらの実施形態に対する種々の修正が当業者には容易に明らかとなり、本明細書で定義された包括的な原理は、本開示の精神または範囲を逸脱することなくその他の実施形態に適用可能されることができる。したがって、本開示は、本明細書に示された実施形態に限定されるように意図されておらず、添付の特許請求の範囲に規定された原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
Claims (62)
- マルチホーミングネットワークデバイスからデータネットワークにデータを送信および受信する方法であって、前記方法は、
ネットワークポリシーを定義することと、
前記ネットワークポリシーをルーティングモジュールに送信することと、
前記ルーティングモジュールから経路範囲を受信することとを具備する、ここにおいて前記経路範囲は前記ネットワークポリシーを満足する前記データネットワークへのデータインターフェースのサブセットを識別し、ここにおいてデータインターフェースの前記サブセットは1組の利用可能なデータインターフェースから選択され、ここにおいてデータインターフェースの前記サブセットは少なくとも1つのデータインターフェースを含む、方法。 - 前記ネットワークポリシーは、前記1組の利用可能なデータインターフェースからデータインターフェースの前記サブセットを選択するための1つまたはそれより多くの基準を識別する請求項1に記載の方法。
- 前記ネットワークポリシーは、アプリケーションへの/からのデータ転送のために使用されるべき2つまたはそれより多くのデータインターフェースを定義する請求項2に記載の方法。
- 前記ネットワークポリシーはアプリケーションによって定義される請求項3に記載の方法。
- データインターフェースの前記サブセットは、移動体通信用グローバルシステム(GSM)データインターフェース、汎用パケット無線サービス(GPRS)データインターフェース、ユニバーサル移動体通信システム(UMTS)データインターフェース、符号分割多元接続(CDMA)データインターフェース、CDMA2000データインターフェース、CDMAエボリューションデータオプティマイズド(EVDO)インターフェース、Bluetooth(BT)データインターフェース、802.11aデータインターフェース、802.11bデータインターフェース、802.11gデータインターフェース、802.11iデータインターフェース、802.15データインターフェース、802.16データインターフェース、広帯域CDMA(WCDMA)データインターフェース、直交周波数符号分割多重(OFCDM)データインターフェース、全地球測位システム(GPS)データインターフェース、またはこれらの組合せを含む請求項1に記載の方法。
- 前記ネットワークポリシーに関連するアプリケーションは、前記経路範囲によって識別されるデータインターフェースの前記サブセットにバインドされる請求項1に記載の方法。
- データインターフェースの前記サブセット内の好ましいデータインターフェースが利用可能かどうかを決定することと、
前記好ましいデータインターフェースが利用可能であるときに前記好ましいデータインターフェースを介して接続を開くことと、
前記好ましいデータインターフェースを介してデータを送信することと
をさらに具備する請求項6に記載の方法。 - 前記好ましいデータインターフェースが利用可能でないときに、データインターフェースの前記サブセット内の次に好ましいデータインターフェースが利用可能かどうかを決定することと、
前記次に好ましいデータインターフェースを介して接続を開くことと、
前記次に好ましいデータインターフェースを介してデータを送信することと
をさらに具備する請求項7に記載の方法。 - 前記接続が遮断されているかどうかを決定することと、
前記接続が遮断されているときに、次に好ましいデータインターフェースが利用可能かどうかを決定することと、
前記次に好ましいデータインターフェースを介して接続を開くことと、
前記次に好ましいデータインターフェースを介してデータを送信することと
をさらに具備する請求項7に記載の方法。 - プロセッサと、
前記プロセッサがアクセス可能なメモリと、
前記メモリ内に記憶された少なくとも1つのアプリケーションと、
前記メモリ内に記憶された少なくとも1つのネットワークポリシーとを具備し、ここにおいて前記少なくとも1つのネットワークポリシーは、データを送信および受信するために前記アプリケーションによって使用されるべき少なくとも1つのデータインターフェースを定義する、マルチホーミングネットワークデバイス。 - 前記メモリ内に記憶された経路範囲をさらに具備し、ここにおいて前記経路範囲はルーティングモジュールから受信される、ここにおいて前記経路範囲は前記ネットワークポリシーを満足するデータインターフェースのサブセットを含み、ここにおいてデータインターフェースの前記サブセットは1組の利用可能なデータインターフェースから選択される請求項10に記載のマルチホーミングネットワークデバイス。
- データインターフェースの前記サブセットは、移動体通信用グローバルシステム(GSM)データインターフェース、汎用パケット無線サービス(GPRS)データインターフェース、ユニバーサル移動体通信システム(UMTS)データインターフェース、符号分割多元接続(CDMA)データインターフェース、CDMA2000データインターフェース、CDMAエボリューションデータオプティマイズド(EVDO)インターフェース、Bluetooth(BT)データインターフェース、802.11aデータインターフェース、802.11bデータインターフェース、802.11gデータインターフェース、802.11iデータインターフェース、802.15データインターフェース、802.16データインターフェース、広帯域CDMA(WCDMA)データインターフェース、直交周波数符号分割多重(OFCDM)データインターフェース、全地球測位システム(GPS)データインターフェース、またはこれらの組合せを含む請求項11に記載のマルチホーミングネットワークデバイス。
- 前記経路範囲は、前記ネットワークポリシーに基づいてルーティングモジュールによって生成される請求項11に記載のマルチホーミングネットワークデバイス。
- データインターフェースの前記サブセットは階層に編成され、前記マルチホーミングネットワークデバイスは前記階層内の第1の利用可能なデータインターフェースに基づいて、データインターフェースの前記サブセットのうちのそれぞれを介して一度に1つずつ通信を確立しようと試みる請求項11に記載のマルチホーミングネットワークデバイス。
- 前記プロセッサに結合されたトランシーバと、
前記トランシーバに結合されたアンテナと
をさらに具備する請求項10に記載のマルチホーミングネットワークデバイス。 - 複数のデータインターフェースをさらに具備する、ここにおいて前記複数のデータインターフェースのそれぞれは異なるデータネットワークへのアクセスを提供する請求項10に記載のマルチホーミングネットワークデバイス。
- 前記複数のデータインターフェースのそれぞれはアクセス制御リスト(ACL)を含み、ここにおいて前記ACLは対応するデータインターフェースへのアクセスを制限する請求項16に記載のマルチホーミングネットワークデバイス。
- 前記ACLは非ゼロの優先順位番号を返す、ここにおいて前記非ゼロの優先順位番号は、前記対応するデータインターフェースが特定のネットワークポリシーで使用可能であることを指示する請求項17に記載のマルチホーミングネットワークデバイス。
- 前記非ゼロの優先順位番号は、前記対応するデータインターフェースに関連する優先のレベルを識別する請求項18に記載のマルチホーミングネットワークデバイス。
- 前記マルチホーミングネットワークデバイス内の第1のアプリケーションは第1のデータインターフェースを介して第1のネットワークにアクセスし、前記マルチホーミングネットワークデバイス内の第2のアプリケーションは第2のデータインターフェースを介して第2のネットワークにアクセスする請求項10に記載のマルチホーミングネットワークデバイス。
- プロセッサがアクセス可能なコンピュータ可読媒体であって、前記コンピュータ可読媒体は、
少なくとも1つのアプリケーションと、
前記少なくとも1つのアプリケーションに関連する少なくとも1つのネットワークポリシーとを具備する、ここおいて前記ネットワークポリシーは前記アプリケーションに関するデータを伝達するためのマルチホーミングネットワークデバイスの2つまたはそれより多くのデータインターフェースを識別する、コンピュータ可読媒体。 - 経路範囲をさらに具備する、ここにおいて前記経路範囲は前記ネットワークポリシーに従い、前記コンピュータ可読媒体がインストールされているデバイスにおける1組の利用可能なデータインターフェースから選択された少なくとも1つのデータインターフェースのサブセットを含む請求項21に記載のコンピュータ可読媒体。
- 前記経路範囲は、前記ネットワークポリシーに少なくとも部分的に基づいてルーティングモジュールによって生成される請求項22に記載のコンピュータ可読媒体。
- アプリケーションにデータインターフェースをバインドする方法であって、前記方法は、
前記アプリケーションからネットワークポリシーを受信することと、
マルチホーミングネットワークデバイスにおける1組の利用可能なデータインターフェース内の全てのデータインターフェースではなく、データインターフェースのサブセットに前記アプリケーションをバインドすることとを具備する、ここにおいてデータインターフェースの前記サブセットは少なくとも1つのデータインターフェースを含む、方法。 - 前記アプリケーションがバインドされるデータインターフェースの前記サブセットを示す経路範囲を作成することをさらに具備する請求項24に記載の方法。
- 前記アプリケーションに関連するソケット内に前記経路範囲を記憶することをさらに具備する請求項25に記載の方法。
- 前記ネットワークポリシーは、アプリケーションへの/からのデータ転送のために使用されるべき2つまたはそれより多くのデータインターフェースを識別する請求項26に記載の方法。
- 前記経路範囲は、前記1組の利用可能なデータインターフェースのビットマスクである請求項25に記載の方法。
- データインターフェースからデータパケットを受信することと、
前記データインターフェースのインターネットプロトコル(IP)アドレスを、前記パケットに関連する宛先IPアドレスと比較することと、
前記データインターフェースの前記IPアドレスが前記宛先IPアドレスと一致しないときに前記データパケットを廃棄することと
を具備する、データを受信する方法。 - 前記データインターフェースの前記IPアドレスが前記宛先IPアドレスと一致するときに、前記データパケットがソケットに属するかどうかを決定することをさらに具備する請求項29に記載の方法。
- 前記データパケットが前記アプリケーションに関連するソケットに属さないときに前記データパケットを廃棄することをさらに具備する請求項30に記載の方法。
- 前記データパケットがトランスポート制御ブロックを含むときに、前記データパケットに関連するアプリケーションに関する経路範囲を検索することをさらに具備する請求項30に記載の方法。
- 前記パケットが受信されるデータインターフェースに関する一時的な経路範囲を作成することをさらに具備する請求項32に記載の方法。
- 前記一時的な経路範囲が前記経路範囲に従うかどうかを決定することをさらに具備する請求項33に記載の方法。
- 前記一時的な経路範囲が前記経路範囲に従うときに、前記データパケットを前記アプリケーションに転送することをさらに具備する請求項34に記載の方法。
- 前記一時的な経路範囲が前記経路範囲に従わないときに、前記データパケットを廃棄することをさらに具備する請求項34に記載の方法。
- 前記データパケットが廃棄されることを示すメッセージを用いてピアデバイスに応答する請求項36に記載の方法。
- 結果を生成するために前記一時的な経路範囲および前記経路範囲に関してビット毎の論理積演算を実行することをさらに具備する請求項33に記載の方法。
- 前記結果がゼロであるときに前記データパケットを廃棄することをさらに具備する請求項38に記載の方法。
- 前記結果が非ゼロであるときに前記データパケットを保持することをさらに具備する請求項38に記載の方法。
- プロセッサと、
前記プロセッサがアクセス可能なメモリと、
前記メモリ内に記憶されたルーティングモジュールとを具備する、ここにおいて前記ルーティングモジュールは、
アプリケーションからネットワークポリシーを受信し、
1組の利用可能なデータインターフェース内のデータインターフェースのサブセットに前記アプリケーションをバインドする
ように構成される、マルチホーミングネットワークデバイス。 - 前記ルーティングモジュールは、前記ネットワークポリシーに少なくとも部分的に基づいて経路範囲を作成するようにさらに構成される請求項41に記載のマルチホーミングネットワークデバイス。
- 前記経路範囲は、前記アプリケーションがバインドされるデータインターフェースの前記サブセットの指示を含む請求項42に記載のマルチホーミングネットワークデバイス。
- 前記プロセッサに結合されたトランシーバと、
前記トランシーバに結合されたアンテナと
をさらに具備する請求項10に記載のマルチホーミングネットワークデバイス。 - プロセッサがアクセス可能なコンピュータ可読媒体であって、前記コンピュータ可読媒体は、
経路範囲を具備する、ここにおいて前記経路範囲は、マルチホーミングデバイスにおける1組の利用可能なデータインターフェース内のデータインターフェースのサブセットを指示する、ここにおいてアプリケーションはデータを送信および受信するためにデータインターフェースの前記サブセットにバインドされる、コンピュータ可読媒体。 - 前記経路範囲は、前記アプリケーションから受信されたネットワークポリシーに少なくとも部分的に基づいて生成される請求項45に記載のコンピュータ可読媒体。
- 前記経路範囲は、前記プロセッサによって実行可能なルーティングモジュールによって生成される請求項45に記載のコンピュータ可読媒体。
- 前記経路範囲は、前記1組の利用可能なデータインターフェースのビットマスクである請求項45に記載のコンピュータ可読媒体。
- ネットワークデバイス内の少なくとも1つのポートにアプリケーションをバインドする方法であって、前記方法は、
要求元のアプリケーションにポートをバインドする要求を受信することと、
開いているアプリケーションが前記ポートにバインドされているかどうかを決定することと、
前記開いているアプリケーションが前記ポートにバインドされていないときに前記要求元のアプリケーションを前記ポートにバインドすることと
を具備する、方法。 - 前記開いているアプリケーションが前記ポートにバインドされているときに、前記要求元のアプリケーションに関連する第2の経路範囲および前記開いているアプリケーションに関連する第1の経路範囲に関してビット毎の論理積演算を実行すること
をさらに具備する請求項49に記載の方法。 - 前記ビット毎の論理積演算の結果がゼロであるときに前記要求元のアプリケーションを前記ポートにバインドすることをさらに具備する請求項50に記載の方法。
- 前記ビット毎の論理積演算の前記結果がゼロでないときに、前記要求元のアプリケーションが前記ポートにバインドすることを阻止すること
をさらに具備する請求項51に記載の方法。 - アプリケーションメニューを具備する、ここにおいて前記アプリケーションメニューはマルチホーミングネットワークデバイスにおいてインストールされているアプリケーションのリストを含む、ここにおいてユーザは、選択されたアプリケーションに関連する少なくとも1つのネットワーク設定を編集するために前記アプリケーションメニューからアプリケーションを選択することができる、ユーザインターフェース。
- 前記マルチホーミングネットワークデバイスにおいて利用可能であるネットワークのリストを含むネットワークメニューをさらに具備する請求項53に記載のユーザインターフェース。
- ユーザが前記ネットワークメニューからネットワークを選択し、選択されたネットワークを前記選択されたアプリケーションに関連付けることができる請求項53に記載のユーザインターフェース。
- 前記選択されたアプリケーションによる使用が認められたネットワークのリストを含むネットワーク優先順位メニューをさらに具備する請求項55に記載のユーザインターフェース。
- 前記ネットワーク優先順位メニューは、前記ネットワーク優先順位メニューにリストされた各ネットワークに関連する優先順位を指示する、ここにおいて前記選択されたアプリケーションは各ネットワークと、それに割り当てられた前記優先順位に基づいて通信する請求項56に記載のユーザインターフェース。
- 各ネットワークに関連する前記優先順位はユーザによって割り当てられる請求項57に記載のユーザインターフェース。
- ネットワークポリシーをルーティングモジュールに送信するための手段と、
前記ルーティングモジュールから経路範囲を受信するための手段とを具備する、ここにおいて前記経路範囲は前記ネットワークポリシーを満足するデータネットワークへのデータインターフェースのサブセットを識別し、ここにおいてデータインターフェースの前記サブセットは1組の利用可能なデータインターフェースから選択され、ここにおいてデータインターフェースの前記サブセットは少なくとも1つのデータインターフェースを含む、マルチホーミングネットワークデバイス。 - マルチホーミングネットワークデバイスであって、
前記マルチホーミングネットワークデバイスにおける1組の利用可能なデータインターフェース内の全てのデータインターフェースではなく、データインターフェースのサブセットにアプリケーションをバインドするための手段を具備する、ここにおいてデータインターフェースの前記サブセットは少なくとも1つのデータインターフェースを含む、マルチホーミングネットワークデバイス。 - データインターフェースからデータパケットを受信するための手段と、
前記データインターフェースのインターネットプロトコル(IP)アドレスを、前記パケットに関連する宛先IPアドレスと比較するための手段と、
前記データインターフェースの前記IPアドレスが前記宛先IPアドレスと一致しないときに前記データパケットを廃棄するための手段と
を具備するマルチホーミングネットワークデバイス。 - 要求元のアプリケーションにポートをバインドする要求を受信するための手段と、
開いているアプリケーションが前記ポートにバインドされているかどうかを決定するための手段と、
前記開いているアプリケーションが前記ポートにバインドされていないときに前記要求元のアプリケーションを前記ポートにバインドするための手段と
を具備するマルチホーミングネットワークデバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US68684405P | 2005-06-01 | 2005-06-01 | |
US11/349,314 US8526463B2 (en) | 2005-06-01 | 2006-02-06 | System and method to support data applications in a multi-homing, multi-mode communication device |
PCT/US2006/021384 WO2006130807A2 (en) | 2005-06-01 | 2006-06-01 | Selecting data interfaces in a multi-homing, multi-mode communication device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011024195A Division JP5102378B2 (ja) | 2005-06-01 | 2011-02-07 | マルチホーミングマルチモード通信デバイスにおけるデータインターフェースの選択 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008546321A true JP2008546321A (ja) | 2008-12-18 |
Family
ID=37103188
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008514882A Pending JP2008546321A (ja) | 2005-06-01 | 2006-06-01 | マルチホーミングマルチモード通信デバイスにおけるデータインターフェースの選択 |
JP2011024195A Active JP5102378B2 (ja) | 2005-06-01 | 2011-02-07 | マルチホーミングマルチモード通信デバイスにおけるデータインターフェースの選択 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011024195A Active JP5102378B2 (ja) | 2005-06-01 | 2011-02-07 | マルチホーミングマルチモード通信デバイスにおけるデータインターフェースの選択 |
Country Status (9)
Country | Link |
---|---|
US (5) | US8526463B2 (ja) |
EP (1) | EP1886532B1 (ja) |
JP (2) | JP2008546321A (ja) |
KR (1) | KR101032843B1 (ja) |
CN (1) | CN101228806B (ja) |
AT (1) | ATE536065T1 (ja) |
ES (1) | ES2374941T3 (ja) |
TW (1) | TWI337483B (ja) |
WO (1) | WO2006130807A2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2008075580A1 (ja) * | 2006-12-20 | 2010-04-08 | 日本電気株式会社 | 通信端末、端末、通信システム、通信方法及びプログラム |
JP2012519401A (ja) * | 2009-02-27 | 2012-08-23 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 複数のインターフェースを有するホストを設定する、動的ホスト設定プロトコルバージョン6拡張のための装置および方法 |
JP2013511206A (ja) * | 2009-11-11 | 2013-03-28 | マイクロソフト コーポレーション | 仮想ホスト・セキュリティ・プロファイル |
JP2013511207A (ja) * | 2009-11-11 | 2013-03-28 | マイクロソフト コーポレーション | スマートクライアントルーティング |
JP2013517586A (ja) * | 2010-01-22 | 2013-05-16 | クアルコム,インコーポレイテッド | マルチプロセッサマルチモードネットワークデバイスのための階層的ルーティングおよびインターフェース選択 |
JP2013520899A (ja) * | 2010-02-23 | 2013-06-06 | アルカテル−ルーセント | ユーザ機器と3gpp発展型パケット・コアとの間でのマルチホーミング・サービス関連情報の転送 |
JP2013157751A (ja) * | 2012-01-27 | 2013-08-15 | Kyocera Corp | 携帯端末 |
JP2014526167A (ja) * | 2011-07-06 | 2014-10-02 | エアプラグ インコーポレイテッド | 固定ホストアドレスに基づいて複数の異種網を選択的に用いてデータ送受信を可能にする装置と、そのための方法 |
WO2015052866A1 (ja) * | 2013-10-11 | 2015-04-16 | 日本電気株式会社 | 端末装置、端末装置制御方法および端末装置制御プログラム |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7734284B2 (en) | 2004-04-30 | 2010-06-08 | Research In Motion Limited | System and method for handling data transfers |
KR101332911B1 (ko) | 2005-05-11 | 2013-11-26 | 퀄컴 인코포레이티드 | 분산 처리 시스템 및 방법 |
US8526463B2 (en) | 2005-06-01 | 2013-09-03 | Qualcomm Incorporated | System and method to support data applications in a multi-homing, multi-mode communication device |
US7614082B2 (en) | 2005-06-29 | 2009-11-03 | Research In Motion Limited | System and method for privilege management and revocation |
US9455844B2 (en) | 2005-09-30 | 2016-09-27 | Qualcomm Incorporated | Distributed processing system and method |
US8509062B2 (en) * | 2006-08-07 | 2013-08-13 | Ciena Corporation | Smart ethernet edge networking system |
KR101257110B1 (ko) * | 2006-04-12 | 2013-04-22 | 삼성전자주식회사 | 패킷 서비스 재접속 시점의 결정방법 및 장치 |
US20070255797A1 (en) * | 2006-04-28 | 2007-11-01 | Dunn Douglas L | Method for selecting an air interface using an access list on a multi-mode wireless device |
US8683045B2 (en) * | 2006-07-17 | 2014-03-25 | Qualcomm Incorporated | Intermediate network device for host-client communication |
KR100772886B1 (ko) * | 2006-10-27 | 2007-11-05 | 삼성전자주식회사 | 네트워크 정보 제공 장치 및 방법 |
US8050707B2 (en) * | 2007-02-02 | 2011-11-01 | Dell Products L.P. | Method for selecting a priority for wireless technologies via graphical representation |
US8687487B2 (en) * | 2007-03-26 | 2014-04-01 | Qualcomm Incorporated | Method and system for communication between nodes |
DE102007025515B4 (de) * | 2007-05-31 | 2010-04-15 | Vodafone Holding Gmbh | Vorrichtung zum Aktivieren und Deaktivieren von Netzwerkschnittstellen |
US8572256B2 (en) * | 2007-07-16 | 2013-10-29 | Qualcomm Incorporated | Method for supporting multiple diversified data applications with efficient use of network resources |
US8107939B2 (en) * | 2007-12-14 | 2012-01-31 | Microsoft Corporation | Software defined radio architecture |
KR100935371B1 (ko) | 2007-12-18 | 2010-01-06 | 한국전자통신연구원 | 프로토콜 확장을 이용한 이동 단말의 이동성 지원 방법 |
KR101466573B1 (ko) * | 2008-01-22 | 2014-12-10 | 삼성전자주식회사 | 통신 단말 장치 및 통신 단말 장치에 탑재된 복수개의네트워크 인터페이스를 이용하여 통신을 수행하는 방법 |
US8619629B2 (en) * | 2008-07-23 | 2013-12-31 | Panasonic Corporation | Mobile terminal and network node |
CN102138362A (zh) * | 2008-08-29 | 2011-07-27 | 交互数字专利控股公司 | 使用多无线电的装置的ip移动性 |
US8402084B2 (en) * | 2008-09-11 | 2013-03-19 | Intel Corporation | Host embedded controller interface bridge |
US8407721B2 (en) * | 2008-12-12 | 2013-03-26 | Microsoft Corporation | Communication interface selection on multi-homed devices |
US9603085B2 (en) * | 2010-02-16 | 2017-03-21 | Qualcomm Incorporated | Methods and apparatus providing intelligent radio selection for legacy and non-legacy applications |
GB201009649D0 (en) * | 2010-06-09 | 2010-07-21 | Roke Manor Research | Mobile device and method |
US11405969B2 (en) * | 2010-09-29 | 2022-08-02 | International Business Machines Corporation | Enabling interface aggregation of mobile broadband network interfaces |
TW201223212A (en) * | 2010-11-24 | 2012-06-01 | Inst Information Industry | Network classification connection system, method, and computer recording medium |
CN102480499A (zh) * | 2010-11-24 | 2012-05-30 | 财团法人资讯工业策进会 | 网络分类连结系统及方法 |
WO2012091698A1 (en) * | 2010-12-28 | 2012-07-05 | Empire Technology Development Llc | Viral quality of service upgrade |
US9264868B2 (en) | 2011-01-19 | 2016-02-16 | Qualcomm Incorporated | Management of network access requests |
US9178965B2 (en) | 2011-03-18 | 2015-11-03 | Qualcomm Incorporated | Systems and methods for synchronization of application communications |
US9161226B2 (en) | 2011-10-17 | 2015-10-13 | Blackberry Limited | Associating services to perimeters |
US9497220B2 (en) | 2011-10-17 | 2016-11-15 | Blackberry Limited | Dynamically generating perimeters |
US8665847B2 (en) | 2011-11-08 | 2014-03-04 | Microsoft Corporation | Service-assisted network access point selection |
US9613219B2 (en) * | 2011-11-10 | 2017-04-04 | Blackberry Limited | Managing cross perimeter access |
US8799227B2 (en) | 2011-11-11 | 2014-08-05 | Blackberry Limited | Presenting metadata from multiple perimeters |
EP2677478A1 (en) * | 2012-06-21 | 2013-12-25 | BlackBerry Limited | Managing use of network resources |
US9369466B2 (en) * | 2012-06-21 | 2016-06-14 | Blackberry Limited | Managing use of network resources |
US8656016B1 (en) | 2012-10-24 | 2014-02-18 | Blackberry Limited | Managing application execution and data access on a device |
US9075955B2 (en) | 2012-10-24 | 2015-07-07 | Blackberry Limited | Managing permission settings applied to applications |
JP5958359B2 (ja) * | 2013-01-21 | 2016-07-27 | ブラザー工業株式会社 | 通信支援プログラムおよび通信装置 |
KR102028125B1 (ko) * | 2013-08-14 | 2019-11-04 | 삼성전자주식회사 | Ip주소를 이용하여 어플리케이션을 자동으로 구동하는 방법 및 장치 |
US10193748B2 (en) | 2013-09-30 | 2019-01-29 | Extreme Networks, Inc. | Enabling configuration in networks |
US9954764B2 (en) * | 2013-09-30 | 2018-04-24 | Extreme Networks, Inc. | Performing MAC-in-MAC encapsulation using shortest path bridging configuration information |
US10382305B2 (en) | 2013-11-15 | 2019-08-13 | Microsoft Technology Licensing, Llc | Applying sequenced instructions to connect through captive portals |
US9554323B2 (en) | 2013-11-15 | 2017-01-24 | Microsoft Technology Licensing, Llc | Generating sequenced instructions for connecting through captive portals |
US9369342B2 (en) | 2013-11-15 | 2016-06-14 | Microsoft Technology Licensing, Llc | Configuring captive portals with a cloud service |
US10057302B2 (en) | 2013-11-15 | 2018-08-21 | Microsoft Technology Licensing, Llc | Context-based selection of instruction sets for connecting through captive portals |
WO2015102468A1 (en) | 2014-01-06 | 2015-07-09 | Samsung Electronics Co., Ltd. | Method and apparatus for relaying packet transmission and updating network address information in communication system |
US9635486B2 (en) * | 2014-06-10 | 2017-04-25 | Microsoft Technology Licensing, Llc | Network selection for a given application or context |
KR102301843B1 (ko) * | 2014-12-18 | 2021-09-14 | 삼성전자 주식회사 | 환경 설정을 변경하여 무선 통신의 성능을 향상시키는 방법 및 이를 구현한 전자장치 |
JP6540283B2 (ja) * | 2015-06-30 | 2019-07-10 | 富士通株式会社 | 通信装置、通信方法、および、通信プログラム |
US9918255B2 (en) | 2015-09-22 | 2018-03-13 | International Business Machines Corporation | Electronic devices with distributed radios |
US10452395B2 (en) | 2016-07-20 | 2019-10-22 | International Business Machines Corporation | Instruction to query cache residency |
US10521350B2 (en) | 2016-07-20 | 2019-12-31 | International Business Machines Corporation | Determining the effectiveness of prefetch instructions |
US10169239B2 (en) | 2016-07-20 | 2019-01-01 | International Business Machines Corporation | Managing a prefetch queue based on priority indications of prefetch requests |
US10621095B2 (en) * | 2016-07-20 | 2020-04-14 | International Business Machines Corporation | Processing data based on cache residency |
EP3327971A1 (en) * | 2016-11-29 | 2018-05-30 | Thomson Licensing | A method and apparatus for managing interfaces steering in communication devices |
US10455464B1 (en) * | 2017-05-12 | 2019-10-22 | Sprint Spectrum L.P. | Dynamic handover threshold adjustment |
WO2021188026A1 (en) * | 2020-03-20 | 2021-09-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, host devices and computer program products for assigning communication ports |
US11343180B2 (en) * | 2020-08-14 | 2022-05-24 | Cisco Technology, Inc. | Network service access and data routing based on assigned context |
US11979292B1 (en) * | 2022-12-14 | 2024-05-07 | Ca, Inc. | Virtual network interface management for network functions using network definitions |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05316248A (ja) * | 1992-05-08 | 1993-11-26 | N T T Data Tsushin Kk | 通信回線自動選択方法 |
JP2000244601A (ja) * | 1999-02-24 | 2000-09-08 | Mitsubishi Electric Corp | データ回線選択方法およびデータ回線選択装置 |
JP2001503578A (ja) * | 1996-10-31 | 2001-03-13 | コネクト ワン,インク. | 多重プロトコル無線通信の転送の最適化 |
JP2002261857A (ja) * | 2001-02-28 | 2002-09-13 | Ntt Docomo Inc | リンクマネージャ及びリンク管理方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5181017A (en) * | 1989-07-27 | 1993-01-19 | Ibm Corporation | Adaptive routing in a parallel computing system |
US5345550A (en) * | 1992-12-23 | 1994-09-06 | International Business Machines Corporation | User-modifiable popup menus for object oriented behavior |
US6473404B1 (en) | 1998-11-24 | 2002-10-29 | Connect One, Inc. | Multi-protocol telecommunications routing optimization |
US6122514A (en) | 1997-01-03 | 2000-09-19 | Cellport Systems, Inc. | Communications channel selection |
US6078587A (en) | 1997-06-23 | 2000-06-20 | Sun Microsystems, Inc. | Mechanism for coalescing non-cacheable stores |
WO2001033889A1 (en) | 1999-11-01 | 2001-05-10 | White. Cell, Inc. | Cellular data system security method and apparatus |
AU2001239819A1 (en) | 2000-02-23 | 2001-09-03 | Dave D. Adams | System and method for dynamically routing messages transmitted from mobile platforms |
US7171492B1 (en) * | 2000-02-24 | 2007-01-30 | Utstarcom, Inc. | Method and application programming interface for assigning multiple network addresses |
US7120697B2 (en) * | 2001-05-22 | 2006-10-10 | International Business Machines Corporation | Methods, systems and computer program products for port assignments of multiple application instances using the same source IP address |
US20020116397A1 (en) | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for communicating an information packet through multiple router devices |
US7747758B2 (en) * | 2001-10-29 | 2010-06-29 | International Business Machines Corporation | Dynamic port assignment |
US6904282B2 (en) | 2001-11-16 | 2005-06-07 | Qualcomm Incorporated | Method and apparatus for identifying and acquiring preferred wireless communications systems |
AU2003242944A1 (en) * | 2002-07-10 | 2004-02-02 | Koninklijke Philips Electronics N.V. | Interface selection from multiple networks |
US7065367B2 (en) * | 2002-07-11 | 2006-06-20 | Oliver Michaelis | Interface selection in a wireless communication network |
US7436804B2 (en) * | 2002-09-18 | 2008-10-14 | Qualcomm Incorporated | Methods and apparatus for using a Care of Address option |
US8191136B2 (en) | 2002-11-04 | 2012-05-29 | Riverbed Technology, Inc. | Connection based denial of service detection |
US7146130B2 (en) | 2003-02-24 | 2006-12-05 | Qualcomm Incorporated | Wireless local access network system detection and selection |
JP2004304399A (ja) | 2003-03-31 | 2004-10-28 | Nec Corp | 通信端末、基地局、サーバ、ネットワークシステム及びハンドオーバ方法 |
US20050125511A1 (en) * | 2003-12-08 | 2005-06-09 | Hunt Preston J. | Intelligent local proxy for transparent network access from multiple physical locations |
BRPI0506983A (pt) * | 2004-01-20 | 2007-07-03 | Allergan Inc | composições para terapia localizada dos olhos, compreendendo preferencialmente acetonida de triancinolona e ácido hialurÈnico |
CN1561041A (zh) * | 2004-02-26 | 2005-01-05 | 中兴通讯股份有限公司 | 一种以太网接口热备份的装置及方法 |
US7761607B2 (en) * | 2004-04-23 | 2010-07-20 | Microsoft Corporation | User based communication mode selection on a device capable of carrying out network communications |
US8526463B2 (en) | 2005-06-01 | 2013-09-03 | Qualcomm Incorporated | System and method to support data applications in a multi-homing, multi-mode communication device |
JP5316248B2 (ja) | 2009-06-16 | 2013-10-16 | 株式会社リコー | テレビ会議装置、テレビ会議方法、そのプログラム |
US8626463B2 (en) | 2009-12-23 | 2014-01-07 | Western Digital Technologies, Inc. | Data storage device tester |
-
2006
- 2006-02-06 US US11/349,314 patent/US8526463B2/en not_active Expired - Fee Related
- 2006-06-01 KR KR1020077031048A patent/KR101032843B1/ko active IP Right Grant
- 2006-06-01 CN CN2006800264639A patent/CN101228806B/zh active Active
- 2006-06-01 TW TW095119479A patent/TWI337483B/zh not_active IP Right Cessation
- 2006-06-01 JP JP2008514882A patent/JP2008546321A/ja active Pending
- 2006-06-01 EP EP06771906A patent/EP1886532B1/en active Active
- 2006-06-01 ES ES06771906T patent/ES2374941T3/es active Active
- 2006-06-01 AT AT06771906T patent/ATE536065T1/de active
- 2006-06-01 WO PCT/US2006/021384 patent/WO2006130807A2/en active Application Filing
-
2011
- 2011-02-07 JP JP2011024195A patent/JP5102378B2/ja active Active
-
2013
- 2013-08-02 US US13/958,454 patent/US9185582B2/en not_active Expired - Fee Related
-
2014
- 2014-09-24 US US14/495,675 patent/US9185583B2/en not_active Expired - Fee Related
- 2014-09-25 US US14/496,996 patent/US20150012832A1/en not_active Abandoned
- 2014-09-26 US US14/498,943 patent/US9258721B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05316248A (ja) * | 1992-05-08 | 1993-11-26 | N T T Data Tsushin Kk | 通信回線自動選択方法 |
JP2001503578A (ja) * | 1996-10-31 | 2001-03-13 | コネクト ワン,インク. | 多重プロトコル無線通信の転送の最適化 |
JP2000244601A (ja) * | 1999-02-24 | 2000-09-08 | Mitsubishi Electric Corp | データ回線選択方法およびデータ回線選択装置 |
JP2002261857A (ja) * | 2001-02-28 | 2002-09-13 | Ntt Docomo Inc | リンクマネージャ及びリンク管理方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2008075580A1 (ja) * | 2006-12-20 | 2010-04-08 | 日本電気株式会社 | 通信端末、端末、通信システム、通信方法及びプログラム |
JP2012519401A (ja) * | 2009-02-27 | 2012-08-23 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 複数のインターフェースを有するホストを設定する、動的ホスト設定プロトコルバージョン6拡張のための装置および方法 |
US8539053B2 (en) | 2009-02-27 | 2013-09-17 | Futurewei Technologies, Inc. | Apparatus and method for dynamic host configuration protocol version 6 extensions for configuring hosts with multiple interfaces |
US9531674B2 (en) | 2009-11-11 | 2016-12-27 | Microsoft Technology Licensing, Llc | Virtual host security profiles |
JP2013511206A (ja) * | 2009-11-11 | 2013-03-28 | マイクロソフト コーポレーション | 仮想ホスト・セキュリティ・プロファイル |
JP2013511207A (ja) * | 2009-11-11 | 2013-03-28 | マイクロソフト コーポレーション | スマートクライアントルーティング |
JP2013517586A (ja) * | 2010-01-22 | 2013-05-16 | クアルコム,インコーポレイテッド | マルチプロセッサマルチモードネットワークデバイスのための階層的ルーティングおよびインターフェース選択 |
JP2013520899A (ja) * | 2010-02-23 | 2013-06-06 | アルカテル−ルーセント | ユーザ機器と3gpp発展型パケット・コアとの間でのマルチホーミング・サービス関連情報の転送 |
US10517058B2 (en) | 2010-02-23 | 2019-12-24 | Alcatel Lucent | Transport of multihoming service related information between user equipment and 3GPP evolved packet core |
JP2014526167A (ja) * | 2011-07-06 | 2014-10-02 | エアプラグ インコーポレイテッド | 固定ホストアドレスに基づいて複数の異種網を選択的に用いてデータ送受信を可能にする装置と、そのための方法 |
JP2013157751A (ja) * | 2012-01-27 | 2013-08-15 | Kyocera Corp | 携帯端末 |
JPWO2015052866A1 (ja) * | 2013-10-11 | 2017-03-09 | 日本電気株式会社 | 端末装置、端末装置制御方法および端末装置制御プログラム |
WO2015052866A1 (ja) * | 2013-10-11 | 2015-04-16 | 日本電気株式会社 | 端末装置、端末装置制御方法および端末装置制御プログラム |
US10555217B2 (en) | 2013-10-11 | 2020-02-04 | Nec Corporation | Terminal device, terminal-device control method, and terminal-device control program |
Also Published As
Publication number | Publication date |
---|---|
EP1886532A2 (en) | 2008-02-13 |
CN101228806A (zh) | 2008-07-23 |
ATE536065T1 (de) | 2011-12-15 |
US20150010006A1 (en) | 2015-01-08 |
US20130315146A1 (en) | 2013-11-28 |
JP5102378B2 (ja) | 2012-12-19 |
US20150012832A1 (en) | 2015-01-08 |
US8526463B2 (en) | 2013-09-03 |
KR20080026571A (ko) | 2008-03-25 |
US20060274750A1 (en) | 2006-12-07 |
US9185583B2 (en) | 2015-11-10 |
CN101228806B (zh) | 2013-01-16 |
WO2006130807A2 (en) | 2006-12-07 |
US9258721B2 (en) | 2016-02-09 |
WO2006130807A3 (en) | 2007-05-24 |
JP2011172220A (ja) | 2011-09-01 |
KR101032843B1 (ko) | 2011-05-06 |
ES2374941T3 (es) | 2012-02-23 |
TW200713930A (en) | 2007-04-01 |
TWI337483B (en) | 2011-02-11 |
US20150016442A1 (en) | 2015-01-15 |
US9185582B2 (en) | 2015-11-10 |
EP1886532B1 (en) | 2011-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5102378B2 (ja) | マルチホーミングマルチモード通信デバイスにおけるデータインターフェースの選択 | |
CN101346947B (zh) | 用于电信网络中路由优化的方法和设备 | |
US7295532B2 (en) | System, device and computer readable medium for providing networking services on a mobile device | |
US7016334B2 (en) | Device, system, method and computer readable medium for fast recovery of IP address change | |
US7539159B2 (en) | Maintaining reachability of a mobile node | |
Nordmark et al. | IPv6 Socket API for source address selection | |
US20040125762A1 (en) | Device, system, method and computer readable medium for attaching to a device identifited by an access point name in a wide area network providing particular services | |
US20070226780A1 (en) | Arrangements And Methods Relating To Security In Networks Supporting Communication Of Packet Data | |
EP2148492A1 (en) | Apparatus and method for setting IP addresses in a mobile communication system | |
US7822003B2 (en) | Method and system for providing system information in a communication network | |
Nordmark et al. | RFC 5014: IPv6 Socket API for Source Address Selection | |
Laganier | Network Working Group E. Nordmark Request for Comments: 5014 Sun Microsystems, Inc. Category: Informational S. Chakrabarti Azaire Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100903 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101005 |