(57)【要約】      （修正有）【課題】複数のコンテンツ・ストリームを、各コンテンツ・アイテム・バージョンに部分的に基づいてレンダリングする。【解決手段】クライアントは、クライアント・ストリームおよびコンテンツ・プロバイダ・ストリームの両方が提示用に得られたハイブリッド・ストリームを形成するように結合される、ハイブリッド・ストリーム・モードでコンテンツ・アイテムの提示を開始する。そのときクライアントは、コンテンツ・アイテムの提示中のある時点で、コンテンツ・プロバイダ・ストリームが利用不可能になっていることを検出する可能性がある。このような判定に応じて、クライアントは、クライアント・ストリームがコンテンツ・プロバイダ・ストリームを使用しないでコンテンツ・アイテムの提示用に使用される、クライアント・ストリーム・モードでコンテンツ・アイテムを提示し続けることができる。【選択図】図８
2018067957.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のプロセッサと、
インストラクション・セットを格納する１つまたは複数のメモリと、
を備えるシステムであって、
前記インストラクションは、前記１つまたは複数のプロセッサによって実行される場合、前記１つまたは複数のプロセッサに、
コンテンツ・アイテムの提示に関連付けられたクライアント・ストリーム機能に対応する情報を含むクライアント・ストリームを生成するステップと、
コンテンツ・プロバイダから、前記コンテンツ・アイテムの前記提示に関連付けられたコンテンツ・プロバイダ・ストリーム機能に対応する情報を含むコンテンツ・プロバイダ・ストリームを受信するステップと、
少なくとも１つのコンテンツ・プロバイダ・ストリーム機能を表示するステップと、
前記コンテンツ・プロバイダ・ストリームが少なくとも一時的に利用不可能であると判定するステップと、
少なくとも１つのクライアント・ストリーム機能を表示するステップと、
を含む動作を実行させる、
システム。
【請求項２】
前記少なくとも１つのコンテンツ・プロバイダ・ストリーム機能は、第１の画像に表示され、前記少なくとも１つのクライアント・ストリーム機能は、第２の画像に表示される、
請求項１に記載のシステム。
【請求項３】
前記第１の画像は、少なくとも１つの他のクライアント・ストリーム機能を含み、前記第２の画像は、少なくとも１つの他のコンテンツ・プロバイダ・ストリーム機能を含む、
請求項２に記載のシステム。
【請求項４】
前記第１の画像内のオブジェクトのために、前記クライアント・ストリームは、前記オブジェクトのより低複雑バージョンを含み、前記コンテンツ・プロバイダ・ストリームは、前記オブジェクトのより高複雑バージョンを含む、
請求項２に記載のシステム。
【請求項５】
前記クライアント・ストリームは、クライアント・コンピューティング・ノードで実行される前記コンテンツ・アイテムのクライアント・バージョンに少なくとも部分的に基づいて生成され、
前記コンテンツ・プロバイダ・ストリームは、前記コンテンツ・プロバイダによって実行される前記コンテンツ・アイテムのコンテンツ・プロバイダ・バージョンに少なくとも部分的に基づいて生成される、
請求項１に記載のシステム。
【請求項６】
前記コンテンツ・アイテムに関連付けられた状態情報は、クライアント・コンピューティング・ノードと前記コンテンツ・プロバイダとの間で交換され、
前記コンテンツ・プロバイダ・ストリームは、前記クライアント・コンピューティング・ノードから受信される状態情報に少なくとも部分的に基づいて生成され、
前記クライアント・ストリームは、前記コンテンツ・プロバイダから受信される状態情報に少なくとも部分的に基づいて生成される、
請求項１に記載のシステム。
【請求項７】
前記コンテンツ・プロバイダ・ストリームが少なくとも一時的に利用不可能であると判定するステップは、前記コンテンツ・プロバイダとクライアントとの間の切断を検出するステップを含む、
請求項１に記載のシステム。
【請求項８】
前記コンテンツ・プロバイダ・ストリームが少なくとも一時的に利用不可能であると判定するステップは、前記コンテンツ・プロバイダとクライアントとの間の接続が、品質の閾値レベル未満に減少したことを検出するステップを含む、
請求項１に記載のシステム。
【請求項９】
コンテンツ・アイテムの提示に関連付けられたクライアント・ストリーム機能に対応する情報を含むクライアント・ストリームを生成するステップと、
コンテンツ・プロバイダから、前記コンテンツ・アイテムの前記提示に関連付けられたコンテンツ・プロバイダ・ストリーム機能に対応する情報を含むコンテンツ・プロバイダ・ストリームを受信するステップと、
少なくとも１つのコンテンツ・プロバイダ・ストリーム機能を表示するステップと、
前記コンテンツ・プロバイダ・ストリームが少なくとも一時的に利用不可能であると判定するステップと、
少なくとも１つのクライアント・ストリーム機能を表示するステップと、
を含む方法。
【請求項１０】
前記少なくとも１つのコンテンツ・プロバイダ・ストリーム機能は、第１の画像に表示され、前記少なくとも１つのクライアント・ストリーム機能は、第２の画像に表示される、
請求項９に記載の方法。
【請求項１１】
前記第１の画像は、少なくとも１つの他のクライアント・ストリーム機能を含み、前記第２の画像は、少なくとも１つの他のコンテンツ・プロバイダ・ストリーム機能を含む、
請求項１０に記載の方法。
【請求項１２】
前記第１の画像のオブジェクトのために、前記クライアント・ストリームは、前記オブジェクトのより低複雑バージョンを含み、前記コンテンツ・プロバイダ・ストリームは、前記オブジェクトのより高複雑バージョンを含む、
請求項１０に記載の方法。
【請求項１３】
前記クライアント・ストリームは、クライアント・コンピューティング・ノードで実行される前記コンテンツ・アイテムのクライアント・バージョンに少なくとも部分的に基づいて生成され、
前記コンテンツ・プロバイダ・ストリームは、前記コンテンツ・プロバイダによって実行される前記コンテンツ・アイテムのコンテンツ・プロバイダ・バージョンに少なくとも部分的に基づいて生成される、
請求項９に記載の方法。
【請求項１４】
前記コンテンツ・アイテムに関連付けられた状態情報は、クライアント・コンピューティング・ノードと前記コンテンツ・プロバイダとの間で交換され、
前記コンテンツ・プロバイダ・ストリームは、前記クライアント・コンピューティング・ノードから受信される状態情報に少なくとも部分的に基づいて生成され、
前記クライアント・ストリームは、前記コンテンツ・プロバイダから受信される状態情報に少なくとも部分的に基づいて生成される、
請求項９に記載の方法。
【請求項１５】
インストラクション・セットを格納した非一時的なコンピュータ可読媒体であって、
前記インストラクションは、１つまたは複数のプロセッサによって実行される場合、前記１つまたは複数のプロセッサに、
クライアントから、コンテンツ・アイテムの提示に関連付けられたコンテンツ・プロバイダ・ストリームの送信のための要求を受信するステップと、
前記クライアントから、クライアント・ストリーム内に含まれる１つまたは複数の特徴に関連付けられた状態を示す状態情報を受信するステップであって、前記クライアント・ストリームは、前記コンテンツ・アイテムの前記提示に関連付けられて、前記クライアントによって生成されるステップと、
前記クライアントから受信した前記状態情報に少なくとも部分的に基づいて、前記コンテンツ・プロバイダ・ストリームを生成するステップと、
前記クライアントに、前記コンテンツ・プロバイダ・ストリームを送信するステップと、
前記クライアントに、前記コンテンツ・プロバイダ・ストリームの１つまたは複数の特徴に関連付けられた状態を示す状態情報を送信するステップと、
を含む動作を実行させる、
非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１３年１１月１１日に出願された、米国特許出願第１４／０７７，１８６号の利益を主張し、この本開示は、本明細書にその全体を参照により援用される。
【０００２】
本出願は、以下の出願に関し、各以下の出願、「ＶＩＤＥＯ  ＥＮＣＯＤＩＮＧ  ＢＡＳＥＤ  ＯＮ  ＡＲＥＡＳ  ＯＦ  ＩＮＴＥＲＥＳＴ」（代理人整理番号：１０１０５８．００００８３）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７６，７１８号、「ＡＤＡＰＴＩＶＥ  ＳＣＥＮＥ  ＣＯＭＰＬＥＸＩＴＹ  ＢＡＳＥＤ  ＯＮ  ＳＥＲＶＩＣＥ  ＱＵＡＬＩＴＹ」（代理人整理番号：１０１０５８．００００８４）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７６，８２１号、「ＳＥＲＶＩＣＥ  ＦＯＲ  ＧＥＮＥＲＡＴＩＮＧ  ＧＲＡＰＨＩＣＳ  ＯＢＪＥＣＴ  ＤＡＴＡ」（代理人整理番号：１０１０５８．００００８６）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７７，１２７号、「ＩＭＡＧＥ  ＣＯＭＰＯＳＩＴＩＯＮ  ＢＡＳＥＤ  ＯＮ  ＲＥＭＯＴＥ  ＯＢＪＥＣＴ  ＤＡＴＡ」（代理人整理番号：１０１０５８．００００８７）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７７，１３６号、「ＭＵＬＴＩＰＬＥ  ＰＡＲＡＬＬＥＬ  ＧＲＡＰＨＩＣＳ  ＰＲＯＣＥＳＳＩＮＧ  ＵＮＩＴＳ」（代理人整理番号：１０１０５８．０００１１０）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７７，１６５号、「ＡＤＡＰＴＩＶＥ  ＣＯＮＴＥＮＴ  ＴＲＡＮＳＭＩＳＳＩＯＮ」（代理人整理番号：１０１０５８．０００１１４）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７７，０８４号、「ＶＩＥＷ  ＧＥＮＥＲＡＴＩＯＮ  ＢＡＳＥＤ  ＯＮ  ＳＨＡＲＥＤ  ＳＴＡＴＥ」（代理人整理番号：１０１０５８．０００１１５）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７７，１８０号、「ＤＡＴＡ  ＣＯＬＬＥＣＴＩＯＮ  ＦＯＲ  ＭＵＬＴＩＰＬＥ  ＶＩＥＷ  ＧＥＮＥＲＡＴＩＯＮ」（代理人整理番号：１０１０５８．０００１２４）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７７，１４９号、「ＳＴＲＥＡＭＩＮＧ  ＧＡＭＥ  ＳＥＲＶＥＲ  ＶＩＤＥＯ  ＲＥＣＯＲＤＥＲ」（代理人整理番号：１０１０５８．０００１２５）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７７，１４２号、「ＬＯＣＡＴＩＯＮ  ＯＦ  ＡＣＴＯＲ  ＲＥＳＯＵＲＣＥＳ」（代理人整理番号：１０１０５８．０００１２８）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７６，８１５号、「ＳＥＳＳＯＩＮ  ＩＤＬＥ  ＯＰＴＩＭＩＺＡＴＩＯＮ  ＦＯＲ  ＳＴＲＥＡＭＩＮＧ  ＳＥＲＶＥＲ」（代理人整理番号：１０１０５８．０００１２９）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７７，１４６号、「ＡＰＰＬＩＣＡＴＩＯＮ  ＳＴＲＥＡＭＩＮＧ  ＳＥＲＶＩＣＥ」（代理人整理番号：１０１０５８．０００１３９）と題する、２０１３年１１月１１日に出願された米国特許出願第１４／０７７，０２３号、「ＥＦＦＩＣＩＥＮＴ  ＢＡＮＤＷＩＤＴＨ  ＥＳＴＩＭＡＴＩＯＮ」（代理人整理番号：１０１０５８．０００１４１）と題する、２０１３年１１月１１日に出願された米国特許出願第６１／９０２，７４０号は、本明細���によりその全体を参照により援用される。
【背景技術】
【０００３】
最近の技術の進歩は、迅速かつ効率的な方式で情報を送配信する能力を改善しつつある。このような進歩に従い、中央のプロバイダ位置でデータを取得して格納し、要求に応じて迅速にエンド・ユーザへデータを配信することは、ますます一般的になってきている。このモデルは、マルチメディア・ストリーミングのような技術的な概念を使用することができ、この中のマルチメディア・コンテンツは、プロバイダにより配信されていながら、常にエンド・ユーザに受信され、これへ提示されることができる。急速に拡大している分野は、テレビ・ゲームのような、ストリーミング技術を使用したコンテンツの配信である。コンテンツをストリーミングするときに、プロバイダは、要求されたコンテンツにアクセスし、シーンから画像にコンテンツをレンダリングし、そのときインターネットのようなネットワークを介してクライアントへ画像を符号化し送信することができる。
【０００４】
ストリーミングおよび他のコンテンツの配信技術は多くの利点を提供するが、それはまた複数の欠点を伴う可能性がある。たとえば、ストリーミングおよび他のコンテンツの配信技術は、ストリーミングまたは他のコンテンツの配信セッションの全期間、プロバイダへの常時接続を維持するようにクライアントに要求する可能性がある。このような常時接続の必要性は、たとえば、コンテンツ配信セッション中に位置を変更する必要がある、またはこれを変更したいクライアントにとって望ましくない可能性がある。このような位置の変更は、クライアントにプロバイダへの接続不良のある地域を通過させる、またはこれに移動させる可能性があるため、コンテンツ配信セッションを中断し、おそらく終了する。いくつかの場合において、クライアントが位置を変更していない場合でさえ、固定された位置でネットワーク状態を変更することは、また、接続性を低下させ、潜在的にマイナスの影響を与えるか、コンテンツ配信を終了する可能性がある。
【０００５】
次の詳細な説明は、添付の図面と併せて読むとより良く理解されることができる。例示のために、本開示のさまざまな態様の図面の例示的な実施形態で説明されるが、本発明は開示された具体的な方法および手段に限定されない。
【図面の簡単な説明】
【０００６】
【図１】図１は、いくつかの実施形態で使用されることができる例示的なコンピュータ・システムを説明する図解である。
【図２】図２は、いくつかの実施形態で使用されることができる例示的なコンピューティング・システムを説明する図解である。
【図３】図３は、本開示に従い複数の提示ストリームと関連するコンテンツ提示用の例示的なシステムを説明する図解である。
【図４】図４は、本開示に従いハイブリッド・ストリーム・モードで動作する例示的なコンテンツ提示システムを説明する図解である。
【図５】図５は、本開示に従いクライアント・ストリーム・モードで動作する例示的なコンテンツ提示システムを説明する図解である。
【図６】図６は、いくつかの実施形態で使用されることができる例示的な第一ハイブリッド・ストリーム機能分散アプローチを説明する図解である。
【図７】図７は、いくつかの実施形態で使用されることができる例示的な第二ハイブリッド・ストリーム機能分散アプローチを説明する図解である。
【図８】図８は、本開示に従い例示的なストリーム組み合わせ手順を描写するフローチャートである。
【発明を実施するための形態】
【０００７】
一般に、本開示は、複数のストリーム・コンテンツ提示用の技術を記載する。本開示の技術に従い、複数のコンテンツ・ストリームは、テレビ・ゲームのようなコンテンツ・アイテムの提示に関連して使用されることができる。たとえば、複数のコンテンツ・ストリームは、クライアント・ストリームおよびコンテンツ・プロバイダ・ストリームを含むことができる。いくつかの場合において、クライアント・ストリームは、クライアント・デバイス上に挿入されたクライアント・コンテンツ・アイテム・バージョンに少なくとも部分的に基づきレンダリングされることができる一方、コンテンツ・プロバイダ・ストリームはコンテンツ・プロバイダにより実行されたコンテンツ・プロバイダ・コンテンツ・アイテム・バージョンに少なくとも部分的に基づきレンダリングされることができる。コンテンツ・プロバイダ・ストリームは、たとえば、インターネットのような電子ネットワークを使用してコンテンツ・プロバイダからクライアントへ送信されることができる。
【０００８】
いくつかの場合において、クライアントは、コンテンツ・アイテムの提示を開始する前または直後にコンテンツ・プロバイダとの接続を確立することができる。このような場合において、クライアントは、たとえば、クライアント・ストリームおよびコンテンツ・プロバイダ・ストリームの両方が結合され、提示用に得られるハイブリッド・ストリームを形成するハイブリッド・ストリーム・モードでコンテンツ・アイテムの提示を開始することができる。そのときクライアントは、コンテンツ・アイテムの提示中のある時点で、コンテンツ・プロバイダ・ストリームが利用できなくなっていることを検出することができる。このような判定に応じて、クライアントはクライアント・ストリームがコンテンツ・プロバイダ・ストリームを使用しないでコンテンツ・アイテムの提示へ使用される、クライアント・ストリーム・モードでコンテンツ・アイテムを提示し続けることができる。いくつかの場合において、コンテンツ・プロバイダ・ストリームが再び利用可能になっていることを検出すると、クライアントはハイブリッド・ストリーム・モードに切り替えることができ、もう一度、提示用にクライアント・ストリームおよびコンテンツ・プロバイダ・ストリームの両方を使用することができる。
【０００９】
いくつかの場合において、クライアント・ストリームは、たとえば、より重要度の高い機能を有することができる一方、コンテンツ・プロバイダ・ストリームは、たとえば、より重要度の低い機能を有することができる。また、いくつかの場合において、クライアント・ストリームは、たとえば、基本機能セットを含むことができる一方、コンテンツ・プロバイダ・ストリームは、たとえば、任意の機能セットを含むことができる。クライアント・ストリームは、たとえば、クライアント・ストリームが単独で、コンテンツ・アイテムを一時停止するまたは再始動することなく、少なくとも一時的に提示することを可能にするための少なくとも十分な機能を有することができる。いくつかの場合において、クライアント・ストリームは、１つ以上のオブジェクトのより低複雑バージョンを含むことができる一方、コンテンツ・プロバイダ・ストリームは１つ以上のオブジェクトのより高複雑バージョンを含むことができる。これは、たとえば、コンテンツ・プロバイダ・ストリームが得られた提示ストリームに含まれるときに、さまざまなオブジェクトをより現実的におよび／またはより詳細に表示することを可能にすることができる。
【００１０】
コンテンツ・プロバイダは、いくつかの場合において、インターネットのような電子ネットワーク経由でクライアントへ、コンテンツ・プロバイダ・ストリームを含む、コンテンツをレンダリングし送信することができる。コンテンツは、いくつかの場合において、たとえば、コンテンツ配信技術のストリーミングを使用して、クライアントへ要求に応じて提供されることができる。クライアントへコンテンツのレンダリングおよび送信を可能にする例示的なコンピューティング環境を今から詳細に説明する。特に、図１は、本明細書に記載された実施形態を実装することができる例示的なコンピューティング環境を説明する。図１は、通信ネットワーク２３０を介してユーザ・コンピュータ２０２ａおよび２０２ｂ（本明細書で、単数でコンピュータ２０２または複数でコンピュータ２０２と言われることができる）を介してユーザ２００ａおよび２００ｂ（本明細書で、単数でユーザ２００または複数でユーザ２００と言われることができる）へコンピューティング・リソースを提供することが可能であるデータ・センタ２１０の実施例を概略的に説明する図解である。データ・センタ２１０は、永続的にまたは必要に応じてアプリケーションを実行するためにコンピューティング・リソースを提供するように構成されることができる。データ・センタ２１０により提供されたコンピューティング・リソースは、ゲートウェイ・リソース、ロード・バランシング・リソース、ルーティング・リソース、ネットワーク・リソース、コンピューティング・リソース、揮発性および不揮発性メモリ・リソース、コンテンツ配信リソース、データ処理リソース、データ・ストレージ・リソース、データ通信リソース等のような、さまざまな種類のリソースを含むことができる。コンピューティング・リソースの各タイプは、汎用であってもよい、または複数の具体的な構成で利用可能であってもよい。たとえば、データ処理リソースは、さまざまなウェブ・サービスを提供するように構成されることができる仮想マシン・インスタンスとして利用可能であってもよい。加えて、リソースの組み合わせは、ネットワーク経由で利用可能にされてもよく、１つ以上のウェブ・サービスとして構成されてもよい。インスタンスは、アプリケーション・サービス、メディア・サービス、データベース・サービス、処理サービス、ゲートウェイ・サービス、ストレージ・サービス、ルーティング・サービス、セキュリティ・サービス、暗号化サービス、ロード・バランシング・サービス、アプリケーション・サービス等のような、ウェブ・サービスを含む、アプリケーションを実行するように構成されることができる。これらのサービスは、セットまたはカスタム・アプリケーションで構成可能であってもよく、サイズ、実行、コスト、レイテンシ、タイプ、持続時間、アクセシビリティ、および任意の他の様相で構成可能であってもよい。これらのウェブ・サービスは、１人以上のクライアント用の利用可能なインフラストラクチャとして構成されることができ、１人以上のクライアント用のプラットフォームとして、またはソフトウェアとして構成された１つ以上のアプリケーションを含むことが可能である。これらのウェブ・サービスは、１つ以上の通信プロトコルを介して利用可能にされてもよい。これらの通信プロトコルは、たとえば、ハイパーテキスト・トランスファ・プロトコル（ＨＴＴＰ）または非ＨＴＴＰプロトコルを含むことができる。これらの通信プロトコルは、たとえば、トランスミッション・コントロール・プロトコル（ＴＣＰ）のような、より信頼性の高いトランスポート層およびユーザ・データグラム・プロトコル（ＵＤＰ）のような、より信頼性の低いトランスポート層をまた含むことができる。データ・ストレージ・リソースは、ファイル・ストレージ・デバイス、ブロック・ストレージ・デバイス等を含むことができる。
【００１１】
コンピューティング・リソースの各タイプまたは構成は、多数のプロセッサ、大容量のメモリおよび／または大容量のストレージ容量からなる大規模なリソース、および少数のプロセッサ、小容量のメモリおよび／また小容量のストレージ容量からなる小規模なリソースのような、異なるサイズで利用可能であることができる。顧客は、たとえば、ウェブ・サーバとして複数の小規模な処理リソース、および／またはデータベース・サーバとして１つの大規模な処理リソースを割り当てることを選択することができる。
【００１２】
データ・センタ２１０は、コンピューティング・リソースを提供するサーバ２１６ａ〜ｂ（本明細書で、単数でサーバ２１６または複数でサーバ２１６と言われることができる）を含むことができる。これらのリソースは、ベア・メタル・リソースとして、または仮想マシン・インスタンス２１８ａ〜ｄ（本明細書で、単数で仮想マシン・インスタンス２１８または複数で仮想マシン・インスタンス２１８と言われることができる）として利用可能であることができる。仮想マシン・インスタンス２１８ｃおよび２１８ｄは、複数のストリーム仮想マシン（「ＭＳＶＭ」）・インスタンスである。このＭＳＶＭ仮想マシン・インスタンス２１８ｃおよび２１８ｄは、詳細に以下に記載され、本開示と関連する複数のストリーム提示用のコンテンツ・プロバイダ・ストリームを生成するための技術のすべてまたは任意の部分を実行するように構成されることができる。理解されるように、図１で説明された特定の実施例は、各サーバに１つのＭＳＶＭ仮想マシンを含むが、これは単に実施例である。サーバは２つ以上のＭＳＶＭ仮想マシンを含んでもよい、または任意のＭＳＶＭ仮想マシンを含まなくてもよい。
【００１３】
コンピューティング・ハードウェア用の仮想化技術の可用性は、顧客用の大規模なコンピューティング・リソースを供給し、コンピューティング・リソースを複数の顧客間で効率的かつ安全に共有することを可能にする利点を提供している。たとえば、仮想化技術は、物理的なコンピューティング・デバイスがホストする１つ以上の仮想マシン・インスタンスを各ユーザに提供することで、物理的なコンピューティング・デバイスを複数のユーザ間で共有することを可能にすることができる。仮想マシン・インスタンスは、異なる論理的なコンピューティング・システムとして作用する特定の物理的なコンピューティング・システムのソフトウェア・エミュレーションであってもよい。このような、仮想マシン・インスタンスは、所与の物理的なコンピューティング・リソースを共有する複数のオペレーティング・システム間の分離を提供する。さらにまた、いくつかの仮想化技術は、複数の異なる物理的なコンピューティング・システムに及ぶ複数の仮想プロセッサを備える単一の仮想マシン・インスタンスのような、１つ以上の物理的なリソースに及ぶ仮想リソースを供給することができる。
【００１４】
図１を参照して、通信ネットワーク２３０は、たとえば、インターネットのような、リンクされたネットワークの公的にアクセス可能なネットワークであってもよく、さまざまな異なる関係者によりおそらく操作されることができる。他の実施形態において、通信ネットワーク２３０は、特権のないユーザに全体的にまたは部分的にアクセスできない企業ネットワークまたは大学ネットワークのような、プライベート・ネットワークであってもよい。さらに他の実施形態において、通信ネットワーク２３０は、インターネットへおよび／またはインターネットからのアクセスを有する１つ以上のプライベート・ネットワークを含むことができる。
【００１５】
通信ネットワーク２３０は、コンピュータ２０２へのアクセスを提供することができる。ユーザ・コンピュータ２０２は、データ・センタ２１０のユーザ２００または他の顧客により利用されるコンピュータであってもよい。たとえば、ユーザ・コンピュータ２０２ａもしくは２０２ｂは、データ・センタ２１０にアクセス可能な、サーバ、デスクトップもしくはラップトップ・パーソナル・コンピュータ、タブレット・コンピュータ、無線電話、携帯情報端末（ＰＤＡ）、電子ブック・リーダ、ゲーム・コンソール、セット・トップ・ボックスまたは任意の他のコンピューティング・デバイスであってもよい。ユーザ・コンピュータ２０２ａまたは２０２ｂは、インターネット（たとえば、ケーブル・モデムまたはデジタル加入者線（ＤＳＬ）経由で）へ直接に接続することができる。２つのユーザ・コンピュータ２０２ａおよび２０２ｂのみを描写するが、複数のユーザ・コンピュータがあることができることを理解するべきである。
【００１６】
ユーザ・コンピュータ２０２はまた、データ・センタ２１０により提供されたコンピューティング・リソースの態様を構成するために利用されることができる。この点について、データ・センタ２１０は、その動作態様がユーザ・コンピュータ２０２上で実行するウェブ・ブラウザ・アプリケーション・プログラムの使用を通じて構成されることができる、ゲートウェイまたはウェブ・インタフェースを提供することができる。あるいは、ユーザ・コンピュータ２０２上で実行するスタンドアロン・アプリケーション・プログラムは、構成動作を実行するためにデータ・センタ２１０により公開されたアプリケーション・プログラミング・インタフェース（ＡＰＩ）にアクセスすることができる。データ・センタ２１０で利用可能な、さまざまなウェブ・サービスの動作を構成するための他の機構をまた利用することができる。
【００１７】
図１で説明されたサーバ２１６は、上記のコンピューティング・リソースを提供するために適切に構成された標準サーバであってもよいし、１つ以上のウェブ・サービスおよび／またはアプリケーションを実行するためのコンピューティング・リソースを提供することができる。１つの実施形態において、コンピューティング・リソースは、仮想マシン・インスタンス２１８であってもよい。仮想マシン・インスタンスの実施例において、各サーバ２１６は、仮想マシン・インスタンス２１８を実行可能なインスタンス・マネージャ２２０ａまたは２２０ｂ（本明細書で、単数でインスタンス・マネージャ２２０または複数でインスタンス・マネージャ２２０と言われることができる）を実行するように構成されることができる。インスタンス・マネージャ２２０は、たとえば、サーバ２１６上で仮想マシン・インスタンス２１８の実行を可能にするように構成された１つの仮想マシン・モニタ（ＶＭＭ）または別の種類のプログラムであってもよい。上記のように、各仮想マシン・インスタンス２１８は、アプリケーションのすべてまたは一部を実行するように構成されることができる。
【００１８】
上記で開示された実施形態は仮想マシン・インスタンスのコンテキストを検討するが、他の種類の実装は、本明細書に記載されたコンセプトおよび技術を用いて利用されることが可能であることを理解するべきである。たとえば、本明細書に開示された実施形態はまた、仮想マシン・インスタンスを利用しないコンピューティング・システムを用いて利用されることができる。
【００１９】
図１で説明された例示的なデータ・センタ２１０において、ルータ２１４は、サーバ２１６ａおよび２１６ｂを相互接続するために利用されることができる。ルータ２１４はまた、通信ネットワーク２３０に接続される、ゲートウェイ２４０に接続されることができる。ルータ２１４は、１つ以上のロード・バランサに接続されることができ、単独でまたは組み合わせて、たとえば、このような通信特性（たとえば、ソースおよび／または宛先アドレス、プロトコル識別子、サイズ、処理要件等を含むヘッダ情報）および／またはプライベート・ネットワーク特性（たとえば、ネットワーク・トポロジ等に基づくルート）に適切に基づくように、パケットまたは他のデータ通信を転送することで、データ・センタ２１０でネットワーク内の通信を管理することができる。簡潔さのために、この実施例のコンピューティング・システムおよび他のデバイスのさまざまな態様が特定の従来の詳細を説明することなく図示されることを理解されるであろう。追加のコンピューティング・システムおよび他のデバイスは、他の実施形態で相互接続されることができ、異なる方式で相互接続されることができる。
【００２０】
図１で説明された例示的なデータ・センタ２１０において、サーバ・マネージャ２１５はまた、サーバ２１６ａおよび２１６ｂへの、これらからの、および／またはこれらの間のさまざまな通信に少なくとも部分的に直接に使用される。図１はゲートウェイ２４０およびサーバ・マネージャ２１５間に配置されたルータ２１４を描写するが、これは単に例示的な構成である。いくつかの場合において、たとえば、サーバ・マネージャ２１５は、ゲートウェイ２４０およびルータ２１４間に配置されることができる。サーバ・マネージャ２１５は、いくつかの場合において、ユーザ・コンピュータ２０２からの通信を着信する部分を検査することができ、着信する通信を受信する、および／または処理する、１つ以上の適切なサーバ２１６を決定する。サーバ・マネージャ２１５は、ユーザ・コンピュータ２０２に関連付けられた識別情報、位置または他の属性、通信が関連するタスクの特性、通信が関連するタスクの優先順位、通信が関連するタスクの期間、通信が関連するタスクのサイズおよび／または推定されたリソース使用状況、および多くの他の要因のような、要因に基づき着信する通信を受信する、および／または処理する、適切なサーバを決定することができる。サーバ・マネージャ２１５は、たとえば、通信およびこのようなタスクに関連付けられた他の動作の管理を支援するために、たとえば、さまざまなタスクに関連付けられた状態情報および他の情報へのアクセスを収集する、またはその他の方法でこれを有することができる。
【００２１】
図１で説明されたネットワーク・トポロジが大幅に簡略化されていて、より多くのネットワークおよびネットワーキング・デバイスが本明細書に開示されたさまざまなコンピューティング・システムに相互接続するために利用されることができることを理解するべきである。これらのネットワーク・トポロジおよびデバイスは、当業者に明らかであろう。
【００２２】
図１で説明されたデータ・センタ２１０が単に例示であり、他の実装を利用することができることをまた理解するべきである。加えて、本明細書に開示された機能がソフトウェア、ハードウェアまたはソフトウェアおよびハードウェアの組み合わせに実装されることができることを理解するべきである。他の実装は、当業者に明らかであろう。サーバ、ゲートウェイまたは他のコンピューティング・デバイスは、制限なく、デスクトップまたは他のコンピュータ、データベース・サーバ、ネットワーク・ストレージ・デバイスおよび他のネットワーク・デバイス、ＰＤＡ、タブレット、携帯電話、無線電話、ページャ、電子手帳、インターネット・アプライアンス、テレビジョン・ベース・システム（たとえば、セット・トップ・ボックスおよび／またはパーソナル／デジタル・ビデオ・レコーダ）および適切な通信能力を有するさまざまな他の消費生活用製品を含む機能の記載された種類に相互作用して実行することが可能である、ハードウェアまたはソフトウェアの任意の組み合わせを備えることができることを理解するべきである。加えて、図示されたモジュールにより提供された機能は、いくつかの実施形態において、より少ないモジュールに結合されることができる、または追加のモジュールに分散されることができる。同様に、いくつかの実施形態において、図示されたモジュールのいくつかの機能は、提供されなくてもよい、および／または他の追加の機能は利用可能であることができる。
【００２３】
少なくともいくつかの実施形態において、本明細書に記載された技術のうちの１つ以上の一部またはすべてを実装するサーバは、１つ以上のコンピュータ・アクセス可能なメディアを含む、またはこれにアクセスするように構成される、汎用コンピュータ・システムを含むことができる。図２は、１つ以上のコンピュータ・アクセス可能なメディアを含む、またはこれにアクセスするように構成される汎用コンピュータ・システムを描写する。図示された実施形態において、コンピューティング・デバイス１００は、入力／出力（Ｉ／Ｏ）インタフェース３０を介してシステム・メモリ２０へ結合された１つ以上のプロセッサ１０ａ、１０ｂおよび／または１０ｎ（本明細書で、単数でプロセッサ１０、または複数でプロセッサ１０と言われることができる）を含む。さらにコンピューティング・デバイス１００は、Ｉ／Ｏインタフェース３０へ結合されたネットワーク・インタフェース４０を含む。
【００２４】
さまざまな実施形態において、コンピューティング・デバイス１００は、１つのプロセッサ１０を含むユニプロセッサ・システム、またはいくつかのプロセッサ１０（たとえば、２、４、８または別の適切な数）を含むマルチプロセッサ・システムであってもよい。プロセッサ１０は、インストラクションを実行可能な任意の適切なプロセッサであってもよい。たとえば、さまざまな実施形態において、プロセッサ１０は、ｘ８６，ＰｏｗｅｒＰＣ、ＳＰＡＲＣまたはＭＩＰＳ  ＩＳＡまたは任意の他の適切なＩＳＡのような、さまざまなインストラクション・セット・アーキテクチャ（ＩＳＡ）のいずれかを実装する汎用または組み込みプロセッサであってもよい。マルチプロセッサ・システムにおいて、各プロセッサ１０は、同じＩＳＡを一般に実装するが、必ずしもこれを実装しなくてもよい。
【００２５】
システム・メモリ２０は、プロセッサ（複数を含む）１０によりアクセス可能なインストラクションおよびデータを格納するように構成されることができる。さまざまな実施形態において、システム・メモリ２０は、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、同期ダイナミックＲＡＭ（ＳＤＲＡＭ）、不揮発性／Ｆｌａｓｈ（登録商標）型メモリまたは任意の他の種類のメモリのような、任意の適切なメモリ技術を使用して実装されることができる。図示された実施形態において、上記のこれらの方法、技術およびデータのような、１つ以上の所望の機能を実装するプログラム・インストラクションおよびデータは、コード２５およびデータ２６としてシステム・メモリ２０内に格納されて示される。
【００２６】
１つの実施形態において、Ｉ／Ｏインタフェース３０は、ネットワーク・インタフェース４０または他の周辺インタフェースを含む、デバイス中のプロセッサ１０、システム・メモリ２０および任意の周辺機器間でＩ／Ｏトラフィックを調整するように構成されることができる。いくつかの実施形態において、Ｉ／Ｏインタフェース３０は、任意の必要なプロトコル、タイミングまたは他のデータ変換を実行でき、データ信号を１つのコンポーネント（たとえば、システム・メモリ２０）から別のコンポーネント（たとえば、プロセッサ１０）で使用するために適切なフォーマットへ変換する。いくつかの実施形態において、Ｉ／Ｏインタフェース３０は、たとえば、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）・バス規格またはユニバーサル・シリアル・バス（ＵＳＢ）規格の変形のような、さまざまな種類のペリフェラル・バスを介して取り付けられたデバイスへの支援を有することができる。いくつかの実施形態において、Ｉ／Ｏインタフェース３０の機能は、たとえば、ノース・ブリッジおよびサウス・ブリッジのような、２つ以上の別々のコンポーネントに分割されることができる。また、いくつかの実施形態において、システム・メモリ２０へのインタフェースのような、Ｉ／Ｏインタフェース３０の機能のいくつかまたはすべては、直接にプロセッサ１０に組み込まれることができる。
【００２７】
ネットワーク・インタフェース４０は、たとえば、他のコンピュータ・システムまたはデバイスのような、１つのネットワークまたは複数のネットワーク５０に接続された、コンピューティング・デバイス１００および他の１つのデバイスまたは複数のデバイス６０間でデータを交換することを可能にするように構成されることができる。さまざまな実施形態において、ネットワーク・インタフェース４０は、たとえば、イーサネット・ネットワーク・タイプのような、任意の適切な有線または無線の一般的なデータ・ネットワーク経由で通信を支援することができる。加えて、ネットワーク・インタフェース４０は、ファイバ・チャネルＳＡＮのようなストレージ・エリア・ネットワーク（「ＳＡＮ」）経由で、またはネットワークおよび／またはプロトコルの任意の他の適切なタイプ経由で、アナログ音声ネットワークまたはデジタル・ファイバ通信ネットワークのような電信／電話ネットワークを介して通信を支援することができる。
【００２８】
いくつかの実施形態において、システム・メモリ２０は、対応する方法および装置の実施形態を実装するために上記のようなプログラム・インストラクションおよびデータを格納するように構成されたコンピュータ・アクセス可能なメディアの１つの実施形態であってもよい。しかしながら、他の実施形態において、プログラム・インストラクションおよび／またはデータは、異なるタイプのコンピュータ・アクセス可能なメディア上で受信される、送信されるまたは格納されることができる。一般的に言えば、コンピュータ・アクセス可能なメディアは、たとえば、Ｉ／Ｏインタフェース３０経由でコンピューティング・デバイス１００へ結合されたディスクまたはＤＶＤ／ＣＤの、磁気または光メディアのような、非一時的なストレージ・メディアまたはメモリ・メディアを含むことができる。非一時的なコンピュータ・アクセス可能なストレージ・メディアはまた、システム・メモリ２０または別の種類のメモリとしてコンピューティング・デバイス１００のいくつかの実施形態に含まれることができる、ＲＡＭ（たとえば、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭ等）、ＲＯＭ（読み出し専用メモリ）等のような、任意の揮発性または不揮発性メディアを含むことができる。さらに、コンピュータ・アクセス可能なメディアは、ネットワーク・インタフェース４０を介して実装されることができるこれらのような、ネットワークおよび／または無線リンクのような通信メディアを介して搬送された電気、電磁またはデジタル信号のような伝送メディアまたは信号を含むことができる。図２で説明されたこれらのような複数のコンピューティング・デバイスの部分またはすべては、さまざまな実施形態において記載された機能を実装するために使用されることができ、たとえば、さまざまな異なるデバイスおよびサーバ上で実行するソフトウェア・コンポーネントは、機能を提供するために連携することができる。いくつかの実施形態において、記載された機能の部分は、汎用コンピュータ・システムを使用して実装されることに加えて、またはこのことの代わりに、ストレージ・デバイス、ネットワーク・デバイスまたは専用コンピュータ・システムを使用して実装されることができる。本明細書で使用される用語「コンピューティング・デバイス」は、少なくともすべてのこれらの種類のデバイスを参照し、これらの種類のデバイスへ限定されない。
【００２９】
コンピューティング・ノードとも言われることができる、コンピュータ・ノードは、コモディティ・ハードウェア・コンピュータ、仮想マシン、ウェブ・サービス、コンピューティング・クラスタおよびコンピューティング・アプライアンスのような、多種多様のコンピューティング環境上に実装されることができる。これらのコンピューティング・デバイスまたは環境のいずれかは、便宜上、計算ノードとして記載されることができる。
【００３０】
企業または公共部門の組織のようなエンティティによりセット・アップされ、インターネットおよび／または他のネットワーク経由でアクセス可能な１つ以上のウェブ・サービス（様々な種類のクラウド・ベースのコンピューティングまたはストレージのような）を分散した一連のクライアントへ提供するネットワークは、プロバイダ・ネットワークと言われることができる。このような、プロバイダ・ネットワークは、プロバイダ・ネットワークにより提供されたインフラストラクチャおよびウェブ・サービスを実装し分散させることが必要な、物理的なおよび／または仮想化コンピュータ・サーバ、ストレージ・デバイス、ネットワーク機器等のような、さまざまなリソース・プールをホストする多数のデータ・センタを含むことができる。このリソースは、いくつかの実施形態において、ストレージ用のストレージ容量、処理用の処理能力、インスタンス、関連サービスのセット等としてのような、ウェブ・サービスに関連付けられたさまざまなユニット中のクライアントへ提供されることができる。仮想コンピューティング・インスタンスは、たとえば、指定された計算能力（ＣＰＵのタイプおよび数、メイン・メモリ・サイズ等を示すことで指定されることができる）および指定されたソフトウェア・スタック（たとえば、ハイパーバイザ上で実行することができる、特定のバージョンのオペレーティング・システム）を備える１つ以上のサーバを含むことができる。
【００３１】
複数の異なる種類のコンピューティング・デバイスは、単一でまたは組み合わせて使用されることができ、異なる実施形態において、汎用または専用コンピュータ・サーバ、ストレージ・デバイス、ネットワーク・デバイス等を含む、プロバイダ・ネットワークのリソースを実装する。いくつかの実施形態において、クライアントまたはユーザは、たとえば、ユーザに管理者ログインおよびパスワードを与えることで、リソース・インスタンスへの直接アクセスを提供されることができる。他の実施形態において、プロバイダ・ネットワーク・オペレータは、たとえば、クライアントがインスタンスまたは実行プラットフォームに直接にアクセスする必要なく、アプリケーションに適切な実行プラットフォーム（アプリケーション・サーバ・インスタンス、Ｊａｖａ（登録商標）仮想マシン（ＪＶＭ）、汎用または専用オペレーティング・システム、Ｒｕｂｙ、Ｐｅｒｌ、Ｐｙｔｈｏｎ、Ｃ、Ｃ＋＋等のようなさまざまなインタプリタ型またはコンパイル型プログラミング言語に対応するプラットフォームまたは高性能コンピューティング・プラットフォームのような）上でクライアントに代わり指定されたクライアント・アプリケーション用の実行要件およびアプリケーションのスケジュール実行をクライアントが指定することを可能にすることができる。所与の実行プラットフォームは、いくつかの実装において、１つ以上のリソース・インスタンスを利用することができ、他の実装において、複数の実行プラットフォームは、単一リソース・インスタンスへマッピングされることができる。
【００３２】
多くの環境において、異なる種類の仮想化コンピューティング、ストレージおよび／または他のネットワーク・アクセス可能な機能を実装するプロバイダ・ネットワークのオペレータは、さまざまなリソース獲得モード中のリソースへのアクセスを顧客が確保するまたは取得することを可能にすることができる。コンピューティング・リソース・プロバイダは、所望のコンピューティング・リソースを選択して起動し、アプリケーション・コンポーネントをコンピューティング・リソースへ展開し、この環境で実行するアプリケーションを維持する機能を顧客のために提供することができる。加えて、コンピューティング・リソース・プロバイダは、アプリケーション変更の要求、またはこれの必要容量として、手動でまたは自動スケーリングを通して、アプリケーションに割り当てられたリソースの数および種類を迅速かつ容易に増減させる機能を顧客のためにさらに提供することができる。コンピューティング・リソース・プロバイダにより供給されたコンピューティング・リソースは、インスタンスと言われることができる、個別のユニットで利用可能にすることができる。インスタンスは、物理的なサーバ・ハードウェア・プラットフォーム、サーバ上で実行する仮想マシン・インスタンス、またはこの２つのいくつかの組み合わせを表すことができる。異なるオペレーティング・システム（ＯＳ）および／またはハイパーバイザを実行するリソースの異なるサイズを含み、さまざまなインストールされたソフトウェア・アプリケーション、実行時間等を備える、さまざまな種類および構成のインスタンスを利用可能にさせることができる。インスタンスは、たとえば、基礎となるコンピューティング・ハードウェアの、論理領域、耐障害性領域、データ・センタまたは他の地理的位置を表す、特定の可用性ゾーンでさらに利用可能であることができる。インスタンスは、１つの可用性ゾーン内または複数の可用性ゾーン間でコピーされることができ、インスタンスの冗長性を改善し、インスタンスは、特定の可用性ゾーン内または複数の可用性ゾーン間で移行されることができる。１つの実施例として、可用性ゾーン中の特定のサーバと通信するクライアントのレイテンシは、別のサーバと通信するクライアントのレイテンシより短い可能性がある。または、インスタンスは、より長いレイテンシのサーバからより短いレイテンシのサーバへ移行されることができ、全体的なクライアント・エクスペリエンスを改善する。
【００３３】
いくつかの実施形態において、プロバイダ・ネットワークは、複数の地理的領域に編成されることができ、各領域は、１つ以上の可用性ゾーンを含むことができる。可用性ゾーン（また可用性コンテナと言われることができる）は、その結果、所与の可用性ゾーン中のリソースが他の可用性ゾーンでの障害から隔離される、またはこれから保護されることができるような方式で構成された、１つ以上の別個の位置またはデータ・センタを備えることができる。すなわち、１つの可用性ゾーンでの障害が、任意の他の可用性ゾーンでの障害につながることは考えられない。このようにして、リソース・インスタンスの可用性プロファイルは、別の可用性ゾーンでのリソース・インスタンスの可用性プロファイルから独立していることを意図される。クライアントは、それぞれの可用性ゾーンで複数のアプリケーション・インスタンスを起動することで、クライアントのアプリケーションを障害から保護することが可能であることができる。同時に、いくつかの実装において、安価で低レイテンシのネットワーク接続性は、同じ地理的領域内に存在するリソース・インスタンス間で提供されることができる（および同じ可用性ゾーンのリソース間のネットワーク伝送はさらに速くなることができる）。
【００３４】
上記のように、本開示の技術に従い、コンテンツ・アイテムは、複数の提示ストリームに関連して提示されてもよい。図３は、本開示に従い複数の提示ストリームと関連するコンテンツ提示用の例示的なシステムを図示する図解である。図３で説明されるように、コンテンツ・プロバイダ３００およびクライアント４００は、いくつかの場合において、たとえば、インターネットまたは別の種類のワイド・エリア・ネットワーク（ＷＡＮ）もしくはローカル・エリア・ネットワーク（ＬＡＮ）のような、電子ネットワークであってもよい、ネットワーク３８０経由で通信する。コンテンツ・プロバイダ３００は、たとえば、クライアント４００のようなクライアントへコンテンツを提供するための１つ以上のコンテンツ提供サービスを提供することができる。このコンテンツ提供サービスは、１つ以上のサーバ上に存在することができる。コンテンツ提供サービスは、１人以上の顧客の要求を満たすために拡張可能であることができ、着信するクライアント要求の数および種類に基づき機能を増減させることができる。コンテンツ提供サービスの部分は、また移行されることができ、要求するクライアントに関してレイテンシが短い位置に配置される。たとえば、コンテンツ・プロバイダ３００は、クライアント４００に物理的におよび／または論理的に最も近いコンテンツ提供サービスに関連付けられたシステムまたはネットワークの「エッジ」を決定することができる。コンテンツ・プロバイダ３００は、そのとき、たとえば、「スピンアップ」する、リソースを移行する、または、クライアント４００と相互作用するために決定されたエッジに関連付けられたコンポーネントを使用することができる。このような、エッジ決定プロセスは、いくつかの場合において、特定のクライアント４００との相互作用によく適しているコンポーネントを識別して使用するための効率的な技術を提供することができ、いくつかの実施形態において、コンテンツ・プロバイダ３００および１人以上のクライアント間の通信のレイテンシを減らすことができる。
【００３５】
クライアント４００およびコンテンツ・プロバイダ３００は、いくつかの場合において、コンテンツ・プロバイダ３００がクライアント４００でのコンテンツ・アイテム提示を支援するために通信することができる。本明細書で使用されるコンテンツという用語は、任意の提示可能な情報を指し、本明細書で使用されるコンテンツ・アイテムという用語は、任意のこのような提示可能な情報の任意の集まりを指す。たとえば、コンテンツ・アイテムは、テレビ・ゲームのようなグラフィック・コンテンツを含むことができる。いくつかの場合において、コンテンツ・アイテムは２次元コンテンツを含むことができ、本明細書で使用される場合、２次元シーンに従い表現されることができるコンテンツを指す。また、いくつかの場合において、コンテンツ・アイテムは３次元コンテンツを含むことができ、本明細書で使用される場合、３次元シーンに従い表現されることができるコンテンツを指す。２次元または３次元シーンは、それらが、たとえば、論理的にモデル化する、または表現することを意図される領域を物理的に占有しない可能性があるシーン内の論理的表現とみなされることができる。本明細書で使用されるシーンという用語は、画像生成に関連して使用されることができる表現を指す。シーンは、たとえば、シーンを記述する情報もしくはデータを含む、またはこれと関連することができる。コンテンツ・アイテムを提示するために、コンテンツ・アイテムに関連付けられたシーンは、表示用に得られる画像を生成するために使用されることができる。この画像は、たとえば、投影、反射、ライトニング、シェーディング等のようなコンセプトを組み込むことができる、レンダリングと一般的に言われるプロセス方式により生成されることができる。画像は、たとえば、さまざまな画素値および／または属性を関連付けられた情報のような、表示可能な出力を関連付けられた情報を含むことができる。
【００３６】
図３で説明されるように、クライアント４００およびコンテンツ・プロバイダ３００は、コンテンツ・アイテムのそれぞれのバージョンを各実行する。特に、クライアント４００は、クライアント・コンテンツ・アイテム・バージョン４３０を実行しながら、コンテンツ・プロバイダ３００は、コンテンツ・プロバイダ・コンテンツ・アイテム・バージョン３３０を実行する。簡略化のために、クライアント・コンテンツ・アイテム・バージョン４３０およびコンテンツ・プロバイダ・コンテンツ・アイテム・バージョン３３０は、集合的に単一のコンテンツ・アイテムと言われることができる。このようにして、いくつかの場合において、単一のコンテンツ・アイテムは、クライアント４００上およびコンテンツ・プロバイダ３００に実行する２つの関連付けられたバージョンを含むことができる。以下でより詳細に記載されるように、クライアント・コンテンツ・アイテム・バージョン４３０およびコンテンツ・プロバイダ・コンテンツ・アイテム・バージョン４３０は、いくつかの場合において、それらがクライアント４００に提示された１つ以上の画像用の補完機能を生成するように、互いとの組み合わせで実行するように設計されることができる。いくつかの場合において、たとえば、テレビ・ゲームを作成する企業のような、コンテンツ・クリエイタは、コンテンツ・プロバイダおよび個々のクライアントへコンテンツ・アイテムの別個のクライアントおよびコンテンツ・プロバイダ・バージョンを販売し、これを別々に配信することができる。他の場合において、たとえば、コンテンツ・クリエイタは、コンテンツ・プロバイダへクライアントおよびコンテンツ・プロバイダ・バージョンの両方を配信することができ、そのとき個々のクライアントは、コンテンツ・プロバイダからクライアント・バージョンを取得する、または任意の数の他の追加の当事者を形成することができる。クライアントおよびコンテンツ・プロバイダ・バージョンは、たとえば、種々の形態のストレージ・メディア等を配信することで、電子ダウンロードを使用して配信されることができる。
【００３７】
理解されるように、クライアント４００およびコンテンツ・プロバイダ３００が異なるバージョンのコンテンツ・アイテムを必ずしも実行する必要はない。たとえば、いくつかの場合において、クライアント４００およびコンテンツ・プロバイダ３００は、同一バージョンのコンテンツ・アイテムを実行することができるが、同一コンテンツ・アイテム・バージョンの異なる部分または機能にアクセスする、またはこれを実行することができる。
【００３８】
クライアント４００は、クライアント状態コンポーネント４５０を含み、一方、コンテンツ・プロバイダ３００は、コンテンツ・プロバイダ状態コンポーネント３５０を含む。一般に、クライアント状態コンポーネント４５０およびコンテンツ・プロバイダ状態コンポーネント３５０は、たとえば、コンテンツ・アイテムの提示に関連付けられた状態情報を収集し、維持し、格納し、交換することができる。このような状態情報は、たとえば、コンテンツ・アイテムの提示に関連付けられた、さまざまな機能、イベント、アクションまたは動作に関連付けられた情報を含むことができる。
【００３９】
いくつかの場合において、クライアント状態コンポーネント４５０は、クライアント４００のユーザにより提供された入力に関連付けられた状態情報を収集することができる。たとえば、いくつかの場合において、クライアント４００は、提示されたコンテンツ・アイテムに関連付けられた特定のエンティティを制御することができる。このようなエンティティは、たとえば、さまざまなキャラクタ、車両、武器、運動競技用器材等を含むことができる。たとえば、テレビ・ゲームは、多くの場合、様々な参加者が１つ以上の異なるキャラクタまたは他のエンティティを制御することを可能にする。このようにして、いくつかの場合において、クライアント状態コンポーネント４５０は、クライアント４００が制御するキャラクタまたは他のエンティティに関連付けられた状態情報を収集することができる。たとえば、制御されたキャラクタは、新規の位置へ移動する、または武器の発射もしくはゴルフ・クラブのスイングのようなアクションを実行することができる。これらの例示的なアクションに関連付けられた状態情報は、たとえば、クライアント状態コンポーネント４５０により収集されることができる。加えて、クライアント状態コンポーネント４５０は、たとえば、ユーザによる制御用の特定のエンティティのユーザ選択、またはあるエンティティから別のエンティティへ制御を切り替えるユーザ選択に関連付けられた情報を収集することができる。
【００４０】
クライアント状態情報コンポーネント４５０により収集された状態情報は、しかしながら、クライアント４００により制御されたユーザ入力および／またはエンティティに関連付けられた情報に限定されない。たとえば、クライアント状態情報コンポーネント４５０は、クライアント・ストリーム４１０と、またはコンテンツ・アイテム提示の任意の他の態様に関連付けられた、さまざまな機能、イベント、アクションまたは動作に関連付けられた状態情報をまた収集することができる。
【００４１】
コンテンツ・プロバイダ状態コンポーネント３５０はまた、コンテンツ・アイテム提示に関連付けられた状態情報を収集することができる。たとえば、コンテンツ・プロバイダ状態情報コンポーネント３５０は、コンテンツ・プロバイダ・ストリーム３１０と、またはコンテンツ・アイテム提示の任意の他の態様に関連付けられた、さまざまな機能、イベント、アクションまたは動作に関連付けられた状態情報を収集することができる。
【００４２】
クライアント状態コンポーネント４５０およびコンテンツ・プロバイダ状態コンポーネント３５０は、いくつかの場合において、状態情報を別のものと定期的に交換することができる。いくつかの場合において、クライアント状態コンポーネント４５０およびコンテンツ・プロバイダ状態コンポーネント３５０は、すべてのまたはほぼすべての収集された状態情報を交換することができる。しかしながら、すべてのまたはほぼすべての収集された状態情報がクライアント状態コンポーネント４５０およびコンテンツ・プロバイダ状態コンポーネント３５０間で交換される必要はない。いくつかの場合において、クライアント状態コンポーネント４５０は、コンテンツ・プロバイダ・ストリーム３１０の生成のために必要であるとみなされる収集された状態情報の一部のみをコンテンツ・プロバイダ状態コンポーネント３５０へ送信することができる。同様に、いくつかの場合において、コンテンツ・プロバイダ状態コンポーネント３５０は、クライアント・ストリーム４１０の生成のために必要であるとみなされる収集された状態情報の一部のみをクライアント状態コンポーネント４５０へ送信することができる。
【００４３】
状態情報は、たとえば、任意の所望の時間または間隔で定期的にクライアント状態コンポーネント４５０およびコンテンツ・プロバイダ状態コンポーネント３５０間で交換されることができる。クライアント状態コンポーネント４５０およびコンテンツ・プロバイダ状態コンポーネント３５０は、たとえば、同時に、または異なる時間に互いに異なる伝送を使用して、状態情報を交換することができる。いくつかの場合において、クライアント状態コンポーネント４５０およびコンテンツ・プロバイダ状態コンポーネント３５０は、状態情報の更新を定期的に送信する、または交換することができる。このような更新は、たとえば、前回の更新または伝送で送信されなかった状態情報のみを含むことができるので、以前に送信された情報を再送信しないことで帯域幅を節約する。
【００４４】
いくつかの場合において、提示されたコンテンツ・アイテムは、コンテンツ・プロバイダ３００に接続された複数のクライアントに提示されることができる。たとえば、提示されたコンテンツ・アイテムは、このテレビ・ゲームで異なるそれぞれのキャラクタを各々制御する複数の異なるクライアントを備える、マルチプレイヤ・テレビ・ゲームであってもよい。このような場合において、参加するクライアント・デバイスの各々は、たとえば、コンテンツ・プロバイダ状態コンポーネント３５０と状態情報を定期的に交換することができる。コンテンツ・プロバイダ状態コンポーネント３５０から参加するクライアントの各々へ送信された状態情報は、そのとき、たとえば、他の参加するクライアントの各々から受信した状態情報を含むことができる。
【００４５】
クライアント４００は、クライアント・コンテンツ・アイテム・バージョン４３０との組み合わせでクライアント状態コンポーネント４５０を使用でき、クライアント・ストリーム４１０の生成のために入力をクライアント・レンダリング・コンポーネント４２５へ提供する。同様に、コンテンツ・プロバイダ３００は、コンテンツ・プロバイダ・ストリーム３１０の生成のためにコンテンツ・プロバイダ・レンダリング・コンポーネント３２５へコンテンツ・プロバイダ・コンテンツ・アイテム・バージョン３３０との組み合わせでコンテンツ・プロバイダ状態コンポーネント３５０を使用することができる。クライアント・レンダリング・コンポーネント４２５およびコンテンツ・プロバイダ・レンダリング・コンポーネント３２５は、たとえば、グラフィック処理ユニット等を含むことができる。クライアント・ストリーム４１０およびコンテンツ・プロバイダ・ストリーム３１０は、たとえば、対応する画像、画像の一部、または得られる表示画像に関連して使用可能である他の情報を各々含むことができる。たとえば、いくつかの場合において、ストリーム３１０および／または４１０は、コンテンツ・アイテム提示に関連付けられたさまざまな機能を記載する、またはその他の方法でこれに対応する情報を含むことができる。表示画像は、クライアント４００により表示される画像である。
【００４６】
符号化および圧縮コンポーネント３１５は、そのクライアント４００への送信前にコンテンツ・プロバイダ・ストリーム３１０を符号化し圧縮することができる。符号化および圧縮コンポーネント３１５は、たとえば、エンコーダ、コンプレッサ、コーデック等を含むことができる。符号化および圧縮コンポーネント３１５は、一般に、クライアント４００への送信用にコンテンツ・プロバイダ・ストリーム３１０を符号化および／または圧縮する、任意の適切な技術を使用することができる。いくつかの場合において、必ずしもコンテンツ・プロバイダ・ストリーム３１０を符号化および／または圧縮しない可能性がある。任意の必然的な符号化および／または圧縮動作の実行後、コンテンツ・プロバイダ・ストリーム３１０は、クライアント４００へネットワーク３８０経由で送信されることができる。
【００４７】
いくつかの場合において、コンテンツ・プロバイダ・ストリーム３１０は、ストリーミング・コンテンツ配信技術に従い送信されることができ、このコンテンツは、常にクライアント・デバイス４００により受信され提示されることができる。また、いくつかの場合において、コンテンツ・プロバイダ・ストリーム３１０は、クライアント４００に関連付けられた専用のそれぞれのサーバにより送信されることができる。別個のそれぞれのストリーミング・サーバの使用は、たとえば、いくつかの場合において、各クライアントへのネットワーク接続に関連付けられたサービス品質のような要因に基づき個々のクライアントへのさまざまな送信特性を調整する能力が改善されるため、有利であることができる。調整された送信特性は、たとえば、符号化率、送信速度、画質およびその他の関連要因を含むことができる。しかしながら、開示された技術は各クライアントへの送信用に別個のサーバの使用に限定されないことに留意する。むしろ、開示された技術は任意の数の異なるクライアントへの各送信用に任意の数のサーバを使用できる。開示された技術はストリーミング技術で使用することに限定されず、他のコンテンツ配信技術を使用できることにまた留意する。
【００４８】
クライアント４００により受信されると、コンテンツ・プロバイダ・ストリーム３１０は、復号および解凍コンポーネント４１５により復号され解凍されることができる。復号および解凍コンポーネント４１５は、たとえば、デコーダ、デコンプレッサ、コーデック等を含むことができる。復号および解凍コンポーネント３１５は、一般に、コンテンツ・プロバイダ・ストリーム３１０を復号する、および／または解凍する任意の適切な技術を使用できる。上記のように、いくつかの場合において、コンテンツ・プロバイダ・ストリーム３１０は、符号化および／または圧縮されない可能性があるので、復号および／または解凍の必要がない可能性がある。
【００４９】
任意の必要な復号または解凍後に、コンテンツ・プロバイダ・ストリーム３１０は、クライアント・ストリーム４１０と組み合わせて、ストリーム処理コンポーネント４２０へ提供されることができる。ストリーム処理コンポーネント４２０は、たとえば、コンテンツ・プロバイダ・ストリーム３１０およびクライアント・ストリーム４１０の１つ以上のさまざまな機能を選択することができ、その結果もたらされる提示ストリームを形成する。この結果としてもたらされる提示ストリームは、たとえば、表示画面、モニタ、スピーカのようなオーディオ・コンポーネント、コントロール・パネル等を含むことができる、提示コンポーネント４４０により提示されることができる。
【００５０】
本明細書で使用される用語機能は、画像または他の情報集積物のいずれかの部分を指す。１つの機能は、たとえば、特定の画素または画素集積物であってもよい。１つの機能は、１つ以上の色、質感、形状、パターンまたは他の視覚効果のすべてまたはいずれかの部分であってもよい。１つの機能は、たとえば、特定のオブジェクトのすべてまたはいずれかの部分であってもよい。また１つの機能は、たとえば、オブジェクト集積物のすべてまたはいずれかの部分であってもよい。１つの機能は、たとえば、特定のアセットのすべてまたはいずれかの部分であってもよい。また１つの機能は、たとえば、アセット集積物のすべてまたはいずれかの部分であってもよい。また１つの機能は、たとえば、木、火、水、雲、布、衣類、人間、動物等のようなエンティティのすべてまたはいずれかの部分であってもよい。たとえば、１つの機能は木の一部または布の一部であってもよい。また１つの機能は、たとえば、オブジェクト、エンティティおよび／またはアセット集積物のすべてまたはいずれかの部分を含むことができる。また１つの機能は、オーディオ情報である、またはこれを含むことができる。また１つの機能は、この段落で上述したものを少なくとも部分的に記載する、または示す任意の情報である、またはこれを含むことができる。
【００５１】
いくつかの場合において、提示されたコンテンツ・アイテムに関連してクライアント４００に表示された１つ以上の画像のために、画像での機能の少なくともいくつかは、クライアント・ストリーム４１０およびコンテンツ・プロバイダ・ストリーム３１０間に分散されることができる。クライアント・ストリーム４１０での機能は、クライアント・ストリーム機能と言われることができ、さらにコンテンツ・プロバイダ・ストリーム３１０での機能は、コンテンツ・プロバイダ・ストリーム機能と言われることができる。このようにして、たとえば、クライアント・ストリーム４１０からの特定の画像または情報の他の部分は、コンテンツ・プロバイダ・ストリーム３１０からの相手方画像または情報の他の部分と組み合わされることができ、クライアント４００への表示用に結果としてもたらされる画像を形成する。いくつかの場合において、ビデオ機能に加えて、クライアント・ストリーム４１０および／またはコンテンツ・プロバイダ・ストリーム３１０は、また、オーディオ機能を含む、または示すことができる。
【００５２】
いくつかの場合において、クライアント・ストリーム４１０およびコンテンツ・プロバイダ・ストリーム３１０は、ストリーム処理コンポーネント４２０により各ストリームを受信する時間に関して互いに正確に同期されることができない。たとえば、いくつかの場合において、コンテンツ・プロバイダ・ストリーム３１０中の画像は、クライアント・ストリーム４１０から相手方画像を受信する前または後のいずれかに、ストリーム処理コンポーネント４２０により受信されることができる。正確な同期の欠如は、クライアント４００および／またはコンテンツ・プロバイダ３００でのネットワーク・レイテンシまたは処理レイテンシのような要因による可能性がある。１つ以上の同期技術は、ストリームの組み合わせ４２０が、コンテンツ・プロバイダ・ストリーム３１０およびクライアント・ストリーム４１０中の相手方画像または画像部分を識別するのを支援するために使用されることができる。１つの例示的な同期技術は、クライアント・ストリーム４１０およびコンテンツ・プロバイダ・ストリーム３１０中の画像または情報の他の部分へ識別子を割り当てることを伴うことができる。割り当てられた識別子は、たとえば、シーケンス識別子、タイムスタンプ等を含むことができる。ストリーム処理コンポーネント４２０は、たとえば、各ストリーム３１０および４１０中の画像または情報の他の部分へ識別子をマッチングすることで相手方画像を識別することができる。
【００５３】
上記のように、いくつかの場合において、クライアント４００およびコンテンツ・プロバイダ３００間の接続は、コンテンツ・アイテムの提示中の特定の期間に制限されるようになる、または中断するようになることがありえる。たとえば、クライアント４００は、コンテンツ提示セッション中に位置を変更する、モバイル機器または別のトランスポータブル・デバイスであってもよい。このような、位置変更は、サービスの質が悪い、またはコンテンツ・プロバイダへの接続性が欠如する地域をクライアントに通過させる、またはこれにクライアントを移動させる可能性がある。いくつかの場合において、クライアント４００が位置を変更しない場合でも、ネットワーク状態を変更することは、また潜在的にサービスの質を低下させる、および／または接続を終了させる可能性がある。
【００５４】
クライアント４００がコンテンツ提示セッション中にコンテンツ・プロバイダ３００から切断されるようになる場合に、そのときこれは、クライアント４００がコンテンツ・プロバイダ・ストリーム３１０を少なくとも一時的に利用できなくなる状況をもたらす可能性がある。加えて、いくつかの場合において、接続性が維持される場合でも、ネットワーク・サービスの品質は、コンテンツ・プロバイダ・ストリーム３１０が表示用に必要な品質で、および／または必要な期間内に受信できないほど低くなる可能性がある。
【００５５】
いくつかの場合において、コンテンツ・プロバイダ・ストリーム３１０がクライアント４００に少なくとも一時的に利用できなくなるときに、ストリーム処理コンポーネント４２０は、コンテンツ・プロバイダ・ストリーム３１０から任意の追加の機能なしでクライアント・ストリーム４１０を提示コンポーネント４４０に伝えることができる。これは、いくつかの場合において、得られる提示ストリームがコンテンツ・プロバイダ・ストリーム３１０から追加の入力なしでクライアント・ストリーム４１０に基づくので、クライアント・ストリーム動作モードと言われることができる。
【００５６】
それに対して、いくつかの場合において、コンテンツ・プロバイダ・ストリーム３１０がクライアント４００に利用可能であるときに、ストリーム処理コンポーネント４２０はクライアント・ストリーム４１０をコンテンツ・プロバイダ・ストリーム３１０と組み合わせることができ、上記のような結果として得られる提示ストリームを形成する。これは、いくつかの場合において、得られる提示ストリームがクライアント・ストリーム４１０およびコンテンツ・プロバイダ・ストリーム３１０の両方に基づくハイブリッド・ストリームであるので、ハイブリッド・ストリーム動作モードと言われることができる。理解されるように、ハイブリッド・ストリーム動作モードおよびクライアント・ストリーム動作モードという用語は、本明細書で単に簡略化のために使用され、クライアント・ストリーム４１０およびコンテンツ・プロバイダ・ストリーム３１０の組み合わせに関連して２つの別個の動作モードを使用することをクライアントが必ず要求されることを意味するものではない。
【００５７】
図４は、本開示に従いハイブリッド・ストリーム・モードで動作する例示的なコンテンツ提示システムを説明する図解である。図４で説明されるように、コンテンツ・プロバイダ３００はクライアント４００に接続されるので、コンテンツ・プロバイダ・ストリーム３１０を、クライアント４００へ送信すること、およびストリーム処理コンポーネント４２０に利用可能にさせることを可能にする。ストリーム処理コンポーネント４２０は、コンテンツ・プロバイダ・ストリーム３１０の少なくともいくつかの機能をクライアント・ストリーム４１０の少なくともいくつかの機能と組み合わせ、結果としてハイブリッド・ストリーム４６０を形成し、ハイブリッド・ストリーム４６０は提示コンポーネント４４０へ提供される。
【００５８】
図５は、本開示に従いクライアント・ストリーム・モードで動作する例示的なコンテンツ提示システムを説明する図解である。クライアント４００およびコンテンツ・プロバイダ３００間に配置された太字Ｘ形状で示されるように、コンテンツ・プロバイダ・ストリーム３１０は、図５でクライアント４００に利用不可能である。上記のように、これは、たとえば、コンテンツ・プロバイダ３００がクライアント４００に接続されないとき、またはクライアント４００およびコンテンツ・プロバイダ３００間の接続に関連付けられたサービス品質が最小閾値を下回り切断されるときに、発生する可能性がある。図５で説明されるように、ストリーム処理コンポーネント４２０は、コンテンツ・プロバイダ・ストリーム３１０から任意の追加の機能なしで提示コンポーネント４４０にクライアント・ストリーム４１０を伝えることができる。
【００５９】
適切な技術の任意の組み合わせは、コンテンツ・プロバイダ・ストリーム３１０が利用できなくなるときを判定するためにクライアント４００により使用されることができる。たとえば、いくつかの場合において、クライアント４００は、クライアント４００およびコンテンツ・プロバイダ３００間の接続を監視する１つ以上のコンポーネントを含むことができる。これらの監視コンポーネントは、いくつかの場合において、コンテンツ・プロバイダ３００への接続が終了されるとき、またはサービスのネットワーク品質が最小閾値状態を下回るときに、ストリーム処理コンポーネント４２０に警告することができる。これは、クライアント・ストリーム動作モードでストリーム処理コンポーネント４２０を少なくとも一時的に動作させる可能性がある。加えて、監視コンポーネントは、いくつかの場合において、コンテンツ・プロバイダ３００への接続が再開されるとき、またはサービスのネットワーク品質が最小閾値状態を上回るときに、ストリーム処理コンポーネント４２０に警告することができる。これは、ハイブリッド・ストリーム動作モードでストリーム処理コンポーネント４２０を少なくとも一時的に動作させることができる。
【００６０】
また、いくつかの場合において、最大許容遅延期間は、コンテンツ・プロバイダ３００から画像を受信するために確立されることができる。たとえば、特定の画像がクライアント・ストリーム４１０で受信されるときに、タイミング・コンポーネントは、コンテンツ・プロバイダ・ストリーム３１０中の相手方画像を受信するための遅延期間のカウントを開始するために使用されることができる。コンテンツ・プロバイダ・ストリーム３１０からの相手方画像が遅延期間の満了前の任意の時点で受信される場合に、そのときコンテンツ・プロバイダ・ストリームからの相手方画像は、クライアント・ストリーム４１０からの画像とうまく合成されることができ、ハイブリッド画像を形成する。それに対して、コンテンツ・プロバイダ・ストリーム３１０からの相手方画像が遅延期間満了前に受信されない場合に、そのときコンテンツ・プロバイダ・ストリーム３１０は、利用できないと判定されることができ、コンテンツ・ストリーム４１０からの画像は、コンテンツ・プロバイダ３００から任意の追加の機能なしで提示されることができる。上記のように、シーケンス識別子およびタイムスタンプのような、複数の技術は、コンテンツ・プロバイダ・ストリーム３１０およびクライアント・ストリーム４１０中の相手方画像を識別するために使用されることができる。
【００６１】
いくつかの場合において、コンテンツ・アイテムに関連付けられた機能は、機能の重要度に基づきクライアント・ストリーム４１０およびコンテンツ・プロバイダ・ストリーム３１０間に分散されることができる。たとえば、クライアント・ストリーム４１０は、いくつかの場合において、より重要な機能を含むことができる一方、コンテンツ・プロバイダ・ストリーム３１０は、いくつかの場合において、あまり重要でない機能を含むことができる。別の実施例として、クライアント・ストリーム４１０は、いくつかの場合において、基本機能セットを含むことができる一方、コンテンツ・プロバイダ・ストリーム３１０は、いくつかの場合において、任意の機能セットを含むことができる。クライアント・ストリーム４１０は、たとえば、クライアント・ストリーム４１０が単独で、コンテンツ・アイテムを一時停止または再起動する必要なく少なくとも一時的に提示させることを可能にするのに少なくとも十分な機能を含むことができる。いくつかの場合において、コンテンツ・プロバイダ・ストリーム３１０がコンテンツ・アイテムの提示中に一時的に利用できなくなる場合に、コンテンツ・プロバイダ・ストリーム３１０が再び利用できるようになる、またはコンテンツ・アイテムの提示が完了するまで、クライアント・ストリーム４１０が単独でコンテンツ・アイテムを少なくとも一時的に提示することを可能にするのに少なくとも十分な機能をクライアント・ストリーム４１０に含むことが望ましい場合がある。
【００６２】
実施例として、バスケットボール・テレビ・ゲームであるコンテンツ・アイテムのために、クライアント・ストリーム４１０は、アクティブ・プレイヤ、ボールおよびバスケットのようなより重要度の高い機能を含むことができる。それに対して、コンテンツ・プロバイダ・ストリーム３１０は、群衆中の観客、スコアボード、アリーナ全体のさまざまな広告看板および控え選手が座るベンチのような、より重要度の低い機能を含むことができる。この実施例において、コンテンツ・プロバイダ・ストリームが利用できなくなるかもしれない場合に、コンテンツ・プロバイダ・ストリームでの例示的な機能は、バスケットボール・ゲームのプレイを少なくとも一時的に続けるためにおそらく必要とされない。それに対して、アクティブ・プレイヤ、ボールまたはバスケットなしでバスケットボールのプレイを続けることはおそらく困難であろう。
【００６３】
いくつかの場合において、コンテンツ・アイテムに関連付けられた機能は、機能の複雑度に基づきクライアント・ストリーム４１０およびコンテンツ・プロバイダ・ストリーム３１０間に分散されることができる。たとえば、いくつかの場合において、クライアント・ストリーム４１０は、１つ以上のオブジェクトのより低い複雑バージョンを含むことができる一方、コンテンツ・プロバイダ・ストリーム３１０は１つ以上のオブジェクトのより高い複雑バージョンを含むことができる。これは、たとえば、コンテンツ・プロバイダ・ストリーム３１０が得られる提示ストリームに含まれるときに、さまざまなオブジェクトがより現実的におよび／またはより詳細に出現することを可能にすることができる。またこれは、たとえば、キャラクタのおよび／または画像の１つ以上の部分の視認度が向上している外観を作成することができる。たとえば、クライアント・ストリーム４１０は、パターンまたはデザインのない無地として描写される布を含むことができる。それに対して、コンテンツ・プロバイダ・ストリーム３１０は、複数の異なる形状、質感および色を有する複雑なパターンを備える同じ布を含むことができる。
【００６４】
別の実施例として、いくつかの場合において、クライアント・ストリーム４１０は、前景オブジェクト用により高い詳細度、および背景オブジェクト用により低い詳細度を提供することができる。それに対して、いくつかの場合において、コンテンツ・プロバイダ・ストリームは、クライアント・ストリーム４１０に提示されない背景オブジェクト用により高い詳細度を提供することで、コンテンツ・ストリーム３１０を補足することができる。これらの場合において、コンテンツ・プロバイダ・ストリーム３１０が得られる提示ストリームに含まれるときに、画像視点からの視認距離が長くなるかのように表示することができる。それに対して、コンテンツ・プロバイダ・ストリーム３１０が得られる提示ストリームに含まれないときは、画像視点からの視認距離が短くなるかのように表示することができる。
【００６５】
いくつかの場合において、ストリーム処理コンポーネント４２０または別のコンポーネントは、コンテンツ・プロバイダ・ストリーム３１０の包含または排除をユーザに、より自然に表示させるために、１つの画像または一連の画像中に特定の視覚効果を挿入することができる。たとえば、いくつかの場合において、コンテンツ・ストリーム３１０が利用できないときに、霧効果を画像に挿入することができる。別の実施例として、太陽または別の光源は、雲または別のオブジェクトにより暗くなることができる。これらの視覚効果は、いくつかの場合において、自然な印象を与えるのに役立つことができ、表示された出力の一部のコンテンツ・アイテムのコンテキスト内に、あまり詳細でなく、またはみえにくく一時的に表示させる。
【００６６】
いくつかの場合において、クライアント・ストリーム４１０および／またはコンテンツ・プロバイダ・ストリーム３１０間での機能の分散は、状態情報または任意の他の適切な情報に基づき調整されることができる。実施例として、特定のテレビ・ゲームは、第一キャラクタおよび第二キャラクタと言われる、２人のキャラクタを含むことができる。テレビ・ゲーム提示の開始において、クライアント４００でユーザは、第一キャラクタの制御を有することを選択することができる。この選択の指示は、たとえば、クライアント状態コンポーネント４５０により収集されることができ、いくつかの場合において、図３で示される、ネットワーク３８０経由でコンテンツ・プロバイダ状態コンポーネント３５０に通信されることができる。この選択の結果として、選択された第一キャラクタは、たとえば、クライアント・ストリーム４１０に含まれることができる一方、選択されなかった第二キャラクタは、たとえば、コンテンツ・プロバイダ・ストリーム３１０に含まれることができる。しかしながら、テレビ・ゲームの提示中のその後のある時点で、クライアント４００でユーザは、キャラクタ選択の変更を決定することができ、ユーザの制御が第一キャラクタから第二キャラクタへ切り換えられる。この選択変更の指示は、たとえば、クライアント状態コンポーネント４５０により収集されることができ、いくつかの場合において、ネットワーク３８０経由でコンテンツ・プロバイダ状態コンポーネント３５０へ通信されることができる。この選択変更の結果として、その後に生成された画像用に、選択された第二キャラクタは、たとえば、クライアント・ストリーム４１０中に含まれることができる一方、選択されなかった第一キャラクタは、たとえば、コンテンツ・プロバイダ・ストリーム３１０中に含まれることができる。
【００６７】
いくつかの例示的なハイブリッド・ストリーム機能分散アプローチは、図６および７を参照して詳細に説明される。図６は、いくつかの実施形態で使用されることができる、例示的な第一ハイブリッド・ストリーム機能分散アプローチを説明する図解である。特に、図６は、異なるオブジェクトがコンテンツ・プロバイダ・ストリーム３１０およびクライアント・ストリーム４１０に含まれることができる状況を描写する。図６で説明されるように、コンテンツ・プロバイダ・ストリーム画像６７０は、相手方クライアント・ストリーム画像６７１と組み合わされ、ハイブリッド・ストリーム画像６７２を形成する。コンテンツ・プロバイダ・ストリーム画像６７０は、正方形のコンテンツ・プロバイダ・オブジェクト６８０Ａ〜Ｃを含む。クライアント・ストリーム画像６７１は、円形状のクライアント・オブジェクト６８１Ａ〜Ｃを含む。コンテンツ・プロバイダ・ストリーム画像６７０およびクライアント・ストリーム画像６７１が組み合わされるときに、得られるハイブリッド・ストリーム画像６７２は、コンテンツ・プロバイダ・オブジェクト６８０Ａ〜Ｃおよびクライアント・オブジェクト６８１Ａ〜Ｃの両方を含む。
【００６８】
上記のように、クライアント・オブジェクト６８１Ａ〜Ｃは、いくつかの場合において、コンテンツ・アイテムのコンテキスト内により重要度の高いオブジェクトを含むことができる一方、コンテンツ・プロバイダ・オブジェクト６８０Ａ〜Ｃは、いくつかの場合において、コンテンツ・アイテムのコンテキスト内により重要度の低いオブジェクトを含むことができる。たとえば、クライアント・オブジェクト６８１Ａ〜Ｃは、いくつかの場合において、クライアント４００により制御されたキャラクタまたは他のエンティティを含むことができる一方、コンテンツ・プロバイダ・オブジェクト６８０Ａ〜Ｃは、いくつかの場合において、クライアント４００により制御されないキャラクタまたは他のエンティティを含むことができる。別の実施例として、クライアント・オブジェクト６８１Ａ〜Ｃは、いくつかの場合において、特定の前景オブジェクトを含むことができる一方、コンテンツ・プロバイダ・オブジェクト６８０Ａ〜Ｃは、いくつかの場合において、特定の背景オブジェクトを含むことができる。
【００６９】
図７は、いくつかの実施形態で使用されることができる例示的な第二ハイブリッド・ストリーム機能分散アプローチを説明する図解である。特に、図７は、異なる複雑度を備える同じオブジェクトのバージョンがコンテンツ・プロバイダ・ストリーム３１０およびクライアント・ストリーム４１０中に含まれることができる状況を描写する。図７で説明されるように、コンテンツ・プロバイダ・ストリーム画像７７０は、クライアント・ストリーム画像７７１と組み合わされ、ハイブリッド・ストリーム画像７７２を形成する。クライアント・ストリーム画像７７１は、より複雑度の低い布機能７１１を含みながら、コンテンツ・プロバイダ・ストリーム画像７７０はより複雑度の高い布機能７１０を含む。コンテンツ・プロバイダ・ストリーム画像７７０およびクライアント・ストリーム画像７７１が組み合わされるときに、得られるハイブリッド・ストリーム画像７７２は、完全なより複雑度の高い布７１２を含む。
【００７０】
示されるように、より複雑度の低い布機能７１１は、形状またはパターンのない単色のみを含む。それに対して、より複雑度の高い布機能７１０は、さまざまな異なるラインおよび形状を有するパターンを含む。図７で説明されないが、より複雑度の高い布機能７１０は、たとえば、さまざまな異なるテクスチャ、シェーディング、反射性およびいくつかの場合において、より複雑度の低い布７１１に含まれない可能性がある他の詳細をまた有することができる。
【００７１】
クライアント・ストリーム４１０およびコンテンツ・プロバイダ・ストリーム３１０間の上記の機能分散実施例が非限定的であることにもう一度留意する。上記の機能分散実施例および任意の他の追加の、または代わりの所望の機能分散実施例の任意の組み合わせは、本技術に従い使用されることができる。
【００７２】
図８は、本開示に従う例示的な複数のストリーム動作手順を説明するフローチャートである。説明されるように、動作８１０で、コンテンツ・アイテム提示セッションはクライアント・デバイスで開始される。このコンテンツ提示セッションは、たとえば、フォルダまたはメニューまたはその他のコンテンツ・アイテムの活性化方法からコンテンツ・アイテムを選択することにより開始されることができる。動作８１０でのコンテンツ・アイテム提示セッションの開始は、たとえば、クライアント・デバイスに格納されるクライアント・コンテンツ・アイテム・バージョンの実行をトリガすることができる。動作８１０でのコンテンツ・アイテム提示セッションの開始は、たとえば、コンテンツ・プロバイダに接続するクライアントによる試みをまたトリガすることができる。いくつかの場合において、接続がクライアントおよびコンテンツ・プロバイダ間に確立される場合に、クライアントは、コンテンツ・プロバイダがクライアントへコンテンツ・プロバイダ・ストリームを送信することを要求することができる。
【００７３】
動作８１２で、クライアント・ストリームの生成は、開始される。上記のように、クライアント・ストリームは、たとえば、提示されたコンテンツ・アイテムと関連する画像または画像の部分を含むことができる。上記のように、クライアント・ストリームは、たとえば、コンテンツ・アイテムの提示に関連付けられた状態情報との組み合わせでクライアント・コンテンツ・アイテム・バージョンの情報に基づき生成されることができる。クライアント・ストリームを生成するために使用された状態情報は、たとえば、コンテンツ・アイテムの提示全体にわたりクライアント・デバイスにより収集された状態情報を含むことができる。また、クライアント・ストリームを生成するために使用された状態情報は、たとえば、動作８１８を参照して以下でより詳細に論じられる、コンテンツ・プロバイダに関する状態情報交換プロセスの結果としてコンテンツ・プロバイダから受信した状態情報を含むことができる。クライアント・ストリームのいくつかの例示的なコンテンツ、ならびにクライアント・ストリームおよびコンテンツ・プロバイダ・ストリームのコンテンツ間のいくつかの例示的な差は、上記で詳細に論じられる。
【００７４】
動作８１４で、クライアント・デバイスは、コンテンツ・プロバイダ・ストリームが利用可能であるかどうかを判定する。上記のように、いくつかの場合において、コンテンツ・プロバイダ・ストリームの可用性は、クライアントがコンテンツ・プロバイダに接続されているかどうかの判定に少なくとも部分的に基づき、判定されることができる。クライアントおよびコンテンツ・プロバイダは、たとえば、インターネットまたは別のＷＡＮもしくはＬＡＮネットワークのような電子ネットワークを介して接続されることができる。上記のように、いくつかの場合において、クライアントは、コンテンツ・アイテム提示セッションが動作８１０で開始されるときに、コンテンツ・プロバイダへの接続を確立しようと試みることができる。いくつかの場合において、コンテンツ・プロバイダ・ストリームは、クライアントおよびコンテンツ・プロバイダが接続されていないときに、利用できないと判定されることができる。それに対して、いくつかの場合において、コンテンツ・プロバイダ・ストリームは、クライアントおよびコンテンツ・プロバイダが接続されているときに、利用できると判定されることができる。
【００７５】
また、いくつかの場合において、コンテンツ・プロバイダ・ストリームの可用性は、クライアントおよびコンテンツ・プロバイダ間の接続に関連付けられた品質に少なくとも部分的に基づき、判定されることができる。接続品質は、たとえば、帯域幅、レイテンシ、スループット等のような特性に基づき判定されることができる。いくつかの場合において、品質の閾値レベルは、コンテンツ・プロバイダ・ストリームに関連して判定されることができる。たとえば、品質の閾値レベルは、特定の期間内に、および／または特定の画像品質レベルでコンテンツ・プロバイダ・ストリームを受信するために十分であるとみなされる品質レベルを時として示すことができる。いくつかの場合において、コンテンツ・プロバイダ・ストリームは、接続品質が品質の閾値レベル未満であるときに、利用できないと判定されることができる。それに対して、いくつかの場合において、コンテンツ・プロバイダ・ストリームは、接続品質が品質の閾値レベル以上であるときに、利用できると判定されることができる。
【００７６】
また、いくつかの場合において、コンテンツ・プロバイダ・ストリームは、たとえば、コンテンツ・プロバイダでのさまざまな問題により、またはコンテンツ・プロバイダ・ストリームを送信しないコンテンツ・プロバイダによる判定により、利用できなくなる可能性がある。時として、これらの状況において、コンテンツ・プロバイダは、たとえば、１つ以上の問題、またはコンテンツ・プロバイダ・ストリームを送信しない判定を示す、クライアントへの通知を送信することができる。また、いくつかの場合において、クライアントは、コンテンツ・プロバイダ・ストリームおよび／またはコンテンツ・プロバイダ・ストリームの特定の部分が特定の期間内に受信されていないと判定することにより、コンテンツ・プロバイダ・ストリームが利用できないと判定することができる。
【００７７】
動作８１８で、コンテンツ・プロバイダに関する状態情報交換プロセスは、開始される、または再開される。簡略化のために、コンテンツ・プロバイダ・ストリームが利用できると判定されるときに、状態情報がクライアントおよびコンテンツ・プロバイダ間で交換されると、図８の特定の実施例では仮定する。またコンテンツ・プロバイダ・ストリームが利用できないと判定されるときに、状態情報がクライアントおよびコンテンツ・プロバイダ間で交換されないと、図８の特定の実施例では仮定する。しかしながら、状態情報の交換のための基準およびコンテンツ・プロバイダ・ストリームの可用性が必ずしも同じである必要がないことに留意する。たとえば、いくつかの場合において、コンテンツ・プロバイダ・ストリームがクライアントに利用できないときでさえ、状態情報をクライアントおよびコンテンツ・プロバイダ間で交換することは可能であることができる。それに対して、いくつかの場合において、コンテンツ・プロバイダ・ストリームがクライアントに利用できるときでさえ、状態情報をクライアントおよびコンテンツ・プロバイダ間で交換することは、不可能である場合がある。また、クライアントおよびサーバ間の状態情報の交換が複数のストリーム・コンテンツ提示技術または開示された技術のいずれかを実行するために必ずしも必要とされないことに留意する。いくつかの場合において、状態情報は、コンテンツ・プロバイダからクライアントへ送信のみされることができる、またはクライアントからコンテンツ・プロバイダへ送信のみされることができる、またはすべてにおいて交換されることができない。
【００７８】
状態情報交換は、たとえば、コンテンツ・アイテムの提示に関連して動作８１８の初期性能に基づき、開始されることができる一方、状態情報交換は、たとえば、コンテンツ・アイテムの提示に関連して動作８１８のその後の性能に基づき、再開されることができる。動作８１８の部分として、状態情報は、たとえば、任意の所望の時間または間隔で定期的にクライアントおよびコンテンツ・プロバイダ間で交換されることができる。クライアントおよびコンテンツ・プロバイダは、たとえば、同時に、または異なる時間に互いに異なる伝送を使用して、状態情報を交換することができる。いくつかの場合において、クライアントおよびコンテンツ・プロバイダは状態情報更新を交換することができ、この状態情報更新は、たとえば、前回の更新または伝送で送信されなかった状態情報のみを含むため、前回送信された情報を再送しないことで帯域幅を節約することができる。
【００７９】
上記のように、交換された状態情報は、たとえば、コンテンツ・アイテム提示に関連付けられた、さまざまな機能、イベント、アクションまたは動作に関連付けられた情報を含むことができる。いくつかの場合において、コンテンツ・プロバイダへクライアントにより提供された状態情報は、たとえば、クライアントにより制御されたキャラクタまたは他のエンティティにより実行されたアクションに関連付けられた状態情報を含むことができる。コンテンツ・プロバイダへクライアントにより提供された状態情報は、たとえば、ユーザによる制御用の特定のエンティティのユーザ選択、またはあるエンティティから別のエンティティへ制御を切り替えるユーザ選択に関連付けられた状態情報をまた含むことができる。またコンテンツ・プロバイダへクライアントにより提供された状態情報は、たとえば、クライアント・ストリーム４１０またはコンテンツ・アイテム提示の任意の他の態様に関連付けられた、さまざまな機能、イベント、アクションまたは動作に関連付けられた状態情報をまた含むことができる。それに対して、クライアントへコンテンツ・プロバイダにより提供された状態情報は、たとえば、コンテンツ・プロバイダ・ストリーム３１０またはコンテンツ・アイテム提示の任意の他の態様に関連付けられたさまざまな機能、イベント、アクションまたは動作に関連付けられた状態情報を含むことができる。
【００８０】
また上記のように、すべてのまたはほぼすべての収集された状態情報がクライアントおよびコンテンツ・プロバイダ間で交換されることは必要とされない。いくつかの場合において、クライアントは、コンテンツ・プロバイダ・ストリームの生成のために必要であるとみなされる状態情報のみをコンテンツ・プロバイダへ送信することができる。同様に、いくつかの場合において、コンテンツ・プロバイダは、クライアント・ストリームの生成のために必要であるとみなされる状態情報のみをクライアントへ送信することができる。
【００８１】
動作８１９で、クライアントによるコンテンツ・プロバイダ・ストリームの受信は、開始される、または再開される。コンテンツ・プロバイダ・ストリームの受信は、たとえば、コンテンツ・アイテム提示に関連して動作８１９の初期性能に基づき、開始されることができる一方、コンテンツ・プロバイダ・ストリームの受信は、たとえば、コンテンツ・アイテム提示に関連して動作８１９のその後の性能に基づき、再開されることができる。上記のように、コンテンツ・プロバイダ・ストリームは、たとえば、提示されたコンテンツ・アイテムと関連する画像または画像の部分を含むことができる。コンテンツ・プロバイダ・ストリームは、たとえば、コンテンツ・アイテム提示に関連付けられた状態情報との組み合わせでのコンテンツ・プロバイダ・コンテンツ・アイテム・バージョン中の情報に基づき生成されることができる。コンテンツ・プロバイダ・ストリームを生成するために使用された状態情報は、たとえば、コンテンツ・アイテム提示を通してコンテンツ・プロバイダにより収集された状態情報を含むことができる。また、コンテンツ・プロバイダ・ストリームを生成するために使用された状態情報は、たとえば、動作８１８を参照して上述されたクライアントに関する状態情報交換プロセスの結果として、クライアントから受信した状態情報を含むことができる。
【００８２】
動作８２０で、クライアントは、クライアント・ストリームおよびコンテンツ・プロバイダ・ストリームと関連する画像を表示する。上記のように、動作８２０での画像表示は、たとえば、各画像またはクライアント・ストリームからの情報の他の部分の１つ以上の機能を相手方画像またはコンテンツ・プロバイダ・ストリームからの情報の他の部分の１つ以上の機能と組み合わせ、クライアントに表示される結果としてもたらされる表示画像を形成することを有すること、または伴うことができる。これは、たとえば、クライアント・ストリーム画像からの１つ以上のオブジェクトを相手方コンテンツ・プロバイダ・ストリーム画像からの１つ以上の他のオブジェクトと組み合わせることを有することができる。またこれは、たとえば、クライアント・ストリーム画像からのオブジェクトのバージョンの１つ以上の機能を相手方コンテンツ・プロバイダ・ストリーム画像からのオブジェクトの別のバージョンの１つ以上の他の機能と組み合わせることを、有することができる。上記で詳細に記載されるように、いくつかの場合において、クライアント・ストリームは、より重要度の高い機能を有することができる一方、コンテンツ・プロバイダ・ストリームは、より重要度の低い機能を含むことができる。また、いくつかの場合において、クライアント・ストリームは、たとえば、基本機能セットを含むことができる一方、コンテンツ・プロバイダ・ストリームは、たとえば、任意の機能セットを含むことができる。クライアント・ストリームは、たとえば、クライアント・ストリームが単独で、コンテンツ・アイテムを一時停止するまたは再始動することなく、少なくとも一時的に提示することを可能にするための十分な機能を少なくとも含むことができる。いくつかの場合において、クライアント・ストリームは、１つ以上のオブジェクトのより複雑度の低いバージョンを含むことができる一方、コンテンツ・プロバイダ・ストリームは、１つ以上のオブジェクトのより複雑度の高いバージョンを含むことができる。これは、たとえば、コンテンツ・プロバイダ・ストリームが得られる提示ストリームに含まれるときに、さまざまなオブジェクトをより現実的におよび／またはより詳細に表示することを可能にすることができる。
【００８３】
動作８２２で、クライアントは、コンテンツ・プロバイダ・ストリームが利用できなくなったかどうかを判定する。上記のように、いくつかの場合において、コンテンツ・プロバイダ・ストリームは、その可用性を判定するために連続して監視されることができる。また、いくつかの場合において、クライアントおよびコンテンツ・プロバイダ間の既存の接続は、切断および／またはサービス低下および問題を検出するために連続して監視されることができる。このようにして、いくつかの場合において、動作８２２での判定は、コンテンツ・アイテム提示の終了前にクライアントがコンテンツ・プロバイダに接続されている限り、繰り返し実行されることができる。コンテンツ・プロバイダ・ストリームの可用性および／または非可用性を判定するためのいくつかの例示的な基準は、動作８１４を参照して上記で詳細に記載されるので、ここで繰り返されない。
【００８４】
コンテンツ・アイテム提示は、コンテンツ・プロバイダ・ストリームが利用不可能になる前に終了する場合に、その後動作８２４で、コンテンツ・アイテム提示セッションは終了される。それに対して、コンテンツ・プロバイダ・ストリームがコンテンツ・アイテム提示の終了前に利用できなくなる場合に、その後プロセスは動作８２６へ進み、そこで、クライアントおよびコンテンツ・プロバイダ間の状態情報の交換ならびにクライアントによるコンテンツ・プロバイダ・ストリームの受信は、少なくとも一時的に停止される。上で述べたように、しかしながら、図８の特定の実施例は、コンテンツ・プロバイダ・ストリームがクライアントに利用できなくなるときに、状態情報交換プロセスが停止されると仮定し、これは必ずしもすべての場合で起きる必要がない。たとえば、いくつかの場合において、コンテンツ・プロバイダ・ストリームがクライアントに利用できないときでさえ、クライアントおよびコンテンツ・プロバイダ間で状態情報を交換することは可能であることができる。
【００８５】
コンテンツ・プロバイダ・ストリームが利用できないときに、クライアントは、動作８２８でクライアント・ストリームと関連する画像を表示する。上記のように、動作８２８でクライアント・ストリームと関連する画像表示は、たとえば、それらの画像または情報の部分をコンテンツ・プロバイダ・ストリームからの相手方画像または情報と組み合わせないで、クライアント・ストリームからの画像または情報の他の部分を表示することを、有する、または伴うことができる。いくつかの場合において、しかしながら、クライアント・ストリームからの画像または情報の他の部分は、クライアントに表示される前に修正されることができる。上記のように、クライアント・ストリームは、クライアント・ストリームが単独で、コンテンツ・アイテムを一時停止するまたは再始動することなく、少なくとも一時的に提示することを可能にするための十分な機能を少なくとも含むことができる。このようにして、たとえば、コンテンツ・プロバイダ・ストリームが利用できないときに、クライアント・ストリームは、コンテンツ・プロバイダ・ストリームが利用できるようになる、またはコンテンツ・アイテム提示が終了するまで、コンテンツ・アイテム提示を続けることを単独で可能にするのに十分であることができる。
【００８６】
動作８３０で、クライアントは、コンテンツ・プロバイダ・ストリームが利用できるようになったかどうかを判定する。上記のように、いくつかの場合において、コンテンツ・プロバイダ・ストリームは、その可用性を判定するために継続的に監視されることができる。また、いくつかの場合において、通信リンクは、ネットワーク接続の可用性、およびサービス品質、利用可能な帯域幅等のようなネットワーク特性を検出するために継続的に監視されることができる。このようにして、いくつかの場合において、動作８３０での判定は、コンテンツ・アイテム提示の終了前に繰り返し実行されることができる。コンテンツ・プロバイダ・ストリームの可用性および／または非可用性を判定するためのいくつかの例示的な基準は、動作８１４を参照して上記で詳細に記載されるので、ここで繰り返されない。
【００８７】
コンテンツ・プロバイダ・ストリームがコンテンツ・アイテム提示の終了前に利用可能になる場合に、そのときプロセスは、動作８１８を開始する。それに対して、コンテンツ・プロバイダへの十分な接続が利用可能になる前にコンテンツ・アイテム提示が終了する場合、そのとき動作８２４で、コンテンツ・アイテム提示セッションは、終了される。
【００８８】
いくつかの状況において、コンテンツ・プロバイダ・ストリームが利用可能であるときに、コンテンツ・プロバイダ・ストリームは、クライアント・ストリームからそれ以上の入力、またはこれとの組み合わせなしで、クライアントに得られる画像を生成するために使用されることができる。簡略化のために、これらの状況は、完了コンテンツ・プロバイダ・ストリーム・モードと言われることができる。このようにして、たとえば、完了コンテンツ・プロバイダ・ストリーム・モードでの動作時に、動作８２０は、画像がクライアント・ストリームからの任意の入力なしで、コンテンツ・プロバイダ・ストリームにのみ基づき表示されるように変更されることができる。いくつかの場合において、クライアント・ストリームは、クライアントが完了コンテンツ・プロバイダ・ストリーム・モードで動作しているときに、すべての時間の部分中に生成されることができる。しかしながら、いくつかの場合において、完了コンテンツ・プロバイダ・ストリーム・モードの動作時に、クライアントは、コンテンツ・プロバイダから状態情報を受信し続ける、および／または状態情報をコンテンツ・プロバイダと交換し続けることができる。コンテンツ・プロバイダからクライアントで状態情報を受信することは、たとえば、コンテンツ・プロバイダへ十分な接続が利用できなくなるときに、シームレスまたはニアシームレス状態に移行可能にすることができる。
【００８９】
いくつかの場合において、完了コンテンツ・プロバイダ・ストリーム・モードで改良された動作を可能にするために、コンテンツ・プロバイダ・ストリームは、より重要度の低い機能に加えてより重要度の高い機能を含むことができる。いくつかの場合において、コンテンツ・プロバイダは、特定のコンテンツ・アイテムの２つのバージョンへのアクセスを有することができる。たとえば、コンテンツ・プロバイダは、コンテンツ・プロバイダ・ストリームおよびクライアント・ストリームからの機能が組み合わされるハイブリッド・ストリーム・モードで動作するために、制限された機能コンテンツ・アイテム・バージョンへのアクセスを有することができる。また、たとえば、コンテンツ・プロバイダは、コンテンツ・プロバイダ・ストリームがクライアント・ストリームと組み合わされない、完了コンテンツ・プロバイダ・ストリーム・モードで動作するための完全な、または拡張された機能コンテンツ・アイテム・バージョンへのアクセスを有することができる。いくつかの場合において、動作は、たとえば、ネットワーク状態、クライアントからの要求または他の適切な理由に基づき、ハイブリッド・ストリーム・モードおよびコンテンツ・プロバイダ・ストリーム・モード間の任意の時間で望まれるときに、切り換えられることができる。
【００９０】
加えて、いくつかの場合において、特定のコンテンツ・プロバイダ・ストリーム機能は、クライアントにより保存されることができる。これは、たとえば、コンテンツ・プロバイダ・ストリームが利用できなくなった後でさえ、保存されたコンテンツ・プロバイダ・ストリーム機能をその後に表示された画像に挿入することを可能にする。たとえば、コンテンツ・プロバイダ・ストリーム画像は、クライアント・ストリームに含まれない特定の車両の表現を含むことができる。車両の表現は、いくつかの場合において、コンテンツ・プロバイダ・ストリームが利用できなくなった後に、クライアントにより保存されることができ、そのときその後に表示された画像に挿入されることができる。
【００９１】
開示された技術に従う、いくつかの例示的なコンテンツ・プロバイダ手順を詳細に説明する。特に、いくつかの場合において、コンテンツ・プロバイダは、コンテンツ・アイテムに関連付けられたコンテンツ・プロバイダ・ストリームの提供を開始する要求をクライアントから受信することができる。この要求は、時として、コンテンツ・プロバイダ・ストリームがコンテンツ・アイテムに関連付けられた相手方クライアント・ストリームと組み合わされることを示すことができる。しかしながら、この要求がこのような組み合わせを実行することを明示的に示すことは、要求されない。いくつかの場合において、この要求は、コンテンツ・プロバイダ・ストリームの伝送を、少なくとも部分的に、直接または間接的にトリガするために十分な任意の情報を含むことができる。
【００９２】
いくつかの場合において、コンテンツ・プロバイダ・ストリーム用の要求を受信すると、コンテンツ・プロバイダは、コンテンツ・アイテムと関連するクライアントと状態情報を交換し始めることができる。コンテンツ・プロバイダおよびクライアント間の状態情報交換用のいくつかの例示的なプロセスは、上記で詳細に記載されるので、ここで繰り返されない。いくつかの場合において、状態情報は、コンテンツ・プロバイダからクライアントへ送信のみされることができる、またはクライアントからコンテンツ・プロバイダへ送信のみされることができる。いくつかの場合において、状態情報はクライアントおよびコンテンツ・プロバイダ間で交換されない可能性がある。また、いくつかの場合において、コンテンツ・プロバイダ・ストリーム用の要求を受信すると、コンテンツ・プロバイダは、コンテンツ・プロバイダ・ストリームを生成して送信し始めることができる。コンテンツ・プロバイダ・ストリームを生成して送信するための、いくつかの例示的なプロセスは、上記で詳細に記載されるので、ここで繰り返されない。
【００９３】
いくつかの場合において、コンテンツ・プロバイダは、クライアントへの接続を監視することができ、クライアントからの切断および／または接続に関連付けられたサービス品質を検出する。いくつかの場合において、コンテンツ・プロバイダは、クライアントから切断されるようになるときに、コンテンツ・プロバイダは、コンテンツ・プロバイダ・ストリームの生成および／または送信を少なくとも一時的に停止することができる。また、いくつかの場合において、コンテンツ・プロバイダは、その通信リンクを監視することができ、クライアントへの再接続を検出する。いくつかの場合において、コンテンツ・プロバイダがクライアントへ再接続されるようになるときに、コンテンツ・プロバイダは、コンテンツ・プロバイダ・ストリームの生成および／または送信を再開することができる。
【００９４】
さらにまた、いくつかの場合において、クライアントへの接続品質が品質の閾値レベルを下回るときに、コンテンツ・プロバイダは、また、コンテンツ・プロバイダ・ストリームの生成および／または送信を少なくとも一時的に停止することができる。クライアントへの接続品質は、品質の閾値レベルを満たす、または超えるように改善するときに、コンテンツ・プロバイダは、コンテンツ・プロバイダ・ストリームの生成および／または送信を再開することができる。
【００９５】
上記のように、いくつかの場合において、コンテンツ・プロバイダがコンテンツ・プロバイダ・ストリームの送信を停止している（またはコンテンツ・プロバイダ・ストリームがその他の方法でクライアントに利用できなくなる）期間中に、クライアントは、コンテンツ・アイテム提示を少なくとも一時的に続けることを可能にすることができる、相手方クライアント・ストリームを生成し続けることができる。いくつかの場合において、コンテンツ・プロバイダ・ストリームの送信が開始される、または再開されるときに、クライアントにより提供された状態情報は、コンテンツ・プロバイダ・ストリームの生成および／または送信を開始する、または再開する、適切な時点またはコンテキストを示すことができる。
【００９６】
いくつかの場合において、コンテンツ・プロバイダ・ストリームは、複数のクライアントへ生成されて送信されることができる。これは、たとえば、コンテンツ・プロバイダ・ストリームがマルチプレイヤ・テレビ・ゲームに対応するときに、発生する可能性がある。いくつかのこのような場合において、特定のクライアント接続が終了する、または低品質を体験しているときに、コンテンツ・プロバイダは、特定のクライアントへのコンテンツ・プロバイダ・ストリームの送信を停止することができ、他のクライアントへコンテンツ・プロバイダ・ストリームを生成して送信し続けることができる。
【００９７】
いくつかの場合において、コンテンツ・プロバイダは、技術的な故障、エラーまたは他の問題により、コンテンツ・プロバイダ・ストリームをうまく生成して送信することができないと判定する可能性がある。このような場合において、コンテンツ・プロバイダは、時として、コンテンツ・プロバイダ・ストリームが提供されないことを示す通知をクライアントへ送信することができる。
【００９８】
また、いくつかの場合において、コンテンツ・プロバイダは、コンテンツ・プロバイダ・ストリームを生成・送信しない決定を行うことができる。このような決定は、たとえば、コンテンツ・プロバイダ・ストリームの送信を開始する前に、またはコンテンツ・プロバイダ・ストリームの送信中の任意の時点で、行われることができる。このような決定は、異なる要因の任意の組み合わせに基づき行われることができる。たとえば、コンテンツ・プロバイダは、コンテンツ・プロバイダ・ストリームの生成および送信を開始する、またはこれを続けるために必要な利用可能なリソースが欠如していると判定することができる。これは、たとえば、コンテンツ・プロバイダが１つ以上のより優先順位の高いタスクを実行することをコンテンツ・プロバイダ・ストリームの生成および送信が不可能にするときに、発生する可能性がある。たとえば、コンテンツ・プロバイダがより優先順位の高いクライアントからの利用の急増を体験する場合に、そのときコンテンツ・プロバイダは、特定のより優先順位の低いクライアントへの既存の送信をアンロードすると決定することができ、特定のより優先順位の低いクライアントは、コンテンツ・プロバイダ・ストリームとの組み合わせなしで、クライアント・ストリームからの画像を少なくとも一時的に表示する。コンテンツ・プロバイダがコンテンツ・プロバイダ・ストリームを生成および送信しない決定を行うときに、決定通知が時としてクライアントへ送信される場合がある。
【００９９】
コンテンツ・プロバイダは、コンテンツ・プロバイダ・ストリームの生成および送信を開始する、または再開する決定を行うことがまたできる。このような決定は、たとえば、コンテンツ・プロバイダ・ストリームの生成および送信を開始する、もしくは再開するために必要なリソースが他のタスクによる利用から解放されている、またはその他の方法で利用可能になっているとコンテンツ・プロバイダが判定するときに、行われることができる。
【０１００】
前節で説明された各々のプロセス、方法、およびアルゴリズムは、１つ以上のコンピュータまたはコンピュータ・プロセスで実行されたコード・モジュールに組み込まれ、これにより完全にまたは部分的に自動化されることができる。このコード・モジュールは、ハード・ドライブ、ソリッド・ステート・メモリ、光ディスクおよび／または等のような、任意の種類の非一時的なコンピュータ可読媒体またはコンピュータ・ストレージ・デバイス上に格納されることができる。このプロセスおよびアルゴリズムは、アプリケーション固有の回路に部分的に、または全体的に実装されることができる。本開示のプロセスおよびプロセス・ステップの結果は、永続的に、またはその他の、たとえば、揮発性または不揮発性ストレージのような任意の種類の非一時的なコンピュータ・ストレージに格納されることができる。
【０１０１】
上記で説明されたさまざまな機能およびプロセスは、互いに独立して使用されることができる、またはさまざまな方式で組み合わされることができる。すべての可能な組み合わせおよび部分的組み合わせは、本開示の範囲内に入ることを意図される。加えて、特定の方法またはプロセス・ブロックは、いくつかの実装において省かれる可能性がある。本明細書に記載された方法およびプロセスは、また、任意の特定の順序に限定されるものではなく、ブロックまたはそれに関連する状態は、適切である他の順序で実行されることが可能である。たとえば、記載されたブロックもしくは状態は、具体的に開示されたもの以外の順序で実行されることができる、または複数のブロックもしくは状態は単一のブロックまたは状態に組み合わされることができる。例示的なブロックもしくは状態は、シリアルで、並行してまたはいくつかの他の方式で実行されることができる。ブロックもしくは状態は、本開示の例示的な実施形態に加えられる、または削除されることができる。本明細書に記載された例示的なシステムおよびコンポーネントは、記載とは異なるように構成されることができる。たとえば、要素は、本開示の例示的な実施形態へ加えられる、これから削除されるまたはこれと比較して並べ替えられることができる。
【０１０２】
前述は、次のクローズ１〜２４を考慮し、より良く理解されるであろう。
１．クライアント計算ノードにおいて、インストラクションを格納し、その前記クライアント計算ノードによる実行時に、前記クライアント計算ノードに、
テレビ・ゲームの提示に関連付けられたクライアント・ストリーム画像を有するクライアント・ストリームを生成し、
電子ネットワークを使用してコンテンツ・プロバイダに接続し、
前記コンテンツ・プロバイダから前記テレビ・ゲームの前記提示に関連付けられたコンテンツ・プロバイダ・ストリーム画像を有するコンテンツ・プロバイダ・ストリームを受信し、
第一コンテンツ・プロバイダ・ストリーム画像の少なくとも１つの機能と第一クライアント・ストリーム画像の少なくとも１つの機能を結合し、第一表示画像の少なくとも一部を形成し、
前記テレビ・ゲームの前記提示の部分として前記第一表示画像を表示し、
少なくとも１回の一時停止を前記コンテンツ・プロバイダ・ストリームの前記受信へ引き起こす前記コンテンツ・プロバイダからの切断を検出し、
前記コンテンツ・プロバイダからの前記切断を検出後、前記テレビ・ゲームの前記提示の部分として第二表示画像を表示し、前記第二表示画像は第二クライアント・ストリーム画像の少なくとも１つの機能を含む、
ことを備える動作を実行させる、前記クライアント計算ノード。
２．前記テレビ・ゲームに関連付けられた状態情報は前記クライアント計算ノードおよび前記コンテンツ・プロバイダ間で交換され、前記コンテンツ・プロバイダ・ストリームは前記クライアントから受信した状態情報に少なくとも部分的に基づき生成され、前記クライアント・ストリームは前記コンテンツ・プロバイダから受信した状態情報に少なくとも部分的に基づき生成される、クローズ１の前記クライアント計算ノード。
３．前記テレビ・ゲームに関連付けられた機能は、前記テレビ・ゲームに関連付けられた前記機能の重要度に少なくとも部分的に基づき前記クライアント・ストリームおよび前記コンテンツ・プロバイダ・ストリーム間で分散される、クローズ１の前記クライアント計算ノード。
４．前記第一表示画像中のオブジェクト用に、前記第一クライアント・ストリーム画像は前記オブジェクトのより低複雑なバージョンを含み、前記第一コンテンツ・プロバイダ・ストリーム画像は前記オブジェクトのより高複雑なバージョンを含む、クローズ１の前記クライアント計算ノード。
５．コンテンツ・アイテムの提示に関連付けられたクライアント・ストリーム機能に対応する情報を含むクライアント・ストリームを生成し、
前記コンテンツ・アイテムの前記提示に関連付けられたコンテンツ・プロバイダ・ストリーム機能に対応する情報を含むコンテンツ・プロバイダ・ストリームをコンテンツ・プロバイダから受信し、
前記コンテンツ・アイテムの前記提示の部分として第一画像を表示し、前記第一画像は少なくとも１つのコンテンツ・プロバイダ・ストリーム機能を含み、
前記コンテンツ・プロバイダ・ストリームが少なくとも一時的に利用不可能であると判定し、
前記コンテンツ・アイテムの前記提示の部分として第二画像を表示し、前記第二画像は少なくとも１つのクライアント・ストリーム機能を含む、
ことを備える、画像を提示するためにクライアント計算ノードにより実行されたコンピュータ実装方法。
６．前記第一画像は少なくとも１つのクライアント・ストリーム機能を含む、クローズ５の前記コンピュータ実装方法。
７．前記第二画像は少なくとも１つのコンテンツ・プロバイダ・ストリーム機能を含む、８．前記クライアント・ストリームは前記クライアント計算ノードで実行された前記コンテンツ・アイテムのクライアント・バージョンに少なくとも部分的に基づき生成され、前記コンテンツ・プロバイダ・ストリームは前記コンテンツ・プロバイダにより実行された前記コンテンツ・アイテムのコンテンツ・プロバイダ・バージョンに少なくとも部分的に基づき生成される、クローズ５の前記コンピュータ実装方法。
９．前記コンテンツ・アイテムに関連付けられた状態情報は前記クライアント計算ノードおよび前記コンテンツ・プロバイダ間で交換され、前記コンテンツ・プロバイダ・ストリームは前記クライアント計算ノードから受信した状態情報に少なくとも部分的に基づき生成され、前記クライアント・ストリームは前記コンテンツ・プロバイダから受信した状態情報に少なくとも部分的に基づき生成される、クローズ５の前記コンピュータ実装方法。
１０．前記コンテンツ・アイテムに関連付けられた機能は、前記コンテンツ・アイテムに関連付けられた前記機能の重要度に少なくとも部分的に基づき前記クライアント・ストリームおよび前記コンテンツ・プロバイダ・ストリーム間で分散される、クローズ５の前記コンピュータ実装方法。
１１．前記クライアント・ストリーム機能は前記クライアント計算ノードにより制御された前記コンテンツ・アイテム内のエンティティに関連付けられた機能を含む、クローズ５の前記コンピュータ実装方法。
１２．前記コンテンツ・プロバイダ・ストリーム機能は前記第一画像の背景部分に関連付けられた機能を含む、クローズ５の前記コンピュータ実装方法。
１３．前記第一画像中のオブジェクト用に、前記クライアント・ストリームは前記オブジェクトのより低複雑バージョンを含み、前記コンテンツ・プロバイダ・ストリームは前記オブジェクトのより高複雑バージョンを含む、クローズ５の前記コンピュータ実装方法。
１４．前記コンテンツ・プロバイダ・ストリームが少なくとも一時的に利用不可能であると判定することは、前記コンテンツ・プロバイダおよび前記クライアント間で切断を検出することを備える、クローズ５の前記コンピュータ実装方法。
１５．前記コンテンツ・プロバイダ・ストリームが少なくとも一時的に利用不可能であると判定することは前記コンテンツ・プロバイダおよび前記クライアント間の接続が品質閾値レベルを下回っていることを検出することを備える、クローズ５の前記コンピュータ実装方法。
１６．１つ以上の非一時的なコンピュータ可読記憶媒体において、その上に格納されたインストラクションを含み、その１つ以上の計算ノードでの実行時に、
コンテンツ・プロバイダ・ストリームの送信の要求をクライアントから受信し、前記コンテンツ・プロバイダ・ストリームはコンテンツ・アイテムの提示に関連付けられたコンテンツ・プロバイダ・ストリーム画像を含み、
前記コンテンツ・アイテムの前記提示に関連して前記クライアントにより生成されたクライアント・ストリームに含まれた１つ以上のクライアント・ストリーム画像の１つ以上の機能に関連付けられた状態を示す状態情報を前記クライアントから受信し、
前記コンテンツ・プロバイダ・ストリームを生成し、前記コンテンツ・プロバイダ・ストリーム画像の１つ以上は前記クライアントから受信した前記状態情報に少なくとも部分的に基づき生成され、
前記コンテンツ・プロバイダ・ストリーム画像の１つ以上の少なくとも一部の表示用に前記コンテンツ・プロバイダ・ストリームを前記クライアントへ送信し、
前記コンテンツ・プロバイダ・ストリーム画像のうちの１つ以上の、１つ以上の機能に関連付けられた状態を示す状態情報を前記クライアントへ送信する、
ことを備える動作を前記１つ以上の計算ノードに実行させる、前記１つ以上の非一時的なコンピュータ可読記憶媒体。
１７．前記動作は、
前記コンテンツ・プロバイダ・ストリームの前記生成および前記送信を少なくとも一時的に停止することを前記コンテンツ・プロバイダにより決定する、
ことをさらに備える、クローズ１６の前記非一時的なコンピュータ可読記憶媒体。
１８．前記コンテンツ・プロバイダ・ストリームの前記生成および前記送信を少なくとも一時的に停止することを前記コンテンツ・プロバイダにより決定することは、前記コンテンツ・プロバイダ・ストリームの前記生成および前記送信より高い優先度を有する１つ以上のタスクを実行するために不十分に利用可能なコンテンツ・プロバイダ・リソースがあると判定することを備える、クローズ１７の前記非一時的なコンピュータ可読記憶媒体。
１９．前記動作は、
前記クライアントからの切断、または品質閾値レベルを下回る前記クライアントへの接続品質の低下の少なくとも１つを検出し、
前記クライアントへの前記コンテンツ・プロバイダ・ストリームの前記送信を少なくとも一時的に、応答可能に停止する、
ことをさらに備える、クローズ１６の前記非一時的なコンピュータ可読記憶媒体。
２０．前記動作は、
前記クライアントへの再接続、または前記品質閾値レベルを上回る前記クライアントへの前記接続の前記品質での向上の少なくとも１つを検出し、
前記クライアントへの前記コンテンツ・プロバイダ・ストリームの前記送信を応答可能に再開する、
ことをさらに備える、クローズ１９の前記非一時的なコンピュータ可読記憶媒体。
２１．第一クライアント・ストリーム画像の少なくとも１つの機能は、第一表示画像の少なくとも一部を形成するために第一コンテンツ・プロバイダ・ストリーム画像の少なくとも１つの機能と結合される、クローズ１９の前記非一時的なコンピュータ可読記憶媒体。
２２．前記クライアント・ストリームは、前記コンテンツ・プロバイダ・ストリーム画像のうちの１つ以上の、１つ以上の機能に関連付けられた前記状態を示す前記クライアントへ送信された前記状態情報に少なくとも部分的に基づき生成される、クローズ１６の前記非一時的なコンピュータ可読記憶媒体。
２３．前記コンテンツ・アイテムに関連付けられた機能は、前記コンテンツ・アイテムに関連付けられた前記機能の重要度に少なくとも部分的に基づき前記クライアント・ストリームおよび前記コンテンツ・プロバイダ・ストリーム間で分散される、クローズ１６の前記非一時的なコンピュータ可読記憶媒体。
２４．第一クライアント・ストリーム画像はオブジェクトのより低複雑バージョンを含み、第一コンテンツ・プロバイダ・ストリーム画像は前記オブジェクトのより高複雑バージョンを含む、クローズ１６の前記非一時的なコンピュータ可読記憶媒体。
【０１０３】
さまざまなアイテムが使用されながらメモリに、またはストレージ上に格納される場合を説明され、それらのアイテムまたはその部分がメモリ管理およびデータ整合性のためにメモリおよび他のストレージ・デバイス間で転送されることができることを理解するであろう。あるいは、他の実施形態において、ソフトウェア・モジュールおよび／またはシステムの一部またはすべては、別のデバイス上のメモリで実行することができ、コンピュータ間接続を介して説明されたコンピューティング・システムと通信することができる。さらにまた、いくつかの実施形態において、システムおよび／またはモジュールの一部またはすべては、限定されないが、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、標準集積回路、コントローラ（たとえば、適切なインストラクションを実行すること、およびマイクロコントローラおよび／または組み込みコントローラを含むことにより）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、コンプレックス・プログラマブル・ロジック・デバイス（ＣＰＬＤ）等を含む、少なくとも部分的にファームウェアおよび／またはハードウェアにおいて、他の方式で実装されること、または提供されることができる。モジュール、システムおよびデータ構造の一部またはすべては、適切なドライブにより、または適切な接続を介して読み出される、ハード・ディスク、メモリ、ネットワークまたはポータブル・メディア物品のような、コンピュータ可読媒体上に格納されることがまたできる（たとえば、ソフトウェア・インストラクションまたは構造化データとして）。システム、モジュールおよびデータ構造は、無線ベースおよび有線／ケーブル・ベース・メディアを含む、さまざまなコンピュータ可読伝送媒体上で生成されたデータ信号として（たとえば、搬送波または他のアナログもしくはデジタル伝播信号の部分として）また送信されることができ、種々の形態（たとえば、単一もしくは多重化アナログ信号の部分として、または複数の離散的なデジタル・パケットもしくはフレームとして）を取ることができる。このような、コンピュータ・プログラム製品はまた、他の実施形態において他の形態を取ることができる。したがって、本発明は、他のコンピュータ・システム構成を用いて実施されることができる。
【０１０４】
特に、「ｃａｎ」、 「ｃｏｕｌｄ」、 「ｍｉｇｈｔ」、 「ｍａｙ」、 「ｅ．ｇ．」等のような、本明細書で使用された条件付き言語は、特に明記しない、またはその他の使用される文脈中で理解されない限り、他の実施形態は含まないが、特定の実施形態は、特定の機能、要素、および／またはステップを含むことを伝えることを一般に意図する。したがって、このような条件付き言語は、機能、要素および／またはステップが１つ以上の実施形態のために任意の方式で要求されること、または著者の入力もしくはプロンプトあり、もしくはなしで、これらの機能、要素および／またはステップが含まれる、もしくは任意の特定の実施形態において実行されるべきであるかどうかを決定するためのロジックを１つ以上の実施形態が必ず含むことを示唆することを一般に意図されない。用語「ｃｏｍｐｒｉｓｉｎｇ」、「ｉｎｃｌｕｄｉｎｇ」、「ｈａｖｉｎｇ」等は同義語であり、包含的なオープンエンド方式で使用され、追加の要素、機能、行為、動作等を除外しない。また、用語「ＯＲ」は、その包括的な意味で使用される（およびその排他的な意味でではなく）ので、使用時に、たとえば、要素のリストを接続するために、用語「ｏｒ」は、リストの要素の１つ、一部またはすべてを意味する。
【０１０５】
特定の例示的な実施形態が説明されているが、これらの実施形態は、実施例としてのみ提示されており、本明細書に開示された本発明の範囲を限定することを意図されない。このようにして、任意の特定の機能、特性、ステップ、モジュールまたはブロックが必要である、または不可欠であることを示唆することは前述の説明にないことを意図される。確かに、本明細書に記載された新規の方法およびシステムは、さまざまな他の形態に具現化されることができ、さらにまた、本明細書に記載された方法およびシステムのさまざまな省略、置換および変更は、本明細書に記載された本発明の趣旨から逸脱しないで行われることができる。添付の特許請求の範囲およびそれらの均等物は、本明細書に開示された本発明の特定の範囲および趣旨内に入る場合に、このような形態または変更を包含することを意図される。
【０１０６】
以下は、親出願（特願２０１６−５５３２７３号）の出願当初請求項である。
[請求項１]
インストラクションを格納するクライアント計算ノードにおいて、
前記インストラクションは、前記クライアント計算ノードによる実行時に、前記クライアント計算ノードに、
テレビ・ゲームの提示に関連付けられたクライアント・ストリーム画像を有するクライアント・ストリームを生成し、
電子ネットワークを使用してコンテンツ・プロバイダに接続し、
前記コンテンツ・プロバイダから、前記テレビ・ゲームの前記提示に関連付けられたコンテンツ・プロバイダ・ストリーム画像を有するコンテンツ・プロバイダ・ストリームを受信し、
第一コンテンツ・プロバイダ・ストリーム画像の少なくとも１つの機能と第一クライアント・ストリーム画像の少なくとも１つの機能とを結合し、第一表示画像の少なくとも一部を形成し、
前記第一表示画像を前記テレビ・ゲームの前記提示の部分として表示し、
少なくとも１回の一時停止を前記コンテンツ・プロバイダ・ストリームの前記受信に引き起こす、前記コンテンツ・プロバイダからの切断を検出し、
前記コンテンツ・プロバイダからの前記切断を検出後、第二クライアント・ストリーム画像の少なくとも１つの機能を含む第二表示画像を、前記テレビ・ゲームの前記提示の部分として表示する、
ことを備える動作を実行させる、
クライアント計算ノード。
[請求項２]
前記テレビ・ゲームに関連付けられた状態情報は、前記クライアント計算ノードと前記コンテンツ・プロバイダとの間で交換され、前記コンテンツ・プロバイダ・ストリームは、前記クライアントから受信した状態情報に少なくとも部分的に基づき生成され、前記クライアント・ストリームは、前記コンテンツ・プロバイダから受信した状態情報に少なくとも部分的に基づき生成される、
請求項１記載のクライアント計算ノード。
[請求項３]
前記テレビ・ゲームに関連付けられた機能は、前記テレビ・ゲームに関連付けられた前記機能の重要度に少なくとも部分的に基づき前記クライアント・ストリームと前記コンテンツ・プロバイダ・ストリームとの間で分散される、
請求項１記載のクライアント計算ノード。
[請求項４]
前記第一表示画像中のオブジェクト用に、前記第一クライアント・ストリーム画像は、前記オブジェクトのより低複雑なバージョンを含み、前記第一コンテンツ・プロバイダ・ストリーム画像は、前記オブジェクトのより高複雑なバージョンを含む、
請求項１記載のクライアント計算ノード。
[請求項５]
画像を提示するためにクライアント計算ノードにより実行されたコンピュータ実装方法において、
コンテンツ・アイテムの提示に関連付けられたクライアント・ストリーム機能に対応する情報を含むクライアント・ストリームを生成するステップと、
コンテンツ・プロバイダから、前記コンテンツ・アイテムの前記提示に関連付けられたコンテンツ・プロバイダ・ストリーム機能に対応する情報を含むコンテンツ・プロバイダ・ストリームを受信するステップと、
少なくとも１つのコンテンツ・プロバイダ・ストリーム機能を含む第一画像を、前記コンテンツ・アイテムの前記提示の部分として表示するステップと、
前記コンテンツ・プロバイダ・ストリームが少なくとも一時的に利用不可能であると判定するステップと、
少なくとも１つのクライアント・ストリーム機能を含む第二画像を、前記コンテンツ・アイテムの前記提示の部分として表示するステップと、
を含む、
コンピュータ実装方法。
[請求項６]
前記第一画像は、少なくとも１つのクライアント・ストリーム機能を含む、
請求項５記載のコンピュータ実装方法。
[請求項７]
前記第二画像は、少なくとも１つのコンテンツ・プロバイダ・ストリーム機能を含む、
請求項５記載のコンピュータ実装方法。
[請求項８]
前記クライアント・ストリームは、前記クライアント計算ノードで実行された前記コンテンツ・アイテムのクライアント・バージョンに少なくとも部分的に基づき生成され、前記コンテンツ・プロバイダ・ストリームは、前記コンテンツ・プロバイダにより実行された前記コンテンツ・アイテムのコンテンツ・プロバイダ・バージョンに少なくとも部分的に基づき生成される、
請求項５記載のコンピュータ実装方法。
[請求項９]
前記コンテンツ・アイテムに関連付けられた状態情報は、前記クライアント計算ノードと前記コンテンツ・プロバイダとの間で交換され、前記コンテンツ・プロバイダ・ストリームは、前記クライアント計算ノードから受信した状態情報に少なくとも部分的に基づき生成され、前記クライアント・ストリームは、前記コンテンツ・プロバイダから受信した状態情報に少なくとも部分的に基づき生成される、
請求項５記載のコンピュータ実装方法。
[請求項１０]
前記コンテンツ・アイテムに関連付けられた機能は、前記コンテンツ・アイテムに関連付けられた前記機能の重要度に少なくとも部分的に基づき前記クライアント・ストリームと前記コンテンツ・プロバイダ・ストリームとの間で分散される、
請求項５記載のコンピュータ実装方法。
[請求項１１]
前記コンテンツ・プロバイダ・ストリーム機能は、前記第一画像の背景部分に関連付けられた機能を含む、
請求項５記載のコンピュータ実装方法。
[請求項１２]
前記第一画像のオブジェクト用に、前記クライアント・ストリームは、前記オブジェクトのより低複雑バージョンを含み、前記コンテンツ・プロバイダ・ストリームは、前記オブジェクトのより高複雑バージョンを含む、
請求項５記載のコンピュータ実装方法。
[請求項１３]
前記コンテンツ・プロバイダ・ストリームが少なくとも一時的に利用不可能であると判定するステップは、前記コンテンツ・プロバイダと前記クライアントとの間の切断を検出するステップを含む、
請求項５記載のコンピュータ実装方法。
[請求項１４]
前記コンテンツ・プロバイダ・ストリームが少なくとも一時的に利用不可能であると判定するステップは、前記コンテンツ・プロバイダと前記クライアントとの間の接続が品質閾値レベルを下回っていることを検出するステップを含む、
請求項５記載のコンピュータ実装方法。
[請求項１５]
１つ以上のプロセッサおよび１つ以上のメモリを備えるシステムにおいて、
前記１つ以上のメモリにインストラクションが格納され、前記インストラクションは、前記１つ以上のプロセッサによる実行時に、前記１つ以上の計算ノードに、
コンテンツ・プロバイダ・ストリームの送信の要求をクライアントから受信し、前記コンテンツ・プロバイダ・ストリームは、コンテンツ・アイテムの提示に関連付けられたコンテンツ・プロバイダ・ストリーム画像を含み、
前記コンテンツ・アイテムの前記提示に関連付けられて前記クライアントにより生成されたクライアント・ストリームに含まれた１つ以上のクライアント・ストリーム画像の１つ以上の機能に関連付けられた状態を示す状態情報を前記クライアントから受信し、
前記コンテンツ・プロバイダ・ストリームを生成し、前記コンテンツ・プロバイダ・ストリーム画像の１つ以上は、前記クライアントから受信した前記状態情報に少なくとも部分的に基づき生成され、
前記コンテンツ・プロバイダ・ストリーム画像の１つ以上の少なくとも一部の表示用に前記コンテンツ・プロバイダ・ストリームを前記クライアントに送信し、
前記コンテンツ・プロバイダ・ストリーム画像のうちの１つ以上の、１つ以上の機能に関連付けられた状態を示す状態情報を前記クライアントに送信する、
ことを備える動作を実行させる、
システム。
【図１】
2018067957.tif 000003
【図２】
2018067957.tif 000004
【図３】
2018067957.tif 000005
【図４】
2018067957.tif 000006
【図５】
2018067957.tif 000007
【図６】
2018067957.tif 000008
【図７】
2018067957.tif 000009
【図８】
2018067957.tif 000010
【外国語明細書】
2018067957.tif 000011
2018067957.tif 000012
2018067957.tif 000013
2018067957.tif 000014
2018067957.tif 000015
2018067957.tif 000016
2018067957.tif 000017
2018067957.tif 000018
2018067957.tif 000019
2018067957.tif 000020
2018067957.tif 000021
2018067957.tif 000022
2018067957.tif 000023
2018067957.tif 000024
2018067957.tif 000025
2018067957.tif 000026
2018067957.tif 000027
2018067957.tif 000028
2018067957.tif 000029
2018067957.tif 000030
2018067957.tif 000031
2018067957.tif 000032
2018067957.tif 000033
2018067957.tif 000034
2018067957.tif 000035
2018067957.tif 000036
2018067957.tif 000037
2018067957.tif 000038
2018067957.tif 000039
2018067957.tif 000040
2018067957.tif 000041
2018067957.tif 000042
2018067957.tif 000043
2018067957.tif 000044
2018067957.tif 000045
2018067957.tif 000046
2018067957.tif 000047
2018067957.tif 000048
2018067957.tif 000049
2018067957.tif 000050
2018067957.tif 000051
2018067957.tif 000052
2018067957.tif 000053
2018067957.tif 000054
2018067957.tif 000055
2018067957.tif 000056
2018067957.tif 000057
2018067957.tif 000058
2018067957.tif 000059
2018067957.tif 000060
2018067957.tif 000061