JP2009230369A - Synchronization method for shared data, program for synchronizing shared data, and network system for synchronizing shared data to be held - Google Patents

Synchronization method for shared data, program for synchronizing shared data, and network system for synchronizing shared data to be held Download PDF

Info

Publication number
JP2009230369A
JP2009230369A JP2008073802A JP2008073802A JP2009230369A JP 2009230369 A JP2009230369 A JP 2009230369A JP 2008073802 A JP2008073802 A JP 2008073802A JP 2008073802 A JP2008073802 A JP 2008073802A JP 2009230369 A JP2009230369 A JP 2009230369A
Authority
JP
Japan
Prior art keywords
shared data
information processing
processing apparatus
node
data
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.)
Withdrawn
Application number
JP2008073802A
Other languages
Japanese (ja)
Inventor
Yumiko Nakatsuru
弓子 中津留
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2008073802A priority Critical patent/JP2009230369A/en
Publication of JP2009230369A publication Critical patent/JP2009230369A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a synchronization method for a shared data, capable of distributing a load concerned in synchronization processing when a new information processor is joined, in a network system of synchronizing the shared data between a plurality of information processors. <P>SOLUTION: A Node 1 stores a list transmitted from other Node, as an up-to-date list (step S108). The Node 1 copies concurrently a list held by own into a list before updated, at transmission timing of a list transmission request. The Node 1 specifies the shared data of acquisition object, based on a difference between the list before updated and the up-to-date list (step S110). The Node 1 further determines a synchronization mode when acquiring the shared data of acquisition object, based on data information or the like (step S112). <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

この発明は、共有データの同期方法、複数の情報処理装置の間で共有データを同期するためのプログラム、および共有データを同期して保持可能なネットワークシステムに関し、特に同期処理に係る負荷を分散させるための構成に関する。   The present invention relates to a shared data synchronization method, a program for synchronizing shared data among a plurality of information processing apparatuses, and a network system that can hold shared data in synchronization, and in particular, distributes a load related to synchronization processing. For the configuration.

複数のユーザの間でデータ共有を行なう場合には、従来、いわゆるサーバ・クライアント形式の構成が用いられてきた。このサーバ・クライアント形式は、少なくとも1台のファイルサーバに共有すべきデータ(ファイル)を格納するとともに、複数のクライアントが当該ファイルサーバにアクセスするという形式をとる。   In the case of sharing data among a plurality of users, a so-called server / client configuration has been conventionally used. The server / client format is a format in which data (files) to be shared is stored in at least one file server, and a plurality of clients access the file server.

このようなサーバ・クライアント形式に代えて、近年、いわゆるP2P(Peer to Peer)形式の構成が採用されることも多くなっている。このP2P形式は、複数の情報処理装置(各情報処理装置は「ピア(Peer)」あるいは「ノード」とも称される。)の間で随時ファイル交換を行なうことで、それぞれが同一のデータを同期して保持し、これによりデータ共有を行なうものである。このようなP2P形式を採用することで、ファイルサーバを配置し、さらにその管理を行なう必要がなくなる。また、情報処理装置がオフラインであってもデータ利用が可能となる。   In recent years, instead of such a server / client format, a so-called P2P (Peer to Peer) format configuration is often employed. In this P2P format, files are exchanged at any time between a plurality of information processing devices (each information processing device is also referred to as a “peer” or “node”), thereby synchronizing the same data with each other. The data is shared by this. By adopting such a P2P format, it is not necessary to arrange a file server and manage it. Further, data can be used even when the information processing apparatus is offline.

一方、P2P形式では、各情報処理装置がデータを保持しているため、情報処理装置がネットワークシステムに参加し、すでに各情報処理装置で共有されているデータを取得しようとする場合(いわゆる、同期の確立)には、特定の情報処理装置から当該参加した情報処理装置宛てに多数のデータが送信されることになる。そのため、当該送信元の情報処理装置は、その送信処理の実行中に多大なリソースを消費するという課題が生じ得る。   On the other hand, in the P2P format, since each information processing apparatus holds data, when the information processing apparatus participates in the network system and tries to acquire data already shared by each information processing apparatus (so-called synchronization) A large number of data is transmitted from a specific information processing apparatus to the participating information processing apparatus. For this reason, the transmission source information processing apparatus may have a problem of consuming a large amount of resources during the execution of the transmission process.

特開2004−86800号公報(特許文献1)には、一度のデータ同期で大量の情報を送受信することのないように、適当なデータ送信量でデータ同期を自動的に開始することにより、通信時間の増大やデータ同期中にエラーの起こる可能性を抑えるための構成が開示されている。
特開2004−86800号公報
Japanese Patent Laid-Open No. 2004-86800 (Patent Document 1) discloses a communication method by automatically starting data synchronization with an appropriate amount of data transmission so that a large amount of information is not transmitted and received once. A configuration for suppressing the possibility of errors during time increase and data synchronization is disclosed.
JP 2004-86800 A

しかしながら、特開2004−86800号公報(特許文献1)に開示の構成は、主として、サーバ・クライアント形式に適用されるものである。また、この構成では、サーバがデータベースの更新内容を更新履歴として保存し、更新履歴の件数がしきい値より大きい時にデータ同期を開始する構成を採用するため、P2P形式のシステムに適用したとしても、特定のサーバにデータ同期に係る処理が集中してしまうという課題は解決されない。   However, the configuration disclosed in Japanese Patent Application Laid-Open No. 2004-86800 (Patent Document 1) is mainly applied to the server / client format. In addition, in this configuration, the server stores database update contents as an update history, and adopts a configuration in which data synchronization is started when the number of update histories is greater than a threshold value, so even if applied to a P2P format system The problem that the processing related to data synchronization is concentrated on a specific server is not solved.

そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、複数の情報処理装置の間で共有データを同期しているネットワークシステムにおいて、情報処理装置が参加した場合の同期処理に係る負荷を分散化することが可能な共有データの同期方法を提供することである。また、この発明の別の目的は、上述のような共有データを同期するためのプログラムおよび共有データを同期して保持可能なネットワークシステムを提供することである。   Accordingly, the present invention has been made to solve such a problem, and the object thereof is to provide a case where an information processing apparatus participates in a network system in which shared data is synchronized among a plurality of information processing apparatuses. It is an object of the present invention to provide a shared data synchronization method capable of distributing a load related to synchronization processing. Another object of the present invention is to provide a program for synchronizing the shared data as described above and a network system capable of holding the shared data in synchronization.

この発明のある局面に従えば、互いにデータ通信可能な複数の情報処理装置の間で共有データを同期して保持するための共有データの同期方法を提供する。同期方法は、共有データを同期すべき情報処理装置が、当該同期する際の状況を判断するステップと、共有データを同期すべき情報処理装置が、判断した状況に応じて、取得対象の共有データを1つの他の情報処理装置のみから取得する第1のモードと、取得対象の共有データを複数の他の情報処理装置から分散的に取得する第2のモードとのいずれかを選択し、取得先の情報処理装置を決定するステップと、共有データを同期すべき情報処理装置が、取得先として決定した情報処理装置から取得対象の共有データを取得するステップとを含む。   According to an aspect of the present invention, a shared data synchronization method is provided for synchronizing and holding shared data among a plurality of information processing apparatuses capable of data communication with each other. The synchronization method includes a step in which an information processing apparatus to synchronize shared data determines a situation when the synchronization is performed, and an information processing apparatus to synchronize the shared data determines the shared data to be acquired according to the determined situation. Select one of the first mode for acquiring the data from only one other information processing apparatus and the second mode for acquiring the acquisition-target shared data from a plurality of other information processing apparatuses in a distributed manner. A step of determining a previous information processing device, and a step of acquiring information to be acquired from the information processing device determined as the acquisition destination by the information processing device to which the shared data is to be synchronized.

好ましくは、情報処理装置は、共有データに加えて、当該共有データを管理するためのリストを保持しており、共有データの同期方法は、共有データを同期すべき情報処理装置が、他の情報処理装置からリストを取得するステップをさらに含み、状況を判断するステップでは、取得したリストの内容に基づいて状況が判断される。   Preferably, the information processing apparatus holds a list for managing the shared data in addition to the shared data, and the shared data synchronization method is such that the information processing apparatus to synchronize the shared data has other information. The method further includes a step of acquiring a list from the processing device, and in the step of determining the situation, the situation is determined based on the contents of the acquired list.

さらに好ましくは、状況を判断するステップでは、共有データを同期すべき情報処理装置が保持していたリストと他の情報処理装置から取得したリストとの差分に基づいて、取得対象の共有データが決定される。   More preferably, in the step of determining the situation, the shared data to be acquired is determined based on a difference between a list held by the information processing apparatus to which the shared data should be synchronized and a list acquired from another information processing apparatus. Is done.

さらに好ましくは、第1のモードと第2のモードとの選択は、取得対象の共有データのサイズに基づいて行われる。   More preferably, the selection between the first mode and the second mode is performed based on the size of the shared data to be acquired.

好ましくは、状況を判断するステップでは、他の情報処理装置からのレスポンスの時間の大きさに基づいて状況が判断される。   Preferably, in the step of determining the situation, the situation is determined based on a response time from another information processing apparatus.

好ましくは、状況を判断するステップでは、他の情報処理装置からのレスポンスのデータ伝送速度の大きさに基づいて状況が判断される。   Preferably, in the step of determining the situation, the situation is determined based on the magnitude of the data transmission rate of the response from another information processing apparatus.

好ましくは、複数の情報処理装置は、ネットワークを構成しており、状況を判断するステップでは、共有データを同期すべき情報処理装置がネットワークから離脱していた期間の長さに基づいて状況が判断される。   Preferably, the plurality of information processing apparatuses constitutes a network, and in the step of determining the situation, the situation is determined based on a length of a period during which the information processing apparatus to which the shared data is to be synchronized is disconnected from the network. Is done.

好ましくは、取得先の情報処理装置を決定するステップでは、第1のモードが選択された場合に、候補の情報処理装置のうち最もレスポンスが早いものが取得先の情報処理装置として決定される。   Preferably, in the step of determining the information processing apparatus as the acquisition destination, when the first mode is selected, the candidate information processing apparatus with the fastest response is determined as the information processing apparatus as the acquisition destination.

好ましくは、取得先の情報処理装置を決定するステップでは、通信経路上において共有データを同期すべき情報処理装置に近接する情報処理装置を候補として、取得先の情報処理装置が決定される。   Preferably, in the step of determining the information processing apparatus as the acquisition destination, the information processing apparatus as the acquisition destination is determined with information processing apparatuses close to the information processing apparatus that should synchronize the shared data on the communication path as candidates.

好ましくは、取得先の情報処理装置を決定するステップでは、第2のモードが選択された場合に、通信経路上において共有データを同期すべき情報処理装置に近接する情報処理装置からなる候補群と、それ以外の情報処理装置からなる候補群とに区別した上で、取得対象の共有データのデータ情報に応じて、各共有データの取得先が情報処理装置をいずれか一方の候補群から選択される。   Preferably, in the step of determining an information processing apparatus as an acquisition destination, when the second mode is selected, a candidate group including information processing apparatuses close to the information processing apparatus that should synchronize the shared data on the communication path; Then, after distinguishing it from a candidate group consisting of other information processing devices, the acquisition destination of each shared data is selected from either one of the candidate groups according to the data information of the shared data to be acquired. The

さらに好ましくは、共有データを同期すべき情報処理装置に近接する情報処理装置は、共有データを同期すべき情報処理装置からのブロードキャストメッセージが到達可能な情報処理装置を含む。   More preferably, the information processing apparatus close to the information processing apparatus that should synchronize the shared data includes an information processing apparatus that can receive a broadcast message from the information processing apparatus that should synchronize the shared data.

またさらに好ましくは、情報処理装置の各々は、ネットワーク番号およびホスト番号からなるネットワークアドレスを有しており、共有データを同期すべき情報処理装置に近接する情報処理装置は、共有データを同期すべき情報処理装置のネットワーク番号と同じネットワーク番号を有する情報処理装置を含む。   More preferably, each of the information processing apparatuses has a network address including a network number and a host number, and the information processing apparatus close to the information processing apparatus to which the shared data should be synchronized should synchronize the shared data. An information processing apparatus having the same network number as the network number of the information processing apparatus is included.

好ましくは、共有データを同期すべき情報処理装置が、取得した共有データを自己の記憶部に格納するとともに、リストの内容を更新するステップをさらに含む。   Preferably, the information processing apparatus to synchronize the shared data further includes a step of storing the acquired shared data in its own storage unit and updating the contents of the list.

この発明の別の局面に従えば、互いにデータ通信可能に接続された複数の情報処理装置の間で共有データを同期するためのプログラムを提供する。プログラムは、情報処理装置に、共有データを同期すべき場合に、その際の状況を判断するステップと、判断した状況に応じて、取得対象の共有データを1つの他の情報処理装置のみから取得する第1のモードと、取得対象の共有データを複数の他の情報処理装置から分散的に取得する第2のモードとのいずれかを選択し、取得先の情報処理装置を決定するステップと、取得先として決定した情報処理装置から取得対象の共有データを取得するステップとを実行させる。   According to another aspect of the present invention, a program for synchronizing shared data among a plurality of information processing apparatuses connected so as to be capable of data communication with each other is provided. When the shared data should be synchronized with the information processing apparatus, the program determines the situation at that time, and acquires the shared data to be acquired from only one other information processing apparatus according to the determined situation Selecting one of a first mode to perform and a second mode for acquiring shared data to be acquired from a plurality of other information processing devices in a distributed manner, and determining an information processing device as an acquisition destination; And acquiring shared data to be acquired from the information processing apparatus determined as the acquisition destination.

この発明のさらに別の局面に従えば、互いにデータ通信可能な複数の情報処理装置の間で共有データを同期して保持可能なネットワークシステムを提供する。共有データを同期すべき情報処理装置は、共有データを同期する際の状況を判断する手段と、判断した状況に応じて、取得対象の共有データを1つの他の情報処理装置のみから取得する第1のモードと、取得対象の共有データを複数の他の情報処理装置から分散的に取得する第2のモードとのいずれかを選択し、取得先の情報処理装置を決定する手段と、取得先として決定した情報処理装置から取得対象の共有データを取得する手段とを含む。   According to still another aspect of the present invention, a network system capable of holding shared data in synchronization among a plurality of information processing apparatuses capable of data communication with each other is provided. The information processing apparatus that should synchronize the shared data has a means for determining a situation when synchronizing the shared data, and acquires the shared data to be acquired from only one other information processing apparatus according to the determined situation. Means for selecting one mode and a second mode in which shared data to be acquired is acquired in a distributed manner from a plurality of other information processing devices, and determining an information processing device as an acquisition destination; Means for acquiring shared data to be acquired from the information processing apparatus determined as.

この発明によれば、複数の情報処理装置の間で共有データを同期しているネットワークシステムにおいて、情報処理装置が参加した場合の同期処理に係る負荷を分散化することが可能な共有データの同期方法を提供することである。   According to the present invention, in a network system in which shared data is synchronized among a plurality of information processing apparatuses, synchronization of shared data capable of distributing a load related to synchronization processing when the information processing apparatus participates Is to provide a method.

この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。   Embodiments of the present invention will be described in detail with reference to the drawings. Note that the same or corresponding parts in the drawings are denoted by the same reference numerals and description thereof will not be repeated.

[実施の形態]
(ネットワークシステムの全体構成)
図1は、この発明の実施の形態に従うネットワークシステムSYSの概略構成図である。
[Embodiment]
(Overall configuration of network system)
FIG. 1 is a schematic configuration diagram of a network system SYS according to an embodiment of the present invention.

図1を参照して、本実施の形態に従うネットワークシステムSYSは、階層構造のルータRT1,RT2,RT3を含み、これらのルータを介して、複数の情報処理装置PC1〜PC7が互いにデータ通信可能な状態に構成されているとする。そして、複数の情報処理装置PC1〜PC7は、P2P(Peer to Peer)形式の通信プロトコルに従って、少なくとも1つの共有データを同期して保持する。   Referring to FIG. 1, network system SYS according to the present embodiment includes hierarchical routers RT1, RT2 and RT3, and a plurality of information processing devices PC1 to PC7 can communicate data with each other via these routers. Suppose that it is configured to a state. The plurality of information processing apparatuses PC1 to PC7 hold at least one shared data in synchronization according to a communication protocol of P2P (Peer to Peer) format.

より具体的には、最上層のルータRT1には、ルータRT2およびルータRT3が接続されており、ルータRT2のそれぞれのポートには、情報処理装置PC1〜PC4が接続されており、ルータRT3のそれぞれのポートには、情報処理装置PC5〜PC7が接続されている。ルータRT1〜RT3および情報処理装置PC1〜PC7の各々には、ネットワークID(ネットワーク番号)およびホストID(ホスト番号)を含むネットワークアドレス(代表的に、IPアドレス)が割当てられている。特に、ルータRT2およびルータRT2に接続されている情報処理装置PC1〜PC4には、互いに同じネットワークIDが割当てられており、ルータRT3およびルータRT3に接続されている情報処理装置PC5〜PC7には、互いに同じネットワークIDが割当てられている。なお、ルータRT2などに割当てられているネットワークIDと、ルータRT3などに割当てられているネットワークIDとは、互いに異なったものとなっており、両者は論理的に識別可能になっている。なお、ネットワークアドレスのうち、ネットワークIDとホストIDとは、ネットマスクの値に基づいて区別される。   More specifically, the router RT2 and the router RT3 are connected to the uppermost router RT1, and the information processing devices PC1 to PC4 are connected to the ports of the router RT2, respectively. Are connected to information processing apparatuses PC5 to PC7. Each of the routers RT1 to RT3 and the information processing apparatuses PC1 to PC7 is assigned a network address (typically an IP address) including a network ID (network number) and a host ID (host number). In particular, the router RT2 and the information processing devices PC1 to PC4 connected to the router RT2 are assigned the same network ID, and the information processing devices PC5 to PC7 connected to the router RT3 and the router RT3 The same network ID is assigned to each other. Note that the network ID assigned to the router RT2 and the like and the network ID assigned to the router RT3 and the like are different from each other, and both can be logically identified. Of the network addresses, the network ID and the host ID are distinguished based on the value of the netmask.

本明細書において「同期」とは、複数の情報処理装置の各々が同一の共有データを過不足なく保持している状態を意味する。すなわち、各情報処理装置は、他の情報処理装置とデータ交換(データコピー)をすることで、取得対象の共有データを収集する。このような処理を繰返すことで、ネットワークシステムSYSに含まれる情報処理装置PC1〜PC7の各々が同一の共有データを過不足なく保持することができる。なお、共有データは、代表的にユーザがいずれのパーソナルコンピュータを用いて新規に生成し、あるいは生成済のデータを共有データとして指定することで定められる。   In this specification, “synchronization” means a state where each of a plurality of information processing apparatuses holds the same shared data without excess or deficiency. That is, each information processing apparatus collects shared data to be acquired by exchanging data (data copying) with other information processing apparatuses. By repeating such processing, each of the information processing apparatuses PC1 to PC7 included in the network system SYS can hold the same shared data without excess or deficiency. Note that the shared data is typically determined by a user newly generating using any personal computer or designating generated data as shared data.

本実施の形態では、主として、ある時点のネットワークシステムSYSに対して、特定の情報処理装置(以下の説明では、代表的に情報処理装置PC1とする)がネットワークシステムSYSから一旦離脱(オフライン)した後、相当の期間経過後、ネットワークシステムSYSに再参加(オンライン)する場合の同期処理について説明する。   In the present embodiment, a specific information processing device (typically referred to as information processing device PC1 in the following description) has temporarily left (offline) from the network system SYS with respect to the network system SYS at a certain point in time. Later, a synchronization process in the case of rejoining (online) the network system SYS after a considerable period of time will be described.

本発明に係る共有データの同期方法は、複数の情報処理装置が共有データを同期して保持しているネットワークシステムSYSに、当該共有データの全部またはその一部を保持しない情報処理装置、すなわち同期状態にある共有データを完全には保持していない情報処理装置が参加する場合の処理に向けられるものである。そのため、本実施の形態において説明するような、ネットワークシステムSYSに参加していた情報処理装置が一旦離脱した後に再参加するような場合に加えて、全く新たな情報処理装置がネットワークシステムSYSに参加する場合などにも適用可能である。   In the shared data synchronization method according to the present invention, an information processing device that does not hold all or part of the shared data in a network system SYS in which a plurality of information processing devices hold shared data in synchronization, that is, synchronization. It is directed to processing when an information processing apparatus that does not completely hold shared data in a state participates. Therefore, in addition to the case where the information processing apparatus that has participated in the network system SYS once leaves and rejoins as described in the present embodiment, a completely new information processing apparatus participates in the network system SYS. It is also applicable to cases where

本実施の形態では、情報処理装置PC1〜PC7(以下「情報処理装置PC」とも総称する。)の代表例として、パーソナルコンピュータを用いる構成について例示するが、P2P形式の通信プロトコルおよびアプリケーションを実装可能な装置であれば、どのような装置であってもよい。より具体的には、情報処理装置PCとして、複写機能やファクシミリ機能などを搭載したMFP(Multi Function Peripheral)、携帯電話、PDA(Personal Digital Assistance)、ネットワークファクシミリなどを採用することができる。   In this embodiment, a configuration using a personal computer is illustrated as a representative example of the information processing apparatuses PC1 to PC7 (hereinafter also collectively referred to as “information processing apparatus PC”), but a communication protocol and application in the P2P format can be implemented. Any device may be used as long as it is a simple device. More specifically, as the information processing apparatus PC, an MFP (Multi Function Peripheral), a mobile phone, a PDA (Personal Digital Assistance), a network facsimile, or the like equipped with a copying function or a facsimile function can be adopted.

また、情報処理装置PCは、論理的に互いにデータ通信可能な状態を形成できれば、必ずしも同一階層のネットワークに物理的に接続されている必要はない。   Further, the information processing apparatuses PC do not necessarily have to be physically connected to the same layer network as long as they can logically communicate with each other.

(ハードウェア構成)
図2は、この発明の実施の形態に従う情報処理装置PC1〜PC7の代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。
(Hardware configuration)
FIG. 2 is a schematic diagram showing a schematic hardware configuration of a personal computer which is a representative example of information processing apparatuses PC1 to PC7 according to the embodiment of the present invention.

図2を参照して、本実施の形態に従う情報処理装置PCは、オペレーティングシステムを含む各種プログラムを実行するCPU200と、CPU200でのプログラムの実行に必要なデータを一時的に記憶するメモリ部212と、CPU200で実行されるプログラムを不揮発的に記憶するハードディスク部(HDD)210とを含む。このようなプログラムは、CD−ROM(Compact Disk-Read Only Memory)ドライブ214またはフレキシブルディスク(FD:Flexible Disk)ドライブ216によって、それぞれCD−ROM214aまたはフレキシブルディスク216aなどから読取られる。   Referring to FIG. 2, information processing device PC according to the present embodiment includes a CPU 200 that executes various programs including an operating system, and a memory unit 212 that temporarily stores data necessary for the execution of the programs by CPU 200. And a hard disk unit (HDD) 210 that stores a program executed by the CPU 200 in a nonvolatile manner. Such a program is read from a CD-ROM 214a or a flexible disk 216a by a CD-ROM (Compact Disk-Read Only Memory) drive 214 or a flexible disk (FD: Flexible Disk) drive 216, respectively.

CPU200は、キーボードやマウスなどからなる入力部208を介してユーザによる操作要求を受取るとともに、プログラムの実行によって生成される画面出力をディスプレイ部204へ出力する。また、CPU200は、LANカードなどからなるネットワークインターフェイス(I/F)部206を介して、他の情報処理装置との間でデータ通信を行なう。なお、これらの部位は、内部バス202を介して互いに接続される。   The CPU 200 receives a user operation request via the input unit 208 such as a keyboard or a mouse, and outputs a screen output generated by executing the program to the display unit 204. The CPU 200 performs data communication with other information processing apparatuses via a network interface (I / F) unit 206 including a LAN card. These parts are connected to each other via the internal bus 202.

(情報処理装置の機能構成)
図3は、この発明の実施の形態に従う情報処理装置PC1〜PC7における制御構造を示す概略図である。図3に示す制御構造は、代表的に、CPU200(図2)がハードディスク部210(図2)に予め格納されたプログラムをメモリ部212(図2)に展開し、各コマンドを実行することで提供される。
(Functional configuration of information processing device)
FIG. 3 is a schematic diagram showing a control structure in information processing apparatuses PC1 to PC7 according to the embodiment of the present invention. In the control structure shown in FIG. 3, the CPU 200 (FIG. 2) typically develops a program stored in the hard disk unit 210 (FIG. 2) in the memory unit 212 (FIG. 2) and executes each command. Provided.

図3を参照して、情報処理装置PCの各々は、データ受信部102と、データ解析部104と、データ操作部106と、リスト管理部108と、認証部110と、ネットワーク申請部112と、接続テーブル管理部114と、モード判断部118と、データ格納部120と、データ作成部122と、データ送信部124とをその機能として含む。なお、データ格納部120は、ハードディスク部210(図2)に所定領域を確保することで実現される。   Referring to FIG. 3, each of the information processing apparatuses PC includes a data receiving unit 102, a data analyzing unit 104, a data operation unit 106, a list management unit 108, an authentication unit 110, a network application unit 112, The connection table management unit 114, the mode determination unit 118, the data storage unit 120, the data creation unit 122, and the data transmission unit 124 are included as functions. The data storage unit 120 is realized by securing a predetermined area in the hard disk unit 210 (FIG. 2).

データ受信部102は、ネットワークNW上を伝送されるデータパケットを受信するとともに、分割送信されたデータパケットについては結合してデータ列に復元した上で、データ解析部104へ出力する。データ解析部104は、各データ列の内容(代表的に、ヘッダ部のアドレス情報)を解析し、当該データ列が自装置宛てのものであるか否かを判断する。そして、データ解析部104は、自装置宛てのものと判断したデータ列のみをデータ操作部106と、リスト管理部108と、認証部110と、ネットワーク申請部112と、接続テーブル管理部114のいずれかに出力する。   The data receiving unit 102 receives a data packet transmitted over the network NW, combines the dividedly transmitted data packets, restores them to a data string, and outputs them to the data analyzing unit 104. The data analysis unit 104 analyzes the contents of each data string (typically, address information of the header part), and determines whether or not the data string is addressed to the own apparatus. Then, the data analysis unit 104 selects only the data string determined to be destined for the own device from the data operation unit 106, the list management unit 108, the authentication unit 110, the network application unit 112, and the connection table management unit 114. To output.

データ操作部106は、自情報処理装置PCにおいてユーザが新たにデータを生成した場合や、他情報処理装置PCから新たなデータが送信された場合などに、当該データをデータ格納部120の共有データ保持部(DB)116へ格納するとともに、当該共有データの追加や削除といった変更内容をリスト管理部108へ通知する。また、データ操作部106は、他情報処理装置PCからの要求に応じて、共有データ保持部116に格納している共有データを提供する。   When the user newly generates data in the own information processing apparatus PC, or when new data is transmitted from another information processing apparatus PC, the data operation unit 106 transmits the data to the shared data in the data storage unit 120. The contents are stored in the holding unit (DB) 116 and changed contents such as addition or deletion of the shared data are notified to the list management unit 108. Further, the data operation unit 106 provides shared data stored in the shared data holding unit 116 in response to a request from another information processing apparatus PC.

また、データ操作部106は、自情報処理装置PCがネットワークシステムSYSに参加した場合には、後述するリスト管理部108の指示に従って、指定された他情報処理装置PCに指定された共有データについてのデータ送信依頼を送信する。さらに、データ操作部106は、他情報処理装置PCから当該データ送信依頼に応じて送信される共有データを受信すると、当該データをデータ格納部120の共有データ保持部116へ格納するとともに、当該共有データの受信および格納をリスト管理部108へ通知する。   In addition, when the information processing device PC participates in the network system SYS, the data operation unit 106 follows the instruction of the list management unit 108 to be described later about the shared data specified by the specified other information processing device PC. Send a data transmission request. Further, when receiving the shared data transmitted in response to the data transmission request from the other information processing apparatus PC, the data operation unit 106 stores the data in the shared data holding unit 116 of the data storage unit 120 and the shared data The list management unit 108 is notified of data reception and storage.

リスト管理部108は、上述のデータ操作部106から共有データの変更の通知を受けると、その内容に基づいてデータ格納部120のリスト134を更新する。リスト134は、データ格納部120の共有データ保持部116へ格納されている共有データを管理するためのデータを含む。より具体的には、リスト134は、共有データ保持部116に格納されている共有データの別に、当該共有データのデータ名(または、ファイル名)、サイズ、更新日時、作成日時、重要度、ファイル種別、データ作成者、アクセス可能ユーザ(または、アクセスコントロール情報)、およびその他の属性情報などを含む。なお、リスト134の一例については後述する。   When the list management unit 108 receives the notification of the change of the shared data from the data operation unit 106 described above, the list management unit 108 updates the list 134 of the data storage unit 120 based on the content. The list 134 includes data for managing shared data stored in the shared data holding unit 116 of the data storage unit 120. More specifically, the list 134 includes, in addition to the shared data stored in the shared data holding unit 116, the data name (or file name), size, update date / time, creation date / time, importance, file of the shared data. The type, data creator, accessible user (or access control information), and other attribute information are included. An example of the list 134 will be described later.

また、リスト管理部108は、ネットワークシステムSYSへ参加した情報処理装置PCからのリスト送信依頼を後述するネットワーク申請部112を介して受信すると、データ格納部120に格納しているリスト134を当該参加した情報処理装置PCへ送信する。   When the list management unit 108 receives a list transmission request from the information processing apparatus PC that has participated in the network system SYS via the network application unit 112 described later, the list management unit 108 receives the list 134 stored in the data storage unit 120. To the information processing apparatus PC.

また、リスト管理部108は、自情報処理装置PCがネットワークシステムSYSに参加した場合には、参加時点でのリスト134を更新前リスト136にコピーするとともに、他情報処理装置PCが送信したリスト134を受信して最新リスト138としてデータ格納部120に格納する。さらに、リスト管理部108は、更新前リスト136と最新リスト138との差分に基づいて、取得対象の共有データを特定する。そして、これらの取得対象の共有データを取得するための指示をモード判断部118およびデータ操作部106へ与える。すなわち、リスト管理部108は、他情報処理装置PCが保持するリスト134(自情報処理装置PCの最新リスト138)に基づいて、ネットワークシステムSYSに属する情報処理装置PCとの間で共有データを同期する。   In addition, when the information processing apparatus PC participates in the network system SYS, the list management unit 108 copies the list 134 at the time of participation to the pre-update list 136 and the list 134 transmitted by the other information processing apparatus PC. Is stored in the data storage unit 120 as the latest list 138. Further, the list management unit 108 identifies the acquisition target shared data based on the difference between the pre-update list 136 and the latest list 138. Then, an instruction for acquiring the shared data to be acquired is given to the mode determination unit 118 and the data operation unit 106. That is, the list management unit 108 synchronizes the shared data with the information processing apparatus PC belonging to the network system SYS based on the list 134 (the latest list 138 of the own information processing apparatus PC) held by the other information processing apparatus PC. To do.

モード判断部118は、同期するために必要な取得対象の共有データの数や合計サイズといったデータ情報などに基づいて、当該取得対象の共有データを取得する際の同期モードを決定する。より具体的には、モード判断部118は、1つの情報処理装置PCから共有データを取得する「単独モード」と、複数の情報処理装置PCから共有データを分散的に取得する「複数モード」とを選択可能に構成される。「単独モード」は、主として取得対象の共有データが相対的に少ない場合に、通信経路上において近接する1つの情報処理装置PCから当該共有データを取得するモードであり、「複数モード」は、主として取得対象の共有データが相対的に多い場合に、複数の情報処理装置PCから共有データを分散的に取得するためのモードである。なお、これらの同期モード決定に係る処理、および各モードにおける処理については、後述する。モード判断部118により決定された同期モードの判断結果は、データ操作部106へ出力される。   The mode determination unit 118 determines a synchronization mode for acquiring the acquisition target shared data based on data information such as the number and total size of the acquisition target shared data necessary for synchronization. More specifically, the mode determination unit 118 includes “single mode” in which shared data is acquired from one information processing device PC, and “multiple mode” in which shared data is acquired in a distributed manner from a plurality of information processing devices PC. Is configured to be selectable. The “single mode” is a mode in which the shared data is acquired from one information processing apparatus PC that is close on the communication path mainly when the shared data to be acquired is relatively small. The “multiple mode” is mainly This is a mode for acquiring shared data in a distributed manner from a plurality of information processing apparatuses PC when there is a relatively large amount of shared data to be acquired. The processing related to the determination of the synchronous mode and the processing in each mode will be described later. The determination result of the synchronization mode determined by the mode determination unit 118 is output to the data operation unit 106.

認証部110は、他情報処理装置PCからのアクセスに対して接続拒否を判断する。より具体的には、認証部110は、他情報処理装置PCのアクセス要求に付属するユーザIDやパスワード、または他情報処理装置PCの装置IDなどに基づいて、認証処理を行なうことで接続拒否を判断する。あるいは、予めブラックリストおよび/またはホワイトリストを格納しておき、ブラックリストに該当しない、またはホワイトリストに該当する場合に限って、アクセス要求の送信元の情報処理装置PCに対する接続を許可するようにしてもよい。   The authentication unit 110 determines connection refusal for access from another information processing apparatus PC. More specifically, the authentication unit 110 rejects the connection by performing an authentication process based on the user ID and password attached to the access request of the other information processing apparatus PC or the apparatus ID of the other information processing apparatus PC. to decide. Alternatively, a black list and / or a white list is stored in advance, and connection to the information processing apparatus PC that is the source of the access request is permitted only when the black list does not correspond to the white list or the white list. May be.

ネットワーク申請部112は、ユーザ操作などに応じて、自情報処理装置PCがネットワークシステムSYSに参加しようとする場合に、当該ネットワークシステムSYSに属する他の情報処理装置PCへアクセス要求を送信する。また、ネットワーク申請部112は、ユーザ操作などに応じて、自情報処理装置PCがネットワークシステムSYSから離脱しようとする場合に、当該ネットワークシステムSYSに属する他の情報処理装置PCへ離脱通知を送信する。   The network application unit 112 transmits an access request to another information processing apparatus PC belonging to the network system SYS when the information processing apparatus PC intends to participate in the network system SYS in response to a user operation or the like. In addition, when the information processing apparatus PC tries to leave the network system SYS in response to a user operation or the like, the network application unit 112 transmits a leave notification to another information processing apparatus PC belonging to the network system SYS. .

データ作成部122は、データ操作部106が読み出した共有データ、リスト管理部108が読み出したリスト134、ネットワーク申請部112が発行したアクセス要求などを、所定のデータパケットに整形し、データ送信部124へ出力する。   The data creation unit 122 shapes the shared data read by the data operation unit 106, the list 134 read by the list management unit 108, the access request issued by the network application unit 112, and the like into a predetermined data packet, and the data transmission unit 124 Output to.

データ送信部124は、データ格納部120の接続テーブル132を参照して、各データパケットの送信先を特定するためのユニークな情報(代表的に、IPアドレスなどのネットワークアドレス)を取得し、ネットワークNWを介して送信する。   The data transmission unit 124 refers to the connection table 132 of the data storage unit 120, acquires unique information (typically, a network address such as an IP address) for specifying the transmission destination of each data packet, and Transmit via NW.

接続テーブル132は、ネットワークシステムSYSに含まれる情報処理装置PC1〜PC7を特定するための情報を格納する。具体的には、接続テーブル132は、少なくともP2P形式のネットワークシステムSYSを構成する情報処理装置PCの別に、IPアドレス、MACアドレス、ネットマスクなどを含む。   The connection table 132 stores information for specifying the information processing apparatuses PC1 to PC7 included in the network system SYS. Specifically, the connection table 132 includes an IP address, a MAC address, a netmask, and the like in addition to at least the information processing apparatus PC configuring the P2P format network system SYS.

接続テーブル管理部114は、ネットワークシステムSYSにいずれかの情報処理装置PCが新規参加した場合、およびネットワークシステムSYSからいずれかの情報処理装置PCが離脱した場合には、データ格納部120の接続テーブル132の内容を更新する。   When any information processing apparatus PC newly joins the network system SYS, or when any information processing apparatus PC leaves the network system SYS, the connection table management unit 114 connects the connection table of the data storage unit 120. The contents of 132 are updated.

(参加時の同期処理)
まず、図4〜図7を参照して、本実施の形態に従うネットワークシステムSYSに情報処理装置が参加した場合に共通に実行される処理について説明する。以下の説明では、一例として、情報処理装置PC1が、ネットワークシステムSYSから一旦離脱(オフライン)した後、相当の期間経過後にネットワークシステムSYSに再参加(オンライン)する場合の同期処理について説明する。
(Synchronization process when participating)
First, with reference to FIG. 4 to FIG. 7, processing that is commonly executed when an information processing apparatus participates in the network system SYS according to the present embodiment will be described. In the following description, as an example, a description will be given of a synchronization process when the information processing apparatus PC1 once leaves (offline) from the network system SYS and rejoins (online) the network system SYS after a considerable period of time has elapsed.

なお、以下の説明では、論理的に形成される情報処理装置PC間の論理的なコネクションに着目して、情報処理装置PC1〜PC7をそれぞれ「Node(あるいは、ノード)1〜Node7」とも記す。   In the following description, paying attention to logical connections between information processing apparatuses PC that are logically formed, the information processing apparatuses PC1 to PC7 are also referred to as “Node (or nodes) 1 to Node7”, respectively.

図4は、Node1が離脱する直前のネットワークシステムSYSの状態を示す図である。図5は、Node1が再参加した直後のネットワークシステムSYSの状態を示す図である。   FIG. 4 is a diagram illustrating a state of the network system SYS immediately before Node 1 leaves. FIG. 5 is a diagram illustrating a state of the network system SYS immediately after Node1 rejoins.

図4および図5に示すように、一例として、ルータRT1のネットワークアドレスは「10.100.1.100」であるとし、ルータRT2のネットワークアドレスは「10.100.2.100」であるとし、ルータRT3のネットワークアドレスは「10.100.3.100」であるとする。本実施の形態では、これらのネットワークアドレスのうち、先頭部分の「10.100.1」,「10.100.2」,「10.100.3」がネットワークIDを示し、後半部分の「100」がホストIDを示すものとする。また、Node1〜Node4のネットワークアドレスのうち、ネットワークIDは接続先であるルータRT2のネットワークID(すなわち、「10.100.2」)と同一であり、ホストIDはそれぞれユニークな値に設定されているとする。同様に、Node5〜Node7のネットワークアドレスのうち、ネットワークIDは接続先であるルータRT3のネットワークID(すなわち、「10.100.3」)と同一であり、ホストIDはそれぞれユニークな値に設定されているとする。   As shown in FIGS. 4 and 5, as an example, it is assumed that the network address of the router RT1 is “10.100.1.100” and the network address of the router RT2 is “10.100.2.100”. The network address of the router RT3 is assumed to be “10.100.3.100”. In the present embodiment, among these network addresses, “10.100.1”, “10.100.2”, and “10.100.3” at the head portion indicate the network ID, and “100” in the latter half portion. "Indicates a host ID. Of the network addresses of Node 1 to Node 4, the network ID is the same as the network ID of the router RT2 that is the connection destination (ie, “10.100.2”), and the host ID is set to a unique value. Suppose that Similarly, among the network addresses of Node5 to Node7, the network ID is the same as the network ID of the router RT3 that is the connection destination (ie, “10.100.3”), and the host ID is set to a unique value. Suppose that

ところで、いずれかのNodeから送信されるブロードキャストメッセージは、同一のネットワークIDをもつ機器へ転送されるので、図4および図5に示すようなネットワーク構成を採用した場合には、いずれかのNodeから送信されたブロードキャストメッセージは、当該Nodeが接続されているルータおよび当該ルータに共通に接続されている他のNodeのみに転送される。一例として、Node1から送信されたブロードキャストメッセージは、Node2,Node3およびルータRT2には転送されるが、Node5〜Node7およびルータRT1,RT2には転送されない。   By the way, since the broadcast message transmitted from any one of the nodes is transferred to a device having the same network ID, when a network configuration as shown in FIGS. The transmitted broadcast message is transferred only to the router to which the Node is connected and to other Nodes commonly connected to the router. As an example, a broadcast message transmitted from Node1 is transferred to Node2, Node3, and router RT2, but is not transferred to Node5 to Node7 and routers RT1, RT2.

図4を参照して、初期状態として、Node1〜Node7の各々がデータAおよびデータBを同期して保持しているとする。また、Node1〜Node7の各々は、これらのデータを管理するためのリストも保持しているものとする。図4に示すような状態において、ユーザ操作などに応じて、Node1がオンラインからオフラインに変更されたとし、その後、相当の期間が経過した後の状態が図5に示される。   Referring to FIG. 4, assume that Node 1 to Node 7 hold data A and data B in synchronization as an initial state. Each of Node 1 to Node 7 also holds a list for managing these data. In the state shown in FIG. 4, it is assumed that Node 1 is changed from online to offline in response to a user operation or the like, and then a state after a considerable period of time has passed is shown in FIG.

図5を参照して、Node1がオフラインであった期間において、ネットワークシステムSYSにおいて同期して保持されている共有データが追加され、オフラインであったNode1を除く他のNode間では、データA〜データFの計6つの共有データが同期されているものとする。なお、共有データの追加に伴って、Node2〜Node7の各々が保持するリストの内容についても更新されるため、Node1が保持するリストの内容とは異なったものとなっている。   Referring to FIG. 5, shared data held in synchronization in network system SYS is added in a period in which Node 1 is offline, and data A to data are shared between other Nodes except Node 1 that is offline. Assume that a total of 6 shared data of F are synchronized. As the shared data is added, the contents of the list held by each of Node 2 to Node 7 are also updated, so that the contents of the list held by Node 1 are different.

このような状態において、Node1がオフラインからオンラインに変更され、ネットワークシステムSYSに再参加した場合の、共有データの同期処理について説明する。   In such a state, a description will be given of the shared data synchronization processing when Node 1 is changed from offline to online and rejoins the network system SYS.

図6は、Node1が再参加した直後に実行される処理を示す図である。図7は、図6に示す処理の実行後におけるネットワークシステムSYSの状態を示す図である。   FIG. 6 is a diagram illustrating a process executed immediately after Node1 rejoins. FIG. 7 is a diagram showing a state of the network system SYS after the execution of the processing shown in FIG.

図6を参照して、再参加したNode1は、まず、リスト送信依頼を他Nodeへ送信する。なお、リスト送信依頼は、少なくとも1つ以上のNodeへ送信すればよい。また、その送信方法は、特定のNodeへ直接送信してもよいし、同一のネットワークIDをもつNodeへ一括送信するブロードキャスト送信でもよいし、特定の複数のNodeを指定したマルチキャスト送信であってもよい。   Referring to FIG. 6, Node 1 that rejoined first transmits a list transmission request to another Node. The list transmission request may be transmitted to at least one Node. Further, the transmission method may be direct transmission to a specific node, broadcast transmission that transmits to a node having the same network ID at a time, or multicast transmission that specifies a plurality of specific nodes. Good.

このリスト送信依頼を受信したいずれかの他Nodeは、自己の保持するリストをリスト送信依頼元であるNode1へ返送する。なお、リスト送信依頼をブロードキャスト送信する場合には、送信先が既知である必要はなく、当該リスト送信依頼に応答して返送されたリストに基づいて、存在するNodeを確認してもよい。この場合には、Node1は、複数のリストを受信することができるが、更新日が最新のリストのみを格納するようにすればよい。   Any other Node that has received this list transmission request returns its own list to Node 1 that is the list transmission request source. When the list transmission request is broadcast, the transmission destination does not need to be known, and the existing Node may be confirmed based on the list returned in response to the list transmission request. In this case, Node 1 can receive a plurality of lists, but it is only necessary to store only the list with the latest update date.

