JP6540307B2 - Message delivery system, message delivery program, message delivery method, and message delivery apparatus - Google Patents

Message delivery system, message delivery program, message delivery method, and message delivery apparatus Download PDF

Info

Publication number
JP6540307B2
JP6540307B2 JP2015140023A JP2015140023A JP6540307B2 JP 6540307 B2 JP6540307 B2 JP 6540307B2 JP 2015140023 A JP2015140023 A JP 2015140023A JP 2015140023 A JP2015140023 A JP 2015140023A JP 6540307 B2 JP6540307 B2 JP 6540307B2
Authority
JP
Japan
Prior art keywords
message
information processing
connection
information
established
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.)
Active
Application number
JP2015140023A
Other languages
Japanese (ja)
Other versions
JP2017021664A (en
Inventor
紀仁 野澤
紀仁 野澤
弘行 下鳥
弘行 下鳥
裕信 長田
裕信 長田
亮智 村松
亮智 村松
剛弘 桐ヶ谷
剛弘 桐ヶ谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015140023A priority Critical patent/JP6540307B2/en
Publication of JP2017021664A publication Critical patent/JP2017021664A/en
Application granted granted Critical
Publication of JP6540307B2 publication Critical patent/JP6540307B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、メッセージ配信システム、メッセージ配信プログラム、メッセージ配信方法、およびメッセージ配信装置に関する。   The present invention relates to a message delivery system, a message delivery program, a message delivery method, and a message delivery apparatus.

WebSocket(ウェブソケット)は、サーバとクライアント装置とが双方向通信を行うための技術である。Websocketでは、サーバとクライアント装置とは、コネクションを確立した後は、そのコネクションを切断しない限り、データのやり取りをソケット通信で行うことができる。例えば、特許文献1に記載されたサーバでは、Websocketによりサーバに接続された複数のクライアント装置のうち特定のクライアント装置からメッセージを受信すると、当該メッセージで指定されたグループに属する他のクライアント装置にメッセージを転送している。   WebSocket (WebSocket) is a technology for bidirectional communication between a server and a client device. In Websocket, after the connection is established, the server and the client device can exchange data via socket communication unless the connection is disconnected. For example, in the server described in Patent Document 1, when a message is received from a specific client device among a plurality of client devices connected to the server by Websocket, the message is sent to the other client devices belonging to the group designated by the message. Has been transferred.

ところで、近年、ウェブサービスが大規模化しており、単一のウェブサーバでそのサービスをまかなうことが困難である場合が多い。そのため、大規模なウェブサービスシステムでは、複数のウェブサーバと、それらのウェブサーバの間で負荷を平準化して特定のウェブサーバへのトラフィックの集中を回避するための負荷分散装置とを設置するのが一般的である。   By the way, in recent years, web services have become large-scale, and it is often difficult to provide the services with a single web server. Therefore, in a large-scale web service system, a plurality of web servers and a load balancer for balancing the load among the web servers to avoid concentration of traffic to a specific web server are installed. Is common.

特開2013−186769号公報JP, 2013-186769, A

しかしながら、従来技術では、このような複数のウェブサーバにより負荷分散を行っているシステムにおける、Websocketを利用したメッセージングについて十分に検討されていない。   However, in the prior art, messaging using Websocket in a system in which load distribution is performed by such a plurality of web servers has not been sufficiently studied.

1つの側面では、本発明は、異なる情報処理装置に接続された端末装置間でのメッセージングを実現することができるメッセージ配信システム、メッセージ配信プログラム、メッセージ配信方法、およびメッセージ配信装置を提供することを目的とする。   In one aspect, the present invention provides a message delivery system, a message delivery program, a message delivery method, and a message delivery apparatus capable of realizing messaging between terminal devices connected to different information processing devices. To aim.

一つの態様では、メッセージ配信システムは、負荷分散装置と第1のネットワークを介して接続され、前記負荷分散装置を介して第2のネットワークに接続された複数の情報処理装置を含むメッセージ配信システムであって、前記負荷分散装置は、前記第2のネットワークに接続された端末装置を、各情報処理装置の負荷状況に応じて前記複数の情報処理装置に分散して割り当て、各情報処理装置は、該情報処理装置との接続が確立している端末装置から、該端末装置が属するグループの情報を付帯したメッセージを受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、該情報処理装置との接続が確立している他の端末装置に前記メッセージを送信するとともに、該情報処理装置との接続が確立している他の情報処理装置に前記メッセージを送信し、他の情報処理装置との接続が確立している端末装置から送信されたメッセージを前記他の情報処理装置から受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、該情報処理装置との接続が確立している端末装置に前記メッセージを送信する。
In one aspect, a message delivery system is a message delivery system including a plurality of information processing devices connected to a load distribution device via a first network and connected to a second network via the load distribution device. The load distribution device distributes and allocates terminal devices connected to the second network to the plurality of information processing devices according to the load status of each information processing device , and each information processing device When a message including information on a group to which the terminal apparatus belongs is received from a terminal apparatus establishing a connection with the information processing apparatus, the message belongs to the same group as the terminal apparatus that transmitted the message, and the information processing is performed sends the message to another terminal device connected to the device has been established, other information processing connection with the information processing apparatus is established The message transmitted from the other information processing apparatus is received from the other information processing apparatus, the same terminal apparatus that transmitted the message. The message is transmitted to a terminal device that belongs to a group and a connection with the information processing device is established.

1つの側面として、異なる情報処理装置に接続された端末装置間でのメッセージングを実現することができる。   As one aspect, it is possible to realize messaging between terminal devices connected to different information processing apparatuses.

一実施形態に係るメッセージ配信システムの構成を概略的に示す図である。It is a figure showing roughly the composition of the message delivery system concerning one embodiment. ウェブサーバのハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of a web server. ウェブサーバの機能ブロック図である。It is a functional block diagram of a web server. 図4(a)は、稼働中サーバリストのデータの一例を示す図であり、図4(b)は、グループリストのデータの一例を示す図であり、図4(c)は、接続サーバリストのデータの一例を示す図であり、図4(d)は、接続クライアントリストのデータの一例を示す図である。FIG. 4A is a diagram showing an example of data of the operating server list, FIG. 4B is a diagram showing an example of data of the group list, and FIG. 4C is a diagram of the connected server list FIG. 4D is a diagram showing an example of data of the connected client list. ウェブサーバにより実行される起動時処理のフローチャートである。It is a flowchart of the process at the time of starting performed by a web server. 起動時処理を説明するシーケンス図である。FIG. 6 is a sequence diagram for explaining start-up processing. 図7(a)〜図7(d)は、起動時処理を説明するための図である。FIG. 7A to FIG. 7D are diagrams for explaining start-up processing. ウェブサーバにより実行されるログイン処理のフローチャートである。It is a flowchart of the login process performed by the web server. ログイン処理を説明するシーケンス図である。It is a sequence diagram explaining login processing. ウェブサーバにより実行されるクライアント装置接続処理のフローチャートである。It is a flowchart of the client apparatus connection process performed by the web server. クライアント装置接続処理を説明するシーケンス図である。It is a sequence diagram explaining a client apparatus connection process. 図12(a)〜図12(c)は、クライアント装置接続処理を説明するための図である。FIG. 12A to FIG. 12C are diagrams for explaining the client device connection process. ウェブサーバにより実行されるメッセージ配信処理のフローチャートである。It is a flowchart of the message delivery process performed by a web server. メッセージ配信処理を説明するシーケンス図である。It is a sequence diagram explaining a message delivery process. 図15(a)〜図15(d)は、メッセージ配信処理を説明するための図(その1)である。FIGS. 15 (a) to 15 (d) are diagrams (part 1) for explaining the message distribution process. 図16(a)および図16(b)は、メッセージ配信処理を説明するための図(その2)である。FIGS. 16A and 16B are diagrams (part 2) for explaining the message distribution process. ウェブサーバにより実行されるサーバ情報削除処理のフローチャートである。It is a flowchart of the server information deletion process performed by the web server. サーバ情報削除処理を説明するシーケンス図である。It is a sequence diagram explaining server information deletion processing. 図19(a)〜図19(f)は、サーバ情報削除処理を説明するための図である。FIGS. 19A to 19F are diagrams for explaining server information deletion processing.

以下、メッセージ配信システムの一実施形態について、図1〜図19に基づいて詳細に説明する。   Hereinafter, an embodiment of a message delivery system will be described in detail based on FIGS. 1 to 19.

図1には、一実施形態にかかるメッセージ配信システム100の構成が概略的に示されている。メッセージ配信システム100は、端末装置としてのクライアント装置50−1〜50−nと、負荷分散装置10と、情報管理装置20と、メッセージ配信装置としての複数のウェブサーバ30−1〜30−nと、を含む。クライアント装置50−1〜50−nと、負荷分散装置10とは、インターネット等のネットワーク80を介して接続されている。負荷分散装置10、情報管理装置20、およびウェブサーバ30−1〜30−nは、LAN(Local Area Network)等のネットワーク40を介して接続されている。なお、以後の説明において、特に区別する必要のない限り、ウェブサーバ30−1〜30−nをウェブサーバ30と記載し、クライアント装置50−1〜50−nをクライアント装置50と記載する。また、ウェブサーバを単にサーバと記載する場合がある。   FIG. 1 schematically shows the configuration of a message delivery system 100 according to an embodiment. The message delivery system 100 includes client devices 50-1 to 50-n as terminal devices, a load distribution device 10, an information management device 20, and a plurality of web servers 30-1 to 30-n as message delivery devices. ,including. The client devices 50-1 to 50-n and the load distribution device 10 are connected via a network 80 such as the Internet. The load distribution device 10, the information management device 20, and the web servers 30-1 to 30-n are connected via a network 40 such as a LAN (Local Area Network). In the following description, the web servers 30-1 to 30-n will be referred to as the web server 30, and the client devices 50-1 to 50-n will be referred to as the client device 50, unless it is necessary to distinguish them in particular. Also, the web server may be simply described as a server.

メッセージ配信システム100において、クライアント装置50は、ウェブサーバ30により提供されるウェブサービスを利用するユーザが使用する端末である。クライアント装置50は、例えば、パーソナルコンピュータや、タブレット型端末や、スマートフォンである。ユーザは、クライアント装置50を用いてウェブサービスを利用し、他のユーザにメッセージを送信したり、他のユーザからメッセージを受信したりする。   In the message delivery system 100, the client device 50 is a terminal used by a user who uses the web service provided by the web server 30. The client device 50 is, for example, a personal computer, a tablet terminal, or a smartphone. The user uses the web service using the client device 50 to send a message to another user or receive a message from another user.

負荷分散装置10は、ウェブサーバ30−1〜30−nの間で負荷を平準化して特定のウェブサーバへのトラフィックの集中を回避する。負荷分散装置10は、各ウェブサーバの負荷状況に応じて、クライアント装置50−1〜50−nを複数のウェブサーバ30−1〜30−nに分散して割り当てる。   The load balancing apparatus 10 balances the load among the web servers 30-1 to 30-n to avoid the concentration of traffic to a specific web server. The load distribution device 10 distributes and allocates the client devices 50-1 to 50-n to the plurality of web servers 30-1 to 30-n according to the load status of each web server.

情報管理装置20は、ウェブサーバ30−1〜30−nがアクセス可能なデータベースサーバやストレージである。情報管理装置20は、稼働中サーバリストを用いて、複数のウェブサーバ30−1〜30−nのうち稼働中のウェブサーバの情報を管理する。また、情報管理装置20は、グループリストを用いて、ユーザが作成したグループの情報を管理する。   The information management device 20 is a database server or storage accessible by the web servers 30-1 to 30-n. The information management apparatus 20 manages information of the operating web server among the plurality of web servers 30-1 to 30-n using the operating server list. Further, the information management apparatus 20 manages information of the group created by the user using the group list.

ここで、図4(a)を参照して、稼働中サーバリストについて説明する。図4(a)には、稼働中サーバリストのデータの一例が示されている。稼働中サーバリストは、ウェブサーバ30−1〜30−nのうち稼働中のウェブサーバのIPアドレスを管理するリストであり、図4(a)に示すように、IPアドレスのフィールドを備える。IPアドレスのフィールドには、起動したウェブサーバ30から受信したIPアドレスの情報が格納される。なお、稼働中サーバリストのデータ構成は、図4(a)に限られるものではない。例えば、稼働中サーバリストは、ウェブサーバ30の名称を格納するフィールドや、起動日時の情報を格納するフィールドを備えていてもよい。   Here, the operating server list will be described with reference to FIG. FIG. 4A shows an example of data of the operating server list. The active server list is a list for managing the IP address of the active web server among the web servers 30-1 to 30-n, and as shown in FIG. 4A, has a field of IP address. The IP address field stores information on the IP address received from the started web server 30. Note that the data configuration of the operating server list is not limited to that shown in FIG. For example, the active server list may have a field for storing the name of the web server 30, and a field for storing information on the start date and time.

次に、図4(b)を参照して、グループリストについて説明する。図4(b)には、グループリストのデータの一例が示されている。グループリストは、クライアント装置50のユーザにより作成されたグループを管理するためのリストである。グループリストは、図4(b)に示すように、groupIDおよびgroupNameなどのフィールドを備える。groupIDのフィールドには、グループを一意に識別するための識別番号が格納される。groupNameのフィールドには、グループの名称が格納される。ユーザは、グループリストに登録されているグループのいずれかに参加することで、同一グループ内の他のユーザにメッセージを送信したり、他のユーザからメッセージを受信したりすることができる。   Next, the group list will be described with reference to FIG. 4 (b). FIG. 4B shows an example of data of the group list. The group list is a list for managing groups created by the user of the client device 50. The group list includes fields such as groupID and groupName, as shown in FIG. 4 (b). An identification number for uniquely identifying a group is stored in the field of groupID. The groupName field stores the name of the group. The user can send a message to another user in the same group or receive a message from another user by joining any of the groups registered in the group list.

図1に戻り、ウェブサーバ30は、ユーザにウェブサービスを提供するためのサーバである。ウェブサーバ30は、図2に示すようなハードウェア構成を有する。具体的には、ウェブサーバ30は、図2に示すように、CPU(Central Processing Unit)311、ROM(Read Only Memory)312、RAM(Random Access Memory)313、記憶装置(HDD:Hard Disk Drive)314、ネットワークインタフェース315、及び可搬型記憶媒体316に記憶されたデータを読み取り可能な可搬型記憶媒体用ドライブ317等を備えている。これらウェブサーバ30の構成各部は、バス318に接続されている。CPU311は、ROM312あるいはHDD314に格納されているプログラム(メッセージ配信プログラムを含む)、或いは可搬型記憶媒体用ドライブ317が可搬型記憶媒体316から読み取ったプログラムを実行することで、ウェブサーバ30を図3の各部として機能させる。   Referring back to FIG. 1, the web server 30 is a server for providing web services to users. The web server 30 has a hardware configuration as shown in FIG. Specifically, as shown in FIG. 2, the web server 30 includes a central processing unit (CPU) 311, a read only memory (ROM) 312, a random access memory (RAM) 313, and a storage device (HDD: hard disk drive). 314, a network interface 315, and a portable storage medium drive 317 that can read data stored in the portable storage medium 316. Each component of the web server 30 is connected to a bus 318. The CPU 311 executes the program (including the message delivery program) stored in the ROM 312 or the HDD 314, or the program read by the portable storage medium drive 317 from the portable storage medium 316, as shown in FIG. Function as each part of

具体的には、図3に示すように、CPU311がプログラムを実行することにより、ウェブサーバ30は、接続管理部33、受信部31、および送信部32として機能する。   Specifically, as shown in FIG. 3, when the CPU 311 executes a program, the web server 30 functions as the connection management unit 33, the receiving unit 31, and the transmitting unit 32.

接続管理部33は、ウェブサーバ30とクライアント装置50との接続、および他のウェブサーバ30との接続を管理する。接続管理部33は、他のウェブサーバ30とWebsocketによる接続が確立した場合、接続サーバリストを更新する。また、接続管理部33は、他のウェブサーバ30へのメッセージの送信に失敗した場合や、他のウェブサーバ30との接続が切断した場合に、接続サーバリストを更新する。さらに、接続管理部33は、クライアント装置50とWebsocketによる接続が確立すると接続クライアントリストを更新する。   The connection management unit 33 manages the connection between the web server 30 and the client device 50 and the connection with other web servers 30. The connection management unit 33 updates the connection server list when a connection with another web server 30 by the Websocket is established. The connection management unit 33 also updates the connection server list when transmission of a message to another web server 30 fails or when the connection with another web server 30 is disconnected. Further, the connection management unit 33 updates the connection client list when the connection by the Websocket with the client device 50 is established.

ここで、図4(c)を参照して、接続サーバリストについて説明する。図4(c)には、接続サーバリストのデータの一例が示されている。接続サーバリストは、ウェブサーバ30とWebsocketによる接続が確立している他のウェブサーバ30の一覧であり、図4(c)に示すように、IPアドレスのフィールドを備える。IPアドレスのフィールドには、Websocketによる接続が確立した際に他のウェブサーバ30から受信するIPアドレスの情報が格納される。なお、接続サーバリストのデータ構成は、図4(c)に限られるものではない。例えば、接続サーバリストは、ウェブサーバ30の名称を格納するフィールドや、接続が確立された日時の情報を格納するフィールドを備えていてもよい。   Here, with reference to FIG. 4C, the connected server list will be described. FIG. 4C shows an example of data of the connection server list. The connection server list is a list of web servers 30 and other web servers 30 with which a websocket connection has been established, and as shown in FIG. 4C, includes a field of IP address. In the field of the IP address, information of an IP address received from another web server 30 when a connection by Websocket is established is stored. The data configuration of the connection server list is not limited to that shown in FIG. For example, the connection server list may have a field for storing the name of the web server 30, and a field for storing information on the date and time when the connection was established.

次に、図4(d)を参照して、接続クライアントリストについて説明する。図4(d)には、接続クライアントリストのデータの一例が示されている。接続クライアントリストは、ウェブサーバ30とWebsocketによる接続が確立しているクライアント装置50の一覧であり、図4(d)に示すように、userIDおよびgroupIDのフィールドを備える。userIDのフィールドには、ウェブサーバ30とWebsocketによる接続が確立しているクライアント装置50のユーザを一意に識別するための識別子が格納される。groupIDのフィールドには、userIDにより識別されるユーザが参加しているグループのgroupID(図4(b)参照)の情報が格納される。   Next, the connected client list will be described with reference to FIG. 4 (d). An example of data of the connection client list is shown in FIG. The connection client list is a list of the client devices 50 with which the connection by the Web server 30 and the Websocket has been established, and as shown in FIG. 4D, it has fields of userID and groupID. In the field of userID, an identifier for uniquely identifying the user of the client device 50 that has established a websocket connection with the web server 30 is stored. In the field of groupID, information of groupID (see FIG. 4B) of the group in which the user identified by userID participates is stored.

図3に戻り、受信部31は、ウェブサーバ30に割り当てられたクライアント装置50からログイン情報、グループ作成要求、およびグループ検索要求等を受信する。また、受信部31は、クライアント装置50からメッセージを含むメッセージ情報を受信する。さらに、受信部31は、情報管理装置20から、稼働中サーバリストや、グループリストの検索結果等を受信する。   Returning to FIG. 3, the receiving unit 31 receives login information, a group creation request, a group search request, and the like from the client device 50 assigned to the web server 30. The receiving unit 31 also receives message information including a message from the client device 50. Furthermore, the receiving unit 31 receives, from the information management apparatus 20, a server list in operation, a search result of a group list, and the like.

送信部32は、ウェブサーバ30の起動時に、自サーバの情報を情報管理装置20に送信する。また、送信部32は、受信部31がクライアント装置50からグループ作成要求を受信した場合、グループ情報を作成し、情報管理装置20に送信する。さらに、送信部32は、受信部31がクライアント装置50からメッセージ情報を受信した場合、接続サーバリストに基づいて、他のウェブサーバ30にメッセージ情報を送信(転送)する。また、送信部32は、接続クライアントリストに基づいて、クライアント装置50にメッセージを送信(転送)する。   The transmitting unit 32 transmits information of the server concerned to the information management apparatus 20 when the web server 30 is activated. Also, when the receiving unit 31 receives a group creation request from the client device 50, the transmitting unit 32 creates group information and sends it to the information management device 20. Furthermore, when the receiving unit 31 receives the message information from the client device 50, the transmitting unit 32 transmits (transfers) the message information to another web server 30 based on the connection server list. The transmitting unit 32 also transmits (transfers) a message to the client device 50 based on the connection client list.

次に、ウェブサーバ30において実行される各処理について説明する。   Next, each process performed in the web server 30 will be described.

(起動時処理)
まず、ウェブサーバ30が起動すると実行される起動時処理について説明する。起動時処理は、Websocketにより自サーバと他サーバとの接続を確立するための処理である。図5には、ウェブサーバ30により実行される起動時処理のフローチャートが示されている。
(Startup process)
First, start-up processing that is executed when the web server 30 is started will be described. The start-up process is a process for establishing a connection between the own server and another server by Websocket. FIG. 5 shows a flowchart of startup processing executed by the web server 30.

図5の処理では、まず、ステップS11において、ウェブサーバ30の送信部32が、自サーバの情報を情報管理装置20に送信する。本実施形態では、送信部32は、ウェブサーバ30のIPアドレスの情報を情報管理装置20に送信する。なお、ウェブサーバ30からIPアドレスの情報を受信した情報管理装置20は、稼働中サーバリスト(図4(a)参照)に当該IPアドレスを追加し、稼働中サーバリストをウェブサーバ30に送信する。   In the process of FIG. 5, first, in step S <b> 11, the transmission unit 32 of the web server 30 transmits the information of the own server to the information management apparatus 20. In the present embodiment, the transmission unit 32 transmits the information of the IP address of the web server 30 to the information management apparatus 20. The information management apparatus 20 that has received the information on the IP address from the web server 30 adds the IP address to the operating server list (see FIG. 4A), and transmits the operating server list to the web server 30. .

続くステップS12において、受信部31は、稼働中サーバリストを情報管理装置20から受信する。   In the subsequent step S12, the receiving unit 31 receives the operating server list from the information management device 20.

続くステップS13において、接続管理部33は、稼働中サーバリストを参照し自サーバ以外に稼働中のサーバが存在するか否かを判断する。具体的には、接続管理部33は、稼働中サーバリストに自サーバ以外のIPアドレスが存在するか否かを判断する。ここでの判断が否定された場合、自サーバ以外に稼動しているサーバが存在しないため、ウェブサーバ30はステップS16に移行する。一方、自サーバ以外に稼働中のサーバが存在する場合、ステップS13の判断が肯定され、ステップS14に移行する。   In the subsequent step S13, the connection management unit 33 refers to the operating server list to determine whether there is an operating server other than the own server. Specifically, the connection management unit 33 determines whether or not an IP address other than the own server exists in the active server list. If the determination here is negative, there is no server that is operating other than the own server, so the web server 30 proceeds to step S16. On the other hand, when there is a server in operation other than the own server, the determination in step S13 is affirmed, and the process proceeds to step S14.

ステップS14に移行すると、接続管理部33は、Websocketにより稼働中の他のウェブサーバ30との接続を確立し、接続サーバリストを更新する。具体的には、接続管理部33は、接続を確立したウェブサーバ30のIPアドレスの情報を接続サーバリスト(図4(c)参照)に格納する。   In step S14, the connection management unit 33 establishes a connection with another web server 30 in operation by Websocket, and updates the connection server list. Specifically, the connection management unit 33 stores the information of the IP address of the web server 30 that has established the connection in the connection server list (see FIG. 4C).

続くステップS16において、受信部31は、他のウェブサーバ30からWebsocketによる接続要求を受信するまで待機する。そして、他のウェブサーバ30から接続要求を受信すると、ステップS16の判断が肯定され、ステップS17に移行する。   In the subsequent step S16, the receiving unit 31 stands by until receiving a connection request by Websocket from another web server 30. Then, when a connection request is received from another web server 30, the determination in step S16 is affirmed, and the process proceeds to step S17.

ステップS17に移行すると、接続管理部33は、接続サーバリストを更新する。具体的には、接続管理部33は、接続要求を送信した他のウェブサーバ30の情報を、接続サーバリストに追加する。   When the process proceeds to step S17, the connection management unit 33 updates the connection server list. Specifically, the connection management unit 33 adds the information of the other web server 30 that has transmitted the connection request to the connection server list.

続くステップS18において、接続管理部33は、他のウェブサーバ30からの接続要求に応答する。これにより、他のウェブサーバ30との間で、Websocketによる接続が確立する。ステップS18の処理後は、ステップS16に戻る。ステップS16〜S18の処理は、ウェブサーバ30が稼動している間、繰り返し実行される。   In the subsequent step S18, the connection management unit 33 responds to the connection request from the other web server 30. As a result, a connection by Websocket is established with another web server 30. After the process of step S18, the process returns to step S16. The processes of steps S16 to S18 are repeatedly performed while the web server 30 is in operation.

ここで、ウェブサーバ30−1およびウェブサーバ30−2がそれぞれ起動した場合を例として、各装置が実行する処理について、図6のシーケンス図を用いて具体的に説明する。   Here, the processing executed by each device will be specifically described using the sequence diagram of FIG. 6 with the case where each of the web server 30-1 and the web server 30-2 is activated as an example.

図6において、ウェブサーバ30−1は起動すると(ステップS21)、自サーバの情報を情報管理装置20に送信する(ステップS23、図5:S11)。   In FIG. 6, when the web server 30-1 is activated (step S21), the information of the server is transmitted to the information management apparatus 20 (step S23, FIG. 5: S11).

情報管理装置20は、ウェブサーバ30−1からサーバ情報を受信すると、稼働中サーバリストに、受信したサーバ情報を登録する(ステップS25)。例えば、ウェブサーバ30−1のIPアドレスが、“192.168.x.x”である場合、情報管理装置20は、図7(a)に示すように、稼働中サーバリストに、IPアドレス“192.168.x.x”を登録する。   When the information management apparatus 20 receives server information from the web server 30-1, the information management apparatus 20 registers the received server information in the operating server list (step S25). For example, when the IP address of the web server 30-1 is “192.168.x.x”, the information management device 20 displays the IP address “2” in the operating server list as shown in FIG. 7A. Register "192.168.x.x".

情報管理装置20は、図7(a)の稼働中サーバリストをウェブサーバ30−1に送信する(ステップS27、図5:S12)。   The information management apparatus 20 transmits the operating server list of FIG. 7A to the web server 30-1 (step S27, FIG. 5: S12).

続いて、ウェブサーバ30−2は起動すると(ステップS29)、自サーバの情報を情報管理装置20に送信する(ステップS31、図5:S11)。   Subsequently, when the web server 30-2 is activated (step S29), the information of the server is transmitted to the information management apparatus 20 (step S31, FIG. 5: S11).

情報管理装置20は、ウェブサーバ30−2からサーバ情報を受信すると、稼働中サーバリストに、受信したサーバ情報を登録する(ステップS33)。例えば、ウェブサーバ30−2のIPアドレスが、“192.168.x.y”である場合、情報管理装置20は、図7(b)に示すように、稼働中サーバリストに、IPアドレス“192.168.x.y”を登録する。   When the information management apparatus 20 receives server information from the web server 30-2, the information management apparatus 20 registers the received server information in the active server list (step S33). For example, when the IP address of the web server 30-2 is “192.168.x.y”, the information management device 20 displays the IP address “2” in the operating server list as shown in FIG. 7B. Register "192.168.x.y".

情報管理装置20は、図7(b)の稼働中サーバリストをウェブサーバ30−2に送信する(ステップS35、図5:S12)。   The information management apparatus 20 transmits the operating server list of FIG. 7B to the web server 30-2 (step S35, FIG. 5: S12).

ここで、図7(b)の稼働中サーバリストには、ウェブサーバ30−2以外のIPアドレス“192.168.x.x”が含まれている(図5:S13/YES)。したがって、ウェブサーバ30−2は、稼働中のウェブサーバ30−1にWebsocketによる接続を要求する(ステップS36、図5:S14)。   Here, the operating server list in FIG. 7B includes the IP address “192.168.x.x” other than the web server 30-2 (FIG. 5: S13 / YES). Therefore, the web server 30-2 requests the web server 30-1 in operation to connect by Websocket (step S36, FIG. 5: S14).

ウェブサーバ30−1は、ウェブサーバ30−2から接続要求を受信すると(図5:S16/YES)、接続サーバリストを更新する(ステップS37、図5:S17)。具体的には、ウェブサーバ30−1の接続管理部33は、図7(c)に示すように、接続サーバリストに、ウェブサーバ30−2のIPアドレスを追加する。   When the web server 30-1 receives the connection request from the web server 30-2 (FIG. 5: S16 / YES), the web server 30-1 updates the connection server list (step S37, FIG. 5: S17). Specifically, as shown in FIG. 7C, the connection management unit 33 of the web server 30-1 adds the IP address of the web server 30-2 to the connection server list.

その後、ウェブサーバ30−1は、ウェブサーバ30−2からの接続要求に応答する(ステップS38、図5:S18)。これにより、ウェブサーバ30−1とウェブサーバ30−2との間で、Websocketによる接続が確立される。   Thereafter, the web server 30-1 responds to the connection request from the web server 30-2 (step S38, FIG. 5: S18). Thus, a connection by Websocket is established between the web server 30-1 and the web server 30-2.

ウェブサーバ30−1との接続が確立されると、ウェブサーバ30−2は、接続サーバリストを更新する(ステップS39、図5:S14)。具体的には、ウェブサーバ30−2の接続管理部33は、図7(d)に示すように、接続サーバリストにウェブサーバ30−1のIPアドレスを追加する。ウェブサーバ30−1のIPアドレスの情報は、図7(b)に示す稼働中サーバリストから取得すればよい。   When the connection with the web server 30-1 is established, the web server 30-2 updates the connection server list (step S39, FIG. 5: S14). Specifically, the connection management unit 33 of the web server 30-2 adds the IP address of the web server 30-1 to the connection server list, as shown in FIG. 7D. Information on the IP address of the web server 30-1 may be acquired from the in-use server list shown in FIG. 7B.

以上の処理により、ウェブサーバ30−1とウェブサーバ30−2との間にはWebsocketによる接続が確立され、双方向通信が可能となる。   By the above process, a connection by Websocket is established between the web server 30-1 and the web server 30-2, and bidirectional communication becomes possible.

(ログイン処理)
次に、図8のフローチャートを参照して、ユーザがウェブサービスにログインする場合にウェブサーバ30により実行されるログイン処理について説明する。
(Login process)
Next, with reference to the flowchart of FIG. 8, a login process performed by the web server 30 when the user logs in to the web service will be described.

図8の処理では、ステップS41において、ウェブサーバ30の受信部31は、クライアント装置50からログイン情報を受信するまで待機している。本実施形態では、ログイン情報は、クライアント装置50のユーザがウェブサービスを利用するためのユーザIDと、パスワードとを含む。そして、クライアント装置50からログイン情報を受信した時点で、ステップS41の判断が肯定され、ステップS43に移行する。   In the process of FIG. 8, in step S <b> 41, the receiving unit 31 of the web server 30 stands by until the login information is received from the client device 50. In the present embodiment, the login information includes a user ID for the user of the client device 50 to use the web service, and a password. Then, when the login information is received from the client device 50, the determination in step S41 is affirmed, and the process proceeds to step S43.

ステップS43に移行すると、接続管理部33は、ログイン情報が正しいか否かを判断する。具体的には、接続管理部33は、ユーザIDとパスワードとの組み合わせが正しいか否かを判断する。そして、ログイン情報が正しい場合には、ステップS45に移行し、ユーザにウェブサービスへのログインを許可する。一方、ログイン情報が正しくない場合には、ステップS47に移行し、ユーザにログイン情報が正しくない旨を通知する。   After shifting to step S43, the connection management unit 33 determines whether the login information is correct. Specifically, the connection management unit 33 determines whether the combination of the user ID and the password is correct. Then, if the login information is correct, the process proceeds to step S45, and the user is permitted to log in to the web service. On the other hand, if the login information is not correct, the process proceeds to step S47, and the user is notified that the login information is not correct.

図8の処理は、ウェブサーバ30が稼動している間、繰り返し実行される。   The process of FIG. 8 is repeatedly performed while the web server 30 is operating.

ここで、クライアント装置50−1のユーザとクライアント装置50−2のユーザとがウェブサービスにログインする場合を例として、各装置が実行する処理について、図9のシーケンス図を用いて具体的に説明する。なお、以後の説明において、クライアント装置50−1のユーザをユーザA、クライアント装置50−2のユーザをユーザBとする。   Here, the processing executed by each device will be specifically described using the sequence diagram of FIG. 9, taking the case where the user of the client device 50-1 and the user of the client device 50-2 log in to the web service as an example. Do. In the following description, the user of the client device 50-1 is referred to as user A, and the user of the client device 50-2 is referred to as user B.

図9では、クライアント装置50−1においてユーザAがウェブサービスにログインを試みる(ステップS51)。このとき、負荷分散装置10は、各ウェブサーバ30の負荷状況に基づいて、例えば、ウェブサーバ30−1にクライアント装置50−1を割り当てる。クライアント装置50−1は、割り当てられたウェブサーバ30−1にログイン情報を送信する(ステップS53)。ウェブサーバ30−1は、ログイン情報を受信すると(図8:S41/YES)、ログイン処理を実行する(ステップS55、図8:S43〜S47)。   In FIG. 9, the user A tries to log in to the web service in the client device 50-1 (step S51). At this time, the load distribution apparatus 10 allocates, for example, the client device 50-1 to the web server 30-1 based on the load status of each web server 30. The client device 50-1 transmits the login information to the assigned web server 30-1 (step S53). When the web server 30-1 receives the login information (FIG. 8: S41 / YES), the web server 30-1 executes a login process (step S55, FIG. 8: S43 to S47).

また、クライアント装置50−2においてユーザBがウェブサービスにログインを試みる(ステップS57)。このとき、負荷分散装置10は、各ウェブサーバ30の負荷状況に基づいて、例えば、ウェブサーバ30−2にクライアント装置50−2を割り当てる。クライアント装置50−2は、割り当てられたウェブサーバ30−2にログイン情報を送信する(ステップS59)。ウェブサーバ30−2は、ログイン情報を受信すると(図8:S41/YES)、ログイン処理を実行する(ステップS61、図8:ステップS43〜S47)。   Further, the user B tries to log in to the web service in the client device 50-2 (step S57). At this time, the load distribution apparatus 10 allocates, for example, the client apparatus 50-2 to the web server 30-2 based on the load status of each web server 30. The client device 50-2 transmits the login information to the assigned web server 30-2 (step S59). When the web server 30-2 receives the login information (FIG. 8: S41 / YES), the web server 30-2 executes a login process (step S61, FIG. 8: steps S43 to S47).

これにより、クライアント装置50−1,50−2のユーザA,Bは、ウェブサーバ30が提供するウェブサービスを利用できるようになる。   As a result, the users A and B of the client devices 50-1 and 50-2 can use the web service provided by the web server 30.

(クライアント装置接続処理)
次に、図10のフローチャートを参照して、ウェブサーバ30により実行されるクライアント装置接続処理について説明する。クライアント装置接続処理は、ウェブサーバ30とクライアント装置50との間でWebsocketによる接続を確立する処理である。
(Client device connection process)
Next, the client device connection process executed by the web server 30 will be described with reference to the flowchart of FIG. The client device connection process is a process of establishing a Websocket connection between the web server 30 and the client device 50.

図10の処理では、まず、ステップS71において、受信部31は、クライアント装置50からグループの作成を要求するグループ作成要求を受信したか否かを判断する。本実施形態では、グループ作成要求は、グループの名称を含む。ここでの判断が肯定された場合、ステップS73に移行する。   In the process of FIG. 10, first, in step S71, the receiving unit 31 determines whether a group creation request for requesting creation of a group is received from the client device 50. In the present embodiment, the group creation request includes the name of the group. If the determination here is affirmed, the process proceeds to step S73.

ステップS73に移行すると、送信部32が、グループ情報を作成する。本実施形態では、送信部32は、作成要求を受けたグループを一意に識別するgroupIDを採番し、グループの名称と、groupIDとを含むグループ情報を作成する。   When the process proceeds to step S73, the transmission unit 32 creates group information. In the present embodiment, the transmission unit 32 assigns a group ID that uniquely identifies the group for which the creation request has been received, and creates group information including the name of the group and the group ID.

続くステップS75において、送信部32は、作成したグループ情報を情報管理装置20に送信する。   In the subsequent step S75, the transmission unit 32 transmits the created group information to the information management device 20.

続くステップS77において、受信部31は、グループの登録結果を情報管理装置20から受信する。本実施形態では、ウェブサーバ30は、グループの登録結果として、情報管理装置20のグループリストに登録されたグループの名称(groupName)と、groupIDとを受信する。なお、本実施形態において、ステップS73にて送信部32が採番したgroupIDが、情報管理装置20が管理するグループリスト(図4(b)参照)に既に登録済みであった場合には、情報管理装置20が新たにgroupIDを採番する。したがって、ステップS73のグループ情報に含まれるgroupIDと、ステップS77で受信するgroupIDとは異なる場合がある。なお、ウェブサーバ30の送信部32ではなく、情報管理装置20がgroupIDの採番を行うようにしてもよい。   In the subsequent step S77, the reception unit 31 receives the registration result of the group from the information management device 20. In the present embodiment, the web server 30 receives the name (groupName) of the group registered in the group list of the information management apparatus 20 and the groupID as the group registration result. In the present embodiment, when the group ID numbered by the transmission unit 32 in step S73 has already been registered in the group list (see FIG. 4B) managed by the information management apparatus 20, the information is The management device 20 newly assigns a group ID. Therefore, the group ID included in the group information in step S73 may be different from the group ID received in step S77. Note that the information management apparatus 20 may perform group ID numbering instead of the transmission unit 32 of the web server 30.

続くステップS79において、送信部32は、ステップS77で受信したグループの名称と、groupIDとを含むグループ情報をクライアント装置50に送信する。   In the subsequent step S79, the transmission unit 32 transmits, to the client device 50, group information including the group name received in step S77 and the group ID.

続くステップS81において、接続管理部33は、グループへの接続を要求するグループ接続要求をクライアント装置50から受信したか否かを判断する。グループ接続要求を受信していない場合、ステップS71に戻る。グループ接続要求を受信した場合、ステップS81の判断が肯定され、ステップS83に移行する。   In the subsequent step S81, the connection management unit 33 determines whether a group connection request for requesting a connection to a group has been received from the client device 50. If the group connection request has not been received, the process returns to step S71. If a group connection request has been received, the determination in step S81 is affirmed, and the process proceeds to step S83.

ステップS83に移行すると、接続管理部33は、Websocketにてクライアント装置50との接続を確立し、接続クライアントリストを更新する。   In step S83, the connection management unit 33 establishes a connection with the client device 50 by Websocket, and updates the connection client list.

ところで、グループ作成要求を受信していない場合、ステップS71の判断が否定され、受信部31は、ステップS85に移行する。   By the way, when the group creation request has not been received, the determination in step S71 is denied, and the reception unit 31 proceeds to step S85.

ステップS85に移行すると、受信部31は、グループの検索を要求するグループ検索要求を受信したか否かを判断する。グループ検索要求は、グループを検索するための検索条件を含む。グループ検索要求を受信していない場合、ステップS81に移行するが、受信した場合、ステップS87に移行する。   When the process proceeds to step S85, the receiving unit 31 determines whether a group search request for requesting a group search has been received. The group search request includes search conditions for searching a group. If the group search request has not been received, the process proceeds to step S81, but if received, the process proceeds to step S87.

ステップS87に移行すると、送信部32は、検索条件に基づいて情報管理装置20のグループリストを検索する。   At step S87, the transmission unit 32 searches the group list of the information management apparatus 20 based on the search condition.

続くステップS89において、受信部31は、情報管理装置20からグループ検索結果を受信する。   In the subsequent step S 89, the receiving unit 31 receives the group search result from the information management device 20.

続くステップS91において、送信部32が、クライアント装置50にグループ検索結果を送信する。グループ検索結果を受信したクライアント装置50は、クライアント装置50の表示画面に検索結果を表示する。これにより、ユーザは、検索結果に自分が参加したいグループが含まれる場合には、当該グループへの接続をウェブサーバ30に要求することができる。なお、ステップS81以降の処理は前述したとおりであるため、説明を省略する。   In the subsequent step S91, the transmission unit 32 transmits the group search result to the client device 50. The client device 50 having received the group search result displays the search result on the display screen of the client device 50. Thereby, the user can request the web server 30 to connect to the group if the search result includes a group that the user wants to join. In addition, since the process after step S81 is as having mentioned above, it abbreviate | omits description.

図10の処理は、ウェブサーバ30が稼働している間、繰り返し実行される。   The process of FIG. 10 is repeatedly performed while the web server 30 is operating.

ここで、クライアント装置50−1のユーザAおよびクライアント装置50−2のユーザBがグループに参加する場合を例として、各装置が実行する処理について、図11のシーケンス図を用いて具体的に説明する。なお、情報管理装置20のグループリストにはデータが登録されていないものとする。また、ユーザAのuserIDを“userA”、ユーザBのuserIDを“userB”とする。   Here, the processing executed by each device will be specifically described using the sequence diagram of FIG. 11 by taking the case where the user A of the client device 50-1 and the user B of the client device 50-2 participate in the group as an example. Do. It is assumed that data is not registered in the group list of the information management apparatus 20. Further, the user ID of the user A is “user A”, and the user ID of the user B is “user B”.

図11において、クライアント装置50−1のユーザAは、クライアント装置50−1においてグループを作成する操作を行う(ステップS101)。一例として、ユーザAが、“AA検討”という名称のグループを作成する操作を行ったとする。クライアント装置50−1は、グループの名称“AA検討”を含むグループ作成要求をウェブサーバ30−1に送信する(ステップS103)。   In FIG. 11, the user A of the client device 50-1 performs an operation of creating a group in the client device 50-1 (step S101). As an example, it is assumed that the user A performs an operation of creating a group named “AA study”. The client device 50-1 transmits a group creation request including the name of the group "AA review" to the web server 30-1 (step S103).

ウェブサーバ30−1は、グループ作成要求を受信すると(図10:S71/YES)、グループ情報を作成する(ステップS105、図10:S73)。例えば、ウェブサーバ30−1は、グループ名称“AA検討”に対して、groupID“0001”を採番する。そして、ウェブサーバ30−1は、グループ名称“AA検討”と、groupID“0001”とを含むグループ情報を作成する。   When the web server 30-1 receives a group creation request (FIG. 10: S71 / YES), it creates group information (step S105, FIG. 10: S73). For example, the web server 30-1 assigns a group ID "0001" to the group name "AA review". Then, the web server 30-1 creates group information including the group name "AA review" and the group ID "0001".

ウェブサーバ30−1は、作成したグループ情報を情報管理装置20に送信する(ステップS107、図10:S75)。グループ情報を受信した情報管理装置20は、例えば、図12(a)に示すように、グループ情報をグループリストに登録する(ステップS109)。   The web server 30-1 transmits the created group information to the information management apparatus 20 (step S107, FIG. 10: S75). The information management apparatus 20 having received the group information registers the group information in the group list, for example, as shown in FIG. 12A (step S109).

情報管理装置20は、グループ情報をグループリストに登録すると、登録結果をウェブサーバ30−1に送信する(ステップS111)。ウェブサーバ30−1は、情報管理装置20から登録結果を受信すると(図10:S77)、グループ情報をクライアント装置50−1に送信する(ステップS113、図10:S79)。   After registering the group information in the group list, the information management apparatus 20 transmits the registration result to the web server 30-1 (step S111). When the web server 30-1 receives the registration result from the information management device 20 (FIG. 10: S77), the web server 30-1 transmits group information to the client device 50-1 (step S113, FIG. 10: S79).

クライアント装置50−1のユーザAが、グループに参加する操作をクライアント装置50−1上で行うと(ステップS115)、クライアント装置50−1は、グループ接続要求をウェブサーバ30−1に送信する(ステップS117)。ここでは、ユーザAが、groupID“0001”で識別されるグループに参加する操作を行ったとする。   When the user A of the client device 50-1 performs an operation of joining the group on the client device 50-1 (step S115), the client device 50-1 transmits a group connection request to the web server 30-1 ( Step S117). Here, it is assumed that the user A performs an operation of joining the group identified by the group ID “0001”.

ウェブサーバ30−1は、クライアント装置50−1からグループ接続要求を受信すると(図10:S81/YES)、クライアント装置50−1からの接続要求に応答する(ステップS119、図10:S83)。これにより、クライアント装置50−1とウェブサーバ30−1との間でWebsocketによる接続が確立し、双方向通信が可能となる。ウェブサーバ30−1は、接続クライアントリストを、例えば、図12(b)に示すように更新する(ステップS120、図10:S83)。   When the web server 30-1 receives a group connection request from the client device 50-1 (FIG. 10: S81 / YES), it responds to the connection request from the client device 50-1 (step S119, FIG. 10: S83). Thereby, a connection by Websocket is established between the client device 50-1 and the web server 30-1, and bidirectional communication becomes possible. The web server 30-1 updates the connection client list, for example, as shown in FIG. 12B (step S120, FIG. 10: S83).

一方、クライアント装置50−2のユーザBが、グループを検索する操作をクライアント装置50−2で行うと(ステップS121)、クライアント装置50−2は、グループ検索要求をウェブサーバ30−2に送信する(ステップS123)。   On the other hand, when the user B of the client device 50-2 performs an operation of searching for a group on the client device 50-2 (step S121), the client device 50-2 transmits a group search request to the web server 30-2. (Step S123).

ウェブサーバ30−2は、グループ検索要求を受信すると(図10:S85/YES)、情報管理装置20に登録されているグループリスト(図12(a))を検索条件に基づいて検索する(ステップS125、図10:S87)。情報管理装置20は、検索結果をウェブサーバ30−2に送信する(ステップS127)。   When the web server 30-2 receives the group search request (FIG. 10: S85 / YES), the web server 30-2 searches the group list (FIG. 12 (a)) registered in the information management apparatus 20 based on the search condition (step S125, FIG. 10: S87). The information management device 20 transmits the search result to the web server 30-2 (step S127).

ウェブサーバ30−2は、検索結果を受信すると(図10:S89)、検索結果をクライアント装置50−2に送信する(ステップS129、図10:S91)。   When the web server 30-2 receives the search result (FIG. 10: S89), the web server 30-2 transmits the search result to the client device 50-2 (step S129, FIG. 10: S91).

クライアント装置50−2のユーザBは、検索結果の中から参加したいグループを指定し、グループに参加する操作をクライアント装置50−2上で行う(ステップS131)。クライアント装置50−2は、ユーザBが指定したグループへの接続要求をウェブサーバ30−2に送信する(ステップS133)。ここでは、ユーザBがgroupID“0001”のグループに参加する操作を行ったとする。   The user B of the client device 50-2 specifies a group desired to participate from the search results, and performs an operation of joining the group on the client device 50-2 (step S131). The client device 50-2 transmits a request for connection to the group designated by the user B to the web server 30-2 (step S133). Here, it is assumed that the user B performs an operation of joining a group of group ID “0001”.

ウェブサーバ30−2は、クライアント装置50−2からグループ接続要求を受信すると(図10:S81/YES)、クライアント装置50−2からの接続要求に応答する(ステップS135、図10:S83)。これにより、クライアント装置50−2とウェブサーバ30−2との間で、Websocketによる接続が確立し、双方向通信が可能となる。ウェブサーバ30−2は、図12(c)に示すように、接続クライアントリストを更新する(ステップS136、図10:S83)。   When the web server 30-2 receives a group connection request from the client device 50-2 (FIG. 10: S81 / YES), the web server 30-2 responds to the connection request from the client device 50-2 (step S135, FIG. 10: S83). Thereby, a connection by Websocket is established between the client device 50-2 and the web server 30-2, and bidirectional communication becomes possible. The web server 30-2 updates the connection client list as shown in FIG. 12C (step S136, FIG. 10: S83).

(メッセージ配信処理)
次に、図13のフローチャートを参照して、ウェブサーバ30により実行されるメッセージ配信処理について説明する。メッセージ配信処理は、ユーザから送信されたメッセージを、当該ユーザと同一のグループに属する他のユーザに配信する処理である。
(Message delivery process)
Next, the message delivery process executed by the web server 30 will be described with reference to the flowchart of FIG. The message delivery process is a process for delivering a message sent from a user to other users belonging to the same group as the user.

図13の処理では、ステップS201において、受信部31は、クライアント装置50からメッセージ情報を受信するまで待機している。そして、受信部31がメッセージ情報を受信すると、ステップS201の判断が肯定され、ステップS205に移行する。なお、本実施形態において、メッセージ情報は、メッセージの送信者が参加しているグループの情報と、メッセージとを含む。   In the process of FIG. 13, in step S201, the receiving unit 31 stands by until receiving message information from the client device 50. Then, when the receiving unit 31 receives the message information, the determination in step S201 is affirmed, and the process proceeds to step S205. In the present embodiment, the message information includes information on the group in which the sender of the message participates, and the message.

ステップS205に移行すると、送信部32は、自サーバとWebsocketにて接続が確立しているクライアント装置50から、メッセージの転送対象となるクライアント装置50を特定する。具体的には、送信部32は、接続クライアントリストにおいて、メッセージを送信したクライアント装置50のユーザと同一のグループに属するユーザを特定する。   When the process proceeds to step S205, the transmitting unit 32 specifies the client device 50 to which the message is to be transferred, from the client device 50 that has established a connection with its own server via Websocket. Specifically, the transmitting unit 32 specifies a user belonging to the same group as the user of the client device 50 that has transmitted the message in the connected client list.

続くステップS207において、送信部32は、特定したクライアント装置50にメッセージを転送し、ステップS208に移行する。   In the subsequent step S207, the transmission unit 32 transfers the message to the specified client device 50, and the process proceeds to step S208.

ステップS208に移行すると、送信部32は、受信したメッセージ情報にサーバ転送フラグが付加されているか否かを判断する。ここで、サーバ転送フラグとは、当該メッセージ情報がクライアント装置50ではなくウェブサーバ30から転送されてきたメッセージ情報であること示すフラグであり、メッセージ情報がウェブサーバ30間で巡回するのを防ぐために使用される。メッセージ情報にサーバ転送フラグが付加されている場合、ステップS208の判断が肯定され、ステップS201に戻る。一方、メッセージ情報にサーバ転送フラグが付加されていない場合、ステップS208の判断が否定され、ステップS209に移行する。   At step S208, the transmission unit 32 determines whether a server transfer flag is added to the received message information. Here, the server transfer flag is a flag indicating that the message information is message information transferred from the web server 30 instead of the client device 50, and to prevent the message information from being circulated among the web servers 30. used. When the server transfer flag is added to the message information, the determination in step S208 is affirmed, and the process returns to step S201. On the other hand, if the server transfer flag is not added to the message information, the determination at step S208 is negative, and the process proceeds to step S209.

ステップS209に移行すると、送信部32は、サーバ転送フラグを付加したメッセージ情報を、他のウェブサーバ30に送信する。具体的には、送信部32は、接続サーバリストに基づいて、自装置とWebsocketにて接続が確立しているウェブサーバ30にサーバ転送フラグを付加したメッセージ情報を送信する。ステップS209の処理を終了すると、ステップS201に戻る。   When the process proceeds to step S209, the transmission unit 32 transmits the message information to which the server transfer flag is added to the other web server 30. Specifically, based on the connection server list, the transmission unit 32 transmits message information to which a server transfer flag is added to the web server 30 that has established a connection with the own apparatus via Websocket. When the process of step S209 is completed, the process returns to step S201.

図13の処理は、ウェブサーバ30が稼働している間、繰り返し実行される。   The process of FIG. 13 is repeatedly performed while the web server 30 is operating.

ここで、クライアント装置50−1のユーザAがメッセージを送信する場合を例として、各装置が実行する処理について、図14のシーケンス図を用いて説明する。なお、ウェブサーバ30−1には、図15(a)に示す接続サーバリストと、図15(b)に示す接続クライアントリストとが登録されているものとする。また、ウェブサーバ30−2には、図15(c)に示す接続サーバリストと、図15(d)に示す接続クライアントリストとが登録されているものとする。また、ウェブサーバ30−1のIPアドレスは、“192.168.x.x.”であり、ウェブサーバ30−2のIPアドレスは、“192.168.x.y”であるものとする。また、ユーザAのuserIDは“userA”であり、ユーザBのuserIDは“userB”であるものとする。   Here, processing performed by each device will be described using the sequence diagram of FIG. 14 by taking the case where the user A of the client device 50-1 transmits a message as an example. In the web server 30-1, it is assumed that a connection server list shown in FIG. 15A and a connection client list shown in FIG. 15B are registered. Further, it is assumed that the connection server list shown in FIG. 15 (c) and the connection client list shown in FIG. 15 (d) are registered in the web server 30-2. Further, the IP address of the web server 30-1 is "192.168.x.x.", and the IP address of the web server 30-2 is "192.168.x.y". Further, it is assumed that the user ID of the user A is “user A” and the user ID of the user B is “user B”.

図14において、クライアント装置50−1のユーザAが、メッセージ送信処理を行うと(ステップS151)、クライアント装置50−1は、メッセージ情報をウェブサーバ30−1に送信する(ステップS153)。ここで、ユーザAが、“状況を教えてください”とのメッセージを送信したとする。この場合、クライアント装置50−1は、図16(a)に示すように、ユーザAが参加するグループのgroupID“0001”と、メッセージ(message)“状況を教えてください”とを含むメッセージ情報をウェブサーバ30−1に送信する。なお、クライアント装置50−1から送信されたメッセージ情報には、サーバ転送フラグが付加されていない。   In FIG. 14, when the user A of the client device 50-1 performs message transmission processing (step S151), the client device 50-1 transmits message information to the web server 30-1 (step S153). Here, it is assumed that the user A transmits a message "Please tell me the situation". In this case, as shown in FIG. 16A, the client device 50-1 has message information including the group ID “0001” of the group to which the user A participates, and the message “Please tell me the situation”. It transmits to the web server 30-1. The server transfer flag is not added to the message information transmitted from the client device 50-1.

ウェブサーバ30−1は、メッセージ情報を受信すると(図13:S201/YES)、メッセージを転送するクライアント装置50を特定する(ステップS155、図13:S205)。ウェブサーバ30−1は、図15(b)の接続クライアントリストから、図16(a)のメッセージ情報に含まれるgroupID“0001”で識別されるグループに属するユーザを特定する。図15(b)の接続クライアントリストにおいて、groupID“0001”で識別されるグループに属するユーザは、userIDが“userA”、“userC”および“userY”のユーザである。したがって、ウェブサーバ30−1は、userIDが“userA”、“userC”および“userY”のユーザのクライアント装置50をメッセージの転送対象として特定する。   Upon receiving the message information (FIG. 13: S201 / YES), the web server 30-1 specifies the client device 50 to which the message is transferred (step S155, FIG. 13: S205). The web server 30-1 specifies the user belonging to the group identified by the group ID "0001" included in the message information of FIG. 16A from the connection client list of FIG. 15B. In the connection client list in FIG. 15B, the users belonging to the group identified by the group ID “0001” are users having user IDs “user A”, “user C” and “user Y”. Therefore, the web server 30-1 specifies the client apparatuses 50 of users whose user IDs are “userA”, “userC” and “userY” as a message transfer target.

ウェブサーバ30−1は、特定したクライアント装置50にメッセージを送信する(ステップS157、図13:S207)。具体的には、ウェブサーバ30−1は、userIDが“userA”、“userC”および“userY”のユーザのクライアント装置50にメッセージ情報に含まれるメッセージ“状況を教えてください”を送信する。   The web server 30-1 transmits a message to the specified client device 50 (step S157, FIG. 13: S207). Specifically, the web server 30-1 transmits the message "Please tell me the status" included in the message information to the client devices 50 of the users whose user IDs are "userA", "userC" and "userY".

上述したように、クライアント装置50−1から送信されたメッセージ情報には、サーバ転送フラグが付加されていない(図13:S208/NO)。したがって、ウェブサーバ30−1は、図15(a)に示す接続サーバリストに存在するウェブサーバ30−2に、図16(b)に示すように、サーバ転送フラグ(forwardFlag)を付加したメッセージ情報を送信する(ステップS159、図13:S209)。   As described above, the server transfer flag is not added to the message information transmitted from the client device 50-1 (FIG. 13: S208 / NO). Therefore, as shown in FIG. 16 (b), the web server 30-1 adds message transmission information (forward Flag) to the web server 30-2 existing in the connection server list shown in FIG. 15 (a). Are transmitted (step S159, FIG. 13: S209).

ウェブサーバ30−2は、メッセージ情報を受信すると(図13:S201/YES)、メッセージを転送するクライアント装置50を特定する(ステップS161、図13:S205)。ここで、図15(d)の接続クライアントリストによれば、メッセージ情報に含まれるgroupID“0001”で識別されるグループに属するユーザは、userIDが“userB”のユーザBである。したがって、ウェブサーバ30−2は、ユーザBのクライアント装置50−2を、メッセージの転送対象として特定する。   When the web server 30-2 receives the message information (FIG. 13: S201 / YES), the web server 30-2 specifies the client device 50 to which the message is transferred (step S161, FIG. 13: S205). Here, according to the connection client list of FIG. 15D, the user belonging to the group identified by the group ID “0001” included in the message information is the user B whose user ID is “user B”. Therefore, the web server 30-2 specifies the client device 50-2 of the user B as a message transfer target.

ウェブサーバ30−2は、特定されたクライアント装置50−2にメッセージを転送する(ステップS165、図13:S207)。メッセージを受信したクライアント装置50−2は、メッセージを表示する(ステップS167)。これにより、ユーザAのクライアント装置50−1が接続されたウェブサーバ30−1とは異なるウェブサーバ30−2に接続されたクライアント装置50−2のユーザBは、ユーザAからのメッセージを確認することができる。なお、上述したように、ウェブサーバ30−2が受信したメッセージ情報にはサーバ転送フラグが付加されているため(図13:S208/YES)、ウェブサーバ30−2は、メッセージ情報を他のウェブサーバ30に送信しない。   The web server 30-2 transfers the message to the identified client device 50-2 (step S165, FIG. 13: S207). The client device 50-2 having received the message displays the message (step S167). Thereby, the user B of the client device 50-2 connected to the web server 30-2 different from the web server 30-1 to which the client device 50-1 of the user A is connected confirms the message from the user A be able to. In addition, as described above, since the server transfer flag is added to the message information received by the web server 30-2 (FIG. 13: S208 / YES), the web server 30-2 can transmit the message information to the other web. It does not transmit to the server 30.

複数のウェブサーバにより負荷分散を行っている従来のシステムでは、各ウェブサーバは、他のウェブサーバに接続されているクライアント装置の情報を持っていない。また、一般的に、負荷分散は負荷分散装置が自動的に行うため、ユーザのクライアント装置が接続されているウェブサーバに、メッセージの送信対象となるユーザのクライアント装置が接続されているとは限らない。したがって、複数のウェブサーバにより負荷分散を行っているシステムが本実施形態の構成を有さない場合、メッセージの送信元のクライアント装置が接続されているウェブサーバとは異なるウェブサーバに接続され、かつ、送信元のクライアント装置と同一のグループに属するクライアント装置に、メッセージを送信することができない。   In a conventional system in which load balancing is performed by a plurality of web servers, each web server does not have information on client devices connected to other web servers. Also, in general, load distribution is automatically performed by the load distribution device, so the web server to which the client device of the user is connected is limited to the client device of the user who is the target of message transmission being connected. Absent. Therefore, if a system performing load distribution by a plurality of web servers does not have the configuration of the present embodiment, it is connected to a web server different from the web server to which the client device of the message transmission source is connected, The message can not be transmitted to the client device belonging to the same group as the transmission source client device.

一方、本実施形態では、図14〜図16を用いて説明したように、ウェブサーバ30−1に接続しているクライアント装置50−1からのメッセージを、他のウェブサーバ30−2に接続し、かつ、クライアント装置50−1と同一のグループに属するクライアント装置50−2に送信することができる。   On the other hand, in the present embodiment, as described with reference to FIGS. 14 to 16, the message from the client device 50-1 connected to the web server 30-1 is connected to another web server 30-2. And, it can transmit to the client device 50-2 belonging to the same group as the client device 50-1.

(サーバ情報削除処理)
次に、図17のフローチャートを参照して、ウェブサーバ30において実行されるサーバ情報削除処理について説明する。サーバ情報削除処理は、応答がない、あるいは、停止したウェブサーバ30の情報を接続サーバリストや、情報管理装置20の稼働中サーバリストから削除するための処理である。
(Server information deletion process)
Next, the server information deletion process executed by the web server 30 will be described with reference to the flowchart of FIG. The server information deletion process is a process for deleting the information of the web server 30 which has not responded or is stopped from the connection server list or the operating server list of the information management apparatus 20.

図17の処理では、ステップS301において、送信部32は、メッセージの送信に失敗したウェブサーバ30が存在するか否かを判断する。ここでの判断が肯定された場合、ステップS303に移行する。   In the process of FIG. 17, in step S301, the transmission unit 32 determines whether there is a web server 30 that has failed to transmit a message. If the determination here is affirmed, the process proceeds to step S303.

ステップS303に移行すると、接続管理部33は、メッセージの送信に失敗したウェブサーバ30を接続サーバリストから削除する。   When the process proceeds to step S303, the connection management unit 33 deletes the web server 30 for which transmission of the message has failed from the connection server list.

ところで、メッセージの送信に失敗したウェブサーバ30が存在しなかった場合、ステップS301の判断が否定され、ステップS305に移行する。   By the way, when there is no web server 30 for which transmission of the message has failed, the determination in step S301 is denied, and the process proceeds to step S305.

ステップS305に移行すると、接続管理部33は、他のウェブサーバ30との接続(コネクション)の切断を検出したか否かを判断する。ここでの判断が否定された場合、ステップS301に戻るが、肯定された場合、ステップS307に移行する。   In step S305, the connection management unit 33 determines whether disconnection of a connection with another web server 30 has been detected. If the determination here is denied, the process returns to step S301. If the determination is affirmed, the process proceeds to step S307.

ステップS307に移行すると、接続管理部33は、接続の切断を検出したウェブサーバ30を、接続サーバリストから削除する。   In the step S307, the connection management unit 33 deletes the web server 30 that has detected the disconnection from the connection server list.

ステップS303、または、ステップS307の処理後は、ステップS309に移行する。   After the process of step S303 or step S307, the process proceeds to step S309.

ステップS309に移行すると、送信部32は、削除したサーバの情報を、情報管理装置20に送信する。これにより、情報管理装置20は、稼働中サーバリストから、当該サーバを削除することができる。   When the process proceeds to step S309, the transmission unit 32 transmits the information of the deleted server to the information management device 20. As a result, the information management apparatus 20 can delete the server from the operating server list.

ステップS309の処理後は、ステップS301に戻る。図17の処理は、ウェブサーバ30が稼働している間、繰り返し実行される。なお、図17において、ステップS303の処理と、ステップS309の処理とは、実行順序が入れ替わってもよい。また、ステップS307の処理と、ステップS309の処理とは、実行順序が入れ替わってもよい。   After the process of step S309, the process returns to step S301. The process of FIG. 17 is repeatedly performed while the web server 30 is operating. In FIG. 17, the execution order of the process of step S303 and the process of step S309 may be interchanged. Also, the order of execution of the process of step S307 and the process of step S309 may be interchanged.

ここで、ウェブサーバ30−2が応答しない、あるいは、停止した場合を例として、各装置が実行する処理について、図18(a)および図18(b)のシーケンス図を用いて具体的に説明する。   Here, the processing executed by each device will be specifically described using the sequence diagrams of FIG. 18A and FIG. 18B, taking the case where the web server 30-2 does not respond or stops. Do.

まず、ウェブサーバ30−2が応答しない場合について図18(a)を参照して説明する。なお、ウェブサーバ30−1には、図19(a)の接続サーバリストが登録されており、ウェブサーバ30−2には、図19(b)の接続サーバリストが登録されているものとする。また、情報管理装置20には、図19(c)の稼働中サーバリストが登録されているものとする。また、ウェブサーバ30−1および30−2のIPアドレスは、それぞれ、“192.168.x.x”、および“192.168.x.y”であるものとする。   First, the case where the web server 30-2 does not respond will be described with reference to FIG. 18 (a). The connection server list of FIG. 19A is registered in the web server 30-1, and the connection server list of FIG. 19B is registered in the web server 30-2. . Further, it is assumed that the operating server list in FIG. 19C is registered in the information management apparatus 20. The IP addresses of the web servers 30-1 and 30-2 are "192.168.x.x" and "192.168.x.y", respectively.

図18(a)では、ウェブサーバ30−1が、サーバ転送フラグを付加したメッセージ情報をウェブサーバ30−2に送信する(ステップS321)。   In FIG. 18A, the web server 30-1 transmits the message information to which the server transfer flag is added to the web server 30-2 (step S321).

そして、ウェブサーバ30−1は、ウェブサーバ30−2に対するメッセージ情報の送信が失敗していることを確認する(ステップS323、図17:S301/YES)。この場合、ウェブサーバ30−1は、図19(a)に示す接続サーバリストから、図19(d)に示すようにウェブサーバ30−2のIPアドレス(192.168.x.y)を削除する(ステップS325、図17:S303)。これにより、ウェブサーバ30−1は、メッセージ情報の送信対象から、応答しないウェブサーバ30−2を除外することができる。すなわち、ウェブサーバ30−1は、応答しないウェブサーバ30−2にメッセージ情報を送信しないようにすることができる。   Then, the web server 30-1 confirms that the transmission of the message information to the web server 30-2 has failed (step S323, FIG. 17: S301 / YES). In this case, the web server 30-1 deletes the IP address (192.168.x.y) of the web server 30-2 as shown in FIG. 19 (d) from the connection server list shown in FIG. 19 (a). (Step S325, FIG. 17: S303). Thereby, the web server 30-1 can exclude the web server 30-2 which does not respond from transmission object of message information. That is, the web server 30-1 can be configured not to transmit message information to the non-responsive web server 30-2.

ウェブサーバ30−1は、削除したウェブサーバ30−2の情報を、情報管理装置20に送信する(ステップS331、図17:S309)。情報管理装置20は、図19(f)に示すように、稼働中サーバリストから、ウェブサーバ30−2を削除する(ステップS333)。これにより、情報管理装置20は、新たに起動したウェブサーバ30に、応答しないウェブサーバ30−2を除いた稼働中サーバリストを送信することができる。   The web server 30-1 transmits the information of the deleted web server 30-2 to the information management apparatus 20 (step S331, FIG. 17: S309). The information management apparatus 20 deletes the web server 30-2 from the operating server list as shown in FIG. 19F (step S333). As a result, the information management apparatus 20 can transmit the operating server list excluding the non-responsive web server 30-2 to the newly activated web server 30.

なお、ウェブサーバ30−2の接続サーバリストは図19(e)に示すように更新されず、元の状態(図19(b))のままである。   The connection server list of the web server 30-2 is not updated as shown in FIG. 19 (e), and remains in the original state (FIG. 19 (b)).

別例として、ウェブサーバ30−2が停止した場合について、図18(b)を用いて説明する。   As another example, the case where the web server 30-2 is stopped will be described using FIG. 18 (b).

図18(b)において、ウェブサーバ30−2は、停止すると(ステップS335)、他のウェブサーバ30との接続を切断する(ステップS337)。   In FIG. 18B, when the web server 30-2 is stopped (step S335), the connection with the other web server 30 is disconnected (step S337).

ウェブサーバ30−1は、ウェブサーバ30−2との接続(コネクション)の切断を検出すると(ステップS339:図17:S305/YES)、接続サーバリストからウェブサーバ30−2を削除する(ステップS341、図17:S307)。これにより、ウェブサーバ30−1は、メッセージ情報の送信対象から、停止したウェブサーバ30−2を除外することができる。すなわち、ウェブサーバ30−1は、停止したウェブサーバ30−2にメッセージ情報を送信しないようにすることができる。   When the web server 30-1 detects disconnection of the connection with the web server 30-2 (step S339: FIG. 17: S305 / YES), the web server 30-1 deletes the web server 30-2 from the connected server list (step S341). , FIG. 17: S307). Thereby, the web server 30-1 can exclude the web server 30-2 which stopped from transmission object of message information. That is, the web server 30-1 can be configured not to transmit message information to the stopped web server 30-2.

