JP7397082B2 - Secure data channel in network gaming systems - Google Patents
Secure data channel in network gaming systems Download PDFInfo
- Publication number
- JP7397082B2 JP7397082B2 JP2021535712A JP2021535712A JP7397082B2 JP 7397082 B2 JP7397082 B2 JP 7397082B2 JP 2021535712 A JP2021535712 A JP 2021535712A JP 2021535712 A JP2021535712 A JP 2021535712A JP 7397082 B2 JP7397082 B2 JP 7397082B2
- Authority
- JP
- Japan
- Prior art keywords
- channel
- encrypted
- key
- data channel
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 claims description 74
- 238000000034 method Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 13
- 230000003993 interaction Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000003997 social interaction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036316 preload Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0875—Generation of secret information including derivation or calculation of cryptographic keys or passwords based on channel impulse response [CIR]
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an MPEG-stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/71—Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/85—Providing additional services to players
- A63F13/87—Communicating with other players during game play, e.g. by e-mail or chat
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3215—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a plurality of channels
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/401—Secure communication, e.g. using encryption or authentication
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/57—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
- A63F2300/572—Communication between players during game play of non game information, e.g. e-mail, chat, file transfer, streaming of audio and streaming of video
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Description
本開示は、ユーザ生成データのユーザプライバシーを保護する安全な情報共有を可能にする、ネットワークゲームシステムにおける安全なデータチャネルのためのシステム及び方法に関する。 The present disclosure relates to systems and methods for secure data channels in network gaming systems that enable secure information sharing that protects user privacy of user-generated data.
ビデオゲームの分野は、現在急成長を遂げている技術分野であり、今では多数のゲームプラットフォームが含まれ、専用ゲームコンソール、パーソナルコンピュータ(PC)、さらに最近ではクラウドゲームデバイス及びモバイルデバイスが含まれる。プレーヤはゲームを中心としたソーシャルインタラクションを所望することから、ゲームプレイのソーシャル性はますます高まっている。その結果、プレーヤ間のコミュニケーション機構を含むネットワークゲームサービス/システムが開発され、ゲームプレイ中、及びゲームプレイ外でもビデオゲームプラットフォームのコンテキスト内での両方で、コミュニケーション及びソーシャルインタラクションが可能となった。ネットワークゲームサービス/システムの一例として、PlayStation(登録商標)Networkが挙げられ、これには、コンソールベースゲーム及びクラウドベースゲームの両方に対応する様々なゲームサービスが含まれる。 The field of video games is a rapidly growing technology field that now includes numerous gaming platforms, including dedicated game consoles, personal computers (PCs), and more recently cloud gaming devices and mobile devices. . Game play is becoming increasingly social as players desire social interactions centered around games. As a result, network gaming services/systems have been developed that include communication mechanisms between players, allowing communication and social interaction both during game play and outside of game play, but within the context of the video game platform. An example of a network gaming service/system is the PlayStation® Network, which includes a variety of gaming services that support both console-based and cloud-based gaming.
クラウドゲームのセットアップでは、ユーザは、インターネットなどのネットワークを介してクラウドゲームサイト上の多数のゲームにアクセスし、ゲームとのインタラクション/ゲームプレイを開始することができる。ユーザは、ゲームプレイ用のゲームを選択するために、クラウドゲームサイト上の自分のアカウントにアクセスし、ユーザアカウントでゲームプレイ可能な複数のゲームのうちの1つを開始する。クラウドビデオゲームから生成されるビデオは、クライアントデバイスへ転送される。クラウドゲームシステムの一例として、Playstation(登録商標)Nowクラウドゲームサービスが挙げられる。 In a cloud gaming setup, a user can access a number of games on a cloud gaming site over a network such as the Internet and begin interacting with/playing the games. A user accesses his or her account on a cloud gaming site to select a game for gameplay and starts one of a plurality of games playable in the user account. Video generated from cloud video games is transferred to client devices. An example of a cloud game system is the PlayStation (registered trademark) Now cloud game service.
このような背景において、本開示の実施形態は生じる。 It is against this background that embodiments of the present disclosure arise.
本開示の実施態様は、クラウドゲームシステムにおいて情報を共有するための安全なデータチャネルを提供するために使用される方法及びシステムを提供する。 Embodiments of the present disclosure provide methods and systems used to provide a secure data channel for sharing information in a cloud gaming system.
いくつかの実施態様では、ネットワークゲームサービスを介してデータチャネルを開始することであって、データチャネルを介して通信されるコンテンツを暗号化するために使用されるチャネルキーを生成することと、データチャネルの所有者に関連付けられた公開キーでチャネルキーを暗号化することにより第1の暗号化されたチャネルキーを生成することとを含む、当該開始することと、データチャネルに参加者を追加することであって、参加者に関連付けられた公開キーでチャネルキーを暗号化することにより第2の暗号化されたチャネルキーを生成することを含む、当該追加することと、の動作を含む方法であって、データチャネルを介して送信されるメッセージは、チャネルキーを使用してメッセージのコンテンツを暗号化することにより生成された、暗号化されたコンテンツを含み、さらに第1の暗号化されたチャネルキー及び第2の暗号化されたチャネルキーを含む、当該方法が提供される。 In some implementations, initiating a data channel via a network gaming service includes: generating a channel key used to encrypt content communicated via the data channel; generating a first encrypted channel key by encrypting the channel key with a public key associated with the owner of the channel; and adding a participant to the data channel. and generating a second encrypted channel key by encrypting the channel key with a public key associated with the participant. and the message sent over the data channel includes encrypted content generated by encrypting the content of the message using the channel key, and further includes a first encrypted channel. The method is provided, including a key and a second encrypted channel key.
いくつかの実施態様では、所有者に関連付けられたユーザデバイスによりメッセージが受信されると、所有者に関連付けられた秘密キーを使用して、第1の暗号化されたチャネルキーからチャネルキーが復号化され、復号化されたチャネルキーをさらに使用して、メッセージの暗号化されたコンテンツが復号化される。 In some implementations, when the message is received by a user device associated with the owner, the channel key is decrypted from the first encrypted channel key using a private key associated with the owner. The encrypted and decrypted channel key is further used to decrypt the encrypted content of the message.
いくつかの実施態様では、参加者に関連付けられたユーザデバイスによりメッセージが受信されると、参加者に関連付けられた秘密キーを使用して、第2の暗号化されたチャネルキーからチャネルキーが復号化され、復号化されたチャネルキーをさらに使用して、メッセージの暗号化されたコンテンツが復号化される。 In some implementations, when a message is received by a user device associated with a participant, the channel key is decrypted from the second encrypted channel key using a private key associated with the participant. The encrypted and decrypted channel key is further used to decrypt the encrypted content of the message.
いくつかの実施態様では、この方法はさらに、データチャネルから参加者を除外することであって、第2のチャネルキーを生成することと、所有者に関連付けられた公開キーで第2のチャネルキーを暗号化することにより第3の暗号化されたチャネルキーを生成することとを含む、当該除外することを含む。 In some implementations, the method further comprises: removing the participant from the data channel, generating a second channel key; and generating a third encrypted channel key by encrypting the third encrypted channel key.
いくつかの実施態様では、第2のチャネルキーは、参加者に関連付けられた公開キーで暗号化されない。 In some implementations, the second channel key is not encrypted with the public key associated with the participant.
いくつかの実施態様では、方法はさらに、データチャネルに第2の参加者を追加することであって、第2の参加者に関連付けられた公開キーでチャネルキーを暗号化することにより第3の暗号化されたチャネルキーを生成することを含む、当該追加することを含む。 In some implementations, the method further comprises adding a second participant to the data channel, the method further comprising: encrypting the channel key with a public key associated with the second participant. and generating an encrypted channel key.
いくつかの実施態様では、データチャネルを介して送信されるメッセージは、第3の暗号化されたチャネルキーをさらに含む。 In some implementations, the message sent over the data channel further includes a third encrypted channel key.
いくつかの実施態様では、データチャネルの所有者に関連付けられた所有者デバイスからネットワークを介して、データチャネルの第1の暗号化されたチャネルキーを受信することであって、第1の暗号化されたチャネルキーは、データチャネルの所有者に関連付けられた公開キーで暗号化されたチャネルキーであり、チャネルキーは、データチャネルを介して共有されるコンテンツを暗号化するために使用される、当該受信することと、所有者デバイスからネットワークを介して、1つ以上の第2の暗号化されたチャネルキーを受信することであって、各第2の暗号化されたチャネルキーはそれぞれ、データチャネルの各参加者に関連付けられた公開キーで暗号化されたチャネルキーである、当該受信することと、第1の暗号化されたチャネルキー及び1つ以上の第2の暗号化されたチャネルキーをチャネルリストに記憶することと、ネットワークを介して、データチャネルの各参加者にそれぞれ関連付けられた1つ以上の参加者デバイスにチャネルリストを配布することと、の動作を含む方法であって、データチャネルを介した通信は、第1の暗号化されたチャネルキー、第2の暗号化されたチャネルキー、及びチャネルキーを使用して暗号化されたコンテンツを含む、当該方法が提供される。 In some implementations, receiving a first encrypted channel key for the data channel over a network from an owner device associated with an owner of the data channel, the first encrypted A channel key encrypted with a public key associated with the data channel owner, the channel key is used to encrypt content shared over the data channel. and receiving one or more second encrypted channel keys from the owner device over the network, each second encrypted channel key respectively receiving a first encrypted channel key and one or more second encrypted channel keys, the first encrypted channel key being a channel key encrypted with a public key associated with each participant in the channel; and distributing the channel list over a network to one or more participant devices each associated with each participant of the data channel, the method comprising: The method is provided, wherein communication over a data channel includes a first encrypted channel key, a second encrypted channel key, and content encrypted using the channel key.
いくつかの実施態様では、データチャネルを介して所有者デバイスにより通信が受信されると、所有者に関連付けられた秘密キーを使用して、第1の暗号化されたチャネルキーからチャネルキーが復号化され、復号化されたチャネルキーをさらに使用して、通信の暗号化されたコンテンツが復号化される。 In some implementations, when the communication is received by the owner device over the data channel, the channel key is decrypted from the first encrypted channel key using a private key associated with the owner. The encrypted and decrypted channel key is further used to decrypt the encrypted content of the communication.
いくつかの実施態様では、データチャネルを介して参加者デバイスにより通信が受信されると、参加者に関連付けられた秘密キーを使用して、第2の暗号化されたチャネルキーからチャネルキーが復号化され、復号化されたチャネルキーをさらに使用して、通信の暗号化されたコンテンツが復号化される。 In some implementations, when a communication is received by a participant device over the data channel, the channel key is decrypted from the second encrypted channel key using a private key associated with the participant. The encrypted and decrypted channel key is further used to decrypt the encrypted content of the communication.
いくつかの実施態様では、方法はさらに、ネットワークを介して所有者デバイスから、データチャネルの第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のチャネルキーを含めることと、ネットワークを介して、更新されたチャネルリストを参加者デバイスに配布することと、を含む。 In some implementations, the method further comprises receiving the first encrypted second channel key of the data channel from the owner device via the network, the first encrypted second channel key The second channel key is a second channel key encrypted with a public key associated with the owner of the data channel, and the second channel key is configured to exclude at least one of the participants. receiving one or more encrypted second encrypted contents from the owner device over the network, which are used to encrypt the content shared over the data channel; receiving channel keys, each second encrypted second channel key being a second channel key encrypted with a public key of one of the participants; The one or more second encrypted second channel keys include a second encrypted second channel key that is a second channel key encrypted with the public key of the excluded at least one of the participants. the first encrypted second channel key and one or more second encrypted second channel keys; and distributing the updated channel list to participant devices over the network.
いくつかの実施態様では、データチャネルを介した追加の通信は、第1の暗号化された第2のチャネルキー、第2の暗号化された第2のチャネルキー、及び第2のチャネルキーを使用して暗号化されたコンテンツを含む。 In some implementations, the additional communication over the data channel includes the first encrypted second channel key, the second encrypted second channel key, and the second encrypted second channel key. Contains content encrypted using
いくつかの実施態様では、方法はさらに、データチャネルを介した通信を記憶することと、データチャネルを介した追加の通信を記憶することと、を含む。 In some implementations, the method further includes storing the communications over the data channel and storing additional communications over the data channel.
いくつかの実施態様では、チャネルキーは、参加者のうちの除外される少なくとも1人が、記憶された通信のコンテンツにアクセスすることを可能にし、第2のチャネルキーは、参加者のうちの除外される少なくとも1人が、記憶された追加の通信のコンテンツにアクセスすることを阻止する。 In some implementations, the channel key allows at least one of the excluded participants to access content of the stored communication, and the second channel key allows at least one of the excluded participants to access the content of the stored communication. At least one excluded person is prevented from accessing the content of additional stored communications.
いくつかの実施態様では、プログラム命令が組み込まれた非一時的コンピュータ可読媒体が提供され、プログラム命令は、少なくとも1つのプロセッサにより実行されると、当該少なくとも1つのプロセッサに方法を実行させ、方法は、ネットワークゲームサービスを介してデータチャネルを開始することであって、データチャネルを介して通信されるコンテンツを暗号化するために使用されるチャネルキーを生成することと、データチャネルの所有者に関連付けられた公開キーでチャネルキーを暗号化することにより第1の暗号化されたチャネルキーを生成することとを含む、当該開始することと、データチャネルに参加者を追加することであって、参加者に関連付けられた公開キーでチャネルキーを暗号化することにより第2の暗号化されたチャネルキーを生成することを含む、当該追加することと、の動作を含み、データチャネルを介して送信されるメッセージは、チャネルキーを使用してメッセージのコンテンツを暗号化することにより生成された、暗号化されたコンテンツを含み、さらに第1の暗号化されたチャネルキー及び第2の暗号化されたチャネルキーを含む。 In some embodiments, a non-transitory computer-readable medium is provided having program instructions embedded therein, the program instructions, when executed by at least one processor, cause the at least one processor to perform a method, the method comprising: , initiating a data channel through a network gaming service, the act of generating a channel key used to encrypt content communicated over the data channel, and associated with the owner of the data channel; generating a first encrypted channel key by encrypting the channel key with the public key obtained by the data channel; generating a second encrypted channel key by encrypting the channel key with a public key associated with the data transmitted over the channel. The message includes encrypted content generated by encrypting the content of the message using a channel key, and further includes a first encrypted channel key and a second encrypted channel. Contains keys.
本開示の他の態様及び利点は、添付の図面と併せて、本開示の原理を例として示す下記の詳細な説明から明らかになるであろう。 Other aspects and advantages of the disclosure will become apparent from the following detailed description, which illustrates by way of example the principles of the disclosure, taken in conjunction with the accompanying drawings.
本開示は、そのさらなる利点と共に、添付の図面と併せて下記の説明を参照することにより、最も良く理解されるであろう。 The present disclosure, together with further advantages thereof, may be best understood by reference to the following description in conjunction with the accompanying drawings.
下記の説明では、本開示の完全な理解を提供するために、多くの具体的な詳細が述べられる。しかしながら、本開示は、これらの具体的な詳細の一部または全てがなくとも実践できることは、当業者には明らかであろう。他の例では、本開示を不明瞭にしないために、周知のプロセスステップについては詳細に説明していない。 In the description that follows, many specific details are set forth to provide a thorough understanding of the disclosure. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without some or all of these specific details. In other instances, well-known process steps have not been described in detail in order not to obscure the present disclosure.
ビデオゲーム分野の人気が高まり続けるにつれて、ビデオゲームに関連するユーザ生成情報は、これまでになく豊富になっている。ゲーム体験は、テキスト/オーディオ/ビデオチャット、オーディオフィード、ビデオフィード、スクリーンショット、ビデオクリップ、ソーシャルメディア投稿、コメントなどを介して、より大きなソーシャルインタラクションを促進するように発展した。さらに、クラウドゲームが拡大するにつれて、ますます多くのユーザ情報が、ローカルに記憶されるのではなく、クラウドに記憶されている。従って、ユーザが自分の好みに応じてデータへのアクセスを制御することを可能にしながら、ユーザデータのセキュリティ及びプライバシーを確保することが望ましい。 As the video game field continues to grow in popularity, user-generated information related to video games has never been more abundant. Gaming experiences have evolved to encourage greater social interaction via text/audio/video chat, audio feeds, video feeds, screenshots, video clips, social media posts, comments, and more. Additionally, as cloud gaming expands, more and more user information is being stored in the cloud rather than locally. Therefore, it is desirable to ensure the security and privacy of user data while allowing users to control access to the data according to their preferences.
上記のように、PlayStation(登録商標)Networkなどのネットワークゲームサービス/システムは、コンソールベースゲーム及びクラウドベースゲームの両方に対応する様々なゲームサービスを提供することができる。しかし、このようなネットワークゲームサービスはユーザに通信及びソーシャルサービスを提供し得るが、このようなサービスを介して共有されるユーザのコンテンツ及び情報は、安全でない場合もあり、ネットワークゲームサービスプロバイダには見える状態である。例えば、このようなコンテンツは、悪意のある第三者により傍受され得る。また、ネットワークゲームサービスがハッキングされた場合には、ユーザの情報及びコンテンツが公開され得る。 As mentioned above, network gaming services/systems such as the PlayStation® Network can provide a variety of gaming services that support both console-based and cloud-based gaming. However, while such network gaming services may provide communications and social services to users, user content and information shared via such services may not be secure and network gaming service providers may It is visible. For example, such content may be intercepted by a malicious third party. Additionally, if a network game service is hacked, user information and content may be exposed.
上記を考慮して、本開示の実施態様は、ネットワークゲームサービスのユーザ間の通信のための安全なデータチャネルを提供する。データチャネルは、データチャネルの所有者/管理者であるユーザのうちの1人により、インスタンス化及び制御され得、これには、データチャネルへのユーザの追加及びデータチャネルからのユーザの除外の制御も含まれる。データチャネルを介して共有されるコンテンツは、データチャネルのユーザのみが読み出し可能なように暗号化され得る。 In view of the above, embodiments of the present disclosure provide a secure data channel for communication between users of a network gaming service. A data channel may be instantiated and controlled by one of the users who is the owner/manager of the data channel, including controlling the addition of users to and removal of users from the data channel. Also included. Content shared via a data channel may be encrypted so that it can only be read by users of the data channel.
ユーザは通常、ユーザデバイスを使用または操作することで、本開示によるシステムとインターフェースすることから、説明を簡単にするために、本開示全体を通して、「ユーザ」への言及は多くの場合、ユーザに関連付けられた、またはユーザが操作するユーザデバイスと同義であることが、理解されよう。従って、本開示では説明を簡単にするために用語「ユーザ」が使用されるが、用語「ユーザ」は、ユーザ、並びにユーザが操作するあるいはユーザに関連付けられたユーザデバイスの両方を含み得ることが理解され、さらに用語「ユーザ」及び「ユーザデバイス」は、当業者には明らかなように、実施態様の本説明において多くの場合、互換的に使用され得る。 Throughout this disclosure, for ease of explanation, references to a "user" will often refer to a user, as the user typically uses or operates a user device to interface with the system according to the present disclosure. It will be understood that it is synonymous with a user device associated with or operated by a user. Accordingly, although the term "user" is used in this disclosure for ease of explanation, the term "user" may include both a user and a user device operated by or associated with a user. It is understood and further understood by those skilled in the art that the terms "user" and "user device" may often be used interchangeably in this description of implementations.
図1Aは、本開示の実施態様による、データチャネルと複数のユーザとの間の公開キー交換を概念的に示す。データチャネル100が示され、これは、複数のユーザが参加する永続的なセッションとして理解されよう。データチャネル100は、ユーザ生成コンテンツまたは情報を記憶し、参加ユーザがこのようなコンテンツ/情報にアクセスできるように構成される。いくつかの実施態様では、データチャネル100は、ユーザ生成コンテンツまたはユーザ提供コンテンツのストリームとして概念化することができ、データチャネル100に共有されるコンテンツ提供のレポジトリとしてストリーム記録またはストリーム提供を行う。このようなコンテンツ提供は、データチャネル100により定義されるストリームへのアクセスを許可された者なら誰でも、アクセス可能である。
FIG. 1A conceptually illustrates a public key exchange between a data channel and multiple users, according to embodiments of the present disclosure. A
データセキュリティを促進するために、例示の実施態様では、データチャネル100へのアクセスを許可された各ユーザに対して、公開キー交換が実行される。すなわち、例示の実施態様では、データチャネル100の公開キーがユーザAに提供されてユーザAにより記憶され、ユーザAの公開キーがデータチャネル100に提供されてデータチャネル100により記憶される。データチャネル100からユーザAへの通信は、ユーザAの公開キーを使用して暗号化され得、ユーザAからデータチャネル100への通信は、データチャネル100の公開キーを使用して暗号化され得る。
To promote data security, in the example implementation, a public key exchange is performed for each user authorized to access
同様に、例示の実施態様では、データチャネル100の公開キーがユーザBに提供されてユーザBにより記憶され、ユーザBの公開キーがデータチャネル100に提供されてデータチャネル100により記憶される。データチャネル100からユーザBへの通信は、ユーザBの公開キーを使用して暗号化され得、ユーザBからデータチャネル100への通信は、データチャネル100の公開キーを使用して暗号化され得る。
Similarly, in the exemplary embodiment, a public key for
同様に、例示の実施態様では、データチャネル100の公開キーがユーザCに提供されてユーザCにより記憶され、ユーザCの公開キーがデータチャネル100に提供されてデータチャネル100により記憶される。データチャネル100からユーザCへの通信は、ユーザCの公開キーを使用して暗号化され得、ユーザCからデータチャネル100への通信は、データチャネル100の公開キーを使用して暗号化され得る。
Similarly, in the exemplary embodiment, a public key for
図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のコンテンツがレンダリングされる。
FIG. 1B further illustrates processing of communications between
データチャネル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を使用して復号化され、通信のコンテンツがレンダリングされる。
Similar processing occurs in communications between
図2は、本開示の実施態様による、複数のユーザによるデータチャネル100とのインタラクションを示す。説明されたように、データチャネル100は、永続セッションにユーザ生成コンテンツが記憶され、データチャネル100にアクセス権を有するユーザがユーザ生成コンテンツにアクセスできるように、永続セッションを定義する。
FIG. 2 illustrates interaction with
いくつかの実施態様では、データチャネル100は、例示の実施態様のユーザAなどのネットワークゲームサービスの特定のユーザにより、開始され得る。従って、ユーザAは、データチャネル100を管理する管理者権限を有するデータチャネル100の所有者である。ユーザAは、例示の実施態様におけるユーザB、C、及びDなどのネットワークゲームサービスの他のユーザを、データチャネル100に参加するように招待し得る。データチャネル100の管理者として、ユーザAは、データチャネル100にアクセスできる人を制御し、さらに他のユーザに付与する権限を決定し得、例えば他のユーザが、データチャネル100のコンテンツを読み出し/表示/アクセスできるか否か、特定の種類のコンテンツのみにアクセスできるか否か、データチャネル100にコンテンツを投稿/書き込み/追加できるか否か、特定の種類のコンテンツのみ投稿できるか否か、他の人をデータチャネル100に対する読み出し及び/または投稿に招待できるか否か、データチャネル100からコンテンツを削除できるか否か、データチャネル100内のコンテンツを編集できるか否かなどを、決定し得る。前述のようなデータチャネル100のユーザに関するデータは、ユーザメタデータ200として記憶され得、示されるようにこれは、ユーザのID、各自の公開キー、及び特定の権限を含み得る。
In some implementations,
新規ユーザがデータチャネル100に追加されると、前述のようにデータチャネル100と新規ユーザとの間の公開キー交換が実行され得、これにより、データチャネル100と新規ユーザとの間の通信は適宜暗号化され得ることが、理解されよう。新規ユーザの公開キーは、新規ユーザのID及び権限情報とともに、ユーザメタデータ200の一部として記憶される。
When a new user is added to the
データチャネル100は、複数のユーザが安全な方法で互いにコンテンツを共有できるように定義され得る。このようなユーザ生成コンテンツは、コンテンツストレージ204に記憶される。さらに、ユーザ生成コンテンツに関連する情報は、コンテンツメタデータ202として記憶される。コンテンツメタデータの非限定的な例として、コンテンツアイテムの作成者のID、コンテンツアイテムが投稿された時のタイムスタンプ、コンテンツアイテムの一意的な識別子、コンテンツの種類(例えばテキスト、画像、ビデオなど)、キーワード/タグ、記述子、分類などが挙げられる。
例示の実施態様では、ユーザAは、データチャネル100にテキストアイテム206を提供/投稿し、その後、データチャネル100に画像208を投稿する。ユーザBは、データチャネル100に、テキストアイテム212を投稿し、その後ビデオ210を投稿する。ユーザDは、データチャネル100に、テキストアイテム214を投稿する。本開示の実施態様によれば、ユーザから各自のコンテンツアイテムを投稿するための通信は、データチャネル100の公開キーで暗号化され得ることが、理解されよう。ユーザCは、データチャネル100に対する書き込み権限を有しておらず、従って、ユーザCからデータチャネル100への投稿はない。
In the exemplary implementation, user A provides/posts a
例示の実施態様では、全てのユーザは、データチャネル100の読み出し権限を有し、従って、ユーザは全員、データチャネル100に投稿された様々なコンテンツの表示及びアクセスを行うことができる。いくつかの実施態様では、データチャネル100のコンテンツにアクセスするのに使用されるインターフェースは、フィードまたはコンテンツストリームの形態であり得る。いくつかの実施態様では、コンテンツは、コンテンツの種類によりコンテンツを編成する様々なセクションを有するインターフェースを介して、アクセスされる。いくつかの実施態様では、コンテンツは、チャットログの形式で提供される。コンテンツが提示される特定のインターフェースフォーマットに関係なく、様々なユーザのそれぞれの公開キーでコンテンツを暗号化することにより、コンテンツは、データチャネル100からユーザに安全に送信され得ることが、理解されよう。
In the exemplary implementation, all users have read permissions for
様々な種類のコンテンツのいずれも、データチャネル100を介して共有できることが、理解されよう。例えば、テキスト、画像、オーディオ、ビデオ、及びこれらの組み合わせは全て、共有できる。クラウドゲームの状況では、このようなコンテンツは、クラウドゲームに関連する様々なソースまたはインタラクションから生じ得る。非限定的な例として、チャットログ、ゲームイベントログ、ユーザオーディオチャットの録音されたオーディオ、スクリーンショット、ゲームプレイビデオクリップ、ユーザのローカル環境の録画されたビデオ、ウェブリンクなどが挙げられる。
It will be appreciated that any of a variety of types of content can be shared via
いくつかの実施態様では、データチャネル100を介して共有されるコンテンツには、ライブビデオゲームセッションからデータチャネル100へのゲームプレイビデオのライブストリーミングが含まれ得る。すなわち、ユーザのゲームセッションのライブビデオフィードは、データチャネル100の他のユーザにより観覧可能にされ得る。いくつかの実施態様では、ライブビデオにはさらに、ユーザのローカルカメラ(例えば個人用ウェブカメラ)からのライブビデオが含まれ、ユーザのビデオが表示され得る。このようなライブビデオ共有は機密性が高い場合があり、よってユーザは、このような共有においてプライバシーの確保を望み得、データチャネル100は、ユーザのプライバシー及びユーザ情報のセキュリティを保護しながら、このような共有を可能にする機構を提供することが、理解されよう。
In some implementations, content shared via
いくつかの実施態様では、ユーザは、特定の種類のイベントを自動的に記録するようにデータチャネル100を構成し得る。ユーザは、データチャネル100に具体的に共有するコンテンツの種類を選択することを可能にするインターフェースを介して、このようなデータチャネル100への自動共有を認可し得ることが、理解されよう。このようにして、データチャネル100には、選択された種類のコンテンツが自動的に取り込まれ得る。様々な実施態様では、データチャネル100を介して共有可能であると本明細書に説明されるコンテンツの種類のいずれも、データチャネル100に自動的に共有されるように構成することができる。
In some implementations, a user may configure
いくつかの実施態様では、データチャネル100は、クラウドゲームシステム上で生じる特定のゲームセッションまたはイベント用に、インスタンス化され得る。例えば、データチャネル100は、ビデオゲームのマルチプレーヤセッション用に定義され得、マルチプレーヤセッションからのコンテンツは、データチャネル100に共有される。いくつかの実施態様では、マルチプレーヤセッションのプレーヤ(例えばビデオゲームセッションのためにチームを形成するプレーヤ)は、データチャネル100へのアクセスが提供され、これにより、共有及び通信のための安全なチャネルを有することができる。
In some implementations,
データチャネル100はまた、管理者権限を有するユーザにより閉鎖または終了され得ることが、理解されよう。例えば、例示の実施態様におけるユーザAは、これ以上情報がデータチャネル100に共有されることがないように、データチャネル100を閉鎖する能力を有し得る。いくつかの実施態様では、ユーザは、依然としてデータチャネル100を見ることを許可され得るが、データチャネル100にいずれの新たな情報も追加できない。これは、ユーザAが全ユーザの書き込み権限を削除し、同時にユーザの読み出し権限を保持することと、同等と見なされ得る。
It will be appreciated that
図3は、本開示の実施態様による、情報を共有するためのデータチャネルを提供するシステムを概念的に示す。例示の実施態様では、ユーザA、ユーザB、及びユーザCはそれぞれ、ユーザ/クライアントデバイス300、302、及び304を操作する。ユーザデバイス300、302、及び304は、ネットワーク306を介してチャネルサーバ308と通信する。チャネルサーバ308は、例示の実施態様におけるデータチャネルセッション310、312、及び314などのデータチャネルセッションをインスタンス化する。各データチャネルセッションは、本開示の実施態様に従って別個のデータチャネルの機能を提供し、これには、コンテンツの受信、コンテンツの記憶、及びデータチャネルのコンテンツへのアクセスを許可されたユーザとのネットワークを介したコンテンツの共有が含まれることが、理解されよう。
FIG. 3 conceptually illustrates a system that provides a data channel for sharing information, according to embodiments of the present disclosure. In the exemplary implementation, User A, User B, and User C operate user/
例示の実施態様では、データチャネルセッションは、チャネルメタデータストレージ316及びチャネルメディアストレージ326にアクセスする。チャネルメタデータストレージ316は、データチャネルそれぞれのメタデータを含む。非限定的な例として、チャネルメタデータ318は、データチャネルセッション310に対して定義され、データチャネルの1人以上の所有者を識別する所有権情報320、データチャネルのメンバー及びデータチャネルとのインタラクションにおける各自の権限を識別するメンバーシップ情報322、及びデータチャネルセッション310のルール/設定を含み得る。
In the example implementation, data channel sessions access
さらに、例示の実施態様では、データチャネルセッションは、データチャネルを介して共有するコンテンツを含むチャネルメディアストレージ326にアクセスする。例示の実施態様では、チャネルメディアストレージ326は、例として、データチャネルを介して共有された様々なメディア/コンテンツアイテムを含むチャネルメディア328を含む。例示の実施態様では、これは、チャット/ゲームログ330、画像352、及びビデオ334を含む。本開示で論じられるように、データチャネルを介して他の種類のコンテンツ/メディアも共有できることが、理解されよう。
Additionally, in the exemplary implementation, data channel sessions access
例示の実施態様では、ネットワークゲームサービス330も示され、これは、コンソール/クラウドゲームサービスのサポートを提供する様々なサーバコンピュータ及び/またはゲームマシンを含み得、これにより、ユーザがビデオゲームにアクセスしてプレイすること、並びにオーディオ/テキストチャットサービス、スクリーンショット/ゲームプレイビデオの保存及び処理などの関連通信及びコンテンツ生成サービスが可能となる。データチャネルのコンテンツは、ゲームプレイインタラクション及びユーザ間通信インタラクションを含むネットワークゲームサービス330とのインタラクションから生成され得、よって、チャネルサーバ308、より具体的にはチャネルセッションは、ネットワークゲームサービス330から各自のデータチャネルのコンテンツを受信し得る。
In the example implementation, a
図4は、本開示の実施態様による、データチャネル100の所有権の移転を概念的に示す。典型的なシナリオでは、データチャネル100は所有者を有し、所有者は通常、データチャネル100を開始するユーザである。例えば、例示の実施態様では、ユーザAは、データチャネル100の現在の所有者であり、所有者として、データチャネル100を管理し、これには、データチャネル100のメンバーシップ及び設定を制御することが含まれる。しかし、ユーザAは、これ以上データチャネル100を管理することを望まない場合がある。従って、いくつかの実施態様では、ユーザAは、データチャネル100の所有権を別のユーザに譲渡し得る。例示の実施態様では、参照番号400に示されるように、ユーザAは、データチャネル100の所有権をユーザBに移転することが、概念的に示される。このようにすることで、ユーザAは、所有権情報320を更新するトランザクションを開始して(参照番号402)、ユーザBがデータチャネル100の所有者であり、データチャネル100に関する管理者権限を現時点で所有することを反映させる。
FIG. 4 conceptually illustrates the transfer of ownership of
図5は、本開示の実施態様による、データチャネル100へのアクセスの取り消しを概念的に示す。例示の実施態様では、ユーザAは、データチャネル100の管理者権限を有するチャネル所有者であり、参照番号500に概念的に示されるように、ユーザAは、ユーザCのデータチャネル100へのアクセスを取り消す。これを達成するために、ユーザAは、データチャネル100のメンバーシップ情報322を更新するトランザクションを開始し(参照番号502)、その結果、ユーザCは、データチャネル100へのアクセスを許可されなくなる。いくつかの実施態様では、これは、データチャネル100のコンテンツがユーザCの公開キーを使用してもう公開できないように、ユーザCに関連するメンバーシップ情報322の設定を変更することを伴う(例えばユーザCの読み出し/書き込み権限を無効化する)。いくつかの実施態様では、ユーザCの公開キー及び/または他の情報は、メンバーシップ情報から除外または削除される。
FIG. 5 conceptually illustrates revocation of access to
図6は、本開示の実施態様による、暗号化されたデータチャネルを介して送信されるゲーム関連通信/データを概念的に示す。ユーザデータのプライバシーを保護するために、ゲームセッション中に生じるリアルタイムアクティビティは、暗号化されたデータチャネルを介して共有され得ることが、理解されよう。例示の実施態様では、ビデオゲームセッション600が実行され、これは、複数のユーザ608、610、612、及び614によりプレイされているビデオゲームの活動ゲーム状態を定義する。ビデオゲームセッション600の間、ユーザのインタラクティビティのために、いくつかの関連する通信及びデータサービスが提供される。非限定的な例として、このようなサービスには、ユーザ間のテキストベース通信を提供するテキストチャットサービス602と、ユーザ間のオーディオ通信(例えばユーザに関連付けられたまたはユーザが操作するマイクロフォンからの発話音声)を提供するオーディオチャットサービス604と、ユーザ各自のローカル環境におけるユーザ各自のカメラからビデオ共有を提供する(例えば他の人がユーザを見られるようにユーザ自身のビデオを提供する)ユーザカメラ共有サービス606と、ビデオゲームセッション中に生じるイベントをユーザがよりよく理解できるように、ゲームアクティビティ/イベントを表示及び記録するゲームログサービス606と、が含まれ得る。これらのサービス並びに本開示の実施態様による他のサービスのそれぞれに関して、ユーザに送信されるデータ及びユーザから受信されるデータは、データチャネル100を介して暗号化され得る。従って、ユーザのプライバシー及びデータの保護を保証するために、ビデオゲームセッションに関わる関連サービスにより提供される機密データは処理される。
FIG. 6 conceptually illustrates game-related communications/data transmitted over an encrypted data channel in accordance with embodiments of the present disclosure. It will be appreciated that to protect the privacy of user data, real-time activities that occur during a game session may be shared via an encrypted data channel. In the exemplary implementation, a
図7は、本開示の実施態様による、データチャネルのコンテンツにアクセスするためのインターフェースを概念的に示す。例示の実施態様では、インターフェース700は、コンテンツのストリームとして概念化される。データチャネルは、参照番号702に示されるように名前が付けられ得、データチャネルの所有者は、参照番号704に示されるように識別され得る。
FIG. 7 conceptually illustrates an interface for accessing content of a data channel, according to embodiments of the present disclosure. In the example implementation,
メンバーステータスセクション706には、データチャネルのメンバーの現在のステータスが示される。例えば、メンバーは、オンライン、オフライン、ゲームプレイ参加状態などであり得る。所有者は、管理者権限を有し得、従って、ユーザがデータチャネルのコンテンツストリームにアクセス権を有し得るまたは有し得ないように、ユーザをデータチャネルに追加/データチャネルから除外することが可能であり得ることが、理解されよう。
参照番号708では、投稿インターフェースが示され、投稿インターフェースにより、ユーザは、コメント、または画像、またはビデオをデータチャネルコンテンツストリームに投稿することが可能となる。インターフェース700の一部であるコンテンツのストリームには、示されるように様々な種類のコンテンツが存在し得る。例えば、参照番号710では、ゲームアクティビティに関する更新/通知が表示され、ゲームセッションが進行中であること、並びにセッションの継続時間及びセッションの参加者のIDなどの他の関連情報が示される。いくつかの実施態様では、このようなコンテンツアイテムにより、セッションに関するより詳細な情報を表示するためのアクセスを提供し、及び/またはセッションのライブゲームプレイを観覧することができる。
At
コンテンツアイテム712は、ゲームセッションのビデオの投稿であり、これには、ビデオを投稿するユーザによるコメントが含まれる。アイテム714は、アイテム712に対する他のユーザからの反応を示す。
この事例では、コンテンツアイテム716は、データチャネル100の他のユーザに質問するテキスト投稿である。ユーザは、アイテム716に対して返信を投稿してもよいことが、理解されよう。 In this example, content item 716 is a text post that asks other users of data channel 100 a question. It will be appreciated that the user may post a reply to item 716.
本開示による実施態様は、クラウドゲームに由来するコンテンツを参照して説明されたが、本開示の原理及び実施態様は、コンソールゲーム、PCゲーム、モバイルデバイスゲーム、ブラウザベースゲーム、ソーシャルメディアゲーム、または他の種類のデバイス及び/または他の種類のコンテキストで実行されるビデオゲームに由来するコンテンツにも適用できることが、理解されよう。 Although implementations according to the present disclosure have been described with reference to content originating from cloud games, the principles and implementations of the present disclosure may be applied to console games, PC games, mobile device games, browser-based games, social media games, or It will be appreciated that content derived from video games running on other types of devices and/or in other types of contexts is also applicable.
図8Aは、本開示の実施態様による、暗号化プライベートプレーヤソーシャルデータチャネルを開始するためのプロセスを概念的に示す。例示の実施態様では、所有者800は、データチャネル100をセットアップしている。所有者/管理者800は、参照番号802に示されるように、チャネルキーKi生成することにより、チャネルを開始する。チャネルキーKiは、所有者の公開キー804を使用して暗号化され(参照番号806)、暗号化されたチャネルキーEO(Ki)は、データチャネル100に記憶される。
FIG. 8A conceptually illustrates a process for starting an encrypted private player social data channel, according to embodiments of the present disclosure. In the exemplary embodiment,
図8Bは、本開示の実施態様による、参加者をデータチャネルに追加するためのプロセスを概念的に示す。例えば、データチャネル100に参加者/ユーザP1を追加するために(参照番号816)、所有者800は、所有者の秘密キー812を使用して、暗号化されたチャネルキーEO(Ki)を復号化し(参照番号810)、チャネルキーKiを取得する。次に、チャネルキーKiは、参加者P1の公開キー(参照番号818)を使用して、暗号化される(参照番号814)。結果得られる参加者P1の暗号化されたチャネルキーEP1(Ki)は、示されるように、データチャネル100に記憶される。同様に、別の参加者P2(参照番号822)をデータチャネル100に追加するために、復号化されたチャネルキーKiは、参加者P2の公開キー(参照番号824)を使用して暗号化され(参照番号820)、参加者P2の暗号化されたチャンネルキーEP2(Ki)は、データチャネル100に記憶される。
FIG. 8B conceptually illustrates a process for adding participants to a data channel, according to embodiments of the present disclosure. For example, to add participant/user P 1 to the data channel 100 (reference number 816), the
所有者/管理者がデータチャネルを開始して参加者を追加すると、チャネルキーの暗号化が所有者のデバイス上でゼロトラスト方式で行われ、これにより、チャネルキー、及びチャネルキーを使用して暗号化されたデータは、所有者及び参加者以外のいずれの関係者にも公開されないことが、理解されよう。従って、ネットワークゲームサービスでも、データチャネルのチャネルキー及び暗号化されたデータを内々に知っているわけではない。データチャネルのコンテンツは暗号化形式で記憶されるため、よって、データチャネルは、コンテンツがネットワークゲームサービスに公開されることなく、ネットワークゲームサービス及びそのシステムにより維持され得る。データチャネルは、暗号化されたキー(EO(Ki)、EP1(Ki)、EP2(Ki)など)を全チャネルメンバーに利用可能にし、参加者が加わると、参加者の暗号化されたチャネルキーはチャネルリストに追加され、チャネルリストは、ネットワークゲームサービスにより維持され得る。 When an owner/administrator starts a data channel and adds participants, encryption of the channel key takes place on the owner's device in a zero-trust manner, which allows the channel key and It will be appreciated that the encrypted data will not be disclosed to any party other than the owner and the participants. Therefore, even the network game service does not secretly know the channel key and encrypted data of the data channel. Because the content of the data channel is stored in encrypted form, the data channel can thus be maintained by the network gaming service and its systems without the content being exposed to the network gaming service. The data channel makes the encrypted keys (E O (K i ), E P1 (K i ), E P2 (K i ), etc.) available to all channel members, and when a participant joins, the The encrypted channel key may be added to a channel list, which may be maintained by the network gaming service.
いくつかの実施態様では、チャネルキーは、対称である(例えばAES)。いくつかの実施態様では、所有者キーと参加者キーは、非対称である(例えばRSA、ECC、DS+EG)。 In some implementations, the channel keys are symmetric (eg, AES). In some implementations, the owner key and participant key are asymmetric (eg, RSA, ECC, DS+EG).
図8Cは、本開示の実施態様による、ユーザがデータチャネルを去る場合、データチャネルの暗号化されたチャネルキーのチャネルリストへの変更を概念的に示す。示されるように、前述の実施態様によれば、所有者並びに参加者P1、及びP2を含むチャネルメンバーを有するデータチャネル用に、第1のチャネルキーK1が生成される。チャネルキーは、メンバーの公開キーで暗号化され、暗号化されたチャネルキーは、従って、チャネルリスト830Aに記憶される。例示の実施態様に示されるように、暗号化されたチャネルキーには、所有者、参加者P1及び参加者P2それぞれの暗号化されたチャネルキーEO(K1)、EP1(K1)、及びEP2(K1)が含まれる。
FIG. 8C conceptually illustrates the modification of a data channel's encrypted channel key to the channel list when a user leaves the data channel, according to embodiments of the present disclosure. As shown, according to the embodiments described above, a first channel key K 1 is generated for a data channel having channel members including an owner and participants P 1 and P 2 . The channel key is encrypted with the member's public key, and the encrypted channel key is thus stored in
参加者P1が去る場合(またはデータチャネルから除外される場合)、第2のチャネルキーK2が生成され、データチャンネルの残りのメンバーの公開キーで暗号化される。例示の実施態様では、所有者及び参加者P2のために、暗号化されたチャネルキーEO(K2)及びEP2(K2)がそれぞれ、チャネルリストに追加される。これらは、第1のチャネルキーから暗号化された暗号化チャネルキー(EO(K1)、EP1(K1)、及びEP2(K1))に追加される。このようにして、参加者P1は、第1のチャネルキーK1を使用して暗号化された古いコンテンツ/メッセージを、依然として復号化することができるが、第2のチャネルキーK2を使用して暗号化された新たなコンテンツは、復号化することができない。 If a participant P 1 leaves (or is excluded from the data channel), a second channel key K 2 is generated and encrypted with the public keys of the remaining members of the data channel. In the exemplary implementation, encrypted channel keys E O (K 2 ) and E P2 (K 2 ) are added to the channel list for the owner and participant P 2 , respectively. These are added to the encrypted channel keys (E O (K 1 ), E P1 (K 1 ), and E P2 (K 1 )) encrypted from the first channel key. In this way, participant P1 can still decrypt old content/messages that were encrypted using the first channel key K1 , but using the second channel key K2 . New content that has been encrypted cannot be decrypted.
図8Cを引き続き参照すると、別の参加者P3がデータチャネルに加わる場合のシナリオが検討される。いくつかの実施態様では、参加者P3は、データチャネルの全履歴への完全なアクセス権を有するようにデータチャネルに追加され得、これにより、参加者P3は、データチャネルの全履歴コンテンツを表示することが可能となる。この事例では、第1及び第2のチャンネルキーK1及びK2の両方は、新たな参加者P3の公開キーで暗号化され、参照番号830Cのチャネルリストに示されるように、暗号化されたチャンネルキーEP3(K1)及びEP3(K2)としてチャンネルリストに追加される。
Continuing to refer to FIG. 8C, consider a scenario where another participant P 3 joins the data channel. In some implementations, participant P 3 may be added to the data channel with full access to the entire history of the data channel, such that participant P 3 has access to all historical content of the data channel. It becomes possible to display. In this case, both the first and second channel keys K1 and K2 are encrypted with the public key of the new participant P3 and are encrypted as shown in the channel list with
しかし、いくつかの実施態様では、参加者P3は、データチャネルの履歴コンテンツへはアクセスできないが、参加者P3の参加時点以降にデータチャネルに共有されるコンテンツへはアクセスできる新たな提供者としてのみ、データチャネルに追加され得る。この事例では、次いで、新たな第3のチャネルキーK3が生成され、所有者及び参加者P2及びP3の公開キーで暗号化される。参照番号830Dに示されるように、新たな暗号化チャネルキーEO(K3)、EP2(K3)、及びEP3(K3)がチャネルリストに追加される。
However, in some implementations, participant P 3 does not have access to historical content of the data channel, but a new provider that does have access to content shared to the data channel after the time of participant P 3 's participation. can be added to the data channel only as In this case, a new third channel key K 3 is then generated and encrypted with the public keys of the owner and participants P 2 and P 3 . New encrypted channel keys E O (K 3 ), E P2 (K 3 ), and E P3 (K 3 ) are added to the channel list, as shown at
図8Dは、本開示の実施態様による、図8Cのシナリオに基づいて、経時的なデータチャネルのコンテンツの暗号化を示すタイムラインを概念的に示す。例示の実施態様において、シナリオAでは、参加者P1は去り、参加者P3はチャンネルの履歴への完全なアクセス権を有して参加する。一方、シナリオBでは、参加者P1は去り、参加者P3は、チャネルの履歴へのアクセス権を有さずに参加する(ただし参加後のコンテンツへのアクセス権は有する)。参照番号840に示されるように、最初に所有者は、データチャネルを作成し、参加者P1及びP2を追加する。その後、参照番号842に示されるように、参加者P1が去る。さらにこれに続いて、参照番号844に示されるように、参加者P3がデータチャネルに参加する。
FIG. 8D conceptually illustrates a timeline illustrating encryption of content of a data channel over time based on the scenario of FIG. 8C, according to embodiments of the present disclosure. In an exemplary embodiment, in scenario A, participant P 1 leaves and participant P 3 joins with full access to the channel's history. On the other hand, in scenario B, participant P 1 leaves and participant P 3 joins without having access to the channel's history (but having access to the content after joining). As shown at
例示の実施態様に示されるシナリオAでは、チャネルが作成されてからP1が去るまでの期間846に、チャネルは初めにチャネルキーK1で暗号化される。次に、P1が去った後の期間848に、チャネルは、チャネルキーK2で暗号化される。参加者P3がチャネルに参加しても、チャンネルは、依然としてチャンネルキーK2で暗号化される。
In scenario A shown in the example implementation, the channel is initially encrypted with channel key K 1 during the
示されるシナリオBでは、チャネルが作成されてからP1が去るまでの期間850に、チャネルは同様に初めにチャネルキーK1で暗号化される。P1が去った後の期間852に、チャネルは、チャネルキーK2で暗号化される。しかし、参加者P3が参加すると、期間854にチャンネルは、新たなチャンネルキーK3で暗号化される。
In the scenario B shown, during the
図8Eは、本開示の実施態様による、データチャネル100におけるメッセージの構成要素を概念的に示す。例示の実施態様では、暗号化されたチャネルキー862、メッセージ署名864、及び暗号化されたコンテンツ866を含む所与のメッセージ860が示される。暗号化されたチャネルキー862は、チャネルリストに含まれる暗号化されたチャネルキーの全てを含む。暗号化されたチャネルキーは、それぞれの秘密キー保持者によってのみ復号化でき、秘密キー保持者は、所有者及びデータチャネル100へのアクセスを許可された参加者であることが、理解されよう。説明されたように、多数のチャネルキーが存在し得、これらは、異なるユーザ部分集合の公開キーで暗号化され得る。
FIG. 8E conceptually illustrates the components of messages on
メッセージ860はさらに、メッセージ署名864を含む。いくつかの実施態様では、メッセージ署名は、対称署名アルゴリズム(例えばHMAC(ハッシュベース/キー付きハッシュメッセージ認証コード)、GMAC(ガロアメッセージ認証コード)、CMAC(暗号ベースメッセージ認証コード))を使用する。
メッセージ860はさらに、暗号化されたコンテンツ866、すなわちチャネルキーKiで暗号化されたメッセージのコンテンツを含む。コンテンツには、テキスト、画像、ビデオなどが含まれ得る。
いくつかの実施態様では、暗号化されたコンテンツ866及びメッセージ署名864は、同じプロセスを通して同時に生成される(例えばAES-GCM(高度暗号化標準-ガロア/カウンタモード)を使用する)。
In some implementations,
従って、データチャネル内の各メッセージは、暗号化されたチャネルキー、メッセージ署名、及び暗号化されたメッセージコンテンツを含む。ユーザ(例えば所有者または参加者)がメッセージを受信すると、メッセージを構文解析して、公開キーで暗号化されたチャネルキーを見つけ、チャネルキーを復号化する。次に、ユーザは、復号化されたチャネルキーを使用してメッセージのコンテンツを復号化し得る。 Thus, each message within the data channel includes an encrypted channel key, a message signature, and encrypted message content. When a user (eg, owner or participant) receives a message, it parses the message to find the channel key encrypted with the public key and decrypts the channel key. The user may then decrypt the contents of the message using the decrypted channel key.
メッセージのコンテンツへのアクセスは、コンテンツを暗号化するのに使用される特定のチャネルキーを介して、及びチャネルキーの暗号化の管理を通して、制御されることが、理解されよう。コンテンツの暗号化に使用されるチャネルキーは、コンテンツへのアクセスを許可される特定ユーザのみの公開キーで暗号化され、これらの暗号化されたキーはメッセージに含まれる。チャネルキーは暗号化された形式でのみ送信されるため、対応する秘密キーの保持者のみが、チャネルキーにアクセスし、コンテンツを復号化することができる。これは、ユーザの観点からのゼロトラストソリューションを提供し、データチャネルメタデータを(暗号化された形式で)記憶し、かつ(例えばユーザ間のデータ通信を促進することで)チャネルを管理するネットワークゲームサービスでさえも、チャネルキーを復号化することができないため、コンテンツへのアクセス権を有さない。さらに、所与のメッセージが何らかの方法で第三者により傍受された、または誤送信された場合でも、このような受信者はチャネルキーを復号化できないため、メッセージのコンテンツの機密性は守られる。 It will be appreciated that access to the content of the message is controlled through the particular channel key used to encrypt the content and through management of the encryption of the channel key. The channel keys used to encrypt the content are encrypted with public keys only for specific users authorized to access the content, and these encrypted keys are included in the message. Channel keys are only transmitted in encrypted form, so only the holder of the corresponding private key can access the channel key and decrypt the content. It provides a zero trust solution from the user's perspective, and is a network that stores data channel metadata (in encrypted form) and manages the channel (e.g. by facilitating data communication between users). Even gaming services cannot decrypt the channel key and therefore have no access to the content. Furthermore, even if a given message is somehow intercepted or misdirected by a third party, the contents of the message remain confidential since such recipients will not be able to decrypt the channel key.
上記のように、データチャネルは、ネットワークゲームサービスのリソースを使用して管理され得る。例えば、ネットワークゲームサービスは、チャネルリストを維持し、メンバーが除外された時(前述のように残りの全メンバーに新たなチャネルキーを提供する)、または新たなメンバーが追加された時(前述のようにチャネルリストを新たなメンバーに提供し、存在するメンバーを更新して、新たな暗号化されたチャネルキーを含める)など、必要に応じてデータチャネルの現在活動中のメンバーにチャネルリストを配布し得る。データチャネルのメンバーがメッセージを生成する時、現在のチャネルキーを使用してコンテンツを暗号化し得、さらにチャネルリストの暗号化されたキーを連結し得る。メッセージは、ネットワークゲームサービスのデータチャネルサービス/ロジック/ハンドラーに送信され、記憶され、他のユーザに配布され得る。 As mentioned above, the data channel may be managed using the resources of the network gaming service. For example, a network gaming service may maintain a channel list when a member is removed (providing a new channel key to all remaining members as described above) or when a new member is added (providing a new channel key as described above). Distribute the channel list to currently active members of the data channel as needed, such as providing the channel list to new members and updating existing members to include the new encrypted channel key. It is possible. When a member of a data channel generates a message, it may encrypt the content using the current channel key and may concatenate the encrypted keys of the channel list. The message may be sent to the network gaming service's data channel service/logic/handler, stored, and distributed to other users.
前述のように、本開示の実施態様は、クラウドゲームシステムに適用され得る。クラウドゲームシステムの一例として、Playstation(登録商標)Nowクラウドゲームシステムが挙げられる。このようなシステムでは、クライアントデバイスは、Playstation(登録商標)4ゲームコンソールなどのゲームコンソール、またはパーソナルコンピュータ、ラップトップ、タブレット、携帯電話、モバイルデバイスなどの別のデバイスであり得る。
As mentioned above, embodiments of the present disclosure may be applied to cloud gaming systems. An example of a cloud game system is the PlayStation (registered trademark) Now cloud game system. In such systems, the client device may be a game console, such as a
概して、ゲームタイトルのユーザリクエストが受信されると、クラウドゲームを有効化するために、クラウドゲームサイトに関連付けられたデータセンタ内の1つ以上のサーバにより、いくつかの動作が実行される。クラウドゲームサイトがユーザリクエストを受信すると、選択されたゲームタイトルに関連付けられたゲームをホストするデータセンタが識別され、選択されたゲームタイトルのゲームをインスタンス化するために、識別されたデータセンタにリクエストが送信される。リクエストに応じて、データセンタのサーバは、ゲームコンテンツをユーザに提示する準備として、ゲームコードを識別し、識別したゲームコードをロードし、ゲームコードに関連するファイルを初期化する。ゲームに関連付けられたゲームデータには、一般的なゲームデータと、ユーザ固有のゲームデータとが含まれ得る。従って、ファイルを初期化することは、一般的なゲームデータ及びユーザ固有のゲームデータの両方を識別し、ロードし、初期化することを含み得る。一般的なゲームデータを初期化することは、グラフィックスエンジンを初期化すること、グラフィックスデータをインストールすること、サウンドファイルを初期化すること、アートワークをインストールすることなどを含み得る。ユーザ固有データを初期化することは、ユーザデータ、ユーザ履歴、ゲーム履歴などを検索すること、転送すること、及びインストールすることを含み得る。 Generally, when a user request for a game title is received, several actions are performed by one or more servers within a data center associated with the cloud gaming site to enable the cloud game. When the cloud gaming site receives a user request, the data center hosting the game associated with the selected game title is identified and the request is made to the identified data center to instantiate the game for the selected game title. is sent. In response to the request, the data center server identifies the game code, loads the identified game code, and initializes files associated with the game code in preparation for presenting the game content to the user. Game data associated with a game may include general game data and user-specific game data. Accordingly, initializing the files may include identifying, loading, and initializing both general game data and user-specific game data. Initializing general game data may include initializing the graphics engine, installing graphics data, initializing sound files, installing artwork, etc. Initializing user-specific data may include retrieving, transferring, and installing user data, user history, game history, etc.
一般的なゲームデータがロードされ初期化されている間に、「スプラッシュ」画面がクライアントデバイスでレンダリングされるように提供され得る。スプラッシュ画面は、ロードされているゲームの代表的な画像を提供するように設計され、ロードされているゲームの好例をユーザが下見することを可能にし得る。一般的なゲームデータがロードされると、特定の初期コンテンツがレンダリングされ得、選択/ナビゲーション画面が、ユーザ選択及びカスタマイズのために提示され得る。選択/ナビゲーション画面で入力されるユーザ選択には、ゲームレベルの選択、ゲームアイコン(複数可)の選択、ゲームモードの選択、ゲームの獲得物、追加のゲームコンテンツのアップロードが必要となり得る他のユーザ関連データが含まれ得る。いくつかの実施形態では、ゲームコンテンツは、クラウドゲームシステムからユーザのコンピューティングデバイスにゲームコンテンツをストリーミングすることにより、視聴及びインタラクションに利用可能となる。いくつかの実施態様では、ユーザ固有データをロードした後に、ゲームコンテンツはゲームプレイに利用可能となる。 A "splash" screen may be provided to be rendered on the client device while general game data is loaded and initialized. The splash screen may be designed to provide a representative image of the game being loaded, allowing the user to preview a good example of the game being loaded. Once the general game data is loaded, specific initial content may be rendered and selection/navigation screens may be presented for user selection and customization. User selections entered on the selection/navigation screen may require selection of game level, selection of game icon(s), selection of game mode, game acquisitions, and uploading of additional game content by other users. Related data may be included. In some embodiments, game content is made available for viewing and interaction by streaming the game content from a cloud gaming system to a user's computing device. In some implementations, after loading the user-specific data, the game content is available for game play.
図9Aは、クラウドゲームサイトを介して利用可能なゲームのゲームファイルをロードするために使用される例示的なシステムを示す。システムは、インターネットなどのネットワーク902を介してクラウドゲームサイト904に通信可能に接続された複数のクライアントデバイス900を含む。クラウドゲームサイト904にアクセスするリクエストがクライアントデバイス900から受信されると、クラウドゲームサイト904は、ユーザデータストア908に記憶されたユーザアカウント情報906にアクセスして、リクエストを発信したクライアントデバイスに関連付けられたユーザを識別する。いくつかの実施形態では、クラウドゲームサイトはまた、ユーザが視聴/プレイを許可された全てのゲームを特定するために、識別したユーザを検証し得る。ユーザアカウントの識別/検証に続いて、クラウドゲームサイトは、ゲームタイトルデータストア910にアクセスして、リクエストを発信したユーザアカウントがクラウドゲームサイトで利用可能なゲームタイトルを識別する。今度は、ゲームタイトルデータストア910が、ゲームデータベース912とインタラクトして、クラウドゲームサイトが利用可能な全てのゲームのゲームタイトルを取得する。新しいゲームが導入されると、ゲームデータベース912はゲームコードが更新され、ゲームタイトルデータストア910は、新たに導入されたゲームのゲームタイトル情報が提供される。リクエストを発信したクライアントデバイスは、リクエストを発信した時に、クラウドゲームサイトに登録されている場合とされていない場合がある。リクエストを発信したクライアントデバイスのユーザが登録ユーザでない場合には、クラウドゲームサイトは、そのユーザを新規ユーザとして識別し、新規ユーザに好適なゲームタイトル(例えばデフォルトのゲームタイトル集合)を選択し得る。図9Aに示されるように、特定されたゲームタイトルは、ディスプレイ画面900-aに提示されるように、クライアントデバイスに返される。 FIG. 9A shows an example system used to load game files for games available via a cloud gaming site. The system includes a plurality of client devices 900 communicatively connected to a cloud gaming site 904 via a network 902, such as the Internet. When a request to access a cloud gaming site 904 is received from a client device 900, the cloud gaming site 904 accesses user account information 906 stored in a user data store 908 to determine information associated with the client device that originated the request. identify the user who In some embodiments, the cloud gaming site may also verify the identified user to identify all games the user is authorized to view/play. Following identification/verification of the user account, the cloud gaming site accesses game title data store 910 to identify game titles available at the cloud gaming site to the user account that originated the request. Game title data store 910, in turn, interacts with game database 912 to obtain game titles for all games available to the cloud gaming site. When a new game is introduced, the game database 912 is updated with the game code, and the game title data store 910 is provided with game title information for the newly introduced game. The client device that sent the request may or may not be registered with the cloud game site at the time the request is sent. If the user of the client device that originated the request is not a registered user, the cloud gaming site may identify the user as a new user and select a suitable game title (eg, a default set of game titles) for the new user. As shown in FIG. 9A, the identified game title is returned to the client device for presentation on display screen 900-a.
クライアントデバイス上でレンダリングされたゲームタイトルのうちの1つでユーザインタラクションが検出され、信号がクラウドゲームサイトに送信される。信号には、ユーザインタラクションが検出されたゲームタイトル情報と、ゲームタイトルで登録されたユーザインタラクションとが含まれる。クライアントデバイスから受信した信号に応じて、クラウドゲームサイトは積極的に、ゲームがホストされているデータセンタを特定し、特定したデータセンタに信号を送信して、ユーザインタラクションが検出されたゲームタイトルに関連付けられたゲームをロードする。いくつかの実施形態では、複数のデータセンタがゲームをホストしている場合がある。このような実施形態では、クラウドゲームサイトは、リクエストを発信したクライアントデバイスの地理的位置を特定し、クライアントデバイスに地理的に近いデータセンタを識別し、データセンタにゲームをプリロードするように信号を送信し得る。ユーザの地理的位置は、いくつか例を挙げると、クライアントデバイス内の全地球測位システム(GPS)メカニズム、クライアントのIPアドレス、クライアントのping情報を使用して、特定され得る。当然ながら、ユーザの地理的位置を検出する前述の方法は例示であり得、他の種類のメカニズムまたはツールを使用して、ユーザの地理的位置を特定してもよい。クライアントデバイスに近いデータセンタを識別することにより、ユーザがゲームとインタラクトする際のレイテンシを最小限に抑えることができる。いくつかの実施形態では、識別されたデータセンタは、ゲームをホストするのに必要な帯域幅/処理能力を有さない場合がある、または過使用されている場合がある。これらの実施形態では、クラウドゲームサイトは、クライアントデバイスに地理的に近い第2のデータセンタを識別し得る。ゲームをロードすることは、ゲームコードをロードすることと、ゲームのインスタンスを実行することとを含む。 A user interaction with one of the game titles rendered on the client device is detected and a signal is sent to the cloud gaming site. The signal includes the game title information in which the user interaction was detected and the user interaction registered with the game title. In response to signals received from client devices, the cloud gaming site proactively identifies the data center where the game is hosted and sends a signal to the identified data center to direct the user interaction to the game title in which it was detected. Load the associated game. In some embodiments, multiple data centers may host the game. In such embodiments, the cloud gaming site determines the geographic location of the client device that originated the request, identifies a data center that is geographically proximate to the client device, and signals the data center to preload the game. Can be sent. The user's geographic location may be determined using a Global Positioning System (GPS) mechanism within the client device, the client's IP address, the client's ping information, to name a few. Of course, the above-described methods of detecting a user's geographic location may be exemplary, and other types of mechanisms or tools may be used to determine the user's geographic location. By identifying data centers that are close to client devices, the latency when users interact with the game can be minimized. In some embodiments, the identified data center may not have the necessary bandwidth/processing power to host the game, or may be overutilized. In these embodiments, the cloud gaming site may identify a second data center that is geographically proximate to the client device. Loading the game includes loading game code and running an instance of the game.
クラウドゲームサイトから信号を受信したことに応じて、識別されたデータセンタは、データセンタにおけるサーバを選択して、サーバ上でゲームをインスタンス化し得る。サーバは、利用可能なハードウェア/ソフトウェアの処理能力及びゲーム要件に基づいて選択される。サーバは、複数のゲームコンソールを含み得、サーバは、ゲームをロードするのに、複数のゲームコンソールのうちのどのゲームコンソールを使用するかを決定し得る。ゲームコンソールは、独立したゲームコンソールに類似し得る、またはラックマウントサーバもしくはブレードサーバであり得る。ブレードサーバは、次に、複数のサーバブレードを含み得、各ブレードは、ゲームなどの単一の専用アプリケーションをインスタンス化するのに必要な回路を有する。当然ながら、前述のゲームコンソールは例示であり、限定として見なされるべきではない。ゲームステーションなどを含む他の種類のゲームコンソール、及び他の形態のブレードサーバも、識別されたゲームをホストするために用いられてもよい。 In response to receiving the signal from the cloud gaming site, the identified data center may select a server at the data center to instantiate a game on the server. The server is selected based on available hardware/software processing power and game requirements. The server may include multiple game consoles, and the server may determine which of the multiple game consoles to use to load the game. The game console may resemble a freestanding game console, or may be a rack mount server or a blade server. A blade server, in turn, may include multiple server blades, each blade having the necessary circuitry to instantiate a single dedicated application, such as a game. Of course, the aforementioned game consoles are illustrative and should not be considered limiting. Other types of game consoles, including game stations and the like, and other forms of blade servers may also be used to host the identified games.
ゲームコンソールが識別されると、ゲームがインスタンス化されるゲームコンソールを識別するネットワークを介して、クラウドゲームサイトにより、ゲームの一般的なゲーム関連コードがゲームコンソールにロードされ、クライアントデバイスに信号が返される。このように、ロードされたゲームは、ユーザに利用可能となる。 Once the game console is identified, the cloud gaming site loads the game's general game-related code onto the game console and sends a signal back to the client device over the network that identifies the game console on which the game is instantiated. It will be done. In this way, the loaded game becomes available to the user.
図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などが挙げられる。 FIG. 9B is a flow diagram conceptually illustrating various operations performed to stream a cloud video game to a client device, according to embodiments of the present disclosure. Gaming system 918 runs video games and produces raw (uncompressed) video 920 and audio 922. Video 920 and audio 922 are captured and encoded for streaming, as indicated by reference numeral 924 in the diagram shown. Encoding compresses video and audio streams, reduces bandwidth usage, and can optimize the gaming experience. As an example of the encoding format, H. 265/MPEG-H, H. 264/MPEG-4, H.264/MPEG-4. 263/MPEG-4, H.263/MPEG-4. 262/MPEG-2, WMV, VP6/7/8/9, etc.
符号化されたオーディオ926及び符号化されたビデオ928はさらに、インターネットなどのネットワークを介して送信するために、参照番号932に示されるように、ネットワークパケットにパケット化される。ネットワークパケット符号化プロセスは、データ暗号化プロセスも採用し得るため、データセキュリティが強化される。例示の実施態様では、オーディオパケット934及びビデオパケット936は、参照番号940に示されるように、ネットワークを介して転送するために生成される。 Encoded audio 926 and encoded video 928 are further packetized into network packets, as shown at 932, for transmission over a network, such as the Internet. The network packet encoding process may also employ a data encryption process, thereby enhancing data security. In the exemplary implementation, audio packets 934 and video packets 936 are generated for transmission over the network, as shown at reference numeral 940.
ゲームシステム918はさらに、触覚フィードバックデータ930を生成し、これもネットワーク送信のためにネットワークパケットにパケット化される。例示の実施態様では、参照番号940でさらに示されるように、ネットワークを介して転送するために、触覚フィードバックパケット938が生成される。 Gaming system 918 further generates haptic feedback data 930, which is also packetized into network packets for network transmission. In the exemplary embodiment, a haptic feedback packet 938 is generated for transmission over the network, as further indicated by reference numeral 940.
生のビデオ及びオーディオ並びに触覚フィードバックデータを生成することと、ビデオ及びオーディオを符号化することと、符号化されたオーディオ/ビデオ及び触覚フィードバックデータを転送用にパケット化することとの前述の動作は、クラウドゲームサービス/システムを集合的に定義する1つ以上のサーバ上で実行される。参照番号940に示されるように、オーディオ、ビデオ、及び触覚フィードバックのパケットは、インターネットなどのネットワーク、及び/またはインターネットを含むネットワークを介して、転送される。参照番号942に示されるように、オーディオパケット934、ビデオパケット936、及び触覚フィードバックパケット938は、クライアントデバイスにより復号化/再構築され、クライアントデバイスにて、符号化されたオーディオ946、符号化されたビデオ948、及び触覚フィードバックデータ950が定義される。データが暗号化されている場合は、ネットワークパケットは暗号解読化も行われる。次に、符号化されたオーディオ946及び符号化されたビデオ948は、参照番号944に示されるように、クライアントデバイスにより復号化され、クライアント側の生のオーディオ及びビデオデータが生成され、ディスプレイデバイス952上にレンダリングされる。触覚フィードバックデータ950は、処理/通信され、触覚効果をレンダリングすることができるコントローラデバイス956または他のインターフェースデバイスにて、触覚フィードバック効果が生成され得る。触覚効果の一例として、コントローラデバイス956の振動またはランブルが挙げられる。 The aforementioned operations of generating raw video and audio and haptic feedback data, encoding the video and audio, and packetizing the encoded audio/video and haptic feedback data for transmission include: , run on one or more servers that collectively define a cloud gaming service/system. As shown at reference numeral 940, the audio, video, and haptic feedback packets are transferred over a network such as and/or including the Internet. As shown at reference numeral 942, audio packets 934, video packets 936, and haptic feedback packets 938 are decoded/reconstructed by the client device, and encoded audio 946, encoded Video 948 and haptic feedback data 950 are defined. If the data is encrypted, the network packet is also decrypted. Encoded audio 946 and encoded video 948 are then decoded by the client device, as shown at reference numeral 944, to produce client-side raw audio and video data and display device 952. rendered on top. Haptic feedback data 950 may be processed/communicated to generate haptic feedback effects at a controller device 956 or other interface device that may render haptic effects. An example of a haptic effect is vibration or rumble of the controller device 956.
ビデオゲームはユーザ入力に応答することから、ユーザ入力の送信及び処理に関しても、前述と同様の手順の流れを、クライアントデバイスからサーバへの逆方向で実行され得ることが、理解されよう。示されるように、コントローラデバイス956を操作するユーザは、入力データ958を生成し得る。この入力データ958は、ネットワークを介してクラウドゲームシステムに転送するために、クライアントデバイスでパケット化される。入力データパケット960は、クラウドゲームサーバにより復元及び再構築されて、サーバ側で入力データ962が定義される。入力データ962は、ゲームシステム918に供給され、ゲームシステム918は、入力データ962を処理して、ビデオゲームのゲーム状態を更新する。 Since video games are responsive to user input, it will be appreciated that a similar flow of procedures as described above may be performed in the reverse direction from the client device to the server with respect to the transmission and processing of user input. As shown, a user operating controller device 956 may generate input data 958. This input data 958 is packetized at the client device for transmission over the network to the cloud gaming system. Input data packets 960 are restored and reconstructed by the cloud game server to define input data 962 on the server side. Input data 962 is provided to gaming system 918, which processes input data 962 to update the game state of the video game.
オーディオパケット934、ビデオパケット936、及び触覚フィードバックパケット938の転送中(参照番号940)、クラウドゲームストリームのサービス品質を保証するために、ネットワークを介したデータの送信が監視され得る。例えば、参照番号964により示されるように、アップストリーム及びダウンストリームの両方のネットワーク帯域幅を含むネットワーク状態が監視され得、ゲームストリーミングは、利用可能な帯域幅の変化に応じて調整され得る。すなわち、参照番号966により示されるように、ネットワークパケットの符号化及び復号化は、現在のネットワーク状況に基づいて制御され得る。 During the transfer of audio packets 934, video packets 936, and haptic feedback packets 938 (reference numeral 940), the transmission of data over the network may be monitored to ensure quality of service of the cloud game stream. For example, as indicated by reference numeral 964, network conditions including both upstream and downstream network bandwidth may be monitored and game streaming may be adjusted in response to changes in available bandwidth. That is, as indicated by reference numeral 966, encoding and decoding of network packets may be controlled based on current network conditions.
図10は、情報サービスプロバイダアーキテクチャの実施形態を示す。情報サービスプロバイダ(ISP)1070は、ネットワーク1086を介して、地理的に分散し接続されたユーザ1082に多数の情報サービスを届ける。ISPは、株価の更新などの1種類のサービスのみ、または放送メディア、ニュース、スポーツ、ゲームなどの様々なサービスを届けることができる。さらに、各ISPにより提供されるサービスは動的であり得、すなわち、いつの時点でもサービスを追加する、または取り除くことができる。従って、特定の個人に特定の種類のサービスを提供するISPは、時間の経過と共に変わり得る。例えば、ユーザが地元にいる間は、ユーザの付近のISPによりユーザはサービスを受け得、ユーザが別の街に移動した場合は、別のISPによりユーザはサービスを受け得る。地元のISPは、必要な情報及びデータを新たなISPに転送し、これにより、ユーザ情報は新たな街までユーザを「追従」し、ユーザはデータにより近くなり、アクセスしやすくなる。別の実施形態では、ユーザの情報を管理するマスタISPと、マスタISPの制御下のユーザと直接インターフェースするサーバISPとの間に、マスタ‐サーバ関係が確立され得る。別の実施形態では、クライアントが世界中を移動すると、あるISPから別のISPにデータが転送され、これにより、ユーザにサービスを提供するのにより良い位置に存在するISPが、これらのサービスを届けるISPとなる。 FIG. 10 illustrates an embodiment of an information service provider architecture. An information service provider (ISP) 1070 delivers multiple information services to geographically dispersed and connected users 1082 via a network 1086. ISPs can deliver only one type of service, such as stock price updates, or a variety of services, such as broadcast media, news, sports, games, etc. Furthermore, the services provided by each ISP can be dynamic, ie, services can be added or removed at any time. Therefore, the ISP that provides a particular type of service to a particular individual may change over time. For example, the user may be served by an ISP near the user while in the user's hometown, and if the user moves to another city, the user may be served by another ISP. The local ISP transfers the necessary information and data to the new ISP, so that the user information "follows" the user to the new city, making the user closer to and more accessible to the data. In another embodiment, a master-server relationship may be established between a master ISP that manages information for users and a server ISP that directly interfaces with users under the control of the master ISP. In another embodiment, as a client moves around the world, data is transferred from one ISP to another, so that the ISP that is better positioned to serve the user can deliver those services. Becomes an ISP.
ISP1070は、ネットワークを介して顧客にコンピュータベースのサービスを提供するアプリケーションサービスプロバイダ(ASP)1072を含む。ASPモデルを使用して提供されるソフトウェアは、オンデマンドソフトウェアまたはソフトウエアアズアサービス(SaaS)と呼ばれることもある。特定のアプリケーションプログラム(顧客関係管理など)へのアクセスを提供する簡単な形式には、HTTPなどの標準プロトコルが使用される。アプリケーションソフトウェアは、ベンダのシステムに常駐し、HTMLを使用するウェブブラウザを介して、ベンダが提供する専用クライアントソフトウェアを介して、またはシンクライアントなどの他のリモートインターフェースを介して、ユーザによりアクセスされる。 ISP 1070 includes an application service provider (ASP) 1072 that provides computer-based services to customers over a network. Software provided using the ASP model is sometimes referred to as software on demand or software as a service (SaaS). A simple form of providing access to specific application programs (such as customer relationship management) uses standard protocols such as HTTP. The application software resides on the vendor's system and is accessed by the user through a web browser using HTML, through specialized client software provided by the vendor, or through other remote interfaces such as thin clients. .
広い地理的領域にわたって届けられるサービスは、多くの場合、クラウドコンピューティングを使用する。クラウドコンピューティングは、動的にスケーラブルであり、かつ多くの場合仮想化されたリソースがインターネット経由のサービスとして提供される、コンピューティング様式である。ユーザは、ユーザを支援する「クラウド」の技術インフラストラクチャの専門家である必要はない。クラウドコンピューティングは、Infrastructure as a Service(IaaS)、Platform as a Service(PaaS)、及びSoftware as a Service(SaaS)などの異なるサービスに分類され得る。クラウドコンピューティングサービスは、多くの場合、ウェブブラウザからアクセスされる共通のビジネスアプリケーションをオンラインで提供するが、ソフトウェア及びデータは、サーバ上に格納される。クラウドという用語は、コンピュータネットワーク図におけるインターネットの描かれ方に基づいて、(例えばサーバ、ストレージ、及びロジックを使用する)インターネットの隠喩として使用され、複雑なインフラストラクチャを隠し持つことの抽象的概念である。 Services that are delivered over large geographic areas often use cloud computing. Cloud computing is a computing modality in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users do not need to be experts in the "cloud" technology infrastructure that supports them. Cloud computing can be classified into different services such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Cloud computing services often provide common business applications online that are accessed from a web browser, but the software and data are stored on servers. The term cloud is used as a metaphor for the Internet (e.g., using servers, storage, and logic), based on how it is depicted in computer network diagrams, and is an abstract concept that hides complex infrastructure. .
さらに、ISP1070は、ゲームクライアントがシングル及びマルチプレーヤビデオゲームをプレイするために使用するゲーム処理サーバ(GPS)1074を含む。インターネット上でプレイされるほとんどのビデオゲームは、ゲームサーバへの接続を介して作動する。通常、ゲームは、プレーヤからデータを収集し、収集したデータを他のプレーヤに配信する専用サーバアプリケーションを使用する。これは、ピアツーピア構成よりも効率的かつ効果的であるが、サーバアプリケーションをホストするために別個のサーバが必要となる。別の実施形態では、GPSは、プレーヤ及びそれぞれのゲームプレイデバイスの間の通信を確立し、集中型GPSに依存せずに情報を交換する。 Additionally, ISP 1070 includes a game processing server (GPS) 1074 that game clients use to play single and multiplayer video games. Most video games played over the Internet operate through a connection to a game server. Typically, games use dedicated server applications that collect data from players and distribute the collected data to other players. This is more efficient and effective than a peer-to-peer configuration, but requires a separate server to host the server application. In another embodiment, the GPS establishes communications between the players and their respective gameplay devices to exchange information without relying on a centralized GPS.
専用GPSは、クライアントとは無関係に稼働するサーバである。このようなサーバは、通常、データセンタに配置された専用ハードウェア上で稼働し、より多くの帯域幅及び専用処理能力を提供する。専用サーバは、大抵のPCベースのマルチプレーヤゲームのゲームサーバをホストするのに、好ましい方法である。大規模なマルチプレーヤオンラインゲームは、ゲームタイトルを所有するソフトウェア会社が通常ホストする専用サーバ上で実行され、専用サーバがコンテンツを制御及び更新することを可能にする。 A dedicated GPS is a server that operates independently of the client. Such servers typically run on dedicated hardware located in data centers and provide more bandwidth and dedicated processing power. Dedicated servers are the preferred method for hosting game servers for most PC-based multiplayer games. Massively multiplayer online games run on dedicated servers, typically hosted by the software company that owns the game title, allowing the dedicated server to control and update the content.
放送処理サーバ(BPS)1076は、視聴者にオーディオまたはビデオ信号を配信する。非常に狭い範囲の視聴者への放送は、ナローキャスティングと呼ばれることもある。放送配信の最終工程は、聴取者または視聴者への信号の伝達方法であり、信号は、ラジオ局またはテレビ局の場合と同様にアンテナ及び受信機に地上波で伝達され得る、または局を介してケーブルテレビもしくはケーブルラジオ(もしくは「無線ケーブル」)を通じて、または直接ネットワークから、伝達され得る。インターネットはまた、特に信号及び帯域幅の共有を可能にするマルチキャストを用いて、ラジオまたはテレビを受信者に届け得る。歴史的に、放送は、全国放送または地域放送などの地理的領域により範囲が定められてきた。しかし、高速インターネットの普及に伴い、コンテンツは世界のほぼ全ての国に到達可能であるため、放送は地域によって定められない。 Broadcast processing server (BPS) 1076 delivers audio or video signals to viewers. Broadcasting to a very narrow audience is sometimes called narrowcasting. The final step in broadcast distribution is the method of transmitting the signal to the listener or viewer; the signal may be transmitted terrestrially to an antenna and receiver, as in the case of a radio or television station, or via a station. It may be transmitted through cable television or cable radio (or "over-the-air cable") or directly from a network. The Internet can also deliver radio or television to recipients, especially using multicast, which allows signal and bandwidth sharing. Historically, broadcasting has been scoped by geographic areas, such as national or regional broadcasts. However, with the spread of high-speed internet, content can reach almost every country in the world, so broadcasting is no longer defined by region.
ストレージサービスプロバイダ(SSP)1078は、コンピュータストレージ空間及び関連する管理サービスを提供する。SSPは、定期的なバックアップ及びアーカイブも提供する。ストレージをサービスとして提供することにより、ユーザは必要に応じてより多くのストレージを注文することができる。別の大きな利点として、SSPはバックアップサービスを含み、ユーザは、自分のコンピュータのハードドライブに障害が発生しても、自分の全てのデータを失うことはない。さらに、複数のSSPは、ユーザデータの全体的または部分的なコピーを有することができ、これにより、ユーザの位置またはデータアクセスに使用されるデバイスとは無関係に、ユーザは効率的な方法でデータにアクセスすることが可能となる。例えば、ユーザは、移動中に自宅のコンピュータ並びに携帯電話の中の個人ファイルにアクセスすることができる。 Storage service provider (SSP) 1078 provides computer storage space and related management services. SSP also provides regular backups and archives. By providing storage as a service, users can order more storage as needed. Another big advantage is that SSP includes a backup service so that users do not lose all their data if their computer's hard drive fails. Additionally, multiple SSPs may have full or partial copies of user data, allowing users to access data in an efficient manner, regardless of the user's location or the device used to access the data. It becomes possible to access. For example, users can access personal files on their home computers as well as mobile phones while on the move.
通信プロバイダ1080は、ユーザに接続性を提供する。通信プロバイダの一種として、インターネットへのアクセスを提供するインターネットサービスプロバイダ(ISP)が挙げられる。ISPは、ダイヤルアップ、DSL、ケーブルモデム、ファイバ、無線、または専用の高速相互接続など、インターネットプロトコルデータグラムの提供に好適なデータ伝送技術を使用して、顧客を接続する。通信プロバイダは、電子メール、インスタントメッセージ、及びSMSテキストなどのメッセージサービスも提供し得る。通信プロバイダの別の種類として、インターネットへの直接のバックボーンアクセスを提供することにより帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ(NSP)が挙げられる。ネットワークサービスプロバイダは、電気通信会社、データ通信業者、無線通信プロバイダ、インターネットサービスプロバイダ、高速インターネットアクセスを提供するケーブルテレビ事業者などで構成され得る。 Communication provider 1080 provides connectivity to users. One type of communication provider is an Internet Service Provider (ISP), which provides access to the Internet. ISPs connect their customers using any data transmission technology suitable for providing Internet Protocol datagrams, such as dial-up, DSL, cable modem, fiber, wireless, or dedicated high-speed interconnects. Communications providers may also offer messaging services such as email, instant messaging, and SMS text. Another type of communications provider is a network service provider (NSP), which sells bandwidth or network access by providing direct backbone access to the Internet. Network service providers may consist of telecommunications companies, data carriers, wireless communication providers, Internet service providers, cable television operators that provide high-speed Internet access, and the like.
データ交換1088は、ISP1070内のいくつかのモジュールを相互接続し、これらのモジュールをネットワーク1086を介してユーザ1082に接続する。データ交換1088は、ISP1070の全てのモジュールが近接している小さな領域をカバーし得る、または様々なモジュールが地理的に分散している場合は、大きな地理的領域をカバーし得る。例えば、データ交換1088は、データセンタのキャビネット内に高速のギガビットイーサネット(登録商標)(もしくはさらに高速のもの)、または大陸間仮想エリアネットワーク(VLAN)を含み得る。 Data exchange 1088 interconnects several modules within ISP 1070 and connects these modules to users 1082 via network 1086. Data exchange 1088 may cover a small area where all modules of ISP 1070 are in close proximity, or it may cover a large geographic area if the various modules are geographically dispersed. For example, data exchange 1088 may include high speed Gigabit Ethernet (or even faster) or an intercontinental virtual area network (VLAN) within a data center cabinet.
ユーザ1082は、少なくともCPU、メモリ、ディスプレイ、及びI/Oを含むクライアントデバイス1084により、リモートサービスにアクセスする。クライアントデバイスは、PC、携帯電話、ネットブック、タブレット、ゲームシステム、PDAなどであり得る。一実施形態では、ISP1070は、クライアントが使用するデバイスの種類を認識し、採用する通信方法を調整する。他の事例では、クライアントデバイスは、HTMLなどの標準的な通信方法を使用して、ISP1070にアクセスする。 A user 1082 accesses remote services through a client device 1084 that includes at least a CPU, memory, display, and I/O. A client device can be a PC, mobile phone, netbook, tablet, gaming system, PDA, etc. In one embodiment, the ISP 1070 recognizes the type of device used by the client and adjusts the communication method employed. In other cases, client devices access ISP 1070 using standard communication methods such as HTML.
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家庭用電化製品、小型コンピュータ、及びメインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施され得る。本開示はまた、有線ベースネットワークまたは無線ネットワークを介してリンクされたリモート処理デバイスによりタスクが行われる分散型コンピューティング環境においても、実施することができる。 Embodiments of the present disclosure may be implemented in a variety of computer system configurations, including handheld devices, microprocessor systems, microprocessor-based or programmable consumer electronics, small computers, mainframe computers, and the like. The present disclosure can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through wire-based or wireless networks.
前述の実施形態を考慮に入れて、本開示は、コンピュータシステムに格納されたデータを伴う様々なコンピュータ実施動作を採用し得ることを理解されたい。これらの動作は、物理量の物理的操作を要する動作である。本開示の一部を形成する本明細書で説明される動作のいずれも、有用なマシン動作である。本開示はまた、これらの動作を実行するためのデバイスまたは装置に関する。装置は、必要な目的のために特別に構築され得る、または装置は、コンピュータに格納されたコンピュータプログラムにより選択的に有効化または構成される汎用コンピュータであり得る。具体的には、様々な汎用マシンを、本明細書の教示に従って書かれたコンピュータプログラムと共に使用することができる、あるいは、必要な動作を実行するためにさらに特化した装置を構築するほうがより好都合であり得る。 In light of the foregoing embodiments, it should be understood that the present disclosure may employ various computer-implemented operations involving data stored on computer systems. These operations are operations that require physical manipulation of physical quantities. Any of the operations described herein that form part of this disclosure are useful machine operations. The present disclosure also relates to devices or apparatus for performing these operations. The device may be specially constructed for the required purpose, or the device may be a general purpose computer selectively enabled or configured by a computer program stored in the computer. In particular, various general purpose machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct more specialized apparatus to perform the required operations. It can be.
本開示はまた、コンピュータ可読媒体上のコンピュータ可読コードとしても具現化することができる。あるいは、コンピュータ可読コードは、前述のデータ交換相互接続を使用して、サーバからダウンロードされ得る。コンピュータ可読媒体は、後でコンピュータシステムにより読み出され得るデータを格納できる任意のデータストレージデバイスである。コンピュータ可読媒体の例として、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、並びに他の光学及び非光学データストレージデバイスが挙げられる。コンピュータ可読媒体には、コンピュータ可読コードが分散方式で格納され実行されるように、ネットワーク接続されたコンピュータシステムにわたり分散されたコンピュータ可読有形媒体が含まれ得る。 The present disclosure may also be embodied as computer readable code on a computer readable medium. Alternatively, the computer readable code may be downloaded from the server using the data exchange interconnect described above. A computer-readable medium is any data storage device that can store data that can later be read by a computer system. Examples of computer-readable media include hard drives, network attached storage (NAS), read-only memory, random access memory, CD-ROM, CD-R, CD-RW, magnetic tape, and other optical and non-optical data storage devices. can be mentioned. Computer-readable media can include computer-readable tangible media that is distributed over a network-coupled computer system so that computer-readable code is stored and executed in a distributed manner.
方法動作は特定の順序で説明されたが、オーバーレイ動作の処理が所望のやり方で実行される限り、動作の合間に他の維持管理動作が実行されてもよく、または動作がわずかに異なる時間に起こるように調整されてもよく、またはシステム内に動作を分散することで、様々な処理関連間隔で処理動作が起こることを可能にしてもよいことを、理解されたい。 Although the method operations have been described in a particular order, other maintenance operations may be performed in between the operations, or the operations may be performed at slightly different times, as long as the processing of the overlay operations is performed in the desired manner. It should be appreciated that processing operations may be tailored to occur or may be distributed within the system to allow processing operations to occur at various processing-related intervals.
前述の開示は、理解を明確にするためにある程度詳細に説明されたが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。従って、本実施形態は、限定ではなく例示としてみなされるべきであり、本開示は、本明細書で提供される詳細に限定されるべきではなく、説明される実施形態の範囲内及び均等物内で変更されてもよい。 Although the foregoing disclosure has been described in some detail for clarity of understanding, it will be obvious that certain changes and modifications may be practiced within the scope of the appended claims. Accordingly, the present embodiments are to be regarded as illustrative rather than limiting, and the present disclosure is not to be limited to the details provided herein, but within the scope and equivalents of the described embodiments. may be changed.
Claims (7)
前記所有者デバイスから前記ネットワークを介して、1つ以上の第2の暗号化されたチャネルキーを受信することであって、各第2の暗号化されたチャネルキーはそれぞれ、前記データチャネルの各参加者に関連付けられた公開キーで暗号化された前記チャネルキーである、前記受信することと、
前記第1の暗号化されたチャネルキー及び前記1つ以上の第2の暗号化されたチャネルキーをチャネルリストに記憶することと、
前記ネットワークを介して、前記データチャネルの各参加者にそれぞれ関連付けられた1つ以上の参加者デバイスに前記チャネルリストを配布することと、
を含む方法であって、
前記データチャネルを介した通信は、前記第1の暗号化されたチャネルキー、前記第2の暗号化されたチャネルキー、及び前記チャネルキーを使用して暗号化されたコンテンツを含む、
方法。 receiving a first encrypted channel key for the data channel over a network from an owner device associated with an owner of the data channel, the first encrypted channel key being , a channel key encrypted with a public key associated with the owner of the data channel, the channel key being used to encrypt content shared via the data channel; receiving and
receiving one or more second encrypted channel keys from the owner device via the network, each second encrypted channel key being a respective one of each of the data channels; the receiving, the channel key being encrypted with a public key associated with a participant;
storing the first encrypted channel key and the one or more second encrypted channel keys in a channel list;
distributing the channel list to one or more participant devices respectively associated with each participant of the data channel via the network;
A method comprising:
Communication via the data channel includes the first encrypted channel key, the second encrypted channel key, and content encrypted using the channel key.
Method.
前記ネットワークを介して前記所有者デバイスから、1つ以上の第2の暗号化された第2のチャネルキーを受信することであって、各第2の暗号化された第2のチャネルキーはそれぞれ、前記参加者のうちの1人の前記公開キーで暗号化された前記第2のチャネルキーであり、前記1つ以上の第2の暗号化された第2のチャネルキーには、前記参加者のうちの前記除外される少なくとも1人の前記公開キーで暗号化された前記第2のチャネルキーである第2の暗号化された第2のチャネルキーは含まれない、前記受信することと、
前記チャネルリストを更新して、前記第1の暗号化された第2のチャネルキー、及び前記1つ以上の第2の暗号化された第2のチャネルキーを含めることと、
前記ネットワークを介して、前記更新されたチャネルリストを前記参加者デバイスに配布することと、
をさらに含む、請求項1に記載の方法。 receiving a first encrypted second channel key of the data channel from the owner device via a network, the first encrypted second channel key being the first encrypted second channel key of the data channel; a second channel key encrypted with the public key associated with the owner of the data channel, the second channel key configured to exclude at least one of the participants; said receiving is used to encrypt content shared via a data channel;
receiving one or more second encrypted second channel keys from the owner device via the network, each second encrypted second channel key having a respective , the second channel key encrypted with the public key of one of the participants, and the one or more second encrypted second channel keys include receiving a second encrypted second channel key that is the second channel key encrypted with the public key of the excluded at least one of;
updating the channel list to include the first encrypted second channel key and the one or more second encrypted second channel keys;
distributing the updated channel list to the participant devices via the network;
2. The method of claim 1 , further comprising:
前記データチャネルを介した前記追加の通信を記憶することと、
をさらに含む、請求項5に記載の方法。 storing the communication via the data channel;
storing the additional communication via the data channel;
6. The method of claim 5 , further comprising:
前記第2のチャネルキーは、前記参加者のうちの前記除外される少なくとも1人が、前記記憶された追加の通信の前記コンテンツにアクセスすることを阻止する、請求項6に記載の方法。 the channel key allows the excluded at least one of the participants to access the content of the stored communication;
7. The method of claim 6 , wherein the second channel key prevents the excluded at least one of the participants from accessing the content of the additional stored communications.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/228,461 | 2018-12-20 | ||
US16/228,461 US11133932B2 (en) | 2018-12-20 | 2018-12-20 | Secure data channel in a networked gaming system |
PCT/US2019/065825 WO2020131530A2 (en) | 2018-12-20 | 2019-12-11 | Secure data channel in a networked gaming system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022514398A JP2022514398A (en) | 2022-02-10 |
JP7397082B2 true JP7397082B2 (en) | 2023-12-12 |
Family
ID=69174579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021535712A Active JP7397082B2 (en) | 2018-12-20 | 2019-12-11 | Secure data channel in network gaming systems |
Country Status (5)
Country | Link |
---|---|
US (1) | US11133932B2 (en) |
EP (1) | EP3897895A2 (en) |
JP (1) | JP7397082B2 (en) |
CN (1) | CN113423480A (en) |
WO (1) | WO2020131530A2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10958705B2 (en) * | 2019-02-27 | 2021-03-23 | Citrix Systems, Inc. | Client computing device providing end-to-end quality of service (QoS) control for software as a service (SaaS) sessions and related methods |
US20230246857A1 (en) * | 2022-01-31 | 2023-08-03 | Zoom Video Communications, Inc. | Video messaging |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000134193A (en) | 1998-10-29 | 2000-05-12 | Fujitsu Ltd | Security buildup method and system |
JP2000196583A (en) | 1998-12-28 | 2000-07-14 | Mitsubishi Materials Corp | Broadcast communication system |
JP2004023237A (en) | 2002-06-13 | 2004-01-22 | Mitsubishi Electric Corp | Encryption communication system, encryption communication method, and program for executing that method on computer |
JP2005277806A (en) | 2004-03-25 | 2005-10-06 | Nec Corp | Group communication system based on presence information, and client apparatus |
JP2005346705A (en) | 2004-05-11 | 2005-12-15 | Microsoft Corp | Multisensory emoticon in communication system |
JP2006217446A (en) | 2005-02-07 | 2006-08-17 | Hitachi Software Eng Co Ltd | Remote conference system |
JP2008124689A (en) | 2006-11-10 | 2008-05-29 | Yamaha Corp | Video conference apparatus and video conference system |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NO169209C (en) * | 1989-12-22 | 1992-05-20 | Alcatel Stk As | PROCEDURE AND SYSTEM FOR ESTABLISHING CONFERENCE CONNECTION. |
US6744894B1 (en) * | 1994-04-01 | 2004-06-01 | Mitsubishi Corporation | Data management system |
US7013389B1 (en) * | 1999-09-29 | 2006-03-14 | Cisco Technology, Inc. | Method and apparatus for creating a secure communication channel among multiple event service nodes |
AU2001257573A1 (en) * | 2000-02-11 | 2001-08-20 | Verimatrix, Inc. | Web based human services conferencing network |
US20020021804A1 (en) * | 2000-02-18 | 2002-02-21 | Ledzius Robert C. | System and method for data encryption |
US20030099360A1 (en) * | 2001-11-28 | 2003-05-29 | Khoi Hoang | Time-based encryption key |
JP2005268903A (en) * | 2004-03-16 | 2005-09-29 | Toshiba Corp | Cryptographic key sharing device, cryptographic key sharing method, program, and communication equipment |
US8266429B2 (en) * | 2004-07-20 | 2012-09-11 | Time Warner Cable, Inc. | Technique for securely communicating and storing programming material in a trusted domain |
US7596690B2 (en) * | 2004-09-09 | 2009-09-29 | International Business Machines Corporation | Peer-to-peer communications |
US20060159269A1 (en) * | 2005-01-20 | 2006-07-20 | Matsushita Electric Industrial Co., Ltd. | Cryptographic system for resource starved CE device secure upgrade and re-configuration |
JP4358239B2 (en) * | 2007-01-10 | 2009-11-04 | 株式会社東芝 | Content providing system, tracking system, content providing method, and unauthorized user identification method |
CN101340443B (en) * | 2008-08-28 | 2014-12-03 | 中国电信股份有限公司 | Session key negotiating method, system and server in communication network |
US8649515B1 (en) * | 2010-02-08 | 2014-02-11 | Trend Micro Incorporated | Controlled sharing of media data that are retrievable over a public computer network |
US8811616B2 (en) * | 2010-04-12 | 2014-08-19 | Flight Focus Pte. Ltd. | Secure aircraft data channel communication for aircraft operations |
US8954740B1 (en) * | 2010-10-04 | 2015-02-10 | Symantec Corporation | Session key proxy decryption method to secure content in a one-to-many relationship |
CA2813758C (en) * | 2010-10-08 | 2023-01-03 | Brian Lee Moffat | Private data sharing system |
US8958559B2 (en) * | 2011-06-03 | 2015-02-17 | Apple Inc. | System and method for secure instant messaging |
WO2013123548A2 (en) * | 2012-02-20 | 2013-08-29 | Lock Box Pty Ltd. | Cryptographic method and system |
US9697378B2 (en) * | 2013-12-13 | 2017-07-04 | International Business Machines Corporation | Network encrypted data object stored on an encrypted file system |
WO2015163736A1 (en) * | 2014-04-25 | 2015-10-29 | Samsung Electronics Co., Ltd. | Methods of providing social network service and server performing the same |
EP2937802B1 (en) * | 2014-04-25 | 2021-03-24 | Samsung Electronics Co., Ltd | Mobile device and method of sharing content |
GB2513260B (en) * | 2014-06-27 | 2018-06-13 | PQ Solutions Ltd | System and method for quorum-based data recovery |
US9130744B1 (en) * | 2014-09-22 | 2015-09-08 | Envelope, Llc | Sending an encrypted key pair and a secret shared by two devices to a trusted intermediary |
KR102395799B1 (en) * | 2015-07-09 | 2022-05-10 | 삼성전자주식회사 | Method and Apparatus for Supporting Secure Chat |
US9843592B2 (en) * | 2015-10-14 | 2017-12-12 | Sony Interactive Entertainment America Llc | Fast multicast messaging encryption and authentication |
US10015150B2 (en) * | 2015-10-15 | 2018-07-03 | Pkware, Inc. | Systems and methods for Smartkey information management |
US10230702B1 (en) * | 2016-08-15 | 2019-03-12 | Bluerisc, Inc. | Encrypting content and facilitating legal access to the encrypted content |
-
2018
- 2018-12-20 US US16/228,461 patent/US11133932B2/en active Active
-
2019
- 2019-12-11 JP JP2021535712A patent/JP7397082B2/en active Active
- 2019-12-11 EP EP19839189.8A patent/EP3897895A2/en active Pending
- 2019-12-11 CN CN201980089949.4A patent/CN113423480A/en active Pending
- 2019-12-11 WO PCT/US2019/065825 patent/WO2020131530A2/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000134193A (en) | 1998-10-29 | 2000-05-12 | Fujitsu Ltd | Security buildup method and system |
JP2000196583A (en) | 1998-12-28 | 2000-07-14 | Mitsubishi Materials Corp | Broadcast communication system |
JP2004023237A (en) | 2002-06-13 | 2004-01-22 | Mitsubishi Electric Corp | Encryption communication system, encryption communication method, and program for executing that method on computer |
JP2005277806A (en) | 2004-03-25 | 2005-10-06 | Nec Corp | Group communication system based on presence information, and client apparatus |
JP2005346705A (en) | 2004-05-11 | 2005-12-15 | Microsoft Corp | Multisensory emoticon in communication system |
JP2006217446A (en) | 2005-02-07 | 2006-08-17 | Hitachi Software Eng Co Ltd | Remote conference system |
JP2008124689A (en) | 2006-11-10 | 2008-05-29 | Yamaha Corp | Video conference apparatus and video conference system |
Also Published As
Publication number | Publication date |
---|---|
WO2020131530A2 (en) | 2020-06-25 |
WO2020131530A3 (en) | 2020-08-20 |
EP3897895A2 (en) | 2021-10-27 |
US20200204368A1 (en) | 2020-06-25 |
CN113423480A (en) | 2021-09-21 |
JP2022514398A (en) | 2022-02-10 |
US11133932B2 (en) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102632062B1 (en) | Anti-Fraud Cloud Gaming Blockchain | |
CN109906107B (en) | Cloud game based on browser | |
US8291218B2 (en) | Creating and using secure communications channels for virtual universes | |
JP6959925B2 (en) | User-stored data management method in cloud gaming | |
US7464272B2 (en) | Server control of peer to peer communications | |
AU2004201602B2 (en) | Method and apparatus for associating game data | |
RU2419222C2 (en) | Secured instant transfer of messages | |
US20100317430A1 (en) | Discovery and Distribution of Game Session Information | |
US11497990B2 (en) | Crowd sourced cloud gaming using peer-to-peer streaming | |
US20170034554A1 (en) | Method of delivering and protecting media content | |
CN108667798A (en) | A kind of method and system of virtual viewing | |
US20190012480A1 (en) | Systems and Method for Retroactive Assignment of Personally Identifiable Information in Distribution of Digital Content | |
JP2022521012A (en) | Transactional memory synchronization | |
US20140280727A1 (en) | Venue-specific amusement device network | |
JP7397082B2 (en) | Secure data channel in network gaming systems | |
WO2019061597A1 (en) | Data processing method and server | |
US11917253B2 (en) | System and method for facilitating a virtual screening | |
US20220286300A1 (en) | Systems and methods to evaluate client device trust in a distributed computing system | |
Contributors | DA 1.3–Advanced Application Requirements and User Behaviours |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210818 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220810 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220920 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20221220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230125 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231002 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20231012 |
|
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: 20231031 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7397082 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |