JP5059189B2 - データ転送装置および方法 - Google Patents

データ転送装置および方法 Download PDF

Info

Publication number
JP5059189B2
JP5059189B2 JP2010510868A JP2010510868A JP5059189B2 JP 5059189 B2 JP5059189 B2 JP 5059189B2 JP 2010510868 A JP2010510868 A JP 2010510868A JP 2010510868 A JP2010510868 A JP 2010510868A JP 5059189 B2 JP5059189 B2 JP 5059189B2
Authority
JP
Japan
Prior art keywords
server
data
peer
avatar
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010510868A
Other languages
English (en)
Other versions
JP2010529547A (ja
JP2010529547A5 (ja
Inventor
ジロ、トマス、オーウェン
ウォーガマン、スコット、クリストファー
グッドウィン、ミッチェル
Original Assignee
ソニー コンピュータ エンタテインメント ヨーロッパ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー コンピュータ エンタテインメント ヨーロッパ リミテッド filed Critical ソニー コンピュータ エンタテインメント ヨーロッパ リミテッド
Publication of JP2010529547A publication Critical patent/JP2010529547A/ja
Publication of JP2010529547A5 publication Critical patent/JP2010529547A5/ja
Application granted granted Critical
Publication of JP5059189B2 publication Critical patent/JP5059189B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/402Communication between platforms, i.e. physical link to protocol
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/404Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network characterized by a local network connection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/408Peer to peer connection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/51Server architecture
    • A63F2300/513Server architecture server hierarchy, e.g. local, regional, national or dedicated for different tasks, e.g. authenticating, billing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明はデータ転送装置および方法に関する。
インターネットにおける主なデータ転送モデルはクライアント−サーバモデルであり、そのモデルではクライアント(通常、インターネットに接続されたホームコンピュータ)がサーバに対してデータを要求する。サーバは人気のあるデータファイルをキャッシュしたものを収容しているか、あるいはクライアントの要求を最終のデータ源へと中継して送信者から受信者へのクライアント/サーバリンクの連鎖を形成する。しかしこれは、人気のあるデータに関してはサーバが潜在的なボトルネックとなることを意味しており、また大量のダウンロードの場合は、クライアントがサーバから切断されるリスクあるいはサーバのトラブルというリスクにさらされていることを意味する。
別のモデルはピアツーピアファイル転送であり、グヌーテラ(例えば、http://en.wikipedia.org/wiki/Gnutellaを参照)により提供されるもの等がある。このモデルでは、グヌーテラソフトウェアを実行している各ピア装置(やはり、通常はホームコンピュータ)は、共有可能な自分のコンテンツに関して問い合わせを受けることができる。このように、1台のピアは他のピアをポーリングして所望のファイルを見つけることができ、一旦見つかったなら、ピア間でデータを直接転送することができる。何らかの理由で転送が失敗すると、他のピアを見つけ、転送を再開することができる。しかし、このモデルにも問題がある。第一に、数千ものピアが互いにポーリングし合うと、ピアネットワーク内にかなりのオーバーヘッドを引き起こすことがある。第二に、ブロードバンドシステムは通常、アップロードとダウンロードの速度が非対称であり、ホームコンピュータは例えば8Mbit/秒でダウンロードできるかもしれないが、アップロードは500Kbit/秒でしか行なえないかもしれない。これはクライアント/サーバダウンロードモデルの場合には問題ではないが、ピアツーピアの場合、実効的なダウンロード速度がピア装置のアップロード速度によって制約されることを意味する。最後の点として、悪用に関する問題がある。即ち、ファイルをダウンロードする一方で、接続を切断して他の誰に対しても送り手としての役割を果たさないことであり、これはピアネットワークの実効帯域を限定してしまうことになる。
これらの問題は、ビットトレント(BitTorrent(RTM))に代表される更に進んだピアモデルにより軽減された。ビットトレントシステムでは、ポーリングのタスクはトラッカーと呼ばれる中心的なサーバによって扱われ、それによりポーリングのオーバーヘッドが減少される。トラッカーは要求元の装置が希望するデータの幾らかあるいはすべてがどの装置に収容されているかを確認する。少なくとも一つの装置(「シード」と呼ばれる)がデータのすべてを収容していなければならない。
次いで、トラッカーはこれらのピア装置に対してデータの相補的な部分を要求元の装置に送信するように命令する。多数の送信者からデータの重複しない部分を同時に受信することにより、ピア間のアップロード速度とダウンロード速度の非対称性も緩和される。要求元の装置がデータを蓄積するにつれ、その装置自体も他の要求元の装置(例えば、現在データの異なる部分をそれからダウンロードしているピアのうちの幾つか)に対して同時にアップロードできるピアグループの一部となる。通常、データの順序はランダムであるが、いわゆる「rarest first」戦略を実行することによりピア装置グループ内のボトルネックに素早く対抗することができる。
ビットトレントは又いわゆるtit−for−tat(しっぺ返し)システムを実行することにより、悪用を思いとどまらせている。すなわち、要求元の装置が享受できる実効ダウンロード速度は、他の要求元の装置に対するそのアップロードの履歴に依存するようにされている。したがって、最善のダウンロード性能を得るためには、ピアネットワーク内で協力する必要がある。
ビットトレントモデルの幾つかの変形には、トラッカーを無くして、要求元の装置が他のピアに対して直接ポーリングする必要があるとすること(いわゆる「トラッカーレス トレント」)により、元のピアツーピアモデルにある程度戻るものがある。提案された他の変形としては「ウェブシーディング(Web seeding)」がある。これは、ウェブサイトによりホスト(播種(シード))されるファイルをダウンロードするためにビットトレントを用いることにより、そのウェブサイトに対する帯域要求を緩和することを意図したものである−「http://www.bittornado.com/docs/webseed−spec.txt」を参照。
ビットトレントの手法は他のソフトウェアにも組み込まれている。例えば、人気のあるオンラインゲーム「戦争用舟艇の世界(World of Warcraft)」はアップグレード版の配布のためにビットトレント型のシステムを用いている(http://video−games.elliottback.com/2005/11/26/world−of−warcraft−torrent−updater/を参照)。
しかし、異なるコンテンツ配布のシナリオでは他のデータ転送モデルが有益である可能性があり、従って、更に他の方法を開発する余地がある。
本発明はそのような他のデータ転送モデルを開示する。
本発明の第1の側面によれば、データ転送システムは、サーバと、各々が前記サーバのクライアントとしてまたピアツーピア装置として動作可能な複数の装置と、を有する。前記サーバは、前記複数の装置に対して、それらの装置がピアグループを形成することを通知する通知機構と、そのような通知が行なわれると、データを前記各装置に送信するクライアント/サーバデータ送信器と、を有する。前記各装置は、前記サーバからそれぞれのデータを受信するクライアント/サーバデータ受信器と、前記サーバから受信したそれぞれのデータを1台あるいはそれ以上のピアに送信し、また1台あるいはそれ以上のピアから前記サーバによってそれらのピアに送信されたそれぞれのデータを受信するピアツーピア通信器と、を有する。そして、前記装置がオンライン仮想環境の1つあるいはそれ以上のインスタンスに接続されると共に、前記オンライン仮想環境において前記装置に対応するアバターによって表わされ、前記サーバは、前記オンライン仮想環境における前記装置のアバターの行動に応じて、前記装置をそのサーバによるピアグループのメンバーとして選択することができる
本発明の他の側面によれば、データ伝送方法が提供され、そのデータ伝送方法は、前記サーバが、前記装置を、オンライン仮想環境の1つあるいはそれ以上のインスタンスにそれぞれ接続するステップと、前記装置を前記オンライン仮想環境のそれぞれの前記各インスタンスにおいてアバターによって表わすステップと、前記装置のアバターの前記オンライン仮想環境における行動に応じて、ピアグループを形成することを通知するステップと、第1の装置にデータを伝送するステップと、を実行し、前記第1の装置が、自分が前記サーバから受信したデータを前記ピアグループ内の他の装置にピアツーピア方式で伝送するステップと、前記ピアグループ内の他の装置から、前記ピアグループ内の各装置がそれぞれ前記サーバから受信したデータを、ピアツーピア方式でそれぞれ受信するステップと、を実行する。
従って、前記側面のシステムおよび方法において、サーバが複数の装置に対する自分自身の転送を補完するために、そのような装置をピアグループに参加させ、またデータのあるものをそのグループ内で配信するように各ピアに送信することは有利である。このようにすれば、各装置はすべてのデータを獲得することができ、一方、どの装置も自分のデータのすべてをサーバだけから受信することはない。
本発明の他の側面によれば、データ転送システムは、サーバと、それぞれが前記サーバのクライアントとしてまたピアツーピア装置として動作可能でピアツーピアグループを形成できる複数の装置と、を有する。前記サーバは、仮想環境の複数のインスタンスのホストとなって、前記装置に対応するアバターの前記仮想環境のインスタンスにおける行動に応じて、前記複数の装置と、前記更に別の装置に対しそれらがピアグループを形成することを通知する通知機構と、前記更に別の装置から、データの送信要求を受信する要求受信器と、データを前記更に別の装置に送信するクライアント/サーバデータ伝送器と、を有する。前記更に別の装置は、前記サーバからデータを受信するクライアント/サーバデータ受信器と、ピアグループ内の1台あるいはそれ以上のピアからデータを受信するピアツーピア通信器と、を有する。前記サーバと前記ピアグループの1台あるいはそれ以上の他の装置とが、補完的かつ並行的に、前記更に別の装置が前記データを全て獲得するまで伝送し、前記更に別の装置が、前記サーバおよび前記ピアグループの前記1台あるいはそれ以上の他の装置から受信するデータの割合は、前記サーバ及び前記装置のデータ転送速度に帰結する
本発明の他の側面によれば、データ伝送方法が提供され、そのデータ転送方法は、サーバおよびピアグループを形成する複数の装置から更に別の装置に対してデータを伝送するデータ伝送方法であって、前記サーバが、前記装置を、オンライン仮想環境の1つあるいはそれ以上のインスタンスにそれぞれ接続するステップと、前記装置を、前記オンライン仮想環境のそれぞれの前記各インスタンスにおいてアバターによって表わすステップと、前記装置のアバターの前記オンライン仮想環境における行動に応じて、前記複数の装置および前記更に別の装置に対してそれらがピアグループを形成することを通知するステップと、前記更に別の装置からデータに対する要求を受信するステップと、前記更に別の装置にデータを伝送するステップと、を実行し、前記ピアグループの1台あるいはそれ以上の他の装置が、前記更に別の装置に対する前記データを伝送するようにとの要求を受信するステップと、前記更に別の装置にデータを伝送するステップと、を実行し、前記サーバと前記ピアグループの1台あるいはそれ以上の他の装置とが、補完的かつ並行的に、前記更に別の装置が完全に前記データを獲得するまで伝送し、前記更に別の装置が、前記サーバおよび前記ピアグループの前記1台あるいはそれ以上の他の装置から受信するデータの割合は、前記サーバ及び前記装置のデータ転送速度に帰結する
上記2つの側面のシステムおよび方法において、サーバが単一の装置に対する自分自身の転送を補完するために、転送に必要なすべてのデータをグループ全体として有するピアグループに参加させることは有利である。このようにすれば、サーバおよびピアグループのどちらも前記単一の装置に対してそれぞれのデータを補完的な仕方で送信することにより、前記単一の装置は速い動作の方のダウンロード機構の利点を享受することができ、そうすれば、例えば、各方法に50%を割り当てて、遅い方の方法がその割り当てを完了するのを待つといったことをしないで済む。
本発明の更なる側面および特徴のそれぞれは添付の請求項に記載されている。
さて、本発明の実施形態を、次の添付図面を参照して例示により説明する:
図1は、娯楽装置の概略図である。 図2は、セルプロセッサの概略図である。 図3は、ビデオグラフィックスプロセッサの概略図である。 図4は、本発明の一実施形態による、相互に接続された一組のゲームゾーンの概略図である。 図5は、本発明の一実施形態によるホーム環境オンラインクライアント/サーバ配列の概略図である。 図6aは、本発明の一実施形態によるロビーゾーンの概略図である。 図6bは、本発明の一実施形態によるロビーゾーンの概略図である。 図6cは、本発明の一実施形態によるシネマゾーンの概略図である。 図6dは、本発明の一実施形態による開発者/発行者ゾーンの概略図である。 図7は、本発明の一実施形態によるオンライン取引方法のフローチャートである。 図8aは、本発明の一実施形態によるアパートゾーンの概略図である。 図8bは、本発明の一実施形態によるトロフィーゾーンの概略図である。 図9は、本発明の一実施形態によるコミュニケーションメニューの概略図である。 図10は、本発明の一実施形態による対話型仮想ユーザ装置の概略図である。 図11は、オンライン仮想環境のインスタンスの一部の概略図である。 図12は、本発明の一実施形態によるデータ転送方法のフローチャートである。
本発明の簡略的な実施形態では、複数の娯楽装置(「ゲームコンソール」と呼ぶこともある)が、オンライン仮想環境を実行しているサーバに接続されている。仮想環境内では、これら娯楽装置のそれぞれのユーザがアバター(例えば、ユーザのグラフィックな描写)によって表わされており、各ユーザの仮想環境の視界は、その環境内における自分のアバターの位置に応じたものとなる。仮想環境には、テレビや映画スクリーンなど装置があって、広告や映画の予告編などのストリーミングメディアの表示が可能であり、また、ダウンロードのために付加的な機能が利用可能なゾーンが存在することができる。ある娯楽装置に対応する1つのアバターだけが、そのようなストリームコンテンツを視聴できる位置にあるなら、そのコンテンツは中央サーバからストリーム配信される。しかし、2つあるいはそれ以上のアバターがそのようなストリームコンテンツを視聴するための位置にある場合、それぞれのコンテンツ構成要素がサーバから各娯楽装置にストリーム配信され、各娯楽装置はそれらの構成要素を他のアバターに対応する他の娯楽装置と共用する。このように、ピアメンバーシップとコンテンツはサーバにより管理され、メンバーシップは装置のアバターの行動に依存している。このようにすれば、サーバにより使用される帯域は、データがすべての娯楽装置にストリーム配信される場合に比べてより小さなものとなり、同時に、ストリーム配信されるコンテンツを要求することになった娯楽装置は、すべての装置がそれを獲得することができる。
この構成により、仮想環境(あるいは複数の仮想環境)を運営する運営費用は削減され、また、受信する装置のグループがその場限りの性質のものであるにも関わらず、いつコンテンツを表示するかを中央制御することが可能となる。
ここで、図1を参照すると、本発明の実施形態において、娯楽装置はソニー(登録商標)プレイステーション3(登録商標)(PS3(登録商標))である。図1は、ソニー(登録商標)のプレイステーション3(登録商標)娯楽装置の全体的なシステムアーキテクチャを概略的に図示したものである。システムユニット10には、そのシステムユニットに接続可能な様々な周辺装置が提供されている。
システムユニット10は、セルプロセッサ100と、ラムバス(登録商標)ダイナミックランダムアクセスメモリ(XDRAM)ユニット500と、専用のビデオランダムアクセスメモリ(VRAM)ユニット250を備えたリアリティシンセサイザグラフィックスユニット200と、I/Oブリッジ700とを有している。
システムユニット10はまた、ディスク440から読取るためのブルーレイ(登録商標)ディスクBD−ROM(登録商標)光ディスク読取装置430と、着脱可能なスロットインハードディスクドライブ(HDD)400とを有しており、それらはI/Oブリッジ700を介してアクセス可能である。オプションとして、システムユニットはまた、コンパクトフラッシュ(登録商標)メモリカード、メモリスティック(登録商標)メモリカード等を読取るためのメモリカード読取装置450を有しており、同様にI/Oブリッジ700を介してアクセス可能である。
I/Oブリッジ700はまた、4つのユニバーサルシリアルバス(USB)2.0ポート710と、ギガビットイーサネット(登録商標)ポート720と、IEEE802.11b/g無線ネットワーク(Wi−Fi)ポート730と、ブルートゥース接続を7つまでサポートできるブルートゥース(登録商標)無線リンクポート740とに接続されている。
動作の際に、I/Oブリッジ700は、1個以上のゲームコントローラ751からのデータを含め、すべての無線データ、USBデータ、イーサネット(登録商標)データを処理する。例えば、ユーザがゲームをプレイしている場合、I/Oブリッジ700はブルートゥースリンクを介してゲームコントローラ751からデータを受取り、それをセルプロセッサ100に向けて送信し、それに応じてセルプロセッサ100はゲームの現在状態を更新する。
無線ポート、USBポート、イーサネット(登録商標)ポートはまた、ゲームコントローラ751に加えて、リモコン装置752、キーボード753、マウス754、ソニープレイステーションポータブル(登録商標)娯楽装置などの携帯型娯楽装置755、アイトイ(登録商標)ビデオカメラなどのビデオカメラ756、マイクヘッドセット757など、他の周辺装置との接続性をも提供する。従って、そのような周辺装置は原理上システムユニット10に無線で接続できる。例えば、携帯型娯楽装置755はWiFiアドホック接続を介して通信し、一方、マイクヘッドセット757はブルートゥースリンクを介して通信することができる。
これらのインタフェースが提供されていることは、プレイステーション3装置が潜在的に、ディジタルビデオレコーダ(DVR)、セットトップボックス、ディジタルカメラ、携帯型メディアプレイヤー、ボイスオーバーIP電話、携帯電話、プリンター、スキャナーなど、他の周辺装置に適合可能であること意味している。
さらに、レガシーメモリカード読取装置410をUSBポート710を介してシステムユニットに接続することができ、それによりプレイステーション(登録商標)装置あるいはプレイステーション2(登録商標)装置によって使用される種類のメモリカード420の読取りが可能である。
本実施形態では、ゲームコントローラ751はブルートゥースリンクを介してシステムユニット10と無線通信することができる。しかし、その代わりに、ゲームコントローラ751をUSBポートに接続し、そのUSBポートによって電力を供給してゲームコントローラ751のバッテリーを充電することもできる。1個以上のアナログジョイスティックおよび従来のコントロールボタンに加え、ゲームコントローラは各軸における平行運動および回転に対応する自由度6の動きを感知することができる。その結果、従来のボタンコマンドあるいはジョイスティックコマンドに加えてあるいは代えて、ゲームコントローラのユーザによる身振りや動作をゲームへの入力として解釈することができる。オプションとして、プレイステーションポータブル装置など、無線で使用可能な他の周辺装置をコントローラとして使用することができる。プレイステーションポータブル装置の場合、付加的なゲーム情報あるいは制御情報(例えば、制御命令あるいは生命の数)を装置の画面上に提供することができる。他の代替的あるいは補足的制御装置を使用することもでき、例えば、ダンスマット(図示されていない)、ライトガン(図示されていない)、ステアリングホイールとペダル(図示されていない)、あるいは、迅速応答クイズゲーム用の1個あるいは数個の大型ボタンなどの特注コントローラ(やはり図示されていない)などである。
リモコン装置752もブルートゥースリンクを介してシステムユニット10と無線通信することができる。リモコン装置752は、ブルーレイディスクBD−ROM読取装置430の操作に適切な、またディスクコンテンツの操作に適切なコントロール(操作装置)を有している。
ブルーレイディスクBD−ROM読取装置430は、従来の事前記録CDや書込み可能CDまたいわゆるスーパーオーディオCDに加えて、プレイステーション装置およびプレイステーション2装置に適合したCD−ROMを読取ることができる。読取装置430はまた、従来の事前記録DVDや書込み可能DVDに加えて、プレイステーション2装置およびプレイステーション3装置に適合したDVD−ROMを読取ることができる。読取装置430は、更に、従来の事前記録ブルーレイディスクや書込み可能ブルーレイディスクと同様、プレイステーション3装置に適合したBD−ROMを読取ることができる。
システムユニット10は、プレイステーション3装置によってリアリティシンセサイザグラフィックスユニット200を介して生成あるいは復号された音声と映像を、オーディオコネクタおよびビデオコネクタを通して、ディスプレイ305と1個以上のスピーカー310とを有するモニタやテレビなどのディスプレイ・サウンド出力装置300に供給する。オーディオコネクタ210は従来のアナログ出力およびディジタル出力を含むことができ、一方、ビデオコネクタ220は、コンポーネントビデオ出力、Sビデオ出力、合成ビデオ出力、そして1つ以上の高品位マルチメディアインタフェース(HDMI)出力を様々に含むことができる。従って、ビデオ出力は、PALあるいはNTSCなどの方式、あるいは720p、1080iあるいは1080pの高品位方式とすることができる。
オーディオ処理(生成、復号など)は、セルプロセッサ100によって実行される。プレイステーション3装置のオペレーティングシステムは、ドルビー(登録商標)5.1サラウンドサウンド、ドルビー(登録商標)シアターサラウンド(DTS)、そしてブルーレイ(登録商標)ディスクからの7.1サラウンドサウンドの復号をサポートしている。
本実施形態では、ビデオカメラ756は、単一の電荷結合素子(CCD)と、LEDインジケータと、ハードウェアベースのリアルタイムデータ圧縮符号化装置とを有しているので、圧縮ビデオデータをシステムユニット10によって復号するのに適したフォーマット、例えば画像内ベースのMPEG(motion picture expert group)規格などで転送することができる。カメラのLEDインジケータは、システムユニット10からの適切な制御データ(例えば、不利な照明条件を意味する制御データ)に応じて点灯するようにされている。ビデオカメラ756の実施形態は、USB、ブルートゥース、あるいはWiFi通信ポートを介するなど、様々な仕方でシステムユニット10に接続することができる。ビデオカメラの実施形態は1個以上の付属マイクを含んでいてもよく、オーディオデータを転送することもできる。ビデオカメラの実施形態では、CCDが高解像度ビデオキャプチャに適した解像度を有するものとすることができる。使用の際には、ビデオカメラでキャプチャされた画像は、例えばゲーム内に組み込むことができ、あるいはゲームの制御入力として解釈することができる。
一般に、システムユニット10の通信ポートの1つを介してビデオカメラやリモコン装置などの周辺装置とのデータ通信を成功裏に実現するためには、デバイスドライバなどの適切なソフトウェアが備えられていなければならない。デバイスドライバ技術は良く知られているのでここでは詳細に説明しないが、しかし、説明されている本実施形態においてデバイスドライバや類似のソフトウェアインタフェースが必要であろうことは当業者には承知のことであろう。
次に図2を参照すると、セルプロセッサ100のアーキテクチャは、4つの基本構成要素、すなわち、メモリコントローラ160とデュアルバスインタフェースコントローラ170A,Bとを有する外部入出力構造と、パワープロセッシングエレメント150として言及されるメインプロセッサと、シナジスティックプロセッシングエレメント(SPE)110A−Hとして言及される8個のコプロセッサと、これらの構成要素を接続する循環データバスであってエレメントインターコネクトバス180として言及されるデータバスとを有している。セルプロセッサの総合的な浮動小数点性能は218GFLOPSであり、それに比べてプレイステーション2装置のエモーションエンジンは6.2GFLOPSである。
パワープロセッシングエレメント(PPE)150は、両方向同時マルチスレッディングのパワー970に準拠した3.2GHzの内部クロックで動作するパワーPCコア(PPU)155をベースにしたものである。PPE150は512kBの二次(L2)キャッシュと32kBの一次(L1)キャッシュとを有している。PPE150は1クロックサイクルあたり単精度演算8回の能力があり、言い換えれば、3.2GHzで25.6GFLOPSである。PPE150の主要な役割は、シナジスティックプロセッシングエレメント110A−Hに対してコントローラとして機能することであり、後者が計算作業負荷の殆どを処理する。動作の際に、PPE150はジョブ待ち行列を保持し、シナジスティックプロセッシングエレメント110A−Hのためにジョブをスケジューリングし、それらの進行をモニタする。従って、各シナジスティックプロセッシングエレメント110A−Hが実行するカーネルの役割は、ジョブをフェッチし、そのジョブを実行し、PPE150と同期を取ることである。
各シナジスティックプロセッシングエレメント(SPE)110A−Hは、それぞれのシナジスティックプロセッシングユニット(SPU)120A−Hと、それぞれのメモリフローコントローラ(MFC)140A−Hとを有している。そして、各メモリフローコントローラ(MFC)140A−Hは、それぞれのダイナミックメモリアクセスコントローラ(DMAC)142A−Hと、それぞれのメモリマネジメントユニット(MMU)144A−Hと、バスインタフェース(図示されていない)とを有している。各SPU120A−Hは、3.2GHzのクロックで動作するRISCプロセッサであり、256kB(原理上は4GBまで拡張可能)のローカルRAM130A−Hを有している。各SPEは、理論的には単精度演算で25.6GFLOPSの性能を実現する。SPUは、1クロックサイクルで4個の単精度浮動小数点数、または4個の32ビット数、または8個の16ビット整数、または16個の8ビット整数の演算をすることができる。同じクロックサイクルで、SPUはメモリオペレーションを一つ実行することもできる。SPU120A−HはシステムメモリXDRAM500に直接アクセスせず、SPU120A−Hにより形成された64ビットのアドレスがMFC140A−Hに渡され、MFC140−Hが自分のDMAコントローラ142A−Hに対して、エレメントインターコネクトバス180とメモリコントローラ160とを介してメモリにアクセスするように命令する。
エレメントインターコネクトバス180(EIB)180は、セルプロセッサ100内の論理的に循環型の通信バスであり、上記のプロセッサエレメント、即ち、PPE150、メモリコントローラ160、デュアルバスインタフェース170A,B、そして8個のSPE110A−H、すなわち合計で12の関係エレメント、を接続する。関係エレメントはこのバスに対して1クロックサイクルにつき8バイトの速度で同時に読み書きすることができる。先に指摘したように、各SPE110A−Hは、長いリードあるいはライトシーケンスをスケジュールするためにDMAC142A−Hを有している。EIBは、時計回り方向および反時計回り方向に2チャネルずつ、4つのチャネルを有している。したがって、12の関係エレメントに対して、任意の2つの関係エレメント間の最長のステップタイプデータフローは適切な方向に6ステップである。従って、12のスロットに対する理論的なピーク瞬時EIB帯域は、関係エレメント間のアービトレーションによって完全利用した場合、クロック当たり96Bである。これは、3.2GHzのクロック速度では理論ピーク帯域307.2GB/s(ギガバイト/秒)に等しい。
メモリコントローラ160は、ラムバス社により開発されたXDRAMインタフェース162を有している。メモリコントローラはラムバスXDRAM500に対して理論ピーク帯域25.6GB/sでインタフェースする。
デュアルバスインタフェース170A,BはラムバスFlexIO(登録商標)システムインタフェース172A,172Bを有している。このインタフェースは、各8ビット幅の12チャネルに組織されており、5経路はインバウンド、7経路はアウトバウンドである。これにより、コントローラ170Aを介してセルプロセッサとI/Oブリッジ700との間に、またコントローラ170Bを介してリアリティシミュレータグラフィックスユニット200との間に理論ピーク帯域62.4GB/s(アウトバウンドが36.4GB/s、インバウンドが26GB/s)が提供される。
セルプロセッサ100がリアリティシミュレータグラフィックスユニット200に送信するデータは、通常、ディスプレイリストを有しており、それは頂点を描くコマンド、テクスチャをポリゴンに適用するコマンド、照明条件を特定するコマンドなどのシーケンスである。
次に図3を参照すると、リアリティシミュレータグラフィックス(RSX)ユニット200は、NVidia(登録商標)G70/71アーキテクチャに基づくビデオアクセラレータであり、セルプロセッサ100により生成されたコマンドのリストを処理し、描画する。RSXユニット200は、セルプロセッサ100のバスインタフェースコントローラ170Bと通信できるホストインタフェース202と、8個の頂点シェーダ205を有する頂点パイプライン(VP)204と、24個のピクセルシェーダ207を有するピクセルパイプライン(PP)206と、8個のレンダリング出力ユニット(ROP)209を有するレンダリングパイプライン(RP)208と、メモリインタフェース210と、ビデオ出力を生成するためのビデオコンバータ212とを有している。RSX200は256MBのダブルデータレート(DDR)ビデオRAM(VRAM)250によって補完されており、このビデオRAM250は600MHzのクロックで動作し、RSX200と25.6GB/sの理論ピーク帯域でインタフェースできる。動作の際に、VRAM250はフレームバッファ214とテクスチャバッファ216とを保持する。テクスチャバッファ216はピクセルシェーダ207にテクスチャを提供し、一方、フレームバッファ214は処理パイプラインの結果を格納する。RSXは、例えばテクスチャをVRAM250にロードするために、EIB180を介してメインメモリ500にアクセスすることもできる。
頂点パイプライン204は、描かれるべき画像内のポリゴンを定義する頂点の変形および変換を主に処理する。
ピクセルパイプライン206は、色、テクスチャ、照明(そしてピクセル透明度があればそれを含めて)のそれらポリゴンへの適用を主に処理し、処理された各ピクセルに対して赤、緑、青そしてアルファ(透明度)の値を生成する。テクスチャマッピングは単純にグラフィック画像を表面に適用してもよいが、バンプマッピング(テクスチャ値に応じて表面の概念上の方向を変化させて、ライティングモデルにおけるハイライトあるいは陰を生成する)やディスプレイスメントマッピング(適用されるテクスチャによって更に頂点位置を変化させ、テクスチャに調和するように変形された表面を生成する)を含めることもできる。
レンダリングパイプライン208は、ピクセル間で奥行きを比較し、最終画像においてどちらのピクセルを描写すべきかを決定する。オプションとして、中間のピクセル処理過程が奥行き値に影響しない場合(例えば、透明度やディスプレイスメントマッピングが無い場合)、レンダリングパイプラインおよび頂点パイプライン204は奥行き情報をやりとりし合って、ピクセル処理の前に隠ぺい画素を除去することができ、それにより全体としてのレンダリング効率が向上する。更にレンダリングパイプライン208は、結果として得られた画像に対して、フルスクリーンアンチエイリアシングなどその後の効果を適用することができる。
頂点シェーダ205とピクセルシェーダ207はどちらもシェーダモデル3.0規格に基づいている。クロックサイクル当たり136個までのシェーダオペレーションを実行することができるので、組み合わせたパイプラインとしては毎秒748億のシェーダオペレーションが可能であり、毎秒8億4千万個の頂点と100億個のピクセルを出力する。RSX200の全体としての浮動小数点演算性能は1.8TFLOPSである。
通常、RSX200はセルプロセッサ100と密接に協調して動作する。例えば、爆発を表示する場合、あるいは雨や雪などの気象効果を表示する場合、多数の粒子を追跡し、更新し、場面の中に描写する必要がある。この場合、セルプロセッサのPPU155は1個以上のSPE110A−Hが粒子のそれぞれの一団の軌跡を計算するようにスケジューリングすることができる。一方、RSX200は、現在ビデオRAM250に保持されていないテクスチャデータ(例えば、雪片)があれば、エレメントインターコネクトバス180、メモリコントローラ160、バスインタフェースコントローラ170Bを介してメインシステムメモリ500からそれを読み出す。そのあるいはそれら各々のSPE110A−Hは自分が計算した粒子プロパティ(通常は、位置および姿勢を示す、座標および法線)を直接ビデオRAM250に出力し、そのSPE110A−HのDMAコントローラ142A−Hは、バスインタフェースコントローラ170Bを介してビデオRAM250をアドレス指定する。このように、割り当てられたSPEは、このタスクの間は実質的にビデオ処理パイプラインの一部となる。
一般に、このようなやり方で、PPU155は利用可能な8個のSPEのうち6個にタスクを割り当てることができる。1個のSPEはオペレーティングシステムのために取って置かれ、1個のSPEは、事実上、無効である。1個のSPEを無効にすることにより、セルプロセッサの製造の際の許容限界のレベルを大きくすることができる。製造プロセスで、1個のSPEが不合格になってもよいからである。あるいは8個のSPEすべてが有効である場合、8個のSPEがあることにより、その後、セルプロセッサの寿命の間に残りのSPEの1つに障害が生じた場合のため、8番目のSPEが冗長性を提供することができる。
PPU155は、様々な仕方でSPEにタスクを割り当てることができる。例えば、SPEを連鎖させて、複雑なオペレーション(例えば、DVDへのアクセス、映像音声デコード処理、エラーマスキングなど)の各ステップを処理するようにでき、その際各ステップは別々のSPEに割り当てる。その代わりに、あるいはそれに加えて、上記の粒子アニメーションの例の場合のように、2個以上のSPEを割り当てて入力データを並行して演算することができる。
セルプロセッサ100および/またはRSX200により実行されるソフトウェア命令は、製造時に供給されてHDD400に記憶することができ、および/または、光ディスクやソリッドステートメモリなどのデータ媒体あるいは記憶媒体によって、あるいは、有線や無線のネットワークあるいはインターネット接続などの送信媒体を介して、あるいはこれらの組み合わせによって供給することができる。
製造時に供給されるソフトウェアは、システムファームウェアとプレイステーション3装置のオペレーティングシステム(OS)とを含んでいる。動作の際、OSはユーザが様々な機能を選択することを可能にするユーザインタフェースを提供し、これらの機能には、ゲームをプレイすること、音楽を聞くこと、写真を見ること、ビデオを観賞することが含まれる。このインタフェースは、いわゆるクロスメディアバー(XMB)の形態を取っており、機能の種類が水平に配列されている。ユーザは、ゲームコントローラ751、リモコン装置752あるいは他の適切なコントロール装置を用いて、(機能を示す)機能アイコン間を水平に移動することによって操作し、希望する機能アイコンをハイライトさせる。ハイライトされたアイコンの地点には、その機能に関係するオプションが、その機能アイコンを中心として、垂直スクロール可能なオプションアイコンのリストとして現れる。そのリストは類似した仕方で操作することができる。しかし、ゲームディスク、オーディオディスクあるいは映画ディスク440がBD−ROM光ディスク読取装置430に挿入された場合は、プレイステーション3装置が適切なオプションを自動的に選択(例えば、ゲームの開始)することができ、あるいは、関連するオプション(例えば、オーディオディスクを演奏するか、そのコンテンツをHDD400へと圧縮するかの選択)を提供することができる。
更に、OSはオンライン機能を提供し、それには、ウェブブラウザーと、追加のゲームコンテンツやデモンストレーションゲーム(デモ)およびその他のメディアをダウンロードできるオンラインストアーとのインタフェースと、現在の装置のユーザにより指名される他のプレイステーション3装置のユーザとの(例えば、利用可能な周辺装置に依存してテキストあるいは音声または映像による)オンライン通信を提供するフレンド管理機能とが含まれている。オンライン機能により又、適切に設定されたゲームのプレイ中に行なわれるオンライン通信、コンテンツダウンロード、コンテンツ購入が提供され、またプレイステーション3装置それ自体のファームウェア及びOSの更新が提供される。当然であるが「オンライン」という用語は物理的な線の存在を意味していない。なぜなら、その用語は様々なタイプの無線接続にも適用されるからである。
本発明の一実施形態においては、上述のオンライン機能が、このPS3 10のユーザのアバターや現在オンライン中の他のPS3のユーザのアバターが住む前述の仮想世界(環境)との相互作用を含んでいる。
仮想の相互作用環境を可能にするソフトウェアは、通常、HDD400に常駐しており、ダウンロードされるソフトウェアあるいは光ディスク440に記憶されたソフトウェアあるいは任意の他の適切な手段でアクセスされるソフトウェアによってアップグレードおよび/または拡張することができる。あるいは、そのソフトウェアがフラッシュメモリカード420、光ディスク440あるいはセントラルサーバ(図示されていない)に存在してもよい。
本発明の一実施形態においては、仮想相互作用環境(以下、「ホーム」環境と称する)はクロスメディアバーから選択される。次いで、3Dビデオゲームと類似した従来の仕方で、すなわち、制御ソフトウェアをロードして実行し、3Dモデルおよびテクスチャをビデオメモリ250にロードし、ホーム環境を描いた場面をレンダリングすることによって、ホーム環境が開始される。その代わりに、あるいはそれに加えて、個別のゲームなど他のプログラムによってホーム環境を開始することもできる。
次に図4と図5を参照する。図4はホーム環境の概念マップを示しており、図5はホーム環境オンラインクライアント/サーバ構成の概略図である。ユーザのアバターはデフォルトではロビーゾーン1010内に生み出される。しかし、ユーザはこのマップの他のゾーン1010−1060(後に詳述する)を選択することによって、その選択ゾーンがロードされてアバターがそのゾーンに生み出されるようにすることができる。本発明の一実施形態においては、マップ画面が更にサイドバーを有しており、利用可能なゾーンをランク付けオプションなどの管理ツールと共にそのサイドバー上に列挙することができ、ゾーンをユーザの好みの順、あるいは最近追加された順および/またはアルファベット順に列挙することが可能になっている。更に、サーチインタフェースにより、ユーザは名称によるゾーンの検索が可能になる。本発明の一実施形態では、ある任意の時点でユーザのPS3上にローカルに記憶されているより多くの利用可能なゾーンが存在することができ、ローカルな利用可能性をリスト上の色コードで示したり、あるいはローカルに利用できるゾーンだけをリストに表示するようにリストをフィルタリングすることができる。ユーザがローカルに利用できないゾーンを選択した場合は、ホーム環境サーバ2010からダウンロードすることができる。
ここで図6aを参照すると、ロビーゾーン1010は通常、屋根付きの広場に似ており、公園地(草、木、彫刻など)と、ユーザたちが自分たちのアバターによって互いに出会える場所である人の集まる場所(空き地、単独のベンチ、何列かの座席など)とを有している。
通常、ロビーゾーン1010は広告板も含んでおり、それはゲームやその他のコンテンツあるいは製品のための静止画あるいは動画による広告を表示するためのものである。これらの広告板は、ロビーの壁に掛けられているものであったり、単独で立っているものとすることができる。
ロビーゾーン1010は野外映画1012も含むことができ、それは、映画の予告編や、話題となっている広告、あるいはサードパーティが提供する他のコンテンツを上映することができる。そのようなコンテンツは通常、ホーム環境のロード時にPS3 10が接続されるホーム環境サーバ2010からストリーム配信され、あるいはダウンロードされる。これについては、後により詳細に説明する。
映画スクリーンはその前にアバターのための座席設備を伴っており、アバターが着席すると、そのアバターのユーザに知覚されるカメラアングルもそのスクリーンを含むようになる。
次に図6bをも参照すると、ロビーゾーン1010は、機能する玉突き台やボウリング場および/またはゲームセンターなどの一般的な娯楽設備1014を含むこともできる。玉突きやボウリングゲームはアバターが遊ぶことができ、アバターは玉突きのキューやボウリングのボールを持ち、そのようなゲームの従来の仕方でコントロールされる。ゲームセンターの場合、アバターがビデオゲームマシンに近づくと、ホーム環境を選択されたビデオゲームの実質的なフルスクリーン表示へと切り替えることができる。そのようなゲームは、例えば、スペースインベーダ(登録商標)あるいはパックマン(登録商標)などの古典的なアーケードゲームあるいは家庭ゲーム機用ゲームとすることができる。これらの古典的なゲームはメモリや処理の観点からすれば比較的小さなものであり、ホーム環境内でPS3によりエミュレートしたり、ホーム環境へのプラグインとして実行することができる。この場合、通常、アバターは表示されず、ユーザが直接ゲームをコントロールすることになる。ユーザがゲームを終了すると、あるいはアバターをビデオゲームマシンから移動させると、ゲームからデフォルトのホーム環境の眺めへと再び切り替えられる。古典的なアーケードゲームに加えて、ユーザが作成したゲームコンテンツを1台以上の仮想的なゲームマシンの呼び物とすることができる。そのようなコンテンツをオンラインコンペの対象として同じような仕方で呼び物とし、勝利を収めた新しいコンテンツを正規にダウンロードできるようにしてもよい。
ロビーゾーン1010に加えて、他のゾーン(例えば、ゾーン1020,1030,1040,1050,1060、これらは部屋であったり、エリアであったり、あるいは他の建造物とすることができる)も利用可能である。これらのゾーンへは、図4のマップ画面に似た性質のマップ画面によってアクセスすることができ、あるいは、ユーザが自分のアバターをロビーから様々な出口1016へと導くことにより、それら他のエリアへ歩いて行くこともできる。
通常、出口1016は次のエリアへのトンネルあるいは廊下という形を取る(しかし、控えの間という形を取ることも同様に可能である)。アバターがトンネルあるいは控えの間にいる間、次のゾーンがメモリにロードされる。ロビーゾーンおよび次のゾーンのどちらもトンネルあるいは控えの間の同一のモデルを含んでいるか、あるいはそのモデルが両方に対して共通資源となっている。どちらの場合であっても、ユーザのアバターは、同一位置にあるトンネルあるいは控えの間のロビー用版から新ゾーン用の版へと再配置される。このようにすれば、環境全体をメモリに同時に保持する必要なしに、ユーザのアバターがホーム環境全体を見かけ上継ぎ目なく歩くことができる。
次に、図6cも参照すると、利用可能な一つのゾーンはシネマゾーン1020である。シネマゾーン1020は複合型映画館に似ており、予告編や映画やテレビ番組、あるいは以下に詳細に説明する前述のホーム環境サーバ2010からダウンロードあるいはストリーム配信された広告を上映することができ、あるいはHDD400やブルーレイディスクなどの光ディスク440に記憶されたコンテンツを上映することができる複数のスクリーンを有している。
通常、複合型映画館は、スクリーン1022を備えた入館エリアを有しており、そのスクリーン1022は話題となっている予告編や広告をすべての入場者に見せることができる。入館エリアはまた近く公開される映画を通常扱った(ただし、それに限定される訳ではない)ポスター広告1024を備えている。ユーザの年齢(例えばPS3に登録されたもの)に応じて、特定のスクリーンおよび予告編やポスターの選択や表示をそれぞれ制限することができる。この年齢制限は、ホーム環境内のどのゾーンにおいても、年齢制限タグが付けられたどの表示コンテンツにも適用することができる。
更に、本発明の一実施形態においては、複合型映画館は多くのスクリーンルームを提供し、そこにおいては呼び物のコンテンツが利用可能であり、ユーザはそれらのスクリーンルームから選択することができる。スクリーンルーム内では、ダウンロードされたりストリーム配信されたりローカルに記憶されたメディアを仮想シネマ環境内で再生することができる。仮想シネマ環境では、座席列やスクリーンカーテンなどを備えたルーム内にスクリーンがセットされている。映画館は潜在的にはホーム環境にいるすべてのユーザに利用可能であり、したがって他のユーザのアバターが、例えばウェブ放送などの共通にストリーム配信されたマテリアルを視聴しているのが、見えるかもしれない。あるいは、ユーザはズームインを行なってスクリーンが全表示領域を占めるようにすることができる。
次に、図6dをも参照すると、別のタイプのゾーンは開発者あるいは発行者ゾーン1030である。通常、利用可能なそのようなゾーンが複数存在することができる。オプションとして、その各々のゾーンは自分自身用にロビーエリア1010からの出口を持つようにすることができる。あるいは別の方法として、幾つかあるいはすべてがロビーからの一つの出口を共用し、そこで利用可能な各々のゾーンに共通のあるいは複製されたトンネルあるいは控えの間モデル内からの別個の出口を持つことができる。別の方法として、それらを、ポップアップメニューの形態のメニューから選んだり、あるいはホーム環境内から例えば一組の案内標識から選ぶなどして、選ぶことができる。これら後者のケースの場合、接続トンネルあるいは控えの間は選択された開発者あるいは発行者ゾーン1030にのみ接続するように見えるであろう。その代わりに、あるいはそれに加えて、そのようなゾーンをマップ画面を介して選択することができ、その結果ゾーンがメモリにロードされ、アバターは選択されたゾーン内に再び生み出される。
開発者あるいは発行者ゾーン1030は付加的な仮想環境を提供し、その環境は開発者あるいは発行者の製品、ブランドおよびマークのルックアンドフィールを反映することができる。
開発者あるいは発行者ゾーン1030はホーム環境に対する補足的なソフトウェアモジュールである。そして通常、そのゾーンの構造や外観を提供する付加的な3Dモデルおよびテクスチャを有している。
さらに、ホーム環境を実現できるソフトウェアは、応用プログラムインタフェース(API)によってサードパーティソフトウェアの統合をサポートしている。従って、開発者は自分自身の機能コンテンツを自分自身のゾーンのホーム環境に統合することができる。これは以下のいずれかあるいはすべての形態を取ることができる。
i.ゲームの予告編あるいは有名人による推薦など、特定のコンテンツのダウンロード/ストリーム配信;
ii.アバターの外見、行動および/またはゾーン内の通信オプションの変更;
iii.バスケットボール1032あるいはゴルフ練習場1034など、一つ以上のゲームの提供(任意に選択できることであるが、開発者あるいは発行者のゲームのブランドが付けられたもの、あるいはそのゲームにグラフィック的に似たものとすることができる);
iv.開発者あるいは発行者のゲームを代表する一つ以上の相互作用的な場面あるいはビネットで、プレイヤーがゲームの一側面を体験したり、ゲームの特定のスキルを磨いたり、ゲームのコントロールに習熟したりすることを可能にするもの;
v.アリーナ、リング、道場、コートあるいは類似のエリア1036であって、そこでは遠隔プレイされるゲームが観客によって見物できるようにアバター1038によりライブで表わされる。
このように、例えば開発者のゾーンは、開発者のトレードマークとなっている色や開発者のロゴをあしらったコンコースに似ており、サッカーネットや射撃用のスキート射撃場などのゲームエリアがそのゾーンに面している。それに加えて、ゲーム特有のキャラクタを配置したブース(図示されていない)があって、ユーザのアバターがそれに入って一時的にゲームの主要なキャラクタに変わったり、あるいは一人称の視野にズームインしたりすることができ、また、呼び物のゲームの場面に似た更に別のルームに入ることができるようになっている。ここで、ユーザはゲームの他のキャラクタと交流し、また主要場面を演じることができる。コンコースに戻ると、ゲームの広告や他のコンテンツが壁に表示されている。このゾーンの末端でコンコースはアリーナへと開かれており、そこではフットサルの試合が行われていて、そのプレイヤーとボールの位置は、人気グループ(例えば、高位のチーム)がその時点において他国で行なっているゲームに一致したものとなっている。
本発明の様々な実施形態では、開発者/発行者ゾーンをダウンロードすることができる。その代わりとして、あるいはそれに加えて、帯域を小さくするために、雑誌の付属ディスクによってデモコンテンツとして提供することができ、あるいは、開発者あるいは発行者から購入したゲームのインストールプロセスの一部として、ディスクからインストール/アップグレードすることができる。後の二つの例の場合、その後にそのゲームを購入あるいは登録した場合、その結果として更に別のゾーンコンテンツをロック解除したりダウンロードしたりしてもよい。いずれにしても、更なる変更(そして、時宜にかなった広告や予告編メディア)を必要に応じてダウンロードしてよい。
これに類似したゾーンとして商業ゾーン1040がある。この場合も、開発者および発行者ゾーンと同じような仕方でアクセスすることができるこのような商業ゾーンが複数存在できる。開発者/発行者ゾーン1030と同様、商業ゾーン1040は、一以上の商業ベンダーの代表的な仮想資産を3Dモデル、テクスチャなどの形で有しており、それによってその実世界の店、ブランド、アイデンティティーをレンダリングすることが可能となる。それらは、ゾーン内で地理的におよび/またはテーマ的にグループ化してもよい。
商業ゾーン内のスペースは、いわゆる「仮想不動産」としてサードパーティによりレンタルすることができる。例えば、小売業者は代金を支払うことにより、ホーム環境サーバ2010を介して、例えば月毎あるいは年毎の更新として、提供されるホーム環境の定期的な更新の一部として、商業ゾーン1040内に自分の店をレンダリングしてもらうことができる。小売業者は上述の商業施設のために、期間ベースであるいは品目毎に、付加的な支払いをするようにしても良い。このようにして、ホーム環境のユーザに商業的なプレゼンスを与えることができる。
先の場合と同様に、商業ゾーンは、APIを介してホーム環境に統合できる補足的ソフトウェアを有しており、それにより付加的な通信オプション(店に特有の名称、商品、取り引きオプションなど)や、付加的な機能(例えば、購入用商品とサービスのオンラインデータベースへのアクセスや、時価や商品の入手可能性や配達オプションの決定など)を提供することができる。このような機能はメニュー(ポップアップメニュー、あるいはホーム環境内の、例えば壁の、メニュー)を介してアクセスすることもできるし、あるいは自動化されたアバターと通信することによってアクセスすることもできる。アバター同士の通信については、後に詳述する。
当然ではあるが、開発者および発行者も商業ゾーン内に商店を設けることができるし、また、開発者/発行者と商業ゾーン間の接続トンネルを設けることもできる。例えば、トンネルによって開発者ゾーンをその開発者のゲームを販売する商店に接続することができる。そのようなトンネルを「多対一」のタイプとして、幾つかのゾーンの出口から入って同一の店内トンネルから現れるようにすることができる。その場合には、通常、そのトンネルを再利用すると、可能なゾーンの一つではなく、前のゾーンへユーザを連れ戻すように取りきめることになるであろう。
本発明の一実施形態においては、ホーム環境を実現するソフトウェアがPS3のOSにより提供されるオンラインコンテンツ購買システムに対するアクセスを有している。開発者、発行者および商店オーナーは、IPアドレスを指定するインタフェースと自分のオンライン取引を容易にするクエリーテキストによって、このシステムを利用することができる。あるいは、ユーザは自分のPS3の登録の詳細とクレジットカードの詳細が直接利用されることを許可することができ、その結果ホーム環境内のどこであっても、適切な仕方で使用可能とされるオブジェクト、ゲーム、広告、予告編あるいは映画を選択することにより、その品目あるいはサービスの購入を選択することが可能となる。特に、ホーム環境サーバ2010はユーザのクレジットカードその他の詳細情報を記憶することができ、またオプションとして、その有効性を確認してもよい。その場合は、その詳細情報を取引ですぐに利用することができ、ユーザがその詳細情報を入力する必要はない。このように、ホーム環境は取引における仲介者として機能する。あるは、そのような詳細をPS3に記憶し、その有効性をPS3によってあるいはホーム環境サーバによって確認することができる。
次に図7をも参照すると、本発明の一実施形態では、販売方法が、ホーム環境内で品目(商品あるいはサービス)を選択するユーザをステップs2102において含んでいる。ステップs2104では、PS3 10がオブジェクトに対応する識別データをホーム環境サーバ2010に送信し、ホーム環境サーバ201は、ステップs2016において、望ましい供給者(好ましくは、ユーザのIPアドレスに対応する国内の供給者)からその品目を入手可能であるかを確認する。その品目が入手可能でない場合、ステップs2107でユーザのPS3 10にメッセージを送信することによってユーザに通知する。あるいは、一以上の第二位の供給者からの入手可能性をまず調べ、オプションとしてユーザがこれらの供給者の一つからの供給を受け入れることができるかどうかを確認してもよい。ステップs2108において、ホーム環境サーバはユーザについて登録されている支払い詳細情報を記憶装置から検索し、それを検証する。利用できる有効な支払い方法が全く存在しない場合、ホーム環境はユーザが新たな詳細情報を安全な(すなわち、暗号化された)接続を介して入力するように要求することができる。有効な支払い方法が利用可能であれば、ステップs2110において、ホーム環境サーバは適切なサードパーティの支払い供給者に対して、ユーザの勘定から支払額を送金するように要請する。最後に、ステップs2112において、ホーム環境サーバはユーザの適切な配達先住所あるいはIPアドレスを望ましい供給者に提供して当該品目を発注し、その望ましい供給者の勘定に適切な支払いをする。
このように、商取引は特に店に限定されない。同様に、商品あるいはサービスが店の中に表示されるとき、その商品あるいはサービスの望ましい供給者が店のオーナーとして設定されるなら、店がそれ自身の商業的なアプリケーションを提供する必要はない。商品あるいはサービスがディジタル的に供給され得る場合は、オプションとして、それを望ましい供給者から直接あるいはホーム環境サーバ2010を介してダウンロードしてもよい。
前述した公開のゾーンに加えて、個人ユーザにとって私的な、自分自身あるいは自分が招待した者だけがアクセスできる付加的なゾーンが存在する。これらのゾーンについても、共用のロビーエリアからの出口があるが、アバターが入る時(あるいはマップ画面で選択される時)、そのゾーンのそのユーザにとって私的なそれぞれのバージョンがロードされる。
図8aを参照すると、これらのゾーンの第1のものはアパートゾーン1050である。本発明の一実施形態においては、これはユーザがカスタマイズできるゾーンであり、壁紙、フローリング、絵画、家具、外の景色、照明などの登場物1052を選び、また位置決めすることができる。家具の幾つかは機能性家具1054であり、PS3の機能にリンクされている。例えば、テレビをアパート1050に設置することができ、そのテレビによって、幾つかのストリーム配信されるビデオ放送の一つを、あるいはPS3のHDD400あるいは光ディスク440に記憶されたメディアを見ることができる。同様に、インターネットラジオストリームへの予め選ばれたリンクを含むラジオあるいはハイファイ装置を選択することができる。更に、ユーザの芸術作品や写真を壁掛けや絵の形で部屋に持ち込むことができる。
オプションとしては、ユーザ(図8aでは、そのアバター1056によって表わされている)はより大きなアパート、および/または大型TVや玉突き台あるいは自動化された非プレイヤーアバターなど追加の品物を購入することができる。考えられる他の項目としては、屋内体操場、水泳プール、あるいはディスコエリアがそれに含まれる。これら後者の場合、付加的な制御ソフトウェアあるいは付加的なキャラクタ機能を提供するコンフィギュレーションライブラリが、先に説明した商業ゾーンや開発者/発行者ゾーン1030,1040に関して説明したと同様の仕方によってAPIを介してホーム環境に統合されることになる。
このような購入は、ホーム環境サーバに登録されたクレジットカードの詳細情報を用いて行なうことができる。支払いと引き換えに、サーバはユーザのアパート内で使用する該当品目のロックを解除するための許可キーをダウンロードする。あるいは、3Dモデル、テクスチャ、および品目に関連づけられた任意のソフトウェアをホーム環境サーバあるいは認可されたサードパーティのサーバからダウンロードすることができ、オプションとして、許可キーを関連付けてもよい。キーは、例えば、PS3 10のファームウェアのディジタルシリアル番号との一致を要求し、それによって無許可の分配を防止する。
ユーザのアパートは、それぞれのユーザからの招待によってのみ他者がアクセスすることができる。この招待は、友人リスト内から特定の友人を継続招待するという形を取ることができる。あるいは、他のユーザに与えられ、そのユーザが現在のホーム環境セッションに留まっている間だけ有効な単一セッション入場許可証の形を取ることができる。このような招待は、ホーム環境サーバ2010が維持する関連付けの形を取ることができ、あるいは、PS3装置間において招待客としてのステータスの確認を可能とするピアツーピアベースで供給されるディジタルキーの形を取ることができる。
本発明の一実施形態においては、招待されるユーザはアパートのユーザがアパートに居る時だけそのアパートに入ることができ、アパートのユーザが去ると自動的にロビーに戻される。アパート内に居る間は、そこに居る当事者(ユーザと位置データの両方)の間のすべての通信は純粋にピアツーピアである。
このように、アパートはまた、芸術作品やスライドショーや音声・画像などの家庭制作コンテンツを招待客と分かち合う機会をユーザに提供し、また公開ゾーンの他のユーザからのあり得る干渉を受けることなく、友人と交わる機会をも提供する。
招待客がユーザのアパートに入ると、その部屋とその中の備え付け家具の構成が、各オブジェクトのIDコードと位置データを利用して、ピアツーピア方式で出席者の間に送信される。ユーザと招待客との間で部屋あるいは品目が共有されていない場合、モデルやテクスチャやそれを招待客のPS3上で実現するのに必要なコードも送信することができ、それらは、ユーザのアパートにいる間だけそしてユーザと招待客がこのセッションでオンラインの状態に留まっている間だけ使用されるような、使い捨てキーあるいは類似の制約条件と共に送信される。
図8bを参照すると、同様に招待によってのみアクセスできる更に別の私的スペースは、ユーザのトロフィールーム1060である。トロフィールーム1060は、ゲームのプレイの際に獲得したトロフィー1062を展示することができる。
例えば、サードパーティのあるゲームは魅力的な水晶の捜索を含むものである。プレイヤーが水晶を見つけることに成功すると、そのサードパーティゲームはそれをトロフィールーム1060のためのトロフィーとして指名し、トロフィールーム1060がロードされる時にホーム環境ソフトウェアによりアクセスされるファイル領域にその水晶を表わす3Dモデルおよびテクスチャを置く。その結果、ホーム環境を実現するソフトウェアは、その水晶をトロフィールーム内のトロフィーとしてレンダリングすることができる。
ユーザのトロフィールームを見るように相手を招待する場合、トロフィーを一時的に見るために必要なモデルとテクスチャがユーザのPS3からそれら相手のPS3にピアツーピアベースで送信される。これは初めの招待に続けて、トロフィールームに入ることを見越して、バックグラウンドのアクティビティとして実行することができる。あるいは、相手が接続トンネル/控えの間に入る時やマップ画面からユーザのトロフィールームを選択する時に行なわれる。オプションとして、ある相手がやはりそのトロフィーを持っている場合、彼は自分が訪問しているユーザからそのトロフィーをダウンロードしないものとすることができる。従って、本発明の一実施形態では、各トロフィーは識別コードを有している。
その代わりに、あるいはそれに加えて、トロフィールームをグループ、あるいはいわゆる「クラン」のメンバー間で共用することができ、その結果、クランのいずれかのメンバーが勝ち取ったトロフィーは一味の他のメンバーにピアツーピアベースで送信される。従って、一味の全メンバーがトロフィーの共通のセットを見ることになる。
その代わりに、あるいはそれに加えて、ユーザはホーム環境のすべてのメンバーに継続招待を提供し、どんな人にも自分のトロフィールームの訪問を許すことができる。商業ゾーンや開発者/発行者ゾーンの場合と同様に、複数の部屋、例えば、私的なトロフィールーム、グループベースのトロフィールーム、そして公開トロフィールームが存在可能である。これは、前述のようにポップアップメニューやホーム環境内の案内標識から選ぶことにより、あるいは関係するユーザをそのアバターのところに歩いて行くことによって特定し、ロビーからのトロフィールームへの出口を利用してそのユーザの(公開の)トロフィールームへの入室を選ぶことにより、管理することができる。
その代わりに、あるいはそれに加えて、公開トロフィールームを提供することができる。この部屋はホーム環境の現在のインスタンスにおける人物で最も多くのトロフィーを有する人物あるいはトロフィー値評価方式による総合得点が最高点の人物のトロフィーを展示することができる。あるいは、それを統合トロフィールームとすることができ、ホーム環境のそのインスタンスにおける幾人かのあるいはすべてのユーザからのベストなあるいは選ばれたトロフィーをそのユーザのIDと共に展示する。それで、例えば、あるユーザは自分にとって難しいゲームのトロフィーを見つけ、ホーム環境の誰がそれを獲得したかを確認し、次いで、その人の所へ行って、どのようにそれを獲得したか聞くために話し掛けることができる。あるいは、公開トロフィールームは複数のホーム環境を横断してベストなトロフィーを収容することができ、地理的グループ、年代を特定したグループ、ゲームを特定したグループ、あるいは世界中の中からベストなゲーマーを特定することができる。それに代えて、あるいはそれに加えて、ベスト得点ゲーマーを掲示したリーダーボードを提供し、ライブで更新することができる。
当然のことであるが、それぞれが付加的な3Dモデルやテクスチャや制御ソフトウェアを有する多くの付加的なサードパーティゾーンが利用できるようになる可能性がある。その結果、HDD400のかなりの量のスペースがホーム環境ゾーンで占められるかもしれない。
従って、本発明の一実施形態においては、現在ユーザのホーム環境に関連付けられているサードパーティゾーンの数が限定されている。第1のインスタンスでは、既存のサードパーティゾーンが削除されるまで付加的なサードパーティゾーンが追加されるのを防ぐために、最大のメモリアロケーションを利用することができる。それに代えて、あるいはそれに加えて、サードパーティゾーンを地理的適切性あるいはユーザの関心(ホーム環境サーバ2010とのインタフェースを介して、登録の際あるいはその後に宣言される)に応じて限定することができ、その結果、ユーザにとって適切なサードパーティゾーンだけがダウンロードされる。そのようなシステムで、新たなサードパーティゾーンが利用できるようになると、上記の基準に従ってユーザにとっての適切性が評価され、それが現在記憶されているサードパーティゾーンの少なくとも1つより適切であれば、ユーザのPS3に記憶されている現在最も適切性の小さなサードパーティゾーンに取って代わる。
適切性に関する他の基準として、指名された友人の関心やそのインストール済みゾーンを含めることができ、あるいは、ユーザのPS3でプレイされたゲームや他のメディアに対するゾーンの適切性を含めることができる。
ユーザがダウンロードによってあるいはディスクによって明示的にインストールしたかどうかに従い、更に別のゾーンを認めることができる。
先に述べたように、ホーム環境内でユーザはアバターによって表わされる。ホーム環境を実現するソフトウェアは、ユーザのアパートのカスタマイズと同じように、事前に設定されたオプションからの選択によるユーザのアバターのカスタマイズを可能にしている。ユーザは性や肌の色調を選択することができ、それぞれについて利用できるオプションを組み合わせることによって顔の特徴や髪をカスタマイズすることができる。ユーザはまた広範な衣類から選択することができる。この機能をサポートするために、アバター用の広範な3Dモデルやテクスチャが提供されている。本発明の一実施形態においては、ユーザが自分自身のテクスチャをインポートして、自分の衣類上に表示することができる。通常、各アバターの外見を定義するパラメータは約40バイトを占めるに過ぎないので、住民のいるホーム環境に加わる時にはホームサーバを介してそのパラメータを素早く配布することができる。
ホーム環境の各アバターは、ユーザのIDあるいはニックネームによって識別することができ、それはアバターの上のバブル内に表示される。バブルのまん延を制限するために、アバターが十分近くてバブルに含まれるテキストが容易に読めるとき、あるいは相互作用できるほどアバターが近い時および/またはユーザの視界の中心に近いとき、そのようなバブルは景色に溶け込む。
アバターは、従来の三人称ゲームの仕方で(例えば、ゲームコントローラ751を用いて)ユーザにより制御され、ホーム環境を歩き回ることができる。アバターの行動のうちのあるものは状況に依存している。従って、例えば、座るという選択はアバターが座席に近い時だけ可能である。他のアバターの行動はいつでも可能であり、例えば、選択した感情やジェスチャーの表示、あるいはある通信の選択がそうである。アバターのアクションはゲームコントローラ751を用いて決定するが、移動などのアクションの場合のように直接に決定するか、あるいはゲームコントローラ751の適切なキーを押すことによって呼び出されるポップアップメニューによってアクションを選択することによって決定する。
そのようなメニューによって利用可能なオプションには、アバターの外見と衣類の更なる変更や、感情やジェスチャーや移動の選択が含まれる。例えば、ユーザは自分の知っている誰かがホーム環境に見えたとき、自分のアバターがほほ笑んだり、手を振って合図したり、小躍りしたりすることを選択できる。
ユーザは、アバターを介してテキストやスピーチによって互いに交信することができる。
テキストによって交信するために、本発明の一実施形態では、適切なアバター上のポップアップバブル中にメッセージが現れ、必要であればその名前バブルに取って代わる。
次に、図9を参照すると、メッセージを生成するために、ユーザは前もって設定された様々なメッセージを含むポップアップメニュー1070を起動することができる。それらのメッセージは完成されたメッセージとすることもできるが、それに代えて、あるいはそれに加えて、入れ子式のメニューの形を取り、それを操作することにより、選択されたオプションを連結してメッセージを生成することもできる。
それに代えて、あるいはそれに加えて、仮想キーボードを表示し、ゲームコントローラ751で操作することによりテキストを自由に生成することができる。実際のキーボード753がブルートゥースによって接続されていれば、テキストを打ち込んで直接バブルに入れることができる。
本発明の一実施形態においては、ロビーがホーム環境サーバによって主催されるチャットチャネルを提供し、従来のチャット機能を利用することができる。
スピーチによって交信するために、ユーザは利用可能なマイク(例えば、ブルートゥース方式のヘッドセット757など)を持っていなければならない。そして、本発明の一実施形態においては、ゲームコントローラ751のボタンを押すことによってスピーチオプションを選択するか、あるいはホーム環境を実現するソフトウェア内の音声活動検出部を利用することにより、ユーザはホーム環境内で話すことができる。話している時には、例えばスピーチアイコンがアバターの頭の上に現れて、他のユーザが必要なら音量設定を調節するように注意を喚起することができる。
スピーチはユーザのPS3によってサンプリングされ、CELP(Code Excited Linear Prediction)コーデック(あるいは、VoIPが適用可能な他の既知のコーデック)を用いて符号化し、最も近い8つのアバター(オプションとして、ユーザのアバターを取り囲む仮想環境内の所定のエリア内にいるという条件を満たすものとすることができる)にピアツーピア方式によって送信する。所定のエリア内に8つより多いアバターが存在する場合、スピーチを受信した1台以上のPS3は、それぞれのユーザアバターがそのエリア内にいてそのスピーチを受信しなかった他のPS3にそのスピーチを場当たり的に転送することができる。この機能を調整するために、本発明の一実施形態においては、PS3はアバターが所定のエリア内にいるすべてのPS3にスピーチフラグを送信し、その結果、それらのPS3は適切な(話している)アバターの頭の上にスピーチアイコンを置くことができ(それによって、それぞれのユーザはより簡単に話し手を識別できる)、またPS3に送信を知らせることができる。各PS3は、アバターの相対的な位置に基づいて、どのPS3がスピーチを受信しないかを決定することができ、仮想環境内で最も近いアバターがどれであってもそのアバターのPS3にそのスピーチを転送することを決定できる。あるいは、エリア内のPS3は互いに接続試験用パケット(ping)を送り合い、スピーチを受信しなかったPS3との間で応答遅延が最も小さいPS3がどれであってもそのPS3がスピーチの転送を決定することができる。
当然ではあるが、8つへの限定は例示のためであって、実際の数はスピーチの圧縮率や利用可能な帯域などの要因に依存する。
本発明の一実施形態では、そのようなスピーチを携帯電話ネットワークなどの他のネットワークへと、携帯電話番号を指定して、中継することもできる。これは、スピーチをホーム環境を介して携帯電話ネットワークのゲートウェイサーバへとルーティングすることにより、あるいはユーザ自身の携帯電話へブルートゥース送信することによって実現することができる。後者の場合、PS3とインタフェースをとり、また呼び出しをルーティングするために、携帯電話はミドルウェア(例えば、Java(登録商標)アプレット)を必要とするであろう。
したがって、ユーザはホーム環境内から電話上の人物に連絡を取ることができる。同様の方法で、ユーザはテキストメッセージを携帯電話上の人物に送信することもできる。
本発明の一実施形態においては、スピーチと同様の方法で、ソニー(登録商標)社のアイトイ(登録商標)ビデオカメラなどのビデオカメラを装備したPS3のユーザは、ポップアップ画面を介して、あるいはホーム環境内のTVや類似の装置(例えば、アバターが手に持つソニー(登録商標)社のプレイステーションポータブル(登録商標)(PSP)など)を介して、ビデオチャットモードを使用することができる。この場合、オーディオコーデックに加えてあるいは代えてビデオコーデックが用いられる。
オプションとして、最近話したユーザのアバターを強調表示することができ、最も多く話したユーザのアバターはより一層目立つように強調表示できる。これは、例えば名前の隣のアイコンによって、あるいはアバターの周囲の輝きの度合いによって行なうことができる。
図5に戻って参照すると、ユーザが自分のPS3 10上でホーム環境の起動を選択すると、ローカルに記憶されているソフトウェアがホーム環境のグラフィックな表現を生成し、ホーム環境サーバ2010へと接続する。ホーム環境サーバ2010は、複数のオンラインホーム環境2021,2022,2023,2024の一つにユーザを割り当てる。明確にするため、4つのホーム環境だけが示されている。
当然のことながら、任意の1時点で何万人ものユーザがネットワークに接続している可能性がある。従って、過密を防ぐために、ホーム環境サーバ2010は多数の別個のオンラインホーム環境のインスタンスをサポートすることができる。同様に、多くの別個のホーム環境サーバが、例えば異なる国々に、存在することができる。
あるホーム環境に一旦割り当てられると、PS3は最初にアバターの外見に関する情報をアップロードし、次いで、ホーム環境サーバに継続的に自分自身のアバターの位置データを提供し、オンラインホーム環境内の他のアバターの位置データをホーム環境サーバから受信する。実際には、帯域を制限するために、この位置交信は周期的であるため(例えば、2秒ごと)、他のPS3は動作を補間しなければならない。キャラクタの動作のそのような補間は、オンラインゲームでは良く知られている。更に、それぞれの更新で一連の位置を提供することができ、そうすれば動作の(ある時差での)反復が改善され、あるいは現在の動作の外挿が改善される。
加えて、ホーム環境2024内の他のPS3 2031,2032,2033のIPアドレスを共有して、スピーチなど他のデータをピアツーピア方式で互いに送信し合うことができ、それによってホーム環境サーバにより処理されるデータの必要帯域を減らすことができる。
ホーム環境内の過密を防ぐために、それぞれは最大で、例えば、64人のユーザをサポートすることができる。
ユーザが接続されるホーム環境の選択は、PS3が提供するおよび/または登録プロセスによってホーム環境サーバに知られる、多くの要素を考慮に入れることができる。その要素は次のものであるが、それらに限定される訳ではない。
i.PS3の地理的な位置;
ii.ユーザに好ましい言語;
iii.ユーザの年齢;
iv.現在のユーザの「友人リスト」内のあるユーザがすでにある特定のホーム環境にいるかどうか;
v.ユーザのPS3内に現在どんなディスクがあるか;
vi.ユーザのPS3で最近どんなゲームがプレイされたか。
したがって、例えば、スイスの10代の若者はスイスのサーバにあるホーム環境に接続し、ユーザの最高年齢は16歳、主たる言語はフランス語とすることができる。他の例として、PS3に「レボリューション」ゲームを搭載しているユーザは、非常に多くの他のユーザがやはり現在同じゲームを搭載しているホーム環境に接続することにより、複数参加型ゲームの組織を容易にすることができる。この後者のケースの場合、PS3 10はBD−Rom430に入っているゲームを検出して、ホーム環境サーバ2010に通知する。次いで、サーバはそれに従ってホーム環境を選ぶ。
更に別の例では、ユーザが接続されるホーム環境は、ユーザの友人リストに載せられていることが確認されるユーザ3人を見出せるホーム環境である。この例では、友人リストはユーザの名前のリストであり、オプションとして、定期的に会いたいという希望を寄せた他のユーザから受け取ったIPアドレスを含むことができる。異なる友人グループが異なるホーム環境サーバに置かれている場合(例えば、当該ユーザが両方の組に共通な唯一の友人である場合)、最も友人の多いホーム環境にユーザを接続してもよいし、あるいは、選択権がユーザに与えられてもよい。
逆に、ユーザが1人以上の友人に対してホーム環境を切り替えて一緒になるように要請してもよい。この場合、ユーザはポップアップメニューを介してあるいはホーム環境から(例えば、壁のスクリーンであるいはインフォメーションブースで)自分の友人リストを見て、誰がオンライン状態にあるか確認することができる。次いで、ユーザは自分の友人に対して、ピアツーピア接続を利用して、あるいは友人がホーム環境内にいるかIPアドレスが不明の場合はホーム環境サーバを介して、招待を送信することができる。次いで、友人は参加するようにとの招待を受け入れることもできるし、辞退することもできる。
招待を容易にするために、通常、ホーム環境サーバは特定のホーム環境に対して最大のユーザサポート数よりも少ない数のユーザを割り当てることができ、そうすれば前述のようなユーザ主導による追加割り当ての実現が可能となる。このいわゆる「ソフトリミット」は、例えば、定員の90%とすることができ、また適応性のあるものとすることができる。例えば、夕方の早い時間や週末には人々がオンラインで友人に会う可能性が高いので、変えることができる。
数人の友人が同じホーム環境内にいる場合、本発明の一実施形態では、それらの友人たちを現在見出すことのできるゾーンをマップ画面で強調表示することができ、その名前をマップ上に表示するか、サイドバー上でゾーン名に関連して名前を表示することによってそれが行なわれる。
次に図10を参照すると、さらに、ホーム環境の選好、設定、機能、そしてオプションとして他の機能面について、仮想的なソニー(登録商標)社のプレイステーションポータブル(登録商標)(PSP)娯楽装置1072を用いて、必要に応じて見たり、調節したり、アクセスしたりすることができる。この仮想的なPSPを、ゲームコントローラ751を用いて呼び出し、画面上にポップアップするようにできる。次いで、ユーザは、仮想PSP上に表示されているPSPクロスメディアバー1074によって、それらのオプションや設定や機能面にアクセスすることができる。先に述べたように、PSPをビデオチャット用のインタフェースとして用いることもできる。
ユーザがホーム環境を去りたいと望む場合、本発明の実施形態では、ゲームコントローラ751上の適切なキーを選択することにより、あるいはポップアップメニューから退出オプションを選択することにより、あるいはマップ画面から退出を選択することにより、あるいは自分の仮想PSPを介してオプションを選択することにより、あるいはロビーゾーン内のマスター出口を歩いて通り抜けることによって、そうすることができる。
通常、ホーム環境から退出すると、PS3 10はPS3クロスメディアバーに戻ることになる。
最後に、当然のこととして、ホーム環境ソフトウェアに基づいたそしてPS3クロスメディアバーから別個にアクセスできる付加的で別個の環境について考えることができる。例えば、スーパーマーケットは、(ホーム環境サーバによって同様の仕方でサポートされる)スーパーマーケット環境を収容した無料のディスクを提供することができる。選択すれば、ユーザのアバターはスーパーマーケットの仮想的描写(3Dモデル、あるいは棚に適用したテクスチャ)内に陳列された品物を閲覧することができ、その上でクリックすれば上に述べたように購入することができる。このようにして、小売業者は自分自身のユーザ基盤のためにオンラインショッピング機能を提供し、また更新することができる。
ここで再び図5を参照すると、本発明の一実施形態において、1人のユーザ(例えば、PS3 10のユーザ)が自分のアバターを操作してホーム環境内においてストリーム配信されるコンテンツを視聴するかあるいは他の仕方でそのコンテンツにアクセスする時、そのコンテンツはホーム環境サーバ2010(あるいは、ホーム環境サーバにリンクされたコンテンツサーバ(図示されていない))からストリーム配信することができる。
しかし、2人以上のユーザ(例えば、3台のPS3 2031,2032,2033のユーザたち)がそれぞれのアバターを操作して、ストリーム配信される同じコンテンツを視聴するか他の仕方でアクセスする場合、ホーム環境サーバが、ストリーム配信の対象であるメディアのコピーを各PS3に対して別々に送信するのは帯域の浪費である。
本発明の一実施形態においては、この浪費に対応するために、ホーム環境サーバはそれらのPS3に対して、それらがピアツーピアグループの一部となることを通知する。次いで、サーバはデータの異なる部分を、関係するPS3のIPアドレスを付けて、異なるPS3に割り当て、それらのPS3に対してホーム環境サーバから受信したデータをグループ内の他のPS3とピアツーピア方式で共有するように指示する。このようにして、ホーム環境サーバ(あるいはコンテンツサーバ)の調整により、すべてのPS3が、クライアント/サーバデータ転送とピアツーピアデータ転送の混合として、ダウンロードデータを効率的に受信することになる。サーバは既知の通信装置およびプロトコルを用いて、通知、命令、データ転送を実行する。
データがダウンロードされる場合、データ部分は、例えば、そのデータの第1部分、第2部分、そして最後の第3部分であるとして、それぞれを3台のPS3 2031,2032,2033の1つに送信することができる。
データがライブストリームの場合、データ部分は、例えば、下の表1に示されたように各装置に対してオフセットした3つ目ごとのフレームとすることができる。この場合、オプションとして、各PS3がストリームの最初の同じ短いセグメントを受信して、ストリームがPS3間に分割される前にそのセグメントがフレームバッファとしての役割を果たすようにすることにより、フレームをピアツーピア方式で回送するための時間を持つことができる。
Figure 0005059189
本発明の一実施形態においては、データは重なり合わないように割り当てられる。これを行なえるのは、1台あるいはそれ以上のPS3がホームサーバから切断される事態から回復する十分な時間がある場合(例えば、バッファリングによってそうである場合、あるいは時間的に緊急ではない転送の場合など)である。あるいは、データを重なり合うように割り当てることにより、1台のピアデータ源が予期せずに切断された場合のために冗長性を提供することができる。下の表2は3台のPS3の場合におけるそのような冗長性の例を示すものであり、それらのどの1台が予期せずに切断される場合にも対処するためのものである。
単純な実施形態においては、各ピアメンバーがサーバから受信する重複データをそのメンバーが自動的に配信することにより、冗長性が自然に提供される。あるいは、データの重複部分を識別し、1台あるいはそれ以上のメンバーが要求する場合にだけ、それを転送することができる。例えば、下の表2に示されているケースでは、第1のPS3 2031は、第2のPS3 2032がフレーム2を転送にできなかった場合に、第3のPS3 2033にそのフレーム2を要求することができる。そのような要求は、そのフレームデータが遅れたため表示に間に合わせるのにより緊急に必要とされていると判断された時にその要求がなされると想定して、高い優先度を与えることができる。
Figure 0005059189
1台のPS3の接続が断たれる場合、データは残りの装置間で再配信される。冗長性のある上のケースの場合、これはホーム環境サーバからの2つの別個のストリームに委ねられるが、グループ内に最初により多くのPS3が存在する場合でも、単にデータロードの比例的な増加となるに過ぎないことは理解されるであろう。従って、ピアグループ内により多くのPS3が含まれているほど、この構成により得られる効率性が大きくなることは明らかである。メンバーの数は、ホーム環境内のアバターの行動によって動的に増加あるいは減少し得るが、それは現行方式によってホーム環境サーバによりモニタされ、また更新される。
このようにデータを配分することにより、グループ内のすべてのPS3がフルセットのデータを受信する一方、どの単一のPS3もフルセットのデータをサーバだけから受信することはない。
データはまた別の理由でPS3間に異なる仕方で配信することができる。本発明の一実施形態においては、ホーム環境サーバはピアグループの各PS3のデータ転送速度をモニタし、より速い伝送速度によってPS3に対するデータロードを増加させるように、それが各々に送信するデータの配分を適応させる。そのように適応的なロードを行なえば、速度の遅いピアグループメンバーの分担を減らすことにより、ピアグループの全体的効率が増加し、時間が決定的に重要なストリーミングアプリケーションにおいてフレームが失われる可能性を減少させる。典型的なケースとしては、各PS3は各ピアに対する自分自身の伝送速度をモニタし、平均速度をサーバに送り返す。
仮想環境に関し、ピアグループを多くの方法で決めることができる。
図11Aおよび図11Bは、スクリーン3010とアバター3020,3030,3040,3050とを含むホーム環境の一部を示す概念的平面図である。スクリーンは図6aや図6cに見られるシネマスクリーン1012あるいは1022と同様のものとすることができ、あるいは図8aに見られるような、ビデオおよび/またはオーディオを提供するための仮想的なテレビスクリーンあるいは他の適切な形態のものとすることができる。
図11Aにおいて、スクリーン3010で表示するために送信されるストリーミングデータに関するピアグループのメンバーであるかどうかは、メンバーとなる可能性のある各ピア装置のユーザにとってスクリーン3010が見える位置にそのアバターがあるかどうかに依存している。図11Aの例では、第1のアバター3020と第2のアバター3030と第3のアバター3040に対応するPS3が、ストリーム配信されるコンテンツが配分されるピアグループのメンバーとなり、一方、スクリーンから顔をそらしている第4のアバター3050に対応するPS3はグループには参加しない。
図11Bでは、スクリーン3010で表示するためにダウンロードされるストリーミングデータに関するピアグループのメンバーシップは、各アバターのスクリーンからの距離に依存しており、スクリーンがアバターのユーザに現在見えているかどうかにはかかわりがない。この方式の場合、半径3012が有効な動作距離あるいは引寄せ距離であり、アバターがこの距離を超えた位置にあるPS3に対してはストリーミングデータが送信されない(あるいは、かなり低解像度のバージョンで、従ってデータ転送速度の小さなものが送信される)。従って、例えば、第4のアバター3050に対応するPS3は、そのユーザにとって現在ストリーミングコンテンツは見えないとはいえ、ピアグループの一部となる。しかし、ユーザがこのアバターを操作して視点がスクリーンを含むようにしたいなら、ただちにストリーミングコンテンツを見ることができる。これはほとんどのユーザが近くにあるスクリーンに対して期待することである。対照的に、第3のアバター3040に対応するPS3は、スクリーンがユーザに対して表示される視野内にあるものの、スクリーンとの距離のためにピアグループに参加していない。
図11Aと図11Bの方式は、さまざまな仕方で組み合わせることができる。例えば、半径3012はユーザの視点がスクリーン3010を含まない場合にのみ適用することができる。この場合には、図11Bにおいて、第3のアバター3040に対応するPS3も、動作半径の外にあるとはいえ、得られた視野がスクリーンを含んでいるので、ピアグループに含まれる。一方、このアバターが反対を向いていて、その結果、視野がスクリーンを含まないとすれば、対応するPS3がピアグループに参加することはない。
オプションとして、第2の半径(図示されていない)がアバターに対する更なる分離点としての役割を果たすことができ、その半径を超えた場合は、表示される視野がスクリーン3010を含んでいるかどうかにかかわらず、そのアバターに対応するPS3はピアグループに参加しないとすることができる。これによって、アバターが遠くにある多くの他のユーザがちょっとの間だけグループに加わって抜けるためにデータの信頼できる割り当てが難しくなることを避けることができる。
ホーム環境のあるゾーンのユーザのすべてがスクリーンを見たりダウンロードを受信する場合は、潜在的にすべての対応するPS3をピアグループのメンバーとすることができる。
先に言及したように、ピアグループの効率性はサイズと共に向上する。少なくともペイロードデータがオーバーヘッドデータ(メッセージングデータやパケットアドレスデータなど)に比べてデータ全体のかなり多くの部分を占めている場合はそうである。
従って、本発明の一実施形態では、図11Aや図11Bまた上記の変形例にみられるストリーミングビデオスクリーンを見ているあるいはその近くにいるアバターのグループは、ホーム環境の単一インスタンスに限定されない。むしろ、ホーム環境の平行的なインスタンスにおいて他のユーザが同じスクリーンの平行的なインスタンスを見ている場合は、ストリーム配信されるデータの配信という目的に関しては同じピアグループに参加していると考えることができる。
従って、例えば、図11Aの最初の3つのアバター3020,3030,3040は、ホーム環境の他のインスタンスにおいてたまたま同じスクリーンの平行的なインスタンスを同時に見るように自分のアバターを操作した他のユーザに対応する他のアバター3020´,3030´,3040´,3020´´,3030´´,3040´´のピアグループと一緒にすることができる。
ホーム環境の多数のインスタンスをサポートしているホーム環境サーバは、そのホーム環境の異なるインスタンスに接続されているPS3がストリーム配信される同じデータを自分自身のインスタンスにおいて要求しており、従って上に述べた仕方で一つのピアグループを形成すべきかどうかを判断する。
このように、ホーム環境サーバは、そのホーム環境の異なるインスタンスのピアグループを合体して、より大きくてより効率的なピアグループを実現することができる。これは、例えば、全体的なピアグループにおけるPS3の目標数が満たされるかそれを超えるまで、グループを結合することによってそうすることができる。例えば、目標数nを、(現行データ帯域あるいは量/n)>(m×ピアメンバー当たりのオーバーヘッド)となるように定義し、ここでmは例えば5とすることができる。オプションとして、ホーム環境サーバはこの基準を満たすために、ピアをグループに補充したりそれから外したりすることを動的に行なうことができ、例えば、データ転送速度の大きな映画がデータ転送速度の小さな広告に変わると、大きなピアグループをより小さな複数のグループに分割することによってデータ/オーバーヘッド比率を維持し、次いで、データ転送速度の大きな映画が再び始まるとそれら複数のピアグループを再び合体するのは、非常に効率的であろう。
オプションとして、これら平行的なインスタンスは、例えばそれぞれのインスタンスにおけるPS3の地理的な近接性(例えば、登録データあるいはIPアドレスから得られる)など、他の基準によって選ぶことができる。それに代えて、またはそれに加えて、異なるグループのメンバーに対して他のグループのメンバーに試験パケットを送信し、その結果をホーム環境サーバに報告するように命令することができる。次いで、ホーム環境サーバはピアグループを形成できる最速なPS3の組み合わせを決定する。
このようにして、例えば、図11Aの第1のアバター3020に対応するPS3が、第2および第3のアバター3030,3040に対応するPS3に対するピアツーピア接続が遅い一方、ホーム環境の平行的なインスタンスにおいてやはり当該データをストリーミングしているアバター3020´,3020´´とのピアツーピア接続がかなり速い場合には、形成するピアグループをホーム環境の同じインスタンスにおける第1、第2、第3のアバター3020,3030,3040からなるものとするより、第1のアバター3020および平行的なアバター3020´,3020´´からなるものとすることができる。
本発明の一実施形態においては、例えば第1、第2、第3のアバター3020,3030,3040に対応するPS3はすべて既にダウンロードしたものの幾らかあるいはすべてを持っている。1台のPS3、すなわち第4のアバター3050に対応する第4のPS3がホーム環境サーバに接続して、やはりダウンロードすべきデータを要求する。この場合、サーバとピア装置は協力して、第4のPS3にデータを転送する。即ち、サーバはデータのダウンロードの始めからデータセットの中間に向かってデータを送信し始め、一方、ピアグループ中の1台あるいはそれ以上がデータのダウンロードの最後からデータセットの中間に向かってデータを送信し始める(あるいは、その反対でもよい)。この組み合わされたプロセスは、サーバのデータ転送とピアのデータ転送がデータ中の同じ位置に達する時に完了する。従って、この転送プロセスは、2つの方法のどちらでも速い方がより大きな部分を転送することになるので、自己調整的である。
明らかに、単にデータの互いに反対側の両端から開始して中間で出会うまで埋めて行くのではなく、他のデータパターンを用いることができる。しかし、やはりサーバがそのパターンの一端から開始し、ピアグループは他端から開始し、それぞれ他方が既にデータを供給した点に達するまで続ける。明らかに、サーバあるいはピアグループが何らかの理由で失敗した場合は、他方のシステムだけでデータの大部分(あるいは、すべて)を提供することになるであろう。可能性としては、サーバかあるいはピアグループのどちらか(しかし、通常はサーバ)だけでデータを提供することができる。
もちろん、上に記載の方式はビデオストリーミングに限定されるものではない。例えば、同じアプローチをオーディオストリーミングあるいはオーディオ/ビデオ結合ストリーミングに適用することができ、またより一般的なデータダウンロード、例えば、ユーザが自分のアバターを動かしてサードパーティゾーンに入場させる場合に、そのゾーン用のあるいはそのようなゾーンのサブセクション用の付加的な3Dモデル、テクスチャおよび制御ソフトウェアのダウンロードに適用することができる。
同様に、上に記載の方式がビデオスクリーンや他の仮想的な対象を見たりそれに接近したりする場合に限定されるものでないことは勿論である。例えば、ピアグループの形成やそれへの参加をトリガーする他の基準として、特定のゾーンへの入場、特定の仮想的装置とのやりとり、他のアバターとのやりとりを挙げることができ、そのような入場あるいはやりとりによってデータをオンラインで入手する必要が生じることになる。
同様に、勿論、上に記載の方式はホーム環境におけるアバターに限定されるものではなく、より一般的に、送信元のサーバからのデータに関し、サーバによって制御した協調的なダウンロードの実行が可能となる。これは特に、メディアデータのようなストリーム配信されるデータの場合に適用できるが、それに限定される訳ではない。
次に、図12をも参照すると、対応するデータ転送方法は、サーバがクライアント装置に対してそれがクライアント装置のピアグループのメンバーになることを通知する第1のステップs4010と、それに続いて、サーバがデータをそのクライアント装置に送信する第2のステップs4020とを含んでいる。第3のステップs4030では、クライアント装置が、自分がサーバから受信したデータをピアグループ内の他のクライアント装置にピアツーピア方式で送信し、一方、第4のステップs4040では、このクライアント装置もピアグループ内の他のクライアント装置から、ピアグループ内の各クライアント装置がそれぞれサーバから受信したデータをピアツーピア方式で受信する。
当業者には、ここに開示された装置の様々な実施形態の動作に対応する上記方法の様々な変形が本発明の範囲内に入ると考えられることは明らかであろう。それには次のものが挙げられるが、これらに限定されるわけではない。
・サーバは補完的あるいは重複的なデータをピアに送信する。
・サーバはストリーム配信されるデータを送信する。
・サーバはそのようなストリーム配信されるデータをピアグループ内で共有されるインターリーブフレームとして送信する。
・サーバはピアの送信速度をモニタし、それに応じてデータを配分する。
・サーバはオンライン仮想環境の1つあるいはそれ以上のインスタンスのホストとなる。
・クライアント装置はオンライン仮想環境の1つあるいはそれ以上のインスタンス内のアバターによって表わされる。
・サーバは装置のアバターの行動に従ってピアグループのメンバーとして装置を選択する。
当然のことながら、本発明の実施形態は、サーバおよび/またはPS3内の1つあるいはそれ以上のプロセッサの再プログラミングによって実現することができる。そのようなものとして、必要とされる適応を、フロッピー(登録商標)ディスク、光ディスク、ハードディスク、PROM、RAM、フラッシュメモリ、あるいはこれらまたは他の記憶媒体の任意の組み合わせなどのデータキャリヤに記憶されたプロセッサ実行可能な命令、あるいはイーサネット(登録商標)、無線ネットワーク、インターネット、あるいはこれらまたは他のネットワークの任意の組み合わせなどのネットワーク上のデータ信号によって送信されたプロセッサ実行可能な命令を含むコンピュータプログラム製品の形態で実現することができる。

Claims (24)

  1. データ転送システムであって、
    ーバと、各々が前記サーバのクライアントとしてまたピアツーピア装置として動作可能な複数の装置と、を有し、
    前記サーバは、前記複数の装置に対して、それらの装置がピアグループを形成することを通知する通知機構と、そのような通知が行なわれると、データを前記各装置に送信するクライアント/サーバデータ送信器と、を有し、
    前記各装置は、前記サーバからそれぞれのデータを受信するクライアント/サーバデータ受信器と、前記サーバから受信したそれぞれのデータを1台あるいはそれ以上のピアに送信し、また1台あるいはそれ以上のピアから前記サーバによってそれらのピアに送信されたそれぞれのデータを受信するピアツーピア通信器と、を有し、
    前記装置がオンライン仮想環境の1つあるいはそれ以上のインスタンスに接続されると共に、前記オンライン仮想環境において前記装置に対応するアバターによって表わされ、
    前記サーバは、前記オンライン仮想環境における前記装置のアバターの行動に応じて、前記装置をそのサーバによるピアグループのメンバーとして選択することができる
    ことを特徴とするデータ転送システム。
  2. 請求項に記載のデータ転送システムであって、
    次のリスト、すなわち、
    i.装置のアバターの位置が、前記オンライン仮想環境における仮想オブジェクトに関連した領域内にあること;
    ii.アバターの向きによってもたらされる前記オンライン仮想環境内での視点;
    iii.装置のアバターの位置が前記オンライン仮想環境における領域内にあること;
    iv.装置のアバターと仮想オブジェクトとのやりとり;
    v.装置のアバターと他のアバターとのやりとり;
    から選択した1つあるいはそれ以上の基準に従って、前記サーバによるピアグループのメンバーとしての装置が選択される
    ことを特徴とするデータ転送システム。
  3. 請求項1または2に記載のデータ転送システムであって、
    前記サーバから受信したそれぞれのデータが前記ピアグループ全体として補完的である
    ことを特徴とするデータ転送システム。
  4. 請求項1または2に記載のデータ転送システムであって、
    前記サーバから受信したそれぞれのデータが前記ピアグループ全体としては重複的であり、従ってデータの少なくともあるものは前記サーバによって2台あるいはそれ以上の装置へと送信される
    ことを特徴とするデータ転送システム。
  5. 請求項1からのいずれか1項に記載のデータ転送システムであって、
    前記サーバから受信したそれぞれのデータはメディアストリームを表わすデータを含む
    ことを特徴とするデータ転送システム。
  6. 請求項に記載のデータ転送システムであって、
    前記それぞれのデータが隣接しないビデオフレームを含む
    ことを特徴とするデータ転送システム。
  7. 請求項1からのいずれか1項に記載のデータ転送システムであって:
    ピアツーピア伝送速度検出器と、データ割当器と、を有し、
    前記サーバからのデータの1つあるいはそれ以上のクライアントへの割当てがそれぞれのピアツーピア伝送速度に対応したものである、
    ことを特徴とするデータ転送システム。
  8. 請求項1からのいずれか1項に記載のデータ転送システムであって、
    前記各装置がゲーム機であることを特徴とするデータ転送システム。
  9. サーバであって、
    複数の装置に対して、それらの装置がピアグループを形成することを通知する通知機構と、
    そのような通知が行なわれると、データを前記各装置に送信するクライアント/サーバデータ送信器と、を有し、
    仮想環境の複数のインスタンスのホストとなって、前記装置に対応するアバターの前記仮想環境のインスタンスにおける行動に応じて、当該装置が前記サーバの他のクライアントを含むピアグループのメンバーになることを、その装置に通知する
    ことを特徴とするサーバ。
  10. 請求項に記載のサーバであって、
    ピア装置伝送速度モニタと、クライアント/サーバデータ送信調節器と、を有し、
    データは前記ピアグループ内のクライアントに対してクライアントの伝送速度に応じて配分される
    ことを特徴とするサーバ。
  11. クライアント/サーバ通信システムにおけるクライアントとして動作可能な装置であって、
    サーバからデータを受信するクライアント/サーバデータ受信器と、
    前記サーバから受信したデータを1台あるいはそれ以上のピアに送信し、また前記サーバによってそれぞれに送信されたデータを1台あるいはそれ以上のピア装置から受信する、ピアツーピア通信器と、を有し、
    前記装置は、前記サーバによりホストされるオンライン仮想環境の1つあるいはそれ以上のインスタンスに接続されると共に、前記オンライン仮想環境において当該装置に対応するアバターによって表わされ、当該アバターの前記仮想環境のインスタンスにおける行動に応じた前記サーバの他のクライアントを含むピアグループを形成するという通知をサーバから受信し、前記サーバから前記グループに送信されたデータを配信する
    ことを特徴とする装置。
  12. 請求項11に記載の装置であって、データ伝送速度情報を前記サーバに送り返すピアツーピアデータ伝送速度フィードバック機構を有する
    ことを特徴とする装置。
  13. 請求項11または12に記載の装置であって、ゲーム機であることを特徴とする装置。
  14. データ転送システムであって、
    サーバと、それぞれが前記サーバのクライアントとしてまたピアツーピア装置として動作可能でピアツーピアグループを形成できる複数の装置と、を有し、
    前記サーバは、
    仮想環境の複数のインスタンスのホストとなって、前記装置に対応するアバターの前記仮想環境のインスタンスにおける行動に応じて、前記複数の装置と、前記更に別の装置に対しそれらがピアグループを形成することを通知する通知機構と、
    前記更に別の装置から、データの送信要求を受信する要求受信器と、
    データを前記更に別の装置に送信するクライアント/サーバデータ伝送器と、を有し、
    前記更に別の装置は、
    前記サーバからデータを受信するクライアント/サーバデータ受信器と、
    ピアグループ内の1台あるいはそれ以上のピアからデータを受信するピアツーピア通信器と、を有し、
    前記サーバと前記ピアグループの1台あるいはそれ以上の他の装置とが、補完的かつ並行的に、前記更に別の装置が前記データを全て獲得するまで伝送し、
    前記更に別の装置が、前記サーバおよび前記ピアグループの前記1台あるいはそれ以上の他の装置から受信するデータの割合は、前記サーバ及び前記装置のデータ転送速度に帰結する
    ことを特徴とするデータ転送システム。
  15. サーバと複数のクライアント装置間のデータ伝送方法であって、
    前記サーバが、
    前記装置を、オンライン仮想環境の1つあるいはそれ以上のインスタンスにそれぞれ接続するステップと、
    前記装置を前記オンライン仮想環境のそれぞれの前記各インスタンスにおいてアバターによって表わすステップと、
    前記装置のアバターの前記オンライン仮想環境における行動に応じて、ピアグループを形成することを通知するステップと、
    第1の装置にデータを伝送するステップと、を実行し、
    前記第1の装置が、
    自分が前記サーバから受信したデータを前記ピアグループ内の他の装置にピアツーピア方式で伝送するステップと、
    前記ピアグループ内の他の装置から、前記ピアグループ内の各装置がそれぞれ前記サーバから受信したデータを、ピアツーピア方式でそれぞれ受信するステップと、を実行する
    ことを特徴とするデータ伝送方法。
  16. 請求項15に記載のデータ伝送方法であって、
    前記サーバが、次のリスト、すなわち、
    i.装置のアバターの位置が、前記オンライン仮想環境における仮想オブジェクトに関連した領域内にあること、
    ii.アバターの向きによってもたらされる前記オンライン仮想環境内での視点、
    iii.装置のアバターの位置が前記オンライン仮想環境における領域内にあること、
    iv.装置のアバターと仮想オブジェクトとのやりとり、
    v.装置のアバターと他のアバターとのやりとり、
    から選択した1つあるいはそれ以上に対応する、前記仮想環境における、装置のアバターの行動に従って、ピアグループのメンバーとする装置を選択する
    ことを特徴とするデータ伝送方法。
  17. 請求項15または16に記載のデータ伝送方法であって、
    前記サーバから受信したそれぞれのデータが前記ピアグループ全体として補完的である
    ことを特徴とするデータ伝送方法。
  18. 請求項15または16に記載のデータ伝送方法であって、
    前記サーバから受信したそれぞれのデータが前記ピアグループ全体としては重複的であり、従ってデータの少なくともあるものは前記サーバによって2台あるいはそれ以上の装置へと送信される
    ことを特徴とするデータ伝送方法。
  19. 請求項15ないし請求項18のいずれか1項に記載のデータ伝送方法であって、
    前記サーバから受信したそれぞれのデータがメディアストリームを表わすデータを含む
    ことを特徴とするデータ伝送方法。
  20. 請求項19に記載のデータ伝送方法であって、
    前記それぞれのデータが隣接しないビデオフレームを含む
    ことを特徴とするデータ伝送方法。
  21. 請求項15ないし請求項20のいずれか1項に記載のデータ伝送方法であって、
    前記サーバからのデータを、1台あるいはそれ以上のクライアントへそれぞれのピアツーピア伝送速度に応じて配分されるステップを、さらに実行する
    ことを特徴とするデータ伝送方法。
  22. サーバおよびピアグループを形成する複数の装置から更に別の装置に対してデータを伝送するデータ伝送方法であって、
    前記サーバが、
    前記装置を、オンライン仮想環境の1つあるいはそれ以上のインスタンスにそれぞれ接続するステップと、
    前記装置を、前記オンライン仮想環境のそれぞれの前記各インスタンスにおいてアバターによって表わすステップと、
    前記装置のアバターの前記オンライン仮想環境における行動に応じて、前記複数の装置および前記更に別の装置に対してそれらがピアグループを形成することを通知するステップと、
    前記更に別の装置からデータに対する要求を受信するステップと、
    前記更に別の装置にデータを伝送するステップと、を実行し、
    前記ピアグループの1台あるいはそれ以上の他の装置が、
    前記更に別の装置に対する前記データを伝送するようにとの要求を受信するステップと、
    前記更に別の装置にデータを伝送するステップと、を実行し、
    前記サーバと前記ピアグループの1台あるいはそれ以上の他の装置とが、補完的かつ並行的に、前記更に別の装置が完全に前記データを獲得するまで伝送し、
    前記更に別の装置が、前記サーバおよび前記ピアグループの前記1台あるいはそれ以上の他の装置から受信するデータの割合は、前記サーバ及び前記装置のデータ転送速度に帰結する
    ことを特徴とするデータ伝送方法。
  23. 請求項15から22のいずれか1項のデータ伝送方法を、コンピュータに実行させるためのプログラム。
  24. 請求項23に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2010510868A 2007-06-04 2008-06-03 データ転送装置および方法 Active JP5059189B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0710649.5 2007-06-04
GB0710649A GB2450473A (en) 2007-06-04 2007-06-04 A Server in a Peer to Peer system selecting and notifying a device that it is to become a member of a peer group
PCT/GB2008/001888 WO2008149076A2 (en) 2007-06-04 2008-06-03 Apparatus and method of data transfer

Publications (3)

Publication Number Publication Date
JP2010529547A JP2010529547A (ja) 2010-08-26
JP2010529547A5 JP2010529547A5 (ja) 2011-07-07
JP5059189B2 true JP5059189B2 (ja) 2012-10-24

Family

ID=38289815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010510868A Active JP5059189B2 (ja) 2007-06-04 2008-06-03 データ転送装置および方法

Country Status (6)

Country Link
US (1) US9215276B2 (ja)
EP (1) EP2153617B1 (ja)
JP (1) JP5059189B2 (ja)
AT (1) ATE556528T1 (ja)
GB (1) GB2450473A (ja)
WO (1) WO2008149076A2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306671A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Avatar Integrated Shared Media Selection
US8762467B2 (en) * 2010-10-25 2014-06-24 Blackberry Limited System and method for enabling applications to communicate using a peer-to-peer (P2P) system
US8782053B2 (en) * 2011-03-06 2014-07-15 Happy Cloud Inc. Data streaming for interactive decision-oriented software applications
US20140036088A1 (en) * 2011-03-23 2014-02-06 Jeffrey Gabriel Interactive Wireless Media System
US20130065694A1 (en) * 2011-09-13 2013-03-14 Electronics And Telecommunications Research Institute Method for performance test of online game server
US9083638B2 (en) * 2012-02-10 2015-07-14 Empire Technology Development Llc Data transmission in cloud-based system
US9755781B2 (en) 2012-11-28 2017-09-05 Sony Corporation Broadcast system and method for error correction using redundant data
EP2926488A1 (en) * 2012-11-28 2015-10-07 Sony Corporation Receiver for receiving data in a broadcast system using redundancy data
WO2014082997A1 (en) * 2012-11-28 2014-06-05 Sony Corporation Receiver for receiving data in a broadcast system
US9614907B2 (en) * 2013-01-04 2017-04-04 Bittorrent, Inc. Expediting content retrieval using peer-to-peer networks
US9852520B2 (en) 2014-02-11 2017-12-26 International Business Machines Corporation Implementing reduced video stream bandwidth requirements when remotely rendering complex computer graphics scene
US20160006835A1 (en) * 2014-07-03 2016-01-07 Comcast Cable Communications, Llc Distributed Cloud Computing Platform
WO2017168038A1 (en) * 2016-03-31 2017-10-05 Umbra Software Oy Virtual reality streaming
US20220070240A1 (en) * 2020-08-28 2022-03-03 Tmrw Foundation Ip S. À R.L. Ad hoc virtual communication between approaching user graphical representations

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152092B2 (en) * 1999-05-05 2006-12-19 Indeliq, Inc. Creating chat rooms with multiple roles for multiple participants
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US6508709B1 (en) * 1999-06-18 2003-01-21 Jayant S. Karmarkar Virtual distributed multimedia gaming method and system based on actual regulated casino games
JP2001236291A (ja) 2000-02-23 2001-08-31 Sony Corp 情報処理装置および方法、情報処理システム、並びに記録媒体
US7240093B1 (en) * 2000-02-29 2007-07-03 Microsoft Corporation Use of online messaging to facilitate selection of participants in game play
AU2001251470A1 (en) * 2000-04-07 2001-10-23 Network Appliance, Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US20030177187A1 (en) * 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US6931429B2 (en) * 2001-04-27 2005-08-16 Left Gate Holdings, Inc. Adaptable wireless proximity networking
US7269632B2 (en) * 2001-06-05 2007-09-11 Xdyne, Inc. Networked computer system for communicating and operating in a virtual reality environment
JP2003067317A (ja) 2001-08-30 2003-03-07 Fuji Xerox Co Ltd メッセージ交換方法、コンピュータ、管理装置、記録媒体
US7546359B2 (en) * 2001-10-24 2009-06-09 Groove Networks, Inc. Method and apparatus for managing a peer-to-peer collaboration system
US6938042B2 (en) * 2002-04-03 2005-08-30 Laplink Software Inc. Peer-to-peer file sharing
US20030212804A1 (en) * 2002-05-09 2003-11-13 Ardeshir Hashemi Method and apparatus for media clip sharing over a network
US7421471B2 (en) * 2002-05-17 2008-09-02 Sony Computer Entertainment America Inc. Configuration switching: dynamically changing between network communication architectures
US7277946B2 (en) * 2002-06-28 2007-10-02 Microsoft Corporation Distributed session listing and content discovery
US7780526B2 (en) * 2002-06-28 2010-08-24 Igt Universal system mediation within gaming environments
US20040210634A1 (en) * 2002-08-23 2004-10-21 Miguel Ferrer Method enabling a plurality of computer users to communicate via a set of interconnected terminals
US8204992B2 (en) * 2002-09-26 2012-06-19 Oracle America, Inc. Presence detection using distributed indexes in peer-to-peer networks
US7590696B1 (en) * 2002-11-18 2009-09-15 Aol Llc Enhanced buddy list using mobile device identifiers
WO2004063840A2 (en) * 2003-01-09 2004-07-29 Bandwiz, Inc. Content delivery system
US7774495B2 (en) * 2003-02-13 2010-08-10 Oracle America, Inc, Infrastructure for accessing a peer-to-peer network environment
FR2851866B1 (fr) * 2003-02-27 2005-10-28 Procede d'allocation par un premier pair d'un service a un second pair d'un reseau de communication
US7660864B2 (en) * 2003-05-27 2010-02-09 Nokia Corporation System and method for user notification
US8200775B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7464272B2 (en) * 2003-09-25 2008-12-09 Microsoft Corporation Server control of peer to peer communications
EP1728373B1 (en) * 2004-03-22 2018-01-03 Codemate A/S Distribution method, preferably applied in a streaming system
US8050272B2 (en) * 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US7593333B2 (en) 2004-07-07 2009-09-22 Microsoft Corporation Efficient one-to-many content distribution in a peer-to-peer computer network
EP1633088A1 (en) * 2004-09-02 2006-03-08 Deutsche Thomson-Brandt Gmbh Method and device for improving quality-of-service management in peer-to-peer networks
US20060069800A1 (en) 2004-09-03 2006-03-30 Microsoft Corporation System and method for erasure coding of streaming media
US7664109B2 (en) * 2004-09-03 2010-02-16 Microsoft Corporation System and method for distributed streaming of scalable media
GB2420257B (en) * 2004-11-16 2007-12-12 Vodafone Plc Facilitating distribution of information in a network
WO2009021198A1 (en) * 2007-08-08 2009-02-12 Baynote, Inc. Method and apparatus for context-based content recommendation
JP2006221423A (ja) * 2005-02-10 2006-08-24 Canon Inc データ配布方法、装置、及び記憶媒体
US8266237B2 (en) * 2005-04-20 2012-09-11 Microsoft Corporation Systems and methods for providing distributed, decentralized data storage and retrieval
US8070604B2 (en) * 2005-08-09 2011-12-06 Cfph, Llc System and method for providing wireless gaming as a service application
US20070063999A1 (en) 2005-09-22 2007-03-22 Hyperpia, Inc. Systems and methods for providing an online lobby
WO2007044656A2 (en) * 2005-10-07 2007-04-19 Neoedge Networks, Inc. Advertisement identification, selection, and distribution involving a peer-to-peer network
US7677979B2 (en) * 2005-10-14 2010-03-16 Leviathan Entertainment, Llc Method and system for allocating resources in a video game
US20070094325A1 (en) * 2005-10-21 2007-04-26 Nucleoid Corp. Hybrid peer-to-peer data communication and management
US7469269B2 (en) * 2005-12-05 2008-12-23 At&T Intellectual Property I, L.P. Method for exchanging content between communication devices
US7783698B2 (en) * 2005-12-16 2010-08-24 Microsoft Corporation Generalized web-service
US7756924B2 (en) * 2005-12-21 2010-07-13 Microsoft Corporation Peer communities
US7695370B2 (en) * 2006-02-08 2010-04-13 Gaia Interactive Inc. Massively scalable multi-player game system
US7480656B2 (en) * 2006-03-20 2009-01-20 Sony Computer Entertainment America Inc. Active validation of network devices
US20080004119A1 (en) * 2006-06-30 2008-01-03 Leviathan Entertainment, Llc System for the Creation and Registration of Ideas and Concepts in a Virtual Environment
US7970922B2 (en) * 2006-07-11 2011-06-28 Napo Enterprises, Llc P2P real time media recommendations
US7627632B2 (en) * 2006-11-13 2009-12-01 Microsoft Corporation Reducing bandwidth requirements for peer-to-peer gaming based on importance of remote objects to a local player
WO2008058823A1 (de) * 2006-11-14 2008-05-22 Siemens Aktiengesellschaft Verfahren zur lastverteilung bei einem peer-to-peer-overlay-netzwerk
GB2444995B (en) * 2006-12-21 2011-07-27 Vodafone Plc Peer to peer network
US8832290B2 (en) * 2007-02-23 2014-09-09 Microsoft Corporation Smart pre-fetching for peer assisted on-demand media
US10026259B2 (en) * 2007-03-01 2018-07-17 Cfph, Llc Game simulation
US8000328B1 (en) * 2007-05-22 2011-08-16 Qurio Holdings, Inc. Filtering messages in a distributed virtual world based on virtual space properties
US7788522B1 (en) * 2007-05-31 2010-08-31 Oracle America, Inc. Autonomous cluster organization, collision detection, and resolutions
US8606846B2 (en) * 2007-10-15 2013-12-10 Nbcuniversal Media, Llc Accelerating peer-to-peer content distribution
US8249638B2 (en) * 2008-03-31 2012-08-21 Hong Kong Applied Science and Technology Research Institute Company Limited Device and method for participating in a peer-to-peer network
DE102008044843A1 (de) * 2008-08-28 2010-04-22 Siemens Aktiengesellschaft Verfahren und System zum Verteilen von Applikationen

Also Published As

Publication number Publication date
JP2010529547A (ja) 2010-08-26
GB0710649D0 (en) 2007-07-11
GB2450473A (en) 2008-12-31
US20110055320A1 (en) 2011-03-03
WO2008149076A2 (en) 2008-12-11
US9215276B2 (en) 2015-12-15
ATE556528T1 (de) 2012-05-15
EP2153617A2 (en) 2010-02-17
WO2008149076A3 (en) 2009-02-26
EP2153617B1 (en) 2012-05-02

Similar Documents

Publication Publication Date Title
JP5059189B2 (ja) データ転送装置および方法
JP5026531B2 (ja) データ転送装置および方法
US9345970B2 (en) Switching operation of an entertainment device and method thereof
JP5021043B2 (ja) 娯楽装置および方法
EP2131934B1 (en) Entertainment device and method
EP2044987B1 (en) Apparatus and method of on-line reporting
US20100030660A1 (en) Apparatus and method of on-line transaction
EP2058756A1 (en) Apparatus and method of administering modular online environments
WO2008104783A1 (en) Entertainment device and method
GB2461175A (en) A method of transferring real-time multimedia data in a peer to peer network using polling of peer devices

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110517

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120801

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5059189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250