JP2011076532A - Data distribution system, server, data distribution method, computer program, and recording medium - Google Patents

Data distribution system, server, data distribution method, computer program, and recording medium Download PDF

Info

Publication number
JP2011076532A
JP2011076532A JP2009229677A JP2009229677A JP2011076532A JP 2011076532 A JP2011076532 A JP 2011076532A JP 2009229677 A JP2009229677 A JP 2009229677A JP 2009229677 A JP2009229677 A JP 2009229677A JP 2011076532 A JP2011076532 A JP 2011076532A
Authority
JP
Japan
Prior art keywords
client
server
data
clients
transfer source
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.)
Pending
Application number
JP2009229677A
Other languages
Japanese (ja)
Inventor
Masahiro Sakaguchi
昌弘 坂口
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2009229677A priority Critical patent/JP2011076532A/en
Publication of JP2011076532A publication Critical patent/JP2011076532A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data distribution system for enabling a server to efficiently transmit data to a client without complicating data transmission control even if the system is enlarged, and to provide a server, a data distribution method, a computer program and a recording medium. <P>SOLUTION: Among a plurality of clients 11 to 19, one and the other clients connected to the same communication network are specified as a transfer source client and transfer destination client, respectively. Since the transfer source client receiving data from a server 1 transfers the data to the transfer destination clients, the system transmits and transfers the data with simple control even if the system for distributing the data is enlarged. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明はサーバから送信されたデータを、前記サーバに接続した複数のクライアント間で転送するデータ配信システム、データ配信方法、コンピュータプログラム及び該コンピュータプログラムを記録した記録媒体、並びに接続された複数のクライアント間にてデータを転送させるサーバに関する。   The present invention relates to a data distribution system, a data distribution method, a computer program, a recording medium storing the computer program, and a plurality of connected clients, in which data transmitted from a server is transferred between the plurality of clients connected to the server. The present invention relates to a server for transferring data in between.

近年、企業において従業員が共有するアプリケーション、データベースなどの情報資源は膨大であり、多数の従業員が情報資源を効率良く使用できる環境を整備する必要がある。そのため企業は、従業員が使用する多数の端末(クライアント)を情報資源を集中管理するサーバに接続し、各クライアントからサーバに要求を送信し、サーバが応答するクライアント・サーバシステムを構築して、情報資源の効率的な利用を図ることが多い。   In recent years, information resources such as applications and databases shared by employees in corporations are enormous, and it is necessary to prepare an environment where many employees can use information resources efficiently. Therefore, a company connects a large number of terminals (clients) used by employees to a server that centrally manages information resources, sends a request from each client to the server, and builds a client / server system to which the server responds. In many cases, the information resources are used efficiently.

クライアント・サーバシステムにおいて共有データがある場合には、サーバにて共有データを管理し、いずれかのクライアントで共有データを更新したときに、更新データをサーバに送信してサーバの共有データを更新し、サーバから未更新の各クライアントへ更新データが送信され、各クライアントの共有データが更新されることがある。   If there is shared data in the client / server system, the shared data is managed by the server, and when the shared data is updated by any client, the updated data is transmitted to the server to update the shared data of the server. The update data is transmitted from the server to each unupdated client, and the shared data of each client may be updated.

この場合、クライアントが少数であるときには、サーバから各クライアントへ更新データを送信しても、サーバの負荷が過剰になることはないが、クライアントが多数であるときには、サーバの負荷が過剰になり、情報資源の効率的な利用が妨げられるおそれがある。   In this case, when there are a small number of clients, even if update data is sent from the server to each client, the load on the server does not become excessive, but when there are a large number of clients, the load on the server becomes excessive, Efficient use of information resources may be hindered.

特許文献1にはサーバの負担を軽減するデータ配信システムが開示されており、該データ配信システムは、予めサーバにて分割した分割データと分割データの送信先を含むデータ配信情報とを各クライアントに送信し、データ配信情報に基づいてクライアント間で分割データを転送し合い、各クライアントにてデータを完成させるようにしてある。またデータ配信システムは、クライアントの送受信能力に応じて、サーバから各クライアントに配信する分割データの個数を調整するようにしてあり、サーバの負担の軽減及び情報資源の効率的な利用の調和を図っている。   Patent Document 1 discloses a data distribution system that reduces the load on the server. The data distribution system provides each client with divided data that is divided in advance by the server and data distribution information that includes the transmission destination of the divided data. The divided data is transmitted between the clients based on the data distribution information, and the data is completed at each client. Also, the data distribution system adjusts the number of divided data distributed from the server to each client according to the transmission / reception capability of the client, thereby reducing the burden on the server and harmonizing the efficient use of information resources. ing.

