(57)【特許請求の範囲】
【請求項１】
計算装置に目的ネットワークに対するアクセスを提供する、前記計算装置の1つ以上のネットワークインターフェースを制御する方法であって、
前記1つ以上のネットワークインターフェースを介して前記計算装置が接続可能な少なくとも１つの目的ネットワークを識別するステップと、
前記少なくとも1つの目的ネットワークを識別するユーザーインターフェースをユーザーに表示するステップと、
前記少なくとも1つの目的ネットワークの内の第1の目的ネットワークに対するユーザーの選択を検出するステップと、
前記計算装置の1つ以上ネットワークインターフェースを介して前記第1の目的ネットワークが利用可能なとき、少なくとも1つのポリシーに関する１つ以上の入力をユーザーから、前記ユーザーインターフェースを介して受け入れるステップであって、前記少なくとも1つのポリシーが前記第1の目的ネットワークに基づいて前記1つ以上ネットワークインターフェースに共通に適用されるものと、
データストアに前記１つ以上の入力を指示する指標をストアするステップであって、前記指標が前記第1の目的ネットワークに関連付けられるものとしてストアされるものと、
前記第1の目的ネットワークが利用可能なとき、前記ストアされた指標によって指示された、前記少なくとも1つのポリシーに従ってネットワーク接続性を調整するステップと、を含む方法。
【請求項２】
前記データストアが、前記第1の目的ネットワークに対するアクセスを提供しているネットワークインターフェースに関連付けられているデータストアであることを特徴とする請求項１記載の方法。
【請求項３】
前記第1の目的ネットワークが利用可能なとき、前記少なくとも1つのポリシーに従ってネットワーク接続性を調整するステップが、
前記計算装置が、前記目的ネットワークに接続されることを決定するステップと、
前記計算装置が、前記目的ネットワークに接続されるとき、前記少なくとも1つのポリシーに従ってネットワーク接続性を調整するステップと、を含むことを特徴とする請求項１記載の方法。
【請求項４】
前記１つ以上の入力が、接続ポリシーを指定することを特徴とする請求項１記載の方法。
【請求項５】
前記接続ポリシーが、前記第1の目的ネットワークが利用可能なとき、前記計算装置が前記第1の目的ネットワークに接続すべきであることを識別することを特徴とする請求項４記載の方法。
【請求項６】
前記接続ポリシーが、前記第1の目的ネットワークが利用可能なとき、前記第1の目的ネットワークへの接続に使用されるべき少なくとも１つの好ましいネットワークインターフェースを識別することを特徴とする請求項５記載の方法。
【請求項７】
前記１つ以上の入力が、前記計算装置が前記第1の目的ネットワークに接続されるとき適用されるべきポリシーを指定することを特徴とする請求項１記載の方法。
【請求項８】
更に、
前記第1の目的ネットワークに対するアクセスを提供している少なくとも２つのネットワークインターフェースを識別するステップと、
前記第1の目的ネットワークに対するアクセスを提供している前記少なくとも２つのネットワークインターフェースそれぞれに関連付けられているレコードに前記第1の目的ネットワークに関する前記少なくとも1つのポリシーをストアするステップを含む請求項７記載の方法。
【請求項９】
更に、
前記計算装置上に組み込まれる新しいネットワークのハードウェア、新しいネットワークソフトウェア、又は新しいネットワークハードウエア及び新しいネットワークソフトウェアを識別するステップと、
前記新しいネットワークのハードウェア及び／又はソフトウェアがアクセスを提供している対象の第２の目的ネットワークを識別するステップと、
前記新しいネットワークのハードウェア及び／又はソフトウェアの組み込み前に受信した前記少なくとも1つのポリシーに従って前記第２の目的ネットワークが利用可能なとき、ネットワーク接続性を調整するステップと、を含む請求項１の方法。
【請求項１０】
計算装置に目的ネットワークに対するアクセスを提供する、前記計算装置の1つ以上のネットワークインターフェースを制御する方法をコンピューターに実行させるプログラムであって、前記方法が、
前記1つ以上のネットワークインターフェースを介して前記計算装置が接続可能な少なくとも１つの目的ネットワークを識別するステップと、
前記少なくとも1つの目的ネットワークを識別するユーザーインターフェースをユーザーに表示するステップと、
前記少なくとも1つの目的ネットワークの内の第1の目的ネットワークに対するユーザーの選択を検出するステップと、
前記計算装置の1つ以上ネットワークインターフェースを介して前記第1の目的ネットワークが利用可能なとき、少なくとも1つのポリシーに関する１つ以上の入力をユーザーから、前記ユーザーインターフェースを介して受け入れるステップであって、前記少なくとも1つのポリシーが前記第1の目的ネットワークに基づいて前記1つ以上ネットワークインターフェースに共通に適用されるものと、
データストアに前記１つ以上の入力を指示する指標をストアするステップであって、前記指標が前記第1の目的ネットワークに関連付けられるものとしてストアされるものと、
前記第1の目的ネットワークが利用可能なとき、前記ストアされた指標によって指示された、前記少なくとも1つのポリシーに従ってネットワーク接続性を調整するステップと、を含む、プログラム。
【請求項１１】
計算装置に目的ネットワークに対するアクセスを提供する、前記計算装置の1つ以上のネットワークインターフェースを制御する方法を記憶した計算機可読記憶媒体であって、前記方法が、
前記1つ以上のネットワークインターフェースを介して前記計算装置が接続可能な少なくとも１つの目的ネットワークを識別するステップと、
前記少なくとも1つの目的ネットワークを識別するユーザーインターフェースをユーザーに表示するステップと、
前記少なくとも1つの目的ネットワークの内の第1の目的ネットワークに対するユーザーの選択を検出するステップと、
前記計算装置の1つ以上ネットワークインターフェースを介して前記第1の目的ネットワークが利用可能なとき、少なくとも1つのポリシーに関する１つ以上の入力をユーザーから、前記ユーザーインターフェースを介して受け入れるステップであって、前記少なくとも1つのポリシーが前記第1の目的ネットワークに基づいて前記1つ以上ネットワークインターフェースに共通に適用されるものと、
データストアに前記１つ以上の入力を指示する指標をストアするステップであって、前記指標が前記第1の目的ネットワークに関連付けられるものとしてストアされるものと、
前記第1の目的ネットワークが利用可能なとき、前記ストアされた指標によって指示された、前記少なくとも1つのポリシーに従ってネットワーク接続性を調整するステップと、を含む、媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計算機システムに関し、具体的にはネットワーク技法に関する。
【背景技術】
【０００２】
[0001]計算機ネットワークの人気が高まりつつある。今日、計算機ユーザーは、その人の職場だけではなく、自宅でも、（例えば喫茶店、ショッピングセンターのような）商用施設でも、リンクされている無線ホットスポットのような携帯電話技術及び広域ネットワーク（ＷＡＮ）技術を介し、移動中でも、計算機ネットワークに接続することを期待され得る。
【０００３】
[0002]加えて、計算機ネットワークの人気が高まるにつれて、計算機及びユーザーがこれらのネットワークに接続し得るための手段が増えてきている。ほんの数年前、ローカルの直接有線ネットワークインターフェース（例えばオフィスビル内のネットワークインターフェースなど企業ネットワークに対するイーサネット（登録商標）ネットワークインターフェース）を介して接続するための機能をユーザーに提供していただけであった多くのネットワークが、ますます多くのネットワークインターフェースタイプをユーザーに提供している。例えば、ネットワーク（例えば企業ネットワーク）の中には、１つ以上のプロトコル（例えば１つ以上の電気電子技術者協会（ＩＥＥＥ）の８０２．１１プロトコル）に従い付加的又は代替的に作動する無線ネットワークインターフェース、有線ネットワークインターフェース、仮想プライベートネットワーク（ＶＰＮ）などを確立するプロトコルを介したリモートネットワークインターフェース、及び／又はその他のタイプのネットワークインターフェース、を提供し得るものもある。ホームネットワークもまた、ますます多くのネットワークインターフェースオプションを体験している。ホームネットワークも次第に、１つ以上の有線ネットワークインターフェース及び／又はＩＥＥＥ  ８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、及び／又は８０２．１１ｎのようなネットワーク技法を使用した無線ネットワークインターフェースを提供している。
【０００４】
[0003]したがって、現代の計算機は、計算機ネットワークに接続するために使用され得る広範囲構成のネットワーク技法を支援し得、計算機ネットワークは、接続を求めている計算機に複数タイプのネットワークインターフェースを提供し得る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、ネットワークインターフェースが提供しているアクセス対象のネットワークに基づくネットワークインターフェースを識別し、対話する方法及びシステムを提供することである。
【課題を解決するための手段】
【０００６】
[0004]従来のネットワーク技法は、（例えば有線、無線、ダイヤルアップ、ＶＰＮ、アドホックなど）個々のネットワークタイプのネットワークインターフェースを識別し、これらネットワークインターフェースそれぞれの上で個別にネットワークタスクを実行する。例えば、接続パラメーター及びセキュリティパラメーターが、個々のネットワークインターフェースそれぞれに対し設定され得る。したがって、ネットワークに対する接続の確立は、ユーザーが利用可能なネットワークインターフェースタイプに関する十分な理解を有し得ない一部のユーザーにとっては、複雑かつ手間がかかることもあり得る。
【０００７】
[0005]代わりに、本明細書に記載した原理に従って、インターフェースが提供しているアクセス対象のネットワークに基づいてネットワークインターフェースを識別し、対話する技法が実装され得る。本明細書に記載した１つ以上の原理に従って作動する計算装置が利用可能なネットワークインターフェースを検査し得、ネットワークインターフェースが提供しているアクセス対象のネットワークを識別し得る。ネットワークインターフェースに関連付けられているネットワークを識別することによって、ネットワークタスクが、識別されたネットワークに基づくネットワークインターフェース上で実行され得る。例えば、ユーザーが、指定されたネットワークに接続するように計算装置に命令し得、計算装置が、そのネットワークに接続可能な１つ以上の利用可能なネットワークインターフェースから接続するための特定のネットワークインターフェースを選択するか、又はユーザーが、ネットワークインターフェースが提供しているアクセス対象のネットワークに基づくポリシー（例えばセキュリティポリシー）を管理し得、それによって複数のネットワークインターフェースのうちどれが、ネットワークのアクセスに使用されるかにかかわらずネットワークを管理する。したがってユーザーは、ユーザーが利用可能な個別のネットワークインターフェースタイプに精通している必要はなく、代わりに利用可能なネットワークを単位とした接続性を管理し得る。
【０００８】
[0006]この方法によるネットワーク管理は、ユーザーに対し、混乱を制限し接続プロセスを容易にする簡易で改善されたインターフェースを可能にすることを含む多くの利点を提示し得る。更に、計算機に関するポリシー（例えばセキュリティポリシー及び接続ポリシー）の確立は、個々のネットワークインターフェースよりもむしろ目的（デスティネーション）ネットワーク接続性に基づくことによって改善され得、ネットワークインターフェースそれぞれに関する個別のポリシーを定義するよりもむしろ複数のネットワークインターフェース（例えば、共通の目的ネットワークに対するネットワークインターフェースすべて）に関する単一のグループポリシーを定義し得る管理者を含むユーザーに対するプロセスをより容易にし得る。加えて、目的ネットワークが新しいタイプのネットワークインターフェースを提供した時のような場合にも、ポリシーがその新しいネットワークインターフェースに適用され得、かくして必要な維持管理数を制限する。これらのポリシーは、その目的ネットワークが利用可能なとき、計算装置が利用可能な適切な任意のネットワークインターフェースを介し特定の目的ネットワークに対する接続を確立する必要があることを定義することによって、ネットワークに対する計算装置の接続を自動化し得る接続ポリシーを含み得る。更にある実装では、ネットワークアプリケーションが接続性を管理するために使用し得る共通のネットワーク・アプリケーション・プログラミング・インターフェース（ＡＰＩ）が提供され、個々のネットワークインターフェースよりもむしろ目的ネットワークに基づくプロセスとの対話を介し異なるネットワークインターフェースタイプを管理し得るものもある。そのようなＡＰＩは、利用することがより容易であり、可能性あるネットワークインターフェースタイプそれぞれに対する支援ではなく、単一のＡＰＩだけの支援が必要であるので、（別のタスクを実行することに加え、接続を開始するアプリケーションを含む）ネットワークアプリケーションを生成することをより容易にし得る。
【０００９】
[0007]一実施形態における方法が提供される。本方法は、複数のネットワークインターフェースそれぞれに対し、ネットワークインターフェースがアクセスを提供する目的ネットワークを識別することを含む。複数のネットワークインターフェースのうち、少なくとも２つのネットワークインターフェースが、同一の目的ネットワークに対するアクセスを提供している。本方法は更に、識別された目的ネットワークそれぞれに対し、利用可能な目的ネットワークの１組を決定するために、識別された目的ネットワークに対するアクセスを提供している１つ以上の共通のネットワークインターフェースを収集することと、利用可能な目的ネットワーク１組の共通目的ネットワークに基づく少なくとも１つのネットワーク管理タスクを実行することと、を含み得る。
【００１０】
[0008]別の実施形態において、実行時、方法を実装している計算機実行可能命令で符号化された少なくとも１つの計算機記憶媒体が提供される。本方法は、複数のネットワークインターフェースがアクセスを提供する目的ネットワークに関する情報を収集することと、複数のネットワークインターフェースのうちどれが同一の目的ネットワークに対するアクセスを提供しているか識別し、利用可能な１つ以上の目的ネットワークのうち第１の組を決定することと、利用可能な１つ以上の目的ネットワークのうち第１の組をネットワーク情報消費部（consumer）に提供することと、を含み得る。本方法は更に、所望の接続対象の目的ネットワーク指標に関する入力をネットワーク情報消費部から受け入れることと、接続するための特定のネットワークインターフェースを、ネットワーク情報消費部からの入力を必要とせずに、それによって接続する特定のネットワークインターフェースを所望の目的ネットワークに対するアクセスを提供している１つ以上のネットワークインターフェースの第２の組から選択することと、当該特定のネットワークインターフェースを介し所望の目的ネットワークと接続することと、を含み得る。
【００１１】
[0009]更なる実施形態において、計算装置に目的ネットワークに対するアクセスを提供しているネットワークインターフェースの管理方法が提供される。本方法は、計算装置が接続している目的ネットワーク及び／又は接続可能な目的ネットワークを識別することと、目的ネットワークが利用可能なとき、適用される１つ以上のポリシーに関する入力をネットワーク情報消費部から受け入れることと、目的ネットワークに関連付けられているデータストアに１つ以上の入力指標をストアすることと、目的ネットワークが利用可能なとき、１つ以上の入力に従ってネットワーク接続性を調整することと、を含む
[0010]添付の図面は一定の縮尺で描くように意図されていない。図面において、様々な図面に例示されている同一コンポーネントか又はほとんど同一のコンポーネントそれぞれが、同一番号によって示されている。明快にするために、あらゆるコンポーネントが、図面すべての中でラベル付けされているわけではない。
【図面の簡単な説明】
【００１２】
【図１Ａ】[0011]本明細書に記載した１つ以上の原理に従った動作技法が作動し得る例示的計算機システムである。
【図１Ｂ】[0011]本明細書に記載した１つ以上の原理に従った動作技法が作動し得る例示的計算機システムである。
【図２】[0012]本明細書に記載したいくつかの原理に従った一例示的な動作技法に従って実行され得るネットワークタスクの例示的プロセスの流れ図である。
【図３】[0013]本明細書に記載した１つ以上の原理に従った接続を確立するネットワークタスクを実行するための例示的プロセスの流れ図である。
【図４】[0014]本明細書に記載したいくつかの原理に従った接続ポリシーを使用しネットワークに接続するための例示的プロセスの流れ図である。
【図５】[0015]本明細書に記載した原理の１つ以上に従ったポリシー管理などのネットワークタスクを実行するための例示的プロセスの流れ図である。
【図６】[0016]外部プロセスが、アプリケーション・プログラミング・インターフェース（ＡＰＩ）を使用しネットワーク管理プロセスと対話するための本明細書に記載したいくつかの原理に従った例示的プロセスの流れ図である。
【図７Ａ】[0017]本明細書に記載したいくつかの原理に従った一例示的な動作技法によって実装され得る例示的ユーザーインターフェースの図である。
【図７Ｂ】[0018]図７Ａのユーザーインターフェースによって伝えられる情報を伝達するために使用される従来のユーザーインターフェースの図である。
【図８】[0019]本明細書に記載した１つ以上の技法に従った動作技法が作動し得る例示的計算装置である。
【図９】[0020]本明細書に記載した原理に従った１つ以上の動作技法に従って実装され得るモジュールの相互運用性に関する例示的方法の図である。
【発明を実施するための形態】
【００１３】
[0021]増えつつあるユーザーが利用可能な接続オプションは、ユーザーがより多くの場所からネットワークに接続し得る点において、利点のいくつかを提供し得るが、ユーザーが増えつつあるこれらの利点を感じるためには、通信技術に精通する必要があり得る。以前は、ネットワークへの接続時、ユーザーは例えば、有線ネットワークインターフェースを使用する接続に精通していることだけが必要であったが、今、ユーザーは、無線ネットワークの場合、接続対象の特定の無線プロトコル（例えばＩＥＥＥ８０２．１１ｂ又はＩＥＥＥ８０２．１１ｇ）を選択し、更に利用可能な複数の無線ネットワークから接続対象の特定の無線ネットワークを選択することが要求され得る。更に、ネットワークセキュリティリスクが、より一般的になるにつれ、ユーザーは、ネットワークインターフェースに対し個別に、ファイアウォールを利用可能にするか又は利用不可にするファイアウォールルールを追加するなど、ネットワークインターフェースそれぞれに関するセキュリティオプションを管理することが要求され得る。場合によってユーザーは、認証するための特定サーバー又はその他の特性を指定する必要さえあり得る。そのような状況の中にはユーザーが、管理するセキュリティ技法に精通するだけでなく、かなり多くのセキュリティ執行を介し、それを利用不可にせずにユーザーが接続を十分に保護し得るように使用されているセキュリティ技法に関するネットワークプロトコルにも精通することも要求され得るものもある。
【００１４】
[0022]場合によっては、このわかりにくい選択範囲及び増えつつある知識の必要性を与えられると、ユーザーの中にはこれらの課題によって、利用可能なネットワーク技法すべての使用を思いとどめ、彼らにとって利用可能なオプションの十分な利点を活用し得ないものもある。
【００１５】
[0023]本出願人は、ユーザーのようなネットワーク情報消費部が、ネットワークのより十分な利点を活用可能にする異なる方法でネットワークインターフェースを表示し、管理することによって、ユーザー体験が改善され得ることを認識しそれを十分理解している。多くのユーザーは、ネットワークインターフェース個々のタイプによるのではなくて、自らが接続する対象の目的ネットワーク（例えばホームネットワーク、会社／組織用企業ネットワーク、近隣の喫茶店の無線ネットワークなど）の接続性を識別する。故に、ネットワークインターフェースが提供しているアクセス対象の目的インフラストラクチャ（すなわち目的ネットワーク）を単位としたネットワークの接続性管理をユーザーに許可することがユーザーにとっては、より直感的であり得る。したがって、本明細書に記載した原理に関する例示的実装の中には、ネットワークインターフェースが識別され、ネットワークポリシー（例えば接続ポリシー、セキュリティポリシー、及びその他のポリシー）が、ネットワークインターフェースの目的ネットワークに従って管理され得るものもある。
【００１６】
[0024]ネットワークインターフェースは、計算装置がネットワークに接続されている別の計算装置から情報を送信及び／又は受信し得るための目的ネットワークに対する適切な任意のアクセスポイントであり得る。計算装置のネットワークアダプターを使用した目的ネットワークに対する接続が、ネットワークインターフェースを介し管理され確立され得る。ネットワークアダプターは、一度に１つ以上のネットワークインターフェース上で１つ以上の接続を維持するように構成され得る。前述したように、単一の目的ネットワークが、１つ以上の有線ネットワークインターフェース及び１つ以上の無線ネットワークインターフェースなど、複数のネットワークインターフェースを計算装置が利用可能にし得る。
【００１７】
[0025]ネットワークインターフェースによってアクセス可能な目的ネットワークは、適切な任意のグループの適切な任意のネットワーク階層レベルのネットワーク計算装置であり得る。例えば目的ネットワークは企業ネットワークの一部のような、より大きなネットワークのサブネット又は目的ネットワークは企業ネットワーク全体であり得る。別の例として、目的ネットワークは、ユーザーのホームネットワーク又はユーザーが署名している対象のインターネットサービスプロバイダー（ＩＳＰ）のネットワークであり得る。
【００１８】
[0026]ネットワークインターフェースに関連付けられている目的ネットワークが、適切な任意の方法で特定され得る。例えば実装の中にはユーザーが、接続時、目的ネットワークを定義するようにプロンプトで促され得、目的ネットワーク定義に関する１つ以上のポリシー（例えば、目的ネットワークがデフォルトによって企業ネットワーク全体よりもむしろサブネットであることを定義している目的ネットワークのデフォルトサイズ／範囲）を設定し得るか、又は識別モジュールがリトリーブした（例えば、目的ネットワークがドメインコントローラーを含んでいる場合、識別モジュールがドメインコントローラーからネットワーク定義をリトリーブし得る）あとに続く接続の１つ以上の目的ネットワークの特性に基づいて目的ネットワークを定義するように適合され得るものもある。
【００１９】
[0027]本明細書に記載した様々な計算システム技法が実装され得、その例がより詳細に後述される。そのようなシステムは、一般に、そのような技法の実行を完了するために必要とされる１つ以上の動作それぞれを提供する多くのモジュールを実装している、適切に構成された計算装置使利用を含んでいる。それぞれのモジュールは、独自の方法で実装され得、すべてが同一方法で実装される必要はない。本明細書に使用されているようなモジュールは、構造化されたシステムコンポーネントであって、動作的役割を実行するが実体化されたソフトウェアエレメント（例えばプロセス、離散プロセス、又はその他の適切な任意の実施形態に関する機能）の一部か又は全体であり得る。モジュールは、計算機実行可能命令を含み得、計算機記憶媒体上で符号化され得る。モジュールは、適切に並列実行又は順次実行され得、それらがメッセージパッシングプロトコル又はその他の適切な任意の方法を使用し実行する計算機上の共有メモリーを使用し、相互間で情報を渡し得る。１つ以上のタスクを実行する例示的モジュールが、後述されるが説明したタスクのモジュール及び分割が、単に本明細書に記載した例示的技法を実装する例示的モジュールタイプに過ぎないことと、本発明がどんな特定のモジュール数、分割、又はタイプの実装にも限定しないことと、を十分理解されたい。実装の中には機能性すべてが、単一モジュールで実装され得るものもある。明快にするために更に、モジュールが単一計算装置上ですべて実行するように後述されるが、実装の中にはモジュールが、相互に通信するために適合されている個別計算装置上でそれが実装され得ることを十分理解されたい。例えば、ある装置が識別モジュールを実行し、利用可能なネットワークを識別するように適合され得、別の計算装置上の接続モジュールが、接続確立前に利用可能なネットワーク上の情報を計算装置からリトリーブし得る。
【００２０】
[0028]本明細書に記載した原理の一例示的実装において、計算装置上で実行する識別モジュールが、利用可能なネットワークインターフェース１組を決定し得る。ネットワークインターフェースは、有線（例えばイーサネット（登録商標）又はダイヤルアップ）又は無線（例えば無線インフラストラクチャ、及び／又はアドホック無線ローカルエリアネットワーク（ＷＬＡＮ）、無線広域ネットワーク（ＷＷＡＮ）、無線パーソナルエリアネットワーク（ＷＰＡＮ）、又はその他の適切なタイプ）ネットワークインターフェースのような目的ネットワークに計算装置を接続するための適切な任意のアクセスポイントであり得、リモートアクセス技術（例えば仮想プライベートネットワーク（ＶＰＮ）は、セキュア・ソケット・レイヤー（ＳＳＬ）、レイア２トンネリング（Ｌ２Ｔ）プロトコル又はその他の適切な任意のプロトコルも使用し、リモートアクセスサービス（ＲＡＳ））を使用するネットワークインターフェースを含み得る。識別モジュールはその後、利用可能なネットワークのいくつか又はすべてに対しネットワークインターフェースが提供しているアクセス対象の目的ネットワークインターフェースを識別し得る。識別モジュールはその後、共通（すなわち同一目的ネットワークに対するアクセスを提供している対象のネットワークインターフェースと一緒のグループ）の目的ネットワークに対するアクセスを提供しているネットワークインターフェースを収集し、ネットワークインターフェースに対し共通の識別子を付与し得る。適切な任意のタスクがその後、ユーザー又はプロセスによって実行され得、個々のネットワークインターフェース上のネットワークタスク実行に付加するか又は代替手段として、識別された共通ネットワークを使用し計算装置上で実行する。例えば、適切なユーザーインターフェースは、個々のネットワークインターフェースよりもむしろネットワークインターフェースが提供しているアクセス対象の目的ネットワークに基づいてグループ分けされた利用可能なネットワークインターフェースをユーザーに表示し得るか、又は個々のネットワークインターフェースよりもむしろ選択された目的ネットワークに基づく接続モジュールによって接続が確立され得る。実行され得るネットワークタスクの別の例として、目的ネットワークに基づくポリシーモジュールによって接続ポリシーが確立され得るか、又はネットワークインターフェースが提供しているアクセス対象のネットワークに基づくネットワークインターフェースそれぞれに対するポリシーモジュールによって、セキュリティポリシーが確立され得る。適切な別の任意のネットワークタスクが実行され得る。
【００２１】
[0029]本明細書に記載した１つ以上の原理に従った動作技法が、この様にしてネットワーク接続性の管理による異なるいくつかの利点を提供し得る。例えば、そのようないくつかの技法を介し、接続プロセスは、ユーザーは、目的ネットワークの選択だけが必要であり、ネットワークに接続するための特定のネットワークインターフェースを選択しないという点において、ユーザーに対し単純化され得、接続モジュールが、所望のネットワークに関するユーザー入力に基づいて特定のネットワークインターフェースを選択するように実装され得る。別の例として、ネットワークの接続性管理が、ネットワークインターフェースグループを一度に管理するための方法を（管理者を含む）ユーザーに提供することによって改善され得、接続ポリシー及び／又はセキュリティポリシーが、ネットワークインターフェースが提供しているアクセス対象の目的ネットワークに従ったポリシーモジュールによって実装され、管理され得る。これらの利点は、ユーザー以外のネットワーク情報消費部にも拡大され得、計算装置上で実行するプロセス（例えばネットワークと接続し、ネットワークに接続されている別の計算装置との情報交換を所望しているプロセス）がネットワークインターフェース管理を所望する。例えば、プロセスは、プロセスに必要なアクセスを提供するネットワークインターフェースの決定を試みるよりもむしろ（すなわち、所望のネットワークに対するアクセスを提供しているネットワークインターフェースを決定するためのクエリーよりもむしろ）−アプリケーション・プログラミング・インターフェース（ＡＰＩ）を含む適切な任意の技法を介し−計算装置が接続すべきネットワークを指定し得る。
【００２２】
[0030]実装の中には、本明細書に記載された原理に従って実装されているＡＰＩ関数を介した別の利点を提供し得るものもあり、個々のネットワークインターフェースではなく目的ネットワークを使用した接続性を管理するＡＰＩ機能の単一パッケージが実装され、ネットワークプログラムアプリケーション記述をより単純かつ効率的にし得る。
【００２３】
[0031]付加的な利点が、目的ネットワークを単位とした接続性管理によるという点で提供され、冗長な接続が、計算装置が有線ネットワークインターフェースを介するネットワーク、及び無線ネットワークインターフェースを介する同一ネットワークと接続するような場合、回避される。本明細書に記載した技法に従って、ネットワークインターフェース双方の目的ネットワークが識別され、単一の接続だけが確立され得る。それを実行することは、計算装置に対する電力消費量を節約し、より少ないオープン接続が存在するため、計算装置に対する機密保護違反に関するリスクを低減し、目的ネットワークにおけるネットワーク資源（例えばインターネットプロトコル（ＩＰ）アドレス）の消費を制限する。更に、目的ネットワークを単位としたネットワーク接続性管理は、有線ネットワークインターフェースの目的ネットワークが無線ネットワークインターフェースの目的ネットワークとして検出され、無線ネットワークインターフェースを使用した接続が接続ポリシーに従って自動的に確立され得るので、ユーザーが有線ネットワークインターフェースのプラグを抜いて無線ネットワークインターフェースへ切り替える予定のときなど、同一ネットワーク内にあるネットワークインターフェースから別のネットワークインターフェースに対する切り替えプロセスを改善し得る。この様に目的ネットワークとの接続が、より容易に維持され得、ユーザーは、全く中断しないサービス又は中断がより少ないサービスを経験し得る。
【００２４】
[0032]本明細書に記載した原理のアプリケーション例として、企業ネットワーク（例えば、ワシントン州レッドモンドのマイクロソフト社の企業ネットワーク）が、ネットワークに接続するための個別の３つのネットワークインターフェース（例えば、イーサネット（登録商標）、無線ローカルエリアネットワーク（ＷＬＡＮ）、及びＶＰＮ）を利用可能な場合、計算装置は、同一ネットワーク（マイクロソフトネットワーク）に関連付けられるように、ネットワークインターフェースそれぞれを識別し得、ユーザーに表示する代わりに、利用可能な３つのネットワークインターフェースが独立して共通ネットワークインターフェースとしてそれらを処理する。例えば、ネットワークユーザーインターフェースにおいて、３つのネットワークインターフェースが、ネットワークに対する識別子（例えば「マイクロソフトに対する接続」）を有するネットワークに対する単一ネットワークインターフェースとして示され得る。ユーザーはその後、共通のネットワーク用識別子を選択し得、接続モジュールが、適切な任意の重み係数に基づいてネットワークに接続するための「最善」のネットワークインターフェースを選択し得る。別のネットワークタスクもネットワークインターフェースよりもむしろネットワークに基づいて実行され得る。例えば、セキュリティポリシー及びその他のネットワーク設定が、個々のネットワークインターフェースそれぞれよりもむしろネットワークインターフェースに対し、連帯してセキュリティモジュールによって確立又は変更され得る。
【００２５】
[0033]後述するものは、１つ以上のネットワークインターフェースが提供しているアクセス対象のネットワークに関する情報に基づいて、ネットワークを管理しネットワークタスクを実行するための例示的技法である。接続及びセキュリティなどのネットワークタスクが、提供される例において使用され得るが、これらのタスクは、単なる例示であって、適切な任意のネットワークタスクが、ネットワークインターフェース（単数又は複数）が提供しているアクセス対象のネットワークに関する情報を使用したネットワークインターフェース（単数又は複数）上で実行され得ることを十分理解されたい。
【００２６】
[0034]本明細書に記載した原理に従った動作技法は、適切な任意の数及びタイプのネットワーク機器を含む適切な任意の数及びタイプの計算装置を含む適切な任意の計算機システムで実装され得る。図１Ａ及び図１Ｂは、本明細書に記載した原理の例示的実装のいくつかが作動し得る２つの例示的計算機システムを示しているが、別の実装が適切な別の任意の計算機システムにおいて作動し得る。
【００２７】
[0035]図１Ａは、計算装置（１０２）が接続し得る対象の通信ネットワーク（１００）を含む計算機システムを示している。通信ネットワーク（１００）は、ホームネットワーク、企業ネットワークのサブネット、インターネット、より大きい有線及び／又は無線ネットワークの一部又はその他などを含み得る適切な任意の有線ネットワーク及び／又は無線ネットワークであり得る。計算装置（１０２）がラップトップパーソナルコンピューターとして示されているが、デスクトップコンピューターのような適切な任意の計算装置、ＰＤＡ、高機能電話、サーバー、ラックマウントコンピューター、ルーター若しくはスイッチのようなネットワーク機器、又はその他の計算装置であり得る。
【００２８】
[0036]図１Ａに示されている計算装置（１０２）は、機器（１０８）を介した有線インターフェース（例えばイーサネット（登録商標）インターフェース）、機器（１０６）を介した無線インターフェース、又はＶＰＮ（例えばＳＳＬ又はレイヤ２トンネリングＶＰＮ）インターフェース（１０４）を介した無線インターフェース（例えばＷＬＡＮ又はＷＷＡＮインターフェース）の３つの方法で通信ネットワーク（１００）と接続し得る。前述したように、計算装置（１０２）上で実行する識別モジュールは、機器（１０８）、機器（１０６）、及びＶＰＮインターフェース（１０４）を介し、個々のネットワークインターフェースを検査し得、それぞれが同一目的ネットワーク、通信ネットワーク（１００）に対する接続を提供していることを決定し得る。識別モジュールはその後、ネットワークインターフェースを通信ネットワーク（１００）に対する接続として単一の単位にその目的ネットワークごとにネットワークインターフェースそれぞれを識別し、情報集約し得る。
【００２９】
[0037]識別モジュールは、適切な任意の方法でネットワークインターフェースの目的ネットワークを識別し得、作動し得るその例が更に詳細に後述される。図１Ａの例において、計算機装置（１０２）で作動する識別モジュールは、ネットワーク機器（１１０）と通信することによって通信ネットワーク（１００）を識別し得、１つ以上の通信装置（１００）の特性を決定し得る。例えば、ネットワーク機器（１１０）は通信ネットワーク（１００）を別のネットワークに接続する通信ネットワーク（１００）用ゲートウェイであり得、識別モジュールは、ゲートウェイのメディア・アクセス・コントロール（ＭＡＣ）アドレスに基づいてネットワークを識別する。別の例として、ネットワーク機器（１１０）は、ワシントン州レッドモンドのマイクロソフト社が提供しているマイクロソフト・ウィンドウズ（登録商標）・ネットワークなど利用可能な１つ以上のネットワーク管理プロトコルのネットワーク管理機能性を実装しているドメインコントローラーであり得る。そのような実装において、識別モジュールは、ドメイングループ固有識別子（ＧＵＩＤ）又はフォレストＧＵＩＤのようなネットワークに対する識別子をネットワーク機器（１１０）からリトリーブするように適合され得る。この情報は、無線機器（１０６）からブロードキャストコントロールメッセージなどでネットワークによってブロードキャストされ得るか又は情報をリトリーブするためにネットワークに一時接続などを形成することによる何らかの方法で識別モジュールによってネットワークからリトリーブされ得る。ネットワーク識別のための例示的技法がより詳細に後述される。
【００３０】
[0038]通信ネットワーク（１００）が、（実施形態の中には、ネットワーク機器（１１０）上か又はネットワークに接続された別の任意のネットワーク機器上のデータストアとして実装され得るものもある）データストア（１１２）にも関連付けられ得る。データストア（１１２）上にストアされる情報は、ネットワークに関する任意のタイプ又はネットワークに関するタイプの情報であり得、ネットワークに接続する計算装置に適用されるべきポリシーに関する情報を含む。データストア（１１２）上にストアされるポリシーは、例えば、管理されるドメイン管理者によって生成されるネットワークに接続している計算装置へ送信され得るか又は計算装置によってリトリーブされ得るグループポリシーを含む適切な任意のポリシーであり得、適切な任意の方法で通信ネットワーク（１００）への通信及び／又は通信ネットワーク（１００）からの通信を調整する。そのようなポリシーは、（例えば、接続時、実行されるべきファイアウォールルール又は使用されるべき認証技術を含む）セキュリティポリシー、（例えば、計算装置が機器（１０６）上の機器（１０８）を介し、ネットワークインターフェースを優先付けて、それによってそれが可能なとき、無線電信よりもむしろ有線ネットワークインターフェースを使用すべきであることを規定する接続ルールを含む）接続ポリシー、又は利用可能な任意のネットワークインターフェースによって通信ネットワーク（１００）との接続前又は接続後に計算装置（１０２）によってリトリーブされ得る適切な別の任意のポリシーであり得る。
【００３１】
[0039]明快にするために、図１Ａに示されている計算装置（１０２）は通信ネットワーク（１００）に対するネットワークインターフェースだけ有しているが、例によっては、計算装置が、複数のネットワークに対するネットワークインターフェースに対し、それが利用可能にされ得ることを十分に理解されたい。例えば、ＶＰＮインターフェース（１０４）は、通信ネットワーク（１００）に直接インターフェースとして示しているが、事実上、別の１つ以上のＶＰＮ接続が確立されるネットワーク（例えば喫茶店及び／又はインターネットなどにおいて商用無線ネットワーク）に対するネットワークインターフェース（１０４’）であり得る。そのような場合の中には識別モジュールが、２つの異なる目的ネットワーク、第１の別の１つ以上のネットワーク、及び第２の計算装置がＶＰＮインターフェース（１０４）を介し接続し得る通信ネットワーク（１００）に対するネットワークインターフェースとして他方のネットワークに対するネットワークインターフェースを識別し得るものもある。これは、ＶＰＮインターフェース（１０４）を確立するために実行され得、計算装置（１０２）は、最初、他方のネットワーク接続を確立し、その後、（例えばトンネルプロトコルを使用した）接続を介し仮想接続を生成する必要がある。かくしてＶＰＮインターフェース（１０４）は、可能性ある、異なる２つの目的ネットワークとの接続を示し得る。
【００３２】
[0040]図１Ｂは、本明細書に記載した１つ以上の原理に従った動作技法のいくつかが作動する代替計算機システムを示している。図１Ｂの計算機システムにおいて、計算装置（１２０）は、機器（１２２）を介する複数のネットワークインターフェースの１つ有線インターフェースを介するか又は機器（１２２）を介した無線インターフェースを介し、通信ネットワーク（１２４）に関連付け得る。上記のような（図１Ａの）計算装置（１２０）は、適切な任意の計算装置であり得、通信ネットワーク（１２４）は、適切な任意の有線ネットワーク及び／又は無線計算機ネットワークであり得る。例えば、通信ネットワーク（１２４）は、計算装置（１２０）のユーザーが署名しているインターネットサービスプロバイダー（ＩＳＰ）のネットワークであり得るか、又は家庭内若しくは企業内ネットワークのようなローカルエリアネットワークであるか、又はその他の適切な任意のタイプのネットワークであり得る。
【００３３】
[0041]上記のような識別モジュールは、計算装置（１２０）上に実装され得、計算装置（１２０）が利用可能なネットワークインターフェースの目的ネットワークそれぞれ−図１Ｂの通信ネットワーク（１２４）に対するアクセスを提供している機器（１２２）に対する無線及び有線ネットワークインターフェースを決定する。識別モジュールは、適切な任意の方法で通信ネットワーク（１２４）の特性を決定し得る。例えば、識別モジュールは、通信ネットワーク（１２４）のゲートウェイに関するＭＡＣアドレス−実装の中には機器（１２２）のＭＡＣアドレスもあり得る−、機器（１２２）によって確立された無線ネットワークのサービスセット識別子（ＳＳＩＤ）、通信ネットワーク（１２４）に接続される別のネットワーク機器からリトリーブされる特性、又は通信ネットワーク（１２４）に関するその他任意の特性若しくは特徴など機器（１２２）からリトリーブされるネットワーク特性に基づくネットワークを識別し得る。
【００３４】
[0042]計算装置（１０２）及び計算装置（１２０）は、適切な任意の方法で機能するように適合され、ネットワーク管理タスクなどのタスクを実行するための適切な任意のモジュール（単数又は複数）を実装している。図２は、本明細書に記載した１つ以上の原理に従って計算装置によって実装される例示的プロセス（２００）を示しているが、別のプロセスが実装されることを十分理解されたい。
【００３５】
[0043]例示的プロセス（２００）は、ブロック（２０２）において開始し、識別モジュールは、計算装置にとって利用可能なネットワークインターフェースのいくつか又はすべてを識別し得る。前述したようなネットワークインターフェースは、例えば有線インターフェース（例えばイーサネット（登録商標）、ダイヤルアップなど）、無線インターフェース（例えばＷＬＡＮ又はＷＷＡＮ）、リモートアクセスインターフェース（例えばＶＰＮ）、及び／又はその他の適切な任意のタイプのネットワークインターフェースであり得る。実装の中には識別モジュールが、計算装置のハードウェアを検査し、利用可能なネットワークインターフェースを決定し得るものもある。例えば、計算装置がイーサネット（登録商標）及びダイヤルアップに関するネットワークハードウェアを含む場合、識別モジュールは、イーサネット（登録商標）及びダイヤルアップネットワークインターフェースを利用可能なことを決定し得る。付加的又は代替的に、識別モジュールは、ネットワークインターフェースが利用可能か否か決定する前に、識別モジュールが、ハードウェアを使用した１つ以上の接続が確立され得るか否か決定することを試み得る。例えば、識別モジュールは、無線ネットワークからのコントロールメッセージを計算装置の範囲内で検査し、利用可能なネットワークインターフェースを決定する。例えば、ＷＬＡＮネットワークインターフェースに対して識別モジュールは、近い無線アクセスポイントから受信した標識をレビューし、及び／又は情報に関するリクエストに応答して無線アクセスポイントから受信された応答を精査し、利用可能なネットワークインターフェースである利用可能なＷＬＡＮそれぞれを識別し得る。識別モジュールは、計算装置上で実行する（実行され得る）ソフトウェア特性も検査し得、利用可能なネットワークインターフェースも決定し得る。例えば、計算装置がＶＰＮソフトウェアを実行するように適合されている場合、ＶＰＮ接続が確立され得る任意のネットワークインターフェース（例えばＷＬＡＮインターフェース）が利用可能なとき、識別モジュールは、ＶＰＮネットワークインターフェースが利用可能なことを決定し得る。
【００３６】
[0044]ブロック（２０４）において、識別モジュールは、利用可能なネットワークインターフェースそれぞれに対し、ネットワークインターフェースが提供しているアクセス対象の目的ネットワークを識別する。これは、適切な任意の方法で実行され得る。実装の中には、例えば、識別モジュールが、最初にネットワークインターフェースの任意の特性が、以前使用したネットワーク特性と一致するか否か決定し得るものもある。管理されていないネットワーク（例えば自宅ＷＬＡＮに対するインターフェース）の場合、識別モジュールは、検出されたネットワークインターフェースＳＳＩＤが前に使用したネットワークと一致するか否か、目的ネットワークゲートウェイが前に使用したネットワークと一致するか否か、及び／又は目的ネットワークのセキュリティ設定が前に使用したネットワークのセキュリティ設定と一致するか否か、を決定し得る。管理されているネットワーク（例えば企業ネットワーク用ネットワークインターフェース）に関しては、識別モジュールは、検出したネットワークのドメインＧＵＩＤ及び／又は検出されたネットワークのセキュリティ設定が、前に使用したネットワークと一致するか否か決定し得る。検出されたこれらの特性が一致する場合、目的ネットワークが前に識別されたネットワークになることが決定され得る。そのようなプロセスは、米国特許出願１２／０７０，５００「Ｈｉｓｔｏｒｙ−ｂａｓｅｄ  ｄｏｗｎｇｒａｄｅｄ  ｎｅｔｗｏｒｋ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」に記載されている任意の技法によることを含む適切な任意の方法で実行され得、援用としてその全体を本明細書に組み込む。米国特許出願１２／０７０，５００によって説明されている技法は、ＳＳＩＤ又はドメインＧＵＩＤを含むネットワーク特性及びその他の適切な任意の特徴によって目的ネットワークを識別することを含み得る。
【００３７】
[0045]付加的又は代替的に、ブロック（２０４）において識別モジュールが、目的ネットワーク特性のストアをクエリーし、目的ネットワークを決定し得る。ブロードキャスト送信（例えばＷＬＡＮ標識）から受信され、接続ハードウェアのデータストア（例えば、ＷＷＡＮアクセスハードウェアの加入者識別モジュール（ＳＩＭ）カードの識別情報）にストアされ、一時的な接続プロセス（例えば、目的ネットワーク用ドメインＧＵＩＤの目的ネットワークに接続されているネットワーク機器からリクエスト）又はその他の適切な任意の方法を介し、目的ネットワークからリトリーブされるようにこれらの特性は適切な任意の方法で決定され得る。実装の中には更に、ユーザーが、ブロック（２０２）において決定されたネットワークインターフェースすべて又はいくつかを含む利用可能なネットワークインターフェースの１組を示され、ネットワークインターフェースが提供しているアクセス対象の目的ネットワークを識別するようにプロンプトで促され得るものもある。更なる例として、目的ネットワークは、ネットワークに付与された識別子に基づいていて、目的ネットワークによって（例えばＷＬＡＮ標識のようなブロードキャスト送信によって）識別モジュールに提供される。識別子が、例えばネットワーク識別サービスによって付与され、ネットワークを固有に識別し、識別モジュールに提供され得る。
【００３８】
[0046]識別モジュールが、どのようにネットワークインターフェースの目的ネットワークを識別するかにかかわらず、ブロック（２０６）において、識別モジュールが、ネットワークインターフェースそれぞれの目的ネットワークを検査し、共通目的ネットワークに対するアクセスを提供しているネットワークインターフェースを収集し、及び識別子を目的ネットワーク付与する。例えば、図１Ａの例のブロック（２０６）において、識別モジュールは、機器（１０８）を介する有線インターフェース、機器（１０６）を介した無線インターフェースそれぞれを決定し得、ブロック（２０２）において検出されたＶＰＮインターフェース（１０４）それぞれが共通目的ネットワーク（すなわち通信ネットワーク（１００））に対するアクセスを提供し、共通ネットワーク識別子（例えば「企業内ネットワーク」又はその他の適切なＩＤ）を付与する。ブロック（２０６）のプロセスが、ブロック（２０２）で検出されたネットワークインターフェースそれぞれに対し実行され得、接続するために利用可能な１つ以上の目的ネットワーク１組を決定し得る。この様に従来のネットワークにおける識別処理においても、ネットワークインターフェースそれぞれが、識別され、その後、独立に管理され得、同一目的ネットワークに対するアクセスを提供しているときでも、本明細書に記載したいくつかの原理に従ってネットワークインターフェースそれぞれの目的ネットワークが識別され、共通ネットワークに対するアクセスを提供しているネットワークインターフェースが、一緒にグループ分けされ、ネットワークタスクを実行するための目的ネットワークに対する単一インターフェースであると見なされる。
【００３９】
[0047]図２に示した実装のような実装の中にはブロック（２０８）において、目的ネットワークが識別された後、ユーザーが目的ネットワークに関する特性を定義するようにプロンプトで促され得るものもある。例えば、ユーザーは、ネットワークに対する識別子をブロック（２０６）で付与された識別子へ置換して付与するようにプロンプトで促され得るか又はその他の適切な任意の設定を提供するようにプロンプトで促され得る。
【００４０】
[0048]図３に関連し、より詳細に後述されるように、実装の中には識別モジュールが、目的ネットワークに対する接続に続き、ブロック（２０４）においてネットワークが正しく識別されているか否か検証するように適応され得るものもある。しかしながら、別の実装において、識別モジュールが、その識別が正しかったか評価し得るか又は識別モジュールの識別が確実であり得ない場合、ネットワークインターフェースが提供しているアクセス対象のネットワークを識別することを拒否し得、本発明は、どんな特定の識別処理を実装することにも限定しない。
【００４１】
[0049]ブロック（２１０）において、ブロック（２０６）で決定された目的ネットワークに従ったネットワークタスクが実行される。ネットワークタスクは、ネットワーク情報消費部（例えばネットワークを管理又はアクセスする（管理者を含む）ユーザー又はプログラム）を代表して実行されるタスクを含むがこれらに限定しない適切な任意のネットワークにかかわるタスクである。一例として接続モジュールが、利用可能な目的ネットワークに基づくネットワークの接続確立によって、ネットワークタスクを実行し得る。そのような接続確立プロセスが適切な任意の方法で実行され得、その例が図３及び図４に関連し後述される。ブロック（２１０）において、図５に関連し後述するように、個々のネットワークインターフェースではなく、目的ネットワークに基づくセキュリティ及び接続ポリシーを生成及び／又は管理するようなポリシー生成及び管理などのネットワークタスクが、ポリシーモジュールによって実行され得る。ネットワークタスクは、ユーザーからの入力及びユーザーによって実行される動作に基づいて実行され得るか又は計算装置又は別の計算装置上で実行するプロセスからＡＰＩ又はその他の適切なインターフェースを介し受信した入力に基づいて実行され得る。
【００４２】
[0050]図２に示されている例示的プロセス（２００）は単に、本明細書に記載したいくつかの原理に従って実装され得るプロセスタイプを例示していて、別のプロセスが可能であることを十分理解されたい。
【００４３】
[0051]図３は、本明細書に記載したいくつかの原理に従った、続いて生じるネットワークタスクを実行するための一例示的プロセスを示している。図３は、具体的には、接続プロセスを実行するための例示的プロセス（３００）を示している。図３は、ユーザーに情報を提供し、ユーザーから情報を受信することに関連し説明されているが、別の適切な任意のネットワーク情報消費部と対話し、接続プロセスを実行するための別のプロセスが実装され得ることを十分理解されたい。
【００４４】
[0052]例示的プロセス（３００）はブロック（３０２）において開始し、接続モジュールが適切なユーザーインターフェースを介し、利用可能な目的ネットワーク（例えば計算装置が接続し得る目的ネットワーク）の１組をユーザーに表示する。図２に関連し前述した例示的プロセス（２００）の次に続いて利用可能な目的ネットワーク１組が、計算装置上で実行する識別モジュールなどによって適切な任意の方法で決定され得る。利用可能な目的ネットワークの１組は、ネットワークに対してブロック（２０６）又は（２０８）で付与された識別子をユーザーに提供し、実施形態の中には、どんなネットワークインターフェース（単数又は複数）の指標も提供せず、それを介さずにユーザーが目的ネットワークとの接続を確立し得るものもあるが、別の実装において、そのようなネットワークインターフェースの指標が提供され得るものもある。
【００４５】
[0053]ブロック（３０４）において、ユーザーが、自分が接続したい所望の目的ネットワーク指標を接続モジュールに提供する。ブロック（３０６）において、接続モジュールが、所望の目的ネットワーク上にストアされている情報を検査し、所望の目的ネットワークに対するアクセスを提供している１つ以上のネットワークインターフェース１組を決定する。接続モジュールが、その後、所望の目的ネットワークに接続するための特定のネットワークインターフェースをネットワークインターフェース１組から決定し得る。このプロセスは、適切な任意の方法で実行され得る。例えば、特定のネットワークインターフェースが、ネットワークインターフェース１組から無作為に選択され得る。代替として、特定のネットワークインターフェースが、計算装置全体又は所望の目的ネットワークに対し提供されているデフォルトルールに基づいて選択され得る。例えば−計算装置全体（例えば目的ネットワークすべてに対するネットワークインターフェースすべて）又は所望の目的ネットワークに対し適用し得る−ルールが、有線インターフェースが利用可能なとき、無線インターフェースより好ましいこと、又はその逆もまた同様、ＩＥＥＥ８０２．１１ｇインターフェースがＩＥＥＥ８０２．１１ｂインターフェースより好ましいこと、又はセキュアインターフェースが非セキュアインターフェースより好ましいこと、などを規定する。特定のネットワークインターフェースを選択するための適切な任意のルールが、（管理者を含む）ユーザーからの入力の受け入れによるか、又はネットワーク（例えばユーザーのオフィスネットワーク）からデータストア（１１２）にストアされているポリシーのようなポリシーの受け入れを含む適切な任意の方法によって、確立され得る。
【００４６】
[0054]ブロック（３０８）において、ブロック（３０６）で選択されたネットワークインターフェースを使用し、所望の目的ネットワークに対する接続が確立される。接続は、選択されたネットワークインターフェースの１つ以上のプロトコルに従って適切な任意の方法で確立され得、接続に関する適切な任意の動作を含み得る。接続が一旦、ブロック（３０８）において確立されると、プロセス（３００）が終了する。
【００４７】
[0055]図３に示されている例示的プロセス（３００）は単に、本明細書に記載したいくつかの原理に従ってネットワークタスクを実行するために実装され得るプロセスタイプを例示していて、単に接続を確立するために実装され得るプロセスタイプも例示しているに過ぎないことを十分理解されたい。
【００４８】
[0056]加えて、実装の中にはプロセスが、図３に示されているものよりも、より多いか又はより少ない動作を含み得るものもある。例えば、実装の中には、接続時、計算装置が接続されている対象のネットワークが、ブロック（２０４）において識別され、ブロック（３０４）において所望に応じて選択されたネットワークであることを検証する付加的な動作をプロセスが含み得るものもある。検証プロセスは、選択されたネットワーク特性をデータストアのネットワーク特性と比較するか又は所望の目的ネットワークに存在していることを知っている計算装置に接続することを試みることによるように、適切な任意の方法で実行され得る。接続を確立する対象のネットワークが所望の目的ネットワークである場合、プロセスが１つ以上のネットワーク特性をネットワークからリトリーブし得、将来、ネットワークを識別及び／又は検証する際に使用するために（例えば、ネットワーク用ドメインＧＵＩＤ、又はフォレストＧＵＩＤ、又はその他の特性をストアする）ローカルにストアされる。
【００４９】
[0057]図４は、本明細書に記載したいくつかの原理に従った、ネットワークとの接続を確立するための付加的又は代替的プロセスを示している。例示的プロセス（４００）において、例えば、ネットワークが利用可能なとき、計算装置が接続するべき対象の１つ以上のネットワークを指定している、計算装置上にストアされている接続ポリシーに従って接続が確立される。そのようなポリシーの中には付加的に、２つ以上示されたネットワークが一度に利用可能な場合、別のものが利用可能でなくても従うべき（代わりに、例えば接続対象ネットワークを選択するための「最初に検出した」スキーマ又は無作為スキーマに依存する）階層構造を規定し得るものもある。プロセス（４００）は、計算装置が最初にネットワーク接続を確立したとき、又は既に別のネットワークに接続されたとき、を含み、その後に続き、いつでも接続ポリシーによって示される目的ネットワークにとって利用可能な「好ましい」目的ネットワークを監視する。
【００５０】
[0058]例示的プロセス（４００）が、ブロック（４０２）において開始し、ポリシーモジュールが利用可能なネットワーク１組をリトリーブする。利用可能なネットワーク１組が、データストアのような適切な任意のソースか又は前述したようなポリシーモジュールによって起動された識別モジュールからリトリーブされ得る。この１組は、図２に関連し前述した例示的プロセス（２００）によるようなプロセスを含む適切な任意の方法で識別されている。ブロック（４０４）において、ポリシーモジュールが、データストア（例えばブロック（４０２）のときと同一か又は異なるデータストア）から接続ポリシーをリトリーブする。接続ポリシーは、１つ以上の「好ましい」ネットワーク一覧を含む情報など、接続の確立又は管理に関する適切な任意の情報を含み得る。接続ポリシーは付加的又は代替的に、特定の目的ネットワーク又はネットワークとの接続数、同時接続数／並列接続数、同時接続すべきか又は同時接続を禁止する目的ネットワークに関する制限情報、及び／又はその他の適切な任意の情報を含み得る。接続ポリシーは、付加的又は代替的に、接続コスト、接続速度、及び／又は接続モジュールが接続を確立することを試みるべき好ましいシーケンス（例えば無線インターフェース前の有線インターフェース）など、接続確立時に考慮すべき適切な任意のパラメーターに関する情報を含み得る。
【００５１】
[0059]上記のように、好ましいネットワーク一覧が目的インフラストラクチャに基づくネットワークを識別し得、ポリシーが特定のネットワークインターフェースを規定する必要はなく、プロセスが単純化され得る。好ましいネットワーク一覧は、ネットワークそれぞれに関するネットワーク用識別子と、計算装置が利用可能なとき、それがネットワークに自動的に接続する必要があるか否かに関する指標と、ユーザーインターフェースにおいて好ましいネットワークに印を付けるか否かに関する指標と、及び／又はその他の適切な情報と、を含み得る。代替として、計算装置は、計算装置が利用可能なとき、接続すべき対象として好ましいネットワーク一覧中のネットワークすべてを（例えば自動的又は手動で例えばユーザーにプロンプトで促すように）処理するように適合され得る。接続ポリシーが、一旦リトリーブされると、ポリシーモジュールは、ブロック（４０２）においてリトリーブされた利用可能なネットワーク１組を好ましいネットワーク一覧と比較する。ネットワーク比較は、ネットワーク特性及び特徴を比較するような適切な任意の方法で（例えば、ネットワークゲートウェイのＭＡＣアドレス、ドメインＧＵＩＤ又はその他の適切なネットワーク識別子の比較によって）実行され得る。
【００５２】
[0060]ブロック（４０６）において、好ましいネットワーク一覧に表示され利用可能なものとして識別されたネットワークそれぞれに対し、ポリシーモジュールが、計算装置が（例えばユーザーの介入がない自動的か又は例えばユーザーにプロンプトで促し手動で）ネットワークに接続されるべきか否か決定する。これはネットワークに関する接続ポリシー内の指標の検査によるか、又は一覧中のネットワークの識別などによる適切な任意の方法で、実行され得る。計算装置が既に別のネットワークに接続されているような場合によっては、ブロック（４０６）は、ネットワークが（例えば、計算装置が第１のネットワークから切断し、好ましいネットワークに接続するべきか否か）別の状況にかかわらず接続されるべきか否か識別することを含み得ることもある。例えば、好ましいネットワークの階層構造が適所にある場合、ブロック（４０６）は、計算装置が、既に接続されている対象のネットワークが識別されたネットワークの階層構造上、より高いか否か決定することを含み得る。なんらかの理由により、計算装置が識別されたネットワークに接続されるべきでないことが決定された場合、ポリシーモジュールは、ブロック（４１０）に移動し、より多くのネットワークが評価される必要があるか否か（例えばより好ましいネットワークが計算装置にとって利用可能か否か）決定する。その場合、別のネットワークを評価し続け、そうでない場合、プロセスは終了する。
【００５３】
[0061]しかしながら、ブロック（４０６）において、ポリシーモジュールが、どのような理由に対しても計算装置が識別されたネットワークに接続される必要があり、かつ、それがネットワークに自動的に接続されるべきか又はユーザーが接続確立されるべきであることを示していることを決定した場合、ブロック（４０８）において、ポリシーモジュールが、識別されたネットワークに対する接続を形成するように接続モジュールに命令する。接続モジュールは、その後、図３に関連し前述した例示的プロセスを含む適切な任意の方法で特定のネットワークインターフェースを決定し、ブロック（４０６）において、ネットワークインターフェースを介し、識別されたネットワークとの接続を確立してプロセスは終了する。
【００５４】
[0062]プロセス（４００）は単に、本明細書にいくつかの原理に従った、好ましいネットワーク一覧を含む接続ポリシーに従ってネットワークの接続性を管理するために実装され得る例示的プロセスに過ぎず、本発明の実施形態がそのようなプロセスの実装に制限されないことを十分理解されたい。実施形態の中には、ネットワークの接続性を管理するための技法が、接続ポリシーに従って実装され得ないものもある。しかしながら、それを実行する実装において、本明細書に記載した原理に従った、適切な任意の接続ポリシー又は複数のポリシーが使用され得、接続ポリシーを評価し得るための適切な任意の技法が使用され得る。ポリシーを評価するために使用される技法は、ポリシーの構造及びコンテンツに従って相互に異なり得、そうすると、実装の中には接続ポリシー技法が図４に示されている例示的技法と異なることもあり得ることを十分理解されたい。
【００５５】
[0063]更に、実装の中には、接続ポリシーに従って接続を確立するためのプロセスが、接続ポリシーによって指定される１つ以上の付加的な接続前の動作又は接続後の動作を実行する動作を含み得るものもある。例えば、接続ポリシーが、あるネットワークインターフェースを介した目的ネットワークとの接続確立が、別の目的ネットワークとの接続を確立する接続前の動作を要求し得ることを記述し得る。例えば、図１ＡのＶＰＮインターフェース（１０４）に関連し前述したように、ＶＰＮを介した接続確立が、別のネットワークとの第１の接続がホスト接続として確立され、その上でＶＰＮ接続が確立され得ることを要求する。故に、計算装置は、特定のネットワークインターフェース又はネットワークインターフェースタイプを介した接続が所望されたとき、接続ポリシーに従って別のネットワークとの接続を確立し得る。別の例として、ネットワークに関する接続ポリシーは、特定のプロセスが特定のネットワークに対する次の接続を実行されるべきことを規定し得、接続ポリシーは、ウェブブラウザが例えば、計算装置が企業内ネットワークに接続するとき、会社のイントラネットのウェブページをロードするべきことを規定し得る。別の例として、接続ポリシーは、例えば、特定の設定が別の特定のネットワークに接続されている間、計算装置がホームネットワークに接続されているときに特定のデフォルトプリンタ（すなわちオフィスのプリンタよりもむしろ自宅のプリンタ）の使用を執行すべきことを規定し得る。任意の数及びタイプの動作が、ネットワークインターフェース、ネットワーク、及びネットワークグループに関する接続ポリシーによって規定され得、これらの動作は、規定された接続ポリシー評価プロセスの一部として、接続の前又は接続の後などに実行され得る。
【００５６】
[0064]接続ポリシー及びセキュリティポリシーのようなポリシーが、適切な任意の方法で確立される。例えば（管理者を含む）ユーザーが、ポリシーを説明する１つ以上の入力をローカルに提供することによってポリシーを定義するか、又はポリシーが、別の計算装置又は計算装置が接続する（例えばデータストア（１１２）のようなデータストアからアップロードされる）ネットワークから計算装置にアップロードされる。ポリシーが、１つ以上の特定のネットワークと関連し（及び／又は１つ以上の特定のネットワークインターフェースと関連し）ネットワーク及びインターフェースすべてに適用するように独立し、ストアされるような適切な任意の方法で計算装置にストアされる。例えば、好ましいネットワークを識別する１つの接続ポリシーは、すべてのネットワークに適用するために独自にストアされ得ると同時に、ネットワークに関する好ましいネットワークインターフェースを識別する１つとして別の接続ポリシーが、ネットワークに関連してストアされ得る（すなわち、それがネットワークに適用する表示とともにストアされる）。別の例として、ファイアウォールルール及び／又はネットワークへ接続するために実装するための識別技術を識別するような１つのセキュリティポリシーが、特定のネットワークに関連しストアされ得ると同時に、特定のインターフェース用に実装するための特定のセキュリティ技術を概説するセキュリティポリシーなど、別のセキュリティポリシーがネットワークに対する特定のネットワークインターフェースに関連しストアされ得る。実装の中には、ポリシー指標がネットワーク及び特定のネットワークインターフェース双方に関連し、ストアされ得るものもあり、新しいネットワークインターフェース（例えば新しいネットワーク技法）が追加された場合、そのネットワークインターフェースがネットワークに対するアクセスを提供することを検出した時、ユーザーからの介入を必要とせずに新しいネットワークインターフェースに関連してポリシーがストアされ、−新しいネットワークインターフェースを介し確立された接続をネットワークに適用され−得るものもある。
【００５７】
[0065]ポリシーが、ネットワークそれ自体ではなく、ネットワーク特性にも基づいてストアされ得る。例えば、「新しいネットワーク」、すなわち計算装置が前に接続されたことがないネットワークに対し適用されるデフォルトポリシー（例えば接続ポリシー及びセキュリティポリシー）ポリシーがストアされ得る。例えば、ファイアウォールルール及び／又はその他より多くのセキュリティ技術を用いて実装される新しいネットワークすべてに対する高度なセキュリティレベルが実装され得る。これらポリシーは、新しいネットワークに対し確立される接続を介しネットワークインターフェースすべてに適用され得、それによって前にポリシーを確立する必要があった接続を管理し、個々のネットワークインターフェースに対し生成し、ストアし（新しいネットワークインターフェースが生成されるときには、何度も生成されストアされる）必要があった努力を低減する。別の例として、ポリシーが、「信頼される」ネットワーク又は「好ましい」ネットワークすべてに対し適用され得、ネットワークに対するアクセスを提供しているネットワークインターフェースそれぞれに示されているネットワークそれぞれに順番に適用され得、実装の中には、これらネットワークに対するポリシー管理が、信頼されるネットワーク又は好ましいネットワーク一覧に対し、ネットワークに関する指標を追加することと同じように容易に実行され得るものもある。
【００５８】
[0066]本明細書に記載したいくつかの原理に従った、ポリシー管理に関する技法のいくつかが使用され、ネットワーク（すなわちネットワークと関連する）レベルでポリシーを生成し、管理し、接続（すなわち接続と関連する）レベルでポリシーをストアし得る。図５に例示した例示的プロセス（５００）は、そのような一プロセスであるが、別のものも可能であることを十分理解されたい。
【００５９】
[0067]プロセス（５００）が、ブロック（５０２）において開始し、ネットワーク１組が、適切なユーザーインターフェース内でユーザーに対し表示される。ネットワークの１組は、図２に関連し前述したようなプロセスに従った識別モジュールによって識別された利用可能なネットワーク１組、又は接続ポリシーに示されている好ましいネットワークの１組、ユーザーが前に接続した（将来、再度、接続する）ネットワーク、又はその他の適切な任意の１組を含む適切な任意の１組であり得る。ブロック（５０４）において、ユーザーが、１つ以上のネットワークに設定される１つ以上のポリシー指標を提供する。１つ以上の指標は、例えばポリシーが適用すべき１つ以上のネットワークに関するポリシーの一部など、１つ以上の設定及び／又は適用すべきその他の適切な任意の情報を含み得る。１つ以上の指標は、例えば、セキュリティポリシーが特定のネットワークに対する接続すべてに対し執行されるべきことと、セキュリティポリシーが１つ以上の指定された（例えば伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）ポート（２２）の上のトラフィックすべてをブロックする）ルールを有しているファイアウォールを含むことと、を示し得る。指標がユーザーインターフェースなどを介する適切な任意の方法でユーザーから受け入られ得、ＡＰＩなどを介した適切な任意の方法でポリシーモジュールに提供され得る。
【００６０】
[0068]ブロック（５０６）において、指標がネットワークインターフェースそれぞれに関連付けられているレコードにストアされる。例えば、ネットワークインターフェースそれぞれは、インターフェースを使用した確立されたネットワークすべてに対する接続、及び／又はインターフェースを使用した特定のネットワークに対する接続、に適用され得るポリシーをストアする関連付けられたデータストアを有し得る。例えば、イーサネット（登録商標）ネットワークインターフェースに関する複数のレコードは、計算装置が有線インターフェースを使用し接続し得る対象の目的ネットワークそれぞれに対し保守され得、それぞれレコードが、接続ポリシー（例えば、接続時、ＤＨＣＰ  ＩＰアドレスをリトリーブするか否かのような実行すべき動作）及び／又はセキュリティポリシー（例えば、接続時、適用すべきファイアウォールルール）など、適用されるポリシーを規定し得る。
【００６１】
[0069]一旦、指標がレコードにストアされると、ブロック（５０８）において、指標が、ポリシーモジュールによって（又は特定の実装に依存する接続モジュールによって）、接続時、リトリーブされ得、ネットワークインターフェースを介し確立された接続に適用され得る。例えば、イーサネット（登録商標）ネットワークインターフェースのレコードにストアされているセキュリティポリシーが、特定のネットワークを介した接続時、適用されるファイアウォールルールを含む場合、ポリシーモジュールが、接続時、ファイアウォールルールの指標をレコードからリトリーブし、それらを執行されるファイアウォールに提供する。一旦、接続が確立されると、ポリシーが執行され、プロセス（５００）が終了する。
【００６２】
[0070]図５に例示したプロセス（５００）は単に、本明細書に記載したいくつかの原理に従って実装され得るポリシー生成及びストレージを管理するためのプロセスのタイプを例示しているに過ぎないことを十分理解されたい。ポリシー（例えば接続ポリシー、及びセキュリティポリシー、及び他の適切なネットワークポリシー）を生成し管理するための技法を実装している実施形態において、本発明は、ポリシーを生成し管理するための特定の任意の技法か又は実際には技法の実装にも全く限定しない適切な任意のプロセスが実装され得る。
【００６３】
[0071]更に、図５はユーザーからの入力などを受け入れるプロセス（５００）を記載しているが、実装の中にはプロセスが、付加的又は代替にネットワーク情報消費部から適切な任意の指標を受け入れるように適合され得るものもあることを十分理解されたい。例えば、計算装置又は別の計算装置上で実行するプロセスが、ポリシーモジュールと通信するように適合されたＡＰＩを介しポリシーを生成し管理し得る。
【００６４】
[0072]本明細書に記載したいくつかの原理に従った、適切な任意の１つ以上のタスク又はプロセスを実行するためのＡＰＩが実装され得る。例えば、識別モジュールを起動し利用可能な目的ネットワークを決定し、利用可能なネットワーク一覧を順番に提供し得るＡＰＩ呼び出しが確立され得る。特定のネットワーク識別子を入力として用いて、特定のネットワークに対するアクセスを提供するネットワークインターフェースの１組に応答するＡＰＩ呼び出しも実装され得る。識別されたネットワークに対する接続を確立するためのネットワークインターフェースを選択し接続を確立するＡＰＩ呼び出しも実装され得、特定のネットワークインターフェース（及び実装の中には特定のネットワーク）に対する入力識別子として取り込み、ネットワークインターフェースを介した接続を確立する別のＡＰＩ呼び出しも実装され得る。前述したような、すべてのネットワーク、特定のネットワーク、及び／又は特定のネットワークインターフェースに関するポリシーを生成し管理するＡＰＩ呼び出しが実装され得る。例えば、好ましいネットワークとして、例えば、特定のネットワークを印付けすることによって接続ポリシーを管理するためのＡＰＩ呼び出しが確立され得る。ＡＰＩを実装する実施形態において、適切な任意のネットワークタスクを実装した適切な任意のＡＰＩ呼び出しが実装され得、本発明が特定の１つ以上の任意のＡＰＩ呼び出しを実装することに限定しないことを十分理解されたい。
【００６５】
[0073]従来のネットワーク技法は、本明細書に記載した技法のいくつかに従ったネットワークインターフェース又はネットワークインターフェースタイプそれぞれに対し個々のＡＰＩ（例えば有線インターフェース用ＡＰＩ及び無線インターフェース用ＡＰＩ）が要求されるが、すべてというわけではないが実装の中には、ネットワーク及びインターフェースタイプすべてに対する単一のＡＰＩが提供され得るものもある。本明細書に記載した原理に従ったネットワークは、個々のネットワークインターフェースに従うのではなく目的ネットワークに従って、ネットワーク情報消費部（例えばユーザー及びプロセス）によって管理され、単にネットワークレベルだけでユーザーと対話するＡＰＩが実装され得、内部的に処理する低レベル（例えばネットワークインターフェースレベル）ですべてを実行する。その結果、ネットワーク情報消費部の見地から処理すべてが同一なので、単一のＡＰＩライブラリ（すなわち、１つ以上のＡＰＩ呼び出しの単一グループ）だけが実装され得る。例えば、図６に示されているように、図３に関連し前述した原理を使用したネットワーク情報消費部はＡＰＩを介し、それが所望しているアクセス対象の目的ネットワークを指定するだけでよく、ユーザー介入を必要とせずに、接続モジュールが接続を確立するための特定のネットワークインターフェースを選択し得る。したがって、アプリケーションは、ネットワークプログラムアプリケーション（すなわちネットワークインターフェースを管理及び／又は使用するアプリケーション）をプログラムすることが単純化され得、合理化され得、利用可能なネットワークインターフェースタイプに従って複数の異なるＡＰＩを使用する支援を含むよりもむしろ単一のＡＰＩの利用が必要なだけである。
【００６６】
[0074]図６は、本明細書に記載したいくつかの原理に従って実装され得る、ＡＰＩを使用しネットワークタスクを実行するための一例示的なプロセス（６００）を示している。図６の例において、実行されるネットワークタスクはネットワークに接続しているが、ＡＰＩを実装している実施形態において、適切な任意のネットワークタスクがＡＰＩを使用し実行され得、本発明の実施形態が、特定の任意の機能性を提供するＡＰＩを実装することに制限されないものとして十分理解されたい。
【００６７】
[0075]例示的プロセス（６００）が、ブロック（６０２）において開始し、ＡＰＩマネージャー（例えばオペレーティングシステム又はその他の適切なコンポーネント）が、利用可能なネットワーク一覧をリクエストしているＡＰＩ呼び出しをネットワーク情報消費部から受信する。ネットワーク情報消費部は、計算装置上で実行する別のプロセスか又は計算装置のユーザーインターフェースであり得る。ＡＰＩマネージャーが、受信した呼び出しに応答し、利用可能なネットワーク１組をデータストアからリトリーブし、利用可能なネットワークを識別する識別モジュールを起動するか又はその他の適切な任意の動作を実行し得る。ブロック（６０４）において、（データストアからリトリーブされたか又は識別モジュールによって提供された）利用可能なネットワーク１組が、ネットワーク情報消費部に提供される。
【００６８】
[0076]ブロック（６０６）において、ＡＰＩマネージャーが、所望の目的ネットワークを指定し、所望の目的ネットワークに接続が確立されるようにリクエストしている別のＡＰＩ呼び出しを受信する。ブロック（６０８）において、ＡＰＩマネージャーが、所望の目的ネットワークに対するアクセスと、前述した技法に従った適切な任意の方法で接続を確立することによる特定のネットワークインターフェースの選択と、を提供するネットワークインターフェース１組をデータストアからリトリーブし得る。ブロック（６１０）において、ＡＰＩマネージャーが、その後、接続モジュールを起動し、選択されたネットワークインターフェースを使用し、所望の目的ネットワークに接続し得る。代替として、ブロック（６０８）において、ＡＰＩマネージャーが、接続モジュールを起動し、図３に関連し前述したような特定のネットワークインターフェースを選択し、ブロック（６１０）において、その後、接続マネージャーが接続を確立することをリクエストする。一旦、確立接続がされると、プロセス（６００）が終了する。
【００６９】
[0077]プロセス（６００）は単に、本明細書に記載した原理に従った、ＡＰＩ呼び出しに応答するネットワークタスクを実行するために実装され得る例示的なプロセスタイプに過ぎず、ＡＰＩ呼び出しに応答し、ネットワークへの関係を確立するための別のプロセスを含む他のプロセスが実装され得ることを十分理解されたい。実装の中にはＡＰＩが、実装され得ず、従ってＡＰＩ呼び出しに応答するネットワークタスクを実行するためのプロセスが実装され得ないものもあることを十分理解されたい。しかしながら、１つ以上のＡＰＩ呼び出しを提供する実装において、本明細書に記載した原理に従った、適切な任意のＡＰＩ呼び出し及びＡＰＩ呼び出しを処理するための適切な任意の技法が実装され得る。
【００７０】
[0078]前述したような本明細書に説明した原理に従った動作技法は、ネットワークタスクを実行するための多くの利点を提供し得る。前述したように、例えばネットワークポリシーの生成及び管理によって、（管理者を含む）ユーザーは、個々のインターフェースよりもむしろネットワークを単位としたポリシーの指定がより容易に可能になり得る。このように、複数のネットワークインターフェースに関するネットワークポリシーが単一目的ネットワークを単位として生成され得るなど、ネットワークポリシーを生成し管理する（管理者を含む）ユーザーが費やす必要がある時間及びエネルギーを低減する。更に、信頼されるネットワーク及び未知のネットワークのようなネットワークグループに関するポリシーの生成が、より簡単にされ得、ポリシーがその後、そのようなネットワークグループに適用するために生成されるとき、これらのグループに対するネットワークアクセスを提供するネットワークインターフェースに適用され得る。更に、接続は、個々のネットワークインターフェースを単位としてではなく、目的ネットワークを単位として確立され管理され得るので、接続ポリシーがより単純に実行され得、利用可能なとき、使用される必要がある特定の多くのネットワークインターフェースを指定する代わりに接続ポリシーは、利用可能なとき、特定のネットワークが適切な任意のネットワークインターフェースを使用して接続される必要があることを指定し得る。加えて、前述したようにＡＰＩが、より単純にされ得、（例えばプログラムアプリケーションにおける）ＡＰＩ利用が、より単純かつより効率的に実行され得、ＡＰＩ機能の単一パッケージが支援される必要があるだけである。したがって、ネットワークを管理することと、ネットワークタスクを実行することとが、ネットワークポリシーを単純化するための多くの利点を提供する。
【００７１】
[0079]更に、前述したように、ユーザーインターフェースがより単純化され得、ユーザーが理解することと、ネットワークインターフェースと対話することと、をより簡単にする。図７Ａは、本明細書に記載した原理に従った、ネットワークタスクを実行するためのいくつかの実装において使用され得る一例示的ユーザーインターフェースの大まかな図を示していて、図７Ｂは、ネットワークタスクを実行するために実装される従来のユーザーインターフェースの大まかな図を比較のために示している。
【００７２】
[0080]図７Ａのユーザーインターフェース（７００）は、図２に関連し前述した技法に従って識別モジュールによって作動することを含んでいて、適切な任意の方法で利用可能なものとして識別された利用可能なネットワーク一覧（７０２）を含む。一覧（７０２）は、前述したような利用可能な目的ネットワークを示していて、一部のユーザーは、ネットワークインターフェース数及びタイプがわかりにくいことを見出し、すべてのオプションの利点を最大限に活用することを思いとどめるため、特定のネットワークインターフェースを示していないことを十分理解されたい。しかしながら、代替ユーザーインターフェースの中には、一覧したネットワークに対するアクセスを提供する対象のネットワークインターフェースのいくつか又はすべてを示し得るか、又はリクエスト時、ネットワークインターフェースを閲覧することをユーザーに許可するものもある。ユーザーインターフェース（７００）は更に、ユーザーがオプションを選択可能か又は要求可能な代替ユーザーインターフェースを介し、ユーザーに特定の接続オプションを指定することも特定のネットワークインターフェースを選択することも必要とせずに、適切な任意のネットワークインターフェースによって、一覧したネットワークとの接続が確立されるべきことを、ユーザーが信号送信可能にするボタン（７０４）を含み得る。図３に関連し前述したように、ネットワークに関するボタン（７０４）の選択が、接続モジュールを起動し、その後、接続確立する特定のネットワークインターフェースを選択するために接続を確立するか又は適切な任意のタスクを実行する適切な別の任意のモジュールを起動し得る。ネットワークに対する個々のインターフェースよりもむしろ全体としてネットワークに対するセキュリティポリシーを生成及び／又は管理するためのポリシーモジュールを起動するボタン（７０６）も提供され、ユーザーがポリシーモジュールを作動し、接続ポリシーを生成及び／又は管理可能にするためのボタン（７０８）も提供される。ユーザーインターフェース（７００）は単に、本明細書に記載した原理に従って実装され得るタイプの例示的なユーザーインターフェースであって、より多いか又はより少ないコンポーネントを有する別のユーザーインターフェースが実装され得ることを十分理解されたい。
【００７３】
[0081]図７Ａのユーザーインターフェース（７００）は、図７Ｂのユーザーインターフェース（７０２）と区別され得る。ユーザーインターフェース（７００）は、ユーザーが管理するユーザーインターフェース（７０２）よりもはるかに少ないオプション及び一覧を有していて、ユーザーインターフェース（７００）が、より理解しやすい説明とともにこれらのオプションを表示する。例えば、ユーザーインターフェース（７００）は、ユーザーのオフィスネットワークにとって利用可能な接続を示し得るマイクロソフトに関する一覧を提示し得、ユーザーインターフェース（７２０）は、いくつかのポイントにおける有線インターフェースを提供し得るが、利用不可として記載される「ローカルエリア接続１」、ＶＰＮインターフェースをオフィスネットワークに提供する「マイクロソフト＿ＶＰＮ」、及び電話回線を介するＲＡＳインターフェースをオフィスネットワークに提供し得る「ダイヤルアップネットワーク」を含む同一ネットワークに関する、より広い選択範囲を示している。加えて、ユーザーインターフェース（７００）は、「自宅」、「個人無線ブロードバンド」、及び「新しい無線ネットワーク」に対する簡易タイプのエントリーを提供しているが、ユーザーインターフェース（７２０）は描写的ではなく、ユーザーから詳しい情報を必要とする「デフォルト（ＷＬＡＮ）」、「広帯域無線（ＷＷＡＮ）」、及び「隣接＿ネットワーク（ＷＬＡＮ）」に対し応答するエントリーを提供している。
【００７４】
[0082]本明細書に記載した原理のいくつか又はすべてに従った動作技法が適切な任意の方法で実装され得る。例えば実施形態の中には、本技法が、磁気媒体（例えばハードディスクドライブ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、永続的又は非永続的ソリッドステートメモリー（例えばフラッシュメモリー、磁気ＲＡＭなど）、又はその他の適切な任意の記憶媒体など、１つ以上の計算機可読記憶媒体上で符号化された計算機実行可能命令として実装され得るものもある。計算機記憶媒体は、図８の計算機可読記憶媒体（８０６）（すなわち計算装置（８００）の一部として）としてか又は個別の計算機記憶媒体として実装され得る。
【００７５】
[0083]そのような実施形態の中には、本明細書に記載した原理に従った動作技法を実装している計算機実行可能命令が、１つ以上のスタンドアロンモジュール（例えば前述したインポートモジュール及び評価モジュール）として実装され得るものもある。前述したように、「モジュール」は、特定の動作的役割を実行するシステムの構造化コンポーネントであるが実体化され、ソフトウェアエレメント（例えば機能プロセス又は離散プロセス）の一部又は全体であり得る。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実装しているルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的に、プログラムモジュールの機能性は、様々な実施形態において所望に応じて結合されるか又は分散され得る。実装の中には、これらのモジュールが、ネットワークプログラムアプリケーションを実装するか又は計算装置に関するオペレーティングシステムを実装するモジュールのような別の関係しないモジュール及び／又はプロセスと対話するように適合され得るか、又は別の実装において、モジュールが、ワシントン州レッドモンドのマイクロソフト社が提供している利用可能形式の（すなわち、オペレーティングシステムの一部又は外部として実装されるモジュール）マイクロソフトのウインドウズオペレーティングシステムなどのオペレーティングシステムのような総合システムモジュールとともに別のモジュールと相互に作用するように適合され得るものもある。また、実装の中にはいくつかのモジュールが別のモジュールから切り離されて実装され得るか又はいくつかのモジュールが実装され得ず、そうすると一例示的実装において、識別モジュール及び接続モジュールが実装され得るがポリシーモジュールは、別個のソフトウェアコンポーネントとして実装され得ないか又は実装され得ることを十分理解されたい。
【００７６】
[0084]すべての実装ではないが、実装の中には、本技法が図１Ａ及び図１Ｂの例示的計算機システムを含む適切な任意の計算機システムにおいて作動する適切な任意の計算装置（単数又は複数）上で実行され得る計算機実行可能命令として具体化され得るものもある。例えば、本明細書に論述した原理のいくつか又はすべてに従った動作技法が、単一の汎用プログラマブルデジタル計算機装置、処理能力を共有し、本明細書に記載した技法を共同実行する２つ以上の汎用連携システム計算機装置、本明細書に記載した技法を実行するために専念する（共同配置又は地理的に分散した）計算機装置、本明細書に記載した技法を実行するための１つ以上の特定用途向け集積回路（ＡＳＩＣ）、本明細書に記載した技法を実行するための１つ以上のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はその他の適切な任意のシステムの単一計算機装置又は連携システム上で作動し得る。
【００７７】
[0085]図８は、本明細書に記載した技法を実装するシステムにおいて使用され得る計算装置（８００）形式の計算装置の一例示的実装を示しているが、別の実装もあり得る。更に、図８は、計算装置が本明細書に記載した原理に従って作動するための必要なコンポーネントの描写も包括的な描写も意図していないことを十分理解されたい。
【００７８】
[0086]計算装置（８００）は、プロセッサー（８０２）、ネットワークアダプター（８０４）、及び計算機可読記憶媒体（８０６）を含み得る。計算装置（８００）は、例えば、デスクトップコンピューター若しくはラップトップパーソナルコンピューター、ワークステーション、サーバー、メインフレーム、又はその他の適切な計算装置であり得る。ネットワークアダプター（８０４）は、計算装置（８００）が、適切な任意の計算ネットワークを介し、適切な別の任意の計算装置と通信可能にするための適切な任意のハードウェア及び／又はソフトウェアである。計算ネットワークは、適切な任意の有線通信媒体及び／又は無線通信媒体又はインターネットを含む２台以上の計算機の間のデータ交換用媒体であり得る。実装の中にはネットワークアダプター（８０４）が、個別の２つ以上のネットワークアダプターとして実装され得、２つ以上のタイプのネットワークインターフェース（例えばイーサネット（登録商標）アダプターのような有線ネットワークアダプター及びＩＥＥＥ８０２．１１ｇアダプターのような無線ネットワークアダプター）を介し接続性を提供し得るものもある。計算機可読媒体（８０６）は、プロセッサー（８０２）によって処理されるデータ及び／又は実行される命令をストアするように適合され得る。プロセッサー（８０２）が、データ処理及び命令実行を可能にする。データ及び命令が、計算機可読記憶媒体（８０６）上にストアされ得、例えば、計算装置（８００）のコンポーネント間で通信可能になる。
【００７９】
[0087]計算機可読記憶媒体（８０６）上にストアされるデータ及び命令は、本明細書に記載した原理に従った動作技法を実装する計算機実行可能命令を含み得る。図８の例において、計算機可読媒体（８０６）は、前述したような様々なモジュールを実装し、様々な情報をストアしている計算機実行可能命令をストアする。計算機可読媒体（８０６）は、図２に関連し前述したようなネットワーク識別プロセスを実装し得るネットワーク識別モジュール（８０８）、及び図３に関連し前述したような接続プロセスを実装し得る接続モジュール（８１０）をストアする。計算機可読媒体（８０６）は更に、ネットワークポリシー（例えば接続ポリシー及びセキュリティポリシー）を生成及び／又は管理するためのポリシーモジュール（８１２）を含み得る。ユーザーインターフェース（８１４）は、計算装置（８００）又はその他の計算装置の表示装置に表示するための計算機可読媒体（８０６）にもストアされ得る。ユーザーインターフェース（８１４）は、図７Ａのユーザーインターフェース（７００）の例に従って実装され得るユーザーインターフェースか又はその他の適切な任意のユーザーインターフェースであり得る。計算機可読媒体（８０６）は更に、ネットワークに対する接続前、又は以前のネットワーク若しくは現在のネットワークに対する接続から計算装置（８００）によってネットワークからリトリーブされたネットワークに関する情報をストアしていて、計算装置（８００）の接続に適用され得るポリシー（例えば接続ポリシー及び／又はセキュリティポリシー）に関する情報をストアするための接続データストア及びポリシーデータストア（８１６）を含み得る。ＡＰＩ（８１８）は計算機可読媒体（８０６）にもストアされ得、ネットワーク情報消費部（例えばユーザーインターフェース（８１４）、又は計算装置（８００）若しくは別の計算装置の上で実行しているプロセス）は、情報を提供し、識別モジュール（８０８）、接続モジュール（８１０）、及び／又はポリシーモジュール（８１２）など、１つ以上のモジュールから情報をリクエストし、又は接続及びポリシーストア（８１６）に情報をストアするか又はそこから情報をリクエスト可能にする。
【００８０】
[0088]本明細書に記載した原理に従った動作技法を実装するモジュールが、適切な任意の方法で対話し得る。図９は、本明細書に記載したいくつかの原理に従って実装され得るモジュールの一例示的構造を示している。
【００８１】
[0089]図９の例において、識別モジュール（９００）は、識別された目的ネットワークに関する情報のような情報を記憶モジュール（９０４）との対話を介しデータストアにストアするように適合され得る。ユーザーインターフェース（９０６）は、例えば、記憶モジュール（９０４）とも対話し得、識別された目的ネットワークに関する情報をリトリーブし、それをユーザーインターフェース内でユーザーに表示し得る。ポリシーモジュールは、記憶モジュール（９０４）によって管理される１つ以上のデータストアに生成されストアされているポリシーに関する情報をリトリーブするように記憶モジュール（９０４）と対話するように適合され得、更に、データストアにストアされるように記憶モジュール（９０４）へポリシーに関する情報を送信するように適合され得る。接続モジュール（９１０）は、記憶モジュール（９０４）と通信するように適合され得、例えば、接続ポリシーに関する情報をリトリーブし、識別されたネットワーク及び識別されたそれらのネットワークに対するアクセスを提供している対象のネットワークインターフェースに関する情報をリトリーブする。ＡＰＩモジュール（９０２）は、別のモジュールそれぞれとも対話するように実装され得、実装の中には、モジュール間の通信能力を提供するか、又は外部のネットワーク情報消費部（例えば（管理者を含む）ユーザー及び／又はネットワークプログラムアプリケーションなどのプロセス）からモジュールに対するアクセスを提供し得るものある。
【００８２】
[0090]図９に示されている例示的モジュールの構造は、本明細書に記載した技法のいくつかに従って実装され得る、単なる例示的タイプのモジュールであり得、別の構造があり得ることを十分理解されたい。例えば、図９に示されているモジュールすべては、単一モジュールとして実装されるか又は示したモジュールの１つ以上の機能性が、示した別のモジュールの１つ以上の機能性の一部として実装され得る。更に、示したモジュール間の相互作用は、本明細書に記載した１つ以上の原理に従って実装され得る、単なる例示的なタイプの相互作用であり得、別の実装がより多いか又はより少ないモジュールの間の相互作用を提供し得る。
【００８３】
[0091]本発明の様々な態様は、単独か又は上記説明した実施形態において明確に論述されていない様々な組み合わせ構造で使用され得、したがってそのアプリケーションは、上記説明に明記した構成部品又は図面に例示した構成部品詳細及び構造に限定されない。例えば、一実施形態において説明した態様は、別の実施形態において説明した態様を用いた任意の方法で結合され得る。
【００８４】
[0092]請求要素を変更するための請求項の「第１の」「第２の」「第３の」などのような序数用語の使用は、それ自体によって任意の優先順位、優先権、又は別に請求項目に対する一請求項目の順番、又は実行する方法動作の一時的な順番を暗示しているのではなく、同一名を有する別の請求項目（であるが序数用語を使用するために）一定の名前を有する一請求項目をそれと区別するための単なるラベルとして使用されている。
【００８５】
[0093]また、本明細書に使用されている表現及び専門用語は説明の目的であって、限定するものとして見なされるべきでない。本明細書において「含む」、「構成する」又は「有する」、「包含する」、「関与する」、及びその変形の使用は、その後、掲載される項目及びその同等物、並びに付加的項目を包含することを意味している。
【００８６】
[0094]このように、本発明の少なくとも一実施形態の態様のいくつかを説明しているが、様々な変更、修正、及び改良が容易に当業者に浮かぶことが理解されよう。そのような変更、修正、及び改良が本開示の一部であるように意図していて、本発明の趣旨及び範囲内にあるように意図している。したがって上記の説明及び図面は、例によるものに過ぎない。
【符号の説明】
【００８７】
１００    通信ネットワーク
１０２    計算装置
１０４    ＶＰＮインターフェース
１０４’  別のＶＰＮインターフェース
１０６    無線機器
１０８    機器
１１０    ネットワーク機器
１１２    データストア
１２０    計算装置
１２２    機器
１２４    通信ネットワーク
７００    ユーザーインターフェース
７０２    利用可能なネットワーク一覧
７０４    接続ボタン
７０６    ポリシーボタン
７２０    ユーザーインターフェース
７２２    利用可能なネットワーク一覧
７２４    接続ボタン
７２６    ポリシーボタン
８００    計算装置
８０２    プロセッサー
８０４    ネットワークアダプター
８０６    計算機可読記憶媒体
８０８    ネットワーク識別モジュール
８１０    接続モジュール
８１２    ポリシーモジュール
８１４    ユーザーインターフェース
８１６    接続及びポリシーストア
８１８    ＡＰＩ
９００    識別モジュール
９０２    ＡＰＩモジュール
９０４    記憶モジュール
９０６    ユーザーインターフェース
９０８    ポリシーモジュール
９１０    接続モジュール
【図１Ａ】
0005782484.tif 000002
【図１Ｂ】
0005782484.tif 000003
【図２】
0005782484.tif 000004
【図３】
0005782484.tif 000005
【図４】
0005782484.tif 000006
【図５】
0005782484.tif 000007
【図６】
0005782484.tif 000008
【図７Ａ】
0005782484.tif 000009
【図７Ｂ】
0005782484.tif 000010
【図８】
0005782484.tif 000011
【図９】
0005782484.tif 000012