(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5667210
(24)【登録日】2014年12月19日
(45)【発行日】2015年2月12日
(54)【発明の名称】適応型ファイル処理を有する分散されたビデオトランスコードシステム
(51)【国際特許分類】
G06F 12/00 20060101AFI20150122BHJP
【FI】
G06F12/00 511C
【請求項の数】20
【全頁数】11
(21)【出願番号】特願2012-545923(P2012-545923)
(86)(22)【出願日】2010年9月22日
(65)【公表番号】特表2013-515320(P2013-515320A)
(43)【公表日】2013年5月2日
(86)【国際出願番号】US2010002608
(87)【国際公開番号】WO2011078875
(87)【国際公開日】20110630
【審査請求日】2013年7月17日
(31)【優先権主張番号】61/289,201
(32)【優先日】2009年12月22日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】511006720
【氏名又は名称】ジーブイビービー ホールディングス エス.エイ.アール.エル.
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】イングリッシュ デイヴィッド アレクサンダー
(72)【発明者】
【氏名】マック カリスター ベンジャミン ジェイ
(72)【発明者】
【氏名】ビショップ マーク ロバート
【審査官】
池田 聡史
(56)【参考文献】
【文献】
米国特許出願公開第2003/0158913(US,A1)
【文献】
特開2007−188259(JP,A)
【文献】
国際公開第01/060075(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
コンピュータを、複数のトランスコーディングノードとノードアドミニストレータとを備えるトランスコーディングシステムにおける、ノードアドミニストレータとして動作させるためのトランスコーディング方法であって、
デジタルファイルをトランスコードするために、複数のトランスコーディングノードのうちの1つを、ソースデジタルファイルの特徴、前記デジタルファイルについてのトランスコーディングプロファイル、および前記トランスコーディングノードのトランスコーディング履歴の比較に基づいて、選択するステップを含み、
前記トランスコーディングノードのトランスコーディング履歴は、前記デジタルファイルと類似するトランスコーディングプロファイルを有するデジタルファイルをトランスコードするために前記トランスコーディングノードのためのトランスコーディングパラメータを決定するために用いられる、
方法。
【請求項2】
前記トランスコーディングノードは、最速の性能を得るために、前記トランスコーディングパラメータにより前記デジタルファイルについてのトランスコーディングプロファイルと個々のトランスコーディングノードの前記トランスコーディング履歴との比較に基づいて選択される、請求項1に記載の方法。
【請求項3】
前記トランスコーディングノードは、最も少ないエラーを得るように、前記トランスコーディングパラメータにより前記デジタルファイルについてのトランスコーディングプロファイルと個々のトランスコーディングノードの前記トランスコーディング履歴との比較に基づいて選択される、請求項1に記載の方法。
【請求項4】
前記トランスコーディングプロファイルは、トランスコーディングに必要とされる演算労力を示す情報を含む、請求項1に記載の方法。
【請求項5】
トランスコーディングファイルプロファイルは、ファイルサイズを示す情報を含む、請求項4に記載の方法。
【請求項6】
トランスコーディングファイルプロファイルは、入力ファイルフォーマット、出力ファイルフォーマット、ファイル持続期間、圧縮タイプ、およびビットレートのうちの少なくとも1つを含む、請求項4に記載の方法。
【請求項7】
コンピュータを、複数のトランスコーディングノードとノードアドミニストレータとを備えるトランスコーディングシステムにおける、ノードアドミニストレータとして動作させるためのデジタルファイルをトランスコードする方法であって、
各デジタルファイルに優先度を割り当てることと、
複数のトランスコーディングノードの中で異なる優先度を割り当てることと、
ファイル優先度を超えない優先度を有する前記トランスコーディングノードの中から、前記デジタルファイルについてのトランスコーディングプロファイルと前記トランスコーディングノードのトランスコーディング履歴との比較に基づいて、ファイルトランスコーディングを実行するためのトランスコーディングノードを選択することと、
前記トランスコーディングノードのトランスコーディング履歴を、前記デジタルファイルと類似するトランスコーディングプロファイルを有するデジタルファイルをトランスコードするために前記トランスコーディングノードのためのトランスコーディングパラメータを決定するために用いること
を含む方法。
【請求項8】
前記トランスコーディングノードは、最速の性能を得るために、前記トランスコーディングパラメータにより前記デジタルファイルについてのトランスコーディングプロファイルと前記トランスコーディングノードの前記トランスコーディング履歴との比較に基づいて選択される、請求項7に記載の方法。
【請求項9】
前記トランスコーディングノードは、最も少ないエラーを得るように、前記トランスコーディングパラメータにより前記デジタルファイルについてのトランスコーディングプロファイルと前記トランスコーディングノードの前記トランスコーディング履歴との比較に基づいて選択される、請求項7に記載の方法。
【請求項10】
前記トランスコーディングプロファイルは、トランスコーディングに必要とされる演算労力を示す情報を含む、請求項7に記載の方法。
【請求項11】
トランスコーディングファイルプロファイルは、ファイルサイズを示す情報を含む、請求項10に記載の方法。
【請求項12】
前記トランスコーディングファイルプロファイルは、入力ファイルフォーマット、出力ファイルフォーマット、ファイル持続期間、圧縮タイプ、およびビットレートのうちの少なくとも1つを含む、請求項11に記載の方法。
【請求項13】
コンピュータを、複数のトランスコーディングノードとノードアドミニストレータとを備えるトランスコーディングシステムにおける、ノードアドミニストレータとして動作させるためのデジタルファイルをトランスコードする方法であって、
各デジタルファイルに優先度を割り当てることと、
複数のトランスコーディングノードの中から、前記デジタルファイルについてのトランスコーディングプロファイル、前記トランスコーディングノードのトランスコーディング履歴、ノードの現在の作業負荷の比較に基づいて、ファイルトランスコーディングを実行するためのトランスコーディングノードを選択することと、
前記トランスコーディングノードのトランスコーディング履歴を、前記デジタルファイルと類似するトランスコーディングプロファイルを有するデジタルファイルをトランスコードするために前記トランスコーディングノードのためのトランスコーディングパラメータを決定するために用いること
を含む方法。
【請求項14】
前記トランスコーディングノードは、複数のトランスコーディングノードの中で優先度が割り当てられ、ファイル優先度を超えない優先度を有する前記トランスコーディングノードの中から、前記デジタルファイルについてのトランスコーディングプロファイルと前記トランスコーディングノードのトランスコーディング履歴との比較に基づいて、ファイルトランスコーディングを実行するためのトランスコーディングノードを選択する、請求項13に記載の方法。
【請求項15】
複数のトランスコーディングノードと、
前記複数のトランスコーディングノードの中から、デジタルファイルをトランスコードするためのトランスコーディングノードを、前記デジタルファイルについてのトランスコーディングプロファイルと前記トランスコーディングノードのトランスコーディング履歴との比較に基づいて選択するための、ノードアドミニストレータと、を備え、
前記トランスコーディングノードのトランスコーディング履歴を、デジタルファイルと類似するトランスコーディングプロファイルを有するデジタルファイルをトランスコードするために前記トランスコーディングノードのためのトランスコーディングパラメータを決定するために用いる、トランスコーディングシステム。
【請求項16】
前記ノードアドミニストレータは、最速の性能を得るために、前記トランスコーディングパラメータにより前記デジタルファイルについてのトランスコーディングプロファイルと個々のトランスコーディングノードの前記トランスコーディング履歴との比較に基づいて、前記トランスコーディングノードを選択する、請求項15に記載のトランスコーディングシステム。
【請求項17】
前記ノードアドミニストレータは、最も少ないエラーを得るように、前記トランスコーディングパラメータにより前記デジタルファイルについてのトランスコーディングプロファイルとトランスコーディングノードの前記トランスコーディング履歴との比較に基づいて、前記トランスコーディングノードを選択する、請求項15に記載のトランスコーディングシステム。
【請求項18】
前記トランスコーディングプロファイルは、トランスコーディングに必要とされる演算労力を示す情報を含む、請求項15に記載のトランスコーディングシステム。
【請求項19】
トランスコーディングファイルプロファイルは、ファイルサイズを示す情報を含む、請求項18に記載のトランスコーディングシステム。
【請求項20】
前記トランスコーディングファイルプロファイルは、入力ファイルフォーマット、出力ファイルフォーマット、ファイル持続期間、圧縮タイプ、およびビットレートのうちの少なくとも1つを含む、請求項19に記載のトランスコーディングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本出願は、合衆国法典第35編第119条(e)の下で、2009年12月22日に出願された米国特許仮出願第61/289,201号に対する優先権を主張し、この教示は、本明細書に組み込まれる。
【背景技術】
【0002】
本発明は、デジタル情報を含むファイルのトランスコーディングに関する。
【0003】
デジタル技術が急増するにつれて、異なるデジタルファイルフォーマットの数も急増している。多くのデジタルデバイスは、1つのフォーマットでデジタルファイルを受け入れる能力を有するのみである。故に、異なるフォーマットを利用するデバイスに順応するために、デジタルファイルを分散するシステムは、1つのフォーマットのデジタルファイルを別のフォーマットに変換するための機構を含む、1つ以上のトランスコーダを用いる。
【0004】
トランスコーディングデジタルファイルへの標準的手法は、「ラウンドロビン」手法を利用し、それによってファイルは、トランスコーディングネットワーク内で交互のノードへの転送を受ける。各ノードは、典型的に、デジタルファイル、例えば、デジタルビデオファイルを、1つのフォーマットから別のフォーマットへとトランスコードする能力を有する。ラウンドロビン手法は、ノードの中で実際の負荷分散を達成する能力の欠如のため、非効率的であることが判明している。完全に満たないファイルトランスコードを実行するとき、レンダーファームは、ロードをあらゆるノードにわたって適切に平衡させるために、個々のフレーム、またはデータのチャンクを処理することができる。完全なファイルのトランスコーディングに関しては、個々のノードへの分散のためにデータのチャンクを分離することは困難であることが判明している。各ノードは、ファイルを完全に処理しなければならない。従来の「レンダーファーム」手法は、この形態の負荷分散に適合しない。
【発明の概要】
【0005】
簡潔に述べると、本原則の好ましい実施形態によれば、デジタルファイルをトランスコードするための改善された技術は、増加した効率性を提供する。本原則のトランスコーディング技術は、デジタルファイルについてのトランスコーディングプロファイル、トランスコード対象のソースデジタルファイルの特徴、トランスコード対象のデジタルファイルの優先度、およびトランスコーディングノードのトランスコーディング履歴の比較に基づいて、デジタルファイルをトランスコードするための複数のトランスコーディングノードのうちの1つを選択する。
【0006】
例として、デジタルビデオファイルのトランスコーディングプロファイルは、サイズ、入力メディアフォーマット、出力メディアフォーマット、圧縮レベル、および持続期間に関する情報を含み得る。比較は、個々のトランスコーディングについてのトランスコーディング履歴とトランスコーディングプロファイルとの間で生じて、類似したプロファイルを有するファイルを処理する履歴を有するノードの中として、どのノードがよりよい性能、例えば、より高速の処理を、類似したトランスコーディングプロファイルを有するファイルに対して提示したかを決定する。
【図面の簡単な説明】
【0007】
【
図1】従来の「ラウンドロビン」手法を用いる先行技術のトランスコーディングシステムを示す。
【
図2】トランスコーディング効率性を改善するためにインテリジェントなトランスコーディング決定を下す、本原則の第1の実施形態に係るトランスコーディングシステムを示す。
【
図3】追加的なトランスコーディングノードを最適にプロファイリングすることによって、トランスコーディング効率性を改善するためにインテリジェントなトランスコーディング決定を下す、本原則の第2の実施形態に係るトランスコーディングシステムを示す。
【発明を実施するための形態】
【0008】
図1は、デジタルビデオを含むが、これに限定されないデジタルファイルを、1つのフォーマットから別のフォーマットへとトランスコードする、先行技術のトランスコーディングシステム10のブロック概略図を示す。例えば、
図1のトランスコーディングシステム10は、Microsoft Windows Media(登録商標)でフォーマットされたデジタルビデオファイルを、H.264フォーマットに変換することができる。他のフォーマット間のファイルのトランスコーディングが行われてもよい。
【0009】
実際には、
図1の先行技術のトランスコーディングシステムは、ノード12および14によって表される、複数のトランスコーディングノードを含み、各々が典型的に、コマンドを受信するための機械(例えば、ソフトウェアによりプログラムされたデジタルコンピュータ)およびデジタルファイルを備える。かかるコマンドに応答して、トランスコーディングノード12および14は、受信したデジタルファイルを、1つのフォーマットから別のフォーマットにトランスコードする。デジタルファイルをトランスコードするための機構は、当該技術分野に存在し、トランスコーディングノード12および14の詳細は、簡潔にするために省略されている。
【0010】
ノードアドミニストレータ16は、着信デジタルファイルを、トランスコードのためのトランスコーディングノード12および14に分散するように機能する。
図1の例証される例に示されるように、ノードアドミニストレータ16は、トランスコーディングノード12および14に分散するために、ファイル1、ファイル2、およびファイル3として指定される、3つのファイルを受信している。考察の目的のために、ファイル1は、ファイル1およびファイル2よりもはるかに大きいサイズを有する。
【0011】
先行技術のトランスコーディングシステム10のノードアドミニストレータ16は、典型的に、ファイル1、ファイル2、およびファイル3を「ラウンドロビン」ベースでトランスコーディングノード12および14に分散するための、プロセッサ(図示されず)およびおそらく他のハードウェアを含む。換言すれば、ノードアドミニストレータ16は、第1のファイル(すなわち、ファイル1)をトランスコーディングノード12に、次いで第2のファイル(すなわち、ファイル2)をトランスコーディングノード14に、次いで第3のファイル(すなわち、ファイル3)をトランスコーディングノード12に分散する。故に、2ノードシステムの場合は、
図1に示されるように、ノードアドミニストレータ16は、ファイルをトランスコーディングノード12および14に交互に送信する。より多くのノードを有するトランスコーディングシステムについては、ノードアドミニストレータ16は、ファイルをトランスコーディングノードの各々に連続して送信し、次いで全てのファイルが分散されるまで処理を反復する。
【0012】
トランスコーディングノードへのトランスコーディングファイル分散に対するラウンドロビン手法は概して、高い効率性を達成しない。次の例は、ラウンドロビン手法の欠陥を例証する。ファイル1、ファイル2、およびファイル3は各々、次の特徴を有するビデオファイルを含むことを想定する。
ファイル1−H.264ファイルに変換された10分間の長さのウィンドウズ
(登録商標)メディアファイル。
要求される処理能力:高
ファイル2−より圧縮されたウィンドウズ(登録商標)メディアファイルに変換
された2分間の長さのウィンドウズ(登録商標)メディアファイル
要求される処理能力:低
ファイル3−フラッシュメディアファイルに変換された2分間の長さの
ウィンドウズ(登録商標)メディアファイル
要求される処理能力:中
【0013】
従来のラウンドロビントランスコーディング手法を用いて、
図1のノードアドミニストレータ16は、ファイル1、ファイル2、およびファイル3を、トランスコーディングノード12および14に、ノードアドミニストレータがファイルを受信した時間に基づいて交互の順番で提出する。故に、ノードトランスコーディング12は、ファイル1およびファイル3の両方を受信する一方で、トランスコーディングノード14は、ファイル2のみを受信する。加えて、従来の方法は、入力メディア特徴(例えば、長さ、タイプ、解像度、ビットレート)または出力メディア特徴(例えば、タイプ、解像度、ビットレート)のいずれも考慮しない。
【0014】
本原則によれば、改善されたトランスコーディング方法は、ファイルのトランスコーディングプロファイルに従って、ファイルをトランスコーディングノードの中でインテリジェントに分散することによって、より高い効率性を達成し、ファイルを処理するノードの経験は、類似したプロファイルを有する。ファイルのトランスコーディングプロファイルは、トランスコーディングに要求される作業(例えば、計算上の労力)に関連する情報を含む。例えば、ファイルの特徴(この例で「大」、「中」、または「小」と称されるが、実際にはより精細(granular)であり得る)は、トランスコーディングタスクを完了するために要求される、ある程度の処理能力の量および時間を構成する。追加的に、ファイルをトランスコードする複雑性はまた、入力ファイルフォーマット、出力ファイルフォーマット、ファイル持続期間、圧縮タイプ、およびビットレートを含むが、これらに限定されない他の要因にも依存し得る。
【0015】
図2は、改善された効率性を達成するために、ファイルをトランスコーディングノードにインテリジェントに分散するための、本原則に係るトランスコーディングシステム100のブロック概略図を示す。
図2のトランスコーディングシステム100は、ノード120および140によって例証的に表され、各々が典型的に、
図1のトランスコーディングノード12および14と同様に構成される、複数のトランスコーディングノードを含む。これ以降でよりよく理解されるが、トランスコーディングノード120および140の正確な性質は、本原則のインテリジェントなトランスコーディング技術において役割を果たさない。重要なのは、各ノードによって、処理の「履歴」、例えば、トランスコーディングを実行するノードの利用可能性、ならびに既知のプロファイルを有するファイルをトランスコードするためにトランスコーディングノードによって費やされる時間を記録および分析するノードアドミニストレータ160の能力である。トランスコーディングノードは、1つ以上のジョブを同時に処理する能力を有してもよい。追加的なジョブは、そのノードによる処理対象の作業キュー内に配置され得る。
【0016】
図2のトランスコーディングシステムは、ファイルをトランスコーディングノード120および140に分散するためのノードアドミニストレータ160を含む。そのために、ノードアドミニストレータ160は、ファイルを分散するためのプロセッサ(図示されず)およびおそらく他のハードウェアを含む。
図1のノードアドミニストレータ16と対照的に、
図2のノードアドミニストレータ160は、従来の先入先出のラウンドロビン手法を用いない。むしろ、
図2のノードアドミニストレータ160は、トランスコーディングノードの中でファイルを分散するために、トランスコーディングノード120および140のトランスコーディング履歴を考慮することによって、インテリジェントなトランスコーディング手法を適用する。そのために、ノードアドミニストレータ160は、典型的に、トランスコーディングノード120および140のトランスコーディング履歴を格納し、かつそれにアクセスするための、マイクロソフトSQLデータベースサーバ等のサーバプログラムを利用するデータベース170へのリンクを享受する。
図2が、ノードアドミニストレータ160から分離したようにデータベース170を示す一方で、データベースは、ノードアドミニストレータ自体の部分として存在し得る。同様に、
図2が、ノードアドミニストレータ160に連結したデータベース170を示す一方で、データベースはまた、トランスコーディングノード120および140の各々にも連結し得る。
【0017】
本原則によれば、ノードアドミニストレータ160は、類似したプロファイルを有するファイルについての、トランスコーディングノードへの提出を経るファイルとの、ノードのトランスコーディング履歴の比較に基づいて、トランスコーディングノード120および140の中でファイルを分散する。次の例は、
図2のノードアドミニストレータ160が、ファイルのトランスコーディングノード120および140へのインテリジェントな配信を通じて有利にトランスコーディングを遂行する様態を例証する。ノードアドミニストレータ160が同時に、それぞれ大、小、中である、3つのファイル、ファイル1、ファイル2、およびファイル3を受信することを想定する。発端で、トランスコーディングノード120および140の両方が現在、トランスコーディングのための他のファイルを有していないこと、かつ各々が等しいトランスコーディング能力を有することを更に想定する。
【0018】
最初に、各トランスコーディングコードがフリーである状態で、ノードアドミニストレータ160は、第1のファイル、例えば、ファイル1を受信するために、トランスコーディングノードのうちの1つ、例えば、トランスコーディングノード120を選択する。次のファイル、例えば、ファイル2について、ノードアドミニストレータ160は、トランスコーディングを経るためのファイルのトランスコーディングプロファイルに照らした比較のために、トランスコーディングノードのトランスコーディング履歴をチェックする。各トランスコーディングノードのトランスコーディング履歴を、トランスコーディングを経るためのファイルのトランスコーディングプロファイルと比較することによって、ノードアドミニストレータ160は、最速の性能を提示し得るトランスコーディングノードを選択することができる。最速の性能を提示するノードを選ぶよりはむしろ、ノードアドミニストレータ160は、使用されていない(例えば、現在、ファイルを処理していない)、または最も低いエラー率を提示する、トランスコーディングノードを選択する可能性がある。
【0019】
トランスコーディングノード120がファイル1のトランスコーディングにより占有されている状態で、ノードアドミニストレータ160は、ノードのトランスコーディング履歴、ファイルのトランスコーディングプロファイルの比較、およびノード140が現在、いかなるファイルも処理していないという事実に基づいて、ファイル2をノード140に送信する。かかる情報に基づいて、ノードアドミニストレータ160は、ファイル2をトランスコーディングノード140に送信する。
【0020】
ファイル1、次いでファイル2のためのトランスコーディングノード選択を行った後、ノードアドミニストレータ160は次いで、ファイル3のためのデスティネーションを決定する。従来の「ラウンドロビン」手法を用いて、ノードアドミニストレータ160は、トランスコーディングノード120が、トランスコーディングファイル1により、より長い期間占有されたままであるという事実にもかかわらず、ファイル3を受信するためのトランスコーディングノード120を選択する。しかしながら、本原則のインテリジェントなトランスコーディング手法を用いて、ノードアドミニストレータ160は、ノードのトランスコーディング履歴を、ファイルのトランスコーディングプロファイル3および各ノードの現在の作業負荷と比較する。そのようにすると、ファイル2がファイル1を処理するために要求される労力よりも小さいことを想定して、ノードアドミニストレータ160は、トランスコーディングノード140が現在、小さいファイルを処理しており、ノード120がファイル3のためにトランスコーディングを実行する前に利用可能となることをおそらく発見する。トランスコーディングノード120および140に送信されたファイルの間のファイルサイズの相対的差異に依存して、ノードアドミニストレータ160は、先行技術のラウンドロビン手法によって指定されるようにファイルをトランスコーディングノードに交互に送信するのと対照的に、複数のファイルを同じトランスコーディングノードに連続して送信する可能性がある。
【0021】
前述のように、各トランスコーディングノードについてのトランスコーディング履歴は、ノードの現在のアクティビティ(すなわち、現在、所定のファイルのトランスコーディング引き受けているかどうか)ならびに過去のアクティビティ(すなわち、ファイルをトランスコーディングするのに費やされた時間ならびにそのファイルのトランスコーディングプロファイル)を示す。所定のトランスコーディングノードについてのトランスコーディング履歴を用いて、
図2のノードアドミニストレータ160は、類似したプロファイルを有するファイルをトランスコーディングすることに関連するそのトランスコーディングノードについてのトランスコーディングパラメータを知ることによって、所定のプロファイルを有するデジタルファイルをトランスコードするそのノードについての、トランスコーディングパラメータ(例えば、性能時間またはビットエラー率)を決定することができる。
【0022】
本原則のインテリジェントなトランスコーディング技術は、標準的ラウンドロビン技術にかかるいかなる犠牲も要求しない。実際に、上述のように、本原則のインテリジェントなトランスコーディング技術は、既存のトランスコーディングノードに対して改善された効率性を提供する。更に、インテリジェントなトランスコーディング技術はまた、新たなトランスコーディングノードのトランスコーディング能力を「習得する」ことによって、簡便に、追加的なトランスコーディングに容易に適合する。1つ以上の新たなトランスコーディングノードを追加すると、ノードアドミニストレータ160は、最初にベースライン性能を想定し、次いでより多くのジョブ履歴を有する実際のノード性能に適合することによって、典型的に、ファイルを新たに構成されるトランスコーディングノードに提出する。故に、本原則のインテリジェントなトランスコーディング技術は有利に、より古いトランスコーディングノードを必ずしも軽視することなく、ノードアドミニストレータ160が新たなトランスコーディングノードをネットワークに追加することを可能にする。あらゆる追加的なトランスコーディングノードは、処理能力に関わらず、全体的な処理能力の増加を提供する。
【0023】
本原則のインテリジェントなトランスコーディング技術が追加的なトランスコーディングノードに簡便に適合する様態を最もよく理解するために、
図2のトランスコーディングシステム100と共通する特徴を有するトランスコーディングシステム1000の第2の好ましい実施形態を示す、
図3を参照されたい。そのために、同様の参照番号は、同様の要素を説明する。故に、
図2のトランスコーディングシステム100と同様に、
図3のトランスコーディングシステム1000は、トランスコーディングノード120および140、ならびにデータベース170と一緒にノードアドミニストレータ160を含む。しかしながら、トランスコーディングシステム1000は、考察の目的のために、より高い計算力を有し、故に、所定の特徴を有するファイルをトランスコーディングノード120および140よりも高速で処理することができる、追加的なトランスコーディングノード190を有する。
【0024】
本原則のインテリジェントなトランスコーディング技術を用いて、
図3のトランスコーディングシステム1000のノードアドミニストレータ160は、トランスコーディングノード190によって提供される増加した力を活用するためにファイルを分散する。考察の目的のために、
図3のトランスコーディングシステム1000のノードアドミニストレータ160は、それぞれ大、小、および中であるファイル1、ファイル2、およびファイル3を同時に受信することを想定する。また、トランスコーディングノード120、140、および190は全て、処理のために保留中のファイルを有さないことも想定する。
図3の両方で、ノード120が典型的に、ノードアドミニストレータ160によって維持されるトランスコーディングノードのリスト上に最初に現れるとしても、ノードアドミニストレータは、ファイル1を受信するためにトランスコーディングノード190を選択する。前述のように、トランスコーディングノード190は、トランスコーディングノード120と比較してより高い計算力を有する。故に、トランスコーディングノード190のトランスコーディング履歴の、ファイル1のトランスコーディングプロファイルとの比較は、ノード120のトランスコーディング履歴の、ファイル1のトランスコーディングプロファイルとの間の比較よりも良好な結果を生み出す。トランスコーディングノード190のトランスコーディング履歴の、ファイル1のトランスコーディングプロファイルとの比較が、ノード120のトランスコーディング履歴の、ファイル1のトランスコーディングプロファイルとの間の比較よりも良好な結果を生み出す限り、ノードアドミニストレータ160は、ノード190がまたより大きい利用可能なトランスコード能力(例えば、キューにおける現在の作業負荷に基づく)も有する場合、トランスコーディングノード190を選択する。最終的に、トランスコーディングノード190は、作業負荷キューにおいて十分なファイルを受信することになり、その結果、ノード190についての作業負荷および性能の比較はもはや、他のノード作業負荷および性能よりも良好な結果を生み出さなくなる。その時、ノードアドミニストレータ160は、ファイルをトランスコーディングノード120および/または140に送信する。
【0025】
本原則のインテリジェントなトランスコーディング技術は更に、各トランスコーディングノードの現在の作業負荷を考慮する。またノードの性能能力と共に、システムの最良のスループットを提供するようにジョブを割り当てることができる。例えば、
図3のトランスコーディングシステム1000を用いる際、中程度の処理要件であるファイル4の追加がシステムに提示される。190が、長時間かかるファイル1により使用中であり、ノード140が、中程度の時間がかかるファイル3により使用中である間に、ノード120が間もなく完了する小さいファイル2を処理する際の最も低い作業負荷を有するため、ノードアドミニストレータ160は、ファイル4をノード120に割り当てる可能性がある。
【0026】
本原則のインテリジェントなトランスコーディング技術は更に、トランスコーディングを経ているファイルへの優先度の割り当てを可能にする。例えば、各ファイルは、ある種の数の割り当てられたポイントを有することができ、このうち高い数の割り当てられたポイントは、高いファイル優先度を示す。ファイルを受信するためのトランスコーディングノードを選択するとき、ノードアドミニストレータ160は、ファイル優先度を考慮することができる。かかるファイル優先度は、ファイルについてのトランスコーディングプロファイルから独立して存在する。故に、同一のプロファイルを有しながらも、異なる優先順位づけを有する、2つのファイルが存在する可能性がある。ノードアドミニストレータ160は、ファイルの優先度に基づいてジョブを割り当てる可能性があり、そのファイルはノードの作業キューにおいて他のジョブを先取りする可能性がある。例えば、ノード120が現在、キューにおいて、優先度100を有するファイル2を処理しており、かつ優先度20を有するファイル4を有する場合、ノードアドミニストレータ160は、ノード120作業キューにおいてファイル4の上に、優先度90を有するファイル5を挿入する可能性がある。したがって、ノード120は、ファイル2、ファイル5、次いでファイル4を処理する。
【0027】
ノードアドミニストレータ160は、優先順位づけベースでトランスコーディングノードを予約する可能性がある。故に、ノードアドミニストレータ160は、より高いレベルの優先度のジョブのために、1つ以上のトランスコーディングノードを予約する可能性がある。この手法を利用して、全てのより低い優先度のジョブは、自動的により低いレベルのノードに移動する。
【0028】
前述の内容は、効率性を改善するためのインテリジェントなトランスコーディング技術を説明する。