(57)【特許請求の範囲】
【請求項１】
ローカル相互接続を通して周辺装置に通信可能に接続されたホスト装置で次のことを実行するステップを備え、前記周辺装置は、前記ホスト装置に機械的に一体化されておらず、前記ローカル相互接続は、前記ホスト装置と前記周辺装置との間のポイント対ポイント接続であり、前記実行ステップは、
示唆された構成について前記周辺装置に問合せをすること、この場合前記示唆された構成は、前記周辺装置の動作環境の変化に応答して、前記周辺装置ついての複数の可能な構成設定から前記周辺装置によって選択され、前記構成は前記周辺装置において、前記周辺装置が前記ホスト装置と通信可能に接続されている間に選択され、前記選択された構成は、前記周辺装置の動作環境の変化に照らして時間内に前記ポイントにおける前記複数の構成の中の最良の構成として前記周辺装置によって決定されるようになっており、
前記実行ステップはさらに、
前記周辺装置の示唆された構成を前記周辺装置から受け取ること、
ネットワークに前記周辺装置が接続されたこと及び前記周辺装置がテザリングをサポートすることを指示するリンク状態情報を前記周辺装置から受け取ること、および
前記周辺装置を通してテザリングするように前記ホスト装置をイネーブルするために前記ホスト装置のテザリングインターフェイスをアクチベートすること、を含むものである、方法。
【請求項２】
前記方法は、更に、前記ホスト装置が、前記周辺装置がもはや前記ネットワークに接続されないことを指示する第２のリンク状態情報を前記周辺装置から受け取り、そしてそれに応答して、前記テザリングインターフェイスをデアクチベートすることを含む、請求項１に記載の方法。
【請求項３】
前記ローカル相互接続は、ブルーツース（ＢＴ）である、請求項１に記載の方法。
【請求項４】
前記ローカル相互接続は、ユニバーサルシリアルバス（ＵＳＢ）である、請求項１に記載の方法。
【請求項５】
前記受け取られた構成は、前記周辺装置の現在構成である、請求項１に記載の方法。
【請求項６】
ａ）周辺装置において、前記周辺装置の動作環境の変化に応答して、複数の構成設定から選択された単一の構成設定を開始するステップであって、該周辺装置における構成設定を開始するステップは、前記周辺装置がポイント対ポイントのローカル相互接続を通して前記ホスト装置に通信可能に接続されている間、生じるようになっており、該選択された構成設定は、前記周辺装置の動作環境の変化に照らして時間内に前記ポイントにおける前記複数の構成の中の最良の構成として前記周辺装置によって決定されるようになっており、
ｂ）ホスト装置に機械的に一体化されていない、前記周辺装置において次のことを実行するステップであって、
前記周辺装置が前記周辺装置の示唆された構成を与えることを要求する問合せを前記ホスト装置から受け取り、
前記周辺装置の示唆された構成として、前記周辺装置において開始された前記選択された構成設定を前記ホスト装置へ送信し、
前記周辺装置の現在構成を指定するメッセージを前記ホスト装置から受け取り、
ネットワークに前記周辺装置が接続されたこと及びテザリングをサポートして前記ネットワークにアクセスするために前記周辺装置を介して、前記ホスト装置にテザリングをイネーブルするようにすることを指示するリンク状態情報を前記ホスト装置に送信する、
ことを含むステップ、
を含む方法。
【請求項７】
前記選択された構成設定が、
前記周辺装置の環境の特徴を発生させ、
前記特徴に適合できる前記複数の構成設定の中で最高のプライオリティを有する構成設定を選択する、
ことによって決定される、請求項６に記載の方法。
【請求項８】
前記特徴は、前記周辺装置がワイヤレスネットワークへのテザリングをサポートすることを指定する、請求項７に記載の方法。
【請求項９】
前記方法は、更に、
テザリングをサポートする前記ネットワークへの接続が失われたことを確認するステップと、
前記周辺装置がもはや前記ネットワークに接続されないことを指示する第２のリンク状態情報を前記ホスト装置へ送信するステップと、
を備えた請求項６に記載の方法。
【請求項１０】
前記ローカル相互接続は、ブルーツース（ＢＴ）である、請求項６に記載の方法。
【請求項１１】
前記ローカル相互接続は、ユニバーサルシリアルバス（ＵＳＢ）である、請求項６に記載の方法。
【請求項１２】
方法を遂行するために処理ユニットにより処理されるべきプログラムコードを含む記憶媒体において、前記方法は、
ａ）周辺装置において、前記周辺装置の動作環境の変化に応答して、複数の構成設定から選択された単一の構成設定を開始するステップであって、前記周辺装置において開始するステップは前記周辺装置がホスト装置と通信可能に接続されている間中、生じており、該選択された構成設定は、前記周辺装置の動作環境の変化に照らして時間内に前記ポイントにおける前記複数の構成の中の最良の構成として前記周辺装置によって決定されるようになっており、
ｂ）前記周辺装置で次のことを実行するステップと、
を備え、
前記実行ステップは、
前記装置に対する示唆された構成設定を要求する問合せを前記ホスト装置から受け取り、前記装置は、次のサービスの異なるセットを含む構成設定を有し、
ｉ）デジタルカメラ
ii）音楽プレーヤ
iii)変化する連絡先情報及びカレンダー
iv）テザリング
前記装置に対する示唆された構成設定として及び該装置がテザリングをサポートするものとして、前記周辺装置において開始された前記選択された構成設定を前記ホスト装置へ送信し、
テザリングをサポートして、ネットワークにアクセスするために前記装置を介して前記ホスト装置がテザリングをすることができるように前記ネットワークに前記周辺装置が接続されたことを指示するリンク状態情報を前記ホスト装置へ送信する、
ことを含むものである、記憶媒体。
【請求項１３】
前記選択された構成設定は、
前記周辺装置の環境の特徴を発生させ、
前記特徴に適合できる前記複数の構成設定の中から最高のプライオリティを有する構成設定を選択する、ことによって決定される、請求項１２に記載の媒体。
【請求項１４】
前記特徴は、前記周辺装置がワイヤレスネットワークへのテザリングをサポートすることを指定する、請求項１３に記載の媒体。
【請求項１５】
前記周辺装置は、３Ｇ又はＥＤＧＥワイヤレスネットワークを経て通信することができる、請求項１２に記載の媒体。
【請求項１６】
前記ローカル相互接続は、ブルーツース（ＢＴ）である、請求項１２に記載の媒体。
【請求項１７】
前記ローカル相互接続は、ユニバーサルシリアルバス（ＵＳＢ）である、請求項１２に記載の媒体。
【請求項１８】
前記周辺装置が、スマートホンである、請求項１２に記載の媒体。
【請求項１９】
周辺装置がローカル相互接続を経てホストコンピュータに通信可能に接続されたことを前記ホストにおいて検出するステップと、
前記周辺装置が前記ホストに対するテザリングサービスをサポートできるように複数の可能な構成設定から選択された単一の構成設定を開始したことを前記ホスト装置において検出するステップであって、該構成設定を開始するステップが、前記周辺装置がホスト装置と通信可能に接続されている間中、生じており、該選択された構成設定は、前記周辺装置の動作環境の変化に応答して時間内に前記ポイントにおける前記複数の構成の中の最良の構成として前記周辺装置によって決定される、ステップと、
テザリングをサポートするネットワークに前記周辺装置が接続されたことを指示する第１のリンク状態情報を前記周辺装置から受け取るステップと、
前記ホストから前記周辺装置を通してテザリングするステップと、
前記周辺装置がもはや前記ネットワークに接続されないことを指示する第２のリンク状態情報を前記周辺装置から受け取るステップと、
前記第２のリンク状態情報の前記受け取りに応答して前記周辺装置を通してテザリングを開始することを拒絶するステップと、
を備えた方法。
【請求項２０】
前記テザリングステップは、前記周辺装置が接続されるワイヤレスネットワークを通してインターネットから情報を受け取ることを含み、前記周辺装置は、スマートホンである、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、コンピューティングシステムに係り、より詳細には、自己構成可能な周辺装置に適合できるホスト／周辺装置ローカル相互接続に係る。
【０００２】
優先権の主張：本出願は、２００９年８月１３日に出願された米国特許出願第１２／５４１，１０７号の一部継続出願であり、参考としてここに援用する。
【背景技術】
【０００３】
図１Ａ及び１Ｂは、「ホスト」装置へ通信結合することのできる「周辺」装置のための従来の構成メカニズムに関する。慣習的に、周辺装置は、質素な機能／インテリジェンスを有するハンドヘルド装置を含む。例えば、ハンドヘルド音楽プレーヤ（例えば、ＭＰ３プレーヤ）、不揮発性メモリスティック、パーソナルデジタルアシスタント（ＰＤＡ）、及びセルラー電話を含む。ホスト装置は、典型的に、ある種のコンピュータ、例えば、パーソナルコンピュータ（ＰＣ）、ラップトップ、又はノートブックコンピュータである。ホスト１０１と周辺装置１０２との間の相互接続１０３は、慣習的に、ユニバーサルシリアルバス（ＵＳＢ）のようなある形式のローカル相互接続で実施されている。
【０００４】
周辺装置は、典型的に、それが提供できる「サービス」を示す複数の異なる動作モード（又は「構成(configurations)」）を含み、例えば、パーソナルデジタルアシスタント（ＰＤＡ）装置は、１）デジタルカメラモードと、２）デジタルカメラモード及び連絡先／カレンダーモードと、を提供することができる。前記構成１）では、周辺装置は、デジタルカメラとして振舞うだけであり、一方、前記構成２）では、周辺装置は、デジタルカメラ及び連絡先／カレンダー装置の両方として振舞う。少なくともホスト１０１に接続されたときには、周辺装置１０２に対する特定の動作モードの選択は、慣習的に、ホスト１０１によりマスター／スレーブ構成で制御されている。即ち、ホスト１０１は、周辺装置１０２に対する特定の構成設定を決定し及び確立し、その後、周辺装置は、ホスト１０１によって命令される特定の設計に基づいて動作する。
【０００５】
ここで、おそらく、周辺装置１０２の機能には限度があり、及び／又は周辺装置１０２のユーザインターフェイスは、ホスト１０１のユーザインターフェイスのように使い易くないから、設計ポイントは、周辺装置１０２それ自体においてというより、ホスト１０１から／ホスト１０１を通して周辺装置１０２を構成するのが、より容易であり及び／又はより実際的であるという仮定に基づいている。
【０００６】
図１Ｂは、一例を示す。図１Ｂによれば、ホストは、先ず、周辺装置の存在を検出する（１１０）。例えば、ＵＳＢローカル相互接続の場合には、ホスト１０１は、ホスト１０１が接続された端とは逆のＵＳＢケーブルの端に周辺装置１０２が接続されたことを検出する。ホスト１０１が周辺装置１０２の存在を検出した後に、ホストは、周辺装置１０２がサポートする異なる構成設定について周辺装置１０２に問合せする（１１１）。例えば、ＵＳＢローカル相互接続１０３の場合には、ホスト１０１は、“GET_DESCRIPTOR”コマンド（形式“CONFIGURATION”に対する）を周辺装置１０２へ送信する。
【０００７】
それに応答して、周辺装置１０２は、それがサポートする種々の構成設定のリストをホスト装置１０１へ送信する（１１２）。例えば、周辺装置１０２が「デジタルカメラのみ」モード（上述したモード１）及び「デジタルカメラ及び連絡先／カレンダー」モード（上述したモード２）の両方をサポートする場合には、周辺装置は、“GET_DESCRIPTOR”コマンドに応答して、これらの両モードを含むリストをホスト装置１０１へ送信する。周辺装置１０２のサポートされるモードが分かると、ホスト１０１は、これらモードの１つを選択し（例えば、ホスト１０１のディスプレイに提示されるグラフィックユーザインターフェイス（ＧＵＩ）を通してのユーザ選択により）、そしてその選択されたモードに基づき周辺装置を構成するコマンドを、ＵＳＢを経て周辺装置へ送信する（例えば、SET_CONFIGURATIONコマンドで）。又、従来のＵＳＢローカル相互接続は、ホスト装置が周辺装置にその現在構成について即座に尋ねるコマンド（GET_CONFIGURATION）もサポートする。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
近年、周辺装置は、ユーザインターフェイス（例えば、スマートホン）の使い易さも含めて益々インテリジェントで且つ精巧なものとなっている。その結果、周辺装置がホストに通信結合されたときに周辺装置それ自体から周辺装置を構成できないことは、不自然な使い方になりつつある。不都合なことに、基礎的なローカル相互接続技術（ＵＳＢのような）は、精巧な周辺装置が出現する前に設計されたものであり、それに対応して、これらローカル相互接続の通信プロトコルは、周辺装置がそれ自身を構成する能力を意図していない。例えば、適用可能なＵＳＢ規格は、周辺装置がそれ自身を特定の動作モードへ構成したことをホストに通知する、周辺装置からホストへの明確な通信を規定するものではない。
【０００９】
テザリングは、周辺装置を使用するホスト装置がワイドエリアネットワーク（ＷＡＮ）（例えば、インターネット）のようなネットワークへのアクセスを得ることを含む。既知の従来技術によれば、このテザリングに関して、ホスト装置は、周辺装置のオン又はオフ状態しか得られない。即ち、周辺装置とホストとの間の通信は、周辺装置がオンであるかオフであるかをホストに通知するだけである。ホストには、特に、テザリングするための周辺装置の能力の状態が通知されない。
【課題を解決するための手段】
【００１０】
自己構成可能な周辺装置に適合できるホスト／周辺装置ローカル相互接続について説明する。ここに述べるプロセスによれば、周辺装置は、自己構成される。ホスト装置は、周辺装置の自己構成状態、及び／又は周辺装置でなされる自己構成変化に気付くことができる。ホスト装置は、そのように気付くことから、周辺装置の用途／使い方を拡張することができる。
【００１１】
本発明は、同様の要素が同じ参照番号で示された添付図面に示して説明するが、これは例示に過ぎず、これに限定されるものではない。
【図面の簡単な説明】
【００１２】
【図１Ａ】ホスト、周辺装置及びローカル相互接続を示す。
【図１Ｂ】ホストと周辺装置との間で実行される従来の周辺装置構成プロセスを示す。
【図２】ホストと周辺装置との間で実行される改良型周辺装置構成プロセスを示す。
【図３】ホストと周辺装置との間で実行される第２の改良型周辺装置構成プロセスを示す。
【図４】自己構成可能な周辺装置の構成アーキテクチャーを示す。
【図５Ａ】テザリングリンク状態パケットを例示する。
【図５Ｂ】テザリングリンク状態パケットを例示する。
【図５Ｃ】テザリングリンク状態パケットを例示する。
【図５Ｄ】テザリングリンク状態パケットを例示する。
【図５Ｅ】テザリングリンク状態パケットを例示する。
【図６】図５Ａから５Ｄを参照して遂行される方法を示す。
【図７】コンピューティングシステムの実施形態を示す。
【発明を実施するための形態】
【００１３】
より精巧な周辺装置の出現で、周辺装置がローカル相互接続を通してホストへ通信結合されたとしても周辺装置を周辺装置側から構成できるべきであることをユーザの経験からより自然に期待するとすれば、システム設計者にとってそのような環境を整えるのが義務である。不都合なことに、遺産的ローカル相互接続技術（ＵＳＢのような）は、１）現在のところ、自己構成可能な周辺装置を完全に予想した通信プロトコルを所有するとは理解されず、且つ２）近い将来、それに置き換わるものも期待されない。従って、既存のローカル相互接続との上位互換性を保存しながら、自己構成可能な周辺装置を取り入れるために、このような既存のローカル相互接続を越えて自己構成可能な周辺装置を首尾良く具現化する解決策が要望される。以上のことから、ここに開示する技術は、自己構成可能な周辺装置を取り入れるローカル相互接続が最終的に出現すれば、そのようなローカル相互接続に等しく適用できることを理解されたい。
【００１４】
図２は、自己構成可能な周辺装置を予想したプロセスの一実施形態を示す。ここで「自己構成可能な(self configurable)」とは、周辺装置の構成モードの設定が周辺装置において開始されることを意味する。例えば、周辺装置において実行されるソフトウェアで行われる判断実行により課せられる自動構成変化、及び／又は周辺装置のユーザインターフェイスを通して周辺装置のユーザにより課せられる変化が含まれる。図２のプロセスによれば、周辺装置は、自己構成され（２０１ａ）、そしてホスト装置へ通信結合される（２０１ｂ）。ホスト装置は、周辺装置の存在を検出する（２０２）。次いで、ホスト装置は、周辺装置に問合せする（２０３）。
【００１５】
基礎的なローカル相互接続が慣習的なＵＳＢバスである図２の実施形態によれば、問合せ２０３は、周辺装置が適切であると認識する周辺装置の構成モード（例えば、周辺装置の現在状態／周囲状況）について周辺装置に尋ねるコマンドの形態をとる。次いで、周辺装置は、その問合せに応答して、周辺装置の要求された構成設定をホストに与える（２０４）。ある意味で、ホストは、周辺装置に、それ自身について最良の構成モードと「考える」ものは何かを尋ね、それに応答して、周辺装置は、特定の構成モードをホストに示唆する。一実施形態では、ホストの要求及び周辺装置の応答は、ＵＳＢ「ベンダー特有」コマンドとして具現化される。
【００１６】
示唆された周辺装置構成設定がホストに通知される状態で、ホストは、次いで、その示唆された周辺装置構成設定がホストにとって適当であるかどうか決定することができる。例えば、周辺装置が、デジタルカメラを含む示唆された構成設定を送信し、そしてホストが、デジタルカメラ周辺装置に使用するためのソフトウェアをイネーブルしていない場合には、ホストは、例えば、そのようなソフトウェアをイネーブルし、次いで、周辺装置の示唆を受け容れることもできるし、或いは別の構成設定を送信するように周辺装置に要求することもできる。
【００１７】
前者のケース（ホストが周辺装置の示唆を受け容れる）では、一実施形態において、ホストは、コマンド２０５（例えば、ＵＳＢローカル相互接続の場合はSET_CONFIGURATIONコマンド）を周辺装置へ送信して、示唆された構成設定を周辺装置において作用させることにより、周辺装置の示唆を受け容れることを表明する。このケースでは、周辺装置の示唆された構成がその現在構成設定であると考えられる。従って、ホストからのコマンドは、単に、周辺装置にその現在構成設定に入るように命令し、周辺装置はそれを自由に無視できる。
【００１８】
後者のケース（ホストが付加的な構成設定について周辺装置に尋ねる）では、ホストは、それが付加的な構成設定のどれをこのむか選択し、そしてその構成に入るように周辺装置に命令する（２０５）。周辺装置の示唆された構成設定がその現在構成設定である場合には、ホストからのコマンドで、周辺装置がその構成状態を現在／示唆された状態から、ホストによって指令された構成状態へ変化するようにさせる。ＵＳＢローカル相互接続の場合には、ホストは、形式CONFIGURATIONのGET_DESCRIPTORコマンドで別の周辺装置構成設定を求めることができることに注意されたい。
【００１９】
少なくとも幾つかの具現化によれば、周辺装置がローカル相互接続を通してホストに通信結合される間に周辺装置の構成を変更できることに注意されたい。例えば、次のような構成の可能性を有する周辺装置について考える：１）カメラモード（周辺装置が主としてデジタルカメラとして振舞う）；２）カメラ及び「ＰＤＡ」モード（周辺装置が主として複合カメラ、音楽プレーヤ（ｉＴｕｎｅｓのようなオンライン音楽サービスへのアクセスを含む）及びカレンダー／連絡先装置として振舞い、且つそれ自身で又はホストの制御でソフトウェアアプリケーションを同期し／インストールし／構成し／デバッグすることもできる）；３）カメラ／ＰＤＡ／テザリングモード（周辺装置が「カメラ及びＰＤＡ」モードについて上述したように振舞うが、ホストに対するネットワークトラフィックの「テザリング」もサポートできる）；及び４）オーディオモード（スマートホンは、主として、オンライン音楽サービスへのアクセスを含む音楽プレーヤとして振舞う）。テザリングは、周辺装置がホスト装置に対してネットワークインターフェイスとして働くような状況であることに注意されたい。例えば、周辺装置がスマートホンである場合には、ホストは、スマートホン及びそのワイヤレスネットワークを、インターネットと情報をやり取りするためのアクセスメカニズムとして使用して、インターネットを「サーフィン」することができる。スマートホンが提供できる豊富で異なる「サービス」（カメラ、カレンダー／連絡先、テザリング、及びソフトウェアの同期／インストレーション／構成／デバッグ）に注目し、且つ異なる構成設定が、上述したように、スマートホンにより提供される異なるサービスの異なる組み合せ／セットであることに注目することに価値がある。
【００２０】
上述したような、複数の構成設定の可能性を有するスマートホン周辺装置の場合には、おそらく、周辺装置は、それがホストに通信結合されている間に、複数の構成モードのいずれかから出て、他のモードのいずれかに入ることができる。この場合も、ＵＳＢのような慣習的なローカル相互接続は、自己構成可能な周辺装置を完全に予想していないので、このようなローカル相互接続の遺産的通信プロトコルは、周辺装置の構成モードが新たなモードへ変化したことをホストに明確に告げる目的で周辺装置からホストへの通信を容易に与えることができない（この場合も、周辺装置の構成が慣習的にホストの排他的制御のもとにあるために）。
【００２１】
図３は、遺産的ローカル相互接続を使用してホストに接続しても周辺装置に生じる動的な構成モード変化にホストが気付くことができるようにするスキームを示す。図３に示す方法によれば、ホスト装置は、周期的に（３０４）、周辺装置に問合せする（３０１）。周辺装置に周期的に問合せすることで、ホスト装置は、周辺装置においてなされた構成の変化に気付くことになる。
【００２２】
一例として、周辺装置が上述した第３の「カメラ／ＰＤＡ／テザリング」モードにあるスマート電話である状況を考える。周辺装置がこの動作モード内にあることが分かると、ホストは、例えば、それが、デジタル写真及び連絡先／カレンダー情報を周辺装置と自由に交換するだけでなく、周辺装置を通して自由に「テザリング」もする（上述したカメラ／ＰＤＡ／テザリングモードと一貫した周辺装置との他の事柄の中で）ことを理解する。スマートホンが、ワイヤレスネットワークとの接続がダウンしたことを突然検出した（又はスマートホンにそのワイヤレスネットワーク無線回路をディスエイブルさせる「エアプレーンモード」のようなモードに入るようユーザがスマートホンに指令した）場合には、スマートホンは、「カメラ／ＰＤＡ／テザリング」モードから「カメラ」モードへドロップするのが適当である。この事象を知らないと、ホストは、スマートホンとのテザリングサービスがもはや利用できないのに、そのようなサービスを誤って開始してしまうことがある。
【００２３】
しかしながら、スマートホンに、その現在構成状態を繰り返し（３０４）問合せをする（３０１）ことにより、ホストは、周辺装置の端でなされた構成変化を「キャッチ」する。この特定例では、ホストは、スマートホンがもはやテザリングサービスを提供できないことが分かり、それ故、周辺装置を通してのテザリングセッションを防止するか、さもなければ、それを開始しない。
【００２４】
同様に、その逆も考えられる。即ち、スマートホンがそのワイヤレスネットワークに再接続すると、「カメラ」モードから「カメラ／ＰＤＡ／テザリング」モードへとジャンプアップする。スマートホンの構成の繰り返しの問合せによりこの変化が分かると、ホストは、テザリングサービスがもはや利用できないことが分かり、同様に、スマートホンを通してテザリングする次の試みを鎮圧する。
【００２５】
図３は、周期的に問合せするホストと動的に変化するスマートホンとの間の交換が、図２を参照して上述したプロセスに基づくものであることも示している。即ち、例えば、ＵＳＢローカル相互接続の場合には、ホストは、示唆された周辺装置構成を周辺装置に要求する上述したコマンドで周辺装置に繰り返し問合せをする（示唆された構成は、現在周辺装置設定である）。或いは又、ＵＳＢローカル相互接続の場合には、GET_CONFIGURATIONコマンドを使用することもできる。次いで、周辺装置は、その現在構成で各問合わせに応答する（３０２）。次いで、ホストは、周辺装置がその現在構成モードにあることを確認するメッセージを周辺装置へ返送する（３０３）。
【００２６】
図４は、周辺装置がローカル相互接続を通してホストに通信結合されたときでもそれ自身の構成変更を開始できるスマートホンのような周辺装置に対する自己構成アーキテクチャーを示す。図４のアーキテクチャーは、ソフトウェア（プログラムコードインストラクションの実行を通して）、ハードウェア（専用回路で）、又はその何らかの組合せで具現化することができる。図４のアーキテクチャーによれば、環境に気付くメカニズム４０１及び構成状態のプライオリティリスト４０２が存在する。選択メカニズム４０３は、現在環境に鑑み実現可能な最もプライオリティの高い構成を選択する。例えば、スマートホンのワイヤレスネットワークが突然利用できなくなる前記例を使用すると、環境に気付くメカニズム４０１は、ワイヤレスネットワークがもはや利用できないことを検出し及び／又はそれを報告する。プライオリティリスト４０２は、次の構成状態をプライオリティの順にリストする：１）カメラ／ＰＤＡ／テザリング（最も高いプライオリティ）；２）カメラ／ＰＤＡ（２番目に高いプライオリティ）；３）オーディオ；及び４）カメラ（最も低いプライオリティ）。従って、プライオリティスキームは、本質的に、その環境のもとでスマートホンの考えられる最も高い性能能力を選択すべきであることを反映している。
【００２７】
それ故、選択メカニズムは、カメラモード（前記モード＃４）を選択する。というのは、それが、ワイヤレスネットワークが利用できないときに実現できる最も高いプライオリティモードだからである（ＰＤＡ及びオーディオモードは、ｉＴｕｎｅｓのようなワーキングオンライン音楽サービスを期待していることに注意されたい）。スマートホンのユーザインターフェイスを通してユーザにより課せられる構成設定は、環境に気付くメカニズム４０１を通してピックアップできることに注意されたい。例えば、ユーザが、例えば、スマートホンを「エアプレーンモード」に入れることにより、スマートホンのワイヤレス無線回路をディスエイブルした場合に、環境に気付くメカニズムは、ワイヤレス無線回路がディスエイブルされたこと、及び／又はユーザがエアプレーンモードを指定したことを検出し／報告する。この環境変化をどのように報告するかに関わらず、選択メカニズムは、テザリングは不能であるが、カメラ機能は可能であることを決定することができる。この環境条件に鑑み、選択メカニズムは、最高のプライオリティ及び実現可能な構成状態（この例では、カメラ構成モード）について構成状態のプライオリティリスト４０２をスキャンする。
【００２８】
上述した例は、主として、ＵＳＢをローカル相互接続とすることに基づくが、ブルーツース又はファイアウォールのような他のローカル接続も容易に使用できることを指摘するのが適当であろう。ここでは、多数のローカル接続がホストと周辺装置との間のポイント対ポイント接続であり、周辺装置はホストと機械的に一体化されないことに注意されたい。これらは、例えば、（例えば、ホスト装置へプラグインすることにより）ホストと機械的に一体化され且つ（単一の周辺装置への／からのシグナリングしか楽しめないポイント対ポイント接続ではなく）複数の周辺装置の信号を搬送できるマルチドロップバスを通してホストと通信結合されたメモリスティック、アダプタカード、又は他の「周辺装置」とは対照的である。
【００２９】
周辺装置が最初にワイヤレスネットワークへのアクセスを得、その後、ネットワークへのアクセスを失う結果としてテザリングをサポートする構成モードに周辺装置が入り、次いで、そこから出る上述した例を想起されたい。図５Ａ−５Ｅ及び６は、このような環境の間に周辺装置とホストとの間に存在する通信の実施形態を更に精巧に示す。
【００３０】
図５Ａを参照して、ホスト５０１のユーザがイーサネットネットワーク５０６を通してインターネットのようなワイドエリアネットワーク（ＷＡＮ）を使用する状況について考える。このケースでは、イーサネットネットワーク５０６は、ＷＡＮのゲートウェイ又は他のアクセスノードに通信結合される（図５Ａ−５Ｅには示さず）。内部では、ホスト５０１は、イーサネットネットワークのインターフェイス５０７を維持する。従って、特定のＷＡＮ行先へパケットを送信するために、ホスト５０１は、パケットが送信されるインターネット上の位置に対応する行先アドレスを有するインターネットプロトコル（ＩＰ）を構築する。ＩＰパケットは、イーサネットインターフェイス５０７に与えられ、該インターフェイスは、ＩＰパケットをイーサネットヘッダでカプセル化し、そしてそのカプセル化した構築物をイーサネットネットワーク５０６へ送信し、最終的に、ＷＡＮへ配信する。
【００３１】
更に別の実施形態では、図５Ａに示すように、ホスト５０１は、ＷＡＮへのインターフェイス５０８も維持する。このケースでは、ホスト５０１がＷＡＮへ送信すべき情報を有するときに、情報がＷＡＮインターフェイス５０８に与えられる。図５Ａは、ホスト上の３つのアプリケーションＸ、Ｙ及びＺがＷＡＮに関与され（例えば、パケットをＷＡＮへ送信させ及び／又はＷＡＮからパケットを受信させ）、それ故、ＷＡＮインターフェイス５０８を効果的に使用する特定例を示すことに注意されたい。例えば、ＷＡＮインターフェイス５０８は、アプリケーションＸ、Ｙ、Ｚの１つにより与えられるＷＡＮ上の行先アドレス及びデータペイロードを受け取る。ＷＡＮインターフェイス５０８は、この情報を、ＷＡＮへのリモートゲートウェイ（図示せず）を識別するＩＰヘッダ情報でカプセル化する。これにより形成されたＩＰパケットは、次いで、イーサネットインターフェイス５０７により処理され、該インターフェイスは、ホストが結合されるサブネット上のゲートウェイであって、ＷＡＮゲートウェイが到達できる深いネットワークへのアクセスを与えるゲートウェイを識別するイーサネットパケットを構築する。特に、上述したプロセスにおいて、ＷＡＮにアクセスするために、アプリケーションＸ、Ｙ、Ｚは、ＷＡＮインターフェイス５０８に効果的に結合され、該インターフェイスは、その後、イーサネットインターフェイス５０７に結合される。リモートＷＡＮトラフィックを特定のアプリケーションに結合するために種々の別の解決策をとることができる。多数のこれら解決策が、米国特許出願第１２／２４２，４８５号、第１２／２４２，４９９号、第１２／２４２，５３３号、及び第１２／２４２，５４８号に説明されており、これらは、全て、２００８年９月３０日に出願されたもので、カリフォルニア州クパチーノに本部を置くアップル社に譲渡され、そして参考としてここに援用するものである。
【００３２】
ある点において、図５Ｂに示すように、イーサネットネットワーク５０６がダウンし、イーサネットインターフェイス５０７（及びＷＡＮインターフェイス５０８）をアプリケーションＸ、Ｙ及びＺのリモートＷＡＮトラフィックに対して無効にする。これに応答して、ホスト５０１のユーザは、ローカル相互接続５０３を経て周辺装置５０２をホスト５０１へ接続し、周辺装置５０２を通してテザリングすることによりＷＡＮに到達するように試みる。図５Ｂに示すように、ローカル相互接続５０３は、ＵＳＢ接続であるが、当業者に知られたように、ブルーツース（ＢＴ）又はファイアウォールのような別のローカル相互接続技術が使用されてもよい。
【００３３】
周辺装置５０２をホスト５０１へ接続する際に、図２を参照して上述したプロセスが遂行される。特に、ユーザは、テザリングをサポートする周辺装置に対して「自己構成」モードを選択する（又は周辺装置が自動的にそのモードに入る）ことに注意されたい。図２の育成プロセスの終わりに、周辺装置５０２は、テザリングをサポートする構成モードにあり、そしてホスト５０１は、それが、テザリングをサポートする周辺装置５０２に接続されることを理解する。
【００３４】
従って、図６に概略を示すプロセスのようなプロセスが開始される。周辺装置がテザリングをサポートする構成状態６０１でスタートして、周辺装置は、前記ＷＡＮ上の行先のような種々のネットワーク行先に到達するのに使用できる（３Ｇ又はＥＤＧＥネットワークのような）ワイヤレスネットワーク５０５へアクセスできるかどうか決定する（６０２）。もしそうであれば、図５Ｂ及び６を参照すれば、周辺装置５０２は、ローカル相互接続５０３を通してホスト５０１へ「リンク状態」パケット５０４を送信し（６０３）、これは、そのようなワイヤレスネットワークへの周辺装置のリンクが動作状態であることをホスト５０１に通知する。この情報で、ホスト５０１は、周辺装置をテザリングに使用できることを理解する。
【００３５】
一実施形態では、周辺装置５０２がワイヤレスネットワーク５０５へのアクセス性を決定する前に（及び／又は周辺装置がリンク状態パケットを送信する前に）、周辺装置５０２は、それがホスト５０１と適切にペアリングされるかどうか決定する。ここで、「ペアリング」とは、周辺装置５０２が、特定のホストシステムのみに対する周辺装置であると想定されるという概念である。例えば、アップル社からのｉＰｈｏｎｅは、特定のホストコンピュータにおける単一のｉＴｕｎｅｓアプリケーションインスタンスのみと「同期」されると想定される。一実施形態では、テザリングは、周辺装置がそのペアリングパートナー（例えば、周辺装置が登録される特定のｉＴｕｎｅｓアプリケーションインスタンスを有する特定のホストコンピュータ）に接続された場合にのみ利用できる。従って、一実施形態では、周辺装置５０２は、それがワイヤレスネットワーク５０５へアクセスできるかどうか決定する（６０２）前に、或いは少なくとも、リンクが「アップ」であることを指示するリンク状態パケットをそれが実際に送信する（６０３）前に、それが適切なペアリングパートナーに接続されるかどうか決定する。
【００３６】
周辺装置５０２は、それが適切なペアリングパートナーに接続されないと決定する場合には、テザリングをイネーブルするよう試みない。これは、例えば、リンク状態パケットの送信を拒絶し、ワイヤレスネットワークへのアクセス性の決定を拒絶し、及び／又はテザリングをサポートする構成設定に入るのを拒絶することにより、達成される。或いは又、図６において明らかなように、リンクがダウンしたことを指示するリンク状態パケットが送信される（６０５）。これらの解決策は、いずれも、ホスト５０１がテザリングインターフェイス５０９（以下に述べる）をアクチベートさせず（６０６）、さもなければ、テザリングも試みないようにする。別の実施形態では、周辺装置が、それとペアリングされるホストシステムを２つ以上もつことを許すという選択もできることに注意されたい。
【００３７】
ローカル相互接続（上述した）がＵＳＢ相互接続である更に別の実施形態では、リンク状態パケット５０４は、パケットをリンク状態パケットとして識別する第１部分と、テザリングのためにワイヤレスネットワークにアクセスできることを指示する第２部分とを有する「ベンダー特有」パケットとして具現化される（例えば、“１”＝リンク状態が「アップ」であり＝ワイヤレスネットワークがアクセス可能であり、又は“０”＝リンク状態が「アップでなく」＝ワイヤレスネットワークがアクセスできない）。他のローカル相互接続技術も、同様のパケットを構築できるようにする。
【００３８】
次いで、図５Ｃ及び６を参照すれば、ホスト５０１がリンク状態パケット５０４を受け取り、そして周辺装置５０２を通してテザリングが得られることを理解すると、一実施形態によれば、ホスト５０１は、周辺装置５０２を通してテザリングするためにインターフェイス５０９をインスタンス生成する（６０４）。このケースでは、テザリングインターフェイス５０９は、イーサネットネットワークがアップであるときに以前に使用されたＷＡＮインターフェイス５０８とは異なるインターフェイスでよい。従って、アプリケーションＸ、Ｙ、Ｚは、ＷＡＮインターフェイス５０８に効果的に結合されるのではなく、ここでは、ホストによりテザリングインターフェイス５０９に結合される。更に、リモートＷＡＮトラフィックに使用される低レベルインターフェイスが変更される（即ち、イーサネットインターフェイス５０７が使用されるのではなく、ＵＳＢインターフェイス５１０が使用される）。従って、内部では、周辺装置５０２からのリンク状態パケット５０４の受信に応答して、ホストシステム５０１は、アプリケーションＸ、Ｙ及びＺに対してそのリモートＷＡＮフローを再構成する。
【００３９】
次いで、ホストは、周辺装置を通してアプリケーションＸ、Ｙ及びＺに対するテザリングを開始する。ここで、ホスト５０１及び／又は周辺装置５０２の構成／アーキテクチャーは、２００９年４月２０日に出願され、アップル社に譲渡され、参考としてここにそのまま援用される米国特許出願第１２／４２６，８９７号に説明されている。
【００４０】
図５Ｄ及び５Ｅは、テザリングがもはや利用できないことをリンク状態パケットが指示するときに周辺装置５０２からホスト５０１へリンク状態パケットを送信するところを示す例を完成するものである。特に、図５Ｄにおいて明らかなように、周辺装置は、ワイヤレスネットワークへのアクセスを失い、それに応答して、周辺装置は、リンクがダウンであることを指示するリンク状態パケット５１１を送信する（６０５）。ホスト５０１は、リンクがダウンであるという通知を受け取ると、テザリング及び／又はＷＡＮへのアクセスがもはや利用できないことを、ユーザ及び／又はアプリケーションＸ、Ｙ、Ｚに警告する。従って、図５Ｅにおいて明らかなように、テザリングインターフェイス５０９がデアクチベートされる（６０６）。
【００４１】
周辺装置５０２が、時間と共に、ワイヤレスネットワーク５０５へのアクセスを連続的に得たり失ったりするにつれて、周辺装置は、リンクの現在状態をホスト５０１に知らせるリンク状態パケットをホスト５０１へ繰り返し送信することができる。それ故、ホスト５０１は、それに応答して、テザリングインターフェイス５０９をアクチベートすることと、デアクチベートすることを交互に行う。又、周辺装置５０２は、テザリングをサポートする構成状態に繰り返し入ったり出たりしてもよく、又は設計上のオプションとして、テザリングをサポートする構成状態に留まるが、ワイヤレスネットワークへのアクセスが変化するときにその状態内でテザリングサービスを保留しそしてその保留を除去するようにしてもよい。
【００４２】
図７は、本発明に使用することのできる典型的なコンピューティングシステム（又は「コンピュータシステム」）の一例を示す。図７は、コンピュータシステムの種々のコンポーネントを示すが、このような細部は本発明に密接に関連しないので、コンポーネントを相互接続する特定のアーキテクチャー又は仕方を表すものでないことに注意されたい。例えば、図７のアーキテクチャーは、上述したホスト装置及び周辺装置のいずれか又は両方に適用される。又、スマートホン、パーソナルデジタルアシスタント（ＰＤＡ）、セルラー電話、ハンドヘルドコンピュータ、メディアプレーヤ（例えば、ｉＰｏｄ）、娯楽システム、これら装置の観点又は機能を結合する装置（例えば、１つの装置においてＰＤＡ及びセルラー電話と結合されたメディアプレーヤ）、別の装置内の埋め込まれた処理装置、ネットワークコンピュータ、消費者向け電子装置、並びにより少数のコンポーネント又はおそらくより多数のコンポーネントを有する他のデータ処理システムも、本発明の１つ以上の実施形態に使用でき、又はそれら実施形態を具現化するのに使用できることも明らかである。図７のコンピュータシステムは、例えば、アップル社のマッキントッシュコンピュータである。このシステムは、ここに述べたソフトウェアをプログラミングするとき、又はコンパイルするとき、又は実行するときに使用される。
【００４３】
図７に示すように、データ処理システムの一形式であるコンピュータシステム４５は、処理システム４７、揮発性メモリ４９及び不揮発性メモリ５０に結合されたバス５１を備えている。処理システム４７は、任意のキャッシュ４８に結合されたインテル社からのマイクロプロセッサである。バス５１は、これらの種々のコンポーネントを一緒に相互接続すると共に、これらのコンポーネントをディスプレイコントローラ及びディスプレイ装置５２へ相互接続し、且つマウス、キーボード、モデム、ネットワークインターフェイス、プリンタ、及び良く知られた他の装置である入力／出力装置５３のような周辺装置へ相互接続する。典型的に、入力／出力装置５３は、入力／出力コントローラを通してシステムに結合される。揮発性メモリ４９は、典型的に、メモリ内のデータをリフレッシュし又は維持するために常時電力を必要とするダイナミックＲＡＭ（ＤＲＡＭ）として具現化される。不揮発性メモリ５０は、典型的に、磁気ハードドライブ、フラッシュ半導体メモリ、又は磁気光学ドライブ又は光学ドライブ又はＤＶＤ  ＲＡＭ、或いはシステムから電力が取り去られた後でもデータ（例えば、大量のデータ）を維持する他の形式のメモリシステムである。又、典型的に、不揮発性メモリ５０は、ランダムアクセスメモリであるが、これは必要とされない。
【００４４】
図７は、不揮発性メモリ５０が、データ処理システム内の残りのコンポーネントに直結されたローカル装置であることを示しているが、本発明は、システムから離れた不揮発性メモリ、例えば、モデム又はイーサネットインターフェイスのようなネットワークインターフェイスを通してデータ処理システムに結合されたネットワーク記憶装置を利用できることが明らかであろう。バス５１は、良く知られた種々のブリッジ、コントローラ及び／又はアダプタを通して互いに接続された１つ以上のバスを含む。
【００４５】
以上の説明から、本発明の態様は、少なくとも一部分は、ソフトウェアで実施できることが明らかであろう。即ち、この技術は、メモリ（例えば、メモリ４９及び／又はメモリ５０）のようなマシン読み取り可能な記憶媒体に収容されたインストラクションのシーケンスを実行するマイクロプロセッサのようなプロセッサに応答してコンピュータシステム又は他のデータ処理システムにおいて実施することができる。種々の実施形態において、本発明を具現化するために、ハードワイヤード回路がソフトウェアインストラクションと組み合せて使用される。従って、この技術は、ハードウェア回路及びソフトウェアの特定の組み合せに限定されるものでもないし、データ処理システムにより実行されるインストラクションのための特定のソースに限定されるものでもない。更に、この説明を通して、種々の機能及びオペレーションは、説明を簡略化するためソフトウェアコードにより遂行され又は生じるものとして説明された。しかしながら、当業者であれば、このような表現は、処理システム４７のようなプロセッサによりコードを実行することから機能が得られることを意味することが分かるであろう。
【００４６】
以上、特定の実施形態を参照して本発明を説明した。特許請求の範囲に規定された本発明の精神及び範囲から逸脱せずに種々の変更がなされることが明らかであろう。従って、以上の説明及び添付図面は、本発明を例示するものに過ぎず、本発明をそれに限定するものではない。
【符号の説明】
【００４７】
４０１：環境に気付くメカニズム
４０２：構成状態のプライオリティリスト
４０３：選択メカニズム
５０１：ホスト
５０２：周辺装置
５０３：ローカル相互接続
５０４：リンク状態パケット
５０６：イーサネットネットワーク
５０７：イーサネットインターフェイス
５０８：ＷＡＮインターフェイス
５０９：テザリングインターフェイス
５１０：ＵＳＢインターフェイス
５１１：リンク状態パケット
【図１Ａ】
0005433531.tif 000002
【図１Ｂ】
0005433531.tif 000003
【図２】
0005433531.tif 000004
【図３】
0005433531.tif 000005
【図４】
0005433531.tif 000006
【図５Ａ】
0005433531.tif 000007
【図５Ｂ】
0005433531.tif 000008
【図５Ｃ】
0005433531.tif 000009
【図５Ｄ】
0005433531.tif 000010
【図５Ｅ】
0005433531.tif 000011
【図６】
0005433531.tif 000012
【図７】
0005433531.tif 000013