[go: up one dir, main page]

JP5870079B2 - Network system, communication method, electronic device, always-on server, program - Google Patents

Network system, communication method, electronic device, always-on server, program Download PDF

Info

Publication number
JP5870079B2
JP5870079B2 JP2013244543A JP2013244543A JP5870079B2 JP 5870079 B2 JP5870079 B2 JP 5870079B2 JP 2013244543 A JP2013244543 A JP 2013244543A JP 2013244543 A JP2013244543 A JP 2013244543A JP 5870079 B2 JP5870079 B2 JP 5870079B2
Authority
JP
Japan
Prior art keywords
group
server
always
data
client
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.)
Expired - Fee Related
Application number
JP2013244543A
Other languages
Japanese (ja)
Other versions
JP2015103122A (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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2013244543A priority Critical patent/JP5870079B2/en
Priority to CN201410694099.XA priority patent/CN104683433B/en
Priority to US14/555,652 priority patent/US20150149523A1/en
Publication of JP2015103122A publication Critical patent/JP2015103122A/en
Application granted granted Critical
Publication of JP5870079B2 publication Critical patent/JP5870079B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、電子機器間の常時接続の技術に関し、特にサーバと複数のクライアントとの間の常時接続を利用した通信技術に関する。   The present invention relates to a technique for always-on connection between electronic devices, and more particularly to a communication technique using a always-on connection between a server and a plurality of clients.

従来から、データを送受信するための様々な技術が知られている。たとえば、特開2007−157085号公報(特許文献1)には、SIPサーバ共有モジュール、SIPメッセージ中継方式、プログラムが開示されている。特開2007−157085号公報(特許文献1)によると、メッセージ送信元グループ識別部は端末が送信したSIPメッセージをインターセプトし、送信元端末が所属するクライアントグループを識別する。グループタグ挿入部はメッセージ送信元グループ識別部が識別したグループに対応するグループタグをSIPメッセージに挿入する。グループタグ削除部はSIPプロキシサーバが送信したサーバ送信SIPメッセージからグループタグを削除する。メッセージ送信先グループ識別部はグループタグ削除部が削除したグループタグに対応するクライアントグループを識別し、サーバ送信SIPメッセージが当該グループに所属しないクライアント端末へ送信されることを防止する。   Conventionally, various techniques for transmitting and receiving data are known. For example, Japanese Unexamined Patent Application Publication No. 2007-157085 (Patent Document 1) discloses a SIP server sharing module, a SIP message relay system, and a program. According to Japanese Patent Laying-Open No. 2007-157085 (Patent Document 1), a message transmission source group identification unit intercepts a SIP message transmitted by a terminal and identifies a client group to which the transmission source terminal belongs. The group tag insertion unit inserts a group tag corresponding to the group identified by the message transmission source group identification unit into the SIP message. The group tag deletion unit deletes the group tag from the server transmission SIP message transmitted by the SIP proxy server. The message transmission destination group identification unit identifies a client group corresponding to the group tag deleted by the group tag deletion unit, and prevents a server transmission SIP message from being transmitted to a client terminal that does not belong to the group.

一方で、通信機器が互いにデータをプッシュし合う技術として、近年では、TCP(TransmissionControl Protocol)上で動作するWebSocketという技術が開発されている。WebSocketは、インターネットの標準化団体であるW3CとIETFとが規定したウェブサーバとウェブブラウザとの間の双方向通信用の技術規格である。WebSocketプロトコルの仕様はRFC(Request For Comment)6455に規定されている。   On the other hand, in recent years, a technology called WebSocket that operates on TCP (Transmission Control Protocol) has been developed as a technology for communication devices to push data to each other. WebSocket is a technical standard for bidirectional communication between a web server and a web browser defined by W3C and IETF, which are standards organizations of the Internet. The specification of the WebSocket protocol is defined in RFC (Request For Comment) 6455.

特開2007−157085号公報JP 2007-157085 A

しかしながら、現状では、常時接続の技術を用いてサーバからクライアントにデータを送る際には、サーバは常時接続中の全てのクライアントにデータを送ってしまう。本発明の目的は、常時接続中のクライアントのうちの一部のクライアントを指定してデータをプッシュすることができるネットワークシステム、通信方法、電子機器、常時接続サーバ、プログラムを提供することにある。   However, at present, when data is sent from the server to the client using the always-on technology, the server sends data to all the clients that are always connected. An object of the present invention is to provide a network system, a communication method, an electronic device, an always-on server, and a program that can specify some of the clients that are always connected and push data.

この発明のある態様に従うと、複数の電子機器と、複数の電子機器と常時接続するための常時接続サーバとを備えるネットワークシステムが提供される。常時接続サーバは、複数の電子機器を特定するための常時接続用IDと複数のグループを特定するためのグループIDとの対応関係を記憶し、グループIDの指定に基づいて対応するグループに属する少なくとも1つの電子機器にデータをプッシュする。   According to an aspect of the present invention, there is provided a network system including a plurality of electronic devices and a constantly connected server for always connecting to the plurality of electronic devices. The always-on server stores a correspondence relationship between an always-on ID for specifying a plurality of electronic devices and a group ID for specifying a plurality of groups, and at least belongs to a corresponding group based on the designation of the group ID. Push data to one electronic device.

好ましくは、対応関係において、グループは階層化されている。常時接続サーバは、上位のグループを特定するためのグループIDの指定に基づいて、当該上位のグループに属する下位のグループに属する電子機器にデータをプッシュする。   Preferably, the group is hierarchized in the correspondence relationship. The always-on server pushes data to electronic devices belonging to a lower group belonging to the upper group based on designation of a group ID for specifying the upper group.

好ましくは、電子機器は、常時接続サーバにグループ加入要求を送る。常時接続サーバは、グループ加入要求に応じて、電子機器に対応する常時接続用IDとグループIDとの組み合わせを対応関係に追加する。   Preferably, the electronic device sends a group join request to the always-on server. The always-on server adds a combination of the always-on ID corresponding to the electronic device and the group ID to the correspondence in response to the group subscription request.

好ましくは、ネットワークシステムは、他の電子機器をさらに含む。他の電子機器は、常時接続サーバに電子機器を指定するための情報とグループ加入要求とを送る。常時接続サーバは、情報とグループ加入要求とに応じて、電子機器に対応する常時接続用IDとグループIDとの組み合わせを対応関係に追加する。   Preferably, the network system further includes another electronic device. The other electronic device sends information for designating the electronic device to the always-on server and a group subscription request. The always-on server adds a combination of the always-on ID corresponding to the electronic device and the group ID to the correspondence according to the information and the group subscription request.

好ましくは、電子機器は、常時接続サーバにグループ脱退要求を送る。常時接続サーバは、グループ脱退要求に応じて、電子機器に対応する常時接続用IDとグループIDとの組み合わせを対応関係から削除する。   Preferably, the electronic device sends a group withdrawal request to the always-on server. In response to the group withdrawal request, the always-on server deletes the combination of the always-on ID corresponding to the electronic device and the group ID from the correspondence relationship.

好ましくは、ネットワークシステムは、他の電子機器をさらに含む。他の電子機器は、常時接続サーバに電子機器を指定するための情報とグループ脱退要求とを送る。常時接続サーバは、情報とグループ脱退要求とに応じて、電子機器に対応する常時接続用IDとグループIDとの組み合わせを対応関係から削除する。   Preferably, the network system further includes another electronic device. The other electronic device sends information for designating the electronic device to the always-on server and a group withdrawal request. The always-on server deletes the combination of the always-on ID corresponding to the electronic device and the group ID from the correspondence relationship according to the information and the group withdrawal request.

好ましくは、電子機器が、グループIDとデータとを常時接続サーバに送信する。常時接続サーバが、グループIDに対応する少なくとも1つの電子機器にデータをプッシュする。   Preferably, the electronic device transmits the group ID and data to the always-on server. The always-on server pushes data to at least one electronic device corresponding to the group ID.

好ましくは、ネットワークシステムは、アプリケーションサーバをさらに備える。アプリケーションサーバが、グループIDとデータとを常時接続サーバに送信する。常時接続サーバが、グループIDに対応する少なくとも1つの電子機器にデータをプッシュする。   Preferably, the network system further includes an application server. The application server transmits the group ID and data to the always-on server. The always-on server pushes data to at least one electronic device corresponding to the group ID.

好ましくは、常時接続サーバは、グループIDとデータとを受信した際に、電子機器にデータをプッシュする前に、プッシュ命令を受信した旨をデータの送信元に送信する。   Preferably, when the always-on server receives the group ID and data, the server always sends a message indicating that the push command has been received to the data transmission source before pushing the data to the electronic device.

好ましくは、常時接続サーバは、グループIDに対応する少なくとも1つの電子機器の全てにデータをプッシュしてから、データの送信結果をデータの送信元に送信する。   Preferably, the always-on server pushes the data to all of at least one electronic device corresponding to the group ID, and then transmits the data transmission result to the data transmission source.

好ましくは、送信結果は、グループIDに対応する少なくとも1つの電子機器の全てに関するデータのプッシュの成否を示すリストを含む。   Preferably, the transmission result includes a list indicating success / failure of pushing data regarding all of at least one electronic device corresponding to the group ID.

好ましくは、送信結果は、グループIDに対応する少なくとも1つの電子機器へのデータのプッシュの成功率を含む。   Preferably, the transmission result includes a success rate of pushing data to at least one electronic device corresponding to the group ID.

好ましくは、常時接続サーバは、グループIDに対応する少なくとも1つの電子機器の各々にデータをプッシュする度に、データの送信結果をデータの送信元に送信する。   Preferably, the always-on server transmits the data transmission result to the data transmission source each time the data is pushed to each of at least one electronic device corresponding to the group ID.

好ましくは、常時接続サーバは、送信結果を外部から参照可能に蓄積する。   Preferably, the always-on server stores the transmission results so that they can be referred to from the outside.

好ましくは、常時接続サーバは、データをプッシュするための命令を受け付けた際に、当該命令を外部から参照可能に蓄積する。   Preferably, when the always-on server receives a command for pushing data, the always-on server stores the command so that it can be referred to from the outside.

この発明の別の態様に従うと、複数の電子機器と常時接続サーバとが常時接続を開始するステップと、常時接続サーバが、複数の電子機器を特定するための常時接続用IDと複数のグループを特定するためのグループIDとの対応関係を記憶するステップと、常時接続サーバが、グループIDの指定に基づいて対応するグループに属する少なくとも1つの電子機器にデータをプッシュするステップとを備える、通信方法が提供される。   According to another aspect of the present invention, a step in which a plurality of electronic devices and a constant connection server start a constant connection, a constant connection server determines a constant connection ID and a plurality of groups for specifying a plurality of electronic devices. A communication method comprising: storing a correspondence relationship with a group ID for specifying; and a step of pushing data to at least one electronic device belonging to the corresponding group based on designation of the group ID by the always-connected server. Is provided.

この発明の別の態様に従うと、通信インターフェイスと、通信インターフェイスを利用することによって、常時接続サーバと常時接続し、常時接続サーバにグループ加入要求を送るためのプロセッサとを備える、電子機器が提供される。   According to another aspect of the present invention, there is provided an electronic apparatus comprising a communication interface and a processor that is always connected to the always-on server by using the communication interface and that sends a group join request to the always-on server. The

この発明の別の態様に従うと、複数の電子機器と常時接続するための通信インターフェイスと、複数の電子機器を特定するための常時接続用IDと複数のグループを特定するためのグループIDとの対応関係を記憶するメモリと、通信インターフェイスを利用することによって、グループIDの指定に基づいて、対応するグループに属する少なくとも1つの電子機器にデータをプッシュするためのプロセッサとを備える、常時接続サーバが提供される。   According to another aspect of the present invention, correspondence between a communication interface for always connecting to a plurality of electronic devices, a constant connection ID for specifying a plurality of electronic devices, and a group ID for specifying a plurality of groups Provided by an always-on server comprising a memory for storing relationships and a processor for pushing data to at least one electronic device belonging to the corresponding group based on the designation of the group ID by using a communication interface Is done.

この発明の別の態様に従うと、プロセッサとメモリと通信インターフェイスとを含む電子機器で利用されるプログラムが提供される。プログラムは、通信インターフェイスを利用することによって、常時接続サーバと常時接続を開始するステップと、通信インターフェイスを利用することによって、常時接続サーバにグループ加入要求を送るステップとをプロセッサに実行させる。   According to another aspect of the present invention, a program used in an electronic device including a processor, a memory, and a communication interface is provided. The program causes the processor to execute a step of starting a constant connection with the always-on server by using the communication interface and a step of sending a group join request to the always-on server by using the communication interface.

この発明の別の態様に従うと、プロセッサとメモリと通信インターフェイスとを含むコンピュータで利用されるプログラムが提供される。プログラムは、通信インターフェイスを利用することによって、複数の電子機器と常時接続を開始するステップと、メモリに、複数の電子機器を特定するための常時接続用IDと複数のグループを特定するためのグループIDとの対応関係を格納するステップと、通信インターフェイスを利用することによって、グループIDの指定に基づいて、対応するグループに属する少なくとも1つの電子機器にデータをプッシュするステップとをプロセッサに実行させる。   According to another aspect of the present invention, a program used in a computer including a processor, a memory, and a communication interface is provided. The program uses a communication interface to start a constant connection with a plurality of electronic devices, and a memory for identifying a plurality of electronic devices and a group for specifying a plurality of groups in the memory The step of storing the correspondence relationship with the ID and the step of pushing the data to at least one electronic device belonging to the corresponding group based on the designation of the group ID by using the communication interface are executed by the processor.

以上のように、この発明によれば、常時接続中のクライアントのうちの一部のクライアントを指定してデータをプッシュすることができるネットワークシステム、通信方法、電子機器、常時接続サーバ、プログラムが提供される。   As described above, according to the present invention, there are provided a network system, a communication method, an electronic device, an always-on server, and a program that can push data by designating some of the currently-connected clients. Is done.

第1の実施の形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。It is an image figure which shows the whole structure and operation | movement outline | summary of the network system 1 concerning 1st Embodiment. 本実施の形態にかかるクライアント100のハードウェア構成を表わすブロック図である。It is a block diagram showing the hardware constitutions of the client 100 concerning this Embodiment. 本実施の形態にかかる常時接続サーバ200のハードウェア構成を表わすブロック図である。It is a block diagram showing the hardware constitutions of the always-on server 200 concerning this Embodiment. 第1の実施の形態にかかるグループ名称とグループIDとの対応関係DB221を示すイメージ図である。It is an image figure which shows correspondence DB221 of the group name and group ID concerning 1st Embodiment. 第1の実施の形態にかかるグループIDと接続IDとの対応関係DB222を示すイメージ図である。It is an image figure which shows correspondence DB222 of group ID and connection ID concerning 1st Embodiment. 第1の実施の形態にかかるグループの階層を示す対応関係DB223を示すイメージ図である。It is an image figure which shows correspondence DB223 which shows the hierarchy of the group concerning 1st Embodiment. 本実施の形態にかかるアプリケーションサーバ300のハードウェア構成を表わすブロック図である。It is a block diagram showing the hardware constitutions of the application server 300 concerning this Embodiment. 本実施の形態にかかるスマートフォン500のハードウェア構成を表わすブロック図である。It is a block diagram showing the hardware constitutions of the smart phone 500 concerning this Embodiment. 本実施の形態にかかるネットワークシステム1における常時接続に関するデータのやり取りの処理手順を示すシーケンス図である。It is a sequence diagram which shows the process sequence of the exchange of the data regarding the continuous connection in the network system 1 concerning this Embodiment. 本実施の形態にかかるネットワークシステム1におけるクライアント100のグループ加入の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process procedure of the group joining of the client 100 in the network system 1 concerning this Embodiment. 本実施の形態にかかるグループ加入時における対応関係DB222の変化を示すイメージ図である。It is an image figure which shows the change of correspondence DB222 at the time of group joining concerning this Embodiment. 本実施の形態にかかるクライアント100に予めグループIDが書き込まれている場合のグループ加入の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process procedure of group joining in case the group ID is previously written in the client 100 concerning this Embodiment. 本実施の形態にかかるユーザ指定のグループへの加入の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of joining to the group designated by the user concerning this Embodiment. 本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるクライアント加入の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the processing procedure of the client subscription by the application server 300 in the network system 1 concerning this Embodiment. 本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるクライアント加入の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the processing procedure of the client subscription by the smart phone 500 in the network system 1 concerning this Embodiment, or an external personal computer. 本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるグループ作成の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the group creation by the application server 300 in the network system 1 concerning this Embodiment. 本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるグループ作成の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the group creation by the smart phone 500 in the network system 1 concerning this Embodiment, or an external personal computer. 本実施の形態にかかるネットワークシステム1におけるクライアント100のグループ脱退の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of group withdrawal of the client 100 in the network system 1 concerning this Embodiment. 本実施の形態にかかるグループ脱退時における対応関係DB222の変化を示すイメージ図である。It is an image figure showing change of correspondence DB222 at the time of group withdrawal concerning this embodiment. 本実施の形態にかかるクライアント100に予めグループIDが書き込まれている場合のグループ加入の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process procedure of group joining in case the group ID is previously written in the client 100 concerning this Embodiment. 本実施の形態にかかるユーザ指定のグループからの脱退の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the withdrawal from the user designation group concerning this Embodiment. 本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるクライアント脱退の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the processing procedure of the client withdrawal by the application server 300 in the network system 1 concerning this Embodiment. 本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるグループ作成の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the group creation by the smart phone 500 in the network system 1 concerning this Embodiment, or an external personal computer. 本実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the data transmission from the client 100 to a group in the network system 1 concerning this Embodiment. 本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the data transmission from the application server 300 to a group in the network system 1 concerning this Embodiment. 第2の実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the data transmission from the client 100 to a group in the network system 1 concerning 2nd Embodiment. 第3の実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the data transmission from the client 100 to a group in the network system 1 concerning 3rd Embodiment. 第4の実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the data transmission from the client 100 to a group in the network system 1 concerning 4th Embodiment. 第5の実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the data transmission from the application server 300 to a group in the network system 1 concerning 5th Embodiment. 第6の実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the data transmission from the application server 300 to a group in the network system 1 concerning 6th Embodiment. 第7の実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。It is a sequence diagram which shows the detail of the process sequence of the data transmission from the application server 300 to a group in the network system 1 concerning 7th Embodiment. 第8の実施の形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。It is an image figure which shows the whole structure and the operation | movement outline | summary of the network system 1 concerning 8th Embodiment. 第8の実施の形態にかかるグループ名称とグループIDとの対応関係DB224を示すイメージ図である。It is an image figure which shows correspondence DB224 of the group name and group ID concerning 8th Embodiment. 第8の実施の形態にかかるグループIDと接続IDとの対応関係DB225を示すイメージ図である。It is an image figure which shows correspondence DB225 of group ID and connection ID concerning 8th Embodiment. 第9の実施の形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。It is an image figure which shows the whole structure and the operation | movement outline | summary of the network system 1 concerning 9th Embodiment. 第9および第10の実施の形態にかかるグループ名称とグループIDとの対応関係DBを示すイメージ図である。It is an image figure which shows the corresponding | compatible relationship DB of the group name and group ID concerning 9th and 10th Embodiment. 第10の実施の形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。It is an image figure which shows the whole structure and the operation | movement outline | summary of the network system 1 concerning 10th Embodiment.

以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.

また、以下では、常時接続の一例として、WebSocketプロトコルを利用した通信について説明する。しかしながら、常時接続サーバから任意のタイミングでクライアントにデータをプッシュできればよく、本発明はWebSocketプロトコルを利用する常時接続に限定されるものではない。   In the following, communication using the WebSocket protocol will be described as an example of constant connection. However, it suffices if data can be pushed from the always-on server to the client at an arbitrary timing, and the present invention is not limited to the always-on connection using the WebSocket protocol.

また、下記の実施の形態にかかる構成は、HTTP/WebSocketプロトコルの他に、SSLで通信路を暗号化できるHTTPS/WSSプロトコルでも利用可能である。すなわち、本実施形態にかかるネットワークシステム1は、HTTPS/WSSプロトコルを利用するシステムにも適応できる。
<第1の実施の形態>
<ネットワークシステムの全体構成>
In addition to the HTTP / WebSocket protocol, the configuration according to the following embodiment can also be used with an HTTPS / WSS protocol that can encrypt a communication path using SSL. That is, the network system 1 according to the present embodiment can be applied to a system that uses the HTTPS / WSS protocol.
<First Embodiment>
<Overall configuration of network system>

まず、本実施の形態にかかるネットワークシステム1の全体構成について説明する。図1は、本実施の形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。   First, the overall configuration of the network system 1 according to the present embodiment will be described. FIG. 1 is an image diagram showing an overall configuration and an operation outline of a network system 1 according to the present embodiment.

図1を参照して、ネットワークシステム1は、住居またはオフィスなどに配置される複数のクライアント100A,100B,100C,100D,100Eを含む。以下では、クライアント100A,100B,100C,100D,100Eを総称して、クライアント100ともいう。ネットワークシステム1は、クライアント100と常時接続が可能な常時接続サーバ200と、様々なサービスを提供するアプリケーションサーバ300と、スマートフォン500またはパーソナルコンピュータなどを含む。   Referring to FIG. 1, network system 1 includes a plurality of clients 100A, 100B, 100C, 100D, and 100E arranged in a residence or an office. Hereinafter, the clients 100A, 100B, 100C, 100D, and 100E are collectively referred to as the client 100. The network system 1 includes an always-on server 200 that can always connect to the client 100, an application server 300 that provides various services, a smartphone 500, a personal computer, and the like.

クライアント100としては、たとえば、掃除機、テレビ、エアコン、洗濯機、冷蔵庫、炊飯器、空気清浄器、床暖房、IH(Induction Heating)クッキングヒーター、電子レンジ、照明などの家電が挙げられる。さらに、クライアントは、通信機器であればよく、たとえば、パーソナルコンピュータ、テレビ以外のAV機器、インターホンシステムなどを含んでもよい。   Examples of the client 100 include home appliances such as a vacuum cleaner, a television, an air conditioner, a washing machine, a refrigerator, a rice cooker, an air purifier, floor heating, an IH (Induction Heating) cooking heater, a microwave oven, and lighting. Furthermore, the client may be any communication device, and may include, for example, a personal computer, an AV device other than a television, an interphone system, and the like.

常時接続サーバ200とアプリケーションサーバ300とは、クライアントのいずれかと同じ住居内、オフィス内、ビル内、会社あるいは学校の構内に存在するサーバなどを含んでもよい。   The always-on server 200 and the application server 300 may include a server that exists in the same residence, office, building, company, or school premises as any of the clients.

また、クライアント100と各サーバ間は、光ファイバ等の回線を経由し、途中に、光回線終端装置、無線LAN通信を行うためのアクセスポイント、ルータ等が接続されてもよい。クライアント100は、ネットワークに接続する手段として、IEEE802.11a/b/g/n/acなどの無線LAN通信、あるいは、有線LANなどが用いられるが、接続方法はこれらに限定されるものではない。   In addition, an optical line terminator, an access point for performing wireless LAN communication, a router, and the like may be connected between the client 100 and each server via a line such as an optical fiber. The client 100 uses wireless LAN communication such as IEEE802.11a / b / g / n / ac or wired LAN as means for connecting to the network, but the connection method is not limited to these.

本実施の形態においては、常時接続サーバ200とアプリケーションサーバ300とが別々のコンピュータである。しかしながら、常時接続サーバ200とアプリケーションサーバ300とが同一のコンピュータであってもよい。たとえば、1つのコンピュータ、すなわち装置としてのサーバが、クライアントと常時接続するための通信サービスプログラムと、クライアントを制御するためのアプリケーションサービスプログラムとを搭載してもよい。また、1つのアプリケーションサーバが複数のアプリケーションサービスプログラムを搭載してもよい。
<ネットワークシステムの動作概要>
In the present embodiment, always-on server 200 and application server 300 are separate computers. However, the always-on server 200 and the application server 300 may be the same computer. For example, a single computer, that is, a server as a device, may be equipped with a communication service program for always connecting to a client and an application service program for controlling the client. One application server may be equipped with a plurality of application service programs.
<Overview of network system operation>

次に、本実施の形態にかかるネットワークシステム1の動作概要について説明する。本実施の形態においては、複数のクライアント100が複数のグループに分けられている。具体的には、常時接続サーバ200が接続可能な対応関係DBサーバあるいは常時接続サーバ200自身が、当該グループ分けを示すデータを記憶している。そして、アプリケーションサーバ300は、スマートフォン500および外部のパーソナルコンピュータなどからのデータをクライアント100に伝えるサービスを提供する。   Next, an outline of the operation of the network system 1 according to the present embodiment will be described. In the present embodiment, a plurality of clients 100 are divided into a plurality of groups. Specifically, the correspondence DB server to which the always-on server 200 can be connected or the always-on server 200 itself stores data indicating the grouping. The application server 300 provides a service for transmitting data from the smartphone 500 and an external personal computer to the client 100.

まずは、スマートフォン500または外部のパーソナルコンピュータなどが、グループを指定するためのグループIDと、当該グループに送信するためのデータ本体とをアプリケーションサーバ300に送信する。アプリケーションサーバ300は、グループを指定するためのグループIDと、当該グループに送信するためのデータ本体とを常時接続サーバ200に送信する。常時接続サーバ200は、対応関係DBを参照することによって、Webソケットプロトコルを利用して、グループIDに対応する複数のクライアント100にデータ本体をプッシュする。   First, the smartphone 500 or an external personal computer transmits a group ID for designating a group and a data body for transmission to the group to the application server 300. The application server 300 transmits a group ID for designating a group and a data body for transmission to the group to the always-on server 200. The always-on server 200 pushes the data body to the plurality of clients 100 corresponding to the group ID by using the Web socket protocol by referring to the correspondence DB.

あるいは、クライアント100のいずれかが、グループを指定するためのグループIDと、当該グループに送信するためのデータ本体とを常時接続サーバ200に送信する。常時接続サーバ200は、対応関係DBを参照することによって、Webソケットプロトコルを利用して、グループIDに対応する複数のクライアント100にデータ本体をプッシュする。このとき、常時接続サーバ200は、当該データ本体をログ情報としてアプリケーションサーバ300に送信しても良い。常時接続サーバ200は、さらに、アプリケーションサーバ300を介して当該データ本体をスマートフォン500まで送信しても良い。   Alternatively, any one of the clients 100 transmits a group ID for designating a group and a data body for transmission to the group to the always-on server 200. The always-on server 200 pushes the data body to the plurality of clients 100 corresponding to the group ID by using the Web socket protocol by referring to the correspondence DB. At this time, the always-on server 200 may transmit the data body to the application server 300 as log information. The always-on server 200 may further transmit the data body to the smartphone 500 via the application server 300.

このように、本実施の形態においては、スマートフォン500、外部のパーソナルコンピュータ、アプリケーションサーバ300、クライアント100が、常時接続サーバ200と常時接続している複数のクライアント100のうちの、所望のグループに属するクライアント100のみにデータをプッシュすることができる。以下では、このような機能を実現するためのネットワークシステム1の構成について詳細に説明する。
<クライアント100のハードウェア構成>
Thus, in the present embodiment, the smartphone 500, the external personal computer, the application server 300, and the client 100 belong to a desired group among the plurality of clients 100 that are always connected to the always-on server 200. Data can be pushed only to the client 100. Below, the structure of the network system 1 for implement | achieving such a function is demonstrated in detail.
<Hardware configuration of client 100>

まず、クライアント100のハードウェア構成の一態様について説明する。図2は、本実施の形態にかかるクライアント100のハードウェア構成を表わすブロック図である。   First, an aspect of the hardware configuration of the client 100 will be described. FIG. 2 is a block diagram showing a hardware configuration of the client 100 according to the present embodiment.

図2を参照して、クライアント100は、主たる構成要素として、CPU110と、メモリ120と、入出力部130と、カメラ140と、家電制御回路150と、通信インターフェイス160とを含む。   Referring to FIG. 2, client 100 includes a CPU 110, a memory 120, an input / output unit 130, a camera 140, a home appliance control circuit 150, and a communication interface 160 as main components.

CPU110は、メモリ120あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、クライアント100の各部を制御する。より詳細には、CPU110は、クライアントAPP(Application software)として動作するとともに、クライアントAPI(ApplicationProgramming Interface)として動作する。すなわち、CPU110は、メモリ120に格納されているプログラムを実行することによって、後述する各種の処理を実行する。   The CPU 110 controls each unit of the client 100 by executing a program stored in the memory 120 or an external storage medium. More specifically, the CPU 110 operates as a client APP (Application software) and also operates as a client API (Application Programming Interface). That is, the CPU 110 executes various processes described later by executing a program stored in the memory 120.

メモリ120は、各種のRAM(Random Access Memory)や、各種のROM(Read-Only Memory)や、フラッシュメモリーなどによって実現される。なお、メモリ120は、インターフェイスを介して利用される、USB(Universal Serial Bus)メモリ、CD(Compact Disc)、DVD(Digital Versatile Disk)、メモリカード、ハードディスク、IC(Integrated Circuit)カード、光カード、マスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)などの記憶媒体などによって実現されてもよい。   The memory 120 is realized by various RAMs (Random Access Memory), various ROMs (Read-Only Memory), a flash memory, and the like. The memory 120 is a USB (Universal Serial Bus) memory, a CD (Compact Disc), a DVD (Digital Versatile Disk), a memory card, a hard disk, an IC (Integrated Circuit) card, an optical card, which is used via an interface. It may be realized by a storage medium such as a mask ROM, an EPROM (Erasable Programmable Read Only Memory), or an EEPROM (Electronically Erasable Programmable Read Only Memory).

