(57)【特許請求の範囲】
【請求項１】
複数のオブジェクトを含むデータベースのバックアップから、選択されたオブジェクトを復元する旨のリクエストを受け取るステップであって、
前記データベースの前記バックアップは、一括バックアッププロセスを用いて生成され、
前記選択されたオブジェクトは、前記複数のオブジェクトに含まれていて、且つ
関連付けられたセキュリティ関連情報が前記データベースの前記バックアップ内の前記選択されたオブジェクトに関連付けられている、選択されたオブジェクトを復元する旨のリクエストを受け取るステップと、
前記関連付けられたセキュリティ関連情報、すなわち前記データベースの前記バックアップから集められている前記関連付けられたセキュリティ関連情報にアクセスするステップであって、
前記アクセスするステップは、データベーステーブルのメタデータを用いてセキュリティ関連情報を特定するステップを含み、
前記データベーステーブルのメタデータは前記データベースの前記バックアップの生成と同時に前記データベースから集められる、前記関連付けられたセキュリティ関連情報にアクセスするステップと、
前記選択されたオブジェクトを選択されて復元されたオブジェクトとしてターゲットデータベースに復元するステップと、
前記関連付けられたセキュリティ関連情報の１個以上の要素を前記選択されて復元されたオブジェクトに関連付けるステップとを含む方法。
【請求項２】
前記関連付けられたセキュリティ関連情報にアクセスする前記ステップが、
前記関連付けられたセキュリティ関連情報を読み込むステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記選択されたオブジェクトに関連付けられたセキュリティコードを生成するステップを更に含み、前記セキュリティコードが前記関連付けられたセキュリティ関連情報の１個以上の要素を用いて生成される、請求項２に記載の方法。
【請求項４】
前記関連付けられたセキュリティ関連情報の１個以上の要素を前記選択されて復元されたオブジェクトに関連付ける前記ステップが、前記セキュリティコードから前記関連付けられたセキュリティ関連情報を導くステップを更に含む、請求項３に記載の方法。
【請求項５】
前記関連付けられたセキュリティ関連情報を前記選択されて復元されたオブジェクトに関連付ける前記ステップが、前記選択されたオブジェクトに関連付けられたアプリケーションのオブジェクトモデルを用いて前記関連付けられたセキュリティ関連情報を保存するステップを更に含む、請求項１に記載の方法。
【請求項６】
前記オブジェクトモデルがアプリケーションプログラムインターフェース（ＡＰＩ）を含む、請求項５に記載の方法。
【請求項７】
前記選択されて復元されたオブジェクトに関連付けるべく、前記関連付けられたセキュリティ関連情報の１個以上の要素を選択するステップを更に含む、請求項１に記載の方法。
【請求項８】
前記関連付けられたセキュリティ関連情報の１個以上の要素を選択する前記ステップが、
前記選択されたオブジェクトが復元されている前記ターゲットデータベースの階層のレベルを決定するステップと、
前記階層のレベルに関連付けられたセキュリティ関連情報を識別するステップと、
前記階層のレベルに関連付けられた前記セキュリティ関連情報に対応する前記関連付けられたセキュリティ関連情報の１個以上の要素を選択するステップとを含む、請求項７に記載の方法。
【請求項９】
プロセッサと
前記プロセッサによりアクセス可能な第１のストレージオブジェクト、すなわち、
データベースのバックアップを保存するように構成された第１のストレージオブジェクトであって、
前記データベースの前記バックアップは、一括バックアッププロセスを用いて生成され、
前記データベースの前記バックアップが複数のオブジェクトおよび前記複数のオブジェクトに関連付けられたセキュリティ関連情報を含む、第１のストレージオブジェクトと、
前記プロセッサによりアクセス可能な第２のストレージオブジェクト、すなわち、
目標ストレージ領域を備える第２のストレージオブジェクトであって、
前記目標ストレージ領域は前記データベースの前記バックアップから復元されたオブジェクトを保存するように構成された、第２のストレージオブジェクトと、
前記プロセッサに接続されていて、命令の組がその中で符号化されているメモリとを含むシステムであって、前記命令が、
前記プロセッサにより実行可能であり、且つ
前記データベースの前記バックアップから、選択されたオブジェクト、すなわち、
前記複数のオブジェクトに含まれ、前記データベースの前記バックアップ内の、関連付けられたセキュリティ関連情報と関連付けられた前記選択されたオブジェクトを復元する旨のリクエストを受け取り、
前記関連付けられたセキュリティ関連情報、すなわち、
前記データベースの前記バックアップから集められた前記関連付けられたセキュリティ関連情報へのアクセスであって、
前記関連付けられたセキュリティ関連情報にアクセスするように構成された命令は、データベーステーブルのメタデータを用いてセキュリティ関連情報を特定するように構成された命令を含み、
前記データベーステーブルのメタデータは、前記データベースの前記バックアップの生成と同時に前記データベースの前記バックアップから集められた、前記関連付けられたセキュリティ関連情報へのアクセスをし、
前記選択されたオブジェクトを選択されて復元されたオブジェクトとして前記第２のストレージオブジェクト内に復元し、
前記関連付けられたセキュリティ関連情報の１個以上の要素を前記選択されて復元されたオブジェクトに関連付けるべく構成されているシステム。
【請求項１０】
前記関連付けられたセキュリティ関連情報にアクセスするように構成された前記命令が、
前記関連付けられたセキュリティ関連情報を読み込むべく構成された命令を更に含む、請求項９に記載のシステム。
【請求項１１】
前記メモリが更に、前記選択されたオブジェクトに関連付けられたセキュリティコードを生成すべく構成された命令を保存し、前記セキュリティコードが、前記関連付けられたセキュリティ関連情報の１個以上の要素を用いて生成される、請求項１０に記載のシステム。
【請求項１２】
前記関連付けられたセキュリティ関連情報の１個以上の要素を前記選択されて復元されたオブジェクトに関連付けるべく構成された前記命令が更に、
前記セキュリティコードから前記関連付けられたセキュリティ関連情報を導くべく構成された命令を含む、請求項１１に記載のシステム。
【請求項１３】
前記メモリが更に、
前記選択されて復元されたオブジェクトに関連付けるべく、前記関連付けられたセキュリティ関連情報の１個以上の要素を選択すべく構成された命令を保存する、請求項９に記載のシステム。
【請求項１４】
前記関連付けられたセキュリティ関連情報の１個以上の要素を選択すべく構成された前記命令が更に、
前記選択されたオブジェクトが復元されているターゲットデータベースの階層のレベルを決定し、
前記階層のレベルに関連付けられたセキュリティ関連情報を識別し、
前記階層のレベルに関連付けられた前記セキュリティ関連情報に対応する前記関連付けられたセキュリティ関連情報の１個以上の要素を選択すべく構成された命令を含む、請求項１３に記載のシステム。
【請求項１５】
複数のオブジェクトを含むデータベースのバックアップから、選択されたオブジェクトを復元する旨のリクエストを受け取るべく構成され、プロセッサにより実行可能な第１の命令の組であって、
前記データベースの前記バックアップは、一括バックアッププロセスを用いて生成され、
前記選択されたオブジェクトは前記複数のオブジェクトに含まれていて、且つ
関連付けられたセキュリティ関連情報が前記データベースの前記バックアップ内の前記選択されたオブジェクトに関連付けられている、第１の命令の組と、
前記関連付けられたセキュリティ関連情報、すなわち前記データベースの前記バックアップから集められている前記関連付けられたセキュリティ関連情報にアクセスすべく構成され、且つ前記プロセッサにより実行可能な第２の命令の組であって、
前記プロセッサにより実行可能であり、且つ、
データベーステーブルのメタデータを用いてセキュリティ関連情報を特定するように構成された第１の命令サブセットを含み、
前記データベーステーブルのメタデータは、前記データベースの前記バックアップの生成と同時に前記データベースの前記バックアップから集められる、第２の命令の組と、
前記選択されたオブジェクトを選択されて復元されたオブジェクトとしてターゲットデータベース内に復元すべく構成され、且つ前記プロセッサにより実行可能な第３の命令の組と、
前記関連付けられたセキュリティ関連情報の１個以上の要素を前記選択されて復元されたオブジェクトに関連付けるべく構成され、且つ前記プロセッサにより実行可能な第４の命令の組とを含むコンピュータ可読な記録媒体。
【請求項１６】
前記第２の命令の組が更に、
前記関連付けられたセキュリティ関連情報を読み込むべく構成され、且つ前記プロセッサにより実行可能な第２の命令サブセットを含む、請求項１５に記載のコンピュータ可読な記録媒体。
【請求項１７】
前記選択されたオブジェクトに関連付けられたセキュリティコードを生成すべく構成され、且つ前記プロセッサにより実行可能な第５の命令の組を更に含み、前記セキュリティコードが前記関連付けられたセキュリティ関連情報の１個以上の要素を用いて生成される、請求項１６に記載のコンピュータ可読な記録媒体。
【請求項１８】
前記第４の命令の組が、
前記セキュリティコードから前記関連付けられたセキュリティ関連情報を導くべく構成され、且つ前記プロセッサにより実行可能な第３の命令サブセットを含む、請求項１７に記載のコンピュータ可読な記録媒体。
【請求項１９】
前記選択されて復元されたオブジェクトに関連付けるべく、前記関連付けられたセキュリティ関連情報の１個以上の要素を選択すべく構成され、且つ前記プロセッサにより実行可能な第５の命令の組を更に含む、請求項１５に記載のコンピュータ可読な記録媒体。
【請求項２０】
前記第５の命令の組が更に
前記選択されたオブジェクトが復元されている前記ターゲットデータベースの階層のレベルを決定すべく構成され、且つ前記プロセッサにより実行可能な第６の命令の組と、
前記階層のレベルに関連付けられたセキュリティ関連情報を識別すべく構成され、且つ前記プロセッサにより実行可能な第７の命令の組と、
前記階層のレベルに関連付けられた前記セキュリティ関連情報に対応する前記関連付けられたセキュリティ関連情報の１個以上の要素を選択すべく構成され、且つ前記プロセッサにより実行可能な第８の命令の組とを含む、請求項１９に記載のコンピュータ可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータバックアップおよび復元の分野に関し、特に復元されたオブジェクトに関連付けられたセキュリティ関係を維持しながら、一括データベースバックアップから選択的にオブジェクトを復元する方法およびシステムに関する。
【背景技術】
【０００２】
情報、およびそのような情報を各種の形式で生成、処理、配信、および保持するコンピュータシステムに対する依存度が増大する状況にあって、そのような情報を保存、バックアップ、および復元する技術に対する要求が高まり続けている。協業および文書管理を可能にすべく企業横断的に情報資源を集中化する技術を産業界が採用するにつれて、企業の事業継続のためにそのような情報の保存、バックアップ、および復元が一層重要になっている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
典型的な企業レベルの協業および文書管理プラットフォームにおいて、一個以上のユーザー向けアプリケーションオブジェクトからのデータは、データベース等の集中化されたストレージオブジェクトに保存することができる。各種のアプリケーションオブジェクトからのデータを保持するデータベースは、アプリケーションオブジェクトにより規定されるデータ間の関係または階層を保持すべく構成することができる。データベースには更に、ユーザおよび／またはグループによるアプリケーションオブジェクトへのアクセスを許すセキュリティ関係が関連付けられていてよい。そのようなデータベースの任意のバックアップおよび復元スキームは、アプリケーションオブジェクトにより構築されたデータ間の関係および階層、並びにこれらのオブジェクトに関連付けられたセキュリティを保持しなければならない。
【０００４】
そのようなデータベースをバックアップおよび復元する従来の方法は、多くの人員およびリソースを要する。例えば、データベース内にアプリケーションオブジェクト用の領域が複数存在する旨であって、バックアップ管理者は、保護する必要があるデータベースの部分を知って選択することに対して責任を負っている。データ保護に対するそのような事前のきめ細かい方式は、データベース管理者であるとは限らないバックアップ管理者が、特定のアプリケーションオブジェクトの保護スキーマを構築するためにデータベースのトポロジを知っている必要がある。更に、アプリケーションの階層的なオブジェクト構造が変更された場合、変更が生じた際にバックアップ管理者はこれらを考慮しなければならない。この従来のバックアップ方式は、各アプリケーションオブジェクトに関連付けられたデータベース内の領域のバックアップを別々に実施するため、きめ細かいバックアップスキームと呼ばれる。きめ細かいバックアップスキームの下で、特定のアプリケーションオブジェクトに関連するデータの復元は、各アプリケーションオブジェクトが自身のバックアップの組を有しているため、合理的に的を絞ることができる。
【０００５】
代替的なバックアップ方法として、データベース全体の一括バックアップを実行することである。データベースのそのような一括的バックアップからデータを復元する従来の方法は、データベース全体のスナップショットを一時領域に戻し、次いで当該データベースから所望の情報を選択して稼動中のターゲットデータベースに入れることである。そのようなデータ選択のバックエンド方法の短所は、データベースのバックアップから全てのデータを復元してそこから所望の情報を選択するのに時間を要し、データベースの一時コピーによりディスクリソースが費消される点である。
【０００６】
従って、バックアップ管理者がバックアップ中のデータベースの構造に精通している必要なしに、データベース全体の一括バックアップを効率的に実施する機構を有することが望ましい。また、復元時間を短縮をすべく、バックアップされたデータベースの一部を必要に応じてユーザーが選択的に復元できるようにすることも望ましい。更に、バックアップされたデータベースの選択的に復元された部分に関連付けられた任意のセキュリティ設定が保持されて、データベースのそれらの復元された部分に適用されることも望ましい。
【課題を解決するための手段】
【０００７】
本発明の実施形態は、一括的にバックアップされたデータベースの一部を、当該データベースの復元された部分に関連付けられたセキュリティ関係を維持しながら、選択的に復元する機構を提供する。本発明の実施形態は、データベースのバックアップ内の複数のバックアップされたオブジェクトの中から、選択されたオブジェクトを復元する旨のリクエストを受け取り、データベースのバックアップ内の選択されたオブジェクトに関連付けられたセキュリティ関連情報にアクセスし、目標領域内の選択されたオブジェクトに関連付けられた情報を用いて、選択されたオブジェクトを復元し、選択されて復元されたオブジェクトにセキュリティ関連情報の要素を関連付ける機構を実現する方法、システム、およびコンピュータ可読な記録媒体を提供する。
【０００８】
上述の実施形態の態様は、データベースのバックアップ内の選択されたオブジェクトに関連付けられたセキュリティ関連情報を特定すべく、バックアップされたデータベースからバックアップ作成時に集めたデータベーステーブルのメタデータを用いる。本発明の更なる態様は、選択されたオブジェクトに関連付けられたセキュリティコードを当該オブジェクトのセキュリティ関連情報の一個以上の要素を用いて生成して、復元されたオブジェクトのセキュリティ関連情報を当該セキュリティコードから導く。本発明の別の態様は、復元されたオブジェクトと関連付けるべくセキュリティ関連情報の１個以上の要素を選択し、選択されたオブジェクトが関連付けられている階層のレベルおよび当該レベルの階層に関連するセキュリティ情報を決定することにより、そのような選択を実行することができる。
【０００９】
以上は概要であり、必然的に詳細事項は簡略化、一般化、および省略されている。従って、当業者は上の概要が説明目的に過ぎず、いかなる点でも本発明を限定することは一切意図していないことを理解されたい。本発明の他の態様、発明の特徴、および効果は専ら請求項により規定され、後述の非限定的な詳細説明において明らかされる。
【００１０】
添付の図面を参照することにより、当業者には本発明に対する理解が深まると共に、多くの目的、特徴、および利点が明らかになろう。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態を使用すべく構成可能なネットワークの例を示す概略ブロック図である。
【図２】本発明の実施形態と連携して使用できるデータベース内のオブジェクトレイアウトの例を示す概略ブロック図である。
【図３】本発明の実施形態によるバックアップ処理を示す概略フロー図である。
【図４】本発明の実施形態による、データベース復元動作を示す概略フロー図である。
【図５】本発明の実施形態と連携して使用できるデータベース内のアプリケーションオブジェクトへのアクセス制御に使用できるセキュリティ関連オブジェクト間の関係を示す概略ブロック図である。
【図６】本発明の実施形態による、復元中のオブジェクトに関連付けられたセキュリティ情報を提供するデータベース復元動作の一部を示す概略フロー図である。
【図７】本発明の実施形態の実装に適したコンピュータシステムのブロック図である。
【図８】本発明の実施形態の実装に適したネットワークアーキテクチャを表すブロック図である。
【発明を実施するための形態】
【００１２】
本発明の実施形態は、アプリケーションオブジェクトデータを保存しているデータベースの一括バックアップからアプリケーションオブジェクトデータを選択的に復元する機構を提供する。本発明の実施形態はこの能力を、アプリケーションオブジェクトデータ、アプリケーションオブジェクトデータを保存する構造、当該構造間の相互関係、および当該構造に関連付けられたセキュリティ設定を記述するデータベースに保存されているメタデータをデータベースのバックアップ時に識別することにより提供する。本発明の実施形態は、復元動作中に使用されるこのメタデータに関する情報を保存することができる。復元動作中、本発明の実施形態はメタデータに関連する保存情報にアクセスし、当該情報を用いてデータベースのバックアップ内のメタデータに直接アクセスすることができる。本発明の実施形態は、アクセスしたメタデータを用いて、データベースからバックアップされたデータの記述およびそのようなデータ間の関係（例：データ構造の階層）を、データを復元しているユーザーに提供する。本発明の実施形態は更に、データベースのバックアップからのそのような記述から選択されたデータにアクセスし、ターゲットデータベース内の当該情報を復元することができる。本発明の実施形態はまた、選択されたデータに関連付けられたセキュリティ関連情報にアクセスし、必要に応じて当該情報を復元することができる。このように、１個以上のアプリケーションオブジェクトからのデータを含むデータベースのバックアップを効率良く一括的に実施し、次いで対象とされた仕方で効率的に復元することができる。更に、バックアップ管理者がバックアップ中のデータベースの構造に精通している必要が無く、特定のデータの組を復元している担当者が構造に精通していれば良い点で人的リソースをより効率的に利用できる。
【実施例】
【００１３】
図１は、本発明の実施形態を使用すべく構成可能なネットワークの例を示す概略ブロック図である。データベースサーバ１１０は、データベース１２０を保存するストレージボリュームに直接または間接的に接続されている。データベース１２０は、データベース１２０にデータを保存する１個以上のアプリケーションオブジェクトによりアクセスすることができる。データベースサーバ１１０は、データベースサーバとの間のアクセスを提供するネットワーク１３０に接続されている。ネットワーク１３０は通常、組織の企業レベルネットワークであって、ローカルエリアネットワーク、メトロエリアネットワーク、ワイドエリアネットワーク等であってよいが、これに限定されない。ネットワーク１３０には、例えばイーサネット（登録商標）ルータ、光学ケーブル等を含む標準的なネットワークハードウェアおよびプロトコルが対応している。ネットワーク１３０はまた、企業の１個以上の箇所のコンピュータ装置（例：クライアント１４０（１）〜（Ｎ））を接続することにより、それらのクライアントからデータベースサーバ１１０への通信を提供することができる。
【００１４】
図１に示すネットワークもまたウェブサーバ１５０に接続されている。ウェブサーバ１５０は、１個以上のアプリケーションオブジェクトに関連付けられたアプリケーションへのユーザーアクセスを提供することができる。ネットワーク１３０は、各々が別々のアプリケーションを提供する１個以上のウェブサーバ１５０、または同一アプリケーションを配信する多数のウェブサーバを備えていてよい。ウェブサーバ１５０は、データベースサーバ１１０と通信することにより、データベース１２０に保存されているデータにアクセスするアプリケーションオブジェクトモデルを提供する。ウェブサーバ１５０とデータベースサーバ１１０の間のそのような通信は、ウェブサーバ１５０およびデータベースサーバ１１０によりサービスされるアプリケーションオブジェクトにより共有されるアプリケーションプログラムインターフェース（ＡＰＩ）を介したものであってよい。
【００１５】
バックアップサーバ１６０がネットワーク１３０に接続されていて、ネットワーク１３０に保存されているデータのバックアップイメージを１個以上のバックアップストレージボリューム１７０に保存すべく構成されている。バックアップサーバ１６０は、バックアップ実行時におけるネットワーク上のデータのスナップショットを提供する各種のバックアップユーティリティを実行すべく構成することができる。バックアップサーバ１６０は例えば、データベースサーバ１１０を介してデータに直接アクセスすることによりデータベース１２０のバックアップを実行することができる。このように、データベース１２０の完全な一括バックアップは、データベース内に保存されている特定のデータ構造に関らず、データベースサーバのＳＱＬインターフェースを介して実行することができる。あるいは、データベース１２０の特定の部分のバックアップを実行したい場合、バックアップサーバ１６０は関連付けられたアプリケーションのウェブサーバ１５０を介して特定のアプリケーションオブジェクトのデータにアクセスすることができる。このように、データベース１２０に保存されている特定のアプリケーションオブジェクトのきめ細かいバックアップを実行することができる。
【００１６】
上述のように、きめ細かいバックアップを実行することの短所は、特定のアプリケーションに関連付けられたウェブサーバ１５０のリソースが費消される点である。このウェブサーバリソースの費消により、バックアップ実施中に、サービス提供されるアプリケーションへのアクセスが遅延または停止される恐れがある。データベースサーバ１１０を介して直接データベースのバックアップを実行することにより、ウェブサーバリソースの費消は避けられる。しかし、従来のバックアップスキームでは、特定のアプリケーションオブジェクトデータの復元はデータベース全体を復元し、次いで復元されたデータベースからデータを選択することによってしか実行できない。そのような復元および選択動作は、時間および物理リソース（例：完全に復元されたバックアップの保存に要するディスク容量）の両方を費消する。
【００１７】
図２は、本発明の実施形態と連携して使用できるデータベース１２０内のオブジェクトレイアウトの例を示す概略ブロック図である。データベース１２０は、サイト（１）〜（Ｐ）とラベル付けされた１個以上のコンテナを含んでいる。各サイトは、特定のアプリケーションに関連付けられていてよい。各サイトは従って、サイトの特定のアプリケーションとの関連により定義される特徴の一意な組を有するアプリケーションオブジェクトである。サイトは、例えば、関連付けられたＵＲＬ、一意な識別子、所有者識別子、関連付けられたセキュリティ情報、関連付けられたディスク割当ておよびディスク使用情報等を有していてよい。アプリケーションの性質に応じて、１個以上のサイトが特定のアプリケーションに関連付けられていてよい。
【００１８】
サイトは他のコンテナに関連付けられていてよい。例えば、サイト（２）は２個のサブサイトコンテナ、すなわちサブサイト（２，１）およびサブサイト（２，２）を含んでいる。各々のサブサイトは、あるサイトについて上で述べたようにサブサイトを記述する関連情報を含んでいてよい。各々のサブサイトが親サイトに関連付けられているのに対し、サブサイト自身は互いに疎なオブジェクトである。
【００１９】
サイトおよびサブサイトは更に、他のアプリケーションオブジェクトを含んでいてよい。そのようなアプリケーションオブジェクトの一例としてリストがあり、これもまたコンテナである。図２は、Ｌｉｓｔオブジェクト（例：リスト（１，１）およびリスト（１，２））が関連付けられているサイト（１）を示す。サブサイト（２，１）もまた、関連付けられたリスト（例：リスト（２，１，１）およびリスト（２，１，２））を有している。一方、サブサイト（２，２）は単一のリスト（例：リスト（２，２，１））を有する。Ｌｉｓｔオブジェクトはまた、例えば、リストが属するサイトの識別子、リストの名前、作成日時情報、セキュリティ情報、リストの種類（例：リスト内に保存されている情報の種類）等を含む情報に関連付けられていてよい。リストに直接関連付けられたそのような特徴に加え、リストはまた、リストを含むサイトおよび／またはサブサイトに関連付けられた特徴を継承することができる。従って、例えば、リストは当該リストが関連付けられているサイトに関連付けられたセキュリティ保護を得ることができる。
【００２０】
図２に示すように、リストは関連付けられた項目またはデータオブジェクトを含んでいてよい。各リストは、特定の種類の項目に関連付けられていてよい。項目オブジェクトは、当該項目を特定のリストおよび／またはサイトに関連付けている識別子、当該項目を入力または修正したユーザーの識別子、当該項目に関連付けられたデータの型、および項目オブジェクトの値、等の関連付けられた特徴を有していてよい。項目はまた、当該項目が属するリストおよび／または当該項目が関連付けられているサイトあるいはサブサイトの特徴を継承することができる。
【００２１】
データベース１２０は、コンテナおよびそれらに関連付けられたデータだけでなく、コンテナおよびそれらに関連付けられたデータ、およびそれらの相互関係のメタデータ記述を保存することができる。データベース１２０はそのようなメタデータを、リスト、項目、サイト、およびサブサイト等関連付けられたテーブルに保存することができる。実際、データベース１２０内に保存されている各々の種類のアプリケーションオブジェクトについて別々のメタデータテーブルを提供することができる。
【００２２】
上述のデータベースを使用するシステムの例としてＭｉｃｒｏｓｏｆｔ（登録商標）社のＳｈａｒｅＰｏｉｎｔ（登録商標）アプリケーションがある。本発明の実施形態がＳｈａｒｅＰｏｉｎｔ（登録商標）データベースとの連携利用に限定されないが、本発明の実施形態はＳｈａｒｅＰｏｉｎｔ（登録商標）データベースと共に使用可能であって、ＳｈａｒｅＰｏｉｎｔ（登録商標）の用語を用いて以下に例を挙げる。そのような用語の使用が本発明の限定を意図するものではなく、本発明の実施形態がデータベース環境においてデータをオブジェクトに保存する各種アプリケーションと共に使用できる点を理解されたい。
【００２３】
サイト、サブサイト、リスト、および項目の間の関係が階層的な関係である点に更に注意されたい。上述のように、アプリケーションオブジェクト内の子オブジェクトの階層が親オブジェクトの特徴を継承できる。更に、上で述べたコンテナの例えを用いれば、リスト等の子コンテナオブジェクトは親サブサイトまたはサイト内に含まれる。従って、子オブジェクトをターゲットデータベースに復元するためには、子オブジェクトが正しく且つ完全に復元されるために既に復元されてない親オブジェクトを最初にターゲットデータベース内に復元しなければならない。これにより、階層内で子が正しく配置されると共に、子の親オブジェクトから特徴を継承することができる。
【００２４】
アプリケーションオブジェクトのバックアップ実行
図３は、本発明の実施形態によるバックアップ処理を示す概略フロー図である。バックアップサーバ１６０は、データベース１２０のバックアップを実行する旨のリクエストを受信することができる（３１０）。この時点で２個の処理が開始される。これらの処理は並列に実行されても、またはデータベース１２０の構造が同じである程度に充分近い時間をおいて順次実行されてもよい。データベースの一括バックアップを実行する（３２０）。そのようなバックアップは、バックアップ時における当該データベースに関連する全ての情報を含むデータベース１２０のスナップショットであってよい。一括バックアップは、バックアップサーバとデータベースサーバの間の直接対話を利用して実行される。バックアップは、例えばウェブサーバ１５０が与えるアプリケーションオブジェクトモデルを用いて実行されるのではない。
【００２５】
また、メタデータテーブル情報についてデータベース１２０に問い合わせることができる（３３０）。メタデータテーブル情報には、データベース１２０内の各種のオブジェクト構造の特徴を含むテーブルに関する情報を含んでいる。求められているテーブル情報にはテーブルの索引、データベース内でのテーブルのオフセット（例：テーブルの位置）、テーブルの名前、およびテーブルの構造が含まれていてよい。このように、データベース１２０内の関心対象オブジェクトを記述する各テーブルを識別および特定する情報が集められる。
【００２６】
本発明の実施形態は、復元動作の際にテーブルにアクセス可能なように上記のメタデータテーブル情報を集める。従って、そのようなメタデータテーブルアクセスを可能にすべく充分な情報が集められるが、テーブル自体に実際に保存されている情報は対象外である。メタデータテーブル情報が集められたならば、メタデータテーブル情報を保存することができる（３４０）。そのような保存方式は、例えばテーブルのリスト形式であってよい。メタデータテーブル情報のそのようなアクセスおよび保存を実行できるユーティリティの例として係属中の米国特許出願第１１／９６０，３０９号明細書「Ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  Ｒｅｃｏｖｅｒｙ  ｏｆ  Ａｐｐｌｉｃａｔｉｏｎ  Ｌｅｖｅｌ  Ｏｂｊｅｃｔｓ」に記述されており、その開示内容は全て本明細書に引用している。
【００２７】
バックアップが完了してメタデータテーブル情報が保存されたならば、メタデータテーブル情報をデータベースのバックアップに関連付ける（３５０）。そのような関連付けにより、復元動作中であってもメタデータテーブル情報が保存されたリストへのアクセスが可能になる。
【００２８】
選択されたアプリケーションオブジェクトの復元
図４は、本発明の実施形態によるデータベースの復元動作を示す概略フロー図である。指定されたバックアップからアプリケーションオブジェクト情報を復元する旨のユーザーリクエストに応答して、復元ユーティリティは、指定されたバックアップに関連付けられたメタデータテーブル情報を読み込んでバックアップ内でアプリケーションオブジェクトを記述するテーブルの位置および構造を決定することができる（４１０）。復元ユーティリティは次いで、メタデータテーブルの情報から情報を用いて、バックアップから直接テーブルデータを読み込むことができる（４１５）。次いで、テーブルデータが読み込まれたならば、当該データを解釈してデータベースのバックアップ内におけるアプリケーションオブジェクトの階層を決定することができる（４２０）。次いで、解釈されたオブジェクトの階層をユーザーに提示することができる（４２５）。ユーザーは次いで、ユーザーが復元したいオブジェクトを決定すべく提示されたオブジェクトの階層を確認することができる。ユーザーは、階層の任意のレベルでオブジェクトを選択することができる。
【００２９】
ユーザーが所望のオブジェクトを復元するために選択したならば、復元ユーティリティはオブジェクトの選択結果を受信することができる（４３０）。この時点で、復元ユーティリティは、各々の階層内で選択されたオブジェクトの復元に必要な全てのオブジェクトを復元すべく復元動作を開始する。例えば、Ｌｉｓｔオブジェクトが選択されている場合、Ｌｉｓｔオブジェクトが関連付けられている任意のサイトまたは下位Ｓｉｔｅオブジェクトもまた復元動作を施される。上述のように、これはＬｉｓｔオブジェクトがＳｉｔｅオブジェクトの子として親オブジェクトの特定の特徴を継承するためである。従って、復元ユーティリティは、階層を復元するための一連のステップを実行する。
【００３０】
従って、選択されたオブジェクトの復元に必要な階層内の最上位オブジェクトが復元される最初のオブジェクトとなる（４３５）。復元ユーティリティは復元対象オブジェクトに関連するバックアップからメタデータテーブルデータを読み込む（４４０）。再び、復元対象オブジェクトに関連付けられた適切なメタデータテーブルまたはテーブル群の特定に必要な情報は、バックアップに関連付けられたメタデータテーブル情報から読み込むことができる。復元対象オブジェクトに関連する情報がテーブルから読み込まれたならば、ターゲットデータベースに復元対象オブジェクトが既に存在するか否かを判定する（４４５）。復元対象オブジェクトが既にターゲットデータベースに存在しない場合、バックアップから読み込まれたテーブルデータを用いてターゲットデータベース内に復元対象オブジェクトを作成する（４５０）。復元対象オブジェクトの復元は、例えばウェブサーバ１５０のサービスを受けるアプリケーションオブジェクトモデルにオブジェクト関連情報を提供することにより実行できる。アプリケーションオブジェクトモデルを用いてターゲットデータベース内に復元対象オブジェクトを生成することにより、構造とそれらに関連付けられたアプリケーションの整合性が保証される。
【００３１】
ターゲットデータベース内におけるオブジェクトの作成、または当該オブジェクトが既に復元されている旨の判定に続いて、復元対象オブジェクトが復元のためにユーザーにより選択されたオブジェクトと同一であるか否かを判定する（４５５）。復元対象オブジェクトがユーザーにより選択されたオブジェクトではない場合、選択されたオブジェクトの復元に必要な階層内の次のオブジェクトである次の復元対象オブジェクトが選択される（４６０）。次いで、処理は再び、新規の復元対象オブジェクトに関連するバックアップからテーブルデータを読み込むステップに戻り（４４０）、上述のように当該処理が繰り返される。
【００３２】
復元対象オブジェクトがユーザーにより選択されたオブジェクトである場合（４５５）、選択されたオブジェクトがユーザーにより最後に選択されたオブジェクトであるか否かを判定する（４６５）。すなわち、ユーザーにより選択された各オブジェクトが現在復元済みであるか否かを判定する。そうでない場合、次に選択されたオブジェクトが復元対象とされて、次に選択されたオブジェクトの復元に必要な階層内の最上位オブジェクトの決定に処理が戻り（４３５）、上述のように当該処理が繰り返される。選択されたオブジェクトがユーザーにより最後に選択されたオブジェクトである場合（４６５）、復元プロセスは完了している。
【００３３】
上述の復元方法を用いて、バックアップされたデータベース内の選択されたオブジェクトをサポートするのに必要な階層全体をターゲットデータベースに復元することができる。また、当該オブジェクトの全ての特徴は、リクエストされたオブジェクトの記述に必要な特徴を含むデータベースのバックアップ内の保存されたテーブルにアクセスすることにより復元される。ターゲットデータベース内でオブジェクトを作成する必要がある場合（例：ステップ４５０）、復元ユーティリティは、当該オブジェクトに関連付けられたアプリケーションウェブサーバ１５０にアクセスして、バックアップテーブルから取り出した特徴情報を用いてターゲットデータベース内にオブジェクトを作成することができる。このように、アプリケーションがオブジェクトにアクセスするために必要な構造は、アプリケーションオブジェクトモデルにより自動的に作成することができ、同時に、オブジェクトを記述する必要な特徴情報がバックアップから提供される。
【００３４】
そのような復元技術を用いて、バックアップされたデータベース内の関連付けられたコンテナと同じ特徴を有するターゲットデータベース内にコンテナを作成することができる。ユーザーは従って、バックアップされたデータベースの同一であるが、バックアップされたデータベースに保存されているもの以外のデータについても利用可能であるターゲットデータベース内に構造を作成することができる。すなわち、バックアップされたデータベースは、ターゲットデータベースのテンプレートとして機能する。データはまた、バックアップされたデータベースからターゲットデータベースに復元することもできる。ターゲットデータベース内に適切なコンテナが構成されたならば、ターゲットデータベース内の適切な構造にデータをより高速且つ効率的に復元すべく、必要に応じて、データベースサーバとバックアップサーバの間でデータベースサーバへの直接アクセスを行うことができる。
【００３５】
セキュリティ関連情報のバックアップおよび復元
アプリケーションオブジェクトデータベースは、データベースに保存されている各種のアプリケーションオブジェクトに関連付けられたセキュリティを有していてよい。例えば、データベースの管理者は、特定のユーザーがデータベースの特定の内容にアクセスするのを制限したい場合がある。あるいは、データベース管理者は、特定のユーザーまたはユーザーのグループが内容を修正することを制限したい一方で、それらのユーザーが特定のサイト、サブサイト、リストまたは項目の内容へアクセスは許したい場合がある。そのようなセキュリティスキームを有するアプリケーションオブジェクトデータベースの例として、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＳｈａｒｅＰｏｉｎｔ（登録商標）システムがある。そのようなセキュリティスキームの制御に関する以下の議論は、ＳｈａｒｅＰｏｉｎｔ（登録商標）の設定例を用いるが、関連付けられたセキュリティ情報をバックアップおよび復元する本発明の実施形態がＳｈａｒｅＰｏｉｎｔ（登録商標）データベースに限定されない点を理解されたい。
【００３６】
図５は、データベース１２０内のアプリケーションオブジェクトへのアクセスの制御に使用できるセキュリティ関連オブジェクト間の関係を示す概略ブロック図である。個別のユーザーは、個人として直接、またはグループのメンバーとして間接的にアプリケーションオブジェクト５１０にアクセスができる。データベース１２０は、ユーザーオブジェクト５２０を介してユーザーの属性に関する情報を保持することができる。そのようなユーザーオブジェクトは、各ユーザーの一意な識別子およびユーザーに関する他の情報（例：ログオン名、表示名、および電子メールアドレス）を含んでいてよい。例えばＳｈａｒｅＰｏｉｎｔ（登録商標）データベースにおいて、ユーザーオブジェクト５２０に関連付けられた情報をＵｓｅｒＩｎｆｏテーブルに保存することができる。
【００３７】
グループオブジェクト５３０は、オブジェクト５１０にアクセスするために定義されたユーザーグループに関する情報を保存する。グループとは、セキュリティ目的で同じ方法で管理されるユーザーの集合であって、グループの各メンバーはオブジェクト５１０への同じレベルのアクセス権を有する。グループオブジェクト５３０は、例えばグループの識別子およびグループのユーザーメンバーのリストを含むグループのリストを提供する。グループオブジェクト５３０に関連付けることができる追加的な情報は、例えば、グループの呼称、グループの記述、グループの所有者識別子（例：グループのメンバー構成を変更できるユーザー）等であってよい。例えばＳｈａｒｅＰｏｉｎｔ（登録商標）データベースにおいて、グループオブジェクト５３０に関連付けられた情報は、ＧｒｏｕｐテーブルおよびＧｒｏｕｐＭｅｍｂｅｒｓｈｉｐテーブルに保存することができる。図５は、グループのメンバーに関連する情報をユーザーのオブジェクトから取り出すことができるため、ユーザーオブジェクト５２０とグループオブジェクト５３０の関係を示す。
【００３８】
各種のスキームを用いて、個別のユーザーまたはユーザーのグループに対しオブジェクト５１０へのアクセス権を与えることができる。一方法として、ユーザーまたはユーザーのグループに対し個々に権利識別子に関連付けることにより、ユーザーまたはユーザーのグループに対してその権利を付与することができる。しかし、１個のオブジェクトにアクセス権の組を割り当てた場合、往々にしてアクセス権同士が錯綜してしまう。従って、ユーザーまたはユーザーのグループにアクセス権を割り当てる別の方法として、一組のアクセス権を束またはロール（役割）として識別して、その束をユーザーまたはユーザーのグループに対して割り当てる。図５は、後者の方法を示し、これもまたＭｉｃｒｏｓｏｆｔ（登録商標）社のＳｈａｒｅＰｏｉｎｔ（登録商標）データベースにより採用されている。
【００３９】
ロール定義オブジェクト５４０はロール定義のリストを含んでいる。ロール定義は、識別されたロールに関連付けられたアクセス権のリストである。アクセス権オブジェクト５５０は、ユーザーまたはグループへの割り当てに利用できる全てのアクセス権に関連する情報を含んでいる。ロール定義は、特定のアプリケーションオブジェクトに紐付けられていてよく、特定のオブジェクトを特に対象とする一組のアクセス権である。ロールの例として、完全制御、読み取り、寄与、設計、またはアクセス制限が含まれていてよい。階層（例：サイト）内の親オブジェクトにロール定義が割り当てられている場合、当該ロール定義は階層内の当該オブジェクトの全ての子に適用される。従って、ロール定義は、親から子へ継承することができる。しかし、ロール定義は、データベース内で親子関係を有していないオブジェクトについて同じである必要はない。
【００４０】
ロール割り当てオブジェクト５６０は、ロール定義とユーザーまたはグループの関係を定義する。各々のロール定義を複数のロール割り当てで用いることができる（例：リスト１での読み取りユーザーとリスト２での読み取りユーザーは異なっていてよいが、それらのロール割り当ては単一のロール定義を共有できる）。ロール割り当ての使用を通じて、個別のアクセス権をユーザーまたはグループに割り当てるのではなく、明確に定義されて整合性を有するアクセス権（ロール定義）の有意味な組がユーザーまたはグループに割り当てられる。
【００４１】
データベースは、ロール定義５４０、アクセス権５５０、およびロール割り当て５６０オブジェクトに関連する情報を相互に関係する各種のテーブルに保存することができる。例えばＳｈａｒｅＰｏｉｎｔ（登録商標）データベースは、そのような情報をＲｏｌｅｓテーブルおよびロール割り当てテーブルに保存することができる。特定のオブジェクト５１０に対してユーザーまたはグループが有するアクセス権を追跡するために、オブジェクトにアクセス制御リスト（ＡＣＬ）が関連付けられていてよい。ＡＣＬは、オブジェクトへのアクセス権を有する各ユーザーおよびグループのアクセス制御エントリを含んでいてよい。各々のアクセス制御エントリは、関連付けられたユーザーまたはグループの識別子、並びにアクセス制御エントリのロール割り当てに関連付けられた識別子を有していてよい。更に、アクセス制御リストは、オブジェクトに対してデータベースのセキュリティが適切に実装されるように、特定のアクセス権、ロール定義、およびロール割り当てが内部に構築されている。階層内のオブジェクトが親オブジェクトからセキュリティ許可を継承することができる一方、上述のように、オブジェクトは代替的に親コンテナとは別に定義された許可の組を有していてよい。
【００４２】
セキュリティはアプリケーションオブジェクトデータベースが正しく機能するために不可欠な部分であるため、上述のように、バックアップおよび復元動作はセキュリティ関係を保持しなければならない。本発明の実施形態は、図３に関して上で述べたように、セキュリティ関連情報を提供するデータベースメタデータテーブル情報にアクセスして保存することにより、セキュリティ関係を保持する機能を提供する。そのようなセキュリティ関連情報は、データベースのバックアップに関連付けられて保存されており、復元された際にアクセスされてターゲットデータベースに提供される。
【００４３】
図６は、本発明の実施形態による、復元中のオブジェクトに関連付けられたセキュリティ情報を提供するデータベース復元動作の一部を示す概略フロー図である。図６に、セキュリティ関連情報を復元すべく生起している追加的な動作を、図４を参照して既に議論および図示されている動作と合わせて示す。図６は、図４のステップ４３５から始まる。復元対象である所望のアプリケーションオブジェクトを選択できるように図４に示すステップ４１０〜４３０はステップ４３５の前に実行されるが、分かりやすいように図６はステップ４３５以降を含んでいる点を理解されたい。また、図６は、セキュリティ情報へのアクセス、およびターゲットデータベース内にオブジェクトを作成する際に当該セキュリティ情報を提供するステップを示している。
【００４４】
図４に関して議論したように、ステップ４３０で選択されたオブジェクトの復元に必要な階層内の最上位オブジェクトが最初の復元対象オブジェクトとなる（４３５）。復元ユーティリティは復元対象オブジェクトに関連するバックアップからメタデータテーブルデータを読み込む（４４０）。復元ユーティリティはまた、復元対象オブジェクトに関連付けられたセキュリティ関連のメタデータテーブル情報を読み込む（６１０）。再び、セキュリティ関連情報に関連付けられた適切なメタデータテーブルまたはテーブルの特定に必要な情報が、バックアップに関連付けられたメタデータテーブル情報から読み込まれる。
【００４５】
データベース内の各種オブジェクト（例：図５に示すオブジェクト）に関連付けられたセキュリティ関連情報を保存するテーブルから、復元対象オブジェクトに適するように、セキュリティ関連情報が集められる。データベース内の各種テーブルからセキュリティ関連情報が集められたならば、データベースに保存されている復元対象オブジェクトのセキュリティコードまたは識別子を生成することができる。セキュリティコードまたは識別子は、所与のオブジェクトに対してユーザーおよびグループが有するアクセス権並びに当該オブジェクトに固有に構築されたロール割り当てを表す値であってよい。あるいは、復元対象オブジェクトに関連付けられたセキュリティ関連情報は、ターゲットデータベース内に復元すべく一時的に保存することができる。
【００４６】
復元対象オブジェクトに関連付けられたセキュリティ関連情報が集められたならば、復元対象オブジェクトは、図４に関して上で述べたように、バックアップからのテーブルデータを用いてターゲットデータベース内に作成することができる（４５０）。次いで、ターゲットデータベースに含める必要があるセキュリティ関連情報を決定すべく解析を実行することができる。例えば、復元対象オブジェクトが階層（例：サイト）内で最上位にある場合、セキュリティ情報、並びにサイトに関連付けられた他のセキュリティ関連情報がユーザーおよびグループ識別子を含めるべく復元される。一方、復元対象オブジェクトが階層内でより低いレベルであるが、既存の階層内の配置されている場合、特定のセキュリティ関連情報が復元されないことがある。例えば、復元対象オブジェクトリストの関連サイトに既に関連付けられていないユーザー情報は、当該リスト用には復元されずに破棄される。ターゲットデータベース内にユーザーおよび／またはグループが存在して相互に関係していることを判定する処理を実行することができる。そのような確認処理は、ターゲットデータベースおよびバックアップされたデータベース内のユーザーおよびグループに関連付けられた一意な識別子を使用することができる。セキュリティ関連情報は、例えば、生成されたセキュリティコードまたは一時的に保存されたセキュリティ関連情報から解釈することができる。
【００４７】
必要とされるセキュリティデータの組が識別されたならば、復元された復元対象オブジェクトに関連付けられたセキュリティ関連情報をターゲットデータベースに組み込むべく提供することができる（６３０）。オブジェクトを作成して、セキュリティ関連情報を組み込むための一機構は、ウェブサーバ１５０が提供するデータベースのオブジェクトモデルを使用するものである。このように、オブジェクト関連情報およびセキュリティ関連情報を、適切にフォーマットされて所与のアプリケーションオブジェクトを適した仕方でデータベースに組み込むことができる。オブジェクトおよびそのセキュリティ関連情報がターゲットデータベースに提供されたならば、図４に関して上で述べたように、図４に示す復元処理は処理ブロック４５５〜４７０へ進む。
【００４８】
上述のバックアップおよび復元動作は、バックアップ動作中にアプリケーションウェブサーバ１５０に負担をかけることなく当該データベースのバックアップ動作の間にアプリケーションオブジェクトデータベース（例：データベース１２０）からセキュリティ関連情報を直接取り出すことができる機構を提供する。次いで選択されたオブジェクトの復元動作中にセキュリティ関連情報をアクセスのために保存することができる。関連付けられたアプリケーションウェブサーバへの情報提供と合わせてこの情報を利用することにより、ターゲットデータベースへの復元の後でアプリケーションにより使用可能な仕方でセキュリティ情報を組み込むことができる。
【００４９】
コンピューティングおよびネットワーク環境の例
上述のように、本発明は各種のコンピュータシステムおよびネットワークを用いて実装することができる。そのようなコンピューティングおよびネットワーク環境の一例について図７、８を参照しながら以下に述べる。
【００５０】
図７に、本発明の態様の実装に適したコンピュータシステム７１０（例：クライアント１４０、バックアップサーバ１６０、データベースサーバ１１０、およびウェブサーバ１５０）のブロック図を示す。コンピュータシステム７１０は、中央処理装置７１４、システムメモリ７１７（通常はＲＡＭであるが、ＲＯＭ、フラッシュＲＡＭ、等を含んでいてよい）、入出力コントローラ７１８、音声出力インターフェース７２２を介したスピーカーシステム７２０等の外部音声装置、ディスプレイアダプタ７２６を介したディスプレイ画面７２４等の外部装置、シリアルポート７２８および７３０、キーボード７３２（キーボードコントローラ７３３とのインターフェースを有する）、ストレージインターフェース７３４、フロッピー（登録商標）ディスク７３８を受容すべく動作可能なフロッピー（登録商標）ディスクドライブ７３７、ファイバーチャネルネットワーク７９０に接続すべく動作可能なホストバスアダプタ（ＨＢＡ）インターフェースカード７３５Ａ、ＳＣＳＩバス７３９に接続すべく動作可能なホストバスアダプタ（ＨＢＡ）インターフェースカード７３５Ｂ、および光ディスク７４２を受容すべく動作可能な光ディスクドライブ７４０等、コンピュータシステム７１０の主要なサブシステムを相互接続するバス７１２を含んでいる。マウス７４６（またはシリアルポート７２８を介してバス７１２に接続されている他のポイントアンドクリック装置）、モデム７４７（シリアルポート７３０を介してバス７１２に接続されている）、およびネットワークインターフェース７４８（バス７１２に直接接続されている）も含まれている。
【００５１】
バス７１２は、中央処理装置７１４と、上述のように読出し専用メモリ（ＲＯＭ）またはフラッシュメモリ（共に図示せず）、およびランダムアクセスメモリ（ＲＡＭ）（図示せず）を含むシステムメモリ７１７との間のデータ通信を可能にする。ＲＡＭは一般に、オペレーティングシステムおよびアプリケーションプログラムがロードされる主メモリである。ＲＯＭまたはフラッシュメモリは、他のコードと共に、周辺装置との対話等の基本ハードウェア動作を制御する基本入出力システム（ＢＩＯＳ）を含んでいてよい。コンピュータシステム７１０に常駐するアプリケーションは一般に、ハードディスクドライブ（例：固定ディスク７４４）、光ドライブ（例：光ドライブ７４０）、フロッピー（登録商標）ディスクドライブ７３７その他の記録媒体等のコンピュータ可読媒体に保存されてアクセスされる。アプリケーションはまた、ネットワークモデム７４７またはインターフェース７４８を介してアクセスされた際にアプリケーションおよびデータ通信技術に従い変調された電子信号の形式であってよい。
【００５２】
ストレージインターフェース７３４は、コンピュータシステム７１０の他のストレージインターフェースと同様に、情報を保存および／または取得すべく固定ディスクドライブ７４４等の標準的なコンピュータ可読媒体に接続することができる。固定ディスクドライブ７４４は、コンピュータシステム７１０の一部であっても、または別々であって他のインターフェースシステムによりアクセスされてもよい。モデム７４７は、電話線を介してリモートサーバへの、またはインターネットサービスプロバイダ（ＩＳＰ）を介してインターネットへの直接接続を提供することができる。ネットワークインターフェース７４８は、ＰＯＰ（ｐｏｉｎｔ  ｏｆ  ｐｒｅｓｅｎｃｅ）を介したインターネットへの直接ネットワーク接続を介してリモートサーバへの直接接続を提供することができる。ネットワークインターフェース７４８は、デジタルセルラー電話接続、セルラーデジタルパケットデータ（ＣＤＰＤ）接続、デジタル衛星データ接続等を含む無線技術を用いてそのような接続を提供することができる。
【００５３】
他の多くの装置またはサブシステム（図示せず）も同様の方法（例：文書スキャナ、デジタルカメラ等）で接続することができる。逆に、図７に示す装置の全てが本発明の実施に必要である訳ではない。これらの装置およびサブシステムは、図７に示すものとは異なる方法で相互接続することができる。図７に示すようなコンピュータシステムの動作は当分野では公知であるため本出願では詳述しない。本発明を実装するコードは、システムメモリ７１７、固定ディスク７４４、光ディスク７４２、またはフロッピー（登録商標）ディスク７３８のうち１個以上のコンピュータ可読な記録媒体に保存することができる。コンピュータシステム７１０に提供されるオペレーティングシステムは、ＭＳ−ＤＯＳ（登録商標）、ＭＳ−ＷＩＮＤＯＷＳ（登録商標）、ＯＳ／２（登録商標）、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）、または他の公知のオペレーティングシステムであってよい。
【００５４】
更に、本明細書に記述する信号に関して、当業者には信号を第１のブロックから第２のブロックへ直接送信できるかまたは信号をブロック間で変更（例：増幅、減衰、遅延、ラッチ、バッファリング、反転、フィルタリング、または別途変更）できることが理解されよう。上述の実施形態の信号は、あるブロックから次のブロックへ送信されるように特徴付けられているが、本発明の他の実施形態において、信号の情報および／または機能態様がブロック間で送信される限りそのように直接送信された信号ではなく変更された信号を含んでいてよい。第２のブロックに入力された信号は、ある程度、関与する回路の物理的制約（例：必然的に若干の減衰および遅延が生じ得る）のために第１のブロックから出力された第１の信号から導かれた第２の信号として概念化できる。従って、本明細書で用いるように、回路制約に起因するかまたは第１の信号の情報および／または最終的な機能態様を変えない他の回路要素を通過したことに起因するかに関らず、第１の信号から導かれた第２の信号は第１の信号または第１の信号に加えられた任意の変更を含んでいる。
【００５５】
図８は、クライアントシステム８１０、８２０および８３０、並びにストレージサーバ８４０Ａ、８４０Ｂ（いずれかもコンピュータシステム７１０を用いて実装可能）がネットワーク８５０に接続されているネットワークアーキテクチャ８００を示すブロック図である。ストレージサーバ８４０Ａは更に記憶装置８６０Ａ（１）〜（Ｎ）が直接取り付けられている状態で表されており、ストレージサーバ８４０Ｂは記憶装置８６０Ｂ（１）〜（Ｎ）が直接取り付けられている状態で表されている。ストレージサーバ８４０Ａ、８４０Ｂはまた、ＳＡＮファブリック８７０に接続しているが、ストレージエリアネットワークへの接続は本発明の動作には必須ではない。ＳＡＮファブリック８７０はストレージサーバ８４０Ａ、８４０Ｂにより、且つネットワーク８５０を介してクライアントシステム８１０、８２０および８３０により、記憶装置８８０（１）〜（Ｎ）へのアクセスを支援する。ＳＡＮファブリック８７０を介してアクセス可能な特定の記憶装置の例としてインテリジェントストレージアレイ８９０も示す。
【００５６】
コンピュータシステム８１０に関して、モデム８４７、ネットワークインターフェース８４８または他の何らかの方法を用いて、クライアントシステム８１０、８２０および８３０の各々からネットワーク８５０への接続を提供することができる。クライアントシステム８１０、８２０および８３０は、例えばウェブブラウザその他のクライアントソフトウェア（図示せず）を用いてストレージサーバ８４０Ａまたは８４０Ｂに関する情報にアクセスすることが可能である。そのようなクライアントにより、クライアントシステム８１０、８２０および８３０が、ストレージサーバ８４０Ａまたは８４０Ｂ、または記憶装置８６０Ａ（１）〜（Ｎ）、８６０Ｂ（１）〜（Ｎ）、８８０（１）〜（Ｎ）の１個、あるいはインテリジェントストレージアレイ８９０によりホスティングされているデータにアクセスができる。図８は、データをやり取りするインターネット等のネットワークの利用を示すが、本発明はインターネットまたは何らかの特定のネットワーク利用環境に限定されない。
【００５７】
他の実施形態
本発明は、上述の利点および他の固有の利点を実現するのに良く適している。本発明の特定の実施形態を参照することにより、本発明を図示、記述、および定義しているが、そのような参照は本発明を限定するものではなく、そのような限定を示唆するものでもない。本発明は当業者に想起されるように、形式および機能面で大幅な変更、変形、および等価物の実施が可能である。図示および記述されている実施形態は例に過ぎず、本発明の範囲を網羅していない。
【００５８】
上の記述は、他の構成要素（例：コンピュータシステム７１０の構成要素として示す各種要素）内に含まれる構成要素を含む実施形態を記述している。そのようなアーキテクチャは単に例に過ぎず、実際、同一機能を実現する他の多くのアーキテクチャを実装することができる。抽象的ながら明確な意味において、同一機能を実現する要素の任意の構成が、所望の機能性が実現されるように、事実上「関連付けられている」。従って、本明細書において特定の機能を実現すべく組み合わされた任意の２個の構成要素は、アーキテクチャまたは中間の構成要素に関らず、所望の機能が実現されるように互いに「関連付けられている」ものと見なすことができる。同様に、そのように関連付けられた任意の２個の構成要素もまた、所望の機能を実現すべく互いに「動作可能に接続されている」または「動作可能に結合されている」ものと見なすことができる。
【００５９】
上の詳細な記述は、ブロック図、フロー図および例を用いて本発明の各種実施形態を開示している。例を用いて示す各ブロック図の構成要素、フロー図のステップ、動作および／または構成要素が、広範なハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにより個別および／または集合的に実装可能であることが当業者には理解されよう。例えば、上述の機能ブロックの１個以上に関連付けられた機能を実装するために特定の電子部品を特定用途向け集積回路または類似あるいは関連回路で使用できる。
【００６０】
本発明について、完全に機能的なコンピュータシステムの文脈で記述してきた。しかし、当業者には本発明が各種形式のプログラム製品として配布でき、本発明がそのような配布を実際に行うために用いる特定の信号搬送媒体の種類によらず同等に適用できることが理解されよう。信号搬送媒体の例として、コンピュータ可読な記録媒体、デジタルおよびアナログ通信接続等の送信型媒体、並びに将来開発される媒体記憶および配信システムが含まれる。
【００６１】
上述の実施形態は、特定のタスクを実行するソフトウエアモジュールにより実装することができる。本明細書で議論したソフトウエアモジュールは、スクリプト、バッチ、または他の実行可能ファイルを含んでいてよい。本明細書で議論したソフトウエアモジュールは更に、そのような命令を実行すべく構成されたプロセッサにより、実行可能な１個以上の命令の組を含んでいてよい。ソフトウエアモジュールは、磁気フロッピー（登録商標）ディスク、ハードディスク、半導体メモリ（例：ＲＡＭ、ＲＯＭおよびフラッシュ型媒体）、光ディスク（例：ＣＤ−ＲＯＭ、ＣＤ−Ｒ、およびＤＶＤ）、または他の種類のメモリモジュール等、機械可読またはコンピュータ可読な記録媒体に保存することができる。本発明の実施形態に従いファームウェアまたはハードウェアモジュールを保存すべく使用される記憶装置はまた、マイクロプロセッサ／メモリシステムに永久に、着脱自在に、または遠隔的に接続可能な半導体利用メモリを含んでいてよい。従って、これらのモジュールは、モジュールの機能を実行するようにコンピュータシステムを構成すべくコンピュータシステムメモリ内に保存することができる。他の新規且つ各種のコンピュータ可読な記録媒体を用いて本明細書で議論したモジュールを保存してもよい。
【００６２】
上の記述は、本発明を例示することを目的としており、本発明を限定するものと考えてはならない。本発明の範囲内の他の実施形態も可能である。当業者であれば、本明細書に開示した構造および方法を実施するのに必要なステップを容易に実装することができ、ステップの処理パラメータおよびシーケンスは単なる例として与えられており、所望の構造並びに本発明の範囲内に含まれる変更を実現するために変更可能である点を理解されよう。本明細書に開示した実施形態の変形および変更は、本発明の範囲を逸脱することなく本明細書に開示した記述に基づいて実施することができる。
【００６３】
従って、本発明は、あらゆる点において等価物を完全な認識した上で添付の請求の範囲だけに制約されることを意図している。
【００６４】
本発明はいくつかの実施形態との関連で記述されているが、本明細書に開示した特定の形式に本発明を限定することは意図していない。むしろ、添付の請求の範囲に規定されるように、そのような変形、変更、および等価物が必然的に本発明の範囲に含まれるものとする。
【図１】
0005646490.tif 000002
【図２】
0005646490.tif 000003
【図３】
0005646490.tif 000004
【図４】
0005646490.tif 000005
【図５】
0005646490.tif 000006
【図６】
0005646490.tif 000007
【図７】
0005646490.tif 000008
【図８】
0005646490.tif 000009