(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】ネットワークゲームシステムにおける安全なデータチャネル
(51)【国際特許分類】
H04L 9/08 20060101AFI20231205BHJP
A63F 13/71 20140101ALI20231205BHJP
【FI】
H04L9/08 C
A63F13/71
(21)【出願番号】P 2021535712
(86)(22)【出願日】2019-12-11
(86)【国際出願番号】 US2019065825
(87)【国際公開番号】W WO2020131530
(87)【国際公開日】2020-06-25
【審査請求日】2021-08-18
(32)【優先日】2018-12-20
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】コッタ、ブライアン
【審査官】中里 裕正
(56)【参考文献】
【文献】特開2000-196583(JP,A)
【文献】特開2005-346705(JP,A)
【文献】特開2000-134193(JP,A)
【文献】特開平04-120830(JP,A)
【文献】特開2005-277806(JP,A)
【文献】特開2008-124689(JP,A)
【文献】特開2006-217446(JP,A)
【文献】特開2004-023237(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
A63F 13/71
(57)【特許請求の範囲】
【請求項1】
データチャネルの所有者に関連付けられた所有者デバイスからネットワークを介して、前記データチャネルの第1の暗号化されたチャネルキーを受信することであって、前記第1の暗号化されたチャネルキーは、前記データチャネルの前記所有者に関連付けられた公開キーで暗号化されたチャネルキーであり、前記チャネルキーは、前記データチャネルを介して共有されるコンテンツを暗号化するために使用される、前記受信することと、
前記所有者デバイスから前記ネットワークを介して、1つ以上の第2の暗号化されたチャネルキーを受信することであって、各第2の暗号化されたチャネルキーはそれぞれ、前記データチャネルの各参加者に関連付けられた公開キーで暗号化された前記チャネルキーである、前記受信することと、
前記第1の暗号化されたチャネルキー及び前記1つ以上の第2の暗号化されたチャネルキーをチャネルリストに記憶することと、
前記ネットワークを介して、前記データチャネルの各参加者にそれぞれ関連付けられた1つ以上の参加者デバイスに前記チャネルリストを配布することと、
を含む方法であって、
前記データチャネルを介した通信は、前記第1の暗号化されたチャネルキー、前記第2の暗号化されたチャネルキー、及び前記チャネルキーを使用して暗号化されたコンテンツを含む、
方法。
【請求項2】
前記データチャネルを介して前記所有者デバイスにより通信が受信されると、前記所有者に関連付けられた秘密キーを使用して、前記第1の暗号化されたチャネルキーから前記チャネルキーが復号化され、前記復号化されたチャネルキーをさらに使用して、前記通信の前記暗号化されたコンテンツが復号化される、請求項
1に記載の方法。
【請求項3】
前記データチャネルを介して参加者デバイスにより通信が受信されると、前記参加者に関連付けられた秘密キーを使用して、第2の暗号化されたチャネルキーから前記チャネルキーが復号化され、前記復号化されたチャネルキーをさらに使用して、前記通信の前記暗号化されたコンテンツが復号化される、請求項
1に記載の方法。
【請求項4】
ネットワークを介して前記所有者デバイスから、前記データチャネルの第1の暗号化された第2のチャネルキーを受信することであって、前記第1の暗号化された第2のチャネルキーは、前記データチャネルの前記所有者に関連付けられた前記公開キーで暗号化された第2のチャネルキーであり、前記第2のチャネルキーは、前記参加者のうちの少なくとも1人を除外するように、前記データチャネルを介して共有されるコンテンツを暗号化するために使用される、前記受信することと、
前記ネットワークを介して前記所有者デバイスから、1つ以上の第2の暗号化された第2のチャネルキーを受信することであって、各第2の暗号化された第2のチャネルキーはそれぞれ、前記参加者のうちの1人の前記公開キーで暗号化された前記第2のチャネルキーであり、前記1つ以上の第2の暗号化された第2のチャネルキーには、前記参加者のうちの前記除外される少なくとも1人の前記公開キーで暗号化された前記第2のチャネルキーである第2の暗号化された第2のチャネルキーは含まれない、前記受信することと、
前記チャネルリストを更新して、前記第1の暗号化された第2のチャネルキー、及び前記1つ以上の第2の暗号化された第2のチャネルキーを含めることと、
前記ネットワークを介して、前記更新されたチャネルリストを前記参加者デバイスに配布することと、
をさらに含む、請求項
1に記載の方法。
【請求項5】
前記データチャネルを介した追加の通信は、前記第1の暗号化された第2のチャネルキー、前記第2の暗号化された第2のチャネルキー、及び前記第2のチャネルキーを使用して暗号化されたコンテンツを含む、請求項
4に記載の方法。
【請求項6】
前記データチャネルを介した前記通信を記憶することと、
前記データチャネルを介した前記追加の通信を記憶することと、
をさらに含む、請求項
5に記載の方法。
【請求項7】
前記チャネルキーは、前記参加者のうちの前記除外される少なくとも1人が、前記記憶された通信の前記コンテンツにアクセスすることを可能にし、
前記第2のチャネルキーは、前記参加者のうちの前記除外される少なくとも1人が、前記記憶された追加の通信の前記コンテンツにアクセスすることを阻止する、請求項
6に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ユーザ生成データのユーザプライバシーを保護する安全な情報共有を可能にする、ネットワークゲームシステムにおける安全なデータチャネルのためのシステム及び方法に関する。
【背景技術】
【0002】
ビデオゲームの分野は、現在急成長を遂げている技術分野であり、今では多数のゲームプラットフォームが含まれ、専用ゲームコンソール、パーソナルコンピュータ(PC)、さらに最近ではクラウドゲームデバイス及びモバイルデバイスが含まれる。プレーヤはゲームを中心としたソーシャルインタラクションを所望することから、ゲームプレイのソーシャル性はますます高まっている。その結果、プレーヤ間のコミュニケーション機構を含むネットワークゲームサービス/システムが開発され、ゲームプレイ中、及びゲームプレイ外でもビデオゲームプラットフォームのコンテキスト内での両方で、コミュニケーション及びソーシャルインタラクションが可能となった。ネットワークゲームサービス/システムの一例として、PlayStation(登録商標)Networkが挙げられ、これには、コンソールベースゲーム及びクラウドベースゲームの両方に対応する様々なゲームサービスが含まれる。
【0003】
クラウドゲームのセットアップでは、ユーザは、インターネットなどのネットワークを介してクラウドゲームサイト上の多数のゲームにアクセスし、ゲームとのインタラクション/ゲームプレイを開始することができる。ユーザは、ゲームプレイ用のゲームを選択するために、クラウドゲームサイト上の自分のアカウントにアクセスし、ユーザアカウントでゲームプレイ可能な複数のゲームのうちの1つを開始する。クラウドビデオゲームから生成されるビデオは、クライアントデバイスへ転送される。クラウドゲームシステムの一例として、Playstation(登録商標)Nowクラウドゲームサービスが挙げられる。
【0004】
このような背景において、本開示の実施形態は生じる。
【発明の概要】
【0005】
本開示の実施態様は、クラウドゲームシステムにおいて情報を共有するための安全なデータチャネルを提供するために使用される方法及びシステムを提供する。
【0006】
いくつかの実施態様では、ネットワークゲームサービスを介してデータチャネルを開始することであって、データチャネルを介して通信されるコンテンツを暗号化するために使用されるチャネルキーを生成することと、データチャネルの所有者に関連付けられた公開キーでチャネルキーを暗号化することにより第1の暗号化されたチャネルキーを生成することとを含む、当該開始することと、データチャネルに参加者を追加することであって、参加者に関連付けられた公開キーでチャネルキーを暗号化することにより第2の暗号化されたチャネルキーを生成することを含む、当該追加することと、の動作を含む方法であって、データチャネルを介して送信されるメッセージは、チャネルキーを使用してメッセージのコンテンツを暗号化することにより生成された、暗号化されたコンテンツを含み、さらに第1の暗号化されたチャネルキー及び第2の暗号化されたチャネルキーを含む、当該方法が提供される。
【0007】
いくつかの実施態様では、所有者に関連付けられたユーザデバイスによりメッセージが受信されると、所有者に関連付けられた秘密キーを使用して、第1の暗号化されたチャネルキーからチャネルキーが復号化され、復号化されたチャネルキーをさらに使用して、メッセージの暗号化されたコンテンツが復号化される。
【0008】
いくつかの実施態様では、参加者に関連付けられたユーザデバイスによりメッセージが受信されると、参加者に関連付けられた秘密キーを使用して、第2の暗号化されたチャネルキーからチャネルキーが復号化され、復号化されたチャネルキーをさらに使用して、メッセージの暗号化されたコンテンツが復号化される。
【0009】
いくつかの実施態様では、この方法はさらに、データチャネルから参加者を除外することであって、第2のチャネルキーを生成することと、所有者に関連付けられた公開キーで第2のチャネルキーを暗号化することにより第3の暗号化されたチャネルキーを生成することとを含む、当該除外することを含む。
【0010】
いくつかの実施態様では、第2のチャネルキーは、参加者に関連付けられた公開キーで暗号化されない。
【0011】
いくつかの実施態様では、方法はさらに、データチャネルに第2の参加者を追加することであって、第2の参加者に関連付けられた公開キーでチャネルキーを暗号化することにより第3の暗号化されたチャネルキーを生成することを含む、当該追加することを含む。
【0012】
いくつかの実施態様では、データチャネルを介して送信されるメッセージは、第3の暗号化されたチャネルキーをさらに含む。
【0013】
いくつかの実施態様では、データチャネルの所有者に関連付けられた所有者デバイスからネットワークを介して、データチャネルの第1の暗号化されたチャネルキーを受信することであって、第1の暗号化されたチャネルキーは、データチャネルの所有者に関連付けられた公開キーで暗号化されたチャネルキーであり、チャネルキーは、データチャネルを介して共有されるコンテンツを暗号化するために使用される、当該受信することと、所有者デバイスからネットワークを介して、1つ以上の第2の暗号化されたチャネルキーを受信することであって、各第2の暗号化されたチャネルキーはそれぞれ、データチャネルの各参加者に関連付けられた公開キーで暗号化されたチャネルキーである、当該受信することと、第1の暗号化されたチャネルキー及び1つ以上の第2の暗号化されたチャネルキーをチャネルリストに記憶することと、ネットワークを介して、データチャネルの各参加者にそれぞれ関連付けられた1つ以上の参加者デバイスにチャネルリストを配布することと、の動作を含む方法であって、データチャネルを介した通信は、第1の暗号化されたチャネルキー、第2の暗号化されたチャネルキー、及びチャネルキーを使用して暗号化されたコンテンツを含む、当該方法が提供される。
【0014】
いくつかの実施態様では、データチャネルを介して所有者デバイスにより通信が受信されると、所有者に関連付けられた秘密キーを使用して、第1の暗号化されたチャネルキーからチャネルキーが復号化され、復号化されたチャネルキーをさらに使用して、通信の暗号化されたコンテンツが復号化される。
【0015】
いくつかの実施態様では、データチャネルを介して参加者デバイスにより通信が受信されると、参加者に関連付けられた秘密キーを使用して、第2の暗号化されたチャネルキーからチャネルキーが復号化され、復号化されたチャネルキーをさらに使用して、通信の暗号化されたコンテンツが復号化される。
【0016】
いくつかの実施態様では、方法はさらに、ネットワークを介して所有者デバイスから、データチャネルの第1の暗号化された第2のチャネルキーを受信することであって、第1の暗号化された第2のチャネルキーは、データチャネルの所有者に関連付けられた公開キーで暗号化された第2のチャネルキーであり、第2のチャネルキーは、参加者のうちの少なくとも1人を除外するように、データチャネルを介して共有されるコンテンツを暗号化するために使用される、当該受信することと、ネットワークを介して所有者デバイスから、1つ以上の第2の暗号化された第2のチャネルキーを受信することであって、各第2の暗号化された第2のチャネルキーはそれぞれ、参加者のうちの1人の公開キーで暗号化された第2のチャネルキーであり、1つ以上の第2の暗号化された第2のチャネルキーには、参加者のうちの除外される少なくとも1人の公開キーで暗号化された第2のチャネルキーである第2の暗号化された第2のチャネルキーは含まれない、当該受信することと、チャネルリストを更新して、第1の暗号化された第2のチャネルキー、及び1つ以上の第2の暗号化された第2のチャネルキーを含めることと、ネットワークを介して、更新されたチャネルリストを参加者デバイスに配布することと、を含む。
【0017】
いくつかの実施態様では、データチャネルを介した追加の通信は、第1の暗号化された第2のチャネルキー、第2の暗号化された第2のチャネルキー、及び第2のチャネルキーを使用して暗号化されたコンテンツを含む。
【0018】
いくつかの実施態様では、方法はさらに、データチャネルを介した通信を記憶することと、データチャネルを介した追加の通信を記憶することと、を含む。
【0019】
いくつかの実施態様では、チャネルキーは、参加者のうちの除外される少なくとも1人が、記憶された通信のコンテンツにアクセスすることを可能にし、第2のチャネルキーは、参加者のうちの除外される少なくとも1人が、記憶された追加の通信のコンテンツにアクセスすることを阻止する。
【0020】
いくつかの実施態様では、プログラム命令が組み込まれた非一時的コンピュータ可読媒体が提供され、プログラム命令は、少なくとも1つのプロセッサにより実行されると、当該少なくとも1つのプロセッサに方法を実行させ、方法は、ネットワークゲームサービスを介してデータチャネルを開始することであって、データチャネルを介して通信されるコンテンツを暗号化するために使用されるチャネルキーを生成することと、データチャネルの所有者に関連付けられた公開キーでチャネルキーを暗号化することにより第1の暗号化されたチャネルキーを生成することとを含む、当該開始することと、データチャネルに参加者を追加することであって、参加者に関連付けられた公開キーでチャネルキーを暗号化することにより第2の暗号化されたチャネルキーを生成することを含む、当該追加することと、の動作を含み、データチャネルを介して送信されるメッセージは、チャネルキーを使用してメッセージのコンテンツを暗号化することにより生成された、暗号化されたコンテンツを含み、さらに第1の暗号化されたチャネルキー及び第2の暗号化されたチャネルキーを含む。
【0021】
本開示の他の態様及び利点は、添付の図面と併せて、本開示の原理を例として示す下記の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0022】
本開示は、そのさらなる利点と共に、添付の図面と併せて下記の説明を参照することにより、最も良く理解されるであろう。
【0023】
【
図1A】本開示の実施態様による、データチャネルと複数のユーザとの間の公開キー交換を概念的に示す。
【0024】
【
図1B】本開示の実施態様による、データチャネル100とデータチャネル100のユーザとの間の通信の処理をさらに示す。
【0025】
【
図2】本開示の実施態様による、複数のユーザによるデータチャネル100とのインタラクションを示す。
【0026】
【
図3】本開示の実施態様による、情報を共有するためのデータチャネルを提供するシステムを概念的に示す。
【0027】
【
図4】本開示の実施態様による、データチャネル100の所有権の移転を概念的に示す。
【0028】
【
図5】本開示の実施態様による、データチャネル100へのアクセスの取り消しを概念的に示す。
【0029】
【
図6】本開示の実施態様による、暗号化されたデータチャネルを介して送信されるゲーム関連通信/データを概念的に示す。
【0030】
【
図7】本開示の実施態様による、データチャネルのコンテンツにアクセスするためのインターフェースを概念的に示す。
【0031】
【
図8A】本開示の実施態様による、暗号化プライベートプレーヤソーシャルデータチャネルを開始するためのプロセスを概念的に示す。
【0032】
【
図8B】本開示の実施態様による、参加者をデータチャネルに追加するためのプロセスを概念的に示す。
【0033】
【
図8C】本開示の実施態様による、ユーザがデータチャネルを去る場合、データチャネルの暗号化されたチャネルキーのチャネルリストへの変更を概念的に示す。
【0034】
【
図8D】本開示の実施態様による、
図8Cのシナリオに基づいて、経時的なデータチャネルのコンテンツの暗号化を示すタイムラインを概念的に示す。
【0035】
【
図8E】本開示の実施態様による、データチャネル100におけるメッセージの構成要素を概念的に示す。
【0036】
【
図9A】本開示の実施形態による、ゲームコンテンツをクラウドゲームサーバにプリロードするために使用される例示的なシステムの簡略化されたブロック図を示す。
【0037】
【
図9B】本開示の実施態様による、クラウドビデオゲームをクライアントデバイスにストリーミングするために実行される様々な動作を概念的に示すフロー図である。
【0038】
【
図10】本発明の実施態様による、地理的に分散しネットワークを介して接続されたユーザに情報コンテンツ及びサービスを届けるための例示的な情報サービスプロバイダアーキテクチャを示す。
【発明を実施するための形態】
【0039】
下記の説明では、本開示の完全な理解を提供するために、多くの具体的な詳細が述べられる。しかしながら、本開示は、これらの具体的な詳細の一部または全てがなくとも実践できることは、当業者には明らかであろう。他の例では、本開示を不明瞭にしないために、周知のプロセスステップについては詳細に説明していない。
【0040】
ビデオゲーム分野の人気が高まり続けるにつれて、ビデオゲームに関連するユーザ生成情報は、これまでになく豊富になっている。ゲーム体験は、テキスト/オーディオ/ビデオチャット、オーディオフィード、ビデオフィード、スクリーンショット、ビデオクリップ、ソーシャルメディア投稿、コメントなどを介して、より大きなソーシャルインタラクションを促進するように発展した。さらに、クラウドゲームが拡大するにつれて、ますます多くのユーザ情報が、ローカルに記憶されるのではなく、クラウドに記憶されている。従って、ユーザが自分の好みに応じてデータへのアクセスを制御することを可能にしながら、ユーザデータのセキュリティ及びプライバシーを確保することが望ましい。
【0041】
上記のように、PlayStation(登録商標)Networkなどのネットワークゲームサービス/システムは、コンソールベースゲーム及びクラウドベースゲームの両方に対応する様々なゲームサービスを提供することができる。しかし、このようなネットワークゲームサービスはユーザに通信及びソーシャルサービスを提供し得るが、このようなサービスを介して共有されるユーザのコンテンツ及び情報は、安全でない場合もあり、ネットワークゲームサービスプロバイダには見える状態である。例えば、このようなコンテンツは、悪意のある第三者により傍受され得る。また、ネットワークゲームサービスがハッキングされた場合には、ユーザの情報及びコンテンツが公開され得る。
【0042】
上記を考慮して、本開示の実施態様は、ネットワークゲームサービスのユーザ間の通信のための安全なデータチャネルを提供する。データチャネルは、データチャネルの所有者/管理者であるユーザのうちの1人により、インスタンス化及び制御され得、これには、データチャネルへのユーザの追加及びデータチャネルからのユーザの除外の制御も含まれる。データチャネルを介して共有されるコンテンツは、データチャネルのユーザのみが読み出し可能なように暗号化され得る。
【0043】
ユーザは通常、ユーザデバイスを使用または操作することで、本開示によるシステムとインターフェースすることから、説明を簡単にするために、本開示全体を通して、「ユーザ」への言及は多くの場合、ユーザに関連付けられた、またはユーザが操作するユーザデバイスと同義であることが、理解されよう。従って、本開示では説明を簡単にするために用語「ユーザ」が使用されるが、用語「ユーザ」は、ユーザ、並びにユーザが操作するあるいはユーザに関連付けられたユーザデバイスの両方を含み得ることが理解され、さらに用語「ユーザ」及び「ユーザデバイス」は、当業者には明らかなように、実施態様の本説明において多くの場合、互換的に使用され得る。
【0044】
図1Aは、本開示の実施態様による、データチャネルと複数のユーザとの間の公開キー交換を概念的に示す。データチャネル100が示され、これは、複数のユーザが参加する永続的なセッションとして理解されよう。データチャネル100は、ユーザ生成コンテンツまたは情報を記憶し、参加ユーザがこのようなコンテンツ/情報にアクセスできるように構成される。いくつかの実施態様では、データチャネル100は、ユーザ生成コンテンツまたはユーザ提供コンテンツのストリームとして概念化することができ、データチャネル100に共有されるコンテンツ提供のレポジトリとしてストリーム記録またはストリーム提供を行う。このようなコンテンツ提供は、データチャネル100により定義されるストリームへのアクセスを許可された者なら誰でも、アクセス可能である。
【0045】
データセキュリティを促進するために、例示の実施態様では、データチャネル100へのアクセスを許可された各ユーザに対して、公開キー交換が実行される。すなわち、例示の実施態様では、データチャネル100の公開キーがユーザAに提供されてユーザAにより記憶され、ユーザAの公開キーがデータチャネル100に提供されてデータチャネル100により記憶される。データチャネル100からユーザAへの通信は、ユーザAの公開キーを使用して暗号化され得、ユーザAからデータチャネル100への通信は、データチャネル100の公開キーを使用して暗号化され得る。
【0046】
同様に、例示の実施態様では、データチャネル100の公開キーがユーザBに提供されてユーザBにより記憶され、ユーザBの公開キーがデータチャネル100に提供されてデータチャネル100により記憶される。データチャネル100からユーザBへの通信は、ユーザBの公開キーを使用して暗号化され得、ユーザBからデータチャネル100への通信は、データチャネル100の公開キーを使用して暗号化され得る。
【0047】
同様に、例示の実施態様では、データチャネル100の公開キーがユーザCに提供されてユーザCにより記憶され、ユーザCの公開キーがデータチャネル100に提供されてデータチャネル100により記憶される。データチャネル100からユーザCへの通信は、ユーザCの公開キーを使用して暗号化され得、ユーザCからデータチャネル100への通信は、データチャネル100の公開キーを使用して暗号化され得る。
【0048】
図1Bは、本開示の実施態様による、データチャネル100とデータチャネル100のユーザとの間の通信の処理をさらに示す。例示の実施態様では、データチャネル100からユーザAへの通信102は、ユーザAの公開キー104を使用して暗号化され得る。通信102を受信すると、ユーザAは、ユーザAの秘密キー106を使用して通信102を復号化し、通信102のコンテンツをレンダリングする。ユーザAが通信108をデータチャネル100に送信する場合、通信108は、データチャネル100の公開キー110を使用して暗号化され得る。通信108を受信すると、通信108は、データチャネル100の秘密キー112を使用して復号化され、通信108のコンテンツがレンダリングされる。
【0049】
データチャネル100とユーザB及びCとの間の通信においても同様の処理が発生する。例示の実施態様では、データチャネル100からユーザBへの通信は、ユーザBの公開キー114を使用して暗号化され得、ユーザBは受信時に、ユーザBの秘密キー116を使用して通信を復号化し、これにより、通信のコンテンツをレンダリングする。ユーザBが通信をデータチャネル100に送信する場合、通信は、データチャネル100の公開キー110を使用して暗号化され得、通信は、受信時にデータチャネル100の秘密キー112を使用して復号化され、通信のコンテンツがレンダリングされる。さらに例示の実施態様では、データチャネル100からユーザCへの通信は、ユーザCの公開キー118を使用して暗号化され得、ユーザCは受信時に、ユーザCの秘密キー120を使用して通信を復号化し、これにより、通信のコンテンツをレンダリングする。ユーザCが通信をデータチャネル100に送信する場合、通信は、データチャネル100の公開キー110を使用して暗号化され得、通信は、受信時にデータチャネル100の秘密キー112を使用して復号化され、通信のコンテンツがレンダリングされる。
【0050】
図2は、本開示の実施態様による、複数のユーザによるデータチャネル100とのインタラクションを示す。説明されたように、データチャネル100は、永続セッションにユーザ生成コンテンツが記憶され、データチャネル100にアクセス権を有するユーザがユーザ生成コンテンツにアクセスできるように、永続セッションを定義する。
【0051】
いくつかの実施態様では、データチャネル100は、例示の実施態様のユーザAなどのネットワークゲームサービスの特定のユーザにより、開始され得る。従って、ユーザAは、データチャネル100を管理する管理者権限を有するデータチャネル100の所有者である。ユーザAは、例示の実施態様におけるユーザB、C、及びDなどのネットワークゲームサービスの他のユーザを、データチャネル100に参加するように招待し得る。データチャネル100の管理者として、ユーザAは、データチャネル100にアクセスできる人を制御し、さらに他のユーザに付与する権限を決定し得、例えば他のユーザが、データチャネル100のコンテンツを読み出し/表示/アクセスできるか否か、特定の種類のコンテンツのみにアクセスできるか否か、データチャネル100にコンテンツを投稿/書き込み/追加できるか否か、特定の種類のコンテンツのみ投稿できるか否か、他の人をデータチャネル100に対する読み出し及び/または投稿に招待できるか否か、データチャネル100からコンテンツを削除できるか否か、データチャネル100内のコンテンツを編集できるか否かなどを、決定し得る。前述のようなデータチャネル100のユーザに関するデータは、ユーザメタデータ200として記憶され得、示されるようにこれは、ユーザのID、各自の公開キー、及び特定の権限を含み得る。
【0052】
新規ユーザがデータチャネル100に追加されると、前述のようにデータチャネル100と新規ユーザとの間の公開キー交換が実行され得、これにより、データチャネル100と新規ユーザとの間の通信は適宜暗号化され得ることが、理解されよう。新規ユーザの公開キーは、新規ユーザのID及び権限情報とともに、ユーザメタデータ200の一部として記憶される。
【0053】
データチャネル100は、複数のユーザが安全な方法で互いにコンテンツを共有できるように定義され得る。このようなユーザ生成コンテンツは、コンテンツストレージ204に記憶される。さらに、ユーザ生成コンテンツに関連する情報は、コンテンツメタデータ202として記憶される。コンテンツメタデータの非限定的な例として、コンテンツアイテムの作成者のID、コンテンツアイテムが投稿された時のタイムスタンプ、コンテンツアイテムの一意的な識別子、コンテンツの種類(例えばテキスト、画像、ビデオなど)、キーワード/タグ、記述子、分類などが挙げられる。
【0054】
例示の実施態様では、ユーザAは、データチャネル100にテキストアイテム206を提供/投稿し、その後、データチャネル100に画像208を投稿する。ユーザBは、データチャネル100に、テキストアイテム212を投稿し、その後ビデオ210を投稿する。ユーザDは、データチャネル100に、テキストアイテム214を投稿する。本開示の実施態様によれば、ユーザから各自のコンテンツアイテムを投稿するための通信は、データチャネル100の公開キーで暗号化され得ることが、理解されよう。ユーザCは、データチャネル100に対する書き込み権限を有しておらず、従って、ユーザCからデータチャネル100への投稿はない。
【0055】
例示の実施態様では、全てのユーザは、データチャネル100の読み出し権限を有し、従って、ユーザは全員、データチャネル100に投稿された様々なコンテンツの表示及びアクセスを行うことができる。いくつかの実施態様では、データチャネル100のコンテンツにアクセスするのに使用されるインターフェースは、フィードまたはコンテンツストリームの形態であり得る。いくつかの実施態様では、コンテンツは、コンテンツの種類によりコンテンツを編成する様々なセクションを有するインターフェースを介して、アクセスされる。いくつかの実施態様では、コンテンツは、チャットログの形式で提供される。コンテンツが提示される特定のインターフェースフォーマットに関係なく、様々なユーザのそれぞれの公開キーでコンテンツを暗号化することにより、コンテンツは、データチャネル100からユーザに安全に送信され得ることが、理解されよう。
【0056】
様々な種類のコンテンツのいずれも、データチャネル100を介して共有できることが、理解されよう。例えば、テキスト、画像、オーディオ、ビデオ、及びこれらの組み合わせは全て、共有できる。クラウドゲームの状況では、このようなコンテンツは、クラウドゲームに関連する様々なソースまたはインタラクションから生じ得る。非限定的な例として、チャットログ、ゲームイベントログ、ユーザオーディオチャットの録音されたオーディオ、スクリーンショット、ゲームプレイビデオクリップ、ユーザのローカル環境の録画されたビデオ、ウェブリンクなどが挙げられる。
【0057】
いくつかの実施態様では、データチャネル100を介して共有されるコンテンツには、ライブビデオゲームセッションからデータチャネル100へのゲームプレイビデオのライブストリーミングが含まれ得る。すなわち、ユーザのゲームセッションのライブビデオフィードは、データチャネル100の他のユーザにより観覧可能にされ得る。いくつかの実施態様では、ライブビデオにはさらに、ユーザのローカルカメラ(例えば個人用ウェブカメラ)からのライブビデオが含まれ、ユーザのビデオが表示され得る。このようなライブビデオ共有は機密性が高い場合があり、よってユーザは、このような共有においてプライバシーの確保を望み得、データチャネル100は、ユーザのプライバシー及びユーザ情報のセキュリティを保護しながら、このような共有を可能にする機構を提供することが、理解されよう。
【0058】
いくつかの実施態様では、ユーザは、特定の種類のイベントを自動的に記録するようにデータチャネル100を構成し得る。ユーザは、データチャネル100に具体的に共有するコンテンツの種類を選択することを可能にするインターフェースを介して、このようなデータチャネル100への自動共有を認可し得ることが、理解されよう。このようにして、データチャネル100には、選択された種類のコンテンツが自動的に取り込まれ得る。様々な実施態様では、データチャネル100を介して共有可能であると本明細書に説明されるコンテンツの種類のいずれも、データチャネル100に自動的に共有されるように構成することができる。
【0059】
いくつかの実施態様では、データチャネル100は、クラウドゲームシステム上で生じる特定のゲームセッションまたはイベント用に、インスタンス化され得る。例えば、データチャネル100は、ビデオゲームのマルチプレーヤセッション用に定義され得、マルチプレーヤセッションからのコンテンツは、データチャネル100に共有される。いくつかの実施態様では、マルチプレーヤセッションのプレーヤ(例えばビデオゲームセッションのためにチームを形成するプレーヤ)は、データチャネル100へのアクセスが提供され、これにより、共有及び通信のための安全なチャネルを有することができる。
【0060】
データチャネル100はまた、管理者権限を有するユーザにより閉鎖または終了され得ることが、理解されよう。例えば、例示の実施態様におけるユーザAは、これ以上情報がデータチャネル100に共有されることがないように、データチャネル100を閉鎖する能力を有し得る。いくつかの実施態様では、ユーザは、依然としてデータチャネル100を見ることを許可され得るが、データチャネル100にいずれの新たな情報も追加できない。これは、ユーザAが全ユーザの書き込み権限を削除し、同時にユーザの読み出し権限を保持することと、同等と見なされ得る。
【0061】
図3は、本開示の実施態様による、情報を共有するためのデータチャネルを提供するシステムを概念的に示す。例示の実施態様では、ユーザA、ユーザB、及びユーザCはそれぞれ、ユーザ/クライアントデバイス300、302、及び304を操作する。ユーザデバイス300、302、及び304は、ネットワーク306を介してチャネルサーバ308と通信する。チャネルサーバ308は、例示の実施態様におけるデータチャネルセッション310、312、及び314などのデータチャネルセッションをインスタンス化する。各データチャネルセッションは、本開示の実施態様に従って別個のデータチャネルの機能を提供し、これには、コンテンツの受信、コンテンツの記憶、及びデータチャネルのコンテンツへのアクセスを許可されたユーザとのネットワークを介したコンテンツの共有が含まれることが、理解されよう。
【0062】
例示の実施態様では、データチャネルセッションは、チャネルメタデータストレージ316及びチャネルメディアストレージ326にアクセスする。チャネルメタデータストレージ316は、データチャネルそれぞれのメタデータを含む。非限定的な例として、チャネルメタデータ318は、データチャネルセッション310に対して定義され、データチャネルの1人以上の所有者を識別する所有権情報320、データチャネルのメンバー及びデータチャネルとのインタラクションにおける各自の権限を識別するメンバーシップ情報322、及びデータチャネルセッション310のルール/設定を含み得る。
【0063】
さらに、例示の実施態様では、データチャネルセッションは、データチャネルを介して共有するコンテンツを含むチャネルメディアストレージ326にアクセスする。例示の実施態様では、チャネルメディアストレージ326は、例として、データチャネルを介して共有された様々なメディア/コンテンツアイテムを含むチャネルメディア328を含む。例示の実施態様では、これは、チャット/ゲームログ330、画像352、及びビデオ334を含む。本開示で論じられるように、データチャネルを介して他の種類のコンテンツ/メディアも共有できることが、理解されよう。
【0064】
例示の実施態様では、ネットワークゲームサービス330も示され、これは、コンソール/クラウドゲームサービスのサポートを提供する様々なサーバコンピュータ及び/またはゲームマシンを含み得、これにより、ユーザがビデオゲームにアクセスしてプレイすること、並びにオーディオ/テキストチャットサービス、スクリーンショット/ゲームプレイビデオの保存及び処理などの関連通信及びコンテンツ生成サービスが可能となる。データチャネルのコンテンツは、ゲームプレイインタラクション及びユーザ間通信インタラクションを含むネットワークゲームサービス330とのインタラクションから生成され得、よって、チャネルサーバ308、より具体的にはチャネルセッションは、ネットワークゲームサービス330から各自のデータチャネルのコンテンツを受信し得る。
【0065】
図4は、本開示の実施態様による、データチャネル100の所有権の移転を概念的に示す。典型的なシナリオでは、データチャネル100は所有者を有し、所有者は通常、データチャネル100を開始するユーザである。例えば、例示の実施態様では、ユーザAは、データチャネル100の現在の所有者であり、所有者として、データチャネル100を管理し、これには、データチャネル100のメンバーシップ及び設定を制御することが含まれる。しかし、ユーザAは、これ以上データチャネル100を管理することを望まない場合がある。従って、いくつかの実施態様では、ユーザAは、データチャネル100の所有権を別のユーザに譲渡し得る。例示の実施態様では、参照番号400に示されるように、ユーザAは、データチャネル100の所有権をユーザBに移転することが、概念的に示される。このようにすることで、ユーザAは、所有権情報320を更新するトランザクションを開始して(参照番号402)、ユーザBがデータチャネル100の所有者であり、データチャネル100に関する管理者権限を現時点で所有することを反映させる。
【0066】
図5は、本開示の実施態様による、データチャネル100へのアクセスの取り消しを概念的に示す。例示の実施態様では、ユーザAは、データチャネル100の管理者権限を有するチャネル所有者であり、参照番号500に概念的に示されるように、ユーザAは、ユーザCのデータチャネル100へのアクセスを取り消す。これを達成するために、ユーザAは、データチャネル100のメンバーシップ情報322を更新するトランザクションを開始し(参照番号502)、その結果、ユーザCは、データチャネル100へのアクセスを許可されなくなる。いくつかの実施態様では、これは、データチャネル100のコンテンツがユーザCの公開キーを使用してもう公開できないように、ユーザCに関連するメンバーシップ情報322の設定を変更することを伴う(例えばユーザCの読み出し/書き込み権限を無効化する)。いくつかの実施態様では、ユーザCの公開キー及び/または他の情報は、メンバーシップ情報から除外または削除される。
【0067】
図6は、本開示の実施態様による、暗号化されたデータチャネルを介して送信されるゲーム関連通信/データを概念的に示す。ユーザデータのプライバシーを保護するために、ゲームセッション中に生じるリアルタイムアクティビティは、暗号化されたデータチャネルを介して共有され得ることが、理解されよう。例示の実施態様では、ビデオゲームセッション600が実行され、これは、複数のユーザ608、610、612、及び614によりプレイされているビデオゲームの活動ゲーム状態を定義する。ビデオゲームセッション600の間、ユーザのインタラクティビティのために、いくつかの関連する通信及びデータサービスが提供される。非限定的な例として、このようなサービスには、ユーザ間のテキストベース通信を提供するテキストチャットサービス602と、ユーザ間のオーディオ通信(例えばユーザに関連付けられたまたはユーザが操作するマイクロフォンからの発話音声)を提供するオーディオチャットサービス604と、ユーザ各自のローカル環境におけるユーザ各自のカメラからビデオ共有を提供する(例えば他の人がユーザを見られるようにユーザ自身のビデオを提供する)ユーザカメラ共有サービス606と、ビデオゲームセッション中に生じるイベントをユーザがよりよく理解できるように、ゲームアクティビティ/イベントを表示及び記録するゲームログサービス606と、が含まれ得る。これらのサービス並びに本開示の実施態様による他のサービスのそれぞれに関して、ユーザに送信されるデータ及びユーザから受信されるデータは、データチャネル100を介して暗号化され得る。従って、ユーザのプライバシー及びデータの保護を保証するために、ビデオゲームセッションに関わる関連サービスにより提供される機密データは処理される。
【0068】
図7は、本開示の実施態様による、データチャネルのコンテンツにアクセスするためのインターフェースを概念的に示す。例示の実施態様では、インターフェース700は、コンテンツのストリームとして概念化される。データチャネルは、参照番号702に示されるように名前が付けられ得、データチャネルの所有者は、参照番号704に示されるように識別され得る。
【0069】
メンバーステータスセクション706には、データチャネルのメンバーの現在のステータスが示される。例えば、メンバーは、オンライン、オフライン、ゲームプレイ参加状態などであり得る。所有者は、管理者権限を有し得、従って、ユーザがデータチャネルのコンテンツストリームにアクセス権を有し得るまたは有し得ないように、ユーザをデータチャネルに追加/データチャネルから除外することが可能であり得ることが、理解されよう。
【0070】
参照番号708では、投稿インターフェースが示され、投稿インターフェースにより、ユーザは、コメント、または画像、またはビデオをデータチャネルコンテンツストリームに投稿することが可能となる。インターフェース700の一部であるコンテンツのストリームには、示されるように様々な種類のコンテンツが存在し得る。例えば、参照番号710では、ゲームアクティビティに関する更新/通知が表示され、ゲームセッションが進行中であること、並びにセッションの継続時間及びセッションの参加者のIDなどの他の関連情報が示される。いくつかの実施態様では、このようなコンテンツアイテムにより、セッションに関するより詳細な情報を表示するためのアクセスを提供し、及び/またはセッションのライブゲームプレイを観覧することができる。
【0071】
コンテンツアイテム712は、ゲームセッションのビデオの投稿であり、これには、ビデオを投稿するユーザによるコメントが含まれる。アイテム714は、アイテム712に対する他のユーザからの反応を示す。
【0072】
この事例では、コンテンツアイテム716は、データチャネル100の他のユーザに質問するテキスト投稿である。ユーザは、アイテム716に対して返信を投稿してもよいことが、理解されよう。
【0073】
本開示による実施態様は、クラウドゲームに由来するコンテンツを参照して説明されたが、本開示の原理及び実施態様は、コンソールゲーム、PCゲーム、モバイルデバイスゲーム、ブラウザベースゲーム、ソーシャルメディアゲーム、または他の種類のデバイス及び/または他の種類のコンテキストで実行されるビデオゲームに由来するコンテンツにも適用できることが、理解されよう。
【0074】
図8Aは、本開示の実施態様による、暗号化プライベートプレーヤソーシャルデータチャネルを開始するためのプロセスを概念的に示す。例示の実施態様では、所有者800は、データチャネル100をセットアップしている。所有者/管理者800は、参照番号802に示されるように、チャネルキーK
i生成することにより、チャネルを開始する。チャネルキーK
iは、所有者の公開キー804を使用して暗号化され(参照番号806)、暗号化されたチャネルキーE
O(K
i)は、データチャネル100に記憶される。
【0075】
図8Bは、本開示の実施態様による、参加者をデータチャネルに追加するためのプロセスを概念的に示す。例えば、データチャネル100に参加者/ユーザP
1を追加するために(参照番号816)、所有者800は、所有者の秘密キー812を使用して、暗号化されたチャネルキーE
O(K
i)を復号化し(参照番号810)、チャネルキーK
iを取得する。次に、チャネルキーKiは、参加者P
1の公開キー(参照番号818)を使用して、暗号化される(参照番号814)。結果得られる参加者P
1の暗号化されたチャネルキーE
P1(K
i)は、示されるように、データチャネル100に記憶される。同様に、別の参加者P
2(参照番号822)をデータチャネル100に追加するために、復号化されたチャネルキーK
iは、参加者P
2の公開キー(参照番号824)を使用して暗号化され(参照番号820)、参加者P
2の暗号化されたチャンネルキーE
P2(K
i)は、データチャネル100に記憶される。
【0076】
所有者/管理者がデータチャネルを開始して参加者を追加すると、チャネルキーの暗号化が所有者のデバイス上でゼロトラスト方式で行われ、これにより、チャネルキー、及びチャネルキーを使用して暗号化されたデータは、所有者及び参加者以外のいずれの関係者にも公開されないことが、理解されよう。従って、ネットワークゲームサービスでも、データチャネルのチャネルキー及び暗号化されたデータを内々に知っているわけではない。データチャネルのコンテンツは暗号化形式で記憶されるため、よって、データチャネルは、コンテンツがネットワークゲームサービスに公開されることなく、ネットワークゲームサービス及びそのシステムにより維持され得る。データチャネルは、暗号化されたキー(EO(Ki)、EP1(Ki)、EP2(Ki)など)を全チャネルメンバーに利用可能にし、参加者が加わると、参加者の暗号化されたチャネルキーはチャネルリストに追加され、チャネルリストは、ネットワークゲームサービスにより維持され得る。
【0077】
いくつかの実施態様では、チャネルキーは、対称である(例えばAES)。いくつかの実施態様では、所有者キーと参加者キーは、非対称である(例えばRSA、ECC、DS+EG)。
【0078】
図8Cは、本開示の実施態様による、ユーザがデータチャネルを去る場合、データチャネルの暗号化されたチャネルキーのチャネルリストへの変更を概念的に示す。示されるように、前述の実施態様によれば、所有者並びに参加者P
1、及びP
2を含むチャネルメンバーを有するデータチャネル用に、第1のチャネルキーK
1が生成される。チャネルキーは、メンバーの公開キーで暗号化され、暗号化されたチャネルキーは、従って、チャネルリスト830Aに記憶される。例示の実施態様に示されるように、暗号化されたチャネルキーには、所有者、参加者P
1及び参加者P
2それぞれの暗号化されたチャネルキーE
O(K
1)、E
P1(K
1)、及びE
P2(K
1)が含まれる。
【0079】
参加者P1が去る場合(またはデータチャネルから除外される場合)、第2のチャネルキーK2が生成され、データチャンネルの残りのメンバーの公開キーで暗号化される。例示の実施態様では、所有者及び参加者P2のために、暗号化されたチャネルキーEO(K2)及びEP2(K2)がそれぞれ、チャネルリストに追加される。これらは、第1のチャネルキーから暗号化された暗号化チャネルキー(EO(K1)、EP1(K1)、及びEP2(K1))に追加される。このようにして、参加者P1は、第1のチャネルキーK1を使用して暗号化された古いコンテンツ/メッセージを、依然として復号化することができるが、第2のチャネルキーK2を使用して暗号化された新たなコンテンツは、復号化することができない。
【0080】
図8Cを引き続き参照すると、別の参加者P
3がデータチャネルに加わる場合のシナリオが検討される。いくつかの実施態様では、参加者P
3は、データチャネルの全履歴への完全なアクセス権を有するようにデータチャネルに追加され得、これにより、参加者P
3は、データチャネルの全履歴コンテンツを表示することが可能となる。この事例では、第1及び第2のチャンネルキーK
1及びK
2の両方は、新たな参加者P
3の公開キーで暗号化され、参照番号830Cのチャネルリストに示されるように、暗号化されたチャンネルキーE
P3(K
1)及びE
P3(K
2)としてチャンネルリストに追加される。
【0081】
しかし、いくつかの実施態様では、参加者P3は、データチャネルの履歴コンテンツへはアクセスできないが、参加者P3の参加時点以降にデータチャネルに共有されるコンテンツへはアクセスできる新たな提供者としてのみ、データチャネルに追加され得る。この事例では、次いで、新たな第3のチャネルキーK3が生成され、所有者及び参加者P2及びP3の公開キーで暗号化される。参照番号830Dに示されるように、新たな暗号化チャネルキーEO(K3)、EP2(K3)、及びEP3(K3)がチャネルリストに追加される。
【0082】
図8Dは、本開示の実施態様による、
図8Cのシナリオに基づいて、経時的なデータチャネルのコンテンツの暗号化を示すタイムラインを概念的に示す。例示の実施態様において、シナリオAでは、参加者P
1は去り、参加者P
3はチャンネルの履歴への完全なアクセス権を有して参加する。一方、シナリオBでは、参加者P
1は去り、参加者P
3は、チャネルの履歴へのアクセス権を有さずに参加する(ただし参加後のコンテンツへのアクセス権は有する)。参照番号840に示されるように、最初に所有者は、データチャネルを作成し、参加者P
1及びP
2を追加する。その後、参照番号842に示されるように、参加者P
1が去る。さらにこれに続いて、参照番号844に示されるように、参加者P
3がデータチャネルに参加する。
【0083】
例示の実施態様に示されるシナリオAでは、チャネルが作成されてからP1が去るまでの期間846に、チャネルは初めにチャネルキーK1で暗号化される。次に、P1が去った後の期間848に、チャネルは、チャネルキーK2で暗号化される。参加者P3がチャネルに参加しても、チャンネルは、依然としてチャンネルキーK2で暗号化される。
【0084】
示されるシナリオBでは、チャネルが作成されてからP1が去るまでの期間850に、チャネルは同様に初めにチャネルキーK1で暗号化される。P1が去った後の期間852に、チャネルは、チャネルキーK2で暗号化される。しかし、参加者P3が参加すると、期間854にチャンネルは、新たなチャンネルキーK3で暗号化される。
【0085】
図8Eは、本開示の実施態様による、データチャネル100におけるメッセージの構成要素を概念的に示す。例示の実施態様では、暗号化されたチャネルキー862、メッセージ署名864、及び暗号化されたコンテンツ866を含む所与のメッセージ860が示される。暗号化されたチャネルキー862は、チャネルリストに含まれる暗号化されたチャネルキーの全てを含む。暗号化されたチャネルキーは、それぞれの秘密キー保持者によってのみ復号化でき、秘密キー保持者は、所有者及びデータチャネル100へのアクセスを許可された参加者であることが、理解されよう。説明されたように、多数のチャネルキーが存在し得、これらは、異なるユーザ部分集合の公開キーで暗号化され得る。
【0086】
メッセージ860はさらに、メッセージ署名864を含む。いくつかの実施態様では、メッセージ署名は、対称署名アルゴリズム(例えばHMAC(ハッシュベース/キー付きハッシュメッセージ認証コード)、GMAC(ガロアメッセージ認証コード)、CMAC(暗号ベースメッセージ認証コード))を使用する。
【0087】
メッセージ860はさらに、暗号化されたコンテンツ866、すなわちチャネルキーKiで暗号化されたメッセージのコンテンツを含む。コンテンツには、テキスト、画像、ビデオなどが含まれ得る。
【0088】
いくつかの実施態様では、暗号化されたコンテンツ866及びメッセージ署名864は、同じプロセスを通して同時に生成される(例えばAES-GCM(高度暗号化標準-ガロア/カウンタモード)を使用する)。
【0089】
従って、データチャネル内の各メッセージは、暗号化されたチャネルキー、メッセージ署名、及び暗号化されたメッセージコンテンツを含む。ユーザ(例えば所有者または参加者)がメッセージを受信すると、メッセージを構文解析して、公開キーで暗号化されたチャネルキーを見つけ、チャネルキーを復号化する。次に、ユーザは、復号化されたチャネルキーを使用してメッセージのコンテンツを復号化し得る。
【0090】
メッセージのコンテンツへのアクセスは、コンテンツを暗号化するのに使用される特定のチャネルキーを介して、及びチャネルキーの暗号化の管理を通して、制御されることが、理解されよう。コンテンツの暗号化に使用されるチャネルキーは、コンテンツへのアクセスを許可される特定ユーザのみの公開キーで暗号化され、これらの暗号化されたキーはメッセージに含まれる。チャネルキーは暗号化された形式でのみ送信されるため、対応する秘密キーの保持者のみが、チャネルキーにアクセスし、コンテンツを復号化することができる。これは、ユーザの観点からのゼロトラストソリューションを提供し、データチャネルメタデータを(暗号化された形式で)記憶し、かつ(例えばユーザ間のデータ通信を促進することで)チャネルを管理するネットワークゲームサービスでさえも、チャネルキーを復号化することができないため、コンテンツへのアクセス権を有さない。さらに、所与のメッセージが何らかの方法で第三者により傍受された、または誤送信された場合でも、このような受信者はチャネルキーを復号化できないため、メッセージのコンテンツの機密性は守られる。
【0091】
上記のように、データチャネルは、ネットワークゲームサービスのリソースを使用して管理され得る。例えば、ネットワークゲームサービスは、チャネルリストを維持し、メンバーが除外された時(前述のように残りの全メンバーに新たなチャネルキーを提供する)、または新たなメンバーが追加された時(前述のようにチャネルリストを新たなメンバーに提供し、存在するメンバーを更新して、新たな暗号化されたチャネルキーを含める)など、必要に応じてデータチャネルの現在活動中のメンバーにチャネルリストを配布し得る。データチャネルのメンバーがメッセージを生成する時、現在のチャネルキーを使用してコンテンツを暗号化し得、さらにチャネルリストの暗号化されたキーを連結し得る。メッセージは、ネットワークゲームサービスのデータチャネルサービス/ロジック/ハンドラーに送信され、記憶され、他のユーザに配布され得る。
【0092】
前述のように、本開示の実施態様は、クラウドゲームシステムに適用され得る。クラウドゲームシステムの一例として、Playstation(登録商標)Nowクラウドゲームシステムが挙げられる。このようなシステムでは、クライアントデバイスは、Playstation(登録商標)4ゲームコンソールなどのゲームコンソール、またはパーソナルコンピュータ、ラップトップ、タブレット、携帯電話、モバイルデバイスなどの別のデバイスであり得る。
【0093】
概して、ゲームタイトルのユーザリクエストが受信されると、クラウドゲームを有効化するために、クラウドゲームサイトに関連付けられたデータセンタ内の1つ以上のサーバにより、いくつかの動作が実行される。クラウドゲームサイトがユーザリクエストを受信すると、選択されたゲームタイトルに関連付けられたゲームをホストするデータセンタが識別され、選択されたゲームタイトルのゲームをインスタンス化するために、識別されたデータセンタにリクエストが送信される。リクエストに応じて、データセンタのサーバは、ゲームコンテンツをユーザに提示する準備として、ゲームコードを識別し、識別したゲームコードをロードし、ゲームコードに関連するファイルを初期化する。ゲームに関連付けられたゲームデータには、一般的なゲームデータと、ユーザ固有のゲームデータとが含まれ得る。従って、ファイルを初期化することは、一般的なゲームデータ及びユーザ固有のゲームデータの両方を識別し、ロードし、初期化することを含み得る。一般的なゲームデータを初期化することは、グラフィックスエンジンを初期化すること、グラフィックスデータをインストールすること、サウンドファイルを初期化すること、アートワークをインストールすることなどを含み得る。ユーザ固有データを初期化することは、ユーザデータ、ユーザ履歴、ゲーム履歴などを検索すること、転送すること、及びインストールすることを含み得る。
【0094】
一般的なゲームデータがロードされ初期化されている間に、「スプラッシュ」画面がクライアントデバイスでレンダリングされるように提供され得る。スプラッシュ画面は、ロードされているゲームの代表的な画像を提供するように設計され、ロードされているゲームの好例をユーザが下見することを可能にし得る。一般的なゲームデータがロードされると、特定の初期コンテンツがレンダリングされ得、選択/ナビゲーション画面が、ユーザ選択及びカスタマイズのために提示され得る。選択/ナビゲーション画面で入力されるユーザ選択には、ゲームレベルの選択、ゲームアイコン(複数可)の選択、ゲームモードの選択、ゲームの獲得物、追加のゲームコンテンツのアップロードが必要となり得る他のユーザ関連データが含まれ得る。いくつかの実施形態では、ゲームコンテンツは、クラウドゲームシステムからユーザのコンピューティングデバイスにゲームコンテンツをストリーミングすることにより、視聴及びインタラクションに利用可能となる。いくつかの実施態様では、ユーザ固有データをロードした後に、ゲームコンテンツはゲームプレイに利用可能となる。
【0095】
図9Aは、クラウドゲームサイトを介して利用可能なゲームのゲームファイルをロードするために使用される例示的なシステムを示す。システムは、インターネットなどのネットワーク902を介してクラウドゲームサイト904に通信可能に接続された複数のクライアントデバイス900を含む。クラウドゲームサイト904にアクセスするリクエストがクライアントデバイス900から受信されると、クラウドゲームサイト904は、ユーザデータストア908に記憶されたユーザアカウント情報906にアクセスして、リクエストを発信したクライアントデバイスに関連付けられたユーザを識別する。いくつかの実施形態では、クラウドゲームサイトはまた、ユーザが視聴/プレイを許可された全てのゲームを特定するために、識別したユーザを検証し得る。ユーザアカウントの識別/検証に続いて、クラウドゲームサイトは、ゲームタイトルデータストア910にアクセスして、リクエストを発信したユーザアカウントがクラウドゲームサイトで利用可能なゲームタイトルを識別する。今度は、ゲームタイトルデータストア910が、ゲームデータベース912とインタラクトして、クラウドゲームサイトが利用可能な全てのゲームのゲームタイトルを取得する。新しいゲームが導入されると、ゲームデータベース912はゲームコードが更新され、ゲームタイトルデータストア910は、新たに導入されたゲームのゲームタイトル情報が提供される。リクエストを発信したクライアントデバイスは、リクエストを発信した時に、クラウドゲームサイトに登録されている場合とされていない場合がある。リクエストを発信したクライアントデバイスのユーザが登録ユーザでない場合には、クラウドゲームサイトは、そのユーザを新規ユーザとして識別し、新規ユーザに好適なゲームタイトル(例えばデフォルトのゲームタイトル集合)を選択し得る。
図9Aに示されるように、特定されたゲームタイトルは、ディスプレイ画面900-aに提示されるように、クライアントデバイスに返される。
【0096】
クライアントデバイス上でレンダリングされたゲームタイトルのうちの1つでユーザインタラクションが検出され、信号がクラウドゲームサイトに送信される。信号には、ユーザインタラクションが検出されたゲームタイトル情報と、ゲームタイトルで登録されたユーザインタラクションとが含まれる。クライアントデバイスから受信した信号に応じて、クラウドゲームサイトは積極的に、ゲームがホストされているデータセンタを特定し、特定したデータセンタに信号を送信して、ユーザインタラクションが検出されたゲームタイトルに関連付けられたゲームをロードする。いくつかの実施形態では、複数のデータセンタがゲームをホストしている場合がある。このような実施形態では、クラウドゲームサイトは、リクエストを発信したクライアントデバイスの地理的位置を特定し、クライアントデバイスに地理的に近いデータセンタを識別し、データセンタにゲームをプリロードするように信号を送信し得る。ユーザの地理的位置は、いくつか例を挙げると、クライアントデバイス内の全地球測位システム(GPS)メカニズム、クライアントのIPアドレス、クライアントのping情報を使用して、特定され得る。当然ながら、ユーザの地理的位置を検出する前述の方法は例示であり得、他の種類のメカニズムまたはツールを使用して、ユーザの地理的位置を特定してもよい。クライアントデバイスに近いデータセンタを識別することにより、ユーザがゲームとインタラクトする際のレイテンシを最小限に抑えることができる。いくつかの実施形態では、識別されたデータセンタは、ゲームをホストするのに必要な帯域幅/処理能力を有さない場合がある、または過使用されている場合がある。これらの実施形態では、クラウドゲームサイトは、クライアントデバイスに地理的に近い第2のデータセンタを識別し得る。ゲームをロードすることは、ゲームコードをロードすることと、ゲームのインスタンスを実行することとを含む。
【0097】
クラウドゲームサイトから信号を受信したことに応じて、識別されたデータセンタは、データセンタにおけるサーバを選択して、サーバ上でゲームをインスタンス化し得る。サーバは、利用可能なハードウェア/ソフトウェアの処理能力及びゲーム要件に基づいて選択される。サーバは、複数のゲームコンソールを含み得、サーバは、ゲームをロードするのに、複数のゲームコンソールのうちのどのゲームコンソールを使用するかを決定し得る。ゲームコンソールは、独立したゲームコンソールに類似し得る、またはラックマウントサーバもしくはブレードサーバであり得る。ブレードサーバは、次に、複数のサーバブレードを含み得、各ブレードは、ゲームなどの単一の専用アプリケーションをインスタンス化するのに必要な回路を有する。当然ながら、前述のゲームコンソールは例示であり、限定として見なされるべきではない。ゲームステーションなどを含む他の種類のゲームコンソール、及び他の形態のブレードサーバも、識別されたゲームをホストするために用いられてもよい。
【0098】
ゲームコンソールが識別されると、ゲームがインスタンス化されるゲームコンソールを識別するネットワークを介して、クラウドゲームサイトにより、ゲームの一般的なゲーム関連コードがゲームコンソールにロードされ、クライアントデバイスに信号が返される。このように、ロードされたゲームは、ユーザに利用可能となる。
【0099】
図9Bは、本開示の実施態様による、クラウドビデオゲームをクライアントデバイスにストリーミングするために実行される様々な動作を概念的に示すフロー図である。ゲームシステム918は、ビデオゲームを実行し、生の(非圧縮の)ビデオ920及びオーディオ922を生成する。ビデオ920及びオーディオ922は、示される図の参照番号924に示されるように、ストリーミングのために取り込まれ符号化される。符号化により、ビデオ及びオーディオのストリームが圧縮され、帯域幅の使用量は軽減され、ゲーム体験は最適化され得る。符号化形式の例として、H.265/MPEG-H、H.264/MPEG-4、H.263/MPEG-4、H.262/MPEG-2、WMV、VP6/7/8/9などが挙げられる。
【0100】
符号化されたオーディオ926及び符号化されたビデオ928はさらに、インターネットなどのネットワークを介して送信するために、参照番号932に示されるように、ネットワークパケットにパケット化される。ネットワークパケット符号化プロセスは、データ暗号化プロセスも採用し得るため、データセキュリティが強化される。例示の実施態様では、オーディオパケット934及びビデオパケット936は、参照番号940に示されるように、ネットワークを介して転送するために生成される。
【0101】
ゲームシステム918はさらに、触覚フィードバックデータ930を生成し、これもネットワーク送信のためにネットワークパケットにパケット化される。例示の実施態様では、参照番号940でさらに示されるように、ネットワークを介して転送するために、触覚フィードバックパケット938が生成される。
【0102】
生のビデオ及びオーディオ並びに触覚フィードバックデータを生成することと、ビデオ及びオーディオを符号化することと、符号化されたオーディオ/ビデオ及び触覚フィードバックデータを転送用にパケット化することとの前述の動作は、クラウドゲームサービス/システムを集合的に定義する1つ以上のサーバ上で実行される。参照番号940に示されるように、オーディオ、ビデオ、及び触覚フィードバックのパケットは、インターネットなどのネットワーク、及び/またはインターネットを含むネットワークを介して、転送される。参照番号942に示されるように、オーディオパケット934、ビデオパケット936、及び触覚フィードバックパケット938は、クライアントデバイスにより復号化/再構築され、クライアントデバイスにて、符号化されたオーディオ946、符号化されたビデオ948、及び触覚フィードバックデータ950が定義される。データが暗号化されている場合は、ネットワークパケットは暗号解読化も行われる。次に、符号化されたオーディオ946及び符号化されたビデオ948は、参照番号944に示されるように、クライアントデバイスにより復号化され、クライアント側の生のオーディオ及びビデオデータが生成され、ディスプレイデバイス952上にレンダリングされる。触覚フィードバックデータ950は、処理/通信され、触覚効果をレンダリングすることができるコントローラデバイス956または他のインターフェースデバイスにて、触覚フィードバック効果が生成され得る。触覚効果の一例として、コントローラデバイス956の振動またはランブルが挙げられる。
【0103】
ビデオゲームはユーザ入力に応答することから、ユーザ入力の送信及び処理に関しても、前述と同様の手順の流れを、クライアントデバイスからサーバへの逆方向で実行され得ることが、理解されよう。示されるように、コントローラデバイス956を操作するユーザは、入力データ958を生成し得る。この入力データ958は、ネットワークを介してクラウドゲームシステムに転送するために、クライアントデバイスでパケット化される。入力データパケット960は、クラウドゲームサーバにより復元及び再構築されて、サーバ側で入力データ962が定義される。入力データ962は、ゲームシステム918に供給され、ゲームシステム918は、入力データ962を処理して、ビデオゲームのゲーム状態を更新する。
【0104】
オーディオパケット934、ビデオパケット936、及び触覚フィードバックパケット938の転送中(参照番号940)、クラウドゲームストリームのサービス品質を保証するために、ネットワークを介したデータの送信が監視され得る。例えば、参照番号964により示されるように、アップストリーム及びダウンストリームの両方のネットワーク帯域幅を含むネットワーク状態が監視され得、ゲームストリーミングは、利用可能な帯域幅の変化に応じて調整され得る。すなわち、参照番号966により示されるように、ネットワークパケットの符号化及び復号化は、現在のネットワーク状況に基づいて制御され得る。
【0105】
図10は、情報サービスプロバイダアーキテクチャの実施形態を示す。情報サービスプロバイダ(ISP)1070は、ネットワーク1086を介して、地理的に分散し接続されたユーザ1082に多数の情報サービスを届ける。ISPは、株価の更新などの1種類のサービスのみ、または放送メディア、ニュース、スポーツ、ゲームなどの様々なサービスを届けることができる。さらに、各ISPにより提供されるサービスは動的であり得、すなわち、いつの時点でもサービスを追加する、または取り除くことができる。従って、特定の個人に特定の種類のサービスを提供するISPは、時間の経過と共に変わり得る。例えば、ユーザが地元にいる間は、ユーザの付近のISPによりユーザはサービスを受け得、ユーザが別の街に移動した場合は、別のISPによりユーザはサービスを受け得る。地元のISPは、必要な情報及びデータを新たなISPに転送し、これにより、ユーザ情報は新たな街までユーザを「追従」し、ユーザはデータにより近くなり、アクセスしやすくなる。別の実施形態では、ユーザの情報を管理するマスタISPと、マスタISPの制御下のユーザと直接インターフェースするサーバISPとの間に、マスタ‐サーバ関係が確立され得る。別の実施形態では、クライアントが世界中を移動すると、あるISPから別のISPにデータが転送され、これにより、ユーザにサービスを提供するのにより良い位置に存在するISPが、これらのサービスを届けるISPとなる。
【0106】
ISP1070は、ネットワークを介して顧客にコンピュータベースのサービスを提供するアプリケーションサービスプロバイダ(ASP)1072を含む。ASPモデルを使用して提供されるソフトウェアは、オンデマンドソフトウェアまたはソフトウエアアズアサービス(SaaS)と呼ばれることもある。特定のアプリケーションプログラム(顧客関係管理など)へのアクセスを提供する簡単な形式には、HTTPなどの標準プロトコルが使用される。アプリケーションソフトウェアは、ベンダのシステムに常駐し、HTMLを使用するウェブブラウザを介して、ベンダが提供する専用クライアントソフトウェアを介して、またはシンクライアントなどの他のリモートインターフェースを介して、ユーザによりアクセスされる。
【0107】
広い地理的領域にわたって届けられるサービスは、多くの場合、クラウドコンピューティングを使用する。クラウドコンピューティングは、動的にスケーラブルであり、かつ多くの場合仮想化されたリソースがインターネット経由のサービスとして提供される、コンピューティング様式である。ユーザは、ユーザを支援する「クラウド」の技術インフラストラクチャの専門家である必要はない。クラウドコンピューティングは、Infrastructure as a Service(IaaS)、Platform as a Service(PaaS)、及びSoftware as a Service(SaaS)などの異なるサービスに分類され得る。クラウドコンピューティングサービスは、多くの場合、ウェブブラウザからアクセスされる共通のビジネスアプリケーションをオンラインで提供するが、ソフトウェア及びデータは、サーバ上に格納される。クラウドという用語は、コンピュータネットワーク図におけるインターネットの描かれ方に基づいて、(例えばサーバ、ストレージ、及びロジックを使用する)インターネットの隠喩として使用され、複雑なインフラストラクチャを隠し持つことの抽象的概念である。
【0108】
さらに、ISP1070は、ゲームクライアントがシングル及びマルチプレーヤビデオゲームをプレイするために使用するゲーム処理サーバ(GPS)1074を含む。インターネット上でプレイされるほとんどのビデオゲームは、ゲームサーバへの接続を介して作動する。通常、ゲームは、プレーヤからデータを収集し、収集したデータを他のプレーヤに配信する専用サーバアプリケーションを使用する。これは、ピアツーピア構成よりも効率的かつ効果的であるが、サーバアプリケーションをホストするために別個のサーバが必要となる。別の実施形態では、GPSは、プレーヤ及びそれぞれのゲームプレイデバイスの間の通信を確立し、集中型GPSに依存せずに情報を交換する。
【0109】
専用GPSは、クライアントとは無関係に稼働するサーバである。このようなサーバは、通常、データセンタに配置された専用ハードウェア上で稼働し、より多くの帯域幅及び専用処理能力を提供する。専用サーバは、大抵のPCベースのマルチプレーヤゲームのゲームサーバをホストするのに、好ましい方法である。大規模なマルチプレーヤオンラインゲームは、ゲームタイトルを所有するソフトウェア会社が通常ホストする専用サーバ上で実行され、専用サーバがコンテンツを制御及び更新することを可能にする。
【0110】
放送処理サーバ(BPS)1076は、視聴者にオーディオまたはビデオ信号を配信する。非常に狭い範囲の視聴者への放送は、ナローキャスティングと呼ばれることもある。放送配信の最終工程は、聴取者または視聴者への信号の伝達方法であり、信号は、ラジオ局またはテレビ局の場合と同様にアンテナ及び受信機に地上波で伝達され得る、または局を介してケーブルテレビもしくはケーブルラジオ(もしくは「無線ケーブル」)を通じて、または直接ネットワークから、伝達され得る。インターネットはまた、特に信号及び帯域幅の共有を可能にするマルチキャストを用いて、ラジオまたはテレビを受信者に届け得る。歴史的に、放送は、全国放送または地域放送などの地理的領域により範囲が定められてきた。しかし、高速インターネットの普及に伴い、コンテンツは世界のほぼ全ての国に到達可能であるため、放送は地域によって定められない。
【0111】
ストレージサービスプロバイダ(SSP)1078は、コンピュータストレージ空間及び関連する管理サービスを提供する。SSPは、定期的なバックアップ及びアーカイブも提供する。ストレージをサービスとして提供することにより、ユーザは必要に応じてより多くのストレージを注文することができる。別の大きな利点として、SSPはバックアップサービスを含み、ユーザは、自分のコンピュータのハードドライブに障害が発生しても、自分の全てのデータを失うことはない。さらに、複数のSSPは、ユーザデータの全体的または部分的なコピーを有することができ、これにより、ユーザの位置またはデータアクセスに使用されるデバイスとは無関係に、ユーザは効率的な方法でデータにアクセスすることが可能となる。例えば、ユーザは、移動中に自宅のコンピュータ並びに携帯電話の中の個人ファイルにアクセスすることができる。
【0112】
通信プロバイダ1080は、ユーザに接続性を提供する。通信プロバイダの一種として、インターネットへのアクセスを提供するインターネットサービスプロバイダ(ISP)が挙げられる。ISPは、ダイヤルアップ、DSL、ケーブルモデム、ファイバ、無線、または専用の高速相互接続など、インターネットプロトコルデータグラムの提供に好適なデータ伝送技術を使用して、顧客を接続する。通信プロバイダは、電子メール、インスタントメッセージ、及びSMSテキストなどのメッセージサービスも提供し得る。通信プロバイダの別の種類として、インターネットへの直接のバックボーンアクセスを提供することにより帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ(NSP)が挙げられる。ネットワークサービスプロバイダは、電気通信会社、データ通信業者、無線通信プロバイダ、インターネットサービスプロバイダ、高速インターネットアクセスを提供するケーブルテレビ事業者などで構成され得る。
【0113】
データ交換1088は、ISP1070内のいくつかのモジュールを相互接続し、これらのモジュールをネットワーク1086を介してユーザ1082に接続する。データ交換1088は、ISP1070の全てのモジュールが近接している小さな領域をカバーし得る、または様々なモジュールが地理的に分散している場合は、大きな地理的領域をカバーし得る。例えば、データ交換1088は、データセンタのキャビネット内に高速のギガビットイーサネット(登録商標)(もしくはさらに高速のもの)、または大陸間仮想エリアネットワーク(VLAN)を含み得る。
【0114】
ユーザ1082は、少なくともCPU、メモリ、ディスプレイ、及びI/Oを含むクライアントデバイス1084により、リモートサービスにアクセスする。クライアントデバイスは、PC、携帯電話、ネットブック、タブレット、ゲームシステム、PDAなどであり得る。一実施形態では、ISP1070は、クライアントが使用するデバイスの種類を認識し、採用する通信方法を調整する。他の事例では、クライアントデバイスは、HTMLなどの標準的な通信方法を使用して、ISP1070にアクセスする。
【0115】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家庭用電化製品、小型コンピュータ、及びメインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施され得る。本開示はまた、有線ベースネットワークまたは無線ネットワークを介してリンクされたリモート処理デバイスによりタスクが行われる分散型コンピューティング環境においても、実施することができる。
【0116】
前述の実施形態を考慮に入れて、本開示は、コンピュータシステムに格納されたデータを伴う様々なコンピュータ実施動作を採用し得ることを理解されたい。これらの動作は、物理量の物理的操作を要する動作である。本開示の一部を形成する本明細書で説明される動作のいずれも、有用なマシン動作である。本開示はまた、これらの動作を実行するためのデバイスまたは装置に関する。装置は、必要な目的のために特別に構築され得る、または装置は、コンピュータに格納されたコンピュータプログラムにより選択的に有効化または構成される汎用コンピュータであり得る。具体的には、様々な汎用マシンを、本明細書の教示に従って書かれたコンピュータプログラムと共に使用することができる、あるいは、必要な動作を実行するためにさらに特化した装置を構築するほうがより好都合であり得る。
【0117】
本開示はまた、コンピュータ可読媒体上のコンピュータ可読コードとしても具現化することができる。あるいは、コンピュータ可読コードは、前述のデータ交換相互接続を使用して、サーバからダウンロードされ得る。コンピュータ可読媒体は、後でコンピュータシステムにより読み出され得るデータを格納できる任意のデータストレージデバイスである。コンピュータ可読媒体の例として、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、並びに他の光学及び非光学データストレージデバイスが挙げられる。コンピュータ可読媒体には、コンピュータ可読コードが分散方式で格納され実行されるように、ネットワーク接続されたコンピュータシステムにわたり分散されたコンピュータ可読有形媒体が含まれ得る。
【0118】
方法動作は特定の順序で説明されたが、オーバーレイ動作の処理が所望のやり方で実行される限り、動作の合間に他の維持管理動作が実行されてもよく、または動作がわずかに異なる時間に起こるように調整されてもよく、またはシステム内に動作を分散することで、様々な処理関連間隔で処理動作が起こることを可能にしてもよいことを、理解されたい。
【0119】
前述の開示は、理解を明確にするためにある程度詳細に説明されたが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。従って、本実施形態は、限定ではなく例示としてみなされるべきであり、本開示は、本明細書で提供される詳細に限定されるべきではなく、説明される実施形態の範囲内及び均等物内で変更されてもよい。