JP4635615B2 - Information processing apparatus, system, data synchronization method, and program - Google Patents
Information processing apparatus, system, data synchronization method, and program Download PDFInfo
- 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
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
また特許文献2には、データを共有するための転写メモリ領域を各々備えた複数の計算機がネットワークに接続され、各計算機が転写メモリ領域内の自計算機用領域のデータを周期的に他の計算機にブロードキャストし、ブロードキャストデータを受信した計算機が、該データを転写メモリ領域内の対応する計算機用領域に格納することで、計算機間で転写メモリ領域の内容の一致化を図ってデータを共有するシステムにおいて、ブロードキャストデータの受信回数をカウントし、予め定めた回数に達したときにのみ受信を通知し、それ以外の場合は受信データを破棄する等の処理を行うことで、周期的に受信するブロードキャストデータを間引く技術が開示されている。
Also, in
また特許文献3には、コンピュータ間で共有される文書を、その文書のオリジナルを保持するコンピュータを示す識別子と更新履歴によって管理し、ネットワーク内で文書の更新が行われた場合には、更新された文書が当該文書のオリジナルを保持するコンピュータに送信され、更新履歴が格納されると同時に、その文書を保持する他のコンピュータに対して複製処理(再配信)が行われることにより、ネットワーク上の文書がどこで更新されてもネットワーク全体が最新の文書を共有することを実現する技術が開示されている。
しかしながら、特許文献1に記載の技術は、ユーザがアクセスしようとしている特定共有データを表示する処理を第1のコンピュータが行うタイミングで、この第1のコンピュータが、最新の特定共有データを保持している第2のコンピュータと通信可能な状態となっている必要があり、第1のコンピュータが特定共有データを表示する処理を行う際に、例えば通信回線の障害等により第1のコンピュータが第2コンピュータからの特定共有データのダウンロードを行えない状態であった場合には、ユーザが最新の共有データにアクセスすることができないという問題がある。
However, in the technique described in
一方、特許文献2,3に記載の技術は、各コンピュータに最新の共有データが各々保持されるので、ユーザが共有データにアクセスする際に、必ずしも他のコンピュータと通信可能な状態になっている必要はない。しかし、この方式では、データを共有しているコンピュータのグループ(P2Pシステムではピアグループと称する)内の特定のコンピュータで共有データが更新された場合に、グループ内の特定のコンピュータ以外の各コンピュータが保持している共有データも更新後のデータへ書替えることで、共有データの同期をとる処理を行う必要がある。また、同期をとる処理を行うタイミングでグループ内の一部のコンピュータとの通信が途絶している可能性があることを考慮すると、共有データの同期をとる処理は定期的に行う必要がある。
On the other hand, in the techniques described in
これに対して特許文献2に記載の技術は、共有データ自体を周期的に送信するので、共有データの同期をとるためにシステム内のトラフィックが増大するという問題があり、特許文献3に記載の技術も共有データ自体を送受することで共有データの同期をとるので、この処理を定期的に行うことに伴ってシステム内のトラフィックが増大する。また、特許文献2,3に記載の技術では、共有データを受信する側のコンピュータにおいて、共有データ自体を受信する処理が周期的に行われることになるので、受信側のコンピュータの負荷が増大するという問題もある。更に、特許文献3に記載の技術では、更新された共有データが、当該共有データのオリジナルを保持するコンピュータを経由して再配信されるので、共有データのオリジナルを保持するコンピュータの負荷が増大する、という問題も有している。
On the other hand, since the technology described in
本発明は上記事実を考慮して成されたもので、同一のグループに属する各情報処理装置が各々保持する共有データの同期をとることを、トラフィックや負荷の増大を抑制しつつ実現することが可能な情報処理装置、情報処理システム、データ同期方法及びデータ同期プログラムを得ることが目的である。 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グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段と、前記第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グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段を備えている。ここで、請求項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記載の発明では、特定の情報処理装置が保持している共有データが更新されたことを通知する通知情報を受信した場合に、ランダムに決定した待機時間が経過した後に、共有データの取得要求を特定の情報処理装置へ送信するので、共有データが更新された特定の情報処理装置が、第1グループに属する複数の情報処理装置へ通知情報を送信したとしても、特定の情報処理装置は、通知情報を送信した複数の情報処理装置から互いにずれたタイミングで通知情報を受信することになり、トラフィックや特定の情報処理装置に加わる負荷が一時期に集中して過大となることを防止することができる。従って、請求項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記載の発明においても、特定の情報処理装置からは、通知情報が任意の時間間隔で繰り返し送信されることが望ましく、この通知情報は、前述のように、該通知情報を受信した個々の情報処理装置が、該個々の情報処理装置が保持している共有データが更新前のデータか否かを判断可能な情報であることが望ましい。この場合、取得要求手段は、例えば請求項2にも記載したように、記憶手段に共有データが記憶されていない場合(例えば請求項1記載の発明に係る情報処理装置が第1グループへ新たに参加したために共有データを受信していない状態である等の場合)、及び、受信した通知情報に基づき、記憶手段に記憶されている共有データが更新前のデータであると判断した場合に、特定の情報処理装置へ取得要求を送信し、記憶手段に記憶されている共有データが更新後のデータであると判断した場合は取得要求を送信しないように構成することが好ましい。これにより、請求項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
また、請求項1記載の発明に係る情報処理装置が、第1グループを包含する第2グループにも属していると共に、第1グループに属さず第2グループに属する他の複数の情報処理装置とも通信回線を介して接続されている場合も考えられるが、この場合、例えば請求項3に記載したように、受信手段が第2グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを特定の情報処理装置から受信して記憶手段に記憶させた後に、共有データが更新されたことを通知する通知情報を、第1グループに属さず第2グループに属する他の全ての情報処理装置へ送信する第2通知手段と、第2通知手段が通知情報を送信した情報処理装置から共有データの取得要求を受信する毎に、記憶手段に記憶されている共有データを、取得要求送信元の情報処理装置へ送信する第2送信手段と、を更に設けることが好ましい。
The information processing apparatus according to the invention of
例えば、特定グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データが、特定グループに属する特定の情報処理装置で更新された場合、該特定グループに多数の情報処理装置が属していたとすると、特定グループに属する特定の情報処理装置から通知情報を受信した各情報処理装置が、各々請求項1に記載したように、互いに異なる待機時間だけ待機した後に取得要求を送信したとしても、特定の情報処理装置に加わる負荷が一時期に集中して過大となる可能性がある。
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
これに対して請求項3記載の発明では、上記の特定グループに相当する第2グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データが、第2グループ(及び第2グループに包含される第1グループ)に属する特定の情報処理装置で更新された場合に、特定の情報処理装置が第1グループに属する情報処理装置(この情報処理装置には請求項3記載の情報処理装置も含まれる)に対してのみ通知情報の送信、取得要求に基づく共有データの送信(第1グループに属する各情報処理装置が保持する共有データを同期させるための処理)を行えば、請求項3記載の発明に係る情報処理装置によって、第1グループに属さず第2グループに属する情報処理装置に対して通知情報の送信、取得要求に基づく共有データの送信(第1グループに属さず第2グループに属する各情報処理装置が保持する共有データを同期させるための処理)が行われることになる。従って、請求項3記載の発明によれば、多数の情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データが更新された場合に、当該共有データの更新が行われた情報処理装置に多大な負荷が加わることを回避することができる。
On the other hand, in the invention described in
なお、請求項3記載の発明において、第2通知手段は、第1グループに属する他の情報処理装置から通知情報を受信することで更新が通知された共有データについて、第1グループに属さず第2グループに属する他の情報処理装置へ常に通知情報を送信するように構成してもよいし、個々の共有データに、何れのグループ内で共有するデータかを表す属性情報を各々付加しておき、第1グループに属する他の情報処理装置から通知情報を受信することで更新が通知された共有データに、第2グループ内で共有するデータであることを表す属性情報が付加されていた場合にのみ、第1グループに属さず第2グループに属する他の情報処理装置へ通知情報を送信するように構成してもよいが、これに代えて、例えば請求項4に記載したように、特定の情報処理装置で更新された共有データが、第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
請求項5記載の発明に係る情報処理システムは、同一の第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.
請求項5記載の発明に係る情報処理システムは、第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
請求項6記載の発明に係るデータ同期方法は、同一の第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
請求項7記載の発明に係るデータ同期プログラムは、自装置と同一の第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.
請求項7記載の発明に係るデータ同期プログラムは、自装置と同一の第1グループに属する他の複数台の情報処理装置と通信回線を介して接続され、第1グループに属する各情報処理装置が各々保持すべきでかつ互いに同期させるべき共有データを記憶可能な記憶手段を備えたコンピュータを、上記の第1通知手段、第1送信手段、取得要求手段及び受信手段として機能させるためのプログラムであるので、上記のコンピュータが請求項7記載の発明に係るデータ同期プログラムを実行することにより、コンピュータが請求項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
本発明は、第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
ここで、ピアとは、例えばパーソナルコンピュータ等のコンピュータ、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
また、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
図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
図6にはメッセージ制御部24の概略構成を示す。メッセージ制御部24は、図6に示すように、サービス実行部34及びメッセージディスパッチ部36を含んで構成されている。サービス実行部34は、ピア探索サービス部38、告知情報公開サービス部40、告知情報取得サービス部42、グループ管理サービス部44、ユーザ管理サービス部46、及びピア管理サービス部48を含んで構成されており、各サービス部は相互に情報を送受しながら各サービスを実行する。ピア探索サービス部38は、P2Pネットワークに参加しているピアを探索する機能及び自ピアが必要とするサービス(機能)を提供可能なピアを探索する機能を有する。なお、探索の範囲は、必要とするサービスの名称や属性、ホップ数の閾値等を指定することにより制御することができる。ここで、ホップ数とは、メッセージを送信する際に経由するピアの数である。
FIG. 6 shows a schematic configuration of the
告知情報公開サービス部40は、自ピアが提供可能なサービス等の情報を告知情報としてP2Pネットワーク上に公開する機能を有する。ここで、提供可能なサービスには、例えばアプリケーション実行部20により実行されるアプリケーションの他、後述するグループ管理サービスやユーザ管理サービス等も含まれる。なお、告知情報の公開は、例えば他ピアから問い合わせがあった場合や自ピアの起動時に実行してもよいし、定期的に実行するようにしてもよい。このように各ピアの告知情報公開サービス部40によって告知情報がP2Pネットワーク上に公開されることにより、P2Pネットワークに参加している各ピアは、P2Pネットワーク上でどのようなサービスを利用できるかを把握することができる。
The notification information
告知情報取得サービス部42は、ピア探索サービス部38によって探索されたピアから送信された告知情報又は他ピアから自発的に送信された告知情報を取得し、データ管理部26へ受け渡す。データ管理部26では、取得した告知情報をピア情報としてP2P基盤管理データ記憶部18に記憶させる。これにより、個々のピアは、P2Pネットワークに参加している他ピアがどのようなサービスを提供しているのかを把握することができる。また、グループ管理サービス部44は、同じ目的を有するピア同士で構成されたグループへの参加や脱退、新たなグループの生成等をグループ情報に基づいて管理する機能を有する。グループ情報は、例えば少なくともグループIDとユーザIDとの対応関係を表す情報であり、P2P基盤管理データ記憶部18に記憶される。このグループ情報を参照することにより、どのグループにどのユーザが属しているかを把握することができる。
The notification information
ユーザ管理サービス部46は、ユーザ情報を管理する機能を有する。ユーザ情報は、例えばピアIDとそのピアにログオンしているユーザIDとの対応関係を表すログオン情報や、ユーザの名前、メールアドレス等のユーザ自身に関する情報、そのユーザが属するグループのグループID等の情報を含み、P2P基盤管理データ記憶部18に記憶される。また、ピア管理サービス部48は、P2Pネットワークに参加しているピアのピア情報を管理する機能を有する。また、メッセージディスパッチ部36は、アプリケーション実行部20からのメッセージや他ピアとの間で送受信されるメッセージを解析し、サービス実行部34のうち解析したメッセージに関する処理を行うべきサービス部へ制御を渡す。
The user
一方、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
アプリケーション実行部20は、各種アプリケーションを実行するものであり、メッセージ制御部24を介して他ピアとメッセージの送受信を行う。また、アプリケーションメモリ22は、アプリケーション実行部20の実行に関連する各種の情報を記憶するためのメモリである。
The
次に、アプリケーション実行の具体例として、或るピアグループ(便宜的にピアグループAと称する)に属する各ピアが、各々同一のデータ(共有データ)を各ピアの不揮発性の記憶手段(例えばHDD(Hard Disk Drive)等)各々記憶している状態で、或るピアに記憶されている共有データが更新された場合に、各ピアのアプリケーション実行部20で実行される処理(共有データを同期化する処理)について説明する。なお、共有データを同期化する処理は、共有データが更新されたピアのアプリケーション実行部20で共有データ配信処理(図8)が実行されると共に、ピアグループAに属する他のピアのアプリケーション実行部20で共有データ同期処理(図9)が実行されることによって実現されるが、これらの処理を行うための共有データ配信プログラム及び共有データ同期プログラムは請求項7に記載のデータ同期プログラムに対応しており、個々のピアに予めインストールされている。また、ピアグループAに属する各ピアは本発明に係る情報処理装置に対応しており、ピアグループAは請求項5に記載の情報処理システムに対応している。また、上記の不揮発性の記憶手段は本発明に係る記憶手段に対応しており、ピアグループ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
例として図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
また、ステップ106ではハッシュ関数を用いて共有データXのダイジェスト(ハッシュ値)を生成する。そしてステップ108では、ステップ104で取得した識別子x、ステップ106で生成したダイジェスト、送信元情報(自ピアのID)を含む共有データXの更新通知情報を生成し、アプリケーションメモリ22に記憶させる。ステップ110ではP2P基盤管理データ記憶部18に記憶されている情報を参照し、共有データXを共有しているピアグループAに属する全てのピア(自ピア以外のピア)を送信対象として認識する。そしてステップ112では、先のステップ108でアプリケーションメモリ22に記憶させた共有データXの更新通知情報を、ステップ112で認識した全てのピアへ送信する(図7(B)も参照)。
In
ステップ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
共有データ配信処理で送信する更新通知情報は、共有データ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
先にも説明したように、各ピアは新たなピアグループに参加したり、参加していたピアグループから脱退することが可能であり、自ピアがピアグループ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
ステップ159の判定が否定された場合、自ピアの不揮発性の記憶手段に記憶されている共有データXは更新前のデータであると判断できるので、ステップ160へ移行し、更新通知情報送信元のピアに対して共有データXの送信を要求するために、ステップ152で抽出した識別子xと、要求元情報(自ピアのID)を含む共有データXの取得要求情報を生成する。またステップ162では、生成した共有データXの取得要求情報を、受信した更新通知情報から抽出した送信元情報(更新通知情報送信元のピアのID)と対応付けてアプリケーションメモリ22に記憶させる。そして、ステップ164では共有データXの取得要求情報の送信を待機する時間を乱数によって決定し、次のステップ166において、ステップ164で決定した送信待機時間をタイマ値とする共有データXの取得要求情報の送信タイマをスタートさせて処理を終了する。
If the determination in
ステップ164で決定した送信待機時間が経過することで、ステップ166でスタートさせた送信タイマがタイムアウトすると、共有データ同期処理が再度起動され、先のステップ150の判定が否定されてステップ170へ移行し、今回の起動要因が送信タイマのタイムアウトか否か判定される。この場合は判定が肯定されてステップ172へ移行し、まずタイムアウトした送信タイマに対応する共有データXを認識する。ステップ174では、先のステップ162でアプリケーションメモリ22に記憶させた共有データXの取得要求情報と送信元情報を読み出し、次のステップ176では、読み出した共有データXの取得要求情報を、読み出した送信元情報に対応するピア(更新通知情報送信元のピア)へ送信し、処理を終了する。なお、上述したステップ150〜ステップ176は本発明に係る取得要求手段(詳しくは請求項2に記載の取得要求手段)に対応している。
When the transmission standby time determined in
上記のようにして、更新通知情報を受信したピアから共有データ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
この共有データ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
本実施形態において、更新通知情報送信元のピアは、他のピアから取得要求情報を受信する毎に、取得が要求された共有データの送信(ステップ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 (
なお、本実施形態では共有データが更新されたピアが更新通知情報を定期的に送信するので、更新通知情報を受信する側のピアは、同一の更新通知情報を複数回受信することになるが、この場合、不揮発性の記憶手段に既に記憶されている共有データ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は請求項3に記載の第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
すなわち、本第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で認識したピアグループを表すグループ識別情報(請求項4に記載の識別情報に相当)を加えた情報を含む共有データ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
次のステップ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
上記処理により、例えば図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
続いて、本第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
また、受信した更新通知情報によって更新が通知された共有データ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
また、本第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
またステップ190では、P2P基盤管理データ記憶部18に記憶されている情報に基づいて、ピアグループAに属しかつサブピアグループaに属していない全てのピアを認識する。そしてステップ192では、共有データXの更新通知情報を、ステップ190で認識した全てのピアへ送信する。これにより、例として図11(C),(D)にも示すように、ピアグループA及びサブピアグループaに各々属し、共有データXの更新が発生したピア(図ではピア2)から最新の共有データXの取得したピア(図ではピア3)により、ピアグループAに属しかつサブピアグループaに属していない全てのピア(ピア4〜ピア6)に対して共有データXの更新通知が配信されることになる。なお、上述したステップ188〜ステップ192は請求項3に記載の第2通知手段(詳しくは請求項4に記載の第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
更に、第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
そして本第2実施形態に係る共有データ同期処理では、更新通知情報を送信したピアから共有データXの取得要求情報を受信すると、ステップ178の判定が否定されてステップ194へ移行し、共有データ配信処理(図8,12)のステップ130〜ステップ134と同様に、受信した取得要求情報から識別子xを抽出することで取得対象の共有データXを認識し(ステップ194)、認識した共有データX(更新後のデータ)を自ピアの不揮発性の記憶手段から読み出し(ステップ196)、読み出した共有データXを識別子xと共に取得要求送信元のピアへ送信する(ステップ198)。これにより、取得要求情報送信元のピア(ピアグループAに属しかつサブピアグループaに属していないピア)の不揮発性の記憶手段に記憶されている共有データXも同期化されることになる(図11(E),(F)も参照)。なお、上述したステップ194〜ステップ198は請求項3に記載の第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
なお、上述した第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,
また、上記では個々のピアの不揮発性の記憶手段に記憶されている共有データが更新前のデータか否かを判断可能な情報として、共有データのダイジェスト(ハッシュ値)を例に説明したがこれに限定されるものではなく、共有データの更新が発生したピアが、更新通知情報として共有データの更新日時又は更新後の共有データの版数を含む情報を送信し、共有データを受信したピアは受信した共有データと共に通知された更新日時又は版数を記憶し、更新通知情報を受信する毎に、受信した更新通知情報に含まれる更新日時又は版数を、共有データと共に記憶している更新日時又は版数と比較することで、既に記憶している共有データが更新前のデータか否かを判断するようにしてもよい。 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.
10 P2Pネットワーク
12 ピア
18 基盤管理データ記憶部
20 アプリケーション実行部
22 アプリケーションメモリ
10
Claims (7)
前記第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:
前記取得要求手段は、前記記憶手段に前記共有データが記憶されていない場合、及び、受信した通知情報に基づき、前記記憶手段に記憶されている前記共有データが更新前のデータであると判断した場合に、前記特定の情報処理装置へ前記取得要求を送信し、前記記憶手段に記憶されている前記共有データが更新後のデータであると判断した場合は前記取得要求を送信しないことを特徴とする請求項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.
前記受信手段が前記第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通知手段は、前記特定の情報処理装置から受信した通知情報に前記識別情報が付加されていた場合にのみ、前記第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.
前記複数台の情報処理装置の各々が、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グループに属する他の全ての情報処理装置へ送信し、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通知手段、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.
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)
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)
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)
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 |
-
2005
- 2005-01-17 JP JP2005009138A patent/JP4635615B2/en not_active Expired - Fee Related
Patent Citations (9)
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 |