特許第5661633号(P5661633)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シマンテック コーポレーションの特許一覧

特許5661633一括データベースバックから選択されたバージョン化されたオブジェクトのバックアップおよび復元の実行
<>
  • 特許5661633-一括データベースバックから選択されたバージョン化されたオブジェクトのバックアップおよび復元の実行 図000002
  • 特許5661633-一括データベースバックから選択されたバージョン化されたオブジェクトのバックアップおよび復元の実行 図000003
  • 特許5661633-一括データベースバックから選択されたバージョン化されたオブジェクトのバックアップおよび復元の実行 図000004
  • 特許5661633-一括データベースバックから選択されたバージョン化されたオブジェクトのバックアップおよび復元の実行 図000005
  • 特許5661633-一括データベースバックから選択されたバージョン化されたオブジェクトのバックアップおよび復元の実行 図000006
  • 特許5661633-一括データベースバックから選択されたバージョン化されたオブジェクトのバックアップおよび復元の実行 図000007
  • 特許5661633-一括データベースバックから選択されたバージョン化されたオブジェクトのバックアップおよび復元の実行 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5661633
(24)【登録日】2014年12月12日
(45)【発行日】2015年1月28日
(54)【発明の名称】一括データベースバックから選択されたバージョン化されたオブジェクトのバックアップおよび復元の実行
(51)【国際特許分類】
   G06F 12/00 20060101AFI20150108BHJP
【FI】
   G06F12/00 531R
【請求項の数】20
【全頁数】19
(21)【出願番号】特願2011-529257(P2011-529257)
(86)(22)【出願日】2009年9月25日
(65)【公表番号】特表2012-504286(P2012-504286A)
(43)【公表日】2012年2月16日
(86)【国際出願番号】US2009058375
(87)【国際公開番号】WO2010039608
(87)【国際公開日】20100408
【審査請求日】2012年9月20日
(31)【優先権主張番号】12/242,079
(32)【優先日】2008年9月30日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】501113353
【氏名又は名称】シマンテック コーポレーション
【氏名又は名称原語表記】Symantec Corporation
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(72)【発明者】
【氏名】ルイス・ビーティ
(72)【発明者】
【氏名】スティーヴン・アール・ドゥヴォス
(72)【発明者】
【氏名】ディーパック・サラフ
【審査官】 池田 聡史
(56)【参考文献】
【文献】 特開2007−323657(JP,A)
【文献】 特開2007−157136(JP,A)
【文献】 特開2004−326800(JP,A)
【文献】 特表2008−525918(JP,A)
【文献】 米国特許出願公開第2008/0034039(US,A1)
【文献】 米国特許出願公開第2005/0138087(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
一括バックアッププロセスを用いて作成した、複数のオブジェクトを含むデータベースのバックアップから、選択されたオブジェクトの一バージョン、すなわち、前記複数のオブジェクトに含まれる、選択されたオブジェクトの複数のバージョンの一バージョンを復元する旨のリクエストを受け取るステップと、
前記データベースのバックアップ内の前記選択されたオブジェクトに関連付けられた前記データベースのバックアップ内の情報を、前記データベースのバックアップが作成された時点で前記バックアップされたデータベースから集められたデータベーステーブルのメタデータを用いて特定するステップと、
前記選択されたオブジェクトに関連付けられた前記情報を用いて前記選択されたオブジェクトの前記バージョンをターゲットデータベースに復元するステップとを含む方法。
【請求項2】
前記選択されたオブジェクトの前記バージョンを復元する前記ステップが
前記選択されたオブジェクトの現行バージョンを第2のオブジェクト、すなわちオブジェクトのバージョンを保存する第2のオブジェクトにコピーするステップと、
前記選択されたオブジェクトの前記リクエストされたバージョンを、前記選択されたオブジェクトの前記現行バージョンとして復元するステップとを含む、請求項1に記載の方法。
【請求項3】
前記選択されたオブジェクトの前記バージョンを復元する前記ステップが、
前記受け取ったリクエストが前記選択されたオブジェクトの全てのバージョンを復元する旨であって、前記選択されたオブジェクトの各バージョンを復元するステップを含む、請求項1に記載の方法。
【請求項4】
前記選択されたオブジェクトの前記現行バージョンを第1のオブジェクトに復元するステップと、
前記選択されたオブジェクトの各先行バージョンを第2のオブジェクトに復元するステップとを更に含み、
前記第2のオブジェクトがオブジェクトのバージョンを保存し、
前記第2のオブジェクトが前記第1のオブジェクトに関連付けられている、請求項3に記載の方法。
【請求項5】
前記データベーステーブルのメタデータを用いて前記選択されたオブジェクトの前記バージョンを選択するステップを更に含む、請求項1に記載の方法。
【請求項6】
前記データベーステーブルのメタデータを用いて前記選択されたオブジェクトの前記バージョンを選択する前記ステップが、
前記データベーステーブルのメタデータを用いて前記データベースの前記バックアップ内のデータベーステーブルの位置および構造を決定するステップと、
前記バックアップされたデータベーステーブルを読み込むステップと、
前記データベーステーブルに関連付けられたオブジェクトがバージョン化されたオブジェクトである場合、
前記データベーステーブルに関連付けられたバージョンテーブルを読み込んで、
前記オブジェクトの各バージョンに関連付けられた情報を収集するステップとを含む、請求項5に記載の方法。
【請求項7】
前記オブジェクトの各バージョンに関連付けられた前記情報を前記オブジェクトに関連付けるステップを更に含み、
前記関連付けが、前記オブジェクトおよび前記オブジェクトの各バージョンに関する情報をバージョンの昇順で含むリストを生成するステップを含む、請求項6に記載の方法。
【請求項8】
プロセッサと、
前記プロセッサに接続された第1のストレージオブジェクト、すなわち、
一括バックアップを用いて作成されたデータベースのバックアップを保存し、
記データベースが複数のオブジェクトおよび前記複数のオブジェクトを記述する複数のデータベーステーブルを含む第1のストレージオブジェクトと、
プロセッサに接続されている第2のストレージオブジェクト、すなわち、
前記データベースのバックアップから復元されたオブジェクトの目標ストレージ領域を保存する第2のストレージオブジェクトと、
前記プロセッサに接続されていて、前記プロセッサにより実行可能な命令を保存するメモリとを含むシステムであって、前記命令が、
前記データベースのバックアップから、選択されたオブジェクトの一バージョン、すなわち前記複数のオブジェクトに含まれる、選択されたオブジェクトの複数バージョンの一バージョンを復元する旨のリクエストを受け取り、
前記データベースのバックアップ内の前記選択されたオブジェクトに関連付けられた前記データベースのバックアップ内の情報を、前記データベースの前記バックアップが作成された時点で前記データベースから集められたデータベーステーブルのメタデータを用いて特定し、
前記選択されたオブジェクトに関連付けられた前記情報を用いて前記選択されたオブジェクトの前記バージョンを前記目標ストレージ領域内に復元すべく構成されているシステム。
【請求項9】
前記選択されたオブジェクトの前記バージョンを復元する旨の命令が、
前記目標ストレージ領域の前記選択されたオブジェクトの現行バージョンを前記目標ストレージ領域内に保存された第2のオブジェクト、すなわちオブジェクトのバージョンを保存する第2のオブジェクトにコピーし、
前記選択されたオブジェクトの前記リクエストされたバージョンを、前記選択されたオブジェクトの前記現行バージョンとして前記目標ストレージ領域に復元する命令を更に含む、請求項8に記載のシステム。
【請求項10】
前記選択されたオブジェクトの前記バージョンを復元する旨の命令が、
前記受け取ったリクエストが前記選択されたオブジェクトの全てのバージョンを復元する旨であって、前記選択されたオブジェクトの各バージョンを復元すべく構成された命令を更に含む、請求項8に記載のシステム。
【請求項11】
前記選択されたオブジェクトの前記バージョンを復元する旨の命令が、
前記選択されたオブジェクトの前記現行バージョンを前記目標ストレージ領域内に保存された第1のオブジェクトに復元し、
前記選択されたオブジェクトの各先行バージョンを前記目標ストレージ領域内に保存された第2のオブジェクトに復元すべく構成された命令を更に含み、
前記第2のオブジェクトがオブジェクトのバージョンを保存し、
前記第2のオブジェクトが前記第1のオブジェクトに関連付けられている、請求項10に記載のシステム。
【請求項12】
前記メモリが、
前記データベーステーブルのメタデータを用いて前記選択されたオブジェクトの前記バージョンを選択すべく構成された更なる命令を保存する、請求項8に記載のシステム。
【請求項13】
前記データベーステーブルのメタデータを用いて前記選択されたオブジェクトの前記バージョンを選択すべく構成された前記命令が、
前記データベーステーブルのメタデータを用いて前記データベースの前記バックアップ内のデータベーステーブルの位置および構造を決定し、
前記データベーステーブルを読み込み、
前記データベーステーブルに関連付けられたオブジェクトがバージョン化されたオブジェクトである場合、
前記データベーステーブルに関連付けられたバージョンテーブルを読み込んで、
前記オブジェクトの各バージョンに関連付けられた情報を収集すべく構成された命令を更に含む、請求項12に記載のシステム。
【請求項14】
前記データベーステーブルメタデータを用いて前記選択されたオブジェクトの前記バージョンを選択すべく構成された前記命令が、
前記オブジェクトの各バージョンに関連付けられた前記情報を前記オブジェクトに関連付けるべく構成された命令を更に含み、
関連付けを行う前記命令が、前記オブジェクトおよび前記オブジェクトの各バージョンに関する情報をバージョンの昇順で含むリストを生成すべく構成された命令を更に含む、請求項13に記載のシステム。
【請求項15】
一括バックアッププロセスを用いて作成した複数のオブジェクトを含むデータベースのバックアップから、選択されたオブジェクトの一バージョン、すなわち、前記複数のオブジェクトに含まれる前記選択されたオブジェクトの複数のバージョンの一バージョンを復元する旨のリクエストを受け取るべく構成され、プロセッサにより実行可能な第1の命令の組と、
前記データベースのバックアップ内の前記選択されたオブジェクトに関連付けられた前記データベースのバックアップ内の情報を、前記データベースの前記バックアップが作成された時点で前記バックアップされたデータベースから集められたデータベーステーブルのメタデータを用いて特定すべく構成され、且つ前記プロセッサにより実行可能な第2の命令の組と、
前記選択されたオブジェクトに関連付けられた前記情報を用いて前記選択されたオブジェクトの前記バージョンをターゲットデータベースに復元すべく構成され、且つ前記プロセッサにより実行可能な第3の命令の組とを含むコンピュータ可読な記録媒体。
【請求項16】
前記第3の命令の組が、
前記選択されたオブジェクトの前記現行バージョンを第2のオブジェクト、すなわちオブジェクトのバージョンを保存する第2のオブジェクトにコピーすべく構成され、且つ前記プロセッサにより実行可能な第4の命令の組と、
前記選択されたオブジェクトの前記リクエストされたバージョンを、前記選択されたオブジェクトの前記現行バージョンとして復元すべく構成され、且つ前記プロセッサにより実行可能な第5の命令の組とを更に含む、請求項15に記載のコンピュータ可読な記録媒体。
【請求項17】
前記第3の命令の組が、
前記受け取ったリクエストが前記選択されたオブジェクトの全てのバージョンを復元する旨であって、前記選択されたオブジェクトの各バージョンを復元すべく構成され、且つ前記プロセッサにより実行可能な第4の命令の組を更に含む、請求項15に記載のコンピュータ可読な記録媒体。
【請求項18】
前記選択されたオブジェクトの前記現行バージョンを第1のオブジェクトに復元すべく構成され、且つ前記プロセッサにより実行可能な第5の命令の組と、
前記選択されたオブジェクトの各先行バージョンを第2のオブジェクトに復元すべく構成され、且つ前記プロセッサにより実行可能な第6の命令の組とを更に含み
前記第2のオブジェクトがオブジェクトのバージョンを保存し、
前記第2のオブジェクトが前記第1のオブジェクトに関連付けられている、請求項17に記載のコンピュータ可読な記録媒体。
【請求項19】
前記データベーステーブルのメタデータを用いて前記選択されたオブジェクトの前記バージョンを選択すべく構成され、且つ前記プロセッサにより実行可能な第4の命令の組を更に含む、請求項15に記載のコンピュータ可読な記録媒体。
【請求項20】
前記第4の命令の組が、
前記データベーステーブルのメタデータを用いて前記データベースの前記バックアップ内のデータベーステーブルの位置および構造を決定すべく構成され、且つ前記プロセッサにより実行可能な第5の命令の組と、
前記データベーステーブルを読み込むべく構成され、且つ前記プロセッサにより実行可能な第6の命令の組と、
前記データベーステーブルに関連付けられたバージョンテーブルを読み込んで、
前記オブジェクトの各バージョンに関連付けられた情報を収集すべく構成され、且つバージョン化されたオブジェクトである前記データベーステーブルに関連付けられたオブジェクトに応答して、前記プロセッサにより実行可能な第7の命令の組を更に含む、請求項19に記載のコンピュータ可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はコンピュータバックアップおよび復元の分野に関し、特に一括データベースバックアップから、バージョン化されたオブジェクトを選択的に復元する方法およびシステムに関する。
【背景技術】
【0002】
情報、およびそのような情報を各種の形式で生成、処理、配信、および保持するコンピュータシステムに対する依存度が増大する状況にあって、そのような情報を保存、バックアップ、および復元する技術に対する要求が高まり続けている。協業および文書管理を可能にすべく企業横断的に情報資源を集中化する技術を産業界が採用するにつれて、企業の事業継続のためにそのような情報の保存、バックアップ、および復元が一層重要になっている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
典型的な企業レベルの協業および文書管理プラットフォームにおいて、一個以上のユーザー向けアプリケーションオブジェクトからのデータは、データベース等の集中化されたストレージオブジェクトに保存することができる。各種のアプリケーションオブジェクトからのデータを保持するデータベースは、アプリケーションオブジェクトにより規定されるデータ間の関係または階層を保持すべく構成することができる。当該データベースはまた、文書およびリスト項目等、複数のバージョンのデータオブジェクトを保存すべく構成することができる。そのようなデータベースの任意のバックアップおよび復元スキームは、データオブジェクトのバージョンの復元を管理が可能であるだけでなく、アプリケーションオブジェクトにより作成されたデータ間の関係および階層を保持しなければならない。
【0004】
そのようなデータベースをバックアップおよび復元する従来の方法は、多くの人員およびリソースを要する。例えば、データベース内にアプリケーションオブジェクト用の領域が複数存在する旨であって、バックアップ管理者は、保護する必要があるデータベースの部分を知って選択することに対して責任を負っている。データ保護に対するそのような事前のきめ細かい方式は、データベース管理者であるとは限らないバックアップ管理者が、特定のアプリケーションオブジェクトの保護スキーマを構築するためにデータベースのトポロジを知っている必要がある。更に、アプリケーションの階層的なオブジェクト構造が変更された場合、変更が生じた際にバックアップ管理者はこれらを考慮しなければならない。この従来のバックアップ方式は、各アプリケーションオブジェクトに関連付けられたデータベース内の領域のバックアップを別々に実施するため、きめ細かいバックアップスキームと呼ばれる。きめ細かいバックアップスキームの下で、特定のアプリケーションオブジェクトに関連するデータの復元は、各アプリケーションオブジェクトが自身のバックアップの組を有しているため、合理的に的を絞ることができる。
【0005】
代替的なバックアップ方法として、データベース全体の一括バックアップを実行することである。データベースのそのような一括的バックアップからデータを復元する従来の方法は、データベース全体のスナップショットを一時領域に戻し、次いで当該データベースから所望の情報を選択して稼動中のターゲットデータベースに入れることである。そのようなデータ選択のバックエンド方法の短所は、データベースのバックアップから全てのデータを復元してそこから所望の情報を選択するのに時間を要し、データベースの一時コピーによりディスクリソースが費消される点である。
【0006】
従って、バックアップ管理者がバックアップ中のデータベースの構造に精通している必要なしに、データベース全体の一括バックアップを効率的に実施する機構を有することが望ましい。また、復元時間を短縮をすべく、バックアップされたデータベースの一部を必要に応じてユーザーが選択的に復元できるようにすることがさらに望ましい。また、復元機構がバージョン化されてバックアップされたオブジェクトを区別可能であって、通常の協業動作および文書管理プラットフォームと互換性を持ってこれらのバージョンを復元することが望ましい。
【課題を解決するための手段】
【0007】
本発明の実施形態は、一括的にバックアップされたデータベース内に保存されたアプリケーションオブジェクトの一バージョンを、当該データベースの復元された部分の階層的な関係および他のメタデータ関係を維持しながら、選択的に復元する機構を提供する。本発明の実施形態は、データベースのバックアップ内の複数のバックアップされたオブジェクトの中から、選択されたオブジェクトの一バージョンを復元する旨のリクエストを受け取り、一括バックアップを用いて作成されたデータベースのバックアップ内の選択されたオブジェクトに関連付けられたデータベースのバックアップ内の情報を特定し、選択されたオブジェクトに関連付けられた情報を用いて、選択されたオブジェクトの当該バージョンを目標ストレージ領域に復元する機構を実現する方法、システム、およびコンピュータ可読な記録媒体を提供する。上述の実施形態の態様は、バックアップされたデータベースからバックアップ作成時に集めたデータベーステーブルのメタデータを用いて、選択されたオブジェクトに関連付けられた情報を特定する。
【0008】
本発明の上述の実施形態の更なる態様は、目標ストレージ領域で発見した選択されたオブジェクトの現行バージョンを、ストレージ領域内の第2のオブジェクトにコピーし、次いで選択されたオブジェクトのリクエストされたバージョンを、選択されたオブジェクトの現行バージョンとして復元する方法を提供する。本発明の上述の実施形態の別の態様は、選択されたオブジェクトの各バージョンを目標ストレージ領域に復元する方法を提供する。
【0009】
本発明の上述の実施形態の他の態様は、データベーステーブルのメタデータを用いてデータベースのバックアップ内におけるデータベーステーブルの位置および構造を決定し、バックアップされたデータベーステーブルを読み込み、データベーステーブルに関連付けられたオブジェクトがバージョン化されている場合、データベーステーブルに関連付けられたバージョンテーブルを読み込んで、オブジェクトの各バージョンに関連付けられた情報を収集する方法を提供する。
【0010】
添付の図面を参照することにより、当業者には本発明に対する理解が深まると共に、多くの目的、特徴、および利点が明らかになろう。
【図面の簡単な説明】
【0011】
図1】本発明の実施形態を使用すべく構成可能なネットワークの例を示す概略ブロック図である。
図2】本発明の実施形態と連携して使用できるデータベース内のオブジェクトレイアウトの例を示す概略ブロック図である。
図3】本発明の実施形態によるバックアップ処理を示す概略フロー図である。
図4】本発明の実施形態による、バックアップされたデータベースから復元するオブジェクトを選択する処理を示す概略フロー図である。
図5】本発明の実施形態による、選択されたオブジェクトのデータベース復元動作を示す概略フロー図である。
図6】本発明の実施形態の実装に適したコンピュータシステムのブロック図である。
図7】本発明の実施形態の実装に適したネットワークアーキテクチャを表すブロック図である。
【発明を実施するための形態】
【0012】
本発明の実施形態は、アプリケーションオブジェクトデータを保存しているデータベースの一括バックアップからアプリケーションオブジェクトデータを選択的に復元する機構を提供する。本発明の実施形態はこの能力を、アプリケーションオブジェクトデータ、アプリケーションオブジェクトデータを保存する構造、および当該構造間の相互関係を記述するデータベースに保存されているメタデータをデータベースのバックアップ時に識別することにより提供する。本発明の実施形態は、復元動作中に使用されるこのメタデータに関する情報を保存することができる。復元動作中、本発明の実施形態はメタデータに関連する保存情報にアクセスし、当該情報を用いてデータベースのバックアップ内のメタデータに直接アクセスすることができる。本発明の実施形態は、アクセスしたメタデータを用いて、データベースからバックアップされたデータの記述およびそのようなデータ間の関係(例:データ構造の階層およびデータがバージョン化されているかどうか)を、データを復元しているユーザーに提供する。本発明の実施形態は更に、データベースのバックアップからのそのような記述から選択されたデータにアクセスし、ターゲットデータベースに当該情報を復元することができる。このように、1個以上のアプリケーションオブジェクトからのデータを含むデータベースのバックアップを効率良く一括的に実施し、次いで対象とされた仕方で効率的に復元することができる。更に、バックアップ管理者がバックアップ中のデータベースの構造に精通している必要が無く、特定のデータの組を復元している担当者が構造に精通していれば良い点で人的リソースをより効率的に利用できる。
【0013】
図1は、本発明の実施形態を使用すべく構成可能なネットワークの例を示す概略ブロック図である。データベースサーバ110は、データベース120を保存するストレージボリュームに直接または間接的に接続されている。データベース120は、データベース120にデータを保存する1個以上のアプリケーションオブジェクトによりアクセスすることができる。データベースサーバ110は、データベースサーバとの間のアクセスを提供するネットワーク130に接続されている。ネットワーク130は通常、組織の企業レベルネットワークであって、ローカルエリアネットワーク、メトロエリアネットワーク、ワイドエリアネットワーク等であってよいが、これに限定されない。ネットワーク130には、例えばイーサネット(登録商標)ルータ、光学ケーブル等を含む標準的なネットワークハードウェアおよびプロトコルが対応している。ネットワーク130はまた、企業の1個以上の箇所のコンピュータ装置(例:クライアント140(1)〜(N))を接続することにより、それらのクライアントからデータベースサーバ110への通信を提供することができる。
【0014】
図1に示すネットワークもまたウェブサーバ150に接続されている。ウェブサーバ150は、1個以上のアプリケーションオブジェクトに関連付けられたアプリケーションへのユーザーアクセスを提供することができる。ネットワーク130は、各々が別々のアプリケーションを提供する1個以上のウェブサーバ150、または同一アプリケーションを配信する多数のウェブサーバを備えていてよい。ウェブサーバ150は、データベースサーバ110と通信することにより、データベース120に保存されているデータにアクセスするアプリケーションオブジェクトモデルを提供する。ウェブサーバ150とデータベースサーバ110の間のそのような通信は、ウェブサーバ150およびデータベースサーバ110によりサービスされるアプリケーションオブジェクトにより共有されるアプリケーションプログラムインターフェース(API)を介したものであってよい。
【0015】
バックアップサーバ160がネットワーク130に接続されていて、ネットワーク130に保存されているデータのバックアップイメージを1個以上のバックアップストレージボリューム170に保存すべく構成されている。バックアップサーバ160は、バックアップ実行時におけるネットワーク上のデータのスナップショットを提供する各種のバックアップユーティリティを実行すべく構成することができる。バックアップサーバ160は例えば、データベースサーバ110を介してデータに直接アクセスすることによりデータベース120のバックアップを実行することができる。このように、データベース120の完全な一括バックアップは、データベース内に保存されている特定のデータ構造に関らず、データベースサーバのSQLインターフェースを介して実行することができる。あるいは、データベース120の特定の部分のバックアップを実行したい場合、バックアップサーバ160は関連付けられたアプリケーションのウェブサーバ150を介して特定のアプリケーションオブジェクトのデータにアクセスすることができる。このように、データベース120に保存されている特定のアプリケーションオブジェクトのきめ細かいバックアップを実行することができる。
【0016】
上述のように、きめ細かいバックアップを実行することの短所は、特定のアプリケーションに関連付けられたウェブサーバ150のリソースが費消される点である。このウェブサーバリソースの費消により、バックアップ実施中に、サービス提供されるアプリケーションへのアクセスが遅延または停止される恐れがある。データベースサーバ110を介して直接データベースのバックアップを実行することにより、ウェブサーバリソースの費消は避けられる。しかし、従来のバックアップスキームでは、特定のアプリケーションオブジェクトデータの復元はデータベース全体を復元し、次いで復元されたデータベースからデータを選択することによってしか実行できない。そのような復元および選択動作は、時間および物理リソース(例:完全に復元されたバックアップの保存に要するディスク容量)の両方を費消する。
【0017】
図2は、本発明の実施形態と連携して使用できるデータベース120内のオブジェクトレイアウトの例を示す概略ブロック図である。データベース120は、サイト(1)〜(P)とラベル付けされた1個以上のコンテナを含んでいる。各サイトは、特定のアプリケーションに関連付けられていてよい。各サイトは従って、サイトの特定のアプリケーションとの関連により定義される特徴の一意な組を有するアプリケーションオブジェクトである。サイトは、例えば、関連付けられたURL、一意な識別子、所有者識別子、関連付けられたセキュリティ情報、関連付けられたディスク割当ておよびディスク使用情報等を有していてよい。アプリケーションの性質に応じて、1個以上のサイトが特定のアプリケーションに関連付けられていてよい。
【0018】
サイトは他のコンテナに関連付けられていてよい。例えば、サイト(2)は2個のサブサイトコンテナ、すなわちサブサイト(2,1)およびサブサイト(2,2)を含んでいる。各々のサブサイトは、あるサイトについて上で述べたようにサブサイトを記述する関連情報を含んでいてよい。各々のサブサイトが親サイトに関連付けられているのに対し、サブサイト自身は互いに疎なオブジェクトである。
【0019】
サイトおよびサブサイトは更に、他のアプリケーションオブジェクトを含んでいてよい。そのようなアプリケーションオブジェクトの一例としてリストがあり、これもまたコンテナである。図2は、Listオブジェクト(例:リスト(1,1)およびリスト(1,2))が関連付けられているサイト(1)を示す。サブサイト(2,1)もまた、関連付けられたリスト(例:リスト(2,1,1)およびリスト(2,1,2))を有している。一方、サブサイト(2,2)は単一のリスト(例:リスト(2,2,1))を有する。Listオブジェクトはまた、例えば、リストが属するサイトの識別子、リストの名前、作成日時情報、セキュリティ情報、リストの種類(例:リスト内に保存されている情報の種類)等を含む情報に関連付けられていてよい。リストに直接関連付けられたそのような特徴に加え、リストはまた、リストを含むサイトおよび/またはサブサイトに関連付けられた特徴を継承することができる。従って、例えば、リストは当該リストが関連付けられているサイトに関連付けられたセキュリティ保護を得ることができる。
【0020】
図2に示すように、リストは関連付けられた項目またはデータオブジェクトを含んでいてよい。各リストは、特定の種類の項目に関連付けられていてよい。項目オブジェクトは、当該項目を特定のリストおよび/またはサイトに関連付けている識別子、当該項目を入力または修正したユーザーの識別子、当該項目に関連付けられたデータの型、および項目オブジェクトの値、等の関連付けられた特徴を有していてよい。項目はまた、当該項目が属するリストおよび/または当該項目が関連付けられているサイトあるいはサブサイトの特徴を継承することができる。
【0021】
リストと同様のコンテナがDocsオブジェクト(例:Docs(1,1))である。Docsコンテナは文書オブジェクトを含んでいて、任意の種類のファイルであってよい。また、文書はバージョン化することができ、すなわち文書の多くのバージョンをデータベースにより保持することができる。文書の現行バージョン以外の文書のバージョンを例えばDocVersionsオブジェクト(例:DocVersions(1,1))に保持することができる。同様に、List項目をバージョン化することができる(例:項目が変更される都度、対応するバージョンテーブルに項目の以前のバージョンが保持される)。
【0022】
データベース120は、コンテナおよびそれらに関連付けられたデータだけでなく、コンテナおよびそれらに関連付けられたデータ、およびそれらの相互関係のメタデータ記述を保存することができる。データベース120はそのようなメタデータを、リスト、項目、サイト、およびサブサイト等関連付けられたテーブルに保存することができる。実際、データベース120内に保存されている各々の種類のアプリケーションオブジェクトについて別々のメタデータテーブルを提供することができる。
【0023】
上述のデータベースを使用するシステムの例としてMicrosoft(登録商標)社のSharePoint(登録商標)アプリケーションがある。本発明の実施形態がSharePoint(登録商標)データベースとの連携利用に限定されないが、本発明の実施形態はSharePoint(登録商標)データベースと共に使用可能であって、SharePoint(登録商標)の用語を用いて以下に例を挙げる。そのような用語の使用が本発明の限定を意図するものではなく、本発明の実施形態がデータベース環境においてデータをオブジェクトに保存する各種アプリケーションと共に使用できる点を理解されたい。
【0024】
サイト、サブサイト、リスト、および項目の間の関係が階層的な関係である点に更に注意されたい。上述のように、アプリケーションオブジェクト内の子オブジェクトの階層が親オブジェクトの特徴を継承できる。更に、上で述べたコンテナの例えを用いれば、リスト等の子コンテナオブジェクトは親サブサイトまたはサイト内に含まれる。従って、子オブジェクトをターゲットデータベースに復元するためには、子オブジェクトが正しく且つ完全に復元されるために既に復元されてない親オブジェクトを最初にターゲットデータベース内に復元しなければならない。これにより、階層内で子が正しく配置されると共に、子の親オブジェクトから特徴を継承することができる。
【0025】
図3は、本発明の実施形態によるバックアップ処理を示す概略フロー図である。バックアップサーバ160は、データベース120のバックアップを実行する旨のリクエストを受信することができる(310)。この時点で2個の処理が開始される。これらの処理は並列に実行されても、またはデータベース120の構造が同じである程度に充分近い時間をおいて順次実行されてもよい。データベースの一括バックアップを実行する(320)。そのようなバックアップは、バックアップ時における当該データベースに関連する全ての情報を含むデータベース120のスナップショットであってよい。一括バックアップは、バックアップサーバとデータベースサーバの間の直接対話を利用して実行される。バックアップは、例えばウェブサーバ150が与えるアプリケーションオブジェクトモデルを用いて実行されるのではない。
【0026】
また、メタデータテーブル情報についてデータベース120に問い合わせることができる(330)。メタデータテーブル情報には、データベース120内の各種のオブジェクト構造の特徴を含むテーブルに関する情報を含んでいる。求められているテーブル情報には例えば、テーブルの索引、データベース内でのテーブルのオフセット(例:テーブルの位置)、テーブルの名前、およびテーブルの構造が含まれていてよい。このように、データベース120内の関心対象オブジェクトを記述する各テーブルを識別および特定する情報が集められる。
【0027】
本発明の実施形態は、復元動作の際にテーブルにアクセス可能なように上記のメタデータテーブル情報を集める。従って、そのようなメタデータテーブルアクセスを可能にすべく充分な情報が集められるが、テーブル自体に実際に保存されている情報は対象外である。メタデータテーブル情報が集められたならば、メタデータテーブル情報を保存することができる(340)。そのような保存方式は、例えばテーブルのリスト形式であってよい。メタデータテーブル情報のそのようなアクセスおよび保存を実行できるユーティリティの例として係属中の米国特許出願第11/960,309号明細書「Techniques for Recovery of Application Level Objects」に記述されており、その開示内容は全て本明細書に引用している。
【0028】
バックアップが完了してメタデータテーブル情報が保存されたならば、メタデータテーブル情報をデータベースのバックアップに関連付ける(350)。そのような関連付けにより、復元動作中であってもメタデータテーブル情報が保存されたリストへのアクセスが可能になる。
【0029】
図4は、本発明の実施形態による、バックアップされたデータベースから復元するオブジェクトを選択する方法を示す概略フロー図である。特定のバックアップからアプリケーションオブジェクト情報を復元する旨のユーザーリクエストに応答して、復元ユーティリティは、指定されたバックアップに関連付けられたメタデータテーブル情報を読み込んで当該バックアップ内のアプリケーションオブジェクトを記述するテーブルの位置および構造を決定することができる(410)。復元ユーティリティは次いで、メタデータテーブル情報を用いて各種のコンテナに関連付けられたテーブルデータをバックアップから直接読み込むことができる(415)。復元ユーティリティが、各々のコンテナおよび当該コンテナに関連付けられた項目を調べる際に、テーブル内に記載された現行オブジェクトがバージョン化されているか否かを判定する(420)。すなわち、バックアップ時点でバックアップされたデータベースが現行オブジェクトの複数のバージョンを保存したか否かを判定する。例えばMicrosoft(登録商標)社のSharePoint(登録商標)環境において、List項目およびDocsをバージョン化することができる。現行オブジェクトがバージョン化されている場合、メタデータテーブル情報を用いて現行コンテナに関連付けられたバージョンテーブルを特定して読み込む(425)。復元ユーティリティは次いで、現行オブジェクトに対応するバージョン化されたオブジェクトのリストをキャッシュする(430)。
【0030】
現行オブジェクトのバージョン化されたオブジェクトのリストをキャッシュしたか、または現行オブジェクトがバージョン化されないと判定した後で、現行オブジェクトが現行コンテナ内の最後のオブジェクトであるか否かを判定することができる(435)。現行オブジェクトが現行コンテナ内の最後のオブジェクトでない場合、復元ユーティリティは現行コンテナ内の次のオブジェクトへ進み、バージョン化判定処理を繰り返す(440)。コンテナ内のオブジェクトの検査が完了したならば、キャッシュされたバージョンのオブジェクトはそれらの対応する現行オブジェクトに昇順で関連付けられる(445)。バージョン化されたオブジェクトは以下により詳細に述べるように、選択された場合にそれらのバージョン化されたオブジェクトが適切な順序で復元できるように昇順でキャッシュ内にリストされる。バージョン化されたオブジェクトを昇順に並べる動作は、キャッシングを行う間(430)、または現行オブジェクトとの関連付けを行う間(445)に生起し得ることに注意されたい。
【0031】
次いで、最後のコンテナを調べたか否かを判定し(450)、そうでなければ復元処理は次のコンテナへ進んで(455)、上述の処理を繰り返す。バックアップ内の全てのコンテナに関連するテーブルが読み込まれたならば、当該データを解釈してデータベースのバックアップ内におけるアプリケーションオブジェクトの階層を決定することができる(460)。次いで、解釈されたオブジェクトの階層をユーザーに提示することができる(470)。バージョン化されたオブジェクトの場合、階層的リストは、オブジェクトの現行バージョンを示すことができ、関連付けられたバージョン化されたオブジェクトの昇順リストがこれに最初に続く。ユーザーは次いで、ユーザーが復元したいオブジェクトを決定すべく提示されたオブジェクトの階層を確認することができる。ユーザーは、階層の任意のレベルで1個以上のオブジェクトを選択することができる。バージョン化されたオブジェクトの場合、ユーザーはバージョン化されたオブジェクトのバージョンの全てまたは任意のものを選択して復元することができる。
【0032】
図5は、本発明の実施形態による、図4の動作により提供された選択されたオブジェクトのデータベース復元動作を示す概略フロー図である。ユーザーが所望のオブジェクトを復元するために選択したならば、復元ユーティリティはオブジェクトの選択結果を受信する(510)。この時点で、復元ユーティリティは、各々の階層内で選択されたオブジェクトの復元に必要な全てのオブジェクトを復元する。例えば、Listオブジェクトが選択されている場合、Listオブジェクトが関連付けられている任意のサイトまたは下位Siteオブジェクトもまた復元動作を施される。上述のように、これはListオブジェクトがSiteオブジェクトの子として親オブジェクトの特定の特徴を継承するためである。従って、復元ユーティリティは、階層を復元するための一連のステップを実行する。
【0033】
選択されたオブジェクトの復元に必要な階層内の最上位オブジェクトが復元される最初のオブジェクトとなる(515)。復元ユーティリティは復元対象オブジェクトに関連するバックアップからメタデータテーブルデータを読み込む(520)。再び、復元対象オブジェクトに関連付けられた適切なメタデータテーブルまたはテーブル群の特定に必要な情報は、バックアップに関連付けられたメタデータテーブル情報から得られる。次いで、ターゲットデータベースに復元対象オブジェクトのバージョンが既に存在するか否かを判定する(530)。復元対象オブジェクトのバージョンが既にターゲットデータベースに存在する場合、ターゲットデータベースに存在する復元対象オブジェクトの現行バージョンをターゲットデータベース内の対応するバージョンテーブルへ移動する(535)。復元対象オブジェクトは次いで、バックアップから読み込んだテーブルデータを用いて、当該オブジェクトの現行バージョンとしてターゲットデータベースに復元することができる(540)。
【0034】
復元対象オブジェクトのバージョンがターゲットデータベースに既に存在しない場合、復元対象オブジェクト自身が既にターゲットデータベースに存在するか否かを判定する(545)。復元対象オブジェクトが既にターゲットデータベースに存在しない場合、バックアップから読み込まれたテーブルデータを用いてターゲットデータベース内に復元対象オブジェクトを作成する(550)。復元対象オブジェクトの復元は、例えばウェブサーバ150のサービスを受けるアプリケーションオブジェクトモデルにオブジェクト関連情報を提供することにより実行できる。アプリケーションオブジェクトモデルを用いてターゲットデータベース内に復元対象オブジェクトを生成することにより、オブジェクト構造とそれらに関連付けられたアプリケーションの整合性が保証される。あるいは、復元対象オブジェクトがListまたはDoc項目等のデータである場合、そのようなオブジェクトを例えばデータベースサーバ110上のSQL命令により直接復元することができる。
【0035】
ターゲットデータベース内におけるオブジェクトの作成、バージョン化された文書に関連付けられた復元動作の実行、またはオブジェクトが既に復元されているか否かの判定に続いて、復元対象オブジェクトが、ユーザーが復元すべく選択されたオブジェクトに等しいか否かを判定する(555)。復元対象オブジェクトがユーザーにより選択されたオブジェクトではない場合、選択されたオブジェクトの復元に必要な階層内の次のオブジェクトである次の復元対象オブジェクトが選択される(560)。次いで、処理は再び、新規の復元対象オブジェクトに関連するバックアップからテーブルデータを読み込むステップに戻り(520)、上述のように当該処理が繰り返される。
【0036】
復元対象オブジェクトがユーザーにより選択されたオブジェクトである場合(555)、選択されたオブジェクトがユーザーにより最後に選択されたオブジェクトであるか否かを判定する(565)。すなわち、ユーザーにより選択された各オブジェクトが現在復元済みであるか否かを判定する。そうでない場合、次に選択されたオブジェクトが復元対象とされて、次に選択されたオブジェクトの復元に必要な階層内の最上位オブジェクトの決定に処理が戻り(515)、上述のように当該処理が繰り返される。選択されたオブジェクトがユーザーにより最後に選択されたオブジェクトである場合(565)、復元プロセスは完了している。
【0037】
上述の復元方法を用いて、バックアップされたデータベース内の選択されたオブジェクトをサポートするのに必要な階層全体をターゲットデータベースに復元することができる。また、当該オブジェクトの全ての特徴は、リクエストされたオブジェクトの記述に必要な特徴を含むデータベースのバックアップ内の保存されたテーブルにアクセスすることにより復元される。ターゲットデータベース内でオブジェクトを作成する必要がある場合(例:ステップ550)、復元ユーティリティは、当該オブジェクトに関連付けられたアプリケーションウェブサーバ150にアクセスして、バックアップテーブルから取り出した特徴情報を用いてターゲットデータベース内にオブジェクトを作成することができる。このように、アプリケーションがオブジェクトにアクセスするために必要な構造は、アプリケーションオブジェクトモデルにより自動的に作成することができ、同時に、オブジェクトを記述する必要な特徴情報がバックアップから提供される。
【0038】
そのような復元技術を用いて、バックアップされたデータベース内の関連付けられたコンテナと同じ特徴を有するターゲットデータベース内にコンテナを作成することができる。ユーザーは従って、バックアップされたデータベースの同一であるが、バックアップされたデータベースに保存されているもの以外のデータについても利用可能であるターゲットデータベース内に構造を作成することができる。すなわち、バックアップされたデータベースは、ターゲットデータベースのテンプレートとして機能する。データはまた、バックアップされたデータベースからターゲットデータベースに復元することもできる。ターゲットデータベース内に適切なコンテナが構成されたならば、ターゲットデータベース内の適切な構造にデータをより高速且つ効率的に復元すべく、必要に応じて、データベースサーバとバックアップサーバの間でデータベースサーバへの直接アクセスを行うことができる。
【0039】
復元ユーティリティが、そのようなオブジェクトがSharePoint(登録商標)により扱われる仕方と整合するようにバージョン化されたオブジェクトを復元する。すなわち、ユーザーが復元対象オブジェクトのバージョンを選択したならば、選択されたバージョンが当該オブジェクトの現行バージョンとして復元される。ターゲットデータベース内に当該オブジェクトの現行バージョンが既に存在する場合、当該バージョンをバージョンテーブルへ移動して復元されたバージョンにより代替する。あるいは、ユーザーが復元するオブジェクトの全てのバージョンを選択した場合、復元ユーティリティは、復元対象オブジェクトの各バージョンを昇順で調べることにより(例:ステップ445において)、バージョン化テーブルのバージョン「スタック」内の適当な位置に各オブジェクトを配置して、ターゲットデータベースへ復元されたならばバックアップされた現行バージョンを現行バージョンとして保持する。
【0040】
図5および関連する記述は、バックアップされたデータベースからターゲットデータベースへオブジェクトを保存する例を示しているが、本発明の実施形態がデータベースへのオブジェクトの復元に限定されない点に注意されたい。バックアップされたデータベースは、文書項目を含むオブジェクト(例:SharePoint(登録商標)データベース内のDocsテーブル)を含んでいてよい。バックアップされたデータベースの階層構造は、バックアップされたデータベースのオブジェクトから提供される名前および識別子を用いて、ファイルシステム内のディレクトリ構造として再構成することができる。次いで文書項目は、ターゲットデータベース内ではなく、ディレクトリ構造内へ直接復元することができる。
【0041】
コンピューティングおよびネットワーク環境の例
上述のように、本発明は各種のコンピュータシステムおよびネットワークを用いて実装することができる。そのようなコンピューティングおよびネットワーク環境の一例について図6、7を参照しながら以下に述べる。
【0042】
図6に、本発明の態様の実装に適したコンピュータシステム610(例:クライアント140、バックアップサーバ160、データベースサーバ110、およびウェブサーバ150)のブロック図を示す。コンピュータシステム610は、中央処理装置614、システムメモリ617(通常はRAMであるが、ROM、フラッシュRAM、等を含んでいてよい)、入出力コントローラ618、音声出力インターフェース622を介したスピーカーシステム620等の外部音声装置、ディスプレイアダプタ626を介したディスプレイ画面624等の外部装置、シリアルポート628および630、キーボード632(キーボードコントローラ633とのインターフェースを有する)、ストレージインターフェース634、フロッピー(登録商標)ディスク638を受容すべく動作可能なフロッピー(登録商標)ディスクドライブ637、ファイバーチャネルネットワーク690に接続すべく動作可能なホストバスアダプタ(HBA)インターフェースカード635A、SCSIバス639に接続すべく動作可能なホストバスアダプタ(HBA)インターフェースカード635B、および光ディスク642を受容すべく動作可能な光ディスクドライブ640等、コンピュータシステム610の主要なサブシステムを相互接続するバス612を含んでいる。マウス646(またはシリアルポート628を介してバス612に接続されている他のポイントアンドクリック装置)、モデム647(シリアルポート630を介してバス612に接続されている)、およびネットワークインターフェース648(バス612に直接接続されている)も含まれている。
【0043】
バス612は、中央処理装置614と、上述のように読出し専用メモリ(ROM)またはフラッシュメモリ(共に図示せず)、およびランダムアクセスメモリ(RAM)(図示せず)を含むシステムメモリ617との間のデータ通信を可能にする。RAMは一般に、オペレーティングシステムおよびアプリケーションプログラムがロードされる主メモリである。ROMまたはフラッシュメモリは、他のコードと共に、周辺装置との対話等の基本ハードウェア動作を制御する基本入出力システム(BIOS)を含んでいてよい。コンピュータシステム610に常駐するアプリケーションは一般に、ハードディスクドライブ(例:固定ディスク644)、光ドライブ(例:光ドライブ640)、フロッピー(登録商標)ディスクドライブ637その他の記録媒体等のコンピュータ可読媒体に保存されてアクセスされる。アプリケーションはまた、ネットワークモデム647またはインターフェース648を介してアクセスされた際にアプリケーションおよびデータ通信技術に従い変調された電子信号の形式であってよい。
【0044】
ストレージインターフェース634は、コンピュータシステム610の他のストレージインターフェースと同様に、情報を保存および/または取得すべく固定ディスクドライブ644等の標準的なコンピュータ可読媒体に接続することができる。固定ディスクドライブ644は、コンピュータシステム610の一部であっても、または別々であって他のインターフェースシステムによりアクセスされてもよい。モデム647は、電話線を介してリモートサーバへの、またはインターネットサービスプロバイダ(ISP)を介してインターネットへの直接接続を提供することができる。ネットワークインターフェース648は、POP(point of presence)を介したインターネットへの直接ネットワーク接続を介してリモートサーバへの直接接続を提供することができる。ネットワークインターフェース648は、デジタルセルラー電話接続、セルラーデジタルパケットデータ(CDPD)接続、デジタル衛星データ接続等を含む無線技術を用いてそのような接続を提供することができる。
【0045】
他の多くの装置またはサブシステム(図示せず)も同様の方法(例:文書スキャナ、デジタルカメラ等)で接続することができる。逆に、図6に示す装置の全てが本発明の実施に必要である訳ではない。これらの装置およびサブシステムは、図6に示すものとは異なる方法で相互接続することができる。図6に示すようなコンピュータシステムの動作は当分野では公知であるため本出願では詳述しない。本発明を実装するコードは、システムメモリ617、固定ディスク644、光ディスク642、またはフロッピー(登録商標)ディスク638のうち1個以上のコンピュータ可読な記録媒体に保存することができる。コンピュータシステム610に提供されるオペレーティングシステムは、MS−DOS(登録商標)、MS−WINDOWS(登録商標)、OS/2(登録商標)、UNIX(登録商標)、Linux(登録商標)、または他の公知のオペレーティングシステムであってよい。
【0046】
更に、本明細書に記述する信号に関して、当業者には信号を第1のブロックから第2のブロックへ直接送信できるかまたは信号をブロック間で変更(例:増幅、減衰、遅延、ラッチ、バッファリング、反転、フィルタリング、または別途変更)できることが理解されよう。上述の実施形態の信号は、あるブロックから次のブロックへ送信されるように特徴付けられているが、本発明の他の実施形態において、信号の情報および/または機能態様がブロック間で送信される限りそのように直接送信された信号ではなく変更された信号を含んでいてよい。第2のブロックに入力された信号は、ある程度、関与する回路の物理的制約(例:必然的に若干の減衰および遅延が生じ得る)のために第1のブロックから出力された第1の信号から導かれた第2の信号として概念化できる。従って、本明細書で用いるように、回路制約に起因するかまたは第1の信号の情報および/または最終的な機能態様を変えない他の回路要素を通過したことに起因するかに関らず、第1の信号から導かれた第2の信号は第1の信号または第1の信号に加えられた任意の変更を含んでいる。
【0047】
図7は、クライアントシステム710、720および730、並びにストレージサーバ740A、740B(いずれかもコンピュータシステム610を用いて実装可能)がネットワーク750に接続されているネットワークアーキテクチャ700を示すブロック図である。ストレージサーバ740Aは更に記憶装置760A(1)〜(N)が直接取り付けられている状態で表されており、ストレージサーバ740Bは記憶装置760B(1)〜(N)が直接取り付けられている状態で表されている。ストレージサーバ740A、740Bはまた、SANファブリック770に接続しているが、ストレージエリアネットワークへの接続は本発明の動作には必須ではない。SANファブリック770はストレージサーバ740A、740Bにより、且つネットワーク750を介してクライアントシステム710、720および730により、記憶装置780(1)〜(N)へのアクセスを支援する。SANファブリック770を介してアクセス可能な特定の記憶装置の例としてインテリジェントストレージアレイ790も示す。
【0048】
コンピュータシステム610に関して、モデム647、ネットワークインターフェース648または他の何らかの方法を用いて、クライアントシステム710、720および730の各々からネットワーク750への接続を提供することができる。クライアントシステム710、720および730は、例えばウェブブラウザその他のクライアントソフトウェア(図示せず)を用いてストレージサーバ740Aまたは740Bに関する情報にアクセスすることが可能である。そのようなクライアントにより、クライアントシステム710、720および730が、ストレージサーバ740Aまたは740B、または記憶装置760A(1)〜(N)、760B(1)〜(N)、780(1)〜(N)の1個、あるいはインテリジェントストレージアレイ790によりホスティングされているデータにアクセスができる。図7は、データをやり取りするインターネット等のネットワークの利用を示すが、本発明はインターネットまたは何らかの特定のネットワーク利用環境に限定されない。
【0049】
他の実施形態
本発明は、上述の利点および他の固有の利点を実現するのに良く適している。本発明の特定の実施形態を参照することにより、本発明を図示、記述、および定義しているが、そのような参照は本発明を限定するものではなく、そのような限定を示唆するものでもない。本発明は当業者に想起されるように、形式および機能面で大幅な変更、変形、および等価物の実施が可能である。図示および記述されている実施形態は例に過ぎず、本発明の範囲を網羅していない。
【0050】
上の記述は、他の構成要素(例:コンピュータシステム610の構成要素として示す各種要素)内に含まれる構成要素を含む実施形態を記述している。そのようなアーキテクチャは単に例に過ぎず、実際、同一機能を実現する他の多くのアーキテクチャを実装することができる。抽象的ながら明確な意味において、同一機能を実現する要素の任意の構成が、所望の機能性が実現されるように、事実上「関連付けられている」。従って、本明細書において特定の機能を実現すべく組み合わされた任意の2個の構成要素は、アーキテクチャまたは中間の構成要素に関らず、所望の機能が実現されるように互いに「関連付けられている」ものと見なすことができる。同様に、そのように関連付けられた任意の2個の構成要素もまた、所望の機能を実現すべく互いに「動作可能に接続されている」または「動作可能に結合されている」ものと見なすことができる。
【0051】
上の詳細な記述は、ブロック図、フロー図および例を用いて本発明の各種実施形態を開示している。例を用いて示す各ブロック図の構成要素、フロー図のステップ、動作および/または構成要素が、広範なハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにより個別および/または集合的に実装可能であることが当業者には理解されよう。例えば、上述の機能ブロックの1個以上に関連付けられた機能を実装するために特定の電子部品を特定用途向け集積回路または類似あるいは関連回路で使用できる。
【0052】
本発明について、完全に機能的なコンピュータシステムの文脈で記述してきた。しかし、当業者には本発明が各種形式のプログラム製品として配布でき、本発明がそのような配布を実際に行うために用いる特定の信号搬送媒体の種類によらず同等に適用できることが理解されよう。信号搬送媒体の例として、コンピュータ可読な記録媒体、デジタルおよびアナログ通信接続等の送信型媒体、並びに将来開発される媒体記憶および配信システムが含まれる。
【0053】
上述の実施形態は、特定のタスクを実行するソフトウエアモジュールにより実装することができる。本明細書で議論したソフトウエアモジュールは、スクリプト、バッチ、または他の実行可能ファイルを含んでいてよい。本明細書で議論したソフトウエアモジュールは更に、そのような命令を実行すべく構成されたプロセッサにより、実行可能な1個以上の命令の組を含んでいてよい。ソフトウエアモジュールは、磁気フロッピー(登録商標)ディスク、ハードディスク、半導体メモリ(例:RAM、ROMおよびフラッシュ型媒体)、光ディスク(例:CD−ROM、CD−R、およびDVD)、または他の種類のメモリモジュール等、機械可読またはコンピュータ可読な記録媒体に保存することができる。本発明の実施形態に従いファームウェアまたはハードウェアモジュールを保存すべく使用される記憶装置はまた、マイクロプロセッサ/メモリシステムに永久に、着脱自在に、または遠隔的に接続可能な半導体利用メモリを含んでいてよい。従って、これらのモジュールは、モジュールの機能を実行するようにコンピュータシステムを構成すべくコンピュータシステムメモリ内に保存することができる。他の新規且つ各種のコンピュータ可読な記録媒体を用いて本明細書で議論したモジュールを保存してもよい。
【0054】
上の記述は、本発明を例示することを目的としており、本発明を限定するものと考えてはならない。本発明の範囲内の他の実施形態も可能である。当業者であれば、本明細書に開示した構造および方法を実施するのに必要なステップを容易に実装することができ、ステップの処理パラメータおよびシーケンスは単なる例として与えられており、所望の構造並びに本発明の範囲内に含まれる変更を実現するために変更可能である点を理解されよう。本明細書に開示した実施形態の変形および変更は、本発明の範囲を逸脱することなく本明細書に開示した記述に基づいて実施することができる。
【0055】
従って、本発明は、あらゆる点において等価物を完全な認識した上で添付の請求の範囲だけに制約されることを意図している。
【0056】
本発明はいくつかの実施形態との関連で記述されているが、本明細書に開示した特定の形式に本発明を限定することは意図していない。むしろ、添付の請求の範囲に規定されるように、そのような変形、変更、および等価物が必然的に本発明の範囲に含まれるものとする。
図1
図2
図3
図4
図5
図6
図7