JP4972901B2 - Information sharing space providing system, information sharing space providing method, and computer program - Google Patents

Information sharing space providing system, information sharing space providing method, and computer program Download PDF

Info

Publication number
JP4972901B2
JP4972901B2 JP2005284715A JP2005284715A JP4972901B2 JP 4972901 B2 JP4972901 B2 JP 4972901B2 JP 2005284715 A JP2005284715 A JP 2005284715A JP 2005284715 A JP2005284715 A JP 2005284715A JP 4972901 B2 JP4972901 B2 JP 4972901B2
Authority
JP
Japan
Prior art keywords
information
group
command
terminal
synchronization
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
Application number
JP2005284715A
Other languages
Japanese (ja)
Other versions
JP2006164234A (en
Inventor
里奈 延藤
秀和 坂上
基彦 坂口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2005284715A priority Critical patent/JP4972901B2/en
Publication of JP2006164234A publication Critical patent/JP2006164234A/en
Application granted granted Critical
Publication of JP4972901B2 publication Critical patent/JP4972901B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、複数の端末間で情報を共有する情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムに関し、特に、必要なときに、任意に選択したメンバからなるグループで情報を共有する空間を生成でき、更にその空間で共有する情報はいつでも利用でき、更にその空間を利用するツールが容易にかつ自由に実装できる情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムに関する。   The present invention relates to an information sharing space providing system, an information sharing space providing method, and a computer program for sharing information among a plurality of terminals, and in particular, a space for sharing information between groups selected arbitrarily when necessary. Further, the present invention relates to an information sharing space providing system, an information sharing space providing method, and a computer program in which information shared in the space can be used anytime, and a tool that uses the space can be easily and freely implemented.

図30は、特定した複数のユーザ間で情報を共有する従来の電子情報共有システムの一例を示す図である。   FIG. 30 is a diagram illustrating an example of a conventional electronic information sharing system for sharing information among a plurality of specified users.

図30に示すように本例においては、ファイル共有管理システム101において、ネットワーク103に接続されたユーザ端末102a〜102dが保持するファイル一覧や、コミュニティ情報が管理されており、ユーザ端末102a〜102dの要求に応じて、そのユーザ端末の利用ユーザが所属しているコミュニティで参照できるファイル一覧が配信される。例えば、要求を出したユーザ端末102aにおいて、ファイル共有管理システム101にて管理されるファイル一覧から取得したいファイルが選択されると、選択されたファイルを保持するユーザ端末102cにファイル共有管理システム101からその旨が通知され、ユーザ端末102cからユーザ端末102aにファイルが送信されることによって、同じコミュニティに属するユーザ端末間で情報が共有されることになる(例えば、特許文献1参照。)。   As shown in FIG. 30, in this example, the file sharing management system 101 manages the file list and community information held by the user terminals 102a to 102d connected to the network 103, and the user terminals 102a to 102d In response to the request, a file list that can be referred to in the community to which the user of the user terminal belongs is distributed. For example, when a user terminal 102a that has issued a request selects a file to be acquired from a file list managed by the file sharing management system 101, the user terminal 102c that holds the selected file receives a request from the file sharing management system 101. The fact is notified and a file is transmitted from the user terminal 102c to the user terminal 102a, whereby information is shared between user terminals belonging to the same community (see, for example, Patent Document 1).

図31は、特定した複数のユーザ間で情報を共有する従来のコンピュータシステムの他の例を示す図である。   FIG. 31 is a diagram showing another example of a conventional computer system that shares information among a plurality of specified users.

図31に示すように、本例においては、メモリ206に共有データのコピ−が保持されており、ツール203−1において、ユーザが行った操作に基づいてデータ変更要求が生成され、ダイナミックマネ−ジャ204において、ツールから通知されたデータ変更要求とリモ−トデバイス202から通知されたデータ変更要求が選択されてデータ変更エンジン203−2にて実行される(例えば、特許文献2参照。)。また、通信マネ−ジャ206を介してデータ変更要求が互いに通知されることによって、同じコミュニティに属するデバイス間で情報が共有される。   As shown in FIG. 31, in this example, a copy of the shared data is held in the memory 206, and the tool 203-1 generates a data change request based on the operation performed by the user, and the dynamic manager. The data change request notified from the tool and the data change request notified from the remote device 202 are selected and executed by the data change engine 203-2 (see, for example, Patent Document 2). In addition, when data change requests are notified to each other via the communication manager 206, information is shared among devices belonging to the same community.

ここで、上述したような形態の情報共有システムでは、共有文書を同時に複数のデバイスで編集した場合に正しく処理することができず、各デバイスが同じ状態を保てなくなる虞れがある。そこで、デルタと呼ばれるデータ変更要求を順番を保ちながら保持する仕組みと、矛盾が発生したデルタをキャンセルする仕組みと、不要になったデルタを削除する仕組みとによって各デバイスが同じ状態を保つ技術が考えられている(例えば、特許文献3,4参照。)。
特開2004−172818号公報 特表2003−505760号公報 特表2003−526837号公報 特開2004−152289号公報
Here, in the information sharing system of the above-described form, when a shared document is edited simultaneously by a plurality of devices, it cannot be processed correctly, and there is a possibility that each device cannot maintain the same state. Therefore, a technology to keep each device in the same state by a mechanism that keeps data change requests called deltas in order, a mechanism that cancels deltas that cause inconsistencies, and a mechanism that deletes deltas that are no longer needed is considered. (For example, see Patent Documents 3 and 4).
JP 2004-172818 A Special table 2003-505760 gazette Special table 2003-526837 gazette JP 2004-152289 A

しかしながら、上述したような従来の技術の情報共有システムにおいては、以下に記載するような問題点がある。   However, the conventional information sharing system as described above has the following problems.

(1)共有ファイル一覧とそれを保管する端末、グループを構成する端末一覧などの情報がサーバにて管理されているために、サーバへのアクセス権限を持ったユーザでなくてはグループ作成やメンバ追加ができないとともに、サーバにて管理されているメンバしかグループに参加させることができず、そのため、ユーザが、必要なときに、任意に選択したメンバからなるグループで情報を共有することができない。   (1) Since information such as the list of shared files, the terminals that store them, and the list of terminals that make up the group are managed by the server, group creation and members must be performed by users who have access rights to the server. In addition to being able to add, only members managed by the server can join the group, so that the user cannot share information with a group of arbitrarily selected members when needed.

(2)共有ファイル一覧とそれを保管する端末、グループを構成する端末一覧などの情報がサーバにて管理されているために、サーバにアクセスできる環境でなければ共有情報が取得することができず、そのため、ネットワ−クに接続していない状態では、共有する情報を参照したり編集したりすることができない。   (2) Since information such as a list of shared files, a terminal for storing them, and a list of terminals constituting a group are managed by the server, the shared information cannot be acquired unless the server is accessible. For this reason, information that is shared cannot be referenced or edited in a state in which it is not connected to the network.

(3)端末間通信の仲介を行うためにはリレーサーバが必要となるため、システム専用の24時間運用できるサーバを用意できない場合、情報共有を利用することができない。   (3) Since a relay server is required to mediate communication between terminals, information sharing cannot be used when a server dedicated to system operation for 24 hours cannot be prepared.

(4)新しいツールを実現する場合、対応するデータ変更エンジンも追加で実装する必要があり、また、データ変更エンジンには、すべての処理をロールバックできる仕組みを用意しなくてはならないため、新しいツールの実装に工数がかかってしまう。   (4) When implementing a new tool, it is necessary to additionally implement a corresponding data change engine, and the data change engine must have a mechanism that can roll back all processing. It takes time to implement the tool.

(5)複数の端末で情報を共有することによって発生する矛盾の対処を目的として、各端末にデータ変更要求情報を長期間保持しておく必要があるため、端末のメモリを圧迫してしまう。   (5) Since it is necessary to hold data change request information in each terminal for a long period of time in order to deal with inconsistencies caused by sharing information among a plurality of terminals, the memory of the terminal is compressed.

本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、必要なときに、任意に選択したメンバからなるグループで情報を共有することができる情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムを提供することを目的とする。   The present invention has been made in view of the problems of the conventional techniques as described above, and provides an information sharing space in which information can be shared by a group of arbitrarily selected members when necessary. It is an object to provide a system, an information sharing space providing method, and a computer program.

また、ネットワ−クに接続していない状態でも共有する情報を参照したり編集したりすることができる情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムを提供することを目的とする。   It is another object of the present invention to provide an information sharing space providing system, an information sharing space providing method, and a computer program capable of referencing and editing information shared even when not connected to a network.

また、端末間の通信手段を、システムを適用するインフラの状況に応じて選択することができる情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムを提供することを目的とする。   It is another object of the present invention to provide an information sharing space providing system, an information sharing space providing method, and a computer program capable of selecting communication means between terminals according to the status of the infrastructure to which the system is applied.

また、共有情報を利用するツールを、容易に、かつ自由に実装することができる情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムを提供することを目的とする。   It is another object of the present invention to provide an information sharing space providing system, an information sharing space providing method, and a computer program that can easily and freely implement a tool that uses shared information.

また、情報共有実現に際して必須となる競合対処機能のために、端末のリソ−スを圧迫せず、ツールの実装に制約を設けない情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムを提供することを目的とする。   In addition, for the conflict handling function that is indispensable for realizing information sharing, an information sharing space providing system, an information sharing space providing method, and a computer program that do not impose terminal resources and do not restrict the implementation of tools are provided. The purpose is to do.

上記目的を達成するために本発明は、
複数の端末間にて情報を共有するための情報共有空間提供システムであって、
前記複数の端末のそれぞれは、
共有対象となるオブジェクト情報と、端末を保持するユーザが所属するグループのグループ情報やグループの構成メンバのメンバ情報を含む同期制御情報とを保持する記憶手段と、
グループを構成する他の端末とのメッセージの送受信を定期的に行うメッセージ制御手段と、
通知を依頼されたコマンドを一時的に保管し、保管したコマンド及びグループを構成する他の端末から通知されたコマンドの実行制御を行う分散同期管理手段と、
共有情報を利用する機能をユーザに提供し、ユーザとのやりとりを行うツールに対して、同期制御情報の制御APIを提供し、同期制御情報の制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を前記分散同期管理手段に依頼する同期制御情報管理手段と、
前記ツールに対して、オブジェクト情報の制御APIを提供し、オブジェクト情報の制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を前記分散同期管理手段に依頼するオブジェクト情報管理手段と、
前記ツールに対して、グループのメンバ追加に関する制御APIを提供し、グループのメンバ追加に関する制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、当該コマンドのグループを構成する他の端末への通知を前記メッセージ制御手段に依頼する招待手段と、
グループを構成する端末間の情報のやりとりを行う通信手段とを有し、
前記分散同期管理手段は、前記同期制御情報管理手段及び前記オブジェクト情報管理手段から通知を依頼されたコマンドを一時的に保管する。
In order to achieve the above object, the present invention provides:
An information sharing space providing system for sharing information between a plurality of terminals,
Each of the plurality of terminals is
Storage means for holding object information to be shared and synchronization control information including group information of a group to which a user holding a terminal belongs and member information of members of the group;
Message control means for periodically sending and receiving messages with other terminals constituting the group;
A distributed synchronization management means for temporarily storing a command requested to be notified, and performing execution control of the command notified from the stored command and other terminals constituting the group;
Providing the user with the function to use the shared information, providing the control API of the synchronization control information to the tool for interacting with the user, generating and generating a command corresponding to the call of the control API of the synchronization control information And the command notified from the other terminal constituting the group is reflected in the storage means, the conflict handling process is performed at the time of reflection, and the notification to the other terminals constituting the command group is sent to the distributed synchronization management means Synchronization control information management means to request,
The object information control API is provided to the tool, a command corresponding to the call of the object information control API is generated, and the generated command and a command notified from another terminal constituting the group are stored in the storage unit. Object information management means for performing a conflict handling process at the time of reflection and requesting the distributed synchronization management means to notify other terminals constituting the command group;
Provided to the tool a control API related to group member addition, generates a command corresponding to a call of the control API related to group member addition, and a command notified from the generated command and other terminals constituting the group And inviting means for requesting the message control means to notify the other terminals constituting the command group,
Communication means for exchanging information between terminals constituting a group,
The distributed synchronization management means temporarily stores a command requested to be notified by the synchronization control information management means and the object information management means.

上記のように構成された本発明においては、各端末で行った共有オブジェクトに対する操作やメンバ追加やグループ作成などのグループの制御を各端末がそれぞれの記憶手段に対して反映し、その処理内容をグループを構成する他の端末に通知し、通知を受けた端末はそれを反映することにより、任意に選択したメンバからなるグループで情報を共有することができる。   In the present invention configured as described above, each terminal reflects the operation of the shared object performed at each terminal, group control such as member addition and group creation on each storage means, and the processing contents are reflected. By notifying other terminals constituting the group and reflecting the notification, the information can be shared by the group of arbitrarily selected members.

また、記憶手段に共有情報の一時記憶部を設け、グループを構成する他の端末に通知していない処理は一時記憶部に反映し、端末がネットワ−クにアクセスできない場合はアクセスできるようになるまでその処理内容を保管しておくことにより、ネットワークに接続していない状態でも共有する情報を参照したり編集したりすることができる。   In addition, a temporary storage unit for shared information is provided in the storage unit, and processing not notified to other terminals constituting the group is reflected in the temporary storage unit, and can be accessed when the terminal cannot access the network. By storing the processing contents until the end, it is possible to refer to and edit the shared information even when not connected to the network.

また、通信手段がメッセージ制御手段からメッセージの送信機能及び受信機能が呼び出せる形態で実装されていれば、使う通信プロトコルを自由に選択することができ、それにより、端末間の通信手段を、システムを適用するインフラの状況に応じて選択することができる。   Also, if the communication means is implemented in such a form that the message transmission function and the reception function can be called from the message control means, the communication protocol to be used can be freely selected. It can be selected according to the status of the infrastructure to be applied.

また、ツールが共通で必要とする機能(オブジェクト情報操作、同期制御情報操作及び招待処理)を利用できるAPIをツールに対して提供することにより、端末のリソースを圧迫せず、ツールの実装に制約が生じてしまうことがなくなる。   In addition, by providing APIs that can use the functions (object information manipulation, synchronization control information manipulation, and invitation processing) that are commonly required by the tools to the tools, it is possible to constrain the implementation of the tools without squeezing terminal resources. Will not occur.

また、ツールからのAPI呼び出しによって行われた共有情報の変更をまず記憶手段の一時記憶部に反映し、他端末からの通知による共有情報の変更を記憶部に反映後に、一時記憶部に記録された共有情報の変更を記憶部に反映させる。その際に、共有情報に付加されているバージョン情報を比較することで競合を判定し、判定後は速やかに一時記憶部の情報を削除することによっても、端末のリソースを圧迫せず、ツールの実装に制約が生じてしまうことがなくなる。   In addition, the change of the shared information made by the API call from the tool is first reflected in the temporary storage unit of the storage means, and the change of the shared information by the notification from the other terminal is reflected in the storage unit, and then recorded in the temporary storage unit. The changed shared information is reflected in the storage unit. At that time, it is possible to determine the conflict by comparing the version information added to the shared information, and to quickly delete the information in the temporary storage unit after the determination, without compressing the terminal resources, There are no restrictions on implementation.

本発明は、以下に記載するような効果を奏する。   The present invention has the following effects.

(1)グループの制御機能の実現にサーバを介さず、端末上の処理と処理内容の端末間のやりとりで行われるため、グループの作成や変更などのグループ構成の制御機能について、各端末がサーバの能力などによる制限をうけることなく利用することができ、ユーザが、必要なときに、任意に選択したメンバからなるグループで情報を共有できる。   (1) Since the group control function is implemented by the process on the terminal and the exchange of the process contents without using the server, each terminal is a server for the group configuration control function such as group creation or change. It can be used without being restricted by the ability of the user, and the user can share information with a group of arbitrarily selected members when necessary.

(2)共有する情報が各端末の記憶手段に保持され、更に共有情報を一時的に記憶する一時記憶部を有しているため、端末がネットワ−クに繋がっていない状態でも共有情報の参照および編集ができ、その編集内容はネットワ−クが繋がった時に速やかにグループを構成する他の端末に反映することができる。   (2) Since the information to be shared is stored in the storage means of each terminal and further has a temporary storage unit for temporarily storing the shared information, the shared information can be referred to even when the terminal is not connected to the network. Editing can be performed, and the edited contents can be immediately reflected on other terminals constituting the group when the network is connected.

(3)通信機能が、メッセージ制御機能からメッセージの送信機能及び受信機能が呼び出せる形態で実装されているため、端末間の通信手段を、システムを適用するインフラの状況に応じて選択することができる。   (3) Since the communication function is implemented in such a manner that the message transmission function and the reception function can be called from the message control function, the communication means between the terminals can be selected according to the status of the infrastructure to which the system is applied. .

(4)ツールが共通で必要とする機能(オブジェクト情報操作、同期制御情報操作及び招待処理)を利用できるAPIを、ツールに対して提供しているため、共有情報を利用するツールを容易に、かつ自由に実装することができる。   (4) Since an API that can use functions (object information operation, synchronization control information operation, and invitation processing) that are commonly required by the tool is provided to the tool, a tool that uses shared information can be easily And it can be implemented freely.

(5)記憶手段に一時記憶部を設けて、ツールからのAPI呼び出しによって行われた共有情報の変更はまず一時記憶部に反映し、他端末からの通知による共有情報の変更を記憶部に反映後に、一時記憶部に記録された共有情報の変更を記憶部に反映させる際に、共有情報に付加されているバージョン情報を比較することで競合を判定し、判定後は速やかに一時記憶部の情報を削除することで、多くの情報を保持せずに競合対処が実現できるため、各端末が競合対処のための情報でメモリが圧迫されることがない。   (5) A temporary storage unit is provided in the storage means, and the change of the shared information made by the API call from the tool is first reflected in the temporary storage unit, and the change of the shared information due to the notification from the other terminal is reflected in the storage unit. Later, when the change of the shared information recorded in the temporary storage unit is reflected in the storage unit, the conflict is determined by comparing the version information added to the shared information, and immediately after the determination, the temporary storage unit By deleting the information, it is possible to cope with the contention without holding a lot of information, so that each terminal does not press the memory with the information for dealing with the contention.

以下に、本発明の実施の形態について図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

(第1の実施の形態)
図1は、本発明の情報共有空間提供システムの実施の一形態を示す図である。
(First embodiment)
FIG. 1 is a diagram showing an embodiment of an information sharing space providing system according to the present invention.

図1に示すように本形態においては、端末10内に、情報を記憶する記憶部2と、プログラム制御により動作するデータ処理部1と、グループを構成する端末間の情報のやりとりを実現する1つ以上の通信部8a〜8cとが設けられている。   As shown in FIG. 1, in this embodiment, a storage unit 2 that stores information, a data processing unit 1 that operates by program control, and exchange of information between terminals that constitute a group 1 are realized in the terminal 10. Two or more communication units 8a to 8c are provided.

記憶部2は、端末を保持するユーザが所属する1つ以上のグループのグループ情報や、そのグループを構成するメンバのメンバ情報などの同期制御情報を記憶する同期制御情報記憶部2aと、ツール9a〜9cからの指示により更新された同期制御情報を一時的に記憶する同期制御情報一時記憶部2bと、端末を保持するユーザが所属するグループで共有するオブジェクト情報を記憶するオブジェクト情報記憶部2cと、ツール9a〜9cからの指示により更新されたオブジェクト情報を一時的に記憶するオブジェクト情報一時記憶部2dとから構成されている。   The storage unit 2 includes a synchronization control information storage unit 2a that stores synchronization control information such as group information of one or more groups to which a user holding the terminal belongs, and member information of members constituting the group, and a tool 9a. Synchronous control information temporary storage unit 2b that temporarily stores the synchronous control information updated by instructions from -9c, and object information storage unit 2c that stores object information shared by the group to which the user holding the terminal belongs The object information temporary storage unit 2d that temporarily stores object information updated in accordance with instructions from the tools 9a to 9c.

データ処理部1は、グループを構成する他の端末とのメッセージの送受信を定期的に行うメッセージ制御部3と、通知を依頼されたコマンドを一時的に保管し、保管したコマンドと、グループを構成する他の端末からメッセージ制御部3を介して通知されたコマンドとの実行制御を行う分散同期管理部4と、同期制御情報の制御用API(Application Program Interface)をツール9a〜9cに提供し、同期制御情報の制御APIが呼び出された際に、処理内容を表現するコマンドの生成と、コマンドの同期制御情報記憶部2a及び同期制御情報一時記憶部2bへの反映及びそれに伴う競合対応処理を行い、コマンドのグループを構成する他の端末への通知を分散同期管理部4に依頼する同期制御情報管理部5と、グループで共有するオブジェクト情報の制御APIをツール9a〜9cに提供し、オブジェクト情報の制御APIによるコマンドの生成と、コマンドのオブジェクト情報記憶部2c及びオブジェクト情報一時記憶部2dへの反映と、それに伴う競合対応処理を行い、コマンドのグループを構成する他の端末への通知を分散同期管理部4に依頼するオブジェクト情報管理部6と、グループのメンバ追加に関する制御APIをツール9a〜9cに提供し、グループのメンバ追加に関する制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを記憶部2に反映し、コマンドをグループを構成する他の端末への通知をメッセージ制御部3に依頼する招待部7とから構成され、同期制御情報管理部5とオブジェクト情報管理部6から通知を依頼されたコマンドが分散同期管理部4に一時的に保管される。   The data processing unit 1 temporarily stores a message control unit 3 that periodically transmits and receives messages to and from other terminals that constitute the group, and commands that are requested to be notified. A distributed synchronization management unit 4 that controls execution of commands notified from other terminals via the message control unit 3 and an API (Application Program Interface) for controlling synchronization control information to the tools 9a to 9c, When the control API of the synchronization control information is called, a command that expresses the processing contents is generated, the command is reflected in the synchronization control information storage unit 2a and the synchronization control information temporary storage unit 2b, and the corresponding conflict handling process is performed. The synchronization control information management unit 5 that requests the distributed synchronization management unit 4 to notify the other terminals constituting the command group, and the object information shared by the group. The control API is provided to the tools 9a to 9c, the command generation by the object information control API, the reflection of the command to the object information storage unit 2c and the object information temporary storage unit 2d, and the corresponding conflict handling process are performed. An object information management unit 6 that requests the distributed synchronization management unit 4 to notify the other terminals constituting the command group and a control API related to group member addition are provided to the tools 9a to 9c, and control related to group member addition is provided. A command corresponding to the API call is generated, the generated command and a command notified from another terminal constituting the group are reflected in the storage unit 2, and the notification of the command to the other terminal constituting the group is message-controlled. And an invitation unit 7 that requests the unit 3, and includes a synchronization control information management unit 5 and object information. The command requested to be notified from the information management unit 6 is temporarily stored in the distributed synchronization management unit 4.

通信部8a〜8cは、メッセージの送信及び受信メッセージの提供機能を提供するモジュ−ルである。メッセージ制御部3からメッセージの送信機能及び受信機能が呼び出せる形態で実装されていれば、利用する通信プロトコルは不問である。図1に示すように、互いに異なる通信プロトコルを用いた通信機能を有する3つの通信部8a〜8cを実装することで、グループやメンバごとに異なる通信プロトコルを使うことも可能である。通信プロトコルの識別情報は、グループ情報やメンバ情報の情報通知先情報内に含まれる。   The communication units 8a to 8c are modules that provide message transmission and reception message providing functions. If the message control unit 3 is implemented so that the message transmission function and the reception function can be called, the communication protocol to be used is not limited. As shown in FIG. 1, it is possible to use a different communication protocol for each group or member by mounting three communication units 8a to 8c having communication functions using different communication protocols. The identification information of the communication protocol is included in the information notification destination information of the group information and member information.

本形態の運用の際には、本形態に、共有情報を利用する機能をユーザに提供し、ユーザ操作の受付や共有情報の状態のユーザへの伝達を行う1つ以上のツール9a〜9cを組み合わせる。ツール9a〜9cは本形態が提供するAPIを利用して作成できる。   In operation of the present embodiment, the present embodiment includes one or more tools 9a to 9c that provide a user with a function of using shared information and accept user operations and transmit the shared information status to the user. combine. The tools 9a to 9c can be created using an API provided by this embodiment.

本形態及びツール9a〜9cは、端末10内のシステムとして実装される。グループを構成するメンバは同じ本形態及びツール9a〜9cが実装された端末11,12を1つ以上保持している。以降、端末10を単に端末又はロ−カル端末、また、端末11,12をリモ−ト端末と呼んで区別することにする。   The present embodiment and the tools 9a to 9c are implemented as a system in the terminal 10. The members constituting the group hold one or more terminals 11 and 12 on which the same form and tools 9a to 9c are mounted. Hereinafter, the terminal 10 is simply referred to as a terminal or a local terminal, and the terminals 11 and 12 are referred to as remote terminals.

図2は、図1に示した同期制御情報記憶部2aにて記憶されている同期制御情報の構成例を示す図である。   FIG. 2 is a diagram illustrating a configuration example of the synchronization control information stored in the synchronization control information storage unit 2a illustrated in FIG.

図2に示すように、グループ情報301は、システムでユニ−クなグループ識別子、競合検出で利用するバージョン、グループ名、グループ宛の情報通知先と、1つ以上の参加メンバ識別子などが記述されている。なお、グループ宛ての情報通知先はなくてもよい。また、メンバ情報302は、システムでユニ−クなメンバ識別子と、競合検出で利用するバージョン、メンバ宛の情報通知先などが記述されている。グループ情報301の参加メンバ識別子は、グループメンバ情報302のメンバ識別子と対応づけられている。ここで示した構成例では共有に必要な最低限の情報だけを示しており、これらに加えて、グループ情報301には、グループ作成者やグループの説明などグループの付加情報を記述して共有することができるし、メンバ情報302には、グループメンバの所属情報などの付加情報を記述して共有することができる。   As shown in FIG. 2, the group information 301 describes a unique group identifier in the system, a version used for conflict detection, a group name, an information notification destination addressed to the group, and one or more participating member identifiers. ing. Note that there is no need to notify the information addressed to the group. The member information 302 describes a unique member identifier in the system, a version used for conflict detection, an information notification destination addressed to the member, and the like. The participating member identifier of the group information 301 is associated with the member identifier of the group member information 302. In the configuration example shown here, only the minimum information necessary for sharing is shown, and in addition to this, the group information 301 describes the group additional information such as the group creator and the group description, and is shared. In the member information 302, additional information such as group member affiliation information can be described and shared.

図3は、図1に示したオブジェクト情報管理部2cにて記憶されているオブジェクト情報の構成例を示す図である。   FIG. 3 is a diagram illustrating a configuration example of object information stored in the object information management unit 2c illustrated in FIG.

図3に示すように、オブジェクト情報401は、グループでユニ−ク、またはシステムでユニ−クなオブジェクト識別子と、競合検出で利用するバージョン、オブジェクト名、ファイルやスケジュ−ルまたは掲示板のメッセージなどオブジェクトの種別を示すオブジェクトタイプと、オブジェクトタイプ別に決まったフォ−マットでオブジェクトの内容が記述される固有情報によって構成される。固有情報はXML形式で記述されていてもよい。ここで示した構成例では、最低限の情報だけを示しており、これらに加えてオブジェクト作成者や作成日時、最終更新日時など付加情報を記述して共有することができる。   As shown in FIG. 3, object information 401 includes objects such as a group unique identifier or a system unique identifier, a version used in conflict detection, an object name, a file, a schedule, or a bulletin board message. The object type indicating the type of the object and unique information in which the contents of the object are described in a format determined for each object type. The unique information may be described in the XML format. In the configuration example shown here, only minimum information is shown, and in addition to this, additional information such as the object creator, creation date and time, and last update date and time can be described and shared.

これら同期制御情報とオブジェクト情報とは、同じ仕組みで共有の対象となる情報として扱われる。   These synchronization control information and object information are handled as information to be shared by the same mechanism.

同期制御情報管理部5がツール9a〜9cに提供するAPIには、同期制御情報の参照・編集などがある。また、オブジェクト情報管理部6が提供するAPIには、オブジェクト情報の新規登録、参照、編集、削除などがある。招待部7が提供するAPIには、グループ新規作成、招待状作成、招待状読み込み、グループ退会などがある。   The API provided to the tools 9a to 9c by the synchronization control information management unit 5 includes reference / editing of synchronization control information. The API provided by the object information management unit 6 includes new registration, reference, editing, and deletion of object information. The API provided by the invitation unit 7 includes new group creation, invitation creation, invitation reading, and group withdrawal.

また、同期制御情報管理部5は、発生した同期制御情報の更新及び競合発生などの同期制御情報に関するイベントをツール9a〜9cに通知するAPIも提供する。同様にオブジェクト情報管理部6は、発生したオブジェクト情報の新規登録、更新、削除、及び競合発生などのオブジェクト情報に関するイベントをツール9a〜9cに通知するAPIも提供する。同様に、招待部7は、招待状読み込み、グループ参加要求メッセージ取得などの招待処理に関するイベントをツールに通知するAPIも提供する。   The synchronization control information management unit 5 also provides an API for notifying the tools 9a to 9c of events related to synchronization control information such as the update of the generated synchronization control information and the occurrence of contention. Similarly, the object information management unit 6 also provides an API for notifying the tools 9a to 9c of events related to object information such as new registration, update, deletion, and occurrence of conflict of generated object information. Similarly, the invitation unit 7 also provides an API for notifying the tool of events related to invitation processing such as invitation reading and group participation request message acquisition.

ツール9a〜9cはこれらのAPIを使って実現されている、グループで共有するファイルを操作するツールや、スケジュ−ルを共有するツール、掲示板などのツールである。   The tools 9a to 9c are tools such as a tool for operating a file shared by a group, a tool for sharing a schedule, and a bulletin board, which are realized by using these APIs.

図4は、図1に示したメッセージ制御部3が扱うメッセージの構成例を示す図である。   FIG. 4 is a diagram illustrating a configuration example of a message handled by the message control unit 3 illustrated in FIG.

図4に示すように、メッセージとは端末間でやりとりされる情報のまとまりであり、1つ以上のコマンドが含まれる。まず、メッセージのあて先情報を示し、対応する通信機能の識別も含む情報通知先情報と、コマンドの対象識別情報(グループ識別子又はユーザ識別子)と、コマンドの対象ごとに割り振られる数値で、メッセージ受信時の整列に使われるメッセージシーケンス番号と、コマンドを処理する機能を区別するコマンド生成識別(同期制御情報管理5、オブジェクト情報管理部6、招待部7のいずれかを示すデータ)と、コマンドデータで成り立つ。   As shown in FIG. 4, a message is a group of information exchanged between terminals, and includes one or more commands. First, it shows the message destination information and includes information notification destination information including the identification of the corresponding communication function, command target identification information (group identifier or user identifier), and a numerical value assigned to each command target. The message sequence number used for arranging the commands, command generation identification (data indicating any one of the synchronization control information management 5, the object information management unit 6, and the invitation unit 7) for distinguishing the function for processing the command, and the command data. .

図5は、図1に示したオブジェクト情報管理部6が生成するコマンドの構成例を示す図である。   FIG. 5 is a diagram illustrating a configuration example of a command generated by the object information management unit 6 illustrated in FIG.

図5に示すように、コマンドは、ツール経由でユーザが行った処理の内容を記述するデータであり、その構成はコマンドを生成する機能によって異なり、処理の対象となる対象オブジェクト識別子と、新規作成や更新、削除などの作業種別と、処理後の最新のオブジェクト情報と、作業を行ったユーザ識別と、作業日時などが含まれている。   As shown in FIG. 5, the command is data describing the contents of the process performed by the user via the tool, and its configuration differs depending on the function for generating the command, and the target object identifier to be processed and the newly created Work type such as update, delete, and so on, the latest object information after processing, identification of the user who performed the work, work date and time, and the like.

以下に、本形態における動作についてフローチャートを参照して説明する。なお、以下の説明では、「オブジェクト編集対応」と「メッセージの反映・通知」の2種類の処理を説明する。本形態に基づくシステムが動作している端末では、この2つの処理がそれぞれ独立して非同期に動作することで、グループに所属する端末間での情報共有が実現する。すなわち、同期制御情報管理部5における同期制御情報の制御APIが呼び出されたときの処理及びオブジェクト情報管理部6におけるオブジェクト情報の制御APIが呼び出されたときの処理が、メッセージ制御部3にてグループを構成する他の端末との間で定期的に行われるメッセージ送受信処理と非同期に行われている。   Hereinafter, the operation in this embodiment will be described with reference to flowcharts. In the following description, two types of processing, “object editing support” and “message reflection / notification” will be described. In a terminal in which a system based on this embodiment is operating, these two processes operate independently and asynchronously, thereby realizing information sharing between terminals belonging to a group. That is, the process when the synchronization control information control API in the synchronization control information management unit 5 is called and the process when the object information control API in the object information management unit 6 is called are grouped in the message control unit 3. It is performed asynchronously with the message transmission / reception processing that is periodically performed with other terminals constituting the network.

まず、図1に示した情報共有空間提供システムにおいて、ある端末のツール上で行われたオブジェクト編集がグループの他の端末に反映される手順について説明する。なお、ここではオブジェクト編集について説明するが、オブジェクト新規追加、オブジェクト削除についても同様の手順で処理内容が他の端末に反映される。   First, in the information sharing space providing system shown in FIG. 1, a procedure in which object editing performed on a tool of a certain terminal is reflected on other terminals of the group will be described. Although the object editing will be described here, the processing contents are also reflected on other terminals in the same procedure for adding and deleting objects.

図6は、図1に示した情報共有空間提供システムにおけるオブジェクト編集対応処理を説明するためのフローチャートである。   FIG. 6 is a flowchart for explaining object editing support processing in the information sharing space providing system shown in FIG.

ユーザからオブジェクト編集が入力されたツールは、入力された情報を設定してオブジェクト情報管理部6が提供するAPIを呼び出す(ステップ501)。   The tool to which the object edit is input by the user sets the input information and calls an API provided by the object information management unit 6 (step 501).

次に、オブジェクト情報管理部6は、オブジェクトの編集内容をオブジェクト情報一時記憶部2dに反映させる(ステップ502)。   Next, the object information management unit 6 reflects the edited contents of the object in the object information temporary storage unit 2d (step 502).

次に、オブジェクト情報管理部6は、今回行った処理内容を図5に示したコマンド802に変換し、分散同期管理部4に登録する(ステップ503)。以上でオブジェクト編集時の処理は終了する。   Next, the object information management unit 6 converts the processing content performed this time into a command 802 shown in FIG. 5 and registers it in the distributed synchronization management unit 4 (step 503). This completes the process for editing the object.

次に、図1に示した情報共有空間提供システムにおけるメッセージの反映・通知処理について説明する。この処理は、端末がネットワ−クに繋がっている間は、一定間隔で繰り返し実行されている。ネットワ−クに繋がっていない場合は、定期的にネットワ−クに繋がっているか否か判定し、繋がっている状態になっていることが判明した場合に、メッセージの反映・通知処理を開始する。すなわち、メッセージ制御部3は、端末がグループを構成する他の端末とのメッセージの送受信ができない期間はメッセージ送受信を行わず、同期制御情報管理部5が提供する同期制御情報の制御APIの呼び出し及びオブジェクト情報管理部6が提供するオブジェクト情報の制御APIの呼び出しに対応して作成されるコマンドを分散同期管理部4に記録し続け、他の端末とのメッセージ送受信が可能になったときに、記録したコマンドの通知を行う。   Next, message reflection / notification processing in the information sharing space providing system shown in FIG. 1 will be described. This process is repeatedly executed at regular intervals while the terminal is connected to the network. If it is not connected to the network, it is periodically determined whether or not it is connected to the network, and when it is determined that it is connected, the message reflection / notification process is started. That is, the message control unit 3 does not perform message transmission / reception during a period in which the terminal cannot transmit / receive a message to / from other terminals constituting the group, and calls the control API for the synchronization control information provided by the synchronization control information management unit 5 and A command created in response to a call to the control API for object information provided by the object information management unit 6 is continuously recorded in the distributed synchronization management unit 4, and is recorded when message transmission / reception with other terminals becomes possible. Notification of the command that was executed.

図7は、図1に示した情報共有空間提供システムにおけるメッセージの反映・通知処理を説明するためのフローチャートである。   FIG. 7 is a flowchart for explaining message reflection / notification processing in the information sharing space providing system shown in FIG.

まず、メッセージ制御部3が、実装されている通信部8a〜8cに対して、メッセージの取得を指示し、取得したメッセージをメッセージに記述されている情報を利用して整列する(ステップ504)。   First, the message control unit 3 instructs the installed communication units 8a to 8c to acquire messages, and arranges the acquired messages using information described in the messages (step 504).

整列は、しばらくメッセージの反映・通知処理を行っていなかった端末において、処理対象が同じ(つまり、メッセージに記述されるコマンド対象識別が同じ)複数の処理を複数のメッセージとして取得した場合に、処理が発生した順番どおりに反映を行うために行われる。整列は、同じコマンド対象識別を持つメッセージに対して、メッセージシーケンス番号で並び替えを行うことで実現する。グループごと、またはユーザごとの最新のメッセージシーケンス番号は、グループ、ユーザごとに記録しておき、各端末がメッセージ通知する際には、最新のメッセージシーケンス番号をインクリメントしてメッセージに記述する。メッセージ取得時には、取得したメッセージに記述されたメッセージシーケンス番号で、記録しているメッセージシーケンス番号を書き換える。シーケンス番号が同じメッセージが複数発生する場合があるが、この場合はどちらを先に処理しても良い。   Alignment is processed when multiple processing is acquired as multiple messages with the same processing target (that is, the command target identification described in the message is the same) in a terminal that has not performed message reflection / notification processing for a while. This is done to reflect in the order in which they occurred. Sorting is realized by rearranging messages having the same command target identification by message sequence number. The latest message sequence number for each group or user is recorded for each group and user, and when each terminal notifies a message, the latest message sequence number is incremented and described in the message. At the time of message acquisition, the recorded message sequence number is rewritten with the message sequence number described in the acquired message. Multiple messages with the same sequence number may occur. In this case, either one may be processed first.

次に、それぞれのメッセージの処理を行う。メッセージが同期制御用メッセージか招待用メッセージかを、コマンド生成機能識別を参照して判断し(ステップ505)、招待用のメッセージであればメッセージは招待部7に通知され、招待機能がメッセージをコマンドに変換し(ステップ506)、コマンドに対応する処理を実行する(ステップ507)。   Next, each message is processed. Whether the message is a synchronous control message or an invitation message is determined by referring to the command generation function identification (step 505). If the message is an invitation message, the message is notified to the invitation unit 7, and the invitation function commands the message. (Step 506) and processing corresponding to the command is executed (step 507).

一方、メッセージが同期制御用メッセージであった場合は、メッセージが分散同期管理部4に通知され、分散同期管理部4がメッセージをコマンドに変換する(ステップ508)。分散同期管理部4は、同期制御情報管理部5及びオブジェクト情報管理部6のうち、コマンドに対応する構成要素にコマンドの実行を依頼する(ステップ509)。対応する機能は、コマンドの対象データの種別(同期制御情報かオブジェクト情報か)によって定まる。通知を受けた同期制御情報管理部5又はオブジェクト情報管理部6はコマンドに記述されている内容を同期制御情報記憶部2a又はオブジェクト情報記憶部2cに反映する(ステップ510)。ここで、反映する対象は一時記憶部ではない。ステップ504で取得した全てのメッセージについて処理が完了すると、次の処理に進む(ステップ511)。   On the other hand, if the message is a synchronization control message, the message is notified to the distributed synchronization management unit 4, and the distributed synchronization management unit 4 converts the message into a command (step 508). The distributed synchronization management unit 4 requests the component corresponding to the command among the synchronization control information management unit 5 and the object information management unit 6 to execute the command (step 509). The corresponding function is determined by the type of the target data of the command (synchronous control information or object information). Upon receiving the notification, the synchronization control information management unit 5 or the object information management unit 6 reflects the contents described in the command in the synchronization control information storage unit 2a or the object information storage unit 2c (step 510). Here, the object to be reflected is not a temporary storage unit. When the processing is completed for all the messages acquired in step 504, the processing proceeds to the next processing (step 511).

全ての取得メッセージの処理が完了すると、ステップ503で登録された0個以上のコマンドについて処理が行われる。まず、分散同期管理4に登録されたそれぞれのコマンドについて、対応する同期制御情報管理部5、オブジェクト情報管理部6のいずれかの機能にコマンドの内容の記憶部2への反映を依頼する(ステップ512,513)。ここではオブジェクト編集コマンドと想定するため、依頼対象はオブジェクト情報管理部6となる。   When processing of all acquired messages is completed, processing is performed for zero or more commands registered in step 503. First, for each command registered in the distributed synchronization management 4, a request is made to reflect the contents of the command in the storage unit 2 to any of the functions of the corresponding synchronization control information management unit 5 and object information management unit 6 (steps). 512, 513). Here, since the object editing command is assumed, the object to be requested is the object information management unit 6.

