(57)【要約】  複数の通信インタフェース（２２５）を有するモバイルデバイス（１１０）をコンフィグレーションするための方法が提供される。第１のリモートネットワーク（１２０）への初期接続を確立するために前記通信インタフェース（２２５）のうちの第１の通信インタフェースが選択される。前記モバイルデバイス（１１０）のユーザに対して、前記選択された第１の通信インタフェース（２２５）に関連するコンフィグレーション情報の問い合わせが行われる。前記第１の通信インタフェース（２２５）を介して前記モバイルデバイス（１１０）が前記第１のリモートネットワーク（１２０）に接続される。前記第１の通信インタフェース（２２５）に関連するコネクティビティが失われたことが特定される。第２のリモートネットワーク（１２０）への第２の接続を確立するために前記通信インタフェース（２２５）のうちの第２の通信インタフェースが選択される。前記モバイルデバイス（１１０）の前記ユーザに対して、前記選択された第２の通信インタフェース（２２５）に関連するコンフィグレーション情報の問い合わせが行われる。前記第２の通信インタフェース（２２５）を介して前記モバイルデバイス（１１０）が前記第２のリモートネットワーク（１２０）に接続される。
2010505347.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信インタフェース（２２５）を有するモバイルデバイス（１１０）をコンフィグレーションするための方法であって、
第１のリモートネットワーク（１２０）への初期接続を確立するために前記通信インタフェース（２２５）のうちの第１の通信インタフェースを選択するステップと、
前記選択された第１の通信インタフェース（２２５）に関連するコンフィグレーション情報を、前記モバイルデバイス（１１０）のユーザに問い合わせるステップと、
前記第１の通信インタフェース（２２５）を介して前記モバイルデバイス（１１０）を前記第１のリモートネットワーク（１２０）に接続するステップと、
前記第１の通信インタフェース（２２５）に関連するコネクティビティが失われたことを特定するステップと、
第２のリモートネットワーク（１２０）への第２の接続を確立するために前記通信インタフェース（２２５）のうちの第２の通信インタフェースを選択するステップと、
前記選択された第２の通信インタフェース（２２５）に関連するコンフィグレーション情報を、前記モバイルデバイス（１１０）の前記ユーザに問い合わせるステップと、
前記第２の通信インタフェース（２２５）を介して前記モバイルデバイス（１１０）を前記第２のリモートネットワーク（１２０）に接続するステップと、を含む方法。
【請求項２】
前記通信インタフェース（２２５）のうちの前記第１の通信インタフェースを選択するステップは、インタフェースタイプに基づくデフォルト階層を使用して前記通信インタフェース（２２５）のうちの前記第１の通信インタフェースを選択するステップを含む、請求項１に記載の方法。
【請求項３】
前記第１の通信インタフェースおよび前記第２の通信インタフェース（２２５）をコンフィグレーションするために前記モバイルデバイス（１１０）の前記ユーザに問い合わせるステップは、前記モバイルデバイス（１１０）の位置に関して前記ユーザに問い合わせるステップを更に含む、請求項１に記載の方法。
【請求項４】
前記第１の通信インタフェースおよび前記第２の通信インタフェース（２２５）に関して前記ユーザの接続パターンを特定するステップと、
前記接続パターンを自動化すべきかどうかを決定するために前記ユーザに問い合わせるステップと、
前記問い合せに応じて前記接続パターンを自動化するステップと、を更に含む請求項１に記載の方法。
【請求項５】
前記接続パターンは、前記第１の通信インタフェースおよび前記第２の通信インタフェース（２２５）の１つに関連する、プリンタの選択、プロキシ設定の選択、または仮想プライベートネットワークの選択のうちの１つに関するものである、請求項４に記載の方法。
【請求項６】
モバイルデバイス（１１０）であって、
複数の通信インタフェース（２２５）と、
前記通信インタフェース（２２５）に結合され、通信マネージャ（２６０）を実装するために動作可能なプロセッサ（２００）とを備え、前記通信マネージャ（２６０）は、
第１のリモートネットワーク（１２０）への初期接続を確立するために前記通信インタフェース（２２５）のうちの第１の通信インタフェースを選択し、
前記選択された第１の通信インタフェース（２２５）に関連するコンフィグレーション情報を、前記モバイルデバイス（１１０）のユーザに問い合わせ、
前記第１の通信インタフェース（２２５）を介して前記モバイルデバイス（１１０）を前記第１のリモートネットワーク（１２０）に接続し、
前記第１の通信インタフェース（２２５）に関連するコネクティビティが失われたことを特定し、
第２のリモートネットワーク（１２０）への第２の接続を確立するために前記通信インタフェース（２２５）のうちの第２の通信インタフェースを選択し、
前記選択された第２の通信インタフェース（２２５）に関連するコンフィグレーション情報を、前記モバイルデバイス（１１０）の前記ユーザに問い合わせ、
前記第２の通信インタフェース（２２５）を介して前記モバイルデバイス（１１０）を前記第２のリモートネットワーク（１２０）に接続するように動作可能である、デバイス（１１０）。
【請求項７】
前記通信マネージャ（２６０）は、インタフェースタイプに基づくデフォルト階層を使用して前記通信インタフェース（２２５）のうちの前記第１の通信インタフェースを選択するように動作可能である請求項６に記載のデバイス（１１０）。
【請求項８】
前記通信マネージャ（２６０）は、前記モバイルデバイス（１１０）の位置に関して前記ユーザに問い合わせるように動作可能である、請求項６に記載のデバイス（１１０）。
【請求項９】
前記通信マネージャ（２６０）は、
前記第１の通信インタフェースおよび前記第２の通信インタフェース（２２５）に関して前記ユーザの接続パターンを特定し、
前記接続パターンを自動化すべきかどうかを決定するために前記ユーザに問い合わせ、
前記問い合せに応じて前記接続パターンを自動化するように動作可能である、請求項６に記載のデバイス（１１０）。
【請求項１０】
前記接続パターンは、前記第１の通信インタフェースおよび前記第２の通信インタフェース（２２５）の１つに関連する、プリンタの選択、プロキシ設定の選択、または仮想プライベートネットワークの選択のうちの１つに関するものである、請求項９に記載のデバイス（１１０）。
【発明の詳細な説明】
【背景技術】
【０００１】
本発明は、一般に、通信システムに関し、より詳細には、先送りコンフィグレーション（deferred configuration）法を実装するように動作可能な接続マネージャに関する。
【０００２】
近年、ネットワーク通信は著しく進化を遂げ、ビジネスネットワークまたは組織ネットワークなどのプライベートなネットワーク、あるいはインターネットなどのパブリックネットワークにアクセスするさまざまな選択肢がユーザに与えられている。一般に、各通信方式では、大規模なネットワークにアクセスするために、何らかのリモートインタフェースに接続するモバイルデバイスが使用される。例えば、ユーザは、有線または無線の通信方式を使用して、ネットワーク接続を確立しうる。代表的な有線接続方式には、ネットワークルータ、ハブ、またはスイッチへのイーサネット接続、ケーブルモデム接続、デジタル加入者線（ＤＳＬ）モデム接続、ダイヤルアップモデム接続などがある。代表的な無線接続方式には、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）接続、ワイヤレスワイドエリアネットワーク（ＷＷＡＮ）接続、ワイヤレスパーソナルエリアネットワーク（ＷＰＡＮ）接続などがある。更に、これらの通信方式が併用されてもよい。例えば、ユーザが、ホーム環境において、ＷＬＡＮまたはＷＰＡＮを介して、有線接続（ケーブルモデムなど）または無線接続を介してインターネットに接続されている別のデバイスに接続しうる。
【０００３】
多種多様な接続の選択肢によって、ユーザは、柔軟性を与えられ、ほぼどこにいてもネットワークに接続できるようになる。ユーザがイーサネット接続またはＷＬＡＮ接続を確立することができない場所では、ＷＷＡＮ（すなわち、セルラーネットワーク経由）を確立することができる。しかし、このような柔軟性には犠牲が伴う。ユーザが、各通信サービスをコンフィグレーションおよび管理しなければならない。一般に、通信方式ごとに、別のアカウントユーザＩＤまたはパスワードが要求される。また、コンフィグレーションは場所に固有である。接続がホーム、オフィスまたはパブリックのいずれの環境と対応しているかによって、異なるパラメータが指定されることがある。パブリック環境は、トラステッド（信頼済み：trusted）のこともあれば、アントラステッド（untrusted）のこともある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
代表的なコンフィグレーションウィザードまたはインストールスクリプトは、接続に関してユーザにさまざまな質問をする、複雑で時間のかかる手順を実施する。ユーザが、ある時点で全ての質問に答えられるとは限らない。更に、コンフィグレーションのオプションが、場所に固有なことがあるため、ユーザが、要求されている情報を入手することができないか、あるいは接続の設定のテストに当該設備が使用できないこともある。ユーザは、このような制限のため、複数の場所で何度もコンフィグレーション手順を実行しなければならないこともあり、コンフィグレーションに長い時間がかかり、ユーザを更に混乱させて、その不満を増長させることがある。また、接続の１つ以上が適切に機能していない場合に、ユーザが適切なテクニカルサポートの連絡先を見つけることが困難である。例えば、モバイルデバイスの供給元のテクニカルサポートの連絡先が、ユーザが接続の問題を診断して解決する助けにならないことがある。
【０００５】
一般に、任意の時点で、モバイルデバイスで１つ以上の通信方式が利用可能なことがある。ユーザに特定の通信方式を手動で選択するように求める代わりに、通信方式の選択処理を自律的に管理しようとする各種のツールが開発されている。このような通信管理ツールは、通常、接続を選択するための各種の明確なルールまたは発見的方法（heuristic）を使用している。例えば、帯域幅が最大の接続あるいは信号強度が最強の接続が選択されうる。イーサネットなど有線接続が利用可能な場合には、これがデフォルトで選択されうる。
【０００６】
このような接続ルールは、接続が常に利用可能であることを必ずしも保証するものではない。例えば、選択された接続がユーザにログインまたはパスワード情報の入力を求める場合、接続の設立が遅れることがある。
【０００７】
また、各方式で利用可能な帯域幅のほかに、各方式の利用コストが変動することがある。帯域幅の変動は、ユーザがリモートデバイスで実行するアプリケーションのパフォーマンスに影響しうる。例えば、アプリケーションのなかには、広い帯域幅が効率的に機能していることを必要とするものがある。このようなアプリケーションが、狭帯域幅の接続がアクティブになっている間に実行されていると、アプリケーションのパフォーマンスが低下し、その結果、ほかの並列アプリケーションの動作が低下してしまうこともある。従量制（usage-based）の接続の場合、帯域幅を多量に消費するアプリケーションの動作が、ユーザのサービス使用料の請求額に大きく影響することがある。
【０００８】
一部のアプリケーションは、バックグラウンドアプリケーションとして分類でき、このようなアプリケーションは、一般に、ユーザと直接インタラクトせずに動作する。バックグラウンドアプリケーションは、レーテンシの増大の影響を受けにくいことがある。しかし、ユーザのインタラクションを必要とするアプリケーションは、データ転送の遅延により悪影響を受けることがある。ユーザがリモートの通信先と情報を交換している場合に、遅延の増大によりユーザの効率が低下することがある。別のアプリケーションでは、レーテンシの増大の影響を非常に受けやすい。例えば、リアルタイムでビデオまたは音声を転送するアプリケーションでは、レーテンシが許容されない。脱落したパケットは再転送できず、ビデオまたは音声の品質が回復できないレベルに低下してしまう。例えば、ユーザがボイスオーバーＩＰ（ＶｏＩＰ）セッションを使用してリモートの通話先と通話している場合、レーテンシの増大により、通話者同士が互いの声を聴き取れなかったり、セッションがドロップすることがある。
【０００９】
特定のアプリケーションは、効率的に動作するために特定の速度のコネクティビティを必要とする。しかし、コネクティビティが自動的に管理されるため、ユーザは、コネクティビティに依存するこのようなアプリケーションを実行するタイミングがわからない。また、スケジューリングされた時間にコネクティビティが利用できないことがあるため、時限スケジューリングは実用的ではない。従来のスケジューラは、モバイルデバイスがバッテリで駆動されている場合にアプリケーションを単にブロックするだけである。
【００１０】
異種接続の使用に関連するその他の問題として、各接続タイプに伴う消費電力がある。ある接続は、望ましい高帯域幅を有するものの、この接続様式（modality）は、モバイルデバイスから大きな処理パワーを必要とし、これにより、バッテリ寿命を大幅に縮めてしまうことがある。また、大量のデータ転送を必要とするアプリケーションは、接続に負荷を与えるため、かなりの量の処理リソースを消費し、これにより、バッテリ寿命を縮めてしまうこともある。
【００１１】
本文書の本セクションでは、下記に記載および／または特許を請求する本発明の各種の態様と関連しうる各種の技術の態様を紹介することを意図している。本セクションは、本発明の各種の態様をよりよく理解できるように、背景情報を提供する。本文書の本セクションの記載はこの点に鑑みて読むべきであり、先行技術の自認ではないことを理解すべきである。本発明は、上記の問題の１つ以上を解決するか少なくとも軽減することを狙ったものである。
【課題を解決するための手段】
【００１２】
以下では、本発明の一部の態様の基本を理解できるように、本発明の概要を説明する。この概要は、本発明のすべてを概観するものではない。本発明の主要または重要な要素を特定したり、本発明の範囲を詳細に記載することを意図するものでもない。その唯一の目的は、後述する詳細な説明に先だって、概念の一部を簡潔に示すことにある。
【００１３】
本発明の一態様は、複数の通信インタフェースを有するモバイルデバイスをコンフィグレーションするための方法に見出される。第１のリモートネットワークへの初期接続を確立するために前記通信インタフェースのうちの第１の通信インタフェースが選択される。前記モバイルデバイスのユーザに対して、前記選択された第１の通信インタフェースに関連するコンフィグレーション情報の問い合わせが行われる。前記第１の通信インタフェースを介して前記モバイルデバイスが前記第１のリモートネットワークに接続される。前記第１の通信インタフェースに関連するコネクティビティが失われたことが特定される。第２のリモートネットワークへの第２の接続を確立するために前記通信インタフェースのうちの第２の通信インタフェースが選択される。前記モバイルデバイスの前記ユーザに対して、前記選択された第２の通信インタフェースに関連するコンフィグレーション情報の問い合わせが行われる。前記第２の通信インタフェースを介して前記モバイルデバイスが前記第２のリモートネットワークに接続される。
【００１４】
本発明の別の態様は、複数の通信インタフェースとプロセッサとを有するモバイルデバイスに見出される。前記プロセッサは、前記通信インタフェースに結合され、接続マネージャを実装するように動作可能である。前記接続マネージャは、第１のリモートネットワークへの初期接続を確立するために前記通信インタフェースのうちの第１の通信インタフェースを選択し、前記選択された第１の通信インタフェースに関連するコンフィグレーション情報を、前記モバイルデバイスのユーザに問い合わせ、前記第１の通信インタフェースを介して前記モバイルデバイスを前記第１のリモートネットワークに接続し、前記第１の通信インタフェースに関連するコネクティビティが失われたことを特定し、第２のリモートネットワークへの第２の接続を確立するために前記通信インタフェースのうちの第２の通信インタフェースを選択し、前記選択された第２の通信インタフェースに関連するコンフィグレーション情報を、前記モバイルデバイスの前記ユーザに問い合わせ、前記第２の通信インタフェースを介して前記モバイルデバイスを前記第２のリモートネットワークに接続するように動作可能である。
【図面の簡単な説明】
【００１５】
【図１】本発明の例示的な一実施形態による通信システムの簡略ブロック図。
【図２】図１のシステムにおけるモバイルデバイスの簡略ブロック図。
【図３】モバイルデバイスをコンフィグレーションするための方法の簡略フローチャート。
【図４】モバイルデバイスの位置を特定するための方法の簡略フローチャート。
【図５】高速コネクトプロセスを実装する方法の簡略フローチャート。
【図６Ａ】通信負荷を管理するための方法の簡略フローチャート。
【図６Ｂ】通信負荷を管理するための方法の簡略フローチャート。
【図７】電力状態の変化に対処するための方法の簡略フローチャート。
【図８】モバイルデバイスに関する問題を診断して、ユーザを適切なテクニカルサポートの連絡先に誘導するための方法の簡略フローチャート。
【図９】コネクティビティの必要条件に基づいてタスクをスケジューリングするための方法の簡略フローチャート。
【図１０】ブランド化接続ウィンドウを示す図。
【図１１】モバイルデバイスによってアクセスされる中央接続マネージャポータルの代表的なスクリーン表示を示す図。
【発明を実施するための形態】
【００１６】
以下、添付の図面を参照して本発明について記載する。図面において同じ参照符号は同じ要素を参照している。
【００１７】
本発明は、種々の変形および代替形態を取り得るが、その特定の実施形態が、図面に例として図示され、ここに詳細に記載されているに過ぎない。しかし、この特定の実施形態の詳細な説明は、本発明を開示した特定の形態に限定することを意図するものではなく、反対に、添付の特許請求の範囲によって規定される本発明の趣旨ならびに範囲に含まれる全ての変形例、均等物および代替例を含むことを理解すべきである。
【００１８】
本発明の１つ以上の特定の実施形態について以下に記載する。本発明は、本明細書に含まれる実施形態および説明に限定されることはなく、実施形態の一部の変形や、異なる実施形態の要素の組み合せなどの、これらの実施形態の変形例も添付の請求項の範囲に含まれることが特に意図される。当然、エンジニアリングや設計のプロジェクトと同様に、実際の実装の開発においては、システム上の制約およびビジネス上の制約に適合させるなど、開発の具体的な目的を達成するために、実装に固有の判断が数多く必要とされ、これは実装によって変わるということが理解される。更に、この種の開発作業は複雑かつ時間がかかるものでありうるが、本開示の利益を受ける当業者にとって、設計、作製および製造の日常的な作業であるということが理解されよう。「決定的」または「必須」と明記されていない限り、本願のあらゆるものを、本発明の決定的または必須なものであるとみなすべきではない。
【００１９】
添付の図面を参照して本発明を説明する。説明のみを目的として、当業者に知られている細かい点を説明して本発明をわかりにくくすることのないように、さまざまな構造、システムおよびデバイスが、図面で模式的に示されている。しかし、本発明の例示的な例を記載および説明するために、添付の図面を添付する。本明細書において使用される語句は、関連技術の当業者が理解している意味と同じ意味に使用されていると理解および解釈すべきである。本明細書においてある語句が矛盾なく用いられている場合、その語句が特別な定義を有する、すなわち通常かつ慣用的に用いられ、当業者が理解している意味と異なる定義を有することはない。ある語句が特別な意味を有する、すなわち当業者の理解とは異なる意味に用いられる場合は、そのような特別な定義は本明細書に明示的に記載して、その特別な定義を直接的かつ明確に示す。
【００２０】
次に図面を参照すると、図面においては、すべての図面にわたって、同じ参照番号は同様の構成要素を参照している。具体的には図１を参照すると、本発明を、通信システム１００を採り上げて記載する。通信システム１００には、複数の通信ネットワーク１２０とインタフェースしているモバイルデバイス１１０が含まれる。このような通信ネットワークには、例えば、ＥＶＤＯ（Evolution-Data Optimized）、ＨＳＤＰＡ（High Speed Downlink Packet Access）、その他の第三世代（３Ｇ）セルラ技術、ＧＳＭ（Global System for Mobile Communications）、ＣＤＭＡ（符号分割多重アクセス方式）、その他の第二世代（２Ｇ）セルラ技術、ＷｉＭＡＸ（Worldwide Interoperability for Microwave Access）、ワイヤレスブロードバンド（ＷｉＢｒｏ）などのワイヤレスワイドエリアネットワーク（ＷＷＡＮ）１３０がある。また、ＩＥＥＥ  ８０２．１１、Ｗｉ−Ｆｉなどのワイヤレスパーソナルエリアネットワーク（ＷＰＡＮ）１５０、ブルートゥース（登録商標）、ＩＥＥＥ  ８０２．１６ａ、ウルトラワイドバンド（ＵＷＢ）などのワイヤレスローカルエリアネットワーク（ＷＬＡＮ）１４０、イーサネットネットワーク１６０などもある。各通信ネットワーク１２０は、パブリックネットワーク１７０（例えばインターネット）またはプライベートネットワーク１８０（例えば組織ネットワーク）と直接または間接的にインタフェースすることができる。
【００２１】
仮想専用ネットワーク（ＶＰＮ）接続などの仮想接続１９０が、例えばモバイルデバイス１１０とリモートの相手先（例えばプライベートネットワーク１８０）との間に確立されうる。仮想接続１９０は、通信ネットワーク１２０のうちの１つによって確立されうる。例えば、ユーザが、オフィス環境の外で作業するときに、社員ネットワークにＶＰＮ接続を確立しうる。
【００２２】
パブリックネットワーク１７０を介してモバイルデバイス１１０によってアクセス可能なリモートサーバ１９５が提供されうる。後で更に詳しく説明するように、モバイルデバイス１１０は、リモートサーバ１９５にアクセスして、各種ネットワーク１２０，１７０，１８０とインタラクトするために、モバイルデバイス１１０をコンフィグレーションすることに関連する各種のサービスを利用しうる。
【００２３】
次に図２を手短に参照すると、モバイルデバイス１１０のブロック図が示される。モバイルデバイス１１０は、プロセッサ２００、メモリ２０５（例えば、ランダムアクセスメモリまたはフラッシュメモリ）、ストレージデバイス２１０（例えば、ハードディスク、フラッシュメモリ、光学式ドライブなど）、ディスプレイ２１５（例えばモニタ）、ヒューマンインタフェース２２０（例えば、キーボード、キーパッド、タッチスクリーン、マウスなど）、および複数の通信インタフェース２２５を有する。メモリ２０５および／またはストレージデバイス２１０は、通常、プロセッサ２００によって実行される、ユーザアプリケーション、オペレーティングシステム２２７、システム接続マネージャ２２８、スケジューラ２２９、デバイスドライバなどの各種ソフトウェアアプリケーションを記憶している。モバイルデバイス１１０は、ノートブックコンピュータ、デスクトップコンピュータ、個人情報端末（ＰＤＡ）、携帯電話などの各種のハードウェアに実装されうるが、これらに限定されない。「モバイルデバイス１１０」との用語は、デバイスが携帯可能であることを必ずしも意味するとは限らず、さまざまな環境で使用できることを意味する。モバイルデバイス１１０内の構成要素の具体的な接続および配置は、特定のバスアーキテクチャを示すものではなく、単に、モバイルデバイスで一般的に使用されているユニットのタイプを示すに過ぎない。
【００２４】
通信インタフェース２２５の個数とタイプは、特定の実現に応じて変わりうる。提供されうる例示的な通信インタフェース２２５には、ＷＷＡＮモデム２３０、ＷＬＡＮモデム２３５、ＬＡＮデバイス２４０、ＷＰＡＮデバイス２４５および音声帯域モデム２５０（例えばＶ９０）などがある。通信インタフェース２２５を介してさまざまな通信ネットワーク１２０，１７０，１８０への接続を実装するために必要な各種のプロトコルは当業者に公知であり、簡潔を期するためと、本願をわかりにくくすることのないように、本明細書で詳しく説明することはしない。
【００２５】
モバイルデバイス１１０は、各種の通信インタフェース２２５を管理して、所定の時点でアクティブにすべき接続を決定する接続マネージャ２６０（例えばソフトウェアアプリケーション）を実装する。一般に、接続マネージャ２６０は、利用可能性、帯域幅、ユーザのプリファレンス（好み：reference）、アプリケーションの要件、モバイルデバイスのリソースなどを評価して、特定の通信インタフェース２２５を選択する。接続マネージャ２６０は、オペレーティングシステム２２７および／またはデバイスドライバとインタフェースして、各種の通信インタフェース２２５を有効または無効にし、コネクティビティを確立する。
【００２６】
次に表１を参照すると、接続マネージャ２６０は、各通信インタフェース２２５に関連するデータを保持している。このようなパラメータは、接続マネージャ２６０が使用するために、接続データベース２７０またはその他のデータ構造に記憶されうる。各種のパラメータの具体的な使用については、後で更に詳しく説明する。表１に示すように、接続マネージャ２６０は、接続名、接続技術のタイプ、位置（ＬＯＣ）、コンフィグレーションフラグ（ＣＦＧ）、帯域幅（ＢＷ）、接続時間（ＣＴ）、ユーザとのインタラクション要否フラグ（ＵＩ）、高速コネクト利用可能フラグ（ＦＣ）、電力特性（ＰＣ）、熱特性（ＴＣ）、ベンダ名、テクニカルサポートの連絡先（ＴＳＣ）情報、無視フラグなどに関連するデータを、接続データベース２７０に記憶しうる。
【００２７】
特定のデータは、接続マネージャ２６０によって収集された履歴データ、ユーザが指定したパラメータ、または予想される特性に基づく静的パラメータに基づくものであってもよい。例えば、接続マネージャ２６０によって接続時間または帯域幅がモニタされて平均値が算出されるか、あるいは通信インタフェース２２５のコンフィグレーション中に予測値が指定されうる。所定の接続タイプに対して複数のエントリが存在してもよい。例えば、第１のＷＬＡＮ接続はホームワイヤレスネットワークであり、第２のＷＬＡＮ接続はオフィスワイヤレスネットワークであってもよい。各通信インタフェース２２５に関連する特定のデータが、特定の実装によっては変わることがある。本発明のアプリケーションは、表１に記載されている特定のパラメータに限定されない。
【表１】
2010505347.tif 000003
【００２８】
一般に、接続マネージャ２６０は、コネクティビティおよびコンフィグレーションを自動的に管理することにより、ユーザの操作性を簡略にする（simplify the user experience）機能を提供する。通常、モバイルデバイス１１０は、ホーム、オフィスまたはパブリック（トラステッドまたはアントラステッド）などのさまざまな環境で使用され、これらは、それぞれ別個のコンフィグレーションを有し、利用可能な通信ネットワーク１２０が異なる。後で更に詳しく説明するように、接続マネージャ２６０は、通信インタフェース２２５のコンフィグレーションと、ネットワークサービスを使用して接続可能なサービスとに関する各種のデータにアクセスするために、リモートサーバ１９５とインタフェースしうる。
【００２９】
接続マネージャ２６０は、通信インタフェース２２５の１つ以上を使用して、アクティブな接続を常時維持しようとするが、モバイルデバイス１１０ではじめてアクティブにされるときに、無数のコンフィグレーションのオプションを提示して、ユーザに過度の負担を掛けないようにする。このため、接続マネージャ２６０は、従来の負担の大きい（intensive）インストールウィザードまたはスクリプトを使用せずに済むようにする、先送りコンフィグレーション法を実装する。
【００３０】
この例では、ユーザがシステムをはじめて起動するときに、通信インタフェース２２５のいずれも以前にコンフィグレーションされていないとする。接続マネージャ２６０は、通信インタフェース２２５を調べ、コネクティビティを有する可能性のあるインタフェース（存在する場合）を決定する。接続マネージャ２６０は、存在していそうな接続に基づいて、そのうちの１つを初期コンフィグレーションのために選択する。例えば、接続マネージャ２６０は、ＬＡＮデバイス２４０がイーサネットネットワーク１６０に接続されていると判定すると、初期コネクティビティデバイスとしてＬＡＮデバイス２４０を選択しうる。
【００３１】
初期接続の選択は、さまざまな要因に基づいて行われうる。一部の実施形態では、デフォルトの接続優先度の階層が使用されうる。例えば、デフォルトの階層は、ＬＡＮ、ＷＬＡＮ、ＷＷＡＮ、ＷＰＡＮなどである。別の実施形態では、利用可能な接続のリストがユーザに提示され、そこからユーザが初期接続の優先度を選択してもよい。接続マネージャ２６０は、初期コンフィグレーション中に、選択された初期接続に関連するコンフィグレーションに関してユーザに質問してもよい。例えば、ユーザＩＤおよび／またはパスワードが要求されることがある。また、接続マネージャ２６０は、モバイルデバイス１１０の現在の位置（例えば、ホーム、オフィス、トラステッドパブリックまたはアントラステッドのパブリック）に関連する環境をユーザに質問しうる。一般に、トラステッドパブリックネットワークは、アントラステッドパブリックネットワークよりも選択の優先権が高い。例えば、アントラステッドパブリックネットワークでは、セキュリティまたは識別情報のチェックが行われないことがある。
【００３２】
接続マネージャ２６０は、第１の接続の初期コンフィグレーション後に、コンフィグレーションウィザードを終了して、必要な場合（すなわち、コンフィグレーションされた接続が利用できなくなった場合）に、他の通信インタフェース２２５をコンフィグレーションすることも可能であることをユーザに知らせうる。別の実施形態では、コンフィグレーションウィザードを終了する前に、チュートリアル情報を見るか、または１つ以上の追加の通信インタフェース２２５をコンフィグレーションするかを選ぶ選択肢がユーザに与えられうる。
【００３３】
接続マネージャ２６０は、コネクティビティを確立するための初期コンフィグレーション中は、接続を要求するアプリケーションの動作を禁止する。例えば、多くのアプリケーションは、最初に起動されるときに、オンライン更新の使用を可能にしうる。初期コネクティビティを確立するためのコンフィグレーションウィザードが完了する前は、このような更新要求がユーザに提示されることはない。この種の自動更新は、接続が確立された後のある時点で適用されうる。例えば、自動更新が、所定の接続カウント、ログインカウントの後、または所定の時間をおいた後に許可されうる。
【００３４】
後の時点で、初期接続が利用できなくなることがある。例えば、モバイルデバイス１１０の位置が、ホーム環境からオフィス環境またはパブリック環境に変わることがある。接続マネージャ２６０は、コネクティビティが利用できなくなったことを認識すると、コンフィグレーションウィザードを再度起動して、利用可能な接続を特定し、デフォルト階層を使用して、コンフィグレーションする特定の通信インタフェース２２５を選択する。接続マネージャ２６０は、後から行うこの設定中に、位置（例えば、ホーム、オフィス、トラステッドのパブリックまたはアントラステッドのパブリック）についてユーザに質問し、初期接続に関して上で説明したようにコンフィグレーションを完了しうる。この場合も、コネクティビティが再確立されると、チュートリアル画面を表示するか、終了画面を表示するか、更に別の接続をコンフィグレーションする選択肢かをユーザは選択できる。
【００３５】
複数の通信インタフェース２２５のコンフィグレーションを先送りすることにより、ユーザの操作性が簡略化される。ユーザが、追加の通信インタフェース２２５のコンフィグレーションを完了する必要があるのは、コネクティビティが利用できない場合だけである。このため、ユーザによる初期コネクティビティの操作の複雑さが軽減される一方で、接続マネージャ２６０がユーザの接続パターンを学習する。
【００３６】
この点で、接続マネージャ２６０は、コンフィグレーション中、あるいはその後の使用中に、ユーザの接続挙動をモニタして、パターンを特定し、このようなコンフィグレーション変更を自動化しようとする。接続マネージャ２６０は、このような接続パターンを特定するために、常時、あるいは定期的に、オペレーティングシステム２２７とインタフェースしうる。例えば、接続マネージャ２６０は、特定の通信インタフェース２２５の使用中に、特定のプリンタが選択されたことや、ブラウザのプロキシ設定が変更されたことを特定しうる。接続マネージャ２６０は、このような接続パターンを特定すると、特定の通信インタフェース２２５および接続が使用されると、選択を自動的に行うべきかどうかをユーザに問い合わせて判断させる。
【００３７】
接続マネージャ２６０によってモニタされうるほかの接続パターンに、ＶＰＮの使用がある。接続マネージャ２６０は、ＶＰＮクライアントソフトウェアの起動をモニタし、特定の通信インタフェース２２５が同じ位置で使用されるときに、ＶＰＮセッションを自動的に確立すべきかどうかをユーザに問い合わせて判断させる。例えば、ユーザがホームネットワークに接続した後にＶＰＮ接続を起動したときに、接続マネージャ２６０は、ホームネットワークへの接続時にＶＰＮ接続を自動的に起動すべきかどうかをユーザに質問することができる。
【００３８】
接続マネージャ２６０によって実装される先送りコンフィグレーション法について、図３を参照して記載する。方法ブロック３００において、接続マネージャ２６０の最初の起動時（例えば、ユーザがモバイルデバイス１１０を最初に購入して起動する時など）に本方法が開始される。方法ブロック３１０において、接続マネージャ２６０は、利用可能な接続を特定する。方法ブロック３２０において、初期接続が選択される。例えば、初期選択は、事前に定められた階層に基づいて行われても、ユーザからの入力に基づいて行われてもよい。方法ブロック３３０において、ユーザに対して、選択された初期接続のコンフィグレーションデータの問い合わせを行う。代表的なコンフィグレーションデータには、ユーザＩＤ、パスワード、環境（例えば、ホーム、オフィス、トラステッドのパブリック、アントラステッドのパブリック）などがある。接続マネージャ２６０は、方法ブロック３４０においてコネクティビティを確立し、方法ブロック３５０においてコンフィグレーションを終了する。接続マネージャ２６０は、方法ブロック３６０において、その後、コネクティビティが利用できなくなったことを検出し、方法ブロック３１０においてコンフィグレーションウィザードを再び起動する。
【００３９】
ユーザの操作性を簡略にするために接続マネージャ２６０によって使用されうる別の技術として、接続が最初に使用される都度、ユーザに接続の位置を質問することを先送りする方法がある。一般に、接続の選択に使用される発見的手法は、接続に関連する信用のレベルを少なくとも部分的に利用している。例えば、オフィスネットワークは、信用レベルが高い一方で、パブリックネットワークは、トラステッドパブリックネットワークであると特別に指定されていない限り、比較的信用レベルが低い。
【００４０】
モバイルデバイス１１０は、使用時に、コーヒーショップ、図書館、地元の空港、行き先のさまざまな空港、近くの家または職場など、ワイヤレスネットワーク１３０，１４０，１５を検出可能な多くのさまざまなパブリック環境で使用されうる。特定のネットワークは、ビーコン信号を使用してその識別情報をブロードキャストしているため「見える」が、識別情報をブロードキャストしないそれ以外のネットワークは「見えない」。見えないネットワークに接続するためには、接続を試みる必要がある。接続を試みて失敗した場合、そのネットワークは利用できないと考えられる。このため、接続マネージャ２６０は、任意の時点で利用可能な接続を決定する際に、見えないネットワークのそれぞれに接続しようと試み、そのネットワークが利用可能であるかどうかを判定しなければならないことがある。見えないネットワークに接続しようとして失敗する方法は時間がかかり、モバイルデバイス１１０のためにコネクティビティを確立するのに要する時間が長くなってしまうことがある。
【００４１】
接続マネージャ２６０は、接続を確立するための候補のネットワークを決定するために、接続データベース２７０に、以前のネットワークの記録を記憶している。この情報は、位置を、使用されたネットワーク、および特定の位置で使用されないネットワークに結びつけている。接続マネージャ２６０は、新しいネットワークについて、毎回、コンフィグレーションに関して質問して、ユーザを煩わせずに、特定のネットワークのコンフィグレーションが２回以上認識されるまで、問合せを先送りする。例えば、同じネットワークが続けて認識された場合、ユーザがその場所に頻繁に行く可能性が高い。その後、ユーザは、認識されたネットワークコンフィグレーションにより、その位置を指定するように要求されうる。例えば、ユーザは、「パブリック」の一般位置カテゴリを指定して、その位置について、大学または地元の空港など、詳細なサブカテゴリを指定しうる。接続マネージャ２６０は、位置の指定の後に、その特定の位置でユーザのプリファレンスを追跡しうる。
【００４２】
一部の実施形態では、モバイルデバイス１１０は、全地球測位システム（ＧＰＳ）位置追跡機能を備えうる。この場合、モバイルデバイス１１０は、ユーザに対して、位置を指定するように問い合わせることに加えて、またはこれに代えて、プリファレンスの追跡のために物理的位置を自動的に指定することができる。特定のネットワークコンフィグレーションを２回以上認識するまで待つことにより、あるネットワークが出現するたびに、常に同じコンフィグレーションの問合せを行って、ユーザを煩わせることがなくなる。ほかの位置情報が、通信ネットワークから収集されてもよい。例えば、アクセスポイントの信号パワーと位置を決定するためにＷｉ−Ｆｉネットワークに問い合わせることにより、位置が学習されうる。位置情報が、ネットワーク事業者（例えば、電話会社またはセルラネットワークの事業者）によって提供されてもよい。
【００４３】
接続マネージャ２６０は、既知の位置を指定した後は、指定された位置において利用可能なネットワークに加えて、その位置におけるユーザの接続パターンを追跡する。例えば、使用されていないネットワークは、無視フラグをセットすることにより「無視ネットワーク」としてラベルされうる。使用されていないのネットワークを無視すれば、所定の位置において、全ネットワークを表示するのではなく、関連するネットワークのみを表示することにより、ユーザに提示される情報が簡素化される。
【００４４】
接続マネージャ２６０は、特定の位置において、利用可能であると考えられる見えないネットワークを決定するために、時間のかかる接続試行方式を使用する代わりに、位置情報を使用しうる。見えるネットワークは、接続マネージャ２６０が、その位置で無線のコンフィグレーションを短時間で決定するのに役立ちうる。見えるネットワークは、追跡されたネットワークコンフィグレーションおよび利用パターンにより、利用可能な見えないネットワークを示す指標を与える。接続マネージャ２６０が、ある位置でコネクティビティを確立しようとしている場合を考える。接続マネージャ２６０が過去に見えないネットワークに接続した際に検出した見えるネットワークが現在存在しない場合には、接続マネージャ２６０は、他の何らかの手段により最初に初期接続を確立するまで（あるいは高速な接続が全て利用不可能であることがわかるまで）、見えないネットワークへの接続の試みを、適切に優先付け、先送りしうる。
【００４５】
ドロップされた接続も位置を示す適切なヒントとなる点に留意されたい。例えば、モバイルデバイス１１０がオフィスＬＡＮ接続を使用している初期の例を考える。ユーザがモバイルデバイス１１０のドッキングを解除すると、接続がドロップされる。接続マネージャ２６０は、オフィス位置について追跡した以前の利用情報に基づき、オフィスＬＡＮが存在するときには、見えないＷＬＡＮネットワーク１４０が利用できたことを認識する。接続マネージャ２６０は、この情報に基づいて、見えないＷＬＡＮとの接続の確立を優先しうる。一方、オフィスＬＡＮは最後に使用されていたが、モバイルデバイス１１０がスリープサイクルに入り、再びレジュームされた場合には、接続マネージャ２６０は、物理的位置が変化した可能性があるため、見えないＷＬＡＮ１４０が存在するとは考えない。しかし、接続マネージャ２６０は、ほかの見えるＷＬＡＮ１４０を使用して、位置を決定しようと試みる。位置を決定するために、他のネットワークデバイスが使用されうる。例えば、見える３Ｇネットワーク用キャリア、見えるブルートゥース（登録商標）デバイス（例えば、固定位置プリンタまたは自動車）が位置識別情報を提供する。
【００４６】
接続マネージャ２６０は、特定の位置で通常見え、通常使用されるネットワークの記録を保持することによって、ネットワークの変化を認識することができる。例えば、以前に認識された位置に新しいネットワークが出現した場合、ユーザは、この新しいネットワークを使用するか、あるいは無視するかを決定するように求められる。
【００４７】
個々のネットワークのなかには、複数の位置に関連しているものもある。例えば、多くのＷＬＡＮネットワーク１４０は、使いやすいように、多くの位置で同じ識別情報を持っている。多くのサービスプロバイダおよび法人が、複数のネットワーク位置で共通の識別方式を使用している。このため、特定のネットワークが、多くの実際の位置に出現しているが、近くのシグニチャが２回以上（あるいは、ユーザのプリファレンスによって指定されるほかの何らかのしきい値回数）同じように見える場合には、接続マネージャ２６０は、その位置をユーザに問い合わせるのを待つ。
【００４８】
接続マネージャ２６０によって実装される位置学習法について、図４を参照して記載する。方法ブロック４００において、接続マネージャ２６０は、ネットワークコンフィグレーションをモニタする。方法ブロック４１０において、接続マネージャ２６０は、現在のネットワークコンフィグレーションを以前のネットワークコンフィグレーションと比較し、方法ブロック４２０において、現在のネットワークコンフィグレーションが前に存在したかどうかを決定する。
【００４９】
方法ブロック４２０において、現在のネットワークコンフィグレーションが前に存在した場合には、方法ブロック４３０において、接続マネージャ２６０が、位置情報が定義されているかどうかを判定する。位置が定義されていない場合には、方法ブロック４４０において、接続マネージャ２６０はユーザに位置を指定させる。方法ブロック４２０において、現在のネットワークコンフィグレーションが以前にない場合には、方法ブロック４５０において、接続マネージャ２６０は、現在のネットワークコンフィグレーションを記憶し、方法ブロック４００に戻り、そのコンフィグレーションが２回目に認識されるまで、ネットワークコンフィグレーションをモニタする。当然、上記のように、特定のためのしきい値が２を越える値に設定されてもよい。
【００５０】
方法ブロック４４０において、位置が定義されると、方法ブロック４６０において、接続マネージャ２６０は、その定義された位置で利用を追跡する。この利用パターンは、上で説明したように、方法ブロック４７０において、指定された位置における接続の試みの優先順位を決定するために使用されうる。
【００５１】
モバイルデバイス１１０の通常の動作中は、接続マネージャ２６０は、接続データベース２７０に収集した情報を用いて、常時オンのコネクティビティをユーザに提供しようとする。このため、接続マネージャ２６０は、現在は接続がないことを認識した場合には、ユーザの作業に遅れが生じないように、短時間でコネクティビティを確立しようと試みる。接続のないときは、「最良の」ネットワークの選択が接続マネージャ２６０の一番重要な目的であるとは限らず、コネクティビティをできるだけ早く確立することにある。初期コネクティビティが確立された後は、接続マネージャ２６０は、（例えば、コスト、帯域幅、信号強度などのパフォーマンスによる発見的手法に基づいて）利用可能な最良の接続を特定しようとしうる。接続マネージャ２６０は、接続データベース２７０に記憶されている、各利用可能な接続の接続時間に関する情報（すなわち、表１の接続時間および／またはユーザ対話要フラグのフィールド）のほかに、ユーザのプリファレンス（すなわち、表１の高速コネクト利用可能フラグ）を利用して、コネクティビティの確立を試みるための接続の順序を決定する。
【００５２】
一般に、接続がないが、接続が必要であるか望まれている状況では、高速コネクトプロセスが使用される。例えば、デバイスの最初の電源投入時に、各種の機能管理を目的として、パワーアップシーケンス中に接続が必要となることがある。高速コネクトは、接続の取得を迅速に行ない、このためスタートアップシーケンスを早く完了させるのに役立つ。高速コネクトが役立つ別の状況として、ある種の制限機能モードから動作を再開する場合がある。例えば、モバイルデバイス１１０がノートブックコンピュータの場合は、蓋が閉じられると、休眠モードに入る。蓋を再び開けたときに、高速再接続により、短時間で機能を復旧させることが可能となる。高速コネクトが役立つ更に別の状況では、無線ネットワークの使用を禁止している飛行機または他の位置から出る場合がある。例えば、無線デバイスを無効にするためにハードウェアスイッチが作動されうる。制限されたエリアから出る際にスイッチがオンにされると、接続マネージャ２６０は高速コネクト手順を実行しうる。
【００５３】
一般に、接続マネージャ２６０は、追跡している各種通信インタフェース２２５および通信ネットワーク１２０の接続時間に関する情報を記憶している。この情報は、予め決められた予想接続時間の組でも、あるいは接続マネージャ２６０が、実際の接続時間を追跡して、（例えば、平均または加重平均機能を使用して）予想接続時間を求めてもよい。この追跡された接続時間は、秒数の値として記憶されても、相対指標（例えば、極めて高速、高速、普通、低速）として記憶されてもよい。接続優先順位がハードコードされている場合、接続時間は、通信インタフェース２２５が、コネクティビティを確立するために選択すべき順序を示す相対指標として記憶されうる。例えば、ＬＡＮ接続は、通常は極めて高速であるが、ネットワークサービスの一部への、非常に長い遅延経路が存在する場合には遅くなることがある。３Ｇ  ＷＷＡＮネットワーク１３０は、通常は極めて高速であるのに対し、Ｗｉ−Ｆｉ  ＷＬＡＮネットワーク１４０は一般に遙かに低速である。
【００５４】
また、接続マネージャ２６０は、実際の接続時間と相対指標の組み合わせを使用しうる。例えば、特定の通信インタフェース２２５を介して行った接続の回数が少ない場合、信頼できる接続時間を入手できないことがある。しかし、この特定の通信インタフェース２２５が、通常は短時間で接続するタイプであるとする。このため、接続マネージャ２６０は、信頼できる接続時間が確立され、記録されうる時まで、接続時間を「高速」の相対値に設定しうる。このため、高速コネクトが許容されている接続のサブセットについては、対応する接続時間が秒数のこともあれば、相対指標のこともある。接続マネージャ２６０は、階層を設定する際に、実際にモニタされた接続時間が、「高速」の相対指標の値を上回っていれば、このような通信インタフェース２２５を、高速の接続時間を用いて順位付けしうる。このようにして、接続時間の降順に通信インタフェース２２５が位置づけられうる。例えば、高速の実際値、高速の基準値、普通の実際値、普通の基準値、低速の実際値、低速の基準値という順序が使用されうる。実際の接続時間がモニタされる場合には、高速、普通、低速のしきい値は実装によって固有であり、変わりうる。例えば、高速の接続時間は２秒未満、普通の接続時間は１０秒、低速の接続は３０秒超などである。
【００５５】
特定の接続がログインのためのユーザのインタラクションを必要とする（すなわちＵＩ＝Ｙｅｓ）場合、このことは、接続マネージャ２６０が高速接続を確立するためには好ましくない。例えば、ユーザのインタラクションで、ログオン（例えば、有料Ｗｉ−ＦｉサービスのＷｉ−Ｆｉログオンスクリーン）あるいは（ユーザＩＤおよび／またはパスワードを提供するための）ＶＰＮスクリーンに進むことが必要となることがある。
【００５６】
また、ユーザは、高速コネクト機能を完全に無効にしたり、利用可能または使用不可の特定のネットワークを選択する（例えば、ＦＣフラグをセットする）など、高速コネクトのプリファレンスを設定することもできる。例えば、ユーザが、３Ｇネットワークを、使用すると追加コストがかかるという理由から、高速接続に使用したくないと考えることがある。しかし、ユーザが無制限の利用プランに加入している場合、ユーザは、高速コネクト機能に常に３Ｇを使用したいと考える。このため、ＷＷＡＮネットワーク１３０に対して、利用制限のあるアカウントをもつユーザはＦＣフラグをデアサートし、無制限にアクセスできるユーザは、ＦＣフラグをアサートしうる。接続マネージャ２６０は、このようなプリファレンスを、その高速コネクトの優先順位付けに取り入れる。通常、接続マネージャ２６０は、接続時間データおよびユーザのプリファレンスに基づいて最も高速な適格な接続にコネクティビティを確立しようとする。高速再コネクト（fast reconnect）が無効の場合は、接続を選択するために、「最良の」接続のデフォルトの発見的方法が使用される。
【００５７】
場合によっては、接続マネージャ２６０は、コネクティビティを必要とするソフトウェアアプリケーションが実行されていないことを検出すると、高速コネクトモードを自立的に無効にしうる。当然、接続マネージャ２６０は、このようなアプリケーションが起動されるとすぐに、高速コネクトを再度有効にしうる。このようにして、新たに起動されたアプリケーションに、できるだけ短時間でコネクティビティが提供される。接続マネージャ２６０、一度、全ての選択肢を評価して、最適なものを決定すると、初期高速コネクト後は、より良好な接続を提供できるようになる。
【００５８】
図５は、高速コネクトを実装するために接続マネージャ２６０によって使用されうる方法の簡略フローチャートを示す。方法ブロック５００において、接続マネージャ２６０は、コネクティビティがないことを検出する。方法ブロック５１０において、（すなわち、ユーザのプリファレンスにより、または接続マネージャ２６０によりアプリケーションの要件に基づいて）高速コネクトが有効になっていない場合、方法ブロック５２０において、接続マネージャ２６０は、通常の「最良の」接続法を使用してコネクティビティを確立する。
【００５９】
方法ブロック５１０において高速コネクトが有効になっている場合、方法ブロック５３０において、接続マネージャ２６０は、デバイス（例えば通信インタフェース２２５）に「ＵＮＴＲＩＥＤ（未試行）」のフラグをセットする。方法ブロック５４０において、接続マネージャ２６０は、試していないデバイスのグループのなかに、高速な接続時間のデバイスが存在するかどうか（すなわち、しきい値または相対指標によって決定される）を決定する。
【００６０】
方法ブロック５４０において、試していない高速な接続時間のデバイスがない場合、方法ブロック５２０において、接続マネージャ２６０は通常通りコネクティビティの確立を続ける。試していない高速接続のデバイスが存在する場合、接続マネージャ２６０は、方法ブロック５５０において、選択されたデバイスが利用であるかどうかを判定し、方法ブロック５６０において、選択されたデバイスを使用して接続を試みる。所定の通信インタフェース２２５について、モバイルデバイス１１０の特定の位置によっては、複数の接続が可能でもよい点に留意されたい。このため、方法ブロック５６０において、接続マネージャ２６０は、特定の通信インタフェース２２５を使用して、何回か接続を確立しようと試みうる。図４を参照して上で説明したように、位置情報が以前に追跡されている場合、接続マネージャ２６０は、特定の予想される環境に応じて、見えるネットワークと見えないネットワークの両方に接続しようと試みうる。
【００６１】
方法ブロック５７０において接続が成功した場合、方法ブロック５８０において高速コネクト法が終了する。方法ブロック５５０において選択されたデバイスが利用できない場合、あるいは方法ブロック５７０において接続の試みが失敗した場合、接続マネージャ２６０は、方法ブロック５９０において、選択されたデバイスに「試行済み（ＴＲＩＥＤ）」のフラグをセットして、方法ブロック５４０に戻り、別の高速コネクトの候補を特定する。
【００６２】
モバイルデバイス１１０の動作中に、接続マネージャ２６０は、選択された通信インタフェース２２によって処理されている通信負荷をモニタして、モニタされた負荷を、接続に関連する帯域幅と、（例えば、履歴パフォーマンスまたは予め設定された値に基づいて）比較して、負荷の高い期間を決定する。高い負荷は、１つ以上のアプリケーションが、選択された接続を使用して、大量のデータ転送を行っている結果として発生することがある。システムの負荷が、長期にわたって帯域幅の限界に近づいていると、モバイルデバイス１１０および実行中のアプリケーションのパフォーマンスが低下しうる。例えば、接続がほぼキャパシティに近づくほどに使用されており、更に帯域幅を必要とする別のアプリケーションが実行されると、接続が総負荷に対応できないことがある。その結果、実行中のアプリケーションでデータ転送のレーテンシが増大することがある。アプリケーションおよびその目的の用途によっては、このような遅延の増大が、ユーザが効率的に操作できることに悪影響を与えかねない。
【００６３】
接続マネージャ２６０は、アクティブな接続の負荷をモニタすることによって、負荷がかかった接続によるレーテンシの増大が、実行中のアプリケーションのパフォーマンスまたはユーザの効率に影響を与えるのを事前に阻止しようとする。一般に、接続マネージャ２６０は、性能に悪影響を与えることなく、利用可能な帯域幅を有効に利用するために、オペレーティングシステム２２７または他のアプリケーションとインタフェースして、各種のイベントをスケジューリングしうる。ユーザは、モニタリング機能の無効化および／または通信負荷調整の対象の接続の指定など、通信負荷モニタリングのプリファレンスを設定しうる。
【００６４】
モニタされている負荷が所定のしきい値（例えば、キャパシティの８５％）を超えた場合は、接続マネージャ２６０は、負荷を管理するために、いくつかのアクションの１つをとりうる。図に示した実施形態では、接続マネージャ２６０は平均負荷をモニタしてこれに対処するが、ピーク負荷値または瞬間的な負荷値が考慮されてもよいと考えられる。
【００６５】
場合によっては、特定の通信インタフェース２２５が、実際の信号の事項のために、実際には、その規定のキャパシティを提供できないことがある。このため、接続マネージャ２６０は、他の情報を用いて、チャネルがキャパシティの限界に達しているかどうかを判定しうる。第１の方法は、オペレーティングシステム２２７とインタフェースすることにより、チャネルのキューをモニタする方法である。キューに転送を待機中のデータが常に存在する場合、チャネルがキャパシティに達していると結論することが妥当である。別の方法に、チャネルの信号対雑音比（ＳＮＲ）を評価する方法がある。ＳＮＲの情報とこの手法とにより、キャパシティを推定することができる。特定の技術およびデバイスによっては、キャパシティが信号強度のみに基づいて推定されてもよい。更に別の方法に、特定のネットワークの転送速度のピークに関する履歴情報を使用する方法がある。ネットワーク自体のキャパシティが、帯域幅を制限する要因となりうる。例えば、特定のサイトでのピーク帯域幅の履歴が、あるパブリックの場所で１Ｍｂｐｓを越えたことがない場合には、極めて高い信号強度が存在していても、ネットワークが制限となっていると合理的に推測されうる。このような場合、現在の使用が観察されたピークの履歴に近い場合には、チャネルは事実上キャパシティに達している。
【００６６】
モニタされている負荷が、キャパシティのしきい値を超えている場合に、接続マネージャ２６０がとりうる第１のアクションは、帯域幅のより高い接続を確立しようと試みることである。接続マネージャ２６０は、接続データベース２７０に記憶されている帯域幅のデータと、モバイルデバイス１１０の位置に関する情報とに基づいて、キャパシティのより高い、見えるネットワーク１２０または見えないネットワーク１２０に接続しようと試みうる。また、接続マネージャ２６０は、新しい接続を確立する前に、帯域幅に関する事項のほかに、利用可能な接続のその他のサービス品質（ＱｏＳ）属性も評価しうる。例えば、ネットワーク１２０のレーテンシまたはエラー処理特性も考慮されうる。
【００６７】
接続マネージャ２６０が、（例えば、ＬＡＮデバイス２４０を有効にするなどにより）より適切な接続を特定することができれば、接続マネージャ２６０は、適切な通信インタフェース２２５を有効にし、新しい通信インタフェース２２５を使用するために、オペレーティングシステム２２７のコンフィグレーションを適宜変更して、太いパイプラインに切り替えうる。場合によっては、以前の通信チャネルがドロップされて、そのチャネルに関連する通信インタフェース２２５が無効にされる。得られる太いパイプラインにより、ユーザの要求に対するモバイルデバイス１１０の応答性が上がったり、アプリケーションがデータ転送アクティビティを短時間で完了できるようになったり、またはモバイルデバイス１１０の電力消費が低減される。
【００６８】
特定の時点において、より良好な接続が利用できない場合には、接続マネージャ２６０は、ユーザと対話して（例えば、ポップアップダイアログボックスまたは他の通信を使用するなど）、ユーザに、より良好な接続を得るために、何らかの行動をとることができるかどうかを決定させる。例えば、接続マネージャ２６０は、ユーザに対して、ＬＡＮデバイス２４０にケーブルを接続するように要求しうる。
【００６９】
ユーザとのインタラクションによっても、より良好な通信が得られなかった場合には、接続マネージャ２６０は、他のアプリケーションのために帯域幅を残しておくように、帯域幅を使用する特定のアクティビティを中止するかどうかを決定するよう、ユーザに問い合わせる。例えば、ユーザは、バックグラウンドアプリケーション（例えば、ファイルまたは電子メールの同期）の中止を要求しうる。接続マネージャ２６０は、中止されたアクティビティを、後の時点（おそらく帯域幅の負荷が低下した時点、あるいはより良好な接続な利用可能となった時点）に再スケジューリングする。中止されたアプリケーションが、接続マネージャ２６０によって自動的に（すなわち、スケジューラ２２９と対話することによって）スケジューリングできない場合には、接続マネージャ２６０は、ユーザに中止されたアプリケーションを再実行するように促すユーザリマインダ（例えばポップアップ）をスケジューリングする。ユーザが、接続マネージャ２６０にアプリケーションの中止を指示した際に、ユーザは、再実行またはリマインダの期間（例えば、１時間、１２時間、１日など）を指定しうる。接続マネージャ２６０は自動リマインダまたは再実行の前に、利用可能な接続およびモバイルデバイスの状態をモニタして、アクティビティを完了するのに充分な帯域幅、バッテリおよび通信キャパシティがあれば、これをユーザに通知しうる。
【００７０】
接続マネージャ２６０は、モバイルデバイス１１０のリソースが利用可能であるかどうかを決定する際に、転送すべき総データ量を（例えば、中止の問い合わせ中などに）推定あるいは要求しうる。接続マネージャ２６０は、接続データベース２７０に、各通信インタフェース２２５およびその関連する通信チャネルが、その特定の接続を使用して通信するために必要なエネルギーの推定値を記憶している。必要なエネルギー消費は、インタフェースタイプに基づいて、通信チャネルごとに推定されうる。
【００７１】
負荷モニタが役立つ別の状況として、通信リンクの利用度が非常に高く、そのリンクが（時間単位またはデータ転送単位のいずれかで）課金される場合が挙げられる。負荷の結果、かなりのネットワークコストがかかることが予想される場合には、接続マネージャ２６０は、無料であるが（おそらく低速の）ネットワークが利用可能であるかどうかを判定し、コストを低く抑えるために、接続を切り替えるべきかどうかを判断するようにユーザを促す。別の実施形態では、接続マネージャ２６０は、低額または無料のネットワークが利用可能となるまで、データ転送を延期することを提案しうる。
【００７２】
次に図６Ａ，６Ｂを参照すると、通信負荷に対処するための方法の簡略フローチャートが示される。方法ブロック６００（図６Ａ参照）において、接続マネージャ２６０は、アクティブな通信インタフェース２２５を介して、現在の通信リンクで高い負荷が続いていることを検出する。方法ブロック６０５において、（すなわち、ユーザのプリファレンスにより）負荷管理が有効になっていない場合、方法ブロック６１０において本方法が終了する。負荷管理が有効である場合、方法ブロック６１５において、接続マネージャ２６０は、全デバイス（例えば通信インタフェース２２５）に「未試行（ＵＮＴＲＩＥＤ）」のフラグをセットする。方法ブロック６２０において、接続マネージャ２６０は、未試行のデバイスのグループのなかに、より良好なコネクティビティを有するデバイスが存在するかどうか（すなわち、速度、レーテンシ、ＱｏＳによって決定される）を判定する。方法ブロック６２０において、より良好なコネクティビティを有する可能性のある未試行のデバイスが特定された場合は、接続マネージャ２６０は、方法ブロック６２５において、選択されたデバイスが利用可能であるかどうかを判定し、方法ブロック６３０において、選択されたデバイスを使用して接続しようと試みる。所定の通信インタフェース２２５について、モバイルデバイス１１０の特定の位置によっては、複数の接続が可能でもよい点に留意されたい。このため、方法ブロック６３０において、接続マネージャ２６０は、特定の通信インタフェース２２５を使用して、何回か接続を確立しようと試みうる。図４を参照して上で説明したように、位置情報が以前に追跡されている場合、接続マネージャ２６０は、特定の予想される環境に応じて、見えるネットワークと見えないネットワークの両方に接続しようと試みうる。方法ブロック６３０において接続が成功した場合、方法ブロック６４０において高速コネクト法が終了する。方法ブロック６２５において選択されたデバイスが利用できない場合、あるいは方法ブロック６３５において接続の試みが失敗した場合、接続マネージャ２６０は、方法ブロック６４５において、選択されたデバイスに「試行済み（ＴＲＩＥＤ）」のフラグをセットして、方法ブロック６２０に戻り、別の高速コネクトの候補を特定する。
【００７３】
方法ブロック６２０において、より良好なコネクティビティを有する未試行のデバイスが存在しない場合には、方法ブロック６５０（図６Ｂ参照）において、接続マネージャ２６０は、より良好なネットワークを有効にするようユーザを促す。方法ブロック６５５において、新しいネットワークが利用可能となった場合には、方法ブロック６６０において、接続マネージャ２６０は、関連する通信インタフェース２２５を介して接続しようと試みる。方法ブロック６６５において接続が成功した場合、方法ブロック６７０において本方法が終了する。
【００７４】
方法ブロック６５５において、新しい接続を利用可能にできなかった場合、あるいは方法ブロック６６５において、接続の試みが失敗した場合には、方法ブロック６７５において、接続マネージャ２６０は、帯域幅を消費している１つ以上のアクションを延期すべきかどうかを判定する。接続マネージャ２６０は、特定のバックグラウンドタスクについては、アクションを自動的に延期しうる。接続マネージャ２６０は、別のタスクでは、アクションを延期すべきかどうかを決定するようにユーザに問い合わせる。方法ブロック６７５において、延期できるアクションがない場合、あるいはユーザが延期しないことを選択した場合、方法ブロック６８０において本方法が終了する。
【００７５】
方法ブロック６７５において、アクションを延期することができる場合、方法ブロック６８５において、接続マネージャ２６０はアクションをキャンセルして、先送りアクション（deferred
action）をスケジューリングする。数多くの方法により、接続マネージャ２６０は、アクションのキャンセルおよび／または先送りアクションのスケジューリングを行うことができる。場合によっては、接続マネージャ２６０は、オペレーティングシステム２２７とインタフェースして、アクションをキャンセルできるが、別の場合には、ユーザが手動でアクションをキャンセルしなければならないこともある。接続マネージャ２６０は、ユーザに対して、先送りアクションに名前を付けるように要求しても、あるいはオペレーティングシステム２２７とのインタラクションによって名前が取得されて、これを確認するようにユーザに要求してもよい。一部の実施形態では、オペレーティングシステム２２７とインタラクションして、アクションを完了するために必要なデータ転送の総量を推定することが可能である点に留意されたい。別の場合には、おおまかな完了の割合を推定するようにユーザが要求されてもよい。以前に計算した負荷モニタリングの情報と、この完了の割合とを組み合わせることで、残りの総データ量を計算することができる。
【００７６】
方法ブロック６９０において、後の任意の時点で、先送りアクションが接続マネージャ２６０によって再開される。一部の実施形態では、接続マネージャ２６０は、スケジューラ２２９とインタフェースすることによって、自身でアクションを再開しうる。別の実施形態では、接続マネージャ２６０は、アクションを再開するようにユーザに求める。方法ブロック６９２において、音声帯域モデム２５０は、先送りアクションを完了するために、許容されるネットワークが利用可能であるかどうかを判定する。この決定では、トランザクションを完了するために充分なバッテリ電力があるかどうかが判定されうる。方法ブロック６９５において、（自動的に、またはユーザからの指示に基づいて）先送りアクションが完了し、方法ブロック６７０において本方法が終了する。接続マネージャ２６０は先送りアクションの完了を自動的に検証しても、アクションが完了したことを確認するようにユーザに求めてもよい。接続マネージャ２６０は、完了の検証後に、その先送りアクションをスケジュールから削除する。
【００７７】
接続マネージャ２６０の通信負荷モニタリング機能および先送りアクション機能は、多くの状況で役に立つ。一例として、ユーザがウェブサイトをサーフィン中に、ダウンロードするファイルを選択する場合がある。ファイルはユーザが想定していたよりも大きく、転送に長時間がかかるとする。ユーザはパブリックの場所にいて、ＷＷＡＮモデム２３０（例えば３Ｇチャネル）を使用して、時間のかかる転送を行うが、これはバッテリ電力を大量に消費する。接続マネージャ２６０は、ＷＷＡＮモデム２３０の負荷を検出し、より良好な接続を探すようにユーザに求める。そのパブリックの環境ではより良好な接続が利用できず、ユーザは、後からウェブファイルをダウンロードするようにリマインドを受けることを選択する。ユーザが自宅に戻って、モバイルデバイス１１０を電源に接続し、通信マネージャ２６０がＷＬＡＮモデム２３５（例えばＷｉ−Ｆｉ接続）を使用して接続すると、接続マネージャ２６０は、ファイルのダウンロードをユーザにリマインドする。接続マネージャ２６０は、ファイルのアドレスを提供し、場合によってはブラウザを起動するか、あるいはユーザが手動でブラウザを起動して、ブラウザの履歴データを使用して、ファイルへのリンクをみつけてもよい。
【００７８】
別の例では、ユーザが旅行中に、スケジューリングされた同期が開始される。同期は、ユーザの最新の音声ファイル、ビデオファイルおよび写真ファイルを更新する。通常、同期は、毎朝、オフィスにおいてＬＡＮで行われている。しかし、ユーザはＷＬＡＮモデム２３５を使用して接続しながら旅行しており、転送でバッテリ電力を消費させたくないと考えている。接続マネージャ２６０は、同期動作による負荷を検出して、同期を先送りすべきかどうかをユーザに質問する（すなわち、より良好な接続が利用できない）。後で、ユーザがホテルに到着して、部屋のＬＡＮに接続すると、接続マネージャ２６０はユーザにリマインダを提示して、同期の完了が可能となる。
【００７９】
図６Ａ，６Ｂを参照して記載した接続マネージャ２６０の負荷モニタリング機能は、バッテリ電力を節約しようとするが、これを行うのは高い負荷がかかっているときにのみである。接続マネージャ２６０がモバイルデバイス１１０の電力状態に直接反応して、通信機能のコンフィグレーションを変更しうる場合はほかにもある。電力状態には、モバイルデバイス１１０が外部の電源と接続されているかどうか、バッテリ駆動されている場合の残存充電レベル、バッテリの完全充電までの残存時間がある。モバイルデバイス１１０の熱状態が、電力状態に分類されることもあるもよい。熱状態は、モバイルデバイス１１０がオーバヒートしているかどうかことを示す。
【００８０】
モバイルデバイス１１０は、使用中に、特定のパフォーマンス特性を拡張するために、特定のシステムコンフィグレーションに設定されうる。例えば、システム接続マネージャ２２８は、プロセッサ２００のパフォーマンス、ゲームのパフォーマンス、バッテリ寿命または静音（すなわちファンの不使用）などの特性を拡張する各種モードを定義しうる。また、オペレーティングシステム２２７は、バッテリ寿命（すなわち、切れるまでの時間）をモニタおよび予測する機能を備えている。オペレーティングシステム２２７は、残存時間を報告すると共に、通常、特定の時間の長さ、または総容量に対する特定の残量の割合によって設定される複数のバッテリアラーム通知を提示する。一部の実施形態では、早期警告（例えばバッテリの残量が２５％）と最終警告（例えばバッテリの残量が２％）の２回のアラームが行われうる。最終警告後は、モバイルデバイス１１０は、一般に、シャットダウンまたはサスペンドする。また、オペレーティングシステム２２７は、一般に、ＡＣ電源が現在利用可能であるかどうかを示す指標と、完全充電までの残りの時間を提供する。
【００８１】
接続マネージャ２６０は、各種通信インタフェース２２５および利用可能な接続の電力特性および熱特性を、接続データベース２７０に記憶している。また、接続マネージャ２６０は、オペレーティングシステム２２７とインタフェースして、現在の動作モードおよび電力状態を特定する。接続マネージャ２６０は、（すなわち、オペレーティングシステム２２７からの状態情報およびアラーム情報に基づいて）電力状態をモニタして、使用する適切な通信インタフェース２２５の評価に、この電力状態情報を取り入れる。
【００８２】
システムコンフィグレーションモードが、通信リンクがないことが好適であると指定している場合には、接続マネージャ２６０は、すべての通信インタフェース２２５および高速コネクト機能を無効にする。システムコンフィグレーションモードが、リッチな（rich）接続が好適であると指定している場合には、接続マネージャ２６０は、通常モードで動作し、入手可能なあらゆる情報に基づいて「最良の」接続を選択しようとする。システムコンフィグレーションモードが、制限された（limited）コネクティビティが好適であると指定している場合には、接続マネージャ２６０は、電力消費が少なく発熱の小さい通信リンクを選択するか、あるいは電力消費が大きい通信リンクを使用するネットワークと断続的に接続しうる。システム接続マネージャ２２８が、次に接続されるまでの、残りの切断時間に関する情報を提供してもよい。ＶＰＮまたは他の権限が必要である場合（すなわち、ユーザのインタラクション）、接続マネージャ２６０は断続的な接続方法を選択することはない。
【００８３】
オペレーティングシステム２２７により、バッテリ寿命が長時間残っているか、あるいはＡＣ電源が利用可能であることが示された場合には、接続マネージャ２６０は通常動作する。しかし、早期のバッテリアラームが発生すると、接続マネージャ２６０は、低電力／低発熱の通信リンクに移行しようと試みる。そのようなリンクが存在しない場合、接続マネージャ２６０は、通信リンクを変更すべきかどうか（例えば、切断するか、断続的な接続に変更する）を決定するようにユーザに求める。
【００８４】
場合によっては、オペレーティングシステム２２７からのバッテリアラームにより、システム接続マネージャ２２８の動作モードがバッテリ節約モードに変更されうる。このような場合には、接続マネージャ２６０は、オペレーティングシステム２２７から電力状態の変化を直接通知されず、オペレーティングシステム２２７が行う動作モードの変更によって間接的に知る。
【００８５】
また、接続マネージャ２６０の動作は、モバイルデバイス１１０の熱状態に関連するアラームにも適用される。アラームによって、モバイルデバイス１１０がオーバヒートしていることが示された場合、接続マネージャ２６０は、熱特性の小さい通信インタフェース２２５を特定して、これを介してコネクティビティを確立しようと試みる。この場合も、熱状態について、オペレーティングシステム２２７から接続マネージャ２２８に、アラームを基に直接通知されることもあれば、あるいは動作モードの変更によってシステムから間接的に通知されることもある。
【００８６】
通信インタフェース２２５の電力特性および熱特性に関して接続データベース２７０に記憶されているデータは、技術のタイプに関連するデフォルト情報に基づくデータであっても、デバイス特有であっても、実際に収集された測定値から求められてもよい。この情報は、手動で入力されても、予め組み込まれていても、接続マネージャ２６０と同時に組み込まれても、オンラインプログラム更新を使用して更新されてもよい。情報は、通信インタフェース２２５自体から取得されるか、オペレーティングシステム２２７のパワーマネジメントインタフェースまたはバス管理インタフェースから取得されうる。
【００８７】
図７は、モバイルデバイス１１０の電力状態に対処するために接続マネージャ２６０によって使用されうる方法の簡略フローチャートを示す。方法ブロック７００において、接続マネージャ２６０は、電力状態の変化（例えば、アラームまたはモード変更）を検出する。モード変更が、電力状態の上昇（例えば、ＡＣ電源への接続、または高パフォーマンスモードへの変更）に関連する場合、方法ブロック７１０において、接続マネージャ２６０は、「最良の」接続法を使用して通常どおり接続を確立する。
【００８８】
方法ブロック７００において検出されたモード変更が、電力状態の低下（例えば、バッテリアラームの発生または低電力モードへの変更）に関連している場合、方法ブロック７１５において、接続マネージャ２６０は、全デバイス（例えば通信インタフェース２２５）に「未試行（ＵＮＴＲＩＥＤ）」のフラグをセットする。方法ブロック７２０において、接続マネージャ２６０は、未試行のデバイスのグループのなかに、電力特性／熱特性（すなわち、電力アラームの場合は電力、または熱アラームの場合は熱）の低いデバイスが存在するかどうか（すなわち、しきい値または相対指標によって決定される）を判定する。方法ブロック７２０において、電力特性／熱特性の低い未試行のデバイスが存在しない場合、方法ブロック７２５において、接続マネージャ２６０は通信リンクを変更すべきかどうか（例えば、切断するか、断続的な接続に変更する）を決定するようにユーザに求める。ユーザが接続を変更することを選択した場合、方法ブロック７３０において、接続マネージャ２６０は変更を実施するか、あるいはユーザが接続の変更を選択しなかった場合、方法ブロック７３５において本方法が終了する。
【００８９】
方法ブロック７２０において、未試行のデバイスが存在する場合には、方法ブロック７４０において、接続マネージャ２６０は、選択されたデバイスが利用可能であるかどうかを判定し、方法ブロック７４５において、選択されたデバイスを使用して接続しようと試みる。所定の通信インタフェース２２５について、モバイルデバイス１１０の特定の位置によっては、複数の接続が可能でもよい点に留意されたい。このため、方法ブロック７４０において、接続マネージャ２６０は、特定の通信インタフェース２２５を使用して、何回か接続を確立しようと試みうる。図４を参照して上で説明したように、位置情報が以前に追跡されている場合、接続マネージャ２６０は、特定の予想される環境に応じて、見えるネットワークと見えないネットワークの両方に接続しようと試みうる。方法ブロック７５０において接続が成功した場合、方法ブロック７５５において本方法が終了する。方法ブロック７４０において選択されたデバイスが利用できない場合、あるいは方法ブロック７５０において接続の試みが失敗した場合、方法ブロック７６０において、接続マネージャ２６０は、選択されたデバイスに「試行済み（ＴＲＩＥＤ）」のフラグをセットして、方法ブロック７２０に戻り、別の候補を特定する。
【００９０】
接続マネージャ２６０は、使用される特定の通信インタフェース２２５を管理しているため、特定のインタフェース２２５または接続の問題を特定することができる。一般に、各接続サービスは、異なるベンダによって運営されている。接続マネージャ２６０は、トラブルシューティングを容易にするために、通信インタフェース２２５を介した接続を実現している各種イベントのログを接続データベース２７０に保持している。接続マネージャ２６０は、オペレーティングシステム２２７またはドライバの一部として提供される各種の基本ユーティリティ（例えばｐｉｎｇユーティリティまたはルーティングテーブル）を使用する。また、接続マネージャ２６０は、通信インタフェース２２５が機能しているかどうか、および関連するサービスが利用可能かどうかを判定する診断動作を実行することができる。
【００９１】
接続マネージャ２６０は、起こりうる接続の問題を自動的に特定した場合、またはユーザによって要求された場合に、現在のコンフィグレーションに関する問題を診断しようと試みる。この結果、ユーザが接続マネージャ２６０のコンフィグレーションをチェックしたり、または接続マネージャ２６０の供給元のテクニカルサポートの連絡先に電話をかけなければならなくなる。あるいは、特定のデバイスが適切に有効にされておらず、ユーザがオペレーティングシステム２２７のコンフィグレーションをチェックするか、またはオペレーティングシステムの供給元のテクニカルサポートの連絡先に電話をかけなければならなくなる。あるいは、特定の通信インタフェース２２５が適切にコンフィグレーションされておらず、ユーザがコンフィグレーションをチェックするか、または通信インタフェース２２５のテクニカルサポートの連絡先に電話をかけなければならなくなる。あるいは、サービスが適切にコンフィグレーションされておらず、ユーザがサービスのコンフィグレーションをチェックするか、またはサービスプロバイダの最初のレベルのサポートの連絡先に連絡を取らなければならなくなる。
【００９２】
接続マネージャ２６０は、特定の診断結果に応じて、通信コンフィグレーションの障害に関連する実体の連絡先（例えば、電話、電子メールまたはウェブ）のリストにアクセスする。接続マネージャ２６０は、現在の通信状態に基づいて、ユーザが、適切なテクニカルサポート実体と連絡をとれるように支援する。ユーザは、特定された連絡先に電話するか、連絡先に電子メールを送信するか、またはウェブサービス（例えば、知識ベースまたはオンラインチャットの連絡先）に接続するかを選択しうる。
【００９３】
電話による連絡が選択された場合には、接続マネージャ２６０は、ユーザが参照することができ、電話の目的と、どのような助けが必要であるかをテクニカルサポートの担当者に知らせるのに役立つ会話例を提供する。通信インタフェース２２５のうちの１つが電話をかけることができる（例えば、音声帯域モデム２５０）か、あるいは現在の接続を介してＶｏＩＰ通話を行うことができる場合には、接続マネージャ２６０が、ユーザのために自動的に電話をかけてもよい。
【００９４】
電子メールの連絡先が選択されている場合、接続マネージャ２６０は電子メールを作成して送信しうる。接続マネージャ２６０は、診断情報を電子メールの本体に記載するか、またはこれを添付する。当然、利用可能な接続が存在しない場合には、接続マネージャ２６０は、電子メールによる連絡は不可能であり、電話で連絡すべきであることをユーザに知らせる。
【００９５】
ユーザがウェブで連絡を取ることを選択し、コネクティビティが利用可能である場合には、接続マネージャ２６０は、状況を説明して、正しい支援を求められるようにする対話の例を提供しうる。
【００９６】
接続マネージャ２６０が接続の問題を診断するために使用できるさまざまな方法がある。代表的なテスト法には、コネクティビティテスト（例えばｐｉｎｇテストおよび／またはｈｔｔｐテストの結果（すなわち、ウェブの閲覧）、通信インタフェース２２５のオペレーティングシステム２２７状態の問合せ、デバイス固有の診断およびサービス固有の診断などがある。
【００９７】
ループバックおよびセルフチェックテストなどのデバイステストは、当業者に公知の一般的な方法である。特に、Ｗｉ−Ｆｉでは、デバイスのテスト後のサービス固有のテストの前に、他のパブリックＷｉ−Ｆｉネットワークに接続することによって接続機能をチェックすることができる（すなわち、ユーザが、ネットワークを利用できる新しい場所に行くか、または現在の位置で新しいネットワークを有効にするように求められうる）。
【００９８】
図８は、通信の問題を診断して、ユーザに目的のテクニカルサポートの連絡先を知らせるための方法の簡略フローチャートである。方法ブロック８００において、接続マネージャ２６０は、（例えば、自動的に、あるいはユーザの要求に応えて）通信コンフィグレーションに関する問題の診断を開始する。方法ブロック８０５において、接続マネージャ２６０が、接続を確立できないか、複数の問題が存在すると判断した場合、方法ブロック８１０において、問題が、接続マネージャ２６０のコンフィグレーションに関連している可能性があると判断する。
【００９９】
１つの通信インタフェース２２５で接続を確立できない場合には、接続マネージャ２６０は、オペレーティングシステム２２７にデバイスの状態をチェックする。方法ブロック８１５において、通信インタフェース２２５が有効にされていない場合、方法ブロック８２０において、接続マネージャは、オペレーティングシステム２２７のコンフィグレーションに問題があると判断する。
【０１００】
通信インタフェース２２５が有効であるが、方法ブロック８２５において、接続マネージャ２６０が、正常なデバイス診断結果を得ることができない場合、方法ブロック８３０において、接続マネージャ２６０は、通信インタフェース２２５のコンフィグレーションまたはハードウェア自体に問題があると判断する。
【０１０１】
デバイスが診断に合格した場合、接続マネージャ２６０はサービス固有のテストを実行する（適用可能な場合）。例えば、ＷＷＡＮモデム２３０は、１つのサービスに結びつけられているか、または特定のサービスとバンドルされて販売される３Ｇ広帯域移動通信サービスを動作させうる。このようなテストは、一意的なログオン法およびユーザ検証を行っている特定のＷｉ−Ｆｉサービスも適用可能でありうる。通信インタフェース２２５が、あるサービスに接続できるが別のサービスに接続できない場合、接続マネージャ２６０はサービスに問題があると判定する。方法ブロック８３５において、接続マネージャ２６０が、通信インタフェース２２５から正常な診断結果を得ることができるが、サービステストを使用してサービスと接続できない場合、方法ブロック８４０において、サービスのコンフィグレーションに問題があると推測する。
【０１０２】
各種のコンフィグレーション、デバイスのテストおよびサービスのテストに合格し、問題が診断されなかった場合、方法ブロック８４５において、接続マネージャ２６０は、問題の原因が接続マネージャであると判定する。
【０１０３】
方法ブロック８１０、８２０、８３０、８４０、または８４５のいずれか１つにおいて考えられる問題の原因を特定したら、方法ブロック８５０において、接続マネージャ２６０は、特定された原因に対するテクニカルサポートの連絡先を特定する。方法ブロック８５５において、ユーザは特定された連絡先（例えば、電話の会話例、電子メール、ウェブサイトなど）に誘導される。
【０１０４】
接続マネージャ２６０は、デバイスに対する自身の診断の推論を、接続マネージャ２６０が適切使用のために有効にされているということに制限している点に留意されたい。接続マネージャ２６０が、特定の接続を使用するために適切に設定されていない場合は、接続マネージャ２６０は、接続マネージャ２６０に問題があると仮定しうる。
【０１０５】
また、接続マネージャ２６０は、ユーザに、所定の時間に特定の接続を使用しなかった理由を報告し、接続は、有効にされれば機能することを示すこともできる。例えば、接続マネージャ２６０は、「ＳｅｒｖｉｃｅＸ」が起動されており、機能しているが、ＬＡＮネットワークが実行されており、ＬＡＮはより高速であるため、より良い選択肢であると考えられるために、当該サービスが、この時点で選択されなかったことを示しうる。また、「ＳｅｒｖｉｃｅＹ」が起動されており、機能しており、最後にアクセスされたのが日曜日の午後９時１５分であったとする。ワイヤレスデバイスによってネットワーク「ＨＯＭＥ＿ＷＩＦＩ」が検知されないため、このサービスは現在使用されていない。ネットワーク「ＰＵＢＬＩＣ１」は利用可能であり、最も高速であるため、これが現在選択されている。
【０１０６】
接続マネージャ２６０によって提案される適切なテクニカルサポートの連絡先および連絡方法は、接続マネージャ２６０のコンフィグレーションによって、および製造業者またはサービスプロバイダによって変わりうる。あるサービスプロバイダは、電話を希望し、別のサービスプロバイダはウェブベースのサポートを希望しうる。これらのプリファレンスは、製造業者またはサービスプロバイダの指示でユーザによって手動で指定されても、モバイルデバイス１１０に予め組み込まれていても、接続マネージャ２６０と同時に組み込まれても、あるいは特定のデバイスおよびサービスに基づいて接続マネージャ２６０のウェブベースの更新を介して提供および更新されてもよい。
【０１０７】
図１に戻ると、スケジューラ２２９は、オペレーティングシステム２２７の一部として実装されても、アプリケーションまたはプロセスを開始することができる独立アプリケーション（以下タスクと呼ぶ）として実装されてもよい。スケジューラ２２９は、特定のユーザ識別情報（例えば、管理者またはモバイルデバイス１１０によって認識される各種のユーザ）としてタスクを実行するための資格を有することができる。スケジューラ２２９は、ターゲットタスクに固定パラメータを渡すことができる。
【０１０８】
スケジューラ２２９は、自身がスケジューリングおよび実行するタスクに関連するさまざまな必要条件を追跡する。通常、スケジューラ２２９は、特定の時刻に基づいてタスクをスケジューリングする。また、スケジューラ２２９は、電力状態およびコネクティビティ状態の必要条件も保持している。電力状態に関して、タスクをスケジューリングする際に、モバイルデバイス１１０が外部ＡＣ電源に接続されていない限り、タスクをブロックすべきことをユーザが指定することができる。コネクティビティの必要条件とは、タスクを実行するために必要なコネクティビティ状態を定義するものである。例示的なコネクティビティ状態には、「コネクティビティ不要」、「コネクティビティ要」、「中帯域幅のコネクティビティ要」、「広帯域幅のコネクティビティ要」、および「無料のコネクティビティ要」などがある。
【０１０９】
コネクティビティ不要の場合、モバイルデバイス１１０の通信状態を問わずに、タスクは実行されうる。ユーザは、要求されるコネクティビティのレベルを、「どのコネクティビティでも可」から、異なる速度等級（例えば、高速または中速）まで指定することができる。また、コネクティビティを提供するチャネルに利用料がかからない限り、タスクの実行を禁止することをユーザが指定することもできる。
【０１１０】
スケジューラ２２９は、コネクティビティの必要条件に基づいて、特定のタスクを実行すべきかどうかを決定する。スケジューラ２２９が、接続マネージャ２６０からコネクティビティ状態情報を要求するか、あるいは、コネクティビティ状態が変わったときに、接続マネージャ２６０がこのことをオペレーティングシステム２２７および／またはスケジューラ２２９にブロードキャストしうる。
【０１１１】
スケジューラ２２９は、特定の時刻ではなく、コネクティビティ状態のみに基づいて特定のタスクをスケジューリングしてもよい。コネクティビティの消失またはコネクティビティの確立などのコネクティビティ状態の変化によってアクティビティがトリガされうる。例えば、スケジューラ２２９は、コネクティビティが確立された時と、その後コネクティビティが維持されている間に１時間おきに、電子メールの同期などのタスクを実行しうる。コネクティビティの変化のレベルに応じて、他のアクティビティが開始されてもよい。例えば、コネクティビティ状態が高帯域状態に変わると、スケジューラ２２９はメディアファイルを同期させるためのタスクを開始しうる。
【０１１２】
また、スケジューラ２２９は、スケジューラ２２９が最初にタスクを開始しようとしたときは満たしていなかったコネクティビティの必要条件のため、遅れている（すなわち、時刻の要件に基づいて）タスクを開始しうる。例えば、コネクティビティを必要とするタスクが、スケジューリングされた時間にブロックされた場合、スケジューラ２２９は、コネクティビティが復旧され次第、タスクを実行しうる。別の実施形態では、タスクをスキップし、その後コネクティビティの必要条件が満たされたときに、次のスケジューリングされている時間に再試行すべきであることをユーザは指定することができる。
【０１１３】
特定のソフトウェアアプリケーションは、自動的に供給元のサイトに接続して、プログラムまたはデータファイルの更新が必要かどうかを判定する内部アップデータを有する。通常、このようなプログラムは、定期的に（例えば、毎週、毎日など）更新の有無をチェックする。コネクティビティが存在しなければ、更新は失敗する。しかし、制限されたコネクティビティ中、モバイルデバイス１１０がバッテリ電源で動作している間、あるいはモバイルデバイス１１０がバッテリを充電している間に、更新が行われると、更新が、完了まで時間がかかる、バッテリを消耗させる、または充電時間が長くなるなどの悪影響を及ぼすことがある。
【０１１４】
接続マネージャ２６０および／またはオペレーティングシステム２２７が、コネクティビティのほかに電力状態を報告するため、ソフトウェアアプリケーションは、所定の更新間隔に達したときに、自動更新する前に、このような電力状態およびコネクティビティ状態をチェックするようにプログラムされうる。別の実施形態では、接続マネージャ２６０またはオペレーティングシステム２２７は、所定の必要条件（例えば、リッチなコネクティビティが利用可能である、充分なバッテリ寿命が残っている、バッテリが充電されている、ライン電源が供給されているなど）が満たされていない限り、このような更新をブロックするように構成されてもよい。
【０１１５】
アプリケーションプログラムは、更新を容易にするために、自身で電力状態およびコネクティビティ状態をチェックしても、スケジューラ２２９と対話して、更新が利用可能であると特定されたときにスケジューリングしてもよい。このため、アプリケーションプログラムは、コネクティビティが利用可能であったときに、更新をチェックし、更新をみつけると、電力およびコネクティビティの必要条件を含め、スケジューラ２２９によりタスクをスケジューリングする。スケジューラ２２９は、このような更新を容易にするために、バッテリ寿命またはバッテリ充電時間に著しく影響しないコネクティビティを指定する追加の電力状態を有してもよい。
【０１１６】
図９は、コネクティビティの必要条件に基づいてタスクをスケジューリングするための方法の簡略フローチャートである。方法ブロック９００において、モバイルデバイスによって実行されるようにスケジュールされているタスクに対し、コネクティビティの必要条件が定義される。方法ブロック９１０において、モバイルデバイスに関連するコネクティビティ状態情報を受け取り、方法ブロック９２０において、コネクティビティの必要条件がコネクティビティ状態情報と比較される。方法ブロック９３０において、コネクティビティ状態情報がコネクティビティの必要条件を満たしている場合、タスクが実行される。
【０１１７】
接続マネージャ２６０によって多数の異なる接続様式が管理されているため、ユーザが、特定のアクティブな接続と、その対応するサービスプロバイダとの関連を特定することは困難である。接続マネージャ２６０は、ユーザが両者の関連を特定できるようにするために、任意の時間に使用されている接続に対応するサービスプロバイダを示すブランド接続メッセージ（branded connection message）を提供する。このようなブランド化により、サービスに問題が生じた場合、あるいはユーザが、サービスの変更または修正を希望している（例えば、高速の帯域幅にアップグレードするか、利用無制限のプランに変更するなど）場合に、ユーザの操作性が改善され、特定のプロバイダに関する情報がユーザに提供される。
【０１１８】
接続マネージャ２６０は、接続データベース２７０に追跡されているサービスごとに、サービスプロバイダに関する情報を記憶している。サービスプロバイダの情報は、単にプロバイダの名前のみであっても、サービスプロバイダに関連するグラフィック（例えば、画像またはアニメーション）が含まれてもよい。
【０１１９】
図１０を参照すると、接続マネージャ２６０は、現在の接続に対応するサービスプロバイダを特定しているブランド化接続ウィンドウ１０００をユーザに提供する。図に示した実施形態では、ブランド化接続ウィンドウ１０００には、サービスプロバイダ情報１０１０、サービスプロバイダのグラフィック１０２０（例えば、ロゴまたはアニメーション）、サービスプロバイダのウェブリンク１０２５、接続タイプ／接続名情報１０３０（例えば、ワイヤレス接続（ＷＬＡＮ１））、接続速度情報１０４０、信号強度情報１０５０、および接続状態情報１０６０が含まれる。一実施形態では、ブランド化接続ウィンドウ１０００は、接続が変更されるたびに表示されうる。ブランド化接続ウィンドウ１０００に表示される特定のフィールドは、特定の実装に応じて変わってもよい。また、サービスプロバイダの識別情報は変わってもよく、図示した以外の項目が表示されても、異なる組み合わせの項目が表示されてもよい。サービスプロバイダ識別情報に、ブランド化接続ウィンドウ１０００の表示時に再生される音声が含まれてもよい。
【０１２０】
ブランド化接続ウィンドウ１０００は、接続がアクティブになったあとの特定の期間（例えば１〜５秒間）、ディスプレイスクリーンの一番下に（例えば、タスクバーまたはメニューバーの近くに）表示されてもよい。別の実施形態では、接続マネージャ２６０は、接続の変化が起こるたびに、ブランド化接続ウィンドウ１０００を表示するのではなく、特定のユーザアクションが行われてから接続ウィンドウ１０００を表示させてもよい。例えば、ユーザが、接続の状態を示す接続アイコンの上にポインタを載せると、ブランド化接続ウィンドウ１０００が表示されうる。このようにして、ユーザは、ポップアップメッセージが何度に表示されて煩わされることなく、接続とそのプロバイダとの対応を知ることができる。
【０１２１】
接続（例えば、ホームネットワークまたはオフィスネットワーク）がサービス提供業者によって提供されない場合には、ユーザは、娯楽のため、あるいは見分けやすくするために、このような接続に固有の画像または特定のアニメーションを指定してもよい。例えば、企業ネットワークの接続ウィンドウをブランド化する（branding）ために、企業のロゴおよび社名が、ユーザによって提供されるか、共通の企業ロゴのデータ記憶域から取得される。コーヒーショップまたは商店などの特定の店がサービスを提供する場合には、ブランド化接続ウィンドウ１０００には、サービス名と、サービスを提供している店名の両方が表示されうる。
【０１２２】
特定のサービスプロバイダ情報およびグラフィックは、さまざまな方法で接続マネージャ２６０に提供されうる。サービスプロバイダ情報は、通信システムコンフィグレーションに含まれる特定のデバイスおよびサービスに基づき、ユーザまたは情報技術部門（すなわち、企業ネットワークの場合）によって手動で提供されても、モバイルデバイス１１０に予め組み込まれていても、接続マネージャ２６０と同時に組み込まれても、または接続マネージャ２６０のウェブベースの更新を介して提供および更新されてもよい。また、サービスプロバイダ情報が、情報を定期的に更新できるように、（例えば、プロバイダまたは接続マネージャ２６０の供給元に関連する）ウェブ上の場所から取得されてもよい。例えば、接続マネージャ２６０の供給元によって管理される世界的なウェブサイトが、対応しているサービスプロバイダごとに、ロゴ、グラフィック、音声などを保持してもよい。
【０１２３】
次に図１１を参照すると、中心接続マネージャ入口１１００の例示的な画面表示が示される。図に示した実施形態では、ポータル１１００は、接続マネージャ２６０の供給元によって提供されるウェブインターフェイスである。モバイルデバイス１１０が従業員専用として企業によって管理される状況では、ポータル１１００が、法人によってメンテナンスされてもよい。例えば、中心通信マネージャポータル１１００は、リモートサーバ１９５によってサポートされうる。
【０１２４】
ユーザは、さまざまな方法でポータル１１００にアクセスすることができる。例えば、ブランド化接続ウィンドウ１０００に、接続マネージャポータル１１００へのウェブリンクが含まれていても、接続マネージャ２６０がユーザに対して、ポータル１１００にアクセスするかどうかを定期的に（例えば、毎週または毎月）問い合わせてもよい。別の実施形態では、接続マネージャ２６０は定期的に中央接続マネージャポータル１１００をチェックして、更新情報がある場合に、ユーザに通知してもよい。
【０１２５】
一般に、中央接続マネージャポータル１１００は、インストールされている通信インタフェース２２５、過去に加入したか使用したサービスなどの、モバイルデバイス１１０の通信コンフィグレーションに関して、接続マネージャ２６０から情報を受け取る。ポータル１１００は、通信コンフィグレーションに基づいて、モバイルデバイス１１０にインストールされている現在のハードウェアおよびサービスに関する情報および更新を提供すると共に、ユーザが興味を持つ可能性のある新しいハードウェアまたはサービスを提案する。各種エンティティ（すなわち、接続マネージャ、現在のハードウェアおよびサービス、ならびに提供されているハードウェアおよびサービス）のそれぞれに関し、ユーザは、関連する業者からの最新の発表およびメッセージを閲覧することができる。
【０１２６】
図１１を参照すると、中心通信マネージャポータル１１００には、接続マネージャ２６０のソフトウェアに関連する情報を提供している接続マネージャフレーム１１０５が含まれる。ユーザは、接続マネージャ２６０またはその供給元に関連するニュース項目の閲覧、ソフトウェアアップデートの選択、拡張機能の購入などを行うことができる。また、上で何度か説明したように、接続マネージャ２６０は、ユーザが操作しなくても中央接続マネージャポータル１１００にアクセスして、自身のプログラム、データベース、ブランド化情報、グラフィカルユーザインタフェースのコンポーネントなどを更新しうる。
【０１２７】
現在のコンフィグレーションフレーム１１１０は、（例えばハードウェアフレーム１１１５に）通信インタフェース２２５の現在のコンフィグレーションに関する情報と、（例えばサービスフレーム１１２０に）使用されているサービスに関する情報を示すために提供されてもよい。例えば、ハードウェアフレーム１１１５では、特定のインタフェース２２５に関連するソフトウェアを更新したり、トラブルシューティングマニュアルを調べるためのリンク１１２２が、ユーザに提供されうる。リンク１１２２は、各通信インタフェース２２５に関連するブランド化アイコン１１２５を有しうる。アイコン１１２５は、業者に関連するロゴ、画像またはアニメーションなどである。同様に、サービスフレーム１１２０も、ユーザに対して、リンク１１３０および対応するブランド化アイコン１１３５を提供しうる。図１０を参照して上で説明した例で、特定のサービスに対応するロゴまたは画像情報をユーザが指定した場合には、見分けやすくするために、このような項目が現在のコンフィグレーションフレーム１１１０に表示されてもよい。
【０１２８】
サービスおすすめフレーム１１４０は、ユーザが利用できる追加のハードウェアおよび／またはサービスをユーザに提示するために提供されうる。この場合も、おすすめに、リンク１１４５および対応するブランド化アイコン１１５０が含まれてもよい。中央接続マネージャポータル１１００に送信される通信コンフィグレーションデータに、ユーザに関連する位置情報が含まれうる。別の実施形態では、ユーザが中央接続マネージャポータル１１００とインタラクトすることにより、自身の位置を指定してもよい。場合によっては、モバイルデバイス１１０または通信インタフェース２２５の１つが、ＧＰＳ機能を備えていてもよく、ユーザの物理的位置を接続マネージャ２６０に報告し、これが中央接続マネージャポータル１１００に転送されてもよい。
【０１２９】
この位置情報に基づいて、おすすめフレーム１１４０に提示される提案が、ユーザの現在の位置に合うように変更されうる。例えば、ユーザがいる場所で、従量制（pay
per use）のネットワークが利用可能であるとする。ユーザは、そのネットワークを選択して、適宜サービスを受けることができる。
【０１３０】
一部の実施形態では、ユーザが、移動する予定の場所で提供されるサービスをみつけ、それに加入するために、その移動先の場所の情報を提供してもよい。例えば、ユーザが、現在加入しているサービスの範囲外の、別の土地や別の国に旅行することがある。ユーザが新しい土地に到着したときに、コネクティビティが利用可能であることを保証するために、中央接続マネージャポータル１１００は、新しい場所に関連するサービスを提案しうる。ユーザは、現在の通信コンフィグレーションを、移動予定の場所と併せて評価するため、このような提案がユーザに合わせて提示される。ユーザは実際にサービスに加入するか、あるいは、接続マネージャ２６０が設定をダウンロードして、ユーザが、移動予定の場所でサービスプロバイダと連絡をとり、サービスを確立できるようにする。
【０１３１】
別の例では、ユーザが、新しい土地に到着して、中央接続マネージャポータル１１００にアクセスして、利用可能なサービスをみつけてもよい。例えば、無料のパブリックネットワーク（例えば、空港内など）がアクセスされて、ユーザがその後中央接続マネージャポータル１１００にアクセスできるように、初期コネクティビティが確立されうる。中央接続マネージャポータル１１００は、ユーザの通信コンフィグレーションと位置に基づいて、ユーザのニーズに合致するようにサービスの提案を変更することができる。
【０１３２】
また、中央接続マネージャポータル１１００にはプロフィールフレーム１１５５も含まれ、これを使用して、ユーザは、各種のプロフィール１１６０から選択して、接続マネージャ２６０のコンフィグレーションおよび／または提供されるサービスを調整することができる。例えば、「移動ビジネスパーソン」のプロフィールには、メインのオフィスを持たずに移動しているビジネスパーソンのための選択肢が含まれる。「家メインのユーザ」は、主としてホーム環境から作業している（すなわち、ほとんど移動しない）ユーザに関連しうる。ほかのプロフィールは、特定の実装に応じて定義されうる。
【０１３３】
通常、ユーザは、自身のモバイルデバイス１１０の利用パターンに最も合うプロフィールを選択しうる。ユーザが特定のプロフィールを選択すると、接続マネージャ２６０は、接続マネージャのロジックを、各種接続を選択する際のユーザ自身の論理に近づけるように設定するプリファレンスをダウンロードしうる。これにより、ユーザが実際にツールを起動して、技術的な設定を変更しなくても、接続マネージャ２６０のコンフィグレーションを調整できるようになる。例えば、接続マネージャ２６０は、選択されたプロフィールに基づいて、ユーザが使用する地域または国のＷｉ−Ｆｉサービスに適するＷｉ−Ｆｉの設定およびプリファレンスをダウンロードしうる。
【０１３４】
上で説明したように、ユーザの現在の通信コンフィグレーションがユーザのニーズを満たすのに充分ではない状況がさまざまにある。例えば、帯域幅が不十分であったり、コネクティビティが全く存在しない場合がある。接続マネージャ２６０は、ユーザが追加のサービスからメリットを受けることができる状況をみつけ出し、そのサービスに加入するかまたはこれを試すようにユーザに勧める。このようなサービスのプロモーションは、ユーザが指定した位置または接続マネージャ２６０が認識している実際の位置に基づいて行われうる。接続マネージャ２６０は、（例えば、接続データベース２７０に記憶されている、中央接続マネージャポータル１１００に存在するなどの）地理データベースにアクセスして、エリアで一般的に提供されているサービスを決定しうる。
【０１３５】
また、接続マネージャ２６０は、通信インタフェース２２５に関する情報に基づいて、接続の提案を調整してもよい。例えば、ある通信インタフェース２２５が１つのサービスプロバイダに結びつけられている一方で、別の通信インタフェース２２５は、複数のプロバイダを介してサービスを確立することができる。接続マネージャ２６０は、このような特定の要因に応じて、ユーザに選択肢を提供する。
【０１３６】
場合によっては、新しいサービスを確立するためにコネクティビティが必要なことがある。コネクティビティがない場合、接続マネージャ２６０はこのようなサービスをユーザに勧めることはしない。しかし、接続マネージャ２６０は、コネクティビティが存在さえすれば、後に加入することができることをユーザに知らせうる。接続マネージャ２６０は、スケジューラ２２９とインタラクトして、コネクティビティが復旧した後の時点に、加入タスクをスケジューリングしうる。
【０１３７】
接続マネージャ２６０は、提案している接続のサービス契約に関する詳細をユーザに提示しうる。例えば、無料のお試し期間が提供されている場合には、接続マネージャ２６０はお試しに参加するようにユーザに勧めてもよい。お試し期間の終了時に、接続マネージャ２６０は、サービスが役立ったかどうかをユーザに決めさせて、ユーザにサービスに加入する機会を与えてもよい。
【０１３８】
お試しが提供されていない場合には、接続マネージャ２６０は、セッションベースの使用が利用可能であるかどうか（すなわち、セッションの開始時点のセッションごとの課金制か、１つの位置での一定の期間における所定数のセッションに対する定額制か）を判定しうる。接続マネージャ２６０は、ユーザに加入の詳細を提示して、ユーザがセッション単位で利用するか、または契約サービスに加入できるようにする。
【０１３９】
接続マネージャ２６０は、サービス条項に関する情報を用いて、ユーザの操作性を簡略にする。サービスにはたくさんのプラン（offer）と料金体系が存在するため、ユーザは、ややこしいという理由から、サービスのお試しを利用しないことがある。接続マネージャ２６０は、シングルセッションか、期間固定、月ごとに固定の帯域幅か、無制限かについてサービス条項を理解しているため、ユーザは情報を充分知らされた上で選択を行うことができる。
【０１４０】
サービスがシングルセッションの場合、接続マネージャ２６０は、セッションが終了する前に、ユーザに通知して、有料またはお試しのセッションが終了することをユーザが確実に認識できるようする。セッションが期間固定（例えば、有料またはお試し）の場合、接続マネージャ２６０は、セッション期限の満了前に、終了前に最後に使用する必要があるかどうかをユーザに問い合わせる。接続の条項が、固定データ量で指定されている場合、接続マネージャ２６０は、データ転送のしきい値に近づくとユーザに警告する。
【０１４１】
接続マネージャ２６０は、サービス条項およびユーザの利用パターンの情報に基づいて、さまざまなサービス商品の料金を理解して、より経済的な接続コンフィグレーションをユーザに知らせることができる。例えば、固定の契約をするほうが、個々のセッションを繰り返し購入するよりも経済的なことがある。
【０１４２】
従って、本明細書に詳細に記載した説明の一部は、コンピューティングシステムまたはコンピューティングデバイスのメモリ内部のデータビットに対する操作の記号的表現を含むソフトウェア実装された処理に関して記載した。このような記述および表現は、当業者が、自身の作業の内容を他の当業者に効率的に伝えるために用いられているものである。この処理および操作は物理量の物理的な操作を必要とする。この物理量は通常、記憶、転送、結合、比較などの操作が可能な電気信号、磁気信号または光信号の形を取るが、必ずしもこれらに限定されない。主に共通に使用されるという理由で、これらの信号を、ビット、値、要素、記号、文字、語（term）、数字、画素などと呼べば、時として利便性が高いことが知られている。
【０１４３】
しかし、上記の全用語ならびに類似の用語は、適切な物理量に関連付けられており、この物理量を表す簡便な標識に過ぎないという点を留意すべきである。特段の断りのない限り、もしくはそうではないことが自明ではない限り、本開示の全てにおいて、その記載内容は、電子装置の記憶領域内で物理（電子的、磁気的、または光学的な）量として表されるデータを、記憶装置、伝送装置または表示装置内で同様に物理量として表される他のデータへと操作および変換する電子装置の動作および処理を指す。このような内容を示す表現としては「処理」、「演算」、「計算」、「判定」、「表示」などがあるが、これらに限定されない。
上記に記載した特定の実施形態は例に過ぎず、本発明は、本開示の教示の利益を得る当業者にとって自明の、異なるが均等の別法によって変更および実施されてもよい。更に、ここに記載した構成または設計の詳細が、添付の特許請求の範囲以外によって限定されることない。このため、上記に記載した特定の実施形態を変形または変更することが可能であり、このような変形例は全て本発明の範囲ならびに趣旨に含まれることが意図されることが明らかである。したがって、ここに保護を請求する対象は、添付の特許請求の範囲に記載したとおりである。
【図１】
2010505347.tif 000004
【図２】
2010505347.tif 000005
【図３】
2010505347.tif 000006
【図４】
2010505347.tif 000007
【図５】
2010505347.tif 000008
【図６Ａ】
2010505347.tif 000009
【図６Ｂ】
2010505347.tif 000010
【図７】
2010505347.tif 000011
【図８】
2010505347.tif 000012
【図９】
2010505347.tif 000013
【図１０】
2010505347.tif 000014
【図１１】
2010505347.tif 000015
【国際調査報告】
2010505347.tif 000016
2010505347.tif 000017
2010505347.tif 000018