JP2020089734A - ゲームセッションへの参加を容易にするための方法およびシステム - Google Patents

ゲームセッションへの参加を容易にするための方法およびシステム Download PDF

Info

Publication number
JP2020089734A
JP2020089734A JP2019220516A JP2019220516A JP2020089734A JP 2020089734 A JP2020089734 A JP 2020089734A JP 2019220516 A JP2019220516 A JP 2019220516A JP 2019220516 A JP2019220516 A JP 2019220516A JP 2020089734 A JP2020089734 A JP 2020089734A
Authority
JP
Japan
Prior art keywords
session
electronic device
application
output
session identifier
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
JP2019220516A
Other languages
English (en)
Other versions
JP7022734B2 (ja
JP2020089734A5 (ja
Inventor
チャンピー,アダム
Champy Adam
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2020089734A publication Critical patent/JP2020089734A/ja
Publication of JP2020089734A5 publication Critical patent/JP2020089734A5/ja
Application granted granted Critical
Publication of JP7022734B2 publication Critical patent/JP7022734B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • 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/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/323Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections between game devices with different hardware characteristics, e.g. hand-held game devices connectable to game consoles or arcade machines
    • 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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • 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
    • 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/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】ゲームセッションへのユーザの参加を容易にするための方法を提供する。【解決手段】電子デバイスにおいて実行される方法は、アプリケーションを実行するステップと、実行中のアプリケーションと、アプリケーションに対応付けられたリモートサーバと、セッション116からの出力を出力装置108に送信するメディアデバイス106との間でセッションを確立するステップとを含み、セッションからの出力は、実行中のアプリケーションからの出力を含み、アプリケーションが実行中でない、またはインストールされていない第2の電子デバイスのユーザに、セッションに対応付けられたセッション識別子を提示するステップを含み、セッション識別子は、第2の電子デバイスがセッション加わることを容易にし、第2の電子デバイスユーザがセッションと対話することを可能にするための、第2の電子デバイスの各々の上に実装可能なコントローラ構成を識別する。【選択図】図1A

Description

技術分野
本明細書は、全体的に、コンピュータ技術に関し、ゲームセッションへのユーザの参加を容易にするための方法およびシステムを含むが、これに限定されない。
背景
Google Inc.によるCHROMECAST(登録商標)およびApple Inc.によるAPPLE TV(登録商標)などのメディアプレーヤーデバイスは、いろいろなメディアおよびエンターテイメントアプリケーションをサポートできる。複数のユーザからなるグループは、メディアプレーヤーデバイスが備え付けられた一か所に集まって、これらのアプリケーションから得られるエンターテインメントを一緒に楽しむことができる。
メディアプレーヤーデバイスがサポートするアプリケーションの種類の1つに、ゲームアプリケーションがある。多くのゲームは、複数のプレーヤーによってプレーするときが一番楽しいが、メディアプレーヤーデバイス上で実行するゲームアプリケーションまたはメディアプレーヤーデバイスを使用するゲームアプリケーションにおけるマルチプレーヤーサポートは、いくつかの問題を呈する。たとえば、ゲームアプリケーションのファイルサイズがかなり大きくなる傾向があり、プレーヤーになりそうな人の各々に全ゲームアプリケーションファイルをダウンロードさせることは、多くの時間およびデータ許容量を消費し得るため、難しいだろう。別の例として、ユーザは、ゲームの主要なゲームアプリケーションと、ゲームに固有のリモコンまたはコントローラアプリケーションとを別々にダウンロードする必要があることについて混乱してしまうだろう。これらの非能率な点は、マルチプレーヤーゲームをするコストを上げてしまい、たとえば、一か所に集まった複数のユーザによる自発的なゲームプレーには、並外れて高いだろう。
概要
本明細書に記載の実装形態は、1人のユーザが自身のデバイス(たとえば、スマートフォン)上にゲームアプリケーションを有するが、その他のプレーヤーはそうではない可能性がある場合のマルチプレーヤーゲームセッションを容易にすることを対象とする。
いくつかの実装形態において、デバイスを制御できるまたはウェブを介して配布され得、且つ、ウェブブラウザに統合できる、カスタム可能なフレームワークを有する標準コントローラがアプリケーションにおいて提示される。他のプレーヤーがセッション固有のショートリンクに行くまたはメッセージ(たとえば、ショートリンク付きのテキストメッセージ)を受信することのいずれかによって、彼らにゲーム体験を促してもよい。複数のゲーム間で動作するアプリケーションを有するユーザに、ゲーム固有のカスタマイズが適宜なされたコントローラが提示される。コントローラは、標準キーの領域を含んでもよく、両手または片手用の制御部についての標準キーの概念、または、開発者が第2の画面対話モデルを利用するために使用できる領域を有する不可視の制御部についての概念を含んでもよい。
記載の実装形態によって、ゲーム開発者用のインフラストラクチャを標準化しつつ、キャスティングデバイスアプリケーションのユーザが、高品質のゲームコントローラを手に
することができる。記載の実装形態は、マルチプレーヤーゲームセッションをセットアップすることをより効率的なものにすることによって、マルチプレーヤーゲームを容易にするという利点がある。
いくつかの実装形態によると、1つ以上のプロセッサと、1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを有する電子デバイスにおいて、方法が実行される。方法は、アプリケーションを実行するステップと、実行中のアプリケーションと、アプリケーションに対応付けられたリモートサーバと、セッションからの出力を出力装置に送信するメディアデバイスとの間でセッションを確立するステップを含み、セッションからの出力は、実行中のアプリケーションからの出力を含み、さらに、アプリケーションが実行中でないおよび/またはインストールされていない1つ以上の第2の電子デバイスの第2のユーザに、セッションに対応付けられたセッション識別子を提示するステップを含み、セッション識別子は、第2の電子デバイスがセッションに加わることを容易にし、1つ以上の第2の電子デバイスの第2のユーザがセッションと対話することを可能にするための、1つ以上の第2の電子デバイスの各々の上に実装可能なコントローラ構成を識別する。
いくつかの実装形態によると、1つ以上のプロセッサと、1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを有する電子デバイスにおいて、方法が実行される。方法は、第2の電子デバイス上で実行中のアプリケーションと、アプリケーションに対応付けられたリモートサーバとのセッションを確立するために、命令を受信するステップと、受信した命令に応じて、セッションを確立するステップと、セッションに対応付けられたセッション識別子を受信するステップとを含み、セッション識別子は、1つ以上の第3の電子デバイスがセッションに加わることを容易にし、第3の電子デバイスの1人以上のユーザがセッションと対話することを可能にするために、1つ以上の第3の電子デバイスの各々の上で実装可能なコントローラ構成を識別し、さらに、表示するために、セッション識別子を出力装置に送信するステップを含む。
いくつかの実装形態によると、電子デバイスは、1つ以上のプロセッサと、1つ以上のプロセッサによって実行される1つ以上のプログラムを格納するメモリとを備える。1つ以上のプログラムは、上述の方法のうちのいずれかを実行するための命令を含む。いくつかの実装形態によると、非一時的なコンピュータ読み取り可能な記憶媒体は、1つ以上のプログラムを格納し、1つ以上のプログラムは、命令を含み、命令は、1つ以上のプロセッサを有する電子デバイスによって実行されると、電子デバイスに、上述の方法のうちのいずれかを実行させる。
いくつかの実装形態に係る、例示的なゲーム環境の図である。 いくつかの実装形態に係る、別の例示的なゲーム環境の図である。 いくつかの実装形態に係る、例示的なクライアントデバイスを示すブロック図である。 いくつかの実装形態に係る、例示的なクライアントデバイスを示すブロック図である。 いくつかの実装形態に係る、例示的なメディアデバイスを示すブロック図である。 いくつかの実装形態に係る、例示的なサーバを示すブロック図である。 いくつかの実装形態に係る、例示的なユーザインタフェースを示す図である。 いくつかの実装形態に係る、例示的なユーザインタフェースを示す図である。 いくつかの実装形態に係る、例示的なゲームコントローラ・インタフェースを示す図である。 いくつかの実装形態に係る、例示的なゲームコントローラ・インタフェースを示す図である。 いくつかの実装形態に係る、例示的なゲームコントローラ・インタフェースを示す図である。 いくつかの実装形態に係る、例示的なゲームコントローラ・インタフェースを示す図である。 いくつかの実装形態に係る、アプリケーションセッションを確立するための例示的な方法を説明するフロー図である。 いくつかの実装形態に係る、セッション識別子を提示するための例示的な方法を説明するフロー図である。
図面の全体にわたって、同じ参照番号は、対応する部分を指す。
実装形態の説明
本明細書に記載のさまざまな実装形態において、ゲーム環境は、出力装置に接続されたメディアデバイス(たとえば、キャスティングデバイス)と、メディアデバイスに通信可能に接続された第1のクライアントデバイスとを含む。アプリケーション(たとえば、ゲームアプリケーション)は、第1のクライアントデバイス上で実行される。実行中のアプリケーションと、リモートサーバおよびメディアデバイスとの間でセッションが確立される。セッションの識別子(たとえば、リンク)が、1つ以上の第2のクライアントデバイスのユーザに提示されてもよく、当該ユーザは、セッション識別子を使用してセッションに加わることができる。また、セッションおよびセッション識別子は、第2のクライアントデバイスでのセッションとの対話を容易にするコントローラ構成に対応付けられる。このように、対話型アプリケーションに対応付けられたセッションは、ホストクライアントで開始されてもよく、アプリケーションがインストールされていないクライアントを含む追加のクライアントが、より効率的な方法でセッションに招待または載せられもよい。これに加えて、このように、セッションのための共通の入力インタフェースが、セッション中のホストクライアントおよび追加のクライアントに提供されてもよい。
図1Aは、いくつかの実装形態に係る、例示的なゲーム環境100である。ゲーム環境100は、ローカルネットワーク110上に、クライアントデバイス102と、メディアデバイス106とを含む。いくつかの実装形態において、ローカルネットワーク110は、有線(たとえば、イーサネット(登録商標))および/または無線(たとえば、Wi−Fi)通信を使用して、1つ以上のデバイスをネットワーク接続する。たとえば、ローカルネットワーク110は、1つ以上のデバイスをローカルネットワーク110にネットワーク接続するルータ装置を含む。ローカルネットワーク110は、通信ネットワーク112(たとえば、ワイドエリアネットワーク、インターネット)に通信可能に接続される。
クライアントデバイス102とメディアデバイス106とは、通信可能に接続される。クライアントデバイス102およびメディアデバイス106は、互いに、ローカルネットワーク110を通して、および/または直接(たとえば、Bluetooth(登録商標)またはその他の無線通信を介して)通信してもよい。いくつかの実装形態において、クライアントデバイス102とメディアデバイス106とは互いにローカルである(たとえば、同じ部屋にある、同じ家にある、など)。メディアデバイス106は、ビジュアルコンテンツおよび/または音声コンテンツを出力できる1つ以上の出力装置108(たとえば、テレビ、ディスプレイモニタ、音響システム、スピーカーなど)に接続される。メディアデバイス106は、出力装置(複数可)108にコンテンツを出力するように構成される。いくつかの実装形態において、メディアデバイス106は、キャスティングデバイ
ス(たとえば、Google Inc.によるCHROMECAST(登録商標))、またはキャスト機能を他の方法で含むデバイスである。
クライアントデバイス102は、1つ以上のアプリケーションを含み、それらを実行できるデバイスである。いくつかの実装形態において、クライアントデバイス102は、スマートフォン、タブレットデバイス、ラップトップもしくはノートブックコンピュータ、デスクトップコンピュータ、またはマルチメディアデバイスである。
いくつかの実装形態において、クライアントデバイス102は、メディアデバイス106と連動して動作するように構成された1つ以上のアプリケーションを含む。いくつかの実装形態において、アプリケーションは、クライアントデバイス102をメディアデバイス106とペアリングさせ、メディアデバイス106の環境設定を行うためのメディアデバイスアプリケーションを含む。また、アプリケーションは、関連するコンテンツをメディアデバイス106にキャストできる1つ以上のアプリケーションを含む。いくつかの実装形態において、アプリケーションは、メディアデバイス106にデータ/コンテンツを(たとえば、ローカルネットワーク110を介して)直接送ることにより、および/または、メディアデバイス106がデータ/コンテンツをストリーム受信または受信できるリモート・ロケーション(たとえば、Universal Resource Locator(「URL」)または、サーバシステムでのロケーションへの他のリンク)にメディアデバイス106を移動させることによって、メディアデバイス106にデータおよび/またはコンテンツをキャストする。メディアデバイス106は、アプリケーションおよび/またはリモート・ロケーションからデータ/コンテンツを受信し、受信したデータ/コンテンツに対応するビジュアルコンテンツおよび/または音声コンテンツを出力装置108に出力する。
ゲーム環境100において、クライアントデバイス102(以下、「ホストクライアント」)のユーザ(以下、「ホストユーザ」)は、ホストクライアント102で実行するためのゲームアプリケーション(たとえば、ゲームアプリケーション228、図2A)を起動することによって、ゲームを開始できる。ゲームアプリケーションを実行することによって、サーバ114と通信し、サーバ114でゲームセッション116を確立する。また、いくつかの実装形態において、ユーザは、出力するためのゲームセッションに対応付けられたデータを受信するようメディアデバイス106に指図するために、ゲームアプリケーションにメディアデバイス106と通信するように指示できる。このように、ゲームアプリケーションと、リモートサーバ114と、メディアデバイス106との間にセッション116が確立される。
ホストユーザは、別のプレーヤーをゲームに加わるように招待できる。セッション116の識別子が、1つ以上のクライアントデバイス104(以下、「プレーヤークライアント(複数可)」)のユーザ(以下、「プレーヤーユーザ(複数可)」)に提示されてもよい。いくつかの実装形態において、セッション識別子は、インターネットリンク(たとえば、ショートURL)であるか、インターネットリンクを含む。いくつかの実装形態において、セッション識別子は、メディアデバイス106を通して出力装置108上に出力される。たとえば、セッション識別子は、メディアデバイス106に接続されたディスプレイに表示される。セッション識別子は、メディアデバイス106によって、ホストクライアント102またはサーバ114から受信される。その他のいくつかの実装形態において、セッション識別子は、メッセージに含めて(たとえば、テキストメッセージに含めて)プレーヤークライアント104に送られる。いくつかのさらなる実装形態において、セッション識別子は、通知メッセージ(たとえば、スマートフォンの通知)に含めて、プレーヤークライアント104上に提示される。たとえば、1つ以上のプレーヤークライアント104がホストクライアント102のローカルな場所にある(たとえば、同じ部屋にある
)と判定された場合、これらのプレーヤークライアント104にセッション識別子が送信されてもよい。プレーヤークライアント104は、セッションに加わるための招待をプレーヤーユーザに知らせる通知を表示する。プレーヤーユーザが通知を開いた場合、プレーヤーユーザは、通知からセッション識別子に直接アクセスする、またはセッション識別子を表示するアフォーダンスを実行する(たとえば、別のアプリケーションにおいて)ことができる。
セッション識別子は、セッション116に加わるために、プレーヤークライアント104で使用されてもよい。いくつかの実装形態において、セッション識別子は、セッション116のリンク(たとえば、Universal Resource Locator(「URL」))である。リンクまたはリンクをコード化したもの(たとえば、QRコード(登録商標))が出力装置108によって表示されてもよく、または、メッセージに含めてプレーヤーデバイス104に送られてもよい。
プレーヤークライアント104でセッション識別子が使用された(たとえば、セッション識別子リンクが実行された)とき、プレーヤークライアント104は、セッション116に加わるために、サーバ114と通信する。プレーヤークライアント104がセッション116に加わった後、プレーヤーユーザは、ホストユーザと一緒にゲームをすることができる、つまり、セッション116の出力に影響を与える入力を行うことができる。
いくつかの実装形態において、プレーヤークライアント104がホストクライアント102のローカルネットワーク110上にすでにある(たとえば、接続120を通してローカルネットワークに接続されている)場合、サーバ114とプレーヤークライアント104との間の通信は、ローカルネットワーク110を経由する。プレーヤークライアント104がホストクライアント102のローカルネットワーク110上にない場合、サーバ114とプレーヤークライアント104との間の通信は、別の接続(たとえば、セルラデータネットワークを通した接続118)を経由する。
いくつかの実装形態において、プレーヤークライアント104がセッション116に加わる処理の一部として、サーバ114は、プレーヤークライアント104の能力、および/またはサーバ114とプレーヤークライアント104との間の通信可能な接続の品質を評価する。いくつかの実装形態において、サーバ114は、クライアント104とサーバ114との間のネットワークレイテンシを計測する。計測されたレイテンシが閾値を上回り、より低いレイテンシの接続が利用可能である場合、サーバ114は、プレーヤークライアント104がより低いレイテンシの接続に変更することを提案する、または、より低いレイテンシの接続にプレーヤークライアント104を変更するようにプレーヤークライアント104のプレーヤーユーザを招待することができる。たとえば、プレーヤークライアント104がセルラ無線接続118上にあり、ホストユーザのローカルネットワーク110が利用可能である場合、サーバ114は、プレーヤークライアント104はローカルネットワーク110を通じて接続したほうがよいと提案できる。
いくつかの実装形態において、レイテンシの閾値要件は、ゲーム間で異なる。たとえば、より低いレイテンシの接続上で体験するのが一番良いゲーム(たとえば、アクションゲーム)もあれば、レイテンシに関する要求があまり厳しくない他のゲーム(たとえば、オンラインのボードゲームまたはカードゲーム)もあり、サーバ114は、これらの異なる要件を考慮して、接続の推奨を行ってもよい。
いくつかの実装形態において、サーバ114は、プレーヤークライアント104をより低いレイテンシの接続(たとえば、ローカルネットワーク110)に招待する、または、より低いレイテンシの接続へのプレーヤークライアント104の接続を容易にする。たと
えば、サーバ114は、ローカルネットワーク110へのアクセス認証情報(たとえば、Wi−Fiユーザ名およびローカルネットワーク110のルータのパスワード)を提示できる、または、提示するようにホストクライアント102またはメディアデバイス106に指図できる。いくつかの実装形態において、アクセス認証情報は、期間限定(たとえば、セッション116の期間のみ、当日のみなど)、および/またはセッション限定である。
プレーヤークライアント104がセッション116に加わることの一部として、サーバ114は、プレーヤークライアント104と通信し、プレーヤークライアント104上にコントローラをセットアップする。いくつかの実装形態において、これは、プレーヤークライアント104がコントローラ用に必要なリソースを有するかどうかをサーバ114が評価することを含み、評価には、プレーヤークライアント104が仮想コントローラを実現するために必要なアプリケーションを有するかどうか、および/またはプレーヤークライアント104とサーバ114との間の通信可能な接続がゲームセッションにとって適切なレイテンシを有するかどうかを含む(たとえば、上記能力および接続品質評価の一部として)。プレーヤークライアント104で利用可能なリソース、接続品質、およびゲームについての要件によっては、コントローラは、プレーヤークライアント104において違った形で実現されてもよい。
いくつかの実装形態において、標準コントローラは、ゲームに固有でないまたはゲームに直接対応付けられていない既定のアプリケーション(たとえば、Google Inc.によるCHROMECAST(登録商標)またはGOOGLE CASTなどのキャスティングデバイスアプリケーション、またはその他のメディアデバイスアプリケーション)において実現される、または、プレーヤークライアント104のオペレーティングシステムにおいて実現される。たとえば、プレーヤークライアント104上のデバイスオペレーティングシステムまたは既定のアプリケーションは、コントローラ・サブモジュールを有してもよい。コントローラ・サブモジュールは、1つ以上の標準コントローラ構成、テンプレートなどを含む。標準コントローラ構成の各々によって、仮想コントローラを実現するためにプレーヤークライアント104上の入力装置および/またはセンサを何らかの方法で利用するためにコントローラ・サブモジュールの環境設定を行う。どの標準コントローラ構成を使用するかは、ゲームによって、および/またはプレーヤークライアント104の種類によって異なり得る。たとえば、プレーヤークライアント104がタッチスクリーンを有するモバイル機器である場合、モバイル機器に表示されてタッチスクリーンを利用する仮想コントローラパッドを実現する、標準コントローラ構成が使用される。仮想コントローラパッドは、仮想ボタン、仮想方向パッド、および/または仮想ジョイスティックを含んでもよい、別の例として、プレーヤークライアント104が、物理キーボードを有するラップトップまたはデスクトップコンピュータである場合、物理キーボードのキーをコントローラ機能にマッピングする標準コントローラ構成が使用されてもよい。さらなる例として、センサー(たとえば、加速度計)を備える、プレーヤークライアント104の動きを入力として使用するゲーム用のプレーヤークライアント104については、タッチスクリーン上に、必要であれば、プレーヤークライアント104を1つ以上の仮想ボタンが表示されたモーションコントローラに変える、標準コントローラ構成が使用される。
標準コントローラ構成は、複数のゲームによって使用されてもよく、その標準コントローラ構成を使用する互いに異なるゲーム間で同じである。セッション116に加わる処理の一部として、プレーヤークライアント104は、どの標準コントローラ構成を使用するかについて指示される。さらに、標準コントローラ構成は、ホストクライアント102上で使用されてもよい。
いくつかの実装形態において、ゲームは、コントローラ・サブモジュール上で実装され得る固有のコントローラ構成を有する。ホストクライアント102がセッション106を開始し、プレーヤークライアント104がセッション116に加わる処理の一部として、このような構成は、サーバ114に格納され、ホストクライアント102およびプレーヤークライアント104に送信されてもよい。固有の構成は、後で利用するために、ホストクライアント102および/またはプレーヤークライアント104において格納またはキャッシュされてもよい。固有のコントローラ構成は、コントローラ・サブモジュールに適用されてもよく、コントローラ・サブモジュールは、固有のコントローラ構成にとっての空白のキャンバスとして作用する。いくつかの実装形態において、固有のコントローラ構成は、完全にカスタムされたコントローラ、または標準コントローラとカスタムコントローラもしくはカスタム領域との組み合わせとすることができる。
いくつかの実装形態において、ゲームは、ゲームに対応付けられた固有のアプリケーションを必要とする。たとえば、ゲームは、特にゲームに対応付けられたコントローラアプリケーションを必要としてもよい。
いくつかの実装形態において、プレーヤークライアント104は、セッション116に加わることの一部として、固有のアプリケーションまたは既定のアプリケーションをダウンロードするよう指図されてもよい。たとえば、プレーヤークライアント104が、既定のアプリケーション(コントローラ・サブモジュールを有する)またはゲームに対応付けられた固有のアプリケーションをまだ有しておらず、このようなアプリケーションがプレーに必要である場合、サーバ114は、ダウンロードが必要であるというプロンプトをプレーヤーユーザに示し、続行するための許可をプレーヤーユーザに求めるよう、プレーヤークライアント104に指示する。
いくつかの実装形態において、ウェブページベースのコントローラインタフェースを用いてゲームをすることができる。たとえば、ゲーム用のコントローラインタフェースがウェブページに埋め込まれていてもよく、ウェブページがプレーヤークライアント104(および/またはホストクライアント102)上のウェブブラウザにレンダリングされる。次に、プレーヤーユーザは、ウェブページのコントローラインタフェースと対話できる。ウェブページベースの制御インタフェースがセッション116用に最適のコントローラである場合、サーバ114は、プレーヤークライアント104がセッションに加わったときに、制御インタフェースウェブページをプレーヤークライアント104に送信する。
いくつかの実装形態において、ゲームセッション116にどのコントローラが使用されるかは、ゲームの仕様および/またはクライアント102/104で利用可能なリソースに基づく。たとえば、ゲーム固有のアプリケーションがダウンロードされることをゲームが必要とする場合、プレーヤークライアント104は、アプリケーションの存在についてチェックされ、アプリケーションが存在しない場合、ダウンロードするよう促すプロンプトが送られる。ゲームがゲーム固有のアプリケーションを必要としない代わりに、コントローラ・サブモジュールの標準コントローラ構成またはコントローラテンプレートを利用する場合、プレーヤークライアント104は、コントローラ・サブモジュールの存在についてチェックされ、コントローラ・サブモジュールが存在しない場合、ダウンロードするよう促すプロンプトが(たとえば、アプリケーションにおいてまたはオペレーティングシステム更新時に)送られる。コントローラ・サブモジュールが存在する場合、コントローラ構成またはテンプレート(たとえば、ゲーム固有のカスタムテンプレート、どの標準コントローラ構成を使用するかについての指示)がプレーヤークライアント104に送信される。さらなる例として、ゲームが、標準コントローラ構成またはウェブページベースのインタフェースのいずれかを使用でき、低レイテンシ制御を必要としない場合、コントローラ・サブモジュールが存在しないのであれば、追加のダウンロードを回避するために、
ウェブページベースのインタフェースを使用してもよい。
いくつかの実装形態において、上述したように、プレーヤークライアント104とサーバ114との間の通信可能な接続の品質がチェックされる。たとえば、レイテンシに関する要件がゲームにあり、セルラデータネットワークを介した接続がその要件を満たさない場合、より高品質の接続(たとえば、ローカルエリアネットワーク接続)に切り替えるよう促すプロンプトが送信されてもよい。たとえば、プレーヤークライアント104がセルラデータネットワークを通して接続しており(118)、その接続118がゲームにとって高すぎるレイテンシを有する場合、プレーヤークライアント104をローカルネットワークを通した接続に切り替えるようにプレーヤーユーザを促してもよい。プレーヤークライアント104がホストクライアント102と同じ場所にある(たとえば、同じ部屋にある)場合、プレーヤークライアント104は、ホストクライアント102と同じローカルネットワーク110に接続できる(120)。いくつかの実装形態において、メディアデバイス106またはホストクライアント102、または、ローカルネットワーク110用のルータでさえも、ローカルネットワーク110(たとえば、ローカルネットワーク11のルータのWi−Fi認証情報)に加わるための認証情報をプレーヤークライアント104に定要するよう、サーバ114に指示される。これらの認証情報は、たとえば、出力装置108上に表示され(プレーヤーユーザが、認証情報を手動で入力する、または認証情報をコード化したコードをスキャンする)、または、プレーヤークライアント104に送られてもよい。これらの認証情報は、たとえば、セッションごと、1日、またはセッション限定および/もしくは期間限定など、一時的であってもよい。
プレーヤークライアント104がセッション116に加わり、適切なコントローラ構成を受信した後、プレーヤーユーザは、プレーヤークライアント104上でゲームをして、ゲームセッション116からの出力に影響を与えることができる。
図1Bは、いくつかの実装形態に係る、別の例示的なゲーム環境130を示す図である。多くの点において、ゲーム環境130は、ゲーム環境100と同様である。クライアント102と同様に、クライアント132は、ホストユーザのホストクライアントである。ゲーム環境130では任意であるメディアデバイス136は、メディアデバイス106と同様である。出力装置138は、出力装置108と同様である。クライアント(複数可)104と同様に、クライアント(複数可)134は、プレーヤーユーザ(複数可)のプレーヤークライアント(複数可)である。サーバ144は、サーバ114と同様であり、ネットワーク112と同様である1つ以上の通信ネットワーク148を通じて、クライアントデバイスおよびその他のデバイスと通信する。セッション146は、セッション116と同様であり、ホストクライアント132が、まず、サーバ144とのセッション146を確立し、プレーヤークライアント134がセッション146に加わる。
ゲーム環境130において、ホストクライアント132(および、メディアデバイス136および出力装置138)は、プレーヤークライアント134から離れており、プレーヤーユーザは、ホストユーザから離れている。つまり、プレーヤークライアント134は、ホストクライアント134と同じ場所に(たとえば、同じ部屋、それどころか、同じ建造物に)位置しない。図1Aの場合のように、ホストクライアント132で実行するためのゲームアプリケーション(たとえば、ゲームアプリケーション228、図2A)を起動することによって、ゲームが開始されてもよい。ゲームアプリケーションを実行することによって、サーバ146とのセッション146が確立される。プレーヤークライアント134は、セッション146に加わるようにメッセージによって招待され、セッションに加わるためのリンクが付いたメッセージがプレーヤークライアント134に送られる。セッション146に加わるプレーヤークライアント134に、適切なコントローラ構成が提供される。また、いくつかの実装形態において、サーバ144は、プレーヤークライアント
(複数可)134がホストクライアント132に対してローカルではないと判定し、ホストクライアント132のローカルネットワークに接続するための認証情報のプレーヤークライアント(複数可)134への提供を促すまたは容易にすることを省いて、その代わりに、必要であれば、利用可能なローカルネットワークに接続するようにプレーヤークライアント(複数可)134を促す。
図2Aは、いくつかの実装形態に係る、ゲーム環境100の例示的なホストクライアント102を示すブロック図である。クライアントデバイス102として、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、およびウェアラブルパーソナルデバイスなどがあるが、これらに限定されない。クライアントデバイス102は、通常、1つ以上の処理装置(CPU)202と、1つ以上のネットワークインタフェース204と、メモリ206と、これらのコンポーネント(チップセットと呼ばれることがある)を相互に接続するための1つ以上の通信バス208とを備える。クライアントデバイス102は、キーボード、マウス、ボイスコマンド入力部もしくはマイクロホン、タッチスクリーンディスプレイ、タッチ入力パッド、ジェスチャーキャプチャーカメラ、またはその他の入力ボタンもしくは制御部など、ユーザ入力を容易にする1つ以上の入力装置210を含む。さらに、クライアントデバイス102のうちのいくつかは、キーボードを補助または置き換えるために、マイクロホンおよび音声認識、またはカメラおよびジェスチャー認識を使用する。いくつかの実装形態において、クライアントデバイス102は、たとえば、電子デバイス上にプリントされた図形シリーズコードを撮影するための1つ以上のカメラ、スキャナ、または光センサ部を備える。また、クライアントデバイス102は、1つ以上のスピーカーおよび/または1つ以上の表示装置を含む、ユーザインタフェースの提示を可能にし、コンテンツを表示する、1つ以上の出力装置212を備える。必要であれば、クライアントデバイス102は、クライアントデバイス102の位置を特定するための、GPS(Global Positioning Satellite)またはその他の地理的位置受信機など、位置検出デバイス214を備える。また、クライアントデバイス102は、メディアデバイス106の近接度および/またはプレーヤークライアント104の近接度を判定するための近接度検出デバイス215、たとえば、IRセンサを備えてもよい。また、クライアントデバイス102は、入力として使用され得るクライアントデバイス102の動き、向き、およびその他のパラメータを検知するための1つ以上のセンサ213(たとえば、加速度計、ジャイロスコープなど)を備えてもよい。
メモリ206は、DRAM、SRAM、DDR RAMなどの高速ランダムアクセスメモリ、またはその他のランダムアクセス固体記憶装置を含み、必要であれば、1つ以上の磁気ディスク記憶装置、1つ以上の光学ディスク記憶装置、1つ以上のフラッシュメモリデバイスなどの不揮発性メモリ、または1つ以上のその他の不揮発性固体記憶装置を含む。メモリ206は、必要であれば、1つ以上の処理装置202から離れて位置する1つ以上の記憶装置を含む。メモリ206、またはメモリ206内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実装形態において、メモリ206、またはメモリ206の非一時的なコンピュータ読み取り可能な記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する。
●さまざまな基本のシステムサービスを処理するため、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム216。
●1つ以上のネットワークインタフェース204(有線または無線)およびローカルネットワーク110、ならびに、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つ以上のネット
ワーク112を介してクライアントデバイス102をその他のデバイス(たとえば、サーバシステム114、メディアデバイス106、およびプレーヤークライアント104)に接続するためのネットワーク通信モジュール218。
●1つ以上の出力装置212(たとえば、ディスプレイ、スピーカーなど)を介してクライアントデバイス102で情報の提示を可能にするためのユーザインタフェースモジュール220(たとえば、アプリケーション、ウィジェット、ウェブサイトおよびそのウェブページ、ならびに/またはゲーム、音声および/もしくは映像コンテンツ、テキストなどを提示するためのグラフィカルユーザインタフェース)。
●1つ以上の入力装置210のうちの1つから1つ以上のユーザ入力または対話を検出するための、および検出された入力または対話を解釈するための入力処理モジュール222。
●セッション116に加わるためのウェブインタフェースを含む、ウェブサイトおよびそのウェブページを移動、要求(たとえば、HTTPを介して)、および表示するためのウェブブラウザ・モジュール224。
●メディアデバイス106と対話するためのメディアデバイスアプリケーション226。対話することは、メディアデバイス106に対応付けられたユーザアカウントにログインすることと、ユーザアカウントに対応付けられている場合、メディアデバイス106を制御することと、メディアデバイス106に対応付けられた設定およびデータを編集および見直すこととを含む。
●クライアントデバイス102上にゲーム(複数可)を提供するためのゲームアプリケーション(複数可)228。提供することは、対応するゲームプレーを容易にすることと、別のプレーヤーの招待を容易にすることとを含む。
●ゲームアプリケーション(複数可)228にゲームプレー入力インタフェースを提供するためのゲームコントローラモジュール230。
●サーバ114、ならびにその他のコンテンツのホストおよびその他のプロバイダからデータ(たとえば、ゲームコントローラ構成438(図4)、ゲームアプリケーション228およびその他のアプリケーション、モジュール、アプリケーション、およびメモリ206内のデータに対するアップデート)をダウンロードするためのデータダウンロードモジュール231。
●少なくとも以下を含む、ゲームアプリケーション228およびその他のアプリケーション/モジュールに対応付けられたデータを格納するクライアントデバイスデータ232。
○共通のデバイス設定(たとえば、サービス階層、デバイスモデル、記憶容量、処理能力、通信能力など)を含む、クライアントデバイス102自体に対応付けられた情報を格納するためのクライアントデバイス設定234。
○アカウントアクセス情報およびデバイス設定に関する情報(たとえば、サービス階層、デバイスモデル、記憶容量、処理能力、通信能力など)のうちの1つ以上を含む、メディアデバイスアプリケーション226のユーザアカウントに対応付けられた情報を格納するためのメディアデバイス設定236。
○アカウントアクセス情報、ゲーム内のユーザ設定、ゲームプレー履歴データ、および他のプレーヤーについての情報、のうちの1つ以上を含む、ゲームアプリケーション(複数可)228のユーザアカウントに対応付けられた情報を格納するためのゲームアプリケーション(複数可)設定238。
○ゲームアプリケーション(複数可)228用のゲームコントローラモジュール230の構成(たとえば、ゲームコントローラ構成438から受信した構成、図4)に対応付けられた情報を格納するためのゲームコントローラ構成(複数可)240。
○クライアントデバイス102、メディアデバイス106、およびプレーヤークライアント(複数可)104のうちのいずれかの存在、近接度、または位置に対応付けられた情報を含む位置/近接度データ242。
いくつかの実装形態において、ゲームコントローラモジュール230は、メモリ206内のメディアデバイスアプリケーション226または別のアプリケーションの一部(たとえば、サブモジュール)である。その他のいくつかの実装形態において、ゲームコントローラモジュール230は、オペレーティングシステム216の一部である。いくつかのさらなる実装形態において、ゲームコントローラモジュール230は、別個のモジュールまたはアプリケーションである。
上記構成要素の各々は、前述の記憶装置のうちの1つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム(つまり、命令セット)は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールのさまざまなサブセットは、さまざまな実装形態において、組み合わされるまたは並べ替えられてもよい。いくつかの実装形態において、メモリ206は、必要であれば、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ206は、必要であれば、上に記載されない追加のモジュールおよびデータ構造を格納する。
図2Bは、いくつかの実装形態に係る、ゲーム環境100の例示的なプレーヤークライアント104を示すブロック図である。プレーヤークライアント104は、ホストクライアント102と同様であり、プレーヤークライアント104は、ホストクライアント102と同様のコンポ―ネント、モジュール、およびデータを有する。しかしながら、プレーヤークライアント104では、メディアデバイスアプリケーション226(それに応じて、メディアデバイス設定236)およびゲームアプリケーション228(それに応じて、ゲームアプリケーション設定238)は、任意である。プレーヤークライアント104が加わるように招待される特定のゲームによっては、メディアデバイスアプリケーション226およびゲームアプリケーション228は、プレーに必要ではない。これらのアプリケーションのうちのいずれかがゲームをするために必要であり(たとえば、ゲームがメディアデバイスアプリケーション226内のゲームコントローラモジュール230を使用する)、アプリケーションがメモリ206にない場合、プレーヤークライアント104は、アプリケーションをダウンロードするように促されてもよい。
図3は、いくつかの実装形態に係る、ゲーム環境100の例示的なメディアデバイス106を示すブロック図である。メディアデバイス106は、通常、1つ以上の処理装置(CPU)302と、1つ以上のネットワークインタフェース304と、メモリ306と、これらのコンポーネント(チップセットと呼ばれることがある)を相互に接続するための1つ以上の通信バス308とを備える。必要であれば、メディアデバイス106は、クライアントデバイス102または104の近接度を判定するための、IRセンサなどの近接度/位置検出部310を備える。
メモリ306は、DRAM、SRAM、DDR RAMなどの高速ランダムアクセスメモリ、またはその他のランダムアクセス固体記憶装置を含み、必要であれば、1つ以上の磁気ディスク記憶装置、1つ以上の光学ディスク記憶装置、1つ以上のフラッシュメモリデバイスなどの不揮発性メモリ、または1つ以上のその他の不揮発性固体記憶装置を含む。メモリ306は、必要であれば、1つ以上の処理装置302から離れて位置する1つ以上の記憶装置を含む。メモリ306、またはメモリ306内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実装形態において、メモリ306、またはメモリ306の非一時的なコンピュータ読み取り可能な記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する。
●さまざまな基本のシステムサービスを処理するため、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム316。
●1つ以上の処理装置304(有線または無線)、および、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ケーブルテレビシステム、衛星テレビシステム、IPTVシステムなどの1つ以上のネットワーク112を介してメディアデバイス106をその他のコンピュータまたはシステム(たとえば、サーバシステム114、およびクライアントデバイス102))に接続するためのネットワーク通信モジュール318。
●1つ以上のコンテンツソース(たとえば、ゲームセッション116からの出力のためのサーバ114)から受信したコンテンツ信号を復号化し、復号化された信号に含まれるコンテンツを、メディアデバイス106に接続された出力装置108に出力するためのコンテンツ復号化モジュール320。
●近接度検出部310によって検出されるまたはサーバシステム114によって提供される近接度関連情報に基づいて、クライアントデバイス102および/または104の近接度を特定するための近接度/位置特定モジュール322。
●メディア表示を制御するためのメディア表示モジュール324。
●少なくとも以下を含むデータを格納するメディアデバイスデータ326。
○アカウントアクセス情報およびデバイス設定に関する情報(たとえば、サービス階層、デバイスモデル、記憶容量、処理能力、通信能力など)のうちの1つ以上を含む、メディアデバイスアプリケーションのユーザアカウントに対応付けられた情報を格納するためのメディアデバイス設定328。
○クライアントデバイス102および/または104、ならびにメディアデバイス106、のうちのいずれかの存在、近接度、または位置に対応付けられた情報を含む位置/近接度データ330。
上記構成要素の各々は、前述の記憶装置のうちの1つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム(つまり、命令セット)は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールのさまざまなサブセットは、さまざまな実装形態において、組み合わされるまたは並べ替えられてもよい。いくつかの実装形態において、メモリ306は、必要であれば、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ306は、必要であれば、上に記載されな
い追加のモジュールおよびデータ構造を格納する。
図4は、いくつかの実装形態に係る、ゲーム環境100のサーバシステム114における例示的なサーバを示すブロック図である。サーバ114は、通常、1つ以上の処理装置(CPU)402と、1つ以上のネットワークインタフェース404と、メモリ406と、これらのコンポーネント(チップセットと呼ばれることがある)を相互に接続するための1つ以上の通信バス408とを備える。サーバ114は、必要であれば、キーボード、マウス、ボイスコマンド入力部もしくはマイクロホン、タッチスクリーンディスプレイ、タッチ入力パッド、ジェスチャーキャプチャーカメラ、またはその他の入力ボタンもしくは制御部など、ユーザ入力を容易にする1つ以上の入力装置410を含む。さらに、サーバ114は、キーボードを補助または置き換えるために、マイクロホンおよび音声認識、またはカメラおよびジェスチャー認識を使用してもよい。いくつかの実装形態において、サーバ114は、必要であれば、たとえば、電子デバイス上にプリントされた図形シリーズコードを撮影するための1つ以上のカメラ、スキャナ、または光センサ部を備える。また、サーバ114は、1つ以上のスピーカーおよび/または1つ以上の表示装置を含む、ユーザインタフェースの提示を可能にし、コンテンツを表示する、1つ以上の出力装置412を含んでもよい。
メモリ406は、DRAM、SRAM、DDR RAMなどの高速ランダムアクセスメモリ、またはその他のランダムアクセス固体記憶装置を含み、必要であれば、1つ以上の磁気ディスク記憶装置、1つ以上の光学ディスク記憶装置、1つ以上のフラッシュメモリデバイスなどの不揮発性メモリ、または1つ以上のその他の不揮発性固体記憶装置を含む。メモリ406は、必要であれば、1つ以上の処理装置402から離れて位置する1つ以上の記憶装置を含む。メモリ406、またはメモリ406内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実装形態において、メモリ406、またはメモリ406の非一時的なコンピュータ読み取り可能な記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する。
●さまざまな基本のシステムサービスを処理するため、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム416。
●1つ以上のネットワークインタフェース404(有線または無線)、および、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つ以上のネットワーク112を介してサーバシステム114をその他のデバイス(たとえば、サーバシステム114におけるさまざまなサーバ、クライアントデバイス102および/または104、ならびにメディアデバイス108)に接続するためのネットワーク通信モジュール418。
●クライアントデバイス102および/または104で情報の提示を可能にするためのユーザインタフェースモジュール420(たとえば、アプリケーション(複数可)、ウィジェット、ウェブサイトおよびそのウェブページ、ならびに/またはゲーム、音声および/もしくは映像コンテンツ、テキストなどを提示するためのグラフィカルユーザインタフェース)。
●デバイスプロビジョニング、デバイス制御、およびメディアデバイス(複数可)106に対応付けられたユーザアカウント管理のためのサーバ側機能を提供するために実行されるメディアデバイスモジュール422(任意)。
●クライアントデバイス102および/または104ならびにメディアデバイス106
、のうちのいずれかの位置情報に基づいて、メディアデバイス106に対するクライアントデバイス102および/または104の近接度を特定するための近接度/位置特定モジュール428。
●ゲーム(たとえば、ゲームアプリケーション(複数可)228)に対応付けられたサーバ側機能を提供するためのゲームサーバモジュール426。提供することは、ゲームセッション440をセットアップすることと、ゲーム状態データおよびその他のゲーム関連データを格納することと、クライアントデバイス102および104からのゲームプレー入力を処理することと、ゲームプレー出力をレンダリングすることとを含むが、これらに限定されない。
●クライアントデバイス102および/または104のデバイス機能およびネットワーク機能を評価するためのデバイス/ネットワーク評価モジュール428。評価することは、クライアントデバイス102/104への接続のネットワーク帯域幅を評価することと、クライアントデバイス102/104がゲームをするのに必要なモジュールまたはアプリケーションを有するかどうかを評価することとを含むが、これらに限定されない。
●クライアントデバイス102/104にデータ(たとえば、ゲームコントローラ構成438、ソフトウェア更新など)を提供するためのデータ送信モジュール429。
●サーバシステムデータ430は、以下を含む。
○共通のデバイス設定(たとえば、サービス階層、デバイスモデル、記憶容量、処理能力、通信能力など)を含む、クライアントデバイス102および104に対応付けられた情報を格納するためのクライアントデバイス設定432。
○アカウントアクセス情報およびデバイス設定に関する情報(たとえば、サービス階層、デバイスモデル、記憶容量、処理能力、通信能力など)のうちの1つ以上を含む、メディアデバイスアプリケーション422のユーザアカウントに対応付けられた情報を格納するためのメディアデバイス設定434(任意)。
○クライアントデバイス102および/または104、ならびにメディアデバイス106、のうちのいずれかの存在、近接度、または位置に対応付けられた情報を含む位置/近接度データ436。
○さまざまなゲーム用のコントローラ構成を格納するためのゲームコントローラ構成438。
○たとえば、第1のゲームセッション用のデータ440−1および第2のゲームセッション用のデータ440−2を含む、ゲームセッションに対応付けられたデータ(たとえば、ゲーム状態データ、その他のゲーム関連データ)を格納するためのゲームセッションデータ440。
上記構成要素の各々は、前述の記憶装置のうちの1つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム(つまり、命令セット)は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールのさまざまなサブセットは、さまざまな実装形態において、組み合わされるまたは並べ替えられてもよい。いくつかの実装形態において、メモリ406は、必要であれば、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ406は、必要であれば、上に記載されない追加のモジュールおよびデータ構造を格納する。
図5A〜図5Bは、いくつかの実装形態に係る、プレーヤーをゲームセッションに招待するための例示的なユーザインタフェースを示す図である。図5Aは、ホストクライアント(たとえば、クライアントデバイス102)に表示されたユーザインタフェース500を示す図である。いくつかの実装形態において、ユーザインタフェース500は、ゲームアプリケーション228のユーザインタフェースである。ユーザインタフェース500は、ホストユーザによる、1つ以上のプレーヤーユーザのゲームセッションへの招待を容易にする。ユーザインタフェース500は、ゲームセッションに対応付けられたリンク(たとえば、ショートリンク512、図5B、ショートリンクをQRコードにコード化したもの)をメディアデバイス(たとえば、メディアデバイス106)に送らせるためのアフォーダンス502を含む。次に、メディアデバイスは、表示するために、リンクを出力装置(たとえば、出力装置108)に出力する。また、ユーザインタフェース500は、ホストユーザがゲームセッションに招待したいプレーヤーユーザのプレーヤークライアント104に、ゲームセッションに対応付けられたリンクをメッセージ(たとえば、テキストメッセージ)に含めて送信するためのアフォーダンス504を含む。ホストユーザは、状況に応じて、プレーヤーユーザを招待するためのアフォーダンス502または504のいずれかを選択してもよい。たとえば、プレーヤーユーザがホストユーザと同じ部屋にいる場合、ホストユーザは、プレーヤーユーザが自身のプレーヤークライアント104に入力(たとえば、仮想キーボードを用いて入力)できるように、ゲームセッションリンクを表示させるためのアフォーダンス502を選択してもよい。プレーヤーユーザがホストユーザから離れている場合、または、リンクを入力することが不便である場合、リンクは、メッセージに含めてプレーヤークライアント(複数可)104に送られてもよい。
図5Bは、メディアデバイス106に接続された出力装置108(たとえば、テレビ、コンピュータモニタ)に表示されたユーザインタフェース510を示す図である。ユーザインタフェース510は、表示されるショートリンク512を含む。ユーザインタフェース510(および、ショートリンク512)は、アフォーダンス502の実行に応じて表示され、ショートリンク512は、メディアデバイス106に送信される。メディアデバイス106は、ユーザインタフェース510を生成し、ショートリンク512をユーザインタフェース510に挿入し、ショートリンク512を含むユーザインタフェース510を、表示するために、出力装置108に出力する。ショートリンク512は、(プレーヤーユーザ(複数可)がプレーヤークライアント(複数可)のウェブブラウザ・モジュールに入力する)テキストリンクとして、また、プレーヤークライアント(複数可)がプレーヤーユーザの指図でスキャンし得るバーコードとして表示されてもよい。
図5C〜図5Fは、いくつかの実装形態に係る、例示的なゲームコントローラ構成を示す図である。図5Cは、クライアントデバイス(たとえば、ホストクライアント102、プレーヤークライアント104)に表示されたコントローラインタフェース520を示す図である。コントローラインタフェース520は、標準コントローラ領域522を含む。標準コントローラ領域522は、仮想方向パッド524と、仮想ボタン526とを含む。コントローラインタフェース520では、ユーザは、物理的なゲームコントローラを把持しているかのようにクライアントデバイスを把持し、物理的なゲームコントローラ上の方向パッドおよびボタンを操作しているかのように仮想方向パッド524および仮想ボタン526と対話する。いくつかの実装形態において、コントローラインタフェース520は、ゲームコントローラモジュール230に適用可能なそれぞれのゲームコントローラ構成438に対応付けられており、複数のゲームによって使用できる標準コントローラインタフェースである。
図5Dは、クライアントデバイス(たとえば、ホストクライアント102、プレーヤークライアント104)に表示されたコントローラインタフェース530を示す図である。
コントローラインタフェース530は、仮想ボタン532を含む。ユーザは、手の親指で仮想ボタン532を実行させることができ、クライアントデバイスに動きおよび、必要であれば、向きの変化を与える(たとえば、テニスラケットのようにスイングするなど)ことができるように、コントローラインタフェース530を表示しているクライアントデバイスを片手に把持する。センサ(複数可)213によって検出される動きおよび向きの変化は、ゲームにおける入力として使用されてもよい。いくつかの実装形態において、コントローラインタフェース530は、ゲームコントローラモジュール230に適用可能な別のそれぞれのゲームコントローラ構成438に対応付けられており、デバイスの動きおよび/または向きの変化を入力として利用する複数のゲームによって使用できる、標準コントローラインタフェースである。
図5Eは、クライアントデバイス(たとえば、ホストクライアント102、プレーヤークライアント104)に表示されたコントローラインタフェース540を示す図である。コントローラインタフェース540は、標準化および/またはカスタマイズされた構成要素を含み得るコントローラ領域542を含む。コントローラ領域542は、仮想方向パッド524および仮想ボタン526など、標準化された構成要素を含んでもよい。また、コントローラインタフェース540は、それぞれのゲームの指定された構成要素用に確保された、カスタム可能なカスタム領域548を含む。いくつかの実装形態において、領域542および548を含む、コントローラインタフェース540の全体は、特定のゲームにカスタム可能である。いくつかの実装形態において、コントローラインタフェース540は、ゲームコントローラモジュール230に適用可能なさらに別のゲームコントローラ構成438にそれぞれ対応付けられており、特定のゲームに固有のカスタムコントローラインタフェースである。サーバ114は、構成438内に複数の構成を格納してもよい。ここで、複数の構成の各々は、それぞれのゲームに固有のカスタマイズされた構成に相当する。
図5Fは、クライアントデバイス(たとえば、ホストクライアント102、プレーヤークライアント104)に表示されたコントローラインタフェース560を示す図である。コントローラインタフェース560は、ウェブブラウザ(たとえば、ウェブブラウザ・モジュール224)において表示されるゲームビュー562を含む。ゲームビュー562は、ゲーム制御部566(たとえば、仮想ボタン)および、必要であれば、ゲームからのレンダリングされた出力564またはその他のコンテンツ(たとえば、二次情報)を含む。いくつかの実装形態において、レイテンシがゲームプレーにあまり強い影響を与えないゲーム用にコントローラインタフェース560が使用されてもよい。
図6は、いくつかの実装形態に係る、アプリケーションセッションを確立するための方法600のフロー図である。方法600は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを有する電子デバイス(たとえば、ホストクライアント102/132)で実行されてもよい。いくつかの実装形態において、電子デバイスは、1つ以上のプログラムと、1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを備え、1つ以上のプログラムは、方法600を実行するための命令を含む。いくつかの実装形態において、非一時的なコンピュータ読み取り可能な記憶媒体は、命令を含む1つ以上のプログラムを格納する。命令は、1つ以上のプロセッサを有する電子デバイスによって実行されると、電子デバイスに、方法600を実行させる。
デバイスは、アプリケーションを実行する(602)。ホストクライアント102/132は、アプリケーション(たとえば、ゲームアプリケーション228)を実行する。ホストユーザは、プレーヤークライアントがセッションに加わるように招待され得るアプリケーションのためのセッションを開始するために、ホストクライアントにアプリケーショ
ンを実行するように指図する。アプリケーションは、対話式のセッション(たとえば、ゲームセッション)内で異なる位置にある複数のクライアントデバイスでの複数のユーザ(たとえば、複数のプレーヤー)による対話(たとえば、ゲームプレー)を容易にするアプリケーション(たとえば、オンラインまたはクラウドベースのマルチプレーヤーゲーム用のアプリケーション)であってもよい。アプリケーション(より具体的には、アプリケーションのそれぞれのセッションに)参加しているデバイスは、ホストクライアント102/132、および1つ以上のプレーヤークライアント104/134を含んでもよい。プレーヤークライアント104/134は、後述するが、セッションに招待されてもよい。
デバイスは、実行中のアプリケーションと、アプリケーションに対応付けられたリモートサーバと、実行中のアプリケーションからの出力を含むセッションからの出力を出力装置に送信するメディアデバイスとの間にセッションを確立する(604)。セッションからの出力は、実行中のアプリケーションからの出力を含む。ホストクライアント102/132は、実行中のアプリケーション(たとえば、ゲームアプリケーション228)と、サーバ(たとえば、サーバ114/144)と、メディアデバイス(たとえば、メディアデバイス106/136)との間にセッション(たとえば、セッション116/146)を確立する。メディアデバイス106/136は、セッション内に、アプリケーションからの出力を出力装置108/138に送信する。サーバ114/144は、アプリケーションに対応付けられる(たとえば、サーバ114/144は、ゲームアプリケーション228に対応付けられたゲームサーバである)。たとえば、ゲームアプリケーション228がホストクライアント102/132で実行されたとき、ゲームアプリケーション228は、ゲームセッションを確立するために、サーバ114/144と通信する。また、メディアデバイス106/136をセッションに乗せるために、ゲームアプリケーション228は、メディアデバイス106/136と通信する。メディアデバイス106/136は、(たとえば、出力装置108/138での)出力のために、サーバ114/144がゲームセッションからの出力およびその他のコンテンツを送信する先のデバイスである。
デバイスは、アプリケーションが実行中でないおよび/またはインストールされていない1つ以上の第2の電子デバイスのユーザに、セッションに対応付けられたセッション識別子を提示する(606)。セッション識別子は、第2の電子デバイスがセッションに加わることを容易にし、1つ以上の第2の電子デバイスのユーザがセッションと対話することを可能にするための、1つ以上の第2の電子デバイスの各々の上に実装可能なコントローラ構成を識別する。たとえば、ホストクライアント102/132は、アプリケーションがまったくインストールされていないまたはインストールされているが実行中でない1つ以上のプレーヤークライアント104/134に、セッションのセッション識別子を送信するまたは送信させる。セッション識別子は、まだインストールされていない場合、プレーヤークライアントへのアプリケーションのインストールを容易にすることを含む、プレーヤークライアント104/134がセッションに加わることを容易にする。また、セッション識別子は、プレーヤーユーザによるセッションとの対話を容易にするためにプレーヤークライアント104/134が実施するコントローラ構成を含むまたは参照する。たとえば、ホストクライアント102/132は、ゲームセッションのセッション識別子をサーバ114/144から取得し、セッション識別子を、プレーヤークライアント104/134に送信させる、および/またはメディアデバイス106/136を介して出力装置108/138で(たとえば、ユーザインタフェース510において、図5B)出力させる。ホストユーザは、セッション識別子を送信するようにホストクライアント102/132に(たとえば、ユーザインタフェース500を介して、図5A)指図する、またはセッション識別子を送信させる。セッション識別子は、プレーヤークライアント104/134においてデバイス上で開かれてもよく、または、出力されたセッション識別子に応じて、プレーヤークライアント104/134でアプリケーションに入力されてもよい(たとえば、ユーザがセッション識別子をアプリケーションにキー入力する、またはプレ
ーヤークライアント104/134を用いてセッション識別子のバーコードをスキャンする)。このように、プレーヤークライアント104/134は、ゲームセッションに加わってもよい。さらに、セッション識別子および/またはゲームセッションよって指定されるコントローラ構成に応じて、プレーヤークライアント(複数可)104/134は、ゲームセッション用のコントローラインタフェースを実現する。プレーヤークライアント(複数可)104/134がゲームセッションに加わり、コントローラインタフェースがプレーヤークライアントで実現されると、プレーヤークライアントでのプレーヤーユーザは、ホストクライアントでのホストユーザと一緒にゲームをしてもよい。
いくつかの実装形態において、アプリケーションは、ゲームアプリケーションである。ホストクライアント102/132上で実行中のアプリケーションは、たとえば、ゲームアプリケーション228であってもよい。セッション116/146は、ゲームセッションであり、セッションからの出力は、ホストクライアントおよびプレーヤークライアント(複数可)でゲームをすることから得られるグラフィック出力を含む。セッションからの出力は、メディアデバイス106/136を介して出力装置108/138で出力されてもよい。
いくつかの実装形態において、セッション識別子は、セッション用のURL(Universal Resource Locator)を含む。セッション識別子は、セッションに加わるための処理を開始するためにプレーヤークライアント104/134がウェブブラウザ・モジュール(たとえば、ウェブブラウザ224)において実行し得るURLであってもよい。
いくつかの実装形態において、セッション識別子は、セッションに対応付けられたURLをコード化したバーコードを含む。セッション用のURLは、バーコード(たとえば、1次元バーコード、マトリックスバーコード)にコード化されてもよい。プレーヤークライアント104/134は、セッション識別子URLを取得するために、バーコードが表示される間にバーコードをスキャンしてもよい。
いくつかの実装形態において、セッション識別子は、プロンプトまたは通知の形で、第2の電子デバイスで表示される。セッション識別子(たとえば、セッション用のURLまたはURLをコード化したバーコード)は、プロンプトまたはアプリ通知の形で表示されてもよい。たとえば、ホストクライアント102/132は、セッション識別子付きのプロンプトまたは通知が表示されるプレーヤークライアント104/134に、セッション識別子を送信するまたは送信させる。
いくつかの実装形態において、アプリケーションが実行中でないおよび/またはインストールされていない1つ以上の第2の電子デバイスのユーザに、セッションに対応付けられたセッション識別子を提示するステップは、セッション識別子をメディアデバイスに送信するステップを含み、メディアデバイスは、セッション識別子を出力装置に送信するように構成される。ホストクライアント102/132は、メディアデバイス106/136にセッション識別子を送信するまたは送信させる。これは、セッション116/146の一部でもある。メディアデバイス106/136は、出力のためにセッション識別子を出力装置108/138に送信する。たとえば、出力装置108/138は、プレーヤークライアント104/134が読み取りできるバーコードとして、または、セッションに加わるためにプレーヤークライアント104/134でのウェブブラウザ・モジュール224において開かれ得るURLリンクとして、セッション識別子を表示する。
いくつかの実装形態において、アプリケーションが実行中でないおよび/またはインストールされていない1つ以上の第2の電子デバイスのユーザに、セッションに対応付けら
れたセッション識別子を提示するステップは、セッション識別子をメッセージに含めて第2の電子デバイスに送信するステップを含む。ホストクライアント102/132は、セッション識別子をメッセージ(たとえば、テキストメッセージ、インスタントメッセージ、電子メール)に含めてプレーヤークライアント104/134に送信するまたは送信させる。たとえば、プレーヤークライアント104/134は、セッション識別子のURLリンク付きのメッセージを受信し、セッション識別子のURLリンクは、セッションに加わるためにプレーヤークライアント104/134でのウェブブラウザ224において開かれてもよい。
図7は、いくつかの実装形態に係る、セッション識別子を提示するための方法700のフロー図である。方法700は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを有する電子デバイス(たとえば、メディアデバイス106/136)で実行されてもよい。いくつかの実装形態において、電子デバイスは、1つ以上のプログラムと、1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを含み、1つ以上のプログラムは、方法700を実行するための命令を含む。いくつかの実装形態において、非一時的なコンピュータ読み取り可能な記憶媒体は、命令を含む1つ以上のプログラムを含み、命令を含むは、1つ以上のプロセッサを有する電子デバイスによって実行されると、電子デバイスに方法700を実行させる。
デバイスは、第2の電子デバイス上で実行中のアプリケーション、およびアプリケーションに対応付けられたリモートサーバとのセッションを確立するために、命令を受信する(702)。メディアデバイス106/136は、ホストクライアント102/132上のアプリケーション(たとえば、ゲームアプリケーション228)と、サーバ114/144とのセッション116/146を確立するために、命令を受信する。命令は、ホストクライアント102/132またはサーバ114/144から受信されてもよい。いくつかの実装形態において、ゲームアプリケーション228用のゲームセッションにおいて、ゲームセッションからの出力は、ホストクライアントおよびプレーヤークライアントではなく(たとえば、ホストクライアントおよびプレーヤークライアントでのディスプレイが、ホストユーザおよびプレーヤーユーザがゲームをするコントローラインタフェース(たとえば、図5C〜図5Fに示すコントローラインタフェース)を表示すること専用になるように)、1つの出力位置(たとえば、メディアデバイス106/136を介して出力装置108/138)で表示される。したがって、メディアデバイス106/136は、ゲームセッションからの出力用のアウトレットとして、ゲームセッションに加わるように招待される。
デバイスは、受信した命令に応じて、セッションを確立する(704)。メディアデバイス106/136は、ホストクライアント102/132上のアプリケーション(たとえば、ゲームアプリケーション228)、およびサーバ114/144とのセッション116/146を確立する、またはそれに加わる。
デバイスは、セッションに対応付けられたセッション識別子を受信する(706)。セッション識別子は、1つ以上の第3の電子デバイスがセッションに加わることを容易にし、第3の電子デバイスの1人以上のユーザがセッションと対話することを可能にするために、1つ以上の第3の電子デバイスの各々の上に実装可能なコントローラ構成を識別する。メディアデバイス106/136は、ホストクライアント102/132またはサーバ114/144から、セッションのためのセッション識別子を受信する。セッション識別子は、1つ以上のプレーヤークライアント104/134がセッションに加わることを容易にする。また、セッション識別子は、プレーヤークライアント104/134のプレーヤーユーザがセッションと対話することを可能にするために、セッション内にプレーヤー
クライアント104/134で実装されるコントローラ構成を識別または参照する。たとえば、ホストユーザは、セッション識別子をメディアデバイス106/136に送信させる(たとえば、キャストさせる)よう、ホストクライアント102/132を(たとえば、ユーザインタフェース500を介して、図5A)指図してもよい。ホストユーザの指図に応じて、ホストクライアント102/132は、セッション識別子をメディアデバイス106/136に送信させる。
デバイスは、表示するために、セッション識別子を出力装置に送信する(708)。メディアデバイス106/136は、セッション識別子を出力装置108/138に送信し、出力装置108/138は、プレーヤークライアント104/134がプレーヤークライアント104/134に入力するまたは認識する(たとえば、スキャンする)ために、セッション識別子を表示する。プレーヤーユーザ(複数可)は、セッション識別子をプレーヤークライアント(複数可)104/134に手動で入力してもよく、または、プレーヤークライアント(複数可)104/134を用いてセッション識別子をスキャン(たとえば、バーコードスキャンまたは文字認識)することによってセッション識別子を入力してもよい。
いくつかの実装形態において、デバイスは、セッションからの出力に対応するデータを受信し、出力は、第3の電子デバイスの1人以上のユーザによるセッションとの対話から得られる出力を含み、デバイスは、表示するために、データを出力装置に送信する。メディアデバイス106/136は、プレーヤークライアント104/134によるセッションとの対話から得られた出力をセッションから受信する。メディアデバイス106/136は、セッション出力を出力装置108/138に送信し、出力装置108/138は、セッション出力を表示する。
いくつかの実装形態において、セッション識別子は、セッションに対応付けられたURLを含む。セッション識別子は、セッションに加わるためにプレーヤークライアント104/134でのウェブブラウザ・モジュールに入力され得るURLであってもよい。いくつかの実装形態において、表示されたセッション識別子のURLは、文字認識によって入力されてもよい(たとえば、プレーヤークライアント104/134によってURLテキストが撮影され、URLテキストが認識される)。
いくつかの実装形態において、セッション識別子は、セッションに対応付けられたURLをコード化したバーコードを含む。セッション識別子のURLは、バーコード(たとえば、1次元バーコード、マトリックスバーコード)にコード化されてもよい。バーコードは、出力装置108/138に送信され、出力装置108/138によって表示される。プレーヤークライアント104/134は、セッション識別子URLを取得するために、バーコードが表示される間にバーコードをスキャンしてもよい。
いくつかの実装形態において、電子デバイスは、キャスティングデバイスである。メディアデバイス106/136は、キャスティングデバイス(たとえば、Google Inc.によるCHROMECAST(登録商標))であってもよい。
いくつかの実装形態において、アプリケーションは、ゲームアプリケーションである。アプリケーションは、ゲームアプリケーション(たとえば、ゲームアプリケーション228)であってもよい。セッション116/146は、ゲームセッションであり、セッションからの出力は、ホストクライアントおよびプレーヤークライアント(複数可)でゲームをすることから得られるグラフィック出力を含む。
さまざまな実装形態を詳細に参照し、その例を添付の図面に示した。上記詳細な説明に
おいて、本発明および記載の実装形態の十分な理解のため、たくさんの具体的な詳細を記載した。しかしながら、これらの具体的な詳細がなくても、本発明を実施することができる。その他の場合、周知の方法、プロシージャ、コンポ―ネント、および回路は、実装形態の態様を不必要にあいまいにしないように、詳細に説明しなかった。
さまざまな構成要素を説明するために、用語「第1の」、「第2の」などが本明細書において使用され得るが、これらの構成要素は、これらの用語によって限定されるべきではないと理解されるだろう。これらの用語は、1つの構成要素を別の構成要素と区別するために使用されるにすぎない。たとえば、第1のデバイスの名称がすべて矛盾なく変更され、第2のデバイスの名称がすべて矛盾なく変更される場合に限り、説明の意味を変更することなく、第1のデバイスを第2のデバイスと称することができ、同様に、第2のデバイスを第1のデバイスと称することができる。第1のデバイスおよび第2のデバイスは、両方ともデバイスであるが、同じデバイスではない。
本明細書において使用される用語は、特定の実装形態を説明するためだけのものであり、特許請求の範囲を限定することを意図していない。実装形態および添付の請求の範囲の説明において使用される単数形「a」、「an」、および「the」は、文脈が明らかに他を示さない限り、複数形も含むことを意図する。本明細書において使用される用語「および/または(and/or)」は、関連する記載された項目のうちの1つ以上のいずれか、およびすべての考えられる組み合わせを指し、それらを包含すると理解されるだろう。用語「備える/含む(comprises)」および/または「備える/含む(comprising)」は、本明細書において使用されるとき、記載の特徴、整数、ステップ、動作、構成要素、および/またはコンポ―ネントの存在を具体的に挙げるが、1つ以上のその他の特徴、整数、ステップ、動作、構成要素、コンポ―ネント、および/またはそれらの群の存在もしくは追加を排除しないと理解されるだろう。
本明細書で使用するとき、用語「〜である場合(if)」は、文脈に応じて、記載の先行条件が真である「ときに(when)」、「すると(upon)」、「と判定することに応答して(in response to determining)」、「という判定に応じて(in accordance with a determination)」、または「と検出することに応答して(in response to detecting)」を意味すると解釈され得る。同様に、表現「記載の先行条件が真であると判定された場合(if it is determined[that a stated
condition precedent is true])」、「記載の先行条件が真である場合(if[a stated condition precedent is true])」、「記載の先行条件が真であるとき(when[a stated
condition precedent is true])」は、文脈に応じて、記載の先行条件が真である「と判定すると(upon determining)」、「と判定することに応答して(in response to determining)」、「という判定に応じて(in accordance with a determination)」、「と検出すると(upon detecting)」、または「と検出することに応答して(in response to detecting)」を意味すると解釈され得る。
上記の説明は、説明の便宜上、具体的な実装形態を例に記載された。しかしながら、上記例示的説明は、網羅的であったり、開示の厳密な形態に本発明を限定したりすることを意図しない。上記教示に鑑みて、多くの変更例および変形例が可能である。当業者が、考えられる特定の用途に適したさまざまな変更例を用いて、本発明およびさまざまな実装形態を最大限に利用することを可能にするために、実装形態は、本発明の原理およびその実際の適用を最もよく説明するために選択および記載されている。

Claims (43)

  1. 1つ以上のプロセッサと、前記1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを有する電子デバイスにおいて、
    アプリケーションを実行するステップと、
    実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバと、セッションからの出力を出力装置に送信するメディアデバイスとの間で前記セッションを確立するステップを含み、前記セッションからの出力は、前記実行中のアプリケーションからの出力を含み、さらに、
    前記アプリケーションが実行中でないおよび/またはインストールされていない1つ以上の第2の電子デバイスのユーザに、前記セッションに対応付けられたセッション識別子を提示するステップを含み、前記セッション識別子は、前記第2の電子デバイスが前記セッションに加わることを容易にし、前記1つ以上の第2の電子デバイスのユーザが前記セッションと対話することを可能にするための、前記1つ以上の第2の電子デバイスの各々の上に実装可能なコントローラ構成を識別する、方法。
  2. 前記アプリケーションは、ゲームアプリケーションである、請求項1に記載の方法。
  3. 前記セッション識別子は、前記セッションに対応付けられたURL(Universal Resource Locator)を含む、請求項1〜2のいずれか1項に記載の方法。
  4. 前記セッション識別子は、前記セッションに対応付けられた前記URLをコード化したバーコードを含む、請求項3に記載の方法。
  5. 前記セッション識別子は、前記第2の電子デバイスにおいて、プロンプトまたは通知の形で表示される、請求項1〜4のいずれか1項に記載の方法。
  6. 前記アプリケーションが実行中でないおよび/またはインストールされていない前記1つ以上の第2の電子デバイスのユーザに、前記セッションに対応付けられたセッション識別子を提示するステップは、
    前記セッション識別子を前記メディアデバイスに送信するステップを含み、前記メディアデバイスは、前記セッション識別子を前記出力装置に送信するように構成される、請求項1〜5のいずれか1項に記載の方法。
  7. 前記アプリケーションが実行中でないおよび/またはインストールされていない前記1つ以上の第2の電子デバイスのユーザに、前記セッションに対応付けられたセッション識別子を提示するステップは、
    前記セッション識別子をメッセージに含めて前記第2の電子デバイスに送信するステップを含む、請求項1〜6のいずれか1項に記載の方法。
  8. 1つ以上のプロセッサと、
    前記1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを備え、
    前記1つ以上のプログラムは、
    アプリケーションを実行するための命令と、
    実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバと、セッションからの出力を出力装置に送信するメディアデバイスとの間で前記セッションを確立するための命令とを含み、前記セッションからの出力は、前記実行中のアプリケーションからの出力を含み、前記1つ以上のプログラムは、さらに、
    前記アプリケーションが実行中でないおよび/またはインストールされていない1つ以上の第2の電子デバイスのユーザに、前記セッションに対応付けられたセッション識別子を提示するための命令を含み、前記セッション識別子は、前記第2の電子デバイスが前記セッションに加わることを容易にし、前記1つ以上の第2の電子デバイスのユーザが前記セッションと対話することを可能にするための、前記1つ以上の第2の電子デバイスの各々の上に実装可能なコントローラ構成を識別する、電子デバイス。
  9. 前記アプリケーションは、ゲームアプリケーションである、請求項8に記載の電子デバイス。
  10. 前記セッション識別子は、前記セッションに対応付けられたURL(Universal Resource Locator)を含む、請求項8〜9のいずれか1項に記載の電子デバイス。
  11. 前記セッション識別子は、前記セッションに対応付けられた前記URLをコード化したバーコードを含む、請求項10に記載の電子デバイス。
  12. 前記セッション識別子は、プロンプトまたは通知の形で、前記第2の電子デバイスで表示される、請求項8〜11のいずれか1項に記載の電子デバイス。
  13. 前記セッション識別子を前記メディアデバイスに送信するための命令を含み、前記メディアデバイスは、前記セッション識別子を前記出力装置に送信するように構成される、請求項8〜12のいずれか1項に記載の電子デバイス。
  14. メッセージに含めて前記セッション識別子を前記第2の電子デバイスに送信するための命令を含む、請求項8〜13のいずれか1項に記載の電子デバイス。
  15. 1つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記1つ以上のプログラムは、命令を含み、前記命令は、1つ以上のプロセッサを有する電子デバイスによって実行されると、前記電子デバイスに、
    アプリケーションを実行させ、
    実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバと、セッションからの出力を出力装置に送信するメディアデバイスとの間で前記セッションを確立させ、前記セッションからの出力は、前記実行中のアプリケーションからの出力を含み、さらに、前記電子デバイスに、
    前記アプリケーションが実行中でないおよび/またはインストールされていない1つ以上の第2の電子デバイスのユーザに、前記セッションに対応付けられたセッション識別子を提示させ、前記セッション識別子は、前記第2の電子デバイスが前記セッションに加わることを容易にし、前記1つ以上の第2の電子デバイスのユーザが前記セッションと対話することを可能にするための、前記1つ以上の第2の電子デバイスの各々の上に実装可能なコントローラ構成を識別する、コンピュータ読み取り可能な記憶媒体。
  16. 前記アプリケーションは、ゲームアプリケーションである、請求項15に記載のコンピュータ読み取り可能な記憶媒体。
  17. 前記セッション識別子は、前記セッションに対応付けられたURL(Universal Resource Locator)を含む、請求項15〜16のいずれか1項に記載のコンピュータ読み取り可能な記憶媒体。
  18. 前記セッション識別子は、前記セッションに対応付けられた前記URLをコード化した
    バーコードを含む、請求項17に記載のコンピュータ読み取り可能な記憶媒体。
  19. 前記セッション識別子は、前記第2の電子デバイスにおいて、プロンプトまたは通知の形で表示される、請求項15〜18のいずれか1項に記載のコンピュータ読み取り可能な記憶媒体。
  20. 前記電子デバイスによって実行されると、前記電子デバイスに、
    前記セッション識別子を前記メディアデバイスに送信させる命令を含み、前記メディアデバイスは、前記セッション識別子を前記出力装置に送信するように構成される、請求項15〜19のいずれか1項に記載のコンピュータ読み取り可能な記憶媒体。
  21. 前記電子デバイスによって実行されると、前記電子デバイスに、
    前記セッション識別子をメッセージに含めて前記第2の電子デバイスに送信させる命令を含む、請求項15〜20のいずれか1項に記載のコンピュータ読み取り可能な記憶媒体。
  22. 1つ以上のプロセッサと、
    前記1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを備え、前記1つ以上のプログラムは、請求項1〜7のいずれか1項に記載の方法を実行するための命令を含む、電子デバイス。
  23. 1つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記1つ以上のプログラムは、命令を含み、前記命令は、1つ以上のプロセッサを有する電子デバイスによって実行されると、前記電子デバイスに、請求項1〜7のいずれか1項に記載の方法を実行させる、非一時的なコンピュータ読み取り可能な記憶媒体。
  24. 1つ以上のプロセッサと、前記1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを有する電子デバイスにおいて、
    第2の電子デバイス上で実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバとのセッションを確立するために、命令を受信するステップと、
    前記受信した命令に応じて、前記セッションを確立するステップと、
    前記セッションに対応付けられたセッション識別子を受信するステップとを含み、前記セッション識別子は、1つ以上の第3の電子デバイスが前記セッションに加わることを容易にし、前記第3の電子デバイスの1人以上のユーザが前記セッションと対話することを可能にするために、前記1つ以上の第3の電子デバイスの各々の上で実装可能なコントローラ構成を識別し、さらに、
    表示するために、前記セッション識別子を出力装置に送信するステップを含む、方法。
  25. 前記セッションからの出力に対応するデータを受信するステップをさらに含み、前記出力は、前記第3の電子デバイスの1人以上のユーザによる前記セッションとの対話から得られる出力を含み、さらに、
    表示するために、前記データを前記出力装置に送信するステップを含む、請求項24に記載の方法。
  26. 前記セッション識別子は、前記セッションに対応付けられたURLを含む、請求項24〜25のいずれか1項に記載の方法。
  27. 前記セッション識別子は、前記セッションに対応付けられた前記URLをコード化した
    バーコードを含む、請求項26に記載の方法。
  28. 前記電子デバイスは、キャスティングデバイスである、請求項24〜27のいずれか1項に記載の方法。
  29. 前記アプリケーションは、ゲームアプリケーションである、請求項24〜28のいずれか1項に記載の方法。
  30. 1つ以上のプロセッサと、
    前記1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを備え、前記1つ以上のプログラムは、
    第2の電子デバイス上で実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバとのセッションを確立するために、命令を受信するための命令と、
    前記受信した命令に応じて、前記セッションを確立するための命令と、
    前記セッションに対応付けられたセッション識別子を受信するための命令と含み、前記セッション識別子は、1つ以上の第3の電子デバイスが前記セッションに加わることを容易にし、前記第3の電子デバイスの1人以上のユーザが前記セッションと対話することを可能にするために、前記1つ以上の第3の電子デバイスの各々の上で実装可能なコントローラ構成を識別し、前記1つ以上のプログラムは、さらに、
    表示するために、前記セッション識別子を出力装置に送信するための命令を含む、電子デバイス。
  31. 前記セッションからの出力に対応するデータを受信するための命令を含み、前記出力は、前記第3の電子デバイスの前記1人以上のユーザによる前記セッションとの対話から得られる出力を含み、さらに、
    表示するために、前記データを前記出力装置に送信するための命令を含む、請求項30に記載の電子デバイス。
  32. 前記セッション識別子は、前記セッションに対応付けられたURLを含む、請求項30〜31のいずれか1項に記載の電子デバイス。
  33. 前記セッション識別子は、前記セッションに対応付けられた前記URLをコード化したバーコードを含む、請求項32に記載の電子デバイス。
  34. 前記電子デバイスは、キャスティングデバイスである、請求項30〜33のいずれか1項に記載の電子デバイス。
  35. 前記アプリケーションは、ゲームアプリケーションである、請求項30〜34のいずれか1項に記載の電子デバイス。
  36. 1つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記1つ以上のプログラムは、命令を含み、前記命令は、1つ以上のプロセッサを有する電子デバイスによって実行されると、前記電子デバイスに、
    第2の電子デバイス上で実行中のアプリケーションと、前記アプリケーションに対応付けられたリモートサーバとのセッションを確立するために、命令を受信させ、
    前記受信した命令に応じて、前記セッションを確立させ、
    前記セッションに対応付けられたセッション識別子を受信させ、前記セッション識別子は、1つ以上の第3の電子デバイスが前記セッションに加わることを容易にし、前記第3の電子デバイスの1人以上のユーザが前記セッションと対話することを可能にするため
    に、前記1つ以上の第3の電子デバイスの各々の上で実装可能なコントローラ構成を識別し、さらに、前記電子デバイスに、
    表示するために、前記セッション識別子を出力装置に送信させる、非一時的なコンピュータ読み取り可能な記憶媒体。
  37. 前記電子デバイスによって実行されると、前記電子デバイスに、
    前記セッションからの出力に対応するデータを受信させる命令を含み、前記出力は、前記第3の電子デバイスの前記1人以上のユーザによる前記セッションとの対話から得られる出力を含み、さらに、前記電子デバイスに、
    前記データを前記出力装置に表示するために送信させる命令を含む、請求項36に記載のコンピュータ読み取り可能な記憶媒体。
  38. 前記セッション識別子は、前記セッションに対応付けられたURLを含む、請求項36〜37のいずれか1項に記載のコンピュータ読み取り可能な記憶媒体。
  39. 前記セッション識別子は、前記セッションに対応付けられた前記URLをコード化したバーコードを含む、請求項38に記載のコンピュータ読み取り可能な記憶媒体。
  40. 前記電子デバイスは、キャスティングデバイスである、請求項36〜39のいずれか1項に記載のコンピュータ読み取り可能な記憶媒体。
  41. 前記アプリケーションは、ゲームアプリケーションである、請求項36〜40のいずれか1項に記載のコンピュータ読み取り可能な記憶媒体。
  42. 1つ以上のプロセッサと、
    前記1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納するメモリとを備え、前記1つ以上のプログラムは、請求項24〜29のいずれか1項に記載の方法を実行するための命令を含む、電子デバイス。
  43. 1つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記1つ以上のプログラムは、命令を含み、前記命令は、1つ以上のプロセッサを有する電子デバイスによって実行されると、前記電子デバイスに、請求項24〜29のいずれか1項に記載の方法を実行させる、非一時的なコンピュータ読み取り可能な記憶媒体。
JP2019220516A 2016-05-19 2019-12-05 ゲームセッションへの参加を容易にするための方法およびシステム Active JP7022734B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662339052P 2016-05-19 2016-05-19
US62/339,052 2016-05-19
US15/599,408 2017-05-18
US15/599,408 US10456672B2 (en) 2016-05-19 2017-05-18 Methods and systems for facilitating participation in a game session

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018543215A Division JP6629986B2 (ja) 2016-05-19 2017-05-19 ゲームセッションへの参加を容易にするための方法およびシステム

Publications (3)

Publication Number Publication Date
JP2020089734A true JP2020089734A (ja) 2020-06-11
JP2020089734A5 JP2020089734A5 (ja) 2020-07-30
JP7022734B2 JP7022734B2 (ja) 2022-02-18

Family

ID=58995257

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018543215A Active JP6629986B2 (ja) 2016-05-19 2017-05-19 ゲームセッションへの参加を容易にするための方法およびシステム
JP2019220516A Active JP7022734B2 (ja) 2016-05-19 2019-12-05 ゲームセッションへの参加を容易にするための方法およびシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018543215A Active JP6629986B2 (ja) 2016-05-19 2017-05-19 ゲームセッションへの参加を容易にするための方法およびシステム

Country Status (5)

Country Link
US (2) US10456672B2 (ja)
EP (2) EP3402582B1 (ja)
JP (2) JP6629986B2 (ja)
KR (2) KR102238770B1 (ja)
WO (1) WO2017201472A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
CN110678239B (zh) 2017-10-10 2024-02-09 谷歌有限责任公司 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
US10688399B2 (en) * 2018-02-21 2020-06-23 Roblox Corporation Group gameplay with users in proximity using a gaming platform
CN111417441A (zh) 2018-03-22 2020-07-14 谷歌有限责任公司 用于渲染和编码在线交互式游戏会话的内容的方法和***
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
EP3773953B1 (en) 2018-04-02 2024-06-19 Google LLC Methods, devices, and systems for interactive cloud gaming
CN111886057A (zh) 2018-04-02 2020-11-03 谷歌有限责任公司 用于电子***的输入装置
EP4141781B1 (en) 2018-04-10 2024-03-20 Google LLC Memory management in gaming rendering
US10698582B2 (en) * 2018-06-28 2020-06-30 International Business Machines Corporation Controlling voice input based on proximity of persons
WO2020012450A2 (en) * 2018-07-13 2020-01-16 Red Oxygen (Pty) Ltd Game platform for mobile devices and a related method of operating a game platform
US10803025B2 (en) 2018-09-06 2020-10-13 At&T Intellectual Property I, L.P. System and process for scalable and secure content delivery
US10773156B2 (en) 2018-11-05 2020-09-15 Sony Interactive Entertainment LLC Systems and methods for establishing direct communication between a server system and a video game controller
CN112204529A (zh) * 2018-11-16 2021-01-08 谷歌有限责任公司 用于复杂***分析的实时交互式仿真的影子追踪
CN109542328B (zh) * 2018-11-30 2021-04-06 北京小米移动软件有限公司 用户界面显示方法、装置、终端及存储介质
EP3892344A4 (en) * 2018-12-07 2023-01-25 Sony Interactive Entertainment Inc. ENTERTAINMENT DEVICE, EMISSION CONTROL DEVICE, OPERATING DEVICE, EMISSION CONTROL METHOD AND PROGRAM
US11095724B2 (en) * 2019-01-10 2021-08-17 Google Llc Invitation link for launching multi-user applications
US10987578B2 (en) * 2019-09-04 2021-04-27 South Park Digital Studios LLC Live video game intervention
US11389720B2 (en) * 2020-02-26 2022-07-19 Microsoft Technology Licensing, Llc Transferring control elements for a gaming session between devices
GB2600916A (en) * 2020-10-19 2022-05-18 Muzaffar Saj Interactive video streaming apparatus and method
US11824940B1 (en) * 2021-02-04 2023-11-21 Amazon Technologies, Inc. Techniques for providing network applications
WO2022235268A1 (en) * 2021-05-06 2022-11-10 Google Llc Directing in-game mode for first client device using second client device
JP7454003B2 (ja) * 2022-02-16 2024-03-21 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置、および情報処理方法
US11991242B1 (en) * 2022-12-14 2024-05-21 Dell Products L.P. Efficient distributed computing using edge computing devices

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005296419A (ja) * 2004-04-13 2005-10-27 Nintendo Co Ltd ロビーシステムプログラムおよびゲームシステム
JP2009022365A (ja) * 2007-07-17 2009-02-05 Sony Computer Entertainment Inc ゲーム案内システム
JP2009511200A (ja) * 2005-10-11 2009-03-19 ティーエイチキュー・ワイヤレス・インコーポレーテッド プレーヤのための望ましいマルチプレーヤ・ゲームを見つけるための方法及び装置
JP2009540920A (ja) * 2006-06-20 2009-11-26 マイクロソフト コーポレーション ゲーム機間のフィーチャー配信
US20140274380A1 (en) * 2013-03-14 2014-09-18 Sony Computer Entertainment Inc. Controller emulation for cloud gaming
JP2015187862A (ja) * 2014-03-19 2015-10-29 イマージョン コーポレーションImmersion Corporation 触覚効果を与えるシステム及び方法
JP5808824B2 (ja) * 2012-01-24 2015-11-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
JP2016073663A (ja) * 2015-11-25 2016-05-12 グリー株式会社 プログラム、及び表示システム

Family Cites Families (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892897A (en) 1997-02-05 1999-04-06 Motorola, Inc. Method and apparatus for microprocessor debugging
US7548238B2 (en) 1997-07-02 2009-06-16 Nvidia Corporation Computer graphics shader systems and methods
US7774440B1 (en) 2001-07-25 2010-08-10 Scalable Network Technologies, Inc. Method and system for enhancing performance of a physical network under real-time control using simulation of a reference model
US7803052B2 (en) 2002-06-28 2010-09-28 Microsoft Corporation Discovery and distribution of game session information
WO2004004857A1 (en) * 2002-07-05 2004-01-15 Dominic Clancy System and method for playing an interactive game using a mobile device
JP3495032B1 (ja) 2002-07-24 2004-02-09 コナミ株式会社 ゲーム進行管理装置、ゲーム用サーバ装置、端末装置、ゲーム進行管理方法及びゲーム進行管理プログラム
US20040198403A1 (en) * 2002-07-25 2004-10-07 Pedersen Claus Aagaard Gaming concept for wireless terminals
US8661496B2 (en) 2002-12-10 2014-02-25 Ol2, Inc. System for combining a plurality of views of real-time streaming interactive video
US8549574B2 (en) 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
EP1569731A1 (en) 2002-12-10 2005-09-07 Nokia Corporation Method and device for continuing an electronic multi-player game, in case of an absence of a player of said game
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US10664138B2 (en) * 2003-03-14 2020-05-26 Comcast Cable Communications, Llc Providing supplemental content for a second screen experience
EP1652044A4 (en) 2003-07-15 2006-08-30 Wildtangent Inc LAUNCHING MULTI-USER SESSIONS, SYSTEM AND INVITATION METHOD THEREOF
US7966642B2 (en) 2003-09-15 2011-06-21 Nair Ajith N Resource-adaptive management of video storage
US7401150B2 (en) * 2003-09-19 2008-07-15 Wildtangent, Inc. Joint consumption of content invitation methods and apparatus
US7261798B2 (en) 2004-01-28 2007-08-28 Hamilton Sundstrand Corporation Assembly for maintaining compression for electrical contact of the active area of an electrochemical cell
CA2558579A1 (en) * 2004-03-08 2005-09-22 Massive Incorporated Delivery of advertising into multiple video games
US8241129B2 (en) 2005-06-20 2012-08-14 Microsoft Corporation Setting up on-line game sessions out of a game context
KR20070082395A (ko) * 2006-02-16 2007-08-21 엔에이치엔(주) 유알엘을 이용한 플래시 게임 초대 시스템 및 방법
US7675412B2 (en) 2006-02-27 2010-03-09 Adra Hosni I System and method for dynamically tracking and state forecasting tagged entities
CN101068258B (zh) 2006-12-14 2011-09-21 腾讯科技(深圳)有限公司 一种电子游戏的控制方法及控制***
US20080220878A1 (en) * 2007-02-23 2008-09-11 Oliver Michaelis Method and Apparatus to Create or Join Gaming Sessions Based on Proximity
WO2008104221A1 (en) 2007-02-27 2008-09-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for use in multiplayer server-based gaming
KR101422005B1 (ko) 2007-07-04 2014-07-23 엘지전자 주식회사 디스펜서 및 이를 구비하는 냉장고
US8235817B2 (en) 2009-02-12 2012-08-07 Sony Computer Entertainment America Llc Object based observation
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US9498714B2 (en) * 2007-12-15 2016-11-22 Sony Interactive Entertainment America Llc Program mode switching
JP5075727B2 (ja) 2008-04-25 2012-11-21 株式会社日立製作所 ストリーム配信システム及び障害検知方法
US8200795B2 (en) * 2008-06-05 2012-06-12 Sony Computer Entertainment Inc. Mobile phone game interface
US20100073712A1 (en) 2008-09-19 2010-03-25 Konica Minolta Systems Laboratory, Inc. Print job assignment method allowing user-prioritization
US9498711B2 (en) * 2008-11-04 2016-11-22 Quado Media Inc. Multi-player, multi-screens, electronic gaming platform and system
US20120079080A1 (en) * 2009-02-11 2012-03-29 Shervin Pishevar Apparatuses, Methods and Systems For An Interactive Proximity Display Tether With Remote Co-Play
CN101887485A (zh) 2009-05-14 2010-11-17 灰熊(北京)科技有限公司 一种在棋牌游戏中实现稳妥的掉线重连的方法
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
US8621585B2 (en) * 2009-06-16 2013-12-31 Z2Live, Inc. Invitation service for multi-device application sessions
US9155963B2 (en) 2009-11-25 2015-10-13 Disney Enterprises, Inc. Collaborative online ranking
US8352798B2 (en) 2009-12-10 2013-01-08 International Business Machines Corporation Failure detection and fencing in a computing system
CN102195935B (zh) 2010-03-03 2015-07-29 深圳市腾讯计算机***有限公司 游戏托管***及方法
CA2792038A1 (en) * 2010-03-05 2011-09-09 Brass Monkey, Inc. System and method for two way communication and controlling content in a web browser
US8619588B2 (en) 2010-04-07 2013-12-31 Avaya Inc. System and method for predicting video transmission quality through a network
US8591334B2 (en) * 2010-06-03 2013-11-26 Ol2, Inc. Graphical user interface, system and method for implementing a game controller on a touch-screen device
EP2621594B1 (en) * 2010-09-13 2016-08-10 Sony Computer Entertainment America LLC Dual mode program execution and loading
US8788243B2 (en) 2011-02-14 2014-07-22 Disney Enterprises, Inc. Performance metrics gathering from multiple video game platforms
US8814697B2 (en) 2011-04-19 2014-08-26 Sony Computer Entertainment America Llc Method and apparatus for use in preserving a game state
JP5076132B1 (ja) 2011-05-25 2012-11-21 株式会社スクウェア・エニックス・ホールディングス 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム
US9412193B2 (en) 2011-06-01 2016-08-09 Apple Inc. Run-time optimized shader program
US20130017884A1 (en) * 2011-07-13 2013-01-17 Igt Methods and apparatus for providing secure logon to a gaming machine using a mobile device
US8814956B2 (en) 2011-07-14 2014-08-26 Semiconductor Energy Laboratory Co., Ltd. Power storage device, electrode, and manufacturing method thereof
US9167260B2 (en) 2011-08-02 2015-10-20 Advanced Micro Devices, Inc. Apparatus and method for video processing
KR101817652B1 (ko) * 2011-09-01 2018-02-22 삼성전자주식회사 게임 스트리밍 데이터 수신 방법 및 그를 위한 장치, 및 게임 스트리밍 데이터 제공 방법 및 그를 위한 서버
US9773344B2 (en) 2012-01-11 2017-09-26 Nvidia Corporation Graphics processor clock scaling based on idle time
US20130221923A1 (en) 2012-02-23 2013-08-29 Whalen Furniture Manufacturing Inc. Universal charging system and battery pack for video game controllers
US9868062B2 (en) * 2012-03-13 2018-01-16 Sony Interactive Entertainment America Llc System, method, and graphical user interface for controlling an application on a tablet
US10559123B2 (en) 2012-04-04 2020-02-11 Qualcomm Incorporated Patched shading in graphics processing
US20130274020A1 (en) 2012-04-11 2013-10-17 Meteor Entertainment, Inc. Computing platform for supporting massively multi-player online games
US9208642B2 (en) 2012-04-23 2015-12-08 Touchspin Gaming Ag Multiplayer slot machine gaming
US20140006517A1 (en) * 2012-07-02 2014-01-02 WUPIMA, Inc. System and method for social invitations to facilitate playing and sharing of mobile application or mobile game on mobile device
KR101923113B1 (ko) * 2012-07-12 2018-11-28 캠프모바일 주식회사 이동통신 단말기의 메시징 서비스를 이용한 초대정보 처리방법, 이를 수행하는 서비스 서버, 이동통신 단말기 및 컴퓨터로 판독 가능한 기록매체
WO2014022311A2 (en) * 2012-07-30 2014-02-06 Google Inc. Access control in communication environments
JP5563633B2 (ja) * 2012-08-31 2014-07-30 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
US8663004B1 (en) 2012-09-05 2014-03-04 Kabam, Inc. System and method for determining and acting on a user's value across different platforms
US20140221087A1 (en) 2012-11-28 2014-08-07 Nvidia Corporation Handheld gaming console
US8870661B2 (en) 2012-12-21 2014-10-28 Sony Computer Entertainment America Llc Cloud-based game slice generation and frictionless social sharing with instant play
EP2750032B1 (en) * 2012-12-27 2020-04-29 Sony Computer Entertainment America LLC Methods and systems for generation and execution of miniapp of computer application served by cloud computing system
EP2951999A4 (en) 2013-01-30 2016-07-20 Intel Corp CONTENT PARAMETRIC TRANSFORMATIONS FOR CODING VIDEOS OF THE NEXT GENERATION
JP6416865B2 (ja) 2013-03-14 2018-10-31 ジョージア・ステイト・ユニバーシティ・リサーチ・ファウンデーション・インコーポレイテッドGeorgia State University Research Foundation, Inc. 真菌増殖の阻害または低減
US20140274384A1 (en) * 2013-03-15 2014-09-18 Electronic Arts Inc. Delivering and consuming interactive video gaming content
US9628332B2 (en) 2013-05-20 2017-04-18 Microsoft Technology Licensing, Llc Resource allocation to game titles in a remote gaming environment
US9295915B2 (en) 2013-05-20 2016-03-29 Microsoft Technology Licensing, Llc Game availability in a remote gaming environment
US9339733B2 (en) * 2013-05-22 2016-05-17 Wesley John Boudville Barcode-based methods to enhance mobile multiplayer games
US10092834B2 (en) 2013-05-23 2018-10-09 Kabushiki Kaisha Square Enix Holdings Dynamic allocation of rendering resources in a cloud gaming system
US9675874B1 (en) 2013-07-18 2017-06-13 nWay, Inc. Multi-player gaming system
US9723051B2 (en) * 2013-08-13 2017-08-01 Criteo Sa Setting first-party cookies by redirection
US20150087414A1 (en) * 2013-09-26 2015-03-26 Cellco Partnership D/B/A Verizon Wireless Cloud gaming implemented using a mobile device and a display device
JP6292707B2 (ja) 2013-10-22 2018-03-14 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
US9592446B2 (en) * 2013-12-13 2017-03-14 DeNA Co., Ltd. Electronic game providing device and non-transitory computer-readable storage medium storing electronic game program
JP6310073B2 (ja) 2013-12-26 2018-04-11 株式会社スクウェア・エニックス・ホールディングス 描画システム、制御方法、及び記憶媒体
JP6376638B2 (ja) * 2014-01-29 2018-08-22 株式会社コロプラ ゲームに関わるサーバコンピュータ及びゲームプログラム
US10646532B2 (en) 2014-01-29 2020-05-12 National Institute Of Advanced Industrial Science And Technology Method for preparing water extract of ashwagandha leaves which has enhanced anti-cancer activity utilizing cyclodextrin, and pharmaceutical composition containing ashwagandha leaves
US9912562B2 (en) 2014-03-31 2018-03-06 Microsoft Technology Licensing, Llc Measuring latency in an interactive application
US20150297998A1 (en) * 2014-04-16 2015-10-22 Microsoft Corporation Hyperlink initiation of game sessions
US9928565B2 (en) 2014-04-21 2018-03-27 Qualcomm Incorporated Flex rendering based on a render target in graphics processing
GB2525437B (en) 2014-04-25 2016-05-25 Cheng Uei Prec Ind Co Ltd Push-button structure
US9940686B2 (en) 2014-05-14 2018-04-10 Intel Corporation Exploiting frame to frame coherency in a sort-middle architecture
WO2015191965A2 (en) 2014-06-13 2015-12-17 Convida Wireless, Llc Automated service profiling and orchestration
US9393486B2 (en) * 2014-06-27 2016-07-19 Amazon Technologies, Inc. Character simulation and playback notification in game session replay
US20160005257A1 (en) * 2014-07-04 2016-01-07 Trendy Entertainment Influence system and methods
US9975044B2 (en) * 2014-07-22 2018-05-22 Ngage SporTek Ltd. System and method for social gaming
US10021214B2 (en) 2014-07-22 2018-07-10 Microsoft Technology Licensing, Llc Synthetic transactions between communication endpoints
US10255765B2 (en) 2015-08-20 2019-04-09 Synergy Blue, Llc Gaming aspects relating to multiplayer/tournament hybrid arcade/wager-based games
US10909809B2 (en) 2014-12-12 2021-02-02 Synergy Blue Llc Graphical user interface and computer processing techniques for facilitating user interaction with electronic gaming devices
US20170124812A1 (en) 2014-12-12 2017-05-04 Synergy Blue, Llc Gaming and wagering techniques relating to skill-based gaming
CN104598292B (zh) 2014-12-15 2017-10-03 中山大学 一种应用于云游戏***的自适应流适配和资源优化方法
US10007965B2 (en) 2014-12-16 2018-06-26 Intel Corporation Dynamic kernel modification for graphics processing units
US9396702B2 (en) 2014-12-23 2016-07-19 Sony Interactive Entertainment America Llc Latency tester
US20160279523A1 (en) * 2015-03-25 2016-09-29 GAMEin30 Ltd. System and method for interactive gaming
US10130874B2 (en) 2015-05-01 2018-11-20 Microsoft Technology Licensing, Llc Removable controller accessory for a game controller
WO2016183253A1 (en) 2015-05-12 2016-11-17 Equinix, Inc. Programmable network platform for a cloud-based services exchange
US9609275B2 (en) 2015-07-08 2017-03-28 Google Inc. Single-stream transmission method for multi-user video conferencing
US10135892B2 (en) 2015-07-28 2018-11-20 Google Llc Independent control of interactive streaming media
US9946593B2 (en) 2015-09-18 2018-04-17 Salesforce.Com, Inc. Recovery strategy for a stream processing system
JP6646319B2 (ja) 2015-09-30 2020-02-14 ソニー・インタラクティブエンタテインメント エルエルシー クラウドゲームのためのマルチユーザデモストリーミングサービス
US20170097816A1 (en) * 2015-10-01 2017-04-06 Motorola Mobility Llc Context-based applications for mobile devices
US10630773B2 (en) 2015-11-12 2020-04-21 Nvidia Corporation System and method for network coupled cloud gaming
US20170185464A1 (en) 2015-12-29 2017-06-29 Ca, Inc. Detecting flapping in resource measurements
CN105749551B (zh) 2016-02-26 2019-04-30 网易(杭州)网络有限公司 一种游戏托管方法、***及终端
US20170246544A1 (en) * 2016-02-26 2017-08-31 Microsoft Technology Licensing, Llc Video game streaming for spectating
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
US10046236B2 (en) 2016-06-13 2018-08-14 Sony Interactive Entertainment America, LLC Browser-based cloud gaming
US11351468B2 (en) * 2016-06-13 2022-06-07 Sony Interactive Entertainment LLC Generating challenges using a location based game play companion application
US10521879B2 (en) 2016-07-05 2019-12-31 Ubitus, Inc. Overlaying multi-source media in VRAM
US10332296B2 (en) 2016-07-05 2019-06-25 Ubitus Inc. Overlaying multi-source media in VRAM
CN106328855B (zh) 2016-11-29 2019-06-04 宁德时代新能源科技股份有限公司 电池组件及电池模组
US10722803B2 (en) * 2017-02-15 2020-07-28 Roblox Corporation Integrated chat and game play platform
US20180250591A1 (en) * 2017-03-02 2018-09-06 The Fast Mind, LLC Methods of circumventing platform restrictions in gaming
US10512846B2 (en) 2017-03-07 2019-12-24 Sony Interactive Entertainment LLC Emulating player behavior after player departure
CN110678239B (zh) 2017-10-10 2024-02-09 谷歌有限责任公司 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台
CN107670275B (zh) 2017-10-26 2020-10-13 广州市雷军游乐设备有限公司 游戏进程断线重连的方法和***
US20190199722A1 (en) 2017-12-19 2019-06-27 Advanta Computer, LLC Systems and methods for networked computing
US10792576B2 (en) 2018-02-28 2020-10-06 Sony Interactive Entertainment LLC Player to spectator handoff and other spectator controls
CN111417441A (zh) 2018-03-22 2020-07-14 谷歌有限责任公司 用于渲染和编码在线交互式游戏会话的内容的方法和***
US10773168B2 (en) 2018-04-02 2020-09-15 Google Llc Temporary game control by user simulation following loss of active control
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
EP3773953B1 (en) 2018-04-02 2024-06-19 Google LLC Methods, devices, and systems for interactive cloud gaming
WO2019195300A2 (en) 2018-04-02 2019-10-10 Google Llc Input device for an electronic system
EP4141781B1 (en) 2018-04-10 2024-03-20 Google LLC Memory management in gaming rendering
US10950092B2 (en) 2018-10-07 2021-03-16 Synergy Blue Llc Skillful multi-level games and gaming machines in which players are granted free play sessions
CN112204529A (zh) 2018-11-16 2021-01-08 谷歌有限责任公司 用于复杂***分析的实时交互式仿真的影子追踪
US11731043B2 (en) 2019-11-19 2023-08-22 Sony Interactive Entertainment Inc. Adaptive graphics for cloud gaming
US11128636B1 (en) 2020-05-13 2021-09-21 Science House LLC Systems, methods, and apparatus for enhanced headsets

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005296419A (ja) * 2004-04-13 2005-10-27 Nintendo Co Ltd ロビーシステムプログラムおよびゲームシステム
JP2009511200A (ja) * 2005-10-11 2009-03-19 ティーエイチキュー・ワイヤレス・インコーポレーテッド プレーヤのための望ましいマルチプレーヤ・ゲームを見つけるための方法及び装置
JP2009540920A (ja) * 2006-06-20 2009-11-26 マイクロソフト コーポレーション ゲーム機間のフィーチャー配信
JP2009022365A (ja) * 2007-07-17 2009-02-05 Sony Computer Entertainment Inc ゲーム案内システム
JP5808824B2 (ja) * 2012-01-24 2015-11-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
US20140274380A1 (en) * 2013-03-14 2014-09-18 Sony Computer Entertainment Inc. Controller emulation for cloud gaming
JP2015187862A (ja) * 2014-03-19 2015-10-29 イマージョン コーポレーションImmersion Corporation 触覚効果を与えるシステム及び方法
JP2016073663A (ja) * 2015-11-25 2016-05-12 グリー株式会社 プログラム、及び表示システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FACEBOOKの友達とスコアーを競うスマホゲーム、ANGRY BIRDS FRIENDS[ONLINE], JPN6021017819, 31 May 2013 (2013-05-31), ISSN: 0004505803 *
GOOGLE、新「CHROMECAST」と「CHROMECAST AUDIO」を国内発売 4980円[ONLINE], JPN6021017818, 18 February 2016 (2016-02-18), ISSN: 0004505802 *

Also Published As

Publication number Publication date
US20170333790A1 (en) 2017-11-23
KR102072233B1 (ko) 2020-01-31
EP3402582A1 (en) 2018-11-21
JP7022734B2 (ja) 2022-02-18
US20200001177A1 (en) 2020-01-02
US11305186B2 (en) 2022-04-19
KR20180104684A (ko) 2018-09-21
JP2019516420A (ja) 2019-06-20
EP3402582B1 (en) 2019-10-30
EP3610933A1 (en) 2020-02-19
WO2017201472A1 (en) 2017-11-23
US10456672B2 (en) 2019-10-29
JP6629986B2 (ja) 2020-01-15
KR102238770B1 (ko) 2021-04-08
KR20200013075A (ko) 2020-02-05
EP3610933B1 (en) 2022-05-11

Similar Documents

Publication Publication Date Title
JP7022734B2 (ja) ゲームセッションへの参加を容易にするための方法およびシステム
US11433311B2 (en) Methods, devices, and systems for interactive cloud gaming
US11701576B2 (en) Mediating multiplayer electronic game sessions
US11642596B2 (en) Game mediation infrastructure for establishment of multiplayer gaming sessions
US10362158B2 (en) Appliance control system and method
WO2015060061A1 (ja) 電子ゲーム提供装置、電子ゲーム装置、電子ゲーム提供プログラム及び電子ゲームプログラム
KR20150076862A (ko) 게임 초대 서비스 시스템 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220207

R150 Certificate of patent or registration of utility model

Ref document number: 7022734

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150