(57)【要約】  識別子の使用及び生成。システムの一意識別子を生成するために使用されるべき値の指示が受信される。指示及び関連するカウント値が、１つ又は複数の遠隔メタデータサーバに相互接続されたメタデータサーバに記憶される。少なくとも一部において指示および関連するカウント値に基づいて、システムの一意識別子を生成するために使用されるべき変更された値が、遠隔メタデータサーバに送信される。
2009529191.tif 000002
【特許請求の範囲】
【請求項１】
システムの一意識別子を生成するために使用されるべき値の指示を受信するステップと、
１つ又は複数の遠隔メタデータサーバに相互接続されたメタデータサーバに前記指示及び関連するカウント値を記憶するステップと、
少なくとも一部において前記指示と前記カウント値との和に１を増分した値に基づいて、システムの一意識別子を生成するために使用されるべき変更された値を前記遠隔メタデータサーバのうちの１つに送信するステップと、
少なくとも一部において前記指示と前記カウント値との和に１を増分した値に基づいて、前記メタデータサーバを使用してシステムの一意識別子を生成するステップと、
前記システムの一意識別子の生成に応じて、前記指示の前記記憶された値を変更するステップと、
前記システムの一意識別子の生成に応じて、前記記憶された関連するカウント値を変更するステップとを含むことを特徴とする方法。
【請求項２】
前記指示に関連する閾値を記憶するステップと、
前記指示が前記閾値以上である場合には、信号を生成するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記カウント値に関連する閾値を記憶するステップと、
前記指示が前記カウント値以上である場合には、信号を生成するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記システムの一意識別子を生成するために使用されるべき値の指示が、トークンに関連して受信され、１度に複数のメタデータサーバのうちの１つのみが前記トークンを制御することを特徴とする請求項１に記載の方法。
【請求項５】
前記メタデータサーバ及び前記１つ又は複数の遠隔メタデータサーバが、一方向リングとして相互接続されることを特徴とする請求項１に記載の方法。
【請求項６】
データを送信元と送信先との間で運ぶ相互接続機構と、
前記相互接続機構を介して論理的に相互接続される複数のメタデータサーバであって、前記複数のメタデータサーバの各々が、システムの一意識別子を生成するために使用されるべき値の指示を受信し、１つ又は複数の遠隔メタデータサーバに相互接続されたメタデータサーバに前記指示及び関連するカウント値を記憶し、少なくとも一部において前記指示と前記カウント値との和に１を増分した値に基づいて、システムの一意識別子を生成するために使用されるべき変更された値を前記遠隔メタデータサーバのうちの１つに送信するように構成され、各メタデータサーバは、さらに、少なくとも一部において前記指示と前記カウント値との和に１を増分した値に基づいて、前記メタデータサーバを使用してシステムの一意識別子を生成し、前記システムの一意識別子の生成に応じて、前記指示の前記記憶された値を変更し、前記システムの一意識別子の生成に応じて、前記記憶された関連するカウント値を変更する複数のメタデータサーバとを備えることを特徴とするシステム。
【請求項７】
前記複数のメタデータサーバが、一方向リングとして相互接続されることを特徴とする請求項６に記載のシステム。
【請求項８】
前記システムの一意識別子を生成するために使用されるべき値の指示が、トークンに関連して受信され、１度に複数のメタデータサーバのうちの１つのみが前記トークンを制御することを特徴とする請求項６に記載のシステム。
【請求項９】
命令が記憶されたコンピュータ可読媒体からなる物品であって、前記命令が１つ又は複数のプロセッサで実行されることにより、コンピュータを、
システムの一意識別子を生成するために使用されるべき値の指示を受信する手段と、
１つ又は複数の遠隔メタデータサーバに相互接続されたメタデータサーバに前記指示及び関連するカウント値を記憶する手段と、
少なくとも一部において前記指示と前記カウント値との和に１を増分した値に基づいて、システムの一意識別子を生成するために使用されるべき変更された値を前記遠隔メタデータサーバのうちの１つに送信する手段と、
少なくとも一部において前記指示と前記カウント値との和に１を増分した値に基づいて、前記メタデータサーバを使用してシステムの一意識別子を生成する手段と、
前記システムの一意識別子の生成に応じて、前記指示の前記記憶された値を変更する手段と、
前記システムの一意識別子の生成に応じて、前記記憶された関連するカウント値を変更する手段として機能させる命令が記憶されたことを特徴とする物品。
【請求項１０】
前記１つ又は複数のプロセッサに実行されることにより、
前記指示に関連する閾値を記憶する手段と、
前記指示が前記閾値以上である場合には信号を生成する手段として機能させる命令をさらに含むことを特徴とする請求項９に記載の物品。
【請求項１１】
前記１つ又は複数のプロセッサに実行されることにより、
前記カウント値に関連する閾値を記憶する手段と、
前記指示が前記カウント値以上である場合には信号を生成する手段として機能させる命令をさらに含むことを特徴とする請求項９に記載の物品。
【請求項１２】
前記システムの一意識別子を生成するために使用されるべき値の指示が、トークンに関連して受信され、１度に複数のメタデータサーバのうちの１つのみが前記トークンを制御することを特徴とする請求項９に記載の物品。
【請求項１３】
前記メタデータサーバ及び前記１つ又は複数の遠隔メタデータサーバが、一方向リングとして相互接続されることを特徴とする請求項９に記載の物品。
【請求項１４】
システムの一意識別子を生成するために使用されるべき値の指示を受信する手段と、
１つ又は複数の遠隔メタデータサーバに相互接続されたメタデータサーバに前記指示及び関連するカウント値を記憶する手段と、
少なくとも一部において前記指示と前記カウント値との和に１を増分した値に基づいて、システムの一意識別子を生成するために使用されるべき変更された値を前記遠隔メタデータサーバのうちの１つに送信する手段と、
少なくとも一部において前記指示と前記カウント値との和に１を増分した値に基づいて、前記メタデータサーバを使用してシステムの一意識別子を生成する手段と、
前記システムの一意識別子の生成に応じて、前記指示の前記記憶された値を変更する手段と、
前記システムの一意識別子の生成に応じて、前記記憶された関連するカウント値を変更する手段とを備えることを特徴とする装置。
【請求項１５】
前記システムの一意識別子を生成するために使用されるべき値の指示が、トークンに関連して受信され、１度に複数のメタデータサーバのうちの１つのみが前記トークンを制御することを特徴とする請求項１４に記載の装置。
【請求項１６】
前記メタデータサーバ及び前記１つ又は複数の遠隔メタデータサーバが、一方向リングとして相互接続されることを特徴とする請求項１４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はファイルシステム管理に関する。特に、本発明の実施形態は、例えばビデオ編集、ビデオアーカイブ、及び／又はビデオ配信をサポートすることができるシステムで使用することができる分散メタデータサーバを有するファイル管理システムを使用する技法に関する。
【背景技術】
【０００２】
一般に、ファイルシステムは、データの記憶及び検索に関する関数セットを提供するプログラム（又はプログラムセット）である。データは、例えば、不揮発性記憶装置（例えば、ハードディスク）又は揮発性記憶装置（例えば、ランダムアクセスメモリ）に記憶することができる。通常、「ファイルメタデータ」と呼ばれるファイルに関連するデータセット（例えば、ファイル名、アクセス許可）がある。このファイルメタデータには、ファイルアクセスプロセス中にアクセスすることができる。
【発明を実施するための最良の形態】
【０００３】
図は、本発明を制限するものではなく、例として、同様の参照番号は同様の要素を指す添付図面に示す。
【０００４】
以下の説明に多くの具体的な詳細を記す。しかし、本発明の実施形態は、これらの具体的な詳細に示したものでなくとも実施することができる。場合によっては、この説明の理解を曖昧にしないように、周知の回路、構造、及び技法については詳細に示さなかった。
【０００５】
[システム概観]
図１は、分散メタデータサーバを有するファイルシステムを利用するシステムの一実施形態のブロック図である。一実施形態では、図１のシステムの様々な構成要素は、標準的な相互接続技術（例えば、イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ（登録商標））、ギガビット「イーサネット」（Ｇｉｇａｂｉｔ  「Ｅｔｈｅｒｎｅｔ」）を使用して相互接続される。例えば、一実施形態では、スイッチファブリック１５０が、システム１００の様々な構成要素が互いに通信できるようにするギガビット「イーサネット」（又は１０ギガビット「イーサネット」）を相互接続したアーキテクチャであってもよい。
【０００６】
一実施形態では、スイッチファブリック１５０を介して、複数のクライアント装置（例えば、１３０、１３２、・・・、１３８）を相互接続することができる。クライアント装置は、ユーザが、システム１００を通して利用可能なデータにアクセスし、且つ／又は、他の様式で利用できるようにすることができる。一実施形態では、クライアント装置は、ユーザが様々なサーバに記憶されているデータを処理するのに十分な記憶容量及び入出力容量を有するコンピュータシステムである。例えば、マルチメディアシステムでは、クライアント装置により、ユーザは、記憶されているマルチメディアファイルにアクセスし、且つマルチメディアファイルを編集又は他の様式で利用することができる。
【０００７】
一実施形態では、図１のシステムは、システムに記憶されているファイルのメタデータをそれぞれ記憶することができる任意の数のメタデータサーバを含むことができる。一実施形態では、メタデータサーバは、ファイルシステムの管理を担当することができ、クライアント装置の主な連絡窓口にすることができる。一実施形態では、各クライアント装置は、システム内のファイルにアクセスするための標準ファイルシステムインタフェースを提示することができるファイルシステムドライバ（ＦＳＤ）ソフトウェアを含むことができる。
【０００８】
一実施形態では、図１の様々な電子システム（例えば、データサーバ、メタデータサーバ、クライアント）は、例えば、図２の電子システム等の電子システムである。図２に示す電子システムは、各種電子システム、例えばコンピュータシステム、ネットワークアクセス装置等を意図している。代替のシステムとして、電子システムであれ非電子システムであれ、より多数の構成要素、より少数の構成要素、及び／又は、異なる構成要素を含むことができる。
【０００９】
電子システム２００は、情報を通信するためのバス２０１又は他の通信装置及びバス２０１に結合されて情報を処理するプロセッサ２０２を含む。電子システム２００は、単一のプロセッサと共に示されるが、電子システム２００は複数のプロセッサ及び／又はコプロセッサを含んでもよい。電子システム２００は、バス２０１に結合されて、情報及びプロセッサ２０２により実行される命令を記憶するランダムアクセスメモリ（ＲＡＭ）又は他の動的記憶装置２０４（メモリと呼ばれる）をさらに含む。メモリ２０４は、プロセッサ２０２による命令の実行中の一時変数又は他の中間情報の記憶に使用することもできる。
【００１０】
電子システム２００は、バス２０１に結合されて、静的な情報及びプロセッサ２０２の命令を記憶する読み取り専用メモリ（ＲＯＭ）及び／又は他の静的記憶装置２０６も含む。データ記憶装置２０７がバス２０１に結合されて、情報及び命令を記憶する。磁気ディスク又は光ディスク等のデータ記憶装置２０７及び対応するドライブは、電子システム２００に結合することができる。
【００１１】
電子システム２００は、バス２０１を介して、陰極線管ディスプレイ（ＣＲＴ）又は液晶ディスプレイ（ＬＣＤ）等の情報をユーザに表示する表示装置２２１に結合することもできる。英数字キー及び他のキーを含む英数字入力装置２２２が、通常バス２０１に結合されて、情報及びコマンド選択をプロセッサ２０２に伝達する。別の種類のユーザ入力装置は、方向情報及びコマンド選択をプロセッサ２０２に伝達するとともに、ディスプレイ２２１上でのカーソル移動を制御する、マウス、トラックボール、又はカーソル方向キー等のカーソル制御機構２２３である。電子システム２００は、ローカルエリアネットワーク等のネットワークへのアクセスを提供するネットワークインタフェース２３０をさらに含む。
【００１２】
命令は、１つ又は複数の電子的にアクセス可能な媒体等に有線又は無線でアクセスを提供する遠隔接続を介して（例えば、ネットワーク上でネットワークインタフェース２３０を経由して）、磁気ディスク、読み取り専用メモリ（ＲＯＭ）集積回路、ＣＤ−ＲＯＭ、ＤＶＤ等の記憶装置からメモリに提供される。代替の実施形態では、ソフトウェア命令に代えて、又はこれと組み合わせてハードワイヤード回路を使用してもよい。したがって、命令シーケンスの実行は、ハードウェア回路及びソフトウェア命令のいかなる特定の組み合わせにも制限されない。
【００１３】
電子的にアクセス可能な媒体は、電子装置（例えば、コンピュータ、個人情報端末、携帯電話）により可読な形態のコンテンツ（例えば、コンピュータ実行可能命令）を提供する（すなわち、記憶し、且つ／又は伝送する）任意の機構を含む。例えば、機械アクセス可能媒体は、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置、電子、光学、音響、又は他の形態の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号）等を含む。
【００１４】
[ファイル識別子としてのＵＳＩＤ]
本明細書において述べるような分散ファイルシステムは、ファイルシステム内で一意の識別子を生成する能力を必要とする。これら識別子は、例えば、個々のファイルデータを識別や、一意のファイルハンドルを生成するために使用される。さらに詳細に後述するように、Ｕｎｉｑｕｅ  Ｓｈａｒｅｄ  Ｉｎｃｒｅｍｅｎｔｉｎｇ  Ｖａｌｕｅ（ＵＳＩＶ）を用いることにより、システム内の識別子として使うことができる。ＵＳＩＶは、特定のファイルシステムのオブジェクトの識別子として使用され、ファイルシステム内で一意に決まる番号である。
【００１５】
一実施形態では、ＵＳＩＶを生成し管理するメカニズムは、上述したトークンを用いたメカニズムが必要である。しかし、信頼性が高く順序付けられたシーケンシングが保証される異なる通信メカニズムを、ＵＳＩＶを管理するトランスポート用のメカニズムとして使用することができる。
【００１６】
一実施形態では、ＵＳＩＶは小さな整数で開始される。少数の小さな値（例えば、０、１、２）は特別用途のために確保してもよい。一実施形態では、ＵＳＩＶの値は、上述したトークンの一部として（又は上述したトークンに関連して）送信することができる。一実施形態では、メタデータサーバがＵＳＩＶを受信して、メタデータサーバは、メタデータサーバが使用できるローカルＵＳＩＶの「バケット（ｂｕｃｋｅｔ）」を確保することができる。メタデータサーバは、次に、トークンと共に送信されたＵＳＩＶをバケットの中の値の数分だけ増やす。これにより、次のメタデータサーバがＵＳＩＶを重複しないで使うようにすることが可能になる。
【００１７】
図３は、３つのメタデータサーバと併用されるＵＳＩＶの概念図である。図３の例では、３つのメタデータサーバが示されるが、任意の数のメタデータサーバをサポートすることができる。異なるメタデータサーバのバケット値及び閾値も、１つ又は複数のメタデータサーバにわたって一貫していてもよく、又はメタデータサーバは異なるバケット値及び閾値を有してもよい。
【００１８】
一実施形態では、システムが初期化されると、第１のメタデータサーバ（例えば、メタデータサーバ３４０）が初期ＵＳＩＶを受信又は生成するようにしてもよい。ＵＳＩＶは、メタデータサーバ３４０によりレジスタ又は他の記憶機構３４６に記憶する。メタデータサーバ３４０は、メタデータサーバがローカルで使用するために確保することができるＵＳＩＶの数に対応するバケット値３４２を記憶することもできる。一実施形態では、メタデータサーバ３４０は、メタデータサーバ３４０がいつ新しいＵＳＩＶ及びそれに対応するバケットを取得すべきかを決定するために用いられる閾値３４８を記憶することもできる。
【００１９】
一実施形態では、ＵＳＩＶ３４６を記憶した後、メタデータサーバ３４０は、新しいＵＳＩＶ３５０をメタデータサーバ３２０に送信するようにしてもよい。一実施形態では、ＵＳＩＶ３５０を、ＵＳＩＶ３４６にバケット値３４２と１を加えた数にする。例えば、ＵＳＩＶ３４６が５０であり、及びバケット値３４２が１０００である場合には、ＵＳＩＶ３５０は１０５１であり、これが、メタデータサーバ３２０が使うことができる次に利用可能なＵＳＩＶである。
【００２０】
メタデータサーバ３２０は、メタデータサーバ３４０によって実行されるプロセスを繰り返す。すなわち、メタデータサーバ３２０は、ＵＳＩＶ３５０をローカルＵＳＩＶ３２４として記憶し、バケット値３２２及び閾値３２８を記憶することができる。次に、メタデータサーバ３２０は、ＵＳＩＶ３２４にバケット値３２２と１とを加えた数を新しいＵＳＩＶ３３０として生成する。新しいＵＳＩＶ３５０はメタデータサーバ３６０に送信する。
【００２１】
メタデータサーバ３６０は、メタデータサーバ３２０によって実行されるプロセスを繰り返す。すなわち、メタデータサーバ３６０は、ＵＳＩＶ３３０をローカルＵＳＩＶ３６５として記憶し、バケット値３６２及び閾値３６８を記憶する。次に、メタデータサーバ３６０は、ＵＳＩＶ３６４にバケット値３６２と１を加えた数を新しいＵＳＩＶ３７０として生成することができる。新しいＵＳＩＶ３６０は、メタデータサーバ３４０に送信する。
【００２２】
一実施形態では、各メタデータサーバはローカルＵＳＩＶのバケット及び閾値を持ち、ローカルＵＳＩＶは必要に応じて更新すればよく、必ずしも新しいＵＳＩＶが受信される度に更新を行う必要はなく、この更新は例えば、トークンに関連して更新されてもよい。一実施形態では、メタデータサーバは、閾値により、新しいＵＳＩＶを取得しなければならない場合のみ、新しいＵＳＩＶを取得するようにしてもよい。これは、例えば、閾値がバケット値をそれ以上は下げられないレベルを示すようにして、新しいＵＳＩＶ及びバケット値を取得すべきであることを示すようにする、又は、閾値がローカルＵＳＩＶを渡せはないＵＳＩＶを示すようにして、新しいＵＳＩＶ及びバケット値を取得すべきであることを示すことにより、行うことができる。
【００２３】
図４は、メタデータサーバに記憶することができるローカルＵＳＩＶ、バケット値、及び閾値の概念図である。図４は、ローカルＵＳＩＶ（例えば、２０００）、バケット値（例えば、１０００）、及び閾値（例えば、２５０）の値の例を示す。メタデータサーバが、例えば、新しいファイルを作成するためにＵＳＩＶを要求すると、ローカルＵＳＩＶ（２０００）をファイルに使用することができ、ローカルＵＳＩＶを増すことができる（２００１）。ＵＳＩＶが増されたことに応じて、バケット値を減らすることができる（例えば、１０００から９９９に）。このプロセスは、ローカルＵＳＩＶが使用される度に、続けることができる。
【００２４】
一実施形態では、バケット値が閾値以下の場合、トークンを次に受信したときに、新しいＵＳＩＶを取得するメタデータサーバのトリガにすることができる。新しいＵＳＩＶは、図３に関連して上述したように取得することができる。メタデータサーバは、上述したように新しいＵＳＩＶを使用して機能することができる。したがって、各メタデータサーバは、分散メタデータサーバを使用するシステムにおいて、識別子を用いた中央制御を行わずにメタデータサーバが使用できるＵＳＩＶのローカル割り当てを確保することができる。
【００２５】
［終わりに］
本明細書中での「一実施形態」又は「実施形態」への言及は、その実施形態に関連して説明された特定の機構、構造、又は特徴が本発明の少なくとも１つの実施形態に含まれることを意味する。本明細書中の様々な場所に現れる語句「一実施形態では」は、必ずしもすべてが同じ実施形態を指しているわけではない。
【００２６】
上記明細書において、本発明の特定の実施形態を参照して本発明を説明した。しかし、本発明のより広い趣旨及び範囲から逸脱することなく、説明された本発明の特定の実施形態に対し様々な修正及び変更を加えることができることが明らかになるであろう。したがって、本明細書及び図面は制限の意味ではなく例示の意味で考えられるべきである。
【図面の簡単な説明】
【００２７】
【図１】分散メタデータサーバを有するファイルシステムを利用することができるシステムの一実施形態のブロック図である。
【図２】電子システムの一実施形態のブロック図である。
【図３】これらメタデータサーバと併用するためのＵＳＩＶの概念図である。
【図４】メタデータサーバに記憶することができるローカルＵＳＩＶ、バケット値、及び閾値の概念図である。
【図１】
2009529191.tif 000003
【図２】
2009529191.tif 000004
【図３】
2009529191.tif 000005
【図４】
2009529191.tif 000006
【国際調査報告】
2009529191.tif 000007
2009529191.tif 000008
2009529191.tif 000009