また、ウェブサーバ30−1は、削除したウェブサーバ30−2の情報を、情報管理装置20に送信する(ステップS343、図17:S309)。情報管理装置20は、稼働中サーバリストから、ウェブサーバ30−2を削除する(ステップS345)。これにより、情報管理装置20は、新たに起動したウェブサーバ30に、停止したウェブサーバ30−2を除いた稼働中サーバリストを送信することができる。   Further, the web server 30-1 transmits the information of the deleted web server 30-2 to the information management apparatus 20 (step S343, FIG. 17: S309). The information management device 20 deletes the web server 30-2 from the in-use server list (step S345). As a result, the information management apparatus 20 can transmit the operating server list excluding the stopped web server 30-2 to the newly started web server 30.

以上、詳細に説明したように、本実施形態によると、メッセージ配信システム100は、ネットワーク40に接続された複数のウェブサーバ30−1〜30−nを備えており、各ウェブサーバ30は、ウェブサーバ30との接続が確立しているクライアント装置50からクライアント装置50が属するグループの情報を付帯したメッセージ(図16(a))を受信した場合、クライアント装置50と同一のグループに属し、ウェブサーバ30との接続が確立している他のクライアント装置50にメッセージを送信する(図13:S205,S207、図14:S155,S157)。さらに、ウェブサーバ30は、ウェブサーバ30との接続が確立している他のウェブサーバ30にメッセージを送信する(図13:S209、図14:S159)。また、ウェブサーバ30は、他のウェブサーバ30との接続が確立しているクライアント装置50から送信されたメッセージを他のウェブサーバから受信した場合、メッセージを送信したクライアント装置50と同一のグループに属し、ウェブサーバ30との接続が確立しているクライアント装置50に送信する(図13:S205,S207、図14:S161,S165)。これにより、複数のウェブサーバ30−1〜30−nにより負荷分散を行っているシステムにおいて、例えば、ウェブサーバ30−1に接続されたクライアント装置50−1から送信されたメッセージを、ウェブサーバ30−1とは異なるウェブサーバ30−2に接続され、かつ、クライアント装置50−1と同一のグループに属するクライアント装置50−2に送信することができる。   As described above in detail, according to the present embodiment, the message delivery system 100 includes the plurality of web servers 30-1 to 30-n connected to the network 40, and each web server 30 is a web. When receiving a message (FIG. 16A) attached with information on the group to which the client device 50 belongs from the client device 50 in which the connection with the server 30 is established, the web server belongs to the same group as the client device 50 A message is transmitted to the other client device 50 that has established a connection with T.30 (FIG. 13: S205, S207, FIG. 14: S155, S157). Furthermore, the web server 30 transmits a message to another web server 30 that has established a connection with the web server 30 (FIG. 13: S209, FIG. 14: S159). Also, when the web server 30 receives from another web server a message sent from a client device 50 that has established a connection with another web server 30, the web server 30 is in the same group as the client device 50 that sent the message. It belongs and it transmits to the client apparatus 50 which the connection with the web server 30 has established (FIG. 13: S205, S207, FIG. 14: S161, S165). Thus, in a system in which load distribution is performed by the plurality of web servers 30-1 to 30-n, for example, a message transmitted from the client device 50-1 connected to the web server 30-1 is It can be transmitted to the client device 50-2 connected to the web server 30-2 different from -1 and belonging to the same group as the client device 50-1.

