(57)【要約】【課題】適切なネットワークを選択すること。【解決手段】ネットワークの選択のための方法を開示し、方法は、インターフェースが実行可能なコードを１つ以上のネットワーク・インターフェースに関連付ける工程と、実行可能なコードからのネットワーク通信の検出に応じてネットワーク・インターフェースのうちの１つを選択する工程と、ネットワーク通信を、選択したネットワーク・インターフェースに割り当てる工程とを含む。【選択図】図１
2016025663.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサーと、
前記プロセッサーがアクセス可能なディスプレイと、
前記プロセッサーが実行可能な機械命令を格納するメモリーと
を備え、前記機械命令は、
実行可能なコードを１つ以上のネットワーク・インターフェースに関連付けるコードと、
前記実行可能なコードからのネットワーク通信の検出に応じて、前記ネットワーク・インターフェースのうちの１つを選択するコードと、
前記ネットワーク通信を、前記選択したネットワーク・インターフェースに割り当てるコードと、
を含むことを特徴とする装置。
【請求項２】
前記ネットワーク・インターフェースのうちの１つの選択は、さらに、前記実行可能なコードの指示に基づくことを特徴とする請求項１に記載の装置。
【請求項３】
前記関連付けられたネットワーク・インターフェースは、優先度のリストに含まれ、
前記ネットワーク・インターフェースを選択するコードは、さらに、優先度の値に基づいて選択することを特徴とする請求項１に記載の装置。
【請求項４】
前記ネットワーク・インターフェースを選択するコードは、さらに、前記ネットワーク通信の宛先装置に基づいて選択することを特徴とする請求項１に記載の装置。
【請求項５】
前記実行可能なコードを関連付けるコードは、さらに、ユーザーからの指示に基づいて関連付けることを特徴とする請求項１に記載の装置。
【請求項６】
前記実行可能なコードは、アプリケーション、オペレーティング・システム、ドライバー、およびライブラリーで構成されるグループから選択されることを特徴とする請求項１に記載の装置。
【請求項７】
前記実行可能なコードはカテゴリーに含まれ、前記１つ以上のネットワーク・インターフェースは前記カテゴリーに関連付けられることを特徴とする、請求項１に記載の装置。
【請求項８】
実行可能なコードを１つ以上のネットワーク・インターフェースに関連付ける工程と、
前記実行可能なコードからのネットワーク通信の検出に応じて、前記ネットワーク・インターフェースのうちの１つを選択する工程と、
前記ネットワーク通信を、前記選択したネットワーク・インターフェースに割り当てる工程と
を含むことを特徴とする方法。
【請求項９】
前記ネットワーク・インターフェースのうちの１つを選択する工程は、さらに、前記実行可能なコードの指示に基づくことを特徴とする請求項８に記載の方法。
【請求項１０】
さらに、前記関連付けられたネットワーク・インターフェースに対して優先度を付与する工程を含み、
前記選択する工程は、さらに、優先度の値に基づくことを特徴とする請求項８に記載の方法。
【請求項１１】
前記ネットワーク・インターフェースを選択する工程は、さらに、前記ネットワーク通信の宛先装置に基づくことを特徴とする請求項８に記載の方法。
【請求項１２】
前記関連付ける工程は、ユーザーからの指示に基づくことを特徴とする請求項８に記載の方法。
【請求項１３】
前記実行可能なコードは、アプリケーション、オペレーティング・システム、ドライバー、およびライブラリーで構成されるグループから選択されることを特徴とする請求項８に記載の方法。
【請求項１４】
前記実行可能なコードはカテゴリーに含まれ、
前記実行可能なコードを１つ以上のネットワーク・インターフェースに関連付ける工程は、前記実行可能なコードを前記カテゴリーに関連付けることで前記関連付けを行うことを特徴とする請求項８に記載の方法。
【請求項１５】
実行可能なコードを１つ以上のネットワーク・インターフェースに関連付ける工程と、
前記実行可能なコードからのネットワーク通信の検出に応じて、前記ネットワーク・インターフェースのうちの１つを選択する工程と、
前記ネットワーク通信を、前記選択したネットワーク・インターフェースに割り当てる工程と、
をコンピュータに実行させることを特徴とするコンピュータが実行可能なプログラム。
【請求項１６】
前記ネットワーク・インターフェースのうちの１つを選択する工程は、さらに、前記実行可能なコードの指示に基づくことを特徴とする請求項１５に記載のコンピュータが実行可能なプログラム。
【請求項１７】
さらに、前記関連付けられたネットワーク・インターフェースに対して優先度を付与する工程をコンピュータに実行させ、
前記選択する工程は、さらに、優先度の値に基づくことを特徴とする請求項１５に記載のコンピュータが実行可能なプログラム。
【請求項１８】
前記ネットワーク・インターフェースを選択する工程は、さらに、前記ネットワーク通信の宛先装置に基づくことを特徴とする請求項１５に記載のコンピュータが実行可能なプログラム。
【請求項１９】
前記関連付ける工程は、ユーザーからの指示に基づくことを特徴とする請求項１５に記載のコンピュータが実行可能なプログラム。
【請求項２０】
前記実行可能なコードは、アプリケーション、オペレーティング・システム、ドライバー、およびライブラリーで構成されるグループから選択されることを特徴とする請求項１５に記載のコンピュータが実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ここで開示する主題は、コンピュータ・ネットワーキングに関し、より詳細には、ネットワークの選択に関する。
【背景技術】
【０００２】
技術の継続的な進歩により、コンピューティング・デバイスは、様々な状況において多種多様なタスクを実行できるようになってきている。コンピューティング・デバイスは、小型化されるにつれて、ユーザーが持ち歩けるようになってきている。ユーザーがコンピューティング・デバイスを持ち歩いて、コンピューティング・デバイスで様々なネットワークと通信できるようになってきている。
【０００３】
場合によっては、コンピューティング・デバイスは、特定の認識されたネットワークに自動的に接続することができる。コンピューティング・デバイスは、一般的に、あるネットワークを別のネットワークよりも優先するように構成することができる。優先されたネットワークが利用可能になると、コンピューティング・デバイスはその優先されたネットワークに切り換えることができる。ネットワークの優先は、コンピューティング・デバイスのユーザーが設定することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
いくつかの例では、コンピューティング・デバイスは、ネットワークの可用性(availability)に基づいてネットワークを切り換えることもある。例えば、モバイル・デバイスは、ローカル・ネットワークが利用可能な場合はローカル・ネットワークを利用し、ローカル・ネットワークが利用可能でない場合はブロードバンド・ネットワークを利用するように構成される。
【０００５】
ある例では、ネットワークの優先および設定は、コンピューティング・デバイスのオペレーティング・システムのレベルで行うこともある。一例において、ローカル・ネットワークはブロードバンド・ネットワークよりも高速であることから、モバイル・デバイスは、ローカル・ネットワークが利用可能な場合はローカル・ネットワークを優先するように構成される。ただし、ローカル・ネットワークはパブリック・ネットワークである可能性があり、ユーザーは知らずにパブリック・ネットワーク上に秘密情報を送信してしまう恐れがある。したがってユーザーは、ネットワークの性能とネットワークのセキュリティのどちらを優先するか決める必要がある。様々な固有の理由から、特定のネットワークが優先されることがあるため、現行の選択技術は、適切なネットワークの選択において効果的でない場合がある。
【０００６】
本発明は、上記に鑑みてなされたものであり、適切なネットワークを選択することを目的とする。
【課題を解決するための手段】
【０００７】
ネットワークを選択する装置が開示される。一実施形態において、この装置は、プロセッサーと、プロセッサーが実行可能な機械命令を格納するメモリーとを備える。一実施形態において、そのコードは、実行可能なコードを１つ以上のネットワーク・インターフェースに関連付けてもよい。別の実施形態において、そのコードは、実行可能なコードからのネットワーク通信の検出に応じて、ネットワーク・インターフェースのうちの１つを選択してもよい。さらに別の実施形態において、そのコードは、ネットワーク通信を、選択したネットワーク・インターフェースに割り当ててもよい。方法およびコンピュータ・プログラム製品も、この装置の各機能を実行する。簡単に前述した実施形態については、添付の図面に示す特定の実施形態を参照して、より詳細に説明する。図面は一部の実施形態のみを示すため、本開示の範囲を限定するものではないとの理解に基づき、添付の図面を用いて、さらに具体的かつ詳細に実施形態について説明する。
【図面の簡単な説明】
【０００８】
【図１】図１は、ネットワーク選択装置の一実施形態を示す概略ブロック図である。
【図２】図２は、本開示の一実施形態による実行可能なコードの例を示す図である。
【図３】図３は、本開示によるネットワーク選択装置の一実施形態を示す図である。
【図４】図４は、本開示によるネットワーク選択装置の一実施形態を示す図である。
【図５】図５は、本開示によるネットワーク選択装置の一実施形態を示す図である。
【図６】図６は、本開示の一実施形態による関連付けを示す図である。
【図７】図７は、ネットワーク選択方法の一実施形態を示す概略フローチャート図である。
【図８】図８は、ネットワーク選択方法の一実施形態を示す概略フローチャート図である。
【図９】図９は、ネットワーク選択方法の一実施形態を示す概略フローチャート図である。
【図１０】図１０は、ネットワーク選択方法の一実施形態を示す概略フローチャート図である。
【発明を実施するための形態】
【０００９】
当業者に明らかなように、実施形態の態様は、システム、方法、およびプログラム製品(program  product)として具体化が可能である。それに応じて、実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、または、ソフトウェアとハードウェアの態様を組み合わせた実施形態の形を取ってもよく、本明細書では全体的に、これらのそれぞれを、「回路」、「モジュール」、または「システム」と呼ぶことがある。さらに、実施形態は、機械可読コード、コンピュータ可読コード、およびコンピュータ可読プログラム・コードのうち少なくとも１つ（以降、コードと呼ぶ）を格納する１つ以上のコンピュータ可読ストレージ・デバイスにおいて具体化されるプログラム製品の形を取ってもよい。ストレージ・デバイスは、有形、非一時的、または非送信のものであってもよい。ストレージ・デバイスは、信号を具体化しなくてもよい。ある実施形態において、ストレージ・デバイスは、コードにアクセスするための信号を使用するのみである。
【００１０】
本明細書で説明する機能ユニットの多くはモジュールと名付けられており、そのことにより、それらの実装の独立性がよりいっそうはっきりする。例えば、モジュールは、カスタムＶＬＳＩ回路もしくはゲート・アレイ、ロジック・チップやトランジスタ等の既製の半導体、または他の個別部品を備えるハードウェア回路として実装されてもよい。モジュールはまた、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ・ロジック、プログラマブル・ロジック・デバイス等のプログラマブル・ハードウェア・デバイスに実装されてもよい。
【００１１】
モジュールはまた、様々な種類のプロセッサーによる実行のために、コードとソフトウェアのうち少なくとも一方に実装されてもよい。コードの特定の１モジュールは、例えば、実行可能なコードの１つ以上の物理ブロックまたは論理ブロックを備えてもよく、それらのブロックは、例えば、オブジェクト、プロシージャ(procedure)、またはファンクションとして構成されうるものである。ただし、特定の１モジュールの実行ファイルは、物理的に同じ場所にある必要はなく、異なる場所に格納された多種多様な命令を備えてもよく、それらの命令は、論理的に結合された時にモジュールを構成し、モジュールの定められた目的を達成するものである。
【００１２】
実際には、コードのモジュールは、単一の命令または多数の命令であってもよく、いくつかの異なるコード・セグメントにわたり、異なるプログラム間で、いくつかのメモリー・デバイスに分散されてもよい。同様に、本明細書においては、オペレーショナル・データは、モジュールの範囲内で識別され例示される場合があり、また、任意の適切な形で具体化され、任意の適切な種類のデータ構造内に構築されている場合もある。オペレーショナル・データは、単一のデータ・セットとして収集されてもよく、または異なるコンピュータ可読ストレージ・デバイス全体を含む異なる場所全体にわたり分散されてもよい。モジュールまたはモジュールの部分がソフトウェアに実装される場合、そのソフトウェア  部分は、１つ以上のコンピュータ可読ストレージ・デバイスに格納される。
【００１３】
１つ以上のコンピュータ可読媒体の任意の組み合わせを利用してもよい。コンピュータ可読媒体は、コンピュータ可読記憶媒体であってもよい。コンピュータ可読媒体は、コードを格納するストレージ・デバイスであってもよい。ストレージ・デバイスは、例えば、電子的、磁気的、光学的、電磁気的、赤外線、ホログラフィック、マイクロメカニカル、もしくは半導体のシステム、装置、もしくはデバイス、または前述のいずれかの適切な組み合わせであってもよいが、これらに限定されるわけではない。
【００１４】
ストレージ・デバイスのより具体的な例（完全に網羅して列挙するわけではない）には、１本以上の配線を有する電気接続、携帯用コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリー（Random  Access  Memory：ＲＡＭ）、読み取り専用メモリー（Read-Only  Memory：ＲＯＭ）、消去可能プログラマブル読み取り専用メモリー（Erasable  Programmable  Read-Only  Memory：ＥＰＲＯＭまたはフラッシュメモリー）、携帯用コンパクト・ディスク読み取り専用メモリー（Compact  Disc  Read-Only  Memory：ＣＤ−ＲＯＭ）、光学的ストレージ・デバイス、磁気的ストレージ・デバイス、または前述のいずれかの適切な組み合わせが含まれる。本明細書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、もしくはデバイスにより、またはそれと関連して使用されるプログラムを含む、すなわち格納することのできる任意の有形媒体であってもよい。
【００１５】
実施形態のオペレーションを実行するコードは、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のオブジェクト指向プログラミング言語と、「Ｃ」プログラミング言語や類似するプログラミング言語のような従来の手続き型プログラミング言語とを含む、１つ以上のプログラミング言語の任意の組み合わせで書かれていてもよい。コードは、ユーザーのコンピュータ上で完全に、ユーザーのコンピュータ上で部分的に、独立型のソフトウェア・パッケージとして、ユーザーのコンピュータ上で部分的かつリモート・コンピュータ上で部分的に、またはリモート・コンピュータもしくはサーバー上で完全に、実行してもよい。後半のパターンの場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（Local  Area  Network：ＬＡＮ）や広域ネットワーク（Wide  Area  Network：ＷＡＮ）を含む任意の種類のネットワークを通じてユーザーのコンピュータに接続されていてもよく、または、（例えば、インターネット・サービス・プロバイダーを使用してインターネットを通じて）外部のコンピュータに接続されてもよい。
【００１６】
本明細書全体にわたる、「一実施形態」、「実施形態」、または類似する言い回しへの言及は、実施形態に関連して説明される特別な機能、構造、または特徴が少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体にわたる、「一実施形態において」および「実施形態において」という表現、ならびに類似する言い回しの出現は、必ずしもそうとは限らないが、全て同じ実施形態を指してもよく、しかし、別途明記されない限り、「１つ以上だが全てではない実施形態」を意味してもよい。用語「含む」、「備える」、「有する」、またはこれらの用語の変形は、別途明記されない限り、「を含むが、これらに限定されるわけではない」ということを意味する。列挙される記載事項は、別途明記されない限り、任意の、または全ての事項が、相互に排他的であることを意味するものではない。用語「１つの（ａおよびａｎ）」および「その（ｔｈｅ）」もまた、別途明記されない限り、「１つ以上の」を指す。
【００１７】
さらに、実施形態の説明される機能、構造、または特徴は、任意の適切な方法で組み合わされてもよい。以下の説明においては、実施形態が完全に理解されるために、プログラミング、ソフトウェア・モジュール、ユーザー選択、ネットワーク・トランザクション、データベース・クエリー、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップ等の例といった具体的な詳細が多数提示される。しかし、当業者であれば、１つ以上のそれら具体的な詳細がなくても、または他の方法、構成要素、材料等を用いて、実施形態が実践されうるということを理解できるであろう。その他の例では、実施形態の態様を不明瞭にすることを避けるために、既知の構造、材料、およびオペレーションは図示も詳細な説明もされない。
【００１８】
実施形態の態様は、実施形態に係る方法、装置、システム、およびプログラム製品の概略フローチャート図や概略ブロック図を参照して以下に説明する。概略フローチャート図や概略ブロック図の各ブロック、および概略フローチャート図や概略ブロック図におけるブロックの組み合わせは、コードによって実装されることが可能であるということが理解されるであろう。これらのコードは、マシンを製造するために、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサーに提供されてもよく、その場合、当該コンピュータまたは他のプログラマブル・データ処理装置のプロセッサーを経由して実行される命令は、概略フローチャート図や概略ブロック図の１つまたは複数のブロックに明記された機能や動作を実施する手段を生成するように提供される。
【００１９】
また、コードは、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに、特定の方法で機能するように指示を出すことができるストレージ・デバイスに格納されてもよく、その場合、ストレージ・デバイスに格納された命令は、概略フローチャート図や概略ブロック図の１つまたは複数のブロックに明記された機能や動作を実施する命令を含む製品を生成するように格納される。
【００２０】
さらに、コードは、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される一連のオペレーション・ステップを生成し、コンピュータにより実施されるプロセスを生成するために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされてもよく、その場合、コンピュータまたは他のプログラマブル・データ処理装置上で実行したコードは、フローチャートやブロック図の１つまたは複数のブロックに明記された機能や動作を実施するプロセスを提供するようにロードされる。
【００２１】
図面の概略フローチャート図や概略ブロック図は、様々な実施形態に係る装置、システム、方法、およびプログラム製品を実現すると考えられるアーキテクチャー、機能性、およびオペレーションを示す。この点において、概略フローチャート図や概略ブロック図における各ブロックは、特定の論理機能を実行するコードの１つ以上の実行可能な命令を備えるモジュール、セグメント、またはコード部分を表してもよい。
【００２２】
実施上の選択肢によっては、ブロックに記入されている機能は、図面に記入された順序とは無関係に出てきてもよいということにも留意するべきである。例えば、連続して示される２つのブロックは、実際には、関係した機能性次第で、ほぼ同時に実行されてもよく、またはそれらのブロックは、時には逆の順序で実行されてもよい。他のステップおよび方法は、機能、論理、または効果において、示された図面の１つ以上のブロックまたはブロック部分に相当すると考えてもよい。
【００２３】
フローチャート図やブロック図において、様々な種類の矢印および線が用いられることがあるが、それらは対応する実施形態の範囲を限定しないと理解される。実際に、いくつかの矢印または他の結合子は、示された実施形態の論理の流れのみを表すために使用されてもよい。例えば、矢印は、示された実施形態の列挙されたステップ間の、継続期間が不特定の待機期間またはモニタリング期間を表してもよい。ブロック図やフローチャート図の各ブロック、およびそれらブロック図やフローチャート図におけるブロックの組み合わせが、特定の機能もしくは動作を実行する専用ハードウェアをベースとするシステムまたは専用ハードウェアとコードとの組み合わせにより実施される可能性があるということも留意されるであろう。
【００２４】
各図面における要素の説明は、前の図面の要素を参照してもよい。同じ要素の別の実施形態を含め、全ての図面において同じ番号は同じ要素を参照する。
【００２５】
図１は、ネットワーク選択装置の一実施形態を示す概略ブロック図である。一実施形態において、装置（apparatus）１００は、プロセッサー（processor）１０２と、プロセッサー１０２が実行可能なコードを格納するメモリー（memory）１０４とを備える。当業者には明らかなように、プロセッサー１０２は、実行可能なコードを実行できる任意のプロセッサーであってもよい。当業者には明らかなように、メモリー１０４は、実行可能なコードを格納できる任意のメモリー・ストレージ・デバイス(memory  storage  device)であってもよい。メモリー１０４は、揮発性、不揮発性、ソリッド・ステート(solid  state)、磁気的、光学的、またはその他であってもよい。
【００２６】
一実施形態において、コードは、インターフェースが実行可能なコードを１つ以上のネットワーク・インターフェースに関連付ける、関連付けモジュール（association  module）１２０を備えてもよい。当業者には明らかなように、コードは、任意の形式の実行可能なコードであってもよい。ある実施形態において、当業者には明らかなように、実行可能なコードは、ドライバー、オペレーティング・システム、ライブラリー、アプリケーション、またはその他を備えてもよい。
【００２７】
一実施例において、ローカル・ネットワークは、様々な機能を有する複数のルーターを備えてもよい。各ルーターは、１つのネットワークに含まれてもよいが、異なるネットワーク・インターフェースであってもよい。例えば、あるルーターは他のルーターよりも高速であり、関連付けモジュール１２０は、その高速なルーターに実行可能なコードを関連付けてもよい。別の実施例において、あるルーターは、ネットワーク上の他のルーターよりも高い信号強度を有し、関連付けモジュール１２０は、そのルーターを実行可能なコードに関連付けてもよい。
【００２８】
別の実施例において、あるルーターは高速で、高い信号強度を有するのに対して、別のルーターは低速であるが、高速なルーターよりも信頼性が高いものであってもよい。関連付けモジュール１２０は、実行可能なコードのある部分を高速なルーターに関連付け、実行可能なコードの別の部分を信頼性の高いルーターに関連付けてもよい。
【００２９】
関連付けモジュール１２０は、ユーザーの好み(preference)、優先度の値(priority  value)、カテゴリー(categoly)、またはその他に基づいて、実行可能なコードの１つ以上の部分を１つ以上のネットワーク・インターフェースに関連付けてもよい。
【００３０】
例えば、実行可能なコードには、高い性能が要求されるが、発生頻度の低いエラーは許容してもよい。本実施例において、関連付けモジュール１２０は、実行可能なコードを、高速であるが信頼性の低いルーターに関連付けてもよい。別の実行可能なコードには、高い信頼性が要求されるが、速度の遅さは許容してもよい。関連付けモジュール１２０は、この実行可能なコードを、高い信号強度を備えるか、または信頼性の高い性能を発揮する低速なルーターに関連付けてもよい。当然ながら、後述の実施形態で説明するように、装置１００は、実行可能なコードの両部分を同じタイミングで実行してもよい。
【００３１】
ある実施形態において、関連付けモジュール１２０は、ユーザーの指示に応じて、実行可能なコードをネットワーク・インターフェースに関連付けてもよい。装置１００は、ユーザー・インターフェースをユーザーに提示し、実行可能なコードの様々な部分と１つ以上のネットワーク・インターフェースとの所望の関連付けを示す応答、設定、構成パラメーター等を受け付けてもよい。
【００３２】
別の実施形態において、関連付けモジュール１２０は、ユーザーの指示に応じて、実行可能なコードを１つ以上のネットワーク・インターフェースに関連付けてもよい。例えば、装置１００のユーザー・インターフェースは、ユーザーが１つ以上のネットワーク・インターフェースを示すためのオプションを備えてもよい。例えば、ユーザー・インターフェースは、装置１００で動作するアプリケーションのリスト、および装置１００で利用可能となっているネットワーク・インターフェースの一覧を提示してもよい。関連付けモジュール１２０は、ユーザーから１つ以上の指示を受け付け、ユーザーの指示に基づいて、実行可能なコードの複数部分を１つ以上のネットワーク・インターフェースに関連付けてもよい。
【００３３】
別の実施形態において、関連付けモジュール１２０は、アプリケーションを、少なくとも部分的に、該当のアプリケーションが含まれるカテゴリーに基づいて、関連付けてもよい。例えば、ユーザーは、装置１００において、アプリケーションの１つ以上のカテゴリーを定義してもよい。例えば、カテゴリーは、エンターテイメント・アプリケーション、音楽アプリケーション、ストレージ・アプリケーション、財務アプリケーション、ソーシャル・アプリケーション、オペレーティング・システム・コード、ドライバー・コード、ライブラリー、またはその他を含んでもよいが、これらに限定されるわけではない。ユーザーが財務アプリケーションをインストールしたとすると、関連付けモジュール１２０は、インストールされた財務アプリケーションを、財務アプリケーションのカテゴリーに関連付けられたネットワーク・インターフェースに関連付けてもよい。したがって、ある実施形態において、関連付けモジュール１２０は、カテゴリーに基づいて、ユーザー介入なしで、財務アプリケーションをネットワーク・インターフェースに自動的に関連付けてもよい。
【００３４】
別の実施形態において、装置は、選択モジュール（selection  module）１４０を備えてもよい。ある実施形態において、選択モジュール１４０は、実行可能なコードの一部からの（を起源とする）ネットワーク通信の検出に応じて、ネットワーク・インターフェースのうちの１つを選択するコードを備えてもよい。
【００３５】
一実施形態において、装置１００で動作するアプリケーションは、リモート・サーバーとのネットワーク接続を要求してもよい。関連付けモジュール１２０によるアプリケーションと利用可能なネットワーク・インターフェースとの関連付けに基づき、選択モジュール１４０は、接続要求元のアプリケーションに応じて、利用可能な（かつ、関連付けられた）ネットワーク・インターフェースを選択してもよい。
【００３６】
一実施形態において、関連付けられたネットワーク・インターフェースが存在しない場合、選択モジュール１４０は、利用可能なネットワーク・インターフェースは存在しても、ネットワーク・インターフェースを選択しなくてもよい。
【００３７】
一実施例において、装置１００は、セキュリティ保護されていないパブリック・ネットワークの範囲内にあってもよい。財務アプリケーションがリモート・サーバーとの接続を要求すると、関連付けモジュール１２０が財務アプリケーションを関連付けていなかった場合、選択モジュール１４０は、ネットワーク接続要求を拒否してもよい。したがって、ある実施例において、セキュリティ保護されていないパブリック・ネットワークに関連付けられたアプリケーションは、セキュリティ保護されていないネットワークを使用して通信してもよいのに対して、セキュリティ保護されていないネットワークに関連付けられていない他のアプリケーションは、セキュリティ保護されていないパブリック・ネットワークを使用して通信しなくてもよい。アプリケーションのレベルでネットワークの可用性(availability)を提供することにより、不明なネットワーク・インターフェース（または関連付けられていないネットワーク）への秘密情報の送信を許可しないことで、セキュリティを強化してもよい。
【００３８】
一実施例において、ローカル・エリア・ネットワークは、セキュリティ保護されていない無線ルーターと、セキュリティ保護された有線ルーターとを備えてもよい。装置１００は、セキュリティ保護されていない無線ルーターおよびセキュリティ保護された有線ルーターの両方を備えたローカル・エリア・ネットワークに接続してもよい。当然ながら、装置１００は、適正なネットワーク運用手順を維持するために（すなわち、イーサネット（登録商標）・ネットワーク等でループバックの問題が発生しないように）、いずれかのルーターにトラフィックをルーティングするように構成されてもよい。
【００３９】
別の実施形態において、選択モジュール１４０は、インターネット閲覧アプリケーションにはセキュリティ保護されていない無線ルーターを選択し、財務アプリケーションにはセキュリティ保護された有線ルーターを選択してもよい。したがって、選択モジュール１４０は、実行可能なコードの１つ以上の部分に対して、１つ以上のネットワーク・インターフェースを選択してもよい。別の実施例において、選択モジュール１４０は、オペレーティング・システムにはセキュリティ保護されていない無線ルーターを選択し、財務アプリケーションのみによる使用にはセキュリティ保護された有線ルーターを選択してもよい。当然ながら、本開示はこの点に限定されない。１つ以上のネットワーク・インターフェースが利用可能で、装置１００で動作する実行可能なコードに関連付けられている場合、選択モジュール１４０は、１つ以上のネットワーク・インターフェースを選択してもよい。
【００４０】
さらに別の実施形態において、関連付けモジュール１２０は、他のルーターが利用可能でない場合、ローカル・エリア・ネットワークの１つのルーターに、実行可能なコードの複数の異なる部分を関連付けてもよい。他の実施形態において、関連付けモジュール１２
０は、実行可能なコードの一部がネットワーク・インターフェースに関連付けられていない場合、実行可能なコードをネットワーク・インターフェースに関連付けなくてもよい。したがって、装置１００は、ある実施例において、範囲内にあって利用可能であっても、ネットワーク・インターフェースを使用しなくてもよい。
【００４１】
別の実施形態において、関連付けられたネットワーク・インターフェースは、優先度のリストに含まれ、選択モジュール１４０はさらに、優先度の値に基づいて、ネットワーク・インターフェースを選択してもよい。
【００４２】
一実施形態において、関連付けられたネットワーク・インターフェースは、優先度のリストに提示されてもよい。例えば、関連付けモジュール１２０は、第１のアプリケーションおよび第２のアプリケーションを、ローカル・エリア・ネットワーク・インターフェースおよびブロードバンド・ネットワーク・インターフェースの両方に関連付けてもよい。関連付けモジュール１２０は、第１のアプリケーションがブロードバンド・ネットワークよりもローカル・エリア・ネットワークを優先し、第２のアプリケーションがローカル・エリア・ネットワークよりもブロードバンド・ネットワークを優先するように、各アプリケーションの優先度の値を含んでもよい。
【００４３】
両方のネットワークが利用可能である場合、選択モジュール１４０は、第１のアプリケーションにはローカル・エリア・ネットワークを選択し、第２のアプリケーションにはブロードバンド・ネットワークを選択してもよい。ブロードバンド・ネットワークのみネットワークが利用可能であるか、またはローカル・エリア・ネットワークが利用可能である場合、選択モジュール１４０は、両方のアプリケーションに対して、利用可能なネットワークのみを選択してもよい。
【００４４】
別の実施形態において、インターフェースが実行可能なコードは、優先するネットワーク・インターフェースを示してもよい。例えば、装置１００で実行するアプリケーションは、ブロードバンド・ネットワーク・インターフェースのみを使用するよう示してもよい。関連付けモジュール１２０は、このアプリケーションをブロードバンド・ネットワークに関連付けてもよく、他のネットワークには関連付けなくてもよい。選択モジュール１４０は、アプリケーションがリモート・サーバーとの接続を要求すると、ブロードバンド・ネットワークを選択してもよい。したがって、ある実施形態において、選択モジュール１４０は、実行可能なコードの一部からの指示に応じて、１つ以上の利用可能なネットワーク・インターフェースを選択してもよい。
【００４５】
一実施形態において、選択モジュール１４０は、インターフェースが実行可能なコードがリモート・デバイスへの接続を要求すると、ネットワーク・インターフェースを装置１００用に切り換えてもよい。例えば、第１のアプリケーションは、第１のネットワーク・インターフェースに関連付けられ、第１のネットワーク・インターフェースを介して通信してもよい。第１のアプリケーションは、第２のネットワーク・インターフェースに関連付けられなくてもよい。ユーザーは、第２のアプリケーションを起動し、第２のアプリケーションは、リモート・デバイスへのネットワーク接続を要求してもよい。選択モジュール１４０は、第２のアプリケーションに第２のネットワーク・インターフェースを選択し、第２のアプリケーションは、第２のネットワーク・インターフェースを使用してリモート・デバイスと通信してもよい。装置１００が第２のアプリケーションから第１のアプリケーションに切り換えると、選択モジュール１４０は、それに応じて第１のネットワーク・インターフェースを選択してもよい。したがって、ある実施例において、装置で動作し、１つ以上のリモート・デバイスとの接続を要求する実行可能なコードの様々な部分に基づいて、選択モジュール１４０は、２つ以上のネットワーク・インターフェースを動的に切り換えてもよい。
【００４６】
別の実施形態において、選択モジュール１４０は、あるネットワーク・インターフェースから別のネットワーク・インターフェースに切り換える前に、装置１００のユーザーに確認を要求してもよい。さらに、選択モジュール１４０は、前の確認を記憶してもよく、記憶している選択の確認または指示をユーザーに要求してもよいし、しなくてもよい。
【００４７】
別の実施形態において、選択モジュール１４０は、少なくとも部分的に、ネットワーク通信の宛先に基づいて、実行可能なコードのネットワーク・インターフェースを選択してもよい。例えば、実行可能なコードは、第１のリモート・デバイスおよび第２のリモート・デバイスとの接続を要求してもよい。関連付けモジュール１２０は、実行可能なコードを第１および第２のリモート・デバイスに関連付けておいてもよい。
【００４８】
実行可能なコードが第１のリモート・デバイスとの接続を要求すると、選択モジュール１４０は、第１のネットワーク・インターフェースを選択してもよい。実行可能なコードが第２のリモート・デバイスとの接続を要求すると、選択モジュール１４０は、第２のネットワーク・インターフェースを選択してもよい。
【００４９】
一実施形態において、装置１００は、選択されたネットワーク・インターフェースにネットワーク通信を割り当てる割り当てモジュール（direction  module）１６０を備えてもよい。ある実施形態において、選択モジュール１４０が様々なネットワーク・インターフェースを選択する際、割り当てモジュール１６０は、本明細書に記載のとおり、選択されたネットワーク・インターフェースに、実行可能なコードの各部分からのネットワーク通信を割り当ててもよい。
【００５０】
一実施例において、関連付けモジュール１２０は、第１のアプリケーションを無線ローカル・エリア・ネットワークに関連付け、第２のアプリケーションをブロードバンド・ネットワークに関連付けてもよい。前述のように、選択モジュール１４０は、実行可能なコードの各部分と選択されたネットワーク・インターフェースとの１つ以上の関連付けに基づき、ネットワーク・インターフェースを選択してもよい。
【００５１】
一実施形態において、割り当てモジュール１６０は、第１のアプリケーションからの通信を無線ローカル・エリア・ネットワークに割り当て、第２のアプリケーションからの通信をブロードバンド・ネットワークに割り当ててもよい。したがって、ある実施例において、実行可能なコードの２つ以上の部分がそれぞれ、関連付けられたネットワークを介して通信する際、割り当てモジュール１６０は、装置１００が同時に２つ以上のネットワーク・インターフェースを介して通信することを許可してもよい。
【００５２】
一実施例において、装置１００は、Ｗｉ−Ｆｉ（Wireless  Fidelity）ネットワーク、セキュリティ保護されたＷｉ−Ｆｉネットワーク、ワイド・エリア・ネットワーク、及び仮想プライベート・ネットワークとのインターフェースを備えてもよい。選択モジュール１４０が示すように、割り当てモジュール１６０は、ソーシャル・アプリケーションのネットワーク通信をＷｉ−Ｆｉネットワークに、財務アプリケーションのネットワーク通信をセキュリティ保護されたＷｉ−Ｆｉネットワークに、ウェブ閲覧用のネットワーク通信をワイド・エリア・ネットワークに、機密通信を仮想プライベート・ネットワークに割り当ててもよい。したがって、装置１００は、４つのネットワーク・インターフェースのそれぞれと同時に通信してもよく、実行可能なコードの様々な部分からの各通信は、本明細書に記載のとおり、割り当てモジュール１６０により、関連付けられたネットワーク・インターフェースに割り当てられてもよい。
【００５３】
図２は、本開示の一実施形態による実行可能なコードの例（２００）を示す図である。一実施形態において、装置１００は、プロセッサー、メモリー、ストレージ、ネットワーク、ディスプレイ、通信装置、インターフェース、入力装置、出力装置等（これらに限定されるわけではない）のハードウェア（hardware）２０２を備えてもよい。装置１００のオペレーティング・システム（operating  system）２０４は、Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）、ＭａｃＯＳ（登録商標）、Ｕｎｉｘ（登録商標）、Ｕｎｉｘ（登録商標）の変種、Ｌｉｎｕｘ（登録商標）の変種、Ｗｉｎｄｏｗｓ（登録商標）の変種、デスクトップ・オペレーティング・システム、サーバー・オペレーティング・システム、またはその他を含んでもよいが、これらに限定されるわけではない。当然ながら、本開示は、いかなる特定のオペレーティング・システムにも限定されない。
【００５４】
オペレーティング・システム２０４は、コードの１つ以上の部分を含み、装置１００のハードウェア２０２の各種コンポーネントを動作させてもよい。オペレーティング・システム２０４は、利用可能なネットワーク・インターフェースをアプリケーションに示してもよい。したがって、オペレーティング・システム２０４は、１つ以上のネットワーク・インターフェースの利用を制限してもよい。本明細書に記載のとおり、インターフェースが実行可能なコードは、装置１００のオペレーティング・システム２０４とのインターフェースを含んでもよい。
【００５５】
オペレーティング・システム２０４は、１つ以上のドライバー（driver）またはライブラリー（library）２０６を含んでもよい。ドライバーまたはライブラリーは主にネットワーク通信を担うため、当業者には明らかなように、実行可能なコードは、ドライバーまたはライブラリー２０６を含んでもよい。したがって、ある実施形態において、割り当てモジュール１６０は、ドライバー２０６からのネットワーク通信を、選択されたネットワーク・インターフェースに割り当ててもよい。
【００５６】
装置１００は、アプリケーションを備えてもよい。本明細書に記載のとおり、インターフェースが実行可能なコードは、当業者には明らかなように、アプリケーションを備えてもよい。したがって、割り当てモジュール１６０は、装置１００で動作するアプリケーションからの通信を、選択されたネットワーク・インターフェースに割り当ててもよい。
【００５７】
一実施例において、多くのアプリケーション（application）２０８は、１つ以上のリモート・デバイスと通信し、割り当てモジュール１６０は、本明細書に記載のとおり、各アプリケーションからの通信を、関連付けられ選択されたネットワーク・インターフェースに割り当ててもよい。したがって、ある実施形態において、本明細書に記載のとおり、インターフェースが実行可能なコードは、アプリケーション、オペレーティング・システム、ドライバー、ライブラリー、またはその他で構成されるグループから選択されてもよい。
【００５８】
図３は、本開示によるネットワーク選択装置の一実施形態（３００）を示す図である。一実施形態において、装置１００は、有線ネットワーク（wired  network）３０２を使用して有線ネットワーク・ルーター（wired  network  router）３０４と通信し、無線ネットワーク（wireless  network）３０６を通じて無線ネットワーク・ルーター（wireless  network  router）３０８と通信するハードウェア２０２を備えてもよい。関連付けモジュール１２０は、実行可能なコードの１つ以上の部分を有線ネットワーク３０２に関連付け、実行可能なコードの他の部分を無線ネットワーク３０６に関連付けてもよい。
【００５９】
関連付けモジュール１２０はさらに、装置１００上で実行するアプリケーションを、有線ネットワーク３０２と無線ネットワーク３０６のうち少なくとも一方に関連付けてもよい。関連付けモジュール１２０は、実行可能なコードを有線ネットワーク３０２および無線ネットワーク３０６の両方に関連付け、優先度の値を含んでもよい。装置１００が有線ネットワーク３０２および無線ネットワーク３０６の両方を利用可能な場合、選択モジュール１４０は、前述のように、優先度の値に基づいて、有線ネットワーク３０２または無線ネットワーク３０６のうち一方を選択してもよい。
【００６０】
別の実施形態において、関連付けモジュール１２０は、実行可能なコードの各部分とネットワーク・インターフェースとの関連付けを動的に変更してもよい。例えば、無線ネットワーク３０６の有効範囲が変化する場合、関連付けモジュール１２０は、無線ネットワークの可用性がより安定するまで、無線ネットワーク３０６への関連付けを一時的に解除してもよい。別の実施形態において、１つ以上のネットワーク・インターフェースが期待を下回る性能である場合、関連付けモジュール１２０は、実行可能なコードの各部分とネットワーク・インターフェースとの関連付けを動的に変更してもよい。
【００６１】
例えば、有線ネットワーク３０２を介した通信が期待よりも遅い場合、関連付けモジュール１２０は、実行可能なコードを無線ネットワーク３０６に関連付けてもよい。例えば、有線ネットワークはビジーであるか、または動作不良あるいはその他のエラーが発生しているとする。関連付けモジュール１２０は、有線ネットワーク・ルーター３０４から、障害が発生しているという通知を受け取る。それに応じて、関連付けモジュール１２０は、有線ネットワーク・ルーター３０４のエラー状態が解消されるまで、有線ネットワーク３０２との関連付けを解除してもよい。
【００６２】
図４は、本開示によるネットワーク選択装置の一実施形態（４００）を示す図である。一実施形態において、装置１００は、装置１００で同時に動作するアプリケーションＡ（Application  A）４０２ａと、アプリケーションＢ（Application  B）４０２ｂとを備えてもよい。関連付けモジュール１２０は、アプリケーションＡ４０２ａ（のコード）をネットワーク・インターフェース（network  interface）４１０ａに関連付け、アプリケーションＢ４０２ｂ（のコード）をネットワーク・インターフェース（network  interface）４１０ｂに関連付けてもよい。当業者には明らかなように、各ネットワーク・インターフェース４１０は、有線、無線、またはその他であってもよい。
【００６３】
各ルーター４２０は、インターネット等（これに限定されるわけではない）のワイド・エリア・ネットワークに接続してもよい。当業者には明らかなように、宛先装置（destination  device）４６０は、接続に利用されてもよい。
【００６４】
一実施例において、アプリケーションＡ４０２ａは、宛先装置４６０への接続を要求してもよい。関連付けモジュール１２０はネットワーク・インターフェース４１０ａをアプリケーションＡに関連付けているため、ネットワーク・インターフェース４１０ａを介して要求が送信されてもよい。宛先装置４６０は接続を受け入れ、アプリケーションＡ４０２ａと宛先装置４６０との間でデータが送信されてもよい。
【００６５】
さらに、アプリケーションＢ４０２ｂは、宛先装置４６０への接続を要求してもよい。関連付けモジュール１２０はネットワーク・インターフェース４１０ｂをアプリケーションＢに関連付けているため、ネットワーク・インターフェース４１０ｂを介して要求が送信されてもよい。宛先装置４６０は接続を受け入れ、アプリケーションＢ４０２ｂと宛先装置４６０との間でデータが送信されてもよい。
【００６６】
したがって、ある実施形態において、アプリケーションＡ４０２ａおよびアプリケーションＢ４０２ｂは、別々の接続および別々のネットワーク・インターフェース４１０を介して宛先装置４６０と同時に通信してもよい。各ルーター４２０は装置１００のインターネット・プロトコル（Internet  Protocol：IP）アドレスをマスクして、宛先装置４６０は、装置１００からの両方の接続を認識しないようにしてもよい。宛先装置４６０は、各ルーター４２０のみを認識できるようにしてもよい。
【００６７】
図５は、本開示によるネットワーク選択装置の一実施形態（５００）を示す図である。一実施形態において、装置１００は、インターフェースが実行可能なコードを備えてもよい。関連付けモジュール１２０は、実行可能なコードをネットワーク・インターフェース（network  interface）５１０ａおよびネットワーク・インターフェース（network  interface）５１０ｂに関連付けてもよい。
【００６８】
実行可能なコードは、宛先装置（destination  device）５６０ａへの接続を要求して
もよい。宛先装置５６０ａに基づいて、選択モジュール１４０は、ネットワーク・インターフェース５１０ａを選択して接続の要求を送信してもよい。これは、ネットワーク（network）４４０を通じて宛先装置への別のルートが存在する場合にも当てはまるであろう。
【００６９】
さらに、実行可能なコードは、宛先装置（destination  device）５６０ｂへの接続を要求してもよい。宛先装置５６０ｂに基づいて、選択モジュール１４０は、ネットワーク・インターフェース５１０ｂを選択して接続の要求を送信してもよい。これは、宛先装置への別のルートが存在する場合にも当てはまるであろう。したがって、ある実施形態において、選択モジュール１４０は、少なくとも部分的に、宛先装置に基づいて、ネットワーク・インターフェースを選択してもよい。
【００７０】
図６は、本開示の一実施形態による関連付け（６００）を示す図である。一実施形態において、関連付けモジュール１２０は、カテゴリーまたは優先度に基づいて、実行可能なコードの１つ以上の部分を１つ以上のネットワーク・インターフェースに関連付けてもよい。
【００７１】
一実施例において、関連付けモジュール１２０は、テーブルに財務およびエンターテイメントの２つのカテゴリーを含んでもよい。テーブルには、許可されたネットワークおよび優先度についての行、ならびにアプリケーションについての行も含めてもよい。図示するように、テーブルのセルに、アプリケーションの財務カテゴリーに対して許可されたネットワークを含めてもよい。図示するように、テーブルのセルに、エンターテイメント・カテゴリーに対して許可されたネットワークを含めてもよい。テーブルの２行目に、カテゴリーに関連付けられるアプリケーションを含めてもよい。
【００７２】
関連付けモジュール１２０は、ＱｕｉｃｋＢｏｏｋｓおよび会計アプリケーションをネットワーク・インターフェース「ネットワークＢ」および「ネットワークＤ」に関連付けてもよい。関連付けモジュール１２０は、インターネット・ブラウザー・アプリケーションおよび音楽プレーヤー・アプリケーションをネットワーク・インターフェース「ネットワークＡ」、「ネットワークＣ」、および「ネットワークＤ」に関連付けてもよい。
【００７３】
さらに、テーブルの１行目に記載のネットワーク・インターフェースの順序は、優先度を示してもよい。例えば、テーブルのエンターテイメント・カテゴリーには、ネットワークＡ、Ｃ、およびＤをこの順序で示してもよい。したがって、ネットワークＡが利用可能な場合、エンターテイメント・カテゴリーはネットワークＡを通じて送信される。ネットワークＡは利用不可であるが、ネットワークＣが利用可能な場合、ネットワーク通信は、前述のように、ネットワークＣを通じて送信される。ネットワークＡもネットワークＣも利用不可であるが、ネットワークＤが利用可能な場合、割り当てモジュール１６０は、ネットワークＤを通じてネットワーク通信を送信してもよい。
【００７４】
一実施例において、関連付けモジュール１２０は、テーブルのエンターテイメントの列にアプリケーションを追加してもよい。それに応じて、関連付けモジュール１２０は、テーブルに示すように、追加したアプリケーションをネットワークＡ、Ｃ、およびＤに関連付けてもよい。別の実施例において、ユーザーは、新しいネットワークであるネットワークＥが財務アプリケーションに対して利用可能であることを示してもよい。関連付けモジュール１２０は、ネットワークＥをテーブルに追加し、この新しいネットワークとテーブルの財務の列に記載された財務アプリケーションとの関連付けを自動的に更新してもよい。当然ながら、関連付けの配列は他の方法で維持されてもよく、本開示はこの点に限定されないことは、当業者には明らかであろう。
【００７５】
別の実施例において、テーブルは、「不明」なアプリケーションの列を含んでもよい。ユーザーが装置１００にアプリケーションを追加した場合、関連付けモジュール１２０は、「不明」カテゴリーに新しいアプリケーションを入力し、「不明」カテゴリーに関連付けられたネットワーク・インターフェースに基づいて、適切な関連付けを行ってもよい。当然ながら、本開示はこの点に限定されず、他の名前、カテゴリー等を使用してもよい。
【００７６】
図７は、ネットワーク選択方法の一実施形態を示す概略フローチャート図である。一実施形態において、方法７００が開始し、関連付けモジュール１２０は、インターフェースが実行可能なコードを１つ以上のネットワーク・インターフェースに関連付けてもよい（７０２）。選択モジュール１４０は、実行可能なコードからのネットワーク通信の検出に応じて、ネットワーク・インターフェースのうちの１つを選択してもよい（７０４）。割り当てモジュール１６０は、選択されたネットワーク・インターフェースにネットワーク通信を割り当て（７０６）、方法は終了してもよい。
【００７７】
図８は、ネットワーク選択方法の一実施形態を示す概略フローチャート図である。一実施形態において、方法８００が開始し、関連付けモジュール１２０は、実行可能なコードを１つ以上のネットワーク・インターフェースに関連付けてもよい（８０２）。選択モジュール１４０は、実行可能なコードの一部からのネットワーク通信の宛先を決定してもよい（８０４）。選択モジュール１４０は、決定した宛先に基づいて、ネットワーク・インターフェースのうちの１つを選択してもよい（８０６）。割り当てモジュール１６０は、選択されたネットワーク・インターフェースにネットワーク通信を割り当て（８０８）、方法は終了してもよい。
【００７８】
別の実施形態において、選択は、実行可能なコードの指示に基づいてもよい。例えば、実行中のアプリケーションは、１つ以上の利用可能なインターフェースの使用を要求し、選択モジュール１４０は、それに応じて、指示されたネットワーク・インターフェースを選択してもよい。別の実施形態において、指示は、装置のユーザーから出されてもよい。
【００７９】
別の実施形態において、方法は、関連付けられたネットワーク・インターフェースに対する優先度の付与を含んでもよい。選択モジュール１４０は、優先度の値に基づいて、利用可能なネットワーク・インターフェースを選択してもよい。
【００８０】
図９は、ネットワーク選択方法の一実施形態を示す概略フローチャート図である。一実施形態において、方法９００が開始し、関連付けモジュール１２０は、１つ以上のネットワーク・インターフェースを実行可能なコードに関連付けてもよい（９０２）。装置１００は、アプリケーションＡを開始してもよい（９０４）。アプリケーションＡが開始されると、選択モジュール１４０は、装置のネットワーク通信をネットワークＸ（アプリケーションＡに関連付けられたネットワーク・インターフェース）に切り換えてもよい（９０６）。その後、装置は、アプリケーションＢを開始してもよい（９０８）。アプリケーションＢが開始されると、選択モジュール１４０は、装置のネットワーク通信をネットワークＹ（アプリケーションＢに関連付けられたネットワーク・インターフェース）に切り換え（９１０）、方法は終了してもよい。
【００８１】
したがって、ある実施形態において、選択モジュール１４０は、装置１００で開始されるコードに応じて、ネットワーク・インターフェースを選択してもよい。別の実施形態において、選択モジュール１４０は、コードが対象とする装置１００のディスプレイに応じて、ネットワーク・インターフェースを選択してもよい。例えば、ユーザーがディスプレイをあるアプリケーションから別のアプリケーションに切り換えると、選択モジュール１４０もまた、ネットワーク接続を、ユーザーが切り換えたアプリケーションに関連付けられたものに切り換えてもよい。
【００８２】
図１０は、ネットワーク選択方法の一実施形態を示す概略フローチャート図である。一実施形態において、方法１０００が開始し、関連付けモジュール１２０は、ウェブ・ブラウザーを２つのネットワーク・インターフェースであるネットワークＸおよびネットワークＹに関連付けてもよい（１００２）。装置１００は、ブラウザー・アプリケーションを開始してもよい（１００４）。ブラウザー・アプリケーション、またはその他の実行可能なコードは、サーバーＡにアクセスしてもよい（１００６）。ネットワーク通信がサーバーＡに割り当てられると、選択モジュール１４０は、装置１００のネットワーク通信をネットワークＸに切り換えてもよい（１００８）。その後、ブラウザー・アプリケーションは、サーバーＢにアクセスし（１０１０）、選択モジュール１４０は、装置１００のネットワーク通信をネットワークＹに切り換えてもよい（１０１２）。本明細書に記載のとおり、割り当てモジュール１６０は、ネットワーク通信を選択されたサーバーに割り当ててもよい。
【００８３】
一実施形態において、選択モジュール１４０は、ブラウザー・アプリケーションの指示に基づいて切り換えてもよい。別の実施形態において、選択モジュール１４０は、装置のネットワーク・ドライバーを変更することにより切り換えてもよい。切り換えは、装置１００とサーバーＡまたはサーバーＢとの間の通信用の宛先アドレスに基づく。
【００８４】
実施形態は他の具体的な形で実践されてもよい。説明した実施形態は、あらゆる点で単なる例示にすぎず、限定的に解釈してはならない。したがって、本発明の範囲は添付の特許請求の範囲によって示されており、明細書本文にはなんら拘束されない。特許請求と均等な意味および範囲にある全ての変更は、本発明の範囲内のものである。
【符号の説明】
【００８５】
１００  装置
１０２  プロセッサー
１０４  メモリー
１２０  関連付けモジュール
１４０  選択モジュール
１６０  割り当てモジュール
２０２  ハードウェア
２０４  オペレーティング・システム
２０６  ドライバー／ライブラリー
２０８  アプリケーション
２１０  ユーザー・インターフェース
４０２ａ  アプリケーションＡ
４０２ｂ  アプリケーションＢ
４４０  ネットワーク
４６０  宛先装置
【図１】
2016025663.tif 000003
【図２】
2016025663.tif 000004
【図３】
2016025663.tif 000005
【図４】
2016025663.tif 000006
【図５】
2016025663.tif 000007
【図６】
2016025663.tif 000008
【図７】
2016025663.tif 000009
【図８】
2016025663.tif 000010
【図９】
2016025663.tif 000011
【図１０】
2016025663.tif 000012
【外国語明細書】
2016025663000001.pdf