少なくとも1つの順次バックアップデバイスからデータオブジェクトを復元するためにクライアントおよびサーバの動作を実行するコンピュータプログラムであって、前記サーバによって、前記少なくとも1つの順次バックアップデバイス内に重複排除されたデータを有する範囲のデータオブジェクトを格納すること、前記サーバによって、前記クライアントから、データオブジェクトに関する要求を受信すること、前記サーバによって、前記要求されたデータオブジェクトに関する前記少なくとも1つの順次バックアップデバイス内に格納された範囲を決定すること、前記サーバまたは前記クライアントによって、分類リストを生成するために、前記少なくとも1つの順次バックアップデバイス内に格納された順序に従って、前記範囲を分類すること、前記サーバによって、格納された前記順序で前記順次バックアップデバイスから順番に前記範囲にアクセスするための前記分類リスト内の前記順序に従って、前記少なくとも1つの順次バックアップデバイスから前記範囲を取り出すこと、前記サーバによって、前記取り出された範囲を前記クライアントに戻すこと、および前記クライアントによって、前記受信された範囲から前記要求されたデータオブジェクトを再構築すること、をコンピュータに実行させるコンピュータプログラム。前記要求されたデータオブジェクトが複数の順次バックアップデバイス内に格納され、前記順次バックアップデバイスのそれぞれについて1つの分類リストを生成するために、前記分類リスト内の前記範囲の分類が、前記要求されたデータオブジェクトに関する範囲を含む前記順次バックアップデバイスのそれぞれについて実行され、前記取り出すことが、前記順次バックアップデバイスに書き込まれた前記順序に従って、前記順次バックアップデバイス内の前記範囲に順番にアクセスするために、前記順次バックアップデバイスについての前記分類リスト内の前記順序に従って、前記順次バックアップデバイスのそれぞれについてのすべての範囲を取り出すことを含む、請求項1に記載のコンピュータプログラム。前記順次バックアップデバイス内へ前記データオブジェクトを格納することが、範囲の1つのインスタンスのみを格納し、前記要求されたデータオブジェクトのうちの少なくとも2つが少なくとも1つの共通範囲を含み、前記戻された範囲が、前記少なくとも2つのデータオブジェクトに含まれる前記少なくとも1つの共通範囲の少なくとも1つのインスタンスのみを含む、請求項1に記載のコンピュータプログラム。前記クライアントによって、前記要求されたデータオブジェクトに含まれる範囲のクライアントデータオブジェクト情報を維持することをさらに含み、前記要求されたデータオブジェクトを再構築することが、前記受信された範囲を追加する前記データオブジェクトを決定するために、前記クライアントデータオブジェクト情報を使用することを含み、前記少なくとも1つの共通範囲が、前記共通範囲を含む前記少なくとも2つのデータオブジェクトのそれぞれに含まれる、請求項3に記載のコンピュータプログラム。前記クライアントデータオブジェクト情報が、データオブジェクト内の各範囲について、前記データオブジェクト内で前記範囲が位置する前記データオブジェクト内の少なくとも1つのオフセットを示し、前記データオブジェクト内の各範囲が前記データオブジェクト内の1つまたは複数のオフセットで発生可能であり、前記要求されたデータオブジェクトの再構築が、各範囲の受信に応答して、前記範囲が含まれる前記要求されたデータオブジェクトのそれぞれの中で、前記受信された範囲の前記少なくとも1つのオフセットを決定すること、前記受信された範囲を含む各データオブジェクトについて、前記受信された範囲を、前記データオブジェクト内の前記決定された少なくとも1つのオフセットに追加することであって、範囲は、前記範囲が受信された際にデータオブジェクト内に含まれる、追加すること、を実行することを含む、請求項3に記載のコンピュータプログラム。前記クライアントデータオブジェクト情報が、前記データオブジェクト内の各範囲について、前記範囲が位置する前記データオブジェクト内の少なくとも1つのオフセットを示し、前記データオブジェクト内の各範囲が前記データオブジェクト内の1つまたは複数のオフセットで発生可能であり、前記要求されたデータオブジェクトの再構築が、前記要求されたデータオブジェクトについて前記範囲のすべてが使用可能となるまで、前記受信された範囲をバッファリングすること、前記要求されたデータオブジェクト内の前記受信された範囲の前記オフセットを決定すること、および前記サーバから受信された前記データオブジェクトについてすべての前記範囲をバッファリングすることに応答して、前記バッファリングされた受信された範囲を、前記要求されたデータオブジェクトのうちの1つの前記決定されたオフセットに追加すること、を実行することを含む、請求項3に記載のコンピュータプログラム。前記動作が、前記クライアントによって、前記クライアントでローカルに維持されている前記要求されたデータオブジェクト内の範囲を決定すること、および、前記クライアントによって、前記クライアントでローカルに維持されていない前記要求されたデータオブジェクト内の範囲のインジケーションを前記サーバに送信することであって、前記サーバは、前記クライアントがローカルに維持していない前記示された範囲を前記クライアントに戻し、前記クライアントは、前記サーバから受信された前記範囲、および、前記クライアントでローカルに維持されている前記要求されたデータオブジェクト内の前記範囲から、前記要求されたデータオブジェクトを再構築する、送信すること、をさらに含む、請求項3に記載のコンピュータプログラム。前記サーバによって、前記順次バックアップデバイス内に格納された前記範囲の位置を示す範囲情報を維持すること、前記サーバによって、前記データオブジェクト内に含まれる前記範囲を示す要求された各データオブジェクトについて、サーバデータオブジェクト情報を生成すること、前記サーバによって、前記サーバデータオブジェクト情報を前記クライアントに戻すこと、および前記サーバによって、前記クライアントがローカルに維持していない範囲を決定するために、前記サーバによって使用されるインジケーションを前記クライアントから受信することであって、前記サーバは前記クライアントがローカルに維持していない前記範囲を前記クライアントに戻す、受信することをさらに含む、請求項3に記載のコンピュータプログラム。前記サーバデータオブジェクト情報が複数のデータオブジェクトに含まれる前記範囲の複数のインスタンスを示し、前記分類リストが、前記複数の要求されたデータオブジェクトに含まれる範囲を含む、各範囲の1つのインスタンスのみを含み、前記クライアントによって、各範囲について前記範囲を含む各データオブジェクトを示すクライアントデータオブジェクト情報を生成するために、前記サーバデータオブジェクト情報を使用することであって、前記クライアントによって、前記要求されたデータオブジェクトを再構築することは、前記受信された範囲を、前記範囲を含む前記要求されたデータオブジェクトに追加するために、前記クライアントデータオブジェクト情報を使用することを含み、前記少なくとも1つの共通範囲は、前記クライアントデータオブジェクト情報内に示された前記共通範囲を含む少なくとも2つのデータオブジェクトのそれぞれに含まれる、使用すること、をさらに含む、請求項8に記載のコンピュータプログラム。クライアントおよび少なくとも1つの順次バックアップデバイスと通信する、システムであって、プロセッサと、動作を実行するために、前記プロセッサによって実行されるコードを含む、コンピュータ読み取り可能ストレージ媒体と、を備え、前記動作が、前記少なくとも1つの順次バックアップデバイス内に重複排除されたデータの範囲を有するデータオブジェクトを格納すること、前記クライアントから、データオブジェクトに関する要求を受信すること、前記要求されたデータオブジェクトに関する前記少なくとも1つの順次バックアップデバイス内に格納された範囲を決定すること、前記少なくとも1つの順次バックアップデバイス内に格納された順序に従って、前記範囲の分類を有する分類リストを提供すること、格納された前記順序で前記順次バックアップデバイスから順番に前記範囲にアクセスするための前記分類リスト内の前記順序に従って、前記少なくとも1つの順次バックアップデバイスから前記範囲を取り出すこと、および前記取り出された範囲を前記クライアントに戻すこと、を含み、前記クライアントは前記受信された範囲から前記要求されたデータオブジェクトを再構築する、システム。前記要求されたデータオブジェクトが複数の順次バックアップデバイス内に格納され、前記順次バックアップデバイスのそれぞれについて1つの分類リストを生成するために、前記分類リスト内の前記範囲の分類が、前記要求されたデータオブジェクトに関する範囲を含む前記順次バックアップデバイスのそれぞれについて実行され、前記取り出すことが、前記順次バックアップデバイスに書き込まれた前記順序に従って、前記順次バックアップデバイス内の前記範囲に順番にアクセスするために、前記順次バックアップデバイスについての前記分類リスト内の前記順序に従って、前記順次バックアップデバイスのそれぞれについてのすべての範囲を取り出すことを含む、請求項10に記載のシステム。前記順次バックアップデバイス内へ前記データオブジェクトを格納することが、範囲の1つのインスタンスのみを格納し、前記要求されたデータオブジェクトのうちの少なくとも2つが少なくとも1つの共通範囲を含み、前記戻された範囲が、前記少なくとも2つのデータオブジェクトに含まれる前記少なくとも1つの共通範囲の少なくとも1つのインスタンスのみを含む、請求項10に記載のシステム。少なくとも1つの順次バックアップデバイスと通信するシステムであって、クライアントバックアッププログラムを有するクライアントと、サーババックアッププログラムを有するサーバと、を備え、前記サーバは前記クライアントと通信し、前記サーババックアッププログラムは、前記少なくとも1つの順次バックアップデバイス内に重複排除されたデータの範囲を有するデータオブジェクトを格納すること、前記クライアントから、データオブジェクトに関する要求を受信すること、前記要求されたデータオブジェクトに関する前記少なくとも1つの順次バックアップデバイス内に格納された範囲を決定すること、前記少なくとも1つの順次バックアップデバイス内に格納された順序に従って、前記範囲の分類を有する分類リストを提供すること、格納された前記順序で前記順次バックアップデバイスから順番に前記範囲にアクセスするための前記分類リスト内の前記順序に従って、前記少なくとも1つの順次バックアップデバイスから前記範囲を取り出すこと、および前記取り出された範囲を前記クライアントに戻すこと、を実行するために実行され、前記クライアントは前記受信された範囲から前記要求されたデータオブジェクトを再構築する、システム。前記順次バックアップデバイス内へ前記データオブジェクトを格納することが、範囲の1つのインスタンスのみを格納し、前記要求されたデータオブジェクトのうちの少なくとも2つが少なくとも1つの共通範囲を含み、前記戻された範囲が、前記少なくとも2つのデータオブジェクトに含まれる前記少なくとも1つの共通範囲の少なくとも1つのインスタンスのみを含む、請求項13に記載のシステム。さらに前記クライアントバックアッププログラムが、前記要求されたデータオブジェクトに含まれる範囲のクライアントデータオブジェクト情報を維持するために実行され、前記要求されたデータオブジェクトを再構築することが、前記受信された範囲を追加する前記データオブジェクトを決定するために、前記クライアントデータオブジェクト情報を使用することを含み、前記少なくとも1つの共通範囲が、前記共通範囲を含む前記少なくとも2つのデータオブジェクトのそれぞれに含まれる、請求項14に記載のシステム。前記クライアントデータオブジェクト情報が、データオブジェクト内の各範囲について、前記データオブジェクト内で前記範囲が位置する前記データオブジェクト内の少なくとも1つのオフセットを示し、前記データオブジェクト内の各範囲が前記データオブジェクト内の1つまたは複数のオフセットで発生可能であり、前記要求されたデータオブジェクトの再構築が、各範囲の受信に応答して、前記範囲が含まれる前記要求されたデータオブジェクトのそれぞれの中で、前記受信された範囲の前記少なくとも1つのオフセットを決定すること、前記受信された範囲を含む各データオブジェクトについて、前記受信された範囲を、前記データオブジェクト内の前記決定された少なくとも1つのオフセットに追加することであって、範囲は、前記範囲が受信された際にデータオブジェクト内に含まれる、追加すること、を実行することを含む、請求項14に記載のシステム。前記クライアントデータオブジェクト情報が、前記データオブジェクト内の各範囲について、前記範囲が位置する前記データオブジェクト内の少なくとも1つのオフセットを示し、前記データオブジェクト内の各範囲が前記データオブジェクト内の1つまたは複数のオフセットで発生可能であり、前記要求されたデータオブジェクトの再構築が、前記要求されたデータオブジェクトについて前記範囲のすべてが使用可能となるまで、前記受信された範囲をバッファリングすること、前記要求されたデータオブジェクト内の前記受信された範囲の前記オフセットを決定すること、および前記サーバから受信された前記データオブジェクトについてすべての前記範囲をバッファリングすることに応答して、前記バッファリングされた受信された範囲を、前記要求されたデータオブジェクトのうちの1つの前記決定されたオフセットに追加すること、を実行することを含む、請求項14に記載のシステム。前記クライアントバックアッププログラムが、前記クライアントによって、前記クライアントでローカルに維持されている前記要求されたデータオブジェクト内の範囲を決定すること、および、前記クライアントによって、前記クライアントでローカルに維持されていない前記要求されたデータオブジェクト内の範囲のインジケーションを前記サーバに送信することであって、前記サーバは、前記クライアントがローカルに維持していない前記示された範囲を前記クライアントに戻し、前記クライアントは、前記サーバから受信された前記範囲、および、前記クライアントでローカルに維持されている前記要求されたデータオブジェクト内の前記範囲から、前記要求されたデータオブジェクトを再構築する、送信すること、を実行するためにさらに実行される、請求項14に記載のシステム。前記サーババックアッププログラムが前記順次バックアップデバイス内に格納された前記範囲の位置を示す範囲情報を維持すること、前記データオブジェクト内に含まれる前記範囲を示す要求された各データオブジェクトについて、サーバデータオブジェクト情報を生成すること、前記サーバデータオブジェクト情報を前記クライアントに戻すこと、および前記クライアントがローカルに維持していない範囲を決定するために、前記サーバによって使用されるインジケーションを前記クライアントから受信することであって、前記サーバは前記クライアントがローカルに維持していない前記範囲を前記クライアントに戻す、受信することを実行するためにさらに実行される、請求項14に記載のシステム。前記サーバデータオブジェクト情報が複数のデータオブジェクトに含まれる前記範囲の複数のインスタンスを示し、前記分類リストが、前記複数の要求されたデータオブジェクトに含まれる範囲を含む、各範囲の1つのインスタンスのみを含み、前記クライアントバックアッププログラムが、前記クライアントによって、各範囲について前記範囲を含む各データオブジェクトを示すクライアントデータオブジェクト情報を生成するために、前記サーバデータオブジェクト情報を使用することであって、前記クライアントによって、前記要求されたデータオブジェクトを再構築することは、前記受信された範囲を、前記範囲を含む前記要求されたデータオブジェクトに追加するために、前記クライアントデータオブジェクト情報を使用することを含み、前記少なくとも1つの共通範囲は、前記クライアントデータオブジェクト情報内に示された前記共通範囲を含む少なくとも2つのデータオブジェクトのそれぞれに含まれる、使用すること、を実行するためにさらに実行される、請求項19に記載のシステム。データオブジェクトを復元するための方法であって、少なくとも1つの順次バックアップデバイス内に重複排除されたデータを有する範囲のデータオブジェクトを格納すること、クライアントから、データオブジェクトに関する要求を受信すること、前記要求されたデータオブジェクトに関する前記少なくとも1つの順次バックアップデバイス内に格納された範囲を決定すること、分類リストを生成するために、前記少なくとも1つの順次バックアップデバイス内に格納された順序に従って、前記範囲を分類すること、サーバによって、格納された前記順序で前記順次バックアップデバイスから順番に前記範囲にアクセスするための前記分類リスト内の前記順序に従って、前記少なくとも1つの順次バックアップデバイスから前記範囲を取り出すこと、前記取り出された範囲を前記クライアントに戻すこと、および前記受信された範囲から前記要求されたデータオブジェクトを再構築すること、を含む、方法。前記要求されたデータオブジェクトが複数の順次バックアップデバイス内に格納され、前記順次バックアップデバイスのそれぞれについて1つの分類リストを生成するために、前記分類リスト内の前記範囲の分類が、前記要求されたデータオブジェクトに関する範囲を含む前記順次バックアップデバイスのそれぞれについて実行され、前記取り出すことが、前記順次バックアップデバイスに書き込まれた前記順序に従って、前記順次バックアップデバイス内の前記範囲に順番にアクセスするために、前記順次バックアップデバイスについての前記分類リスト内の前記順序に従って、前記順次バックアップデバイスのそれぞれについてのすべての範囲を取り出すことを含む、請求項21に記載の方法。当分野では、様々なストレージ環境でデータオブジェクトの復元を処理するための改良された技法が求められている。順次バックアップデバイスから重複排除されたデータオブジェクトを復元するための、コンピュータプログラム製品、システム、および方法が提供される。サーバは、少なくとも1つの順次バックアップデバイス内に重複排除されたデータを有する範囲のデータオブジェクトを格納する。サーバは、データオブジェクトに関する要求をクライアントから受信する。サーバは、要求されたデータオブジェクトに関する少なくとも1つの順次バックアップデバイスに格納された範囲を決定する。サーバまたはクライアントは、分類リストを生成するために、範囲を、それらが少なくとも1つの順次バックアップデバイス内に格納された順序に従って分類する。サーバは、範囲が格納された順序で、順次バックアップデバイスから順番にそれらの範囲にアクセスするために、分類リスト内の順序に従って少なくとも1つの順次バックアップデバイスから範囲を取り出す。サーバは、取り出した範囲をクライアントに戻し、クライアントは、受信した範囲から要求されたデータオブジェクトを再構築する。バックアップサーバは、複数データオブジェクト内に含まれる範囲に対して、各範囲の1つのインスタンスのみがバックアップされるように、順次アクセスデバイス内の複数データオブジェクトから範囲を格納する。順次アクセス媒体磁気テープなどからデータを復元するには、カートリッジをマウントし、デバイスリーダをデータ範囲に位置決めするための時間を必要とする。順次アクセス媒体は、順番にデータ位置にアクセスしなければならないストレージを備える。従来技術では、順次アクセス媒体からの重複排除データの復元動作には、複数ボリュームのマウントおよび探索動作が必要であるため、結果としてアクセス性能が低くなる。説明される諸実施形態では、順次アクセス媒体から重複排除データを復元するための改善された性能および効率的な技法を提供する。クライアントが、重複排除によって順次アクセス媒体内にバックアップされた範囲からデータオブジェクトを再構築できるようにするために、バックアップサーバは、復元するように要求されたデータオブジェクトおよびデータオブジェクト内の範囲に関する情報をクライアントに提供する。バックアップサーバは、順次アクセスデバイスから要求されたデータオブジェクトに含まれる範囲に、順次バックアップデバイス全体にわたって範囲が格納された順にアクセスし、受信した範囲からデータオブジェクトを再構築するために、クライアントに範囲を戻す。図1は、ネットワークバックアップ環境の実施形態を示す図である。この環境は、ネットワークを介して通信するクライアントシステム2およびサーバシステム4を含む。クライアント2およびサーバ4は、それぞれ、クライアント2によってローカルストレージ14内に維持されるデータオブジェクト12のバックアップを含む、クライアント2にバックアップサービスを提供するためのクライアントサーババックアップ関連動作を実行するための、クライアントバックアッププログラム8およびサーババックアッププログラム10を含む。1つのクライアント2が示されているが、サーバ4は、ネットワーク6を介して複数のクライアントシステムにバックアップサービスを提供することができる。バックアップという用語は、本明細書で使用される場合、アーカイブおよびスペース管理動作などの他のバックアップ関連動作を言い表す。サーババックアッププログラム10は、1つまたは複数の順次バックアップデバイス18a、18b、18c内にクライアント2からバックアップされたデータオブジェクトに関する情報を提供する、オブジェクトデータベース16を維持する。順次バックアップデバイス18a、18b、18cは、媒体をマウントする必要があり、順次アクセス媒体上のトラック位置まで読み取りヘッドを移動させるための探索動作が実行される、磁気テープ媒体または他の順次アクセスデバイスなどの、物理的に連続したストレージ位置からデータが順次読み取られ、この位置へ順次書き込まれる、順次アクセスデバイスを備える。オブジェクトデータベース16は、データオブジェクト内に画定された範囲に関する情報、オブジェクトの出所であるクライアント、データオブジェクトを含んでいたクライアントストレージ14内の位置、ならびに、データオブジェクトおよびソースクライアントに関する他の属性およびメタデータを含む。サーバ4からデータオブジェクトを復元するために、サーババックアッププログラム10は、順次バックアップデバイス18a、18b、18cから復元するためのデータオブジェクトに関するサーバデータオブジェクト情報20と、順次バックアップデバイス18a、18b、18c内で復元するためのデータオブジェクト内の範囲の位置を示す範囲情報22と、内部で順次バックアップデバイス18a、18b、18cから範囲が取り出され、クライアント2へ戻される順序を示す、分類リスト24とを生成する。クライアントバックアッププログラム8は、データオブジェクト内の範囲およびデータオブジェクト内の範囲のオフセットを含む、クライアントが復元を要求したデータオブジェクトに関する情報を提供する、クライアントデータオブジェクト情報26を生成する。ある諸実施形態では、クライアントバックアッププログラム8がサーババックアッププログラム10から範囲を受信すると、クライアントバックアッププログラム8は、受信した範囲を、復元されているデータオブジェクトに即時に追加することができる。一実施形態では、サーババックアッププログラム10が分類リスト24を生成できる。代替実施形態では、クライアントバックアッププログラム8が分類リスト24を生成できる。ある諸実施形態では、複数のファイルを復元する場合、クライアントバックアッププログラム8は、たとえ復元要求内の他のファイルがまだ完全に復元されていない場合であっても、復元が完了した際に使用可能な復元ファイルを作成することができる。クライアントバックアッププログラム8は、部分的に復元されたファイルへのアクセスを防ぐために、すべての範囲が含められるまで、復元中のデータオブジェクトにアクセスすることができない。復元に失敗した場合、クライアントバックアッププログラム8は、部分的にしか復元されなかったファイルへのアクセスを防ぐために、部分的に復元されたファイルを除去することができる。別の方法として、クライアントバックアッププログラム8は、復元するためのデータオブジェクトに関してサーババックアッププログラム10から受信した範囲を、バッファ28内に格納することができる。部分的に復元されたデータオブジェクトの使用を防ぐため、ファイル名に拡張子.TMPを付加するなどのように、復元プロセス中のデータオブジェクトの名前を変更することができる。別の方法として、データオブジェクトが完全に再構築され、アクセス可能なアクティブディレクトリに戻されるまで、そのデータオブジェクトにアクセスできないステージングディレクトリstagingdirectory内に、復元中のデータオブジェクトを再構築することもできる。さらに他の実施形態では、再構築中のデータオブジェクトを、アプリケーションによるアクセスには使用できないことを示す、特別な許可によって構成することもできる。範囲は、データオブジェクトに割り当てられたデータの領域またはブロックを備えるため、結果として1つまたは複数の範囲を含むようにデータオブジェクトを構成することができる。データオブジェクトは、ファイル、データベース、ファイルシステム、または任意の他のデータのグループ化を備えることができる。ネットワーク6は、ローカルエリアネットワークLAN、ストレージエリアネットワークSAN、ワイドエリアネットワークWAN、無線ネットワークなどを含むことができる。クライアント2およびサーバ4は、エンタープライズストレージサーバ、ストレージコントローラ、ブレードサーバ、汎用サーバ、デスクトップコンピュータ、ワークステーション、電話デバイス、携帯情報端末PDAなど、または他のコンピューティングデバイスを含むことができる。ストレージ14は、相互接続ハードディスクドライブDASD、RAID、JBODなどとして構成される、ソリッドステートストレージデバイスたとえばEEPROM電気的消去可能プログラマブル読み取り専用メモリ、フラッシュメモリ、フラッシュディスク、ストレージクラスメモリSCM、電子メモリなどの、当分野で知られた1つまたは複数のストレージデバイス内に実装された、ストレージ媒体を含むことができる。順次バックアップデバイス18a、18b、18cは、磁気テープ媒体、順次アクセスメモリSAMなどの、データが所定の決められた順序でのみアクセス可能な、ストレージデバイスまたは要素を含む。サーバ4は、クラウド内のクライアント2にバックアップサービスを提供するためのクラウドストレージなどの、分散ストレージ環境またはネットワークストレージ環境内に実装可能である。別の方法として、クライアント2およびサーバ4は、同一メモリ内で実行される別々のプログラムなどの、同一システム内のソフトウェアまたはソフトウェアおよびハードウェアのコンポーネントの組み合わせを含むことができる。図2は、復元するためのデータオブジェクトのデータオブジェクトID52とデータオブジェクト内の範囲54とを含む、オブジェクトデータベース16から生成されたサーバデータオブジェクト情報20内のエントリ50の実施形態を示す。復元するためのデータオブジェクト内には各範囲について1つのエントリ50が存在することになる。復元するための複数のデータオブジェクトが共通範囲を共有している場合、フィールド54内の同じ範囲を示す複数のエントリ50が存在することが可能であるため、結果として、同じ範囲54を示す複数のデータオブジェクト52に関するエントリ50が存在することになる。連続番号56は、データオブジェクト内の各範囲の連続番号を提供するため、クライアントバックアッププログラム8はそれらの範囲に関するオフセットを計算することができる。同じ範囲が同じデータオブジェクト52内に複数回発生することが可能であり、この場合、サーバデータオブジェクト情報50はその範囲に関して、それぞれが異なる連続番号を有する複数のエントリを有することになる。サーバ4がクライアントにデータオブジェクト情報50を送信する場合、連続番号が含まれる。図3は、復元するためのデータオブジェクト内の範囲に関する範囲識別子ID62と、範囲62を含む順次バックアップデバイス18a、18b、18cのバックアップデバイスID64と、範囲を有する順次バックアップデバイス64内のブロックまたは位置を示すデバイスストレージ位置66とを示す、サーババックアッププログラム10が維持する範囲情報22内のエントリ60の実施形態を示す。データオブジェクト内の各範囲について1つのエントリ60が存在するため、複数のデータオブジェクト内に含められる範囲は、範囲の順次バックアップデバイス18a、18b、18c内の位置を示す範囲情報22内に1つのエントリ60のみを有することになる。図4は、復元するためのデータオブジェクト内の各範囲に関する範囲72と、内部に範囲72が含められたデータオブジェクトのデータオブジェクトID74と、クライアントローカルストレージ14内に範囲がローカルに格納されているかどうかを示すローカルインジケータ76と、データオブジェクト74内の範囲72のオフセット78とを示す、クライアントバックアッププログラム8が維持するクライアントデータオブジェクト情報26内のエントリ70の実施形態を示す。複数のデータオブジェクトが共通範囲を共有している場合、フィールド72内に同一範囲を示す複数の範囲エントリ70が存在する可能性があるため、結果として複数のエントリ70が異なるデータオブジェクトID74について同じ範囲72を有することになる。同様に、その範囲がデータオブジェクト内の複数の位置に発生する場合、同じデータオブジェクトについて複数の範囲エントリ70が存在する可能性がある。ある実施形態では、クライアント8あるいはサーバ10またはその両方のバックアッププログラムは、複数のデータオブジェクト内で維持可能な範囲の1つのインスタンスのみが順次バックアップデバイス18a、18b、18c内でバックアップされることを保証するために、データ重複排除を実施する。オブジェクトデータベース16は、順次バックアップデバイス18a、18b、18c内のデータオブジェクトに関する範囲の位置を識別する。図5は、サーバ4が、範囲C、G、A、B、F、D、H、Jのうちの1つのインスタンスのみを有する3つの順次バックアップデバイス18a、18b、18cをどのように有するかの例を示す。クライアント4は、バックアップデバイス18a、18b、18c内にバックアップされた範囲からなるデータオブジェクト80a、80b、80cを有する。データオブジェクト80a、80b、80cは範囲を共有することができる。さらに、同じデータオブジェクト内に範囲の複数のインスタンスが存在可能である。たとえば、データオブジェクト80bおよび80cは共通範囲C、H、およびGを有し、データオブジェクト80aおよび80cは共通範囲A、D、Fを有する。データオブジェクト80cは範囲Hの2つのインスタンスを有する。クライアント4は、共通範囲を有するデータオブジェクト80a、80b、80cを維持することができるが、それらの範囲がバックアップデバイス18a、18b、18c内にバックアップされる場合、重複排除は、バックアップデバイス18a、18b、18c内に各範囲の1つのインスタンスのみを格納する。図6は、データオブジェクト列94内のデータオブジェクトIDに従ってエントリが順序付けられるように、データオブジェクト列94内に示された復元するための各データオブジェクトに関する範囲を提供する範囲列92を有する、図5のデータオブジェクト例に関するサーバデータオブジェクト情報20図1の例を含む、サーバデータオブジェクト情報90の例を示す。サーバデータオブジェクト情報20は、データオブジェクト1、2、および3内の範囲F、D、A、C、およびHなどの、データオブジェクト内の共通範囲を示す。連続番号96は、サーバ4によってクライアント2に提供されたデータオブジェクト90内の範囲の連続番号を提供する。クライアントバックアッププログラム8は、この範囲サイズ図8および連続番号図6を使用して、図7に示されるようなデータオブジェクト内の範囲のオフセットを計算することができる。図7は、データオブジェクト列104内に示された各データオブジェクトに関する範囲を有する範囲列102を有する、図5のデータオブジェクト例に関するクライアントデータオブジェクト情報26図1の例を含む、クライアントデータオブジェクト情報100の例を示す。ローカルインジケータ列106は、範囲列102内で識別された範囲がクライアント内でローカルに維持されているかどうかを示す、ローカルインジケータ76図4を含む。オフセット列108は、整数、ブロック数などの、範囲のデータオブジェクト内のオフセット位置78を示す。オフセット列108内のオフセットデータは、どちらもサーバ4から受信可能な、データオブジェクト92および52内の各範囲の連続番号96図6、56図2と、範囲サイズとに基づいて計算される。図8は、サーバ4がクライアントバックアッププログラム8に提供する、範囲サイズの例を提供する。別の方法として、クライアント2はサイズをローカルにキャッシュに入れることができるが、その情報が復元中に使用できない場合、クライアントはサーバ4からの情報を使用することができる。図9は、各範囲の1つのインスタンスを有する範囲列122と、範囲を含む順次バックアップデバイス18a、18b、18cを示すバックアップデバイス列124と、バックアップデバイス124上の範囲のアドレスまたは位置を有するデバイスストレージ位置列126とを有する、図5のデータオブジェクト例に関する範囲情報22図1の例を含む、範囲情報120の例を示す。範囲情報22は、復元するためのデータオブジェクト内の範囲を有するバックアップデバイス18a、18b、18cおよびストレージ位置を示すために、バックアップデバイス列124およびデバイスストレージ位置126のアドレスに従って分類される。図10は、データオブジェクトを復元するためにサーババックアッププログラム10およびクライアントバックアッププログラム8によって実行される、諸動作の実施形態を示す。サーババックアッププログラム10がブロック200で、順次バックアップデバイス18a、18b、18c内に格納されたデータオブジェクトを復元するための要求を受信すると、サーババックアッププログラム10はブロック202で、要求されたデータオブジェクトについて少なくとも1つの順次バックアップデバイス18a、18b、18c内に格納された範囲を、オブジェクトデータベース16から決定する。サーババックアッププログラム10はブロック204で、図6に示されるような、復元するためのデータオブジェクト52内に含まれる範囲54図2を示す復元が要求された各データオブジェクトについて、サーバデータオブジェクト情報20を生成する。その後サーババックアッププログラム10はブロック206で、サーバデータオブジェクト情報20および範囲サイズ情報をクライアント2に戻すことができる。サーバデータオブジェクト情報20を受信すると、クライアントバックアッププログラム8はブロック208で、クライアントストレージ14でローカルに維持された、復元するためのデータオブジェクト内の範囲を決定する。クライアントバックアッププログラム8はブロック210で、範囲のインジケーションをサーバ4に送信し、サーバはこれを使用して、クライアント2がローカルストレージ14内にローカルに維持している範囲を含まない、クライアント2に送信するための範囲を決定する。一実施形態では、クライアントバックアッププログラム8は、ローカルに維持されている範囲のリスト、または、クライアントがローカルに維持していない復元するためのデータオブジェクト内の範囲のリストを、サーバ4に送信することができる。クライアントバックアッププログラム8はブロック212で、サーバデータオブジェクト情報を使用して、各範囲72図4に関して、範囲を含む少なくとも1つのデータオブジェクト74と、範囲がローカルに維持されているかどうかのローカルインジケータ76と、範囲を含む各データオブジェクト内の範囲のオフセット78とを示す、クライアントデータオブジェクト情報26を生成する。クライアントデータオブジェクト情報20内でローカルインジケータ76として示される、ローカルに維持されている各範囲について、クライアントバックアッププログラム8はブロック214で、範囲およびデータオブジェクトに関して示されたオフセット78での範囲を含む、復元するための各データオブジェクトに、範囲のローカルインスタンスを追加する。サーババックアッププログラム10が、クライアントがローカルに維持していない範囲を決定するために使用されたインジケーションを受信すると、サーババックアッププログラム10はブロック216で、サーバデータオブジェクト情報20内でクライアントがローカルに維持していないことが示された範囲を、分類リスト24を生成するために、少なくとも1つの順次バックアップデバイス18a、18b、18c内に格納された順番に従って分類する。分類リスト24は、順次バックアップデバイス18a、18b、18cから範囲に順番にアクセスするためのプランを、サーババックアッププログラム10に提供する。代替実施形態では、クライアントバックアッププログラム8が分類リスト24を生成することもできる。次にサーババックアッププログラム10はブロック218から224で、分類リスト24内に示された各バックアップデバイスについて動作ループを実行する。各バックアップデバイス18a、18b、18cに対して、サーババックアッププログラム10はブロック220で、分類リスト24内に示されたような順次バックアップデバイス内に格納された順序に従って、順次バックアップデバイス18a、18b、18cから、分類リスト24内の範囲を順番に読み取る。サーババックアッププログラム10はブロック222で、順次バックアップデバイス18a、18b、18cから読み取られた場合、範囲をクライアント4に送信することができる。一実施形態では、ブロック226でサーバ4から範囲を受信すると、クライアントバックアッププログラム8はブロック228で、クライアントデータオブジェクト情報26から、その範囲が含まれる要求された各データオブジェクト74内の受信された範囲のオフセット78を決定する。クライアントバックアッププログラム8は、受信したサーバデータオブジェクト図2および図6内の範囲サイズ図8および連続番号96図6を使用して、範囲のオフセット108図7を計算することができる。受信した範囲を含む各データオブジェクトについて、クライアントバックアッププログラム8はブロック230で、復元するように要求されたデータオブジェクト内の決定したオフセットに、受信した範囲を追加する。このようにして、範囲がサーバ4から受信されるかまたはストレージ14からローカルに取り出されると、データオブジェクトは再構築される。代替実施形態では、クライアントバックアッププログラム8は、サーバ4から受信された範囲およびローカルに取り出された範囲をバッファ28内に集めることが可能であり、その結果、復元するためのデータオブジェクトに関するすべての範囲がバッファ内で使用可能になった後、データオブジェクトが再構築されることになる。バッファ28は、メモリ内またはディスクストレージデバイス上のいずれかに実装可能である。範囲は、ローカルに維持されているステージされたデータまたはブロックからオブジェクト全体が再構築される時点で、すべての範囲が取り出されるまで、バッファ28内でステージstage可能である。説明された諸実施形態は、複数のデータオブジェクト内に維持されている範囲の1つのインスタンスのみが順次バックアップデバイス18a、18b、18c内にバックアップされるように、重複排除を使用してデータオブジェクトの範囲をバックアップする、諸実施形態における順次バックアップデバイスからの範囲の順次取り出しを最適化するために、順次バックアップデバイス内に格納された範囲を含むデータオブジェクトを復元するための技法を提供する。バックアップサーバはクライアントに範囲を戻し、クライアントはこれを、その受信された範囲を含む復元中の各データオブジェクトに追加する。これにより、たとえ、クライアント2がネットワークを介してバックアップサーバ4から復元している複数のデータオブジェクト内に範囲が含まれている場合であっても、範囲の1つのインスタンスのみをバックアップすることによってストレージを最適化し、範囲の1つのインスタンスのみを送信することによって、ネットワーク帯域幅を最適化する。説明された諸動作は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせを生成するために、標準的なプログラミングあるいはエンジニアリングまたはその両方の技法を使用する、方法、装置、またはコンピュータプログラム製品として、実装可能である。したがって、諸実施形態の諸態様は、全体としてハードウェア実施形態、全体としてソフトウェア実施形態ファームウェア、常駐ソフトウェア、マイクロコードなどを含む、あるいは、本明細書ではすべて一般に回路、モジュール、またはシステムと呼ぶことが可能なソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形を取ることができる。さらに諸実施形態の諸態様は、コンピュータ読み取り可能プログラムコードがその上で具体化された1つまたは複数のコンピュータ読み取り可能媒体内で具体化された、コンピュータプログラム製品の形を取ることもできる。1つまたは複数のコンピュータ読み取り可能媒体の任意の組み合わせが使用可能である。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能ストレージ媒体とすることができる。コンピュータ読み取り可能ストレージ媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、あるいはそれらの任意の好適な組み合わせとすることができるが、それらに限定されるものではない。コンピュータ読み取り可能ストレージ媒体のより特定の例非網羅的リストには、1本または複数本のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM、読み取り専用メモリROM、消去可能プログラマブル読み取り専用メモリEPROMまたはフラッシュメモリ、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリCD-ROM、光ストレージデバイス、磁気ストレージデバイス、またはそれらの任意の好適な組み合わせが含まれる。本明細書との関連において、コンピュータ読み取り可能ストレージ媒体は、命令実行のシステム、装置、またはデバイスによって、またはこれらに関連して使用するためのプログラムを含むかまたは格納することが可能な、任意の有形媒体とすることができる。コンピュータ読み取り可能信号媒体は、たとえばベースバンド内または搬送波の一部として、内部にコンピュータ読み取り可能プログラムコードが具体化された、伝搬データ信号を含むことができる。こうした伝搬信号は、電磁、光、またはそれらの任意の好適な組み合わせを含むがこれらに限定されない、様々な形のいずれかを取ることができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能ストレージ媒体ではなく、命令実行のシステム、装置、またはデバイスによって、またはこれらに関連して使用するためのプログラムを送信、伝搬、または移送することが可能な、任意のコンピュータ読み取り可能媒体とすることができる。コンピュータ読み取り可能媒体上に具体化されたプログラムコードは、無線、有線、光ファイバケーブル、RFなど、またはそれらの任意の好適な組み合わせを含むがこれらに限定されない、任意の適切な媒体を使用して伝送可能である。本発明の諸態様に関する諸動作を実行するためのコンピュータプログラムコードは、JavaR、SmalltalkR、Cなどのオブジェクト指向プログラミング言語、および、Cプログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで作成可能である。プログラムコードは、全体としてユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン型ソフトウェアパッケージとして、部分的にユーザのコンピュータ上および部分的にリモートコンピュータ上で、あるいは、全体としてリモートコンピュータまたはサーバ上で、実行可能である。後者のシナリオでは、ローカルエリアネットワークLANまたはワイドエリアネットワークWANを含む任意のタイプのネットワークを介して、リモートコンピュータをユーザのコンピュータに接続することができる、あるいは、たとえばインターネットサービスプロバイダを使用してインターネットを介して外部コンピュータとの接続を実行することができる。上記では、本発明の諸態様について、本発明の諸実施形態に従った方法、装置システム、およびコンピュータプログラム製品の流れ図あるいはブロック図またはその両方を参照しながら説明されている。流れ図あるいはブロック図またはその両方の各ブロック、ならびに、流れ図あるいはブロック図またはその両方におけるブロックの組み合わせは、コンピュータプログラム命令によって実施可能であることを理解されよう。コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行する命令が、流れ図あるいはブロック図またはその両方の1つまたは複数のブロック内に指定された機能/活動を実施するための手段を作成するように、これらのコンピュータプログラム命令を、汎用コンピュータ、特定用途向けコンピュータ、または他のマシンを製造するためのプログラマブルデータ処理装置のプロセッサへと提供することができる。コンピュータ読み取り可能媒体内に格納された命令が、流れ図あるいはブロック図またはその両方の1つまたは複数のブロック内に指定された機能/活動を実施する命令を含む製品を生成するように、これらのコンピュータプログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスに特定の様式で機能するように指示可能な、コンピュータ読み取り可能媒体に格納することも可能である。コンピュータまたは他のプログラマブル装置上で実行する命令が、流れ図あるいはブロック図またはその両方の1つまたは複数のブロック内に指定された機能/活動を実施するためのプロセスを提供するように、コンピュータプログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイス上にロードして、コンピュータ実施プロセスを生成するために、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させることも可能である。ある諸実施形態では、図1のシステムは、クラウドコンピューティング環境におけるクラウドコンポーネント部分として実装可能である。クラウドコンピューティング環境では、クラウドコンピューティングの送達に関与するハードウェアおよびソフトウェアのコンポーネントのシステムアーキテクチャは、インターネットなどのネットワークを介して互いに通信する複数のクラウドコンポーネントを備えることができる。たとえば、ある諸実施形態では、図1のサーバ4は、ネットワーククラウド内にホストおよびクライアントのバックアップサービスを提供することができる。図11は、図1のクライアント2およびサーバ4で実装可能なコンピュータアーキテクチャ300の実施形態を示す。アーキテクチャ300は、プロセッサ302たとえばマイクロプロセッサ、メモリ304たとえば揮発性メモリデバイス、およびストレージ306たとえば、磁気ディスクドライブ、光ディスクドライブ、テープドライブなどの、不揮発性ストレージを含むことができる。ストレージ306は、内部ストレージデバイス、あるいは、接続されるかまたはネットワークアクセスが可能なストレージを備えることができる。オペレーティングシステム308と、ストレージ306内のバックアッププログラム8および10を含むプログラムが、メモリ304内にロードされ、プロセッサ302によって実行される。メモリ304は、情報16、20、22、24、および26などのデータ構造を、さらに含むことができる。アーキテクチャは、ネットワーク30と通信可能なネットワークカード310をさらに含む。入力デバイス312は、ユーザ入力をプロセッサ302に提供するために使用され、キーボード、マウス、ペンスタイラス、マイクロフォン、タッチセンサー式ディスプレイ画面、または当分野で知られた任意の他の起動または入力メカニズムを含むことができる。出力デバイス314は、プロセッサ302、または、ディスプレイモニタ、プリンタ、ストレージなどの他のコンポーネントから伝送された情報をレンダリングすることができる。ある実施形態、実施形態、諸実施形態、その実施形態、その諸実施形態、1つまたは複数の実施形態、いくつかの実施形態、および一実施形態という用語は、特に明示的に指定されていない限り本発明の1つまたは複数のただしすべてではない実施形態を意味する。含む、備える、有する、およびそれらの変形の用語は、特に明示的に指定されていない限り、含むが限定されないことを意味する。アイテムの列挙されたリストは、特に明示的に指定されていない限り、アイテムのいずれかまたはすべてが相互に排他的であることを示唆するものではない。a、an、およびtheは、特に明示的に指定されていない限り、1つまたは複数を意味する。互いに通信しているデバイスは、特に明示的に指定されていない限り、互いに連続した通信状態にあるとは限らない。加えて、互いに通信しているデバイスは、直接、あるいは1つまたは複数の仲介を介して間接的に、通信可能である。互いに通信しているいくつかのコンポーネントを備える実施形態の説明は、こうしたコンポーネントのすべてが必要であることを示唆するものではない。反対に、本発明の多種多彩かつ可能な諸実施形態を示すために、様々なオプションのコンポーネントについて説明される。さらに、プロセスステップ、方法ステップ、アルゴリズムなどについて、ある順序で説明されている場合があるが、こうしたプロセス、方法、およびアルゴリズムは、代替順序で作業するように構成可能である。言い換えれば、説明可能なステップの任意の順序または順番は、ステップがその順番で実行されるという要件を必ずしも示すものではない。本明細書で説明されるプロセスの諸ステップは、任意の実用的な順序で実行可能である。さらに、いくつかのステップは同時に実行可能である。本明細書で単一のデバイスまたは製品について記載されている場合、単一のデバイス/製品の代わりに、複数のデバイス/製品がそれらが協働するか否かに関わらず使用可能であることが容易に明らかとなろう。同様に、本明細書で複数のデバイスまたは製品についてそれらが協働するか否かに関わらず記載されている場合、複数のデバイスまたは製品の代わりに、単一のデバイス/製品が使用可能であること、あるいは、表示されたデバイスまたはプログラムの数の代わりに、異なる数のデバイス/製品が使用可能であることが、容易に明らかとなろう。デバイスの機能あるいは特徴またはその両方は、別の方法として、そうした機能/特徴を有するものとして明示的に説明されていない1つまたは複数の他のデバイスによって具体化することができる。したがって、本発明の他の諸実施形態が、デバイス自体を含む必要はない。図10に示された諸動作は、ある順序で発生するある諸イベントを示している。代替の諸実施形態では、ある諸動作を異なる順序で実行すること、修正すること、または除去することが可能である。さらに、前述の論理に諸ステップを追加し、依然として説明された諸実施形態に準拠するものとすることが可能である。さらに、本明細書で説明された諸動作は順次発生可能であるか、またはある諸動作は並行して処理可能である。さらに、諸動作を、単一の処理ユニットによって、または分散型処理ユニットによって、実行可能である。前述の本発明の様々な実施形態の記述は、例示および説明の目的で提示されてきた。これは網羅的なものではなく、本発明を開示された精密な形に限定することは意図されていない。上記教示に鑑みて、多くの修正および変形が可能である。本発明の範囲は、この詳細な説明によってではなく、本明細書に添付された特許請求の範囲によって限定されることが意図される。前述の仕様、例示、およびデータは、本発明の組成物の製造および使用の完全な説明を提供するものである。本発明の多くの実施形態は、本発明の趣旨および範囲を逸脱することなく実行可能であるため、本発明は、以下に添付の特許請求の範囲内に入るものである。