(57)【特許請求の範囲】
【請求項１】
サービスを広告するためのコンピュータ実施方法であって、ローカル装置が、
サービス要求をモニタリングするための利用ウインドウの期間中に、サービス広告のためのブロードキャストと利用ウインドウとの間の次の時間間隔を、前記ローカル装置の状態に基づき動的に調整する処理と、
サービス広告をワイヤレスネットワークにおいてブロードキャストする処理であって、そのサービス広告は、広告される１つ以上のサービスを識別する１つ以上のサービス識別子（ＩＤ）、及びローカル装置の利用スケジュールを含み、前記利用スケジュールが前記利用ウインドウの仕様を含んでいる当該処理と、
前記サービス広告がブロードキャストされた後であって、前記利用ウインドウが前記利用スケジュールにより指定される前の時間間隔は、前記ローカル装置の少なくとも一部分への電力を減少させる処理と、
前記ローカル装置の少なくとも一部分に対する電力を回復させ、前記ワイヤレスネットワークにおけるサービス要求を前記利用ウインドウの間にモニタリングする処理と、
前記利用ウインドウの間にリモート装置からサービス要求を受信することに応答して、前記リモート装置にサービス応答を送信する処理であって、そのサービス応答は、サービス要求における１つ以上のサービスＩＤにより識別される１つ以上のサービスに関連した詳細な情報を有するものである当該処理と、
のためのオペレーションを実行する方法。
【請求項２】
各サービスＩＤは、前記ローカル装置から潜在的に利用できるサービスを識別するハッシュ値により表される、請求項１に記載の方法。
【請求項３】
前記サービス広告は、そのサービス広告内に含まれる前記サービスＩＤの数及び実際のサービスＩＤを指示する情報を含み、その各々は、ローカル装置から潜在的に利用できるサービスを表わす、請求項１に記載の方法。
【請求項４】
前記ローカル装置の利用スケジュールは、次の利用ウインドウのスタート時間と、前記ローカル装置が前記ワイヤレスネットワークからのサービス要求を聴取するように構成されるところの利用ウインドウの継続時間とを含む、請求項１に記載の方法。
【請求項５】
前記次の利用ウインドウは、広告をブロードキャストする時間から、次の利用ウインドウのスタート時間までの時間オフセットにより表され、そのスタート時間の際に、前記ローカル装置は、前記利用ウインドウの継続時間で指定された期間中に聴取するように構成される、請求項４に記載の方法。
【請求項６】
ワイヤレストランシーバと、前記ワイヤレストランシーバに結合された電力管理ユニットを有するポータブル装置であって、
前記電力管理ユニットは、
サービス要求をモニタリングするための前記ポータブル装置の利用ウインドウの期間中に、サービス広告のためのブロードキャストと利用ウインドウとの間の次の時間間隔を、前記ポータブル装置の状態に基づき動的に調整し、
前記サービス広告がブロードキャストされた後であって、前記利用ウインドウが前記利用スケジュールにより指定される前の時間間隔は、前記ポータブル装置の少なくとも一部分への電力を減少させ、
前記利用ウインドウの間、前記ポータブル装置の少なくとも一部分に対する電力を回復させ、
前記ポータブル装置は、更に、前記ワイヤレストランシーバを介して前記ワイヤレスネットワークにサービス広告をブロードキャストするサービス広告ユニットに接続されたサービス広告ユニット、を備え、
前記サービス広告は、広告される１つ以上のサービスを識別する１つ以上のサービス識別子（ＩＤ）、及びポータブル装置の利用スケジュールを含み、前記利用スケジュールが前記利用ウインドウの仕様を含み、
前記利用ウインドウの間にリモート装置からサービス要求を受信することに応答して、前記サービス広告ユニットは、前記リモート装置にサービス応答を送信するように構成され、そのサービス応答は、サービス要求における１つ以上のサービスＩＤにより識別される１つ以上のサービスに関連した詳細な情報を有するものであり、そして
前記ポータブル装置は、前記ワイヤレスネットワークにおけるサービス要求を前記利用ウインドウの間にモニタリングする、
ことを特徴とするポータブル装置。
【請求項７】
サービスを発見するためのコンピュータ実施方法であって、ローカル装置が、
リモート装置からワイヤレスネットワークを介してローカル装置でサービス広告を受信する処理であって、そのサービス広告は、前記リモート装置により広告される１つ以上のサービスを識別する１つ以上のサービス識別子（ＩＤ）を含み、更に、サービス広告は、前記リモート装置の利用スケジュールを含み、前記利用スケジュールは、前記リモート装置がサービス要求をモニタリングしている間の利用ウインドウの仕様を含み、前記リモート装置は、サービスのお知らせのためのブロードキャストと利用ウインドウとの間の時間間隔を、前記リモート装置の状態に基づき動的に調整する当該処理と、
前記サービス広告を受信した後であって、前記利用ウインドウが前記利用スケジュールにより指定される前の時間間隔は、前記ローカル装置の少なくとも一部分への電力を減少させる処理と、
前記リモート装置の前記利用ウインドウ間、前記ローカル装置の少なくとも一部分に対する電力を回復させる処理と、
前記サービス広告に応答して、前記ローカル装置により、前記広告における１つ以上のサービスを問合せるためのサービス要求をリモート装置へ送信する処理であって、そのサービス要求は、問合せされる１つ以上のサービスに関連した１つ以上のサービスＩＤを含んでいる当該処理と、
のためのオペレーションを実行する方法。
【請求項８】
各サービスＩＤは、前記リモート装置から潜在的に利用できるサービスを識別するハッシュ値により表される、請求項７に記載の方法。
【請求項９】
前記サービス広告は、その広告内に含まれるサービスＩＤの数及び実際のサービスＩＤを指示する情報を含み、その各々は、リモート装置から潜在的に利用できるサービスを表わす、請求項７に記載の方法。
【請求項１０】
前記リモート装置の利用スケジュールは、次の利用ウインドウのスタート時間と、前記リモート装置が前記ワイヤレスネットワークからのサービス要求を聴取するように構成されるところの利用ウインドウの継続時間とを含む、請求項７に記載の方法。
【請求項１１】
ワイヤレストランシーバと、前記ワイヤレストランシーバに結合されたサービス発見ユニットを有するポータブル装置であって、
前記サービス発見ユニットは、
そのワイヤレストランシーバを介して、リモート装置からワイヤレスネットワーク経由でサービス広告を受信し、前記広告は、前記リモート装置により広告される１つ以上のサービスを識別する１つ以上のサービス識別子（ＩＤ）を含み、前記利用スケジュールは、前記リモート装置がサービス要求をモニタリングするための利用ウインドウの仕様を含み、前記リモート装置は、サービス広告ためのブロードキャストと前記利用ウインドウとの間の次の時間間隔を前記リモート装置の状態に基づき動的に調整し、
更に、前記サービス発見ユニットは、前記サービス広告に応答して、前記リモート装置の利用スケジュールに基づき、前記サービス広告で広告された１つ以上のサービスを問合せするためにサービス要求をリモート装置へ送信するように構成され、そのサービス要求は、問合せされる１つ以上のサービスに関連した１つ以上のサービスＩＤを含み、更に、
前記サービス広告を受信した後であって、前記リモート装置の利用スケジュールにより指定される利用ウインドウの前に、前記ローカル装置の少なくとも一部分への電力を減少させ、
サービス要求がリモート装置へ送信されるリモート装置の利用ウインドウ中に前記ローカル装置の少なくとも一部分への電力を回復させる、
ように構成された電力管理ユニットを更に備える、
ことを特徴とする、ポータブル装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、ピアツーピアネットワークの分野に係り、より詳細には、ピアツーピアネットワーク環境におけるサービス広告及びサービス発見に係る。
【０００２】
関連出願：本願は、参考としてここにそのまま援用する２００９年１２月２３日に出願された米国プロビジョナル特許出願第６１／２８９，６８９号の優先権を主張する。
【背景技術】
【０００３】
電子装置、コンピューティングシステム、ポータブル装置及びハンドヘルド装置のような装置は、ゲームアプリケーションのようなソフトウェアアプリケーションを有する。これらアプリケーションの幾つかは、共有されるもので、例えば、多数の装置が協力形態でゲームアプリケーションに参加することができる。アプリケーションの共有特徴をサービスと称することができる。ある装置が別の装置によって提供されるサービスを利用する前に、参加装置（発見者）は、ネットワーク上で利用できるサービスを発見しなければならない。サービスは、ネットワーク上のリモート装置（即ち、広告主）により広告される。
【０００４】
ネットワークに接続されるか又は接続を試みる電子装置にとって種々の発見技術を利用することができる。これら発見技術は、典型的に、ネットワークプロトコルを使用して、ネットワーク接続を通してどんな装置及び／又はサービスが利用できるか決定することを含む。これら発見技術は、多数の状況に有用である。しかしながら、ある状況では、これら発見技術が最適なものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
典型的に、ネットワークの各装置は、例えば、１００ミリ秒（ｍｓ）ないし８００ｍｓの周期的範囲で、共通に知られたスキャニング及び広告スケジュールに基づき、ネットワークのサービスを周期的にスキャンし及び／又は広告するように構成される。ネットワークに多数の装置が接近配置されているときには、そのようなスキャニング及び／又は広告戦略は、効率的なものではない。というのは、甚だしい通信チャンネル混雑が生じて、その結果、装置は、別の装置のサービスを発見し及び／又はサービスを広告するのに長時間を要するからである。このようなシナリオでは、信頼できるサービス発見を保証するために付加的な時間を費やしてスキャニングを行う必要がある。付加的な時間を費やしたスキャニングは、ポータブル電子装置の重要なリソースである多量の電力を消費する。更に、頻繁な発見スキャニング及び広告送信、それ自体も、ポータブル装置にとって重要なより多くの電力を消費する。ポータブル装置のためのサービス発見及び／又は広告を最適化するための効率的な方法がない。
【課題を解決するための手段】
【０００６】
ある実施形態によれば、装置（例えば、ノートブック、セルラー／スマートホン、メディアプレーヤ、パーソナルデジタルアシスタント（ＰＤＡ）又はその組み合わせのような電子的ポータブル装置）がワイヤレスネットワーク（例えば、ＩＥＥＥ８０２．１１又はＷｉＦｉや、Ｂｌｕｅｔｏｏｔｈ（登録商標）準拠ネットワークのようなパーソナルエリアネットワーク）における１つ以上のサービスを効率的に発見し及び／又は広告できるようにするサービス発見及び広告メカニズムが利用される。
【０００７】
一実施形態において、第１の装置がワイヤレスネットワークにおいて１つ以上のサービスを広告するときに、その第１の装置は、ネットワークに広告メッセージ（単に広告とも称される）をブロードキャスト又はマルチキャストし、広告は、第１の装置から潜在的に利用できる特定のサービスを各々識別する１つ以上のサービス識別子（例えば、ハッシュ）を含む。広告は、更に、第１の装置の利用スケジュールのような利用性に関する情報を含み、第１の装置は、ネットワークにおいて広告に関するサービス要求を聴取する。その後、第１の装置は、利用性情報（例えば、利用スケジュール）に基づくその後のある期間まで、第１の装置の高周波（ＲＦ）部分（例えば、トランシーバ、アンテナ）のような少なくとも一部分に対して電力をターンオフするか又は低減する。或いは又、第１の装置は、その期間中に他の幾つかのタスクを遂行することができる。
【０００８】
ネットワーク上の第２の装置が広告を受信すると、その第２の装置は、第１の装置から広告されたサービスの１つ以上を取得することに関心があるかどうかを広告におけるサービス識別子に基づいて決定することができる。関心がある場合は、第２の装置は、第１の装置の利用性情報を使用して第１の装置へサービス要求を送信し、このサービス要求は、１つ以上の選択されたサービスのサービス識別子を含む。例えば、第２の装置は、第１の装置の利用スケジュールに基づいてサービス要求を送信する（例えば、第１の装置が聴取しているときに第１の装置の利用ウインドウの間に）。サービス要求に応答して、第１の装置は、要求されたサービスに関する更に詳細な情報を第２の装置へ送信することができる。
【０００９】
別の実施形態によれば、ネットワークの各装置は、各装置の動作環境及びネットワーク内のネットワークトラフィックを監視するように構成される。監視の結果に基づき、装置は、その広告周期及び／又はサービス発見周期を動的に調整する。例えば、装置は、残りのバッテリ寿命が僅かな場合には、サービス広告及びサービス発見の頻度を減少する（例えば、サービス広告及び／又は発見の周期を延長する）。別の例として、例えば、ネットワーク内の装置の数が多いために、通信チャンネルの混雑が比較的顕著であると決定された場合にも、装置は、それに応じてサービス広告及び／又は発見の周期を調整する（例えば、ネットワークの混雑崩壊を回避するためにサービス広告及び／又は発見の周期を延長する。）
【００１０】
一実施形態において、サービス広告周期及び／又はサービス発見周期は、所定の基本値の倍数に基づいて計算される。しかしながら、サービス発見周期は、サービス広告周期の倍数でないように構成され、又はその逆のことも言える。その結果、広告主及び／又は発見者は、それ自身のサービス広告周期及び／又はサービス発見周期を独自に計算できるが、広告主からの広告は、サービス広告周期及び／又はサービス発見周期の特定の計算に基づく期間にわたって、依然、発見者により捕獲することができる。
【００１１】
更に別の実施形態によれば、１つ以上のサービスを広告できる複数の装置は、他の装置に代わってサービスを広告するための１つ以上の装置を選択するように互いに整合する。そのような装置は、グループ広告主として働く。装置は、各装置の監視ロジックにより監視される種々のパラメータ（例えば、バッテリ状態、等）に基づきグループ広告主として選択される。装置は、それ自身のサービスを広告する広告主として、及び／又はネットワークの他の装置のサービスを広告するグループ広告主として動作する。又、装置は、それ自身のサービスを広告する広告主(advertiser)として動作すると共に、それ自身のサービスの１つ以上が別の装置により広告される被広告主(advertisee)でもある。又、装置は、そのサービスを広告するために別の装置に依存するだけの被広告主としても動作する。
【００１２】
本発明の他の特徴は、添付図面及び以下の詳細な説明から明らかとなろう。
【００１３】
本発明の実施形態は、同様の要素が同じ参照番号で示された添付図面に一例として示すが、これに限定されるものではない。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態で具現化されるネットワーク構成を示す。
【図２】本発明の一実施形態による電子装置の一例を示すブロック図である。
【図３】一実施形態によるサービス広告トランザクションフローの一例を示すフローチャートである。
【図４】一実施形態によるサービス広告のタイムライン図である。
【図５】一実施形態による広告メッセージの一例を示すブロック図である。
【図６】一実施形態によりサービスを広告するための方法の一例を示すフローチャートである。
【図７】一実施形態によりサービスを発見するための方法の一例を示すフローチャートである。
【図８】本発明の別の実施形態による電子装置を示すブロック図である。
【図９】一実施形態による広告周期及び発見周期を示すタイムライン図である。
【図１０】本発明の別の実施形態によりサービスを広告するための方法を示すフローチャートである。
【図１１】本発明の別の実施形態によりサービスを発見するための方法を示すフローチャートである。
【図１２】本発明の別の実施形態による電子装置を示すブロック図である。
【図１３Ａ】本発明の実施形態により広告動作状態間の装置の移行例を示す移行図である。
【図１３Ｂ】本発明の実施形態により広告動作状態間の装置の移行例を示す移行図である。
【図１３Ｃ】本発明の実施形態により広告動作状態間の装置の移行例を示す移行図である。
【図１４】本発明の一実施形態によるグループ広告メッセージを示すブロック図である。
【図１５】ある装置が、別の装置がグループ広告主として働いてそれに代わってサービスを広告することを要求するための方法を示すフローチャートである。
【図１６】ある装置がグループ広告主となって別の装置に代わって広告サービスをスタートするための方法を示すフローチャートである。
【図１７】本発明の一実施形態によりグループ広告主を選択するための方法を示すフローチャートである。
【図１８】本発明の一実施形態に使用されるデータ処理システムの一例を示す。
【発明を実施するための形態】
【００１５】
本発明の種々の実施形態及び態様を以下に詳細に説明し、添付図面は、種々の実施形態を例示する。以下の説明及び図面は、本発明を例示するものであって、本発明を限定するものではない。本発明の種々の実施形態を完全に理解するために多数の特定の細部について説明する。しかしながら、ある例では、本発明の実施形態の簡潔な説明を与えるために良く知られた又は従来の細部は説明しない。
【００１６】
明細書において「１つの実施形態」又は「一実施形態」とは、その実施形態に関連して述べる特定の特徴、構造又は特性が本発明の少なくとも１つの実施形態に含まれることを意味する。明細書の種々の場所に「１つの実施形態において」という句が現れるときは、必ずしも全てが同じ実施形態を指していない。図面に示されたプロセスは、ハードウェア（例えば、回路、専用ロジック、等）、ソフトウェア、又はその両方の組み合わせを含む処理ロジックにより遂行される。プロセスは、ある逐次のオペレーションに関して以下に述べるが、それらオペレーションの幾つかは、異なる順序で遂行されてもよいことが明らかであろう。更に、あるオペレーションは、逐次ではなく並列に遂行されてもよい。
【００１７】
定義
・広告主(Advertiser)：それ自身のサービスの１つ以上を広告する装置。
・グループ広告主：１つ以上の他の装置に代わって１つ以上のサービスを広告する装置。又、グループ広告主は、もしあれば、それ自身のサービスも広告する。
・被広告主(Advertisee)：そのサービスがネットワーク上の別の装置により（即ち、それ自身を含まないグループ広告主により）広告される装置。
・発見者：ネットワーク上の１つ以上のサービスを発見するように試みる装置。
・利用ウインドウ：装置がネットワーク上で使用でき且つネットワークを聴取し、そしてサービス発見要求、広告要求及び他の要求に応答することのできる期間。
・利用スケジュール：サービス要求に応答するように装置を使用できる時間。広告メッセージに含まれると、これは、装置の利用ウインドウの時間及び幅を指示する。
・広告／広告メッセージ：利用できるサービスに関する情報を含み、広告主により周期的に送られるブロードキャスト／マルチキャストフレーム。
・グループ広告／グループ広告メッセージ：それ自身のサービス（もしあれば）並びにネットワーク上の他の装置に利用できるサービスに関する情報を含み、グループ広告主により周期的に送られるブロードキャスト／マルチキャストフレーム。
・広告要求／広告要求メッセージ：ある装置から別の装置へ送られるメッセージで、受信者がグループ広告主として働いて送信者に代わってサービスを広告することを要求するメッセージ。
・広告応答／広告応答メッセージ：広告要求メッセージに応答してある装置により別の装置へ送られるメッセージで、送信者が最初の要求メッセージを与えてグループ広告主として働くかどうか指示するメッセージ。
・サービス要求／サービス要求メッセージ：発見者により広告主へ送られるメッセージで、供給されたＩＤに一致するサービスに関する詳細情報を要求するメッセージ。
・サービス応答／サービス応答メッセージ：広告主／グループ広告主により発見者へ送られるメッセージで、１つ以上のサービスに関する詳細情報を供給するメッセージ。
・広告周期：広告主による広告フレームの次々の送信と送信との間の時間間隔。
・発見周期：発見者による次々の発見試みと発見試みとの間の時間間隔。
【００１８】
図１は、本発明の実施形態で具現化されるネットワーク構成を示す。図１を参照すれば、このネットワーク構成１００は、ＩＥＥＥ８０２．１１のようなワイヤレスネットワーク（例えば、ＷｉＦｉ）、又はパーソナルエリアネットワーク（ＰＡＮ）準拠のネットワーク（例えば、Ｂｌｕｅｔｏｏｔｈ）であるネットワーク１０４に通信結合された複数の電子装置１０１−１０３を備えている。装置１０１−１０３のいずれか１つは、ポータブル装置、例えば、ポータブルコンピューティング装置（例えば、カリフォルニア州クパチーノのアップル社からのＭａｃＢｏｏｋTMのようなノートブック／ノートブックコンピュータ）、タブレットＰＣ（例えば、アップル社からのｉＰａｄTM）、セルラー／スマートホン（例えば、アップル社からのｉＰｈｏｎｅTM）、メディアプレーヤ（例えば、アップル社からのｉＰｏｄTM）、ＰＤＡ、コピア／プリンタ／スキャナ／モデム／ファクシミリ装置、又はその組み合わせである。或いは又、装置１０１−１０３のいずれか１つは、ワイヤレスネットワークの別の装置とワイヤレス通信することのできるワイヤレス通信インターフェイス（例えば、内蔵又はプラグイントランシーバ又はＲＦフロントエンド）を有するデスクトップコンピュータ又は他の非ポータル装置である。
【００１９】
装置１０１−１０３の各々は、サービス広告ロジック（例えば、各々ロジック１０５−１０７）及びサービス発見ロジック（例えば、各々ロジック１０８−１１０）を備え、これらは、ハードウェア、ファームウェア、ソフトウェア又はその組み合わせで具現化される。サービス広告ロジックは、ネットワーク１０４のローカル装置の１つ以上のサービスを広告する役割を果たし、一方、サービス発見ロジックは、ネットワーク１０４の１つ以上のリモート装置から利用できる１つ以上のサービスを発見する役割を果たす。装置１０１−１０３は、種々のワイヤレス通信プロトコル、例えば、ＷｉＦｉ又はＢｌｕｅｔｏｏｔｈ準拠プロトコルを使用してネットワーク１０４の１つ以上のサービスを広告し及び／又は発見する。パーソナルエリアネットワークプロトコルを使用するサービス発見に関する更に詳細な情報が、参考としてここにそのまま援用される２００９年３月１６日に出願された“Service Discovery Functionality Utilizing Personal Area Network Protocols”と題する同時係争中の米国特許出願第１２／４０５，１３０号に見られる。
【００２０】
１つの装置（広告主とも称される）からのサービスの広告の目的は、その特定の装置から特定のサービスが潜在的に利用できることをネットワーク内の他の装置に通知し、又はネットワーク内の他の装置（発見者とも称される）がそのことを発見できるようにすることである。又、本出願全体にわたり、本出願の実施形態は、ワイヤレスネットワーク環境において説明することに注意されたい。しかしながら、そのような実施形態は、ワイヤードネットワーク環境にも適用できることが明らかであろう。
【００２１】
一実施形態において、第１の装置、この例では、装置１０１がワイヤレスネットワークで利用できる１つ以上のサービスを広告するときに、装置１０１のサービス広告ロジック１０５が広告メッセージ（単に広告又はサービス広告とも称される）をネットワーク１０４にブロードキャスト又はマルチキャストし、この広告は、装置１０１から潜在的に利用できる特定のサービスを各々識別する１つ以上のサービス識別子（ＩＤ）を含む。サービス識別子は、種々のハッシュアルゴリズム（例えば、ＳＨＡ−１又はＭＤ５）を使用して構成されたハッシュ値により表される。ハッシュ値は、署名を表わすデータ又は特定サービスのある特性に基づいて発生される。広告は、更に、装置１０１がネットワーク１０４において他の装置（例えば、装置１０２−１０３）からの広告のためのサービス問合せを聴取するときに、装置１０１がその利用ウインドウをセットするために使用する装置１０１の利用スケジュールのような利用情報も含む。その後、装置１０１は、装置１０１に関連した利用情報に基づくその後のある期間まで、装置１０１のある部分の電力、例えば、装置１０１の少なくとも高周波（ＲＦ）部分（例えば、トランシーバ、アンテナ）をターンオフし又は減少する。或いは又、装置１０１は、ネットワーク１０４において送信又は聴取を行わずに他のタスクを遂行してもよい。
【００２２】
ネットワーク内の第２の装置、この例では、装置１０２が、広告のサービス識別子に基づいて、装置１０１からブロードキャストされた広告を受け取ると、装置１０２は、装置１０１からの広告されたサービスの更に詳細な情報を得ることに関心があるかどうか決定する。もしそうであれば、一実施形態によれば、装置１０２は、装置１０１の利用スケジュールに基づいて装置１０１へサービス要求を送信することができ（例えば、装置１０１が聴取しているときに装置１０１の利用ウインドウの１つの間に）、このサービス要求は、１つ以上の選択されたサービスの１つ以上のサービス識別子を含む。サービス要求に応答して、装置１０１は、要求されたサービスのより詳細な情報を送信する（例えば、装置１０２）。即ち、サービスＩＤは、広告主から潜在的に利用できるサービスを単に指示する。そのようなサービスを確認するために、発見者は、サービス要求及び応答プロトコルを通して広告主から更に詳細な情報を取得しなければならない。
【００２３】
別の実施形態によれば、ネットワーク１０４の装置１０１−１０３の各々は、各装置の動作環境及びネットワークにおけるネットワークトラフィックを監視するように構成される。その監視結果に基づいて、装置は、そのサービス広告周期（単に広告周期とも称される）及び／又はサービス発見周期（単に発見周期とも称される）を動的に調整することができる。例えば、装置１０１のバッテリがローになった場合に、装置１０１は、サービス広告及びサービス発見の送信及び聴取頻度を減少する（例えば、サービス広告及び／又は発見の周期を延長する）。別の例として、例えば、ネットワーク内の装置の数が多いために、通信チャンネルの混雑が比較的激しいと決定された場合にも、装置１０１は、それに応じてサービス広告及び／又は発見の周期を調整する（例えば、広告及び／又は発見の周期を延長する）。
【００２４】
一実施形態において、サービス広告周期及び／又はサービス発見周期は、所定の基本値の１つ以上の倍数に基づいて計算される。しかしながら、サービス発見周期は、サービス広告周期の倍数として構成されなくてもよく、その逆のことも言える。その結果、広告主及び発見者は、それら自身のサービス広告周期及び／又はサービス発見周期を独自に計算できるが、広告主（例えば、装置１０１）からの広告は、依然、発見者（例えば、装置１０２）により、ある期間にわたって取得することができる。更に、サービス広告周期がサービス発見周期の倍数ではなく、又はその逆のことも言えるので、ネットワーク内の各装置は、それらの間に通信を確立する前に、上述したネットワーク状態についてのそれ自身の認識に基づいて、それ自身の周期を適応させることができる。
【００２５】
更に別の実施形態によれば、装置１０１−１０３は、他の装置に代わってサービスを広告するための１つ以上の装置を選択するよう互いに整合することができる。例えば、装置１０１は、装置１０２及び／又は装置１０３のサービスを広告するため、装置の監視ロジックにより監視される種々のパラメータ（例えば、バッテリ状態、等）に基づきグループ広告主として選択される。装置１０１は、それ自身のサービス及び装置１０２−１０３のサービスをネットワークにおいて広告するグループ広告主として動作できる。又、装置１０１は、それ自身のサービスを広告する広告主として動作できると共に、１つ以上のサービスが別の装置（例えば、装置１０２−１０３）によりサービスされる被広告主としても動作できる。又、装置１０１は、そのサービスを広告するのに別の装置（例えば、装置１０２−１０３）に依存するだけの被広告主として動作してもよい。
【００２６】
本出願全体にわたり、「サービス」という語は、これに限定されないが、プリントサービス、ローカルエリアネットワーク（ＬＡＮ）アクセスサービス、ワイドエリアネットワーク（ＷＡＮ）アクセスサービス、セルラー電話サービス、データ記憶サービス、及び／又はアプリケーションサービス（例えば、メディア再生、ゲーム、協力ドキュメント生成サービス、記録サービス、等）を含む広範囲のサービスであることに注意されたい。
【００２７】
効率的なサービス広告及び／又は発見メカニズム
図２は、本発明の一実施形態による電子装置の一例を示すブロック図である。例えば、電子装置２００は、図１の装置１０１−１０３のいずれか１つの一部分として具現化される。図２を参照すれば、装置２００は、これに限定されないが、サービス広告ユニット２０１、サービス発見ユニット２０２、ユーザインターフェイスユニット２０３、サービス管理ユニット２０４、記憶装置２０５、１つ以上のプロセッサ又はプロセッサコア２０６、ネットワークインターフェイスユニット２０７、及びメモリ２０８を備え、これらは、バス、相互接続部又はメッシュ２０９を経て互いに結合される。
【００２８】
プロセッサ２０６は、シングルプロセッサ、マルチプロセッサ、又はマルチプロセッサコアである任意の種類のマイクロプロセッサである。ネットワークインターフェイス２０７は、これに限定されないが、ワイヤレストランシーバ及びアンテナ又はモデム、等を含むＲＦフロントエンドの一部分である。或いは又、ネットワークインターフェイスユニット２０７は、イーサネット（登録商標）ポート、ユニバーサルシリアルバス（ＵＳＢ）、又はＦｉｒｅｗｉｒｅTMポートのようなワイヤード通信インターフェイスも含む。メモリ２０８は、典型的に揮発性メモリとして具現化される任意の種類のランダムアクセスメモリ（ＲＡＭ）である。ユーザインターフェイスユニット２０３は、ディスプレイ装置、入力装置（例えば、キーボード、タッチパッド、タッチスクリーン、スタイラス装置、又はその組み合わせ）、並びにオーディオ及び／又はビデオインターフェイス、等を含む。
【００２９】
サービス広告ユニット２０１は、装置２００により利用でき又は装置２００により提供される１つ以上のサービスを広告する役割を果たす。例えば、サービス広告ユニット２０１は、図１のサービス広告ロジック１０５−１０７のいずれか１つの一部分として具現化される。一実施形態では、サービス広告ユニット２０１は、広告スケジュール（例えば、広告周期）に基づきネットワーク（例えば、図１のネットワーク１０４）に広告をブロードキャスト又はマルチキャストすることにより、ネットワークインターフェイスユニット２０７を経て１つ以上のサービスを広告するように構成される。広告は、装置２００により潜在的に提供されるサービスを識別する１つ以上のサービス識別子（ＩＤ）を含む。サービス識別子は、サービスマネージャー２０４により発生され、そして記憶装置２０５にサービス識別子２１０の一部分として記憶される。一実施形態において、サービス識別子は、種々のハッシュアルゴリズム、例えば、ＳＨＡ−１又はＭＤ５アルゴリズムに基づいてサービスマネージャー２０４により発生されるハッシュ値を含む。
【００３０】
或いは又、サービス識別子は、ビットマスクの特定ビットにより表され、ビットマスクは、特定のサービスを各々表わす所定の論理値を有する１つ以上のビットを含む。例えば、ビットマスクの特定ビットの位置は、広告主から潜在的に利用できる特定のサービスを指示するのに使用され、ビットマスクは、参考としてここにそのまま援用する２０１０年１月１４日に出願された“Efficient Service Discovery for Peer-to-Peer Networking Device”と題する同時係争中の米国特許出願第１２／６８７，８１４号に開示された技術と同様に、広告を経てネットワークにブロードキャストされる。
【００３１】
この場合も、サービスＩＤは、広告主から潜在的に利用できるサービスを単に指示するだけである。加えて、ハッシュ（サービスＩＤ）は、複数のサービスが同じ値にハッシュされた場合に衝突が起こり得るので、おそらく複数のサービスを表わすことができる。このようなサービスを確認するため、発見者は、サービス要求及び応答プロトコルを通して広告主から更に詳細な情報を取得しなければならない。そのような潜在的なサービスを表わすハッシュ値をブロードキャスト又はマルチキャストすることにより潜在的なサービスを広告し、そしてそのようなサービスに対する特定の要求のみに応答してサービスに関する詳細情報を与えることで、サービス広告及び発見に関与するネットワークトラフィックが著しく減少される。
【００３２】
又、サービスマネージャー２０４は、装置２００から利用できるサービスに関連したサービス情報２１１を維持又は管理する役割を果たし、これは、記憶装置２０５に記憶される。記憶装置２０５は、任意の種類のメモリ装置又はディスクとして具現化され、そして任意の種類のファイルシステムを経てアクセスされる。又、サービスマネージャー２０４は、ネットワークにおいて利用できるサービスのリストも発生して維持し、これは、ネットワークにおいて装置２００及び他の装置により広告されるサービスを含む。サービスのリストは、サービス発見ユニット２０２により遂行されるサービス発見オペレーションの結果に応答して周期的に更新される。
【００３３】
同様に、サービス発見ユニット２０２は、ネットワークから利用できる１つ以上のサービスであって、ネットワーク内の１つ以上の他の装置により広告されるサービスを発見するという役割を果たす。例えば、サービス発見ユニット２０２は、図１のサービス発見ロジック１０８−１１０のいずれか１つの一部分として具現化される。リモート装置からの広告に応答して、サービス発見ユニット２０２は、サービスの更に詳細な情報を取得するためにネットワークインターフェイスユニット２０７を経てリモート装置と通信するように構成され、そしてネットワークから利用できるサービスのリストを発生又は更新し、これは、サービス情報２１１の一部分として記憶される。
【００３４】
図３は、一実施形態によるサービス広告トランザクションフローの一例を示すフローチャートである。説明上、ローカル装置３０１（広告主）及びリモート装置３０２（発見者）は、両方とも、図２の装置２００と同様の又は同一のインフラストラクチャーを有すると仮定する。図２及び３を参照すれば、一実施形態により、装置３０１のサービス広告ユニットからトランザクション３０３を経て広告を受け取った後に、装置３０２のサービス発見ユニットは、広告要求におけるサービスＩＤを、オペレーション３０４を経てローカル発生されたものと比較する。装置３０２が、広告されたサービス（１つ又は複数）に関心がある場合には、装置３０２のサービス発見ユニットは、装置３０２が関心のある１つ以上のサービスを識別する１つ以上のサービス識別子を含むサービス要求を、トランザクション３０５を経て装置３０１へ送信する。そのサービス要求に応答して、装置３０１のサービス広告ユニットは、要求された１つ以上のサービスの詳細な情報を含むサービス応答を、トランザクション３０６を経て装置３０２へ送信する。サービス識別子は、サービスが装置３０１から潜在的に利用できることしか指示しないことに注意されたい。潜在的サービスの詳細情報を得るために、発見者は、サービス識別子に基づくサービス要求を送信することにより詳細情報を取得しなければならない。次いで、装置３０２は、返送されたサービス情報を、トランザクション３０７を経て、望ましいサービスのローカルリストと比較する。いずれかのサービスに一致する場合には、装置３０１−３０２がトランザクション３０８を経てサービス（例えば、協力形態でゲームをプレイする）に参加することができる。
【００３５】
一実施形態によれば、図２に戻ると、サービスを広告するとき、サービス広告ユニット２０１により発生される広告は、更に、広告主、この例では、装置２００の利用スケジュールを含む。一実施形態において、利用スケジュールは、広告が送信された時間からの次の利用ウインドウのスタート、及びウインドウの長さ（例えば、利用ウインドウの継続時間）を含む。即ち、広告主は、ネットワークにおいて特定の期間中しか聴取しない。発見者は、広告を受信すると、広告主の利用スケジュールに基づいて送信タイムスロットをスケジュールし、その間、発見者は、広告主の利用ウインドウの１つの間に広告主へサービス要求を送信する。さもなければ、広告主及び発見者のいずれか又は両方が、例えば、各装置の電力管理ユニット（図示せず）により、各装置の少なくとも一部分（例えば、ワイヤレストランシーバ又はＲＦフロントエンド）への電力をターンオフするか又は減少することができる。図２に示すコンポーネントの幾つか又は全部を、ハードウェア、ファームウェア、ソフトウェア、又はその組み合わせで具現化できることに注意されたい。
【００３６】
図４は、一実施形態によるサービス広告のタイムライン図である。図４を参照すれば、広告主（例えば、装置２００）がサービスを広告するとき、一実施形態では、広告主は、時間４０１に広告を送信し、広告は、次の利用ウインドウスタートまでの間隔４０２及び次の利用ウインドウの継続時間４０３を有する利用スケジュールを含む。即ち、時間４０１に広告を送信した後に、広告主は、装置の少なくとも一部分、例えば、装置のＲＦフロントエンドへの電力をターンオフするか又は減少する。次いで、広告主は、次の利用ウインドウにおいて継続時間４０３の間電力をターンオンに戻し、その間、発見者は、広告主と通信して、特定サービス（１つ又は複数）の更に詳細な情報を取得する。その結果、広告主の電力消費を減少することができる。利用ウインドウの間に、広告主は、発見者からサービス要求を受け取り、そして要求されたサービス（１つ又は複数）の詳細情報を有するサービス応答で返答する。
【００３７】
同様に、発見者は、広告を受信すると、装置の少なくとも一部分への電力をターンオフするか又は減少し、そして広告主へサービス要求を送信するために広告主の次の利用ウインドウに基づいてウェイクアップする。その結果、発見者の電力消費も減少される。
【００３８】
図５は、一実施形態による広告メッセージの一例を示すブロック図である。図５を参照すれば、広告５００は、これに限定されないが、ヘッダ５０１、利用ウインドウスタート５０２、利用ウインドウ長さ５０３、サービスＩＤの数５０４、及び１つ以上のサービスＩＤ５０５を含む。一実施形態において、サービスＩＤは、広告されると考えられるサービスを表わすハッシュ値により表される。一般的に述べると、ハッシュ（サービスＩＤ）は、複数のサービスが同じ値にハッシュされた場合に衝突が起こり得るので、おそらく複数のサービスを表わすことができる。広告５００のフォーマット及びフィールド構成は、説明上示されたもので、他のフォーマット又はフィールド構成も具現化できることに注意されたい。
【００３９】
図６は、一実施形態によりサービスを広告するための方法の一例を示すフローチャートである。この方法６００は、ハードウェア、ファームウェア、ソフトウェア、又はその組み合わせを含む処理ロジックによって遂行されることに注意されたい。例えば、方法６００は、図２のサービス広告ユニット２０１によって遂行される。図６を参照すれば、ブロック６０１において、次の利用ウインドウスタート周期、利用ウインドウ長さ、サービスＩＤ（例えば、ハッシュ）の数、及び実際のサービスＩＤを含む広告がローカル装置（例えば、広告主）内で構成される。各サービスＩＤは、ローカル装置により潜在的に提供されるサービスを表わす。ブロック６０２において、ローカル装置によりワイヤレスネットワークに広告がブロードキャスト又はマルチキャストされる。
【００４０】
ブロック６０３において、ローカル装置は、装置の少なくとも一部分への電力を任意にターンオフ又は減少し、そしてブロック６０４において、広告要求に指定された次の利用ウインドウに基づく時間にウェイクアップする。ブロック６０５において、利用ウインドウの間に、ローカル装置は、広告に応答してリモート装置からネットワークを経て送られるサービス要求を聴取し受信する。サービス要求は、リモート装置によって問合せされる１つ以上のサービスを表わす１つ以上のサービスＩＤを含む。１つ以上のサービスＩＤは、ローカル装置から以前にブロードキャスト又はマルチキャストされた広告に提示されたものから選択される。サービス要求に応答して、ブロック６０６において、ローカル装置は、サービス要求で要求されたサービスの詳細情報を含むサービス応答をリモート装置へ送信する。
【００４１】
図７は、一実施形態によりサービスを発見するための方法の一例を示すフローチャートである。この方法７００は、ハードウェア、ファームウェア、ソフトウェア、又はその組み合わせを含む処理ロジックにより遂行されることに注意されたい。例えば、方法７００は、図２のサービス発見ユニット２０２によって遂行される。図７を参照すれば、ブロック７０１において、ローカル装置（例えば、発見者）は、リモート装置からネットワークを経て広告を受信する。広告に応答して、ブロック７０２において、ローカル装置は、次の利用ウインドウスタート、利用ウインドウ長さ、及びリモート装置によって広告される１つ以上のサービスを識別する１つ以上のサービスＩＤ（例えば、ハッシュ）を、広告から抽出する。ブロック７０３において、ローカル装置は、装置の少なくとも一部分への電力を任意にターンオフ又は減少し、そして広告に指定された次の利用ウインドウに基づくある時間にウェイクアップする。ブロック７０４において、ローカル装置は、サービス要求をリモート装置へ送信し、サービス要求は、問合せされる１つ以上のサービスを識別する１つ以上のサービスＩＤ（例えば、ハッシュ）を含む。ブロック７０５において、リモート装置の利用ウインドウ間にリモート装置からサービス応答が受信され、サービス応答は、問合せされたサービスのより詳細な情報を含む。
【００４２】
動的な広告／発見周期を伴うサービス広告／発見
ある実施形態によれば、広告周期及び発見周期は、ある時点の動作状態及び／又はユーザ振舞いに基づいて動的に調整される。一実施形態によれば、ネットワークの各装置は、各装置の動作環境及びネットワークのネットワークトラフィックを監視するように構成される。監視の結果に基づいて、装置は、その広告周期及び／又はサービス発見周期を動的に調整する。例えば、装置のバッテリがローになった場合に、装置は、サービス広告及びサービス発見の頻度を減少する（例えば、サービス広告及び／又は発見の周期を延長する）。別の例として、例えば、ネットワーク内の装置の数が多いために、通信チャンネルの混雑が比較的顕著であると決定された場合にも、装置は、それに応じてサービス広告及び／又は発見の周期を調整する（例えば、ネットワークの混雑崩壊を回避するためにサービス広告及び／又は発見の周期を延長する。）
【００４３】
一実施形態において、サービス広告周期及び／又はサービス発見周期は、所定の基本値の倍数に基づき計算される。しかしながら、サービス発見周期は、サービス広告周期の倍数でなくてもよく、又はその逆のことも言える。その結果、広告主及び／又は発見者は、それ自身のサービス広告周期及び／又はサービス発見周期を独自に計算できるが、広告主の広告要求は、サービス広告周期及び／又はサービス発見周期の特定の計算に基づく期間にわたって、依然、発見者により捕獲することができる。
【００４４】
図８は、本発明の別の実施形態による電子装置を示すブロック図である。例えば、装置８００は、図１の装置１０１−１０３のいずれか１つとして具現化される。図８を参照すれば、図２の装置２００と同様に、装置８００は、これに限定されないが、サービス広告ユニット２０１、サービス発見ユニット２０２、ユーザインターフェイスユニット２０３、サービス管理ユニット２０４、サービス識別子２１０及びサービス情報２１１を記憶するための記憶装置２０５、１つ以上のプロセッサ又はプロセッサコア２０６、ネットワークインターフェイスユニット２０７、メモリ２０８、及びユーザインターフェイスユニット２０３を備え、これらは、バス、相互接続部又はメッシュ２０９を経て互いに結合される。これらのコンポーネントは、図２に示されたものと同一又は同様の機能を有し、従って、図２からの幾つかの参照番号が保持される。
【００４５】
更に、一実施形態によれば、装置８００は、動作環境監視ユニット８０１と、広告及び／又は発見周期又はスケジュール計算器８０２とを備えている。一実施形態において、動作環境監視ユニット８０１は、装置８００の動作環境及びネットワークのネットワークトラフィックを監視するように構成される。監視の結果に基づいて、広告／発見周期計算器８０２は、広告周期及び／又はサービス発見周期を動的に調整するように構成される。例えば、装置８００が、（監視ユニット８０１により監視された）残りのバッテリ寿命が僅かである場合には、広告及び／又は発見周期又はスケジュール計算器８０２は、サービス広告及びサービス発見の頻度を減少することができる（例えば、サービス広告及び／又は発見周期を延長する）。別の例として、例えば、ネットワーク内又は所定の接近度内の装置の数が多いために、通信チャンネルの混雑が比較的顕著であると決定された場合も、広告及び／又は発見周期計算器８０２は、それに応じてサービス広告及び／又は発見周期を調整することができる。更に、広告及び／又は発見周期は、共有されるアプリケーションのタイプ及びユーザの振舞い（例えば、アクティブなユーザ）、等に基づいて調整されてもよい。
【００４６】
一実施形態において、サービス広告周期及び／又はサービス発見周期は、所定の基本値の１つ以上の倍数に基づいて計算される。しかしながら、サービス発見周期は、サービス広告周期の倍数でなくてもよく、又はその逆のことも言える。その結果、広告主及び発見者は、広告周期及び／又は発見周期をローカル環境に基づいて独自に計算及び／又は調整することができる。更に、サービス広告周期がサービス発見周期の倍数ではなく、又はその逆のことも言えるので、ネットワーク内の各装置は、それらの間に通信を確立せずに、上述したネットワーク状態についてのそれ自身の認識に基づいて、それ自身の周期を適応させることができる。
【００４７】
図９は、一実施形態による広告周期及び発見周期を示すタイムライン図である。図９を参照すれば、タイムライン９００は、広告周期を表わし、そしてタイムライン９５０は、発見周期を表わす。説明上、広告周期は、所定の基本値の３倍に基づいて計算され、一方、発見周期は、所定の基本値の４倍に基づいて計算される。図９に示したように、広告メッセージは、発見周期とは異なる時間に異なるレートでブロードキャストされるが、広告周期及び発見周期は、両方とも、合意された所定の基本値の倍数に基づいて計算されるので、広告送信及び発見聴取は、最終的に、タイムスロット９０１−９０３において重畳する。
【００４８】
その結果、広告主及び／又は発見者は、調整ファクタを個々の装置の動作状態に基づいて独自に調整することができる。例えば、装置のバッテリが低レベルであると決定された場合には、調整ファクタ（Ｎ）を増加して、広告及び／又は発見アクティビティを低速化し、次いで、電力消費及びチャンネル使用を更に減少することができる。しかしながら、広告周期及び／又は発見周期を延長すると、特定の広告メッセージを捕えるための検出時間も延長され、低い性能を招く。
【００４９】
別の実施形態によれば、発見周期は、ドェルタイム（例えば、装置が広告メッセージを聴取する期間）の倍数として計算され、広告周期の倍数ではない。特定の実施形態では、広告周期は、Ｎを整数とすれば、所定の基本値（例えば、１００ｍｓ）＊２＾Ｎの倍数として構成され、発見周期は、Ｍを整数とすれば、所定の基本値＊３＾Ｍ又は５＾Ｍとして構成され、そしてドェルタイムは、所定の基本値（例えば、１００ｍｓ）＊（１＋１０％）として構成される。非効率性のためにドェルタイムアカウントに１０％を加えると、ドェルタイムが所定の基本値より厳密に大きくなることを保証する。
【００５０】
以下のテーブルにおいて、括弧内の％数値は、これらの特定広告／発見周期中に装置の少なくともＲＦフロントエンドがアップでなければならない時間のパーセンテージを表わす。広告数値は、広告メッセージ送信、即ちラジオのウェイクアップ、チャンネル争い、及び数百μｓフレームの送信、に対する２ｍｓのおおよその推定に基づく。発見数値は、１００ｍｓの発見聴取ドェルタイムに基づく。テーブルのメイン部分の数値は、広告主が当該列ヘッダにおける広告周期を使用し、そして発見者が当該行ヘッダにおける発見周期を使用する場合に、装置を発見するのに最悪どれほどかかるかを示す。時間は、全て、秒である。
【表１】
0005638624.tif 000002
【００５１】
スタティックな環境にあるか又はバッテリ使用量を著しく減少することを望む装置は、その発見周期及び広告周期を独自に延長することができ、例えば、各々、２４．３秒及び２００ｍｓとすることができる。この例では、前記テーブルに基づき、これは、そのような装置に対する放送時間（例えば、ラジオを聴取し且つフルパワーである時間）が、検出時間の増加（同じ値を任意に実施する別の装置を検出するために４８．６秒）を犠牲として１．５％より低くなることを保証する。「スタティック環境」とは、例えば、ユーザが長い期間家に留まり、従って、ワイヤレス動作環境の変化に遭遇しないケースを指す。同様に、大きなバッテリをもつか、又は動的な環境にある（又はそれが移動していることを検出する）装置も、その発見周期を、例えば、２．５秒まで独自に短縮することができ、高速な発見時間を導くことができる。これは、ＡＣ電源を伴うプラグ式装置のケースである。例えば、１６以上の他の広告主又はアクセスポイント（ＡＰ）を検出する場合に混雑環境にあることを検出する装置は、それらの広告周期を独自に延長することができ、これは、検出時間を延長するが、ネットワークの混雑を緩和する。広告周期を、例えば、４００ｍｓに延長すると、検出時間は、１２．５秒周期で発見する装置に対して５０秒の範囲となり、この場合の放送時間は、１．３％である。これは、ユーザが、会議室や、多数の小室をもつオープンスペースの仕事環境で座っているケースである。
【００５２】
ユーザが動いているという事実の検出は、多数の発見周期にわたり適度に高い受信信号強度指示子（ＲＳＳＩ）を伴う幾つかのアクセスポイントの存在を記録することで実行することができる。これは、発見周期中に検出される幾つかの最高ＲＳＳＩ  ＡＰの基本的サービスセット識別子（ＢＳＳＩＤ）を装置がキャッシュ記憶することを要求する。高いＲＳＳＩ  ＡＰが検出されない場合には、これは、ユーザが迅速に動いているか又はＷｉＦｉフリー環境にいることを意味する。検出時間を短縮するためには、広告周期及び発見周期をより短く調整しなければならない。これらの高いＲＳＳＩ  ＡＰの１つ以上が多数の発見周期にわたって一定に検出される場合には（例えば、関連又は非関連、及び非ローミング）、ユーザが家又は既知の場所で座っている。発見周期は、２００ｍｓにセットされ、そして広告周期は、より大きな値（例えば、２４．３秒又は６２．５秒）まで延長される。このユーザは、他の装置を検出するのに長い時間を要さないが、装置の動きにより検出の容易でなくなる。混雑した環境である場合には、潜在的な混雑を減少するため調整を行わねばならず、そして広告周期を延長する必要がある。その結果、装置は、より頻繁に発見し（例えば、より電力を消費し）又はより長く待機することにより、互いに検出することができる。
【００５３】
図１０は、本発明の別の実施形態によりサービスを広告するための方法を示すフローチャートである。この方法１０００は、ハードウェア、ファームウェア、ソフトウェア又はその組み合わせを含む処理ロジックによって遂行されることに注意されたい。例えば、この方法１０００は、図８のサービス広告ユニット２０１により遂行される。図１０を参照すれば、ブロック１００１において、バッテリ状態、ネットワークトラフィックの混雑、ユーザの振舞い、広告されるサービスのタイプ、等を含む現在動作状態がローカル装置（例えば、広告主）により監視される。動作状態に基づいて、ブロック１００２において、広告周期が適宜に動的に調整される。一実施形態において、広告周期は、上述したように、所定基本値の倍数として構成される。ブロック１００３において、調整された広告周期に基づき、上述したサービス広告及び発見技術を使用して広告される１つ以上のサービスを含む広告が、ネットワークにブロードキャスト又はマルチキャストされる。ブロック１００４において、問合せされるサービスを識別するサービス識別子又は指示子を含むサービス要求が、広告要求に応答して、リモート装置から受信される。そのサービス要求に応答して、ブロック１００５において、要求されたサービスの詳細情報がサービス応答によりネットワークを経てリモート装置へ送られる。
【００５４】
図１１は、本発明の別の実施形態によりサービスを発見するための方法を示すフローチャートである。この方法１１００は、ハードウェア、ファームウェア、ソフトウェア、又はその組み合わせを含む処理ロジックにより遂行されることに注意されたい。例えば、この方法１１００は、図８のサービス発見ユニット２０２により遂行される。図１１を参照すれば、ブロック１１０１において、バッテリ状態、ネットワークトラフィックの混雑、ユーザの振舞い、広告されるサービスのタイプ、等を含む現在の動作状態がローカル装置（例えば、発見者）により監視される。動作状態に基づいて、ブロック１１０２において、発見周期が適宜に動的に調整される。一実施形態において、発見周期は、上述したように、所定基本値の倍数として構成される。ブロック１１０３では、処理ロジックは、ネットワークで利用できるサービスを発見する試みにおいてその調整された発見周期に基づきネットワークにおいて周期的に聴取を行う。発見中にリモート装置から受信される広告に応答して、ブロック１１０４では、広告において広告されるサービスを問合せるためにサービス要求がリモート装置へ送信される。ブロック１１０５において、そのサービス要求に応答して、要求されたサービス（１つ又は複数）のある詳細情報を含むサービス応答がリモート装置から受信される。
【００５５】
整合サービス広告実施形態
ある実施形態によれば、１つ以上のサービスを広告することのできる複数の装置は、他の装置に代わってサービスを広告するための１つ以上の装置を選択するように互いに整合することができる。装置は、装置の監視ロジックにより監視される種々のパラメータ（例えば、バッテリ状態、等）に基づいてグループ広告主として選択されてもよい。装置は、それ自身のサービス、及びネットワークの他の装置のサービスを広告するグループ広告主として動作してもよい。又、装置は、それ自身のサービスを広告する広告主(advertiser)として、及びそのサービスの１つ以上が別の装置により広告される被広告主(advertisee)として動作してもよい。又、装置は、そのサービスを広告するために別の装置に依存するだけの被広告主として動作してもよい。
【００５６】
図１２は、本発明の別の実施形態による電子装置を示すブロック図である。例えば、この装置１２００は、図１の装置１０１−１０３のいずれか１つとして具現化される。図１２を参照すれば、図２の装置２００又は図８の装置８００と同様に、装置１２００は、これに限定されないが、サービス広告ユニット２０１、サービス発見ユニット２０２、ユーザインターフェイスユニット２０３、サービス管理ユニット２０４、サービス識別子２１０及びサービス情報２１１を記憶するための記憶装置２０５、１つ以上のプロセッサ又はプロセッサコア２０６、ネットワークインターフェイスユニット２０７、メモリ２０８、ユーザインターフェイスユニット２０３、及び動作環境監視ユニット８０１を備え、これらは、バス、相互接続部又はメッシュ２０９を経て互いに結合される。これらのコンポーネントは、図２及び８に示されたものと同一又は同様の機能を有し、従って、説明上、図２及び８からの幾つかの参照番号が保持される。
【００５７】
更に、一実施形態によれば、装置１２００は、他の装置に代わってサービスを広告するグループ広告主として１つ以上の装置を選択するためにネットワークのある接近度内の他の装置と整合するように構成された広告主選択ユニット１２０１も備えている。例えば、この広告主選択ユニット１２０１は、ネットワークの所定の接近度内にある他の装置の広告主選択ユニットと通信して、それらの中の１つ以上の装置をグループ広告主として選択し又はネゴシエーションする。例えば、監視ユニット８０１により監視され又は収集される動作状態及び／又はユーザの振舞いのような１つ以上のパラメータ又は属性に基づいて１つ以上の装置が決定され及び選択される。
【００５８】
例えば、あるリモート装置をグループ広告主として選択すべきであると広告主選択ユニット１２０１が決定すると、広告主選択ユニット１２０１は、サービス広告要求メッセージ（単に広告要求とも称される）をその選択されたリモート装置へ送信するようにサービス広告ユニット２０１に命令して、そのリモート装置が装置１２００のためのサービスを広告できるようにする。ネットワークにブロードキャスト又はマルチキャストされる広告とは異なり、広告要求は、広告のために特定のリモート装置を要求するユニキャスト（例えば、ポイントツーポイント）メッセージである。或いは又、１つ以上のリモート広告主を要求する広告要求がネットワークにマルチキャスト又はブロードキャストされてもよい。一実施形態において、リモート広告主に送信されるサービス広告要求は、装置１２００のアドレス（例えば、装置１２００のメディアアクセスアドレス又はＭＡＣ）、サービス識別子の数、実際のサービス識別子（例えば、ハッシュ）、及び装置１２００の利用スケジュールのような利用情報を含む。その結果、リモートグループ広告主によりサービスが広告されるときには、リモート発見者は、リモートグループ広告主に連絡する必要なく、リモートグループ広告主により広告される１つ以上のサービスに問合せするように装置１２００と直接通信することができる。装置１２００は、リモートグループ広告主が装置１２００に代わって少なくとも幾つかのサービスを広告する間に、それ自身のサービスを広告し続けることができる。
【００５９】
或いは又、リモート広告主が装置１２００のサービスを広告するように選択されると、広告主選択ユニット１２０１は、それ自身のサービスの広告を停止すると共に、装置１２００を被広告主へ移行させるようにサービス広告ユニット２０１に命令する。更に、広告主選択ユニット１２０１は、リモート装置からサービス広告要求を単に受け取り、そしてリモート装置に代わって、及びそれ自身のサービスの広告を実行するようにサービス広告ユニット２０１に命令する。この状況では、広告要求は、ユニキャスト又はマルチキャストメッセージ（例えば、１つ以上の特定の装置に特に向けられる）であり、ブロードキャストメッセージ（例えば、ネットワーク内の全ての装置に送られる）ではない。
【００６０】
本出願の実施形態は、多数の装置が互いの範囲内にあって接近検出に関与している（例えば、混雑した会議室において）状況に適用することができる。この状況では、幾つかの装置のみが他の全ての装置のために広告するように装置にそれらの広告を分担させることにより拡張性が達成される。２つの装置が（上述した接近検出を経て）互いを見るとき、それらが共通のサービス識別子（例えば、ハッシュ）を共有する事実に関わらず、一方の装置は、例えば、指向される広告要求フレームを他方の装置に送信することにより、それ自身の広告ペイロードを実行するように他方の装置に要求することができる。この広告要求フレームは、それに応答する必要がないもので、要求された装置が、要求側装置の広告ペイロードの実行を遵守する限り、要求された装置は、要求側装置のグループ広告主と考えられ、そして要求側装置は、被広告主と考えられる。
【００６１】
一実施形態において、装置は、次の４つの状態の１つで動作する。
・状態０：広告主（例えば、それ自身のみを広告する）
・状態１：グループ広告主（例えば、それ自身を広告すると共に、他の幾つかのピアも広告する）
・状態２：広告主及び被広告主（例えば、少なくとも１つの他のピアにより広告され、それ自身を広告するが、他のピアについては広告しない）
・状態３：被広告主（例えば、他の幾つかのピアによって広告される）
【００６２】
装置は、最初、それ自身のサービスしか広告しない状態０でスタートする。この状態は、デフォールト状態であり、前記で述べた同じ基本的振舞いを分担する。協力広告アルゴリズムへの関与により、状態０の装置は、付加的な協力広告状態１−３の１つへ促進される。
【００６３】
このアルゴリズムは、１つのフレーム（即ち、広告要求）しか使用せず、それは、指向されたフレームであって、状態０、状態２又は状態３にある装置により、状態０、状態１又は状態２にある装置へ送信できるフレームである。複数の装置が、接近検出に関与する多数の他の装置の範囲内であるときは、それらが協力広告に入る。一実施形態では、協力広告を実施する各装置は、それ自身の広告ペイロードを実行できる所与の数の広告主、例えば、２つ又は３つの広告主を見つけるよう試みる。被広告主が充分なピアにより広告されるときには、それ自身の広告フレームの送信を停止し、従って、そのリモートグループ広告主を通して発見するしかない。広告の要求は、固定期間中（例えば、数分間）有効であり、次いで、更新が要求される。
【００６４】
一実施形態によれば、協力広告は、２つの装置が互いに見ることができるときだけ、即ち両方とも状態０、状態１、又は状態２で動作するときだけ行われる。一実施形態では、装置は、次の事柄の少なくとも幾つかに基づいて別の装置のグループ広告主として選択される。
１．装置は、それが所定数のピア（例えば、１６個のピア）より多数について広告しない場合にグループ広告主として選択される；
２．装置は、それが最大数の他のピアについて現在広告する場合にグループ広告主として選択される；
３．装置は、それが、最小数のピアにより現在広告される場合にグループ広告主として選択される；
４ａ．装置は、それが、合計で最高数のサービスを広告する場合にグループ広告主として選択される；及び／又は
４ｂ．装置は、残りのバッテリ寿命が最長である場合にグループ広告主として選択される；
５．装置は、それが、最高数のサービスＩＤを有する場合にグループ広告主として選択される；及び
６．装置は、それが、最高のＭＡＣアドレスを有する場合にグループ広告主として選択される。
【００６５】
１つの装置を選択するため、前記各項が順次に及び／又は並列に評価された。例えば、４ａ及び４ｂ項は、同時に評価された。即ち、異常に多数のサービスＩＤを有する装置は、グループ広告主として選択される見込みが最も高い。サービスＩＤの数がほぼ同じである場合には、バッテリの使用が重要なファクタとなる。他方、装置が無限のバッテリ寿命を有する（例えば、ＡＣコンセントに差し込まれる）場合には、グループ広告主として選択される見込みが高い。一実施形態において、バッテリの使用は、装置のクラス及びバッテリに残された動作可能時間を表わす２つの数値でコード化される。協力広告のトポロジー分布を最適化することは、アルゴリズムの目標の１つである。この目標は、少数のグループ広告主が他の被広告主の余分な広告ペイロードを搬送する状況へと収斂することであり、これは、次いで、広告をそれら自体で停止する（即ち、状態３に入る）。被広告主の広告主は、被広告主の周りに及び／又はその付近に空間的に分布される（例えば、広告主の均一な空間的分布）。
【００６６】
空間的分布の均一性が達成される。というのは、共通の被広告主を分担する複数のグループ広告主は、互いに見ることができてはならず、又は非常に低いＲＳＳＩでのみ互いに見てもよく、即ち互いに接近しないからである。あるレベルのＲＳＳＩ（例えば、半範囲ＲＳＳＩより高い）で互いに見ることができ、そして共通の被広告主を分担するときには、一実施形態によれば、グループ広告主の１つは、その共通の被広告主に対する付加的なペイロードをドロップし、そしてその被広告主に対して広告主であることを止めることができる。更に、前記１−６項に一致する周囲のピア間で、装置は、（例えば、ＲＳＳＩに基づいて）最も近いものをその潜在的なグループ広告主として自由に選択する。
【００６７】
ある実施形態によれば、広告は、時間的に有限であり、周期的に、例えば、数分ごとに、更新される必要がある。それらは、対応する被広告主が新たな要求をグループ広告主へ送信するときに更新される。要求は、最短時間以内に、例えば、数分未満以内に所与のピアに再送信することはできない。装置は、それがピアから受信するフレームのＲＳＳＩが途中と最大範囲との間に入り、即ち広告主と被広告主が互いに比較的接近しているときには、別のピアにより広告されることを求める（例えば、広告要求を送信する）。これは、第三者の装置が広告主の範囲内にあるが、被広告主の範囲にはないときの状況を回避する上で助けとなる。
【００６８】
一実施形態において、装置は、複数のピアに、それらが前記１−６項を満足する場合に、グループ広告主として働くことを求める。１−６項は、互いの範囲内にある装置のペア内で、装置の一方だけがそのペアのグループ広告主として潜在的に選択されるように構成される。互いに半ＲＳＳＩ範囲において状態３にあるグループ広告主は、それらの付加的なペイロードを比較し、そして冗長な付加的な広告ペイロードをドロップさせる。即ち、互いに半ＲＳＳＩ範囲における２つのグループ広告主が共通の被広告主を分担する場合に、広告主の一方は、被広告主の広告をドロップしなければならない。広告主としてドロップする装置の選択も、前記１−６項に従う。即ち、最大数のピア（例えば、１６まで）を搬送するグループ広告主は、共通の被広告主を保持し、一方、最低数のピアを搬送するグループ広告主は、被広告主をドロップさせる。これは、フレームの交換を要求しないことに注意されたい。即ち、選択されたグループ広告主は、分担される被広告主を保持して何もせず、他のものは、黙って被広告主をドロップさせる。両広告主は、状態３に留まる。
【００６９】
一実施形態において、共通の被広告主を分担せず、互いに半ＲＳＳＩ範囲において状態１にあるグループ広告主は、協力を選択してもよく、即ちグループ広告主の１つがグループ広告主として選択され、そして１つがそのペアの被広告主として選択されてもよい。被広告主は、状態２に入り（例えば、それ自身の被広告主をドロップさせ）、そして被広告主が３つのピアに到達する場合には、次いで、それ自身のペイロードをドロップさせて、状態３に入る（例えば、広告を完全に停止する）。そのペアの広告主は、被広告主の広告ペイロードの搬送をスタートするが、被広告主の付加的なペイロードは搬送しない。この要求は、被広告主の付加的なペイロードが、それに接近して最初に位置するグループ広告主から、そこから離れて位置するグループ広告主へ転送されないことを保証する。ドロップされた第三者ピアは、ここで、新たな広告主を見つけるか、又は広告主それ自体になることを必要とする。これも、フレーム交換を要求しないことに注意されたい。状態２にあるドロップされたピアは、別のグループ広告主を見つけてその現在状態に留まるか、又は状態０へ移行して、グループ広告主なしに動作する。広告ペイロードを搬送する少なくとも２つのグループ広告主を見つけることのできない状況においてそれ自身を見つける状態３の装置は、状態２に入り、それ自身の広告のブロードキャストを再開する。広告ペイロードを搬送するグループ広告主を見つけることのできない状態３の装置は、状態０に入り、それ自身の広告のブロードキャストを再開する。これら２つの移行は、グループ広告主が範囲から出て、ディスエイブルされるとき、及び／又は広告要求が時間切れして、その周りの全てのグループ広告主が最大容量となるとき、及び／又はその周りに多数の広告主がいないときに、生じる。或いは又、広告ペイロードを搬送するに充分なグループ広告主を見つけることのできない状態３の装置は、前記ルールを使用して新たなグループ広告主を選択し、そしてもし成功であれば、状態３に留まる。
【００７０】
例えば、「良好な」状況は、１つのグループ広告主が１６までの付加的なペイロードを搬送しそして被広告主のペイロードが２つの周囲グループ広告主により搬送されるときである。チャンネルを経て送信される広告フレームの数は、全体的に１６で分割され、従って、衝突の確率は非常に少ない。合計送信ペイロード（即ち、バイト／秒）は、８で除算される。
【００７１】
図１３Ａ−１３Ｃは、本発明の実施形態により動作状態間の装置の移行例を示す移行図である。図１３Ａを参照すれば、装置１３０１−１３０８は、上述したある技術を使用して検出される所定の接近度内で動作すると仮定する。この例において、装置１３０１−１３０２は、状態１においてグループ広告主として動作し、装置１３０３−１３０７は、状態３において被広告主として動作し、そして装置１３０８は、状態２において広告主及び被広告主として動作する。図１３Ａにおいて明らかなように、装置１３０１は、装置１３０８並びに装置１３０３及び１３０５のためのグループ広告主として選択される。装置１３０２は、装置１３０４及び１３０５−１３０７のためのグループ広告主として選択される。又、状態１で動作する装置１３０１−１３０２は、互いに接近し、互いに見ることができると仮定する（例えば、上述したあるＲＳＳＩレベル）。
【００７２】
上述した広告主選択アルゴリズムに基づき、装置１３０２は、装置１３０１（例えば、装置１３０３、１３０５及び１３０８）より多数の被広告主（例えば、装置１３０４及び１３０５−１３０７）を有するので、装置１３０１−１３０２の間で、装置１３０２は、装置１３０１に対してグループ広告主として選択される。その結果、図１３Ｂに示すように、装置１３０１は、状態１から状態２へ移行し、そして装置１３０８のための広告主としてもはや動作しない。その後、図１３Ｃにおいて、装置１３０８は、状態１にあるグループ広告主となり、そして装置１３０１は、前記３項（例えば、最小数の被広告主）のために装置１３０２及び１３０８により広告される被広告主となる。
【００７３】
広告主が被広告主の広告を搬送するとき、それ自身のサービス及び被広告主のサービスのための広告を含むグループ広告メッセージが生成される。図１４は、本発明の一実施形態によるグループ広告メッセージを示すブロック図である。図１４を参照すれば、グループ広告メッセージ１４００は、広告主それ自体のための広告メッセージ１４０１（例えば、それ自身のサービスのための広告メッセージ）を含み、これは、図５の広告メッセージ５００と同一又は同様である。更に、コンパウンド広告メッセージ１４００は、被広告主に各々対応する付加的な広告メッセージ１４０２−１４０４を含む。一実施形態において、被広告主のための広告メッセージ１４１０（例えば、メッセージ１４０２−１４０４）は、被広告主のアドレス（例えば、ＭＡＣアドレス）１４１１、サービス識別子の数１４１２、実際のサービス識別子（例えば、ハッシュ）１４１３、及び被広告主の利用スケジュール１４１４を含む。その結果、広告メッセージ１４１０は、広告主により広告されるが、他の装置は、被広告主と直接通信することにより広告に応答する。図１４に示す広告メッセージのフォーマットは、例示のために示すもので、他のフォーマットも適用できることに注意されたい。
【００７４】
又、ローカル装置は、リモート装置の動作状態に鑑み、ローカル装置の動作状態に基づいてリモート装置をそのグループ広告主として選択するが、一実施形態によれば、リモート装置は、リモート装置の動作状態についてのそれ自身の決定又は評価に基づき広告要求を拒絶又は無視することに注意されたい。この状況において、リモート装置から確認が受信されない限り、ローカル装置は、ネットワークのトラフィック（例えば、サービス広告）を監視して、選択されたリモート装置がローカル装置に代わって広告を実際に搬送するかどうか決定しなければならない。ローカル装置は、リモート装置が広告要求を拒絶又は無視する場合に別のリモート装置を選択しなければならない。
【００７５】
図１５は、本発明の別の実施形態によりサービスを広告するための方法を示すフローチャートである。方法１５００は、ハードウェア、ファームウェア、ソフトウェア、又はその組み合わせを含む処理ロジックにより遂行されることに注意されたい。例えば、方法１５００は、図１２の広告ユニット２０１及び／又は広告主選択ユニット１２０１により遂行される。図１５を参照すれば、ブロック１５０１において、ローカル装置は、ワイヤレスネットワークで聴取を行い、ネットワークに１つ以上のサービスを広告できる１つ以上のリモート装置を決定する。ブロック１５０２において、ローカル装置は、ローカル及びリモート装置の幾つかの所定の動作統計値及び／又は構成を比較する。ブロック１５０３において、ローカル装置は、ローカル装置の１つ以上のサービスを広告するために、その比較に基づき１つ以上のリモート装置を選択する。ブロック１５０４において、ローカル装置は、広告されるべき１つ以上のサービスの識別子（例えば、ハッシュ）を含む広告要求を、ローカル装置に代わって広告を要求する選択されたリモート装置へ送信する。装置は、次いで、ブロック１５０５において、リモート装置の次のグループ広告メッセージでそのサービスを聴取するか、又は成功の広告応答を待機することにより、その要求が受け容れられたかどうか調べるために待機する。要求が失敗である場合には、ローカル装置は、グループ広告主として働ける他のリモート装置があるかどうかチェックする。もしあれば、ブロック１５０１へ進み、異なる装置で手順を再試みする。もしなければ、手順を停止する。要求が成功である場合には、ブロック１５０５へ続く。ブロック１５０５において、任意であるが、ローカル装置は、それ自身のサービスの広告を終了し、そしてそのサービスを広告するために選択されたリモート装置に依存する。
【００７６】
図１６は、本発明の別の実施形態によりサービスを広告するための方法を示すフローチャートである。方法１６００は、ハードウェア、ファームウェア、ソフトウェア、又はその組み合わせを含む処理ロジックにより遂行されることに注意されたい。例えば、方法１６００は、図１２の広告ユニット２０１及び／又は広告主選択ユニット１２０１により遂行される。図１６を参照すれば、ブロック１６０１において、広告されるべき１つ以上のサービスに対するサービスＩＤを含む広告要求がリモート装置から受信される。ブロック１６０２において、装置は、現在装置及び要求側装置の幾つかの所定の動作統計値及び／又は構成を比較して、要求が有効であったかどうか調べる。そうでない場合には、ブロック１６０６において、失敗を指示する広告応答を送信し、次いで、ブロック１６０２へ進む。そうである場合には、成功を指示する広告応答を送信し、次いで、ブロック１６０４へ続く。ブロック１６０４において、処理ロジックは、ローカルサービスの広告及びリモート装置の要求された１つ以上のサービスの広告を有するグループ広告メッセージを構成する。ブロック１６０５において、ローカル装置は、コンパウンド広告フレームをネットワークに周期的にブロードキャストする。
【００７７】
図１７は、本発明の一実施形態によりグループ広告主として装置を選択するための方法を示すフローチャートである。図１７を参照すれば、ブロック１７０１において、装置は、それが所定数より多くの他のピアについて現在広告しない場合にグループ広告主として選択される。ブロック１７０２において、装置は、それが最大数の他のピアについて現在広告する場合にグループ広告主として選択される。ブロック１７０３において、装置は、最低数の他のピアによりそれが現在広告される（例えば、被広告主として）場合に、グループ広告主として選択される。ブロック１７０４において、装置は、それが合計で最大数のサービスを現在広告する場合に、或いはそれが最長の残留バッテリ寿命をもつ場合に、グループ広告主として選択される。ブロック１７０５において、装置は、それが最大数のサービスＩＤを現在有する場合にグループ広告主として選択される。ブロック１７０６において、装置は、それが最高ＭＡＣ（メディアアクセスコントロール）アドレスを現在有する場合にグループ広告主として選択される。ブロック１７０１−１７０６に関与するオペレーションは、順次に遂行されてもよく、及び／又は特定の順序をもたずに並列に遂行されてもよいことに注意されたい。ここでは、他のファクタも考えられる。
【００７８】
本出願全体を通して述べる技術は、種々のシナリオ又は状況に適用することができる。サービスは、上述した幾つかの技術を使用してポータブル装置の接近検出に基づいて広告及び／又は発見することができる。この特徴は、ポータブル装置のユーザが、ワイヤレスネットワークプロトコルを通して１つ以上のサービスを永久的に広告し、そしてそれらサービスの１つを広告する別のポータブル装置の範囲内でポータブル装置が移動するかどうか検出できるようにする。「永久的」という語は、装置のローカルユーザ（例えば、広告主）からの更なる相互作用がなくても、ある期間中、広告をオープンにでき又は入手できることを指す。
【００７９】
例えば、ゲーマー（例えば、チェス又はポーカーのプレーヤ、等）は、どんなインターネットサイト又はゲームソーシャルネットワークにも容易に接続して、どんな相手ともプレイすることができる。そのようなユーザは、その相手に個人的に合うことは決してなく、ネットワークを通して知っている（発見する）。このシナリオでは、相手を探しているポータブル装置のユーザは、特定のゲームについての広告をネットワークにブロードキャストする。広告は、ゲームアプリケーションにより発生され、そしてプレーヤとしてのユーザのランク、希望する相手のランク、希望するゲームのタイプ、等の付加的な情報を含むことができる。ユーザが、同じゲームを広告している別の個人の範囲に入るや否や、両ユーザは、（例えば、アラーム、振動、等で）警報が与えられ、そしてプレイのために互いに接続することができる。又、接近とは、ユーザが実際に個人的に出会うことができてユーザが他のユーザとプレイすること・対・ネットワークにわたってランダムな相手とプレイすること、を意味する。
【００８０】
又、上述した技術は、コンテンツ又はファイルを永久的に共有する（例えば、ある期間中利用できる）のにも適用できる。これは、ポータブル装置からあるコンテンツ（例えば、ピクチャー）をエクスポートすることと同様であるが、ピアツーピアリンクを経てアドホック形態で行われる。例えば、会議（又はパーティ）に参加する（又は大学のキャンパスにいる）ユーザは、ピクチャー又はドキュメントを共有し、そしてその共有をある期間（例えば、１日中、或いは会議又はパーティの全時間中）「オープン」に保つことができる。ユーザの装置で認証／ペアにできる同僚又は友人は、ピクチャー又はドキュメントの近くを歩いたり（例えば、ある接近度内で）、それにアクセスしたり（例えば、ダウンロード）することができる。
【００８１】
共有コンテンツの所有者が、対応する装置（例えば、広告主）の構成に基づいてそれを許す場合には、ピアツーピア接続を生成するために所有者の相互作用（例えば、警告又は許可を求める、等）を必要とせずにコンテンツを共有することができる。ユーザの観点では、これは、あるイベントのピクチャーをスナップ撮影し、そしてそのピクチャーをブロードキャストし続けながら１日中歩くことを意味する。
【００８２】
２つ以上の装置が所定の接近度内でネットワークを経て互いに結合されると、それらの装置は、ネットワークを経て互いに発見し、そして互いに利用できるサービスを発見することができる。それらの装置が、（例えば、対応するサービスＩＤをマッチングすることにより）マルチプレーヤゲームのような共通のマルチ装置ケーパブルアプリケーションをサポートすると決定できる場合には、マルチ装置ケーパブルアプリケーションの１つ以上の分布型機能を遂行するように各装置を構成することができる。分布型機能は、その分布型機能を実質的に同時に遂行する１つ以上の異なる装置に指定されるマルチ装置ケーパブルアプリケーションの機能である。分布型機能は、入力、出力、計算、等を含む。各装置は、他の装置と協力して、その分布型機能を遂行することができる。更に、幾つかの装置は、同じ分布型機能を遂行するように互いに協力することができる。換言すれば、各装置は、マルチ装置ケーパブルアプリケーションを遂行する上で特定の役割を果たし、そしてその役割に基づいて他の装置との関係をもつ。更に、そのような役割及び関係は、ネットワークへの装置の追加、ネットワークからの装置の除去、アプリケーションの現在実行状態、及び／又はユーザ入力、等に応答して動的に変更することができる。
【００８３】
この例では、マルチ装置ケーパブルアプリケーションの少なくとも一部分は、ネットワークにわたり複数の装置間で共有される。マルチ装置ケーパブルアプリケーションを共有するために、マルチ装置ケーパブルアプリケーションの全部又は一部分が、ネットワーク内の幾つかの又は全ての装置に事前にインストールされ、マルチ装置ケーパブルアプリケーションは、上述したサービスＩＤにより識別される。或いは又、１つ以上の装置がマルチ装置ケーパブルアプリケーションの全部又は一部分をネットワーク内の他の装置に送信して、マルチ装置ケーパブルアプリケーションを共有してもよい。その結果、分布型機能は、協力形態で遂行される。複数の装置による協力分布型機能の技術についての更に詳細な情報は、参考としてここにそのまま援用する２００９年６月５日に出願された“Multifunctional Devices as Virtual Accessories”と題する同時係争中の米国特許出願第１２／４７９，５８６号にみることができる。
【００８４】
データ処理システムの例
図１８は、本発明の一実施形態に使用されるデータ処理システムの一例を示す。例えば、このシステム１８００は、図１に示す装置１０１−１０３のいずれか１つとして具現化される。図１８に示すデータ処理システム１８００は、１つ以上のマイクロプロセッサ又は集積回路チップ上のシステムである処理システム１８１１と、処理システムにより実行されるプログラムやデータを記憶するためのメモリ１８０１を備えている。又、システム１８００は、オーディオ入力／出力サブシステム１８０５も備え、これは、マイクロホン及び例えば音楽再生用のスピーカを含み、又はこれらスピーカ及びマイクロホンを通して電話機能も与える。
【００８５】
ディスプレイコントローラ及びディスプレイ装置１８０７は、ユーザのためのビジュアルユーザインターフェイスをなし、このデジタルインターフェイスは、オペレーティングシステムソフトウェアを実行するときに、ｉＰｈｏｎｅ（登録商標）電話装置、ｉＰａｄ装置、又はＭａｃｉｎｔｏｓｈコンピュータに示されるものと同様のグラフィックユーザインターフェイスを含む。又、システム１８００は、別のデータ処理システムと通信するための１つ以上のワイヤレストランシーバ１８０３も備えている。ワイヤレストランシーバは、ＷｉＦｉトランシーバ、赤外線トランシーバ、Ｂｌｕｅｔｏｏｔｈトランシーバ、及び／又はワイヤレスセルラー電話トランシーバである。又、ある実施形態では、図示されていない付加的なコンポーネントもシステム１８００の一部分であり、又、ある実施形態では、図１８に示すものより少数のコンポーネントがデータ処理システムに使用されてもよいことが明らかである。
【００８６】
又、データ処理システム１８００は、ユーザがシステムに入力を付与できるようにするために設けられた１つ以上の入力装置１８１３も備えている。これらの入力装置は、キーパッド、キーボード、タッチパネル、マルチタッチパネルである。又、データ処理システム１８００は、ドック用のコネクタである任意の入力／出力装置１８１５も備えている。図示されていない１つ以上のバスを使用して、この技術でよく知られた種々のコンポーネントを相互接続できることが明らかである。図１８に示すデータ処理システムは、ハンドヘルドコンピュータ、又はパーソナルデジタルアシスタント（ＰＤＡ）、又はＰＤＡのような機能をもつセルラー電話であるか、或いはセルラー電話又はｉＰｏｄのようなメディアプレーヤを含むハンドヘルドコンピュータであるか、或いはこれら装置の観点又は機能を結合する装置、例えば、１つの装置においてＰＤＡ及びセルラー電話と結合されるメディアプレーヤである。他の実施形態では、データ処理システム１８００は、ネットワークコンピュータ、又は別の装置内の埋め込み型処理装置、或いは図１８に示すものより少数のコンポーネント又はおそらくそれより多数のコンポーネントを有する他の形式のデータ処理システムである。
【００８７】
本発明の少なくとも幾つかの実施形態は、ポータブル音楽及び／又はビデオメディアプレーヤのようなデジタルメディアプレーヤの一部分であり、これは、メディアを提示するためのメディア処理システム、メディアを記憶するための記憶装置を含むと共に、アンテナシステム及びメディア処理システムに結合された高周波（ＲＦ）トランシーバ（例えば、セルラー電話のためのＲＦトランシーバ）を更に含むものである。ある実施形態では、リモート記憶装置に記憶されたメディアは、ＲＦトランシーバを経てメディアプレーヤに送信される。メディアは、例えば、音楽又は他のオーディオ、静止画又は動画の１つ以上である。
【００８８】
ポータブルメディアプレーヤは、カリフォルニア州クパチーノのアップル社からのｉＰｏｄ（登録商標）又はｉＰｏｄ  Ｎａｎｏ（登録商標）メディアプレーヤ上のクリックホイール入力装置、タッチスクリーン又はマルチタッチ入力装置、プッシュボタン装置、可動ポインティング入力装置、又は他の入力装置のようなメディア選択装置を含む。このメディア選択装置は、記憶装置及び／又はリモート記憶装置に記憶されたメディアを選択するのに使用される。ポータブルメディアプレーヤは、少なくとも幾つかの実施形態において、入力装置を通して選択されて、スピーカ又はイヤホンのいずれかを通して提示されるか、或いはディスプレイ装置に、又はディスプレイ装置及びスピーカ又はイヤホンの両方に提示されるメディアのタイトル又は他の指示子を表示するためにメディア処理システムに結合されたディスプレイ装置を備えている。
【００８９】
以上の詳細な説明のある部分は、コンピュータメモリ内のデータビットに対するオペレーションのアルゴリズム及び記号表示に関して表現されている。これらのアルゴリズム記述及び表示は、データ処理分野の当業者により、彼等の仕事の実質を他の当業者に最も効率的に伝えるために使用される。アルゴリズムとは、ここでは、一般的に、望ましい結果を導く自己矛盾のないオペレーションシーケンスであると考えられる。オペレーションは、物理量の物理的操作を要求するものである。通常、必ずしもそうでないが、これらの量は、記憶、転送、合成、比較、その他、操作することのできる電気的又は磁気的信号の形態をとる。主として、慣用上、これらの信号は、ビット、値、エレメント、記号、キャラクタ、期間、数値、等として参照するのが便利であると分かっている。
【００９０】
しかしながら、これら及び同様の用語は、全て、適当な物理量に関連付けられ、そしてそれら量に適用される便宜的表示に過ぎないことを銘記されたい。特に指示のない限り、以上の説明から明らかなように、この説明全体を通して、特許請求の範囲に示される用語を使用する説明は、コンピュータシステムのレジスタ及びメモリ内で物理的（電子的）量として表されたデータを操作し、そしてコンピュータシステムのメモリ又はレジスタ或いは他のそのような情報記憶、伝達又は表示装置内で物理的量として同様に表される他のデータへと変換するコンピューティングシステム又は同様の電子的コンピューティング装置のアクション及び処理を参照するものである。
【００９１】
又、本発明の実施形態は、ここに示すオペレーションを遂行するための装置にも係る。この装置は、要求される目的のために特に構成されてもよいし、又はコンピュータに記憶されたコンピュータプログラムにより選択的にアクチベートされ又は再構成される汎用コンピュータを備えてもよい。そのようなコンピュータプログラムは、コンピュータ読み取り可能な媒体に記憶される。装置読み取り可能な媒体は、装置（例えば、コンピュータ）により読み取りできる形態で情報を記憶するためのメカニズムを備えている。例えば、装置読み取り可能な（例えば、コンピュータ読み取り可能な）媒体は、装置（例えば、コンピュータ）読み取り可能な記憶媒体（例えば、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学的記憶媒体、フラッシュメモリ装置、等）、等々を含む。
【００９２】
ここに述べるアルゴリズム及びディスプレイは、特定のコンピュータ又は他の装置に固有に関係していない。種々の汎用システムを、ここに述べる技術に基づくプログラムと共に使用してもよいし、又は必要な方法オペレーションを遂行するように更に特殊な装置を構成するのが便利であると分かっている。種々のこれらシステムに要求される構造は、以上の説明から明らかとなろう。更に、本発明の実施形態は、特定のプログラミング言語を参照して説明していない。上述した本発明の実施形態の教示を具現化するのに種々のプログラミング言語を使用できることが明らかであろう。
【００９３】
以上、特定の実施形態を参照して本発明を説明した。特許請求の範囲に述べる本発明の広い精神及び範囲から逸脱せずに種々の変更がなされ得ることが明らかであろう。従って、明細書及び添付図面は、例示とみなすべきで、それに限定されるものではない。
【符号の説明】
【００９４】
１００：ネットワーク構成
１０１−１０３：電子装置
１０４：ネットワーク
１０５−１０７：サービス広告ロジック
１０８−１１０：サービス発見ロジック
２００：電子装置
２０１：サービス広告ユニット
２０２：サービス発見ユニット
２０３：ユーザインターフェイスユニット
２０４：サービスマネージャー
２０５：記憶装置
２０６：プロセッサ
２０７：ネットワークインターフェイスユニット
２０８：メモリ
２１０：サービス識別子
２１１：サービス情報
８０１：動作環境監視ユニット
８０２：広告／発見周期計算器
１２００：電子装置
１２０１：広告主選択ユニット
【図１】
0005638624.tif 000003
【図２】
0005638624.tif 000004
【図３】
0005638624.tif 000005
【図４】
0005638624.tif 000006
【図５】
0005638624.tif 000007
【図６】
0005638624.tif 000008
【図７】
0005638624.tif 000009
【図８】
0005638624.tif 000010
【図９】
0005638624.tif 000011
【図１０】
0005638624.tif 000012
【図１１】
0005638624.tif 000013
【図１２】
0005638624.tif 000014
【図１３】
0005638624.tif 000015
【図１４】
0005638624.tif 000016
【図１５】
0005638624.tif 000017
【図１６】
0005638624.tif 000018
【図１７】
0005638624.tif 000019
【図１８】
0005638624.tif 000020