JP6724629B2 - Message delivery system, message delivery program, and message delivery method - Google Patents

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

Info

Publication number
JP6724629B2
JP6724629B2 JP2016146587A JP2016146587A JP6724629B2 JP 6724629 B2 JP6724629 B2 JP 6724629B2 JP 2016146587 A JP2016146587 A JP 2016146587A JP 2016146587 A JP2016146587 A JP 2016146587A JP 6724629 B2 JP6724629 B2 JP 6724629B2
Authority
JP
Japan
Prior art keywords
information processing
message
processing device
connection
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
JP2016146587A
Other languages
Japanese (ja)
Other versions
JP2018018209A (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 JP2016146587A priority Critical patent/JP6724629B2/en
Publication of JP2018018209A publication Critical patent/JP2018018209A/en
Application granted granted Critical
Publication of JP6724629B2 publication Critical patent/JP6724629B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

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

WebSocket(ウェブソケット)は、サーバとクライアント装置とが双方向通信を行うための技術である。Websocketでは、サーバとクライアント装置とは、コネクションを確立した後は、そのコネクションを切断しない限り、データのやり取りをソケット通信で行うことができる。例えば、特許文献1に記載されたサーバでは、Websocketによりサーバに接続された複数のクライアント装置のうち特定のクライアント装置からメッセージを受信すると、当該メッセージで指定されたグループに属する他のクライアント装置にメッセージを転送している。 WebSocket is a technique for bidirectional communication between a server and a client device. In WebSocket, after establishing a connection, the server and the client device can exchange data by 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 other client devices belonging to the group specified by the message. Are being transferred.

ところで、近年、ウェブサービスが大規模化しており、単一のウェブサーバでそのサービスをまかなうことが困難である場合が多い。そのため、大規模なウェブサービスシステムでは、複数のウェブサーバと、それらのウェブサーバの間で負荷を平準化して特定のウェブサーバへのトラフィックの集中を回避するための負荷分散装置とを設置するのが一般的である。 By the way, in recent years, web services have become large in 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 leveling the load among those web servers and avoiding the concentration of traffic to a particular web server are installed. Is common.

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

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

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

一つの態様では、メッセージ配信システムは、負荷分散装置と第1のネットワークを介して接続され、前記負荷分散装置を介して第2のネットワークに接続された第1の情報処理装置と第2の情報処理装置とを含むメッセージ配信システムであって、前記負荷分散装置は、前記第2のネットワークに接続された端末装置を、前記第1の情報処理装置及び前記第2の情報処理装置の負荷状況に応じて前記第1の情報処理装置及び前記第2の情報処理装置に分散して割り当て、前記第1の情報処理装置は、前記第1の情報処理装置との間で接続が確立している第1の端末装置から、該第1の端末装置が属するグループの情報を含むメッセージを受信する第1の受信部と、前記第1の受信部による前記メッセージの受信に応じて、前記第1の情報処理装置との間で接続が確立している端末装置の属するグループ情報を記憶する第1の記憶部を参照して、該メッセージを送信した該第1の端末装置と同一のグループに属し、前記第1の情報処理装置との間で接続が確立している第2の端末装置に前記メッセージを送信するとともに、前記第1の情報処理装置との間で接続が確立している前記第2の情報処理装置に前記メッセージを送信する第1の送信部と、を備え、前記第2の情報処理装置は、前記第1の情報処理装置から前記メッセージを受信する第2の受信部と、前記第2の受信部による前記メッセージの受信に応じて、前記第2の情報処理装置との間で接続が確立している端末装置の属するグループ情報を記憶する第2の記憶部を参照して、前記第1の端末装置と同一のグループに属し、前記第2の情報処理装置との間で接続が確立している第3の端末装置に該メッセージを送信する第2の送信部と、を備える。
In one aspect, a message distribution system is connected to a load balancer via a first network, and is connected to a second network via the load balancer to a first information processing device and second information. A message distribution system including a processing device, wherein the load distribution device sets a terminal device connected to the second network to a load status of the first information processing device and the second information processing device. Accordingly, the first information processing apparatus and the second information processing apparatus are distributed and allocated, and the first information processing apparatus is connected to the first information processing apparatus by the first connection. A first receiving unit for receiving a message including information on a group to which the first terminal unit belongs from the first terminal unit; and the first information in response to the reception of the message by the first receiving unit. with reference to the first storage section for storing group information belongs terminal device a connection is established with the processing device, belonging to the same group as the terminal device first having transmitted the message, the sends the message to the second terminal device that has established connection with the first information processing apparatus, the second connection between the first information processing apparatus is established A first transmission unit that transmits the message to an information processing device, wherein the second information processing device includes a second reception unit that receives the message from the first information processing device; In response to the reception of the message by the second receiving unit, the second storage unit that stores the group information of the terminal device to which the connection with the second information processing device belongs is referred to, and A second transmitting unit that transmits the message to a third terminal device that belongs to the same group as the first terminal device and has a connection established with the second information processing device.

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

一実施形態に係るメッセージ配信システムの構成を概略的に示す図である。It is a figure which shows roughly the structure of the message delivery system which concerns on 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 connected server list. 4D is a diagram showing an example of the data of FIG. 4D, and FIG. 4D is a diagram showing an example of the data of the connected client list. 図5(a)及び図5(b)は、ウェブサーバにより実行されるメッセージ配信処理のフローチャートである。5A and 5B are flowcharts of message delivery processing executed by the web server. メッセージ配信処理を説明するシーケンス図である。It is a sequence diagram explaining a message delivery process. メッセージ配信処理を説明するための図である。It is a figure for demonstrating a message delivery process.

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

図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 distribution 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 distribution devices. ,including. The client devices 50-1 to 50-n and the load balancer 10 are connected via a network 80 such as the Internet. The load balancer 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 otherwise specified. Also, the web server may be simply referred to 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 a 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 by 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 balancer 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 balancer 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は、起動したウェブサーバ30からIPアドレスの情報を受信すると、稼働中サーバリストに受信したIPアドレスを追加し、稼働中サーバリストを、起動したウェブサーバ30に送信する。また、情報管理装置20は、応答がない、あるいは、停止したウェブサーバ30の情報を稼働中のウェブサーバ30から受信し、応答がない、あるいは、停止したウェブサーバ30を稼働中サーバリストから削除する。 The information management device 20 is a database server or storage accessible by the web servers 30-1 to 30-n. The information management device 20 manages the information of the operating web server among the plurality of web servers 30-1 to 30-n using the operating server list. More specifically, when the information management device 20 receives the information of the IP address from the started web server 30, the information management device 20 adds the received IP address to the operating server list and sets the operating server list to the activated web server 30. Send to. Further, the information management device 20 receives the information of the web server 30 that is not responding or has stopped, from the operating web server 30, and deletes the web server 30 that is not responding or has stopped from the operating server list. To do.

ここで、図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 operating server list is a list that manages the IP address of the operating web server among the web servers 30-1 to 30-n, and includes an IP address field as shown in FIG. 4A. Information on the IP address received from the activated web server 30 is stored in the IP address field. The data structure of the operating server list is not limited to that shown in FIG. For example, the operating server list may include a field that stores the name of the web server 30 and a field that stores information on the start date and time.

また、情報管理装置20は、グループリストを用いて、ユーザが作成したグループの情報を管理する。 Further, the information management device 20 manages the information of the group created by the user using the group list.

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

図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の各部として機能させる。 Returning to FIG. 1, the web server 30 is a server for providing a web service to a user. The web server 30 has a hardware configuration as shown in FIG. Specifically, as shown in FIG. 2, the web server 30 includes a CPU (Central Processing Unit) 311, a ROM (Read Only Memory) 312, a RAM (Random Access Memory) 313, and a storage device (HDD: Hard Disk Drive). 314, a network interface 315, and a portable storage medium drive 317 capable of reading the data stored in the portable storage medium 316 are provided. Each component of the web server 30 is connected to the bus 318. The CPU 311 executes a program (including a message delivery program) stored in the ROM 312 or the HDD 314, or a program (including a message delivery program) read from the portable storage medium 316 by the portable storage medium drive 317. , And makes the web server 30 function as each unit in FIG.

具体的には、図3に示すように、CPU311がプログラムを実行することにより、ウェブサーバ30は、Websocket通信部34、接続管理部33、第1受信部31a、第1送信部32a、第2受信部31b、および第2送信部32bとして機能する。なお、第1受信部31a及び第1送信部32aは、CPU311がメッセージ配信プログラムに含まれる対クライアントプログラムを実行することにより実現される。また、第2受信部31b及び第2送信部32bは、CPU311が、メッセージ配信プログラムに含まれる対サーバプログラムを実行することにより実現される。 Specifically, as shown in FIG. 3, the CPU 311 executes the program so that the web server 30 causes the Websocket communication unit 34, the connection management unit 33, the first reception unit 31a, the first transmission unit 32a, and the second transmission unit 32a. It functions as the receiving unit 31b and the second transmitting unit 32b. The first receiving unit 31a and the first transmitting unit 32a are realized by the CPU 311 executing a client program included in the message delivery program. The second receiving unit 31b and the second transmitting unit 32b are realized by the CPU 311 executing the server-to-server program included in the message delivery program.

Websocket通信部34は、クライアント装置50及び他のウェブサーバ30との間でWebSocketによる双方向通信を行うためのインタフェースである。Websocket通信部34は、Websocket接続部341−1〜341−n(nは任意の自然数)を含む。Websocket接続部341−1〜341−nは、ウェブサーバ30に対するクライアント装置50及び他のウェブサーバ30の接続先である。Websocket接続部341−1〜341−nは、クライアント装置50及び他のウェブサーバとの間でWebsocketによる接続が確立すると生成される。後述する第1受信部31a、第1送信部32a、第2受信部31b、及び第2送信部32bは、Websocket接続部341−1〜341−nを介して、クライアント装置50及び他のウェブサーバ30との間でWebsocketによる双方向通信を行う。なお、以後の説明において、特に区別する必要のない限り、Websocket接続部341−1〜341−nをWebsocket接続部341と記載する。 The WebSocket communication unit 34 is an interface for performing two-way WebSocket communication between the client device 50 and another Web server 30. The WebSocket communication unit 34 includes WebSocket connection units 341-1 to 341-n (n is an arbitrary natural number). The Websocket connection units 341-1 to 341-n are connection destinations of the client device 50 and other web servers 30 to the web server 30. The WebSocket connection units 341-1 to 341-n are generated when a WebSocket connection is established between the client device 50 and another Web server. The 1st receiving part 31a, the 1st transmitting part 32a, the 2nd receiving part 31b, and the 2nd transmitting part 32b which are mentioned later are client apparatus 50 and other web servers via Websocket connection parts 341-1-341-n. Two-way communication is performed with WebSocket 30. In the following description, the Websocket connection units 341-1 to 341-n will be referred to as Websocket connection units 341 unless it is necessary to distinguish them.

接続管理部33は、ウェブサーバ30とクライアント装置50との接続、および他のウェブサーバ30との接続を管理する。接続管理部33は、他のウェブサーバ30とWebsocketによる接続が確立した場合、接続サーバリストを更新する。また、接続管理部33は、他のウェブサーバ30へのメッセージの送信に失敗した場合や、他のウェブサーバ30との接続が切断した場合に、接続サーバリストを更新し、当該ウェブサーバ30の情報を情報管理装置20に送信する。さらに、接続管理部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 another web server 30. The connection management unit 33 updates the connection server list when a connection by another Web server 30 by WebSocket is established. In addition, the connection management unit 33 updates the connection server list and updates the connection server list when the message transmission to the other web server 30 fails or when the connection with the other web server 30 is disconnected. The information is transmitted to the information management device 20. Furthermore, the connection management unit 33 updates the connection client list when the connection with the client device 50 by WebSocket is established.

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

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

図3に戻り、第1受信部31aは、Websocketにより接続が確立された、例えばクライアント装置50−1からWebsocket接続部341−1を介してメッセージを含むメッセージ情報を受信する。 Returning to FIG. 3, the first receiving unit 31a receives message information including a message from the client device 50-1 for which a connection has been established by WebSocket, for example, via the WebSocket connecting unit 341-1.

第1送信部32aは、第1受信部31aが、例えばクライアント装置50−1からWebsocket接続部341を介してメッセージ情報を受信した場合、接続クライアントリスト(図4(d))に基づいて、例えばクライアント装置50−2にWebsocket接続部341−2を介してメッセージを送信(転送)するとともに、接続サーバリスト(図4(c))に基づいて、例えばウェブサーバ30−2,30−3にWebsocket接続部341−n−1,341−nを介してメッセージ情報を送信(転送)する。本実施形態において、メッセージ情報には、メッセージを送信したクライアント装置50が属するグループの情報と、メッセージとが含まれる。 When the first receiving unit 31a receives message information from the client device 50-1 via the Websocket connecting unit 341, for example, the first transmitting unit 32a uses, for example, the connected client list (FIG. 4D) to A message is transmitted (transferred) to the client device 50-2 via the WebSocket connection unit 341-2, and based on the connection server list (FIG. 4C), for example, WebSockets are transmitted to the Web servers 30-2 and 30-3. Message information is transmitted (transferred) via the connection units 341-n-1 and 341-n. In the present embodiment, the message information includes the information of the group to which the client device 50 that has transmitted the message belongs and the message.

第2受信部31bは、Websocketにより接続が確立された、例えばウェブサーバ30−2からWebsocket接続部341−n−1を介してメッセージ情報を受信する。 The second receiving unit 31b receives the message information from, for example, the Web server 30-2 whose connection has been established by WebSocket, via the WebSocket connecting unit 341-n-1.

第2送信部32bは、第2受信部31bが、例えばウェブサーバ30−2からWebsocket接続部341−n−1を介してメッセージ情報を受信した場合、接続クライアントリスト(図4(d))に基づいて、例えばクライアント装置50−1,50−2にメッセージを送信(転送)する。なお、第2送信部32bは、第2受信部31bがWebsocket接続部341−n−1を介してウェブサーバ30−2からメッセージ情報を受信した場合、当該メッセージ情報をWebsocket341−nを介してウェブサーバ30−3には転送しない。すなわち、第2送信部32bは、他のウェブサーバ30の接続先であるWebsocket接続部341を介して他のウェブサーバ30からメッセージ情報を受信した場合、当該メッセージ情報を他のウェブサーバ30には転送しない。 When the second receiving unit 31b receives message information from the web server 30-2 via the Websocket connecting unit 341-n-1 for example, the second transmitting unit 32b adds the message information to the connected client list (FIG. 4D). Based on this, for example, the message is transmitted (transferred) to the client devices 50-1 and 50-2. When the second receiving unit 31b receives the message information from the web server 30-2 via the Websocket connection unit 341-n-1, the second transmitting unit 32b sends the message information to the web via the WebSocket 341-n. It is not transferred to the server 30-3. That is, when the second transmission unit 32b receives the message information from the other Web server 30 via the WebSocket connection unit 341 which is the connection destination of the other Web server 30, the second transmission unit 32b transmits the message information to the other Web server 30. Do not transfer.

次に、ウェブサーバ30が実行するメッセージ配信処理について説明する。 Next, the message delivery process executed by the web server 30 will be described.

(メッセージ配信処理)
図5(a)及び図5(b)は、ウェブサーバ30が実行するメッセージ配信処理を示すフローチャートである。より具体的には、図5(a)は、第1受信部31a及び第1送信部32aが実行する処理を示すフローチャートであり、図5(b)は、第2受信部31b及び第2送信部32bが実行する処理を示すフローチャートである。
(Message delivery process)
FIG. 5A and FIG. 5B are flowcharts showing the message delivery processing executed by the web server 30. More specifically, FIG. 5A is a flowchart showing processing executed by the first receiving unit 31a and the first transmitting unit 32a, and FIG. 5B is a flowchart showing the second receiving unit 31b and the second transmitting unit. It is a flowchart which shows the process which the part 32b performs.

(第1受信部31a及び第1送信部32aが実行する処理)
まず、図5(a)を用いて、第1受信部31a及び第1送信部32aが実行する処理について説明する。
(Processing executed by the first receiving unit 31a and the first transmitting unit 32a)
First, the processing executed by the first receiving unit 31a and the first transmitting unit 32a will be described with reference to FIG.

図5(a)の処理では、ステップS401において、第1受信部31aは、クライアント装置50からメッセージ情報を受信するまで待機している。そして、第1受信部31aがメッセージ情報を受信すると、ステップS401の判断が肯定され、ステップS403に移行する。メッセージ情報は、メッセージの送信者が参加しているグループの情報と、メッセージとを含む。 In the process of FIG. 5A, in step S401, the first receiving unit 31a waits until it receives message information from the client device 50. Then, when the first receiving unit 31a receives the message information, the determination in step S401 is affirmed, and the process proceeds to step S403. The message information includes information on the group in which the sender of the message participates and the message.

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

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

続くステップS407において、第1送信部32aは、接続サーバリスト(図4(c))に基づいて、自装置とWebsocketにて接続が確立しているウェブサーバ30にメッセージ情報を転送する。他のウェブサーバ30に転送されるメッセージ情報には、メッセージの送信者が参加しているグループの情報と、メッセージとが含まれる。なお、ステップS405及びS407の実行順序は逆でもよいし、並行して行ってもよい。 In the following step S407, the first transmission unit 32a transfers the message information to the web server 30 which has established a connection with its own device via Websocket based on the connection server list (FIG. 4C). The message information transferred to the other web server 30 includes information on the group in which the sender of the message participates and the message. Note that the execution order of steps S405 and S407 may be reversed or may be performed in parallel.

ステップS407の処理を終了すると、ステップS401に戻る。図5(a)の処理は、ウェブサーバ30が稼働している間、繰り返し実行される。 When the process of step S407 ends, the process returns to step S401. The process of FIG. 5A is repeatedly executed while the web server 30 is operating.

(第2受信部31b及び第2送信部32bが実行する処理)
次に、図5(b)のフローチャートを参照して、第2受信部31b及び第2送信部32bが実行する処理について説明する。
(Processing executed by the second receiver 31b and the second transmitter 32b)
Next, the processing executed by the second receiving unit 31b and the second transmitting unit 32b will be described with reference to the flowchart of FIG.

図5(b)の処理では、ステップS501において、第2受信部31bは、他のウェブサーバ30からメッセージ情報を受信するまで待機している。そして、第2受信部31bがメッセージ情報を受信すると、ステップS501の判断が肯定され、ステップS503に移行する。なお、本実施形態において、メッセージ情報は、メッセージの送信対象となるグループの情報と、メッセージとを含む。 In the process of FIG. 5B, in step S501, the second receiving unit 31b waits until it receives message information from another web server 30. When the second receiving unit 31b receives the message information, the determination in step S501 is affirmative, and the process proceeds to step S503. In addition, in this embodiment, the message information includes the information of the group to which the message is transmitted and the message.

ステップS503に移行すると、第2送信部32bは、自サーバとWebsocketにて接続が確立しているクライアント装置50から、メッセージの転送対象となるクライアント装置50を特定する。具体的には、第2送信部32bは、接続クライアントリスト(図4(d))において、メッセージ情報に含まれるグループと同一のグループに属するユーザを特定する。 When the process proceeds to step S503, the second transmission unit 32b identifies the client device 50 to which the message is to be transferred, from the client devices 50 that have established a connection with the own server via WebSocket. Specifically, the second transmission unit 32b identifies a user who belongs to the same group as the group included in the message information in the connected client list (FIG. 4D).

続くステップS505において、第2送信部32bは、特定したクライアント装置50にメッセージを転送する。このとき、第2送信部32bは、他のウェブサーバ30には、メッセージ情報を転送しない。これにより、メッセージ情報がウェブサーバ30間を巡回するのを防止することができる。 In subsequent step S505, the second transmission unit 32b transfers the message to the specified client device 50. At this time, the second transmission unit 32b does not transfer the message information to the other web server 30. This can prevent the message information from circulating between the web servers 30.

ステップS505の処理を終了すると、ステップS501に戻る。図5(b)の処理は、ウェブサーバ30が稼働している間、繰り返し実行される。 When the process of step S505 ends, the process returns to step S501. The process of FIG. 5B is repeatedly executed while the web server 30 is operating.

ここで、クライアント装置50−1のユーザAがメッセージを送信する場合を例として、各装置が実行する処理について、図6のシーケンス図、及び、各装置の接続関係を模式的に示す図7を用いて説明する。 Here, taking the case where the user A of the client device 50-1 transmits a message as an example, the sequence diagram of FIG. 6 and the process diagram of FIG. 7 showing the connection relationship of each device for the processing executed by each device. It will be explained using.

図7は、クライアント装置50とウェブサーバ30との接続関係を模式的に示すものであり、ウェブサーバ30が備える接続管理部33、接続サーバリスト、接続クライアントリスト、第1受信部31a、第1送信部32a、第2受信部31b、及び第2送信部32bの図示を省略している。 FIG. 7 schematically shows the connection relationship between the client device 50 and the web server 30, and the connection management unit 33, the connection server list, the connection client list, the first reception unit 31a, and the first management unit 33 included in the web server 30. Illustration of the transmitter 32a, the second receiver 31b, and the second transmitter 32b is omitted.

図7のメッセージ配信システムにおいて、ウェブサーバ30−1は、Websocket接続部341−1〜341−4をそれぞれ用いて、ユーザA、ユーザC、ユーザD及びユーザEがそれぞれ利用するクライアント装置50−1,50−3,50−4,50−5とWebsocketによる接続を確立している。ユーザA、ユーザC、ユーザD及びユーザEが属するグループのgroupIDは、それぞれ、“0001”、“0001”、“0002”、及び“0001”である。さらに、ウェブサーバ30−1は、Websocket接続部341−n及び341−n−1を用いて、ウェブサーバ30−2及びウェブサーバ30−3のそれぞれとWebsocketによる接続を確立している。 In the message delivery system of FIG. 7, the web server 30-1 uses the Websocket connection units 341-1 to 341-4, respectively, and the client device 50-1 used by the user A, the user C, the user D, and the user E, respectively. , 50-3, 50-4, 50-5, and WebSocket connection are established. The groupIDs of the groups to which the user A, the user C, the user D, and the user E belong are “0001”, “0001”, “0002”, and “0001”, respectively. Further, the web server 30-1 uses the Websocket connection units 341-n and 341-n-1 to establish a Websocket connection with each of the web server 30-2 and the web server 30-3.

また、ウェブサーバ30−2は、Websocket接続部341−1〜341―4をそれぞれ用いて、ユーザB、ユーザF、ユーザG、及びユーザHがそれぞれ利用するクライアント装置50−2,50−6,50−7,50−8とWebsocketによる接続を確立している。ユーザB、ユーザF、ユーザG、及びユーザHが属するグループのgroupIDは、それぞれ、“0001”、“0002”、“0002”及び“0003”である。また、ウェブサーバ30−2は、Websocket接続部341―n−1及び341−nを用いて、ウェブサーバ30−1及び30−3のそれぞれとWebsocketによる接続を確立している。 Further, the web server 30-2 uses the Websocket connection units 341-1 to 341-4, respectively, and the client devices 50-2, 50-6, which are used by the user B, the user F, the user G, and the user H, respectively. The connection by 50-7 and 50-8 by WebSocket is established. The groupIDs of the groups to which the user B, the user F, the user G, and the user H belong are “0001”, “0002”, “0002”, and “0003”, respectively. Further, the web server 30-2 uses the WebSocket connection units 341-n-1 and 341-n to establish WebSocket connections with the web servers 30-1 and 30-3, respectively.

図6において、クライアント装置50−1のユーザAが、メッセージ送信処理を行うと(ステップS411)、クライアント装置50−1は、メッセージ情報をウェブサーバ30−1の第1受信部31aに送信する(ステップS413)。ここで、ユーザAが、“状況を教えてください”とのメッセージを送信したとする。この場合、クライアント装置50−1は、例えば、ユーザAが参加するグループのgroupID“0001”と、メッセージ(message)“状況を教えてください”とを含むメッセージ情報をウェブサーバ30−1に送信する。 In FIG. 6, when the user A of the client device 50-1 performs the message transmission process (step S411), the client device 50-1 transmits the message information to the first reception unit 31a of the web server 30-1 ( Step S413). Here, it is assumed that the user A sends a message “Tell me about the situation”. In this case, the client device 50-1 transmits, to the web server 30-1, message information including, for example, a groupID “0001” of a group in which the user A participates and a message (message) “Please tell me the situation”. ..

ウェブサーバ30−1の第1受信部31aがメッセージ情報を受信すると(図5(a):S401/YES)、第1送信部32aがメッセージを転送するクライアント装置50を特定する(ステップS417、図5(a):S403)。ウェブサーバ30−1は、接続クライアントリスト(図4(d))を参照して、メッセージ情報に含まれるgroupID“0001”で識別されるグループに属するユーザを特定する。図7に示すメッセージ配信システムにおいて、groupID“0001”で識別されるグループに属するユーザは、ユーザA、ユーザC、及びユーザEである。したがって、ウェブサーバ30−1は、クライアント装置50−1,50−3,及び50−5をメッセージの転送対象として特定する。 When the first receiving unit 31a of the web server 30-1 receives the message information (FIG. 5A: S401/YES), the first transmitting unit 32a specifies the client device 50 to which the message is transferred (step S417, FIG. 5(a):S403). The web server 30-1 identifies a user who belongs to the group identified by the groupID “0001” included in the message information, with reference to the connected client list (FIG. 4D). In the message delivery system shown in FIG. 7, the users belonging to the group identified by groupID “0001” are user A, user C, and user E. Therefore, the web server 30-1 identifies the client devices 50-1, 50-3, and 50-5 as message transfer targets.

ウェブサーバ30−1の第1送信部32aは、特定したクライアント装置50にメッセージを転送する(ステップS419、図5(a):S405)。図7のメッセージ配信システムでは、ウェブサーバ30−1は、クライアント装置50−1,50−3,及び50−5にメッセージ情報に含まれるメッセージ“状況を教えてください”を送信する。 The first transmission unit 32a of the web server 30-1 transfers the message to the specified client device 50 (step S419, FIG. 5A: S405). In the message delivery system of FIG. 7, the web server 30-1 sends the message “tell me the situation” included in the message information to the client devices 50-1, 50-3, and 50-5.

さらにウェブサーバ30−1の第1送信部32aは、自装置とWebsocketにて接続が確立しているウェブサーバ30−2及び30−3の第2受信部31bにメッセージ情報を転送する(ステップS421、図5(a):S407)。 Furthermore, the first transmission unit 32a of the web server 30-1 transfers the message information to the second reception units 31b of the web servers 30-2 and 30-3, which have established a connection with the own device via Websocket (step S421). , FIG. 5(a): S407).

ウェブサーバ30−2の第2送信部32bは、第2受信部31bによりメッセージ情報を受信すると(図5(b):S501/YES)、メッセージを転送するクライアント装置50を特定する(ステップS423、図5(b):S503)。ここで、図7に示すメッセージ配信システムにおいて、メッセージ情報に含まれるgroupID“0001”で識別されるグループに属するユーザは、ユーザBである。したがって、ウェブサーバ30−2は、ユーザBのクライアント装置50−2を、メッセージの転送対象として特定する。 When the second reception unit 31b receives the message information (FIG. 5B: S501/YES), the second transmission unit 32b of the web server 30-2 specifies the client device 50 to which the message is to be transferred (step S423, FIG. 5B: S503). Here, in the message delivery system shown in FIG. 7, the user belonging to the group identified by the groupID “0001” included in the message information is the 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の第2送信部32bは、特定されたクライアント装置50−2にメッセージを転送する(ステップS425、図5(b):S505)。メッセージを受信したクライアント装置50−2は、メッセージを表示する(ステップS427)。これにより、ユーザAのクライアント装置50−1が接続されたウェブサーバ30−1とは異なるウェブサーバ30−2に接続されたクライアント装置50−2のユーザBに、ユーザAからのメッセージを配信することができる。なお、ウェブサーバ30−2の第2送信部32bは、ウェブサーバ30−3にはメッセージ情報を転送しない。これにより、ウェブサーバ30−1〜30−3間でメッセージ情報が巡回するのを防止することができる。 The second transmission unit 32b of the web server 30-2 transfers the message to the specified client device 50-2 (step S425, FIG. 5B: S505). The client device 50-2 having received the message displays the message (step S427). Thereby, the message from the user A is delivered to 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. be able to. The second transmission unit 32b of the web server 30-2 does not transfer the message information to the web server 30-3. This can prevent the message information from circulating among the web servers 30-1 to 30-3.

