(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-22
(45)【発行日】2024-07-30
(54)【発明の名称】マルチパート持続性コンテンツを提供するためのシステムおよび方法
(51)【国際特許分類】
H04L 67/14 20220101AFI20240723BHJP
H04L 67/131 20220101ALI20240723BHJP
A63F 13/35 20140101ALI20240723BHJP
A63F 13/69 20140101ALI20240723BHJP
A63F 13/67 20140101ALI20240723BHJP
A63F 13/73 20140101ALI20240723BHJP
G06F 21/33 20130101ALI20240723BHJP
【FI】
H04L67/14
H04L67/131
A63F13/35
A63F13/69
A63F13/67
A63F13/73
G06F21/33
【外国語出願】
(21)【出願番号】P 2022172550
(22)【出願日】2022-10-27
(62)【分割の表示】P 2020519986の分割
【原出願日】2018-11-02
【審査請求日】2022-11-10
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジョン・デュッケリス
(72)【発明者】
【氏名】ツナ・トクソズ
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特開2001-022588(JP,A)
【文献】特開2003-058451(JP,A)
【文献】国際公開第2014/038256(WO,A1)
【文献】国際公開第2013/190881(WO,A1)
【文献】国際公開第2017/165236(WO,A1)
【文献】特表2016-515856(JP,A)
【文献】特開2015-173930(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/00
A63F 13/35
A63F 13/69
A63F 13/67
A63F 13/73
G06F 21/33
(57)【特許請求の範囲】
【請求項1】
マルチパート持続性コンテンツを提供するための方法であって、
クライアントデバイスによって、サーバに、デバイス識別子を求める要求を送信するステップと、
前記クライアントデバイスによって、前記サーバに、
前記デバイス識別子と関連付けてマルチパートコンテンツアイテムを求める第1の要求を
前記デバイス識別子と関連付けて送信するステップと、
前記クライアントデバイスによって、前記サーバから、マルチパートコンテンツアイテムの第1の部分を受信するステップと、
前記クライアントデバイスによって、前記マルチパートコンテンツアイテムの前記第1の部分を、前記クライアントデバイスのディスプレイ上にレンダリングするステップと、
前記クライアントデバイスによって、前記サーバに、認証トークン、および前記マルチパートコンテンツアイテムの実行状態を示す識別情報を送信するステップであって、前記認証トークンが、
前記デバイス識別子を含む、ステップと、
前記サーバに、前記クライアントデバイスによって、前記認証トークンを含む、コンテンツアイテムを求める第2の要求を前記デバイス識別子と関連付けて送信するステップと、
前記クライアントデバイスによって、前記サーバから、前記マルチパートコンテンツアイテムの第2の部分を受信するステップであって、前記第2の部分が、前記サーバによって、前記認証トークン、および前記マルチパートコンテンツアイテムの前記実行状態に基づいて選択される、ステップと、
前記クライアントデバイスによって、前記マルチパートコンテンツアイテムの前記第2の部分を、前記クライアントデバイスの前記ディスプレイ上にレンダリングするステップとを含み、
前記サーバによって
、前記クライアントデバイスの再起動と、または、インターネットサービスへのログインと、の少なくとも1つに応答して、新たなデバイス識別子が設定される
方法。
【請求項2】
前記マルチパートコンテンツアイテムが、ゲームを含み、前記第1の部分および前記第2の部分が、それぞれ、前記ゲームの別のレベルを含む、
請求項1に記載の方法。
【請求項3】
前記マルチパートコンテンツアイテムの前記実行状態が、前記マルチパートコンテンツアイテムの前記第1の部分の完了を示す、
請求項1に記載の方法。
【請求項4】
前記マルチパートコンテンツアイテムの前記第1の部分を受信するステップが、
前記クライアントデバイスによって、前記クライアントデバイスのユーザから、認証クレデンシャルを受領するステップと、
前記クライアントデバイスによって、前記サーバに、前記認証クレデンシャルを送信するステップと、
前記クライアントデバイスによって、前記サーバから、前記認証トークンを受信するステップとをさらに含む、
請求項1に記載の方法。
【請求項5】
前記クライアントデバイスによって、前記サーバに、前記認証トークン、および前記マルチパートコンテンツアイテムの実行状態を示す第2の識別情報を送信するステップであって、前記マルチパートコンテンツアイテムの前記実行状態を示す前記第2の識別情報が、前記マルチパートコンテンツアイテムの実行が完了していることを示す、ステップと、
前記クライアントデバイスによって、前記サーバから、第2のコンテンツアイテムを受信するステップとをさらに含む、
請求項1に記載の方法。
【請求項6】
前記第2のコンテンツアイテムが、前記マルチパートコンテンツアイテムの完了の成功に対する報酬を含み、前記報酬が、前記クライアントデバイスにより実行されるアプリケーションによって使用可能である、
請求項5に記載の方法。
【請求項7】
前記マルチパートコンテンツアイテムの前記第1の部分が、前記クライアントデバイスによって実行される第1のアプリケーションを介して表示され、前記マルチパートコンテンツアイテムの前記第2の部分が、前記クライアントデバイスによって実行される別の第2のアプリケーションを介して表示される、
請求項1に記載の方法。
【請求項8】
マルチパート持続性コンテンツを提供するための方法であって、
サーバによって、クライアントデバイスから、デバイス識別子を求める要求を受信するステップと、
前記サーバによって、前記クライアントデバイスから、マルチパートコンテンツアイテムを求める第1の要求を
前記デバイス識別子と関連付けて受信するステップと、
前記サーバによって、前記クライアントデバイスに、マルチパートコンテンツアイテムの第1の部分を送信するステップと、
前記サーバによって、前記クライアントデバイスから、認証トークン、および前記マルチパートコンテンツアイテムの実行状態を示す識別情報を受信するステップであって、前記認証トークンが、
前記デバイス識別子を含む、ステップと、
前記サーバによって、前記認証トークンと前記マルチパートコンテンツアイテムの前記実行状態との間の関連を、前記サーバのデータベース内に記憶するステップと、
前記サーバによって、前記クライアントデバイスから、コンテンツアイテムを求める第2の要求を
前記デバイス識別子と関連付けて受信するステップであって、前記第2の要求が、前記認証トークンを含む、ステップと、
前記サーバによって、前記マルチパートコンテンツアイテムの第2の部分を、前記データベース内に記憶されている前記認証トークンと前記マルチパートコンテンツアイテムの前記実行状態との間の前記関連に基づいて選択するステップと、
前記サーバによって、前記クライアントデバイスに、前記マルチパートコンテンツアイテムの前記選択された第2の部分を送信するステップとを含み、
前記サーバによって
、前記クライアントデバイスの再起動と、または、インターネットサービスへのログインと、の少なくとも1つに応答して、新たなデバイス識別子が設定される
方法。
【請求項9】
前記マルチパートコンテンツアイテムが、ゲームを含み、前記第1の部分および前記第2の部分が、それぞれ、前記ゲームの別のレベルを含む、
請求項8に記載の方法。
【請求項10】
前記マルチパートコンテンツアイテムの前記実行状態が、前記マルチパートコンテンツアイテムの前記第1の部分の完了を示す、
請求項8に記載の方法。
【請求項11】
前記マルチパートコンテンツアイテムの前記第1の部分を送信するステップが、
前記サーバによって、前記クライアントデバイスから認証クレデンシャルを受信するステップと、
前記サーバによって、前記認証クレデンシャルの妥当性検証をするステップと、
前記サーバによって、前記認証トークンを前記クライアントデバイスに送信するステップとをさらに含む、
請求項8に記載の方法。
【請求項12】
前記サーバによって、前記クライアントデバイスから、前記認証トークン、および前記マルチパートコンテンツアイテムの実行状態を示す第2の識別情報を受信するステップと、
前記サーバによって、前記認証トークンと前記マルチパートコンテンツアイテムの第2の実行状態との間の関連を記憶するステップと、
前記サーバによって、前記マルチパートコンテンツアイテムの前記実行状態を示す前記第2の識別情報が、前記マルチパートコンテンツアイテムの実行が完了していることを示すとの判定をするステップと、
前記サーバによって、前記クライアントデバイスに、第2のコンテンツアイテムを送信するステップとをさらに含む、
請求項8に記載の方法。
【請求項13】
前記第2のコンテンツアイテムが、前記マルチパートコンテンツアイテムの完了の成功に対する報酬を含み、前記報酬が、前記クライアントデバイスにより実行されるアプリケーションによって使用可能である、
請求項12に記載の方法。
【請求項14】
前記マルチパートコンテンツアイテムの前記第1の部分が、前記クライアントデバイスによって実行される第1のアプリケーションを介して表示され、前記マルチパートコンテンツアイテムの前記第2の部分が、前記クライアントデバイスによって実行される別の第2のアプリケーションを介して表示される、
請求項8に記載の方法。
【請求項15】
マルチパート持続性コンテンツを提供するためのシステムであって、
サーバと通信するネットワークインターフェースと、第1のアプリケーションを実行するプロセッサとを備える、クライアントデバイスを備え、前記第1のアプリケーションが、
前記サーバに、デバイス識別子を求める要求を送信す
ることと、
前記サーバに、マルチパートコンテンツアイテムを求める第1の要求を
前記デバイス識別子と関連付けて送信すること
と、
前記サーバから、マルチパートコンテンツアイテムの第1の部分を受信すること
と、
前記マルチパートコンテンツアイテムの前記第1の部分を、前記クライアントデバイスのディスプレイ上にレンダリングすること
と、
前記サーバに、認証トークン、および前記マルチパートコンテンツアイテムの実行状態を示す識別情報を送信することであって、前記認証トークンが、
前記デバイス識別子を
含む、送信することと、
前記サーバに、前記認証トークンを含む、コンテンツアイテムを求める第2の要求を
前記デバイス識別子と関連付けて送信すること
と、
前記サーバから、前記マルチパートコンテンツアイテムの第2の部分を受信することであって、前記第2の部分が、前記サーバによって、前記認証トークン、および前記マルチパートコンテンツアイテムの前記実行状態に基づいて選択される、受信することと
、
ならびに、
前記マルチパートコンテンツアイテムの前記第2の部分を、前記クライアントデバイスのディスプレイ上にレンダリングすること
であって、前記クライアントデバイスの再起動と、または、インターネットサービスへのログインと、の少なくとも1つに応答して新たなデバイス識別子が前記サーバによって設定される、レンダリングすることと、を行うように構成される、
システム。
【請求項16】
前記マルチパートコンテンツアイテムが、ゲームを含み、前記第1の部分および前記第2の部分が、それぞれ、前記ゲームの別のレベルを含む、
請求項15に記載のシステム。
【請求項17】
前記マルチパートコンテンツアイテムの前記実行状態が、前記マルチパートコンテンツアイテムの前記第1の部分の完了を示す、
請求項15に記載のシステム。
【請求項18】
前記第1のアプリケーションが、
前記サーバに、前記認証トークン、および前記マルチパートコンテンツアイテムの実行状態を示す第2の識別情報を送信することであって、前記マルチパートコンテンツアイテムの実行状態を示す前記第2の識別情報が、前記マルチパートコンテンツアイテムの実行が完了していることを示す、送信すること、ならびに、
前記サーバから、第2のコンテンツアイテムを受信することを行うようにさらに構成される、
請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、マルチパート持続性コンテンツを提供するためのシステムおよび方法を提供する。
【背景技術】
【0002】
対話型コンテンツやアプリケーションプレビューなどのコンテンツアイテムが、クライアントコンピューティングデバイスに提供され得る。しかし、そのようなコンテンツアイテムは、単一の自己完結型アイテムに限定され得る。コンテンツアイテムは、クライアントコンピューティングデバイスのユーザに複数回提示されてもよいが、それにより、ユーザのそのコンテンツアイテムに対する不満またはディスエンゲージメントが高まることがある。
【発明の概要】
【課題を解決するための手段】
【0003】
本明細書において論じるシステムおよび方法は、異なるアプリケーションを介した提示を含む複数の提示にわたって状態を維持することのできる、マルチパート持続性コンテンツの提供を可能にするものである。1つのそのような実装形態では、ビデオゲームの第1のレベルなど、コンテンツアイテムの第1の部分がクライアントデバイスに提供され得、クライアントデバイスはそのゲームと対話することができる。ゲームの状態または第1の部分の完了を示す識別情報が、コンテンツサーバに提供され得、コンテンツサーバは、デバイスまたはユーザと実行状態との関連を記憶することができる。後のある時点で、記憶された関連に基づいて、ゲームの第2のレベルなど、コンテンツアイテムの第2の部分がクライアントデバイスに提供され得る。このため、コンテンツアイテムとのユーザの実際の対話に基づいてコンテンツアイテムをユーザに提供することが可能になり、それにより、同じコンテンツを複数回再送信する必要を防ぐことができる。したがって、これにより、コンテンツアイテムの提供において使用されるコンピュータ計算リソースおよび帯域幅リソースが低減し得る。
【0004】
1つまたは複数の実装形態の詳細については、添付の図面および下の説明中に記載されている。本開示の他の特徴、態様、および利点が、その説明、図面、および特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【0005】
【
図1A】いくつかの実装形態によるマルチパート持続性コンテンツアイテムの一例の図である。
【
図1B】いくつかの実装形態によるマルチパート持続性コンテンツアイテムの一例の図である。
【
図1C】いくつかの実装形態による例示的な状態関連データベースの図である。
【
図2】マルチパート持続性コンテンツ用のコンピューティングデバイスの実装形態を示すブロック図である。
【
図3】マルチパート持続性コンテンツを提供するための方法の一実装形態を示すフローチャートである。
【発明を実施するための形態】
【0006】
さまざまな図面中の同様の参照番号および名称は、同様の要素を示す。
【0007】
対話型コンテンツやアプリケーションプレビューなどのコンテンツアイテムが、クライアントコンピューティングデバイスに提供され得る。しかし、そのようなコンテンツアイテムは、単一の自己完結型アイテムに限定され得る。例えば、コンテンツアイテムには、単純な対話型ゲームの、ダウンロードするかそれともゲーム全体を購入するかのオプションを伴うプレビューが含まれ得る。しかし、ゲームプレビューの状態は、プレビューの提示と提示との間に保存されないことがあり、新たな各提示時に、ユーザは開始レベルから開始し直さなければならないことがある。コンテンツアイテムは、クライアントコンピューティングデバイスのユーザに複数回提示されてもよいが、それにより、ユーザのそのコンテンツアイテムに対する不満またはディスエンゲージメントが高まることがある。
【0008】
それにもかかわらず、パブリッシャはユーザと、ユーザが関心を持ち続け、コンテンツとエンゲージし続けるような形で複数回エンゲージしたいと考えている。オフラインの文脈では、これは時に、顧客が購入のたびにトークンを受領し、賞を勝ち取るためにトークンのセットをマッチさせなければならない、トークンベースのゲームによって成し遂げられることがある。しかしこれは、対話型コンテンツによるオンラインの文脈にはうまく通用しない。
【0009】
そうではなく、本明細書において論じるシステムおよび方法は、異なるアプリケーションを介した提示を含む複数の提示にわたって状態を維持することのできる、マルチパート持続性コンテンツの提供を可能にするものである。1つのそのような実装形態では、ビデオゲームの第1のレベルなど、コンテンツアイテムの第1の部分がクライアントデバイスに提供され得、クライアントデバイスはそのゲームと対話することができる。ゲームの状態または第1の部分の完了を示す識別情報が、コンテンツサーバに提供され得、コンテンツサーバは、デバイスまたはユーザと実行状態との関連を記憶することができる。後のある時点で、記憶された関連に基づいて、ゲームの第2のレベルなど、コンテンツアイテムの第2の部分がクライアントデバイスに提供され得る。このため、エンゲージメントを向上させるとともに反復的な提示を低減しながら、コンテンツパブリッシャが対話型コンテンツを用いてユーザに複数回接触することが可能になり得る。コンテンツアイテムがアプリケーションまたはゲームのプリビューであるいくつかの実装形態では、状態が保存されて、ダウンロード時にアプリケーションまたはゲームに転送され得る。例えば、ゲームの複数のレベルをプリビューとして複数のセッションにわたってクライアントデバイスに提供した後で、ユーザがゲーム全体をダウンロードすることを選択した場合、状態はダウンロードされたゲームに転送され得、それによって、ユーザは、プレビューの間に達成されたレベルから再生を再開することができるようになる。
【0010】
図1Aおよび
図1Bは、いくつかの実装形態によるマルチパート持続性コンテンツアイテムの一例の図である。図示のようないくつかの実装形態では、コンテンツアイテム102a~102bが、アプリケーション100a、100b内にポップアップウィンドウとして表示され得る。図示のように、アプリケーション100a、100bは、任意のタイプおよび形態のアプリケーションであってよく、同じアプリケーションである必要はない。例えば、一実装形態では、第1のアプリケーションがウェブブラウザを含んでよく、一方、第2のアプリケーションがメディアプレーヤを含んでよい。ポップアップウィンドウとして図示されているが、多くの実装形態では、コンテンツアイテム102a、102bは、ウェブページもしくは他のアプリケーション上のフレーム内のバナー、インタースティシャル(interstitial)コンテンツ、プレロールコンテンツもしくはポストロールコンテンツ、または他の任意のタイプおよび形態のコンテンツ提示を介して、提供され得る。
【0011】
図1Aおよび
図1Bの例では、コンテンツアイテム102a、102bは、対話型ゲームの連続したレベルである。ゲームは、別々の部分として、例えば第1のレベルに対応する第1の部分、および第2のレベルに対応する第2の部分として、提供され得る。これにより、各コンテンツアイテムについて、ゲーム全体ではなくゲームの一部分のみがダウンロードされればよいため、ダウンロード要件およびストレージ要件が低減し得る。複雑なゲーム、アプリケーションのプレビュー、またはテレビ番組や映画などのメディアアイテムでは、これが帯域幅およびストレージの大幅な節約に相当し得る。例えば、半時間のテレビ番組であるコンテンツアイテムを考えると、連続する30秒クリップなどの短い部分が、複数のインタースティシャルコンテンツアイテムまたはプレロールコンテンツアイテムもしくはポストロールコンテンツアイテムとして、クライアントデバイスに提供され得る。これは、魅惑的でエンゲージ性がある(engaging)可能性のあるプレビューをユーザに提供する間にダウンロードされるデータ量の60:1の低減に相当し得る。帯域幅およびストレージの同様の節約が、他のコンテンツの場合にも達成され得る。例えば、ゲームの単一のレベルは、ゲーム全体の場合の数百メガバイトのサイズに比べて、数メガバイトのサイズになり得る。
【0012】
図示のように、多くの実装形態では、コンテンツアイテム102a、102bは、対応するコンテンツアイテム(例えばアプリケーション全体、テレビ番組、もしくは他のそのようなコンテンツ)または関連するコンテンツをユーザがダウンロードまたは購入できるようにする、リンク、ボタン、または他の要素を含むことができる。図示のようないくつかの実装形態では、コンテンツアイテム102a、102bは、コンテンツアイテムの部分の提示を消去(dismiss)またはスキップするためのボタン(例えばスキップボタン)を含むこともできる。いくつかの実装形態では、ユーザがコンテンツアイテムを消去またはスキップしたときのコンテンツアイテムの状態が、コンテンツプロバイダに提供され得る。いくつかの実装形態では、消去された状態とは、コンテンツプロバイダが、クライアントデバイスからのコンテンツを求める後続の要求に応答して、コンテンツアイテムの、後続の部分ではなく同じ部分を提供することができる、ということを意味することができ、一方、他の実装形態では、消去された状態とは、例えばユーザが第1のコンテンツアイテムに関心がない場合に、コンテンツプロバイダが、全く異なるコンテンツアイテムを提供することができる、ということを意味することができる。
【0013】
コンテンツアイテムの消去またはスキップに応答して、かつ/またはコンテンツアイテムの部分の完了(例えばレベルの完了、ビデオクリップの鑑賞の完了、アプリケーションプレビューの所定の時間にわたる利用など)に応答して、コンテンツアイテムの状態がコンテンツプロバイダに、デバイスまたはユーザの識別子とともに提供され得る。コンテンツアイテムの状態は、完了部分、実行状態、再生時間と、または他のそのような用語で、さまざまに呼ばれることがある。いくつかの実装形態では、コンテンツアイテムの状態を示す識別情報は、離散的(granular)(例えば、ユーザがレベルまたはメディアセグメントを完了したかどうかなど、コンテンツアイテムの部分の境界に限定的)とすることができ、一方、他の実装形態では、コンテンツアイテムの状態を示す識別情報は、連続的(例えば、メディアセグメントにおける再生時間、ゲームの再生の間に獲得した得点、経過利用秒数など)とすることができる。コンテンツアイテムの状態は、ゲーム中に収集されたコインなど、時間またはコンテンツアイテムの進行以外の他の識別子を含むことができる。コンテンツアイテムの状態は、RESTful要求内のパラメータ(例えば、状態に対応するパラメータ-値のペアを含むHTTP POSTもしくはGET要求)を介して、リモートプロシージャコールを介して、または他の任意のそのような手段を介してなど、任意の適切な手段を介して、コンテンツプロバイダに通信され得る。いくつかの実装形態では、状態を示す識別情報は、伝送制御プロトコルヘッダのオプションフィールド内など、ネットワークパケットの任意のプロトコルレイヤ内に含められ得る。これにより、パケットを受信して解釈するための処理要件が低減するか、または(例えばアプリケーションレイヤヘッダを含めないことによって)パケットサイズが低減し得る。
【0014】
クライアントデバイスはコンテンツプロバイダに、コンテンツアイテムの実行状態と関連付けて記憶されるデバイスまたはユーザの識別子も提供することができる。識別子は、デバイス識別子、ユーザ識別子、アカウント名、または他のそのような識別子を含むことができる。いくつかの実装形態では、識別子は、認証サーバまたはコンテンツプロバイダサーバを相手にした認証要求に応答して(例えば、ユーザクレデンシャルまたはデバイスクレデンシャルの妥当性検証時に)受信された、認証トークンを含むことができる。
【0015】
図1Cは、いくつかの実装形態による例示的な状態関連データベースまたはデバイス-状態データベース120の図である。いくつかの実装形態では、データベース120は、フラットファイル、データアレイ、リレーショナルデータベース、または他のそのようなデータベースを備えることができ、ユーザまたはデバイス識別子122と、マルチパートコンテンツ124と、コンテンツの実行状態126との間の関連を記憶することができる。図示の実装形態では、識別子は、英数字列または数字列を含むことができ、状態126が、コンテンツアイテムにおける所定の状態(例えばレベルの完了、獲得した点数、プレイした秒など)を表す。他の実装形態では、データベースは、XMLデータなど、動的に定義されるフィールドを含むことができ、状態126は、状態定義(例えば、<score>1200</score>、<playback time (seconds)>30</playback time>、<level>2</level>など)を含むことができる。
【0016】
多くの実装形態では、時に認証クレデンシャルまたは認証トークンと呼ばれることもあるユーザまたはデバイス識別子122が、デバイス情報またはユーザ情報から生成された英数字ハッシュ値を含むことができる。ハッシュ値は、データベース120内の任意のユーザ情報またはデバイス情報を露出させないことによりプライバシを保護し、セキュリティを向上させるために使用され得る。同様に、多くの実装形態では、コンテンツ識別子は、英数字ハッシュ値、コンテンツアイテムのユニフォームリソース識別子(URI)、コンテンツアイテムの名称、および/またはコンテンツタイプ、ジャンル、パブリッシャ、もしくは他のメタデータなど、他の情報を含むことができる。
図1Cの例には3つのフィールドしか示していないが、多くの実装形態では、このメタデータまたは他のメタデータを収容するために、多くの追加フィールドが利用されてよい。デバイス識別子と名付けられているが、多くの実装形態では、データベースへのエントリは、複数のデバイス(例えばユーザのデスクトップコンピュータ、スマートフォン、およびタブレットコンピュータ)にわたって一貫したユーザアカウントまたは他の識別子と関連付けられ得る。したがって、マルチパートコンテンツアイテムの第1の部分が、ユーザの第1のデバイスを介して提供され得、マルチパートコンテンツアイテムの第2の部分が、後に、ユーザの第2のデバイスを介して提供され得る。
【0017】
図示のように、多くの実装形態では、デバイス識別子は、複数のコンテンツアイテムおよび対応する実行状態と関連付けられ得る。これにより、異なるマルチパートコンテンツアイテムを、異なるアプリケーションまたは他のコンテンツと関連付けて提示することが可能になり得る。例えば、1つのそのような実装形態では、ビデオゲームを含む第1のマルチパートコンテンツアイテムが、別の関連するゲームアプリケーションのレベルとレベルとの間のインタースティシャルコンテンツとして提示され得る。テレビ番組を含む第2のマルチパートコンテンツアイテムが、別の類似のテレビ番組のエピソード後に、短いポストロールメディアクリップとして提示され得る。両状態は同時に維持され得、それによって、ユーザは最初に、ゲームアプリケーションをプレイして、第1のマルチパートコンテンツアイテムの部分を受信することができ、次いで、テレビ番組のエピソードを鑑賞して、第2のマルチパートコンテンツアイテムの部分を受信することができ、次いで、ゲームアプリケーションに戻って、第1のマルチパートコンテンツアイテムの第2の部分を受信することができる。したがって、任意のデバイスおよび/またはユーザと関連付けられるコンテンツアイテムおよび状態の数を限定する必要はない。
【0018】
図2は、マルチパート持続性コンテンツ用のコンピューティングデバイスの実装形態を示すブロック図である。図示のように、1つまたは複数のクライアントデバイス250が、状態情報およびマルチパートコンテンツアイテムをやりとりするために、1つまたは複数のコンテンツサーバ252と、1つまたは複数のネットワーク254を介して通信することができる。
【0019】
クライアントデバイス250は、クライアント、デバイス、クライアントデバイス、コンピューティングデバイス、ユーザデバイス、または他の任意のそのような用語と、さまざまに呼ばれることがあり、デスクトップコンピュータ、ラップトップコンピュータ、ポータブルコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、組込みコンピュータ、スマートテレビ、コンソール、モノのインターネット(IoT)デバイスもしくはスマートアプライアンス、または他の任意のタイプおよび形態のコンピューティングデバイスを含む、任意のタイプおよび形態のコンピューティングデバイスを備えることができる。
【0020】
多くの実装形態では、クライアントデバイス250は、プロセッサ200およびメモリ206を含む。メモリ206は、プロセッサ200によって実行されるとプロセッサ200に本明細書において説明する動作のうちの1つまたは複数を実施させる機械命令を記憶することができる。プロセッサ200は、マイクロプロセッサ、ASIC、FPGAなど、またはそれらの組合せを含むことができる。多くの実装形態では、プロセッサ200は、マルチコアプロセッサまたはプロセッサアレイとすることができる。メモリ206は、それに限定されないが、プロセッサ200にプログラム命令を提供することの可能な、電子記憶デバイス、光学記憶デバイス、磁気記憶デバイス、または他の任意の記憶デバイスを含むことができる。メモリ206は、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ROM、RAM、EEPROM、EPROM、フラッシュメモリ、光学式媒体、またはプロセッサ200がそこから命令を読み取ることのできる他の任意の適切なメモリを含むことができる。命令は、それらに限定されないが、C、C++、C#、Java、JavaScript、Perl、HTML、XML、Python、およびVisual Basicなど、任意の適切なコンピュータプログラミング言語によるコードを含むことができる。
【0021】
クライアントデバイス250は、1つまたは複数のネットワークインターフェース202を含むことができる。ネットワークインターフェース202は、10 Base T、100 Base T、もしくは1000 Base T(「ギガビット」)を含むイーサネット、802.11a、802.11b、802.11g、802.11n、もしくは802.11acなど、各種802.11ワイヤレスのいずれか、CDMAセルラ、LTEセルラ、3Gセルラ、もしくは4Gセルラを含むセルラ、ブルートゥース(登録商標)もしくは他の短距離ワイヤレス接続、またはネットワークと通信するためのこれらのインターフェースもしくは他のインターフェースの任意の組合せを含む、任意のタイプおよび形態のインターフェースを含むことができる。多くの実装形態では、クライアントデバイス250は、異なるタイプの複数のネットワークインターフェース202を含み、それによって、例えばインターネットなど、多様なネットワークへの、異なるサブネットワークを介した接続を可能にすることができる。
【0022】
クライアントデバイス250は、1つまたは複数のユーザインターフェースデバイス204を含むことができる。ユーザインターフェースデバイス204は、感覚情報(例えばディスプレイ上の視覚化物、1つもしくは複数の音、触覚フィードバックなど)を生成することによってユーザにデータを伝達し、かつ/またはユーザから受領した感覚情報を電子信号に変換する、任意の電子デバイス(例えばキーボード、マウス、ポインティングデバイス、タッチスクリーンディスプレイ、マイクロホンなど)とすることができる。1つまたは複数のユーザインターフェースデバイスは、さまざまな実装形態に従って、内蔵ディスプレイ、タッチスクリーン、マイクロホンなど、クライアントデバイス250のハウジングの内部にあってもよく、クライアントデバイス250に接続されたモニタ、クライアントデバイス250に接続されたスピーカなど、クライアントデバイス250のハウジングの外部にあってもよい。
【0023】
クライアントデバイス250は、一般にアプリケーション100と呼ぶ1つまたは複数のアプリケーション100a、100bをメモリ206内に含むこともでき、あるいはプロセッサ200を用いてアプリケーション100を実行することもできる。アプリケーション100は、コンテンツを受信し、かつコンテンツをクライアントデバイスの出力インターフェース204(例えばディスプレイ、スピーカなど)を介して表示するかまたはその他の形で出力するための、アプリケーション、アプレット、スクリプト、サービス、デーモン、ルーチン、または他の実行可能ロジックとすることができる。いくつかの実装形態では、アプリケーション100は、ウェブブラウザ、メールクライアント、ビデオプレーヤ、音楽プレーヤ、ビデオゲーム、または他の任意のそのようなアプリケーションとすることができる。アプリケーション100は、ネットワークインターフェース202を介して受信した、かつ/またはプロセッサ200によってローカルに生成されたコンテンツを表示するための、機能性を含むことができる。いくつかの実装形態では、アプリケーション100は、メディアプレーヤとすることもでき、あるいはウェブブラウザ内のプラグインメディアプレーヤやネイティブメディアプレーヤなどの組込みメディアプレーヤを含むこともできる。そのようなアプリケーション100は、コマンドラインインターフェース、グラフィカルユーザインターフェース、またはこれらのインターフェースもしくは他のインターフェースの任意の組合せを含むことができる。
【0024】
さらに、いくつかの実装形態では、アプリケーション100は、第2のアプリケーションに関連して実行されるエージェントを備えることができる。例えば、アプリケーション100aは、ウェブブラウザアプリケーションによって実行されるプラグイン、デーモン、サブルーチン、または他の実行可能なロジックを備えることができる。そのような実装形態では、第2のアプリケーションは、実行状態情報をコンテンツサーバに提供するように構成される必要がなく、その代わりに、第1のアプリケーションまたはエージェントが、第2のアプリケーション内で、または第2のアプリケーションによってレンダリングされる、マルチパートコンテンツのためのそのような状態情報を提供することができてよい。
【0025】
クライアントデバイス250は、ユーザまたはデバイス識別子208を含むか、またはそれを用いて識別され得る。デバイス識別子208は、英数字列、データ列、シリアル番号、メディアアクセス制御(MAC)アドレス、インターネットプロトコル(IP)アドレス、ユーザ名もしくはアカウント名、グローバル一意識別子(GUID)、クッキー、ランダム数もしくは疑似ランダム数、またはこれらの識別子もしくは他の識別子の組合せを含む、他の任意のタイプおよび形態の識別子とすることができる。いくつかの実装形態では、デバイス識別子208は、製造者シリアル番号やMACアドレスなど、デバイスに固定であるかまたはデバイス内に予め構成され得、一方、他の実装形態では、デバイス識別子208は、コンテンツプロバイダ、ストリーミングサーバ、アプリケーション100、またはクッキーやユーザ名などの他のエンティティによって、動的に設定され得る。いくつかの実装形態では、一意のまたは新たなデバイス識別子208が、コンテンツプロバイダまたは認証サーバ110への通信ごとに設定され得、一方、他の実装形態では、デバイス識別子208は変更することができないか、または定期的に(例えば毎時、毎日、毎週など)もしくは他の間隔で(例えばクライアントデバイスの再起動時、インターネットサービスへのログイン時などに)変更され得る。いくつかの実装形態では、デバイス識別子208は、1つまたは複数の他のデバイス識別子208(例えばモバイルデバイスのデバイス識別子、家庭用コンピュータのデバイス識別子など)と関連付けられ得る。多くの実装形態では、上で論じたように、デバイス識別子208は認証サーバによって、生成されかつ/またはデバイス250に送信され得る。他の実装形態では、上で論じたように、クライアント250は、認証サーバ110にデバイス識別子を要求することができ、またデバイス識別子を、コンテンツまたはアプリケーションパラメータを求める要求と関連付けて、認証サーバ110に送信することができる。
【0026】
クライアントデバイス250は、ユーザクレデンシャル210を含むことができる。ユーザクレデンシャル210は、ユーザ名、パスワード、アカウント名、アカウント識別子、パスフレーズ、指紋、顔スキャンデータ、網膜情報、もしくは声紋などの生体認証データ、または他の任意のタイプおよび形態のユーザ固有の情報を含む、任意のタイプおよび形態の識別子またはクレデンシャルとすることができる。多くの実装形態では、クライアントデバイス250は、アプリケーション100またはクライアントデバイス250のオペレーティングシステムによるログインプロンプトの表示に応答して、ユーザクレデンシャルを受領することができる。いくつかの実装形態では、クライアントデバイス250は、ユーザクレデンシャルを一時的に、例えばアプリケーションの実行の間、または所定の時間期間にわたって、記憶することができる。例えば、1つのそのような実装形態では、ユーザは、第1のアプリケーション100aを実行し、アプリケーションにクレデンシャルを提供することができ、このクレデンシャルは、デバイスのメモリ206内に記憶され得る。後に、ユーザは、第2のアプリケーション100bを利用することができ、第2のアプリケーション100bは、メモリからユーザクレデンシャル210を取り出して、そのユーザクレデンシャルを認証サーバまたはコンテンツサーバ252に提供することができる。多くの実装形態では、ユーザクレデンシャル210は、ユーザのプライバシおよびセキュリティを保護するために、暗号化、ハッシュ化、またはその他の形で難読化され得る。多くの実装形態では、ユーザクレデンシャルはコンテンツサーバ252に、次の認証プロセスを介して提供され得る。ユーザクレデンシャル、またはユーザクレデンシャルのハッシュが、コンテンツサーバ252に提供され得、コンテンツサーバ252は、そのハッシュまたはクレデンシャルを、サーバのデータベース内のものと照合することができ、照合を確認すると、コンテンツサーバ252は、そのユーザまたはデバイスが認可されているかまたは認証済みである(authentic)と判定することができ、認可トークン、またはデバイスが認可されていることを示す他のデータをもって、応答することができる。デバイスは認証トークンを、サードパーティのサーバ、アプリケーション、または
他のエンティティと共同で利用することができる。
【0027】
クライアントデバイス250は、コンテンツサーバ252と、1つまたは複数のネットワーク254を介して通信することができる。ネットワーク254は、ローカルエリアネットワーク(LAN)、インターネットなどの広域ネットワーク(WAN)、衛星ネットワーク、ケーブルネットワーク、ブロードバンドネットワーク、光ファイバネットワーク、マイクロ波ネットワーク、セルラネットワーク、ワイヤレスネットワーク、またはこれらのネットワークもしくは他のそのようなネットワークの任意の組合せを含む、任意のタイプおよび形態のネットワークを備えることができる。ネットワーク254は、同じタイプのネットワークでもよく、異なるタイプでもよく、ゲートウェイ、モデム、ファイアーウォール、ルータ、スイッチなどを含む、複数の追加デバイス(図示せず)を含むことができる。ネットワーク254は、ネットワーク内のデータを受信および/または送信するように構成された、任意数のコンピューティングデバイス(例えばコンピュータ、サーバ、ルータ、ネットワークスイッチなど)を含むこともできる。ネットワーク254はさらに、任意数の有線接続および/またはワイヤレス接続を含むことができる。クライアントデバイス250は、ネットワーク内の他のコンピューティングデバイスに(例えば光ファイバケーブル、CAT5ケーブルなどを介して)有線接続されたトランシーバと、(例えばWiFi、セルラ、無線などを介して)ワイヤレスで通信することができる。いくつかの実装形態では、ネットワーク254は、単一の物理的なマシンによって実行される複数の仮想マシン間の仮想ネットワークなどの仮想ネットワークであってもよく、物理的に移動可能な媒体を介したデータのオフラインでの移動(例えばテープ媒体、CD-ROM、フラッシュメディア、外付けハードドライブ、フロッピーディスクなどを介してデータを移動させるスニーカーネット)などの抽象的なネットワークであってもよい。
【0028】
やはり
図2に示すのは、コンテンツサーバ252の一実装形態のブロック図である。クライアントデバイス250と同様に、コンテンツサーバ252も、1つまたは複数のプロセッサ200、メモリまたは記憶デバイス206、ネットワークインターフェース202、およびユーザインターフェース204を含むことができる。ヘッドレスサーバと呼ばれるいくつかの実装形態では、コンテンツサーバ252は、ユーザインターフェース204を含まないことがあるが、クライアント250、またはユーザインターフェース204を備えた他のデバイスと、ネットワーク254を介して通信することができる。いくつかの実装形態では、メモリ206は、コンテンツを配信するかまたはクライアントがコンテンツプロバイダにおけるコンテンツにアクセスできるようにするリダイレクションコマンドを配信するための、FTPサーバ、ウェブサーバ、メールサーバ、ファイル共有サーバ、ピアツーピアサーバ、または他のそのようなアプリケーションを含む、サーバのプロセッサ200によって実行するための1つまたは複数のアプリケーションを記憶することができる。コンテンツサーバ252は、デスクトップコンピュータ、サーバ、ワークステーション、ラップトップコンピュータ、ポータブルコンピュータ、組込みコンピュータ、または他の任意のタイプおよび形態のコンピューティングデバイスを含む、任意のタイプおよび形態のコンピューティングデバイスを備えることができる。多くの実装形態では、コンテンツサーバ252は、1つまたは複数の物理的なコンピューティングデバイスによって実行され、デバイスのサーバファーム、クラスタ、またはクラウドとして構成することのできる、1つまたは複数の仮想マシンを備えることができる。
【0029】
コンテンツサーバ252は、一般にコンテンツアイテム102と呼ぶ1つまたは複数のコンテンツアイテム102a、102bを、クライアントデバイス250による取り出しおよびインストールができるように記憶する、コンテンツストレージ212を含むことができる。コンテンツアイテム102は、上で論じたようにURIまたはURLまたは他のアプリケーション識別子によって識別され得、ダウンロードおよび実行のために、圧縮、暗号化、またはその他の形でパッケージ化され得る。多くの実装形態では、コンテンツアイテム102は、複数のパートまたは部分を有することもでき、あるいは複数の関連するコンテンツアイテム102(例えば複数のメディアセグメント、ゲームの複数のレベルなど)に分割することもできる。コンテンツアイテム102は、多くの実装形態では、明確な提示順序を有することができる(例えばレベル2がレベル1の後であり、レベル3がレベル2の後であり、または第1のメディアクリップの後に第2のメディアクリップが続くなど)。この提示順序は、コンテンツアイテムのメタデータ内、または個別のプレイリストもしくはマニフェスト内に表され得る。
【0030】
コンテンツサーバ252は、コンテンツセレクタ214を備えるかまたは実行することができる。コンテンツセレクタ214は、クライアントデバイス250から認証クレデンシャルまたは認証トークンを受信するための、かつデバイス-状態データベース120内のユーザクレデンシャルおよびコンテンツアイテムと関連付けられたマルチパートコンテンツアイテム102の部分を選択するための、アプリケーション、サーバ、サービス、デーモン、ルーチン、または他の実行可能なロジックを備えることができる。上で論じたように、デバイス-状態データベース120は、デバイス識別子208またはユーザ識別子(例えば識別子122)をコンテンツアイテム102および状態126と関連付けることの可能な、データベース、フラットファイル、リレーショナルデータベース、アレイ、または他の構造を含む、任意のタイプおよび形態のデータストレージを備えることができる。多くの実装形態では、各エントリまたは関連がさらに、期限終了時間または持続時間と関連付けられ得る。持続時間または期限終了時間の期限終了後、対応する関連またはエントリが除去され得、それによって、マルチパートコンテンツの状態が「タイムアウトする」または期限終了になることが可能になる。
【0031】
図3は、マルチパート持続性コンテンツを提供するための方法の一実装形態を示すフローチャートである。ステップ300において、クライアントデバイス250が、コンテンツサーバ252に、コンテンツアイテムを要求することができる。多くの実装形態では、コンテンツアイテムを求める要求は、マルチパートコンテンツアイテムを指定しない場合があり、コンテンツサーバは、例えばクライアントデバイスが認証され得るか、それともクライアントデバイスが有効なクレデンシャルを提供していないかに基づいて、マルチパートコンテンツアイテムまたはシングルパートコンテンツアイテムをもって応答することができる。したがって、要求は、多くの実装形態では、コンテンツアイテムの任意の特定のパラメータを指定しない場合がある。多くの実装形態では、例えば、デバイスが以前に認証されていた場合、クライアントデバイスはコンテンツサーバ252に認証トークンを、要求とともに、または認証トークンを求める後の要求に応答して、提供することができる。
【0032】
ステップ302において、コンテンツサーバ252は、デバイスが認証されているかどうかを判定することができる。いくつかの実装形態では、上で論じたように、コンテンツサーバは、認証トークンを要求とともに受信することができる。トークンが有効である場合、コンテンツサーバは、ステップ308にスキップして、コンテンツアイテムを選択することができる。トークンが有効ではない場合、いくつかの実装形態では、コンテンツサーバは、ステップ304において、認証クレデンシャルを求める要求を送信することができる。クライアントデバイスは、ステップ306において、認証トークンを取り出して提供することもでき、あるいはコンテンツサーバまたは認証サーバによって認証されるべきクレデンシャルを取り出して提供(し、次に認証トークンを受信)することもできる。認証クレデンシャルを取り出すことは、以前に入力されたクレデンシャルを取り出すこと、またはユーザからクレデンシャルを受領すること(例えばユーザ名およびパスワード、生体認証データなど)を含むことができる。いくつかの実装形態では、上で論じたように、デバイスが認証されていないかまたは認証できない場合、コンテンツサーバは、シングルパートコンテンツアイテムを配信のために選択することができる(図示せず)。
【0033】
デバイスが認証され、かつ/または認証トークンが受信されるかもしくはクライアントデバイスに送信されると、ステップ308において、コンテンツサーバは、マルチパートコンテンツアイテムを配信のために選択することができる。マルチパートコンテンツアイテムは、クライアントによって視聴されているかまたは要求されている他のコンテンツ(例えばコンテンツがリファラタグなどを介してそこから要求されるウェブページ、以前に再生されたメディアアイテム(ポストロールコンテンツの場合)または再生のために要求されたメディアアイテム(プレロールコンテンツの場合)、検索要求など)に基づいてなど、任意の手段を介して選択され得る。コンテンツは、ユーザについての情報、クライアントデバイスについての情報、使用されているアプリケーションもしくは視聴されているメディアについての情報、または他の任意のタイプおよび形態の情報を含む、任意のタイプおよび形態の情報に基づいて選択され得る。
【0034】
ステップ310において、コンテンツサーバ252は、認証トークンおよび関連するデバイスまたはユーザについて、コンテンツサーバ252のデバイス-状態データベース内にデバイス-状態間の関連が存在するかどうかを判定することができる。いくつかの実装形態では、コンテンツサーバ252は、インデックスとしてのコンテンツアイテムによって関連を探すことができ、一方、他の実装形態では、コンテンツサーバ252は、インデックスとしてのデバイスもしくはユーザ識別子または認証トークンによって関連を探すことができる。データベース内に状態が確認されない場合、またはコンテンツアイテムの部分のいずれも完了していないことを示す状態が存在する場合、ステップ312aにおいて、コンテンツアイテムの第1の部分が配信のために取り出されるかまたは選択され得る。データベース内に状態が確認された場合、ステップ312bにおいて、コンテンツサーバは、コンテンツアイテムの後続の部分を配信のために選択することができる。
【0035】
ステップ314において、コンテンツサーバ252は、マルチパートコンテンツアイテムの配信のために選択された部分を提供することができる。いくつかの実装形態では、選択された部分を提供することは、コンテンツアイテムの選択された部分のアドレスを含む、クライアントデバイスに応じたリダイレクトを送信することを含むことができ、一方、他の実装形態では、選択された部分を提供することは、ステップ300のコンテンツを求める要求に応答して、コンテンツアイテムの部分を送信することを含むことができる。いくつかの実装形態では、コンテンツアイテムの部分は、送信のために圧縮または暗号化され得る。いくつかの実装形態では、コンテンツアイテムの送信は、クライアントデバイスが、コンテンツアイテムの提示を、コンテンツアイテムの以前に終了した提示と同じ状態で再開できるようにするための、1つまたは複数の状態識別子またはパラメータ(例えばゲームにおける得点、部分における再生開始時間、または他のそのようなパラメータ)を含むことができる。
【0036】
ステップ316において、クライアントデバイス250は、コンテンツアイテムの受信した部分を表示またはレンダリングすることができる。コンテンツアイテムの部分を表示またはレンダリングすることは、コンテンツを中に表示するウィンドウまたはフレームを生成すること、コンテンツアイテムのコードを実行すること、コンテンツアイテムのメディアを復号もしくはレンダリングすること、または他のそのような機能を含むことができる。いくつかの実装形態では、コンテンツアイテムの部分を表示またはレンダリングすることは、受信した状態情報(例えば得点または再生開始時間)に従って、コンテンツアイテムの変数のパラメータを設定することを含むことができる。上で論じたように、多くの実装形態では、コンテンツアイテムを表示することは、ステップ300においてコンテンツを求める要求がそこから生成されたアプリケーション内に、コンテンツアイテムを表示することを含むことができる。アプリケーションは、コンテンツアイテムの以前の部分を要求しレンダリングしたアプリケーションとは異なるアプリケーションであってよい。
【0037】
ステップ318において、いくつかの実装形態では、クライアントデバイス250またはアプリケーションは、クライアントデバイスのユーザがコンテンツアイテムの表示またはレンダリングされた部分と対話したかどうかを判定することができる。対話は、ゲームをプレイすること、テキストもしくはデータをアプリケーションプレビューに入力すること、または他のそのようなアクションを行うことを含むことができる。いくつかの実装形態では、ユーザのコンテンツとの対話は、ユーザがスキップボタンまたは終了ボタンを選択しないことによって推測され得る。例えば、いくつかの実装形態では、スキップボタンまたは終了ボタンとの任意の対話が検出されないということは、ユーザがコンテンツアイテムと対話したかまたはコンテンツアイテムを視聴した、ということを意味することができ、そのようにスキップコマンドがないということは、検出された対話として扱われ得る。いくつかの実装形態では、対話が検出された場合、または提示がスキップも早期に終了もされていない場合、ステップ320において、クライアントデバイスはコンテンツサーバ252に、認証トークン、およびコンテンツアイテムの実行状態(例えばレベルまたはメディアアイテムを完了した、新たな得点を獲得したなど)を提供することができる。ステップ322において、コンテンツサーバは、受信した状態情報に従って、データベース内のデバイス-状態間の関連を更新することができる。コンテンツが所定の時間内に対話されなかった場合(またはスキップボタンもしくは終了ボタンが選択された場合)、いくつかの実装形態では、方法はステップ300に戻ることができ、更新された状態情報がコンテンツサーバ252に提供され得ず、それによって、コンテンツサーバが、コンテンツを求める後続の要求に応答して同じコンテンツ部分を選択し直すことが可能になる。他の実装形態では、ユーザがコンテンツと対話しなかったことを示す状態情報(例えばステップ316においてコンテンツサーバから受信したのと同じかまたはそれに対応する状態情報)が提供され得る。
【0038】
いくつかの実装形態では、実行状態情報が、マルチパートコンテンツの全ての部分の提示が完了している(例えばメディアアイテムの全ての部分が完全に表示されている、またはユーザがゲームプレビューの全てのレベルを完了している、またはアプリケーションプレビューの使用に合計で所定の時間期間費やしている)ことを示す場合、第2のコンテンツアイテムが、ユーザに対して表示しかつ/またはアプリケーションによって使用するために、クライアントデバイスに提供され得る。したがって、本明細書において論じたシステムおよび方法は、複数のアプリケーションおよび/またはセッションにわたって実行状態を維持して、マルチパートコンテンツがクライアントデバイス上に提示されることを可能にするものである。これにより、より深い対話性およびユーザエクスペリエンスの向上と、コンテンツのより大きなバージョンを配信するのに比べてより小さな帯域幅要件およびストレージ要件とが可能になる。
【0039】
一態様では、本出願は、マルチパート持続性コンテンツを提供するための方法を対象とする。方法は、クライアントデバイスによって、コンテンツサーバに、コンテンツアイテムを要求することを含む。方法は、クライアントデバイスによって、コンテンツサーバから、マルチパートコンテンツアイテムの第1の部分を受信することであって、マルチパートコンテンツアイテムの第1の部分が、クライアントデバイスのユーザに対して表示される、受信することも含む。方法は、クライアントデバイスによって、コンテンツサーバに、認証トークン、およびマルチパートコンテンツアイテムの実行状態を示す識別情報を提供することであって、コンテンツサーバが、認証トークンをマルチパートコンテンツアイテムの実行状態と関連付けて記憶する、提供することも含む。方法は、後に、クライアントデバイスによって、コンテンツサーバに、第2のコンテンツアイテムを要求することであって、要求が、認証トークンを含む、要求することも含む。方法は、クライアントデバイスによって、コンテンツサーバから、マルチパートコンテンツアイテムの第2の部分を受信することであって、マルチパートコンテンツアイテムの第2の部分が、クライアントデバイスのユーザに対して表示され、第2の部分が、コンテンツサーバによって、認証トークンとマルチパートコンテンツアイテムの実行状態との間の関連の取り出しに応答して選択される、受信することも含む。
【0040】
いくつかの実装形態では、マルチパートコンテンツアイテムが、ゲームを含み、第1の部分および第2の部分が、それぞれ、ゲームの別のレベルを含む。いくつかの実装形態では、マルチパートコンテンツアイテムの実行状態が、マルチパートコンテンツアイテムの第1の部分の完了を示す。いくつかの実装形態では、マルチパートコンテンツアイテムの第1の部分を受信することが、クライアントデバイスによって、デバイスのユーザから、認証クレデンシャルを受領することと、クライアントデバイスによって、コンテンツサーバに、認証クレデンシャルを送信することと、コンテンツサーバによる認証クレデンシャルの妥当性検証に応答して、クライアントデバイスによって、コンテンツサーバから、認証トークンを受信することとを含む。
【0041】
いくつかの実装形態では、方法は、クライアントデバイスによって、コンテンツサーバに、認証トークン、およびマルチパートコンテンツアイテムの実行状態を示す第2の識別情報を提供することであって、コンテンツサーバが、認証トークンをマルチパートコンテンツアイテムの第2の実行状態と関連付けて記憶する、提供することと、マルチパートコンテンツアイテムの実行状態を示す第2の識別情報が、マルチパートコンテンツアイテムの実行が完了していることを示すとの、コンテンツサーバによる判定に応答して、クライアントデバイスによって、コンテンツサーバから、第2のコンテンツアイテムを受信することとを含む。さらなる一実装形態では、第2のコンテンツアイテムが、マルチパートコンテンツアイテムの完了の成功に対する報酬を含み、報酬が、クライアントデバイスにより実行されるアプリケーションによって使用可能である。
【0042】
いくつかの実装形態では、認証トークンが、デバイス識別子を含む。いくつかの実装形態では、マルチパートコンテンツアイテムの第1の部分が、クライアントデバイスによって実行される第1のアプリケーションを介して表示され、マルチパートコンテンツアイテムの第2の部分が、クライアントデバイスによって実行される別の第2のアプリケーションを介して表示される。
【0043】
別の態様では、本開示は、マルチパート持続性コンテンツを提供するための方法を対象とする。方法は、コンテンツサーバによって、クライアントデバイスから、コンテンツアイテムを求める要求を受信することを含む。方法は、コンテンツサーバによって、クライアントデバイスに、マルチパートコンテンツアイテムの第1の部分を提供することであって、マルチパートコンテンツアイテムの第1の部分が、クライアントデバイスのユーザに対して表示される、提供することも含む。方法は、コンテンツサーバによって、クライアントデバイスから、認証トークン、およびマルチパートコンテンツアイテムの実行状態を示す識別情報を受信することも含む。方法は、コンテンツサーバによって、認証トークンをマルチパートコンテンツアイテムの実行状態と関連付けて記憶することも含む。方法は、後に、コンテンツサーバによって、クライアントデバイスから、第2のコンテンツアイテムを求める要求を受信することであって、要求が、認証トークンを含む、受信することも含む。方法は、コンテンツサーバによって、マルチパートコンテンツアイテムの第2の部分を、認証トークンとマルチパートコンテンツアイテムの実行状態との関連に応じて選択することも含む。方法は、コンテンツサーバによって、クライアントデバイスに、マルチパートコンテンツアイテムの第2の部分を提供することであって、マルチパートコンテンツアイテムの第2の部分が、クライアントデバイスのユーザに対して表示される、提供することも含む。
【0044】
いくつかの実装形態では、マルチパートコンテンツアイテムが、ゲームを含み、第1の部分および第2の部分が、それぞれ、ゲームの別のレベルを含む。いくつかの実装形態では、マルチパートコンテンツアイテムの実行状態が、マルチパートコンテンツアイテムの第1の部分の完了を示す。
【0045】
いくつかの実装形態では、マルチパートコンテンツアイテムの第1の部分を提供することが、クライアントデバイスから認証クレデンシャルを受信することと、認証クレデンシャルの妥当性検証をすることと、認証トークンをクライアントデバイスに送信することとを含む。いくつかの実装形態では、方法は、コンテンツサーバによって、クライアントデバイスから、認証トークン、およびマルチパートコンテンツアイテムの実行状態を示す第2の識別情報を受信することと、コンテンツサーバによって、認証トークンをマルチパートコンテンツアイテムの第2の実行状態と関連付けて記憶することと、コンテンツサーバによって、マルチパートコンテンツアイテムの実行状態を示す第2の識別情報が、マルチパートコンテンツアイテムの実行が完了していることを示すとの判定をすることと、判定に応答して、コンテンツサーバによって、クライアントデバイスに、第2のコンテンツアイテムを提供することとを含む。さらなる一実装形態では、第2のコンテンツアイテムが、マルチパートコンテンツアイテムの完了の成功に対する報酬を含み、報酬が、クライアントデバイスにより実行されるアプリケーションによって使用可能である。
【0046】
いくつかの実装形態では、認証トークンが、デバイス識別子を含む。いくつかの実装形態では、マルチパートコンテンツアイテムの第1の部分が、クライアントデバイスによって実行される第1のアプリケーションを介して表示され、マルチパートコンテンツアイテムの第2の部分が、クライアントデバイスによって実行される別の第2のアプリケーションを介して表示される。
【0047】
別の態様では、本開示は、マルチパート持続性コンテンツを提供するためのシステムを対象とする。システムは、コンテンツサーバと通信するネットワークインターフェースと、第1のアプリケーションを実行するプロセッサとを備える、クライアントデバイスを含む。第1のアプリケーションは、コンテンツサーバに、コンテンツアイテムを要求すること、およびコンテンツサーバから、マルチパートコンテンツアイテムの第1の部分を受信することであって、マルチパートコンテンツアイテムの第1の部分が、クライアントデバイスのユーザに対して表示される、受信することを行うように構成される。第1のアプリケーションはまた、コンテンツサーバに、認証トークン、およびマルチパートコンテンツアイテムの実行状態を示す識別情報を提供することであって、コンテンツサーバが、認証トークンをマルチパートコンテンツアイテムの実行状態と関連付けて記憶する、提供することを行うように構成される。第1のアプリケーションはまた、後に、コンテンツサーバに、第2のコンテンツアイテムを要求することであって、要求が、認証トークンを含む、要求することを行うように構成される。第1のアプリケーションはまた、コンテンツサーバから、マルチパートコンテンツアイテムの第2の部分を受信することであって、マルチパートコンテンツアイテムの第2の部分が、クライアントデバイスのユーザに対して表示され、第2の部分が、コンテンツサーバによって、認証トークンとマルチパートコンテンツアイテムの実行状態との間の関連の取り出しに応答して選択される、受信することを行うように構成される。
【0048】
いくつかの実装形態では、マルチパートコンテンツアイテムが、ゲームを含み、第1の部分および第2の部分が、それぞれ、ゲームの別のレベルを含む。いくつかの実装形態では、マルチパートコンテンツアイテムの実行状態が、マルチパートコンテンツアイテムの第1の部分の完了を示す。いくつかの実装形態では、第1のアプリケーションが、コンテンツサーバに、認証トークン、およびマルチパートコンテンツアイテムの実行状態を示す第2の識別情報を提供することであって、コンテンツサーバが、認証トークンをマルチパートコンテンツアイテムの第2の実行状態と関連付けて記憶する、提供すること、ならびに、マルチパートコンテンツアイテムの実行状態を示す第2の識別情報が、マルチパートコンテンツアイテムの実行が完了していることを示すとの、コンテンツサーバによる判定に応答して、コンテンツサーバから、第2のコンテンツアイテムを受信することを行うようにさらに構成される。
【0049】
本明細書において説明した本主題および動作の実装形態は、デジタル電子回路として、またはコンピュータソフトウェア、コンピュータファームウェア、もしくは本明細書において開示した構造およびそれらの構造的等価物を含むコンピュータハードウェアとして、またはそれらのうちの1つもしくは複数の組合せとして、実装することができる。本明細書において説明した本主題の実装形態は、データ処理装置によって実行できるように、またはデータ処理装置の動作を制御するために、1つまたは複数のコンピュータ記憶媒体上に符号化された、1つまたは複数のコンピュータプログラム、すなわちコンピュータプログラム命令の1つまたは複数のモジュールとして、実装することができる。その代わりにまたはそれに加えて、プログラム命令は、情報をデータ処理装置によって実行する目的で適切なレシーバ装置に送信できるように符号化するために生成される、人工的に生成された伝搬信号、例えばマシンにより生成された電気信号、光信号、または電磁信号上に、符号化することもできる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムアクセスもしくはシリアルアクセスのメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せとすることもでき、あるいはそれらの中に含めることもできる。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号内に符号化されたコンピュータプログラム命令の供給元または供給先とすることができる。コンピュータ記憶媒体はまた、1つまたは複数の別々のコンポーネントまたは媒体(例えば複数のCD、ディスク、または他の記憶デバイス)とすることもでき、あるいはそれらの中に含めることもできる。したがって、コンピュータ記憶媒体は有形であってよい。
【0050】
本明細書において説明した動作は、1つまたは複数のコンピュータ可読記憶デバイス上に記憶されたかまたは他の供給元から受領したデータに対してデータ処理装置によって実施される動作として、実施することができる。
【0051】
「クライアント」または「サーバ」という用語には、プログラマブルプロセッサ、コンピュータ、システムオンチップ、または前述したもののうちの複数のもの、もしくは前述したものの組合せなど、データを処理するためのあらゆる種類の装置、デバイス、およびマシンが含まれる。装置は、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を生み出すコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行時環境、仮想マシン、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むこともできる。装置および実行環境は、ウェブサービスインフラストラクチャ、分散コンピューティングインフラストラクチャ、およびグリッドコンピューティングインフラストラクチャなど、さまざまな異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0052】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む、任意の形態のプログラミング言語で記述することができ、またそれは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境における使用に適した他のユニットとしてを含む、任意の形態でデプロイすることができる。コンピュータプログラムは、その必要はないが、ファイルシステム内のファイルに対応してよい。プログラムは、他のプログラムもしくはデータを保持するファイルの一部分(例えば、マークアップ言語ドキュメント内に記憶された1つもしくは複数のスクリプト)内に、当該のプログラムに専用の単一のファイル内に、または複数の連係されたファイル(例えば、コードの1つもしくは複数のモジュール、サブプログラム、もしくは一部分を記憶したファイル)内に、記憶させることができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するかもしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように、デプロイすることができる。
【0053】
本明細書において説明したプロセスおよび論理フローは、アクションを実施するための1つまたは複数のコンピュータプログラムを、入力データに対して作用し出力を生成することによって実行する、1つまたは複数のプログラマブルプロセッサによって実施され得る。プロセスおよび論理フローは、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実施され得、装置を、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装することもできる。
【0054】
コンピュータプログラムの実行に適したプロセッサとしては、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータのいずれか1つまたは複数のプロセッサがある。一般に、プロセッサは、読出し専用メモリ、またはランダムアクセスメモリ、またはその両方から、命令およびデータを受領する。コンピュータの必須要素が、命令に従ってアクションを実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば磁気ディスク、光磁気ディスク、または光ディスクを含むか、またはそこからデータを受領するか、もしくはそこにデータを転送するか、もしくはその両方のために、動作可能に結合される。しかし、コンピュータは、そのようなデバイスを有している必要はない。さらに、コンピュータは、別のデバイス、例えば、ほんの数例を挙げると、モバイル電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオプレーヤもしくはモバイルビデオプレーヤ、ゲームコンソール、グローバルポジショニングシステム(GPS)レシーバ、またはポータブル記憶デバイス(例えばユニバーサルシリアルバス(USB)フラッシュドライブ)に組み込むことができる。コンピュータプログラム命令およびデータを記憶するのに適したデバイスとしては、半導体メモリデバイス、例えばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、不揮発性媒体、および不揮発性メモリデバイスがある。プロセッサおよびメモリは、専用論理回路によって補完するか、またはそれに組み込むことができる。
【0055】
ユーザとの対話を可能にするために、本明細書において説明した本主題の実装形態は、情報をユーザに対して表示するためのディスプレイデバイス、例えばCRT(陰極線管)、LCD(液晶ディスプレイ)、OLED(有機発光ダイオード)、TFT(薄膜トランジスタ)、プラズマ、他のフレキシブル構成、または他の任意のモニタ、およびユーザがそれによってコンピュータに入力を行うことのできる、キーボード、ポインティングデバイス、例えばマウス、トラックボールなど、またはタッチスクリーン、タッチパッドなどを有する、コンピュータ上に実装することができる。ユーザとの対話を可能にするために、他の種類のデバイスを使用することもでき、つまり、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受領することができる。それに加えて、コンピュータはユーザと、ユーザによって使用されているデバイスにドキュメントを送り、そこからドキュメントを受領することによって、つまり、ユーザのクライアントデバイス上のウェブブラウザに、そのウェブブラウザから受領した要求に応答してウェブページを送ることによって、対話することができる。
【0056】
本明細書において説明した本主題の実装形態は、例えばデータサーバとしてのバックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、例えばアプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えば本明細書において説明した本主題の一実装形態とそれを通じてユーザが対話することのできるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステム内に実装することができる。システムのコンポーネント同士は、任意の形態または媒体のデジタルデータ通信、例えば通信ネットワークによって、相互接続され得る。通信ネットワークには、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インターネットワーク(例えばインターネット)、ならびにピアツーピアネットワーク(例えばアドホックピアツーピアネットワーク)が含まれてよい。
【0057】
本明細書において論じたシステムが、ユーザについての個人情報を収集する、または個人情報を使用し得る状況では、ユーザには、プログラムまたは特徴が個人情報(例えばユーザのソーシャルネットワーク、社会的行為もしくは社会的活動、ユーザの嗜好、またはユーザの位置についての情報)を収集することができるかどうかを制御する、またはコンテンツサーバ、もしくはユーザにとってより関連のあり得る他のデータ処理システムからコンテンツを受信するかどうか、もしくはその受信の仕方を制御する、機会が与えられてよい。加えて、ある特定のデータは、それが記憶または使用される前に、パラメータの生成の際に個人を特定可能な情報が取り除かれるように、1つまたは複数の方途で匿名化されてよい。例えば、ユーザの識別情報が、そのユーザにとって個人を特定可能な情報を明らかにすることができないように匿名化されてよく、または位置情報が得られるユーザの地理的位置が、ユーザの特定の位置を明らかにすることができないように(市、郵便番号、または州レベルなどに)一般化されてよい。したがって、ユーザは、コンテンツサーバによって自身についてどのように情報が収集され、使用されるかについて、制御することができてよい。
【0058】
本明細書は、実装形態の多くの具体的詳細を含んでいるが、これらは、任意の発明の範囲または特許請求され得るものの範囲に対する限定と解釈するのではなく、特定の発明の特定の実装形態に固有の特徴についての説明と解釈すべきである。本明細書において別々の実装形態の文脈の中で説明されるいくつかの特徴は、単一の実装形態において組み合わせて実施することもできる。反対に、単一の実装形態の文脈の中で説明されるさまざまな特徴は、複数の実装形態において別々に、または任意の適切な部分組合せで、実施することもできる。さらに、特徴については上で、ある特定の組合せで作用するものと説明されていることがあり、そのようなものとして最初に特許請求されていることすらあるが、特許請求された組合せからの1つまたは複数の特徴を、場合によっては、その組合せから削除することができ、特許請求された組合せが、部分組合せ、または部分組合せの変形を対象としていてよい。
【0059】
同様に、動作は図面中に特定の順序で描かれているが、これは、望ましい結果を達成するために、そのような動作が図示の特定の順序でもしくは順番に実施されること、または図示の全ての動作が実施されることを要求するものと理解すべきではない。ある特定の状況下では、マルチタスキングおよび並列処理が有利となることがある。さらに、上で説明した実装形態におけるさまざまなシステムコンポーネントの分離は、全ての実装形態においてそのような分離を要求するものと理解すべきではなく、説明したプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に一緒に統合するかまたは複数のソフトウェア製品にパッケージ化できる、ということを理解されたい。
【0060】
かくして、本主題の特定の実装形態について説明してきた。他の実装形態が、添付の特許請求の範囲に記載の範囲に含まれる。場合によっては、特許請求の範囲において記載されたアクションを、異なる順序で実施し、それでもなお望ましい結果を達成することができる。加えて、添付の図中に描いたプロセスは、望ましい結果を達成するために、図示の特定の順序、または順番を必ずしも要求するとは限らない。いくつかの実装形態では、マルチタスキングまたは並列処理が利用されることがある。
【符号の説明】
【0061】
100a 第1のアプリケーション
100b 第2のアプリケーション
110 コンテンツプロバイダまたは認証サーバ
120 状態関連データベースまたはデバイス-状態データベース
122 ユーザまたはデバイス識別子
124 マルチパートコンテンツ
126 コンテンツの実行状態
200 プロセッサ
202 ネットワークインターフェース
204 ユーザインターフェースデバイス、出力インターフェース、ユーザインターフェース
206 メモリまたは記憶デバイス
208 ユーザまたはデバイス識別子
210 ユーザクレデンシャル
212 コンテンツストレージ
214 コンテンツセレクタ
250 クライアントデバイス、クライアント
252 認証サーバまたはコンテンツサーバ
254 ネットワーク