また特許文献2には、サーバに複数のノードが接続されたネットワークシステムが開示されており、該ネットワークシステムは、サーバが最上位ノードを指定し、各ノードは最上位ノードから下位ノードへデータを順に転送するための経路を決定するようにしてある。ノードは決定された経路に従って、最上位ノードから最下位ノードまでデータを順次転送することで、サーバの負担を軽減している。またデータを順次転送するため、ユニキャストでの転送が可能であり、マルチキャストに対応したルータを使用する必要がなく、信頼性の低いUDP(User Datagram Protocol)ではなく、信頼性の高いTCP(Transmission Control Protocol)でデータを転送することができる。   Patent Document 2 discloses a network system in which a plurality of nodes are connected to a server. In the network system, the server designates the highest node, and each node transfers data from the highest node to a lower node. The route for transferring in order is determined. The node reduces the load on the server by sequentially transferring data from the highest node to the lowest node according to the determined route. In addition, since data is transferred sequentially, unicast transfer is possible, and it is not necessary to use a router that supports multicast, and it is not reliable UDP (User Datagram Protocol), but highly reliable TCP (Transmission Data can be transferred by Control Protocol.

特開2009−9297号公報JP 2009-9297 A 特開2009−26107号公報JP 2009-26107 A

しかし特許文献1に記載のデータ配信システムは、データの分割処理、送受信能力に応じてクライアントへ送信する分割データの個数を制御する処理、及びクライアント間での分割データの転送処理などを行う必要があるので、多数のクライアントからデータ配信要求がサーバに送信された場合には、データ配信システムでの処理が複雑化し、大規模なシステムへの対応が難しい。   However, the data distribution system described in Patent Document 1 needs to perform a data division process, a process for controlling the number of pieces of divided data to be transmitted to a client according to transmission / reception capability, a process for transferring divided data between clients, and the like. Therefore, when a data distribution request is transmitted from a large number of clients to the server, the processing in the data distribution system becomes complicated and it is difficult to cope with a large-scale system.

特許文献2に記載のネットワークシステムも、最上位ノードを指定する処理、データを転送するための経路を決定する処理、決定された経路に従ってデータを順次転送させる処理などを行う必要があるので、ネットワークシステムでの処理が複雑化し、大規模なシステムへの対応が十分であるとは言えない。また最下位ノードへのデータの送信には長時間を要するという問題がある。   The network system described in Patent Document 2 also needs to perform processing for designating the highest node, processing for determining a route for transferring data, processing for sequentially transferring data according to the determined route, and the like. The processing in the system is complicated, and it cannot be said that it is sufficient to handle a large-scale system. There is also a problem that it takes a long time to transmit data to the lowest node.

本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、システムが大規模化しても、データの送信制御を複雑化させることなく、サーバからクライアントへデータを効率的に送信することができるデータ配信システム、サーバ、データ配信方法、コンピュータプログラム及び記録媒体を提供することにある。   The present invention has been made in view of such circumstances, and the object of the present invention is to efficiently transfer data from the server to the client without complicating data transmission control even when the system is scaled up. An object is to provide a data distribution system, a server, a data distribution method, a computer program, and a recording medium that can be transmitted.

本発明に係るデータ配信システムは、通信網を介して複数のクライアントを接続したサーバが少なくとも一つのクライアントへデータを配信し、前記サーバから配信されたデータが、前記クライアント間で転送されるデータ配信システムにおいて、前記サーバは、前記クライアントが接続している通信網を識別する識別情報を取得する手段と、該手段によって取得した識別情報に基づいて、前記クライアントを通信網毎に区別する手段と、該手段によって区別された同一の通信網に接続している複数のクライアントから、前記サーバより送信されたデータを転送する転送元クライアント及び転送されたデータを受信する転送先クライアントを指定する手段とを備えることを特徴とする。   In the data distribution system according to the present invention, a server in which a plurality of clients are connected via a communication network distributes data to at least one client, and the data distributed from the server is transferred between the clients. In the system, the server obtains identification information for identifying a communication network to which the client is connected, and means for distinguishing the client for each communication network based on the identification information obtained by the means; Means for designating a transfer source client for transferring data transmitted from the server and a transfer destination client for receiving the transferred data from a plurality of clients connected to the same communication network distinguished by the means; It is characterized by providing.

本発明に係るデータ配信システムは、通信網を介して複数のクライアントを接続したサーバが少なくとも一つのクライアントへデータを配信し、前記サーバから配信されたデータが、前記クライアント間で転送されるデータ配信システムにおいて、前記複数のクライアント間の通信速度を計測する手段を備え、前記サーバは、複数のクライアントの中から、前記サーバより送信されたデータを転送する転送元クライアントを指定する手段と、計測された通信速度に基づいて、前記転送元クライアントとの通信速度が最速の転送先クライアントとを指定する手段を備えることを特徴とする。   In the data distribution system according to the present invention, a server in which a plurality of clients are connected via a communication network distributes data to at least one client, and the data distributed from the server is transferred between the clients. The system includes means for measuring a communication speed between the plurality of clients, and the server is measured with means for designating a transfer source client for transferring data transmitted from the server from the plurality of clients. And a means for designating a transfer destination client having the fastest communication speed with the transfer source client based on the communication speed.

本発明に係るデータ配信システムは、通信網を介して複数のクライアントを接続したサーバが少なくとも一つのクライアントへデータを配信し、前記サーバから配信されたデータが、前記クライアント間で転送されるデータ配信システムにおいて、前記複数のクライアント間の通信速度を計測する手段を備え、前記サーバは、計測された通信速度が予め設定された閾値以上であるか否かを判定する手段と、該手段によって前記通信速度が前記閾値以上であると判定された場合に、前記通信速度の判定対象となった両クライアントを前記サーバから送信されたデータを転送する転送元クライアント及び該転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段とを備えることを特徴とする。   In the data distribution system according to the present invention, a server in which a plurality of clients are connected via a communication network distributes data to at least one client, and the data distributed from the server is transferred between the clients. The system comprises means for measuring a communication speed between the plurality of clients, the server determining whether or not the measured communication speed is equal to or higher than a preset threshold, and the communication by the means. When it is determined that the speed is equal to or higher than the threshold value, the transfer source client that transfers the data transmitted from the server to the two clients that are the targets of the communication speed and the data transferred from the transfer source client And means for designating a transfer destination client to receive.

本発明に係るデータ配信システムは、通信網を介して複数のクライアントを接続したサーバが少なくとも一つのクライアントへデータを配信し、前記サーバから配信されたデータが、前記クライアント間で転送されるデータ配信システムにおいて、前記サーバと一のクライアントとの間の第1通信速度を計測する手段と、前記一のクライアントと他のクライアントとの間の第2通信速度を計測する手段とを備え、前記サーバは、計測された第1通信速度が前記第2通信速度よりも遅い場合に、前記他のクライアントを前記サーバから送信されたデータを転送する転送元クライアントに指定し、前記一のクライアントを前記転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段を備えることを特徴とする。   In the data distribution system according to the present invention, a server in which a plurality of clients are connected via a communication network distributes data to at least one client, and the data distributed from the server is transferred between the clients. The system comprises means for measuring a first communication speed between the server and one client, and means for measuring a second communication speed between the one client and another client, the server comprising: When the measured first communication speed is slower than the second communication speed, the other client is designated as a transfer source client for transferring data transmitted from the server, and the one client is designated as the transfer source. Means is provided for designating a transfer destination client that receives data transferred from the client.

本発明に係るデータ配信システムは、前記サーバは、前記転送元クライアントにデータを送信する前に、指定した前記転送先クライアントを示す情報を前記転送元クライアントに送信する手段を備え、前記転送先クライアントを示す情報を前記転送元クライアントが受信した場合に、前記転送元クライアントと前記転送先クライアントとの間でデータの送受信が可能な送受信可能状態が確立されることを特徴とする。   In the data distribution system according to the present invention, the server includes means for transmitting information indicating the designated transfer destination client to the transfer source client before transmitting data to the transfer source client. When the transfer source client receives information indicating the above, a transmission / reception enabled state in which data can be transmitted and received between the transfer source client and the transfer destination client is established.

本発明に係るデータ配信システムは、前記送受信可能状態は前記転送元クライアントと前記転送先クライアントとの間で一対一で確立されるようにしてあることを特徴とする。   The data distribution system according to the present invention is characterized in that the transmission / reception enabled state is established one-to-one between the transfer source client and the transfer destination client.

本発明に係るデータ配信システムは、前記サーバは、前記送受信可能状態が未確立の前記クライアントが複数存在するか否かを判定する手段と、該手段によって、前記送受信可能状態が未確立の前記クライアントが複数存在すると判定された場合に、複数存在すると判定された前記クライアントの内、前記送受信可能状態が確立されるべきクライアントを指定する手段とを備え、該手段によって指定されたクライアント同士の間で前記送受信可能状態を確立することができるようにしてあることを特徴とする。   In the data distribution system according to the present invention, the server is configured to determine whether or not there are a plurality of the clients that are not established in the transmission / reception enabled state; And a means for designating a client for which the transmission / reception enabled state is to be established among the clients that are judged to be present, and between the clients designated by the means. The transmission / reception enabled state can be established.

本発明に係るデータ配信システムは、前記サーバは、前記転送元クライアントにてデータを受信することが可能であるか否かを判定する手段と、該手段によって前記転送元クライアントにてデータを受信することが不可能であると判定された場合に、データの受信が不可能な転送元クライアントとの間で前記送受信可能状態を確立した転送先クライアントに前記送受信可能状態を強制的に終了させる手段とを備えることを特徴とする。   In the data distribution system according to the present invention, the server receives the data at the transfer source client by means for determining whether or not the transfer source client can receive the data. Means for forcibly terminating the transmission / reception enabled state to a transfer destination client that has established the transmission / reception enabled state with a transfer source client that is unable to receive data when it is determined that the transmission / reception is impossible. It is characterized by providing.

本発明に係るデータ配信システムは、前記転送元クライアント(又は前記転送先クライアント)は、前記転送先クライアント(又は前記転送元クライアント)にてデータを受信することが可能であるか否かを判定する手段と、前記転送先クライアント(又は前記転送元クライアント)にてデータを受信することが不可能であると判定された場合に、データの受信が不可能な前記転送先クライアント(又は前記転送元クライアント)を示す情報を前記サーバへ送信する手段と、データの受信が不可能な前記転送先クライアント(又は前記転送元クライアント)との間で確立された前記送受信可能状態を強制的に終了する手段とを備えることを特徴とする。   The data distribution system according to the present invention determines whether the transfer source client (or the transfer destination client) can receive data at the transfer destination client (or the transfer source client). And the transfer destination client (or the transfer source client) that cannot receive the data when it is determined that the data cannot be received by the transfer destination client (or the transfer source client). And means for forcibly terminating the transmission / reception enabled state established with the transfer destination client (or the transfer source client) incapable of receiving data. It is characterized by providing.

本発明に係るデータ配信システムは、前記サーバは、前記サーバから配信されたデータを前記クライアント間で転送するために、前記クライアント同士の対応関係を示す情報を記憶する手段と、前記クライアントが前記サーバに接続されるか又は前記サーバと前記クライアントとの接続が切断された場合に、前記クライアント同士の対応関係を示す情報を変更する手段とを備えることを特徴とする。   In the data distribution system according to the present invention, in order for the server to transfer data distributed from the server between the clients, means for storing information indicating a correspondence relationship between the clients; and Or a means for changing information indicating a correspondence relationship between the clients when the connection between the server and the client is disconnected.

本発明に係るサーバは、通信網を介して複数のクライアントが接続してあり、少なくとも一つのクライアントへデータを配信するサーバにおいて、前記クライアントからの接続要求を受信した場合に、前記クライアントが接続している通信網を識別する識別情報を取得する手段と、該手段によって取得した識別情報に基づいて、前記クライアントを通信網毎に区別する手段と、該手段によって区別された同一の通信網に接続している複数のクライアントから、前記サーバより送信されたデータを転送する転送元クライアント及び転送されたデータを受信する転送先クライアントを指定する手段とを備えることを特徴とする。   In the server according to the present invention, when a plurality of clients are connected via a communication network and the server that distributes data to at least one client receives a connection request from the client, the client connects. Means for acquiring identification information for identifying a communication network, means for distinguishing the client for each communication network based on the identification information acquired by the means, and connection to the same communication network distinguished by the means A transfer source client that transfers data transmitted from the server and a transfer destination client that receives the transferred data from a plurality of clients.

本発明に係るサーバは、通信網を介して複数のクライアントが接続してあり、少なくとも一つのクライアントへデータを配信するサーバにおいて、複数のクライアントの中から、前記サーバより送信されたデータを転送する転送元クライアントを指定し、前記複数のクライアント間の通信速度に基づいて、前記転送元クライアントからの通信速度が最速の転送先クライアントとを指定する手段とを備えることを特徴とする。   In the server according to the present invention, a plurality of clients are connected via a communication network, and a server that distributes data to at least one client transfers data transmitted from the server from among the plurality of clients. Means for designating a transfer source client, and designating a transfer destination client having the fastest communication speed from the transfer source client based on communication speeds between the plurality of clients.

本発明に係るサーバは、通信網を介して複数のクライアントが接続してあり、少なくとも一つのクライアントへデータを配信するサーバにおいて、前記複数のクライアント間の通信速度が予め設定された閾値以上であるか否かを判定する手段と、該手段によって前記通信速度が前記閾値以上であると判定された場合に、前記通信速度の判定対象となった両クライアントを前記サーバから送信されたデータを転送する転送元クライアント及び該転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段とを備えることを特徴とする。   In the server according to the present invention, a plurality of clients are connected via a communication network, and in a server that distributes data to at least one client, a communication speed between the plurality of clients is equal to or higher than a preset threshold. A means for determining whether or not the communication speed is equal to or higher than the threshold value, and transfers the data transmitted from the server to both clients for which the communication speed is to be determined. A transfer source client, and a means for designating a transfer destination client that receives data transferred from the transfer source client.

本発明に係るサーバは、通信網を介して複数のクライアントが接続してあり、少なくとも一つのクライアントへデータを配信するサーバにおいて、前記サーバと一のクライアントとの間の通信速度が前記一のクライアントと他のクライアントとの間の通信速度よりも遅い場合に、前記他のクライアントを前記サーバから送信されたデータを転送する転送元クライアントに指定し、前記一のクライアントを前記転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段を備えることを特徴とする。   In the server according to the present invention, a plurality of clients are connected via a communication network, and in the server that distributes data to at least one client, the communication speed between the server and the one client is the one client. And the other client is designated as a transfer source client for transferring data transmitted from the server, and the one client is transferred from the transfer source client. Means for designating a transfer destination client that receives the received data.

本発明に係るデータ配信方法は、サーバから配信されたデータを、通信網を介して前記サーバに接続された複数のクライアント間で転送するデータ配信方法において、前記サーバが前記クライアントが接続している通信網を識別する識別情報を取得するステップと、前記識別情報に基づいて、前記クライアントを通信網毎に区別するステップと、区別された同一の通信網に接続している複数のクライアントから、前記サーバより送信されたデータを転送する転送元クライアント及び転送されたデータを受信する転送先クライアントを指定するステップとを備えることを特徴とする。   The data distribution method according to the present invention is a data distribution method for transferring data distributed from a server between a plurality of clients connected to the server via a communication network, wherein the server is connected to the client. Obtaining identification information for identifying a communication network; distinguishing the client for each communication network based on the identification information; and a plurality of clients connected to the same differentiated communication network; And a step of designating a transfer source client for transferring the data transmitted from the server and a transfer destination client for receiving the transferred data.

本発明に係るデータ配信方法は、サーバから配信されたデータを、前記サーバに接続された複数のクライアント間で転送するデータ配信方法において、前記複数のクライアント間の通信速度を計測するステップと、複数のクライアントの中から、前記サーバより送信されたデータを転送する転送元クライアントを指定するステップと、計測された通信速度に基づいて、前記転送元クライアントとの通信速度が最速の転送先クライアントを指定するステップとを備えることを特徴とする。   The data distribution method according to the present invention includes a step of measuring a communication speed between the plurality of clients in a data distribution method for transferring data distributed from a server between the plurality of clients connected to the server, Specifying a transfer source client for transferring data transmitted from the server, and specifying a transfer destination client with the fastest communication speed with the transfer source client based on the measured communication speed And a step of performing.

本発明に係るデータ配信方法は、サーバから配信されたデータを、前記サーバに接続された複数のクライアント間で転送するデータ配信方法において、前記複数のクライアント間の通信速度を計測するステップと、計測された通信速度が予め設定された閾値以上であるか否かを判定するステップと、前記通信速度が前記閾値以上であると判定された場合に、前記通信速度の判定対象となった両クライアントを前記サーバから送信されたデータを転送する転送元クライアント及び該転送元クライアントから転送されたデータを受信する転送先クライアントに指定するステップとを備えることを特徴とする。   The data distribution method according to the present invention includes a step of measuring a communication speed between the plurality of clients in a data distribution method for transferring data distributed from a server between the plurality of clients connected to the server, Determining whether or not the communication speed set is equal to or higher than a preset threshold, and when it is determined that the communication speed is equal to or higher than the threshold, And a step of designating a transfer source client for transferring data transmitted from the server and a transfer destination client for receiving data transferred from the transfer source client.

本発明に係るデータ配信方法は、サーバから配信されたデータを、前記サーバに接続された複数のクライアント間で転送するデータ配信方法において、前記サーバと一のクライアントとの間の第1通信速度を計測するステップと、前記一のクライアントと他のクライアントとの間の第2通信速度を計測するステップと、計測された第1通信速度が前記第2通信速度よりも遅い場合に、前記他のクライアントを前記サーバから送信されたデータを転送する転送元クライアントに指定し、前記一のクライアントを前記転送元クライアントから転送されたデータを受信する転送先クライアントに指定するステップとを備えることを特徴とする。   The data distribution method according to the present invention is a data distribution method for transferring data distributed from a server between a plurality of clients connected to the server, wherein the first communication speed between the server and one client is set. A step of measuring, a step of measuring a second communication speed between the one client and another client, and the other client when the measured first communication speed is slower than the second communication speed. Designating as a transfer source client for transferring data transmitted from the server, and designating the one client as a transfer destination client for receiving data transferred from the transfer source client. .

本発明に係るコンピュータプログラムは、コンピュータに通信網を介して複数のクライアントが接続してある場合に、コンピュータを、少なくとも一つのクライアントへデータを配信するサーバとして機能させるコンピュータプログラムにおいて、コンピュータを、前記クライアントが接続している通信網を識別する識別情報を取得する手段、該手段によって取得した識別情報に基づいて、前記クライアントを通信網毎に区別する手段及び該手段によって区別された同一の通信網に接続している複数のクライアントから、前記サーバより送信されたデータを転送する転送元クライアント及び転送されたデータを受信する転送先クライアントを指定する手段として機能させることを特徴とする。   When a plurality of clients are connected to a computer via a communication network, the computer program according to the present invention causes a computer to function as a server that distributes data to at least one client. Means for acquiring identification information for identifying a communication network to which the client is connected; means for distinguishing the client for each communication network based on the identification information acquired by the means; and the same communication network distinguished by the means It functions as means for designating a transfer source client that transfers data transmitted from the server and a transfer destination client that receives the transferred data from a plurality of clients connected to the server.

本発明に係るコンピュータプログラムは、コンピュータに通信網を介して複数のクライアントが接続してある場合に、コンピュータを、少なくとも一つのクライアントへデータを配信するサーバとして機能させるコンピュータプログラムにおいて、コンピュータを、複数のクライアントの中から、前記サーバより送信されたデータを転送する転送元クライアントを指定する手段及び前記複数のクライアント間の通信速度に基づいて、前記転送元クライアントからの通信速度が最速の転送先クライアントとを指定する手段として機能させることを特徴とする。   When a plurality of clients are connected to a computer via a communication network, the computer program according to the present invention is a computer program that causes a computer to function as a server that distributes data to at least one client. Based on the means for designating the transfer source client for transferring the data transmitted from the server and the communication speed between the plurality of clients, the transfer destination client having the fastest communication speed from the transfer source client It is made to function as a means to specify.

本発明に係るコンピュータプログラムは、コンピュータに通信網を介して複数のクライアントが接続してある場合に、コンピュータを、少なくとも一つのクライアントへデータを配信するサーバとして機能させるコンピュータプログラムにおいて、コンピュータを、前記複数のクライアント間の通信速度を予め設定された閾値以上であるか否かを判定する手段及び該手段によって前記通信速度が前記閾値以上であると判定された場合に、前記通信速度の判定対象となった両クライアントを前記サーバから送信されたデータを転送する転送元クライアント及び該転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段として機能させることを特徴とする。   When a plurality of clients are connected to a computer via a communication network, the computer program according to the present invention causes a computer to function as a server that distributes data to at least one client. Means for determining whether or not the communication speed between a plurality of clients is equal to or higher than a preset threshold, and when the communication speed is determined to be equal to or higher than the threshold by the means, The both clients are made to function as means for designating a transfer source client for transferring data transmitted from the server and a transfer destination client for receiving data transferred from the transfer source client.

本発明に係るコンピュータプログラムは、コンピュータに通信網を介して複数のクライアントが接続してある場合に、コンピュータを、少なくとも一つのクライアントへデータを配信するサーバとして機能させるコンピュータプログラムにおいて、コンピュータを、前記サーバと前記一のクライアントとの間の通信速度が前記一のクライアントと他のクライアントとの間の通信速度よりも速い場合に、前記他のクライアントを前記サーバから送信されたデータを転送する転送元クライアントに指定し、前記一のクライアントを前記転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段として機能させることを特徴とする。   When a plurality of clients are connected to a computer via a communication network, the computer program according to the present invention causes a computer to function as a server that distributes data to at least one client. When the communication speed between the server and the one client is faster than the communication speed between the one client and the other client, the transfer source that transfers the data transmitted from the server to the other client It is designated as a client, and the one client is made to function as means for designating as a transfer destination client that receives data transferred from the transfer source client.

本発明に係る記録媒体は、前述したコンピュータプログラムのいずれか一つを記録してあることを特徴とする。   The recording medium according to the present invention records any one of the computer programs described above.

本発明においては、同一の通信網に接続している複数のクライアントの内、一のクライアントを転送元クライアントに指定し、他のクライアントを転送先クライアントに指定する。そしてサーバからデータを受信した転送元クライアントが、転送先クライアントへデータを転送する。また通信網を識別する識別情報をサーバにて記憶・管理した場合には、クライアントとサーバとの接続/切断などによってデータ配信システムの構成が変更されても、該システムの変更に応じて、転送元クライアント及び転送先クライアントを再指定することができる。   In the present invention, among a plurality of clients connected to the same communication network, one client is designated as a transfer source client, and the other client is designated as a transfer destination client. Then, the transfer source client that has received the data from the server transfers the data to the transfer destination client. In addition, when identification information for identifying a communication network is stored and managed in the server, even if the configuration of the data distribution system is changed due to connection / disconnection between the client and the server, the transfer is performed according to the change in the system. The original client and the transfer destination client can be redesignated.

本発明においては、サーバに接続された複数のクライアントの中から転送元クライアントを指定し、該転送元クライアントと最速の通信速度で通信することができるクライアントを転送先クライアントに指定する。またサーバに接続された複数のクライアント間の通信速度をサーバにて記憶・管理した場合には、クライアントとサーバとの接続/切断などによってデータ配信システムの構成が変更されても、該システムの変更に応じて、転送元クライアント及び転送先クライアントを再指定することができる。   In the present invention, a transfer source client is specified from among a plurality of clients connected to the server, and a client that can communicate with the transfer source client at the fastest communication speed is specified as a transfer destination client. In addition, when the communication speed between a plurality of clients connected to the server is stored and managed by the server, even if the configuration of the data distribution system is changed due to connection / disconnection between the client and the server, the change of the system The transfer source client and the transfer destination client can be designated again according to the above.

本発明においては、サーバに接続された一のクライアント及び他のクライアントの間の通信速度が予め設定された閾値以上である場合に、両クライアントをそれぞれ転送元クライアント及び転送先クライアントに指定する。転送元クライアント及び転送先クライアントを示す情報をサーバにて記憶した場合には、新たなクライアントがサーバに接続し、データ配信システムの構成が変更されても、新たなクライアントと既存のクライアントとの通信速度を前記閾値と比較して、転送元クライアント及び転送先クライアントを再指定することができる。   In the present invention, when the communication speed between one client connected to the server and another client is equal to or higher than a preset threshold, both clients are designated as a transfer source client and a transfer destination client, respectively. When information indicating the transfer source client and the transfer destination client is stored in the server, communication between the new client and the existing client is possible even when the new client connects to the server and the configuration of the data distribution system is changed. The transfer source client and the transfer destination client can be redesignated by comparing the speed with the threshold value.

本発明においては、サーバと一のクライアントとの通信速度が、該一のクライアントと他のクライアントとの通信速度よりも遅い場合に、一のクライアントを転送先クライアントに指定し、他のクライアントを転送元クライアントに指定する。また転送元クライアント及び転送先クライアントを示す情報をサーバにて記憶・管理した場合に、クライアントとサーバとの接続/切断などによってデータ配信システムの構成が変更されても、該システムの変更に応じて、転送元クライアント及び転送先クライアントを再指定することができる。   In the present invention, when the communication speed between the server and one client is slower than the communication speed between the one client and another client, one client is designated as the transfer destination client and the other client is transferred. Specify the original client. In addition, when information indicating the transfer source client and the transfer destination client is stored and managed by the server, even if the configuration of the data distribution system is changed due to connection / disconnection between the client and the server, etc. The transfer source client and the transfer destination client can be redesignated.

本発明においては、サーバから転送元クライアントにデータを送信する前に、転送先クライアントを示す情報を転送元クライアントに送信して、転送元クライアント及び転送先クライアント間にデータの送受信が可能な送受信可能状態(コネクション)を確立させる。そのためサーバから転送元クライアントに送信されたデータは転送先クライアントへ直ちに転送される。   In the present invention, before the data is transmitted from the server to the transfer source client, information indicating the transfer destination client is transmitted to the transfer source client, and data can be transmitted / received between the transfer source client and the transfer destination client. Establish state (connection). Therefore, data transmitted from the server to the transfer source client is immediately transferred to the transfer destination client.

本発明においては、前述したコネクションは、転送元クライアントと転送先クライアントとの間で一対一で確立されるので、サーバは複数のクライアントの内、半分のクライアントを転送元クライアントに指定して、データを各転送元クライアントに配信すればよいので、サーバの負荷が軽減される。また転送元クライアントと転送先クライアントとの間で一対多でコネクションを確立する場合に比較して、システムのデータ送信・転送制御が簡素化される。   In the present invention, since the above-described connection is established one-to-one between the transfer source client and the transfer destination client, the server designates half of the plurality of clients as the transfer source client, and the data Can be distributed to each transfer source client, so that the load on the server is reduced. In addition, data transmission / transfer control of the system is simplified as compared with the case where a one-to-many connection is established between a transfer source client and a transfer destination client.

本発明においては、転送元クライアントと転送先クライアントとの間におけるコネクションが切断される若しくは転送元クライアント又は転送先クライアントがシステムから退出することによって、コネクションが未確立のクライアントが複数存在する場合に、コネクションが未確立の複数のクライアントから、コネクションが確立されるべき複数のクライアントを抽出し、抽出したクライアント間でコネクションを確立させる。   In the present invention, when the connection between the transfer source client and the transfer destination client is disconnected or the transfer source client or the transfer destination client leaves the system, there are a plurality of unestablished clients. A plurality of clients that should establish a connection are extracted from a plurality of clients that have not yet established a connection, and a connection is established between the extracted clients.

本発明においては、転送元クライアントにてデータを受信することが不可能である場合に、サーバは前記転送元クライアントとコネクションを確立した転送先クライアントに前記コネクションを強制的に切断させる。そのためデータを受信することが不可能な前記転送元クライアントをデータ配信システムから除外し、データ配信システムを保全することができる。   In the present invention, when it is impossible for the transfer source client to receive data, the server forcibly causes the transfer destination client that has established a connection with the transfer source client to disconnect the connection. Therefore, the transfer source client that cannot receive data can be excluded from the data distribution system, and the data distribution system can be maintained.

本発明においては、例えば転送先クライアントにてデータを受信することが不可能である場合に、転送元クライアントは、データの受信が不可能な転送先クライアントを示す情報を前記サーバへ送信し、転送先クライアントとの間で確立されたコネクションを強制的に切断する。そのためデータを受信することが不可能な転送先クライアントをデータ配信システムから除外し、データ配信システムを保全することができる。   In the present invention, for example, when data cannot be received by the transfer destination client, the transfer source client transmits information indicating the transfer destination client that cannot receive data to the server, and transfers the data. The connection established with the destination client is forcibly disconnected. Therefore, the transfer destination client that cannot receive data can be excluded from the data distribution system, and the data distribution system can be maintained.

本発明においては、クライアント同士の対応関係を示す情報がサーバに記憶してある。クライアントがサーバに接続した場合、すなわちクライアントがデータ配信システムに入室した場合に、サーバに接続したクライアントを示す情報をサーバに記憶し、またクライアントがサーバとの接続を切断した場合、すなわちクライアントがデータ配信システムから退室した場合に、切断したクライアントを示す情報を前記サーバに記憶した情報から削除して、前記対応関係を示す情報を変更する。   In the present invention, information indicating the correspondence between clients is stored in the server. When the client connects to the server, that is, when the client enters the data distribution system, information indicating the client connected to the server is stored in the server, and when the client disconnects from the server, that is, the client has data When leaving the distribution system, the information indicating the disconnected client is deleted from the information stored in the server, and the information indicating the correspondence relationship is changed.

本発明にあっては、同一の通信網に接続している複数のクライアントの内、一のクライアントを転送元クライアントに指定し、他のクライアントを転送先クライアントに指定する。そしてサーバからデータを受信した転送元クライアントが、転送先クライアントへデータを転送する。そのためデータを配信するシステムが大規模化しても、システムは簡素な制御でデータを送信・転送することができ、サーバから転送元クライアントへ効率良くデータを配信し、転送元クライアント及び転送先クライアント間でルータを経由させることなく、迅速にデータを転送することができる。データはルータを経由せずに転送されるので、転送先クライアントへ短時間で転送される。また通信網を識別する識別情報をサーバにて記憶・管理した場合には、クライアントとサーバとの接続/切断などによってデータ配信システムの構成が変更されても、容易に転送元クライアント及び転送先クライアントを再指定することができる。   In the present invention, among a plurality of clients connected to the same communication network, one client is designated as a transfer source client, and the other clients are designated as transfer destination clients. Then, the transfer source client that has received the data from the server transfers the data to the transfer destination client. Therefore, even if the system for distributing data becomes large, the system can transmit and transfer data with simple control, efficiently distribute data from the server to the transfer source client, and between the transfer source client and the transfer destination client. Can quickly transfer data without going through a router. Since the data is transferred without going through the router, it is transferred to the transfer destination client in a short time. In addition, when the identification information for identifying the communication network is stored and managed by the server, even if the configuration of the data distribution system is changed due to connection / disconnection between the client and the server, the transfer source client and the transfer destination client can be easily Can be re-specified.

本発明にあっては、サーバに接続された複数のクライアントの中から転送元クライアントを指定し、該転送元クライアントと最速の通信速度で通信することができるクライアントを転送先クライアントに指定する。そのためデータを配信するシステムが大規模化しても、システムは簡素な制御でデータを送信・転送することができ、サーバから各転送元クライアントへ効率良くデータを配信し、転送元クライアント及び転送先クライアント間で迅速にデータを転送することができる。またサーバに接続された複数のクライアント間の通信速度をサーバにて記憶・管理した場合には、クライアントとサーバとの接続/切断などによってデータ配信システムの構成が変更されても、転送元クライアント及び転送先クライアントを容易に再指定することができる。   In the present invention, a transfer source client is specified from among a plurality of clients connected to the server, and a client that can communicate with the transfer source client at the fastest communication speed is specified as a transfer destination client. Therefore, even if the system for distributing data becomes large, the system can transmit and transfer data with simple control, efficiently distribute data from the server to each transfer source client, and transfer source client and transfer destination client Data can be transferred quickly between. Further, when the communication speed between a plurality of clients connected to the server is stored and managed by the server, even if the configuration of the data distribution system is changed due to connection / disconnection between the client and the server, the transfer source client and The destination client can be easily specified again.

本発明にあっては、サーバに接続された一のクライアント及び他のクライアントの間の通信速度が予め設定された閾値以上である場合に、両クライアントをそれぞれ転送元クライアント及び転送先クライアントに指定し、転送元クライアント及び転送先クライアントを示す情報をサーバにて記憶する。そのためデータを配信するシステムが大規模化しても、システムは簡素な制御でデータを送信・転送することができ、サーバから各転送元クライアントへ効率良くデータを配信し、転送元クライアント及び転送先クライアント間で迅速にデータを転送することができる。また新たなクライアントがサーバに接続し、システムの構成が変更されても、新たなクライアントと既存のクライアントとの通信速度を閾値と比較するだけで、転送元クライアント及び転送先クライアントを再指定するか否かを判定することができ、転送元クライアント及び転送先クライアントを容易に再指定することができる。   In the present invention, when the communication speed between one client connected to the server and another client is equal to or higher than a preset threshold value, both clients are designated as a transfer source client and a transfer destination client, respectively. Information indicating the transfer source client and the transfer destination client is stored in the server. Therefore, even if the system for distributing data becomes large, the system can transmit and transfer data with simple control, efficiently distribute data from the server to each transfer source client, and transfer source client and transfer destination client Data can be transferred quickly between. Also, even if a new client connects to the server and the system configuration is changed, it is possible to re-specify the transfer source client and transfer destination client only by comparing the communication speed between the new client and the existing client with the threshold value. It is possible to determine whether or not to transfer, and the transfer source client and transfer destination client can be easily specified again.

本発明にあっては、サーバと一のクライアントとの通信速度が、該一のクライアントと他のクライアントとの通信速度よりも遅い場合に、一のクライアントを転送先クライアントに指定し、他のクライアントを転送元クライアントに指定する。そのためデータ配信システムが大規模化しても、該システムは簡素な制御でデータを送信・転送することができ、サーバから各転送元クライアントへ効率良くデータを配信し、転送元クライアント及び転送先クライアント間で迅速にデータを転送することができる。また転送元クライアント及び転送先クライアントを示す情報をサーバにて記憶・管理した場合に、クライアントとサーバとの接続/切断などによってシステムの構成が変更されても、転送元クライアント及び転送先クライアントを容易に再指定することができる。   In the present invention, when the communication speed between the server and one client is slower than the communication speed between the one client and another client, one client is designated as the transfer destination client, and the other client Is specified as the transfer source client. Therefore, even if the data distribution system becomes large-scale, the system can transmit and transfer data with simple control, efficiently distribute data from the server to each transfer source client, and between the transfer source client and the transfer destination client. Can transfer data quickly. In addition, when information indicating the transfer source client and transfer destination client is stored and managed by the server, the transfer source client and transfer destination client can be easily accessed even if the system configuration is changed due to connection / disconnection between the client and the server. Can be re-specified.

実施の形態に係るデータ配信システムを略示する概念図である。1 is a conceptual diagram schematically showing a data distribution system according to an embodiment. サーバの構成を略示するブロック図である。It is a block diagram which briefly shows the structure of a server. クライアントの構成を略示するブロック図である。It is a block diagram which briefly shows the structure of a client. サーバの記憶部に記憶された通信経路情報テーブルの一例を示す概念図である。It is a conceptual diagram which shows an example of the communication path | route information table memorize | stored in the memory | storage part of the server. クライアントの制御部によるサーバとのコネクションの確立を説明するフローチャートである。It is a flowchart explaining establishment of the connection with the server by the control part of a client. サーバの制御部によるクライアントとの接続処理を説明するフローチャートである。It is a flowchart explaining the connection process with the client by the control part of a server. サーバの制御部による選定処理の第1実施例を説明するフローチャートである。It is a flowchart explaining the 1st Example of the selection process by the control part of a server. サーバの制御部によるグルーピング処理を説明するフローチャートである。It is a flowchart explaining the grouping process by the control part of a server. サーバの制御部によるグループ優先処理を説明するフローチャートである。It is a flowchart explaining the group priority process by the control part of a server. サーバの制御部による閾値処理を説明するフローチャートである。It is a flowchart explaining the threshold value process by the control part of a server. 孤立番号i又は孤立番号jに対応するクライアントの制御部による通信速度の算出処理を説明するフローチャートである。It is a flowchart explaining the calculation process of the communication speed by the control part of the client corresponding to the isolated number i or the isolated number j. 一のクライアントから通信速度の計測要求を受信した他のクライアントの制御部における処理を説明するフローチャートである。It is a flowchart explaining the process in the control part of the other client which received the communication speed measurement request from one client. サーバの制御部による選定処理の第2実施例を説明するフローチャートである。It is a flowchart explaining the 2nd Example of the selection process by the control part of a server. サーバの制御部による最速処理を説明するフローチャートである。It is a flowchart explaining the fastest process by the control part of a server. サーバの制御部による選定処理の第3実施例を説明するフローチャートである。It is a flowchart explaining the 3rd Example of the selection process by the control part of a server. サーバの制御部におけるサーバ・クライアント通信速度計測処理を説明するフローチャートである。It is a flowchart explaining the server client communication speed measurement process in the control part of a server. サーバの制御部におけるクライアント間通信経路決定処理を説明するフローチャートである。It is a flowchart explaining the communication route determination process between clients in the control part of a server. クライアントの制御部によるコネクション確立処理を説明するフローチャートである。It is a flowchart explaining the connection establishment process by the control part of a client. 転送元クライアント及び転送先クライアント間でのコネクションの確立を示す概念図である。It is a conceptual diagram which shows establishment of the connection between the transfer origin client and the transfer destination client. 転送元クライアントにて共有データが更新された場合における転送元クライアントの制御部による更新処理を説明するフローチャートである。It is a flowchart explaining the update process by the control part of the transfer source client when shared data is updated in the transfer source client. 更新データを受信した場合における転送先クライアントの制御部による共有データの更新処理を説明するフローチャートである。It is a flowchart explaining the update process of the shared data by the control part of the transfer destination client when update data is received. 転送先クライアントにて共有データが更新された場合における転送先クライアントの制御部による更新処理を説明するフローチャートである。It is a flowchart explaining the update process by the control part of a transfer destination client when shared data is updated in the transfer destination client. 転送先クライアントから転送先IPアドレスと更新データとを受信した場合における転送元クライアントの制御部による更新処理を説明するフローチャートである。It is a flowchart explaining the update process by the control part of the transfer origin client when the transfer destination IP address and update data are received from the transfer destination client. 更新データを受信した場合におけるサーバの制御部による共有データの更新処理を説明するフローチャートである。It is a flowchart explaining the update process of the shared data by the control part of a server when update data is received. サーバから更新データを受信した場合における転送元クライアントの制御部による共有データの更新処理を説明するフローチャートである。It is a flowchart explaining the update process of the shared data by the control part of the transfer origin client at the time of receiving update data from a server. 転送元クライアントがデータ配信システムから退出する場合において、転送元クライアントの制御部が実行する退出処理を説明するフローチャートである。It is a flowchart explaining the leaving process which the control part of a transfer origin client performs when the transfer origin client leaves a data delivery system. 転送元クライアントから退出データを受信した場合における転送先クライアントの制御部による処理を説明するフローチャートである。It is a flowchart explaining the process by the control part of a transfer destination client when the leaving data is received from the transfer source client. サーバの制御部による転送元クライアントとのコネクションを切断する処理について説明するフローチャートである。It is a flowchart explaining the process which cut | disconnects the connection with the transfer origin client by the control part of a server. 転送先クライアントがデータ配信システムから退出する場合において、転送先クライアントの制御部が実行する退出処理を説明するフローチャートである。FIG. 10 is a flowchart for explaining an exit process executed by the control unit of the transfer destination client when the transfer destination client leaves the data distribution system. FIG. 転送先クライアントから退出データを受信した場合における転送元クライアントの制御部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the control part of the transfer origin client when the leaving data is received from the transfer destination client is performed. 転送元クライアントから転送先クライアントの退出データを受信した場合におけるサーバの制御部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the control part of a server performs when the leaving data of the transfer destination client is received from the transfer source client. 孤立クライアントの制御部によるデータ配信システムからの退出処理を説明するフローチャートである。It is a flowchart explaining the leaving process from the data delivery system by the control part of an isolated client. 孤立クライアントから退出データを受信したサーバの制御部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the control part of the server which received the leaving data from the isolated client performs. 通信経路情報テーブル作成後に新たなクライアントがサーバに接続された場合に、サーバの制御部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the control part of a server performs when a new client is connected to a server after communication path information table creation. 転送先クライアントにて共有データが更新され、転送元クライアントに障害が発生している場合に、転送先クライアントの制御部が実行する障害対策処理を説明するフローチャートである。10 is a flowchart for explaining failure countermeasure processing executed by a control unit of a transfer destination client when shared data is updated in the transfer destination client and a failure occurs in the transfer source client. 転送先クライアントにて共有データが更新され、転送元クライアントに障害が発生している場合に、サーバの制御部が実行する削除処理を説明するフローチャートである。10 is a flowchart for explaining a deletion process executed by a control unit of a server when shared data is updated in a transfer destination client and a failure occurs in the transfer source client. 転送元クライアントにて共有データが更新され、転送先クライアントに障害が発生している場合に、転送元クライアントの制御部が実行する障害対策処理を説明するフローチャートである。10 is a flowchart for explaining failure countermeasure processing executed by the control unit of the transfer source client when shared data is updated in the transfer source client and a transfer destination client has a failure. 転送元クライアントにて共有データが更新され、転送先クライアントに障害が発生している場合に、サーバの制御部が実行する削除処理を説明するフローチャートである。It is a flowchart explaining the deletion process which the control part of a server performs when shared data is updated in the transfer source client and a failure has occurred in the transfer destination client. サーバが更新データを送信した転送元クライアントに障害が発生している場合に、サーバの制御部が実行する削除処理を説明するフローチャートである。It is a flowchart explaining the deletion process which the control part of a server performs, when the failure has generate | occur | produced in the transfer origin client which the server transmitted update data. 転送元クライアントとのコネクションを強制的に切断する指令を受信した場合における転送先クライアントの制御部が実行する切断処理を説明するフローチャートである。It is a flowchart explaining the cutting process which the control part of a transfer destination client performs when the instruction | command which forcibly cuts the connection with the transfer origin client is received. 転送元クライアントから更新データを転送された転送先クライアントに障害が発生している場合に、サーバの制御部が実行する削除処理を説明するフローチャートである。10 is a flowchart for explaining a deletion process executed by a control unit of a server when a failure has occurred in a transfer destination client to which update data has been transferred from a transfer source client. 転送先クライアントから更新データを受信したことを示す応答がない場合に、転送元クライアントの制御部が実行する切断処理を説明するフローチャートである。It is a flowchart explaining the cutting process which the control part of a transfer origin client performs when there is no response which shows having received update data from the transfer destination client.

以下本発明を実施の形態に係るデータ配信システムを示す図面に基づいて詳述する。図1はデータ配信システムを略示する概念図である。   Hereinafter, the present invention will be described in detail with reference to the drawings illustrating a data distribution system according to an embodiment. FIG. 1 is a conceptual diagram schematically showing a data distribution system.

図において1はデータを送受信するサーバ1であり、該サーバ1はネットワーク50に接続している。該ネットワーク50には複数のルータ21〜25が接続しており、ルータ21にはスイッチ31を介して二つのクライアント11、12が接続している。またルータ22にはクライアント13が接続しており、ルータ23にはスイッチ32を介して二つのクライアント14、15が接続している。ルータ24にはクライアント16が接続しており、ルータ25にはスイッチ33を介してクライアント17〜19が接続している。サーバ1及びクライアント11〜19の通信はIPv4(Internet Protocol version 4)に基づいて行われている。なおサーバ1及びクライアント11〜19の通信は、IPv6(Internet Protocol version 6)に基づいて行われる通信など、エンドツーエンドで実行される他の通信プロトコルに基づいても良い。   In the figure, reference numeral 1 denotes a server 1 that transmits and receives data, and the server 1 is connected to a network 50. A plurality of routers 21 to 25 are connected to the network 50, and two clients 11 and 12 are connected to the router 21 via a switch 31. A client 13 is connected to the router 22, and two clients 14 and 15 are connected to the router 23 via a switch 32. A client 16 is connected to the router 24, and clients 17 to 19 are connected to the router 25 via a switch 33. Communication between the server 1 and the clients 11 to 19 is performed based on IPv4 (Internet Protocol version 4). The communication between the server 1 and the clients 11 to 19 may be based on another communication protocol executed end-to-end, such as communication performed based on IPv6 (Internet Protocol version 6).

図2はサーバの構成を略示するブロック図である。
サーバ1は、データ通信を制御する制御部1aと、ユーザの操作を受け付ける操作部1bと、ユーザに向けて情報を表示する表示部1cと、ネットワーク50に接続するI/F(InterFace)部1dと、情報を記憶する記憶部1eとを備える。サーバ1の各構成要素は共通バスにて相互に接続されており、制御部1aには操作部1b又はI/F部1dから制御指令が入力される。
FIG. 2 is a block diagram schematically showing the configuration of the server.
The server 1 includes a control unit 1a that controls data communication, an operation unit 1b that receives user operations, a display unit 1c that displays information for the user, and an I / F (InterFace) unit 1d that is connected to the network 50. And a storage unit 1e for storing information. Each component of the server 1 is connected to each other via a common bus, and a control command is input to the control unit 1a from the operation unit 1b or the I / F unit 1d.

制御部1aは、演算を行うCPU(Central Processing Unit)、通信制御プログラムを格納したROM(Read Only Memory)、一時的にデータを記憶するRAM(Randam Access Memory)及びタイマなどを備える。CPUはROMに格納された制御プログラムに基づいて、RAMを作業領域として制御指令などに基づいて演算を実行し、演算結果を表示部1c、記憶部1e及びI/F部1dへ出力する。RAMには後述する各変数及び閾値などが所定のタイミングで設定される。制御部1aは、例えばクライアント11〜19とサーバ1との通信速度を計測するためにタイマを使用する。   The control unit 1a includes a CPU (Central Processing Unit) that performs calculation, a ROM (Read Only Memory) that stores a communication control program, a RAM (Randam Access Memory) that temporarily stores data, a timer, and the like. Based on a control program stored in the ROM, the CPU executes a calculation based on a control command or the like using the RAM as a work area, and outputs a calculation result to the display unit 1c, the storage unit 1e, and the I / F unit 1d. In the RAM, variables, thresholds, and the like described later are set at predetermined timing. The control unit 1a uses a timer to measure the communication speed between the clients 11 to 19 and the server 1, for example.

操作部1bはユーザの操作を受け付けて、制御部1aへ制御指令を出力する。表示部1cは制御部1aからの指令に基づいて、文字、図形などを表示する。記憶部1eはHDD(Hard Disc Drive)などの磁気ディスク記憶装置であり、記憶部1eには、クライアント11〜19と共有する共有データ及びクライアント11〜19間でデータを転送するための通信経路を示す通信経路情報テーブルが記憶してある。共有データ及び通信経路情報テーブルは、制御部1aからの指令によって更新される。なお記憶部1eは磁気ディスク記憶装置に限らず、半導体メモリで構成されていても良い。   The operation unit 1b receives a user operation and outputs a control command to the control unit 1a. The display unit 1c displays characters, figures, and the like based on commands from the control unit 1a. The storage unit 1e is a magnetic disk storage device such as an HDD (Hard Disc Drive), and the storage unit 1e has shared data shared with the clients 11 to 19 and a communication path for transferring data between the clients 11 to 19. The communication path information table shown is stored. The shared data and communication path information table are updated by a command from the control unit 1a. The storage unit 1e is not limited to a magnetic disk storage device, and may be configured by a semiconductor memory.

図3はクライアントの構成を略示するブロック図である。
クライアント11〜19は、データ通信を制御する制御部11a〜19aと、ユーザの操作を受け付ける操作部11b〜19bと、ユーザに向けて情報を表示する表示部11c〜19cと、ルータ21〜25又はスイッチ31〜33に接続するI/F部11d〜19dと、情報を記憶する記憶部11e〜19eとを備える。クライアント11〜19の各構成要素は共通バスにて相互に接続されており、制御部11a〜19aには操作部11b〜19b又はI/F部11d〜19dから制御指令が入力される。
FIG. 3 is a block diagram schematically showing the configuration of the client.
The clients 11 to 19 include control units 11a to 19a that control data communication, operation units 11b to 19b that receive user operations, display units 11c to 19c that display information for the user, and routers 21 to 25 or I / F units 11d to 19d connected to the switches 31 to 33 and storage units 11e to 19e for storing information are provided. The constituent elements of the clients 11 to 19 are connected to each other via a common bus, and control commands are input to the control units 11a to 19a from the operation units 11b to 19b or the I / F units 11d to 19d.

制御部11a〜19aは、演算を行うCPU、通信制御プログラムを格納したROM、一時的にデータを記憶するRAM及びタイマなどを備える。CPUはROMに格納された制御プログラムに基づいて、RAMを作業領域として制御指令などに基づいて演算を実行し、演算結果を表示部11c〜19c、記憶部11e〜19e及びI/F部11d〜19dへ出力する。制御部11a〜19aは、例えばクライアント11〜19相互間の通信速度又はクライアント11〜19とサーバ1との通信速度を計測するためにタイマを使用する。   The control units 11a to 19a include a CPU that performs calculation, a ROM that stores a communication control program, a RAM that temporarily stores data, a timer, and the like. Based on a control program stored in the ROM, the CPU executes a calculation based on a control command or the like using the RAM as a work area, and displays the calculation results as display units 11c to 19c, storage units 11e to 19e, and an I / F unit 11d to Output to 19d. For example, the control units 11a to 19a use a timer to measure the communication speed between the clients 11 to 19 or the communication speed between the clients 11 to 19 and the server 1.

操作部11b〜19bはユーザの操作を受け付けて、制御部11a〜19aへ制御指令を出力する。表示部11c〜19cは制御部11a〜19aからの指令に基づいて、文字、図形などを表示する。記憶部11e〜19eはHDDなどの磁気ディスク記憶装置であり、記憶部11e〜19eには、サーバ1と共有する共有データが記憶してある。共有データは、操作部11b〜19bからの指令によって更新される。なお記憶部11e〜19eは磁気ディスク記憶装置に限らず、半導体メモリで構成されていても良い。   The operation units 11b to 19b receive user operations and output control commands to the control units 11a to 19a. The display parts 11c-19c display a character, a figure, etc. based on the instruction | command from control part 11a-19a. The storage units 11e to 19e are magnetic disk storage devices such as HDDs, and the storage units 11e to 19e store shared data shared with the server 1. The shared data is updated by a command from the operation units 11b to 19b. The storage units 11e to 19e are not limited to the magnetic disk storage device, and may be configured by a semiconductor memory.

図4はサーバの記憶部に記憶された通信経路情報テーブルの一例を示す概念図である。
通信経路情報テーブルには、クライアント11〜19のエントリーナンバー(No.)、クライアント11〜19のIPアドレス、転送先IPアドレス、グループ情報及び制御情報などが含まれる。エントリーナンバーはサーバ1に接続されたクライアント11〜19に付与される番号であり、本実施例においては各クライアント11〜19に11〜19の番号が付与される。
FIG. 4 is a conceptual diagram illustrating an example of a communication path information table stored in the storage unit of the server.
The communication path information table includes entry numbers (No.) of the clients 11 to 19, IP addresses of the clients 11 to 19, transfer destination IP addresses, group information, control information, and the like. The entry number is a number assigned to the clients 11 to 19 connected to the server 1. In this embodiment, the numbers 11 to 19 are assigned to the clients 11 to 19.

IPアドレスは、クライアント11〜19からサーバ1への接続要求に含まれており、クライアント11〜19がサーバ1に接続された場合に、通信経路情報テーブルに記録される。本実施例においては、クライアント11〜19のIPアドレスは、クラスフルアドレスのCクラスに対応しており、IPアドレスの先頭から24ビットがネットワークアドレス部となっている。またIPアドレスはエントリーナンバーに対応している。転送先IPアドレスは、一のクライアントをデータを転送する転送元クライアントとし、他のクライアントを転送元クライアントから転送されたデータを受信する転送先クライアントとした場合に、転送元クライアントのIPアドレスに対応させて、通信経路情報テーブルに記録される転送先クライアントのIPアドレスである。   The IP addresses are included in connection requests from the clients 11 to 19 to the server 1 and are recorded in the communication path information table when the clients 11 to 19 are connected to the server 1. In this embodiment, the IP addresses of the clients 11 to 19 correspond to the class C full address C class, and the 24 bits from the top of the IP address are the network address part. The IP address corresponds to the entry number. The transfer destination IP address corresponds to the IP address of the transfer source client when one client is the transfer source client that transfers data and the other client is the transfer destination client that receives the data transferred from the transfer source client. The IP address of the transfer destination client recorded in the communication path information table.

グループ情報は、クライアント11〜19が接続しているサブネットワーク(通信網)を識別するための情報であり、同一のサブネットワークに接続している各クライアント11〜19には同一のグループ情報が付与される。本実施例においては、クライアント11とクライアント12とはスイッチ31によって同一のサブネットワークに接続しており、ネットワークアドレス部が一致するので、同一のグループ情報が付与される。またクライアント14とクライアント15とはスイッチ32によって同一のサブネットワークに接続しており、ネットワークアドレス部が一致するので、同一のグループ情報が付与され、またクライアント17〜19はスイッチ33によって同一のサブネットワークに接続しており、ネットワークアドレス部が一致するので、同一のグループ情報が付与される(図4参照)。なお本実施例におけるグループ情報は番号であるが、テキスト、記号その他の識別子でも良い。   The group information is information for identifying the subnetwork (communication network) to which the clients 11 to 19 are connected, and the same group information is given to each of the clients 11 to 19 connected to the same subnetwork. Is done. In the present embodiment, the client 11 and the client 12 are connected to the same sub-network by the switch 31 and the network address portions match, so the same group information is given. Further, the client 14 and the client 15 are connected to the same sub-network by the switch 32, and the network address portions match each other, so that the same group information is given, and the clients 17 to 19 are connected by the switch 33. Since the network address parts match, the same group information is given (see FIG. 4). The group information in this embodiment is a number, but may be a text, a symbol, or other identifier.

制御情報は、本発明に係るデータ配信システムの通信制御に使用される種々の情報であり、例えばクライアント11〜19のIPアドレスのサブネットマスク、サーバ1とクライアント11〜19との間の通信速度、クライアント11〜19間の通信速度などが含まれる。   The control information is various information used for communication control of the data distribution system according to the present invention. For example, the subnet mask of the IP addresses of the clients 11 to 19, the communication speed between the server 1 and the clients 11 to 19, The communication speed between the clients 11 to 19 is included.

前記サーバ1はクライアントからの接続要求に応答し、クライアント11〜19との間でデータの送受信が可能な状態(コネクション)を確立する。図5はクライアントの制御部によるサーバとのコネクションの確立を説明するフローチャートである。   In response to a connection request from a client, the server 1 establishes a state (connection) in which data can be transmitted / received to / from the clients 11 to 19. FIG. 5 is a flowchart for explaining the establishment of the connection with the server by the control unit of the client.

クライアント11〜19の制御部11a〜19aは、ROMに格納された制御プログラム又は操作部11b〜19bなどから、サーバ1との間で共有データ及び後述する更新データの送受信が可能な状態(コネクション)を確立することを指示されたか否かを判定し(ステップS1)、サーバ1とコネクションを確立することを指示されるまで待機する(ステップS1:NO)。サーバ1とコネクションを確立することを指示された場合に(ステップS1:YES)、クライアント11〜19の制御部11a〜19aはサーバ1へ接続要求を送信する(ステップS2)。なおサーバ1への接続要求には接続を要求したクライアント11〜19のIPアドレスとサブネットマスクとが含まれる。   The control units 11a to 19a of the clients 11 to 19 can transmit / receive shared data and update data (to be described later) to and from the server 1 from a control program stored in the ROM or the operation units 11b to 19b. (Step S1: NO), and waits until an instruction to establish a connection with the server 1 is given (step S1: NO). When instructed to establish a connection with the server 1 (step S1: YES), the control units 11a to 19a of the clients 11 to 19 transmit a connection request to the server 1 (step S2). The connection request to the server 1 includes the IP address and subnet mask of the clients 11 to 19 that have requested connection.

そしてクライアント11〜19の制御部11a〜19aはサーバ1から応答があったか否か判定し(ステップS3)、応答があるまで待機する(ステップS3:NO)。サーバ1から応答があった場合に(ステップS3:YES)、クライアント11〜19の制御部11a〜19aはサーバ1への接続許可を示す信号を送信し(ステップS4)、サーバ1とのコネクションを確立する(ステップS5)。なおサーバ1からの応答には、クライアント11〜19からの接続要求に対する接続許可とクライアント11〜19への接続要求とが含まれる。   Then, the control units 11a to 19a of the clients 11 to 19 determine whether or not there is a response from the server 1 (step S3), and wait until there is a response (step S3: NO). When there is a response from the server 1 (step S3: YES), the control units 11a to 19a of the clients 11 to 19 transmit signals indicating connection permission to the server 1 (step S4), and establish a connection with the server 1. Establish (step S5). The response from the server 1 includes a connection permission for the connection requests from the clients 11 to 19 and a connection request to the clients 11 to 19.

図6はサーバの制御部によるクライアントとの接続処理を説明するフローチャートである。
サーバ1の制御部1aは、クライアント11〜19からの接続要求を受信したか否かを判定し(ステップS11)、クライアント11〜19からの接続要求を受信するまで待機する(ステップS11:NO)。クライアント11〜19からの接続要求にはクライアント11〜19のエントリーナンバー、IPアドレス及びサブネットマスクなどが含まれる。クライアント11〜19からの接続要求を受信した場合に(ステップS11:YES)、サーバ1の制御部1aは接続要求を受信したクライアント11〜19のエントリーナンバー、IPアドレス及びサブネットマスクを通信経路情報テーブルに記録する(ステップS12)。なおエントリーナンバーは、クライアント11〜19からの接続要求を受信した順にIPアドレスと共に通信経路情報テーブルに記録され、エントリーナンバーとIPアドレスとは対応する。
FIG. 6 is a flowchart for explaining a connection process with the client by the control unit of the server.
The control unit 1a of the server 1 determines whether or not a connection request from the clients 11 to 19 has been received (step S11), and waits until a connection request from the clients 11 to 19 is received (step S11: NO). . The connection requests from the clients 11 to 19 include the entry numbers, IP addresses, and subnet masks of the clients 11 to 19. When the connection request from the clients 11 to 19 is received (step S11: YES), the control unit 1a of the server 1 sets the entry number, IP address, and subnet mask of the clients 11 to 19 that have received the connection request to the communication path information table. (Step S12). The entry numbers are recorded in the communication path information table together with the IP addresses in the order in which the connection requests from the clients 11 to 19 are received, and the entry numbers correspond to the IP addresses.

そしてサーバ1の制御部1aは、エントリーナンバー及びIPアドレスを通信経路情報テーブルに記録したクライアント11〜19に応答する(ステップS13)。該応答にはクライアント11〜19からの接続要求に対する接続許可とクライアント11〜19への接続要求とが含まれる。次にサーバ1の制御部1aはクライアント11〜19から接続許可を受信したか否かを判定し(ステップS14)、クライアント11〜19から接続許可を受信するまで待機する(ステップS14:NO)。クライアント11〜19から接続許可を受信した場合に(ステップS14:YES)、サーバ1の制御部1aはクライアント11〜19とのコネクションを確立する(ステップS15)。なおサーバ1はクライアント11〜19から接続要求を受信した場合に(ステップS11)、クライアント11〜19の認証を行い、認証されたクライアント11〜19との間でのみステップS12以下の処理を実行しても良い。   And the control part 1a of the server 1 responds to the clients 11-19 which recorded the entry number and the IP address in the communication path information table (step S13). The response includes connection permission for connection requests from the clients 11 to 19 and connection requests to the clients 11 to 19. Next, the control unit 1a of the server 1 determines whether or not connection permission has been received from the clients 11 to 19 (step S14), and waits until connection permission is received from the clients 11 to 19 (step S14: NO). When connection permission is received from the clients 11 to 19 (step S14: YES), the control unit 1a of the server 1 establishes connections with the clients 11 to 19 (step S15). Note that when the server 1 receives a connection request from the clients 11 to 19 (step S11), the server 1 authenticates the clients 11 to 19, and executes the processes from step S12 onward only with the authenticated clients 11 to 19. May be.

サーバ1へ接続要求を送信したクライアント11〜19のエントリーナンバー及びIPアドレスを通信経路情報テーブルに記録したサーバ1は、サーバ1から送信したデータを転送する転送元クライアント及び該転送元クライアントから転送されたデータを受信する転送先クライアントを選定する選定処理を実行する。   The server 1 in which the entry numbers and IP addresses of the clients 11 to 19 that transmitted the connection request to the server 1 are recorded in the communication path information table is transferred from the transfer source client that transfers the data transmitted from the server 1 and the transfer source client. Select processing to select the transfer destination client that receives the received data.

図7はサーバの制御部による選定処理の第1実施例を説明するフローチャートである。なお初期状態において通信経路情報テーブルには情報が記録されていないものとする。
サーバ1の制御部1aは、同一のサブネットワークに接続されたクライアントに同一のグループ情報を付与するグルーピング処理(ステップS20)、同一のサブネットワークに接続されているクライアントから、優先的に転送元クライアント及び転送先クライアントを選定するグループ優先処理(ステップS30)、二つのクライアント間の通信速度(応答速度)が予め設定された閾値以上の場合に、両クライアントを転送元クライアント及び転送先クライアントに選定する閾値処理を順に実行し(ステップS40)、転送先クライアントのIPアドレスを転送元クライアントに送信する(ステップS50)。なお閾値処理(ステップS40)を行わずに、グループ優先処理(ステップS30)を行った後に、転送先クライアントのIPアドレスを転送元クライアントに送信しても良い(ステップS50)。
FIG. 7 is a flowchart for explaining a first embodiment of selection processing by the control unit of the server. It is assumed that no information is recorded in the communication path information table in the initial state.
The control unit 1a of the server 1 gives priority to the transfer source client from the grouping process (step S20) for giving the same group information to the clients connected to the same subnetwork, and the clients connected to the same subnetwork. And group priority processing for selecting a transfer destination client (step S30), and when the communication speed (response speed) between two clients is equal to or higher than a preset threshold, both clients are selected as a transfer source client and a transfer destination client. Threshold processing is executed in order (step S40), and the IP address of the transfer destination client is transmitted to the transfer source client (step S50). Note that the IP address of the transfer destination client may be transmitted to the transfer source client after performing the group priority process (step S30) without performing the threshold process (step S40) (step S50).

図8はサーバの制御部によるグルーピング処理を説明するフローチャートである。
サーバ1の制御部1aは、グループ情報を示す変数nをRAMに設定して変数nに初期値(本実施例にあっては1)を記録し(ステップS201)、エントリナンバーを示す変数XをRAMに設定して変数Xに初期値(本実施例にあっては11)を記録する(ステップS202)。そしてサーバ1の制御部1aは、エントリナンバーX(No.X)に対応するグループ情報にnを設定する(ステップS203)。次にサーバ1の制御部1aはRAMに設定した変数YにX+1を記録する(ステップS204)。そしてサーバ1の制御部1aは、変数Yがエントリナンバーの最大値(MAXNo.)よりも大きいか否かを判定する(ステップS205)。変数YがMAXNo.よりも大きい場合には(ステップS205:YES)、後述するNo.XとエントリナンバーY(No.Y)とのIPアドレスのネットワークアドレス部が一致するか否かを判定する処理、すなわちNo.Xに対応するクライアントとNo.Yに対応するクライアントとが同一のサブネットワークに接続されているか否かを判定する処理を終了し、Xをインクリメントすべき状態にあり、サーバ1の制御部1aは後述するステップS211へ処理を進める。
FIG. 8 is a flowchart for explaining grouping processing by the control unit of the server.
The control unit 1a of the server 1 sets a variable n indicating group information in the RAM, records an initial value (1 in the present embodiment) in the variable n (step S201), and sets a variable X indicating an entry number. The initial value (11 in this embodiment) is recorded in the variable X after being set in the RAM (step S202). Then, the control unit 1a of the server 1 sets n to the group information corresponding to the entry number X (No. X) (step S203). Next, the control unit 1a of the server 1 records X + 1 in the variable Y set in the RAM (step S204). Then, the control unit 1a of the server 1 determines whether or not the variable Y is larger than the maximum entry number (MAX No.) (step S205). The variable Y is MAXNo. If larger than (No at Step S205), No. described later. X is a process for determining whether or not the network address part of the IP address of the entry number Y (No. Y) matches, X corresponding to the client corresponding to X. The process of determining whether or not the client corresponding to Y is connected to the same subnetwork is terminated, and X is to be incremented, and the control unit 1a of the server 1 advances the process to step S211 to be described later. .

変数Yがエントリナンバーの最大値(MAXNo.)以下である場合には(ステップS205:NO)、No.Yに対応するグループ情報が未設定であるか否かを判定する(ステップS206)。No.Yに対応するグループ情報が設定されている場合には(ステップS206:NO)、サーバ1の制御部1aは後述するステップS209へ処理を進める。   If the variable Y is less than or equal to the maximum entry number (MAX No.) (step S205: NO), No. It is determined whether or not the group information corresponding to Y has not been set (step S206). No. When the group information corresponding to Y is set (step S206: NO), the control unit 1a of the server 1 advances the process to step S209 described later.

No.Yに対応するグループ情報が未設定である場合には(ステップS206:YES)、サーバ1の制御部1aは、記憶部1eの通信経路情報テーブルにアクセスして、No.X及びNo.YのIPアドレス及びサブネットマスクを参照し、No.X及びNo.YのIPアドレスのネットワークアドレス部が一致するか否かを判定する(ステップS207)。No.X及びNo.YのIPアドレスのネットワークアドレス部が一致する場合には(ステップS207:YES)、サーバ1の制御部1aは、No.Yに対応するグループ情報にnを設定する(ステップS208)。   No. If the group information corresponding to Y is not set (step S206: YES), the control unit 1a of the server 1 accesses the communication path information table of the storage unit 1e, and No. X and No. Refer to the IP address and subnet mask of Y. X and No. It is determined whether or not the network address part of the Y IP address matches (step S207). No. X and No. When the network address part of the IP address of Y matches (step S207: YES), the control part 1a of the server 1 N is set in the group information corresponding to Y (step S208).

No.X及びNo.YのIPアドレスのネットワークアドレス部が一致しない場合には(ステップS207:NO)、サーバ1の制御部1aは変数Yをインクリメントし(ステップS209)、変数YがMAXNo.よりも大きいか否かを判定する(ステップS210)。変数YがMAXNo.以下である場合には(ステップS210:NO)、サーバ1の制御部1aは、ステップS206へ処理を戻す。   No. X and No. If the network address part of the IP address of Y does not match (step S207: NO), the control part 1a of the server 1 increments the variable Y (step S209), and the variable Y is MAXNo. It is determined whether it is larger than (step S210). The variable Y is MAXNo. If it is the following (step S210: NO), the control unit 1a of the server 1 returns the process to step S206.

変数YがMAXNo.よりも大きい場合には(ステップS210:YES)、No.Xよりも大きいNo.Yとの比較は全て終了しているので、サーバ1の制御部1aは変数Xをインクリメントし(ステップS211)、変数XがMAXNo.よりも大きいか否かを判定する(ステップS212)。変数XがMAXNo.よりも大きい場合には(ステップS212:YES)、変数Xと変数Yとの比較が全て終了しているので、サーバ1の制御部1aはグルーピング処理を終了し、グループ優先処理(ステップS30、図7参照)へ処理を進める。   The variable Y is MAXNo. If it is greater than (step S210: YES), no. No. larger than X. Since all the comparisons with Y have been completed, the control unit 1a of the server 1 increments the variable X (step S211). It is determined whether it is larger than (step S212). The variable X is MAXNo. Is greater than (step S212: YES), the comparison between the variable X and the variable Y is all completed, so the control unit 1a of the server 1 ends the grouping process, and the group priority process (step S30, FIG. 7)).

