(57)【要約】【解決手段】オンラインセッションをスケジュールする方法は、オンラインセッションに対して望ましいタイムスロットを決定するステップと、前記オンラインセッションに参加する潜在的なユーザを決定するステップと、前記潜在的なユーザに招待状を送信するステップと、前記招待状に対する応答を受信することにより、オンラインセッションに対する参加者を特定するステップと、前記オンラインセッションを前記オンラインセッションの前記参加者の予定表に入力するステップとを含む。【選択図】図２【特許請求の範囲】
【請求項１】
オンラインセッションをスケジュールするための方法であって、
オンラインセッションに対して望ましいタイムスロットを決定するステップと、
前記オンラインセッションに参加する潜在的なユーザを決定するステップと、
前記潜在的なユーザに招待状を送信するステップと、
前記招待状に対する応答を受信することにより、オンラインセッションに対する参加者を特定するステップと、
前記オンラインセッションを前記オンラインセッションの前記参加者の予定表に入力するステップとを含むことを特徴とする方法。
【請求項２】
前記潜在的ユーザのオンライン行動をモニタするステップと、
前記潜在的ユーザの前記オンライン行動にもとづいて前記潜在的ユーザのプロファイルを作成するステップとをさらに含む請求項１の方法。
【請求項３】
前記潜在的ユーザを決定するステップは、前記潜在的ユーザの前記プロファイルにもとづいてなされる請求項２の方法。
【請求項４】
前記望ましいタイムスロットを決定するステップは、前記潜在的ユーザの前記プロファイルにもとづいてなされる請求項２の方法。
【請求項５】
前記招待状を送信するステップは、テキストメッセージを送信することを含む請求項１の方法。
【請求項６】
前記招待状を送信するステップは、電子メールを送信することを含む請求項１の方法。
【請求項７】
前記応答を受信するステップは、前記オンラインセッションに対する別の時間を受信することを含む請求項１の方法。
【請求項８】
前記オンラインセッションはオンラインゲームを含む請求項１の方法。
【請求項９】
前記オンラインセッションは前記参加者間のインタラクティブなマルチメディアセッションを含む請求項１の方法。
【請求項１０】
オンラインセッションをスケジュールするための方法であって、
ユーザのオンライン行動をモニタするステップと、
リクエストしているユーザから前記オンラインセッションに対するリクエストであって、前記オンラインセッションに対する望ましいユーザのリストが含まれるリクエストを受信するステップと、
前記望ましいユーザのオンライン行動にもとづいて前記オンラインセッションに対する潜在的なタイムスロットのリストを前記リクエストしているユーザに提供するステップと、
前記潜在的なタイムスロットのリストから少なくとも１つのタイムスロットを選択するステップと、
前記少なくとも１つのタイムスロットにおいて開催されるべき前記オンラインセッションに対する招待状を前記望ましいユーザに送信するステップと、
前記オンラインセッションに対する招待状を受理する応答を受信することにより、前記オンラインセッションに対する参加者を特定するステップと、
前記招待状を受理した前記望ましいユーザの予定表に前記オンラインセッションを入力するステップとを含むことを特徴とする方法。
【請求項１１】
前記招待状を受理する応答が望ましい数に達していないなら、少なくとも１つの別のタイムスロットを選択するステップをさらに含む請求項１０の方法。
【請求項１２】
前記招待状を送信するステップは、テキストメッセージを送信することを含む請求項１０の方法。
【請求項１３】
前記招待状を送信するステップは、電子メールを送信することを含む請求項１０の方法。
【請求項１４】
前記応答を受信するステップは、前記オンラインセッションに対する別の時間を提案する応答を受信することを含む請求項１０の方法。
【請求項１５】
前記オンラインセッションはオンラインゲームを含む請求項１０の方法。
【請求項１６】
前記オンラインセッションは前記参加者間のインタラクティブなマルチメディアセッションを含む請求項１０の方法。
【請求項１７】
ネットワーク上でセッションをスケジュールするコントローラであって、
前記ネットワークに対してデータを送受信するネットワークインタフェースと、
前記ネットワーク上でユーザのデータをモニタし、前記ネットワーク上のユーザの行動のプロファイル情報を決定するプロセッサと、
前記プロファイル情報を格納するメモリとを含み、
前記プロセッサは、前記ネットワーク上で前記セッションに対するリクエストを受信し、
前記リクエストは前記セッションに対する望ましいユーザのリストを含み、
前記プロセッサは、前記リクエストと前記プロファイル情報にもとづいて前記ネットワーク上で前記セッションに対する潜在的なタイムスロットのリストを決定することを特徴とするコントローラ。
【請求項１８】
前記プロセッサは、前記潜在的なタイムスロットのリストから少なくとも１つのタイムスロットを選択するための選択エレメントをさらに含む請求項１７のコントローラ。
【請求項１９】
前記プロセッサは、前記少なくとも１つのタイムスロットにおいて開催されるべき前記ネットワーク上の前記セッションに対する招待状を前記望ましいユーザに送信するための送信エレメントをさらに含む請求項１８のコントローラ。
【請求項２０】
前記プロセッサは、
前記オンラインセッションに対する招待状を受理する応答を受信することにより、前記ネットワーク上の前記セッションに対する参加者を特定するための受信エレメントと、
前記招待状を受理した前記望ましいユーザの予定表に前記ネットワーク上の前記セッションを入力するための入力エレメントとをさらに含む請求項１９のコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンラインセッションに関し、特にオンラインセッションを追跡し、相互に関連づけ、処理することに関する。
【背景技術】
【０００２】
ゲームアプリケーションのような典型的なオンラインセッションでは、プレイヤは、オンライン体験をしながら、パートナー、他のオンラインゲームユーザ、および仮想世界と相互作用し、コミュニケーションする。この体験の有効性は、ゲームや他のアクティビティといったたくさんのオンラインセッションの選択肢をもつユーザにとって重要なものである。
【０００３】
たとえば、オンラインゲームをプレイしたい個人は、その人がプレイするのに都合が良い時間にやっているゲームを見つける必要がある。すなわち、個人のスケジュールにおいてその人がゲームプレイに充てることのできる時間は限られている。さらに、ある人が友人や仲間とオンラインゲームをプレイしたいなら、すべてのプレイヤにとって都合が良い時間を見つける必要がある。複数のゲームプレイヤのスケジュールを調整することは難しく、プレイヤのフラストレーションにつながる。たとえば、ある人が日中、自分は夜にゲームをプレイしたいと決めるなら、その人は他のプレイヤにコンタクトしてゲームをプレイする時間を提案する必要がある。他のプレイヤたちが自分のスケジュールをチェックすると、コンフリクトがあることがあり、幾人かのプレイヤは異なる時間にゲームをプレイすることを要求することになる。その結果、プレイヤたちはすべてのプレイヤが受け入れ可能な時間を見つけようとして、複数のテキストメッセージ、電子メール等を用いることになる。このスケジューリングはプレイヤにとってたいへんフラストレーションを引き起こすものになりうる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、オンラインセッションを追跡し、相互に関連づけ、処理することを改良する必要性がある。
【課題を解決するための手段】
【０００５】
本発明の実施の形態は、オンラインセッションを追跡し、相互に関連づけ、処理する方法を提供する。
【０００６】
ある実施の形態では、オンラインセッションをスケジュールするための方法は、オンラインセッションに対して望ましいタイムスロットを決定するステップと、前記オンラインセッションに参加する潜在的なユーザを決定するステップと、前記潜在的なユーザに招待状を送信するステップと、前記招待状に対する応答を受信することにより、オンラインセッションに対する参加者を特定するステップと、前記オンラインセッションを前記オンラインセッションの前記参加者の予定表に入力するステップとを含む。
【０００７】
別の実施の形態では、オンラインセッションをスケジュールするための方法は、ユーザのオンライン行動をモニタするステップと、リクエストしているユーザから前記オンラインセッションに対するリクエストであって、前記オンラインセッションに対する望ましいユーザのリストが含まれるリクエストを受信するステップと、前記望ましいユーザのオンライン行動にもとづいて前記オンラインセッションに対する潜在的なタイムスロットのリストを前記リクエストしているユーザに提供するステップと、前記潜在的なタイムスロットのリストから少なくとも１つのタイムスロットを選択するステップと、前記少なくとも１つのタイムスロットにおいて開催されるべき前記オンラインセッションに対する招待状を前記望ましいユーザに送信するステップと、前記オンラインセッションに対する招待状を受理する応答を受信することにより、前記オンラインセッションに対する参加者を特定するステップと、前記招待状を受理した前記望ましいユーザの予定表に前記オンラインセッションを入力するステップとを含む。
【０００８】
さらに別の実施の形態では、ネットワーク上でセッションをスケジュールするコントローラは、前記ネットワークに対してデータを送受信するネットワークインタフェースと、前記ネットワーク上でユーザのデータをモニタし、前記ネットワーク上のユーザの行動のプロファイル情報を決定するプロセッサと、前記プロファイル情報を格納するメモリとを含み、前記プロセッサは、前記ネットワーク上で前記セッションに対するリクエストを受信し、前記リクエストは前記セッションに対する望ましいユーザのリストを含み、前記プロセッサは、前記リクエストと前記プロファイル情報にもとづいて前記ネットワーク上で前記セッションに対する潜在的なタイムスロットのリストを決定する。
【０００９】
本発明の他の特徴や利点は、これから詳述する説明および図面を参酌することで技術分野の当業者にとってより容易に明らかになる。
【図面の簡単な説明】
【００１０】
【図１】例示的なオンライン環境のブロック図である。
【００１１】
【図２】マルチユーザオンラインセッションを相互に関連づける実施例のフローチャートである。
【００１２】
【図３】マルチユーザオンラインセッションを相互に関連づける別の実施例のフローチャートである。
【００１３】
【図４】複数のプラットフォーム間のスケジューリング技術のレイヤリングの実施の形態を説明するダイアグラムである。
【００１４】
【図５】スケジューリング技術のレイヤリングの別の実施の形態を説明するダイアグラムである。
【００１５】
【図６】いろいろな実施の形態に関連づけて用いることができるネットワーク可能デバイスの例を説明するブロック図である。
【発明を実施するための形態】
【００１６】
以下の説明を読めば、発明をいろいろな代替的な実施の形態や代替的な応用例に実装する方法が当業者に明らかになる。もっとも、本発明のいろいろな実施の形態がここに記載されるが、これらの実施の形態は例示のみを目的として提示されており、限定されるものではない。いろいろな実施の形態の詳細な説明はそれ自体が本発明の範囲や外延を限定するものと解されるべきではない。
【００１７】
図１は、例示的なオンライン環境のブロック図である。図１に示すように、複数のユーザ１０２、１０４および１０６が、ネットワーク１０８上で交流し、オンラインゲームのようなオンラインセッションに入っていく。ネットワーク１０８は多くの異なるアーキテクチャで接続可能である。たとえば、クライアントサーバアーキテクチャ、ピアツーピアネットワークアーキテクチャ、あるいは他のタイプのアーキテクチャである。たとえば、オンライン環境は、オンラインセッションを調停するサーバ１１０を含んでもよい。また、ネットワークは、異なるタイプのネットワークであってもよい。たとえば、ネットワーク１０８は、インターネット、ローカルエリアネットワークあるいはローカルエリアネットワークの任意のバリエーション、ワイドエリアネットワーク、メトロポリタンエリアネットワーク、イントラネットまたはエクストラネット、あるいは無線ネットワークであってもよい。また、「オンラインセッション」という用語は、異なるユーザがネットワークに接続された任意のネットワークトポロジを特定し、そのネットワークに接続された他のユーザから情報を送受信するために使ってもよい。ある例では、オンラインセッションは、ネットワークに接続されたユーザがゲームに関する情報を送受信するオンラインゲームであってもよい。
【００１８】
ある実施の形態では、ユーザは、他人とオンラインセッションに入る時間をスケジュールすることができる。たとえば、ユーザは他のユーザとオンラインゲームをプレイする時間をスケジュールしたいことがある。オンラインゲームをプレイする状況では、プレイヤは友人あるいは他の知人とプレイすることに次第に興味をもつようになる。しかし、個々人で「プレイスケジュール」は大きく異なるため、１以上の友人と「会う／プレイする時間」を調整するのは困難であろう。ただ一人の人と調整するだけであればさほど困難はないかもしれないが、人の数が増えるにつれて、スケジュール調整はかなり難しくなる。
【００１９】
スケジューリングに対する一つの解決策は、プレイヤがグループに提案を出し、応答を返してもらうことである。もし全員が「はい」と言わないなら、そのプレイヤは別の提案をしなければならない。プレイするのによい時間であるかどうかの判定は、単に人が「忙しい」かどうかに依存するだけではなく、他の事情、たとえば、人が普段、所与のゲームをプレイする時間などにも依存する。たとえば、プレイヤはお決まりのゲームプレイパターンをもっていることが多い。たとえば、特定のゲームを特定の日時にプレイするなどである。すなわち、プレイヤはしばしば所与の時間になると決まってゲームをする（たとえば、毎日曜日の午後３時から４時と毎月曜日の午後６時から１０時）。プレイヤのこのような傾向を利用して、プレイヤがいっしょにプレイすることのできる時間をスケジュールする際にプレイヤの手助けをすることができる。
【００２０】
ある実施の形態は、プレイヤ（またはユーザ）のゲームプレイの習慣とスケジュールを追跡し、その情報を用いて、成功する確率が最も高いマルチプレイヤのプレイセッション時間を生成する。ユーザのゲームプレイの習慣を追跡する具体例として、ユーザがオンラインでプレイする時間をすべて記録し、ログを取ることが含まれる。そしてこの情報を用いて、過去の履歴によればユーザはいつゲームをする傾向があるかを示す確率チャートを生成する。ある例では、この情報を曜日と時間帯で表すことができる。表１は、収集することのできるプレイヤのオンライン時間のデータのタイプの例を示す。ユーザがオンラインである確率は、オンラインで特定のアクティビティに従事しているプレイヤの確率を追跡することに狭めることもできる。たとえば、オンラインでオンラインゲームまたは特定のゲームまたはあるタイプのゲームをしているか、チャットルームをやっているか、オンラインでショッピングをしているなどのプレイヤの確率を記録し、ログを取ることもできる。
【表１】
2011503677.tif 000002
【００２１】
ある実施の形態では、スケジューラおよびミーティング「提案者」、すなわちインテリジェントスケジューラが、表１に収集したような情報を含む情報を用いて、各人がオンラインゲームのような特定のタイプのオンラインセッションに従事するための日時を提案することができる。ある例では、第１プレイヤ（Ａ）は、たとえば３人のプレイヤ（Ａ、ＢおよびＣ）のようなプレイヤのグループがいっしょにプレイすることのできる提案日時をリクエストすることができる。
【００２２】
３人のプレイヤ全員に対して、表１のデータ例に示されるようなデータを用いて、結果がたとえば表２に示すように得られる。
【表２】
2011503677.tif 000003
【００２３】
ある特定のタイプのアクティビティに対して、いつプレイヤがオンラインであるかという確率を用いて、すべてのプレイヤが選択されたタイムスロットにおいて同時にオンラインである可能性について見積もることができる。この技術を用いて、選択された時間を他のユーザのスケジュール（すなわち、他のユーザが既に約束した時間）に照らしてチェックし、ミーティングの時間を提案することができる。そしてユーザは可能性のある時間の一つを選択し、他のユーザに招待状を手動または自動で送ることができる。
【００２４】
ある実施の形態では、あるタイプのゲームのような特定のオンラインセッションに関する特徴を特定して、あるセッションはユーザが興味をもつタイプのセッションとしてふさわしいかどうか、決定することができる。たとえば、ゲームの特徴を特定し、利用することで、そのゲームはプレイヤが好むタイプのゲームとしてふさわしい資格を有するかどうか、決定することができる。ある例では、同じような好みをもつプレイヤを特定し、プレイヤのスケジュールを見て、オンラインゲームをするプレイヤにとって都合の良い共通の空き時間があるかどうか調べることもできる。
【００２５】
たとえば、もしオンラインゲームがロールプレイングゲームであれば、あるプレイヤが戦士のキャラクタを演じたいが、魔法のキャラクタは演じたくないプレイヤとして特定され、プレイヤがゲームの潜在的なプレイヤであるかどうか決める際、プレイヤのこの識別情報を考慮に入れることができる。インテリジェントなスケジューリングモデルを用いれば、プレイヤは、戦士キャラクタを演じるといったような自分のプレファレンスにしたがって、ゲームに参加することができる時間を特定することができる。すなわち、スケジュールの予約状況だけでなく、プレイヤの好き嫌いもオンラインアクティビティをスケジュールするときに考慮に入れることができる。
【００２６】
オンラインアクティビティに参加しようとするプレイヤのスケジュールをチェックすることには、スケジュール調整されたプレイヤに他のプレイヤのセッション継続時間についての事前知識を提供することができるという利点がある。すなわち、プレイヤは、他のプレイヤがある与えられた時間においてアクティビティを離れなければならないことを知りながら、セッションに参加する。この方法によれば、ほんの限られた時間しかないプレイヤが、自分が離れることで他のプレイヤをいらいらさせるのではないかと後ろめたい気持ちを感じることなく、依然としてアクティビティに参加するあるいは参加しないことを選ぶことができる。たとえば、ゲームプレイヤのグループが、ある選択された期間、ゲームをプレイするようにスケジュールされたとすると、その期間の最後にすべてのプレイヤは、プレイヤの一部あるいは全部がゲームを離れることを知っている。ある実施の形態では、ゲームを離れようとするプレイヤは、その離れようとしているプレイヤの代わりをするために前もって調整された別のプレイヤによって取って代わられる。
【００２７】
別の実施の形態では、プレイヤのグループ、たとえば、５人のプレイヤがオンラインゲームをしていてもよい。ゲームにおいて何らかの一貫性を維持するために、プレイヤの集合、たとえば、５人のプレイヤの内、4人は「永続的」であるのに対して、残りの一人は、周期的に交代するプレイヤであってもよい。この方法では、セッションにはある種の継続性があるが、第５番目のプレイヤが周期的に交代することを他のプレイヤは知っている。ゲームプレイヤの一人が交代することを許すことで、ゲームは残りのプレイヤにとってより楽しいものになるかもしれない。なぜなら交代プレイヤは異なる傾向やスキルレベルをもつから、プレイヤが交代すると、ゲームのダイナミクスが変化するからである。
【００２８】
ある実施の形態では、ユーザがサーバにログオンするとき、サーバは、ユーザがログインしたこと、ユーザがどれくらいの期間オンラインであるか、ユーザがセッションの間、どんなアクティビティに関わっているかなどをモニタし、追跡することができる。このデータを用いて、ユーザのプロファイルを作成することができる。たとえば、ユーザプロファイルには、ユーザがオンラインゲームのあるタイプのキャラクタを演じるのが好きであることや、ユーザがある特定のタイプのミッションに参加するのが好きであることなどを特定するデータが含まれる。
【００２９】
ある実施の形態では、ユーザプロファイルを時間管理システムにおいて用いることができる。こうして、ユーザが他のユーザとオンラインゲームをプレイしたいとき、システムは、すべてのユーザに対して有効なタイムスロットの可能性を予測することができる。すなわち、システムは時間と傾向の観点からユーザの行動を分析し、ユーザに対して作成したプロファイルを用い、グループ全体にとって都合が良く、可能性があり、高い確率の有望なタイムスロットのスケジュールを生成し、個々のユーザの傾向を満たすことができる。
【００３０】
ある実施の形態では、ユーザは手動でプロファイルデータの一部を書き換えることができる。たとえば、ユーザは、自分が空いていない時間または自分が空いている時間を遮断したり、そのユーザは空いていないものとしてプロファイルされている時間であるが、今現在は空いている時間を特定することができる。こういった手動の書き換えをすることで、来るべき約束、休暇、またはユーザが従う通常のパターンから外れた他のイベントのような問題を考慮に入れることができる。
【００３１】
実施の形態の多くをここではオンラインゲームを用いて述べたが、ここで述べた特徴はオンラインゲームには限られない。たとえば、オンラインアクティビティにおけるユーザの行動をプロファイルし、それを用いてユーザのプロファイルの特徴を他のユーザのプロファイルに適合させることもできる。
【００３２】
図２は、マルチユーザオンラインセッションを相互に関連づける実施例のフローチャートである。ブロック２０２において、オンラインセッション、たとえば、オンラインゲームセッション、チャットセッションまたは他のセッションを確立して、オンラインの他のユーザに関与したいユーザは、選択されたユーザとのセッションに対する時間をリクエストする。ブロック２０４において、インテリジェントスケジューラは、セッション時間に対するユーザのリクエストを受け取る。ブロック２０６において、インテリジェントスケジューラは、リクエストに含まれる他のユーザのプロファイルだけでなく、リクエストをしたユーザのプロファイルを評価する。次にインテリジェントスケジューラは、ユーザがそのオンラインセッションに対して空いている可能性がもっとも高い時間を選択する。たとえば、インテリジェントスケジューラは、複数の時間を決定し、各時間に最大数のユーザが空いている可能性を示す確率を関連づけて提供することができる。ある例では、ユーザの参加をすべて等しく重み付けする。別の例では、異なるユーザに異なる「重み」をもたせてもよい。この重みは、リクエストしているユーザが、特定のユーザがセッションに含まれていることをより高く望んでおり、そのため、時間を選択する際、その特定のユーザのプロファイルにより大きい重みを付けることを意味する。たとえば、リクエストしているユーザがセッションに自分の一番の友人が参加することを確実にしたいなら、その友人の参加には、知り合い程度の別のユーザよりも高い重みを付ければよい。ブロック２０８において、リクエストしているユーザは、インテリジェントスケジューラによって提供された時間と確率を評価する。そして、ユーザは望ましい時間を選択し、他のユーザに招待状を送信する。ある実施の形態では、リクエストしているユーザは一つの時間を含む招待状を送る。別の実施の形態では、リクエストしているユーザは複数の時間を含む招待状を送ることにより、他のユーザが、スケジュールに最も合う時間を１つ以上選ぶことができるようにする。
【００３３】
ブロック２１０において、リクエストしているユーザは他のユーザから、招待状を受理したか、拒否したかを示す応答を受け取る。この応答は単に「はい」か「いいえ」であってもよく、他のユーザからの他の情報を含んでもよい。たとえば、他のユーザがセッションに加わるのに関心がないのか、関心があるがセッションがスケジュールされている時間の一部に対して空いていないだけであるのか、セッションに加わることに関心があるが、彼らのスケジュールにより適合する時間があるのか、あるいはその他の情報を含んでもよい。ブロック２１０において、リクエストしているユーザが、受け入れ可能な数の他のユーザが招待状を受理したと判断するなら、ブロック２１２において、そのセッションは、受理したユーザの予定表に追加される。他の実施の形態では、他の技術、たとえば、電子メール、テキストメッセージ、ボイスメール、あるいは他のタイプの通信手段を用いて受理したユーザにセッション時間を通知することができる。
【００３４】
ブロック２１０において、リクエストしているユーザが、受け入れ可能な数の他のユーザが招待状を受理していないと判断するなら、ブロック２１４において、リクエストしているユーザは招待状を修正することができる。たとえば、リクエストしているユーザは、インテリジェントスケジューラから受け取った別の時間を選択するか、リクエストを変更してインテリジェントスケジューラから新しい時間と確率を受け取るか、あるいは、新しい時間を手動で選択することができる。フローはその後ブロック２０８に続き、新しい招待状が他のユーザに送られる。
【００３５】
図３は、マルチユーザオンラインセッションを相互に関連づける別の実施例のフローチャートである。図３の実施の形態では、リクエストしているユーザは、セッションに加わるように招待されているプレイヤを知ることがない。ブロック３０２において、リクエストしているユーザは自分が開始したいオンラインセッションを特定する。たとえば、リクエストしているユーザは、同じ興味を共有する人々とオンラインゲーム、オンラインチャットセッション、または他のオンラインセッションを開始したいかもしれない。たとえば、趣味、スケートボードやサーフィンのようなスポーツ、特定のバンド、あるいは他の共通の興味である。ブロック３０４において、リクエストしているユーザは次にオンラインセッションに対して望ましいタイムスロットを特定する。ブロック３０６において、オンラインセッションとタイムスロットについての情報を用いて、他のユーザのプロファイルを検索し、彼らに空き時間があるかだけでなく、他のユーザの誰がオンラインセッションに興味があるかも決定する。この検索には、リクエストしているユーザが知っている他のユーザのプロファイルだけでなく、リクエストしているユーザが知らない他のユーザのプロファイルも含まれる。
【００３６】
ブロック３０８において、招待状が特定された他のユーザに送信される。ある実施の形態では、リクエストしているユーザが招待状を送るべき他のユーザを決定する。別の実施の形態では、招待状は自動的に他のユーザに送信される。ブロック３１０において、他のユーザは招待状に応答する。ある実施の形態では、他のユーザは招待状を受理または拒否する。別の実施の形態では、他のユーザはリクエストしているユーザにメッセージを送る。ある例では、そのメッセージは、他のユーザが参加したいことを示すが、当該他のユーザにとってより都合の良い別の時間を提案するものである。ブロック３１０において、十分な数の招待状が受理されるならば、ブロック３１２において、セッションはユーザのカレンダに予定として記入される。
【００３７】
ブロック３１０に戻り、十分な数の招待状が受理されないならば、ブロック３１４において、リクエストしているユーザは、オンラインセッションに対する別の時間を選択することができ、ブロック３０８において、新しい招待状を他のユーザに送る。
【００３８】
さらに別の実施の形態において、リクエストを出したユーザは招待状を掲示板や他のオンラインの公共の場所に投稿することができる。たとえば、ソニーコンピュータエンタテインメントアメリカによる仮想現実世界「Ｈｏｍｅ（登録商標）」では、リクエストしているユーザは、オンラインセッションを知らせるために、掲示板に投稿したり、壁に書いたり、他の類似の方法で投稿することができる。他のユーザはその投稿を読んで、参加したいなら応答することができる。投稿は、１以上のセッションおよび１以上のオンラインゲームに対するものであってもよい。たとえば、リクエストしているユーザは、自分がオンラインセッションに参加するために空いている時間のリストと、ユーザが興味のあるオンラインセッションの主題のリストを投稿することができる。次に他のユーザは、投稿された時間の間に自分が参加することのできる異なるオンラインセッションの選択肢をリクエストしているユーザに提供することにより、投稿に応答することができる。別の実施の形態では、リクエストしているユーザが、他人がまとめているオンラインセッションを見つけ、これらのセッションに加わることもできる。
【００３９】
さらに別の実施の形態では、リクエストしているユーザは、スケジュールを制約することなく、特定のオンラインセッションに参加したいユーザに対してリクエストを投稿することができる。すなわち、リクエストしているユーザはスケジュールを気にしていないが、その代わり、同じ主題に関心のある他のユーザを発見することに主たる関心があるかもしれない。
【００４０】
ある実施の形態では、オンラインユーザのプロファイルの構築は、オンラインユーザが仮想世界を航行するときにオンラインユーザのアクティビティをモニタ可能なサーバまたは他のエンティティによって実行される。サーバはプロファイルを構築し、それを用いて、ユーザの好き嫌いを特定し、ユーザの過去の行動にもとづいてユーザが好むものの傾向を投影することができる。
【００４１】
オンラインセッションの例には、多くの異なるアクティビティが含まれる。たとえば、オンラインセッションは、エンタテインメントの習慣、ゲームエンタテインメントの習慣、オンラインショッピングの習慣その他が含まれる。インテリジェントスケジューラ技術を使って、これらのエリアのすべてにおいてユーザのアクティビティを強化することができる。たとえば、ユーザが特定の時間に映画を鑑賞したいかどうかなど、ユーザのアクティビティを追跡することができる。インテリジェントスケジューラは、その時間にどんな他のエンタテインメントがユーザに利用可能であるかをユーザに提案することができる。たとえば、ユーザが水曜日の夜８時から１０時に映画を鑑賞するなら、インテリジェントスケジューラは、ユーザの友人のプロファイルをレビューし、ユーザの友人が同じ時間にユーザが好きなゲームをプレイすることを判定する。インテリジェントスケジューラはユーザにその時間は映画の代わりに、友人とゲームをプレイするのを楽しんではどうかと提案することができる。同様に、インテリジェントスケジューラは、ユーザのグループが、全員で同じ時間に異なるタイプのエンタテインメントに関わることを決定することができ、インテリジェントスケジューラは、その期間、お互いに皆で同じエンタテインメントを楽しむことができると友人に提案することができる。たとえば、友人は同じオンライン映画を鑑賞することができ、映画の間、オンラインで互いにコミュニケーションを取ることができる。
【００４２】
さらに別の実施の形態では、ユーザは一つの形態のエンタテインメントに関与し、その後、別の形態のエンタテインメントに切り替わることができる。たとえば、ユーザはテレビ番組を鑑賞することがある。コマーシャルが入ってくると、インテリジェントスケジューラはユーザに他のエンタテインメントの選択肢を提示することができる。たとえば、ユーザはゲームに加わり、コマーシャルの間はゲームに関わるという選択肢を提示される。ある例では、友人のグループは同じテレビ番組を鑑賞することがある。コマーシャルの時間になると、友人たちはオンラインゲームに切り替え、コマーシャルの間はゲームをプレイしてもよい。その後、コマーシャルの時間の終わりで、ゲームは中断され、友人たちはテレビ番組に戻る。
【００４３】
ある実施の形態では、テレビ番組におけるコマーシャルの時間とその期間を学習することができる。たとえば、ユーザは毎週テレビショーを鑑賞する。ショーの間、ユーザはテレビ番組の間のコマーシャルの期間の始まりと終わりを特定することができる。テレビショーの間、コマーシャルの位置と期間は、エピソード毎にかなり一貫しているから、コマーシャルブレークの位置と期間は学習可能である。その後、この情報を用いて、将来、テレビショーを鑑賞している間、コマーシャルの期間はユーザに別のエンタテインメントを提示することができる。別の実施の形態では、ユーザと同じオンラインネットワーク上でモニタが、たとえば、番組を見るなどしてテレビ番組をモニタリングする。コマーシャルが始まると、そのモニタがユーザにお知らせを送ることで、ユーザは別の形態のエンタテインメントに切り替えることができる。モニタは、番組のモニタリングを継続し、いつコマーシャルが終わってユーザがテレビ番組に戻れるかをユーザに通知することができる。別の実施の形態では、テレビ番組と他の形態のエンタテインメントの間の切り替えを自動的に行うことができる。この特徴を記録メカニズムと結合することでユーザが切り替えの間プログラムコンテンツを見逃さないようにすることができる。
【００４４】
上述の例示的な実施の形態においては、既に述べた通り、パターン分析や行動分析をするシステムが含まれる。他の実施の形態では、分析とストレージはユーザパターンを超えた問題に拡張することができる。パターンと行動の分析を用いて、オンラインユーザのパターンと行動にもとづいてアクションを生成することができる。アクションはリアルタイムであることもでき、あるいは格納して後で取り出すこともできる。
【００４５】
別の実施の形態では、スケジューリングはユーザの複数のエンタテインメントニーズに対して実行される。ユーザはＤＶＤを鑑賞し、インターネットサーフィンし、電子メールを使い、ゲームをプレイすることがある。これらのアクティビティをすべて相互に関連づけることができる。スケジューリング情報を提供することによって、ユーザは単にオンラインアクティビティだけでなく、他のアクティビティもより効率的に管理することができる。
【００４６】
別の実施の形態では、ユーザのアクティビティ、たとえば、エンタテインメントアクティビティを追跡することができる。たとえば、両親は子どものためにゲーム機を購入することがある。インテリジェントスケジューラは、ゲーム機での子どものアクティビティをモニタすることができる。たとえば、子どもはどのゲームをプレイしているか、子どもは各ゲームをどれくらいの時間遊んでいるか、インターネット上でどれだけの時間を費やしているか、どんなＷｅｂサイトを訪れているか、Ｗｅｂサイトでどれくらいの時間を費やしているかなどをモニタする。子どものアクティビティのレポートは、電子メールなどによって親に転送するか、さもなければ親に連絡することができる。そして、親はレポートにもとづいて適切なアクションを取ることができる。
【００４７】
ある実施の形態では、選択基準にもとづいてユーザのアクティビティを追跡し、モニタする。すなわち、ユーザが自分のアクティビティがモニタされ追跡されることに同意するならば、ユーザのアクティビティは追跡される。
【００４８】
ある実施の形態では、インテリジェントスケジューラは、マイクロソフトアウトルック（登録商標）やロータスノーツ（登録商標）のような他のスケジューリングシステムとデータを交換することができる。ユーザのスケジューリングシステムからの情報をユーザのプロファイル情報とともに用いることで、インテリジェントスケジューラは、ユーザがいつ空いていて、オンラインセッションに参加したいかをより良く予測することが可能になる。さらに、スケジュールされたオンラインセッションについての情報を他のスケジューリングシステムに提供することにより、オンラインセッションの時間はそれらのスケジュールに含めることができる。これにより、ユーザは、他のスケジュールされたアイテムとともにオンラインセッションのスケジュールも含めてより完全なスケジュールをもつことが可能になる。
【００４９】
ある実施の形態では、ゲーム開発者はスケジューリングプロトコルを支援することが奨励される。ゲーム開発者は現在、他のタイプのサードパーティのプロトコル、たとえば、テキストメッセージングやショートメッセージサービス（ＳＭＳ）を支援している。ゲーム開発者はまたオンラインゲームスケジューラを支援することもできる。たとえば、ゲーム開発者は、ＴＣＰ（transmission control protocol）やＵＤＰ（user data protocol）コネクションのような既知のポート上の既知のサービスへのネットワーク接続を含め、ＴＣＰ上のプロトコルレイヤを用いて、オンラインスケジューラと通信することができる。
【００５０】
スケジューリング特性はレガシーシステムとともに用いることもできる。たとえば、ソニーコンピュータエンタテインメントによるプレイステーション３（登録商標）（ＰＳ３）のようなゲーム機を用いて、ＰＳ２ゲームのようなレガシーゲームをプレイするならば、ＰＳ３コンソールは、ユーザがプレイしているレガシーゲームのタイトルだけでなく、プレイの日時と長さを検出することができる。この情報を用いて、ユーザのプロファイルを開発し、更新することができる。この例では、ユーザは、レガシーゲームのゲームインタフェースを用いてユーザのスケジュールについての情報を得ることはできないかもしれないが、ユーザの習慣は依然として追跡することができる。
【００５１】
別の実施の形態では、スケジューリングはユーザのプレファレンスを考慮に入れる。たとえば、ユーザは特定の時間に、特定の人々と、あるいは特定のスキルレベルの人々とオンラインセッションを持ちたいかもしれない。他のプレファレンスとして、他のプレイヤの望ましい性別、プレイヤに利用可能なゲームキャラクタのタイプなどのようなものが含まれる。
【００５２】
図４は、複数のプラットフォーム間のスケジューリング技術のレイヤリングの実施の形態を説明するダイアグラムである。図４に示すように、最下位レイヤ４０２には、オンラインセッションのスケジューラ、たとえばオンラインゲームスケジューラがある。このレベルにおいて、ユーザはここに述べたスケジューリング技術を用いて、ユーザのプレファレンスにもとづいてオンラインセッションに対するスケジュールを設定することができる。最下位レベル４０２におけるオンラインスケジュールは、次に高いレベル４０４で用いることができ、そのレベル４０４では複数のオンラインセッション間でスケジュールが調整される。たとえば、複数のゲームスケジュールをこのレベルで、たとえば、ソニーコンピュータエンタテインメントによるＨｏｍｅ（登録商標）において調整することができる。複数のオンラインセッションスケジュールは、次に高いレイヤ４０６に提供され、そのレイヤ４０６ではホストプラットフォーム上でアクティビティが調整される。たとえば、プラットフォームは、オンラインゲームだけでなく、映画を観るなどの他のアクティビティへのアクセスを含んでもよい。このレベルでは、複数のアクティビティに対するユーザのスケジュールが調整される。たとえば、オンラインゲームをプレイするだけでなく、映画を観たり、ホストプラットフォームによって支援される他の任意のアクティビティを行うための時間をユーザはスケジュールする。
【００５３】
ホストプラットフォーム４０６上のユーザのスケジュールは、次に高いレベル４０８で用いられ、複数のプラットフォーム間でユーザのスケジュールが調整される。たとえば、ユーザは家に２つ以上のプラットフォームを持っているかもしれない。あるいは家とオフィスなど異なる場所で複数のプラットフォームを持っているかもしれない。これらすべてのプラットフォーム間でスケジュールを調整することができる。複数のプラットフォーム間でのユーザのスケジュールを最も高いレベル４１０で用いることができ、そのレベルでは、オンラインと非オンラインの両方のアクティビティに対して、ユーザのスケジュール全体が調整される。
【００５４】
図５は、スケジューリング技術のレイヤリングの別の実施の形態を説明するダイアグラムである。図５に示すように、最下位レイヤ５０２には、オンラインセッションのスケジューラ、たとえばオンラインゲームスケジューラがある。このレベルにおいて、ユーザはここに述べたスケジューリング技術を用いて、ユーザのプレファレンスにもとづいてオンラインセッションに対するスケジュールを設定することができる。最下位レベル５０２におけるオンラインスケジュールは、次に高いレベル５０４で用いることができ、そのレベル５０４ではユーザのデジタルエンタテインメントに対するスケジュールが調整される。たとえば、デジタルエンタテインメントスケジュールには、ユーザがいつオンラインゲームをするかだけでなく、ユーザがいつ音楽を聴き、インターネットをサーフィンし、あるいは他のデジタルエンタテインメントアクティビティをしたいかが含まれる。デジタルエンタテインメントスケジュールは次に高いレベル５０６で用いることができ、そのレベル５０６では、ユーザによる他の非デジタル形態のエンタテインメントがスケジュールされる。たとえば、そのスケジュールには、ユーザがいつ友人と地域の公園でソフトボールゲームをプレイするようにスケジュールされているか、サーフィンやスケートボードに行くプラン、あるいは他のエンタテインメントアクティビティが含まれる。ユーザのエンタテインメントスケジュールは次に高いレベル５０８で用いられ、そのレベル５０８では、ユーザの非エンタテインメントアクティビティがスケジュールされる。たとえば、このレベルでは、ユーザのスケジュールには、ユーザのエンタテインメントアクティビティだけでなく、ビジネスミーティング、医者との約束、他のタイプの非エンタテインメントアクティビティが含まれる。
【００５５】
図４および図５に述べた実施の形態において、スケジューリングについての情報は、両方の方向、すなわち低いレベルから高いレベルだけでなく、高いレベルから低いレベルにも流すことができる。たとえば、ユーザは毎水曜日夜８時から１０時まで定期的にスケジュールされたオンラインゲームをもっているかもしれない。この情報をより高いレベルのスケジュールによって用いて、この期間は別のアクティビティをスケジュールしないように試みることができる。また、ユーザは土曜日の朝１０時から１１時までビジネスミーティングをスケジュールしてもよい。このスケジュール情報をオンラインセッションスケジューラが用いて、この期間はオンラインゲームセッションをスケジュールしないようにすることができる。
【００５６】
スケジュールには柔軟性をもたせることができる。たとえば、ユーザが特定の時間に対してスケジュールされたオンラインセッションをもち、医者との約束をスケジュールしようとしているが、医者との約束に対して利用可能な唯一の時間がオンラインセッションとかち合うならば、ユーザは２つのアクティビティの内、どちらかより高い優先度をもつ方を選択し、それに応じてスケジュールを調整することができる。
【００５７】
別の実施の形態では、ユーザは、望ましい基準に合う他のオンラインユーザとオンラインで映画を観たいかもしれない。ユーザは映画を観る時間をスケジュールし、オンライン映画セッションに参加しようとする他の人々を特定することができる。たとえば、ユーザは、映画を一緒に観たい特定の個人を特定してもよい。たとえば、映画を一緒に観たい友人またはあるタイプの個人（たとえば、ホッケーファン）を特定する。スケジューラはその後、他のユーザのスケジュールとプロファイルを検索し、誰が望ましい時間に空いており、ユーザにより設定された基準に合うかを判定することができる。
【００５８】
別の実施の形態では、スケジューラは、個人のオンラインエンタテインメントと社会化の側面を強化することができる。たとえば、個人は、同じオンラインエンタテインメントアクティビティを共有し、同じ時間に互いに話ができるようにしたいかもしれない。たとえば、二人の姉妹が、ジェパディのようなテレビゲームショーを観ながら成長したとする。姉妹がジェパディを観るのを楽しんだ理由の一つは、彼女たちが答えを叫ぶことができたということであったかもしれない。今やこの姉妹が成長して、異なる都市に住み、もはやジェパディを一緒に観ることができなくなったとする。オンラインセッションスケジューラ技術を用いて、この２人の姉妹は、ともにオンラインでジェパディを観ると同時にボイスチャネルを共有するオンラインセッションをスケジュールすることにより、互いに相互作用することができる。別の実施の形態では、ボイスチャネルを共有するユーザのグループがオンライン映画を観ることで、彼らは映画を観ている間、映画についてコメントすることができる。さらに別の実施の形態では、家族のメンバがホームムービーを観ると同時にボイスチャネルを共有するためのオンラインセッションをスケジュールすることで、家族のメンバはホームムービーを観ながら互いに考えを共有することができる。
【００５９】
ある実施の形態では、スケジューラに柔軟性をもたせることで、ユーザが他のスケジュールに対する提案をもってスケジューリングリクエストに応答することができる。リクエストしているユーザがオンラインセッションに対する招待状を送るなら、別のユーザは、スケジュールされた時間はだめであるが、もう少しでうまく行くと答えることができる。たとえば、オンラインセッションを「水曜日の夜７時から８時まで」に対してスケジュールするようにリクエストを送ったとする。ユーザはそのリクエストを受け取り、その時間は空いていないが、水曜日の夜８時から９時までなら空いているとする。ユーザはリクエストに応答し、別の時間を提案することができる。この技術を用いて、スケジュールをたいていのユーザを支援するように発展させることができる。別の例では、夜８時から１０時までのオンラインセッションに対する招待状をユーザのグループに送る。あるユーザは、自分は夜９時から１０時までしか空いていないと回答したとする。この回答を受け取ると、リクエストをした人は招待状を夜９時から１０時までに修正するか、ユーザは自分が空いているときにオンラインセッションに加わることができる。
【００６０】
図６は、ここで述べたいろいろな実施の形態に関連づけて用いることができる具体的なネットワーク可能デバイス６５０を説明するブロック図である。たとえば、ここで述べるスケジューラの実施の形態は図６のネットワーク可能デバイス６５０上に実装してもよい。当業者には明らかであるように、他のネットワーク可能デバイス、たとえば、他のコンピュータ、ゲーム機、および／またはアーキテクチャを用いることもできる。
【００６１】
ネットワーク可能デバイス６５０は好ましくは１以上のプロセッサ、たとえば、プロセッサ６５２を含む。さらにプロセッサを増設してもよい。たとえば、入出力を管理する補助プロセッサ、浮動小数点の数学演算を実行する補助プロセッサ、信号処理アルゴリズムの高速実行に適したアーキテクチャをもつ専用マイクロプロセッサ（たとえばデジタルシグナルプロセッサ）、メイン処理システムに従属するスレーブプロセッサ（たとえばバックエンドプロセッサ）、デュアルまたはマルチプロセッサシステム用の増設マイクロプロセッサまたはコントローラ、あるいは、たとえば並列処理を実装する場合には、コプロセッサなどである。そのような補助的なプロセッサまたはコプロセッサは、個別のプロセッサであってもよく、プロセッサ６５２と一体化されたものであってもよい。
【００６２】
プロセッサ６５２は好ましくは通信バス９５４に接続される。通信バス６５４は、コンピュータシステム６５０のストレージと他の周辺コンポーネントの間の情報転送を容易にするデータチャネルを含んでもよい。さらに通信バス６５４は、データバス、アドレスバス、および制御バス（図示せず）を含む、プロセッサ６５２との通信に使われる信号の集合を提供してもよい。通信バス６５４は任意の標準あるいは非標準のバスアーキテクチャを含んでもよい。たとえば、ＩＳＡ（industry standard architecture）、ＥＩＳＡ（extended industry standard architecture）、ＭＣＡ（Micro Channel Architecture）、ＰＣＩ（peripheral component interconnect）ローカルバス、またはＩＥＥＥ  ４８８  ＧＰＩＢ（general-purpose interface bus）やＩＥＥＥ  ６９６／Ｓ−１００などを含むＩＥＥＥによって公表された標準に準拠したバスアーキテクチャである。
【００６３】
ネットワーク可能デバイス６５０は好ましくはメインメモリ６５６を含み、二次記憶６５８も含んでもよい。メインメモリ６５６はプロセッサ６５２上で実行されるプログラムのための命令とデータの格納場所を提供する。メインメモリ６５６は典型的にはＤＲＡＭ（dynamic random access memory）および／またはＳＲＡＭ（static random access memory）のような半導体ベースのメモリである。他の半導体ベースのメモリタイプとして、たとえば、ＲＯＭを含めて、ＳＤＲＡＭ（synchronous dynamic random access memory）、ＲＤＲＡＭ（Rambus dynamic random access memory）、ＦＲＡＭ（ferroelectric random access memory）などがある。
【００６４】
二次記憶６５８はオプションとしてハードディスクドライブ６６０および／またはリムーバブルストレージドライブ６６２、たとえば、フロッピィディスクドライブ、磁気テープドライブ、ＣＤドライブ、ＤＶＤドライブ、メモリスティックなどを含む。リムーバブルストレージドライブ６６２は既知の方法でリムーバブルストレージメディア６６４に対して読み出しおよび／または書き込みを行う。リムーバブルストレージメディア６６４は、たとえば、ＣＤ、ＤＶＤ、フラッシュドライブ、メモリスティックなどである。
【００６５】
リムーバブルストレージメディア６６４は好ましくは、コンピュータ実行可能なコード（すなわちソフトウェア）および／またはデータを格納したコンピュータ読み取り可能な媒体である。リムーバブルストレージメディア６６４上に格納されたコンピュータソフトウェアまたはデータは電子的な通信信号６７８としてコンピュータシステム６５０に読み込まれる。
【００６６】
別の実施の形態において、二次記憶６５８は、コンピュータプログラムまたは他のデータや命令をコンピュータシステム６５０にロードすることを可能にする他の同様の手段を有してもよい。そのような手段には、たとえば、外部ストレージメディア６７２とインタフェース６７０がある。外部ストレージメディア６７２の例として、外部ハードディスクドライブ、外部光ドライブ、または磁気光ドライブがある。
【００６７】
二次記憶６５８の他の例には、ＰＲＯＭ（programmable read-only memory）、ＥＰＲＯＭ（erasable programmable read-only memory）、ＥＥＰＲＯＭ（electrically erasable read-only memory）、またはフラッシュメモリ（ＥＥＰＲＯＭに似たブロック指向メモリ）のような半導体ベースのメモリがある。その他、任意のリムーバブルストレージユニット６７２とインタフェースであってもよく、それにより、ソフトウェアとデータをリムーバブルストレージユニット６７２からネットワーク可能デバイス６５０へ転送することが可能になる。
【００６８】
ネットワーク可能デバイス６５０はまた通信インタフェース６７４を含む。通信インタフェース６７４によって、ネットワーク可能デバイス６５０と外部デバイス、ネットワークまたは情報源との間でソフトウェアとデータを転送することが可能になる。たとえば、コンピュータソフトウェアまたは実行可能コードを通信インタフェース６７４を介してネットワークサーバからネットワーク可能デバイス６５０に転送してもよい。それに加えて、通信インタフェース６７４は、インターネットのような外部ネットワークに対して有線と無線の両方の通信を確立し維持することができる。通信インタフェース６７４の例として、二、三例を挙げると、モデム、ネットワークインタフェースカード（ＮＩＣ）、通信ポート、ＰＣＭＣＩＡスロットおよびカード、赤外線インタフェース、ＩＥＥＥ１３９４ファイヤワイヤ、無線ＬＡＮ、ＩＥＥＥ８０２．１１インタフェース、ＩＥＥＥ８０２．１６インタフェース、ブルートゥースインタフェース、メッシュネットワークインタフェースがある。
【００６９】
通信インタフェース６７４は業界で公表されたプロトコル標準を実装するのが好ましい。たとえば、イーサネット（商標または登録商標）ＩＥＥＥ８０２標準、ファイバチャネル、ＤＳＬ（digital subscriber line）、ＡＤＳＬ（asynchronous digital subscriber line）、フレームリレー、ＡＴＭ（asynchronous transfer mode）、ＩＳＤＮ（integrated digital services network）、ＰＣＳ（personal communications service）、ＴＣＰ／ＩＰ（transmission control protocol/Internet protocol）、ＳＬＩＰ／ＰＰＰ（serial line Internet protocol/point to point protocol）などである。もっとも、カスタマイズされた、または非標準のインタフェースプロトコルを実装してもよい。
【００７０】
通信インタフェース６７４を介して転送されるソフトウェアとデータは一般には電子的な通信信号６７８の形を取る。この信号６７８は好ましくは通信チャネル６８０を介して通信インタフェース６７４に提供される。通信チャネル６８０は信号６７８を運ぶものであり、いろいろな有線または無線の通信手段、二、三例を挙げると、ワイヤまたはケーブル、光ファイバ、従来の電話線、携帯電話リンク、無線データ通信リンク、ＲＦ（radio frequency）リンク、または赤外線リンクを用いて実装される。
【００７１】
コンピュータ実行可能なコード（すなわちコンピュータプログラムまたはソフトウェア）をメインメモリ６５６および／または二次記憶６５８に格納することができる。コンピュータプログラムは通信インタフェース６７４を介して受信し、メインメモリ６５６および／または二次記憶６５８に格納することもできる。そのようなコンピュータプログラムが実行されると、コンピュータシステム６５０は上述したように本発明のいろいろな機能を実行することができるようになる。
【００７２】
この詳細な説明では、「コンピュータ読み取り可能なメディア」は、データを格納したり、コンピュータ実行可能なコード（たとえばソフトウェアやコンピュータプログラム）をネットワーク可能デバイス６５０に提供するのに使われる任意のメディアを指して使われる。このようなメディアの例には、メインメモリ６５６、二次記憶６５８（ハードディスクドライブ６６０、リムーバブルストレージメディア６６４、および外部ストレージメディア６７２を含む）、および通信インタフェース６７４と通信可能に結合した任意の周辺デバイス（ネットワーク情報サーバまたは他のネットワークデバイスを含む）がある。こういったコンピュータ読み取り可能なメディアは、実行可能なコード、プログラミングインストラクションおよびソフトウェアを提供し、ネットワーク可能デバイス６５０へのデータを格納および／または記録する手段である。
【００７３】
ソフトウェアを使って実装された実施の形態では、ソフトウェアをコンピュータ読み取り可能なメディアに格納し、リムーバブルストレージドライブ６６２、インタフェース６７０、または通信インタフェース６７４を介してネットワーク可能デバイス６５０にロードしてもよい。そのような実施の形態では、ソフトウェアは電子的な通信信号６７８の形でネットワーク可能デバイス６５０にロードされる。このソフトウェアは、プロセッサ６５２によって実行されるとき、好ましくはプロセッサ６５２に本発明に係る上述の特徴と機能を実行させる。
【００７４】
いろいろな実施の形態は主にハードウェアで、たとえば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）のようなコンポーネントを用いて実装することができる。ここに記述した機能を実行することのできるハードウエア・ステート・マシーンを実装することは、当該分野の当業者にとっては明らかなことである。いろいろな実施の形態はハードウェアとソフトウェアの組み合わせを用いて実装することもできる。
【００７５】
ここで用いた「モジュール」という用語は、ソフトウエアコンポーネントや、特定のタスクを実行するＦＰＧＡやＡＳＩＣのようなハードウエアコンポーネントに限られない。モジュールは有利には、アドレス可能なストレージメディア上に置かれ、ネットワーク機能をもつデバイスまたはプロセッサ上で実行されるように構成されてもよい。このように、モジュールは、一例として、コンポーネント、プロセス、ファンクション、属性、手続、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウエア、マイクロコード、回路、データ、データベース、データ構造、テーブル、配列、変数などを含んでもよい。コンポーネントやモジュールにおいて提供される機能を結合して、より少ないコンポーネントやモジュールにしてもよく、あるいは分離させ、さらなるコンポーネントやモジュールにしてもよい。また、コンポーネントやモジュールは有利には、ネットワーク機能をもつデバイスやコンピュータ上で実行されるように実装されてもよい。
【００７６】
さらに、当業者であれば、上述の図面やここに開示する実施の形態に関連づけて説明した、いろいろな例示的な論理ブロック、モジュール、回路、および方法のステップは、電子的なハードウエア、コンピュータソフトウエア、あるいは両者の組み合わせとして実装することができることが理解できよう。ハードウエアとソフトウエアのこのような互換性を明確に説明するために、いろいろな例示的なコンポーネント、モジュール、回路、ステップを一般的には機能性という観点で説明してきた。そのような機能性をハードウエアとして実装するのか、ソフトウエアとして実装するのかは、特定のアプリケーションや全体システムに課される設計上の制約に依存する。当業者は、特定のアプリケーション向けにいろいろなやり方でこれまで述べた機能性を実装することができるが、そのような実装を決定しても本発明の範囲から逸脱するものとして解釈すべきではない。また、モジュール、ブロック、回路、またはステップ内のファンクションをグループ化したのは、説明を簡単にするためである。特定のファンクションやステップは、本発明から逸脱することなく、あるモジュール、ブロックまたは回路から別のモジュール、ブロックまたは回路へ移動させることができる。
【００７７】
さらに、ここに開示する実施の形態に関連づけて説明した、いろいろな例示的な論理ブロック、モジュール、および方法は、ここで述べた機能を実行するために設計された、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、ＡＳＩＣ、ＦＰＧＡもしくは他のプログラマブルな論理デバイス、離散ゲートもしくはトランジスタロジック、離散ハードウエアコンポーネント、あるいはそれらの組み合わせを用いて実装あるいは実行することができる。汎用プロセッサはマイクロプロセッサであってもよく、あるいは、汎用プロセッサは、任意のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサは、コンピューティングデバイスの組み合わせとして実装されてもよい。たとえば、ＤＳＰとマイクロプロセッサの組み合わせでもよく、複数のマイクロプロセッサでもよく、ＤＳＰコアをもつ１つ以上のマイクロプロセッサでもよく、あるいは、他のそのような構成であってもよい。
【００７８】
さらに、ここに開示する実施の形態に関連づけて説明した方法やアルゴリズムのステップは、直接ハードウエアで具体化してもよく、プロセッサで実行されるソフトウエアモジュールで具体化してもよく、あるいは両者の組み合わせで具体化してもよい。ソフトウエアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、あるいはネットワークストレージメディアを含む他の形態のストレージメディアに格納することができる。典型的なストレージメディアは、プロセッサがストレージメディアに対して情報を読み書きすることができるように、プロセッサに接続される。別の例では、ストレージメディアをプロセッサに統合してもよい。プロセッサとストレージメディアをＡＳＩＣ内に搭載することもできる。
【００７９】
上記は、本発明の好ましい実施の形態を全体的に説明したものであるが、いろいろな代替、変更、等価物を用いることも可能である。したがって、本発明の範囲は、上記の説明を参照して決まるものではなく、添付の請求項およびその均等の全範囲を参照して決定されるべきものである。ここで述べた特徴はいずれも、好ましいかどうかに関わりなく、ここで述べた他の任意の特徴と組み合わせることができる。こうして、本発明は、ここに示された実施の形態に限られる趣旨ではなく、ここに開示した主要で新規の特徴に一致するもっとも広い範囲のものとして把握されるべきものである。
【図１】
2011503677.tif 000004
【図２】
2011503677.tif 000005
【図３】
2011503677.tif 000006
【図４】
2011503677.tif 000007
【図５】
2011503677.tif 000008
【図６】
2011503677.tif 000009
【国際調査報告】
2011503677.tif 000010