(57)【特許請求の範囲】
【請求項１】
電子書籍のページ単位の削除，追加命令がスクリプトで記述してある差分ファイルに基づいて電子書籍を更新する書籍型データ差分追加更新装置において，
前記差分ファイルを読み込む手段と，
該差分ファイルに記述された更新対象の電子書籍を特定する手段と，
該特定された電子書籍のファイルを読み込む手段と，
前記電子書籍のページごとに，更新前のページ番号を仮のページ番号として管理するとともに，閲覧者が追加した付箋とメモが付与されたページ番号を管理する手段と，
前記差分ファイルのスクリプトを実行し，ページの削除と追加を行い，追加されたページに対して追加位置に基づいて仮のページ番号を決めて管理する手段と，
閲覧者が追加した付箋とメモが付くページ番号を，仮のページ番号に基づいて，できるだけ近いページ番号となるように決める手段と，
ページ番号をリセットし新しく振り直して，更新後の電子書籍をファイルとして格納する手段とを有する
ことを特徴とする書籍型データ差分追加更新装置。
【請求項２】
電子書籍のページ単位の削除，追加命令がスクリプトで記述してある差分ファイルに基づいて電子書籍を更新する書籍型データ差分追加更新装置において，
電子書籍に対して更新指示を行うための差分ファイルの適用順序が，更新番号と該更新番号に対応する差分ファイルの格納場所で記載された更新指示情報を読み込む手段と，
該更新指示情報に記述された更新対象の電子書籍を特定する手段と，
該特定された電子書籍のファイルを読み込む手段と，
前記電子書籍のページごとに，更新前のページ番号を仮のページ番号として管理するとともに，閲覧者が追加した付箋とメモが付与されたページ番号を管理する手段と，
該電子書籍の更新番号を読み出し，差分ファイルの更新番号との比較から，適用が必要な差分ファイルを決める手段と，
該差分ファイルを読み込む手段と，
読み込んだ差分ファイルのスクリプトを実行し，ページの削除と追加を行い，追加されたページに対して追加位置に基づいて仮のページ番号を決めて管理する手段と，
閲覧者が追加した付箋とメモが付くページ番号を，仮のページ番号に基づいて，できるだけ近いページ番号となるように決める手段と，
ページ番号をリセットし新しく振り直す手段と，
次の差分ファイルの適用が必要か否かを判断し，必要ならば差分ファイルの読み込みから繰り返し，不要であれば電子書籍をファイルとして格納する手段とを有する
ことを特徴とする書籍型データ差分追加更新装置。
【請求項３】
前記付箋とメモのページ番号を決める手段において，
メモに限り，更新前に付与されていたページ番号が，仮のページ番号になければ，中表紙に移す手段を有する
ことを特徴とする請求項１または請求項２記載の書籍型データ差分追加更新装置。
【請求項４】
電子書籍のページ単位の削除，追加命令がスクリプトで記述してある差分ファイルに基づいて電子書籍を更新する書籍型データ差分追加更新装置を構成するコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって，
前記コンピュータを，
前記差分ファイルを読み込む手段と，
該差分ファイルに記述された更新対象の電子書籍を特定する手段と，
該特定された電子書籍のファイルを読み込む手段と，
前記電子書籍のページごとに，更新前のページ番号を仮のページ番号として管理するとともに，閲覧者が追加した付箋とメモが付与されたページ番号を管理する手段と，
前記差分ファイルのスクリプトを実行し，ページの削除と追加を行い，追加されたページに対して追加位置に基づいて仮のページ番号を決めて管理する手段と，
閲覧者が追加した付箋とメモが付くページ番号を，仮のページ番号に基づいて，できるだけ近いページ番号となるように決める手段と，
ページ番号をリセットし新しく振り直して，更新後の電子書籍をファイルとして格納する手段として，
機能させるためのプログラムを記録したことを特徴とする書籍型データ差分追加更新プログラムの記録媒体。
【請求項５】
電子書籍のページ単位の削除，追加命令がスクリプトで記述してある差分ファイルに基づいて電子書籍を更新する書籍型データ差分追加更新装置を構成するコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって，
前記コンピュータを，
電子書籍に対して更新指示を行うための差分ファイルの適用順序が，更新番号と該更新番号に対応する差分ファイルの格納場所で記載された更新指示情報を読み込む手段と，
該更新指示情報に記述された更新対象の電子書籍を特定する手段と，
該特定された電子書籍のファイルを読み込む手段と，
前記電子書籍のページごとに，更新前のページ番号を仮のページ番号として管理するとともに，閲覧者が追加した付箋とメモが付与されたページ番号を管理する手段と，
該電子書籍の更新番号を読み出し，差分ファイルの更新番号との比較から，適用が必要な差分ファイルを決める手段と，
該差分ファイルを読み込む手段と，
読み込んだ差分ファイルのスクリプトを実行し，ページの削除と追加を行い，追加されたページに対して追加位置に基づいて仮のページ番号を決めて管理する手段と，
閲覧者が追加した付箋とメモが付くページ番号を，仮のページ番号に基づいて，できるだけ近いページ番号となるように決める手段と，
ページ番号をリセットし新しく振り直す手段と，
次の差分ファイルの適用が必要か否かを判断し，必要ならば差分ファイルの読み込みから繰り返し，不要であれば電子書籍をファイルとして格納する手段として，
機能させるためのプログラムを記録したことを特徴とする書籍型データ差分追加更新プログラムの記録媒体。
【請求項６】
請求項４または請求項５記載の書籍型データ差分追加更新プログラムの記録媒体において，
前記コンピュータを，
前記付箋とメモのページ番号を決める手段において，
メモに限り，更新前に付与されていたページ番号が，仮のページ番号になければ，中表紙に移す手段として，
機能させるためのプログラムを記録したことを特徴とする書籍型データ差分追加更新プログラムの記録媒体。
【請求項７】
電子書籍のページ単位の削除，追加命令がスクリプトで記述してある差分ファイルに基づいて電子書籍を更新する書籍型データ差分追加更新装置を構成するコンピュータに実行させるための書籍型データ差分追加更新プログラムであって，
前記コンピュータを，
前記差分ファイルを読み込む手段と，
該差分ファイルに記述された更新対象の電子書籍を特定する手段と，
該特定された電子書籍のファイルを読み込む手段と，
前記電子書籍のページごとに，更新前のページ番号を仮のページ番号として管理するとともに，閲覧者が追加した付箋とメモが付与されたページ番号を管理する手段と，
前記差分ファイルのスクリプトを実行し，ページの削除と追加を行い，追加されたページに対して追加位置に基づいて仮のページ番号を決めて管理する手段と，
閲覧者が追加した付箋とメモが付くページ番号を，仮のページ番号に基づいて，できるだけ近いページ番号となるように決める手段と，
ページ番号をリセットし新しく振り直して，更新後の電子書籍をファイルとして格納する手段として，
機能させるための書籍型データ差分追加更新プログラム。
【請求項８】
電子書籍のページ単位の削除，追加命令がスクリプトで記述してある差分ファイルに基づいて電子書籍を更新する書籍型データ差分追加更新装置を構成するコンピュータに実行させるための書籍型データ差分追加更新プログラムであって，
前記コンピュータを，
電子書籍に対して更新指示を行うための差分ファイルの適用順序が，更新番号と該更新番号に対応する差分ファイルの格納場所で記載された更新指示情報を読み込む手段と，
該更新指示情報に記述された更新対象の電子書籍を特定する手段と，
該特定された電子書籍のファイルを読み込む手段と，
前記電子書籍のページごとに，更新前のページ番号を仮のページ番号として管理するとともに，閲覧者が追加した付箋とメモが付与されたページ番号を管理する手段と，
該電子書籍の更新番号を読み出し，差分ファイルの更新番号との比較から，適用が必要な差分ファイルを決める手段と，
該差分ファイルを読み込む手段と，
読み込んだ差分ファイルのスクリプトを実行し，ページの削除と追加を行い，追加されたページに対して追加位置に基づいて仮のページ番号を決めて管理する手段と，
閲覧者が追加した付箋とメモが付くページ番号を，仮のページ番号に基づいて，できるだけ近いページ番号となるように決める手段と，
ページ番号をリセットし新しく振り直す手段と，
次の差分ファイルの適用が必要か否かを判断し，必要ならば差分ファイルの読み込みから繰り返し，不要であれば電子書籍をファイルとして格納する手段として，
機能させるための書籍型データ差分追加更新プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，ネットワークを利用して電子的な書籍などの情報を表示するシステムにおいて，最新の情報に更新するなど，二つの書籍などの情報間の差分情報に基づいて，既に存在する情報を，当該差分情報によって追加もしくは更新することができるシステムを構築するための書籍型データ差分追加更新装置に関するものである。
【０００２】
【従来の技術】
従来，二つの情報間の差分情報に基づいて，既に存在する元の情報を，当該差分情報によって追加もしくは更新するために，二つの情報を比較した結果である差分情報を，次のような形式で記述していた。
（１）内容が変化していない部分では，その部分の先頭からの位置（バイト数など）と，範囲（バイト数など）〔内容が変化している部分以外と定義される場合も多い〕。
（２）内容が変化している部分は，その部分の先頭からの位置（バイト数など）と，範囲（バイト数など），および変化後の内容〔例えば「先頭から２０バイト目から１０バイトを『００  ０１  ２３  ５２』の４バイトに置き換える」など〕。
（３）内容が追加されている部分は，その部分の先頭からの位置（バイト数など），および追加内容〔例えば「先頭から３０バイト目に『０１  ２０  １１』の３バイトを追加する」など（内容が変化している部分で，範囲が０バイトと定義することもできる）〕。
【０００３】
そして，差分情報を適用する際に，以上の記述をもとに，次のような追加更新処理を行っていた。
（１）内容が変化していない部分では，元の内容をそのままコピーする。
（２）内容が変化している部分は，差分情報に含まれる先頭からの位置（バイト数など）と，範囲（バイト数など）によって特定される部分を削除し，変化後の内容を削除した部分に挿入する〔例えば先の例では，「先頭から２０バイト目から１０バイト削除し，先頭から２０バイト目から４バイトを『００  ０１  ２３５２』として挿入する」など〕。
（３）内容が追加されている部分は，差分情報に含まれる先頭からの位置（バイト数など）に，追加内容を挿入する〔例えば先の例では，「先頭から３０バイト目に『０１  ２０  １１』の３バイトを挿入する」など〕。
【０００４】
以上の処理を差分情報が終了するまで操り返す。
【０００５】
【発明が解決しようとする課題】
従来の技術を用いた場合，差分情報の記述は，必ずしも書籍などの情報に適してはおらず，特に閲覧利用者の追加したメモや付箋など，書籍などの情報の一部やページに関連付けられた情報は，失われたり，元の書籍などの情報と同じ位置に復元されるが更新後のページの内容は前後に移動していたりするなど，閲覧利用者の期待する結果にならないことがあった。
【０００６】
本発明の目的は，コンピュータ画面上に紙の本を模して，表紙・中表紙・本文ページ・裏表紙などの物理的な本の構造を持ったインタフェースで書籍などの情報を表示し，各ページにメモや付箋など閲覧利用者の追加した情報が存在する場合に，その閲覧利用者の追加したメモや付箋などの情報を，なるべく位置も含めて，保存することができる書籍型データ差分追加更新装置を提供することである。
【０００７】
【課題を解決するための手段】
上記課題を解決するため，本発明では，更新前のページ番号を記憶しておき，更新後もなるべく近くのページ番号に付与されるように，付箋やメモのページ番号を決める。一般に，メモは本文に直接関連して付随していることが多く，付箋はページ全体としての構造に付随していることが多いと考えられる。そのため，メモの場合には，そのページがなくなってしまった際に，そのページ付近に移動させるメリットが少なく，逆に付箋は，その付近に関連する記述が存在するかもしれず，また，貼られる位置も本文とは遠い余白（マージン）の部分に貼られることが多いため，メモを中表紙に移す。
【０００８】
具体的には，本発明では，電子書籍のページ単位の削除，追加命令がスクリプトで記述してある差分ファイルを読み込んで内部形式に変換し，差分ファイルに記述された更新対象の電子書籍を特定する。次に，その特定された電子書籍のファイルを読み込んで内部形式に変換し格納する。電子書籍のページごとに，更新前のページ番号を仮のページ番号として管理するとともに，閲覧者が追加した付箋とメモが付与されたページ番号を管理する。差分ファイルのスクリプトを実行することにより必要なページの削除と追加を行い，追加されたページに対して追加位置に基づいて仮のページ番号を決めて管理する。閲覧者が追加した付箋とメモが付くページ番号は，仮のページ番号に基づいて，できるだけ近いページ番号となるように決める。最後にページ番号をリセットし新しく振り直して，更新後の電子書籍をファイルとして格納する。ここで，ページ番号等を管理するとは，ページ番号等の情報を記憶・保存し，必要なときに参照できるような状態にしておくことをいう。
【０００９】
また，第二の発明では，電子書籍の更新指示ファイル（更新指示を行うための差分ファイルの適用順序が，更新番号と該更新番号に対応する差分ファイルの格納場所で記載されたもの）を読み込んで内部形式に変換する。その更新指示ファイルに記述された更新対象の電子書籍を特定し，その特定された電子書籍のファイルを読み込んで内部形式に変換し格納する。次に，電子書籍のページごとに，更新前のページ番号を仮のページ番号として管理するとともに，閲覧者が追加した付箋とメモが付与されたページ番号を管理する。その電子書籍の更新番号を読み出し，差分ファイルの更新番号との比較から，適用が必要な差分ファイルを決める。決めた差分ファイルを読み込んで内部形式に変換し，差分ファイルのスクリプトを実行することによりページの削除と追加を行い，追加されたページに対して追加位置に基づいて仮のページ番号を決めて管理する。また，閲覧者が追加した付箋とメモが付くページ番号を，仮のページ番号に基づいてできるだけ近いページ番号となるように決める。その後，ページ番号をリセットして新しく振り直す。次の差分ファイルの適用が必要か否かを判断し，必要ならば差分ファイルの読み込みから同様に処理を繰り返し，不要であれば電子書籍をファイルとして格納する。
【００１０】
以上の付箋とメモのページ番号を決める過程では，メモに限り，更新前に付与されていたページ番号が，仮のページ番号になければ，中表紙に移すことにより，メモを適切に保存することができる。
【００１１】
以上の手段は，コンピュータと，そのコンピュータにインストールされ実行されるソフトウェアプログラムとによって実現することができ，そのプログラムは，コンピュータが読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスク等の適当な記録媒体に格納することができる。
【００１２】
【発明の実施の形態】
以下，本発明の一実施形態について，図面を用いて説明する。図１は，本発明の一実施形態に係る書籍型データ差分追加更新装置のシステム構成を表すブロック図である。
【００１３】
図１に示すシステムは，スクリプト解析部２，スクリプト制御部３，書籍データ読込部５，書籍オブジェクト管理部６，オブジェクト格納部７，書籍データ書込部８，通信部９，表示制御部１０，表示部１１から構成され，書籍などの情報の差分情報を記述したファイルである差分ファイル１を入力とし，計算機のローカルの蓄積部に格納された書籍データ４を読み込んだり，書き込んだりする。
【００１４】
図２は，図１に示したシステムにおける差分ファイル１の記述法の例を説明する図である。図２（Ａ）の上側が更新元の書籍などの情報，下側が更新後の書籍などの情報を表している。各四角形は，書籍などの情報中のページを表しており，更新元の書籍などの情報には，１〜９までのページが存在している。更新後の書籍などの情報には，更新元の書籍などの情報で１，５，８，９ページであったのと同じ内容が存在しており，更新元の書籍などの情報で６，７ページであった内容を更新した内容Ｎ3 ，Ｎ4 が存在している。
【００１５】
図２（Ｂ）における差分ファイル１は，更新元の書籍などの情報から，更新後の書籍などの情報を作成するためのスクリプトを表しており，更新元情報と更新後情報との対応関係から，
▲１▼更新元情報の２〜４，６，７ページを削除する，
▲２▼次に３ページ目に新しいページＮ3 を挿入する，
▲３▼次に４ページ目に新しいページＮ4 を挿入する，
といった処理を実行することを示すスクリプトとなっている。
【００１６】
差分ファイル１のうち，「書籍ＩＤ」は，更新元の書籍などの情報を特定する情報であり，例えば電子書籍名や，差分追加更新処理を通じて変化しないＩＤ文字列や，差分追加更新対象となる元の書籍データ４のＵＲＬ（Uniform Resource Locator），当該差分追加更新を特定する番号「更新番号」などとする。
【００１７】
図３は，図１に示したシステムで，図２に示した差分ファイル１の記述がどのように処理されるかの例を示している。また，図４は，図１に示したシステムにおける図３のような処理のためのフローチャートである。
【００１８】
本システムは，実行時，スクリプト解析部２によって差分ファイル１を読み込む。スクリプト解析部２では，計算機可読形式（例えば，ＸＭＬで記述された）文書である差分ファイル１を読み込んで内部形式に変換し，スクリプト制御部３へ渡す（ステップＳ１）。スクリプト制御部３は，差分ファイル１の内部形式に従って，差分追加更新処理を実行する。書籍オブジェクト管理部６は，スクリプト制御部３から受けた要求をもとに，書籍データ読込部５，オブジェクト格納部７，書籍データ書込部８，通信部９，表示制御部１０を用いて差分追加更新処理および表示部１１への書籍などの情報の表示を行う。
【００１９】
スクリプト制御部３では，差分ファイル１の内部形式に従って，まず，更新元の書籍などの情報を特定する情報を書籍オブジェクト管理部６へ渡す。書籍オブジェクト管理部６では，該更新元の書籍などの情報を特定する情報を書籍データ読込部５に渡し，書籍データ読込部５では該更新元の書籍などの情報を特定する情報を用いて，計算機の永続記憶領域に存在する書籍データ４を特定して（ステップＳ２），内部形式に変換する。
【００２０】
書籍データ読込部５で内部形式に変換された書籍データは，書籍オブジェクト管理部６に渡され，書籍オブジェクト管理部６では，該書籍データの内部形式をオブジェクト格納部７に格納する（ステップＳ３）。この際，該書籍データの内部形式に付随するメモや付箋などの閲覧利用者の追加した情報も同時に格納される。図３の上部に示す「元情報」は，ここで格納される情報の例であり，この例では元情報の２ページ目に付箋２０，メモ２２，６ページ目にメモ２３，８ページ目に付箋２１が追加されている。
【００２１】
次に，スクリプト制御部３では，差分ファイル１の内部形式に従って，「▲１▼２〜４，６，７ページを削除」の指示を書籍オブジェクト管理部６へ渡す。書籍オブジェクト管理部６では，オブジェクト格納部７に格納されている書籍データの内部形式の２〜４，６，７ページを削除する（ステップＳ４）。この際，各ページが更新元の書籍などの情報内で何ページ目であったかという元ページ番号を記憶しておく。これで，オブジェクト格納部７に格納されている書籍データ内部形式の元ページ番号は，１，５，８，９ページとなる。
【００２２】
同様に，スクリプト制御部３では，差分ファイル１の内部形式に従って，「▲２▼３ページ目に新しいページＮ3 を挿入」の指示と，新しいページＮ3 の内容を書籍オブジェクト管理部６へ渡す。書籍オブジェクト管理部６では，オブジェクト格納部７に格納されている書籍データの内部形式の３ページ目に新しいページＮ3 の内容を挿入する（ステップＳ４）。挿入の際には，挿入位置の直前ページの「元ページ番号」＋１を挿入した新しいページの元ページ番号として採用する。これで，オブジェクト格納部７に格納されている書籍データ内部形式の元ページ番号は，１，５，６（Ｎ3 ），８，９ページとなる。
【００２３】
「▲３▼４ページ目に新しいページＮ4 を挿入」の指示に関しても同様で，適用後，オブジェクト格納部７に格納されている書籍データ内部形式の元ページ番号は，１，５，６（Ｎ3 ），７（Ｎ4 ），８，９ページとなる。
【００２４】
ここで，例えば，「▲４▼５ページ目に新しいページＮ5 を挿入」や「▲５▼１ページ目に新しいページＮ1 を挿入」など，「元ページ番号」として記憶しているページ番号と重複するような指示があった場合には，ページ番号「Ｎ」とする。▲４▼および▲５▼の例を適用した場合には，オブジェクト格納部７に格納されている書籍データ内部形式の元ページ番号は，Ｎ（Ｎ1 ），１，５，６（Ｎ3 ），７（Ｎ4 ），Ｎ（Ｎ5 ），８，９ページとなる。
【００２５】
上記した元ページ番号付与の考え方は，一般に入れ換えの単位は章・節などの区切りが考慮されることが多く，例えば，この例では６，８ページは一つの単位（章や節）で，更新後のページ数が減ったなら，まとまった単位としてのページ数が減少したと考えられ，増えたのなら，まとまった単位としてのページ数が増加したと考えられることに基づいている。別の考え方による元ページ番号付与方法としては，純粋に量だけで判断して，空となっているページの間で比例配分させる（整数とは限らない）ことが考えられる。これは，例えば２〜８ページが削除されて，一つのページが追加された場合，オブジェクト格納部７に格納されている書籍データ内部形式の元ページ番号は，１，５，９ページとなる（前記した元ページ番号付与の考え方の場合には，１，２，９ページとなる）。
【００２６】
さて，スクリプト制御部３で処理すべき差分ファイル１の内部形式が終了したら，書籍オブジェクト管理部６へ終了を告げる。書籍オブジェクト管理部６では，オブジェクト格納部７に格納されている書籍データの内部形式の元ページ番号に基づき，該書籍データの内部形式に付随するメモや付箋などの閲覧利用者の追加した情報を復元する（ステップＳ５）。このとき，消えてしまった元ページ番号に付随していたメモは中表紙（中付け）に移動され，付箋は最も近い元ページ番号を持つページに移動される。
【００２７】
図３の下部に示す「後情報」は，ここで復元，格納される情報の例であり，この例では，後情報の３ページ目に元ページ番号６に付随していたメモ２３が，５ページ目に元ページ番号８に付随していた付箋２１が復元，格納される。また，元ページ番号２に付随していた付箋２０，メモ２２については，元ページ番号２のページが消えてしまったので，１ページ目に付箋２０が復元，格納され，メモ２２は中表紙に移動されている。ここで，中表紙とは，一般に「見返し」「遊び紙」と呼ばれる，本の表紙をめくった最初にある若干色が違ったり，本の本紙と表紙とを貼り付けている紙の一方であったりするページ（紙）のことである。場合によっては「前付け」の一種と考えられることもある。
【００２８】
閲覧利用者の追加した情報が復元されたら，書籍オブジェクト管理部６では，新規にページ番号を振り直し（ステップＳ６），オブジェクト格納部７に格納されている書籍データの内部形式を，当初渡された更新元の書籍などの情報を特定する情報と共に，書籍データ書込部８に渡し，書籍データ書込部８では該更新元の書籍などの情報を特定する情報を用いて，計算機の永続記憶領域に存在する書籍データ４を特定し，書籍オブジェクト管理部６から渡された書籍データの内部形式からファイル形式に変換し，書籍データ４に書き込む（ステップＳ７）。この際，該書籍データの内部形式に付随するメモや付箋などの閲覧利用者の追加した情報も同時に書き込まれる。
【００２９】
最後に，書籍オブジェクト管理部６では，オブジェクト格納部７に格納されている書籍データの内部形式を，表示制御部１０に渡し，表示制御部１０では，表示部１１へ当該書籍データの内部形式に基づいた描画を行い，差分追加更新処理後の書籍などの情報の表示を行う。
【００３０】
次に，本発明の第二の実施形態について，図面を用いて説明する。
【００３１】
差分ファイル１に記述された更新元の書籍などの情報を特定する情報としては，書籍データ４そのものを特定する情報だけではなく，差分追加更新処理を通じて変化しないＩＤや，差分追加更新対象となる元の書籍データ４のＵＲＬ（Uniform Resource Locator），当該差分追加更新を特定する番号「更新番号」も記述できることとする。書籍データ４には，そのファイルがどの更新によって作成されたかを特定できる番号「更新番号」を格納することができ，差分ファイル１に，「以前の更新情報」を記述することで，遡って差分追加更新処理を行うことができる。
【００３２】
図５は，本発明の第二の実施形態に係る書籍型データ差分追加更新装置のシステムにおける差分ファイル１の記述法の例を示している。
【００３３】
本実施形態で考えている差分追加更新モデルでは，差分は必ず一つ前の情報に対して定義することとするため，当該差分追加更新を特定する番号「更新番号」によって，自動的に更新の対象はそれ以前のものとわかる。この例では，当該差分追加更新を特定する番号「更新番号」は「８」なので，当該差分ファイルを用いた後の書籍データ４の更新番号は「８」とわかる。自動的に，更新の対象はそれ以前のものとわかるので，更新番号無しか，更新番号が１〜７のものに限られることになる。書籍データ４に格納されている更新番号が「２」であった場合，この書籍データ４に差分追加更新処理が適用される。
【００３４】
さて，毎回，きちんと差分更新をしていれば，そのままで問題ないが，本発明の第二の実施形態では，毎回きちんと差分更新をしていない状況にあっても，当該差分ファイルに「以前の更新情報」を記述することによって，外部に更新番号を管理するシステムを必要とすることなく，自律的に以前の更新情報を管理することができるシステムを構築することができる。以下の説明では，差分ファイル１の格納先を表す一つの手段として，ＵＲＬを用いたとして説明する。
【００３５】
差分ファイル１に記述された「以前の更新情報」には，その更新で行われた更新番号（「ｎｏ属性」と呼ぶ），その更新で使われた差分ファイルのＵＲＬを記述することができる。差分ファイルは，更新番号の順に適用する。例えば，当該差分ファイル１に「更新番号」の値「８」が，書籍データ４に「更新番号」の値「２」が格納されており，当該差分ファイル１に含まれる「以前の更新情報」のｎｏ属性が１，２，４，７，対応する差分ファイルのＵＲＬが，それぞれ
「http://Server/bookA/1.diff」，
「http://Server/bookA/2.diff」，
「http://Server/bookA/4.diff」，
「http://Server/bookA/7.diff」，
というような記述であった場合，「以前の更新情報」のｎｏ属性が４，７の差分ファイルが今回の更新に使用されることになる。つまり，以前の更新情報は，全ての更新情報を記述する必要はなく，今回の更新に必要な以前の更新情報だけを記述すればよい。この例では，ｎｏ属性が３，５，６である以前の更新情報はなくても，更新番号「８」の書籍データ４を作成できることを示している。
【００３６】
ここで，更新元の書籍など更新対象を特定する情報「書籍ＩＤ」や，当該差分追加更新を特定する番号「更新番号」，「以前の更新情報」の記述は，通常，差分ファイル１の中に記述されるが，差分ファイル１とは別のファイルとして扱うことができ，説明のためには別のファイルとした方がわかりやすいため，「更新指示ファイル」と呼ぶこととする。
【００３７】
図６は，本発明の第二の実施形態に係る書籍型データ差分追加更新装置のシステムにおける処理の流れを示したフローチャートである。
【００３８】
基本的には，「更新指示ファイル」を用いて，必要な差分ファイルを特定し，図４に示した差分追加更新処理の流れによって差分を適用することを操り返すことで，処理が実行される。
【００３９】
まず，ステップＳ２１として，更新指示ファイル３０を解析し，内部形式に変換する。更新指示ファイル３０は，図５に示したように，差分ファイル１と同一のファイル中に記述されていることもある。
【００４０】
次に，ステップＳ２２として，更新指示ファイル３０の内部形式に含まれる書籍ＩＤをもとに，現存する書籍データ４を特定する。
【００４１】
その後，ステップＳ３として，図４と同様に，ステップＳ２２で特定された書籍データ４を読み込んで内部形式に変換し，オブジェクト格納部７に格納する。この際，利用者が追加したメモや付箋などのデータも読み込んで格納する。
【００４２】
次に，ステップＳ２３として，当該書籍データ４に格納されている「更新番号」を取得し，更新指示ファイル３０内の「更新番号」と比較する。もし，当該書籍データ４に格納されている「更新番号」の方が大きければ，差分の適用は行わないが，更新指示ファイル３０内の「更新番号」の方が大きければ，更新指示ファイル３０内の「以前の更新情報」を参照し，当該書籍データ４の「更新番号」より大きいｎｏ属性を持つエントリーを特定し，その中でも最も小さいｎｏ属性のエントリーに書かれた差分ファイルを取得する。差分ファイル取得の際，該当エントリーにＵＲＬが記載されていた場合には，通信部９を用いてインターネットから当該ファイルを取得する。
【００４３】
ステップＳ２３で得られた差分ファイルに対して，図４と同様に，ステップＳ１，Ｓ４，Ｓ５，Ｓ６を適用して，該当ｎｏ属性の差分追加更新を実行する。
【００４４】
該当ｎｏ属性の差分追加更新が実行されたら，ステップＳ２４として，当該書籍データ４の「更新番号」を該当ｎｏ属性の値に更新し，更新指示ファイル３０内の「以前の更新情報」の中に，当該書籍データ４の「更新番号」より大きいｎｏ属性を持つエントリーが存在するかどうか判定する。判定の結果，当該書籍データ４の「更新番号」より大きいｎｏ属性を持つエントリーが存在すればステップＳ２３に分岐し，存在しなければステップＳ７に分岐する。
【００４５】
ステップＳ７では，図４と同様に，オブジェクト格納部７に格納されている書籍データの内部形式を，書籍データ４に書き込む。この際，該書籍データの内部形式に付随するメモや付箋などの閲覧利用者の追加した情報も同時に書き込まれる。
【００４６】
以上のようにして，コンピュータ画面上に紙の本を模して，表紙・中表紙・本文ページ・裏表紙などの物理的な本の構造を持ったインタフェースで書籍などの情報を表示し，各ページにメモや付箋など閲覧利用者の追加した情報が存在する場合に，当該閲覧利用者の追加したメモや付箋などの情報を，なるべく位置も含めて，保存しつつ，二つの書籍などの情報間の差分情報に基づいて，既に存在する元の情報を，当該差分情報によって追加もしくは更新することができる。
【００４７】
【発明の効果】
以上説明したように，本発明に係る書籍型データ差分追加更新装置を用いることで，コンピュータ画面上に紙の本を模して，表紙・中表紙・本文ページ・裏表紙などの物理的な本の構造を持ったインタフェースで書籍などの情報を表示し，各ページにメモや付箋など閲覧利用者の追加した情報が存在する場合に，二つの書籍などの情報間の差分情報に基づいて，既に存在する元の情報を，当該差分情報によって追加もしくは更新することで，ネットワーク上でやり取りするデータのサイズを小さくしつつ，当該閲覧利用者の追加したメモや付箋などの情報を，なるべく位置も含めて保存することが可能となるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る書籍型データ差分追加更新装置のシステム構成を表すブロック図である。
【図２】図１に示したシステムにおける差分ファイルの記述法の例を示す図である。
【図３】図２に示した差分ファイルの記述がどのように処理されるかを示した図である。
【図４】本発明の一実施形態に係る書籍型データ差分追加更新装置の処理フローチャートである。
【図５】本発明の第二の実施形態に係る書籍型データ差分追加更新装置のシステムにおける差分ファイルの記述法の例を示す図である。
【図６】本発明の第二の実施形態に係る書籍型データ差分追加更新装置の処理フローチャートである。
【符号の説明】
１  差分ファイル
２  スクリプト解析部
３  スクリプト制御部
４  書籍データ
５  書籍データ読込部
６  書籍オブジェクト管理部
７  オブジェクト格納部
８  書籍データ書込部
９  通信部
１０  表示制御部
１１  表示部
【図１】
0003771826.tif 000002
【図２】
0003771826.tif 000003
【図３】
0003771826.tif 000004
【図４】
0003771826.tif 000005
【図５】
0003771826.tif 000006
【図６】
0003771826.tif 000007