以上、詳細に説明したように、本実施形態に係るメッセージ配信システムは、自装置との間で接続が確立しているクライアント装置50−1(第1の端末装置)から、クライアント装置50−1が属するグループの情報を含むメッセージを受信する第1受信部31aと、第1受信部31aによるメッセージの受信に応じて、自装置との間で接続が確立しているクライアント装置50の属するグループ情報を記憶する接続クライアントリストを参照して、メッセージを送信したクライアント装置50−1と同一のグループに属し、自装置との間で接続が確立しているクライアント装置50−1,50−3,50−5(第2の端末装置)にメッセージを送信するとともに、自装置との間で接続が確立しているウェブサーバ30−2,30−3(第2の情報処理装置)にメッセージを送信する第1送信部32aと、を備えるウェブサーバ30−1(第1の情報処理装置)と、ウェブサーバ30−1からメッセージを受信する第2受信部31bと、第2受信部31bによるメッセージの受信に応じて、自装置との間で接続が確立しているクライアント装置50の属するグループ情報を記憶する接続クライアントリストを参照して、クライアント装置50−1と同一のグループに属し、該自装置との間で接続が確立しているクライアント装置50−2(第3の端末装置)にメッセージを送信する第2送信部32bと、を備えるウェブサーバ30−2と、を含んでいる。これにより、複数のウェブサーバ30−1〜30−nにより負荷分散を行っているシステムにおいて、例えば、ウェブサーバ30−1に接続されたクライアント装置50−1から送信されたメッセージを、ウェブサーバ30−1とは異なるウェブサーバ30−2に接続され、かつ、クライアント装置50−1と同一のグループに属するクライアント装置50−2に送信することができる。また、ウェブサーバ30−2は、第2受信部31bによりメッセージ情報を受信した場合、メッセージ情報を他のウェブサーバ30−3に送信しない。これにより、メッセージがウェブサーバ30間で巡回するのを防止することができる。 As described above in detail, in the message delivery system according to the present exemplary embodiment, the client device 50-1 (first terminal device), which has established a connection with the device itself, moves from the client device 50-1 to the client device 50-1. A first receiving unit 31a that receives a message including information of a group to which the user belongs, and group information of the client device 50 to which a connection is established with the own device in response to the reception of the message by the first receiving unit 31a. Client devices 50-1, 50-3, 50 that belong to the same group as the client device 50-1 that has sent the message and have established a connection with the own device by referring to the connected client list that stores -5 (second terminal device), and also sends a message to the web servers 30-2 and 30-3 (second information processing device) with which connection is established with the device itself. A web server 30-1 (first information processing device) including a first transmission unit 32a, a second reception unit 31b that receives a message from the web server 30-1, and a message reception by the second reception unit 31b. Accordingly, the client device 50-1 refers to the connected client list that stores the group information of the client device 50 to which the connection has been established, and belongs to the same group as the client device 50-1. The web server 30-2 includes a second transmission unit 32b that transmits a message to the client device 50-2 (third terminal device) with which a connection has been established between them. As a result, in the system in which the load is distributed by the plurality of web servers 30-1 to 30-n, for example, the message transmitted from the client device 50-1 connected to the web server 30-1 is transmitted to the web server 30-1. It can be transmitted to the client device 50-2 which is connected to the web server 30-2 different from -1 and belongs to the same group as the client device 50-1. Further, when the second receiving unit 31b receives the message information, the web server 30-2 does not transmit the message information to another web server 30-3. This can prevent the message from circulating among the web servers 30.

また、本実施形態に係るメッセージ配信システムは、ネットワークに接続された複数のウェブサーバ30−1〜30−nを含み、例えばウェブサーバ30−2は、クライアント装置50の接続先であるWebsocket接続部341−1を介してメッセージ情報を受信した場合、当該メッセージ情報をウェブサーバ30−1,30−3に転送し、ウェブサーバ30−1の接続先であるWebsocket341−n−1を介してメッセージ情報を受信した場合、当該メッセージ情報をWebsocket341−nを介してウェブサーバ30−3には転送しない。これにより、ウェブサーバ30間でメッセージ情報が巡回するのを防止することができる。 Further, the message delivery system according to the present embodiment includes a plurality of web servers 30-1 to 30-n connected to the network. For example, the web server 30-2 is a Websocket connection unit that is a connection destination of the client device 50. When the message information is received via the 341-1, the message information is transferred to the web servers 30-1 and 30-3, and the message information is transmitted via the Web socket 341-n-1 which is the connection destination of the web server 30-1. When the message is received, the message information is not transferred to the web server 30-3 via the WebSocket 341-n. This can prevent the message information from circulating between the web servers 30.

なお、上記実施形態において、ウェブサーバ30は、メッセージ情報の転送対象を特定する場合に、当該メッセージ情報を送信したクライアント装置50を転送対象から除外するようにしてもよい。 In the above-described 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 describing the processing contents of the functions that the processing device should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing content can be recorded in a computer-readable recording medium (excluding a carrier wave).

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

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。 The computer that executes the program stores, for example, the program recorded in 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 own 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 according to the program. In addition, the computer can also sequentially execute processing according to the received program each time the program is transferred from the server computer.

上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。 The embodiment described above is a preferred embodiment of the present 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.

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

20 Information Management Device 30, 30-1 to 30-n Web Server (Information Processing Device)
31a 1st receiving part (1st receiving part)
31b Second receiver (second receiver)
32a First transmitter (first transmitter, third transmitter)
32b Second transmitter (second transmitter)
33 connection management unit 50, 50-1 to 50-n client device (terminal device)
100 message delivery system 341, 341-1 to 341-n Websocket connection unit (connection destination)

Claims (6)

負荷分散装置と第1のネットワークを介して接続され、前記負荷分散装置を介して第2のネットワークに接続された第1の情報処理装置と第2の情報処理装置とを含むメッセージ配信システムであって、
前記負荷分散装置は、前記第2のネットワークに接続された端末装置を、前記第1の情報処理装置及び前記第2の情報処理装置の負荷状況に応じて前記第1の情報処理装置及び前記第2の情報処理装置に分散して割り当て、
前記第1の情報処理装置は、
前記第1の情報処理装置との間で接続が確立している第1の端末装置から、該第1の端末装置が属するグループの情報を含むメッセージを受信する第1の受信部と、
前記第1の受信部による前記メッセージの受信に応じて、前記第1の情報処理装置との間で接続が確立している端末装置の属するグループ情報を記憶する第1の記憶部を参照して、該メッセージを送信した該第1の端末装置と同一のグループに属し、前記第1の情報処理装置との間で接続が確立している第2の端末装置に前記メッセージを送信するとともに、前記第1の情報処理装置との間で接続が確立している前記第2の情報処理装置に前記メッセージを送信する第1の送信部と、
を備え
前記第2の情報処理装置は、
前記第1の情報処理装置から前記メッセージを受信する第2の受信部と、
前記第2の受信部による前記メッセージの受信に応じて、前記第2の情報処理装置との間で接続が確立している端末装置の属するグループ情報を記憶する第2の記憶部を参照して、前記第1の端末装置と同一のグループに属し、前記第2の情報処理装置との間で接続が確立している第3の端末装置に該メッセージを送信する第2の送信部と、
を備える
メッセージ配信システム。
A message distribution system including a first information processing device and a second information processing device connected to a load distribution device via a first network and connected to a second network via the load distribution device. hand,
The load balancer sets the terminal devices connected to the second network to the first information processing device and the first information processing device according to the load status of the first information processing device and the second information processing device. Distributed to two information processing devices,
The first information processing device is
A first receiving unit that receives a message including information on a group to which the first terminal device belongs from a first terminal device that has established a connection with the first information processing device;
In response to the reception of the message by the first receiving unit, refer to the first storage unit that stores group information to which the terminal device that has established a connection with the first information processing device belongs. belongs to a group of terminals the same first that sent the message, sends the message to the second terminal apparatus that connection is established between said first information processing apparatus, wherein a first transmission unit that transmits the message to the second information processing apparatus to which a connection has been established between the first information processing apparatus,
Equipped with
The second information processing device is
A second receiving unit that receives the message from the first information processing device;
In response to the reception of the message by the second receiving unit, refer to the second storage unit that stores the group information of the terminal device that has established a connection with the second information processing device. A second transmitting unit that transmits the message to a third terminal device that belongs to the same group as the first terminal device and has a connection established with the second information processing device,
Equipped with a,
Message delivery system.
前記第2の情報処理装置は、
前記第2の情報処理装置との間で接続が確立している第3の端末装置から、該第3の端末装置が属するグループの情報を含むメッセージを受信する第3の受信部と、
前記第3の受信部による前記メッセージの受信に応じて、前記第2の情報処理装置との間で接続が確立している端末装置の属するグループ情報を記憶する前記第2の記憶部を参照して、該メッセージを送信した該第3の端末装置と同一のグループに属し、前記第2の情報処理装置との間で接続が確立している第4の端末装置に前記メッセージを送信するとともに、前記第2の情報処理装置との間で接続が確立している第3の情報処理装置に前記メッセージを送信する第3の送信部と、
を備えることを特徴とする請求項1に記載のメッセージ配信システム。
The second information processing device is
A third receiving unit that receives a message including information on a group to which the third terminal device belongs from a third terminal device that has established a connection with the second information processing device;
In response to the reception of the message by the third receiving unit, reference is made to the second storage unit that stores group information to which the terminal device that has established a connection with the second information processing device belongs. And sends the message to a fourth terminal device that belongs to the same group as the third terminal device that sent the message and that has a connection established with the second information processing device, A third transmission unit that transmits the message to a third information processing apparatus that has established a connection with the second information processing apparatus;
The message delivery system according to claim 1, further comprising:
前記第1の情報処理装置の前記第1の送信部は、
前記第1の受信部が前記第1の端末装置からメッセージを受信した場合、前記第1の情報処理装置と接続が確立されている他の情報処理装置に前記メッセージ転送し、
前記第1の受信部が前記他の情報処理装置からメッセージを受信した場合、前記他の情報処理装置には前記メッセージを転送しない、
請求項1または請求項2に記載のメッセージ配信システム。
The first transmission unit of the first information processing device,
When the first receiving unit receives a message from the first terminal device, the message is transferred to another information processing device having a connection established with the first information processing device ,
When the first receiving unit receives a message from the other information processing apparatus, the message is not transferred to the other information processing apparatus ,
The message delivery system according to claim 1 or 2 .
前記第1の送信部は、前記第1の受信部による前記メッセージの受信に応じて、自装置との間で接続が確立している情報処理装置の情報を記憶する前記第1の記憶部を参照して、該自装置との間で接続が確立している前記第2の情報処理装置に前記メッセージを送信する、 The first transmission unit stores the first storage unit that stores information of the information processing device that has established a connection with itself in response to the reception of the message by the first reception unit. With reference to the message, the message is transmitted to the second information processing device that has established a connection with the device itself.
請求項1から請求項3のいずれか1項記載のメッセージ配信システム。The message delivery system according to any one of claims 1 to 3.
負荷分散装置と第1のネットワークを介して接続され、前記負荷分散装置を介して第2のネットワークに接続された第1の情報処理装置と第2の情報処理装置とを含むメッセージ配信システムにおいて、前記負荷分散装置が、前記第2のネットワークに接続された端末装置を、前記第1の情報処理装置及び前記第2の情報処理装置の負荷状況に応じて前記第1の情報処理装置及び前記第2の情報処理装置に分散して割り当てる場合に、コンピュータを前記第1の情報処理装置又は前記第2の情報処理装置として機能させるメッセージ配信プログラムであって、
前記第1の情報処理装置として機能させる場合には、前記コンピュータを、
自装置との間で接続が確立している第1の端末装置から、該第1の端末装置が属するグループの情報を含むメッセージを受信する第1の受信部、および
前記第1の受信部による前記メッセージの受信に応じて、自装置との間で接続が確立している端末装置の属するグループ情報を記憶する第1の記憶部を参照して、該メッセージを送信した該第1の端末装置と同一のグループに属し、該自装置との間で接続が確立している第2の端末装置に前記メッセージを送信するとともに、該自装置との間で接続が確立している前記第2の情報処理装置に前記メッセージを送信する第1の送信部、
として機能させ、
前記第2の情報処理装置として機能させる場合には、前記コンピュータを、
自装置との間で接続が確立している前記第1の情報処理装置から、他のメッセージを受信する第2の受信部、および
前記第2の受信部による前記他のメッセージの受信に応じて、自装置との間で接続が確立している端末装置の属するグループ情報を記憶する記憶部を参照して、前記第1の端末装置と同一のグループに属し、該自装置との間で接続が確立している第3の端末装置に該他のメッセージを送信する第2の送信部、として機能させる、
メッセージ配信プログラム。
In a message distribution system including a first information processing device and a second information processing device, which are connected to a load balancer via a first network and are connected to a second network via the load balancer, The load balancer sets the terminal device connected to the second network to the first information processing device and the first information processing device according to the load status of the first information processing device and the second information processing device. A message distribution program that causes a computer to function as the first information processing device or the second information processing device when distributedly allocated to two information processing devices,
When the computer is caused to function as the first information processing device,
A first receiving unit that receives a message including information on a group to which the first terminal device belongs from a first terminal device that has established a connection with the own device; and the first receiving unit. In response to the reception of the message, the first storage device that transmits the message with reference to the first storage unit that stores the group information of the terminal device to which the connection is established with the self device. belonging to the same group as, sends the message to the second terminal device that has established connection with the the free-device, the second being a connection is established between the free-device A first transmission unit that transmits the message to the information processing device,
Function as
When the computer is made to function as the second information processing device,
In response to a second reception unit that receives another message from the first information processing device that has established a connection with the own device, and a reception of the other message by the second reception unit. , Referring to the storage unit that stores the group information of the terminal device to which the connection is established with the own device, belongs to the same group as the first terminal device, and connects with the own device The second transmission unit for transmitting the other message to the established third terminal device ,
Message delivery program.
負荷分散装置と第1のネットワークを介して接続され、前記負荷分散装置を介して第2のネットワークに接続された第1の情報処理装置と第2の情報処理装置とを含むメッセージ配信システムにおいて、
前記第1の情報処理装置が、前記第2のネットワークに接続された端末装置のうち、前記第1の情報処理装置及び前記第2の情報処理装置の負荷状況に応じて前記負荷分散装置により前記第1の情報処理装置に割り当てられ、前記第1の情報処理装置との間で接続が確立している第1の端末装置から、該第1の端末装置が属するグループの情報を含むメッセージを第1の受信部により受信した場合、前記第1の情報処理装置との間で接続が確立している端末装置の属するグループ情報を記憶する第1の記憶部を参照して、該メッセージを送信した該第1の端末装置と同一のグループに属し、前記第1の情報処理装置との間で接続が確立している第2の端末装置に前記メッセージを送信するとともに、前記第2の情報処理装置に前記メッセージを送信し、
前記第2の情報処理装置が、前記第1の情報処理装置から前記メッセージを受信する第2の受信部により前記メッセージを受信した場合、前記第2のネットワークに接続された端末装置のうち、前記第1の情報処理装置及び前記第2の情報処理装置の負荷状況に応じて前記負荷分散装置により前記第2の情報処理装置に割り当てられ、前記第2の情報処理装置との間で接続が確立している端末装置の属するグループ情報を記憶する第2の記憶部を参照して、前記第1の端末装置と同一のグループに属し、該自装置との間で接続が確立している第3の端末装置に該メッセージを送信する、
ことを特徴とするメッセージ配信方法。
In a message distribution system including a first information processing device and a second information processing device, which are connected to a load balancer via a first network and are connected to a second network via the load balancer,
Wherein said first information processing apparatus, of the second terminal device connected to the network, by the load balancer in accordance with the load status of the first information processing apparatus and the second information processing apparatus The first terminal device, which is assigned to the first information processing device and has a connection established with the first information processing device, sends a message including information of a group to which the first terminal device belongs to the first terminal device. When it is received by the first receiving unit, the message is transmitted by referring to the first storage unit that stores the group information of the terminal device to which the connection with the first information processing device belongs. belonging to the terminal device and the same group of first, it sends the message to the second terminal device that has established connection between said first information processing apparatus, the second information processing apparatus Send the message to
When the second information processing device receives the message by the second receiving unit that receives the message from the first information processing device, among the terminal devices connected to the second network, The load balancer allocates to the second information processing device according to the load status of the first information processing device and the second information processing device, and a connection is established with the second information processing device. A third storage unit that refers to the second storage unit that stores the group information of the terminal device that belongs to the first terminal device that belongs to the same group as the first terminal device and that has established a connection with the own device. Send the message to the terminal device of
A message delivery method characterized by the following.
JP2016146587A 2016-07-26 2016-07-26 Message delivery system, message delivery program, and message delivery method Active JP6724629B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016146587A JP6724629B2 (en) 2016-07-26 2016-07-26 Message delivery system, message delivery program, and message delivery method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016146587A JP6724629B2 (en) 2016-07-26 2016-07-26 Message delivery system, message delivery program, and message delivery method

