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 PDFInfo
- 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
Links
Images
Abstract
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にはサーバの負担を軽減するデータ配信システムが開示されており、該データ配信システムは、予めサーバにて分割した分割データと分割データの送信先を含むデータ配信情報とを各クライアントに送信し、データ配信情報に基づいてクライアント間で分割データを転送し合い、各クライアントにてデータを完成させるようにしてある。またデータ配信システムは、クライアントの送受信能力に応じて、サーバから各クライアントに配信する分割データの個数を調整するようにしてあり、サーバの負担の軽減及び情報資源の効率的な利用の調和を図っている。
また特許文献2には、サーバに複数のノードが接続されたネットワークシステムが開示されており、該ネットワークシステムは、サーバが最上位ノードを指定し、各ノードは最上位ノードから下位ノードへデータを順に転送するための経路を決定するようにしてある。ノードは決定された経路に従って、最上位ノードから最下位ノードまでデータを順次転送することで、サーバの負担を軽減している。またデータを順次転送するため、ユニキャストでの転送が可能であり、マルチキャストに対応したルータを使用する必要がなく、信頼性の低いUDP(User Datagram Protocol)ではなく、信頼性の高いTCP(Transmission Control Protocol)でデータを転送することができる。
しかし特許文献1に記載のデータ配信システムは、データの分割処理、送受信能力に応じてクライアントへ送信する分割データの個数を制御する処理、及びクライアント間での分割データの転送処理などを行う必要があるので、多数のクライアントからデータ配信要求がサーバに送信された場合には、データ配信システムでの処理が複雑化し、大規模なシステムへの対応が難しい。
However, the data distribution system described in
特許文献2に記載のネットワークシステムも、最上位ノードを指定する処理、データを転送するための経路を決定する処理、決定された経路に従ってデータを順次転送させる処理などを行う必要があるので、ネットワークシステムでの処理が複雑化し、大規模なシステムへの対応が十分であるとは言えない。また最下位ノードへのデータの送信には長時間を要するという問題がある。
The network system described in
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、システムが大規模化しても、データの送信制御を複雑化させることなく、サーバからクライアントへデータを効率的に送信することができるデータ配信システム、サーバ、データ配信方法、コンピュータプログラム及び記録媒体を提供することにある。 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はデータ配信システムを略示する概念図である。 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,
図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
制御部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 /
操作部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
図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
制御部11a〜19aは、演算を行うCPU、通信制御プログラムを格納したROM、一時的にデータを記憶するRAM及びタイマなどを備える。CPUはROMに格納された制御プログラムに基づいて、RAMを作業領域として制御指令などに基づいて演算を実行し、演算結果を表示部11c〜19c、記憶部11e〜19e及びI/F部11d〜19dへ出力する。制御部11a〜19aは、例えばクライアント11〜19相互間の通信速度又はクライアント11〜19とサーバ1との通信速度を計測するためにタイマを使用する。
The
操作部11b〜19bはユーザの操作を受け付けて、制御部11a〜19aへ制御指令を出力する。表示部11c〜19cは制御部11a〜19aからの指令に基づいて、文字、図形などを表示する。記憶部11e〜19eはHDDなどの磁気ディスク記憶装置であり、記憶部11e〜19eには、サーバ1と共有する共有データが記憶してある。共有データは、操作部11b〜19bからの指令によって更新される。なお記憶部11e〜19eは磁気ディスク記憶装置に限らず、半導体メモリで構成されていても良い。
The
図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
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
グループ情報は、クライアント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
制御情報は、本発明に係るデータ配信システムの通信制御に使用される種々の情報であり、例えばクライアント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
前記サーバ1はクライアントからの接続要求に応答し、クライアント11〜19との間でデータの送受信が可能な状態(コネクション)を確立する。図5はクライアントの制御部によるサーバとのコネクションの確立を説明するフローチャートである。
In response to a connection request from a client, the
クライアント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
そしてクライアント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
図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
そしてサーバ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
サーバ1へ接続要求を送信したクライアント11〜19のエントリーナンバー及びIPアドレスを通信経路情報テーブルに記録したサーバ1は、サーバ1から送信したデータを転送する転送元クライアント及び該転送元クライアントから転送されたデータを受信する転送先クライアントを選定する選定処理を実行する。
The
図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
図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
変数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
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
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
変数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
変数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
サーバ1の制御部1aは上記グルーピング処理の終了後に、グループ優先処理を実行する。図9はサーバの制御部によるグループ優先処理を説明するフローチャートである。
The control unit 1a of the
サーバ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
次にサーバ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
そしてサーバ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
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
次に閾値処理について説明する。図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
孤立番号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
そしてサーバ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
返信された通信速度が予め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
そしてサーバ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
前述したステップ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
ステップ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
他のクライアントから応答があった場合に(ステップ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
図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
孤立番号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
そしてサーバ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
孤立番号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
そしてサーバ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
なおグルーピング処理(ステップ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
図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
そしてサーバ1の制御部1aは、算出した第1通信速度(応答速度)を、応答したクライアントに対応する通信経路情報テーブルの制御情報に記録する(ステップS704)。そしてサーバ1の制御部1aは、サーバ1と全てのクライアントとの第1通信速度(応答速度)を記録したか否かを判定する(ステップS705)。
Then, the control unit 1a of the
第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
図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
サーバ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
次にサーバ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
制御情報に記録していない第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
ステップ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
本発明に係るデータ配信システムは、転送元クライアント及び転送先クライアントを選定する選定処理が終了した場合、サーバ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
図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
受信した転送先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
転送元クライアントから接続を要求されている場合、すなわち転送先クライアントに指定された場合に(ステップ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
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
転送先クライアントは更新データを受信した場合に自身が所有する共有データを更新する。
図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
転送先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
更新データを受信したサーバ1は、自身が所有する共有データを更新する。
図24は更新データを受信した場合におけるサーバの制御部による共有データの更新処理を説明するフローチャートである。
The
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
ステップS154においてサーバ1が送信した更新データを受信した転送元クライアントは、共有データを更新する。
図25はサーバから更新データを受信した場合における転送元クライアントの制御部による共有データの更新処理を説明するフローチャートである。
The transfer source client that has received the update data transmitted by the
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
次に一のクライアントが本発明に係るデータ配信システムから退出する場合について説明する。
図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
そして転送元クライアントの制御部はサーバ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
ステップ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
サーバ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
そしてサーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し(ステップS185)、前記転送元クライアントに対応する転送先クライアントの転送先IPアドレスに転送先クライアントのIPアドレスを記録(上書き)する(ステップS186)。このとき転送先クライアントは孤立クライアントになる。次にサーバ1の制御部1aは、コネクションを切断した転送元クライアントの情報を通信経路情報テーブルから削除し(ステップS187)、孤立クライアントが複数存在するか否かを判定する(ステップS188)。孤立クライアントが単数である場合に(ステップS188:NO)、サーバ1の制御部1aは処理を終了する。
Then, the control unit 1a of the
孤立クライアントが複数存在する場合に(ステップ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
次に転送先クライアントがデータ配信システムから退出する場合について説明する。図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
転送元クライアントから応答があった場合に(ステップ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
サーバ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
孤立クライアントが複数存在する場合に(ステップ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
次に孤立クライアントがデータ配信システムから退出する場合について説明する。図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
サーバ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
ステップS282において孤立クライアントから退出データを受信したサーバ1は、孤立クライアントがデータ配信システムから退出するための処理を実行する。図33は、孤立クライアントから退出データを受信したサーバの制御部が実行する処理を説明するフローチャートである。
In step S282, the
サーバ1の制御部1aは孤立クライアントから退出データを受信したか否かを判定し(ステップS291)、孤立クライアントから退出データを受信するまで待機する(ステップS291:NO)。退出データには、孤立クライアントからの切断要求が含まれる。孤立クライアントから退出データを受信した場合に(ステップS291:YES)、サーバ1の制御部1aは孤立クライアントに応答する(ステップS292)。該応答には、孤立クライアントへの切断許可及び切断要求が含まれる。次にサーバ1の制御部1aは、孤立クライアントから切断許可を受信したか否かを判定し(ステップS293)、孤立クライアントから切断許可を受信するまで待機する(ステップS293:NO)。
The control unit 1a of the
孤立クライアントから切断許可を受信した場合に(ステップ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
次に通信経路情報テーブル作成後に新たなクライアントがサーバ1に接続された場合のサーバ1の処理について説明する。図34は、通信経路情報テーブル作成後に新たなクライアントがサーバに接続された場合に、サーバの制御部が実行する処理を説明するフローチャートである。
Next, processing of the
サーバ1の制御部1aは、新たに接続されたクライアントからの接続要求を受信したか否かを判定し(ステップS351)、クライアントからの接続要求を受信するまで待機する(ステップS351:NO)。クライアントからの接続要求にはクライアントのエントリーナンバー、IPアドレス及びサブネットマスクなどが含まれる。クライアントからの接続要求を受信した場合に(ステップS351:YES)、サーバ1の制御部1aは接続要求を受信したクライアントのエントリーナンバー、IPアドレス及びサブネットマスクを通信経路情報テーブルに記録する(ステップS352)。なおエントリーナンバーは、クライアントからの接続要求を受信した順にIPアドレスと共に通信経路情報テーブルに記録され、エントリーナンバーとIPアドレスとは対応する。
The control unit 1a of the
次にサーバ1の制御部1aは、接続要求を受信した新たなクライアントに応答する(ステップS353)。該応答には新たなクライアントへの接続許可と接続要求とが含まれる。そしてサーバ1の制御部1aは、新たなクライアントから接続許可を受信したか否かを判定し(ステップS354)、新たなクライアントから接続許可を受信するまで待機する(ステップS354:NO)。新たなクライアントから接続許可を受信した場合に(ステップS354:YES)、サーバ1の制御部1aは、新たなクライアントとのコネクションを確立する(ステップS355)。
Next, the control unit 1a of the
次にサーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し(ステップS356)、新たなクライアントの転送先IPアドレスに新たなクライアントのIPアドレスを記録する(ステップS357)。このとき新たなクライアントは孤立クライアントとなる。そしてサーバ1の制御部1aは、孤立クライアントが複数存在するか否かを判定し(ステップS358)、孤立クライアントが単数である場合に(ステップS358:NO)、サーバ1の制御部1aは処理を終了する。
Next, the control unit 1a of the
孤立クライアントが複数存在する場合に(ステップ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
次に転送先クライアントにて共有データが更新され、転送元クライアントに障害が発生している場合に、転送先クライアントの制御部が実行する障害対策処理について説明する。図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
転送元クライアントから転送先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
サーバ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
孤立クライアントが複数存在する場合に(ステップ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
その後、共有データを更新した前記クライアントがステップ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
次に転送元クライアントにて共有データが更新され、転送先クライアントに障害が発生している場合に、転送元クライアントの制御部が実行する障害対策処理について説明する。図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
サーバ1の制御部1aは、転送先障害情報を受信したか否かを判定し(ステップS481)、転送先障害情報を受信するまで待機する(ステップS481:NO)。転送先障害情報を受信した場合に(ステップS481:YES)、サーバ1の制御部1aは、記憶部1eにアクセスして通信経路情報テーブルを参照し、転送先クライアントの情報を削除する(ステップS482)。このとき転送元クライアントの転送先IPアドレスには転送元クライアントのIPアドレスが記録(上書き)され、転送元クライアントは孤立クライアントになる。そしてサーバ1の制御部1aは、孤立クライアントが複数存在するか否かを判定し(ステップS483)、孤立クライアントが単数である場合に(ステップS483:NO)、処理を終了する。
The control unit 1a of the
孤立クライアントが複数存在する場合に(ステップ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
サーバ1が更新データを送信した転送元クライアントに障害が発生している場合に、サーバ1の制御部1aは障害が発生している転送元クライアントの情報を通信経路情報テーブルから削除する削除処理を実行する。図39はサーバが更新データを送信した転送元クライアントに障害が発生している場合に、サーバの制御部が実行する削除処理を説明するフローチャートである。
When a failure has occurred in the transfer source client to which the
ステップ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
転送元クライアントから更新データを受信したことを示す応答がない場合に(ステップ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
そしてサーバ1の制御部1aは、転送先クライアントから転送元クライアントとのコネクションを強制的に切断したことを示す応答があったか否かを判定し(ステップS576)、応答があるまで待機する(ステップS576:NO)。転送先クライアントから転送元クライアントとのコネクションを強制的に切断したことを示す応答があった場合に(ステップS576:YES)、サーバ1の制御部1aは、孤立クライアントが複数存在するか否かを判定し(ステップS577)、孤立クライアントが単数である場合に(ステップS577:NO)、処理を終了する。
Then, the control unit 1a of the
孤立クライアントが複数存在する場合に(ステップ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
ステップ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
転送先クライアントの制御部は、サーバ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
転送元クライアントから更新データを転送された転送先クライアントに障害が発生している場合に、サーバ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
ステップ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
転送先障害情報を受信した場合に(ステップ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
孤立クライアントが複数存在する場合に、サーバ1の制御部1aは、孤立クライアント同士の間で、前述したグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行し、通信経路情報テーブルを再構築する(ステップS676)。そしてサーバ1の制御部1aは、全ての転送元クライアント又はステップS676において新たに指定された転送元クライアントに転送先IPアドレスを送信する(ステップS677)。なおステップS676においてグルーピング処理、グループ優先処理、最速処理又は閾値処理などを実行しても複数の孤立クライアントから転送元クライアント及び転送先クライアントを新たに指定できなかった場合には、ステップS677は実行しない。
When there are a plurality of isolated clients, the control unit 1a of the
ステップS671においてサーバ1から送信された更新データを受信した転送元クライアントは、転送先クライアントへ更新データを転送する。転送元クライアントは、転送先クライアントから更新データを受信したことを示す応答がない場合に、転送先クライアントとのコネクションを強制的に切断する切断処理を実行する。図42は転送先クライアントから更新データを受信したことを示す応答がない場合に、転送元クライアントの制御部が実行する切断処理を説明するフローチャートである。
In step S671, the transfer source client that has received the update data transmitted from the
転送元クライアントの制御部は、サーバ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
またサーバ1に接続された複数のクライアントの中から転送元クライアントを指定し、該転送元クライアントと最速時間で通信することができるクライアントを転送先クライアントに指定する。そのためデータを配信するシステムが大規模化しても、システムは簡素な制御でデータを送信・転送することができ、サーバ1から各転送元クライアントへ効率良くデータを配信し、転送元クライアント及び転送先クライアント間で迅速にデータを転送することができる。またサーバ1に接続された複数のクライアント間の通信速度をサーバ1にて記憶・管理しているので、クライアントとサーバ1との接続/切断などによってシステムの構成が変更されても、転送元クライアント及び転送先クライアントを容易に再指定することができる。
Also, a transfer source client is specified from among a plurality of clients connected to the
またサーバ1に接続された一のクライアント及び他のクライアントの間の通信速度が予め設定された閾値よりも速い場合に、両クライアントをそれぞれ転送元クライアント及び転送先クライアントに指定し、転送元クライアント及び転送先クライアントを示す情報をサーバ1にて記憶する。そのためデータを配信するシステムが大規模化しても、システムは簡素な制御でデータを送信・転送することができ、サーバ1から各転送元クライアントへ効率良くデータを配信し、転送元クライアント及び転送先クライアント間で迅速にデータを転送することができる。また新たなクライアントがサーバ1に接続し、システムの構成が変更されても、新たなクライアントと既存のクライアントとの通信速度を閾値と比較するだけで、転送元クライアント及び転送先クライアントを再指定するか否かを判定することができ、転送元クライアント及び転送先クライアントを容易に再指定することができる。
When the communication speed between one client connected to the
またサーバ1と一のクライアントとの通信速度が、該一のクライアントと他のクライアントとの通信速度よりも遅い場合に、一のクライアントを転送先クライアントに指定し、他のクライアントを転送元クライアントに指定する。そのためデータを配信するシステムが大規模化しても、システムは簡素な制御でデータを送信・転送することができ、サーバ1から各転送元クライアントへ効率良くデータを配信し、転送元クライアント及び転送先クライアント間で迅速にデータを転送することができる。また転送元クライアント及び転送先クライアントを示す情報をサーバ1にて記憶・管理しているので、クライアントとサーバ1との接続/切断などによってシステムの構成が変更されても、転送元クライアント及び転送先クライアントを容易に再指定することができる。
When the communication speed between the
またサーバ1から転送元クライアントにデータを送信する前に、転送先クライアントを示す情報を転送元クライアントに送信して、転送元クライアント及び転送先クライアント間にデータの送受信が可能な送受信可能状態(コネクション)を確立させる。そのためサーバ1から転送元クライアントに送信されたデータは転送先クライアントへ直ちに転送される。
Before transmitting data from the
また前述したコネクションは、転送元クライアントと転送先クライアントとの間で一対一で確立されるので、サーバ1は複数のクライアントの内、半分のクライアントを転送元クライアントに指定して、データを各転送元クライアントに配信すればよいので、サーバ1の負荷が軽減される。また転送元クライアントと転送先クライアントとの間で一対多でコネクションを確立する場合に比較して、システムのデータ送信・転送制御が簡素化される。
Further, since the above-described connection is established one-to-one between the transfer source client and the transfer destination client, the
また転送元クライアントと転送先クライアントとの間におけるコネクションが切断される若しくは転送元クライアント又は転送先クライアントがシステムから退出するによって、コネクションが未確立のクライアントが複数存在するときに、コネクションが未確立の複数のクライアントから、コネクションが確立されるべき複数のクライアントを抽出し、抽出したクライアント間でコネクションを確立させる。 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
また転送先クライアントにてデータを受信することが不可能である場合に、転送元クライアントは、データの受信が不可能な転送先クライアントを示す情報を前記サーバ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
またクライアントがサーバ1に接続した場合、すなわちクライアントがデータ配信システムに入室した場合に、入室したクライアントを示す情報を通信経路情報テーブルに追加し、またクライアントがサーバ1との接続を切断した場合、すなわちクライアントがデータを配信するシステムから退室した場合に、通信経路情報テーブルから退室したクライアントを示す情報を削除するので、クライアントの管理を円滑且つ確実に行うことができる。
When the client connects to the
実施の形態においては、サーバ1及びクライアントのROMには制御プログラムが予めインストールされているが、制御プログラムを記録した光ディスク及び磁気ディスクなどの記録媒体からサーバ1及びクライアントにインストールする構成でも良い。またI/F部を介して通信網からサーバ1及びクライアントに制御プログラムをダウンロードする構成であっても良い。
In the embodiment, the control program is installed in advance in the ROM of the
またサーバの制御部による選定処理の第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
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 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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014235735A (en) * | 2013-05-31 | 2014-12-15 | 株式会社リコー | Device and method for protecting endpoint device |
-
2009
- 2009-10-01 JP JP2009229677A patent/JP2011076532A/en active Pending
Cited By (1)
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 |