変数XがMAXNo.以下である場合には(ステップS212:NO)、サーバ1の制御部1aは、No.Xに対応するグループ情報は未設定であるか否かを判定する(ステップS213)。No.Xに対応するグループ情報が設定されている場合には(ステップS213:NO)、No.XとNo.Xよりも大きいNo.Yとの比較は全て終了しているので、サーバ1の制御部1aはステップS211へ処理を戻す。No.Xに対応するグループ情報が未設定である場合には(ステップS213:YES)、サーバ1の制御部1aは変数nをインクリメントし(ステップS214)、ステップS203へ処理を戻す。   The variable X is MAXNo. If it is below (step S212: NO), the control unit 1a of the server 1 It is determined whether or not the group information corresponding to X is not set (step S213). No. If group information corresponding to X is set (step S213: NO), No. X and No. No. larger than X. Since all comparisons with Y have been completed, the control unit 1a of the server 1 returns the process to step S211. No. When the group information corresponding to X is not set (step S213: YES), the control unit 1a of the server 1 increments the variable n (step S214) and returns the process to step S203.

サーバ1の制御部1aは上記グルーピング処理の終了後に、グループ優先処理を実行する。図9はサーバの制御部によるグループ優先処理を説明するフローチャートである。   The control unit 1a of the server 1 executes the group priority process after the grouping process is completed. FIG. 9 is a flowchart for explaining group priority processing by the control unit of the server.

サーバ1の制御部1aは、グループ情報を示す変数nに初期値(本実施例にあっては1)を記録し(ステップS301)、グループn内におけるエントリーナンバーを示す変数Xn をRAMに設定して変数Xn に初期値(本実施例にあっては11)を記録する(ステップS302)。そしてサーバ1の制御部1aは、No.Xn を選択する(ステップS303)。次にサーバ1の制御部1aは選択したNo.Xn のグループn内における次のエントリーナンバーNo.Xn +1が存在するか否かを判定する(ステップS304)。No.Xn +1が存在しない場合に(ステップS304:NO)、サーバ1の制御部1aはNo.Xn に対応する転送先IPアドレスにNo.Xn のIPアドレスを記録する(ステップS305)。以後、IPアドレスと転送先IPアドレスとが一致するクライアントを孤立クライアントという。そしてサーバ1の制御部1aはグループ優先処理を終了し、閾値処理(ステップS40、図7参照)へ処理を進める。 The control unit 1a of the server 1 records an initial value (1 in this embodiment) in a variable n indicating group information (step S301), and sets a variable Xn indicating an entry number in the group n in the RAM. Then, the initial value (11 in this embodiment) is recorded in the variable X n (step S302). And the control part 1a of the server 1 is No. Xn is selected (step S303). Next, the control unit 1a of the server 1 selects the selected No. The next entry number in the group n of X n No. It is determined whether or not X n +1 exists (step S304). No. When there is no X n +1 (step S304: NO), the control unit 1a of the server 1 is No. No. is assigned to the transfer destination IP address corresponding to Xn . The IP address of Xn is recorded (step S305). Hereinafter, a client whose IP address and transfer destination IP address match is referred to as an isolated client. And the control part 1a of the server 1 complete | finishes a group priority process, and advances a process to a threshold value process (refer step S40, FIG. 7).

次にサーバ1の制御部1aは、No.Xn +1が存在する場合、すなわちNo.Xn がグループn内における最大のエントリーナンバーでない場合に(ステップS304:YES)、サーバ1の制御部1aはNo.Xn に対応する転送先IPアドレスにNo.Xn +1のIPアドレスを記録し(ステップS306)、No.Xn +1に対応する転送先IPアドレスにnullを記録する(ステップS307)。以後IPアドレスと転送先IPアドレスとに異なるアドレスが記録してあるクライアントを転送元クライアントといい、転送先IPアドレスにnullを記録したクライアントを転送先クライアントという。ステップS306及びステップS307の処理によって、グループn内において昇順にNo.Xn とNo.Xn +1との対、すなわち同一のサブネット内における転送元クライアント及び転送先クライアントの対が成立する。 Next, the control unit 1a of the server 1 When X n +1 exists, that is, No. When Xn is not the maximum entry number in group n (step S304: YES), the control unit 1a of the server 1 determines No. No. is assigned to the transfer destination IP address corresponding to Xn . Record the IP address of X n +1 (step S306). Null is recorded at the transfer destination IP address corresponding to X n +1 (step S307). Hereinafter, a client in which different addresses are recorded in the IP address and the transfer destination IP address is called a transfer source client, and a client in which null is recorded in the transfer destination IP address is called a transfer destination client. By the processing of step S306 and step S307, No. Xn and No. A pair with X n +1, that is, a pair of a transfer source client and a transfer destination client in the same subnet is established.

そしてサーバ1の制御部1aは、Xn にXn +2を記録し(ステップS308)、No.Xn が、グループn内における最大のエントリーナンバーであるか否かを判定する(ステップS309)。No.Xn が、グループn内における最大のエントリーナンバーでない場合に(ステップS309:NO)、サーバ1の制御部1aはステップS303へ処理を戻す。このため本実施例におけるクライアント19は、クライアント17及びクライアント18と同一のサブネットに接続しているが、クライアント17及びクライアント18によって転送元クライアント及び転送先クライアントの対が成立するため、孤立クライアントとなる(図4参照)。 The control unit 1a of the server 1 records the X n +2 to X n (step S308), No. X n is equal to or a maximum entry number in the group n (step S309). No. When Xn is not the maximum entry number in group n (step S309: NO), the control unit 1a of the server 1 returns the process to step S303. For this reason, the client 19 in the present embodiment is connected to the same subnet as the client 17 and the client 18, but the client 17 and the client 18 form a pair of a transfer source client and a transfer destination client, and thus become an isolated client. (See FIG. 4).

No.Xn が、グループn内における最大のエントリーナンバーである場合に(ステップS309:YES)、サーバ1の制御部1aは、nをインクリメントし(ステップS310)、nがグループ情報に記録してある値の最大値を超過しているか否か、すなわちすべてのグループについて転送先IPアドレスにアドレス又はnullを記録したか否かを判定する(ステップS311)。nがグループ情報に記録してある値の最大値以下である場合、すなわち転送先IPアドレスにアドレス又はnullを記録していないグループが存在する場合に(ステップS311:NO)、サーバ1の制御部1aはステップS303へ処理を戻す。nがグループ情報に記録してある値の最大値を超過している場合、すなわちすべてのグループについて転送先IPアドレスにアドレス又はnullを記録している場合に(ステップS311:YES)、サーバ1の制御部1aはグループ優先処理を終了し、閾値処理(ステップS40、図7参照)へ処理を進める。 No. When X n is the maximum entry number in group n (step S309: YES), the control unit 1a of the server 1 increments n (step S310), and n is a value recorded in the group information. It is determined whether or not the maximum value is exceeded, that is, whether or not addresses or nulls are recorded in the transfer destination IP addresses for all groups (step S311). When n is less than or equal to the maximum value recorded in the group information, that is, when there is a group in which no address or null is recorded in the transfer destination IP address (step S311: NO), the control unit of the server 1 1a returns the process to step S303. When n exceeds the maximum value recorded in the group information, that is, when addresses or nulls are recorded in the transfer destination IP addresses for all groups (step S311: YES), the server 1 The control unit 1a ends the group priority processing, and advances the processing to threshold processing (see step S40, FIG. 7).

次に閾値処理について説明する。図10はサーバの制御部による閾値処理を説明するフローチャートである。
サーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し(ステップS401)、全ての孤立クライアントに対応するエントリーナンバーを抽出する(ステップS402)。そしてサーバ1の制御部1aは、抽出したエントリーナンバーに対応する孤立番号を、昇順に並んだエントリーナンバーに対応させて昇順に、通信経路情報テーブルの制御情報に記録する(ステップS403)。次にサーバ1の制御部1aは変数iをRAMに設定して変数iに最小の孤立番号を記録し(ステップS404)、孤立番号i+1が存在するか否か、すなわち孤立番号iと対をなし得る連続した孤立番号が存在するか否かを判定する(ステップS405)。
Next, threshold processing will be described. FIG. 10 is a flowchart for explaining threshold processing by the control unit of the server.
The control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table (step S401), and extracts entry numbers corresponding to all isolated clients (step S402). Then, the control unit 1a of the server 1 records the isolated numbers corresponding to the extracted entry numbers in the control information of the communication path information table in ascending order corresponding to the entry numbers arranged in ascending order (step S403). Next, the control unit 1a of the server 1 sets the variable i in the RAM, records the minimum isolated number in the variable i (step S404), and makes a pair with the isolated number i, ie, whether or not the isolated number i + 1 exists. It is determined whether there are consecutive isolated numbers to be obtained (step S405).

孤立番号i+1が存在しない場合、すなわち孤立番号iと対をなす連続した孤立番号が存在しない場合に(ステップS405:NO)、サーバ1の制御部1aは記憶部1eにアクセスして通信経路情報テーブルを参照し、転送元クライアントに転送先IPアドレスを送信する(ステップS50、図7参照)。孤立番号i+1が存在する場合、すなわち孤立番号iと対をなす連続した孤立番号が存在する場合に(ステップS405:YES)、サーバ1の制御部1aはRAMに変数jを設定して変数jにi+1を記録する(ステップS406)。   When the isolated number i + 1 does not exist, that is, when there is no continuous isolated number paired with the isolated number i (step S405: NO), the control unit 1a of the server 1 accesses the storage unit 1e to access the communication path information table. The transfer destination IP address is transmitted to the transfer source client (step S50, see FIG. 7). When the isolated number i + 1 exists, that is, when there are continuous isolated numbers that are paired with the isolated number i (step S405: YES), the control unit 1a of the server 1 sets the variable j in the RAM and sets it as the variable j. i + 1 is recorded (step S406).

そしてサーバ1の制御部1aは、孤立番号i又は孤立番号jに対応するクライアントに、孤立番号i及び孤立番号jに対応する両クライアント間の通信速度(応答速度)の計測を要求する(ステップS407)。サーバ1の制御部1aは、孤立番号i又は孤立番号jに対応するクライアントから通信速度(応答速度)が返信されたか否かを判定し(ステップS408)、返信されるまで待機する(ステップS408:NO)。孤立番号i又は孤立番号jに対応するクライアントから通信速度が返信された場合に(ステップS408:YES)、サーバ1の制御部1aは、返信された通信速度が予めRAMに設定された閾値以上であるか否かを判定する(ステップS409)。なおクライアント間の通信速度(応答速度)を計測する技術としては、パケットの伝達速度の速いUDPを利用したNTP(Network Time Protocol)による送受信の遅延を考慮した後述する時計同期システムが挙げられる。   Then, the control unit 1a of the server 1 requests the client corresponding to the isolated number i or the isolated number j to measure the communication speed (response speed) between both clients corresponding to the isolated number i and the isolated number j (step S407). ). The control unit 1a of the server 1 determines whether or not a communication speed (response speed) is returned from the client corresponding to the isolated number i or the isolated number j (step S408), and waits until it is returned (step S408: NO). When the communication speed is returned from the client corresponding to the isolated number i or the isolated number j (step S408: YES), the controller 1a of the server 1 determines that the returned communication speed is equal to or higher than a threshold set in advance in the RAM. It is determined whether or not there is (step S409). As a technique for measuring the communication speed (response speed) between clients, there is a clock synchronization system to be described later in consideration of transmission / reception delay by NTP (Network Time Protocol) using UDP having a high packet transmission speed.

返信された通信速度が予めRAMに設定された閾値以上である場合に(ステップS409:YES)、サーバ1の制御部1aは孤立番号iに対応する転送先IPアドレスに孤立番号jに対応するIPアドレスを記録(上書き)し(ステップS410)、孤立番号jに対応する転送先IPアドレスに孤立番号jにnullを記録(上書き)する(ステップS411)。このとき孤立番号iに対応する孤立クライアントは転送元クライアントとなり、孤立番号jに対応する孤立クライアントは転送先クライアントとなる。   When the returned communication speed is equal to or higher than the threshold set in the RAM in advance (step S409: YES), the control unit 1a of the server 1 sets the IP address corresponding to the isolated number j to the transfer destination IP address corresponding to the isolated number i. The address is recorded (overwritten) (step S410), and null is recorded (overwritten) in the isolated number j at the transfer destination IP address corresponding to the isolated number j (step S411). At this time, the isolated client corresponding to the isolated number i is a transfer source client, and the isolated client corresponding to the isolated number j is a transfer destination client.

そしてサーバ1の制御部1aは、変数iにi+2を記録し(ステップS412)、孤立番号iが孤立番号の最大値よりも大きいか否か、すなわち全ての孤立クライアント相互間の通信速度を計測したか否かを判定する(ステップS413)。孤立番号iが孤立番号の最大値以下である場合、すなわちクライアント間の通信速度が未計測の孤立クライアントが存在する場合に(ステップS413:NO)、サーバ1の制御部1aは、ステップS405へ処理を戻す。孤立番号iが孤立番号の最大値よりも大きい場合、すなわち全ての孤立クライアント相互間の通信速度を計測した場合に(ステップS413:YES)、サーバ1の制御部1aは閾値処理を終了して記憶部1eにアクセスし、通信経路情報テーブルを参照して、転送元クライアントに転送先IPアドレスを送信する(ステップS50、図7参照)。   Then, the control unit 1a of the server 1 records i + 2 in the variable i (step S412), and measures whether or not the isolated number i is larger than the maximum isolated number, that is, the communication speed between all isolated clients. It is determined whether or not (step S413). When the isolated number i is equal to or less than the maximum value of the isolated number, that is, when there is an isolated client whose communication speed between clients is not measured (step S413: NO), the control unit 1a of the server 1 proceeds to step S405. To return. When the isolated number i is larger than the maximum isolated number, that is, when the communication speed between all isolated clients is measured (step S413: YES), the control unit 1a of the server 1 ends the threshold processing and stores it. The unit 1e is accessed, and the transfer destination IP address is transmitted to the transfer source client with reference to the communication path information table (step S50, see FIG. 7).

前述したステップS409において、返信された通信速度が予めRAMに設定された閾値未満である場合に(ステップS409:NO)、サーバ1の制御部1aは変数jをインクリメントし(ステップS414)、孤立番号jが孤立番号の最大値よりも大きいか否か、すなわち孤立番号iに対応するクライアントと孤立番号iよりも値の大きい孤立番号jに対応するクライアントとの間での通信速度の計測が終了したか否かを判定する(ステップS415)。孤立番号jが孤立番号の最大値以下である場合に(ステップS415:NO)、サーバ1の制御部1aはステップS407へ処理を戻す。孤立番号jが孤立番号の最大値よりも大きい場合に(ステップS415:YES)、サーバ1の制御部1aは、ステップS412へ処理を進める。   In the above-described step S409, when the returned communication speed is less than the threshold value previously set in the RAM (step S409: NO), the control unit 1a of the server 1 increments the variable j (step S414), and the isolated number Whether or not j is larger than the maximum isolated number, that is, measurement of the communication speed between the client corresponding to isolated number i and the client corresponding to isolated number j having a larger value than isolated number i has been completed. It is determined whether or not (step S415). When the isolated number j is equal to or less than the maximum value of the isolated number (step S415: NO), the control unit 1a of the server 1 returns the process to step S407. When the isolated number j is larger than the maximum isolated number (step S415: YES), the control unit 1a of the server 1 advances the process to step S412.

ステップS407において、孤立番号i及び孤立番号jに対応する両クライアント間の通信速度の計測を要求されたクライアントは、両クライアント間の通信速度を算出する。図11は孤立番号i又は孤立番号jに対応するクライアントの制御部による通信速度の算出処理を説明するフローチャートである。   In step S407, the client that is requested to measure the communication speed between the two clients corresponding to the isolated number i and the isolated number j calculates the communication speed between the two clients. FIG. 11 is a flowchart for explaining communication speed calculation processing by the control unit of the client corresponding to the isolated number i or the isolated number j.

孤立番号i及び孤立番号jに対応する両クライアントの一方(一のクライアント)の制御部は、サーバ1から、一のクライアントと孤立番号i及び孤立番号jに対応する両クライアントの他方(他のクライアント)との間の通信速度を計測することを要求されたか否かを判定し(ステップS421)、該要求があるまで待機する(ステップS421:NO)。前記要求があった場合に(ステップS421:YES)、一のクライアントの制御部は他のクライアントへ通信速度を計測することを要求する(ステップS422)。そして一のクライアントの制御部は他のクライアントから応答があったか否かを判定し(ステップS423)、応答があるまで待機する(ステップS423:NO)。   One of the clients corresponding to the isolated number i and the isolated number j (one client) is controlled by the control unit from the server 1 and the other of the two clients corresponding to the isolated number i and the isolated number j (other clients). ) Is determined whether or not it is requested to measure the communication speed (step S421), and waits until the request is made (step S421: NO). When there is the request (step S421: YES), the control unit of one client requests the other client to measure the communication speed (step S422). Then, the control unit of one client determines whether or not there is a response from another client (step S423), and waits until there is a response (step S423: NO).

他のクライアントから応答があった場合に(ステップS423:YES)、一のクライアントの制御部は、一のクライアントが他のクライアントに要求した時点の時刻、他のクライアントからの応答に含まれており、他のクライアントが一のクライアントからの要求を受信した時点の時刻及び他のクライアントが応答を送信した時点の時刻、一のクライアントが他のクライアントからの応答を受信した時点の時刻並びに一のクライアント及び他のクライアント間の遅延などに基づいて一のクライアントと他のクライアントとの間の通信速度を算出する(ステップS424)。   When there is a response from another client (step S423: YES), the control unit of one client is included in the response from the other client at the time when the one client requested the other client. The time when another client received a request from one client and the time when another client sent a response, the time when one client received a response from another client, and one client The communication speed between one client and another client is calculated based on the delay between other clients and the like (step S424).

なお一のクライアントの制御部は他のクライアントから応答があった場合に、他のクライアントからの応答に含まれており、他のクライアントが一のクライアントからの要求を受信した時点の時刻及び他のクライアントが応答した時点の時刻、他のクライアントからの応答を受信した時点の時刻を自身のRAMに記録する。また一のクライアント及び他のクライアント間の遅延は、一のクライアントのRAMに予め設定されているものとする。   When a response is received from another client, the control unit of one client is included in the response from the other client, and the time when the other client receives a request from the one client and other The time when a client responds and the time when a response from another client is received are recorded in its own RAM. It is assumed that the delay between one client and another client is set in advance in the RAM of one client.

クライアント間の通信速度を計測する技術としては、パケットの伝達速度の速いUDPを利用したNTPによる送受信の遅延を考慮した時計同期システムが挙げられる。具体的には一のクライアント及び他のクライアント間の遅延が両方向において等しい場合に、一のクライアントが他のクライアントに要求した時点の時刻及び他のクライアントが応答を送信した時点の時刻の合算値と、他のクライアントが一のクライアントからの要求を受信した時点の時刻及び他のクライアントが応答を送信した時点の時刻の合算値との差を算出し、該差の半分の値を一のクライアント及び他のクライアントが有するタイマの時点の時刻の差とし、該差を一のクライアント又は他のクライアントの時点の時刻に加算又は減算して通信速度を求める。UDPを利用することで同報通信が可能となり、一のクライアントと複数の他のクライアントとの間の通信速度を迅速に算出することができる。
そして一のクライアントの制御部は、サーバ1に応答する(ステップS425)。
As a technique for measuring the communication speed between clients, there is a clock synchronization system that takes into account a delay in transmission and reception by NTP using UDP having a high packet transmission speed. Specifically, when the delay between one client and another client is equal in both directions, the sum of the time when one client requests the other client and the time when the other client sends a response The difference between the time when the other client receives the request from the one client and the sum of the times when the other client transmits the response is calculated, and the half of the difference is The difference in time at the time of the timer possessed by another client is taken, and the communication speed is obtained by adding or subtracting the difference to the time at the time of one client or another client. By using UDP, broadcast communication is possible, and the communication speed between one client and a plurality of other clients can be quickly calculated.
Then, the control unit of one client responds to the server 1 (step S425).

ステップS422において、一のクライアントから計測要求を受信した他のクライアントは、一のクライアントに応答する。
図12は一のクライアントから通信速度の計測要求を受信した他のクライアントの制御部における処理を説明するフローチャートである。
他のクライアントの制御部は、ステップS422にて、一のクライアントと他のクライアントとの通信速度の計測を要求されたか否かを判定し(ステップS431)、該要求があるまで待機する(ステップS431:NO)。前記要求があった場合に(ステップS431:YES)、他のクライアントの制御部は前記要求を受信した時点の時刻及び応答時の時点の時刻を示す情報と共に応答する(ステップS432)。
In step S422, the other client that has received the measurement request from the one client responds to the one client.
FIG. 12 is a flowchart for explaining processing in the control unit of another client that has received a communication speed measurement request from one client.
In step S422, the control unit of the other client determines whether or not the measurement of the communication speed between the one client and the other client is requested (step S431), and waits until the request is made (step S431). : NO). When the request is made (step S431: YES), the control unit of the other client responds with information indicating the time when the request is received and the time when the response is made (step S432).

図13はサーバの制御部による選定処理の第2実施例を説明するフローチャートである。なお初期状態において通信経路情報テーブルには情報が記録されていないものとする。
サーバ1の制御部1aは、同一のサブネットワークに接続されたクライアントに同一のグループ情報を付与するグルーピング処理(ステップS20)、同一のサブネットワークに接続されているクライアントから、優先的に転送元クライアント及び転送先クライアントを選定するグループ優先処理(ステップS30)、二つのクライアント間の通信速度が最速である場合に、両クライアントを転送元クライアント及び転送先クライアントに選定する最速処理(ステップS60)を順に実行し、転送先クライアントのIPアドレスを転送元クライアントに送信する(ステップS50)。なお最速処理(ステップS60)を行わずに、グループ優先処理(ステップS30)を行った後に、転送先クライアントのIPアドレスを転送元クライアントに送信しても良い(ステップS50)。
FIG. 13 is a flowchart for explaining a second embodiment of the selection process by the control unit of the server. It is assumed that no information is recorded in the communication path information table in the initial state.
The control unit 1a of the server 1 gives priority to the transfer source client from the grouping process (step S20) for giving the same group information to the clients connected to the same subnetwork, and the clients connected to the same subnetwork. And group priority processing (step S30) for selecting a transfer destination client, and the fastest processing (step S60) for selecting both clients as a transfer source client and a transfer destination client when the communication speed between the two clients is the fastest. The IP address of the transfer destination client is transmitted to the transfer source client (step S50). Note that the IP address of the transfer destination client may be transmitted to the transfer source client after performing the group priority process (step S30) without performing the fastest process (step S60) (step S50).

図14はサーバの制御部による最速処理を説明するフローチャートである。   FIG. 14 is a flowchart for explaining the fastest processing by the control unit of the server.

サーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し(ステップS601)、全ての孤立クライアントに対応するエントリーナンバーを抽出する(ステップS602)。そしてサーバ1の制御部1aは、抽出したエントリーナンバーに対応する孤立番号を、昇順に並んだエントリーナンバーに対応させて昇順に、通信経路情報テーブルの制御情報に記録する(ステップS603)。次にサーバ1の制御部1aは変数iをRAMに設定して変数iに最小の孤立番号を記録し(ステップS604)、孤立番号i+1が存在するか否か、すなわち孤立番号iと対をなし得る連続した孤立番号が存在するか否かを判定する(ステップS605)。   The control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table (step S601), and extracts entry numbers corresponding to all isolated clients (step S602). Then, the control unit 1a of the server 1 records the isolated numbers corresponding to the extracted entry numbers in the control information of the communication path information table in ascending order corresponding to the entry numbers arranged in ascending order (step S603). Next, the control unit 1a of the server 1 sets the variable i in the RAM, records the minimum isolated number in the variable i (step S604), and makes a pair with the isolated number i, that is, whether or not the isolated number i + 1 exists. It is determined whether there are consecutive isolated numbers to be obtained (step S605).

孤立番号i+1が存在しない場合に(ステップS605:NO)、サーバ1の制御部1aは最速処理を終了し、記憶部1eにアクセスして通信経路情報テーブルを参照し、転送元クライアントに転送先IPアドレスを送信する(ステップS50、図13参照)。孤立番号i+1が存在する場合に(ステップS605:YES)、サーバ1の制御部1aはRAMに変数jを設定して変数jにi+1を記録する(ステップS606)。   When the isolated number i + 1 does not exist (step S605: NO), the control unit 1a of the server 1 ends the fastest processing, accesses the storage unit 1e, refers to the communication path information table, and transfers the transfer destination IP to the transfer source client. The address is transmitted (step S50, see FIG. 13). When the isolated number i + 1 exists (step S605: YES), the control unit 1a of the server 1 sets the variable j in the RAM and records i + 1 in the variable j (step S606).

そしてサーバ1の制御部1aは、孤立番号i又は孤立番号jに対応するクライアントに、孤立番号i及び孤立番号jに対応する両クライアント間の通信速度の計測を要求する(ステップS607)。このとき孤立番号i及び孤立番号jに対応する両クライアントによって、両クライアント間の通信速度が計測される(図11及び図12参照)。孤立番号i又は孤立番号jに対応するクライアントから通信速度が返信されたか否かを判定し(ステップS608)、返信されるまで待機する(ステップS608:NO)。孤立番号i又は孤立番号jに対応するクライアントから通信速度が返信された場合に(ステップS608:YES)、サーバ1の制御部1aは通信速度を、孤立番号i又は孤立番号jに対応する通信情報テーブルの制御情報に記録し(ステップS609)、変数jをインクリメントする(ステップS610)。次にサーバ1の制御部1aは、孤立番号jが孤立番号の最大値よりも大きいか否か、すなわち孤立番号iに対応するクライアントと孤立番号iよりも大きな番号である孤立番号jに対応する全てのクライアントとの間において、通信速度を計測したか否かを判定する(ステップS611)。孤立番号jが孤立番号の最大値以下である場合、すなわち孤立番号iに対応するクライアントとの間で通信速度が未計測である孤立番号jに対応するクライアントが存在する場合に(ステップS611:NO)、サーバ1の制御部1aはステップS607へ処理を戻す。   Then, the control unit 1a of the server 1 requests the client corresponding to the isolated number i or the isolated number j to measure the communication speed between both clients corresponding to the isolated number i and the isolated number j (step S607). At this time, the communication speed between both clients is measured by both clients corresponding to the isolated number i and the isolated number j (see FIGS. 11 and 12). It is determined whether or not the communication speed is returned from the client corresponding to the isolated number i or the isolated number j (step S608) and waits until it is returned (step S608: NO). When the communication speed is returned from the client corresponding to the isolated number i or the isolated number j (step S608: YES), the control unit 1a of the server 1 sets the communication speed to the communication information corresponding to the isolated number i or the isolated number j. It is recorded in the control information of the table (step S609), and the variable j is incremented (step S610). Next, the control unit 1a of the server 1 determines whether or not the isolated number j is larger than the maximum value of the isolated number, that is, the client corresponding to the isolated number i and the isolated number j that is a larger number than the isolated number i. It is determined whether or not the communication speed has been measured with all the clients (step S611). When the isolated number j is equal to or less than the maximum value of the isolated number, that is, when there is a client corresponding to the isolated number j whose communication speed is not measured with the client corresponding to the isolated number i (step S611: NO) ), The control unit 1a of the server 1 returns the process to step S607.

孤立番号jが孤立番号の最大値よりも大きい場合、すなわち孤立番号iに対応するクライアントと孤立番号iよりも大きな番号である孤立番号jに対応する全てのクライアントとの間において、通信速度を計測した場合に(ステップS611:YES)、サーバ1の制御部1aは記憶部1eの通信情報テーブルを参照して、最速の通信速度を抽出し(ステップS612)、孤立番号iに対応する転送先IPアドレスに最速の通信速度に対応したIPアドレスを記録(上書き)する(ステップS613)。次にサーバ1の制御部1aは最速の通信速度に対応したエントリナンバの転送先IPアドレスに、nullを記録(上書き)する(ステップS614)。このとき孤立番号iに対応する孤立クライアントは転送元クライアントとなり、孤立番号jに対応する孤立クライアントは転送先クライアントとなる。   When the isolated number j is larger than the maximum isolated number, that is, the communication speed is measured between the client corresponding to the isolated number i and all the clients corresponding to the isolated number j that is larger than the isolated number i. In the case (step S611: YES), the control unit 1a of the server 1 refers to the communication information table in the storage unit 1e, extracts the fastest communication speed (step S612), and forwards the IP address corresponding to the isolated number i. The IP address corresponding to the fastest communication speed is recorded (overwritten) in the address (step S613). Next, the control unit 1a of the server 1 records (overwrites) null in the transfer destination IP address of the entry number corresponding to the fastest communication speed (step S614). At this time, the isolated client corresponding to the isolated number i is a transfer source client, and the isolated client corresponding to the isolated number j is a transfer destination client.

そしてサーバ1の制御部1aは変数iにi+2を記録して(ステップS615)、孤立番号iが孤立番号の最大値よりも大きいか否か、すなわち全ての孤立クライアント間における通信速度を計測し、最速の通信速度に対応する孤立クライアントの対を転送元クライアント及び転送先クライアントとしたか否かを判定する(ステップS616)。孤立番号iが孤立番号の最大値以下である場合、すなわち通信速度を計測していない孤立クライアントの対が存在する場合に(ステップS616:NO)、サーバ1の制御部1aはステップS605へ処理を戻す。孤立番号iが孤立番号の最大値よりも大きい場合、すなわち全ての孤立クライアント間における通信速度を計測し、最速時間に対応する孤立クライアントの対を転送元クライアント及び転送先クライアントとした場合(ステップS616:YES)に、サーバ1の制御部1aは最速処理を終了して記憶部1eにアクセスし、通信経路情報テーブルを参照して、転送元クライアントに転送先IPアドレスを送信する(ステップS50、図13参照)。   Then, the control unit 1a of the server 1 records i + 2 in the variable i (step S615), and measures whether or not the isolated number i is larger than the maximum value of the isolated number, that is, the communication speed between all isolated clients. It is determined whether or not the pair of isolated clients corresponding to the fastest communication speed is the transfer source client and the transfer destination client (step S616). When the isolated number i is equal to or less than the maximum value of the isolated number, that is, when there is a pair of isolated clients that do not measure the communication speed (step S616: NO), the control unit 1a of the server 1 proceeds to step S605. return. When the isolated number i is larger than the maximum value of the isolated number, that is, when the communication speed between all the isolated clients is measured, and the pair of isolated clients corresponding to the fastest time is set as the transfer source client and the transfer destination client (step S616) : YES), the control unit 1a of the server 1 terminates the fastest processing, accesses the storage unit 1e, refers to the communication path information table, and transmits the transfer destination IP address to the transfer source client (step S50, FIG. 13).

なおグルーピング処理(ステップS20)及びグループ優先処理(ステップS30)は選定処理の第1実施例と同様であり、その詳細な説明を省略する。   The grouping process (step S20) and the group priority process (step S30) are the same as those in the first embodiment of the selection process, and detailed description thereof is omitted.

図15はサーバの制御部による選定処理の第3実施例を説明するフローチャートである。なお初期状態において通信経路情報テーブルには情報が記録されていないものとする。
サーバ1の制御部1aは、サーバ1及びクライアント間の通信速度を計測するサーバ・クライアント通信速度計測処理(ステップS70)、サーバ1及びクライアント間の通信速度(応答速度)とクライアント間の通信速度(応答速度)とに基づいて、クライアント間の通信経路を決定するクライアント間通信経路決定処理(ステップS80)を順に実行し、転送先クライアントのIPアドレスを転送元クライアントに送信する(ステップS50)。
FIG. 15 is a flowchart for explaining a third embodiment of the selection process by the control unit of the server. It is assumed that no information is recorded in the communication path information table in the initial state.
The control unit 1a of the server 1 performs server / client communication speed measurement processing (step S70) for measuring the communication speed between the server 1 and the client, the communication speed (response speed) between the server 1 and the client, and the communication speed between the clients (response speed). Based on the response speed, an inter-client communication path determination process (step S80) for determining a communication path between clients is sequentially executed, and the IP address of the transfer destination client is transmitted to the transfer source client (step S50).

図16はサーバの制御部におけるサーバ・クライアント通信速度計測処理を説明するフローチャートである。   FIG. 16 is a flowchart for explaining server / client communication speed measurement processing in the control unit of the server.

図16に示すように、サーバ1の制御部1aはサーバ1とクライアントとの通信速度(応答速度)の計測をクライアントに要求する(ステップS701)。このときサーバ1の制御部1aはタイマを参照して、サーバ1とクライアントとの通信速度(応答速度)の計測を要求した時点の時刻をRAMに記録する。またクライアントはサーバ1からの要求に対して応答する(ステップS431及びステップS432において「一のクライアント」を「サーバ1」に、「他のクライアント」を「クライアント」に読み替えて図12参照)。サーバ1の制御部1aはクライアントから応答があったか否かを判定し(ステップS702)、応答があるまで待機する(ステップS702:NO)。クライアントから応答があった場合に(ステップS702:YES)、サーバ1の制御部1aは、サーバ1がクライアントに要求した時点の時刻、応答に含まれており、クライアントが要求を受信した時点の時刻及びクライアントが応答を送信した時点の時刻、サーバ1が応答を受信した時点の時刻並びにサーバ1及びクライアント間の遅延などに基づいて第1通信速度を算出する(ステップS703)。なおサーバ1の制御部1aはクライアントから応答があった場合に、クライアントが要求を受信した時点の時刻及びクライアントが応答を送信した時点の時刻、サーバ1が応答を受信した時点の時刻をRAMに記録する。またサーバ1及びクライアント間の遅延は、サーバ1のRAMに予め設定されているものとする。なおサーバ1・クライアント間の通信速度を計測する技術としては、パケットの伝達速度の速いUDPを利用したNTPによる送受信の遅延を考慮した時計同期システムが挙げられる。   As shown in FIG. 16, the control unit 1a of the server 1 requests the client to measure the communication speed (response speed) between the server 1 and the client (step S701). At this time, the control unit 1a of the server 1 refers to the timer and records the time when the measurement of the communication speed (response speed) between the server 1 and the client is requested in the RAM. The client responds to the request from the server 1 (refer to FIG. 12 by replacing “one client” with “server 1” and “other clients” with “client” in steps S431 and S432). The control unit 1a of the server 1 determines whether or not there is a response from the client (step S702), and waits until there is a response (step S702: NO). When there is a response from the client (step S702: YES), the control unit 1a of the server 1 includes the time when the server 1 requests the client and the time when the client receives the request. The first communication speed is calculated based on the time when the client transmits the response, the time when the server 1 receives the response, the delay between the server 1 and the client, and the like (step S703). In addition, when there is a response from the client, the control unit 1a of the server 1 stores the time when the client receives the request, the time when the client transmits the response, and the time when the server 1 receives the response in the RAM. Record. The delay between the server 1 and the client is set in advance in the RAM of the server 1. As a technique for measuring the communication speed between the server 1 and the client, there is a clock synchronization system that takes into account a delay in transmission and reception by NTP using UDP having a high packet transmission speed.

そしてサーバ1の制御部1aは、算出した第1通信速度(応答速度)を、応答したクライアントに対応する通信経路情報テーブルの制御情報に記録する(ステップS704)。そしてサーバ1の制御部1aは、サーバ1と全てのクライアントとの第1通信速度(応答速度)を記録したか否かを判定する(ステップS705)。   Then, the control unit 1a of the server 1 records the calculated first communication speed (response speed) in the control information of the communication path information table corresponding to the responding client (step S704). Then, the control unit 1a of the server 1 determines whether or not the first communication speed (response speed) between the server 1 and all clients has been recorded (step S705).

第1通信速度(応答速度)を記録していないクライアントが存在する場合(ステップS705:NO)に、サーバ1の制御部1aはステップS701に処理を戻す。サーバ1と全てのクライアントとの第1通信速度(応答速度)を記録した場合(ステップS705:YES)に、サーバ1の制御部1aはサーバ1・クライアント通信速度計測処理を終了し、クライアント間通信経路決定処理を実行する(ステップS80、図15参照)。   When there is a client that does not record the first communication speed (response speed) (step S705: NO), the control unit 1a of the server 1 returns the process to step S701. When the first communication speed (response speed) between the server 1 and all the clients is recorded (step S705: YES), the control unit 1a of the server 1 ends the server 1 / client communication speed measurement process, and the inter-client communication A route determination process is executed (step S80, see FIG. 15).

図17はサーバの制御部におけるクライアント間通信経路決定処理を説明するフローチャートである。   FIG. 17 is a flowchart for explaining a communication path determination process between clients in the control unit of the server.

サーバ1の制御部1aは、各クライアントとサーバ1との第1通信速度(応答速度)の全てが、RAMに設定された所定速度以上であるか否かを判定する(ステップS801)。各クライアントとサーバ1との第1通信速度(応答速度)の全てが所定速度以上である場合に(ステップS801:YES)、サーバ1の制御部1aは、前述したグルーピング処理(ステップS20)、グループ優先処理(ステップS30)及び最速処理(ステップS60)を順に実行する。なお最速処理(ステップS60)に代えて、閾値処理(ステップS40)を実行しても良い。そしてサーバ1の制御部1aはクライアント間通信経路決定処理を終了して記憶部1eにアクセスし、通信経路情報テーブルを参照して、転送元クライアントに転送先IPアドレスを送信する(ステップS50、図15参照)。   The control unit 1a of the server 1 determines whether or not all the first communication speeds (response speeds) between each client and the server 1 are equal to or higher than a predetermined speed set in the RAM (step S801). When all of the first communication speeds (response speeds) between each client and the server 1 are equal to or higher than the predetermined speed (step S801: YES), the control unit 1a of the server 1 performs the above-described grouping process (step S20), group The priority process (step S30) and the fastest process (step S60) are executed in order. Note that threshold processing (step S40) may be executed instead of the fastest processing (step S60). Then, the control unit 1a of the server 1 terminates the inter-client communication path determination process, accesses the storage unit 1e, refers to the communication path information table, and transmits the transfer destination IP address to the transfer source client (step S50, FIG. 15).

サーバ1との第1通信速度が前記所定速度未満のクライアントが存在する場合に(ステップS801:NO)、サーバ1の制御部1aは所定速度未満の第1通信速度に対応する一のクライアントを抽出し(ステップS802)、該一のクライアントと他のクライアントとの間の第2通信速度(応答速度)の計測を一のクライアントに要求する(ステップS803)。このとき一のクライアントにおいて、一のクライアントと他のクライアントとの間の第2通信速度(応答速度)が算出され、一のクライアントは第2通信速度と共にサーバ1に応答する(図11及び図12参照)。なおサーバ1の制御部1aが、第1通信速度が所定速度以上のクライアントを他のクライアントに指定し、一のクライアントは、指定された他のクライアントとの間の第2通信速度を算出する構成であっても良い。   When there is a client whose first communication speed with the server 1 is lower than the predetermined speed (step S801: NO), the control unit 1a of the server 1 extracts one client corresponding to the first communication speed lower than the predetermined speed. (Step S802), and requests the one client to measure the second communication speed (response speed) between the one client and another client (Step S803). At this time, the second communication speed (response speed) between the one client and another client is calculated in one client, and the one client responds to the server 1 together with the second communication speed (FIGS. 11 and 12). reference). The control unit 1a of the server 1 designates a client having a first communication speed equal to or higher than a predetermined speed as another client, and one client calculates a second communication speed with the designated other client. It may be.

次にサーバ1の制御部1aは、一のクライアントから応答があったか否かを判定し(ステップS804)、応答があるまで待機する(ステップS804:NO)。一のクライアントから応答があった場合に(ステップS804:YES)、サーバ1の制御部1aは記憶部1eにアクセスして、応答に含まれる第2通信速度を他のクライアントに対応する通信経路情報テーブルの制御情報に記録する(ステップS805)。そしてサーバ1の制御部1aは、第2通信速度が第1通信速度よりも速いか否かを判定する(ステップS806)。第2通信速度が第1通信速度よりも遅い場合に(ステップS806:NO)、サーバ1の制御部1aは、一のクライアントと全ての他のクライアントとの間の第2通信速度を制御情報に記録したか否かを判定する(ステップS807)。一のクライアントと全ての他のクライアントとの間の第2通信速度を制御情報に記録した場合に(ステップS807:YES)、サーバ1の制御部1aは、記憶部1eにアクセスして一のクライアントに対応する通信経路情報テーブルの制御情報にフラグを立てる(ステップS809)。そしてサーバ1の制御部1aは、ステップS801へ処理を戻す。該フラグは、ステップS801において無視することを示しており、ステップS801において、該フラグが存在するクライアントとサーバ1との第1通信速度は判定対象から除外される。   Next, the control unit 1a of the server 1 determines whether or not there is a response from one client (step S804), and waits until there is a response (step S804: NO). When there is a response from one client (step S804: YES), the control unit 1a of the server 1 accesses the storage unit 1e and sets the second communication speed included in the response to communication path information corresponding to the other client. It is recorded in the control information of the table (step S805). Then, the control unit 1a of the server 1 determines whether or not the second communication speed is faster than the first communication speed (step S806). When the second communication speed is slower than the first communication speed (step S806: NO), the control unit 1a of the server 1 uses the second communication speed between one client and all other clients as control information. It is determined whether or not recording has been performed (step S807). When the second communication speed between one client and all other clients is recorded in the control information (step S807: YES), the control unit 1a of the server 1 accesses the storage unit 1e to access the one client A flag is set in the control information of the communication path information table corresponding to (step S809). And the control part 1a of the server 1 returns a process to step S801. The flag indicates that the flag is ignored in step S801. In step S801, the first communication speed between the client and the server 1 in which the flag exists is excluded from the determination target.

制御情報に記録していない第2通信速度が存在する場合に(ステップS807:NO)、サーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し、エントリーナンバーが他のクライアントの次に大きいクライアント(一のクライアントを除く)を新たな他のクライアントに指定し(ステップS808)、ステップS803へ処理を戻す。   When there is a second communication speed that is not recorded in the control information (step S807: NO), the control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table, and the entry number is other. The next largest client (except one client) is designated as another new client (step S808), and the process returns to step S803.

ステップS806において、第2通信速度が第1通信速度よりも速い場合に(ステップS806:YES)、サーバ1の制御部1aは、他のクライアントに対応する転送先IPアドレスに一のクライアントのIPアドレスを記録し(ステップS810)、一のクライアントに対応する転送先IPアドレスにnullを記録する(ステップS811)。このとき他のクライアントは転送元クライアントとなり、一のクライアントは転送先クライアントとなる。そしてサーバ1の制御部1aはステップS810及びステップS811において記録した転送先IPアドレスの記載をロックし(ステップS812)、ステップS809へ処理を進める。前記ロックによって、グループ優先処理(ステップS30)、最速処理(ステップS60)及び閾値処理(ステップS40)において、一のクライアント及び他のクライアントは処理対象から除外される。なお前記ロックは必要に応じて解除することができる。   In step S806, when the second communication speed is higher than the first communication speed (step S806: YES), the control unit 1a of the server 1 sets the IP address of one client to the transfer destination IP address corresponding to another client. (Step S810), and null is recorded at the transfer destination IP address corresponding to one client (step S811). At this time, another client becomes a transfer source client, and one client becomes a transfer destination client. Then, the control unit 1a of the server 1 locks the description of the transfer destination IP address recorded in step S810 and step S811 (step S812), and advances the process to step S809. Due to the lock, in the group priority process (step S30), the fastest process (step S60), and the threshold process (step S40), one client and another client are excluded from the processing targets. The lock can be released as necessary.

本発明に係るデータ配信システムは、転送元クライアント及び転送先クライアントを選定する選定処理が終了した場合、サーバ1から転送元クライアントへデータを送信する前に、選定された転送元クライアント及び転送先クライアントの間でコネクションを確立させる。   When the selection process for selecting the transfer source client and the transfer destination client is completed, the data distribution system according to the present invention selects the selected transfer source client and transfer destination client before transmitting data from the server 1 to the transfer source client. Establish a connection between

図18はクライアントの制御部によるコネクション確立処理を説明するフローチャート、図19は転送元クライアント及び転送先クライアント間でのコネクションの確立を示す概念図である。   FIG. 18 is a flowchart for explaining connection establishment processing by the control unit of the client, and FIG. 19 is a conceptual diagram showing establishment of a connection between the transfer source client and the transfer destination client.

クライアントの制御部は、サーバ1から転送先IPアドレスを受信したか否かを判定する(ステップS91)。サーバ1から転送先IPアドレスを受信した場合、すなわち転送元クライアント又は孤立クライアントに指定された場合に(ステップS91:YES)、クライアントの制御部は受信した転送先IPアドレスが自身のIPアドレスと一致するか否かを判定する(ステップS92)。受信した転送先IPアドレスが自身のIPアドレスと一致する場合、すなわち孤立クライアントに指定された場合に(ステップS92:YES)、孤立クライアントの制御部はコネクション確立処理を終了する。   The control unit of the client determines whether or not the transfer destination IP address has been received from the server 1 (step S91). When the transfer destination IP address is received from the server 1, that is, when designated as a transfer source client or an isolated client (step S91: YES), the control unit of the client matches the received transfer destination IP address with its own IP address. It is determined whether or not to perform (step S92). When the received transfer destination IP address matches its own IP address, that is, when designated as an isolated client (step S92: YES), the control unit of the isolated client ends the connection establishment process.

受信した転送先IPアドレスが自身のIPアドレスと一致しない場合、すなわち転送元クライアントに指定された場合に(ステップS92:NO)、転送元クライアントの制御部は受信した転送先IPアドレスに基づいて、転送先クライアントへコネクションの接続を要求し(ステップS93)、転送先クライアントから応答があったか否かを判定し(ステップS94)、応答があるまで待機する(ステップS94:NO)。転送先クライアントから応答があった場合に(ステップS94:YES)、転送元クライアントの制御部は、転送先クライアントへ接続許可を送信し(ステップS95)、転送先クライアントとのコネクションを確立する(ステップS96)。そして転送元クライアントの制御部はコネクションを確立したことを示す情報をサーバ1へ送信する(ステップS97)。なお転送先クライアントからの応答には、転送元クライアントへの接続許可及び接続要求が含まれている。   When the received transfer destination IP address does not match with its own IP address, that is, when designated as the transfer source client (step S92: NO), the control unit of the transfer source client, based on the received transfer destination IP address, A connection request is made to the transfer destination client (step S93), it is determined whether or not there is a response from the transfer destination client (step S94), and the process waits until a response is received (step S94: NO). When there is a response from the transfer destination client (step S94: YES), the control unit of the transfer source client transmits a connection permission to the transfer destination client (step S95), and establishes a connection with the transfer destination client (step S95). S96). Then, the control unit of the transfer source client transmits information indicating that the connection has been established to the server 1 (step S97). Note that the response from the transfer destination client includes a connection permission and a connection request to the transfer source client.

前述したステップS91において、サーバ1から転送先IPアドレスを受信していない場合、すなわち転送元クライアント又は孤立クライアントに指定されていない場合に(ステップS91:NO)、クライアントの制御部は転送元クライアントから接続を要求されているか否かを判定する(ステップS98)。転送元クライアントから接続を要求されていない場合、すなわち転送元クライアント、転送先クライアント及び孤立クライアントのいずれにもに指定されていない場合に(ステップS98:NO)、クライアントの制御部はステップS91に処理を戻す。   When the transfer destination IP address is not received from the server 1 in step S91 described above, that is, when the transfer source client or the isolated client is not designated (step S91: NO), the control unit of the client receives from the transfer source client. It is determined whether or not a connection is requested (step S98). When the connection is not requested from the transfer source client, that is, when it is not designated as any of the transfer source client, the transfer destination client and the isolated client (step S98: NO), the control unit of the client proceeds to step S91. To return.

転送元クライアントから接続を要求されている場合、すなわち転送先クライアントに指定された場合に(ステップS98:YES)、転送先クライアントの制御部は、転送元クライアントへの接続許可及び転送元クライアントへの接続要求と共に転送元クライアントに応答する(ステップS99)。そして転送先クライアントの制御部は転送元クライアントから接続許可を受信したか否かを判定し(ステップS100)、接続許可を受信するまで待機する(ステップS100:NO)。接続許可を受信した場合に、転送先クライアントの制御部は転送元クライアントとのコネクションを確立する(ステップS101)。   When a connection is requested from the transfer source client, that is, when the transfer destination client is designated (step S98: YES), the control unit of the transfer destination client permits the connection to the transfer source client and connects to the transfer source client. It responds to the transfer source client together with the connection request (step S99). Then, the control unit of the transfer destination client determines whether or not connection permission is received from the transfer source client (step S100), and waits until connection permission is received (step S100: NO). When the connection permission is received, the control unit of the transfer destination client establishes a connection with the transfer source client (step S101).

本発明に係るデータ配信システムは、一のクライアントにて共有データが更新された場合に、他のクライアント及びサーバ1が所有する共有データを更新する。
図20は転送元クライアントにて共有データが更新された場合における転送元クライアントの制御部による更新処理を説明するフローチャートである。
The data distribution system according to the present invention updates shared data owned by other clients and the server 1 when shared data is updated by one client.
FIG. 20 is a flowchart for explaining update processing by the control unit of the transfer source client when the shared data is updated in the transfer source client.

転送元クライアントの制御部は、操作部11b〜19bからの入力によって共有データが変更され、共有データを更新する指令が入力されたか否かを判定し(ステップS111)、共有データを更新する指令が入力されるまで待機する(ステップS111:NO)。共有データを更新する指令が入力された場合に(ステップS111:YES)、転送元クライアントの制御部は共有データを更新し(ステップS112)、自身のIPアドレス(転送元IPアドレス)と更新データ(更新した共有データ又は更新前後の共有データの差分データ)とをサーバ1へ送信する(ステップS113)。このとき転送元IPアドレス及び更新データを受信したサーバ1は、自身の共有データを更新すると共に、通信経路情報テーブルを参照して、受信した転送元IPアドレスを除く転送元IPアドレスを宛先にして更新データを送信する。そして転送元クライアントの制御部は更新データを転送先クライアントへ転送する(ステップS114)。   The control unit of the transfer source client determines whether or not the shared data is changed by an input from the operation units 11b to 19b and an instruction to update the shared data is input (step S111), and an instruction to update the shared data is issued. It waits until it is input (step S111: NO). When a command to update shared data is input (step S111: YES), the control unit of the transfer source client updates the shared data (step S112), and updates its own IP address (transfer source IP address) and update data ( The updated shared data or the difference data of the shared data before and after the update) is transmitted to the server 1 (step S113). At this time, the server 1 that has received the transfer source IP address and the update data updates its own shared data and refers to the communication path information table with the transfer source IP address excluding the received transfer source IP address as the destination. Send update data. Then, the control unit of the transfer source client transfers the update data to the transfer destination client (step S114).

転送先クライアントは更新データを受信した場合に自身が所有する共有データを更新する。
図21は更新データを受信した場合における転送先クライアントの制御部による共有データの更新処理を説明するフローチャートである。
When the transfer destination client receives the update data, it updates the shared data owned by itself.
FIG. 21 is a flowchart for explaining shared data update processing by the control unit of the transfer destination client when update data is received.

転送先クライアントは転送元クライアントから更新データを受信したか否かを判定し(ステップS121)、更新データを受信するまで待機する(ステップS121:NO)。転送元クライアントから更新データを受信した場合に(ステップS121:YES)、転送先クライアントの制御部は記憶部1eにアクセスして共有データを更新する(ステップS122)。   The transfer destination client determines whether or not update data is received from the transfer source client (step S121), and waits until update data is received (step S121: NO). When the update data is received from the transfer source client (step S121: YES), the control unit of the transfer destination client accesses the storage unit 1e and updates the shared data (step S122).

図22は転送先クライアントにて共有データが更新された場合における転送先クライアントの制御部による更新処理を説明するフローチャートである。   FIG. 22 is a flowchart for explaining update processing by the control unit of the transfer destination client when the shared data is updated in the transfer destination client.

転送先クライアントの制御部は、操作部11b〜19bからの入力によって共有データが変更され、共有データを更新する指令が入力されたか否かを判定し(ステップS131)、共有データを更新する指令が入力されるまで待機する(ステップS131:NO)。共有データを更新する指令が入力された場合に(ステップS131:YES)、転送先クライアントの制御部は記憶部11e〜19eにアクセスして共有データを更新し(ステップS132)、自身のIPアドレス(転送先IPアドレス)と更新データ(更新した共有データ又は更新前後の共有データの差分データ)とを転送元クライアントへ送信する(ステップS133)。なお転送元クライアントは正常に動作しており、ステップS133における転送元クライアントへのデータの送信に対し、転送元クライアントは、転送先IPアドレスと更新データとを受信したことを転送先クライアントに応答する。該応答を受信した転送先クライアントは前述した更新処理を終了する。   The control unit of the transfer destination client determines whether or not the shared data is changed by an input from the operation units 11b to 19b and an instruction to update the shared data is input (step S131), and an instruction to update the shared data is issued. Wait until it is input (step S131: NO). When a command for updating the shared data is input (step S131: YES), the control unit of the transfer destination client accesses the storage units 11e to 19e to update the shared data (step S132), and the own IP address ( The transfer destination IP address) and the update data (updated shared data or difference data between the shared data before and after the update) are transmitted to the transfer source client (step S133). Note that the transfer source client is operating normally, and in response to the transmission of data to the transfer source client in step S133, the transfer source client responds to the transfer destination client that it has received the transfer destination IP address and the update data. . The transfer destination client that has received the response ends the update process described above.

転送先IPアドレスと更新データとを受信した転送元クライアントは自身の共有データを更新する。図23は転送先クライアントから転送先IPアドレスと更新データとを受信した場合における転送元クライアントの制御部による更新処理を説明するフローチャートである。   The transfer source client that has received the transfer destination IP address and the update data updates its own shared data. FIG. 23 is a flowchart for explaining update processing by the control unit of the transfer source client when the transfer destination IP address and the update data are received from the transfer destination client.

転送元クライアントの制御部は、転送先クライアントから転送先IPアドレスと更新データとを受信したか否かを判定し(ステップS141)、転送先IPアドレスと更新データとを受信するまで待機する(ステップS141:NO)。転送先IPアドレスと更新データとを受信した場合に(ステップS141:YES)、転送元クライアントの制御部は記憶部11e〜19eにアクセスして共有データを更新し(ステップS142)、自己のIPアドレス(転送元IPアドレス)と更新データとをサーバ1へ送信する(ステップS143)。このとき転送元IPアドレス及び更新データを受信したサーバ1は、自身の共有データを更新すると共に、通信経路情報テーブルを参照して、受信した転送元IPアドレスを除く転送元IPアドレスを宛先にして更新データを送信する。また転送元クライアントは、転送先IPアドレスと更新データとを受信したことを転送先クライアントに応答する。   The control unit of the transfer source client determines whether or not the transfer destination IP address and the update data are received from the transfer destination client (step S141), and waits until the transfer destination IP address and the update data are received (step S141). S141: NO). When the transfer destination IP address and the update data are received (step S141: YES), the control unit of the transfer source client accesses the storage units 11e to 19e to update the shared data (step S142), and the own IP address (Transfer source IP address) and update data are transmitted to the server 1 (step S143). At this time, the server 1 that has received the transfer source IP address and the update data updates its own shared data and refers to the communication path information table with the transfer source IP address excluding the received transfer source IP address as the destination. Send update data. The transfer source client responds to the transfer destination client that it has received the transfer destination IP address and the update data.

更新データを受信したサーバ1は、自身が所有する共有データを更新する。
図24は更新データを受信した場合におけるサーバの制御部による共有データの更新処理を説明するフローチャートである。
The server 1 that has received the update data updates the shared data that it owns.
FIG. 24 is a flowchart for explaining shared data update processing by the control unit of the server when update data is received.

サーバ1の制御部1aは、転送元IPアドレス及び更新データを受信したか否かを判定し(ステップS151)、転送元IPアドレス及び更新データを受信するまで待機する(ステップS151:NO)。転送元IPアドレス及び更新データを受信した場合に(ステップS151:YES)、サーバ1の制御部1aは記憶部1eにアクセスして共有データを更新する(ステップS152)。そしてサーバ1の制御部1aは記憶部1eにアクセスして通信経路情報テーブルを参照し(ステップS153)、転送元IPアドレス(受信した転送元IPアドレスを除く)を宛先にして更新データを送信する(ステップS154)。   The control unit 1a of the server 1 determines whether or not the transfer source IP address and update data are received (step S151), and waits until the transfer source IP address and update data are received (step S151: NO). When the transfer source IP address and the update data are received (step S151: YES), the control unit 1a of the server 1 accesses the storage unit 1e and updates the shared data (step S152). Then, the control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table (step S153), and transmits update data with the transfer source IP address (excluding the received transfer source IP address) as the destination. (Step S154).

ステップS154においてサーバ1が送信した更新データを受信した転送元クライアントは、共有データを更新する。
図25はサーバから更新データを受信した場合における転送元クライアントの制御部による共有データの更新処理を説明するフローチャートである。
The transfer source client that has received the update data transmitted by the server 1 in step S154 updates the shared data.
FIG. 25 is a flowchart for explaining shared data update processing by the control unit of the transfer source client when update data is received from the server.

転送元クライアントの制御部は、サーバ1から更新データを受信したか否かを判定し(ステップS155)、更新データを受信するまで待機する(ステップS155:NO)。サーバ1から更新データを受信した場合に(ステップS155:YES)、転送元クライアントの制御部は記憶部11e〜19eにアクセスし、受信した更新データに基づいて共有データを更新する(ステップS156)。そして転送元クライアントの制御部は、転送先クライアントとの間にコネクションが確立されているか否かを判定し(ステップS157)、コネクションが確立されるまで待機する(ステップS157:NO)。転送先クライアントとの間にコネクションが確立されている場合に(ステップS157:YES)、転送元クライアントの制御部は、更新データを転送先クライアントへ転送する(ステップS158)。   The control unit of the transfer source client determines whether or not update data has been received from the server 1 (step S155), and waits until update data is received (step S155: NO). When the update data is received from the server 1 (step S155: YES), the control unit of the transfer source client accesses the storage units 11e to 19e and updates the shared data based on the received update data (step S156). Then, the control unit of the transfer source client determines whether or not a connection is established with the transfer destination client (step S157), and waits until the connection is established (step S157: NO). When a connection is established with the transfer destination client (step S157: YES), the control unit of the transfer source client transfers the update data to the transfer destination client (step S158).

次に一のクライアントが本発明に係るデータ配信システムから退出する場合について説明する。
図26は、転送元クライアントがデータ配信システムから退出する場合において、転送元クライアントの制御部が実行する退出処理を説明するフローチャートである。
Next, a case where one client leaves the data distribution system according to the present invention will be described.
FIG. 26 is a flowchart for explaining an exit process executed by the control unit of the transfer source client when the transfer source client leaves the data distribution system.

転送元クライアントの制御部は、ユーザによる操作部11b〜19bの操作又は制御プログラムの例外処理などによって退出指令が入力されたか否かを判定し(ステップS161)、退出指令が入力されるまで待機する(ステップS161:NO)。退出指令が入力された場合に(ステップS161:YES)、転送元クライアントの制御部は、転送先クライアントへの切断要求及び退出に必要な制御情報を含む退出データを転送先クライアントへ送信する(ステップS162)。次に転送元クライアントの制御部は、転送先クライアントから応答があったか否かを判定し(ステップS163)、応答があるまで待機する(ステップS163:NO)。なお転送先クライアントからの応答には切断許可及び切断要求が含まれる。転送先クライアントから応答があった場合に(ステップS163:YES)、転送元クライアントの制御部は、転送先クライアントに切断許可を送信し、転送先クライアントとのコネクションを切断する(ステップS164)。   The control unit of the transfer source client determines whether or not an exit command has been input by an operation of the operation units 11b to 19b by the user or an exception process of the control program (step S161), and waits until the exit command is input. (Step S161: NO). When the exit command is input (step S161: YES), the control unit of the transfer source client transmits the disconnection data to the transfer destination client including the disconnection request to the transfer destination client and the control information necessary for exit (step S161). S162). Next, the control unit of the transfer source client determines whether or not there is a response from the transfer destination client (step S163), and waits until there is a response (step S163: NO). The response from the transfer destination client includes disconnection permission and disconnection request. When there is a response from the transfer destination client (step S163: YES), the control unit of the transfer source client transmits a disconnection permission to the transfer destination client and disconnects the connection with the transfer destination client (step S164).

そして転送元クライアントの制御部はサーバ1へ、サーバ1への切断要求及び退出に必要な制御情報を含む退出データを送信し、サーバ1へコネクションの切断を要求する(ステップS165)。次に転送元クライアントの制御部は、サーバ1からの応答があったか否かを判定し(ステップS166)、応答があるまで待機する(ステップS166:NO)。サーバ1からの応答には、サーバ1からの切断許可及び切断要求が含まれる。サーバ1からの応答があった場合に(ステップS166:YES)、転送元クライアントの制御部はサーバ1へ切断許可を送信し、サーバ1とのコネクションを切断する(ステップS167)。   Then, the control unit of the transfer source client transmits to the server 1 a disconnect request to the server 1 and exit data including control information necessary for exit, and requests the server 1 to disconnect the connection (step S165). Next, the control unit of the transfer source client determines whether or not there is a response from the server 1 (step S166), and waits until there is a response (step S166: NO). The response from the server 1 includes a disconnection permission and a disconnection request from the server 1. When there is a response from the server 1 (step S166: YES), the control unit of the transfer source client transmits a disconnection permission to the server 1 and disconnects the connection with the server 1 (step S167).

ステップS162において、転送元クライアントから退出データを受信した転送先クライアントは、転送元クライアントがデータ配信システムから退出するための処理を実行する。図27は転送元クライアントから退出データを受信した場合における転送先クライアントの制御部による処理を説明するフローチャートである。   In step S162, the transfer destination client that has received the exit data from the transfer source client executes processing for the transfer source client to leave the data distribution system. FIG. 27 is a flowchart for explaining processing by the control unit of the transfer destination client when the leaving data is received from the transfer source client.

転送先クライアントの制御部は、転送元クライアントから退出データを受信したか否かを判定し(ステップS171)、転送元クライアントから退出データを受信するまで待機する(ステップS171:NO)。該退出データには切断要求が含まれている。転送元クライアントから退出データを受信した場合に(ステップS171:YES)、転送先クライアントの制御部は、転送先クライアントの制御部は転送元クライアントに応答する(ステップS172)。該応答には転送元クライアントへの切断許可及び切断要求が含まれる。次に転送先クライアントの制御部は、転送元クライアントから切断許可を受信したか否かを判定し(ステップS173)、切断許可を受信するまで待機する(ステップS173:NO)。転送元クライアントから切断許可を受信した場合に(ステップS173:YES)、転送先クライアントの制御部は転送元クライアントとのコネクションを切断する(ステップS174)。   The control unit of the transfer destination client determines whether or not the exit data has been received from the transfer source client (step S171), and waits until the exit data is received from the transfer source client (step S171: NO). The exit data includes a disconnect request. When the leaving data is received from the transfer source client (step S171: YES), the control unit of the transfer destination client responds to the transfer source client (step S172). The response includes a disconnection permission and a disconnection request to the transfer source client. Next, the control unit of the transfer destination client determines whether or not disconnection permission has been received from the transfer source client (step S173), and waits until reception of disconnection permission (step S173: NO). When disconnection permission is received from the transfer source client (step S173: YES), the control unit of the transfer destination client disconnects the connection with the transfer source client (step S174).

ステップS165において転送元クライアントから送信された退出データを受信したサーバ1は、転送元クライアントとのコネクションを切断する。図28はサーバの制御部による転送元クライアントとのコネクションを切断する処理について説明するフローチャートである。   In step S165, the server 1 that has received the leaving data transmitted from the transfer source client disconnects the connection with the transfer source client. FIG. 28 is a flowchart for explaining processing for cutting off the connection with the transfer source client by the control unit of the server.

サーバ1の制御部1aは、転送元クライアントから退出データを受信したか否かを判定し(ステップS181)、転送元クライアントから退出データを受信するまで待機する(ステップS181:NO)。転送元クライアントから退出データを受信した場合に(ステップS181:YES)、サーバ1の制御部1aは、転送元クライアントに応答する(ステップS182)。該応答には転送元クライアントへの切断許可及び切断要求が含まれる。次にサーバ1の制御部1aは、転送元クライアントから切断許可を受信したか否かを判定し(ステップS183)、転送元クライアントから切断許可を受信するまで待機する(ステップS183:NO)。転送元クライアントから切断許可を受信した場合に(ステップS183:YES)、サーバ1の制御部1aは、転送元クライアントとのコネクションを切断する(ステップS184)。   The control unit 1a of the server 1 determines whether or not exit data is received from the transfer source client (step S181), and waits until the exit data is received from the transfer source client (step S181: NO). When the leaving data is received from the transfer source client (step S181: YES), the control unit 1a of the server 1 responds to the transfer source client (step S182). The response includes a disconnection permission and a disconnection request to the transfer source client. Next, the control unit 1a of the server 1 determines whether or not a disconnection permission is received from the transfer source client (step S183), and waits until a disconnection permission is received from the transfer source client (step S183: NO). When disconnection permission is received from the transfer source client (step S183: YES), the control unit 1a of the server 1 disconnects the connection with the transfer source client (step S184).

そしてサーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し(ステップS185)、前記転送元クライアントに対応する転送先クライアントの転送先IPアドレスに転送先クライアントのIPアドレスを記録(上書き)する(ステップS186)。このとき転送先クライアントは孤立クライアントになる。次にサーバ1の制御部1aは、コネクションを切断した転送元クライアントの情報を通信経路情報テーブルから削除し(ステップS187)、孤立クライアントが複数存在するか否かを判定する(ステップS188)。孤立クライアントが単数である場合に(ステップS188:NO)、サーバ1の制御部1aは処理を終了する。   Then, the control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table (step S185), and transfers the IP address of the transfer destination client to the transfer destination IP address of the transfer destination client corresponding to the transfer source client. Is recorded (overwritten) (step S186). At this time, the transfer destination client becomes an isolated client. Next, the control unit 1a of the server 1 deletes the information of the transfer source client that has disconnected the connection from the communication path information table (step S187), and determines whether or not there are a plurality of isolated clients (step S188). When there is a single isolated client (step S188: NO), the control unit 1a of the server 1 ends the process.

孤立クライアントが複数存在する場合に(ステップS188:YES)、サーバ1の制御部1aは、孤立クライアント同士の間で、前述したグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行し、通信経路情報テーブルを再構築する(ステップS189)。そしてサーバ1の制御部1aは、全ての転送元クライアント又はステップS189において新たに指定された転送元クライアントに転送先IPアドレスを送信する(ステップS190)。なおステップS189においてグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行しても複数の孤立クライアントから転送元クライアント及び転送先クライアントを新たに指定できなかった場合には、ステップS190は実行しない。   When there are a plurality of isolated clients (step S188: YES), the control unit 1a of the server 1 executes the above-described grouping processing, group priority processing, fastest processing, threshold processing, or the like between the isolated clients to perform communication. The route information table is reconstructed (step S189). Then, the control unit 1a of the server 1 transmits the transfer destination IP address to all the transfer source clients or the transfer source clients newly designated in step S189 (step S190). Note that if the transfer source client and transfer destination client cannot be newly designated from a plurality of isolated clients even after executing the grouping process, the group priority process, the fastest process, or the threshold process in step S189, step S190 is not executed. .

次に転送先クライアントがデータ配信システムから退出する場合について説明する。図29は、転送先クライアントがデータ配信システムから退出する場合において、転送先クライアントの制御部が実行する退出処理を説明するフローチャートである。   Next, a case where the transfer destination client leaves the data distribution system will be described. FIG. 29 is a flowchart for explaining an exit process executed by the control unit of the transfer destination client when the transfer destination client leaves the data distribution system.

転送先クライアントの制御部は、ユーザによる操作部11b〜19bの操作又は制御プログラムの例外処理などによって退出指令が入力されたか否かを判定し(ステップS251)、退出指令が入力されるまで待機する(ステップS251:NO)。退出指令が入力された場合に(ステップS251:YES)、転送先クライアントの制御部は、転送元クライアントへ退出データを送信する(ステップS252)。該退出データには転送元クライアントへの切断要求が含まれている。そして転送先クライアントの制御部は、転送元クライアントから応答があったか否かを判定し(ステップS253)、転送元クライアントから応答があるまで待機する(ステップS253:NO)。転送元クライアントからの応答には転送先クライアントへの切断要求が含まれている。   The control unit of the transfer destination client determines whether or not an exit command has been input by the operation of the operation units 11b to 19b by the user or an exception process of the control program (step S251), and waits until the exit command is input. (Step S251: NO). When the exit command is input (step S251: YES), the control unit of the transfer destination client transmits the exit data to the transfer source client (step S252). The leaving data includes a disconnection request to the transfer source client. Then, the control unit of the transfer destination client determines whether or not there is a response from the transfer source client (step S253), and waits for a response from the transfer source client (step S253: NO). The response from the transfer source client includes a disconnection request to the transfer destination client.

転送元クライアントから応答があった場合に(ステップS253:YES)、転送先クライアントの制御部は、転送元クライアントに切断要求に対する切断許可を送信し、転送元クライアントとのコネクションを切断する(ステップS254)。   When there is a response from the transfer source client (step S253: YES), the control unit of the transfer destination client transmits a disconnect permission for the disconnect request to the transfer source client, and disconnects the connection with the transfer source client (step S254). ).

ステップS252において転送先クライアントから送信された退出データを受信した転送元クライアントは、転送先クライアントがデータ配信システムから退出するための処理を実行する。図30は転送先クライアントから退出データを受信した場合における転送元クライアントの制御部が実行する処理を説明するフローチャートである。   The transfer source client that has received the exit data transmitted from the transfer destination client in step S252 executes processing for the transfer destination client to leave the data distribution system. FIG. 30 is a flowchart for explaining processing executed by the control unit of the transfer source client when the leaving data is received from the transfer destination client.

転送元クライアントの制御部は、転送先クライアントから切断情報を含む退出データを受信したか否かを判定し(ステップS261)、転送先クライアントから退出データを受信するまで待機する(ステップS261:NO)。転送先クライアントから退出データを受信した場合に(ステップS261:YES)、転送元クライアントの制御部は、転送先クライアントに応答する(ステップS262)。該応答には転送先クライアントへの切断許可及び切断要求が含まれている。次に転送元クライアントの制御部は、転送先クライアントから切断許可を受信したか否かを判定し(ステップS263)、切断許可を受信するまで待機する(ステップS263:NO)。切断許可を受信した場合に(ステップS263:YES)、転送元クライアントの制御部は、転送先クライアントとのコネクションを切断し(ステップS264)、サーバ1へ転送先クライアントの退出データを送信する(ステップS265)。   The control unit of the transfer source client determines whether or not exit data including disconnection information is received from the transfer destination client (step S261), and waits until the exit data is received from the transfer destination client (step S261: NO). . When the exit data is received from the transfer destination client (step S261: YES), the control unit of the transfer source client responds to the transfer destination client (step S262). The response includes a disconnect permission and a disconnect request to the transfer destination client. Next, the control unit of the transfer source client determines whether or not disconnection permission has been received from the transfer destination client (step S263), and waits until reception of disconnection permission (step S263: NO). When the disconnection permission is received (step S263: YES), the control unit of the transfer source client disconnects the connection with the transfer destination client (step S264), and transmits the exit data of the transfer destination client to the server 1 (step S264). S265).

転送元クライアントから転送先クライアントの退出データを受信したサーバ1は、転送先クライアントがデータ配信システムから退出するための処理を実行する。図31は転送元クライアントから転送先クライアントの退出データを受信した場合におけるサーバの制御部が実行する処理を説明するフローチャートである。   The server 1 that has received the withdrawal data of the transfer destination client from the transfer source client executes processing for the transfer destination client to leave the data distribution system. FIG. 31 is a flowchart for explaining the processing executed by the control unit of the server when the exit data of the transfer destination client is received from the transfer source client.

サーバ1の制御部1aは、転送元クライアントから転送先クライアントの退出データを受信したか否かを判定し(ステップS271)、転送先クライアントの退出データを受信するまで待機する(ステップS271:NO)。転送先クライアントの退出データを受信した場合に(ステップS271:YES)、サーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し(ステップS272)、転送元クライアントの転送先IPアドレスに転送元クライアントのIPアドレスを記録(上書き)する(ステップS273)。このとき転送元クライアントは孤立クライアントになる。そしてサーバ1の制御部1aは、退出した転送先クライアントの情報を通信経路情報テーブルから削除し(ステップS274)、孤立クライアントが複数存在するか否かを判定する(ステップS275)。孤立クライアントが単数である場合に(ステップS275:NO)、サーバ1の制御部1aは処理を終了する。   The control unit 1a of the server 1 determines whether or not the transfer destination client's exit data has been received from the transfer source client (step S271), and waits until the transfer destination client's exit data is received (step S271: NO). . When the withdrawal data of the transfer destination client is received (step S271: YES), the control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table (step S272), and transfers the transfer source client. The IP address of the transfer source client is recorded (overwritten) in the destination IP address (step S273). At this time, the transfer source client becomes an isolated client. Then, the control unit 1a of the server 1 deletes the information of the relocated transfer destination client from the communication path information table (step S274), and determines whether or not there are a plurality of isolated clients (step S275). When there is a single isolated client (step S275: NO), the control unit 1a of the server 1 ends the process.

孤立クライアントが複数存在する場合に(ステップS275:YES)、サーバ1の制御部1aは孤立クライアント同士の間で、前述したグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行し、通信経路情報テーブルを再構築する(ステップS276)。そしてサーバ1の制御部1aは、ステップS276において新たに指定された転送元クライアントに転送先IPアドレスを送信する(ステップS277)。なおステップS276においてグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行しても複数の孤立クライアントから転送元クライアント及び転送先クライアントを新たに指定できなかった場合には、ステップS277は実行しない。   When there are a plurality of isolated clients (step S275: YES), the control unit 1a of the server 1 executes the above-described grouping process, group priority process, fastest process, threshold process, etc. between the isolated clients, and the communication path The information table is reconstructed (step S276). Then, the control unit 1a of the server 1 transmits the transfer destination IP address to the transfer source client newly specified in step S276 (step S277). If the transfer source client and transfer destination client cannot be newly designated from a plurality of isolated clients even after executing the grouping process, the group priority process, the fastest process, or the threshold process in step S276, step S277 is not executed. .

次に孤立クライアントがデータ配信システムから退出する場合について説明する。図32は、孤立クライアントの制御部によるデータ配信システムからの退出処理を説明するフローチャートである。   Next, a case where an isolated client leaves the data distribution system will be described. FIG. 32 is a flowchart for explaining the exit processing from the data distribution system by the control unit of the isolated client.

孤立クライアントの制御部は、ユーザによる操作部11b〜19bの操作又は制御プログラムの例外処理などによって退出指令が入力されたか否かを判定し(ステップS281)、退出指令が入力されるまで待機する(ステップS281:NO)。退出指令が入力された場合に(ステップS281:YES)、孤立クライアントの制御部は、サーバ1へ退出データを送信する(ステップS282)。該退出データには、サーバ1への切断要求が含まれる。そして孤立クライアントの制御部は、サーバ1から応答があったか否かを判定し(ステップS283)、サーバ1から応答があるまで待機する(ステップS283:NO)。サーバ1からの応答には、サーバ1からの切断許可及び切断要求が含まれる。   The control unit of the isolated client determines whether or not an exit command is input by the operation of the operation units 11b to 19b by the user or an exception process of the control program (step S281), and waits until the exit command is input (step S281). Step S281: NO). When the exit command is input (step S281: YES), the control unit of the isolated client transmits the exit data to the server 1 (step S282). The exit data includes a disconnection request to the server 1. Then, the control unit of the isolated client determines whether or not there is a response from the server 1 (step S283), and waits until there is a response from the server 1 (step S283: NO). The response from the server 1 includes a disconnection permission and a disconnection request from the server 1.

サーバ1から応答があった場合に(ステップS283:YES)、孤立クライアントの制御部はサーバ1に切断許可を送信し、サーバ1とのコネクションを切断する(ステップS284)。   When there is a response from the server 1 (step S283: YES), the control unit of the isolated client transmits a disconnection permission to the server 1 and disconnects the connection with the server 1 (step S284).

ステップS282において孤立クライアントから退出データを受信したサーバ1は、孤立クライアントがデータ配信システムから退出するための処理を実行する。図33は、孤立クライアントから退出データを受信したサーバの制御部が実行する処理を説明するフローチャートである。   In step S282, the server 1 that has received the exit data from the isolated client executes processing for the isolated client to exit the data distribution system. FIG. 33 is a flowchart for explaining processing executed by the control unit of the server that has received exit data from an isolated client.

サーバ1の制御部1aは孤立クライアントから退出データを受信したか否かを判定し(ステップS291)、孤立クライアントから退出データを受信するまで待機する(ステップS291:NO)。退出データには、孤立クライアントからの切断要求が含まれる。孤立クライアントから退出データを受信した場合に(ステップS291:YES)、サーバ1の制御部1aは孤立クライアントに応答する(ステップS292)。該応答には、孤立クライアントへの切断許可及び切断要求が含まれる。次にサーバ1の制御部1aは、孤立クライアントから切断許可を受信したか否かを判定し(ステップS293)、孤立クライアントから切断許可を受信するまで待機する(ステップS293:NO)。   The control unit 1a of the server 1 determines whether or not exit data has been received from the isolated client (step S291), and waits until the exit data is received from the isolated client (step S291: NO). The exit data includes a disconnection request from an isolated client. When the leaving data is received from the isolated client (step S291: YES), the control unit 1a of the server 1 responds to the isolated client (step S292). The response includes a disconnection permission and a disconnection request to the isolated client. Next, the control unit 1a of the server 1 determines whether or not a disconnection permission is received from the isolated client (step S293), and waits until a disconnection permission is received from the isolated client (step S293: NO).

孤立クライアントから切断許可を受信した場合に(ステップS293:YES)、サーバ1の制御部1aは孤立クライアントとのコネクションを切断する(ステップS294)。そしてサーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し(ステップS295)、コネクションを切断した孤立クライアントの情報を通信経路情報テーブルから削除する(ステップS296)。   When the disconnection permission is received from the isolated client (step S293: YES), the control unit 1a of the server 1 disconnects the connection with the isolated client (step S294). Then, the control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table (step S295), and deletes the information of the isolated client that has disconnected the connection from the communication path information table (step S296).

次に通信経路情報テーブル作成後に新たなクライアントがサーバ1に接続された場合のサーバ1の処理について説明する。図34は、通信経路情報テーブル作成後に新たなクライアントがサーバに接続された場合に、サーバの制御部が実行する処理を説明するフローチャートである。   Next, processing of the server 1 when a new client is connected to the server 1 after creating the communication path information table will be described. FIG. 34 is a flowchart illustrating processing executed by the control unit of the server when a new client is connected to the server after creating the communication path information table.

サーバ1の制御部1aは、新たに接続されたクライアントからの接続要求を受信したか否かを判定し(ステップS351)、クライアントからの接続要求を受信するまで待機する(ステップS351:NO)。クライアントからの接続要求にはクライアントのエントリーナンバー、IPアドレス及びサブネットマスクなどが含まれる。クライアントからの接続要求を受信した場合に(ステップS351:YES)、サーバ1の制御部1aは接続要求を受信したクライアントのエントリーナンバー、IPアドレス及びサブネットマスクを通信経路情報テーブルに記録する(ステップS352)。なおエントリーナンバーは、クライアントからの接続要求を受信した順にIPアドレスと共に通信経路情報テーブルに記録され、エントリーナンバーとIPアドレスとは対応する。   The control unit 1a of the server 1 determines whether or not a connection request from a newly connected client has been received (step S351), and waits until a connection request from the client is received (step S351: NO). The connection request from the client includes the client entry number, IP address, subnet mask, and the like. When the connection request from the client is received (step S351: YES), the control unit 1a of the server 1 records the entry number, IP address, and subnet mask of the client that has received the connection request in the communication path information table (step S352). ). The entry number is recorded in the communication path information table together with the IP address in the order in which the connection request from the client is received, and the entry number corresponds to the IP address.

次にサーバ1の制御部1aは、接続要求を受信した新たなクライアントに応答する(ステップS353)。該応答には新たなクライアントへの接続許可と接続要求とが含まれる。そしてサーバ1の制御部1aは、新たなクライアントから接続許可を受信したか否かを判定し(ステップS354)、新たなクライアントから接続許可を受信するまで待機する(ステップS354:NO)。新たなクライアントから接続許可を受信した場合に(ステップS354:YES)、サーバ1の制御部1aは、新たなクライアントとのコネクションを確立する(ステップS355)。   Next, the control unit 1a of the server 1 responds to the new client that has received the connection request (step S353). The response includes a permission to connect to a new client and a connection request. Then, the control unit 1a of the server 1 determines whether or not a connection permission has been received from a new client (step S354), and waits until a connection permission is received from a new client (step S354: NO). When connection permission is received from a new client (step S354: YES), the control unit 1a of the server 1 establishes a connection with the new client (step S355).

次にサーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し(ステップS356)、新たなクライアントの転送先IPアドレスに新たなクライアントのIPアドレスを記録する(ステップS357)。このとき新たなクライアントは孤立クライアントとなる。そしてサーバ1の制御部1aは、孤立クライアントが複数存在するか否かを判定し(ステップS358)、孤立クライアントが単数である場合に(ステップS358:NO)、サーバ1の制御部1aは処理を終了する。   Next, the control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table (step S356), and records the new client IP address in the new client transfer destination IP address (step S357). ). At this time, the new client becomes an isolated client. Then, the control unit 1a of the server 1 determines whether or not there are a plurality of isolated clients (step S358). When there is a single isolated client (step S358: NO), the control unit 1a of the server 1 performs processing. finish.

孤立クライアントが複数存在する場合に(ステップS358:YES)、サーバ1の制御部1aは孤立クライアント同士の間で、前述したグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行し、通信経路情報テーブルを再構築する(ステップS359)。そしてサーバ1の制御部1aは、ステップS359において新たに指定された転送元クライアントに転送先IPアドレスを送信する(ステップS360)。なおステップS359においてグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行しても複数の孤立クライアントから転送元クライアント及び転送先クライアントを新たに指定できなかった場合には、ステップS360は実行しない。   When there are a plurality of isolated clients (step S358: YES), the control unit 1a of the server 1 executes the above-described grouping process, group priority process, fastest process, threshold process, etc. between the isolated clients, and the communication path The information table is reconstructed (step S359). Then, the control unit 1a of the server 1 transmits the transfer destination IP address to the transfer source client newly specified in step S359 (step S360). Note that if the transfer source client and transfer destination client cannot be newly designated from a plurality of isolated clients even after executing the grouping process, the group priority process, the fastest process, or the threshold process in step S359, step S360 is not executed. .

次に転送先クライアントにて共有データが更新され、転送元クライアントに障害が発生している場合に、転送先クライアントの制御部が実行する障害対策処理について説明する。図35は転送先クライアントにて共有データが更新され、転送元クライアントに障害が発生している場合に、転送先クライアントの制御部が実行する障害対策処理を説明するフローチャートである。   Next, failure countermeasure processing executed by the control unit of the transfer destination client when the shared data is updated in the transfer destination client and a failure has occurred in the transfer source client will be described. FIG. 35 is a flowchart for explaining failure countermeasure processing executed by the control unit of the transfer destination client when the shared data is updated in the transfer destination client and a failure has occurred in the transfer source client.

転送先クライアントの制御部は、操作部11b〜19bの操作によって共有データが変更され、共有データを更新する指令が入力された場合に、自身のIPアドレス(転送先IPアドレス)と更新データ(更新した共有データ又は更新前後の共有データの差分データ)とを転送元クライアントへ送信する(ステップS371)。このとき転送先クライアントの制御部は、転送元クライアントへ送信した回数を数えてRAMに記憶する。そして転送先クライアントの制御部は、タイマを起動させて、転送元クライアントから転送先IPアドレスと更新データとを受信した旨の応答が所定時間内にあったか否かを判定する(ステップS372)。転送元クライアントから転送先IPアドレスと更新データとを受信した旨の応答があった場合には(ステップS372:YES)、処理を終了する。   The control unit of the transfer destination client changes its own IP address (transfer destination IP address) and update data (update) when the shared data is changed by the operation of the operation units 11b to 19b and an instruction to update the shared data is input. The shared data or the difference data of the shared data before and after the update) is transmitted to the transfer source client (step S371). At this time, the control unit of the transfer destination client counts the number of times of transmission to the transfer source client and stores it in the RAM. Then, the control unit of the transfer destination client starts a timer and determines whether or not a response indicating that the transfer destination IP address and the update data are received from the transfer source client is within a predetermined time (step S372). If there is a response indicating that the transfer destination IP address and the update data have been received from the transfer source client (step S372: YES), the process ends.

転送元クライアントから転送先IPアドレスと更新データとを受信した旨の応答がない場合には(ステップS372:NO)、転送先クライアントの制御部は、転送先IPアドレスと更新データとを送信した回数を数えてRAMに記録し、転送先IPアドレスと更新データとを所定回数以上送信したか否かを判定する(ステップS373)。なお前記所定回数は転送先クライアントの起動時にRAMに設定されている。送信回数が所定回数未満である場合に(ステップS373:NO)、転送先クライアントの制御部はステップS371に処理を戻す。送信回数が所定回数以上である場合に(ステップS373:YES)、転送先クライアントの制御部は転送元クライアントに障害が発生したことを示す情報(転送元障害情報)をサーバ1へ送信する(ステップS374)。そして転送先クライアントの制御部は、転送元クライアントへリセット情報を送信し、転送元クライアントとのコネクションを強制的に切断する(ステップS375)。   When there is no response indicating that the transfer destination IP address and the update data have been received from the transfer source client (step S372: NO), the control unit of the transfer destination client transmits the transfer destination IP address and the update data. Are recorded in the RAM, and it is determined whether or not the transfer destination IP address and the update data have been transmitted a predetermined number of times (step S373). The predetermined number of times is set in the RAM when the transfer destination client is activated. When the number of transmissions is less than the predetermined number (step S373: NO), the control unit of the transfer destination client returns the process to step S371. When the number of transmissions is equal to or greater than the predetermined number (step S373: YES), the control unit of the transfer destination client transmits information indicating that a failure has occurred in the transfer source client (transfer source failure information) to the server 1 (step S37). S374). Then, the control unit of the transfer destination client transmits reset information to the transfer source client and forcibly disconnects the connection with the transfer source client (step S375).

転送元障害情報を受信したサーバ1は、障害が発生している転送元クライアントの情報を通信経路情報テーブルから削除する削除処理を実行する。図36は、転送先クライアントにて共有データが更新され、転送元クライアントに障害が発生している場合に、サーバの制御部が実行する削除処理を説明するフローチャートである。   The server 1 that has received the transfer source failure information executes a deletion process for deleting the information of the transfer source client in which the failure has occurred from the communication path information table. FIG. 36 is a flowchart for explaining a deletion process executed by the control unit of the server when shared data is updated in the transfer destination client and a failure has occurred in the transfer source client.

サーバ1の制御部1aは、転送元障害情報を受信したか否かを判定し(ステップS381)、転送元障害情報を受信するまで待機する(ステップS381:NO)。転送元障害情報を受信した場合に(ステップS381:YES)、サーバ1の制御部1aは、転送元クライアントにリセット情報を送信し、転送元クライアントとのコネクションを強制的に切断する(ステップS382)。次にサーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し、転送元クライアントの情報を削除する(ステップS383)。このとき転送先クライアントの転送先IPアドレスには転送先クライアントのIPアドレスが記録(上書き)され、転送先クライアントは孤立クライアントになる。そしてサーバ1の制御部1aは、孤立クライアントが複数存在するか否かを判定し(ステップS384)、孤立クライアントが単数である場合に(ステップS384:NO)、処理を終了する。   The control unit 1a of the server 1 determines whether or not the transfer source failure information has been received (step S381), and waits until the transfer source failure information is received (step S381: NO). When the transfer source failure information is received (step S381: YES), the control unit 1a of the server 1 transmits reset information to the transfer source client and forcibly disconnects the connection with the transfer source client (step S382). . Next, the control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table, and deletes the information of the transfer source client (step S383). At this time, the IP address of the transfer destination client is recorded (overwritten) in the transfer destination IP address of the transfer destination client, and the transfer destination client becomes an isolated client. Then, the control unit 1a of the server 1 determines whether or not there are a plurality of isolated clients (step S384), and when there is a single isolated client (step S384: NO), the process ends.

孤立クライアントが複数存在する場合に(ステップS384:YES)、サーバ1の制御部1aは、孤立クライアント同士の間で、前述したグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行し、通信経路情報テーブルを再構築する(ステップS385)。そしてサーバ1の制御部1aは、全ての転送元クライアント又はステップS385において新たに指定された転送元クライアントに転送先IPアドレスを送信する(ステップS386)。なおステップS385においてグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行しても複数の孤立クライアントから転送元クライアント及び転送先クライアントを新たに指定できなかった場合には、ステップS386は実行しない。   When there are a plurality of isolated clients (step S384: YES), the control unit 1a of the server 1 executes the above-described grouping processing, group priority processing, fastest processing, threshold processing, or the like between the isolated clients, and performs communication. The route information table is reconstructed (step S385). Then, the control unit 1a of the server 1 transmits the transfer destination IP address to all the transfer source clients or the transfer source clients newly designated in step S385 (step S386). Note that if the transfer source client and transfer destination client cannot be newly specified from a plurality of isolated clients even if the grouping process, the group priority process, the fastest process, or the threshold process is executed in step S385, step S386 is not executed. .

その後、共有データを更新した前記クライアントがステップS385において新たな転送元クライアントに指定された場合に、サーバ1と、新たな転送元クライアントに対応する新たな転送先クライアントとに新たな転送元クライアントから更新データが送信・転送され、共有データを更新した前記クライアントがステップS385において新たな転送先クライアントに指定された場合に、新たな転送先クライアントから該新たな転送先クライアントに対応する新たな転送元クライアントに更新データが送信され、また共有データを更新した前記クライアントが孤立クライアントである場合に、該孤立クライアントからサーバ1に更新データが送信される。   Thereafter, when the client that has updated the shared data is designated as a new transfer source client in step S385, the server 1 and a new transfer destination client corresponding to the new transfer source client are transferred from the new transfer source client. When the update data is transmitted / transferred and the client that has updated the shared data is designated as a new transfer destination client in step S385, a new transfer source corresponding to the new transfer destination client from the new transfer destination client When the update data is transmitted to the client and the client that has updated the shared data is an isolated client, the updated data is transmitted from the isolated client to the server 1.

次に転送元クライアントにて共有データが更新され、転送先クライアントに障害が発生している場合に、転送元クライアントの制御部が実行する障害対策処理について説明する。図37は転送元クライアントにて共有データが更新され、転送先クライアントに障害が発生している場合に、転送元クライアントの制御部が実行する障害対策処理を説明するフローチャートである。   Next, a failure countermeasure process executed by the control unit of the transfer source client when the shared data is updated in the transfer source client and a failure has occurred in the transfer destination client will be described. FIG. 37 is a flowchart for explaining failure countermeasure processing executed by the control unit of the transfer source client when the shared data is updated in the transfer source client and a failure has occurred in the transfer destination client.

転送元クライアントの制御部は、共有データを更新する指令が入力された場合に、更新データ(更新した共有データ又は更新前後の共有データの差分データ)を転送先クライアントへ送信する(ステップS471)。このとき転送元クライアントの制御部は、転送先クライアントへ送信した回数を数えてRAMに記憶する。そして転送元クライアントの制御部は、タイマを起動させて、転送先クライアントから更新データを受信した旨の応答が所定時間内にあったか否かを判定する(ステップS472)。転送先クライアントから更新データを受信した旨の応答があった場合には(ステップS472:YES)、処理を終了する。   When a command to update shared data is input, the control unit of the transfer source client transmits update data (updated shared data or difference data between shared data before and after update) to the transfer destination client (step S471). At this time, the control unit of the transfer source client counts the number of times of transmission to the transfer destination client and stores it in the RAM. Then, the control unit of the transfer source client starts a timer and determines whether or not a response indicating that update data has been received from the transfer destination client has been received within a predetermined time (step S472). If there is a response indicating that update data has been received from the transfer destination client (step S472: YES), the process is terminated.

転送先クライアントから更新データを受信した旨の応答がない場合には(ステップS472:NO)、転送元クライアントの制御部は更新データを送信した回数を数えてRAMに記録し、更新データを所定回数以上送信したか否かを判定する(ステップS473)。なお前記所定回数は転送元クライアントの起動時にRAMに設定されている。送信回数が所定回数未満である場合に(ステップS473:NO)、転送元クライアントの制御部はステップS471に処理を戻す。送信回数が所定回数以上である場合に(ステップS473:YES)、転送元クライアントの制御部は転送先クライアントに障害が発生したことを示す情報(転送先障害情報)をサーバ1へ送信する(ステップS474)。そして転送元クライアントの制御部は、転送先クライアントにリセット情報を送信し、転送先クライアントとのコネクションを強制的に切断する(ステップS475)。   If there is no response indicating that update data has been received from the transfer destination client (step S472: NO), the control unit of the transfer source client counts the number of times the update data has been transmitted and records it in the RAM, and stores the update data a predetermined number of times. It is determined whether or not transmission has been completed (step S473). The predetermined number of times is set in the RAM when the transfer source client is activated. When the number of transmissions is less than the predetermined number (step S473: NO), the control unit of the transfer source client returns the process to step S471. When the number of transmissions is equal to or greater than the predetermined number (step S473: YES), the control unit of the transfer source client transmits information indicating that a failure has occurred in the transfer destination client (transfer destination failure information) to the server 1 (step S47). S474). Then, the control unit of the transfer source client transmits reset information to the transfer destination client, and forcibly disconnects the connection with the transfer destination client (step S475).

転送先障害情報を受信したサーバ1は、障害が発生している転送先クライアントの情報を通信経路情報テーブルから削除する削除処理を実行する。図38は、転送元クライアントにて共有データが更新され、転送先クライアントに障害が発生している場合に、サーバの制御部が実行する削除処理を説明するフローチャートである。   The server 1 that has received the transfer destination failure information executes a deletion process for deleting the information of the transfer destination client in which the failure has occurred from the communication path information table. FIG. 38 is a flowchart for explaining a deletion process executed by the control unit of the server when shared data is updated in the transfer source client and a failure occurs in the transfer destination client.

サーバ1の制御部1aは、転送先障害情報を受信したか否かを判定し(ステップS481)、転送先障害情報を受信するまで待機する(ステップS481:NO)。転送先障害情報を受信した場合に(ステップS481:YES)、サーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し、転送先クライアントの情報を削除する(ステップS482)。このとき転送元クライアントの転送先IPアドレスには転送元クライアントのIPアドレスが記録(上書き)され、転送元クライアントは孤立クライアントになる。そしてサーバ1の制御部1aは、孤立クライアントが複数存在するか否かを判定し(ステップS483)、孤立クライアントが単数である場合に(ステップS483:NO)、処理を終了する。   The control unit 1a of the server 1 determines whether or not the transfer destination failure information has been received (step S481), and waits until the transfer destination failure information is received (step S481: NO). When the transfer destination failure information is received (step S481: YES), the control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table, and deletes the transfer destination client information (step S482). ). At this time, the IP address of the transfer source client is recorded (overwritten) in the transfer destination IP address of the transfer source client, and the transfer source client becomes an isolated client. Then, the control unit 1a of the server 1 determines whether or not there are a plurality of isolated clients (step S483), and when there is a single isolated client (step S483: NO), the process is terminated.

孤立クライアントが複数存在する場合に(ステップS483:YES)、サーバ1の制御部1aは、孤立クライアント同士の間で、前述したグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行し、通信経路情報テーブルを再構築する(ステップS484)。そしてサーバ1の制御部1aは、全ての転送元クライアント又はステップS484において新たに指定された転送元クライアントに転送先IPアドレスを送信する(ステップS485)。なおステップS484においてグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行しても複数の孤立クライアントから転送元クライアント及び転送先クライアントを新たに指定できなかった場合には、ステップS485は実行しない。   When there are a plurality of isolated clients (step S483: YES), the control unit 1a of the server 1 executes the above-described grouping processing, group priority processing, fastest processing, threshold processing, or the like between the isolated clients to perform communication. The route information table is reconstructed (step S484). Then, the control unit 1a of the server 1 transmits the transfer destination IP address to all the transfer source clients or the transfer source clients newly designated in step S484 (step S485). If the transfer source client and transfer destination client cannot be newly designated from a plurality of isolated clients even after performing the grouping process, the group priority process, the fastest process, or the threshold process in step S484, step S485 is not executed. .

サーバ1が更新データを送信した転送元クライアントに障害が発生している場合に、サーバ1の制御部1aは障害が発生している転送元クライアントの情報を通信経路情報テーブルから削除する削除処理を実行する。図39はサーバが更新データを送信した転送元クライアントに障害が発生している場合に、サーバの制御部が実行する削除処理を説明するフローチャートである。   When a failure has occurred in the transfer source client to which the server 1 has transmitted the update data, the control unit 1a of the server 1 performs a deletion process for deleting the information of the transfer source client in which the failure has occurred from the communication path information table. Execute. FIG. 39 is a flowchart for explaining a deletion process executed by the control unit of the server when a failure has occurred in the transfer source client to which the server transmitted update data.

ステップS151〜ステップS154にて説明したように、更新データを受信したサーバ1の制御部1aは、転送元クライアントへ更新データを送信する(ステップS571)。そしてサーバ1の制御部1aは、タイマを起動させて、更新データを送信した転送元クライアントから更新データを受信したことを示す応答が所定時間内にあったか否かを判定する(ステップS572)。転送元クライアントから更新データを受信したことを示す応答が所定時間内にあった場合に(ステップS572:YES)、サーバ1の制御部1aは処理を終了する。   As described in steps S151 to S154, the control unit 1a of the server 1 that has received the update data transmits the update data to the transfer source client (step S571). Then, the control unit 1a of the server 1 activates the timer and determines whether or not a response indicating that the update data has been received from the transfer source client that has transmitted the update data is within a predetermined time (step S572). When there is a response indicating that update data has been received from the transfer source client within a predetermined time (step S572: YES), the control unit 1a of the server 1 ends the process.

転送元クライアントから更新データを受信したことを示す応答がない場合に(ステップS572:NO)、サーバ1の制御部1aは更新データを送信した回数を数えてRAMに記録し、更新データを所定回数以上送信したか否かを判定する(ステップS573)。なお前記所定回数はサーバ1の起動時にRAMに設定されている。更新データの送信回数が所定回数未満である場合に(ステップS573:NO)、サーバ1の制御部1aはステップS571に処理を戻す。更新データを所定回数以上送信している場合に(ステップS573:YES)、サーバ1の制御部1aは記憶部1eにアクセスして通信経路情報テーブルを参照し、転送元クライアントを示す情報を削除する(ステップS574)。このとき転送先クライアントの転送先IPアドレスには転送先クライアントのIPアドレスが記録(上書き)され、転送先クライアントは孤立クライアントになる。次にサーバ1の制御部1aは、応答しない転送元クライアントに対応する転送先クライアントへ、前記転送元クライアントとのコネクションを強制的に切断する指令(リセット)を送信する(ステップS575)。   When there is no response indicating that update data has been received from the transfer source client (step S572: NO), the control unit 1a of the server 1 counts the number of times the update data has been transmitted and records it in the RAM, and stores the update data a predetermined number of times. It is determined whether or not transmission has been completed (step S573). The predetermined number of times is set in the RAM when the server 1 is started. When the number of transmissions of the update data is less than the predetermined number (step S573: NO), the control unit 1a of the server 1 returns the process to step S571. When the update data has been transmitted a predetermined number of times or more (step S573: YES), the control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table, and deletes information indicating the transfer source client. (Step S574). At this time, the IP address of the transfer destination client is recorded (overwritten) in the transfer destination IP address of the transfer destination client, and the transfer destination client becomes an isolated client. Next, the control unit 1a of the server 1 transmits a command (reset) for forcibly disconnecting the connection with the transfer source client to the transfer destination client corresponding to the transfer source client that does not respond (step S575).

そしてサーバ1の制御部1aは、転送先クライアントから転送元クライアントとのコネクションを強制的に切断したことを示す応答があったか否かを判定し(ステップS576)、応答があるまで待機する(ステップS576:NO)。転送先クライアントから転送元クライアントとのコネクションを強制的に切断したことを示す応答があった場合に(ステップS576:YES)、サーバ1の制御部1aは、孤立クライアントが複数存在するか否かを判定し(ステップS577)、孤立クライアントが単数である場合に(ステップS577:NO)、処理を終了する。   Then, the control unit 1a of the server 1 determines whether or not there is a response indicating that the connection with the transfer source client has been forcibly disconnected from the transfer destination client (step S576), and waits until there is a response (step S576). : NO). When there is a response from the transfer destination client indicating that the connection with the transfer source client has been forcibly disconnected (step S576: YES), the control unit 1a of the server 1 determines whether or not there are a plurality of isolated clients. If it is determined (step S577) and there is a single isolated client (step S577: NO), the process is terminated.

孤立クライアントが複数存在する場合に(ステップS577:YES)、サーバ1の制御部1aは、孤立クライアント同士の間で、前述したグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行し、通信経路情報テーブルを再構築する(ステップS578)。そしてサーバ1の制御部1aは、全ての転送元クライアント又はステップS578において新たに指定された転送元クライアントに転送先IPアドレスを送信する(ステップS579)。なおステップS578においてグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行しても複数の孤立クライアントから転送元クライアント及び転送先クライアントを新たに指定できなかった場合には、ステップS579は実行しない。   When there are a plurality of isolated clients (step S577: YES), the control unit 1a of the server 1 executes the above-described grouping process, group priority process, fastest process, threshold process, and the like between the isolated clients, and performs communication. The route information table is reconstructed (step S578). Then, the control unit 1a of the server 1 transmits the transfer destination IP address to all the transfer source clients or the transfer source clients newly designated in step S578 (step S579). If the transfer source client and transfer destination client cannot be newly designated from a plurality of isolated clients even after performing the grouping process, the group priority process, the fastest process, or the threshold process in step S578, step S579 is not executed. .

ステップS575におけるサーバ1の処理によって、転送元クライアントとのコネクションを強制的に切断する指令(リセット)を受信した転送先クライアントは、転送元クライアントとのコネクションを強制的に切断する切断処理を実行する。図40は転送元クライアントとのコネクションを強制的に切断する指令を受信した場合における転送先クライアントの制御部が実行する切断処理を説明するフローチャートである。   The transfer destination client that has received a command (reset) forcibly disconnecting the connection with the transfer source client by the processing of the server 1 in step S575 executes a disconnection process for forcibly disconnecting the connection with the transfer source client. . FIG. 40 is a flowchart for explaining a disconnection process executed by the control unit of the transfer destination client when a command for forcibly disconnecting the connection with the transfer source client is received.

転送先クライアントの制御部は、サーバ1から転送元クライアントとのコネクションを強制的に切断する指令(リセット)を受信したか否かを判定し(ステップS581)、リセットを受信するまで待機する(ステップS581:NO)。リセットを受信した場合に(ステップS581:YES)、転送先クライアントの制御部は転送元クライアントとのコネクションを強制的に切断し(ステップS582)、サーバ1に、転送元クライアントとのコネクションを強制的に切断したことを応答する(ステップS583)。   The control unit of the transfer destination client determines whether or not a command (reset) for forcibly disconnecting the connection with the transfer source client has been received from the server 1 (step S581), and waits until a reset is received (step S581). S581: NO). When the reset is received (step S581: YES), the control unit of the transfer destination client forcibly disconnects the connection with the transfer source client (step S582), and forces the server 1 to connect with the transfer source client. It responds that it disconnected (step S583).

転送元クライアントから更新データを転送された転送先クライアントに障害が発生している場合に、サーバ1の制御部1aは障害が発生している転送先クライアントの情報を通信経路情報テーブルから削除する削除処理を実行する。図41は転送元クライアントから更新データを転送された転送先クライアントに障害が発生している場合に、サーバの制御部が実行する削除処理を説明するフローチャートである。   When the transfer destination client to which the update data is transferred from the transfer source client has a failure, the control unit 1a of the server 1 deletes the information of the transfer destination client in which the failure has occurred from the communication path information table. Execute the process. FIG. 41 is a flowchart for explaining deletion processing executed by the control unit of the server when a failure has occurred in the transfer destination client to which update data has been transferred from the transfer source client.

ステップS151〜ステップS154にて説明したように、更新データを受信したサーバ1の制御部1aは、転送元クライアントへ更新データを送信する(ステップS671)。そしてサーバ1の制御部1aは、転送元クライアントから転送先クライアントへ更新データを転送したことを示す応答があったか否かを判定する(ステップS672)。転送元クライアントから転送先クライアントへ更新データを転送したことを示す応答があった場合に(ステップS672:YES)、サーバ1の制御部1aは処理を終了する。転送元クライアントから転送先クライアントへ更新データを転送したことを示す応答がない場合に(ステップS672:NO)、サーバ1の制御部1aは、転送元クライアントから転送先クライアントに障害が発生したことを示す情報(転送先障害情報)を受信したか否かを判定する(ステップS673)。転送先障害情報を受信していない場合に(ステップS673:NO)、サーバ1の制御部1aはステップS672に処理を戻す。   As described in steps S151 to S154, the control unit 1a of the server 1 that has received the update data transmits the update data to the transfer source client (step S671). Then, the control unit 1a of the server 1 determines whether or not there is a response indicating that the update data has been transferred from the transfer source client to the transfer destination client (step S672). When there is a response indicating that update data has been transferred from the transfer source client to the transfer destination client (step S672: YES), the control unit 1a of the server 1 ends the process. When there is no response indicating that update data has been transferred from the transfer source client to the transfer destination client (step S672: NO), the control unit 1a of the server 1 indicates that a failure has occurred in the transfer destination client from the transfer source client. It is determined whether or not the received information (transfer destination failure information) has been received (step S673). When the transfer destination failure information has not been received (step S673: NO), the control unit 1a of the server 1 returns the process to step S672.

転送先障害情報を受信した場合に(ステップS673:YES)、サーバ1の制御部1aは記憶部1eにアクセスして通信経路情報テーブルを参照し、転送先クライアントの情報を通信経路情報テーブルから削除する(ステップS674)。このとき転送元クライアントの転送先IPアドレスには転送元クライアントのIPアドレスが記録(上書き)され、転送元クライアントは孤立クライアントになる。そしてサーバ1の制御部1aは、孤立クライアントは複数存在するか否かを判定し(ステップS675)、孤立クライアントが単数である場合に(ステップS675:NO)、処理を終了する。   When the transfer destination failure information is received (step S673: YES), the control unit 1a of the server 1 accesses the storage unit 1e, refers to the communication path information table, and deletes the transfer destination client information from the communication path information table. (Step S674). At this time, the IP address of the transfer source client is recorded (overwritten) in the transfer destination IP address of the transfer source client, and the transfer source client becomes an isolated client. Then, the control unit 1a of the server 1 determines whether or not there are a plurality of isolated clients (step S675), and when there is a single isolated client (step S675: NO), the process ends.

孤立クライアントが複数存在する場合に、サーバ1の制御部1aは、孤立クライアント同士の間で、前述したグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行し、通信経路情報テーブルを再構築する(ステップS676)。そしてサーバ1の制御部1aは、全ての転送元クライアント又はステップS676において新たに指定された転送元クライアントに転送先IPアドレスを送信する(ステップS677)。なおステップS676においてグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行しても複数の孤立クライアントから転送元クライアント及び転送先クライアントを新たに指定できなかった場合には、ステップS677は実行しない。   When there are a plurality of isolated clients, the control unit 1a of the server 1 executes the grouping process, the group priority process, the fastest process, or the threshold process described above between the isolated clients to reconstruct the communication path information table. (Step S676). Then, the control unit 1a of the server 1 transmits the transfer destination IP address to all the transfer source clients or the transfer source clients newly designated in step S676 (step S677). If the transfer source client and the transfer destination client cannot be newly designated from a plurality of isolated clients even after performing the grouping process, the group priority process, the fastest process, or the threshold process in step S676, step S677 is not executed. .

ステップS671においてサーバ1から送信された更新データを受信した転送元クライアントは、転送先クライアントへ更新データを転送する。転送元クライアントは、転送先クライアントから更新データを受信したことを示す応答がない場合に、転送先クライアントとのコネクションを強制的に切断する切断処理を実行する。図42は転送先クライアントから更新データを受信したことを示す応答がない場合に、転送元クライアントの制御部が実行する切断処理を説明するフローチャートである。   In step S671, the transfer source client that has received the update data transmitted from the server 1 transfers the update data to the transfer destination client. When there is no response indicating that update data has been received from the transfer destination client, the transfer source client executes a disconnection process for forcibly disconnecting the connection with the transfer destination client. FIG. 42 is a flowchart for explaining a disconnection process executed by the control unit of the transfer source client when there is no response indicating that update data has been received from the transfer destination client.

転送元クライアントの制御部は、サーバ1から更新データを受信したか否かを判定し(ステップS681)、サーバ1から更新データを受信するまで待機する(ステップS681:NO)。サーバ1から更新データを受信した場合に(ステップS681:YES)、転送元クライアントの制御部は転送先クライアントへ更新データを転送する(ステップS682)。そして転送元クライアントの制御部は、タイマを起動させて、転送先クライアントから更新データを受信したことを示す応答が所定時間内にあったか否かを判定する(ステップS683)。転送先クライアントから更新データを受信したことを示す応答があった場合に(ステップS683:YES)、転送元クライアントの制御部は処理を終了する。   The control unit of the transfer source client determines whether or not update data is received from the server 1 (step S681), and waits until update data is received from the server 1 (step S681: NO). When the update data is received from the server 1 (step S681: YES), the control unit of the transfer source client transfers the update data to the transfer destination client (step S682). Then, the control unit of the transfer source client starts a timer and determines whether or not a response indicating that update data has been received from the transfer destination client has been received within a predetermined time (step S683). When there is a response indicating that update data has been received from the transfer destination client (step S683: YES), the control unit of the transfer source client ends the process.

転送先クライアントから更新データを受信したことを示す応答がない場合に(ステップS683:NO)、転送元クライアントの制御部は、更新データを転送した回数を数えてRAMに記録し、更新データを所定回数以上転送したか否かを判定する(ステップS684)。なお前記所定回数は転送元クライアントの起動時にRAMに設定されている。転送回数が所定回数未満である場合に(ステップS684:NO)、転送元クライアントの制御部はステップS682に処理を戻す。転送回数が所定回数以上である場合に(ステップS684:YES)、転送元クライアントの制御部は転送先クライアントに障害が発生したことを示す情報(転送先障害情報)をサーバ1へ送信する(ステップS685)。そして転送元クライアントの制御部は、転送先クライアントへリセット情報を送信し、転送先クライアントとのコネクションを強制的に切断する(ステップS686)。   When there is no response indicating that update data has been received from the transfer destination client (step S683: NO), the control unit of the transfer source client counts the number of times the update data has been transferred, records it in the RAM, and stores the update data in a predetermined manner. It is determined whether or not the transfer has been performed more than the number of times (step S684). The predetermined number of times is set in the RAM when the transfer source client is activated. When the transfer count is less than the predetermined count (step S684: NO), the control unit of the transfer source client returns the process to step S682. When the number of transfers is equal to or greater than the predetermined number (step S684: YES), the control unit of the transfer source client transmits information indicating that a failure has occurred in the transfer destination client (transfer destination failure information) to the server 1 (step S684). S685). Then, the control unit of the transfer source client transmits reset information to the transfer destination client and forcibly disconnects the connection with the transfer destination client (step S686).

実施の形態にあっては、同一のサブネットワーク(通信網)に接続している複数のクライアントの内、一のクライアントを転送元クライアントに指定し、他のクライアントを転送先クライアントに指定する。そしてサーバ1からデータを受信した転送元クライアントが、転送先クライアントへデータを転送する。そのためデータを配信するシステムが大規模化しても、システムは簡素な制御でデータを送信・転送することができ、サーバ1から転送元クライアントへ効率良くデータを配信し、転送元クライアント及び転送先クライアント間でルータを経由させることなく、迅速にデータを転送することができる。データはルータを経由せずに転送されるので、転送先クライアントへ短時間で転送される。また通信網を識別する識別情報をサーバ1にて記憶・管理しているので、クライアントとサーバ1との接続/切断などによってシステムの構成が変更されても、容易に転送元クライアント及び転送先クライアントを再指定することができる。   In the embodiment, among a plurality of clients connected to the same subnetwork (communication network), one client is designated as a transfer source client, and the other clients are designated as transfer destination clients. Then, the transfer source client that has received the data from the server 1 transfers the data to the transfer destination client. Therefore, even if the system for distributing data becomes large, the system can transmit and transfer data with simple control, efficiently distribute data from the server 1 to the transfer source client, and transfer source client and transfer destination client Data can be transferred quickly without going through a router. Since the data is transferred without going through the router, it is transferred to the transfer destination client in a short time. Since the identification information for identifying the communication network is stored and managed in the server 1, even if the system configuration is changed due to connection / disconnection between the client and the server 1, the transfer source client and the transfer destination client can be easily used. Can be re-specified.

またサーバ1に接続された複数のクライアントの中から転送元クライアントを指定し、該転送元クライアントと最速時間で通信することができるクライアントを転送先クライアントに指定する。そのためデータを配信するシステムが大規模化しても、システムは簡素な制御でデータを送信・転送することができ、サーバ1から各転送元クライアントへ効率良くデータを配信し、転送元クライアント及び転送先クライアント間で迅速にデータを転送することができる。またサーバ1に接続された複数のクライアント間の通信速度をサーバ1にて記憶・管理しているので、クライアントとサーバ1との接続/切断などによってシステムの構成が変更されても、転送元クライアント及び転送先クライアントを容易に再指定することができる。   Also, a transfer source client is specified from among a plurality of clients connected to the server 1, and a client that can communicate with the transfer source client in the fastest time is specified as a transfer destination client. Therefore, even if the system for distributing data is enlarged, the system can transmit and transfer data with simple control, efficiently distribute data from the server 1 to each transfer source client, and transfer source client and transfer destination Data can be transferred quickly between clients. Further, since the communication speed between a plurality of clients connected to the server 1 is stored and managed by the server 1, even if the system configuration is changed due to connection / disconnection of the client and the server 1, the transfer source client In addition, the transfer destination client can be easily specified again.

またサーバ1に接続された一のクライアント及び他のクライアントの間の通信速度が予め設定された閾値よりも速い場合に、両クライアントをそれぞれ転送元クライアント及び転送先クライアントに指定し、転送元クライアント及び転送先クライアントを示す情報をサーバ1にて記憶する。そのためデータを配信するシステムが大規模化しても、システムは簡素な制御でデータを送信・転送することができ、サーバ1から各転送元クライアントへ効率良くデータを配信し、転送元クライアント及び転送先クライアント間で迅速にデータを転送することができる。また新たなクライアントがサーバ1に接続し、システムの構成が変更されても、新たなクライアントと既存のクライアントとの通信速度を閾値と比較するだけで、転送元クライアント及び転送先クライアントを再指定するか否かを判定することができ、転送元クライアント及び転送先クライアントを容易に再指定することができる。   When the communication speed between one client connected to the server 1 and another client is faster than a preset threshold, both clients are designated as a transfer source client and a transfer destination client, respectively. Information indicating the transfer destination client is stored in the server 1. Therefore, even if the system for distributing data is enlarged, the system can transmit and transfer data with simple control, efficiently distribute data from the server 1 to each transfer source client, and transfer source client and transfer destination Data can be transferred quickly between clients. Even when a new client connects to the server 1 and the system configuration is changed, the transfer source client and the transfer destination client are re-designated only by comparing the communication speed between the new client and the existing client with a threshold value. Whether the transfer source client and the transfer destination client can be easily specified again.

またサーバ1と一のクライアントとの通信速度が、該一のクライアントと他のクライアントとの通信速度よりも遅い場合に、一のクライアントを転送先クライアントに指定し、他のクライアントを転送元クライアントに指定する。そのためデータを配信するシステムが大規模化しても、システムは簡素な制御でデータを送信・転送することができ、サーバ1から各転送元クライアントへ効率良くデータを配信し、転送元クライアント及び転送先クライアント間で迅速にデータを転送することができる。また転送元クライアント及び転送先クライアントを示す情報をサーバ1にて記憶・管理しているので、クライアントとサーバ1との接続/切断などによってシステムの構成が変更されても、転送元クライアント及び転送先クライアントを容易に再指定することができる。   When the communication speed between the server 1 and one client is slower than the communication speed between the one client and another client, one client is designated as the transfer destination client, and the other client is designated as the transfer source client. specify. Therefore, even if the system for distributing data is enlarged, the system can transmit and transfer data with simple control, efficiently distribute data from the server 1 to each transfer source client, and transfer source client and transfer destination Data can be transferred quickly between clients. Since the server 1 stores and manages information indicating the transfer source client and the transfer destination client, even if the system configuration is changed due to connection / disconnection between the client and the server 1, the transfer source client and the transfer destination client Clients can be easily redesignated.

またサーバ1から転送元クライアントにデータを送信する前に、転送先クライアントを示す情報を転送元クライアントに送信して、転送元クライアント及び転送先クライアント間にデータの送受信が可能な送受信可能状態(コネクション)を確立させる。そのためサーバ1から転送元クライアントに送信されたデータは転送先クライアントへ直ちに転送される。   Before transmitting data from the server 1 to the transfer source client, information indicating the transfer destination client is transmitted to the transfer source client, and data can be transmitted / received between the transfer source client and the transfer destination client (connection ). Therefore, the data transmitted from the server 1 to the transfer source client is immediately transferred to the transfer destination client.

また前述したコネクションは、転送元クライアントと転送先クライアントとの間で一対一で確立されるので、サーバ1は複数のクライアントの内、半分のクライアントを転送元クライアントに指定して、データを各転送元クライアントに配信すればよいので、サーバ1の負荷が軽減される。また転送元クライアントと転送先クライアントとの間で一対多でコネクションを確立する場合に比較して、システムのデータ送信・転送制御が簡素化される。   Further, since the above-described connection is established one-to-one between the transfer source client and the transfer destination client, the server 1 designates half of the plurality of clients as the transfer source client and transfers the data to each transfer. Since the distribution to the original client is sufficient, the load on the server 1 is reduced. In addition, data transmission / transfer control of the system is simplified as compared with the case where a one-to-many connection is established between a transfer source client and a transfer destination client.

また転送元クライアントと転送先クライアントとの間におけるコネクションが切断される若しくは転送元クライアント又は転送先クライアントがシステムから退出するによって、コネクションが未確立のクライアントが複数存在するときに、コネクションが未確立の複数のクライアントから、コネクションが確立されるべき複数のクライアントを抽出し、抽出したクライアント間でコネクションを確立させる。   In addition, when the connection between the transfer source client and the transfer destination client is disconnected or the transfer source client or the transfer destination client leaves the system and there are a plurality of unestablished connections, the connection is not established. A plurality of clients to be connected are extracted from a plurality of clients, and a connection is established between the extracted clients.

また転送元クライアントにてデータを受信することが不可能である場合に、サーバ1は前記転送元クライアントとコネクションを確立した転送先クライアントに前記コネクションを切断させる。そのためデータを受信することが不可能な前記転送元クライアントをデータ配信システムから除外し、データ配信システムを保全することができる。またデータを受信することが不可能な前記転送元クライアントの情報を通信経路情報テーブルから除外することで、コネクションが未確立の複数のクライアントから、コネクションが確立されるべき複数のクライアントを抽出し、抽出したクライアント間でコネクションを確立させることができる。   When the transfer source client cannot receive data, the server 1 causes the transfer destination client that has established a connection with the transfer source client to disconnect the connection. Therefore, the transfer source client that cannot receive data can be excluded from the data distribution system, and the data distribution system can be maintained. Further, by excluding information of the transfer source client that cannot receive data from the communication path information table, a plurality of clients to which a connection should be established is extracted from a plurality of clients that have not yet established a connection, A connection can be established between the extracted clients.

また転送先クライアントにてデータを受信することが不可能である場合に、転送元クライアントは、データの受信が不可能な転送先クライアントを示す情報を前記サーバ1へ送信し、転送先クライアントとの間で確立されたコネクションを強制的に切断する。データの受信が不可能な転送先クライアントを示す情報を受信したサーバ1は、データを受信することが不可能な転送先クライアントを示す情報を通信経路情報テーブルから除外することで、コネクションが未確立の複数のクライアントから、コネクションが確立されるべき複数のクライアントを抽出し、抽出したクライアント間でコネクションを確立させることができる。   If the data cannot be received by the transfer destination client, the transfer source client transmits information indicating the transfer destination client that cannot receive the data to the server 1, and Forcibly close the connection established between them. The server 1 that has received the information indicating the transfer destination client that cannot receive the data excludes the information indicating the transfer destination client that cannot receive the data from the communication path information table, so that the connection is not established. A plurality of clients to which a connection should be established can be extracted from the plurality of clients, and a connection can be established between the extracted clients.

またクライアントがサーバ1に接続した場合、すなわちクライアントがデータ配信システムに入室した場合に、入室したクライアントを示す情報を通信経路情報テーブルに追加し、またクライアントがサーバ1との接続を切断した場合、すなわちクライアントがデータを配信するシステムから退室した場合に、通信経路情報テーブルから退室したクライアントを示す情報を削除するので、クライアントの管理を円滑且つ確実に行うことができる。   When the client connects to the server 1, that is, when the client enters the data distribution system, information indicating the entered client is added to the communication path information table, and when the client disconnects from the server 1, That is, when the client leaves the system that distributes data, the information indicating the client that has left the room is deleted from the communication path information table, so that the client can be managed smoothly and reliably.

実施の形態においては、サーバ1及びクライアントのROMには制御プログラムが予めインストールされているが、制御プログラムを記録した光ディスク及び磁気ディスクなどの記録媒体からサーバ1及びクライアントにインストールする構成でも良い。またI/F部を介して通信網からサーバ1及びクライアントに制御プログラムをダウンロードする構成であっても良い。   In the embodiment, the control program is installed in advance in the ROM of the server 1 and the client. However, a configuration in which the control program is installed in the server 1 and the client from a recording medium such as an optical disk or a magnetic disk on which the control program is recorded may be employed. Moreover, the structure which downloads a control program to the server 1 and a client from a communication network via an I / F part may be sufficient.

またサーバの制御部による選定処理の第1実施例においては、グループ優先処理を行った後に閾値処理を行っているが、いずれか一方の処理を行う構成でも良い。またサーバの制御部による選定処理の第2実施例においては、グループ優先処理を行った後に最速処理を行っているが、いずれか一方の処理を行う構成でも良い。また選定処理の第1実施例〜第3実施例を構成する各処理を適宜組み合わせて、選定処理を行っても良い。   Further, in the first embodiment of the selection process by the control unit of the server, the threshold process is performed after the group priority process is performed. However, any one of the processes may be performed. In the second embodiment of the selection process by the control unit of the server, the fastest process is performed after the group priority process is performed, but a configuration in which any one process is performed may be used. Further, the selection process may be performed by appropriately combining the processes constituting the first to third embodiments of the selection process.

また実施の形態においては、IPアドレスによって各クライアントを識別しているが、NAPT(Network Address Port Translation)機能を使用している場合には、ポート番号も通信経路情報テーブルに記憶し、IPアドレスとポート番号との組み合わせによって、各クライアントを識別しても良い。また実施の形態においては、転送元クライアントと転送先クライアントとを一対一で対応させているが、一の転送元クライアントに複数の転送先クライアントを対応させて、一の転送元クライアントから複数の転送先クライアントへデータが転送される構成としても良い。   In the embodiment, each client is identified by the IP address. However, when the NAPT (Network Address Port Translation) function is used, the port number is also stored in the communication path information table, and the IP address and Each client may be identified by a combination with a port number. In the embodiment, the transfer source client and the transfer destination client are associated one-to-one. However, a plurality of transfer destination clients are associated with one transfer source client, and a plurality of transfers are performed from one transfer source client. A configuration may be adopted in which data is transferred to the destination client.

以上説明した実施の形態は特許請求の範囲に記載した事項の例示であり、特許請求の範囲に記載された事項及び特許請求の範囲に記載された発明と均等の範囲内において種々変更することができる。   The embodiment described above is an exemplification of matters described in the claims, and various changes can be made within the scope equivalent to the matters described in the claims and the invention described in the claims. it can.

1 サーバ
1a 制御部
1b 操作部
1c 表示部
1d I/F部
1e 記憶部
11〜19 クライアント
11a〜19a 制御部
11b〜19b 操作部
11c〜19c 表示部
11d〜19d I/F部
11d〜19d 記憶部
21〜25 ルータ
31〜33 スイッチ
50 通信網
1 server 1a control unit 1b operation unit 1c display unit 1d I / F unit 1e storage unit 11-19 client 11a-19a control unit 11b-19b operation unit 11c-19c display unit 11d-19d I / F unit 11d-19d storage unit 21-25 router 31-33 switch 50 communication network

Claims (23)

通信網を介して複数のクライアントを接続したサーバが少なくとも一つのクライアントへデータを配信し、前記サーバから配信されたデータが、前記クライアント間で転送されるデータ配信システムにおいて、
前記サーバは、
前記クライアントが接続している通信網を識別する識別情報を取得する手段と、
該手段によって取得した識別情報に基づいて、前記クライアントを通信網毎に区別する手段と、
該手段によって区別された同一の通信網に接続している複数のクライアントから、前記サーバより送信されたデータを転送する転送元クライアント及び転送されたデータを受信する転送先クライアントを指定する手段とを備えること
を特徴とするデータ配信システム。
In a data distribution system in which a server connected to a plurality of clients via a communication network distributes data to at least one client, and the data distributed from the server is transferred between the clients.
The server
Means for acquiring identification information for identifying a communication network to which the client is connected;
Means for distinguishing the client for each communication network based on the identification information acquired by the means;
Means for designating a transfer source client for transferring data transmitted from the server and a transfer destination client for receiving the transferred data from a plurality of clients connected to the same communication network distinguished by the means; A data distribution system characterized by comprising:
通信網を介して複数のクライアントを接続したサーバが少なくとも一つのクライアントへデータを配信し、前記サーバから配信されたデータが、前記クライアント間で転送されるデータ配信システムにおいて、
前記複数のクライアント間の通信速度を計測する手段を備え、
前記サーバは、
複数のクライアントの中から、前記サーバより送信されたデータを転送する転送元クライアントを指定する手段と、
計測された通信速度に基づいて、前記転送元クライアントとの通信速度が最速の転送先クライアントを指定する手段とを備えること
を特徴とするデータ配信システム。
In a data distribution system in which a server connected to a plurality of clients via a communication network distributes data to at least one client, and the data distributed from the server is transferred between the clients.
Means for measuring a communication speed between the plurality of clients;
The server
Means for designating a transfer source client for transferring data transmitted from the server from a plurality of clients;
A data distribution system comprising: means for designating a transfer destination client having the fastest communication speed with the transfer source client based on the measured communication speed.
通信網を介して複数のクライアントを接続したサーバが少なくとも一つのクライアントへデータを配信し、前記サーバから配信されたデータが、前記クライアント間で転送されるデータ配信システムにおいて、
前記複数のクライアント間の通信速度を計測する手段を備え、
前記サーバは、
計測された通信速度が予め設定された閾値以上であるか否かを判定する手段と、
該手段によって前記通信速度が前記閾値以上であると判定された場合に、前記通信速度の判定対象となった両クライアントを前記サーバから送信されたデータを転送する転送元クライアント及び該転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段と
を備えることを特徴とするデータ配信システム。
In a data distribution system in which a server connected to a plurality of clients via a communication network distributes data to at least one client, and the data distributed from the server is transferred between the clients.
Means for measuring a communication speed between the plurality of clients;
The server
Means for determining whether or not the measured communication speed is equal to or higher than a preset threshold;
When it is determined by the means that the communication speed is equal to or higher than the threshold, both the clients subjected to the determination of the communication speed are transferred from the transfer source client that transfers the data transmitted from the server and the transfer source client. A data distribution system comprising: means for designating a transfer destination client that receives the transferred data.
通信網を介して複数のクライアントを接続したサーバが少なくとも一つのクライアントへデータを配信し、前記サーバから配信されたデータが、前記クライアント間で転送されるデータ配信システムにおいて、
前記サーバと一のクライアントとの間の第1通信速度を計測する手段と、
前記一のクライアントと他のクライアントとの間の第2通信速度を計測する手段とを備え、
前記サーバは、計測された第1通信速度が前記第2通信速度よりも遅い場合に、前記他のクライアントを前記サーバから送信されたデータを転送する転送元クライアントに指定し、前記一のクライアントを前記転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段を備えることを特徴とするデータ配信システム。
In a data distribution system in which a server connected to a plurality of clients via a communication network distributes data to at least one client, and the data distributed from the server is transferred between the clients.
Means for measuring a first communication speed between the server and one client;
Means for measuring a second communication speed between the one client and another client,
When the measured first communication speed is slower than the second communication speed, the server designates the other client as a transfer source client that transfers data transmitted from the server, and the one client is designated as the first client. A data distribution system comprising means for designating a transfer destination client that receives data transferred from the transfer source client.
前記サーバは、前記転送元クライアントにデータを送信する前に、指定した前記転送先クライアントを示す情報を前記転送元クライアントに送信する手段を備え、
前記転送先クライアントを示す情報を前記転送元クライアントが受信した場合に、前記転送元クライアントと前記転送先クライアントとの間でデータの送受信が可能な送受信可能状態が確立されることを特徴とする請求項1から4のいずれか一つに記載のデータ配信システム。
The server includes means for transmitting information indicating the designated transfer destination client to the transfer source client before transmitting data to the transfer source client;
The transmission / reception enabled state in which data can be transmitted / received between the transfer source client and the transfer destination client is established when the transfer source client receives information indicating the transfer destination client. Item 5. The data distribution system according to any one of Items 1 to 4.
前記送受信可能状態は前記転送元クライアントと前記転送先クライアントとの間で一対一で確立されるようにしてあることを特徴とする請求項5に記載のデータ配信システム。   6. The data distribution system according to claim 5, wherein the transmission / reception enabled state is established one-to-one between the transfer source client and the transfer destination client. 前記サーバは、
前記送受信可能状態が未確立の前記クライアントが複数存在するか否かを判定する手段と、
該手段によって、前記送受信可能状態が未確立の前記クライアントが複数存在すると判定された場合に、複数存在すると判定された前記クライアントの内、前記送受信可能状態が確立されるべきクライアントを指定する手段とを備え、
該手段によって指定されたクライアント同士の間で前記送受信可能状態を確立することができるようにしてあること
を特徴とする請求項5又は6に記載のデータ配信システム。
The server
Means for determining whether or not there are a plurality of the unestablished clients.
Means for designating a client to which the transmission / reception enabled state is to be established among the clients determined to be multiple when it is determined by the means that there are a plurality of the clients whose transmission / reception enabled state is not established; With
The data distribution system according to claim 5 or 6, wherein the transmission / reception enabled state can be established between clients designated by the means.
前記サーバは、
前記転送元クライアントにてデータを受信することが可能であるか否かを判定する手段と、
該手段によって前記転送元クライアントにてデータを受信することが不可能であると判定された場合に、データの受信が不可能な転送元クライアントとの間で前記送受信可能状態を確立した転送先クライアントに前記送受信可能状態を強制的に終了させる手段と
を備えることを特徴とする請求項7に記載のデータ配信システム。
The server
Means for determining whether or not data can be received by the transfer source client;
When the means determines that the data cannot be received by the transfer source client by the means, the transfer destination client that has established the transmit / receive enabled state with the transfer source client that cannot receive the data The data distribution system according to claim 7, further comprising: means for forcibly terminating the transmission / reception enabled state.
前記転送元クライアント(又は前記転送先クライアント)は、
前記転送先クライアント(又は前記転送元クライアント)にてデータを受信することが可能であるか否かを判定する手段と、
前記転送先クライアント(又は前記転送元クライアント)にてデータを受信することが不可能であると判定された場合に、データの受信が不可能な前記転送先クライアント(又は前記転送元クライアント)を示す情報を前記サーバへ送信する手段と、
データの受信が不可能な前記転送先クライアント(又は前記転送元クライアント)との間で確立された前記送受信可能状態を強制的に終了する手段とを備えること
を特徴とする請求項7又は8に記載のデータ配信システム。
The transfer source client (or the transfer destination client)
Means for determining whether data can be received at the transfer destination client (or the transfer source client);
The transfer destination client (or the transfer source client) that cannot receive data when it is determined that the transfer destination client (or the transfer source client) cannot receive data. Means for transmitting information to the server;
The method according to claim 7, further comprising: a unit that forcibly terminates the transmission / reception enabled state established with the transfer destination client (or the transfer source client) incapable of receiving data. The data distribution system described.
前記サーバは、
前記サーバから配信されたデータを前記クライアント間で転送するために、前記クライアント同士の対応関係を示す情報を記憶する手段と、
前記クライアントが前記サーバに接続されるか又は前記サーバと前記クライアントとの接続が切断された場合に、前記クライアント同士の対応関係を示す情報を変更する手段と
を備えることを特徴とする請求項1から9のいずれか一つに記載のデータ配信システム。
The server
Means for storing information indicating a correspondence between the clients in order to transfer data distributed from the server between the clients;
2. The information processing apparatus according to claim 1, further comprising: means for changing information indicating a correspondence relationship between the clients when the client is connected to the server or the connection between the server and the client is disconnected. The data distribution system according to any one of 9 to 9.
通信網を介して複数のクライアントが接続してあり、少なくとも一つのクライアントへデータを配信するサーバにおいて、
前記クライアントからの接続要求を受信した場合に、前記クライアントが接続している通信網を識別する識別情報を取得する手段と、
該手段によって取得した識別情報に基づいて、前記クライアントを通信網毎に区別する手段と、
該手段によって区別された同一の通信網に接続している複数のクライアントから、前記サーバより送信されたデータを転送する転送元クライアント及び転送されたデータを受信する転送先クライアントを指定する手段とを備えること
を特徴とするサーバ。
In a server in which a plurality of clients are connected via a communication network and deliver data to at least one client,
Means for acquiring identification information for identifying a communication network to which the client is connected when receiving a connection request from the client;
Means for distinguishing the client for each communication network based on the identification information acquired by the means;
Means for designating a transfer source client for transferring data transmitted from the server and a transfer destination client for receiving the transferred data from a plurality of clients connected to the same communication network distinguished by the means; A server characterized by comprising.
通信網を介して複数のクライアントが接続してあり、少なくとも一つのクライアントへデータを配信するサーバにおいて、
複数のクライアントの中から、前記サーバより送信されたデータを転送する転送元クライアントを指定し、前記複数のクライアント間の通信速度に基づいて、前記転送元クライアントからの通信速度が最速の転送先クライアントとを指定する手段とを備えること
を特徴とするサーバ。
In a server in which a plurality of clients are connected via a communication network and deliver data to at least one client,
A transfer source client for transferring the data transmitted from the server is designated from among a plurality of clients, and the transfer destination client having the fastest communication speed from the transfer source client is based on the communication speed between the plurality of clients. And a means for designating a server.
通信網を介して複数のクライアントが接続してあり、少なくとも一つのクライアントへデータを配信するサーバにおいて、
前記複数のクライアント間の通信速度が予め設定された閾値以上であるか否かを判定する手段と、
該手段によって前記通信速度が前記閾値以上であると判定された場合に、前記通信速度の判定対象となった両クライアントを前記サーバから送信されたデータを転送する転送元クライアント及び該転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段と
を備えることを特徴とするサーバ。
In a server in which a plurality of clients are connected via a communication network and deliver data to at least one client,
Means for determining whether a communication speed between the plurality of clients is equal to or higher than a preset threshold;
When it is determined by the means that the communication speed is equal to or higher than the threshold, both the clients subjected to the determination of the communication speed are transferred from the transfer source client that transfers the data transmitted from the server and the transfer source client. And means for designating a transfer destination client that receives the transferred data.
通信網を介して複数のクライアントが接続してあり、少なくとも一つのクライアントへデータを配信するサーバにおいて、
前記サーバと一のクライアントとの間の通信速度が前記一のクライアントと他のクライアントとの間の通信速度よりも遅い場合に、前記他のクライアントを前記サーバから送信されたデータを転送する転送元クライアントに指定し、前記一のクライアントを前記転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段を備えることを特徴とするサーバ。
In a server in which a plurality of clients are connected via a communication network and deliver data to at least one client,
When the communication speed between the server and one client is slower than the communication speed between the one client and another client, the transfer source that transfers data transmitted from the server to the other client A server comprising: a means for designating a client, and designating the one client as a transfer destination client that receives data transferred from the transfer source client.
サーバから配信されたデータを、通信網を介して前記サーバに接続された複数のクライアント間で転送するデータ配信方法において、
前記サーバが前記クライアントが接続している通信網を識別する識別情報を取得するステップと、
前記識別情報に基づいて、前記クライアントを通信網毎に区別するステップと、
区別された同一の通信網に接続している複数のクライアントから、前記サーバより送信されたデータを転送する転送元クライアント及び転送されたデータを受信する転送先クライアントを指定するステップと
を備えることを特徴とするデータ配信方法。
In a data distribution method for transferring data distributed from a server between a plurality of clients connected to the server via a communication network,
The server acquiring identification information identifying a communication network to which the client is connected;
Distinguishing the client for each communication network based on the identification information;
Designating a transfer source client for transferring data transmitted from the server and a transfer destination client for receiving the transferred data from a plurality of clients connected to the same differentiated communication network. A characteristic data distribution method.
サーバから配信されたデータを、前記サーバに接続された複数のクライアント間で転送するデータ配信方法において、
前記複数のクライアント間の通信速度を計測するステップと、
複数のクライアントの中から、前記サーバより送信されたデータを転送する転送元クライアントを指定するステップと、
計測された通信速度に基づいて、前記転送元クライアントとの通信速度が最速の転送先クライアントを指定するステップと
を備えることを特徴とするデータ配信方法。
In a data distribution method for transferring data distributed from a server between a plurality of clients connected to the server,
Measuring a communication speed between the plurality of clients;
Designating a transfer source client for transferring data transmitted from the server from a plurality of clients;
And a step of designating a transfer destination client having the fastest communication speed with the transfer source client based on the measured communication speed.
サーバから配信されたデータを、前記サーバに接続された複数のクライアント間で転送するデータ配信方法において、
前記複数のクライアント間の通信速度を計測するステップと、
計測された通信速度が予め設定された閾値以上であるか否かを判定するステップと、
前記通信速度が前記閾値以上であると判定された場合に、前記通信速度の判定対象となった両クライアントを前記サーバから送信されたデータを転送する転送元クライアント及び該転送元クライアントから転送されたデータを受信する転送先クライアントに指定するステップと
を備えることを特徴とするデータ配信方法。
In a data distribution method for transferring data distributed from a server between a plurality of clients connected to the server,
Measuring a communication speed between the plurality of clients;
Determining whether the measured communication speed is equal to or higher than a preset threshold;
When it is determined that the communication speed is equal to or higher than the threshold value, both the clients that are the targets of the communication speed are transferred from the transfer source client that transfers data transmitted from the server and the transfer source client. And a step of designating a transfer destination client that receives data.
サーバから配信されたデータを、前記サーバに接続された複数のクライアント間で転送するデータ配信方法において、
前記サーバと一のクライアントとの間の第1通信速度を計測するステップと、
前記一のクライアントと他のクライアントとの間の第2通信速度を計測するステップと、
計測された第1通信速度が前記第2通信速度よりも遅い場合に、前記他のクライアントを前記サーバから送信されたデータを転送する転送元クライアントに指定し、前記一のクライアントを前記転送元クライアントから転送されたデータを受信する転送先クライアントに指定するステップと
を備えることを特徴とするデータ配信方法。
In a data distribution method for transferring data distributed from a server between a plurality of clients connected to the server,
Measuring a first communication speed between the server and one client;
Measuring a second communication speed between the one client and another client;
When the measured first communication speed is slower than the second communication speed, the other client is designated as a transfer source client for transferring data transmitted from the server, and the one client is designated as the transfer source client. And a step of designating to a transfer destination client that receives the data transferred from the data transfer method.
コンピュータに通信網を介して複数のクライアントが接続してある場合に、コンピュータを、少なくとも一つのクライアントへデータを配信するサーバとして機能させるコンピュータプログラムにおいて、
コンピュータを、
前記クライアントが接続している通信網を識別する識別情報を取得する手段、
該手段によって取得した識別情報に基づいて、前記クライアントを通信網毎に区別する手段及び
該手段によって区別された同一の通信網に接続している複数のクライアントから、前記サーバより送信されたデータを転送する転送元クライアント及び転送されたデータを受信する転送先クライアントを指定する手段
として機能させることを特徴とするコンピュータプログラム。
In a computer program for causing a computer to function as a server for distributing data to at least one client when a plurality of clients are connected to the computer via a communication network,
Computer
Means for obtaining identification information for identifying a communication network to which the client is connected;
Based on the identification information acquired by the means, means for distinguishing the client for each communication network and data transmitted from the server from a plurality of clients connected to the same communication network distinguished by the means A computer program which functions as means for designating a transfer source client for transferring and a transfer destination client for receiving transferred data.
コンピュータに通信網を介して複数のクライアントが接続してある場合に、コンピュータを、少なくとも一つのクライアントへデータを配信するサーバとして機能させるコンピュータプログラムにおいて、
コンピュータを、
複数のクライアントの中から、前記サーバより送信されたデータを転送する転送元クライアントを指定する手段及び
前記複数のクライアント間の通信速度に基づいて、前記転送元クライアントからの通信速度が最速の転送先クライアントとを指定する手段
として機能させることを特徴とするコンピュータプログラム。
In a computer program for causing a computer to function as a server for distributing data to at least one client when a plurality of clients are connected to the computer via a communication network,
Computer
Based on the communication speed between the plurality of clients and the means for designating the transfer source client for transferring the data transmitted from the server from among the plurality of clients, the transfer destination having the fastest communication speed from the transfer source client A computer program that functions as a means for specifying a client.
コンピュータに通信網を介して複数のクライアントが接続してある場合に、コンピュータを、少なくとも一つのクライアントへデータを配信するサーバとして機能させるコンピュータプログラムにおいて、
コンピュータを、
前記複数のクライアント間の通信速度を予め設定された閾値以上であるか否かを判定する手段及び
該手段によって前記通信速度が前記閾値以上であると判定された場合に、前記通信速度の判定対象となった両クライアントを前記サーバから送信されたデータを転送する転送元クライアント及び該転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段
として機能させることを特徴とするコンピュータプログラム。
In a computer program for causing a computer to function as a server for distributing data to at least one client when a plurality of clients are connected to the computer via a communication network,
Computer
Means for determining whether or not the communication speed between the plurality of clients is equal to or higher than a preset threshold; and when the communication speed is determined to be higher than or equal to the threshold by the means, the determination target of the communication speed A computer program that causes both of the clients to function as a transfer source client that transfers data transmitted from the server and a transfer destination client that receives data transferred from the transfer source client.
コンピュータに通信網を介して複数のクライアントが接続してある場合に、コンピュータを、少なくとも一つのクライアントへデータを配信するサーバとして機能させるコンピュータプログラムにおいて、
コンピュータを、
前記サーバと前記一のクライアントとの間の通信速度が一のクライアントと他のクライアントとの間の通信速度よりも速い場合に、前記他のクライアントを前記サーバから送信されたデータを転送する転送元クライアントに指定し、前記一のクライアントを前記転送元クライアントから転送されたデータを受信する転送先クライアントに指定する手段
として機能させることを特徴とするコンピュータプログラム。
In a computer program for causing a computer to function as a server for distributing data to at least one client when a plurality of clients are connected to the computer via a communication network,
Computer
When the communication speed between the server and the one client is faster than the communication speed between the one client and another client, the transfer source that transfers the data transmitted from the server to the other client A computer program that designates a client as a means to designate the one client as a transfer destination client that receives data transferred from the transfer source client.
請求項19から請求項22のいずれか一つに記載のコンピュータプログラムを記録してあることを特徴とするコンピュータでの読み取りが可能な記録媒体。   23. A computer-readable recording medium in which the computer program according to any one of claims 19 to 22 is recorded.
JP2009229677A 2009-10-01 2009-10-01 Data distribution system, server, data distribution method, computer program, and recording medium Pending JP2011076532A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009229677A JP2011076532A (en) 2009-10-01 2009-10-01 Data distribution system, server, data distribution method, computer program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009229677A JP2011076532A (en) 2009-10-01 2009-10-01 Data distribution system, server, data distribution method, computer program, and recording medium

Publications (1)

Publication Number Publication Date
JP2011076532A true JP2011076532A (en) 2011-04-14

Family

ID=44020420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009229677A Pending JP2011076532A (en) 2009-10-01 2009-10-01 Data distribution system, server, data distribution method, computer program, and recording medium

Country Status (1)

Country Link
JP (1) JP2011076532A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014235735A (en) * 2013-05-31 2014-12-15 株式会社リコー Device and method for protecting endpoint device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014235735A (en) * 2013-05-31 2014-12-15 株式会社リコー Device and method for protecting endpoint device

Similar Documents

Publication Publication Date Title
US5838909A (en) Reducing latency when synchronizing access to a multi-user database over a network
WO2011037148A1 (en) Computer system, and migration method of virtual machine
WO2004006101A1 (en) Cache device, cache data management method, and computer program
JP4558139B2 (en) Network management device
CN104852840B (en) A kind of method and device exchanged visits between control virtual machine
JP2000090027A (en) Object managing system, information processing system, record medium recording object managing program and record medium recording information processing program
JP2008154066A (en) Repeater, communication method, and communication program
JP6848426B2 (en) Communication devices, communication systems, programs and communication control methods
JP3987512B2 (en) Message delivery method, computer and program
US6738807B1 (en) Virtual space communication system for executing communication among computers sharing a virtual space
JP2004320693A (en) Packet control system, packet control apparatus, packet repeating apparatus and packet control program
JP2011076532A (en) Data distribution system, server, data distribution method, computer program, and recording medium
CN110730095A (en) Cloud computing platform-oriented data security emergency drilling method and system
JP4550604B2 (en) Setting information synchronization program
JP6467906B2 (en) Information processing system, information processing method, information processing program, and information processing apparatus
JP5245837B2 (en) Terminal device, relay device, and program
JP3481833B2 (en) Network management system and recording medium recording management program
JP4272105B2 (en) Storage group setting method and apparatus
JP4579850B2 (en) Blade type system and connection management method
JP4684605B2 (en) Information transmission method and host device
US20030233442A1 (en) Communicating method of information sharing network, information processing apparatus, and its control method
JP5580766B2 (en) Server apparatus, packet transmission system, packet transmission method and program
US20060256791A1 (en) Communications method, network, and information processing apparatus
JP4485428B2 (en) Network system, management computer, cluster management method, and computer program
JP6662114B2 (en) Address setting method, address setting program, and information processing apparatus