Publications (2)

Publication Number Publication Date
JP2018018209A JP2018018209A (en) 2018-02-01
JP6724629B2 true JP6724629B2 (en) 2020-07-15

Family

ID=61076647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016146587A Active JP6724629B2 (en) 2016-07-26 2016-07-26 Message delivery system, message delivery program, and message delivery method

Country Status (1)

Country Link
JP (1) JP6724629B2 (en)

Also Published As

Publication number Publication date
JP2018018209A (en) 2018-02-01

Similar Documents

Publication Publication Date Title
JP7375203B2 (en) Account access methods and devices, storage media, and electronic devices
JP5847185B2 (en) Content sharing method and apparatus using group change information in content-centric network environment
CN104852972A (en) Method for host selection based on discovered NAT type
CN110719221A (en) Instant messaging method, device, equipment and storage medium
US9967412B2 (en) Information processing apparatus, system, and control method for information processing apparatus
TW200952516A (en) Load distribution system, load distribution method and authentication server
CN103098437B (en) Based on call session server and the Message routing system of selection of SIP
CN102624916A (en) Method, node manager and system for load balancing in cloud computing system
KR20110137917A (en) Apparatus and method for composing personal network using pn routing table
US11843642B1 (en) Serverless signaling in peer-to-peer session initialization
US9503485B1 (en) Connecting communicating devices in a multi-server communication system
JP5593359B2 (en) COMMUNICATION CONTROL DEVICE, MESSAGE TRANSFER METHOD, AND MESSAGE TRANSFER PROGRAM
JP2006221423A (en) Data distribution method and device and storage medium
CN103503421A (en) SCTP association endpoint relocation in a load balancing system
JP2020521388A (en) Packet transmission method and apparatus
US20120265871A1 (en) Multicast, client/service-attribute resolution
JP2014038483A (en) Data distribution system, data distribution method, and program
US9936011B2 (en) Distributed database, method of sharing data, program storing medium, and apparatus for a distributed database
CN109246024A (en) Load sharing method, device, terminal device and storage medium in a kind of networking
US9473430B2 (en) Method and system for group number-based microblog aggregation
JP6724629B2 (en) Message delivery system, message delivery program, and message delivery method
EP3481099B1 (en) Load balancing method and associated device
KR20090006504A (en) Apparatus and method for providing p2p service in ip multimedia subsystem
JP2017139567A (en) Terminal, relay device selection apparatus, communication method, relay device selection method and program
JP2019149015A (en) Server device, information processor, information processing method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200417

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: 20200526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200608

R150 Certificate of patent or registration of utility model

Ref document number: 6724629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150