また、本実施形態によれば、各ウェブサーバ30−1〜30−nは、各ウェブサーバとの接続が確立しているクライアント装置50の情報を個別に管理している(図15(b)、図15(d)等参照)。これにより、クライアント装置50の接続情報を一元管理するサーバ等を設置する必要がない。クライアント装置50の接続情報を一元管理する場合、接続情報を一元管理するサーバの容量によって、ウェブサービスを利用できる人数が制限されてしまう場合がある。あるいは、ウェブサービスの利用者が増えた場合には、接続情報を一元管理するサーバの容量を大きくしなければ、システムを維持することができない。一方、本実施形態によれば、各ウェブサーバ30が、各ウェブサーバ30との接続が確立しているクライアント装置50の接続情報を個別に管理するため、情報管理装置20は、稼働中のウェブサーバ30の情報を管理すればよく、容量が少なくて済む。また、利用者が増えた場合にも、新規にウェブサーバを立てればよいので、システムの拡大も容易になる。   Further, according to the present embodiment, each of the web servers 30-1 to 30-n individually manages information of the client device 50 that has established a connection with each web server (FIG. 15 (b)). , FIG. 15 (d) etc.). Accordingly, there is no need to install a server or the like that centrally manages connection information of the client device 50. When centrally managing connection information of the client device 50, the number of people who can use the web service may be limited by the capacity of the server that centrally manages the connection information. Alternatively, when the number of web service users increases, the system can not be maintained unless the capacity of the server that centrally manages connection information is increased. On the other hand, according to the present embodiment, since each web server 30 individually manages connection information of the client device 50 with which the connection with each web server 30 has been established, the information management device 20 operates the web in operation. It suffices to manage the information of the server 30, and the capacity can be reduced. In addition, even when the number of users increases, it is easy to expand the system because it is sufficient to newly establish a web server.

