(57)【要約】【課題】単一の文書ファイルを整合性を確保しながら複数の利用者に同時に編集させる。【解決手段】複数の文章が含まれる単一の文章ファイルを複数の利用者が並行して編集することを支援する文章編集支援システムであって、文章ファイルの中の複数の文章を複数の文章ユニットに分割するユニット分割部と、複数の文章ユニットを文章ファイルにおける順序に従って並べて、複数の利用者の各々に表示させる表示制御部と、複数の文章ユニットの一つの文章ユニットが編集されているときに、他の利用者が当該一つの文章ユニットが編集されることを禁止する排他制御部とを備える文章編集支援システムを提供する。【選択図】図２
2009009410.tif 000002
【特許請求の範囲】
【請求項１】
複数の文章が含まれる単一の文章ファイルを複数の利用者が並行して編集することを支援する文章編集支援システムであって、
前記文章ファイルの中の前記複数の文章を複数の文章ユニットに分割するユニット分割部と、
前記複数の文章ユニットを前記文章ファイルにおける順序に従って並べて、前記複数の利用者の各々に表示させる表示制御部と、
前記複数の文章ユニットの一つの文章ユニットが編集されているときに、他の利用者が当該一つの文章ユニットが編集されることを禁止する排他制御部と
を備える文章編集支援システム。
【請求項２】
前記ユニット分割部によって分割された前記複数の文章ユニットの各々を、同一のデータベースの異なるレコードに読み込むデータベース読込部を更に備える
請求項１に記載の文章編集支援システム。
【請求項３】
複数の前記レコードの各々がいずれかの利用者によって現在編集をされているか否かを示す編集中フラグを格納するフラグ格納部を更に備え、
前記表示制御部は、前記複数のレコードの各々に格納された前記文章ユニットを前記複数の利用者の各々が用いる前記端末装置上に表示させ、
前記排他制御部は、
前記端末装置から、前記一つの文章ユニットの編集を要求する通知を受け取った場合に、前記一つの文章ユニットが既に編集中であるか否かを、前記フラグ格納部に格納されている前記編集中フラグを調べることによって判断し、
前記一つの文章ユニットが既に編集中であった場合は、前記端末装置に対して前記一つの文章ユニットの編集を許可せず、
前記一つの文章ユニットが既に編集中でなかった場合は、前記一つの文章ユニットの前記編集中フラグの値を変更すると共に、前記端末装置上で前記一つの文章ユニットを編集することを許可する
請求項２に記載の文章編集支援システム。
【請求項４】
前記端末装置上で編集をされた前記一つの文章ユニットが前記端末装置からアップロードされた場合に、前記一つの文章ユニットの内容を変更するレコード更新部を更に備え、
前記排他制御部は、前記端末装置上で前記一つの文章ユニットが更に編集されることを禁止し、前記一つの文章ユニットの前記編集中フラグの値を現在編集中ではない旨を示す値に変更する
請求項３に記載の文章編集支援システム。
【請求項５】
前記ユニット分割部は、
前記文章ファイルに含まれる改行コードを検索する検索部と、
前記複数の文章を前記改行コード毎に異なる文章ユニットに分割する文章分割部と
を有する請求項１に記載の文章編集支援システム。
【請求項６】
前記ユニット分割部は、
前記文章ファイルに含まれる句点または読点を検索する検索部と、
前記複数の文章を前記句点または読点毎に異なる文章ユニットに分割する文章分割部と
を有する請求項１に記載の文章編集支援システム。
【請求項７】
前記表示制御部は、前記利用者が前記文章ユニットの編集を要求する場合に操作すべき編集要求ボタンを複数の前記文章ユニットの各々に対応付けて表示させ、
前記利用者が前記文章ユニットの編集を要求する編集要求を前記端末装置から当該文章編集支援システムに対して通知させるコードを生成し、当該コードを前記編集要求ボタンの操作に対応付ける編集要求コード生成部を更に備える
請求項３に記載の文章編集支援システム。
【請求項８】
前記表示制御部は、前記利用者が複数の前記文章ユニットの一つと当該一つの文章ユニットの上または下に隣接する文章ユニットとの間に新たな文章ユニットを挿入することを要求する場合に操作すべき挿入要求ボタンを複数の前記文章ユニットの各々に対応付けて表示させ、
前記利用者が前記文章ユニットの挿入を要求する挿入要求および操作された前記挿入要求ボタンに対応付けられている前記文章ユニットを識別する識別情報を前記端末装置から当該文章編集支援システムに対して通知させるコードを生成し、当該コードを前記挿入要求ボタンの操作に対応付ける挿入要求コード生成部を更に備える
請求項３に記載の文章編集支援システム。
【請求項９】
前記端末装置から前記挿入要求および前記識別情報を受け取った場合に、前記データベースの新たなレコードを前記新たな文章ユニットに割り当てる新規レコード割当部と、
前記新規レコード割当部によって割り当てられた前記新たなレコードを表示すべき表示位置を、前記識別情報で識別される前記文章ユニットと、前記隣接する文章ユニットとの間とする表示位置割当部とを更に備える
請求項８に記載の文章編集支援システム。
【請求項１０】
前記データベース読込部は、前記複数の文章ユニットの前記文章ファイルにおける順に単調に増加または減少する順序情報を、複数の前記レコードの各々に対応付けて格納し、
前記表示制御部は、前記複数のレコードを前記順序情報の大きさの順にソートして表示し、
前記表示位置割当部は、前記識別情報で識別される前記文章ユニットに割り当てられている順序情報と、前記隣接する文章ユニットに対応付けられている順序情報との間の大きさの順序情報を、挿入された前記新たな文章ユニットに割り当てる
請求項９に記載の文章編集支援システム。
【請求項１１】
前記データベース読込部は、前記複数の文章ユニットの前記識別情報と当該文章ユニットの次に表示すべき文章ユニットを示す次文章識別情報とを複数の前記レコードの各々に対応付けて格納し、
前記表示位置割当部は、前記新たなレコードの次に表示すべきレコードの識別情報を、当該新たなレコードの前記次文章識別情報として格納し、更に、前記新たなレコードの前に表示されるべきレコードに対応付けて格納された前記次文章識別情報を、前記新たなレコードの識別情報に変更する
請求項９に記載の文章編集支援システム。
【請求項１２】
複数の文章が含まれる単一の文章ファイルを複数の利用者が並行して編集することを支援する文章編集支援システムとして、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
前記文章ファイルの中の前記複数の文章を複数の文章ユニットに分割するユニット分割部と、
前記複数の文章ユニットを前記文章ファイルにおける順序に従って並べて、前記複数の利用者の各々に表示させる表示制御部と、
前記複数の文章ユニットの一つの文章ユニットが編集されているときに、他の利用者が当該一つの文章ユニットが編集されることを禁止する排他制御部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文章編集支援システムおよびプログラムに関する。特に本発明は、複数の文章が含まれる単一の文章ファイルを複数の利用者が並行して編集することを支援する文章編集支援システムおよびプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ページ内の各位置に含まれている複数のオブジェクト（編集対象データ）を、複数のユーザに並行して編集させる編集システムが記載されている。より具体的には、特許文献１には、複数のユーザの各々が作業している領域を示すアクセスエリアマップを用いて、各ユーザの作業領域が重ならないように管理する編集システムが記載されている。
【０００３】
特許文献２には、１つのファイルを複数のプログラムに同時にアクセスさせる排他制御方法が記載されている。より具体的には、特許文献２には、各プログラムがアクセスしているデータ領域（始端位置及び終端位置）を管理し、２以上のプログラムが同一のデータ領域をアクセスしないように制御する排他制御方法が記載されている。
【０００４】
【特許文献１】特開平６−２９５２９９号公報
【特許文献２】特開平６−２３１０２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載された編集システムは、１つのオブジェクト（例えば一つのテキストファイル）に対して１人のユーザしかアクセスさせることができない。従って、特許文献１に記載された編集システムによれば、１つのテキストファイルを、複数人に並行して編集させることはできない。
【０００６】
また、特許文献２に記載された排他制御方法は、データのファイル内における各データの相対位置情報を用いて、排他管理を実行する。従って、特許文献２に記載された排他制御方法によれば、各文のファイル内における相対位置情報を含まないテキストファイルを、複数のプログラムに同時にアクセスさせることができない。
【０００７】
そこで本発明は、上記の課題を解決することのできる文章編集支援システムおよびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第１の形態においては、複数の文章が含まれる単一の文章ファイルを複数の利用者が並行して編集することを支援する文章編集支援システムであって、文章ファイルの中の複数の文章を複数の文章ユニットに分割するユニット分割部と、複数の文章ユニットを文章ファイルにおける順序に従って並べて、複数の利用者の各々に表示させる表示制御部と、複数の文章ユニットの一つの文章ユニットが編集されているときに、他の利用者が当該一つの文章ユニットが編集されることを禁止する排他制御部とを備える文章編集支援システムを提供する。
【０００９】
本発明の第２の形態においては、複数の文章が含まれる単一の文章ファイルを複数の利用者が並行して編集することを支援する文章編集支援システムとして、情報処理装置を機能させるプログラムであって、情報処理装置を、文章ファイルの中の複数の文章を複数の文章ユニットに分割するユニット分割部と、複数の文章ユニットを文章ファイルにおける順序に従って並べて、複数の利用者の各々に表示させる表示制御部と、複数の文章ユニットの一つの文章ユニットが編集されているときに、他の利用者が当該一つの文章ユニットが編集されることを禁止する排他制御部として機能させるプログラムを提供する。
【００１０】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【００１１】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１２】
図１は、本実施形態に係る文章編集装置１０の構成を示す。文章編集装置１０は、文章編集支援システム１００と、複数の端末装置２００（２００−１、２００−２、…、２００−Ｎ（Ｎは正の整数））とを備える。文章編集支援システム１００および複数の端末装置２００の各々は、ネットワーク３００等を介して接続されている。
【００１３】
複数の端末装置２００の各々は、互いに異なる利用者により用いられる。複数の端末装置２００の各々は、利用者に対して情報を表示する表示部２１０（２１０−１〜２１０−Ｎ）と、利用者から与えられる情報を入力する入力部２２０（２２０−１〜２２０−Ｎ）とを有する。
【００１４】
文章編集装置１０によれば、単一の文章ファイル４００を、複数の利用者に並行して編集させることができる。すなわち、文章編集支援システム１００によれば、単一の文章ファイル４００を、整合性を確保しながら複数の利用者に同時に編集させることができる。なお、文章編集支援システム１００は、複数の端末装置２００（２００−１〜２００−Ｎ）と別個の装置として実装されるのに代えて、複数の端末装置２００（２００−１〜２００−Ｎ）の少なくとも１つの上に実装されてもよい。
【００１５】
図２は、本実施形態に係る文章編集支援システム１００の構成を示す。文章編集支援システム１００は、複数の文章が含まれる単一の文章ファイル４００を、複数の利用者が同時／並行して編集することを支援する。
【００１６】
文章編集支援システム１００は、第１記憶部１１２と、第２記憶部１１４と、ユニット分割部１１６と、データベース読込部１１８と、フラグ格納部１２０と、表示制御部１２２と、編集要求コード生成部１２４と、挿入要求コード生成部１２６と、アップロード要求コード生成部１２８と、入力制御部１３０と、排他制御部１３２と、レコード更新部１３４と、新規レコード割当部１３６と、表示位置割当部１３８と、データベース取出部１４０と、合成部１４２とを備える。
【００１７】
第１記憶部１１２は、編集対象となる文章ファイル４００を記憶する。文章ファイル４００は、一例として、テキストデータを格納したファイルであってよい。
【００１８】
第２記憶部１１４は、データベース５００を記憶する。データベース５００は、複数のレコードの各々に、１つの文章ユニットと、当該文章ユニットの順序情報とを格納する。文章ユニットは、文章ファイル４００中の文章を所定の規則に従って分割した一単位である。文章ユニットは、一例として、文章ファイル４００に含まれる複数の文章を、改行コード毎に分割する等により文毎に分割した一単位、句点または読点毎に分割した一単位、または、段落、セクションまたはページ等毎に分割した一単位の文章であってよい。
【００１９】
順序情報は、当該レコードに格納された文章ユニットの、文章ファイル４００中における相対順序を表す。データベース５００は、一例として、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のデータであってよい。
【００２０】
ユニット分割部１１６は、文章ファイル４００の中の複数の文章を複数の文章ユニットに分割する。ユニット分割部１１６は、一例として、検索部１５２と、文章分割部１５４とを含んでよい。検索部１５２は、文章ファイル４００に含まれる改行コードを検索する。文章分割部１５４は、複数の文章を改行コード毎に異なる文章ユニットに分割する。これに代えて、検索部１５２は、文章ファイル４００に含まれる句点または読点を検索してもよい。この場合において、文章分割部１５４は、複数の文章を句点または読点毎に異なる文章ユニットに分割する。
【００２１】
データベース読込部１１８は、ユニット分割部１１６によって分割された複数の文章ユニットの各々を、同一のデータベース５００の異なるレコードに読み込む。この場合において、データベース読込部１１８は、複数の文章ユニットの各々に対応する順序情報を生成し、文章ユニットと共に対応する順序情報を複数のレコードの各々に格納する。
【００２２】
フラグ格納部１２０は、複数のレコードの各々がいずれかの利用者によって現在編集をされているか否かを示す編集中フラグを格納する。すなわち、フラグ格納部１２０は、当該レコードに格納されている文章ユニットがいずれかの利用者によって現在編集中であるか否かを示す値を表す編集中フラグを、複数のレコードの各々に対応付けて格納する。本実施形態において、フラグ格納部１２０は、第２記憶部１１４の一部の記憶領域に、データベース５００とは別個に形成される。これに代えて、フラグ格納部１２０は、データベース５００の一部として設けられ、各レコード中に対応する編集中フラグを設けた構成を取ってもよい。
【００２３】
表示制御部１２２は、複数の文章ユニットを文章ファイル４００における順序に従って並べて、複数の利用者の各々が用いる端末装置２００の表示部２１０に表示させる。より詳しくは、表示制御部１２２は、データベース５００の複数のレコードに格納された文章ユニットを、文章ファイル４００における順序に従って並べて、複数の利用者の各々が用いる端末装置２００の表示部２１０上に表示させる。これにより、表示制御部１２２によれば、文章ファイル４００の文章の内容を、複数の利用者に対して同時に表示させることができる。なお、表示制御部１２２は、表示画面を端末装置２００毎にスクロール可能または拡大縮小可能とし、端末装置２００毎に異なる文章ユニットを表示させてもよい。
【００２４】
また、表示制御部１２２は、複数の端末装置２００の各々の表示部２１０に、利用者が文章ユニットの編集を要求する場合に操作すべき編集要求ボタンを複数の文章ユニットの各々に対応付けて表示させる。また、表示制御部１２２は、複数の端末装置２００の各々の表示部２１０に、利用者が複数の文章ユニットの一つと当該一つの文章ユニットの上または下に隣接する文章ユニットとの間に新たな文章ユニットを挿入することを要求する場合に操作すべき挿入要求ボタンを複数の文章ユニットの各々に対応付けて表示させる。また、表示制御部１２２は、編集が許可された端末装置２００の表示部２１０に、編集後の文章ユニットを対応するレコードにアップロードする場合に操作すべきアップロード要求ボタンを、編集が許可された一つの文章ユニットに対応付けて表示させる。
【００２５】
編集要求コード生成部１２４は、利用者が文章ユニットの編集を要求する編集要求を端末装置２００から当該文章編集支援システム１００に対して通知させるコードを生成し、当該コードを、表示させた編集要求ボタンに対する操作に対応付ける。さらに、編集要求コード生成部１２４は、編集要求ボタンに対応付けられている文章ユニットを識別する識別情報を当該コードに含める。これにより、端末装置２００によれば、利用者により編集要求ボタンが操作された場合、編集要求および操作された挿入要求ボタンに対応付けられている文章ユニットを識別する識別情報を、当該文章編集支援システム１００に対して通知することができる。
【００２６】
挿入要求コード生成部１２６は、利用者が文章ユニットの挿入を要求する挿入要求を端末装置２００から当該文章編集支援システム１００に対して通知させるコードを生成し、当該コードを、表示させた挿入要求ボタンに対する操作に対応付ける。さらに、挿入要求コード生成部１２６は、挿入要求ボタンに対応付けられている文章ユニットを識別する識別情報を当該コードに含める。これにより、端末装置２００によれば、利用者により挿入要求ボタンが操作された場合、挿入要求および操作された挿入要求ボタンに対応付けられている文章ユニットを識別する識別情報を、当該文章編集支援システム１００に対して通知することができる。
【００２７】
アップロード要求コード生成部１２８は、利用者が編集済みの文章ユニットの対応するレコードへのアップロードを要求するアップロード要求を端末装置２００から当該文章編集支援システム１００に対して通知させるコードを生成し、当該コードを、表示させたアップロード要求ボタンに対する操作に対応付ける。さらに、アップロード要求コード生成部１２８は、アップロード要求ボタンに対応付けられている文章ユニットを識別する識別情報を当該コードに含める。これにより、端末装置２００によれば、利用者によりアップロード要求ボタンが操作された場合、アップロード要求および操作されたアップロード要求ボタンに対応付けられている文章ユニットを識別する識別情報を当該文章編集支援システム１００に対して通知することができる。さらに、端末装置２００によれば、当該文章ユニットの編集後の内容を文章編集支援システム１００に対してアップロードすることができる。
【００２８】
入力制御部１３０は、複数の利用者の各々が用いる端末装置２００からの通知等を受け取る。より詳しくは、入力制御部１３０は、端末装置２００の表示部２１０に表示された編集要求ボタン、挿入要求ボタンおよびアップロード要求ボタンに対する操作がされた場合、操作がされた端末装置２００から、編集を要求する通知、挿入を要求する通知およびアップロードを要求する通知を受け取る。さらに、入力制御部１３０は、アップロード要求ボタンに対する操作がされた場合、文章ユニットの編集後の内容を端末装置２００から受け取る。
【００２９】
排他制御部１３２は、一の利用者が用いる端末装置２００によって複数の文章ユニットの一つの文章ユニットが編集されているときに、他の利用者が用いる端末装置２００によって当該一つの文章ユニットが編集されることを禁止する。排他制御部１３２は、一例として、フラグ格納部１２０に格納されている対応するレコードの編集中フラグを用いて、一つの文章ユニットが複数の端末装置２００により同時に編集されないように排他制御を実行する。排他制御部１３２は、一例として、他の利用者が用いる端末装置２００から当該文書ユニットの編集の要求があった場合に編集を不許可にすることにより排他制御を実行してもよいし、他の利用者が用いる端末装置２００の対応するレコードの編集要求ボタンの表示を消去することにより排他制御を実行してもよい。
【００３０】
レコード更新部１３４は、編集が許可された端末装置２００からアップロード要求を受け取るとともに編集をされた一つの文章ユニットが当該端末装置２００からアップロードされた場合に、当該一つの文章ユニットの内容を編集後の内容に変更する。新規レコード割当部１３６は、端末装置２００から、挿入要求および識別情報を受け取った場合に、データベース５００の新たなレコードを新たな文章ユニットに割り当てる。この場合において、新規レコード割当部１３６は、新たな文章ユニットを割り当てた新たなレコードに、新たな順序情報を格納する。
【００３１】
表示位置割当部１３８は、新たな文章ユニットが格納されたレコードを複数の利用者の各々が用いる端末装置２００の表示部２１０に表示させる。この場合において、表示位置割当部１３８は、新規レコード割当部１３６によって割り当てられた新たなレコードを表示すべき端末装置２００上の表示位置を、識別情報で識別される文章ユニットと、隣接する文章ユニットとの間とする。
【００３２】
データベース取出部１４０は、データベース５００の各レコードに格納された複数の文章ユニットを読み出す。データベース取出部１４０は、一例として、利用者により編集終了の指示が与えられた場合、又は、利用者により文章ファイル４００のファイルクローズの指示が与えられ場合、データベース５００の各レコードに格納された複数の文章ユニットを読み出してよい。
【００３３】
合成部１４２は、データベース取出部１４０によって読み出された複数の文章ユニットを複数の文章として合成する。合成部１４２は、文章ユニットを順序情報に従って並べて、複数の文章として合成する。そして、合成部１４２は、合成した複数の文章を文章ファイル４００に格納する。
【００３４】
このような構成の文章編集支援システム１００によれば、単一の文章ファイル４００を、複数の端末装置２００を介して複数の利用者に並行して編集させる作業を支援することができる。すなわち、文章編集支援システム１００によれば、単一の文章ファイル４００を、整合性を確保しながら複数の利用者に同時に編集させることができる。
【００３５】
図３は、本実施形態に係る文章編集支援システム１００の編集開始時の処理フローを示す。まず、ユニット分割部１１６は、いずれかの利用者により編集開始の指示が与えられると、文章ファイル４００の中の複数の文章を、複数の文章ユニットに分割する（Ｓ１１）。ユニット分割部１１６は、一例として、いずれかの利用者により文章ファイル４００のファイルオープンの指示が与えられた場合に、編集開始の指示が与えられたと判断して、文章ファイル４００の中の複数の文章を複数の文章ユニットに分割してよい。
【００３６】
次に、データベース読込部１１８は、ステップＳ１１において分割された複数の文章ユニットの各々を、同一のデータベース５００の異なるレコードに読み込む（Ｓ１２）。この場合において、データベース読込部１１８は、複数のレコードの各々に、文章ユニットと共に対応する順序情報を格納する。さらに、データベース読込部１１８は、データベース５００の複数のレコードの各々に対応して格納されている各編集中フラグを、対応する文章ユニットがいずれの利用者によっても現在編集中ではない旨を示す値に初期化する。
【００３７】
次に、表示制御部１２２は、データベース５００の複数のレコードの各々に格納された文章ユニットを、複数の利用者の各々が用いる端末装置２００の表示部２１０上に表示させる（Ｓ１３）。以上の処理により、文章編集支援システム１００によれば、文章ファイル４００の文章の内容を、複数の利用者に対して同時に表示させることができる。
【００３８】
図４は、文章ファイル４００の一例、データベース５００の一例およびフラグ格納部１２０に格納された編集中フラグの一例を示す。ユニット分割部１１６は、一例として、文章ファイル４００の中の複数の文章を改行コード毎に分割して、複数の文章ユニットを生成してよい。また、合成部１４２は、データベース５００の各レコードの複数の文章ユニットを合成して１つの文章を生成する。
【００３９】
データベース読込部１１８は、一例として、複数の文章ユニットを文章ファイル４００における順に並べた場合において単調に増加または減少する値を順序情報として生成し、複数のレコードの各々に、文章ユニットと共に対応する順序情報を格納してよい。データベース読込部１１８は、一例として、先頭の文章ユニットの順序情報を"１"とし、１ずつ増加する順序情報を各レコードに格納してよい。
【００４０】
これに代えて、データベース読込部１１８は、ユニット分割部１１６により分割された複数の文章ユニットの各々に対応する識別情報および次文章識別情報の組み合わせを、順序情報として生成してもよい。この場合において、識別情報は、対応する文章ユニットを他の文章ユニットから識別する値である。次文章識別情報は、複数の文章ユニットを文章ファイル４００における順に並べた場合に次に配置される文章ユニットの識別情報を示す値である。すなわち、データベース読込部１１８は、各レコードに次の文書ユニットの識別情報を記憶させたリンクドリスト形式により順序情報を記憶してよい。
【００４１】
フラグ格納部１２０は、一例として、当該レコードに格納されている文章ユニットがいずれかの利用者によって現在編集中である場合に"１"、当該レコードに格納されている文章ユニットがいずれかの利用者によって現在編集中ではない場合に"０"を表す（またはこの逆を表す）編集中フラグを、複数のレコードの各々に対応付けて記憶してよい。なお、フラグ格納部１２０は、データベース５００の各レコードの一部のフィールドに形成されてもよい。
【００４２】
図５は、複数の端末装置２００の各々の表示部２１０に表示される参照画面２４０の一例を示す。表示制御部１２２は、一例として、表形式によりレコードの内容を表した参照画面２４０を、複数の端末装置２００の各々に表示させてよい。参照画面２４０は、行がデータベース５００のレコードに対応する。参照画面２４０の複数の行のそれぞれは、対応するレコードに格納された文章ユニットを表示する第１セル２４２と、対応するレコードに格納された順序情報を表示する第２セル２４４と、編集要求ボタン２４８および挿入要求ボタン２５０を表示する第３セル２４６とを含む。
【００４３】
複数の文章ユニットの文章ファイル４００における順に増加または減少する順序情報が、複数のレコードの各々に対応付けて格納されている場合、表示制御部１２２は、複数のレコードを順序情報の大きさの順にソートし、各レコードの内容を参照画面２４０上に表示する。また、順序情報として識別情報および次文章識別情報が各レコードに含まれる場合、表示制御部１２２は、先頭のレコードから順に次文章識別情報を検索し、検索順に複数のレコードを並べ、各レコードの内容を参照画面２４０上に表示する。このようにして、表示制御部１２２は、文章ファイル４００における順序に従って並べられた複数の文章ユニットを、複数の端末装置２００の各々に表示することができる。
【００４４】
編集要求ボタン２４８は、当該編集要求ボタン２４８と同一行に含まれる第１セル２４２に表示された文章ユニットの編集を要求する場合に、利用者により操作される。このようにして、表示制御部１２２は、編集要求ボタン２４８を、複数の文章ユニットのそれぞれに対応させて、複数の端末装置２００の各々に表示させることができる。
【００４５】
挿入要求ボタン２５０は、当該編集要求ボタン２４８と同一行に含まれる第１セル２４２に表示された文章ユニットの上または下に隣接するユニットとの間に新たな文章ユニットの挿入を要求する場合に、利用者により操作される。このようにして、表示制御部１２２は、挿入要求ボタン２５０を、複数の文章ユニットのそれぞれに対応させて、複数の端末装置２００の各々に表示させることができる。
【００４６】
図６は、任意の利用者により編集要求ボタン２４８が操作された場合の、本実施形態に係る文章編集支援システム１００の処理フローを示す。まず、ある一つの文章ユニットに対応する編集要求ボタン２４８がある一の利用者により操作された場合、当該一の利用者により用いられている端末装置２００は、編集要求および操作された編集要求ボタン２４８に対応付けられている文章ユニットを識別する識別情報を、文章編集支援システム１００に対して通知する。
【００４７】
排他制御部１３２は、一の利用者が用いる端末装置２００から、複数の文章ユニットのうちの一つの文章ユニットの編集を要求する通知を受け取った場合に、当該一つの文章ユニットが既に編集中であるか否かを、フラグ格納部１２０に格納されている対応するレコードの編集中フラグを調べることによって判断する（Ｓ２１）。排他制御部１３２は、当該一つの文章ユニットが既に編集中であった場合は（Ｓ２１のＹｅｓ）、編集を要求した端末装置２００に対して当該一つの文章ユニットの編集を許可しない処理を実行する（Ｓ２２）。排他制御部１３２は、一例として、編集を要求した端末装置２００に、現在は編集を許可できない旨の通知を利用者に対して表示させてよい。
【００４８】
排他制御部１３２は、当該一つの文章ユニットが既に編集中でなかった場合は（Ｓ２１のＮｏ）、フラグ格納部１２０に格納されている一つの文章ユニットの編集中フラグの値を現在編集中である旨を示す値に変更する（Ｓ２３）。これとともに、排他制御部１３２は、編集を要求した端末装置２００に対して当該一つの文章ユニットを編集することを許可する処理を実行する（Ｓ２４）。排他制御部１３２は、一例として、編集を要求した端末装置２００に対して、編集を要求された当該一つの文章ユニットを編集させる編集画面を表示させてよい。
【００４９】
以上の処理により、文章編集支援システム１００によれば、一つの文章ユニットをある一つの端末装置２００が編集している最中において、他の端末装置２００による当該一つの文章ユニットの編集を禁止することができる。これにより、文章編集支援システム１００によれば、編集対象となる文章ファイル４００の整合性を保つことができる。そして、文章編集支援システム１００は、ある一つの文章ユニットをある一つの端末装置２００が編集している最中であっても、他の文章ユニットを他の端末装置２００に編集させることができる。
【００５０】
図７は、編集が許可された端末装置２００の表示部２１０に表示される編集画面２６０の一例を示す。排他制御部１３２は、編集を許可する処理の一例として、編集を許可した端末装置２００に、表形式によりレコードの内容を表した編集画面２６０を表示させてよい。
【００５１】
編集画面２６０は、参照画面２４０と同様に、行がデータベース５００の各レコードに対応する。編集画面２６０の複数の行のそれぞれは、第１セル２４２と、第２セル２４４と、第３セル２４６とを含む。
【００５２】
複数の行のそれぞれにおける第１セル２４２は、対応するレコードに格納された文章ユニットを表示し、第２セル２４４は、対応するレコードに格納された順序情報を表示し、第３セル２４６は、空白を表示する。更に、編集が許可された一つの文章ユニットが格納されたレコードに対応する行の第１セル２４２は、編集ボックス２６２を表示し、第２セル２４４は、対応するレコードに格納された順序情報を表示し、第３セル２４６は、アップロード要求ボタン２６４を表示する。
【００５３】
編集ボックス２６２は、初期状態において表示した表示した文章ユニットの内容を、利用者により編集させる。編集ボックス２６２は、一例として、キーボードおよびマウス等を用いて行われた文章ユニットの変更を受け付ける。このようにして、排他制御部１３２は、編集を要求した利用者に対して、一つの文章ユニットを編集させることができる。
【００５４】
アップロード要求ボタン２６４は、当該アップロード要求ボタン２６４と同一行に含まれる編集ボックス２６２内に表示されている編集後の文章ユニットを文章編集支援システム１００にアップロードする場合に、利用者により操作される。このようにして、レコード更新部１３４は、編集をされた一つの文章ユニットがアップロードされた場合に、当該一つの文章ユニットの内容を編集後の内容に変更することができる。
【００５５】
図８は、編集が許可された端末装置２００の利用者によりアップロード要求ボタン２６４が操作された場合の、本実施形態に係る文章編集支援システム１００の処理フローを示す。まず、編集が許可された端末装置２００の利用者によりアップロード要求ボタン２６４が操作された場合、当該端末装置２００は、アップロード要求および操作されたアップロード要求ボタンに対応付けられている文章ユニットを識別する識別情報を文章編集支援システム１００に対して通知する。これとともに、当該端末装置２００は、当該文章ユニットの編集後の内容を文章編集支援システム１００に対してアップロードする。
【００５６】
レコード更新部１３４は、編集が許可された端末装置２００からアップロード要求がされた場合、アップロード要求がされた一つの文章ユニットに対応するレコードの内容を、アップロードされた編集後の内容に変更する（Ｓ３１）。さらに、排他制御部１３２は、編集が許可された端末装置２００上で、編集が許可された一つの文章ユニットが更に編集されることを禁止する（Ｓ３２）。排他制御部１３２は、一例として、アップロード要求ボタン２６４が操作された後に、編集ボックス２６２の表示を消して再度編集がされることを禁止してよい。
【００５７】
次に、排他制御部１３２は、編集が許可された一つの文章ユニットの編集中フラグの値を、現在編集中ではない旨を示す値に変更する（Ｓ３３）。これにより、排他制御部１３２は、以後、他の端末装置２００から当該一つの文章ユニットの編集要求が通知された場合に、当該他の端末装置２００に対して編集を許可することができる。
【００５８】
そして、表示制御部１２２は、データベース５００の複数のレコードの各々に格納された文章ユニットを、複数の利用者の各々が用いる端末装置２００の表示部２１０上に表示させる（Ｓ３４）。これにより、表示制御部１２２は、編集による変更が反映された後の複数のレコードを、複数の利用者の各々の端末装置２００の表示部２１０上に表示させることができる。
【００５９】
なお、文章編集支援システム１００は、編集中フラグとして、端末装置２００のＩＤを記憶してもよい。この場合、レコード更新部１３４は、アップロード要求した端末装置２００のＩＤと、編集中フラグとして記憶されたＩＤとが一致することを条件としてアップロード要求を受け付け、一致しないことを条件としてアップロード要求を受け付けないようにすることができる。これにより、文章編集支援システム１００によれば、異なるＩＤを有する利用者または端末装置２００から誤ってアップロード要求があった場合であっても、レコードの内容の変更を禁止することができる。
【００６０】
図９は、任意の利用者により挿入要求ボタン２５０が操作された場合の、本実施形態に係る文章編集支援システム１００の処理フローを示す。まず、ある一つの文章ユニットに対応する挿入要求ボタン２５０がある一の利用者により操作された場合、当該一の利用者により用いられている端末装置２００は、挿入要求および操作された挿入要求ボタン２５０に対応付けられている文章ユニットを識別する識別情報を、文章編集支援システム１００に対して通知する。
【００６１】
新規レコード割当部１３６は、端末装置２００から挿入要求および識別情報の通知を受け取った場合、データベース５００の新たなレコードを新たな文章ユニットに割り当てる（Ｓ４１）。更に、新規レコード割当部１３６は、新たなレコードに、新たな順序情報を格納する。
【００６２】
ここで、複数の文章ユニットの文章ファイル４００における順に単調に増加または減少する順序情報が、複数のレコードの各々に対応付けて格納されているとする。この場合、新規レコード割当部１３６は、識別情報で識別される文章ユニットに割り当てられている順序情報と、隣接する文章ユニットに対応付けられている順序情報との間の大きさの順序情報を、挿入された新たな文章ユニットに割り当てる。また、順序情報として識別情報および次文章識別情報が各レコードに含まれるとする。この場合、新規レコード割当部１３６は、新たなレコードの次に表示すべきレコードの識別情報を、当該新たなレコードの次文章識別情報として格納し、更に、新たなレコードの前に表示されるべきレコードに対応付けて格納された次文章識別情報を、新たなレコードの識別情報に変更する。
【００６３】
次に、表示位置割当部１３８は、新たな文章ユニットが格納されたレコードを、複数の利用者の各々が用いる端末装置２００に表示させる（Ｓ４２）。この場合において、表示位置割当部１３８は、新規レコード割当部１３６によって割り当てられた新たなレコードを表示すべき端末装置２００上の表示位置を、識別情報で識別される文章ユニットと、隣接する文章ユニットとの間とする（Ｓ４３）。
【００６４】
表示位置割当部１３８は、一例として、複数の文章ユニットの文章ファイル４００における順に単調に増加または減少する順序情報が、複数のレコードの各々に対応付けて格納されている場合であれば、複数のレコードを順序情報の大きさの順にソートし、各レコードの内容を参照画面２４０上に表示する。また、表示制御部１２２は、順序情報として識別情報および次文章識別情報が各レコードに含まれる場合であれば、先頭のレコードから順に次文章識別情報を検索し、検索順に複数のレコードを並べ、各レコードの内容を参照画面２４０上に表示する。
【００６５】
次に、排他制御部１３２は、フラグ格納部１２０に記憶されている、新たなレコードに対応する編集中フラグの値を、現在編集中である旨を示す値に変更する（Ｓ４３）。次に、排他制御部１３２は、挿入を要求した端末装置２００に対して、当該新たなレコードに格納された文章ユニットを編集することを許可する処理を実行する（Ｓ４４）。排他制御部１３２は、一例として、新たなレコードに格納された一つの文章ユニットを編集させる編集画面を、挿入を要求した端末装置２００に表示させてよい。
【００６６】
以上の処理により、文章編集支援システム１００によれば、一つの文章ユニットの次に新たな文章ユニットを追加することができる。これにより、文章編集支援システム１００によれば、既存の文章を変更することに加えて、複数の利用者に既存の文章に新たに文章を追加させることができる。
【００６７】
図１０は、挿入を要求した端末装置２００の表示部２１０に表示される編集画面２６０の一例を示す。排他制御部１３２は、挿入を要求した端末装置２００に対して、識別情報で識別される文章ユニットが表示された行と、隣接する文章ユニットが表示された行との間に、新たなレコードを表示した行を含む編集画面２６０を、表示させてよい。そして、新規レコード割当部１３６は、一例として、新たなレコードを表示した行の第２セル２４４に、直前の文章ユニットの順序情報（例えば"３"）と、直後の文章ユニットの順序情報（例えば、"４"）との間の値（例えば"３．５"）の順序情報を表示してよい。これにより、排他制御部１３２によれば、新たなレコードに格納された一つの文章ユニットを、利用者に編集させることができる。
【００６８】
図１１は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００６９】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００７０】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００７１】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラムや、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
【００７２】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００７３】
コンピュータ１９００にインストールされ、コンピュータ１９００を文章編集支援システム１００として機能させるプログラムは、第１記憶モジュールと、第２記憶モジュールと、ユニット分割モジュールと、データベース読込モジュールと、フラグ格納モジュールと、表示制御モジュールと、編集要求コード生成モジュールと、挿入要求コード生成モジュールと、アップロード要求コード生成モジュールと、入力制御モジュールと、排他制御モジュールと、レコード更新モジュールと、新規レコード割当モジュールと、表示位置割当モジュールと、データベース取出モジュールと、合成モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、第１記憶部１１２、第２記憶部１１４、ユニット分割部１１６、データベース読込部１１８、フラグ格納部１２０、表示制御部１２２、編集要求コード生成部１２４、挿入要求コード生成部１２６、アップロード要求コード生成部１２８、入力制御部１３０、排他制御部１３２、レコード更新部１３４、新規レコード割当部１３６、表示位置割当部１３８およびデータベース取出部１４０としてそれぞれ機能させる。
【００７４】
また、コンピュータ１９００にインストールされ、コンピュータ１９００を端末装置２００として機能させるプログラムは、表示モジュールと、入力モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、表示部２１０および入力部２２０としてそれぞれ機能させる。
【００７５】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤやＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００７６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施形態に係る文章編集装置１０の構成を示す。
【図２】本発明の実施形態に係る文章編集支援システム１００の構成を示す。
【図３】本発明の実施形態に係る文章編集装置１０の開始時の処理フローを示す。
【図４】文章ファイル４００、データベース５００およびフラグ格納部１２０に格納された編集中フラグの一例を示す。
【図５】複数の端末装置２００の各々の表示部２１０に表示される２４０の一例を示す。
【図６】任意の利用者により編集要求ボタン２４８が操作された場合の、本発明の実施形態に係る文章編集支援システム１００の処理フローを示す。
【図７】編集が許可された端末装置２００の表示部２１０に表示される編集画面２６０の一例を示す。
【図８】編集が許可された端末装置２００の利用者によりアップロード要求ボタン２６４が操作された場合の、本発明の実施形態に係る文章編集支援システム１００の処理フローを示す。
【図９】任意の利用者により挿入要求ボタン２５０が操作された場合の、本実施形態に係る文章編集支援システム１００の処理フローを示す。
【図１０】挿入を要求した端末装置２００の表示部２１０に表示される編集画面２６０の一例を示す。
【図１１】本発明の実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【符号の説明】
【００７８】
１０  文章編集装置
１００  文章編集支援システム
１１２  第１記憶部
１１４  第２記憶部
１１６  ユニット分割部
１１８  データベース読込部
１２０  フラグ格納部
１２２  表示制御部
１２４  編集要求コード生成部
１２６  挿入要求コード生成部
１２８  アップロード要求コード生成部
１３０  入力制御部
１３２  排他制御部
１３４  レコード更新部
１３６  新規レコード割当部
１３８  表示位置割当部
１４０  データベース取出部
１４２  合成部
１５２  検索部
１５４  文章分割部
２００  端末装置
２１０  表示部
２２０  入力部
２４０  参照画面
２４２  第１セル
２４４  第２セル
２４６  第３セル
２４８  編集要求ボタン
２５０  挿入要求ボタン
２６０  編集画面
２６２  編集ボックス
２６４  アップロード要求ボタン
３００  ネットワーク
４００  文章ファイル
５００  データベース
１９００  コンピュータ
２０００  ＣＰＵ
２０１０  ＲＯＭ
２０２０  ＲＡＭ
２０３０  通信インターフェイス
２０４０  ハードディスクドライブ
２０５０  フレキシブルディスク・ドライブ
２０６０  ＣＤ−ＲＯＭドライブ
２０７０  入出力チップ
２０７５  グラフィック・コントローラ
２０８０  表示装置
２０８２  ホスト・コントローラ
２０８４  入出力コントローラ
２０９０  フレキシブルディスク
２０９５  ＣＤ−ＲＯＭ
【図１】
2009009410.tif 000003
【図２】
2009009410.tif 000004
【図３】
2009009410.tif 000005
【図４】
2009009410.tif 000006
【図５】
2009009410.tif 000007
【図６】
2009009410.tif 000008
【図７】
2009009410.tif 000009
【図８】
2009009410.tif 000010
【図９】
2009009410.tif 000011
【図１０】
2009009410.tif 000012
【図１１】
2009009410.tif 000013