JP4635615B2 - Information processing apparatus, system, data synchronization method, and program - Google Patents

Information processing apparatus, system, data synchronization method, and program Download PDF

Info

Publication number
JP4635615B2
JP4635615B2 JP2005009138A JP2005009138A JP4635615B2 JP 4635615 B2 JP4635615 B2 JP 4635615B2 JP 2005009138 A JP2005009138 A JP 2005009138A JP 2005009138 A JP2005009138 A JP 2005009138A JP 4635615 B2 JP4635615 B2 JP 4635615B2
Authority
JP
Japan
Prior art keywords
information processing
shared data
processing apparatus
group
acquisition request
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
JP2005009138A
Other languages
Japanese (ja)
Other versions
JP2006195890A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2005009138A priority Critical patent/JP4635615B2/en
Publication of JP2006195890A publication Critical patent/JP2006195890A/en
Application granted granted Critical
Publication of JP4635615B2 publication Critical patent/JP4635615B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は情報処理装置、システム、データ同期方法及びプログラムに係り、特に、同一のグループに属する他の複数台の情報処理装置と通信回線を介して接続された情報処理装置、同一のグループに属する複数台の情報処理装置が通信回線を介して接続されて成る情報処理システム、前記情報処理システムに適用可能なデータ同期方法、及び、コンピュータを前記情報処理装置として機能させるためのデータ同期プログラムに関する。   The present invention relates to an information processing device, a system, a data synchronization method, and a program, and more particularly, to an information processing device connected to a plurality of other information processing devices belonging to the same group via a communication line, and to the same group The present invention relates to an information processing system in which a plurality of information processing apparatuses are connected via a communication line, a data synchronization method applicable to the information processing system, and a data synchronization program for causing a computer to function as the information processing apparatus.

コンピュータ等の情報処理装置をネットワークを介して互いに接続するネットワークシステムの形態として、クライアント・サーバシステムとピアツーピア(以下、P2Pと称する)システムが従来より知られている。クライアント・サーバシステムは、サーバが各種情報資源を管理したり各種アプリケーションが提供するサービスを実行し、これをクライアントが利用するシステムであり、主従関係が固定されている。これに対してP2Pシステムでは、基本的には専用のサーバを設けず、ネットワークに接続された各ピア(例えばパーソナルコンピュータ等)が、あるときは他のピアに対して所定のサービスを提供してサーバのように動作し、あるときは他のピアが提供するサービスを利用してクライアントのように動作するシステムであり、各ピアが対等な関係にある。   2. Description of the Related Art Conventionally, a client / server system and a peer-to-peer (hereinafter referred to as P2P) system are known as forms of a network system for connecting information processing apparatuses such as computers to each other via a network. The client / server system is a system in which a server manages various information resources or executes services provided by various applications and is used by a client, and a master-slave relationship is fixed. On the other hand, in the P2P system, basically no dedicated server is provided, and each peer (for example, a personal computer) connected to the network provides a predetermined service to another peer in some cases. It is a system that operates like a server and in some cases operates like a client by using a service provided by another peer, and each peer has an equal relationship.

ところで、クライアント・サーバシステムでは、各クライアントがアクセスする可能性のあるデータ(共有データ)がサーバで記憶・管理されるが、P2Pシステムでは各ピアが対等な関係にあるため、データ共有を実現するための方式として幾つかの方式が考えられる。例えば特許文献1には、P2Pネットワークにおいて、ファイル共有を行うコンピュータは共有ファイルに関する参照情報のみを保持し、共有ファイルが更新されると、各コンピュータが保持しているファイルの参照情報を最新のファイルを保持するコンピュータ(更新を行ったファイルを保持しているコンピュータ)を示す情報へ変更し、ユーザがファイルにアクセスする場合には、その参照情報を元にファイルを保持するネットワーク上の他のコンピュータにアクセスし、ファイルをダウンロード表示することにより、常に最新のファイルを表示させることを可能とする技術が開示されている。   By the way, in the client / server system, data (shared data) that each client may access is stored and managed by the server. However, in the P2P system, each peer has an equal relationship, and thus data sharing is realized. Several schemes are conceivable for this purpose. For example, in Patent Document 1, in a P2P network, a computer that performs file sharing holds only reference information related to a shared file, and when the shared file is updated, the reference information of the file held by each computer is updated to the latest file. Change to information indicating the computer that holds the file (the computer that holds the updated file), and when the user accesses the file, another computer on the network that holds the file based on the reference information A technique is disclosed in which the latest file can be displayed at any time by accessing and downloading the file.

また特許文献2には、データを共有するための転写メモリ領域を各々備えた複数の計算機がネットワークに接続され、各計算機が転写メモリ領域内の自計算機用領域のデータを周期的に他の計算機にブロードキャストし、ブロードキャストデータを受信した計算機が、該データを転写メモリ領域内の対応する計算機用領域に格納することで、計算機間で転写メモリ領域の内容の一致化を図ってデータを共有するシステムにおいて、ブロードキャストデータの受信回数をカウントし、予め定めた回数に達したときにのみ受信を通知し、それ以外の場合は受信データを破棄する等の処理を行うことで、周期的に受信するブロードキャストデータを間引く技術が開示されている。  Also, in Patent Document 2, a plurality of computers each having a transfer memory area for sharing data is connected to a network, and each computer periodically transfers data in its own computer area in the transfer memory area to another computer. A system in which a computer that broadcasts and receives broadcast data stores the data in a corresponding computer area in the transfer memory area so that the contents of the transfer memory area are matched between the computers and the data is shared Broadcasts received periodically by counting the number of times broadcast data is received and notifying the reception only when a predetermined number of times is reached, and discarding the received data otherwise A technique for thinning out data is disclosed.

また特許文献3には、コンピュータ間で共有される文書を、その文書のオリジナルを保持するコンピュータを示す識別子と更新履歴によって管理し、ネットワーク内で文書の更新が行われた場合には、更新された文書が当該文書のオリジナルを保持するコンピュータに送信され、更新履歴が格納されると同時に、その文書を保持する他のコンピュータに対して複製処理(再配信)が行われることにより、ネットワーク上の文書がどこで更新されてもネットワーク全体が最新の文書を共有することを実現する技術が開示されている。
特開2003−006032号公報 特開平07−219902号公報 特開2003−256259号公報
In Patent Document 3, a document shared between computers is managed by an identifier indicating a computer that holds the original of the document and an update history, and updated when the document is updated in a network. The document is transmitted to the computer that holds the original of the document, the update history is stored, and at the same time, the copy processing (redistribution) is performed on the other computer that holds the document, so that A technique is disclosed that enables the entire network to share the latest document wherever the document is updated.
JP 2003-006032 A Japanese Patent Application Laid-Open No. 07-219902 JP 2003-256259 A

しかしながら、特許文献1に記載の技術は、ユーザがアクセスしようとしている特定共有データを表示する処理を第1のコンピュータが行うタイミングで、この第1のコンピュータが、最新の特定共有データを保持している第2のコンピュータと通信可能な状態となっている必要があり、第1のコンピュータが特定共有データを表示する処理を行う際に、例えば通信回線の障害等により第1のコンピュータが第2コンピュータからの特定共有データのダウンロードを行えない状態であった場合には、ユーザが最新の共有データにアクセスすることができないという問題がある。   However, in the technique described in Patent Document 1, the first computer holds the latest specific shared data at the timing when the first computer performs processing for displaying the specific shared data that the user is trying to access. When the first computer performs the process of displaying the specific shared data, the first computer is connected to the second computer due to a communication line failure or the like. When the specific shared data cannot be downloaded from the user, there is a problem that the user cannot access the latest shared data.

一方、特許文献2,3に記載の技術は、各コンピュータに最新の共有データが各々保持されるので、ユーザが共有データにアクセスする際に、必ずしも他のコンピュータと通信可能な状態になっている必要はない。しかし、この方式では、データを共有しているコンピュータのグループ(P2Pシステムではピアグループと称する)内の特定のコンピュータで共有データが更新された場合に、グループ内の特定のコンピュータ以外の各コンピュータが保持している共有データも更新後のデータへ書替えることで、共有データの同期をとる処理を行う必要がある。また、同期をとる処理を行うタイミングでグループ内の一部のコンピュータとの通信が途絶している可能性があることを考慮すると、共有データの同期をとる処理は定期的に行う必要がある。   On the other hand, in the techniques described in Patent Documents 2 and 3, since the latest shared data is held in each computer, when the user accesses the shared data, the computer is not necessarily in a state where it can communicate with other computers. There is no need. However, in this method, when shared data is updated on a specific computer in a group of computers sharing data (referred to as a peer group in the P2P system), each computer other than the specific computer in the group It is necessary to perform processing for synchronizing the shared data by rewriting the held shared data to the updated data. In consideration of the possibility that communication with some computers in the group may be interrupted at the timing of performing synchronization processing, it is necessary to periodically perform processing for synchronizing shared data.

これに対して特許文献2に記載の技術は、共有データ自体を周期的に送信するので、共有データの同期をとるためにシステム内のトラフィックが増大するという問題があり、特許文献3に記載の技術も共有データ自体を送受することで共有データの同期をとるので、この処理を定期的に行うことに伴ってシステム内のトラフィックが増大する。また、特許文献2,3に記載の技術では、共有データを受信する側のコンピュータにおいて、共有データ自体を受信する処理が周期的に行われることになるので、受信側のコンピュータの負荷が増大するという問題もある。更に、特許文献3に記載の技術では、更新された共有データが、当該共有データのオリジナルを保持するコンピュータを経由して再配信されるので、共有データのオリジナルを保持するコンピュータの負荷が増大する、という問題も有している。   On the other hand, since the technology described in Patent Document 2 periodically transmits the shared data itself, there is a problem that traffic in the system increases in order to synchronize the shared data. Since the technology also synchronizes the shared data by transmitting and receiving the shared data itself, the traffic in the system increases as this processing is performed periodically. Further, in the technologies described in Patent Documents 2 and 3, since the process of receiving the shared data itself is periodically performed in the computer that receives the shared data, the load on the computer on the receiving side increases. There is also a problem. Furthermore, in the technique described in Patent Document 3, since the updated shared data is redistributed via a computer that holds the original of the shared data, the load on the computer that holds the original of the shared data increases. There is also a problem of.

本発明は上記事実を考慮して成されたもので、同一のグループに属する各情報処理装置が各々保持する共有データの同期をとることを、トラフィックや負荷の増大を抑制しつつ実現することが可能な情報処理装置、情報処理システム、データ同期方法及びデータ同期プログラムを得ることが目的である。   The present invention has been made in view of the above facts, and it is possible to achieve synchronization of shared data held by each information processing device belonging to the same group while suppressing an increase in traffic and load. It is an object to obtain a possible information processing apparatus, information processing system, data synchronization method, and data synchronization program.

請求項記載の発明に係る情報処理装置は、自装置と同一の第1グループに属する他の複数台の情報処理装置と通信回線を介して接続された情報処理装置であって、前記第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段と、前記第1グループに属する特定の情報処理装置から、該特定の情報処理装置が保持している前記共有データが更新されたことを通知する通知情報を受信した場合に、ランダムに決定した待機時間が経過した後に、前記共有データの取得要求を前記特定の情報処理装置へ送信する取得要求手段と、前記取得要求手段が送信した取得要求に基づいて前記特定の情報処理装置から送信された前記共有データを受信し、受信した前記共有データを前記記憶手段に記憶させる受信手段と、を含んで構成されている。 An information processing apparatus according to a first aspect of the present invention is an information processing apparatus connected to a plurality of other information processing apparatuses belonging to the same first group as its own apparatus via a communication line, A storage unit capable of storing shared data that should be held by each information processing device belonging to the group and to be synchronized with each other, and a specific information processing device belonging to the first group are held by the specific information processing device. If you are the shared data received notification information for notifying that it has been updated, after the wait time determined at random has passed, it acquires for transmitting an acquisition request for the shared data to the specific information processing apparatus A requesting unit, receiving the shared data transmitted from the specific information processing apparatus based on the acquisition request transmitted by the acquisition requesting unit, and storing the received shared data in the storage unit It includes a receiving unit to be stored, a is configured.

請求項記載の発明に係る情報処理装置は、自装置と同一の第1グループに属する他の複数台の情報処理装置と通信回線を介して接続されており、第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段を備えている。ここで、請求項記載の発明では、第1グループに属する特定の情報処理装置から、該特定の情報処理装置が保持している共有データが更新されたことを通知する通知情報を受信した場合に、取得要求手段により、ランダムに決定した待機時間が経過した後に、共有データの取得要求が特定の情報処理装置へ送信される。そして受信手段は、取得要求手段が送信した取得要求に基づいて特定の情報処理装置から送信された共有データを受信し、受信した共有データを記憶手段に記憶させる。これにより、請求項記載の発明に係る情報処理装置の記憶手段に記憶されている共有データの同期をとる処理が完了することになる。 The information processing apparatus according to the first aspect of the present invention is connected to a plurality of other information processing apparatuses belonging to the same first group as the own apparatus via a communication line, and each information processing belonging to the first group The apparatus includes storage means capable of storing shared data that each device should hold and synchronize with each other. Here, in the first aspect of the invention, when notification information for notifying that the shared data held by the specific information processing apparatus has been updated is received from the specific information processing apparatus belonging to the first group to, the acquisition requesting means, after the wait time determined at random has passed, the acquisition request of the shared data is transmitted to a particular information processing apparatus. The receiving unit receives the shared data transmitted from the specific information processing apparatus based on the acquisition request transmitted by the acquisition request unit, and stores the received shared data in the storage unit. Thus, the process of synchronizing the shared data stored in the storage unit of the information processing apparatus according to the first aspect of the invention is completed.