図7を参照して、Node1は、上述のリスト送信依頼の送信とともに、当該時点で保持しているリストを更新前リストとしてコピーする。この更新前リストは、取得対象の(同期すべき)共有データを特定するための基準となるものであり、コピーと同時に上書きを禁止しておくことが好ましい。そして、Node1は、他Nodeから受信したリストを最新リストとして格納する。   Referring to FIG. 7, Node 1 copies the list held at that time as the pre-update list, along with the transmission of the list transmission request. This pre-update list serves as a reference for specifying the shared data to be acquired (to be synchronized), and it is preferable to prohibit overwriting at the same time as copying. Node1 stores the list received from the other Node as the latest list.

図8は、Node1が保持するリストの一例を示す図である。図8(a)は、更新前リスト(再参加直後のリスト)の一例を示し、図8(b)は、他Nodeから取得した最新リストの一例を示す。   FIG. 8 is a diagram illustrating an example of a list held by Node1. FIG. 8A shows an example of the pre-update list (list immediately after rejoining), and FIG. 8B shows an example of the latest list acquired from another Node.

図8に示すように、リスト、更新前リスト、最新リストの各々には、同期して保持されている共有データの別に、「データ名」、「サイズ」、「更新日時」といった属性情報が規定されているとする。これらの属性情報は、同期対象の共有データが追加される際に生成または追加される。なお、リストに格納される属性情報は、これらの情報に限られることなく、「重要度」などの他の属性情報を含むようにしてもよい。   As shown in FIG. 8, attribute information such as “data name”, “size”, and “update date / time” is defined for each of the list, the pre-update list, and the latest list, in addition to the shared data held in synchronization. Suppose that These pieces of attribute information are generated or added when shared data to be synchronized is added. The attribute information stored in the list is not limited to such information, and may include other attribute information such as “importance”.

Node1は、他Nodeからリストを受信すると、更新前リスト(図8(a))と最新リスト(図8(b))との差分に基づいて、取得対象の共有データを特定する。図8に示す例では、データC〜データFが取得対象の共有データであることが特定される。そして、Node1は、これらの取得対象の共有データの数や合計サイズといった、データ情報などに基づいて、「単独モード」および「複数モード」のいずれによって、これらの共有データを取得するのかを決定する。   When Node 1 receives a list from another Node, Node 1 specifies shared data to be acquired based on the difference between the pre-update list (FIG. 8A) and the latest list (FIG. 8B). In the example illustrated in FIG. 8, it is specified that data C to data F are shared data to be acquired. Then, Node 1 determines whether to acquire these shared data in “single mode” or “multiple mode” based on data information such as the number of shared data to be acquired and the total size. .

(同期モード選択処理)
以下、「単独モード」および「複数モード」の選択処理について説明する。
(Synchronous mode selection process)
Hereinafter, the selection processing of “single mode” and “multiple mode” will be described.

上述したように、取得対象の共有データの数や合計サイズといったデータ情報などに基づいて、同期モード選択を行なうことができるが、本実施の形態では、取得対象の共有データの合計サイズに基づいて、同期モードを決定する方法について例示する。   As described above, the synchronization mode can be selected based on the data information such as the number of shared data to be acquired and the total size, but in this embodiment, based on the total size of the shared data to be acquired. An example of a method for determining the synchronization mode will be described.

具体的には、データ格納部120の共有データ保持部116(図3)の格納領域のサイズに対する、取得対象の共有データの合計サイズの割合に基づいて、同期モードを判断する。これは、共有データ保持部116(図3)のサイズは、各Nodeの能力に応じて設定されると考えられるため、取得対象の共有データをこの各Nodeの能力を基準として比較することで、共有データの取得先のNode数を決定するものである。   Specifically, the synchronization mode is determined based on the ratio of the total size of the shared data to be acquired to the size of the storage area of the shared data holding unit 116 (FIG. 3) of the data storage unit 120. This is because the size of the shared data holding unit 116 (FIG. 3) is considered to be set according to the capability of each Node, so by comparing the acquisition target shared data with reference to the capability of each Node, The number of nodes from which shared data is acquired is determined.

本実施の形態においては、一例として、この割合のしきい値を20%とする。そのため、たとえば、データ格納部120の共有データ保持部116が10,000KBの格納領域を有しているとすれば、取得対象の共有データの合計サイズが2,000KB未満であれば「単独モード」が選択され、取得対象の共有データの合計サイズが2,000KB以上であれば「複数モード」が選択される。   In the present embodiment, as an example, the threshold of this ratio is 20%. Therefore, for example, if the shared data holding unit 116 of the data storage unit 120 has a storage area of 10,000 KB, the “single mode” if the total size of the shared data to be acquired is less than 2,000 KB. Is selected, and the “multiple mode” is selected if the total size of the shared data to be acquired is 2,000 KB or more.

図8に示す例では、取得対象の共有データの合計サイズは、1,880KBであり、上記の条件下においては「単独モード」が選択される。   In the example shown in FIG. 8, the total size of the shared data to be acquired is 1,880 KB, and “single mode” is selected under the above conditions.

当然のことながら、上述した割合のしきい値は、ネットワーク環境や各Node環境などを考慮して、適切な値に設定することが好ましい。また、同期モードの選択は、取得対象の共有の数や、ファイル種類、アクセス数、重要度といったその他のデータ情報に基づいて行なってもよい。   As a matter of course, it is preferable to set the above-mentioned ratio threshold value to an appropriate value in consideration of the network environment and each Node environment. The synchronization mode may be selected based on other data information such as the number of shares to be acquired, the file type, the number of accesses, and the importance.

(単独モード)
「単独モード」は、いずれか1つのNodeから取得対象の共有データを取得するモードである。特に、本実施の形態では、共有データを要求するNodeと通信経路上において近接するNodeからなる候補群から取得先の共有データを取得するモードである。なお、通信経路上において近接するNodeを特定する方法としては、既知のネットワークアドレスに基づいて決定することもできるが、本実施の形態では、ブロードキャストメッセージが到達する範囲(すなわち、ネットワークIDが同じ)にあるNodeを近接するNodeとして特定する。
(Single mode)
“Single mode” is a mode in which shared data to be acquired is acquired from any one node. In particular, the present embodiment is a mode in which shared data of an acquisition destination is acquired from a candidate group including a Node that requests shared data and a Node that is adjacent on the communication path. In addition, as a method for specifying a neighboring node on a communication path, it can be determined based on a known network address. However, in this embodiment, a range in which a broadcast message reaches (that is, the network ID is the same). Nodes in are identified as neighboring Nodes.

さらに、本実施の形態では、近接する複数のNodeが存在する場合には、各時点での処理能力が最も高い(あるいは、最も余裕がある)Nodeを特定し、当該特定したNodeから取得対象の共有データを取得する。より具体的には、共有データを取得するNodeから各候補のNodeに対して、特定のコマンド(代表的に、pingコマンド)を送信し、そのレスポンスが最も早いものを単独モードにおける共有データの取得先として決定する。   Furthermore, in the present embodiment, when there are a plurality of adjacent Nodes, the Node having the highest processing capacity (or the most leeway) at each time point is identified, and the acquisition target is determined from the identified Node. Get shared data. More specifically, a specific command (typically, a ping command) is transmitted from the node that acquires the shared data to each candidate node, and the one with the earliest response is acquired in the single mode. Decide as a destination.

図9は、単独モードにおける共有データの取得先を決定するための処理を説明するための図である。図10は、単独モードにおける共有データ取得中の処理を説明するための図である。図11は、単独モードにおける共有データの取得処理が完了した状態を示す図である。   FIG. 9 is a diagram for explaining processing for determining a shared data acquisition destination in the single mode. FIG. 10 is a diagram for explaining processing during acquisition of shared data in the single mode. FIG. 11 is a diagram illustrating a state in which the shared data acquisition process in the single mode is completed.

図9を参照して、Node1は、取得対象の共有データの同期モードを「単独モード」と判断すると、同じネットワークIDをもつNode2,Node3,Node4にpingコマンドをそれぞれ送信する。なお、同じネットワークIDをもつNodeが既知でない場合には、Node1からブロードキャストメッセージを送信し、このブロードキャストメッセージに対する応答に基づいて、同じネットワークIDをもつNodeを特定すればよい。   Referring to FIG. 9, when Node 1 determines that the synchronization mode of the shared data to be acquired is “single mode”, Node 1 transmits a ping command to Node 2, Node 3, and Node 4 having the same network ID. In addition, when a Node having the same network ID is not known, a broadcast message is transmitted from Node 1, and a Node having the same network ID may be specified based on a response to the broadcast message.

Node1からpingコマンドを受信したNode2,Node3,Node4の各々は、所定のレスポンスをNode1に送信する。Node1は、pingコマンドの送信後、Node2,Node3,Node4のそれぞれからレスポンスを受信するまでの時間を計測し、最もレスポンスの早かったNodeを特定する。一例として、pingコマンドに対するレスポンスの順序が、Node2、Node3、Node4であったとすると、Node1は、Node2を単独モードにおける共有データの取得先として決定する。   Each of Node 2, Node 3, and Node 4 that has received the ping command from Node 1 transmits a predetermined response to Node 1. Node 1 measures the time until a response is received from each of Node 2, Node 3, and Node 4 after transmitting the ping command, and identifies the Node with the fastest response. As an example, if the order of responses to the ping command is Node2, Node3, and Node4, Node1 determines Node2 as the acquisition source of shared data in the single mode.

このように共有データの取得先を決定すると、Node1は、図10に示すように、取得対象の共有データの送信依頼をNode2に送信する。Node2は、Node1からのデータ送信依頼を受信すると、指定された共有データを読み出し、当該読み出した共有データをNode1へ順次送信する。   When the acquisition destination of the shared data is determined in this way, Node1 transmits a request for transmission of the acquisition-target shared data to Node2, as shown in FIG. When the node 2 receives the data transmission request from the node 1, the node 2 reads the specified shared data and sequentially transmits the read shared data to the node 1.

Node1は、Node2から送信される共有データを自己の共有データ保持部116(図3)に格納するとともに、共有データを管理するためのリストの内容を更新する。   Node 1 stores the shared data transmitted from Node 2 in its own shared data holding unit 116 (FIG. 3), and updates the contents of the list for managing the shared data.

以上のような一連の処理が完了すると、ネットワークシステムSYSは、上述の図11に示すような状態になる。なお、取得対象の共有データをすべて格納し終わると、Node1は、更新前リストおよび最新リストを消去または無効化する。   When the series of processes as described above is completed, the network system SYS is in a state as shown in FIG. When all the shared data to be acquired is stored, Node 1 deletes or invalidates the pre-update list and the latest list.

なお、図8に示すように取得対象の共有データが複数存在する場合には、対象の共有データを一括取得、分割取得、順次取得のいずれの方法で取得してもよい。これらの送信方法は、予め決定しておく場合の他、ネットワーク環境およびNode環境(CPUや使用頻度など)などに応じて、最適な方法を動的に決定してもよい。また、共有データを順次取得する場合の順序については、更新日時が新しい順、重要度の高い順、ユーザアクセス数が多い順などのように、共有データのデータ情報に基づいて、適切に決定してもよい。あるいは、データ取得先のNodeが独自に決定してもよい。   As shown in FIG. 8, when there are a plurality of pieces of shared data to be acquired, the target shared data may be acquired by any method of batch acquisition, divided acquisition, and sequential acquisition. In addition to the case where these transmission methods are determined in advance, an optimal method may be dynamically determined according to the network environment and the Node environment (CPU, frequency of use, etc.). In addition, the order in which shared data is acquired sequentially is determined appropriately based on the data information of the shared data, such as the most recent update date, the most important order, and the most frequently accessed user. May be. Alternatively, the node from which the data is acquired may be uniquely determined.

上述の例では、特定のコマンドに対するレスポンスの早さに基づいて、データ取得先のNodeを決定する方法について例示したが、ネットワーク環境、Node環境、ユーザアクセス状況(使用状況など)などに基づいて判断してもよい。あるいは、ユーザが手動でデータ取得先のNodeを決定してもよい。さらに、上述したような方法を複数併せて、判断してもよい。   In the above example, the method of determining the node from which data is acquired based on the speed of response to a specific command is illustrated, but the determination is made based on the network environment, the node environment, the user access status (usage status, etc.), etc. May be. Alternatively, the user may manually determine the data acquisition node. Furthermore, a plurality of methods as described above may be combined and determined.

(複数モード)
「複数モード」は、複数のNodeから取得対象の共有データを分散的に取得するモードである。
(Multiple mode)
“Multiple mode” is a mode in which shared data to be acquired is acquired in a distributed manner from a plurality of Nodes.

図12は、Nodeが保持するリストの別の一例を示す図である。図12(a)は、更新前リスト(再参加直後のリスト)の一例を示し、図12(b)は、他Nodeから取得した最新リストの一例を示す。   FIG. 12 is a diagram illustrating another example of the list held by the Node. FIG. 12A shows an example of a pre-update list (list immediately after rejoining), and FIG. 12B shows an example of the latest list acquired from another Node.

図12(b)に示す最新リストの内容は、図8(b)に示す最新リストに比較して、データBについての更新日時が変更されているものである。すなわち、図12(b)は、Node1がオフラインであった期間において、共有データとしてデータC〜データFが追加されるとともに、データBが更新された場合を示す。   The content of the latest list shown in FIG. 12B is obtained by changing the update date and time for data B as compared to the latest list shown in FIG. That is, FIG. 12B illustrates a case where data C to data F are added as shared data and data B is updated in a period in which Node1 is offline.

更新前リスト(図12(a))と最新リスト(図12(b))との差分によれば、データ名での差分により、追加されたデータC〜データFが取得対象の共有データであることが特定され、更新日時(または、サイズ)での差分により、データBが取得対象の共有データであることが特定される。   According to the difference between the pre-update list (FIG. 12A) and the latest list (FIG. 12B), the added data C to F are shared data to be acquired due to the difference in data names. The data B is specified as the acquisition target shared data based on the difference in the update date and time (or size).

図12に示す例では、取得対象の共有データの合計サイズは、3,559KBであり、その割合は35.59%となるので、上記の条件下においては「複数モード」が選択される。   In the example shown in FIG. 12, the total size of the shared data to be acquired is 3,559 KB, and the ratio is 35.59%. Therefore, “multiple mode” is selected under the above conditions.

「複数モード」が選択されると、Node1は、共有データの取得先となる複数のNodeを決定する。この取得先の候補は、同じネットワークシステムSYSに所属するすべてのNodeとすることができる。そして、これらの候補に対して、取得対象の共有データの取得先を所定の順序で候補のNodeに割当てることで、取得先を分散させることができる。   When “multiple mode” is selected, Node 1 determines a plurality of Nodes from which shared data is acquired. The acquisition destination candidates can be all Nodes belonging to the same network system SYS. For these candidates, the acquisition destinations of the acquisition target shared data can be distributed to the candidate Nodes in a predetermined order, whereby the acquisition destinations can be distributed.

