以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、マスタオブジェクトを複数の箇所で利用する場合、マスタオブジェクトと複数の箇所に存在する子オブジェクトとの不一致の状況に応じた適切な処理が行える情報処理システムについて説明する。
なお、不一致の状況に応じた適切な処理とは、例えば、全オブジェクトの更新処理、と警告出力処理である。
図1は、本実施の形態における情報処理システムの概念図である。 情報処理システムは、情報処理装置1、1または2以上の端末装置2を備える。情報処理装置1は、マスタオブジェクトを格納しているサーバ装置であり、いわゆるクラウドサーバでも良く、その種類は問わない。また、端末装置2は、マスタオブジェクトをダウンロードし、出版物を作成したり、編集したりするユーザが使用する装置である。端末装置2は、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン等であり、その種類は問わない。
図2は、本実施の形態における情報処理システムのブロック図である。
情報処理装置1は、格納部11、受信部12、処理部13、および送信部14を備える。
格納部11は、マスタオブジェクト格納部111を備える。
受信部12は、更新情報受信部121を備える。
処理部13は、不一致状況取得部131、および動作部132を備える。
不一致状況取得部131は、子オブジェクト取得手段1311、比較手段1312、および不一致状況取得手段1313を備える。
動作部132は、マスタオブジェクト更新手段1321および、他子オブジェクト更新処理手段1322を備える。
端末装置2は、端末格納部21、端末受付部22、端末処理部23、端末送信部24、端末受信部25、および端末出力部26を備える。
情報処理装置1を構成する格納部11は、各種の情報を格納し得る。各種の情報とは、例えば、後述する1以上のマスタオブジェクト、1以上の出版物等である。出版物とは、例えば、電子出版物であるが、電子的に作成された後に印刷される印刷物(通常、紙の印刷物)でも良い。出版物は、例えば、電子書籍、電子雑誌、電子漫画、電子カタログ、電子パンフレット、紙の書籍、紙の雑誌、紙の漫画、紙のカタログ、紙のパンフレット等である。出版物は、通常、2ページ以上のページを有するが、1ページ(1枚)でも良い。
マスタオブジェクト格納部111は、1または2以上のマスタオブジェクトを格納し得る。マスタオブジェクトは、1または2以上の出版物で利用されるオブジェクトであり、1または2以上の出版物の2箇所以上で利用されるオブジェクトである。
ここで、オブジェクトは、情報と言っても良いし、データと言っても良い。オブジェクトは、出版物に含まれる情報であり、1つの情報からなっていても良いし、2以上の情報の集合でも良い。オブジェクトは、通常、1以上の属性値を有する。オブジェクトは、例えば、文字列、静止画、動画、音声、音楽、またはこれらの2以上の組み合わせであり、そのデータタイプは問わない。オブジェクトは、通常、出版物を構成する部品である。
マスタオブジェクト格納部111は、1または2以上のマスタ情報を格納していることは好適である。マスタ情報とは、マスタオブジェクトと、1または2以上の箇所識別子とを有する。箇所識別子は、マスタオブジェクトが利用されている箇所を示す情報であり、マスタオブジェクトの利用箇所を識別する情報である。利用箇所とは、通常、マスタオブジェクトが複写された箇所である。利用箇所は、例えば、マスタオブジェクトに対してリンクが張られた箇所等でも良い。箇所識別子は、例えば、端末識別子と出版物識別子とページ識別子とを有する。また、箇所識別子は、例えば、端末識別子とページ識別子とを有する。また、箇所識別子は、例えば、出版物識別子とページ識別子とを有する。箇所識別子は、さらにページ内の場所を特定する情報である場所特定情報を有しても良い。端末識別子は、端末装置2を識別する情報であり、例えば、IPアドレス、電話番号、ID等である。端末識別子は、出版物の編集者を識別するユーザ識別子でも良い。また、出版物識別子は出版物を識別する情報である。出版物識別子は、例えば、ID、出版物名などである。ページ識別子はページを識別する情報である。ページ識別子は、例えば、ページ番号、ID等である。場所特定情報は、例えば、ページ内の相対座標(x,y)である。
受信部12は、情報や指示等を、1または2以上の端末装置2から受信する。指示や情報等とは、例えば、マスタオブジェクトのダウンロード指示、出版物のダウンロード指示、子オブジェクト生成情報、後述する更新情報等である。マスタオブジェクトのダウンロード指示とは、マスタオブジェクトをダウンロードする指示である。マスタオブジェクトのダウンロード指示は、例えば、マスタオブジェクトを識別する情報であるマスタオブジェクト識別子を有する。マスタオブジェクトのダウンロード指示は、マスタオブジェクトを利用して子オブジェクトを生成する際に、端末装置2から送信される指示である。出版物のダウンロード指示とは、出版物をダウンロードする指示である。出版物のダウンロード指示は、例えば、出版物を識別する情報である出版物識別子を有する。また、子オブジェクト生成情報は、端末装置2でマスタオブジェクトを使用して、そのマスタオブジェクトの子オブジェクトを生成した旨を示す情報である。子オブジェクト生成情報は、例えば、マスタオブジェクト識別子、子オブジェクトが使用されている箇所を示す箇所識別子を有する。子オブジェクト生成情報は、例えば、子オブジェクト自体を有しても良い。
更新情報受信部121は、1または2以上の端末装置2から、子オブジェクトを更新する情報である更新情報を受信する。また、更新情報受信部121は、一の端末装置2から、更新情報を受信する。更新情報は、子オブジェクトを更新するための情報であれば良い。更新情報は、例えば、マスタオブジェクト識別子と更新された子オブジェクト自体であっても良い。また、更新情報は、例えば、マスタオブジェクト識別子と、子オブジェクトの中のマスタオブジェクトと比較して、更新された情報(異なる情報)のみでも良い。また、更新情報は、例えば、子オブジェクトを識別する子オブジェクト識別子と、子オブジェクト自体であっても良い。また、更新情報は、例えば、子オブジェクト識別子と、子オブジェクトの中のマスタオブジェクトと比較して、更新された情報(異なる情報)であっても良い。
処理部13は、各種の処理を行う。各種の処理とは、例えば、後述する不一致状況取得部131、動作部132等が行う処理である。
不一致状況取得部131は、マスタオブジェクト格納部111の1以上の各マスタオブジェクトについて、マスタオブジェクト、およびマスタオブジェクトが利用されている2以上の子オブジェクトの不一致の状況を取得する。不一致の状況とは、マスタオブジェクトと、当該マスタオブジェクトに対応する1または2以上の子オブジェクトとの一致または不一致に関する情報である。なお、マスタオブジェクトに対応する子オブジェクトとは、通常、マスタオブジェクトが複写されたオブジェクトであるが、マスタオブジェクトにリンクされており、その差分のみを有する情報等でも良い。また、子オブジェクトが2箇所に存在する場合、不一致の状況は、例えば、「すべてが一致」「マスタオブジェクトと一の子オブジェクトが一致し、他のオブジェクトが異なる」「3つとも異なる」の3種類の情報を採り得る。
不一致状況取得部131は、更新情報受信部121が一の端末装置2から更新情報を受信した際に、不一致の状況を取得することは好適である。ただし、不一致状況取得部131は、任意のタイミングで、不一致の状況を取得しても良い。
不一致状況取得部131は、2以上の各子オブジェクトのデータとマスタオブジェクトのデータとを比較して、不一致の状況を取得する。つまり、不一致の状況は、オブジェクト間のデータ内容の不一致の状況でも良い。
また、不一致状況取得部131は、1または2以上の各子オブジェクトの1以上の属性値とマスタオブジェクトの1以上の属性値とを比較して、不一致の状況を取得しても良い。つまり、不一致の状況は、オブジェクト間のオブジェクトの属性値の不一致の状況でも良い。なお、属性値とは、オブジェクトが文字の場合は、例えば、サイズ、フォント、色、背景色等である。また、オブジェクトが画像(静止画または動画)である場合、属性値は、例えば、解像度、サイズ、明度、彩度等である。
不一致状況取得部131は、例えば、以下のように動作する。不一致状況取得部131は、マスタオブジェクトをマスタオブジェクト格納部111から取得する。次に、不一致状況取得部131は、当該マスタオブジェクトと対になる1または2以上の箇所識別子を取得する。そして、不一致状況取得部131は、取得した1以上の各箇所識別子を用いて、1以上の端末装置2から1以上の子オブジェクトを取得する。そして、マスタオブジェクトと1以上の各子オブジェクトとを比較する。なお、この比較は、データ内容または/および1以上の属性値である。次に、不一致状況取得部131は、2以上のオブジェクト間の不一致状況を取得する。なお、かかる動作のトリガーは問わない。
また、不一致状況取得部131は、例えば、以下のように動作する。更新情報受信部121が一の端末装置2から更新情報を受信した際に、当該更新情報に対応する(例えば、更新情報に含まれるマスタオブジェクト識別子で識別される)マスタオブジェクトをマスタオブジェクト格納部111から取得する。次に、不一致状況取得部131は、当該マスタオブジェクトと対になる1または2以上の箇所識別子を取得する。そして、不一致状況取得部131は、取得した1以上の各箇所識別子を用いて、1以上の端末装置2から1以上の子オブジェクトを取得する。そして、マスタオブジェクトと1以上の各子オブジェクトとを比較する。なお、この比較は、データ内容または/および1以上の属性値の比較である。次に、不一致状況取得部131は、2以上のオブジェクト間の不一致状況を取得する。
子オブジェクト取得手段1311は、2以上の箇所識別子で識別される利用箇所における子オブジェクトを取得する。子オブジェクト取得手段1311は、例えば、更新情報受信部121が一の端末装置2から更新情報を受信した際に、当該更新情報に対応する(例えば、更新情報に含まれるマスタオブジェクト識別子で識別される)マスタオブジェクトをマスタオブジェクト格納部111から取得する。次に、子オブジェクト取得手段1311は、当該マスタオブジェクトと対になる1または2以上の箇所識別子を取得する。そして、子オブジェクト取得手段1311は、取得した1以上の各箇所識別子を用いて、1以上の端末装置2から1以上の子オブジェクトを取得(受信)する。なお、子オブジェクト取得手段1311が子オブジェクトを取得するトリガーは他のトリガー、タイミングでも良い。
比較手段1312は、子オブジェクト取得手段1311が取得した2以上の子オブジェクトとマスタオブジェクトとを比較する。比較手段1312は、マスタオブジェクトと1つの各子オブジェクトとを比較しても良い。なお、この比較は、データ内容または/および1以上の属性値の比較である。
不一致状況取得手段1313は、比較手段1312の比較結果である不一致の状況を取得する。不一致の状況は、子オブジェクトが2箇所以上に存在する場合(マスタオブジェクトと対になる箇所識別子が2つ以上存在する場合)、不一致の状況は、例えば、「すべてが一致」「一の子オブジェクトのみが他のオブジェクト(マスタオブジェクトを含む)と異なり、マスタオブジェクトと他のオブジェクトが一致する」「3つとも異なる」の3種類の情報を採り得る。
動作部132は、不一致状況取得部131が取得した、2種類以上の不一致の状況の相違により、異なる動作を行う。動作部132は、例えば、後述する一貫性保持処理、警告情報出力処理等を行う。一貫性保持処理とは、マスタオブジェクトと1以上の子オブジェクトとの一貫性を保つために、1以上のいずれかのオブジェクトを更新する処理である。その際、動作部132は、受信された更新情報を用いる。警告情報出力処理とは、不一致の状況に対応する警告情報を送信する処理である。なお、警告情報の送信先は、通常、更新情報を送信してきた端末装置2、または/およびマスタオブジェクトと対になる箇所識別子に対応する端末装置2である。なお、2種類以上の不一致の状況には、通常、すべてのオブジェクトが一致する場合を含まない。
動作部132は、例えば、不一致状況取得部131が取得した不一致の状況が一の種類の不一致の状況である場合は、一の子オブジェクトに対して行われた更新に関する更新情報を用いて、マスタオブジェクトおよび他の子オブジェクトにも、前記更新を反映される一貫性保持処理を行う。なお、「一の種類の不一致の状況」とは、例えば、「一の子オブジェクトのみが他のオブジェクトと異なり、マスタオブジェクトと他のオブジェクトが一致する」旨の情報である場合である。
また、動作部132は、例えば、不一致状況取得部131が取得した不一致の状況が他の種類の不一致の状況である場合は、他の種類の不一致の状況に応じた内容の警告情報を出力する第一の警告情報出力処理を行う。なお、例えば、「他の種類の不一致の状況」は、子オブジェクトが2箇所以上に存在する場合(マスタオブジェクトと対になる箇所識別子が2以上存在する場合)に、「マスタオブジェクトと2以上の子オブジェクトの間で、3種類以上の値または3種類以上の属性値が存在することを示す情報」である。なお、かかる場合、マスタオブジェクトが複写され、子オブジェクトが生成された後、2箇所以上の子オブジェクトに対して、異なる修正が行われた場合である。
マスタオブジェクト更新手段1321は、更新情報に従って、更新された子オブジェクトに対応するマスタオブジェクトを更新する。
他子オブジェクト更新処理手段1322は、更新情報に従って、更新された子オブジェクトに対応するマスタオブジェクトに対応する他の子オブジェクトを更新するための処理を行う。他子オブジェクト更新処理手段1322は、通常、更新された子オブジェクトに対応するマスタオブジェクトと対になる箇所識別子に対応する子オブジェクトであり、更新情報を送信してきた端末装置2の該当箇所の子オブジェクトを除く子オブジェクトを、更新情報に従って、更新するための処理を行う。かかる処理は、通常、箇所識別子に対応する端末装置2に、該当する子オブジェクトを、更新情報に従って、修正することの指示(更新指示)を送信することである。なお、かかる指示を受信した端末装置2は、箇所識別子に対応する子オブジェクトを、更新指示に従って修正する。
送信部14は、各種の情報や指示等を端末装置2に送信する。各種の情報や指示等は、例えば、1以上のマスタオブジェクト、更新指示、出版物、警告情報等である。
端末装置2を構成する端末格納部21は、各種の情報を格納し得る。各種の情報とは、例えば、端末識別子である。端末識別子とは、端末装置2を識別する情報、または端末装置2のユーザを識別する情報である。
端末受付部22は、指示や情報等を受け付ける。指示や情報等とは、マスタオブジェクトのダウンロード指示、出版物のダウンロード指示、子オブジェクトの生成指示、マスタオブジェクトの複写指示、子オブジェクトの更新指示等である。
なお、指示や情報等の入力手段は、キーボードやマウスやタッチパネルやメニュー画面によるもの等、何でも良い。端末受付部22は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末処理部23は、各種の処理を行う。各種の処理は、例えば、端末受付部22が受け付けた指示や情報等を、送信するデータ構造にすることである。また、各種の処理は、例えば、受信された更新指示に基づいて、更新指示に対応する子オブジェクトを更新する処理である。
端末送信部24は、各種の指示や情報等を情報処理装置1に送信する。各種の指示や情報等は、例えば、更新情報、マスタオブジェクトのダウンロード指示、出版物のダウンロード指示、子オブジェクト生成情報等である。
端末受信部25は、情報処理装置1から各種の情報や指示を受信する。各種の情報や指示とは、例えば、更新指示、1以上のマスタオブジェクト、出版物、警告情報等である。
端末出力部26は、端末受信部25が受信した情報を出力する。受信した情報とは、例えば、1以上のマスタオブジェクト、出版物等である。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
格納部11、マスタオブジェクト格納部111、および端末格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
受信部12、更新情報受信部121、および端末受信部25は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
処理部13、不一致状況取得部131、動作部132、子オブジェクト取得手段1311、比較手段1312、不一致状況取得手段1313、マスタオブジェクト更新手段1321、他子オブジェクト更新処理手段1322、端末処理部23は、通常、MPUやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
送信部14、および端末送信部24は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
端末出力部26は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部26は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報処理システムの動作について説明する。まず、情報処理装置1の動作について、図3のフローチャートを用いて説明する。
(ステップS301)受信部12は、出版物のダウンロード指示を受信したか否かを判断する。出版物のダウンロード指示を受信した場合はステップS302に行き、出版物のダウンロード指示を受信しない場合はステップS304に行く。なお、出版物のダウンロード指示は、通常、出版物識別子を有する。
(ステップS302)処理部13は、ステップS301で受信した出版物のダウンロード指示に対応する出版物を、格納部11から取得する。
(ステップS303)送信部14は、ステップS302で取得された出版物を端末装置2に送信する。ステップS301に戻る。なお、かかる端末装置2は、出版物のダウンロード指示を送信した端末装置2である。
(ステップS304)受信部12は、1以上のマスタオブジェクトのダウンロード指示を受信したか否かを判断する。1以上のマスタオブジェクトのダウンロード指示を受信した場合はステップS305に行き、1以上のマスタオブジェクトのダウンロード指示を受信しない場合はステップS309に行く。
(ステップS305)処理部13は、ステップS304で受信したダウンロード指示に対応する1以上のマスタオブジェクトを、マスタオブジェクト格納部111から取得する。
(ステップS306)送信部14は、ステップS305で取得された1以上のマスタオブジェクトを端末装置2に送信する。ステップS301に戻る。
(ステップS307)受信部12は、子オブジェクト生成情報を端末装置2から受信したか否かを判断する。子オブジェクト生成情報を受信した場合はステップS308に行き、子オブジェクト生成情報を受信しない場合はステップS310に行く。なお、子オブジェクト生成情報は、通常、子オブジェクトが存在する箇所を特定する箇所識別子、マスタオブジェクトを識別するマスタオブジェクト識別子を有する。
(ステップS308)処理部13は、ステップS307で受信された子オブジェクト生成情報に対応する箇所識別子を取得する。なお、処理部13は、通常、子オブジェクト生成情報が有する箇所識別子を取得する。
(ステップS309)処理部13は、ステップS308で取得した箇所識別子を、ステップS307で受信された子オブジェクト生成情報に対応するマスタオブジェクトに対応付けて、マスタオブジェクト格納部111に蓄積する。ステップS301に戻る。なお、処理部13は、例えば、ステップS307で受信された子オブジェクト生成情報が有するマスタオブジェクト識別子に対応付けて、ステップS308で取得した箇所識別子を、マスタオブジェクト格納部111に蓄積する。
(ステップS310)更新情報受信部121は、更新情報を受信したか否かを判断する。更新情報を受信した場合はステップS311に行き、更新情報を受信しない場合はステップS301に戻る。
(ステップS311)不一致状況取得部131は、不一致状況取得処理を行う。不一致状況取得処理について、図4のフローチャートを用いて説明する。
(ステップS312)動作部132等は、ステップS311で取得された不一致状況に応じた処理を行う。ステップS301に戻る。なお、不一致状況に応じた処理である不一致状況処理について、図5のフローチャートを用いて説明する。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS311の不一致状況取得処理について、図4のフローチャートを用いて説明する。
(ステップS401)子オブジェクト取得手段1311は、更新情報に対応する一の子オブジェクトを取得する。なお、一の子オブジェクトは、端末装置2で更新された子オブジェクトである。
(ステップS402)比較手段1312は、更新情報に対応するマスタオブジェクト識別子を取得する。
(ステップS403)比較手段1312は、ステップS402で取得したマスタオブジェクト識別子に対応するマスタオブジェクトをマスタオブジェクト格納部111から取得する。
(ステップS404)比較手段1312は、マスタオブジェクト識別子に対応する1または2以上の箇所識別子をマスタオブジェクト格納部111から取得する。
(ステップS405)子オブジェクト取得手段1311は、カウンタiに1を代入する。
(ステップS406)子オブジェクト取得手段1311は、ステップS404で取得された箇所識別子の中に、i番目の箇所識別子が存在するか否かを判断する。i番目の箇所識別子が存在する場合はステップS407に行き、i番目の箇所識別子が存在しない場合はステップS409に行く。
(ステップS407)子オブジェクト取得手段1311は、i番目の箇所識別子に対応する子オブジェクトを取得する。なお、i番目の箇所識別子に対応する子オブジェクトは、通常、端末装置2から取得されるが、格納部11から取得しても良い。なお、格納部11から取得する場合、通常、常に最新の子オブジェクトが格納部11に格納されているものとする。
(ステップS408)子オブジェクト取得手段1311は、カウンタiを1、インクリメントする。ステップS406に戻る。
(ステップS409)比較手段1312は、マスタオブジェクトと2以上の子オブジェクトとを比較する。そして、比較手段1312は、前記一の子オブジェクトのみが、他のオブジェクトと異なるか否かを判断する。前記一の子オブジェクトのみが、他のオブジェクトと異なる場合はステップS410に行き、そうでない場合はステップS411に行く。なお、他のオブジェクトとは、マスタオブジェクトと1以上のオブジェクト(一のオブジェクトは除く)である。また、オブジェクトが同じであるとは、通常、オブジェクトの内容、および属性値が同じで有ること(複写したに過ぎないこと)である。
(ステップS410)不一致状況取得手段1313は、変数「不一致状況」に1を代入する。上位処理にリターンする。なお、不一致状況が1の場合は、更新情報に対応する一の子オブジェクトのみが、他のオブジェクトと異なる場合である。
(ステップS411)比較手段1312は、マスタオブジェクトと2以上の子オブジェクト(一の子オブジェクトを含む)の値または属性値が、3種類以上存在するか否かを判断する。3種類以上存在する場合はステップS412に行き、3種類以上存在しない場合はステップS413に行く。なお、3種類のオブジェクトとは、値(内容、データと言っても良い)が異なる3つのオブジェクト、または属性値が異なる3つのオブジェクトである。
(ステップS412)不一致状況取得手段1313は、変数「不一致状況」に2を代入する。上位処理にリターンする。なお、不一致状況が2の場合は、マスタオブジェクトと2以上の子オブジェクトにおいて、3種類以上のオブジェクトが存在する場合(いわゆる、ばらばらである)場合である。
(ステップS413)不一致状況取得手段1313は、変数「不一致状況」に3を代入する。上位処理にリターンする。なお、不一致状況が3の場合は、すべてのオブジェクトが同一の場合である。
次に、ステップS312の不一致状況処理について、図5のフローチャートを用いて説明する。
(ステップS501)動作部132は、不一致状況が「1」であるか否かを判断する。不一致状況が「1」である場合はステップS502に行き、不一致状況が「1」でない場合はステップS507に行く。
(ステップS502)マスタオブジェクト更新手段1321は、更新情報に対応する一の子オブジェクトと同一になるように、当該一の子オブジェクトに対応するマスタオブジェクトを更新する。
(ステップS503)他子オブジェクト更新処理手段1322は、カウンタiに1を代入する。
(ステップS504)他子オブジェクト更新処理手段1322は、i番目の他の箇所識別子が存在するか否かを判断する。i番目の他の箇所識別子が存在する場合はステップS505に行き、i番目の他の箇所識別子が存在しない場合は上位処理にリターンする。
(ステップS505)他子オブジェクト更新処理手段1322は、i番目の他の箇所識別子に対応する端末装置2に、更新指示を送信する。なお、この更新指示は、更新情報に従った更新の処理を行う指示である。更新指示の実行により、他子オブジェクトは、一の子オブジェクトと同じ情報となる。なお、更新指示は、例えば、更新する子オブジェクトの実体または差分、および箇所識別子を有する。
(ステップS506)他子オブジェクト更新処理手段1322は、カウンタiを1、インクリメントする。ステップS504に戻る。
(ステップS507)動作部132は、不一致状況が「2」であるか否かを判断する。不一致状況が「2」である場合はステップS508に行き、不一致状況が「2」でない場合はステップS516に行く。
(ステップS508)動作部132は、格納部11から、第一の警告情報と第二の警告情報とを取得する。なお、第一の警告情報は、例えば、「あなたは、$箇所識別子$に対応するオブジェクトを不適切に修正している可能性があります。」であり、第二の警告情報は、例えば、「$箇所識別子$に対応するオブジェクトが二人以上の人により不適切に修正されている可能性があります。」である。なお、「$箇所識別子$」は変数であり、箇所識別子に対応する内容であり、子オブジェクトを特定する内容が代入される。
(ステップS509)動作部132は、カウンタiに1を代入する。
(ステップS510)動作部132は、取得された箇所識別子の中に、i番目の箇所識別子が存在するか否かを判断する。i番目の箇所識別子が存在する場合はステップS511に行き、i番目の箇所識別子が存在しない場合は上位処理にリターンする。
(ステップS511)比較手段1312は、i番目の箇所識別子に対応する子オブジェクトを取得する。
(ステップS512)比較手段1312は、ステップS511で取得した子オブジェクトとマスタオブジェクトとが同一か否かを判断する。同一であればステップS514に行き、同一でなければステップS513に行く。
(ステップS513)動作部132は、i番目の箇所識別子に対応する端末装置2に、第一の警告情報を送信する。ステップS515に行く。
(ステップS514)動作部132は、i番目の箇所識別子に対応する端末装置2に、第二の警告情報を送信する。
(ステップS515)動作部132は、カウンタiを1、インクリメントする。ステップS510に戻る。
(ステップS516)動作部132は、格納部11から、第三の警告情報を取得する。なお、第三の警告情報は、例えば、「あなたの$箇所識別子$に対する修正が反映されていない可能性があります。」である。
(ステップS517)動作部132は、更新情報を送信してきた端末装置2に、第三の警告情報を送信する。
なお、図5のフローチャートにおいて、不一致状況が「1」または「2」または「3」の場合により、1以上の端末装置に異なる警告情報を送信するなどしても良い。かかる場合も、動作部132が、不一致状況取得部131が取得した2種類以上の不一致の状況の相違により、異なる動作を行うことに該当する。
次に、端末装置2の動作について、図6のフローチャートを用いて説明する。
(ステップS601)端末受付部22は、出版物のダウンロード指示を受け付けたか否かを判断する。出版物のダウンロード指示を受け付けた場合はステップS602に
行き、出版物のダウンロード指示を受け付けない場合はステップS605に行く。
(ステップS602)端末処理部23は、送信するダウンロード指示(出版物のダウンロード指示)を構成し、情報処理装置1に送信する。
(ステップS603)端末受信部25は、出版物のダウンロード指示に対応する出版物を受信したか否かを判断する。出版物を受信した場合はステップS604に行き、出版物を受信しない場合はステップS603に戻る。
(ステップS604)端末出力部26は、ステップS603で受信された出版物を出力する。ステップS601に戻る。
(ステップS605)端末受付部22は、1以上のマスタオブジェクトのダウンロード指示を受け付けたか否かを判断する。1以上のマスタオブジェクトのダウンロード指示を受け付けた場合はステップS606に行き、ダウンロード指示を受け付けない場合はステップS609に行く。
(ステップS606)端末処理部23は、送信するダウンロード指示(1以上のマスタオブジェクトのダウンロード指示)を構成し、情報処理装置1に送信する。
(ステップS607)端末受信部25は、1以上のマスタオブジェクトのダウンロード指示に対応する1以上のマスタオブジェクトを受信したか否かを判断する。受信した場合はステップS608に行き、受信しない場合はステップS607に戻る。
(ステップS608)端末出力部26は、ステップS607で受信された1以上のマスタオブジェクトを出力する。ステップS601に戻る。
(ステップS609)端末受付部22は、子オブジェクトの生成指示を受け付けたか否かを判断する。子オブジェクトの生成指示を受け付けた場合はステップS610に行き、子オブジェクトの生成指示を受け付けない場合はステップS613に行く。
(ステップS610)端末処理部23は、子オブジェクトの生成指示に対応するマスタオブジェクトから子オブジェクトを生成し、出版物の子オブジェクトの生成指示に対応する位置に子オブジェクトを貼り付ける。なお、子オブジェクトの生成とは、通常、マスタオブジェクトを複写して、子オブジェクトを生成することである。
(ステップS611)端末処理部23は、子オブジェクト生成情報を構成する。子オブジェクト生成情報は、通常、マスタオブジェクト識別子、箇所識別子を有する。つまり、端末処理部23は、例えば、1以上のマスタオブジェクトの中から、ユーザが指示したマスタオブジェクトのマスタオブジェクト識別子を取得する。また、端末処理部23は、例えば、子オブジェクトが貼り付けられた出版物の出版物識別子、ページ識別子、端末装置2の端末識別子等を取得する。
(ステップS612)端末送信部24は、ステップS611で構成された子オブジェクト生成情報を情報処理装置1に送信する。ステップS601に戻る。
(ステップS613)端末受信部25は、更新指示を受信したか否かを判断する。更新指示を受信した場合はステップS614に行き、更新指示を受信しない場合はステップS615に行く。
(ステップS614)端末処理部23は、ステップS613で受信された更新指示に対応する子オブジェクトを、更新指示に応じて更新する。ステップS601に戻る。
(ステップS615)端末受信部25は、いずれかの警告情報を受信したか否かを判断する。警告情報を受信した場合はステップS616に行き、警告情報を受信しない場合はステップS617に行く。
(ステップS616)端末出力部26は、ステップS615で受信された警告情報を出力する。ステップS601に戻る。
(ステップS617)端末受付部22は、子オブジェクトの更新指示を受け付けたか否かを判断する。子オブジェクトの更新指示を受け付けた場合はステップS618に行き、子オブジェクトの更新指示を受け付けない場合はステップS601に戻る。
(ステップS618)端末処理部23は、子オブジェクトの更新指示に応じて、子オブジェクトを更新する。
(ステップS619)端末処理部23は、子オブジェクトの更新指示に応じて、更新情報を構成する。更新情報は、子オブジェクトを識別する情報を有しても良いし、マスタオブジェクト識別子を有しても良いし、当該子オブジェクト自体を有しても良い。
(ステップS620)端末送信部24は、ステップS619で構成された更新情報を、情報処理装置1に送信する。ステップS601に戻る。
なお、図6のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理システムの具体的な動作について説明する。情報処理システムの概念図は図1である。
今、マスタオブジェクト格納部111は、図7に示すマスタオブジェクト管理表を保持している。マスタオブジェクト管理表は、「ID」「マスタオブジェクト」「箇所識別子」を有する。「箇所識別子」は、1以上の箇所識別子を有する。「箇所識別子」は、ここでは、「端末識別子」「出版物識別子」「ページ識別子」を有する。
また、格納部11は、図8に示す警告情報管理表を格納している、とする。警告情報管理表は、「警告識別子」「警告情報」を有するレコードを1以上格納している。「警告識別子」は、警告情報を識別する情報である。
以上の状況において、端末識別子「d01」のユーザAは出版物識別子「bk01」で識別される出版物を作成、編集する、とする。
また、端末識別子「d02」のユーザBは出版物識別子「bk02」で識別される出版物を作成、編集する、とする。
さらに、端末識別子「d03」のユーザCは出版物識別子「bk01」で識別される出版物であり、ユーザAが作成等しているページとは異なるページを作成、編集する、とする。
かかる状況において、以下の3つの具体例について説明する。具体例1は、端末装置2で子オブジェクトが生成されて、情報処理装置1に箇所識別子が自動的に追記される処理である。具体例2は、動作部132が一貫性保持処理を行う場合等である。具体例3は、動作部132がある警告情報を出力する警告情報出力処理を行う場合である。
(具体例1)
まず、ユーザAは、端末装置2に、出版物識別子「bk01」で識別される出版物のダウンロード指示を入力した、とする。次に、端末受付部22は、出版物のダウンロード指示を受け付ける。次に、端末処理部23は、送信するダウンロード指示を構成し、情報処理装置1に送信する。
次に、情報処理装置1の受信部12は、出版物のダウンロード指示を受信する。処理部13は、受信した出版物のダウンロード指示に対応する出版物であり、出版物識別子「bk01」で識別される出版物を、格納部11から取得する。次に、送信部14は、取得された出版物をユーザAの端末装置2に送信する。
次に、ユーザAは、端末装置2の端末受信部25は、出版物のダウンロード指示に対応する出版物を受信する。そして、端末出力部26は、受信された出版物を出力する。
次に、ユーザAは、端末装置2に、1以上のマスタオブジェクトのダウンロード指示を入力した、とする。次に、端末受付部22は、1以上のマスタオブジェクトのダウンロード指示を受け付ける。次に、端末処理部23は、送信するダウンロード指示を構成し、情報処理装置1に送信する。
次に、情報処理装置1の受信部12は、1以上のマスタオブジェクトのダウンロード指示を受信する。処理部13は、受信した1以上のマスタオブジェクトのダウンロード指示に対応する1以上のマスタオブジェクトを、格納部11から取得する。次に、送信部14は、取得された1以上のマスタオブジェクトをユーザAの端末装置2に送信する。
次に、ユーザAは、端末装置2の端末受信部25は、1以上のマスタオブジェクトを受信する。そして、端末出力部26は、1以上のマスタオブジェクトの一覧画面を出力する。
次に、ユーザAは、出力されているマスタオブジェクトの一覧画面から「ID=0009」のマスタオブジェクトを指示し、出力されている出版物の11ページに貼り付ける指示を入力した、とする。すると、端末受付部22は、子オブジェクトの生成指示を受け付ける。この子オブジェクトのマスタオブジェクトは「ID=0009」のマスタオブジェクトである。
次に、端末処理部23は、子オブジェクトの生成指示に対応するマスタオブジェクトから子オブジェクトを生成し、出版物の子オブジェクトの生成指示に対応する位置に子オブジェクトを貼り付ける。
次に、端末処理部23は、子オブジェクト生成情報を構成する。子オブジェクト生成情報は、マスタオブジェクト識別子「ID=0009」、端末識別子「d01」、出版物識別子「bk01」、ページ識別子「11」を有する。
次に、端末送信部24は、上記の情報を有する子オブジェクト生成情報を情報処理装置1に送信する。
次に、情報処理装置1の受信部12は、子オブジェクト生成情報を端末装置2から受信する。
次に、処理部13は、受信された子オブジェクト生成情報に対応する箇所識別子(端末識別子「d01」、出版物識別子「bk01」、ページ識別子「11」)を取得する。
次に、処理部13は、取得した箇所識別子を、受信された子オブジェクト生成情報が有するマスタオブジェクト(「ID=0009」のマスタオブジェクト)に対応付けて、マスタオブジェクト管理表に蓄積する。かかるマスタオブジェクト管理表は、図9である。上記の処理により、図9の「ID=0009」の箇所識別子が追記された。
(具体例2)
マスタオブジェクト格納部111には、図7のマスタオブジェクト管理表が格納されている、とする。
そして、ユーザAは、出版物識別子「bk01」で識別される出版物の10ページ目を端末装置2に出力させた、とする。かかる10ページ目の出力例は、図10である。
次に、ユーザAは、図10の画面の子オブジェクト1001の「価格:3.2万円」を「価格:3.0万円」に修正する更新指示を、端末装置2に入力した、とする(図11参照)。
次に、端末装置2の端末受付部22は、当該子オブジェクトの更新指示を受け付ける。そして、端末処理部23は、子オブジェクトの更新指示に応じて、当該子オブジェクト1001の「価格:3.2万円」を「価格:3.0万円」に更新する。
次に、端末処理部23は、子オブジェクトの更新指示に応じて、更新情報を構成する。この更新情報は、更新された子オブジェクト(「価格:3.0万円」を含む)と、箇所識別子(端末識別子「d01」、出版物識別子「bk01」、ページ識別子「10」)と、マスタオブジェクト識別子「0001」とを有する。次に、端末送信部24は、構成された更新情報を、情報処理装置1に送信する。
次に、情報処理装置1の更新情報受信部121は、当該更新情報を受信する。
そして、次に、不一致状況取得部131は、以下のような不一致状況取得処理を行う。つまり、まず、子オブジェクト取得手段1311は、更新情報に対応する一の子オブジェクトを取得する。
次に、比較手段1312は、更新情報に対応するマスタオブジェクト識別子「0001」を取得する。
次に、比較手段1312は、取得したマスタオブジェクト識別子「0001」に対応するマスタオブジェクトをマスタオブジェクト管理表(図9)から取得する。マスタオブジェクトは「価格:3.2万円」を有する。
次に、比較手段1312は、マスタオブジェクト識別子「0001」に対応する3つの箇所識別子(「端末識別子:d01,出版物識別子:bk01,ページ識別子:10」「端末識別子:d02,出版物識別子:bk02,ページ識別子:21」「端末識別子:d03,出版物識別子:bk01,ページ識別子:35」)をマスタオブジェクト管理表から取得する。
次に、子オブジェクト取得手段1311は、3つの箇所識別子のうち、更新情報に対応する箇所識別子を除いた2つの各箇所識別子(「端末識別子:d02,出版物識別子:bk02,ページ識別子:21」「端末識別子:d03,出版物識別子:bk01,ページ識別子:35」)を用いて、各箇所識別子に対応する子オブジェクトを、それぞれ端末識別子「d02」、端末識別子「d02」で識別される端末装置2から取得する。なお、2つの子オブジェクトは、マスタオブジェクトと同じ情報であり、「価格:3.2万円」を有する、とする。
次に、比較手段1312は、マスタオブジェクトと3つの子オブジェクトとを比較する。そして、比較手段1312は、更新情報に対応する一の子オブジェクトのみが「価格:3.0万円」を含み、他のオブジェクトは「価格:3.2万円」を含む点で、異なる、と判断する。そして、不一致状況取得手段1313は、変数「不一致状況」に1を代入する。
次に、マスタオブジェクト更新手段1321は、更新情報に対応する一の子オブジェクトと同一になるように、当該一の子オブジェクトに対応するマスタオブジェクトを更新する。つまり、マスタオブジェクト識別子「0001」のマスタオブジェクトが有する「価格:3.2万円」は「価格:3.0万円」に更新される。
また、他子オブジェクト更新処理手段1322は、1番目の他の箇所識別子「端末識別子:d02,出版物識別子:bk02,ページ識別子:21」に対応する端末装置2に、更新指示を送信する。この更新指示は、箇所識別子で識別されるオブジェクトが有する「価格:3.2万円」を「価格:3.0万円」に更新する指示である。
そして、端末識別子「d02」で識別される端末装置2の端末受信部25は、上記の更新指示を受信する。次に、端末処理部23は、受信された更新指示に対応する子オブジェクトを、更新指示に応じて更新する。つまり、端末識別子「d02」で識別される端末装置2の出版物識別子「bk02」で識別される出版物の21ページ目の該当子オブジェクトの「価格:3.2万円」は「価格:3.0万円」に更新される。
また、他子オブジェクト更新処理手段1322は、2番目の他の箇所識別子(「端末識別子:d03,出版物識別子:bk01,ページ識別子:35」)に対応する端末装置2に、更新指示を送信する。この更新指示は、箇所識別子で識別されるオブジェクトが有する「価格:3.2万円」を「価格:3.0万円」に更新する指示である。
そして、端末識別子「d03」で識別される端末装置2の端末受信部25は、上記の更新指示を受信する。次に、端末処理部23は、受信された更新指示に対応する子オブジェクトを、更新指示に応じて更新する。つまり、端末識別子「d03」で識別される端末装置2の出版物識別子「bk01」で識別される出版物の35ページ目の該当子オブジェクトの「価格:3.2万円」は「価格:3.0万円」に更新される。
以上より、マスタオブジェクト「0001」とその子オブジェクト(3つ)の一貫性は確保された。そして、一貫性保持処理が完了した。そして、マスタオブジェクト管理表は、図12の管理表に更新された。
(具体例3)
マスタオブジェクト格納部111には、図7のマスタオブジェクト管理表が格納されている、とする。
そして、ユーザAは、出版物識別子「bk01」で識別される出版物の10ページ目を端末装置2に出力させた、とする。かかる10ページ目の出力例は、図10である。
次に、ユーザAは、図10の画面の子オブジェクト1001の「価格:3.2万円」を「価格:3.0万円」に修正する更新指示を、端末装置2に入力した、とする。
次に、端末装置2の端末受付部22は、当該子オブジェクトの更新指示を受け付ける。そして、端末処理部23は、子オブジェクトの更新指示に応じて、当該子オブジェクト1001の「価格:3.2万円」を「価格:3.0万円」に更新する。
そして、概ね同時期に、ユーザBが、出版物識別子「bk02」で識別される出版物の21ページ目の該当する子オブジェクト(「ID=0001」のマスタオブジェクトに対応する子オブジェクト)の「価格:3.2万円」を「価格2.8万円」に修正する更新指示を、端末装置2に入力した、とする。そして、ユーザBの端末装置2の端末受付部22は、当該子オブジェクトの更新指示を受け付ける。そして、端末処理部23は、子オブジェクトの更新指示に応じて、当該子オブジェクト1001の「価格:3.2万円」を「価格:2.8万円」に更新した、とする。
その後、ユーザAの端末装置2の端末処理部23は、子オブジェクトの更新指示に応じて、更新情報を構成する。この更新情報は、更新された子オブジェクト(「価格:3.0万円」を含む)と、箇所識別子(端末識別子「d01」、出版物識別子「bk01」、ページ識別子「10」)とを有する。次に、端末送信部24は、構成された更新情報を、情報処理装置1に送信する。
次に、情報処理装置1の更新情報受信部121は、更新情報を受信する。この更新情報は、更新された子オブジェクトと、箇所識別子(端末識別子「d01」、出版物識別子「bk01」、ページ識別子「10」)を有する。
次に、不一致状況取得部131は、以下のような不一致状況取得処理を行う。つまり、まず、子オブジェクト取得手段1311は、更新情報に対応する一の子オブジェクトを取得する。この一の子オブジェクトは、「価格:3.0万円」を有する。
次に、比較手段1312は、更新情報に対応するマスタオブジェクト識別子「0001」を取得する。
次に、比較手段1312は、取得したマスタオブジェクト識別子「0001」に対応するマスタオブジェクトをマスタオブジェクト管理表(図9)から取得する。マスタオブジェクトは「価格:3.2万円」を有する。
次に、比較手段1312は、マスタオブジェクト識別子「0001」に対応する3つの箇所識別子(「端末識別子:d01,出版物識別子:bk01,ページ識別子:10」「端末識別子:d02,出版物識別子:bk02,ページ識別子:21」「端末識別子:d03,出版物識別子:bk01,ページ識別子:35」)をマスタオブジェクト管理表から取得する。
次に、子オブジェクト取得手段1311は、3つの箇所識別子のうち、更新情報に対応する箇所識別子を除いた2つの各箇所識別子(「端末識別子:d02,出版物識別子:bk02,ページ識別子:21」「端末識別子:d03,出版物識別子:bk01,ページ識別子:35」)を用いて、各箇所識別子に対応する子オブジェクトを取得する。なお、箇所識別子「端末識別子:d02,出版物識別子:bk02,ページ識別子:21」に対応する子オブジェクト(ユーザBが編集中の子オブジェクト)は、「価格:2.8万円」を有する。また、箇所識別子「端末識別子:d03,出版物識別子:bk01,ページ識別子:35」に対応する子オブジェクトは、「価格:3.2万円」を有する。
次に、比較手段1312は、マスタオブジェクトと3つの子オブジェクトとを比較する。そして、比較手段1312は、マスタオブジェクトと3つの子オブジェクト(一の子オブジェクトを含む)の値または属性値が、3種類存在する、と判断する。この3種類とは、「価格」が「3.2万円」「3.0万円」「2.8万円」の3種類である。
次に、不一致状況取得手段1313は、変数「不一致状況」に2を代入する。
次に、動作部132は、図8の警告情報管理表から、第一の警告情報と第二の警告情報とを取得する。
そして、比較手段1312は、1番目の箇所識別子「端末識別子:d01,出版物識別子:bk01,ページ識別子:10」に対応する子オブジェクトを取得する。この子オブジェクトは、「価格:3.0万円」を含む。次に、比較手段1312は、1番目の箇所識別子に対応する子オブジェクトとマスタオブジェクトとが同一でない、と判断する。マスタオブジェクトの「価格」は「3.2万円」だからである。
次に、動作部132は、第一の警告情報の変数「$箇所識別子$」に「端末識別子:d01,出版物識別子:bk01,ページ識別子:10」を代入する。次に、1番目の箇所識別子に対応する端末装置2に、当該第一の警告情報を送信する。
次に、当該端末装置2の端末受信部25は、第一の警告情報を受信する、そして、端末出力部26は、受信された第一の警告情報を出力する。
次に、比較手段1312は、2番目の箇所識別子「端末識別子:d02,出版物識別子:bk02,ページ識別子:21」に対応する子オブジェクトを取得する。この子オブジェクトは、「価格:2.8万円」を含む。次に、比較手段1312は、2番目の箇所識別子に対応する子オブジェクトとマスタオブジェクトとが同一でない、と判断する。マスタオブジェクトの「価格」は「3.2万円」だからである。
次に、動作部132は、第一の警告情報の変数「$箇所識別子$」に「端末識別子:d02,出版物識別子:bk02,ページ識別子:21」を代入する。次に、2番目の箇所識別子に対応する端末装置2に、当該第一の警告情報を送信する。
次に、当該端末装置2の端末受信部25は、第一の警告情報を受信する、そして、端末出力部26は、受信された第一の警告情報を出力する。
次に、比較手段1312は、3番目の箇所識別子「端末識別子:d03,出版物識別子:bk01,ページ識別子:35」に対応する子オブジェクトを取得する。この子オブジェクトは、「価格:3.2万円」を含む。次に、比較手段1312は、3番目の箇所識別子に対応する子オブジェクトとマスタオブジェクトとが同一である、と判断する。マスタオブジェクトの「価格」は「3.2万円」だからである。
次に、動作部132は、第二の警告情報の変数「$箇所識別子$」に「端末識別子:d03,出版物識別子:bk01,ページ識別子:35」を代入する。次に、3番目の箇所識別子に対応する端末装置2に、第二の警告情報を送信する。
次に、当該端末装置2の端末受信部25は、第二の警告情報を受信する、そして、端末出力部26は、受信された第二の警告情報を出力する。
以上の具体例3において、2以上の各端末装置2に適切な警告情報が送信され、各端末装置2で出力された。
以上、本実施の形態によれば、マスタオブジェクトを複数の箇所で利用する場合、マスタオブジェクトと複数の箇所に存在する子オブジェクトとの不一致の状況に応じた適切な処理が行われるために、効率的な電子出版物の編集ができる。
なお、出版物を作成、編集する場合、マスタオブジェクトを複数の出版物や複数のページで利用する。また、複数の人が一のマスタオブジェクトを使用して、出版物を作成する。かかる状況において、マスタオブジェクトが複写等されて作成された子オブジェクトが各編集者の無秩序な修正により、一貫性が保てなくなって、不都合のある1以上の出版物が作成される。本実施の形態において、かかる課題を解決するものである。
また、本実施の形態において、マスタオブジェクト格納部111を有する情報処理装置1において、出版物を作成したり、編集したりできても良い。つまり、情報処理装置1は、一端末装置として機能しても良い。つまり、本実施の形態において、一の端末装置2の子オブジェクトがマスタオブジェクトであっても良い。
また、本実施の形態において、マスタオブジェクト格納部111を有する情報処理装置1(いわゆるサーバ)が、他の端末装置2に動的に変更されても良い。かかる場合、動的に変更されるトリガーは、通常、ユーザの指示によるが、自動的に変更されても良い。
また、本実施の形態において、情報処理装置1は、任意のタイミングで、自発的に、1または2以上の端末装置2から子オブジェクトを取得し、不一致状況取得処理、不一致状況処理を行っても良い。
さらに、本実施の形態において、情報処理装置1は、出版物を格納していなくても良い。つまり、情報処理装置1は、マスタオブジェクト等のみを格納しており、出版物は1以上の各端末装置2にのみ存在していても良い。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記録媒体は、1または2以上の出版物で利用されるオブジェクトであり、前記1または2以上の出版物の2箇所以上で利用されるオブジェクトである1以上のマスタオブジェクトを格納し得るマスタオブジェクト格納部を具備し、コンピュータを、前記マスタオブジェクト格納部の1以上の各マスタオブジェクトについて、マスタオブジェクト、および当該マスタオブジェクトが利用されている2以上の子オブジェクトの不一致の状況を取得する不一致状況取得部と、前記不一致状況取得部が取得した、2種類以上の不一致の状況の相違により、異なる動作を行う動作部として機能させるためのプログラムである。
また、上記プログラムにおいて、前記動作部は、前記不一致状況取得部が取得した不一致の状況が一の種類の不一致の状況である場合は、一の子オブジェクトに対して行われた更新に関する更新情報を用いて、マスタオブジェクトおよび他の子オブジェクトにも、前記更新を反映される一貫性保持処理を行い、前記不一致状況取得部が取得した不一致の状況が他の種類の不一致の状況である場合は、警告を示す警告情報を出力する警告情報出力処理を行うものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記動作部は、前記不一致状況取得部が取得した不一致の状況が一の種類の不一致の状況である場合は、当該一の種類の不一致の状況に応じた内容の警告情報を出力する第一の警告情報出力処理を行い、前記不一致状況取得部が取得した不一致の状況が他の種類の不一致の状況である場合は、当該他の種類の不一致の状況に応じた内容の警告情報を出力する第二の警告情報出力処理を行うものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、コンピュータを、一の端末装置から、子オブジェクトを更新する情報である更新情報を受信する更新情報受信部として、さらに機能させ、前記動作部は、前記更新情報に従って、前記子オブジェクトに対応するマスタオブジェクトを更新するマスタオブジェクト更新手段をさらに具備するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記動作部は、前記更新情報に従って、前記子オブジェクトに対応するマスタオブジェクトに対応する他の子オブジェクトを更新するための処理を行う他子オブジェクト更新処理手段をさらに具備するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記不一致状況取得部は、前記更新情報受信部が更新情報を受信した際に、前記不一致の状況を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記マスタオブジェクト格納部は、マスタオブジェクトと、当該マスタオブジェクトの利用箇所を識別する2以上の箇所識別子とを有する1以上のマスタ情報を格納しており、前記不一致状況取得部は、2以上の箇所識別子で識別される利用箇所における子オブジェクトを取得する子オブジェクト取得手段と、前記子オブジェクト取得手段が取得した2以上の子オブジェクトとマスタオブジェクトとを比較する比較手段と、前記比較手段の比較結果である不一致の状況を取得する不一致状況取得手段とを具備するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記不一致状況取得部は、2以上の各子オブジェクトのデータとマスタオブジェクトのデータとを比較して、不一致の状況を取得する、または2以上の各子オブジェクトの1以上の属性値とマスタオブジェクトの1以上の属性値とを比較して、不一致の状況を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、一のマスタオブジェクトに対応する2以上の各子オブジェクトは、異なる端末装置に存在するものとして、コンピュータを機能させるプログラムであることは好適である。
また、図13は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図13は、このコンピュータシステム300の概観図であり、図14は、システム300のブロック図である。
図13において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図14において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、MPU3013、CD−ROMドライブ3012に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の情報処理装置1等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の情報処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(端末情報送信部、端末情報受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。