(57)【要約】【課題】アクセスを許可された複数のユーザが、共同で参照・編集する必要のあるファイルを、クライアント上に複製させることなく、かつ複数のユーザが同時に整合性を保ちつつ参照・編集を行なうことが可能なファイル共有管理システムを提供する。【解決手段】複数のクライアント装置が接続するサーバ装置上に、複数ユーザが同時に編集するファイルを配置し、アクセス要求があった場合には参照・編集用にファイルをコピーして編集用のファイルを作成する。サーバ装置はクライアント装置に対して、編集用ファイルの参照・編集に必要な箇所を画面表示するための情報を、画面表示に変更が発生するタイミング毎に転送する。クライアント装置は、サーバ装置に対して画面上で行なわれた編集操作に関する情報を転送することにより、常にファイルの最新状態を複数のクライアント装置間で共有可能とする。【選択図】図８
2011141814.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザが参照または編集するファイルを格納するファイル保管用記憶領域を備えたサーバ装置と、複数のクライアント装置とをネットワークを介して接続し、前記ファイルを共有して利用するファイル共有管理システムにおいて、
サーバ装置は、
複数ユーザがファイルを参照または編集するための編集用データを格納するファイル編集用記憶領域と、
前記クライアント装置からのアクセス要求に応じて、前記ファイル保管用記憶領域の前記ファイルを前記編集用データとして前記ファイル編集用記憶領域に複数ユーザが同時に参照または編集可能な状態で配置し、ファイル編集結果が確定したとき、同一ファイルの別バージョンとして前記ファイル保管用記憶領域に格納するファイル管理手段とを備え、
複数ユーザが同時に前記サーバ装置上の前記編集用データを参照または編集することを特徴とするファイル共有管理システム。
【請求項２】
請求項１記載のファイル共有管理システムであって、
前記サーバ装置は、前記ファイル編集用記憶領域にある前記編集用データを参照または編集した結果を検知し、画面表示している部分に変更があった場合、前記クライアント装置に画面表示情報を伝送する画面表示情報転送手段をさらに備え
前記クライアント装置は、前記サーバ装置から伝送された画面表示情報を画面表示するための画面出力手段を備え、
複数ユーザが同時に前記サーバ装置上の編集用データの状態をリアルタイムに参照することを特徴とするファイル共有管理システム。
【請求項３】
請求項１記載のファイル共有管理システムであって、
前記クライアント装置は、
ユーザが画面上で行なったファイル編集操作を入力として受け付けて画面上に反映する入力手段と、
前記ファイル編集操作を前記サーバ装置に転送するファイル編集内容転送手段とをさらに備え、
前記サーバ装置は、
前記編集用データに対する複数のクライアント装置によるファイル編集操作を統合管理して編集用データに反映し、
複数ユーザ間で編集している箇所が重複している場合のみ、当該ユーザの編集操作を監視して同一箇所への書き込みに対する排他制御を行なって、整合性を保つファイル編集手段をさらに備え、
複数ユーザが同時に前記共有ファイルを矛盾無く編集するよう制御することを特徴とするファイル共有管理システム。
【請求項４】
請求項１記載のファイル共有管理システムであって、
サーバ装置は、編集用データに対して行なった編集操作の履歴を、編集履歴管理テーブル上に全て記録する編集履歴保存手段をさらに備えることを特徴とするファイル共有管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル共有管理システムに係り、特に複数のユーザが同一のファイルを同時に参照・編集することが可能なファイル共有管理システムに関する。
【背景技術】
【０００２】
近年、ネットワーク技術の進歩に伴い、複数のユーザが利用するファイルを一箇所の保管場所で集中保管し、ユーザが個別に編集処理を行なうファイル処理形態が利用されている。このようなファイル処理形態では、通常ファイルを集中保管している保管場所から一旦編集ユーザがファイルを取り出し、編集完了後ファイルを保管場所に戻すという手順を踏む。
【０００３】
複数のユーザが同一のファイルに対して同時にアクセスし、参照・編集可能とするシステムにおいては、あるユーザがあるファイルの内容を更新している最中に別のユーザが同じファイルを更新しようとした場合、ファイル内のデータ内容が正しく維持されなくなってしまう。
【０００４】
上記問題を回避するための手段として、ファイルもしくはファイルを分割したデータブロック毎にロックをかけて排他制御を行なう方法が広く用いられている。すなわち、最初にファイルもしくはファイルを分割したデータブロックに対する編集権を取得したユーザのみが独占的にデータの変更を実施し、その他のユーザにはデータの変更を伴う操作を禁止する。これによって、ファイル全体の整合性を維持する方法を採用している。
【０００５】
特許文献１は、編集対象のファイルを複写してユーザに提供し、サーバ装置上で編集結果を統合する方法が用いられている。また、特許文献２は、ファイルを行単位で構成し、各行単位に排他制御を行なうことにより、共有ファイルの同時編集を可能としている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−１８２３６９号公報
【特許文献２】特開２００７−１９３５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ファイルまたはファイルを分割したデータブロック毎にロックをかける排他制御方法は、データブロックの粒度を下げることによって、複数ユーザの編集操作の競合可能性を下げることは可能である。しかし、ロック制御操作のわずらわしさ、編集箇所が競合した場合のユーザの待ち時間の発生が問題となる。
【０００８】
また、ロックされた箇所の編集内容については、編集が完了してロックが解除されるまで編集ユーザ以外のユーザが確認することができない。このため、編集内容に誤り等があった場合でも、他ユーザが指摘することができない。
【０００９】
また、ファイルを共有管理するシステムにおいて、ファイルを最初に編集開始したユーザに編集権を与え、ファイルもしくはファイルを分割したデータブロック単位にクライアント上に配信し、編集を統合するような方式においては、ファイル内容がファイル共有管理システムの管理外に漏洩してしまう危険がある。昨今、電子情報に重要な個人情報等が含まれるケースも多くなってきており、このような方式については、セキュリティの観点から問題がある。
【００１０】
本発明の目的は、上記問題を克服し、以下の内容を実現することである。
（１）同一ファイルに編集が行なわれた結果を、編集というイベントを契機にリアルタイムにユーザ編集画面上に反映し、編集中のユーザが認識することを可能とする。これにより、ユーザがロック制御などの操作を意識することなく、共有ファイルの同時編集を可能とする。
（２）複数ユーザからの同一ファイルに対する編集操作において、ファイル内容の整合性を保持するための排他制御処理を、編集中に競合が発生する可能性のあるタイミングに限定し、かつシステム側で自動的に処理する。
（３）ファイル共有管理システムが管理するファイルのシステム外への漏洩の危険を最小化する。
【課題を解決するための手段】
【００１１】
本発明は、前記の課題を解決するため、サーバ装置上にファイルを配置し、アクセスに応じて編集用データを配置して複数ユーザによる同時参照・編集を可能とし、サーバ装置からクライアント装置に対して編集に必要な画面を表示させる情報のみを提供し、クライアント装置からサーバ装置に画面上での変更内容のみを通知し、編集用データに反映するようにしたファイル共有管理システムである。この、ファイル共有管理システムは、以下に記載する特徴を備える。
（１）複数のユーザが参照・編集するファイルを格納するためのファイル保管用記憶領域を備えたサーバ装置と、複数のクライアント装置をネットワークを介して接続し、ファイルを共有して利用するファイル共有管理システムにおいて、サーバ装置が、クライアント装置からのアクセス要求に応じて、ファイル保管用記憶領域のファイルを編集用データとしてファイル編集用記憶領域に複数ユーザ間で共有して参照・編集可能な状態で配置し、ファイル編集内容が確定した場合は、同一ファイルの別バージョンとしてファイル保管用記憶領域に格納する手段を備え、複数ユーザが同時にサーバ装置上のファイルを参照・編集する。
（２）サーバ装置は、ファイル編集用記憶領域にある編集用データを参照・編集した結果を検知する。画面表示している部分に変更があった場合、サーバ装置は、クライアント装置に画面表示情報を伝送する画面表示情報転送手段を備える。クライアント装置は、サーバ装置から伝送された画面表示情報をファイル画面表示するための画面出力手段を備える。この結果、複数ユーザが同時にサーバ装置上の編集用データの状態をリアルタイムに参照できる。
（３）クライアント装置は、ユーザが画面上で行なったファイル編集操作内容（追加・削除・変更）を入力として受け付ける入力手段と、サーバ装置に転送するファイル編集内容転送手段とを備える。サーバ装置は、複数のユーザが同時にファイルを参照・編集するにあたり、サーバ装置上の編集用データに対する複数のクライアント装置上の編集操作を統合して管理し、複数ユーザ間で編集している箇所が重複している場合のみ、当該ユーザの編集操作を監視して同一箇所への書き込みに対する排他制御を行なって整合性を保つファイル編集手段を備える。このため、複数ユーザが同時にサーバ装置上の共有ファイルを矛盾無く編集することができる。
（４）サーバ装置は、編集用データに対して与えられた編集操作の履歴を全て記録して保存する編集履歴保存手段を持ち、画面上で編集履歴を表示・選択することにより、ユーザの任意の編集内容のみを反映してファイルバージョンを作成する。
【発明の効果】
【００１２】
本発明に拠れば、ユーザに負荷をかけることなく、セキュアに複数のユーザが同一のファイルを同時に参照・編集することが可能なファイル共有管理システムを提供でききる。
【図面の簡単な説明】
【００１３】
【図１】ファイル共有管理システムの全体構成を説明するブロック図である。
【図２】サーバ装置の構成を説明するハードウェアブロック図である。
【図３】クライアント装置の構成を説明するハードウェアブロック図である。
【図４】ファイルアクセス管理テーブルの構成を説明する図である。
【図５】排他制御管理テーブルの構成を説明する図である。
【図６Ａ】ファイルアクセス処理を説明するフローチャート（その１）である。
【図６Ｂ】ファイルアクセス処理を説明するフローチャート（その２）である。
【図７】ファイル変更要求保管テーブルの構成を説明する図である。
【図８】クライアント装置の入出力処理を説明するフローチャートである。
【図９】ファイ編集履歴管理テーブルの構成を説明する図である。
【図１０Ａ】ファイルの参照・編集処理を説明するフローチャート（その１）である。
【図１０Ｂ】ファイルの参照・編集処理を説明するフローチャート（その２）である。
【図１０Ｃ】ファイルの参照・編集処理を説明するフローチャート（その3）である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には、同じ参照番号を振り、説明は繰り返さない。
【００１５】
図１を参照して、ファイル共有管理システムが適用されるサーバ／クライアントシステム５００の構成を説明する。図１において、サーバ／クライアントシステム５００は、ネットワーク１００に接続されたサーバ装置２００と２台のクライアント装置３００とから構成される。
【００１６】
このサーバ／クライアントシステム５００は、サーバ装置２００と、クライアント装置３００とをネットワーク１００を介して接続し、相互間のデータの送受信が可能なように構成されている。サーバ装置２００は、複数のユーザによって共有され、複数のクライアント装置３００からアクセスされる共有ファイル４００を格納している。
【００１７】
図１において、クライアント装置３００は、２台しか示されていないが、実際にはこれ以上のクライアン装置３００がサーバ装置２００と接続される。また、共有ファイル４００についても１ファイルのみしか示していないが、実際には複数の共有ファイルが格納されている。なお、クライアント装置３００を区別するとき、クライアント装置３００−Ａ（Ｂ）またはクライアント装置Ａ（Ｂ）と記載する。
【００１８】
図２を参照して、サーバ装置２００の構成の構成を説明する。図２において、サーバ装置２００は、通信装置２２０と、ＣＰＵ２３０と、記憶装置２１０と、それらを接続するバス２４０とから構成される。記憶装置２１０は、ファイル管理用記憶領域２１１、ファイル編集用記憶領域２１２、ファイルアクセス管理プログラム２１３、ファイルアクセス管理テーブル２１４、排他制御管理テーブル２１５、ファイル編集履歴管理テーブル２１６とか構成される。ファイル管理用記憶領域２１１は、共有ファイル４００を記憶する。
【００１９】
図２おいて、サーバ装置２００全体を制御するＣＰＵ２００は、必要な情報を記憶するためのメモリ、ハードディスク等の記憶装置２１０、外部のネットワーク１００を介するデータ送受信のための通信装置２２０に接続される。ファイル保管用記憶領域２１１は、ネットワークを介して複数のユーザが共通して作成または編集する共有ファイル４００を恒常的に格納する。ファイル編集用記憶領域２１２は、編集用データを配置する。ファイルアクセス管理プログラム２１３とファイルアクセス管理テーブル２１４は、共有ファイル４００に対するアクセスを管理する。排他制御管理テーブル２１５は、共有ファイルへの書込みの排他制御情報を管理する。ファイル編集履歴管理テーブル２１６は、共有ファイル４００に対する編集の履歴を管理する。
【００２０】
図３を参照して、クライアント装置３００の構成を説明する。図３において、クライアント装置３００は、ＣＰＵ３５０と、画面出力装置３２０と、入力装置３３０と、通信装置３４０と、記憶装置３１０と、それらを接続するバス３６０とから構成される。記憶装置３１０は、入力制御プログラム３１１と、ファイル変更要求保管テーブル３１２とを保持する。
【００２１】
クライアント装置３００において、ＣＰＵ３００は、全体を制御する。メモリ、ハードディスク等の記憶装置３１０は、必要な情報を記憶する。ディスプレイなどの画面出力装置３２０は、編集用データを表示する。入力装置３３０は、キーボードやマウスなどである。通信装置３４０は、外部のネットワーク１００を介するデータを送受信する。記憶装置３１０は、サーバ装置２００から伝送されてくる画面表示用の情報を受信して、画面出力装置３２０に表示させる。記憶装置３１０は、入力装置３３０からの入力を受け付けて、画面表示用の情報を変更する。
【００２２】
図４を参照して、ファイルアクセス管理テーブル２１４の構造を説明する。図４において、ファイルアクセス管理テーブル２１４は、ユーザＩＤ １１、クライアント装置ＩＤ １２、編集対象ファイル１３、編集対象バージョン１４、編集用データ識別コード１５、表示範囲開始１６、表示範囲終了１７、誤り検出符号１８で構成される。ファイルアクセス管理テーブル２１４は、どのユーザがどのクライアントから、どのファイルのどの部分を表示しているかを管理する。ユーザＩＤ １１は、文字通りユーザのＩＤである。クライアント装置ＩＤ １２は、クライアント装置のＩＤである。編集対象ファイル１３は、共有ファイルの名称である。編集対象バージョン１４は、編集対象ファイル１３のバージョンである。編集用データ識別コード１５は、編集データに一意に与える識別コードである。表示範囲開始１６と表示範囲終了１７とは、表示の位置座標である。
【００２３】
誤り検出符号１８は、表示データから求めたハッシュ値である。誤り検出符号１８は、表示データと共にクライアント装置３００に伝送される。クライアント装置３００は、表示データからハッシュ値を求め、受信した誤り検出符号１８と比較して、伝送誤りを検出する。なお、この動作は、クライアント装置３００からサーバ装置２００が表示データを受信した場合も、同様である。
【００２４】
図５を参照して、排他制御管理テーブル２１５の構造を説明する。図５において、排他制御管理テーブル２１５は、ユーザＩＤ ２１、クライアント装置ＩＤ ２２、編集用データ識別コード２３、排他制御フラグ２４で構成される。排他制御管理テーブル２１５は、どの編集用データで編集範囲の重複が発生しているかを管理する。ユーザＩＤ ２１は、ユーザのＩＤである。クライアント装置ＩＤ ２２は、クライアント装置のＩＤである。編集用データ識別コード２３は、編集データに一意に与える識別コードである。排他制御フラグ２４は、ＴＲＵＥが排他制御中を表す。また、ＦＡＬＳＥが非排他制御中を表す。ここでは、ユーザＡとユーザＢとが、同じ編集用データ識別コード２３であり、排他制御される。
【００２５】
図６を参照して、サーバ装置２００のファイルアクセス管理プログラム２１３の共有ファイル４００へのアクセスに関する処理を説明する。図６において、ファイルアクセス管理プログラム２１３は、クライアント装置Ａによる共有ファイル４００へのアクセスを受け付ける（Ｓ６０１）。ファイルアクセス管理プログラム２１３は、当該共有ファイルの使用状況（参照または編集）を確認する（Ｓ６０２）。他ユーザが使用していないとき、ファイルアクセス管理プログラム２１３は、ファイル保管用記憶領域２１１からファイル編集用保管記憶領域２１２に共有ファイル４００を複写して編集用データを作成する（Ｓ６０３）。ファイルアクセス管理プログラム２１３は、ファイル編集用保管記憶領域２１２上の編集用データから、クライアント装置Ａが編集する範囲の画面表示情報を取得する（Ｓ６０４）。ファイルアクセス管理プログラム２１３は、画面表示情報をもとに伝送時の誤りチェック用の誤り検知符号１８を生成する（Ｓ６０６）。ファイルアクセス管理プログラム２１３は、ファイルアクセス管理テーブル２１４に、アクセスに関するデータを記録する（Ｓ６０７）。ファイルアクセス管理プログラム２１３は、クライアント装置Ａに画面表示情報を伝送する（Ｓ６０８）。ファイルアクセス管理プログラム２１３は、クライアント装置Ａからの画面表示結果が伝送されてくるのを待つ（Ｓ６０９）。
【００２６】
受信したとき、ファイルアクセス管理プログラム２１３は、クライアント装置Ａから伝送してきた誤り検知符号を比較チェックすることにより、編集用データと画面上の表示内容の同一性を確認する（Ｓ６１１）。一致するとき、ファイルアクセス管理プログラム２１３は、そのまま終了する。ステップ６１１で不一致のとき、ファイルアクセス管理プログラム２１３は、エラー処理を実施して（Ｓ６１２）、終了する。
【００２７】
図６Ｂに移って、ステップ６０２で他のクライアント装置が使用しているとき、ファイルアクセス管理プログラム２１３は、編集範囲が重複しているか判定する（Ｓ６１３）。重複しているとき、ファイルアクセス管理プログラム２１３は、範囲が重複するクライアント装置からのファイル変更要求に対してのみ編集用データの変更に対する排他制御を実施する必要があるため、排他制御管理テーブル２１５に、編集範囲が重複している全てのユーザの編集範囲情報を登録して（Ｓ６１４）、ステップ６１６に遷移する。ステップ６１３で重複しないとき、およびステップ６１４に続いて、ファイルアクセス管理プログラム２１３は、同じ編集用データが複数ユーザにより参照されていることを通知するための情報を生成する（Ｓ６１６）。ファイルアクセス管理プログラム２１３は、クライアント装置Ａが編集する範囲の画面表示情報を取得する（Ｓ６１７）。ファイルアクセス管理プログラム２１３は、生成した重複編集通知情報を画面表示情報に追加する（Ｓ６１８）。ファイルアクセス管理プログラム２１３は、画面表示情報をもとに伝送時の誤りチェック用の誤り検知符号を生成する（Ｓ６１９）。ファイルアクセス管理プログラム２１３は、ファイルアクセス管理テーブル２１４にアクセスに関するデータを記録して（Ｓ６２１）、ステップ６０８に遷移する。
【００２８】
図７を参照して、ファイル変更要求保管テーブル３１２の構造を説明する。図７において、ファイル変更要求保管テーブル３１２は、ユーザＩＤ ３１、クライアント装置ＩＤ ３２、編集時刻３３、編集用データ識別コード３４、変更前開始点３５、変更前終了点３６、変更後開始点３７、変更後終了点３８、変更内容３９、誤り検出符号３Ａから構成される。ファイル変更要求保管テーブル３１２は、同一の編集データに対して、同時に複数の矛盾した編集が発生して変更要求が棄却されたような場合でも、変更内容自体を保存しておくためのものである。ユーザＩＤ ３１は、変更を要求したユーザのＩＤである。クライアント装置ＩＤ ３２は、変更を要求したクライアント装置３００のＩＤである。編集時刻３３は、変更要求時刻である。編集用データ識別コード３４は、編集データに一意に与える識別コードである。変更前開始点３５と変更前終了点３６とは、受信した表示の位置座標である。変更後開始点３７と変更後終了点３８とは、変更要求時の表示の位置座標である。変更内容３９は、変更内容である。誤り検出符号３Ａは、変更要求表示データから求めたハッシュ値である。
【００２９】
図８を参照して、クライアント装置３００の入出力制御プログラム３１１の入力の受け付け及び出力の生成処理を説明する。図８において、入出力制御プログラム３１１は、入力を契機として動作する。入出力制御プログラム３１１は、入力を受け付ける（Ｓ８０１）。入出力制御プログラム３１１は、入力元を判定する（Ｓ８０２）。入力がサーバ装置２００から伝送されてきた画面表示情報であった場合、入出力制御プログラム３１１は、その情報を元にユーザの編集用画面を生成する（Ｓ８０３）。入出力制御プログラム３１１は、画面出力装置３２０で出力を行なうよう指示する（Ｓ８０４）。その後、入出力制御プログラム３１１は、画面出力装置３２０上の表示の完了を確認する（Ｓ８０６）。入出力制御プログラム３１１は、表示された画面情報を元に誤り検知符号を生成する（Ｓ８０７）。入出力制御プログラム３１１は、この誤り検知符号を通信装置３４０を介して伝送することで、サーバ装置２００に画面表示完了を通知して（Ｓ８０８）、終了する。
【００３０】
クライアント装置３００上の入力装置から、編集用データの表示範囲変更もしくは内容変更を受け付けた場合、入出力制御プログラム３１１は、編集ファイルに対する変更要求（要求元ユーザ、要求元クライアント装置、ファイル変更内容、座標変更内容、誤り検知符号）を生成する（Ｓ８０９）。入出力制御プログラム３１１は、その変更要求情報をファイル変更要求保管テーブル３１２に記録する（Ｓ８１１）。入出力制御プログラム３１１は、通信装置３４０を介してファイルアクセス管理プログラム２１３に伝送して（Ｓ８１２）、終了する。
【００３１】
図９を参照して、ファイル編集履歴管理テーブル２１６の構造を説明する。図９において、ファイル編集履歴管理テーブル２１６は、ユーザＩＤ ４１、クライアント装置ＩＤ ４２、編集時刻４３、編集用データ識別コード４４、変更前開始点４５、変更前終了点４６、変更後開始点４７、変更後終了点４８、変更内容４９、反映状況４Ａから構成される。ファイル編集履歴管理テーブル２１６は、これらの情報をサーバ装置２００側で時系列に保存する。この結果、ファイル編集履歴管理テーブル２１６は、どのユーザがどのファイルに対してどのような操作を行ない、どのような操作が反映されたのか、また反映を待っているのかを管理する。
【００３２】
ユーザＩＤ ４１は、変更を要求したユーザのＩＤである。クライアント装置ＩＤ ４２は、変更を要求したクライアント装置３００のＩＤである。編集時刻４３は、変更要求を受信した時刻である。編集用データ識別コード４４は、編集データに一意に与える識別コードである。変更前開始点４５と変更前終了点４６とは、変更前の表示の位置座標である。変更後開始点３７と変更後終了点３８とは、変更要求時の表示の位置座標である。変更内容４９は、具体的な変更内容である。反映状況４Ａは、「完了」「予約」「棄却」の区分を記載する。
【００３３】
図１０を参照して、サーバ装置２００のファイルアクセス管理プログラム２１３の編集用データの変更処理を説明する。図１０において、ファイルアクセス管理プログラム２１３は、ファイル変更要求を受け取る（Ｓ７０１）。ファイルアクセス管理プログラム２１３は、まず編集ファイルに対する変更要求（要求元ユーザ、要求元クライアント装置、編集用データ識別コード、座標変更内容、ファイル変更内容、反映状況）をファイル編集履歴管理テーブル２１６に記録する（Ｓ７０２）。次に、ファイルアクセス管理プログラム２１３は、ファイル変更要求元のクライアント装置３００が、排他制御対象となっているかどうかを判定する（Ｓ７０３）。
【００３４】
ファイル変更要求元のクライアント装置３００が排他制御対象ではない場合、ファイルアクセス管理プログラム２１３は、次いでファイル編集用保管記憶領域２１２上の編集用データに変更内容を反映する（Ｓ７０４）。ファイルアクセス管理プログラム２１３は、ファイル編集履歴管理テーブルのレコードの反映状況を「完了」とする（Ｓ７０５）。
【００３５】
ファイルアクセス管理プログラム２１３は、ファイル編集用保管記憶領域上の編集用データから、ファイル変更要求元のクライアント装置が編集する範囲の画面表示情報を取得する（Ｓ７０７）。ファイルアクセス管理プログラム２１３は、この画面表示情報をもとに伝送時の誤りチェック用の誤り検知符号を生成する（Ｓ７０８）。ファイルアクセス管理プログラム２１３は、ファイルアクセス管理テーブルに、アクセスに関するデータを更新する（Ｓ７０９）。ファイルアクセス管理プログラム２１３は、ファイル変更要求元クライアント装置に画面表示情報を伝送する（Ｓ７１１）。ファイルアクセス管理プログラム２１３は、ファイル変更要求元クライアント装置からの画面表示結果が伝送されてくるのを待つ（Ｓ７１２）。
【００３６】
画面表示結果を受信したとき、ファイルアクセス管理プログラム２１３は、ファイル変更要求元クライアント装置から伝送してきた誤り検知符号を比較チェックすることにより、編集用データと画面上の表示内容の同一性を確認して（Ｓ７１３）、処理を終了する。同一性が確認できなかった場合は、同一性を保持するためのエラー処理（再表示、エラー表示など）を実施して（Ｓ７１４）、処理を終了する。
【００３７】
ステップ７０３で、ファイル変更要求元のクライアント装置が排他制御対象である場合、ファイルアクセス管理プログラム２１３は、排他制御管理テーブル２１５内の排他制御フラグを確認し、すでにファイル変更処理が実行されているかどうかを判定する（Ｓ７１６）。他のファイル変更処理が実行されている場合、図１０Ｂにおいて、当該変更要求のファイル編集履歴管理テーブルの処理状況を予約に変更して（Ｓ７３３）、処理を終了する。
【００３８】
図１０Ａに戻って、ステップ７１６で他の書込み処理が実行されていない場合、ファイルアクセス管理プログラム２１３は、排他制御管理テーブル２１５内の排他制御中を示すフラグ（「ＴＲＵＥ」）を設定する（Ｓ７１７）。ファイルアクセス管理プログラム２１３は、編集用データに対する書込み処理を実行する（Ｓ７１８）。ファイル変更処理が終了したとき、ファイルアクセス管理プログラム２１３は、ファイル編集履歴管理テーブルのレコードの反映状況を完了とする（Ｓ７１９）。ファイルアクセス管理プログラム２１３は、ファイル編集履歴管理テーブルを確認して、同一範囲へのファイル変更予約の有無を判定する（Ｓ７２１）。
【００３９】
同一範囲への書込み予約が無い場合、ファイルアクセス管理プログラム２１３は、排他制御管理テーブルから、編集データの同一範囲を参照している全てのクライアント装置を取得する（Ｓ７２２）。ファイルアクセス管理プログラム２１３は、これらのクライアント装置に対して画面表示情報を作成する（Ｓ７２３）。ファイルアクセス管理プログラム２１３は、誤り検知符号を生成する（Ｓ７２４）。ファイルアクセス管理プログラム２１３は、ファイルアクセス管理テーブルに、アクセスに関するデータを更新する（Ｓ７２６）。ファイルアクセス管理プログラム２１３は、クライアント装置に対して画面表示情報を伝送する（Ｓ７２７）。その後、ファイルアクセス管理プログラム２１３は、クライアント装置からの画面表示結果を待つ（Ｓ７２８）。
【００４０】
画面表示結果を受信したとき、ファイルアクセス管理プログラム２１３は、応答の誤り検知符号を比較チェックすることにより、編集用データと画面上の表示内容の同一性を確認する（Ｓ７２９）。一致したとき、ファイルアクセス管理プログラム２１３は、排他制御中を示すフラグを「ＦＡＬＳＥ」に設定し（Ｓ７３１）、処理を終了する。同一性が確認できなかった場合、ファイルアクセス管理プログラム２１３は、同一性を保持するためのエラー処理（再表示、エラー表示など）を実施して（Ｓ７３１）、ステップ７３１に遷移する。
【００４１】
ステップ７２１で、後続するファイル変更処理が予約されていた場合、図１０Ｃにおいて、ファイルアクセス管理プログラム２１３は、後続するファイル変更要求を時系列に取得する（Ｓ７３４）。ファイルアクセス管理プログラム２１３は、現在実行中のファイル変更処理の内容と、次のファイル変更処理が矛盾を生じる内容かどうかを確認する（Ｓ７３６）。矛盾が発生しない書き込みである場合、ファイルアクセス管理プログラム２１３は、ファイル変更要求の内容を編集用データに反映する（Ｓ７３７）。ファイルアクセス管理プログラム２１３は、ファイル編集履歴管理テーブル２１６の当該レコードの反映状況を「完了」として（Ｓ７３８）、図１０Ａのステップ７２１に遷移する。
【００４２】
矛盾が生じる内容であった場合は、ファイルアクセス管理プログラム２１３は、ファイル変更要求を棄却する（Ｓ７３９）。ファイルアクセス管理プログラム２１３は、変更が受け付けられなかった旨をファイル変更要求元クライアント装置に通知する情報を作成して（Ｓ７４１）、再度ステップ７２１の処理に戻る。
【００４３】
ファイル共有管理システムにおける複数ユーザが同時に編集用データを参照・編集している状態で、あるユーザが編集操作を終了する場合の、ファイル保存方法について説明する。
【００４４】
ファイル共有管理システムにおいては、ユーザが参照・編集しているデータはあくまで編集用に提供するものであり、ユーザがファイルオープンした時点の情報と、ユーザの操作履歴が全てファイル共有管理システム上に保持されている。そのため、編集操作終了時、編集結果を確定して新たにファイルとして保存する場合に、以下の選択肢を持つ。
（１）その時点での編集用データを、新しいバージョンとして保存する。
（２）そのユーザが編集した内容のみを開いた時点のファイルに反映し、新しいバージョンのファイルを作成する。
（３）開いた時点のファイルから、編集された内容を選択して反映、新しいバージョンのファイルを作成する
（４）そのユーザが編集内容の確定をせず、他ユーザの確定操作に委ねる。
【００４５】
このように、本実施例によるファイル共有管理システムによれば、共有ファイル４００という同一のファイルに対して複数のアクセスがあった場合でも、ファイルアクセス管理プログラム２１３が各クライアントでの画面表示状況を管理し、ファイル変更要求があった場合にはファイルへの反映を行なうと同時に画面表示の変更が必要なクライアントの画面を更新し、リアルタイムにファイルの更新状況を共有することができる。
【００４６】
また、同一のファイルの同一箇所に対する変更アクセスがあった場合でも、システム側で自動的に排他制御を行なうことによって整合性を維持し、競合が発生したもののみ通知することにより、ユーザはほとんど排他制御を意識することなく共有ファイルを同時に参照・編集することが可能となる。
【００４７】
上述した実施例に拠れば、以下の効果を享受できる。
（１）ファイルの全体をサーバ上で管理し、複数ユーザから編集操作を排他的に管理、反映することにより、ユーザがロック制御などの操作を意識することなく、整合性を保持することができる。
（２）同一ファイルへの編集結果をリアルタイムに反映し、編集中のユーザが認識することができる。この結果、複数のユーザが共有ファイルの編集状況をリアルタイムに確認することができる。また、編集履歴が全て保存されているため、同一ファイルに対する複数ユーザによる編集操作を後からトレースし、必要な編集内容のみを反映させたファイルも作成することができる。
（３）画面表示に必要な最低限の情報のみをクライアント装置に送信し、クライアント装置上にデータを保存しないため、共有ファイルがファイル管理共有システムの管理外に流出することを防止することができる。
【符号の説明】
【００４８】
１００…ネットワーク、２００…サーバ装置、３００…クライアント装置、４００…共有ファイル、２１０…記憶装置、２１１…ファイル保管用記憶領域、２１２…ファイル編集用記憶領域、２１３…ファイルアクセス管理プログラム、２１４…ファイルアクセス管理テーブル、２１５…排他制御管理テーブル、２１６…ファイル編集履歴管理テーブル、２２０…通信装置、２３０…ＣＰＵ、２４０…バス、３１０…記憶装置、３１１…入出力制御プログラム、３１２…ファイル変更要求保管テーブル、３２０…画面出力装置、３３０…入力装置、３４０…通信装置、３５０…ＣＰＵ、３６０…バス、５００…サーバ／クライアントシステム。
【図１】
2011141814.tif 000003
【図２】
2011141814.tif 000004
【図３】
2011141814.tif 000005
【図４】
2011141814.tif 000006
【図５】
2011141814.tif 000007
【図６Ａ】
2011141814.tif 000008
【図６Ｂ】
2011141814.tif 000009
【図７】
2011141814.tif 000010
【図８】
2011141814.tif 000011
【図９】
2011141814.tif 000012
【図１０Ａ】
2011141814.tif 000013
【図１０Ｂ】
2011141814.tif 000014
【図１０Ｃ】
2011141814.tif 000015