オブジェクト情報管理部6は、コマンドに含まれ、オブジェクト情報一時記憶部2dに記憶されたオブジェクト情報のバージョンと、オブジェクト情報記憶部2cに記憶されているオブジェクト情報のバージョンとを比較する。バージョンが一致するか、コマンドに含まれるオブジェクト情報のバージョンが小さな場合は競合と判定される(ステップ514)。   The object information management unit 6 compares the version of the object information included in the command and stored in the object information temporary storage unit 2d with the version of the object information stored in the object information storage unit 2c. If the versions match or the version of the object information included in the command is small, it is determined that there is a conflict (step 514).

競合していなかった場合は、分散同期管理部4がコマンドをメッセージに変換し、メッセージ制御部3にコマンドの通知を依頼する(ステップ515)。   If there is no conflict, the distributed synchronization management unit 4 converts the command into a message and requests the message control unit 3 to notify the command (step 515).

メッセージ制御部3は、対象オブジェクトを共有するグループの通知先を同期制御情報記憶部2aから取得し、通知先へのメッセージ通知を、通知先に対応する通信部8a〜8cを選択して依頼する。   The message control unit 3 acquires the notification destination of the group sharing the target object from the synchronization control information storage unit 2a, selects the communication units 8a to 8c corresponding to the notification destination, and requests message notification to the notification destination. .

一方、競合していた場合は、オブジェクト情報管理部6が蓄積コマンドの内容、及びそれがキャンセルされたことをツールに通知する(ステップ517)。   On the other hand, if there is a conflict, the object information management unit 6 notifies the tool of the contents of the stored command and that it has been canceled (step 517).

次に、分散同期管理部4で処理済みの登録コマンドを削除する(ステップ518)。   Next, the registration command processed by the distributed synchronization management unit 4 is deleted (step 518).

以上の処理は、分散同期管理部4に登録されているコマンド全てに対して行われる(ステップ519)。   The above processing is performed for all commands registered in the distributed synchronization management unit 4 (step 519).

すべてのコマンドの処理が完了した後、メッセージ制御部3はオブジェクト情報一時記憶部2b及び同期制御情報一時記憶部2dのデータを廃棄させる(ステップ520)。   After processing of all commands is completed, the message control unit 3 discards the data in the object information temporary storage unit 2b and the synchronization control information temporary storage unit 2d (step 520).

以上が定期的に行われるメッセージの反映・通知処理である。   The above is the message reflection / notification processing performed periodically.

図2に示したグループ情報301及びメンバ情報302の編集についてもほぼ同様の処理でグループの他の端末に反映される。異なる点は、ステップ502にて処理を反映する対象が同期情報一時記憶部2bであることと、ステップ513にて処理を反映する対象が同期情報記憶部2aであることと、ステップ502,503,513,517にて処理を行うモジュ−ルがオブジェクト情報管理部6ではなく同期制御情報管理部5であることである。   The editing of the group information 301 and member information 302 shown in FIG. 2 is reflected on the other terminals of the group by substantially the same processing. The difference is that the object reflecting the process in step 502 is the synchronization information temporary storage unit 2b, the object reflecting the process in step 513 is the synchronization information storage unit 2a, and steps 502, 503, The module that performs processing in 513 and 517 is not the object information management unit 6 but the synchronization control information management unit 5.

以上で述べた、情報同期手順が実現できるためには、グループを構成する各端末が、所属するグループの情報、グループのメンバ情報(これらをまとめて同期制御情報と呼ぶ)の最新の情報を保持していなくてはならない。従って、グループへの新しいメンバの追加や削除を支援する機能が提供されていないと、処理の度に各端末上の同期制御情報を人手で変更しなくてはならず、現実的ではない。   In order to realize the information synchronization procedure described above, each terminal constituting the group holds the latest information on the group information and group member information (collectively referred to as synchronization control information) to which the terminal belongs. I have to do it. Therefore, if a function for supporting addition or deletion of a new member to a group is not provided, the synchronization control information on each terminal must be manually changed for each process, which is not realistic.

以下に、図1に示した情報共有空間提供システムにおけるグループの新規作成及びグループへの招待手順について説明する。   In the following, a new group creation and group invitation procedure in the information sharing space providing system shown in FIG. 1 will be described.

図8は、図1に示した情報共有空間提供システムにおけるグループの新規作成及びグループへの招待手順を説明するためのフローチャートである。   FIG. 8 is a flowchart for explaining a new group creation and group invitation procedure in the information sharing space providing system shown in FIG.

まず、招待元端末が、同期制御情報管理部5が提供するAPIを利用して新規グループ情報を同期制御情報記憶部2aに登録する(ステップ601)。   First, the invitation source terminal registers new group information in the synchronization control information storage unit 2a using the API provided by the synchronization control information management unit 5 (step 601).

次に、同期制御情報管理部5が提供するAPIを利用して、作成したグループの参加者として自分自身を加える。具体的には、グループ情報の参加メンバ識別子に端末を保持するユーザのユーザ識別子が書き加えられる(ステップ602)。以上で新規グループ作成処理は完了する。   Next, using the API provided by the synchronization control information management unit 5, add yourself as a participant in the created group. Specifically, the user identifier of the user holding the terminal is added to the participating member identifier of the group information (step 602). This completes the new group creation process.

次に、招待部7が提供するAPIを利用して、グループへの招待状を作成する。招待状はファイルなどユーザが扱える形で作成される(ステップ603)。   Next, an invitation to the group is created using the API provided by the invitation unit 7. The invitation is created in a form that can be handled by the user, such as a file (step 603).

図9は、図1に示した情報共有空間提供システムにて作成される招待状の構成例を示す図である。   FIG. 9 is a diagram showing a configuration example of an invitation created by the information sharing space providing system shown in FIG.

図9に示すように、招待状は、グループ識別子と、グループの説明情報(グループ名やグループの目的など)と、招待元のメンバ情報(同期制御情報記憶部2aに記憶されているもの)とで構成されている。ここで、同期制御情報記憶部2bに記憶されているグループ情報自体は含まれていない理由は、グループへの参加が確定しているわけではないユーザに対して、参加メンバ情報など詳細情報を渡さないことで、セキュリティを高めるためである。   As shown in FIG. 9, the invitation includes a group identifier, group explanation information (group name, group purpose, etc.), and invitation source member information (stored in the synchronization control information storage unit 2a). It consists of Here, the reason why the group information itself stored in the synchronization control information storage unit 2b is not included is that detailed information such as participating member information is passed to a user who has not yet confirmed participation in the group. This is to improve security.

次に、このようにして作成した招待状を招待先端末に配布する(ステップ604)。配布は人手で行う。たとえば、メ−ルに添付して配布したり、フロッピ−などの物理的な媒体を経由して配布したりする。   Next, the invitation created in this way is distributed to the invitee terminal (step 604). Distribution is done manually. For example, distribution is performed by attaching to a mail or via a physical medium such as a floppy.

招待先端末では取得した招待状を招待部7が提供するAPIを利用してシステムに読み込ませる(ステップ605)。   In the invitation destination terminal, the acquired invitation is read into the system using the API provided by the invitation unit 7 (step 605).

招待部7は、正常に招待状を読み込めるとイベントをツールに通知し、ツールはユーザに対してグループへの参加の有無を問い合わせる。参加/非参加は招待部7が提供するAPIによってシステムに伝達され、参加しない場合は、招待部7は取り込んだ招待状情報を破棄し、処理は終了する(ステップ606)。   When the invitation unit 7 has successfully read the invitation, the invitation unit 7 notifies the tool of the event, and the tool asks the user whether or not to join the group. Participation / non-participation is transmitted to the system by an API provided by the invitation unit 7, and when not participating, the invitation unit 7 discards the retrieved invitation information, and the process ends (step 606).

一方、参加する場合は、招待状に含まれる招待元メンバ情報を同期制御情報記憶部2aに記録した後、参加要求メッセージを作成する(ステップ607)。   On the other hand, when participating, after recording the invitation source member information included in the invitation in the synchronization control information storage unit 2a, a participation request message is created (step 607).

その後、メッセージ制御部3に招待元端末への参加要求メッセージの通知を依頼し、同期制御情報記憶部2aに記録されたメンバ情報を利用して、参加要求メッセージが招待元端末に通知される(ステップ608)。   Thereafter, the message control unit 3 is requested to notify the invitation source terminal of the participation request message, and the participation request message is notified to the invitation source terminal using the member information recorded in the synchronization control information storage unit 2a ( Step 608).

図10は、図1に示した情報共有空間提供システムにて端末に通知される参加要求メッセージの構成例を示す図である。   FIG. 10 is a diagram showing a configuration example of a participation request message notified to the terminal in the information sharing space providing system shown in FIG.

図10に示すように、参加要求メッセージは、参加を希望するグループのグループ識別子と、参加を要求する端末保持ユーザのメンバ情報とで構成されている。   As shown in FIG. 10, the participation request message includes a group identifier of a group that wants to participate and member information of a terminal holding user who requests participation.

招待元端末では、ステップ608によって通知された参加要求メッセージをメッセージ制御部3が取得し、招待部7に通知する(ステップ609)。   In the invitation source terminal, the message control unit 3 acquires the participation request message notified in step 608 and notifies the invitation unit 7 (step 609).

招待部7は、参加要求メッセージ取得イベントをツールに通知する。ツールは通常、招待したユーザに対して、参加要求メッセージを通知したユーザを参加させてよいか確認するダイアログを出し、参加許可/不許可を招待部7が提供するAPIを利用してシステムに通知する(ステップ610)。   The invitation unit 7 notifies the tool of a participation request message acquisition event. The tool usually gives the invited user a dialog confirming whether or not the user who has notified the participation request message can participate, and notifies the system of participation permission / denial using the API provided by the invitation unit 7. (Step 610).

参加が不許可であった場合は処理が終了する(または、不許可であったことを招待先端末に伝達してもよい)。   If the participation is not permitted, the process is terminated (or the fact that the participation is not permitted may be transmitted to the invitee terminal).

また、参加が許可された場合は、グループを構成する全端末宛にメンバ追加を通知する。メンバ追加通知には、追加するメンバのメンバ情報(参加要求メッセージ702に記載)が含まれる(ステップ611)。   When participation is permitted, member addition is notified to all terminals constituting the group. The member addition notification includes member information of the member to be added (described in the participation request message 702) (step 611).

通知を受けた各端末は、それぞれの同期制御情報管理部5において、同期制御情報記憶部2aに対してメンバ情報を追加し、グループ情報の参加メンバ識別子に、参加要求メッセージに記載されていたメンバ情報のメンバ識別子を追加する(ステップ612)。   Each terminal that has received the notification adds member information to the synchronization control information storage unit 2a in each synchronization control information management unit 5, and the member described in the participation request message in the participation member identifier of the group information An information member identifier is added (step 612).

次に、招待元の端末の招待部7は、招待先の端末に対して参加を許可したグループのグループ情報、グループ構成メンバのメンバ情報、グループで共有するオブジェクト情報を通知するようにメッセージ制御部3に依頼する(ステップ613)。   Next, the invitation unit 7 of the invitation source terminal notifies the invitation destination terminal of the group information of the group permitted to join, the member information of the group members, and the object information shared by the group. 3 (step 613).

招待先端末では、通知されたグループ情報、メンバ情報、オブジェクト情報を同期制御情報管理部5及びオブジェクト情報管理部6によって同期制御情報記憶部2a及びオブジェクト情報記憶部2cに記録する(ステップ614)。   In the invitation destination terminal, the notified group information, member information, and object information are recorded in the synchronization control information storage unit 2a and the object information storage unit 2c by the synchronization control information management unit 5 and the object information management unit 6 (step 614).

招待部7がメッセージ制御部3に通知を依頼するメッセージについては、速やかに招待処理が進行するために、メッセージ制御部3が定期的に行っているメッセージの反映・通知処理の中でメッセージ通知を行うのではなく、別途依頼の都度メッセージ通知が行われるようにメッセージ制御部3内で制御される。   For messages that the invitation unit 7 requests the message control unit 3 to notify, the message control unit 3 periodically sends a message notification in the message reflection / notification processing in order for the invitation processing to proceed promptly. It is not performed, but is controlled in the message control unit 3 so that a message notification is performed each time a request is made.

以上の処理で、グループに新メンバを登録することができる。   With the above processing, a new member can be registered in the group.

以下に、本形態の効果について説明する。   Below, the effect of this form is demonstrated.

本形態では、共有する情報が各端末の記憶部に記憶され、共有情報を一時的に記憶する一時記憶部が存在することで、端末がネットワ−クにつながっていない状態でも共有情報の参照、編集が可能である。更に、ネットワ−クにつながっていない状態で行った編集内容は、ネットワ−クにつながったときに速やかに反映しグループを構成する端末と同じ状態に保つことができる。   In this embodiment, the information to be shared is stored in the storage unit of each terminal, and there is a temporary storage unit that temporarily stores the shared information, so that even if the terminal is not connected to the network, Editable. Furthermore, the editing contents performed without being connected to the network can be reflected immediately when connected to the network and can be kept in the same state as the terminals constituting the group.

また、本形態では、共有する情報がサーバなど物理的に任意のユーザがアクセスできる環境ではなく、グループを構成する端末のみに配布されるため、悪意あるユーザの攻撃や設定ミスなどにより共有情報がグループ外に漏れる可能性が低い。   In this embodiment, the shared information is distributed only to the terminals that make up the group, not in an environment that can be accessed physically by any user, such as a server. The possibility of leaking outside the group is low.

また、本形態では、グループの作成、変更なども全て端末上の処理と端末間のやりとりで行われるため、グループの管理機能についてサーバの能力による制限や運用上の制限が発生しない。   Further, in this embodiment, since group creation and modification are all performed by processing on the terminal and exchange between terminals, the group management function is not limited by the capability of the server or the operation.

また、本形態では、図7に示したメッセージの反映・通知処理によって、共有情報の更新が端末に自動的に伝達されているため、ユーザが取得処理を行わなくても常に最新情報を端末が把握していることができる。   Further, in this embodiment, the update of shared information is automatically transmitted to the terminal by the message reflection / notification process shown in FIG. 7, so that the terminal always keeps up-to-date information without the user performing the acquisition process. You can grasp.

また、本形態では、メッセージの送信及び受信メッセージの取得機能を提供する通信部は、メッセージ制御部からメッセージの送信機能及び受信機能が呼び出せる形態で実装されていれば、利用する通信プロトコルは不問であるため、24時間運用できるサーバが用意できない場合は、サーバを必要としない通信プロトコルを利用することで情報共有機能を利用することができる。   Further, in this embodiment, the communication protocol that provides the message transmission and reception message acquisition functions can be used regardless of the communication protocol to be used as long as the message transmission function and the reception function can be called from the message control section. For this reason, when a server that can be operated for 24 hours cannot be prepared, the information sharing function can be used by using a communication protocol that does not require a server.

また、本形態では、ツールはデータ処理装置が提供する共通のAPIを利用して実装することができるため、新しいツール実装のたびにデータ処理装置の更新が発生することはなくツールの実装が容易である。   In this embodiment, since the tool can be mounted using a common API provided by the data processing device, the data processing device is not updated every time a new tool is mounted, and the tool can be easily mounted. It is.

また、本形態では、共有のためのメッセージ通知及び反映処理と、ロ−カル端末上でのユーザ操作処理が非同期に動作するため、ユーザに対する処理の反応性が高い。つまり、ユーザにとっては、競合が発生することがある点を除けば、共有していることを意識せずにツールを利用することができる。   Further, in this embodiment, the message notification and reflection process for sharing and the user operation process on the local terminal operate asynchronously, so that the process responsiveness to the user is high. In other words, the user can use the tool without being aware of sharing, except that a conflict may occur.

また、本形態では、記憶部に一時記憶部を持たせて、ツールからのAPI呼び出しによって行われた共有情報の変更はまず一時記憶部に反映し、他端末からの通知による共有情報の変更を記憶部に反映後に、一時記憶部に記録された共有情報の変更を記憶部に反映させる際に、共有情報に付加されているバージョン情報を比較することで競合を判定し、判定後は速やかに一時記憶部の情報を削除することで、多くの情報を保持せずに競合対処が実現できるため、各端末が競合対処のための情報でメモリが圧迫されることがない。   Further, in this embodiment, the storage unit has a temporary storage unit, and the change of the shared information made by the API call from the tool is first reflected in the temporary storage unit, and the change of the shared information by the notification from the other terminal is performed. After reflecting in the storage unit, when reflecting the change of the shared information recorded in the temporary storage unit to the storage unit, the conflict is determined by comparing the version information added to the shared information, and immediately after the determination By deleting the information in the temporary storage unit, it is possible to cope with the contention without holding a lot of information, so that each terminal does not press the memory with the information for dealing with the contention.

(第2の実施の形態)
本形態では、同一の共有する情報に対して複数の端末が同時に編集の反映処理を行ってしまった場合でも、グループを構成する各端末が共有情報を同じ状態に保つことを可能とする。
(Second Embodiment)
In this embodiment, even when a plurality of terminals simultaneously perform editing reflection processing on the same shared information, each terminal constituting the group can keep the shared information in the same state.

例えば、第1の実施の形態では、端末Aと端末Bがファイルαに対する編集をほぼ同時に行い、同じタイミングでメッセージの反映・取得処理を行った場合、端末Aが、端末Bの編集内容の記述したメッセージを取得する前に端末Aの編集内容を送信し、端末Bが、端末Aの編集内容を記述したメッセージを取得する前に端末Bの編集内容を送信してしまうことがあり得る。第1の実施の形態では、この場合に端末Aと端末Bとが異なるファイルαを持つことになってしまうが、本形態では、この場合でも端末A,B、及びグループを構成する他の端末が全て、ファイルαについて同じ状態を保つことができる。また、このような問題を解決するためには、端末Aと端末Bの処理を行った時間を保持しておき、先に行われた処理を優先すると判定することが考えられるが、このような対処を行うためには、統一時刻を管理するサーバが必要となる。本形態では、統一時刻を管理するサーバが無い状態で、各端末の状態を同じ状態に保つ。   For example, in the first embodiment, when the terminal A and the terminal B perform editing on the file α almost simultaneously, and the message reflection / acquisition processing is performed at the same timing, the terminal A describes the editing contents of the terminal B. It is possible that the edited content of the terminal A is transmitted before the acquired message is acquired, and the terminal B transmits the edited content of the terminal B before acquiring the message describing the edited content of the terminal A. In the first embodiment, the terminal A and the terminal B have different files α in this case. However, in this embodiment, the terminals A and B and other terminals constituting the group are also used in this case. Can all remain the same for file α. Moreover, in order to solve such a problem, it is conceivable to hold the time when the processing of the terminal A and the terminal B is performed and to determine that the processing performed first is prioritized. In order to cope with this, a server that manages the unified time is required. In this embodiment, the state of each terminal is kept in the same state without a server for managing the unified time.

本形態では、リモ−ト端末で行った操作に対応するコマンドの反映時にも競合判定及び対処を行うことで上述の機能を実現する。構成においては第1の実施の形態と変わらないが、オブジェクト情報管理部6、同期制御情報管理部5及び分散同期管理部4の動作が一部異なっている。   In the present embodiment, the above-described function is realized by performing conflict determination and handling even when a command corresponding to an operation performed on a remote terminal is reflected. Although the configuration is the same as that of the first embodiment, the operations of the object information management unit 6, the synchronization control information management unit 5, and the distributed synchronization management unit 4 are partially different.

図11は、図1に示した情報共有空間提供システムにおけるメッセージ反映・通知処理の他の例を説明するためのフローチャートである。以下に、第1の実施の形態と異なる処理ステップのみ説明する。   FIG. 11 is a flowchart for explaining another example of message reflection / notification processing in the information sharing space providing system shown in FIG. Only processing steps different from those of the first embodiment will be described below.

ステップ701〜704の処理は、図7に示したステップ504〜507の処理と同様である。   The processing in steps 701 to 704 is the same as the processing in steps 504 to 507 shown in FIG.

ステップ705において、分散同期管理部4は、取得メッセージをコマンドに変換すると同時に、通知済みのコマンドとして記録する。   In step 705, the distributed synchronization management unit 4 converts the acquired message into a command and simultaneously records it as a notified command.

その後、分散同期管理部4が、コマンドに対応するオブジェクト情報管理部6または同期制御情報管理部5に対してコマンドの実行を依頼すると(ステップ706)、オブジェクト情報管理部6または同期制御情報管理部5は、オブジェクト情報記憶部2dまたは同期制御情報記憶部2aからコマンド対象となる共有情報のバージョンを取得し、コマンドに含まれる共有情報のバージョンと比較する。バージョンが一致するか、コマンドに含まれる共有情報のバージョンが小さな場合は競合と判定される(ステップ707)。   Thereafter, when the distributed synchronization management unit 4 requests the object information management unit 6 or the synchronization control information management unit 5 corresponding to the command to execute the command (step 706), the object information management unit 6 or the synchronization control information management unit 5 acquires the version of the shared information to be commanded from the object information storage unit 2d or the synchronization control information storage unit 2a, and compares it with the version of the shared information included in the command. If the versions match or the version of the shared information included in the command is small, it is determined that there is a conflict (step 707).

競合していないと判定された場合は、対応する記憶部にコマンドの内容を反映させるが(ステップ708)、競合していると判定された場合は、オブジェクト情報管理部6または同期制御情報管理部5は、今回扱ったコマンドの処理対象オブジェクトと同じオブジェクトを対象としているコマンドを、分散同期管理部4が記録している通知済みのコマンドから取り出す(ステップ710)。   When it is determined that there is no conflict, the contents of the command are reflected in the corresponding storage unit (step 708). When it is determined that there is a conflict, the object information management unit 6 or the synchronization control information management unit 5 extracts a command targeting the same object as the processing target object of the command handled this time from the notified command recorded by the distributed synchronization management unit 4 (step 710).

次に、取得したコマンドと今回処理を行ったコマンドから競合内容(コマンドを発生させたメンバと、コマンドの内容)をツールに通知する(ステップ711)。   Next, the content of the conflict (the member that generated the command and the content of the command) is notified to the tool from the acquired command and the command that has been processed this time (step 711).

更に、競合したオブジェクトを同期エラ−状態に変更する(ステップ712)。   Further, the conflicting object is changed to a synchronous error state (step 712).

これらの処理は、同時に操作内容が通知された場合、どちらを優先すべきかは自動で判定できないため、人間に状態を通知して対処を依頼することを意味している。   These processes mean that when the operation contents are notified at the same time, it is not possible to automatically determine which one should be prioritized, so that the person is notified of the state and requested to take action.

図12は、図1に示したオブジェクト情報記憶部2cにて記憶されているオブジェクト情報の他の構成例を示す図である。   12 is a diagram illustrating another configuration example of the object information stored in the object information storage unit 2c illustrated in FIG.

図12に示すように本形態では、オブジェクト情報は同期エラ−状態が記述できる形式で、オブジェクト情報記憶部に記録されている。同期エラ−状態のオブジェクトは、参照・削除はできるが編集はできないようにオブジェクト情報管理部6において制御される。   As shown in FIG. 12, in this embodiment, the object information is recorded in the object information storage unit in a format that can describe the synchronization error state. An object in the error state is controlled by the object information management unit 6 so that it can be referenced and deleted but cannot be edited.

その後のステップ713〜718の処理は、図7に示したステップ512〜517の処理と同様である。   The subsequent processing of steps 713 to 718 is the same as the processing of steps 512 to 517 shown in FIG.

分散同期管理部4に記録された未通知のコマンド処理時の処理内容が一部異なる。これらのコマンドについて通知が完了すると、分散同期管理部4は処理したコマンドを通知済みコマンドとして再登録する(ステップ719)。更に、1つ前のメッセージ反映・通知処理で処理した通知済みコマンドを削除する(ステップ720)。   The processing contents at the time of unreported command processing recorded in the distributed synchronization management unit 4 are partially different. When the notification is completed for these commands, the distributed synchronization management unit 4 re-registers the processed command as a notified command (step 719). Further, the notified command processed in the previous message reflection / notification process is deleted (step 720).

このようにして、定期的に行うメッセージの反映・通知処理の前回に処理したコマンドを記録しておくことにより、競合が検出された際の競合内容の把握を可能にする。ただし、端末間でやりとりされるメッセージが通信経路のどこかで遅延した場合などは、競合対象となるコマンドは前回のコマンド内に含まれていないこともある。この場合は競合内容が正しく把握できないとすることになるが、更に古いコマンドを記録しておき、競合内容が正しく把握できるようにすることもできる。   In this way, by recording the command that was processed last time in the regular message reflection / notification processing, it is possible to grasp the content of the conflict when the conflict is detected. However, when a message exchanged between terminals is delayed somewhere in the communication path, the command subject to competition may not be included in the previous command. In this case, the content of the conflict cannot be correctly grasped, but an older command can be recorded so that the content of the contention can be correctly grasped.

以下に、本形態の効果について説明する。   Below, the effect of this form is demonstrated.

本形態では、通知済みのコマンド及びリモ−ト端末から通知されたコマンドを次のメッセージ反映・通知処理が完了するまで保管し、リモ−ト端末で行った操作の反映時にも競合判定及び対処を行うため、同一の共有する情報に対して複数の端末が同時に編集の反映処理を行ってしまった場合でも、統一時刻を管理するサーバを利用せずに、グループを構成する各端末が共有情報を同じ状態に保つことが可能である。   In this embodiment, the notified command and the command notified from the remote terminal are stored until the next message reflection / notification process is completed, and the conflict determination and the countermeasure are performed even when the operation performed on the remote terminal is reflected. Therefore, even if multiple terminals perform the reflection process for editing the same shared information at the same time, the terminals that make up the group can share the shared information without using the server that manages the unified time. It is possible to keep it in the same state.

(第3の実施の形態)
本形態を利用して実現するツールは、ツールごとに共有する情報の種類が異なるが、各ツールで扱う共有情報はオブジェクト情報という共通の枠の中で表現する。例えば、スケジュ−ル管理ツールであれば、スケジュ−ル情報(例:10:00から会議室でプロジェクト会議を行う)が1つのオブジェクト情報として定義される。ファイル管理ツールであれば、ファイル情報(例:ファイルサイズやファイルタイプ、階層構造など)とファイルのデータがスケジュ−ル情報とはオブジェクトタイプが異なるオブジェクト情報として定義される。
(Third embodiment)
The tools realized using this embodiment have different types of information shared by each tool, but the shared information handled by each tool is expressed in a common frame called object information. For example, in the case of a schedule management tool, schedule information (eg, a project meeting is performed in a conference room from 10:00) is defined as one object information. In the case of a file management tool, file information (eg, file size, file type, hierarchical structure, etc.) and file data are defined as object information having a different object type from the schedule information.

ここで、競合判定処理を考える。第1及び第2の実施の形態では、競合判定処理を行う単位はオブジェクト情報であった。この場合、以下のような問題が発生することがある。   Here, a competition determination process is considered. In the first and second embodiments, the unit for performing the conflict determination process is object information. In this case, the following problems may occur.

・ファイル名の変更とファイル内容の編集が競合と判定されてしまう
・ファイルの移動とファイル内容の編集が競合と判定されてしまう
・ファイルの付加情報(コメント)の変更と、ファイルの編集が競合してしまう
いずれも、2つの処理は競合と判定するべきではない。これらの問題は全て、オブジェクト情報で表現される内容はいくつかのパ−トに分けられて、互いの内容が干渉しあわないにも関わらず、システム上では1つのオブジェクト情報として扱っていることを原因としている。
-File name change and file content editing are judged as conflicts-File movement and file content editing are judged as conflicts-File additional information (comment) changes and file editing conflicts In any case, the two processes should not be judged as conflicts. All of these problems are that the contents expressed in the object information are divided into several parts and treated as one object information in the system even though the contents do not interfere with each other. Is caused.

図13は、図1に示したオブジェクト情報記憶部2cにて記憶されているオブジェクト情報の他の構成例を示す図である。   FIG. 13 is a diagram illustrating another configuration example of the object information stored in the object information storage unit 2c illustrated in FIG.

図13に示すように本形態では、オブジェクト情報は、オブジェクト識別子以外は4つのパ−トに分けられる。メタ情報部403a、ファイル情報部403b、親子関係情報部403c、固有情報部403cである。メタ情報部403aには、メタ情報バージョン、オブジェクト名、オブジェクトタイプ、同期エラ−状態が含まれている。これらに加えて、最終更新日や更新者情報などの付加情報が含まれていてもよい。メタ情報部403aに含まれる情報が変更されるとメタ情報バージョンがインクリメントされる。ファイル情報部403bは、ファイルが含まれるオブジェクトの場合にのみ記述され、ファイルの内容が編集されるとファイル情報バージョンがインクリメントされる。ファイル識別子とは、ファイルデータがオブジェクト情報とは別に保持されている場合にファイルデータの所在を示す値である。親子関係情報部403cには、親子関係バージョンと親オブジェクトのデータが含まれている。これらに加えて、親子関係に関する付加情報が含まれていてもよい。親子関係情報部403cに含まれる情報が変更されると、親子関係バージョンがインクリメントされる。固有情報部403dには、固有情報バージョンと固有情報が含まれており、固有情報部に含まれる情報が変更されると、固有情報バージョンがインクリメントされる。   As shown in FIG. 13, in this embodiment, the object information is divided into four parts other than the object identifier. A meta information part 403a, a file information part 403b, a parent-child relation information part 403c, and a unique information part 403c. The meta information part 403a includes a meta information version, an object name, an object type, and a synchronization error state. In addition to these, additional information such as the last update date and updater information may be included. When the information included in the meta information unit 403a is changed, the meta information version is incremented. The file information part 403b is described only in the case of an object including a file, and the file information version is incremented when the content of the file is edited. The file identifier is a value indicating the location of the file data when the file data is held separately from the object information. The parent-child relationship information section 403c includes a parent-child relationship version and parent object data. In addition to these, additional information related to the parent-child relationship may be included. When the information included in the parent-child relationship information unit 403c is changed, the parent-child relationship version is incremented. The unique information part 403d includes a unique information version and unique information. When the information included in the unique information part is changed, the unique information version is incremented.

オブジェクト情報管理部6は、ツールに対して、情報部ごとの編集APIを提供する。各編集APIに対応するコマンドの処理では、情報部ごとにバージョンを比較して競合判定を行う。これによって同じオブジェクトであっても、対象とする情報部が異なる編集処理同士は競合しないこととなる。   The object information management unit 6 provides an editing API for each information unit to the tool. In the processing of the command corresponding to each editing API, the competition is determined by comparing the versions for each information part. As a result, even for the same object, editing processes with different target information parts do not compete with each other.

このオブジェクト表現を、例えばファイルに適用すると、ファイル名はメタ情報部に記述され、ファイルデータはファイル情報部、親フォルダの情報は親子関係情報部、コメントなど付加情報は固有情報部に記述されることになる。これによって、ロ−カル端末におけるファイル名の変更が、ファイルデータの編集やファイルの移動、ファイルのコメントの編集と競合することはなくなる。   When this object representation is applied to a file, for example, the file name is described in the meta information section, the file data is described in the file information section, the parent folder information is described in the parent-child relationship information section, and additional information such as comments is described in the unique information section. It will be. As a result, the file name change in the local terminal does not conflict with file data editing, file movement, and file comment editing.

以下に、本形態の効果について説明する。   Below, the effect of this form is demonstrated.

本形態では、オブジェクト表現をメタ情報、ファイル情報、親子関係情報、固有情報に分割してバージョン管理することにより、無駄な競合を発生させないことができる。また、オブジェクト表現及び競合対応処理を汎用的に実現することにより、ツール毎に異なる競合対応処理を実装する必要が無くなる。   In this embodiment, the object expression is divided into meta information, file information, parent-child relationship information, and unique information, and version management is performed, so that unnecessary competition can be prevented. Further, by realizing the object representation and the conflict handling process for general purposes, it is not necessary to implement a different conflict handling process for each tool.

(第4の実施の形態)
本形態では、グループの各メンバの権限制御が実現できる。例えば、ユーザAに対して、ファイルの参照は許すが編集は許さない、などの制御を、サーバを利用せずに実現する。
(Fourth embodiment)
In this embodiment, authority control of each member of the group can be realized. For example, control such as allowing the user A to refer to the file but not to edit the file is realized without using the server.

図14は、本発明の情報共有空間提供システムの他の実施の形態を示す図である。   FIG. 14 is a diagram showing another embodiment of the information sharing space providing system of the present invention.

本形態は図14に示すように、第1〜第3の実施の形態と比べて、権限管理部20が追加されている点が異なるものである。この権限管理部20は、ツール9a〜9cに対して、ロールと呼ばれる権限情報の制御(新規登録、編集、削除)と、メンバへのロールの付加、削除を行うAPIを提供する。また、発生したロール情報の制御やメンバへのロール付加・削除などのイベントをツール9a〜9cに通知するAPIも提供する。更に、同期制御情報記憶部2a及び同期制御情報一時記憶部2bに対して、ロール情報及びグループ情報の変更及びそれに伴う競合対処処理を行う。   As shown in FIG. 14, this embodiment is different from the first to third embodiments in that an authority management unit 20 is added. The authority management unit 20 provides the tools 9a to 9c with an API for controlling authority information called a role (new registration, editing, and deletion), and adding and deleting roles to members. It also provides an API for notifying the tools 9a to 9c of events such as control of generated role information and addition / deletion of roles to members. Further, the role information and group information are changed and the corresponding conflict handling process is performed on the synchronization control information storage unit 2a and the synchronization control information temporary storage unit 2b.

図15は、図14に示した同期制御情報記憶部2a及び同期制御情報一時記憶部2bにて記憶されるロール情報及びグループ情報の構成例を示す図である。   FIG. 15 is a diagram illustrating a configuration example of role information and group information stored in the synchronization control information storage unit 2a and the synchronization control information temporary storage unit 2b illustrated in FIG.

図15に示すように、ロール情報601は、グループごとに定義できるようになっており、識別するための情報として、グループ識別子とロール識別子を持つ。ロール識別子はグループでユニ−クな値である。また、競合対応処理のために利用されるバージョン、ロール名、及び許可コマンドの一覧又は禁止コマンドの一覧で構成される(許可コマンドが記述されている場合記述されていないコマンドは禁止されていることを示す。禁止コマンドが記述されている場合、記述されていないコマンドは許可されていることを示す)。また、グループ情報602には、参加メンバ識別子ごとに、参加メンバに与えられたロール識別子が記述される。   As shown in FIG. 15, the role information 601 can be defined for each group, and has a group identifier and a role identifier as identification information. The role identifier is a unique value in the group. Also, it consists of a version, role name, and a list of permitted commands or a list of prohibited commands used for conflict handling processing. (If a permitted command is described, commands that are not described must be prohibited. (If a prohibited command is described, it indicates that an undescribed command is permitted.) In the group information 602, a role identifier given to a participating member is described for each participating member identifier.

以下に、本形態における動作について説明する。   The operation in this embodiment will be described below.

図16は、図15に示した情報共有空間提供システムにおけるオブジェクト編集対応処理を説明するためのフローチャートである。   FIG. 16 is a flowchart for explaining object editing support processing in the information sharing space providing system shown in FIG.

ツール9a〜9cからオブジェクト編集が入力された後(ステップ801)、オブジェクト情報管理部6によって対象の処理が許可されたものかどうか、ロール情報601及びグループ情報602を参照して判定する(ステップ802)。   After the object edit is input from the tools 9a to 9c (step 801), it is determined with reference to the role information 601 and the group information 602 whether the target processing is permitted by the object information management unit 6 (step 802). ).

許可されていない処理であった場合、オブジェクト情報管理部6がツール9a〜9cに実行失敗を通知して(ステップ803)、終了する。許可されたものである場合は、第1〜3の実施の形態におけるステップ502,503と同じ処理が実行される(ステップ804,805)。   If the processing is not permitted, the object information management unit 6 notifies the execution failure to the tools 9a to 9c (step 803), and the process ends. If it is permitted, the same processing as steps 502 and 503 in the first to third embodiments is executed (steps 804 and 805).

メッセージの反映・通知処理は図11に示したフローと基本的に同じであるが、競合判定時の処理内容が異なる。ステップ707で、リモ−ト端末から通知されたコマンドの処理時に競合判定する場合、同期制御情報管理部5、オブジェクト情報管理部6及び招待部7は、通知したリモ−ト端末に対応するユーザに通知されたコマンド処理が許可されているかどうか、ロール情報及びグループ情報を参照して判定する。許可されていない場合、すなわち、コマンドの実行権限がないと判定された場合は、そのコマンドは競合したものと判定される。ステップ710では、権限管理の競合の場合は端末保持ユーザのロールを変更したコマンド、または端末保持ユーザのロール情報を変更したコマンドが競合コマンドと判定される。   The message reflection / notification process is basically the same as the flow shown in FIG. 11, but the process contents at the time of conflict determination are different. If it is determined in step 707 that there is a conflict during processing of the command notified from the remote terminal, the synchronization control information management unit 5, the object information management unit 6, and the invitation unit 7 send the user corresponding to the notified remote terminal to the user. Whether or not the notified command processing is permitted is determined with reference to the role information and group information. If it is not permitted, that is, if it is determined that there is no authority to execute the command, it is determined that the command is in conflict. In step 710, in the case of authority management conflict, it is determined that the command that changed the role of the terminal holding user or the command that changed the role information of the terminal holding user is a conflict command.

また、ステップ715で、ロ−カル端末で発生したコマンドの処理時に競合判定する場合にも、ロ−カル端末保持メンバが対象の処理を許可されているか再判定する。ここで許可されていないと判定された場合は、競合と判定される。   In step 715, when a conflict determination is made during processing of a command generated at the local terminal, it is again determined whether the local terminal holding member is permitted the target processing. If it is determined that it is not permitted, it is determined as a conflict.