また、本実施形態において、メッセージ配信システムは、ウェブサーバ30−1〜30−nのうち稼働中のウェブサーバ30の情報を管理する情報管理装置20を備える。ウェブサーバ30は、メッセージの送信に失敗した、または、接続の切断を検出したウェブサーバ30の情報を情報管理装置20に送信する(図17:S309、図18(a):S331、図18(b):S343)。情報管理装置20は、稼働中サーバリストから、メッセージの送信に失敗した、または、接続の切断を検出したウェブサーバ30の情報を削除する(図18(a):S333、図18(b):S345)。これにより、情報管理装置20は、新たに起動したウェブサーバ30に、応答しないウェブサーバ30を除いた稼働中サーバリストを送信することができる。   Further, in the present embodiment, the message distribution system includes the information management device 20 that manages information of the web server 30 in operation among the web servers 30-1 to 30-n. The web server 30 transmits the information of the web server 30 which has failed to transmit the message or has detected disconnection of the connection to the information management apparatus 20 (FIG. 17: S309, FIG. 18 (a): S331, FIG. b): S343). The information management apparatus 20 deletes the information of the web server 30 that has failed to send a message or has detected disconnection from the active server list (FIG. 18 (a): S333, FIG. 18 (b): S345). As a result, the information management apparatus 20 can transmit the operating server list excluding the non-responsive web server 30 to the newly activated web server 30.

