(57)【要約】  本発明は、効率的で自己適合式のディジタル符号化情報配布システムおよびこれらのシステムによって使用される方法を提供する。本発明の一実施形態は、ディジタル符号化情報配布システムを構成するコンピュータ・システムの間で格納されたディジタル符号化情報を再配布することと、特定の情報オブジェクトの特定の符号化の格納と要求を満足させるのに必要な特定の情報オブジェクトの特定の符号化の生成との間のトレードオフのバランスを動的にとることとによって、ディジタル符号化情報トランザクション自体を継続的に再構成するためにディジタル符号化情報トランザクションを監視する、効率的で動的に自己適合式のディジタル符号化情報配布システムを含む。配布効率は、要求するユーザのエレクトロニクス・デバイスのタイプ、構成、容量、および機能が正確に精密に判定されることを保証し、その結果、要求するユーザのエレクトロニクス・デバイスのために適当に符号化され格納された情報が、要求するデバイスへのすばやい送達のために効率的に配置されまたは生成されることによって、さらに最適化される。【選択図】  図１
2010507279.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが、コンテンツ・オブジェクトのディジタル符号化を意味するコンテンツ・オブジェクト・インスタンスを格納する１つまたは複数のサーバと、
それぞれが、
コンテンツ・オブジェクト・インスタンスを格納し、
前記サーバのうちの１つまたは複数にコンテンツ・オブジェクトを要求し、これに応答して、前記サーバのうちの前記１つまたは複数からコンテンツ・オブジェクト・インスタンスを受信し、
ユーザのエレクトロニクス・デバイスに接続し、
前記接続されたユーザのエレクトロニクス・デバイスのタイプと、その構成、容量、およびディジタル符号化との互換性を判定し、
前記ユーザから、当該ユーザのエレクトロニクス・デバイスへのコンテンツ・オブジェクトのダウンロードの要求を受信し、当該ダウンロードの要求に対して、
前記ユーザの要求と互換であり前記ユーザのエレクトロニクス・デバイスと互換であるコンテンツ・オブジェクト・インスタンスをサーバに要求することと、
前記コンテンツ・サーバ内のデータ・ストレージ・コンポーネントまたは前記コンテンツ・サーバに関連するデータ・ストレージ・ファシリティから前記ユーザの要求と互換であり前記ユーザのエレクトロニクス・デバイスと互換であるコンテンツ・オブジェクト・インスタンスを取り出し、前記取り出されたコンテンツ・オブジェクト・インスタンスを前記ユーザのエレクトロニクス・デバイスにダウンロードすることと、
前記コンテンツ・サーバが、前記ユーザの要求と互換であり前記ユーザのエレクトロニクス・デバイスと互換であるコンテンツ・オブジェクト・インスタンスを、前記データ・ストレージ・コンポーネントまたは前記データ・ストレージ・ファシリティにおいて生成させ、当該データ・ストレージ・コンポーネントまたは前記データ・ストレージ・ファシリティから生成したコンテンツ・オブジェクト・インスタンスを取り出すことと
のうちのいずれかによって応答する、
１つまたは複数のコンテンツ・サーバと
を含む、分散階層化したコンテンツ配布システム。
【請求項２】
それぞれが、コンテンツ・オブジェクトのディジタル符号化を意味するコンテンツ・オブジェクト・インスタンスを格納する１つまたは複数のシステム・サーバと、
それぞれが、
コンテンツ・オブジェクト・インスタンスを格納し、
前記システム・サーバのうちの１つまたは複数にコンテンツ・オブジェクトを要求し、
ユーザのエレクトロニクス・デバイスに接続し、
前記接続されたユーザのエレクトロニクス・デバイスのタイプを判定し、
ユーザから、当該ユーザのエレクトロニクス・デバイスへのコンテンツ・オブジェクトのダウンロードの要求を受信し、当該ダウンロードの要求に対して、
前記ユーザの要求と互換であり、前記ユーザのエレクトロニクス・デバイスと互換であるコンテンツ・オブジェクト・インスタンスをシステム・サーバに要求することと、
前記コンテンツ・サーバ内のデータ・ストレージ・コンポーネントまたは前記コンテンツ・サーバに関連するデータ・ストレージ・ファシリティから、前記ユーザの要求と互換であり、前記ユーザのエレクトロニクス・デバイスと互換であるコンテンツ・オブジェクト・インスタンスを取り出し、前記取り出されたコンテンツ・オブジェクト・インスタンスを前記ユーザのエレクトロニクス・デバイスにダウンロードすることと、
前記データ・ストレージ・コンポーネントまたは前記データ・ストレージ・ファシリティからコンテンツ・オブジェクト・インスタンスを取り出し、前記ユーザの要求と互換であり、前記ユーザのエレクトロニクス・デバイスと互換であるコンテンツ・オブジェクト・インスタンスを生成するために、前記取り出されたコンテンツ・オブジェクト・インスタンスをトランスコーディングすることと、
のうちのいずれかによって応答する、
１つまたは複数のコンテンツ・サーバと
を含む分散コンテンツ配布システム。
【請求項３】
前記システム・サーバが、１つまたは複数のバック・エンド・サーバを含み、
前記システム・サーバ、前記コンテンツ・サーバ、および前記ユーザのエレクトロニクス・デバイスが、前記ユーザのエレクトロニクス・デバイスが最も下のレベルにあり、前記１つまたは複数のコンテンツ・サーバが階層内で２番目に低いレベルにあり、前記１つまたは複数のバック・エンド・サーバが前記階層内で最も高いレベルにある状態で、階層化され、
前記コンテンツ・オブジェクトの各要求が、２番目に低いレベルの前記コンテンツ・サーバによってユーザから受信され、
コンテンツ・サーバが、前記コンテンツ・オブジェクトの受信された要求に応答して、システム・サーバに前記コンテンツ・オブジェクトを要求する時に、前記コンテンツ・オブジェクトの前記要求が、前記階層化されたシステム・サーバ内で階層が上がる方向に転送される、
請求項２に記載の分散コンテンツ配布システム。
【請求項４】
前記システム・サーバが、最も高いレベルの前記１つまたは複数のバック・エンド・サーバと、１つまたは複数のバック・エンド・サーバを含む前記最も高いレベルより下で１つまたは複数のコンテンツ・サーバを含む前記２番目に低いレベルより上の１つまたは複数の中関レベルのそれぞれで１つまたは複数の中間サーバとを含み、
前記コンテンツ・サーバによって受信されるコンテンツ・オブジェクトの要求を、１つまたは複数の中間レベルの１つまたは複数の前記中間サーバを介して前記最も高いレベルのバック・エンド・サーバに転送することができる、
請求項３に記載の分散コンテンツ配布システム。
【請求項５】
前記１つまたは複数のコンテンツ・サーバ、中間サーバ、およびバック・エンド・サーバの中から選択される各サーバが、コンテンツ・オブジェクトを受信する時に、
格納されたデータから、前記受信されたコンテンツ・オブジェクトをトランスコーディングすべきか否かを判定し、
格納されたデータから、前記受信されたコンテンツ・オブジェクトを局所的に格納すべきか否かを判定し、
格納されたデータから、前記受信されたコンテンツ・オブジェクトをより低いレベルのサーバまたはユーザのエレクトロニクス・デバイスに転送すべきか否かを判定する、
請求項４に記載の分散コンテンツ配布システム。
【請求項６】
前記各サーバが、前記受信されたコンテンツ・オブジェクトをトランスコードすべきであると判定する時に、前記各サーバが、前記受信されたコンテンツ・オブジェクトをコンテンツ・オブジェクト・インスタンスのどの１つまたは複数のタイプにトランスコードすべきかを判定し、
前記受信されたコンテンツ・オブジェクトをトランスコーディングすることによって作られるコンテンツ・オブジェクト・インスタンスごとに、前記サーバが、前記コンテンツ・オブジェクト・インスタンスを局所的に格納すべきかどうか、および前記コンテンツ・オブジェクト・インスタンスをユーザのエレクトロニクス・デバイスのより低いレベルのサーバに転送すべきか否かを判定する、
請求項５に記載の分散コンテンツ配布システム。
【請求項７】
前記１つまたは複数のコンテンツ・サーバ、中間サーバ、およびバック・エンド・サーバの中から選択された各サーバが、より低いレベルの要求元からコンテンツ・オブジェクトの要求を受信する時に、
局所的に格納されたコンテンツ・オブジェクト・インスタンスが、前記コンテンツ・オブジェクトの前記要求を満足させるかどうかを判定し、
前記局所的に格納されたコンテンツ・オブジェクト・インスタンスが、前記コンテンツ・オブジェクトの前記要求を満足させる時に、前記局所的に格納されたコンテンツ・オブジェクト・インスタンスを取り出し、前記取り出されたコンテンツ・オブジェクト・インスタンスを前記より低いレベルの要求元に返し、
局所的に格納されたコンテンツ・オブジェクト・インスタンスが、前記コンテンツ・オブジェクトの前記要求を満足させない時に、局所的に格納されたコンテンツ・オブジェクト・インスタンスを、前記コンテンツ・オブジェクトの前記要求を満足させるコンテンツ・オブジェクト・インスタンスに局所的にトランスコーディングできるかどうかを判定し、
前記局所的に格納されたコンテンツ・オブジェクト・インスタンスを前記コンテンツ・オブジェクトの前記要求を満足させるコンテンツ・オブジェクト・インスタンスに局所的にトランスコーディングできる時に、前記局所的に格納されたコンテンツ・オブジェクト・インスタンスを取り出し、前記取り出されたコンテンツ・オブジェクト・インスタンスを前記要求を満足させる前記コンテンツ・オブジェクト・インスタンスにトランスコーディングし、前記要求を満足させるコンテンツ・オブジェクト・インスタンスを前記より低いレベルの要求元に返し、選択的に前記要求を満足する前記コンテンツ・オブジェクト・インスタンスを局所的に格納し、
前記局所的に格納されたコンテンツ・オブジェクト・インスタンスが、前記コンテンツ・オブジェクトの前記要求を満足させず、前記局所的に格納されたコンテンツ・オブジェクト・インスタンスを前記コンテンツ・オブジェクトの前記要求を満足させるコンテンツ・オブジェクト・インスタンスに局所的にトランスコーディングできない時に、前記コンテンツ・オブジェクトをより高いレベルのサーバに要求する、
請求項４に記載の分散コンテンツ配布システム。
【請求項８】
前記１つまたは複数のコンテンツ・サーバ、中間サーバ、およびバック・エンド・サーバの中から選択された各サーバが、削除について局所的に格納されたコンテンツ・オブジェクト・インスタンスを周期的に評価する、請求項４に記載の分散コンテンツ配布システム。
【請求項９】
前記コンテンツ・オブジェクト・インスタンスを局所的にトランスコードすべきか否か、前記コンテンツ・オブジェクト・インスタンスを局所的に格納すべきか否か、および前記局所的に格納されたコンテンツ・オブジェクト・インスタンスを削除すべきか否かを判定することによって、前記コンテンツ配布システムを構成する前記コンテンツ・サーバ、中間サーバ、およびバック・エンド・サーバのいずれかが、前記コンテンツ・オブジェクト・インスタンスを要求するユーザのエレクトロニクス・デバイスに、前記コンテンツ・オブジェクト・インスタンスを送達する、請求項４に記載の分散コンテンツ配布システム。
【請求項１０】
前記コンテンツ・サーバが、接続されたユーザのエレクトロニクス・デバイスのタイプと、その構成、容量、およびディジタル符号化との互換性とを、
前記ユーザのエレクトロニクス・デバイスへの通信インターフェースによって供給されるデータと、
前記ユーザのエレクトロニクス・デバイスによって認識される通信プロトコルを使用して前記ユーザのエレクトロニクス・デバイスに照会することによって入手されるデータと、
前記ユーザのエレクトロニクス・デバイス内に格納されたコンテンツ・オブジェクト・インスタンスにアクセスすることを含む、前記ユーザのエレクトロニクス・デバイスによって認識される通信プロトコル、オペレーティング・システム、または前記ユーザのエレクトロニクス・デバイスによって提供される制御プログラム・インターフェースを使用して前記ユーザのエレクトロニクス・デバイスにアクセスすることによって得られるデータと、
ユーザによって提供されるデータと、
のうちのいずれかまたは複数から判定する、請求項１に記載のコンテンツ配布システム。
【請求項１１】
前記コンテンツ・サーバが、第１データから接続されたユーザのエレクトロニクス・デバイスの前記タイプを判定し、前記第１データと異なる第２データから前記タイプの判定を検証する、請求項１０に記載のコンテンツ配布システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル符号化された情報の配布に関する。本発明は、特にディジタル符号化された音楽、映画、マルチメディア・プレゼンテーション、コンピュータ・ゲーム、および他のディジタル符号化されたコンテンツを含む電子的に符号化された情報を、情報ウェアハウスの様なサーバからさまざまなユーザ（消費者）のエレクトロニクス・デバイスへ配布する技術に関する。
【背景技術】
【０００２】
長年、レコードに符号化された録音されたオーディオ情報、本および他の印刷された情報、ならびにより後の、ビデオ・テープおよびＤＶＤを含む、さまざまなタイプの記録された情報が、小売り販売のために製造施設から中央の倉庫および配布センタへ、中央配布センタから地域および地元の配布センタへ、そして地域および地元の配布センタから小売り店へ、消費者への販売のために配布された。この配布方法は、その当時に使用可能な情報ストレージ・テクノロジ、通信テクノロジ、および輸送システムを考慮すれば、比較的効率的であった。しかし、この方法に基づく配布システムは、比較的静的であり、剛直である傾向があり、その結果として、この配布システムは、変化するテクノロジ、輸送システム、および消費者需要に対する比較的低速で慎重な特徴があった。安価なパーソナル・コンピュータ、インターネット、インターネット小売り、新しいタイプの情報符号化、伝送、およびストレージの出現に伴って、新しい情報配布の方法およびシステムが開発され、多くの場合に、より古いテクノロジおよび輸送システム用に設計された静的で剛直な記録された情報の配布システムにすばやく追い付き、取って代わった。
【０００３】
ＭＰ３プレイヤ、携帯電話機、ポータブル・メディア・プレイヤ、および他のそのようなユーザ（消費者）のエレクトロニクス・デバイスを含むさまざまなポータブル・デバイスへの直接の、コンピュータ・ネットワークおよび通信システムを介するディジタル符号化された情報の配布および小売りは、以前に使用された配布チャネルおよび配布方法のすべてに十分に取って代わる用意をしている。オーディオＣＤの売上は、全般的に一定または減少しつつあり、フィルムおよびＤＶＤに符号化されたビデオの売上は、ディジタル符号化された映画、音楽、マルチメディア・プレゼンテーション、および他のディジタル符号化された情報の直接配布が、消費者が小売りキオスクおよびパーソナル・コンピュータからさまざまなユーザ（消費者）のエレクトロニクス・デバイスにディジタル情報をすばやく効率的にダウンロードすることを可能にするにつれて、急激に減少すると期待される。
【０００４】
現在、情報のディジタル符号化、ディジタル符号化された情報の配布、およびディジタル符号化された情報のさまざまなユーザ（消費者）のエレクトロニクス・デバイスでのレンダリングに関するさまざまな異なる標準規格およびテクノロジの存在が、ディジタル符号化された情報の卸売業者および小売業者に課題を提示している。たとえば、コンピュータ・システムは、データ記憶容量および処理速度において急速に進歩し続け、電子通信システムは、帯域幅において急速に進歩し続けているが、消費者の望む情報オブジェクト、特に映画を単一のフォーマットで符号化パラメータの１つのセットに従って符号化することによって作られるディジタル符号化された情報の比較的多いデータ量は、要求するユーザ（消費者）のエレクトロニクス・デバイスへの十分にすばやい送達をもたらすために、コンピュータおよび通信システムに基づくディジタル情報配布システムの設計者、実装者、およびユーザに挑戦する。しかし、多数の異なるタイプのユーザ（消費者）のエレクトロニクス・デバイスがあり、そのそれぞれが、しばしば、ディジタル符号化された情報の多数の異なるフォーマットのサブセットと互換であり、さまざまな符号化パラメータを変更することによって所与の符号化フォーマット内で作ることのできる多数の異なる符号化のサブセットを最適にレンダリングするという事実を考慮すると、ディジタル符号化された情報をユーザ（消費者）のエレクトロニクス・デバイスに効率的に格納し、送達するという仕事は、極端にむずかしい。この理由から、ディジタル符号化された情報配布システムの設計者、実装者、およびユーザは、ディジタル符号化された情報を格納し、伝送するより効率的な方法と、小売りシステムおよびパーソナル・コンピュータを介して消費者にディジタル符号化された情報を送達する、より高速の方法との必要性を絶えず感じている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、効率的で自己適合式のディジタル符号化情報配布システムおよびこれらのシステムによって使用される方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施形態は、一緒にディジタル符号化情報配布システムを構成するコンピュータ・システムの間で格納されたディジタル符号化情報を再配布することと、特定の情報オブジェクトの特定の符号化の格納と要求を満足するのに必要な時に限る特定の情報オブジェクトの特定の符号化の生成との間のトレードオフのバランスを動的にとることとによって、ディジタル符号化情報トランザクション自体を継続的に再構成するためにディジタル符号化情報トランザクションを監視する、効率的で動的に自己適合式のディジタル符号化情報配布システムを含む。配布効率は、要求するユーザ（消費者）のエレクトロニクス・デバイスのタイプ、構成、容量、および機能が正確に精密に判定されることを保証し、その結果、要求するユーザ（消費者）のエレクトロニクス・デバイスのために適当に符号化された格納された情報が、要求するデバイスへのすばやい送達のために効率的に配置されまたは生成されることを可能にすることによって、さらに最適化される。
【図面の簡単な説明】
【０００７】
【図１】本発明の方法をその上で実践できる階層ハードウェアおよび通信プラットフォームを示す図である。
【図２】図１に示された階層コンテンツ配布システム・プラットフォームを通る階層構造を示す図である。
【図３Ａ】本発明の一実施形態で、コンテンツ配布システムを計算上モデル化するのに使用できる関係データベース・テーブルの諸部分を示す図である。
【図３Ｂ】本発明の一実施形態で、コンテンツ配布システムを計算上モデル化するのに使用できる関係データベース・テーブルの諸部分を示す図である。
【図３Ｃ】本発明の一実施形態で、コンテンツ配布システムを計算上モデル化するのに使用できる関係データベース・テーブルの諸部分を示す図である。
【図３Ｄ】本発明の一実施形態で、コンテンツ配布システムを計算上モデル化するのに使用できる関係データベース・テーブルの諸部分を示す図である。
【図３Ｅ】本発明の一実施形態で、コンテンツ配布システムを計算上モデル化するのに使用できる関係データベース・テーブルの諸部分を示す図である。
【図３Ｆ】本発明の一実施形態で、コンテンツ配布システムを計算上モデル化するのに使用できる関係データベース・テーブルの諸部分を示す図である。
【図３Ｇ】本発明の一実施形態で、コンテンツ配布システムを計算上モデル化するのに使用できる関係データベース・テーブルの諸部分を示す図である。
【図３Ｈ】本発明の一実施形態で、コンテンツ配布システムを計算上モデル化するのに使用できる関係データベース・テーブルの諸部分を示す図である。
【図４】効率的な分散コンテンツ配布システムを実施し、維持するために対処する必要がある３つの重要な問題を示す図である。
【図５】コンテンツ配布システムに接続されたユーザ（消費者）のエレクトロニクス・デバイスのタイプ、構成、および機能を正確に判定することの重要性を示す図である。
【図６】コンテンツ配布システム内の初期コンテンツ・オブジェクト処理およびストレージに関連する１つの問題を示す図である。
【図７】受信されたコンテンツ・オブジェクトのトランスコーディングおよびストレージに対するさまざまな代替手法を示す図である。
【図８】コンテンツ・サーバに接続されたユーザ（消費者）のエレクトロニクス・デバイスのタイプを正確に精密に判定するために本発明のコンテンツ配布システム実施形態によって使用できる情報のタイプを示す図である。
【図９】本発明の実施形態によるコンテンツ・サーバによって実行されるユーザ（消費者）のエレクトロニクス・デバイス識別プロセスを例示する制御フロー図である。
【図１０】本発明の実施形態によるコンテンツ・サーバによって実行されるユーザ（消費者）のエレクトロニクス・デバイス識別プロセスを例示する制御フロー図である
【図１１】本発明の実施形態によるコンテンツ・サーバによって実行されるユーザ（消費者）のエレクトロニクス・デバイス識別プロセスを例示する制御フロー図である
【図１２】分散コンテンツ配布システム内の各コンピュータ・システム上で継続的に実行できるイベント・ハンドラを示す制御フロー図である。
【図１３】図１２のステップ１２０４で呼び出されるルーチン「コンテンツ関連イベント・ハンドラ」を示す制御フロー図である。
【図１４】コンテンツ配布システム内のコンピュータ・システムが、特定のコンテンツ・オブジェクトの受信された要求に対して行うことができる応答を示す図である。
【図１５】図１３のステップ１３０４で呼び出される、図１４を参照して述べられるルーチン「要求を処理する」を示す制御フロー図である。
【図１６】コンテンツ・オブジェクトの受信時にそのローカル・コンピュータ・システムによって行うことができるアクションを示す図である。
【図１７】図１３のステップ１３０６で呼び出される、図１６を参照して述べられるルーチン「受信されたコンテンツを処理する」の実施形態を示す制御フロー図である。
【図１８】分散コンテンツ配布システム内のローカル・コンピュータ・システムによって周期的に実行できるさまざまな動作を示す図である。
【図１９】図１３のステップ１３１０で呼び出される、図１８を参照して述べられるルーチン「タイマを処理する」の実施形態を示す制御フロー図である。
【図２０】コンテンツ配布システム内のバック・エンド・サーバが、受信されたコンテンツ・オブジェクトを代替コンテンツ・オブジェクト・インスタンスにトランスコーディングし、代替コンテンツ・オブジェクト・インスタンスを格納すべきか否かを判定することを可能にするために情報を収集するのに使用できる追加の技法を示す図である。
【図２１】図８〜２０を参照して上で説明したタイプ識別方法、コンテンツ処理方法、およびコンテンツ送達方法を使用することから生じる効率的で自己適合式のコンテンツ配布システムの概念図である。
【発明を実施するための形態】
【０００８】
本発明の実施形態は、効率的で自己適合式のディジタル符号化情報配布システムおよびこれらのシステムによって使用される方法を対象とする。次の議論では、用語「コンテンツ」は、映画、音楽録音、マルチメディア・プレゼンテーション、コンピュータ・ゲーム、および他のそのような情報を含む情報を指す。一般に、オーディオ録音または映画など、任意の特定のコンテンツ・オブジェクトを符号化する多数の異なる形がある。異なるタイプのディジタル符号化されたオブジェクトまたはフォーマットを作る異なる基本的なタイプの符号化があり、さらに、任意の特定のコンテンツの数十、数百、数千、またはより多くの異なる可能な符号化を作るために任意の特定のフォーマットについて変更できる、符号化に関連するさまざまなパラメータがある。コンテンツ・オブジェクト・インスタンスとは、コンテンツ・オブジェクトの特定のディジタル符号化（encoding）を意味する。コンテンツ配布システムは、ユーザ（消費者）のエレクトロニクス・デバイスへのコンテンツ・オブジェクトのダウンロードに関する要求をユーザから受信し、これに応答して、コンテンツ・オブジェクト・インスタンスをユーザ（消費者）のエレクトロニクス・デバイスに送達する。一般に、コンテンツ・オブジェクトは、ユーザによって要求され、そのユーザは、さらに、所望の特性を供給し、ユーザの指定と互換であり、ユーザ（消費者）のエレクトロニクス・デバイスと互換であるコンテンツ・オブジェクト・インスタンスが、コンテンツ配布システムによってユーザに返される。
【０００９】
特定のユーザ（消費者）のエレクトロニクス・デバイスが、異なる符号化フォーマットのうちの１つまたは少数だけ、および異なる符号化フォーマットのうちの少数の中で可能な異なる符号化のうちの小さいサブセットだけを認識し、レンダリングできる場合がある。さまざまな符号化パラメータを変更することによって作られる多数の異なる可能な符号化は、異なるファイル・サイズ、パラメータに従って符号化された情報を復号する時に作られる異なるビット・レートを作る可能性があり、ユーザにレンダリングされる時に、さまざまな異なる解像度、色忠実度、および他の品質を作る可能性がある。本発明のさまざまな実施形態の１つの目標は、特定の消費者デバイスに関連する制約、品質の所望のレベル、ユーザ（消費者）のエレクトロニクス・デバイスへのコンテンツの送達の所望の速度を満足するために、自己適合式分散コンテンツ配布システムを介してディジタル符号化されたコンテンツを効率的に配布することである。ディジタル符号化されたコンテンツの直接配布が、現在、特定のタイプのユーザ（消費者）のエレクトロニクス・デバイスに提供されているが、現在のコンテンツ配布システムは、一般に、１つまたは少数の異なる符号化フォーマットのみの提供、コンテンツの限られた選択に制限され、しばしば、受け入れられるものより低速の送達を提供する。
【００１０】
図１に、効率的で自己適合式の分散コンテンツ配布システムを作成するために本発明の方法をその上で実践できる階層ハードウェアおよび通信プラットフォームを示す。このハードウェアおよび通信プラットフォームは、２つの強力なバック・エンド・サーバ１０２および１０４を含み、バック・エンド・サーバ１０２および１０４のそれぞれは、比較的大きいデータ・ストレージ・ファシリティ１０６および１０８に関連する。バック・エンド・サーバ１０２および１０４は、複数の中間サーバ１１０〜１１２から要求を受信し、ディジタル符号化されたコンテンツを中間サーバ１１０〜１１２に送信する。各中間サーバは、それぞれ、データ・ストレージ・ファシリティまたはデータ・ストレージ・コンポーネント１１３〜１１５に関連する。中間サーバ１１０〜１１２は、複数のコンテンツ・サーバ１２０〜１２５から要求を受信し、コンテンツ・サーバ１２０〜１２５にコンテンツを送達し、コンテンツ・サーバ１２０〜１２５のそれぞれは、データ・ストレージ・コンポーネント１２６〜１３１に関連する。
【００１１】
コンテンツ・サーバは、一般に、小売り位置のキオスクの様なコンテンツ送達システムまたはパーソナル・コンピュータである。次の議論では、用語「サーバ」は、句「コンピュータ・システム」と交換可能に使用される。分散コンテンツ配布システム内のノードまたはコンピュータ・システムは、一般に、サーバと呼ばれる。というのは、これらが、他のノードからコンテンツ・オブジェクトに関する要求を受信し、要求するノードにコンテンツ・オブジェクトを返すからである。しかし、中間サーバおよびコンテンツ・サーバの場合に、サーバは、他のノードへの要求をも行い、これらの要求に応答してコンテンツ・オブジェクトを受信する。消費者は、ポータブル・メディア・プレイヤなどの電子デバイス１４０〜１５２をコンテンツ・サーバに接続し、コンテンツ・サーバによって提供されるユーザ・インターフェースを使用して、入手可能なコンテンツをブラウズし、特定のコンテンツ・アイテムを購入し、コンテンツをコンテンツ配布システムから彼らのユーザ（消費者）のエレクトロニクス・デバイスにダウンロードする。
【００１２】
図１は、分散コンテンツ配布システムのハードウェアおよび通信プラットフォームの単純な概念モデルである。より小さいシステムは、バック・エンド・サーバおよびコンテンツ・サーバだけを含んでもよく、より大きいシステムは、バック・エンド・サーバとコンテンツ・サーバとの間に多数の異なるレベルの中間サーバを含んでもよく、レベルの数は、地理的区域にわたるコンテンツの需要の変動、人口、および通信ファシリティに従って変化する。分散コンテンツ配布システムのハードウェアおよび通信プラットフォームは、２つから１０個までの階層レベルを含むことができ、特定の階層レベルが、数十、数百、数千、またはより多くのコンピュータ・システムおよびデバイスを含んでもよい。
【００１３】
コンテンツに関する要求およびコンテンツ送達伝送は、一般に、性質において階層的であり、分散コンテンツ配布システム内の第１レベルのデバイスまたはサーバによって行われるコンテンツに関する要求は、図１で矢印１５６などのより大きい矢印によって示されるように、分散コンテンツ配布システム内の第２のより高いレベルにあるサーバに送信される。ある種の分散コンテンツ配布システムでは、サーバを、情報およびディジタル符号化されたコンテンツの交換のために、矢印１５８などのより小さい矢印によって示されるようにレベル内で相互接続してもよい。本発明の方法は、小さい局所的地域内でディジタル符号化されたコンテンツを配布するように設計された小型システムから、全世界にディジタル符号化されたコンテンツを配布する膨大で複雑なコンテンツ配布システムまで、膨大な数の異なる可能なタイプのコンピュータ・システムおよび通信システム・プラットフォームに適用することができる。
【００１４】
コンピュータ・システムおよび通信システム・プラットフォームの物理的構造は、その一例が図１に示されているが、内部的には格納されたデータによって表される。データを、フラット・ファイルに格納してもよく、フォーマットされたファイル内で階層的に編成してもよく、関係データベース管理システム（「ＲＤＢＭＳ」）、オブジェクト指向データベース・システム、および他のタイプのデータベースを含むさまざまなタイプのデータベース・システムに格納してもよい。次の議論では、ＳＱＬ関係データベース照会言語をサポートする比較的標準的なＲＤＢＭＳシステムが仮定されるが、任意のタイプの編成されたデータ・ストレージ・システムを、その代わりに使用することができる。
【００１５】
図２に、図１に示された階層分散コンテンツ配布システム・プラットフォームを通る階層構造を示す。図２には、中間サーバ２０４に相互接続された単一のバック・エンド・サーバ２０２が示され、中間サーバ２０４はコンテンツ・サーバ２０６に相互接続され、コンテンツ・サーバ２０６には、ディジタル符号化されたコンテンツをダウンロードするためにユーザ（消費者）のエレクトロニクス・デバイス２０８が接続される。このシステムを計算的に表し、モデル化するために、複数のタイプのデータを階層分散コンテンツ配布システム内に格納することができる。たとえば、外部のコンテンツ制作実体から受信されたコンテンツを、各受信されたコンテンツ・オブジェクトを記述するエントリを含むコンテンツ・テーブル２１０によって記述することができる。それを介してコンテンツが受信される通信リンクを、それぞれ、ｃｏｍｍｕｎｉｃａｔｉｏｎｓテーブル２１２によって記述することができる。同様に、通信リンク２１４および２１６など、コンテンツ配布システム内のコンピュータ・システムの間の各通信リンクを、それぞれｃｏｍｍｕｎｉｃａｔｉｏｎｓテーブル２１８および２２０内の行またはエントリによって表すこともできる。
【００１６】
コンテンツ送達システム内の各コンピュータ・システムを、図２ではテーブル２２２〜２２４によって表される、格納されたデータによって記述することができる。各コンピュータ・システム内のまたは各コンピュータ・システムに関連するデータ・ストレージ・ファシリティをも、図２のテーブル２２６〜２２８として示された、格納されたデータによって記述することができる。コンテンツ配布システム内の各コンピュータ・システムは、図２でテーブル２３０〜２３２によって表される、他のシステムとのトランザクションおよび交換のヒストリを格納することができる。各コンピュータ・システム内に格納されたコンテンツ・オブジェクトを、図２でテーブル２３４〜２３６として示された、格納されたデータによって表すこともできる。それを介してユーザ（消費者）のエレクトロニクス・デバイス２０８がコンテンツ・サーバ２０６に接続される通信リンクのタイプを、図２でテーブル２４０によって表される、格納されたデータによって表すことができる。さらに、ユーザ（消費者）のエレクトロニクス・デバイスの異なるタイプを、図２のテーブル２４２によって示される格納されたデータによって表すことができる。最後に、消費者は、コンテンツ・オブジェクト選択を含むユーザ入力をもたらすメニュー駆動対話を介してコンテンツ配布システムと対話することができ、このユーザ入力を、図２のテーブル２４４によって表される、格納されたデータとしてコンテンツ配布システム内で格納することもできる。
【００１７】
本発明の実施形態を表す一つのコンテンツ配布システムでは、バック・エンド・サーバ、中間サーバ、またはコンテンツ・サーバのいずれであれ、各コンピュータ・システムは、そのコンピュータ・システムおよびそのコンピュータ・システムに直接にかかわるトランザクションに関連する情報だけを格納してもよい。その代わりに、他のコンテンツ配布システムでは、コンテンツ配布システム内の各コンピュータ・システムが、コンピュータ・システム、コンテンツ、通信リンク、およびコンテンツ配布システム全体を通じて生成されたトランザクション・ヒストリのすべての、分散データベース技法によって更新され、維持される、大域的情報を格納してもよい。本発明の実施形態を表す多数のコンテンツ配布システムでは、格納されるデータは、ローカル・コンピュータ・システムに直接に関係するデータおよびローカル・コンピュータ・システムに直接に関係するトランザクション・ヒストリと、ある量の大域的データとの両方を含み、あるコンピュータ・システム内で維持される大域的データの量は、コンテンツ配布システム階層内のコンピュータ・システムのレベルに伴って変化する。
【００１８】
図３Ａ〜図３Ｈに、本発明の例示的実施形態で、コンテンツ配布システムを計算上モデル化するのに使用できる関係データベース・テーブルの諸部分を示す。図３Ａに、図１に示されたものなどのコンテンツ配布システムのコンピュータ・システムおよび通信システム・プラットフォーム内の通信リンク、コンピュータ・システム、およびデータ・ストレージ・ファシリティを記述するＲＤＢＭＳテーブルの諸部分を示す。図３Ａ、およびそれに続く図３Ｂ〜Ｈでは、ＲＤＢＭＳテーブルの一部が、テーブルの行の列見出しまたはフィールド名の一部として、各テーブルが複数のエントリを含むことを示すための複数の行の諸部分と共に示され、各エントリまたは行は、列見出しまたはフィールド名としてリストされたさまざまなフィールドに適当な値を有する。
【００１９】
図３Ａ〜Ｈでは、図３Ａのｃｏｍｍｕｎｉｃａｔｉｏｎｓテーブル３０４内のフィールド３０２など、そこから矢印が発する小さい色付きの円盤を含むフィールドは、別のテーブルの列に含まれる値と等しい値を有するフィールドを示す。たとえば、ｃｏｍｍｕｎｉｃａｔｉｏｎｓテーブルでは、フィールドｃｏｍｍ＿ｔｙｐｅは、それぞれが通信リンクの異なるタイプを表す、行を含む可能性が最も高い別のテーブル内にリストされたキー値を参照し、通信リンクの各異なるタイプは、一意のキー値すなわちｃｏｍｍ＿ｔｙｐｅ値によって識別される。ＳＱＬテーブル作成コードは提供されない。というのは、図３Ａ〜Ｈに示されたテーブルが、特定のコンテンツ配布システムに関する特定の実施態様の詳細ではなく、コンテンツ配布システム内で使用できる全般的なデータ表現の例を示すことを意図されているからである。
【００２０】
例示的なｃｏｍｍｕｎｉｃａｔｉｏｎｓテーブル３０４は、複数の行を含み、各行は、一緒に分散コンテンツ配布システムを構成するコンピュータ・システムまたはサーバのすべてまたはサブセット内の第１の特定のコンピュータ・システムを第２のコンピュータ・システムに接続する異なる通信リンクを表す。各通信リンクは、一意識別子ｃｏｍｍ＿ｉｄによって識別される。各通信リンクは、さらに、毎秒に伝送できる最大バイト数、通信リンクを介する特定のデータ転送に関するバイト単位の最大サイズ、現在の負荷条件の下でのリンクの現行バイト・レート、および通信リンクによってリンクされるコンテンツ配布システム内のコンピュータ・システムの識別子など、さまざまな値によってさらに特徴を表される。図３Ａに示されたｃｏｍｍｕｎｉｃａｔｉｏｎｓテーブル３０４は、テーブルの右にある波線によって示されるように、多数の追加フィールドを含んでもよく、コンテンツ配布システムのサイズおよびｃｏｍｍｕｎｉｃａｔｉｏｎｓテーブルによって表されるコンテンツ配布システムの部分に応じて非常に多数のエントリまたは行を含んでもよい。
【００２１】
ｓｙｓｔｅｍｓ／ｄｅｖｉｃｅｓテーブル３０６は、コンテンツ配布システム内に現在存在する各コンピュータ・システムまたはユーザ（消費者）のエレクトロニクス・デバイスの特徴を表すエントリを含む。各コンピュータ・システムまたはデバイスは、一意識別子、名前、コンピュータ・システムまたはデバイスに関連するデータ・ストレージ・ファシリティまたはコンポーネントの表示、デバイスまたはシステム・タイプの表示、および他のそのような情報によって特徴を表される。ｄａｔａ−ｓｔｏｒａｇｅテーブル３０８は、同様に、コンピュータ・システムまたはユーザ（消費者）のエレクトロニクス・デバイスに含めるかこれに関連付けることができる異なるデータ・ストレージ・コンポーネントおよびデータ・ストレージ・ファシリティの特徴を表す。データ・ストレージ・コンポーネントまたはシステムは、ＩＤを有し、容量、現行空き容量、バイト毎秒単位の転送レート、全体的な可用性の表示、フォールト・トレランスの表示、およびデータ・ストレージ・コンポーネントまたはファシリティのタイプの表示によって特徴を表される。ｓｙｓｔｅｍ  ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎテーブル３１０は、コンテンツ配布システム内で各コンピュータ・システムまたは電子デバイスから使用可能な通信リンクを示すシステムＩＤおよび通信ＩＤの対を含む。
【００２２】
図３Ｂでは、複数の異なるテーブルが、一緒に、コンテンツ配布システム内に存在し得るまたはコンテンツ配布システムに接続され得るコンピュータ・システムまたは消費者デバイスの各異なるタイプを記述する。ｓｙｓｔｅｍｓ／ｄｅｖｉｃｅ＿ｔｙｐｅｓテーブル３１２は、コンピュータ・システムまたはユーザ（消費者）のエレクトロニクス・デバイスの各異なるタイプを記述する。コンピュータ・システムまたはエレクトロニクス・デバイスの各異なるタイプは、ｓｙｓｔｅｍｓ／ｄｅｖｉｃｅ  ｔｙｐｅ値３１４によって一意に識別され、ｓｙｓｔｅｍｓ／ｄｅｖｉｃｅ  ｔｙｐｅ値３１４は、図３Ａのｓｙｓｔｅｍｓ／ｄｅｖｉｃｅｓテーブル３０６の列３１６においてコンテンツ配布システム内の特定のデバイスおよびコンピュータ・システムのシステム／デバイス・タイプを識別するのに使用される。
【００２３】
ｓｙｓｔｅｍｓ／ｄｅｖｉｃｅ＿ｔｙｐｅｓテーブル内のフィールドは、システムまたはデバイスの製造業者、システムまたはデバイス内に格納されたデバイス識別のＩＤフォーマット、最小記憶容量、最大記憶容量、最小処理帯域幅、および他のそのような特性を指定する。さらに、多数の追加テーブル３１８〜３２１が、システムまたはデバイスに付加できるさまざまなタイプの通信リンク、システムまたはデバイスの各タイプに関連付けることができるさまざまなタイプのデータ・ストレージ・コンポーネントまたはファシリティ、システムおよびデバイスを用いて処理できるコンテンツ・フォーマットのタイプ、ならびに異なるシステムおよびデバイスで実行できるオペレーティング・システムまたは制御プログラムのタイプを記述する。
【００２４】
図３Ｃに、コンテンツ配布システムに供給されるかコンテンツ配布システム内で格納されるコンテンツ・オブジェクトのそれぞれを一緒に記述する２つのテーブルすなわち、ｃｏｎｔｅｎｔ  ３２６およびｃｏｎｔｅｎｔ＿ｃｏｍｐｏｎｅｎｔｓ  ３２８を示す。ｃｏｎｔｅｎｔテーブル３２６内の行によって記述される各コンテンツ・オブジェクトは、ファイルなど、それぞれがｃｏｎｔｅｎｔ＿ｃｏｍｐｏｎｅｎｔｓテーブル３２８内のエントリによって記述される１つまたは複数のコンテンツ・コンポーネントからなるものとすることができる。各コンテンツ・オブジェクトは、名前、符号化またはフォーマット・タイプ、総サイズ、配布権利の表示、ならびに特性および値などの他のものによって記述することができ、コンテンツ・オブジェクトの各コンポーネントは、名前、フォーマット、サイズ、レンダリングに関するフレーム・レート、デコーダによって使用されるビット・レート、コンテンツ・コンポーネントを符号化するのに使用された特定の符号化の表示、および符号化の誤り弾力性の表示によって個別に特徴を表すことができる。
【００２５】
図３Ｄに示されたテーブルは、コンテンツ配布システムによって作成でき、使用できるさまざまなタイプのコンテンツ・フォーマットを表す。各フォーマットは、ｆｏｒｍａｔｓテーブル３３０内のエントリによって表される。特定のフォーマットについて作成できる各特定の固有のコンテンツ・インスタンスは、ｓｔｏｒｅｄ  ｃｏｎｔｅｎｔ  ｉｎｓｔａｎｃｅテーブル３３２内のエントリによって表される。フィールド「ｓｉｚｅ」から始まる、数値的に符号化された特性を格納するｓｔｏｒｅｄ  ｃｏｎｔｅｎｔ  ｉｎｓｔａｎｃｅテーブル内のフィールドのそれぞれは、ｐａｒａｍｅｔｅｒ＿ｒａｎｇｅｓテーブル３３４内のエントリを参照し、ｐａｒａｍｅｔｅｒ＿ｒａｎｇｅｓテーブル３３４は、特定の特性の最小値および最大値ならびにその最小値および最大値によって定義される範囲内の許容される増分を示す。代替案では、各フォーマットの各コンテンツ・インスタンスを別々に表すのではなく、フォーマットの特徴を、符号化パラメータを変更することによって得ることができる特性の範囲をそこから入手できる式によって表すことができる。
【００２６】
図３Ｅに示されたｔｒａｎｓｃｏｄｉｎｇｓテーブルは、このテーブルが、特定のコンピュータ・システム用のエントリを含むのか、分散コンテンツ配布システム内のコンピュータ・システムのすべてまたはサブセット用のエントリを含むのかに応じて特定のシステム内またはコンテンツ配布システム全体の中で実行できる、フォーマットの間の異なるトランスコーディングを表す。図３Ｆに示されたｆｏｒｍａｔ＿ｓｕｐｐｏｒｔｅｄテーブルは、コンテンツ配布システム内の各システムまたはデバイスによってサポートされるさまざまなフォーマットおよび符号化を表す。
【００２７】
図３Ｇに示されたｈｉｓｔｏｒｙテーブル３４０およびｔｒａｎｓａｃｔｉｏｎ＿ｃｏｍｐｏｎｅｎｔｓテーブル３４２は、ある時間期間の間の、コンテンツ配布システム内の任意の特定のサーバに関してコンテンツ配布システムによって実行されたコンテンツ送達トランザクションのすべてを表す。最後に、図３Ｈに示されたｕｓｅｒ＿ｐｒｅｆｅｒｅｎｃｅｓテーブルは、特定のデバイスに関連するユーザによって指定されたユーザ・プリファレンスを示す。
【００２８】
図３Ａ〜図３Ｈに示されたテーブルの諸部分は、コンテンツ配布システムの構成および状態を表すデータベースの特定の青写真として意図されたのではなく、そのような情報を格納できる多数の異なる可能な形の一部を示すことを意図されたものである。上で述べたように、コンテンツ配布システム内の各コンピュータ・システムまたはノードは、コンテンツ配布システム全体に関する大域データベースを維持することができ、あるいはその代わりに、ローカル・コンピュータ・システムに直接に関連する情報ならびに階層コンテンツ配布システム内の他のコンピュータ・システムと通信するのに必要な最小量の追加情報だけを維持することができる。重要な点は、コンテンツ配布システム内のさまざまなコンピュータ・システムが図３Ａ〜Ｈに示されたものに類似する格納された情報を維持する時に、図１に示されたものなどのコンテンツ配布システムを、記述利用することができることである。格納された情報は、分散コンテンツ配布システム内の各コンピュータ・システムまたはノードが、分散コンテンツ配布システム内のすべての他のコンピュータ・システムによって行われる局所的判断と一緒に、最適のまたは最適に近いコンテンツ配布および送達に向けて分散コンテンツ配布システムを継続的に駆動する局所的判断を行うことを可能にするのに十分である。
【００２９】
図４に、効率的な分散コンテンツ配布システムを実施し、維持するために対処する必要がある３つの重要な問題を示す。図４は、図２に似て、バック・エンド・サーバ４０２、中間サーバ４０４、コンテンツ・サーバ４０６、およびユーザ（消費者）のエレクトロニクス・デバイス４０８の概念表示を示すが、これらは、一緒に、図１に示された階層コンテンツ配布システムの階層構造を構成する。
【００３０】
第１の問題は、コンテンツ配布システムへのコンテンツ・オブジェクト４１０の入力と、そのシステム内でのコンテンツ・オブジェクトのストレージとに関する。受け取られるコンテンツ・オブジェクトは、ＤＶＤディスクを含む物理媒体に符号化されてもよく、あるいは、電子的に伝送されるデータとして電子通信を介して受け取られてもよい。受け取られるコンテンツ・オブジェクトの符号化およびフォーマットが何であっても、即座の判断４１２は、そのコンテンツ・オブジェクトをコンテンツ配布システム内のどこにどのように格納すべきかである。
【００３１】
第２の問題は、そこからコンテンツ・オブジェクトが特定のユーザ（消費者）のエレクトロニクス・デバイス４０８にダウンロードされるコンテンツ・サーバ４０６にコンテンツ・オブジェクトを伝送する最適のまたは最適に近い形４１４を見つけることである。一般に、図１に示されたものなどの分散コンテンツ配布システム内のコンピュータ・システムおよび通信リンクは、限られた記憶容量および通信帯域幅を有する。コンテンツ・オブジェクトが受け取られ、コンテンツ配布システム内で格納される方法およびコンテンツ・オブジェクトがコンテンツ配布システムを介してコンテンツ・サーバに伝えられる方法は、主に、コンテンツ配布システムの全体的効率および消費者へのコンテンツ配布の速度の責任を負う可能性がある。
【００３２】
最後の重要な問題は、コンテンツ・サーバ４０６へのユーザ（消費者）のエレクトロニクス・デバイス４０８の接続ならびに接続されたユーザ（消費者）のエレクトロニクス・デバイスとコンテンツ・サーバとの間の初期通信４１６に関する。多数の異なるタイプのユーザ（消費者）のエレクトロニクス・デバイスがあり、各タイプのユーザ（消費者）のエレクトロニクス・デバイスが、多数のコンテンツ・オブジェクト・インスタンスのうちで、それぞれが特定の符号化フォーマットを使用して異なって符号化され、特定の符号化パラメータ値に従って符号化され、トランスコーディングによって当初に受信されたコンテンツ・オブジェクトから作ることのできる、小さい部分だけを受信できレンダリングできる場合がある。したがって、コンテンツ配布システムが、ダウンロードされるコンテンツ・オブジェクトを受信するためにコンテンツ配布システムに接続されるユーザ（消費者）のエレクトロニクス・デバイスのタイプおよび構成をできる限り正確に判定することが重要である。
【００３３】
ユーザ（消費者）のエレクトロニクス・デバイスのタイプおよび構成の正確な判定は、コンテンツ配布システムが、最適のまたは最適に近い効率および速度で、互換コンテンツ・オブジェクトを見つけるか生成し、ユーザ（消費者）のエレクトロニクス・デバイスに送達することを可能にする。対照的に、ユーザ（消費者）のエレクトロニクス・デバイスのタイプを正確に判定できない時には、コンテンツ配布システムは、適当な互換コンテンツ・オブジェクトを特定のユーザ（消費者）のエレクトロニクス・デバイスに送達できない場合があり、送達されるコンテンツ・オブジェクト・インスタンスをユーザ（消費者）のエレクトロニクス・デバイスおよびユーザの望む送達されるコンテンツ・オブジェクト特性によりよく一致させることによって可能になるはずのものより望ましくない、解像度、ビット・レート、および他の特性などの特性を有するコンテンツ・オブジェクトを送達してしまう場合がある。
【００３４】
上で述べた問題に対処できるコンテンツ配布システムは、効率、送達の速度などの制約に関して最適のまたは最適に近いコンテンツ配布を実現でき、受信されるコンテンツに関するユーザ指定の判断基準を最適にまたは最適に近い形で満足する。トランスコーディングによって作られ得る可能なコンテンツ・オブジェクト・インスタンスの膨大な数、分散コンテンツ配布システム内の異なるコンテンツ・オブジェクト・ストレージ構成の膨大な数、ならびに分散コンテンツ配布システム内でコンテンツを送達するための多数の可能なルートおよび戦略を考慮すると、この最適化問題は、古典的な最適化アルゴリズムを使用して対処することがむずかしい可能性がある。
【００３５】
図５に、コンテンツ配布システムからコンテンツ・オブジェクトを受信するためにコンテンツ配布システムに接続されたユーザ（消費者）のエレクトロニクス・デバイスのタイプ、構成、および機能を正確に判定することの重要性を示す。ユーザ（消費者）のエレクトロニクス・デバイスのタイプ５０２を、正確に精密に判定できる時に、そのタイプを使用して、ｓｕｐｐｏｒｔｅｄ  ｆｏｒｍａｔｓテーブルから、異なる符号化フォーマットおよび符号化パラメータを使用して作られた、デバイスによって受信できレンダリングできる可能なコンテンツ・オブジェクト・インスタンスを正確に選択することができる。ユーザ（消費者）のエレクトロニクス・デバイスのタイプには、型、モデル、コンポーネント構成、容量、使用可能ストレージ空間、制御プログラムまたはオペレーティング・システム、フォーマット互換性、およびレンダリング特性のうちの１つまたは複数の指定を含めることができる。
【００３６】
ユーザ（消費者）のエレクトロニクス・デバイスによって受信でき、レンダリングできるフォーマットおよび符号化のタイプを、さらに、ｕｓｅｒ  ｐｒｅｆｅｒｅｎｃｅｓ  ５０６によって制約して、要求されるコンテンツ・オブジェクトに関する所望のフォーマットおよび符号化５０８の比較的扱いやすいサイズのリストを作ることができる。しかし、タイプを正確に精密に判定できない時には、ｓｕｐｐｏｒｔｅｄ＿ｆｏｒｍａｔｓテーブル５０４からのサポートされるフォーマットおよび符号化の初期選択が、相対的に非選択的であり、おそらくはユーザ（消費者）のエレクトロニクス・デバイスと互換である可能性がある潜在的なフォーマットおよび符号化５０５のはるかにより大きいリストにつながる可能性がある。これらの潜在的なフォーマットおよび符号化の多くが、実際には、ユーザ（消費者）のエレクトロニクス・デバイスと互換ではなく、コンテンツ送達での誤りにつながる可能性がある。可能な選択性を有すると、コンテンツを見つけ、効率的に送達するという問題は、異なる送達戦略の組合せ爆発に起因して、ますます複雑になる。その代わりに、ユーザ（消費者）のエレクトロニクス・デバイスのタイプが非精密に判定される場合には、コンテンツ配布システムは、特定のユーザ（消費者）のエレクトロニクス・デバイスが属すると推論されるユーザ（消費者）のエレクトロニクス・デバイスのグループと全般的に互換のフォーマットおよび符号化を用いて符号化されているが、ユーザ（消費者）のエレクトロニクス・デバイスのタイプがより正確に判定された場合にユーザ（消費者）のエレクトロニクス・デバイスに送達できるはずの他のフォーマットおよび符号化より望ましくない特性を有するコンテンツ・オブジェクトのダウンロードを試みる可能性がある。
【００３７】
ユーザ（消費者）のエレクトロニクス・デバイスのタイプならびにユーザ（消費者）のエレクトロニクス・デバイスの構成の正確で精密な判定は、ユーザ指定のプリファレンスを考慮したユーザ（消費者）のエレクトロニクス・デバイスの最も最適なフォーマットおよび符号化を使用して符号化されたコンテンツ・オブジェクトに関する精密で明確に目標を定められた要求につながる。明確に目標を定められた精密な要求は、しばしば、非精密な要求より少ないコンピュータ・システム間通信およびデータ転送を伴って、より効率的に満足され得る。さらに、消費者が、彼らのユーザ（消費者）のエレクトロニクス・デバイスによく合わせて調整され、彼らの指定に一致するフォーマットおよび符号化でコンテンツを受信する時に、ユーザは、より高い満足を経験し、そのコンテンツ配布システムを使用し続ける可能性がより高い。
【００３８】
図６に、コンテンツ配布システム内の初期コンテンツ・オブジェクト処理およびストレージに関連する１つの問題を示す。受信されるコンテンツは、一般に、特定の符号化６０２を使用する特定のフォーマットで符号化される。しかし、この特定のフォーマットおよび特定の符号化が、ｔｒａｎｓｃｏｄｉｎｇｓテーブル６０４を介する代替コンテンツ・オブジェクト・インスタンスへの受信されたコンテンツのすべての可能なトランスコーディングを選択するのに使用される時に、受信されたコンテンツ・オブジェクトから作ることのできる可能なコンテンツ・オブジェクト・インスタンスの膨大なリスト６０６が生成される可能性がある。上で述べた第１の問題は、受信されたコンテンツ・オブジェクトを、コンテンツ配布システム内でのストレージのために、可能なコンテンツ・オブジェクト・インスタンスのうちのどれに当初にトランスコーディングしなければならないかを判断することに関係する。
【００３９】
図７に、受信されたコンテンツ・オブジェクトのトランスコーディングおよびストレージに対するさまざまな代替手法を示す。図７では、コンテンツ・オブジェクトのトランスコーディングおよびストレージに対する３つの異なる手法が、階層コンテンツ配布システム７０２〜７０４の３つの異なる階層構造に示されている。階層構造７０２などの各階層構造は、バック・エンド・サーバ７０６、中間サーバ７０８、コンテンツ・サーバ７１０、およびコンテンツ・オブジェクトのダウンロードのためにコンテンツ・サーバに接続されたユーザ（消費者）のエレクトロニクス・デバイス７１２を含んで図示されている。第１の手法では、受け取られたコンテンツ・オブジェクト７１４は、単一のフォーマットおよび符号化７１６でバック・エンド・サーバ７０６内に格納される。コンテンツ・オブジェクトが、特定のユーザ（消費者）のエレクトロニクス・デバイス７１２へのダウンロードのためにユーザによって要求される時に、格納されたコンテンツ・オブジェクト７１６が、オン・ザ・フライでトランスコーディング７１８されて、ユーザ（消費者）のエレクトロニクス・デバイスとユーザ指定の判断基準７２０との両方と互換のフォーマットおよび符号化を有するコンテンツ・オブジェクト・インスタンスが作られる。
【００４０】
次に、トランスコーディングされたコンテンツ・オブジェクト・インスタンスが、中間サーバ７０８を介してコンテンツ・サーバ７１０に送信され、コンテンツ・サーバ７１０から、トランスコーディングされたコンテンツ・オブジェクト・インスタンスが、ユーザ（消費者）のエレクトロニクス・デバイス７１２にダウンロードされる。この手法は、コンテンツ・ライブラリを格納するためにバック・エンド・サーバによって使用されるストレージ空間の量を最小にする。しかし、この手法のコストは、コンテンツ・オブジェクトの要求の大きい部分についてオン・ザ・フライでコンテンツ・オブジェクトをトランスコーディングするのに必要な処理帯域幅、ならびに、そこからコンテンツ・オブジェクト・インスタンスをユーザ（消費者）のエレクトロニクス・デバイスにダウンロードできるターゲット・コンテンツ・サーバに１つまたは複数の中間サーバを介してトランスコーディングされたコンテンツ・オブジェクト・インスタンスを送信することに用いられる通信オーバーヘッドを含む。したがって、第１の手法では、データ・ストレージが、処理オーバーヘッドおよび通信オーバーヘッドを犠牲にして最小化される。
【００４１】
図７の階層構造７０３として示された第２の手法では、当初に受け取られるコンテンツ・オブジェクト７１４が、複数の異なるコンテンツ・オブジェクト・インスタンスにトランスコーディングされ、これらのコンテンツ・オブジェクト・インスタンスが、バック・エンド・サーバ７０６内に格納される（７２６）。その後、特定のユーザ（消費者）のエレクトロニクス・デバイス７１２がコンテンツ・オブジェクトを要求する時に、互換コンテンツ・オブジェクト・インスタンスを、そのユーザ（消費者）のエレクトロニクス・デバイス７１２への送達のために、既にトランスコーディングされているコンテンツ・オブジェクト・インスタンス７２６から選択することができる。この手法では、各要求時にコンテンツ・オブジェクトをトランスコーディングすることに関する処理オーバーヘッドが、大幅に増えたデータ記憶要件を犠牲にして大幅に減らされるかなくされる。
【００４２】
図７で階層構造７０４を使用して示される第３の手法では、受け取られるコンテンツ・オブジェクト７１４は、当初に、バック・エンド・サーバ内に格納される複数の異なるフォーマットおよびエンコーディング７２６にトランスコーディングされる。これらのトランスコーディングのすべてまたはサブセットが、当初に、コンテンツ・サーバ７１０に送信され、コンテンツ・サーバ内で格納される（７３０）。その後、特定のユーザ（消費者）のエレクトロニクス・デバイス７１２が特定のコンテンツ・オブジェクトを要求する時に、互換のフォーマットおよび符号化を有するコンテンツ・オブジェクトが、コンテンツ・サーバで即座に使用可能であり、要求されたユーザ（消費者）のエレクトロニクス・デバイスに直接にダウンロードされ得る。この第３の手法では、バック・エンド・サーバと中間サーバとの間の通信オーバーヘッドが、コンテンツ・サーバでの大幅に増えたデータ記憶要件を犠牲にして最小化されまたは除去される。
【００４３】
コンテンツのストレージおよび送達に対する３つの上で述べた手法のそれぞれが最適または最適に近いものになり得る情況を想像することができる。たとえば、特定のコンテンツ・オブジェクトが、ごくまれに要求され、多数の異なる非互換のユーザ（消費者）のエレクトロニクス・デバイスによって要求される場合には、図７を参照して述べた第１の手法が、最高の全体的効率につながり得る。コンテンツ送達の待ち時間は、各要求時にコンテンツ・オブジェクトをトランスコーディングし、コンテンツ・オブジェクトを送信する必要に起因して、多少より長いが、データ・ストレージ要件は最小化され、その結果、データ・ストレージ・ファシリティを、より頻繁にアクセスされるコンテンツ・オブジェクトの複数のトランスコーディングを格納するのにより効率的に使用できるようになる。
【００４４】
図７を参照して述べた第２の手法は、コンテンツ・サーバが限られたデータ記憶容量を有するコンテンツ配布システムについて、および特定のコンテンツ・オブジェクトがさほど頻繁には要求されない時に、最適または最適に近い可能性がある。図７を参照して述べた第３の手法７０４は、多数の異なるフォーマットで要求される頻繁に要求されるコンテンツ・オブジェクトについて最適または最適に近い可能性がある。しかし、任意の特定のコンテンツ・オブジェクトに関してコンテンツ配布システム内で生じる可能性があるコンテンツ・オブジェクト要求のパターン、処理オーバーヘッド、および通信オーバーヘッドを予測することが、難しい場合がある。ほとんどの場合に、コンテンツのストレージおよび送達に対する単一の手法が、コンテンツ配布システムによって配布されるすべてのコンテンツ・オブジェクトについて選択される場合に、その手法は、かなりの数のコンテンツ・オブジェクトについて明らかに非最適であることがわかり、非効率的で低速なコンテンツ配布システムにつながるはずである。
【００４５】
本発明の実施形態を表すさまざまな分散コンテンツ配布システムは、図４を参照して上で述べた３つの問題のすべてに対処する。これらの問題に対処することによって、本発明の実施形態を表す分散コンテンツ配布システムは、さまざまな異なる負荷、要求パターン、要求頻度、コンテンツ配布システム構成の下で、さまざまな異なるコンテンツ・オブジェクト・ライブラリについて、最適または最適に近いコンテンツ配布を達成する。より重要なことに、上で述べた問題に対する解決策は、大域情報を使用して本発明の実施形態を表す分散コンテンツ配布システムをさらに最適化することはできるが、コンテンツ配布システムにまたがって大域的に使用される複雑な最適化方法を使用するのではなく、コンテンツ配布システム内の個々のコンピュータ・システム内での局所的判断および局所的戦略だけを用いるものとすることができる。
【００４６】
図８に、コンテンツ・サーバに接続されたユーザ（消費者）のエレクトロニクス・デバイスのタイプを正確に精密に判定するために本発明のコンテンツ配布システム実施形態によって使用できる情報のタイプを示す。図８では、コンテンツ・サーバ８０２が、大きいブロックによって表され、ユーザ（消費者）のエレクトロニクス・デバイス８０４が、より小さいブロックによって表されている。ユーザ（消費者）のエレクトロニクス・デバイスとコンテンツ・サーバとの間の通信接続は、垂直チャネル８０６によって表される。それを介してコンテンツ・サーバがユーザ（消費者）のエレクトロニクス・デバイスとデータを交換する、コンテンツ・サーバ内の通信ポート８０８は、コンテンツ・サーバ内の小さい正方形領域によって表される。
【００４７】
図８に示されているように、コンテンツ・サーバへのユーザ（消費者）のエレクトロニクス・デバイスの接続時にコンテンツ・サーバから使用可能とすることができる多数の異なるタイプの情報がある。この情報には、通信リンク８０６へのユーザ（消費者）のエレクトロニクス・デバイスの接続時に通信ポート８１０によってコンテンツ・サーバに返されるデバイス・タイプ表示を含めることができる。たとえば、ＵＳＢ接続は、コンテンツ・サーバに、ＵＳＢホスト・プロトコルに従って、ＵＳＢポートを介してコンテンツ・サーバに相互接続されたユーザ（消費者）のエレクトロニクス・デバイスの会社ＩＤおよび製品ＩＤを提供することができる。
【００４８】
次に、コンテンツ・サーバは、ユーザ（消費者）のエレクトロニクス・デバイスのタイプならびに、ユーザ（消費者）のエレクトロニクス・デバイス内のデータ・ストレージ・コンポーネントのタイプおよび容量と、ユーザ（消費者）のエレクトロニクス・デバイスと互換のフォーマットと、解像度およびビット・レートと、ユーザ（消費者）のエレクトロニクス・デバイスと互換の他のそのような符号化パラメータと、他のそのような情報となど、ユーザ（消費者）のエレクトロニクス・デバイスの特性を推論するために、会社ＩＤおよび製品ＩＤをデータベース・テーブルに格納された値と照合することができる。
【００４９】
代替案では、多数のユーザ（消費者）のエレクトロニクス・デバイスが、１つまたは複数のデバイス・アクセス・プロトコルを使用してユーザ（消費者）のエレクトロニクス・デバイスに照会することによって入手できるさまざまな識別子８１２を含む、自己記述的情報を格納してもよい。したがって、通信ポートが、それからユーザ（消費者）のエレクトロニクス・デバイスのタイプ、構成、容量、および機能を推論するのに十分な情報を提供しない時には、コンテンツ・サーバは、そのデバイスによって認識され、サポートされ得るさまざまな可能なデバイス・アクセス・プロトコルを使用してデバイスに照会することによって、ユーザ（消費者）のエレクトロニクス・デバイスから格納された情報８１６を抽出することを試みてもよい。情報の追加の源には、ユーザによってコンテンツ・サーバに直接に、またはユーザ（消費者）のエレクトロニクス・デバイスを介してコンテンツ・サーバに供給されるユーザ入力８１８を含めることができる。
【００５０】
たとえば、コンテンツ・サーバは、ユーザが接続したユーザ（消費者）のエレクトロニクス・デバイスのタイプをコンテンツ・サーバが推論するのに十分な情報をユーザが供給することを可能にする対話型メニューを提供することができる。デバイスのタイプを推論するのにコンテンツ・サーバによって使用できるさらなる追加情報が、ユーザ（消費者）のエレクトロニクス・デバイス内に格納されたデータ８２０である。たとえば、コンテンツ・サーバは、ユーザ（消費者）のエレクトロニクス・デバイス内に既に格納されているコンテンツのフォーマットおよび符号化を判定するために、さまざまな可能なデバイス・コンポーネント・アクセス・プロトコルを使用して、ユーザ（消費者）のエレクトロニクス・デバイス内のデータ・ストレージ・コンポーネントへのアクセスを試みることができる。
【００５１】
次に、コンテンツ・サーバは、判定されたフォーマットおよび符号化がユーザ（消費者）のエレクトロニクス・デバイスと互換であると推論することができ、さらに、ユーザ（消費者）のエレクトロニクス・デバイスのタイプまたは少なくともユーザ（消費者）のエレクトロニクス・デバイスを含むユーザ（消費者）のエレクトロニクス・デバイスのタイプのクラスを推論できてもよい。ユーザ（消費者）のエレクトロニクス・デバイスのタイプ、ユーザ（消費者）のエレクトロニクス・デバイスと互換のコンテンツのフォーマットおよび符号化、デバイスの記憶容量、ならびに他のユーザ（消費者）のエレクトロニクス・デバイス識別情報を推論するのに使用できる異なるタイプの情報のすべてが、ユーザ（消費者）のエレクトロニクス・デバイスのタイプを精密に正確に判定するために、格納された情報８２２と一緒に、コンテンツ・サーバによって使用される。やはり、単語「タイプ」は、全般的に、製造業者およびモデルの表示だけを指すのではなく、コンテンツ・オブジェクトに関するユーザ要求の際にデバイスに送達するのに最も適するコンテンツ・オブジェクト・インスタンスを選択するのに使用できる、静的と動的との両方のすべての追加のデバイス特性をも指してもよい。追加のデバイス特性は、ユーザ（消費者）のエレクトロニクス・デバイスと互換の符号化フォーマットおよび符号化パラメータ、追加コンテンツについて使用可能な容量、データ転送レート、ならびに他のそのような情報を含む。
【００５２】
図９〜１１に、本発明の実施形態によるコンテンツ・サーバによって実行されるユーザ（消費者）のエレクトロニクス・デバイス識別プロセスを例示する制御フローを示す。図９に、コンテンツ・サーバへの新しい接続がコンテンツ・サーバによって認識され、処理される、イベント・ハンドリング・ループの制御フローを示す。ステップ９０２で、コンテンツ・サーバは、ポートへの次の接続を待つ。接続が検出される時に、コンテンツ・サーバは、ステップ９０４でルーチン「タイプを得る」を呼び出して、図８を参照して述べた異なるタイプの情報の一部またはすべてを使用してユーザ（消費者）のエレクトロニクス・デバイスのタイプを入手する。タイプが、ステップ９０６の判定で、ルーチン「タイプを得る」への呼び出しによって返される場合に、そのタイプが、ポート識別子および他のそのような情報と一緒に、データベースに入力されるか、他の形で格納されて、コンテンツ・サーバが選択のために適当なコンテンツ・オブジェクトをユーザに表示することを可能にし、コンテンツ・サーバがユーザ（消費者）のエレクトロニクス・デバイスとユーザ指定のコンテンツ特性との両方と互換の選択されたコンテンツ・オブジェクトとを突き止め、送達することを可能にする。
【００５３】
次に、接続が、ルーチン「接続を受け入れる」９０８への呼び出しによって受け入れられ、ルーチン「接続を受け入れる」９０８は、ユーザが使用可能なコンテンツをブラウズし、ダウンロードのためにコンテンツを選択し、ユーザ（消費者）のエレクトロニクス・デバイスにコンテンツ・オブジェクトをダウンロードすることを可能にするためにユーザとの対話を開始し、実行する。ルーチン「接続を受け入れる」は、多数の異なる可能な実施態様が可能であり、ルーチン「接続を受け入れる」の説明が本発明を説明するのに必要ではないので、さらには説明しない。ステップ９０６での判定で、ルーチン「タイプを得る」がタイプを返さない場合には、コンテンツ・サーバは、ルーチン「フォーマットを得る」９１０を呼び出して、少なくとも、ユーザ（消費者）のエレクトロニクス・デバイスにダウンロードされるコンテンツ・オブジェクト・インスタンスの互換フォーマットおよび符号化パラメータを判定することを試みることができる。ステップ９１２での判定で、互換フォーマットおよび符号化がルーチン「フォーマットを得る」によって返される場合に、ステップ９１４で、ユーザ（消費者）のエレクトロニクス・デバイスの互換フォーマットおよび符号化をデータベースに格納するか他の形で電子的に格納し、ルーチン「接続を受け入れる」を呼び出して、コンテンツ・サーバとのユーザ対話を開始する。しかし、ステップ９１２の判定で、ルーチン「フォーマットを得る」への呼び出しからフォーマットおよび／または符号化が返されない場合には、ルーチン「接続を拒否する」９１６を呼び出して、ユーザとの接続拒否対話を開始して、コンテンツ配布システムが、接続されたユーザ（消費者）のエレクトロニクス・デバイスのタイプあるいはユーザ（消費者）のエレクトロニクス・デバイスと互換であるコンテンツ・オブジェクト・インスタンスのフォーマットおよび／または符号化のいずれかを判定できなかったことをユーザに示す。
【００５４】
図１０に、図９のステップ９０４のルーチン「タイプを得る」の制御フロー図を示す。ステップ１００２で、ルーチン「タイプを得る」は、通信ポートがデバイス・タイプもしくはそれからデバイス・タイプを推論できる情報を報告するか否かを判定する。そうである場合には、ステップ１００４で、ルーチン「ポートからタイプを得る」を呼び出して、ユーザ（消費者）のエレクトロニクス・デバイスのタイプを判定し、さらに、ポートから返された情報と格納されたデバイス・タイプ情報および格納されたデバイス機能情報とを使用して、ユーザ（消費者）のエレクトロニクス・デバイスの構成および機能を判定する。
【００５５】
次に、ステップ１００６で、ルーチン「タイプを得る」は、コンテンツ・サーバが独立にタイプを確かめることを可能にする、デバイスから入手可能なすべての情報についてデバイスに直接に照会し、おそらくは、さらに、デバイスから直接に入手された情報からデバイスの構成および機能を確かめる。コンテンツ・サーバが、ステップ１００８で判定されるように、デバイスから直接に入手された情報からタイプを推論でき、タイプが、ステップ１０１０で判定されるように、通信ポートから返されるか、通信ポートによって返される情報から推論された場合に、ポートによって返されるかポートによって返された情報から推論されたタイプが、ステップ１０１２で判定されるように、デバイスから直接に入手された情報から推論されるタイプと等しいならば、ルーチン「タイプを得る」は、ステップ１０１４でそのタイプを返す。言い換えると、ルーチン「タイプを得る」は、図１０に示された実施形態で、２つの独立のタイプ表示またはそこからタイプを推論できる情報の２つの独立のセットを使用して、ユーザ（消費者）のエレクトロニクス・デバイスのタイプを確かめることと、そのタイプを独立に検証することとの両方を試みることができる。ルーチン「タイプを得る」の代替実施形態では、ポートによって返された情報が、格納された情報と一緒に、接続されたユーザ（消費者）のエレクトロニクス・デバイスのタイプ、構成、および機能を精密に正確に判定するために十分に信頼できると考えられる時に、ポートによって返されるかポートによって返された情報から推論されるタイプならびに／または構成および機能情報を、デバイスに直接に照会することによってタイプ、構成、および機能をさらに検証することなく使用してもよい。
【００５６】
ルーチン「タイプを得る」が、ポートに照会し、デバイスに直接に照会することによってユーザ（消費者）のエレクトロニクス・デバイス・タイプを確かめ、検証することができなかった時に、ルーチン「タイプを得る」は、ステップ１０１６で、ユーザ（消費者）のエレクトロニクス・デバイス内に格納された情報からユーザ（消費者）のエレクトロニクス・デバイスのタイプを推論し、おそらくは構成および機能情報を推論するために、さまざまな異なるプロトコルを使用して、ユーザ（消費者）のエレクトロニクス・デバイスにアクセスすることを試みることができる。一般に、この情報は、ステップ１００６でデバイスに照会することによって返される情報より、タイプ、機能、および構成情報を間接的に示す。一例として、間接情報には、デバイス内に格納されたコンテンツに関する情報、デバイスによって認識され応答される通信プロトコルに関する情報、および他のそのような情報を含めることができる。ステップ１０１８で判定されるように、タイプを、ステップ１０１６でコンテンツ・サーバによってアクセスされる情報から推論でき、ステップ１０２０で判定されるように、タイプが、通信ポートによって報告されたか通信ポートによって報告された情報から推論され、ステップ１０２２で判定されるように、２つのタイプが等しい場合に、そのタイプが、ステップ１０２４で返される。その代わりに、ステップ１０２６および１０２８で判定されるように、ステップ１０１６でアクセスされたデータから推論されるタイプが、ステップ１００６でデバイスに照会することから推論されるタイプと等しいときには、そのタイプが、ステップ１０３０で返される。
【００５７】
最後の手段で、コンテンツ・サーバによって自動的に収集される情報を介するタイプ指定が失敗した時に、コンテンツ・サーバは、ステップ１０３２で、ユーザと対話してタイプ情報をユーザから入手することを試みることができる。ステップ１０３４で判定されるように、タイプをユーザとの対話から推論できる時には、ステップ１０３６〜１０４１で判定されるように、そのタイプが前のステップでコンテンツ・サーバによって受け取られたタイプと等しいか、前のステップでコンテンツ・サーバによって収集されたデータから推論されたタイプと等しい場合に、そのタイプを、ステップ１０４２〜１０４４のうちの１つで返す。そうではなく、タイプが、ルーチン「タイプを得る」によって判定されず、検証されなかった時には、ステップ１０４６またはステップ１０４８のいずれかで障害（失敗）表示を返す。
【００５８】
図１１に、図９のステップ９１０で呼び出されるルーチン「フォーマットを得る」によって実行される例示的ステップの制御フロー図を示す。例示的ルーチン「フォーマットを得る」は、ステップ１１０２〜１１１１の二重に入れ子になったループを含む。コンテンツ・サーバは、ユーザ（消費者）のエレクトロニクス・デバイス内に格納されたデータ、特にコンテンツ・オブジェクトにアクセスするために、ユーザ（消費者）のエレクトロニクス・デバイスをコンテンツ・サーバに接続する通信リンクを介して、ＯＳ／制御プログラム・タイプと各ＯＳ／制御プログラム・タイプによってサポートされる通信プロトコル・タイプとのすべての可能な組合せに基づいてユーザ（消費者）のエレクトロニクス・デバイスへのアクセスを試みる。任意の所与のＯＳ／制御プログラムおよびプロトコルについて、ステップ１１０５で判定されるように、アクセスが成功である場合に、格納されたコンテンツ・オブジェクトのフォーマットおよび／または符号化パラメータが、ステップ１１０６で識別される。ステップ１１０７で判定されるように、ステップ１１０６でフォーマットおよび／または符号化パラメータが識別される場合に、フォーマットおよび／または符号化パラメータを、ステップ１１０８で返す。そうでない場合には、ステップ１１０９で障害を返す。
【００５９】
すべてのソフトウェア・システムと同様に、図８〜１１に示されたユーザ（消費者）のエレクトロニクス・デバイス・タイプ判定方法の本質的に無制限の個数の異なる実施態様がある。複数の異なるタイプのデバイスを特定の通信リンクに接続できるとき、および多数の異なるタイプのタイプ表示情報を、通信ポート、ユーザ（消費者）のエレクトロニクス・デバイス、およびユーザ（消費者）のエレクトロニクス・デバイス内に格納されたデータから抽出できるときに、相対的に複雑な決定木が実施される場合がある。したがって、実施態様は、コンテンツ・サーバおよびコンテンツ配布システムの異なるタイプに伴って大きく変化する。しかし、本発明の実施形態は、ユーザ（消費者）のエレクトロニクス・デバイス・タイプのタイプ、構成、機能、および互換性の判定において高い正確さ、精度、および信頼性を達成するのに必要なだけの量の入手可能なタイプ表示情報を使用する、コンテンツ・サーバに接続されたユーザ（消費者）のエレクトロニクス・デバイスのタイプ、構成、および機能を正確に精密に識別するのに入手可能な情報を使用する堅牢なタイプ判定プロセスの特徴がある。上で述べたように、ユーザ（消費者）のエレクトロニクス・デバイスのタイプ、構成、機能、および互換性を正確に精密に判定できる時には、コンテンツ配布システムは、ユーザ（消費者）のエレクトロニクス・デバイスおよびユーザによって指定されるプリファレンスと互換のコンテンツを最も効率的に突き止め、配送することができ、ユーザ指定の特性を妥協して処理するかそれに不十分なコンテンツ・オブジェクトおよびユーザ（消費者）のエレクトロニクス・デバイスによってユーザにレンダリングすることのできないコンテンツ・オブジェクトの送達を回避する。
【００６０】
図４を参照して述べた最初の２つの問題に対処する、受信されたコンテンツ・オブジェクトを処理する方法およびコンテンツ送達の方法を、次に述べる。これらの方法は、ある種の実施態様で、コンテンツ配布システム内のさまざまなコンピュータ・システム上で動作する一般イベント・ハンドラ・ルーチンから呼び出されるコンテンツ関連イベント・ハンドラ・ルーチン内で実施される。
【００６１】
図１２に、分散コンテンツ配布システム内の各コンピュータ・システム上で継続的に実行できる一般イベント・ハンドラの制御フロー図を示す。ステップ１２０２〜１２０６を含むループ内で、ルーチン「イベントを処理する」は、ステップ１２０２で次のイベントが発生するのを継続的に待ち、ステップ１２０３で、次のイベント発生が検出される時に、発生したイベントがコンテンツ関連イベントまたは別のイベントのどちらであるかを判定する。イベントがコンテンツ関連イベントである場合には、ステップ１２０４で、コンテンツ関連イベント・ハンドラを呼び出す。そうでない場合には、ステップ１２０５で、別イベント・ハンドラを呼び出す。
【００６２】
図１３に、図１２のステップ１２０４で呼び出されるルーチン「コンテンツ関連イベント・ハンドラ」の制御フロー図を示す。ステップ１３０２で、ルーチン「コンテンツ関連イベント・ハンドラ」は、最近発生したイベントが、コンテンツ配布システム内の別のコンピュータ・システムから受信された、コンテンツに関する要求を表すかどうかを判定する。そうである場合には、ステップ１３０４で、ルーチン「要求を処理する」を呼び出す。そうでない場合に、ステップ１３０５で判定されるように、コンテンツに対応するイベントが受信された場合には、ステップ１３０６で、ルーチン「受信されたコンテンツを処理する」を呼び出す。そうではない場合に、ステップ１３０８で判定されるように、最近発生したイベントがタイマ満了または周期的メンテナンス機能を実行する必要の他のそのような通知である場合に、ステップ１３１０で、ルーチン「タイマを処理する」を呼び出す。すべての他のタイプのイベントは、ステップ１３１２での一般化コンテンツ関連イベント・ハンドラへの呼び出しによって処理される。
【００６３】
図１３に示された制御フロー図の、それぞれステップ１３０４、１３０６、および１３１０で呼び出される３つのルーチン「要求を処理する」、「受信されたコンテンツを処理する」、および「タイマを処理する」のそれぞれを、詳細に述べる。これらの３つのルーチンは、最適または最適に近いコンテンツ配布を達成するために、図１に示されたものなどの分散コンテンツ配布システム内の各コンピュータ・システムによって局所的に実行される判断戦略の３つの異なるコンポーネントを表す。
【００６４】
図１４に、コンテンツ配布システム内のコンピュータ・システムが、特定のフォーマットで符号化され、特定の符号化パラメータに従う特定のコンテンツ・オブジェクトの受信された要求に対して行うことができる応答を示す。図１４では、分散コンテンツ配布システム内のコンピュータ・システムまたはノードが、大きい長方形１４０２によって表される。矢印１４０４は、特定のフォーマットの、特定の符号化パラメータに従って符号化された特定のコンテンツ・オブジェクトの要求、または、言い換えると、特定のコンテンツ・オブジェクト・インスタンスの要求の受信を表す。コンテンツ・オブジェクト・インスタンスが、コンピュータ・システム１４０８内のデータ・ストレージ・コンポーネントまたはコンピュータ・システム１４０８に関連するデータ・ストレージ・ファシリティ内に現在存在する場合に（１４０６）、格納されたコンテンツ・オブジェクト・インスタンスを、図１４の矢印１４１０によって示されるように、取り出し、要求するコンピュータ・システムに返すことができる。そうではなく、要求されたコンテンツ・オブジェクト・インスタンスにトランスコーディングできるコンテンツ・オブジェクトが、コンピュータ・システムのデータ・ストレージ・コンポーネント内に格納されている場合には、格納されたコンテンツ・オブジェクトを、コンピュータ・システムのデータ・ストレージ・コンポーネントから取り出し、トランスコーディングして、要求されたコンテンツ・オブジェクト・インスタンス１４１２を作ることができ、コンテンツ・オブジェクト・インスタンス１４１２を、その後、図１４の矢印１４１４によって示されるように、要求するコンピュータ・システムに返すことができる。
【００６５】
コンテンツ・オブジェクトが、トランスコーディングされたコンテンツ・オブジェクト・インスタンス１４１２を作るためにトランスコーディングされたならば、コンピュータ・システムは、トランスコーディングされたコンテンツ・オブジェクト・インスタンスをデータ・ストレージ・コンポーネントまたはデータ・ストレージ・ファシリティ１４１６に格納するか否かを別々に判断し、あるいは、トランスコーディングされたコンテンツ・オブジェクト・インスタンスを上書きし、コンピュータ・システムから除去することを許可することができる。最後に、コンピュータ・システムが、要求されたコンテンツ・オブジェクト・インスタンスまたは要求されたコンテンツ・オブジェクト・インスタンスを作るためにトランスコーディングできるコンテンツ・オブジェクトを有しない場合には、コンピュータ・システムは、図１４の矢印１４２０によって表されるように、分散コンテンツ配布システム内の別のコンピュータ・システムに、要求されたコンテンツ・オブジェクト・インスタンスを要求してもよい。したがって、コンピュータ・システムは、コンテンツ配布システム内の別のコンピュータ・システムからの要求に応答して、そのコンピュータ・システム内に格納されたコンテンツ・オブジェクト・インスタンスまたはそのコンピュータ・システム内に格納されたコンテンツ・オブジェクトから生成されたコンテンツ・オブジェクト・インスタンスを使用して、要求を直接に満足する場合があり、あるいは、一般にコンテンツ配布システム内のより高いレベルにある、コンテンツ配布システム内の別のコンピュータ・システムに要求を転送する場合がある。さらに、コンピュータ・システムは、同一のコンテンツ・オブジェクトのさらなる要求を満足するために、前もって準備するために、オン・ザ・フライで生成されるコンテンツ・オブジェクト・インスタンスを格納してもよい。
【００６６】
図１５に、図１３のステップ１３０４で呼び出される、図１４を参照して述べたルーチン「要求を処理する」の制御フロー図を示す。ステップ１５０２で、別のコンピュータ・システムから要求を受信し、要求されたコンテンツ・オブジェクトの識別、要求されたフォーマット、および指定された符号化パラータを要求から抽出する。ステップ１５０４で判定されるように、要求されたコンテンツ・オブジェクトと一致するか、要求されたコンテンツ・オブジェクトに十分に近く、ユーザ（消費者）のエレクトロニクス・デバイスと互換であるコンテンツ・オブジェクト・インスタンスが、コンピュータ・システムによって局所的に格納されている場合には、ステップ１５０６で、局所的に格納されたコンテンツ・オブジェクト・インスタンスを取り出し、ステップ１５０８で、要求するコンピュータ・システムに転送する。さらに、ステップ１５０８では、ローカル・コンピュータ・システム内に格納されたすべてのトランザクション・ヒストリ情報を更新して、取り出されたコンテンツ・オブジェクトを要求するコンピュータ・システムに転送することによって完了したトランザクションを反映する。
【００６７】
ヒストリ更新は、この流れ図および後で述べる流れ図では、コンテンツ・オブジェクト・インスタンスが要求を満足するためにコンピュータ・システムまたはデバイスに転送される時に、必ず実行される。そうでない場合に、ステップ１５１０で判定されるように、ローカル・コンピュータ・システムが、要求されたコンテンツ・オブジェクトをそれからトランスコーディングできるコンテンツ・オブジェクトを格納しており、ステップ１５１２で判定されるように、ローカル・コンピュータ・システムが、要求されたコンテンツ・オブジェクト・インスタンスを生成するために格納されたコンテンツ・オブジェクトをトランスコーディングすることが、別のコンピュータ・システムから要求されたコンテンツ・オブジェクト・インスタンスを取り出すことより高速であると判定する場合に、ルーチン「要求を処理する」は、ステップ１５１４で、格納されたコンテンツ・オブジェクトの要求されたコンテンツ・オブジェクト・インスタンスへのトランスコーディングを指示する。トランスコーディングしたならば、ルーチン「要求を処理する」は、ステップ１５１６で、トランスコーディングされたコンテンツ・オブジェクト・インスタンスを、後続要求を満足するために格納しなければならないかどうかを判定する。そうである場合には、ステップ１５１８で、トランスコーディングされたコンテンツ・オブジェクト・インスタンスを、ローカル・コンピュータ・システム内に格納する。トランスコーディングされたコンテンツ・オブジェクトを格納するかどうかに関する判断は、そのコンテンツ・オブジェクト・インスタンスが要求された頻度の判定に、または、同様に、そのコンテンツ・オブジェクト・インスタンスがローカル・コンピュータ・システムによって別のコンピュータ・システムに転送された、最近の期間中の回数の判定に依存するものとすることができる。
【００６８】
頻度がしきい頻度を超える場合には、ローカル・コンピュータ・システムは、後続要求を満足するためにオン・ザ・フライでコンテンツ・オブジェクト・インスタンスを生成し続けるよりも、トランスコーディングされたコンテンツ・オブジェクト・インスタンスを格納する方が効率的であると判定することができる。最後に、ステップ１５２０で、トランスコーディングされたコンテンツ・オブジェクト・インスタンスを、要求するコンピューティング・システムに転送し、トランザクション・ヒストリを、それに従って更新する。要求されたコンテンツ・オブジェクトまたはトランスコーディング可能なコンテンツ・オブジェクトが、コンピュータ・システム内に局所的に格納されていない場合には、コンピュータ・システムは、ステップ１５２２で、ローカル・コンピュータ・システムによってトランスコーディング可能でない可能性があるが、要求するコンピュータ・システムによってトランスコーディング可能であるはずの局所的に格納されたコンテンツ・オブジェクトがあるかどうかを判定する。そのような局所的に格納されたコンテンツ・オブジェクトを見つけることができ、ステップ１５２４で、コンテンツ・オブジェクトを要求するコンピュータ・システムによってトランスコーディングする方が高速であると判定される場合には、局所的に格納されたオブジェクトを取り出し、要求するコンピュータ・システムに転送し、トランザクション・ヒストリを更新する。そうでない場合には、ステップ１５２６で、コンテンツ・オブジェクトの要求を、分散コンテンツ配布システム内の上位ノードに転送する。
【００６９】
代替実施態様では、追加の考慮および戦略を使用して、コンテンツ・オブジェクトの要求を満足することができる。たとえば、分散コンテンツ配布システムのより大域的なビューが使用可能な場合に、これをローカル・コンピュータ・システムによって使用して、分散コンテンツ配布システム全体にわたって格納された要求されたコンテンツ・オブジェクトのさまざまなインスタンスを考慮し、使用可能なプロセッサ帯域幅、通信リンク帯域幅、予測される送達の速度、および他のそのような制約を含むさまざまな制約に関して、要求するコンピュータ・システムに要求されたコンテンツ・オブジェクトを送達するための最適戦略を判定することができる。しかし、適度なタイム・インターバルにわたる、適度に安定した要求のパターンおよび要求のレートがあれば、局所的に使用可能な情報を使用して行われる局所判断に純粋に基づくコンテンツ配布システムの自己適合が、それでも、最適に近いコンテンツ送達をもたらす場合がある。
【００７０】
図１６に、分散コンテンツ配布システム内のローカル・コンピュータ・システムによるコンテンツ・オブジェクトの受信時にそのローカル・コンピュータ・システムによって行うことができる動作を示す。図１６は、図１４に使用されたものと同一の表示を使用する。図１４と同様に、ローカル・コンピュータ・システム１６０２は、データ・ストレージ・コンポーネントまたはデータ・ストレージ・ファシリティ１６０４を含むか、これに関連する。コンテンツ・オブジェクトが、矢印１６０６によって示されるように受信される時に、そのコンテンツ・オブジェクトを、矢印１６０８によって表されるように、データ・ストレージ・コンポーネントまたはデータ・ストレージ・ファシリティに格納することができ、矢印１６１０によって表されるように、以前にそのコンテンツ・オブジェクトを要求したコンピュータ・システムに転送することができる。あるいは、図１６の矢印１６１４によって表されるように、さまざまな符号化パラメータ１６１２に従う同一のまたは異なるフォーマットを用いて符号化された１つまたは複数の異なるコンテンツ・オブジェクト・インスタンスにトランスコーディングすることができる。１つまたは複数のトランスコーディングされたコンテンツ・オブジェクト・インスタンスを、図１６の矢印１６１６によって表されるように、データ・ストレージ・コンポーネントまたはデータ・ストレージ・ファシリティに格納することができ、あるいは、矢印１６１８によって表されるように、要求するコンピュータ・システムに転送することができる。
【００７１】
図１７に、図１３のステップ１３０６で呼び出される、図１６を参照して述べたルーチン「受信されたコンテンツを処理する」の実施形態を示す制御フロー図を示す。ステップ１７０２で、コンテンツをローカル・コンピュータ・システムによって受信する。ステップ１７０４で判定されるように、コンテンツ・オブジェクトが、コンテンツ・オブジェクトに関する以前にサブミットされた要求に対する応答を表す場合には、ステップ１７０６で、ルーチン「受信されたコンテンツを処理する」は、受信されたコンテンツ・オブジェクトをトランスコーディングする必要があるかどうかを判定する。トランスコーディングが必要である場合には、ステップ１７０８で、コンテンツ・オブジェクトを１つまたは複数の代替のコンテンツ・オブジェクト・インスタンスにトランスコーディングする。次に、ステップ１７１０で、フォーマットおよび符号化に関して要求されたコンテンツ・オブジェクト・インスタンスと一致するかこれに近いコンテンツ・オブジェクト・インスタンスを、要求元に転送し、トランザクション・ヒストリを更新する。その代わりに、ステップ１７０４で判定されるように、受信されたコンテンツ・オブジェクトが、コンテンツ・オブジェクトに関して以前にサブミットされた要求に応答して供給されるのではない場合に、ローカル・コンピュータ・システムは、ステップ１７１２で、受信されたコンテンツを追加のコンテンツ・オブジェクト・インスタンスにトランスコーディングすることができ、ステップ１７１４で、受信されたコンテンツ・オブジェクトまたは受信されたコンテンツ・オブジェクトからトランスコーディングされた任意の追加のコンテンツ・オブジェクト・インスタンスを追加のコンピュータ・システムに転送することができ、かつ／あるいは、ステップ１７１６で、受信されたコンテンツおよび／または受信されたコンテンツ・オブジェクトからトランスコーディングされた１つまたは複数の追加のコンテンツ・オブジェクト・インスタンスをデータ・ストレージ・コンポーネントまたはデータ・ストレージ・ファシリティに格納することができる。
【００７２】
ステップ１７１１で、受信されたコンテンツ・オブジェクトをトランスコーディングすべきか否かを判断する際に、ルーチン「受信されたコンテンツを処理する」は、同一のまたは異なるフォーマットおよび異なる符号化パラメータを使用して符号化されたさまざまな代替コンテンツ・オブジェクト・インスタンスの必要を予測するために、トランザクションのヒストリと、異なるコンテンツ・サーバによって行われた要求のタイプおよびコンテンツ・サーバに接続されたユーザ（消費者）のエレクトロニクス・デバイスのタイプに関する大域的または半大域的情報と、を調べることができる。ステップ１７１３で、コンテンツ・オブジェクトまたはコンテンツ・オブジェクトからトランスコーディングされた代替コンテンツ・オブジェクト・インスタンスをコンテンツ配布システム内の他のコンピュータ・システムに転送すべきか否かを判断する際に、下位コンピュータ・システム内で追加のデータ記憶容量を使用することを犠牲にして期待される要求をより効率的に満足するためにコンテンツ配布システム階層内でさらに下にコンテンツ・オブジェクトおよび／またはコンテンツ・オブジェクトからトランスコーディングされた代替コンテンツ・オブジェクト・インスタンスを配置することが効率的であるか否かを予測するために、ローカル・コンピュータ・システムは、トランザクションのヒストリおよび大域的または半大域的情報を再検討することができる。ステップ１７１５で、受信されたコンテンツ・オブジェクトまたはコンテンツ・オブジェクトからトランスコーディングされた１つまたは複数の代替コンテンツ・オブジェクト・インスタンスを格納すべきか否かを判断する際に、ルーチン「受信されたコンテンツを処理する」は、やはり、受信されたコンテンツ・オブジェクトまたは代替コンテンツ・オブジェクト・インスタンスの要求がローカル・ストレージを正当化するのに十分に頻繁であるか否かを判定するために、以前のトランザクションのヒストリおよび他の大域的または半大域的情報を調べることができる。
【００７３】
図１８に、分散コンテンツ配布システム内のローカル・コンピュータ・システムによって周期的に実行できるさまざまな動作を示す。図１８は、図１６および１４で使用されたものと同一の表示規約を使用する。ローカル・コンピュータ・システム１８０２は、タイマ満了１８０４または他の周期的なイベントもしくは通知の際に、周期的に、図１８の矢印１８０８によって表されるように、コンテンツ・オブジェクトを削除すべきかどうかを判断するためにローカル・コンピュータ・システムに関連するデータ・ストレージ・コンポーネントまたはデータ・ストレージ・ファシリティ１８０６内の一部またはすべての格納されたコンテンツ・オブジェクトを調べ、図１８の２つに分かれた矢印１８１０によって表されるように、コンテンツ配布システム内の１つまたは複数のコンピュータ・システムにコンテンツ・オブジェクトを転送し、あるいは、代替コンテンツ・オブジェクト・インスタンスを作成し、データ・ストレージ・コンポーネントまたはデータ・ストレージ・ファシリティ内にそのトランスコーディングされたインスタンス１８２０を格納するために、コンテンツ・オブジェクトをトランスコーディングすることができる。
【００７４】
図１９に、図１３のステップ１３１０で呼び出される、図１８を参照して述べたルーチン「タイマを処理する」の実施形態を示す制御フロー図を示す。タイマ満了またはメンテナンス動作を行う必要の別のタイプの通知の際に、ルーチン「タイマを処理する」が呼び出される。ステップ１９０２〜１９０９のループで、ルーチン「タイマを処理する」は、コンテンツ配布システム内のローカル・コンピュータ・システムのデータ・ストレージ・コンポーネントまたはデータ・ストレージ・ファシリティ内に格納されたコンテンツ・オブジェクトのすべてまたはサブセットを考慮する。コンテンツ・オブジェクトが、ステップ１９０３で判定されるように、あるしきい時間より長い時間の間にアクセスされず、ステップ１９０４で判定されるように、最高レベル・ノード内のコンテンツ・オブジェクトの唯一の格納されたバージョンではない場合に、ステップ１９０５で、格納されたコンテンツ・オブジェクトを削除する。そうではなく、ステップ１９０６で判定されるように、格納されたコンテンツ・オブジェクトが、しきい回数を超えて特定の符号化パラメータに従って特定のフォーマットにトランスコーディングされている場合には、ステップ１９０７で、コンテンツ・オブジェクトをその特定のコンテンツ・オブジェクト・インスタンスにトランスコーディングし、後続要求を満足するために使用可能にするために格納することができる。ステップ１９０８で判定されるように、コンテンツ・オブジェクトが、特定の要求するコンピュータ・システムからしきい回数を超えて要求された場合に、ステップ１９０９で、コンピュータ・システムは、要求元にコンテンツ・オブジェクトを送信することを選び、要求元に、そのコンピュータ・システムで要求をより効率的に満足するためにそのコンテンツ・オブジェクトを局所的に格納するように指示することができる。
【００７５】
図１２〜図１９を参照して述べたコンテンツ・オブジェクト処理方法およびコンテンツ・オブジェクト送達方法の本質的に無制限の個数の代替実施形態が可能である。代替実施形態は、これらの方法を使用する自己適合式コンテンツ配布システムを、要求の観察されたパターン、要求負荷、およびコンテンツ配布システムによって維持され、配布される異なるコンテンツ・オブジェクト・ライブラリの下で最適または最適に近いコンテンツ送達に向けて駆動するのを容易にするために、追加の戦略、考慮事項、および判断を含むことができる。図３Ａ〜図３Ｈを参照して述べた関係データベース・テーブルは、コンテンツ・オブジェクト・インスタンスの要求の受信時、コンテンツ・オブジェクト・インスタンスの受信時、またはメンテナンス動作を行う必要の通知時に、上で説明したアクションのそれぞれを実行すべきか否かをローカル・コンピュータ・システムで合理的に判断するのに十分な情報を格納することができる。たとえば、特定のコンテンツ・オブジェクト・インスタンスへのアクセスの頻度または回数を使用して、コンテンツ・オブジェクト・インスタンスを局所的に生成し、格納すべきか否か、またはコンテンツ・オブジェクト・インスタンスの局所的に格納されたコピーを削除すべきか否かを判定することができる。そのような頻度は、図３Ｇに示されたテーブルから簡単に入手される。
【００７６】
図２０に、コンテンツ配布システム内のバック・エンド・サーバが、受信されたコンテンツ・オブジェクトを代替コンテンツ・オブジェクト・インスタンスにトランスコーディングし、代替コンテンツ・オブジェクト・インスタンスを格納すべきか否かを判定することを可能にするために情報を収集するのに使用できる追加の技法を示す。図２０は、図４で使用されたものと同一の表示を使用し、バック・エンド・サーバ２００２、中間サーバ２００４、およびコンテンツ・サーバ２００６を含む分散コンテンツ配布システムを通る階層構造を示す。物理的フォームまたは電子フォームで直接にまたはコンテンツ配布システムを介して電子フォームでのいずれかで、小売業者が小売り位置でコンテンツ・サーバに接続されると期待するユーザ（消費者）のエレクトロニクス・デバイスのタイプに関する詳細な情報を小売業者に請い求めるために、コンテンツ・サーバを管理する小売業者に詳細なデバイス質問表２００８を供給することができる。そのようなデバイス質問表を、バック・エンド・サーバで処理し、質問表から抽出された情報を、バック・エンド・サーバ内に格納して、受信されたコンテンツ・オブジェクトの異なる代替コンテンツ・オブジェクト・インスタンスのうちのどれを、コンテンツ・オブジェクトの将来の要求に最適にサービスするために生成し、格納しなければならないのかを判定するのを容易にすることができる。
【００７７】
例えば、バック・エンド・サーバが、デバイス質問表で供給されるデータの分析を介して、そのバック・エンド・サーバによってサービスされるコンテンツ・サーバの大きい分数（fraction）が、類似する構成および機能を有するユーザ（消費者）のエレクトロニクス・デバイスのある特定のサブセットのコンテンツ配布システムへの接続を期待すると判定する場合に、バック・エンド・サーバは、コンテンツ・オブジェクト・サーバの大きい分数（fraction）から期待されるコンテンツ・オブジェクトの要求の大多数を満足する代替コンテンツ・オブジェクト・インスタンスのセットを作ると期待されるフォーマットおよび符号化パラメータを使用してコーディングされた代替コンテンツ・オブジェクト・インスタンスの適切なセットに受信されたコンテンツ・オブジェクトをトランスコーディングすることを選ぶことができる。したがって、デバイス質問表から入手される情報を使用して、以前に満足された要求およびトランザクションに関する格納されたヒストリカル情報と、要求の将来のパターンを予測するために累積することのできる任意の他の格納された情報とを補足することができる。この情報を使用して、特定のコンテンツ・オブジェクト・インスタンスをそのコンテンツ・オブジェクト・インスタンスを頻繁に要求すると期待されるコンテンツ・サーバからより直接に使用可能にするために、その特定のコンテンツ・オブジェクト・インスタンスをより低いレベルの中間サーバまたはコンテンツ・サーバに転送すべきか否かを判断することもできる。
【００７８】
図２１に、図８〜２０を参照して上で説明したタイプ識別方法、コンテンツ処理方法、およびコンテンツ送達方法を使用することから生じる効率的で自己適合式のコンテンツ配布システムを概念レベルで示す。図２１は、前の図で使用されたものと同一の表示規約を使用し、長方形は、バック・エンド・サーバ２１０２〜２１０３、中間サーバ２１０４〜２１０６、およびコンテンツ・サーバ２１０８〜２１１３を表す。上で説明した方法を使用した結果として、図２１に示されたコンテンツ配布システムは、コンテンツ・オブジェクト・インスタンス・ストレージに関して、自己適合式であり、柔軟に構成される。このコンテンツ配布システム内の各ノードに格納される特定のコンテンツ・オブジェクト・インスタンスは、ノードごとに変更することができ、コンテンツ・オブジェクトに関するユーザからの需要に応答して、経時的に動的に変化することができる。コンテンツ・サーバ２１０８および２１１３など、ある種の場合に、コンテンツ・サーバが、特定のコンテンツ・オブジェクトから生成されたかなりの個数のコンテンツ・オブジェクト・インスタンスを格納してもよい。
【００７９】
コンテンツ・サーバ２１０９、２１１１、および２１１２など、他の場合に、コンテンツ・サーバが、特定のコンテンツ・オブジェクトのインスタンスを全く格納せず、その代わりに、格納、生成、および送達についてより高いレベルのノードに頼ってもよい。バック・エンド・サーバが、バック・エンド・サーバ２１０３など、特定のコンテンツ・オブジェクトの大量のコンテンツ・オブジェクト・インスタンスを格納することを選択してもよく、バック・エンド・サーバ２１０２など、別のバック・エンド・サーバが、少量のコンテンツ・オブジェクト・インスタンスを格納することを選択し、コンテンツ・オブジェクトに関連するコンテンツ・オブジェクト・インスタンスの要求を満足するために中間サーバ２１０４および２１０５内のオン・ザ・フライ・トランスコーディングおよび／またはストレージに頼ってもよい。コンテンツ・サーバに接続されるユーザ（消費者）のエレクトロニクス・デバイスのタイプを精密に識別できる時には、ユーザ（消費者）のエレクトロニクス・デバイスからの要求を満足するコンテンツ・オブジェクトを、そのユーザ（消費者）のエレクトロニクス・デバイスが接続されるコンテンツ・サーバへの効率的な送達のためにコンテンツ配布システム内で効率的に配置し、または作成することができる。
【００８０】
本発明を、特定の実施形態に関して説明したが、本発明がこれらの実施形態に限定されることは、意図されていない。本発明の趣旨に含まれる変更は、当業者に明白であろう。たとえば、上で述べたように、図８〜２０を参照して上で述べたユーザ（消費者）のエレクトロニクス・デバイス・タイプ判定方法、コンテンツ処理方法、およびコンテンツ送達方法の任意の個数の異なる実施態様を、異なるプログラミング言語と、モジュラ編成、制御構造、データ構造、および他のプログラミング・パラメータなどの変化する異なるプログラミング・パラメータとを使用することによって得ることができる。より複雑な追加の決定木および判断戦略をコンテンツ配布システムに組み込んで、最適コンテンツ配布および最適コンテンツ送達へのより高速でより近い手法を容易にすることができる。局所情報に排他的に頼ること、大域情報に頼ること、コンテンツ・オブジェクト・インスタンスをトランスコーディングし、トランスコーディングされたコンテンツ・オブジェクト・インスタンスを格納すること、ならびに他の動作およびアクティビティの間の多数の異なるトレードオフを、さまざまな異なる需要条件および負荷条件の下で最適に向けてコンテンツ配布システムの挙動を駆動するために考慮することができる。
【００８１】
前述の説明は、説明のために、本発明の完全な理解を提供するために特定の命名法を使用した。しかし、特定の詳細が、本発明を実践するために必要ではないことが、当業者には明白であろう。本発明の特定の実施形態の前述の説明は、例示および説明のために提示されたものである。これらは、網羅的であること、または本発明を開示された正確な形に限定することを意図されたものではない。多数の修正形態および変形形態が、上の教示に鑑みて可能である。これらの実施形態は、本発明の原理およびその実用的応用を最もよく説明し、これによって、当業者が本発明およびさまざまな実施形態を企図される特定の使用に適するさまざまな変更を加えて最もよく利用することを可能にするために図示され、説明される。本発明の範囲は、添付の特許請求の範囲およびその同等物によって定義されることが意図されている。
【図１】
2010507279.tif 000003
【図２】
2010507279.tif 000004
【図３Ａ】
2010507279.tif 000005
【図３Ｂ】
2010507279.tif 000006
【図３Ｃ】
2010507279.tif 000007
【図３Ｄ】
2010507279.tif 000008
【図３Ｅ】
2010507279.tif 000009
【図３Ｆ】
2010507279.tif 000010
【図３Ｇ】
2010507279.tif 000011
【図３Ｈ】
2010507279.tif 000012
【図４】
2010507279.tif 000013
【図５】
2010507279.tif 000014
【図６】
2010507279.tif 000015
【図７】
2010507279.tif 000016
【図８】
2010507279.tif 000017
【図９】
2010507279.tif 000018
【図１０】
2010507279.tif 000019
【図１１】
2010507279.tif 000020
【図１２】
2010507279.tif 000021
【図１３】
2010507279.tif 000022
【図１４】
2010507279.tif 000023
【図１５】
2010507279.tif 000024
【図１６】
2010507279.tif 000025
【図１７】
2010507279.tif 000026
【図１８】
2010507279.tif 000027
【図１９】
2010507279.tif 000028
【図２０】
2010507279.tif 000029
【図２１】
2010507279.tif 000030
【国際調査報告】
2010507279.tif 000031
2010507279.tif 000032