一方、コマンドの実行権限があると判定された場合は、反映が実行される。   On the other hand, when it is determined that the command execution authority is granted, the reflection is executed.

図17は、図15に示した情報共有空間提供システムにおけるロール編集対応処理を説明するためのフローチャートである。   FIG. 17 is a flowchart for explaining the role editing support process in the information sharing space providing system shown in FIG.

オブジェクト編集対応処理と同じで、オブジェクト情報管理部6の処理を権限管理部20が行うところのみが異なる。   This is the same as the object editing corresponding process, except that the authority management unit 20 performs the process of the object information management unit 6.

メンバへのロール付加・削除処理手順は、メンバ追加・削除などの同期制御情報編集処理と同じであるため説明は省略する。   Since the role addition / deletion processing procedure for members is the same as the synchronization control information editing processing such as member addition / deletion, description thereof will be omitted.

以下に、本形態の効果について説明する。   Below, the effect of this form is demonstrated.

本形態では、グループを構成する各メンバの権限情報をロール情報と、グループ情報に記載するメンバごとのロール識別子とで表現し、構成にツールに対してロール情報の制御と、メンバへのロールの付加、削除を行うAPI、また、発生したロール情報の制御やメンバへのロール付加・削除などのイベントをツールに通知するAPIを提供し、同期制御情報記憶部2a及び同期制御情報一時記憶部2bに対して、ロール情報及びグループ情報の変更及びそれに伴う競合対処処理を行う権限管理部20を加え、オブジェクト情報管理部6及び同期制御情報管理部5におけるコマンド処理時にコマンドの実行権限を確認し、権限がない場合はコマンドの実行をキャンセルしたり、競合と判定することで、管理サーバが無い状態でもグループの各メンバの権限制御が実現できる。   In this form, the authority information of each member constituting the group is expressed by role information and a role identifier for each member described in the group information. An API for adding and deleting, and an API for notifying the tool of events such as control of generated role information and addition / deletion of roles to members are provided, and the synchronization control information storage unit 2a and synchronization control information temporary storage unit 2b are provided. In addition, the authority management unit 20 that performs the role information and group information change and the corresponding conflict handling process is added, and the command execution authority is confirmed during the command processing in the object information management unit 6 and the synchronization control information management unit 5, If there is no authority, cancel the command execution or determine that there is a conflict. Authority control of Nba can be realized.

(第5の実施の形態)
メッセージの送受信に利用するプロトコルによっては、メッセージの遅延が発生することがある。同一オブジェクトへの更新メッセージが複数個通知された場合に、遅延によってメッセージの発生順序が前後して端末に処理されてしまうと、図11のステップ707における競合判定において、間違って競合と判断されてしまう。本形態では、メッセージの遅延が発生しても誤って競合と判定しない構成について説明する。
(Fifth embodiment)
Depending on the protocol used to send and receive messages, message delays may occur. When a plurality of update messages for the same object are notified and if the message is processed by the terminal with a delay due to a delay, it is erroneously determined as a conflict in the conflict determination in step 707 of FIG. End up. In this embodiment, a configuration will be described in which a conflict is not erroneously determined even when a message delay occurs.

図18は、本発明の情報共有空間提供システムの他の実施の形態を示す図である。   FIG. 18 is a diagram showing another embodiment of the information sharing space providing system of the present invention.

本形態は図18に示すように、図14に示したものに対して、記憶部2に蓄積コマンド記憶部2eが追加されて構成されている。   As shown in FIG. 18, the present embodiment is configured by adding an accumulated command storage unit 2e to the storage unit 2 in addition to the configuration shown in FIG.

図19は、図18に示した情報共有空間提供システムにおけるメッセージ反映・通知処理を説明するためのフローチャートである。   FIG. 19 is a flowchart for explaining message reflection / notification processing in the information sharing space providing system shown in FIG.

以下に、第2の実施の形態と異なる処理ステップのみを説明する。   Only processing steps different from those of the second embodiment will be described below.

メッセージの競合判定(ステップ707)において、オブジェクト情報管理部6または同期制御情報管理部5は、オブジェクト情報記憶部2dまたは同期制御情報記憶部2aからコマンド対象となる共有情報のバージョンを取得し、コマンドに含まれる共有情報のバージョンと比較する。この際に、コマンドに含まれる共有情報のバージョンが記憶部のバージョンよりも大きく、バージョンの差から届いていないコマンドがあると判断される場合(例えば、情報更新の度にバージョンを1加算している場合には、バージョンの差が2以上ある場合は届いていないコマンドがあると判断できる)、処理対象のコマンドは蓄積すると判断される。   In the message conflict determination (step 707), the object information management unit 6 or the synchronization control information management unit 5 obtains the version of the shared information to be commanded from the object information storage unit 2d or the synchronization control information storage unit 2a, and the command Compare with the version of shared information contained in. At this time, if it is determined that the version of the shared information included in the command is larger than the version of the storage unit and there is a command that has not arrived due to the difference in version (for example, 1 is added to the version every time information is updated) If there is a difference of two or more, it can be determined that there is an unreachable command), and it is determined that the command to be processed is accumulated.

蓄積を判断されたコマンドは、分散同期管理部4によって蓄積コマンド記憶部2eに保持される(ステップ901)。   The command determined to be stored is held in the stored command storage unit 2e by the distributed synchronization management unit 4 (step 901).

すべての取得メッセージの処理が完了した後(ステップ709)、分散同期管理部4は蓄積コマンド記憶部2eに記録されているコマンドの有無を確認する。   After the processing of all the acquired messages is completed (step 709), the distributed synchronization management unit 4 checks whether there is a command recorded in the accumulated command storage unit 2e.

蓄積コマンドが存在する場合は、蓄積コマンド記憶部2eから蓄積コマンドを1つ取り出し、コマンドに対応する機能にコマンド実行を依頼する。以降は、メッセージから取得したコマンドの実行処理と同様のステップを踏む。登録コマンドの処理の前に、すべての蓄積コマンドの処理を行う(ステップ902)。   If there is an accumulated command, one accumulated command is taken out from the accumulated command storage unit 2e, and a command corresponding to the command is requested to be executed. Thereafter, the same steps as the execution processing of the command acquired from the message are taken. Prior to the registration command processing, all accumulated commands are processed (step 902).

このように、バージョンによって遅延メッセージの存在を判別し、遅延メッセージが届くまで次のメッセージを蓄積しておくことで、メッセージの遅延が発生したときでも、誤って競合と判定されてしまうことが無くなる。   In this way, by determining the presence of a delayed message by version and accumulating the next message until the delayed message arrives, even if a message delay occurs, it is not erroneously determined as a conflict. .

(第6の実施の形態)
端末を余分に一台用意できる場合は、以下で説明する構成で実施することによって、情報共有の信頼度を高めることができる。この端末を以降はマスタ端末と呼ぶ。マスタ端末は常時起動していることが望ましい。
(Sixth embodiment)
When one extra terminal can be prepared, the reliability of information sharing can be increased by implementing the configuration described below. This terminal is hereinafter referred to as a master terminal. It is desirable that the master terminal is always activated.

図20は、システム全体の一構成例を示す図である。   FIG. 20 is a diagram illustrating a configuration example of the entire system.

図20に示すように、ネットワークで相互にメッセージ交換が可能な、グループを構成する複数の端末の中に、必ずマスタ端末が存在している。   As shown in FIG. 20, there is always a master terminal among a plurality of terminals constituting a group that can exchange messages with each other in the network.

グループにはいくつかのマスタ端末以外の端末(以降、一般端末と呼ぶ)に加えて、必ずマスタ端末が参加している状態にする。   In addition to some terminals other than the master terminal (hereinafter referred to as general terminals), the master terminal must be in a group.

図21は、図20に示した一般端末の一構成例を示す図であり、図22は、図20に示したマスタ端末の一構成例を示す図である。   21 is a diagram illustrating a configuration example of the general terminal illustrated in FIG. 20, and FIG. 22 is a diagram illustrating a configuration example of the master terminal illustrated in FIG.

本形態における一般端末は図21に示すように、第1の実施の形態における端末の構成(図1)に加えて、マスタ端末連携部811が実装されている。また、分散同期管理部4の動作が一部異なる。また、記憶部2には、マスタ端末情報記憶部2fと、仮実行コマンド記憶部2gとが実装される。   As shown in FIG. 21, the general terminal in this embodiment is provided with a master terminal cooperation unit 811 in addition to the terminal configuration (FIG. 1) in the first embodiment. Further, the operation of the distributed synchronization management unit 4 is partially different. In addition, the storage unit 2 includes a master terminal information storage unit 2f and a provisional execution command storage unit 2g.

図23は、図21に示したマスタ端末情報記憶部2fに記憶されるマスタ端末情報を示す図である。   FIG. 23 is a diagram showing master terminal information stored in the master terminal information storage unit 2f shown in FIG.

マスタ端末情報記憶部2fに記憶されるマスタ端末情報は図23に示すように、マスタ端末識別子とマスタ端末への情報通知先などが記述されている。マスタ端末情報は複数登録されている場合は、グループ作成時にどのマスタ端末を参加させるかをユーザが選択できる。又、同期制御情報記憶部2aに記憶されるグループ情報が一部異なる。図23に示すように、グループ情報にグループのマスタ端末の識別子が加わる(822)。   As shown in FIG. 23, the master terminal information stored in the master terminal information storage unit 2f describes a master terminal identifier, an information notification destination to the master terminal, and the like. When a plurality of pieces of master terminal information are registered, the user can select which master terminal to participate when creating a group. Further, the group information stored in the synchronization control information storage unit 2a is partially different. As shown in FIG. 23, the identifier of the master terminal of the group is added to the group information (822).

本形態におけるマスタ端末は図22に示すように、一般端末と構成はほとんど同じであるが、第1の実施の形態における端末の構成(図1)に加えて、マスタ端末制御部812が実装されている。また、分散同期管理部4の動作が一部異なる。   As shown in FIG. 22, the configuration of the master terminal in this embodiment is almost the same as that of a general terminal. However, in addition to the configuration of the terminal in the first embodiment (FIG. 1), a master terminal control unit 812 is implemented. ing. Further, the operation of the distributed synchronization management unit 4 is partially different.

マスタ端末と一般端末はほとんどが同じ動作を行うため、分散同期管理部4で自分がマスタ端末であるかに応じて動作を切り替えるように実装することで、同一のモジュールで一般端末とマスタ端末を実現することができる。   Since most of the master terminal and the general terminal perform the same operation, it is possible to switch the general terminal and the master terminal with the same module by implementing the distributed synchronization management unit 4 so that the operation is switched depending on whether or not the master terminal is the master terminal. Can be realized.

本形態では、グループ作成時の動作、メッセージの反映・通知処理時の動作が他の実施の形態と一部異なる。   In this embodiment, the operation at the time of creating a group and the operation at the time of message reflection / notification processing are partially different from those in the other embodiments.

図24は、図20に示したシステムにおけるグループ作成時の動作を示すフローチャートである。   FIG. 24 is a flowchart showing an operation when creating a group in the system shown in FIG.

一般端末のマスタ端末連携部811は、同期制御情報管理部5における、ユーザからの指示によるグループ作成処理を監視している。グループ作成が発生すると(ステップ901,902)、マスタ端末連携部811は、そのグループがマスタ端末の参加が必要か否かを判定する(ステップ903)。連携の有無は、グループの属性などでグループ作成時に作成者が指定する。連携が必要な場合はグループの参加者情報にマスタ端末を追加し(ステップ904)、マスタ端末を強制招待するメッセージの通知を、メッセージ処理部3に依頼する(ステップ905)。マスタ端末を強制招待するメッセージには、グループ情報や参加メンバ情報が通知される。   The master terminal cooperation unit 811 of the general terminal monitors the group creation process in response to an instruction from the user in the synchronization control information management unit 5. When group creation occurs (steps 901 and 902), the master terminal cooperation unit 811 determines whether or not the group needs to participate in the master terminal (step 903). Whether or not there is linkage is specified by the creator at the time of group creation using group attributes. If cooperation is required, the master terminal is added to the group participant information (step 904), and the message processor 3 is requested to notify the message for forcibly inviting the master terminal (step 905). Group information and participating member information are notified in the message for forcibly inviting the master terminal.

マスタ端末は強制招待するメッセージを受け取り、マスタ端末制御部812が同期制御情報管理部5に通知して、指定されたグループにマスタ端末を参加状態にする。具体的には、強制招待するメッセージに含まれる、グループ情報、グループのメンバ情報を、同期制御情報管理部5が同期制御情報記憶部2aに登録する。   The master terminal receives the message for compulsory invitation, and the master terminal control unit 812 notifies the synchronization control information management unit 5 to make the master terminal participate in the designated group. Specifically, the synchronization control information management unit 5 registers the group information and group member information included in the message forcibly invited in the synchronization control information storage unit 2a.

さらに、マスタ端末のマスタ端末制御部812は、参加処理結果を招待端末に通知する(ステップ907)。この通知を受け、マスタ端末の参加が成功している場合は処理終了となる。参加失敗時は、マスタ端末連携部811は、グループの参加者からマスタ端末を削除し(ステップ909)、マスタ端末参加失敗をツールに通知する(ステップ910)。   Furthermore, the master terminal control unit 812 of the master terminal notifies the invitation terminal of the participation process result (step 907). When this notification is received and the participation of the master terminal is successful, the processing is terminated. When joining fails, the master terminal cooperation unit 811 deletes the master terminal from the group participants (step 909), and notifies the tool of master terminal joining failure (step 910).

図25は、図20に示したマスタ端末におけるメッセージの反映・通知処理を説明するフローチャートである。   FIG. 25 is a flowchart for explaining message reflection / notification processing in the master terminal shown in FIG.

マスタ端末におけるメッセージの反映・通知処理は、他の実施の形態における一般端末のメッセージの反映・通知処理と異なる点は2点である。1点目は、取得メッセージの競合判定において、競合と判定されたときに、分散同期管理部5が、通知元のノードに対してキャンセルメッセージを通知する事である(ステップ921)。キャンセルメッセージには、競合となったメッセージの内容がすべて記載され、更に競合の原因となった情報(たとえば、記憶部に最終の編集内容を記憶していた場合、競合となった処理を行ったメンバなどを取得できる)などを記載することもできる。   The message reflection / notification process in the master terminal differs from the message reflection / notification process in the general terminal in other embodiments in two points. The first point is that the distributed synchronization management unit 5 notifies the notification source node of a cancel message when it is determined that there is a conflict in the determination of the acquisition message conflict (step 921). The cancel message contains all the content of the conflicting message, and information that caused the conflict (for example, if the final edit was stored in the storage unit, the conflicting process was performed. Member can be acquired).

もう1点は、競合とならなかったコマンドを本反映した後、そのコマンドをメッセージに変換して全参加端末に通知することである(ステップ922)。   Another point is that after reflecting the command which has not become a conflict, the command is converted into a message and notified to all participating terminals (step 922).

図26は、図20に示した一般端末におけるメッセージの反映・通知処理を説明するフローチャートである。   FIG. 26 is a flowchart for explaining message reflection / notification processing in the general terminal shown in FIG.

取得メッセージが同期制御用メッセージであった場合に、キャンセルメッセージか否かを判定する(ステップ923)。キャンセルメッセージであった場合は、分散同期管理部4がメッセージをコマンドに変換し(ステップ924)、対応するオブジェクト情報管理6または同期制御情報管理5に対して、キャンセルメッセージに含まれるコマンドから対応する一時記憶部のデータを削除させ(ステップ925)、キャンセル内容をツールに通知させる(ステップ926)。キャンセルメッセージでない場合は、通常の同期制御用メッセージとして処理される。   If the acquired message is a synchronization control message, it is determined whether or not it is a cancel message (step 923). If the message is a cancel message, the distributed synchronization management unit 4 converts the message into a command (step 924), and responds to the corresponding object information management 6 or synchronization control information management 5 from the command included in the cancel message. The data in the temporary storage unit is deleted (step 925), and the cancellation content is notified to the tool (step 926). If it is not a cancel message, it is processed as a normal synchronization control message.

更に、キャンセルメッセージでない同期制御用メッセージは、分散同期管理部4によってコマンドに変換され(ステップ705)、対応するオブジェクト情報管理部6又は同期制御情報管理部5によってコマンドの内容を対応する記憶部に反映させられる(ステップ708)。ここで、マスタ端末が競合するメッセージの対処を行っているため、一般端末では競合判定を行う必要がない。   Further, the synchronization control message that is not the cancel message is converted into a command by the distributed synchronization management unit 4 (step 705), and the contents of the command are stored in the corresponding storage unit by the corresponding object information management unit 6 or the synchronization control information management unit 5. It is reflected (step 708). Here, since the master terminal is dealing with the conflicting message, it is not necessary for the general terminal to perform the conflict determination.

また、コマンドを記憶部に本反映(ステップ708)後、分散同期管理部4は、コマンドが自ノードが送信したコマンドかどうかを判定する(ステップ928)。自ノードが送信したコマンドであった場合は、オブジェクト情報管理部6または同期制御情報管理部5に対して、コマンドに対応する一時記憶部、及び仮実行コマンド記憶部2gの情報を削除させる(ステップ929)。つまり、端末で発生した編集処理は、自端末から通知したメッセージがマスタ端末から通知された時に初めて本反映されることになる。   Also, after the command is reflected in the storage unit (step 708), the distributed synchronization management unit 4 determines whether the command is a command transmitted by the own node (step 928). If the command is transmitted by the own node, the object information management unit 6 or the synchronization control information management unit 5 deletes the information in the temporary storage unit corresponding to the command and the temporary execution command storage unit 2g (step 929). That is, the editing process that has occurred at the terminal is not reflected for the first time when the message notified from the terminal is notified from the master terminal.

更に、取得メッセージの処理完了後、分散同期管理部4は、登録コマンドに対応する機能に対して記憶部への競合判定のみを依頼する(ステップ930)(先に述べたように、本反映はマスタ端末からの通知を受けて行うため、このタイミングでは実行されない)。依頼されたオブジェクト情報管理部6または同期制御情報管理部5は競合判定を行い、競合していない場合はメッセージ処理部3に通知を依頼し(ステップ716)、仮実行コマンド記憶部2gにコマンド情報を記録する(ステップ932)。ここで、仮実行コマンド記憶部2gには、コマンドの内容と保管限度時刻が記録される。依頼されたメッセージ処理部3はグループを構成する全ノードにメッセージを通知するのではなく、マスタ端末に通知を行う(ステップ933)。通知先のマスタ端末はグループ情報(822)に記載されている。   Furthermore, after the processing of the acquisition message is completed, the distributed synchronization management unit 4 requests only the contention determination to the storage unit to the function corresponding to the registration command (step 930) (as described above, this reflection is (This is not executed at this timing because it is performed in response to a notification from the master terminal). The requested object information management unit 6 or synchronization control information management unit 5 makes a conflict determination. If there is no conflict, the message processing unit 3 is notified (step 716), and the command information is sent to the temporary execution command storage unit 2g. Is recorded (step 932). Here, the contents of the command and the storage limit time are recorded in the provisional execution command storage unit 2g. The requested message processing unit 3 does not notify the message to all the nodes constituting the group, but notifies the master terminal (step 933). The master terminal of the notification destination is described in the group information (822).

更に、コマンド処理後、1つ前に処理した登録コマンドは削除せず、すべての登録コマンドの処理終了後も一時記憶部のデータは破棄しない。これらのデータは自端末が通知したメッセージをマスタ端末から通知された際に削除される(ステップ929)。   Furthermore, the registration command processed immediately before the command processing is not deleted, and the data in the temporary storage unit is not discarded even after the processing of all the registration commands is completed. These data are deleted when the message notified by the terminal is notified from the master terminal (step 929).

更に、すべての登録コマンドの処理完了後、分散同期管理部4は、仮実行コマンド記憶部に保管限度時刻を過ぎたコマンドがないか確認する(ステップ934)。保管限度時刻を過ぎているコマンドが存在していた場合は、対応するオブジェクト情報管理部6または同期制御情報管理部5に一時記憶部のデータを削除させ(ステップ935)、キャンセル内容をツールに通知させる(ステップ936)。つまり、保管限度時刻までマスタ端末から通知がないコマンドは、キャンセルされたものとして扱われる。   Furthermore, after the processing of all registered commands is completed, the distributed synchronization management unit 4 checks whether there is any command whose storage limit time has passed in the temporary execution command storage unit (step 934). If there is a command that has passed the storage limit time, the corresponding object information management unit 6 or synchronization control information management unit 5 deletes the data in the temporary storage unit (step 935), and notifies the tool of the cancellation content. (Step 936). That is, a command that is not notified from the master terminal until the storage limit time is treated as canceled.

このようにマスタ端末と一般端末が動作し、通知済みのメッセージにおける競合の対処がマスタ端末によって行われることで、第2の実施の形態で示したような、複数ノードが同時に同じオブジェクトを編集したとしても、一般端末でオブジェクトや同期制御情報が同期エラー状態になることは無くなる。従って、各ノードにおいてユーザが同期エラー状態のオブジェクト、同期制御情報について手動で同期回復処理をする必要が無くなる。   In this way, the master terminal and the general terminal operate and the master terminal handles the conflict in the notified message, so that multiple nodes simultaneously edit the same object as shown in the second embodiment. However, the object and the synchronization control information will not be in a synchronization error state in the general terminal. Accordingly, it is not necessary for the user to manually perform synchronization recovery processing for the synchronization error object and synchronization control information at each node.

(第7の実施の形態)
本形態では、第6の実施の形態で説明したマスタ端末を更に機能強化することによって、情報共有の信頼度を更に高める。
(Seventh embodiment)
In this embodiment, the function of the master terminal described in the sixth embodiment is further enhanced to further increase the reliability of information sharing.

通信部を実装するプロトコルによっては、メッセージが紛失するという事態が発生しうる。メッセージが紛失してしまうと、今までの実施の形態では、グループ内で同期状態を保つことは困難である。   Depending on the protocol that implements the communication unit, a situation where a message is lost may occur. If the message is lost, it is difficult to keep the synchronization state in the group in the embodiments so far.

第6の実施の形態では、一般端末からマスタ端末へ通知したメッセージが紛失した場合は、マスタ端末から通知が返ってこないため、仮実行コマンドの保管限度時刻を超えてしまい、キャンセルと判定される(ステップ934〜936)。従って、一般端末からマスタ端末への通知メッセージの紛失が発生しても、同期状態を保つことが可能である。しかし、マスタ端末から一般端末への通知が紛失した場合は、一般端末の状態が古い状態となり、共有状態は崩れてしまう。   In the sixth embodiment, when the message notified from the general terminal to the master terminal is lost, the notification is not returned from the master terminal, so the storage limit time of the temporary execution command is exceeded and it is determined to be canceled. (Steps 934-936). Therefore, even if the notification message from the general terminal to the master terminal is lost, the synchronization state can be maintained. However, when the notification from the master terminal to the general terminal is lost, the state of the general terminal becomes an old state and the sharing state collapses.

第6の実施の形態で説明したように、マスタ端末には最新の共有状態が保持されている。従って、定期的に一般端末がマスタ端末の状態と自端末の状態を比較し、ずれがある場合にマスタ端末の状態をコピーすることで、メッセージ紛失が発生した場合にも同期状態を保てるようにする。   As described in the sixth embodiment, the latest shared state is held in the master terminal. Therefore, the general terminal periodically compares the status of the master terminal with the status of its own terminal, and if there is a discrepancy, copy the status of the master terminal so that the synchronization status can be maintained even if a message loss occurs. To do.

図27は、図20に示した一般端末の他の構成例を示す図であり、図28は、図20に示したマスタ端末の他の構成例を示す図である。   27 is a diagram showing another configuration example of the general terminal shown in FIG. 20, and FIG. 28 is a diagram showing another configuration example of the master terminal shown in FIG.

図27に示すように、本形態における一般端末には同期チェック部813が実装され、また、図28に示すように、本形態におけるマスタ端末には同期チェック処理部814が実装される。   As shown in FIG. 27, a synchronization check unit 813 is mounted on the general terminal in this embodiment, and a synchronization check processing unit 814 is mounted on the master terminal in this embodiment as shown in FIG.

本形態では、一般端末が定期的に同期回復処理を伴う同期チェック処理を実行する。   In this embodiment, a general terminal periodically executes a synchronization check process that involves a synchronization recovery process.

図29は、同期回復処理を伴う同期チェック処理の動作を説明するためのフローチャートである。   FIG. 29 is a flowchart for explaining the operation of the synchronization check process accompanied by the synchronization recovery process.

一般端末では、同期チェック部813が定期的にマスタ端末に対して同期チェック要求通知を行う(実際は、メッセージ処理部3経由で通知する)(ステップ941)。同期チェック要求には、メッセージ識別と、同期チェック対象グループの識別子と、通知元端末の情報が記述されている。   In the general terminal, the synchronization check unit 813 periodically sends a synchronization check request notification to the master terminal (actually, the notification is notified via the message processing unit 3) (step 941). In the synchronization check request, message identification, an identifier of the synchronization check target group, and information on the notification source terminal are described.

マスタ端末はメッセージ処理部3と分散同期管理部4経由で、同期チェック処理部814が同期チェック要求を受信する(ステップ942)。同期チェック処理部814は、同期チェック要求に記載されているグループ識別子に対応するグループの同期制御情報とオブジェクト情報を同期制御情報管理部5、オブジェクト情報管理部6から取得する(ステップ943)。取得した情報から、グループの同期制御情報とオブジェクト情報の比較用情報(例えば、全情報の識別子とバージョン)をまとめて、同期チェック要求を通知した端末宛に同期チェックの返答として通知する(ステップ944)。   In the master terminal, the synchronization check processing unit 814 receives the synchronization check request via the message processing unit 3 and the distributed synchronization management unit 4 (step 942). The synchronization check processing unit 814 obtains the synchronization control information and object information of the group corresponding to the group identifier described in the synchronization check request from the synchronization control information management unit 5 and the object information management unit 6 (step 943). From the acquired information, group synchronization control information and object information comparison information (for example, identifiers and versions of all information) are collected and notified as a response to the synchronization check to the terminal that has notified the synchronization check request (step 944). ).

一般端末の同期チェック部813は、同期チェックの返答を受信し、対応するグループの同期制御情報とオブジェクト情報を同期制御情報管理部5、オブジェクト情報管理部6から取得し、受信した比較用情報と比較する(ステップ946)。例えば、全情報の識別子を比較し、存在していない情報が無いか、バージョンが合致しない情報がないかを比較する。情報が合致している場合は、同期状態が保たれているということで同期チェック処理は終了する。合致していなかった場合は、合致していない情報ごとに、同期回復処理を実行する。   The synchronization check unit 813 of the general terminal receives the response of the synchronization check, acquires the synchronization control information and object information of the corresponding group from the synchronization control information management unit 5 and the object information management unit 6, and receives the received comparison information Compare (step 946). For example, the identifiers of all the information are compared, and it is compared whether there is no information that does not exist or information that does not match the version. If the information matches, the synchronization check process ends because the synchronization state is maintained. If they do not match, synchronization recovery processing is executed for each piece of information that does not match.

同期回復処理は、同期チェックの返答にて通知されている比較用情報で十分な情報がある場合は(ステップ948)、その情報に置き換えるように同期制御情報管理部5又はオブジェクト情報管理部6に依頼する(ステップ954)。同期チェックの返答にて通知されている情報では不十分な場合は、同期チェック部813はマスタ端末に対して、合致していない情報の取得要求を通知する(ステップ949)。マスタ端末の同期チェック処理部814は、情報取得要求を受けて(ステップ950)、対応する情報を同期制御情報管理部5又はオブジェクト情報管理部6から取得し、要求した一般端末宛に通知する(ステップ952)。この通知を受けた一般端末の同期チェック部813は、情報の置き換えを同期制御情報管理部5又はオブジェクト情報管理部6に依頼する(ステップ954)。
このように動作することで、メッセージ紛失が発生した場合でも、グループ参加端末間の同期を維持することが可能となり、情報共有の信頼度を高めることが可能となる。
In the synchronization recovery process, if the comparison information notified in the response of the synchronization check has sufficient information (step 948), the synchronization control information management unit 5 or the object information management unit 6 replaces the information with the information for comparison. Request (step 954). If the information notified in the response of the synchronization check is insufficient, the synchronization check unit 813 notifies the master terminal of an acquisition request for information that does not match (step 949). The synchronization check processing unit 814 of the master terminal receives the information acquisition request (step 950), acquires the corresponding information from the synchronization control information management unit 5 or the object information management unit 6, and notifies it to the requested general terminal ( Step 952). Upon receiving this notification, the synchronization check unit 813 of the general terminal requests the synchronization control information management unit 5 or the object information management unit 6 to replace the information (step 954).
By operating in this way, even when a message is lost, synchronization between group participating terminals can be maintained, and reliability of information sharing can be increased.

本発明は、グループでの共同作業を支援するプログラムの基盤、特に、固定的ではないグループの共同作業を支援するプログラム基盤といった用途に適用できる。固定的ではないグループとは、例えば組織の異なるメンバで構成される製品開発プロジェクトや、企業の異なるメンバで構成される標準化策定ワ−クチ−ムなどである。共同作業を支援するプログラムとは例えば、ファイルを共有するツールや、スケジュ−ルを共有するツール、タスクを共有管理するツールなどである。   The present invention can be applied to the use of a program base that supports group collaborative work, in particular, a program base that supports non-fixed group collaborative work. A non-fixed group is, for example, a product development project composed of different members of an organization, or a standardization work team composed of different members of a company. Examples of programs that support collaborative work include tools for sharing files, tools for sharing schedules, and tools for sharing and managing tasks.

本発明の情報共有空間提供システムの実施の一形態を示す図である。It is a figure which shows one Embodiment of the information sharing space provision system of this invention. 図1に示した同期制御情報記憶部にて記憶されている同期制御情報の構成例を示す図である。It is a figure which shows the structural example of the synchronous control information memorize | stored in the synchronous control information storage part shown in FIG. 図1に示したオブジェクト情報管理部にて記憶されているオブジェクト情報の構成例を示す図である。It is a figure which shows the structural example of the object information memorize | stored in the object information management part shown in FIG. 図1に示したメッセージ制御部が扱うメッセージの構成例を示す図である。It is a figure which shows the structural example of the message which the message control part shown in FIG. 1 handles. 図1に示したオブジェクト情報管理部が生成するコマンドの構成例を示す図である。It is a figure which shows the structural example of the command which the object information management part shown in FIG. 1 produces | generates. 図1に示した情報共有空間提供システムにおけるオブジェクト編集対応処理を説明するためのフローチャートである。It is a flowchart for demonstrating the object edit corresponding | compatible process in the information sharing space provision system shown in FIG. 図1に示した情報共有空間提供システムにおけるメッセージの反映・通知処理を説明するためのフローチャートである。It is a flowchart for demonstrating the reflection / notification process of the message in the information sharing space provision system shown in FIG. 図1に示した情報共有空間提供システムにおけるグループの新規作成及びグループへの招待手順を説明するためのフローチャートである。It is a flowchart for demonstrating the new creation of a group in the information sharing space provision system shown in FIG. 1, and the invitation procedure to a group. 図1に示した情報共有空間提供システムにて作成される招待状の構成例を示す図である。It is a figure which shows the structural example of the invitation created by the information sharing space provision system shown in FIG. 図1に示した情報共有空間提供システムにて端末に通知される参加要求メッセージの構成例を示す図である。It is a figure which shows the structural example of the participation request message notified to a terminal in the information sharing space provision system shown in FIG. 図1に示した情報共有空間提供システムにおけるメッセージ反映・通知処理の他の例を説明するためのフローチャートである。12 is a flowchart for explaining another example of message reflection / notification processing in the information sharing space providing system shown in FIG. 1. 図1に示したオブジェクト情報記憶部にて記憶されているオブジェクト情報の他の構成例を示す図である。It is a figure which shows the other structural example of the object information memorize | stored in the object information storage part shown in FIG. 図1に示したオブジェクト情報記憶部にて記憶されているオブジェクト情報の他の構成例を示す図である。It is a figure which shows the other structural example of the object information memorize | stored in the object information storage part shown in FIG. 本発明の情報共有空間提供システムの他の実施の形態を示す図である。It is a figure which shows other embodiment of the information sharing space provision system of this invention. 図14に示した同期制御情報記憶部及び同期制御情報一時記憶部にて記憶されるロール情報及びグループ情報の構成例を示す図である。FIG. 15 is a diagram illustrating a configuration example of role information and group information stored in the synchronization control information storage unit and the synchronization control information temporary storage unit illustrated in FIG. 14. 図15に示した情報共有空間提供システムにおけるオブジェクト編集対応処理を説明するためのフローチャートである。It is a flowchart for demonstrating the object edit corresponding | compatible process in the information sharing space provision system shown in FIG. 図15に示した情報共有空間提供システムにおけるロール編集対応処理を説明するためのフローチャートである。It is a flowchart for demonstrating the role edit corresponding | compatible process in the information sharing space provision system shown in FIG. 本発明の情報共有空間提供システムの他の実施の形態を示す図である。It is a figure which shows other embodiment of the information sharing space provision system of this invention. 図18に示した情報共有空間提供システムにおけるメッセージ反映・通知処理を説明するためのフローチャートである。FIG. 19 is a flowchart for describing message reflection / notification processing in the information sharing space providing system shown in FIG. 18. FIG. システム全体の一構成例を示す図である。It is a figure which shows one structural example of the whole system. 図20に示した一般端末の一構成例を示す図である。It is a figure which shows the example of 1 structure of the general terminal shown in FIG. 図20に示したマスタ端末の一構成例を示す図である。It is a figure which shows one structural example of the master terminal shown in FIG. 図21に示したマスタ端末情報記憶部に記憶されるマスタ端末情報を示す図である。It is a figure which shows the master terminal information memorize | stored in the master terminal information storage part shown in FIG. 図20に示したシステムにおけるグループ作成時の動作を示すフローチャートである。FIG. 21 is a flowchart showing an operation when creating a group in the system shown in FIG. 20. FIG. 図20に示したマスタ端末におけるメッセージの反映・通知処理を説明するフローチャートである。21 is a flowchart for explaining message reflection / notification processing in the master terminal shown in FIG. 20; 図20に示した一般端末におけるメッセージの反映・通知処理を説明するフローチャートである。21 is a flowchart illustrating message reflection / notification processing in the general terminal illustrated in FIG. 20. 図20に示した一般端末の他の構成例を示す図である。It is a figure which shows the other structural example of the general terminal shown in FIG. 図20に示したマスタ端末の他の構成例を示す図である。It is a figure which shows the other structural example of the master terminal shown in FIG. 同期回復処理を伴う同期チェック処理の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the synchronous check process accompanied by a synchronous recovery process. 特定した複数のユーザ間で情報を共有する従来の電子情報共有システムの一例を示す図である。It is a figure which shows an example of the conventional electronic information sharing system which shares information among the specified several users. 特定した複数のユーザ間で情報を共有する従来のコンピュータシステムの他の例を示す図である。It is a figure which shows the other example of the conventional computer system which shares information between the specified several users.

符号の説明Explanation of symbols

1 データ処理部
2 記憶部
3 メッセージ制御部
4 分散同期管理部
5 同期制御情報管理部
6 オブジェクト情報管理部
7 招待部
8a〜8c 通信部
9a〜9c ツール
10〜12 端末
20 権限管理部
301,602 グループ情報
302 メンバ情報
401,402,403a〜403d オブジェクト情報
601 ロール情報
801 メッセージ
802 コマンド
DESCRIPTION OF SYMBOLS 1 Data processing part 2 Memory | storage part 3 Message control part 4 Distributed synchronization management part 5 Synchronization control information management part 6 Object information management part 7 Invitation part 8a-8c Communication part 9a-9c Tool 10-12 Terminal 20 Authority management part 301,602 Group information 302 Member information 401, 402, 403a to 403d Object information 601 Role information 801 Message 802 Command

Claims (39)

複数の端末間にて情報を共有するための情報共有空間提供システムであって、
前記複数の端末のそれぞれは、
共有対象となるオブジェクト情報と、端末を保持するユーザが所属するグループのグループ情報やグループの構成メンバのメンバ情報を含む同期制御情報とを保持する記憶手段と、
グループを構成する他の端末とのメッセージの送受信を定期的に行うメッセージ制御手段と、
通知を依頼されたコマンドを一時的に保管し、保管したコマンド及びグループを構成する他の端末から通知されたコマンドの実行制御を行う分散同期管理手段と、
共有情報を利用する機能をユーザに提供し、ユーザとのやりとりを行うツールに対して、同期制御情報の制御APIを提供し、同期制御情報の制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を前記分散同期管理手段に依頼する同期制御情報管理手段と、
前記ツールに対して、オブジェクト情報の制御APIを提供し、オブジェクト情報の制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を前記分散同期管理手段に依頼するオブジェクト情報管理手段と、
前記ツールに対して、グループのメンバ追加に関する制御APIを提供し、グループのメンバ追加に関する制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、当該コマンドのグループを構成する他の端末への通知を前記メッセージ制御手段に依頼する招待手段と、
グループを構成する端末間の情報のやりとりを行う通信手段とを有し、
前記分散同期管理手段は、前記同期制御情報管理手段及び前記オブジェクト情報管理手段から通知を依頼されたコマンドを一時的に保管し、
前記記憶手段は、
グループを構成する他の端末と共通の前記オブジェクト情報を記憶するオブジェクト情報記憶部と、
ロ−カルの端末で行われた操作を反映した前記オブジェクト情報を記憶するオブジェクト情報一時記憶部と、
グループを構成する他の端末と共通の前記同期制御情報を記憶する同期制御情報記憶部と、
ロ−カルの端末で行われた操作を反映した前記同期制御情報を記憶する同期制御情報一時記憶部とを有する情報共有空間提供システム。
An information sharing space providing system for sharing information between a plurality of terminals,
Each of the plurality of terminals is
Storage means for holding object information to be shared and synchronization control information including group information of a group to which a user holding a terminal belongs and member information of members of the group;
Message control means for periodically sending and receiving messages with other terminals constituting the group;
A distributed synchronization management means for temporarily storing a command requested to be notified, and performing execution control of the command notified from the stored command and other terminals constituting the group;
Providing the user with the function to use the shared information, providing the control API of the synchronization control information to the tool for interacting with the user, generating and generating a command corresponding to the call of the control API of the synchronization control information And the command notified from the other terminal constituting the group is reflected in the storage means, the conflict handling process is performed at the time of reflection, and the notification to the other terminals constituting the command group is sent to the distributed synchronization management means Synchronization control information management means to request,
The object information control API is provided to the tool, a command corresponding to the call of the object information control API is generated, and the generated command and a command notified from another terminal constituting the group are stored in the storage unit. Object information management means for performing a conflict handling process at the time of reflection and requesting the distributed synchronization management means to notify other terminals constituting the command group;
Provided to the tool a control API related to group member addition, generates a command corresponding to a call of the control API related to group member addition, and a command notified from the generated command and other terminals constituting the group And inviting means for requesting the message control means to notify the other terminals constituting the command group,
Communication means for exchanging information between terminals constituting a group,
The distributed synchronization management means temporarily stores a command requested to be notified from the synchronization control information management means and the object information management means ,
The storage means
An object information storage unit for storing the object information common to other terminals constituting the group;
An object information temporary storage unit for storing the object information reflecting an operation performed on a local terminal;
A synchronization control information storage unit for storing the synchronization control information common to other terminals constituting the group;
An information sharing space providing system comprising : a synchronization control information temporary storage unit that stores the synchronization control information reflecting an operation performed at a local terminal .
請求項に記載の情報共有空間提供システムにおいて、
前記競合対応処理は、前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、前記同期制御情報一時記憶部または前記オブジェクト情報一時記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンとを比較することによって行うことを特徴とする情報共有空間提供システム。
The information sharing space providing system according to claim 1 ,
The contention handling process is recorded in the synchronization control information or object information version recorded in the synchronization control information storage unit or the object information storage unit, and in the synchronization control information temporary storage unit or the object information temporary storage unit. An information sharing space providing system characterized in that it is performed by comparing the synchronization control information or the version of the object information.
請求項1または請求項2に記載の情報共有空間提供システムにおいて、
前記メッセージ制御手段は、前記同期制御情報管理手段または前記オブジェクト情報管理手段にてグループを構成する他の端末からのメッセージの受信と受信メッセージの反映処理の後、ロ−カルの端末で生成したコマンドの反映処理及び競合対応処理が行われた結果、競合と判定されなかったコマンドのみをグループを構成する他の端末に通知を行うことを特徴とする情報共有空間提供システム。
In the information sharing space providing system according to claim 1 or 2 ,
The message control means includes a command generated at a local terminal after receiving a message from another terminal constituting the group and reflecting the received message by the synchronization control information managing means or the object information managing means. As a result of performing the reflection process and the conflict handling process, an information sharing space providing system is characterized in that only commands that have not been determined to be in conflict are notified to other terminals constituting the group.
請求項1乃至のいずれか1項に記載の情報共有空間提供システムにおいて、
前記同期制御情報管理手段における同期制御情報の制御APIが呼び出されたときの処理及び前記オブジェクト情報管理手段におけるオブジェクト情報の制御APIが呼び出されたときの処理が、前記メッセージ制御手段にてグループを構成する他の端末との間で定期的に行われるメッセージ送受信処理と非同期に行われることを特徴とする情報共有空間提供システム。
The information sharing space providing system according to any one of claims 1 to 3 ,
A process when the control API of the synchronization control information in the synchronization control information management unit is called and a process when the control API of the object information in the object information management unit is called constitutes a group in the message control unit An information sharing space providing system, which is performed asynchronously with a message transmission / reception process periodically performed with another terminal.
請求項1乃至のいずれか1項に記載の情報共有空間提供システムにおいて、
前記メッセージ制御手段は、前記端末がグループを構成する他の端末とのメッセージの送受信ができない期間はメッセージ送受信を行わず、前記同期制御情報管理手段が提供する同期制御情報の制御APIの呼び出し及び前記オブジェクト情報管理手段が提供するオブジェクト情報の制御APIの呼び出しに対応して作成されるコマンドを前記分散同期管理手段に記録し続け、他の端末とのメッセージ送受信が可能になったときに、記録したコマンドの通知を行うことを特徴とする情報共有空間提供システム。
The information sharing space providing system according to any one of claims 1 to 4 ,
The message control means does not perform message transmission / reception during a period in which the terminal cannot transmit / receive messages to / from other terminals constituting the group, and calls the control API for synchronization control information provided by the synchronization control information management means, and A command created in response to a call to the control API for object information provided by the object information management means is continuously recorded in the distributed synchronization management means, and is recorded when message transmission / reception with other terminals becomes possible. An information sharing space providing system characterized by command notification.
請求項1乃至のいずれか1項に記載の情報共有空間提供システムにおいて、
前記同期制御情報が、前記オブジェクト情報と同じ仕組みで共有の対象となる情報として扱われることを特徴とする情報共有空間提供システム。
The information sharing space providing system according to any one of claims 1 to 5 ,
The information sharing space providing system, wherein the synchronization control information is handled as information to be shared by the same mechanism as the object information.
請求項1乃至のいずれか1項に記載の情報共有空間提供システムにおいて、
前記同期制御情報管理手段または前記オブジェクト情報管理手段は、競合が発生した場合、競合の原因となった2つのコマンドのうち、通知前のロ−カル端末で生成したコマンドがキャンセルされ、キャンセルされた内容をツールに通知することを特徴とする情報共有空間提供システム。
The information sharing space providing system according to any one of claims 1 to 6 ,
When there is a conflict, the synchronization control information management unit or the object information management unit cancels the command generated by the local terminal before notification from the two commands that cause the conflict. An information sharing space providing system characterized by notifying a tool of contents.
請求項1乃至のいずれか1項に記載の情報共有空間提供システムにおいて、
グループへのメンバ追加は、既に参加している端末にて作成された招待状を使って、招待元と招待先が情報をやりとりすることにより実現することを特徴とする情報共有空間提供システム。
The information sharing space providing system according to any one of claims 1 to 7 ,
A system for providing an information sharing space, wherein an addition of a member to a group is realized by exchanging information between an inviter and an invitee using an invitation created on a terminal that has already joined.
請求項1乃至のいずれか1項に記載の情報共有空間提供システムにおいて、
前記同期制御情報管理手段、前記オブジェクト情報管理手段及び前記招待手段が提供するAPIを利用して、グループ間での情報共有を利用する任意のツールが作成されることを特徴とする情報共有空間提供システム。
The information sharing space providing system according to any one of claims 1 to 8 ,
Provision of an information sharing space characterized in that an arbitrary tool that uses information sharing between groups is created using the API provided by the synchronization control information management means, the object information management means, and the invitation means system.
請求項1乃至のいずれか1項に記載の情報共有空間提供システムにおいて、
互いに異なる通信プロトコルを具備する複数の通信手段を有することを特徴とする情報共有空間提供システム。
The information sharing space providing system according to any one of claims 1 to 9 ,
An information sharing space providing system comprising a plurality of communication means having different communication protocols.
請求項1乃至10のいずれか1項に記載の情報共有空間提供システムにおいて、
前記分散同期管理手段は、通知済みのコマンド及びグループを構成する他の端末から通知されたコマンドを、次のメッセージの処理が完了するまで保管し、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段は、グループを構成する他の端末から通知されたコマンドの反映処理時にも競合判定及び対処を行うことを特徴とする情報共有空間提供システム。
The information sharing space providing system according to any one of claims 1 to 10 ,
The distributed synchronization management means stores the notified command and the command notified from other terminals constituting the group until the processing of the next message is completed,
The information sharing space providing system, wherein the synchronization control information management unit and the object information management unit perform conflict determination and handling even in the process of reflecting a command notified from another terminal constituting the group.
請求項1乃至11のいずれか1項に記載の情報共有空間提供システムにおいて、
前記記憶手段は、前記オブジェクト情報を、メタ情報、ファイル情報、親子関係情報及び固有情報に分割し、それぞれバージョン情報を付加して記憶し、
前記オブジェクト情報管理手段は、前記オブジェクト情報の個々の情報を独立して処理することを特徴とする情報共有空間提供システム。
The information sharing space providing system according to any one of claims 1 to 11 ,
The storage means divides the object information into meta information, file information, parent-child relationship information, and unique information, and adds and stores version information respectively.
The information sharing space providing system, wherein the object information management means processes each piece of information of the object information independently.
請求項11に記載の情報共有空間提供システムにおいて、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段は、グループを構成する他の端末から通知されたコマンドが競合すると判定された場合は、コマンドの対象であったオブジェクト情報又は同期制御情報が同期できていない状態であることを前記ツールに通知することを特徴とする情報共有空間提供システム。
The information sharing space providing system according to claim 11 ,
The synchronization control information management unit and the object information management unit can synchronize the object information or the synchronization control information that is the target of the command when it is determined that the commands notified from other terminals constituting the group conflict. An information sharing space providing system for notifying the tool that it is not in a state.
請求項11または請求項13に記載の情報共有空間提供システムにおいて、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段は、グループを構成する他の端末から通知されたコマンドの反映処理時に、前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、グループを構成する他の端末から通知されたコマンド内に記載されている同期制御情報またはオブジェクト情報のバージョンを比較することによって競合判定を行うことを特徴とする情報共有空間提供システム。
In the information sharing space providing system according to claim 11 or 13,
The synchronization control information management unit and the object information management unit are configured to perform synchronization control recorded in the synchronization control information storage unit or the object information storage unit at the time of reflecting a command notified from another terminal constituting the group. Information sharing characterized in that the contention determination is performed by comparing the version of the information or object information with the version of the synchronization control information or the object information described in the command notified from the other terminal constituting the group Space provision system.
請求項14に記載の情報共有空間提供システムにおいて、
前記記憶手段は、一時的に処理が保留されたコマンドを記憶する蓄積コマンド記憶部を有し、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段は、グループを構成する他の端末から通知されたコマンドの反映処理時に行う競合判定において、前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、前記グループを構成する他の端末から通知されたコマンド内に記載されている同期制御情報またはオブジェクト情報のバージョンとを比較した際に、バージョンの増加分から通知されていないコマンドがあることを検出し、
前記分散同期管理手段は、通知されていないコマンドがあることが検出された場合、グループを構成する他の端末から通知されたコマンドを前記蓄積コマンド記憶部に記録し、前記蓄積コマンド記憶部に記録されたコマンドについて、メッセージ送受信の度に他の端末から通知されたコマンドの反映処理と同様に反映処理を行うことを特徴とする情報共有空間提供システム。
The information sharing space providing system according to claim 14 ,
The storage means includes an accumulated command storage unit that stores a command whose processing is temporarily suspended,
The synchronization control information management unit and the object information management unit are recorded in the synchronization control information storage unit or the object information storage unit in a conflict determination performed at the time of reflection processing of a command notified from another terminal constituting the group. When the version of the synchronization control information or object information being compared with the version of the synchronization control information or object information described in the command notified from another terminal that constitutes the group, Detect that there are unreported commands,
When it is detected that there is a command that has not been notified, the distributed synchronization management means records a command notified from another terminal that constitutes a group in the accumulated command storage unit, and records it in the accumulated command storage unit An information sharing space providing system that performs a reflection process on a received command in the same manner as a reflection process of a command notified from another terminal each time a message is transmitted / received.
請求項1乃至15のいずれか1項に記載の情報共有空間提供システムにおいて、
前記複数の端末のうち1つをマスタ端末と定義してグループを構成し、
グループを構成する前記マスタ端末以外の端末の分散同期管理手段は、グループに通知するメッセージを前記マスタ端末に通知し、
前記マスタ端末の分散同期管理手段は、通知された前記メッセージについて、競合判定を行い、競合しなかったメッセージを、グループを構成する全端末に通知し、競合したメッセージを、通知した端末のみに競合したことを通知することを特徴とする情報共有空間提供システム。
The information sharing space providing system according to any one of claims 1 to 15 ,
A group is defined by defining one of the plurality of terminals as a master terminal,
The distributed synchronization management means of terminals other than the master terminal constituting the group notifies the master terminal of a message to notify the group,
The distributed synchronization management means of the master terminal performs a conflict determination on the notified message, notifies the non-conflicting message to all terminals constituting the group, and conflicts the message only to the notified terminal. An information sharing space providing system characterized by notifying
請求項16に記載の情報共有空間提供システムにおいて、
前記マスタ端末以外の端末は、
グループ作成を監視し、グループ作成時に前記マスタ端末を強制的に招待するマスタ端末連携部と、
招待するための前記マスタ端末の情報を保持しておくマスタ端末情報記憶部と、
端末内で実行されたコマンドを前記マスタ端末からの通知が来るまで保管しておく仮実行コマンド記憶部とを有し、
前記マスタ端末は、前記マスタ端末以外の端末からのグループへの招待を受けてグループに参加するマスタ端末制御部を有することを特徴とする情報共有空間提供システム。
The information sharing space providing system according to claim 16 ,
Terminals other than the master terminal are
A master terminal cooperation unit that monitors group creation and forcibly invites the master terminal at the time of group creation; and
A master terminal information storage unit for storing information of the master terminal for invitation;
A temporary execution command storage unit that stores commands executed in the terminal until a notification from the master terminal is received;
The said master terminal has a master terminal control part which receives the invitation to a group from terminals other than the said master terminal, and participates in a group, The information sharing space provision system characterized by the above-mentioned.
請求項16または請求項17に記載の情報共有空間提供システムにおいて、
前記マスタ端末以外の端末は、グループで共有する情報について、前記マスタ端末が保持するグループで共有する情報と等しいかどうかを定期的にチェックし、等しくない情報が存在した場合は、前記マスタ端末の情報をコピーする同期チェック部を有し、
前記マスタ端末は、同期チェック要求を受けて、グループの同期制御情報とグループで保持するオブジェクト情報の比較用情報を取得し、同期チェック要求を通知した端末宛に返答する同期チェック処理部を有することを特徴とする情報共有空間提供システム。
The information sharing space providing system according to claim 16 or 17 ,
The terminals other than the master terminal periodically check whether the information shared by the group is the same as the information shared by the group held by the master terminal, and if there is unequal information, It has a synchronization check part that copies information,
The master terminal has a synchronization check processing unit that receives the synchronization check request, obtains information for comparing the synchronization control information of the group and the object information held in the group, and responds to the terminal that has notified the synchronization check request. An information sharing space providing system characterized by
請求項18に記載の情報共有空間提供システムにおいて、
前記マスタ端末以外の端末の同期チェック部は、グループで共有する情報について、マスタ端末が保持するグループで共有する情報と等しいかを定期的にチェックし、等しくない情報が存在した場合は、マスタ端末の情報をコピーし、
前記マスタ端末の同期チェック処理部は、同期チェック要求を受けて、グループの同期制御情報とグループで保持するオブジェクト情報の比較用情報を取得し、同期チェック要求を通知した端末宛に返答することを特徴とする情報共有空間提供システム。
The information sharing space providing system according to claim 18 ,
The synchronization check unit of the terminal other than the master terminal periodically checks whether the information shared by the group is equal to the information shared by the group held by the master terminal, and if there is unequal information, the master terminal Copy the information
The synchronization check processing unit of the master terminal receives the synchronization check request, acquires comparison information between the group synchronization control information and the object information held in the group, and returns a response to the terminal that has notified the synchronization check request. A unique information sharing space provision system.
複数の端末間にて情報を共有するための情報共有空間提供方法であって、
共有対象となるオブジェクト情報と、端末を保持するユーザが所属するグループのグループ情報やグループの構成メンバのメンバ情報を含む同期制御情報とを前記端末内の記憶手段に記憶させる処理と、
前記端末内のメッセージ制御手段によってグループを構成する他の端末とのメッセージの送受信を定期的に行う処理と、
前記端末内の同期制御情報管理手段によって、共有情報を利用する機能をユーザに提供し、ユーザとのやりとりを行うツールに対して、同期制御情報の制御APIを提供し、同期制御情報の制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記端末内のオブジェクト情報管理手段によって、前記ツールに対して、オブジェクト情報の制御APIを提供し、オブジェクト情報の制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記端末内の招待手段によって、前記ツールに対して、グループのメンバ追加に関する制御APIを提供し、グループのメンバ追加に関する制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、当該コマンドのグループを構成する他の端末への通知を前記メッセージ制御手段に依頼する処理と、
前記端末内の分散同期管理手段によって、前記同期制御情報管理手段及び前記オブジェクト情報管理手段から通知を依頼されたコマンドを一時的に保管し、保管したコマンド及びグループを構成する他の端末から通知されたコマンドの実行制御を行う処理とを有し、
さらに、
グループを構成する他の端末と共通の前記オブジェクト情報をオブジェクト情報記憶部に記憶させる処理と、
ロ−カルの端末で行われた操作を反映した前記オブジェクト情報をオブジェクト情報一時記憶部に記憶させる処理と、
グループを構成する他の端末と共通の前記同期制御情報を同期制御情報記憶部に記憶させる処理と、
ロ−カルの端末で行われた操作を反映した前記同期制御情報を同期制御情報一時記憶部に記憶させる処理とを有する情報共有空間提供方法。
An information sharing space providing method for sharing information between a plurality of terminals,
Processing for storing object information to be shared and synchronization control information including group information of a group to which a user holding the terminal belongs and member information of members of the group in a storage unit in the terminal;
Processing for periodically sending and receiving messages with other terminals that constitute a group by means of message control means in the terminal;
The synchronization control information management means in the terminal provides the user with the function of using the shared information, provides the control API for the synchronization control information to the tool that interacts with the user, and controls the control API for the synchronization control information. Generate a command corresponding to the call to the command, reflect the generated command and a command notified from another terminal constituting the group to the storage means, perform a conflict handling process at the time of reflection, and configure the command group Processing to request notifications to other devices,
The object information management means in the terminal provides an object information control API to the tool, generates a command corresponding to the call of the object information control API, and configures the generated command and other groups. A process in which a command notified from a terminal is reflected in the storage means, a conflict handling process is performed at the time of reflection, and a request to be notified to other terminals constituting the group of the command;
The invitation means in the terminal provides a control API for adding a group member to the tool, generates a command corresponding to the control API call for adding a group member, and forms the generated command and group A process of reflecting a command notified from another terminal to the storage unit, and requesting the message control unit to notify the other terminal constituting the command group;
The distributed synchronization management means in the terminal temporarily stores the command requested to be notified from the synchronization control information management means and the object information management means, and is notified from the saved terminal and other terminals constituting the group. It was closed and the process that controls the execution of the command,
further,
Processing to store the object information common to other terminals constituting the group in the object information storage unit;
A process of storing the object information reflecting an operation performed on a local terminal in an object information temporary storage unit;
Processing to store the synchronization control information common to other terminals constituting the group in the synchronization control information storage unit;
And a process of storing the synchronization control information reflecting the operation performed at the local terminal in the synchronization control information temporary storage unit .
請求項20に記載の情報共有空間提供方法において、
前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、前記同期制御情報一時記憶部またはオブジェクト情報一時記憶部に記録されている同期制御情報または前記オブジェクト情報のバージョンとを比較することによって前記競合対応処理を行うことを特徴とする情報共有空間提供方法。
The information sharing space providing method according to claim 20 ,
A version of the synchronization control information or object information recorded in the synchronization control information storage unit or the object information storage unit, and the synchronization control information recorded in the synchronization control information temporary storage unit or the object information temporary storage unit, or A method for providing an information sharing space, wherein the conflict handling process is performed by comparing the version of object information.
請求項20または請求項21に記載の情報共有空間提供方法において、
前記メッセージ制御手段によって、グループを構成する他の端末からのメッセージの受信と受信メッセージの反映処理の後、ロ−カルの端末で生成したコマンドの反映処理及び競合対応処理が行われた結果、競合と判定されなかったコマンドのみをグループを構成する他の端末に通知を行うことを特徴とする情報共有空間提供方法。
The information sharing space providing method according to claim 20 or 21 ,
After the message control means receives a message from another terminal constituting the group and reflects the received message, the reflection process of the command generated in the local terminal and the conflict handling process are performed. A method for providing an information sharing space, wherein only commands that are not determined to be notified to other terminals constituting the group.
請求項20乃至22のいずれか1項に記載の情報共有空間提供方法において、
前記同期制御情報管理手段における同期制御情報の制御APIが呼び出されたときの処理及び前記オブジェクト情報管理手段におけるオブジェクト情報の制御APIが呼び出されたときの処理を、前記メッセージ制御手段にてグループを構成する他の端末との間で定期的に行われるメッセージ送受信処理と非同期に行うことを特徴とする情報共有空間提供方法。
The information sharing space providing method according to any one of claims 20 to 22 ,
The message control unit forms a group when the synchronization control information control API is called by the synchronization control information management unit and when the object information control API is called by the object information management unit. A method for providing an information sharing space, which is performed asynchronously with a message transmission / reception process periodically performed with another terminal.
請求項20乃至23のいずれか1項に記載の情報共有空間提供方法において、
前記メッセージ制御手段によって、前記端末がグループを構成する他の端末とのメッセージの送受信ができない期間はメッセージ送受信を行わず、前記同期制御情報管理手段が提供する同期制御情報の制御APIの呼び出し及び前記オブジェクト情報管理手段が提供するオブジェクト情報の制御APIの呼び出しに対応して作成されるコマンドを前記分散同期管理手段に記録し続け、他の端末とのメッセージ送受信が可能になったときに、記録したコマンドの通知を行うことを特徴とする情報共有空間提供方法。
The information sharing space providing method according to any one of claims 20 to 23 ,
The message control means does not perform message transmission / reception during a period in which the terminal cannot transmit / receive messages to / from other terminals constituting the group, and calls the control API for the synchronization control information provided by the synchronization control information management means, and A command created in response to a call to the control API for object information provided by the object information management means is continuously recorded in the distributed synchronization management means, and is recorded when message transmission / reception with other terminals becomes possible. A method for providing an information sharing space, characterized by notifying a command.
請求項20乃至24のいずれか1項に記載の情報共有空間提供方法において、
前記同期制御情報を、前記オブジェクト情報と同じ仕組みで共有の対象となる情報として扱うことを特徴とする情報共有空間提供方法。
The information sharing space providing method according to any one of claims 20 to 24 ,
An information sharing space providing method, wherein the synchronization control information is handled as information to be shared by the same mechanism as the object information.
請求項20乃至24のいずれか1項に記載の情報共有空間提供方法において、
前記同期制御情報管理手段または前記オブジェクト情報管理手段によって、競合が発生した場合、競合の原因となった2つのコマンドのうち、通知前のロ−カル端末で生成したコマンドがキャンセルされ、キャンセルされた内容をツールに通知することを特徴とする情報共有空間提供方法。
The information sharing space providing method according to any one of claims 20 to 24 ,
If there is a conflict by the synchronization control information management unit or the object information management unit, the command generated at the local terminal before notification is canceled out of the two commands that caused the conflict. An information sharing space providing method characterized by notifying a tool of contents.
請求項20乃至26のいずれか1項に記載の情報共有空間提供方法において、
グループへのメンバ追加を、既に参加している端末にて作成された招待状を使って、招待元と招待先が情報をやりとりすることにより実現することを特徴とする情報共有空間提供方法。
The information sharing space providing method according to any one of claims 20 to 26 ,
A method for providing an information sharing space, characterized in that adding a member to a group is realized by exchanging information between an invitation source and an invitation destination using an invitation created at a terminal that has already joined.
請求項20乃至27のいずれか1項に記載の情報共有空間提供方法において、
前記同期制御情報管理手段、前記オブジェクト情報管理手段及び前記招待手段が提供するAPIを利用して、グループ間での情報共有を利用する任意のツールを作成することを特徴とする情報共有空間提供方法。
The information sharing space providing method according to any one of claims 20 to 27 ,
An information sharing space providing method for creating an arbitrary tool that uses information sharing between groups using an API provided by the synchronization control information management means, the object information management means, and the invitation means .
請求項20乃至28のいずれか1項に記載の情報共有空間提供方法において、
互いに異なる通信プロトコルを具備する複数の通信手段のうち、利用する通信プロトコルに応じた通信手段を選択することを特徴とする情報共有空間提供方法。
The information sharing space providing method according to any one of claims 20 to 28 ,
A method for providing an information sharing space, comprising: selecting a communication unit corresponding to a communication protocol to be used from a plurality of communication units having different communication protocols.
請求項20乃至29のいずれか1項に記載の情報共有空間提供方法において、
前記分散同期管理手段によって、通知済みのコマンド及びグループを構成する他の端末から通知されたコマンドを、次のメッセージ制御が完了するまで保管する処理と、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段によって、グループを構成する他の端末から通知されたコマンドの反映処理時にも競合判定及び対処を行う処理とを有することを特徴とする情報共有空間提供方法。
The information sharing space providing method according to any one of claims 20 to 29 ,
A process of storing the notified command and the command notified from other terminals constituting the group by the distributed synchronization management unit until the next message control is completed;
Providing an information sharing space, comprising: a process for determining and coping with contention when reflecting a command notified from another terminal constituting the group by the synchronization control information management means and the object information management means Method.
請求項20乃至30のいずれか1項に記載の情報共有空間提供方法において、
前記オブジェクト情報を、メタ情報、ファイル情報、親子関係情報及び固有情報に分割し、それぞれバージョン情報を付加して前記記憶手段に記憶させ、前記オブジェクト情報管理手段によって、前記オブジェクト情報の個々の情報を独立して処理することを特徴とする情報共有空間提供方法。
The information sharing space providing method according to any one of claims 20 to 30 ,
The object information is divided into meta information, file information, parent-child relationship information, and unique information, and each version information is added and stored in the storage means, and the object information management means converts the individual information of the object information. An information sharing space providing method, wherein the information sharing space is processed independently.
請求項30に記載の情報共有空間提供方法において、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段によって、グループを構成する他の端末から通知されたコマンドの反映処理時に、前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、グループを構成する他の端末から通知されたコマンド内に記載されている同期制御情報またはオブジェクト情報のバージョンを比較することによって競合判定を行うことを特徴とする情報共有空間提供方法。
The information sharing space providing method according to claim 30 ,
Synchronization control recorded in the synchronization control information storage unit or the object information storage unit at the time of reflection processing of commands notified from other terminals constituting the group by the synchronization control information management unit and the object information management unit Information sharing characterized in that the contention determination is performed by comparing the version of the information or object information with the version of the synchronization control information or the object information described in the command notified from the other terminal constituting the group Space provision method.
請求項32に記載の情報共有空間提供方法において、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段によって、グループを構成する他の端末から通知されたコマンドが競合すると判定された場合は、コマンドの対象であったオブジェクト情報又は同期制御情報が同期できていない状態であることを前記ツールに通知することを特徴とする情報共有空間提供方法。
The information sharing space providing method according to claim 32 ,
When it is determined by the synchronization control information management means and the object information management means that the commands notified from other terminals constituting the group conflict, the object information or the synchronization control information that is the target of the command can be synchronized. A method for providing an information sharing space, wherein the tool is notified that it is not in a state.
請求項32に記載の情報共有空間提供方法において、
一時的に処理が保留されたコマンドを蓄積コマンド記憶部に記憶させ、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段によって、グループを構成する他の端末から通知されたコマンドの反映処理時に行う競合判定において、前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、前記グループを構成する他の端末から通知されたコマンド内に記載されている同期制御情報またはオブジェクト情報のバージョンとを比較した際に、バージョンの増加分から通知されていないコマンドがあることを検出し、
前記分散同期管理手段によって、通知されていないコマンドがあることが検出された場合、グループを構成する他の端末から通知されたコマンドを前記蓄積コマンド記憶部に記録し、前記蓄積コマンド記憶部に記録されたコマンドについて、メッセージ送受信の度に他の端末から通知されたコマンドの反映処理と同様に反映処理を行うことを特徴とする情報共有空間提供方法。
The information sharing space providing method according to claim 32 ,
Store the temporarily suspended command in the accumulated command storage unit,
Recorded in the synchronization control information storage unit or the object information storage unit in the conflict determination performed at the time of reflection processing of commands notified from other terminals constituting the group by the synchronization control information management unit and the object information management unit. When the version of the synchronization control information or object information being compared with the version of the synchronization control information or object information described in the command notified from another terminal that constitutes the group, Detect that there are unreported commands,
When it is detected by the distributed synchronization management means that there is a command that has not been notified, the command notified from the other terminals constituting the group is recorded in the accumulated command storage unit and recorded in the accumulated command storage unit A method for providing an information sharing space, wherein a reflection process is performed on a received command in the same way as a reflection process of a command notified from another terminal each time a message is transmitted and received.
請求項20乃至34のいずれか1項に記載の情報共有空間提供方法において、
前記複数の端末のうち1つをマスタ端末と定義してグループを構成し、
グループを構成する前記マスタ端末以外の端末の分散同期管理手段によって、グループに通知するメッセージを前記マスタ端末に通知し、
前記マスタ端末の分散同期管理手段によって、通知された前記メッセージについて、競合判定を行い、競合しなかったメッセージを、グループを構成する全端末に通知し、競合したメッセージを、通知した端末のみに競合したことを通知することを特徴とする情報共有空間提供方法。
The information sharing space providing method according to any one of claims 20 to 34 ,
A group is defined by defining one of the plurality of terminals as a master terminal,
By the distributed synchronization management means of terminals other than the master terminal constituting the group, a message to notify the group is notified to the master terminal,
The distributed synchronization management means of the master terminal performs a conflict determination on the notified message, notifies the non-conflicting message to all the terminals constituting the group, and conflicts the message only to the notified terminal. An information sharing space providing method of notifying
請求項35に記載の情報共有空間提供方法において、
前記マスタ端末以外の端末は、
マスタ端末連携部によって、グループ作成を監視し、グループ作成時に前記マスタ端末を強制的に招待し、
招待するための前記マスタ端末の情報をマスタ端末情報記憶部に保持し、
端末内で実行されたコマンドを前記マスタ端末からの通知が来るまで仮実行コマンド記憶部に保管し、
前記マスタ端末は、前記マスタ端末以外の端末からのグループへの招待を受けてグループに参加するマスタ端末制御部を有することを特徴とする情報共有空間提供方法。
The information sharing space providing method according to claim 35 ,
Terminals other than the master terminal are
Monitor the group creation by the master terminal cooperation unit, forcibly invite the master terminal at the time of group creation,
Hold the master terminal information to invite in the master terminal information storage unit,
The command executed in the terminal is stored in the temporary execution command storage unit until notification from the master terminal is received,
The method for providing an information sharing space, wherein the master terminal includes a master terminal control unit that receives an invitation to a group from a terminal other than the master terminal and participates in the group.
請求項35または請求項36に記載の情報共有空間提供方法において、
前記マスタ端末以外の端末は、同期チェック部によって、グループで共有する情報について、前記マスタ端末が保持するグループで共有する情報と等しいかどうかを定期的にチェックし、等しくない情報が存在した場合は、前記マスタ端末の情報をコピーし、
前記マスタ端末は、同期チェック要求を受けて、グループの同期制御情報とグループで保持するオブジェクト情報の比較用情報を取得し、同期チェック要求を通知した端末宛に返答する同期チェック処理部を有することを特徴とする情報共有空間提供方法。
The information sharing space providing method according to claim 35 or claim 36 ,
The terminals other than the master terminal periodically check whether the information shared by the group is equal to the information shared by the group held by the master terminal by the synchronization check unit. , Copy the master terminal information,
The master terminal has a synchronization check processing unit that receives the synchronization check request, obtains information for comparing the synchronization control information of the group and the object information held in the group, and responds to the terminal that has notified the synchronization check request. An information sharing space providing method characterized by:
請求項37に記載の情報共有空間提供方法において、
前記マスタ端末以外の端末の同期チェック部によって、グループで共有する情報について、マスタ端末が保持するグループで共有する情報と等しいかを定期的にチェックし、等しくない情報が存在した場合は、マスタ端末の情報をコピーし、
前記マスタ端末の同期チェック処理部によって、同期チェック要求を受けて、グループの同期制御情報とグループで保持するオブジェクト情報の比較用情報を取得し、同期チェック要求を通知した端末宛に返答することを特徴とする情報共有空間提供方法。
The information sharing space providing method according to claim 37 ,
The synchronization check unit of a terminal other than the master terminal periodically checks whether the information shared by the group is equal to the information shared by the group held by the master terminal, and if there is unequal information, the master terminal Copy the information
The synchronization check processing unit of the master terminal receives a synchronization check request, obtains information for comparing the synchronization control information of the group and the object information held in the group, and returns a response to the terminal that has notified the synchronization check request. A characteristic information sharing space providing method.
共有対象となるオブジェクト情報と、端末を保持するユーザが所属するグループのグループ情報やグループの構成メンバのメンバ情報などの同期制御情報とを記憶手段に記憶させる処理と、
グループを構成する他の端末とのメッセージの送受信を定期的に行う処理と、
共有情報を利用する機能をユーザに提供し、ユーザとのやりとりを行うツールに対して、同期制御情報の制御APIを提供し、同期制御情報の制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記ツールに対して、オブジェクト情報の制御APIを提供し、オブジェクト情報の制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記ツールに対して、グループのメンバ追加に関する制御APIを提供し、グループのメンバ追加に関する制御APIの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記通知を依頼されたコマンドを一時的に保管し、保管したコマンド及びグループを構成する他の端末から通知されたコマンドの実行制御を行う処理と、
グループを構成する他の端末と共通の前記オブジェクト情報とグループを構成する他の端末と共通の前記同期制御情報とを前記記憶手段に記憶させる処理と、
ロ−カルの端末で行われた操作を反映した前記オブジェクト情報とロ−カルの端末で行われた操作を反映した前記同期制御情報とを前記記憶手段に一時的に記憶させる処理とをコンピュ−タに実行させることを特徴とするコンピュータプログラム。
Processing for storing in a storage means object information to be shared and synchronization control information such as group information of a group to which a user holding a terminal belongs and member information of members of a group;
Processing to periodically send and receive messages to and from other devices that make up the group,
Providing the user with the function to use the shared information, providing the control API of the synchronization control information to the tool for interacting with the user, generating and generating a command corresponding to the call of the control API of the synchronization control information The command notified from the other terminal constituting the command and the group is reflected in the storage means, the conflict handling process is performed at the time of reflection, and the process of requesting the notification to the other terminal constituting the command group,
The object information control API is provided to the tool, a command corresponding to the call of the object information control API is generated, and the generated command and a command notified from another terminal constituting the group are stored in the storage unit. And processing to respond to the conflict at the time of reflection, requesting notification to other terminals constituting the group of the command,
Provided to the tool a control API related to group member addition, generates a command corresponding to a call of the control API related to group member addition, and a command notified from the generated command and other terminals constituting the group Processing to reflect to the storage means and request notification to other terminals constituting the group of the command,
A process of temporarily storing the command requested to be notified, and performing execution control of the command notified from the stored command and other terminals constituting the group;
Processing for storing the object information common to other terminals constituting the group and the synchronization control information common to other terminals constituting the group in the storage unit;
A process of temporarily storing the object information reflecting the operation performed at the local terminal and the synchronization control information reflecting the operation performed at the local terminal in the storage means. A computer program that is executed by a computer.
JP2005284715A 2004-11-10 2005-09-29 Information sharing space providing system, information sharing space providing method, and computer program Expired - Fee Related JP4972901B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005284715A JP4972901B2 (en) 2004-11-10 2005-09-29 Information sharing space providing system, information sharing space providing method, and computer program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004326707 2004-11-10
JP2004326707 2004-11-10
JP2005284715A JP4972901B2 (en) 2004-11-10 2005-09-29 Information sharing space providing system, information sharing space providing method, and computer program