メモリ120は、CPU110によって実行されるプログラムや、CPU110によるプログラムの実行により生成されたデータ、入出力部130を介して入力されたデータ、掃除機、テレビ、エアコンなどのような家電として動作するためのAPPデータ、クライアントAPPとデータをやり取りしながら外部の機器と通信するためのAPIデータを記憶する。たとえば、メモリ120は、常時接続サーバの接続先、アプリケーションサーバ接続先、サービス識別コード、サービス認証トークン、接続ID、クライアント識別IDなどを記憶する。   The memory 120 operates as a home appliance such as a program executed by the CPU 110, data generated by execution of the program by the CPU 110, data input via the input / output unit 130, a vacuum cleaner, a television, an air conditioner, and the like. And API data for communicating with external devices while exchanging data with the client APP. For example, the memory 120 stores a connection destination of an always-on server, an application server connection destination, a service identification code, a service authentication token, a connection ID, a client identification ID, and the like.

入出力部130は、ボタン、タッチパネル、キーボードなどによって実現され、ユーザからの命令を受け付けて、当該命令をCPU110に入力する。入出力部130は、ディスプレイ、ライトなどによって実現され、CPU110からの信号に基づいて、文字や画像を出力する。入出力部130は、スピーカなどによって実現され、CPU110からの信号に基づいて、文字や画像を出力する。   The input / output unit 130 is realized by a button, a touch panel, a keyboard, and the like, receives a command from the user, and inputs the command to the CPU 110. The input / output unit 130 is realized by a display, a light, and the like, and outputs characters and images based on a signal from the CPU 110. The input / output unit 130 is realized by a speaker or the like, and outputs characters and images based on a signal from the CPU 110.

カメラ140は、CPU110からの信号に基づいて、静止画像や動画像を撮影する。具体的には、カメラ140は、撮影した画像データをCPU110に受け渡す。CPU110は、画像データを逐次メモリ120に記憶させていく。   The camera 140 captures a still image or a moving image based on a signal from the CPU 110. Specifically, the camera 140 delivers captured image data to the CPU 110. The CPU 110 stores the image data in the memory 120 sequentially.

家電制御回路150は、CPU110からの信号に基づいて、クライアントの各部(モータなど)を制御する。   The home appliance control circuit 150 controls each part (such as a motor) of the client based on a signal from the CPU 110.

通信インターフェイス160は、IEEE802.11a/b/g/n/acなどの無線LAN通信、ZigBee(登録商標)、BlueTooth(登録商標)、あるいは、イーサネット(登録商標)などの有線LANなどの通信モジュールによって実現される。通信インターフェイス160は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。CPU110は、通信インターフェイス160を介して、他の装置からプログラム、制御命令、画像データ、テキストデータなどを受信したり、他の装置にテキストデータ、画像データなどを送信したりする。本実施の形態においては、CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して常時接続サーバ200と常時接続を行うことができるし、HTTPプロトコルを利用してアプリケーションサーバ300と通信することもできる。
<常時接続サーバ200のハードウェア構成>
The communication interface 160 is a wireless LAN communication such as IEEE802.11a / b / g / n / ac, or a communication module such as a wired LAN such as ZigBee (registered trademark), BlueTooth (registered trademark), or Ethernet (registered trademark). Realized. The communication interface 160 exchanges data with other devices by wired communication or wireless communication. The CPU 110 receives programs, control commands, image data, text data, and the like from other devices via the communication interface 160, and transmits text data, image data, and the like to other devices. In the present embodiment, the CPU 110 can always connect to the always-on server 200 using the WebSocket protocol via the communication interface 160, and communicate with the application server 300 using the HTTP protocol. You can also.
<Hardware configuration of always-on server 200>

次に、常時接続サーバ200のハードウェア構成の一態様について説明する。図3は、本実施の形態にかかる常時接続サーバ200のハードウェア構成を表わすブロック図である。なお、常時接続サーバ200は、apache、tomcat、mysqlなど、一般的なサーバモジュールで担保できる機能は標準的に利用可能である。   Next, an aspect of the hardware configuration of the always-on server 200 will be described. FIG. 3 is a block diagram showing a hardware configuration of the always-on server 200 according to the present embodiment. In the always-on server 200, functions that can be secured by a general server module such as apache, tomcat, and mysql can be used as standard.

図3を参照して、常時接続サーバ200は、主たる構成要素として、CPU210と、メモリ220と、入出力部230と、通信インターフェイス260とを含む。常時接続サーバ200のハードウェア構成は、クライアント100のハードウェア構成と比較して、カメラ140と家電制御回路150とを有さない点、CPU210の動作、メモリ220に格納されているデータに関して異なる。以下では、CPU210の動作とメモリ220が記憶するデータとについて説明するものとし、その他のハードウェア構成については説明を繰り返さない。   Referring to FIG. 3, always-on server 200 includes a CPU 210, a memory 220, an input / output unit 230, and a communication interface 260 as main components. The hardware configuration of the always-on server 200 is different from the hardware configuration of the client 100 in that it does not have the camera 140 and the home appliance control circuit 150, the operation of the CPU 210, and the data stored in the memory 220. Hereinafter, the operation of CPU 210 and data stored in memory 220 will be described, and description of other hardware configurations will not be repeated.

CPU210は、メモリ220あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、常時接続サーバ200の各部を制御する。具体的には、CPU210は、メモリ220に記憶されているプログラムを実行することによって、モジュールとしてのWSサーバとして動作する。すなわち、CPU210は、メモリ220に格納されているプログラムを実行することによって、後述する各種の動作を実行する。   The CPU 210 controls each unit of the always-on server 200 by executing a program stored in the memory 220 or an external storage medium. Specifically, the CPU 210 operates as a WS server as a module by executing a program stored in the memory 220. That is, the CPU 210 executes various operations described later by executing a program stored in the memory 220.

メモリ220は、CPU210によって実行されるプログラムや、CPU210によるプログラムの実行により生成されたデータ、入出力部230を介して入力されたデータ、サービスID、サービス名、アプリケーションサーバ300の接続先URL、サービス認証トークン生成情報、認証情報(ワンタイムキー)、接続IDなどを記憶する。
<対応関係DB>
The memory 220 includes a program executed by the CPU 210, data generated by execution of the program by the CPU 210, data input via the input / output unit 230, service ID, service name, connection destination URL of the application server 300, service Authentication token generation information, authentication information (one-time key), connection ID, and the like are stored.
<Correspondence DB>

本実施の形態においては、図1および図4に示すように、常時接続サーバ200とは別の対応関係DB(データベース)サーバ250が、グループ名称とグループIDとの対応関係DB221を記憶する。なお、常時接続サーバ200のメモリ220が、対応関係DB221を記憶してもよい。   In this embodiment, as shown in FIGS. 1 and 4, a correspondence DB (database) server 250 different from the always-on server 200 stores a correspondence DB 221 between group names and group IDs. The memory 220 of the always-on server 200 may store the correspondence DB 221.

また、図1および図5に示すように、対応関係DBサーバ250が、グループIDと接続IDとの対応関係DB222を記憶する。なお、接続IDとは、アプリケーションサーバ300が提供するサービスとクライアント100との関係を特定するための情報である。なお、常時接続サーバ200のメモリ220が、対応関係DB222を記憶してもよい。   As shown in FIGS. 1 and 5, the correspondence DB server 250 stores a correspondence DB 222 between group IDs and connection IDs. The connection ID is information for specifying the relationship between the service provided by the application server 300 and the client 100. Note that the memory 220 of the always-on server 200 may store the correspondence DB 222.

さらに、本実施の形態においては、図1および図6に示すように、対応関係DBサーバ250が、グループの階層を示す対応関係DB223を記憶する。たとえば、対応関係DB223は、上位のグループIDの各々に対応付けて、中位の複数のグループIDを格納する。対応関係DB223は、中位のグループIDの各々に対応付けて、下位の複数のグループIDを格納する。図6には示されていないが、対応関係DB223は、下位のグループIDの各々に対応付けて、さらに下位の複数のグループIDを格納してもよい。なお、常時接続サーバ200のメモリ220が、対応関係DB223を記憶してもよい。
<アプリケーションサーバ300のハードウェア構成>
Further, in the present embodiment, as shown in FIGS. 1 and 6, the correspondence DB server 250 stores a correspondence DB 223 indicating the group hierarchy. For example, the correspondence DB 223 stores a plurality of middle group IDs in association with each of the upper group IDs. The correspondence DB 223 stores a plurality of lower group IDs in association with each of the middle group IDs. Although not shown in FIG. 6, the correspondence DB 223 may store a plurality of lower group IDs in association with each lower group ID. Note that the memory 220 of the always-on server 200 may store the correspondence DB 223.
<Hardware Configuration of Application Server 300>

次に、アプリケーションサーバ300のハードウェア構成の一態様について説明する。図7は、本実施の形態にかかるアプリケーションサーバ300のハードウェア構成を表わすブロック図である。なお、アプリケーションサーバ300は、apache、tomcat、mysqlなど、一般的なサーバモジュールで担保できる機能は標準的に利用可能である。   Next, an aspect of the hardware configuration of the application server 300 will be described. FIG. 7 is a block diagram showing a hardware configuration of application server 300 according to the present embodiment. In the application server 300, functions that can be secured by a general server module such as apache, tomcat, and mysql can be used as standard.

図7を参照して、アプリケーションサーバ300は、主たる構成要素として、CPU310と、メモリ320と、入出力部330と、通信インターフェイス360とを含む。アプリケーションサーバ300のハードウェア構成は、クライアント100のハードウェア構成と比較して、カメラ140と家電制御回路150とを有さない点、CPU310の動作、メモリ320に格納されているデータに関して異なる。よって、以下では、CPU310の動作と、メモリ320が記憶するデータとについて説明するものとし、その他のハードウェア構成については説明を繰り返さない。   Referring to FIG. 7, application server 300 includes a CPU 310, a memory 320, an input / output unit 330, and a communication interface 360 as main components. The hardware configuration of the application server 300 is different from the hardware configuration of the client 100 in that it does not have the camera 140 and the home appliance control circuit 150, the operation of the CPU 310, and the data stored in the memory 320. Therefore, hereinafter, the operation of the CPU 310 and the data stored in the memory 320 will be described, and description of other hardware configurations will not be repeated.

CPU310は、メモリ320あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、アプリケーションサーバ300の各部を制御する。具体的には、CPU310は、メモリ320に記憶されているプログラムを実行することによって、サーバAPPとして動作するとともに、サーバAPIとして動作する。すなわち、CPU310は、メモリ320に格納されているプログラムを実行することによって、後述する各種の処理を実行する。   The CPU 310 controls each unit of the application server 300 by executing a program stored in the memory 320 or an external storage medium. Specifically, the CPU 310 operates as a server APP and a server API by executing a program stored in the memory 320. That is, the CPU 310 executes various processes described later by executing a program stored in the memory 320.

メモリ320は、CPU310によって実行されるプログラムや、CPU310によるプログラムの実行により生成されたデータ、入出力部330を介して入力されたデータ、アプリケーションサーバ300として動作するためのAPPデータ、サーバAPPとデータをやり取りしながらクライアント100と常時接続サーバ200とスマートフォン500と通信するためのAPIデータを記憶する。たとえば、メモリ320は、常時接続サーバのURL、サービスIDとサービス認証トークン、認証情報(ワンタイムキー)生成情報、接続IDなどを記憶する。
<スマートフォン500のハードウェア構成>
The memory 320 includes a program executed by the CPU 310, data generated by execution of the program by the CPU 310, data input via the input / output unit 330, APP data for operating as the application server 300, server APP and data. API data for communicating with the client 100, the always-on server 200, and the smartphone 500 is stored. For example, the memory 320 stores a URL of a constantly connected server, a service ID and a service authentication token, authentication information (one time key) generation information, a connection ID, and the like.
<Hardware configuration of smartphone 500>

次に、スマートフォン500あるいはパーソナルコンピュータなどの通信機器のハードウェア構成の一態様について説明する。図8は、本実施の形態にかかるスマートフォン500のハードウェア構成を表わすブロック図である。   Next, an aspect of a hardware configuration of a communication device such as the smartphone 500 or a personal computer will be described. FIG. 8 is a block diagram showing a hardware configuration of smartphone 500 according to the present embodiment.

図8を参照して、スマートフォン500は、主たる構成要素として、CPU510と、メモリ520と、ボタン530と、ディスプレイ540と、通信インターフェイス560とを含む。なお、近年のスマートフォンでは、ボタン530とディスプレイ540の代わりにタッチパネルが利用されることが多い。   Referring to FIG. 8, smartphone 500 includes a CPU 510, a memory 520, a button 530, a display 540, and a communication interface 560 as main components. In recent smartphones, a touch panel is often used instead of the button 530 and the display 540.

スマートフォン500のハードウェア構成は、クライアント100のハードウェア構成と比較して、家電制御回路150を有さない点、CPU510の動作、メモリ520に格納されているデータに関して異なる。そして、CPU510の動作、メモリ520に格納されているデータは、一般的なスマートフォンのものと同様である。よって、ここでは、ハードウェア構成の各部については説明を繰り返さない。
<常時接続に関する装置間のデータのやり取り>
The hardware configuration of the smartphone 500 is different from the hardware configuration of the client 100 in that it does not have the home appliance control circuit 150, the operation of the CPU 510, and the data stored in the memory 520. The operation of the CPU 510 and the data stored in the memory 520 are the same as those of a general smartphone. Therefore, description of each part of the hardware configuration will not be repeated here.
<Data exchange between devices for constant connection>