このように、請求項記載の発明では、特定の情報処理装置が保持している共有データが更新されたことを通知する通知情報を受信した場合に、ランダムに決定した待機時間が経過した後に、共有データの取得要求を特定の情報処理装置へ送信するので、共有データが更新された特定の情報処理装置が、第1グループに属する複数の情報処理装置へ通知情報を送信したとしても、特定の情報処理装置は、通知情報を送信した複数の情報処理装置から互いにずれたタイミングで通知情報を受信することになり、トラフィックや特定の情報処理装置に加わる負荷が一時期に集中して過大となることを防止することができる。従って、請求項記載の発明によれば、同一のグループに属する各情報処理装置が各々保持する共有データの同期をとることを、トラフィックや負荷の増大を抑制しつつ実現することができる。 Thus, in the first aspect of the present invention, when receiving the notification information to notify that the shared data which a particular information processing apparatus holds are updated, wait time determined at random has passed Later, since the shared data acquisition request is transmitted to the specific information processing apparatus, even if the specific information processing apparatus in which the shared data is updated transmits the notification information to the plurality of information processing apparatuses belonging to the first group, The specific information processing apparatus receives the notification information at a timing shifted from each other from the plurality of information processing apparatuses that transmitted the notification information, and the load on the traffic and the specific information processing apparatus is concentrated at one time and excessive. Can be prevented. Therefore, according to the first aspect of the present invention, it is possible to achieve synchronization of shared data held by each information processing apparatus belonging to the same group while suppressing an increase in traffic and load.

なお、特定の情報処理装置が通知情報を送信した際に、特定の情報処理装置と他の情報処理装置の一部との通信が途絶している可能性があることを考慮すると、請求項記載の発明においても、特定の情報処理装置からは、通知情報が任意の時間間隔で繰り返し送信されることが望ましく、この通知情報は、前述のように、該通知情報を受信した個々の情報処理装置が、該個々の情報処理装置が保持している共有データが更新前のデータか否かを判断可能な情報であることが望ましい。この場合、取得要求手段は、例えば請求項にも記載したように、記憶手段に共有データが記憶されていない場合(例えば請求項記載の発明に係る情報処理装置が第1グループへ新たに参加したために共有データを受信していない状態である等の場合)、及び、受信した通知情報に基づき、記憶手段に記憶されている共有データが更新前のデータであると判断した場合に、特定の情報処理装置へ取得要求を送信し、記憶手段に記憶されている共有データが更新後のデータであると判断した場合は取得要求を送信しないように構成することが好ましい。これにより、請求項記載の発明に係る情報処理装置が、通知情報を受信する毎に共有データの取得要求を送信する必要がなくなるので、トラフィックの増大を抑制することができる。 Incidentally, when a particular information processing apparatus has transmitted the notification information, considering that there is a possibility that communication with the part of the particular information processing apparatus and another information processing apparatus is interrupted, claim 1 Also in the described invention, it is desirable that notification information is repeatedly transmitted from a specific information processing apparatus at an arbitrary time interval. As described above, this notification information is an individual information processing that has received the notification information. It is desirable that the apparatus is information that can determine whether the shared data held by each individual information processing apparatus is data before update. In this case, acquisition requesting means, for example, as described in claim 2, when a new shared data in the storage means is not stored (e.g., the information processing apparatus according to the invention of claim 1, wherein the the first group Specified when the shared data is not received due to participation, etc., and the shared data stored in the storage means is determined to be the pre-update data based on the received notification information When the acquisition request is transmitted to the information processing apparatus and it is determined that the shared data stored in the storage unit is the updated data, the acquisition request is preferably not transmitted. As a result, the information processing apparatus according to the first aspect of the present invention does not need to transmit a shared data acquisition request each time notification information is received, so that an increase in traffic can be suppressed.

また、請求項記載の発明に係る情報処理装置が、第1グループを包含する第2グループにも属していると共に、第1グループに属さず第2グループに属する他の複数の情報処理装置とも通信回線を介して接続されている場合も考えられるが、この場合、例えば請求項に記載したように、受信手段が第2グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを特定の情報処理装置から受信して記憶手段に記憶させた後に、共有データが更新されたことを通知する通知情報を、第1グループに属さず第2グループに属する他の全ての情報処理装置へ送信する第2通知手段と、第2通知手段が通知情報を送信した情報処理装置から共有データの取得要求を受信する毎に、記憶手段に記憶されている共有データを、取得要求送信元の情報処理装置へ送信する第2送信手段と、を更に設けることが好ましい。 The information processing apparatus according to the invention of claim 1 wherein, together with belong to the second group comprises a first group, the other both a plurality of information processing devices belonging to the second group do not belong to the first group Although it may be connected via a communication line, in this case, for example, as described in claim 3 , the receiving means should be held by each information processing apparatus belonging to the second group and synchronized with each other After the shared data to be received is received from the specific information processing apparatus and stored in the storage means, the notification information for notifying that the shared data has been updated is sent to all other members belonging to the second group and not belonging to the first group. The second notification means for transmitting to the information processing apparatus, and the shared data stored in the storage means each time the second notification means receives an acquisition request for shared data from the information processing apparatus that has transmitted the notification information. And a second transmission means for transmitting to the acquisition request source of the information processing apparatus, it is preferable to further provide a.

例えば、特定グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データが、特定グループに属する特定の情報処理装置で更新された場合、該特定グループに多数の情報処理装置が属していたとすると、特定グループに属する特定の情報処理装置から通知情報を受信した各情報処理装置が、各々請求項に記載したように、互いに異なる待機時間だけ待機した後に取得要求を送信したとしても、特定の情報処理装置に加わる負荷が一時期に集中して過大となる可能性がある。 For example, when shared data that each information processing device belonging to a specific group should hold and synchronize with each other is updated by a specific information processing device belonging to the specific group, a large number of information processing devices exist in the specific group. Suppose that each information processing device that has received notification information from a specific information processing device belonging to a specific group transmits an acquisition request after waiting for a different waiting time, as described in claim 1. However, there is a possibility that the load applied to a specific information processing apparatus is concentrated at one time and becomes excessive.

これに対して請求項記載の発明では、上記の特定グループに相当する第2グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データが、第2グループ(及び第2グループに包含される第1グループ)に属する特定の情報処理装置で更新された場合に、特定の情報処理装置が第1グループに属する情報処理装置(この情報処理装置には請求項記載の情報処理装置も含まれる)に対してのみ通知情報の送信、取得要求に基づく共有データの送信(第1グループに属する各情報処理装置が保持する共有データを同期させるための処理)を行えば、請求項記載の発明に係る情報処理装置によって、第1グループに属さず第2グループに属する情報処理装置に対して通知情報の送信、取得要求に基づく共有データの送信(第1グループに属さず第2グループに属する各情報処理装置が保持する共有データを同期させるための処理)が行われることになる。従って、請求項記載の発明によれば、多数の情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データが更新された場合に、当該共有データの更新が行われた情報処理装置に多大な負荷が加わることを回避することができる。 On the other hand, in the invention described in claim 3 , the shared data that each information processing apparatus belonging to the second group corresponding to the specific group should hold and synchronize with each other is the second group (and the second group). if it is updated in a particular information processing apparatus belonging to the first group) which is included in the group, information according to claim 3, wherein the specific information processing apparatus the information processing apparatus belonging to the first group (the information processing apparatus If the notification information is transmitted only to the processing device (including the processing device), the shared data is transmitted based on the acquisition request (processing for synchronizing the shared data held by each information processing device belonging to the first group). by the information processing apparatus according to the invention of claim 3, wherein the transmission of the notification information to the information processing apparatus belonging to the second group do not belong to the first group, the shared data based on the acquisition request So that the transmission (processing for synchronizing the shared data does not belong to the first group each information processing apparatus belonging to the second group are held) is performed. Therefore, according to the third aspect of the present invention, when shared data that should be held by each of a number of information processing apparatuses and synchronized with each other is updated, the information processing apparatus that has updated the shared data is updated. It is possible to avoid applying a great load.

なお、請求項記載の発明において、第2通知手段は、第1グループに属する他の情報処理装置から通知情報を受信することで更新が通知された共有データについて、第1グループに属さず第2グループに属する他の情報処理装置へ常に通知情報を送信するように構成してもよいし、個々の共有データに、何れのグループ内で共有するデータかを表す属性情報を各々付加しておき、第1グループに属する他の情報処理装置から通知情報を受信することで更新が通知された共有データに、第2グループ内で共有するデータであることを表す属性情報が付加されていた場合にのみ、第1グループに属さず第2グループに属する他の情報処理装置へ通知情報を送信するように構成してもよいが、これに代えて、例えば請求項に記載したように、特定の情報処理装置で更新された共有データが、第2グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべきデータであった場合、特定の情報処理装置から送信される通知情報には、共有データが第2グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべきデータであることを表す識別情報が付加され、第2通知手段は、特定の情報処理装置から受信した通知情報に前記識別情報が付加されていた場合にのみ、第1グループに属さず第2グループに属する他の全ての情報処理装置へ通知情報を送信するように構成してもよい。 In the third aspect of the present invention, the second notifying unit does not belong to the first group for the shared data notified of the update by receiving the notification information from another information processing apparatus belonging to the first group. The notification information may always be transmitted to other information processing apparatuses belonging to the two groups, and attribute information indicating the data to be shared in which group is added to each shared data. When the attribute information indicating that the data is shared in the second group is added to the shared data notified of the update by receiving the notification information from another information processing apparatus belonging to the first group. only, as may be configured to transmit the notification information to another information processing apparatus belonging to the second group do not belong to the first group, but instead of this, as described for example in claim 4, especially If the shared data updated by the information processing apparatus is data that each information processing apparatus belonging to the second group should hold and synchronize with each other, the notification information transmitted from the specific information processing apparatus Is added with identification information indicating that the shared data is data that each information processing device belonging to the second group should hold and synchronize with each other, and the second notification means receives from the specific information processing device Only when the identification information is added to the notified information, the notification information may be transmitted to all other information processing apparatuses belonging to the second group and not belonging to the first group.

請求項記載の発明に係る情報処理システムは、同一の第1グループに属する複数台の情報処理装置が通信回線を介して接続されて成る情報処理システムであって、前記複数台の情報処理装置の各々が、前記第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段と、前記記憶手段に記憶されている前記共有データが更新された場合に、前記共有データが更新されたことを通知する通知情報を、前記第1グループに属する他の全ての情報処理装置へ送信する第1通知手段と、前記第1通知手段が通知情報を送信した情報処理装置から前記共有データの取得要求を受信する毎に、前記記憶手段に記憶されている前記共有データを、前記取得要求送信元の情報処理装置へ送信する第1送信手段と、前記第1グループに属する特定の情報処理装置から、該特定の情報処理装置が保持している前記共有データが更新されたことを通知する通知情報を受信した場合に、ランダムに決定した待機時間が経過した後に、前記共有データの取得要求を前記特定の情報処理装置へ送信する取得要求手段と、前記取得要求手段が送信した取得要求に基づいて前記特定の情報処理装置から送信された前記共有データを受信し、受信した前記共有データを前記記憶手段に記憶させる受信手段と、を各々備えていることを特徴としている。 An information processing system according to claim 5 is an information processing system in which a plurality of information processing devices belonging to the same first group are connected via a communication line, wherein the plurality of information processing devices Each of the information processing devices belonging to the first group should be held and synchronized with each other, and the shared data stored in the storage means has been updated. In this case, first notification means for transmitting notification information for notifying that the shared data has been updated to all other information processing devices belonging to the first group, and the first notification means for transmitting notification information. Each time the shared data acquisition request is received from the acquired information processing apparatus, the shared data stored in the storage means is transmitted to the acquisition request transmission source information processing apparatus. Randomly determined when receiving notification information for notifying that the shared data held by the specific information processing device has been updated from the communication means and the specific information processing device belonging to the first group after between the standby has elapsed, transmitting the acquisition request of the shared data acquisition requesting means for transmitting to the particular information processing apparatus, from the specific information processing apparatus based on the acquisition request the acquisition requesting means sends And receiving means for receiving the received shared data and storing the received shared data in the storage means.

請求項記載の発明に係る情報処理システムは、第1グループに属する複数台の情報処理装置の各々が、上記の記憶手段、第1通知手段と、第1送信手段、取得要求手段及び受信手段を各々備えているので、複数台の情報処理装置のうちの何れの情報処理装置で共有データが更新された場合にも、請求項1記載の発明と同様に、同一のグループに属する各情報処理装置が各々保持する共有データの同期をとることを、トラフィックや負荷の増大を抑制しつつ実現することができる。 In the information processing system according to the fifth aspect of the present invention, each of the plurality of information processing apparatuses belonging to the first group includes the storage unit, the first notification unit, the first transmission unit, the acquisition request unit, and the reception unit. since each comprise a either even if the shared data is updated by the information processing apparatus, similarly to the inventions of claim 1 wherein each information belonging to the same group among the plurality of information processing apparatus Synchronizing the shared data held by each processing device can be realized while suppressing an increase in traffic and load.

請求項記載の発明に係るデータ同期方法は、同一の第1グループに属する複数台の情報処理装置が通信回線を介して接続されて成り、前記複数台の情報処理装置が、前記第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段を各々備えた情報処理システムにおいて、特定の情報処理装置の前記記憶手段に記憶されている前記共有データが更新された場合に、前記特定の情報処理装置は、前記共有データが更新されたことを通知する通知情報を、前記第1グループに属する他の全ての情報処理装置へ送信し、前記特定の情報処理装置から前記通知情報を受信した個々の情報処理装置は、ランダムに決定した待機時間が経過した後に、前記共有データの取得要求を前記特定の情報処理装置へ送信し、前記特定の情報処理装置は、前記通知情報を送信した情報処理装置から前記共有データの取得要求を受信する毎に、前記特定の情報処理装置の前記記憶手段に記憶されている前記共有データを、前記取得要求送信元の情報処理装置へ送信し、前記取得要求を送信した個々の情報処理装置は、前記取得要求に基づいて前記特定の情報処理装置から送信された前記共有データを受信し、受信した前記共有データを前記記憶手段に記憶させるので、請求項1記載の発明と同様に、同一のグループに属する各情報処理装置が各々保持する共有データの同期をとることを、トラフィックや負荷の増大を抑制しつつ実現することができる。 According to a sixth aspect of the present invention, there is provided a data synchronization method comprising a plurality of information processing devices belonging to the same first group connected via a communication line, wherein the plurality of information processing devices are connected to the first group. In the information processing system provided with storage means capable of storing shared data that should be held by each information processing apparatus belonging to each other and synchronized with each other, the sharing stored in the storage means of the specific information processing apparatus When data is updated, the specific information processing apparatus transmits notification information notifying that the shared data has been updated to all other information processing apparatuses belonging to the first group, and the specific information processing apparatus individual information processing apparatus, after the wait time determined at random has passed, the specific information acquisition request of the shared data from the information processing apparatus has received the notification information Each time the specific information processing apparatus receives the shared data acquisition request from the information processing apparatus that has transmitted the notification information, the specific information processing apparatus is stored in the storage unit of the specific information processing apparatus. The shared data transmitted from the specific information processing apparatus based on the acquisition request, to each of the information processing apparatuses that transmitted the acquisition request. receiving data, because to store the shared data received in the storage means, like the inventions of claim 1, wherein, to synchronize the shared data identical each information processing apparatus belonging to the group are each held Can be realized while suppressing an increase in traffic and load.

請求項記載の発明に係るデータ同期プログラムは、自装置と同一の第1グループに属する他の複数台の情報処理装置と通信回線を介して接続され、前記第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段を備えたコンピュータを、前記記憶手段に記憶されている前記共有データが更新された場合に、前記共有データが更新されたことを通知する通知情報を、前記第1グループに属する他の全ての情報処理装置へ送信する第1通知手段、前記第1通知手段が通知情報を送信した情報処理装置から前記共有データの取得要求を受信する毎に、前記記憶手段に記憶されている前記共有データを、前記取得要求送信元の情報処理装置へ送信する第1送信手段、前記第1グループに属する特定の情報処理装置から、該特定の情報処理装置が保持している前記共有データが更新されたことを通知する通知情報を受信した場合に、ランダムに決定した待機時間、或いは前記第1グループに属する個々の情報装置装置毎に相違するように予め設定された待機時間が経過した後に、前記共有データの取得要求を前記特定の情報処理装置へ送信する取得要求手段、及び、前記取得要求手段が送信した取得要求に基づいて前記特定の情報処理装置から送信された前記共有データを受信し、受信した前記共有データを前記記憶手段に記憶させる受信手段として機能させる。 A data synchronization program according to claim 7 is connected to another plurality of information processing devices belonging to the same first group as the own device via a communication line, and each information processing device belonging to the first group When the shared data stored in the storage means is updated, the shared data is updated when the computer having storage means capable of storing the shared data that should be held and synchronized with each other is updated. First notification means for transmitting notification information for notification to all other information processing devices belonging to the first group, and an acquisition request for the shared data from the information processing device to which the first notification means has transmitted notification information The first transmission unit that transmits the shared data stored in the storage unit to the information processing apparatus that is the acquisition request transmission source, When the notification information for notifying that the shared data held by the specific information processing apparatus is updated is received from the specific information processing apparatus, the waiting time randomly determined or the first group Acquisition request means for transmitting the shared data acquisition request to the specific information processing apparatus after a standby time set in advance so as to be different for each individual information apparatus belonging to the information processing apparatus, and the acquisition request means The shared data transmitted from the specific information processing apparatus is received based on the acquisition request transmitted by the server, and functions as a receiving unit that stores the received shared data in the storage unit.

請求項記載の発明に係るデータ同期プログラムは、自装置と同一の第1グループに属する他の複数台の情報処理装置と通信回線を介して接続され、第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段を備えたコンピュータを、上記の第1通知手段、第1送信手段、取得要求手段及び受信手段として機能させるためのプログラムであるので、上記のコンピュータが請求項記載の発明に係るデータ同期プログラムを実行することにより、コンピュータが請求項1に記載の情報処理装置として機能することになり、請求項1記載の発明と同様に、同一のグループに属する各情報処理装置が各々保持する共有データの同期をとることを、トラフィックや負荷の増大を抑制しつつ実現することができる。 According to a seventh aspect of the present invention, there is provided a data synchronization program that is connected to a plurality of other information processing devices belonging to the same first group as its own device via a communication line, and each information processing device belonging to the first group A program for causing a computer provided with storage means capable of storing shared data to be held and synchronized with each other to function as the first notification means, the first transmission means, the acquisition request means, and the reception means. since, by executing the data synchronization program which the computer according to the invention of claim 7, wherein, the computer becomes to function as an information processing equipment according to claim 1, originating in claim 1, wherein Like the bright, to take the synchronization of the shared data the same belonging to the group each information processing apparatus are each held, while suppressing an increase in traffic or load actual It can be.

発明は、第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを保持している特定の情報処理装置から、前記共有データが更新されたことを通知する通知情報を受信した場合に、ランダムに決定した待機時間が経過した後に、前記共有データの取得要求を特定の情報処理装置へ送信し、送信した取得要求に基づいて特定の情報処理装置から送信された共有データを受信し、受信した前記共有データを記憶手段に記憶させるようにしたので、同一のグループに属する各情報処理装置が各々保持する共有データの同期をとることを、トラフィックや負荷の増大を抑制しつつ実現できる、という優れた効果を有する。 The present invention provides a notification for notifying that the shared data has been updated from a specific information processing apparatus that holds shared data that each information processing apparatus belonging to the first group should hold and synchronize with each other. when receiving the information, after the wait time determined at random has passed, it transmits an acquisition request for the shared data to a specific information processing apparatus is transmitted from a particular information processing apparatus based on the transmitted acquisition request Since the received shared data is received and the received shared data is stored in the storage means, it is possible to synchronize the shared data held by each information processing device belonging to the same group, thereby increasing traffic and load. It has the outstanding effect that it can implement | achieve, suppressing this.

以下、図面を参照して本発明の実施形態の一例を詳細に説明する。   Hereinafter, an example of an embodiment of the present invention will be described in detail with reference to the drawings.

〔第1実施形態〕
以下では、まず本発明に好適なP2Pネットワーク(P2Pシステム)について説明する。図1に示すように、P2Pネットワーク10は、仮想的には各ピア12A〜12Gが相互に接続された構成であり、実際には、例えばピア12A〜12Cがファイアウォール14によるアクセス制限下にあるピアである場合もあれば、ピア12C〜12Eがインターネットに接続されたピアである場合もあれば、ピア12E〜12GがNAT(Network Address Translation)によってアドレス変換されるピアである場合もある。
[First Embodiment]
In the following, a P2P network (P2P system) suitable for the present invention will be described first. As shown in FIG. 1, the P2P network 10 has a configuration in which the peers 12A to 12G are virtually connected to each other. In practice, for example, the peers 12A to 12C are peers whose access is restricted by the firewall 14. The peers 12C to 12E may be peers connected to the Internet, and the peers 12E to 12G may be peers whose addresses are translated by NAT (Network Address Translation).

ここで、ピアとは、例えばパーソナルコンピュータ等のコンピュータ、PDA(Personal Digital Assistance)、携帯電話、プリンタ、コピー機、これらの機能を複数備えた複合機等のように、他の電子機器と通信を行う機能を備えた各種電子機器の何れであってもよく、個々のピアは、対応する電子機器のハードウェア又は対応する電子機器の機能を実現するソフトウェアを指す。また、各ピアは、同種の機器であるか異種の機器であるかに拘らずP2Pネットワークに参加することができる。また、各ピア同士の接続方法は様々であり、例えばIPv4(Internet Protocol version 4)やIPv6(Internet Protocol version 6)の機能を用いるTCP(Transmission Control Protocol)接続や、HTTP(HyperText Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)を用ることができる。   Here, a peer refers to communication with other electronic devices such as a computer such as a personal computer, a PDA (Personal Digital Assistance), a mobile phone, a printer, a copier, and a multifunction device having a plurality of these functions. Any of various electronic devices having a function to be performed may be used, and each peer refers to hardware of a corresponding electronic device or software that realizes a function of the corresponding electronic device. Each peer can participate in the P2P network regardless of whether it is the same type of device or a different type of device. There are various connection methods between peers. For example, TCP (Transmission Control Protocol) connection using IPv4 (Internet Protocol version 4) and IPv6 (Internet Protocol version 6) functions, HTTP (HyperText Transfer Protocol), SMTP (Simple Mail Transfer Protocol) can be used.

P2Pネットワークの形態としては、図2に示すように、各ピア14A〜14Kの全てが対等な関係にあるピュアP2Pと、図3に示すように、サーバ14Sを設け、一部のサービスの提供をサーバ14Sに委ね、その他のサービスの提供については各ピア14A〜14Hが対等な関係において実現されるハイブリッドP2Pの形態があり、本発明は何れの形態にも適用可能である。   As a form of the P2P network, as shown in FIG. 2, a pure P2P in which all of the peers 14A to 14K are in an equal relationship and a server 14S as shown in FIG. There is a hybrid P2P configuration in which the peers 14A to 14H are realized in an equal relationship with respect to provision of other services to the server 14S, and the present invention is applicable to any configuration.

また、P2Pネットワークに参加する各ピアにログオンするユーザ又はピアは、例として図4に示すように、目的に応じたグループを構成することができる。図4では、ピア12A〜12G全てがグループ1に属し、更にピア12A、12C、12E、12Fがグループ2に属し、ピア12B、12E、12F、12Gがグループ3に属している。なお、各ユーザ又はピアは、単一のグループに属してもよいし、複数のグループに属していてもよい。また、ユーザ又はピアは必ずしもグループに属する必要はない。   Moreover, as shown in FIG. 4 as an example, users or peers who log on to each peer participating in the P2P network can form a group according to the purpose. In FIG. 4, all of peers 12A to 12G belong to group 1, peers 12A, 12C, 12E, and 12F belong to group 2, and peers 12B, 12E, 12F, and 12G belong to group 3. Each user or peer may belong to a single group or may belong to a plurality of groups. Also, a user or peer does not necessarily have to belong to a group.

図5にはP2Pネットワーク10に参加する個々のピアの基本構成を示す。図5に示すように、ピア12は、P2P基盤構成部16、P2P基盤管理データ記憶部18、アプリケーション実行部20及びアプリケーションメモリ22を含んで構成されており、P2P基盤構成部16は、メッセージ制御部24、データ管理部26、送信部28及び受信部30を含んで構成されている。送信部28は、メッセージ制御部24から受け取ったメッセージをネットワーク32へ向けて送信する。受信部30は、P2Pネットワーク10内で送受信されるデータのうち、自ピアにとって必要なデータを受信する。受信部30は常に受信待機状態となっており、P2Pネットワーク10の他ピアからの各種要求やデータを受信し、メッセージ制御部24に受け渡す。なお、受信部30は送信部28とは独立かつ並列に動作する。   FIG. 5 shows a basic configuration of individual peers participating in the P2P network 10. As shown in FIG. 5, the peer 12 includes a P2P infrastructure configuration unit 16, a P2P infrastructure management data storage unit 18, an application execution unit 20, and an application memory 22, and the P2P infrastructure configuration unit 16 performs message control. Unit 24, data management unit 26, transmission unit 28, and reception unit 30. The transmission unit 28 transmits the message received from the message control unit 24 toward the network 32. The receiving unit 30 receives data necessary for its own peer among data transmitted and received in the P2P network 10. The reception unit 30 is always in a reception standby state, receives various requests and data from other peers of the P2P network 10, and passes them to the message control unit 24. The receiving unit 30 operates independently and in parallel with the transmitting unit 28.

図6にはメッセージ制御部24の概略構成を示す。メッセージ制御部24は、図6に示すように、サービス実行部34及びメッセージディスパッチ部36を含んで構成されている。サービス実行部34は、ピア探索サービス部38、告知情報公開サービス部40、告知情報取得サービス部42、グループ管理サービス部44、ユーザ管理サービス部46、及びピア管理サービス部48を含んで構成されており、各サービス部は相互に情報を送受しながら各サービスを実行する。ピア探索サービス部38は、P2Pネットワークに参加しているピアを探索する機能及び自ピアが必要とするサービス(機能)を提供可能なピアを探索する機能を有する。なお、探索の範囲は、必要とするサービスの名称や属性、ホップ数の閾値等を指定することにより制御することができる。ここで、ホップ数とは、メッセージを送信する際に経由するピアの数である。   FIG. 6 shows a schematic configuration of the message control unit 24. As shown in FIG. 6, the message control unit 24 includes a service execution unit 34 and a message dispatch unit 36. The service execution unit 34 includes a peer search service unit 38, a notification information disclosure service unit 40, a notification information acquisition service unit 42, a group management service unit 44, a user management service unit 46, and a peer management service unit 48. Each service unit executes each service while transmitting and receiving information to and from each other. The peer search service unit 38 has a function of searching for a peer participating in the P2P network and a function of searching for a peer that can provide a service (function) required by the peer. The search range can be controlled by designating the name and attribute of the required service, the threshold value for the number of hops, and the like. Here, the number of hops is the number of peers through which a message is transmitted.

告知情報公開サービス部40は、自ピアが提供可能なサービス等の情報を告知情報としてP2Pネットワーク上に公開する機能を有する。ここで、提供可能なサービスには、例えばアプリケーション実行部20により実行されるアプリケーションの他、後述するグループ管理サービスやユーザ管理サービス等も含まれる。なお、告知情報の公開は、例えば他ピアから問い合わせがあった場合や自ピアの起動時に実行してもよいし、定期的に実行するようにしてもよい。このように各ピアの告知情報公開サービス部40によって告知情報がP2Pネットワーク上に公開されることにより、P2Pネットワークに参加している各ピアは、P2Pネットワーク上でどのようなサービスを利用できるかを把握することができる。   The notification information disclosure service unit 40 has a function of publishing information such as services that can be provided by its own peer on the P2P network as notification information. Here, the services that can be provided include, for example, a group management service and a user management service, which will be described later, in addition to an application executed by the application execution unit 20. The announcement information may be disclosed, for example, when there is an inquiry from another peer, when the own peer is activated, or periodically. In this way, the announcement information is published on the P2P network by the announcement information disclosure service unit 40 of each peer, so what kind of service each peer participating in the P2P network can use on the P2P network can be determined. I can grasp it.

告知情報取得サービス部42は、ピア探索サービス部38によって探索されたピアから送信された告知情報又は他ピアから自発的に送信された告知情報を取得し、データ管理部26へ受け渡す。データ管理部26では、取得した告知情報をピア情報としてP2P基盤管理データ記憶部18に記憶させる。これにより、個々のピアは、P2Pネットワークに参加している他ピアがどのようなサービスを提供しているのかを把握することができる。また、グループ管理サービス部44は、同じ目的を有するピア同士で構成されたグループへの参加や脱退、新たなグループの生成等をグループ情報に基づいて管理する機能を有する。グループ情報は、例えば少なくともグループIDとユーザIDとの対応関係を表す情報であり、P2P基盤管理データ記憶部18に記憶される。このグループ情報を参照することにより、どのグループにどのユーザが属しているかを把握することができる。   The notification information acquisition service unit 42 acquires the notification information transmitted from the peer searched by the peer search service unit 38 or the notification information spontaneously transmitted from another peer, and passes it to the data management unit 26. The data management unit 26 stores the acquired notification information in the P2P infrastructure management data storage unit 18 as peer information. Thereby, each peer can grasp what kind of service other peers participating in the P2P network provide. In addition, the group management service unit 44 has a function of managing participation and withdrawal from a group composed of peers having the same purpose, generation of a new group, and the like based on group information. The group information is, for example, information representing a correspondence relationship between at least a group ID and a user ID, and is stored in the P2P infrastructure management data storage unit 18. By referring to this group information, it is possible to grasp which user belongs to which group.

ユーザ管理サービス部46は、ユーザ情報を管理する機能を有する。ユーザ情報は、例えばピアIDとそのピアにログオンしているユーザIDとの対応関係を表すログオン情報や、ユーザの名前、メールアドレス等のユーザ自身に関する情報、そのユーザが属するグループのグループID等の情報を含み、P2P基盤管理データ記憶部18に記憶される。また、ピア管理サービス部48は、P2Pネットワークに参加しているピアのピア情報を管理する機能を有する。また、メッセージディスパッチ部36は、アプリケーション実行部20からのメッセージや他ピアとの間で送受信されるメッセージを解析し、サービス実行部34のうち解析したメッセージに関する処理を行うべきサービス部へ制御を渡す。   The user management service unit 46 has a function of managing user information. User information includes, for example, logon information indicating the correspondence between a peer ID and a user ID logged on to the peer, information about the user himself such as the user name and email address, and the group ID of the group to which the user belongs. Information is stored in the P2P infrastructure management data storage unit 18. The peer management service unit 48 has a function of managing peer information of peers participating in the P2P network. The message dispatch unit 36 analyzes a message from the application execution unit 20 and a message transmitted / received to / from another peer, and passes control to a service unit that should perform processing related to the analyzed message in the service execution unit 34. .

一方、P2P基盤管理データ記憶部18は、経路情報18A、グループ情報18B、隣接情報18C、ピア情報18D、及びユーザ情報18Eを記憶する。経路情報18Aは、P2Pネットワークにおける経路の情報、例えばスパニングツリー(ループのない木構造となるメッセージの転送経路)に関する情報を含む。グループ情報18Bは、前述したように例えば少なくともグループIDとユーザIDとの対応関係を表す情報である。隣接情報18Cは、自ピアに隣接するピアに関する情報、例えばピアID等の情報を含む。ここで、隣接するピアとは、例えば自ピアから送信したパケットに対する応答時間が予め定めた所定時間内のピアとすることができる。隣接情報は、例えば他ピアと通信する課程において得られる応答時間に基づいて生成することができるが、オペレータの操作等により手動で設定するようにしてもよい。ピア情報18Dは、ピア探索サービス部38によって探索されたピアに関する情報、例えばピアID等の情報や、告知情報取得サービス部42によって取得したP2Pネットワーク上の各ピアが提供しているサービスに関する情報等を含む。ここで、ピアIDには、例えばIPアドレスやURI(Uniform Resource Identifier)等を用いることができる。ユーザ情報18Eは、前述したようにユーザのログオン情報やユーザ自身に関する情報等を含む。   On the other hand, the P2P infrastructure management data storage unit 18 stores route information 18A, group information 18B, adjacent information 18C, peer information 18D, and user information 18E. The path information 18A includes information on a path in the P2P network, for example, information on a spanning tree (a message transfer path having a tree structure without a loop). As described above, the group information 18B is information representing a correspondence relationship between at least a group ID and a user ID, for example. The adjacency information 18C includes information on a peer adjacent to the own peer, for example, information such as a peer ID. Here, the adjacent peer can be, for example, a peer within a predetermined time that is a response time for a packet transmitted from the own peer. The adjacent information can be generated based on a response time obtained in a process of communicating with another peer, for example, but may be set manually by an operator's operation or the like. The peer information 18D is information related to the peer searched by the peer search service unit 38, for example, information such as a peer ID, information related to a service provided by each peer on the P2P network acquired by the notification information acquisition service unit 42, etc. including. Here, for example, an IP address or a URI (Uniform Resource Identifier) can be used as the peer ID. As described above, the user information 18E includes user logon information, information about the user himself, and the like.

アプリケーション実行部20は、各種アプリケーションを実行するものであり、メッセージ制御部24を介して他ピアとメッセージの送受信を行う。また、アプリケーションメモリ22は、アプリケーション実行部20の実行に関連する各種の情報を記憶するためのメモリである。   The application execution unit 20 executes various applications, and transmits and receives messages to and from other peers via the message control unit 24. The application memory 22 is a memory for storing various types of information related to the execution of the application execution unit 20.

次に、アプリケーション実行の具体例として、或るピアグループ(便宜的にピアグループAと称する)に属する各ピアが、各々同一のデータ(共有データ)を各ピアの不揮発性の記憶手段(例えばHDD(Hard Disk Drive)等)各々記憶している状態で、或るピアに記憶されている共有データが更新された場合に、各ピアのアプリケーション実行部20で実行される処理(共有データを同期化する処理)について説明する。なお、共有データを同期化する処理は、共有データが更新されたピアのアプリケーション実行部20で共有データ配信処理(図8)が実行されると共に、ピアグループAに属する他のピアのアプリケーション実行部20で共有データ同期処理(図9)が実行されることによって実現されるが、これらの処理を行うための共有データ配信プログラム及び共有データ同期プログラムは請求項に記載のデータ同期プログラムに対応しており、個々のピアに予めインストールされている。また、ピアグループAに属する各ピアは本発明に係る情報処理装置に対応しており、ピアグループAは請求項に記載の情報処理システムに対応している。また、上記の不揮発性の記憶手段は本発明に係る記憶手段に対応しており、ピアグループAは本発明に係る第1グループに対応している。 Next, as a specific example of application execution, each peer belonging to a certain peer group (referred to as peer group A for convenience) stores the same data (shared data) in each peer's nonvolatile storage means (for example, HDD) (Hard Disk Drive) etc.) When the shared data stored in a certain peer is updated in the state where each is stored, the processing executed by the application execution unit 20 of each peer (the shared data is synchronized) Will be described. The process of synchronizing the shared data is performed by executing the shared data distribution process (FIG. 8) in the peer application execution unit 20 in which the shared data has been updated, and the application execution units of other peers belonging to the peer group A. 20, the shared data synchronization program (FIG. 9) is executed. The shared data distribution program and the shared data synchronization program for performing these processes correspond to the data synchronization program according to claim 7. And pre-installed on individual peers. Each peer belonging to the peer group A corresponds to the information processing apparatus according to the present invention, and the peer group A corresponds to the information processing system according to claim 5 . The nonvolatile storage means described above corresponds to the storage means according to the present invention, and the peer group A corresponds to the first group according to the present invention.

例として図7(A)にも示すように、ピアグループA内の任意のピアで共有データが更新されると(図7では例として共有データの更新がピア2で発生した場合を示している)、当該ピアのアプリケーション実行部20では、図8に示す共有データ配信処理が実行される。この共有データ配信処理は、共有データが更新された場合以外に、送信タイマがタイムアウトした場合及び他のピアから取得要求を受信した場合にも実行される。このため、ステップ100では、まず今回の起動要因が共有データの更新か否か判定する。判定が肯定された場合はステップ102へ移行し、更新された共有データXの送信回数iに1を代入し、次のステップ104において、更新された共有データXの識別子xを取得する。   As shown in FIG. 7A as an example, when shared data is updated at an arbitrary peer in peer group A (FIG. 7 shows an example in which shared data is updated at peer 2 as an example. In the peer application execution unit 20, the shared data distribution process shown in FIG. 8 is executed. This shared data distribution process is executed not only when the shared data is updated, but also when the transmission timer times out and when an acquisition request is received from another peer. Therefore, in step 100, it is first determined whether or not the current activation factor is an update of shared data. If the determination is affirmative, the process proceeds to step 102, where 1 is substituted into the number i of transmissions of the updated shared data X, and in the next step 104, the identifier x of the updated shared data X is acquired.

また、ステップ106ではハッシュ関数を用いて共有データXのダイジェスト(ハッシュ値)を生成する。そしてステップ108では、ステップ104で取得した識別子x、ステップ106で生成したダイジェスト、送信元情報(自ピアのID)を含む共有データXの更新通知情報を生成し、アプリケーションメモリ22に記憶させる。ステップ110ではP2P基盤管理データ記憶部18に記憶されている情報を参照し、共有データXを共有しているピアグループAに属する全てのピア(自ピア以外のピア)を送信対象として認識する。そしてステップ112では、先のステップ108でアプリケーションメモリ22に記憶させた共有データXの更新通知情報を、ステップ112で認識した全てのピアへ送信する(図7(B)も参照)。   In step 106, a digest (hash value) of the shared data X is generated using a hash function. In step 108, update notification information of the shared data X including the identifier x acquired in step 104, the digest generated in step 106, and transmission source information (own peer ID) is generated and stored in the application memory 22. In step 110, the information stored in the P2P infrastructure management data storage unit 18 is referred to, and all peers (peers other than the own peer) belonging to the peer group A sharing the shared data X are recognized as transmission targets. In step 112, the update notification information of the shared data X stored in the application memory 22 in the previous step 108 is transmitted to all the peers recognized in step 112 (see also FIG. 7B).

ステップ114ではi回目の更新通知情報送信における送信時間間隔を取り込み、次のステップ116では、取り込んだ送信時間間隔をタイマ値とする共有データXの送信タイマをスタートさせ、処理を終了する。例として図9に示すように、本実施形態では、更新通知情報の送信回数が増加するに従って更新通知情報の通信時間間隔が長くなるように、更新通知情報の送信回数と通信時間間隔との関係が定められており、1回目の更新通知情報の送信では送信時間間隔が比較的短くされる。   In step 114, the transmission time interval in the i-th update notification information transmission is captured, and in the next step 116, a transmission timer for the shared data X having the captured transmission time interval as a timer value is started, and the process ends. As an example, as shown in FIG. 9, in this embodiment, the relationship between the number of transmissions of update notification information and the communication time interval so that the communication time interval of update notification information increases as the number of times of transmission of update notification information increases. The transmission time interval is relatively shortened in the first transmission of the update notification information.

i回目の更新通知情報の送信を完了してからステップ114で取り込んだ送信時間間隔に相当する時間が経過することで、ステップ116でスタートさせた送信タイマがタイムアウトすると、共有データ配信処理が再度起動され、先のステップ100の判定が否定されてステップ120へ移行し、今回の起動要因が送信タイマのタイムアウトか否か判定される。この場合は判定が肯定されてステップ122へ移行し、まずタイムアウトした送信タイマに対応する共有データXを認識する。ステップ124では、共有データXの送信回数iを1だけインクリメントし、次のステップ126ではアプリケーションメモリ22に記憶されている共有データXの更新通知情報を読み出してステップ110へ移行する。これにより、前述のように共有データXの更新を通知する更新通知情報がピアグループAに属する他の全てのピアへ再送信されると共に、共有データXの送信タイマが現在の送信回数iに対応する新たなタイマ値で再スタートされることになる。この更新通知情報の再送信により、ピアグループA内の一部のピアとの通信が一時的に途絶していたとしても、共有データXが更新されたことを前記一部のピアに確実に通知することができる。なお、上述したステップ100〜126は本発明に係る第1通知手段に対応している。 When the transmission timer interval started in step 116 times out due to the elapse of the time corresponding to the transmission time interval captured in step 114 after completing the transmission of the i-th update notification information, the shared data distribution process is restarted. Then, the determination at the previous step 100 is denied and the routine proceeds to step 120, where it is determined whether or not the current activation factor is a timeout of the transmission timer. In this case, the determination is affirmed and the routine proceeds to step 122, where the shared data X corresponding to the transmission timer that has timed out is first recognized. In step 124, the number of times i of transmission of the shared data X is incremented by 1. In the next step 126, the update notification information of the shared data X stored in the application memory 22 is read, and the process proceeds to step 110. As a result, the update notification information for notifying the update of the shared data X is retransmitted to all the other peers belonging to the peer group A as described above, and the transmission timer for the shared data X corresponds to the current transmission count i. Will be restarted with a new timer value. By retransmitting the update notification information, even if communication with some peers in the peer group A is temporarily interrupted, it is surely notified to the some peers that the shared data X has been updated. can do. Note that steps 100 to 126 described above corresponds to the first notification hand stage according to the present invention.

共有データ配信処理で送信する更新通知情報は、共有データXが更新されたことを他のピアへ通知するための情報であり、識別子xやダイジェスト、送信元情報等の情報から構成されているので、共有データX自体と比較してデータ量は大幅に小さい。このため、ピアグループAに属する他の全てのピアへ更新通知情報を定期的に送信しても、ピアグループA内におけるトラフィックの増加はごく僅かであると共に、更新通知情報を受信することで他のピアの負荷が大幅に増大することも回避できる。また、共有データ自体を送信する場合と比較してトラフィックや負荷に与える影響が僅かであることから、更新通知情報の送信時間間隔は、共有データ自体を送信する場合の送信時間間隔よりも短くすることも可能となる。これにより、ピアグループAに属する他のピアの中に、通信回線の障害等の影響で最初に送信された更新通知情報を受信できなかったピアが含まれていたとしても、前記ピアが共有データが更新されたことを認識する迄の平均時間を短縮することが可能となる。   The update notification information transmitted in the shared data distribution process is information for notifying other peers that the shared data X has been updated, and is composed of information such as an identifier x, a digest, and transmission source information. The amount of data is significantly smaller than the shared data X itself. Therefore, even if the update notification information is periodically transmitted to all other peers belonging to the peer group A, the traffic increase in the peer group A is negligible, and the update notification information is received to receive the other information. It is also possible to avoid a significant increase in the peer load. In addition, the transmission time interval of the update notification information is made shorter than the transmission time interval when the shared data itself is transmitted because the influence on the traffic and load is small compared with the case where the shared data itself is transmitted. It is also possible. As a result, even if other peers belonging to peer group A include a peer that could not receive the update notification information that was initially transmitted due to the influence of a communication line failure or the like, It is possible to shorten the average time until it is recognized that has been updated.

続いて、更新通知情報を受信する側のピアにおける処理を説明する。他のピアから更新通知情報を受信すると、当該ピアのアプリケーション実行部20では、図10に示す共有データ同期処理が実行される。この共有データ同期処理は、更新通知情報を受信した場合以外に、送信タイマがタイムアウトした場合及び他のピアから共有データを受信した場合にも実行される。このため、ステップ150では、まず今回の起動要因が更新通知情報の受信か否か判定する。判定が肯定された場合はステップ152へ移行し、受信した更新通知から更新された共有データの識別子xを抽出する。そしてステップ154では、ステップ152で抽出された識別子xに基づいて、対応する共有データXが自ピアの不揮発性の記憶手段に既に記憶されているか否か判定する。   Next, processing in the peer that receives the update notification information will be described. When the update notification information is received from another peer, the application execution unit 20 of the peer executes the shared data synchronization process shown in FIG. This shared data synchronization processing is executed not only when the update notification information is received but also when the transmission timer times out and when shared data is received from another peer. Therefore, in step 150, it is first determined whether or not the current activation factor is reception of update notification information. If the determination is affirmative, the process proceeds to step 152, and the identifier x of the updated shared data is extracted from the received update notification. In step 154, based on the identifier x extracted in step 152, it is determined whether or not the corresponding shared data X is already stored in the non-volatile storage means of the own peer.

先にも説明したように、各ピアは新たなピアグループに参加したり、参加していたピアグループから脱退することが可能であり、自ピアがピアグループAに参加した直後であった等の場合には、更新通知情報を受信した時点で共有データXが自ピアの不揮発性の記憶手段に記憶されていない状態も生じ得る。この場合はステップ154の判定が否定されてステップ160へ移行する。一方、共有データXが自ピアの不揮発性の記憶手段に記憶されていた場合には、ステップ154の判定が肯定されてステップ156へ移行し、ハッシュ関数を用いて自ピアの不揮発性の記憶手段に記憶されている共有データXのダイジェスト(ハッシュ値)を生成する。また、ステップ158では受信した更新通知情報からダイジェストを抽出する。そしてステップ159では、ステップ156で生成したダイジェストをステップ158で抽出したダイジェストと照合し、両者が一致しているか否かを判定する。   As explained earlier, each peer can join a new peer group or withdraw from a peer group that has joined, such as immediately after its own peer joined peer group A. In some cases, the shared data X may not be stored in the non-volatile storage unit of the own peer when the update notification information is received. In this case, the determination at step 154 is negative and the routine proceeds to step 160. On the other hand, if the shared data X is stored in the non-volatile storage unit of the own peer, the determination in step 154 is affirmed and the process proceeds to step 156, and the non-volatile storage unit of the own peer is used using the hash function. A digest (hash value) of the shared data X stored in is generated. In step 158, a digest is extracted from the received update notification information. In step 159, the digest generated in step 156 is checked against the digest extracted in step 158 to determine whether or not they match.

ステップ159の判定が否定された場合、自ピアの不揮発性の記憶手段に記憶されている共有データXは更新前のデータであると判断できるので、ステップ160へ移行し、更新通知情報送信元のピアに対して共有データXの送信を要求するために、ステップ152で抽出した識別子xと、要求元情報(自ピアのID)を含む共有データXの取得要求情報を生成する。またステップ162では、生成した共有データXの取得要求情報を、受信した更新通知情報から抽出した送信元情報(更新通知情報送信元のピアのID)と対応付けてアプリケーションメモリ22に記憶させる。そして、ステップ164では共有データXの取得要求情報の送信を待機する時間を乱数によって決定し、次のステップ166において、ステップ164で決定した送信待機時間をタイマ値とする共有データXの取得要求情報の送信タイマをスタートさせて処理を終了する。   If the determination in step 159 is negative, it can be determined that the shared data X stored in the non-volatile storage means of the peer is the data before update, so the process proceeds to step 160 and the update notification information transmission source In order to request the peer to transmit the shared data X, the shared data X acquisition request information including the identifier x extracted in step 152 and the request source information (the own peer ID) is generated. In step 162, the generated shared data X acquisition request information is stored in the application memory 22 in association with the transmission source information extracted from the received update notification information (the ID of the peer of the update notification information transmission source). In step 164, a time for waiting for transmission of the acquisition request information for shared data X is determined by a random number. In next step 166, the acquisition request information for shared data X using the transmission standby time determined in step 164 as a timer value. The transmission timer is started and the process ends.

ステップ164で決定した送信待機時間が経過することで、ステップ166でスタートさせた送信タイマがタイムアウトすると、共有データ同期処理が再度起動され、先のステップ150の判定が否定されてステップ170へ移行し、今回の起動要因が送信タイマのタイムアウトか否か判定される。この場合は判定が肯定されてステップ172へ移行し、まずタイムアウトした送信タイマに対応する共有データXを認識する。ステップ174では、先のステップ162でアプリケーションメモリ22に記憶させた共有データXの取得要求情報と送信元情報を読み出し、次のステップ176では、読み出した共有データXの取得要求情報を、読み出した送信元情報に対応するピア(更新通知情報送信元のピア)へ送信し、処理を終了する。なお、上述したステップ150〜ステップ176は本発明に係る取得要求手段(詳しくは請求項に記載の取得要求手段)に対応している。 When the transmission standby time determined in step 164 elapses and the transmission timer started in step 166 times out, the shared data synchronization process is started again, the determination in step 150 is denied, and the process proceeds to step 170. Then, it is determined whether or not the current activation factor is a timeout of the transmission timer. In this case, the determination is affirmed, and the process proceeds to step 172. First, the shared data X corresponding to the transmission timer that has timed out is recognized. In step 174, the acquisition request information and transmission source information of the shared data X stored in the application memory 22 in the previous step 162 are read. In the next step 176, the read transmission request information of the shared data X is read. The information is transmitted to the peer corresponding to the original information (the update notification information transmission source peer), and the process ends. Steps 150 to 176 described above correspond to acquisition request means according to the present invention (specifically, the acquisition request means described in claim 2 ).

上記のようにして、更新通知情報を受信したピアから共有データXの取得要求情報が送信され、この取得要求情報が更新通知情報送信元のピアで受信されると、更新通知情報送信元のピアで共有データ配信処理が再度起動され、ステップ100,120の判定が各々否定されてステップ130へ移行する。ステップ130では、受信した取得要求情報から識別子xを抽出することで、取得対象の共有データXを認識する。次のステップ132では、認識した共有データX(更新後のデータ)を自ピアの不揮発性の記憶手段から読み出す。そしてステップ134では、ステップ132で読み出した共有データXを識別子xと共に取得要求送信元のピアへ送信し、処理を終了する。なお、上述したステップ130〜ステップ134は本発明に係る第1送信手段に対応している。   As described above, when the acquisition request information of the shared data X is transmitted from the peer that has received the update notification information, and this acquisition request information is received by the update notification information transmission source peer, the update notification information transmission source peer is transmitted. Then, the shared data distribution process is started again, the determinations in steps 100 and 120 are respectively denied, and the process proceeds to step 130. In step 130, the identifier x is extracted from the received acquisition request information to recognize the acquisition target shared data X. In the next step 132, the recognized shared data X (updated data) is read from the non-volatile storage means of the own peer. In step 134, the shared data X read in step 132 is transmitted to the acquisition request transmission source peer together with the identifier x, and the process ends. Steps 130 to 134 described above correspond to the first transmission means according to the present invention.

この共有データXが取得要求送信元のピアで受信されると、取得要求送信元のピアで共有データ同期処理が再度起動され、ステップ150,170の判定が各々否定されてステップ180へ移行する。ステップ180では、共有データ送信元のピアから共有データXと共に受信した識別子xに基づいて、対応する共有データXが自ピアの不揮発性の記憶手段に既に記憶されているか否か判定する。判定が否定された場合はステップ182へ移行し、受信した共有データXを自ピアの不揮発性の記憶手段に記憶させ、処理を終了する。また、ステップ180の判定が肯定された場合はステップ184へ移行し、受信した共有データXを、自ピアの不揮発性の記憶手段に既に記憶されている共有データXに上書きして記憶させ、処理を終了する。これにより、不揮発性の記憶手段に記憶されている共有データXを最新のデータへ変更する同期化が完了する。なお、上述したステップ180〜ステップ184は本発明に係る受信手段に対応している。   When the shared data X is received at the acquisition request transmission source peer, the shared data synchronization processing is started again at the acquisition request transmission source peer, the determinations of steps 150 and 170 are respectively denied, and the process proceeds to step 180. In step 180, based on the identifier x received together with the shared data X from the peer of the shared data transmission source, it is determined whether or not the corresponding shared data X is already stored in the non-volatile storage means of the own peer. When determination is denied, it transfers to step 182 and memorize | stores the received shared data X in the non-volatile memory | storage means of an own peer, and complete | finishes a process. If the determination in step 180 is affirmed, the process proceeds to step 184, and the received shared data X is overwritten and stored on the shared data X already stored in the non-volatile storage means of the own peer. Exit. Thereby, the synchronization for changing the shared data X stored in the nonvolatile storage means to the latest data is completed. Steps 180 to 184 described above correspond to the receiving means according to the present invention.

本実施形態において、更新通知情報送信元のピアは、他のピアから取得要求情報を受信する毎に、取得が要求された共有データの送信(ステップ130〜134)を行うが、更新通知情報を受信した各ピアでは、乱数によって決定した送信待機時間が経過した後に取得要求情報を送信するので、例として図7(C)〜(E)にも示すように、更新通知情報を受信した各ピアからは互いに異なるタイミングで取得要求情報が送信され、これに伴い、更新通知情報送信元のピアから各ピアへ共有データXが送信されるタイミングも互いに相違することになる。これにより、ピアグループA内のトラフィック、或いは更新通知情報送信元のピアに加わる負荷が一時期に集中して過大となることが防止され、ピアグループAに属する各ピアが各々保持する共有データの同期をとることを、トラフィックや負荷の増大を抑制しつつ実現することができる。   In this embodiment, each time the update notification information transmission source peer receives the acquisition request information from another peer, it transmits the shared data requested to be acquired (steps 130 to 134). Each receiving peer transmits the acquisition request information after the transmission waiting time determined by the random number has elapsed, and therefore, as shown in FIG. 7C to FIG. 7E, for example, each peer that has received the update notification information The acquisition request information is transmitted at different timing from each other, and accordingly, the timing at which the shared data X is transmitted from the peer of the update notification information transmission source to each peer also differs. As a result, it is possible to prevent the traffic in the peer group A or the load applied to the update notification information transmission source peer from being excessively concentrated at one time, and to synchronize the shared data held by each peer belonging to the peer group A. It can be realized while suppressing an increase in traffic and load.

なお、本実施形態では共有データが更新されたピアが更新通知情報を定期的に送信するので、更新通知情報を受信する側のピアは、同一の更新通知情報を複数回受信することになるが、この場合、不揮発性の記憶手段に既に記憶されている共有データXのダイジェスト(ステップ156で生成したダイジェスト)が、受信した更新通知情報から抽出したダイジェストに一致することになるので、ステップ159の判定が肯定されることで自ピアの不揮発性の記憶手段に記憶されている共有データXは更新後のデータであると判断することができ、何ら処理を行うことなく処理を終了する。これにより、ピアグループA内のトラフィックを抑制することができ、更新通知情報を受信する側のピアに加わる負荷が増大することも回避することができる。   In this embodiment, since the peer with updated shared data periodically transmits the update notification information, the peer on the receiving side of the update notification information receives the same update notification information multiple times. In this case, since the digest of the shared data X already stored in the non-volatile storage means (the digest generated in step 156) matches the digest extracted from the received update notification information, If the determination is affirmed, it can be determined that the shared data X stored in the non-volatile storage means of the peer is the updated data, and the process is terminated without performing any process. Thereby, the traffic in the peer group A can be suppressed, and it is also possible to avoid an increase in the load applied to the peer on the side receiving the update notification information.

〔第2実施形態〕
次に本発明の第2実施形態について説明する。なお、本第2実施形態は第1実施形態と同一の構成であるので、各部分に同一の符号を付して構成の説明を省略し、以下、本第2実施形態における共有データを同期化する処理について、第1実施形態と異なる部分についてのみ説明する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described. Since the second embodiment has the same configuration as that of the first embodiment, the same reference numerals are given to the respective parts, and the description of the configuration is omitted. Hereinafter, the shared data in the second embodiment is synchronized. Only the differences from the first embodiment will be described.

第1実施形態では、或るピアグループに属する各ピアに各々保持される共有データが何れかのピアで更新された場合に、共有データの更新が発生したピアが、同一のピアグループに属する他の全てのピアに対して更新通知情報の送信及び共有データの送信を行う例を説明したが、ピアグループに属するピアの数が多数になると、更新通知情報を受信した各ピアが取得要求情報を送信するタイミングが互いにずれていても、更新通知の送信及び共有データの送信を行うピアに多大な負荷が加わる可能性がある。   In the first embodiment, when the shared data held by each peer belonging to a certain peer group is updated by any peer, the peer in which the shared data is updated may belong to the same peer group. The example in which the update notification information is transmitted to all the peers and the shared data is transmitted has been described. However, when the number of peers belonging to the peer group becomes large, each peer that has received the update notification information receives the acquisition request information. Even if the transmission timings are different from each other, there is a possibility that a great load is applied to the peer that transmits the update notification and the shared data.

一方、P2Pネットワークでは、例として図11(A)に示すピアグループAとサブピアグループaのように、或るピアグループに包含される別のピアグループが設定されることがある。本第2実施形態では、ピアグループAに包含されるサブピアグループaを利用し、ピアグループA内の各ピアに保持される共有データの更新された場合に、共有データの更新が発生したピアはサブピアグループa内の他のピアに対してのみ更新通知情報の送信及び共有データの送信を行い、更新通知情報を受信して共有データの更新(同期化)を完了したサブピアグループa内の他のピアが、ピアグループAに属しサブピアグループaに属していない他のピアへの更新通知情報の送信及び共有データの送信を行うことで、共有データの更新が発生したピアに加わる負荷を軽減している。なお、図11において、ピア4〜ピア6が別のサブピアグループにも属していてもよいことは言うまでもない。また、上記のサブピアグループaは請求項に記載の第2グループに対応している。 On the other hand, in the P2P network, another peer group included in a certain peer group may be set like a peer group A and a sub-peer group a shown in FIG. In the second embodiment, when the sub-peer group a included in the peer group A is used and the shared data held in each peer in the peer group A is updated, the peer in which the shared data is updated is generated. Transmits the update notification information and the shared data only to other peers in the sub-peer group a, receives the update notification information, and completes the update (synchronization) of the shared data. The load applied to the peer in which the update of the shared data occurs by transmitting the update notification information and the shared data to other peers belonging to the peer group A and not belonging to the sub-peer group a. Has been reduced. In FIG. 11, it goes without saying that the peers 4 to 6 may belong to another sub-peer group. The sub-peer group a corresponds to the second group described in claim 3 .

すなわち、本第2実施形態に係る共有データ配信処理では、図12に示すように、共有データXの更新が発生し(ステップ100の判定が肯定)、共有データXの送信回数iの初期化(ステップ102)、共有データXの識別子の取得(ステップ106)、共有データXのダイジェストの生成(ステップ106)を行った後に、次のステップ107において、P2P基盤管理データ記憶部18に記憶されている情報を参照することで、共有データXを共有しているピアグループAを認識する。なお、ピアグループAは、ピアグループAに包含されるサブピアグループaが存在している場合(図11(A)参照)と、サブピアグループaが存在していない場合(図7(A)参照)がある。次のステップ109では、識別子x、ダイジェスト、送信元情報(自ピアのID)に、ステップ107で認識したピアグループを表すグループ識別情報(請求項に記載の識別情報に相当)を加えた情報を含む共有データXの更新通知情報を生成し、アプリケーションメモリ22に記憶させる。 In other words, in the shared data distribution processing according to the second embodiment, as shown in FIG. 12, the shared data X is updated (the determination in step 100 is affirmative), and the number of transmissions i of the shared data X is initialized ( Step 102) After acquiring the identifier of the shared data X (Step 106) and generating the digest of the shared data X (Step 106), in the next Step 107, they are stored in the P2P infrastructure management data storage unit 18. By referring to the information, the peer group A sharing the shared data X is recognized. Peer group A has a sub-peer group a included in peer group A (see FIG. 11A) and a sub-peer group a does not exist (FIG. 7A). See). In the next step 109, information obtained by adding the group identification information (corresponding to the identification information described in claim 4 ) indicating the peer group recognized in step 107 to the identifier x, the digest, and the transmission source information (the ID of the own peer). Is generated and stored in the application memory 22.

次のステップ136では、ステップ107で認識したピアグループAに、当該ピアグループAに包含されるサブピアグループaが存在しているか否か判定する。判定が否定された場合はステップ138へ移行し、第1実施形態で説明したステップ110と同様に、ピアグループAに属する全てのピア(自ピア以外のピア)を送信対象として認識する。一方、ステップ136の判定が肯定された場合はステップ140へ移行し、P2P基盤管理データ記憶部18に記憶されている情報に基づいて、ピアグループAに包含されるサブピアグループaに属する全てのピア(ピアグループAに属しかつサブピアグループaにも属している自ピア以外のピア)を送信対象として認識する。なお、本第2実施形態に係る共有データ配信処理において、上記以外のステップは第1実施形態に係る共有データ配信処理と同一であるので説明を省略する。   In the next step 136, it is determined whether or not the peer group A recognized in step 107 includes the sub-peer group a included in the peer group A. If the determination is negative, the process proceeds to step 138, and all peers belonging to peer group A (peers other than the own peer) are recognized as transmission targets in the same manner as step 110 described in the first embodiment. On the other hand, if the determination in step 136 is affirmative, the process proceeds to step 140, and all of the sub-peer groups a included in the peer group A are based on the information stored in the P2P infrastructure management data storage unit 18. A peer (a peer other than its own peer belonging to peer group A and sub peer group a) is recognized as a transmission target. Note that in the shared data distribution process according to the second embodiment, steps other than those described above are the same as the shared data distribution process according to the first embodiment, and a description thereof will be omitted.

上記処理により、例えば図11(A)に示すように、ピア2で更新された共有データがピアグループA内で共有されている(ピアグループAに属する各ピアが各々保持している)データであり、このピアグループAに包含されるサブピアグループaが存在していた場合、例として図11(B)にも示すように、ピア2からは、ピアグループAに属しかつサブピアグループaにも属しているピア1及びピア3に対してのみ更新通知情報が送信されることになる。   By the above processing, for example, as shown in FIG. 11A, the shared data updated by the peer 2 is shared within the peer group A (each peer held by the peer group A holds). If there is a sub-peer group a included in the peer group A, as shown in FIG. 11B as an example, the peer 2 belongs to the peer group A and belongs to the sub-peer group a. The update notification information is transmitted only to the peer 1 and the peer 3 to which they belong.

続いて、本第2実施形態に係る共有データ同期処理について説明する。本第2実施形態に係る共有データ同期処理では、図13に示すように、更新通知情報を受信すると(ステップ150の判定が肯定)ステップ167へ移行し、受信した更新通知情報からグループ識別情報と送信元情報を抽出する。ステップ168ではステップ167で抽出したグループ識別情報と送信元情報に基づいて、更新が通知された共有データXが、サブピアグループaに属しかつピアグループAに属するピアで更新されたデータであり、ピアグループAで共有されているデータであるか否かを判断することで、ピアグループAに属しかつサブピアグループaに属さない各ピアへ中継すべきデータか否かを識別する。   Next, shared data synchronization processing according to the second embodiment will be described. In the shared data synchronization processing according to the second embodiment, as shown in FIG. 13, when update notification information is received (determination in step 150 is affirmative), the process proceeds to step 167, and group identification information and Source information is extracted. In step 168, based on the group identification information and the transmission source information extracted in step 167, the shared data X notified of the update is data updated by a peer belonging to the sub-peer group a and belonging to the peer group A. By determining whether or not the data is shared by the peer group A, it is determined whether or not the data should be relayed to each peer belonging to the peer group A and not belonging to the sub-peer group a.

また、受信した更新通知情報によって更新が通知された共有データXが、自ピアの不揮発性の記憶手段に記憶されていないデータである場合(ステップ154の判定が否定)、或いは自ピアの不揮発性の記憶手段に既に記憶されている共有データXが更新前のデータであった場合(ステップ159の判定が否定)には、第1実施形態と同様に共有データXの取得を要求するための取得要求情報を生成し(ステップ160)、生成した共有データXの取得要求情報を、更新通知から抽出した送信元情報と対応付けてアプリケーションメモリ22に記憶させる(ステップ163)が、本第2実施形態では、先のステップ168で更新が通知された共有データXが中継対象のデータであると判断された場合、このステップ163において、共有データXの取得要求情報を送信元情報及び中継識別情報と対応付けてアプリケーションメモリ22に記憶させる。   Further, when the shared data X notified of the update by the received update notification information is data that is not stored in the non-volatile storage means of the own peer (determination in step 154 is negative), or the non-volatile of the own peer If the shared data X already stored in the storage means is the data before update (determination in step 159 is negative), acquisition for requesting acquisition of the shared data X is performed as in the first embodiment. The request information is generated (step 160), and the acquisition request information of the generated shared data X is stored in the application memory 22 in association with the transmission source information extracted from the update notification (step 163). When it is determined that the shared data X notified of the update in the previous step 168 is the data to be relayed, in this step 163, the shared data The acquisition request information X in association with the transmission source information and the relay identification information is stored in the application memory 22.

また、本第2実施形態に係る共有データ同期処理では、ステップ150、170の判定が否定された場合にステップ178へ移行し、今回の起動要因が共有データの受信か否か判定するが、更新通知情報送信元のピアから共有データXを受信することでステップ178の判定が肯定された場合、受信した共有データXを自ピアの不揮発性の記憶手段に記憶させ(ステップ180〜184)た後に、先のステップ163でアプリケーションメモリ22に記憶させた共有データXの取得要求情報が、中継識別情報と対応付けられているか否か、すなわち共有データXが中継対象のデータか否か判定する。判定が否定された場合は何ら処理を行うことなく処理を終了するが、判定が肯定された場合はステップ188へ移行し、先のステップ152で受信した更新通知情報から抽出した共有データXの識別子x、先のステップ158で同じく更新通知情報から抽出した共有データXのダイジェスト、送信元情報(自ピアのID)を含む共有データXの更新通知情報を生成し、アプリケーションメモリ22に一時記憶させる。   In the shared data synchronization processing according to the second embodiment, if the determination in steps 150 and 170 is negative, the process proceeds to step 178, where it is determined whether the current activation factor is reception of shared data. When the determination in step 178 is affirmed by receiving the shared data X from the notification information transmission source peer, the received shared data X is stored in the non-volatile storage means of the own peer (steps 180 to 184). Then, it is determined whether or not the shared data X acquisition request information stored in the application memory 22 in the previous step 163 is associated with the relay identification information, that is, whether or not the shared data X is data to be relayed. If the determination is negative, the process ends without performing any processing. If the determination is affirmative, the process proceeds to step 188, and the identifier of the shared data X extracted from the update notification information received in the previous step 152 x, the update notification information of the shared data X including the digest of the shared data X extracted from the update notification information in the previous step 158 and the transmission source information (own peer ID) is generated and temporarily stored in the application memory 22.

またステップ190では、P2P基盤管理データ記憶部18に記憶されている情報に基づいて、ピアグループAに属しかつサブピアグループaに属していない全てのピアを認識する。そしてステップ192では、共有データXの更新通知情報を、ステップ190で認識した全てのピアへ送信する。これにより、例として図11(C),(D)にも示すように、ピアグループA及びサブピアグループaに各々属し、共有データXの更新が発生したピア(図ではピア2)から最新の共有データXの取得したピア(図ではピア3)により、ピアグループAに属しかつサブピアグループaに属していない全てのピア(ピア4〜ピア6)に対して共有データXの更新通知が配信されることになる。なお、上述したステップ188〜ステップ192は請求項に記載の第2通知手段(詳しくは請求項に記載の第2通知手段)に対応している。 In step 190, all peers belonging to the peer group A and not belonging to the sub-peer group a are recognized based on the information stored in the P2P infrastructure management data storage unit 18. In step 192, the update notification information of the shared data X is transmitted to all peers recognized in step 190. Thus, as shown in FIGS. 11C and 11D as an example, the latest from the peer (peer 2 in the figure) belonging to each of the peer group A and the sub-peer group a and in which the update of the shared data X has occurred. An update notification of shared data X is distributed to all peers (peer 4 to peer 6) belonging to peer group A and not belonging to sub-peer group a by the peer from which shared data X is acquired (peer 3 in the figure). Will be. Steps 188~ step 192 described above (more details second notifying means according to claim 4) second notification means according to claim 3 corresponds to.

更に、第1実施形態に係る共有データ同期処理では、他のピアから更新通知情報によって共有データXの更新が通知されたものの、自ピアの不揮発性の記憶手段に最新の共有データXが既に記憶されていた場合(ステップ159の判定が肯定された場合)に、何ら処理を行うことなく処理を終了していたが、本第2実施形態に係る共有データ同期処理では、ステップ159の判定が肯定された場合にステップ169へ移行し、ステップ168における認識結果に基づいて共有データXが中継対象のデータか否か判定する。そして、判定が否定された場合は何ら処理を行うことなく処理を終了するが、判定が肯定された場合はステップ188へ移行し、ステップ188〜ステップ192において、ピアグループAに属しかつサブピアグループaに属していない各ピアへの更新通知情報の再送信を行う。この更新通知情報の再送信により、ピアグループAに属しかつサブピアグループaに属していない各ピアのうちの一部のピアとの通信が一時的に途絶していたとしても、共有データXが更新されたことを前記一部のピアに確実に通知することができる。   Further, in the shared data synchronization processing according to the first embodiment, although the update of the shared data X is notified from other peers by the update notification information, the latest shared data X is already stored in the non-volatile storage means of the own peer. In the shared data synchronization processing according to the second embodiment, the determination in step 159 is affirmative. However, in the shared data synchronization processing according to the second embodiment, the processing ends without performing any processing. If YES in step 169, the flow advances to step 169 to determine whether the shared data X is data to be relayed based on the recognition result in step 168. If the determination is negative, the process ends without performing any processing. If the determination is affirmative, the process proceeds to step 188. In steps 188 to 192, the process belongs to the peer group A and the sub-peer group. The update notification information is retransmitted to each peer not belonging to a. Even if communication with some of the peers belonging to the peer group A and not belonging to the sub-peer group a is temporarily interrupted by the retransmission of the update notification information, the shared data X It is possible to surely notify the some peers of the update.

そして本第2実施形態に係る共有データ同期処理では、更新通知情報を送信したピアから共有データXの取得要求情報を受信すると、ステップ178の判定が否定されてステップ194へ移行し、共有データ配信処理(図8,12)のステップ130〜ステップ134と同様に、受信した取得要求情報から識別子xを抽出することで取得対象の共有データXを認識し(ステップ194)、認識した共有データX(更新後のデータ)を自ピアの不揮発性の記憶手段から読み出し(ステップ196)、読み出した共有データXを識別子xと共に取得要求送信元のピアへ送信する(ステップ198)。これにより、取得要求情報送信元のピア(ピアグループAに属しかつサブピアグループaに属していないピア)の不揮発性の記憶手段に記憶されている共有データXも同期化されることになる(図11(E),(F)も参照)。なお、上述したステップ194〜ステップ198は請求項に記載の第2送信手段に対応している。 In the shared data synchronization process according to the second embodiment, when the acquisition request information of the shared data X is received from the peer that has transmitted the update notification information, the determination in step 178 is denied and the process proceeds to step 194, where shared data distribution is performed. Similar to steps 130 to 134 of the process (FIGS. 8 and 12), the identifier x is extracted from the received acquisition request information to recognize the acquisition target shared data X (step 194), and the recognized shared data X ( (Updated data) is read from the non-volatile storage means of the own peer (step 196), and the read shared data X is transmitted to the acquisition request transmission source peer together with the identifier x (step 198). As a result, the shared data X stored in the nonvolatile storage means of the acquisition request information transmission source peer (peer belonging to peer group A and not belonging to sub-peer group a) is also synchronized ( (See also FIGS. 11E and 11F). Steps 194 to 198 described above correspond to the second transmission means described in claim 3 .

なお、上述した第2実施形態では、サブピアグループaに属し、共有データの更新が発生したピアから更新通知情報を受信した各ピアが、ピアグループAに属しかつサブピアグループaに属していない各ピアへ更新通知情報を各々送信する態様を例に説明したが(例として図11(D)ではピア3が各ピアへ更新通知情報を送信し、図11(E)ではピア1が各ピアへ更新通知情報を送信している状態を示している)、これに限定されるものではなく、サブピアグループaに属し、共有データの更新が発生したピアから更新通知情報を受信したピアが複数存在している場合、ピアグループAに属しかつサブピアグループaに属していない各ピアを複数のグループに分け、サブピアグループaに属し、共有データの更新が発生したピアから更新通知情報を受信した各ピアが、互いに異なるグループ内のピアに対してのみ更新通知情報を送信するようにしてもよい。   In the second embodiment described above, each peer that has received the update notification information from the peer that has been updated to the shared data and belongs to the sub-peer group a belongs to the peer group A and does not belong to the sub-peer group a. Although an example in which update notification information is transmitted to each peer has been described as an example (for example, in FIG. 11D, peer 3 transmits update notification information to each peer, and in FIG. 11E, peer 1 transmits each peer. This is not limited to this, and there are a plurality of peers that belong to the sub-peer group a and have received update notification information from peers that have updated shared data. If it exists, the peers belonging to the peer group A and not belonging to the sub-peer group a are divided into a plurality of groups, and the update notification information is sent from the peer belonging to the sub-peer group a and the update of the shared data has occurred. Each peer that has received the information may transmit update notification information only to peers in different groups.

また、上記では個々のピアの不揮発性の記憶手段に記憶されている共有データが更新前のデータか否かを判断可能な情報として、共有データのダイジェスト(ハッシュ値)を例に説明したがこれに限定されるものではなく、共有データの更新が発生したピアが、更新通知情報として共有データの更新日時又は更新後の共有データの版数を含む情報を送信し、共有データを受信したピアは受信した共有データと共に通知された更新日時又は版数を記憶し、更新通知情報を受信する毎に、受信した更新通知情報に含まれる更新日時又は版数を、共有データと共に記憶している更新日時又は版数と比較することで、既に記憶している共有データが更新前のデータか否かを判断するようにしてもよい。   In the above description, the digest (hash value) of shared data has been described as an example of information that can be used to determine whether the shared data stored in the non-volatile storage means of each peer is data before update. The peer that has updated the shared data transmits information including the update date / time of the shared data or the version of the updated shared data as update notification information, and the peer that has received the shared data The update date / time or version number notified together with the received shared data is stored, and every time update notification information is received, the update date / time or version number included in the received update notification information is stored together with the shared data. Alternatively, by comparing with the version number, it may be determined whether the already stored shared data is data before update.

P2Pネットワークのネットワーク構成図である。It is a network block diagram of a P2P network. ピュアP2Pのネットワーク構成図である。It is a network block diagram of pure P2P. ハイブリッドP2Pのネットワーク構成図である。It is a network block diagram of hybrid P2P. P2Pネットワークのグループについて説明するための概念図である。It is a conceptual diagram for demonstrating the group of a P2P network. ピアの基本的構成のブロック図である。It is a block diagram of the basic composition of a peer. メッセージ制御部のブロック図である。It is a block diagram of a message control part. 第1実施形態に係る共有データの同期化における各ピア間の情報の送受シーケンスの一例を示すイメージ図である。It is an image figure which shows an example of the transmission / reception sequence of the information between each peer in the synchronization of the shared data which concerns on 1st Embodiment. 第1実施形態に係る共有データ配信処理の内容を示すフローチャートである。It is a flowchart which shows the content of the shared data delivery process which concerns on 1st Embodiment. 更新通知の送信回数と送信間隔の関係の一例を示す線図である。It is a diagram which shows an example of the relationship between the frequency | count of transmission of an update notification, and a transmission interval. 第1実施形態に係る共有データ同期処理の内容を示すフローチャートである。It is a flowchart which shows the content of the shared data synchronous process which concerns on 1st Embodiment. 第2実施形態に係る共有データの同期化における各ピア間の情報の送受シーケンスの一例を示すイメージ図である。It is an image figure which shows an example of the transmission / reception sequence of the information between each peer in the synchronization of the shared data which concerns on 2nd Embodiment. 第2実施形態に係る共有データ配信処理の内容を示すフローチャートである。It is a flowchart which shows the content of the shared data delivery process which concerns on 2nd Embodiment. 第2実施形態に係る共有データ同期処理の内容を示すフローチャートである。It is a flowchart which shows the content of the shared data synchronous process which concerns on 2nd Embodiment.

符号の説明Explanation of symbols

10 P2Pネットワーク
12 ピア
18 基盤管理データ記憶部
20 アプリケーション実行部
22 アプリケーションメモリ
10 P2P network 12 Peer 18 Infrastructure management data storage unit 20 Application execution unit 22 Application memory

Claims (7)

自装置と同一の第1グループに属する他の複数台の情報処理装置と通信回線を介して接続された情報処理装置であって、An information processing apparatus connected via a communication line to a plurality of other information processing apparatuses belonging to the same first group as the own apparatus,
前記第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段と、Storage means capable of storing shared data that each information processing device belonging to the first group should hold and synchronize with each other;
前記第1グループに属する特定の情報処理装置から、該特定の情報処理装置が保持している前記共有データが更新されたことを通知する通知情報を受信した場合に、ランダムに決定した待機時間が経過した後に、前記共有データの取得要求を前記特定の情報処理装置へ送信する取得要求手段と、When the notification information for notifying that the shared data held by the specific information processing apparatus is updated is received from the specific information processing apparatus belonging to the first group, the waiting time determined at random An acquisition request means for transmitting an acquisition request for the shared data to the specific information processing apparatus after elapses;
前記取得要求手段が送信した取得要求に基づいて前記特定の情報処理装置から送信された前記共有データを受信し、受信した前記共有データを前記記憶手段に記憶させる受信手段と、Receiving means for receiving the shared data transmitted from the specific information processing apparatus based on the acquisition request transmitted by the acquisition request means, and storing the received shared data in the storage means;
を含む情報処理装置。An information processing apparatus including:
前記特定の情報処理装置からは、前記通知情報として、該通知情報を受信した個々の情報処理装置が、該個々の情報処理装置が保持している共有データが更新前のデータか否かを判断可能な情報が、任意の時間間隔で繰り返し送信され、From the specific information processing apparatus, as the notification information, each information processing apparatus that has received the notification information determines whether the shared data held by the individual information processing apparatus is pre-update data. Possible information is sent repeatedly at arbitrary time intervals,
前記取得要求手段は、前記記憶手段に前記共有データが記憶されていない場合、及び、受信した通知情報に基づき、前記記憶手段に記憶されている前記共有データが更新前のデータであると判断した場合に、前記特定の情報処理装置へ前記取得要求を送信し、前記記憶手段に記憶されている前記共有データが更新後のデータであると判断した場合は前記取得要求を送信しないことを特徴とする請求項1記載の情報処理装置。The acquisition request unit determines that the shared data stored in the storage unit is pre-update data when the shared data is not stored in the storage unit and based on the received notification information. The acquisition request is transmitted to the specific information processing apparatus, and the acquisition request is not transmitted when it is determined that the shared data stored in the storage unit is updated data. The information processing apparatus according to claim 1.
前記情報処理装置は、前記第1グループを包含する第2グループにも属していると共に、前記第1グループに属さず前記第2グループに属する他の複数の情報処理装置とも通信回線を介して接続されており、The information processing apparatus belongs to a second group including the first group, and is connected to a plurality of other information processing apparatuses not belonging to the first group and belonging to the second group via a communication line. Has been
前記受信手段が前記第2グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを前記特定の情報処理装置から受信して前記記憶手段に記憶させた後に、前記共有データが更新されたことを通知する通知情報を、前記第1グループに属さず前記第2グループに属する他の全ての情報処理装置へ送信する第2通知手段と、After the receiving means receives from the specific information processing apparatus and stores in the storage means shared data that each information processing apparatus belonging to the second group should hold and synchronize with each other, the shared data Second notification means for transmitting notification information notifying that the information has been updated to all other information processing apparatuses not belonging to the first group but belonging to the second group;
前記第2通知手段が通知情報を送信した情報処理装置から前記共有データの取得要求を受信する毎に、前記記憶手段に記憶されている前記共有データを、前記取得要求送信元の情報処理装置へ送信する第2送信手段と、Each time the second notification unit receives the shared data acquisition request from the information processing device that has transmitted the notification information, the shared data stored in the storage unit is sent to the acquisition request transmission source information processing device. A second transmitting means for transmitting;
を更に備えたことを特徴とする請求項1記載の情報処理装置。The information processing apparatus according to claim 1, further comprising:
前記特定の情報処理装置で更新された共有データが、前記第2グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべきデータであった場合、前記特定の情報処理装置から送信される通知情報には、前記共有データが前記第2グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべきデータであることを表す識別情報が付加され、If the shared data updated by the specific information processing apparatus is data that each information processing apparatus belonging to the second group should hold and synchronize with each other, it is transmitted from the specific information processing apparatus. Identification information indicating that the shared data is data that each information processing apparatus belonging to the second group should hold and synchronize with each other,
前記第2通知手段は、前記特定の情報処理装置から受信した通知情報に前記識別情報が付加されていた場合にのみ、前記第1グループに属さず前記第2グループに属する他の全ての情報処理装置へ通知情報を送信するThe second notifying unit does not belong to the first group and does not belong to the first group only when the identification information is added to the notification information received from the specific information processing apparatus. Send notification information to the device
ことを特徴とする請求項3記載の情報処理装置。The information processing apparatus according to claim 3.
同一の第1グループに属する複数台の情報処理装置が通信回線を介して接続されて成る情報処理システムであって、An information processing system in which a plurality of information processing devices belonging to the same first group are connected via a communication line,
前記複数台の情報処理装置の各々が、Each of the plurality of information processing devices
前記第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段と、Storage means capable of storing shared data that each information processing device belonging to the first group should hold and synchronize with each other;
前記記憶手段に記憶されている前記共有データが更新された場合に、前記共有データが更新されたことを通知する通知情報を、前記第1グループに属する他の全ての情報処理装置へ送信する第1通知手段と、When the shared data stored in the storage means is updated, notification information notifying that the shared data has been updated is transmitted to all other information processing devices belonging to the first group. 1 notification means;
前記第1通知手段が通知情報を送信した情報処理装置から前記共有データの取得要求を受信する毎に、前記記憶手段に記憶されている前記共有データを、前記取得要求送信元の情報処理装置へ送信する第1送信手段と、Each time the first notification means receives the shared data acquisition request from the information processing apparatus that has transmitted the notification information, the shared data stored in the storage means is sent to the acquisition request transmission source information processing apparatus. First transmitting means for transmitting;
前記第1グループに属する特定の情報処理装置から、該特定の情報処理装置が保持している前記共有データが更新されたことを通知する通知情報を受信した場合に、ランダムに決定した待機時間が経過した後に、前記共有データの取得要求を前記特定の情報処理装置へ送信する取得要求手段と、When the notification information for notifying that the shared data held by the specific information processing apparatus is updated is received from the specific information processing apparatus belonging to the first group, the waiting time determined at random An acquisition request means for transmitting an acquisition request for the shared data to the specific information processing apparatus after elapses;
前記取得要求手段が送信した取得要求に基づいて前記特定の情報処理装置から送信された前記共有データを受信し、受信した前記共有データを前記記憶手段に記憶させる受信手段と、Receiving means for receiving the shared data transmitted from the specific information processing apparatus based on the acquisition request transmitted by the acquisition request means, and storing the received shared data in the storage means;
を各々備えていることを特徴とする情報処理システム。An information processing system comprising:
同一の第1グループに属する複数台の情報処理装置が通信回線を介して接続されて成り、前記複数台の情報処理装置が、前記第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段を各々備えた情報処理システムにおいて、A plurality of information processing devices belonging to the same first group are connected via a communication line, and the plurality of information processing devices should be held by each information processing device belonging to the first group, and In an information processing system provided with storage means capable of storing shared data to be synchronized with each other,
特定の情報処理装置の前記記憶手段に記憶されている前記共有データが更新された場合に、前記特定の情報処理装置は、前記共有データが更新されたことを通知する通知情報を、前記第1グループに属する他の全ての情報処理装置へ送信し、When the shared data stored in the storage unit of the specific information processing apparatus is updated, the specific information processing apparatus receives notification information for notifying that the shared data has been updated. Send to all other information processing devices belonging to the group,
前記特定の情報処理装置から前記通知情報を受信した個々の情報処理装置は、ランダムに決定した待機時間が経過した後に、前記共有データの取得要求を前記特定の情報処理装置へ送信し、Each information processing device that has received the notification information from the specific information processing device transmits the shared data acquisition request to the specific information processing device after a randomly determined standby time has elapsed,
前記特定の情報処理装置は、前記通知情報を送信した情報処理装置から前記共有データの取得要求を受信する毎に、前記特定の情報処理装置の前記記憶手段に記憶されている前記共有データを、前記取得要求送信元の情報処理装置へ送信し、The specific information processing apparatus receives the shared data acquisition request from the information processing apparatus that has transmitted the notification information, and stores the shared data stored in the storage unit of the specific information processing apparatus. Send to the information processing device of the acquisition request transmission source,
前記取得要求を送信した個々の情報処理装置は、前記取得要求に基づいて前記特定の情報処理装置から送信された前記共有データを受信し、受信した前記共有データを前記記憶手段に記憶させるデータ同期方法。Each data processing device that has transmitted the acquisition request receives the shared data transmitted from the specific information processing device based on the acquisition request, and stores the received shared data in the storage unit Method.
自装置と同一の第1グループに属する他の複数台の情報処理装置と通信回線を介して接続され、前記第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段を備えたコンピュータを、Shared data that is connected via a communication line to a plurality of other information processing devices belonging to the same first group as the own device, and that each information processing device belonging to the first group should hold and synchronize with each other A computer having storage means capable of storing
前記記憶手段に記憶されている前記共有データが更新された場合に、前記共有データが更新されたことを通知する通知情報を、前記第1グループに属する他の全ての情報処理装置へ送信する第1通知手段、When the shared data stored in the storage means is updated, notification information notifying that the shared data has been updated is transmitted to all other information processing devices belonging to the first group. 1 notification means,
前記第1通知手段が通知情報を送信した情報処理装置から前記共有データの取得要求を受信する毎に、前記記憶手段に記憶されている前記共有データを、前記取得要求送信元の情報処理装置へ送信する第1送信手段、Each time the first notification means receives the shared data acquisition request from the information processing apparatus that has transmitted the notification information, the shared data stored in the storage means is sent to the acquisition request transmission source information processing apparatus. First transmitting means for transmitting,
前記第1グループに属する特定の情報処理装置から、該特定の情報処理装置が保持している前記共有データが更新されたことを通知する通知情報を受信した場合に、ランダムに決定した待機時間が経過した後に、前記共有データの取得要求を前記特定の情報処理装置へ送信する取得要求手段、When the notification information for notifying that the shared data held by the specific information processing apparatus is updated is received from the specific information processing apparatus belonging to the first group, the waiting time determined at random An acquisition request means for transmitting an acquisition request for the shared data to the specific information processing apparatus after elapses;
及び、前記取得要求手段が送信した取得要求に基づいて前記特定の情報処理装置から送信された前記共有データを受信し、受信した前記共有データを前記記憶手段に記憶させる受信手段And receiving means for receiving the shared data transmitted from the specific information processing apparatus based on the acquisition request transmitted by the acquisition requesting means and storing the received shared data in the storage means
として機能させるデータ同期プログラム。Data synchronization program to function as.
JP2005009138A 2005-01-17 2005-01-17 Information processing apparatus, system, data synchronization method, and program Expired - Fee Related JP4635615B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005009138A JP4635615B2 (en) 2005-01-17 2005-01-17 Information processing apparatus, system, data synchronization method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005009138A JP4635615B2 (en) 2005-01-17 2005-01-17 Information processing apparatus, system, data synchronization method, and program

Publications (2)

Publication Number Publication Date
JP2006195890A JP2006195890A (en) 2006-07-27
JP4635615B2 true JP4635615B2 (en) 2011-02-23

Family

ID=36801917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005009138A Expired - Fee Related JP4635615B2 (en) 2005-01-17 2005-01-17 Information processing apparatus, system, data synchronization method, and program

Country Status (1)

Country Link
JP (1) JP4635615B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8059819B2 (en) * 2007-01-17 2011-11-15 Panasonic Electric Works Co., Ltd. Systems and methods for distributing updates for a key at a maximum rekey rate
US8588420B2 (en) * 2007-01-18 2013-11-19 Panasonic Corporation Systems and methods for determining a time delay for sending a key update request
US7840810B2 (en) * 2007-01-18 2010-11-23 Panasonic Electric Works Co., Ltd. Systems and methods for rejoining a second group of nodes with a first group of nodes using a shared group key
US8046328B2 (en) * 2007-03-30 2011-10-25 Ricoh Company, Ltd. Secure pre-caching through local superdistribution and key exchange
JP5257968B2 (en) * 2007-07-24 2013-08-07 日本電信電話株式会社 Information sharing method, information sharing network system, information sharing server and program
JP2011253500A (en) * 2010-06-04 2011-12-15 Mitsubishi Electric Corp Data distribution system, distributed monitoring control system and data distribution method
US9436748B2 (en) 2011-06-23 2016-09-06 Simplivity Corporation Method and apparatus for distributed configuration management
JP6507882B2 (en) 2015-06-26 2019-05-08 セイコーエプソン株式会社 Network system and control method of network system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158673A (en) * 2000-11-22 2002-05-31 Nec Corp Network system and information equipment
JP2003016036A (en) * 2001-04-06 2003-01-17 Networks Associates Technology Inc Verifying system and method for reliability status of peer in peer-to-peer network environment
JP2003141008A (en) * 2001-11-07 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> Information sharing and delivery system, method and program
JP2003223384A (en) * 2002-01-31 2003-08-08 Nippon Telegr & Teleph Corp <Ntt> File distributing system
JP2003285905A (en) * 2002-03-29 2003-10-07 Murata Mach Ltd Carrying system
JP2004021502A (en) * 2002-06-14 2004-01-22 Canon Inc Network system, information notification terminal, control method for information notification terminal, and control program
JP2004046302A (en) * 2002-07-08 2004-02-12 Nec Corp Data synchronization method between two or more pieces of information apparatus, information processor which performs this method and program for performing this method
JP2004127004A (en) * 2002-10-03 2004-04-22 Nippon Telegr & Teleph Corp <Ntt> Shared file synchronization method, its system, computer, program and medium with program recorded thereon
JP2004265418A (en) * 2003-02-28 2004-09-24 Microsoft Corp Method and system for synchronizing data shared between peer-to-peer computing devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0389086A (en) * 1989-08-24 1991-04-15 Fuji Mejiyaanikusu Kk Safety valve
JP2004244108A (en) * 2003-01-24 2004-09-02 Kyokuyo Pulp & Paper Co Ltd Degassing structure of compressing bag
JP3681379B2 (en) * 2003-05-19 2005-08-10 大洋化学株式会社 Storage bag exhaust valve
JP3111335U (en) * 2005-01-31 2005-07-14 福隆 蘇 Check valve for sealing bag

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158673A (en) * 2000-11-22 2002-05-31 Nec Corp Network system and information equipment
JP2003016036A (en) * 2001-04-06 2003-01-17 Networks Associates Technology Inc Verifying system and method for reliability status of peer in peer-to-peer network environment
JP2003141008A (en) * 2001-11-07 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> Information sharing and delivery system, method and program
JP2003223384A (en) * 2002-01-31 2003-08-08 Nippon Telegr & Teleph Corp <Ntt> File distributing system
JP2003285905A (en) * 2002-03-29 2003-10-07 Murata Mach Ltd Carrying system
JP2004021502A (en) * 2002-06-14 2004-01-22 Canon Inc Network system, information notification terminal, control method for information notification terminal, and control program
JP2004046302A (en) * 2002-07-08 2004-02-12 Nec Corp Data synchronization method between two or more pieces of information apparatus, information processor which performs this method and program for performing this method
JP2004127004A (en) * 2002-10-03 2004-04-22 Nippon Telegr & Teleph Corp <Ntt> Shared file synchronization method, its system, computer, program and medium with program recorded thereon
JP2004265418A (en) * 2003-02-28 2004-09-24 Microsoft Corp Method and system for synchronizing data shared between peer-to-peer computing devices

Also Published As

Publication number Publication date
JP2006195890A (en) 2006-07-27

Similar Documents

Publication Publication Date Title
JP4635615B2 (en) Information processing apparatus, system, data synchronization method, and program
CN101370035B (en) Method and system for dynamic client/server network management using proxy servers
EP2523422A1 (en) Issuing method and system for configuration information
US7451221B2 (en) Method and apparatus for election of group leaders in a distributed network
US8015269B2 (en) Node device, shared information update processing program, shared information update method, and information sharing system
US20090157829A1 (en) Peer-to-peer service system and method using e-mail service
US20090305778A1 (en) Installed game software sharing via peer-to-peer network
CN115004673B (en) Message pushing method, device, electronic equipment and computer readable medium
JP2005287045A (en) Method for discovery of device connected to ip network and device to carry out the method
US8386575B2 (en) Method of realizing uniqueness assurance and method of determining message destination
RU2012118601A (en) SYSTEM AND METHOD FOR PROVIDING MORE FAST AND MORE EFFECTIVE DATA TRANSFER
US8219618B2 (en) Information communication system, information communication method, and recording medium having information communication program stored thereon
JP2015501488A (en) Checking the integrity of content received by peers in a peer-to-peer content distribution system
JP2006178782A (en) Information processing method, delivery information processing method, delivery information processing program and delivery processor
US10027752B2 (en) Distributed server election with imperfect clock synchronization
US10997636B2 (en) Delay-tolerant information-centric networking (DTICN)
US8051157B2 (en) Discovery apparatus and method
JP2009230369A (en) Synchronization method for shared data, program for synchronizing shared data, and network system for synchronizing shared data to be held
US8755397B2 (en) Asynchronous communication in an unstable network
JP2010079523A (en) Method of sharing session data
KR20090006504A (en) Apparatus and method for providing p2p service in ip multimedia subsystem
Chae et al. Fast discovery scheme using DHT-like overlay network for a large-scale DDS
JP2009031894A (en) Content distribution system, content distribution program for management server, and content distribution program for client
JP2004253922A (en) Streaming contents distributing method and system thereof
JP7389949B2 (en) File distribution system and file distribution program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101001

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

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

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

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4635615

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees