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 PDFInfo
- 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
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.
しかしながら、従来技術では、このような複数のウェブサーバにより負荷分散を行っているシステムにおける、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.
以下、メッセージ配信システムの一実施形態について、図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
メッセージ配信システム100において、クライアント装置50は、ウェブサーバ30により提供されるウェブサービスを利用するユーザが使用する端末である。クライアント装置50は、例えば、パーソナルコンピュータや、タブレット型端末や、スマートフォンである。ユーザは、クライアント装置50を用いてウェブサービスを利用し、他のユーザにメッセージを送信したり、他のユーザからメッセージを受信したりする。
In the
負荷分散装置10は、ウェブサーバ30−1〜30−nの間で負荷を平準化して特定のウェブサーバへのトラフィックの集中を回避する。負荷分散装置10は、各ウェブサーバの負荷状況に応じて、クライアント装置50−1〜50−nを複数のウェブサーバ30−1〜30−nに分散して割り当てる。
The
情報管理装置20は、ウェブサーバ30−1〜30−nがアクセス可能なデータベースサーバやストレージである。情報管理装置20は、稼働中サーバリストを用いて、複数のウェブサーバ30−1〜30−nのうち稼働中のウェブサーバの情報を管理する。また、情報管理装置20は、グループリストを用いて、ユーザが作成したグループの情報を管理する。
The
ここで、図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
次に、図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
図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
具体的には、図3に示すように、CPU311がプログラムを実行することにより、ウェブサーバ30は、接続管理部33、受信部31、および送信部32として機能する。
Specifically, as shown in FIG. 3, when the
接続管理部33は、ウェブサーバ30とクライアント装置50との接続、および他のウェブサーバ30との接続を管理する。接続管理部33は、他のウェブサーバ30とWebsocketによる接続が確立した場合、接続サーバリストを更新する。また、接続管理部33は、他のウェブサーバ30へのメッセージの送信に失敗した場合や、他のウェブサーバ30との接続が切断した場合に、接続サーバリストを更新する。さらに、接続管理部33は、クライアント装置50とWebsocketによる接続が確立すると接続クライアントリストを更新する。
The
ここで、図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
次に、図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
図3に戻り、受信部31は、ウェブサーバ30に割り当てられたクライアント装置50からログイン情報、グループ作成要求、およびグループ検索要求等を受信する。また、受信部31は、クライアント装置50からメッセージを含むメッセージ情報を受信する。さらに、受信部31は、情報管理装置20から、稼働中サーバリストや、グループリストの検索結果等を受信する。
Returning to FIG. 3, the receiving
送信部32は、ウェブサーバ30の起動時に、自サーバの情報を情報管理装置20に送信する。また、送信部32は、受信部31がクライアント装置50からグループ作成要求を受信した場合、グループ情報を作成し、情報管理装置20に送信する。さらに、送信部32は、受信部31がクライアント装置50からメッセージ情報を受信した場合、接続サーバリストに基づいて、他のウェブサーバ30にメッセージ情報を送信(転送)する。また、送信部32は、接続クライアントリストに基づいて、クライアント装置50にメッセージを送信(転送)する。
The transmitting
次に、ウェブサーバ30において実行される各処理について説明する。
Next, each process performed in the
(起動時処理)
まず、ウェブサーバ30が起動すると実行される起動時処理について説明する。起動時処理は、Websocketにより自サーバと他サーバとの接続を確立するための処理である。図5には、ウェブサーバ30により実行される起動時処理のフローチャートが示されている。
(Startup process)
First, start-up processing that is executed when the
図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
続くステップS12において、受信部31は、稼働中サーバリストを情報管理装置20から受信する。
In the subsequent step S12, the receiving
続くステップS13において、接続管理部33は、稼働中サーバリストを参照し自サーバ以外に稼働中のサーバが存在するか否かを判断する。具体的には、接続管理部33は、稼働中サーバリストに自サーバ以外のIPアドレスが存在するか否かを判断する。ここでの判断が否定された場合、自サーバ以外に稼動しているサーバが存在しないため、ウェブサーバ30はステップS16に移行する。一方、自サーバ以外に稼働中のサーバが存在する場合、ステップS13の判断が肯定され、ステップS14に移行する。
In the subsequent step S13, the
ステップS14に移行すると、接続管理部33は、Websocketにより稼働中の他のウェブサーバ30との接続を確立し、接続サーバリストを更新する。具体的には、接続管理部33は、接続を確立したウェブサーバ30のIPアドレスの情報を接続サーバリスト(図4(c)参照)に格納する。
In step S14, the
続くステップS16において、受信部31は、他のウェブサーバ30からWebsocketによる接続要求を受信するまで待機する。そして、他のウェブサーバ30から接続要求を受信すると、ステップS16の判断が肯定され、ステップS17に移行する。
In the subsequent step S16, the receiving
ステップS17に移行すると、接続管理部33は、接続サーバリストを更新する。具体的には、接続管理部33は、接続要求を送信した他のウェブサーバ30の情報を、接続サーバリストに追加する。
When the process proceeds to step S17, the
続くステップS18において、接続管理部33は、他のウェブサーバ30からの接続要求に応答する。これにより、他のウェブサーバ30との間で、Websocketによる接続が確立する。ステップS18の処理後は、ステップS16に戻る。ステップS16〜S18の処理は、ウェブサーバ30が稼動している間、繰り返し実行される。
In the subsequent step S18, the
ここで、ウェブサーバ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
情報管理装置20は、図7(a)の稼働中サーバリストをウェブサーバ30−1に送信する(ステップS27、図5:S12)。
The
続いて、ウェブサーバ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
情報管理装置20は、図7(b)の稼働中サーバリストをウェブサーバ30−2に送信する(ステップS35、図5:S12)。
The
ここで、図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
その後、ウェブサーバ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
以上の処理により、ウェブサーバ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
図8の処理では、ステップS41において、ウェブサーバ30の受信部31は、クライアント装置50からログイン情報を受信するまで待機している。本実施形態では、ログイン情報は、クライアント装置50のユーザがウェブサービスを利用するためのユーザIDと、パスワードとを含む。そして、クライアント装置50からログイン情報を受信した時点で、ステップS41の判断が肯定され、ステップS43に移行する。
In the process of FIG. 8, in step S <b> 41, the receiving
ステップS43に移行すると、接続管理部33は、ログイン情報が正しいか否かを判断する。具体的には、接続管理部33は、ユーザIDとパスワードとの組み合わせが正しいか否かを判断する。そして、ログイン情報が正しい場合には、ステップS45に移行し、ユーザにウェブサービスへのログインを許可する。一方、ログイン情報が正しくない場合には、ステップS47に移行し、ユーザにログイン情報が正しくない旨を通知する。
After shifting to step S43, the
図8の処理は、ウェブサーバ30が稼動している間、繰り返し実行される。
The process of FIG. 8 is repeatedly performed while the
ここで、クライアント装置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
また、クライアント装置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
これにより、クライアント装置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
(クライアント装置接続処理)
次に、図10のフローチャートを参照して、ウェブサーバ30により実行されるクライアント装置接続処理について説明する。クライアント装置接続処理は、ウェブサーバ30とクライアント装置50との間でWebsocketによる接続を確立する処理である。
(Client device connection process)
Next, the client device connection process executed by the
図10の処理では、まず、ステップS71において、受信部31は、クライアント装置50からグループの作成を要求するグループ作成要求を受信したか否かを判断する。本実施形態では、グループ作成要求は、グループの名称を含む。ここでの判断が肯定された場合、ステップS73に移行する。
In the process of FIG. 10, first, in step S71, the receiving
ステップS73に移行すると、送信部32が、グループ情報を作成する。本実施形態では、送信部32は、作成要求を受けたグループを一意に識別するgroupIDを採番し、グループの名称と、groupIDとを含むグループ情報を作成する。
When the process proceeds to step S73, the
続くステップS75において、送信部32は、作成したグループ情報を情報管理装置20に送信する。
In the subsequent step S75, the
続くステップ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
続くステップS79において、送信部32は、ステップS77で受信したグループの名称と、groupIDとを含むグループ情報をクライアント装置50に送信する。
In the subsequent step S79, the
続くステップS81において、接続管理部33は、グループへの接続を要求するグループ接続要求をクライアント装置50から受信したか否かを判断する。グループ接続要求を受信していない場合、ステップS71に戻る。グループ接続要求を受信した場合、ステップS81の判断が肯定され、ステップS83に移行する。
In the subsequent step S81, the
ステップS83に移行すると、接続管理部33は、Websocketにてクライアント装置50との接続を確立し、接続クライアントリストを更新する。
In step S83, the
ところで、グループ作成要求を受信していない場合、ステップS71の判断が否定され、受信部31は、ステップS85に移行する。
By the way, when the group creation request has not been received, the determination in step S71 is denied, and the
ステップS85に移行すると、受信部31は、グループの検索を要求するグループ検索要求を受信したか否かを判断する。グループ検索要求は、グループを検索するための検索条件を含む。グループ検索要求を受信していない場合、ステップS81に移行するが、受信した場合、ステップS87に移行する。
When the process proceeds to step S85, the receiving
ステップS87に移行すると、送信部32は、検索条件に基づいて情報管理装置20のグループリストを検索する。
At step S87, the
続くステップS89において、受信部31は、情報管理装置20からグループ検索結果を受信する。
In the
続くステップS91において、送信部32が、クライアント装置50にグループ検索結果を送信する。グループ検索結果を受信したクライアント装置50は、クライアント装置50の表示画面に検索結果を表示する。これにより、ユーザは、検索結果に自分が参加したいグループが含まれる場合には、当該グループへの接続をウェブサーバ30に要求することができる。なお、ステップS81以降の処理は前述したとおりであるため、説明を省略する。
In the subsequent step S91, the
図10の処理は、ウェブサーバ30が稼働している間、繰り返し実行される。
The process of FIG. 10 is repeatedly performed while the
ここで、クライアント装置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
図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
情報管理装置20は、グループ情報をグループリストに登録すると、登録結果をウェブサーバ30−1に送信する(ステップS111)。ウェブサーバ30−1は、情報管理装置20から登録結果を受信すると(図10:S77)、グループ情報をクライアント装置50−1に送信する(ステップS113、図10:S79)。
After registering the group information in the group list, the
クライアント装置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
ウェブサーバ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
図13の処理では、ステップS201において、受信部31は、クライアント装置50からメッセージ情報を受信するまで待機している。そして、受信部31がメッセージ情報を受信すると、ステップS201の判断が肯定され、ステップS205に移行する。なお、本実施形態において、メッセージ情報は、メッセージの送信者が参加しているグループの情報と、メッセージとを含む。
In the process of FIG. 13, in step S201, the receiving
ステップS205に移行すると、送信部32は、自サーバとWebsocketにて接続が確立しているクライアント装置50から、メッセージの転送対象となるクライアント装置50を特定する。具体的には、送信部32は、接続クライアントリストにおいて、メッセージを送信したクライアント装置50のユーザと同一のグループに属するユーザを特定する。
When the process proceeds to step S205, the transmitting
続くステップS207において、送信部32は、特定したクライアント装置50にメッセージを転送し、ステップS208に移行する。
In the subsequent step S207, the
ステップS208に移行すると、送信部32は、受信したメッセージ情報にサーバ転送フラグが付加されているか否かを判断する。ここで、サーバ転送フラグとは、当該メッセージ情報がクライアント装置50ではなくウェブサーバ30から転送されてきたメッセージ情報であること示すフラグであり、メッセージ情報がウェブサーバ30間で巡回するのを防ぐために使用される。メッセージ情報にサーバ転送フラグが付加されている場合、ステップS208の判断が肯定され、ステップS201に戻る。一方、メッセージ情報にサーバ転送フラグが付加されていない場合、ステップS208の判断が否定され、ステップS209に移行する。
At step S208, the
ステップS209に移行すると、送信部32は、サーバ転送フラグを付加したメッセージ情報を、他のウェブサーバ30に送信する。具体的には、送信部32は、接続サーバリストに基づいて、自装置とWebsocketにて接続が確立しているウェブサーバ30にサーバ転送フラグを付加したメッセージ情報を送信する。ステップS209の処理を終了すると、ステップS201に戻る。
When the process proceeds to step S209, the
図13の処理は、ウェブサーバ30が稼働している間、繰り返し実行される。
The process of FIG. 13 is repeatedly performed while the
ここで、クライアント装置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
ウェブサーバ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
上述したように、クライアント装置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
ウェブサーバ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
複数のウェブサーバにより負荷分散を行っている従来のシステムでは、各ウェブサーバは、他のウェブサーバに接続されているクライアント装置の情報を持っていない。また、一般的に、負荷分散は負荷分散装置が自動的に行うため、ユーザのクライアント装置が接続されているウェブサーバに、メッセージの送信対象となるユーザのクライアント装置が接続されているとは限らない。したがって、複数のウェブサーバにより負荷分散を行っているシステムが本実施形態の構成を有さない場合、メッセージの送信元のクライアント装置が接続されているウェブサーバとは異なるウェブサーバに接続され、かつ、送信元のクライアント装置と同一のグループに属するクライアント装置に、メッセージを送信することができない。 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
図17の処理では、ステップS301において、送信部32は、メッセージの送信に失敗したウェブサーバ30が存在するか否かを判断する。ここでの判断が肯定された場合、ステップS303に移行する。
In the process of FIG. 17, in step S301, the
ステップS303に移行すると、接続管理部33は、メッセージの送信に失敗したウェブサーバ30を接続サーバリストから削除する。
When the process proceeds to step S303, the
ところで、メッセージの送信に失敗したウェブサーバ30が存在しなかった場合、ステップS301の判断が否定され、ステップS305に移行する。
By the way, when there is no
ステップS305に移行すると、接続管理部33は、他のウェブサーバ30との接続(コネクション)の切断を検出したか否かを判断する。ここでの判断が否定された場合、ステップS301に戻るが、肯定された場合、ステップS307に移行する。
In step S305, the
ステップS307に移行すると、接続管理部33は、接続の切断を検出したウェブサーバ30を、接続サーバリストから削除する。
In the step S307, the
ステップ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
ステップ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
ここで、ウェブサーバ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
図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
なお、ウェブサーバ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
ウェブサーバ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
以上、詳細に説明したように、本実施形態によると、メッセージ配信システム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
また、本実施形態によれば、各ウェブサーバ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
また、本実施形態において、メッセージ配信システムは、ウェブサーバ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
また、本実施形態によれば、ウェブサーバ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
また、本実施形態において、ウェブサーバ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
また、本実施形態において、ウェブサーバ30同士は、Websocketにより接続が確立され、ウェブサーバ30とクライアント装置50とはWebsocketにより接続が確立されている。これにより、複数のウェブサーバ30により負荷分散を行うシステムにおいて、異なるウェブサーバ30に接続されたクライアント装置50間で、Websocketを用いたメッセージングを実現できる。
Further, in the present embodiment, the connection between the
なお、上記実施形態において、ウェブサーバ30は、メッセージ情報の転送対象を特定する場合に、当該メッセージ情報を送信したクライアント装置50を転送対象から除外するようにしてもよい。
In the above embodiment, when specifying the transfer target of the message information, the
なお、上記実施形態においては、情報管理装置20が、稼働中サーバリストおよびグループリストを管理していた。しかしながら、ウェブサーバ30がアクセス可能であれば、負荷分散装置10が、稼働中サーバリストおよびグループリストを管理してもよい。
In the above embodiment, the
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。 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
31
100 message delivery system
Claims (9)
前記負荷分散装置は、前記第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または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により接続が確立されていることを特徴とする請求項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.
他の情報処理装置との接続が確立している端末装置から送信されたメッセージを前記他の情報処理装置から受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記自装置との接続が確立している端末装置に前記メッセージを送信する、
処理をコンピュータに実行させることを特徴とするメッセージ配信プログラム。 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の情報処理装置に割り当てられ、前記第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
前記自装置との接続が確立している端末装置から、該端末装置が属するグループの情報を付帯したメッセージを受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記自装置との接続が確立している他の端末装置に前記メッセージを送信するとともに、前記自装置との接続が確立している他の情報処理装置に前記メッセージを送信し、前記他の情報処理装置との接続が確立している端末装置から送信されたメッセージを前記他の情報処理装置から受信した場合、前記メッセージを送信した端末装置と同一のグループに属し、前記自装置との接続が確立している端末装置に前記メッセージを送信する送信部と、
を備えることを特徴とするメッセージ配信装置。 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:
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)
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 |
-
2015
- 2015-07-13 JP JP2015140023A patent/JP6540307B2/en active Active
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 |