次に、本実施の形態にかかるネットワークシステム1における常時接続に関する装置間のデータのやり取りについて説明する。なお、図9は、本実施の形態にかかるネットワークシステム1における常時接続に関するデータのやり取りの処理手順を示すシーケンス図である。   Next, the exchange of data between devices related to the constant connection in the network system 1 according to the present embodiment will be described. FIG. 9 is a sequence diagram showing a procedure for exchanging data related to a constant connection in the network system 1 according to the present embodiment.

なお、図9におけるクライアント100の動作は、クライアントAPI110Aが実現するものである。図2および図9を参照して、クライアントAPI110Aは、クライアント100のCPU110がプログラムを実行することによって実現されるものである。クライアントAPI110Aは、通信インターフェイス160を介して、WebSocketプロトコルを使用して常時接続サーバ200と通信する。クライアントAPI110Aは、通信インターフェイス160を介して、HTTPプロトコルを使用して常時接続サーバ200およびアプリケーションサーバ300と通信する。   The operation of the client 100 in FIG. 9 is realized by the client API 110A. 2 and 9, client API 110A is realized by CPU 110 of client 100 executing a program. The client API 110A communicates with the always-on server 200 using the WebSocket protocol via the communication interface 160. The client API 110A communicates with the always-on server 200 and the application server 300 using the HTTP protocol via the communication interface 160.

同様に、図9における常時接続サーバ200の動作は、WSサーバ210Aが実現するものである。図3および図9を参照して、WSサーバ210Aは、常時接続サーバ200のCPU210がプログラムを実行することによって実現されるものである。WSサーバ210Aは、通信インターフェイス260を介して、WebSocketプロトコルを利用してクライアント100と常時接続する。WSサーバ210Aは、通信インターフェイス260を介して、HTTPプロトコルを利用してアプリケーションサーバ300と通信する。   Similarly, the operation of the always-on server 200 in FIG. 9 is realized by the WS server 210A. 3 and 9, WS server 210 </ b> A is realized by CPU 210 of always-on server 200 executing a program. The WS server 210A is always connected to the client 100 through the communication interface 260 using the WebSocket protocol. The WS server 210A communicates with the application server 300 using the HTTP protocol via the communication interface 260.

同様に、図9におけるアプリケーションサーバ300の動作は、サーバAPI310Aが実現するものである。図7および図9を参照して、サーバAPI310Aは、アプリケーションサーバ300のCPU310がプログラムを実行することによって実現されるものである。サーバAPI310Aは、通信インターフェイス360を介して、HTTPプロトコルを利用してクライアント100と常時接続サーバ200とスマートフォン500などの他の通信装置と通信する。   Similarly, the operation of the application server 300 in FIG. 9 is realized by the server API 310A. 7 and 9, server API 310A is realized by CPU 310 of application server 300 executing a program. The server API 310A communicates with other communication devices such as the client 100, the always-on server 200, and the smartphone 500 using the HTTP protocol via the communication interface 360.

図9を参照して、クライアント100は、HTTPプロトコルを使用して、アプリケーションサーバ300に認証情報を要求する(ステップS002)。このとき、クライアント100は、アプリケーションサーバ300に、認証に利用されるクライアントIDを送信する。アプリケーションサーバ300は、当該要求に応じてHTTPプロトコルを使用して認証情報を送信する(ステップS004)。   Referring to FIG. 9, the client 100 requests authentication information from the application server 300 using the HTTP protocol (step S002). At this time, the client 100 transmits a client ID used for authentication to the application server 300. In response to the request, the application server 300 transmits authentication information using the HTTP protocol (step S004).

アプリケーションサーバ300は、常時接続サーバ200にも認証情報を送信する(ステップS006)。常時接続サーバ200は、アプリケーションサーバ300から受信した認証情報を保存する(ステップS008)。   The application server 300 also transmits authentication information to the always-on server 200 (step S006). The always-on server 200 stores the authentication information received from the application server 300 (step S008).

クライアント100と常時接続サーバ200とは、HTTPプロトコルを使用して、WebSocketを利用した常時接続状態を確立する(ステップS010、ステップS012)。具体的には、クライアント100は、HTTPプロトコルを使用して、常時接続サーバ200にハンドシェイク要求を送る。常時接続サーバ200は、ハンドシェイク応答を返す。これによって、クライアント100と常時接続サーバ200との間で、WebSocketプロトコルによる常時接続が有効になる。   The client 100 and the always-on server 200 establish an always-on state using WebSocket using the HTTP protocol (steps S010 and S012). Specifically, the client 100 sends a handshake request to the always-on server 200 using the HTTP protocol. The always-on server 200 returns a handshake response. As a result, the continuous connection using the WebSocket protocol is enabled between the client 100 and the always-on server 200.

クライアント100は、認証情報を常時接続サーバ200に送信する(ステップS014)。常時接続サーバ200は、クライアント100からの認証情報と予め保存している認証情報とに基づいて、クライアント100を認証する(ステップS016)。認証に成功すると、常時接続サーバ200は、アプリケーションサーバ300がクライアント100を識別するための接続IDを発行する(ステップS018)。   The client 100 transmits authentication information to the always-on server 200 (step S014). The always-on server 200 authenticates the client 100 based on the authentication information from the client 100 and the authentication information stored in advance (step S016). If the authentication is successful, the always-on server 200 issues a connection ID for the application server 300 to identify the client 100 (step S018).

具体的には、常時接続サーバ200は、常時接続中のクライアント100と接続IDとの対応関係を、接続状態管理情報として記憶する。常時接続サーバ200は、アプリケーションサーバ300とクライアント100とに接続IDを送信する。クライアント100は、常時接続サーバ200から接続IDを受信して、記憶する(ステップS020)。同様に、アプリケーションサーバ300も、接続IDを受信して、記憶する(ステップS022)。   Specifically, the always-on server 200 stores the correspondence between the client 100 and the connection ID that are always connected as connection state management information. The always-on server 200 transmits a connection ID to the application server 300 and the client 100. The client 100 receives the connection ID from the always-on server 200 and stores it (step S020). Similarly, the application server 300 receives and stores the connection ID (step S022).

その後、アプリケーションサーバ300は、必要に応じて、データ本体(たとえば、ポーリング命令など)と送り先のクライアント100を特定するための接続IDとを常時接続サーバ200に送信する(ステップS032)。常時接続サーバ200は、アプリケーションサーバ300からデータ本体と接続IDとを受信する(ステップS034)。常時接続サーバ200は、接続状態管理情報を参照して、接続IDに基づいてクライアント100を特定する(ステップS036)。   Thereafter, the application server 300 transmits a data body (for example, a polling command) and a connection ID for specifying the destination client 100 to the constant connection server 200 as necessary (step S032). The always-on server 200 receives the data body and the connection ID from the application server 300 (step S034). The always-on server 200 refers to the connection state management information and identifies the client 100 based on the connection ID (step S036).

常時接続サーバ200は、WebSocketプロトコルを使用して、特定されたクライアント100にデータ本体を送信する(ステップS038)。クライアント100は、データ本体を受信する(ステップS040)。クライアント100は、WebSocketプロトコルを使用して、受信結果を常時接続サーバ200に送信する(ステップS042)。常時接続サーバ200は、受信結果を受信すると、当該受信結果をアプリケーションサーバ300に送信する(ステップS044)。アプリケーションサーバ300は、受信結果を受信する(ステップS046)。
<クライアントがグループに加入する際の処理手順の詳細>
The always-on server 200 transmits the data body to the identified client 100 using the WebSocket protocol (step S038). The client 100 receives the data body (step S040). The client 100 transmits the reception result to the always-on server 200 using the WebSocket protocol (step S042). When receiving the reception result, the always-on server 200 transmits the reception result to the application server 300 (step S044). The application server 300 receives the reception result (step S046).
<Details of processing procedure when client joins group>

次に、本実施の形態にかかるネットワークシステム1におけるクライアント100のグループ加入の処理手順の詳細について説明する。図10は、本実施の形態にかかるネットワークシステム1におけるクライアント100のグループ加入の処理手順の詳細を示すシーケンス図である。   Next, the details of the processing procedure for group joining of the client 100 in the network system 1 according to the present embodiment will be described. FIG. 10 is a sequence diagram showing details of a group joining process procedure of the client 100 in the network system 1 according to the present embodiment.

図10を参照して、クライアント100は、グループに加入するための要求を常時接続サーバ200に送信する(ステップS102)。具体的には、クライアント100のCPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信する。グループ加入要求は、グループを特定するためのグループIDを含む。   Referring to FIG. 10, the client 100 transmits a request for joining a group to the always-on server 200 (step S102). Specifically, the CPU 110 of the client 100 transmits a group join request to the always-on server 200 using the WebSocket protocol via the communication interface 160. The group join request includes a group ID for specifying the group.

なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信してもよい。この場合は、グループ加入要求は、クライアント100を特定するための接続IDも含む。   Note that the CPU 110 of the client 100 may transmit a group join request to the always-on server 200 using the HTTP protocol via the communication interface 160. In this case, the group join request also includes a connection ID for specifying the client 100.

常時接続サーバ200は、クライアント100を特定するための接続IDをグループIDに対応付けて対応関係DB222に記憶する(ステップS106)。具体的には、図11に示すように、CPU210が、対応関係DB222に、接続IDとグループIDとの組み合わせを追加する。   The always-on server 200 stores the connection ID for specifying the client 100 in the correspondence DB 222 in association with the group ID (step S106). Specifically, as illustrated in FIG. 11, the CPU 210 adds a combination of a connection ID and a group ID to the correspondence DB 222.

常時接続サーバ200は、クライアント100にグループ加入が完了した旨を示すデータ送信する(ステップS108)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。   The always-on server 200 transmits data indicating that the group subscription has been completed to the client 100 (step S108). Specifically, the CPU 210 transmits the data to the client 100 through the communication interface 260 using the WebSocket protocol.

以下では、より詳細に、クライアント100のグループ加入の処理手順の詳細について説明する。まずは、クライアント100に予めグループIDが書き込まれている場合のグループ加入の処理手順の詳細について説明する。図12は、本実施の形態にかかるクライアント100に予めグループIDが書き込まれている場合のグループ加入の処理手順の詳細を示すシーケンス図である。   In the following, details of the processing procedure for group joining of the client 100 will be described. First, the details of the procedure for joining a group when a group ID is written in the client 100 in advance will be described. FIG. 12 is a sequence diagram showing details of the group joining processing procedure when a group ID is written in advance in the client 100 according to the present embodiment.

図12を参照して、たとえば、クライアント100は、電源がONされたときに、常時接続サーバ200にグループに加入するための要求を送信する(ステップS112)。具体的には、クライアント100のCPU110は、電源がONされたときに、メモリ120からグループIDを読み出す。そして、CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信する。グループ加入要求は、グループを特定するためのグループIDを含む。   Referring to FIG. 12, for example, when the power is turned on, client 100 transmits a request for joining the group to always-on server 200 (step S112). Specifically, the CPU 110 of the client 100 reads the group ID from the memory 120 when the power is turned on. Then, the CPU 110 transmits a group joining request to the always-on server 200 using the WebSocket protocol via the communication interface 160. The group join request includes a group ID for specifying the group.

なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信してもよい。この場合は、グループ加入要求は、クライアント100を特定するための接続IDも含む。   Note that the CPU 110 of the client 100 may transmit a group join request to the always-on server 200 using the HTTP protocol via the communication interface 160. In this case, the group join request also includes a connection ID for specifying the client 100.

常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS114)。CPU110は、受信したグループIDが対応関係DB222に含まれていない場合、新たにグループIDを作成して、対応関係DB221と対応関係DB222とに追加する。ただし、受信したグループIDが対応関係DB222に含まれていない場合、CPU210は、グループ加入要求を却下してもよい。   The CPU 210 of the always-on server 200 determines whether or not the received group ID is included in the correspondence DB 222 (step S114). When the received group ID is not included in the correspondence DB 222, the CPU 110 newly creates a group ID and adds it to the correspondence DB 221 and the correspondence DB 222. However, if the received group ID is not included in the correspondence DB 222, the CPU 210 may reject the group join request.

CPU210は、受信したグループIDが対応関係DB222に含まれている場合、クライアント100を特定するための接続IDをグループIDに対応付けてメモリ220に記憶する(ステップS116)。具体的には、図11に示すように、CPU210が、対応関係DB222に、接続IDとグループIDとの組み合わせを追加する。   When the received group ID is included in the correspondence DB 222, the CPU 210 stores the connection ID for specifying the client 100 in the memory 220 in association with the group ID (step S116). Specifically, as illustrated in FIG. 11, the CPU 210 adds a combination of a connection ID and a group ID to the correspondence DB 222.

常時接続サーバ200は、クライアント100にグループ加入が完了した旨を示すデータ送信する(ステップS118)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。   The always-on server 200 transmits data indicating that the group subscription is completed to the client 100 (step S118). Specifically, the CPU 210 transmits the data to the client 100 through the communication interface 260 using the WebSocket protocol.

次に、ユーザ指定のグループへの加入の処理手順の詳細について説明する。すなわち、ユーザが、所望のグループIDをクライアント100に入力できる場合について説明する。図13は、本実施の形態にかかるユーザ指定のグループへの加入の処理手順の詳細を示すシーケンス図である。   Next, details of the procedure for joining a user-specified group will be described. That is, a case where the user can input a desired group ID to the client 100 will be described. FIG. 13 is a sequence diagram showing details of a processing procedure for joining a user-specified group according to the present embodiment.

図13を参照して、たとえば、クライアント100は、ユーザから、グループIDの入力を受け付ける(ステップS121)。具体的には、CPU110は、入出力部130を介して、グループIDの入力を受け付ける。CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信する(ステップS122)。グループ加入要求は、グループを特定するためのグループIDを含む。   Referring to FIG. 13, for example, the client 100 receives an input of a group ID from the user (step S121). Specifically, CPU 110 accepts input of a group ID via input / output unit 130. The CPU 110 transmits a group join request to the always-on server 200 using the WebSocket protocol via the communication interface 160 (step S122). The group join request includes a group ID for specifying the group.

なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信してもよい。この場合は、グループ加入要求は、クライアント100を特定するための接続IDも含む。   Note that the CPU 110 of the client 100 may transmit a group join request to the always-on server 200 using the HTTP protocol via the communication interface 160. In this case, the group join request also includes a connection ID for specifying the client 100.

常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS124)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、新たにグループIDを作成して、対応関係DB221と対応関係DB222とに追加する。ただし、受信したグループIDが対応関係DB222に含まれていない場合、CPU210は、グループ加入要求を却下してもよい。   The CPU 210 of the always-on server 200 determines whether or not the received group ID is included in the correspondence DB 222 (step S124). If the received group ID is not included in the correspondence DB 222, the CPU 210 creates a new group ID and adds it to the correspondence DB 221 and the correspondence DB 222. However, if the received group ID is not included in the correspondence DB 222, the CPU 210 may reject the group join request.

CPU210は、受信したグループIDが対応関係DB222に含まれている場合、クライアント100を特定するための接続IDをグループIDに対応付けて対応関係DB222に記憶する(ステップS126)。具体的には、図11に示すように、CPU210が、対応関係DB222に、接続IDとグループIDとの組み合わせを追加する。   When the received group ID is included in the correspondence DB 222, the CPU 210 stores a connection ID for specifying the client 100 in the correspondence DB 222 in association with the group ID (step S126). Specifically, as illustrated in FIG. 11, the CPU 210 adds a combination of a connection ID and a group ID to the correspondence DB 222.

常時接続サーバ200は、クライアント100にグループ加入が完了した旨を示すデータ送信する(ステップS128)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。
<アプリケーションサーバによるクライアント加入の処理手順の詳細>
The always-on server 200 transmits data indicating that the group subscription is completed to the client 100 (step S128). Specifically, the CPU 210 transmits the data to the client 100 through the communication interface 260 using the WebSocket protocol.
<Details of client application processing procedure by application server>

次に、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるクライアント加入の処理手順の詳細について説明する。図14は、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるクライアント加入の処理手順の詳細を示すシーケンス図である。   Next, details of a client subscription processing procedure by the application server 300 in the network system 1 according to the present embodiment will be described. FIG. 14 is a sequence diagram showing details of a client subscription processing procedure by the application server 300 in the network system 1 according to the present embodiment.

図14を参照して、アプリケーションサーバ300は、常時接続サーバ200にクライアント100をグループに加入させるための加入要求を送信する(ステップS132)。具体的には、アプリケーションサーバ300のCPU310は、管理人またはサービス用のアプリケーションプログラムなどの要求に応じて、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にクライアント加入要求を送信する。たとえば、クライアント加入要求は、グループIDとグループに属するクライアントの接続IDとを含む。   Referring to FIG. 14, the application server 300 transmits a subscription request for allowing the client 100 to join the group to the always-on server 200 (step S132). Specifically, the CPU 310 of the application server 300 makes a client subscription request to the always-on server 200 using the HTTP protocol via the communication interface 360 in response to a request from an administrator or a service application program. Send. For example, the client subscription request includes a group ID and a connection ID of a client belonging to the group.

常時接続サーバ200のCPU210は、クライアント加入要求に応じて、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS134)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ加入要求を却下する。   In response to the client subscription request, the CPU 210 of the always-on server 200 determines whether or not the received group ID is included in the correspondence DB 222 (step S134). When the received group ID is not included in the correspondence DB 222, the CPU 210 rejects the group join request.

受信したグループIDが対応関係DB222に含まれている場合、CPU210は、図11に示すように、対応関係DB222に、接続IDとグループIDとの組み合わせを登録する(ステップS136)。常時接続サーバ200は、アプリケーションサーバ300にクライアント100のグループへの加入が完了した旨を示すデータ送信する(ステップS138)。   When the received group ID is included in the correspondence DB 222, the CPU 210 registers the combination of the connection ID and the group ID in the correspondence DB 222 as shown in FIG. 11 (step S136). The always-on server 200 transmits data indicating that the client 100 has been joined to the group to the application server 300 (step S138).

次に、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるグループ作成の処理手順の詳細について説明する。図15は、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるクライアント加入の処理手順の詳細を示すシーケンス図である。   Next, details of a group creation processing procedure by the smartphone 500 or an external personal computer in the network system 1 according to the present embodiment will be described. FIG. 15 is a sequence diagram showing details of a client subscription processing procedure by the smartphone 500 or an external personal computer in the network system 1 according to the present embodiment.

図15を参照して、スマートフォン500または外部のパーソナルコンピュータは、ユーザまたはアプリケーションプログラムからの要求に応じて、アプリケーションサーバ300に、クライアント100をグループに加入させるためのクライアント加入要求を送信する(ステップS140)。クライアント加入要求は、グループを特定するためのグループIDとグループに属するクライアントの接続IDとを含む。   Referring to FIG. 15, smartphone 500 or an external personal computer transmits a client subscription request for allowing client 100 to join a group to application server 300 in response to a request from a user or an application program (step S140). ). The client subscription request includes a group ID for specifying a group and a connection ID of a client belonging to the group.

アプリケーションサーバ300は、常時接続サーバ200にクライアント加入要求を送信する(ステップS142)。具体的には、アプリケーションサーバ300のCPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にクライアント加入要求を送信する。   The application server 300 transmits a client subscription request to the always-on server 200 (step S142). Specifically, the CPU 310 of the application server 300 transmits a client subscription request to the always-on server 200 using the HTTP protocol via the communication interface 360.

常時接続サーバ200のCPU210は、受信したクライアント加入要求に含まれるグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS144)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ加入要求を却下する。   The CPU 210 of the always-on server 200 determines whether or not the group ID included in the received client subscription request is included in the correspondence DB 222 (step S144). When the received group ID is not included in the correspondence DB 222, the CPU 210 rejects the group join request.

常時接続サーバ200のCPU210は、受信したグループIDが対応関係DB222に含まれている場合、図11に示すように、対応関係DB221に、グループIDとグループに属するクライアントの接続IDとの組み合わせを登録する(ステップS146)。常時接続サーバ200は、アプリケーションサーバ300に、グループへのクライアント100の加入が完了した旨を示すデータを送信する(ステップS148)。
<新たなグループ作成の処理手順の詳細>
When the received group ID is included in the correspondence DB 222, the CPU 210 of the always-on server 200 registers the combination of the group ID and the connection ID of the client belonging to the group in the correspondence DB 221 as shown in FIG. (Step S146). The always-on server 200 transmits data indicating that the client 100 has joined the group to the application server 300 (step S148).
<Details of new group creation procedure>

次に、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるグループ作成の処理手順の詳細について説明する。図16は、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるグループ作成の処理手順の詳細を示すシーケンス図である。   Next, details of a group creation processing procedure by the application server 300 in the network system 1 according to the present embodiment will be described. FIG. 16 is a sequence diagram illustrating details of a group creation processing procedure by the application server 300 in the network system 1 according to the present embodiment.

図16を参照して、アプリケーションサーバ300は、常時接続サーバ200に新たなグループを作成するための要求を送信する(ステップS151)。具体的には、アプリケーションサーバ300のCPU310は、管理人またはサービス用のアプリケーションプログラムなどからの要求に応じて、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ作成要求を送信する。たとえば、グループ作成要求は、新たなグループを特定するためのグループ名称およびグループIDと、新たなグループに属するべきクライアントの接続IDとを含む。   Referring to FIG. 16, the application server 300 transmits a request for creating a new group to the always-on server 200 (step S151). Specifically, the CPU 310 of the application server 300 makes a group creation request to the always-on server 200 using the HTTP protocol via the communication interface 360 in response to a request from an administrator or a service application program. Send. For example, the group creation request includes a group name and group ID for specifying a new group, and a connection ID of a client that should belong to the new group.

常時接続サーバ200のCPU210は、グループ作成要求に応じて、対応関係DB221に、新たなグループ名称とグループIDと組み合わせを追加する。さらに、CPU210は、対応関係DB222に新たなグループIDと新たなグループに属するべきクライアントの接続IDとの組み合わせを追加する。CPU210は、通信インターフェイス260を介して、グループの作成が成功した旨をアプリケーションサーバ300に送信する。   The CPU 210 of the always-on server 200 adds a new group name and group ID to the correspondence DB 221 in response to a group creation request. Further, the CPU 210 adds a combination of a new group ID and a client connection ID that should belong to the new group to the correspondence DB 222. The CPU 210 transmits to the application server 300 that the group has been successfully created via the communication interface 260.

クライアント100のCPU110は、ユーザからの命令に応じて、あるいはアプリケーションサーバ300からの要求に応じて、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信する(ステップS152)。グループ加入要求は、作成されたグループを特定するためのグループIDを含む。   The CPU 110 of the client 100 transmits a group join request to the always-on server 200 using the WebSocket protocol via the communication interface 160 according to a command from the user or according to a request from the application server 300. (Step S152). The group join request includes a group ID for specifying the created group.

常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS154)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ加入要求を却下する。ただし、受信したグループIDが対応関係DB222に含まれていない場合、CPU210は、新たにグループIDを作成して、対応関係DB221と対応関係DB222とに追加してもよい。   The CPU 210 of the always-on server 200 determines whether or not the received group ID is included in the correspondence DB 222 (step S154). When the received group ID is not included in the correspondence DB 222, the CPU 210 rejects the group join request. However, if the received group ID is not included in the correspondence DB 222, the CPU 210 may newly create a group ID and add it to the correspondence DB 221 and the correspondence DB 222.

CPU210は、受信したグループIDが対応関係DB222に含まれている場合、クライアント100を特定するための接続IDをグループIDに対応付けて対応関係DB222に記憶する(ステップS156)。具体的には、図11に示すように、CPU210が、対応関係DB222に、接続IDとグループIDとの組み合わせを追加する。   When the received group ID is included in the correspondence DB 222, the CPU 210 stores the connection ID for specifying the client 100 in the correspondence DB 222 in association with the group ID (step S156). Specifically, as illustrated in FIG. 11, the CPU 210 adds a combination of a connection ID and a group ID to the correspondence DB 222.

常時接続サーバ200は、クライアント100にグループ加入が完了した旨を示すデータ送信する(ステップS158)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。   The always-on server 200 transmits data indicating that group subscription has been completed to the client 100 (step S158). Specifically, the CPU 210 transmits the data to the client 100 through the communication interface 260 using the WebSocket protocol.

次に、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるグループ作成の処理手順の詳細について説明する。図17は、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるグループ作成の処理手順の詳細を示すシーケンス図である。   Next, details of a group creation processing procedure by the smartphone 500 or an external personal computer in the network system 1 according to the present embodiment will be described. FIG. 17 is a sequence diagram illustrating details of a group creation processing procedure by the smartphone 500 or an external personal computer in the network system 1 according to the present embodiment.

図17を参照して、スマートフォン500または外部のパーソナルコンピュータは、ユーザまたはアプリケーションプログラムからの要求に応じて、アプリケーションサーバ300に、新たなグループを作成するためのグループ作成要求を送信する(ステップS160)。グループ作成要求は、新たなグループを特定するためのグループ名称およびグループIDと、新たなグループに属するべきクライアントの接続IDとを含む。   Referring to FIG. 17, smartphone 500 or an external personal computer transmits a group creation request for creating a new group to application server 300 in response to a request from a user or an application program (step S160). . The group creation request includes a group name and group ID for specifying a new group, and a connection ID of a client that should belong to the new group.

アプリケーションサーバ300は、常時接続サーバ200にグループ作成要求を送信する(ステップS161)。具体的には、アプリケーションサーバ300のCPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ作成要求を送信する。グループ作成要求は、新たなグループを特定するためのグループ名称およびグループIDと、新たなグループに属するべきクライアントの接続IDとを含む。   The application server 300 transmits a group creation request to the always-on server 200 (step S161). Specifically, the CPU 310 of the application server 300 transmits a group creation request to the always-on server 200 using the HTTP protocol via the communication interface 360. The group creation request includes a group name and group ID for specifying a new group, and a connection ID of a client that should belong to the new group.

常時接続サーバ200のCPU210は、グループ作成要求に応じて、対応関係DB221に、新たなグループIDを追加する。さらに、CPU210は、対応関係DB222に新たなグループIDと新たなグループに属するべきクライアントの接続IDとの組み合わせを追加する。   The CPU 210 of the always-on server 200 adds a new group ID to the correspondence DB 221 in response to a group creation request. Further, the CPU 210 adds a combination of a new group ID and a client connection ID that should belong to the new group to the correspondence DB 222.

クライアント100のCPU110は、ユーザからの命令に応じて、あるいはアプリケーションサーバ300からの要求に応じて、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信する(ステップS162)。グループ加入要求は、作成されたグループを特定するためのグループIDを含む。   The CPU 110 of the client 100 transmits a group join request to the always-on server 200 using the WebSocket protocol via the communication interface 160 according to a command from the user or according to a request from the application server 300. (Step S162). The group join request includes a group ID for specifying the created group.

常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS164)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ加入要求を却下する。ただし、受信したグループIDが対応関係DB222に含まれていない場合、CPU210は、新たにグループIDを作成して、対応関係DB221と対応関係DB222とに追加してもよい。   The CPU 210 of the always-on server 200 determines whether or not the received group ID is included in the correspondence DB 222 (step S164). When the received group ID is not included in the correspondence DB 222, the CPU 210 rejects the group join request. However, if the received group ID is not included in the correspondence DB 222, the CPU 210 may newly create a group ID and add it to the correspondence DB 221 and the correspondence DB 222.

CPU210は、受信したグループIDが対応関係DB222に含まれている場合、クライアント100を特定するための接続IDをグループIDに対応付けて対応関係DBに記憶する(ステップS166)。具体的には、図11に示すように、CPU210が、対応関係DB222に、接続IDとグループIDとの組み合わせを追加する。   When the received group ID is included in the correspondence DB 222, the CPU 210 stores a connection ID for identifying the client 100 in the correspondence DB in association with the group ID (step S166). Specifically, as illustrated in FIG. 11, the CPU 210 adds a combination of a connection ID and a group ID to the correspondence DB 222.

常時接続サーバ200は、クライアント100にグループ加入が完了した旨を示すデータを送信する(ステップS168)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。
<クライアントがグループから脱退する際の処理手順の詳細>
The always-on server 200 transmits data indicating that the group subscription is completed to the client 100 (step S168). Specifically, the CPU 210 transmits the data to the client 100 through the communication interface 260 using the WebSocket protocol.
<Details of processing procedure when a client leaves a group>

次に、本実施の形態にかかるネットワークシステム1におけるクライアント100のグループ脱退の処理手順の詳細について説明する。図18は、本実施の形態にかかるネットワークシステム1におけるクライアント100のグループ脱退の処理手順の詳細を示すシーケンス図である。   Next, details of the group withdrawal processing procedure of the client 100 in the network system 1 according to the present embodiment will be described. FIG. 18 is a sequence diagram showing details of the group withdrawal processing procedure of the client 100 in the network system 1 according to the present embodiment.

図18を参照して、クライアント100は、常時接続サーバ200にグループから脱退するための要求を送信する(ステップS202)。具体的には、クライアント100のCPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ脱退要求を送信する。グループ脱退要求は、グループを特定するためのグループIDを含む。   With reference to FIG. 18, the client 100 transmits a request for withdrawal from the group to the always-on server 200 (step S202). Specifically, the CPU 110 of the client 100 transmits a group withdrawal request to the always-on server 200 using the WebSocket protocol via the communication interface 160. The group withdrawal request includes a group ID for identifying the group.

なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ脱退要求を送信してもよい。この場合は、グループ脱退要求は、クライアント100を特定するための接続IDも含む。   Note that the CPU 110 of the client 100 may transmit a group withdrawal request to the always-on server 200 using the HTTP protocol via the communication interface 160. In this case, the group withdrawal request also includes a connection ID for specifying the client 100.

常時接続サーバ200は、図19に示すように、CPU210が、対応関係DB222から、接続IDとグループIDとの組み合わせを削除する(ステップS206)。   In the always-on server 200, as shown in FIG. 19, the CPU 210 deletes the combination of the connection ID and the group ID from the correspondence DB 222 (step S206).

常時接続サーバ200は、クライアント100にグループ脱退が完了した旨を示すデータ送信する(ステップS208)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。   The always-on server 200 transmits data indicating that the group withdrawal has been completed to the client 100 (step S208). Specifically, the CPU 210 transmits the data to the client 100 through the communication interface 260 using the WebSocket protocol.

以下では、より詳細に、クライアント100のグループ脱退の処理手順の詳細について説明する。まずは、クライアント100に予めグループIDが書き込まれている場合のグループ加入の処理手順の詳細について説明する。図20は、本実施の形態にかかるクライアント100に予めグループIDが書き込まれている場合のグループ加入の処理手順の詳細を示すシーケンス図である。   In the following, the details of the group withdrawal processing procedure of the client 100 will be described in detail. First, the details of the procedure for joining a group when a group ID is written in the client 100 in advance will be described. FIG. 20 is a sequence diagram showing details of a group joining processing procedure when a group ID is written in advance in the client 100 according to the present embodiment.

図20を参照して、たとえば、クライアント100は、常時接続サーバ200にグループから脱退するための要求を送信する(ステップS212)。具体的には、クライアント100のCPU110は、入出力部130を介してユーザからのリセット命令を受け付けたとき、あるいは入出力部130を介してユーザからの脱退命令を受け付けたときなどに、メモリ120からグループIDを読み出す。そして、CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ脱退要求を送信する。グループ脱退要求は、グループを特定するためのグループIDを含む。   With reference to FIG. 20, for example, the client 100 transmits a request for withdrawal from the group to the always-on server 200 (step S212). Specifically, the CPU 110 of the client 100 receives the reset command from the user via the input / output unit 130 or the memory 120 when receiving a withdrawal command from the user via the input / output unit 130. The group ID is read from. Then, the CPU 110 transmits a group withdrawal request to the always-on server 200 using the WebSocket protocol via the communication interface 160. The group withdrawal request includes a group ID for identifying the group.

なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ脱退要求を送信してもよい。この場合は、グループ脱退要求は、クライアント100を特定するための接続IDも含む。   Note that the CPU 110 of the client 100 may transmit a group withdrawal request to the always-on server 200 using the HTTP protocol via the communication interface 160. In this case, the group withdrawal request also includes a connection ID for specifying the client 100.

常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS214)。CPU110は、受信したグループIDが対応関係DB222に含まれていない場合、グループ脱退要求を却下してもよい。   The CPU 210 of the always-on server 200 determines whether or not the received group ID is included in the correspondence DB 222 (step S214). When the received group ID is not included in the correspondence DB 222, the CPU 110 may reject the group withdrawal request.

受信したグループIDが対応関係DB222に含まれている場合、CPU210は、図19に示すように、対応関係DB222から、接続IDとグループIDとの組み合わせを削除する(ステップS216)。   When the received group ID is included in the correspondence DB 222, the CPU 210 deletes the combination of the connection ID and the group ID from the correspondence DB 222 as shown in FIG. 19 (step S216).

常時接続サーバ200は、クライアント100にグループ脱退が完了した旨を示すデータ送信する(ステップS218)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。   The always-on server 200 transmits data indicating that the group withdrawal has been completed to the client 100 (step S218). Specifically, the CPU 210 transmits the data to the client 100 through the communication interface 260 using the WebSocket protocol.

次に、ユーザ指定のグループからの脱退の処理手順の詳細について説明する。図21は、ユーザ指定のグループからの脱退の処理手順の詳細を示すシーケンス図である。   Next, details of the processing procedure for withdrawal from a user-specified group will be described. FIG. 21 is a sequence diagram showing details of a processing procedure for withdrawal from a user-specified group.

図21を参照して、たとえば、クライアント100は、ユーザから、グループIDの入力を受け付ける(ステップS221)。具体的には、CPU110は、入出力部130を介して、グループIDの入力を受け付ける。CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ脱退要求を送信する(ステップS222)。グループ脱退要求は、グループを特定するためのグループIDを含む。   Referring to FIG. 21, for example, the client 100 receives an input of a group ID from the user (step S221). Specifically, CPU 110 accepts input of a group ID via input / output unit 130. The CPU 110 transmits a group withdrawal request to the always-on server 200 using the WebSocket protocol via the communication interface 160 (step S222). The group withdrawal request includes a group ID for identifying the group.

なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ脱退要求を送信してもよい。この場合は、グループ脱退要求は、クライアント100を特定するための接続IDも含む。   Note that the CPU 110 of the client 100 may transmit a group withdrawal request to the always-on server 200 using the HTTP protocol via the communication interface 160. In this case, the group withdrawal request also includes a connection ID for specifying the client 100.

常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS224)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ脱退要求を却下してもよい。   The CPU 210 of the always-on server 200 determines whether or not the received group ID is included in the correspondence DB 222 (step S224). When the received group ID is not included in the correspondence DB 222, the CPU 210 may reject the group withdrawal request.

受信したグループIDが対応関係DB222に含まれている場合、CPU210は、図19に示すように、対応関係DB222から、接続IDとグループIDとの組み合わせを削除する(ステップS226)。   When the received group ID is included in the correspondence DB 222, the CPU 210 deletes the combination of the connection ID and the group ID from the correspondence DB 222 as shown in FIG. 19 (step S226).

常時接続サーバ200は、クライアント100にグループ脱退が完了した旨を示すデータ送信する(ステップS228)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。
<アプリケーションサーバによるクライアント脱退の処理手順の詳細>
The always-on server 200 transmits data indicating that the group withdrawal has been completed to the client 100 (step S228). Specifically, the CPU 210 transmits the data to the client 100 through the communication interface 260 using the WebSocket protocol.
<Details of client withdrawal processing procedure by application server>

次に、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるクライアント脱退の処理手順の詳細について説明する。図22は、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるクライアント脱退の処理手順の詳細を示すシーケンス図である。   Next, details of a processing procedure for withdrawal from the client by the application server 300 in the network system 1 according to the present embodiment will be described. FIG. 22 is a sequence diagram showing details of a client withdrawal process procedure by the application server 300 in the network system 1 according to the present embodiment.

図22を参照して、アプリケーションサーバ300は、常時接続サーバ200にクライアント100を脱退させるための脱退要求を送信する(ステップS252)。具体的には、アプリケーションサーバ300のCPU310は、管理人またはサービス用のアプリケーションプログラムなどの要求に応じて、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にクライアント脱退要求を送信する。たとえば、クライアント脱退要求は、グループIDとグループに属するクライアントの接続IDとを含む。   Referring to FIG. 22, application server 300 transmits a withdrawal request for withdrawal of client 100 to constant connection server 200 (step S252). Specifically, the CPU 310 of the application server 300 makes a client withdrawal request to the always-on server 200 using the HTTP protocol via the communication interface 360 in response to a request from an administrator or a service application program. Send. For example, the client withdrawal request includes a group ID and a connection ID of a client belonging to the group.

常時接続サーバ200のCPU210は、クライアント脱退要求に応じて、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS254)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ脱退要求を却下する。   The CPU 210 of the always-on server 200 determines whether or not the received group ID is included in the correspondence DB 222 in response to the client withdrawal request (step S254). When the received group ID is not included in the correspondence DB 222, the CPU 210 rejects the group withdrawal request.

受信したグループIDが対応関係DB222に含まれている場合、CPU210は、図19に示すように、対応関係DB222から、接続IDとグループIDとの組み合わせを削除する(ステップS256)。常時接続サーバ200は、アプリケーションサーバ300にクライアント100のグループからの脱退が完了した旨を示すデータ送信する(ステップS258)。   When the received group ID is included in the correspondence DB 222, the CPU 210 deletes the combination of the connection ID and the group ID from the correspondence DB 222 as shown in FIG. 19 (step S256). The always-on server 200 transmits data indicating that the withdrawal of the client 100 from the group is completed to the application server 300 (step S258).

次に、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるグループ作成の処理手順の詳細について説明する。図23は、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるクライアント脱退の処理手順の詳細を示すシーケンス図である。   Next, details of a group creation processing procedure by the smartphone 500 or an external personal computer in the network system 1 according to the present embodiment will be described. FIG. 23 is a sequence diagram showing details of a client withdrawal processing procedure by the smartphone 500 or an external personal computer in the network system 1 according to the present embodiment.

図23を参照して、スマートフォン500または外部のパーソナルコンピュータは、ユーザまたはアプリケーションプログラムからの要求に応じて、アプリケーションサーバ300に、クライアント100をグループから脱退させるためのクライアント脱退要求を送信する(ステップS260)。クライアント脱退要求は、グループを特定するためのグループIDとグループに属するクライアントの接続IDとを含む。   Referring to FIG. 23, smartphone 500 or an external personal computer transmits a client withdrawal request for withdrawal of client 100 from the group to application server 300 in response to a request from a user or an application program (step S260). ). The client withdrawal request includes a group ID for specifying a group and a connection ID of a client belonging to the group.

アプリケーションサーバ300は、常時接続サーバ200にクライアント脱退要求を送信する(ステップS262)。具体的には、アプリケーションサーバ300のCPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にクライアント脱退要求を送信する。   The application server 300 transmits a client withdrawal request to the always-on server 200 (step S262). Specifically, the CPU 310 of the application server 300 transmits a client withdrawal request to the constant connection server 200 via the communication interface 360 using the HTTP protocol.

常時接続サーバ200のCPU210は、受信したクライアント脱退要求に含まれるグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS264)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ脱退要求を却下する。   The CPU 210 of the always-on server 200 determines whether or not the group ID included in the received client withdrawal request is included in the correspondence DB 222 (step S264). When the received group ID is not included in the correspondence DB 222, the CPU 210 rejects the group withdrawal request.

常時接続サーバ200のCPU210は、受信したグループIDが対応関係DB222に含まれている場合、図19に示すように、対応関係DB221から、グループIDとグループに属するクライアントの接続IDとの組み合わせを削除する(ステップS266)。常時接続サーバ200は、アプリケーションサーバ300に、グループからのクライアント100の脱退が完了した旨を示すデータを送信する(ステップS268)。
<クライアントからグループへのデータ送信の処理手順の詳細>
When the received group ID is included in the correspondence DB 222, the CPU 210 of the always-on server 200 deletes the combination of the group ID and the connection ID of the client belonging to the group from the correspondence DB 221 as shown in FIG. (Step S266). The always-on server 200 transmits data indicating that the withdrawal of the client 100 from the group is completed to the application server 300 (step S268).
<Details of processing procedure for data transmission from client to group>

次に、本実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細について説明する。図24は、本実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。   Next, details of a processing procedure of data transmission from the client 100 to the group in the network system 1 according to the present embodiment will be described. FIG. 24 is a sequence diagram illustrating details of a processing procedure of data transmission from the client 100 to the group in the network system 1 according to the present embodiment.

図24を参照して、クライアント100は、ユーザからメッセージを受け付ける(ステップS311)。具体的には、CPU110は、入出力部130を介してユーザからのメッセージの入力とグループIDの指定を受け付ける(ステップS311)。CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS312)。グループ一斉送信要求は、グループIDおよびメッセージを含む。   Referring to FIG. 24, client 100 receives a message from the user (step S311). Specifically, the CPU 110 receives a message input from the user and designation of a group ID via the input / output unit 130 (step S311). The CPU 110 transmits a group broadcast request to the always-on server 200 using the WebSocket protocol via the communication interface 160 (step S312). The group broadcast request includes a group ID and a message.

なお、ユーザからのメッセージ入力に限らず、たとえば、CPU110は、所定の時刻になった際に、常時接続サーバ200にグループ一斉送信要求を送信しても良い。あるいは、CPU110は、センサからの入力に応じて、常時接続サーバ200にグループ一斉送信要求を送信しても良い。   For example, the CPU 110 may transmit a group simultaneous transmission request to the always-on server 200 when a predetermined time comes. Alternatively, the CPU 110 may transmit a group simultaneous transmission request to the constant connection server 200 in accordance with an input from the sensor.

また、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ一斉送信要求を送信してもよい。この場合は、グループ一斉送信要求は、クライアント100を特定するための接続IDも含むことが好ましい。   Further, the CPU 110 of the client 100 may transmit a group simultaneous transmission request to the always-on server 200 using the HTTP protocol via the communication interface 160. In this case, it is preferable that the group simultaneous transmission request also includes a connection ID for specifying the client 100.

常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、指定されたグループIDに対応する接続IDを順に読み出して(ステップS314)、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS316)。CPU210は、グループIDに対応するクライアント100全てに関して、ステップS314とステップS316の送信処理を繰り返す。   The CPU 210 of the always-on server 200 reads out the connection IDs corresponding to the specified group ID in order by referring to the correspondence DB 222 (step S314), and uses the WebSocket protocol to connect the client via the communication interface 260. A message is transmitted to 100 (step S316). CPU210 repeats the transmission process of step S314 and step S316 regarding all the clients 100 corresponding to group ID.

CPU210は、グループIDに対応するクライアント100全てに関して、ステップS314とステップS316のデータ送信処理が完了すると、送信結果を集計する(ステップS317)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介して送信元のクライアント100に集計された送信結果を送信する(ステップS318)。   When the data transmission processing in steps S314 and S316 is completed for all the clients 100 corresponding to the group ID, the CPU 210 totals the transmission results (step S317). The CPU 210 transmits the aggregated transmission results to the transmission source client 100 via the communication interface 260 using the WebSocket protocol (step S318).

なお、送信結果は、データが無事にクライアント100に受信されたか否かに関する情報を含む。また、集計された送信結果は、送信結果のリストおよび/または通信成功率(=データを無事に受信したクライアント100の数/グループに属するクライアント100の数)を含む。そして、本実施形態においては、常時接続サーバ200は、送信結果または集計された送信結果をメモリ220に蓄積する。ただし、送信結果または集計された送信結果の蓄積場所は常時接続サーバ200のメモリ220に限定されるものではなく、常時接続サーバ200は、送信結果または集計された送信結果を他のデータベース(たとえば、対応関係DB250など)またはNAS(Network Attached Storage)などの外部ストレージに蓄積してもよい。これによって、アプリケーションサーバ300およびクライアント100などの外部の機器が送信結果を参照することができる。
<アプリケーションサーバからグループへのデータ送信の処理手順の詳細>
The transmission result includes information regarding whether or not the data has been successfully received by the client 100. The aggregated transmission results include a list of transmission results and / or a communication success rate (= number of clients 100 that have received data successfully / number of clients 100 belonging to a group). In the present embodiment, the always-on server 200 stores the transmission results or the aggregated transmission results in the memory 220. However, the storage location of the transmission results or the aggregated transmission results is not limited to the memory 220 of the always-on server 200. The always-on server 200 stores the transmission results or the aggregated transmission results in another database (for example, It may be stored in an external storage such as a correspondence relationship DB 250) or NAS (Network Attached Storage). As a result, external devices such as the application server 300 and the client 100 can refer to the transmission result.
<Details of processing procedure for data transmission from application server to group>

次に、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細について説明する。図25は、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。   Next, details of a processing procedure of data transmission from the application server 300 to the group in the network system 1 according to the present embodiment will be described. FIG. 25 is a sequence diagram illustrating details of a processing procedure of data transmission from the application server 300 to the group in the network system 1 according to the present embodiment.

図25を参照して、アプリケーションサーバ300は、管理人、自身のアプリケーションプログラム、スマートフォン500、外部のパーソナルコンピュータなどからメッセージを受け付ける(ステップS411)。ここでは、CPU310は、入出力部330を介して管理人からのメッセージの入力を受け付ける。CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS412)。グループ一斉送信要求は、グループIDおよびメッセージを含む。   Referring to FIG. 25, application server 300 receives a message from an administrator, its own application program, smartphone 500, an external personal computer, or the like (step S411). Here, CPU 310 accepts an input of a message from an administrator via input / output unit 330. The CPU 310 transmits a group simultaneous transmission request to the constant connection server 200 using the HTTP protocol via the communication interface 360 (step S412). The group broadcast request includes a group ID and a message.

常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、グループIDに対応する接続IDを順に読み出す(ステップS414)。CPU1210は、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS416)。CPU210は、グループIDに対応するクライアント100全てに関して、ステップS414とステップS416の送信処理を繰り返す。   The CPU 210 of the always-on server 200 reads the connection IDs corresponding to the group IDs in order by referring to the correspondence DB 222 (step S414). The CPU 1210 transmits a message to the client 100 via the communication interface 260 using the WebSocket protocol (step S416). CPU210 repeats the transmission process of step S414 and step S416 regarding all the clients 100 corresponding to group ID.

CPU210は、グループIDに対応するクライアント100全てに関して、ステップS414とステップS416の送信処理が完了すると、送信結果を集計する(ステップS417)。CPU210は、HTTPプロトコルを利用して、通信インターフェイス260を介して送信元のアプリケーションサーバ300に集計された送信結果を送信する(ステップS418)。   When the transmission processing of step S414 and step S416 is completed for all the clients 100 corresponding to the group ID, the CPU 210 totals the transmission results (step S417). The CPU 210 transmits the aggregated transmission results to the transmission source application server 300 via the communication interface 260 using the HTTP protocol (step S418).

なお、送信結果は、データが無事にクライアント100に受信されたか否かに関する情報を含む。また、集計された送信結果は、送信結果のリストおよび/または通信成功率(=データを無事に受信したクライアント100の数/グループに属するクライアント100の数)を含む。そして、本実施形態においては、常時接続サーバ200は、送信結果または集計された送信結果をメモリ220に蓄積する。ただし、送信結果または集計された送信結果の蓄積場所は常時接続サーバ200のメモリ220に限定されるものではなく、常時接続サーバ200は、送信結果または集計された送信結果を他のデータベース(たとえば、対応関係DB250など)またはNAS(Network Attached Storage)などの外部ストレージに蓄積してもよい。これによって、アプリケーションサーバ300およびクライアント100などの外部の機器が送信結果を参照することができる。
<第2の実施の形態>
The transmission result includes information regarding whether or not the data has been successfully received by the client 100. The aggregated transmission results include a list of transmission results and / or a communication success rate (= number of clients 100 that have received data successfully / number of clients 100 belonging to a group). In the present embodiment, the always-on server 200 stores the transmission results or the aggregated transmission results in the memory 220. However, the storage location of the transmission results or the aggregated transmission results is not limited to the memory 220 of the always-on server 200. The always-on server 200 stores the transmission results or the aggregated transmission results in another database (for example, It may be stored in an external storage such as a correspondence relationship DB 250) or NAS (Network Attached Storage). As a result, external devices such as the application server 300 and the client 100 can refer to the transmission result.
<Second Embodiment>

第1の実施の形態においては、送信元のクライアント100からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のクライアント100に送信するものであった。しかしながら、本実施の形態においては、常時接続サーバ200が、送信先のクライアント100にデータを送信するたびに送信結果を送信元のクライアント100へと送信するものである。   In the first embodiment, when data is transmitted from the transmission source client 100 to the group, the always-on server 200 transmits after data transmission to all the transmission destination clients 100 belonging to the group is completed. The result is transmitted to the transmission source client 100. However, in this embodiment, the always-on server 200 transmits a transmission result to the transmission source client 100 each time data is transmitted to the transmission destination client 100.

なお、本実施の形態は、第1の実施の形態と比較して、図24に係る動作が異なるだけであって、他の構成は同様である。そのため、他の構成についての説明は、ここでは繰り返さない。   Note that this embodiment differs from the first embodiment only in the operation according to FIG. 24, and the other configurations are the same. Therefore, description of other configurations will not be repeated here.

以下では、本実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細について説明する。図26は、本実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。   Hereinafter, details of a processing procedure of data transmission from the client 100 to the group in the network system 1 according to the present embodiment will be described. FIG. 26 is a sequence diagram illustrating details of a processing procedure of data transmission from the client 100 to the group in the network system 1 according to the present embodiment.

図26を参照して、クライアント100は、ユーザからメッセージを受け付ける(ステップS321)。具体的には、CPU110は、入出力部130を介してユーザからのメッセージの入力を受け付ける(ステップS321)。CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS322)。グループ一斉送信要求は、グループIDおよびメッセージを含む。   Referring to FIG. 26, client 100 receives a message from the user (step S321). Specifically, CPU 110 accepts a message input from the user via input / output unit 130 (step S321). The CPU 110 transmits a group broadcast request to the always-on server 200 using the WebSocket protocol via the communication interface 160 (step S322). The group broadcast request includes a group ID and a message.

常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、グループIDに対応する接続IDを順に読み出す(ステップS324)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS326)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介して送信元のクライアント100に送信結果を通知する(ステップS328)。本実施形態においては、常時接続サーバ200は、送信結果または集計された送信結果をメモリ220に蓄積する。ただし、送信結果または集計された送信結果の蓄積場所は常時接続サーバ200のメモリ220に限定されるものではなく、常時接続サーバ200は、送信結果または集計された送信結果を他のデータベース(たとえば、対応関係DB250など)またはNAS(Network Attached Storage)などの外部ストレージに蓄積してもよい。これによって、アプリケーションサーバ300およびクライアント100などの外部の機器が送信結果を参照することができる。   The CPU 210 of the always-on server 200 sequentially reads out connection IDs corresponding to the group IDs by referring to the correspondence DB 222 (step S324). The CPU 210 transmits a message to the client 100 via the communication interface 260 using the WebSocket protocol (step S326). The CPU 210 notifies the transmission result to the transmission source client 100 via the communication interface 260 using the WebSocket protocol (step S328). In the present embodiment, the always-on server 200 stores the transmission results or the aggregated transmission results in the memory 220. However, the storage location of the transmission results or the aggregated transmission results is not limited to the memory 220 of the always-on server 200. The always-on server 200 stores the transmission results or the aggregated transmission results in another database (for example, It may be stored in an external storage such as a correspondence relationship DB 250) or NAS (Network Attached Storage). As a result, external devices such as the application server 300 and the client 100 can refer to the transmission result.

CPU210は、グループIDに対応するクライアント100全てに関して、ステップS324とステップS326とステップS328の送信処理と送信結果通知処理とを繰り返す。
<第3の実施の形態>
The CPU 210 repeats the transmission process and the transmission result notification process in steps S324, S326, and S328 for all the clients 100 corresponding to the group ID.
<Third Embodiment>

第1の実施の形態においては、送信元のクライアント100からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のクライアント100に送信するものであった。しかしながら、本実施の形態においては、送信元のクライアント100からグループ一斉送信要求を受信した際に常時接続サーバ200が要求を受け付けた旨を送信元のクライアント100に送信し、かつグループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のクライアント100に送信するものである。   In the first embodiment, when data is transmitted from the transmission source client 100 to the group, the always-on server 200 transmits after data transmission to all the transmission destination clients 100 belonging to the group is completed. The result is transmitted to the transmission source client 100. However, in the present embodiment, when the group simultaneous transmission request is received from the transmission source client 100, the fact that the always-on server 200 has accepted the request is transmitted to the transmission source client 100, and all of the groups belonging to the group are transmitted. The transmission result is transmitted to the transmission source client 100 after data transmission to the transmission destination client 100 is completed.

なお、本実施の形態は、第1の実施の形態と比較して、図24に係る動作が異なるだけであって、他の構成は同様である。そのため、他の構成についての説明は、ここでは繰り返さない。   Note that this embodiment differs from the first embodiment only in the operation according to FIG. 24, and the other configurations are the same. Therefore, description of other configurations will not be repeated here.

以下では、本実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細について説明する。図27は、本実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。   Hereinafter, details of a processing procedure of data transmission from the client 100 to the group in the network system 1 according to the present embodiment will be described. FIG. 27 is a sequence diagram illustrating details of a processing procedure of data transmission from the client 100 to the group in the network system 1 according to the present embodiment.

図27を参照して、クライアント100は、ユーザからメッセージを受け付ける(ステップS331)。具体的には、CPU110は、入出力部130を介してユーザからのメッセージの入力を受け付ける。CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS332)。グループ一斉送信要求は、グループIDおよびメッセージを含む。   Referring to FIG. 27, client 100 receives a message from the user (step S331). Specifically, CPU 110 accepts a message input from the user via input / output unit 130. The CPU 110 transmits a group broadcast request to the always-on server 200 using the WebSocket protocol via the communication interface 160 (step S332). The group broadcast request includes a group ID and a message.

常時接続サーバ200のCPU210は、通信インターフェイス260を介して、WebSocketプロトコルを利用して、クライアント100からのグループ一斉送信要求を受け付けた旨を、送信元のクライアント100に送信する(ステップS333)。   The CPU 210 of the always-on server 200 transmits information indicating that the group simultaneous transmission request from the client 100 has been accepted to the transmission source client 100 via the communication interface 260 using the WebSocket protocol (step S333).

常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、グループIDに対応する接続IDを順に読み出す(ステップS334)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS336)。CPU210は、グループIDに対応するクライアント100全てに関して、ステップS334とステップS336の送信処理を繰り返す。   The CPU 210 of the always-on server 200 reads the connection IDs corresponding to the group IDs in order by referring to the correspondence DB 222 (step S334). The CPU 210 transmits a message to the client 100 via the communication interface 260 using the WebSocket protocol (step S336). CPU210 repeats the transmission process of step S334 and step S336 about all the clients 100 corresponding to group ID.

CPU210は、グループIDに対応するクライアント100全てに関して、ステップS334とステップS336の送信処理が完了すると、送信結果を集計する(ステップS337)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介して送信元のクライアント100に集計された送信結果を送信する(ステップS338)。   When the transmission processing of step S334 and step S336 is completed for all the clients 100 corresponding to the group ID, the CPU 210 totals the transmission results (step S337). The CPU 210 transmits the totaled transmission results to the transmission source client 100 via the communication interface 260 using the WebSocket protocol (step S338).

なお、送信結果は、データが無事にクライアント100に受信されたか否かに関する情報を含む。また、集計された送信結果は、送信結果のリストおよび/または通信成功率(=データを無事に受信したクライアント100の数/グループに属するクライアント100の数)を含む。そして、本実施形態においては、常時接続サーバ200は、送信結果または集計された送信結果をメモリ220に蓄積する。ただし、送信結果または集計された送信結果の蓄積場所は常時接続サーバ200のメモリ220に限定されるものではなく、常時接続サーバ200は、送信結果または集計された送信結果を他のデータベース(たとえば、対応関係DB250など)またはNAS(Network Attached Storage)などの外部ストレージに蓄積してもよい。これによって、アプリケーションサーバ300およびクライアント100などの外部の機器が送信結果を参照することができる。
<第4の実施の形態>
The transmission result includes information regarding whether or not the data has been successfully received by the client 100. The aggregated transmission results include a list of transmission results and / or a communication success rate (= number of clients 100 that have received data successfully / number of clients 100 belonging to a group). In the present embodiment, the always-on server 200 stores the transmission results or the aggregated transmission results in the memory 220. However, the storage location of the transmission results or the aggregated transmission results is not limited to the memory 220 of the always-on server 200. The always-on server 200 stores the transmission results or the aggregated transmission results in another database (for example, It may be stored in an external storage such as a correspondence relationship DB 250) or NAS (Network Attached Storage). As a result, external devices such as the application server 300 and the client 100 can refer to the transmission result.
<Fourth embodiment>

第1の実施の形態においては、送信元のクライアント100からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のクライアント100に送信するものであった。しかしながら、本実施の形態においては、送信元のクライアント100からグループ一斉送信要求を受信した際に常時接続サーバ200が要求を受け付けた旨を送信し、送信先のクライアント100に送信するたびに送信結果を送信元のクライアント100へと送信するものである。   In the first embodiment, when data is transmitted from the transmission source client 100 to the group, the always-on server 200 transmits after data transmission to all the transmission destination clients 100 belonging to the group is completed. The result is transmitted to the transmission source client 100. However, in this embodiment, when the group simultaneous transmission request is received from the transmission source client 100, the fact that the always-connected server 200 has accepted the request is transmitted, and the transmission result is transmitted every time the transmission is performed to the transmission destination client 100. Is transmitted to the client 100 of the transmission source.

なお、本実施の形態は、第1の実施の形態と比較して、図24に係る動作が異なるだけであって、他の構成は同様である。そのため、他の構成についての説明は、ここでは繰り返さない。   Note that this embodiment differs from the first embodiment only in the operation according to FIG. 24, and the other configurations are the same. Therefore, description of other configurations will not be repeated here.

以下では、本実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細について説明する。図28は、本実施の形態にかかるネットワークシステム1におけるクライアント100からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。   Hereinafter, details of a processing procedure of data transmission from the client 100 to the group in the network system 1 according to the present embodiment will be described. FIG. 28 is a sequence diagram showing details of a processing procedure of data transmission from the client 100 to the group in the network system 1 according to the present embodiment.

図28を参照して、クライアント100は、ユーザからメッセージを受け付ける(ステップS341)。具体的には、CPU110は、入出力部130を介してユーザからのメッセージの入力を受け付ける。CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS342)。グループ一斉送信要求は、グループIDおよびメッセージを含む。   Referring to FIG. 28, client 100 receives a message from the user (step S341). Specifically, CPU 110 accepts a message input from the user via input / output unit 130. The CPU 110 transmits a group broadcast request to the always-on server 200 using the WebSocket protocol via the communication interface 160 (step S342). The group broadcast request includes a group ID and a message.

常時接続サーバ200のCPU210は、通信インターフェイス260を介して、WebSocketプロトコルを利用して、クライアント100からのグループ一斉送信要求を受け付けた旨を、送信元のクライアント100に送信する(ステップS343)。   The CPU 210 of the always-on server 200 transmits information indicating that the group simultaneous transmission request from the client 100 has been accepted to the transmission source client 100 using the WebSocket protocol via the communication interface 260 (step S343).

常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、グループIDに対応する接続IDを順に読み出す(ステップS344)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS346)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100に送信結果を送信する(ステップS348)。本実施形態においては、常時接続サーバ200は、送信結果または集計された送信結果をメモリ220に蓄積する。ただし、送信結果または集計された送信結果の蓄積場所は常時接続サーバ200のメモリ220に限定されるものではなく、常時接続サーバ200は、送信結果または集計された送信結果を他のデータベース(たとえば、対応関係DB250など)またはNAS(Network Attached Storage)などの外部ストレージに蓄積してもよい。これによって、アプリケーションサーバ300およびクライアント100などの外部の機器が送信結果を参照することができる。   The CPU 210 of the always-on server 200 sequentially reads out connection IDs corresponding to the group IDs by referring to the correspondence DB 222 (step S344). The CPU 210 transmits a message to the client 100 via the communication interface 260 using the WebSocket protocol (step S346). The CPU 210 transmits the transmission result to the client 100 via the communication interface 260 using the WebSocket protocol (step S348). In the present embodiment, the always-on server 200 stores the transmission results or the aggregated transmission results in the memory 220. However, the storage location of the transmission results or the aggregated transmission results is not limited to the memory 220 of the always-on server 200. The always-on server 200 stores the transmission results or the aggregated transmission results in another database (for example, It may be stored in an external storage such as a correspondence relationship DB 250) or NAS (Network Attached Storage). As a result, external devices such as the application server 300 and the client 100 can refer to the transmission result.

CPU210は、グループIDに対応するクライアント100全てに関して、ステップS344とステップS346とステップS348の送信処理と送信結果通知処理とを繰り返す。
<第5の実施の形態>
The CPU 210 repeats the transmission process and the transmission result notification process in steps S344, S346, and S348 for all the clients 100 corresponding to the group ID.
<Fifth embodiment>

第1の実施の形態においては、アプリケーションサーバ300からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のアプリケーションサーバ300に送信するものであった。しかしながら、本実施の形態においては、送信先のクライアント100に送信するたびに送信結果をアプリケーションサーバ300へと送信するものである。   In the first embodiment, when data is transmitted from the application server 300 to the group, the constant connection server 200 displays the transmission result after data transmission to all the destination clients 100 belonging to the group is completed. The data is transmitted to the application server 300 of the transmission source. However, in this embodiment, the transmission result is transmitted to the application server 300 every time it is transmitted to the destination client 100.

なお、本実施の形態は、第1の実施の形態と比較して、図25に係る動作が異なるだけであって、他の構成は同様である。そのため、他の構成についての説明は、ここでは繰り返さない。   Note that this embodiment is different from the first embodiment only in the operation according to FIG. 25, and the other configurations are the same. Therefore, description of other configurations will not be repeated here.

以下では、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細について説明する。図29は、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。   Hereinafter, the details of the processing procedure of data transmission from the application server 300 to the group in the network system 1 according to the present embodiment will be described. FIG. 29 is a sequence diagram showing details of a processing procedure of data transmission from the application server 300 to the group in the network system 1 according to the present embodiment.

図29を参照して、アプリケーションサーバ300は、管理人、自身のアプリケーションプログラム、スマートフォン500、外部のパーソナルコンピュータなどメッセージを受け付ける(ステップS421)。ここでは、CPU310が、入出力部330を介して管理人からのメッセージの入力を受け付ける。CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS422)。グループ一斉送信要求は、グループIDおよびメッセージを含む。   Referring to FIG. 29, application server 300 receives a message from an administrator, its own application program, smartphone 500, an external personal computer, or the like (step S421). Here, CPU 310 accepts an input of a message from an administrator via input / output unit 330. The CPU 310 transmits a group simultaneous transmission request to the always-on server 200 using the HTTP protocol via the communication interface 360 (step S422). The group broadcast request includes a group ID and a message.

常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、グループIDに対応する接続IDを順に読み出す(ステップS424)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS426)。CPU210は、HTTPプロトコルを利用して、通信インターフェイス260を介してアプリケーションサーバ300に送信結果を送信する(ステップS428)。本実施形態においては、常時接続サーバ200は、送信結果または集計された送信結果をメモリ220に蓄積する。ただし、送信結果または集計された送信結果の蓄積場所は常時接続サーバ200のメモリ220に限定されるものではなく、常時接続サーバ200は、送信結果または集計された送信結果を他のデータベース(たとえば、対応関係DB250など)またはNAS(Network Attached Storage)などの外部ストレージに蓄積してもよい。これによって、アプリケーションサーバ300およびクライアント100などの外部の機器が送信結果を参照することができる。   The CPU 210 of the always-on server 200 reads the connection IDs corresponding to the group IDs in order by referring to the correspondence DB 222 (step S424). The CPU 210 transmits a message to the client 100 via the communication interface 260 using the WebSocket protocol (step S426). The CPU 210 transmits the transmission result to the application server 300 via the communication interface 260 using the HTTP protocol (step S428). In the present embodiment, the always-on server 200 stores the transmission results or the aggregated transmission results in the memory 220. However, the storage location of the transmission results or the aggregated transmission results is not limited to the memory 220 of the always-on server 200. The always-on server 200 stores the transmission results or the aggregated transmission results in another database (for example, It may be stored in an external storage such as a correspondence relationship DB 250) or NAS (Network Attached Storage). As a result, external devices such as the application server 300 and the client 100 can refer to the transmission result.

CPU210は、グループIDに対応するクライアント100全てに関して、ステップS424とステップS426とステップS428の送信処理と送信結果通知処理とを繰り返す。
<第6の実施の形態>
The CPU 210 repeats the transmission process and the transmission result notification process in steps S424, S426, and S428 for all the clients 100 corresponding to the group ID.
<Sixth Embodiment>

第1の実施の形態においては、送信元のアプリケーションサーバ300からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のアプリケーションサーバ300に送信するものであった。しかしながら、本実施の形態においては、アプリケーションサーバ300からグループ一斉送信要求を受信した際に常時接続サーバ200が要求を受け付けた旨をアプリケーションサーバ300に送信し、かつグループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のアプリケーションサーバ300に送信するものである。   In the first embodiment, when data is transmitted from the transmission source application server 300 to the group, the always-on server 200 completes data transmission to all the transmission destination clients 100 belonging to the group. The transmission result is transmitted to the application server 300 that is the transmission source. However, in the present embodiment, when the group simultaneous transmission request is received from the application server 300, the always-connected server 200 transmits to the application server 300 that the request has been accepted, and all the destination clients belonging to the group After the data transmission to 100 is completed, the transmission result is transmitted to the application server 300 that is the transmission source.

なお、本実施の形態は、第1の実施の形態と比較して、図25に係る動作が異なるだけであって、他の構成は同様である。そのため、他の構成についての説明は、ここでは繰り返さない。   Note that this embodiment is different from the first embodiment only in the operation according to FIG. 25, and the other configurations are the same. Therefore, description of other configurations will not be repeated here.

以下では、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細について説明する。図30は、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。   Hereinafter, the details of the processing procedure of data transmission from the application server 300 to the group in the network system 1 according to the present embodiment will be described. FIG. 30 is a sequence diagram showing details of a processing procedure of data transmission from the application server 300 to the group in the network system 1 according to the present embodiment.

図30を参照して、アプリケーションサーバ300は、管理人、自身のアプリケーションプログラム、スマートフォン500、外部のパーソナルコンピュータなどメッセージを受け付ける(ステップS431)。ここでは、CPU310が、入出力部330を介して管理人からのメッセージの入力を受け付ける。CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS432)。グループ一斉送信要求は、グループIDおよびメッセージを含む。   Referring to FIG. 30, application server 300 receives a message from an administrator, its own application program, smartphone 500, an external personal computer, or the like (step S431). Here, CPU 310 accepts an input of a message from an administrator via input / output unit 330. The CPU 310 transmits a group simultaneous transmission request to the always-on server 200 using the HTTP protocol via the communication interface 360 (step S432). The group broadcast request includes a group ID and a message.

常時接続サーバ200のCPU210は、通信インターフェイス260を介して、HTTPプロトコルを利用して、アプリケーションサーバ300からのグループ一斉送信要求を受け付けた旨を、送信元のアプリケーションサーバ300に送信する(ステップS433)。   The CPU 210 of the always-on server 200 transmits information indicating that the group simultaneous transmission request from the application server 300 has been received to the transmission source application server 300 using the HTTP protocol via the communication interface 260 (step S433). .

常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、グループIDに対応する接続IDを順に読み出す(ステップS434)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS436)。CPU210は、グループIDに対応するクライアント100全てに関して、ステップS434とステップS436の送信処理を繰り返す。   The CPU 210 of the always-on server 200 reads the connection IDs corresponding to the group IDs in order by referring to the correspondence DB 222 (step S434). The CPU 210 transmits a message to the client 100 via the communication interface 260 using the WebSocket protocol (step S436). CPU210 repeats the transmission process of step S434 and step S436 regarding all the clients 100 corresponding to group ID.

CPU210は、グループIDに対応するクライアント100全てに関して、ステップS434とステップS436の送信処理が完了すると、送信結果を集計する(ステップS437)。CPU210は、HTTPプロトコルを利用して、通信インターフェイス260を介して送信元のアプリケーションサーバ300に集計された送信結果を送信する(ステップS438)。   When the transmission processing in steps S434 and S436 is completed for all the clients 100 corresponding to the group ID, the CPU 210 totals the transmission results (step S437). The CPU 210 transmits the totaled transmission results to the transmission source application server 300 via the communication interface 260 using the HTTP protocol (step S438).

なお、送信結果は、データが無事にクライアント100に受信されたか否かに関する情報を含む。また、集計された送信結果は、送信結果のリストおよび/または通信成功率(=データを無事に受信したクライアント100の数/グループに属するクライアント100の数)を含む。そして、本実施形態においては、常時接続サーバ200は、送信結果または集計された送信結果をメモリ220に蓄積する。ただし、送信結果または集計された送信結果の蓄積場所は常時接続サーバ200のメモリ220に限定されるものではなく、常時接続サーバ200は、送信結果または集計された送信結果を他のデータベース(たとえば、対応関係DB250など)またはNAS(Network Attached Storage)などの外部ストレージに蓄積してもよい。これによって、アプリケーションサーバ300およびクライアント100などの外部の機器が送信結果を参照することができる。
<第7の実施の形態>
The transmission result includes information regarding whether or not the data has been successfully received by the client 100. The aggregated transmission results include a list of transmission results and / or a communication success rate (= number of clients 100 that have received data successfully / number of clients 100 belonging to a group). In the present embodiment, the always-on server 200 stores the transmission results or the aggregated transmission results in the memory 220. However, the storage location of the transmission results or the aggregated transmission results is not limited to the memory 220 of the always-on server 200. The always-on server 200 stores the transmission results or the aggregated transmission results in another database (for example, It may be stored in an external storage such as a correspondence relationship DB 250) or NAS (Network Attached Storage). As a result, external devices such as the application server 300 and the client 100 can refer to the transmission result.
<Seventh embodiment>

第1の実施の形態においては、アプリケーションサーバ300からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果をアプリケーションサーバ300に送信するものであった。しかしながら、本実施の形態においては、アプリケーションサーバ300からグループ一斉送信要求を受信した際に常時接続サーバ200が要求を受け付けた旨を送信し、送信先のクライアント100に送信するたびに送信結果をアプリケーションサーバ300へと送信するものである。   In the first embodiment, when data is transmitted from the application server 300 to the group, the constant connection server 200 displays the transmission result after data transmission to all the destination clients 100 belonging to the group is completed. It was sent to the application server 300. However, in the present embodiment, when the group simultaneous transmission request is received from the application server 300, the fact that the always-on server 200 has accepted the request is transmitted, and the transmission result is sent to the application client every time it is transmitted to the destination client 100. This is transmitted to the server 300.

なお、本実施の形態は、第1の実施の形態と比較して、図25に係る動作が異なるだけであって、他の構成は同様である。そのため、他の構成についての説明は、ここでは繰り返さない。   Note that this embodiment is different from the first embodiment only in the operation according to FIG. 25, and the other configurations are the same. Therefore, description of other configurations will not be repeated here.

以下では、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細について説明する。図31は、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細を示すシーケンス図である。   Hereinafter, the details of the processing procedure of data transmission from the application server 300 to the group in the network system 1 according to the present embodiment will be described. FIG. 31 is a sequence diagram illustrating details of a processing procedure of data transmission from the application server 300 to the group in the network system 1 according to the present embodiment.

図31を参照して、アプリケーションサーバ300は、管理人、自身のアプリケーションプログラム、スマートフォン500、外部のパーソナルコンピュータなどメッセージを受け付ける(ステップS441)。ここでは、CPU310は、入出力部330を介して管理人からのメッセージの入力を受け付ける。CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS442)。グループ一斉送信要求は、グループIDおよびメッセージを含む。   Referring to FIG. 31, application server 300 receives a message from an administrator, its own application program, smartphone 500, an external personal computer, or the like (step S441). Here, CPU 310 accepts an input of a message from an administrator via input / output unit 330. The CPU 310 transmits a group simultaneous transmission request to the always-on server 200 using the HTTP protocol via the communication interface 360 (step S442). The group broadcast request includes a group ID and a message.

常時接続サーバ200のCPU210は、通信インターフェイス260を介して、HTTPプロトコルを利用して、アプリケーションサーバ300からのグループ一斉送信要求を受け付けた旨を、送信元のアプリケーションサーバ300に送信する(ステップS443)。   The CPU 210 of the always-on server 200 transmits information indicating that the group simultaneous transmission request from the application server 300 has been received to the transmission source application server 300 using the HTTP protocol via the communication interface 260 (step S443). .

常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、グループIDに対応する接続IDを順に読み出す(ステップS444)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS446)。CPU210は、HTTPプロトコルを利用して、通信インターフェイス260を介してアプリケーションサーバ300に送信結果を送信する(ステップS448)。本実施形態においては、常時接続サーバ200は、送信結果または集計された送信結果をメモリ220に蓄積する。ただし、送信結果または集計された送信結果の蓄積場所は常時接続サーバ200のメモリ220に限定されるものではなく、常時接続サーバ200は、送信結果または集計された送信結果を他のデータベース(たとえば、対応関係DB250など)またはNAS(Network Attached Storage)などの外部ストレージに蓄積してもよい。これによって、アプリケーションサーバ300およびクライアント100などの外部の機器が送信結果を参照することができる。   The CPU 210 of the always-on server 200 reads the connection IDs corresponding to the group IDs in order by referring to the correspondence DB 222 (Step S444). The CPU 210 transmits a message to the client 100 via the communication interface 260 using the WebSocket protocol (step S446). The CPU 210 transmits the transmission result to the application server 300 via the communication interface 260 using the HTTP protocol (step S448). In the present embodiment, the always-on server 200 stores the transmission results or the aggregated transmission results in the memory 220. However, the storage location of the transmission results or the aggregated transmission results is not limited to the memory 220 of the always-on server 200. The always-on server 200 stores the transmission results or the aggregated transmission results in another database (for example, It may be stored in an external storage such as a correspondence relationship DB 250 or NAS (Network Attached Storage). As a result, external devices such as the application server 300 and the client 100 can refer to the transmission result.

CPU210は、グループIDに対応するクライアント100全てに関して、ステップS444とステップS446とステップS448の送信処理と送信結果通知処理とを繰り返す。
<第8の実施の形態>
The CPU 210 repeats the transmission process and the transmission result notification process in steps S444, S446, and S448 for all the clients 100 corresponding to the group ID.
<Eighth Embodiment>

次に、第8の実施の形態として、特定の型番の家電のみにデータを送信する形態について説明する。
<ネットワークシステムの全体構成>
Next, as an eighth embodiment, a mode in which data is transmitted only to home appliances of a specific model number will be described.
<Overall configuration of network system>

まず、本実施の形態にかかるネットワークシステム1の全体構成について説明する。図32は、本実施の形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。   First, the overall configuration of the network system 1 according to the present embodiment will be described. FIG. 32 is an image diagram showing an overall configuration and an operation outline of the network system 1 according to the present embodiment.

図32を参照して、ネットワークシステム1は、住居またはオフィスなどに配置されるテレビ100A,100B,100C、掃除機100D,100E,100F、エアコン100G,100Hを含む。以下では、クライアント100A〜100Hを総称して、クライアント100ともいう。ネットワークシステム1は、クライアント100と常時接続が可能な常時接続サーバ200と、様々なサービスを提供するアプリケーションサーバ300とを含む。   Referring to FIG. 32, network system 1 includes televisions 100A, 100B, 100C, vacuum cleaners 100D, 100E, 100F, and air conditioners 100G, 100H arranged in a residence or an office. Hereinafter, the clients 100A to 100H are collectively referred to as the client 100. The network system 1 includes an always-on server 200 that can always connect to the client 100 and an application server 300 that provides various services.

クライアント100としては、たとえば、掃除機、テレビ、エアコン、洗濯機、冷蔵庫、炊飯器、空気清浄器、床暖房、IHクッキングヒーター、電子レンジ、照明などの家電が挙げられる。さらに、クライアントは、通信機器であればよく、たとえば、パーソナルコンピュータ、テレビ以外のAV機器、インターホンシステムなどを含んでもよい。   Examples of the client 100 include household appliances such as a vacuum cleaner, a television, an air conditioner, a washing machine, a refrigerator, a rice cooker, an air cleaner, floor heating, an IH cooking heater, a microwave oven, and lighting. Furthermore, the client may be any communication device, and may include, for example, a personal computer, an AV device other than a television, an interphone system, and the like.

常時接続サーバ200とアプリケーションサーバ300とは、クライアントのいずれかと同じ住居内、オフィス内、ビル内、会社あるいは学校の構内に存在するサーバなどを含んでもよい。   The always-on server 200 and the application server 300 may include a server that exists in the same residence, office, building, company, or school premises as any of the clients.

本実施の形態においては、常時接続サーバ200とアプリケーションサーバ300とが別々のコンピュータである。しかしながら、常時接続サーバとアプリケーションサーバとが同一のコンピュータであってもよい。たとえば、1つのコンピュータ、すなわち装置としてのサーバが、クライアントと常時接続するための通信サービスプログラムと、クライアントを制御するためのアプリケーションサービスプログラムとを搭載してもよい。また、1つのアプリケーションサーバが複数のアプリケーションサービスプログラムを搭載してもよい。
<ネットワークシステムの動作概要>
In the present embodiment, always-on server 200 and application server 300 are separate computers. However, the always-on server and the application server may be the same computer. For example, a single computer, that is, a server as a device, may be equipped with a communication service program for always connecting to a client and an application service program for controlling the client. One application server may be equipped with a plurality of application service programs.
<Overview of network system operation>

次に、本実施の形態にかかるネットワークシステム1の動作概要について説明する。ここでは、複数のクライアント100が商品および/または型番毎に複数のグループに分けられている。具体的には、常時接続サーバ200が接続可能な対応関係DBサーバあるいは常時接続サーバ200自身が、当該グループ分けを示すデータを記憶している。そして、アプリケーションサーバ300は、スマートフォン500および外部のパーソナルコンピュータなどからのデータをクライアント100に伝えるサービスを提供する。   Next, an outline of the operation of the network system 1 according to the present embodiment will be described. Here, a plurality of clients 100 are divided into a plurality of groups for each product and / or model number. Specifically, the correspondence DB server to which the always-on server 200 can be connected or the always-on server 200 itself stores data indicating the grouping. The application server 300 provides a service for transmitting data from the smartphone 500 and an external personal computer to the client 100.

スマートフォン500または外部のパーソナルコンピュータなどが、商品または型番を指定するためのグループIDと、当該グループに送信するためのメッセージとをアプリケーションサーバ300に送信する。アプリケーションサーバ300は、グループを指定するためのグループIDと、当該グループに送信するためのメッセージとを常時接続サーバ200に送信する。常時接続サーバ200は、グループIDに対応する複数のクライアント100にデータ本体をプッシュする。たとえば、常時接続サーバ200は、常時接続中のクライアント100のうちの、テレビ100A,100B,100Cだけにリコール情報に関するメッセージを送る。   The smartphone 500 or an external personal computer or the like transmits a group ID for designating a product or a model number and a message for transmission to the group to the application server 300. The application server 300 transmits a group ID for designating a group and a message for transmission to the group to the always-on server 200. The always-on server 200 pushes the data body to the plurality of clients 100 corresponding to the group ID. For example, the always-on server 200 sends a message regarding recall information only to the televisions 100A, 100B, and 100C among the clients 100 that are always connected.

このように、本実施の形態においては、スマートフォン500、外部のパーソナルコンピュータ、アプリケーションサーバ300、クライアント100が、常時接続サーバ200と常時接続している複数のクライアント100のうちの、所望の商品のみに、または所望の型番の家電のみにデータを送信することができる。以下では、このような機能を実現するための対応関係DBと、常時接続サーバ200のCPU210の動作について説明する。なお、本実施の形態にかかるネットワークシステム1の他の構成および動作などについては、第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<対応関係DB>
As described above, in this embodiment, the smartphone 500, the external personal computer, the application server 300, and the client 100 are only for desired products among the plurality of clients 100 that are always connected to the always-on server 200. Alternatively, data can be transmitted only to home appliances of a desired model number. Hereinafter, the correspondence DB for realizing such a function and the operation of the CPU 210 of the always-on server 200 will be described. Since other configurations and operations of the network system 1 according to the present embodiment are the same as those of the first embodiment, description thereof will not be repeated here.
<Correspondence DB>

本実施の形態においては、図33に示すように、常時接続サーバ200とは別の対応関係DBサーバ250が、グループ名称とグループIDとの対応関係DB224を記憶する。なお、常時接続サーバ200のメモリ220が、対応関係DB224を記憶してもよい。   In the present embodiment, as shown in FIG. 33, a correspondence DB server 250 different from the always-on server 200 stores a correspondence DB 224 between group names and group IDs. The memory 220 of the always-on server 200 may store the correspondence DB 224.

また、図34に示すように、常時接続サーバ200とは別の対応関係DBサーバ250が、グループIDと接続IDとの対応関係DB225を記憶する。なお、接続IDとは、アプリケーションサーバ300が提供するサービスとクライアント100との関係を特定するための情報である。なお、常時接続サーバ200のメモリ220が、対応関係DB224を記憶してもよい。   As shown in FIG. 34, a correspondence DB server 250 different from the always-on server 200 stores a correspondence DB 225 between group IDs and connection IDs. The connection ID is information for specifying the relationship between the service provided by the application server 300 and the client 100. The memory 220 of the always-on server 200 may store the correspondence DB 224.

なお、図示してはいないが、対応関係DBは、グループの階層を示す対応関係DBを含んでもよい。たとえば、対応関係DBは、上位のグループIDとしての商品毎のグループIDを記憶し、中位の複数のグループIDとしての型番毎のグループIDを記憶しても良い。この場合、対応関係DBは、商品のグループIDの各々に対応付けて、複数の型番のグループIDを格納する。
<アプリケーションサーバからグループへのデータ送信の処理手順の詳細>
Although not shown, the correspondence DB may include a correspondence DB indicating the group hierarchy. For example, the correspondence DB may store a group ID for each product as a higher group ID, and store a group ID for each model number as a plurality of middle group IDs. In this case, the correspondence DB stores a group ID of a plurality of model numbers in association with each group ID of the product.
<Details of processing procedure for data transmission from application server to group>

次に、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細について、図25を参照しながら説明する。   Next, details of a processing procedure of data transmission from the application server 300 to the group in the network system 1 according to the present embodiment will be described with reference to FIG.

アプリケーションサーバ300は、商品のメーカなどからリコール情報を受け付ける(ステップS411)。具体的には、CPU310は、入出力部330を介してと商品名または型番を示すグループIDとメッセージの入力を受け付ける。CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS412)。ここでは、グループ一斉送信要求は、テレビの型番1を特定するためのグループID「002001」と「このテレビはリコール対象製品だよ。電話して確認してもらってね。」というメッセージとを含む。   The application server 300 receives the recall information from the manufacturer of the product (step S411). Specifically, the CPU 310 receives an input of a group ID indicating a product name or model number and a message via the input / output unit 330. The CPU 310 transmits a group simultaneous transmission request to the constant connection server 200 using the HTTP protocol via the communication interface 360 (step S412). Here, the group simultaneous transmission request includes a group ID “002001” for specifying the model number 1 of the television and a message “This television is a product to be recalled.

常時接続サーバ200のCPU210は、対応関係DB225を参照することによって、グループID「002001」に対応する接続ID「CCC」を順に読み出す(ステップS414)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介して接続ID「CCC」を有するテレビ100Aにメッセージを送信する(ステップS416、図32を参照。)。CPU210は、グループID「002001」に対応する接続ID「FFF」「JJJ」を有するテレビ100B,100Cに関しても、ステップS414とステップS416の送信処理を繰り返す(図32を参照。)。   The CPU 210 of the always-on server 200 sequentially reads out the connection ID “CCC” corresponding to the group ID “002001” by referring to the correspondence DB 225 (step S414). The CPU 210 transmits a message to the television 100A having the connection ID “CCC” via the communication interface 260 using the WebSocket protocol (see step S416, FIG. 32). The CPU 210 repeats the transmission processing of step S414 and step S416 for the televisions 100B and 100C having the connection IDs “FFF” and “JJJ” corresponding to the group ID “002001” (see FIG. 32).

CPU210は、グループIDに対応するクライアント100全てに関して、ステップS414とステップS416の送信処理が完了すると、送信結果を集計する(ステップS417)。CPU210は、HTTPプロトコルを利用して、通信インターフェイス260を介して送信元のアプリケーションサーバ300に集計された送信結果を送信する(ステップS418)。   When the transmission processing of step S414 and step S416 is completed for all the clients 100 corresponding to the group ID, the CPU 210 totals the transmission results (step S417). The CPU 210 transmits the aggregated transmission results to the transmission source application server 300 via the communication interface 260 using the HTTP protocol (step S418).

なお、送信結果は、データが無事にクライアント100に受信されたか否かに関する情報を含む。また、集計された送信結果は、送信結果のリストおよび/または通信成功率(=データを無事に受信したクライアント100の数/グループに属するクライアント100の数)を含む。そして、本実施形態においては、常時接続サーバ200は、送信結果または集計された送信結果をメモリ220に蓄積する。ただし、送信結果または集計された送信結果の蓄積場所は常時接続サーバ200のメモリ220に限定されるものではなく、常時接続サーバ200は、送信結果または集計された送信結果を他のデータベース(たとえば、対応関係DB250など)またはNAS(Network Attached Storage)などの外部ストレージに蓄積してもよい。これによって、アプリケーションサーバ300およびクライアント100などの外部の機器が送信結果を参照することができる。
<第9の実施の形態>
The transmission result includes information regarding whether or not the data has been successfully received by the client 100. The aggregated transmission results include a list of transmission results and / or a communication success rate (= number of clients 100 that have received data successfully / number of clients 100 belonging to a group). In the present embodiment, the always-on server 200 stores the transmission results or the aggregated transmission results in the memory 220. However, the storage location of the transmission results or the aggregated transmission results is not limited to the memory 220 of the always-on server 200. The always-on server 200 stores the transmission results or the aggregated transmission results in another database (for example, It may be stored in an external storage such as a correspondence relationship DB 250) or NAS (Network Attached Storage). As a result, external devices such as the application server 300 and the client 100 can refer to the transmission result.
<Ninth embodiment>

次に、第9の実施の形態として、マンションの特定の階層にある家電のみにデータを送信する形態について説明する。
<ネットワークシステムの全体構成>
Next, as a ninth embodiment, a mode in which data is transmitted only to home appliances in a specific level of an apartment will be described.
<Overall configuration of network system>

まず、本実施の形態にかかるネットワークシステム1の全体構成について説明する。図35は、本実施の形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。   First, the overall configuration of the network system 1 according to the present embodiment will be described. FIG. 35 is an image diagram showing an overall configuration and an operation outline of the network system 1 according to the present embodiment.

図35を参照して、ネットワークシステム1は、住居またはオフィスなどに配置される掃除機100A〜100Eを含む。以下では、クライアント100A〜100Eを総称して、クライアント100ともいう。ネットワークシステム1は、クライアント100と常時接続が可能な常時接続サーバ200と、様々なサービスを提供するアプリケーションサーバ300と、アプリケーションサーバ300と、スマートフォン500またはパーソナルコンピュータなどとを含む。   Referring to FIG. 35, network system 1 includes cleaners 100A to 100E arranged in a residence or an office. Hereinafter, the clients 100A to 100E are collectively referred to as the client 100. The network system 1 includes an always-on server 200 that can always connect to the client 100, an application server 300 that provides various services, an application server 300, a smartphone 500, a personal computer, and the like.

クライアント100としては、たとえば、掃除機、テレビ、エアコン、洗濯機、冷蔵庫、炊飯器、空気清浄器、床暖房、IH(Induction Heating)クッキングヒーター、電子レンジ、照明などの家電が挙げられる。さらに、クライアントは、通信機器であればよく、たとえば、パーソナルコンピュータ、テレビ以外のAV機器、インターホンシステムなどを含んでもよい。   Examples of the client 100 include home appliances such as a vacuum cleaner, a television, an air conditioner, a washing machine, a refrigerator, a rice cooker, an air purifier, floor heating, an IH (Induction Heating) cooking heater, a microwave oven, and lighting. Furthermore, the client may be any communication device, and may include, for example, a personal computer, an AV device other than a television, an interphone system, and the like.

常時接続サーバ200とアプリケーションサーバ300とは、クライアントのいずれかと同じ住居内、オフィス内、ビル内、会社あるいは学校の構内に存在するサーバなどを含んでもよい。   The always-on server 200 and the application server 300 may include a server that exists in the same residence, office, building, company, or school premises as any of the clients.

また、本実施の形態においては、常時接続サーバ200とアプリケーションサーバ300とが別々のコンピュータである。しかしながら、常時接続サーバとアプリケーションサーバとが同一のコンピュータであってもよい。たとえば、1つのコンピュータ、すなわち装置としてのサーバが、クライアントと常時接続するための通信サービスプログラムと、クライアントを制御するためのアプリケーションサービスプログラムとを搭載してもよい。また、1つのアプリケーションサーバが複数のアプリケーションサービスプログラムを搭載してもよい。
<ネットワークシステムの動作概要>
In the present embodiment, always-on server 200 and application server 300 are separate computers. However, the always-on server and the application server may be the same computer. For example, a single computer, that is, a server as a device, may be equipped with a communication service program for always connecting to a client and an application service program for controlling the client. One application server may be equipped with a plurality of application service programs.
<Overview of network system operation>

次に、本実施の形態にかかるネットワークシステム1の動作概要について説明する。ここでは、複数のクライアント100が国および地方のグループに分けられ、さらに都市のグループに分けられ、さらにマンションのグループに分けられ、さらに階層のグループに分けられている。具体的には、常時接続サーバ200が接続可能な対応関係DBサーバあるいは常時接続サーバ200自身が、当該グループ分けを示すデータを記憶している。そして、アプリケーションサーバ300は、スマートフォン500および外部のパーソナルコンピュータなどからのデータをクライアント100にプッシュするサービスを提供する。   Next, an outline of the operation of the network system 1 according to the present embodiment will be described. Here, a plurality of clients 100 are divided into national and local groups, further divided into urban groups, further divided into apartment groups, and further divided into hierarchical groups. Specifically, the correspondence DB server to which the always-on server 200 can be connected or the always-on server 200 itself stores data indicating the grouping. The application server 300 provides a service for pushing data from the smartphone 500 and an external personal computer to the client 100.

スマートフォン500または外部のパーソナルコンピュータなどが、マンションの階層を指定するためのグループIDと、当該グループに送信するためのメッセージとをアプリケーションサーバ300に送信する。アプリケーションサーバ300は、グループを指定するためのグループIDと、当該グループに送信するためのメッセージとを常時接続サーバ200に送信する。常時接続サーバ200は、グループIDに対応する複数のクライアント100にデータ本体をプッシュする。たとえば、常時接続サーバ200は、常時接続中のクライアント100のうちの、10階以上の家電だけに「9月21日はマンションの清掃日だよ。」とメッセージを送り、10階未満の家電だけに「9月22日はマンションの清掃日だよ。」とメッセージを送る。   The smartphone 500 or an external personal computer or the like transmits a group ID for designating the apartment level and a message for transmission to the group to the application server 300. The application server 300 transmits a group ID for designating a group and a message for transmission to the group to the always-on server 200. The always-on server 200 pushes the data body to the plurality of clients 100 corresponding to the group ID. For example, the always-on server 200 sends a message “September 21 is the cleaning date for condominiums” to only the home appliances on the 10th floor and above of the clients 100 that are always connected. “September 22 is the cleaning day for the apartment.”

このように、本実施の形態においては、スマートフォン500、外部のパーソナルコンピュータ、アプリケーションサーバ300、クライアント100が、常時接続サーバ200と常時接続している複数のクライアント100のうちの、所望の階数の部屋にある家電のみにデータを送信することができる。以下では、このような機能を実現するための対応関係DBと、常時接続サーバ200のCPU210の動作について説明する。なお、本実施の形態にかかるネットワークシステム1の他の構成については、第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<対応関係DB>
As described above, in the present embodiment, the smartphone 500, the external personal computer, the application server 300, and the client 100 have a desired floor number among the plurality of clients 100 that are always connected to the always-on server 200. Data can only be sent to home appliances in Hereinafter, the correspondence DB for realizing such a function and the operation of the CPU 210 of the always-on server 200 will be described. Note that other configurations of the network system 1 according to the present embodiment are the same as those of the first embodiment, and thus description thereof will not be repeated here.
<Correspondence DB>

本実施の形態においては、図36に示すように、常時接続サーバ200とは別の対応関係DBサーバ250が、上位階層としてのグループ名称とグループIDとの対応関係DB226と、中位階層としてのグループ名称とグループIDとの対応関係DB227と、下位階層としてのグループ名称とグループIDとの対応関係DB228と、さらに下位階層としてのグループ名称とグループIDとの対応関係DB229とを記憶する。なお、常時接続サーバ200のメモリ220が、対応関係DB226,227,228,229を記憶してもよい。
<アプリケーションサーバからグループへのデータ送信の処理手順の詳細>
In the present embodiment, as shown in FIG. 36, a correspondence DB server 250 different from the always-on server 200 includes a correspondence DB 226 between a group name and a group ID as an upper hierarchy, and a middle hierarchy. A correspondence name DB 227 between the group name and the group ID, a correspondence name DB 228 between the group name and the group ID as a lower hierarchy, and a correspondence relation DB 229 between the group name and the group ID as a lower hierarchy are stored. The memory 220 of the always-on server 200 may store the correspondence DBs 226, 227, 228, and 229.
<Details of processing procedure for data transmission from application server to group>

次に、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細について、図25を参照しながら説明する。   Next, details of a processing procedure of data transmission from the application server 300 to the group in the network system 1 according to the present embodiment will be described with reference to FIG.

アプリケーションサーバ300は、管理人のスマートフォン500またはパーソナルコンピュータからグループIDとメッセージとを受け付ける(ステップS411)。具体的には、CPU310は、通信インターフェイス360を介して、日本の近畿地方を特定するためのグループIDと、奈良県奈良市を特定するためのグループIDと、Cマンションを特定するためのグループIDと、10階〜19階の各々を特定するためのグループIDとメッセージとを管理人のスマートフォン500から受信する。   The application server 300 receives the group ID and message from the administrator's smartphone 500 or personal computer (step S411). Specifically, the CPU 310, via the communication interface 360, identifies a group ID for identifying the Kinki region of Japan, a group ID for identifying Nara City, Nara Prefecture, and a group ID for identifying the C apartment. And the group ID and the message for specifying each of the 10th to 19th floors are received from the administrator's smartphone 500.

CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS412)。ここでは、グループ一斉送信要求は、グループIDとメッセージとを含む。グループIDは、上位階層としてのグループID「202」と中位階層としてのグループID「501」と下位階層「223」と下位階層「510」〜「519」とを組み合わせた「202501223510」〜「202501223519」である。メッセージは、「9月21日はマンションの清掃日だよ。」というテキストである。   The CPU 310 transmits a group simultaneous transmission request to the constant connection server 200 using the HTTP protocol via the communication interface 360 (step S412). Here, the group simultaneous transmission request includes a group ID and a message. The group IDs are “2025012323510” to “2025012323519”, which are a combination of a group ID “202” as an upper layer, a group ID “501” as a middle layer, a lower layer “223”, and lower layers “510” to “519”. It is. The message is the text "September 21 is the cleaning date for the apartment."

常時接続サーバ200のCPU210は、対応関係DBを参照することによって、グループID「202501223510」〜「202501223519」に対応する接続IDを順に読み出す(ステップS414)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介して接続IDを有する掃除機100Aにメッセージを送信する(ステップS416、図35を参照。)。CPU210は、グループIDに対応する接続IDを有する掃除機100B,100Cに関して、ステップS414とステップS416の送信処理を繰り返す(図35を参照。)。   The CPU 210 of the always-on server 200 sequentially reads out connection IDs corresponding to the group IDs “202501223510” to “202501223519” by referring to the correspondence DB (step S414). The CPU 210 transmits a message to the cleaner 100A having the connection ID via the communication interface 260 using the WebSocket protocol (see step S416, FIG. 35). CPU210 repeats the transmission process of step S414 and step S416 regarding the cleaners 100B and 100C which have connection ID corresponding to group ID (refer FIG. 35).

CPU210は、グループIDに対応するクライアント100全てに関して、ステップS414とステップS416の送信処理が完了すると、送信結果を集計する(ステップS417)。CPU210は、HTTPプロトコルを利用して、通信インターフェイス260を介して送信元のアプリケーションサーバ300に集計された送信結果を送信する(ステップS418)。   When the transmission processing of step S414 and step S416 is completed for all the clients 100 corresponding to the group ID, the CPU 210 totals the transmission results (step S417). The CPU 210 transmits the aggregated transmission results to the transmission source application server 300 via the communication interface 260 using the HTTP protocol (step S418).

なお、送信結果は、データが無事にクライアント100に受信されたか否かに関する情報を含む。また、集計された送信結果は、送信結果のリストおよび/または通信成功率(=データを無事に受信したクライアント100の数/グループに属するクライアント100の数)を含む。そして、本実施形態においては、常時接続サーバ200は、送信結果または集計された送信結果をメモリ220に蓄積する。ただし、送信結果または集計された送信結果の蓄積場所は常時接続サーバ200のメモリ220に限定されるものではなく、常時接続サーバ200は、送信結果または集計された送信結果を他のデータベース(たとえば、対応関係DB250など)またはNAS(Network Attached Storage)などの外部ストレージに蓄積してもよい。これによって、アプリケーションサーバ300およびクライアント100などの外部の機器が送信結果を参照することができる。
<第10の実施の形態>
The transmission result includes information regarding whether or not the data has been successfully received by the client 100. The aggregated transmission results include a list of transmission results and / or a communication success rate (= number of clients 100 that have received data successfully / number of clients 100 belonging to a group). In the present embodiment, the always-on server 200 stores the transmission results or the aggregated transmission results in the memory 220. However, the storage location of the transmission results or the aggregated transmission results is not limited to the memory 220 of the always-on server 200. The always-on server 200 stores the transmission results or the aggregated transmission results in another database (for example, It may be stored in an external storage such as a correspondence relationship DB 250) or NAS (Network Attached Storage). As a result, external devices such as the application server 300 and the client 100 can refer to the transmission result.
<Tenth Embodiment>

次に、第10の実施の形態として、特定のエリアにある家電のみにデータを送信する形態について説明する。
<ネットワークシステムの全体構成>
Next, as a tenth embodiment, a mode in which data is transmitted only to home appliances in a specific area will be described.
<Overall configuration of network system>

まず、本実施の形態にかかるネットワークシステム1の全体構成について説明する。図37は、本実施の形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。   First, the overall configuration of the network system 1 according to the present embodiment will be described. FIG. 37 is an image diagram showing an overall configuration and an operation outline of the network system 1 according to the present embodiment.

図37を参照して、ネットワークシステム1は、住居またはオフィスなどに配置される複数のクライアント100を含む。ネットワークシステム1は、クライアント100と常時接続が可能な常時接続サーバ200と、様々なサービスを提供するアプリケーションサーバ300と、アプリケーションサーバ300と、スマートフォン500またはパーソナルコンピュータなどとを含む。   Referring to FIG. 37, network system 1 includes a plurality of clients 100 arranged in a residence or an office. The network system 1 includes an always-on server 200 that can always connect to the client 100, an application server 300 that provides various services, an application server 300, a smartphone 500, a personal computer, and the like.

クライアント100としては、たとえば、掃除機、テレビ、エアコン、洗濯機、冷蔵庫、炊飯器、空気清浄器、床暖房、IHクッキングヒーター、電子レンジ、照明などの家電が挙げられる。さらに、クライアントは、通信機器であればよく、たとえば、パーソナルコンピュータ、テレビ以外のAV機器、インターホンシステムなどを含んでもよい。   Examples of the client 100 include household appliances such as a vacuum cleaner, a television, an air conditioner, a washing machine, a refrigerator, a rice cooker, an air cleaner, floor heating, an IH cooking heater, a microwave oven, and lighting. Furthermore, the client may be any communication device, and may include, for example, a personal computer, an AV device other than a television, an interphone system, and the like.

常時接続サーバ200とアプリケーションサーバ300とは、クライアントのいずれかと同じ住居内、オフィス内、ビル内、会社あるいは学校の構内に存在するサーバなどを含んでもよい。   The always-on server 200 and the application server 300 may include a server that exists in the same residence, office, building, company, or school premises as any of the clients.

本実施の形態においては、常時接続サーバ200とアプリケーションサーバ300とが別々のコンピュータである。しかしながら、常時接続サーバとアプリケーションサーバとが同一のコンピュータであってもよい。たとえば、1つのコンピュータ、すなわち装置としてのサーバが、クライアントと常時接続するための通信サービスプログラムと、クライアントを制御するためのアプリケーションサービスプログラムとを搭載してもよい。また、1つのアプリケーションサーバが複数のアプリケーションサービスプログラムを搭載してもよい。
<ネットワークシステムの動作概要>
In the present embodiment, always-on server 200 and application server 300 are separate computers. However, the always-on server and the application server may be the same computer. For example, a single computer, that is, a server as a device, may be equipped with a communication service program for always connecting to a client and an application service program for controlling the client. One application server may be equipped with a plurality of application service programs.
<Overview of network system operation>

次に、本実施の形態にかかるネットワークシステム1の動作概要について説明する。ここでも、複数のクライアント100が国および地方のグループに分けられ、さらに都市のグループに分けられ、さらにマンションのグループに分けられ、さらに階層のグループに分けられている。具体的には、常時接続サーバ200が接続可能な対応関係DBサーバあるいは常時接続サーバ200自身が、当該グループ分けを示すデータを記憶している。そして、アプリケーションサーバ300は、スマートフォン500および外部のパーソナルコンピュータなどからのデータをクライアント100にプッシュするサービスを提供する。   Next, an outline of the operation of the network system 1 according to the present embodiment will be described. Again, the plurality of clients 100 are divided into national and local groups, further divided into urban groups, further divided into apartment groups, and further divided into hierarchical groups. Specifically, the correspondence DB server to which the always-on server 200 can be connected or the always-on server 200 itself stores data indicating the grouping. The application server 300 provides a service for pushing data from the smartphone 500 and an external personal computer to the client 100.

スマートフォン500または外部のパーソナルコンピュータなどが、都市・マンション・階層などを指定するためのグループIDと、当該グループに送信するためのメッセージとをアプリケーションサーバ300に送信する。アプリケーションサーバ300は、グループを指定するためのグループIDと、当該グループに送信するためのメッセージとを常時接続サーバ200に送信する。常時接続サーバ200は、グループIDに対応する複数のクライアント100にデータ本体をプッシュする。たとえば、常時接続サーバ200は、常時接続中のクライアント100のうちの、特定のエリアにある家電だけに市長からの挨拶を送信する。   The smartphone 500 or an external personal computer or the like transmits a group ID for designating a city, an apartment, a hierarchy, and the like and a message for transmission to the group to the application server 300. The application server 300 transmits a group ID for designating a group and a message for transmission to the group to the always-on server 200. The always-on server 200 pushes the data body to the plurality of clients 100 corresponding to the group ID. For example, the always-on server 200 transmits a greeting from the mayor only to home appliances in a specific area among the clients 100 that are always connected.

このように、本実施の形態においては、スマートフォン500、外部のパーソナルコンピュータ、アプリケーションサーバ300、クライアント100が、常時接続サーバ200と常時接続している複数のクライアント100のうちの、所望のエリアにある家電のみにデータを送信することができる。以下では、このような機能を実現するための常時接続サーバ200のCPU210の動作について説明する。なお、本実施の形態にかかるネットワークシステム1の他の構成については、第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。そして、対応関係DBに関しては、第9の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。
<アプリケーションサーバからグループへのデータ送信の処理手順の詳細>
Thus, in the present embodiment, the smartphone 500, the external personal computer, the application server 300, and the client 100 are in a desired area among the plurality of clients 100 that are always connected to the always-on server 200. Data can be sent only to home appliances. Below, operation | movement of CPU210 of the always-on server 200 for implement | achieving such a function is demonstrated. Note that other configurations of the network system 1 according to the present embodiment are the same as those of the first embodiment, and thus description thereof will not be repeated here. Since the correspondence DB is the same as that of the ninth embodiment, description thereof will not be repeated here.
<Details of processing procedure for data transmission from application server to group>

次に、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300からグループへのデータ送信の処理手順の詳細について説明する。   Next, details of a processing procedure of data transmission from the application server 300 to the group in the network system 1 according to the present embodiment will be described.

図25を参照して、アプリケーションサーバ300は、市長のスマートフォン500またはパーソナルコンピュータからグループIDとメッセージとを受け付ける(ステップS411)。具体的には、CPU310は、通信インターフェイス360を介して、日本の近畿地方を特定するためのグループID「202」と、奈良県奈良市を特定するためのグループID「501」とメッセージとを受信する。なお、市長のスマートフォン500またはパーソナルコンピュータは、2つのグループIDをマージして、日本の近畿地方の奈良県奈良市を特定するための1つのグループID「202501」とメッセージとをアプリケーションサーバ300に送信しても良い。   Referring to FIG. 25, application server 300 receives a group ID and a message from the mayor's smartphone 500 or a personal computer (step S411). Specifically, the CPU 310 receives a group ID “202” for identifying the Kinki region of Japan, a group ID “501” for identifying Nara City, Nara, and a message via the communication interface 360. To do. The mayor's smartphone 500 or personal computer merges the two group IDs and sends one group ID “202501” and a message to the application server 300 to identify Nara City in Nara Prefecture, Japan. You may do it.

CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS412)。ここでは、グループ一斉送信要求は、グループIDと市民向けの挨拶とを含む。なお、グループIDは、上位階層としてのグループID「202」と中位階層としてのグループID「501」とを別のデータとして含むものであってもよいし、上位階層としてのグループID「202」と中位階層としてのグループID「501」とを組み合わせた1つのグループID「202501」であってもよい。これによって、「202501」よりも下位の全てのグループに属するクライアント100が送信対象となる。   The CPU 310 transmits a group simultaneous transmission request to the constant connection server 200 using the HTTP protocol via the communication interface 360 (step S412). Here, the group simultaneous transmission request includes a group ID and a greeting for citizens. The group ID may include the group ID “202” as the upper hierarchy and the group ID “501” as the middle hierarchy as separate data, or the group ID “202” as the upper hierarchy. One group ID “202501” may be combined with the group ID “501” as the middle hierarchy. As a result, the clients 100 belonging to all the groups lower than “202501” become transmission targets.

常時接続サーバ200のCPU210は、対応関係DBを参照することによって、グループID「202501」に対応する接続IDを順に読み出す(ステップS414)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介して接続IDを有するクライアント100にメッセージを送信する(ステップS416、図35を参照。)。CPU210は、グループIDに対応する接続IDを有するクライアント100に関して、ステップS414とステップS416の送信処理を繰り返す(図35を参照。)。   The CPU 210 of the always-on server 200 sequentially reads out connection IDs corresponding to the group ID “202501” by referring to the correspondence DB (step S414). The CPU 210 transmits a message to the client 100 having the connection ID via the communication interface 260 using the WebSocket protocol (see step S416, FIG. 35). CPU210 repeats the transmission process of step S414 and step S416 regarding the client 100 which has connection ID corresponding to group ID (refer FIG. 35).

CPU210は、グループIDに対応するクライアント100全てに関して、ステップS414とステップS416の送信処理が完了すると、送信結果を集計する(ステップS417)。CPU210は、HTTPプロトコルを利用して、通信インターフェイス260を介して送信元のアプリケーションサーバ300に集計された送信結果を送信する(ステップS418)。   When the transmission processing of step S414 and step S416 is completed for all the clients 100 corresponding to the group ID, the CPU 210 totals the transmission results (step S417). The CPU 210 transmits the aggregated transmission results to the transmission source application server 300 via the communication interface 260 using the HTTP protocol (step S418).

なお、送信結果は、データが無事にクライアント100に受信されたか否かに関する情報を含む。また、集計された送信結果は、送信結果のリストおよび/または通信成功率(=データを無事に受信したクライアント100の数/グループに属するクライアント100の数)を含む。そして、本実施形態においては、常時接続サーバ200は、送信結果または集計された送信結果をメモリ220に蓄積する。ただし、送信結果または集計された送信結果の蓄積場所は常時接続サーバ200のメモリ220に限定されるものではなく、常時接続サーバ200は、送信結果または集計された送信結果を他のデータベース(たとえば、対応関係DB250など)またはNAS(Network Attached Storage)などの外部ストレージに蓄積してもよい。これによって、アプリケーションサーバ300およびクライアント100などの外部の機器が送信結果を参照することができる。
<第11の実施の形態>
The transmission result includes information regarding whether or not the data has been successfully received by the client 100. The aggregated transmission results include a list of transmission results and / or a communication success rate (= number of clients 100 that have received data successfully / number of clients 100 belonging to a group). In the present embodiment, the always-on server 200 stores the transmission results or the aggregated transmission results in the memory 220. However, the storage location of the transmission results or the aggregated transmission results is not limited to the memory 220 of the always-on server 200. The always-on server 200 stores the transmission results or the aggregated transmission results in another database (for example, It may be stored in an external storage such as a correspondence relationship DB 250) or NAS (Network Attached Storage). As a result, external devices such as the application server 300 and the client 100 can refer to the transmission result.
<Eleventh embodiment>

上記の実施の形態においては、外部のアプリケーションサーバ300、クライアント100、スマートフォン500などから参照可能なように、常時接続サーバ200が送信結果および集計された送信結果を蓄積するものであった。   In the above embodiment, the constant connection server 200 accumulates the transmission results and the aggregated transmission results so that they can be referred to from the external application server 300, the client 100, the smartphone 500, and the like.

しかしながら、常時接続サーバ200は、送信結果だけでなく、アプリケーションサーバ300およびクライアント100などから受け付けた、グループ一斉送信要求(データのプッシュ命令)も、外部のアプリケーションサーバ300、クライアント100、スマートフォン500などから参照可能なように、蓄積してもよい。
<その他の応用例>
However, the always-on server 200 receives not only the transmission result but also the group simultaneous transmission request (data push command) received from the application server 300 and the client 100 from the external application server 300, the client 100, the smartphone 500, and the like. It may be accumulated so that it can be referred to.
<Other application examples>

本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体(あるいはメモリ)を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。   It goes without saying that the present invention can also be applied to a case where it is achieved by supplying a program to a system or apparatus. Then, a storage medium (or memory) storing a program represented by software for achieving the present invention is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores it in the storage medium. The effect of the present invention can also be enjoyed by reading and executing the program code.

この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。   In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention.

また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) running on the computer based on the instruction of the program code However, it is needless to say that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記憶媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。   Furthermore, after the program code read from the storage medium is written to another storage medium provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, based on the instruction of the program code, It goes without saying that the CPU of the function expansion board or function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

1 :ネットワークシステム
100 :クライアント
110 :CPU
110A :クライアントAPI
120 :メモリ
140 :カメラ
150 :家電制御回路
160 :通信インターフェイス
200 :常時接続サーバ
210 :CPU
210A :WSサーバ
220 :メモリ
260 :通信インターフェイス
300 :アプリケーションサーバ
310 :CPU
310A :サーバAPI
320 :メモリ
360 :通信インターフェイス
500 :スマートフォン
1: Network system 100: Client 110: CPU
110A: Client API
120: Memory 140: Camera 150: Home appliance control circuit 160: Communication interface 200: Constant connection server 210: CPU
210A: WS server 220: Memory 260: Communication interface 300: Application server 310: CPU
310A: Server API
320: Memory 360: Communication interface 500: Smartphone

Claims (19)

複数の電子機器と、
前記複数の電子機器と常時接続するための常時接続サーバとを備え、
前記常時接続サーバは、前記複数の電子機器を特定するための常時接続用IDと複数のグループを特定するためのグループIDとの対応関係を記憶し、前記グループIDの指定に基づいて、対応するグループに属する少なくとも1つの電子機器にデータをプッシュするものであって、
前記対応関係は、前記複数のグループの階層関係を含み、
前記常時接続サーバは、上位のグループを特定するためのグループIDの指定に基づいて、当該上位のグループに属する下位のグループに属する電子機器にデータをプッシュする、ネットワークシステム。
Multiple electronic devices,
An always-on server for always connecting to the plurality of electronic devices,
The always-on server stores a correspondence relationship between an always-on ID for specifying the plurality of electronic devices and a group ID for specifying a plurality of groups, and responds based on the designation of the group ID. Push data to at least one electronic device belonging to a group ,
The correspondence relationship includes a hierarchical relationship of the plurality of groups,
The always-on server pushes data to electronic devices belonging to a lower group belonging to the upper group based on designation of a group ID for specifying the upper group .
前記複数の電子機器は、その配置位置によってグループ分けされ、
前記上位のグループは広い地域に対応し、当該上位のグループに属する前記下位のグループは当該広い地域に含まれる狭い地域に対応する、請求項1に記載のネットワークシステム。
The plurality of electronic devices are grouped according to their arrangement positions,
The network system according to claim 1 , wherein the upper group corresponds to a wide area, and the lower group belonging to the upper group corresponds to a narrow area included in the wide area .
前記複数の電子機器は、製品の種類によってグループ分けされ、The plurality of electronic devices are grouped by product type,
前記上位のグループは商品の種類に対応し、当該上位のグループに属する前記下位のグループは当該商品の種類に含まれる型番に対応する、請求項1に記載のネットワークシステム。The network system according to claim 1, wherein the upper group corresponds to a product type, and the lower group belonging to the higher group corresponds to a model number included in the product type.
前記電子機器は、前記常時接続サーバにグループ加入要求を送り、
前記常時接続サーバは、前記グループ加入要求に応じて、前記電子機器に対応する常時接続用IDとグループIDとの組み合わせを前記対応関係に追加する、請求項1から3のいずれか1項に記載のネットワークシステム。
The electronic device sends a group subscription request to the always-on server,
The said always connection server adds the combination of ID for always connection corresponding to the said electronic device, and group ID to the said corresponding relationship according to the said group joining request | requirement, The any one of Claim 1 to 3 Network system.
他の電子機器をさらに含み、
前記他の電子機器は、前記常時接続サーバに前記電子機器を指定するための情報とグループ加入要求とを送り、
前記常時接続サーバは、前記情報と前記グループ加入要求とに応じて、前記電子機器に対応する常時接続用IDとグループIDとの組み合わせを前記対応関係に追加する、請求項1からのいずれか1項に記載のネットワークシステム。
Further including other electronic devices,
The other electronic device sends information for designating the electronic device to the always-on server and a group subscription request,
The constant connection server in response to said information and the group subscription request, to add a combination of a constant connection ID and the group ID corresponding to the electronic device on the correspondence relationship, any one of claims 1 to 4 The network system according to item 1.
前記電子機器は、前記常時接続サーバにグループ脱退要求を送り、
前記常時接続サーバは、前記グループ脱退要求に応じて、前記電子機器に対応する常時接続用IDとグループIDとの組み合わせを前記対応関係から削除する、請求項1からのいずれか1項に記載のネットワークシステム。
The electronic device sends a group withdrawal request to the always-on server,
The constant connection server, in response to said group withdrawal request, deletes the combination of the constant connection ID and the group ID corresponding to the electronic device from the correspondence relation, according to any one of claims 1 5 Network system.
他の電子機器をさらに含み、
前記他の電子機器は、前記常時接続サーバに前記電子機器を指定するための情報とグループ脱退要求とを送り、
前記常時接続サーバは、前記情報と前記グループ脱退要求とに応じて、前記電子機器に対応する常時接続用IDとグループIDとの組み合わせを前記対応関係から削除する、請求項1からのいずれか1項に記載のネットワークシステム。
Further including other electronic devices,
The other electronic device sends information for designating the electronic device to the always-on server and a group withdrawal request,
The constant connection server in response to said information and the group leave request, deletes the combination of the constant connection ID and the group ID corresponding to the electronic device from the correspondence relation, any one of claims 1 to 6 The network system according to item 1.
前記電子機器が、前記グループIDと前記データとを前記常時接続サーバに送信し、
前記常時接続サーバが、前記グループIDに対応する少なくとも1つの電子機器に前記データをプッシュする、請求項1からのいずれか1項に記載のネットワークシステム。
The electronic device transmits the group ID and the data to the always-on server,
The constant connection server pushes the data to the at least one electronic device corresponding to the group ID, a network system according to any one of claims 1 to 7.
アプリケーションサーバをさらに備え、
前記アプリケーションサーバが、前記グループIDと前記データとを前記常時接続サーバに送信し、
前記常時接続サーバが、前記グループIDに対応する少なくとも1つの電子機器に前記データをプッシュする、請求項1からのいずれか1項に記載のネットワークシステム。
An application server,
The application server sends the group ID and the data to the always-on server;
The constant connection server, said push the data to the at least one electronic device corresponding to the group ID, a network system according to any one of claims 1 to 8.
前記常時接続サーバは、前記グループIDと前記データとを受信した際に、前記電子機器に前記データをプッシュする前に、プッシュ命令を受信した旨を前記データの送信元に送信する、請求項またはに記載のネットワークシステム。 The constant connection server, when receiving said said group ID data, before pushing the data to the electronic device, and transmits the fact of reception of the push instruction to the sender of the data, according to claim 8 Or the network system according to 9 ; 前記常時接続サーバは、前記グループIDに対応する少なくとも1つの電子機器の全てに前記データをプッシュしてから、前記データの送信結果を前記データの送信元に送信する、請求項から10のいずれか1項に記載のネットワークシステム。 The constant connection server, after pushing the data to all of the at least one electronic device corresponding to the group ID, and sends the transmission result of the data to the source of the data, one of claims 8 10 The network system according to claim 1. 前記送信結果は、前記グループIDに対応する少なくとも1つの電子機器の全てに関する前記データのプッシュの成否を示すリストを含む、請求項11に記載のネットワークシステム。 The network system according to claim 11 , wherein the transmission result includes a list indicating success or failure of the data push regarding all of at least one electronic device corresponding to the group ID. 前記送信結果は、前記グループIDに対応する少なくとも1つの電子機器への前記データのプッシュの成功率を含む、請求項11または12に記載のネットワークシステム。 The transmission result comprises a success rate of the data push to at least one electronic device corresponding to the group ID, a network system according to claim 11 or 12. 前記常時接続サーバは、前記グループIDに対応する少なくとも1つの電子機器の各々に前記データをプッシュする度に、前記データの送信結果を前記データの送信元に送信する、請求項から10のいずれか1項に記載のネットワークシステム。 The constant connection server, every time of pushing the data to each of the at least one electronic device corresponding to the group ID, and sends the transmission result of the data to the source of the data, one of claims 8 10 The network system according to claim 1. 前記常時接続サーバは、前記送信結果を外部から参照可能に蓄積する、請求項11から14のいずれか1項に記載のネットワークシステム。 The network system according to any one of claims 11 to 14 , wherein the always-on server accumulates the transmission result so that the transmission result can be referred to from outside. 前記常時接続サーバは、データをプッシュするための命令を受け付けた際に、当該命令を外部から参照可能に蓄積する、請求項1から15のいずれか1項に記載のネットワークシステム。 The network system according to any one of claims 1 to 15 , wherein when the always-on server receives a command for pushing data, the always-on server stores the command so that the command can be referred to from the outside. 複数の電子機器と常時接続サーバとが常時接続を開始するステップと、
前記常時接続サーバが、前記複数の電子機器を特定するための常時接続用IDと複数のグループを特定するためのグループIDとの対応関係を記憶するステップと、
前記常時接続サーバが、前記グループIDの指定に基づいて対応するグループに属する少なくとも1つの電子機器にデータをプッシュするステップとを備え、
前記データをプッシュするステップは、前記常時接続サーバが、上位のグループを特定するためのグループIDの指定に基づいて、当該上位のグループに属する下位のグループに属する電子機器にデータをプッシュするステップを含む、通信方法。
A step in which a plurality of electronic devices and a constant connection server start a constant connection;
The always-on server storing a correspondence relationship between an always-on ID for identifying the plurality of electronic devices and a group ID for identifying a plurality of groups;
The always-on server pushes data to at least one electronic device belonging to a corresponding group based on the designation of the group ID,
The step of pushing the data includes a step of pushing the data to an electronic device belonging to a lower group belonging to the upper group based on the designation of the group ID for the always connected server to identify the upper group. Including a communication method.
複数の電子機器と常時接続するための通信インターフェイスと、
前記複数の電子機器を特定するための常時接続用IDと複数のグループを特定するためのグループIDとの対応関係を記憶するメモリと、
前記通信インターフェイスを利用することによって、前記グループIDの指定に基づいて、対応するグループに属する少なくとも1つの電子機器にデータをプッシュするためのプロセッサとを備え、
前記対応関係は、前記複数のグループの階層関係を含み、
前記プロセッサは、上位のグループを特定するためのグループIDの指定に基づいて、前記通信インターフェイスを利用することによって、当該上位のグループに属する下位のグループに属する電子機器にデータをプッシュする、常時接続サーバ。
A communication interface for constant connection to multiple electronic devices;
A memory for storing a correspondence relationship between a constant connection ID for specifying the plurality of electronic devices and a group ID for specifying a plurality of groups;
A processor for pushing data to at least one electronic device belonging to a corresponding group based on the designation of the group ID by using the communication interface;
The correspondence relationship includes a hierarchical relationship of the plurality of groups,
Wherein the processor, based on the specified group ID for identifying a group of upper, by utilizing the communication interface, push data to electronic devices belonging to the group of lower belonging to the group of the upper, normally Connection server.
プロセッサとメモリと通信インターフェイスとを含むコンピュータで利用されるプログラムであって、
前記通信インターフェイスを利用することによって、複数の電子機器と常時接続を開始するステップと、
前記メモリに、複数の電子機器を特定するための常時接続用IDと複数のグループを特定するためのグループIDとの対応関係を格納するステップと、
前記通信インターフェイスを利用することによって、前記グループIDの指定に基づいて、対応するグループに属する少なくとも1つの電子機器にデータをプッシュするステップとを前記プロセッサに実行させ、
前記データをプッシュするステップは、上位のグループを特定するためのグループIDの指定に基づいて、前記通信インターフェイスを利用することによって、当該上位のグループに属する下位のグループに属する電子機器にデータをプッシュするステップを含む、
プログラム。
A program used in a computer including a processor, a memory, and a communication interface,
Using the communication interface to start a constant connection with a plurality of electronic devices;
Storing in the memory a correspondence relationship between a constant connection ID for specifying a plurality of electronic devices and a group ID for specifying a plurality of groups;
Using the communication interface to cause the processor to execute the step of pushing data to at least one electronic device belonging to the corresponding group based on the designation of the group ID,
The step of pushing the data pushes the data to an electronic device belonging to a lower group belonging to the upper group by using the communication interface based on designation of a group ID for specifying the upper group. Including the step of
program.
JP2013244543A 2013-11-27 2013-11-27 Network system, communication method, electronic device, always-on server, program Expired - Fee Related JP5870079B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013244543A JP5870079B2 (en) 2013-11-27 2013-11-27 Network system, communication method, electronic device, always-on server, program
CN201410694099.XA CN104683433B (en) 2013-11-27 2014-11-27 Network system keeps connection method, communication means, electronic equipment, keeps Connection Service device, application server
US14/555,652 US20150149523A1 (en) 2013-11-27 2014-11-27 Network system, constant connection method, communication method,electronic device, constant connection server, application server, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013244543A JP5870079B2 (en) 2013-11-27 2013-11-27 Network system, communication method, electronic device, always-on server, program

Publications (2)

Publication Number Publication Date
JP2015103122A JP2015103122A (en) 2015-06-04
JP5870079B2 true JP5870079B2 (en) 2016-02-24

Family

ID=53378749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013244543A Expired - Fee Related JP5870079B2 (en) 2013-11-27 2013-11-27 Network system, communication method, electronic device, always-on server, program

Country Status (1)

Country Link
JP (1) JP5870079B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017175451A (en) * 2016-03-24 2017-09-28 東芝ライテック株式会社 System and method for push communication
CN108377247B (en) * 2018-03-08 2021-02-26 北京车和家信息技术有限公司 Message pushing method and device
CN119939066A (en) * 2025-01-03 2025-05-06 南京北路智控科技股份有限公司 A method and system for online report generation based on WebSocket

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11275135A (en) * 1998-03-20 1999-10-08 Hitachi Information Systems Ltd E-mail simultaneous distribution method and e-mail system, and program recording medium therefor
JP2002186033A (en) * 2000-12-12 2002-06-28 Matsushita Electric Ind Co Ltd Regional information distribution system
JP2003242309A (en) * 2002-02-13 2003-08-29 Inter Com:Kk Payment and bonus slip paperless system
JP4080771B2 (en) * 2002-03-22 2008-04-23 株式会社野村総合研究所 Distribution management system
JP2004280458A (en) * 2003-03-14 2004-10-07 Fujitsu Ltd E-mail transmission method, e-mail transmission program, and e-mail transmission device
KR100678940B1 (en) * 2004-08-13 2007-02-07 삼성전자주식회사 Remote control and monitoring method of display device and system using same
JP4154615B2 (en) * 2005-12-08 2008-09-24 日本電気株式会社 SIP server sharing module device, SIP message relay method, and program
JP2009157650A (en) * 2007-12-26 2009-07-16 Softbank Mobile Corp Content providing system, content providing method, and content providing program
JP2011004380A (en) * 2009-05-21 2011-01-06 Hokuto Seigyo Kk Communication network system, server device, and program loaded in cellular phone
JP5501888B2 (en) * 2010-07-29 2014-05-28 株式会社日本デジタル研究所 Accounting office introduction system
US8848559B2 (en) * 2012-01-26 2014-09-30 Qualcomm Incorporated Methods and apparatuses for device discovery

Also Published As

Publication number Publication date
JP2015103122A (en) 2015-06-04

Similar Documents

Publication Publication Date Title
CN110235456B (en) Intelligent device network access method, mobile terminal, cloud server, device and system
JP6907129B2 (en) Wireless provisioning and configuration of hardware elements of home automation systems
CN103221932B (en) Device cooperation service execution device, device cooperation service execution method
JP6473743B2 (en) Configuration connection device
CN104683434B (en) Network system keeps connection method, communication means, electronic equipment, keeps Connection Service device, application server, program
CN108141717A (en) Co-locate the distributed edge processing of the internet of things equipment data in facility
CN108139718A (en) Including being based on addressable home automation(HA)The HA systems and correlation technique of the expectation Scene realization of user&#39;s selectable list of equipment
CN105580313A (en) Method and apparatus for controlling a device for smart home services
JP5359998B2 (en) Information processing system, information processing method, and information processing program
US20170277267A1 (en) Hand gesture recognition method, device, system, and computer storage medium
CN114374602B (en) Master control equipment configuration method and device, cloud server and storage medium
CN103780666A (en) User terminal, operator server, remote support method and user terminal progam
KR101587500B1 (en) Intergrated application authoring tool provides a method using smart devices, cloud-based collaboration build system and the system
JP5870079B2 (en) Network system, communication method, electronic device, always-on server, program
JP6069239B2 (en) Network system, communication method, server, terminal, communication program
CN103220317A (en) Portable terminal, remote support method, program and operator system for remote support
CN115766313A (en) Audio-visual system control method, device and storage medium
CN106557037A (en) Management method and managing device
CN104683433B (en) Network system keeps connection method, communication means, electronic equipment, keeps Connection Service device, application server
CN113612747A (en) Method and device for setting equipment control authority, computer equipment and storage medium
JP6000231B2 (en) Network system, always-on connection method, electronic device, always-on server, application server, program
KR101989828B1 (en) Home network service providing system using portable terminal
JP2015103123A (en) Network system, communication method, electronic apparatus, application server, and program
JP5896975B2 (en) Network system, data communication method, electronic device, and program
JP5940566B2 (en) Network system, constant connection method, server, electronic device, program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160108

R150 Certificate of patent or registration of utility model

Ref document number: 5870079

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees