(57)【要約】  メディアのトランザクション、取得、提示、および発行などの、デバイス独立メディアトランザクションのための方法、システム、技術、コンピュータ可読媒体が提供される。例示的な実施形態は、デバイス独立ビデオトランザクションシステム（ＤＩＶＴＳ）を提供するものであり、これにより、ユーザーは、ブロードバンド接続を介してストリーミングされたデータを受信しビデオデータをディスプレイに出力することができる任意のデバイス上にストリーミングビデオなどのメディアに対するトランザクションを実行することができる。一実施形態では、ＤＩＶＴＳは、ユーザーインターフェイス（４０１）、トランザクションエンジン（４０２）、メディアサブシステム（４０３）、および適宜、メディアデータリポジトリ（４０７）を備える。サブシステムは、さらに、取得エンジン（４０４）、提示エンジン（４０５）、および発行エンジン（４０６）を備える。これらのコンポーネントは連携し、これによりサードパーティ製デバイス（１００）はメディアの取得、トランザクション、提示、および発行を行うことができる。要約は、要約を要求する規則に従うように用意されたものであり、請求項の範囲または意味を解釈または制限するために使用しないという意図から提出される。
2009500877.tif 000002
【特許請求の範囲】
【請求項１】
単一のコンピューティングデバイスに常駐するデバイス独立メディアトランザクションシステムであって、
前記単一のコンピューティングデバイス上で実行され、取得すべきメディアを指定し、取得されたメディアの提示の送り先を決め、かつ指定されたメディアに関係するトランザクションを開始するための統一メカニズムをユーザーに提示するように構成されたユーザーインターフェイスと、
前記ユーザーインターフェイスを介して指定されたメディアを取り出すように構成されたメディア取得コンポーネントと、
前記取り出されたメディアを提示するように構成されたメディア提示コンポーネントと、
前記指定されたメディアに関係するトランザクションを実行するように構成されたトランザクションコンポーネントとを備えることを特徴とするデバイス独立メディアトランザクションシステム。
【請求項２】
前記デバイス独立メディアトランザクションシステムは、デバイス独立ビデオトランザクションシステムであることを特徴とする請求項１に記載のデバイス独立メディアトランザクションシステム。
【請求項３】
前記単一のコンピューティングデバイスは、デスクトップコンピューティングシステム、ラップトップコンピューティングシステム、セットトップボックス、ゲームシステム、パームトップコンピューティングシステム、または携帯電話のうちの少なくとも１つであることを特徴とする請求項１に記載のデバイス独立ビデオトランザクションシステム。
【請求項４】
前記指定されたメディアは、デジタルビデオデータおよび／またはデジタルオーディオデータを含むことを特徴とする請求項１から３のいずれか１項に記載のデバイス独立メディアトランザクションシステム。
【請求項５】
前記指定されたメディアは、前記コンピューティングデバイスのコンピュータ可読媒体記憶デバイス上に常駐することを特徴とする請求項１から４のいずれか１項に記載のデバイス独立メディアトランザクションシステム。
【請求項６】
前記メディア提示コンポーネントは、前記単一のコンピューティングデバイスに結合された表示デバイス上に前記取り出されたメディアと関連付けられているデジタルビデオフレームを表示するようにさらに構成されることを特徴とする請求項１から５のいずれか１項に記載のデバイス独立メディアトランザクションシステム。
【請求項７】
前記指定されたメディアに関係するトランザクションは、前記指定されたメディアを提示する権利を取得することと引き換えに金銭の決済を開始することを含むことを特徴とする請求項１から６のいずれか１項に記載のデバイス独立メディアトランザクションシステム。
【請求項８】
前記指定されたメディアに関係するトランザクションは、前記指定されたメディアに関係する商品および／またはサービスと引き換えに金銭の決済を開始することを含むことを特徴とする請求項１から７のいずれか１項に記載のデバイス独立メディアトランザクションシステム。
【請求項９】
前記指定されたメディアに関係するトランザクションは、１つまたは複数の指示されたカテゴリと一致するメディアタイトルの検索を開始することと、前記１つまたは複数の指示されたカテゴリのうちの少なくとも１つと一致する少なくとも１つのメディアタイトルの指示を受け取ることとを含むことを特徴とする請求項１から８のいずれか１項に記載のデバイス独立メディアトランザクションシステム。
【請求項１０】
前記指定されたメディアに関係するトランザクションは、前記指定されたメディアに関係するメタ情報を取得することを含むことを特徴とする請求項１から９のいずれか１項に記載のデバイス独立メディアトランザクションシステム。
【請求項１１】
前記メタ情報は、レビュー、画像、プレビュー、要約、またはあらすじのうちの少なくとも１つを含むことを特徴とする請求項１０に記載のデバイス独立メディアトランザクションシステム。
【請求項１２】
指定されたメディアをメディア受信装置に送るように構成されたメディア発行コンポーネントをさらに備え、前記ユーザーインターフェイスは、発行すべきメディアを指定するためのメカニズムを備え、発行すべき前記指定されたメディアを前記メディア発行コンポーネントに伝達することを特徴とする請求項１から１１のいずれか１項に記載のデバイス独立メディアトランザクションシステム。
【請求項１３】
前記指定されたメディアの伝達は、前記指定されたメディアのネットワークロケーションの指示を提供することを含むことを特徴とする請求項１２に記載のデバイス独立メディアトランザクションシステム。
【請求項１４】
前記指定されたメディアは、前記単一のコンピューティングデバイス上に常駐することを特徴とする請求項１２または１３の少なくとも１項に記載のデバイス独立メディアトランザクションシステム。
【請求項１５】
前記指定されたメディアは、前記単一のコンピューティングデバイスからリモートにあるコンピューティングデバイスに常駐することを特徴とする請求項１２から１４の少なくとも１項に記載のデバイス独立メディアトランザクションシステム。
【請求項１６】
メディアトランザクションを実行するための単一のコンピューティングデバイスにおける方法であって、
前記単一のコンピューティングデバイス上で実行され、取得すべきメディアを指定し、前記指定されたメディアに関係するトランザクションを開始し、前記指定されたメディアを取得し、かつ前記取得されたメディアを提示するための統一メカニズムをユーザーに提示するユーザーインターフェイスを備えることと、
前記ユーザーインターフェイスの制御の下で、
取得すべきメディアを指定することと、
前記指定されたメディアに関係するトランザクションを開始することと、
メディアソースから前記指定されたメディアを取得することと、
前記単一のコンピューティングデバイスに結合された表示デバイス上に前記取得されたメディアを提示することとを含むことを特徴とする方法。
【請求項１７】
前記指定されたメディアは、デジタルビデオデータを含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記取得されたメディアを提示することは、前記表示デバイス上に前記取得されたメディアに関連付けられているデジタルビデオを表示することを含むことを特徴とする請求項１６または１７の少なくとも１項に記載の方法。
【請求項１９】
前記指定されたメディアに関係するトランザクションは、前記指定されたメディアを提示する権利を取得することと引き換えに金銭の決済を開始することを含むことを特徴とする請求項１６から１８の少なくとも１項に記載の方法。
【請求項２０】
前記指定されたメディアに関係するトランザクションは、前記指定されたメディアに関係する商品および／またはサービスと引き換えに金銭の決済を開始することを含むことを特徴とする請求項１６から１９の少なくとも１項に記載の方法。
【請求項２１】
前記指定されたメディアに関係するトランザクションは、１つまたは複数の指示されたカテゴリと一致するメディアタイトルの検索を開始することと、前記１つまたは複数の指示されたカテゴリのうちの少なくとも１つと一致する少なくとも１つのメディアタイトルの指示を受け取ることとを含むことを特徴とする請求項１６から２０の少なくとも１項に記載の方法。
【請求項２２】
前記指定されたメディアに関係するトランザクションは、前記指定されたメディアに関係するメタ情報を取得することを含み、前記メタ情報はレビュー、画像、プレビュー、要約、およびあらすじのうちの少なくとも１つを含むことを特徴とする請求項１６から２１の少なくとも１項に記載の方法。
【請求項２３】
前記統一メカニズムは、さらに、前記指定されたメディアをメディア受信装置に発行し、前記ユーザーインターフェイスの制御の下で、前記指定されたメディアの少なくとも一部を前記メディア受信装置に伝達することにより前記指定されたメディアを前記メディア受信装置に発行するためのメカニズムであることを特徴とする請求項１６から２２の少なくとも１項に記載の方法。
【請求項２４】
前記ユーザーインターフェイスは、複数のパネルを備えるキルトの一表現であり、それぞれのパネルは、決定されたユーザー入力イベントに対する応答として、前記メディアトランザクションシステムが備える複数の機能のうちの少なくとも１つの呼び出しを開始することを特徴とする請求項１６から２３の少なくとも１項に記載の方法。
【請求項２５】
方法請求項１から２４のいずれか１項に記載のステップに従って、他の方法ではメディアに対するトランザクションを実行する動作が不可能な単一のコンピューティングデバイスをメディアトランザクションシステムとして動作させることが可能なコンテンツを有することを特徴とするコンピュータ可読媒体。
【請求項２６】
前記単一のコンピューティングデバイス上にインストールされたメディアトランザクションシステムを操作するユーザーと双方向にやり取りするための単一のコンピューティングデバイスにおける方法であって、
複数のパネルを備えるキルトの一表現を生成し、それぞれのパネルは前記複数のパネルのうちの少なくとも１つの他のパネルに接続され、前記メディアトランザクションシステムが備える複数の機能のうちの少なくとも１つの呼び出しを開始する少なくとも１つの関連するアクションを有することと、
前記複数のパネルのうちの１つを現在のパネルとして識別することと、
前記現在のパネルを提示することと、
受け取った入力イベントに対する応答として、前記現在のパネルに関連付けられている前記少なくとも１つのアクションの実行を開始し、前記アクションは選択されたメディアを決定すること、前記選択されたメディアに関係するトランザクションを実行すること、または前記選択されたメディアの一部を提示することのうちの少なくとも１つに関係することとを含むことを特徴とする方法。
【請求項２７】
前記受け取った入力イベントは、上イベント、下イベント、左イベント、右イベント、または選択イベントのうちの少なくとも１つであることを特徴とする請求項２６に記載の方法。
【請求項２８】
前記受け取った入力イベントは、関連する方向を有する方向入力イベントであり、前記現在のパネルは、前記関連する方向の複数のパネルのうちの１つのパネルに接続され、前記１つのパネルは、前記受け取った入力イベントに対する応答として提示されることを特徴とする請求項２６または２７の少なくとも１項に記載の方法。
【請求項２９】
前記現在のパネルを提示することは、前の現在のパネルから前記現在のパネルへの遷移をアニメーション表示することを含むことを特徴とする請求項２６から２８の少なくとも１項に記載の方法。
【請求項３０】
前記前の現在のパネルから前記現在のパネルへの遷移をアニメーション表示することは、前記前の現在のパネルをビューポートからシフトし、前記現在のパネルを前記ビューポート内にシフトすることを含むことを特徴とする請求項２９に記載の方法。
【請求項３１】
前記前の現在のパネルを前記ビューポートからシフトすることおよび前記現在のパネルを前記ビューポート内にシフトすることは、前記前のパネルから前記現在のパネルへの滑らかな遷移の知覚をもたらすことを含むことを特徴とする請求項３０に記載の方法。
【請求項３２】
前記前の現在のパネルから前記現在のパネルへの遷移をアニメーション表示することは、拡大縮小またはパニングオペレーションをさらに含むことを特徴とする請求項２９から３１の少なくとも１項に記載の方法。
【請求項３３】
前記複数のパネルのうちの少なくとも一部と関連付けられているアクションは、メディアタイトルのカテゴリを選択することであり、前記受け取った入力イベントは、第１の選択イベントであり、メディアタイトルの第１のカテゴリは、前記第１の選択イベントを受け取ることに対する応答として選択されることを特徴とする請求項２６から３２の少なくとも１項に記載の方法。
【請求項３４】
前記受け取った入力イベントは、第２の選択イベントであり、メディアタイトルの第２のカテゴリは、前記第２の選択イベントに対する応答として選択され、さらに前記選択された第１のカテゴリおよび前記選択された第２のカテゴリに少なくとも一部は基づきメディアタイトル検索の結果を提示することを含むことを特徴とする請求項３３に記載の方法。
【請求項３５】
前記選択された第１のカテゴリは、１つまたは複数のメディアタイトルを含み、前記選択された第２のカテゴリは、１つまたは複数のメディアタイトルを含み、前記メディアタイトル検索は、前記選択された第１のカテゴリのメディアタイトルと前記選択された第２のカテゴリのメディアタイトルとの積集合演算を実行することを含むことを特徴とする請求項３４に記載の方法。
【請求項３６】
前記複数のパネルのうちの第１のパネルは、前記第１の選択イベントに関連付けられ、前記複数のパネルのうちの第２のパネルは、前記第２の選択イベントに関連付けられ、さらに前記第２のパネルを前記第１のパネルの上にオーバーレイし、前記第１のパネルが前記第２のパネルの下にあることを示唆する指示を提示することにより前記第２のパネルを表示することを含むことを特徴とする請求項３４または３５に記載の方法。
【請求項３７】
前記複数のパネルのうちの少なくとも一部は、メディアのカテゴリを表すデータ構造に少なくとも一部は基づき自動的に生成されることを特徴とする請求項３３から３６の少なくとも１項に記載の方法。
【請求項３８】
前記提示された現在のパネルは、メディアカテゴリの複数の指示を含み、前記指示のうちの少なくとも１つは、前記受け取った入力イベントに対する応答としてハイライト表示されることを特徴とする請求項２６から３７の少なくとも１項に記載の方法。
【請求項３９】
前記キルト表現の複数のパネルは、単一の平面上にレイアウトされるように見え、さらに前記現在のパネルを前記キルト表現に垂直な配向から提示することを含み、それにより前記キルトの平面に直交する現在のパネルに遠近感を持たせて表示することを含むことを特徴とする請求項２６から３８の少なくとも１項に記載の方法。
【請求項４０】
前記複数のパネルのうちの１つまたは複数を提示するためにビューポートを使用することをさらに含むことを特徴とする請求項２６から３９の少なくとも１項に記載の方法。
【請求項４１】
前記ビューポートは、前記受け取った入力イベントに対する応答として前記複数のパネルをそれぞれ減らして、または増やして表示するためにズームインおよび／またはズームアウトするオペレーションをサポートすることを特徴とする請求項４０に記載の方法。
【請求項４２】
前記選択されたメディアの一部を提示することは、前記単一のコンピューティングデバイスに結合された表示デバイス上への前記選択されたメディアの一部の表示を開始することを含むことを特徴とする請求項２６から４１の少なくとも１項に記載の方法。
【請求項４３】
前記メディアトランザクションシステムは、ビデオトランザクションシステムであることを特徴とする請求項２６から４２の少なくとも１項に記載の方法。
【請求項４４】
前記現在のパネルを提示することは、前記単一のコンピューティングデバイスに結合された表示デバイス上への前記現在のパネルの表示を開始することを含むことを特徴とする請求項２６から４３の少なくとも１項に記載の方法。
【請求項４５】
前記受け取った入力イベントは、前記単一のコンピューティングデバイスに通信可能に結合されたユーザー入力デバイスから受け取られることを特徴とする請求項２６から４４の少なくとも１項に記載の方法。
【請求項４６】
前記ユーザー入力デバイスは、ジョイスティック、マウス、ポインティングデバイス、リモートコントローラ、ボタン、またはキーボードのうちの少なくとも１つであることを特徴とする請求項２６から４５の少なくとも１項に記載の方法。
【請求項４７】
前記単一のコンピューティングデバイスは、デスクトップコンピューティングシステム、ラップトップコンピューティングシステム、セットトップボックス、ゲームシステム、パームトップコンピューティングシステム、または携帯電話のうちの少なくとも１つであることを特徴とする請求項１６から２４または２６から４６の少なくとも１項に記載の方法。
【請求項４８】
単一のコンピューティングデバイスが方法請求項２６から４７のいずれか１項に記載のステップにより前記単一のコンピューティングデバイス上にインストールされているメディアトランザクションシステムを操作するユーザーと双方向にやり取りすることを可能にするコンテンツを有することを特徴とするコンピュータ可読媒体。
【請求項４９】
単一のコンピューティングデバイス上にインストールされたメディアトランザクションシステムを操作するユーザーと前記単一のコンピューティングデバイスとが双方向にやり取りすることを可能にするグラフィカルユーザーインターフェイスであって、
一緒にキルトメタファーを提示する複数のパネルの配列であって、それぞれのパネルは前記複数のパネルのうちの少なくとも１つの他のパネルに接続され、それぞれのパネルは前記メディアトランザクションシステムが備える複数の機能のうちの少なくとも１つを呼び出す少なくとも１つの関連するアクションを有する、複数のパネルの配列と、
識別されたパネルに関連付けられている受け取った入力イベントに対する応答として、前記識別されたパネルに関連付けられている前記アクションの実行を開始し、前記アクションは選択されたメディアを決定すること、前記選択されたメディアに関係するトランザクションを実行すること、または前記選択されたメディアの一部を提示することのうちの少なくとも１つに関係するように構成されたディスパッチャと、
前の提示されたパネルから前記識別されたパネルへの滑らかな遷移をアニメーション表示することにより前記ディスパッチャからの指示に対する応答として少なくとも前記識別されたパネルを提示するように構成された表示メカニズムとを備えることを特徴とするグラフィカルユーザーインターフェイス。
【請求項５０】
メディアトランザクションポータルを操作する方法であって、
サードパーティ製コンピューティングデバイスに、前記サードパーティ製コンピューティングデバイス上で実行するデバイス独立メディアトランザクションシステムを提供し、前記メディアトランザクションシステムは取得するメディアを指定し、取得されたメディアの提示を指令し、指定されたメディアに関係するトランザクションを開始するためのユーザーインターフェイスを備えるように構成されることと、
前記サードパーティ製デバイス上で実行される前記デバイス独立メディアトランザクションシステムから指定されたメディアアイテムに関係するトランザクションの指示を受け取ることと、
前記指定されたメディアアイテムに関係する指示されたトランザクションを開始することと、
トランザクション結果を前記デバイス独立メディアトランザクションシステムに提供することとを含むことを特徴とする方法。
【請求項５１】
前記デバイス独立メディアトランザクションシステムは、デバイス独立ビデオトランザクションシステムであることを特徴とする請求項５０に記載の方法。
【請求項５２】
前記方法は、１つまたは複数のサーバーコンピューティングシステムにより実行されることを特徴とする請求項５０または５１の少なくとも１項に記載の方法。
【請求項５３】
前記デバイス独立メディアトランザクションシステムを提供することは、デバイス独立メディアトランザクションシステム配信サーバーにより実行されることを特徴とする請求項５０から５２の少なくとも１項に記載の方法。
【請求項５４】
前記指示されたトランザクションを受け取ること、前記指示されたトランザクションを開始すること、および前記トランザクション結果を提供することは、メディアトランザクション管理サーバーにより行われることを特徴とする請求項５０から５３の少なくとも１項に記載の方法。
【請求項５５】
前記受け取られ指示されたトランザクションは、デスクトップコンピューティングシステム、ラップトップコンピューティングシステム、セットトップボックス、ゲームシステム、パームトップコンピューティングシステム、または携帯電話のうちの少なくとも１つから受け取られることを特徴とする請求項５０から５４の少なくとも１項に記載の方法。
【請求項５６】
前記指示されたトランザクションは、前記指定されたメディアアイテムを視聴する権利と引き換えに金銭の決済を開始することであることを特徴とする請求項５０から５５の少なくとも１項に記載の方法。
【請求項５７】
前記指示されたトランザクションは、１つまたは複数の指示された条件に基づきメディアカタログの検索を実行することであり、前記指示されたトランザクションを開始することは、前記メディアカタログの検索を実行して前記１つまたは複数の指示された条件と一致するメディアアイテムの少なくとも１つの指示を含む検索結果を取得することを含み、前記提供されるトランザクション結果は、前記検索結果を含むことを特徴とする請求項５０から５６の少なくとも１項に記載の方法。
【請求項５８】
前記指示されたトランザクションは、前記指定されたメディアアイテムに関係する商品および／またはサービスと引き換えに金銭の決済を開始することであることを特徴とする請求項５０から５７の少なくとも１項に記載の方法。
【請求項５９】
前記指示されたトランザクションは、前記指定されたメディアアイテムに関係するメタ情報を取得することであることを特徴とする請求項５０から５８の少なくとも１項に記載の方法。
【請求項６０】
前記メタ情報は、前記指定されたメディアアイテムのレビュー、前記指定されたメディアアイテムのあらすじ、前記指定されたメディアアイテムの評価、または前記指定されたメディアアイテムからの画像のうちの少なくとも１つを含むことを特徴とする請求項５９に記載の方法。
【請求項６１】
前記デバイス独立メディアトランザクションシステムにより指定されたメディアアイテムの発行を容易にすることをさらに含むことを特徴とする請求項５０から６０の少なくとも１項に記載の方法。
【請求項６２】
前記指定されたメディアアイテムの発行を容易にすることは、前記指定されたメディアのネットワークロケーションを決定することと、前記ネットワークロケーションを第２のデバイス独立メディアトランザクションシステムに提供することとをさらに含むことを特徴とする請求項６１に記載の方法。
【請求項６３】
前記指定されたメディアアイテムの発行を容易にすることは、前記指定されたメディアアイテムの少なくとも一部を前記デバイス独立メディアトランザクションシステムから取得することと、前記指定されたメディアアイテムの少なくとも一部を第２のデバイス独立メディアトランザクションシステムに提供することとをさらに含むことを特徴とする請求項６１または６２に記載の方法。
【請求項６４】
前記デバイス独立メディアトランザクションシステムを提供することは、デバイス独立メディアトランザクションシステムの要求を前記サードパーティ製コンピューティングデバイスから受け取ることを含むことを特徴とする請求項５０から６３の少なくとも１項に記載の方法。
【請求項６５】
前記指示されたトランザクションは、前記デバイス独立メディアトランザクションシステムに関連付けられている指定されたユーザーについてユーザーアカウントオペレーションを実行することであることを特徴とする請求項５０から６４の少なくとも１項に記載の方法。
【請求項６６】
前記ユーザーアカウントオペレーションは、前記指定されたユーザーの新しいアカウントを開くこと、前記指定されたユーザーのアカウントを閉じること、前記指定されたユーザーの連絡先情報を更新すること、前記指定されたユーザーの決済情報を更新すること、または前記指定されたユーザーのメディアプリファレンスを更新することのうちの少なくとも１つを含むことを特徴とする請求項６５に記載の方法。
【請求項６７】
他の方法ではビデオに関するトランザクションを実行する動作が不可能なサードパーティ製デバイスにビデオを配布し、メディアトランザクションネットワークの一部として前記サードパーティ製デバイスの動作を容易にする方法であって、
前記サードパーティ製デバイスのそれぞれに、前記サードパーティ製コンピューティングデバイス上で実行するデバイス独立ビデオトランザクションシステムを準備し、これによりビデオに関係するトランザクションを実行する前記デバイスを装備することと、
前記サードパーティ製デバイスに関連付けられている複数のユーザーが複数のビデオタイトルに関係する電子トランザクションを実行するための決済メカニズムを確立することと、
前記決済メカニズムを使用して、前記サードパーティ製デバイスからの複数の電子トランザクションを容易にし、前記複数のビデオタイトルのうちの少なくとも１つを取得するためにそれぞれのトランザクションが前記複数のユーザーのうちの一人により開始されることと、
前記容易にされたトランザクションのうちの１つが完了したという通知を受け取った後、
前記少なくとも１つの取得されたビデオタイトルの対応デバイスのうちの１つへの配信を開始することと、
前記取得されたビデオタイトルの提供元から補償金を受け取ることとを含むことを特徴とする方法。
【請求項６８】
前記決済メカニズムを使用して、複数の商品トランザクションを容易にすることをさらに含み、前記複数のビデオタイトルのうちの少なくとも１つに関係する商品を購入するためにそれぞれのトランザクションが前記複数のユーザーのうちの一人により開始されることを特徴とする請求項６７に記載の方法。
【請求項６９】
前記容易にされた商品トランザクションのうちの１つが完了したという通知を受け取った後、
前記購入された商品の少なくとも一部の配送を開始することと、
前記購入された商品の少なくとも一部の補償金を提供元から受け取ることとをさらに含むことを特徴とする請求項６８に記載の方法。
【請求項７０】
前記確立された決済メカニズムは、前記金銭授受を容易にする決済システムを含むことを特徴とする請求項６７から６９の少なくとも１項に記載の方法。
【請求項７１】
前記決済システムは、電子資金決済システムを含むことを特徴とする請求項７０に記載の方法。
【請求項７２】
前記決済メカニズムは、限定された使用に関して１つまたは複数のビデオタイトルを取得する権利と引き換えに前記金銭授受を容易にするレンタルプランを含むことを特徴とする請求項６７から７１の少なくとも１項に記載の方法。
【請求項７３】
前記限定された使用は、指定された時刻または視聴回数の少なくとも一方であることを特徴とする請求項７２に記載の方法。
【請求項７４】
前記限定された使用は、前記１つまたは複数のビデオタイトルを視聴するために使用できるデバイスの数であることを特徴とする請求項７２または７３に記載の方法。
【請求項７５】
前記方法は、提供元の代わりに動作するコンピューティングシステムにより実行されることを特徴とする請求項６７から７４の少なくとも１項に記載の方法。
【請求項７６】
前記デバイス独立ビデオトランザクションシステムは、前記提供元に関連付けられたトレードドレスのブランドが付いているユーザーインターフェイスを備えることを特徴とする請求項６７から７５の少なくとも１項に記載の方法。
【請求項７７】
方法の請求項５０から７６のいずれか１項に記載のステップに従ってコンピューティングシステムをメディアトランザクションネットワークポータルとして動作させることが可能なコンテンツを有することを特徴とするコンピュータ可読媒体。
【請求項７８】
前記コンピュータ可読媒体は、コンピューティングシステムのメモリであることを特徴とする請求項２５、４８、または７７の少なくとも１項に記載のコンピュータ可読媒体。
【請求項７９】
前記コンピュータ可読媒体は、前記コンテンツを含む生成されたデータ信号を伝送するデータ伝送メディアであることを特徴とする請求項２５、４８、または７７の少なくとも１項に記載のコンピュータ可読媒体。
【請求項８０】
前記コンテンツは、実行されると前記コンピューティングシステムに前記方法を実行させる命令であることを特徴とする請求項２５、４８、または７７の少なくとも１項に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、デバイス独立メディアトランザクションのための方法およびシステムに関するものであり、特に、メディアのトランザクション、取得、提示、および発行を容易にするための方法およびシステムに関するものである。
【背景技術】
【０００２】
デジタル方式のブロードバンドネットワークアクセスが広く利用されるようになり、さまざまなメディアコンテンツの配信を行う各種の技術が出現するに至った。このような技術は、ケーブルテレビ会社が運営するネットワークなどの閉鎖型ネットワーク上で動作する、デジタルおよび／またはアナログコンテンツを受信しデコードしてテレビ受像機に表示するための専用セットトップボックスを含む。他の技術としては、ポータブルメディアデバイスおよびソフトウェアメディアプレーヤーがある。ソフトウェアメディアプレーヤーは、典型的には、インターネットなどの開放型ネットワーク上で動作するものであり、デジタルコンテンツを受信しデコードして、デスクトップコンピュータ、ラップトップコンピュータ、または携帯電話などのコンピューティングシステムに取り付けられた表示デバイス上に表示する。ポータブルメディアデバイスは、ホストコンピューティングシステムから取得したデジタルコンテンツを格納し、表示または再生することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
メディア配布のセットトップボックスモデルには、さまざまな短所がある。第１に、セットトップボックスは、典型的には、閉鎖型ネットワーク上で動作する。つまり、消費者は、ネットワークの所有者、一般的にはケーブルテレビ会社が提供するメディア選択に制限されている。したがって、消費者は、メディアコンテンツの選択を制限されているゆえに、独占的価格設定に直面しているのである。さらに、コンテンツ配布のセットトップボックスモデルは、本質的に一方向性であり、消費に基づく。つまり、消費者は、その消費に関して受動的であり、その唯一の双方向のやり取りはネットワークの事業者によって選択されたさまざまな提供機能のうちの１つを選択することである。消費者は、一般に、セットトップボックスを利用し、自分のコンテンツを共有すること、および／または自分がアクセスしたメディアのレビューおよび／または評価を提供することなど、意味のある方法で、膨大な量のメディアコンテンツおよび／または他の情報リソースと双方向にやり取りすることはできない。
【０００４】
メディア配布のソフトウェアメディアプレーヤーモデルにも、いくつかの短所がある。第１に、セットトップボックスの場合のように、ユーザーは、メディアコンテンツの消費に対し受動的な役割を果たすことである。ユーザーは、多数のメディア提供機能のうちから選択することができるが、意味のあるフィードバックを返したり、ユーザーが消費するメディアに関係する他の双方向のやり取りを実行することはほとんど、または全くできない。ユーザーがこのような形で双方向にやり取りすることを望んでいる場合、ユーザーは、多くの場合、使用している特定のメディアプレーヤーにうまく組み込まれていない可能性のある他のソフトウェアシステム（例えば、Ｗｅｂブラウザ）に頼らざるを得ない。さらに、さまざまなメディア配布標準の提唱者同士の標準化争いの結果として、しばしば互換性のないメディアプレーヤーの市場が崩壊した。場合によっては、ユーザーは、さまざまな互換性のない標準に準拠するメディアコンテンツにアクセスするために、複数のメディアプレーヤーをインストールしなければならない。
【０００５】
さらに、配布のポータブルメディアデバイスモデルにも、さまざまな短所がある。第１に、ポータブルメディアデバイスは、典型的には、ブロードバンド接続を介してストリーミングコンテンツに直接アクセスする機能を備えていない。その代わりに、これらは、コンテンツソースから音楽および／またはビデオをダウンロードして、さらにポータブルメディアデバイスに転送するために、デスクトップパーソナルコンピュータなどのホストコンピューティングシステムに頼る。そのようなものとして、ポータブルメディアデバイスがホストシステムから切断されると、そのユーザーに供給されるコンテンツの選択は、事実上静的なものとなる。さらに、ホストコンピューティングシステムが介在するため、ユーザーは、コンテンツをポータブルメディアデバイスに供給することを主たる目的として存在するメディアライブラリを構築し、管理するためホストコンピューティングシステム上で追加されたソフトウェアシステムの使用に関して学習する作業に直面する。
【０００６】
さらに、統一されていないという問題は、メディアを配布する各種のアプローチに及んでいる。現在の家庭には、パーソナルコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント、携帯電話、およびテレビを含む、さまざまな形態のメディアを消費するために使用されうる多数のデバイスがある。しかし、メディアを消費するために、ユーザーは、ときにはかなり時間、金銭、および／またはフラストレーションのコストと引き換えにそれぞれのデバイスに対する専用インターフェイスを利用することを学習しなければならない。これらのデバイスをすべて作動させ、意味のある真の対話性を有する方法でメディアコンテンツを消費し、双方向にやり取りするために、ユーザーが利用することができる単一の統一されたインターフェイスは存在しない。
【課題を解決するための手段】
【０００７】
本明細書で説明されている実施形態では、メディアのトランザクション、取得、提示、および発行などのデバイス独立メディアトランザクションを実行する方法およびシステムを提示する。例示的な実施形態では、デバイス独立ビデオトランザクションシステム（「ＤＩＶＴＳ」）を提供するものであり、これにより、ユーザーは、ブロードバンド接続を介してストリーミングされたデータを受信することができ、メディアデータをディスプレイに出力することができるデバイス上でストリーミングされたビデオなどのメディアについてトランザクションを実行することができる。メディアは、映画、ドキュメンタリー、書籍、雑誌、ニュースソース、参考資料などを含む、さまざまなジャンルまたは形式のオーディオ、テキスト、ビデオ、静止画、およびその他の形態の情報を含む。本明細書で使用されているような「メディア」という用語は、さらに、メディアアイテム、メディアタイトル、コンテンツアイテム、またはメディア選択などの情報の１つまたは複数の論理的または物理的グループおよび／または配列を含む。さらに、１つまたは複数のメディアアイテムは、メディアカタログまたは他の集合体またはコレクションに配列するか、または他の何らかの形でグループ分けすることができる。サードパーティ製デバイス上にＤＩＶＴＳをインストールすることにより、このようなデバイスはＤＩＶＴＳ対応になる。「ＤＩＶＴＳ対応」、「メディア対応」、「ビデオ対応」などの用語は、さまざまな文脈において、メディアとトランザクションを行うように構成されたデバイスを指す。ＤＩＶＴＳ実施形態は、デバイス独立であり、多くの異なるハードウェア動作環境（例えば、さまざまなオペレーティングシステムが稼働するパーソナルコンピュータ、ビデオゲームシステム、パーソナルデジタルアシスタント、携帯電話など）のために提供することができるため、ユーザーは、さまざまな双方向リッチメディア機能を実行するために単一の統一されたユーザーインターフェイスを学習するだけでよい。
【０００８】
ＤＩＶＴＳのいくつかの実施形態では、取得すべきメディアを指定し、取得されたメディアの提示の送り先を命令し、かつ指定されたメディアに関係するトランザクションを開始するための統一メカニズムを提供するように構成された「キルト」メタファーに基づくインターフェイスを提供する。インターフェイスは、入力様式の最小集合を使用し、またさまざまな表示デバイスを使用して動作させることが可能であり、プラットフォームおよび／またはデバイスの独立性の程度を高める。キルトユーザーインターフェイスは、任意のデバイス上で動作するＤＩＶＴＳの任意のインスタンスと双方向にやり取りするための単一の統一インターフェイスを提供するので、ユーザーは、メディアトランザクションのリッチ集合を実行するために単一のインターフェイスを学習するだけでよい。
【０００９】
ＤＩＶＴＳ対応デバイスを使用することで、ユーザーは、メディアについてトランザクションを行うことができるが、これは、メディアタイトルにアクセスする権利を取得するための金融取引（例えば、購入、レンタル、購読）の実施を含む。トランザクションを行うことは、さらに、レビュー、あらすじ、静止画などのメディアタイトルに関係するメタ情報を取得する（例えば、検索、ブラウズなどにより）ことを含む。さらに、トランザクションを行うことは、メディアタイトルにおいて描かれるか、または示唆される商品および／またはサービス、および／またはメディアタイトルに関係するメタ情報を取得するために金融取引を実施することを含む。このような商品および／またはサービスは、例えば、特定のメディアタイトルにおける俳優が身に付けている衣料品またはアクセサリ、特定のメディアタイトルに関連付けられている広告内に描かれている物品、特定のメディアタイトルのレビューの文脈において保証される製品などを含むことができる。さらに、ユーザーは、デバイス上で提示（例えば、表示および／または再生）することを目的としてメディアタイトルを取得するためにＤＩＶＴＳ対応デバイスを使用することができる。さらに、いくつかの実施形態では、ユーザーは、ＤＩＶＴＳ対応デバイスを使用して、家庭または他のネットワークに格納したメディアコンテンツ（例えば、ホームコンピュータ上に格納されたデジタルビデオ）または家庭または他のネットワークにおいて他の何らかの方法により利用可能にされたメディアコンテンツ（例えば、Ｗｅｂまたはインターネットカメラ）を発行（例えば、共有）することができる。
【００１０】
メディアの他の生産者および消費者とネットワークを介して双方向にやり取りする複数のＤＩＶＴＳは、いくつかの実施形態では、メディアトランザクションネットワーク（「ＭＴＮ」）を形成しうる。ネットワークを介して双方向にやり取りするＤＩＶＴＳは、さまざまなメディアソースからメディアを取得するために使用することができる。メディアソースは、ストリーミングメディアサーバー、Ｗｅｂサーバー、ＦＴＰサーバー、ハードディスク、または他のコンピュータ可読媒体記憶デバイス、ネットワークカメラなど、ネットワークを介してアクセス可能かどうかに関係なく、メディアデータを提供することができるデバイスまたはシステムを含む。さらに、ＤＩＶＴＳは、メディアソースからさまざまなメディアシンク（メディア受信装置）へ利用可能なメディアを発行し、そのメディアにアクセスできるようにするために使用することができる。メディアシンクは、ソフトウェアメディアプレーヤーまたは他のＤＩＶＴＳなどの、メディアを消費することができるデバイスまたはシステムを含む。ＭＴＮの一部として、ＤＩＶＴＳを使用すると、他の方法だとＭＴＮ上の他のデバイス（非ＤＩＶＴＳ対応デバイスを含む）またはシステムからアクセス可能でなかった（例えば、そのメディアが概してネットワークから利用できないファイルシステム上に常駐しているため）であろうメディアを利用可能にすることができる。
【発明を実施するための最良の形態】
【００１１】
図１は、サードパーティ製デバイス上に常駐するデバイス独立ビデオトランザクションシステムの例示的な一実施形態の例示的なブロック図である。例示されている実施形態では、サードパーティ製デバイス１００は、メディアソース１０１およびデバイス独立ビデオトランザクションシステム（「ＤＩＶＴＳ」）１０２を備える。サードパーティ製デバイス１００は、高速ネットワーク接続（例えば、ブロードバンドインターネット接続）を介してメディアをディスプレイにストリーミングまたは他の何らかの方法により表示し、メディアを取得することができるデバイスとすることができる。ＤＩＶＴＳ  １０２は、メディアソース１０１、メディアシンク１０３、メディアトランザクションネットワークポータル（「ＭＴＮＰ」）１０４、表示デバイス１０５、およびオーディオデバイス１０６と双方向にやり取りし、それに関係するメディアおよびトランザクションをサードパーティ製デバイス１００のユーザーに提供する。
【００１２】
特に、ＤＩＶＴＳ  １０２は、メディアソース１０１からだけでなく、ＭＴＮＰ  １０４からもメディアを取得する。メディアを取得することは、ネットワーク、データバス、または他の通信メカニズムを介して画像、音声、テキスト、記号、または人間の感覚により認知できる他の形態として提示できる情報コンテンツとともにデジタルおよび／またはアナログデータを取得することを含むことができる。示されている実施例では、ＤＩＶＴＳ  １０２は、サードパーティ製デバイス１００上に常駐することが示されている、メディアソース１０１からメディアを取得する。そのようなものとして、メディアソース１０１は、ハードドライブ、光ドライブ、またはメディアをＤＩＶＴＳ  １０２に提供することができる他の記憶デバイスまたはサブシステムとすることができる。さらに、メディアソースは、ＭＴＮＰ  １０４により例示されているように、離れた場所にあってもよく、これは、ネットワーク（図に示されていない）または他の通信相互接続を介してＤＩＶＴＳ  １０２にメディアを提供することができる。
【００１３】
ＤＩＶＴＳ  １０２は、さらに、ＭＴＮＰ  １０４を使用して、メディアならびにこのようなメディア（メディア関係アイテム）に関係するメタ情報およびアイテムについてトランザクションを実行する。メディアのトランザクション実行は、メディア、メディア関係メタ情報、および／またはメディア関係アイテムに対する権利を購入すること、レンタルすること、購読すること、ライセンス供与すること、または他の何らかの方法により取得することを含むことができる。メディア関係メタ情報は、メディア発行情報（例えば、タイトル、発行者、ディレクタ、プロデューサ、俳優など）、レビュー、あらすじ、スチール写真など、取得可能なメディアに関係する情報を含むことができる。メディア関係アイテムは、メディアにより描かれる商品および／またはサービス（例えば、映画の中の俳優がかけているサングラス）、描かれるメディアにより示唆される商品および／またはサービス（例えば、料理番組により推奨される調理器具）、ならびにメディア関係メタ情報（例えば、取得されたメディアとともに提供される広告、映画批評記事などで薦められている俳優のファンクラブなど）において説明されるまたはそれにより示される商品および／またはサービスを含むことができる。典型的なメディアトランザクションは、検索を実行して取得するメディアに対する検索結果を取得すること、メディアのレビューおよび／またはプレビューを取得すること、メディアアイテムを購入、レンタル、または購読すること、メディアアイテムに描かれている、または関係する商品を購入すること、およびメディアアイテムのレビューを提供するなどのオペレーションを含むことができる。
【００１４】
さらに、ＤＩＶＴＳ  １０２は、メディアを表示デバイス１０５および／またはオーディオデバイス１０６に提示する。メディア提示は、出力用にメディアを準備することとともに、デジタルおよび／またはアナログメディアデータを信号または電磁波、音波、および味覚もしくは臭覚、または触覚インパルスにより知覚できる化学物質を含む、人が検出できる他のインパルスに変化させることができる出力デバイスによりメディアの出力を開始することを含むことができる。示されている実施例では、ＤＩＶＴＳ  １０２は、取得されたビデオメディアアイテムから画像データを表示デバイス１０５（例えば、陰極線管（「ＣＲＴ」）または液晶ディスプレイ（「ＬＣＤ」））に視聴者が目で視覚的に知覚できるように提示するとともに、取得されたビデオメディアアイテムからオーディオデータをオーディオデバイス１０６（例えば、スピーカーまたはヘッドホン）に視聴者が耳で聴覚的に知覚できるように提示する。
【００１５】
いくつかの実施形態では、ＤＩＶＴＳ  １０２は、さらに、メディアをメディアシンク１０３に発行することもできる。メディア発行は、提示などを目的として、メディアシンク、またはメディアの他の消費者により取得もしくは取り出すことができるようにメディアを提供することを含む。メディア発行は、このようなメディアアイテムの取得元となりうる場所の指示（例えば、ＵＲＬ（「ユニフォームリソースロケータ」）、またはＵＲＩ（「ユニフォームリソースインジケータ」））とともにこのようなメディアアイテムを配布もしくは他の何らかの方法により伝達するメカニズムを含めて、メディアアイテム自体だけでなく、そのようなメディアアイテムに関係するメタデータをも含むことができる。示されている実施例では、ＤＩＶＴＳ  １０２は、メディア（例えば、家庭用映画などの自作ビデオ）をメディアシンク１０３に発行する。例えば、メディアシンク１０３は、リモートの表示デバイスに表示することを目的として、ネットワークを介して発行されたメディアを取得するビデオプレーヤーとすることができる。
【００１６】
図２は、デバイス独立ビデオトランザクションシステムの機能を提供する例示的なプロセスの概要を示す例示的なブロック図である。ＤＩＶＴＳ  １０２などのＤＩＶＴＳは、図１を参照しつつ説明されているような多数の機能をサポートする。これらの機能は図２において別々のステップとして説明されているが、機能は任意の順序で実行することができ、また１つの機能から、典型的にはデバイスを操作しているユーザーの望みに応じて流れが他の機能に進むこともありえることは理解されるであろう。ステップ２０１では、ＤＩＶＴＳは、どのようなメディアを提示するかを決定し、このようなメディアに関係するトランザクションを実行するためのユーザーインターフェイスを表示する。次いで、ステップ２０２において、ＤＩＶＴＳは、メディアソースからメディアを取得する。メディアは、ローカルおよび／またはリモートソースを含む、任意のメディアソースから取得することができる。実施例は、ローカルの記憶デバイスからのメディア（例えば、ハードディスク、光ドライブなど）およびブロードバンド接続もしくはコンピュータネットワーク（例えば、Ｗｅｂサーバーまたはストリーミングビデオサーバー）を介してアクセスされるメディアなどを含む。ステップ２０３では、ＤＩＶＴＳは、オーディオを提示するように構成されたデバイス（例えば、ヘッドホン、スピーカーなど）、および／またはビデオを提示するように構成されたデバイス（例えば、ＣＲＴまたはＬＣＤディスプレイ）などの適切なデバイスに取得されたメディアを提示する。ステップ２０４で、ＤＩＶＴＳは、メディア関係トランザクションを開始する。このようなトランザクションは、例えば、エンティティまたは生活必需品、あるいは提示されるメディアに関係すると思われる他の商品および／またはサービスを買うこと、または他の何らかの方法により取得する、購入する、レンタルする、購読することに関係しうる。ステップ２０５において、ＤＩＶＴＳは、他のシステムおよび／またはユーザーへのメディアの発行をサポートする。これらのステップをそれぞれ実行した後、ＤＩＶＴＳは、他の前のステップのどれかに戻り、ステップ２０１〜２０５を参照しつつ説明されている機能を実行することができる。ユーザーがデバイスを遮断したときなど、ＤＩＶＴＳがもはやこのような機能を実行しなくなった後、ＤＩＶＴＳプロセスは終了する。
【００１７】
複数のメディア対応デバイスが存在する一実施形態では、メディア対応デバイスは、ネットワーク環境で共存し、メディアの共有およびアクセスを助長することができる。図３は、メディアントランザクションのネットワークを示す例示的なネットワーク線図である。メディアトランザクションネットワーク（「ＭＴＮ」）は、１つまたは複数のデバイスを含み、そのうち一部は、メディア対応であり、他はメディア対応でなく、１つまたは複数のネットワークにより相互接続されている。例えば、例示されているＭＴＮ  ３００は、第１のローカルネットワーク３０１、第２のローカルネットワーク３０２、携帯電話３０５上に常駐するメディアシンク、パーソナルデジタルアシスタント（「ＰＤＡ」）３０６上のＤＩＶＴＳ、サーバーコンピューティングシステム３０８上に常駐するＭＴＮＰ、サーバーコンピューティングシステム３０７上に常駐するメディアソース、および第１のローカルネットワーク３０１を介した複数の他のデバイス３０９〜３１３への接続を含む。携帯電話３０５およびＰＤＡ  ３０６は、無線ネットワークアクセスゲートウェイ３０４を介してＭＴＮ  ３００に接続されている。無線ネットワークアクセスゲートウェイは、ネットワーク対応デバイスが電磁波信号（例えば、電波、マイクロ波、赤外線など）を使用することにより、固定された電線またはケーブルを使用せずに、使用することに加えて、他のネットワーク対応デバイスと通信できるようにするデバイスを備える。例えば、無線ネットワークアクセスゲートウェイ３０４は、携帯電話設置機器、無線ルーター、パケット無線システム、赤外線トランシーバなどを含むことができる。例示されているさまざまなデバイス、コンピューティングシステム、およびネットワークは、インターネットなどの相互接続ネットワーク３０３を介して接続され、通信できるように結合されている。
【００１８】
示されている実施例では、第１のローカルネットワーク３０１は、ゲームシステム３０９上に常駐するＤＩＶＴＳ、デスクトップパーソナルコンピュータ（「ＰＣ」）３１０上に常駐するＤＩＶＴＳ、非ＤＩＶＴＳ対応ビデオカメラ３１１上に常駐するメディアソース、および非ＤＩＶＴＳ対応ラップトップコンピュータ３１３上に常駐するメディアソースおよびメディアシンクなどのデバイスを含む。例示されている非ＤＩＶＴＳ対応ビデオカメラ３１１は、他のコンピューティングデバイスによりアクセスすることが可能な通信インターフェイス（例えば、ＵＳＢ（「ユニバーサルシリアルバス」）インターフェイス、ＩＰ（「インターネットプロトコル」）アクセス可能ビデオデータサービスなど）を備える。さらに、ラップトップコンピュータ３１３は、図において、無線ネットワークアクセスゲートウェイ３１２を介して第１のローカルネットワーク３０１に接続されている。ローカルネットワーク３０１は、図において、ネットワークゲートウェイ３１４を介してＭＴＮ  ３００に接続されている。ネットワークゲートウェイ３１４は、例えば、モデム、ケーブルモデム、デジタル加入者回線（「ＤＳＬ」）モデム、ルーター、またはローカルネットワーク３０１を相互接続ネットワーク３０３に接続することができる他のデバイスまたはサブシステムとすることができる。
【００１９】
そのため、例示されているＭＴＮは、連携してメディアを取得し、そのトランザクションを実行し、提示し、発行することができるデバイスおよび／またはコンピューティングシステムの「エコシステム」である。例えば、ローカルネットワーク３０１は、メディアを取得し、そのトランザクションを実行し、提示し、表示するためにユーザーにより構成することができる複数のデバイスおよび／またはコンピューティングシステムを備えることができる典型的なホームネットワークを例示している。パーソナルコンピュータ３１０上に常駐するＤＩＶＴＳは、パーソナルコンピュータ３１０のローカルにあるメディアとともに、ビデオカメラ３１１などの非ＤＩＶＴＳ対応デバイスからのメディアを発行するために使用することができる。そうする際に、ユーザーは、ローカルネットワーク３０１の内部および外部にあるＤＩＶＴＳ対応デバイスおよび非ＤＩＶＴＳ対応デバイスの両方からメディアを利用可能にすることができる。例えば、ユーザーは、ゲームシステム４０９上に常駐するＤＩＶＴＳまたはラップトップ３１３上に常駐するメディアシンクを利用して、パーソナルコンピュータ３１０上に常駐するＤＩＶＴＳにより発行されたメディアを取得し、および／または提示することができる。さらに、デバイス３０５および３０６は、ローカルネットワーク３０１の外部にあり、通常は、例えばパーソナルコンピュータ３１０のローカルにあるハードドライブ上に常駐する、または例えばビデオカメラ３１１による提供されるメディアにアクセスすることができないとしても、ユーザーは、携帯電話３０５上のメディアシンク（例えば、ＲｅａｌＰｌａｙｅｒ（商標）メディアプレーヤーなどのメディアプレーヤーのインスタンス）またはＰＤＡ  ３０６上のＤＩＶＴＳを使用して、パーソナルコンピュータ３１０上に常駐するＤＩＶＴＳにより発行されたメディアを取得し、および／または提示することができる。したがって、ネットワーク上で動作する１つまたは複数のＤＩＶＴＳ対応デバイスは、このようなソースからのメディアに他の方法ではアクセスすることができない場合があるネットワーク上のさまざまな他のメディア消費デバイスによりさまざまソースから入手できるメディアの共有および提示を容易にする「接着」機能を備える。
【００２０】
いくつかの実施形態では、ユーザーは、発行されたメディアにアクセスできるデバイスおよび／またはユーザーを制限するために使用可能なアクセス権を指定することができる。例えば、ＰＣ  ３１０上に常駐するＤＩＶＴＳのユーザーは、ビデオカメラ３１１内のメディアソースにより提供されるビデオを発行することができるが、さらに、例えばローカルネットワーク３０１上で動作するデバイス、ならびにＰＤＡ  ３０６上のＤＩＶＴＳによるアクセスを許可するが、例示されているＭＴＮ  ３００における他のデバイスによるアクセスを許可しないアクセス権を指定することにより、そのようなメディアへのアクセスを制限することもできる。
【００２１】
本明細書で説明されている例示的な実施形態は、アプリケーション、ツール、データ構造体、およびＤＩＶＴＳ、キルトベースのユーザーインターフェイス、および／またはメディア、特にビデオベースのメディアタイトルのトランザクション、取得、提示、および発行に使用すべきＭＴＮＰを実装するための他のサポートを備える。説明されている技術の他の実施形態は、オーディオブック、ポッドキャスト、電子ブック（例えば、ｅＢｏｏｋ）、教材、新聞、時事雑誌などを含む、他の種類のメディアの配布を含む、他の目的に使用することができる。さらに、キルトメタファーを使用することで、Ｗｅｂブラウズ、文書作成、情報編成および提示（例えば、百科事典）、データベースのフロントエンドなどを含む、さまざまな機能セットを呼び出すためのデバイス独立の統一メカニズムを提供することができる。
【００２２】
さらに、いくつかの用語がもっぱら本明細書で使用されているが、当業者であれば、他の用語も、同等の実施形態および実施例を得るために入れ換えて使用することが可能であることを理解するであろう。例えば、「ビデオ」、「オーディオビジュアル」、「ムービー」、「映画」という用語、および他の類似の用語などは、画像および／またはテキストおよび／またはオーディオ部分を含むメディアコンテンツを参照するために使用することができる。さらに、用語は、明示的に言及される場合もない場合もある他の綴りを使用することができ、当業者であれば、このような用語のすべての変更形態が含まれることが意図されていることを理解するであろう。以下の説明では、説明されている技術を完全に理解できるように、データ形式およびコードシーケンスなど、多数の具体的詳細が述べられている。しかし、本発明の技術は、さらに、コードフローまたは異なるコードフローまたはステップの順序に関する変更など、本明細書で説明されている具体的詳細の一部なしで、または他の具体的詳細とともに、実施することもできる。そのため、説明されている技術および／または機能の範囲は、特定のルーチンに関して説明されているステップの特定の順序、選択、または分解により制限されない。
【００２３】
図４は、デバイス独立ビデオトランザクションシステムの例示的な実施形態のコンポーネントの例示的なブロック図である。ＤＩＶＴＳ  ４００は、１つまたは複数のコンポーネントを備え、これらが連携することにより、サードパーティ製デバイスは図１〜３に関して説明されているようにメディアを取得し、そのトランザクションを実行し、提示し、発行することができる。典型的な一実施形態では、ＤＩＶＴＳ  ４００は、ユーザーインターフェイス４０１、トランザクションエンジン４０２、メディアサブシステム４０３、および適宜、メディアデータリポジトリ４０７を備える。典型的な一実施形態では、メディアサブシステム４０３は、さらに、取得エンジン４０４、提示エンジン４０５、および発行エンジン４０６を備える。特定の実施形態に応じて、メディアサブシステム４０３は、これらのサブコンポーネントまたは異なるコンポーネントのうちの一部のみを備えるか、または異なる方法でその複数のコンポーネントに説明されている機能を分散させることができる。
【００２４】
例示されている実施形態では、ユーザーインターフェイス４０１は、ＤＩＶＴＳ  ４００のどの機能をユーザーが実行したがっているかを示す入力をユーザーから受け取る。さらに、ユーザーインターフェイス４０１は、ＤＩＶＴＳの他のコンポーネントをデバイスから独立した形で実装できるように、デバイス依存入力イベントをデバイス独立入力イベントに変換することに関与する。トランザクションエンジン４０２は、メディアサブシステム４０３により取得され、提示されるメディアに関係するトランザクションを開始し実行する。メディアサブシステム４０３は、メディアの取得、メディアの提示、および発行メカニズムを介したメディアの共有に関与する。取得エンジン４０４は、メディアデータリポジトリ４０７などの、メディアソースおよび／またはデータリポジトリを含む、さまざまなソースからメディアを取得する。提示エンジン４０５は、１つまたは複数の出力デバイス上にメディアを表示または提示する動作を開始し、および／またはそれを容易に行えるようにする。発行エンジン４０６は、ＤＩＶＴＳ  ４００のローカルにある、またはリモートにあるメディアと他のユーザー、デバイス、および／またはシステムとのその共有を容易に行えるようにする。メディアデータリポジトリ４０７は、ローカルメディアを格納し、および／またはローカルメディアにアクセスできるようにするために、ＤＩＶＴＳ対応デバイス上に存在しうるオプションコンポーネントである。
【００２５】
デバイス独立ビデオトランザクションシステムの例示的な実施形態では、メディア関係機能をユーザーに公開するためのさまざまな種類のユーザーインターフェイスを備えることができる。図５は、デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する「キルト」ユーザーインターフェイスの例示的なブロック図である。ＤＩＶＴＳのいくつかの実施形態では、取得すべきメディアを指定し、取得されたメディアの提示の送り先を決め、かつ指定されたメディアに関係するトランザクションを開始するための統一メカニズムを提示するよう構成された「キルト」メタファーをベースとするインターフェイスを備える。ＤＩＶＴＳの他の実施形態は、これらの機能を実行するために他のユーザーインターフェイスを組み込むことができる。
【００２６】
例示されているキルト５００は、それぞれ情報を表示し、および／またはユーザーから呼び出すことができる１つまたは複数のアクションを備えることができる複数の「パネル」を備える。キルトユーザーインターフェイス内のパネルは、矩形、三角形、または任意の多角形などの任意の形状とすることができることを除き、装飾的キルトの正方形「ブロック」にメタファーとして類似している。例示されているキルト５００は、ホームパネル５０１、第１のカテゴリパネル５０２、第２のカテゴリパネル５０３、結果パネル５０４、プレビューパネル５０５、あらすじパネル５０６、レビューパネル５０７、および写真パネル５０８を備える。他のキルトは、パネルの異なる集合を含むか、または例示されているパネルまたは追加のパネルの部分集合を含むことができる。キルトのそれぞれのパネルは、典型的には、少なくとも１つの他のパネルに論理接続され、ユーザーは、第１のパネルからその第１のパネルに接続されているパネルのどれかに、またそこから、他の接続されているパネルに、運動錯覚をユーザーにもたらすアニメーションなどを使用して、移動することによりキルト内をナビゲートすることができる。例えば、キルト５００の表現では、ホームパネル５０１は、第１のカテゴリパネル５０２に接続され、次いで、第２のカテゴリパネル５０３に接続される。ユーザーは、例えば、マウス、キーパッド、および／またはジョイスティックなどの入力デバイスを使用することにより、適切な入力イベントを発生させることでこれらのパネルのうちの１つから他のパネルにナビゲートすることができる。これらのパネル、およびパネル間の移動については、図７Ａ〜７Ｅを参照しつつさらに説明される。
【００２７】
ユーザーは、キルトの少なくとも一部を表示するフレームを作成するために使用されるビューポート５１０（実際にはユーザーからは見えない）を使ってキルト５００の１つまたは複数のパネルを表示することができる。例えば、いくつかの実施形態では、ビューポート５１０は、例えば、知られているグラフィック技術を使用してクリッピング領域を設定するウィンドウとして実装することができる。クリッピング技術を使用することで、ビューポート５１０により、ユーザーに対しどのパネルを表示するかを設定することができる。さらに、キルトのパネルに関するビューポート５１０の配置により、キルトを表示するための「基準」配向点（例えば、カメラ角度）が設定される。異なる移動および／またはアニメーション効果は、ビューポート５１０（つまり、配向点）をキルトの表面から遠ざけるか、または近づけることにより、またキルトの表面に関する配向点（つまり、配向の角度）を変更することにより得られる。
【００２８】
例えば、ユーザーが第１のパネルから第２のパネルにキルトをナビゲートすると、ビューポートをさまざまな仕方で移動し、第２のパネルを表示させることができる。いくつかの実施形態では、ビューポート５１０の移動は、ユーザーが一方のパネルから次のパネルへの遷移のアニメーションを見せられるように実行される。例えば、例示されているキルトでは、ユーザーが結果パネル５０４からプレビューパネル５０５にナビゲートする場合、ビューポート５１０は、例示されている位置から滑らかにシフトされ、代わりにプレビューパネル５０５を取り囲むことができる。一方のパネルから他方のパネルへの即時遷移、ズームイン、ズームアウト、およびキルトのパネルに関するビューポートの傾斜の変更を含む、追加の、または代替えのナビゲーションアニメーション効果も考えられる。ズームインおよび／またはズームアウトは、ビューポートを下げ、および／または上げることにより実行できる。キルトの表面に関してビューポートの角度を変更すると、ユーザーに遠近感を与えることができる。このような効果は、例えば、知られている２Ｄおよび３Ｄグラフィックス技術を使用して、実装することができる。このようなアニメーション効果は、本明細書で説明されているのと同等のさまざまな方法で概念化し、実行することができることに留意されたい。例えば、ビューポートを一方のパネルから他方のパネルにシフトするのではなく、ビューポートを固定位置に残したままキルト（つまり、コンテンツ）を同等の量だけシフトすることができる。他の実施形態および改善形態が考えられる。
【００２９】
キルト内のナビゲーションは、ユーザーインターフェイス入力イベントの最小集合を使用することにより実行することができる。いくつかの実施形態では、左、右、上、下、および選択を含む５つのイベントからなる集合で十分である。４つの方向イベント（左、右、上、および下）を使用することで、ユーザーは一方のパネルから次のパネルにナビゲートすることができる。選択イベントでは、ユーザーは「現在アクティブな」パネル上で使用することができるアクションを呼び出すことができる。いくつかの実施形態では、方向イベントは、さらに、選択を実行させることができ（例えば、選択イベントとして機能する）、および／または選択イベントは、方向移動（例えば、方向イベントとして機能する）を引き起こすことができる。他の実施形態は、これよりも多い、または少ない入力イベントを備えることができ、それらのイベントには異なる名前を付けることがある（例えば、「左」を「西」と、「選択」を「アクション」などとして記述する）。キルトを入力イベントの最小集合でナビゲートできるようにキルトを構成することで、デバイス独立性を高め、キルトベースのユーザーインターフェイスをさまざまなハードウェアデバイス上に実装することができる。
【００３０】
さらに、非平面キルトも考えられる。例えば、キルトは、球体、凸または凹多面体などの１つまたは複数の三次元オブジェクトにマッピングすることができる。このような実施形態では、ＤＩＶＴＳまたは他のアプリケーションが備える機能をアクティブ化するための情報およびコントロールを提供する動作が可能なキルトパネルで覆われた三次元ランドスケープ上を「飛行」または「移動」している錯覚をユーザーに与えることができる。
【００３１】
矩形パネルを備える典型的な平面キルトでは、ナビゲーションは、図５に関して説明されているように水平または垂直の向きに進行する。図６は、デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイス内のナビゲートを例示する例示的な状態図である。例示されている状態図は、図５に示されているナビゲーション遷移の階層的状態図である。つまり、この状態図は、１つまたは複数の他の状態または上位状態を含むことができる「上位状態」からなる。上位状態は、典型的には、含まれている状態または上位状態のすべてに共通な特性を含む。
【００３２】
例示されているキルトナビゲーション上位状態６００は、検索上位状態６０１およびメディアタイトルナビゲーション上位状態６０２を含む。検索上位状態６０１は、カテゴリ選択メニュー状態６０１ａ、カテゴリ選択／選択解除状態６０１ｂ、タイトル更新およびカテゴリリスト状態６０１ｃ、およびタイトル選択メニュー状態６０１ｄを含む。ユーザーは、図５に関して示されているような入力イベントを生成することにより状態６０１ａ〜ｄのどれかに遷移することができる。ユーザーが、状態６０１ａ〜ｄにおいて遷移すると、パネル５０２〜５０４などのさまざまなパネルが提示され、メディアタイトルの集合を検索するために選択することができるメディアタイトルのカテゴリに関する情報がユーザーに提供される。１つまたは複数のカテゴリを選択することにより、ユーザーは、メディアタイトルの集合を選択されたカテゴリのそれぞれに含まれるタイトルのみに絞り込むことができる。少なくとも１つのカテゴリを選択した後、ユーザーは、タイトル選択メニュー状態６０１ｄに入ることができる。
【００３３】
ユーザーは、タイトル選択メニュー状態６０１ｄから、１つのタイトルを選択して、メディアタイトルナビゲーション上位状態６０２に遷移することができる。メディアタイトルナビゲーション上位状態６０２は、バック状態６０２ａ、プレビュー状態６０２ｂ、あらすじ状態６０２ｃ、レビュー状態６０２ｄ、および写真状態６０２ｅの５つのメディアナビゲーション状態を含む。メディアナビゲーション状態６０２ａ〜ｅのそれぞれから、ユーザーは、「選択」入力イベントの生成を開始することにより（例えば、ボタンを押すか、またはデバイスを移動するか、またはデバイスの一部を移動するなどにより）、指示されたメディアナビゲーションアクションをユーザー側で実行することができる他の状態に遷移することができる。例えば、ユーザーは、プレビュー状態６０２ｂから、「選択」入力イベントの生成を開始し、プレビュー上位状態６０３に遷移することができる。さらに、ユーザーは、適切な方向（例えば、「左」、「右」など）入力イベントの生成を開始することにより、メディアナビゲーション状態６０２ａ〜ｅのうちの１つの状態からメディアナビゲーション状態６０２ａ〜ｅのうちの他の状態に遷移することができる。例えば、ユーザーは、「右」入力イベントの生成を開始することによりプレビュー状態６０２ｂからあらすじ状態６０２ｃに遷移することができる。
【００３４】
プレビュー上位状態６０３は、ユーザーが選択されたメディアタイトルをプレビューするのを可能にする多数の状態６０３ａ〜ｄを含む。プレビュー上位状態６０３は、一時停止状態６０３ａ、再生状態６０３ｂ、左シーク状態６０３ｃ、および右シーク状態６０３ｄを含む。これらの状態のうちの適切な状態に遷移することにより、ユーザーは、例えば、メディアタイトルの一部を再生し、および／またはメディアタイトル中の特定の位置にシーク（例えば、早送りまたは巻き戻し）することにより、選択されたメディアタイトルをプレビューすることができる。
【００３５】
図６の例示されている状態図は、ユーザーがメディアを取得し、メディアに関するトランザクションを実行し、および／またはメディアを提示することを可能にするように用意することができる状態および遷移の可能な一集合を示している。状態および／または遷移を増減した他の状態図も考えられる。
【００３６】
例示的なキルトユーザーインターフェイスは、図６に関して上で説明されているようなＤＩＶＴＳが備える１つまたは複数の機能を起動するための情報とともにユーザー選択可能なコントロールをそれぞれ備える複数のパネルを備えることができる。図７Ａ〜７Ｅは、デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイスのさまざまな「パネル」の例示的な画面表示である。図７Ａ〜７Ｅは、図５を参照しつつ導入されたキルトのパネルのうちのいくつかの詳細図を示している。
【００３７】
図７Ａは、第１のカテゴリパネル７Ａ０１、第２のカテゴリパネル７Ａ０２、および結果パネル７Ａ０３の例示的な画面表示７Ａ００である。この画面表示は、図５に示されているように配置されているビューポート５１０に対応する。示されている実施例では、ユーザーは、第１のカテゴリパネル７Ａ０１および第２のカテゴリパネル７Ａ０２に示されている１つまたは複数のカテゴリを選択することによるメディアタイトルの検索に携わっている。それに応答して、ＤＩＶＴＳユーザーインターフェイスは、選択されたカテゴリのそれぞれにおいて見つかる単一のメディアタイトル、「Ｔｉｔｌｅ  ７」を含む結果パネル７Ａ０３を表示する。メディア検索を実行することについては、図１０および１１Ａ〜１１Ｄに関してさらに詳しく説明される。
【００３８】
図７Ｂは、ユーザーが選択されたメディアタイトルをプレビューできるようにするプレビューパネルの例示的な画面表示７Ｂ００である。表示７Ｂ００は、ｂａｃｋボタン７Ｂ０２、ｒｅｎｔ  ｎｏｗボタン７Ｂ０３、ｐｒｅｖｉｅｗボタン７Ｂ０４、ｓｙｎｏｐｓｉｓボタン７Ｂ０５、ｒｅｖｉｅｗｓボタン７Ｂ０６、ｐｈｏｔｏｓボタン７Ｂ０７、およびビデオ領域７Ｂ０８を含むメディアタイトルナビゲーションバー７Ｂ０１を示している。ユーザーは、メディアタイトルナビゲーションバー７Ｂ０１をナビゲートし、例示されているボタン７Ｂ０２〜７Ｂ０７のうちの１つまたは複数を選択することにより、異なるメディア取得およびトランザクション機能を実行することができる。図に示されている実施例では、ユーザーは、ｐｒｅｖｉｅｗボタン７Ｂ０４を選択しており、その結果、選択されたメディアタイトルのビデオ領域７Ｂ０８内にデータビデオを表示する。ユーザーが選択されたメディアタイトルをプレビューした後、ｂａｃｋボタン７Ｂ０２を選択することにより前のパネル（例えば、図７Ａに関して説明されている結果パネル７Ａ０３）に戻る、ｒｅｎｔ  ｎｏｗボタン７Ｂ０３を選択することによりフルメディアタイトルをレンタルする、図７Ｃに関してさらに説明されているあらすじパネルに移動する、図７Ｄに関してさらに説明されているレビューパネルに移動する、あるいは図７Ｅに関してさらに説明されている写真パネルに移動するなどの他のまたは追加のアクションを実行することができる。
【００３９】
図７Ｃは、ユーザーが選択されたメディアタイトルのあらすじを取得できるようにするあらすじパネルの例示的な画面表示７Ｃ００である。表示７Ｃ００には、図７Ｂに関して説明されているメディアタイトルナビゲーションバー７Ｂ０１に類似のメディアタイトルナビゲーションバー７Ｃ０１が提示されている。さらに、表示７Ｃ００は、選択されたメディアタイトルの要約を表示するあらすじ領域７Ｃ０２を含む。ユーザーは、選択されたメディアタイトルの要約全体をナビゲート（例えば、ページアップ／ダウン）する入力イベントを発生させることができる。
【００４０】
図７Ｄは、ユーザーが選択されたメディアタイトルのレビューを取得できるようにするレビューパネルの例示的な画面表示７Ｄ００である。表示７Ｄ００には、図７Ｂに関して説明されているメディアタイトルナビゲーションバー７Ｂ０１に類似のメディアタイトルナビゲーションバー７Ｄ０１が提示されている。さらに、表示７Ｄ００には、選択されたメディアタイトルのレビュー（例えば、ユーザー作成レビュー）を表示する複数のレビュー７Ｄ０２が提示される。ユーザーは、レビュー全体をナビゲート（例えば、レビューが単一画面上に収まりきらないほどたくさんある場合にページアップ／ダウン）する、および／または個別のレビューに関する情報をさらに取得する（例えば、単一レビューを選択してレビュー全体にアクセスできるようにする）入力イベントを発生することができる。他の実施形態では、ユーザーは、さらに、例えばＭＴＮ上の他のユーザーと共有することができる自分のレビューまたは評価を作成し、発行するためにそのようなインターフェイスを使用することもできる。
【００４１】
図７Ｅは、ユーザーが選択されたメディアタイトルから取り出された、または選択されたメディアタイトル中にある静止画を取得できるようにする写真パネルの例示的な画面表示７Ｅ００である。表示７Ｅ００には、図７Ｂに関して説明されているメディアタイトルナビゲーションバー７Ｂ０１に類似のメディアタイトルナビゲーションバー７Ｅ０１が提示されている。さらに、表示７Ｅ００には、選択されたメディアタイトルからの静止画を表す、複数の写真７Ｅ０２が提示される。ユーザーは、さまざまな表示されている写真７Ｅ０２においてナビゲートするか（例えば、単一の画面上に収まらないほど多い場合）、または１つまたは複数の表示されている写真の詳細を取得することができる（例えば、高解像度および／または多数の画像、価格、テキスト説明など）。いくつかの実施形態では、そのような静止画は、さらに、ユーザーによる使用のため購入および／またはライセンスすることもできる（例えば、スクリーンセイバーまたは他の目的のために）。
【００４２】
図５、６、および７Ａ〜７Ｅに関して上で説明されているような、ユーザーにより開始された入力イベントは、いくつかの実施形態では、ＤＩＶＴＳが備えるユーザーインターフェイスルーチンにより取り扱うことができる。図８は、デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なユーザーインターフェイスルーチンの例示的な流れ図である。例示されているユーザーインターフェイスルーチンは、例えば、図４のユーザーインターフェイス４０１に備えることができる。つまり、ユーザーインターフェイスルーチンは、ユーザー指示アクションが来るのを待ち、メディアの取得またはトランザクション実行など、ＤＩＶＴＳの１つまたは複数の機能を起動または実行することによりユーザー指示アクションを実行する。
【００４３】
より具体的には、ステップ８０１で、ルーチンは、実行すべきユーザーアクションの指示を決定するか、または受け取り、次いで、ステップ８０２〜８０８で、指示されたアクションを実行するか、または起動する。このルーチンならびに本明細書で説明されている他のルーチンへの入力の指定は、限定はしないが、パラメータ受け渡し、メッセージ受け渡し、シグナル、ソケット、パイプ、ストリーム、ファイルを含む、当業で知られているさまざまな方法により実装することができる。ステップ８０２で、ルーチンは、指示されたユーザーアクションが、メディアおよび／またはメディア関係アイテムのトランザクションを行うことであるかどうかを判定し、もしそうならば、ステップ８０３に続き、そうでなければステップ８０４に続く。ステップ８０３で、ルーチンは、メディアのトランザクションを実行するためＭｅｄｉａＴｒａｎｓａｃｔルーチンを呼び出す。このルーチンは、図９を参照しつつさらに説明される。次いで、ルーチンはステップ８０９に続く。
【００４４】
ステップ８０４で、ルーチンは、指示されたユーザーアクションが、メディアにアクセスすることであるかどうかを判定し、もしそうならば、ステップ８０５に続き、そうでなければステップ８０６に続く。ステップ８０５で、ルーチンは、メディアを取得し、場合によってはメディアをユーザーに提示するためＭｅｄｉａＡｃｑｕｉｒｅルーチンを呼び出す。ＭｅｄｉａＡｃｑｕｉｒｅルーチンは、図１４を参照しつつさらに説明される。次いで、ルーチンはステップ８０９に続く。
【００４５】
ステップ８０６で、ルーチンは、指示されたユーザーアクションが、メディアコンテンツを共有することであるかどうかを判定し、もしそうならば、ステップ８０７に続き、そうでなければステップ８０８に続く。ステップ８０７で、ＭｅｄｉａＰｕｂｌｉｓｈルーチンを呼び出し、他のユーザーから利用できるようにすることによりメディアを発行し、ステップ８０９に続く。ＭｅｄｉａＰｕｂｌｉｓｈルーチンは、図１６を参照しつつさらに説明される。
【００４６】
ステップ８０８では、ルーチンは、適宜他の指示されたアクションを実行し、ステップ８０９に続く。他のアクションとしては、例えば、利用可能なソフトウェア更新をユーザーに通知すること、このような更新を実行すること、システム設定を調整することなどを含むことができる。ステップ８０９では、ルーチンは、終了するのが適切かどうか、または実行すべき他の作業があるかどうかを判定し、もしそうであれば、終了し、そうでなければ、ステップ８０１のループの先頭に戻り、さらに受け取ったユーザーアクションを待ち、処理する。
【００４７】
図９は、デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なメディアトランザクションルーチンの例示的な流れ図である。ルーチンは、例えば、図４のトランザクションエンジン４０２に備えることができる。ＭｅｄｉａＴｒａｎｓａｃｔルーチンは、メディアの検索および／またはライセンス供与などのＤＩＶＴＳによりサポートされているメディアトランザクション関係機能を起動または実行することによりユーザー指示アクションを繰り返し呼び出すループを実行する。ステップ９０１において、ルーチンは、ユーザーアクションまたは取得すべきメディアの指示を決定または受け取る。ステップ９０２〜９０７において、ルーチンは、指示されたアクションを処理する。具体的には、ステップ９０２では、ルーチンは、指示されたユーザーアクションがメディアの検索要求であるかどうかを判定する。もしそうならば、ルーチンはステップ９０３に続き、図１０に関してさらに説明されているＭｅｄｉａＳｅａｒｃｈルーチンを呼び出し、そうでなければ、ステップ９０４に続く。ステップ９０４で、ルーチンは、指示されたユーザーアクションが、メディアおよび／またはそのようなメディアに関係する商品およびサービスをライセンスするか、または購入するかどうかを判定する。そうであれば、ルーチンは、ステップ９０５に進み、そうでなければステップ９０６に続く。ステップ９０５で、ルーチンは、指示されたメディア商品および／またはサービスのトランザクションを開始する。ステップ９０６で、ルーチンはトランザクションを完了する。トランザクションを完了することは、例えば、トランザクションの成功または失敗の指示をユーザーに与えること、またはユーザーとさらに双方向のやり取りをしてトランザクションを完了するために必要な追加の情報を取得し、かつ／または与えることを含むことができる。いくつかの実施形態では、トランザクションを実行するために使用される情報の多くまたはすべて（例えば、クレジットカード番号、連絡先情報など）は、ローカルまたはリモートに格納することができ、これにより、ユーザーが追加の情報を供給しなくても、単一のステップでトランザクションを完了することができる。
【００４８】
ステップ９０７で、ルーチンは、適宜他の指示されたアクションを実行する。他のアクションは、メディアタイトルのユーザー生成レビューおよび／または評価を取得し、提供すること、メディアトランザクションを実行することに関係するユーザー設定もしくはプリファレンスを調整または他の何らかの方法で構成することを含むことができる（例えば、映画のお気に入りカテゴリ、決済情報、連絡先情報、人口統計学的情報など）。さらに、メディアおよび／またはメディア関係コンテンツの購読に関係するインターフェイスおよび機能を備える実施形態をサポートすることができる。例えば、ユーザーがどのような種類のメディアにアクセスできるか、または期間毎のメディアタイトルの数などを定義する異なるレベルのサブスクライバをサポートすることができる。
【００４９】
ステップ９０３〜９０７でユーザーアクションを処理した後、ルーチンは、ステップ９０８に進み、トランザクションが完了するかどうかを判定する。トランザクションが完了していない場合（例えば、処理すべき追加のユーザーアクションがあるため）、ルーチンは、ステップ９０１に進み、より多くのアクションを処理する作業を続ける。そうでない場合、ルーチンは戻る。
【００５０】
図１０は、デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なメディア検索ルーチンの例示的な流れ図である。このルーチンは、例えば、図４に関してさらに説明されるように、トランザクションエンジン４０２に備えることができる。ＭｅｄｉａＳｅａｒｃｈルーチンは、ユーザーによって選択された１つまたは複数の検索条件（例えば、カテゴリ）に従ってメディアタイトルの集合を繰り返し絞り込んでゆくループを実行する。カテゴリおよび下位カテゴリに関して説明されているが、他の基準も、同様に、組み込むことができる。
【００５１】
具体的には、ステップ１００１でルーチンはすべての利用可能なメディアタイトルに関して可変のＷｏｒｋｉｎｇＳｅｔを初期化する。このメディアタイトルの集合は、ローカルに格納されるか、ＤＩＶＴＳをホストするデバイスに接続されるか、またはリモートでは、ネットワークアクセス可能なメディアライブラリもしくは他の情報源上にあってもよい。ステップ１００２で、ルーチンは、メディアタイトルのカテゴリの指示を受け取る。例示されている実施形態において、メディアタイトルのカテゴリは、特定の作者により書かれる、特定のディレクタにより指令される、特定のジャンル（例えば、アクション、冒険、ロマンスなど）に関係する、特定の原産国または言語を有するなどの共通特性をすべてが有するメディアタイトルの集合である。カテゴリは、図１２に関してさらに説明する。
【００５２】
ステップ１００３で、ルーチンは、メディアタイトルのうちのどれが指示されたカテゴリに対応するかを判定し、他の変数ＣｕｒｒｅｎｔＴｉｔｌｅｓをステップ１００２で指示されたカテゴリに属するメディアタイトルへの参照で初期化する。ステップ１００４で、ルーチンは、現在のＷｏｒｋｉｎｇＳｅｔだけでなくＣｕｒｒｅｎｔＴｉｔｌｅｓの集合の両方に現れるタイトルのコレクションを参照するようにＷｏｒｋｉｎｇＳｅｔ変数を設定する。（この変数は、それぞれのループ反復で有効な現在の検索条件により指示される現在のタイトルを参照するように更新される。）ステップ１００５で、ルーチンは、追加の検索条件を処理し続けるかどうかを判定し、もしそうならば、ステップ１００２に続き、そうでなければ、ステップ１００６に続く。ルーチンは、例えば、メディアタイトルのカテゴリの追加指示を受け取った場合に、続行しうる。ステップ１００６で、ルーチンは、メディアタイトルの指示されたカテゴリすべてと一致するメディアタイトルの集合を反映するＷｏｒｋｉｎｇＳｅｔ変数により指示されるタイトルの集合を供給する。次いで、ルーチンは戻る。
【００５３】
一実施形態では、検索条件を組み合わせて、それぞれの指示されたカテゴリにおけるタイトルの集合の積集合を形成することに留意されたい。次いで、ＷｏｒｋｉｎｇＳｅｔ変数は、この集合の積集合の要素であるメディアタイトルの集合を反映する。他の実施形態では、他の論理または集合演算子を使用して、他の種類の検索を実行することができ、ＷｏｒｋｉｎｇＳｅｔ変数は、それに応じて調整される。例えば、いくつかの実施形態では、ユーザーは、他の種類の検索（例えば、中国またはヨーロッパのすべてのアクション映画）を実行するために１つまたは複数の集合結合演算子を選択することができる。
【００５４】
いくつかの実施形態では、図１０に関して上で説明されているような検索プロセスに対する入力をユーザーから取得するために、またその検索プロセスから結果を与えるための１つまたは複数のユーザーインターフェイス画面を備えることができる。図１１Ａ〜１１Ｄは、デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイスの検索パネルの例示的な画面表示である。図１１Ａ〜１１Ｄは、図１０により提供されるようなメディアタイトルについての検索の実行中にユーザーに対し表示することができる４つの連続する画面の一実施例を示している。
【００５５】
図１１Ａは、ユーザーが多数のジャンルカテゴリのうちの１つから選択する検索の状態を示している。画面には、ホームパネル１１Ａ０１、上位カテゴリパネル１１Ａ０２、およびカテゴリパネル１１Ａ０３の３つのパネルが表示される。ユーザーは、ユーザーが視聴のためメディアタイトルをレンタルすることを望んでいることを示す、レンタルオプション１１Ａ０４をホームパネル１１Ａ０１から選択した。ユーザーは、上位カテゴリパネル１１Ａ０２から、検索について特定の「Ｇｅｎｒｅ」カテゴリを指定することをユーザーが望んでいることを示す、ジャンルオプション１１Ａ０５を選択している。カテゴリパネル１１Ａ０３では、カーソル１１Ａ０６は、現在「Ａｃｔｉｏｎ」カテゴリ上にある。この時点で、ユーザーが「選択」入力イベントの発生を開始した場合、ユーザーインターフェイスは、遷移をアニメーション表示して、キルトの新しいパネルのビューをディスプレイ上に提示する。
【００５６】
図１１Ｂは、ユーザーが図１１Ａに示されている「Ａｃｔｉｏｎ」カテゴリを選択した後結果として得られる画面表示を示している。この画面表示には、図１１Ａに示されている上位カテゴリパネル１１Ａ０２である、上位カテゴリパネル１１Ｂ０１、図１１Ａに示されているカテゴリパネル１１Ａ０３である、カテゴリパネル１１Ｂ０２、ならびに結果パネル１１Ｂ０３が示される。例示されているキルトユーザーインターフェイスは、この実施例では、高々３つの検索パネルのみを表示するように構成されているため、図１１Ａのホームパネル１１Ａ０１は、もはや表示されないことに留意されたい（ビューポートはそれに応じて移動されている）。他の実施形態では、それよりも多い、または少ないパネルを表示するように構成することができる。いくつかの実施形態では、このような構成は、特定のハードウェア要件（例えば、ＰＤＡ上の表示デバイスが小さい）の指示に応じて、自動的に実行されうる。結果パネル１１Ｂ０３は、現在、「Ａｃｔｉｏｎ」カテゴリの要素である６つのタイトル全部を示している。
【００５７】
図１１Ｃは、ユーザーが次に、追加のカテゴリを選択することにより図１１Ｂの検索結果をさらにフィルタ処理することを決定したときに現れる画面表示を示している。この実施例では、ユーザーは、例示されている上位カテゴリパネル１１Ｃ０１から追加の上位カテゴリ（「Ｓｔｕｄｉｏ」）１１Ｃ０４を選択するのに適している入力イベントの発生を開始することにより戻っている。例示されている実施形態によれば、検索条件は、論理「ＡＮＤ」（論理積）演算を使用することにより組み合わされる。その結果、選択された上位カテゴリ内に多数のスタジオを表示する新しいカテゴリパネル１１Ｃ０２が表示される。スタジオのいくつか（Ｓｔｕｄｉｏ  ３、Ｓｔｕｄｉｏｓ  ５〜６、およびＳｔｕｄｉｏｓ  ８〜１０）は、淡色表示になっていることに留意されたい。淡色表示のカテゴリは、淡色表示のカテゴリとともに他の選択されたカテゴリ（この場合、ジャンル上位カテゴリの「Ａｃｔｉｏｎ」カテゴリ）内に収まるメディアタイトルがないことをユーザーに対して示すものである。他の実施形態では、他のメカニズムを使用して、１つまたは複数のすでに選択されているカテゴリとともに選択することができる特定のカテゴリ内にメディアタイトルが存在しないことを指示することができる。このようなメカニズムは、例えば、そのようなカテゴリを異なる色で表示すること、そのようなカテゴリにアイコンおよび／または記号で注釈を付けること、およびそのようなカテゴリを非表示にすることを含む。さらに、実行され図１１Ｂに表示されている初期検索からの結果パネル１１Ｃ０３は、まだ表示されている。このパネルは、ユーザーがカテゴリパネル１１Ｃ０２内の利用可能なカテゴリのうちの１つを選択したときに追加の検索条件の結果を反映するように更新される。
【００５８】
図１１Ｄは、図１１Ｃのスタジオカテゴリのうちの１つをユーザーが選択したときに出力される画面表示を示している。この場合、ユーザーは、カテゴリ「Ｓｔｕｄｉｏ  ４」１１Ｄ０５を選択し、その結果、結果パネル１１Ｄ０３が更新され、「Ｇｅｎｒｅ」上位カテゴリ１１Ｄ０６の「Ａｃｔｉｏｎ」カテゴリさらには「Ｓｔｕｄｉｏ」上位カテゴリ１１Ｄ０５の「Ｓｔｕｄｉｏ  ４」カテゴリの両方にある、単一のメディアタイトル「Ｔｉｔｌｅ  ７」のみがあることを反映する。上位カテゴリパネル１１Ｄ０１は、「Ｇｅｎｒｅ」上位カテゴリ１１Ｄ０６が、まだタブ１１Ｄ０８で該当するテキストを囲むことにより選択されていることを示していることに留意されたい。さらに、カテゴリパネル１１Ｄ０２の下から現れ、結果パネル１１Ｄ０３と接続されているブリッジ１１Ｄ０７は、検索結果が２つの選択されたカテゴリから導き出されることを示している。このようにして、ユーザーは、現在の検索の構造およびカテゴリを知らされる。
【００５９】
いくつかの実施形態により使用され、図１１Ａ〜１１Ｄに関して上で説明されている、メディアタイトルの検索のカテゴリベースのアプローチは、カテゴリ分類グラフに関して概念化することができる。図１２は、多数の例示的なメディアタイトルのカテゴリ分類を表すカテゴリ分類グラフである。カテゴリ分類グラフは、１つまたは複数のメディアタイトルに対する１つまたは複数のカテゴリを表すために使用することができる有向非周期グラフである。円弧は、グラフ内のノード間の関係を示すために使用される有向（例えば、矢印を使用して）線（直線、曲線、または他の線）である。親ノード（ノードから円弧が出ているノード）は、カテゴリノードである。葉ノード（ノードから円弧が出ていないノード）は、メディアタイトルノードであるか、または空のカテゴリノードである。カテゴリノードは、空であるか、または１つまたは複数のカテゴリおよび／またはそれに含まれるメディアタイトルを（１つまたは複数の円弧により）示すことができる。上位カテゴリノードは、上位カテゴリノードに含まれる少なくとも１つのカテゴリノードを示すカテゴリノードである。図１１Ａ〜１１Ｄに関して説明されている実施例で使用される上位カテゴリおよびカテゴリを含む２レベル階層は、カテゴリ分類グラフを使用することで一般化されうる。例えば、例示されているカテゴリ分類グラフは、直接的または間接的に、他のすべてのカテゴリを含む単一のルートノード１２０１を有する。他の実施形態では、複数のルートノードを表すことができる。
【００６０】
例示されているグラフでは、ルートノード１２０１は、ジャンルカテゴリノード１２０２および国カテゴリノード１２０３を含む。ジャンルカテゴリノード１２０２および国カテゴリノード１２０３は、例示されているように追加のカテゴリノードを含む。例えば、ジャンルカテゴリノード１２０２は、アクションノード１２０４およびアドベンチャーノード１２０５を含む。アクションカテゴリノード１２０４は、メディアタイトルノード１２２０、爆発カテゴリノード１２０６、および格闘技カテゴリノード１２０７を含む。爆発カテゴリノード１２０６は現在、他のカテゴリまたはメディアタイトルを参照していないという点で空であることに留意されたい。また、メディアタイトルノード１２２０は、複数のカテゴリノードにより参照されることにも留意されたい。一般に、与えられたメディアタイトルを含むことができるカテゴリの数に制限または制約はない。さらに、図１１Ａ〜１１Ｄに例示されている実施例のメディアタイトルは、上位カテゴリおよびカテゴリからなる２レベル階層に編成されるとしても、カテゴリ分類グラフで表すことができ、検索ユーザーインターフェイス内に表すことができるカテゴリおよび下位カテゴリのレベルの数に制限はない。
【００６１】
さらに、国カテゴリノード１２０３は、さらにメディアタイトルノード１２２３を指す、中国カテゴリノード１２０９を指している、アジアカテゴリノード１２０８を有する。このグラフは、いくつかの実施形態において、カテゴリノードが下位カテゴリをバイパスし、そのような下位カテゴリにより含まれるメディアタイトルを直接指す直接的円弧を含むことができることを示す追加の破線円弧１２１１を示している。カテゴリがカテゴリ分類グラフのルートのところ、またはその近くにあるとしても、そのような直接的円弧は、これがある与えられたカテゴリ内のすべてのメディアタイトルを効率よく検索できるため検索を実行する際の最適化として使用することができる。
【００６２】
カテゴリ分類グラフの構造は、いくつかの実施形態では、メディアタイトルの集合に関係する構造化、または非構造化メタデータから自動的に導き出すことができる。例えば、キーワード、タグ、日付、および／または他の構造化（例えば、ＸＭＬ（「拡張マークアップ言語」）および非構造化（例えば、映画批評）情報を検査し、利用して、カテゴリ分類グラフを生成することができる。例えば、自動テキスト分類を含むさまざまな知られている技術を使用することで、メディアタイトルとカテゴリとの間の相互関係を表すために使用することができるカテゴリ分類グラフまたは同等のデータ構造を自動的に生成することを目的としてメディア自体に描かれるテキスト（オーディオブックまたは映画脚本のテキストバージョンとして）に加えて、レビュー、プレスリリース、広告などの非構造化データを処理することができる。
【００６３】
さらに、カテゴリ分類グラフまたは同等のデータ構造を使用することで、キルトユーザーインターフェイスの検索部分の構造的相互関係およびパネルコンテンツも、自動的に生成することができる。例えば、与えられたカテゴリノードの子は、単一のカテゴリパネルに割り当てることができるか、または単一のカテゴリパネル内に配置することができる。次いで、特定のカテゴリノードにより表されるカテゴリを選択すると、そのカテゴリノードの子を含むカテゴリパネルが表示され、および／またはそのカテゴリノードにより参照されるメディアタイトルを含む結果パネルが表示される。
【００６４】
キルトユーザーインターフェイスとともに使用するようにパネル内に編成することを目的として検索条件をフィルタ処理するプロセスも、ベン図を使用して表すことができる。図１３Ａ〜１３Ｂは、多数の例示的なメディアタイトルのカテゴリ分類を表すベン図である。これらの図は、図１２に示されているさまざまなカテゴリ間の集合関係の一部を示す代替表現を与えるものである。図１３Ａは、ＭｏｖｉｅＤ  １３Ａ０１（図１２のノード１２２３に示されている）は、中国カテゴリ１３Ａ０２の要素であり、さらにこれは、アジアカテゴリ１３Ａ０３の部分集合であり、さらにこれは、すべての映画１３Ａ０４の全体カテゴリの部分集合である。他の実施例として、図１３Ｂは、ＭｏｖｉｅＢ  １３Ｂ０１（図１２の１２２２に示されている）がＵＳＡカテゴリ１３Ｂ０２および格闘技カテゴリ１３Ｂ０３の両方の要素であることを示している。さらに、ＵＳＡカテゴリ１３Ｂ０２は、北米カテゴリ１３Ｂ０４の部分集合である。格闘技カテゴリ１３Ｂ０３は、アクションカテゴリ１３Ｂ０５および北米カテゴリ１３Ｂ０４の両方の部分集合である。北米カテゴリ１３Ｂ０４およびアクションカテゴリ１３Ｂ０５は両方とも、全体カテゴリ１３Ｂ０６の部分集合である。いくつかの実施形態では、ベン図を描画し、ユーザーインターフェイスにより示される関係を表示することも有益であると考えられる。
【００６５】
再び図２のステップ２０２を参照すると、ＤＩＶＴＳユーザーインターフェイスの典型的な実施形態において、メディアを検索することに加えて、ユーザーはさまざまなソースからメディアを取得することもできる。図１４は、デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なメディア取得ルーチンの例示的な流れ図である。ルーチンは、例えば、図４のメディア取得エンジン４０４に備えることができる。ＭｅｄｉａＡｃｑｕｉｒｅルーチンは、適宜、メディアタイトルを取得するトランザクション（例えば、ライセンス供与）を開始し、さらに、メディアソースからメディアを受け取り、適宜その提示を開始するループを実行する。メディアを取得する例示的なユーザーインターフェイスは、図１５に関して説明されている。具体的には、ステップ１４０１でルーチンはアクセスするメディアの指示を決定する。このような指示は、例えば、ユーザーによる選択の結果として受け取ることができる。ステップ１４０２では、ルーチンは、指示されたメディアを取得するために金融取引が必要かどうかを決定する。そうであれば、ルーチンは、ステップ１４０３に進み、そうでなければステップ１４０４に続く。ステップ１４０３では、図９に関して説明されているＭｅｄｉａＴｒａｎｓａｃｔルーチンを呼び出す。代わりに、ステップ１４０２において、金融取引が必要ないと決定された場合、またはステップ１４０３の後に、次いでステップ１４０４で、ルーチンはメディアアクセスを開始する。メディアアクセスの開始は、ネットワークを介してメッセージを送信すること、関数またはプロシージャを呼び出すこと、またはメディアの提供を開始するためにメディアソースを通知する他のメカニズムを含むことができる。ステップ１４０５で、ルーチンは、指示されたメディアまたはユーザーアクションの一部を受け取る。ステップ１４０６で、ルーチンは、メディアが受信されたかどうかを判定し、もしそうであれば、ルーチンはステップ１４０７に続き、そうでなければ、ステップ１４０８に続く。ステップ１４０７で、ルーチンは、受信されたメディア部分の表示を開始する。いくつかの実施形態では、これは、ビデオのフレームを表示デバイス上に提示すること、および／またはオーディオデータのフレームをスピーカーまたは他のオーディオ出力デバイス上で再生することを含む。ステップ１４０７の後、ルーチンは、ステップ１４１０に続く。
【００６６】
代わりに、ルーチンが、ステップ１４０６において、メディアが受信されていないと判定した場合、ステップ１４０８で、ルーチンは、ユーザーアクションが受信されたかどうかを判定し、もしそうならば、ステップ１４０９に続き、そうでなければステップ１４１０に続く。例示的なユーザーアクションは、ビデオおよび／または他のメディアの表示の再生、一時停止、早送り、または停止を含む。ステップ１４０９では、ルーチンは、適宜受信されたユーザーアクションを処理し、次いでステップ１４１０に続く。例えば、一時停止アクションの指示が受信された場合、ルーチンは、ビデオおよび／またはオーディオの表示を一時停止する。
【００６７】
ステップ１４１０で、ルーチンは、指示されたメディアの取得を完了したかどうかを判定し、そうでなければ、ルーチンは、ステップ１４０５に戻ってさらにメディアの処理を続ける。ルーチンは、例えば、利用できるメディア部分がなくなった場合、またはユーザーが、取得プロセスを終了するか、または他の何らかの方法で打ち切りたいことを指示した場合に、終了することができる。終了すると、ルーチンは戻る。
【００６８】
図１５は、デバイス独立ビデオトランザクションシステムの例示的な実施形態により提供される例示的なキルトユーザーインターフェイスのメディア取得パネルの例示的な画面表示である。図１４に関して説明されているＭｅｄｉａＡｃｑｕｉｒｅルーチンは、このユーザーインターフェイスからユーザーアクションの指示を受け取り、メディアの提示先をこのユーザーインターフェイスにすることができる。例えば、ユーザーは、ｐｒｅｖｉｅｗボタン１５０１を選択することができ、その結果、ＭｅｄｉａＡｃｑｕｉｒｅルーチンは指定されたメディアタイトルの取得を開始する。指定されたメディアの一部が受信されると、ＭｅｄｉａＡｃｑｕｉｒｅルーチンは、画像データ（例えば、ビデオフレーム）をビデオ領域１５０２上に表示する動作を開始し、および／またはプレビュースライダー１５０３を更新することができる。プレビュースライダー１５０３は、いくつかの実施形態では、与えられたメディアタイトルの再生をシークするか、または他の何らかの方法により制御するために、ユーザーが操作することもできる。
【００６９】
再び図２のステップ２０５を参照すると、ＤＩＶＴＳユーザーインターフェイスの典型的な実施形態において、ユーザーは他のユーザーとメディアを共有するためにメディアを発行することもできる。図１６は、デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なメディア発行ルーチンの例示的な流れ図である。ルーチンは、例えば、図４のメディア発行エンジン４０６に備えることができる。ＭｅｄｉａＰｕｂｌｉｓｈルーチンは、メディアの共有に関係する情報をユーザーから集めて、メディアシンクから、そのようなメディアにアクセスできるようにする。
【００７０】
より具体的には、ステップ１６０１では、ルーチンは、共有されるメディアの場所の指示を決定する。いくつかの実施形態では、このような指示は、例えば、ユーザーインターフェイスに、例えばユーザー入力を介して渡されるＵＲＬにより表すことができる。ステップ１６０２では、ルーチンは、ライセンス条件の指示を決定するか、または受け取る。ライセンス条件は、例えば、共有されるメディアに含まれる法律上の権利の割り当ての指定を含むことができる。例えば、ユーザーは、指示されたメディアをパブリックドメインに置くことをユーザーが望んでいることを指示するか、またはそれとは別に、一部の権利（例えば、著作権法により規定されている独占的な法的権利の１つまたは複数）を共有される指示されたメディア内に保持することをユーザーが望んでいることを指示することができる。ステップ１６０３では、ルーチンは、アクセス権の指示を決定するか、または受け取る。このようなアクセス権は、ユーザーが共有される指示されたメディアへのアクセスを許可または却下することを望んでいる、例えば、ユーザーのグループ、デバイスのグループ、個別のデバイス、および／または個別のユーザーを含むことができる。ステップ１６０４において、ルーチンは、指示されたメディアを共有する配布メカニズムの指示を決定するか、または受け取る。例えば、図３に関して説明されているＭＴＮＰ  ３０８などのメディアポータルによるピアツーピア配布および／または集中配布を含む、さまざまな配布メカニズムが考えられる。例示的なＭＴＮＰは、図２０に関してさらに説明する。
【００７１】
ステップ１６０５では、ルーチンは、ポータルまたは他の集中配布メカニズムを介してメディアを配布すべきであることをユーザーが指示したかどうかを判定する。そうでない場合、ルーチンは、ステップ１６０６に続き、他の場合は、ステップ１６０８に続く。  ステップ１６０６で、ルーチンは、指示された配布メカニズムを介して指示されたメディアにアクセスする。いくつかの実施形態では、これは、１つまたは複数のメディアシンクによりメディアをアップロードできるようにすることを含むことができる。このような機能は、ＭｅｄｉａＰｕｂｌｉｓｈルーチンの修正バージョンにより、またはそれとは別にＷｅｂサーバー、メディアストリーミングサービスなどのターンキーメディアソースにより、実行することができる。ステップ１６０７で、ルーチンは、適宜、メディアの場所の指示を１つまたは複数のポータルもしくは他の配布システムに供給し、その後戻る。このステップは、集中または他の配布メカニズムによりメディアが利用可能であることを宣伝し、プロモートし、または他の何らかの方法で他のユーザーに伝達することができるように、ＵＲＬ、ＩＰ（「インターネットプロトコル」）アドレス、または利用可能なメディアの他のインジケータを用意することを含むことができる。
【００７２】
代わりに、ステップ１６０５で、ポータルまたは他の集中配布メカニズムによりメディアを配布すべきであるとユーザーが指示したと判定された場合、ルーチンはステップ１６０８に進む。ステップ１６０８で、ルーチンは、指示されたメディア、ライセンス条件、およびアクセス権をポータルまたは他の集中配布メカニズムに与える。集中配布メカニズムは、次いで、さらに配布することを目的として、リモートシステム（例えば、メディアストリーミングサービス、ＦＴＰサーバー、ピアツーピアネットワーク、および／またはＷｅｂサーバー）への指示されたメディアのアップロードおよび格納を開始することができる。次いで、ルーチンは戻る。
【００７３】
図１７は、デバイス独立ビデオトランザクションシステムの例示的な実施形態を実施するための汎用コンピュータシステムの例示的なブロック図である。汎用コンピュータシステム１７００は、１つまたは複数のサーバーおよび／またはクライアントコンピューティングシステムを含むことができ、分散された場所にまたがることができる。さらに、図に示されているそれぞれのブロックは、特定の実施形態に適切なように１つまたは複数のそのようなブロックを表すことができるか、または他のブロックと組み合わせることができる。さらに、ＤＩＶＴＳ  １７０８のさまざまなブロックは、物理的に、１つまたは複数のマシン上に常駐することができ、これは、互いに通信するために標準または専用のプロセス間通信メカニズムを使用する。
【００７４】
図に示されている実施形態では、コンピュータシステム１７００は、コンピュータメモリ（「メモリ」）１７０１、ディスプレイ１７０２、中央処理装置（「ＣＰＵ」）１７０３、ネットワークインターフェイス１７０５、記憶デバイス１７０６、ポインティングデバイス１７０７、および他の入力／出力（「ＩＯ」）デバイス１７０４を備える。ＤＩＶＴＳ  １７０８は、図では、メモリ１７０１内に常駐している。ＤＩＶＴＳ  １７０８のコンポーネントは、好ましくは、ＣＰＵ  １７０３上で実行される。図４に関して説明されているように、ＤＩＶＴＳ  １７０８などの例示的なＤＩＶＴＳは、ユーザーインターフェイス１７０９、トランザクションエンジン１７１０、メディアサブシステム１７１１、オプションのメディアリポジトリ１７１５、および入力エンジン１７１６を備える。メディアサブシステム１７１１は、取得エンジン１７１２、提示エンジン１７１３、および発行エンジン１７１４を備える。入力エンジン１７１６は、受け取った物理的入力イベントをユーザーインターフェイス１７０９などの他のコンポーネントにより消費されうる論理入力イベントに変換することにより、例えば、ポインティングデバイス１７０７および／または他の入力デバイス１７０４から受け取った物理的ユーザー入力イベントを処理する。他のプログラム１７２０も、メモリ１７０１内に常駐することができ、好ましくは、１つまたは複数のＣＰＵ  １７０３上で実行される。さまざまな実装アプローチおよび／またはアーキテクチャが考えられ、また図１８に関してさらに説明される。
【００７５】
図１８は、デバイス独立となるような方法でサードパーティ製エンターテインメントデバイス上に実装されたデバイス独立ビデオトランザクションシステムの例示的な一実施形態の他の詳細の例示的なブロック図である。サードパーティ製エンターテインメントデバイス１８０１は、ＤＩＶＴＳ  １８０２、入力コントロール１８１０、表示コントロール１８１１、オーディオコントロール１８１２、ハードドライブ１８１３、ネットワークインターフェイス１８１４、および光メディアドライブ１８１５を含む。ＤＩＶＴＳ  １８０２は、ユーザーインターフェイス１８０３、メディアトランザクションエンジン１８０４、メディア発行エンジン１８０５、メディア取得エンジン１８０６、メディア提示エンジン１８０７、および入力エンジン１８０８を備える。ユーザーインターフェイス１８０３は、さらに、ディスパッチャ１８３０および複数のリスナー１８３１を含む。
【００７６】
典型的な動作では、サードパーティ製デバイスの入力コントロール１８１０は、この例示的な実施形態において、ジョイスティックまたはリモートコントローラなどのポインティングデバイス１８２０に接続されている。入力コントロール１８１０は、ポインティングデバイス１８２０により生成された入力イベントを受け取り、それらを入力エンジン１８０８に供給するハードウェア／ソフトウェア／ファームウェアインターフェイスを備える。入力エンジン１８０８は、さらに、入力コントロール１８１０から受け取った物理的入力イベントをディスパッチャ１８３０に送られる論理デバイス独立入力イベントに変換する。ディスパッチャ１８３０は、論理入力イベントをそのタイプの入力イベントに関心があることを表明したリスナー１８３１に渡す（例えば、それ自体を、特定のクラスまたはタイプのイベントを処理するために利用できるものとして登録することにより）。例示的なディスパッチャルーチンは、図１９に関してさらに説明される。次いで、その入力イベントに関心を持っているリスナーは、メディア提示エンジン１８０７によりメディアの提示を開始または終了すること、メディア取得エンジン１８０６によりメディアの取得を開始すること、メディアトランザクションエンジン１８０４によりメディアトランザクションを開始すること、またはメディア発行エンジン１８０５によりメディアの共有を開始することなどのアクションを実行することができる。
【００７７】
例えば、メディアが受信されると、提示エンジン１８０７は、メディアをオーディオおよび／またはビデオデータの形態で表示コントロール１８１１および／またはオーディオコントロール１８１２にプッシュする。表示コントロールは、例えば、画像データを示すために表示１８２１を変換し、レンダリングし、および／または他の何らかの方法で制御するディスプレイドライバ（ソフトウェア）および／またはハードウェア／ファームウェアとすることができる。オーディオコントロールは、例えば、音声を出力するために接続されているスピーカー１８２２を制御するオーディオドライバおよび／またはハードウェア／ファームウェアとすることができる。ディスプレイ１８２１およびスピーカー１８２２は、デバイス１８０１上に常駐するか、または通信メカニズムなどによる、何らかの方法で接続することができる。リスナー１８３１の１つがメディア取得を開始した場合、メディア取得エンジン１８０６は、例えば図１４および１５に関して説明されているように、メディアを取得する。リスナー１８３１の１つがメディアに関係するトランザクションを開始した場合、メディアトランザクションエンジン１８０４は、図９および１０に関して説明されているようなメディアに関係するトランザクションを開始するか、または実行する。メディアトランザクションエンジン１８０４は、金銭上の許可を与える独立ベンダなどの内部または外部の他のシステムおよび／またはサービスと連携して動作しうることに留意されたい。リスナー１８３１の１つが、メディアを共有することをユーザーが望んでいることを示している場合、メディア発行エンジン１８０５は、図１６に関して説明されているようにアクティブ化される。
【００７８】
図１９は、デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なディスパッチャルーチンの例示的な流れ図である。ルーチンは、例えば、図１８のディスパッチャに備えることができる。ディスパッチャルーチンは、入力イベントを繰り返し受け取り、それらを適切なリスナーに受け渡すループを実行する。リスナーは、典型的には、１つまたは複数の指定イベントを受け取るためにディスパッチに自己登録するソフトウェアコンポーネントである。具体的には、ステップ１９０１でルーチンは入力イベントの指示を受け取る。このような入力イベントは、限定はしないが、キーボード、マウス、タッチパッド、タッチスクリーン、ジョイスティック、および／またはリモートコントローラを含む、さまざまなハードウェアデバイスにより生成され、そこから受け取られる入力を備えることができる。ステップ１９０２では、ルーチンは、ステップ１９０１で受け取った物理的入力イベントを論理デバイス独立入力イベントに変換する。ステップ１９０３で、ルーチンは、ステップ１９０２の論理入力イベントの通知を受け取ることに関心のあることを表明したリスナーの集合を決定する。
【００７９】
次に、ステップ１９０４〜１９０６により定義されているループにおいて、ルーチンは、論理入力イベントをステップ１９０３で決定されたリスナーの集合のそれぞれのリスナーに配布する。ステップ１９０４で、ルーチンは、リスナーの集合にリスナーがあるかどうかを判定する。ない場合、ルーチンは、ステップ１９０７に続き、指定された入力イベントの処理を終了し、ある場合、ステップ１９０５に続く。ステップ１９０５で、ルーチンは、リスナーの集合内の次のリスナーを決定する。ステップ１９０６で、ルーチンは、ステップ１９０５で決定されたリスナーに論理入力イベントを配信し、ループの先頭に戻り、ステップ１９０４内の指定された入力イベントの処理を続ける。
【００８０】
ステップ１９０７で、ルーチンは、次の入力イベントの処理を続けるかどうかを判定し、もしそうならば、ステップ１９０１に戻る。例えば、追加のイベントが処理を待っている場合に、ルーチンは、ステップ１９０１に進むことができる。そうでなければ、ルーチンは終了するか、または次の入力イベントが到着するまで待機状態に入る。一実施形態では、図１９のディスパッチルーチンは、割り込みハンドラ（例えば、デバイスドライバルーチン）として、またはそれと同様にして実装され、これは、入力デバイスにより引き起こされるソフトウェアまたはハードウェア割り込みを使って呼び出される。他のプログラミング技術も考えられ、類似のデバイス独立の方法で入力イベントを処理するように動作する。
【００８１】
再び図１を参照すると、ＤＩＶＴＳの実施形態は、メディアトランザクションネットワークポータルと双方向にやり取りし、メディアのトランザクションを実行するだけでなく、他の機能も実行することができる。図２０は、メディアトランザクションネットワークポータルの例示的な実施形態のコンポーネントの例示的なブロック図である。メディアトランザクションネットワークポータル（「ＭＴＮＰ」）は、メディアトランザクションを実行する機能、デバイス独立ビデオトランザクションシステムをサードパーティ製デバイスに提供する機能、および１つまたは複数のＤＩＶＴＳ対応デバイスが常駐するメディアトランザクションネットワークのコンテキストにおいてメディアを提供する機能を備える。さらに、ＭＴＮＰは、ＭＴＮＰのユーザーがプリファレンス（例えば、お気に入りメディアカテゴリ）を格納することを目的としてＭＴＮＰとの識別を確定し、他のユーザーと共有される情報（例えば、メディアおよび／または評価およびレビューを含むそのようなメディアに関係するメタデータ）を提供し、および／またはメディアおよび／またはそのようなメディアに関係する商品もしくはサービスを取得する権利を得ることを目的として決済情報（例えば、クレジットカード情報）を格納することができるようにユーザーアカウントオペレーションを処理することができる。
【００８２】
例示されているＭＴＮＰ  ２０００は、メディアトランザクション管理エンジン２００１、ユーザー管理エンジン２００２、ＤＩＶＴＳ配信エンジン２００３、メディアサーバー２００４、ＤＩＶＴＳリポジトリ２００５、ユーザーデータリポジトリ２００６、およびメディアデータリポジトリ２００７を備える。これらのコンポーネントの１つまたは複数は、特定の実施形態においてはオプションとすることができ、図に示されているそれぞれのブロックは、特定実施形態に適しているような１つまたは複数のブロックを表すことができるか、または他のブロックと組み合わせることができる。さらに、ＭＴＮＰ  ２０００のさまざまなブロックは、物理的に、１つまたは複数のマシン上に常駐することができ、これは、互いに通信するために標準または専用のプロセス間通信メカニズムを使用する。メディアトランザクション管理エンジン２００１は、１つまたは複数のＤＩＶＴＳ対応デバイス２００８により開始される図９に関して説明されているようなメディアトランザクションを処理する。メディアトランザクションを処理するには、サードパーティにより操作できる決済プロセッサシステム２００９とネットワーク２０１１上で双方向にやり取りする必要がある場合がある。決済プロセッサの実施例は、クレジットカード決済プロセッサおよび／または電子資金決済システムを含む。ユーザー管理エンジン２００２は、ユーザー登録および他のユーザー関係機能を処理し、そのようなオペレーションに関係するデータをユーザーデータリポジトリ２００６に格納する。ＤＩＶＴＳ配信エンジン２００３は、ＤＩＶＴＳリポジトリ２００５内に格納されるか、またはサードパーティ製デバイス上にインストールされるように自動的に生成されるＤＩＶＴＳのインスタンスを提供する。ＤＩＶＴＳインスタンスは、特定のターゲットコンピューティングシステムに固有のマシンまたはオブジェクトコードで表すことができるか、またはそれとは別に、ターゲットコンピューティングシステム（つまり、サードパーティ製デバイス）上で実行されるバーチャルマシンまたは他のインタプリタにより解釈されうるバーチャルマシンバイトコードおよび／またはソースコードを含む高水準命令形式で表すことができる。メディアサーバー２００４は、メディアソースとして動作し、メディアデータリポジトリ２００７内に格納することができるメディアを１つまたは複数のＤＩＶＴＳ対応デバイス２００８に提供する。メディアサーバーは、例えば、ストリーミングメディアサーバー、Ｗｅｂサーバー、ＦＴＰ（「ファイル転送プロトコル」）サーバーなどを含む。さらに、ＭＴＮＰ  ２０００は、ネットワーク２０１１上で、メディアソース２０１０と双方向にやり取りし、配布、広告などを目的としてメディアもしくはメディアの指示をアップロードまたは他の何らかの方法で取得することができる。
【００８３】
図２１は、メディアトランザクションネットワークポータルの例示的な実施形態を実施するための汎用コンピュータシステムの例示的なブロック図である。汎用コンピュータシステム２１００は、１つまたは複数のサーバーおよび／またはクライアントコンピューティングシステムを含むことができ、分散された場所にまたがることができる。さらに、図に示されているそれぞれのブロックは、特定の実施形態に適切なように１つまたは複数のそのようなブロックを表すことができるか、または他のブロックと組み合わせることができる。さらに、ＭＴＮＰ  ２１０８のさまざまなブロックは、物理的に、１つまたは複数のマシン上に常駐することができ、これは、互いに通信するために標準または専用のプロセス間通信メカニズムを使用する。
【００８４】
図に示されている実施形態では、コンピュータシステム２１００は、コンピュータメモリ（「メモリ」）２１０１、ディスプレイ２１０２、中央処理装置（「ＣＰＵ」）２１０３、ネットワークインターフェイス２１０５、記憶デバイス２１０６、ポインティングデバイス２１０７、および他の入力／出力（「ＩＯ」）デバイス２１０４を備える。ＭＴＮＰ  ２１０８は、図では、メモリ２１０１内に常駐している。ＭＴＮＰ  ２１０８のコンポーネントは、好ましくは、ＣＰＵ  ２１０３上で実行される。図２０に関して説明されているように、例示的なＭＴＮＰは、メディアトランザクション管理エンジン２１０９、ユーザー管理エンジン２１１０、ＤＩＶＴＳ配信エンジン２１１１、およびメディアサーバー２１１２、ＤＩＶＴＳリポジトリ２１１３、ユーザーデータリポジトリ２１１４、およびメディアデータリポジトリ２１１５を備える。他のプログラム２１２０も、メモリ２１０１内に常駐することができ、好ましくは、１つまたは複数のＣＰＵ  ２１０３上で実行される。
【００８５】
図１７および２１に示されている例示的な実施形態では、ＤＩＶＴＳおよびＭＴＮＰのコンポーネントは、標準のプログラミング技術を使用して実装することができる。限定はしないが、オブジェクト指向型（例えば、Ｊａｖａ（登録商標）、Ｃ＋＋、Ｃ＃、Ｓｍａｌｌｔａｌｋ）、関数型（例えば、ＭＬ、Ｌｉｓｐ、Ｓｃｈｅｍｅなど）、手続き型（例えば、Ｃ、Ｐａｓｃａｌ、Ａｄａ、Ｍｏｄｕｌａ）、スクリプト型（例えば、Ｐｅｒｌ、Ｒｕｂｙ、Ｐｙｔｈｏｎなど）などを含む、技術的に知られているさまざまなプログラミング言語を使用して、さまざまなプログラミング言語パラダイムの代表的実装を含む、このような例示的な実施形態を実装することができる。さらに、例示されている実施形態のさまざまなコンポーネントは、単一ＣＰＵコンピュータシステム上で動作する単一のモノリシック実行可能プログラムにより実装されるか、またはそれとは別に、それぞれ１つまたは複数のＣＰＵを備える１つまたは複数のコンピュータシステム上で動作する、限定はしないが、マルチプログラミング、マルチスレッド、クライアント−サーバー、またはピアツーピアを含む、技術的に知られているさまざまな構造化技術を使用して分解することができる。
【００８６】
さらに、例示されている実施形態の一部として格納されるデータとのプログラミングインターフェイスは、ファイル、データベース、または他のデータリポジトリにアクセスするためのＣ、Ｃ＋＋、Ｃ＃、およびＪａｖａ（登録商標）  ＡＰＩまたはライブラリなどを介して、またはＷｅｂサーバー、ＦＴＰサーバー、または格納されているデータへのアクセスを可能にする他の種類のサーバーを介して、標準的な手段により利用可能にできる。例えば、図１７のメディアデータリポジトリ１７１５およびＤＩＶＴＳリポジトリ２１１３、ユーザーデータリポジトリ２１１４、および図２１のメディアデータリポジトリ２０１５は、１つまたは複数のデータベースシステム、ファイルシステム、またはこのような情報、または上記の組合せを格納するため技術的に知られている他の方法を使って実装することができる。
【００８７】
さらに、図１７および２１に示されている例示的な実施形態は、複数の、さらには異種のコンピュータシステムおよびネットワークからなる分散環境内で実装することができる。例えば、一実施形態では、図２１のコンポーネント２１０９〜２１１２およびリポジトリ２１１３〜２１１５は、すべて、物理的に異なるコンピュータシステム内に配置される。他の実施形態では、さまざまなコンポーネント２１０９〜２１１２は、１台のマシン上で一緒にホストされるが、データリポジトリ２１１３〜２１１５は、別のマシンのホスト上でホストされる。さまざまな分散コンピューティング技術が、限定はしないが、ＴＣＰ／ＩＰソケット、ＲＰＣ、ＲＭＩ、ＨＴＴＰ、Ｗｅｂサービス（ＸＭＬ−ＲＰＣ、ＪＡＸ−ＲＰＣ、ＳＯＡＰなど）を含む、分散方式の例示されている実施形態のコンポーネントを実装するのに適している。他の変更形態も可能である。
【００８８】
本発明の技術とともに使用するうえで、コードおよびデータの異なる構成および配置が考えられる。例示的な実施形態では、コンポーネントが図１７および２１に示されており、同時に非同期に実行することが可能であり、そのため、コンポーネントはよく知られている専用メッセージ受け渡し技術を使用して通信することができる。同等の同期的な実施形態も、ＤＩＶＴＳおよび／またはＭＴＮＰ実装によりサポートされる。
【００８９】
図２２〜２４では、ＤＩＶＴＳ対応デバイスにより使用される例示的なメディアトランザクションネットワークポータルにより実装される例示的ルーチンを説明している。図２２は、メディアトランザクションネットワークポータルの例示的な実施形態が提供する例示的なユーザー管理ルーチンの例示的な流れ図である。ルーチンは、例えば、図２０のＭＴＰＮ  ２０００のユーザー管理エンジン２００２に備えることができる。ユーザー管理ルーチンは、ステップ２２０１〜２２０９でループし、取得および／または提示のためメディアを提供するなど、ＭＴＰＮが備えるメディアトランザクションおよび他の機能を実行することを目的とするユーザー識別に関係するユーザーアクションの指示を受け取り、処理する。具体的には、ステップ２２０１でルーチンはユーザーアカウントオペレーションの指示を決定するか、または受け取る。ステップ２２０２では、ルーチンは、指示されたユーザーアカウントオペレーションが新しいユーザーアカウントを作成することであるかどうかを判定する。そうである場合、ルーチンは、ステップ２２０３に続き、指示されたユーザーの新規アカウントを作成し、そうでない場合、ステップ２２０４に続く。ステップ２２０４では、ルーチンは、指示されたユーザーアカウントオペレーションが既存ユーザーアカウントを編集することであるかどうかを判定する。そうである場合、ルーチンは、ステップ２２０５に続き、そうでない場合は、ステップ２２０６に続く。ステップ２２０５で、ルーチンは、適宜指示されたユーザーのアカウント設定を編集する。このようなアカウント設定は、ユーザーが関心を持っている可能性がある映画タイトルおよび／または映画のカテゴリ、クレジットカード情報および／または銀行口座番号などの決済オプション、電話番号、住所、および／または電子メールアドレスなどの連絡先情報に関係するプリファレンスを含むことができる。
【００９０】
ステップ２２０６では、ルーチンは、指示されたユーザーアカウントオペレーションが既存アカウントを削除することであるかどうかを判定する。そうである場合、ルーチンは、ステップ２２０７に続き、指示されたユーザーのアカウントを削除し、そうでない場合、ステップ２２０８に進み、他の指示されたアクションを適宜実行する。他のアクションとしては、例えば、定期的ハウスキーピングオペレーション（例えば、ログローテーション）を実行すること、確認（例えば、アカウントオペレーションおよび／またはトランザクションの完了について）および／または更新（例えば、新しく利用できるようになったメディアについて）をユーザーに送信することなどがある。
【００９１】
ステップ２２０３、２２０５、２２０７、および２２０８の後、ルーチンは、ステップ２２０９に続き、他のオペレーションを処理し続けるかどうかを決定する。そうであれば、ルーチンは、ステップ２２０１のループの先頭に戻る。そうでなければ、ルーチンは終了するか、またはそれとは別に、次のオペレーションを待つ待機状態に入る。
【００９２】
図２３は、メディアトランザクションネットワークポータルの例示的な実施形態が提供する例示的なトランザクション管理ルーチンの例示的な流れ図である。ルーチンは、例えば、図２０のＭＴＮＰ  ２０００のメディアトランザクション管理エンジン２００１に備えることができる。トランザクション管理ルーチンは、ステップ２３０１〜２３０９においてループを実行し、適宜、指示されたトランザクションを実行するか、または実行を開始する。
【００９３】
さらに具体的には、ステップ２３０１で、ルーチンは、メディアトランザクションの指示を決定するか、または受け取る。ステップ２３０２では、ルーチンは、指示されたメディアトランザクションがメディアタイトルの検索要求であるかどうかを判定する。そうであれば、ルーチンはステップ２３０３に進み、検索を実行し、与えられた検索条件と合致するメディアタイトルの指示を出力する。そうでなければ、ルーチンは、ステップ２３０４に続き、指示されたメディアトランザクションが、メディアおよび／またはメディアに関係する商品およびサービスをライセンスするか、または購入するかどうかを判定する。そうであれば、ルーチンは、ステップ２３０５に続き、そうでない場合は、ステップ２３０６に続く。ステップ２３０５で、ルーチンは、適宜、指示されたメディアおよび／または商品および／またはサービスのトランザクションを処理する。これは、指示されたメディアの権利を得るために、または指示された商品およびサービスと交換に金銭または他の価値あるアイテムを提供するために、ライセンス供与トランザクションを実行することを含むことができる。ルーチンは、いくつかの実施形態では、金融取引を処理する際にサードパーティの決済プロセッサと相互運用性を有していることがある。
【００９４】
ステップ２３０６で、ルーチンは、指示されたメディアトランザクションがメディアを取得することであるかどうかを判定する。そうである場合、ルーチンは、ステップ２３０７に続き、指示されたメディアの提供を開始し、そうでない場合、ステップ２３０８に続く。このようなメディアの提供を開始することには、指示されたメディアの配信を要求側ＤＩＶＴＳにストリーミングするか、または他の何らかの方法でその配信を開始するよう、図２０のメディアサーバー２００４などの他のコンポーネントに指令するか、または他の方法で通知することを含めることができる。
【００９５】
ステップ２３０８で、ルーチンは、適宜他の指示されたアクションを実行する。他のアクションとしては、例えば、定期的ハウスキーピングオペレーション（例えば、ログローテーション）を実行すること、確認（例えば、トランザクションの完了について）および／または更新（例えば、ＭＴＮＰ上で購入したアイテムの配信または出荷通知）をユーザーに送信することなどがある。ステップ２３０３、２３０５、２３０７、および２３０８の後、ルーチンは、ステップ２３０９に続き、処理を続けるかどうかを決定する。そうであれば、ルーチンは、ステップ２３０１のループの先頭に戻り、追加のトランザクションを処理する。そうでない場合、ルーチンは終了する。
【００９６】
図２４は、メディアトランザクションネットワークポータルの例示的な実施形態が提供する例示的なデバイス独立ビデオトランザクションシステム配信ルーチンの例示的な流れ図である。このようなルーチンは、例えば、図２０のＤＩＶＴＳ配信エンジン２００３に備えることができる。ステップ２４０１〜２４０７で、ＤＩＶＴＳ配信ルーチンは、（潜在的に連続する）ループを実行して、要求側デバイス上で実行するように構成されたＤＩＶＴＳインスタンスを提供する。
【００９７】
具体的には、ステップ２４０１でルーチンはＤＩＶＴＳについてターゲットシステムから要求を受け取る。ステップ２４０２で、ルーチンはターゲットシステム構成を決定する。いくつかの実施形態では、ステップ２４０１で受け取った要求は、ターゲットシステムの記述を含むことができる。ターゲットシステムの記述は、ＤＩＶＴＳがインストールされるサードパーティ製エンターテインメントデバイスのハードウェアおよび／またはソフトウェア構成に関係する情報を含むことができる。ステップ２４０３で、ルーチンは、互換性のあるＤＩＶＴＳが利用可能かどうかを判定し、もしそうならば、ステップ２４０５に続き、そうでなければステップ２４０４に続く。ルーチンは、ステップ２４０２で決定されたようなターゲットシステム構成を検査し、決定されたターゲットシステム構成と一致するＤＩＶＴＳがすでに生成されているかどうかを判定することによりこの判定を行うことができる。それとは別に、ルーチンは、デバイスから応答のある若干の試験命令を実行することによりターゲットシステムを自動的に決定することができる。
【００９８】
互換性のあるＤＩＶＴＳが利用できないと判定された場合、ルーチンはステップ２４０４に進む。ステップ２４０４で、ルーチンは、ターゲットシステム構成に基づいてＤＩＶＴＳを自動的に生成する。自動的に生成されたＤＩＶＴＳは、さらに、同じ種類のターゲットデバイスにより後で取り出せるように格納しておくことができる。このステップは、ターゲットシステム上で稼働する、および／または互換性のあるＤＩＶＴＳインスタンスを作成するために事前に存在するソースおよび／またはオブジェクトモジュールを自動的にコンパイルし、および／またはリンクすることを含むことができる。
【００９９】
代わりに、互換性のあるＤＩＶＴＳがすでに利用可能であるとステップ２４０３で判定された場合、ルーチンは、ステップ２４０５に進み、互換性のあるＤＩＶＴＳを取得する。互換性のあるＤＩＶＴＳを取得することは、図２０に関してさらに説明されるＤＩＶＴＳリポジトリ２００５などのＤＩＶＴＳリポジトリにアクセスすることを含むことができる。
【０１００】
ステップ２４０５および２４０４の後、ルーチンは、ステップ２４０６に続き、決定されたＤＩＶＴＳインスタンスを要求側システムに送る。ステップ２４０７で、ルーチンは、処理を続けるかどうかを判定し、もしそうであれば、ステップ２４０１のループの先頭に戻る。そうでない場合、ルーチンは終了する。
【０１０１】
上記の説明から、本明細書では例示を目的として特定の実施形態が説明されているが、本開示の精神および範囲を逸脱することなくさまざまな修正を加えられることは理解されるであろう。例えば、本明細書で説明されているメディア関係トランザクションを実行するための方法およびシステムは、ビデオに関係するトランザクションとは異なる用途に適用可能である。さらに、本明細書で説明されている方法およびシステムは、異なるプロトコル、通信メディア（光、無線、ケーブルなど）およびデバイス（無線ハンドセット、電子手帳、パーソナルデジタルアシスタント、ポータブル電子メール装置、ゲーム機、ポケベル、ＧＰＳ受信機などの航法デバイスなど）に適用可能である。
【図面の簡単な説明】
【０１０２】
【図１】サードパーティ製デバイス上に常駐するデバイス独立ビデオトランザクションシステムの例示的な一実施形態の例示的なブロック図である。
【図２】デバイス独立ビデオトランザクションシステムの機能を提供する例示的なプロセスの概要を示す例示的なブロック図である。
【図３】メディアントランザクションのネットワークを示す例示的なネットワーク線図である。
【図４】デバイス独立ビデオトランザクションシステムの例示的な実施形態のコンポーネントの例示的なブロック図である。
【図５】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する「キルト」ユーザーインターフェイスの例示的なブロック図である。
【図６】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイス内のナビゲートを例示する例示的な状態図である。
【図７Ａ】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイスのさまざまな「パネル」の例示的な画面表示である。
【図７Ｂ】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイスのさまざまな「パネル」の例示的な画面表示である。
【図７Ｃ】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイスのさまざまな「パネル」の例示的な画面表示である。
【図７Ｄ】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイスのさまざまな「パネル」の例示的な画面表示である。
【図７Ｅ】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイスのさまざまな「パネル」の例示的な画面表示である。
【図８】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なユーザーインターフェイスルーチンの例示的な流れ図である。
【図９】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なメディアトランザクションルーチンの例示的な流れ図である。
【図１０】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なメディア検索ルーチンの例示的な流れ図である。
【図１１Ａ】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイスの検索パネルの例示的な画面表示である。
【図１１Ｂ】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイスの検索パネルの例示的な画面表示である。
【図１１Ｃ】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイスの検索パネルの例示的な画面表示である。
【図１１Ｄ】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なキルトユーザーインターフェイスの検索パネルの例示的な画面表示である。
【図１２】多数の例示的なメディアタイトルの例示的なカテゴリ分類を表すカテゴリ分類グラフである。
【図１３Ａ】多数の例示的なメディアタイトルの例示的なカテゴリ分類を表すベン図である。
【図１３Ｂ】多数の例示的なメディアタイトルの例示的なカテゴリ分類を表すベン図である。
【図１４】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なメディア取得ルーチンの例示的な流れ図である。
【図１５】デバイス独立ビデオトランザクションシステムの例示的な実施形態の例示的なキルトユーザーインターフェイスにより取得されるメディアの例示的な画面表示である。
【図１６】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なメディア発行ルーチンの例示的な流れ図である。
【図１７】デバイス独立ビデオトランザクションシステムの例示的な実施形態を実施するための汎用コンピュータシステムの例示的なブロック図である。
【図１８】サードパーティ製エンターテインメントデバイス上に実装されたデバイス独立ビデオトランザクションシステムの例示的な一実施形態の例示的なブロック図である。
【図１９】デバイス独立ビデオトランザクションシステムの例示的な実施形態が提供する例示的なディスパッチャルーチンの例示的な流れ図である。
【図２０】メディアトランザクションネットワークポータルの例示的な実施形態のコンポーネントの例示的なブロック図である。
【図２１】メディアトランザクションネットワークポータルの例示的な実施形態を実施するための汎用コンピュータシステムの例示的なブロック図である。
【図２２】メディアトランザクションネットワークポータルの例示的な実施形態が提供する例示的なユーザー管理ルーチンの例示的な流れ図である。
【図２３】メディアトランザクションネットワークポータルの例示的な実施形態が提供する例示的なトランザクション管理ルーチンの例示的な流れ図である。
【図２４】メディアトランザクションネットワークポータルの例示的な実施形態が提供する例示的なデバイス独立ビデオトランザクションシステム配信ルーチンの例示的な流れ図である。
【図１】
2009500877.tif 000003
【図２】
2009500877.tif 000004
【図３】
2009500877.tif 000005
【図４】
2009500877.tif 000006
【図５】
2009500877.tif 000007
【図６】
2009500877.tif 000008
【図７Ａ】
2009500877.tif 000009
【図７Ｂ】
2009500877.tif 000010
【図７Ｃ】
2009500877.tif 000011
【図７Ｄ】
2009500877.tif 000012
【図７Ｅ】
2009500877.tif 000013
【図８】
2009500877.tif 000014
【図９】
2009500877.tif 000015
【図１０】
2009500877.tif 000016
【図１１Ａ】
2009500877.tif 000017
【図１１Ｂ】
2009500877.tif 000018
【図１１Ｃ】
2009500877.tif 000019
【図１１Ｄ】
2009500877.tif 000020
【図１２】
2009500877.tif 000021
【図１３Ａ】
2009500877.tif 000022
【図１３Ｂ】
2009500877.tif 000023
【図１４】
2009500877.tif 000024
【図１５】
2009500877.tif 000025
【図１６】
2009500877.tif 000026
【図１７】
2009500877.tif 000027
【図１８】
2009500877.tif 000028
【図１９】
2009500877.tif 000029
【図２０】
2009500877.tif 000030
【図２１】
2009500877.tif 000031
【図２２】
2009500877.tif 000032
【図２３】
2009500877.tif 000033
【図２４】
2009500877.tif 000034
【国際調査報告】
2009500877.tif 000035