(57)【要約】【課題】バインダ文書ファイルのセキュリティを確実かつ柔軟に行うことで、ページ管理を容易にし、バインダ文書ファイルの活用範囲の拡大化を図る。【解決手段】電子ドキュメントを構成する各ページから新たなバインダ文書ファイルを生成する電子バインダ装置において、バインダデータ１０２の各ページに係わるセキュリティ情報を設定するための拡張記録領域を設け、上記拡張記録領域にバインダデータ１０２のセキュリティに関する情報を設定し、このセキュリティに関する情報に基づき、バインダページ管理部１０６はページの編集許可を付与するようにすることにより、ページ単位の不正な編集を防止してセキュリティ機能を向上させることができるようにする。【選択図】      図１
2004151868.tif 000002
【特許請求の範囲】
【請求項１】
電子ドキュメントを構成する複数のページの中から必要なページを集めて新たなバインダ文書ファイルを生成する電子バインダ装置であって、
上記バインダ文書ファイルを構成する各々のページに係わるセキュリティ情報を指定するための拡張記録領域を設定する拡張記録領域設定手段と、
上記拡張記録領域設定手段により設定された拡張記録領域に上記バインダ文書ファイルのセキュリティ情報を設定するセキュリティ情報設定手段と、
上記セキュリティ情報設定手段により上記拡張記録領域に設定されたセキュリティ情報に基づいてページに関する情報を管理するページ情報管理手段とを備えたことを特徴とする電子バインダ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は電子バインダ装置に関し、特に、電子的な情報を記録した文書の管理を行なうために用いて好適なものである。
【０００２】
【従来の技術】
企業では、最新の文書管理システムを導入して、既に作成した文書の再利用を推進しようとしている。初期の文書管理システムにおいては、スキャナ等の文字読み取り装置を用いて、紙媒体に印刷された文書情報を文字データまたは画像データとして読み出し、記録媒体に書き込むことで、上記文書情報を登録保存するようなシステム構成であった。
【０００３】
それに対し、最近の文書管理システムでは、パソコン等で作成された電子情報の文書を上記文字読み取り装置等を用いずに、記録媒体に直接登録して保存できるようになっている。
【０００４】
また、複写機等の画像読み取り装置が読み取った画像データを、文書管理システムが備えている記録媒体に、直接的にかつ自動的に登録することができる文書管理装置や文書管理システムも知られており、文書管理システムが徐々に用いられるようになってきている。
【０００５】
さらに、最近では、文書管理システムが備えている記録媒体に登録されている複数の文書の中から、任意のページをそれぞれ抜き出して、上記抜き出したページをいわゆるバインダで綴じるかのようにまとめて一つの文書を作成することができるような文書管理システムも提案されている（例えば、特許文献１参照。）。本願ではそのような文書管理システムを、電子バインダシステムと称することとする。
【０００６】
上記特許文献１に記載された電子バインダシステムの場合、電子バインダシステム内部において、文書ファイルの順序付けは各文書ファイル単位に行なっている。しかしながら、文書ファイルを構成する個々のページに対するページ操作を行なうことはできないようになっている。
【０００７】
また、文書ファイルを統一フォーマットによって一つのバインダ文書ファイルとして取り扱い、プリンタドライバを用いて上記バインダ文書ファイルを印刷できるようにした技術も提案されている（例えば、特許文献２参照。）。
【０００８】
この場合も、上記バインダ文書ファイルは、文書ファイル単位で管理されており、バインダ文書ファイルを構成する各ページ単位で並べ替えを行ったり、削除を行ったり等の編集を行なうことはできていない。
【０００９】
また、他の特許文献によれば、ページめくりのための管理テーブルを保持する文書管理システムが提案されている（例えば、特許文献３参照）。これにおいても、ページ単位の編集操作については何も記載されていない。
【００１０】
上記以外の他の電子バインダシステムには、バインダとして綴じられた各ページを削除したり、並べ替えたりすることができるようになっているものがある。
【００１１】
また、各種アプリケーションソフトによって、それぞれ個別に作成された文書ファイルが保存された記録媒体から上記文書ファイルを読み出して、文書ファイル単位でバインダに綴じることができるような文書管理システムも知られている。上記文書管理システムの場合、どのようなアプリケーションソフトプログラムで作成された文書ファイルでも、一つの文書として扱うことができるようになる。
【００１２】
例えば、ワードプロセッサ文書及びプレゼンテーション用の文書が記録媒体に保存されている場合、これらの文書の表示や保存の順序を変更したり、あるいは、新たな文書を追加したりすることができる。
【００１３】
上述したように、バインダ文書ファイルのページの管理については、ユーザのニーズにより様々なことが要求されるようになってきており、電子バインダシステムに求められる機能も複雑化・煩雑化してきている。
【００１４】
【特許文献１】
特開２００１−０３４５１１号公報
【特許文献２】
特開２００１−２２９１５９号公報
【特許文献３】
特開２０００−１２２７８２号公報
【００１５】
【発明が解決しようとする課題】
上述したように、バインダ文書ファイルでは、記録媒体上に保存された様々な種類の文書ファイルを編集して作成することが可能である。また、バインダ文書ファイルは、束ねた情報を上記作成元の文書ファイルと切り離してページ単位で編集することが可能である。
【００１６】
しかしながら、従来のバインダ文書ファイルは、上記文書ファイル（バインダ文書ファイルの作成元）の情報を文書ファイル単位として扱っておりページ単位として取り扱うように成されていない。
【００１７】
この場合、たとえ上記文書ファイル（バインダ文書ファイルの作成元）そのものに対して編集不可のセキュリティを施していても、作成したバインダ文書ファイルでは情報がページ単位で扱われる。そのため、編集許可の与えられていない第三者が、バインダ文書ファイルを構成する個々のページそのものにアクセスして編集することができてしまうという問題があった。
【００１８】
また、バインダ文書ファイル内では、文書ファイル単位に依らず、ページ単位で並べ替えを自由に行なうことが可能である。そのため、例えば、ページの順番が不正に入れ替えられてしまい、元の意味内容が変更されてしまうという問題もあった。
【００１９】
本発明は上述した問題点にかんがみ、電子データを記録した文書から任意のページを抜き出してバインダのように綴じたバインダ文書ファイルのセキュリティ管理を確実にかつ柔軟に行なえることを目的とする。
【００２０】
【課題を解決するための手段】
本発明の電子バインダ装置は、電子ドキュメントを構成する複数のページの中から必要なページを集めて新たなバインダ文書ファイルを生成する電子バインダ装置であって、上記バインダ文書ファイルを構成する各々のページに係わるセキュリティ情報を指定するための拡張記録領域を設定する拡張記録領域設定手段と、上記拡張記録領域設定手段により設定された拡張記録領域に上記バインダ文書ファイルのセキュリティ情報を設定するセキュリティ情報設定手段と、上記セキュリティ情報設定手段により上記拡張記録領域に設定されたセキュリティ情報に基づいてページに関する情報を管理するページ情報管理手段とを備えたことを特徴としている。
【００２１】
これにより、例えばバインダ文書ファイルに対して編集不可のセキュリティが施されているだけでは文書管理のセキュリティ性が不十分な電子バインダ装置の場合、ページ単位で編集不可のセキュリティが設定されることから、ページそのものの編集を防止することが可能となる。
【００２２】
また、本発明によるバインダ文書ファイルでは、文書単位に依らず、ページの並べ替えを自由に行なうことが可能なことから実行されてしまう、ページの順序の入れ替えによるバインダ文書の意味の変更を防ぐことが可能となる。
【００２３】
【発明の実施の形態】
以下、本発明の電子バインダ装置の実施の形態について、図面を参照しながら説明する。
【００２４】
（第１の実施の形態）
本実施の形態は、種類の異なるアプリケーションソフトで作成したそれぞれの文書ファイルが有するデータを、同一の文書ファイルにおけるページのデータとしてみなして、上記各ページをバインダの綴りのように取り扱うことを可能とした電子バインダ装置において、上記バインダのページ管理（保持）に関する実施の形態である。
【００２５】
まず始めに、本実施の形態におけるバインダ文書ファイルについて説明する。本実施の形態においてバインダ文書ファイルとは、異なる種類のアプリケーションソフトで作成した複数の文書ファイルを、それぞれの文書を作成するために用いたアプリケーションソフトの違いを意識すること無しに扱うことが可能なフォーマット形式で綴られた文書ファイルである。
【００２６】
例えば、バインダ文書ファイルには、アプリケーションソフトのデータファイル（素材文書）を単純に束ねただけでページが確定されていないフォーマット形式による文書ファイルもある。第１の実施の形態では、素材文書のページを確定させ、その確定させたページから必要なページを集めて生成したフォーマット形式のバインダ文書ファイルを対象とする。
【００２７】
このため、例えばプレーンテキスト文書などのように文書のページ区切りが明確でないものがあるため、本実施の形態においては、ページを確定させるために、文書ファイルが電子バインダ装置に挿入（インポート）された時点で各ページを確定させるようにしている。
【００２８】
バインダ文書ファイルのページを確定させる具体的な方法としては、アプリケーションソフトの印刷機能を利用して行なう方法が挙げられる。例えば、Ａｄｏｂｅ社のＰＤＦであるとか、Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）で定められたＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）などのように、バインダ文書ファイルをアプリケーションソフトに依らずに表示や印刷を行なうことができる統一的なフォーマット形式に変換して、上記ページを確定する方法を考慮することができる。
【００２９】
このように、バインダ文書ファイルのページを確定させ、統一的なフォーマット形式に変換することにより、例えば、バインダ文書ファイルを構成している元の素材文書を作成するために用いたアプリケーションソフトが存在しない環境でも、バインダ文書ファイルの閲覧や印刷等を行なうことができる。
【００３０】
また、素材文書を作成するために用いたアプリケーションソフトが存在する環境でも、アプリケーションソフトの設定内容等の相違により、素材文書のあるページの内容が、バインダ文書ファイルでは異なるページ位置に表示されてしまう可能性が存在していた。バインダ文書ファイルのページを統一的なフォーマット形式に変換することは、上述したようなページ表示の位置ずれを回避することを可能にしている。
【００３１】
さらに、バインダ文書ファイルを扱うことが可能なアプリケーションソフトでは、バインダ文書ファイルに新規なページを挿入することや、或いは既存のページを削除することや、ページ間移動等を行なうことができる。また、任意の連続したページを束ねたり、束ねられているページを解除したり、または１つに束ねられたページを２つ以上に分割したりすること等ができる。
【００３２】
次に、図面を参照しながら、本発明の実施の形態を説明する。
図１は、本実施の形態の電子バインダ装置１００の一例を示す構成図である。図１において、１０１はデータベースであり、バインダ文書ファイルをはじめ、他の種類の文書データや、文書に関するメタデータ、あるいは検索に必要なデータ等が格納されている。
１０２は、上記データベース１０１に格納されるバインダデータ（バインダ文書ファイルを構成するデータ）である。
【００３３】
１０３は、必要な情報を基にバインダデータ１０２を生成するバインダデータ生成管理部（バインダ文書ファイル生成手段）である。バインダデータ生成管理部１０３は、バインダ文書ファイルを構成する各々のページに係わるセキュリティ情報を設定するための拡張記録領域を設定したり、データベース１０１から読み出したバインダデータ１０２の情報を管理したりする。なお、このバインダデータ生成管理部１０３により、後述するページ編集に関するセキュリティ情報等を設定するセキュリティ情報設定手段が構成されている。
【００３４】
１０５は、バインダデータ１０２の内部に含まれる文書ファイルを管理するためのバインダ内部ファイル管理部である。このバインダ内部ファイル管理部１０５により、上記文書ファイルをページ単位に分割するページ分割手段、文書更新管理手段、及びページ画像更新手段が構成されている。
【００３５】
１０６は、バインダデータ１０２のページ構成を管理するためのバインダページ管理部である。バインダページ管理部１０６により、ページに関する情報を管理するページ情報管理手段が構成されている。
【００３６】
１０７は、バインダデータ１０２に対するユーザの操作指示を行なうためのデータベースアクセスユーザインターフェイス部である。上記データベースアクセスユーザインターフェイス部１０７を介して、ユーザの操作指示がバインダ内部ファイル管理部１０５やバインダページ管理部１０６に対する制御指示として伝達される。
【００３７】
具体的にバインダデータ１０２に対して、ユーザが編集操作を指示した場合に行われる処理について述べる。例えば、ユーザがバインダデータ１０２に、他の文書ファイルのデータを追加するための処理を行なわせる指示をした場合を示す。
【００３８】
先ず、バインダ内部ファイル管理部１０５は、上記他の文書ファイルからページ毎に分割したページイメージを生成する。
【００３９】
なお、このページイメージとは、先に述べたバインダ文書ファイルのページを確定させるための所定のフォーマット形式に基づくイメージ情報であり、例えば、画像、Ａｄｏｂｅ社のＰＤＦ、Ｗ３ＣのＳＶＧ等のことを表す。
【００４０】
次に、バインダ内部ファイル管理部１０５は、追加される文書をバインダデータ生成管理部１０３に通知する。更に、バインダ内部ファイル管理部１０５は、バインダページ管理部１０６に対して、上記分割された他の文書ファイルのページ情報を通知する。
【００４１】
次に、バインダページ管理部１０６は、バインダデータ生成管理部１０３に対して、必要なページに関する情報を通知する。バインダデータ生成管理部１０３は、バインダ内部ファイル管理部１０５及びバインダページ管理部１０６から通知された上記他の文書ファイルに関する情報を基に、バインダデータ１０２を生成する。そして、上記生成したバインダデータ１０２をデータベース１０１に登録する。
【００４２】
一方、文書ファイルのデータを削除する場合も上述した文書ファイルのデータを追加する場合と同様に、バインダ内部ファイル管理部１０５は管理していた該当文書ファイルを削除するとともに、上記削除した文書ファイルに関するページイメージを削除した旨をバインダページ管理部１０６に通知する。
【００４３】
この通知を受けたバインダページ管理部１０６は、バインダデータ生成管理部１０３に対して、バインダ内部ファイル管理部１０５によって上記文書ファイルの指定されたページが削除されたことを通知し、上記削除されたバインダページに関するページ管理情報の削除を行なう。
【００４４】
バインダページ管理部１０６からページ削除の通知を受けたバインダデータ生成管理部１０３は、ページ削除後のバインダデータ１０２を再生成してデータベース１０１に登録する。
【００４５】
本実施の形態においては、バインダデータ１０２の各ページ情報そのものはバインダページ管理部１０６に存在しており、電子バインダ装置１００の内部でページの追加、変更、及び削除等の編集を行なうために必要となるメッセージをやり取りしている。
【００４６】
本実施の形態の電子バインダ装置１００において、ページを表す実体（ページ情報）は、各ページ間で独立して存在している。ここで、そのページの実体をπとし、ｎページ目の実体をπｎと表す。また、バインダを表す実体（文書ファイル情報）をβとする。なお、バインダの実体βは、各バインダについて一つしか存在しないため、ページの実体πｎのような末尾の添え字（サフィックス）であるｎを伴なって表記されない。
【００４７】
ここで、バインダの実体β（以下、バインダβと称する）についての特徴を述べる。
１．バインダβは、ゼロ個以上のページπから構成される。
２．バインダβは、ページπから出力されるメッセージを受信する。
３．バインダβは、特定のページπへメッセージを送信する。
４．バインダβは、全てのページπへメッセージを送信する。
５．バインダβは、バインダβの総ページ数を把握している。
【００４８】
上記１．について、バインダβがいかなるページπｎも持たない場合は、バインダβは空のバインダを意味することになる。
また、上記４．について、バインダβ自身が把握しているのはバインダβが有する総ページ数の情報だけであり、バインダβを構成する個々のページに関する情報については関知していない。このため、電子バインダ装置１００において、バインダβ自身のページ管理が煩雑になることは無い。
【００４９】
なお、バインダβが有するページ数を表わすには、例えば１〜ｎページのバインダβの場合、β１−ｎと表わすものとする。
【００５０】
次に、ページの実体π（以下、ページπと称する）についての特徴を述べる。
１．ページπｎは、ページπの下位に何の要素も有していない構成をしている。
２．ページπｎは、バインダβからメッセージを受信する。
３．ページπｎは、隣接するページ（πｎ−１またはπｎ＋１）からメッセージを受信する。
４．ページπｎは、バインダβへメッセージを送信する。
５．ページπｎは、隣接するページ（πｎ−１またはπｎ＋１）へメッセージを送信する。
６．ページπｎは、自己のページ番号ｎのみを把握している。
【００５１】
上記１．については、バインダβとのデータ構造上、ページπｎはその末端に位置し、ページπｎよりも下位には構成要素を持たないことを示している。
【００５２】
上記３．及び上記５．は、ページπｎに対して、隣接するページπｎ−１やページπｎ＋１から相互にメッセージを受け取ったり、送ったりすることを意味している。なお、隣接ページへのメッセージ送信は、特別な指示が無い限り、正順（昇順）に送られる。例えば、ページπｎが隣接するページにメッセージを送る場合は、ページπｎ＋１に送られることになる。
【００５３】
バインダβとページπｎの概念を具体的に示したものが図２である。この例では、バインダβ２００が４ページ（β１−４）を持ち、バインダβ２００以下に個々のページ（π１２０１〜π４２０４）が保持されたデータ構造となっている。
【００５４】
まず、バインダデータ生成管理部１０３が新規にバインダβを作成した際は、図３に示すような、総ページ数０のバインダβ３００が作成される。ここで、総ページ数０のバインダβ３００に、任意のページπｎを挿入するパターンについて考えると、次の３つのページ挿入パターンがある。
【００５５】
（１）先頭にページπｎを挿入
（２）末尾にページπｎを挿入
（３）特定のページにページπｎを挿入
【００５６】
空のバインダβ３００に対するページ挿入の場合、上記のいずれのページ挿入処理を行っても、実質的には同じ結果となる。上記ページ挿入処理を更に一般化して考えるために、図４に示すようなバインダβ４００の総ページが４ページであって、２ページ目のπ２４０２と３ページ目のπ３４０３との間に新たなページπｎｅｗ４０５を挿入する場合のバインダとページ間とのメッセージ授受について、具体的に述べる。
【００５７】
まず、ページπｎｅｗ４０５はバインダβ１−４４００に対して、「３ページ目として挿入したい」旨のメッセージを送る。ここで、本実施の形態におけるメッセージには、特に明示していなくても、送信元を特定できる情報が含まれているものとする。
【００５８】
なお、上記メッセージ送信のために、データベースアクセスユーザインタフェイス部１０７を介して、ユーザはバインダ内部ファイル管理部１０５及びバインダページ管理部１０６に対して、ページπｎｅｗ４０５を３ページ目へ挿入する指示が行われていることとする。
【００５９】
バインダβ１−４４００は、ページπｎｅｗ４０５から上記メッセージを受け取ると自身の処理状態を判断する。この判断の結果、バインダβ１−４４００が他のメッセージを処理中でなければ、ページπｎｅｗ４０５からのメッセージに応じるため、バインダβ１−４４００はページπ３に対して、「ページ番号を１ページ増やす」ように指示する旨のメッセージを送る。
【００６０】
その結果、ページπ３４０３は現在のページ番号３を「＋１ページ」ずらしてページ番号４とする。次に、ページπ３４０３は、ページπ４４０４に対しても、同様に現在のページ番号を１ページ増やすように指示するメッセージを送る。この結果、ページπ４４０４は現在のページ番号４を「＋１」ずらしてページ番号５とする。
【００６１】
ここで、ページπ４４０４は最終ページであり、これ以上メッセージを送るページ対象が存在しない。このため、ページπ４４０４はバインダβ１−４４００に対して、「『ページ番号を１ページ増やす』メッセージが末端ページまで到達」したことを表わすメッセージを送信する。
【００６２】
バインダβ１−４４００が上記メッセージを受け取ると、ページπｎｅｗ４０５に対して３ページ目に挿入する許可を与えるメッセージを送る。そこで、ページπｎｅｗ４０５は自己のページ番号を３として付与する。そして、バインダβ１−４４００は、自己の総ページ数を１つ増やした後に、ページ挿入処理を完了させる。
【００６３】
なお、バインダβ１−４４００がページπｎｅｗ４０５からのページ挿入依頼メッセージを最初のメッセージとして受け取った時点から、ページπ４４０４からの末端ページ到達メッセージを受け取った最終時点までの間は、バインダβ１−４４００自身はロック状態にあり、他のメッセージを受け付けないようになっている。
【００６４】
上記メッセージを受け付けない方法として、バインダβ１−４４００がメッセージを拒否して送信側で再度送り直す方法や、バインダβ１−４４００自身にメッセージキューを持ち、そこに送信側からのメッセージを溜めておく方法等がある。本実施の形態では、メッセージを受け付けない方法は、いかなる方法であっても良い。
【００６５】
このバインダβ１−４４００にページπｎｅｗ４０５を挿入する際のメッセージ伝達の遷移を、図５に示す。詳細については、先に説明した通りである。
ここで、上述した３つのページ挿入パターン（（１）先頭に挿入、（２）末尾に挿入、（３）特定のページに挿入）に戻ると、上記ページπｎｅｗ４０５の挿入の説明は、（３）特定のページの挿入パターンに相当することになる。
【００６６】
なお、図６及び図７、図１０及び図１１、及び図１４及び図１５に示す本実施の形態のページ編集に関するフローチャートでは、そのページ編集処理が終了するまでページπｎのページ番号は変化しないものとする。例えば、ページ編集処理の過程で、４ページ目を表わすページπ４が、前後のページの削除処理や挿入処理によってページ番号が変更されたとしても、そのページ編集処理が終了するまでは、ページπ４のままである。
【００６７】
上述した指定位置へページの挿入処理を実行する際のバインダ及びページに対する処理、或いはメッセージ授受を、図６及び図７に示すフローチャートを用いて説明する。まず、前提条件として、バインダβがｎページ持ち、ページπｎｅｗをＸページ目に挿入するものとする。
【００６８】
ステップＳ６０１で、ページπｎｅｗがバインダβに対して、メッセージ”Ｉｎｓｅｒｔ（Ｘ）”を送る。ここで、”Ｉｎｓｅｒｔ（Ｘ）”は、Ｘページ目に挿入したいことを示すメッセージを表わし、図５に示した手順５００における”Ｉｎｓｅｒｔ（３）”がこれに相当する。ステップＳ６０２で、このメッセージをバインダβが受信する。
【００６９】
ここで、本実施の形態においては、以降のフローチャート（図１０及び図１４）の説明でも同様だが、メッセージの送受信に関するエラー処理については、フローチャートが煩雑になるため明記していない。例えば、通常、メッセージ送受信の際、所定の時間以内に送受信処理が終了しなければタイムアウト処理などが発生する。上記タイムアウト処理のメッセージに対する基本的な処理については、本発明に直接関係しないため明記していないが、実際には行われているものとする。
【００７０】
ステップＳ６０３で、ステップＳ６０２においてバインダβが受信したメッセージの受け入れを許可することが可能か否かを判断する。これは、バインダβがメッセージを受け付けないロック状態にあるときや、送られてきたメッセージの中で挿入対象ページＸがバインダβ１−ｎのページ範囲（１〜ｎページ）外などである場合に許可されない。
【００７１】
バインダβが送信されたメッセージの受け入れを許可できない場合は、ステップＳ６０４でそのエラー処理が行われる。一方、バインダβが送信されたメッセージを許可できる場合は、ステップＳ６０５で、バインダβが許可したメッセージ以外の他のメッセージをバインダβがさらに受け付けないように、バインダβのメッセージ受信に関してロックを掛ける。
【００７２】
ステップＳ６０９で、変数ｍにページ番号のＸを代入し、ステップＳ６１０で、変数ｍがバインダβの最後のページｎ以下（ｍ≦ｎ）かどうか判定する。この判定の結果、Ｙｅｓならば、ステップＳ６１１へ進む。
【００７３】
ステップＳ６１１では、ｍページ目のページπｍにメッセージ”Ｓｈｉｆｔ（１）”を送る（図５に示す手順５０１及び手順５０２におけるメッセージ”Ｓｈｉｆｔ（１）”）。ステップＳ６１２では、ページπｍが上記メッセージ”Ｓｈｉｆｔ（１）”を受信して、ステップＳ６１３でページπｍのページ番号を「ｍ＋１」とする。ステップＳ６１４で変数ｍを１つだけ増やし、ステップＳ６１０に戻る。
【００７４】
ここで、ステップＳ６１１において、”Ｓｈｉｆｔ（１）”メッセージの送信元は、本メッセージを直前に受信しているページπである。具体的には、図６に示すステップＳ６１０〜ステップＳ６１４の繰返しループにおいて、最初の送信元は、ページπｎｅｗであり、以降”Ｓｈｉｆｔ（１）”メッセージを受信したページπｍとなる。
【００７５】
すなわち、ページπｎｅｗを最初の送信元として、ページπｎｅｗからページπｍへ”Ｓｈｉｆｔ（１）”メッセージを送信して、上記メッセージを受信したページπｍがさらにページπｍ＋１へ”Ｓｈｉｆｔ（１）”メッセージを送信する。このように、挿入対象のページ以降のページ番号がそれぞれ＋１されるようにするため、順次、上記”Ｓｈｉｆｔ（１）”メッセージの送信が繰り返される。
【００７６】
一方、ステップＳ６１０で、変数ｍがバインダβ最後のページｎを越える場合は、図７に示したステップＳ６１５へ進み、最終ページπｍはバインダβに対して、メッセージ”Ｆｉｎｉｓｈ（Ｓｈｉｆｔ（１））”を送る（図５に示す手順５０３を参照）。なお、メッセージ”Ｆｉｎｉｓｈ（ｍｅｓｓａｇｅ）”（以下、（ｍｅｓｓａｇｅ）は任意のメッセージ内容を表す）は、最終ページまで、上記（ｍｅｓｓａｇｅ）、が伝播して、これ以上メッセージを伝播する対象のページが存在しないときに送られるメッセージである。
【００７７】
また、このメッセージ”Ｆｉｎｉｓｈ（ｍｅｓｓａｇｅ）”は、バインダβのメッセージ処理にロックが施されていても、バインダβが受信することのできる特殊なメッセージである。
【００７８】
ステップＳ６１６で、バインダβはこのメッセージ”Ｆｉｎｉｓｈ（ｍｅｓｓａｇｅ）”を受け取る。ステップＳ６０６では、ステップＳ６０２のメッセージ”Ｉｎｓｅｒｔ（Ｘ）”の送信元ページであるπｎｅｗに対して、”Ａｌｌｏｗ（Ｉｎｓｅｒｔ（Ｘ））”のメッセージを送る（図５に示す手順５０４を参照）。ここで、メッセージ”Ａｌｌｏｗ（ｍｅｓｓａｇｅ）”は、バインダβが上記（ｍｅｓｓａｇｅ）を許可することを意味する。
【００７９】
なお、バインダβが上記（ｍｅｓｓａｇｅ）を拒否した場合は、メッセージ”Ｒｅｊｅｃｔ（ｍｅｓｓａｇｅ）”が送信元に送られる。このメッセージ”Ｒｅｊｅｃｔ（ｍｅｓｓａｇｅ）”は、ステップＳ６０４のエラー処理内で送信元のページに送られている。
【００８０】
ステップＳ６０７では、ページπｎｅｗがステップＳ６０６でのメッセージ”Ａｌｌｏｗ（ｍｅｓｓａｇｅ）”を受信して、バインダβからページの挿入が許可される。そして、ステップＳ６０８で、ページπｎｅｗは自己のページ番号をＸとする。
【００８１】
ステップＳ６１７で、バインダβは自己の総ページ数を１つ増やす。上述した処理によってバインダβにページπｎｅｗを挿入するための処理が完了したので、ステップＳ６１８では、ステップＳ６０５で施されたバインダβのメッセージロック処理を解除する。
【００８２】
上記図６及び図７に示したページ挿入のフローチャートは、バインダβの指定したページＸへ挿入する際の処理を示してものである。それに対して、バインダβの先頭にページを挿入する場合は、図６のステップＳ６０９で用いる変数ＸをＸ＝０とし、また、バインダβの末尾にページを挿入する場合は、変数ＸをＸ＝ｎ＋１として、上述した処理を行なうようにすればよい。
【００８３】
次に、バインダからページを削除する例について述べる。図８は５ページからなるバインダβ１−５７００であり、この中の３ページ目（ページπ３７０３）を削除することとする。
【００８４】
まず、ページπ３７０３がバインダβ１−５７００に対して、「自分自身を削除したい」旨のメッセージを送る。バインダβ１−５７００は、上記ページπ３７０３からのページ削除メッセージを受け取ると自己の処理状態を判断する。バインダβ１−５７００が他のメッセージの処理中でなければ、バインダβ１−５７００はページπ４７０４に対して、「ページ番号を１ページ減らす」ように指示するメッセージを送る。
【００８５】
そこで、ページπ４７０４は現在のページ番号４を「−１」ずらしてページ番号３とする。次に、ページπ４７０４は、ページπ５７０５にも同様に、「ページ番号を１ページ減らす」ように指示するメッセージを送る。ページπ５７０５は現在のページ番号５を「−１」ずらしてページ番号４とするが、π５７０５は最終ページであり次に上記メッセージを送る対象のページが存在しない。このため、ページπ５７０５はバインダβ１−５７００に対して、「『ページ番号を１ページ減らす』メッセージが末端まで到達」したことを表わすメッセージを送信する。
【００８６】
次に、バインダβ１−５７００がページπ５７０５より上記メッセージを受け取ると、ページπ３７０３に対して自分自身であるページπ３７０３を削除する許可を与える旨のメッセージを送る。これにより、ページπ３７０３は自分自身を消滅させる。
【００８７】
最後に、バインダβ１−５７００は総ページ数を１減らして、削除処理は完了する。なお、バインダβ１−５７００がページπ３７０３からのページ削除依頼メッセージを最初のメッセージとして受け取った時点から、ページπ５７０５からの末端ページ到着メッセージを受け取った終了時点までの間は、バインダβ１−５７００自身はロック状態にあり、他のメッセージを受け付けない。
【００８８】
このバインダβ１−５７００からページπ３７０３を削除する際のメッセージ伝達の遷移を、図９に示す。詳細については、先に説明した通りである。
【００８９】
上述した指定ページの削除処理を実行する際のバインダ及びページに関する処理、或いはメッセージ授受を、図１０及び図１１のフローチャートを用いて説明する。まず、前提条件として、バインダβがｎページ持ち、ページπｘをＸページ目から削除するものとする。
【００９０】
ステップＳ９０１で、ページπｘがバインダβに対して、メッセージ”Ｄｅｌｅｔｅ（Ｘ）”を送る。ここで、”Ｄｅｌｅｔｅ（Ｘ）”は、Ｘページ目を削除したいことを示すメッセージを表わし、図９に示した手順８００における”Ｄｅｌｅｔｅ（３）”がこれに相当する。ステップＳ９０２で、このメッセージをバインダβが受信する。
【００９１】
ステップＳ９０３で、ステップＳ９０２においてバインダβが受信したメッセージの受け入れを許可することが可能か否かを判断する。これは、バインダβがメッセージを受け付けないロック状態にあるときや、送られてきたメッセージの中で削除対象ページＸがバインダβ１−ｎのページ範囲（１〜ｎページ）外などである場合に許可されない。
【００９２】
バインダβが送信されたメッセージの受け入れを許可できない場合は、ステップＳ９０４でそのエラー処理が行われる。一方、バインダβが送信されたメッセージを許可できる場合は、ステップＳ９０５で、バインダβが許可したメッセージ以外の他のメッセージをバインダβがさらに受け付けないように、バインダβのメッセージ受信に関してロックを掛ける。
【００９３】
ステップＳ９０８で、変数ｍにページ番号のＸを代入し、ステップＳ９０９で、変数ｍがバインダβの最後のページｎより小さい（ｍ＜ｎ）かどうか判定する。判定の結果、Ｙｅｓならば、ステップＳ９１０へ進む。
【００９４】
ステップＳ９１０では、「ｍ＋１」ページ目のページπｍ＋１にメッセージ”Ｓｈｉｆｔ（−１）”を送る（図９に示す手順８０１及び手順８０２を参照）。ステップＳ９１１では、ページπｍ＋１が上記メッセージ”Ｓｈｉｆｔ（−１）”を受信して、ステップＳ９１２でページπｍ＋１のページ番号をｍとする。ステップＳ９１３で変数ｍを１だけ増やし、ステップＳ９０９に戻る。このようにして、隣接ページへ順次、ページ番号を「−１」するメッセージ”Ｓｈｉｆｔ（−１）”が送られる。
【００９５】
ステップＳ９０９で、変数ｍがバインダβ最後のページｎを超える場合は、ステップＳ９１５へ進み、最終ページπｍはバインダβに対して、メッセージ”Ｆｉｎｉｓｈ（Ｓｈｉｆｔ（−１））”を送る（図９に示す手順８０３を参照）。
【００９６】
ステップＳ９１６で、バインダβはこのメッセージ”Ｆｉｎｉｓｈ（Ｓｈｉｆｔ（−１））”を受け取り、ステップＳ９０６では、バインダβはステップＳ９０２のメッセージ”Ｄｅｌｅｔｅ（Ｘ）”の送信元ページであるπｘに対して、”Ａｌｌｏｗ（Ｄｅｌｅｔｅ（Ｘ））”のメッセージを送る（図９に示す手順８０４を参照）。
【００９７】
なお、バインダβが上記メッセージ”Ｆｉｎｉｓｈ（Ｓｈｉｆｔ（−１））”の受け取りを拒否した場合は、”Ｒｅｊｅｃｔ（  Ｆｉｎｉｓｈ（Ｓｈｉｆｔ（−１）））”が送信元のページに送られる。このメッセージ”Ｒｅｊｅｃｔ（Ｆｉｎｉｓｈ（Ｓｈｉｆｔ（−１）））”は、ステップＳ９０４のエラー処理内で該当するページに送られている。
【００９８】
ステップＳ９０７では、ページπｘがステップＳ９０６でのメッセージ”Ａｌｌｏｗ（Ｄｅｌｅｔｅ（Ｘ））”を受信する。そして、ステップＳ９１４へ進み、バインダβからＸページ目を消滅させるべくページπｘ自身を消滅させる。
【００９９】
ステップＳ９１７で、バインダβは、自己の総ページ数を１つ減らす。上述した処理によってバインダβからページπｘを消滅するための処理が完了したので、ステップＳ９１８では、ステップＳ９０５で施されたバインダβのメッセージロック処理を解除する。
【０１００】
次に、バインダ内のページの移動に関する例について述べる。図１２（Ａ）は５ページからなるバインダβであり、この中の４ページ目を２ページ目に移動するとする。
【０１０１】
まず、ページπ４１００４がバインダβ１−５１０００に対して、「２ページ目に移動したい」旨のメッセージを送る。バインダβ１−５１０００は、上記ページπ４１００４からのページ移動メッセージを受け取ると自己の処理状態を判断する。
【０１０２】
バインダβ１−５１０００が他のメッセージの処理中でなければ、バインダβ１−５１０００は、まず、移動元ページの次ページであるページπ５１００５に対して、隣接するページ（ページπ４１００４）からのメッセージを拒絶するようにメッセージを送る。これによって、ページπ５１００５は、隣接するページπ４１００４からのメッセージが送られてきた場合、その指示に従わないで、隣接するページπ４１００４からメッセージがあったことをバインダβ１−５１０００に伝えるようになる。
【０１０３】
次いで、バインダβ１−５１０００は、移動先ページπ２１００２に対して、「ページ番号を１ページ増やす」ように指示するメッセージを送る。その結果、ページπ２１００２は現在のページ番号２を「＋１」ずらしてページ番号３として、さらにページπ２１００２は、ページπ３１００３に対して同様に、ページ番号を１ページ増やすように指示する旨のメッセージを送る。この結果、ページπ３１００３は現在のページ番号３を「＋１」ずらしてページ番号４とする。
【０１０４】
ページπ３１００３も同様に、ページ番号を１ページ増やすように指示するメッセージを隣接しているページπ４１００４に送るが、ページπ４１００４は自ら移動するために、バインダβ１−５１０００に対して「『ページ番号を１ページ増やす』メッセージが送られてきた」ことを拒絶する旨のメッセージを送信する。
【０１０５】
バインダβ１−５１０００がページπ４１００４からの上記拒絶する旨のメッセージを受け取ると、ページπ５１００５に対してメッセージの受信拒絶を解除する指示を送り、ページπ５１００５のロック状態が実際にロック解除される。
【０１０６】
最後にバインダβ１−５１０００は、ページπ４１００４に対して、ページπ２１００２に移動することの許可を与えるメッセージを送る。そこで、ページπ４１００４は自己の現在のページ番号４を移動先のページ番号２として、移動処理は完了する。
【０１０７】
なお、バインダβ１−５１０００がページπ４１００４からのページ移動依頼メッセージを最初のメッセージとして受け取った時点から、ページπ５１００５からメッセージを受け取る時点までの間は、バインダβ１０００自身はロック状態にあり、他のメッセージを受け付けない。
【０１０８】
バインダβ１−５１０００において、任意のページがページ移動する際のメッセージ伝達の遷移を、図１３に示す。詳細については、先に説明した通りである。
【０１０９】
また、図１２（Ｂ）は図１２（Ａ）と同じく５ページからなるバインダβ１−５１０１０であり、この中の２ページ目を４ページ目に移動する例である。この場合は、ページ間の移動メッセージが「ページ番号を１ページ減らす」となる。この場合は、移動元のページπ２１０１２以降のページに上記メッセージを送るため、バインダβ１０１０からメッセージをブロックするように指示されたページπ５１０１５がメッセージを拒絶する。
【０１１０】
このメッセージ伝達の遷移について、図１６に示す。詳細については、先に説明した通りである。
ページ移動の場合のメッセージ授受について、図１４及び図１５のフローチャートを用いて説明する。まず、前提条件として、バインダβがｎページ持ち、ページπｘをＸページ目からＹページ目に移動するものとする。
【０１１１】
先ず、ステップＳ１２０１で、ページπｘがバインダβに対して、メッセージ”Ｍｏｖｅ（Ｘ，Ｙ）”を送る（図１３における手順１１００、及び図１６における手順１６００を参照）。ここで、メッセージ”Ｍｏｖｅ（Ｘ，Ｙ）”は、Ｘページ目をＹページ目に移動したいことを示すメッセージを表わす。
ステップＳ１２０２で、このメッセージをバインダβが受信する。
【０１１２】
ステップＳ１２０３で、バインダβは、ステップＳ１２０２で受信したメッセージを許可できるか否かを判断する。これは、バインダβがロック状態にあって複数のページから同時にメッセージを受け付けることができない状態でないか、或いは、バインダβに送られてきたメッセージ内容のページＸ及びページＹが、バインダβが保持するページ範囲（１〜ｎ）外などでないかを判断する必要があるためである。
【０１１３】
上記の場合には、バインダβは、ステップＳ１２０２で受信したメッセージ”Ｍｏｖｅ（Ｘ，Ｙ）”を許可せず、ステップＳ１２０４でそのエラー処理が行われる。
【０１１４】
一方、バインダβがステップＳ１２０２で受信したメッセージメッセージ”Ｍｏｖｅ（Ｘ，Ｙ）”を許可できる場合は、ステップＳ１２０５において、バインダβがその他のメッセージを受け付けてしまわないように、バインダβのメッセージ受信に関してロックを施している。
【０１１５】
ステップＳ１２０６では、バインダβは、メッセージとして送られてきたページ番号Ｘ及びページ番号Ｙの大小関係を調べるために両ページ番号を比較する。その結果、ページ番号Ｘがページ番号Ｙより真に小さい場合は、ステップＳ１２０７で変数ｌｉｍｉｔに「Ｙ＋１」が代入される。
【０１１６】
一方、ステップＳ１２０６で、ページ番号Ｙがページ番号Ｘより等しいか若しくは大きい場合は、ステップＳ１２０８で変数ｌｉｍｉｔに「Ｘ＋１」が代入される。
【０１１７】
ステップＳ１２０９では、ページπｌｉｍｉｔが存在するか否かを確認する。ページπｌｉｍｉｔが存在していれば、ステップＳ１２１０へ進み、ページπｌｉｍｉｔが存在していなければ、ステップＳ１２１６へ進む。
【０１１８】
ステップＳ１２１０では、バインダβは、ページπｌｉｍｉｔに対してメッセージ”ＤｏＢｌｏｃｋＭｅｓｓａｇｅ（）”を送る（図１３に示す手順１１０１、及び図１６に示す手順１６０１を参照）。なお、メッセージ”ＤｏＢｌｏｃｋＭｅｓｓｓａｇｅ（）”が送られたページπｌｉｍｉｔは、メッセージ”ＣａｎｃｅｌＢｌｏｃｋＭｅｓｓａｇｅ（）”がバインダβから送られてくるまで、隣接するページからのメッセージを拒絶する。ページπｌｉｍｉｔが隣接するページからのメッセージを拒絶したときは、ページπｌｉｍｉｔはメッセージの送り元であるバインダβに対して、メッセージを拒絶した旨のメッセージ”ＢｌｏｃｋＭｅｓｓａｇｅ（ｍｅｓｓａｇｅ）”を送る。
【０１１９】
ステップＳ１２１１で、ページπｌｉｍｉｔはステップＳ１２１０でバインダβより送られたメッセージを受信する。ステップＳ１２１２では、ページπｌｉｍｉｔは送信元であるバインダβに、メッセージ”ＳｔａｒｔＢｌｏｃｋＭｅｓｓｇｅ（）”を送る（図１３に示す手順１１０２、及び図１６に示す手順１６０２を参照）。ステップＳ１２１３で、バインダβが上記メッセージ”ＳｔａｒｔＢｌｏｃｋＭｅｓｓｇｅ（）”を受信する。
【０１２０】
ステップＳ１２１６では、ページ番号Ｘがページ番号Ｙより真に小さいか否かを確認する。ページ番号Ｘがページ番号Ｙより小さい場合は、ステップＳ１２１７へ、ページ番号Ｘがページ番号Ｙより大きい場合は、ステップＳ１２１９へ進む。
【０１２１】
なお、以下のステップＳ１２１７〜ステップＳ１２２０で行なう処理については、上記ステップＳ１２０６での同様なページ番号の比較判断処理の後に移動して、上記ステップＳ１２１７〜ステップＳ１２２０での処理を、Ｓ１２０６の直後に行なうようにしてもよい。
【０１２２】
ステップＳ１２１７では、変数ｍにＸ＋１を代入し、ステップＳ１２１８では、変数ｖａｌに−１を代入して、ステップＳ１２２２へ進む。
また、ステップＳ１２１９では、変数ｍにＸを代入し、ステップＳ１２２０でｖａｌに１を代入する。
【０１２３】
ステップＳ１２２２では、ページπｍにメッセージ”Ｓｈｉｆｔ（Ｖａｌ）”を送る（図１３に示す手順１１０３〜１１０５、図１６に示す手順１６０３〜１６０５を参照）。ステップＳ１２２３でページπｍがこのメッセージを受信する。
【０１２４】
ステップＳ１２２４で、ページπｍがステップＳ１２１０でバインダβからブロックするように指示が出されているか、もしくは、変数Ｘと変数ｍが等しいか判定する。判定の結果、バインダβからのブロック指示が出されているか、若しくは変数Ｘと変数ｍが等しければステップＳ１２２８へ、そうでなければステップＳ１２２５へ進む。
【０１２５】
ステップＳ１２２５では、ページπｍのページ番号に変数ｖａｌを加える。ステップＳ１２２６では、変数ｍを「ｍ＋１」として、ステップＳ１２２７で、ページπｍが存在するか確認する。ページπｍが存在していればステップＳ１２２２へ戻り、存在していなければステップＳ１２１４へ進む。
【０１２６】
一方、ステップＳ１２２４で、バインダβからのブロック指示が出されている、若しくは変数Ｘ＝ｍの場合には、ステップＳ１２２８でバインダβにメッセージ”Ｒｅｊｅｃｔ（Ｓｈｉｆｔ（Ｖａｌ））”を送る（図１３に示す手順１１０６、及び図１６に示す手順１６０６を参照）。
【０１２７】
ステップＳ１２２９で、バインダβがメッセージ”Ｒｅｊｅｃｔ（Ｓｈｉｆｔ（Ｖａｌ））”を受け取ると、Ｓ１２１０でメッセージブロックを指示したページπｌｉｍｉｔに対して、メッセージブロック解除の指示”ＣａｎｃｅｌＢｌｏｃｋＭｅｓｓａｇｅ（）”を送り（図１３に示す手順１１０７、及び図１６に示す手順１６０７を参照）、ステップＳ１２１４へ進む。
【０１２８】
ステップＳ１２１４は、ステップＳ１２０２でのメッセージ送信元ページπｘに対して、”Ａｌｌｏｗ（Ｍｏｖｅ（ｘ，ｙ））”のメッセージを送る。ステップＳ１２１５で、ページπｘがそのメッセージ”Ａｌｌｏｗ（Ｍｏｖｅ（ｘ，ｙ））”を受信し、ステップＳ１２２１では、ページπｘのページ番号をＸからＹに変更する（図１３に示す手順１１０９、及び図１６に示す手順１６０９を参照）。
【０１２９】
このようにしてページの移動処理が完了すると、ステップＳ１２３０では、ステップＳ１２０５でバインダβのメッセージ受信に関してするロック状態が解除される。
【０１３０】
以上、説明してきた図１４及び図１５に示すフローチャートはバインダβにおけるページ移動に関しての全体の流れを表わすものであったが、本発明の場合、ページ自身が自律的にメッセージをやりとりして処理が行なわれている。
【０１３１】
すなわち、上述した説明では、各ページπ自身がメッセージ伝達を行なうように説明しているが、実際にはバインダページ管理部１０６が各ページに関する記録領域を管理していて上記メッセージの伝達が行われるようになされている。
【０１３２】
この場合、バインダページ管理部１０６は、他のページから伝達されるメッセージを指定のページに関する記録領域に保持したり、また対応するメッセージを出力したり、或いは、保持済みのページ属性に基づいてメッセージを拒否したりして、ページ管理を図っている。なお、バインダページ管理部１０６によるバインダの管理及び後述するバインダ群についても同様な方法で行っている。
【０１３３】
ここでは、その一例として図４〜図７で説明したページの挿入処理を挙げ、メッセージ伝達の観点から説明する。まず、バインダβ４００、ページπ１４０１、ページπ２４０２、ページπ３４０３、ページπ４４０４がそれぞれ独立して存在している。
【０１３４】
ページはページ番号と、元となる親のＩＤ番号を持ち、バインダはページから派生したものでありページの特徴とともに総ページ数という属性を持つ。ただし、本実施の形態ではバインダのページ番号は使われない。全てのページ（バインダ）には、一意なＩＤ番号が付けられるとする。
【０１３５】
まず、バインダ内部ファイル管理部１０５は、図４で示したように３ページ目に挿入されるページπｎｅｗ４０５を作成する。バインダページ管理部１０６は、ページπｎｅｗ４０５の作成時には、とりあえずページ番号は無効な値、ＩＤ番号にはバインダβ４００に対応する値を設定する。
【０１３６】
ここで、バインダページ管理部１０６は、ページπｎｅｗ４０５に関する記録領域に保有されているＩＤ番号を使って、バインダβ４００自身に関する記録領域に対して”Ｉｎｓｅｒｔ（３）”のメッセージを送る（図５に示す手順５００を参照）。
なお、メッセージには送信元を特定できる情報が付随しているものとする。
【０１３７】
バインダページ管理部１０６は、バインダβ４００に関する記録領域に上記メッセージ”Ｉｎｓｅｒｔ（３）”が出力されたと判断すると、次に、バインダページ管理部１０６は、バインダβ４００が処理可能な状態であるか否かを、バインダβ４００自身が自律的に行っているが如く判断する。
【０１３８】
この判断の結果、処理可能である場合、バインダページ管理部１０６は、バインダβ４００に関する記録領域に、ページ番号３とバインダ自身のＩＤ番号をあらためて設定して、メッセージ”Ｓｈｉｆｔ（１）”を各ページの記録領域に向けてブロードキャストする。
【０１３９】
ここで、バインダページ管理部１０６が、バインダβ４００から各ページに対するメッセージの送り方として、例えば、次の２つの方法がある。直接送り先のＩＤ番号を指定する方法と、親のＩＤ番号とページ番号を指定する方法である。前者は、ページπｎｅｗ４０５からバインダβ４００へ送られるときの方法で、後者は先に述べたバインダβ４００からページπｎｅｗ４０５へ送られるときの方法である。
【０１４０】
バインダページ管理部１０６は、各ページに関する記録領域を参照して、バインダβから受け取ったメッセージを判断し、処理を行なう。ここで、バインダページ管理部１０６は、送られたメッセージが何れのページ宛のメッセージであるかを判断して、該当ページに対して送られたメッセージに対応した処理を行なうように動作する。
【０１４１】
例えば、バインダページ管理部１０６は、ページπ３に送信されたメッセージを確認すると、次のメッセージの送り先としてページ番号４（送付宛先が４ページ目という意味）、及び同一のバインダのＩＤ番号を指定して、メッセージ“Ｓｈｉｆｔ（１）”を送る（図５に示す手順５０２を参照）。
【０１４２】
次に、バインダページ管理部１０６は、指定されたページπ４４０４からページπ５４０５へ向けて、バインダのＩＤ番号を指定してメッセージ“Ｓｈｉｆｔ（１）”を送る。
【０１４３】
ここで、バインダページ管理部１０６は、ページπ４４０４からバインダβ４００の内部で持っている総ページ数（すなわち、４ページ）以上のページ番号である５ページ目に対してメッセージを送っていることを判断する。そこで、バインダページ管理部１０６は、バインダβ４００宛てへのメッセージではないが、総ページ以上（範囲外）のページ番号を指定して送信している旨のメッセージを、ページπ４４０４に送り返す。
【０１４４】
バインダページ管理部１０６は、ページπ４４０４が上記メッセージを受け取ったと判断すると、次に、ページπ４４０４自身が最終ページであることを理解して、ページπ４４０４のページ番号を４から５にする。つまり、バインダページ管理部１０６は、現在のページπ４４０４に関する記録領域に保持されたページ情報のページ番号４に対して、メッセージで送られてきた“Ｓｈｉｆｔ（１）”の「１」を加えてページ番号５を新たに保持する。
【０１４５】
更に、バインダページ管理部１０６は、ページπ４４０４が、上記メッセージを受理したことを表わすメッセージ“Ａｌｌｏｗ（Ｓｈｉｆｔ（１））”をページπ３４０３に返す。ページπ３４０３でも同様に、バインダページ管理部１０６によって、ページ番号を「＋１」してページ番号４として、最初のメッセージの呼び出し元であるバインダβ４００にメッセージ“Ａｌｌｏｗ（Ｓｈｉｆｔ（１））”を返すことが行われる。
【０１４６】
これによって、バインダページ管理部１０６は、バインダβ４００に関して、既存のページの更新処理が終了したことを判断し、メッセージ“Ｉｎｓｅｒｔ（３）”を送ってきたページπｎｅｗ４０５に対して、メッセージ“Ａｌｌｏｗ（Ｉｎｓｅｒｔ（３））”を送る。そして最終的に、バインダページ管理部１０６は、バインダβに含まれることとなるページπｎｅｗ４０５のページ番号を３と設定する（図５に示す手順５０４を参照）。
【０１４７】
なお、図７及び図１１のフローチャート上で、バインダ「βにメッセージ”Ｆｉｎｉｓｈ（Ｓｈｉｆｔ（１））”を送る」のステップＳ６１５（ステップＳ９１５を含む）が示されているが、実際には上記のようにバインダページ管理部１０６が管理するメッセージがバインダβに伝達されていることになる。
【０１４８】
このようにして、バインダページ管理部１０６がバインダβ及び各ページπに関する記録領域を管理することにより、バインダβを構成する各ページが自律して存在するかのように、送られてくるメッセージの内容を各ページ自身が理解して、それに応じた処理が実行されるようにすることができる。このため、例えば、ページ管理テーブルのようなページを管理するために、さらに別のデータの準備を不要にすることができる。
【０１４９】
（第２の実施の形態）
次に、複数のページをまとめた状態を維持できる「ページ群」を導入する。なお、第１の実施の形態と同様に、本実施の形態においても、バインダページ管理部１０６がページ、ページ群、及びバインダを管理することによって、それぞれが自律的にメッセージ伝達等しているように動作している。
以下、ページ群θについての特徴を挙げる。
【０１５０】
１．ページ群θは、複数のページπをまとめたものである。
２．ページ群θは、ページπの存在できる位置に存在できる。
３．ページ群θは、１ページでも構わない。
４．ページ群θは、ページπと同等のメッセージを送ることができる。
５．ページ群θがまとめている末端の構成要素は、必ずページπとなる。
【０１５１】
上記１．については、ページ群θは、複数のページをまとめていることを表わし、上記２．は、ページ群θはページπを派生したものであることを意味している。また、上記３．は、ページ群θは１ページだけしか対象としていなくても、ページ群となり得ることを示している。
【０１５２】
上記４．は、ページ群θはページπの派生であるので、ページと同等のメッセージが送れることを示している。
上記５．は、上記２．から分かるように、ページ群θはページの存在できる位置に存在できるので、ページ群でまとめられているものの中にページ群が入ることができる。しかし、ページ群θを辿っていくと、最終的には必ずページでなければならないことを表している。
【０１５３】
なお、ページ群がまとめているページ数がｍページからｎページのときは、ページ群θｍ−ｎと記載することにする。
【０１５４】
具体的には、ページ群θ、バインダβ、及びページπとの関係を、図１７のように表わすことができる。図１７では、バインダβ１７００は、ページとしてページπ１１４０１、ページπ２１４０２、及びページπ６１４０６を持つ。
【０１５５】
更に、ページを束ねたものとしてページ群θ３−５１４０７を持つ。ここで、ページ群θ３−５１４０７は、その内部にページπ３１４０３、π５１４０５、及びページ群θ４−４１４０８を持つ。ページ群θ４−４１４０８は、唯一のページπ４１４０４から成る。このように、ページ群θ１７０７、１７０８は、内部にページπ、あるいはページ群θ自体を持つ構造を表わす。
また、図１７に示すように、バインダβ、ページ群、及びページは、それぞれに対する拡張記録領域１７１０〜１７１８を有している。なお、拡張記録領域１７１０〜１７１８に記録された情報を用いた実施の形態については、第３の実施の形態において説明する。
【０１５６】
ここで、ページ群θはメッセージ空間を持つ。メッセージ空間は、ページ群θがメッセージを送ることができる範囲であり、このメッセージ空間内にあるページに対して、メッセージを送ったり、処理を指示させたりすることができる。
【０１５７】
ページ群θがメッセージを送ることができるのは、一階層分だけである。すなわち、図１７に示した例では、バインダβ１−６１７００は、ページ群の一種であるので、バインダβ１−６１７００から直接メッセージを送ることが出来るものは、ページπ１１４０１、ページπ２１４０２、ページπ６１４０６、及びページ群θ３−５１４０７だけである。
【０１５８】
ページ群であるθ３−５１４０７は、受け取ったメッセージを判断し、必要であれば更に内部のページπ３１４０３、ページπ５１４０５、及びページ群θ４−４１４０８にそのメッセージや、もしくはページ群θ３−５１４０７で加工されたメッセージを通知する。同様な処理をθ４−４１４０８でも行なう。
【０１５９】
上記第１の実施の形態において、図４〜図７で説明したページの挿入処理におけるメッセージ伝達を、上述したページ群を含んでいるバインダ文書ファイルで説明する。まず、バインダβは図１７のような６ページから成り、３ページから５ページが束ねられている。更に、４ページ目がページ群θ１７０８に属しているとする。
【０１６０】
ここで、ページπ１１７０１、ページπ２１７０２、ページπ３１７０３、ページπ４１７０４、ページπ５１７０５、ページπ６１７０６、ページ群θ３−５１７０７、及びページ群θ４−４１７０８は、それぞれ独立して存在している。
【０１６１】
但し、先に説明したように、バインダβ１７００、ページ群θ３−５１７０７、及びページ群θ４−４１７０８はメッセージ空間を持つ。バインダβ１７００は、自己のメッセージ空間内に、ページπ１１７０１、ページπ２１７０２、ページπ６１７０６、及びページ群θ３−５１７０７を持っている。
【０１６２】
ページ群θ３−５１７０７は、自己のメッセージ空間内に、ページπ３１７０３、ページπ５１７０５、及びページ群θ４−４１７０８を持っている。また、ページ群θ４−４１７０８は、ページπ４１７０４だけを自己のメッセージ空間に持っている。
【０１６３】
ページπはページ番号と、元となる親のＩＤ番号を持ち、バインダβはページπから派生したものであり、ページの特徴とともに総ページ数という属性を持つ。ただし、本実施の形態ではバインダのページ番号は使われない。
【０１６４】
全てのページ（バインダ）には、一意なＩＤ番号が付けられるとする。ページ群θには、自己のメッセージ空間に持つページの範囲を属性に持っている。例えば、ページ群θ３−５１７０７であれば、「ページ３からページ５」が属性として保有している。
【０１６５】
まず、既に図４でも示したように、バインダβ１７００の３ページ目のメッセージ空間に挿入されるページπｎｅｗが作成される。また、ページπｎｅｗの作成時には、とりあえずページ番号として無効な値、またＩＤ番号としてバインダβに対応する値が設定される。ここで、ページπｎｅｗは自己で保有するＩＤ番号を使い、バインダβに対して”Ｉｎｓｅｒｔ（３）”のメッセージを送る（図５に示す手順５００参照）。
【０１６６】
なお、メッセージには送信元を特定できる情報が付随しているものとする。バインダβ１７００は、上記メッセージ”Ｉｎｓｅｒｔ（３）”を受け取ると、バインダβ１７００が処理可能な状態であるか否かを、バインダβ１７００自身が自律的に判断する。判断の結果、処理可能である場合、バインダβ１７００は、ページ番号の３とバインダβ１７００自身のＩＤ番号をあらためて設定して、メッセージ”Ｓｈｉｆｔ（１）”をバインダβ１７００のメッセージ空間内の全てのページに向けてブロードキャストする。
【０１６７】
ここで、バインダβ１７００から各ページに対するメッセージの送り方として、例えば、次の２つの方法がある。直接送り先ページのＩＤ番号を指定する方法と、親のＩＤ番号とページ番号を指定する方法である。前者は、ページπｎｅｗからバインダβ１７００へ送られるときの方法で、後者は先に述べたバインダβ１７００からページπｎｅｗへ送られるときの方法である。
【０１６８】
各ページは、バインダβ１７００から受け取ったメッセージの判定を独自に判断し、処理を行なう。また、各ページは自分宛のメッセージでなければ、送られたメッセージの処理を行なわない。例えば、ページ群θ３−５１７０７は、自己の管理しているメッセージ空間内にページπ３１７０３があることがその属性より分かるので、ページ群θ３−５１７０７は自己のメッセージ空間宛に、ページ番号３と自己のＩＤ番号を設定して、メッセージ”Ｓｈｉｆｔ（１）”を転送する。
【０１６９】
ページ群θ３−５１７０７のメッセージ空間内の各ページは、受け取ったメッセージの判定を独自に判断し、処理を行なう。各ページは、自分宛のメッセージでなければ、転送されたメッセージの処理は行なわない。例えば、ページπ３１７０３は、ページ群θ３−５１７０７から転送されたメッセージを確認すると、送り先にページ番号４（送付宛先が４ページ目とういう意味）、及びページ群θ３−５１７０７のＩＤ番号を指定して、メッセージ“Ｓｈｉｆｔ（１）”を送る（図５に示す手順５０２を参照）。
【０１７０】
すると、今度は指定されたページ群θ４−４１７０８が、自分宛のメッセージであることを判断し、ページ群θ３−５１７０７と同様に、更にその内部のメッセージ空間に上記メッセージを転送する。その結果、ページπ４１７０４が自分宛のメッセージであると判断すると、ページ群θ４−４１７０８のメッセージ空間において、ページπ４１７０４は、ページπ５１７０５へ向けて、ページ群θ４−４１７０８のＩＤ番号を指定してメッセージ“Ｓｈｉｆｔ（１）”を送る。
【０１７１】
ここで、ページπ４１７０４がページ群θ４−４１７０８の内部で管理しているページ数以上のページ番号（すなわち、５ページ目）に対してメッセージを送っている。そこで、ページ群θ４−４１７０８は、自身宛てへのメッセージではないが、ページπ４１７０４に総ページ以上（範囲外）のページ番号を指定して送信している旨のメッセージを、ページπ４１７０４に送り返す。
【０１７２】
ページπ４１７０４が上記メッセージを受け取ると、ページπ４１７０４自身が最終ページであることを理解して、ページ番号を４から５に変更する。つまり、現在のページ番号４にメッセージで送られてきた“Ｓｈｉｆｔ（１）”の「１」を加えてページ番号５に変更する。
【０１７３】
更に、ページπ４１７０４は、メッセージを受理したことを表わすメッセージ“Ａｌｌｏｗ（Ｓｈｉｆｔ（１））”をページ群θ４−４１７０８に返す。
【０１７４】
ページ群θ４−４１７０８が自己のメッセージ空間に上記メッセージを転送すると同時に、ページ番号５と自己のＩＤ番号を設定して、ページπ５１７０５にメッセージ”Ｓｈｉｆｔ（１）”を送る。ページπ５１７０５は今まで述べてきたように、自己が最終ページであることを理解して、ページ番号を５から６にして、メッセージ“Ａｌｌｏｗ（Ｓｈｉｆｔ（１））”をページ群θ４−４１７０８に返す。
【０１７５】
ページ群θ４−４１７０８は、隣接するページ（ページπ５１７０５）に投げたメッセージと、自身のメッセージ空間に投げたメッセージとの両方から、メッセージ“Ａｌｌｏｗ（Ｓｈｉｆｔ（１））”が返されるのを待つ。そして、自己の管理しているページを「ページ５からページ５」にし、ページπ３１７０３にメッセージ“Ａｌｌｏｗ（Ｓｈｉｆｔ（１））”を送る。
【０１７６】
ページπ３１７０３でも同様に、ページ番号を４として、メッセージの呼び出し元であるページ群θ３−５１７０７に、メッセージ“Ａｌｌｏｗ（Ｓｈｉｆｔ（１））”を返す。また、ページ群θ３−５１７０７も、ページ群θ４−４１７０８も、同様に自己のメッセージ空間にメッセージを投げるとともに、ページπ６１７０６にも上記メッセージ“Ａｌｌｏｗ（Ｓｈｉｆｔ（１））”投げており、これにより、ページπ６１７０６がページ番号７に変更される。
【０１７７】
今まで述べてきた、あるページに対してそのページ番号を変更する処理は、第１実施の形態に述べた方式と同様である。ページ群θ３−５１７０７はメッセージ“Ａｌｌｏｗ（Ｓｈｉｆｔ（１））”を受け取ることで、自己のメッセージ空間内のページを、「ページ４から６」にする。
【０１７８】
そして、バインダβ１７００は、既存のページの更新処理が終了したことを知り、メッセージ“Ｉｎｓｅｒｔ（３）”を送ってきたページπｎｅｗに対して、メッセージ“Ａｌｌｏｗ（Ｉｎｓｅｒｔ（３））”を送り、最終的に、ページπｎｅｗのページ番号を３とする。
【０１７９】
このように、メッセージ伝達については、第１の実施の形態で示したページに対して伝達する処理と基本的に同様である。特にページ群の場合は、隣接するページにメッセージを送る際に、ページ群自身のメッセージ空間にも上記メッセージを転送し、その両方からの終了を待って判断している点が異なるだけである。
【０１８０】
なお、バインダβ１７００の直下ではなく、ページ群θ３−５１７０７の中にページπｎｅｗを挿入したい場合は、ページ群θ３−５１７０７のメッセージ空間内にページπｎｅｗを作成すればよい。このときは、ページπｎｅｗから発せられるメッセージは、ページ群θ３−５１７０７に通達される。これは、前記処理のバインダβ１７００にメッセージが送られることに相当する。そのメッセージは更に、自己が所属するメッセージ空間の上位に位置するページ群（バインダ含む）に対して転送される。
【０１８１】
例えば、前記の例において、ページ群θ３−５１７０７の中にページπｎｅｗをページ番号３として挿入するときを示す。まず、ページπｎｅｗからページ群θ３−５１７０７に対して“Ｉｎｓｅｒｔ（３）”のメッセージが伝わる。更に、ページ群θ３−５１７０７は、ページ群θ３−５１７０７が所属するメッセージ空間の所有者として上位に位置付けられたバインダβ１７００に対して、上記メッセージ“Ｉｎｓｅｒｔ（３）”を転送する。
【０１８２】
この後は、先程と同様の処理がなされ、最終的にページ群θ３−５１７０７のメッセージ空間内のページπｎｅｗに対して、ページ番号を３とするようなページ挿入処理が行われる。このようにページ群の内部で管理しているページ番号が変更されるときでも、適切にページ番号が付け替えられる。
【０１８３】
また、特定区間をページ群にする場合は、ページ群にしたいメッセージ空間でページ群θを作成するようにする。そして、そのメッセージ空間を所有しているページ群に対して、例えば、ページ群θから“ＤｏＦｏｌｄ（ｍ，ｎ）”なるメッセージを送る。すると、上記メッセージ空間の全てのページ、及びページ群に対して、メッセージ“Ｆｏｌｄ（ｍ，ｎ，ページ群θのＩＤ）”がブロードキャストされる。この場合、ページｍからページｎの間のページは、ページ群θ以下に移動する。
【０１８４】
また、ページ群θの削除も同様にできる。ページ群の削除は、複数ページが削除されることを除けば、これも単なるページの削除と同様に可能である。ページπの移動、ページ群θの移動は、同一メッセージ空間内であれば、複数ページが増減するだけの違いである。また、メッセージ空間をまたがったページπの移動、ページ群θの移動は、同一メッセージ空間内における移動、削除を組み合わせて実現可能である。
【０１８５】
更に、バインダβ１、及びバインダβ２が存在している場合に、バインダβ２をバインダβ１の内部に挿入することが可能である。これは、バインダβ１の挿入先のメッセージ空間にバインダβ２を置くことで、バインダβ２をページ群として扱うことにより実現できる。
【０１８６】
（第３の実施の形態）
ここでは、バインダ、各ページ、及びページ群が、図１７に示すような拡張記録領域を持つ場合の実施の形態について説明する。例えば、バインダの拡張記録領域にタイトルを表わすフィールドを設ければ、バインダそのもののタイトルを表わし、また、ページπ、ページ群θのそれぞれに対する拡張記録領域に、タイトルを表わすフィールドを設ければ、あるページ群θに対してタイトル（章題）を表わすことができる。上記拡張記録領域には、タイトルを表わすフィールドの他に、セキュリティに関する情報や暗号化のための鍵情報を保持するフィールド等を設けるようになされている。
【０１８７】
また、この拡張記録領域に対する処理は、バインダβ、各ページπ、及び各ページ群θがその処理方法を知っている。このため、上述したような第１の実施の形態、又は第２の実施の形態のように、メッセージが伝達された場合、バインダβ、各ページπ、及び各ページ群θは自己が処理すべきメッセージを自律して判定する。
【０１８８】
一例として、各ページπまたは各ページ群θがタイトルを持ち、各ページπまたは各ページ群θの拡張記録領域１７１１〜１７１８に上記タイトルを設定する場合は、例えば、メッセージ“ＳｅｔＴｉｔｌｅ（”ｔｉｔｌｅ”）”のようなメッセージとその処理方法を定義しておいて、各ページπ、ページ群θごとにメッセージを設定する。
【０１８９】
このように、各ページπまたは各ページ群θに拡張記録領域１７１１〜１７１８を用意した場合、各ページπまたは各ページ群θに対するメッセージと処理方法とを自由に定義できる。更に、各ページπ及び各ページ群θは、それぞれ個別に自己のデータを保持するため、まとめて管理する必要が無くなる。
【０１９０】
また、バインダ文書ファイルのセキュリティに関する情報を上記拡張記録領域１７１０〜１７１８に設定することができる。上記セキュリティ情報として、例えば、（１）ページπやページ群θの編集不可を示す情報、（２）並べ替えを許可しないことを示す情報、（３）そのページπを作成するのに基となった文書ファイルの変更を反映するか否かの情報などがある。以下、具体的に一つずつ見ていくことにする。
【０１９１】
（１）編集不可を示す情報
まず、ページπの編集許可についての情報を上記拡張記録領域に持つ場合を説明する。ページπ対して、ユーザが強調したい部分に印を付けたり、不要な部分を消したりすることにより、ページπを見やすくすることがある。例えば、ページπに対して、線分を引いたり、円を描いたり、特定領域に色を塗ったり、或いは、予め定められたスタンプなどを押したりしたアノテーション（注釈）情報を付加することが挙げられる。
【０１９２】
ここで、ページπにアノテーション情報が付与（設定）されると、元となる文書が改竄されることになってしまうことになる。そこで、不正にアノテーション情報が付与されることを防止するため、アノテーション情報の許可を与えたくない場合があり得る。
【０１９３】
このような場合のために、各ページの拡張記録領域１７１１〜１７１６に「ページの編集許可」に関するフラグ情報を与える。このフラグの状態によって、ページの編集を行なうことを不許可にすることができれば、ページの改竄を防止することが可能となる。
【０１９４】
また、原則、ページの改竄を行なえないが、一部のページだけに編集の許可を与えるような限定的許可としてのアノテーション情報を、上記拡張記録領域１７１１〜１７１６にフラグ情報として追加することもできる。例えば、「機密文書」というような固定文字の記されたスタンプ機能だけが上記ページのアノテーション情報として付与されている場合、そのページの改竄を行なうことは不可能である。
【０１９５】
上記の場合、例えば、「ページの編集許可」に関して複数の許可レベルを設けておき、上記拡張記録領域１７１１〜１７１６に設定された許可レベルが上記複数の許可レベルの何れのレベルかを判断する。そして、この許可レベルに応じて各ページを編集できるようにすれば、限定付きの編集機能を与えることが可能である。
【０１９６】
（２）並び替え不可を示す情報
ページπの並べ替えについても同様に、ページπの順序が変わることでバインダ文書ファイルが本来有していた意味が変わってしまう場合がある。したがって、ページ順序を変更するような文書の改竄を防止するために、「並べ替えの許可」に関するフラグ情報を、各ページの拡張記録領域１７１１〜１７１６に設けるようにする。
【０１９７】
更に、上記（１）の「編集不可を示す情報」の場合と同様に、この「並べ替え許可」のフラグ情報にも許可レベルを設けて、例えば、原則、ページの並べ替えは出来ないが、現在のページ順が変わらない範囲で、複数のページを束ねることが可能とするような、限定的な編集許可を与えるようにすることができる。
【０１９８】
（３）元文書ファイルの変更の反映不可を示す情報
「そのページを作成するのに元となった文書ファイルの変更を、バインダ文書ファイルに反映」するためには、各ページの拡張記録領域に、元となった文書ファイルのページに関する情報（例えば、ディレクトリのパスやネットワーク上のパス）を記録しておく領域と、そのページを作成するときに用いた時点での上記元文書ファイルの更新日を記録しておく領域とを用意しておく。
【０１９９】
更には、「そのページを作成するのに元となった文書ファイルの変更を、バインダ文書ファイルに反映」することを許可するか否かのフラグ情報を設ける。元文書ファイルの変更を反映することの許可を指示するフラグ情報があった場合、バインダ文書ファイルの各ページの拡張記録領域１７１１〜１７１６に保持された、元文書ファイルのパス名に記録されている元文書ファイルの更新日と、バインダ文書ファイルのページ拡張記録領域１７１１〜１７１６に記録されている指定パスにある実際のバインダ文書ファイルの更新日を比較する。
【０２００】
上記比較によって２つの更新日が異なれば、元文書ファイルのページ変更をバインダ文書ファイルに反映させるために、再度、更新後のページ画像を作成して、バインダ文書ファイルの該当ページを更新することが可能である。
【０２０１】
ただし、バインダ文書ファイルの作成者がページπの更新を望まない場合は、「そのページπを作成するのに元となった文書の変更、バインダ文書ファイルに反映」することを許可するか否かのフラグ情報を不許可にすれば、元文書ファイルの変更がバインダ文書ファイルに反映されることは無い。
【０２０２】
ここで、上記（１）〜（３）の例に示したような、文書ファイルのセキュリティ機能に関連しているページ編集の制限は、バインダβを生成する当初には必要でなく、ページ編集が終了した段階で必要となる場合も含んでいる。また、ページ編集の制限（限定付き編集制限を含む）を施した後でも、その後にさらにページの再編集が必要となる場合も含んでいる。このように、本実施の形態では、再編集時におけるバインダ文書ファイルのセキュリティに関しても、適用できることはいうまでもない。
なお、上述した各ページのセキュリティ情報に基づく編集制限の方法は、バインダβまたはページ群θについての編集制限の方法に適用することができる。
【０２０３】
次に、ページ編集許可に制限を与える方法について述べる。今まで述べてきたようにページ間での情報の伝達は、複数のメッセージのやり取りによって行われる。そのため、ページ間のメッセージ自身が改竄されてしまうと、ページの拡張記録領域のセキュリティに関する情報は変更されてしまうこととなる。そこで、メッセージ自身を改竄されないための実現方法の例として、公知の技術である暗号化技法を用いてページ間のメッセージを暗号化して、この暗号化したメッセージ文をページ間で通知する方法を示す。
【０２０４】
上記公知の暗号化技法として、例えば、ページ間で共通の鍵を共有する秘密鍵暗号方式があり、この秘密鍵暗号化方式を用いて、メッセージ自身の改竄防止を実現することが可能である。その内容を以下に示す。
【０２０５】
始めに（空の）バインダβを生成するときに、同時に暗号化のための秘密鍵も生成しておき、この秘密鍵をバインダβの拡張記録領域内に保持しておく。なお、バインダページ管理部１０６が、上記秘密鍵を管理している。
【０２０６】
ページπ、ページ群θを作成するときは、このバインダβから派生するか、もしくは、派生したページπ、ページ群θからさらに派生させる。バインダβは、自己の秘密鍵を上記ページπ、ページ群θの生成時に、ページπ、ページ群θに渡す。これにより、各バインダ間で暗号化されたメッセージを伝達する場合は、この秘密鍵が利用される。なお、暗号化されていない場合は、そのメッセージのまま解釈されながら伝達される。
【０２０７】
これを、図を用いて具体的に説明する。図１８は、ページπＡ１８０１からページπＢ１８０２へ、メッセージ１８０３を送る場合である。この場合は、メッセージ１８０３には暗号化が施されておらず、平文のままのメッセージ１８０３が伝わるため、各ページ（ページπＡ１８０１、ページπＢ１８０２）ではメッセージを加工する処理（例えば、暗号化処理や復号化処理）は必要ない。
【０２０８】
なお、ここではページπについて説明しているが、暗号化の対象がバインダβやページ群θであっても同様な説明がなされる。
【０２０９】
一方、図１９は、メッセージを暗号化してから受信側ページに送る例である。図１８と同じく、ページπＡ１９００からページπＢ１９１０へメッセージを送るが、図１９では暗号化されたメッセージ１９０５が送られる。
【０２１０】
ページπＡ１９００内には暗号化部１９０２がある。まず、ページπＢ１９１０へ送るべきメッセージ１９０１及びページπＡ１９００が持つ秘密鍵１９０３を暗号化部１９０２へ渡す。
【０２１１】
暗号化部１９０２は、メッセージ１９０１と秘密鍵１９０３とを用いて、ページ間伝達用の暗号化メッセージ１９０５を生成する。これにより、ページπＡ１９００は、生成された暗号化メッセージ１９０５をページπＢ１９１０宛に送り出す。ページπＢ１９１０は、送られた暗号化メッセージ１９０５を受け取る。
【０２１２】
ページπＢ１９１０は、複合化部１９１２を有している。ページπＢ１９１０は、暗号化されたメッセージ１９０５及びページπＢ１９１０が持つ秘密鍵１９１３を、複合化部１９１２へ渡す。複合化部１９１２は、秘密鍵１９１３を用いて、暗号化メッセージ１９０５の解読を試みる。
【０２１３】
この場合、ページ間のお互いの秘密鍵１９０３と秘密鍵１９１３とが一致していればメッセージの復号は成功し、平文に戻ったメッセージ１９１１が生成される。そこで、ページπＢ１９１０は、生成されたメッセージ１９１１内容に従った処理を行なう。
以上が、暗号化処理及び復号化処理が成功する例である。
【０２１４】
なお、上記説明では、ページπＡ１９００が暗号化部１９０２を持ち、また、ページπＢ１９１０が復号化部１９１２を持つというように示した。実際には、ページπＡ１９００を管理するバインダページ管理部１０６が、ページπＡ１９００のメッセージ１９０１及びページπＡ１９００の拡張記録領域に保持された秘密鍵１９０３を、電子バインダ装置１００内の暗号化手段（暗号化部１９０２）へ渡す。そして、上記暗号化手段によって生成した暗号メッセージ１９０５を、ページπＡ１９００へ戻すように動作している。
ページπＢ１９１０における復号化処理についても同様である。
【０２１５】
図１９に対して、図２０は、メッセージを異なる秘密鍵によって暗号化及び復号化する例である。図１９と同様に、ページπＡ２０００内の暗号化部２００２により、ページπＢ２０１０へ送るべきメッセージ２００１と、ページπＡ２０００が保持する秘密鍵２００３とから、ページ間伝達用の暗号化メッセージ２００５を生成する。次に、ページπＡ２０００は、生成されたメッセージ２００５をページπＢ２０１０宛に送り出す。
【０２１６】
ページπＢ２０１０の複合化部２０１２は、暗号化されたメッセージ２００５と秘密鍵２０１３を用いて、暗号化メッセージの解読を試みる。この場合、ページ間のお互いの秘密鍵２００３及び秘密鍵２０１３が一致していないので復号に失敗する。このため、平文に戻ったメッセージ２０１１を生成できず、送られてきた暗号化メッセージ２００５の処理を行なうことができないことになる。
【０２１７】
なお、図１９において説明したように、実際には、ページπＡ２０００及びページπＢ２０１０を管理するバインダページ管理部１０６が、暗号化部２００２及び復号化部２０１２における暗号復号化処理の動作を管理している。
【０２１８】
このように、秘密鍵の同一性によって判断すれば、メッセージ伝達において秘密鍵と合致しないメッセージ処理（復号化処理）を阻止（ブロック）することができる。
なお、メッセージについてのページπの挿入、移動、及び削除等のための編集処理は、上述した第１の実施の形態または第２の実施の形態で述べた内容に従って行われるものとする。
【０２１９】
暗号化メッセージが生成される場合、バインダβ、ページπ、及びページ群θの内部のデータは、全て暗号化処理されて隠蔽される。更に、ページπ内部には、メッセージの暗号化処理を行なう暗号化部、及びメッセージの復号処理を行なう復号化部を持つ。暗号化された内部データにアクセスするためには、上記暗号化部及び復号化部を介することが必要であり、バインダβ、ページπ、及びページ群θは、この暗号化部及び複合化部を介さないアクセス処理を認めず、そのアクセスを拒否するようにしている。
【０２２０】
このようにバインダβ、ページπ、及びページ群θの内部データの隠蔽を行ったり、メッセージを暗号化したりすることにより、バインダβ等が自己にとって解釈可能なメッセージしか受け付けないような処理を行なうことを可能にする。
【０２２１】
なお、この例では、暗号化方式のために秘密鍵暗号方式を用いたが、他の暗号化方式として公知の技術である公開鍵暗号方式を用いてもよい。
【０２２２】
以上により、本実施の形態の電子バインダ装置によれば、各ページにそれぞれ対応させて拡張記録領域を設けて、これらの拡張記録領域に、各ページに対するアクセス権限を定めた情報としてみなせるセキュリティ情報をそれぞれ設定するようにしたので、アクセス権限のないユーザによるページへのユーザアクセスを拒否することができる。また、上記セキュリティ情報を、複数の許可レベルによって設定して、ページの編集を限定付きで認めることやユーザごとに異なる編集許可の付与を行なうことができる。
【０２２３】
これにより、バインダ文書ファイルには、様々な文書ファイルの情報を保持しておくことが可能となり、バインダ文書ファイル内の情報をページ単位として扱うことができるとともに、文書ファイルに対して編集不可のセキュリティが施されているだけのバインダ文書ファイルにおけるページ自身の編集を防止することができる。
【０２２４】
また、バインダ文書ファイルでは、文書単位に依らずページ単位で、自由にページの並び替えを可能とするとともに、ページの順序が入れ替えられてしまうことで、バインダ文書ファイルが有していた本来の意味が変更されてしまうことを防止することができる。
このように、本発明によれば、バインダ文書ファイルの管理を柔軟に、かつ容易に行なうことができる。
また、暗号化されたメッセージを用いれば、セキュリティが施されたページ等を含むバインダ文書ファイルの場合であっても編集操作を行なうことは可能である。また、この暗号化処理を利用して、ページの拡張記録領域に、例えば、「ページの編集許可」や「並べ替え許可」等の編集可否情報を設定することにより、暗号対象となるページ等に対して、秘密鍵を保持していないバインダからのメッセージを拒絶することが可能となる。
【０２２５】
なお、本発明の目的は、第１〜第３の実施の形態のホスト及び端末の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読みだして実行することによっても、達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード自体が第１〜第３の実施の形態の機能を実現することとなり、そのプログラムコードを記録した記録媒体及び当該プログラムコードは本発明を構成することとなる。
【０２２６】
プログラムコードを供給するための記録媒体としては、ＲＯＭ、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード等を用いることができる。
また、コンピュータが読みだしたプログラムコードを実行することにより、第１及び第２の実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行ない、その処理によって第１〜第３の実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０２２７】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行ない、その処理によって第１〜第３の実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０２２８】
図２１は、上記コンピュータの機能２６００を示したものである。
コンピュータ機能２６００は、上記図２１に示すように、ＣＰＵ２６５１と、ＲＯＭ２６５２と、ＲＡＭ２６５３と、キーボード（ＫＢ）２６５９のキーボードコントローラ（ＫＢＣ）２６５５と、表示部としてのＣＲＴディスプレイ（ＣＲＴ）２６６０のＣＲＴコントローラ（ＣＲＴＣ）２６５６と、ハードディスク（ＨＤ）２６６１及びフレキシブルディスク（ＦＤ）２６６２のディスクコントローラ（ＤＫＣ）２６５７と、ネットワーク２６７０との接続のためのネットワークインターフェースコントローラ（ＮＩＣ）２６５８とが、システムバス２６５４を介して互いに通信可能に接続された構成としている。
【０２２９】
ＣＰＵ２６５１は、ＲＯＭ２６５２或いはＨＤ２６６１に記録されたソフトウェア、或いはＦＤ２６６２より供給されるソフトウェアを実行することで、システムバス２６５４に接続された各構成部を総括的に制御する。
すなわち、ＣＰＵ２６５１は、所定の処理シーケンスに従った処理プログラムを、ＲＯＭ２６５２、或いはＨＤ２６６１、或いはＦＤ２６６２から読み出して実行することで、第１〜第３の実施の形態での動作を実現するための制御を行う。
【０２３０】
ＲＡＭ２６５３は、ＣＰＵ２６５１の主メモリ或いはワークエリア等として機能する。
ＫＢＣ２６５５は、ＫＢ２６５９や図示していないポインティングデバイス等からの指示入力を制御する。
ＣＲＴＣ２６５６は、ＣＲＴ２６６０の表示を制御する。
ＤＫＣ２６５７は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、及び第１から第３の実施の形態における所定の処理プログラム等を記録するＨＤ２６６１及びＦＤ２６６２とのアクセスを制御する。
ＮＩＣ２６５８は、ネットワーク２６７０上の装置或いはシステムと双方向にデータをやりとりする。
【０２３１】
本発明の実施態様の例を以下に列挙する。
〔実施態様１〕電子ドキュメントを構成する複数のページの中から必要なページを集めて新たなバインダ文書ファイルを生成する電子バインダ装置であって、上記バインダ文書ファイルを構成する各々のページに係わるセキュリティ情報を指定するための拡張記録領域を設定する拡張記録領域設定手段と、上記拡張記録領域設定手段により設定された拡張記録領域に上記バインダ文書ファイルのセキュリティ情報を設定するセキュリティ情報設定手段と、上記セキュリティ情報設定手段により上記拡張記録領域に設定されたセキュリティ情報に基づいてページに関する情報を管理するページ情報管理手段とを備えたことを特徴とする電子バインダ装置。
【０２３２】
〔実施態様２〕上記セキュリティ情報は、上記バインダ文書ファイルを構成する各ページに対する編集、上記各ページ間におけるページ移動、または上記バインダ文書ファイルのページ更新を行う編集のうち、少なくとも何れか一つの編集を許可するか否かの情報を含むことを特徴とする実施態様１に記載の電子バインダ装置。
【０２３３】
〔実施態様３〕上記ページ情報管理手段は、上記セキュリティ情報設定手段により上記拡張記録領域に設定されたセキュリティ情報に基づいて、上記バインダ文書ファイルを構成する各ページ自身が自己に関連する編集処理であるかを自律的に判断するが如く、上記各ページを管理することを特徴とする実施態様１または２に記載の電子バインダ装置。
【０２３４】
〔実施態様４〕上記ページ情報管理手段により上記バインダ文書ファイルを構成する各ページの管理は、上記各ページ間または上記各ページと上記各ページを統括するバインダ間の所定のメッセージ伝達を基に行われることを特徴とする実施態様１〜３の何れか１つに記載の電子バインダ装置。
【０２３５】
〔実施態様５〕複数の電子ドキュメントをページ単位に分割するページ分割手段と、上記ページ分割手段により分割された電子ドキュメントの各ページから、任意のページを抽出してバインダ文書ファイルを生成するバインダ文書ファイル生成手段と、上記バインダ文書ファイル生成手段により生成されたバインダ文書ファイルを、上記ページ単位で追加、削除、または並び替えの編集のうち、少なくとも何れか１つの編集を行なう編集手段とを備えた電子バインダ装置であって、上記バインダ文書ファイルを構成する各々のページに係わるセキュリティ情報を設定するための拡張記録領域を設定する拡張記録領域設定手段と、上記拡張記録領域設定手段により設定された拡張記録領域に上記バインダ文書ファイルのセキュリティ情報を設定するセキュリティ情報設定手段と、上記セキュリティ情報設定手段により上記拡張記録領域に設定されたセキュリティ情報に基づいてページに関する情報を管理するページ情報管理手段とを備え、上記ページ情報管理手段は、上記セキュリティ情報設定手段により設定された各セキュリティ情報に基づき、上記バインダ文書ファイルを構成する各ページ間または上記バインダ文書ファイルを構成する各ページと上記バインダ文書ファイルを構成する各ページを統括するバインダ間に所定のメッセージを伝達して、上記バインダ文書ファイルを構成する各ページを管理することを特徴とする電子バインダ装置。
【０２３６】
〔実施態様６〕上記ページ情報管理手段は、上記メッセージの内容を判断して、上記バインダ文書ファイルを構成する各ページ自身が上記セキュリティ情報設定手段により設定されたセキュリティ情報に応じた処理を自律的に判断するが如く、対応するメッセージを上記所定のページまたは上記バインダに通知することを特徴とする実施態様５に記載の電子バインダ装置。
【０２３７】
〔実施態様７〕上記セキュリティ情報設定手段は、上記バインダ文書ファイルを編集するためのアノテーションを付与することが可能か否かの情報を、上記ページの拡張記録領域に設定することを特徴とする実施態様５または６に記載の電子バインダ装置。
【０２３８】
〔実施態様８〕上記セキュリティ情報設定手段は、上記アノテーションの内容として複数の編集許可レベルの情報を設定することを特徴とする実施態様７に記載の電子バインダ装置。
【０２３９】
〔実施態様９〕上記アノテーションの内容は、上記バインダ文書ファイルを構成するページの並び替えを許可する情報を含むことを特徴とする実施態様８に記載の電子バインダ装置。
【０２４０】
〔実施態様１０〕上記アノテーションの内容は、上記バインダ文書ファイルを構成するページの並べ替えを許可しないが上記バインダ文書ファイルを構成するページを束ねることを許可する情報を含むことを特徴とする実施態様９に記載の電子バインダ装置。
【０２４１】
〔実施態様１１〕上記バインダ文書ファイルを構成するページを作成する元文書ファイルの上記電子ドキュメントに関して、ディレクトリパス、ネットワークのパス、または更新日時の少なくとも何れか１つの情報を管理する文書更新管理手段と、上記文書更新管理手段で管理する更新日時に基づき、上記バインダ文書ファイルのページを更新するページ画像更新手段とを備えることを特徴とする実施態様５〜１０の何れか１つに記載の電子バインダ装置。
【０２４２】
〔実施態様１２〕上記バインダ文書ファイルを構成するページ間で伝達されるメッセージ情報を暗号化する暗号化手段を備え、上記ページ情報管理手段は、上記暗号化手段による上記メッセージ情報の暗号化に必要な鍵情報を、上記バインダ文書ファイルを構成するページ自身が持つが如く、一対一に対応付けて管理することを特徴とする実施態様２〜１１の何れか１つに記載の電子バインダ装置。
【０２４３】
〔実施態様１３〕上記実施態様１〜１２の何れか１つに記載の電子バインダ装置にアクセス可能に構成されていることを特徴とする電子バインダシステム。
【０２４４】
〔実施態様１４〕電子ドキュメントを構成する複数のページの中から必要なページを集めて新たなバインダ文書ファイルを生成するためのバインダ文書ファイル生成方法であって、上記バインダ文書ファイルを構成する各々のページに係わるセキュリティ情報を指定するための拡張記録領域を設定する拡張記録領域設定手順と、上記拡張記録領域設定手順により設定された拡張記録領域に上記バインダ文書ファイルのセキュリティ情報を設定するセキュリティ情報設定手順と、上記セキュリティ情報設定手順により上記拡張記録領域に設定されたセキュリティ情報に基づいてページに関する情報を管理するページ情報管理手順とを有することを特徴とするバインダ文書ファイル生成方法。
【０２４５】
〔実施態様１５〕複数の電子ドキュメントをページ単位に分割するページ分割手順と、上記ページ分割手順により分割された電子ドキュメントの各ページから、任意のページを抽出してバインダ文書ファイルを生成するバインダ文書ファイル生成手順と、上記バインダ文書ファイル生成手順により生成されたバインダ文書ファイルを、上記ページ単位で追加、削除、または並び替えの編集のうち、少なくとも何れか１つの編集を行なう編集手順とを備えたバインダ文書ファイル生成方法であって、上記バインダ文書ファイルを構成する各々のページに係わるセキュリティ情報を設定するための拡張記録領域を設定する拡張記録領域設定手順と、上記拡張記録領域設定手順により設定された拡張記録領域に上記バインダ文書ファイルのセキュリティ情報を設定するセキュリティ情報設定手順と、上記セキュリティ情報設定手順により上記拡張記録領域に設定されたセキュリティ情報に基づいてページに関する情報を管理するページ情報管理手順とを有し、上記ページ情報管理手順は、上記セキュリティ情報設定手順により設定された各セキュリティ情報に基づき、上記バインダ文書ファイルを構成する各ページ間、または上記バインダ文書ファイルを構成する各ページと上記バインダ文書ファイルを構成する各ページを統括するバインダ間に所定のメッセージを伝達して、上記バインダ文書ファイルを構成する各ページを管理することを特徴とするバインダ文書ファイル生成方法。
【０２４６】
〔実施態様１６〕電子ドキュメントを構成する複数のページの中から必要なページを集めて新たなバインダ文書ファイルを生成するためのバインダ文書ファイル生成方法を実行するためのコンピュータプログラムであって、上記バインダ文書ファイルを構成する各々のページに係わるセキュリティ情報を指定するための拡張記録領域を設定する拡張記録領域設定手順と、上記拡張記録領域設定手順により設定された拡張記録領域に上記バインダ文書ファイルのセキュリティ情報を設定するセキュリティ情報設定手順と、上記セキュリティ情報設定手順により上記拡張記録領域に設定されたセキュリティ情報に基づいてページに関する情報を管理するページ情報管理手順とを有することを特徴とするコンピュータプログラム。
【０２４７】
〔実施態様１７〕複数の電子ドキュメントをページ単位に分割するページ分割手順と、上記ページ分割手順により分割された電子ドキュメントの各ページから、任意のページを抽出してバインダ文書ファイルを生成するバインダ文書ファイル生成手順と、上記バインダ文書ファイル生成手順により生成されたバインダ文書ファイルを、上記ページ単位で追加、削除、または並び替えの編集のうち、少なくとも何れか１つの編集を行なう編集手順とを備えたバインダ文書ファイル生成方法を実行するためのコンピュータプログラムであって、上記バインダ文書ファイルを構成する各々のページに係わるセキュリティ情報を設定するための拡張記録領域を設定する拡張記録領域設定手順と、上記拡張記録領域設定手順により設定された拡張記録領域に上記バインダ文書ファイルのセキュリティ情報を設定するセキュリティ情報設定手順と、上記セキュリティ情報設定手順により上記拡張記録領域に設定されたセキュリティ情報に基づいてページに関する情報を管理するページ情報管理手順とを有し、上記ページ情報管理手順は、上記セキュリティ情報設定手順により設定された各セキュリティ情報に基づき、上記バインダ文書ファイルを構成する各ページ間、または上記バインダ文書ファイルを構成する各ページと上記バインダ文書ファイルを構成する各ページを統括するバインダ間に所定のメッセージを伝達して、上記バインダ文書ファイルを構成する各ページを管理することを特徴とするコンピュータプログラム。
【０２４８】
〔実施態様１８〕実施態様１６または実施態様１７に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【０２４９】
【発明の効果】
以上述べてきたように、本発明によれば、電子ドキュメントを構成する各ページから必要なページを集めて新たなバインダ文書ファイルを生成する際に、上記バインダ文書ファイルを構成する各々のページに係わるセキュリティに関する情報を設定するための拡張記録領域を設定し、上記拡張記録領域に上記セキュリティに関する情報を設定するようにしたので、上記バインダ文書ファイルの編集許可をページ単位で行なうようにすることができる。
これにより、バインダ文書ファイルのセキュリティを文書単位で行なう場合よりもセキュリティ性を大幅に向上させることができ、情報の改変・流出を防止する機能に優れた文書管理を実現することができる。
【図面の簡単な説明】
【図１】本発明の電子バインダ装置の実施の形態を示す構成図である。
【図２】バインダβとページπの関係を具体的な概念図として示した図である。
【図３】バインダデータ生成管理部が新規にバインダ（バインダ文書ファイル）を作成した際の、総ページ数０のバインダ（空のバインダ）βを説明するための図である。
【図４】バインダβの２ページ目と３ページ目の間に新たなをページπｎｅｗを挿入することを説明するための図である。
【図５】バインダβにページπｎｅｗを挿入する際のバインダと各ページ間のメッセージ伝達を説明する図である。
【図６】バインダにページを挿入するときの動作手順を説明するフローチャートである。
【図７】バインダにページを挿入するときの動作手順を説明するフローチャートである。
【図８】バインダからページを削除することを説明するための図である。
【図９】バインダからページを削除する際のバインダと各ページ間のメッセージ伝達を説明するための図である。
【図１０】バインダからページを削除するときの動作手順を説明するフローチャートである。
【図１１】バインダからページを削除するときの動作手順を説明するフローチャートである。
【図１２】バインダにおいて、ページの移動を説明するための図である。
【図１３】バインダにおいて、ページを前方移動する際のバインダと各ページ間のメッセージ伝達を説明するための図である。
【図１４】バインダにおいて、ページを移動するときの動作手順を説明するフローチャートである。
【図１５】バインダにおいて、ページを移動するときの動作手順を説明するフローチャートである。
【図１６】バインダにおいて、ページを後方移動する際のバインダと各ページ間のメッセージ伝達を説明するための図である。
【図１７】束ねたページを表すページ群を説明するための図である。
【図１８】暗号化されていないメッセージをページ間で送受信する場合を説明するための図である。
【図１９】暗号化されたメッセージをページ間で送受信する場合を説明するための図である。
【図２０】暗号化されたメッセージを受信側のページが拒絶する場合を説明するための図である。
【図２１】本発明の実施の形態例の電子バインダ装置の機能をコンピュータに実現させるためのプログラムを、コンピュータ読み取り可能な記録媒体から読み出して実行するコンピュータの構成を示すブロック図である。
【符号の説明】
１０１  データベース
１０２  バインダデータ
１０３  バインダデータ生成管理部
１０５  バインダ内部ファイル管理部
１０６  バインダページ管理部
１０７  データベースアクセスユーザインタフェース部
【図１】
2004151868.tif 000003
【図２】
2004151868.tif 000004
【図３】
2004151868.tif 000005
【図４】
2004151868.tif 000006
【図５】
2004151868.tif 000007
【図６】
2004151868.tif 000008
【図７】
2004151868.tif 000009
【図８】
2004151868.tif 000010
【図９】
2004151868.tif 000011
【図１０】
2004151868.tif 000012
【図１１】
2004151868.tif 000013
【図１２】
2004151868.tif 000014
【図１３】
2004151868.tif 000015
【図１４】
2004151868.tif 000016
【図１５】
2004151868.tif 000017
【図１６】
2004151868.tif 000018
【図１７】
2004151868.tif 000019
【図１８】
2004151868.tif 000020
【図１９】
2004151868.tif 000021
【図２０】
2004151868.tif 000022
【図２１】
2004151868.tif 000023