特に、本実施の形態のように、取得対象の共有データの数に比較して、候補のNodeの数が多い場合には、候補のNodeのうち、以下に示すような手順に従って、より適切なものを共有データの取得先に決定することが好ましい。   In particular, when the number of candidate nodes is large compared to the number of pieces of shared data to be acquired as in the present embodiment, a more appropriate process is performed according to the procedure shown below among the candidate nodes. It is preferable to determine the source of the shared data.

まず、Node1は、最新リストの内容を並び替える。ここでの並び替えは、各データのサイズが降順となるように行なわれる。これは、取得対象の共有データのサイズに基づいて、取得先のNodeを決定するためである。   First, Node1 rearranges the contents of the latest list. The rearrangement here is performed so that the size of each data is in descending order. This is because the acquisition destination Node is determined based on the size of the shared data to be acquired.

より具体的には、所定のしきい値に基づいて、そのサイズが相対的に大きな(サイズがしきい値以上の)共有データと、そのサイズが相対的に小さな(サイズがしきい値未満の)共有データとを区別し、そのサイズが相対的に大きな共有データについては、近接したNodeからなる候補群のいずれかから取得するとともに、そのサイズが相対的に小さな共有データについては、それ以外のNode(遠隔のNode)からなる候補群のいずれかから取得する。これにより、ネットワーク負荷が大きな共有データについては、その伝送距離を相対的に小さくし、ネットワーク負荷がそれほど大きくない共有データについては、その伝送距離を相対的に大きくすることで、ネットワークシステムSYS全体での負荷バランスを調整することができる。   More specifically, based on a predetermined threshold, the shared data is relatively large (size is greater than or equal to the threshold) and the size is relatively small (size is less than the threshold). ) Distinguish from shared data, and share data with a relatively large size is obtained from one of the candidate groups consisting of adjacent Nodes. Obtained from one of candidate groups consisting of Nodes (remote Nodes). As a result, for shared data with a large network load, the transmission distance is relatively small, and for shared data with a small network load, the transmission distance is relatively large, so that the entire network system SYS The load balance can be adjusted.

なお、ネットワークにおける近接あるいは遠隔との判断は、ネットワークアドレス(ネットワークID)に基づいて行なうことができる。すなわち、Node1と同じルータRT2に接続されたNode2〜Node4については近接Nodeと判断でき、Node1と異なるルータRT3に接続されたNode5〜Node7については遠隔Nodeと判断できる。あるいは、ブロードキャストメッセージを送信し、それが到達する範囲(すなわち、ネットワークIDが同じ)にあるNodeを近接するNodeであると判断することもできる。   The determination of proximity or remote in the network can be made based on the network address (network ID). That is, Node 2 to Node 4 connected to the same router RT 2 as Node 1 can be determined as neighboring Nodes, and Node 5 to Node 7 connected to a router RT 3 different from Node 1 can be determined as remote Nodes. Alternatively, it is possible to transmit a broadcast message and determine that a node that is within a reachable range (that is, the same network ID) is a neighboring node.

図13は、図12(b)に示す最新リストの並び替え後の状態を示す図である。図13に示すリストは、図12(b)に示す最新リストをサイズに基づいて並び替えを行なったものであり、そのサイズが大きいものから順にファイルが並んでいる。なお、取得対象ではないデータAについては、並び替え対象とされない。   FIG. 13 is a diagram illustrating a state after rearrangement of the latest list illustrated in FIG. The list shown in FIG. 13 is obtained by rearranging the latest list shown in FIG. 12B based on the size, and the files are arranged in order from the largest size. Note that the data A that is not the acquisition target is not the rearrangement target.

図13に示す並び替え後の最新リストにおいて、所定のしきい値を1,000KBとすると、当該しきい値を超えているデータBおよびデータEについては、近接Node群のいずれかから取得され、その他のデータF、データC、データDについては、遠隔Node群のいずれかから取得されるように決定される。   In the latest list after rearrangement shown in FIG. 13, when the predetermined threshold is 1,000 KB, data B and data E exceeding the threshold are acquired from any of the adjacent Node groups, The other data F, data C, and data D are determined to be acquired from any of the remote node groups.

このように、近接Node群(Node2〜Node4)から取得すべきデータと、遠隔Node群(Node5〜Node7)とに区別されると、Node1は、それぞれのNode群のいずれのNodeに共有データの送信を依頼するかを決定する。より具体的には、上述の単独モードで取得先のNodeを決定したのと同様に、それぞれのNode群に含まれる各Nodeに対して、特定のコマンド(代表的に、pingコマンド)をそれぞれ送信し、そのレスポンスの早さに基づいて、各Node群から取得先を動的に決定する。   As described above, when the data to be acquired from the neighboring Node group (Node 2 to Node 4) and the remote Node group (Node 5 to Node 7) are distinguished, Node 1 transmits shared data to any Node of each Node group. Decide whether to request. More specifically, a specific command (typically, a ping command) is transmitted to each node included in each node group in the same manner as the acquisition destination node is determined in the single mode described above. And based on the speed of the response, the acquisition destination is dynamically determined from each Node group.

一例として、近接Node群におけるpingコマンドに対するレスポンスの順序が、Node2、Node3、Node4であったとすると、Node1は、近接Nodeに割当てられたデータについて、その並び順(図13)に従って、Node2をデータBの取得先に決定し、Node3をデータEの取得先にそれぞれ決定する。一方、遠隔Node群におけるpingコマンドに対するレスポンスの順序が、Node5、Node6、Node7であったとすると、Node1は、遠隔Nodeに割当てられたデータについて、その並び順に従ってそれぞれ、Node5をデータFの取得先に決定し、Node6をデータCの取得先に決定し、Node7をデータDの取得先に決定する。   As an example, assuming that the order of responses to the ping command in the neighboring Node group is Node2, Node3, and Node4, Node1 sets Node2 as data B according to the arrangement order (FIG. 13) of the data assigned to the neighboring Node. And Node3 is determined as the data E acquisition source. On the other hand, if the order of responses to the ping command in the remote Node group is Node5, Node6, and Node7, Node1 sets Node5 as the acquisition destination of data F according to the arrangement order of the data assigned to the remote Node. Then, Node 6 is determined as the acquisition destination of data C, and Node 7 is determined as the acquisition destination of data D.

上述の例では、特定のコマンドに対するレスポンスの早さに基づいて、各Node群におけるデータ取得先のNodeを決定する方法について例示したが、ネットワーク環境、Node環境、ユーザアクセス状況(使用状況など)などに基づいて判断してもよい。あるいは、ユーザが手動でデータ取得先のNodeを決定してもよい。さらに、上述したような方法を複数併せて、判断してもよい。   In the above-described example, the method for determining the node of the data acquisition destination in each Node group based on the speed of response to a specific command is exemplified, but the network environment, Node environment, user access status (usage status, etc.), etc. You may judge based on. Alternatively, the user may manually determine the data acquisition node. Furthermore, a plurality of methods as described above may be combined and determined.

図14は、複数モードにおける各Nodeへの送信依頼を行なう処理を説明するための図である。図15は、複数モードにおける各Nodeから共有データを取得する処理を説明するための図である。   FIG. 14 is a diagram for explaining processing for requesting transmission to each Node in a plurality of modes. FIG. 15 is a diagram for describing processing for acquiring shared data from each Node in a plurality of modes.

図14を参照して、上述のような処理に従って、取得対象の共有データについての取得先を決定すると、Node1は、取得先の各Nodeに対して、共有データの送信依頼を送信する。図15に示すように、データ送信依頼を受信した各Nodeは、指定された共有データを読み出し、当該読み出した共有データをNode1へ送信する。   Referring to FIG. 14, when the acquisition destination for the acquisition target shared data is determined according to the above-described processing, Node 1 transmits a shared data transmission request to each of the acquisition destination Nodes. As illustrated in FIG. 15, each Node that has received the data transmission request reads the specified shared data and transmits the read shared data to Node 1.

Node1は、取得先の各Nodeから送信される共有データを自己の共有データ保持部116(図3)に順次格納するとともに、共有データを管理するためのリストの内容を更新する。   Node 1 sequentially stores the shared data transmitted from each node of the acquisition destination in its own shared data holding unit 116 (FIG. 3), and updates the contents of the list for managing the shared data.

以上のような一連の処理が完了すると、ネットワークシステムSYSは、上述の図11に示すような状態になる。なお、取得対象の共有データをすべて格納し終わると、Node1は、更新前リストおよび最新リストを消去または無効化する。   When the series of processes as described above is completed, the network system SYS is in a state as shown in FIG. When all the shared data to be acquired is stored, Node 1 deletes or invalidates the pre-update list and the latest list.

なお、各Nodeに依頼する共有データが複数存在する場合には、対象の共有データを一括取得、分割取得、順次取得のいずれの方法で取得してもよい。   In addition, when there are a plurality of pieces of shared data requested from each node, the target shared data may be acquired by any one of collective acquisition, divided acquisition, and sequential acquisition.

また、取得先のNodeの各々に対して、対象の共有データについての送信タイミングを示す指示情報を付加したデータ送信依頼を送信してもよい。すなわち、Node1が、所定の順序に従って共有ファイルを受信できるように、各取得先のNodeからの送信タイミングを指定することもできる。このようにタイミングをずらすことで、ネットワークシステムSYSにおける、負荷の急激な上昇を抑制できる。   In addition, a data transmission request to which instruction information indicating the transmission timing of the target shared data is added may be transmitted to each of the acquisition destination Nodes. That is, it is possible to specify the transmission timing from each acquisition destination Node so that Node 1 can receive the shared file in a predetermined order. By shifting the timing in this way, it is possible to suppress a rapid increase in load in the network system SYS.

また、共有データのサイズが大きい場合には、1つの共有ファイルを複数に分割した上で、送信するように依頼してもよい。   Further, when the size of the shared data is large, it may be requested to transmit after dividing one shared file into a plurality of pieces.

(処理手順)
以上の処理をまとめると、図16に示すような処理シーケンスとして表わすことができる。
(Processing procedure)
The above processing can be summarized as a processing sequence as shown in FIG.

図16は、この発明の実施の形態に従う同期処理に係るシーケンス図である。
図16を参照して、ユーザが、ネットワークシステムSYSに再参加するようにNode1を操作する(ステップS100)と、Node1は、リスト送信依頼を作成し(ステップS102)、ネットワークシステムSYSの他Nodeへ当該作成したリスト送信依頼を送信する(ステップS104)。
FIG. 16 is a sequence diagram relating to the synchronization processing according to the embodiment of the present invention.
Referring to FIG. 16, when the user operates Node1 to rejoin the network system SYS (Step S100), Node1 creates a list transmission request (Step S102) and sends it to another Node of the network system SYS. The created list transmission request is transmitted (step S104).

このリスト送信依頼に応答して、ネットワークシステムSYSを構成する少なくとも1つのNodeは、当該Node自身が保持するリストをNode1へ送信する(ステップS106)。   In response to this list transmission request, at least one Node configuring the network system SYS transmits a list held by the Node itself to Node 1 (Step S106).

Node1は、他Nodeから送信されたリストを最新リストとして格納する(ステップS108)。同時に、Node1は、リスト送信依頼の送信タイミングで自己が保持するリストを更新前リストにコピーする。そして、Node1は、更新前リストと最新リストとの差分により取得対象の共有データを特定する(ステップS110)。さらに、Node1は、取得対象の共有データの数や合計サイズといった、データ情報などに基づいて、当該取得対象の共有データを取得する際の同期モードを決定する(ステップS112)。   Node1 stores the list transmitted from the other Node as the latest list (step S108). At the same time, Node 1 copies the list held by itself at the transmission timing of the list transmission request to the pre-update list. Then, Node 1 identifies the shared data to be acquired based on the difference between the pre-update list and the latest list (step S110). Further, Node 1 determines a synchronization mode for acquiring the acquisition target shared data based on data information such as the number of acquisition target shared data and the total size (step S112).

ステップS112において「単独モード」が選択されると、Node1は、共有データの送信依頼先の候補Nodeに対して、pingコマンドをそれぞれ送信する(ステップS120)。候補Nodeの各々は、このpingコマンドを受信すると、それに対するレスポンスをNode1へ送信する(ステップS122)。   When “single mode” is selected in step S112, Node1 transmits a ping command to each candidate node to which the shared data transmission is requested (step S120). When each candidate Node receives this ping command, it transmits a response to Node 1 (Step S122).

Node1は、pingコマンドの送信後、候補Nodeのそれぞれからレスポンスを受信するまでの時間を計測し、最もレスポンスの早かったNodeを、送信依頼先Nodeに決定する(ステップS124)。   Node 1 measures the time until a response is received from each of the candidate nodes after transmitting the ping command, and determines the node with the fastest response as the transmission request destination node (step S124).

送信依頼先Nodeの決定後、Node1は、対応の共有データを指定したデータ送信依頼を送信依頼先Nodeに送信する(ステップS126)。このデータ送信依頼に応答して、送信依頼先Nodeは、自己の保持する指定された共有データを読み出し、当該読み出した共有データをNode1へ送信する(ステップS128)。   After determining the transmission request destination Node, Node 1 transmits a data transmission request designating corresponding shared data to the transmission request destination Node (step S126). In response to this data transmission request, the transmission request destination Node reads the designated shared data held by itself and transmits the read shared data to Node 1 (step S128).

送信依頼先Nodeから共有データを受信したNode1は、当該共有データを自己の共有データ保持部116(図3)に格納する(ステップS130)。また、Node1は、共有データを管理するためのリストの内容を更新する。   The Node 1 that has received the shared data from the transmission request destination Node stores the shared data in its own shared data holding unit 116 (FIG. 3) (step S130). Node 1 updates the contents of the list for managing the shared data.

一方、ステップS112において「複数モード」が選択されると、Node1は、最新リストの内容を並び替えた後、取得対象の共有データを近接Node群および遠隔Node群の別に区分し、それぞれの群についての送信依頼先の候補Nodeを決定する(ステップS140)。さらに、Node1は、Node群の別に、共有データの送信依頼先の候補Nodeに対して、pingコマンドをそれぞれ送信する(ステップS142)。候補Nodeの各々は、このpingコマンドを受信すると、それに対するレスポンスをNode1へ送信する(ステップS144)。   On the other hand, when “multiple mode” is selected in Step S112, Node 1 sorts the contents of the latest list, and then classifies the shared data to be acquired into a proximity Node group and a remote Node group, and for each group, The candidate node of the transmission request destination is determined (step S140). Further, Node 1 transmits a ping command to each candidate node of the shared data transmission request destination for each Node group (step S142). When each candidate Node receives this ping command, it transmits a response to it to Node 1 (step S144).

Node1は、pingコマンドの送信後、候補Nodeのそれぞれからレスポンスを受信するまでの時間を計測し、Node群の別に、最もレスポンスの早かったNodeを送信依頼先Nodeにそれぞれ決定する(ステップS146)。   After transmitting the ping command, Node 1 measures the time until receiving a response from each of the candidate Nodes, and determines the node with the fastest response as the transmission request destination Node for each Node group (step S146).

