(57)【特許請求の範囲】
【請求項１】
データセンターのコンピュータが、前記データセンターを利用する複数のユーザ間のデータ記憶重複排除を行う方法であって、
前記コンピュータは、
重複排除の対象となり得るものとしてフラグ付けされたデータストレージを判断することと、
フラグ付けされた該データストレージから重複排除シグネチャを生成することと、
フラグ付けされた該データストレージのセクションを除去することと、
除去された該セクションを重複排除ポインタに置き換えること、そして、
前記重複排除に伴う処理時間に基づいて、前記フラグ付されたデータストレージの所有者にディスカウントを与えること、
とを実行する前記方法。
【請求項２】
除去された前記セクションに基づいて課金記録を生成することと、
該課金記録にも基づいて、フラグ付けされた前記データストレージの所有者に前記ディスカウントを与えることとをさらに含む請求項１に記載の方法。
【請求項３】
前記課金記録は、フラグ付けされた前記データストレージの前記所有者にディスカウントを与えるために節減されたスペースを追跡する目的および、重複排除パッケージの利用状況を追跡するためのガーベジコレクション用マスター参照先として使用される請求項２に記載の方法。
【請求項４】
さらなる重複排除シグネチャの生成と、さらなるセクションの除去とを反復的に行うことをさらに含む請求項１に記載の方法。
【請求項５】
データストレージを重複排除の対象となり得るものと判断することは、データの所有者から指示を受け取ることを含む請求項１に記載の方法。
【請求項６】
データセンターの処理能力に余裕があるときに前記重複排除を行うことをさらに含む請求項１に記載の方法。
【請求項７】
データセンターにおいて複数のユーザ間のデータ記憶重複排除を行うように構成されたサーバであって、
命令を記憶するように構成されたメモリと、
記憶された前記命令とともにデータ管理アプリケーションを実行するように構成されたプロセッサとを含み、
前記プロセッサは、
重複排除の対象となり得るものとしてフラグ付けされたデータストレージを判断し、
フラグ付けされた該データストレージから重複排除シグネチャを生成し、
フラグ付けされた該データストレージのセクションを除去し、
除去された該セクションを重複排除ポインタに置き換え、そして、
前記重複排除に伴う処理時間に基づいて、前記フラグ付されたデータストレージの所有者にディスカウントを与える、
ように構成されたサーバ。
【請求項８】
前記重複排除は、前記データセンターの非アクティブデータモジュールおよびマシンインスタンスの別々の暗号化とパッケージ化とを考慮に入れる請求項７に記載のサーバ。
【請求項９】
前記データ記憶重複排除が行われるデータは、オペレーティングシステム（ＯＳ）部分、ＯＳ変更部分および／またはアドオン部分、アプリケーション部分、およびユーザデータ部分からなる組のうちの少なくとも１つを含むパッケージを含む請求項８に記載のサーバ。
【請求項１０】
前記プロセッサは、前記重複排除のために前記ＯＳ部分と前記アプリケーション部分からなる組のうちの少なくとも１つを含む復号データ部分をスキャンし、
重複排除済みデータを前記データセンターが所有する個別パッケージに記憶するようにさらに構成された請求項９に記載のサーバ。
【請求項１１】
暗号化データ部分は、前記ＯＳ変更部分および／またはアドオン部分、前記アプリケーション部分、および前記ユーザデータ部分からなる組のうちの少なくとも１つを含む請求項９に記載のサーバ。
【請求項１２】
前記パッケージは、一度に１つずつ順次にアクセスされる請求項９に記載のサーバ。
【請求項１３】
前記重複排除は、データセンターの、外部アクセスができないデータストレージセクションにおいて行われる請求項７に記載のサーバ。
【請求項１４】
複数のユーザ間のデータ記憶重複排除を行うデータセンターであって、
複数のデータストアと、
データ管理のための少なくとも１つのサーバとを含み、
前記サーバは、
重複排除の対象となり得るものとしてフラグ付けされたデータストレージを判断し、
フラグ付けされた該データストレージから重複排除シグネチャを生成し、
フラグ付けされた該データストレージのセクションを除去し、
除去された該セクションを重複排除ポインタに置き換え、そして、
前記重複排除に伴う処理時間に基づいて、前記フラグ付されたデータストレージの所有者にディスカウントを与える、
ように構成されたデータセンター。
【請求項１５】
前記サーバは、
除去された前記セクションに基づいて課金記録を生成し、
該課金記録に基づいて、フラグ付けされた前記データストレージの所有者にディスカウントを与えるようにさらに構成された請求項１４に記載のデータセンター。
【請求項１６】
前記サーバは、前記データセンターの処理能力に余裕があるときに前記重複排除を行うようにさらに構成された請求項１４に記載のデータセンター。
【請求項１７】
前記重複排除は、前記データセンターの非アクティブデータモジュールおよびマシンインスタンスの別々の暗号化とパッケージ化とを考慮に入れる請求項１４に記載のデータセンター。
【請求項１８】
前記データ記憶重複排除が行われるデータは、オペレーティングシステム（ＯＳ）部分、ＯＳ変更部分および／またはアドオン部分、アプリケーション部分、およびユーザデータ部分からなる組のうちの少なくとも１つを含むパッケージを含み、
前記サーバは、
前記重複排除のために前記ＯＳ部分と前記アプリケーション部分からなる組のうちの少なくとも１つを含む復号データ部分をスキャンし、
重複排除済みデータを前記データセンターが所有する個別パッケージに記憶するようにさらに構成された請求項１７記載のデータセンター。
【請求項１９】
前記サーバは、
データセンターのサイト間で前記重複排除シグネチャを共用し、
データストアに関連付けられた重複排除シグネチャおよび非重複データを転送することによって該データストアを転送するようにさらに構成された請求項１４に記載のデータセンター。
【請求項２０】
前記サーバは、重複排除候補リストを、フラグ付けされた前記データストレージから生成された新しい重複排除シグネチャで更新するようにさらに構成された請求項１４に記載のデータセンター。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示において別段に記載のない限り、本項に記載の内容は、本願特許請求の範囲に対する先行技術ではなく、本項に含めることによって先行技術であることを自認するものではない。
【背景技術】
【０００２】
ネットワーキングおよびデータ記憶技術の進歩に伴い、ますます多くのコンピューティングサービスが、様々なレベルのコンピューティング資源へのリースのアクセスを可能にするクラウド方式のデータセンターを介してユーザや顧客に提供されている。データセンターは、個人および団体にシステムの展開や運用のための一連のソリューションを提供することができる。データセンターは、膨大なデータ記憶および処理に対応するように装備されているが、データ記憶は資源、処理能力、速度、および設備費の点でコストがかかる。データセンターの運営の他の側面として、ユーザ間でのデータの重複（例えばアプリケーション、コンフィギュレーションデータ、消耗データ）がある。セキュリティを確保するために、多くのデータセンターはユーザデータへの無許可のアクセスを防止する暗号化または同様の機構を設けている。
【０００３】
データ重複排除は、ハッシュまたはその他の準一意的な識別子を使用して、一連の同一データを識別し、その一連の同一データを単一の（または少数の冗長）記憶コピーと、そのデータの各使用場所からマスターコピーを指すポインタとに置き換える技術である。例えばプライベートクラウドにおけるＶＤＩ（仮想デスクトップインフラストラクチャ）内では、ユーザオペレーティングシステムが一般には同時に更新され、基本的にオペレーティングシステムとアプリケーションの大部分の単一のコピーを使用してほとんどのユーザに対応することができるため、重複排除の影響は大きい。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、ユーザ間重複排除を可能にするためのストレージディスカウントを提供するための技術について一般的に述べる。
【課題を解決するための手段】
【０００５】
一部の例によると、データセンター環境において複数のユーザ間のデータ記憶重複排除を行う方法は、重複排除の対象となり得るものとしてフラグ付けされたデータストレージを判断することと、フラグ付けされた該データストレージから重複排除シグネチャを生成することと、フラグ付けされた該データストレージのセクションを除去することと、除去された該セクションを重複排除ポインタに置き換えること、重複排除候補リストを、フラグ付けされた該データストレージから生成された新しい重複排除シグネチャで更新することとを含むことができる。
【０００６】
他の例によると、データセンター環境において複数のユーザ間のデータ記憶重複排除を行うように構成されたサーバは、命令を記憶するように構成されたメモリと、記憶された前記命令とともにデータ管理アプリケーションを実行するように構成されたプロセッサとを含むことができる。プロセッサは、重複排除の対象となり得るものとしてフラグ付けされたデータストレージを判断し、フラグ付けされた該データストレージから重複排除シグネチャを生成し、フラグ付けされた該データストレージのセクションを除去し、除去された該セクションを重複排除ポインタに置き換え、重複排除候補リストを、フラグ付けされた該データストレージから生成された新しい重複排除シグネチャで更新することができる。
【０００７】
他の実施例によると、複数のユーザ間でデータ記憶重複排除を行うデータセンターは、複数のデータストアと、データ管理のための少なくとも１つのサーバとを含むことができる。前記サーバは、重複排除の対象となり得るものとしてフラグ付けされたデータストレージを判断し、フラグ付けされた該データストレージから重複排除シグネチャを生成し、フラグ付けされた該データストレージのセクションを除去し、除去された該セクションを重複排除ポインタに置き換え、重複排除候補リストを、フラグ付けされた該データストレージから生成された新しい重複排除シグネチャで更新することができる。
【０００８】
上記の概要は、例示的なものに過ぎず、決して限定的であることを意図したものではない。図面および以下の詳細な説明を参照することにより、上述の例示的な態様、実施形態および特徴に加えて、他の態様、実施形態および特徴も明らかになるであろう。
【０００９】
本開示の上記およびその他の特徴は、以下の詳細な説明および添付の特許請求の範囲を添付図面とともに参照すれば十分に明らかになるであろう。これらの図面は本開示によるいくつかの実施形態のみを図示するものであり、したがって本開示の範囲を限定するものと見なすべきではないことを了解した上で、添付図面により本開示についてさらに具体的かつ詳細に説明する。
【図面の簡単な説明】
【００１０】
【図１】ユーザ間重複排除を可能にするためのストレージディスカウントを提供することができるデータセンターの一例を示す図である。
【図２】簡略化されたプライベートクラウド方式のシステム事例におけるデータ重複排除の一例を概念的に示す図である。
【図３】重複排除の具現化の概要を示す図である。
【図４】反復的重複排除における動作の流れおよびコンポーネントと課金クレジットの一例を示す図である。
【図５】ユーザ間重複排除を可能にするストレージディスカウントを提供するシステムを実装するために使用可能な汎用コンピューティングデバイスを示す図である。
【図６】ユーザ間重複排除を可能にするストレージディスカウントを提供する方法の一例を示す流れ図である。
【図７】本開示に記載の少なくとも一部の実施形態により全部が構成されたコンピュータプログラム製品の一例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下の詳細な説明では、本開示の一部をなす添付図面を参照する。図面では、文脈により別様に解すべき場合を除き、同様の符号は典型的には同様のコンポーネントを示す。詳細な説明、図面および特許請求の範囲に記載の例示の実施形態は、限定的であることを意図するものではない。本開示で示す主題の趣旨および範囲から逸脱することなく、他の実施形態も採用可能であり、他の変更も可能である。本開示において一般的に述べ、図面に図示する本開示の態様は、様々な構成で構成、代替、組み合わせ、分離、および設計可能であり、それらはすべて本開示で明示的に企図されていることが容易にわかるであろう。
【００１２】
本開示は、特にユーザ間重複排除を可能にするためのストレージディスカウントの提供に関する方法、装置、システム、デバイスおよび／またはコンピュータプログラム製品を概略的に示す。
【００１３】
すなわち、データセンター環境において複数の別々のユーザ間でデータストレージの重複排除を行うための技術を示す。この重複排除は、様々な非アクティブデータモジュールおよびマシンインスタンスの別々の暗号化とパッケージ化を考慮に入れることができるとともに、データが重複排除の対象となり得ることを示す顧客による事前フラグ付けに基づいて行うことができる。ディスカウントによってユーザの利用意欲を刺激するために、課金システムの記録を使用して、節減されたスペースを追跡することができる。これらの記録は、複数パッケージ環境では通常困難な重複排除パッケージ利用状況追跡のためのガーベジコレクション用マスター参照先として使用することもできる。
【００１４】
本開示で使用する「ストレージディスカウント」という用語は、（単一ユーザまたはユーザ間）データ重複排除に基づいて、削減されたデータ記憶容量に対してデータセンターのユーザに提供することができる金銭的報償またはそれに類似した報償を指す。このような報償は、実際の支払い、データセンター利用料金の低減、クレジット、または同様の方法の形式を取ることができる。
【００１５】
図１に、本開示に記載の少なくとも一部の実施形態により構成された、ユーザ間重複排除を可能にするためのストレージディスカウントを提供することができるデータセンターの一例を示す。
【００１６】
図中１００に示すように、物理データセンター１０２は、多数のサーバと、ファイアウォール、ルータ、およびそれに類したものなどの専用デバイスとを含むことができる。データ利用顧客１０８にサービスを提供するために、各サーバまたは複数のサーバにわたって多くの仮想サーバまたは仮想マシン１０４を設定することができる。一部の実施態様では、１つまたは複数の仮想マシンをグループ化して仮想データセンター１０６とすることができる。データ利用顧客１０８は、パーソナルコンピューティングデバイス１１８を介して１つまたは複数のネットワーク１１０でデータセンター１０２と対話する（１１２）個人ユーザ、サーバ１１６を介してデータセンター１０２と対話する企業顧客、またはサーバ群１１４を介してデータセンター１０２と対話する他のデータセンターを含むことができる。
【００１７】
最近のデータセンターはますますクラウド化している。データセンターが提供するサービスには、データストレージ、データ処理、ホスト型アプリケーション、または仮想デスクトップなどが含まれるがこれらには限定されない。多くの事例では、複数のユーザ間で大量のデータが共通している。例えば、ホスト型アプリケーションの事例では、ユーザは最小限のカスタマイズを加えて同じアプリケーションのコピーを作成することができる。したがって、アプリケーションデータの大部分と消耗データの一部は多数のユーザ用に複製することが可能であり、カスタマイズデータと、消耗データの一部とが固有のものとなる。共通データ部分を重複排除することにより、大量のストレージスペースを節減することができる。データセンターはそのような大量のデータの維持、コピーおよびその他の処理を行う必要がなくなるため、処理能力や処理容量などのその他の資源も節減される。
【００１８】
データセンター環境でデータの重複排除を行う際の１つの障害は、データセンターの顧客に提供されるセキュリティとプライバシー保護機構である。セキュリティおよびプライバシー保護のために、個々の顧客に関連付けられたデータの一部または全部を暗号化またはその他の方法で保護する場合がある。このため、重複排除可能なデータの部分を判断することさえも難しい場合がある。一部の実施形態によるシステムは、ユーザがデータの一部に重複排除可能であることを示すフラグを事前に付けることができるようにすることによって、ユーザ間でのデータの重複排除を可能にする。
【００１９】
図２に、本開示に記載の少なくとも一部の実施形態により構成された、簡略化したプライベートクラウド方式システム事例におけるデータ重複排除の一例を概念的に示す。
【００２０】
図２の２００に、単一のオペレーティングシステムおよびアプリケーション群がユーザに提供される単純な例示のデータ重複排除の事例を示す。この事例では、オペレーティングシステムおよびアプリケーションの１つのコピーを記憶するだけで済む。ただし、安全とパフォーマンスのために少数の冗長コピーを記憶してもよい。重複排除のない従来のシステム２２０では、複数の仮想マシン２２２がオペレーティングシステムとアプリケーションの個別のコピー２２６をデータストア２２４に記憶し、これらのコピーをユーザに提供する。オペレーティングシステムとアプリケーションのコピーは、参照番号２２７で示すように、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）レベル２２８で記憶されることもある。
【００２１】
同じ事例に重複排除を適用すると、システム２３０の仮想マシン２３２は、やはりオペレーティングシステムとアプリケーション２３６をデータストア２３４に格納する。システム２２０とは異なり、オペレーティングシステムとアプリケーションとの単一のコピー２３７を、重複排除されたボリューム２３８に記憶することができ、実際の記憶場所を示すポインタを使用してユーザに提供することができる。
【００２２】
上述の事例は、複数のテナントを有するデータセンターには適用されない。例えばストレージ料金が無料または少額なライブラリマシンイメージをユーザが実行できるようにすることによって、ある程度まで可能にしようとするサービスプロバイダもあるが、安定性を実現のため、またはほとんどどのようなカスタマイズを行う場合でも、そのマシンイメージの変更を必要とする。したがって、１つの選択肢は、まずライブラリマシンイメージから始め、それにソフトウェアパッケージまたはその他の変更を加えて変更し、次にそれを関連付けられたストレージスペースとともに固有のユーザイメージとして記憶することである。変更されたマシンイメージに含まれるストレージは、ライブラリマシンイメージとまったく同じ多数のブロック、ファイル、またはファイルセグメントを有する可能性がある。残念ながら、マシンイメージをカスタマイズまたはアプリケーションを追加した後は、そのマシンイメージはユーザデータとなり、既存のデータセンターではユーザストレージが明確に分離され、ユーザごとに別々の暗号化（データセンターによって管理される）を含むことが多い。
【００２３】
ユーザがあるブロックストレージを「重複排除可能」として指定することができるようにし、データセンターがユーザ間（またはユーザ内でも）重複排除を行うことができるようにすれば、複数のデータセンターでのデータの複製、データのバックアップ、データを使用するマシンのマイグレーションなどを行う費用を大幅に削減することができる。ユーザがこのコスト節減の一部でも認識すれば、ユーザはどのデータセグメントが重複排除可能であるかを識別し、指定するように動機付けられる可能性がある。マシンイメージが複数であれば、実際の記憶ボリュームの大半のストレージ節減が可能になる。
【００２４】
一部の実施形態による重複排除システムは、異なる方法でパッケージされた複数の記憶マシンインスタンスに組み込むことができ、課金システムと連動してユーザにとって節約になるようにし、多くの暗号化されたボリュームにわたりガーベジコレクションを管理することができる。データセンターにとっての利点は、資本コスト全体の低減、ストレージ節減の差引分による経済的利益、データ伝送所要量の低減、およびデータセンターの処理能力に余裕があるときに重複排除タスクを行うことができることである。
【００２５】
図３に、本開示に記載の少なくとも一部の実施形態により構成された、重複排除の実現の概要を示す。
【００２６】
３００に示すように、データセンターは、ユーザごとに個別の暗号化ユーザパッケージ３０２、３０４、３０６を有することができる。これらのパッケージは、データセンターが暗号化してもよく、データセンターはマシンイメージの実装に暗号鍵を備えることができる。個々のユーザパッケージは、オペレーティングシステム、オペレーティングシステムの変更および／またはアドオン３１０、アプリケーション、および／またはユーザデータのうちの１つまたは複数を含むことができる。一部の実施形態によると、ユーザは特定のパッケージを重複排除の対象となるものとして定義してもよく、システムは各パッケージ内を調べ、復号部分をスキャンし、重複排除３２０を行い、重複排除済みのデータチャンクをデータセンターが所有する個別のパッケージに記憶することができる（重複排除リンク３０８）。上述の重複排除３２０は、オペレーティングシステムの変更および／またはアドオン３１０、アプリケーション、および／またはユーザデータを含む暗号化されたユーザパッケージ３１２、３１４および３１６の組み合わせをそのまま残すことができる。
【００２７】
なお、同じ実装および方法を異なる規模で使用することができ、例えば重複排除を単一のユーザ展開内でサービスとして提供することができ、その場合、ユーザはユーザのストレージ所要量およびコストを直接削減することができるが、顧客間の重複排除に比べて重複排除による全体的な節減は少なくなる可能性が高い。従来の重複排除は、単一ユーザ展開内のデータが、一般的に同じ場所に記憶されないかまたは同時に復号されない多くの異なるパッケージ内にあるため、単一ユーザ単位であっても効果がないことがある。
【００２８】
一部の実施形態によるシステムは、３つの主な要素に依拠することができる。すなわち、暗号化されたマシンイメージを適所で実行したり完全に復号したりしなくても、暗号化されたマシンイメージの一部にアクセス可能であることと、一連のパッケージを重複排除し、ストレージ削減に対して課金クレジットを与える処理と、その結果の重複排除されたチャンクを提供する処理である。セキュリティ保護された仮想マシンパッケージの一部をネットワーク上の仮想ストレージとして公開し、アクセスして、重複排除のフラグが付けられたパッケージを反復的に処理することもできる。パッケージには、フラグ付けによって状態データを除外できるようにすることによって部分的にアクセスするか、または一度に１つずつ順次にアクセスすることができる。後者の手法は、重複排除のために現在処理中のデータのみにアクセスし、その後、次の割当てデータを処理する際にメモリを空にすることによって、セキュリティを向上させることができる。セキュリティをさらに向上させるために、低レベルストレージアクセスを扱う層など、データセンターのセクションのうちの外部アクセスができない１つのセクションで重複排除を行うこともできる。
【００２９】
図４に、本開示に記載の少なくとも一部の実施形態によって構成された、反復的重複排除における動作の流れおよびコンポーネントと課金クレジットの一例を示す。
【００３０】
図中４００に示すように、ユーザ間重複排除を可能にすることに基づくストレージディスカウントシステムは、重複排除シグネチャの生成４０４と、それに続く、重複排除可能のフラグが付けられたセクション（すなわち、一致する重複排除シグネチャがあるセクションまたはストレージ内で「ヒット」したセクション）の除去４０６、および重複排除候補リストの更新を含むことができる。この処理はフラグ付けされたデータストレージごとに反復することができる４０２。重複排除済みセクションの除去に伴い、関連する課金記録４１０を生成することができる。課金記録４１０は、ディスカウントの計算に使用可能なリンクとブロックサイズのテーブルを受け取ってもよい。このような情報によって、合計複製数を出すことができ、それによって、例えば、マスター重複排除節減のうちの各ユーザに帰する相対的割合に基づいて課金ディスカウントを計算することができる。
【００３１】
課金記録４１０は、マスターにおいて重複排除が必要でなくなったときの追跡のための単一のデータレポジトリであるため、ガーベジコレクション４１２にも使用することができる。多くの別々のデータパッケージにわたってガーベジコレクション４１２を行うのは通常困難な場合があり、関係のあるボリュームを絶えず全面的に繰り返しスキャンする必要がある。ユーザが削除によって、または重複排除をやめる変更を行うことによって重複排除済みブロックを削除した場合、これらの課金記録を更新することもできる。一部の実施形態では、ディスカウントは、処理時間を含む重複排除のオーバーヘッドコストを考慮に入れることができる。一部の例示の仮想デスクトップサービス実装では、オペレーティングシステムおよびアプリケーション重複排除の結果として、場合によっては例えば９０％を超えるディスクスペースの大幅な節減が可能になる。
【００３２】
一部の実施形態によるデータセンターでは、例えば提供されたライブラリイメージの１つに基づく任意のマシンイメージに対して広く重複排除を行うことができる。重複排除済みのデータの提供は、様々な重複排除手法を使用して行うことができる。ファイルシステムが重複排除リンクを検出した場合、共用重複排除データを透過的に供給することができ、ユーザはすべてのデータの完全なコピーを有しているように見える。重複排除済みデータが変更された場合、変更されたコピーを固有のストレージに非重複排除データとして書き込み、使用記録を更新することができる。
【００３３】
データセンターのトラフィックの中には、ユーザが複数のサイトで自身のデータにアクセスすることができるように、サイト間でのミラリングデータが含まれているものがある。重複排除シグネチャおよびマスターは、サイト間で部分的または完全に共用可能であり、仮想マシンなどの大容量データストアの転送を、少数の重複排除シグネチャおよび非重複排除データに大幅に削減することができる。これにより、データセンターは、大量のデータセンター間トラフィックを節減することができる。重複排除データを使用するデータバックアップおよびマシンイメージのマイグレーション用データパッケージによっても、同様のデータ量削減が可能である。
【００３４】
一部の事例では、重複排除を使用してデータセンターをスキャンし、悪意ある目的のために目的データが探索される可能性がある。例えば、攻撃者が、データが変化するときに課金クレジットを見ることによりデータセンター内のどこかにそのデータが存在するか否かを調べるために、変化するデータを含むインスタンスの様々な順列に長時間をかけて重複排除フラグを付ける可能性がある。重複排除の悪用を防止するために、不連続な段階のあるディスカウントクレジットを計算することができる。また、ディスカウントを計算する際に、全体的な利得を表す指標、重複排除パッケージがサービス提供しているユーザの人数などの内部指標を使用することもできる。このような方策によって、攻撃者が得るデータが少なくなるように計算結果にノイズと予測不能性を加えることができる。長間隔でのみ重複排除フラグ付けクレジットの変更ができるようにすることによっても、攻撃者によるデータ抽出を著しく困難にすることができる。一部の実施形態によるシステムは、ユーザがデータストアの一部のみにフラグを付けることができるようにし、それによってユーザがデフォルトによりオペレーティングシステムとアプリケーションコアのみにフラグを付けることを簡単に選べるようにすることができる。
【００３５】
他の実施形態によると、重複排除のために行う計算は、余分の計算の費用対効果が最大となり、データセンターの増収を維持しつつ、顧客にとって節減となり得るのに十分なストレージの節減が重複排除から得られるときに実行可能なデータセンタータスクとすることができる。データセンターの複数の場所にわたってデータの重複排除を行う場合、上述のように何ギガバイトものデータの代わりに重複排除シグネチャのみを送信することにより、多量のトラフィックが削減される。
【００３６】
図５に、本開示に記載の少なくとも一部の実施形態により、ユーザ間重複排除のためのストレージディスカウントの実装に使用可能な汎用コンピューティングデバイス５００を示す。例示の基本構成５０２では、コンピューティングデバイス５００は１つまたは複数のプロセッサ５０４とシステムメモリ５０６とを含む。プロセッサ５０４とシステムメモリ５０６との間の通信のためにメモリバス５０８を使用することができる。この基本構成５０２は、図５において内側の破線内のコンポーネントで表されている。
【００３７】
所望の構成によっては、プロセッサ５０４は任意の種類のものであってよく、これにはマイクロプロセッサ（μ Ｐ）、マイクロコントローラ（μＣ）、デジタル信号プロセッサ（ＤＳＰ）またはこれらの任意の組み合わせが含まれるがこれらには限定されない。プロセッサ５０４は、レベルキャッシュメモリ５１２、プロセッサコア５１４およびレジスタ５１６などの１つまたは複数のキャッシュレベルを含むことができる。この例示のプロセッサコア５１４は、算術論理演算ユニット（ＡＬＵ）、浮動小数点ユニット（ＦＰＵ）、デジタル信号処理コア（ＤＳＰコア）、またはこれらの任意の組み合わせを含むことができる。プロセッサ５０４とともに例示のメモリコントローラ５１８も使用することができ、または実施態様によっては、メモリコントローラ５１８はプロセッサ５０４の内部要素であってもよい。
【００３８】
所望の構成によっては、システムメモリ５０６はどのような種類であってもよく、揮発性メモリ（ＲＡＭなど）、不揮発性メモリ（ＲＯＭ、フラッシュメモリなど）またはこれらの任意の組み合わせを含むが、これらには限定されない。システムメモリ５０６は、オペレーティングシステム５２０、１つまたは複数の重複排除アプリケーション５２２、およびプログラムデータ５２４を含むことができる。重複排除アプリケーション５２２は、記録管理エンジン５２３を含むことができ、記録管理エンジン５２３はデータのうちの重複排除可能なセクションを判断し、本開示に記載のようにユーザ間重複排除を行うことができる。プログラムデータ５２４は、他のデータのうち、本開示に記載のような１つまたは複数の重複排除シグネチャ５２５、重複排除リスト５２７、課金記録５２９などを含み得る。
【００３９】
コンピューティングデバイス５００は、追加の機能または装備や、基本構成５０２と任意の所望のデバイスおよびインターフェースとの間の通信を容易にする追加のインターフェースを含んでもよい。例えば、バス／インターフェースコントローラ５３０を使用して、基本構成５０２と１つまたは複数のデータ記憶装置５３２とのストレージインターフェースバス５３４を介した通信を容易にしてもよい。データ記憶装置５３２は、１つまたは複数の取外し式ストレージデバイス５３６、１つまたは複数の非取外し式ストレージデバイス５３８、またはこれらの組み合わせとすることができる。取外し式ストレージデバイスおよび非取外し式ストレージデバイスの例としては、フレキシブルディスクドライブやハードディスクドライブ（ＨＤＤ）などの磁気ディスクデバイス、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブなどの光ディスクドライブ、半導体ドライブ（ＳＳＤ）、およびテープドライブなどがある。コンピュータ記憶媒体の例としては、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータなどの情報の記憶のための任意の方法または技術で実装された揮発性および不揮発性媒体、取外し式および非取外し式媒体などがある。
【００４０】
システムメモリ５０６、取外し式ストレージデバイス５３６および非取外し式ストレージデバイス５３８は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気ストレージデバイス、または所望の情報を記憶するために使用可能かつコンピューティングデバイス５００がアクセス可能な他の任意の媒体を含むが、これらには限定されない。このようなコンピュータ記憶媒体は、コンピューティングデバイス５００の一部であってもよい。一部の実施形態によると、これらの記憶装置の一部を重複排除記憶ボリュームとして構成するか、または接続部を使用して重複排除記憶ボリュームに接続することができる。
【００４１】
コンピューティングデバイス５００は、バス／インターフェースコントローラ５３０を介して様々なインターフェースデバイス（例えば１つまたは複数の出力装置５４２、１つまたは複数の周辺インターフェース５４４、および１つまたは複数の通信装置５４６）から基本構成５０２への通信を容易にするインターフェースバス５４０を含んでもよい。出力装置５４２の例としては、グラフィック処理ユニット５４８およびオーディオ処理ユニット５５０などがあり、これらを１つまたは複数のＡ／Ｖポート５５２を介してディスプレイまたはスピーカなどの様々な外部装置と通信するように構成することができる。１つまたは複数の例示の周辺インターフェース５４４は、シリアルインターフェースコントローラ５５４またはパラレルインターフェースコントローラ５５６を含んでもよく、これを入力装置（例えばキーボード、マウス、ペン、音声入力装置、タッチ入力装置など）などの外部装置またはその他の周辺装置（例えばプリンタ、スキャナなど）と１つまたは複数のＩ／Ｏポート５５８を介して通信するように構成することができる。例示の通信装置５４６は、ネットワークコントローラ５６０を含み、これを１つまたは複数の通信ポート５６４を介してネットワーク通信リンクで１つまたは複数の他のコンピューティングデバイス５６２と通信をしやすくするように構成することができる。１つまたは複数の他のコンピューティングデバイス５６２は、データセンターにおけるサーバ、ユーザ装置および同等のデバイスを含むことができる。
【００４２】
ネットワーク通信リンクは、通信媒体の一例とすることができる。通信媒体は、典型的にはコンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータにより、搬送波またはその他の搬送機構などの変調データ信号の形で具現化可能であり、かつ、任意の情報配信媒体を含むことができる。「変調データ信号」は、信号内の情報を符号化するようにその特性の１つまたは複数が設定または変更された信号とすることができる。例えば、通信媒体は、有線ネットワーク、直接有線接続などの有線媒体、音響、高周波（ＲＦ）、マイクロ波、赤外線（ＩＲ）およびその他の無線媒体などの無線媒体を含むがこれらには限定されない。本開示で使用するコンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含み得る。
【００４３】
コンピューティングデバイス５００は、上述の機能のいずれかを含む汎用または専用サーバ、メインフレーム、または同様のコンピュータの一部として実装可能である。コンピューティングデバイス５００は、ノートブックコンピュータ構成と非ノートブックコンピュータ構成の両方を含むパーソナルコンピュータとして実装することも可能である。
【００４４】
例示の実施形態は、ストレージディスカウントによってデータセンター環境におけるユーザ間重複排除の利用意欲を刺激する方法も含み得る。これらの方法は、本開示に記載の構造を含む任意の数の方法で実装することができる。そのような１つの方法は、本開示に記載の種類のデバイスの機械操作によるものであってもよい。他の任意的な方法は、方法の個々の操作のうちの１つまたは複数について、１人または複数の操作者が操作の一部を行い、他の操作を機械が行う組み合わせで行うものとすることもできる。このような操作者は、互いに一所に配置する必要はなく、各操作者をプログラムの一部を実行する機械のみと共に配置することができる。他の例では、機械により自動化可能な事前に選択された基準などによって、人間との対話を自動化することができる。
【００４５】
図６は、本開示に記載の少なくとも一部の実施形態により、図５のデバイス５００などのコンピューティングデバイスによって実行可能なユーザ間重複排除を可能にするストレージディスカウントを提供するための例示の方法を示す流れ図である。例示の方法は、ブロック６２２、６２４、６２６、６２８および／または６３０の１つまたは複数によって例示されるような１つまたは複数の操作、機能、または動作を含むことができる。ブロック６２２〜６３０に記載の操作は、コンピューティングデバイス６１０のコンピュータ可読媒体６２０などのコンピュータ可読媒体に、コンピュータ実行可能命令として記憶することもできる。
【００４６】
ユーザ間重複排除を可能にするためのストレージディスカウントを提供する例示の処理は、ブロック６２２「フラグ付けされたストレージから重複排除シグネチャを生成する」から開始することができ、ユーザによって重複排除の候補としてフラグ付けされたデータストレージに対して、図５の記録管理エンジン５２３などの重複排除モジュールによって重複排除シグネチャを生成することができる。これは、選択的な解読または復元を含む。
【００４７】
ブロック６２２に続き、ブロック６２４「重複排除可能なセクションを除去する」に進み、仮想デスクトップサービスまたは仮想マシンインスタンスにおいて、オペレーティングシステムおよびアプリケーション２２７の同一のコピーなど、データのうちの重複排除可能なセクションを除去することができる。ブロック６２４に続き、ブロック６２６「除去されたセクションを重複排除ポインタに置き換える」に進むことができる。ブロック６２６では、重複排除がユーザにとって透過的となり、かつ、データセンターのパフォーマンスに影響を与えないように、除去されたセクションの代わりにポインタを記憶することができる。ブロック６２６に続き、ブロック６２８「重複排除候補リストを新しいシグネチャで更新する」に進み、図４に示すように記録管理エンジン５２３が新しいシグネチャを生成し、重複排除の候補となるデータセクションのリストを更新することができる。ブロック６２８に続き、ブロック６３０「次のフラグ付きストレージに進む」に進み、ユーザによって重複排除の対象となるものとしてフラグ付けされたデータセクションについて重複排除処理を反復的に繰り返すことができる。
【００４８】
上記の処理に含まれる各ブロックは例示のためのものである。ユーザ間重複排除のためのストレージディスカウントは、例えば図１および図４に示すブロックを使用して、これよりも少ないブロックまたは追加のブロックを含む同様の処理によって実装することもできる。一部の例では、これらのブロックを異なる順序で実行してもよい。他の例では、様々なブロックを削除してもよい。さらに他の例では、様々なブロックを分割して増やしたり、組み合わせてブロックを少なくしたりすることもできる。
【００４９】
図７に、本開示に記載の少なくとも一部の実施形態により構成された、例示のコンピュータプログラム製品７００のブロック図を示す。一部の例では、図７に示すように、コンピュータプログラム製品７００は、例えばプロセッサによって実行されると本開示に記載の機能を実現可能な１つまたは複数の機械可読命令７０４を含む信号伝達媒体７０２を含むことができる。したがって、例えば図５のプロセッサ５０４を参照すると、記録管理エンジン５２３は、媒体７０２によってプロセッサ５０４に伝達された命令７０４に応答して図７に示すタスクのうちの１つまたは複数のタスクを開始し、本開示に記載のユーザ間重複排除のためのストレージディスカウントの付与に関連付けられた動作を行うことができる。これらの命令の一部は、例えば、本開示に記載の一部の実施形態により、フラグ付けされたストレージから重複排除シグネチャを生成する命令、重複排除可能なセクションを除去する命令、除去されたセクションを重複除去済みポインタに置き換える命令、および重複排除候補リストを新しいシグネチャで更新する命令を含むことができる。
【００５０】
一部の実施態様では、図７に示す信号伝達媒体７０２は、ハードディスクドライブ、半導体ドライブ、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、デジタルテープ、メモリなどのコンピュータ可読媒体７０６を包含し得るがこれらには限定されない。一部の実施形態では、信号伝達媒体７０２は、メモリ、読取り／書込み（Ｒ／Ｗ）ＣＤ、Ｒ／ＷＤＶＤなどの記録可能媒体７０８を包含するが、これらには限定されない。一部の実施態様では、信号伝達媒体７０２は、デジタルおよび／またはアナログ通信媒体（例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）などの通信媒体７１０を包含し得るがこれらには限定されない。したがって、例えばプログラム製品７００は、ＲＦ信号伝達媒体によってプロセッサ７０４の１つまたは複数のもモジュールに伝達することができ、その場合、信号伝達媒体７０２は無線通信媒体７１０（例えばＩＥＥＥ８０２．１１規格に準拠した無線通信媒体）によって伝達される。
【００５１】
一部の例によると、データセンター環境において複数のユーザ間のデータ記憶重複排除を行う方法は、重複排除の対象となり得るものとしてフラグ付けされたデータストレージを判断することと、フラグ付けされた該データストレージから重複排除シグネチャを生成することと、フラグ付けされた該データストレージのセクションを除去することと、除去された該セクションを重複排除ポインタに置き換えることと、重複排除候補リストを、フラグ付けされたデータストレージから生成された新しい重複排除シグネチャで更新することとを含むことができる。
【００５２】
他の例によると、この方法は、除去された前記セクションに基づいて課金記録を生成することと、該課金記録に基づいて、フラグ付けされた前記データストレージの所有者にディスカウントを与えることも含むことができる。課金記録は、フラグ付けされた前記データストレージの前記所有者にディスカウントを与えるために節減されたスペースを追跡する目的および、重複排除パッケージの利用状況を追跡するためのガーベジコレクション用マスター参照先として使用することができる。前記ディスカウントは、前記重複排除に関連付けられた処理時間にも基づくことができる。
【００５３】
他の例によると、この方法は、除去された前記セクションに基づく前記データセンターにおける１つまたは複数のガーベジ管理操作を行うこと、さらなる重複排除シグネチャの生成と、さらなるセクションの除去とを反復的に行うこと、または、前記データセンターの処理能力に余裕があるときに前記重複排除を行うことを含んでもよい。データストレージを重複排除の対象となり得るものと判断することは、データの所有者から指示を受け取ることを含んでもよい。重複排除は、前記データセンターの非アクティブデータモジュールおよびマシンインスタンスの別々の暗号化とパッケージ化とを考慮に入れることができる。
【００５４】
一部の例によると、前記データは、オペレーティングシステム（ＯＳ）部分、ＯＳ変更部分および／またはアドオン部分、アプリケーション部分、およびユーザデータ部分からなる組のうちの少なくとも１つを含むパッケージを含むことができる。前記方法は、前記重複排除のために前記ＯＳ部分と前記アプリケーション部分からなる組のうちの少なくとも１つを含む復号データ部分をスキャンすることと、重複排除済みデータを前記データセンターが所有する個別パッケージに記憶することとをさらに含んでもよい。暗号化データ部分は、前記ＯＳ変更部分および／またはアドオン部分、前記アプリケーション部分、および前記ユーザデータ部分からなる組のうちの少なくとも１つを含むことができる。前記パッケージは、一度に１つずつ順次にアクセスしてもよい。前記重複排除は，前記データセンターの、外部アクセスができないデータストレージセクションにおいて行うことができる。前記方法は、データセンターのサイト間で前記重複排除シグネチャを共用することと、仮想マシンに関連付けられた重複排除シグネチャおよび非重複データを転送することによって該仮想マシンを転送することとを含んでもよい。
【００５５】
他の例によると、データセンター環境において複数のユーザ間のデータ記憶重複排除を行うように構成されたサーバが、命令を記憶するように構成されたメモリと、記憶された前記命令とともにデータ管理アプリケーションを実行するプロセッサとを含むことができる。プロセッサは、重複排除の対象となり得るものとしてフラグ付けされたデータストレージを判断し、フラグ付けされた該データストレージから重複排除シグネチャを生成し、フラグ付けされた該データストレージのセクションを除去し、除去された該セクションを重複排除ポインタに置き換え、重複排除候補リストをフラグ付けされたデータストレージから生成された新しい重複排除シグネチャで更新してもよい。
【００５６】
他の例によると、前記プロセッサは、除去された前記セクションに基づいて課金記録を生成し、該課金記録に基づいて、フラグ付けされた前記データストレージの所有者にディスカウントを与えてもよい。課金記録は、フラグ付けされた前記データストレージの前記所有者にディスカウントを与えるために節減されたスペースを追跡する目的および、重複排除パッケージの利用状況を追跡するためのガーベジコレクション用マスター参照先として使用することができる。前記ディスカウントは、前記重複排除に関連付けられた処理時間にも基づくことができる。
【００５７】
他の例によると、プロセッサは、さらに、除去された前記セクションに基づく前記データセンターにおける１つまたは複数のガーベジ管理操作を行い、さらなる重複排除シグネチャの生成と、さらなるセクションの除去とを反復的に行い、データの所有者から指示を受け取ることによってデータストレージを重複排除の対象となり得るものと判断してもよく、または前記データセンターの処理能力に余裕があるときに前記重複排除を行ってもよい。重複排除は、前記データセンターの非アクティブデータモジュールおよびマシンインスタンスの別々の暗号化とパッケージ化とを考慮に入れることができる。
【００５８】
他の例によると、前記データは、オペレーティングシステム（ＯＳ）部分、ＯＳ変更部分および／またはアドオン部分、アプリケーション部分、およびユーザデータ部分からなる組のうちの少なくとも１つを含むことができる。プロセッサは、さらに、前記重複排除のために前記ＯＳ部分と前記アプリケーション部分からなる組のうちの少なくとも１つを含む復号データ部分をスキャンし、重複排除済みデータを前記データセンターが所有する個別パッケージに記憶してもよい。
【００５９】
一部の例によると、暗号化データ部分は、前記ＯＳ変更部分および／またはアドオン部分、前記アプリケーション部分、および前記ユーザデータ部分からなる組のうちの少なくとも１つを含むことができる。前記パッケージは、一度に１つずつ順次にアクセスしてもよい。前記重複排除は，前記データセンターの、外部アクセスができないデータストレージセクションにおいて行うことができる。プロセッサはさらに、データセンターのサイト間で前記重複排除シグネチャを割当てしてもよく、仮想マシンに関連付けられた重複排除シグネチャおよび非重複データを転送することによって該仮想マシンを転送してもよい。
【００６０】
他の例によると、データセンター環境において複数のユーザ間のデータ記憶重複排除を行うデータセンターが、複数のデータストアと、データ管理のための少なくとも１つのサーバとを含むことができる。サーバは、重複排除の対象となり得るものとしてフラグ付けされたデータストレージを判断し、フラグ付けされた該データストレージから重複排除シグネチャを生成し、フラグ付けされた該データストレージのセクションを除去し、除去された該セクションを重複排除ポインタに置き換え、重複排除候補リストをフラグ付けされたデータストレージから生成された新しい重複排除シグネチャで更新することができる。
【００６１】
他の例によると、サーバは、除去された前記セクションに基づいて課金記録を生成し、該課金記録に基づいて、フラグ付けされた前記データストレージの所有者にディスカウントを与えてもよい。課金記録は、フラグ付けされた前記データストレージの前記所有者にディスカウントを与えるために節減されたスペースを追跡する目的および、重複排除パッケージの利用状況を追跡するためのガーベジコレクション用マスター参照先として使用することができる。ディスカウントは、前記重複排除に関連付けられた処理時間にも基づくことができる。サーバは、除去された前記セクションに基づく前記データセンターにおける１つまたは複数のガーベジ管理操作を行い、さらなる重複排除シグネチャの生成と、さらなるセクションの除去とを反復的に行い、データの所有者から指示を受け取ることによってデータストレージを重複排除の対象となり得るものと判断し、または前記データセンターの処理能力に余裕があるときに前記重複排除を行ってもよい。
【００６２】
他の例によると、重複排除は、前記データセンターの非アクティブデータモジュールおよびマシンインスタンスの別々の暗号化とパッケージ化とを考慮に入れてもよい。前記データは、オペレーティングシステム（ＯＳ）部分、ＯＳ変更部分および／またはアドオン部分、アプリケーション部分、およびユーザデータ部分からなる組のうちの少なくとも１つを含むことができる。サーバは、さらに、前記重複排除のために前記ＯＳ部分と前記アプリケーション部分からなる組のうちの少なくとも１つを含む復号データ部分をスキャンし、重複排除済みデータを前記データセンターが所有する個別パッケージに記憶してもよい。
【００６３】
一部の例によると、暗号化データ部分は、前記ＯＳ変更部分および／またはアドオン部分、前記アプリケーション部分、および前記ユーザデータ部分からなる組のうちの少なくとも１つを含むことができる。パッケージは、一度に１つずつ順次にアクセスされてもよい。重複排除は，前記データセンターの、外部アクセスができないデータストレージセクションにおいて行うことができる。サーバは、データセンターのサイト間で前記重複排除シグネチャを共用し、仮想マシンに関連付けられた重複排除シグネチャおよび非重複データを転送することによって該仮想マシンを転送してもよい。
【００６４】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができる様々な達成手段があり（例えば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセスおよび／またはシステムおよび／または他の技術が導入される状況によって異なる。例えば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび／またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および／またはファームウェアのなんらかの組み合わせを選択することができる。
【００６５】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、装置および／またはプロセスの様々な実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組み合わせにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（例えば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（例えば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組み合わせとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。
【００６６】
本開示は、本出願に記載の特定の実施形態にのみ限定されるものではない。これらの実施形態は様々な態様を例示することを意図したものである。当業者には明らかなように、本開示の趣旨および範囲から逸脱することなく、多くの変更および変形態様が可能である。上記の説明から、本開示に列挙されているものに加えて、本開示の範囲における機能的に同等の方法および装置が前述の記述から当業者には明らかであろう。そのような変更および変形態様は、添付の特許請求の範囲に含まれるものと意図されている。本開示は、添付の特許請求の範囲の記載と、そのような特許請求の範囲が権利を与えられる等価物の全範囲によってのみ限定されるべきである。本開示は、特定の方法、試薬、化合物組成または生体系に限定されず、これらは当然ながら異なり得ることを理解すべきである。本開示で使用する用語は、特定の実施形態について説明するためだけのものに過ぎず、限定的であることを意図したものではないことも理解すべきである。
【００６７】
さらに、本明細書に記載された主題のメカニズムを様々な形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピーディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【００６８】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（例えば、ガントリーシステムの位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。
【００６９】
通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。本明細書に記載された主題は、様々なコンポーネントをしばしば例示しており、これらのコンポーネントは、他の様々なコンポーネントに包含されるか、または他の様々なコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示に過ぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的に接続可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００７０】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。様々な単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００７１】
通常、本明細書において、特に添付の特許請求の範囲（例えば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（例えば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない（例えば、「ａ」および／または「ａｎ」は、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（例えば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。
【００７２】
さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。例えば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００７３】
さらに、本開示の特徴または態様がマーカッシュ群により記載される場合、それによって本開示がマーカッシュ群の任意の個々の要素または要素の部分集合についても説明されることが当業者にはわかるであろう。
【００７４】
当業者ならわかるように、例えば書面による説明を提供するなどのあらゆる目的において、本開示で開示されているすべての範囲は、考えられるあらゆる部分範囲およびその部分範囲の組み合わせも含む。記載の範囲はすべて、少なくとも２等分、３等分、４等分、５等分、１０等分などに分割された同じ範囲を十分に説明し、可能にするものであることを容易に認識することができる。非限定的な例として、本開示に記載の各範囲は、下３分の１、中間３分の１、上３分の１などに容易に分割可能である。また、当業者ならわかるように、「〜まで」、「少なくとも」、「〜を超える」、「〜未満」などすべての言語は、記載されている数を含み、前述のような部分範囲に実質的に分割可能な範囲を指す。最後に、当業者ならわかるように、範囲は、個々の要素のそれぞれを含む。したがって、例えば１〜３個のセルを有する群とは、１、２または３個のセルを有する群を指す。同様に、１〜５個のセルを有する群は、１、２、３、４または５個のセルを有する群を指す、という具合である。
【００７５】
本開示では様々な態様および実施形態について開示したが、当業者には他の態様および実施形態も明らかであろう。本開示で開示する様々な態様および実施形態は、例示のためのものであり、限定することを意図したものではなく、真の範囲および趣旨は以下の特許請求の範囲によって示される。
【図１】
0005851047.tif 000002
【図２】
0005851047.tif 000003
【図３】
0005851047.tif 000004
【図４】
0005851047.tif 000005
【図５】
0005851047.tif 000006
【図６】
0005851047.tif 000007
【図７】
0005851047.tif 000008