Publications (2)

Publication Number Publication Date
JP2006164234A JP2006164234A (en) 2006-06-22
JP4972901B2 true JP4972901B2 (en) 2012-07-11

Family

ID=36666136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005284715A Expired - Fee Related JP4972901B2 (en) 2004-11-10 2005-09-29 Information sharing space providing system, information sharing space providing method, and computer program

Country Status (1)

Country Link
JP (1) JP4972901B2 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5233505B2 (en) * 2008-03-17 2013-07-10 株式会社リコー Joint work support device, joint work support system, joint work support method, program, and recording medium
US11955238B2 (en) 2010-09-01 2024-04-09 Apixio, Llc Systems and methods for determination of patient true state for personalized medicine
US10580520B2 (en) 2010-09-01 2020-03-03 Apixio, Inc. Systems and methods for customized annotation of medical information
US10629303B2 (en) 2010-09-01 2020-04-21 Apixio, Inc. Systems and methods for determination of patient true state for personalized medicine
US11538561B2 (en) 2010-09-01 2022-12-27 Apixio, Inc. Systems and methods for medical information data warehouse management
US20130262144A1 (en) 2010-09-01 2013-10-03 Imran N. Chaudhri Systems and Methods for Patient Retention in Network Through Referral Analytics
US11544652B2 (en) 2010-09-01 2023-01-03 Apixio, Inc. Systems and methods for enhancing workflow efficiency in a healthcare management system
US12009093B2 (en) 2010-09-01 2024-06-11 Apixio, Llc Systems and methods for determination of patient true state for risk management
EP2612293A4 (en) * 2010-09-01 2016-05-04 Apixio Inc Medical information navigation engine (mine) system
US11694239B2 (en) 2010-09-01 2023-07-04 Apixio, Inc. Method of optimizing patient-related outcomes
US10614915B2 (en) 2010-09-01 2020-04-07 Apixio, Inc. Systems and methods for determination of patient true state for risk management
US11971911B2 (en) 2010-09-01 2024-04-30 Apixio, Llc Systems and methods for customized annotation of medical information
US11481411B2 (en) 2010-09-01 2022-10-25 Apixio, Inc. Systems and methods for automated generation classifiers
JP5741172B2 (en) 2011-04-19 2015-07-01 ソニー株式会社 Information processing apparatus, communication system, and information processing method
JP5994215B2 (en) 2011-06-17 2016-09-21 ソニー株式会社 Wireless communication apparatus, information processing apparatus, communication system, and wireless communication apparatus control method
US10462016B2 (en) 2015-01-19 2019-10-29 Nec Corporation Communication control system, communication control method, and recording medium
JP6547560B2 (en) * 2015-09-30 2019-07-24 ヤマハ株式会社 Control terminal device and device control program
CN111414488B (en) * 2020-03-26 2023-05-02 北京字节跳动网络技术有限公司 Information management method, device, storage medium and equipment of online collaborative knowledge base

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2503362B2 (en) * 1993-04-30 1996-06-05 株式会社富士通ソーシアルサイエンスラボラトリ Method of exchanging information and method of exchanging information in synchronous information exchange system
JP3834163B2 (en) * 1999-06-11 2006-10-18 富士通株式会社 Electronic conference construction system
US7340502B2 (en) * 2002-10-24 2008-03-04 Microsoft Corporation Method and apparatus for maintaining consistency of a shared space across multiple endpoints in a peer-to-peer collaborative computer system

Also Published As

Publication number Publication date
JP2006164234A (en) 2006-06-22

Similar Documents

Publication Publication Date Title
JP4972901B2 (en) Information sharing space providing system, information sharing space providing method, and computer program
CA2413615C (en) Conflict resolution for collaborative work system
US6324587B1 (en) Method, computer program product, and data structure for publishing a data object over a store and forward transport
RU2379755C2 (en) System and method for sharing objects between computers over network
US6425016B1 (en) System and method for providing collaborative replicated objects for synchronous distributed groupware applications
US8589340B2 (en) Data synchronization via three or more paths
US9396216B2 (en) Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform
EP1589722B1 (en) Method, system, and apparatus for enabling near real time collaboration on an electronic document
US8219920B2 (en) Methods and systems for managing to do items or notes or electronic messages
RU2357283C2 (en) Scheme for refreshing connection with network printing device for clients of printer device
US20070067354A1 (en) Productivity suite to line of business synchronization mechanism
US20060136441A1 (en) Method and apparatus for synchronous project collaboration
JP2003526837A (en) Method and apparatus for ranking data change requests and maintaining data consistency in a distributed computer system equipped with active collaboration
JP2009500698A (en) Instant messaging with data sharing
JP2004265418A (en) Method and system for synchronizing data shared between peer-to-peer computing devices
CN102355413A (en) Method and system for unifying message space on large scale in real time
US9313269B2 (en) Blending single-master and multi-master data synchronization techniques
WO2007062018A2 (en) Information synchronization
US7516132B1 (en) Mechanism for enabling distributed file sharing among a plurality of nodes in a network
JPWO2002054263A1 (en) Framework system
JP3944231B2 (en) Framework system
US5802322A (en) Method and apparatus for the serialization of updates in a data conferencing network
AU2006292299A1 (en) Productivity suite to line of business synchronization mechanism
JP3944229B2 (en) Framework system
Alsulami et al. Collaborative editing over opportunistic networks: State of the art and challenges

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120224

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: 20120313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120326

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4972901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees