(57)【特許請求の範囲】
【請求項１】
プロセッサを有する装置上で、論理ディスクのキャパシティを、少なくとも１つの記憶装置を有する記憶装置セット上に割り当てる方法であって、当該方法は、
論理ディスクのキャパシティを割り当てるための割り当て要求を受信したことを受けて、
レイアウトプランを指定し且つ前記割り当て要求の前記キャパシティを一緒になって満足する少なくとも１つのスラブを生成し、
それぞれのスラブに関して、前記レイアウトプランを一緒になって満足する前記記憶装置上のエクステントを割り当て、且つ
論理ディスクの少なくとも１つの位置にアクセスするためのアクセス要求を受信したことを受けて、
前記アクセス要求のそれぞれの位置を有する少なくとも１つのスラブを特定し、
それぞれのスラブに関して、
該スラブの前記レイアウトプランを特定し、
該レイアウトプランに従って該スラブの前記エクステントにアクセスする、
ように構成された命令を前記プロセッサ上で実行することを有する、
方法。
【請求項２】
前記記憶装置セットを表す記憶装置セット表現が、
それぞれがスラブのシーケンスとして表される複数の論理ディスクを有する論理ディスクセットと、
それぞれがエクステントの集合として表される複数のスラブを有するスラブセットと、
それぞれが記憶装置、物理アドレス、及びエクステント長として表される複数のエクステントを有するエクステントセットと
を有する、請求項１に記載の方法。
【請求項３】
第１のスラブキャパシティを有する第１のスラブが論理ディスクに割り当てられ、且つ
前記第１のスラブキャパシティと異なる第２のスラブキャパシティを有する第２のスラブが該論理ディスクに割り当てられる、
請求項１に記載の方法。
【請求項４】
それぞれの論理ディスクがプロビジョニングプランを有し、
前記記憶装置上の前記エクステントを割り当てることは、論理ディスクのキャパシティを割り当てるための前記割り当て要求を受信したことを受けて、該論理ディスクの前記プロビジョニングプランに従ってエクステントを割り当てることを有し、且つ
論理ディスクの前記スラブにアクセスすることは、該論理ディスクの前記プロビジョニングプランに従って前記スラブの前記エクステントにアクセスすることを有する、
請求項１に記載の方法。
【請求項５】
前記プロビジョニングプランは、
前記論理ディスクの前記キャパシティを満足するスラブの即座の割り当てを指定する固定プロビジョニングプランと、
アクセス要求に応答して前記スラブにアクセスしながらの論理ディスクのスラブの割り当てを指定する遅延プロビジョニングプランと
を有するプロビジョニングプランセットに従って選択される、請求項４に記載の方法。
【請求項６】
遅延プロビジョニングプランに従って論理ディスクのスラブにアクセスすることは、
前記論理ディスクの位置を指定するアクセス要求を受信したことを受けて、
前記アクセス要求の前記位置に関連付けられたスラブを特定し、
該スラブを特定したことを受けて、前記アクセス要求に従って該スラブにアクセスし、
前記アクセス要求の前記位置に関連付けられたスラブを特定できないことを受けて、
前記論理ディスクのためにスラブを割り当て、且つ
前記アクセス要求によって指定された前記論理ディスクの前記位置に該スラブを関連付ける、
ことを有する、請求項５に記載の方法。
【請求項７】
前記アクセス要求は、前記論理ディスクの位置を指定する読み出し要求を有し、
前記命令は、前記読み出し要求の前記位置に関連付けられたスラブをできないことを受けて、前記読み出し要求に応答してデフォルト値を返すように構成される、
請求項６に記載の方法。
【請求項８】
論理ディスクのキャパシティを少なくとも１つの記憶装置を有する記憶装置セット上に割り当てるシステムであって、
レイアウトコンポーネントであり、
レイアウトプランを指定するスラブ割り当て要求を受信したことを受けて、前記スラブ割り当て要求及び前記レイアウトプランを一緒になって満足する前記記憶装置上のエクステントを割り当て、且つ
スラブにアクセスするためのレイアウトアクセス要求を受信したことを受けて、
該スラブの前記レイアウトプランを特定し、
該レイアウトプランに従って該スラブの前記エクステントにアクセスする、
ように構成されたレイアウトコンポーネントと、
プロビジョニングコンポーネントであり、
論理ディスクのキャパシティを割り当てるためのキャパシティ要求を受信したことを受けて、レイアウトプランを指定し且つ前記キャパシティ要求の前記キャパシティを一緒になって満足する少なくとも１つのスラブを生成し、且つ該レイアウトプランを指定する少なくとも１つのスラブ割り当て要求を生成し、
それぞれの論理ディスクをスラブのシーケンスとして提示し、且つ
前記論理ディスクの或る位置にアクセスするためのアクセス要求を受信したことを受けて、
前記アクセスの前記位置を有する少なくとも１つのスラブを特定し、
前記アクセス要求に従って該スラブにアクセスするためのレイアウトアクセス要求を生成する、
ように構成されたプロビジョニングコンポーネントと、
を有するシステム。
【請求項９】
前記レイアウトプランは、
１つの記憶装置上のエクステントの割り当てを指定するモノリシックレイアウトプランと、
前記スラブ割り当て要求の前記キャパシティを一緒になって提供する少なくとも２つの記憶装置上のエクステントの割り当てを指定するストリッピングレイアウトプランと、
前記スラブ割り当て要求の前記キャパシティをそれぞれが提供するミラーリングされるエクステントの割り当てを指定するミラーリングレイアウトプランと、
前記スラブ割り当て要求の前記キャパシティを一緒になって提供する少なくとも１つの記憶装置上の少なくとも１つのデータエクステントと、該データエクステントに関するベリファイアを格納する少なくとも１つの他の記憶装置上の少なくとも１つのベリファイアエクステントと、の割り当てを指定する検証レイアウトプランと、
を有するレイアウトプランセットから選択される、請求項８に記載のシステム。
【請求項１０】
前記レイアウトコンポーネントは、故障記憶装置の故障を検出したことを受けて、
前記故障記憶装置のそれぞれのエクステントに対し、
該エクステントを有するスラブを特定し、
該スラブに代替エクステントを割り当て、且つ
少なくとも１つの代替エクステントを有し且つ障害回復レイアウトプランを持つそれぞれのスラブに対し、前記代替エクステントを含んだ前記スラブのリペアを開始する、
ように構成される、請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピューティング分野に関する。
【背景技術】
【０００２】
コンピューティング分野では、多くの状況が、ストレージコントローラによって管理される例えば一組のハードディスクドライブなどの記憶装置セットにデータを記憶することを必要とする。記憶装置セットは、例えば、様々なアドレシング方式、記憶装置のキャパシティの容量集約の形態、及びレジリエンシーやプロビジョニングのプランを用いてなど、多くの手法で構成され得る。例えば、論理ディスク又は論理ボリュームが２つ以上の記憶装置又はその記憶領域の共有キャパシティを用いて提示されるストレージプールが生成され得る。
【０００３】
記憶装置セットの構成は、しばしば、それらの記憶装置のうちの１つ以上の物理媒体上に格納され、例えば、１つ以上の記憶装置、１つ以上のストレージプール、それらストレージプールから明示されるスペース、及び、物理記憶領域から割り当てられて上記スペースの対応する論理記憶領域にマッピングされる物理的な範囲、を表す表現の組として記憶される。物理的な記憶装置上の記憶装置セットの表現の持続性により、ストレージサービスが障害（例えば、その記憶装置セットを用いるコンピュータの揮発性メモリを消去してしまう停電、又は、障害回復ストレージプランの使用を介した故障記憶装置のデータの代替記憶装置上での再構築）から回復することが可能にされ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実施形態によれば、論理ディスクのキャパシティを少なくとも１つの記憶装置を有する記憶装置セット上に割り当てる方法及びシステムが提供される。
【課題を解決するための手段】
【０００５】
この概要は、詳細な説明にて更に後述する概念の一部を簡略化して紹介するためのものである。この概要は、特許請求に係る事項の主要な要素又は本質的な特徴を特定することを意図したものでもないし、特許請求に係る事項の範囲を限定することに使用されることを意図したものでもない。
【０００６】
記憶装置セットを利用するコンピュータは、記憶装置に格納された構成情報を頻繁に参照する必要なく記憶装置に正確にアクセスするために、記憶装置セットの構成の揮発メモリ表現を生成し得る。一部の状況において、コンピュータは、単純に、物理媒体に記憶された構成に構造的に等しい揮発メモリ表現を生成し得るが、ストレージセットのこの表現は揮発性メモリの使用に非効率であることがある。例えば、記憶装置の物理媒体上に存続される表現は、記憶効率、同時アクセス、及び他の記憶装置上の物理媒体表現のミラーリングの促進のために選択されることがある。しかしながら、ストレージセット構成の物理媒体表現のこれらの特性は、ストレージセットにアクセスするために頻繁に参照され得るものである揮発メモリ表現にとって特には有利でないことがある。例えば、物理メモリ表現は、或るスペースの論理位置に対応するエクステント内の物理位置の識別を可能にし得るが、この決定は、高度に効率が良いものではないことがあり、また、記憶装置にアクセスする際のコンピュータの応答性を遅らせてしまい得る。故に、コンピュータによる活発な使用のためにこのような決定を支援するような、記憶装置セットの構成の異なる表現を生成することが有利となり得る。
【０００７】
ここに、記憶装置セットの構成の揮発メモリ表現を生成する技術が提示される。これらの技術によれば、記憶装置セットは、各論理ディスクが、プロビジョニングされるキャパシティ及びレイアウトプランを各スラブが有する一組のスラブを有した、一組の論理ディスクとして表され得る。そして、それぞれのスラブは、記憶装置上の物理的な割り当てとして特定される多数のエクステントを有する。ストレージセットのこのモデルは、例えば階層又はツリーとして、揮発性メモリ内で表現され、特定の論理位置のデータを格納しているエクステントの物理位置の迅速な決定を可能にし得る。また、このように表されるストレージセットへのアクセスは、一組のスラブとして記憶装置とインタフェースするように構成されるプロビジョニングコンポーネントと、スラブアクセス要求を物理エクステントのアクセスへと変換するように構成されたレイアウトコンポーネントと、を有するシステムによって遂行され得る。このようなアクセスシステムのアーキテクチャは、効率的な分担を可能にし、例えば、プロビジョニングコンポーネントが記憶装置セットを総体的に管理してプロビジョニングプランの詳細（例えば、或るキャパシティのスラブの割り当て要求の遂行）を取扱い、レイアウトコンポーネントがレイアウトプランの詳細（例えば、各スラブ割り当て要求に対し、例えば、複数の記憶装置にまたがるスラブのストレージのストリッピングや、複数の記憶装置にまたがるスラブのキャパシティのミラーリングなど、レジリエンシープランを満足する物理記憶装置上のエクステントを割り当てる）を実行し得る。
【０００８】
上述の目的及び関連する目的の完遂のため、以下の詳細な説明及び添付の図面により、特定の例示的な態様及び実装形態を説明する。これらは、１つ以上の態様が使用され得る様々な様子を示すものであるが、そのうちのほんの数例である。以下の詳細な説明を添付の図面とともに考察することで、開示に係る他の態様、利点、及び新規な特徴が明らかになる。
【図面の簡単な説明】
【０００９】
【図１】記憶装置セットの不揮発メモリ表現を特徴付ける例示的な状況を示す図である。
【図２】ここに提示される技術に従った記憶装置セットの揮発メモリ表現を特徴付ける例示的な状況を示す図である。
【図３】ここに提示される技術に従った記憶装置セットの記憶装置上に論理ディスクのキャパシティを割り当てる例示的な方法を示すフローチャートである。
【図４】ここに説明される対策の１つ以上を具現化するように構成されたプロセッサ実行可能命令を有する例示的なコンピュータ読み取り可能媒体を示す図である。
【図５】ここに説明される対策の１つ以上が実装され得る例示的なコンピューティング環境を示す図である。
【発明を実施するための形態】
【００１０】
続いて、図面を参照して、特許請求に係る事項を説明する。図面においては全体を通して、同様の要素を参照することには似通った参照符号を使用する。以下の説明において、説明の目的で、特許請求に係る事項の完全なる理解を提供するため、数多くの具体的詳細事項を説明する。しかしながら、明らかなように、特許請求に係る事項は、それらの具体的詳細事項を用いなくても実施され得るものである。また、特許請求に係る事項を記述することを容易にするため、構造及び装置はブロック図の形態で示すこととする。
【００１１】
Ａ．背景
コンピューティング分野では、多くの状況が、記憶装置セットの不揮発性記憶装置のアクセスを必要とする。そのような記憶装置は、数多くの種類（例えば、ハードディスクドライブ、ソリッドステート記憶装置、及び磁気ディスク若しくは光ディスク）を有し、また、数多くの種類のデータ（例えば、ファイル、電子メールメッセージ、データベース記録、若しくはメディアオブジェクト、又はこれらの組み合わせ）を格納するために使用され得る。記憶装置は、或る特定のコンピュータ又は装置に取り付けられることもあるし、ネットワークに接続されて、それを介してアクセスされることもある。記憶装置はまた、独立に（例えば、記憶装置セットのうちの他の記憶装置との交信がなく、あるいは更には、相互に認識し合うことなく）動作することもあるし、密にではなく強調して（通信して状態の通知を交換して）動作することもあるし、あるいは、密に相互動作して（例えば、例えばＲＡＩＤ（Redundant  Array  of  Inexpensive  Disks）機器など、一組のハードディスクドライブを１つのストレージコントローラに担わせて）動作することもある。また、複数の記憶装置の相互動作及び／又は使用は、それらの中に格納されるデータ間に論理的あるいは実際的なパーティションを生じさせたり、データの集約を生じさせたりし得る。例えば、２つ以上の記憶装置の利用可能なキャパシティが、単一の一体化されたボリュームとしてコンピュータに提示されるストレージプールに集約され得る。
【００１２】
記憶装置はまた、例えばスパニング（例えば、複数の記憶装置のキャパシティを論理的に連結させる）、ストリッピング（例えば、複数の記憶装置間でシーケンシャルな論理アドレスをインターリーブする）、ミラーリング（例えば、データセットの同じコピーを記憶装置セットのそれぞれの記憶装置に格納し、そのデータセットへの変更をこれらコピーの全てに自動的且つ同時に適用することによってこれらコピーの同一性を維持管理する）、及びパリティ計算（例えば、１つ以上の記憶装置にデータが記憶されるときに、例えば記憶装置の障害からの回復を可能にするため、格納されるデータのチェックサムが自動的に計算されて異なる記憶装置に格納され得る）など、様々なレイアウトプランを使用し得る。さらに、記憶装置のキャパシティは、様々なプロビジョニングプランに従ってプロビジョニングされ得る。第１の例として、固定プロビジョニングプランにおいて、記憶領域を割り当てることの要求が受信されるとき、１つ以上の記憶装置が即座に、このプロビジョニング要求で要求されたキャパシティの全てを割り当て、要求しているユーザ又はプロセスに、このキャパシティが利用可能であることを通知し得る（そして、必要に応じて、このキャパシティをデフォルト値で初期化し得る）。第２の例として、遅延プロビジョニングプランにおいて、記憶領域を割り当てることの要求が受信されるとき、記憶装置は、記憶領域が書き込みに利用可能であることを指し示し得るが、この記憶領域のキャパシティを即座には割り当てない。むしろ、記憶装置は、その記憶領域内の或る位置へのアクセス要求を待ち、該アクセス要求を受信すると、記憶装置の物理的なストレージ（例えば、エクステント）を即座に割り当て、それをその位置の論理アドレスに結び付け得る。この“ジャスト・イン・タイム”の遅延プロビジョニングは性能向上を示し得る（例えば、記憶装置を生成することの要求に速やかに応えること、及び／又は記憶装置セットの利用可能なキャパシティの、未使用で残っている記憶領域のキャパシティを割り当てる場合より効率的な割り当て）。更なる変形として、“シン”プロビジョニングプランにおいて、記憶装置セットは、記憶装置セットの利用可能なキャパシティを超えるキャパシティを割り当てることの要求を認可し得る。その代わり、記憶装置セットは、使用されるままにキャパシティを割り当て、利用可能なキャパシティが残り少なくなると、更なるキャパシティを提供する記憶装置を追加するようアドミニストレータに通知し得る。これら及びその他のタイプのレイアウトプラン及び／又はプロビジョニングプランが記憶装置に適用され得る。
【００１３】
複数の記憶装置、ストレージプール、及びレイアウト・プロビジョニングプランが関与する複雑なストレージ状況を表現するため、記憶装置セットは、複数の記憶装置の物理的な不揮発表現とそれら間の割り当てを記憶し得る。例えば、或るクラスタのストレージプールマネジャが、様々なプロセスのために記憶領域及びキャパシティを割り当てることの要求を処理するよう指名され、ストレージプールの割り当て及び特徴を記述するメタデータを格納するよう構成される１つ以上の記憶装置の記憶領域への排他的な書き込みアクセスを有し得る。また、記憶装置セットの不揮発表現は、何れかの記憶装置上の上記メタデータの利用を可能にするため、記憶装置間で自動的に同期化され得る。例えば、記憶装置の何れかが故障した場合、その他の記憶装置が、記憶装置セットの不揮発表現を用いて、故障した記憶装置のコンテンツを決定し、そこに格納されたデータを再構築し得る。
【００１４】
図１は、１つ以上の記憶装置に記憶され得る記憶装置セットの不揮発表現を特徴付ける例示的な状況１００を示している。この不揮発表現は、例えば、複数の記憶装置１０８の各々と、１つ以上のストレージプール１０４と、ストレージプール１０４から明示される例えば論理ボリューム、パリティスペース及びジャーナルなどのスペース１０６と、記憶装置の物理キャパシティから割り当てられて、それぞれのスペース１０６のそれぞれの論理アドレスに結び付けられた物理的エクステント１１０と、を表すレコードを含み得る。この例示的な不揮発表現は、記憶装置セットの記憶装置によって実行され示される割り当て、プロビジョニング及び関係を決定するために、記憶装置セットにアクセスすることを求めるコンピュータ又は装置によって読み出され得る。
【００１５】
コンピュータはまた、その揮発性メモリ内に、記憶装置セットの表現を生成し得る。例えば、記憶装置セットの特定の論理位置にアクセスするため、コンピュータは、その論理位置が格納された物理位置を特定しようとし、また、記憶装置セットのプロビジョニングプラン及び／又はレイアウトプランに従おうとし得る。１つのこのような状況において、コンピュータは、単純に不揮発表現を揮発性メモリ内にロードし、上述のような決定を行うためにその不揮発表現を参照し得る。しかしながら、不揮発表現と揮発性のメモリ内表現との間の使用における相違が、不利益を提示し得る。例えば、不揮発表現は、記憶装置セットの特性を、正確且つ一貫しているように、例えば、多数のコンピュータ及び記憶装置が同時にアクセス及び／又は更新を行い得るように、記録するよう生成され得る。特に、記憶装置上に記憶される不揮発表現は稀にしかアクセスされないことがあり（例えば、コンピュータ又は記憶装置によって稀に読み出されるのみであることがあり）、また、性能に関して工夫されたり最適化されたりしていないことがある。例えば、或る特定のスペース１０６に結合されたエクステント１１０を位置特定するために、コンピュータはスペース１０６及び／又はエクステント１１０の全てを検査しなければならないことがある。何故なら、これらの構造は特定の手法で索引付けられたり順序付けられたりしていないことがあるためである。しかしながら、コンピュータは、例えば毎秒何度もといったように、頻繁に揮発メモリ表現を使用しようとし得る。故に、揮発メモリ表現の構造は、記憶装置にアクセスする際のコンピュータの性能に影響を及ぼし、迅速なアクセスのために特別に構成されていない揮発メモリ表現（例えば、不揮発メモリ表現）は、コンピュータの性能を有意に損ねてしまい得る。また、コンピュータは、多量の揮発性ストレージキャパシティを有し得るとともに、自身の揮発性メモリを他のコンピュータに露呈しないことがあり、故に、表現のサイズを縮小し且つ同時アクセス発行を抑制するための不揮発表現の構成は、そのコンピュータによる使用には適用可能でないことがある。
【００１６】
Ｂ．提示する技術
例えばコンピュータなどの装置の揮発性メモリに記憶されて記憶装置セットへのアクセスを支援し得る記憶装置セットの表現を生成する技術をここに提示する。特に、関心ある論理位置に対応する記憶装置の物理位置の特定を速めるように表現を構造化することは、記憶装置セットにアクセスする際のコンピュータの性能に有意に影響を与え得る。
【００１７】
図２は、コンピュータ又はその他の装置の揮発性メモリ内に生成されて記憶装置セットの論理キャパシティにアクセスするために迅速利用され得る記憶装置セットの揮発メモリ表現、を特徴付ける例示的な状況２００を示している。この例示的な状況２００において、揮発メモリ表現２０２は、コンピュータ上で明示される一組の論理ディスク２０４で開始する階層を有している。論理ディスク２０４は、論理ディスク２０４の記憶キャパシティの論理ブロックを各々が有する複数のスラブ２０６に関連付けられる。スラブ２０６は、提供されたサイズ２０８を有し、且つ／或いはレイアウトプラン２１０（例えば、ミラーリングされたスラブ、ストリッピングされたスラブ、又はパリティスラブ）を指し示し得る。しかしながら、レイアウトプラン２１０の詳細はスラブ２０６のレベルでは露呈されず、例えば１００ギガバイトのミラーリングスラブと、１００ギガバイトの単純スラブは、同じ提供サイズ２０８で表現されることができ、たとえ（２つの記憶装置上で実行される場合に）ミラーリングによって２００ギガバイトの物理キャパシティが使用されようとも、各々が１００ギガバイトの提供キャパシティを論理ディスク２０４に提供し得る。むしろ、レイアウトプラン２１０の詳細は、それぞれのスラブ２０６に割り当てられて結合されるものであるとともに記憶装置１０８の物理キャパシティから提供されるものである下位レベルのエクステント１１０にて使用される。
【００１８】
この揮発メモリ表現２０２は、論理アドレスに関連付けられた物理位置を効率よく特定するために利用され得る。例えば、論理アドレスは論理ディスク２０４を指定し得る。特定の論理アドレスを用いて、論理ディスク２０４のその論理アドレスに結合されたスラブ２０６が特定され得る。次に、そのスラブ２０６内の論理位置を用いて、スラブ２０６内のその論理アドレスを含む論理アドレス範囲に結合されたエクステント１１０が特定され得る。論理アドレス範囲はエクステント１１０内の物理アドレスに変換可能である。最後に、エクステント１１０内の物理アドレスが、要求された論理位置が見出されてアクセスされる記憶装置１０６上の物理位置にマッピングされ得る。このように、揮発メモリ表現２０２の階層的な性質は、論理ディスク２０４の論理位置にマッピングされる記憶装置１０８の物理位置を迅速に特定するのに特に適したものであり得る。
【００１９】
さらに、揮発メモリ表現２０２の階層性は、記憶装置のキャパシティを割り当てることの複雑さに柔軟に対処するアクセス機構の開発を可能にし得る。特に、スラブ２０６の割り当て（プロビジョニングプランに従う）とエクステント１１０の割り当て（スラブ２０６のレイアウトプラン２１０に従う）との間の概念上のパーティションが特定され得る。特に、或る位置にアクセスするかキャパシティを割り当てるかの要求が、記憶装置セットの論理記憶キャパシティを総合的に評価し得るとともにスラブ２０６のプロビジョニングプランのプロビジョニングコンセプトを適用し得るプロビジョニングコンポーネント２２０によって概念的に取り扱われ得る。しかしながら、アクセス要求及び割り当て要求は、それぞれのスラブのレイアウトプラン２１０を執行し得るレイアウトコンポーネント２２２によって取り扱われ得る物理アクセス要求へと変換され得る。例えば、即座にプロビジョニングされる１００ギガバイトのキャパシティと二重のミラーリングレイアウトプランとをスラブ２０６に割り当てることの要求は、第１に、即座に割り当てられる１００ギガバイトのキャパシティをスラブ２０６に割り当てることのプロビジョニングコンポーネント２２０への要求として処理され、第２に、２つの異なる記憶装置１０８上の２つの１００ギガバイトのエクステント１１０の形態で該スラブ２０６のキャパシティを割り当てることのレイアウトコンポーネント２２２への要求として処理され得る。同様に、論理ボリューム２０４の或る論理アドレスにあるデータセットにアクセスすることの要求を受信すると、プロビジョニングコンポーネント２２０が、その論理ボリュームの論理アドレスに関連付けられたスラブ２０６を特定して、該アクセス要求を、スラブ２０６の特定の論理位置にアクセスするためのスラブアクセス要求へと変換し得る。しかしながら、レイアウトコンポーネント２２２が、そのスラブ２０６を検査し、３つの記憶装置１０８上に格納された３つのエクステント１１０にまたがるストリッピングレイアウトプラン２１０を特定し得る。レイアウトコンポーネント２２２は、故に、それぞれのエクステント１１０上のデータセットのそれぞれの部分にアクセスするための３つのアクセス要求を生成し、読み出されたデータをオリジナルデータセットへとデストリッピングし得る。斯くして、プロビジョニングコンポーネント２２０及びレイアウトコンポーネント２２２は、アクセスタスク及び割り当てタスクを、プロビジョニングプランを伴う論理ディスク２０４及びスラブ２０６との論理インタラクションと、スラブ２０６によって使用されるレイアウトプランに従ったストレージセットの記憶装置１０８及びエクステント１１０との物理インタラクションとに分割し得る。
【００２０】
Ｃ．主な実施形態
図２は、記憶装置セットの記憶装置１０８上に論理ディスク２０４のキャパシティを割り当てるように構成された例示的なシステム２１８として示された、これらの技術の第１の実施形態を特徴付ける例示的な状況２００を示している。この例示的なシステム２１８は、例えば、コンピュータのメモリコンポーネント（例えば、メモリ回路、ハードディスクドライブの円盤状記憶媒体、ソリッドステート記憶装置、又は磁気ディスク若しくは光ディスク）に格納された命令セットを各々が有する一組の相互運用コンポーネントとして実装されることができ、これらの命令セットが、該コンピュータのプロセッサによって実行されるとき、該コンピュータに、ここに提示される技術に従ってキャパシティを割り当てさせ得る。例示的なシステム２１８はレイアウトコンポーネント２２２を有しており、レイアウトコンポーネント２２２は、レイアウトプランを指定したスラブ割り当て要求を受信すると、一緒に協力して該スラブ割り当て要求及び該レイアウトプランを満足する複数の記憶装置１０８上のエクステントを割り当てるように構成される。レイアウトコンポーネント２２２は更に、或るスラブにアクセスするためのレイアウトアクセス要求を受信すると、レイアウトプランに従って該スラブのエクステントにアクセスするよう構成される。例示的なシステム２１８はまた、プロビジョニングコンポーネント２２０を含んでおり、プロビジョニングコンポーネント２２０は、論理ディスクのキャパシティを割り当てるためのキャパシティ要求を受信すると、レイアウトプランを指定した少なくとも１つのスラブ割り当て要求を生成し、それぞれの論理ディスクを一連のスラブとして提示するように構成される。プロビジョニングコンポーネント２２０は更に、論理ディスクの或る位置にアクセスするためのアクセス要求を受信すると、そのアクセス位置を有する少なくとも１つのスラブを特定し、アクセス要求に従ったスラブにアクセスするためのレイアウトアクセス要求を生成するように構成される。斯くして、例示的なシステム２１８は、ここに提示される技術に従って記憶装置セットの記憶装置１０８上にキャパシティを割り当てる。
【００２１】
図３は、ここに提示される技術の第２の実施形態を示しており、少なくとも１つの記憶装置１０８を有する記憶装置セット上に論理ディスクのキャパシティを割り当てる例示的な方法３００として示されている。例示的な方法３００は、例えば、コンピュータのメモリコンポーネント（例えば、メモリ回路、ハードディスクドライブの円盤状記憶媒体、半導体メモリ部品、又は磁気ディスク若しくは光ディスク）に格納された命令セットとして実装されることができ、これらの命令セットが、該コンピュータのプロセッサによって実行されるとき、該コンピュータに、ここに提示される技術を実行させ得る。例示的な方法３００は、ステップ３０２で開始し、ステップ３０４にてプロセッサ上で命令を実行することを含む。具体的には、それらの命令は、ステップ３０６にて論理ディスクのキャパシティを割り当てるための割り当て要求を受信して、ステップ３０８にて、レイアウトプランを指定し且つ割り当て要求のキャパシティを一緒に協力して満足する少なくとも１つのスラブを生成し、ステップ３１０にて、それぞれのスラブに対し、レイアウトプランを一緒に協力して満足する記憶装置上のエクステントを割り当てる。それらの命令はまた、ステップ３１２にて論理ディスクの少なくとも１つの位置にアクセスするためのアクセス要求を受信したことを受けて、ステップ３１４にてレイアウトアクセス要求のそれぞれの位置を有するスラブを特定し、ステップ３１６でそれぞれのスラブに対し、ステップ３１８でのスラブのレイアウトプランを特定することと、ステップ３２０でのレイアウトプランに従ってスラブのエクステントにアクセスすることとを実行する、ように構成される。ここに提示される技術に従った記憶装置上でのキャパシティの割り当てが達成され、例示的な方法３００はステップ３２２で終了する。
【００２２】
更なる他の一実施形態は、ここに提示される技術を適用するように構成されたプロセッサ実行可能命令を有するコンピュータ読み取り可能媒体を含む。そのようなコンピュータ読み取り可能媒体は、装置のプロセッサによって実行されるときに該装置にここに提示される技術を実行させるコンピュータ読み取り可能命令のセットをエンコードした、例えば、メモリ半導体（例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、及び／又は同期式ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）技術を利用する半導体）、ハードディスクドライブの円盤状記憶媒体、フラッシュメモリデバイス、又は磁気ディスク若しくは光ディスク（例えば、ＣＤ−Ｒ、ＤＶＤ−Ｒ、又はフロッピー（登録商標）ディスクなど）などの有形の装置を含むコンピュータ読み取り可能記憶媒体を含み得る。そのようなコンピュータ読み取り可能媒体はまた、（コンピュータ読み取り可能記憶媒体から区別される技術クラスとして、）装置のプロセッサによって実行されるときに該装置にここに提示される技術を実行させるコンピュータ読み取り可能命令のセットをエンコードした、様々な物理現象を介して様々な有線シナリオ（例えば、イーサネット（登録商標）若しくは光ファイバケーブルを介する）及び／又は無線シナリオ（例えば、ＷｉＦｉなどの無線ローカルエリアネットワーク（ＷＬＡＮ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などのパーソナルエリアネットワーク（ＰＡＮ）、又はセルラーネットワーク若しくはラジオネットワーク）で伝播され得る信号（例えば、電磁信号、音波信号、若しくは光信号）などの、様々な種類の通信媒体を含み得る。
【００２３】
このような手法で考え出され得る例示的なコンピュータ読み取り可能媒体を図４に示す。図４において、実装４００は、コンピュータ読み取り可能なデータ４０４がエンコードされたコンピュータ読み取り媒体（例えば、ＣＤ−Ｒ、ＤＶＤ−Ｒ、又はハードディスクドライブの円盤状記憶媒体）を有している。そして、コンピュータ読み取り可能なデータ４０４は、コンピュータ４１０のプロセッサ４１２上で実行されるときにコンピュータ４１０にここに説明される原理に従って記憶装置１０８上にストレージを割り当てさせる一組のコンピュータ命令４０６を有する。１つのそのような実施形態において、プロセッサ実行可能命令４０６は、例えば図３の例示的な方法３００など、記憶装置セットの記憶装置上に論理ディスクのストレージを割り当てる方法を実行するように構成され得る。このコンピュータ読み取り可能媒体の一部の実施形態は、このように構成されたプロセッサ実行可能命令を格納するように構成された非一時的なコンピュータ読み取り可能記憶媒体（例えば、ハードディスクドライブ、光ディスク、又はフラッシュメモリデバイス）を有し得る。ここに提示される技術に従って処理を行うように構成された数多くのこのようなコンピュータ読み取り可能媒体が、当業者によって考え出され得る。
【００２４】
Ｄ．バリエーション
ここに記載の技術は、数多くの側面でのバリエーションとともに考案されることができ、一部のバリエーションは、これら及びその他の技術の他のバリエーションに対して、更なる利点を提供し、且つ／或いは欠点を抑制し得る。また、幾つかのバリエーションが組み合わせて実装されてもよく、一部の組み合わせは、相乗的な協働による更なる利点及び／又は抑制された欠点を特徴とし得る。バリエーションは、様々な実施形態に組み入れられて、それらの実施形態の個々の利点及び／又は相乗的な利点を与え得る。
【００２５】
Ｄ１．シナリオ
これらの技術の実施形態間で様々であり得る第１の側面は、これらの技術が使用され得るシナリオに関する。この第１の側面の第１バリエーションとして、これらの技術は、ハードディスクドライブ、ソリッドステート記憶装置、不揮発性メモリ回路、テープベースの記憶装置、並びに磁気ディスク及び光ディスクを含む数多くの種類の記憶装置とともに使用され得る。このような記憶装置はまた、これらの技術を実装する装置（例えばコンピュータなど）に直接的に接続され、有線又は無線のローカルエリアネットワーク（例えば、８０２．１１  ＷｉＦｉネットワーク若しくはアドホック接続、又は赤外線接続）を介してアクセス可能にされ、且つ／或いは有線又は無線の広域ネットワーク（例えば、セルラーネットワーク又はインターネット）を介してアクセス可能にされ得る。また、これらの技術は、独立に動作する（例えば、ソフトウェアプロセスにより独立にアクセスされる記憶装置）、密にではなく相互動作する（例えば、独立に動作するが、ストレージセットを共有する他の記憶装置を通知されてそれと通信する記憶装置）、あるいは密に相互動作する（例えば、複数の記憶装置を１つのストレージシステムのコンポーネント群として管理するＲＡＩＤ（Redundant  Array  of  Inexpensive  Disks）コントローラ）２つ以上の記憶装置とともに使用され得る。
【００２６】
この第１の側面の第２バリエーションとして、これらの技術は、様々な種類のバイナリオブジェクトを記憶するバイナリストレージシステム、ファイルを記憶するファイルシステム、メディアオブジェクトを記憶するメディアライブラリ、数多くの種類のオブジェクトを記憶するオブジェクトシステム、レコードを記憶するデータベース、及び電子メールメッセージを記憶する電子メールシステム、を含む様々な種類のデータセットを有する数多くのストレージセットとともに使用され得る。
【００２７】
この第１の側面の第３バリエーションとして、これらの技術の一部又は全ては、例えば、記憶装置へのアクセスを有するコンピュータ若しくは装置の揮発性あるいは不揮発性のメモリに格納された一組のソフトウェア命令（例えば、オペレーティングシステムプロセス又はハードウェアドライバ）など、コンピューティング環境内の１つ以上のコンポーネント内に実装され、記憶装置とインタフェースするように構成されたストレージシステム（ＲＡＩＤコントローラ）によって実装され、あるいはストレージセットのそれぞれの記憶装置内に実装され得る。
【００２８】
この第１の側面の第４バリエーションとして、ここに提示される技術によって生成されて使用される揮発メモリ表現は、数多くの構造を提示し得る。そのような一例として、図２の例示的な状況２００に示したように、揮発メモリ表現は、例えば、それぞれがスラブのシーケンスとして表される複数の論理ディスクを有する論理ディスクセットと、それぞれがエクステントの集合として表される複数のスラブを有するスラブセットと、それぞれが記憶装置、物理アドレス及びエクステント長として表される複数のエクステントを有するエクステントセットとなど、一組の相互に関係するレコード又はオブジェクトとして構造化され得る。また、この相互に関係するレコードまたはオブジェクトの集合は、例えば、論理ディスクを表す第１階層レベルと、スラブを表す第２階層レベルと、エクステントを表す第３階層レベルとを有する階層構造など、特定の編成を表現し得る。記憶装置セットによって明示される論理ディスク内の位置は、故に、先ず、論理ディスクの該位置を有するスラブを特定し、次いで、該位置を有する該スラブ内の少なくとも１つのエクステントを特定することによって位置特定され得る。
【００２９】
この第１の側面の第５バリエーションとして、ここに提示される技術による記憶装置セットのアクセスは、記憶装置セットにおける特定種類の柔軟性を可能にし得る。第１の例として、第１のレイアウトプランを指定する第１のスラブが論理ディスクに割り当てられ、第１のレイアウトプランとは異なる第２のレイアウトプランを指定する第２のスラブが該論理ディスクに割り当てられ得る。第２の例として、スラブ使用量を指定する少なくとも１つのキャパシティ要求がアプリケーションから受信され、そのスラブのスラブ使用量に従ってレイアウトプランを選択するようプロビジョニングコンポーネントが構成される。特に、第１のスラブキャパシティを有する第１のスラブが論理ディスクに割り当てられ、第１のスラブキャパシティとは異なる第２のスラブキャパシティを有する第２のスラブが該論理ディスクに割り当てられる。
【００３０】
この第１の側面の第６バリエーションとして、数多くの種類のレイアウトプランがストレージセットによって表現され得る。例示的なレイアウトプランセットは、例えば、１つの記憶装置上のエクステントの割り当てを指定するモノリシックレイアウトプラン、スラブ割り当て要求のキャパシティを一緒に提供する少なくとも２つの記憶装置上のエクステントの割り当てを指定するストリッピングレイアウトプラン、スラブ割り当て要求のキャパシティをそれぞれが提供するミラーリングされるエクステントの割り当てを指定するミラーリングレイアウトプラン、及び、スラブ割り当て要求のキャパシティを一緒に提供する少なくとも１つの記憶装置上の少なくとも１つのデータエクステントと、該データエクステントに関するベリファイアを格納する少なくとも１つの他の記憶装置上の少なくとも１つのベリファイアエクステントとの割り当てを指定する検証（ベリファイイング）レイアウトプランを含み得る。ここに提示される技術のシナリオ、編成及び用法における数多くのバリエーションが当業者によって考案され得る。
【００３１】
Ｄ２．プロビジョニングプラン及びレイアウトプラン
これらの技術の実施形態間で様々であり得る第２の側面は、ここに表される記憶装置セット上でのそれぞれのプロビジョニングプラン及びレイアウトプランの表現及び執行に関する。この第２の側面の第１の例として、それぞれの論理ディスクが或る１つのプロビジョニングプランを使用し、記憶装置上のエクステントを割り当てることは、論理ディスクのキャパシティを割り当てることの割り当て要求を受信したことを受けて、その論理ディスクのプロビジョニングプランに従ってエクステントを割り当てることによって達成され、論理ディスクのスラブにアクセスすることは、その論理ディスクのプロビジョニングプランに従ってスラブのエクステントにアクセスすることを有し得る。プロビジョニングプランは、例えば、論理ディスクのキャパシティを満足するスラブの即座の割り当てを指定する固定プロビジョニングプランや、アクセス要求に応答してスラブにアクセスしながら論理ディスクのスラブを割り当てることを指定する遅延プロビジョニングプランなどを含むプロビジョニングプランセットから選択され得る。具体的には、遅延プロビジョニングプランは、論理ディスクの位置を指定するアクセス要求を受信したことを受けて、該アクセス要求の該位置に関連付けられたスラブを特定し、スラブを特定したことを受けて、該アクセス要求に従ってスラブにアクセスし、該アクセス要求の該位置に関連付けられたスラブを特定することができないことを受けて、該論理ディスクのためにスラブを割り当てて、該アクセス要求によって指定された該論理ディスクの該位置に該スラブを関連付けることを含み得る。スラブを割り当てると、実施形態は、エクステントのコンテンツをデフォルト値で初期化してもよく、それにより、エクステントの格納コンテンツを直接的に参照することによって全ての書き込み要求をかなえ得る。それに代えて、実施形態は、スラブのエクステントの初期化を保留してもよく、読み出し要求の位置に関連付けられたスラブを特定することができない（例えば、書き込みが以前に行われていないために、その位置にスラブが結び付けられていない）読み出し要求を受信したことを受けて、これらの技術の一実施形態は、該読み出し要求に応答してデフォルト値（例えば、０）を返し得る。また、遅延プロビジョニングは、シンプロビジョニングを特徴付けるストレージシナリオを可能にし、そこでは、プロビジョニングされるスラブのサイズが記憶装置セットの利用可能なキャパシティを超えたものとなる。例えば、記憶装置セットは、当該記憶装置セットの利用可能なキャパシティを上回るプロビジョニングキャパシティを有する論理ディスクを含み得る。シンプロビジョニングの他の一例として、それぞれの論理ディスクは記憶装置セットの利用可能なキャパシティの範囲内のプロビジョニングキャパシティを有するが、それら論理ディスクの総プロビジョニングキャパシティが記憶装置セットの利用可能なキャパシティを上回る。
【００３２】
この第２の側面の第２の例として、それぞれのスラブ及び／又はエクステントのサイズは、異なる状況で異なるように選択され得る。第１のそのような例として、アクセス要求を満たす小さいキャパシティがスラブに割り当てられ得る。小さいサイズのスラブを割り当てることは、例えば、リペアされなければならないスラブのキャパシティを制限することによってリペアプロセスを迅速に処理するために、有利となり得る。それに代えて、固定プロビジョニングプランに従って特定の記憶装置上に割り当てられるスラブでは、例えば、削減された数の大きいサイズのスラブを割り当てることによって、スラブサイズが最大化され得る。このバリエーションは、記憶装置セットの不揮発表現内で表現されるレコード数の削減を可能にし、それにより、不揮発メモリ表現を介した記憶装置セットへのアクセスの性能を向上させ得る。また、リペア処理中のスラブ及びエクステントの割り当ては、様々な要因を考慮して選択され得る。第１の例として、レイアウトコンポーネントは、故障記憶装置の故障を検出したことを受けて、故障記憶装置のそれぞれのエクステントに対し、そのエクステントを有するスラブを特定して該スラブに代替エクステントを割り当て、そして、少なくとも１つの代替エクステントを有し且つ障害回復レイアウトプランを持つそれぞれのスラブに対し、代替エクステントを含んだスラブのリペアを開始するように構成される。故に、レイアウトコンポーネントは、エクステントのリペア処理をそれにより使用されるレイアウトプランに基づいて自動的に開始し得る。第２の例として、記憶装置セットが少なくとも３つの記憶装置を有する場合、代替エクステントの割り当ては、故障記憶装置から割り当てられる代替エクステントを記憶装置セットの他の複数の記憶装置にまたがって分散させ得る。これは、多くのエクステントの割り当てによる、豊富なキャパシティを有する記憶装置の過負荷を抑制し得る。多くのこのようなストレージシナリオが、ここに提示される技術に従った記憶装置編成１０２によって達成され得る。
【００３３】
Ｅ．コンピューティング環境
図５及び以下の説明にて、ここに説明される対策の１つ以上の実施形態を実装するのに適したコンピューティング環境について手短に概略的に説明する。図５の動作環境は、公的な動作環境の単なる一例であり、動作環境の使用又は機能の範囲についての何らかの限定を示唆するものではない。コンピューティング装置の例は、以下に限られないが、パーソナルコンピュータ、サーバコンピュータ、手持ち型若しくはラップトップ型の装置、モバイル装置（例えば、携帯電話、携帯情報端末（ＰＤＡ）、メディアプレーヤ、及びこれらに類するもの）、マルチプロセッサシステム、コンシューマエレクトロニクス、ミニコンピュータ、メインフレームコンピュータ、以上のシステム若しくは装置の何れかを含む分散型コンピューティング環境、並びにこれらに類するものを含む。
【００３４】
図５は、ここに提供される１つ以上の実施形態を実装するように構成されたコンピューティング装置５０２を有するシステム５００の一例を示している。一構成において、コンピューティング装置５０２は、少なくとも１つの処理ユニット５０６とメモリ５０８とを含む。コンピューティング装置５０２の正確な構成及び種類に応じて、メモリ５０８は、揮発性（例えばＲＡＭなど）、不揮発性（例えばＲＯＭ、フラッシュメモリなど）、又はこれらの２つの組み合わせであり得る。この構成は破線５０４によって図５に示されている。
【００３５】
他の実施形態において、装置５０２は、更なる機構及び／又は機能を含み得る。例えば、装置５０２はまた、例えば、以下に限られないが磁気ストレージ、光ストレージ及びこれらに類するものなどを含む更なるストレージ（例えば、リムーバブル（取り外し可能）ストレージ及び／又は非リムーバブルストレージ）を含み得る。このような更なるストレージは、ストレージ５１０によって図５に示されている。一実施形態において、ここに提供される１つ以上の実施形態を実行するコンピュータ読み取り可能命令がストレージ５１０内にあり得る。ストレージ５１０はまた、オペレーティングシステムやアプリケーションプログラムなどを実行するための、他のコンピュータ読み取り可能命令を格納し得る。コンピュータ読み取り可能命令は、例えば、処理ユニット５０６による実行のためにメモリ５０８にロードされ得る。
【００３６】
用語“コンピュータ読み取り可能媒体”は、ここでは、コンピュータ記憶媒体を含む。コンピュータ記憶媒体は、例えばコンピュータ読み取り可能命令又はその他のデータなどの情報の記憶のための何らかの方法又は技術にて実現される、揮発性及び不揮発性の、リムーバブル及び非リムーバブルの媒体を含む。メモリ５０８及びストレージ５１０は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、以下に限られないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくはその他のメモリテクノロジー、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）若しくはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくはその他の磁気記憶装置、又は、所望の情報を格納するために使用されることが可能であり且つ装置５０２によってアクセスされることが可能なその他の媒体を含む。このようなコンピュータ記憶媒体は、装置５０２の一部とし得る。
【００３７】
装置５０２はまた、装置５０２がその他の装置と通信することを可能にする通信接続５１６を含み得る。通信接続５１６は、以下に限られないが、モデム、ネットワークインタフェースカード（ＮＩＣ）、統合ネットワークインタフェース、無線周波数送信器／受信器、赤外線ポート、ＵＳＢ接続、又は、コンピューティング装置５０２をその他のコンピューティング装置に接続するその他のインタフェースを含み得る。通信接続５１６は有線接続又は無線接続を含み得る。通信接続５１６は通信媒体の送信及び／又は受信を行い得る。
【００３８】
用語“コンピュータ読み取り可能媒体”は通信媒体を含み得る。通信媒体は典型的に、コンピュータ読み取り可能命令又はその他のデータを、例えば搬送波などの“変調データ信号”又はその他の輸送メカニズムにて具現化し、また、何らかの情報送達媒体を含む。用語“変調データ信号”は、信号内に情報をエンコードするように信号の特徴セットのうちの１つ以上の特徴が変化された信号を含み得る。
【００３９】
装置５０２は、例えばキーボード、マウス、ペン、音声入力装置、タッチ式入力装置、赤外線カメラ、ビデオ入力装置、及び／又はその他の入力装置など、入力装置５１４を含み得る。例えば１つ以上のディスプレイ、スピーカ、プリンタ、及び／又はその他の出力装置など、出力装置５１２もまた装置５０２に含められ得る。入力装置５１４及び出力装置５１２は、有線接続、無線接続、又はこれらの組み合わせを介して装置５０２に接続され得る。一実施形態において、他のコンピューティング装置からの入力装置又は出力装置が、コンピューティング装置５０２のための入力装置５１４又は出力装置５１２として使用されてもよい。
【００４０】
コンピューティング装置５０２のコンポーネント同士は、例えばバスなどの様々な相互接続によって接続され得る。そのような相互接続は、例えばＰＣＩ  Ｅｘｐｒｅｓｓなどのペリフェラルコンポーネントインターコネクト（ＰＣＩ）、ユニバーサルシリアルバス（ＵＳＢ）、ファイヤーワイヤー（ＩＥＥＥ１３９４）、光バス構造、及びこれらに類するものを含み得る。他の一実施形態において、コンピューティング装置５０２のコンポーネント同士はネットワークによって相互接続されてもよい。例えば、メモリ５０８は、ネットワークによって相互接続された、異なる物理位置に位置する複数の物理的メモリユニットを有していてもよい。
【００４１】
当業者が認識するように、コンピュータ読み取り可能命令を格納するために使用される記憶装置は、ネットワークを横切って分散されてもよい。例えば、ネットワーク５１８を介してアクセス可能なコンピューティング装置５２０が、ここに提供される１つ以上の実施形態を実現するためのコンピュータ読み取り可能命令を格納してもよい。コンピューティング装置５０２は、コンピューティング装置５２０にアクセスして、コンピュータ読み取り可能命令の一部又は全てを実行のためにダウンロードし得る。それに代えて、コンピューティング装置５０２は、コンピュータ読み取り可能命令の断片群を随時にダウンロードしてもよく、あるいは、一部の命令がコンピューティング装置５０２で実行され且つ一部がコンピューティング装置５２０で実行されてもよい。
【００４２】
Ｆ．用語の用法
この出願において、用語“コンポーネント”、“モジュール”、“システム”及び“インタフェース”などは概して、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、又は実行中のソフトウェア、の何れかであるコンピュータ関連エンティティを参照することを意図したものである。例えば、コンポーネントは、そうであることに限定されないが、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、及び／又はコンピュータとし得る。例示として、コントローラ上で実行されるアプリケーション及びコントローラの双方がコンポーネントであり得る。１つ以上のコンポーネントが１つのプロセス及び／又は実行スレッド内に存在してもよく、また、コンポーネントは１つのコンピュータ上に局在され且つ／或いは２つ以上のコンピュータ間に分散されてもよい。
【００４３】
また、特許請求に係る事項は、開示された事項を実現するようにコンピュータを制御するソフトウェア、ファームウェア、ハードウェア又はこれらの組み合わせを作り出す標準的なプログラミング及び／又はエンジニアリング技術を用いて、方法、装置又は製造品として実装され得る。用語“製造品”は、ここでは、コンピュータ読み取り可能な装置、搬送波又は媒体からアクセス可能なコンピュータプログラムを包含することを意図したものである。当然ながら、当業者が認識するように、特許請求に係る事項の範囲又は精神を逸脱することなく、この構成には数多くの変更が為され得る。
【００４４】
実施形態の様々な処理がここに提供されている。一実施形態において、記載の処理のうちの１つ以上が、１つ以上のコンピュータ読み取り可能媒体に格納されるコンピュータ読み取り可能命令を構成し、これら命令が、コンピューティング装置によって実行されると、該コンピューティング装置に記載の処理を実行させることになる。処理の一部又は全てが記載されている順序は、それらの処理が必然的に順序依存であるというようなことを意味するものとして解釈されるべきでない。それに代わる順序付けが、本明細書の恩恵を受ける当業者によって認識されることになる。また、理解されるように、必ずしも全ての処理が、ここに提供される各実施形態に存在するわけではない。
【００４５】
また、用語“例示的”は、ここでは、例、事例又は例示として作用することを意図して使用されている。“例示的”としてここに記載される如何なる側面又は設計も、必ずしも、他の側面又は設計より有利であるとして解釈されるべきものではない。むしろ、例示的な用語の使用は、概念を具体的に提示することを意図したものである。本明細書において、用語“ｏｒ”（“又は”及び“或いは”）は、排他的“ｏｒ”ではなく包含的“ｏｒ”を意味するように使用されるものである。すなわち、特段に断らない限り、あるいは文脈から明らかでない限り、“ＸはＡ又はＢを使用する”は、普通の包含的交換を意味することを意図したものである。すなわち、ＸがＡを使用する場合、ＸがＢを使用する場合、又はＸがＡ及びＢの双方を使用する場合、以上の例のうちの何れの下でも“ＸはＡ又はＢを使用する”が満足される。さらに、本明細書及び添付の請求項において使用される冠詞“ａ”及び“ａｎ”は一般に、特段に断らない限り、あるいは単数形に関することが文脈から明らかでない限り、“１つ又は複数”を意味するものと解釈され得る。
【００４６】
また、本開示は１つ又は複数の実装形態に関して図示・説明されているが、本明細書及び添付図面を読んで理解することに基づき、均等な改変及び変更が当業者に認識されるであろう。本開示は、全てのそのような変更及び改変を含むものであり、以下の請求項の範囲によってのみ限定されるものである。特に、上述のコンポーネント（例えば、要素、資源など）によって実行される様々な機能に関して、それらのコンポーネントを記述するために使用される用語は、別のことを指し示していない限り、記載されたコンポーネントの指定された機能を実行する如何なるコンポーネント（例えば、機能的に等価なもの）にも相当することを意図したものであり、このことは、本開示に係るここに図示された例示的な実装形態においてその機能を実行する開示構造と構造的に等価でなくても言えることである。さらに、本開示に係る特定の特徴は幾つかの実装形態のうちのたった１つに関して開示されていることがあるが、所与あるいは特定の用途に関して所望されて有利であり得るよう、そのような特徴が他の実装形態の１つ以上の他の特徴と組み合されてもよい。また、用語“含む”、“持っている”、“持つ”、“備える”又はこれらの変形がこの詳細な説明又は請求項の何れかで使用される範囲において、これらの用語は、用語“有している”と同様に包含的であることを意図するものである。
【図１】
0005932043.tif 000002
【図２】
0005932043.tif 000003
【図３】
0005932043.tif 000004
【図４】
0005932043.tif 000005
【図５】
0005932043.tif 000006