送信依頼先Nodeの決定後、Node1は、対応の共有データを指定したデータ送信依頼を送信依頼先Nodeにそれぞれ送信する(ステップS148)。各々のデータ送信依頼に応答して、送信依頼先Nodeは、自己の保持する指定された共有データを読み出し、当該読み出した共有データをNode1へ送信する(ステップS150)。   After determining the transmission request destination Node, Node 1 transmits a data transmission request specifying the corresponding shared data to the transmission request destination Node, respectively (step S148). In response to each data transmission request, the transmission request destination Node reads the designated shared data held by itself, and transmits the read shared data to Node 1 (step S150).

送信依頼先Nodeからそれぞれ共有データを受信したNode1は、当該共有データを自己の共有データ保持部116(図3)に格納する(ステップS152)。また、Node1は、共有データを管理するためのリストの内容を更新する。   The Node 1 that has received the shared data from the transmission request destination Node stores the shared data in its own shared data holding unit 116 (FIG. 3) (step S152). Node 1 updates the contents of the list for managing the shared data.

(共有データ追加処理)
次に、図17を参照して、本実施の形態に従うネットワークシステムSYSで保持される共有データを追加するための処理について説明する。
(Shared data addition process)
Next, a process for adding shared data held in network system SYS according to the present embodiment will be described with reference to FIG.

以下の説明では、一例として、ネットワークシステムSYSが図5に示すような状態にある場合に、共有データとしてデータGがNode2に追加される場合について例示する。   In the following description, as an example, a case where data G is added to Node 2 as shared data when the network system SYS is in the state shown in FIG.

図17は、この発明の実施の形態に従う共有データ追加処理に係るシーケンス図である。   FIG. 17 is a sequence diagram relating to shared data addition processing according to the embodiment of the present invention.

図17を参照して、ユーザ操作などによって、Node2でデータGが生成され、またはNode2にデータGが与えられると、Node2は、当該データGを自己の共有データ保持部116(図3)に格納する(ステップS200)するとともに、共有データを管理するためのリストを更新または生成する(ステップS202)。すなわち、Node2は、自己のリストにデータGのエントリを追加する。さらに、Node2は、他のNode3〜Node7のそれぞれに対して更新メッセージを送信し(ステップS204)、共有データが追加されたことを通知する。   Referring to FIG. 17, when data G is generated at Node 2 or given to Node 2 by a user operation or the like, Node 2 stores the data G in its own shared data holding unit 116 (FIG. 3). (Step S200) and update or generate a list for managing the shared data (step S202). That is, Node 2 adds an entry for data G to its list. Furthermore, Node2 transmits an update message to each of the other Node3 to Node7 (Step S204), and notifies that shared data has been added.

この更新メッセージを受信したNode3〜Node7の各々は、当該更新されたデータの送信依頼を生成(ステップS206)し、生成したデータ送信依頼をNode2へ送信する(ステップS208)。Node2は、Node3〜Node7のいずれかからデータ送信依頼を受信すると、自己の共有データ保持部116(図3)に格納しているデータGを読み出すとともに、データGに相当するリストの差分を生成する(ステップS210)。さらに、Node2は、データ送信依頼の送信元のNode(Node3〜Node7)に対して、データGおよびリスト差分を送信する(ステップS212)。   Each of Node3 to Node7 that has received this update message generates a transmission request for the updated data (step S206), and transmits the generated data transmission request to Node2 (step S208). When Node 2 receives a data transmission request from any one of Node 3 to Node 7, Node 2 reads data G stored in its own shared data holding unit 116 (FIG. 3) and generates a difference in a list corresponding to data G. (Step S210). Furthermore, Node2 transmits the data G and the list difference to the node (Node3 to Node7) that is the transmission source of the data transmission request (step S212).

データGおよびリスト差分を受信したNode(Node3〜Node7)は、データGを自己の共有データ保持部116(図3)に格納する(ステップS214)するとともに、共有データを管理するためのリストをリスト差分に従って更新する(ステップS216)。ステップS214およびステップS216が完了した各Nodeは、データ更新完了通知をNode2に送信する(ステップS218)。   The Nodes (Node 3 to Node 7) that have received the data G and the list difference store the data G in their shared data holding unit 116 (FIG. 3) (step S214) and list the list for managing the shared data Update according to the difference (step S216). Each Node that has completed Step S214 and Step S216 transmits a data update completion notification to Node 2 (Step S218).

上述のステップS204およびステップS208において、送信Node(Node2)から受信Node(Node3〜Node7)へ更新メッセージを送信し、さらに受信Nodeから送信Nodeがデータ送信依頼を受信した場合に限って、追加された共有データの送信を開始するのは、受信Nodeが高負荷状態であったときなどのように、新たな共有データを追加できない場合に、共有データを受信Nodeに無理に送信しないためである。そのため、Node2から更新メッセージを送信した後、データ送信依頼を受信できなかった他のNodeについては、Node2が更新メッセージ送信からの経過時間を管理し、相当時間経過後もデータ送信依頼を受信できないNodeについては、Node2が更新メッセージを再送する(ステップS220)。   In step S204 and step S208 described above, an update message is transmitted from the transmission node (Node 2) to the reception nodes (Node 3 to Node 7), and is added only when the transmission node receives a data transmission request from the reception node. The transmission of the shared data is started because the shared data is not forcibly transmitted to the receiving node when new shared data cannot be added, such as when the receiving node is in a high load state. Therefore, after transmitting an update message from Node2, for other Nodes that could not receive the data transmission request, Node 2 manages the elapsed time from the transmission of the update message, and the Node that cannot receive the data transmission request even after a lapse of a corresponding time. For Node 2, the update message is retransmitted (step S220).

なお、上述のステップS220のように更新メッセージを再送する構成に代えて、Node2がすべての他Nodeからデータ送信依頼を受信するまで待ち続けるようにしてもよい。   Note that instead of the configuration in which the update message is retransmitted as in step S220 described above, the node 2 may continue to wait until it receives data transmission requests from all other nodes.

また、上述のステップS210およびS212では、Node2が追加された共有データについてのリスト差分を他Nodeへ送信する構成について例示するが、更新後のリスト、すなわちデータGが追加された後のNode2が保持するリスト自体を他Nodeへ送信するようにしてもよい。あるいは、Node2から追加されたデータGを受信する各Nodeにおいて、当該共有データについてのリストの内容を更新する場合には、リスト差分やリスト自体を送信する必要はない。本実施の形態では、共有データの重要度をリストの項目として含む構成を採用するので、このような場合には、Node2からデータGを送信する際に、当該共有データの属性情報(重要度)をデータGに付加して各Nodeへ送信すればよい。そして、データGを受信した各Nodeにおいて、データGに付加された属性情報に基づいてリストを更新すればよい。   Further, in the above-described steps S210 and S212, the configuration in which the list difference for the shared data to which Node2 has been added is transmitted to other Nodes is illustrated, but the updated list, that is, Node2 after data G has been added is retained. The list itself may be transmitted to another Node. Or in each Node which receives the data G added from Node2, when updating the content of the list about the shared data, it is not necessary to transmit the list difference or the list itself. In the present embodiment, a configuration including the importance of shared data as a list item is adopted. In such a case, when data G is transmitted from Node2, attribute information (importance) of the shared data is transmitted. May be added to the data G and transmitted to each Node. Then, the list may be updated based on the attribute information added to the data G at each Node that has received the data G.

(同期処理と共有データ追加処理との競合)
上述の同期処理についての説明では、処理中に共有データが追加されないことを前提としたが、これらの処理が競合する場合もある。すなわち、図5に示すネットワークシステムSYSにおいて、Node1が再参加した後に共有データの同期処理が実行されている状態で、図17のステップS204に示すような更新メッセージをNode1が受信した場合の処理について説明する。
(Conflict between synchronous processing and shared data addition processing)
In the above description of the synchronization process, it is assumed that no shared data is added during the process, but these processes may conflict. That is, in the network system SYS shown in FIG. 5, processing when Node 1 receives an update message as shown in step S <b> 204 in FIG. 17 in a state where shared data synchronization processing is executed after Node 1 rejoins. explain.

このように競合した場合の処理の例として、Node1は、更新メッセージ受信前に取得していた更新前リストおよび最新リストに基づいて、共有データの同期処理を完了させた後、図17のステップS208に示すようなデータ送信依頼をNode1に送信する。Node2からはリスト差分が送信されるので、Node1は当該リスト差分に基づいて、必要な共有データを取得する。   As an example of processing in the case of such a conflict, Node 1 completes the shared data synchronization processing based on the pre-update list and the latest list acquired before receiving the update message, and then step S208 in FIG. A data transmission request as shown in FIG. Since the list difference is transmitted from Node 2, Node 1 acquires necessary shared data based on the list difference.

このように競合した場合の処理の別の例として、Node1は、更新メッセージを受信すると、可能な限り早い時期にデータ送信依頼をNode2に送信する。そして、Node1は、更新メッセージ受信前に取得していた一時リストと、Node2から受信するリスト差分とに基づいて、必要な共有データを並行的に取得する。このとき、ネットワークの状況やデータ送信依頼先のNodeの負荷状況に応じて、他Nodeに送信依頼するデータ量を調整することが好ましい。また、リスト差分に基づいて一時リストを更新した上で、共有データの取得を行なう場合には、更新後の一時リストをさらに並び替えて、送信依頼先を再決定することが好ましい。   As another example of processing in the case of contention in this way, Node 1 transmits a data transmission request to Node 2 as soon as possible when it receives an update message. And Node1 acquires required shared data in parallel based on the temporary list acquired before receiving the update message and the list difference received from Node2. At this time, it is preferable to adjust the amount of data requested to be transmitted to another node according to the network status and the load status of the data transmission request destination node. In addition, when the shared data is acquired after updating the temporary list based on the list difference, it is preferable to rearrange the updated temporary list and re-determine the transmission request destination.

なお、上述したように、共有データの追加処理において、リスト自体が送信される場合には、何らかの共有データが追加された場合に、最新のリストが配布されるので、図16のステップS102およびS104に示すようなリスト送信依頼の作成および送信を不要としてもよい。このように処理を削減することで、より効率を高めることができる。   As described above, in the process of adding shared data, when the list itself is transmitted, the latest list is distributed when any shared data is added, so steps S102 and S104 in FIG. The creation and transmission of a list transmission request as shown in FIG. By reducing the processing in this way, the efficiency can be further increased.

(実施の形態における効果)
この発明の実施の形態によれば、複数の情報処理装置の間で共有データを同期しているネットワークシステムに対して、情報処理装置が参加した場合に、同期するために取得すべき共有データに応じて、その取得先の情報処理装置を単一または複数のいずれかに動的に決定できる。単一の情報処理装置から共有データを取得する場合には、迅速に同期処理を完了させることができる一方、複数の情報処理装置から共有データを取得する場合には、ネットワークシステムおける同期処理に係る負荷の集中を回避できる。そのため、特定の情報処理装置に同期処理に係る負荷が集中することを回避できる。
(Effect in embodiment)
According to an embodiment of the present invention, when an information processing apparatus participates in a network system that synchronizes shared data among a plurality of information processing apparatuses, the shared data to be acquired for synchronization is added. In response, the information processing apparatus as the acquisition destination can be dynamically determined to be either single or plural. When acquiring shared data from a single information processing device, the synchronization process can be completed quickly, whereas when acquiring shared data from a plurality of information processing devices, it is related to the synchronization processing in the network system. The load concentration can be avoided. Therefore, it is possible to avoid the load related to the synchronization process from being concentrated on a specific information processing apparatus.

また、この発明の実施の形態によれば、共有データのサイズといったデータ情報に基づいて、相対的に大きなサイズの共有データは、共有データを必要とする情報処理装置から近接する情報処理装置から取得する一方で、相対的に小さなサイズの共有データは、共有データを必要とする情報処理装置から離れた情報処理装置から取得する。これにより、ネットワークシステム全体としての負荷バランスを調整することができる。   Further, according to the embodiment of the present invention, based on data information such as the size of shared data, relatively large size shared data is acquired from an information processing apparatus adjacent to the information processing apparatus that requires the shared data. On the other hand, relatively small-sized shared data is acquired from an information processing apparatus that is remote from the information processing apparatus that requires the shared data. Thereby, the load balance as the whole network system can be adjusted.

[実施の形態の第1変形例]
上述の実施の形態では、取得対象の共有データの数などに基づいて、同期モードを決定する構成について例示したが、以下では、この同期モードの決定に際して、ネットワークシステムSYSの状態を考慮する構成について例示する。なお、この発明の実施の形態の第1変形例に従うネットワークシステムSYSの概略構成は、図1と同様であり、情報処理装置PCのハードウェア構成および制御構造は、それぞれ図2および図3と同様であるので、詳細な説明は繰返さない。
[First Modification of Embodiment]
In the above-described embodiment, the configuration in which the synchronization mode is determined based on the number of shared data to be acquired and the like is illustrated. However, in the following, the configuration in which the state of the network system SYS is taken into account when determining the synchronization mode. Illustrate. The schematic configuration of network system SYS according to the first modification of the embodiment of the present invention is the same as that of FIG. 1, and the hardware configuration and control structure of information processing apparatus PC are the same as those of FIGS. Therefore, detailed description will not be repeated.

本第1変形例では、上述の実施の形態と同様に、Node1がネットワークシステムSYSに再参加すると、Node1は、更新前リスト136および最新リスト138を取得する(図7と同様)。   In the first modification, as in the above-described embodiment, when Node 1 rejoins the network system SYS, Node 1 acquires the pre-update list 136 and the latest list 138 (similar to FIG. 7).

図7に示すような状態になった後、Node1は、ネットワークシステムSYSを構成するすべてのNodeに対して、pingコマンドをそれぞれ送信する。そして、Node1は、pingコマンドの送信後に各Nodeからレスポンスを受信するまでの応答時間をそれぞれ計測する。なお、レスポンスのデータ量はいずれも同一であるとする。   After the state shown in FIG. 7 is reached, Node 1 transmits a ping command to all the Nodes constituting the network system SYS. And Node1 measures the response time until it receives a response from each Node after transmission of a ping command, respectively. It is assumed that the amount of response data is the same.

Node1は、この計測した各Nodeについての応答時間が、予め定めた目標値未満であれば、同期モードを「単独モード」に決定する。そして、その応答時間が最も小さいNodeを共有データの送信依頼先に指定する。それ以外の場合には、同期モードが「複数モード」に決定される。   If the measured response time for each Node is less than a predetermined target value, Node 1 determines the synchronization mode as “single mode”. Then, the node having the shortest response time is designated as the shared data transmission request destination. In other cases, the synchronization mode is determined as “multiple modes”.

その他の処理については、上述の実施の形態と同様であるので、詳細な説明は繰返さない。   Since other processes are the same as those in the above-described embodiment, detailed description will not be repeated.

この発明の実施の形態の第1変形例によれば、ネットワークシステムSYSの状態をより反映して、同期モードおよび送信依頼先を決定できる。   According to the first modification of the embodiment of the present invention, the synchronization mode and the transmission request destination can be determined more reflecting the state of the network system SYS.

[実施の形態の第2変形例]
上述の実施の形態では、取得対象の共有データの数などに基づいて、同期モードを決定する構成について例示したが、以下では、この同期モードの決定に際して、ネットワークシステムSYSの状態を考慮する構成について例示する。なお、この発明の実施の形態の第2変形例に従うネットワークシステムSYSの概略構成は、図1と同様であり、情報処理装置PCのハードウェア構成および制御構造は、それぞれ図2および図3と同様であるので、詳細な説明は繰返さない。
[Second Modification of Embodiment]
In the above-described embodiment, the configuration in which the synchronization mode is determined based on the number of shared data to be acquired and the like is illustrated. However, in the following, the configuration in which the state of the network system SYS is taken into account when determining the synchronization mode. Illustrate. The schematic configuration of network system SYS according to the second modification of the embodiment of the present invention is the same as that in FIG. 1, and the hardware configuration and control structure of information processing apparatus PC are the same as those in FIGS. 2 and 3, respectively. Therefore, detailed description will not be repeated.

本第2変形例では、上述の実施の形態と同様に、Node1がネットワークシステムSYSに再参加すると、Node1は、更新前リスト136および最新リスト138を取得する(図7と同様)。   In the second modification, as in the above-described embodiment, when Node 1 rejoins the network system SYS, Node 1 acquires the pre-update list 136 and the latest list 138 (similar to FIG. 7).

図7に示すような状態になった後、Node1は、ネットワークシステムSYSを構成するすべてのNodeに対して、pingコマンドをそれぞれ送信する。このとき、pingコマンドには、所定のデータ量のレスポンスを返信するような指令を付加しておく。そして、Node1は、pingコマンドの送信後に各Nodeからレスポンスを受信するまでの応答時間をそれぞれ計測する。さらに、Node1は、ネットワークシステムSYSにおけるNode1と各Nodeとの間のデータ伝送速度(代表的に、Bit/sec)を算出する。すなわち、レスポンスのデータ量がB[Bit]であり、対応する応答時間がt[sec]とした場合に、Node1は、データ伝送速度=B/tの関係式に従って、それぞれのデータ伝送速度をそれぞれ算出する。   After the state shown in FIG. 7 is reached, Node 1 transmits a ping command to all the Nodes constituting the network system SYS. At this time, a command for returning a response of a predetermined data amount is added to the ping command. And Node1 measures the response time until it receives a response from each Node after transmission of a ping command, respectively. Furthermore, Node1 calculates the data transmission rate (typically Bit / sec) between Node1 and each Node in the network system SYS. That is, when the response data amount is B [Bit] and the corresponding response time is t [sec], the Node 1 sets the respective data transmission rates according to the relational expression of data transmission rate = B / t, respectively. calculate.

続いて、Node1は、取得対象の共有データの合計サイズ(図8参照)をデータ伝送速度で除算して、Node1と各Nodeとの間で、取得対象の全共有データの取得に要する見込時間をそれぞれ算出する。そして、Node1は、各Nodeについての見込時間を予め定めた目標取得完了時間と比較し、いずれかのNodeについての見込時間が目標取得完了時間未満であれば、同期モードを「単独モード」に決定する。そして、その見込時間が最も小さいNodeを共有データの送信依頼先に指定する。   Next, Node 1 divides the total size of the shared data to be acquired (see FIG. 8) by the data transmission rate, and calculates the expected time required to acquire all the shared data to be acquired between Node 1 and each Node. Calculate each. Then, Node 1 compares the expected time for each Node with a predetermined target acquisition completion time, and if the expected time for any Node is less than the target acquisition completion time, the synchronization mode is determined as “single mode”. To do. Then, the node with the shortest expected time is designated as the shared data transmission request destination.

一方、Node1は、いずれのNodeについての見込時間も目標取得完了時間以上であれば、同期モードを「複数モード」に決定する。そして、Node1は、全共有データの取得に要する時間が目標取得完了時間内に収まるように、取得対象データの送信依頼先を分散して決定する。   On the other hand, if the expected time for any Node is equal to or longer than the target acquisition completion time, Node 1 determines the synchronization mode as “multiple modes”. Then, Node 1 determines the transmission request destinations of the acquisition target data in a distributed manner so that the time required for acquisition of all shared data falls within the target acquisition completion time.

その他の処理については、上述の実施の形態と同様であるので、詳細な説明は繰返さない。   Since other processes are the same as those in the above-described embodiment, detailed description will not be repeated.

この発明の実施の形態の第2変形例によれば、ネットワークシステムSYSの状態をより反映して、同期モードおよび送信依頼先を決定できる。   According to the second modification of the embodiment of the present invention, the synchronization mode and the transmission request destination can be determined more reflecting the state of the network system SYS.

[実施の形態の第3変形例]
再参加したNodeがオフラインであった期間に追加または変更される共有データの数は、当該オフラインの期間に略比例する可能性が高い。そのため、いずれかのNodeがネットワークシステムに再参加した場合には、その再参加する直前のオフライン期間の長さに基づいて、同期モードを決定してもよい。
[Third Modification of Embodiment]
There is a high possibility that the number of shared data added or changed during a period in which the rejoined Node is offline is substantially proportional to the offline period. Therefore, when any node rejoins the network system, the synchronization mode may be determined based on the length of the offline period immediately before the rejoining.

すなわち、オフライン期間が長くなるほど、取得対象の共有ファイルは増加する可能性が高いので、このような場合には、同期モードとして「複数モード」を選択することが好ましい。   That is, the longer the offline period, the higher the possibility that the number of shared files to be acquired will increase. In such a case, it is preferable to select “multiple modes” as the synchronization mode.

そこで、各Nodeは、ネットワークシステムから離脱してから時間計測を開始し、ネットワークシステムに再参加した時点での時間(オフライン期間の長さ)が所定のしきい時間未満であれば、同期モードを「単独モード」に決定する。それ以外の場合には、同期モードは「複数モード」に決定される。   Therefore, each Node starts time measurement after leaving the network system, and if the time at the time of rejoining the network system (the length of the offline period) is less than the predetermined threshold time, the synchronization mode is set. Decide on “Single mode”. In other cases, the synchronization mode is determined as “multiple mode”.

その他の処理については、上述の実施の形態と同様であるので、詳細な説明は繰返さない。   Since other processes are the same as those in the above-described embodiment, detailed description will not be repeated.

この発明の実施の形態の第3変形例によれば、Nodeのネットワークシステムへの再参加時に、同期モードを迅速に決定できる。   According to the third modification of the embodiment of the present invention, the synchronization mode can be quickly determined when the Node rejoins the network system.

[実施の形態の第4変形例]
上述の実施の形態では、取得対象の共有データの数に基づいて、同期モードを決定する構成について例示したが、複数の項目から総合的に判断してもよい。
[Fourth Modification of Embodiment]
In the above-described embodiment, the configuration in which the synchronization mode is determined based on the number of pieces of shared data to be acquired has been illustrated, but it may be comprehensively determined from a plurality of items.

具体的には、取得対象のデータのデータ情報の各項目に対して重み付けを行なった上でその総和を計算し、その総和が所定のしきい値未満であれば、同期モードを「単独モード」に決定し、それ以外の場合には、同期モードを「複数モード」に決定する。   Specifically, each item of data information of the data to be acquired is weighted and then the sum is calculated. If the sum is less than a predetermined threshold, the synchronization mode is set to “single mode”. In other cases, the synchronization mode is determined as “multiple modes”.

このような重み付け計算の具体例としては、各共有データの重要度、各共有データに対するユーザアクセス数(アクセス数が多いほど値が大きい)、各共有データの更新日時(更新日が新しいほど値が大きい)などが挙げられる。   Specific examples of such weighting calculations include the importance of each shared data, the number of user accesses to each shared data (the value increases as the number of accesses increases), the update date / time of each shared data (the value increases as the update date is newer) Large).

この発明の実施の形態の第4変形例によれば、取得対象の共有データを総合的に勘案して、同期モードを決定できる。   According to the fourth modified example of the embodiment of the present invention, the synchronization mode can be determined in consideration of the shared data to be acquired.

[実施の形態の第5変形例]
上述の実施の形態では、オフラインであったNodeがネットワークシステムに再参加した時点で同期モードが一旦決定されると、その同期モードに従って同期処理が実行される構成について例示した。しかしながら、「単独モード」が選択された後、ネットワーク環境やNode環境などが変化し、共有データの送信依頼先のNodeでの負荷が増大した場合などには、同期処理を他のNodeに分散させることが好ましい。
[Fifth Modification of Embodiment]
In the above-described embodiment, the configuration in which the synchronization process is executed according to the synchronization mode once the synchronization mode is determined once the offline Node rejoins the network system has been illustrated. However, after the “single mode” is selected, when the network environment or the Node environment changes and the load on the node to which the shared data is requested is increased, the synchronization process is distributed to other Nodes. It is preferable.

具体的には、共有データの送信依頼先のNode自身が共有データの送信を適切に実行できないと判断すると、依頼内容の一部を他のNodeへ転送し、当該転送先のNodeが当該依頼内容に従って、共有データの送信を継続する。なお、転送される依頼内容には、共有データの特定情報および共有データの送信先が含まれる。   Specifically, when the Node that is the transmission destination of shared data determines that the shared data cannot be properly transmitted, a part of the request content is transferred to another Node, and the Node of the transfer destination is the content of the request. To continue sending shared data. It should be noted that the request contents to be transferred include the specific information of the shared data and the transmission destination of the shared data.

あるいは、共有データの送信を依頼したNodeが、依頼先からの共有データの送信に要する時間を監視しておき、送信に要する時間が所定のしきい値を超過した場合には、データ送信依頼を他のNodeへ再送信する。なお、データ送信依頼を再送信する先のNodeは、pingコマンドに対するレスポンスなどに基づいて決定することができる。   Alternatively, the Node that requested the transmission of the shared data monitors the time required for transmitting the shared data from the request destination, and if the time required for the transmission exceeds a predetermined threshold, the node sends a data transmission request. Retransmit to another Node. Note that the Node to which the data transmission request is retransmitted can be determined based on a response to the ping command or the like.

この発明の実施の形態の第5変形例によれば、ネットワークシステムの状況の変化に応じて、適切に同期モードを決定できる。   According to the fifth modification of the embodiment of the present invention, the synchronization mode can be appropriately determined according to the change in the status of the network system.

[その他の実施の形態]
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
[Other embodiments]
The program according to the present invention may be a program module that is provided as part of an operating system (OS) of a computer and that calls necessary modules in a predetermined arrangement at a predetermined timing to execute processing. . In that case, the program itself does not include the module, and the process is executed in cooperation with the OS. A program that does not include such a module can also be included in the program according to the present invention.

また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。   The program according to the present invention may be provided by being incorporated in a part of another program. Even in this case, the program itself does not include the module included in the other program, and the process is executed in cooperation with the other program. Such a program incorporated in another program can also be included in the program according to the present invention.

提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。   The provided program product is installed in a program storage unit such as a hard disk and executed. Note that the program product includes the program itself and a storage medium in which the program is stored.

さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。   Furthermore, part or all of the functions realized by the program according to the present invention may be configured by dedicated hardware.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

この発明の実施の形態に従うネットワークシステムの概略構成図である。1 is a schematic configuration diagram of a network system according to an embodiment of the present invention. この発明の実施の形態に従う情報処理装置の代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。It is a schematic diagram showing a schematic hardware configuration of a personal computer that is a representative example of the information processing apparatus according to the embodiment of the present invention. この発明の実施の形態に従う情報処理装置における制御構造を示す概略図である。It is the schematic which shows the control structure in the information processing apparatus according to embodiment of this invention. Node1が離脱する直前のネットワークシステムの状態を示す図である。It is a figure which shows the state of the network system just before Node1 leaves | separates. Node1が再参加した直後のネットワークシステムの状態を示す図である。It is a figure which shows the state of the network system immediately after Node1 rejoins. Node1が再参加した直後に実行される処理を示す図である。It is a figure which shows the process performed immediately after Node1 rejoins. 図6に示す処理の実行後におけるネットワークシステムの状態を示す図である。It is a figure which shows the state of the network system after execution of the process shown in FIG. Node1が保持するリストの一例を示す図である。It is a figure which shows an example of the list | wrist which Node1 hold | maintains. 単独モードにおける共有データの取得先を決定するための処理を説明するための図である。It is a figure for demonstrating the process for determining the acquisition destination of the shared data in single mode. 単独モードにおける共有データ取得中の処理を説明するための図である。It is a figure for demonstrating the process in the shared data acquisition in single mode. 単独モードにおける共有データの取得処理が完了した状態を示す図である。It is a figure which shows the state which the acquisition process of the shared data in single mode completed. Nodeが保持するリストの別の一例を示す図である。It is a figure which shows another example of the list | wrist hold | maintained by Node. 図12(b)に示す最新リストの並び替え後の状態を示す図である。It is a figure which shows the state after rearrangement of the newest list shown in FIG.12 (b). 複数モードにおける各Nodeへの送信依頼を行なう処理を説明するための図である。It is a figure for demonstrating the process which performs the transmission request to each Node in multiple modes. 複数モードにおける各Nodeから共有データを取得する処理を説明するための図である。It is a figure for demonstrating the process which acquires shared data from each Node in multiple modes. この発明の実施の形態に従う同期処理に係るシーケンス図である。It is a sequence diagram concerning the synchronization processing according to the embodiment of the present invention. この発明の実施の形態に従う共有データ追加処理に係るシーケンス図である。It is a sequence diagram concerning the shared data addition processing according to the embodiment of the present invention.

符号の説明Explanation of symbols

102 データ受信部、104 データ解析部、106 データ操作部、108 リスト管理部、110 認証部、112 ネットワーク申請部、114 接続テーブル管理部、116 共有データ保持部、118 モード判断部、120 データ格納部、122 データ作成部、124 データ送信部、132 接続テーブル、134 リスト、136 更新前リスト、138 最新リスト、200 CPU、202 内部バス、204 ディスプレイ部、206 ネットワークインターフェイス(I/F)部、208 入力部、210 ハードディスク部、212 メモリ部、214 CD−ROMドライブ、216 フレキシブルディスクドライブ、NW ネットワーク、PC,PC1〜PC7 情報処理装置、RT1,RT2,RT3 ルータ、SYS ネットワークシステム。   102 data reception unit, 104 data analysis unit, 106 data operation unit, 108 list management unit, 110 authentication unit, 112 network application unit, 114 connection table management unit, 116 shared data holding unit, 118 mode determination unit, 120 data storage unit 122 data creation unit, 124 data transmission unit, 132 connection table, 134 list, 136 list before update, 138 latest list, 200 CPU, 202 internal bus, 204 display unit, 206 network interface (I / F) unit, 208 input Section, 210 hard disk section, 212 memory section, 214 CD-ROM drive, 216 flexible disk drive, NW network, PC, PC1 to PC7 information processing apparatus, RT1, RT2, RT3 router, SYS Network system.

Claims (15)

互いにデータ通信可能な複数の情報処理装置の間で共有データを同期して保持するための共有データの同期方法であって、
前記共有データを同期すべき情報処理装置が、当該同期する際の状況を判断するステップと、
前記共有データを同期すべき情報処理装置が、前記判断した状況に応じて、取得対象の共有データを1つの他の情報処理装置のみから取得する第1のモードと、前記取得対象の共有データを複数の他の情報処理装置から分散的に取得する第2のモードとのいずれかを選択し、取得先の情報処理装置を決定するステップと、
前記共有データを同期すべき情報処理装置が、取得先として決定した情報処理装置から前記取得対象の共有データを取得するステップとを含む、共有データの同期方法。
A shared data synchronization method for synchronizing and holding shared data between a plurality of information processing devices capable of data communication with each other,
An information processing device that is to synchronize the shared data, and determining a situation when the information is synchronized;
A first mode in which the information processing apparatus to synchronize the shared data acquires the acquisition target shared data only from one other information processing apparatus according to the determined situation, and the acquisition target shared data. Selecting one of the second modes acquired in a distributed manner from a plurality of other information processing devices, and determining an information processing device as an acquisition destination;
A method of synchronizing shared data, comprising: an information processing device that is to synchronize the shared data, acquiring the acquired shared data from an information processing device that has been determined as an acquisition destination.
前記情報処理装置は、前記共有データに加えて、当該共有データを管理するためのリストを保持しており、
前記共有データの同期方法は、前記共有データを同期すべき情報処理装置が、他の情報処理装置から前記リストを取得するステップをさらに含み、
前記状況を判断するステップでは、前記取得したリストの内容に基づいて前記状況が判断される、請求項1に記載の共有データの同期方法。
The information processing apparatus holds a list for managing the shared data in addition to the shared data,
The method for synchronizing the shared data further includes a step in which an information processing device to synchronize the shared data acquires the list from another information processing device,
The shared data synchronization method according to claim 1, wherein in the step of determining the situation, the situation is determined based on the contents of the acquired list.
前記状況を判断するステップでは、前記共有データを同期すべき情報処理装置が保持していた前記リストと他の情報処理装置から取得したリストとの差分に基づいて、前記取得対象の共有データが決定される、請求項2に記載の共有データの同期方法。   In the step of determining the situation, the shared data to be acquired is determined based on a difference between the list held by the information processing apparatus to which the shared data is to be synchronized and a list acquired from another information processing apparatus. The method for synchronizing shared data according to claim 2. 前記第1のモードと前記第2のモードとの選択は、前記取得対象の共有データのサイズに基づいて行われる、請求項3に記載の共有データの同期方法。   4. The shared data synchronization method according to claim 3, wherein the selection between the first mode and the second mode is performed based on a size of the shared data to be acquired. 前記状況を判断するステップでは、他の情報処理装置からのレスポンスの時間の大きさに基づいて前記状況が判断される、請求項1〜4のいずれか1項に記載の共有データの同期方法。   5. The shared data synchronization method according to claim 1, wherein, in the step of determining the situation, the situation is determined based on a response time from another information processing apparatus. 前記状況を判断するステップでは、他の情報処理装置からのレスポンスのデータ伝送速度の大きさに基づいて前記状況が判断される、請求項1〜5のいずれか1項に記載の共有データの同期方法。   The shared data synchronization according to claim 1, wherein in the step of determining the situation, the situation is determined based on a data transmission rate of a response from another information processing apparatus. Method. 前記複数の情報処理装置は、ネットワークを構成しており、
前記状況を判断するステップでは、前記共有データを同期すべき情報処理装置が前記ネットワークから離脱していた期間の長さに基づいて前記状況が判断される、請求項1〜6のいずれか1項に記載の共有データの同期方法。
The plurality of information processing devices constitutes a network,
The step of determining the situation determines the situation based on a length of a period during which an information processing apparatus that should synchronize the shared data has left the network. The shared data synchronization method described in 1.
前記取得先の情報処理装置を決定するステップでは、前記第1のモードが選択された場合に、候補の情報処理装置のうち最もレスポンスが早いものが前記取得先の情報処理装置として決定される、請求項1〜7のいずれか1項に記載の共有データの同期方法。   In the step of determining the information processing apparatus as the acquisition destination, when the first mode is selected, the candidate information processing apparatus with the fastest response is determined as the information processing apparatus as the acquisition destination. The method for synchronizing shared data according to claim 1. 前記取得先の情報処理装置を決定するステップでは、通信経路上において前記共有データを同期すべき情報処理装置に近接する情報処理装置を候補として、前記取得先の情報処理装置が決定される、請求項1〜8のいずれか1項に記載の共有データの同期方法。   In the step of determining the information processing apparatus of the acquisition destination, the information processing apparatus of the acquisition destination is determined with information processing apparatuses close to the information processing apparatus that should synchronize the shared data on a communication path as candidates. Item 9. The shared data synchronization method according to any one of Items 1 to 8. 前記取得先の情報処理装置を決定するステップでは、前記第2のモードが選択された場合に、通信経路上において前記共有データを同期すべき情報処理装置に近接する情報処理装置からなる候補群と、それ以外の情報処理装置からなる候補群とに区別した上で、前記取得対象の共有データのデータ情報に応じて、各共有データの取得先が情報処理装置をいずれか一方の候補群から選択される、請求項1〜9のいずれか1項に記載の共有データの同期方法。   In the step of determining the information processing apparatus as the acquisition destination, when the second mode is selected, a candidate group consisting of information processing apparatuses close to the information processing apparatus that is to synchronize the shared data on the communication path; In addition to distinguishing it from a candidate group consisting of other information processing devices, the acquisition source of each shared data selects an information processing device from one of the candidate groups according to the data information of the shared data to be acquired The shared data synchronization method according to claim 1, wherein the shared data synchronization method is performed. 前記共有データを同期すべき情報処理装置に近接する情報処理装置は、前記共有データを同期すべき情報処理装置からのブロードキャストメッセージが到達可能な情報処理装置を含む、請求項9または10に記載の共有データの同期方法。   The information processing device close to the information processing device to synchronize the shared data includes an information processing device to which a broadcast message from the information processing device to synchronize the shared data can be reached. How to synchronize shared data. 前記情報処理装置の各々は、ネットワーク番号およびホスト番号からなるネットワークアドレスを有しており、
前記共有データを同期すべき情報処理装置に近接する情報処理装置は、前記共有データを同期すべき情報処理装置のネットワーク番号と同じネットワーク番号を有する情報処理装置を含む、請求項9〜11のいずれか1項に記載の共有データの同期方法。
Each of the information processing devices has a network address composed of a network number and a host number,
The information processing apparatus close to the information processing apparatus to synchronize the shared data includes an information processing apparatus having the same network number as the network number of the information processing apparatus to synchronize the shared data. 2. The shared data synchronization method according to claim 1.
前記共有データを同期すべき情報処理装置が、取得した共有データを自己の記憶部に格納するとともに、前記リストの内容を更新するステップをさらに含む、請求項1〜12のいずれか1項に記載の共有データの同期方法。   The information processing apparatus to which the shared data is to be synchronized further includes a step of storing the acquired shared data in its own storage unit and updating the contents of the list. How to sync your shared data. 互いにデータ通信可能に接続された複数の情報処理装置の間で共有データを同期するためのプログラムであって、
前記プログラムは、前記情報処理装置に、
前記共有データを同期すべき場合に、その際の状況を判断するステップと、
前記判断した状況に応じて、取得対象の共有データを1つの他の情報処理装置のみから取得する第1のモードと、前記取得対象の共有データを複数の他の情報処理装置から分散的に取得する第2のモードとのいずれかを選択し、取得先の情報処理装置を決定するステップと、
取得先として決定した情報処理装置から前記取得対象の共有データを取得するステップとを実行させる、共有データを同期するためのプログラム。
A program for synchronizing shared data between a plurality of information processing devices connected to each other so that data communication is possible,
The program is stored in the information processing apparatus.
Determining the situation at the time when the shared data is to be synchronized;
According to the determined situation, a first mode in which the acquisition target shared data is acquired from only one other information processing apparatus, and the acquisition target shared data is acquired in a distributed manner from a plurality of other information processing apparatuses. Selecting any one of the second modes to be performed, and determining an information processing apparatus as an acquisition destination;
A program for synchronizing shared data, causing the information processing apparatus determined as an acquisition destination to execute the step of acquiring the acquisition-target shared data.
互いにデータ通信可能な複数の情報処理装置の間で共有データを同期して保持可能なネットワークシステムであって、
前記共有データを同期すべき情報処理装置は、
前記共有データを同期する際の状況を判断する手段と、
前記判断した状況に応じて、取得対象の共有データを1つの他の情報処理装置のみから取得する第1のモードと、前記取得対象の共有データを複数の他の情報処理装置から分散的に取得する第2のモードとのいずれかを選択し、取得先の情報処理装置を決定する手段と、
取得先として決定した情報処理装置から前記取得対象の共有データを取得する手段とを含む、共有データを同期して保持可能なネットワークシステム。
A network system capable of holding shared data synchronously among a plurality of information processing devices capable of data communication with each other,
An information processing apparatus that synchronizes the shared data is:
Means for determining a situation when synchronizing the shared data;
According to the determined situation, a first mode in which the acquisition target shared data is acquired from only one other information processing apparatus, and the acquisition target shared data is acquired in a distributed manner from a plurality of other information processing apparatuses. Selecting a second mode to determine, and determining an information processing apparatus as an acquisition destination;
A network system capable of holding shared data synchronously, including means for acquiring the shared data to be acquired from an information processing apparatus determined as an acquisition destination.
JP2008073802A 2008-03-21 2008-03-21 Synchronization method for shared data, program for synchronizing shared data, and network system for synchronizing shared data to be held Withdrawn JP2009230369A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008073802A JP2009230369A (en) 2008-03-21 2008-03-21 Synchronization method for shared data, program for synchronizing shared data, and network system for synchronizing shared data to be held

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008073802A JP2009230369A (en) 2008-03-21 2008-03-21 Synchronization method for shared data, program for synchronizing shared data, and network system for synchronizing shared data to be held

Publications (1)

Publication Number Publication Date
JP2009230369A true JP2009230369A (en) 2009-10-08

Family

ID=41245697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008073802A Withdrawn JP2009230369A (en) 2008-03-21 2008-03-21 Synchronization method for shared data, program for synchronizing shared data, and network system for synchronizing shared data to be held

Country Status (1)

Country Link
JP (1) JP2009230369A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196226A (en) * 2012-03-16 2013-09-30 Fujitsu Ltd Data synchronizing method and server device
JP2014021778A (en) * 2012-07-19 2014-02-03 Mitsubishi Electric Corp Synchronization processing method for update processing to shared data, data sharing system and data sharing program
JPWO2014006713A1 (en) * 2012-07-04 2016-06-02 富士通株式会社 System, information processing apparatus, acquisition method, and acquisition program
JP2016527635A (en) * 2013-07-25 2016-09-08 ドロップボックス, インコーポレイテッド Prioritizing content item synchronization based on sharing
JPWO2014076878A1 (en) * 2012-11-19 2017-01-05 日本電気株式会社 Data sharing system
CN113848743A (en) * 2021-09-30 2021-12-28 珠海格力电器股份有限公司 Time sharing method, device and equipment in ad hoc network

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196226A (en) * 2012-03-16 2013-09-30 Fujitsu Ltd Data synchronizing method and server device
JPWO2014006713A1 (en) * 2012-07-04 2016-06-02 富士通株式会社 System, information processing apparatus, acquisition method, and acquisition program
JP2014021778A (en) * 2012-07-19 2014-02-03 Mitsubishi Electric Corp Synchronization processing method for update processing to shared data, data sharing system and data sharing program
JPWO2014076878A1 (en) * 2012-11-19 2017-01-05 日本電気株式会社 Data sharing system
JP2016527635A (en) * 2013-07-25 2016-09-08 ドロップボックス, インコーポレイテッド Prioritizing content item synchronization based on sharing
US11468013B2 (en) 2013-07-25 2022-10-11 Dropbox, Inc. Prioritizing content item synchronization based on sharing
CN113848743A (en) * 2021-09-30 2021-12-28 珠海格力电器股份有限公司 Time sharing method, device and equipment in ad hoc network
CN113848743B (en) * 2021-09-30 2023-09-26 珠海格力电器股份有限公司 Time sharing method, device and equipment in ad hoc network

Similar Documents

Publication Publication Date Title
JP5498594B2 (en) Consistency within the federation infrastructure
RU2490809C2 (en) System and method of transmitting file from multiple sources in instant messaging
JP5567683B2 (en) Method and apparatus for locating services in a peer-to-peer network
US7958195B2 (en) Method and apparatus for improving data transfers in peer-to-peer networks
JP4915848B2 (en) Computer program for sending and receiving peer-to-peer files over an overlay network
JP4755683B2 (en) Method, apparatus, and program for efficiently extending a peer-to-peer (P2P) network
JP2007519375A (en) How to improve peer-to-peer network communication
JP2005275937A (en) P2p network system
KR20120018178A (en) Swarm-based synchronization over a network of object stores
JP2009230369A (en) Synchronization method for shared data, program for synchronizing shared data, and network system for synchronizing shared data to be held
Nordström et al. Haggle: Opportunistic mobile content sharing using search
CN101640623A (en) Method and equipment for searching resource in peer-to-peer network
JP4635615B2 (en) Information processing apparatus, system, data synchronization method, and program
JP4472001B2 (en) Zone-based peer-to-peer communication
JP4335907B2 (en) Method and apparatus for mobility churn processing for a peer-to-peer lookup system
CA2595438C (en) Method for improving peer to peer network communication
US20080307045A1 (en) Method, system and apparatus for managing directory information
Hofstätter et al. Chordella-a hierarchical peer-to-peer overlay implementation for heterogeneous, mobile environments
JP2008140388A (en) Superpeer having load balancing function in hierarchical peer-to-peer system, and method for operating superpeer
JP2005321922A (en) Information sharing system and information sharing program
JP5673268B2 (en) Communication device and program
JP2009230686A (en) Content management server and content management program
JP2009230207A (en) Synchronization method for shared data, program for synchronizing shared data, and network system for synchronizing shared data to be held
JP2006338624A (en) Server access control system, server access control method and server access control program
JP2009157575A (en) Network terminal and computer program

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110607