JP5373723B2 - Shared file management system, control method thereof, and program - Google Patents
Shared file management system, control method thereof, and program Download PDFInfo
- Publication number
- JP5373723B2 JP5373723B2 JP2010200846A JP2010200846A JP5373723B2 JP 5373723 B2 JP5373723 B2 JP 5373723B2 JP 2010200846 A JP2010200846 A JP 2010200846A JP 2010200846 A JP2010200846 A JP 2010200846A JP 5373723 B2 JP5373723 B2 JP 5373723B2
- Authority
- JP
- Japan
- Prior art keywords
- shared file
- client
- editing
- state
- clients
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
- G06F16/1774—Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Description
本発明は、共有ファイル管理システム、その制御方法、およびプログラムに関し、特に、サーバ、複数のクライアント、およびこれらを相互に接続するネットワークから成り、前記サーバは前記複数のクライアントの各々がアクセス可能な共有ファイルを格納する共有ファイル管理システム、その制御方法、およびプログラムに関する。 The present invention relates to a shared file management system, a control method therefor, and a program, and in particular, includes a server, a plurality of clients, and a network that interconnects them, and the server is accessible to each of the plurality of clients. The present invention relates to a shared file management system for storing files, a control method therefor, and a program.
従来、サーバに格納された一つの共有ファイルを複数のクライアントで共有しながら編集する場合、一のクライアントにて共有ファイルを編集するときにはこの共有ファイルを他のクライアントで編集できない状態(以下、「ロック状態」という。)とし、一のクライアントにて共有ファイルの編集が終了したのを確認してから他の共有クライアントで編集できる状態(以下、「アンロック状態」という。)とするのが一般的である。ここで、共有ファイルを読み出して編集するときにこの共有ファイルをロック状態とする作業を「チェックアウト」、共有ファイルの編集を終了してこの共有ファイルをアンロック状態とする作業を「チェックイン」という。 Conventionally, when editing a shared file stored on a server while sharing it with multiple clients, when editing the shared file with one client, the shared file cannot be edited with other clients (hereinafter referred to as “lock”). In general, it is assumed that the editing of the shared file has been completed on one client, and that it can be edited on another shared client (hereinafter referred to as the “unlocked state”). It is. Here, when checking out a shared file and editing it, "Check out" is the work that locks this shared file, and "Check in" is the work that finishes editing the shared file and unlocks this shared file. That's it.
このような方法では、一つの共有ファイルを複数のクライアントが同時に編集してデータの不整合を生じてしまうことはないものの、一のクライアントが共有ファイルを長時間にわたって編集していると他のクライアントはこの共有ファイルの編集を行なうことができず、非効率的であった。 In this method, multiple clients can edit one shared file at the same time without causing data inconsistency. However, if one client is editing a shared file for a long time, Was unable to edit this shared file and was inefficient.
これに対し、一つの共有ファイルを複数の部分領域に分け、その部分領域ごとにクライアントによるアクセスを管理する技術が提案されている(たとえば、特許文献1参照)。この技術では、共有ファイルのうちある部分領域を編集するためにその部分領域にアクセスしたとしても、その部分領域がすでに一のクライアントによりロック状態とされている場合があり、この場合には他のクライアントは該当する部分領域を編集することはできず、仮にアクセスできたとしても編集はできない読み取り専用モードでのアクセスを余儀なくされてしまう。したがって、一のクライアントにてこの共有ファイルを編集しているユーザは、このような問題を生じることのないよう、共有ファイルの編集をしているときにはチェックイン・チェックアウトを念頭に入れなければならない。 In contrast, a technique has been proposed in which one shared file is divided into a plurality of partial areas, and access by a client is managed for each partial area (see, for example, Patent Document 1). In this technology, even when a partial area of a shared file is accessed for editing, the partial area may already be locked by one client. The client cannot edit the corresponding partial area, and even if it can be accessed, the client is forced to access in a read-only mode where editing is not possible. Therefore, users editing this shared file on one client must keep in mind check-in and check-out when editing the shared file so that this problem does not occur. .
しかしながら、共有ファイルの編集に携わるすべてのユーザがチェックイン・チェックアウトを行なうことに慣れているわけではないため、共有ファイルを編集すべくチェックアウトしたユーザが編集作業を終了した後にチェックインをするのを忘れてしまう場合がある。また、サーバや編集作業をしていたクライアント、またはこれらを接続するネットワークがダウンすることに伴い共有ファイルがチェックインされないまま放置される場合もある。このような場合、編集作業が終わっていたとしても共有ファイルがロック状態のまま長時間にわたって放置されることとなり、共有ファイルを効率よく管理することができなかった。 However, not all users involved in editing shared files are accustomed to checking in and checking out, so users who check out to edit shared files check in after editing You may forget. In some cases, the shared file may be left unchecked as the server, the client that was editing, or the network that connects them goes down. In such a case, even if the editing work is finished, the shared file is left in a locked state for a long time, and the shared file cannot be managed efficiently.
本発明は、上述した課題を解決するためになされたものであり、より効率よく共有ファイルを管理することのできる共有ファイル管理システム、共有ファイル管理システムの制御方法、およびプログラムを提供することを目的とする。 The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a shared file management system, a control method for the shared file management system, and a program capable of managing shared files more efficiently. And
本発明に係る共有ファイル管理システムは、複数のクライアントの各々がネットワークを介してアクセス可能な共有ファイルについて、一のクライアントの編集開始要求に基づいてこの一のクライアントのみが前記共有ファイルを編集できるロック状態とするとともに、前記一のクライアントからの編集終了要求に基づいて前記共有ファイルをロック状態が解除されたアンロック状態とする状態制御手段と、前記共有ファイルがロック状態またはアンロック状態であるかを表わす状態情報を記憶する状態情報記憶手段と、前記状態情報記憶手段に記憶された前記共有ファイルの状態情報を前記複数のクライアントの各々に出力させる状態情報出力手段とを備えることを特徴とする。 The shared file management system according to the present invention locks a shared file that can be accessed by each of a plurality of clients via a network so that only the one client can edit the shared file based on an editing start request of the one client. State control means for setting the shared file to the unlocked state in which the locked state is released based on the editing end request from the one client, and whether the shared file is in the locked state or the unlocked state Status information storage means for storing status information representing the status information, and status information output means for outputting status information of the shared file stored in the status information storage means to each of the plurality of clients. .
前記状態制御手段は、前記一のクライアントから前記編集終了要求がなされた後、この編集終了要求がなされて所定時間が経過するまでに、前記一のクライアントから前記編集開始要求がなされない場合にはこの共有ファイルをアンロック状態とし、前記一のクライアントから前記編集開始要求がなされた場合にはこの共有ファイルをロック状態とする。 Before SL state control means, after said editing termination request from one client has been made, this edit termination request is made until the predetermined time elapses, when said editing start request from a client is not made this shared file and unlock state, said in the case of the editing start request from one client has been made you this shared file and the locked state.
さらに、 前記複数のクライアントの各々は、前記複数のクライアントのうち前記共有ファイルを編集している前記一のクライアントと前記ネットワークを介して通信する通信手段をさらに備えるものとしてもよい。 Further, each of the plurality of clients may further include a communication unit that communicates with the one client that is editing the shared file among the plurality of clients via the network.
また、ロック状態とされた前記共有ファイルに対する他のクライアントからの編集開始要求を予め受け付け、前記状態制御手段に前記共有ファイルがアンロック状態となり次第この共有ファイルをロック状態として前記他のクライアントのみにその共有ファイルを編集させる予約手段をさらに備えるものとしてもよい。 Further, an editing start request from another client for the shared file in the locked state is received in advance, and when the shared file becomes unlocked in the state control means, the shared file is set to the locked state and only to the other client. Reservation means for editing the shared file may be further provided.
さらに、前記共有ファイルが前記ロック状態とされてからの経過時間が閾値に達したときには、この共有ファイルを強制的に前記アンロック状態とする強制終了手段をさらに備えるものとしてもよい。 Furthermore, it may be further provided with forcible ending means for forcibly setting the shared file in the unlocked state when an elapsed time after the shared file is set in the locked state reaches a threshold value.
本発明に係る共有ファイル管理システムの制御方法は、複数のクライアントの各々がネットワークを介してアクセス可能な共有ファイルについて、前記複数のクライアントのうち一のクライアントの編集開始要求または編集終了要求に基づいてそれぞれこの一のクライアントのみが前記共有ファイルを編集できるロック状態またはこのロック状態が解除されたアンロック状態とする状態制御ステップと、前記共有ファイルが前記ロック状態または前記アンロック状態であるかを少なくとも含む状態情報を記憶手段に記憶するステップと、前記記憶手段に記憶された前記共有ファイルの状態情報を前記複数のクライアントの各々に出力させるステップとを備え、前記状態制御ステップは、前記一のクライアントから前記編集終了要求がなされた後、この編集終了要求がなされて所定時間が経過するまでに、前記一のクライアントから前記編集開始要求がなされない場合にはこの共有ファイルをアンロック状態とし、前記一のクライアントから前記編集開始要求がなされた場合にはこの共有ファイルをロック状態とすることを特徴とする。 The shared file management system control method according to the present invention is based on an edit start request or an edit end request of one of the plurality of clients for a shared file that can be accessed by each of the plurality of clients via a network. A state control step in which only the one client can edit the shared file or an unlocked state in which the locked state is released; and at least whether the shared file is in the locked state or the unlocked state Storing state information in a storage unit; and outputting the state information of the shared file stored in the storage unit to each of the plurality of clients , wherein the state control step includes the one client The editing end request was made from When the editing start request is not made from the one client before the editing end request is made and the predetermined time elapses, the shared file is unlocked, and the editing start request is sent from the one client. wherein the locked state and to Rukoto this shared file when made.
本発明に係るプログラムは、複数のクライアントの各々がネットワークを介してアクセス可能な共有ファイルについて、前記複数のクライアントのうち一のクライアントの編集開始要求または編集終了要求に基づいてそれぞれこの一のクライアントのみが前記共有ファイルを編集できるロック状態またはこのロック状態が解除されたアンロック状態とする状態制御機能と、前記共有ファイルが前記ロック状態または前記アンロック状態であるかを少なくとも含む状態情報を記憶手段に記憶する機能、前記記憶手段に記憶された前記共有ファイルの状態情報を前記複数のクライアントの各々に出力させる機能とをコンピュータに実現させ、前記状態制御機能は、前記一のクライアントから前記編集終了要求がなされた後、この編集終了要求がなされて所定時間が経過するまでに、前記一のクライアントから前記編集開始要求がなされない場合にはこの共有ファイルをアンロック状態とし、前記一のクライアントから前記編集開始要求がなされた場合にはこの共有ファイルをロック状態とすることを特徴とする。 The program according to the present invention relates to a shared file that can be accessed by each of a plurality of clients via a network based on an edit start request or an edit end request of one of the plurality of clients. Storing state information including at least a state control function for setting the lock state in which the shared file can be edited or the unlock state in which the lock state is released, and whether the shared file is in the lock state or the unlock state And a function for causing each of the plurality of clients to output status information of the shared file stored in the storage means, and the status control function is configured to terminate the editing from the one client. After the request is made, this edit termination request is not made. When the editing start request is not made from the one client before the predetermined time elapses, the shared file is unlocked, and when the editing start request is made from the one client, a shared file and wherein the lock state and be Rukoto.
本発明によれば、共有ファイルがロック状態またはアンロック状態であるかを少なくとも含む状態情報を記憶し、共有ファイルの状態情報を複数のクライアントの各々に出力させることにより、クライアントを操作しているユーザは、共有ファイルが他のユーザによって編集中であるか否かを容易に把握することができるので、共有ファイルをより効率的に管理することができる。 According to the present invention, the state information including at least whether the shared file is in the locked state or the unlocked state is stored, and the client is operated by causing each of the plurality of clients to output the state information of the shared file. Since the user can easily grasp whether or not the shared file is being edited by another user, the shared file can be managed more efficiently.
また、共有ファイルを編集しているクライアントから編集終了要求がなされたときには、この編集終了要求がなされて所定時間が経過するのを待ってからこの共有ファイルをアンロック状態とすることにより、共有ファイルを編集しているクライアントが誤って編集終了要求をしたときでも、そのクライアントがその所定時間の間に再び編集開始要求をすれば、その共有ファイルが他のクライアントによってロック状態とされてしまうことを防ぐことができる。 Also, when an editing end request is made from a client editing a shared file, the shared file is unlocked after waiting for a predetermined time after the editing end request is made. Even if the client that is editing the file accidentally requests to end editing, if that client requests to start editing again during the predetermined time, the shared file will be locked by another client. Can be prevented.
さらに、複数のクライアントの各々が、クライアントのうち共有ファイルを編集しているものとの間でネットワークを介して連絡を取ることができるので、共有ファイルの編集を希望するクライアント同士で交渉をすることができる。これにより、共有ファイルの管理をより効率的に行なうことができる。 In addition, each of the clients can communicate with the client editing the shared file via the network, so that the clients who want to edit the shared file negotiate with each other. Can do. This makes it possible to manage shared files more efficiently.
また、共有ファイルがロック状態であるときに複数のクライアントのいずれかから編集開始要求があったときには、この共有ファイルがアンロック状態となり次第このクライアントが編集できるよう予約を行なうことにより、この共有ファイルの編集作業を効率よく行なうことができる。 In addition, when an editing start request is issued from any of a plurality of clients when the shared file is in the locked state, the shared file is reserved for editing by the client as soon as the shared file becomes unlocked. Can be efficiently performed.
さらに、共有ファイルがロック状態とされてからの経過時間が閾値に達したときには、この共有ファイルをアンロック状態としてこの共有ファイルの編集作業を強制的に終了させることにより、共有ファイルがあるクライアントによって長時間にわたって編集されて、他のクライアントが編集することができなくなることを抑制できる。 Further, when the elapsed time after the shared file is set to the locked state reaches a threshold value, the shared file is unlocked and the editing operation of the shared file is forcibly ended by the client having the shared file. It can be prevented that other clients cannot be edited after being edited for a long time.
次に、本発明の実施の形態について図面を参照しながら詳細に説明する。なお、各図において、同一の構成要素に対して同一の符号を付している。 Next, embodiments of the present invention will be described in detail with reference to the drawings. In each figure, the same numerals are given to the same component.
[実施の形態]
まず、図1〜3を参照して、本発明の実施の形態に係る共有ファイル管理システム100の構成を説明する。本実施の形態に係る共有ファイル管理システム100は、図1に示すように、サーバ10と、N台のクライアント20(20−1〜20−N)と、これらを相互に接続するLAN(Local Area Network)30とから構成されている。
[Embodiment]
First, the configuration of the shared
このうち、サーバ10は、図示しない、CPU、記憶装置、入出力装置、および通信インターフェースを備え、機能的には、図2に示すように、記憶部11、状態制御部12、状態情報記憶部13、予約部14、状態情報出力部15、強制終了部16、および通信部17という各機能部を備えている。
記憶部11は、クライアント20(20−1〜20−N)の各々がアクセス可能な共有ファイルなどのデータを格納するものである。ここで、共有ファイルとは、複数のコンピュータ(クライアント20)の各々がネットワーク(LAN30)を介してアクセスできるファイルのことをいう。
状態制御部12は、クライアント20からの編集開始要求に応じて共有ファイルをクライアント20−1〜20−Nのうち一のクライアントしか編集することができないロック状態にしたり、そのクライアントからの編集終了要求に応じてその共有ファイルのロック状態が解除されたアンロック状態とするものである。
状態情報記憶部13は、記憶部11に記憶された共有ファイルがロック状態であるかアンロック状態であるかを含む共有ファイルの状態情報を記憶するものである。
予約部14は、ロック状態とされている共有ファイルに対してクライアント20から編集開始要求があったときに、その共有ファイルのロック状態が解除され次第そのクライアント20が編集できるよう予約を行なうものである。
状態情報出力部15は、状態情報記憶部13に記憶されている状態情報を読み出してクライアント20に出力させるものである。
強制終了部16は、共有ファイルがクライアント20−1〜20−Nのうち一のクライアントによりチェックアウトされてロック状態のまま長時間(たとえば、10時間や20時間など)が経過したときには、その共有ファイルを強制的にアンロック状態とするものである。
通信部17は、LAN30を介してクライアント20−1〜20−Nと間で通信を行う機能を実現する。
Among these, the
The storage unit 11 stores data such as a shared file that can be accessed by each of the clients 20 (20-1 to 20-N). Here, the shared file refers to a file that can be accessed by each of a plurality of computers (clients 20) via a network (LAN 30).
In response to an editing start request from the
The state information storage unit 13 stores state information of a shared file including whether the shared file stored in the storage unit 11 is in a locked state or an unlocked state.
The
The status
When the shared file is checked out by one of the clients 20-1 to 20-N and a locked state has passed for a long time (for example, 10 hours or 20 hours), the forced termination unit 16 The file is forced to be unlocked.
The
一方、クライアント20は、図示しない、CPU、記憶装置、入出力装置、および通信インターフェースを備え、機能的には、図3に示すように、表示部21、操作部22、および通信連絡部23を備えている。
表示部21は、ディスプレイ装置など、各種画面を表示するものである。
操作部22は、キーボードやマウスなど、ユーザの操作に基づいて、文字や数字、記号、方向などの信号をクライアント20が備える図示しないCPUへと入力するものである。
通信連絡部23は、LAN30を介してサーバ10や他のクライアント20との間で通信を行なう機能を実現するものである。
On the other hand, the
The
The operation unit 22 inputs signals such as characters, numbers, symbols, and directions to a CPU (not shown) provided in the
The
次に、状態情報記憶部13が記憶する共有ファイルの状態情報について説明する。
図4は、状態情報記憶部13が格納する共有ファイル管理テーブルの構造の一例を示す図である。状態情報記憶部13が格納する共有ファイル管理テーブルは、図4に示すように、「共有ファイルID」、「フラグF1」、「編集者ID」、「フラグF2」、「予約者ID」、および「更新時刻」というフィールドからなるレコードを含んでいる。
「共有ファイルID」は、共有ファイルを一意に特定するためのIDであり、たとえば各共有ファイルのパスや各共有ファイルに対して一意に付された文字列などを用いることができる。
「フラグF1」は、対応する共有ファイルがクライアント20によって編集がなされているか否か、すなわちその共有ファイルがロック状態であるかアンロック状態であるかを示すものである。具体的には、その共有ファイルがアンロック状態であるときには値「0」が入力され、ロック状態であるときには値「1」が入力される。
「編集者ID」は、該当する共有ファイルが編集中であるときに、その共有ファイルを編集しているクライアントを一意に特定するためのIDを示すものであり、たとえばクライアントのIPアドレスや、MACアドレス、認証したユーザ名などが入力される。このため、「フラグF1」の値が「1」であるときには、「編集者ID」によって特定されるクライアント20以外の他のクライアント20はその共有ファイルを編集することができない。なお、この共有ファイルが編集中ではないときには「フラグF1」の値は「0」、「編集者ID」のフィールドの値はNULLとなる。
「フラグF2」は、その共有ファイルがあるクライアントによって編集中であるとき、すなわち「フラグF1」の値が「1」とされてロック状態となっているときに、他のクライアントが次に編集する権利の予約をしているか否かを示すものである。具体的には、その共有ファイルが予約されてないときには値「0」が入力され、すでに予約済みであるときには値「1」が入力される。
「予約者ID」は、この共有ファイルの編集権が予約されているときに、その共有ファイルの編集権を予約しているクライアントを一意に特定するためのIDを示すものであり、たとえばクライアントのIPアドレスや、MACアドレス、認証したユーザ名などが入力される。したがって、この「フラグF2」の値が「1」である共有ファイルについて、編集作業が終了してそのロック状態が解除され次第、「予約者ID」により特定されるクライアント20がその共有ファイルを編集することができることになる。なお、この共有ファイルが予約がなされていなければ、「フラグF2」の値は「0」、「予約者ID」のフィールドの値はNULLとなる。
「更新時刻」は、該当するレコードに対応する共有ファイルの編集作業を開始した時刻、または編集作業の途中に保存された共有ファイルにあっては最後に保存された時刻を示すものである。これは、強制終了部16が、共有ファイルがロック状態のまま長時間が経過したか否かを調べる際に用いられる。なお、該当するレコードに対応する共有ファイルが編集中でないときには、このフィールドの値はNULLとなる。
状態情報記憶部13は、この共有ファイル管理テーブルにデータを入力することによって共有ファイルの状態情報を記憶しているのである。
Next, the shared file status information stored in the status information storage unit 13 will be described.
FIG. 4 is a diagram illustrating an example of the structure of the shared file management table stored in the state information storage unit 13. As shown in FIG. 4, the shared file management table stored in the state information storage unit 13 includes a “shared file ID”, “flag F1”, “editor ID”, “flag F2”, “reserver ID”, and It contains a record consisting of a field called “update time”.
The “shared file ID” is an ID for uniquely identifying the shared file, and for example, a path of each shared file or a character string uniquely assigned to each shared file can be used.
The “flag F1” indicates whether or not the corresponding shared file has been edited by the
“Editor ID” indicates an ID for uniquely identifying the client who is editing the shared file when the corresponding shared file is being edited. For example, the IP address of the client, the MAC Address, authenticated user name, etc. are entered. For this reason, when the value of the “flag F1” is “1”,
The “flag F2” is edited by another client when the shared file is being edited by a client, that is, when the value of the “flag F1” is set to “1” and is locked. It indicates whether or not a right is reserved. Specifically, the value “0” is input when the shared file is not reserved, and the value “1” is input when the shared file has already been reserved.
“Reserver ID” indicates an ID for uniquely identifying the client who reserves the editing right of the shared file when the editing right of the shared file is reserved. An IP address, a MAC address, an authenticated user name, and the like are input. Therefore, as for the shared file whose “flag F2” value is “1”, as soon as the editing operation is finished and the locked state is released, the
The “update time” indicates the time when the editing operation of the shared file corresponding to the corresponding record is started, or the last saving time in the case of the shared file stored during the editing operation. This is used when the forced termination unit 16 checks whether a long time has passed with the shared file being locked. When the shared file corresponding to the corresponding record is not being edited, the value of this field is NULL.
The status information storage unit 13 stores the status information of the shared file by inputting data into the shared file management table.
次に、共有ファイル管理システム100における各動作を説明する。
Next, each operation in the shared
まず、クライアント20を操作するユーザが、表示部21に表示された共有ファイルをクリックするなど所定の操作をし、編集用プログラムを用いてこの共有ファイルの編集作業を開始しようとした場合における、共有ファイル管理システム100の動作を説明する。このように、クライアント20を操作するユーザが共有ファイルの編集作業を開始しようとすると、通信連絡部23はサーバ10に対して共有ファイルの編集開始要求を通知する信号を送信する。サーバ10は、クライアント20から編集開始要求が通知されると、共有ファイル管理テーブルを参照したうえで、編集作業を承認するか否かを決定する。以下、フローチャートを用いてその内容を説明する。
First, when the user who operates the
図5は、本発明の実施の形態に係る共有ファイル管理システム100においてサーバ10がLAN30を介してクライアント20から共有ファイルの編集開始要求を受け付けたときに実行する編集開始ルーチンを示すフローチャートである。
はじめに、サーバ10が、クライアント20から共有ファイルIDおよびそのクライアント20を特定するID(以下、「クライアントID」という。)とともに、共有ファイルの編集開始要求を受け付けると、クライアント20は共有ファイル管理テーブルを参照し、該当する共有ファイルに対応するレコードの「フラグF1」および「フラグF2」を読み込み(ステップS100)、「フラグF1」の値が「0」であるか否かを調べる(ステップS110)。
FIG. 5 is a flowchart showing an editing start routine executed when the
First, when the
その結果、読み込んだ「フラグF1」の値が「0」であるときは(ステップS110;YES)、この共有ファイルは編集中ではないと判断し、この共有ファイルをチェックアウトする処理、すなわちこのクライアント20がこの共有ファイルを排他的に編集できるようロック状態にする処理を行なう。
具体的には、まず、状態制御部12が、共有ファイルIDで紐づけられたレコードの「フラグF1」の値を「1」に更新すると共に「編集者ID」にこのクライアント20のクライアントIDを入力し、「更新時刻」に現在時刻を入力する(ステップS120)。このように、「フラグF1」の値を「1」に更新することにより、状態制御部12は「編集者ID」によって特定されるクライアント20以外のクライアント20がこの共有ファイルへアクセスするのを制限する。
次いで、通信部17が、このクライアント20に対して該当する共有ファイルをダウンロードし(ステップS130)、この共有ファイルが編集中となった旨をすべてのクライアント20−1〜20−Nに対して通知して(ステップS140)、編集開始ルーチンを終了する。
As a result, when the value of the read “flag F1” is “0” (step S110; YES), it is determined that this shared file is not being edited, and the process of checking out this shared file, ie, this client A process of setting the lock state so that 20 can edit the shared file exclusively is performed.
Specifically, first, the state control unit 12 updates the value of the “flag F1” of the record associated with the shared file ID to “1” and sets the client ID of the
Next, the
ステップS140の処理によって、クライアント20−1〜20−Nにおいて、該当する共有ファイルが編集中となった旨は次のように出力される。
図6に、ビル管理システムに関わる複数の共有ファイルを対象とする場合を例にとって、本発明の実施の形態に係る共有ファイル管理システム100においてクライアント20の表示部21に表示される共有ファイルの状態を確認するための監視画面の一例を示す。図6(a)はすべての共有ファイルについてアンロック状態であるときの監視画面、図6(b)はある共有ファイルがロック状態であるときの監視画面を示している。図6に示すように、ビルのエリア毎に表示された各共有ファイルの共有ファイル名の横にはその共有ファイルの状態を示すアイコンがついており、アンロック状態であるときは白抜きの四角形だったアイコンが、ロック状態となることにより「×」印のついた四角形のアイコンに変化している。このため、クライアント20を操作するユーザはこの画面を開いて共有ファイルの前にあるアイコンの状態を確認することによって、この共有ファイルが編集中であるか否かを確認することができるのである。
また、クライアント20を操作しているユーザは、たとえば、編集中でロック状態となっている共有ファイルの共有ファイル名をクリックすることにより、通信連絡部23の機能を用いてその共有ファイルを編集しているクライアント20に対してメッセージを送信したり通話を行なうこともできる。このように、クライアント20で共有ファイルの監視画面を開いてその画面上で所定の操作をすることにより、共有ファイルの編集を希望するユーザ同士で連絡を取り合い、共有ファイルのロック状態を解除するよう交渉することができる。
なお、本実施の形態ではツリー構造の監視画面を例にとって説明しているが、共有ファイルの状態が確認できる出力状態であれば表示の形態はどのようなものであってもよく、たとえばテーブル形状で表示してもよい。
As a result of the processing in step S140, the fact that the corresponding shared file is being edited is output as follows in the clients 20-1 to 20-N.
FIG. 6 shows an example of a case where a plurality of shared files related to the building management system are targeted, and the state of the shared file displayed on the
Also, the user operating the
In this embodiment, a tree structure monitoring screen is described as an example. However, any display form may be used as long as the shared file status can be confirmed. May be displayed.
図5のステップS110の処理の説明に戻る。
ステップS110の処理において、「フラグF1」の値が「1」であるときは(ステップS110;NO)、この共有ファイルは編集中であると判断し、「フラグF2」の値が「0」であるか否かをさらに判断する(ステップS150)。
「フラグF2」の値が「0」であるときは(ステップS150;YES)、この共有ファイルは未だ予約がなされていないと判断して予約部14は予約処理を行なう。具体的には、「フラグF2」の値を「1」に更新すると共に「予約者ID」にこのクライアント20のクライアントIDを入力して(ステップS160)、編集開始ルーチンを終了する。現在編集をしているクライアント20から予約処理を行なったクライアント20へ、共有ファイルの編集をする権限が移動するタイミングについては、後述することにする。なお、ステップS160の予約処理を行なう前に、クライアント20の表示部21にポップアップを表示して予約を行なうか否かについてユーザの意志を確認する処理を行なってもよい。
これに対して「フラグF2」の値が「1」であるときは(ステップS150;NO)、この共有ファイルはすでに予約済みであると判断し、予約部14は予約処理を行なわずに編集開始ルーチンを終了する。
Returning to the description of the processing in step S110 in FIG.
In the process of step S110, when the value of “flag F1” is “1” (step S110; NO), it is determined that this shared file is being edited, and the value of “flag F2” is “0”. It is further determined whether or not there is (step S150).
When the value of “Flag F2” is “0” (step S150; YES), it is determined that the shared file has not been reserved yet, and the
On the other hand, when the value of “flag F2” is “1” (step S150; NO), it is determined that this shared file has already been reserved, and the
次に、クライアント20を操作するユーザが、共有ファイルの編集を行なうためのプログラムを終了したり、このプログラム上で編集していた共有ファイルを閉じるなどして編集作業を終了した場合における、共有ファイル管理システム100の動作を説明する。このように、クライアント20を操作するユーザが共有ファイルの編集作業を終了すると、通信連絡部23はサーバ10に対して共有ファイルの編集終了要求を通知する信号を送信する。サーバ10は、クライアント20から編集終了要求が通知されると、共有ファイル管理テーブルを参照し、この共有ファイルに予約処理が施されているか否かを参照したうえで、共有ファイルのロック状態を解除する。以下、フローチャートを用いてその内容を説明する。
Next, the shared file when the user who operates the
図7は、本発明の実施の形態に係る共有ファイル管理システム100においてサーバ10がクライアント20から共有ファイルの編集終了要求を受け付けたときに実行する編集終了ルーチンを示すフローチャートである。
まず、状態制御部12が、所定時間(たとえば、10秒や20秒など)以内に再び同じクライアント20から編集開始要求(すなわち、編集終了要求のキャンセル)がないかを確認する(ステップS200)。
所定時間以内に同じクライアント20から再び編集開始要求があったときには(ステップS200;NO)、後述するチェックインをせずに、編集終了ルーチンを終了する。このため、共有ファイルのロック状態は解除されず、同じクライアントが継続してその共有ファイルを編集することができる。
このように、状態制御部14が所定時間にわたって同じクライアント20からの編集開始要求のみを受け付けることとしたのは、クライアント20を操作しているユーザが誤ってプログラムを終了するなどして共有ファイルの編集作業を終了してしまったときに、他のクライアント20によりその共有ファイルがロック状態とされて編集ができなくなってしまうのを防ぐためである。
FIG. 7 is a flowchart showing an editing end routine executed when the
First, the state control unit 12 checks again whether there is an editing start request (that is, cancellation of an editing end request) from the
When an edit start request is received again from the
As described above, the
これに対し、所定時間以内に同じクライアント20から再び編集開始要求がないときには(ステップS200;YES)、この共有ファイルをチェックインするため、すなわちこの共有ファイルのロック状態を解除してアンロック状態とするため、以下の処理を行なう。
まず、共有ファイル管理テーブルを参照して、該当する共有ファイルのレコードの「フラグF2」を読み込み(ステップS210)、この「フラグF2」の値が「0」であるか否かを判断する(ステップS220)。
読み込んだ「フラグF2」の値が「0」であるときには(ステップS220;YES)、この共有ファイルは予約されていないものと判断し、状態制御部12はチェックインの処理を行なう。
具体的には、状態制御部12が「フラグF2」の値を「0」に更新し、「編集者ID」の値をNULLに更新し、「更新時刻」の値をNULLに更新する(ステップS230)。また、通信部17がこの共有ファイルが編集可能となった旨を全クライアントに対して通知し(ステップS240)、編集終了ルーチンを終了する。ここで、通信部17が共有ファイルが編集可能となった旨をクライアント20−1〜20−Nに対して通知すると、上述したように、クライアント20−1〜20−Nの表示部21にて、共有ファイルの状態の監視画面を開いて共有ファイルの共有ファイル名の横にあるアイコンを確認すれば、「×」印のついた四角形から白抜きの四角形に変化しているのが分かる。このため、ユーザはこの監視画面を開けば該当する共有ファイルが編集中であるか否かを容易に判断することができるのである。
On the other hand, when there is no editing start request again from the
First, the “flag F2” of the record of the corresponding shared file is read with reference to the shared file management table (step S210), and it is determined whether or not the value of this “flag F2” is “0” (step S210). S220).
When the value of the read “flag F2” is “0” (step S220; YES), it is determined that this shared file is not reserved, and the state control unit 12 performs a check-in process.
Specifically, the state control unit 12 updates the value of “Flag F2” to “0”, updates the value of “Editor ID” to NULL, and updates the value of “Update Time” to NULL (Step S1). S230). Further, the
一方、読み込んだ「フラグF2」の値が「1」であるときには(ステップS220;NO)、この共有ファイルは予約されているものと判断し、状態制御部12はこの共有ファイルの編集を予約していたクライアント20に対して編集を承認する処理を行なう。
具体的には、状態制御部12は、「編集者ID」に「予約者ID」を入力し、「予約者ID」をNULLに更新し、「フラグF2」の値を「0」に更新する(ステップS250)。通信部17は予約していたクライアント20に対して共有ファイルのダウンロードを実行すると共にこの共有ファイルに対する編集要求が承認された旨を通知し(ステップS260)、編集終了ルーチンを終了する。ここで、予約していたクライアント20に対して編集要求が承認された旨を通知する方法としては、たとえば予約をしたクライアント20の表示部21にて上述した共有ファイルの監視画面を開いたときに、編集要求が承認された旨をポップアップにより表示したり、あるいはチャイムを生成したりする方法が挙げられる。このように、予約していたクライアント20に対して編集要求が承認された旨を通知する処理を行なうので、クライアント20を操作しているユーザは、共有ファイルの状態を確認するためにわざわざサーバ10にアクセスする必要がなくなり、共有ファイルの編集要求が承認された旨の通知を待ちながら、他の作業に集中することができるのである。
On the other hand, when the value of the read “flag F2” is “1” (step S220; NO), it is determined that the shared file is reserved, and the state control unit 12 reserves editing of the shared file. The process of approving the editing to the
Specifically, the state control unit 12 inputs “reserver ID” in “editor ID”, updates “reserver ID” to NULL, and updates the value of “flag F2” to “0”. (Step S250). The
次に、本発明の実施の形態に係る共有ファイル管理システム100の動作の一例を図8に示すシーケンス図を用いて説明する。
なお、説明の便宜上、このシーケンス図ではクライアント20−1およびクライアント20−2という2台のクライアントのみが描かれているが、クライアント20の台数が2台に限られないのは言うまでもない。
Next, an example of the operation of the shared
For convenience of explanation, in this sequence diagram, only two clients, the client 20-1 and the client 20-2, are drawn, but it goes without saying that the number of
まず、クライアント20−1を使用しているユーザが、サーバ10に格納されている共有ファイルの編集を開始するための所定の操作を実行すると、クライアント20−1からサーバ10に対して編集開始要求が送信され(ステップS300)、サーバ10は、図5を用いて説明した編集開始ルーチンを実行する(ステップS310)。ここで、編集開始要求がなされた共有ファイルは誰にも編集されておらず、共有ファイル管理テーブルの該当するレコードの「フラグF1」の値は「0」となっているものとする。すると、編集開始要求が承認されるので、図5のステップS120、S130、S140で説明した通常のチェックアウト処理、すなわち共有ファイル管理テーブルの該当レコードの「フラグF1」の値を「1」に更新し、「編集者ID」にクライアント20−1のクライアントIDを入力し、「更新時刻」に現在時刻を入力し、クライアント20−1に対して共有ファイルのダウンロードを行ない、クライアント20−1、20−2に対してこの共有ファイルがロック状態となった旨を通知する処理を行なう。
First, when a user using the client 20-1 executes a predetermined operation for starting editing of a shared file stored in the
次いで、ライアント20−2を操作しているユーザが、同一の共有ファイルを編集するための操作を行なうと、クライアント20−2からサーバ10に対してこの共有ファイルに対する編集開始要求が送信され(ステップS320)、サーバ10は再び図5で説明した編集開始ルーチンを実行する(ステップS330)。ここで、編集開始要求がなされた共有ファイルはすでにクライアント20−1によって編集されており、共有ファイル管理テーブルの該当するレコードの「フラグF1」の値は「1」となっている。このため、クライアント20−2からの編集開始要求は認められず、図5のステップS150で「フラグF2」の値が「0」であるか否かが判断される。この共有ファイルはまだ編集の予約がなされておらず「フラグF2」の値が「0」となっていれば、図5のステップS160で「フラグF2」の値を「1」に更新すると共に「予約者ID」にクライアント20−2のクライアントIDを入力する。
Next, when the user operating the client 20-2 performs an operation for editing the same shared file, an edit start request for the shared file is transmitted from the client 20-2 to the server 10 (step S1). In step S320, the
次いで、クライアント20−1を操作しているユーザがダウンロードした共有ファイルを上書き保存する操作を行なうと、この共有ファイルがサーバ10にアップロードされる(ステップS340)。さらに、編集用プログラム上でこの共有ファイルを閉じるなどしてその編集作業を終了すると、クライアント20−1からサーバ10に対して編集終了要求が送信され(ステップS350)、サーバ10は図7を用いて説明した編集終了ルーチンを実行する(ステップS360)。ここで、すでにクライアント20−2によって共有ファイルを次に編集できるよう予約がなされ、共有ファイル管理テーブルの該当レコードの「フラグF2」の値が「1」となっているため、図7のステップS250で共有ファイル管理テーブルの該当レコードの「編集者ID」に「予約者ID」の値を入力し、「予約者ID」の値をNULLに更新し、「フラグF2」の値を「0」に更新した後、図7のステップS260でクライアント20−2に対して共有ファイルをダウンロードすると共にこの共有ファイルの編集が承認された旨を通知する。この結果、クライアント20−2を操作しているユーザは、クライアント20−1による編集が終わり次第、即座に編集が承認されたことを把握でき、すぐに共有ファイルの編集作業にとりかかることができる。
Next, when the user operating the client 20-1 performs an operation of overwriting and saving the downloaded shared file, the shared file is uploaded to the server 10 (step S340). Further, when the editing operation is completed by closing the shared file on the editing program, an editing end request is transmitted from the client 20-1 to the server 10 (step S350), and the
クライアント20−2を操作しているユーザが、共有ファイルの上書き保存をする操作を行なうと、この共有ファイルがサーバ10にアップロードされる(ステップS370)。さらに、編集用プログラム上でこの共有ファイルを閉じるなどしてその編集作業を終了すると、クライアント20−2からサーバ10に対して編集終了要求が送信され(ステップS380)、サーバ10は再び図7を用いて説明した編集終了ルーチンを実行する(ステップS390)。ここで、上述したステップS360の処理にて、共有ファイル管理テーブルの該当するレコードにおいて「フラグF2」の値は「0」に更新されて、その共有ファイルに対する予約が解除されている。このため、図7のステップS220にて肯定的な判断がなされ、図7のステップS230にて共有ファイル管理テーブルの該当するレコードの「フラグF1」の値を「0」に更新し、「編集者ID」の値をNULLに更新し、「更新時刻」の値をNULLに更新し、図7のステップS240にてクライアント20−1、20−2に対して共有ファイルが編集可能となった旨を通知する。この結果、クライアント20−1、20−2を操作しているユーザはわざわざサーバ10にアクセスして問い合わせをすることなく、共有ファイルが編集可能となったことを把握することができるのである。
なお、上述したように、共有ファイルのアップロード(ステップS370)と、共有ファイルの編集終了要求(ステップS380)とは互いに独立した処理となっている。これは、クライアント20がシステムダウンしたときに備えて、ユーザは、共有ファイルの編集作業の途中であっても、それまで編集した内容をこまめにサーバ10にアップロードしたいという要望があるためである。
When the user operating the client 20-2 performs an operation of overwriting and saving the shared file, the shared file is uploaded to the server 10 (step S370). Further, when the editing work is ended by closing the shared file on the editing program, an editing end request is transmitted from the client 20-2 to the server 10 (step S380), and the
As described above, the shared file upload (step S370) and the shared file editing end request (step S380) are independent of each other. This is because, in preparation for when the
最後に、長時間にわたってロック状態とされた共有ファイルについて、強制終了部16がそのロック状態を強制的に解除する仕組みを説明する。
図9は、サーバ10が実行する強制終了ルーチンを示すフローチャートである。このフローチャートは、所定時間毎(たとえば、数十分毎や数時間毎)に実行される。
Finally, a description will be given of a mechanism in which the forced termination unit 16 forcibly releases the locked state of a shared file that has been locked for a long time.
FIG. 9 is a flowchart showing a forced termination routine executed by the
まず、共有ファイル管理テーブルからレコードを一つ取り出す(ステップS400)。ここで、取り出すレコードとしては、共有ファイル管理テーブルに格納されているレコードのうち、「フラグF1」の値が「1」であるもの、すなわちロック状態とされているものを抽出して取り出せばよい。
次いで、このレコードの「更新時刻」を読み出し、「更新時刻」からの経過時間ΔTを演算する(ステップS410)。この「更新時刻」は、対応する共有ファイルの編集作業が開始された時刻、または編集作業の途中に上書き保存された共有ファイルにあっては最後に上書きされた時刻が入力されている。このため、経過時間ΔTは、編集中の共有ファイルが一度も上書き保存されていないときにはその編集作業を開始してからの経過時間を示し、編集作業の途中に上書き保存された共有ファイルについては最後に上書き保存されてからの経過時間を示すこととなる。
First, one record is extracted from the shared file management table (step S400). Here, as a record to be extracted, it is only necessary to extract and extract the record stored in the shared file management table with the value of “flag F1” being “1”, that is, the locked state. .
Next, the “update time” of this record is read, and the elapsed time ΔT from the “update time” is calculated (step S410). As this “update time”, the time when the editing operation of the corresponding shared file is started, or the time when the file is overwritten in the middle of the editing operation is input last. For this reason, the elapsed time ΔT indicates the elapsed time since the start of the editing work when the shared file being edited has never been overwritten and saved, and the last time for the shared file overwritten and saved during the editing work. Indicates the elapsed time since it was overwritten.
続いて、こうして演算した経過時間ΔTを、閾値T1およびこれより大きい閾値T2と比較する(ステップS420)。ここで、閾値T2は、すでに共有ファイルの編集作業が終了しているにもかかわらずロック状態とされていると予測できる程度の時間として設定され、たとえば10〜20時間などに設定される。また、閾値T1は、閾値T2より1〜2時間ほど短い時間として設定され、ロック状態の共有ファイルを強制的にアンロック状態にする前にその予告を行なうために用いるものである。 Subsequently, the elapsed time ΔT calculated in this way is compared with a threshold value T1 and a larger threshold value T2 (step S420). Here, the threshold value T2 is set as a time that can be predicted that the shared file is locked even though the editing operation of the shared file has already been completed, and is set to 10 to 20 hours, for example. The threshold T1 is set as a time shorter by about 1 to 2 hours than the threshold T2, and is used to give a notice before the shared file in the locked state is forcibly set to the unlocked state.
経過時間ΔTが閾値T1未満であるときには(ステップS420;ΔT<T1)、共有ファイルが長時間にわたってロック状態とされているわけではないので、強制終了に関わる処理は実行しない。
経過時間ΔTが閾値T1以上かつ閾値T2未満であるときには(ステップS420;T1≦ΔT<T2)、しばらくすると経過時間ΔTが閾値T2以上となり、後述するように共有ファイルの編集処理を強制終了することとなるため、このレコードに対応する共有ファイルを編集しているユーザに対して共有ファイルの保存を促すポップアップを表示する(ステップS430)。なお、ポップアップの表示内容として、共有ファイルの保存を促すメッセージとともに、強制終了処理が実行されるまでの残り時間を表示させるようにしてもよい。
経過時間ΔTが閾値T2以上となったときには(ステップS420;T2<ΔT)、すでに共有ファイルの編集作業が終了しているにもかかわらず共有ファイルがロック状態のまま放置されていると判断し、強制終了処理を実行する。具体的には、図7を用いて説明した編集終了ルーチンを実行することによって(ステップS440)、その共有ファイルに対して予約がないときにはロック状態を解除してアンロック状態とし、その共有ファイルに対して予約があるときには予約をしたクライアントに対して編集作業の承認をする。このような処理を実行することにより、共有ファイルが一のクライアント20によって長時間にわたってロック状態とされ、他のクライアント20が編集できなくなる事態を抑制できる。この際、所定時間にかぎり編集をしているクライアントから編集要求を受け付ける図7のステップS200は省略してもよい。編集終了ルーチンを実行した後、共有ファイルを長時間にわたってロック状態としていたユーザに対して、共有ファイルの編集作業を強制終了した旨をポップアップにより通知する(ステップS450)。
When the elapsed time ΔT is less than the threshold value T1 (step S420; ΔT <T1), the shared file is not locked for a long time, so the process related to forced termination is not executed.
When the elapsed time ΔT is equal to or greater than the threshold T1 and less than the threshold T2 (step S420; T1 ≦ ΔT <T2), the elapsed time ΔT becomes equal to or greater than the threshold T2 after a while, and the shared file editing process is forcibly terminated as described later. Therefore, a pop-up prompting the user editing the shared file corresponding to the record to save the shared file is displayed (step S430). The pop-up display content may be displayed with a message prompting to save the shared file and the remaining time until the forced termination process is executed.
When the elapsed time ΔT is equal to or greater than the threshold T2 (step S420; T2 <ΔT), it is determined that the shared file is left in a locked state even though the editing operation of the shared file has already been completed. Performs forced termination processing. Specifically, by executing the editing end routine described with reference to FIG. 7 (step S440), when there is no reservation for the shared file, the lock state is released and the unlock state is set. On the other hand, when there is a reservation, the editing work is approved for the client who made the reservation. By executing such processing, it is possible to suppress a situation in which the shared file is locked by the one
このようなステップS400〜S450の処理を、共有ファイル管理テーブルの全てのレコードについて実行したのを確認してから(ステップS460)、強制終了ルーチンを終了する。このようにして、共有ファイルのうち一のクライアント20によって長時間にわたってロック状態とされているものがあればそのロック状態を強制的に解除するので、共有ファイルの編集作業を効率よく行なうことができる。また、ロック状態を強制的に解除する前にはその共有ファイルを編集しているユーザに対して共有ファイルの保存を促す通知を行なうので(ステップS430)、共有ファイルの編集作業が継続しているにもかかわらず強制的にロック状態を解除してしまうことも抑制できるのである。
After confirming that the processes in steps S400 to S450 have been executed for all the records in the shared file management table (step S460), the forced termination routine is terminated. In this way, if there is a shared file that has been locked for a long time by one
以上説明した、本実施の形態に係る共有ファイル管理システム100によれば、サーバ10は、共有ファイル管理テーブルにおいて、共有ファイルがロック状態またはアンロック状態であるかを示す「フラグF1」の値を記憶し、この「フラグF1」の値が更新されると全てのクライアント20に対してその通知している(図5のステップS140、図7のステップS240)。クライアント20のユーザは、表示部21にて、共有ファイルの状態を管理するための監視画面を開いて、共有ファイルの前にあるアイコンの状態を確認することによって容易にその共有ファイルが編集中であるか否かを把握することができる。したがって、共有ファイルを効率的に管理することができるのである。
According to the shared
また、本実施の形態に係る共有ファイル管理システム100では、共有ファイルの編集をしていたクライアント20からサーバ10に対して編集終了要求があったときでも、サーバ10は所定時間(たとえば、10秒や20秒など)以内に再び同じクライアント20から編集開始要求がないかを確認している(図7のステップS200)。このため、共有ファイルを編集しているユーザが誤って共有ファイルの編集作業を終了してしまったときでも、そのユーザが所定時間の間に再びその共有ファイルの編集作業を開始するための操作をすれば、その共有ファイルが他のクライアント20によってロック状態とされて編集できなくなることを防ぐことができる。
Further, in the shared
さらに、本実施の形態に係る共有ファイル管理システム100では、クライアント20を操作するユーザは、図6に示した共有ファイル監視画面を開いて、所定の操作をすることにより、通信連絡部23の機能を用いて共有ファイルの編集を希望するユーザ同士で連絡を取り合い、共有ファイルのロック状態を解除するよう交渉することができる。このため、共有ファイルの編集作業を効率よく行なうことができる。
Furthermore, in the shared
また、本実施の形態に係る共有ファイル管理システム100では、サーバ10は、共有ファイルがあるクライアント20により編集中でロック状態とされているときに、他のクライアント20から編集開始要求があったときには、次にその共有ファイルを編集することができるよう予約を行ない(図5のステップS160)、編集作業が終わり次第、共有ファイルのダウンロードをして編集を承認した旨を通知するので(図7のステップS250、S260)、共有ファイルの編集作業を効率的に行なうことができる。
Further, in the shared
さらに、本実施の形態に係る共有ファイル管理システム100では、サーバ10が図9で説明した強制終了ルーチンを実行することにより、共有ファイルのうち一のクライアント20によって長時間にわたってロック状態とされているものがあればそのロック状態を強制的に解除するので、共有ファイルの編集作業を効率よく行なうことができる。
Furthermore, in the shared
[変形例]
なお、上述した実施の形態に係る共有ファイル管理システム100では、記憶部11と、状態制御部12、状態情報記憶部13、予約部14、状態情報出力部15、および強制終了部16とは、いずれも同一のサーバ10に備わるものとして説明したが、図10に示すように、それぞれ別々のサーバに備わるものとしてもよい。
図10に示した例では、サーバ10−1が記憶部11を備え、サーバ10−2が状態制御部12、状態情報記憶部13、予約部14、状態情報出力部15、および強制終了部16を備えている。
この場合、図5のステップS130や図7のステップS260で説明した共有ファイルをクライアント20に対してダウンロードする処理についてはサーバ10−1が実行し、それ以外の処理についてはサーバ10−2が行なうこととなる。
[Modification]
In the shared
In the example illustrated in FIG. 10, the server 10-1 includes the storage unit 11, and the server 10-2 includes the state control unit 12, the state information storage unit 13, the
In this case, the server 10-1 executes the process of downloading the shared file described in step S130 of FIG. 5 and step S260 of FIG. 7 to the
また、上述した実施の形態に係る共有ファイル管理システム100では、図5のステップS140や図7のステップS240の処理で説明したように、共有ファイルの状態がロック状態とアンロック状態との間で変動したときには、サーバ10から全てのクライアント20に対して通知するものとして説明したが、通知しないものとしてもよい。この場合、たとえば、クライアント20の各々が、所定時間毎(たとえば、数分毎や数十分毎など)に共有ファイル管理テーブルの変動を問い合わせるためのSQLをサーバ10に向かって発信するものとすればよい。
あるいは、サーバ10から全てのクライアント20に対する通知は、共有ファイル管理テーブルに変動があった旨だけであり、これを引き金としてクライアント20(20−1〜20−N)の各々がその具体的な内容を問い合わせるSQL文をサーバ10に対して送信するものとしてもよい。
Further, in the shared
Alternatively, the notification from the
また、上述した実施の形態に係る共有ファイル管理システム100では、サーバ10と、クライアント20(20−1〜20−N)とは、LAN30により接続されているが、LAN30ではなくインターネット網を介して接続されているものとしてもよい。
In the shared
さらに、上述した実施の形態の図7の編集終了ルーチンにおいて、所定時間にわたって共有ファイルを編集しているクライアントから編集開始要求(編集終了要求のキャンセル)を受け付けるステップS200の処理を省略してもよい。 Furthermore, in the editing end routine of FIG. 7 of the above-described embodiment, the process of step S200 for accepting an editing start request (cancellation of editing end request) from a client who is editing the shared file for a predetermined time may be omitted. .
また、上述した実施の形態に係る共有ファイル管理システム100では、予約は一のクライアント20しかできないものとして説明しているが、複数のクライアント20から予約を受け付けるものとしてもよく、この際、たとえばその予約を受け付けた順にクライアント20が編集することができるようにしてもよい。
Further, in the shared
さらに、上述した実施の形態に係る共有ファイル管理システム100において、サーバ10は予約部14や強制終了部16を備えるが、これらを備えないものとしてもよい。
Furthermore, in the shared
また、上述した実施の形態では、本発明を共有ファイル管理システム100の形態として説明したが、共有ファイル管理システム100の制御方法の形態や共有ファイル管理システム100に組み込まれるプログラムの形態としてもよい。
In the above-described embodiment, the present invention has been described as a form of the shared
なお、上述した実施の形態において、サーバ10やクライアント20が備える各機能部は、サーバ10やクライアント20がそれぞれ備えるCPU、記憶装置、および外部機器とのインターフェースなどのハードウェア資源と、これらのハードウェア資源を制御するプログラムとが協働することによって実現することができる。この共有ファイル管理システム100の制御方法を実現するためのプログラムは、フレキシブルディスク、CD−ROM、DVD−ROM、またはメモリカードなどの記録媒体に記録された状態で提供される。CPUは、記録媒体から読み込んだプログラムを記憶装置に書き込み、プログラムにしたがって実施の形態で説明した処理を実行する。
In the above-described embodiment, each functional unit included in the
本発明は共有ファイル管理システムの製造業などに利用可能である。 The present invention can be used in the manufacturing industry of shared file management systems.
10(10−1、10−2)…サーバ、11…記憶部、12…状態制御部、13…状態情報記憶部、14…予約部、15…状態情報出力部、16…強制終了部、17…通信部、20(20−1〜20−N)…クライアント、21…表示部、22…操作部、23…通信連絡部、30…LAN、100…共有ファイル管理システム。
10 (10-1, 10-2) ... server, 11 ... storage unit, 12 ... state control unit, 13 ... state information storage unit, 14 ... reservation unit, 15 ... state information output unit, 16 ... forced termination unit, 17 Communication unit 20 (20-1 to 20-N)
Claims (6)
前記共有ファイルがロック状態またはアンロック状態であるかを表わす状態情報を記憶する状態情報記憶手段と、
前記状態情報記憶手段に記憶された前記共有ファイルの状態情報を前記複数のクライアントの各々に出力させる状態情報出力手段と
を備え、
前記状態制御手段は、
前記一のクライアントから前記編集終了要求がなされた後、この編集終了要求がなされて所定時間が経過するまでに、前記一のクライアントから前記編集開始要求がなされない場合にはこの共有ファイルをアンロック状態とし、前記一のクライアントから前記編集開始要求がなされた場合にはこの共有ファイルをロック状態とする
ことを特徴とする共有ファイル管理システム。 With respect to a shared file that can be accessed by each of a plurality of clients via a network, a lock state in which only the one client can edit the shared file is set based on a request to start editing of the one client, and from the one client A state control means for bringing the shared file into an unlocked state in which the locked state is released based on the editing end request;
State information storage means for storing state information indicating whether the shared file is in a locked state or an unlocked state;
Status information output means for causing each of the plurality of clients to output status information of the shared file stored in the status information storage means ,
The state control means includes
After the editing end request is made from the one client, the shared file is unlocked when the editing start request is not made from the one client until a predetermined time elapses after the editing end request is made. shared file management system as a state, said when the edit start request from a client is made, characterized in that the shared file in a locked state.
前記複数のクライアントの各々は、
前記複数のクライアントのうち前記共有ファイルを編集している前記一のクライアントと前記ネットワークを介して通信する通信手段
をさらに備えることを特徴とする共有ファイル管理システム。 The shared file management system according to claim 1,
Each of the plurality of clients is
A shared file management system further comprising communication means for communicating with the one client that is editing the shared file among the plurality of clients via the network.
ロック状態とされた前記共有ファイルに対する他のクライアントからの編集開始要求を予め受け付け、前記状態制御手段に前記共有ファイルがアンロック状態となり次第この共有ファイルをロック状態として前記他のクライアントのみにその共有ファイルを編集させる予約手段
をさらに備えることを特徴とする共有ファイル管理システム。 In the shared file management system according to claim 1 or 2,
An editing start request from another client for the shared file in the locked state is received in advance, and when the shared file becomes unlocked in the state control means, the shared file is set to the locked state and shared only to the other clients. A shared file management system, further comprising reservation means for editing a file.
前記共有ファイルが前記ロック状態とされてからの経過時間が閾値に達したときには、この共有ファイルを強制的に前記アンロック状態とする強制終了手段
をさらに備えることを特徴とする共有ファイル管理システム。 The shared file management system according to any one of claims 1 to 3,
A shared file management system, further comprising: forcibly terminating means for forcibly setting the shared file in the unlocked state when an elapsed time since the shared file is set in the locked state reaches a threshold value.
前記共有ファイルが前記ロック状態または前記アンロック状態であるかを少なくとも含む状態情報を記憶手段に記憶するステップと、
前記記憶手段に記憶された前記共有ファイルの状態情報を前記複数のクライアントの各々に出力させるステップと
を備え、
前記状態制御ステップは、
前記一のクライアントから前記編集終了要求がなされた後、この編集終了要求がなされて所定時間が経過するまでに、前記一のクライアントから前記編集開始要求がなされない場合にはこの共有ファイルをアンロック状態とし、前記一のクライアントから前記編集開始要求がなされた場合にはこの共有ファイルをロック状態とする
ことを特徴とする共有ファイル管理システムの制御方法。 For a shared file that can be accessed by each of a plurality of clients via a network, only the one client can edit the shared file based on an edit start request or an edit end request of one of the plurality of clients. A state control step for setting the locked state or the unlocked state in which the locked state is released;
Storing in the storage means state information including at least whether the shared file is in the locked state or the unlocked state;
Causing each of the plurality of clients to output status information of the shared file stored in the storage means, and
The state control step includes
After the editing end request is made from the one client, the shared file is unlocked when the editing start request is not made from the one client until a predetermined time elapses after the editing end request is made. And a shared file management system control method, wherein the shared file is locked when the editing start request is made from the one client .
前記共有ファイルが前記ロック状態または前記アンロック状態であるかを少なくとも含む状態情報を記憶手段に記憶する機能、
前記記憶手段に記憶された前記共有ファイルの状態情報を前記複数のクライアントの各々に出力させる機能と
をコンピュータに実現させ、
前記状態制御機能は、
前記一のクライアントから前記編集終了要求がなされた後、この編集終了要求がなされて所定時間が経過するまでに、前記一のクライアントから前記編集開始要求がなされない場合にはこの共有ファイルをアンロック状態とし、前記一のクライアントから前記編集開始要求がなされた場合にはこの共有ファイルをロック状態とする
ことを特徴とするプログラム。 For a shared file that can be accessed by each of a plurality of clients via a network, only the one client can edit the shared file based on an edit start request or an edit end request of one of the plurality of clients. A state control function for setting the locked state or the unlocked state in which the locked state is released;
A function for storing in the storage means state information including at least whether the shared file is in the locked state or the unlocked state;
Causing the computer to realize a function of outputting status information of the shared file stored in the storage means to each of the plurality of clients ;
The state control function is
After the editing end request is made from the one client, the shared file is unlocked when the editing start request is not made from the one client until a predetermined time elapses after the editing end request is made. A program that sets the shared file in a locked state when the editing start request is made from the one client .
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010200846A JP5373723B2 (en) | 2010-09-08 | 2010-09-08 | Shared file management system, control method thereof, and program |
| PCT/JP2011/067246 WO2012032873A1 (en) | 2010-09-08 | 2011-07-28 | Shared file management system, control method of same, and program |
| TW100129034A TWI475398B (en) | 2010-09-08 | 2011-08-15 | Share the file management system, its control methods and programs |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010200846A JP5373723B2 (en) | 2010-09-08 | 2010-09-08 | Shared file management system, control method thereof, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012058960A JP2012058960A (en) | 2012-03-22 |
| JP5373723B2 true JP5373723B2 (en) | 2013-12-18 |
Family
ID=45810477
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010200846A Expired - Fee Related JP5373723B2 (en) | 2010-09-08 | 2010-09-08 | Shared file management system, control method thereof, and program |
Country Status (3)
| Country | Link |
|---|---|
| JP (1) | JP5373723B2 (en) |
| TW (1) | TWI475398B (en) |
| WO (1) | WO2012032873A1 (en) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103780642B (en) * | 2012-10-19 | 2017-08-01 | 宇瞻科技股份有限公司 | File Sharing Method of Network Storage System |
| JP6381190B2 (en) * | 2013-08-20 | 2018-08-29 | キヤノン株式会社 | Client device, system, information processing method, and program |
| JP6180998B2 (en) * | 2014-06-05 | 2017-08-16 | 東芝テック株式会社 | Information processing system and information processing program |
| US10572317B2 (en) | 2016-12-27 | 2020-02-25 | Dropbox, Inc. | Collaboration enhanced with kernel event triggers |
| US10331623B2 (en) | 2017-10-16 | 2019-06-25 | Dropbox, Inc. | Workflow functions of content management system enforced by client device |
| WO2019202888A1 (en) * | 2018-04-19 | 2019-10-24 | 村田機械株式会社 | Exclusive control system and exclusive control method |
| CN113656512B (en) * | 2021-10-21 | 2022-01-28 | 浙江太美医疗科技股份有限公司 | Data unlocking method, device, equipment and storage medium |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH117405A (en) * | 1997-06-17 | 1999-01-12 | Fujitsu Ltd | File sharing system |
| JPH11338754A (en) * | 1998-05-22 | 1999-12-10 | Mitsubishi Electric Corp | Shared file management system |
| JP4069905B2 (en) * | 2004-06-28 | 2008-04-02 | コニカミノルタビジネステクノロジーズ株式会社 | Shared file management system and server |
| JP4379369B2 (en) * | 2005-04-04 | 2009-12-09 | 日本電気株式会社 | File management system, monitoring server, monitoring method, and program |
| JP2007328392A (en) * | 2006-06-06 | 2007-12-20 | Fuji Xerox Co Ltd | Document editing system, document edit control server, program for server, user terminal, and terminal for program |
| US8417666B2 (en) * | 2008-06-25 | 2013-04-09 | Microsoft Corporation | Structured coauthoring |
-
2010
- 2010-09-08 JP JP2010200846A patent/JP5373723B2/en not_active Expired - Fee Related
-
2011
- 2011-07-28 WO PCT/JP2011/067246 patent/WO2012032873A1/en not_active Ceased
- 2011-08-15 TW TW100129034A patent/TWI475398B/en active
Also Published As
| Publication number | Publication date |
|---|---|
| TWI475398B (en) | 2015-03-01 |
| TW201217986A (en) | 2012-05-01 |
| WO2012032873A1 (en) | 2012-03-15 |
| JP2012058960A (en) | 2012-03-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5373723B2 (en) | Shared file management system, control method thereof, and program | |
| US7937432B2 (en) | State transition management according to a workflow management policy | |
| JP4955682B2 (en) | Security in peer-to-peer synchronization applications | |
| US7818679B2 (en) | Method, system, and apparatus for enabling near real time collaboration on an electronic document through a plurality of computer systems | |
| CN103403742B (en) | Method and system for centralized reservation context management on a multi-server reservation system | |
| KR101647535B1 (en) | Cross-channel coauthoring consistency | |
| CN101842802A (en) | Spreadsheet collaboration between rich and browser clients | |
| JP2006099730A (en) | Methods and systems for caching and synchronizing project data | |
| US10771591B2 (en) | Just-in-time auto-provisioning systems and methods for information exchange platform | |
| JP2007004776A (en) | Workflow system, workflow processing method, and workflow processing program | |
| JP2009207122A (en) | Device controller, system and, method for authenticated printing | |
| EP2812879B1 (en) | Efficiently receiving messages across a large number of messaging entities | |
| US20080077939A1 (en) | Solution for modifying a queue manager to support smart aliasing which permits extensible software to execute against queued data without application modifications | |
| US20080115128A1 (en) | Method, system and computer program product for implementing shadow queues for recovery of messages | |
| US20090222607A1 (en) | Document management system, document management method, program and storage medium | |
| JP5532040B2 (en) | Information processing apparatus, information processing system, control method, and program | |
| JP2006107282A (en) | Community management system, community server, community management method and community management program | |
| JP2007328392A (en) | Document editing system, document edit control server, program for server, user terminal, and terminal for program | |
| AU2007305072B2 (en) | Method and system for controlling the release of data for multiple-level security systems | |
| JP2004078535A (en) | Exclusive control device, method, and program | |
| CN114499905B (en) | Method, device, computer equipment and storage medium for binding application account replacement | |
| JP2002245034A (en) | Document processing system and method | |
| JP5811799B2 (en) | Information processing apparatus and schedule management program | |
| JP2023038100A (en) | Computer implementation method and computer system | |
| JP2008123088A (en) | Information management method and information processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130321 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130702 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130821 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130917 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130919 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5373723 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |