(57)【要約】      （修正有）【課題】ダイナミック・ドキュメントと宛先リストとからＶＩＰＤＬ出力ストリームを生成する生成システムを提供する。【解決手段】宛先リストを介して一度に１つのレコードを繰り返し、そのレコードに関するダイナミック・ドキュメント内の各ダイナミック・オブジェクト用の値を計算するデータ・イテレータと、そのレコードに関するインスタンス・ドキュメントを作成するドキュメント・インスタンシエータと、そのドキュメント・インスタンスのレンダリングを指定するコードを生成するためにドキュメント・インスタンシエータと連係して動作する出力ジェネレータと、出力ジェネレータの出力からＶＩＰＤＬ出力ストリームを生成するマージ・コンポーネントとを含む。【選択図】図１
2011170858.tif 000002
【特許請求の範囲】
【請求項１】
ダイナミック・ドキュメントと宛先リストとからＶＩＰＤＬ出力ストリームを生成する生成システムであって、該システムは、
前記宛先リストを介して一度に１つのレコードを繰り返し、前記レコードに関する前記ダイナミック・ドキュメント内の各ダイナミック・オブジェクト用の値を計算するデータ・イテレータと、
前記レコードに関するインスタンス・ドキュメントを作成するドキュメント・インスタンシエータと、
前記ドキュメント・インスタンシエータと連係して動作する出力ジェネレータであって、前記ドキュメント・インスタンスのレンダリングを指定するコードを生成する出力ジェネレータと、
前記出力ジェネレータの出力から前記ＶＩＰＤＬ出力ストリームを生成するマージ・コンポーネントとを含む生成システム。
【請求項２】
請求項１に記載の生成システムにおいて、前記ＶＩＰＤＬ出力ストリームが、オブジェクト指向（レンダリング）指定言語で定義される、生成システム。
【請求項３】
請求項２に記載の生成システムにおいて、前記オブジェクト指向指定言語が、ＶＰＳである、生成システム。
【請求項４】
請求項２に記載の生成システムにおいて、前記オブジェクト指向指定言語が、ＰＰＭＬである、生成システム。
【請求項５】
請求項１に記載の生成システムにおいて、前記ＶＩＰＤＬ出力ストリームが、ＨＴＭＬで定義される、生成システム。
【請求項６】
請求項１に記載の生成システムにおいて、該システムはさらに、
前記データ・イテレータと前記ドキュメント・インスタンシエータが生産者・消費者方式で動作できるようにするためのコンテンツ・オブジェクト・バッファを含む生成システム。
【請求項７】
請求項１に記載の生成システムにおいて、
前記マージ・コンポーネントが、
再使用可能オブジェクト名とその定義とを含む定義辞書と、
ダイナミック・ドキュメント・インスタンスのページに関するレイアウト情報を含むブックレット・セクションと、
前記定義辞書および前記ブックレット・セクションのコンテンツから前記ＶＩＰＤＬ出力ストリームを生成するマージ・プロセッサとを含む、生成システム。
【請求項８】
ダイナミック・ドキュメントと宛先リストとからＶＩＰＤＬ出力ストリームを生成する生成システムであって、該システムは、
前記宛先リストを複数のパーツに分割するパーツ・ジェネレータと、
前記宛先リストを並列処理する複数のパイプラインと、
前記複数のパイプラインから再使用可能オブジェクト定義を受け取る複数の定義辞書と、
前記複数のパイプラインからレイアウト情報を受け取る複数のブックレット・セクションと、
前記複数の定義辞書および前記複数のブックレット・セクションのコンテンツから前記ＶＩＰＤＬ出力ストリームを生成するマージ・プロセッサとを含む生成システム。
【請求項９】
ダイナミック・ドキュメントと宛先リストとからＶＩＰＤＬ出力ストリームを生成する方法であって、該方法は、
前記宛先リストから次のレコードを選択するステップと、
前記宛先リストから選択した前記レコードに関するドキュメント・インスタンスを前記ダイナミック・ドキュメントから第１生成するステップと、
前記ダイナミック・ドキュメント内の再使用可能オブジェクトに対応する定義辞書内に
見出し項目を第２生成するステップと、
前記生成したドキュメント・インスタンスに関するレンダリング指定セクションを第３生成するステップと、
前記レンダリング指定セクションをＶＩＰＤＬ出力ストリームに連結するステップと、
前記宛先リストを使い果たすまで前記選択ステップと前記第１の生成ステップと前記第２の生成ステップと前記第３の生成ステップと前記連結ステップとを繰り返すステップと、
前記定義辞書内の情報からエレメント定義セクションを第４生成し、前記ＶＩＰＤＬ出力ストリームの先頭に前記エレメント定義セクションを付加するステップとを含む方法。
【請求項１０】
請求項９に記載の方法において、前記選択ステップと前記第１の生成ステップと前記第２の生成ステップと前記第３の生成ステップと前記連結ステップと前記繰返しステップと前記第４の生成ステップとが、パイプライン処理によって実行される、方法。
【請求項１１】
請求項９に記載の方法において、
前記第１の生成ステップがさらに、
前記ダイナミック・コンテンツ・オブジェクトのセットに関するすべての照会を１つの照会に凝縮するステップと、
前記１つの照会を計算するステップとを含む方法。
【請求項１２】
請求項９に記載の方法において、
前記第１の生成ステップがさらに、
照会によって生成されたビューをキャッシュするステップと、
前記キャッシュしたビューを再使用するステップも含む、方法。
【請求項１３】
請求項９に記載の方法において、前記ＶＩＰＤＬ出力ストリームが、オブジェクト指向指定言語で定義される、方法。
【請求項１４】
請求項１３に記載の方法において、前記オブジェクト指向指定言語がＶＰＳである、方法。
【請求項１５】
請求項１３に記載の方法において、前記オブジェクト指向指定言語がＰＰＭＬである、方法。
【請求項１６】
請求項９に記載の方法において、前記ＶＩＰＤＬ出力ストリームがＨＴＭＬで定義される、方法。
【請求項１７】
ダイナミック・ドキュメントと宛先リストとからＶＩＰＤＬ出力ストリームを生成する方法であって、
前記宛先リストを複数の別個のパーツに分割するステップと、
前記パーツのそれぞれごとに独立して並列処理を実行するステップと、
前記実行ステップで作成した複数の定義辞書と複数のレンダリング指定セクションを前記宛先リスト全体に対応する１つのＶＩＰＤＬ出力ストリームにマージするステップとを含む方法。
【請求項１８】
請求項１７に記載の方法において、前記選択ステップと前記第１の生成ステップと前記第２の生成ステップと前記第３の生成ステップと前記連結ステップと前記繰返しステップと前記第４の生成ステップとが、パイプライン処理によって実行される、請求項１７に記載の方法。
【請求項１９】
請求項１７に記載の方法において、前記実行ステップがさらに、ゴシップ・メカニズムを使用して前記複数の定義辞書の冗長性を低減するステップを含む、方法。
【請求項２０】
請求項１７に記載の方法において、
前記実行ステップがさらに、
前記宛先リストから次のレコードを選択するステップと、
前記宛先リストから選択した前記レコードに関するドキュメント・インスタンスを前記ダイナミック・ドキュメントから第１生成するステップと、
前記ダイナミック・ドキュメント内のダイナミック・コンテンツ・オブジェクトに対
応する定義辞書内に見出し項目を第２生成するステップと、
前記生成したドキュメント・インスタンスに関するレンダリング指定セクションを第３生成するステップと、
前記レンダリング指定セクションを前記ＶＩＰＤＬ出力ストリームに連結するステップと、
前記宛先リストを使い果たすまで前記選択ステップと前記第１の生成ステップと前記第２の生成ステップと前記第３の生成ステップと前記連結ステップを繰り返すステップと、
前記定義辞書内の情報からエレメント定義セクションを第４生成し、前記ＶＩＰＤＬ出力ストリームの先頭に前記エレメント定義セクションを付加するステップを含む、方法。
【請求項２１】
請求項２０に記載の方法において、
前記第１の生成ステップがさらに、
前記ダイナミック・コンテンツ・オブジェクトのセットに関するすべての照会を１つの照会に凝縮するステップと、
和集合を最小限にして前記１つの照会を計算するステップとを含む、方法。
【請求項２２】
請求項２０に記載の方法において、
前記第１の生成ステップがさらに、
前記ダイナミック・コンテンツ・オブジェクトのセットに関するすべての照会を１つの照会に凝縮するステップと、
再選択を最小限にして前記１つの照会を計算するステップとを含む、方法。
【請求項２３】
請求項２０に記載の方法において、
前記第１の生成ステップがさらに、
照会によって生成されたビューをキャッシュするステップと、
前記キャッシュしたビューを再使用するステップとを含む、方法。
【請求項２４】
請求項１７に記載の方法において、前記ＶＩＰＤＬ出力ストリームが、オブジェクト指向指定言語で定義される、方法。
【請求項２５】
請求項２４に記載の方法において、前記オブジェクト指向指定言語が、ＶＰＳである、方法。
【請求項２６】
請求項２４に記載の方法において、前記オブジェクト指向指定言語が、ＰＰＭＬである、方法。
【請求項２７】
請求項１７に記載の方法において、前記ＶＩＰＤＬ出力ストリームが、ＨＴＭＬで定義される、方法。
【請求項２８】
照会最適化のための方法であって、該方法は、
１組のダイナミック・コンテンツ・オブジェクトのセットに関するすべての照会を１つの照会に凝縮するステップを含む方法。
【請求項２９】
請求項２８に記載の方法において、該方法はさらに、
和集合を最小限にして前記１つの照会を計算するステップを含む方法。
【請求項３０】
請求項２８に記載の方法において、該方法はさらに、
再選択を最小限にして前記１つの照会を計算するステップを含む方法。
【請求項３１】
請求項２８に記載の方法において、該方法はさらに、
照会によって生成されたビューをキャッシュするステップと、
前記キャッシュしたビューを再使用するステップとを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリント・タイプ、ウェブ・タイプ、電子メール・タイプ、その他のメディア・タイプにおける個人化された（パーソナライズされた）ドキュメントの生成に関する。本発明は、メディアに独立したドキュメントの表現を使用することによって高められた効率を採り入れた生成プロセスである。
【発明の背景】
【０００２】
今日、ドキュメント（文書）を、例えば、読者の名前で、或いは、１人の読者ないし複数の読者の１グループに特有の他の情報で、個人化することは、極めて一般的なことである。一例を挙げれば、広告大量郵便であり、この広告大量郵便は、名宛人と売出しの商品とその売出しの商品の特別価格とによって個人化されており、いずれも、その売出しを行う会社からのその名宛人の過去の購入状況に応じて選択され、計算されている。このようなドキュメントの個人化は、ワールド・ワイド・ウェブ（ウェブ）ドキュメントと印刷ドキュメントとの両方に存在する。
【０００３】
個人化されたドキュメントのコピーを生成するプロセスは、「作成」、「生成」、「レンダリング」という３つの主要な段階を含む。作成は、計画と、デザインと、プログラミングと、オーサリングとを含む。生成は、指定された１セットの個人化コピーをレンダリングするために、ターゲット・メディア・フォーマットが生成される段階である。レンダリングは、印刷またはウェブ提示が実際に行われる段階である。
【０００４】
このようなドキュメントの生成では、所望のターゲット・メディアで、ドキュメントの個人化されたインスタンスをレンダリングする出力フォーマットの指定（たとえば、米国カリフォルニア州サンホゼのアドビシステムズ社から入手可能なプリント用のＰｏｓｔＳｃｒｉｐｔ）を作成する。既存のツールは、メディア特有のもの（たとえば、カナダのブリティッシュコロンビア州バーナビーのＣｒｅｏＳｃｉｔｅｘから入手可能なプリント用のＤａｒｗｉｎ）であるか、または可変性に関する明示的な指定がまったくないレンダリング命令を使用する。
【発明の概要】
【０００５】
本発明の一実施形態によれば、ダイナミック・ドキュメント（動的文書）と宛先リストとからＶＩＰＤＬ出力ストリームを生成する生成システムが提供される。このシステムは、宛先リストを介して一度に１つのレコードを繰り返し、そのレコードに関するダイナミック・ドキュメント内の各ダイナミック・オブジェクト用の値を計算するデータ・イテレータと、そのレコードに関するインスタンス・ドキュメントを作成するドキュメント・インスタンシエータと、ドキュメント・インスタンスのレンダリングを指定するコードを生成するためにドキュメント・インスタンシエータと連係して動作する出力ジェネレータと、出力ジェネレータの出力からＶＩＰＤＬ出力ストリームを生成するマージ・コンポーネントとを含む。
【０００６】
そのうえ、本発明の一実施形態によれば、ＶＩＰＤＬ出力ストリームは、オブジェクト指向（レンダリング）指定言語で定義することができる。
さらに、本発明の一実施形態によれば、オブジェクト指向指定言語は、ＶＰＳにすることができる。
【０００７】
しかも、本発明の一実施形態によれば、オブジェクト指向指定言語は、ＰＰＭＬにすることができる。
さらに、本発明の一実施形態によれば、ＶＩＰＤＬ出力ストリームは、ＨＴＭＬで定義することができる。
【０００８】
さらに、本発明の一実施形態によれば、この生成システムは、データ・イテレータとドキュメント・インスタンシエータが生産者・消費者方式で動作できるようにするためのコンテンツ・オブジェクト・バッファを含むことができる。
【０００９】
そのうえ、本発明の一実施形態によれば、マージ・コンポーネントは、再使用可能オブ
ジェクト名とその定義を含む定義辞書と、ダイナミック・ドキュメント・インスタンスのページに関するレイアウト情報を含むブックレット・セクションと、定義辞書およびブックレット・セクションのコンテンツからＶＩＰＤＬ出力ストリームを生成するマージ・プロセッサとを含むことができる。
【００１０】
本発明の一実施形態によれば、ダイナミック・ドキュメントと宛先リストとからＶＩＰＤＬ出力ストリームを生成する生成システムがさらに提供される。この生成システムは、宛先リストを複数のパーツに分割するパーツ・ジェネレータと、宛先リストを並列処理する複数のパイプラインと、複数のパイプラインから再使用可能オブジェクト定義を受け取る複数の定義辞書と、複数のパイプラインからレイアウト情報を受け取る複数のブックレット・セクションと、複数の定義辞書および複数のブックレット・セクションのコンテンツからＶＩＰＤＬ出力ストリームを生成するマージ・プロセッサとを含む。
【００１１】
本発明の一実施形態によれば、ダイナミック・ドキュメントと宛先リストとからＶＩＰＤＬ出力ストリームを生成する方法が提供される。この方法は、宛先リストから次のレコードを選択するステップと、宛先リストから選択したレコードに関するドキュメント・インスタンスをダイナミック・ドキュメントから第１生成するステップと、ダイナミック・ドキュメント内の再使用可能オブジェクトに対応する定義辞書内に見出し項目を第２生成するステップと、生成したドキュメント・インスタンスに関するレンダリング指定セクションを第３生成するステップと、レンダリング指定セクションをＶＩＰＤＬ出力ストリームに連結するステップと、宛先リストを使い果たすまで選択ステップと第１の生成ステップと第２の生成ステップと第３の生成ステップと連結ステップとを繰り返すステップと、定義辞書内の情報からエレメント定義セクションを第４生成し、ＶＩＰＤＬ出力ストリームの先頭にエレメント定義セクションを付加するステップとを含む。
【００１２】
さらに、本発明の一実施形態によれば、選択ステップと第１の生成ステップと第２の生成ステップと第３の生成ステップと連結ステップと繰返しステップと第４の生成ステップとは、パイプライン処理によって実行することができる。
【００１３】
そのうえ、本発明の一実施形態によれば、第１の生成ステップは、ダイナミック・コンテンツ・オブジェクトのセットに関するすべての照会を１つの照会に凝縮するステップと、その１つの照会を計算するステップとを含むことができる。
【００１４】
さらに、本発明の一実施形態によれば、第１の生成ステップは、照会によって生成されたビューをキャッシュするステップと、キャッシュしたビューを再使用するステップと含むことができる。
【００１５】
本発明の一実施形態によれば、ダイナミック・ドキュメントと宛先リストとからＶＩＰＤＬ出力ストリームを生成する方法が提供される。この方法は、宛先リストを複数の別個のパーツに分割するステップと、各パーツごとに独立して並列処理を実行するステップと、実行ステップで作成した複数の定義辞書と複数のレンダリング指定セクションを宛先リスト全体に対応する１つのＶＩＰＤＬ出力ストリームにマージするステップとを含む。
【００１６】
そのうえ、本発明の一実施形態によれば、実行ステップは、ゴシップ・メカニズムを使用して複数の定義辞書の冗長性を低減するステップをさらに含むことができる。
【００１７】
しかも、本発明の一実施形態によれば、実行ステップは、宛先リストから次のレコードを選択するステップと、宛先リストから選択したレコードに関するドキュメント・インスタンスをダイナミック・ドキュメントから第１生成するステップと、ダイナミック・ドキュメント内のダイナミック・コンテンツ・オブジェクトに対応する定義辞書内に見出し項
目を第２生成するステップと、生成したドキュメント・インスタンスに関するレンダリング指定セクションを第３生成するステップと、レンダリング指定セクションをＶＩＰＤＬ出力ストリームに連結するステップと、宛先リストを使い果たすまで選択ステップと第１の生成ステップと第２の生成ステップと第３の生成ステップと連結ステップを繰り返すステップと、定義辞書内の情報からエレメント定義セクションを生成し、ＶＩＰＤＬ出力ストリームの先頭にエレメント定義セクションを付加するステップをさらに含むことができる。
【００１８】
そのうえ、本発明の一実施形態によれば、第１の生成ステップは、ダイナミック・コンテンツ・オブジェクトのセットに関するすべての照会を１つの照会に凝縮するステップと、和集合を最小限にしてその１つの照会を計算するステップとを含むことができる。
【００１９】
しかも、本発明の一実施形態によれば、第１の生成ステップは、ダイナミック・コンテンツ・オブジェクトのセットに関するすべての照会を１つの照会に凝縮するステップと、再選択を最小限にしてその１つの照会を計算するステップとを含むことができる。
【００２０】
さらに、本発明の一実施形態によれば、第１の生成ステップは、照会によって生成されたビューをキャッシュするステップと、キャッシュしたビューを再使用するステップとを含むことができる。
【００２１】
本発明の一実施形態によれば、照会最適化のための方法が提供される。この方法は、１組のダイナミック・コンテンツ・オブジェクトのセットに関するすべての照会を１つの照会に凝縮するステップを含む。
【００２２】
しかも、本発明の一実施形態によれば、この方法は、和集合を最小限にしてその１つの照会を計算するステップをさらに含むことができる。
さらに、本発明の一実施形態によれば、この方法は、再選択を最小限にしてその１つの照会を計算するステップをさらに含むことができる。
【００２３】
さらに、本発明の一実施形態によれば、この方法は、照会によって生成されたビューをキャッシュするステップと、キャッシュしたビューを再使用するステップとをさらに含むことができる。
【００２４】
添付図面に関連して読むと、以下の詳細な説明から本発明をより完全に理解し認識できるだろう。
【発明の実施の形態】
【００２５】
本出願人は、ダイナミック・ドキュメントの単一のメディア独立表現から、様々なメディア・タイプのドキュメントを生成するシステムおよび方法を開発した。しかも、本出願人は、パイプライン処理、ルール最適化、並行処理を使用して、処理時間およびメモリの要件において最適化を獲得する。
【００２６】
あるドキュメントの１組の個人化されたコピーを生成するために、プロセスに適切な命令を提示しなければならない。このような命令をコード化するための特定のフォーマットがどのようなものであるかにかかわらず、その命令は、主要エレメント（デザイン・レイアウト、データ、ルール）をカバーするものでなければならない。
【００２７】
デザインは、レイアウトとしても知られるページ・デザインとして定義する。ページ・デザインの一例は、ＩｎＤｅｓｉｇｎ（アドビシステムズ社から入手可能）ドキュメントである。その他の例示的な表現としては、ＱｕａｒｋＸＰｒｅｓｓ（米国コロラド州デン
バーのクォーク社から入手可能）のネイティブ・フォーマット、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｓｔｙｌｅ  Ｌａｎｇｕａｇｅ）ページ、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ページなどを含む。
【００２８】
データとしては、データ・レコードのセット（たとえば、人口統計情報）やコンテンツ・エレメント（たとえば、ピクチャ、グラフィクス、ビデオ・クリップ、テキスト・セクション）を含む。１組のレコード・セット、すなわち、プライム・セットは、所望の宛先（「宛先リスト」）の指定が与えられるセット（たとえば、ｂｅｇｉｎ  ｅｍｐｌｏｙｅｅ＿ｉｄキーと、単にｅｍｐｌｏｙｅｅ＿ｉｄのリストである宛先リストとを備えた従業員セット）である。
【００２９】
ルールは、ダイナミック・オブジェクトが何であるかと、所与の宛先に関してそのオブジェクトの値を計算する方法と、その値を所与のページ・レイアウトに配置する位置と方法とを指定する１組のルールである。
【００３０】
デザインとデータとを関連づけ、ルールをも提示する命令の例示的な表現については、本米国特許出願と同日付で出願され、本発明の譲受人に譲渡された「Ａ  Ｓｙｓｔｅｍ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｆｏｒ  Ｃｒｅａｔｉｎｇ  Ｃｕｓｔｏｍｉｚｅｄ  Ｄｏｃｕｍｅｎｔｓ  Ｆｏｒ  Ｃｒｏｓｓ  Ｍｅｄｉａ  Ｐｕｂｌｉｓｈｉｎｇ」という米国特許出願に記載されている。「Ａ  Ｓｙｓｔｅｍ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｆｏｒ  Ｃｒｅａｔｉｎｇ  Ｃｕｓｔｏｍｉｚｅｄ  Ｄｏｃｕｍｅｎｔｓ  Ｆｏｒ  Ｃｒｏｓｓ  Ｍｅｄｉａ
Ｐｕｂｌｉｓｈｉｎｇ」という米国特許出願は参照により本明細書に組み込まれる。適当なものであれば、どのような識別システムも使用可能であり、上記の特許は適当なシステムの一例であることに留意されたい。このため、本発明はこの特定の表現に限定されない。デザイン、データ、ルール情報を適切に提供する表現であれば、どのような表現でも使用することができる。以下の「ダイナミック・ドキュメント」という用語は、このようなコード化を含むものと定義する。
【００３１】
前述の通り、生成段階は、選択したターゲット・メディア用のフォーマットを生成する。最終レンダリングは、ワールド・ワイド・ウェブ（ウェブ）ブラウザ、電子メール・パッケージ、またはプリント・コントローラ（たとえば、ラスタ・イメージ・プロセッサ（ＲＩＰ））を含む、どのようなレンダリング・メディアでも生成することができる。
【００３２】
次に、本発明の一実施形態により構築され動作可能な生成システムの高レベル・ブロック図である図１を参照する。この生成システムは、ダイナミック・ドキュメント１２および宛先リスト１４に関連して動作可能なドキュメント・プロデューサ１６を含み、ＶＩＰＤＬ出力ストリーム１８を生成する。ＶＩＰＤＬ出力ストリーム１８は、後述する「可変情報ページ記述言語」（ＶＩＰＤＬ）で作成された出力ストリームである。ＶＩＰＤＬ出力ストリーム１８は、レンダリング・システム２０に入力されるが、そこでレンダリング・システム・コントローラ１９は、レンダリング・ドキュメント２１の物理的作成を担当する。
【００３３】
本発明の一態様では、出力は、ＶＩＰＤＬで生成される。プリント生成システム用の例示的な言語は、ＶＰＳ（可変プリント指定）（ＣｒｅｏＳｃｉｔｅｘ社から入手可能）とＰＰＭＬ（個人化プリント・マークアップ言語）（米国ニューヨーク州ウェスト・ヘンリエッタのＰｒｉｎｔ  ｏｎ  Ｄｅｍａｎｄ  Ｉｎｉｔｉａｔｉｖｅ社から入手可能）である。ウェブ用の例示的な言語は、ＨＴＭＬである。したがって、本発明では、レンダリング・システム向けの適切なＶＩＰＤＬを使用し、どのオリジナル・デザイン・システムからクロスメディア生成も可能にする。ＰＤＦ（ポータブル・ドキュメント・フォーマット）（アドビシステムズ社から入手可能）またはＰｏｓｔＳｃｒｉｐｔなどの伝統的なプリ
ント指定は、本発明の範囲に影響せずに使用することができる。当然のことながら、ＶＩＰＤＬの代わりにこのようなフォーマットを使用すると、ジョブ全体にわたってオブジェクトを再使用可能であるかどうかに関する重要な情報が失われる可能性があり、したがって、レンダリング・プロセス（本発明の一部ではない）の効率が低下する。
【００３４】
さらに、デザイン指定で特定のレイアウト・デザイン・タイプを使用しても、出力指定でそのタイプを使用することを暗示しているわけではない。たとえば、ＩｎＤｅｓｉｇｎタイプのレイアウトを使用しても、ウェブ上にはＨＴＭＬでそのドキュメント・インスタンスをレンダリングすることが可能である。同様に、ウェブ・デザイン・ツールを使用してドキュメントを作成することができるが、そのドキュメントは、ウェブ上に表示させたことがなくても、ドキュメント内の印刷ページとして直接レンダリングすることができる。
【００３５】
ＨＴＭＬ出力指定の作成時には、生成したＶＩＰＤＬ出力ストリーム１８は、実際に一群のＨＴＭＬページを含む可能性がある。プリント文書の場合のように、ＶＩＰＤＬ出力ストリーム１８が単一ストリームから構成されるのではなく、このようなページのそれぞれは、その文書の１つのインスタンスを表している。
【００３６】
本発明の他の実施形態では、複数のＨＴＭＬページが相俟って１つのインスタンスを表すことができる。このような場合、そのインスタンスの１つのページから他のページへのリンクが存在することになる。
【００３７】
ダイナミック・ドキュメント１２の個人化インスタンスを生成するための単純でまっすぐなプロセスは、宛先リスト１４が空になるまで選択、計算、作成、生成、付加を繰返し実行することである。これらのアクションは以下の通りに定義する。
【００３８】
・宛先リスト１４から次のレコードを選択する
・ダイナミック・ドキュメント１２のルールを使用して、選択したレコードが表す宛先に関する各ダイナミック・オブジェクトの値を計算する
・このレコード用のドキュメント・インスタンスを作成する
・このドキュメント・インスタンスのレンダリングを指定するコード（たとえば、ＰｏｓｔＳｃｒｉｐｔ、ＰＰＭＬ、ＨＴＭＬなど）を生成する
・このコードをＶＩＰＤＬ出力ストリーム１８に付加する
このプロセスの問題は、いくつかの重要領域で効率が良くないことである。選択段階と計算段階とを単純にステップごとに実行すると、かなりの数の冗長動作が発生し、その結果、不必要に処理速度が低下する可能性がある。さらに、各ドキュメント・インスタンスのディジタル表現を明示的に作成する必要はない。また、各ドキュメント・インスタンスに基づいてプリント指定コードを独立して生成する場合、様々なインスタンス間の類似性を活用しない。この類似性を使用すると、すでに処理済みのエレメント用のコードを再生成しないことによる節約が可能になるだろう。このため、レンダラ（たとえば、プリント・コントローラ）に指定を連絡する際にまたはレンダラがコードを処理する際にさらに節約できる可能性がある。さらに、これは、インスタンス間の独立性を利用しそうな並行処理を含まない。
【００３９】
生成前に重要な前処理が可能なシステムは、生成効率を高めることができるが、これは通常、バッチ・モード生成と事前選択したメディア・タイプの場合に限られる。しかし、一般にこのようなシステムでは、たとえば、デザイン、ルール、またはデータの指定レベルが、非常に基本的かつ厳密なので、フレキシビリティまたは使いやすさが低下する。
【００４０】
したがって、本発明の一態様では、コンポーネント（デザイン、データ、ルール）のい
ずれか１つをいつでも変更するために完全なフレキシビリティを残し、ただちに（すなわち、長々しい前処理ステップを行わずに）生成に移行するダイナミック・ドキュメント表現が好ましい。たとえば、「Ａ  Ｓｙｓｔｅｍ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｆｏｒ  Ｃｒｅａｔｉｎｇ  Ｃｕｓｔｏｍｉｚｅｄ  Ｄｏｃｕｍｅｎｔｓ  Ｆｏｒ  Ｃｒｏｓｓ  Ｍｅｄｉａ  Ｐｕｂｌｉｓｈｉｎｇ」という米国特許出願に記載されているダイナミック・ドキュメント１２のほとんどの表現は、あるインスタンスに必要な処理と他のインスタンスに必要な処理との依存関係を含まない。
【００４１】
以下に記載する方法およびシステムが技術革新をもたらすのは、ルール計算、インスタンス生成、明示的な再使用性、および並行性の分野である。
次に、図２を参照する。図２は、本発明の一実施形態により構築され動作可能で、ドキュメント・プロデューサ１６の構成単位を含む、図１の生成システムの詳細を示す概略ブロック図である。ドキュメント・プロデューサ１６は、パイプライン２１と、マージ・コンポーネント３０とを含む。パイプライン２１は、データ・イテレータ２２と、コンテンツ・オブジェクト・バッファ２４と、ドキュメント・インスタンシエータ２６と、出力ジェネレータ２８とを含む。マージ・コンポーネント３０は、マージ・プロセッサ３６に入力されるブックレット・セクション３２と定義辞書３４とを含む。ブックレット・セクション３２は、少なくとも１つのブックレットを含み、そのブックレットは、少なくとも１つのページを含む。各ページは、そのページ上のダイナミック・オブジェクトの配置に関する命令を含む。定義辞書３４は、再使用可能オブジェクトの少なくとも１つの定義を含み、１つの定義は、再使用可能オブジェクト名とその記述とを含む。この記述は、オブジェクトの外観を指定するコード（ＰｏｓｔＳｃｒｉｐｔなどの何らかの認知されたＰＤＬ（プリント記述言語）フォーマットまたはＧＩＦなどの画像フォーマットのいずれか）を含む。マージ・コントローラ３６は、定義セクションとブックレット・セクション３２とを含むＶＩＰＤＬコードを生成し、それがＶＩＰＤＬ出力ストリーム１８に送られ、次にレンダリング・システム２０に送られる。
【００４２】
データ・イテレータ２２は、上記の選択ステップと計算ステップとを実行する。データ・イテレータ２２は、その出力をコンテンツ・オブジェクト・バッファ２４に入れ、そこからドキュメント・インスタンシエータ２６が、それを入力として取り出す。ドキュメント・インスタンシエータ２６は、作成ステップと生成ステップとを実行する際に、出力ジェネレータ２８と連係して機能する。以下の説明でこれらのステップの結合実行に言及する場合、この２つのコンポーネントを、インスタンシエータ−ジェネレータ２６−２８と呼ぶことにする。ドキュメント・インスタンシエータ２６は、出力ジェネレータ２８が必要とするだけのインスタンスのみを作成する。マージ・プロセッサ３６は、付加ステップを実行する。
【００４３】
本明細書に記載するドキュメント・プロデューサ１６により、データ・イテレータ２２によって行われる処理の一部である計算の最適化と、上記のサブシステムを必要とするパイプライン処理と、並行パイプラインの使用とが可能になる。
【００４４】
＜パイプライン処理＞
本発明の生成方法では、プロデューサ・プロセスのアーキテクチャと、ダイナミック・ドキュメント１２の表現のプロパティとを使用して、３段階のパイプライン・プロセスを使用する。第１の段階は、データ・イテレータ２２によって実行され、第２の段階は、インスタンシエータ−ジェネレータ２６−２８によって実行され、第３の段階は、マージ・コンポーネント３０によって実行される。
【００４５】
コンテンツ・オブジェクト・バッファ２４により、データ・イテレータ２２は、ドキュメント・インスタンシエータ−ジェネレータ２６−２８との「生産者／消費者」関係で機
能することができる。データ・イテレータ２２は、宛先リスト１４から次のレコードを選択することによって誘導されるデータ処理タスクを実行し、このインスタンスに必要なページ・レイアウトとコンテンツ・オブジェクトとのセットを計算する。この計算の結果は、コンテンス・オブジェクト・バッファ２４を介して、ドキュメント・インスタンシエータ２６に転送される。宛先リスト１４が使い尽くされず、バッファ記憶域がいっぱいにならない（または他の何らかの「すかし」状の条件を満たす）限り、データ・イテレータ２２は、ドキュメント・インスタンスに関するレイアウトとコンテンツ・オブジェクトの計算を続行する。
【００４６】
インスタンシエータ−ジェネレータ２６−２８は、コンテンツ・オブジェクト・バッファ２４から次のレイアウトとコンテンツ・オブジェクトとの集合を取り出し、特定のインスタンスを自動的に作成するために、その集合内のレイアウトに適したレイアウト・エンジンを使用し、それを実行しながら、レンダリング指定の必要なパーツを生成する。最も包括的な意味において、レンダリング指定は、レンダリング・ジョブにおけるすべての再使用可能オブジェクトの定義を有する定義セクションと、すべての指定のインスタンスのレンダリングのための指定を有するブックレット・セクション３２という、２つのパーツから構成される。
【００４７】
マージ・プロセッサ３６は、単一定義セクションと次に単一ブックレット・セクション３２を作成する場合もあれば、定義セクションと、それに続いてそのオブジェクトのすべてがすでに定義セクションに現れているブックレットに関するブックレット・セクション３２とをインタリーブすることができる。
【００４８】
実現効率の観点から見ると、定義セクションに現れるべき見出し項目を表すために定義辞書３４を使用することが好ましい。完全なＶＩＰＤＬ出力ストリーム１８が放出される最終段階でのみ、定義辞書３４は定義セクションに変換される。なお、定義セクションを直接使用し、定義辞書３４の段階をまったくスキップするために特定の実現例を選択できることに留意されたい。
【００４９】
ブックレット・セクション３２は、ドキュメント・インスタンスのページを指定するものであり、定義辞書３４に定義された（あるいは、前のインスタンスの生成を処理したプロセスによる）再使用可能オブジェクトへの参照と、このブックレットが表すドキュメント・インスタンスに固有の見出し項目用の即時（すなわち、リテラル）コードとを使用する。コンテンツ・オブジェクト・バッファ２４が空にならない（あるいは、この場合も何らかのすかし状プロパティが持続する）限り、また、ブックレット・セクション３２と定義辞書３４用の記憶バッファとがいっぱいにならない限り（この場合もすかし）、インスタンシエータ−ジェネレータ２６−２８は、定義辞書３４内の見出し項目とブックレット・セクション３２内のブックレットとを生成し続ける。
【００５０】
パイプラインの第３のステップは、マージ・プロセス３６によって実行されるが、このプロセスもバッファおよび情報の可用性によってパイプライン化される。これは、ＶＩＰＤＬ出力ストリーム１８を生成する、まっすぐなプロセスである。これは、定義辞書３４に含まれる定義をマージし、ＶＩＰＤＬ出力ストリーム１８の先頭に定義セクションを生成する。次に、これは、マージしたブックレット・セクション３２のストリームを付加する。この場合も、レンダリング指定が定義とブックレットとの混合を必要とするならば、本発明の方法は、それを可能にするだろう。
【００５１】
マージ・プロセスは、再使用可能オブジェクトの冗長定義を取り除くか、またはストリームを分割して印刷システムの方が良好に処理できるより小さいセットにすることができる。
【００５２】
＜並列パイプライン＞
本発明の他の実施形態は、複数のパイプラインを同時に立ち上げる能力である。このように複数のインスタンスを別々に生成できることは、前述のようにインスタンスの独立性によるものである。次に、図３を参照する。図３は、本発明の一実施形態により構築され動作可能な生成システムの概略ブロック図である。この生成システムは、パーツ・ジェネレータ４４と、多数のパーツ４２と、多数のパイプライン２１と、多数の定義辞書３４と、多数のブックレット・セクション３２と、ダイナミック・ドキュメント１２、宛先リスト１４、ＶＩＰＤＬ出力ストリーム１８、レンダリング・システム２０に関連して動作可能なマージ・プロセッサ３６Ａとを含む。
【００５３】
宛先リスト１４が与えられると、それを本明細書でパーツ４２と呼ぶ個別セットの集合に分割することが可能となり、その場合、各パーツ４２は、元のリスト内の見出し項目の順序を保持し、各パーツ４２が識別されるので、パーツ間の順序を保持することができる。一例として、基数が１００，０００の宛先リスト１４について検討する。そのリストをそれぞれ１０，０００個の項目からなる１０個のパーツに分割することは可能であり、その場合、第１のパーツ４２は、元のリストの最初の１０，０００個の項目から構成され、第２のパーツ４２は、元のリストの１０，００１〜２０，０００の項目から構成され、一般にｎ番目のパーツ４２は、１≦ｎ≦１０の場合、（ｎ−１）＊１０，０００＋１・・・（ｎ−１）＊１０，０００＋１０，０００個の項目から構成される。順序保持パーツ４２の作成は、順序が元のリストのプロパティの１つである場合のみ、必要である。たとえば、宛先リスト１４内のレコードが、たとえば、郵便番号の順序で現れる場合、パーツ４２内の順序とパーツ４２間の順序とを保持することが重要になるだろう。
【００５４】
このシステムは、宛先リスト１４を適切なパーツ４２に分割するパーツ・ジェネレータ４４を使用し、各パーツ４２ごとに個々のパイプライン２１を立ち上げる。パーツ・ジェネレータ４４は、パーツ４２の数とそれぞれの相対順序とを矢印４６によりマージ・プロセスに指示する。
【００５５】
各パイプライン２１は、他のすべてのパイプライン２１と並列に、自律的に動作する。各パイプライン２１は、それ自体のブックレット・セクション３２と定義辞書３４とを生成するが、これらはパーツ・ジェネレータ４４が生成する順序情報によって識別されるプロパティである。マージ・プロセッサ３６Ａは、単一パイプライン２１の一部でなく、むしろ、ブックレット・セクション３２と定義辞書３４とのすべての対から、１つの整合性のあるＶＩＰＤＬ出力ストリーム１８へのマージを処理する。
【００５６】
リストをパーツ４２に分割し、複数のパイプライン２１を並列に立ち上げることによって発生する固有の問題は、あるパイプライン２１の定義辞書３４に定義されたエレメントを、他のパイプライン２１のブックレット・セクション３２が使用することである。２通りの極端な解決策が存在するが、一方は「共用なし」と呼ばれ、もう一方は「固定共用」と呼ばれる。
【００５７】
共用なしの解決策では、各パイプライン２１は自律的に機能し、それが定義するどの再使用可能オブジェクトについてもその定義辞書３４に見出し項目を作成する。（これは、その辞書に定義されていない再使用可能オブジェクトを参照することができるが、他のパイプライン２１が欠落定義をその定義辞書３４に挿入するものと想定する。）これにより、並列性が完璧なものになるが、種々のパイプライン２１の定義辞書３４間で多くの冗長定義が発生する。このため、他のパイプライン２１ですでに定義されている見出し項目に関する定義を生成する必要があるので、メモリの負荷と、マージ・プロセスへの負荷と、インスタンシエータ−ジェネレータ２６−２８への負荷とが増加する。マージ・プロセス
が冗長定義の除去を処理しない場合、これはレンダリング・システム・コントローラ１７（図１）への負荷になる。
【００５８】
固定共用の解決策では、あるパイプライン２１の定義辞書３４内の新しい見出し項目を他のすべてのパイプライン２１に普及させ、いずれも冗長情報を使用しないことを保証しなければならない。この方法は、上記の非効率を解決する際に最適なものである。しかし、それ自体のペースで前進するために必要な自由を各パイプライン２１に与えず、したがって、システム全体を減速する可能性がある。
【００５９】
本発明の生成システムから得られる解決策では、共用を使用するが、厳密な固定要件は使用しない。種々の定義辞書３４の冗長性によって正確さの問題が発生しないということを利用して、本明細書に記載するシステムでは、並行パイプライン２１間に定義辞書３４の情報を普及するために「ゴシップ」状のアルゴリズムを使用する。分散処理で情報を普及することに関する「ゴシップ」という用語は、ＭＩＴのＬｉｓｋｏｖおよびＬａｄｉｎによって最初に造り出されたものである。各パイプライン・プロセスは、「ゴシップ」と表示した矢印が示すように、それが生成した定義辞書３４の新しい見出し項目を、他のすべてのパイプライン・プロセスに通知する。しかし、それは、すべてのパイプライン２１が各見出し項目を受け取って処理したことを確認するまで待たず、後続ステップを行う前に他から新しい見出し項目を受け取ったことを確認するためにそれ自体を中断することもしない。あるプロセスがこのようなゴシップ・メッセージを受け取ると、そのプロセスは、ゴシップ項目がその定義辞書３４にすでに定義されているかどうかをチェックする。すでに定義されている場合、そのプロセスはゴシップを無視する。定義辞書３４のゴシップ項目がこれまでにそのプロセスの定義辞書３４に追加されていない場合、その項目は追加される。この方式の正確さは、再使用可能エレメントの名前が固有のものになるように生成されるという想定に基づくものであり、生成プロセスの生成時間またはＩＤには依存しない。すなわち、どのパイプライン・プロセスも、特定のコンテンツ・オブジェクトを表す再使用可能オブジェクトに関してまったく同じ名前を与えることになる（たとえば、コンテンツ・オブジェクト変数の名前を、このインスタンスのために選択したコンテンツからの項目の名前と連結することによる）。
【００６０】
ゴシップ方法は、いかなる冗長も発生しないことを保証するわけではない。これは、冗長カウントが低くなる見込みを改善し、その結果、全体的なパフォーマンスを改善する。
【００６１】
＜照会（クエリ）最適化＞
以下では「照会（クエリ;query）」と「ビュー」という用語を区別なく使用することに留意されたい。照会は、所与の論理により、通常は和集合により、複数のデータベーステーブルを徹底的に捜すことによって何らかの「仮想」レコードの生成を可能にする。所与の状況では、このような仮想レコードのテーブルをビューと呼ぶ。
【００６２】
データ・イテレータ２２の主なパフォーマンス問題は、結果的に所与のインスタンス用のレイアウトまたはコンテンツ・オブジェクトのセットを作成することになる、所与のインスタンスに関するルールを評価するために、複雑な照会を使用する必要があることから発生する可能性がある。インスタンスごとに複数のダイナミック・オブジェクトが発生し、それぞれがそれぞれの照会（すなわち、ルール）を有することになる可能性が非常に高い。しかし、このような照会は、照会間で共通のいくつかのパーツを有することができる。さらに、連続インスタンスのダイナミック・オブジェクトを評価する場合、照会は、単に繰り返すだけである。
【００６３】
データ・イテレータ２２は、ダイナミック・ドキュメントの各インスタンスを生成する際に照会最適化技法を実行する。データ・イテレータ２２は、まず、すべてのダイナミッ
ク・オブジェクトを１つの結果レコードに結合し、すべての個々の照会を１つの照会に凝縮して、完全な結果レコードを生成する。この結果、所与のインスタンスに関するコンテンツ・オブジェクトの完全なセットが直ちに得られることになる。照会のセットを凝縮する際には、２通りの最適化基準を使用する。一方は、和集合の最小化である。もう一方は、同じレコードの反復選択の最小化である。
【００６４】
（和集合の最小化）
たとえば、宛先レコードから導出した情報が、書籍の好みを示すことについて検討する。この好みに基づいて、「書籍」ビューのいくつかのレコードが取り出される。このような書籍レコードのそれぞれは、たとえば、書籍名と、表紙の絵と、書籍の解説と、書籍の著者と、書籍との価格を含む、１組のダイナミック・オブジェクトを決定する。このようなダイナミック・オブジェクトの値は、単にこれらの属性に書籍レコードを投影（関係代数で定義した通り）し、属性の値を対応するコンテンツ・オブジェクトに割り当てるだけで導出される。
【００６５】
次に、書籍ビューが、いくつかの書籍関連テーブル上の何らかの和集合の結果であると想定する（たとえば、価格−＜ｉｄ，＄＞，著者−＜ｉｄ，名前＞，解説−＜ｉｄ，テキスト＞，表紙−＜ｉｄ，画像＞，など）。各ダイナミック・オブジェクトごとにこの和集合を実行することを回避することは、非常に有益なことになるだろう。
【００６６】
（再選択の最小化）
最適化方法により冗長和集合が節約されると想定すると、各ダイナミック・オブジェクトごとに１組の好ましい書籍を再選択することは依然として時間の無駄になるだろう。したがって、個々の照会を凝縮する際に、そのレコードのすべての関連フィールドをすべての関連ダイナミック・オブジェクトに多重代入することにより、あるレコードセットについて選択したレコードを再使用する試みが行われる。
【００６７】
（一層の照会最適化）
ダイナミック・ドキュメント１２の種々のインスタンスにわたって上記の技法を実行することにより、さらに最適化が達成される。和集合によって定義した照会によって生成されるビューは、メモリ上の制約によりキャッシュされ保管される。最後に、計算した照会から再生成するのではなく、キャッシュしたビューを再使用する試みが行われる。
【００６８】
＜＜他の実施形態＞＞
生成したＨＴＭＬ「ドキュメント」にアクセスする方法の１つは、あるいはユーザのログイン情報の自動検索を含む、伝統的なログイン機能を処理できるＨＴＭＬページの先頭ページを用意することである。このログイン情報に基づいて、ログインしたユーザに関して生成したドキュメント・インスタンスを表す特定のＨＴＭＬファイルを提示することができる。
【００６９】
本発明の他の実施形態では、要求あり次第、インスタンス・ドキュメントのＨＴＭＬページを生成することもできる。すなわち、特定のユーザのログイン情報を受け取ると、本発明のシステムは、そのユーザに関する特定のドキュメント・インスタンスを生成するために呼び出される。
【００７０】
本発明のさらに他の実施形態では、ＨＴＭＬドキュメント・インスタンスにアクセスするために使用するメカニズムは、そのユーザの特定のドキュメント・インスタンスを指し示すＵＲＬを有する電子メール・メッセージにすることができる。別法として、ＨＴＭＬページ（複数も可）を電子メール・メッセージ自体に埋め込むこともできる。
【００７１】
具体的に図示し、上記に記載したものによって本発明が限定されないことは、当業者であれば分かるだろう。むしろ、本発明の範囲は、特許請求の範囲に定義されている。
【図面の簡単な説明】
【００７２】
【図１】本発明の一実施形態により構築され動作可能な生成システムのブロック図である。
【図２】本発明の一実施形態により構築され動作可能な図１の生成システムの詳細を示すブロック図である。
【図３】本発明の他の実施形態により構築され動作可能な生成システムの概略ブロック図である。
【図１】
2011170858.tif 000003
【図２】
2011170858.tif 000004
【図３】
2011170858.tif 000005
【手続補正書】
【提出日】平成23年2月18日(2011.2.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ダイナミック・ドキュメントと宛先リストとからＶＩＰＤＬ出力ストリームを生成する生成システムであって、該システムは、
前記宛先リストを複数のパーツに分割するパーツ・ジェネレータと、
前記宛先リストを並列処理する複数のパイプラインと、 
前記複数のパイプラインから再使用可能オブジェクト定義を受け取る複数の定義辞書と、
前記複数のパイプラインからレイアウト情報を受け取る複数のブックレット・セクションと、
前記複数の定義辞書および前記複数のブックレット・セクションのコンテンツから前記ＶＩＰＤＬ出力ストリームを生成するマージ・プロセッサとを含む生成システム。
【手続補正書】
【提出日】平成23年3月28日(2011.3.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
可変情報ページ記述言語（ＶＩＰＤＬ）のアウトプット・ストリームを、レイアウト及び複数のダイナミック・オブジェクトを備えるダイナミック・ドキュメントから生成するのに用いるために、複数の定義辞書及び複数のブックレット・セクションについてコンテンツを発生する生成システムにおいて、各ダイナミック・オブジェクトが、宛先レコード・データと複数の宛先レコードを含む宛先リストとに基づいて決定されるコンテンツを有するオブジェクトを表しており、各宛先レコードが、各宛先ごとに関連付けられるそれぞれのデータ・フィールドについて複数の値を含んでおり、前記システムが、
前記宛先リストを複数のパーツに分割するパーツ・ジェネレータであって、各前記パーツが、前記宛先リストにおける複数の宛先レコードを含む、パーツ・ジェネレータと、
前記宛先リストの前記各パーツを受けて、それぞれを並列処理する複数のパイプラインであって、それぞれが、処理される前記宛先リストのパーツ内の各宛先レコードに対して、前記ダイナミック・ドキュメントのダイナミック・オブジェクトのアプリケーションに基づいて再利用可能なオブジェクト定義を生成するものである、パイプラインと、
前記複数のパイプラインによって生成される前記再利用可能オブジェクト定義を保管するための複数の定義辞書と、
前記ダイナミック・ドキュメントのレイアウトに基づいて、前記複数のパイプラインからレイアウト情報を保管するための複数のブックレット・セクションと、
前記定義辞書に保管された前記再利用可能オブジェクト定義のコンテンツをマージして前記ブックレット・セクションにおける前記レイアウト情報とすることで、ＶＩＰＤＬ出力ストリームを発生するマージ・プロセッサと、
を備える、システム。
【請求項２】
可変情報ページ記述言語（ＶＩＰＤＬ）のアウトプット・ストリームを、レイアウト及び複数のダイナミック・オブジェクトを備えるダイナミック・ドキュメントから生成する方法において、各ダイナミック・オブジェクトが、宛先レコード・データと複数の宛先レコードを含む宛先リストとに基づいて決定されるコンテンツを有するオブジェクトを表しており、各宛先レコードが、各宛先ごとに関連付けられるそれぞれのデータ・フィールドについて複数の値を含んでおり、前記方法が、
前記宛先リストを複数のパーツに分割するステップであって、各前記パーツが、前記宛先リストにおいて複数の宛先レコードを含むステップと、
処理される前記宛先リストのパーツにおける各宛先レコードに対して、複数のパイプラインが、前記ダイナミック・ドキュメントのダイナミック・オブジェクトのアプリケーションに基づいて再利用可能なオブジェクト定義を生成することにより、前記宛先リストのパーツの各々を並列処理するステップと、
前記複数のパイプラインによって生成される再利用可能オブジェクト定義を複数の定義辞書内に保管するステップと、
複数のブックレット・セクションにレイアウト情報を保管するステップであって、前記レイアウト情報が前記ダイナミック・ドキュメントのレイアウトに基づくステップと、
ＶＩＰＤＬ出力ストリームを生成するために、前記定義辞書から取り出される前記再利用可能オブジェクト定義をマージして前記ブックレット・セクションから取り出される前記レイアウト情報とするステップと、
を備える、システム。
【請求項３】
請求項２に記載の方法であって、更に、
ダイナミック・コンテンツ・オブジェクトのセットについて複数のクエリを受けるステップと、
前記クエリの全てを１つのクエリに凝縮するステップであって、前記１つのクエリが、前記宛先リストの各前記パーツにおける各宛先レコードについて処理されるステップと、
を備える、方法。
【請求項４】
請求項３に記載の方法であって、更に、和集合を最小化する前記１つのクエリを計算するステップを備える、方法。
【請求項５】
請求項３に記載の方法であって、更に、再選択を最小化する前記１つのクエリを計算するステップを備える、方法。
【請求項６】
請求項３に記載の方法であって、更に、
クエリによって発生されるビューをキャッシュするステップと、
前記キャッシュされたビューを再利用するステップと、
を備える、方法。