JP2014529792A - 仮想世界の相互作用のシステムおよび方法 - Google Patents

仮想世界の相互作用のシステムおよび方法 Download PDF

Info

Publication number
JP2014529792A
JP2014529792A JP2014526267A JP2014526267A JP2014529792A JP 2014529792 A JP2014529792 A JP 2014529792A JP 2014526267 A JP2014526267 A JP 2014526267A JP 2014526267 A JP2014526267 A JP 2014526267A JP 2014529792 A JP2014529792 A JP 2014529792A
Authority
JP
Japan
Prior art keywords
avatar
virtual world
world
virtual
user
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.)
Granted
Application number
JP2014526267A
Other languages
English (en)
Other versions
JP6101267B2 (ja
JP2014529792A5 (ja
Inventor
シャスター、ブライアン
シャスター、ゲイリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Utherverse Digital Inc
Original Assignee
Utherverse Digital Inc
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 Utherverse Digital Inc filed Critical Utherverse Digital Inc
Publication of JP2014529792A publication Critical patent/JP2014529792A/ja
Publication of JP2014529792A5 publication Critical patent/JP2014529792A5/ja
Application granted granted Critical
Publication of JP6101267B2 publication Critical patent/JP6101267B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/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/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
    • 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/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
    • 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/5586Details of game data or player data management for enforcing rights or rules, e.g. to prevent foul play
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/65Methods for processing data by generating or executing the game program for computing the condition of a game character
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • G06F16/444Spatial browsing, e.g. 2D maps, 3D or virtual spaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Architecture (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

仮想世界の相互作用、操作、インプレメンテーション、インスタンス化、生成、および他の仮想世界関連機能のシステムおよび方法(本明細書中用いられる「仮想世界」という用語については、現実的構造、シミュレートされた構造、空想構造または他の構造を反映した仮想世界システム、仮想環境を指すものとして理解されるべきであり、3D環境内の相互作用を用いた情報システムを含む点に留意されたい)。多様な実施形態により、仮想世界間および仮想世界内の相互運用が促進され、仮想世界を操作するための一貫した構造が得られる。開示の実施形態により、個人がフレームワークを用いて新規の仮想世界を構築することがさらに可能になり、サードパーティユーザが仮想世界とより良く相互作用することが可能になる。【選択図】図1

Description

優先権および関連出願
本明細書は、米国仮特許出願第61/524,956号(出願日:2011年8月18日)に対する非仮出願として優先権を主張する。上記の出願全体を、あたかも本明細書中に記載されているかのように、参考のため援用する。
発明の分野
今日、インターネット上の情報、グラフィカルおよび他のコンテンツは、主に2次元形態で提示されている(例えば、ウェブページ(「フラットウェブ」)。既存の技術に3次元世界を導入するための努力が為されているものの、3次元環境をゲームまたは限られたアプリケーションユーティリティとして取り扱っている(例えば、車製造業者のウェブサイトへ為されたユーザ入力に基づいた車の3次元レンディング)。さらに、3次元世界システムの範囲はモノリシックであり、典型的には制御、操作および管理は単一のエンティティによって行われ、フラットウェブよりもずっと狭い範囲に限定されている。そのため、仮想世界システムとして命名されたものであれまたは「3Dウェブ」として命名されたものであれ、これらのシステムの狭い範囲や、これらのシステムの管理者によって実行されるしばしば特異的な方針およびインターフェースや、実行に対する技術的障壁を解消するための革新的な技術的ソリューションの不在により、より範囲の広い3次元情報システムの開発が阻まれている。
よって、本明細書中開示されるのは、仮想世界の相互作用、操作、インプレメンテーション、インスタンス化、生成および他の仮想世界関連機能のシステムおよび方法である(本明細書中用いられる「仮想世界」という用語は、現実的構造、シミュレートされた構造、空想構造または他の構造を反映した仮想世界システム、仮想環境を指すものとして理解されるべきであり、3D環境内の相互作用を用いた情報システムを含む点に留意されたい)。多様な実施形態により、仮想世界間および仮想世界内の相互運用が促進され、仮想世界を操作するための一貫した構造が得られる。開示の実施形態により、個人がフレームワークを用いて新規の仮想世界を構築することがさらに可能になり、サードパーティユーザが仮想世界とより良く相互作用することが可能になる。
実施形態は、仮想世界システム間においてユーザデータを通信する方法である。方法は、仮想ワールドサーバ上において実行される。仮想ワールドサーバは、1つ以上のプロセッサを含み、外部仮想ワールドサーバからのアバターの転送についてのリクエストを受信する。仮想ワールドサーバは、アバターの仮想ワールドサーバへのアクセスを認証する権利を判別する。仮想ワールドサーバは、外部仮想ワールドサーバと共に転送プロトコルを完了する。仮想ワールドサーバは、仮想ワールドサーバと関連付けられた1つ以上の変換規則に基づいて、アバターと関連付けられた特性を変換する。仮想ワールドサーバは、仮想ワールドサーバ上の1つ以上の世界との相互作用にアバターを参加させる
任意選択的に、上記した実施形態のうち任意の実施形態において、転送プロトコルを完了することは、暗号的にセキュアな転送を行うことを備える。暗号的にセキュアな転送は、アバターが複数の仮想世界中に同時に出現することを抑制することを行うように構成される。
任意選択的に、上記した実施形態のうち任意の実施形態において、特性を変換することは、特性と、仮想ワールドサーバによって許容された相当する特性とを整合させることを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、特性を変換することは、特性と相当する特性との間の値の差を判別することと、値の差についてクレジット精算を提供することとをさらに備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、特性を整合させることは、特性の1つ以上の属性および相当する特性の1つ以上の属性を分析することを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、特性を整合させることは、仮想ワールドサーバおよび外部仮想ワールドサーバと関連付けられた1つ以上のローカルツーローカル変換同意規則を処理することを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、外部仮想ワールドサーバは、仮想ワールドサーバと同じコンピューティングデバイス上に収容される。
任意選択的に、上記した実施形態のうち任意の実施形態において、特性を変換することは、特性変換を反映するようにアバターと関連付けられたグローバルアバター状態を変更することを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、特性を変換することは、特性変換を反映するようにアバターと関連付けられたローカルアバター状態を保存することを備える。アバターと関連付けられたグローバルアバター状態は、変更する必要は無い。
任意選択的に、上記した実施形態のうち任意の実施形態において、特性を変換することは、アバターと関連付けられた以前保存されたローカルアバター状態に基づいて、特性のうち1つ以上を変更することを備える。仮想ワールドサーバ上におけるアバターの以前の活動の効果は、アバターへ回復することができる。
実施形態として、コンピュータシステムがある。このコンピュータシステムは、仮想世界システム間のユーザデータと通信するように構成される。コンピュータシステムは、コンピュータによって読み出し可能な記憶装置を含む。コンピュータによって読み出し可能な記憶装置上には、実行可能な命令としてインプリメントされる複数のモジュールが保存される。コンピュータシステムは、複数のモジュールを実行するように構成された1つ以上のコンピュータプロセッサを含む。コンピュータシステムは、外部仮想ワールドサーバからのアバターの転送についてのリクエストを受信するように構成された転送受信モジュールを含む。コンピュータシステムは、アバターの仮想ワールドサーバへのアクセスを認証する権利を判別するように構成された認証モジュールを含む。コンピュータシステムは、外部仮想ワールドサーバとの転送プロトコルを完了するように構成された転送モジュールを含む。コンピュータシステムは、変換モジュールを含む。変換モジュールは、仮想ワールドサーバと関連付けられた1つ以上の変換規則に基づいて、アバターと関連付けられた特性を変換するように、構成される。コンピュータシステムは、仮想ワールドサーバ上の1つ以上の世界との相互作用にアバターを参加させるように構成された相互作用モジュールを含む。
実施形態として、仮想世界内におけるアクションの許可可能性を判別する方法がある。サービスプロバイダは、コンピューティングハードウェアを備えるサービスプロバイダにより、仮想世界内のオブジェクトに対するアクションの仮想世界エンティティによる試行を特定する。サービスプロバイダは、1つ以上のゲートキーパーオブジェクトを選択する。1つ以上のゲートキーパーオブジェクトが有する許可規則は、仮想世界エンティティがオブジェクトに対してとるべきアクションの許可可能性を判別するように構成される。許可規則は、アバター整合コンポーネント、アクション整合コンポーネントおよびオブジェクト整合コンポーネントのうち1つ以上を含む。サービスプロバイダは、ゲートキーパーオブジェクトのうち1つ以上を通じて反復して、仮想世界エンティティ、とられるべきアクション、およびアクションの対象となるべきオブジェクトに基づいて、1つ以上の適用可能な許可規則を特定する。サービスプロバイダは、1つ以上の適用可能な許可規則に基づいて、アクションを許可すべきかを判別する。サービスプロバイダは、アクションを許可すべきかについての判別に基づいて、アクションを自動的に許可または不許可にする。
任意選択的に、上記した実施形態のうち任意の実施形態において、ゲートキーパーオブジェクトは、サービスプロバイダ、仮想世界および仮想世界内のシーンを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、ゲートキーパーオブジェクトは、アクションの対象となるオブジェクトを含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、許可規則は、親ゲートキーパーオブジェクトからの許可可能性を引き継ぐかの通知をさらに含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、許可規則は、各許可規則を後続の許可規則によってオーバーライドすべきかをさらに示す。
任意選択的に、上記した実施形態のうち任意の実施形態において、試行を特定することは、オブジェクト上へのアクションを行うためのリクエストをユーザコンピュータから受信することを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、リクエストは、実行すべきスクリプトを特定する。スクリプトは、オブジェクトと関連付けられる。
任意選択的に、上記した実施形態のうち任意の実施形態において、リクエストは、オブジェクトと関連付けられた文書構造の要素に対する変更を特定する。
実施形態として、コンピュータシステムは、仮想世界内におけるアクションの許可可能性を判別するように構成される。コンピュータシステムは、コンピュータによって読み出し可能な記憶装置を含む。記憶装置上には、実行可能な命令としてインプリメントされる複数のモジュールが保存される。コンピュータシステムは、複数のモジュールを実行するように構成された1つ以上のコンピュータプロセッサを含む。コンピュータシステムは、アクション特定モジュールを含む。アクション特定モジュールは、仮想世界内のオブジェクトに対するアクションの仮想世界エンティティによる試行を特定するように、構成される。コンピュータシステムは、ゲートキーパー選択モジュールを含む。このゲートキーパー選択モジュールは、仮想世界エンティティがオブジェクトに対してとるべきアクションの許可可能性を判別するように構成された許可規則を有する1つ以上のゲートキーパーオブジェクトを選択するように、構成される。許可規則は、アバター整合コンポーネント、アクション整合コンポーネントおよびオブジェクト整合コンポーネントのうち1つ以上を含む。コンピュータシステムは、規則アプリケーションモジュールを含む。この規則アプリケーションモジュールは、ゲートキーパーオブジェクトのうち1つ以上を通じて反復して、仮想世界エンティティ、とられるべきアクション、およびアクションの対象となるべきオブジェクトに基づいて1つ以上の適用可能な許可規則を特定するように、構成される。コンピュータシステムは、許可決定モジュールを含む。許可決定モジュールは、1つ以上の適用可能な許可規則に基づいてアクションを許可すべきかを判別するように、構成される。コンピュータシステムは、規則実行モジュールを含む。規則実行モジュールは、アクションを許可すべきかについての判別に基づいてアクションを自動的に許可または不許可するように、構成される。
実施形態として、実行可能なスクリプトを仮想世界システム上において操作して、仮想世界システム上におけるアクションの自動化をイネーブルする方法がある。仮想世界システムは、コンピュータによって読み出し可能な媒体上に仮想空間のデータ表現を維持する。データ表現は、オブジェクトの階層表現を仮想空間内に含む。階層表現は、階層表現内の第1のオブジェクトと関連付けられた実行可能なスクリプトを含む。仮想世界システムは、コンピュータによって読み出し可能な媒体と通信する1つ以上のコンピュータプロセッサ上に実行可能なスクリプトを実行する。仮想世界システムは、第2のオブジェクトが実行可能なスクリプトと関連付けられた第1のオブジェクトの子孫と同じであるかまたはそのものであるという決定に基づいて、実行可能なスクリプトが階層表現内の第2のオブジェクトを変更することをイネーブルする。仮想世界システムにより、第3のオブジェクトが実行可能なスクリプトと関連付けられた第1のオブジェクトの子孫と同じであるかまたはそのものであるという決定に基づいて実行可能なスクリプトが階層表現内の第3のオブジェクトを変更することが回避される。
任意選択的に、上記した実施形態のうち任意の実施形態において、オブジェクトの階層表現は、文書オブジェクトモデルと関連付けられる。
任意選択的に、上記した実施形態のうち任意の実施形態において、スクリプトは、階層表現内の第1のオブジェクトのサブ要素として維持される。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、第3のオブジェクトと関連付けられた第2の実行可能なスクリプトを実行可能なスクリプトが呼び出すことをイネーブルすることも含む。実行可能なスクリプトは、第2の実行可能なスクリプトの呼び出しを通じて、第3のオブジェクトを間接的に変更し得る。
任意選択的に、上記した実施形態のうち任意の実施形態において、実行可能なスクリプトは、第2の実行可能なスクリプトと関連付けられたアクション識別子を指定する機能を実行することにより、第2の実行可能なスクリプトを呼び出す。
実施形態として、コンピュータシステムは、実行可能なスクリプトを仮想世界システム上において操作して、仮想世界システム上でのアクションの自動化をイネーブルするように、構成される。コンピュータシステムは、実行可能な命令としてインプリメントされる複数のモジュールを保存する、コンピュータによって読み出し可能な記憶装置を含む。コンピュータシステムは、複数のモジュールを実行するように構成された1つ以上のコンピュータプロセッサを含む。コンピュータシステムは、仮想空間のデータ表現を含む保存されたコンピュータデータを含む。データ表現は、オブジェクトの階層表現を仮想空間内に含む。階層表現は、階層表現内の第1のオブジェクトと関連付けられた実行可能なスクリプトを含む。コンピュータシステムは、スクリプト実行モジュールを含む。スクリプト実行モジュールは、コンピュータによって読み出し可能な媒体と通信する1つ以上のコンピュータプロセッサ上において実行可能なスクリプトを実行するように、構成される。コンピュータシステムは、オブジェクト変更モジュールを含む。このオブジェクト変更モジュールは、第2のオブジェクトが実行可能なスクリプトと関連付けられた第1のオブジェクトの子孫と同じであるかまたはそのものであるという決定に基づいて、実行可能なスクリプトが階層表現内の第2のオブジェクトを変更することをイネーブルするように構成される。オブジェクト変更モジュールは、第3のオブジェクトが実行可能なスクリプトと関連付けられた第1のオブジェクトの子孫と同じであるかまたはそのものではないという決定に基づいて、実行可能なスクリプトが階層表現内の第3のオブジェクトを変更することを回避するように、さらに構成される。
実施形態として、3次元空間をコンピュータネットワークを介して表現する方法がある。3次元仮想世界を操作するように構成された仮想世界サービスプロバイダは、3次元仮想世界をアクセスするためのリクエストを受信する。仮想世界サービスプロバイダは、リクエストに3次元仮想世界データまたは3次元仮想世界データの2次元表現供給すべきかを判別する。判別は、アクセスのためのリクエストのコンテンツに基づく。仮想世界サービスプロバイダは、リクエストの決定に応答して、3次元仮想世界データの供給を受け、3次元仮想世界データを送信する。仮想世界サービスプロバイダは、リクエストが3次元仮想世界データの2次元表現の供給を受けるべきとの決定に応答して、3次元仮想世界の既存の状態に基づいて2次元表現を生成し、2次元表現を含むユーザインターフェースデータを送信する。ユーザインターフェースデータは、実行可能なコードを含む。実行可能なコードは、ユーザが2次元インターフェースを用いて3次元仮想世界と相互作用することをイネーブルするように、構成される。
任意選択的に、上記した実施形態のうち任意の実施形態において、リクエストが3次元仮想世界データまたは3次元仮想世界データの2次元表現の供給を受けるべきかを判別することは、リクエストと関連付けられたプロトコルを判別することを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、リクエストが3次元仮想世界データまたは3次元仮想世界データの2次元表現の供給を受けるべきかを決定することは、リクエストと関連付けられたユーザエージェントを決定することを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、2次元表現を生成することは、3次元仮想世界内のバンテージポイントを特定することと、特定されたバンテージポイントに基づいて仮想世界の2次元レンダリングを送信することとを含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、バンテージポイントは、リクエスト中の識別子に基づいて特定される。
任意選択的に、上記した実施形態のうち任意の実施形態において、実行可能なコードは、チャットインターフェースを提示するように構成される。このチャットインターフェースにより、ユーザは、3次元仮想世界内においてメッセージを送受信することができる。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、リクエストが2次元表現の供給を受けるべきであるとの判別に応答して、アバター表現を3次元仮想世界に挿入することも含む。アバター表現は、アバターと関連付けられたユーザが2次元表現にアクセスしていることを通知するように、構成される。
任意選択的に、上記した実施形態のうち任意の実施形態において、ユーザインターフェースデータは、サーチエンジンによってインデックス付与されるように、構成される。
実施形態として、コンピュータシステムは、3次元空間をコンピュータネットワークを介して表現するように構成される。コンピュータシステムは、コンピュータによって読み出し可能な記憶装置を含む。記憶装置上に、実行可能な命令としてインプリメントされる複数のモジュールが保存される。コンピュータシステムは、複数のモジュールを実行するように構成された1つ以上のコンピュータプロセッサを含む。コンピュータシステムは、3次元仮想世界へアクセスするためのリクエストを受信するように構成されたリクエスト処理モジュールを含む。コンピュータシステムは、次元評価モジュールを含む。次元評価モジュールは、リクエストが3次元仮想世界データまたは3次元仮想世界データの2次元表現の供給を受けるべきかを判別するように、構成される。判別は、アクセスのためのリクエストのコンテンツに基づく。コンピュータシステムは、3次元コンテンツモジュールを含む。3次元コンテンツモジュールは、3次元仮想世界データを送信することにより、リクエストが3次元仮想世界データの供給を受けるべきとの決定に応答するように、構成される。コンピュータシステムは、2次元コンテンツモジュールを含む。2次元コンテンツモジュールは、リクエストが3次元仮想世界データの2次元表現の供給を受けるべきとの決定に応答するように、構成される。応答は、3次元仮想世界の既存の状態に基づいて2次元表現を生成することと、2次元表現を含むユーザインターフェースデータを送信することとにより、行われる。ユーザインターフェースデータは、ユーザが2次元インターフェースを用いて3次元仮想世界と相互作用することをイネーブルするように構成された、実行可能なコードを含む。
実施形態として、3次元仮想空間内にオブジェクトを配置する方法がある。方法は、仮想世界サービスプロバイダ上に行われる。仮想世界サービスプロバイダは、1つ以上のコンピュータプロセッサを含むサービスプロバイダ上において、第1の空間配置内に複数のオブジェクトを含む仮想世界シーンのインスタンスを維持する。仮想世界サービスプロバイダは、複数のオブジェクトの第1のオブジェクトを特定する。第1のオブジェクトは、第1の空間位置を有する。仮想世界サービスプロバイダは、第1のオブジェクトの第1の空間位置と、第1のオブジェクトと関連付けられた元々の空間位置とを比較する。仮想世界サービスプロバイダは、第1のオブジェクトの第1の空間位置と元々の空間位置との比較に基づいて、第1のオブジェクトを第1の空間位置から元々の空間位置に戻す変換経路を計算する。仮想世界サービスプロバイダは、計算された変換経路に基づいて、第1のオブジェクトを自動的に遷移させる。
任意選択的に、上記した実施形態のうち任意の実施形態において、第1のオブジェクトを自動的に遷移させることは、第1のオブジェクトを計算された変換経路に沿って自立的に移送することを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、第1のオブジェクトを自動的に遷移させることは、非プレーヤキャラクターを導入して、第1のオブジェクトを計算された変換経路に基づいて移送することを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、非プレーヤキャラクターは、3次元仮想空間のオペレータによって構成することができる。
任意選択的に、上記した実施形態のうち任意の実施形態において、元々の空間位置は、仮想世界シーンと関連付けられる。
任意選択的に、上記した実施形態のうち任意の実施形態において、第1のオブジェクトを自動的に遷移させることは、第1のオブジェクトを遷移させる際の速度を決定することと、決定された速度に基づいて第1のオブジェクトを遷移させることとを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、速度は、仮想世界シーンのインスタンス中に存在するアバター数に基づいて、少なくとも部分的に決定される。
実施形態として、コンピュータシステムは、オブジェクトを3次元仮想空間内に配置するように、構成される。コンピュータシステムは、コンピュータによって読み出し可能な記憶装置を含む。記憶装置上に、実行可能な命令としてインプリメントされる複数のモジュールが保存される。コンピュータシステムは、複数のモジュールを実行するように構成された1つ以上のコンピュータプロセッサを含む。コンピュータシステムは、複数のオブジェクトのインスタンスの保存されたデータを第1の空間配置において含む仮想世界シーンを含む。コンピュータシステムは、オブジェクト特定モジュールを含む。オブジェクト特定モジュールは、複数のオブジェクトの第1のオブジェクトを特定するように、構成される。第1のオブジェクトは、第1の空間位置を有する。コンピュータシステムは、位置比較モジュールを含む。位置比較モジュールは、第1のオブジェクトの第1の空間位置と、第1のオブジェクトと関連付けられた元々の空間位置とを比較するように、構成される。コンピュータシステムは、経路計算モジュールを含む。経路計算モジュールは、第1のオブジェクトの第1の空間位置と元々の空間位置との間の比較に基づいて、第1のオブジェクトを第1の空間位置から元々の空間位置に戻すための変換経路を計算するように、構成される。コンピュータシステムは、経路実行モジュールを含む。経路実行モジュールは、計算された変換経路に基づいて第1のオブジェクトを自動的に遷移させるように、構成される。
実施形態として、仮想世界の2次元表現および3次元表現間を相互運用する方法がある。システムは、仮想世界へアクセスするためのリクエストをクライアントコンピュータから受信する。リクエストは、仮想世界内におけるアクセスすべき位置を示す。システムは、受信されたアクセスリクエストのコンテンツに基づいて、仮想世界の2次元表現をクライアントコンピュータへ供給すべきであると決定する。システムは、仮想世界を表現する2次元コンテンツをクライアントコンピュータへ送信する。2次元コンテンツは、インジケータを含む。インジケータは、クライアントコンピュータに3次元コンテンツを処理するように構成された仮想世界ブラウザを呼び出させるように、構成される。インジケータは、受信されたアクセスリクエスト中に示される仮想世界の位置に対応する仮想世界中の位置に仮想世界ブラウザをアクセスさせるように、さらに構成される。
任意選択的に、上記した実施形態のうち任意の実施形態において、インジケータは、クライアントコンピュータへ送られるHTMLコンテンツ内のタグを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、タグは、仮想世界ブラウザと関連付けられたプロトコルを特定するURLを含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、インジケータは、仮想世界ブラウザに3次元コンテンツをフリップ可能なインターフェース中に表示させるように構成され、これにより、クライアントコンピュータのユーザが2次元表現と3次元コンテンツとの間で切り換えることがイネーブルされる。
任意選択的に、上記した実施形態のうち任意の実施形態において、仮想世界の2次元表現が供給を受けるべきと決定することは、アクセスのためのリクエストと関連付けられたユーザエージェントを決定することを備える。
任意選択的に、上記した実施形態のうち任意の実施形態において、仮想世界の2次元表現が供給を受けるべきと決定することは、アクセスのためのリクエストと関連付けられたプロトコルを決定することを備える。
実施形態として、コンピュータシステムは、仮想世界の2次元表現および3次元表現間を相互運用するように、構成される。コンピュータシステムは、コンピュータによって読み出し可能な記憶装置を含む。記憶装置上に、実行可能な命令としてインプリメントされる複数のモジュールが保存される。コンピュータシステムは、複数のモジュールを実行するように構成された1つ以上のコンピュータプロセッサを含む。コンピュータシステムは、リクエスト処理モジュールを含む。リクエスト処理モジュールは、仮想世界へアクセスするためのリクエストをクライアントコンピュータから受信するように、構成される。リクエストは、仮想世界内におけるアクセスすべき位置を示す。コンピュータシステムは、次元評価モジュールを含む。次元評価モジュールは、受信されたアクセスリクエストのコンテンツに基づいて、仮想世界の2次元表現をクライアントコンピュータへ供給すべきであると決定するように、構成される。コンピュータシステムは、2次元コンテンツモジュールを含む。2次元コンテンツモジュールは、仮想世界を表現する2次元コンテンツをクライアントコンピュータへ送るように、構成される。2次元コンテンツは、インジケータを含む。このインジケータは、クライアントコンピュータに3次元コンテンツを処理するように構成された仮想世界ブラウザを呼び出させるように、構成される。インジケータは、受信されたアクセスリクエスト中に示される仮想世界の位置に対応する仮想世界中の位置へ仮想世界ブラウザをアクセスさせるように、さらに構成される。
実施形態として、例えばコンピュータシステムによって実行することが可能な方法がある。この方法は、例えばコンピュータシステムによって実行することが可能である。システムは、1つ以上のコンピュータメモリ中に、文書オブジェクトの集合によって規定された3次元シーンのインスタンスをインスタンス化する。文書オブジェクトは、記述言語で符号化され、各3次元モデル化オブジェクトまたは空間を規定する。システムは、1つ以上のクライアントデバイスからプロセッサが受信した信号に応答して、文書オブジェクトの集合のコンテンツを制御する。システムは、連続する時間系列(例えば、少なくともシーン中の3次元オブジェクトモデル化の位置および方向)におけるシーンの各状態に基づいて、1つ以上のコンピュータメモリ中に一連の3次元シーン状態を記録する。システムは、一連の3次元シーン状態を示すデータを1つ以上のクライアントへと提供する。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、シーンのインスタンスを少なくとも部分的にインスタンス化することも含む。インスタンス化は、集合中の文書オブジェクトのうち1つをインスタンス化することにより、行われる。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、文書オブジェクトを少なくとも部分的にインスタンス化することも含む。インスタンス化は、プロセッサによって受信された文書テンプレートから文書オブジェクトの集合中の文書オブジェクトのうち少なくとも1つのコピーを生成することにより、行われる。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、文書オブジェクト特性に基づいて文書オブジェクトの集合を階層ツリーに分類することも含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、サーバからの命令に応答して、シーンのインスタンスをサポートするように適合された1つ以上のコンピュータメモリ中に1つ以上のコンポーネントをインストールすることも含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、文書オブジェクトの集合を少なくとも部分的に制御することも含む。制御は、プロセッサによる1つ以上のコンポーネント実行を用いて、文書オブジェクトのうち1つに対応する信号シグニファイイングイベントの1つを検出することにより、行われる。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、信号シグニファイイングイベントのうちの1つの検出に応答して情報信号を生成し、情報信号をサーバへ送ることも含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、プロセッサによって実行されるより多くのコンポーネントのうちの1つを用いてサーバと通信して、イベントの各結果を判別することも含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、各結果に応じて、集合中の1つ以上の文書オブジェクトの状態を更新することも含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、1つ以上のクライアントのユーザインターフェースのシーンの3次元動画をイネーブルするフォーマットにデータをフォーマットすることも含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、方法は、マークアップ言語に従って文書オブジェクトを解釈することも含む。マークアップ言語は、ハイパーテキストマークアップ言語(HTML)オブジェクト、拡張ハイパーテキストマークアップ言語(XHTML)または拡張マークアップ言語(XML)からなる群から選択される。
実施形態として、メモリへ接続されたプロセッサを含む装置がある。メモリは、命令を保持する。これらの命令がプロセッサによって実行されると、装置は操作を行う。装置は、文書オブジェクトの集合によって規定された3次元シーンのインスタンスをインスタンス化する。文書オブジェクトは、マークアップ言語で符号化され、各3次元モデル化オブジェクトまたは空間を規定する。装置は、1つ以上のクライアントデバイスからの信号に応答して、文書オブジェクトの集合のコンテンツを制御する。装置は、連続する時間系列におけるシーンの各状態(例えば、シーンにおける3次元オブジェクトモデル化の少なくとも位置および方向)に基づいて、一連の3次元シーン状態を記録する。装置は、一連の3次元シーン状態を示すデータを1つ以上のクライアントへ提供する。
任意選択的に、上記した実施形態のうち任意の実施形態において、メモリは、集合中の文書オブジェクトのうちの1つをインスタンス化することにより、シーンのインスタンスを少なくとも部分的にインスタンス化するためのさらなる命令を保持する。
任意選択的に、上記した実施形態のうち任意の実施形態において、メモリは、プロセッサによって受信された文書テンプレートから文書オブジェクトの集合中の文書オブジェクトのうち少なくとも1つのコピーを生成することにより、文書オブジェクトの少なくとも1つを少なくとも部分的にインスタンス化するためのさらなる命令を保持する。
任意選択的に、上記した実施形態のうち任意の実施形態において、メモリは、文書オブジェクト特性に基づいて文書オブジェクトの集合を階層ツリーに分類するためのさらなる命令を保持する。
任意選択的に、上記した実施形態のうち任意の実施形態において、メモリは、サーバからの命令の受信に応答して、シーンのインスタンスをサポートするように適合された1つ以上のコンピュータメモリ中に1つ以上のコンポーネントをインストールするためのさらなる命令を保持する。
任意選択的に、上記した実施形態のうち任意の実施形態において、メモリは、プロセッサによる1つ以上のコンポーネント実行を用いて文書オブジェクトのうちの1つに対応する信号シグニファイイングイベントのうちの1つを検出することにより、文書オブジェクトの集合を少なくとも部分的に制御するためのさらなる命令を保持する。
任意選択的に、上記した実施形態のうち任意の実施形態において、メモリは、信号シグニファイイングイベントのうちの1つの検出に応答して情報信号を生成するためのさらなる命令を保持し、情報信号をサーバへと送る。
任意選択的に、上記した実施形態のうち任意の実施形態において、メモリは、プロセッサによる1つ以上のコンポーネント実行を用いてサーバと通信するためのさらなる命令を保持して、イベントの各結果を決定する。
任意選択的に、上記した実施形態のうち任意の実施形態において、メモリは、各結果に従って、集合中の文書オブジェクトの1つ以上の状態を更新するためのさらなる命令を保持する。
任意選択的に、上記した実施形態のうち任意の実施形態において、メモリは、1つ以上のクライアントのユーザインターフェースのシーンの3次元動画をイネーブルするフォーマットにデータをフォーマットするためのさらなる命令を保持する。
任意選択的に、上記した実施形態のうち任意の実施形態において、メモリは、マークアップ言語に従って文書オブジェクトを解釈するためのさらなる命令を保持する。マークアップ言語は、ハイパーテキストマークアップ言語(HTML)オブジェクト、拡張ハイパーテキストマークアップ言語(XHTML)または拡張マークアップ言語(XML)からなる群から選択される。
実施形態として、システムがある。システムは、仮想環境のためのプロトコルに従って規定された1つ以上のオブジェクトを含む。システムは、仮想環境内の1つ以上のシーンを含む。システムは、1つ以上の仮想環境を含む。1つ以上の仮想環境のうちサブセットは、サブセット中に無い仮想環境のうち少なくとも1つの一部として規定される。システムは、許可を規定する情報を含むデータベースを含み、許可により、オブジェクト、シーンおよび仮想環境それぞれが、その他のオブジェクト、シーンまたは仮想環境のうち1つ以上について許可される。
任意選択的に、上記した実施形態のうち任意の実施形態において、システムは、オブジェクト、シーンおよび仮想環境が範囲許可と適合する相互作用と相互作用する能力を限定することにより、1つ以上のシーンのインスタンス中のデータの許可を実現する手段も含む。仮想環境は、階層よりも下側にあるシーンの許可について要求、許可、排除またはこれらの組み合わせを行うことができ、シーンは、階層よりも下側にあるオブジェクトの許可について要求、許可、排除またはこれらの組み合わせを行うことができる。
任意選択的に、上記した実施形態のうち任意の実施形態において、データベースに含まれるデータは、オブジェクトそのものに符号化され、中心的に保存されない。
実施形態として、コンピュータシステムがある。システムに含まれるオブジェクトまたは層は、仮想環境内の1つ以上の他のオブジェクトまたは層を生成するためのテンプレートを保持する仮想環境内に含まれる。システムは、1つ以上のオブジェクトまたは層を生成する手段を含む。システムは、1つ以上のユーザが1つ以上のオブジェクトまたは層と相互作用する手段を含み、その結果、少なくとも1つの修正がオブジェクトまたは層に対して行われる。システムは、許可データを参照することにより、1つ以上の他のオブジェクト、他の層またはユーザについて1つ以上のこのような修正持続させるべきかを決定する手段を含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、システムはまた、オブジェクトまたは層の範囲状態を記録する手段も含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、システムはまた、記録された状態を変更するオブジェクト、層またはユーザが第2のユーザ、オブジェクトまたは層についてこのようなオブジェクトまたは層のインストレーションの変更を許可したかを判別する手段も含む。第2のユーザ、オブジェクトまたは層は、テンプレート上にだけでなく記録された状態で保存されたオブジェクトまたは層のインスタンスのインスタンス化を試行する。
任意選択的に、上記した実施形態のうち任意の実施形態において、システムは、このような許可が不十分である場合にテンプレートバージョンをインスタンス化するかまたはこのような許可が充分である場合に記録されたバージョンをインスタンス化する手段も含む。
任意選択的に、上記した実施形態のうち任意の実施形態において、修正の持続性は、イベントによって時間制限されるかまたは終了され得る。
は、実施形態において用いられるような、VWWへ接続されたネットワークコンポーネントのブロック図である。
は、実施形態において用いられるような、仮想世界システムのネットワークコンポーネントのブロック図である。
は、アバターが2つの位置間を横断することを可能にするプロセスのフローチャートである。
は、一実施形態において用いられるような、世界または他の位置間においてアイテムを変換するプロセスのフローチャートである。
は、一実施形態において用いられるような、グローバル状態からローカル状態へのマッピング特性のプロセスのフローチャートである。
は、一実施形態において用いられるような、グローバルアバター状態およびローカル世界データのデータ構造のブロック図である。
は、一実施形態において用いられるような、アバターが仮想世界と相互作用しているときにアバターの特性を変更するプロセスのフローチャートである。
は、一実施形態において用いられるような、特性の永久変換を必要とする世界に入ったときに、特性を変更するプロセスのフローチャートである。
は、一実施形態において用いられるような、仮想世界サービスプロバイダおよびユーザを接続するコンピュータネットワークシステムのブロック図である。
は、一実施形態において用いられるような、サービスプロバイダ上の仮想世界データの例示的配置構成の階層図である。
は、一実施形態において用いられるような、仮想世界内のオブジェクトの例示的配置構成の階層図である。
は、一実施形態において用いられるような、許可を示すデータ構造のブロック図である。
は、一実施形態において用いられるような、エンティティがアクションをとる許可を決定するプロセスのフローチャートである。
は、一実施形態において用いられるような、関連付けられた許可記録を有する例示的ゲートキーパーのブロック図である。
は、一実施形態において用いられるような、複数のゲートキーパーオブジェクトにわたるの許可決定の一例の図である。
は、一実施形態において用いられるような、仮想世界内のシーンのインスタンスのレイアウトの一例である。
は、一実施形態において用いられるような、スクリプトを実行するプロセスのフローチャートである
は、一実施形態において用いられるような、サービスプロバイダシステムおよび関連ンコンピュータシステムのブロック図である。
は、一実施形態において用いられるような、ネームスペースに基づいてコンテンツを供給するプロセスのフローチャートである。
は、シーンのインスタンスをクリーンアップするプロセスのフローチャートである。
は、一実施形態において用いられるような、クリーンアップされるべきシーンのインスタンスを示すサンプルユーザインターフェースである。
は、一実施形態において用いられるような、仮想世界オブジェクトクラウドを示すサンプルユーザインターフェースである。
は、一実施形態において用いられるような、オブジェクトクラウドを構築するプロセスのフローチャートである。
は、一実施形態において用いられるようなコンピューティングシステムのブロック図である。
は、多層コンポーネントおよびインターフェースシステムをインプリメントするコールフローの一例を示す。
は、実施形態において行われる多様なプロセスのフローチャートである。 は、実施形態において行われる多様なプロセスのフローチャートである。 は、実施形態において行われる多様なプロセスのフローチャートである。
に示す例示的装置2900は、コンピュータサーバ、クライアントデバイスまたはクライアントおよびサーバの組み合わせとして構成され得、3次元シーンをインスタンス化する。
詳細な説明
本開示の局面は、ホストされる仮想現実プロセスに参加するクライアントアプリケーションおよびデバイスに対する向上および変更に関する。既存のワールドワイドウェブ(本明細書中、「ウェブ」、「フラットウェブ」または「www」とも呼ぶ)は、情報の表示と、2次元におけるユーザとの相互作用とを行うように、設計される。既存のウェブクライアントは、準3次元オブジェクト(例えば、3Dでレンダリングされるグラフィックス、またはさらにはオブジェクト(例えば、適切なハードウェア(例えば、赤色/青色眼鏡、偏光眼鏡、LCDシャッター眼鏡または同様の技術)を通して見た場合に3次元を実際に表示する画像)を表示することができる。しかし、ユーザは、データの3次元アレイ、オブジェクト、および他のユーザをナビゲートすることはできない。本明細書中に開示されるのは、クライアントアプリケーションに関する詳細である。このクライアントアプリケーションは、エンドユーザが実行することが可能である(かまたはレンダリングされる表示送達機構(例えば、送達可能なプログラム)であり得、また、3次元情報および相互作用空間について、2次元データおよび相互作用についてのウェブブラウザ(例えば、インターネットエクスプローラまたはグーグルクローム)と同様に機能する。クライアントアプリケーションは、ブラウザプラグイン、既存のソフトウェアに対する拡張機能、スタンドアロンアプリケーション、ウェブアプリケーション(例えば、Java(登録商標)スクリプトまたはフラッシュを通じたもの)、モバイルデバイスアプリケーションなど(本明細書中、「新規クライアント」と総称する場合がある)としてインプリメントされ得る。
既存のHTTPプロトコルインフラストラクチャーは、複雑な連結配置構成に参加させる能力を含み、本明細書中に記載される新規クライアントにより、ユーザは、3次元空間の複雑なウェブをナビゲートすることができる。本明細書中、この3次元空間連結システムを「仮想世界ウェブ」または「VWW」と呼ぶ。
図1は、実施形態において用いられる、VWW内において接続されたネットワークコンポーネントのブロック図である。多様な実施形態において、さらなるブロックを設けてもよいし、いくつかのブロックを除去してもよいし、かつ/またはブロックを図示の様態と異なる様態で接続または配置してもよい。図1の実施形態は、サービスプロバイダを含む(例えば、ワールドサーバ10、データベースサーバ20を含み得るルートサーバ、クライアントコンピュータ30、クライアント電話または他のポータブルデバイス40、クライアントコンピュータ50、ネットワーク60(例えば、インターネット、広域ネットワーク、および/またはLAN)、ソフトウェアサーバ70、サードパーティサービスプロバイダ(例えば、ワールドサーバ80、および/またはサードパーティデータベースサーバ90)。上記したサーバのうちいずれかを組み合わせて単一のコンピューティングデバイスとし、かつ/または上記したサーバのうちいずれかを別個のコンピューティングデバイス上に収容することが可能であり、さらなるコンピューティングデバイスも同様に設けることができる。同様に、任意の1つ以上の機能を仮想マシンによって行ってもよいし、あるいは複数のマシン間でタスクを共有する分散コンピューティングを用いて行ってもよい。上記のうち任意のものをピアツーピアソリューションとしてインプリメントすることもでき、その場合、特定のタスク(例えば、オブジェクトのレンダリングに関連する計算)を、他のマシン上において(例えば、1つ以上のマシン上において実行する新規クライアントソフトウェアを用いて新規クライアントソフトウェアを実行するマシンのうち別のものによってリクエストされるレンダリング計算を行うかまたは新規クライアントソフトウェアのコピーを分配することにより)行うことができる。
システムの物理的レイアウトは、いくつかの要素を含み得る。実施形態において、クライアントソフトウェアをダウンロードするためのリクエストを広域ネットワーク60を介してソフトウェアサーバ70へと送る。ソフトウェアサーバ70は、実行可能なパッケージを広域ネットワーク60を介してエンドユーザコンピュータ30へ送ることにより、リクエストに応答する。エンドユーザコンピュータ30のオペレータは、実行可能なクライアントをエンドユーザコンピュータ30上にインストールする。
その後、エンドユーザコンピュータ30のオペレータは、クライアントソフトウェアを開始する。クライアントソフトウェアは、広域ネットワーク60を介してワールドサーバ10にアクセスし、カスタマーアカウントをデータベース20に対して認証するか、または、データベース20中にカスタマーアカウントを生成する。ワールドサーバ10は、2次元仮想世界サービスおよび/または3次元仮想世界サービスを提供する(例えば、アバターのホスティングおよびアバター間の相互作用が可能な空間およびオブジェクトの維持)。ワールドサーバ10は、本明細書中全体に記載の多様な方法を行うことができ、サービスプロバイダまたは他のデバイスとも呼ばれる。ワールドサーバ10は、さらなるサービスを提供することができる(例えば、トランザクションサービス、仮想通貨サービス、認証サービス、グラフィック設計サービス)。ユーザコンピュータ30は、ワールドサーバ10から送られてきた仮想環境パラメータと相互作用し、ワールドサーバ10は、データベース20へアクセスして、ユーザ、仮想環境および環境中の仮想オブジェクトについての情報を得る。
アバターの境界横断
クライアントコンピュータ30のオペレータは、仮想環境に対する制御がワールドサーバ10のオペレータ以外のオペレータによって実行されている仮想環境の領域に遭遇する場合がある。このようなシステム境界は、ウェブページ上のハイパーリンクに類似しており、クライアントウェブブラウザは、ハイパーリンクを含むコンテンツを供給したサイトのオペレータと異なるサードパーティオペレータから新規のコンテンツをダウンロードするように方向付けられる。同様に、アバターは、仮想ワールドサーバ内の境界(例えば、2つの部屋または建物間の境界)を横断することができる。このような場合、この技術は、いくつかの代替的方法を含み得る。一実施形態において、ワールドサーバ10は、サードパーティオペレータのワールドサーバ80と通信する。ワールドサーバ10は、任意の必要な情報をデータベース20から収集し、エンドユーザアバターおよびデータの制御をサードパーティワールドサーバ80へと転送し、その後サードパーティワールドサーバ80は、このようなデータをデータベースサーバ90に記録し、転送が成功した旨をワールドサーバ10に対して確認する。このような確認後、ワールドサーバ10は、データベース20から「チェックアウトした」(かまたは別の実施形態においてアバターデータまたはその一部をデータベース20から実際に除去した)旨をデータベース20に入力する。データの「チェックアウト」は、暗号的にセキュアな制御転送の形態をとり得る(例えば、「ビットコイン」として知られる、仮想通貨のために用いられるもの)。
元々のワールドサーバ10からサードパーティワールドサーバ80へのアバター制御の転送は、「境界イベント」と呼ばれ得る。境界イベントはシステム全体に及ぶ必要は無いが、システム内において発生し得る。例えば、単一のワールドサーバ10の単一のオペレータによって操作されるシステム内において、境界イベントが発生し得る。同様に、単一の仮想世界の単一の領域内における動きに起因して、境界イベントが発生し得る。そのため、例えば、ユーザが仮想バンクーバー世界内において円形競技場からコーヒーショップへ移動する場合、境界イベントに遭遇し得る。単一の位置内においても、一次元から別の次元へ移動するユーザは、境界イベントに遭遇し得る。境界イベントは、一時的動きも含み得る(例えば、アバターが或る位置に一定期間留まる場合またはアバターが過去のイベントのリプレーのシミュレーションに参加する場合)。よって、「境界イベント」は、異なる規則セット、異なる属性、異なる所有権、異なるオペレータおよび/または他の差を有する領域間のアバターの動きも包含し得る。
以下に詳述する多様な実施形態において、境界イベントを取り扱う際、エンドユーザにとって積極的な経験が得られ、エンドユーザ所有の値を保護し、受信側のワールドサーバによって操作されるインテグリティが保護されるかまたは通常は不適合であるかまたは相互運用が困難な環境間のユーザ、データ、オブジェクト、および他の要素の交換を可能とするように、取り扱いが行われる。
境界イベントは、いくつかの現実世界構成物(例えば、海外旅行の「税関」および「入国管理」、「生命維持」要素)(例えば、スキューバダイビングまたは高所登山に必要となるようなもの)、法令順守(例えば、不慣れな法域における逮捕を回避するために必要なもの)、および「遵法行動」(例えば、新規の場所において訪問者に要求される社会規範)と同様に取り扱われる。アバターが境界を横断しようとする場合、クライアントまたはサーバソフトウェアは、これらの要求のうち任意のものと適合するよう執行、指導または促進するように動作する。一局面において、境界イベント目的などのために、アバターのオペレータの現実世界特性(例を非限定的に挙げると、年齢、性別および地理的位置)をアバターそのものの中に符号化してもよいしアバターと関連付けられてもよいし、かつ/またはアバターに入力してもよい。
VWW内における通過は、多様な方法で同時に達成することができる。いくつかの異なるレイアウト例を以下に示すが、レイアウト内の隣接位置は、領域が文字通りに保存されるかまたは隣接するデバイス上において操作される必要が無い場合でも、隣接領域間の動きを可能にする機能を示すことが理解される。同様に、レイアウト機能は、各ユーザに対して同じである必要はないため、例えば、成人ユーザは、車世界に隣接するギャンブル世界を発見し得、子供は、車世界に隣接する空き地しか発見できない。領域間に移動する際の境界、ハイパーリンクおよび他の機構の可視性は、世界および/またはアバターの属性に依存し得る。例えば、成人用テーマの領域へと繋がる境界は子供からは見えず、アバターが進入を許可されていない領域への境界は隠蔽することができる。
例えば、1つの仮想世界システムは、複数の仮想世界へ接続された中央移送センターまたはハブを含み得る。このような仮想世界の例示的な例を挙げると、仮想バンクーバー世界、ビジネス地区世界、スウォードファイト世界、宇宙戦争世界、子供遊び場世界、車世界、および/または赤信号センター世界がある。
中央移送ハブは、全てのアバターを1つの仮想領域から別の仮想領域へと移動させることが可能な場所として機能し得る。ハブにおいて有効化機能を行うことにより、例えば、ユーザの特定領域への進入の許可を有効にすることができる。例えば、ユーザはVWWシステムにログインし、ログイン時にシステムへ提供されたアドレスに応じて、ハブまたはVWW環境内のその他の領域のうち任意の領域に出現し得る。アドレスは、HTTPプロトコルのURLに類似するものであるが、多様な実施形態において多様な形態をとり得る。
ハブから仮想バンクーバー世界へ移動したいと思っているユーザは、仮想バンクーバー領域内にアドレスを入力することにより、ハブと仮想バンクーバー世界との間の境界までアバターを徒歩または走行させ、当該領域へと「ワープ」することができる。仮想バンクーバー領域からは、ユーザは、移送ハブを通過する必要なく隣接領域へと徒歩移動することができる。そのため、例えば、仮想バンクーバー領域は、ビジネス地区領域または赤信号センター領域への直接的アクセスを持ち得る。
実施形態において、適合する領域は隣接領域として取り扱われるため、例えば、子供遊び場は宇宙戦争および車領域には隣接するが、赤信号センター(例えば、赤信号地区に類似するもの)またはビジネス地区領域には隣接しない。特定の領域から他の領域へのアクセス可能性は、物理的レイアウトおよび空間間の隣接性に基づき得るが、必ずしもそうではない。ユーザおよび/またはオペレータは、別のレイアウトまたはカスタマイズされたレイアウトを生成することが許されるため、例えば、隣接していない宇宙戦争領域と特許法領域との間を通常行き来しているユーザは、このような領域間を隣接させることができる。
一実施形態において用いられるシステムにより、進入基準を満たしていないユーザは、(アクセスが所望されている領域が隣接領域としてユーザへ提示されている場合でも、)アクセスを拒否される。多様な要素(例えば、隣接したものとして図示、非直線移送機構(例えば、次元間の移動または「ワープ」)によりすぐにアクセス可能、または隣接していることを示す他の印)に基づいて、領域を相互に隣接させることができる。物理的トポロジーに起因して通常であれば隣接性が不可能な場合も、領域を隣接させることが可能である(例えば、5個の別個の領域を同時に相互に隣接させることができる)。別の例として、第1の領域の側部は長さが10単位であり得るが、それぞれ長さが8単位である第2の領域、第3の領域および第4の領域の側部において隣接し得る。
図2は、実施形態において用いられる、仮想世界システムのネットワークコンポーネントのブロック図である。システムは、ワールドサーバ10、データベースサーバ20、ネットワーク60、サードパーティワールドサーバ80、サードパーティデータベースサーバ90、移送センター/ハブ110、仮想バンクーバー世界120、ビジネス地区世界130、スウォードファイト世界140、宇宙戦争世界150、子供遊び場世界160、車世界170、赤信号センター世界180、移送センター/ハブ310、仮想世界領域320、仮想世界領域330、および仮想世界領域340を含み得る。
図2の仮想世界システムは、世界間の多様な関連付け(例えば、ハイパーリンク)をさらに含み得、これにより、世界を「隣接」させるかまたはアクセス可能とする。例えば、システムは、仮想バンクーバー世界と赤信号センター世界との間のハイパーリンク350、宇宙戦争世界と子供遊び場世界との間のハイパーリンク360、および/または仮想バンクーバー世界とスウォードファイト世界との間のハイパーリンク370を含み得る。仮想世界内のハイパーリンクは、ウェブページ上のハイパーリンクと同様にインプリメントすることができるが、3次元仮想世界の能力により、ハイパーリンクを他の多様な方法でインプリメントすることができる(例えば、アバターが徒歩で通過することが可能なドアまたは壁、移送車両、ワープトンネルまたはデバイス、テレポーテーションシステム、街路など)。
世界間のさらなる接続を、図2のサンプルシステム内に設けることができる。ワールドサーバ10と関連付けられた移送ハブ110は、本実施形態において5個の仮想世界120、130、180、320および330へと接続され得る。本実施形態において、サードパーティワールドサーバ80と関連付けられた移送ハブ310は、5個の仮想世界140、150、160、170および340へと接続され得る。ワールドサーバ10は、データベース20へとさらに接続され得る。データベース20は、ワールドサーバ10の内部または外部に設けられ得る。本実施形態において、サードパーティワールドサーバ80は、データベース90へと接続される。データベース90も、サーバ80の内部または外部に設けられ得る。2つのワールドサーバ10および80は、ネットワークリンク60を通じて通信し得る。
一実施形態において、ワールドサーバ10および80は、世界間の一部または全ての接続には不要である。例えば、仮想バンクーバー世界120は、スウォードファイト世界140へ通じるハイパーリンク370を含み得る。このような場合、一実施形態において、暗号的にセキュアな分散型システムが用いられ、これにより、1つの世界から別の世界へアバターの制御の直接転送が可能となる。ビットコイン技術の背景にあるシステムに類似するシステムは、暗号的にセキュアな分散型システムの一例である。このような場合、クライアントコンピュータ30は、目的地ワールドサーバ80および任意選択的に出発地ワールドサーバ10を担当するワールドサーバとのトランザクションを開始し得、これにより、アバターと関連付けられたデータがクライアントから目的地ワールドサーバ80へと転送され、2つのワールドサーバ10および80間の任意の直接的通信は不要である。
別の実施形態において、単一のワールドサーバ10によって通常制御される世界により、アバターが集中ハブ110に出現または通過させる必要無く、世界間におけるアバターの連結および転送350が可能となる。集中ハブ110を通じて転送が発生する場合でもまたは異なるワールドサーバ10および80間において転送が発生する場合でも、エンドユーザから見ることが可能な通過機構を用いずに転送を行うことができ、これにより、例えば、通過プロセス時においてエンドユーザはハブ110に示されない。この転送プロセスを用いて、ユーザは、移送するアバターを通過ハブ以外の標的領域へ直接移送したい旨を示すリンクまたは他の移送機構を作動させる。
ユーザが集中ハブ110または310を通じて通過を通知されているか否かに関わらず、集中ハブ110または310は、有効化、適法性および/または他の試験を行って、ユーザが所望のアクションの実行を許可されているかを判別する。さらに、集中ハブ110または310は、以下にさらに記載するような出発世界および進入世界間のアバター特性を翻訳し得る。別の実施形態において、出発世界および/または進入世界は、さらなるまたは代替的な試験および/またはアバター特性翻訳を行い得る。
実施形態において、世界間の通過プロセスは、第1の世界に適した特性(例えば、出発世界)から第2の世界(例えば、進入世界)に適した特性への翻訳または変更を含む。例えば、アバターが宇宙戦争世界150から車世界170へと移動する場合を考える。全アバターが車として出現するように車世界170が構成されている場合、宇宙戦争世界150からの軍人アバターは、車世界170から外れているか、または、車世界170の操作または車世界170への移動が禁じられている。同様に、宇宙戦争世界150においてレーザー銃を所有するアバターがスウォードファイト世界140へ移動しようとする場合、機能しないアイテムを所有しているかまたはこの領域への進入が許可されない。所有が無い場合、値、機能、状態および/または他の所望の属性の損失に繋がり得る
技術の局面において、1つの世界またはテーマから別の世界またはテーマ内の対応するアバターまたはオブジェクトへ、アバターまたはオブジェクトがマッピングされる。例えば、現実世界特性を追跡することを意図する現実の世界において、身長の高い男性アバターが、単車および銃を所有し得る。スウォードファイト世界140へと通過する際、所有/アバターマッピングシステムは、単車を有する高身長男性は、馬に乗った高身長の騎士に相当すると判別し得る(例えば、現実の世界において所有されている単車に相当するもの)および刀(現実の世界において所有する銃に相当する)。マッピングは、データベース(例えば、SQL)または他のルックアップテーブルまたはシステムを介して達成してもよいし、あるいは、プログラミング的規則セットによって達成することもできる。
マッピングは、アバターまたはオブジェクトの特性の発見的解析または他の分析に基づいて設定することができる。マッピングは、関与する世界のうち片方または両方によって設定された明確なユーザ選好または選好または規則を通じて、達成することができる。一実施形態において、オブジェクトは、任意の移行全体において、特性を保持する。よって、例えば、高身長の男性騎士の馬がスウォードファイト領域140内において殺された場合、ユーザは、現実のアバター世界に戻ったとき、当該領域内において機能しない馬を所有することとなるか、または、機能しない単車を所有することとなる。ユーザの刀が販売された場合、その刀は購入者の財産であり続け、別の領域への移動後も、その刀(または新規領域に入ったあらゆるオブジェクト)も購入者の財産であり続ける。
実施形態において、世界、領域または時間スライスは、恐らくは各オブジェクト単位および/または各アバター単位で「非現実的」なものとして特定される(例えば、オブジェクトXおよびYおよびアバターZのみについて非現実的なものとして特定される)。これは、例えばスウォードファイト領域140内に練習場がある場合に極めて有用であり得る。ユーザがスウォードファイトに参加して、自身の刀が壊れた場合、刀は非現実的なものとしてマーク付けされたものであるため、ユーザがその領域から退出した場合(またはユーザがなんらかのアクションをとるかまたは時間が経過した場合)、当該刀を自動的に回復させることができる。同様の非現実的な挙動を、資金の支出に適用することができる(例えば、現実のお金をカジノまたは立会場において用いることができるが、この現実のお金と共にとられたアクションの結果は無いため、現実のお金を有効に偽金にクローンすることができる)。同様の非現実的挙動を、アバター、オブジェクトまたはエンティティの健康、展開または福祉に適用することができる。これは、例えば疾病挙動をモデル化する場合に特に有用である。
非現実世界、領域または時間スライスへのアクセスを、支払または仮想通貨、現実的通貨、または他の仮想または現実的価値のある物品などに合わせて調節することができる。非現実的領域内におけるイベントにおいて、アクセスのコストをさらに偶発的にすることができる。その結果、領域を部分的に非現実的にする効果が得られ(例えば、ユーザが仮想カジノにアクセスするのに仮想通貨単位を1時間で10個支払ったのに対し、利益または損失は10パーセントのみである場合)。別の実施形態において、特定のイベントにおいて部分的に現実的な領域を持続させる(例えば、仮想通貨の支出)一方、他のイベントを非現実的とする(例えば、アバターの死亡または刀の損失)。
1つの世界における刀を別の世界において銃とすることができ、その際、例えば「個人的に有効な武器」というオブジェクト種類としてのグローバル状態は失われない。よって、アバターの居住に適した世界の特性を表示しつつ、同一のアバター種類が存在し得る。例えば、仮想バンクーバー世界120内のアバターは、車世界170内へと移動し得る。車世界170がアバターとして車のみを有するものとして規定される場合、アバターば自動的に車に変更される。あるいは、アバターが車にレンダリングされる旨がユーザへ警告され、移行前に許可が求められ得る。新規アバターレンダリングに適していないアイテム(例えば、仮想バンクーバー世界120からのアバターの車が、車世界170における車アバターの所有として意味をなさない場合)は、サーバ上に残留するかまたは新規環境において表示されない。
同様に、ユーザ、システムのオペレータ、世界のオペレータおよび/または他の世界のオペレータによって設定された規則に基づいて、新規アバターに対応するオブジェクトを恐らくは自動的に変換することができる。本例において、豪華な腕時計および豪華な靴を有する人間アバターは、車世界170に移動すると、腕時計が豪華な車に取り付けられた置き時計に代わり、豪華な靴が豪華なタイヤに変わるのを見る。いくつかの実施形態において、美観的要素を含む衣類およびアイテムは美観的テーマを保持し得るため、赤い衣服を着た人間アバターは、仮想バンクーバー世界120から車世界170へ移動すると、例えば赤色の塗装の車アバターに変換し得る。
図3は、実施形態において用いられる、2つの位置(例えば、世界、シーン、インスタンス、領域)を横断することをイネーブルするプロセスのフローチャートである。これらの位置は、異なるコンピューティングハードウェア上において動作する2つの異なるサービスプロバイダ、単一のサーバ上において動作する2つの仮想世界、仮想世界内の2つの位置またはシーンおよび/またはシーンの2つのインスタンスであり得る。(「シーン」については以下にさらに説明し、「シーン」とは、主に仮想世界の一部(例えば、建物または部屋)を指す)プロセスは、各位置において、コンピューティングシステム(例えば、図2のワールドサーバ10および80)によって行うことができる。多様な実施形態において、さらなるブロックが設けられ得、いくつかのブロックが除去され得、かつ/または図示と異なる様態でブロックが接続または配置され得る。
ブロック301において、位置1のコンピューティングシステムは、アバターが世界境界を横断しようとする試行を特定する。世界境界は、アバターが異なる位置へアクセスすることをイネーブルする点においてウェブページ上のリンクと同様であり得る。世界境界は、仮想世界内において、経路、ドア、窓、壁上のテキスト、触れることが可能なオブジェクトなどであり得る。世界境界は、ユーザが感知できなくすることもできるし、境界を横断する許可を有するユーザが感知できなくすることもできるし、所有権についての実質的修正無しに境界を横断することができるユーザが感知できなくすることもできるし、あるいはこれらの組み合わせを行うこともできる。同様に、このような上記の要素に基づいて、ブロック301において世界境界にアクセスしようとする試行をシステムが検出することに基づいて、アバターが世界境界上において移動、通過、接触、押圧、把持、操作または相互作用するのに基づいておよび/またはアバターのユーザが境界を横断するためのリクエストを示す適切なコマンドを仮想世界へ送るのに基づいて、世界境界をより大型にするか、小型にするか、より感知可能とするか、より感知不可能とすることができる。
ブロック302において、システムは、境界と関連付けられた第2の位置の決定を試行する。ウェブページ上のハイパーリンクは、ウェブブラウザがアクセスする第2の位置を示すため、世界境界は、図3中に位置2として示す位置をアバターがアクセスすべき位置として示す。この位置は、位置1の適切なデータ構造内に示されるような世界境界と関連付けられ得、かつ/または、位置は外部データソース(例えば、位置テーブルまたはデータベース)にアクセスしている位置1のコンピュータシステムによって決定され得る。
ブロック303において、図1のコンピュータシステムは、位置2のコンピュータシステムと通信して、アバターの転送を開始する。この転送は、独占所有権のあるかまたは周知のネットワークプロトコルによって行われ得る(例えば、HTTP、FTP、SSH、SFTP、SSL、TLSまたはこれらの組み合わせ)。実施形態において、位置1は、アバターデータの転送をブロック303において開始する。アバターデータは、データ交換に適した多様なフォーマットで表現することができる(例えば、HTML、XML、CSV、RPCオブジェクト、CORBAオブジェクト、YAMLデータ)。位置2は、ブロック304において転送リクエストを受信する。転送されたデータはアバターデータを含み得、あるいは、アバターデータをプロセス時の後の時点(例えば、ブロック306〜307)において転送してもよい。
ブロック305において、位置2のコンピュータシステムは、アバターを転送対象として認証する。認証を用いて、アバターが新規位置へのアクセスが許可されているかを決定することができる。例えば、位置2がパスワード認証または他の認証を必要とする場合、問い合わせ位置1のアバターのユーザおよび/またはコンピュータシステムに問い合わせをして、このような認証認証情報を得る。追加的にまたは代替的に、位置2は、アバターおよび/または関連付けられたユーザおよび/またはアバターまたはユーザ特性のホワイトリストまたはブラックリストを維持して、例えば追放中のエンティティ、禁止されたエンティティまたは他の場合における不要なエンティティを追跡し続ける。位置についての管理者設定および/または自動化プロセス(例えば、挙動分析)に基づいて、アバターを位置から拒絶することができる。例えば、位置2がアバターが他者に対してセキュリティリスクを持っている場合、位置の規則を遵守していない場合、望ましくない挙動の履歴を持っているなどと決定した場合、位置2はアバターの進入を許可しない。このようなデータが転送された場合、認証は、ブロック303および304において転送されたアバターデータおよび/または他のデータに基づき得、位置2において利用することが可能な他のデータにも基づき得る。
アバターがブロック305において転送対象として認証された場合、ブロック306および307において、位置1および2間において転送プロトコルが完了する。実施形態において、転送プロトコルは、これらの位置のうちの1つのみにアバターが存在することを保証することができるため、アバターが2つの位置において同時に作用する事態を回避することができる(ただし、これがシステムにとって所望される場合)。別の実施形態において、アバターが同時に2つの場所に存在することが許可され、その場合、転送プロトコルは、アバターが1つの位置のみに存在することを保証しなくてよい。実施形態において、暗号プロトコル(例えば、ビットコインプロトコル)を用いて、アバターが1つの位置のみに存在することを保証する。あるいは、中央データベースまたはアバター位置の記録を用いて、アバターの一意性を保証することができる。
転送プロトコルはまた、ブロック308に示すように、アバターのアイテムおよび/または特性の転送および/または変換も行うことができる。以下に詳述するように、アバターは、特性(例えば、所有されるアイテム、外観フィーチャ、パーソナリティフィーチャ、社会的関係など)と関連付けることができる。世界または他の位置間において移動する際、アバターは、これらの特性を自動的に転送させることができる。いくつかの実施形態において、これらの特性を、目的地位置へ適したものへとさらに翻訳または変換することができる。例えば、目的地位置が必要かつ/または許可された所有についての特定の規則を有する場合において、アバターが新規世界において許可されていない所有を有する場合、アバターの所有を交換、変換、改変、移転、除去または他の場合に影響付与をすることができる。多様な実施形態において、転送プロセスは、位置1におけるコンピュータシステムによって、位置2におけるコンピュータシステムによって、クライアントコンピューティングデバイス、中央サーバなどならびにこれらの任意の組み合わせによって行うことができる。
一実施形態において、アバターの転送は部分的な方法で行うことができ、これにより、アバターと関連付けられた1つ以上の要素(例えば、所有)からアバターを分離することができる。このようにして、境界を超えることが許可されていない所有を元々のシステムに保持し、アバターが戻ってきたときに再要求することが可能になる。別の実施形態において、アバターの複製またはクローンが境界を超えることを許可し、このような複製が境界を超えて戻ることを任意選択的に禁止することができる。複製および元々のアバターは連結されたままであるため、仮想通貨またはアイテムを共有し、例えば1つのアバターへの損傷は他方にも生じる。一実施形態において、複製アバターが境界を超えて戻ってくると、アバターはマージされ、行われた複製はマージされたアバターに反映されるため、変更のうち一部または全てがそのときのの1つまたは双方のアバターに対して行われる。
ブロック309において、位置1のコンピュータシステムは、アバターを不参加にさせる。並列的または直列的に、ブロック310において、位置2のコンピュータシステムは、アバターを相互作用に参加させる。これは、位置1および/または2のコンピュータシステムによって反映されて、適切なデータがアバターのユーザのコンピューティングデバイスへと送られ、これにより、新規位置を反映するアバターのためのグラフィカル表示が更新される。実施形態において、多様な移行をこの転送時に用いて、アバターに位置変更を示すことができる。実施形態において、ユーザインターフェースをブロック301〜310のプロセス時において提示して、アバターのユーザにプロセスを通知することおよび/またはユーザがプロセスへ影響付与を行うことが可能にすることができる。例えば、ユーザインターフェースをブロック308において提示じて、ユーザがアイテムまたは他の特性の変換を制御または他の場合に影響付与をすることが可能になる。例えば、いくつかの場合において、ユーザは、特性またはアイテムについて、現在保持されているアイテムまたは特性を位置2において翻訳するための1つよりも多くの選択肢を持ち得る。転送分岐が他の理由のために望ましくない場合、ユーザは、世界境界横断をキャンセルする選択肢もさらに持ち得る。1つのインプレメンテーションにおいて、ユーザ経験をよりシームレスにするためまたは他の理由のために、位置2のコンピュータシステムは、アバターを暫定的に参加させた後、位置1のコンピュータシステムがアバターを不参加にさせる。これは、位置それぞれの評判、位置間の契約または他の関係、位置間の待ち時間、位置間のアバターの動きについての履歴データまたは他の要素上について調節することができる。
図4は、一実施形態において用いられる世界または他の位置間のアイテム変換プロセスのフローチャートである。プロセスは、例えば、図3について述べたようなコンピュータシステムによって行うことができる。プロセスは、図3のブロック308において行うことができる。多様な実施形態において、さらなるブロックを含めてもよいし、いくつかのブロックを除去してもよいし、かつ/または図示と異なる様態でブロックが接続または配置され得る。
上述したように、アバターを特性と関連付けることができる(例えば、所有、外観フィーチャ、パーソナリティフィーチャ)。これらの特性のうちいくつかまたは全ては、1つの世界において適切であり得るが、相互に適切ではない。例えば、アバターは、宇宙テーマ世界において動作し得、アバターは、宇宙服を着用し、宇宙船を飛ばし、レーザー銃で戦う。第2の世界は中世世界であり得、アバターは甲冑を着用し、馬にまたがり、幅広剣で戦う。宇宙テーマ世界に適したアイテムは、中世世界においては存在せずかつさらには動作不可能であり、またその逆も成り立つことが容易に理解される。アバターが境界を超えるたびにアバターのユーザに1つの世界用のアイテムを破棄し、別の世界用のアイテムを取得するようユーザに要求することは時間がかかり、非効率であり、またユーザにとって望ましくない。そのため、システムは、図4に示すような自動化変換プロセスをイネーブルする。
ブロック401において、システムは、アバターの特性を決定する。特性は、データファイル中に示される(例えば、図3のブロック303および304について述べたもの)。あるいは、特性を特性の外部および/または内部保存部から得てもよい。
その後、システムは、特性を検査し、適切な変換を決定する。ブロック402において、システムは、アバターの特性のうち1つを特定し、特性の属性がブロック403において決定される。特性の属性を挙げると、タグ、フィーチャ、記述、メタデータ、または特性と関連付けられた他の情報がある。例えば、宇宙テーマ世界における宇宙船の属性は、サイズ、速度、パワー、年齢などであり得る。同様に、中世世界における馬の属性は、品種、スタミナ、年齢、血統などであり得る。実施形態において、属性は共通オブジェクト属性モデルに基づくため、異なるオブジェクト間の属性の比較を容易に行うことができる。新規領域と無関係の特性は検査する必要は無く、要検査の特性をホワイトリストまたはブラックリストを用いて特定することができる。
実施形態において、属性のうち1つは、オブジェクト種類を示すクラス属性であり、これにより、同じおよび/または同様のクラスのオブジェクトの交換が可能になる。例えば、宇宙世界の宇宙船および中世世界の馬はどちらとも「移送」クラスであり、双方のアイテムが各世界において移送モードにあることを示す。クラス属性は、複数の世界間において一貫する必要は無い。例えば、幅広剣は中世世界においては「武器」として分類されるが、考古学または探検世界においては「遺物」として分類される。一実施形態において、分類翻訳テーブルを維持することにより、異なる世界において用いられる異なるクラス名間の相関を追跡する。
1つのインプレメンテーションにおいて、クラスシステムにおいて用いられ得る命名および/または階層システムにより、変換の促進およびユーザによる変換の理解が可能となる。1つのこのようなインプレメンテーションにおいて、命名は、DNSシステムにおいて用いられるものと同様であり得、最終オブジェクトについてのデータへのポインタとして任意選択的に機能する。
一例として、宇宙船オブジェクトについて考える。宇宙船オブジェクトは、以下のテーブルに示すような属性を持ち得る。
上記宇宙船の分類の要素は、階層的であり得る(上記表において、これらの要素は一般的にはより具体的なものからより一般的なものの順に配置される)。これらの要素は、DNSシステムにおいて期間毎に分離されるサブドメインまたはファイルシステムにおいてスラッシュによって分離されるフォルダの配置構成と同様に、階層的に表現される。
ブロック404において、コンピュータシステムは、ブロック402の特性を入力されている世界にマッピングするかを判別する。この判別は、ブロック403において評価された属性に基づいて、行われ得る。いくつかの場合において、特性は、マッピング不可能である。例えば、幅広剣またはレーザー銃などの武器については、平和な世界において相当するものが存在しない。本例において、判別は、オブジェクトのクラスに基づき得る。すなわち、平和な世界は、「武器」クラス(および/または他の同様のクラス)の特性を禁止するという規則を含み得る。コンピュータシステムがブロック404においてマッピングが不可能と判別した場合、ブロック405において、コンピュータシステムは、次の特性の検査へと進む。
マッピングが不可能と判別された場合、オブジェクトは任意選択的に記憶装置サーバへとチェックインし得、少なくとも当該オブジェクトが使用可能であるかまたはマッピング可能となる領域に入るまでかつ/または仮想または現実的通貨、物品またはサービスがオブジェクトと交換に提供されるまで、アバターと共に使用不可能な形態で(例えば、オブジェクトの仮想写真の形態で)記憶装置サーバ中に留まる。このような提案は、オブジェクトが短時間を超える期間にわたってマッピング不可能である領域内にアバターが留まる場合において、特に適している。あるいは、オブジェクトを、オブジェクトと同様または異なって選択された複数のユーザまたはオペレータのうちの1つへマッピングすることもできる(例えば、刀から鍬への変換)。または、特定のオブジェクトを類似のまたは異なるオブジェクトに自動変換することもできる。グローバルおよび/またはローカル状態を用いて、使用不可能なまたは乗算マッピングされたオブジェクトの記憶装置を維持することができる。
特性が世界へマッピング可能である場合、ブロック406において、マッピング対象となる適切な特性を決定し、アバターを新規特性と関連付ける。新規特性の判別は、ブロック403において決定された属性に基づいて行うことができ、世界において既知であるかまたは世界において利用可能である特性の属性データにさらに基づく。実施形態において、世界は、充分に類似する属性の特性の選択を、発見的解析、最大化、最適化、整合、回帰および/または他の特性比較アルゴリズムに基づいて行う。実施形態において、ユーザは、マッピングされた特性の選択への入力を持ち得る。
実施形態において、特性は、現実のお金、仮想マネーおよび/または他の交換可能な有価通貨またはアイテムと関連付けられる。いくつかの場合において、アバターの元々の特性は、マッピングされた特性よりも高いかまたは低い。適切である場合、次に、システムは、アバターと関連付けられたアカウントにブロック407に示すように課金または返金する。実施形態において、課金または返金が行われるのは、特性変換が永久である場合のみである。よって、いくつかの場合において、アバターが世界内に存在している間、アバターの特性は一時的にしか変換されず、アバターがその世界から退出すると、元々の特性が回復される。このような場合、値変更についての清算は不要である。
あるいは、余剰値をユーザの代わりにアカウント中に保持しておき、値における不足額をユーザに課金するかまたは不足額に等しい額をユーザアカウントにおいて凍結することもでき、これらは全て、オブジェクトが変換から回復するかまたはこれら2つのイベントよりも早期に、一定期間にわたって保持される。別の実施形態において、オブジェクトを一定期間において一定の交換レートで変換から戻すという同意の下、オブジェクトの変換を(値不足の場合に)ユーザに課金するかまたは(値余剰の場合は)ユーザに貸方記入することができる。これらのシナリオのうち任意のものにおいて、利息が発生するかまたは課金され得る。
多様な実施形態において、特性変換は、一時的なものではなく、永久的なものである。そのような場合、ブロック408において、アバターのグローバル状態を適切に更新して、アバターの特性変更を反映する。詳細には、このブロックにおいて、アバターの古い特性をグローバル状態において呼び出し、アバターの新規特性をグローバル状態へ追加することができる。グローバル状態は、実施形態において、アバターの特性を全世界にわたって反映する。よって、グローバル状態がアバターの特性について更新された場合、当該アバターが世界から出発すると、当該アバターは以前の特性を受信しない。実施形態において、アバターの元々の特性は、グローバル状態の更新後の世界と関連付けられ得る。例えば、アバターが中世世界に入って宇宙服を甲冑服と交換した場合、宇宙服は中世世界の所有となるため、中世世界の販売または他の場合に中世世界からの値調節がイネーブルされる。あるいは、特性を世界またはサービスプロバイダのための共通プールへ戻すことも可能である。任意選択的に、所有権のこのような変換および変更は、何らかの値(仮想または現実的)との交換に行われる(例えば、世界への進入)。任意選択的に、このような変換は経時的に発生し得、これにより、ユーザが当該世界にいる間、ユーザのアイテムへの興味が経時的に薄れていく。
実施形態において、いくつかの特性は永久変換が可能であり、他の特性は一時的に変換することができる。このような変換手順は、アバターが進入した世界および/または進入先の世界の規則からのアクセスおよび/または退出元の世界によって規定され得る。例えば、世界は、外観関連特性は一時的に変換し、所有関連特性は永久変換すると指定し得る。一実施形態において、ユーザに対し、永久変換が可能な特性および/または一時的に変換される特性および/または影響を受けない特性についての視覚的表現が提示され得る。このような提示は変換前に行うことができ、変換をこのような変換についてのユーザの同意に合わせて調節することができる。帽子、シャツおよび刀を着用したアバターの簡単な例において、帽子は影響を受けず、シャツは一時的に影響を受け、刀は永久に影響を受け、帽子は白色表示(かまたは強調表示)され、シャツは黄色であり、刀は赤色である。
属性全てがブロック405を通じて処理された場合、ブロック406において、コンピュータシステムは他のデフォルト特性を必要に応じてアバターへ付加する。1つの世界は、特定の特性を必須のものとしてまたは他の場合にデフォルトとしてアバターについて規定し得る。例えば、宇宙世界は、アバターに酸素タンクを呼吸のために所有するよう要求し得る。アバターが宇宙世界へと進入すると、システムは、進入時においてアバターに酸素タンクを供給する。多様な実施形態において、アバターは、世界への全ての入力時、アバターの世界への初回進入時および/またはアバターがアイテムまたはデフォルトアイテムへマッピング可能な別のアイテムを既に有しているかに基づいて、デフォルトアイテムを受け取る。実施形態において、アバターは、デフォルトアイテムについて課金され得る。別の実施形態において、アイテムは、「レンタル」または「貸与」ベースで提供することができる。
ブロック410において、世界によって保存されたローカル状態に基づいて、アバターの特性をさらに更新することができる。世界は、ローカル状態を用いて、特定の世界に関連するがグローバルアバター状態には関連しない情報を維持することができる。例えば、ローカル状態は、当該世界に特有の特性の情報を維持することができる。追加、除去または変更により、特性更新をブロック410において行うことができる。
ローカル状態更新を用いて、世界への進入および世界からの出発についての戦略を通じて、望ましくないアイテム更新を回避することができる。上記の宇宙世界の例において、酸素タンクは経時的に枯渇し得、酸素タンクを(恐らくは有料で)定期的に補充するようアバターに要求することができる。しかし、宇宙世界進入時においてアバターが自動的に酸素タンクを付与される場合、アバターは、宇宙世界を退出し、酸素タンクを廃棄し、宇宙世界に戻る際に新規タンクを受け取ることにより、アバターは購入を免れる。宇宙世界は、アバターの酸素タンクレベルを記録することにより、これを回避するためにローカル状態を用い得、これにより、アバターが戻ってきた場合、酸素タンクは以前のレベルまで設定される。別の例において、アバターは世界におけるアイテムを紛失する場合があるが、世界はアイテム紛失を永久としていないため、アバターが世界から退出すると、当該アイテムは回復される。その後、ローカル状態を用いて、アバターが世界へと戻ってきたとき、「紛失された」アイテムはアバターにとってアクセス不可能となる。よって、ローカル状態を用いることにより、世界への進入および世界からの退出を通じて、アバターの特性の持続性を必要に応じて保証することが可能になる。
ローカル状態に加えて、ローカル状態とは別個に、またはローカル状態と関連して、システムは、ユーザが最終マッピング後に1つ以上のアイテムまたは任意のアイテムを領域間において一定期間にわたってマッピングさせることを回避することができ、マッピングを行う能力を以下の式を用いて任意選択的に徐々に戻す(例えば、M=N/T(Mは、マッピング可能なアイテムのパーセンテージであり、Nは、最終マッピングから経過した秒数であり、Tは、フルマッピング間にシステムにとって必要な時間長さである)。このような式を用いたアプローチを代替的または追加的に用いて、マッピングコストを決定した後、設定時間長さが経過する(すなわち、コストとは、早期マッピングまたは他のマッピングを1マイナスMで乗算したフルコストである)。
図5は、一実施形態において用いられる、グローバル状態からの特性をローカル状態へとマッピングするプロセスのフローチャートである。このプロセスは、例えば図4のブロック406においてコンピュータシステムによって行われ得る。多様な実施形態において、さらなるブロックが設けられ得、いくつかのブロックが除去され得、かつ/または図示と異なる様態でブロックが接続または配置され得る。
ブロック501において、コンピュータシステムは、変換手順(例えば、図4について述べたようなもの)時において、処理されているアバターの1つの特性を特定する。特性は、アバターの特性を特定するグローバル状態から抽出され得る。ブロック502において、コンピュータシステムは、当該特性にローカル変更があるかを判別する。ローカル変更とは、特定の世界に適用可能な変更であり、世界のローカル状態と共に(例えば、上記に述べた酸素タンクおよび紛失アイテム例と共に)保存され得る。このようなローカル状態変更の後、ローカル状態変更はブロック503において適用される。
ローカル状態変更が無い場合、ブロック504において、システムは、アイテムの別の世界または位置への変換に同意があるかを判別する。2つの世界は、特定のアイテムまたは特性が変換可能であるとの同意を持ち得、これにより、これらの特性の交換が可能となる。例えば、宇宙世界および中世世界は、特定の種類のレーザー銃を特定の種類の幅広剣と交換することができるとの同意を持ち得る。同意は、スクリプト、コード、または同意している世界の他のローカル状態中に保存され得る。このような同意が見つかった場合、同意された変換がブロック505において用いられる。変換が呼び出されると、ネットワーク接続または他の通信による同意している世界との接触が行われる。
同意が見つからない場合、ブロック506において、世界のデフォルト変換手順が行われる。この変換手順は、変換されている特性の属性、多様な許可された特性の属性、特性の仮想通貨値、特性の供給および/または需要などを担当し得る。さらに、変換は、世界によって指定されたように、一時的または永久的なものであり得る。
図6は、実施形態において用いられる、グローバルアバター状態およびローカル世界データの例示的データ構造のブロック図である。データ構造は、コンピュータによって読み出し可能な媒体(例えば、ハードドライブ、SSD、テープバックアップ、分散記憶装置、クラウド記憶装置)上に保存され得、関連データベーステーブル、フラットファイル、C構造、プログラミング言語オブジェクト、データベースオブジェクトなどとして構造化され得る。多様な実施形態において、さらなる要素を含めてもよいし、いくつかの要素を除去してもよいし、および/または図示と異なる様態で要素を配置してもよい。
グローバルアバター状態601は、サービスプロバイダまたは他のデータ保存部によって保存され得、1つ以上のアバターに関連する記録を保持し得る。グローバルアバター状態は、情報を維持し得る(例えば、アバターの特性(例えば、属性602(例えば、外観、パーソナリティ、社会的関係)および所有603))。さらに、グローバルアバター状態は、認証データ604を維持し得る。認証データ604は、例えば図3のブロック305において用いられ得る。
上述したように、特性と、各特性の局面を規定する属性とを関連付けることができる。属性は、例えば、図4のブロック406のマッピングプロセスにおいて用いることができる。これらの特性は、グローバルアバター状態601の一部として保存することができる。あるいは、属性は、アバター特性の属性の別個のデータ保存部中に保存してもよい。実施形態において、各世界は、特性の属性を維持し、これにより、(上記の幅広剣の「武器対遺物」の例について説明したように)世界が特性を異なって解釈することが可能になる。
仮想世界データ605は、仮想世界を操作するための情報を含み得る。変換プロセスに関連する規則(例えば、図4について述べたもの)を、仮想世界データ605中に含めることができる。例えば、必要な特性606を図4のブロック409において用いて、必要な特性またはデフォルト特性および/または特性の属性を決定することができる。変換規則607は、特性および/または特性の属性を変換するプロセスを規定し得る。
仮想世界は、特性(例えば、変換プロセス時に取得される特性)を維持する。これらの特性は、所有608として仮想世界中に保存され得る。仮想世界はまた、図5のブロック305について述べたように、進入時におけるアバターの認証および許可を決定するための認証データ609も維持し得る。
上述したように、各仮想世界は、ローカルアバター状態を維持し得る。ローカルアバター状態は、世界特有の変更を特性へ反映するように進入時におけるアバターのグローバル状態を変更するために用いられる。これらの変更は、データ構造610において維持され得る。データ構造610は、属性変更611および所有および他の特性変更612についての情報を含む。保存された変更は、アバターへ追加されるべきさらなる特性、アバターから除去されるべき特性および/またはアバターの特性の属性の変更を含み得る。さらに、図5のブロック504について述べたように、仮想世界は、特性交換についての1つ以上のワールドツーワールドローカル同意を維持し得る。
図7は、実施形態において用いられる、アバターが仮想世界と相互作用している際にアバターの特性を変更するプロセスのフローチャートである。プロセスは、上述したように、仮想世界を操作するコンピュータシステムによって行われ得る。多様な実施形態において、さらなるブロックを含めてもよいし、いくつかのブロックを除去してもよいし、および/または図示と異なる様態でブロックを接続または配置してもよい。
ここまで、本開示において、仮想世界への進入または仮想環境内における通過時におけるアバター特性の取り扱いについて述べてきた。アバターが仮想世界と相互作用すると、アバターの特性が変化し得る(すなわち、アバターは、新規アイテムを取得し、アイテムを販売または廃棄し、外観を自然にまたはユーザの命令により変更するなどする)。アバターは、特性を得るかまたは失い得る(例えば、アバターは、アイテムを取得するかまたは失い得る)あるいは特性の属性が変化し得る(例えば、アバターの刀が損傷を受ける)。同様に、アバターそのものが変化し得る(例えば、加齢による変化、新規スキルの獲得による変化)。これらの変化は、特定の世界の構成に応じて、アバターのグローバル状態に反映される場合もあるし、反映されない場合もある。例えば、「試験」世界の場合、アバターの特性は出発時に回復されるが、「現実の」世界の場合、アバターの変更は永久に継続される。さらに、仮想世界は、変換システムの望ましくない賭博に関連し得る。例えば、アバターは、世界への出入りを繰り返すことにより、変換プロセスの呼び出しにより不法または望ましくない利益を得ようとする場合がある。
さらに、イベント発生時において、ユーザが以前の状態に戻りたいと思う場合がある。例えば、宇宙世界からの退出時において、アバターは、アバターが宇宙世界に進入しようとしたときの状態に戻ることを望み得る。過去状態の情報は、システムによって(またはローカルにクライアント側に)維持され得、このような情報を用いて、このような復帰のコストを決定する(または購入可能な要素(例えば、新規の武器)および購入不可能な要素(例えば腕)の混合物の場合)。一実施形態において、ユーザは、ゲームにおいて状態をセーブするのと同様に、複数の復帰ポイントを選択するかまたは付与され得る。一実施形態において、特定の状態に復帰するためのコストは、ユーザへ継続的または断続的に提示され、および/または、ユーザは、1つ以上のトリガコストを選択することができる。これらのトリガコストにおいて、ユーザは警告を受けかつ/または自動的に復帰が可能な場所および/または自動復帰の場所まで移送され得、このような移送全てにおいて、アイテム購入コストがユーザアカウントから任意選択的に自動減算される。一実施形態において、コスト(および/または復帰に必要な時間)は、アイテムの市販価格の変動および利用可能性について連続的または定期的に調節される。
ブロック701において、アバターは、仮想世界と相互作用する。相互作用の結果、アバターの特性がブロック702において変更され得る。変更は、アバターがとるアクションおよび/または自動プロセス(例えば、加齢)に応答して発生し得る。
ブロック703において、アバターのローカル状態が更新され得る。ローカル状態は、世界内のアバターの特性に影響付与するように、構成され得る。その結果、特性変更についてアバターへフィードバックを迅速に提供することができる。
ブロック704において、システムは、対応する変更がグローバル状態に為されたかを決定する。決定において、いくつかの実施形態において複雑なプロセスがシステム構成および仮想世界に応じて行われ得る。例えば、システムは、変更された特性そのものがグローバル状態中に存在しないが、変更された特性がグローバル状態中に存在する別の特性と交換されたことを決定し得る。このような場合、世界ベースの特性の変更が、対応してグローバル特性に対して行われる。
例えば、元々は宇宙世界から来たアバターがレーザー銃を有しており、中世世界へ進入した場合、アバターのレーザー銃を幅広剣へ変換することができる。中世世界において、アバターが幅広剣を別のアバターへ売った場合、システムは、幅広剣がレーザー銃に対応することを検出し、アバターのグローバル状態を更新して、レーザー銃の所有を除去する。
上述したように特性が永久変換される場合、上記した逆マッピング手順は不要であり得る。逆マッピング手順が行われる場合、仮想世界は、手順を促進するために適切なデータ構造を維持することができる(例えば、変換の変換)ことが理解される。1つのインプレメンテーション(例えば、特性が永久変換されない場合)において、レーザー銃などのアイテムを転送するには、当該アイテムの状態を開示する必要があり得る(またはシステムがそのようにする)(例えば、「レーザー銃が幅広剣に一時的に変換されている」)。
グローバル状態への特性変更のマッピングにおいては、同様の複雑度が関連し得る。例えば、上記からのアバターの幅広剣が戦闘時において屈曲または欠損した場合、グローバル状態におけるアバターのレーザー銃に対する対応する変更を行うことができる。同一の変更は不適切である場合がある。本例において、レーザー銃の欠損は、レーザー銃の機能性を損なう可能性が低いのに対し、幅広剣の欠損は、剣の機能を損なう。よって、グローバル状態の変更は、仮想世界および/またはサービスプロバイダによって規定されるように、マッピングプロセスを通じても行うことが可能である。これらの変更は、上述したように特性の属性に基づき得る。例えば、幅広剣の欠損は、「武器」クラスアイテムの「パワー」属性の低下として解釈され得るため、レーザー銃の「パワー」属性の対応する低下がグローバル状態においても設定される(例えば、レーザー銃の発射時間を短縮する)。
ブロック704においてグローバル状態が変更された場合、当該変更はブロック706において行われ、ブロック707において保存される。システムがブロック704において当該変更が不可能であると決定した場合、ブロック705において、システムは、適切なローカル状態変更を保存し得る。ローカル状態変更を用いて、世界から退出するかまたは再進入するアバターが変更された特性を復帰できないようにする。例えば、上記からの幅広剣の例について、幅広剣の欠損は、中世世界のローカル状態中に保存され得る。欠損した幅広剣を有するアバターが中世世界から退出すると、アバターの元々のレーザー銃が回復され得る。その後、アバターは中世世界へと戻り、レーザー銃を再度幅広剣へと変換させ、ローカル状態に起因して、当該幅広剣は自動的に欠損を含むようになる。
図8は、実施形態において用いられる、特性の永久変換を要求する世界に進入する際の特性変更プロセスのフローチャートである。プロセスは、仮想世界を操作するコンピュータシステムによって行われ得る。多様な実施形態において、さらなるブロックを含めてもよいし、いくつかのブロックを除去してもよいし、および/または図示と異なる様態でブロックを接続または配置してもよい。
ブロック801において、システムは、アバターの特性を決定する。ブロック802において、システムは、世界に適した対応する特性を特定する。対応する特性は、図5について述べたようなマッピングプロセスにより、決定することができる。
ブロック803において、システムは、特性の交換をアバターのユーザへ提案する。提案は、ユーザインターフェースとして表示され、受信されるべき特性、必要な値、没収されるべき特性などを示す。実施形態において、複数の交換選択肢がアバターへ提示され得る。実施形態において、アバターに対し、交換可能アイテムの選択肢が提示されるため、完全な提案パッケージの形成は不要である。その後、ユーザは、ブロック804において交換を受容するよう促される。ユーザが交換を拒否した場合、ブロック805において、世界は、アバターの世界への進入の許可を拒否する。
ユーザがブロック804において交換を受容した場合、ブロック806において、アバターの特性は、適切に無効化され得る。このような無効化は、アバターのグローバル状態へと書き込まれて、永久性が確保される。ブロック807において、アバターに対し、ブロック803において提案されたような新規特性が付与される。無効化された特性とおよび付与された特性との間に差が発生し得るため、ブロック808において、アバターのアカウントに対し、適切に課金または貸方記入が行われ得る。

セキュアラブルオブジェクトおよび許可決定
アバターを特定のアクションを世界シーンまたはインスタンス内においてとる能力に限定することが望まれる場合がある。例えば、壁への落書きを回避することが望まれる場合がある。空間の所有者または経営者は、オブジェクトに多様な許可をマーク付けすることで、特定の人々、特定クラスのアバターおよびオブジェクト、または他のアクターが特定のアクションを実行できるかまたはできないようにすることを望み得る。許可は、持続性規則も含み得る。例えば、変更または移動が可能であるオブジェクトがあり得るが、これらのアクションは、一定時間または特定のイベント後に期限切れとなる(例えば、人が部屋から退出した後、全アバターがある領域を退出した後、特定のスタッフユーザ以外の全アバターが領域から退出した後)。一実施形態において、アバターについての履歴情報を用いて、例えば以前壁に落書きしたことのある任意のアバターの部屋への進入を禁止することにより、アバターの領域への進入についてリスクおよび望ましさを評価する。
図9は、実施形態において用いられる、仮想世界サービスプロバイダおよびユーザを接続するコンピュータネットワークシステムのブロック図である。多様な実施形態において、さらなるブロックを含めてもよいし、いくつかのブロックを除去してもよいし、および/または図示と異なる様態でブロックを接続または配置してもよい。
サービスプロバイダ901は、仮想世界サービスを提案するコンピューティングデバイスおよびシステムを含む。サービスプロバイダ901は、本明細書中に記載されるプロセスのうち1つ以上を行うように構成されたコンピューティングハードウェアおよび/またはソフトウェアを含み得る。実施形態において、複数のサービスプロバイダ901が、単一のコンピューティングデバイス上に収容され得る。サービスプロバイダ901はまた、クラウドコンピューティングまたは分散システムの場合と同様に、複数のデバイスにわたって分散され得る。
サービスプロバイダ901は、1つ以上のネットワーク902を介してユーザ903と通信する。ネットワークは、例えば、インターネットネットワーク、セルラーネットワーク、ローカル領域ネットワーク、広域ネットワーク、無線ネットワーク、イーサネット(登録商標)ネットワークなどと、これらの組み合わせとを含み得る。ユーザ903は、ユーザコンピューティングデバイスを含み得る(例えば、デスクトップコンピュータ、ラップトップコンピュータ、モバイルコンピューティングデバイス、携帯電話、タブレット)。本明細書中、「ユーザ」という用語は、当該用語の文脈において適切なものとして、ユーザデバイス(例えば、上記したおよび/またはエンティティ(例えば、このようなデバイスを操作する個人))を指し得る。
さらなるデバイスおよびシステムが、図9のシステムに含まれ得る。例えば、サービスプロバイダ901は、共通データ保存部(アカウントデータベース、登録サーバ、管理サーバなど)と通信し得る。このように中央システムを用いることにより、サービスプロバイダ901が相互に容易に同期および協調することが可能になる(例えば、アバター位置の移行の協調、ユーザアカウントの同期)。
図10は、実施形態において用いられる、サービスプロバイダ上の仮想世界データの例示的配置構成の階層図である。ブロックは、データオブジェクトの種類を示し、相互接続は、データ要素(例えば、ポインタ、参照、サブクラス関係)間の関係を示し得る。データ構造は、コンピュータによって読み出し可能な媒体(例えば、ハードドライブ、SSD、テープバックアップ、分散記憶装置、クラウド記憶装置)上へ保存され得、関連データベーステーブル、フラットファイル、C構造、プログラミング言語オブジェクト、データベースオブジェクトなどとして構造され得る。多様な実施形態において、さらなる要素を含めてもよいし、いくつかの要素を除去してもよいし、および/または図示と異なる様態で要素を配置してもよい。
サービスプロバイダ1001は、サービスプロバイダに関連する一般的データを含むデータオブジェクトとして表現され得る。サービスプロバイダは、サービスプロバイダのユーザのために、アカウント1002を維持し得る。アカウントオブジェクトは、ユーザに関連する関連データ(例えば、ユーザ名、認証情報、属性情報、個人情報)を含み得る。各アカウントは、1つ以上のアバター1004とさらに関連付けられ得、これらのアバター1004中から、仮想世界中に出現させるものをユーザが選択することができる。多様な実施形態において、サービスプロバイダは、ユーザが複数のアバターを維持することを可能にするか、または、ユーザを単一のアバターに制限する。ユーザが複数のアバターを維持することを可能にすることにより、サービスプロバイダは、ユーザが(ユーザおよび/またはサービスプロバイダが選択した)異なる外観および仮面を異なる状況においてとることを可能にする。
サービスプロバイダ1001は、世界1003をさらに維持し得る。各世界が示し得る仮想空間において、アバターが相互作用することができる。サービスプロバイダは、複数の仮想世界1003を維持し得、各仮想世界は、サービスプロバイダ1001の異なるユーザまたは管理者によって操作され得る。よって、サービスプロバイダは同様に国にリンクされ得、各世界は世界内の都市にリンクされ得る。一実施形態において、仮想世界は、別個の規則、フィーチャ、コミュニティなどを持ち得、これらは全て、サービスプロバイダの一般的方針に従う。
仮想世界1003は、シーン1005を含み得る。上記と同様に、各シーンは、都市の中の建物または部屋へとリンクされ得る。シーンは、アバターが訪問および進入することが可能な仮想位置を示す。1つのシーンは、多様な属性(例えば、外観、サイズ、家具、含まれるアイテム、アーキテクチャ)によって規定され得る。
いくつかの状況において、単一のシーン1005を利用可能とし、かつ、アバターを当該シーンの異なるコピーに進入させることが望ましい場合がある。例えば、仮想テニスコートのように配置されたシーンを生成し、(テニスプレーヤが同一仮想空間を用いるのではなく)複数のペアのテニスプレーヤにこのシーンの別個のコピーを提供することが所望され得る。このようなコピーは、インスタンス1006によってインプリメントされる。あるインスタンスは、走っているシーンを示し、アバターは、シーンのインスタンス内において相互作用する。
アバターがシーンを発見し、そのシーンに進入を試行すると、サービスプロバイダは、当該アバターのために新規インスタンスを生成するかまたはアバターを既存のインスタンスに入れるかを決定する。決定は、シーンについて指定された規則に基づき得る。例えば、いくつかのシーンは、インスタンス毎に最大数のアバターが可能となるように(例えば、テニスシーンにおいてインスタンス毎に2人のプレーヤが可能となるように)、構成される。新規インスタンスは、時間間隔、アバターユーザリクエスト、各インスタンス内におけるオブジェクトの利用可能性などに基づいて生成することも可能である。一実施形態において、閾値イベントが発生した場合、環境は自動的に変化し得るか、または、アバターが自動的に移送され得る。例えば、8人のアバターがテーブルにサインアップした場合、ポーカーをしようと待機しているアバターを、ポーカー部屋へ自動的に移送することができる。別の例において、予想されるテニスプレーヤは、別のテニスプレーヤが到着するまで待機部屋において待機することができ、その後待機部屋はテニスコートへ変換される。
インスタンスは元々は、基盤となるシーンの仕様に基づいて構成され得る。例えば、1つのシーンについて、新規生成されたインスタンスを同じ内蔵アイテム、同じ外観、同じサイズなどで配置することができる。別の実施形態において、シーンは、各新規インスタンスの本質をランダム化または他の場合に変更する命令を含み得る。アバターがシーンのインスタンスと相互作用すると、これらのアバターに起因して、含まれるアイテム、外観などが変更される。このような変更は、恐らくはシーンの構成に応じて、元々のシーンを反映する場合もあれば、反映しない場合もある。さらに、実施形態において、新規インスタンスは、元々のシーンに基づくのではなく、既存のインスタンスに基づき得る。
サービスプロバイダ内において、世界1003、シーン1005およびインスタンス1006がデータ構造オブジェクトとして表現され得る(例えば、XML文書、関連データベース記録、プログラミング言語オブジェクト)。サービスプロバイダは、これらのオブジェクトをグラフィカルまたは他の表現へ変換するためのソフトウェアモジュールを含み得る。ソフトウェアは、サービスプロバイダ上において操作されて、これらの表現を生成する。さらにまたはあるいは、ユーザデバイス上において動作するクライアントソフトウェアは、データ構造オブジェクトをグラフィカル表現へと翻訳し得る。
図11は、実施形態において用いられる、仮想世界内のオブジェクトの例示的配置構成の階層図である。ブロックは、データオブジェクトの種類を示し得、相互接続は、データ要素(例えば、ポインタ、参照、サブクラス関係など)間の関係を示し得る。データ構造は、コンピュータによって読み出し可能な媒体(例えば、ハードドライブ、SSD、テープバックアップ、分散記憶装置、クラウド記憶装置)上に保存され得、関連データベーステーブル、フラットファイル、C構造、プログラミング言語オブジェクト、データベースオブジェクトなどとして構築され得る。多様な実施形態において、さらなる要素を含めてもよいし、いくつかの要素を除去してもよいし、および/または図示と異なる様態で要素を配置してもよい。
実施形態において用いられるセキュアラブルオブジェクト1101は、一般的クラスまたはサービスプロバイダによって用いられるオブジェクトの種類である。セキュアラブルオブジェクトは、サービスプロバイダデータオブジェクト1102、仮想世界データオブジェクト1103、シーンデータオブジェクト1104、およびアイテム1105を含み得る。サービスプロバイダ、仮想世界、およびシーンデータオブジェクトは、図10について述べたオブジェクトに対応し得、インスタンスは、セキュアラブルオブジェクトとして表現することができる。アイテム1105は、仮想世界内のアイテムを示し得る(例えば、アバターが所有するアイテム、シーン内のアイテム、建物、構造、植物、動物、および仮想世界の他のコンポーネント)。
セキュアラブルオブジェクトは一般的には、仮想世界内において作用を受けることが可能なオブジェクトとしてみなされ得る。サービスプロバイダ、仮想世界シーン、インスタンスまたは他の適切な機関によって規定されたセキュアラブルオブジェクト上に、多様なアクションが行われ得る。仮想世界内において理解されるアクションの種類は、異なる種類のセキュアラブルオブジェクトによって異なり得る。例えば、「とる」というアクションは、小型オブジェクト(例えば、鉛筆)においては利用可能であるが、大型オブジェクト(例えば、木)に対しては利用できない。同様に、許可されるアクションは、1つ以上のアバターまたはオブジェクトまたはアバターまたはオブジェクト種類のうちに対して相対的であり得る。例えば、木を「とる」というアクションは、トラクターを運転しているアバターが当該アクションを試行する場合には利用することができるが、何らかの種類のヘルパーオブジェクト無しではアバターは利用することができない。
実施形態において、1つの特定の種類のセキュアラブルオブジェクトはエンティティ1106である。エンティティは、仮想世界内においてアクションを起こすことが可能なユーザまたは他の個人を指す。エンティティの例を挙げると、ユーザアカウント1107、仮面オブジェクト1108、およびアバターオブジェクト1109がある。エンティティはセキュアラブルオブジェクトの種類であるため、任意の他のセキュアラブルオブジェクトと同様に、エンティティに対して作用を及ぼすことが可能である。別の実施形態において、エンティティは、セキュアラブルオブジェクトの種類ではない場合がある。
アバター(または他のエンティティ)が仮想世界と相互作用すると、アバターは、当該世界においてアクションをとることができる。例えば、アバターは、鉛筆に対して「とる」アクションを実行することにより、仮想世界内の地面上にある鉛筆を取得することができる。このようなアクションは、ネットワークプロトコルまたは他の通信システムを介してサービスプロバイダへ提供されるデータリクエストとして表現され得、このアクションは、サービスプロバイダおよび/またはユーザのコンピュータ上において実行するクライアントソフトウェアによりグラフィカル表現へ翻訳される。
いくつかの場合において、仮想世界内においてとることが可能なアクションの種類を制限することが所望される場合がある。よって、実施形態において、サービスプロバイダは、「許可決定」プロセスをインプリメントして、どのエンティティによってどのセキュアラブルオブジェクトに対してどのアクションをとるべきかを判別する。別の実施形態において、特定のオブジェクトクライアント上において完全にローカルに生成および利用され、他のクライアントには送信されず、要旨の形態で他のクライアントへも送られない。例えば、ユーザが芝生を有する場合、他のクライアントは、(芝生の特定の状態局面(例えば、専有面積または欠陥)を複製することなく)「芝生」を生成せよとの旨のみが伝えられる。いくつかの場合において、このような「要旨形態」の伝達を用いて、ユーザは、例えば要旨形態アイテムを各ユーザの地理的位置からみられる夜空の外観を反映する「夜空」とすることにより、自身が好む一般的オブジェクトの種類(例えば、草の種類)を指定することおよび/またはこのような共通オブジェクトをローカライズすることができる。
図12は、実施形態において用いられる、許可を示すデータ構造のブロック図である。データ構造は、サービスプロバイダによって保存され得、許可決定プロセスにおいて用いられる。データ構造は、コンピュータによって読み出し可能な媒体(例えば、ハードドライブ、SSD、テープバックアップ、分散記憶装置、クラウド記憶装置)上に保存され得、関連データベーステーブル、フラットファイル、C構造、プログラミング言語オブジェクト、データベースオブジェクトなどとして構築され得る。多様な実施形態において、さらなる要素を含めてもよいし、いくつかの要素を除去してもよいし、および/または図示と異なる様態で要素を配置してもよい。
許可記録1201は、1つ以上の「ゲートキーパー」オブジェクト1202と関連付けられ得る。ゲートキーパーはオブジェクトであり、許可すべきアクションを決定する権限または管轄権を有する。実施形態において、ゲートキーパーは、サービスプロバイダ、仮想世界シーン、および/または(内部においてアバターがアクションを行う)インスタンスを含み得る。よって、各ゲートキーパーは、以下に述べるように、アバターが所望するアクションを行うことを許可するかについて影響を付与することができる。
許可記録1201は、エンティティパターン1203、アクションパターン1204、および/またはセキュアラブルパターン1205をさらに含み得る。これらのパターンを用いて、特定の許可記録が行われているアクションに関連するかを判別することができる。実施形態において、アクションを試行しているエンティティがエンティティパターン1203と整合する場合、試行されているアクションがアクションパターン1204に整合する場合、作用を受けるべきセキュアラブルオブジェクトがセキュアラブルパターン1205と整合する場合、許可記録をアクションに適用することができる。これらのパターンは、オブジェクトとの整合に用いられる特定のオブジェクトまたは特定の規則に用いられ得る。パターンは、例えば、正規表現、カテゴリー、実行可能なコードなどを含み得る。
許可記録1201は、許可インジケータ1206をさらに含み得る。許可インジケータは、パターンに整合するアクションを許可または不許可にすべきかを特定し得る。実施形態において、許可インジケータ1206は、「はい」、「いいえ」および「引き継ぐ」という値を持ち得る。これらの選択肢のうち最終の選択肢を用いて、以下に示すように、アクションの許可可能性を別のゲートキーパーから送達すべきである旨を示すことができる。
許可記録1201はまた、「オーバーライド可能な」フラグ1207も含み得る。このフラグを用いて、アクションを許可すべきかについてさらなるゲートキーパーに相談すべきかを判別することができる。例えば、サービスプロバイダは、許可記録を含み得る。この許可記録により、特定のアクションが許可される。許可記録がオーバーライド可能である場合、許可決定プロセスは、当該サービスプロバイダ内の仮想世界にさらに相談して、アクションを許可すべきかを判別することができるが、許可記録がオーバーライド不可能である場合、許可決定プロセスは決定プロセスを終了し得る。
図13は、実施形態において用いられる、エンティティがアクションをとることについての許可を決定するプロセスのフローチャートである。このプロセスは、例えばサービスプロバイダシステム上に行われ得る。多様な実施形態において、さらなるブロックを含めてもよいし、いくつかのブロックを除去してもよいし、および/または図示と異なる様態でブロックを接続または配置してもよい。
ブロック1301において、サービスプロバイダは、セキュアラブルオブジェクトに対してアクションをとろうとしているエンティティを特定する。試行は、ユーザのアバターまたは他のエンティティに所望のアクションをとらせようとしているユーザから提出されたリクエストに応答して、特定され得る。
ブロック1302において、ゲートキーパーの階層が特定される。実施形態において、ゲートキーパーの階層は、エンティティが作用を及ぼすサービスプロバイダ、内部においてエンティティが作用している仮想世界、内部においてエンティティが作用しているシーン、内部においてエンティティが作用しているインスタンス、エンティティによる作用を受けるセキュアラブルオブジェクトを含む。別の実施形態において、他のゲートキーパーが含まれ得、ゲートキーパーのサブセットが用いられ得、および/またはゲートキーパーが異なる順序で配置される。
その後、システムは、ゲートキーパーの許可を決定する。ブロック1303において、階層内の最高位ゲートキーパーが選択される。その後、ゲートキーパーと関連付けられた許可記録を、ブロック1301のエンティティ、アクション、およびセキュアラブルオブジェクトと整合させることができる。整合許可記録が見つからない場合、システムは、ブロック1305において階層中のさらなるオブジェクトを検討する。
整合許可記録が見つかった場合、整合許可記録の許可識別子をブロック1306において内部バッファに適用および記録することができる。許可識別子が「引き継ぐ」である場合、内部バッファの既存の値が保持され、その結果、以前の許可設定が引き継がれる。許可記録がブロック1307においてオーバーライド可能である場合、システムは、ブロック1305において階層内の次のゲートキーパーを検討する。
ブロック1305において検討対象となるゲートキーパーが無い場合またはオーバーライド不可能な許可記録がブロック1307において適用された場合、許可決定はブロック1308へと進み、最終記録された許可がブロック1306から適用される。
いくつかの場合において、ブロック1306において、許可は記録されていない。例えば、ゲートキーパーのうちいずれも整合許可記録を持たなくすることもできるし、あるいは、整合許可記録全ての許可識別子を「引き継」にすることもできる。このような場合において、デフォルト許可を適用することができる。あるいは、特定のゲートキーパーは、「全てを受け取る」許可記録を含み得、これにより、少なくとも1つの許可記録が常に整合するかまたは「全てを受け取る」ゲートキーパーを階層の端部に設けることが可能になる。
上記アルゴリズムの変更例を、いくつかの実施形態において適用することができる。例えば、ゲートキーパーは、ゲートキーパーに他のゲートキーパーおよび/または許可記録に相談するよう指示する許可記録を含み得、これにより、ブロック1302からのゲートキーパーの階層は厳密に遵守する必要は無い。例えば、仮想世界は、(仮想世界シーンおよびインスタンスのうちのものを検討する代わりに)セキュアラブルオブジェクトの許可記録にすぐに相談すべきである旨を示す許可記録を含み得る。これを用いて、例えば、特定の世界およびシーンのインプレメンテーションに関係無く、作用を受けているセキュアラブルオブジェクトの利益を全ての場合において遵守すべきである旨を示すサービスプロバイダ方針をインプリメントすることができる。
図14は、実施形態において用いられる、関連付けられた許可記録を有する例示的ゲートキーパーのブロック図である。このブロック図は、ひとえに例示的なものであり、特定のゲートキーパーまたはゲートキーパーの種類の必要な構成を示すものではない。
ゲートキーパー1401は、3つの許可記録を含む。第1の許可記録1402は、「Bob」という名称のエンティティは、木であるセキュアラブルオブジェクトを叩くアクションをとることを許可されていない旨を示す。よって、許可記録1402が許可された場合、「Bob」という名称のエンティティは、木を叩く試行が自動的にできなくなる。許可記録1402はオーバーライド可能であるため、階層のさらに下方にある別のゲートキーパーがBobが当該アクションを行うことを許可することが可能であり得る。
第2の許可記録1403は、種類が「ウィザード」であるエンティティは、任意のセキュアラブルオブジェクト上に魔力を働きかけるアクションをとることが許可される。この許可記録はオーバーライド不可能であると示されているため、階層上のさらに下方にある他のゲートキーパーは、この許可記録が行われることを回避することができない。記録1403中のエンティティパターンフィールドは、特定のエンティティを示すのではなく、或るクラスのエンティティを示すのであり、これにより、許可記録の表現出力が大幅に増加する点に留意されたい。
第3の許可記録1404は、エンティティが植物であるセキュアラブルオブジェクトを叩くアクションを試行している場合、許可値が以前のゲートキーパーから引き継がれるべきであることを示す。
実施形態において、各ゲートキーパーは、いくつかのまたは全てのアバターまたはオブジェクトについてのいくつかのタスクまたは全てのタスクを他のゲートキーパーへ永久的に、一時的または取消可能な様態で委託し得る。
実施形態において、許可記録は、特定の順序にあるものとしてみなされ、この特定の順序は、ゲートキーパー1401またはシステムの適切な管理者またはユーザによって規定され得る。例えば、「Bob」という名称のエンティティが木を叩こうと試行した場合、許可記録1401および1404双方が整合することが分かる。最初に発生するのは記録1401であるため、記録1401が優先される。別の実施形態において、いくつかの優先されるべき許可記録を決定するための異なるアルゴリズムが用いられ得る。
ゲートキーパー1401から許可記録1404全てを省略することにより、相当する結果を得ることができることが分かる。なぜならば、ゲートキーパーが整合する許可記録を持たない場合、以前のゲートキーパーの許可設定が自動的に引き継がれるからである。しかし、引き継がれた許可を指定する能力を用いて、例えば、別の許可記録が以前のゲートキーパーの設定にオーバーライトされる事態を回避することができる。例えば、ゲートキーパー1401は、任意のセキュアラブルオブジェクトを叩くもの全てを拒否するための第4の許可記録を含み得る。このような場合、このようなアクションが以前のゲートキーパーによって許可されている場合、許可記録1404を用いて、植物を叩くことを可能にすることができる。
図15は、実施形態において用いられる、複数のゲートキーパーオブジェクトにわたる許可決定の一例の図である。この図は、ひとえに例示的なものであり、許可決定の必要なプロセスを示すものではない。図15の例は、エンティティがいくつかのセキュアラブルオブジェクトに対していくつかのアクションを行おうとする試行を示す。
図15の例において、ゲートキーパーの階層は、サービスプロバイダ、仮想世界、シーン、インスタンス、およびセキュアラブルオブジェクトを含む。ブロック1501において、サービスプロバイダの許可記録を調査することにより、アクションを許可すべきかが判別される。図15の例において、整合許可が発見されない場合、システムは、当該階層上の次のゲートキーパーへ進む。
ブロック1502において、仮想世界の許可記録を調査し、仮想世界が試行アクションを許可していると判別される。よって、現在の許可設定として「許可」が記録される。仮想世界は許可がオーバーライド可能であることを示しているため、システムは、階層上の次のゲートキーパーへ進む。
ブロック1503において、シーンの許可記録を調査し、シーンが許可設定を引き継ぐことが判別される。よって、ブロック1502からの許可設定として保持されている「許可」が記録される。仮想世界は許可がオーバーライド可能であることを示しているため、システムは、階層上の次のゲートキーパーへ進む。
ブロック1504において、インスタンスの許可記録を調査し、インスタンスが試行されたアクションを拒否することが判別される。よって、ブロック1503から保持されてきた「許可」という許可設定は、「拒否」という設定と共に移転される。このインスタンスは、許可がオーバーライド不可能であることを示しているため、システムは、許可決定を結論付ける。詳細には、セキュアラブルオブジェクトの許可記録1505は調査されず、セキュアラブルオブジェクトがアクションを許可するであろうということに関わらず、試行されたアクションは拒否される。
実行可能なスクリプト
仮想世界サービスプロバイダは、実行可能なスクリプトをアップロードしサービスプロバイダ上に実行することを可能にする機能を含み得る。これらのスクリプトを用いて、多様なタスクを自動的に行うことができる(例えば、アクションの実行、オブジェクトの変更、外観の変更、さらなる機能のイネーブル)。
以下に述べるようなサーバ側スクリプトは、クライアントデバイス上において動作するクライアント側スクリプトと区別される。このようなクライアント側スクリプトを用いて、クライアントデバイス上のユーザへ表示される仮想世界のグラフィカル表現を操作することができる。クライアント側操作は一般的には、サービスプロバイダ上の状態またはデータに影響を与えない。しかし、クライアント側スクリプトを生成することにより、サービスプロバイダへのリクエストを自動的に送ることができる。クライアント側スクリプトをさらに生成することで、サーバ側のスクリプトの事項および/またはアプリケーションプログラミングインターフェース、ネットワークプロトコルまたはサービスプロバイダによって提案される他の通信方法を通じて他のアクションを行うことができ、これにより、サービスプロバイダ上の状態またはデータに影響を与えることができる。サービスプロバイダは、このようなクライアント側スクリプトの検出と、恐らくはクライアント側スクリプトのディセーブルまたは他の場合にその有効性の低減とを行うためのソフトウェアコンポーネントを含み得る。
仮想世界サービスプロバイダ上のサーバ側スクリプトは、多様な機能を提供し得る。これらのサーバ側スクリプトは、ユーザの経験を向上させるために、ソフトウェア開発者によって開発され得、仮想世界サービスプロバイダのユーザへと分配される。スクリプトは、スタンドアロン形態で分配され得、ユーザによってインストールされ得、かつ/または、スクリプトをオブジェクト、アイテムおよび仮想世界サービスプロバイダ上の他の要素と共にバンドルすることも可能である。実施形態において、現実的通貨および/または仮想通貨、物品またはアイテムのために、スクリプトを仮想ストアを通じて分配および/または販売することができる。
スクリプトは、サービスプロバイダ上のデータ構造を操作することにより、サービスプロバイダ上において動作することができるよって、サービスプロバイダは、デジタル世界のコンポーネントを示す一貫したインターフェースを提供することができ、これによりスクリプトの動作が可能となる。実施形態において、デジタル世界のコンポーネントは、HTMLまたはXML文書の表現に用いられる文書オブジェクトモデルと同様に、ツリー型構造で表現される。以下の例は、文書ツリーを表現するXMLマークアップの変形例として示すものであるが、デジタル世界のコンポーネントは、多様なフォーマットおよびデータ構造でインプリメントされ得る。
図16は、実施形態において用いられる、仮想世界中のシーンのインスタンスのレイアウトの一例である。この図は、ひとえに一例であり、シーンまたはインスタンス中のアイテムの必要な配置構成を示すものではない。
インスタンス1601のグラフィカル表現は、ピアノ1602、ソファ1603および植物1604を含む。オブジェクトは、ユーザインターフェース1601中にグラフィカルに示される。実施形態において、オブジェクトは、3次元で表現され得る。サービスプロバイダ内において、インスタンスは、データ構造として表現され得る(例えば、以下のテーブルのデータ構造)。
コード表現は、シーンおよびインスタンス中のオブジェクトと、多様な属性およびサブオブジェクトとを示す。例えば、上記リスト中のオブジェクトはそれぞれ、位置属性を含む。位置属性は、シーンまたはインスタンス中のオブジェクトの位置に対応し得る。
特定のオブジェクトは、シーンまたはインスタンスと特異的に関連付けられ得る。例えば、上記リストにおいて、ピアノオブジェクトはシーンと関連付けられ、ソファおよび植物オブジェクトはインスタンスと関連付けられる。よって、同じシーンの他のインスタンスは、ソファまたは植物を含むかまたは含まない場合があるが、ピアノはデフォルトで含む。別の実施形態において、<シーン>データ中の別個のサブツリー(例えば、<デフォルト−レイアウト>ツリー)下においてシーンのデフォルト属性を維持することができ、新規生成されたインスタンスは、生成時においてデフォルト属性からのオブジェクトをコピーすることができる。
その後、実施形態において、スクリプトを文書ツリーの部分に取り付けることができる。スクリプトは、解釈されるコード(例えば、Javaスクリプトコード)としてインプリメントされ得、文書ツリー内に埋設され得る。以下のテーブルは、ツリー構造の多様なレベルにおいてスクリプトが埋設されたサンプル文書ツリーを示す。
この表の例において、シーンはオブジェクト1および2を含むインスタンスを含み、オブジェクト2はサブオブジェクト3を含む。オブジェクト1は、2つのスクリプト1および2を含み、オブジェクト2はスクリプト3を含み、オブジェクト3はスクリプト4を含む。さらに、インスタンスはさらなるスクリプトを有し、シーンはさらなるスクリプトを有する。
スクリプトは、移転先の文書ツリーを操作するための多様な機能を実行することができる。例えば、スクリプトは、ノードの追加、ノードの除去、ノードの属性の操作、ノードの再整理などを行うことができる。セキュリティおよびユーザビリティ上の理由により、スクリプトが文書ツリーを変更することが可能な範囲を制限することが所望される場合がある。例えば、システムは、スクリプトがオブジェクトに取り付けられるように構成され得、これにより、スクリプトはオブジェクト外観は操作できるが、アバターまたはシーン中の他のオブジェクトの外観は操作できないようにすることができる。
実施形態において、スクリプトは、スクリプトの親であるノードの文書ツリーと、関連付けられたサブノードとの変更に限定される。上記の例において、スクリプト1および2は、オブジェクト1の変更は許可されているが、オブジェクト2または3の変更もインスタンスまたはシーンの変更も一般的には許可されていない。スクリプト3は、オブジェクト2および3を変更することができ、スクリプト4は、オブジェクト3は変更することができが、オブジェクト2は変更することができない(スクリプト4の親はオブジェクト3であるため)。本実施形態において、インスタンススクリプトは、インスタンスおよび内部の全オブジェクトを変更することができるが、シーンを変更することはできない。これは、インスタンスの管理者またはリーダーがインスタンスの再配置またはクリーンアップを行う際に有用であり得る。シーンスクリプトは、シーンと、内部の全てのインスタンスおよびオブジェクトとを変更することができる。これは、動作している全インスタンスソファシーン上にわたるグローバル変更を行う際に有用であり得る。
それでも、1つのオブジェクトに取り付けられたスクリプトが別のオブジェクトに特定の様態で影響を与えることが所望される場合がある。例えば、犬は、犬がシーン内において走り回るスクリプトを含み得る。その結果、犬は、最終的にオブジェクト(例えば、テーブル)と衝突する。なぜならば、スクリプトは犬には取り付けられているがテーブルには取り付けられておらず、スクリプト単独では、テーブルがひっくり返った様子を反映するようにテーブルオブジェクトを変更することはできないからである。
よって、実施形態において、システムは、スクリプトが他のスクリプトの実行をトリガすることをイネーブルするスクリプト内メッセージングサービスを提供する。上記の例において、犬スクリプトに起因して犬がテーブルと衝突した場合、犬スクリプトは、テーブル上のスクリプトを呼び出し得、その結果、テーブルは「衝突受信」機能を行う。その結果、このような機能に起因して、テーブルオブジェクトにおいて変更が為される(例えば、落下または破壊)。
一実施形態において、1つの種類から別の種類へのオブジェクト変換および/または境界イベントにおける変換および/または領域への進入により、スクリプト適合性チェックが呼び出され、その結果、オブジェクトの導入が別のスクリプトまたはスクリプトされたオブジェクトと矛盾するかについて判別される。上記例を用いて、アバターが犬と共に部屋に入ろうとした場合、メッセージ「犬」スクリプト(例えば、「犬」が走り込む)を受信することができないオブジェクトがその部屋にあるかどうかについて問い合わせることができる。上記例において、テーブルがこのようなメッセージを受信することができない場合、犬に対する入力が拒否され得、犬の特定の機能がディセーブルされるかまたは制限され、かつ/または、例えばテーブルを地面に「ボルト留め」することにより、特定の不適合オブジェクトが変更される。別の実施形態において、オブジェクトは、他のオブジェクト(例えば、「犬が走り込む」スクリプトを1つ以上の種類の他のオブジェクトについて送達することが可能な犬)によって操作されるスクリプトと関連付けられ得る。このような場合、犬の入力は、このようなスクリプトの送信が成功した場合において調節され得る。
テーブルオブジェクトについてのスクリプトはテーブルと関連付けられるため、テーブルの設計者は、予期せぬアクションを行うスクリプトをインプリメントすることができる。例えば、犬がテーブルに衝突した場合、テーブル上の呼び出されたスクリプトに起因して、テーブルのサイズが二倍になる。実施形態において、システムは、このような予期せぬアクションを検出および回避するように構成される。例えば、システムは、スクリプト実行時において、予測される挙動の断定を含み得、予測される挙動の断定に違反する変更の原因となるスクリプトを回避する。実施形態において、断定は、インスタンス、シーン、仮想世界および/またはサービスプロバイダ上のスクリプトを通じてプログラムされ得る。
図17は、実施形態において用いられる、スクリプトを実行するプロセスのフローチャートである。このプロセスは、サービスプロバイダによって行われ得る。多様な実施形態において、さらなるブロックを含めてもよいし、いくつかのブロックを除去してもよいし、および/または図示と異なる様態でブロックを接続または配置してもよい。
ブロック1701において、システムは、実行すべきスクリプトを特定する。スクリプトの実行は、別のスクリプト、ユーザ、自動化プロセッサなどによって呼び出され得る。ブロック1702において、システムは、スクリプトの親オブジェクトを決定し、スクリプトがブロック1703において親オブジェクトを変更することをイネーブルする。スクリプトを実行する際、システムは、実行を観測して、親オブジェクト外の変更を回避しかつ/または望ましくない変更を回避する。
ブロック1704において、システムは、外部スクリプトへと送達されたメッセージを受信する。メッセージは、システムに対して特殊な機能呼を行い、呼び出されるべきオブジェクトおよびスクリプトを特定することにより、呼び出され得る。実施形態において、メッセージは、外部スクリプトについての1つ以上のパラメータをさらに含み得る。パラメータは、呼び出されているスクリプトと整合され得る。例えば、上記のコードリストに示すように、スクリプト1は、2つのパラメータ(すなわち、整数およびストリング)を含む。実施形態において、外部スクリプトの適切なパラメータがメッセージ中に含まれるパラメータと整合しない場合、システムはエラーを発生する。
ブロック1705において、システムは、外部スクリプトを実行するための認証を判別する。スクリプトは、多様な理由に起因して、外部スクリプトの呼び出しから遮断され得る。例えば、スクリプトは、異なるインスタンス、シーン、仮想世界および/またはサービスプロバイダ内に存在する別のスクリプトを呼び出すことができない場合がある。さらに、スクリプトは、上記した許可システムに基づいて、別のスクリプトを呼び出すことができない場合がある。実施形態において、外部スクリプトへの呼び出しはアクションの形態をとり得るため、許可決定プロセスを行うことが可能となる。
ブロック1705においてスクリプトが外部スクリプトを呼び出すことが認証された場合、ブロック1706において、システムは外部スクリプトを実行し、ブロック1701においてプロセスが外部スクリプトについて繰り返される。いくつかの場合において、例えば、外部スクリプトが異なるサービスプロバイダ中に有る場合、外部スクリプトは、異なるサービスプロバイダまたはシステムによって実行され得る。
スクリプトの実行は反復的であるため、エラーを含むかまたは悪意を以て設計されたスクリプト、非合理的な数の外部スクリプトを呼び出そうとする試行または他の場合にサービスプロバイダ上における仮想世界システムの通常の実行の遅延または回避を無限にループさせることができる。よって、いくつかの実施形態において、サービスプロバイダは、リソース制限をインプリメントすることができる(例えば、時間および/またはメモリ利用制限)。これにより、スクリプトが境界を越えて実行される事態を回避する。サービスプロバイダは、現実的または仮想通貨、物品またはサービスを実行時間と交換に課金するシステムをさらにインプリメントする。
サービスプロバイダシステム
図18は、実施形態において用いられる、サービスプロバイダシステムおよび関連コンピュータシステムのブロック図である。サービスプロバイダシステムは、例えば図9のサービスプロバイダ901として用いることができる。多様な実施形態において、さらなるブロックを含めてもよいし、いくつかのブロックを除去してもよいし、および/または図示と異なる様態でブロックを接続または配置してもよい。
サービスプロバイダシステム1801は、いくつかのコンピュータシステムを含み得る。含まれるコンピュータシステムは、単一のデバイスおよび/または別個のデバイス上に収容され得、コンピュータシステムはそれぞれ、分散またはクラウドコンピューティングと同様に、複数のコンピューティングデバイスを同様に含み得る。コンピュータシステムは、別個のデバイス上に収容された場合、ローカルまたは広域ネットワークおよび/または他の通信システムによって接続され得る。
サービスプロバイダシステム1801の1つのコンポーネントは、サービスプロバイダ進入ポイント1802であり得る。進入ポイントは、外部ネットワークへのネットワーク接続を備えたサーバまたは他のデバイスであり得、これにより、外部クライアント(例えば、ユーザ)のための外側を向いたインターフェースが得られる。実施形態において、サービスプロバイダシステム1801へ向けられた外部ネットワークリクエストは、先ず進入ポイント1802へと方向付けられる。実施形態において、複数の進入ポイント1802を設けることにより、分散コンピューティングを促進し、高ユーザロードの取り扱いが可能となる。
進入ポイントシステム1802は、サービスプロバイダシステム1801へ多様なフィーチャを提供することができる。例えば、進入ポイントシステム1802は、2次元レンダリングサービスを提供することができ、これにより、従来のウェブベースのブラウザクライアントが(3次元レンダリング能力を用いることなく)サービスプロバイダシステムによって提案されたコンテンツにアクセスすることが可能になる。このようなリクエストは、例えば標準HTTPウェブリクエストとして検出され得、進入ポイントシステム1802または他のコンピューティングシステムは、HTML、XML、平文テキスト、RTF、ストリーミング音声/ビデオ、画像および/または他の適切にフォーマットされたコンテンツと共に応答することができる。2次元レンダリングを提案することにより、コンテンツ(例えば、3次元仮想世界コンテンツ)をサーチエンジンによってインデックス化し、身体障害者がアクセスすることができ、または、3次元レンダリングされた世界の利用ができないコンピューティングシステムを用いてアクセスすることができる。
インスタンスホスト1803は、上記したように仮想世界のインスタンスを操作する。各インスタンスホスト1803は、多様な実施形態において、単一のインスタンスまたは複数のインスタンスを供給し得る。インスタンスホストは、別個のコンピューティングデバイス、仮想サーバであってもよいし、あるいは、サーバ上において動作するモジュールであってもよい。インスタンスホストのうち一部または全てが、進入ポイント1802と同じコンピューティングデバイス上において動作し得る。
進入ポイントシステム1802は、負荷均衡サービスをサービスプロバイダシステム1801へさらに提供し得る。例えば、進入ポイント1802は、要素(例えば、サービスプロバイダ、仮想世界、および/またはシーンの構成、各インスタンス中のユーザ数、リクエスト側のユーザの特性および/またはリクエスト(例えば、特定のインスタンスをリクエストしている特殊な位置識別子)、ハードウェア能力およびインスタンスホストの能力)に応じて、仮想世界ユーザを特定のインスタンスホスト1803へと方向付けることができる。進入ポイント1802は、これらのおよび他の要素に基づいて、インスタンスホスト1803をさらに開始および/またはシャットダウンすることができる。
進入ポイント1802および/またはインスタンスホスト1803は、サービスプロバイダデータベース1804とさらに通信することができる。データベースは、情報を維持し得る(例えば、仮想世界データ、シーンデータ、インスタンスデータ、ユーザデータ、アバターデータ)。データベースは、図10〜12に示すようなデータ構造および本明細書中上記したような他のデータ構造(例えば、上記したDOMフォーマット中の仮想世界文書)を含み得る。
サービスプロバイダシステム1801は、外部エンティティと例えばネットワーク1807を介してさらに通信し得る。ルートサーバ1805は、複数のサービスプロバイダにわたる一般的サービスを提供することができる(例えば、図3について述べたようなユーザ清算サービス、現実的通貨および/または仮想通貨の清算、アバター転送サービス)。よって、サービスプロバイダ1801は、ルートサーバ1805と通信して、これらのサービスを用いることができる。通信を暗号化および/または認証することにより、認証されていないユーザがルートサーバ1805からの情報を不法に得ることができないようにすることができる。
サービスプロバイダシステム1801は、ユーザ1806とさらに通信して、クライアントソフトウェアおよびユーザ1806の他の選好に基づいて、仮想世界サービスを2次元および/または3次元で提供することができる。ユーザは、多様な目的(例えば、動作サービスプロバイダのディレクトリおよび管理アカウントおよび/またはファイナンスの視認)のために、ルートサーバ1805とさらに通信することができる。

現実世界データへの接続
サービスプロバイダシステム1801は、外部データソース1808と通信することもできる。これらのソースにより、サービスプロバイダシステム1801は、現実世界を仮想世界中にリンクさせることができる。オブジェクト、グラフィックス、アバターおよび/または仮想空間は、外部データソース1808または他のソースから得られた仮想データを用いることができる。例えば、仮想世界中の1つのシーンとして仮想ストアがあり得、ここで、アバターは、商品を探すためにショップをブラウズすることができる。ストアは、外部データから得られた実際の製品の仮想表現を含み得、これらの製品の価格および利用可能性は、実際のストアの在庫に関連付けられ得るため、ストア内で製品を見ているアバターは、実際の購入情報へのアクセスを持つ。実施形態において、外部データを用いて、サービスプロバイダシステム1801上のコンテンツをリアルタイムで更新する。
実施形態において、サービスプロバイダシステム1801は、さらにデータを外部システムへ送信することができる。例えば、上記した仮想ストアにおいて、アバターは、仮想世界中のアイテムを現実の通貨または仮想通貨を用いて購入することにより、このアイテムを取得し得る。このような状況において、サービスプロバイダシステム1801は、進入ポイント1802、インスタンスホスト1803および/または別の機構を通じて、コマンドまたは命令を外部システムへと送信して対応する製品を注文することができ、これにより、実際の製品が、アバターと関連付けられた人間へと発送され得る。サービスプロバイダシステム1801が外部システム上においてとり得る他のアクションを挙げると、金銭転送、財産転送、外部サイト(例えば、ソーシャルネットワーク)へのコンテンツ提示、eメール送信などがある。
サービスプロバイダシステム1801、外部データソース1808および他の外部システム間の通信により、システムのうちの1つにおけるセキュリティの妥協に起因して別のシステムのインテグリティが影響を受ける可能性が発生する。よって、サービスプロバイダシステム1801は、外部システムからのセキュリティ違反を制御するためのファイヤウォールおよび/または他のセキュリティ対策を含み得る。さらに、サービスプロバイダシステム1801は、特定のプロトコルに対する通信の制限、認証および暗号化の利用および/または(例えば2要素認証を用いた)ユーザの有効化により、セキュリティ増強を提供することができる。
仮想世界の3次元表現は、3次元表現をレンダリングするように構成された特殊なクライアントソフトウェア上に表示され得る。サービスプロバイダおよび他のシステムは、従来の2次元ブラウザおよび関連ソフトウェアへコンテンツをさらに供給し得る。双方の表現を提供する場合、いくつかの恩恵が得られる(例えば、後方適合性、サーチエンジンインデックス付与能力、身体障害者への対応)。
2次元または3次元サービスを適切な状況において提供するために、いくつかの実施形態において、サービスを区別するための別個のネームスペースが用いられる。よって、3次元仮想世界のレンダリングが可能なクライアントに対し、2次元コンテンツをリクエストするクライアントに供給されるコンテンツと異なる適切なコンテンツを供給することが可能になる。
図19は、実施形態において用いられる、ネームスペースに基づいてコンテンツを供給するプロセスのフローチャートである。プロセスのうち一部は、図18のサービスプロバイダシステム1801によって行われ得る(例えば、進入ポイント1802およびインスタンスホスト1803)。多様な実施形態において、さらなるブロックを含めてもよいし、いくつかのブロックを除去してもよいし、および/または図示と異なる様態でブロックを接続または配置してもよい。
ブロック1901において、ユーザは、リクエストをサービスプロバイダへ送る。リクエストは、ブロック1902においてサービスプロバイダ進入ポイントによって受信される。リクエストは、ユーザが進入することを望んでいる特定のシーンを特定し得る。リクエストは、さらなる情報を含み得る(例えば、アバター情報、認証情報)。リクエストは、単一のネットワークトランザクションで送ってもよいし、あるいは複数のネットワークトランザクションに分けて送ってもよい。
実施形態において、リクエストは、Uniform Resource Locator(URL)としてフォーマットされる。リクエストは、以下の形態をとり得る。
[protocol]://[serviceprovider]/[scene]?[query]#[location]
この[プロトコル]要素は、リクエストがブロック1901において通信される通信形態を特定し得る。実施形態において、プロトコルは、標準ウェブリクエストを示す「http」であり得るか、または、仮想世界ウェブリクエストを示す「vww」であり得る。他のプロトコル識別子も、サービスプロバイダによって仕様および理解され得る。[サービスプロバイダ]
要素は、例えばドメイン名称またはIPアドレスにより、サービスプロバイダのネットワーク位置を特定することができる。[シーン]識別子は、アクセスすべきサービスプロバイダ上の特定のシーンを特定し得る。実施形態において、シーンは、例えば上述したようなサービスプロバイダ内の仮想世界により、階層構造として分類され得る。その場合、例えばスラッシュなどの文字によって階層要素を分離することにより、[シーン]識別子も階層構造とされる。
[問い合わせ]識別子は、アクセスすべきシーンの局面に関連するパラメータを含み得る。識別子は、1つ以上の鍵値対の形態をとり得、例えば、各鍵および値は等号によって接合され、これらの対はアンパーサンドによって接合される。実施形態において、1つのこのようなパラメータは、リクエスト側のユーザが参加すべきシーンの特定のインスタンスを特定し得る。これを用いることにより、例えば、他の対象ユーザ(例えば、ユーザの友人)が存在するインスタンスにユーザが参加することが可能になる。サービスプロバイダは、インスタンスのためのリクエストを考慮し得るが、負荷均衡、容量および/または他の理由のため、選択されたインスタンスは無視し得る。よって、シーンの特定のインスタンスをURLによってアクセスすることが可能な能力をユーザに提供することにより、サービスプロバイダは、ユーザが位置を(例えば、ウェブサイト、ソーシャルメディア、eメール通信上において)公開することを可能にし、これにより、他のユーザは、同じURLにアクセスすることにより同じインスタンスに参加することができる。
[位置]識別子は、ユーザがアクセスすべきシーン内の場所を特定することができる。例えば、ユーザは、シーン内の部屋の片側に出現することを望み得、この識別子を用いて位置を指定することができる。実施形態において、識別子は、文書オブジェクトモデル中に挿入されたアンカータグに対応し得る。例えば、以下のテーブルは、図16に示すシーンに関連するサンプルDOMを示す。
位置識別子が「#sofa」であるURLにアクセスすることにより、シーン進入時において、ユーザのアバターをソファ上に配置することができる。同様に、位置識別子が「#plant−right」であるURLにアクセスすることにより、ユーザのアバターを植物の右側に配置することができる。
多様な実施形態において、URLは、サービスプロバイダの構成に合わせて異なる様態で構造または分類され得る。さらに、URLは、アクセスすべき位置をクライアントコンピュータ側からみたものとして表現し得、URLのコンポーネントを異なる形態で(例えば、HTTPにおいて行われるように)送ることができる。
ブロック1903において、進入ポイントは、リクエストが仮想世界クライアントリクエストであるかを決定する。この決定は、クライアントが2次元または3次元コンテンツをリクエストしているかを特定することができる。リクエストは、複数の要素に基づき得る。例えば、プロトコル識別子は、このようなリクエストを区別することができ、HTTPリクエストは、2次元コンテンツについてのリクエストを示し、VWWリクエストは、3次元コンテンツについてのリクエストを示す。このような区別は、リクエストをしているクライアントソフトウェアの識別子(例えば、ユーザエージェントヘッダ)に追加的にまたは代替的に基づき得る。
一実施形態において、クライアントの能力および/またはクライアントが利用することが可能な帯域幅が、ユーザエージェントヘッダまたは同様のリクエスト変更子を作成するクライアントエンド上でまたは供給すべきデータを決定するサーバエンド上において用いられる。1つのインプレメンテーションにおいて、フル3Dコンテンツ未満のコンテンツでありかつ2Dコンテンツを超えるコンテンツを、ユーザマシンまたは帯域幅の能力を超えることを回避することにより、ユーザ経験を最大化するために送ることができる。
進入ポイントがリクエストが2次元コンテンツのためであると決定した場合、ブロック1904において、サービスプロバイダは、標準ウェブコンテンツをリクエスト側のユーザへ送ることができる。標準コンテンツは、静的コンテンツ(例えば、本明細書中のサービスプロバイダおよび仮想世界に関連する一般的情報)を含み得る。標準コンテンツは、動的コンテンツ(例えば、仮想世界および/または世界中のシーンの2次元レンダリングに関連する情報)を追加的にまたは代替的に含み得る。実施形態において、2次元レンダリングは、リアルタイムで生成される。これらのレンダリングは、ビデオおよび/またはストリーミングコンテンツであり得、これにより、2次元コンテンツのビューワが仮想世界中の活動コンテンツをライブで見ることが可能になる。レンダリングは、3次元コンテンツを2次元に翻訳するための特定の規則に基づいて、サービスプロバイダによって決定され得る。これらの決定は、コンテンツ(例えば、シーンおよび/またはインスタンスの内部表現内の「alt」タグ)によって制御され得る。
2次元レンダリングは、仮想世界における活動を記述するテキストコンテンツをさらに含み得る。テキストコンテンツは、オペレータまたはサービスプロバイダ上のユーザによって手動で生成され得る。追加的にまたは代替的に、テキストコンテンツは、仮想世界内のメタデータのグラフィカル分析によって自動生成され得、その結果、恐らくはライブのトランスクリプトまたは活動のフィードが生成される。テキストコンテンツを提供することにより、サービスプロバイダは、自動サーチエンジンインデックス化プロセスを促進することができ、これにより、サーチエンジン最適化(SEO)の対策が得られ、外部の個人による仮想世界訪問が促進される。
一実施形態において、テキストコンテンツは、視覚障害者のための自動読み上げに適した様態で提供される(例えば、テキストコンテンツの音声フォーマットでの送信)。このようなコンテンツは、特定の様態でフォーマットされ得る(例えば、恐らくはユーザ選好に基づいたスクリーン読み上げソフトウェア)。
2次元レンダリングは、3次元仮想世界内への進入を促進するための情報をさらに含み得る。例えば、コンテンツは、3次元表現へのリンクを含み得る(例えば、「vww://」protocollink)。コンテンツは、ソフトウェア(例えば、デスクトップアプリケーション、モバイルデバイスアプリケーション、ブラウザプラグイン)へのリンクもさらに含み得、これにより、クライアントコンピュータは3次元コンテンツを見ることができる。
2次元コンテンツ中の情報により、3次元コンテンツへの自動アクセスがさらに可能となる。例えば、3次元表現へのリンクを、<META>タグ、Javaスクリプトまたは他の更新コマンドなどに含めることができる。クライアントコンピュータのブラウザは、このようなリンクを認識し、適切な仮想世界ブラウザを自動的に実行して、リンクされた位置へとアクセスするように、構成され得る。実施形態において、ブラウザは、3次元コンテンツを窓システム内に表示することができ、これにより、ユーザは、2次元コンテンツと3次元コンテンツとの間をフリップで行き来することができる。
2次元コンテンツは、ユーザが(仮想世界を直接見ることなく)仮想世界と相互作用することを可能にする相互作用フィーチャをさらに含み得る。例えば、2次元コンテンツは、チャット機能を含み得、これにより、ユーザは、仮想世界内で通信することができる。このような実施形態において、仮想世界内において離されるかまたは他の場合に行われる通信は、チャット機能によってテキストに翻訳されて、2次元コンテンツにアクセスするユーザが見ることが可能となり、チャット機能に入力されたテキストは読み上げられるかまたは他の場合に3次元表現世界において他のアバターへ提示される。実施形態において、2次元表現は、音声通信を含む(例えば、Voice−over−IP)。これにより、アバターとのさらなる通信が3次元表現において可能となる。
さらに、2次元表現にアクセスするユーザは、3次元表現のアバターによって表現され得、これにより、ユーザが他のアバターから視認可能となる。2次元表現にアクセスしているユーザの場合、アクセスまたは機能が制限されることが多い(例えば、容易に移動または通信することができないなど)。本実施形態において、これを示すために、2次元表現にアクセスしているユーザを特殊なアバターとして示すことができる(例えば、光る球体)。これにより、(例えば人間に似た形で表現される)他のアバターとの区別が可能となる。一実施形態において、アバターの表現は、例えば2Dブラウザを用いたアバターの外観を3Dレンダリングよりも平坦に見せることにより、アバターを操作しているユーザの制限を追跡する。
2次元表現および3次元表現はどちらとも、多様な実施形態において、ユーザ選好を満たすように構成することができる。例えば、ビュー選好は、ユーザが望む特定の2次元表現を示し得る(例えば、オーバーヘッド表現、シーン内の特定のバンテージポイントからの表現)。他の選好は、言語、サイズ、外観、饒舌、および本明細書中に記載の他の情報を決定し得る。これらの選好は、ユーザアカウント、ユーザのブラウザ上のクッキーなどと関連付けられた状態でユーザによって通知され、保存され得る。選好は、例えばデフォルト選好および/または同様のユーザに関連する選好(例えば、地理的に類似するユーザ、ユーザの友人、同じ言語のユーザ)に基づいて、サービスプロバイダが追加的にまたは代替的に決定することも可能である。
上記したような2次元コンテンツは、ブロック1905においてユーザによって受信され得る。上述したように、コンテンツは、特定のタグおよび/または3次元コンテンツへの自動移行を可能にするデータを任意選択的に含み得、例えばブラウザプラグインを通じてこれらのタグおよび/またはデータを検出するように、ユーザのブラウザまたは他のソフトウェアを構成することができる。ブロック1911において、ブラウザプラグインまたは他のソフトウェアは、このようなタグおよび/またはデータを検出し、仮想世界クライアントを呼び出して、仮想世界クライアントがアクセスすべき適切なURLまたは他の識別子を特定する。これに応答して、仮想世界クライアントは、ブロック1901においてサービスプロバイダに対する第2のリクエストを開始する。
ブロック1903において、進入ポイントが3次元コンテンツをユーザへ供給すべきと決定した場合、ブロック1906において、サービスプロバイダは、インスタンスホストおよび/またはリクエストされたシーンのインスタンスを生成および/または選択して、ユーザへ供給する。インスタンスホストおよび/またはインスタンスは、上述したような進入ポイントによって適用された要素に基づいて選択され得る(例えば、負荷均衡、インスタンスのアバター能力、URL中の特定のインスタンスへのリクエスト)。サービスプロバイダは、新規インスタンスを生成すべきと決定し得、その場合、新規インスタンスホストを必要に応じて開始する。いくつかの実施形態において、特定のシーンのためにインスタンスホストを1つだけ用いており、その場合、インスタンスホストの選択は不要である。
適切なインスタンスホストが特定された場合、ブロック1907において、ユーザは、インスタンスホストへアクセスするよう指示される。実施形態において、進入ポイントは、リダイレクトメッセージをユーザへと送り、例えば第2のURLを通じて、アクセスすべきインスタンスホストを特定する。このURLは、ワンタイムURLとしてコードされるかまたは他の場合に(例えば、クッキー中に保存されたセッション識別子を通じて)当該ユーザのみに対してアクセス可能とされ、これにより、ユーザまたは他のユーザが進入ポイントを迂回し、その後インスタンスホストへ直接アクセスする事態が回避される。あるいは、進入ポイントは、ユーザとインスタンスホストとの間のプロキシおよび直接ネットワークトラフィックとしても機能することができ、これにより、ユーザは、特定のインスタンスホストがアクセスされていることを認識しなくてよくなり、さらには、インスタンスホストに直接アクセスすることができる。
ブロック1908において、ユーザは、インスタンスホストへアクセスせよとの指示を受け、ブロック1909において、ユーザはインスタンスホストと接触する。インスタンスホストは、ブロック1910において、ユーザがシーンのインスタンスと相互作用することをイネーブルすることにより、応答する。実施形態において、さらなるセキュリティ警戒のため、インスタンスホストは、進入ポイントまたはサービスプロバイダデータベースを参照して、ユーザが特定のインスタンスとの相互作用が認証されているかを確認する。

オブジェクトのクリーンアップ
上述したように、仮想世界は複数のインスタンスソファシーンを含み得、各インスタンスは、シーンの初期レイアウトに基づいたオブジェクトおよび他の特性を含む。アバターがインスタンスと相互作用すると、これらのオブジェクトおよび特性が(例えば、移動、取得、破壊、変更、追加または他の場合に操作されることにより)改変され得る。その結果、アバターは、シーンの第1のインスタンスに進入した後、同一シーンの第2のインスタンスに進入することができ、その結果、外観が混乱し得、同一の「シーン」が大幅に変更され得る。さらに、いくつかの実施形態において、シーンのインスタンスが半透明の表示または他の機構を通じて重畳され得、例えばシーンの1つのインスタンス中のアバターが他のインスタンス中のアバター全てを同時に見ることが可能になる。シーンのオブジェクト間に実質的な差がある場合、これらの差をアバターが視認することができ、経験から低減することができる。
例えば、アバターが領域から退出するとき特定のアクションを起こすことが望まれ得る。例えば、全アバターが退出したとき(またはショップスタッフ以外の全アバターが退出したとき)、コーヒーショップシーンをクリーンアップすることが望まれ得る。その場合、領域は、(各オブジェクトが有する命令またはオブジェクトが他のオブジェクトまたは領域から引き継いだ命令に応じて全体的または部分的に)「クリーン」な状態に戻され得る。1つの用途において、これは、クラブの最終客が退出した後すぐに清掃係をクラブに入れるのに類似し得る。任意選択的に、復帰アクションは、経営者によって手動トリガされ得る。任意選択的に、特定の条件(例えば、特定のカテゴリ(例えば、施設所有者)以外の任意のアバターがいない場合)が満たされた場合にのみ、このような手動トリガが動作し得る。このような制限は、ユーザが存在しているときに仮想空間が変更されて混乱するような事態を回避する機能を果たす。
よって、実施形態において、シーンのインスタンスは、シーンの元々のレイアウトに対応するようにオブジェクトおよび他の特性を自動的に「クリーンアップ」する機能を含む。クリーンアップ手順は、以下に述べるように、手順の可視性を自然にまたは最小化するように構成され得、これにより、クリーンアップ手順が仮想現実環境内において異常に見えることが無くなる。
図20は、シーンのインスタンスをクリーンアップするプロセスのフローチャートである。プロセスは、例えば図18のサービスプロバイダ1801(例えば、インスタンスホスト1803)によって行われ得る。多様な実施形態において、さらなるブロックを含めてもよいし、いくつかのブロックを除去してもよいし、および/または図示と異なる様態でブロックを接続または配置してもよい。
ブロック2001において、シーンのインスタンスがサービスプロバイダ内において生成される。複数のインスタンスが生成され得、ブロック2002において表示され得る。上述したように、インスタンスは、例えば部分的な透明性を通じて2次元および/または3次元表現上にグラフィカルに重畳され得る。その後、ユーザは、各インスタンス内のオブジェクトまたは他の特性を追加、変更および/または除去することにより、ブロック2003においてインスタンスを操作することができる。よって、インスタンスは、シーンの元々のレイアウトと大幅に異なり得る。
ブロック2004において、インスタンス中の1つ以上のオブジェクトまたは他の特性をクリーンアップせよとの命令が受信される。この特定のクリーンアップルーチンは、サービスプロバイダ、仮想世界および/またはシーンによって規定され得る。いくつかのシーンは、インスタンス間のいくつかのまたは全ての矛盾が受容可能であことを発見し得、その場合、クリーンアップは不要である。さらに、ブロック2004における命令のタイミングは、インスタンスの状態に基づき得る。実施形態において、最少数のアバター(例えば、ゼロ個のアバター)がシーン中に存在する場合に命令が送信され、これにより、クリーンアップ活動がより気づかれにくくなる。
ブロック2004において命令が受信されると、システムは、クリーンアップすべきオブジェクトが元々の位置および/または他の状態にあるかをブロック2005において判別する。オブジェクトが元々の位置および状態にある場合、システムはブロック2006へ進み、このオブジェクトに対するクリーンアップ手順を終了する。その後、システムは、別のオブジェクトまたは特性のクリーンアップへと進み得る。さらに、一定レベルの変更がシーン内のオブジェクトに対して受容可能であるため、ブロック2005における判別は、オブジェクトが受容可能な位置および/または状態にあるかであり得る。
ブロック2005においてシステムがオブジェクトが受容可能位置に無いと判別した場合、ブロック2007において、システムは、オブジェクトを交換および/または元々の状態へ復帰させるための経路を決定する。オブジェクトは、元々の位置に配置、追加、変更および/または除去することができる。経路は、オブジェクトを移動させる方向、オブジェクトの外観に対する修正、オブジェクトのフェードインまたはフェードアウトなどを含み得る。1つのインプレメンテーションにおいて、「受容可能な位置」は、同一環境の複数の他の表現中の同様のオブジェクトの平均位置として決定され得る。
経路は、変更を行わせるアクターをさらに含み得る。オブジェクトは、修正を自動的に行い得る。例えば、フロアにわたって移動させることが必要な植物は、アバタによってピックアップされ移動され得るか、または、植物が自身でフロア上をスライドし得る。自動修正の場合、変更は徐々に行われるため、観察者には気づかれにくい。追加的または代替的には、非プレーヤキャラクター(例えば、ボット)を、所望の変更が得られるように導入することができる。例えば、仮想レストランシーンにおいて、椅子および/またはテーブルを移動させることができ、クリーンアップ手順は、自動化スクリプトおよび/またはプログラムによって操作されるウェイターを含み得る。これらのウェイターは、椅子および/またはテーブルを所望の位置へと移転させる。
オブジェクト交換のための選択された経路は、インスタンスの条件にも基づき得る。例えば、インスタンスがアバターで混雑している場合、クリーンアップルーチンをより徐々に行うことができる一方、インスタンスが空である場合、クリーンアップを高速で行うことができる。さらに、アバターおよび/または他の要素がインスタンス内に配置される位置に基づいて、移転が行われるルートを選択することができる。この経路を計算するために、アルゴリズム(例えば、ダイクストラのアルゴリズム)を用いることができる。
ブロック2008において、ブロック2007において決定された経路に基づいて、オブジェクトを移動させかつ/または変更する。さらなる修正を行うべきである場合、プロセスはブロック2005へと戻り、所望の状態に到達するまで、調節を継続する。
図21は、実施形態において用いられるサンプルユーザインターフェースであり、クリーンアップすべきシーンのインスタンスを示す。ユーザインターフェースは、仮想世界ブラウザにおいて操作され得るため、図21の2次元オーバーヘッドビューではなく、3次元表現が示され得る。
シーン2101のグラフィカル表現は、多様な要素を含み得る(例えば、植物2102、ピアノ2103、ソファ2104、および/またはドア2105)。クリーンアップ手順に従って、これらのオブジェクトを変更することができる。例えば、植物2102を位置2106まで回復させることができる。非プレーヤキャラクター(例えば、仮想バトラーまたはメイド)が植物2102をフロア上において自動的にスライドさせる(例えば、数分間またはさらには数時間かけて徐々にスライドさせ)、元々の位置にフェードアウトおよびフェードインさせ、かつ/または元々の位置へと搬送させる。ピアノ2103の蓋がさらに上げられ、ドア2105が閉められ得る。これらの変更のタイミングは、シーンおよび/またはインスタンスの局面に基づき得る(例えば、存在するアバター数、日数、インスタンスホストおよび/またはサービスプロバイダへの負荷)。

オブジェクトクラウド
仮想世界には膨大な量の情報が含まれ得るため、どの世界を訪問しようか考えているアバターは、このような決断および/または他の理由のための決断を行うための情報の要旨が欲しい場合がある。非仮想世界の状況(例えば、HTMLコンテンツ)においては、タグクラウドなどの構造を用いて、情報の要旨を得ることができる。
よって、実施形態において、オブジェクトクラウドをアバターへ提示することにより、仮想世界シーンおよび/またはインスタンスに関連する情報を要約する。オブジェクトクラウドは、世界シーンおよび/またはインスタンスの多様な特性を示し得、仮想世界システムの3次元能力を用いて、情報を有効に提示する。
本明細書中に記載される実施形態は、仮想世界システム中の情報に関連するが、本明細書中に記載されるオブジェクトクラウドの実施形態は、これに限定されない。例えば、拡張現実システムは、例えば頭部に取り付けられたディスプレイを通じて、オブジェクトクラウドを現実世界上に重畳させる。よって、現実世界データを用いて、仮想世界データに加えてまたは仮想世界データの代替としてオブジェクトクラウドを構築することができる。
オブジェクトクラウドは、仮想世界システム内の多様な位置において表示することができる。例えば、アバターは、仮想世界間の通過時においてオブジェクトクラウドを視認することができる。或る位置に対するオブジェクトクラウドを、当該位置行きへの仮想トレインまたはバス上の位置に提示することができる。仮想旅行会社は、これらの位置の冒険として、異なる位置のオブジェクトクラウドを表示し得る。さらに、オブジェクトクラウドは2次元ビューで表現され得るため、3次元ビューレンダリングが可能なブラウザを持たないユーザが同様の情報を得ることが可能となる。オブジェクトクラウドは、個人についての情報を表示することもできる。すなわち、アバターは、例えば全てのアバターの所有および/または別のアバターの所有のオブジェクトクラウドを視認することができる。このようなオブジェクトクラウドは、ロールプレイングゲームをプレイする際に有用であり得るため、アバターは、自身にとって利用可能なアイテムを迅速に決定することができる。
実際、オブジェクトクラウドは、2次元ウェブ内においてインプリメントされ得る。ワードクラウドを用いる代わりに、ワードとストックまたは他の写真を代替することができるが、ワードのうちいくつかまたは全ての画像を代替するだけで、従来のワードクラウドの相対的サイズおよび場所は維持され得る。従来のワードクラウド要素に加えて、画像透明性も用いて、要旨にまとめられたデータの画像の重要性を示すことができる。
図22は、実施形態において用いられる仮想世界オブジェクトクラウドを表示するサンプルユーザインターフェースである。インターフェースは、仮想世界ブラウザ上に提示され得、例えばサービスプロバイダ進入ポイントおよび/またはインスタンスホストによって提供されたデータに基づき得る。図22中の表現は2次元となっているが、多様な実施形態において3次元表現を用いることができ、その結果以下のような特定の利点を得ることができる。
オブジェクトクラウド表示2201は、いくつかの図形を含む(例えば、ピアノ2202、買い物アイコン2203、カクテルアイコン2204、および/または車アイコン2205)。これらのアイコンは、特定の仮想世界シーンおよび/またはインスタンスに関連する情報を示し得る。例えば、オブジェクトクラウドは、特定の仮想位置において、現在のイベントに含まれるのはピアノ音楽、買い物、飲み物および自動車レースであることを示し得る。オブジェクトクラウドは、現在の情報、過去情報、未来情報、および/または任意の他の情報を示し得、表示される特定の情報は、ユーザ選択に基づき得る。
オブジェクトクラウドの例示は、表示アイテムそれぞれについての情報をさらに搬送することができ、これにより、オブジェクトクラウドの情報容量がさらに増強される。例えば、オブジェクトクラウド中のアイテムのサイズは、関連イベントの人気、入場者数、サイズおよび/または他の属性を示し得る。オブジェクトクラウド表示2201においてより小型の買い物アイコン2203は、買い物は仮想世界内の特定の位置においてあまり人気の無い活動である一方、ピアノ音楽は(大型のピアノアイコン2202によって示すように)より人気が高い選択肢であることを示し得る。表示の他の局面(例えば、クラウド中のオブジェクト位置)から、さらなる情報を得ることができる。例えば、車アイコン2205を視認中のアバターのより近隣に配置し、ピアノアイコン2202をアバターからさらに離隔位置に配置することにより、アバターの現在位置からみて自動車レースがより近隣に存在することを示すことができる。サイズおよび/または位置を用いて、他の情報(例えば、イベントの時間、イベントの所要時間、コスト、興味および/または人気)を伝達することができる。クラウドの他の寸法(例えば、高さ、水平伝播、動き)により、さらなる情報を示すことができる。
図23は、実施形態において用いられる、オブジェクトクラウドを構築するプロセスのフローチャートである。このプロセスは、例えば図18のサービスプロバイダシステム1801によって行われ得、例えば図22に示すようなオブジェクトクラウドを構築することができる。多様な実施形態において、さらなるブロックを含めてもよいし、いくつかのブロックを除去してもよいし、および/または図示と異なる様態でブロックを接続または配置してもよい。
ブロック2301において、システムは、現実空間または仮想空間中のオブジェクトおよび/または現実空間または仮想空間の他の特性を特定する。判別の規則は、オブジェクトクラウドをリクエストしているユーザによる選択に基づき得、これらの規則は、特定されたオブジェクトの位置および特性、オブジェクト種類および特定されるべき特性、行われるべき集約の種類などを含み得る。他のアイテムも特定することができる(例えば、イベント、空間s、アバター、製品、サービス)。
ブロック2302において、特定されたオブジェクトは、グループに集約され得る。集約により、オブジェクトクラウドは、多数のオブジェクトおよび/または特性についての要旨として機能することができる。集約は、メタデータおよび/または関連オブジェクトおよび/または特性(例えば、特性、タグ、属性)についての情報に基づき得る。ブロック2302の集約プロセスにより、オブジェクトクラウドの構築において用いられるべき情報がさらに特定され得る。例えば、ブロック2301においてイベントが特定された場合、これらのイベントにおける人気および/または入場者数を、ブロック2302において特定することができる。
ブロック2303において、ブロック2302において特定されたグループを、グラフィカル表現としてまとめる。これは、グループをアイコン、グラフィックスなどにマッピングすることを含み得る。マッピングは、サービスプロバイダデータベース内のアイコンへマッピングされたグループの保存に基づき得る。マッピングは、サービスプロバイダ、世界、シーンおよび/またはインスタンスにとって特定のものであり得る。
ブロック2304において、グラフィカル表現をクラウドとして配置する。配置構成手順により、多様なグラフィカル表現の局面(例えば、位置、サイズ、動き、回転)が判別され得る。この局面判別は、例えば、ブロック2302において特定された属性および他の情報に基づき得る。
グラフィカル表現がクラウドとして配置されると、ブロック2305において、構築されたオブジェクトクラウドが表示のためにユーザへ表示および/または送信される。この表示プロセスは、ユーザが2次元が可能なビューワ上でオブジェクトクラウドを視認している場合、クラウドの3次元表現を2次元にレンダリングすることを含み得る。別の実施形態において、オブジェクトクラウドをテキスト、音声、ビデオ、および/または他の表現へと変換することにより、例えば表示を交代させかつ/またはオブジェクトクラウドのサーチエンジンインデックス化の可能化が行われる。

コンピューティングシステム
図24は、実施形態において用いられるコンピューティングシステムのブロック図である。多様な実施形態において、さらなるブロックを含めてもよいし、いくつかのブロックを除去してもよいし、および/または図示と異なる様態でブロックを接続または配置してもよい。
図24のコンピューティングシステムは、例えば、サービスプロバイダ、ルートサーバ、仮想ワールドサーバ、進入ポイント、インスタンスホストおよび/または別のコンピューティングシステムであり得る。コンピューティングシステム2401は、1つ以上のコンピューティングデバイスであり得る(例えば、コンピュータハードウェア)。コンピューティングシステム2401は、ソフトウェアおよび/またはハードウェア(例えば、回路)中の実行可能な命令としてインプリメントされ得る1つ以上のモジュールをさらに含み得る。コンピューティングシステム2401は、データ記憶装置システムをさらに含み得る(例えば、ハードディスク、リードオンリーメモリ、ランダムアクセスメモリ、フラッシュメモリ、リムーバブル記憶装置媒体)。
コンピューティングシステム2401は、1つ以上のマイクロプロセッサ(例えば、Intel(登録商標)Pentium(登録商標)プロセッサ、anIntel(登録商標)Pentium(登録商標)IIプロセッサ、Intel(登録商標)Pentium(登録商標)プロプロセッサ、Intel(登録商標)Pentium(登録商標)IVプロセッサ、Intel(登録商標)Pentium(登録商標)Dプロセッサ、Intel(登録商標)Core(TM)プロセッサ、xx86プロセッサ、8051プロセッサ、MIPSプロセッサ、パワーPCプロセッサ、SPARCプロセッサ、Alphaプロセッサ)を用いた汎用コンピュータであり得る。コンピュータは、標準オペレーティングシステム機能(例えば、ファイルを開く、読む、書き込む、および閉じる)を行う多様なオペレーティングシステムを実行し得る。他のオペレーティングシステムも用いることが可能である(例えば、Microsoft(登録商標)ウィンドウズ(登録商標)3.X、Microsoft(登録商標)ウィンドウズ98、Microsoft(登録商標)ウィンドウズ(登録商標)2000、Microsoft(登録商標)ウィンドウズ(登録商標)NT、Microsoft(登録商標)ウィンドウズ(登録商標)CE、Microsoft(登録商標)ウィンドウズ(登録商標)ME、Microsoft(登録商標)ウィンドウズ(登録商標)XP、ウィンドウズ(登録商標)7、Palm PilotOS、Apple(登録商標)MacOS(登録商標)、ディスクオペレーティングシステム(DOS)、UNIX(登録商標)、IRIX、Solaris、SunOS、FreeBSD、Linux(登録商標)、またはIBM(登録商標)OS/2(登録商標)オペレーティングシステム)。他の実施形態において、コンピューティングシステム2401は、独占所有権のあるオペレーティングシステムによって制御され得る。従来のオペレーティングシステムは、実行のためのコンピュータプロセスを制御およびスケジューリングし、メモリ管理を行い、ファイルシステム、ネットワーキング、I/Oサービスを提供し、ユーザインターフェースを提供する(例えば、グラフィカルユーザインターフェース(「GUI」))。
コンピューティングシステム2401は、1つ以上の中央処理ユニット(「CPU」)2401を含み得る。これらの中央処理ユニットはそれぞれ、1つ以上の従来のまたは独占所有権のあるマイクロプロセッサ(単数または複数)を含み得る。コンピューティングシステム2401は、1つ以上のメモリ2402をさらに含み得る(例えば、情報の一時的保存のためのランダムアクセスメモリ(「RAM」)、情報の永久保存のためのリードオンリーメモリ(「ROM」)、および/または大量記憶装置デバイス2403(例えば、ハードドライブ、ディスケット、または光学媒体記憶装置デバイス)。メモリ2402は、プロセッサ2401によって実行されるべきソフトウェアコードまたは命令を保存し得、これにより、コンピューティングデバイスが特定の操作(例えば、センサー関連データの収集、統計および/または予測モデルを用いたデータ処理、ユーザデバイスまたは他の提示のデータのフォーマッティング、データ送信、または本明細書中において記載および使用される他の操作)を行う。
本明細書中において記載および特許請求の範囲に記載される方法は、任意の適切なコンピューティングデバイス(例えば、コンピューティングシステム2401)によって行うことができる。方法は、タンジブルなコンピュータによって読み出し可能な媒体またはコンピュータ記憶装置デバイスから読み出されたソフトウェア命令または他の実行可能なコードの実行に応答して、このような適切なコンピューティングデバイス上において行われ得る。コンピュータによって読み出し可能な媒体は、データ記憶装置デバイスであり、コンピュータシステムによる読み出しが可能なデータを保存することができる。コンピュータによって読み出し可能な媒体の例を挙げると、リードオンリーメモリ、ランダムアクセスメモリ、他の揮発性または不揮発性メモリデバイス、CD−ROM、磁気テープ、フラッシュドライブ、および光学データ記憶装置デバイスがある。
コンピューティングシステム2401は、1つ以上の入力/出力(I/O)デバイスおよびインターフェース2404を含み得る(例えば、キーボード、トラックボール、マウス、ドローイングタブレット、ジョイスティック、ゲームコントローラ、タッチスクリーン(例えば、容量または抵抗タッチスクリーン)、タッチパッド、加速度計および/またはプリンタ)。コンピューティングシステム2401はまた、1つ以上のマルチメディアデバイス2405も含み得る(例えば、表示デバイス(本明細書中、表示画面とも呼ぶ))。例えばタッチスクリーンの場合、このようなマルチメディアデバイス2405は、I/Oデバイス2404のうちの1つであり得る。表示デバイスは、LCD、OLED、または他の肉薄画面表示面、モニタ、テレビ、プロジェクタ、または(ユーザインターフェースおよびデータをビューワへ視覚的に示す)任意の他のデバイスを含み得る。コンピューティングシステム2401はまた、1つ以上のマルチメディアデバイスも含み得る(例えば、スピーカ、ビデオカード、グラフィックスアクセラレータ、およびマイクロホン)。
一実施形態において、I/Oデバイスおよびインターフェース2404は、ネットワーク(例えば、図1のネットワーク103)を介して通信インターフェースを多様な外部デバイスへ提供する。例えば、コンピューティングシステム2401は、有線、無線または有線および無線の組み合わせ、通信リンク(単数または複数)を介して、ネットワーク103へ電子的に接続される。ネットワーク103により、多様な他のコンピューティングデバイスおよび/または他の電子デバイスとの通信を有線または無線通信リンクを介して行うことが可能になる。
コンピューティングシステム2401はまた、1つ以上のモジュールを含み得る。1つ以上のモジュールは、実行可能な命令を含むハードウェアまたはソフトウェアとしてインプリメントされ得る。実施形態において、コンピューティングシステム2401は、仮想世界モジュール2406、アカウントモジュール2407、および認証モジュール2408を含む。多様な実施形態において、さらなるモジュールを含めかつまたはこれらのモジュールの任意のサブセットを含めることができる。多様な実施形態において、仮想世界モジュール2406、アカウントモジュール2407および認証モジュール2408のうち1つ以上を、ネットワークまたは他の通信システムを介して接続された別個のコンピューティングデバイス上に収容することができる。実施形態において、モジュールはそれぞれ、別個のコンピューティングデバイス上に収容され、これにより、異なるセキュリティ設定をモジュールそれぞれに対してインプリメントすることが可能になる。モジュールは、本明細書中に記載のような多様なプロセスおよび操作を行う。

多層コンポーネントおよびインターフェースシステム
本技術の局面は、コンポーネントおよびインターフェースの別個の層のシステム内において配置されたものとして、概念化され得る。図25を参照して、システム内の各層は、サービスプロバイダ2504および/またはインスタンスホスト2506へインポートおよび/またはエクスポートすることが可能なコンポーネントおよびインターフェースを提案する。第1の層(「層1」、「L1」、「層1インターフェース」または「L1インターフェース」)は、一般的または高レベルコンポーネントまたはワークフローインターフェースを指し、仮想世界システムのサービス操作に用いられ、コンピュータのオペレーティングシステムに類似し得る。第2の層(「層1」、「L1」、「層2コンポーネント」、または「L2コンポーネント」)は、1つ以上のインターフェースを層1インターフェースからエクスポートすることにより、特定のコンポーネント(すなわち、仮想世界システム中の3次元シーンおよびオブジェクト)のインストレーションを制御する。層2コンポーネントは、例えばManaged Extensibility Framework(MEF)に基づいたプラグインとしてインプリメントされ得る。第3の層(「層3」または「L3」)は、仮想世界システムの特定のインスタンスを指し得、1つ以上のクライアント2508は、モデル化3次元シーン内のイベントおよびオブジェクトに参加および制御する。
層1は、仮想世界システムのエンティティ、空間、能力、許可、コンポーネントおよび他のオブジェクトの規定、生成および維持する機能を含み得る。例えば、L1は、以下の種類のエクスポートされたインターフェースを提供し得る。
IComponentSystemにより、コンポーネントは、他のインストールされたコンポーネントについての情報を得ることができる。
IpermissionSystemにより、コンポーネントは、許可の規定、許可の生成、エンティティへの許可の割当、および多様なクライアントの文脈において多様なオブジェクトにとって利用可能な許可があるかの決定を行う。
IAbilitySystemにより、コンポーネントは、能力の規定、エンティティへの能力の割当、および多様なクライアントの文脈において多様なオブジェクトにとって利用可能な能力があるかの決定を行う。
IEntitySystemにより、コンポーネントは、エンティティおよびエンティティとのインターフェースを生成することができる。仮面、ソーシャルグループ、アバターなどをこの種のインターフェース中に生成することができる。
IWorldSpaceSystemにより、コンポーネントは、世界空間(例えば、世界、シーン、インスタン)中のオブジェクトを生成し、インターフェースをとることができる。
IChatSystemにより、コンポーネントは、チャットチャンネルの生成、チャットチャンネルへのユーザの付加、チャットチャンネルへのメッセージ送信、およびチャットチャンネルの他の局面の操作を行うことができる。
IRelationshipSystemにより、コンポーネントは、エンティティ間の社会的関係を規定および管理することができる。例えば交友関係、ソーシャルグループなどを生成することができる。
オブジェクト管理システムにより、コンポーネントは、オブジェクト種類(すなわち、世界またはシーン内に存在し得るオブジェクト)およびオブジェクトテンプレート(すなわち、生成されたオブジェクトおよび世界またはシーン内の位置において回復されたオブジェクト)を規定および生成することができる。
層2は、インスタンスホスト(単数または複数)およびサービスプロバイダを用いて、インターフェースを層1からインポートおよび/または層1へとエクスポートすることができる。よって、インスタンスホストおよびサービスプロバイダは、サーバアプリケーションプログラムインターフェース(「API」)として機能することができる。サーバアプリケーションプログラムインターフェースは、層2が層1と相互作用する様態を決定する。よって、L2コンポーネントは、L1中にインポートされたエクスポートインターフェースとして用いられる。L2コンポーネントを用いて、仮想世界内における多様なプロセス時においてイベントを「ファイヤ」または開始することができる。これらのイベントの例を非限定的に挙げると、能力、許可、および仮想世界内における他の種類の通知がある。
層1は、一連のワークフローインターフェースとしてみなすこともでき、各ワークフローインターフェースはタスクを示し、層化システムインフラストラクチャーを実行することができる。ワークフローインターフェースを非限定的に挙げると、「ログインワークフロー」、URL閲覧のための「ナビゲートワークフロー」、「再接続ワークフロー」、「世界生成」インターフェース、「仮面生成」インターフェースがある。これらの種類のワークフローインターフェースは、1つ以上の接続またはフックポイントを有し、このようなポイントにおいて、L2はイベントをファイアまたは開始し、イベント挙動を延ばすことができる。L2コンポーネントは、適切なインターフェースをL1からエクスポートすることにより、例えば特定のL1ワークフローインターフェースに関与し得る。L2がワークフローインターフェース中のフックポイントにおいてイベントをファイアまたは開始すると、L1は、対象コンポーネントを列挙する。対象コンポーネントは、ワークフローインターフェースと整合するものである。L1はまた、列挙されたコンポーネントを呼び出し、ワークフローインターフェースのための文脈を送り、ここで、文脈は、L2コンポーネントが利用することが可能な情報を含む。
L2コンポーネントは、以下の種類のインターフェースをエクスポートすることができる。
ILoginWorkフローは、ユーザログインワークフロー時においてサーバが呼び出すことが可能な方法を有するインターフェースである。
INavigateWorkフローはインターフェースであり、所与の仮想世界ウェブ(VWW)URLへのナビゲート試行を取り扱う。
IAbilityWorkフローはインターフェースであり、能力が別のユーザまたはクライアントによって使用中である旨をコンポーネントに通知する。
IProviderLifetimeEventは、L2コンポーネントのインストール時、取り外し時、またはアップグレード(単数または複数)時ににサービスプロバイダが呼び出すことが可能なインターフェースである。
IHostLifetimeEventは、システム開始および終了時においてインスタンスホストが呼び出すことが可能なインターフェースであり、コンポーネントの初期化を可能にする。
上記において局面および列挙した層化システムコンポーネントおよびインターフェースは、限定的なものとして解釈されるべきではない。上記したコンポーネントおよびインターフェースのうち1つ以上の組み合わせに基づいて、さらなるコンポーネントおよびインターフェースを得ることができる。

多層コンポーネントおよびインターフェースシステムの操作を示すコールフロー
図25は、多層コンポーネントおよびインターフェースシステムをインプリメントするコールフローの一例を示す。多層コンポーネントおよびインターフェースシステムは、ルートサーバ2502、サービスプロバイダ2504、インスタンスホスト2506、およびクライアント2508を含む。ルートサーバ2502は、コンポーネントライブラリおよびコンポーネントインターフェースを供給し得、データベースサーバ(図示せず)へと接続され得る。データベースサーバは、例えば仮面およびオブジェクトの定義を含み得る。ルートサーバ2504も、1つ以上のサービスプロバイダ2504上における一般的サービスを提供し得る。これらの種類のサービスを上げると、ユーザログイン/ログアウトサービス、ユーザ清算サービス、現実通貨および/または仮想通貨の清算などがある。これらのサービスの使用時に送受信された通信が暗号化および/または認証されることにより、非認証のユーザがルートサーバ2504からの情報を入手することができなくなる。
サービスプロバイダ2504はまた、データベースを含むかまたはデータベースへ接続され、このデータベースは、人間およびオブジェクトの定義を提供する。しかし、サービスプロバイダは、仮想世界システム内におけるコンポーネントおよびインスタンスも管理する。よって、L2コンポーネント選択2510は、ルートサーバ2502およびサービスプロバイダ2504双方において発生し得る。
L2コンポーネントは、サービスプロバイダ2504においてインストールされ得(2514)、インスタンスホスト2506においてインストールされ得る(2518)。インスタンスホスト2506は、インストールされたコンポーネントを用いて、インスタンスを供給する。このようにすることで、インスタンスホストは、サービスプロバイダから供給されるコンテンツ(すなわち、3次元シーン中の世界空間およびオブジェクトについての情報)を全て表現することができる。
クライアント2508は、インスタンスホスト2506によってホストされた3次元シーンのインスタンスのためにユーザインターフェースを操作し得る。クライアントはまた、入力/出力デバイスを含み得る(例えば、入力デバイス(例えば、キーボードまたはキーパッド、タッチスクリーン、カメラおよび/またはマイクロホン)、および出力デバイス(例えば、表示デバイスおよび音声システム))。クライアント2508は、他のコンポーネント(例えば、2次元(2D)ウェブコンテンツと3次元(3D)仮想世界シーンとの間のシームレス移行を可能にするための、ユーザインターフェースへリンクされたブラウザ)を含み得る。
2510に示すように、仮想世界を構成するプロセスにおけるサービスプロバイダは、仮想世界の所望の機能をサポートするために必要な1組のコンポーネントを選択し得る。ルートサーバ2502は、仮想世界操作のサポートに用いられる全コンポーネントのライブラリを維持し得る。このライブラリから、サービスプロバイダは、適切なコンポーネントを選択することができる。サービスプロバイダ2504は、各選択されたL2コンポーネントを受信し、仮想世界インスタンスにおいて発生するイベントを供給するためのL2コンポーネントをローカルに2516に示すようにインストールする(2514)。サービスプロバイダ2504は、L2コンポーネントのコピーをインスタンスホスト2506へ提供し得る。インスタンスホスト2506も、同様にL2コンポーネントをインストールする(2518)。上記の操作は、仮想世界を設定するための操作の一部として行われ得、インスタンスホスト上の仮想世界の特定のインスタンスを設定するために行われる。
2Dウェブブラウザを操作するクライアント2508は、入力デバイスからのユーザ入力を受信すると、サービスプロバイダ2504への2Dページリクエストを例えばHTTPGETリクエストを用いて開始する。これに応答して、サービスプロバイダ2504は、リクエストされた2Dページをクライアント2508へと送り、クライアント2508は、表示デバイスおよびブラウザインターフェースを用いてこのページを出力する。クライアント上において動作するウェブブラウザは、3Dプラグインコンポーネント2524を含み得る。3Dプラグインコンポーネント2524は、クライアント2508へのユーザ入力(U/I)に応答して選択的に活性化される。例えば、ユーザは、「ボタン」または同様の相互作用オブジェクトを選択して、3Dプラグインを活性化させることができる。
活性化後、3Dプラグインは、3Dページリクエスト2526をサービスプロバイダ2504へと送り得る。3Dページリクエストは、クライアントが2Dページに対応する3D仮想世界シーンにアクセスを求めている旨を示す命令またはメッセージを含み得る。3Dページリクエストの受信に応答して、サービスプロバイダ2504は、2528に示すようにL1インターフェースを用いてルートサーバ2502と通信し得る。ルートサーバにおけるL1ワークフローを用いて、一般的操作(例えば、認証およびユーザアカウント管理)を取り扱うことができる。例えば、L1通信2528を用いて、クライアント2508内において特定されたユーザが3Dページリクエストによってリクエストされた3Dシーンへのアクセスを認証されているかを確認し、ユーザリクエストを清算または他の目的のために追跡し、他の一般的機能を行うことができる。
特定されたユーザが3Dシーンへのアクセスが認証されていることが確認された場合、サービスプロバイダは、リクエストされた仮想世界シーンの適切なインスタンスのインスタンスホストを選択するためのプロセス2530を実行し得る。現在利用可能なインスタンスが無い場合、サービスプロバイダは、選択されたインスタンスホスト2506へ信号を送って、2532に示すように、リクエストされた3Dシーンのインスタンスを開く(インスタンス化する)。加えて、サービスプロバイダ2504は、クライアント2508へメッセージを送って、インスタンスホスト2506においてインスタンス化された(かまたはされるであろう)インスタンスへクライアントを2534に示すように方向付ける。
インスタンスホスト2506は、2538によって示すように、例えば仮想世界の供給のためにインストールされたL2コンポーネントのうち1つ以上を実行することにより、仮想世界シーンのインスタンスをインスタンス化することができる。このようなコンポーネントは、シーンを規定する文書の集合をデータベースから抽出した後、文書コンテンツを受信した1つ以上のコンポーネントを実行し、文書コンテンツを処理して、シーンをインスタンス化する。インストレーションは、一連の3次元シーン状態を生成する状態マシンを含み得、シーン内のオブジェクトに対し、文書中に規定されたパラメータおよび規則セットおよび/またはオブジェクトの相互作用時にL2コンポーネント間で交渉されたパラメータおよび規則セットに従って、特性および挙動が割り当てられる。インストレーションのプロセスは、L1インターフェースを用いてルートサーバ2502と通信して、上記において例示したような一般的L1機能を行うことを含み得る。任意選択的に、インスタンスホストは、2536によって示すように、インスタンス化されたシーンの利用可能性をクライアント2508へ確認し得る。
3Dシーンのインスタンスをインスタンス化した後、クライアントデバイス2508は、インスタンスと相互作用し、入力デバイスを介してユーザ入力2540を受信することにより、シーン内のイベントを発生させ、この入力に応答して、1つ以上のオブジェクト関連リクエストを2542に示すようにインスタンスホストへと送る。複数のさらなるクライアント(図示せず)も、同様にユーザ入力を受信し、シーンと相互作用することができる。インスタンスホスト2506は、インスタンスを操作するL2コンポーネントを用いて、1つ以上のクライアントからのメッセージを受信および処理することができる。これを挙げると、例えば、L2イベント処理2544と、サービスプロバイダ2504上において動作する対応するL2コンポーネントとの協働がある。上述したように、L2コンポーネントは、3Dシーンのインストレーション時において、ルートサーバとのL1インターフェース通信(図示せず)を含むL1ワークフローにフックしこれによってトリガすることができる。代替的にまたは追加的に、L2コンポーネントは、任意のL1ワークフローとのインターフェースを含まないイベントを取り扱うことができる。
インスタンスホスト2506は、3Dシーンを視認するためのデータを2546に示すように生成することができる。例えば、インスタンスホスト2506は、連続する時間系列におけるシーンの各状態をコンピュータメモリへ書き込むことができる(例えば、シーン内における3次元オブジェクトモデル化の少なくとも位置および方向)。コンピュータメモリは、時間関連データのストリームをインストレーションからキャッシュし得、インスタンスホストは、2548に示すようにクライアント2508へ提供され得る。例えば、インスタンスホスト2506は、クライアント2508に対する時間関連データをストリーミングプロトコルを用いてストリーミングする。クライアント2508は、シーンデータを受信し、ユーザインターフェースコンポーネントを用いてこのデータを処理して、シーンの動画3Dビューを生成し、ビューを表示デバイスを介してユーザへ出力する。よって、フロー2500の局面は、状態マシンを含む。この状態マシンは、ユーザ入力デバイスからの物理的入力を示すデータを受信し、これらの物理的入力を3Dモデル中のオブジェクトおよびイベントへマッピングし、得られた3Dシーンを物理的出力デバイスへと出力する。フロー2500の操作(例えば、2538に示すインストレーション)は、物理的出力を提供するための物理的入力に依存し、最終的には、このような入力および出力が無くては機能または有効化しなくなる。
例示的方法および装置
図26に示すように、コンピュータサーバシステムは、図25中の多層コンポーネントおよびインターフェースシステムを用いて、3次元シーンのインスタンスを生成するための方法2600を行うことができる。方法2600は、2610において、1つ以上のコンピュータメモリにおいて、文書オブジェクトの集合によって規定された3次元シーンのインスタンスをインスタンス化することを含み得、ここで、文書オブジェクトはマークアップ言語として符号化され、各3次元モデル化オブジェクトまたは空間によって規定される。例えば、インスタンスホストは、状態マシンとして機能する1つ以上のL2コンポーネントを用いて、サービスプロバイダによって特定された文書集合を取り出し、これらの文書を処理する。
方法2600は、2620において、プロセッサが1つ以上のクライアントデバイスから受信した信号に応答して、文書オブジェクトの集合のコンテンツを制御することをさらに含み得る。例えば、インスタンスサーバは、クライアントデバイスからの(仮面または所有オブジェクトがシーンを進入または退出すべき旨を示す)信号に応答してまたはユーザ入力およびイベント結果決定のための規則セットに応答してL2コンポーネントによって決定されたイベント結果に応答して、集合からの文書を追加または除去し得る。
方法2600は、2630において、連続する時間系列におけるfシーンの各状態に基づいた一連の3次元シーン状態(例えば、少なくともシーンにおける3次元オブジェクトモデル化の位置および方向)を1つ以上のコンピュータメモリ中に記録することをさらに含み得る。例えば、インスタンスサーバは、データストリームをメモリキャッシュ中へ書き込み得る。
方法は、2640において、一連の3次元シーン状態を示すデータを1つ以上のクライアントへ提供することをさらに含み得る。例えば、インスタンスサーバは、データを1つ以上のクライアントへストリーミングし得る。
図27〜28を参照して、操作2700および2800のうち1つ以上を、方法2600の一部として任意選択的に行うことができる。要素2700および2800は、任意の動作順序で行うことができるし、あるいは、(特定の経過順序を必要とすることなく)開発アルゴリズムによって包含することもできる。操作は、独立的に行うことができ、相互に排他的なものではない。よって、別の下流または上流操作が行われるかに関係無く、このような操作のうち任意の1つを行うことが可能である。例えば、方法2600が操作2700および2800のうち少なくとも1つを含む場合、方法2600は、図示され得る任意の後続の下流操作(単数または複数)を必ずしも含む必要無く、少なくとも1つの操作後に終了し得る。
局面において、図27を参照して、方法2600は、シーンのインスタンスをインスタンス化するためのさらなる操作2700をさらに含み得る。さらなる操作は、2710において、集合中の各文書をインスタンス化することにより、シーンのインスタンスを少なくとも部分的にインスタンス化することを含み得る。方法2600は、2720において、プロセッサによって受信された文書テンプレート、文書オブジェクトの集合中の文書オブジェクトのうち少なくとも1つのコピーから生成された文書オブジェクトを少なくとも部分的にインスタンス化することをさらに含み得る。方法2600は、2730において、文書オブジェクトの集合を文書オブジェクト特性に従って階層ツリー状に分類することをさらに含み得る。方法2600は、2740において、1つ以上のクライアントのユーザインターフェースのためのシーンの3次元動画を可能にするためにデータをフォーマットすることをさらに含み得る。
他の局面において、図28を参照して、方法2600は、さらなるコンポーネントのインストールに関連するさらなる操作2800をさらに含み得る。これらのさらなる操作は、2810において、1つ以上のコンポーネントを1つ以上のコンピュータメモリ中にインストールすることを含み得る。これら1つ以上のコンピュータメモリは、サーバからの命令の受信に応答してシーンのインスタンスをサポートするように、適合される。別の局面において、方法2600は、2820において、プロセッサによって実行される1つ以上のコンポーネントを用いて文書オブジェクトのうちの1つに対応するイベントを示す信号のうちの1つを検出することにより、文書オブジェクトの集合を少なくとも部分的に制御することをさらに含み得る。加えて、方法2600は、2830、2840および2850それぞれにおいて、信号シグニファイイングイベントのうちの1つを検出するのに応答して情報信号を生成することと、情報信号をサーバへ送信することと、プロセッサによって実行される1つ以上のコンポーネントを用いてサーバと通信して、イベントの各結果を決定することと、集合中の文書オブジェクトの1つ以上の状態を各結果に従って更新することと、集合中の文書オブジェクトの1つ以上の状態を各結果に従って更新することと、をさらに含み得る。
図29を参照して、例示的装置2900が図示されている。この装置2900は、3次元シーンをインスタンス化するためのコンピュータサーバ、クライアントデバイス、またはクライアントおよびサーバの組み合わせとして構成され得る。装置2900は、機能ブロックを含み得る。この機能ブロックは、プロセッサ、ソフトウェアまたはこれらの組み合わせ(例えば、ファームウェア)によってインプリメントされる機能を示し得る。
図示のように、一実施形態において、装置2900は、文書オブジェクトの集合によって規定された3次元シーンのインスタンスをインスタンス化するための電気コンポーネントまたはモジュール2902を含み得る。文書オブジェクトは、マークアップ言語として符号化され、各3次元モデル化オブジェクトまたは空間を規定する。例えば、電気コンポーネントまたは手段2902は、メモリコンポーネント2916へ接続された少なくとも1つの制御プロセッサ2910を含み得る。制御プロセッサは、アルゴリズムを操作し得る。このアルゴリズムは、メモリコンポーネント中のプログラム命令として保持され得る。アルゴリズムは、例えば、サービスプロバイダによって特定された文書集合を取り出すことと、集合を処理して3Dシーンを規定する情報を抽出することと、情報に基づいて現在のシーン状態を維持することとを含み得る。
装置2900は、1つ以上のクライアントデバイスからの信号に応答して文書オブジェクトの集合のコンテンツを制御する電気コンポーネントまたはモジュール2903を含み得る。例えば、電気コンポーネントまたは手段2903は、メモリコンポーネント2916へ接続された少なくとも1つの制御プロセッサ2910を含み得る。この制御プロセッサは、アルゴリズムを操作し得る。このアルゴリズムは、メモリコンポーネント中のプログラム命令として保持され得る。アルゴリズムは、例えば、1つ以上のクライアントシグニファイイングからのメッセージストリームがオブジェクト集合に含まれる仮面およびオブジェクトの操作をリクエストするのに応答して、現在のシーン状態を維持することを含み得る。アルゴリズムは、入力を用いてシーン状態を計算して、シーン中に発生しているイベントと、イベント結果を決定するための規則セットとを検出することをさらに含み得る。
装置2900は、連続する時間系列におけるシーンの各状態(例えば、シーンにおける3次元オブジェクトモデル化の少なくとも位置および方向)に基づいて一連の3次元シーン状態を記録する電気コンポーネントまたはモジュール2904をさらに含み得る。例えば、電気コンポーネントまたは手段2904は、メモリコンポーネント2916へ接続された少なくとも1つの制御プロセッサ2910を含み得る。制御プロセッサは、アルゴリズムを操作し得る。このアルゴリズムは、メモリコンポーネント中のプログラム命令として保持され得る。アルゴリズムは、例えば、連続する状態をキャッシュメモリに書き込んでデータストリームを規定することを含み得る。
装置2900は、一連の3次元シーン状態を示すデータを1つ以上のクライアントへ提供する電気コンポーネントまたはモジュール2906をさらに含み得る。例えば、電気コンポーネントまたは手段2906は、このようなデータを提供するようにメモリコンポーネント2916へ接続された少なくとも1つの制御プロセッサ2910を含み得る。制御プロセッサは、アルゴリズムを操作し得る。このアルゴリズムは、メモリコンポーネント中のプログラム命令として保持され得る。アルゴリズムを挙げると、例えば、データストリームを1つ以上のクライアントへとストリーミングすることがある。装置2900は、図27〜28に関連して述べたさらなる操作2700および2800のうち任意のものまたは全てを行う同様の電気コンポーネントを含み得る。図27〜28に関連して述べたさらなる操作2700および2800については、例示を簡潔にするため、図29中では図示していない。
関連局面において、装置2900は、少なくとも1つのプロセッサを有するプロセッサコンポーネント2910を任意選択的に含み得る(ネットワークエンティティとして構成された装置2900の場合)。プロセッサ2910は、このような場合、コンポーネント2902〜2906または同様のコンポーネントとバス2912または同様の通信接続を介して通信して動作することができる。プロセッサ2910は、電気コンポーネント2902〜2906によって行われるプロセスまたは機能の開始およびスケジューリングを行い得る。
さらなる関連局面において、装置2900は、クライアントおよびサーバ間の通信をイネーブルするネットワークインターフェースコンポーネント2914を含み得る。装置2900は、情報保存のためのコンポーネントを任意選択的に含み得る(例えば、メモリデバイス/コンポーネント2916)。コンピュータによって読み出し可能な媒体またはメモリコンポーネント2916は、バス2912などを介して装置2900の他のコンポーネントへ動作可能に接続される。メモリコンポーネント2916は、コンポーネント2902〜2906およびそのサブコンポーネントのプロセスおよび挙動をインプリメントするためのコンピュータによって読み出し可能な命令およびデータ、またはプロセッサ2910、または本明細書中に開示の方法を保存するように、適合される。メモリコンポーネント2916は、コンポーネント2902〜2906と関連付けられた機能を実行するための命令を保持し得る。メモリ2916の外部にあるものとして図示しているが、コンポーネント2902〜2906はメモリ2916内に存在してもよいことが理解される。

さらなる実施形態
条件的言語(例えば、「can」、「could」、「might」または「may」)は、他に明記無き限りまたは他の場合に文脈から明らかでない限り、特定のフィーチャ、要素および/またはステップが特定の実施形態に含まれるが、他の実施形態には含まれないことを主に意味する。よって、このような条件的言語は一般的には、フィーチャ、要素および/またはステップが1つ以上の実施形態において必要であることを全く暗示せず、また、1つ以上の実施形態は、ユーザ入力またはプロンプトを用いてまたは用いずに、これらのフィーチャ、要素および/またはステップが任意の特定の実施形態において含まれるかまたは実行されるかを決定する論理を必ずしも含まない。
本明細書中および/または添付図面中に示されるフロー図中の任意のプロセス記述、要素またはブロックは、恐らくは、プロセスにおける特定の論理機能またはステップをインプリメントするための1つ以上の実行可能な命令を含むモジュール、セグメント、コード部分を示すものとして理解されるべきである。別のインプレメンテーションが本明細書中に記載の実施形態に含まれ、実施形態において、用いられる機能に応じて、要素または機能を除去してもよいし、図示および記載の順序と異なる順序で実行してもよい(実質的にに同時または逆の順序を含む)ことが当業者によって理解される。
本明細書中に記載される方法およびタスクは全て、コンピュータシステムによって実行および全自動化される。コンピュータシステムは、いくつかの場合において、複数の別個のコンピュータまたはコンピューティングデバイスを含む(例えば、物理的サーバ、ワークステーション、記憶装置アレイ)。これらのコンピューティングデバイスは、ネットワークを介して、電子的に通信し、相互運用して、記載の機能を行う。各このようなコンピューティングデバイスは典型的には、メモリまたは他のコンピュータによって読み出し可能な記憶装置媒体中に保存されたプログラム命令またはモジュールを実行するプロセッサ(または複数のプロセッサ)を含む。このシステムが複数のコンピューティングデバイスを含む場合、これらのデバイスを同一の場所に設置することができる(ただし、必ずしも必要ではない)。開示の方法およびタスクの結果は、物理的記憶装置デバイス(例えば、固体状態メモリチップおよび/または磁気ディスク)を異なる状態に変換することによち、持続的に保存される。
上記した方法およびプロセスは全て、1つ以上の汎用コンピュータによって実行されるソフトウェアコードモジュールを介して全自動化で具現化され得る。コードモジュールは、任意の種類のコンピュータによって読み出し可能な媒体または他のコンピュータ記憶装置デバイスへ保存することができる。あるいは、上記方法のうち一部または全てを特殊なコンピュータハードウェアとして具現化することも可能である。開示の方法の結果は、任意の種類のコンピュータデータ保存部中へ保存される(例えば、磁気ディスク記憶装置および/または固体状態RAMを用いる関連データベースおよびフラットファイルシステム)。
上記実施形態において多数の改変および変更が可能であり、その要素は、他の受容可能な例に含まれるものとして理解されるべきである。このような変更および改変は全て、本開示の範囲内において本明細書中に含まれるものである。上記の記述は、本発明の特定の実施形態を詳述する。しかし、上記記載がいかに詳細に見えるとしても、本発明は任意の方法で実行することができることが理解される。また、やはり上述したように、本発明の特定のフィーチャまたは局面を記述する際に用いた特定の用語は、当該用語が関連する本発明のフィーチャまたは局面の任意の特定の特性を含むものとして限定されるよう再定義されたものとして解釈されるべきではない。

Claims (12)

  1. 仮想世界システム間においてユーザデータを通信する方法であって、前記方法は仮想ワールドサーバ上において行われ、前記方法は、
    1つ以上のプロセッサを含む仮想ワールドサーバにおいて、外部仮想ワールドサーバからのアバターの転送についてのリクエストを受信することと、
    前記アバターの前記仮想ワールドサーバへのアクセスを認証する権利を判別することと、
    前記外部仮想ワールドサーバと共に転送プロトコルを完了することと、
    前記仮想ワールドサーバと関連付けられた1つ以上の変換規則に基づいて、前記アバターと関連付けられた特性を変換することと、
    前記仮想ワールドサーバ上の1つ以上の世界との相互作用に前記アバターを参加させることと、
    を備える、方法。
  2. 前記転送プロトコルを完了することは、暗号的にセキュアな転送を行うことを備え、前記セキュアな転送は、前記アバターが複数の仮想世界中に同時に出現することを抑制するように構成される、上記請求項のうちいずれかの方法。
  3. 前記特性を変換することは、前記特性と、前記仮想ワールドサーバによって許容された相当する特性とを整合させることを含む、上記請求項のうちいずれかの方法。
  4. 前記特性を変換することは、前記特性と前記相当する特性との間の値の差を判別することと、前記値の差についてクレジット精算を提供することとをさらに備える、請求項3の方法。
  5. 前記特性を整合させることは、前記特性の1つ以上の属性および前記相当する特性の1つ以上の属性を分析することを含む、請求項3〜4の方法。

  6. 前記特性を整合させることは、前記仮想ワールドサーバおよび前記外部仮想ワールドサーバと関連付けられた1つ以上のローカルツーローカル変換同意規則を処理することを備える、請求項3〜5の方法。

  7. 前記外部仮想ワールドサーバは、前記仮想ワールドサーバと同じコンピューティングデバイス上に収容される、上記請求項のうちいずれかの方法。
  8. 前記特性を変換することは、前記特性変換を反映するように前記アバターと関連付けられたグローバルアバター状態を変更することを備える、上記請求項のうちいずれかの方法。
  9. 前記特性を変換することは、前記特性変換を反映するように前記アバターと関連付けられたローカルアバター状態を保存して、前記アバターと関連付けられたグローバルアバター状態は、変更する必要が無くなることを備える、上記請求項のうちいずれかの方法。
  10. 前記特性を変換することは、前記アバターと関連付けられた以前保存されたローカルアバター状態に基づいて、前記特性のうち1つ以上を変更することを含み、これにより、前記仮想ワールドサーバ上における前記アバターの以前の活動の効果が前記アバターへ回復される、上記請求項のうちいずれかの方法。
  11. 上記請求項のうちいずれかの方法を行うように構成されたコンピュータシステム。
  12. 仮想世界システム間でユーザデータを通信させるように構成されたコンピュータシステムであって、前記システムは、
    コンピュータによって読み出し可能な記憶装置であって、前記記憶装置上に、実行可能な命令としてインプリメントされる複数のモジュールが保存される、記憶装置と、
    前記複数のモジュールを実行するように構成された1つ以上のコンピュータプロセッサと、
    外部仮想ワールドサーバからのアバターの転送についてのリクエストを受信するように構成された転送受信モジュールと、
    前記アバターの前記仮想ワールドサーバへのアクセスを認証する権利を判別するように構成された認証モジュールと、
    前記外部仮想ワールドサーバとの転送プロトコルを完了するように構成された転送モジュールと、
    前記仮想ワールドサーバと関連付けられた1つ以上の変換規則に基づいて、前記アバターと関連付けられた特性を変換するように構成された変換モジュールと、
    前記仮想ワールドサーバ上の1つ以上の世界との相互作用に前記アバターを参加させるように構成された相互作用モジュールと、
    を備える、コンピュータシステム。
JP2014526267A 2011-08-18 2012-08-17 仮想世界の相互作用のシステムおよび方法 Active JP6101267B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161524956P 2011-08-18 2011-08-18
US61/524,956 2011-08-18
PCT/US2012/051503 WO2013026048A2 (en) 2011-08-18 2012-08-17 Systems and methods of virtual world interaction

Publications (3)

Publication Number Publication Date
JP2014529792A true JP2014529792A (ja) 2014-11-13
JP2014529792A5 JP2014529792A5 (ja) 2015-12-17
JP6101267B2 JP6101267B2 (ja) 2017-03-22

Family

ID=47712326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014526267A Active JP6101267B2 (ja) 2011-08-18 2012-08-17 仮想世界の相互作用のシステムおよび方法

Country Status (5)

Country Link
US (18) US8522330B2 (ja)
EP (2) EP3925676A1 (ja)
JP (1) JP6101267B2 (ja)
CA (1) CA2845730A1 (ja)
WO (1) WO2013026048A2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5961736B1 (ja) * 2015-08-17 2016-08-02 株式会社コロプラ ヘッドマウントディスプレイシステムを制御する方法、および、プログラム
JP2018020029A (ja) * 2016-08-06 2018-02-08 株式会社オリンピア 遊技機
JP6473265B1 (ja) * 2018-08-31 2019-02-20 株式会社バーチャルキャスト コンテンツ配信サーバ、コンテンツ配信システム、コンテンツ配信方法及びプログラム
JP2022039851A (ja) * 2020-08-27 2022-03-10 任天堂株式会社 ゲームプログラム、ゲームシステム、情報処理装置、および、情報処理方法
KR20220066531A (ko) * 2020-11-16 2022-05-24 최세현 가상 현실 공간 비교 방법 및 시스템
JP7321346B1 (ja) 2022-09-29 2023-08-04 Kddi株式会社 仮想空間サービス管理装置及び仮想空間サービス管理方法
JP7332768B1 (ja) 2022-09-08 2023-08-23 Kddi株式会社 仮想空間サービス管理装置及び仮想空間サービス管理方法
JP7455308B2 (ja) 2020-12-14 2024-03-26 グリー株式会社 情報処理システム、情報処理方法、情報処理プログラム

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007030396B4 (de) * 2007-06-29 2014-11-27 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Vorrichtung zur Steuerung einer Maschine sowie Fernkommunikationssystem
US9177313B1 (en) 2007-10-18 2015-11-03 Jpmorgan Chase Bank, N.A. System and method for issuing, circulating and trading financial instruments with smart features
US8397168B2 (en) 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US7769806B2 (en) 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
EP2445499A4 (en) * 2009-06-25 2013-02-27 Astrazeneca Ab METHOD FOR TREATING A PATIENT WITH RISK OF DEVELOPING A NSAID-ASSOCIATED SPURGE
KR20100138700A (ko) * 2009-06-25 2010-12-31 삼성전자주식회사 가상 세계 처리 장치 및 방법
US9165421B2 (en) * 2010-11-15 2015-10-20 Bally Gaming, Inc. System and method for augmented maintenance of a gaming system
US8503925B2 (en) * 2011-02-02 2013-08-06 Tv Band Service Llc Flexibly targeting information sent over a broadcast communications medium
US8864583B1 (en) * 2011-05-03 2014-10-21 Open Invention Network, Llc Computing device independent and transferable game level design and other objects
US8825710B2 (en) * 2011-05-26 2014-09-02 Planet Technologies Cloud computing method for dynamically scaling a process across physical machine boundaries
WO2013026048A2 (en) 2011-08-18 2013-02-21 Utherverse Digital, Inc. Systems and methods of virtual world interaction
US8821272B2 (en) 2011-09-26 2014-09-02 Andrew Jack Thomas System and method of gamification of real-life events
US20130339228A1 (en) * 2012-06-18 2013-12-19 Brian Mark Shuster Transfer of virtual objects between applications
US8854178B1 (en) * 2012-06-21 2014-10-07 Disney Enterprises, Inc. Enabling authentication and/or effectuating events in virtual environments based on shaking patterns and/or environmental information associated with real-world handheld devices
US10963903B1 (en) 2012-07-05 2021-03-30 Share Edge, Llc Workflow management system for tracking event objects associated with entities and secondary entities
US10475059B2 (en) 2012-07-05 2019-11-12 Share Magnet, LLC Syndicated sharing of promotional information
US9717985B2 (en) 2012-10-02 2017-08-01 Razer (Asia-Pacific) Pte. Ltd. Fragment-based mobile device application streaming utilizing crowd-sourcing
US8892693B2 (en) 2012-10-02 2014-11-18 Nextbit Systems Inc. Enabling fragment-based mobile device application streaming
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9268655B2 (en) 2012-10-02 2016-02-23 Nextbit Systems Inc. Interface for resolving synchronization conflicts of application states
US9210203B2 (en) 2012-10-02 2015-12-08 Nextbit Systems Inc. Resource based mobile device application streaming
US8977723B2 (en) 2012-10-02 2015-03-10 Nextbit Systems Inc. Cloud based application fragmentation
US9776078B2 (en) 2012-10-02 2017-10-03 Razer (Asia-Pacific) Pte. Ltd. Application state backup and restoration across multiple devices
US8764555B2 (en) 2012-10-02 2014-07-01 Nextbit Systems Inc. Video game application state synchronization across multiple devices
US9747000B2 (en) 2012-10-02 2017-08-29 Razer (Asia-Pacific) Pte. Ltd. Launching applications on an electronic device
US9600552B2 (en) 2012-10-02 2017-03-21 Nextbit Systems Inc. Proximity based application state synchronization
US9112885B2 (en) 2012-10-02 2015-08-18 Nextbit Systems Inc. Interactive multi-tasker
US10425471B2 (en) 2012-10-02 2019-09-24 Razer (Asia-Pacific) Pte. Ltd. Multi-tasker
US9654556B2 (en) 2012-10-02 2017-05-16 Razer (Asia-Pacific) Pte. Ltd. Managing applications on an electronic device
US9591056B2 (en) * 2013-01-29 2017-03-07 Facebook, Inc. Techniques for contact exporting
US9259648B2 (en) * 2013-02-15 2016-02-16 Disney Enterprises, Inc. Initiate events through hidden interactions
US10123189B2 (en) 2013-03-21 2018-11-06 Razer (Asia-Pacific) Pte. Ltd. Electronic device system restoration by tapping mechanism
US8954611B2 (en) 2013-03-21 2015-02-10 Nextbit Systems Inc. Mechanism for sharing states of applications and devices across different user profiles
US9445949B1 (en) 2013-05-31 2016-09-20 Kabam, Inc. System and method for processing commands in an online game
US9616330B1 (en) 2013-05-31 2017-04-11 Kabam, Inc. System and method for updating a game state in an online game
US9542579B2 (en) 2013-07-02 2017-01-10 Disney Enterprises Inc. Facilitating gesture-based association of multiple devices
USD768162S1 (en) 2013-09-30 2016-10-04 Nextbit Systems Inc. Display screen or portion thereof with graphical user interface
CN104090886B (zh) * 2013-12-09 2015-09-09 深圳市腾讯计算机系统有限公司 构建用户实时画像的方法及装置
US10296362B2 (en) * 2014-02-26 2019-05-21 Red Hat Israel, Ltd. Execution of a script based on properties of a virtual device associated with a virtual machine
US9998914B2 (en) * 2014-04-16 2018-06-12 Jamf Software, Llc Using a mobile device to restrict focus and perform operations at another mobile device
US8997226B1 (en) * 2014-04-17 2015-03-31 Shape Security, Inc. Detection of client-side malware activity
WO2015164969A1 (en) * 2014-04-29 2015-11-05 Socialplay Inc. System and method for cross-application virtual goods management
US10282479B1 (en) * 2014-05-08 2019-05-07 Google Llc Resource view data collection
US9724605B2 (en) * 2014-08-12 2017-08-08 Utherverse Digital Inc. Method, system and apparatus of recording and playing back an experience in a virtual worlds system
US10387547B2 (en) 2014-09-09 2019-08-20 Intentional Software Corporation Layout engine for creating a visual layout tree for a document
US10353991B2 (en) 2014-09-09 2019-07-16 Intentional Software Corporation Generating a visual description tree based on a layout interruption record
US10402478B2 (en) 2014-09-09 2019-09-03 Intentional Software Corporation Linking visual layout nodes of a visual layout tree using positioning pointers
US10387540B2 (en) 2014-09-09 2019-08-20 Intentional Software Corporation Generating a visual layout tree using caching techniques
US10430500B2 (en) 2014-09-09 2019-10-01 Intentional Software Corporation Detecting and animating a change in position of a visual layout node of a visual layout tree
US20170364482A9 (en) * 2014-09-09 2017-12-21 Intentional Software Corporation Generating a visual layout tree based on a named point within a visual description node
US11003833B2 (en) 2014-09-09 2021-05-11 Microsoft Technology Licensing, Llc Adding visual description nodes to a visual description tree during layout
US10007334B2 (en) 2014-11-13 2018-06-26 Utherverse Digital Inc. System, method and apparatus of simulating physics in a virtual environment
US9779554B2 (en) * 2015-04-10 2017-10-03 Sony Interactive Entertainment Inc. Filtering and parental control methods for restricting visual activity on a head mounted display
US10799792B2 (en) * 2015-07-23 2020-10-13 At&T Intellectual Property I, L.P. Coordinating multiple virtual environments
US20170052676A1 (en) * 2015-08-19 2017-02-23 vAtomic Systems, LLC Virtual object registry and tracking platform
US10506031B1 (en) * 2015-09-18 2019-12-10 Amazon Technologies, Inc. Scalable network for processing virtual environments
US10911535B1 (en) 2015-09-18 2021-02-02 Amazon Technologies, Inc. Object ownership migration
US10104173B1 (en) * 2015-09-18 2018-10-16 Amazon Technologies, Inc. Object subscription rule propagation
US10230583B1 (en) 2015-09-18 2019-03-12 Amazon Technologies, Inc. Multi-node object simulation
US10484249B1 (en) 2015-09-18 2019-11-19 Amazon Technologies, Inc. Dynamic distribution of simulation load
US10298679B1 (en) 2015-09-18 2019-05-21 Amazon Technologies, Inc. Object ownership migration
US10565160B1 (en) * 2015-09-21 2020-02-18 Amazon Technologies, Inc. Managing state changes of modeled objects in a three dimensional virtual environment
US10545989B1 (en) * 2015-11-30 2020-01-28 Amazon Technologies, Inc. Selective data replication
CN105867837A (zh) * 2015-12-02 2016-08-17 乐视体育文化产业发展(北京)有限公司 一种分布式高速缓存系统中的客户端配置更新方法、设备及系统
CN105871584A (zh) * 2015-12-02 2016-08-17 乐视体育文化产业发展(北京)有限公司 一种键值对数据库中的客户端配置更新方法、设备及系统
US10338687B2 (en) 2015-12-03 2019-07-02 Google Llc Teleportation in an augmented and/or virtual reality environment
US10404938B1 (en) 2015-12-22 2019-09-03 Steelcase Inc. Virtual world method and system for affecting mind state
US10181218B1 (en) 2016-02-17 2019-01-15 Steelcase Inc. Virtual affordance sales tool
US20170257283A1 (en) * 2016-03-02 2017-09-07 Ipswitch, Inc. System and interfaces for entity management
US20190129593A1 (en) * 2016-03-11 2019-05-02 Parcell Llc Method and system for managing a parcel in a virtual environment
DE102016106993A1 (de) 2016-04-15 2017-10-19 Carl Zeiss Microscopy Gmbh Steuer- und Konfiguriereinheit sowie Verfahren zum Steuern und Konfigurieren eines Mikroskops
CN105791328A (zh) * 2016-05-25 2016-07-20 江苏省基础地理信息中心 一种三维信息的调用方法、共享方法和装置
US10769860B2 (en) 2016-10-31 2020-09-08 Dg Holdings, Inc. Transferrable between styles virtual identity systems and methods
US10733780B2 (en) 2016-10-31 2020-08-04 Dg Holdings, Inc. Portable and persistent virtual identity systems and methods
WO2018081732A1 (en) * 2016-10-31 2018-05-03 Dg Holdings, Inc. Portable and persistent virtual identity systems and methods
US10453253B2 (en) * 2016-11-01 2019-10-22 Dg Holdings, Inc. Virtual asset map and index generation systems and methods
US10275941B2 (en) * 2016-11-01 2019-04-30 Dg Holdings, Inc. Multi-layered depth and volume preservation of stacked meshes
US10930086B2 (en) 2016-11-01 2021-02-23 Dg Holdings, Inc. Comparative virtual asset adjustment systems and methods
KR102651467B1 (ko) * 2016-11-07 2024-03-27 삼성전자주식회사 전자 장치 및 그의 무선 신호 송신 방법
CN111783046A (zh) 2016-11-25 2020-10-16 阿里巴巴集团控股有限公司 身份验证方法及装置
CN111654473B (zh) 2016-12-13 2022-07-19 创新先进技术有限公司 基于增强现实的虚拟对象分配方法及装置
US10182210B1 (en) 2016-12-15 2019-01-15 Steelcase Inc. Systems and methods for implementing augmented reality and/or virtual reality
JP6306678B1 (ja) * 2016-12-20 2018-04-04 株式会社コロプラ 仮想空間にオブジェクトを提示するためにコンピュータによって実行される方法、当該方法をコンピュータに実行させるプログラム、および、コンピュータ装置
US10552981B2 (en) 2017-01-16 2020-02-04 Shapetrace Inc. Depth camera 3D pose estimation using 3D CAD models
WO2018165472A1 (en) 2017-03-08 2018-09-13 Ip Oversight Corporation System and method for creating commodity asset-secured tokens from reserves
US11940981B2 (en) 2017-04-11 2024-03-26 Michael Bilotta Virtual reality information delivery system
US10867070B2 (en) * 2017-04-11 2020-12-15 Michael Bilotta Virtual reality information delivery system
US10867066B2 (en) * 2017-04-11 2020-12-15 Michael Bilotta Virtual reality information delivery system
US11291919B2 (en) * 2017-05-07 2022-04-05 Interlake Research, Llc Development of virtual character in a learning game
EP3632086B1 (en) * 2017-05-23 2023-08-09 Constructive Labs Server system for processing a virtual space
EP3635589B1 (en) * 2017-06-05 2022-08-10 2689090 Canada Inc. System and method for displaying an asset of an interactive electronic technical publication synchronously in a plurality of extended reality display devices
US10699462B1 (en) * 2017-07-26 2020-06-30 Roblox Corporation Character morphing system
CN109499069B (zh) * 2017-09-14 2022-04-26 腾讯科技(深圳)有限公司 操作结果校验方法、装置、存储介质及电子装置
US10467003B1 (en) * 2017-10-09 2019-11-05 Amazon Technologies, Inc. Divided execution and storage of scripts
US10713839B1 (en) 2017-10-24 2020-07-14 State Farm Mutual Automobile Insurance Company Virtual vehicle generation by multi-spectrum scanning
US11537264B2 (en) * 2018-02-09 2022-12-27 Sony Interactive Entertainment LLC Methods and systems for providing shortcuts for fast load when moving between scenes in virtual reality
US10521962B1 (en) 2018-03-08 2019-12-31 State Farm Mutual Automobile Insurance Company Method and system for visualizing overlays in virtual environments
US10970923B1 (en) 2018-03-13 2021-04-06 State Farm Mutual Automobile Insurance Company Method and system for virtual area visualization
US10732001B1 (en) 2018-04-06 2020-08-04 State Farm Mutual Automobile Insurance Company Methods and systems for response vehicle deployment
US10832476B1 (en) 2018-04-30 2020-11-10 State Farm Mutual Automobile Insurance Company Method and system for remote virtual visualization of physical locations
US10249140B1 (en) * 2018-05-10 2019-04-02 Huuuge Global Ltd. System and method for playing online game
US11327638B2 (en) * 2018-05-10 2022-05-10 Prasad Narasimha Seshadri Method for creating user configurable active storefronts and active personal profiles
US10762219B2 (en) * 2018-05-18 2020-09-01 Microsoft Technology Licensing, Llc Automatic permissions for virtual objects
US10946278B2 (en) * 2018-05-22 2021-03-16 Sony Corporation Generating alternate reality games (ARG) incorporating augmented reality (AR)
US11307968B2 (en) 2018-05-24 2022-04-19 The Calany Holding S. À R.L. System and method for developing, testing and deploying digital reality applications into the real world via a virtual world
KR102275520B1 (ko) 2018-05-24 2021-07-12 티엠알더블유 파운데이션 아이피 앤드 홀딩 에스에이알엘 현실 세계를 대표하는 실시간 3d 가상 세계 내에서 실시간 3d 가상 객체의 양방향 실시간 대화형 오퍼레이션
US11749124B2 (en) * 2018-06-12 2023-09-05 Skydio, Inc. User interaction with an autonomous unmanned aerial vehicle
EP3591845B1 (en) * 2018-07-05 2023-08-09 Universite De Bretagne Sud Sorting device and method for elementary check node processing for message-passing decoding of non-binary codes
JP6727515B2 (ja) * 2018-07-31 2020-07-22 株式会社コナミデジタルエンタテインメント ゲームシステム、及びそれに用いるコンピュータプログラム
US10540797B1 (en) 2018-08-02 2020-01-21 Disney Enterprises, Inc. Image customization using a persona
US10671315B2 (en) 2018-08-17 2020-06-02 Bank Of America Corporation Blockchain architecture for selective data restore and migration
US11538045B2 (en) 2018-09-28 2022-12-27 Dish Network L.L.C. Apparatus, systems and methods for determining a commentary rating
US11362889B2 (en) * 2018-10-15 2022-06-14 Cdw Llc System and method for automated information technology services management
US11592896B2 (en) * 2018-11-07 2023-02-28 Wild Technology, Inc. Technological infrastructure for enabling multi-user collaboration in a virtual reality environment
US10713020B2 (en) * 2018-11-08 2020-07-14 Servicenow, Inc. Efficient bundling and delivery of client-side scripts
US10902260B2 (en) 2018-11-29 2021-01-26 International Business Machines Corporation Estimating a height of a cloud depicted in an image
US10671515B1 (en) 2018-11-30 2020-06-02 Bank Of America Corporation Recording and playback of electronic event sequence in a distributed ledger system
JP2020089947A (ja) * 2018-12-06 2020-06-11 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US11010974B2 (en) * 2019-01-04 2021-05-18 Vungle, Inc. Augmented reality in-application advertisements
CN109885369B (zh) * 2019-02-22 2022-04-29 北京知道创宇信息技术股份有限公司 图像联动方法及装置
US11150788B2 (en) 2019-03-14 2021-10-19 Ebay Inc. Augmented or virtual reality (AR/VR) companion device techniques
US10890992B2 (en) 2019-03-14 2021-01-12 Ebay Inc. Synchronizing augmented or virtual reality (AR/VR) applications with companion device interfaces
US10992619B2 (en) * 2019-04-30 2021-04-27 Snap Inc. Messaging system with avatar generation
CN111973979A (zh) 2019-05-23 2020-11-24 明日基金知识产权控股有限公司 经由持久性虚拟世界系统对现实世界进行实况管理
CN112100798A (zh) 2019-06-18 2020-12-18 明日基金知识产权控股有限公司 用于将现实世界元素的虚拟副本部署到持久性虚拟世界系统中的系统和方法
US11665317B2 (en) 2019-06-18 2023-05-30 The Calany Holding S. À R.L. Interacting with real-world items and corresponding databases through a virtual twin reality
US20200402294A1 (en) * 2019-06-18 2020-12-24 Tmrw Foundation Ip & Holding S. À R.L. 3d structure engine-based computation platform
US11500837B1 (en) * 2019-12-11 2022-11-15 Amazon Technologies, Inc. Automating optimizations for items in a hierarchical data store
EP3846058A1 (en) 2019-12-30 2021-07-07 TMRW Foundation IP SARL Multi-dimensional 3d engine computing and virtualization-based dynamic load balancing of virtual or real worlds
US11195498B2 (en) * 2020-01-15 2021-12-07 Charter Communications Operating, Llc Compensating for latency in a streaming virtual reality environment
JP6840876B1 (ja) * 2020-01-30 2021-03-10 株式会社ドワンゴ アバタ表示装置、アバタ表示システム、アバタ表示方法およびアバタ表示プログラム
US11204760B2 (en) 2020-02-20 2021-12-21 Share Edge, Llc Online activity monitoring
JP2022003498A (ja) * 2020-06-23 2022-01-11 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、方法、プログラム及び情報処理システム
US20220070235A1 (en) 2020-08-28 2022-03-03 Tmrw Foundation Ip S.Àr.L. System and method enabling interactions in virtual environments with virtual presence
US20220070239A1 (en) * 2020-08-28 2022-03-03 Tmrw Foundation Ip S. À R.L. System and method to provision cloud computing-based virtual computing resources within a virtual environment
US11836979B2 (en) 2020-09-14 2023-12-05 Arknet Inc. Method for deploying, creating and certifying virtual presence
US11520687B2 (en) 2020-11-20 2022-12-06 Bank Of America Corporation System and method for automated testing of an accessibility feature of a user device by emulating actions of users
US11831665B2 (en) * 2021-01-04 2023-11-28 Bank Of America Corporation Device for monitoring a simulated environment
RU2764375C1 (ru) * 2021-03-30 2022-01-17 Общество с ограниченной ответственностью «Виртуалити» Способ формирования изображений с дополненной и виртуальной реальностью с возможностью взаимодействия внутри виртуального мира, содержащего данные виртуального мира
US20230059361A1 (en) * 2021-08-21 2023-02-23 At&T Intellectual Property I, L.P. Cross-franchise object substitutions for immersive media
US11798247B2 (en) 2021-10-27 2023-10-24 Meta Platforms Technologies, Llc Virtual object structures and interrelationships
US11748944B2 (en) * 2021-10-27 2023-09-05 Meta Platforms Technologies, Llc Virtual object structures and interrelationships
US20230367444A1 (en) * 2022-05-10 2023-11-16 Tmrw Foundation Ip S. À R.L. Layer-partitioned virtual world system
US20230419303A1 (en) * 2022-06-24 2023-12-28 Gree, Inc. Video data transmission method, video data transmission system, and non-transitory computer-readable storage medium storing video data transmission program
US11546322B1 (en) * 2022-06-24 2023-01-03 Numéraire Financial, Inc. Decentralized avatar authentication in online platforms
US20240070948A1 (en) * 2022-08-23 2024-02-29 At&T Intellectual Property I, L.P. Virtual reality avatar attention-based services
US11841946B1 (en) 2022-12-09 2023-12-12 Mckinsey & Company, Inc. Systems and methods for analyzing virtual data, predicting future events, and improving computer security

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000285064A (ja) * 1999-03-31 2000-10-13 Fujitsu Ltd 仮想空間共有システム
JP2003265860A (ja) * 2002-03-14 2003-09-24 Konami Co Ltd ゲーム機及びプログラム
JP2008512736A (ja) * 2004-08-05 2008-04-24 エリート アバタース, リミテッド ライアビリティ カンパニー 永続的、移入可能及び抽出可能なアバター
JP2009056181A (ja) * 2007-08-31 2009-03-19 Sega Corp ゲーム装置
US20090300521A1 (en) * 2008-05-30 2009-12-03 International Business Machines Corporation Apparatus for navigation and interaction in a virtual meeting place
US20090319609A1 (en) * 2008-06-23 2009-12-24 International Business Machines Corporation User Value Transport Mechanism Across Multiple Virtual World Environments
WO2010011067A2 (ko) * 2008-07-21 2010-01-28 삼성전자 주식회사 가상 현실 서비스 간의 상호 연동을 위한 장치 및 방법
JP2010511230A (ja) * 2006-11-30 2010-04-08 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 仮想キャラクタを制御する方法、サーバおよびシステム
US20100306717A1 (en) * 2009-05-28 2010-12-02 Nintendo Co., Ltd. Storage medium having game program stored therein and game apparatus
US20120185163A1 (en) * 2009-07-13 2012-07-19 Breght Roderick Boschker navigation route planning

Family Cites Families (232)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5461710A (en) 1992-03-20 1995-10-24 International Business Machines Corporation Method for providing a readily distinguishable template and means of duplication thereof in a computer system graphical user interface
US6285380B1 (en) 1994-08-02 2001-09-04 New York University Method and system for scripting interactive animated actors
US6031549A (en) 1995-07-19 2000-02-29 Extempo Systems, Inc. System and method for directed improvisation by computer controlled characters
US6279112B1 (en) * 1996-10-29 2001-08-21 Open Market, Inc. Controlled transfer of information in computer networks
US5880731A (en) 1995-12-14 1999-03-09 Microsoft Corporation Use of avatars with automatic gesturing and bounded interaction in on-line chat session
US5872575A (en) 1996-02-14 1999-02-16 Digital Media Interactive Method and system for the creation of and navigation through a multidimensional space using encoded digital video
US5802296A (en) 1996-08-02 1998-09-01 Fujitsu Software Corporation Supervisory powers that provide additional control over images on computers system displays to users interactings via computer systems
GB9722343D0 (en) 1997-10-22 1997-12-17 British Telecomm Distributed virtual environment
US6389458B2 (en) 1998-10-30 2002-05-14 Ideaflood, Inc. Method, apparatus and system for directing access to content on a computer network
US20070255810A1 (en) 1998-10-30 2007-11-01 Shuster Brian M Modifying apparent browser operation
US7752251B1 (en) 2000-04-14 2010-07-06 Brian Mark Shuster Method, apparatus and system for hosting information exchange groups on a wide area network
US8775396B2 (en) 1999-04-15 2014-07-08 Intellectual Ventures I Llc Method and system for searching a wide area network
US7546530B1 (en) 1999-04-15 2009-06-09 Hoshiko Llc Method and apparatus for mapping a site on a wide area network
US6922781B1 (en) 1999-04-30 2005-07-26 Ideaflood, Inc. Method and apparatus for identifying and characterizing errant electronic files
US6458720B1 (en) * 1999-07-23 2002-10-01 Matsushita Electric Industrial Co., Ltd. Method for forming interlayer dielectric film
US6687746B1 (en) 1999-08-30 2004-02-03 Ideaflood, Inc. System apparatus and method for hosting and assigning domain names on a wide area network
US7089278B1 (en) 1999-09-07 2006-08-08 Fuji Xerox Co., Ltd. Anchored conversations: adhesive, in-context, virtual discussion forums
US6527641B1 (en) * 1999-09-24 2003-03-04 Nokia Corporation System for profiling mobile station activity in a predictive command wireless game system
US6763379B1 (en) 1999-10-14 2004-07-13 Ideaflood, Inc. System, apparatus and method for presenting and displaying content on a wide area network
US8291340B1 (en) 1999-10-14 2012-10-16 Hoshiko Llc Method and apparatus for providing content to users
US7099956B2 (en) 2000-01-31 2006-08-29 Ideaflood, Inc. Method and apparatus for conducting domain name service
KR100404285B1 (ko) 2000-02-09 2003-11-03 (주) 고미드 2차원/3차원 겸용 웹 브라우징 방법 및 이를 저장하고 있는 기록매체
GB2359704B (en) * 2000-02-26 2002-05-08 Proksim Software Inc Sharing a computer-generated environment
KR100366384B1 (ko) * 2000-02-26 2002-12-31 (주) 고미드 사용자간의 커뮤니케이션을 기반으로 하는 정보 검색 방법및 시스템
US7240093B1 (en) * 2000-02-29 2007-07-03 Microsoft Corporation Use of online messaging to facilitate selection of participants in game play
US20010019337A1 (en) 2000-03-03 2001-09-06 Jong Min Kim System for providing clients with a three dimensional virtual reality
US6978252B2 (en) 2000-04-18 2005-12-20 Ideaflood, Inc. Method and system for transacting with network traffic
US7593864B2 (en) 2000-04-18 2009-09-22 Brian Mark Shuster Method and apparatus for managing ownership of virtual property
US7370110B2 (en) 2000-04-18 2008-05-06 Hoshiko Llc Method and system for operating a network server to discourage inappropriate use
US8818855B2 (en) 2000-04-18 2014-08-26 Intellectual Ventures I Llc System and method for aggregating information over a wide area network
US6862610B2 (en) 2000-05-08 2005-03-01 Ideaflood, Inc. Method and apparatus for verifying the identity of individuals
US7228327B2 (en) 2000-05-08 2007-06-05 Hoshiko Llc Method and apparatus for delivering content via information retrieval devices
US20020019800A1 (en) 2000-05-16 2002-02-14 Ideaflood, Inc. Method and apparatus for transacting divisible property
US7200863B2 (en) 2000-05-16 2007-04-03 Hoshiko Llc System and method for serving content over a wide area network
US7051362B2 (en) 2000-05-16 2006-05-23 Ideaflood, Inc. Method and system for operating a network server to discourage inappropriate use
US7428576B2 (en) 2000-05-16 2008-09-23 Hoshiko Llc Addressee-defined mail addressing system and method
US7899703B2 (en) 2000-05-16 2011-03-01 Brian Mark Shuster Method and apparatus for providing internet advertising service
US20020022999A1 (en) 2000-06-23 2002-02-21 Shuster Brian Mark Method and apparatus for providing audio advertisements in a computer network
US6756879B2 (en) 2000-07-11 2004-06-29 Ideaflood, Inc. Method and apparatus for securing delivery of goods
US7412514B2 (en) 2000-08-17 2008-08-12 Hoshiko Llc Method and apparatus for improving bandwidth efficiency in a computer network
US6826546B1 (en) 2000-08-17 2004-11-30 Ideaflood, Inc. Method and system for licensing a copy of a copyright protected work
US6895236B2 (en) 2000-08-23 2005-05-17 Ideaflood, Inc. Method for verifying geographical location of wide area network users
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
US6987512B2 (en) 2001-03-29 2006-01-17 Microsoft Corporation 3D navigation techniques
US7801944B2 (en) 2001-05-18 2010-09-21 Gary Stephen Shuster Distributed computing using agent embedded in content unrelated to agents processing function
US7769895B1 (en) * 2001-08-17 2010-08-03 Corda Technologies, Inc. System and method for ensuring that a web browser displays the highest ranked image format possible for an image
US20040162131A1 (en) 2001-09-26 2004-08-19 Shuster Gary Stephen Method and apparatus for gaming based upon a paper ticket
US20040073439A1 (en) 2002-03-26 2004-04-15 Ideaflood, Inc. Method and apparatus for issuing a non-transferable ticket
US7465229B2 (en) 2002-03-26 2008-12-16 Hoshiko Llc Slot-machine game with adjusting payout table
DE10239672B4 (de) * 2002-08-26 2005-08-11 Universität des Saarlandes Verfahren und Vorrichtung zur Erzeugung einer zweidimensionalen Abbildung einer dreidimensionalen Struktur
US8458028B2 (en) * 2002-10-16 2013-06-04 Barbaro Technologies System and method for integrating business-related content into an electronic game
US20040143852A1 (en) * 2003-01-08 2004-07-22 Meyers Philip G. Systems and methods for massively multi-player online role playing games
WO2004081854A1 (en) * 2003-03-06 2004-09-23 Animetrics, Inc. Viewpoint-invariant detection and identification of a three-dimensional object from two-dimensional imagery
US20040210560A1 (en) 2003-04-16 2004-10-21 Shuster Gary Stephen Method and system for searching a wide area network
US8290948B2 (en) 2003-06-30 2012-10-16 Hoshiko, Llc Method and apparatus for content filtering
US7835294B2 (en) 2003-09-03 2010-11-16 Gary Stephen Shuster Message filtering method
US20050114672A1 (en) * 2003-11-20 2005-05-26 Encryptx Corporation Data rights management of digital information in a portable software permission wrapper
US7460737B2 (en) 2004-02-12 2008-12-02 Hoshiko Llc Method and apparatus for photograph finding
WO2006118558A1 (en) * 2004-04-14 2006-11-09 Sagi Richberg Method and system for connecting users
US20060080702A1 (en) * 2004-05-20 2006-04-13 Turner Broadcasting System, Inc. Systems and methods for delivering content over a network
US7813917B2 (en) 2004-06-22 2010-10-12 Gary Stephen Shuster Candidate matching using algorithmic analysis of candidate-authored narrative information
US7418709B2 (en) * 2004-08-31 2008-08-26 Microsoft Corporation URL namespace to support multiple-protocol processing within worker processes
US8799242B2 (en) * 2004-10-08 2014-08-05 Truecontext Corporation Distributed scalable policy based content management
WO2006058220A2 (en) 2004-11-24 2006-06-01 Interdigital Technology Corporation Protecting content objects with rights management information
US20080133392A1 (en) 2005-02-04 2008-06-05 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Security arrangements for virtual world obligations
US20080092065A1 (en) 2005-02-04 2008-04-17 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Third party control over virtual world characters
US20070013691A1 (en) 2005-07-18 2007-01-18 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Supervisory authority in virtual world environment
US8566111B2 (en) 2005-02-04 2013-10-22 The Invention Science Fund I, Llc Disposition of component virtual property rights
US20070118420A1 (en) * 2005-02-04 2007-05-24 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Context determinants in virtual world environment
US20070168214A1 (en) 2005-03-30 2007-07-19 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Virtual credit with transferability
US8192286B2 (en) 2005-04-19 2012-06-05 Sony Online Entertainment Llc System for secure transfer of online privileges
WO2007030710A2 (en) 2005-09-08 2007-03-15 Hoshiko, Llc Gaming method
WO2007030812A2 (en) 2005-09-09 2007-03-15 Hoshiko, Llc Network router mac-filtering
US7779280B2 (en) 2005-09-16 2010-08-17 Gary Stephen Shuster Low power mode for portable computer system
US7775885B2 (en) * 2005-10-14 2010-08-17 Leviathan Entertainment, Llc Event-driven alteration of avatars
US7874521B2 (en) 2005-10-17 2011-01-25 Hoshiko Llc Method and system for aviation navigation
US10148905B2 (en) 2005-10-19 2018-12-04 Intellectual Ventures I Llc Digital medium with hidden content
US20070093232A1 (en) 2005-10-21 2007-04-26 Shuster Gary S Management of an alert signal for a telecommunications device
US8577698B2 (en) 2005-10-25 2013-11-05 Intellectual Ventures I Llc Retail price hedging
US20070271162A1 (en) 2005-11-07 2007-11-22 Shuster Gary S Invoice Management For Distributed Content
US7937320B2 (en) 2005-11-14 2011-05-03 Hoshiko, Llc Managed purchasing account for defined commodities
US9089771B2 (en) * 2006-02-17 2015-07-28 Alcatel Lucent Method and apparatus for synchronizing assets across distributed systems
JP4177381B2 (ja) * 2006-03-01 2008-11-05 株式会社スクウェア・エニックス 画像生成方法、画像生成装置、および画像生成プログラム
US20070214239A1 (en) * 2006-03-10 2007-09-13 Mechkov Chavdar B Dynamically updated web page
US20080033641A1 (en) * 2006-07-25 2008-02-07 Medalia Michael J Method of generating a three-dimensional interactive tour of a geographic location
US8726195B2 (en) * 2006-09-05 2014-05-13 Aol Inc. Enabling an IM user to navigate a virtual world
US20080055306A1 (en) 2006-09-05 2008-03-06 William Ming Yi Kwok Virtual three-dimensional environment
US7744464B2 (en) 2006-09-19 2010-06-29 Gary Stephen Shuster Method of managing a card game, a computer implementation thereof, and a card game kit
US8683386B2 (en) 2006-10-03 2014-03-25 Brian Mark Shuster Virtual environment for computer game
US9329743B2 (en) 2006-10-04 2016-05-03 Brian Mark Shuster Computer simulation method with user-defined transportation and layout
US20080120558A1 (en) * 2006-11-16 2008-05-22 Paco Xander Nathan Systems and methods for managing a persistent virtual avatar with migrational ability
US9555334B2 (en) * 2006-12-13 2017-01-31 Qualcomm Incorporated System and method for managing virtual worlds mapped to real locations in a mobile-enabled massively multiplayer online role playing game (MMORPG)
US9569876B2 (en) 2006-12-21 2017-02-14 Brian Mark Shuster Animation control method for multiple participants
US8545301B2 (en) 2007-01-17 2013-10-01 Gary Stephen Shuster Remote card game with duplicate hands
US7803042B2 (en) 2007-01-17 2010-09-28 Gary Stephen Shuster Card game with common card removal
US20100169779A1 (en) * 2007-02-13 2010-07-01 David Clarence Mason Multi-media production system and method
US7979067B2 (en) * 2007-02-15 2011-07-12 Yahoo! Inc. Context avatar
WO2008109798A2 (en) 2007-03-07 2008-09-12 Ideaflood, Inc. Multi-instance, multi-user animation platforms
US7945052B2 (en) 2007-03-29 2011-05-17 Gary Stephen Shuster Method of distributing a decryption key in fixed-content data
US20080263460A1 (en) 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Connect People for Virtual Meeting in Virtual Reality
US7958303B2 (en) 2007-04-27 2011-06-07 Gary Stephen Shuster Flexible data storage system
US7914144B2 (en) 2007-05-02 2011-03-29 Gary Stephen Shuster Eyewear with pinhole aperture and lens
US8431263B2 (en) 2007-05-02 2013-04-30 Gary Stephen Shuster Automated composite battery
US20080272928A1 (en) 2007-05-03 2008-11-06 Shuster Gary S Signaling light with motion-sensing light control circuit
US7916619B2 (en) 2007-05-03 2011-03-29 Gary Stephen Shuster Optically-readable disk with copy protection device
US8533283B2 (en) 2007-05-03 2013-09-10 Gary Stephen Shuster Redirection method for electronic content
US7804744B2 (en) 2007-05-03 2010-09-28 Gary Stephen Shuster Optically-readable disk with copy protection device
US9137257B2 (en) 2007-05-04 2015-09-15 Gary Stephen Shuster Anti-phishing filter
US8126971B2 (en) 2007-05-07 2012-02-28 Gary Stephen Shuster E-mail authentication
US9965132B2 (en) * 2007-06-08 2018-05-08 Apple Inc. Presenting text messages
US8259117B2 (en) 2007-06-18 2012-09-04 Brian Mark Shuster Avatar eye control in a multi-user animation environment
US20090037822A1 (en) * 2007-07-31 2009-02-05 Qurio Holdings, Inc. Context-aware shared content representations
US8713181B2 (en) 2007-08-03 2014-04-29 International Business Machines Corporation Method for transferring inventory between virtual universes
US20090058862A1 (en) * 2007-08-27 2009-03-05 Finn Peter G Automatic avatar transformation for a virtual universe
US20090079743A1 (en) * 2007-09-20 2009-03-26 Flowplay, Inc. Displaying animation of graphic object in environments lacking 3d redndering capability
US9289681B2 (en) 2007-10-09 2016-03-22 International Business Machines Corporation Suggested actions within a virtual environment
US7769806B2 (en) 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US7809789B2 (en) 2007-10-25 2010-10-05 Brian Mark Shuster Multi-user animation coupled to bulletin board
US8049756B2 (en) 2007-10-30 2011-11-01 Brian Mark Shuster Time-dependent client inactivity indicia in a multi-user animation environment
US20090125481A1 (en) * 2007-11-09 2009-05-14 Mendes Da Costa Alexander Presenting Media Data Associated with Chat Content in Multi-Dimensional Virtual Environments
US20090128567A1 (en) 2007-11-15 2009-05-21 Brian Mark Shuster Multi-instance, multi-user animation with coordinated chat
US20090141023A1 (en) 2007-11-29 2009-06-04 Brian Mark Shuster Selective filtering of user input data in a multi-user virtual environment
JP4931245B2 (ja) 2007-11-30 2012-05-16 インターナショナル・ビジネス・マシーンズ・コーポレーション アクセス制御方法、サーバ装置およびシステム
US20090150229A1 (en) 2007-12-05 2009-06-11 Gary Stephen Shuster Anti-collusive vote weighting
US8167724B2 (en) 2007-12-10 2012-05-01 Gary Stephen Shuster Guest management in an online multi-player virtual reality game
US20090158150A1 (en) 2007-12-18 2009-06-18 International Business Machines Corporation Rules-based profile switching in metaverse applications
US8443106B2 (en) 2007-12-21 2013-05-14 Gary Stephen Shuster Content restriction compliance using reverse DNS lookup
US8910043B2 (en) * 2008-01-07 2014-12-09 International Business Machines Corporation Modifying spaces in virtual universes
US8140978B2 (en) 2008-01-16 2012-03-20 International Business Machines Corporation System and method for providing information in a virtual world
US8206222B2 (en) 2008-01-29 2012-06-26 Gary Stephen Shuster Entertainment system for performing human intelligence tasks
JP5039921B2 (ja) 2008-01-30 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 圧縮システム、プログラムおよび方法
US9560003B2 (en) 2008-02-14 2017-01-31 Gary Stephen Shuster Erroneous addressing prevention for electronic messaging
US8595631B2 (en) * 2008-02-20 2013-11-26 International Business Machines Corporation Accessibility in virtual worlds using tags
US7895208B2 (en) * 2008-02-26 2011-02-22 International Business Machines Corporation Device, system, and method of creating virtual social networks based on web-extracted features
US20090225074A1 (en) 2008-03-06 2009-09-10 Bates Cary L Reconstruction of Virtual Environments Using Cached Data
US8539364B2 (en) * 2008-03-12 2013-09-17 International Business Machines Corporation Attaching external virtual universes to an existing virtual universe
US20090254968A1 (en) 2008-04-03 2009-10-08 International Business Machines Corporation Method, system, and computer program product for virtual world access control management
CN102084354A (zh) * 2008-04-05 2011-06-01 社会传播公司 基于共享虚拟区域通信环境的装置和方法
US20090265661A1 (en) 2008-04-14 2009-10-22 Gary Stephen Shuster Multi-resolution three-dimensional environment display
US9405831B2 (en) 2008-04-16 2016-08-02 Gary Stephen Shuster Avoiding masked web page content indexing errors for search engines
US8490004B2 (en) 2008-04-17 2013-07-16 Gary Stephen Shuster Evaluation of remote user attributes in a social networking environment
US20090265667A1 (en) 2008-04-22 2009-10-22 Josef Reisinger Techniques for Providing Three-Dimensional Virtual-World Presentations
US8274506B1 (en) * 2008-04-28 2012-09-25 Adobe Systems Incorporated System and methods for creating a three-dimensional view of a two-dimensional map
US8584025B2 (en) * 2008-05-02 2013-11-12 International Business Machines Corporation Virtual world teleportation
US7870074B2 (en) 2008-05-14 2011-01-11 International Business Machines Corporation Dynamic transferring of avatars between virtual universes
US8131753B2 (en) * 2008-05-18 2012-03-06 Rybak Ilya Apparatus and method for accessing and indexing dynamic web pages
US8386476B2 (en) 2008-05-20 2013-02-26 Gary Stephen Shuster Computer-implemented search using result matching
US8212661B2 (en) 2008-05-22 2012-07-03 Gary Stephen Shuster Alert signal control using receiver velocity
US8799787B2 (en) * 2008-05-27 2014-08-05 International Business Machines Corporation Explicit use of user context objects in a virtual universe
US20090300525A1 (en) * 2008-05-27 2009-12-03 Jolliff Maria Elena Romera Method and system for automatically updating avatar to indicate user's status
US20090298582A1 (en) * 2008-05-30 2009-12-03 Matthew Robert Dempsky Method and system for distributing browser-based computer games and files
US9002820B2 (en) 2008-06-05 2015-04-07 Gary Stephen Shuster Forum search with time-dependent activity weighting
US8066571B2 (en) * 2008-06-09 2011-11-29 Metaplace, Inc. System and method for enabling characters to be manifested within a plurality of different virtual spaces
US8187067B2 (en) 2008-06-13 2012-05-29 International Business Machines Corporation Automatic transformation of inventory items in a virtual universe
US8726355B2 (en) 2008-06-24 2014-05-13 Gary Stephen Shuster Identity verification via selection of sensible output from recorded digital data
US20090325138A1 (en) 2008-06-26 2009-12-31 Gary Stephen Shuster Virtual interactive classroom using groups
US20100005028A1 (en) 2008-07-07 2010-01-07 International Business Machines Corporation Method and apparatus for interconnecting a plurality of virtual world environments
US8471843B2 (en) 2008-07-07 2013-06-25 International Business Machines Corporation Geometric and texture modifications of objects in a virtual universe based on real world user characteristics
US8527625B2 (en) * 2008-07-31 2013-09-03 International Business Machines Corporation Method for providing parallel augmented functionality for a virtual environment
US9268385B2 (en) * 2008-08-20 2016-02-23 International Business Machines Corporation Introducing selective energy efficiency in a virtual environment
US8103956B2 (en) * 2008-09-12 2012-01-24 International Business Machines Corporation Adaptive technique for sightless accessibility of dynamic web content
US8108774B2 (en) 2008-09-26 2012-01-31 International Business Machines Corporation Avatar appearance transformation in a virtual universe
CN101828229B (zh) * 2008-09-30 2012-10-24 松下电器产业株式会社 记录有3d影像的记录介质、再现3d影像的再现装置及系统lsi
US9323856B2 (en) * 2008-10-14 2016-04-26 International Business Machines Corporation URL virtual naming and metadata mapping
US8745152B2 (en) * 2008-11-06 2014-06-03 Disney Enterprises, Inc. System and method for server-side avatar pre-rendering
US8352326B2 (en) * 2008-11-11 2013-01-08 International Business Machines Corporation Method, hardware product, and computer program product for implementing commerce between virtual worlds
US9056248B2 (en) 2008-12-02 2015-06-16 International Business Machines Corporation System and method for detecting inappropriate content in virtual worlds
US20100138755A1 (en) 2008-12-03 2010-06-03 Kulkarni Gaurav N Use of a virtual world to manage a secured environment
US8113959B2 (en) * 2008-12-04 2012-02-14 International Business Machines Corporation Method and system for rendering the scenes of a role playing game in a metaverse
US20100146409A1 (en) * 2008-12-04 2010-06-10 Sony Computer Entertainment Inc. Virtual Space Management System
US20100153858A1 (en) * 2008-12-11 2010-06-17 Paul Gausman Uniform virtual environments
US8271501B2 (en) * 2008-12-17 2012-09-18 International Business Machines Corporation Web search among rich media objects
US8878873B2 (en) * 2008-12-19 2014-11-04 International Business Machines Corporation Enhanced visibility of avatars satisfying a profile
US20100169799A1 (en) 2008-12-30 2010-07-01 Nortel Networks Limited Method and Apparatus for Enabling Presentations to Large Numbers of Users in a Virtual Environment
US20100185739A1 (en) 2009-01-16 2010-07-22 Gary Stephen Shuster Differentiated spam filtering for multiplexed message receiving devices
US20100185939A1 (en) * 2009-01-19 2010-07-22 International Business Machines Corporation Three-dimensional mark-up style sheet provision for virtual worlds
US9049234B2 (en) 2009-02-03 2015-06-02 Gary Stephen Shuster HTTP trigger for out-of-protocol action
US8508356B2 (en) 2009-02-18 2013-08-13 Gary Stephen Shuster Sound or radiation triggered locating device with activity sensor
US8984102B2 (en) 2009-02-20 2015-03-17 Gary Stephen Shuster Registration and use of patterns defined by expressions as domain names
US8245283B2 (en) * 2009-03-03 2012-08-14 International Business Machines Corporation Region access authorization in a virtual environment
US8558677B2 (en) 2009-03-26 2013-10-15 Gary Stephen Shuster Tactile alerting mechanism for portable communications device
US20100251337A1 (en) 2009-03-27 2010-09-30 International Business Machines Corporation Selective distribution of objects in a virtual universe
US20100245617A1 (en) 2009-03-31 2010-09-30 Gary Stephen Shuster Automated white balancing in digital photography
US8441486B2 (en) 2009-04-27 2013-05-14 Jagex Ltd. Position tracking in a virtual world
US9723319B1 (en) * 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
US8321787B2 (en) 2009-06-30 2012-11-27 International Business Machines Corporation Managing multiple virtual world accounts from a single virtual lobby interface
US9610502B2 (en) 2009-07-10 2017-04-04 International Business Machines Corporation Use of real time location information for user authentication and authorization in virtual environments
US20110012993A1 (en) 2009-07-14 2011-01-20 Panasonic Corporation Image reproducing apparatus
US8878912B2 (en) * 2009-08-06 2014-11-04 Qualcomm Incorporated Encapsulating three-dimensional video data in accordance with transport protocols
US8893000B2 (en) 2009-08-26 2014-11-18 International Business Machines Corporation Relocation between virtual environments based upon promotional and alert conditions
US9256896B2 (en) 2009-08-27 2016-02-09 International Business Machines Corporation Virtual universe rendering based on prioritized metadata terms
US9785909B2 (en) 2009-08-27 2017-10-10 International Business Machines Corporation Preventing propagation of malicious content in a virtual universe
US20110047828A1 (en) 2009-09-02 2011-03-03 Gary Stephen Shuster Remotely controlled footwear disruptor
WO2011040981A1 (en) 2009-10-02 2011-04-07 David Drai System and method for search engine optimization
US8356054B2 (en) * 2009-11-10 2013-01-15 International Business Machines Corporation Management of resources in a host system
US8424065B2 (en) * 2009-11-25 2013-04-16 International Business Machines Corporation Apparatus and method of identity and virtual object management and sharing among virtual worlds
US8347217B2 (en) * 2009-12-02 2013-01-01 International Business Machines Corporation Customized rule application as function of avatar data
US8738712B2 (en) * 2009-12-31 2014-05-27 Verizon Patent And Licensing Inc. Method and system for storing and presenting program messages
US20110157322A1 (en) * 2009-12-31 2011-06-30 Broadcom Corporation Controlling a pixel array to support an adaptable light manipulator
US8244754B2 (en) * 2010-02-01 2012-08-14 International Business Machines Corporation System and method for object searching in virtual worlds
US9086776B2 (en) * 2010-03-29 2015-07-21 Microsoft Technology Licensing, Llc Modifying avatar attributes
US8311940B2 (en) 2010-03-29 2012-11-13 Gary Stephen Shuster Conditional balance management for non-issuer debit instruments
US20110246026A1 (en) 2010-04-02 2011-10-06 Gary Stephen Shuster Vehicle console control system
US20110250974A1 (en) 2010-04-07 2011-10-13 Gary Stephen Shuster Simulated gaming using prior game outcome
US20110269532A1 (en) 2010-04-28 2011-11-03 Gary Stephen Shuster Gaming incorporating social group features
US8694899B2 (en) 2010-06-01 2014-04-08 Apple Inc. Avatars reflecting user states
US9800705B2 (en) * 2010-06-02 2017-10-24 Apple Inc. Remote user status indicators
US8694553B2 (en) 2010-06-07 2014-04-08 Gary Stephen Shuster Creation and use of virtual places
US8608537B2 (en) 2010-07-20 2013-12-17 Maslow Six Entertainment, Inc. System and method for simulating group play within asynchronous videogame content
US20120030289A1 (en) 2010-07-30 2012-02-02 Avaya Inc. System and method for multi-model, context-sensitive, real-time collaboration
KR20120017228A (ko) * 2010-08-18 2012-02-28 엘지전자 주식회사 이동 단말기 및 상기 이동 단말기의 영상 표시 방법
US8717447B2 (en) 2010-08-20 2014-05-06 Gary Stephen Shuster Remote telepresence gaze direction
US8949964B2 (en) 2010-08-25 2015-02-03 Gary Stephen Shuster Security key entry using ancillary input device
US20120059886A1 (en) 2010-08-30 2012-03-08 Gary Stephen Shuster Reply message handling for transient group
US20140372912A9 (en) 2010-10-30 2014-12-18 Aaron D. Cohen Multi-Dimensional Enhanced World View Experiences, Related Systems and Software, Methods of Use and Production Thereof
US8582829B2 (en) 2010-11-03 2013-11-12 Gary S. Shuster Online identity verification
US9192860B2 (en) 2010-11-08 2015-11-24 Gary S. Shuster Single user multiple presence in multi-user game
US20120130717A1 (en) 2010-11-19 2012-05-24 Microsoft Corporation Real-time Animation for an Expressive Avatar
US8560960B2 (en) 2010-11-23 2013-10-15 Apple Inc. Browsing and interacting with open windows
US8861421B2 (en) 2010-11-29 2014-10-14 Gary S. Shuster Mobile status update display
US8924262B2 (en) 2010-12-09 2014-12-30 Gary Stephen Shuster Automatic resupply of consumable commodities
US8589822B2 (en) * 2010-12-10 2013-11-19 International Business Machines Corporation Controlling three-dimensional views of selected portions of content
US8676050B2 (en) 2010-12-29 2014-03-18 Gary S. Shuster Autofocus calibration for long lenses
US20120179983A1 (en) * 2011-01-07 2012-07-12 Martin Lemire Three-dimensional virtual environment website
US8744119B2 (en) 2011-01-12 2014-06-03 Gary S. Shuster Graphic data alteration to enhance online privacy
US9007362B2 (en) 2011-01-14 2015-04-14 Brian Mark Shuster Adaptable generation of virtual environment frames
US8579710B2 (en) 2011-01-20 2013-11-12 Xmg Studio, Inc. Systems and methods of virtual goods trading using ratings to ascribe value to virtual goods
US9839844B2 (en) 2011-03-01 2017-12-12 Disney Enterprises, Inc. Sprite strip renderer
US8593565B2 (en) 2011-03-25 2013-11-26 Gary S. Shuster Simulated large aperture lens
WO2012164685A1 (ja) * 2011-05-31 2012-12-06 楽天株式会社 情報提供装置、情報提供方法、情報提供処理プログラム、情報提供処理プログラムを記録した記録媒体、及び情報提供システム
US8799788B2 (en) 2011-06-02 2014-08-05 Disney Enterprises, Inc. Providing a single instance of a virtual space represented in either two dimensions or three dimensions via separate client computing devices
WO2013026048A2 (en) 2011-08-18 2013-02-21 Utherverse Digital, Inc. Systems and methods of virtual world interaction

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000285064A (ja) * 1999-03-31 2000-10-13 Fujitsu Ltd 仮想空間共有システム
JP2003265860A (ja) * 2002-03-14 2003-09-24 Konami Co Ltd ゲーム機及びプログラム
JP2008512736A (ja) * 2004-08-05 2008-04-24 エリート アバタース, リミテッド ライアビリティ カンパニー 永続的、移入可能及び抽出可能なアバター
JP2010511230A (ja) * 2006-11-30 2010-04-08 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 仮想キャラクタを制御する方法、サーバおよびシステム
JP2009056181A (ja) * 2007-08-31 2009-03-19 Sega Corp ゲーム装置
US20090104990A1 (en) * 2007-08-31 2009-04-23 Hiroshi Tsujino Game device
US20090300521A1 (en) * 2008-05-30 2009-12-03 International Business Machines Corporation Apparatus for navigation and interaction in a virtual meeting place
US20090319609A1 (en) * 2008-06-23 2009-12-24 International Business Machines Corporation User Value Transport Mechanism Across Multiple Virtual World Environments
WO2010011067A2 (ko) * 2008-07-21 2010-01-28 삼성전자 주식회사 가상 현실 서비스 간의 상호 연동을 위한 장치 및 방법
JP2011528834A (ja) * 2008-07-21 2011-11-24 サムスン エレクトロニクス カンパニー リミテッド 仮想現実サービス間の相互連動のための装置及び方法
US20100306717A1 (en) * 2009-05-28 2010-12-02 Nintendo Co., Ltd. Storage medium having game program stored therein and game apparatus
JP2010273884A (ja) * 2009-05-28 2010-12-09 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
US20120185163A1 (en) * 2009-07-13 2012-07-19 Breght Roderick Boschker navigation route planning

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017040970A (ja) * 2015-08-17 2017-02-23 株式会社コロプラ ヘッドマウントディスプレイシステムを制御する方法、および、プログラム
JP5961736B1 (ja) * 2015-08-17 2016-08-02 株式会社コロプラ ヘッドマウントディスプレイシステムを制御する方法、および、プログラム
JP2018020029A (ja) * 2016-08-06 2018-02-08 株式会社オリンピア 遊技機
JP6473265B1 (ja) * 2018-08-31 2019-02-20 株式会社バーチャルキャスト コンテンツ配信サーバ、コンテンツ配信システム、コンテンツ配信方法及びプログラム
WO2020044875A1 (ja) * 2018-08-31 2020-03-05 株式会社ドワンゴ コンテンツ配信サーバ、コンテンツ配信システム、コンテンツ配信方法及びプログラム
JP2020036254A (ja) * 2018-08-31 2020-03-05 株式会社バーチャルキャスト コンテンツ配信サーバ、コンテンツ配信システム、コンテンツ配信方法及びプログラム
US11259071B2 (en) 2018-08-31 2022-02-22 Dwango Co., Ltd. Content distribution server, content distribution system, content distribution method, and program
JP7232223B2 (ja) 2020-08-27 2023-03-02 任天堂株式会社 ゲームプログラム、ゲームシステム、情報処理装置、および、情報処理方法
JP2022039851A (ja) * 2020-08-27 2022-03-10 任天堂株式会社 ゲームプログラム、ゲームシステム、情報処理装置、および、情報処理方法
US11491397B2 (en) 2020-08-27 2022-11-08 Nintendo Co., Ltd. Non-transitory computer-readable storage medium having stored therein game program, game system, information processing apparatus, and information processing method
KR20220066531A (ko) * 2020-11-16 2022-05-24 최세현 가상 현실 공간 비교 방법 및 시스템
KR102547816B1 (ko) * 2020-11-16 2023-06-26 최세현 가상 현실 공간 비교 방법 및 시스템
JP7455308B2 (ja) 2020-12-14 2024-03-26 グリー株式会社 情報処理システム、情報処理方法、情報処理プログラム
JP7332768B1 (ja) 2022-09-08 2023-08-23 Kddi株式会社 仮想空間サービス管理装置及び仮想空間サービス管理方法
JP7321346B1 (ja) 2022-09-29 2023-08-04 Kddi株式会社 仮想空間サービス管理装置及び仮想空間サービス管理方法
JP2024050190A (ja) * 2022-09-29 2024-04-10 Kddi株式会社 仮想空間サービス管理装置及び仮想空間サービス管理方法

Also Published As

Publication number Publication date
US20140007201A1 (en) 2014-01-02
US9046994B2 (en) 2015-06-02
US20130047208A1 (en) 2013-02-21
US20140059453A1 (en) 2014-02-27
US9386022B2 (en) 2016-07-05
US9509699B2 (en) 2016-11-29
CA2845730A1 (en) 2013-02-21
EP2745462A2 (en) 2014-06-25
US9531724B2 (en) 2016-12-27
US20140189543A1 (en) 2014-07-03
US20230053055A1 (en) 2023-02-16
US20130047098A1 (en) 2013-02-21
US9930043B2 (en) 2018-03-27
WO2013026048A2 (en) 2013-02-21
US20130044107A1 (en) 2013-02-21
US9087399B2 (en) 2015-07-21
US8522330B2 (en) 2013-08-27
US20130305142A1 (en) 2013-11-14
US20180227308A1 (en) 2018-08-09
US20150264053A1 (en) 2015-09-17
US9473503B2 (en) 2016-10-18
US8453219B2 (en) 2013-05-28
US20140189542A1 (en) 2014-07-03
US20210058397A1 (en) 2021-02-25
US20130047217A1 (en) 2013-02-21
US20130346883A1 (en) 2013-12-26
US10701077B2 (en) 2020-06-30
EP2745462B1 (en) 2021-10-20
US8572207B2 (en) 2013-10-29
US8671142B2 (en) 2014-03-11
US8621368B2 (en) 2013-12-31
US20130046853A1 (en) 2013-02-21
US8947427B2 (en) 2015-02-03
JP6101267B2 (ja) 2017-03-22
US20130046854A1 (en) 2013-02-21
US20130044106A1 (en) 2013-02-21
US8493386B2 (en) 2013-07-23
EP2745462A4 (en) 2015-05-20
WO2013026048A3 (en) 2013-06-13
EP3925676A1 (en) 2021-12-22
US20150138196A1 (en) 2015-05-21
US11507733B2 (en) 2022-11-22

Similar Documents

Publication Publication Date Title
US11507733B2 (en) System and methods of virtual world interaction
US9207836B2 (en) Virtual world teleportation
US9256898B2 (en) Managing shared inventory in a virtual universe

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150424

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150718

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20151024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160404

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160901

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: 20170131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170224

R150 Certificate of patent or registration of utility model

Ref document number: 6101267

Country of ref document: JP

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250