(57)【特許請求の範囲】
【請求項１】
情報を再利用する方法であって、前記方法は、
a)第一のデータベースからドキュメントを、コンピュータが、取り出すステップと、
b)取り出された前記ドキュメントに含まれ、前記ドキュメント内のフラグメントを定義するレポートドキュメントフォーマットのステートメントを考慮して、前記ドキュメント内の前記フラグメントを、前記コンピュータが、識別するステップと、
c)前記フラグメントと関連付けられたメタデータを、前記コンピュータが、生成するステップと、
d)前記フラグメントと関連付けられ前記メタデータから成る記録を第二のデータベースに、前記コンピュータが、格納するステップであって、前記記録は、複数のフラグメント要素から成り、前記フラグメント要素は、データベースを識別するデータソース識別子と、前記データベースからデータを取り出すためのクエリを含むデータ指定と、前記データベースから取り出されたデータがどのように表示され、フォーマットされるかを指定するプレゼンテーションフォーマットとを含む、前記格納するステップと、
e)前記メタデータに対するサーチクエリの比較の結果として、前記第二のデータベース内の前記フラグメントを、前記コンピュータが、識別するステップと、
f)第二のドキュメント内に前記フラグメントを、前記コンピュータが、挿入するステップと
を備え、
前記フラグメントのメタデータはさらに、前記フラグメントが依存する他のフラグメントを指定するフラグメント依存性データを含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記メタデータは、ユーザー指定のメタデータ又はセマンティックメタデータのうちの少なくとも一つを含むことを特徴とする方法。
【請求項３】
請求項２に記載の方法において、前記メタデータはさらに、フラグメント型の情報、ユーザー指定の記述的情報、前記ドキュメントからパースされた値、又はＡＰＩを用いて前記ドキュメントから得た値のうちの少なくとも一つを含むことを特徴とする方法。
【請求項４】
請求項３に記載の方法において、前記記録は、前記フラグメントの要素、及び前記フラグメントと関連付けられた前記メタデータから成ることを特徴とする方法。
【請求項５】
情報を提供する方法であって、前記方法は、
a)ドキュメントを、コンピュータが、提供するステップと、
b)複数のフラグメントの中から一つのフラグメントを求めて第一のデータベースを、前記コンピュータが、検索するステップであって、前記第一のデータベースは前記フラグメントに前記フラグメントのそれぞれと関連付けられたメタデータを用いて索引づけするステップと、
c)前記ドキュメント内で前記フラグメントの要素を定義するレポートドキュメントフォーマットのステートメントに基づき、前記フラグメントを前記ドキュメントに、前記コンピュータが、挿入するステップであって、前記フラグメントの前記要素は、、データベースを識別するデータソース識別子と、前記データベースからデータを取り出すためのクエリを含むデータ指定と、前記データベースから取り出されたデータがどのように表示され、フォーマットされるかを指定するプレゼンテーションフォーマットとを含む、前記挿入するステップと、
d)前記ドキュメントを第二のデータベースに、前記コンピュータが、保存するステップと
を備え、
前記フラグメントのメタデータはさらに、前記フラグメントが依存する他のフラグメントを指定するフラグメント依存性データを含むことを特徴とする方法。
【請求項６】
請求項５に記載の方法において、前記メタデータは、ユーザー指定のメタデータ又はセマンティックメタデータのうちの少なくとも一つを含むことを特徴とする方法。
【請求項７】
請求項６に記載の方法において、前記メタデータはさらに、フラグメント型の情報、ユーザー指定の記述的情報、前記ドキュメントからパースされた値、又はＡＰＩを用いて前記ドキュメントから得た値のうちの少なくとも一つを含むことを特徴とする方法。
【請求項８】
請求項７に記載の方法において、前記データベースは複数の記録から成り、前記記録のうちの一つは前記フラグメントの要素及び前記フラグメントと関連付けられた前記メタデータから成ることを特徴とする方法。
【請求項９】
１つ又は複数のデータソースからのデータが存在するレポートドキュメントを、再利用する情報に基づき、作成及び編集するシステムであって、前記システムは、
a)第一のデータベースからドキュメントを取り出す手段と、
b)取り出された前記ドキュメントに含まれ、前記ドキュメント内のフラグメントを定義するレポートドキュメントフォーマットのステートメントを考慮して、前記ドキュメント内の前記フラグメントを識別する手段と、
c)メタデータを前記フラグメントと関連付ける手段と、
d)前記フラグメントと関連付けられ前記メタデータから成る記録を前記第一のデータベース又は第二のデータベースに格納する手段であって、前記記録はさらに、前記フラグメントの複数の要素から成り、前記フラグメントの要素は、データベースを識別するデータソース識別子、前記データベースからデータを取り出すためのクエリを含むデータ指定、及び前記データベースから取り出されたデータがどのように表示され、フォーマットされるかを指定するプレゼンテーションフォーマットを少なくとも含む、前記格納する手段と、
e)前記フラグメントと関連付けられた前記記録を求めて前記第一のデータベース又は前記第二のデータベースを検索する手段であって、前記第一のデータベース又は前記第二のデータベースは、前記メタデータを用いて前記記録を索引付けする、前記検索する手段と、
f)前記レポートドキュメントフォーマットの前記ステートメントに基づき、前記フラグメントを第二のドキュメントに挿入する手段と
を備え、
前記フラグメントのメタデータはさらに、前記フラグメントが依存する他のフラグメントを指定するフラグメント依存性データを含むことを特徴とするシステム。
【請求項１０】
請求項９に記載のシステムにおいて、前記挿入の手段は、
f.1)前記フラグメントが第二のフラグメントへの依存性を持つか、前記フラグメント依存性データに基づいて判定する手段と、
f.2)前記第二のフラグメントが前記ドキュメント内にあるか判定する手段と、
f.3)前記ドキュメントに挿入のため、前記第二のフラグメントを位置づけする手段と
から成ることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は情報技術システムに関連し、データを取り出して提示するものであって、より詳細には、１個又は複数のデータベースから選択されたデータを、レポート、テーブル、グラフ、チャート、又は他のプレゼンテーションフォーマットの形式で、提示するものである。
【背景技術】
【０００２】
データの効率的な管理は、ほとんどのビジネスにおいて、重要な職務となっている。多くの会社が、会社と関係する情報を有する１個又は複数のデータベースを保持する。入手可能なコンピュータソフトウェアツールは、データベースからのデータが、取り出されて様々な方法で提示されることを許可する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国公開特許第２００６００４１５８９号明細書（Ｈｅｌｆｍａｎ他）「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｃｌｉｐｐｉｎｇ，Ｒｅｐｕｒｐｏｓｉｎｇ，ａｎｄ  Ａｕｇｍｅｎｔｉｎｇ  Ｄｏｃｕｍｅｎｔ  Ｃｏｎｔｅｎｔ」
【特許文献２】米国公開特許第２００５０１７１９６５号明細書（Ｆｕｊｉｍｏｔｏ他）「Ｃｏｎｔｅｎｔｓ  Ｒｅｕｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｃｏｎｔｅｎｔｓ  Ｒｅｕｓｅ  Ｓｕｐｐｏｒｔ  Ａｐｐａｒａｔｕｓ」
【特許文献３】米国公開特許第２００５０１０８６１９号明細書（Ｔｈｅａｌｌ他）「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ」
【特許文献４】米国公開特許第２００５０１３１９０３号明細書（Ｍａｒｇｏｌｕｓ他）「Ｄａｔａ  Ｒｅｐｏｓｉｔｏｒｙ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｐｒｏｍｏｔｉｎｇ  Ｎｅｔｗｏｒｋ  Ｓｔｏｒａｇｅ  ｏｆ  Ｄａｔａ」
【特許文献５】米国公開特許第２００３００４６２８２号明細書（Ｃａｒｉｓｏｎ他）「Ｍａｎａｇｉｎｇ  Ｒｅｕｓａｂｌｅ  Ｓｏｆｔｗａｒｅ  Ａｓｓｅｔｓ」
【特許文献６】米国公開特許第２００３０２０４４８７号明細書（Ｓｓｓｖ他）「Ａ  Ｓｙｓｔｅｍ  ｏｆ  Ｒｅｕｓａｂｌｅ  Ｃｏｍｐｏｎｅｎｔｓ  ｆｏｒ  Ｉｍｐｌｅｍｅｎｔｉｎｇ  Ｄａｔａ  Ｗａｒｅｈｏｕｓｉｎｇ  ａｎｄ  Ｂｕｓｉｎｅｓｓ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  Ｓｏｌｕｔｉｏｎｓ」
【発明の概要】
【発明が解決しようとする課題】
【０００４】
これらのツールは、
(a)それらは、専門的ではないコンピュータユーザーが、データベースに精通しているＩＴ人間からの手助けなしに完了することができないよう、レポートドキュメントの設計プロセスを難解にする。
(b)それらは、全体のドキュメントを共有すること、又は再利用することを容易にするだけである。
等の多くの共通した欠点に悩まされる。例えば、それらはユーザーに要求して、ドキュメントの同じサブパートを繰り返し再作成することができる。
【発明の効果】
【０００５】
関係ある技術の前述の例、それに加え関係する制限は、実例的及び非排他的であることを意図される。明細書を読むこと及び図面の学習の上、関係ある技術の他の制限が、これらの技術に対して、技術的に、明らかになるだろう。
【０００６】
以下で実施形態及び実施態様について、システム、ツール及び方法と併せて、解説及び説明されており、これらは典型的及び実例的であることを意図されており、範囲を限定しない。他の実施形態は他の改良を目的とするが、様々な実施形態で、１個又は複数の上述の問題が減らされ、又は取り除かれた。
【０００７】
図面の参照された図で実施形態例が示される。ここで開示される実施形態及び図は、限定的というよりむしろ実例的と考えられることが意図される。
【図面の簡単な説明】
【０００８】
【図１】本発明のある実例的な実施形態による装置のブロック図である。
【図２】フラグメント内に存在してよい、又はフラグメントにより参照されてよい情報を示す概念図である。
【図３】本発明の一実施例による方法例を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
本発明の一実施態様は、情報を再利用する方法を提供し、前記方法は、第一のデータベースからドキュメントを取り出すステップと、ドキュメント内部でフラグメントを識別するステップと、フラグメントと関連付けられたメタデータを生成するステップと、フラグメント及びメタデータと関連付けられた記録を第二のデータベースに格納するステップを含み、第二のデータベースは、第二のドキュメントへの前記フラグメントの挿入のために、フラグメントを検索可能である。
【００１０】
メタデータは、ユーザー指定のメタデータ、又はセマンティックメタデータを含むことができ、フラグメント型の情報、ユーザー指定の記述的情報、前記ドキュメントからパースされた値、又はＡＰＩを用いて前記ドキュメントから得た値を含むことができる。記録は、フラグメントの要素及び前記フラグメントと関連付けられたメタデータを含むことができる。フラグメントの要素は、データソース識別子、データ指定及びプレゼンテーションフォーマットを含むことができる。フラグメントのメタデータは、トップレベル依存性と関連付けられるか又はフラグメントのサブ要素内の依存性と関連付けられる、フラグメント依存性データを含むことができる。
【００１１】
本発明のもう一つの実施態様は、情報を提供する方法を提供し、前記方法は、ドキュメントを提供するステップと、複数のフラグメントの中から１個のフラグメントを求めてデータベースを検索するステップと、データベースがフラグメントのそれぞれと関連付けられたメタデータを用いてフラグメントに索引づけするステップと、前記ドキュメントにフラグメントを挿入するステップ、及び第二のデータベースにドキュメントを保存するステップを含む。メタデータはユーザー指定のメタデータ、又はセマンティックメタデータを含むことができ、フラグメント型の情報、ユーザー指定の記述的情報、前記ドキュメントからパースされた値、又はＡＰＩを用いて前記ドキュメントから得た値を含むことができる。記録は、フラグメントの要素及び前記フラグメントと関連付けられたメタデータを含むことができる。フラグメントの要素は、データソース識別子、データ指定及びプレゼンテーションフォーマットを含むことができる。フラグメントのメタデータは、トップレベル依存性と関連付けられるか又はフラグメントのサブ要素内の依存性と関連付けられる、フラグメント依存性データを含んでよい。
【００１２】
本発明のもう一つの実施態様は、ユーザーによって編集可能なドキュメントを提供し、前記ドキュメントは、ドキュメントが編集されるときにフラグメントが識別されメタデータがフラグメントと関連付けられるフラグメント、及びフラグメント記録のデータベースに格納されるフラグメントと関連付けられた記録を含む。メタデータはユーザー指定のメタデータ、又はセマンティックメタデータを含むことができ、フラグメント型の情報、ユーザー指定の記述的情報、前記ドキュメントからパースされた値、又はＡＰＩを用いて前記ドキュメントから得た値を含むことができる。記録は、フラグメントの要素及び前記フラグメントと関連付けられたメタデータを含むことができる。フラグメントの要素は、データソース識別子、データ指定及びプレゼンテーションフォーマットを含むことができる。フラグメントのメタデータは、トップレベル依存性と関連付けられるか又はフラグメントのサブ要素内の依存性と関連付けられる、フラグメント依存性データを含むことができる。
【００１３】
本発明のもう一つの実施態様は、ドキュメントを編集するシステムを提供し、前記システムは、第一のデータベースからドキュメントを取り出す手段と、前記ドキュメント内部でフラグメントを識別する手段と、前記フラグメントと関連付けられた記録を第二のデータベースに格納する手段と、前記フラグメントと関連付けられた前記記録を求めて前記第二のデータベースを検索する手段、及び前記フラグメントを第二のドキュメントに挿入する手段を含む。
【００１４】
本発明のもう一つの実施態様は、ドキュメントを提供するシステムを提供し、前記システムは、ドキュメント内部でフラグメントを識別するフラグメント発見エンジンと、前記フラグメントに対するメタデータを生成するフラグメントメタデータ連想装置と、第二のドキュメントに前記フラグメントを挿入するドキュメントエディターと、フラグメント検索エンジンと、記録のデータベースと（前記記録のそれぞれは、関係するフラグメントと関連付けし、メタデータが前記の関係するフラグメントと関連付けした）、前記データベースから前記フラグメントを位置づけするユーザーインターフェース、及び前記ドキュメントの格納ための第一のデータベースを含む。
【００１５】
本発明のもう一つの実施態様は、情報を再利用する方法を提供し、前記方法は、データベースからドキュメントを取り出すステップと、ドキュメント内部でフラグメントを識別するステップと、フラグメントと関連付けられたメタデータを生成するステップ、及びフラグメントと関連付けられた記録と前記メタデータをデータベースに格納するステップを含み、データベースは第二のドキュメントへのフラグメントの挿入のために、前記フラグメントを検索可能である。
【００１６】
本発明のもう一つの実施態様は、情報を提供する方法を提供し、前記方法は、ドキュメントを提供するステップと、複数のフラグメントの中から一つのフラグメントを求めてデータベースを検索するステップと、データベースがフラグメントのそれぞれと関連付けられたメタデータを用いて前記フラグメントに索引づけするステップと、フラグメントをドキュメントに挿入するステップ、及びデータベースにドキュメントを保存するステップを含む。
【００１７】
本発明のもう一つの実施態様は、ドキュメントを編集するシステムを提供し、前記システムは、データベースからドキュメントを取り出す手段と、ドキュメント内部でフラグメントを識別する手段と、メタデータをフラグメントと関連付ける手段と、フラグメントと関連付けられた記録をデータベースに格納する手段と、フラグメントと関連付けられた記録を求めて第二のデータベースを検索する手段、及びフラグメントを第二のドキュメントに挿入する手段を含む。
【００１８】
上述の実施態様例及び実施形態例に加えて、図面への参照及び以下の詳細な説明の学習により、さらなる実施態様及び実施形態が明らかになるだろう。
【００１９】
以下の説明の至る所で、具体的な詳細が、以後設置されて、より完全な理解を当業者に提供する。しかしながら、開示を不必要にあいまいにするのを避けるために、よく知られている要素が示されず、又は詳しく説明されていない可能性がある。従って、説明及び図面は、実例的及び非限定的なものとしてみなされるべきである。
【００２０】
本発明は、１個又は複数のデータソースからデータを提示するドキュメントを作成、編集する方法及び装置（例えば、コンピュータシステム）に関する。例えば、ドキュメントは、視覚的に意味のあるフォーマットで、データを表示することができる。
【００２１】
ドキュメントは、１個又は複数のデータソースからデータを受けとるコンポーネントを含んで、データを提示することができる。そのようなドキュメントは普通、レポート又はレポートドキュメントと呼ばれる。本発明によるシステム及び方法は、任意のレポートドキュメントのフォーマットと共に使用することができる。データソースは１個又は複数のデータベースを含むことができる。コンポーネントはデータベースから関連データを選択するクエリを指定するクエリ定義を含むことができる。コンポーネントはデータを提示する方法を指定することができる。例えば、コンポーネントは、データが以下として提示されることを指定することができる。
(a)グラフ
(b)チャート
(c)テーブル
(d)スプレッドシート
(e)何か他の視覚的に見ることができるデータの描写
(f)又は同様のもの
これらのコンポーネントのそれぞれを「フラグメント」と呼ぶことができる。
【００２２】
本発明によるシステムが、フラグメント又はフラグメントの一部の再利用を容易にする。そのようなシステムのユーザーは、ドキュメントを設計及び編集して、データベースに格納された事業に関するデータの意味のある使用をできるようにする。
【００２３】
本発明のある実施形態の例による方法は、現存するドキュメントで再利用できるフラグメントを識別すること、再利用のために利用できる識別されたフラグメントを発見すること、及びさらなるドキュメントの作成において選択されたフラグメントを再利用することを含む。
【００２４】
本発明のある実施形態例による装置は、現存するドキュメントで再利用できるフラグメントを識別する手段、再利用のために利用できる識別されたフラグメントを発見する手段、及びさらなるドキュメントの作成において選択されたフラグメントを再利用する手段を含む。これらの手段のいくつか又は全てが、コンピュータソフトウェアアプリケーションに組み込まれて、１個又は複数のデータソースから読まれたデータを提示するドキュメントを作成及び／又は修正（又は編集）するために用いることができる。
【００２５】
図１はシステム１０を示すブロック図である。システム１０のコンポーネントは、データ処理装置により実行されて、データ処理装置にアクセス可能なデータに作用するソフトウェアプロセスでもよいし、又はコンピュータボード、又はチップ、又は同様のものに組み込まれたファームウェアでもよい。システム１０はフラグメント発見エンジン１２を含む。フラグメント発見エンジン１２は、潜在的に再利用できるフラグメント２０（２０Ａから２０Ｅとして、視覚的に識別される）を、ドキュメントストア１６内のドキュメント１４（１４Ａから１４Ｄとして、視覚的に識別される）の範囲内で、識別する。ドキュメントストア１６は分散することができ、ドキュメント１４は１個又は複数のデータベースに格納される複数の場所から構成することができる。
【００２６】
フラグメントメタデータ連想装置２２は、フラグメント発見エンジン１２によって位置づけされたフラグメントとメタデータを関連付ける。メタデータは、任意の適したソース又はソースの組み合わせから生じることができる。可能性のあるメタデータのソースは、以下を含む。
(a)例えばフラグメント型の情報のような、フラグメントから取り出すことができる情報。
(b)ユーザー指定の記述的情報（“逸話的メタデータ”と呼ぶことができる）。ユーザー指定の情報は、フラグメントが作成される時点か又はその後で、ユーザーから受けとることができる。
(c)ドキュメントから値をパースすることにより取り出された情報、及び／又は
(d)ドキュメントから値を読むのに供給されたＡＰＩを用いることにより得た情報。
【００２７】
各フラグメントを識別する記録２６がフラグメントストア２５に格納される。 フラグメントストア２５は、フラグメント発見エンジン１２によって識別された各フラグメントに対応する記録２６（２６Ａから２６Ｄとして、視覚的に識別される）を含む。 フラグメントストアは、ドキュメントストア１６と同じデータベースにフラグメントを格納することができ、又は分かれたデータベースでもよい。
【００２８】
各記録２６は、フラグメントのコピーを保持すること、フラグメントへのポインタ２７を保持すること（図示されるように）又は何とかして他の記録２６と対応するフラグメント２０間の関連性を保持することにより、対応するフラグメント２０を識別する。各記録２６もまた、対応するフラグメント２０に関するメタデータを含むか又は参照する。メタデータはフラグメントの働きを理解する際に役立ち得る任意の情報を含むことができる。メタデータのいくつかの例が以下で説明される。メタデータを用いて、フラグメントストア１６が記録２６を索引付けすることができる。
【００２９】
ドキュメントエディター等のドキュメント作成アプリケーション３２は、図示されるように矢印３５によって、フラグメント検索エンジン３４にアクセスして、新しいドキュメント１４Ｅの作成に使用することができるフラグメント２０を位置づけすることができる。フラグメント検索エンジン３４は、様々なメタデータ又はメタデータの組み合わせを用いることにより、フラグメントを検索することを許可することができる。
【００３０】
ドキュメント作成アプリケーション３２は、新しいドキュメント１４Ｅへの結合のために、図示されるように線３６によって、現存するフラグメント２０を取り出すことができる。ドキュメント作成アプリケーション３２は、ユーザーが選択されたフラグメント２０の全て又は一部を再使用することを許可することができ、ユーザーが取り出されたフラグメント２０を編集することを許可することができる。
【００３１】
いくつかの実施形態では、ここに説明された機能性はドキュメント作成アプリケーション３２にまとめられる。 他の実施形態では、ここで説明された機能性は、ドキュメント作成アプリケーション３２により起動されるが不可欠ではないソフトウェアにより可能となる。
【００３２】
通常、ドキュメント作成アプリケーション３２は、デザインキャンバスなどの、ユーザーがドキュメントを定義、作成、及び編集することを許可するユーザーインターフェースを提示するだろう。ユーザーインターフェースは、ユーザーが視覚的なレポート要素の挿入を指示する手段を提供する。視覚的なレポート要素は、フラグメント検索エンジン３４によって位置づけされたフラグメントにより定義されたレポート要素及び／又は、ユーザーによって定義されたかあるいはテンプレートに基づくか又は最初から作られた他のレポート要素を含むことができる。
【００３３】
ユーザーインターフェースは、ユーザーが、挿入された視覚的なレポート要素（データソースへの接続、実行するためのクエリ、及びそのような視覚的なレポート要素のプロパティ及び振る舞い）を何でも指定することを許可するメカニズムを含むことができる。通常、ユーザーインターフェースは、ユーザーがドキュメントに挿入された視覚的なレポート要素への意味のある修正を行うことを許可する。
【００３４】
図２は、フラグメント２０に対応する記録２６を示す。記録２６は関数型フラグメント要素４０及びフラグメントメタデータ４２を含む（直接的に又は、外部の情報を参照することによって）。フラグメントは、フラグメント要素４０の全てを持つ必要はない。フラグメント要素４０は、１個又は複数の、データソース識別子４０Ａ、データ指定４０Ｂ（例えば、任意の適したクエリ言語のクエリから成ることができる）、及びプレゼンテーションフォーマット４０Ｃを含む。プレゼンテーションフォーマット４０Ｃは、データソース識別子４０Ａにより識別されたデータソースからどのようなデータが取り出されたのか、表示されフォーマットされるためにあるデータ指定４０Ｂを用いることにより、特定する。
【００３５】
フラグメント要素は、例えば、適したレポートドキュメントフォーマット内で定義することができる。適したレポートドキュメントフォーマットの一例は、マイクロソフト社によって公表された仕様に従って作動し、http://www.microsoft.com/sql/technologies/reporting/rdlspec.mspxで説明されるレポート定義言語（ＲＤＬ）である。代わりに、他のレポートドキュメントフォーマットがフラグメントを定義するために使用されてもよい。
【００３６】
フラグメントメタデータ４２はユーザー指定のメタデータ及びセマンティックメタデータのうちの１個又は両方を含むことができる。ユーザー指定のメタデータは、例えば、名前４３Ａと説明４３Ｂを含むことができる。加えて、あるいは代わりに、ユーザー指定のメタデータは、例えばキーワード等、他のユーザー指定の情報を含むことができる。セマンティックメタデータは情報、例えば、型４４Ａ及び、フラグメントが関連付けられたドキュメント、フラグメントが接続するデータソース、又はフラグメントが要求する他のフラグメントのようなフラグメント自体から取り出されたフラグメントについての他の情報４４Ｂのうちのどれか１個以上を含んでよい。
【００３７】
本発明のいくつかの実施形態では、データプレゼンテーション要素及びデータ／クエリ定義要素は再利用のために、分けて利用できる。そのような実施形態では、個々のフラグメント要素４０が、必ずしも全てを含む必要はないが、データソース識別子４０Ａ、データ指定４０Ｂ、及びプレゼンテーションフォーマット４０Ｃのうちの１個又は複数を持つことができる。
【００３８】
ＲＤＬ文書を含むドキュメントと共に機能する、より明確な実施形態がこれから説明されるだろう。ＲＤＬでは、データプレゼンテーション要素は、全クエリ結果（データ領域）で作動する視覚要素のセット、及び単一の一定値か個々のデータ値との結合、又は表現の結果との結合を含む視覚要素のセットを含む。一般に、プレゼンテーション要素は自身の中に他のプレゼンテーション要素を含むことができる。
【００３９】
データ領域はチャート、テーブル、リスト、及びマトリクスを含む。他の視覚要素はテキストボックス、レクタングル、及びイメージを含む。これらのテーブル、リスト、マトリクス、及びレクタングルは全て、他の視覚要素を含むことができる。各視覚要素が、自身の中に、同じグルーピングのレベルで他の要素の内部に保持された値で計算を実行する又はデータ要素の値に結合する表現を持つことができる。
【００４０】
ＲＤＬデータ／クエリ定義要素はデータソース、データセット、及びパラメータを含む。これらのものの組み合わせは、必須なデータ、接続するデータソース、及び実行するクエリを識別する際の使用のために要求される任意のユーザー入力を定義する。クエリの実行から生じるデータがプレゼンテーション要素によって使用される。
【００４１】
ＲＤＬソースドキュメント上で作動する本発明の一実施形態では、以下がフラグメントを再利用できると考えられる全てである。
(a)上記のどれがレポートキャンバスの直接の子か（すなわち、他の識別された視覚要素の内部に含まれるこれらの要素ではない）識別された全てのプレゼンテーション要素、及び
(b)全てのデータ／クエリ定義要素。
【００４２】
一般に、データ接続及びデータクエリ情報は再利用可能と考えることができる。データ接続とデータクエリ情報が分けられているか、又はドキュメント定義内で分けられるならば、それらは個別に再利用可能とすることができる。そうでなければ、データ接続とデータクエリの両方を定義する単一の要素が再利用可能と考えることができる。データの理解できるプレゼンテーションを生成する任意のプレゼンテーション要素は、最利用可能なフラグメントと考えることができる。例えば、グラフ／チャート、地理的なマップ、クロスタブ、及びクエリ結果の全ての範囲で作動する繰り返しのプレゼンテーションセクション（例えば、Ｃｒｙｓｔａｌ  Ｒｅｐｏｒｔｓ  ．ｒｐｔのようないくつかのドキュメントフォーマットのレポートセクション等）は全て再利用可能なフラグメントとして取り扱うことができた。
【００４３】
フラグメント発見エンジン１２が潜在的に再利用できるフラグメントを求めて、現存の又は新しいドキュメントを検索する。いくつかの実施形態では、フラグメント発見エンジン１２は、新しいドキュメント内の潜在的に再利用できるフラグメントを、フラグメントストア２５に既に存在するフラグメントと比較する。フラグメントストア２５に既に表される他の全てのフラグメントといくつかの重要な点において異なる場合にのみ、潜在的に再利用できるフラグメントがフラグメントストア２５に格納されてもよい。これは、フラグメントストア２５内での、同じフラグメントの多数のコピーの蓄積を避ける。
【００４４】
フラグメントメタデータ連想装置２２は、識別されたフラグメントに対して基本的なメタデータを算出するメカニズムを提供することができる。フラグメントメタデータは以下の情報を含むことができる。
(a)利用できる型のセットからのフラグメント型。
(b)ユーザーにより名づけられるか、又はユーザーにより意味のない名前が与えられる場合フラグメントの視覚的な外観から自動的に得られるようなフラグメントの名前。
(c)ユーザーによって指定されるようなフラグメント解説。
【００４５】
ある好ましい実施形態では、上記メタデータは、ＲＤＬ仕様により明確にされるようなドキュメント定義から値を読み込むことによって、取り出される。次いで、メタデータが、現在のフラグメントのためにフラグメントストア２５で作成された記録２６のメタデータポーションに書き込まれる。記録２６のメタデータポーションはＸＭＬなどのマークアップ言語のステートメントから成ることができる。ある実施形態例では、ルート＜プロパティ＞要素が作成され、フラグメントのためにキャプチャーされた各プロパティに対して＜プロパティ＞サブ要素が作成される。＜プロパティ＞サブ要素は１個又は複数の＜値＞サブ要素を含み、＜値＞サブ要素は、順に、所定のメタデータプロパティに対する値（又は複数の値）を含む。
【００４６】
フラグメントストア２５はフラグメント（関連するメタデータを含む）を格納する。フラグメント及び関連したメタデータは、１個又は複数のデータ構造に格納される。ある実施形態では、フラグメントストア２５はデータベースから成る。データベースはリレーショナルデータベースでもよい。データベースは例えばＳＱＬデータベースから成ることができる。各フラグメント及び関連したメタデータが、データベースに記録として格納される。データベースはクエリされて、値が格納された任意のメタデータに基づくフラグメントを位置づけできる。また、データベースはドキュメントストア１６として使用することもできる。
【００４７】
ある実施形態例では、各フラグメントはマイクロソフト社のＳＱＬサーバエクスプレス内部でホストされたリレーショナルデータベース内のテーブルに記録として格納される。テーブルはテーブル１に記入されたフィールドを含む。
【００４８】
【表１】
0005435568.tif 000002
【００４９】
代替の実施形態は、他の適したリレーショナルデータベースシステム、テーブルスキーマ又はフラグメントを格納する同様のもの、を使用することができる。例えば、ＸＭＬデータ構造又は他のデータファイル等の他の手段を、フラグメントを格納するために使用することができた。メタデータ及びフラグメントは、分かれたデータソース（キー情報によって互いに関連付けられている）又は上述のように同じデータソース内部に格納することができた。
【００５０】
フラグメント検索エンジン３４の任意の特定の実装におけるクエリ技術はフラグメントストア２５に対して適当であるべきである。いくつかの実施形態では、フラグメント検索エンジン３４は、フラグメント型に関するフィルタリング・クライテリアを含むことができ、他の全てのフラグメントメタデータ上で全文検索を指定するクエリを処理することができる。フラグメントストア２５がＳＱＬデータベースに、ＸＭＬフィールド及び非ＸＭＬフィールドの組み合わせを含む場合には（例えば、テーブル１によって示されるように）、フラグメント検索エンジン３４は、ＳＱＬ及びＸｐａｔｈ／Ｘｑｕｅｒｙの組み合わせを使用して、クエリに合うフラグメントを位置づけすることができる。ＳＱＬクエリは、テーブルで直接公開される非ＸＭＬフィールドをクエリするために使用することができる。Ｘｐａｔｈ／Ｘｑｕｅｒｙは、ＸＭＬベースのメタデータコラム内部でメタデータクエリを実行するために使用することができる。フラグメント検索エンジン３４は、検索により位置づけされたフラグメントが、作成され又は編集されているドキュメントに挿入されるのを可能にするフォーマットで、そのクエリの結果を返す。
【００５１】
好ましい実施形態では、フラグメント検索エンジン３４は、呼び出すアプリケーション又はコンポーネントが全文検索ストリング、検索時にインクルードするメタデータフィールドのセット及びフラグメントのどの型が返されるのか制限する型の情報を指定することを許すクエリモデルを公開するＡＰＩを手段として、アクセスすることができる。ドキュメント作成アプリケーション３２がこのクエリをトリガするとき、適合するフラグメントのリストが、インクルードされた完全なフラグメント定義と共に、フラグメント検索エンジン３４により、アプリケーション３２に返される。いくつかの実施形態では、公開されたＡＰＩによって提示されるクエリモデルは、潜在的な興味があるフラグメントを正確に識別する別のクエリの定義を許可する。例えば、ＡＰＩクエリモデルは、メタデータに対するクエリ、及びフラグメントに関する他の情報に対する別のクエリの定義を許可することができる。
【００５２】
いくつかの実施形態では、フラグメント検索エンジン３４は、各入力クエリに対して２個又は複数の別々のクエリを生成して、実行することができる。これは、フラグメントとフラグメントの対応するメタデータが別々のストアにある場合に特に望ましい可能性がある。
【００５３】
フラグメントストア２５から発見されたフラグメントを、ユーザーが編集しているレポートドキュメントにまとめることを可能にする多様なメカニズムがある。一般に、そのようなメカニズムは、作成され又は編集されているドキュメントに、選択されたフラグメントを挿入することができる。メカニズムがドキュメントに挿入されるフラグメントによって引き起こされる任意のコンフリクトを解決するいくつかの方法を含むことが、望ましい。
【００５４】
ある好ましい実施形態では、フラグメントストア２５のクエリから生じるフラグメントのセットを特定する情報が、リストの形式、アイコンのセット、又は同様のもので、ユーザーに表示される。ユーザーは、ユーザーインターフェースにより提供された任意の適した方法で、リストからフラグメントを選択し、再びユーザーインターフェースにより提供された任意の適切な方法で、選択されたフラグメントをドキュメントに追加する。例えば、いくつかの実施形態では、ユーザーは、マウス又はカーソルを制御する他のポインティングデバイスを用いて、フラグメントの描写にカーソルを合わせ、次いで描写上でクリックし、ドキュメントを描写するユーザーインターフェースの編集中のウィンドウ部分の上にそれをドラッグすることができる。
【００５５】
通常、ユーザーにフラグメントを公開したクエリ結果は、フラグメントの関数部を含み（例えば、データソース、データ選択、又はプレゼンテーションのうちの１個又は複数を定義する１個又は複数のＲＤＬ文書のセット）、ユーザーによって指定された通りに、ドキュメント内の適当な場所にフラグメントの関数部をペーストすることができる。
【００５６】
フラグメントのドキュメントへの挿入により引き起こされるコンフリクトを解消するメカニズムの一例として、いくつかのドキュメントフォーマットが、ドキュメント内部で定義された各要素が唯一の名前又は他の識別子を持つことを、要求することを考える。ドキュメントが既に、挿入されるか又はフラグメント内部でサブ要素を名づけられるフラグメントの名前と同じ名前であるところの名前を持つ要素を含む場合、次いでコンフリクトが存在しないように、システムが自動的にフラグメント及び／又はコンフリクトするサブ要素をリネームすることができる。これは、現存する名前を増やすナンバリングスキームを用いることにより、行うことができる。例えば、ユーザーが販売チャートという名前のフラグメントをドキュメントに挿入するよう望み、ドキュメントが既に販売チャートという名前の要素を含む場合、次いでシステムは自動的に挿入されるフラグメントを販売チャート１又は同様のものにリネームすることができる。コンフリクト解消を容易にするために、システムは編集されているドキュメント内の要素のリストを保持することができる。適当な時、例えば、ユーザーがフラグメントをドキュメントに追加する願望を指示する時に、システムは、フラグメントの名前又は他の識別子を、リスト内の要素の識別子と比較することができる。
【００５７】
いくつかの実施形態では、フラグメントがフラグメントストア２５に格納される際のフォーマットは、フラグメントがドキュメントに挿入されるであろう際のフォーマットと異なってよい。ドキュメントフォーマットによっては、リポジトリ内部に格納されるフォーマットからターゲットドキュメントのフォーマット又はＡＰＩフォーマットへの変換がなされなければならないかもしれない。この変換を実行するために随意的なフォーマット変換装置３８が提供されてもよい。
【００５８】
代替の実施形態は、ドキュメント作成アプリケーション３２により提供されたＡＰＩを介してフラグメントをドキュメントに挿入することができる。
【００５９】
本発明によるシステムは様々な随意の特徴及び増強を含んでよい。例えば、フラグメントと関連付けられるメタデータの性質及び量を変えることができる。随意的にフラグメントと関連付けることができるメタデータの１個の型は、フラグメント依存性メタデータである。いくつかのレポート記述言語は、他のフラグメントに依存するフラグメントの定義を許可する。本発明によるシステムは、識別されたフラグメントの依存性に関するメタデータを、フラグメントに関するメタデータを集めること及び格納することの一部として、キャプチャーし、及び格納することができる。
【００６０】
ある実施形態では、各フラグメントは２個の依存性の型を持つことができる。
(a)ダイレクトトップレベル依存性及び
(b)フラグメントのサブ要素における依存性
依存性は、フラグメント全体への依存性か、あるいはフラグメントのいくつかのサブ要素への依存性を指定することができる。例えば、ＲＤＬテーブルを考える（ついでに言えば、又は任意の他のデータ領域）。最も高いレベルで、テーブルはデータセットへの依存性（データソースに対して実行するクエリを指定する）を持つ。このデータセットは、テーブルが作動する上でデータコンテキストを指定する。テーブルの中に、多くのテキストボックスがある。これらのテキストボックスのいくつかは、データセット内部で定義されるフィールドを参照するだろう。テーブルフラグメントのサブ要素であるテキストボックスは、データセットフラグメントのサブ要素である個別フィールドに依存する。これらのフラグメントのサブ要素は、フラグメント自身である。
【００６１】
現在の好ましい実施形態では、フラグメントのベースプロパティを解析することによりフラグメント依存性がキャプチャーされる。依存性は、フラグメントストア２５内でフラグメントテーブルのメタデータのカラムの内部に格納される。フラグメントの各トップレベル依存性に対して、依存エントリが作成されて、依存するフラグメントの型及びIDを特定する。例えば、サブ要素＜依存性＞が、与えられたフラグメントに対するメタデータフィールド内部で作成され、フラグメントは多くの＜依存性＞サブ要素を含み、各＜依存性＞サブ要素は型とID属性の両方を含む。
【００６２】
随意的に、コンシュームするフラグメント（例えば、データのプレゼンテーションを指定するフラグメント）又は作成するフラグメント（例えば、データソース及び／又はデータ指定を指定するフラグメント）のどちらかあるいは両方のために、メタデータ内のサブ要素へのパス情報と共に、各サブ依存性を別々にキャプチャーして、格納することができる。これは最適化であって、必須ではないが、実際はより後の時点でサブ依存性を計算することが可能となる（例えば、フラグメントがドキュメントにまとめられるとき)。
【００６３】
随意的にフラグメントと関連付けることができるもう一種のメタデータはセマンティックメタデータである。フラグメントメタデータ連想装置２２は、識別されたフラグメントの意味に関する特長に関するメタデータをキャプチャーして、格納することができる。セマンティックメタデータはフラグメントについてのクラシフィケーション情報及び／又はインターフェース情報を含むことができる。
【００６４】
クラシフィケーション情報は、サブ要素情報（例えば、チャートフラグメントに対するパイ、バー等のチャートの型）及び他の情報（例えば、グルーピングのために用いられるデータ型、要素の重要な属性において用いられるキーワード、チャートに対するX軸及びY軸の性質等）を含むことができる。
【００６５】
インターフェース情報は、公開され、コンシュームされたインターフェースを含むことができる。公開されたインターフェースは、フラグメント又はサブ要素内部に包含される全ての値を含む（例えば、データセットフラグメントに対し、データセットによって公開された各フィールドが、公開されたインターフェースの一部を形成するだろう）。各々の場合において、キャプチャーされた情報が、フラグメントの任意の個々のサブ依存性のデータ型及び名前を含むことができる。
【００６６】
現在好ましい実施形態では、クラシフィケーションメタデータが、上述された同じフォーマットでメタデータに追加される。クラシフィケーション情報を記述するために加えられた個々のメタデータフィールドの名前は、フラグメント型に依存するだろう。インターフェースメタデータもまた、フラグメントストア２５内のフラグメントテーブルのメタデータのカラムの内部に格納される。フラグメントの各インターフェースに対して、インターフェースエントリが作成されて、インターフェースによって公開され又はコンシュームされた値の型及び名前を特定する。例えば、与えられたフラグメントに対し、サブ要素＜インターフェース＞が、メタデータフィールド内部で作成されて、フラグメントは多くの＜フィールド＞サブ要素を含み、各＜フィールド＞サブ要素は型と名前属性の両方を含む。
【００６７】
随意的にフラグメントと関連付けることができるもう一種のメタデータはユーザー指定のメタデータである。システム１０は、ユーザー指定のメタデータフィールドのセット及びそれらの値をフラグメントと関連付けるメカニズムを含むことができる。これは、ユーザーが、フラグメントに対しセットする値に加えて、フラグメントに対し公開する追加フィールドを指定することを可能にする。
【００６８】
ある現在好ましい実施形態では、ドキュメント作成アプリケーション３２を実行しているユーザーは、編集のためにレポートドキュメントの内部に含まれるフラグメントを選択することができ、そのフラグメントに対する関数を編集するメタデータを選択することができる。次いで、システムは、ユーザーが彼ら自身の作成の新しいメタデータフィールドを追加すること、又は値（又は複数の値）を任意の現存するメタデータフィールドに追加することを許可するユーザーインターフェースをユーザーに提示する。次いで、システムは、例えば、上で説明されるのと同じメカニズムを使用することにより、フラグメントテーブルのメタデータフィールドにさらなるメタデータプロパティを追加することができる。随意的に、フラグメント管理コンポーネント３９が提供されて、フラグメントストア２５内でフラグメントを管理することを容易にすることができる。フラグメント管理コンポーネント３９は、ユーザーがフラグメントと関連付けられたメタデータを編集し又は追加することを許可するドキュメント作成アプリケーション３２から呼び出すことができるＡＰＩを含むことができる。
【００６９】
他の随意的な特徴が、興味のあるフラグメントを識別するメカニズムに関連する。フラグメント検索エンジン３４は機能を提供して、ユーザーが、志向性ブラウジングにより潜在的な興味のあるフラグメントを発見することを許可することができる。この機能は、１個又は複数のメタデータプロパティに基づくマルチレベルブラウザを通してフラグメントを発見するメカニズムから成ることができる。機能は、ユーザーに、利用できるメタデータプロパティのリスト又は他の識別性、及び各プロパティに対するフラグメントストア２５内で表される値の識別性を提示することができる。
【００７０】
指向性ブラウジング機能は、ユーザーが、順不同で、利用できるプロパティをいくつでも使用することを許可して、層になった指向性ブラウズにより潜在的な関心のあるフラグメントを位置づけすることができる。例えば、そのような機能は、ユーザーが、適当な方法でユーザーインターフェースと相互作用することにより１個又は複数のプロパティに対して１個又は複数の利用可能な値を選択することを許可することができる。それに応じてシステムは、選択されたプロパティの全てに対して選択された１個又は複数の値に合う結果を返すクエリを実行することができる。
【００７１】
現在好ましい実施形態では、ユーザーが実行しているドキュメント作成アプリケーション３２にアクセス可能なインターフェースは、論理的な定義済みのマルチレベルブラウザを提示する。このブラウザは、閲覧するプロパティのセット内に、フラグメントの型、フラグメントの名前、およびフラグメントの記述的なキーワードを含む。上で説明されるように、このブラウザはクエリを実行して、クエリに合うフラグメントのセットを返すことができる。
【００７２】
ある代替の実施形態では、ユーザーが実行しているドキュメント作成アプリケーション３２にアクセス可能なインターフェースは、ユーザーが、システム内で現存するいくつものプロパティに従って閲覧経路を指定することを許可する。
【００７３】
フラグメント検索エンジン３４は、セマンティックメタデータに完全に又は一部において基づいた検索を許可することができる。これは、クラシフィケーション情報、インターフェース情報又はそれらのいくつかの組み合わせ等のプロパティに基づいたフラグメントに対して、クエリする能力を提供する。クラシフィケーション情報によってフラグメントを検索することは、フラグメントのセマンティックメタデータの一部として作成された特定のメタデータフィールド上でクライテリアを指定するフラグメントを検索することを許可することができる。インターフェース情報によってフラグメントを検索することは、度合いに基づくフラグメントを求めて検索することを許可することができ、度合いはフラグメントのセマンティックメタデータ内で定義されるようなインターフェースと合う。ある公開されたインターフェースを指定するクエリに対し、少なくとも要求された個別的な値を公開する場合、フラグメントは合うと考えられるだろう。
【００７４】
現在好ましいある実施形態では、これらのセマンティックな検索タイプの各々に対するクエリＡＰＩは、基本的なフラグメントの検索及び抽出に関して、上で説明されたＡＰＩと同様の方法で、内部で機能する。各個別の分類及びインターフェースプロパティが、フラグメントテーブルのＸＭＬメタデータフィールド内部に同様のフォーマットで格納されるが、ＳＱＬ及びＸｐａｔｈ／Ｘｑｕｅｒｙの混合を使用して、潜在的な興味のあるフラグメントを識別することができる。
【００７５】
代替の実施形態は、他の適したＡＰＩ及び／又はクエリメカニズムを用いることができる。
【００７６】
フラグメントは他のフラグメントに依存してよいが、フラグメント間の依存性を解消するメカニズムを提供することが望ましい。このメカニズムは、ドキュメントにフラグメントをまとめることを容易にするために呼び出すことができる。
【００７７】
ドキュメントにフラグメントをまとめるとき、もしフラグメントが任意の依存性を持つ場合、システムは依存性のそれぞれの発生に対しドキュメントをチェックすることができる。依存性は、ドキュメントに含まれるフラグメントに対するフラグメント依存性メタデータを再調査することによって、識別することができる。依存性の識別性を伴うフラグメントがドキュメント内で発見された場合、次いで、そのフラグメントを使用することができる。別な方法としては、依存性は以下の方法の一つで解消することができる。
(a)フラグメント検索エンジン３４及びフラグメント依存性メタデータを使用して元の依存性フラグメントを位置づけし、その依存性フラグメントをドキュメントにまとめることにより。
(b)フラグメントで使用される、依存性フラグメントの任意のインターフェース要素を提供する依存性フラグメントと同じ型のもう一個のフラグメントを位置づけすることにより（フラグメントと関連付けられたセマンティックメタデータに指定されたとおりに）。他のフラグメントは、セマンティックメタデータを検索するため、フラグメント検索エンジン３４を用いて位置づけすることができる。このプロセスは１個又は複数の合うフラグメントのリストを作成することができ、そのリストから、ユーザーが１個を選択するよう促すことができる。いったんユーザーが選択をすると、ここで説明されたように、選択されたフラグメントがドキュメントにまとめられる。選択されたフラグメントが元の依存性フラグメントとは異なって名づけられた場合、現在のフラグメント内部の参照は選択されたフラグメントを参照するよう自動的にアップデートすることができる（又は、選択されたフラグメントの名前が自動的に変えられて、現在のフラグメント内の参照を合わせることができる）。
(c)現在のフラグメント内で使用される、依存性フラグメントの任意のインターフェース要素を提供する現在のドキュメント内部で、フラグメントを位置づけすることにより（現在のフラグメントと関連付けられたセマンティックメタデータに指定されたとおりに）。このプロセスはドキュメント内部で合う１個又は複数のフラグメントのリストを作成することができる。ユーザーが現存するフラグメントのうち１個を選択するように促されて、現在のフラグメントに対する依存性フラグメントとして使用することができる。選択されたフラグメントが元の依存性フラグメントとは異なって名づけられた場合、現在のフラグメント内部の参照は選択されたフラグメントを参照するようにアップデートすることができる。
【００７８】
本発明によるシステムは、随意的に、フラグメントバージョニングのメカニズムを含む。そのようなメカニズムは、ユーザーがドキュメントにまとめたフラグメントの新しいバージョンを追跡及び発見することができる。
【００７９】
現存するフラグメントがドキュメントにまとめられるとき、何らかの意味のある変更がそのフラグメントに対してなされる場合、フラグメントの変更されたバージョンが自動的にフラグメントストア２５に追加されるだろう。次いで、フラグメントの変更されたバージョンが再利用のために利用できるだろう。システム１０は、ユーザーが、ドキュメントを開くこと及びシステム１０にドキュメント内に存在する任意のフラグメントのアップデータされたバージョンを検索させることを許可することができる。システムは、ユーザーに、フラグメントストア２５内に存在する１個又は複数のアップデートされたバージョンのどれかに対し、任意のフラグメントのアップデートされたバージョンを含むドキュメントをアップデートすることの選択を提示することができる。ユーザーがそのように選択する場合、現存するフラグメントの場所にフラグメントのアップデートされたバージョンをまとめることによりドキュメントはアップデートされるだろう。ユーザーは、フラグメント毎の基準で、アップデートされたフラグメントを認めるか又は拒絶する機会を提供されてもよい。
【００８０】
現在好ましい実施形態では、現存するフラグメントの新しいバージョンが、現存するフラグメントと一緒にフラグメントストア２５に格納される。フラグメントデーブルはアップデートされて、テーブル２に示されるようにＩＤフィールドを増やす。
【００８１】
【表２】
0005435568.tif 000003
【００８２】
ある好ましい実施例では、現在のフラグメントと同じオリジナルＩＤを持つが、より新しいタイムスタンプを持つ任意のフラグメントに対し、リポジトリに反してクエリを実行することにより、現在のドキュメント内にあるフラグメントのより新しいバージョンに関してチェックが実行される。
【００８３】
システム１０は、必ずしも単一のユーザー又は単一のドキュメントストア１６又は単一のフラグメントストア２５に限定されない。いくつかの実施形態では、複数のフラグメントストア２５が存在する。例えば、分かれたフラグメントストア２５が、複数のユーザーのそれぞれに、提供されてもよい。フラグメントストア２５は、複数のユーザーのうちの一人によって主に使用されるコンピュータ上で位置づけすることができる。
【００８４】
システム１０は、他のユーザーとフラグメントを共有し、及び他のユーザーによって利用できるようになったフラグメントを利用するメカニズムを持つことができる。そのようなメカニズムは、ここで説明された全ての特徴が、多くのユーザーにわたって分配されることを可能にすることができる。そのようなメカニズムは、フラグメントの発見及び再利用のために、各ユーザーのフラグメントストア２５を、システムの他のユーザーに対して公開することができる。メカニズムはフラグメントストア２５に対する中心の索引を含むことができ、又は複数のフラグメントストア２５の検索を許可することができる（検索されるフラグメントストア２５は、ユーザーが選択可能又は自動的に決定されてもよい）。
【００８５】
いくつかの実施形態では、システム１０は一人のユーザーのコンピュータ上で作動し、フラグメント検索エンジン３４が、ローカルのフラグメントストア２５上でも、ピアツーピアの方法で他のユーザーのフラグメントストア２５上でも、実行されるクエリを生成する。そのような実施形態では、システム１０は、ネットワーク又は他の適したデータ通信リンク経由で、他のシステム１０からクエリを受けとり、これらのクエリを１個又は複数のローカルのフラグメントストア２５上で実行し、クエリが始まったシステム１０に対して何らかのクエリの結果を転送するインターフェースから成ることができる。
【００８６】
いくつかの実施形態では、システム１０は複数のユーザーに対してアクセス可能なサーバー上で作動する。
【００８７】
図３は、本発明の実施形態による方法１００を示す。方法１００はフラグメント回復方法１００Ａ及びフラグメント再利用方法１００Ｂを含む。方法１００Ａ及び方法１００Ｂは、独立的にも一緒にも、実践することができる。
【００８８】
方法１００Ａは、ブロック１０２でドキュメントを受けとることで始まる。ドキュメントは、ドキュメントレポジトリ１６に格納されるプロセス中であってもよく、又は前もって格納されていてもよい。ブロック１０４で、ドキュメント内部で、任意の再利用できるフラグメントが識別される。ブロック１０４は、データソースを定義すること、データ指定（クエリ）を定義すること、データプレゼンテーションを定義すること、これらのいくつかの組み合わせに相当するＲＤＬ又はいくつかの他の言語のステートメント、又は別の方法で潜在的に再利用可能なフラグメントとして識別されたステートメントを求めて、ドキュメントを検索することから成ることができる。
【００８９】
ブロック１０６で、メタデータがフラグメントのそれぞれに対して特定される。上で述べたように、メタデータは、より広い範囲であってもよいし、又はより狭い範囲であってもよい。ブロック１０８で、フラグメントストア２５内に、各フラグメントに対して記録が作成される。記録は、フラグメントがユーザーにとって興味があるかもしれないかどうかを判定するために検索することができるいくつかのメタデータ、及びフラグメントにアクセスするために使用することができる情報から成る。情報は、フラグメントのコピー、フラグメントを再作成する指示、フラグメントへのポインタ、キー、識別子又はいくつかの他のデータベースからフラグメントを取り出すために使用することができるクエリ、又は同様のものでよい。
【００９０】
フラグメント再利用方法１００Ｂは、ブロック１１０でドキュメントをスタートすることで始まる。ブロック１１０は、空のドキュメントを始めること、新しいドキュメントをテンプレートから作成すること、編集又は同様のもののために現存するドキュメントを開くことから成ることができる。ドキュメントは、レポート又はいくつかのデータの描写を含むことが望ましい他のドキュメントから成ることができる。
【００９１】
ブロック１１２は、潜在的な興味のあるフラグメントを検索する。ブロック１１２は、ユーザー入力から１個又は複数の検索文字列を受けとること、及び検索文字列に合うメタデータを求めてフラグメントストア２５内でメタデータを検索することから成ることができる。ブロック１１２は、上で述べたように、指向性の検索から成ることができる。
【００９２】
ブロック１１４で、ブロック１１２の検索で位置づけされたフラグメントが選択される。ブロック１１６で、選択されたフラグメントがドキュメントに挿入される。ブロック１１８で、選択されたフラグメントが随意的に編集される。ブロック１２０で、ドキュメントはドキュメントストア１６に保存される。
【００９３】
本発明のある実装は、プロセッサに本発明の方法を実行させるソフトウェア指示を実行するコンピュータプロセッサから成る。例えば、コンピュータシステム又はネットワーク内の１個又は複数のプロセッサは、プロセッサにアクセス可能なプログラムメモリ内でソフトウェア指示を実行する本発明の実施形態による方法を実行することができる。本発明はまた、プログラム製品という形で提供することもできる。プログラム製品は、データプロセッサによって実行されたときはデータプロセッサに本発明の方法を実行させる指示から成る、コンピュータが読込可能な信号のセットを運ぶ任意の媒体から成ることができる。本発明によるプログラム製品は、幅広い種類の形式のうちの何であってもよい。プログラム製品は例えば、フロッピー（登録商標）ディスク、ハードディスクドライブを含む磁気データストレージ媒体、ＣＤ−ＲＯＭ、ＤＶＤを含む光学式データストレージ媒体、ＲＯＭｓ、フラッシュＲＡＭを含む電気的データストレージ媒体等の媒体、又は同様のものから成ることができる。プログラム製品上のコンピュータが読込可能な信号は、随意的に、圧縮され、又は暗号化されてもよい。
【００９４】
コンポーネント（例えば、コンピュータ、検索エンジン、データベース、ドキュメント、アセンブリ、デバイス、サーキット等）は上を参照させられるが、特に指示されない限りは、前記コンポーネントへの参照（「手段」への参照を含む）は、前記コンポーネントと同等のもので、説明されたコンポーネントの機能を実行する任意のコンポーネントを含むこと（すなわち、機能的に同等である）として解するべきであり、含まれるコンポーネントは示された本発明の実施形態例における機能を実行する開示された構造と構造的に同等ではない。
【実施例１】
【００９５】
ユーザーのジョンは、データソース、クエリ及びレポートデザインのアスペクトに関して良い技術的な理解を持つ。ジョンは、販売レポートであるドキュメントを作成する。その販売レポートは、データソース接続及びクエリ情報を指定し、多くの視覚的な要素を含む。その視覚的な要素は、商品毎の昨年の販売の分析を示すパイチャート及び販売注文の詳細を有するテーブルを含む。ジョンは要素のそれぞれに、販売という言葉にいくらかの変化と共に、名前をつける。彼はまたレポートの主要な視覚的要素のそれぞれの目的を説明する記述的情報を入力する。彼は次いで、ドキュメントストアにレポートを保存する。
【００９６】
システムは自動的にレポートのフラグメントを識別し、フラグメントを取り出す。システムはフラグメントに、基本的なフラグメントのメタデータ、フラグメント依存性メタデータ及びフラグメントのセマンティックメタデータを含むメタデータを、タグ付けする。システムはフラグメントをフラグメントストアに挿入する。
【００９７】
ユーザーのフランクは販売員であって、コンポーネントコンピュータのユーザーであるが、どのようにしてデータソースと接続されたドキュメントを作成し又はクエリを作成するのか、理解していない。彼は、商品毎の昨年の販売のパイチャートを示し、上位１０番の製品に関する値のみを示すレポートを準備する仕事を課せられた。フランクはレポート作成アプリケーションを開いて、新しいレポートドキュメントを作成する。彼はチャートを挿入するための選択を選び、現存するチャートを検索するよう選択する。検索クライテリア内で、彼は「販売」と打ち込む。
【００９８】
この時点で、クエリが上述のように実行される。結果はジョンが以前に作成したチャートを含む。フランクはジョンによって作成されたチャートを選択し、解説によりそれが、彼が探し求めているほとんどそのとおりのものであることがわかる。彼は選択して、それをレポートドキュメントに挿入する。
【００９９】
この時点で、ジョンのチャートを描写するフラグメントは、フランクのレポートにまとめられる。チャートはジョンによって同様に作成されたデータセット及びデータソースへの依存性を持つので、これらは自動的に位置づけされて挿入される。フランクは現在、セールスチャートを含むレポートを持つ。彼は続けてレポート作成ドキュメントを使用して、上位１０番の製品の販売だけを見せるようチャートを修正する。彼は現在、彼が必要とする情報を正確に含むレポートを持ち、従って、彼は続いてレポートを準備して結果を閲覧する。
【０１００】
多くの実施態様例及び実施形態例が上で議論されてきたが、これらの技術は、技術的に、一定の変更、置換、付加及びそれに関する下位の組み合わせを認めるだろう。例えば、ある代替の実施形態例では、異なるレポートドキュメントフォーマット上で作動し、識別された再使用可能なフラグメントの正確なセットが異なり、ドキュメントオブジェクトモデルの特定の分類に依存する。
【０１０１】
本発明は全ての変更、置換、付加、及びここで説明された特徴の下位の組み合わせを網羅する。
【図１】
0005435568.tif 000004
【図２】
0005435568.tif 000005
【図３】
0005435568.tif 000006