また、本実施形態によれば、ウェブサーバ30−1〜30−nは、自サーバとの接続が確立しているウェブサーバ30の情報を個別に管理する(図19(a)〜(c)等参照)。各ウェブサーバ30−1〜30−nは、メッセージの送信に失敗した、または、接続の切断を検出したウェブサーバ30の情報を個別に管理しているウェブサーバ30の情報(接続サーバリスト)から削除する(図17:S303、図18(a):S325、図18(b):S341)。これにより、各ウェブサーバ30−1〜30−nは、応答しないウェブサーバ30にメッセージを送信しないようにすることができる。   Further, according to the present embodiment, the web servers 30-1 to 30-n individually manage the information of the web server 30 in which the connection with the own server is established (FIGS. 19A to 19C). Etc.). Each of the web servers 30-1 to 30-n fails to transmit a message, or from information on the web server 30 which individually manages information on the web server 30 that has detected a disconnection (connection server list) It deletes (FIG. 17: S303, FIG. 18 (a): S325, FIG. 18 (b): S341). As a result, each of the web servers 30-1 to 30-n can prevent a message from being sent to the non-responsive web server 30.

また、本実施形態において、ウェブサーバ30−1は、他のウェブサーバ30に送信するメッセージ情報に当該メッセージ情報がウェブサーバ30−1から送信されたメッセージであることを示すサーバ転送フラグを付加する(図13:S209、図14:S159)。ウェブサーバ30−2は、サーバ転送フラグが付加されたメッセージを受信した場合、サーバ転送フラグが付加されたメッセージを他のウェブサーバ30に送信しない。具体的には、ウェブサーバ30−2は、ウェブサーバ30−1からサーバ転送フラグが付加されたメッセージを受信した場合、ウェブサーバ30−1に当該メッセージを送信しない。これにより、ウェブサーバ30−1とウェブサーバ30−2との間で、メッセージが巡回するのを防ぐことができる。   Further, in the present embodiment, the web server 30-1 adds a server transfer flag indicating that the message information is a message transmitted from the web server 30-1 to the message information transmitted to the other web server 30. (FIG. 13: S209, FIG. 14: S159). When the web server 30-2 receives the message with the server transfer flag added, the web server 30-2 does not transmit the message with the server transfer flag added to the other web servers 30. Specifically, when the web server 30-2 receives a message with a server transfer flag added from the web server 30-1, the web server 30-2 does not transmit the message to the web server 30-1. This can prevent messages from circulating between the web server 30-1 and the web server 30-2.

