(57)【要約】【課題】大量の計算時間及びネットワーク資源を浪費することなく情報を比較し又は識別する技術を提供すること。【解決手段】プロトコルマーカーに基づく情報の識別のための技術を提供することにより従来技術の欠点が克服される。該技術によれば、時間と共に変動する多次元情報（情報を一意に識別する「実世界の」信号及びマルチメディアデータ等）を格納し、分配し、及び転送するために使用されるプロトコルからシグネチャが生成される。該シグネチャは、該プロトコルに固有の一組のプロトコルマーカーから構成される。この抽出されたシグネチャを使用して、本システム及び方法は、複数のデータを区別することができる。データの識別は、情報の一意性を確保するため、及び分散型環境で様々なデータを比較するために必要である。【選択図】図４
2005108244.tif 000002
【特許請求の範囲】
【請求項１】
第１の内容と第２の内容と比較してそれらが同一か否かを判定する方法であって、
前記第１の内容及び前記第２の内容をエンコードしているプロトコルを識別し、
前記第１の内容の第１のシグネチャと前記第２の内容の第２のシグネチャとを計算し、
前記第１のシグネチャを前記第２のシグネチャと比較して前記第１の内容が前記第２の内容と同一であるか否かを判定する、
という各ステップを含む方法。
【請求項２】
前記第１の内容から第１組のデータセグメントを選択し、及び前記第２の内容から第２組のデータセグメントを選択し、
前記第１組のデータセグメント及び前記第２組のデータセグメントを使用して前記第１のシグネチャ及び前記第２のシグネチャを計算する、
という各ステップを含む、請求項１に記載の方法。
【請求項３】
前記選択された前記第１組のデータセグメント及び前記第２組のデータセグメントが、１つ又は２つ以上のプロトコルマーカーに関連する場所を含む、請求項２に記載の方法。
【請求項４】
前記第１の内容のシグネチャ及び前記第２の内容のシグネチャを計算する前記ステップが、
前記第１の内容に関連する１つ又は２つ以上のプロトコルマーカーを識別し、
前記第２の内容に関連する１つ又は２つ以上のプロトコルマーカーを識別する、
という各ステップを含む、請求項１に記載の方法。
【請求項５】
前記第１の内容に関連する前記１つ又は２つ以上のプロトコルマーカーが離散コサイン計数を含む、請求項４に記載の方法。
【請求項６】
前記第２の内容に関連する前記１つ又は２つ以上のプロトコルマーカーが離散コサイン計数を含む、請求項４に記載の方法。
【請求項７】
前記第１の内容に関連する前記１つ又は２つ以上のプロトコルマーカーがモーションベクトルを含む、請求項４に記載の方法。
【請求項８】
前記第２の内容に関連する前記１つ又は２つ以上のプロトコルマーカーがモーションベクトルを含む、請求項４に記載の方法。
【請求項９】
前記第１の内容の長さを識別し、
前記第２の内容の長さを識別する、
という各ステップを含む、請求項４に記載の方法。
【請求項１０】
第１の内容を第２の内容と比較するよう構成された内容比較手段であって、
前記第１の内容に関連する第１のプロトコルと前記第２の内容に関連する第２のプロトコルとを識別するよう構成されたプロトコル識別モジュールと、
前記第１の内容及び前記第２の内容の各々から一組のデータセグメントを選択するよう構成された複数のデータセグメンテーションモジュールと、
前記第１の内容の第１のシグネチャ及び前記第２の内容の第２のシグネチャを生成するよう構成された複数のシグネチャ計算モジュールと、
前記第１のシグネチャを前記第２のシグネチャと比較するよう構成されたシグネチャ比較モジュールと
を含む、内容比較手段。
【請求項１１】
第１の内容を第２の内容と比較する装置であって、
前記第１の内容及び前記第２の内容をエンコーディングしているプロトコルを識別する手段と、
前記第１の内容及び前記第２の内容から一組のデータセグメントを選択する手段と、
前記第１の内容のシグネチャと前記第２の内容のシグネチャとを計算する手段と、
該計算された前記第１の内容のシグネチャを該計算された前記第２の内容のシグネチャと比較する手段と
を含む、装置。
【請求項１２】
前記選択されたデータセグメントが、１つ又は２つ以上のプロトコルマーカーに関連する場所を含む、請求項１１に記載の装置。
【請求項１３】
前記第１の内容のシグネチャと前記第２の内容のシグネチャとを計算する前記手段が、
前記第１の内容に関連する１つ又は２つ以上のプロトコルマーカーを識別する手段と、
前記第２の内容に関連する１つ又は２つ以上のプロトコルマーカーを識別する手段と
を含む、請求項１１に記載の装置。
【請求項１４】
前記第１の内容に関連する前記１つ又は２つ以上のプロトコルマーカーが離散コサイン係数を含む、請求項１３に記載の装置。
【請求項１５】
前記第２の内容に関連する前記１つ又は２つ以上のプロトコルマーカーが離散コサイン係数を含む、請求項１３に記載の装置。
【請求項１６】
前記第１の内容に関連する前記１つ又は２つ以上のプロトコルマーカーがモーションベクトルを含む、請求項１３に記載の装置。
【請求項１７】
前記第２の内容に関連する前記１つ又は２つ以上のプロトコルマーカーがモーションベクトルを含む、請求項１３に記載の装置。
【請求項１８】
前記第１の内容の長さを識別する手段と、
前記第２の内容の長さを識別する手段と
を含む、請求項１３に記載の装置。
【請求項１９】
ネットワークストレージ環境において第１の内容を第２の内容と比較する方法であって、
第１の内容を受信し、
該第１の内容のシグネチャを計算し、
前記第１の内容の前記計算されたシグネチャを前記第２の内容のシグネチャと比較し、
前記第１の内容の前記計算されたシグネチャが前記第２の内容のシグネチャと一致する場合に、前記第１の内容が前記第２の内容と同一であることを識別する、
という各ステップを含む、方法。
【請求項２０】
前記第１の内容のシグネチャを計算する前記ステップが、
前記第１の内容に関連する一組のプロトコルマーカーを識別し、
該識別された一組のプロトコルマーカーからシグネチャを生成する、
という各ステップを含む、請求項１９に記載の方法。
【請求項２１】
前記一組のプロトコルマーカーが一組の離散コサイン係数を含む、請求項１９に記載の方法。
【請求項２２】
前記一組のプロトコルマーカーが１つ又は２つ以上のモーションベクトルを含む、請求項１９に記載の方法。
【請求項２３】
受信した内容のサイズをシグネチャの生成に利用する、請求項１９に記載の方法。
【請求項２４】
内容に関連するプロトコルをシグネチャとして使用して内容を識別する方法であって、
前記内容に関連するプロトコルを判定し、
該プロトコルに関連する一組のマーカーを識別し、
前記プロトコルに関連する前記一組のマーカーを使用して前記内容から一組のマーカーを取得し、
前記識別されたマーカーを使用して前記内容のシグネチャを生成する、
という各ステップを含む、方法。
【請求項２５】
前記識別されたマーカーが前記内容の全体のサブセット内にある、請求項２４に記載の方法。
【請求項２６】
内容を一意に識別するために該内容に関連するサイズを利用する、請求項２４に記載の方法。
【請求項２７】
ネットワークキャッシング装置からデータを転送すべきか否かを判定するために該ネットワークキャッシング装置において前記シグネチャを利用する、請求項２４に記載の方法。
【請求項２８】
内容のローカルコピーにアクセスすべきか否かを判定するために前記シグネチャを利用する、請求項２４に記載の方法。
【請求項２９】
内容のリモートコピーにアクセスすべきか否かを判定するために前記シグネチャを利用する、請求項２４に記載の方法。
【請求項３０】
内容のシグネチャを生成するためのプロトコルマーカー識別手段であって、
前記内容から一組のデータセグメントを選択するよう構成されたデータセグメンテーションモジュールと、
該一組のデータセグメントからシグネチャを生成するよう構成されたシグネチャ計算モジュールと
を含む、プロトコルマーカー識別手段。
【請求項３１】
前記内容に関連するプロトコルを識別するよう構成されたプロトコル識別モジュールを含む、請求項３０に記載のプロトコルマーカー識別手段。
【請求項３２】
前記シグネチャが一組のプロトコルマーカーを含む、請求項３０に記載のプロトコルマーカー識別手段。
【請求項３３】
前記一組のプロトコルマーカーが一組の離散コサイン変換係数を含む、請求項３２に記載のプロトコルマーカー識別手段。
【請求項３４】
プロトコルに関連するシグネチャを利用してキャッシングの決定を行うネットワークキャッシング装置であって、
新たな内容のプロトコルを判定する手段と、
前記内容のシグネチャを計算する手段と、
前記新たな内容の前記計算されたシグネチャを他の内容のシグネチャと比較する手段と
を含む、ネットワークキャッシング装置。
【請求項３５】
シグネチャを計算する前記手段が、
前記内容に関連するプロトコルに関連する一組のマーカーを識別する手段と、
前記内容に関連する適当なマーカーを取得する手段と
を含む、請求項３４に記載のネットワークキャッシング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の識別に関し、特に、分散型ネットワーク内の時間と共に変動する多次元情報を該情報に含まれるプロトコルマーカーから生成されるシグネチャを使用して識別することに関するものである。
【背景技術】
【０００２】
最近のネットワーク環境では、情報は、広範なストレージ機構を用いて複数の遠隔場所に格納することが可能である。例えば、ストレージシステムのファイルシステムにおいてファイルとして実施された情報は、コンピュータにローカルに接続されたディスクに格納すること、ＮＡＳ（Network Attached Storage）構成を介してコンピュータに接続されたストレージシステムに格納すること、又は高速ストレージエリアネットワーク（ＳＡＮ）構成により格納することが可能である。ネットワークストレージ構成（例えばＮＡＳ又はＳＡＮ環境）では、様々な中間ノード、例えば、ルータ、スイッチ、ネットワークキャッシング装置、及びファイルキャッシング装置が存在する。情報のコピーは、中間ノードの機能に適した一定期間にわたり維持される。
【０００３】
ネットワーク内の装置上で実行されるアプリケーションは、複数の遠隔場所に格納されている情報を比較し又は区別することを所望することが多い。例えば、ネットワーク化されたコンピュータ上で実行されているアプリケーションは、ディスク上にローカルに格納されている情報が、ネットワークを介してストレージシステムに取り付けられたディスク上に格納されているデータと同一であるか否かを知ることを所望する場合がある。これは、情報が時間と共に変動する多次元情報（マルチメディア信号等）である場合を含み得る。かかる多次元情報は、大量の空間を占有し、及びネットワークを介して送信するために大量の帯域幅を必要とするものである。更なる例として、ネットワークキャッシング装置は、そのローカルなキャッシュに格納されているデータが、遠隔地に配置されているデータ格納手段からの現在要求されているデータと同一であるか否かを知ることを所望する場合がある。ローカルに格納されているデータがリモートに格納されているデータと同一である場合には、ネットワークキャッシング装置は、要求されたデータを取得するためのネットワークベースのデータアクセスコマンドを発行する必要性を不要とし、これにより、システム性能の速度が改善され、また不必要なデータ要求及び転送をなくすことにより、ネットワークの帯域幅負荷が低下する。
【０００４】
このデータの識別は、２つのデータソースを比較することにより達成することが可能である。従来、データは、ビット単位の比較を用いて比較されてきた。この場合、第１のデータソースの各ビットは、第２のデータソース中の対応するビットと比較される。２つのデータソース間の相違は、この「ブルートフォース」技術を使用して識別することが可能である。しかし、かかるビット単位の比較の顕著な欠点として、高度の計算力を必要とすること、及びかかる比較を実行するために要する時間が（特に大きなデータファイルの場合に）長いことが挙げられる。もう１つの顕著な欠点は、ネットワークを介してデータ全体を送信してビット単位の比較を行う必要がある可能性があることであり、これにより帯域幅の消費の低減に関する利益が得られなくなる。
【０００５】
データを識別するための代替的な方法は、相互相関（cross-correlation）技術を使用することであり、これにより、２組のデータ間で相関手続きが実行されて、それらが同じ内容を含むか否かが判定される。相互相関技術は、例えば、実際のデータに先行して（prepend）異なるヘッダ（メタデータ等）を有する異なるファイルシステムにデータが格納されている場合、例えば、データの一方のコピーがＮＴＦＳ（Microsoft Windows(登録商標) NT File System）を使用して格納され、該データの他方のコピーがＵＮＩＸ(登録商標)ベースのファイルシステム（オリジナルのＵＦＳ（Unix(登録商標) File System）フォーマット又はＦＦＳ（Berkely Fast File System）等）を使用して格納されている場合に、効果的なものとなる。しかし、相互相関法もまた、大きなデータファイルの場合に集中的な計算を必要とするものである。更に、相関結果を改善するために、大量のデータを送信する必要があり、これもまた帯域幅の消費を節約する可能性を低下させるものとなる。
【０００６】
２組のデータを比較するための第３の従来の方法には、メタデータの使用が含まれる。これは、ユーザが大量のデータを迅速に比較することを可能にする。データの比較のために使用することができるメタデータの例として、ファイル名、サイズ、及び／又は作成日が挙げられる。上述したように、様々なコンピュータシステムがメタデータを様々に実施することが可能である。例えば、システムによっては、ファイル名にすることができる文字数に制限を有し、又は特定の文字をファイル名に使用することを許可しないものがある。更に、システムによっては、作成日、及びファイルが最後に修正された日付を記録するものがあるが、別のシステムでは、ファイルが最初に作成された日付のみを記録し、それ以降の修正日は記録しないものがある。
【０００７】
しかし、メタデータ比較法の顕著な欠点は、付随するメタデータの相違に起因して、同一内容が存在する場合であっても負一致（negative match）が生じ得ることにある。同様に、データ内容は同一でないがメタデータが一致を示す場合に正一致（positive match）が得られる可能性がある。メタデータ情報は、一律に実施されるものではなく及び／又はインターネット等の異種ネットワークで配置されるものではない。このため、根本的なデータが同一である場合であっても、２つのデータファイルに関連するメタデータの相違に遭遇する可能性がある。例えば、１つのファイルの２つの同一のコピーであって、互いに異なるファイル名を有するものを想定する。それらファイルに関するメタデータの比較の一致または不一致に基づく判定は、不正なものとなり、誤った結論へと導くものとなる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
情報を比較し又は識別するための一般的な技術は、顕著な欠点を有するものである。ネットワーク環境が大きく成長するにつれて、リモートに格納されたデータの使用が拡大し、ネットワークを介してデータの識別及び比較を行うために大量の計算時間及びネットワーク資源が浪費されることになる。
【課題を解決するための手段】
【０００９】
プロトコルマーカーに基づく情報の識別のための技術を提供することにより、従来技術の欠点が克服される。該技術によれば、時間と共に変動する多次元情報（情報を一意に識別する「実世界の（real-world）」信号及びマルチメディアデータ等）を格納し、分配し、及び転送するために使用されるプロトコルからシグネチャが生成される。該シグネチャは、該プロトコルに固有の一組のプロトコルマーカーから構成される。この抽出されたシグネチャを使用して、本システム及び方法は、複数のデータを区別することができる。データの識別は、情報の一意性を確保するため、及び分散型環境で様々なデータを比較するために必要である。
【００１０】
オーディオビジュアルシーン等の実世界の信号の媒体上への格納、分配、又は転送は、その情報のプロトコルを介した変換を必要とする。このプロトコル変換の結果として、適当な媒体に適した情報の表現が得られる。時間と共に変動する多次元情報（内容）の場合には、プロトコルは典型的には、情報を媒体に適した形態に変換するために使用される。かかる変換は、サンプリングステージ、これに次ぐ１つ又は２つ以上の変換ステージ、量子化ステージ、及び最終的なエントロピー圧縮ステージを含むことができる。例えば異なる動作により表される各タイプの変換は、変換された内容中に一意のマーカーを生成し、該マーカーは、新規の技術を実施した装置が該変換の結果として得られる内容を識別し及び区別することを可能にする。
【００１１】
特定のプロトコルが如何に実施されるかに関する演繹的な知識を利用することにより、内容中に埋め込まれている残りのプロトコルマーカーを利用して、迅速且つ効率的に内容が識別される。かかるプロトコルマーカーは、例えば、実世界の信号を特定のプロトコルを介して媒体へとエンコードする過程で実行される特定の数学的な変換の副産物である。各特定のプロトコル（例えばMPEG-2やJPEG）は、該プロトコルから導出される一意の一組のプロトコルマーカーを含む。内容の識別に該プロトコルマーカーを使用することにより、計算上高コストのビット単位の比較またはメタデータの実装への依存の必要性がなくなる。既知のプロトコルマーカーを利用することにより、内容を迅速に識別し及び／又は比較してその一意性を判定することが可能となる。プロトコルは典型的には、根本的な情報の表現を縮小し又は圧縮し、かかるプロトコルはまた典型的には、情報から凝縮された一意のマーカーを提供し、これにより、識別及び区別を行うために必要となる計算資源が一層少なくなる。
【発明を実施するための最良の形態】
【００１２】
本発明の上述その他の利点は、以下の詳細な説明を図面に関連して参照することにより理解されよう。同図面において、同様の符号は同一の構成要素又は機能的に類似した構成要素を示している。
【００１３】
更なる背景として、時間と共に変動する多次元情報（ＴＶＭＤ）は、「実世界の」多知覚（multi-sensory）信号情報、又はより一般的にはマルチメディア信号情報として識別することが可能なものであり、典型的には、情報を一意に識別するプロトコルマーカーを含んでいる。かかる実世界の信号（例えばオーディオ／ビジュアル表現）の、ネットワーク化された媒体上への格納し、分配、又は転送は、所定のプロトコルを介した情報の変換を必要とする。かかる所定のプロトコルの例として、周知のMPEG（Moving Picture Expert Group）、JPEG（Joint Photographic Expert Group）、及びGIF（Graphics Interchange format）プロトコル仕様フォーマットが挙げられる。本発明の教示は、以下で詳述するように変換後のデータ中に適当なプロトコルマーカーを含み又は生成するあらゆるプロトコルに適用可能なものである、ということに留意されたい。かかるプロトコル変換の結果として、所望の媒体に適した情報の表現が得られる。この表現を本書では「内容」又は「データ内容」と称することとする。
【００１４】
所定のプロトコルを介した変換は、サンプリングステージ、１つ又は２つ以上の変換ステージ、量子化ステージ、及び／又はエントロピー圧縮ステージを含む、様々なステップからなる。変換の「連鎖」中の各ステージは、プロトコル仕様の構成要素であって１つ又は２つ以上の別個に規定される構成要素によって記述される。各プロトコルステージは、典型的には、オリジナル信号の情報内容を縮小させ、非拡張性の（non-expansive）変換の場合に、オリジナル信号中に含まれる情報を圧縮する働きをする。その結果として得られる圧縮連鎖は、Ethernet(登録商標)ベースの配線その他の送信チャネルを利用したローカルエリアネットワーク（LAN）等のディジタル送信媒体を介して内容を一層容易に送信することを可能にする。典型的には、各ステージはまた、情報内容全体を読み出すことなく解析することが可能なプロトコルマーカーを内容中に生成する。特定の各プロトコルは、周知のプロトコル仕様に従って内容を変換する。変換を逆に行い、及び変換連鎖を逆順に進めることにより、情報内容の損失によって歪みが生じる可能性はあるが、オリジナル信号を回復させることが可能である。本発明の新規のシステム及び方法は、変換された情報のプロトコルマーカーを利用して、ビット単位の比較を必要とすることなくまた情報に付随するメタデータに依存することなく情報を一意に識別するシグネチャを生成する。
Ａ．例示的なネットワーク環境
図１は、本発明の原理を実施することが可能な例示的なネットワーク環境100の概要を示すブロック図である。このネットワーク環境100は、ネットワーククラウド105を中心として構成されるものであり、ポイント・ツー・ポイント・リンク、ワイドエリアネットワーク（WAN）、パブリックネットワーク上で実施されるバーチャルプライベートネットワーク（VPN）、共有されたローカルエリアネットワーク（LAN）、又はその他の許容可能なネットワーキングアーキテクチャを含む。この例示的なネットワーククラウド105には、該ネットワーククラウド105を例えば周知のインターネット160等の他のネットワークに接続することが可能なルータ155等の中間ノードが取り付けられる。更に、例えばワークステーション又はパーソナルコンピュータ（PC）等のユーザシステム110が、従来のネットワークインタフェイスコントローラ（NIC）（図示せず）を介してネットワーク105に接続される。該ユーザシステム110にストレージ装置115が接続され、例示的な実施形態では、該ストレージ装置115はディスクを含む。
【００１５】
ネットワーククラウド105にはまた、ストレージ装置130を有するファイルサーバその他のストレージアプライアンスから構成することが可能な第１のストレージシステム125、第２のストレージシステム140（及びそれに関連するストレージ装置145）、及びネットワーク又はファイルシステムキャッシング装置170もまた接続される。該ネットワーク又はファイルシステムキャッシング装置170は、最近読み出されたデータを格納し、ネットワークデータアクセス要求を転送する代わりにその要求側システムに前記データのローカルコピーを送ることができるようにするものである。本発明の技術は、多くの代替的なネットワーキング構成で実施することが可能である、ということに留意されたい。このため、図１の例示的なネットワーク環境100は、単なる一例と解釈すべきである。
【００１６】
例えばユーザシステム110上で実行中のアプリケーションプログラム（図示せず）が、第１のストレージシステム125のストレージ装置130上に格納されているリモートファイル135、又は第２のストレージシステム140のストレージ装置145上に格納されているリモートファイル150へのアクセスを所望する場合には、マルチメディア又は多知覚データ（又は内容）を識別することが望ましい場合が多い。かかる場合には、ローカルに格納されているデータすなわちファイル120が、リモートに格納されているファイル135（又はファイル150）と同一であるか否かを知っていることが望ましい。リモートファイル及びローカルファイルのデータ内容が同一である場合には、ローカルに格納されているファイルにアクセスすることにより、ネットワーク帯域幅が保存される。更に、ローカルに取り付けられたディスクへのアクセスは、典型的にはネットワークに取り付けられたディスクへのアクセスよりも高速であり、リモートファイル135（又はファイル150）の代わりにローカルファイル120にアクセスすることにより、ユーザシステム110の性能が増すことになる。
【００１７】
既述のように、リモートファイル及びローカルファイルの内容が同一であるか否かを判定する一つの方法は、従来のデータ比較技術を使用することを含む。この場合、ユーザシステム110は、ローカルファイル120と例えばリモートファイル135とのビット単位の比較を実行する。しかし、この比較を実行する過程で、リモートファイル全体を、ネットワーククラウド105を介して第１のストレージシステム125からユーザシステム110へ転送する必要があり、これにより、システム性能の改善またはネットワーク帯域幅の節約が妨げられることとなる。代替的に、ユーザシステム110は、ファイル120,135に関するメタデータに依存することが可能である。しかし、例えば第１のストレージシステム125により実施されるファイルシステムとは異なるファイルシステムをユーザ110が実施した場合には、メタデータは、正しい一致を生成しない可能性があり、又は偽りの正一致もしくは負一致を生成する可能性がある。
【００１８】
しかし、本発明によれば、ユーザは、ファイル120及びファイル135から一組の一意のプロトコルマーカーを獲得することが可能である。該マーカーは、根本的な情報から直接導出され、このデータに一意に関連するものとなる。次いで、それらプロトコルマーカーが比較されて、ファイル120がファイル135と同一であるか否かが迅速に判定される。本発明の技術を使用する場合、ネットワーククラウド105を介してストレージシステム125からユーザシステム110へ送信する必要のある情報は、一意のプロトコルマーカーだけであり、該プロトコルマーカーは、典型的には、完全なファイルサイズよりも何桁も小さなものとなる。本発明の技術はネットワーク又はファイルシステムキャッシング装置170にも同様に適用することが可能である、ということに留意されたい。
Ｂ．プロトコルマーカーの生成
プロトコルマーカーは、コンピュータネットワーク内の伝送媒体を介した送信に適した形態へのＴＶＭＤ内容の変換の副産物として生成される。プロトコルマーカーは、結果として得られる変換された内容に埋め込まれ、ネットワークを介した送信にとって許容可能なデータフォーマットへの変換時に内容に対して実行される様々な数学的な変換の残り（residuals）から構成される。各プロトコルは、プロトコル実装の特定の詳細に従ってプロトコルマーカーの一意のシグネチャを生成する。このため、本発明の技術は、特定のプロトコルの一意のプロトコルマーカーを使用するあらゆるプロトコルに一般化することが可能である。
【００１９】
内容を適当なフォーマットに変換するプロセスは、典型的には、利用される特定のプロトコルによって画定される。概して言えば、プロトコル実装は、４つの基本的なステップ、すなわち、サンプリングステージ、１つ又は２つ以上の変換ステージ、量子化ステージ、及びエントロピー圧縮ステージを利用する。図２は、内容を特定のプロトコルに従って適当なフォーマットへと変換するために使用される例示的なプロトコル変換フロー200のフローチャートである。未加工データ又はＴＶＭＤ内容が、最初にサンプリングステージ205に入力されて、プロトコル実装の残りの部分で使用するためにサンプリング（又はディジタル化）される。該サンプリングステージ205は、特定のプロトコル仕様毎にサンプリングレートを変更して、所望の品質及び／又はファイルサイズを達成することが可能である。サンプリングステージ205の後、サンプリングされたデータが、１つ又は２つ以上の変換ステージ210に供給され、後続の量子化ステージ215に備えて適当なフォーマットへと変換される。かかる変換は、例えばイメージを要素信号（周知のＲＧＢ規格等）へと分離させるステップを含むことが可能である。
【００２０】
量子化ステージ215は、典型的には、サンプリングステージから得られた値の範囲を、一連の重複しないが必ずしも等しくない副範囲へと分割する。次いで、離散的な一意の値が各副範囲に割り当てられ、これにより情報内容は削減されるが圧縮が達成される。量子化ステージ215の出力はエントロピー圧縮ステージ220へと供給される。エントロピー圧縮とは、一般に、例えば、反復するシーケンスを抑制し又は統計的なエンコーディングを利用してプロトコルにより具現化される内容のサイズを縮小させる、一群をなす無損失圧縮技術である。エントロピー圧縮ステージ、ひいてはプロトコル変換フロー200の出力が、適当なプロトコルでエンコードされたＴＶＭＤ内容である。
【００２１】
図３は、MPEG-2（Moving Picture Expert Group part 2）ビデオプロトコルに関する例示的なプロトコル変換フローの概要を示すブロック図である。MPEG-2プロトコルによるエンコーディング及びデコーディングについてはISO/IEC-13818に記載されている。本発明の原理は、既知のプロトコルマーカーを生成するあらゆるプロトコルに利用することが可能であり、グラフィクス、イメージ、ビデオ、又はオーディオエンコーディングプロトコルに限定されるものではない、ということに留意されたい。このため、MPEG-2を使用したエンコーディングに関する既述は、単なる一例として解釈されるべきである。
【００２２】
ソース入力305（例えばオーディオビジュアルシーン信号又はフレーム）が、フレーム再整理ステージ310に供給される。該フレーム再整理ステージ310は、ビデオの個々のフレームが、個々のフレームタイプに応じてエンコードされるための正しい順番になっていることを確実にする。例えば、MPEG-2規格では、内部（Intra）ピクチャ又はＩピクチャは、ピクチャ自体に存在する情報のみを使用してエンコードされ、予測（predicted）ピクチャ又はＰピクチャは、最も近い先行するＩ又はＰピクチャに関連してエンコードされ、双方向（Bi-directional）ピクチャ又はＢピクチャは、過去と未来のピクチャの両方を基準として使用する。このため、例えば、Ｂピクチャは、それが依存する全てのピクチャのエンコードが完了した後にエンコードされなければならない。フレーム再整理ステージ310は、ピクチャをエンコーディングのための正しい順番に関連づける。
【００２３】
次いで、正しい順番になったフレームがモーション評価ステージ315に送られる。MPEG-2プロトコルによれば、モーション評価ステージは、例えば１フレーム内の16×16ピクセルから構成されるマクロブロックについて操作を行う。モーション評価ステージ315中に、現在のフレームの選択されたマクロブロックが、例えば先行するＩ又はＰピクチャから予測するために使用されているフレームの全ての16×16領域と比較される。次いで、現在のマクロブロックからの最小平均二乗誤差を有する16×16領域が選択され、該マクロブロック内の各ピクセル毎に誤差値を予測するために利用される16×16領域を指定するモーションベクトルがエンコードされる。
【００２４】
次いで、モーション評価ステージ315の出力が離散コサイン変換（DCT）機能320へ供給される。該DCT320は、8×8のピクセルブロックを空間領域から周波数領域へと変換する。より詳細には、DCT320は、ピクセルブロックを１ブロックの変換された係数へと変換し、該係数は、オリジナルのブロックを形成する空間周波数成分を表している。DCT320を適用した後、その出力が量子化機能（Q）325へ供給される。典型的な8×8ブロックの場合、DCT係数の大部分はほぼゼロ（近ゼロ（near-zero））となる。このため、ゼロに近くないDCT係数は、典型的にはブロック中のDC値の近辺でクラスタ化される。量子化ステップでは、DCT係数の量子化は、近ゼロ係数がゼロ値に設定され、及び残りの係数がより低精度で表現されるように行われる。これは、典型的には、各係数を正の整数で除算することにより達成され、その結果として、情報の損失は生じるが、圧縮は改善されることになる。量子化は、量子化テーブル（QT）を使用し、及びDCTの結果の各要素を前記QT中の適当なエントリで除算することにより達成することが可能である。量子化されたDCT係数データ内の統計的な冗長性（statistical redundancies）を利用することにより更なる圧縮が達成される。次いで、8×8ブロックが周知のジグザグパターンを介して整列されて、大きな一続きのゼロが生成される。非ゼロ係数は、典型的には該ジグザグ整列の開始部分の近傍でクラスタ化され、従来の可変長エンコーディング機構を使用して（エンコードステージ330で）エンコードされる。前記の大きな一続きのゼロは、典型的には前記整列の最後に位置し、ランレングスエンコーディングを使用してエンコードされ、該ランレングスエンコーディングは典型的には、送信されるべきゼロの数を識別する指定された数を送信する。これによりデータが更に圧縮される。エンコーディングステージ330の出力は、エンコード済み出力データ340としての後の送信に備えてバッファ335内に供給される。該バッファ335を利用して、所望の伝送媒体の任意の必要とされるデータフローと一致させるようエンコーダの出力からの一定のビットレートのフローを確保することが可能である。
【００２５】
MPEG-2プロトコル変換フローの上記例では、様々な変換中に様々なプロトコルマーカーが生成される。これらのプロトコルマーカーは、離散コサイン（DC）係数、モーションベクトル、及び量子化の結果を含む。MPEG-2プロトコルを用いた内容のエンコーディングにより生成されたプロトコルマーカーを比較することにより、データを迅速に識別することが可能である。
Ｃ．プロトコルマーカーによる内容の突き合わせ
上述のように、分散環境における「自然の（natural）」実世界の信号の表現は、プロトコルにより規定され、すなわち、自然の信号の情報内容を分散されたストレージ媒体を介して伝送するために変換し準備するプロセスである。変換された内容には、オリジナル情報から計算された一組のプロトコルマーカーが含まれる。本書に記載する新規の技術によれば、これらのプロトコルマーカーは、オリジナル情報を効率的に識別するためのシグネチャとして利用することが可能である。次いで、マーカーすなわち「内容シグネチャ」を内容ベースの決定プロセスで使用して、分散型ネットワーキング環境内で内容を格納し、分配し、又は転送することが可能である。一実施形態では、プロトコルマーカーの使用は、分散型ネットワーク内の２つの所与の場所間での内容の分析に必要となる資源の量を削減するものとなる。例えば、ポイントＡにおける内容がポイントＢにおける内容と同一である場合、ポイントＡからポイントＢへネットワークを介して内容を伝送する必要がない。マーカーだけが比較のために伝送される。本書に記載する新規の技術を利用することにより、様々なポイントにおける内容の同一性を判定するために使用される情報を送信するために必要となる帯域幅が大幅に削減される。
【００２６】
図４は、本発明の例示的な実施形態による、異なる二組の内容を比較してそれらが同一であるか否かを判定するために適用される内容比較手段400のフローチャートである。２つの内容入力（入力Ａ,Ｂ）は、プロトコル識別モジュール405、及び個々のデータセグメンテーションモジュール410A,410Bで受信される。プロトコル識別モジュール405は、受信した入力を分析し、及び様々な格納されているデータベースを使用して、該入力により使用されているプロトコルを識別する。これは、例えば、受信した入力のメタデータを分析することにより、又は内容の様々なブロックを所与のプロトコルに固有である既知のプロトコルマーカーと比較することにより、達成することが可能である。受信した内容のプロトコルの識別は、当業者には周知のところであり、広範な技術を使用して達成することが可能である。
【００２７】
データセグメンテーションモジュール410A,410Bは、比較のために、受信した内容入力の様々なセグメントを選択する。これらのデータセグメントは、分析されるセグメントがシグネチャの計算及び分析を実行するのに十分なプロトコルマーカーを含んでいるか否かを確認するために、識別されたプロトコル実装に従って選択することが可能である。例えば、或るプロトコルは、メタデータ又はその他のプロトコルマーカーをファイルのヘッダ又はフッタに格納することが可能である。かかるプロトコルが利用される場合には、データセグメンテーションモジュール410は、それらの適当なデータセグメントを入力から選択し、それをシグネチャ計算モジュール415へ送る。概して言えば、各データセグメンテーションモジュール410は、適当なセグメントを内容入力全体から選択して適当なシグネチャ計算モジュール415A,415Bへ供給する。
【００２８】
シグネチャ計算モジュール415は、供給された内容セグメントを使用して内容のシグネチャを生成する。例えば、かかるシグネチャは、内容を分析して適当なプロトコルマーカーを識別することにより計算することが可能である。JPEG（Joint Photographic Experts Group）プロトコルの例では、プロトコルマーカーは、離散コサイン（DC）成分、エスケープシーケンス、及び／又はゼロの数を含むことができる。同様に、MPEG（Moving Picture Experts Group）プロトコルの例では、プロトコルマーカーは、上記のJPEGのものと、様々なモーションベクトルとを含む。次いで、内容シグネチャを構成する識別されたプロトコルマーカーは、シグネチャ比較モジュール420へ供給される。該シグネチャ比較モジュール420は、入力の２つの生成されたシグネチャを比較して、それらが同一であるか否かを判定する。例示する内容比較手段400は、本発明の代替的な実施形態に従って、ハードウェア、ソフトウェア、又はそれらの組み合わせで実施することが可能である、ということに留意されたい。更に一般的に言えば、内容比較手段400は、プロトコル識別モジュール405、データセグメンテーションモジュール410、及びシグネチャ計算モジュール415を含む複数のプロトコルマーカー識別手段であって、１つ又は２つ以上のシグネチャ比較モジュール420に関連する、複数のプロトコルマーカー識別手段から構成することが可能である。
【００２９】
受信した内容をローカルの内容と比較するための例示的な手続き500を図５のフローチャートに示す。本書で用いる場合、用語「ローカルの内容」とは、ローカルに取り付けられたディスク上に格納されているデータ内容であってネットワークコマンドを使用することなく容易にアクセスすることが可能なデータ内容を指している。手続き500は、例えば、ローカルに格納されている情報と同一の情報がリモートのディスクに書き込まれているか否かを判定するようにネットワーク内で実施することが可能である、ということに留意されたい。情報が同一である場合には、ローカルの装置／システムは、該情報をリモートのディスクに書き込むために必要となるネットワーク帯域幅を消費しないよう決定することができる。
【００３０】
該手続きは、最初にステップ505で開始し、ステップ510に進んで、ネットワークを介して送られた書込要求を介して、又はその他の任意の許容可能なデータ転送手段により、内容がローカル装置で受信される。ステップ515で、受信した内容をエンコードするために使用されるプロトコルが判定される。既述のように、内容をエンコードするために使用するプロトコルの判定は、当業者に周知の様々な技術を使用して行うことが可能である。
【００３１】
受信した内容のプロトコルが判定された後、ステップ520で、該プロトコルを比較のために利用することが可能であるか否かを判定する。例えば、受信した内容がTIFFプロトコルでエンコードされていることが検出されたが、本発明の手続きを実施したシステムのハードウェア又はソフトウェアによる実施形態が、受信した内容のシグネチャを計算する際に使用するためにTIFFプロトコルマーカーを含まない可能性がある。これは、例えば、新たなプロトコルが作成されたが、本手続きを実施したシステムにおいてシグネチャ生成のための適当なプロトコルマーカーが未だ実施されていない場合に発生する。プロトコルが利用できない場合には、本手続きは２つのデータ内容を比較せずにステップ525で出る。
【００３２】
しかし、プロトコルが利用可能である場合には、ステップ530で、本手続きは、受信した内容に関連するプロトコルに関する適当なプロトコルマーカーを使用して該内容のシグネチャを計算する。次いで、ステップ535で、受信した入力内容の計算されたシグネチャをローカルの内容のシグネチャと比較し、ステップ540で、一致が生じたか否かの判定を行う。受信した入力内容とローカルの内容とでシグネチャが一致しない場合には、本手続きはステップ545に分岐して、受信した内容をローカルの内容とは異なるものとして識別する。また、受信した入力内容とローカルの内容とでシグネチャが一致する場合には、本手続きはステップ550へと続いて、受信した内容をローカルの内容と一致するものとして識別する。次いで本手続きはステップ555で完了する。
Ｄ．プロトコルマーカーを使用したキャッシング
例示的な実施形態では、本発明の技術はネットワークキャッシング装置により実施することが可能である。受信したデータ内容を分析することにより、キャッシング装置は、そのネットワークキャッシュに該データが既に格納されているか否かを迅速に判定することが可能である。かかるデータが既にそのキャッシュに格納されている場合には、ネットワークキャッシング装置は、送信を終了して、格納されている内容のコピーを利用することが可能である。格納されているローカルのコピーは、システム性能を大幅に改善し、使用されるネットワーク帯域幅の量を削減するものとなる。
【００３３】
ネットワークキャッシング環境内で本発明の教示を実施するための例示的な手続き600を図６のフローチャートに示す。該手続きは、ステップ605で開始し、ステップ610に進んでネットワークキャッシング装置が新たな内容を受信する。該新たな内容は、ネットワーク中の他の装置からのデータ転送を介してキャッシング装置により受信することが可能である。ステップ615で、従来のプロトコル判定技術を使用して、該新たな内容のプロトコルを判定する。
【００３４】
プロトコルが判定されると、該プロトコルをこの特定のネットワークキャッシング装置で利用することができるか否かを判定する（ステップ620）。該プロトコルが利用できない場合には、本手続きはステップ655へ分岐し、キャッシュミスが生成されて出力される。これは、例えば、識別されたプロトコルに関する適当なプロトコルマーカーがネットワークキャッシング装置内に含まれていない場合に生じ得る。また、プロトコルが利用可能である場合には、本手続きはステップ625へと続いて、新たな内容の長さを計算する。これは、データファイルのサイズを識別するために使用される従来の技術によって達成することが可能である。ステップ630で、ネットワークキャッシュ内に格納されている内容の長さが、新たな内容の長さと比較されて、それらが一致するか否かが判定される。それらが一致しない場合には、新たな内容は、格納されている内容と同じサイズではなく、本手続きはステップ655へと分岐してキャッシュミスが出力される。
【００３５】
しかし、それらが一致する場合には、本手続きはステップ635へと続き、新たな内容の識別されたプロトコルに関する既知のプロトコルマーカーを使用して該新たな内容のシグネチャが計算される。次いで、ステップ640で、新たな内容の計算されたシグネチャが、ネットワークキャッシュ内に格納されている内容のシグネチャと比較される。該２つのシグネチャが一致しない場合には、本手続きは、ステップ655に分岐してキャッシュミスを出力する。また、該２つのシグネチャが一致する場合には、本手続きはステップ645へと続いて、キャッシュヒットが生成されて出力される。本手続きは、次いでステップ650で完了する。代替的な実施形態では、ネットワークキャッシング装置は、キャッシュヒットの判定を行うために、新たな内容の生成されたシグネチャのみを利用する。
【００３６】
キャッシュ装置において使用する技術的思想は、ストレージリソース管理（SRM）技術を含むよう一般化させることができる。例えば、ファイルシステムをウォーキングするファイルがホスト装置から生じ得る。ファイルウォーキングシステムは、各ファイルに関連するメタデータをデータ構造及び／又はデータベースに格納する。プロトコルマーカーがメタデータ中に含まれる場合には、反復するファイルを識別するために一層ローバストな識別技術を利用することが可能である。
【００３７】
要約すると、本発明は、プロトコルマーカーに基づいて情報を識別するための技術を提供するものである。特定のプロトコル実装の演繹的な知識を使用することにより、内容のシグネチャを生成するために特定のファイルから一組のプロトコルマーカーを得ることが可能である。次いで該シグネチャを他の情報のシグネチャと比較して、情報内容を迅速に区別し及び／又は比較することが可能である。本発明の原理を使用する場合には、内容のシグネチャを含むプロトコルマーカーのみを送信し比較するだけで、２つのデータ内容を区別することができる。
【００３８】
上記説明は、本発明の特定の実施形態に関するものである。しかし、該実施形態に他の変形及び修正を加えて、それらの利点の一部又は全部を達成することが可能である、ということは明らかである。特に、プロトコルが、内容のシグネチャの生成に使用するための許容可能なマーカーを生成する場合には、本発明の教示と共にあらゆるプロトコルを利用することが可能である、ということに留意されたい。更に、本書で説明した手続き又はプロセスは、ハードウェア、コンピュータにより読み出し可能な媒体として実施されたプログラム命令を有するソフトウェア、ファームウェア、又はそれらの組み合わせで実施することが可能である。よって、特許請求の範囲の目的は、かかる変形及び修正の全てを本発明の真の思想及び範囲内のものとして包含することにある。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施形態による例示的なネットワーク環境の概要を示すブロック図である。
【図２】本発明の一実施形態による例示的なプロトコル変換フローの概要を示すブロック図である。
【図３】本発明の一実施形態によるMPEG-2プロトコル用の例示的なプロトコル変換フローの概要を示すブロック図である。
【図４】本発明の一実施形態による例示的な内容比較手段の概要を示すブロック図である。
【図５】本発明の一実施形態による内容の比較のための手続きの各ステップを詳細に示すフローチャートである。
【図６】本発明の教示を利用したネットワーク化されたキャッシング装置により実行される手続きの各ステップを詳細に示すフローチャートである。
【符号の説明】
【００４０】
405    プロトコル識別モジュール
410    データセグメンテーションモジュール
415    シグネチャ計算モジュール
420    シグネチャ比較モジュール
【図１】
2005108244.tif 000003
【図２】
2005108244.tif 000004
【図３】
2005108244.tif 000005
【図４】
2005108244.tif 000006
【図５】
2005108244.tif 000007
【図６】
2005108244.tif 000008