また、本実施形態において、ウェブサーバ30同士は、Websocketにより接続が確立され、ウェブサーバ30とクライアント装置50とはWebsocketにより接続が確立されている。これにより、複数のウェブサーバ30により負荷分散を行うシステムにおいて、異なるウェブサーバ30に接続されたクライアント装置50間で、Websocketを用いたメッセージングを実現できる。   Further, in the present embodiment, the connection between the web servers 30 is established by the websocket, and the connection between the web server 30 and the client device 50 is established by the websocket. As a result, in a system in which load distribution is performed by a plurality of web servers 30, it is possible to realize messaging using a websocket between client devices 50 connected to different web servers 30.

なお、上記実施形態において、ウェブサーバ30は、メッセージ情報の転送対象を特定する場合に、当該メッセージ情報を送信したクライアント装置50を転送対象から除外するようにしてもよい。   In the above embodiment, when specifying the transfer target of the message information, the web server 30 may exclude the client device 50 that has transmitted the message information from the transfer target.

なお、上記実施形態においては、情報管理装置20が、稼働中サーバリストおよびグループリストを管理していた。しかしながら、ウェブサーバ30がアクセス可能であれば、負荷分散装置10が、稼働中サーバリストおよびグループリストを管理してもよい。   In the above embodiment, the information management device 20 manages the operating server list and the group list. However, if the web server 30 is accessible, the load balancer 10 may manage the active server list and the group list.

なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。   The above processing functions can be realized by a computer. In that case, a program is provided which describes the processing content of the function that the processing device should have. The above processing functions are realized on the computer by executing the program on the computer. The program in which the processing content is described can be recorded on a computer readable recording medium (except for the carrier wave).

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   In the case of distributing the program, for example, the program is sold in the form of a portable recording medium such as a DVD (Digital Versatile Disc), a CD-ROM (Compact Disc Read Only Memory) or the like in which the program is recorded. Alternatively, the program may be stored in the storage device of the server computer, and the program may be transferred from the server computer to another computer via a network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。   The computer executing the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing in accordance with the program. The computer can also execute processing in accordance with the received program each time the program is transferred from the server computer.

上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。   The embodiments described above are examples of preferred implementations of the invention. However, the present invention is not limited to this, and various modifications can be made without departing from the scope of the present invention.

なお、以上実施形態の説明に関して、更に以下の付記を開示する。
(付記1) ネットワークに接続された複数の情報処理装置を含むメッセージ配信システムであって、
各情報処理装置は、
該情報処理装置との接続が確立している端末装置から、該端末装置が属するグループの情報を付帯したメッセージを受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、該情報処理装置との接続が確立している他の端末装置に前記メッセージを送信するとともに、他の情報処理装置に前記メッセージを送信し、
他の情報処理装置との接続が確立している端末装置から送信されたメッセージを前記他の情報処理装置から受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、該情報処理装置との接続が確立している端末装置に前記メッセージを送信する、
ことを特徴とするメッセージ配信システム。
(付記2) 前記各情報処理装置は、前記各情報処理装置との接続が確立している端末装置の情報を個別に管理することを特徴とする付記1に記載のメッセージ配信システム。
(付記3) 前記複数の情報処理装置のうち稼働中の情報処理装置の情報を管理する情報管理装置を備え、
前記各情報処理装置は、前記メッセージの送信に失敗した、または、接続の切断を検出した情報処理装置が存在する場合に、該情報処理装置の情報を前記情報管理装置に送信し、
前記情報管理装置は、前記稼働中の情報処理装置の情報から、前記メッセージの送信に失敗した、または、接続の切断を検出した情報処理装置の情報を削除する、
ことを特徴とする付記1または2に記載のメッセージ配信システム。
(付記4) 前記各情報処理装置は、
該情報処理装置との接続が確立している他の情報処理装置の情報を個別に管理し、
前記メッセージの送信に失敗した、または、接続の切断を検出した情報処理装置の情報を、個別に管理している前記他の情報処理装置の情報から削除する、
ことを特徴とする付記3に記載のメッセージ配信システム。
(付記5) 前記各情報処理装置は、
前記他の情報処理装置に送信する前記メッセージに、該メッセージが前記各情報処理装置から送信されたメッセージであることを示すフラグを付加し、
前記フラグが付加された前記メッセージを受信した場合、前記フラグが付加された前記メッセージを前記他の情報処理装置に送信しない、
ことを特徴とする付記1〜4のいずれかに記載のメッセージ配信システム。
(付記6) 前記複数の情報処理装置は、Websocketにより互いの接続が確立されており、
前記各情報処理装置と前記端末装置とはWebsocketにより接続が確立されていることを特徴とする付記1〜5のいずれかに記載のメッセージ配信システム。
(付記7) 自装置との接続が確立している端末装置から、該端末装置が属するグループの情報を付帯したメッセージを受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記自装置との接続が確立している他の端末装置に前記メッセージを送信するとともに、他の情報処理装置に前記メッセージを送信し、
他の情報処理装置との接続が確立している端末装置から送信されたメッセージを前記他の情報処理装置から受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記自装置との接続が確立している端末装置に前記メッセージを送信する、
処理をコンピュータに実行させることを特徴とするメッセージ配信プログラム。
(付記8) 前記メッセージの送信に失敗した、または、接続の切断を検出した情報処理装置が存在する場合に、該情報処理装置の情報を、稼働中の情報処理装置の情報を管理する情報管理装置に送信する、
処理をさらにコンピュータに実行させることを特徴とする付記7に記載のメッセージ配信プログラム。
(付記9) 前記メッセージの送信に失敗した、または、接続の切断を検出した情報処理装置を、個別に管理している前記他の情報処理装置の情報から削除する、
処理をさらにコンピュータに実行させることを特徴とする付記8に記載のメッセージ配信プログラム。
(付記10) 前記他の情報処理装置に送信する前記メッセージに、該メッセージが前記端末装置ではなく情報処理装置から送信されたメッセージであることを示すフラグを付加し、
前記フラグが付加された前記メッセージを受信した場合、前記フラグが付加された前記メッセージを前記他の情報処理装置に送信しない、
処理をさらにコンピュータに実行させることを特徴とする付記7〜9のいずれかに記載のメッセージ配信プログラム。
(付記11) 前記自装置と前記他の情報処理装置とは、Websocketにより互いの接続が確立されており、
前記自装置と前記端末装置とはWebsocketにより接続が確立されていることを特徴とする付記7〜10のいずれかに記載のメッセージ配信プログラム。
(付記12) 第1の情報処理装置が、前記第1の情報処理装置との接続が確立している端末装置から該端末装置が属するグループの情報を付帯したメッセージを受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記第1の情報処理装置との接続が確立している他の端末装置に前記メッセージを送信するとともに、前記第1の情報処理装置との接続が確立している第2の情報処理装置に前記メッセージを送信し、
前記第2の情報処理装置が、前記第1の情報処理装置から受信した前記メッセージを、前記メッセージを送信した端末装置と同一のグループに属し、前記第2の情報処理装置との接続が確立している端末装置に送信する、
ことを特徴とするメッセージ配信方法。
(付記13) 前記第1の情報処理装置および前記第2の情報処理装置は、自装置との接続が確立している端末装置の情報を個別に管理することを特徴とする付記12に記載のメッセージ配信方法。
(付記14) 前記第1の情報処理装置は、前記第2の情報処理装置のうち前記メッセージの送信に失敗した、または、接続の切断を検出した第3の情報処理装置が存在する場合に、該第3の情報処理装置の情報を、稼働中の情報処理装置の情報を管理する情報管理装置に送信し、
前記情報管理装置は、前記稼働中の情報処理装置の情報から、前記第3の情報処理装置の情報を削除する、
ことを特徴とする付記12または13に記載のメッセージ配信方法。
(付記15) 前記第1の情報処理装置および前記第2の情報処理装置は、自装置との接続が確立している他の情報処理装置の情報を個別に管理し、
前記第1の情報処理装置は、個別に管理している前記他の情報処理装置の情報から前記第3の情報処理装置の情報を削除する、
ことを特徴とする付記14に記載のメッセージ配信方法。
(付記16) 前記第1の情報処理装置は、前記第2の情報処理装置に送信する前記メッセージに、該メッセージが前記第1の情報処理装置から送信されたメッセージであることを示すフラグを付加し、
前記第2の情報処理装置は、前記フラグが付加された前記メッセージを受信した場合、前記フラグが付加された前記メッセージを他の情報処理装置に送信しない、
ことを特徴とする付記12〜15のいずれかに記載のメッセージ配信方法。
(付記17) 前記第1の情報処理装置と前記第2の情報処理装置とは、Websocketにより互いの接続が確立されており、
前記第1の情報処理装置および前記第2の情報処理装置と前記端末装置とはWebsocketにより接続が確立されていることを特徴とする付記12〜16のいずれかに記載のメッセージ配信方法。
(付記18) 自装置との接続が確立している端末装置、または、他の情報処理装置からメッセージを受信する受信部と、
前記自装置との接続が確立している端末装置から、該端末装置が属するグループの情報を付帯したメッセージを受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記自装置との接続が確立している他の端末装置に前記メッセージを送信するとともに、他の情報処理装置に前記メッセージを送信し、他の情報処理装置との接続が確立している端末装置から送信されたメッセージを前記他の情報処理装置から受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記自装置との接続が確立している端末装置に前記メッセージを送信する送信部と、
を備えることを特徴とするメッセージ配信装置。
(付記19) 前記自装置との接続が確立している端末装置の情報を個別に管理する接続管理部、
を備えることを特徴とする付記18に記載のメッセージ配信装置。
(付記20) 前記送信部は、前記メッセージの送信に失敗した、または、接続の切断を検出した情報処理装置が存在する場合に、該情報処理装置の情報を、稼働中の情報処理装置の情報を管理する情報管理装置に送信し、
前記接続管理部は、前記メッセージの送信に失敗した、または、接続の切断を検出した情報処理装置の情報を、個別に管理している前記他の情報処理装置の情報から削除する、
ことを特徴とする付記19に記載のメッセージ配信装置。
(付記21) 前記送信部は、前記他の情報処理装置に送信する前記メッセージに、該メッセージが前記メッセージ配信装置から送信されたメッセージであることを示すフラグを付加し、前記受信部が前記フラグが付加された前記メッセージを受信した場合、前記フラグが付加された前記メッセージを前記他の情報処理装置に送信しない、
ことを特徴とする付記18〜20のいずれかに記載のメッセージ配信装置。
(付記22) 前記メッセージ配信装置と前記他の情報処理装置とは、Websocketにより互いの接続が確立されており、
前記メッセージ配信装置と前記端末装置とはWebsocketにより接続が確立されていることを特徴とする付記18〜21のいずれかに記載のメッセージ配信装置。
In addition, the following additional remarks are disclosed regarding description of embodiment above.
(Supplementary Note 1) A message delivery system including a plurality of information processing apparatuses connected to a network,
Each information processing device is
When a message including information on a group to which the terminal apparatus belongs is received from a terminal apparatus establishing a connection with the information processing apparatus, the message belongs to the same group as the terminal apparatus that transmitted the message, and the information processing is performed The message is sent to the other terminal device with which the connection with the device is established, and the message is sent to the other information processing device,
When a message transmitted from a terminal apparatus established with a connection with another information processing apparatus is received from the other information processing apparatus, the information processing apparatus belongs to the same group as the terminal apparatus that transmitted the message, and the information processing apparatus Sending the message to a terminal device that has established a connection with
A message delivery system characterized by
(Supplementary Note 2) The message delivery system according to Supplementary note 1, wherein each information processing device individually manages information of a terminal device that has established a connection with the each information processing device.
(Supplementary Note 3) An information management apparatus is provided which manages information of an information processing apparatus in operation among the plurality of information processing apparatuses,
Each of the information processing apparatuses transmits information of the information processing apparatus to the information management apparatus when there is an information processing apparatus which has failed to transmit the message or which has detected disconnection of the connection.
The information management apparatus deletes, from the information of the information processing apparatus in operation, the information of the information processing apparatus that has failed to transmit the message or has detected a disconnection.
The message delivery system according to any one of appendices 1 or 2, characterized in that
(Supplementary Note 4) Each of the information processing devices is
Individually manage information of other information processing apparatuses that have established a connection with the information processing apparatus;
The information of the information processing apparatus which has failed to transmit the message or which has detected the disconnection is deleted from the information of the other information processing apparatus which is individually managed.
The message delivery system according to appendix 3, characterized in that
(Supplementary Note 5) Each of the information processing devices is
Adding a flag indicating that the message is a message transmitted from each information processing apparatus to the message transmitted to the other information processing apparatus;
When the message to which the flag is added is received, the message to which the flag is added is not transmitted to the other information processing apparatus.
The message delivery system according to any one of appendices 1 to 4, characterized in that:
(Supplementary Note 6) The plurality of information processing apparatuses have established connection with each other by Websocket,
11. The message delivery system according to any one of appendices 1 to 5, wherein a connection is established between each of the information processing devices and the terminal device by Websocket.
(Supplementary Note 7) When a message including information on a group to which the terminal device belongs is received from a terminal device in which connection with the own device is established, the terminal device belongs to the same group as the terminal device that transmitted the message, While transmitting the message to the other terminal device with which the connection with the own device is established, the message is transmitted to the other information processing device,
When a message transmitted from a terminal apparatus established with a connection to another information processing apparatus is received from the other information processing apparatus, the terminal apparatus belongs to the same group as the terminal apparatus that transmitted the message, and Sending the message to the terminal device with which the connection is established,
A message delivery program which causes a computer to execute a process.
(Supplementary Note 8) Information management that manages information of the information processing apparatus in operation when there is an information processing apparatus that failed to transmit the message or detected disconnection of the information Send to device,
The message delivery program according to appendix 7, further causing the computer to execute the process.
(Supplementary Note 9) An information processing apparatus that has failed to transmit the message or detects disconnection of the connection is deleted from the information of the other information processing apparatuses individually managed.
8. The message delivery program according to appendix 8, further causing the computer to execute the process.
(Supplementary Note 10) A flag indicating that the message is a message transmitted from an information processing apparatus instead of the terminal apparatus is added to the message transmitted to the other information processing apparatus,
When the message to which the flag is added is received, the message to which the flag is added is not transmitted to the other information processing apparatus.
10. The message delivery program according to any one of appendices 7 to 9, further causing a computer to execute the process.
(Supplementary Note 11) The connection between the self apparatus and the other information processing apparatus is established by Websocket,
The message delivery program according to any one of appendices 7 to 10, wherein the connection between the own apparatus and the terminal apparatus is established by Websocket.
(Supplementary Note 12) When the first information processing apparatus receives, from a terminal apparatus establishing a connection with the first information processing apparatus, a message including information of a group to which the terminal apparatus belongs, the message The message is transmitted to another terminal apparatus belonging to the same group as the terminal apparatus that has transmitted the connection with the first information processing apparatus, and the connection with the first information processing apparatus is established. Sending the message to a second information processing device
The second information processing apparatus belongs to the same group as the terminal apparatus that has transmitted the message, and the connection with the second information processing apparatus is established. Send to the active terminal,
A message delivery method characterized by
(Supplementary Note 13) The first information processing apparatus and the second information processing apparatus individually manage information of a terminal apparatus in which a connection with the own apparatus is established. Message delivery method.
(Supplementary Note 14) The first information processing apparatus may fail to transmit the message among the second information processing apparatuses, or there may be a third information processing apparatus that has detected a disconnection. Transmitting information of the third information processing apparatus to an information management apparatus that manages information of the information processing apparatus in operation;
The information management apparatus deletes the information of the third information processing apparatus from the information of the information processing apparatus in operation.
The message delivery method according to appendix 12 or 13, characterized in that:
(Supplementary Note 15) The first information processing apparatus and the second information processing apparatus individually manage information of other information processing apparatuses that have established a connection with the own apparatus,
The first information processing apparatus deletes the information of the third information processing apparatus from the information of the other information processing apparatus managed individually.
The message delivery method according to claim 14, characterized in that:
(Supplementary Note 16) The first information processing apparatus adds, to the message transmitted to the second information processing apparatus, a flag indicating that the message is a message transmitted from the first information processing apparatus And
When the second information processing apparatus receives the message to which the flag is added, the second information processing apparatus does not transmit the message to which the flag is added to another information processing apparatus.
The message delivery method according to any one of appendices 12 to 15, characterized in that
(Supplementary Note 17) The first information processing apparatus and the second information processing apparatus have established connection with each other by Websocket,
The message distribution method according to any one of appendices 12 to 16, characterized in that a connection is established between the first information processing apparatus and the second information processing apparatus and the terminal apparatus by Websocket.
(Supplementary Note 18) A terminal device that has established a connection with the own device, or a receiving unit that receives a message from another information processing device;
When a message including information on a group to which the terminal apparatus belongs is received from a terminal apparatus in which connection with the own apparatus is established, the terminal apparatus belongs to the same group as the terminal apparatus that transmitted the message, and While transmitting the message to the other terminal device with established connection, the message is transmitted to the other information processing device, and transmitted from the terminal device which has established connection with the other information processing device A transmitting unit that transmits the message to a terminal device that belongs to the same group as the terminal device that transmitted the message and has established a connection with the own device when the message is received from the other information processing apparatus;
A message delivery apparatus comprising:
(Supplementary Note 19) A connection management unit that individually manages information of a terminal device that has established a connection with the own device,
24. The message delivery apparatus according to appendix 18, comprising:
(Supplementary Note 20) If the information processing apparatus has failed to transmit the message or there is an information processing apparatus that has detected disconnection of the information, the transmission section transmits information on the information processing apparatus in operation. Sent to the information management device that manages
The connection management unit deletes, from the information of the other information processing apparatuses individually managed, information of the information processing apparatus which has failed in transmission of the message or detected disconnection of the connection.
24. The message delivery apparatus according to appendix 19, which is characterized in that
(Supplementary Note 21) The transmitting unit adds a flag indicating that the message is a message transmitted from the message distribution device to the message transmitted to the other information processing apparatus, and the receiving unit includes the flag. Does not transmit the message to which the flag is added to the other information processing apparatus when the message to which the is added is received.
24. The message delivery apparatus according to any one of appendices 18 to 20.
(Supplementary Note 22) A connection between the message delivery device and the other information processing device has been established by Websocket,
24. The message delivery apparatus according to any one of appendices 18 to 21, wherein a connection is established between the message delivery apparatus and the terminal apparatus by Websocket.

20 情報管理装置
30、30−1〜30−n ウェブサーバ(情報処理装置)
31 受信部
32 送信部
33 接続管理部
50、50−1〜50−n クライアント装置(端末装置)
100 メッセージ配信システム

20 Information Management Device 30, 30-1 to 30-n Web Server (Information Processing Device)
31 reception unit 32 transmission unit 33 connection management unit 50, 50-1 to 50-n client device (terminal device)
100 message delivery system

Claims (9)

負荷分散装置と第1のネットワークを介して接続され、前記負荷分散装置を介して第2のネットワークに接続された複数の情報処理装置を含むメッセージ配信システムであって、
前記負荷分散装置は、前記第2のネットワークに接続された端末装置を、各情報処理装置の負荷状況に応じて前記複数の情報処理装置に分散して割り当て、
各情報処理装置は、
該情報処理装置との接続が確立している端末装置から、該端末装置が属するグループの情報を付帯したメッセージを受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、該情報処理装置との接続が確立している他の端末装置に前記メッセージを送信するとともに、該情報処理装置との接続が確立している他の情報処理装置に前記メッセージを送信し、
他の情報処理装置との接続が確立している端末装置から送信されたメッセージを前記他の情報処理装置から受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、該情報処理装置との接続が確立している端末装置に前記メッセージを送信する、
ことを特徴とするメッセージ配信システム。
A message distribution system including a plurality of information processing devices connected to a load distribution device via a first network and connected to a second network via the load distribution device ,
The load distribution device distributes and allocates terminal devices connected to the second network to the plurality of information processing devices according to the load status of each information processing device.
Each information processing device is
When a message including information on a group to which the terminal apparatus belongs is received from a terminal apparatus establishing a connection with the information processing apparatus, the message belongs to the same group as the terminal apparatus that transmitted the message, and the information processing is performed The message is transmitted to the other terminal device in which the connection with the device is established, and the message is transmitted to the other information processing device in which the connection with the information processing device is established ,
When a message transmitted from a terminal apparatus established with a connection with another information processing apparatus is received from the other information processing apparatus, the information processing apparatus belongs to the same group as the terminal apparatus that transmitted the message, and the information processing apparatus Sending the message to a terminal device that has established a connection with
A message delivery system characterized by
前記各情報処理装置は、前記各情報処理装置との接続が確立している端末装置の情報を個別に管理することを特徴とする請求項1に記載のメッセージ配信システム。   The message distribution system according to claim 1, wherein each of the information processing devices individually manages information of a terminal device which has established a connection with each of the information processing devices. 前記複数の情報処理装置のうち稼働中の情報処理装置の情報を管理する情報管理装置を備え、
前記各情報処理装置は、前記メッセージの送信に失敗した、または、接続の切断を検出した情報処理装置が存在する場合に、該情報処理装置の情報を前記情報管理装置に送信し、
前記情報管理装置は、前記稼働中の情報処理装置の情報から、前記メッセージの送信に失敗した、または、接続の切断を検出した情報処理装置の情報を削除する、
ことを特徴とする請求項1または2に記載のメッセージ配信システム。
An information management apparatus for managing information of an information processing apparatus in operation among the plurality of information processing apparatuses;
Each of the information processing apparatuses transmits information of the information processing apparatus to the information management apparatus when there is an information processing apparatus which has failed to transmit the message or which has detected disconnection of the connection.
The information management apparatus deletes, from the information of the information processing apparatus in operation, the information of the information processing apparatus that has failed to transmit the message or has detected a disconnection.
The message delivery system according to claim 1 or 2, characterized in that:
前記各情報処理装置は、
該情報処理装置との接続が確立している他の情報処理装置の情報を個別に管理し、
前記メッセージの送信に失敗した、または、接続の切断を検出した情報処理装置の情報を、個別に管理している前記他の情報処理装置の情報から削除する、
ことを特徴とする請求項3に記載のメッセージ配信システム。
Each of the information processing devices is
Individually manage information of other information processing apparatuses that have established a connection with the information processing apparatus;
The information of the information processing apparatus which has failed to transmit the message or which has detected the disconnection is deleted from the information of the other information processing apparatus which is individually managed.
The message delivery system according to claim 3, characterized in that:
前記各情報処理装置は、
前記他の情報処理装置に送信する前記メッセージに、該メッセージが前記各情報処理装置から送信されたメッセージであることを示すフラグを付加し、
前記フラグが付加された前記メッセージを受信した場合、前記フラグが付加された前記メッセージを他の情報処理装置に送信しない、
ことを特徴とする請求項1〜4のいずれか一項に記載のメッセージ配信システム。
Each of the information processing devices is
Adding a flag indicating that the message is a message transmitted from each information processing apparatus to the message transmitted to the other information processing apparatus;
When the message to which the flag is added is received, the message to which the flag is added is not transmitted to another information processing apparatus.
The message delivery system according to any one of claims 1 to 4, characterized in that:
前記複数の情報処理装置は、Websocketにより互いの接続が確立されており、
前記各情報処理装置と前記端末装置とはWebsocketにより接続が確立されていることを特徴とする請求項1〜5のいずれか一項に記載のメッセージ配信システム。
The plurality of information processing apparatuses are connected to each other by Websocket,
The message distribution system according to any one of claims 1 to 5, wherein a connection is established between each of the information processing devices and the terminal device by Websocket.
負荷分散装置と第1のネットワークを介して接続され、前記負荷分散装置を介して第2のネットワークに接続された複数の情報処理装置を含むメッセージ配信システムにおいて、前記第2のネットワークに接続された端末装置のうち、前記負荷分散装置によって各情報処理装置の負荷状況に応じて自装置に割り当てられ、前記自装置との接続が確立している端末装置から、該端末装置が属するグループの情報を付帯したメッセージを受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記自装置との接続が確立している他の端末装置に前記メッセージを送信するとともに、前記自装置との接続が確立している他の情報処理装置に前記メッセージを送信し、
他の情報処理装置との接続が確立している端末装置から送信されたメッセージを前記他の情報処理装置から受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記自装置との接続が確立している端末装置に前記メッセージを送信する、
処理をコンピュータに実行させることを特徴とするメッセージ配信プログラム。
In a message distribution system including a plurality of information processing devices connected to a load distribution device via a first network and connected to a second network via the load distribution device, the message distribution system is connected to the second network. Among the terminal devices, the terminal device assigned to the own device according to the load status of each information processing device by the load distribution device, and from the terminal device with which connection with the own device has been established, information of the group to which the terminal device belongs When an attached message is received, the message is transmitted to another terminal device belonging to the same group as the terminal device that transmitted the message and a connection with the own device is established, and Send the message to another information processing apparatus with which connection is established ,
When a message transmitted from a terminal apparatus established with a connection to another information processing apparatus is received from the other information processing apparatus, the terminal apparatus belongs to the same group as the terminal apparatus that transmitted the message, and Sending the message to the terminal device with which the connection is established,
A message delivery program which causes a computer to execute a process.
負荷分散装置と第1のネットワークを介して接続され、前記負荷分散装置を介して第2のネットワークに接続された第1の情報処理装置及び第2の情報処理装置を含むメッセージ配信システムにおけるメッセージ配信方法であって、
前記第1の情報処理装置が、前記第2のネットワークに接続された端末装置のうち前記負荷分散装置により前記第1の情報処理装置及び前記第2の情報処理装置の負荷状況に応じて前記第1の情報処理装置に割り当てられ、前記第1の情報処理装置との接続が確立している端末装置から該端末装置が属するグループの情報を付帯したメッセージを受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記第1の情報処理装置との接続が確立している他の端末装置に前記メッセージを送信するとともに、前記第1の情報処理装置との接続が確立している第2の情報処理装置に前記メッセージを送信し、
前記第2の情報処理装置が、前記第1の情報処理装置から受信した前記メッセージを、前記メッセージを送信した端末装置と同一のグループに属し、前記第2の情報処理装置との接続が確立している端末装置に送信する、
ことを特徴とするメッセージ配信方法。
Message distribution in a message distribution system including a first information processing apparatus and a second information processing apparatus connected to a load distribution apparatus via a first network and connected to a second network via the load distribution apparatus Method,
The first information processing apparatus, in response to said load status of the second of said first information processing apparatus and the second information processing apparatus by the load balancer of the terminal device connected to the network first The terminal that has transmitted the message when it receives a message with information of a group to which the terminal device belongs from a terminal device that is assigned to the information processing device 1 and has established a connection with the first information processing device The message is transmitted to the other terminal device belonging to the same group as the device and the connection with the first information processing device is established, and the connection with the first information processing device is established. Sending the message to a second information processing device;
The second information processing apparatus belongs to the same group as the terminal apparatus that has transmitted the message, and the connection with the second information processing apparatus is established. Send to the active terminal,
A message delivery method characterized by
負荷分散装置と第1のネットワークを介して接続され、前記負荷分散装置を介して第2のネットワークに接続された複数の情報処理装置を含むメッセージ配信システムにおいて、前記第2のネットワークに接続された端末装置のうち、前記負荷分散装置によって各情報処理装置の負荷状況に応じて自装置に割り当てられ、前記自装置との接続が確立している端末装置、または、他の情報処理装置からメッセージを受信する受信部と、
前記自装置との接続が確立している端末装置から、該端末装置が属するグループの情報を付帯したメッセージを受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記自装置との接続が確立している他の端末装置に前記メッセージを送信するとともに、前記自装置との接続が確立している他の情報処理装置に前記メッセージを送信し、前記他の情報処理装置との接続が確立している端末装置から送信されたメッセージを前記他の情報処理装置から受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記自装置との接続が確立している端末装置に前記メッセージを送信する送信部と、
を備えることを特徴とするメッセージ配信装置。
In a message distribution system including a plurality of information processing devices connected to a load distribution device via a first network and connected to a second network via the load distribution device, the message distribution system is connected to the second network. Among the terminal devices, the load distribution device is assigned to the own device according to the load status of each information processing device, and a message is received from a terminal device that has established a connection with the own device, or another information processing device. A receiving unit to receive,
When a message including information on a group to which the terminal apparatus belongs is received from a terminal apparatus in which connection with the own apparatus is established, the terminal apparatus belongs to the same group as the terminal apparatus that transmitted the message, and While transmitting the message to the other terminal device in which the connection is established, and transmits the message to the other information processing device in which the connection with the own device is established ; When a message transmitted from a terminal apparatus with established connection is received from the other information processing apparatus, the terminal apparatus belonging to the same group as the terminal apparatus that transmitted the message has established a connection with the own apparatus A transmitter for transmitting the message to the terminal device;
A message delivery apparatus comprising:
JP2015140023A 2015-07-13 2015-07-13 Message delivery system, message delivery program, message delivery method, and message delivery apparatus Active JP6540307B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015140023A JP6540307B2 (en) 2015-07-13 2015-07-13 Message delivery system, message delivery program, message delivery method, and message delivery apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015140023A JP6540307B2 (en) 2015-07-13 2015-07-13 Message delivery system, message delivery program, message delivery method, and message delivery apparatus

Publications (2)

Publication Number Publication Date
JP2017021664A JP2017021664A (en) 2017-01-26
JP6540307B2 true JP6540307B2 (en) 2019-07-10

Family

ID=57889674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015140023A Active JP6540307B2 (en) 2015-07-13 2015-07-13 Message delivery system, message delivery program, message delivery method, and message delivery apparatus

Country Status (1)

Country Link
JP (1) JP6540307B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063598A (en) * 1996-08-22 1998-03-06 Nippon Telegr & Teleph Corp <Ntt> Method, system, and server for multicast communication
JP5085282B2 (en) * 2007-11-06 2012-11-28 関西電力株式会社 RADIO COMMUNICATION SYSTEM, INFORMATION COMMUNICATION SYSTEM USING THE SAME, AND POWER SUPPLY MONITORING / CONTROL SYSTEM
JP2015111330A (en) * 2013-12-06 2015-06-18 三菱電機株式会社 Terminal device, communication system, and communication program

Also Published As

Publication number Publication date
JP2017021664A (en) 2017-01-26

Similar Documents

Publication Publication Date Title
KR100545874B1 (en) Method and system for managing log information of user using location servers belonging to pluality of groups
JP5863942B2 (en) Provision of witness service
TW201202957A (en) Automatically synchronizing new contacts across multiple social networking sites
JP2016523416A (en) Account login method, device and system
CN107645386B (en) Method and device for acquiring data resources
US9967412B2 (en) Information processing apparatus, system, and control method for information processing apparatus
US9559995B1 (en) System and method for broadcasting contents from web-based browser to a recipient device using extensible messaging and presence protocol (XMPP)
JP5609608B2 (en) Information processing apparatus, group generation system, group generation method, and program
CN113660168B (en) Multi-center research data processing method and device and server
US9110739B2 (en) Subscribing to multiple resources through a common connection
WO2015172629A1 (en) Message transmission method, apparatus and system
US11797573B2 (en) Dynamic and selective object update for local storage copy based on network connectivity characteristics
US20140297843A1 (en) Apparatus and method for managing presence information
JP6540307B2 (en) Message delivery system, message delivery program, message delivery method, and message delivery apparatus
US20140089430A1 (en) Data-sharing method, terminal, server, and system
CN114025005B (en) Data communication method, system, electronic equipment and storage medium
US9432420B2 (en) Communication system, non-transitory computer-readable medium storing communication program and communication device
JP2006244100A (en) Presence information distribution system
US11496430B2 (en) Configurable offline messaging management using user presence information
US7945644B2 (en) Dynamic initialization method and system of location server
JP2013183203A (en) Control server, control method, and control program
JP2010262411A (en) Information distribution device, information distribution method for the same and program
CN111385324A (en) Data communication method, device, equipment and storage medium
JP4049327B2 (en) Method, system and computer program for multiple instant messaging login sessions
JP2012083924A (en) Notification device, notification system, terminal, notification method, and notification program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190527

R150 Certificate of patent or registration of utility model

Ref document number: 6540307

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150