JP5870079B2 - Network system, communication method, electronic device, always-on server, program - Google Patents
Network system, communication method, electronic device, always-on server, program Download PDFInfo
- 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
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.
しかしながら、現状では、常時接続の技術を用いてサーバからクライアントにデータを送る際には、サーバは常時接続中の全てのクライアントにデータを送ってしまう。本発明の目的は、常時接続中のクライアントのうちの一部のクライアントを指定してデータをプッシュすることができるネットワークシステム、通信方法、電子機器、常時接続サーバ、プログラムを提供することにある。 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.
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 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
クライアント100としては、たとえば、掃除機、テレビ、エアコン、洗濯機、冷蔵庫、炊飯器、空気清浄器、床暖房、IH(Induction Heating)クッキングヒーター、電子レンジ、照明などの家電が挙げられる。さらに、クライアントは、通信機器であればよく、たとえば、パーソナルコンピュータ、テレビ以外のAV機器、インターホンシステムなどを含んでもよい。
Examples of the
常時接続サーバ200とアプリケーションサーバ300とは、クライアントのいずれかと同じ住居内、オフィス内、ビル内、会社あるいは学校の構内に存在するサーバなどを含んでもよい。
The always-on
また、クライアント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
本実施の形態においては、常時接続サーバ200とアプリケーションサーバ300とが別々のコンピュータである。しかしながら、常時接続サーバ200とアプリケーションサーバ300とが同一のコンピュータであってもよい。たとえば、1つのコンピュータ、すなわち装置としてのサーバが、クライアントと常時接続するための通信サービスプログラムと、クライアントを制御するためのアプリケーションサービスプログラムとを搭載してもよい。また、1つのアプリケーションサーバが複数のアプリケーションサービスプログラムを搭載してもよい。
<ネットワークシステムの動作概要>
In the present embodiment, always-on
<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
まずは、スマートフォン500または外部のパーソナルコンピュータなどが、グループを指定するためのグループIDと、当該グループに送信するためのデータ本体とをアプリケーションサーバ300に送信する。アプリケーションサーバ300は、グループを指定するためのグループIDと、当該グループに送信するためのデータ本体とを常時接続サーバ200に送信する。常時接続サーバ200は、対応関係DBを参照することによって、Webソケットプロトコルを利用して、グループIDに対応する複数のクライアント100にデータ本体をプッシュする。
First, the
あるいは、クライアント100のいずれかが、グループを指定するためのグループIDと、当該グループに送信するためのデータ本体とを常時接続サーバ200に送信する。常時接続サーバ200は、対応関係DBを参照することによって、Webソケットプロトコルを利用して、グループIDに対応する複数のクライアント100にデータ本体をプッシュする。このとき、常時接続サーバ200は、当該データ本体をログ情報としてアプリケーションサーバ300に送信しても良い。常時接続サーバ200は、さらに、アプリケーションサーバ300を介して当該データ本体をスマートフォン500まで送信しても良い。
Alternatively, any one of the
このように、本実施の形態においては、スマートフォン500、外部のパーソナルコンピュータ、アプリケーションサーバ300、クライアント100が、常時接続サーバ200と常時接続している複数のクライアント100のうちの、所望のグループに属するクライアント100のみにデータをプッシュすることができる。以下では、このような機能を実現するためのネットワークシステム1の構成について詳細に説明する。
<クライアント100のハードウェア構成>
Thus, in the present embodiment, the
<Hardware configuration of
まず、クライアント100のハードウェア構成の一態様について説明する。図2は、本実施の形態にかかるクライアント100のハードウェア構成を表わすブロック図である。
First, an aspect of the hardware configuration of the
図2を参照して、クライアント100は、主たる構成要素として、CPU110と、メモリ120と、入出力部130と、カメラ140と、家電制御回路150と、通信インターフェイス160とを含む。
Referring to FIG. 2,
CPU110は、メモリ120あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、クライアント100の各部を制御する。より詳細には、CPU110は、クライアントAPP(Application software)として動作するとともに、クライアントAPI(ApplicationProgramming Interface)として動作する。すなわち、CPU110は、メモリ120に格納されているプログラムを実行することによって、後述する各種の処理を実行する。
The
メモリ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
メモリ120は、CPU110によって実行されるプログラムや、CPU110によるプログラムの実行により生成されたデータ、入出力部130を介して入力されたデータ、掃除機、テレビ、エアコンなどのような家電として動作するためのAPPデータ、クライアントAPPとデータをやり取りしながら外部の機器と通信するためのAPIデータを記憶する。たとえば、メモリ120は、常時接続サーバの接続先、アプリケーションサーバ接続先、サービス識別コード、サービス認証トークン、接続ID、クライアント識別IDなどを記憶する。
The
入出力部130は、ボタン、タッチパネル、キーボードなどによって実現され、ユーザからの命令を受け付けて、当該命令をCPU110に入力する。入出力部130は、ディスプレイ、ライトなどによって実現され、CPU110からの信号に基づいて、文字や画像を出力する。入出力部130は、スピーカなどによって実現され、CPU110からの信号に基づいて、文字や画像を出力する。
The input /
カメラ140は、CPU110からの信号に基づいて、静止画像や動画像を撮影する。具体的には、カメラ140は、撮影した画像データをCPU110に受け渡す。CPU110は、画像データを逐次メモリ120に記憶させていく。
The
家電制御回路150は、CPU110からの信号に基づいて、クライアントの各部(モータなど)を制御する。
The home
通信インターフェイス160は、IEEE802.11a/b/g/n/acなどの無線LAN通信、ZigBee(登録商標)、BlueTooth(登録商標)、あるいは、イーサネット(登録商標)などの有線LANなどの通信モジュールによって実現される。通信インターフェイス160は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。CPU110は、通信インターフェイス160を介して、他の装置からプログラム、制御命令、画像データ、テキストデータなどを受信したり、他の装置にテキストデータ、画像データなどを送信したりする。本実施の形態においては、CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して常時接続サーバ200と常時接続を行うことができるし、HTTPプロトコルを利用してアプリケーションサーバ300と通信することもできる。
<常時接続サーバ200のハードウェア構成>
The
<Hardware configuration of always-on
次に、常時接続サーバ200のハードウェア構成の一態様について説明する。図3は、本実施の形態にかかる常時接続サーバ200のハードウェア構成を表わすブロック図である。なお、常時接続サーバ200は、apache、tomcat、mysqlなど、一般的なサーバモジュールで担保できる機能は標準的に利用可能である。
Next, an aspect of the hardware configuration of the always-on
図3を参照して、常時接続サーバ200は、主たる構成要素として、CPU210と、メモリ220と、入出力部230と、通信インターフェイス260とを含む。常時接続サーバ200のハードウェア構成は、クライアント100のハードウェア構成と比較して、カメラ140と家電制御回路150とを有さない点、CPU210の動作、メモリ220に格納されているデータに関して異なる。以下では、CPU210の動作とメモリ220が記憶するデータとについて説明するものとし、その他のハードウェア構成については説明を繰り返さない。
Referring to FIG. 3, always-on
CPU210は、メモリ220あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、常時接続サーバ200の各部を制御する。具体的には、CPU210は、メモリ220に記憶されているプログラムを実行することによって、モジュールとしてのWSサーバとして動作する。すなわち、CPU210は、メモリ220に格納されているプログラムを実行することによって、後述する各種の動作を実行する。
The
メモリ220は、CPU210によって実行されるプログラムや、CPU210によるプログラムの実行により生成されたデータ、入出力部230を介して入力されたデータ、サービスID、サービス名、アプリケーションサーバ300の接続先URL、サービス認証トークン生成情報、認証情報(ワンタイムキー)、接続IDなどを記憶する。
<対応関係DB>
The
<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)
また、図1および図5に示すように、対応関係DBサーバ250が、グループIDと接続IDとの対応関係DB222を記憶する。なお、接続IDとは、アプリケーションサーバ300が提供するサービスとクライアント100との関係を特定するための情報である。なお、常時接続サーバ200のメモリ220が、対応関係DB222を記憶してもよい。
As shown in FIGS. 1 and 5, the
さらに、本実施の形態においては、図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
<Hardware Configuration of
次に、アプリケーションサーバ300のハードウェア構成の一態様について説明する。図7は、本実施の形態にかかるアプリケーションサーバ300のハードウェア構成を表わすブロック図である。なお、アプリケーションサーバ300は、apache、tomcat、mysqlなど、一般的なサーバモジュールで担保できる機能は標準的に利用可能である。
Next, an aspect of the hardware configuration of the
図7を参照して、アプリケーションサーバ300は、主たる構成要素として、CPU310と、メモリ320と、入出力部330と、通信インターフェイス360とを含む。アプリケーションサーバ300のハードウェア構成は、クライアント100のハードウェア構成と比較して、カメラ140と家電制御回路150とを有さない点、CPU310の動作、メモリ320に格納されているデータに関して異なる。よって、以下では、CPU310の動作と、メモリ320が記憶するデータとについて説明するものとし、その他のハードウェア構成については説明を繰り返さない。
Referring to FIG. 7,
CPU310は、メモリ320あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、アプリケーションサーバ300の各部を制御する。具体的には、CPU310は、メモリ320に記憶されているプログラムを実行することによって、サーバAPPとして動作するとともに、サーバAPIとして動作する。すなわち、CPU310は、メモリ320に格納されているプログラムを実行することによって、後述する各種の処理を実行する。
The
メモリ320は、CPU310によって実行されるプログラムや、CPU310によるプログラムの実行により生成されたデータ、入出力部330を介して入力されたデータ、アプリケーションサーバ300として動作するためのAPPデータ、サーバAPPとデータをやり取りしながらクライアント100と常時接続サーバ200とスマートフォン500と通信するためのAPIデータを記憶する。たとえば、メモリ320は、常時接続サーバのURL、サービスIDとサービス認証トークン、認証情報(ワンタイムキー)生成情報、接続IDなどを記憶する。
<スマートフォン500のハードウェア構成>
The
<Hardware configuration of
次に、スマートフォン500あるいはパーソナルコンピュータなどの通信機器のハードウェア構成の一態様について説明する。図8は、本実施の形態にかかるスマートフォン500のハードウェア構成を表わすブロック図である。
Next, an aspect of a hardware configuration of a communication device such as the
図8を参照して、スマートフォン500は、主たる構成要素として、CPU510と、メモリ520と、ボタン530と、ディスプレイ540と、通信インターフェイス560とを含む。なお、近年のスマートフォンでは、ボタン530とディスプレイ540の代わりにタッチパネルが利用されることが多い。
Referring to FIG. 8,
スマートフォン500のハードウェア構成は、クライアント100のハードウェア構成と比較して、家電制御回路150を有さない点、CPU510の動作、メモリ520に格納されているデータに関して異なる。そして、CPU510の動作、メモリ520に格納されているデータは、一般的なスマートフォンのものと同様である。よって、ここでは、ハードウェア構成の各部については説明を繰り返さない。
<常時接続に関する装置間のデータのやり取り>
The hardware configuration of the
<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
同様に、図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
同様に、図9におけるアプリケーションサーバ300の動作は、サーバAPI310Aが実現するものである。図7および図9を参照して、サーバAPI310Aは、アプリケーションサーバ300のCPU310がプログラムを実行することによって実現されるものである。サーバAPI310Aは、通信インターフェイス360を介して、HTTPプロトコルを利用してクライアント100と常時接続サーバ200とスマートフォン500などの他の通信装置と通信する。
Similarly, the operation of the
図9を参照して、クライアント100は、HTTPプロトコルを使用して、アプリケーションサーバ300に認証情報を要求する(ステップS002)。このとき、クライアント100は、アプリケーションサーバ300に、認証に利用されるクライアントIDを送信する。アプリケーションサーバ300は、当該要求に応じてHTTPプロトコルを使用して認証情報を送信する(ステップS004)。
Referring to FIG. 9, the
アプリケーションサーバ300は、常時接続サーバ200にも認証情報を送信する(ステップS006)。常時接続サーバ200は、アプリケーションサーバ300から受信した認証情報を保存する(ステップS008)。
The
クライアント100と常時接続サーバ200とは、HTTPプロトコルを使用して、WebSocketを利用した常時接続状態を確立する(ステップS010、ステップS012)。具体的には、クライアント100は、HTTPプロトコルを使用して、常時接続サーバ200にハンドシェイク要求を送る。常時接続サーバ200は、ハンドシェイク応答を返す。これによって、クライアント100と常時接続サーバ200との間で、WebSocketプロトコルによる常時接続が有効になる。
The
クライアント100は、認証情報を常時接続サーバ200に送信する(ステップS014)。常時接続サーバ200は、クライアント100からの認証情報と予め保存している認証情報とに基づいて、クライアント100を認証する(ステップS016)。認証に成功すると、常時接続サーバ200は、アプリケーションサーバ300がクライアント100を識別するための接続IDを発行する(ステップS018)。
The
具体的には、常時接続サーバ200は、常時接続中のクライアント100と接続IDとの対応関係を、接続状態管理情報として記憶する。常時接続サーバ200は、アプリケーションサーバ300とクライアント100とに接続IDを送信する。クライアント100は、常時接続サーバ200から接続IDを受信して、記憶する(ステップS020)。同様に、アプリケーションサーバ300も、接続IDを受信して、記憶する(ステップS022)。
Specifically, the always-on
その後、アプリケーションサーバ300は、必要に応じて、データ本体(たとえば、ポーリング命令など)と送り先のクライアント100を特定するための接続IDとを常時接続サーバ200に送信する(ステップS032)。常時接続サーバ200は、アプリケーションサーバ300からデータ本体と接続IDとを受信する(ステップS034)。常時接続サーバ200は、接続状態管理情報を参照して、接続IDに基づいてクライアント100を特定する(ステップS036)。
Thereafter, the
常時接続サーバ200は、WebSocketプロトコルを使用して、特定されたクライアント100にデータ本体を送信する(ステップS038)。クライアント100は、データ本体を受信する(ステップS040)。クライアント100は、WebSocketプロトコルを使用して、受信結果を常時接続サーバ200に送信する(ステップS042)。常時接続サーバ200は、受信結果を受信すると、当該受信結果をアプリケーションサーバ300に送信する(ステップS044)。アプリケーションサーバ300は、受信結果を受信する(ステップS046)。
<クライアントがグループに加入する際の処理手順の詳細>
The always-on
<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
図10を参照して、クライアント100は、グループに加入するための要求を常時接続サーバ200に送信する(ステップS102)。具体的には、クライアント100のCPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信する。グループ加入要求は、グループを特定するためのグループIDを含む。
Referring to FIG. 10, the
なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信してもよい。この場合は、グループ加入要求は、クライアント100を特定するための接続IDも含む。
Note that the
常時接続サーバ200は、クライアント100を特定するための接続IDをグループIDに対応付けて対応関係DB222に記憶する(ステップS106)。具体的には、図11に示すように、CPU210が、対応関係DB222に、接続IDとグループIDとの組み合わせを追加する。
The always-on
常時接続サーバ200は、クライアント100にグループ加入が完了した旨を示すデータ送信する(ステップS108)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。
The always-on
以下では、より詳細に、クライアント100のグループ加入の処理手順の詳細について説明する。まずは、クライアント100に予めグループIDが書き込まれている場合のグループ加入の処理手順の詳細について説明する。図12は、本実施の形態にかかるクライアント100に予めグループIDが書き込まれている場合のグループ加入の処理手順の詳細を示すシーケンス図である。
In the following, details of the processing procedure for group joining of the
図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,
なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信してもよい。この場合は、グループ加入要求は、クライアント100を特定するための接続IDも含む。
Note that the
常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS114)。CPU110は、受信したグループIDが対応関係DB222に含まれていない場合、新たにグループIDを作成して、対応関係DB221と対応関係DB222とに追加する。ただし、受信したグループIDが対応関係DB222に含まれていない場合、CPU210は、グループ加入要求を却下してもよい。
The
CPU210は、受信したグループIDが対応関係DB222に含まれている場合、クライアント100を特定するための接続IDをグループIDに対応付けてメモリ220に記憶する(ステップS116)。具体的には、図11に示すように、CPU210が、対応関係DB222に、接続IDとグループIDとの組み合わせを追加する。
When the received group ID is included in the
常時接続サーバ200は、クライアント100にグループ加入が完了した旨を示すデータ送信する(ステップS118)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。
The always-on
次に、ユーザ指定のグループへの加入の処理手順の詳細について説明する。すなわち、ユーザが、所望のグループ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
図13を参照して、たとえば、クライアント100は、ユーザから、グループIDの入力を受け付ける(ステップS121)。具体的には、CPU110は、入出力部130を介して、グループIDの入力を受け付ける。CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信する(ステップS122)。グループ加入要求は、グループを特定するためのグループIDを含む。
Referring to FIG. 13, for example, the
なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信してもよい。この場合は、グループ加入要求は、クライアント100を特定するための接続IDも含む。
Note that the
常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS124)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、新たにグループIDを作成して、対応関係DB221と対応関係DB222とに追加する。ただし、受信したグループIDが対応関係DB222に含まれていない場合、CPU210は、グループ加入要求を却下してもよい。
The
CPU210は、受信したグループIDが対応関係DB222に含まれている場合、クライアント100を特定するための接続IDをグループIDに対応付けて対応関係DB222に記憶する(ステップS126)。具体的には、図11に示すように、CPU210が、対応関係DB222に、接続IDとグループIDとの組み合わせを追加する。
When the received group ID is included in the
常時接続サーバ200は、クライアント100にグループ加入が完了した旨を示すデータ送信する(ステップS128)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。
<アプリケーションサーバによるクライアント加入の処理手順の詳細>
The always-on
<Details of client application processing procedure by application server>
次に、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるクライアント加入の処理手順の詳細について説明する。図14は、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるクライアント加入の処理手順の詳細を示すシーケンス図である。
Next, details of a client subscription processing procedure by the
図14を参照して、アプリケーションサーバ300は、常時接続サーバ200にクライアント100をグループに加入させるための加入要求を送信する(ステップS132)。具体的には、アプリケーションサーバ300のCPU310は、管理人またはサービス用のアプリケーションプログラムなどの要求に応じて、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にクライアント加入要求を送信する。たとえば、クライアント加入要求は、グループIDとグループに属するクライアントの接続IDとを含む。
Referring to FIG. 14, the
常時接続サーバ200のCPU210は、クライアント加入要求に応じて、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS134)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ加入要求を却下する。
In response to the client subscription request, the
受信したグループIDが対応関係DB222に含まれている場合、CPU210は、図11に示すように、対応関係DB222に、接続IDとグループIDとの組み合わせを登録する(ステップS136)。常時接続サーバ200は、アプリケーションサーバ300にクライアント100のグループへの加入が完了した旨を示すデータ送信する(ステップS138)。
When the received group ID is included in the
次に、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるグループ作成の処理手順の詳細について説明する。図15は、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるクライアント加入の処理手順の詳細を示すシーケンス図である。
Next, details of a group creation processing procedure by the
図15を参照して、スマートフォン500または外部のパーソナルコンピュータは、ユーザまたはアプリケーションプログラムからの要求に応じて、アプリケーションサーバ300に、クライアント100をグループに加入させるためのクライアント加入要求を送信する(ステップS140)。クライアント加入要求は、グループを特定するためのグループIDとグループに属するクライアントの接続IDとを含む。
Referring to FIG. 15,
アプリケーションサーバ300は、常時接続サーバ200にクライアント加入要求を送信する(ステップS142)。具体的には、アプリケーションサーバ300のCPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にクライアント加入要求を送信する。
The
常時接続サーバ200のCPU210は、受信したクライアント加入要求に含まれるグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS144)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ加入要求を却下する。
The
常時接続サーバ200のCPU210は、受信したグループIDが対応関係DB222に含まれている場合、図11に示すように、対応関係DB221に、グループIDとグループに属するクライアントの接続IDとの組み合わせを登録する(ステップS146)。常時接続サーバ200は、アプリケーションサーバ300に、グループへのクライアント100の加入が完了した旨を示すデータを送信する(ステップS148)。
<新たなグループ作成の処理手順の詳細>
When the received group ID is included in the
<Details of new group creation procedure>
次に、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるグループ作成の処理手順の詳細について説明する。図16は、本実施の形態にかかるネットワークシステム1におけるアプリケーションサーバ300によるグループ作成の処理手順の詳細を示すシーケンス図である。
Next, details of a group creation processing procedure by the
図16を参照して、アプリケーションサーバ300は、常時接続サーバ200に新たなグループを作成するための要求を送信する(ステップS151)。具体的には、アプリケーションサーバ300のCPU310は、管理人またはサービス用のアプリケーションプログラムなどからの要求に応じて、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ作成要求を送信する。たとえば、グループ作成要求は、新たなグループを特定するためのグループ名称およびグループIDと、新たなグループに属するべきクライアントの接続IDとを含む。
Referring to FIG. 16, the
常時接続サーバ200のCPU210は、グループ作成要求に応じて、対応関係DB221に、新たなグループ名称とグループIDと組み合わせを追加する。さらに、CPU210は、対応関係DB222に新たなグループIDと新たなグループに属するべきクライアントの接続IDとの組み合わせを追加する。CPU210は、通信インターフェイス260を介して、グループの作成が成功した旨をアプリケーションサーバ300に送信する。
The
クライアント100のCPU110は、ユーザからの命令に応じて、あるいはアプリケーションサーバ300からの要求に応じて、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信する(ステップS152)。グループ加入要求は、作成されたグループを特定するためのグループIDを含む。
The
常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS154)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ加入要求を却下する。ただし、受信したグループIDが対応関係DB222に含まれていない場合、CPU210は、新たにグループIDを作成して、対応関係DB221と対応関係DB222とに追加してもよい。
The
CPU210は、受信したグループIDが対応関係DB222に含まれている場合、クライアント100を特定するための接続IDをグループIDに対応付けて対応関係DB222に記憶する(ステップS156)。具体的には、図11に示すように、CPU210が、対応関係DB222に、接続IDとグループIDとの組み合わせを追加する。
When the received group ID is included in the
常時接続サーバ200は、クライアント100にグループ加入が完了した旨を示すデータ送信する(ステップS158)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。
The always-on
次に、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるグループ作成の処理手順の詳細について説明する。図17は、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるグループ作成の処理手順の詳細を示すシーケンス図である。
Next, details of a group creation processing procedure by the
図17を参照して、スマートフォン500または外部のパーソナルコンピュータは、ユーザまたはアプリケーションプログラムからの要求に応じて、アプリケーションサーバ300に、新たなグループを作成するためのグループ作成要求を送信する(ステップS160)。グループ作成要求は、新たなグループを特定するためのグループ名称およびグループIDと、新たなグループに属するべきクライアントの接続IDとを含む。
Referring to FIG. 17,
アプリケーションサーバ300は、常時接続サーバ200にグループ作成要求を送信する(ステップS161)。具体的には、アプリケーションサーバ300のCPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ作成要求を送信する。グループ作成要求は、新たなグループを特定するためのグループ名称およびグループIDと、新たなグループに属するべきクライアントの接続IDとを含む。
The
常時接続サーバ200のCPU210は、グループ作成要求に応じて、対応関係DB221に、新たなグループIDを追加する。さらに、CPU210は、対応関係DB222に新たなグループIDと新たなグループに属するべきクライアントの接続IDとの組み合わせを追加する。
The
クライアント100のCPU110は、ユーザからの命令に応じて、あるいはアプリケーションサーバ300からの要求に応じて、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ加入要求を送信する(ステップS162)。グループ加入要求は、作成されたグループを特定するためのグループIDを含む。
The
常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS164)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ加入要求を却下する。ただし、受信したグループIDが対応関係DB222に含まれていない場合、CPU210は、新たにグループIDを作成して、対応関係DB221と対応関係DB222とに追加してもよい。
The
CPU210は、受信したグループIDが対応関係DB222に含まれている場合、クライアント100を特定するための接続IDをグループIDに対応付けて対応関係DBに記憶する(ステップS166)。具体的には、図11に示すように、CPU210が、対応関係DB222に、接続IDとグループIDとの組み合わせを追加する。
When the received group ID is included in the
常時接続サーバ200は、クライアント100にグループ加入が完了した旨を示すデータを送信する(ステップS168)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。
<クライアントがグループから脱退する際の処理手順の詳細>
The always-on
<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
図18を参照して、クライアント100は、常時接続サーバ200にグループから脱退するための要求を送信する(ステップS202)。具体的には、クライアント100のCPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ脱退要求を送信する。グループ脱退要求は、グループを特定するためのグループIDを含む。
With reference to FIG. 18, the
なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ脱退要求を送信してもよい。この場合は、グループ脱退要求は、クライアント100を特定するための接続IDも含む。
Note that the
常時接続サーバ200は、図19に示すように、CPU210が、対応関係DB222から、接続IDとグループIDとの組み合わせを削除する(ステップS206)。
In the always-on
常時接続サーバ200は、クライアント100にグループ脱退が完了した旨を示すデータ送信する(ステップS208)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。
The always-on
以下では、より詳細に、クライアント100のグループ脱退の処理手順の詳細について説明する。まずは、クライアント100に予めグループIDが書き込まれている場合のグループ加入の処理手順の詳細について説明する。図20は、本実施の形態にかかるクライアント100に予めグループIDが書き込まれている場合のグループ加入の処理手順の詳細を示すシーケンス図である。
In the following, the details of the group withdrawal processing procedure of the
図20を参照して、たとえば、クライアント100は、常時接続サーバ200にグループから脱退するための要求を送信する(ステップS212)。具体的には、クライアント100のCPU110は、入出力部130を介してユーザからのリセット命令を受け付けたとき、あるいは入出力部130を介してユーザからの脱退命令を受け付けたときなどに、メモリ120からグループIDを読み出す。そして、CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して、常時接続サーバ200にグループ脱退要求を送信する。グループ脱退要求は、グループを特定するためのグループIDを含む。
With reference to FIG. 20, for example, the
なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ脱退要求を送信してもよい。この場合は、グループ脱退要求は、クライアント100を特定するための接続IDも含む。
Note that the
常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS214)。CPU110は、受信したグループIDが対応関係DB222に含まれていない場合、グループ脱退要求を却下してもよい。
The
受信したグループIDが対応関係DB222に含まれている場合、CPU210は、図19に示すように、対応関係DB222から、接続IDとグループIDとの組み合わせを削除する(ステップS216)。
When the received group ID is included in the
常時接続サーバ200は、クライアント100にグループ脱退が完了した旨を示すデータ送信する(ステップS218)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。
The always-on
次に、ユーザ指定のグループからの脱退の処理手順の詳細について説明する。図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
なお、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ脱退要求を送信してもよい。この場合は、グループ脱退要求は、クライアント100を特定するための接続IDも含む。
Note that the
常時接続サーバ200のCPU210は、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS224)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ脱退要求を却下してもよい。
The
受信したグループIDが対応関係DB222に含まれている場合、CPU210は、図19に示すように、対応関係DB222から、接続IDとグループIDとの組み合わせを削除する(ステップS226)。
When the received group ID is included in the
常時接続サーバ200は、クライアント100にグループ脱退が完了した旨を示すデータ送信する(ステップS228)。具体的には、CPU210が、通信インターフェイス260を介して、WebSocketプロトコルを利用して当該データをクライアント100に送信する。
<アプリケーションサーバによるクライアント脱退の処理手順の詳細>
The always-on
<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
図22を参照して、アプリケーションサーバ300は、常時接続サーバ200にクライアント100を脱退させるための脱退要求を送信する(ステップS252)。具体的には、アプリケーションサーバ300のCPU310は、管理人またはサービス用のアプリケーションプログラムなどの要求に応じて、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にクライアント脱退要求を送信する。たとえば、クライアント脱退要求は、グループIDとグループに属するクライアントの接続IDとを含む。
Referring to FIG. 22,
常時接続サーバ200のCPU210は、クライアント脱退要求に応じて、受信したグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS254)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ脱退要求を却下する。
The
受信したグループIDが対応関係DB222に含まれている場合、CPU210は、図19に示すように、対応関係DB222から、接続IDとグループIDとの組み合わせを削除する(ステップS256)。常時接続サーバ200は、アプリケーションサーバ300にクライアント100のグループからの脱退が完了した旨を示すデータ送信する(ステップS258)。
When the received group ID is included in the
次に、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるグループ作成の処理手順の詳細について説明する。図23は、本実施の形態にかかるネットワークシステム1におけるスマートフォン500または外部のパーソナルコンピュータによるクライアント脱退の処理手順の詳細を示すシーケンス図である。
Next, details of a group creation processing procedure by the
図23を参照して、スマートフォン500または外部のパーソナルコンピュータは、ユーザまたはアプリケーションプログラムからの要求に応じて、アプリケーションサーバ300に、クライアント100をグループから脱退させるためのクライアント脱退要求を送信する(ステップS260)。クライアント脱退要求は、グループを特定するためのグループIDとグループに属するクライアントの接続IDとを含む。
Referring to FIG. 23,
アプリケーションサーバ300は、常時接続サーバ200にクライアント脱退要求を送信する(ステップS262)。具体的には、アプリケーションサーバ300のCPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して、常時接続サーバ200にクライアント脱退要求を送信する。
The
常時接続サーバ200のCPU210は、受信したクライアント脱退要求に含まれるグループIDが、対応関係DB222に含まれているか否かを判断する(ステップS264)。CPU210は、受信したグループIDが対応関係DB222に含まれていない場合、グループ脱退要求を却下する。
The
常時接続サーバ200のCPU210は、受信したグループIDが対応関係DB222に含まれている場合、図19に示すように、対応関係DB221から、グループIDとグループに属するクライアントの接続IDとの組み合わせを削除する(ステップS266)。常時接続サーバ200は、アプリケーションサーバ300に、グループからのクライアント100の脱退が完了した旨を示すデータを送信する(ステップS268)。
<クライアントからグループへのデータ送信の処理手順の詳細>
When the received group ID is included in the
<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
図24を参照して、クライアント100は、ユーザからメッセージを受け付ける(ステップS311)。具体的には、CPU110は、入出力部130を介してユーザからのメッセージの入力とグループIDの指定を受け付ける(ステップS311)。CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS312)。グループ一斉送信要求は、グループIDおよびメッセージを含む。
Referring to FIG. 24,
なお、ユーザからのメッセージ入力に限らず、たとえば、CPU110は、所定の時刻になった際に、常時接続サーバ200にグループ一斉送信要求を送信しても良い。あるいは、CPU110は、センサからの入力に応じて、常時接続サーバ200にグループ一斉送信要求を送信しても良い。
For example, the
また、クライアント100のCPU110は、通信インターフェイス160を介して、HTTPプロトコルを利用して、常時接続サーバ200にグループ一斉送信要求を送信してもよい。この場合は、グループ一斉送信要求は、クライアント100を特定するための接続IDも含むことが好ましい。
Further, the
常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、指定されたグループIDに対応する接続IDを順に読み出して(ステップS314)、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS316)。CPU210は、グループIDに対応するクライアント100全てに関して、ステップS314とステップS316の送信処理を繰り返す。
The
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
なお、送信結果は、データが無事にクライアント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
<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
図25を参照して、アプリケーションサーバ300は、管理人、自身のアプリケーションプログラム、スマートフォン500、外部のパーソナルコンピュータなどからメッセージを受け付ける(ステップS411)。ここでは、CPU310は、入出力部330を介して管理人からのメッセージの入力を受け付ける。CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS412)。グループ一斉送信要求は、グループIDおよびメッセージを含む。
Referring to FIG. 25,
常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、グループIDに対応する接続IDを順に読み出す(ステップS414)。CPU1210は、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS416)。CPU210は、グループIDに対応するクライアント100全てに関して、ステップS414とステップS416の送信処理を繰り返す。
The
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
なお、送信結果は、データが無事にクライアント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
<Second Embodiment>
第1の実施の形態においては、送信元のクライアント100からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のクライアント100に送信するものであった。しかしながら、本実施の形態においては、常時接続サーバ200が、送信先のクライアント100にデータを送信するたびに送信結果を送信元のクライアント100へと送信するものである。
In the first embodiment, when data is transmitted from the
なお、本実施の形態は、第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
図26を参照して、クライアント100は、ユーザからメッセージを受け付ける(ステップS321)。具体的には、CPU110は、入出力部130を介してユーザからのメッセージの入力を受け付ける(ステップS321)。CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS322)。グループ一斉送信要求は、グループIDおよびメッセージを含む。
Referring to FIG. 26,
常時接続サーバ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
CPU210は、グループIDに対応するクライアント100全てに関して、ステップS324とステップS326とステップS328の送信処理と送信結果通知処理とを繰り返す。
<第3の実施の形態>
The
<Third Embodiment>
第1の実施の形態においては、送信元のクライアント100からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のクライアント100に送信するものであった。しかしながら、本実施の形態においては、送信元のクライアント100からグループ一斉送信要求を受信した際に常時接続サーバ200が要求を受け付けた旨を送信元のクライアント100に送信し、かつグループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のクライアント100に送信するものである。
In the first embodiment, when data is transmitted from the
なお、本実施の形態は、第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
図27を参照して、クライアント100は、ユーザからメッセージを受け付ける(ステップS331)。具体的には、CPU110は、入出力部130を介してユーザからのメッセージの入力を受け付ける。CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS332)。グループ一斉送信要求は、グループIDおよびメッセージを含む。
Referring to FIG. 27,
常時接続サーバ200のCPU210は、通信インターフェイス260を介して、WebSocketプロトコルを利用して、クライアント100からのグループ一斉送信要求を受け付けた旨を、送信元のクライアント100に送信する(ステップS333)。
The
常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、グループIDに対応する接続IDを順に読み出す(ステップS334)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS336)。CPU210は、グループIDに対応するクライアント100全てに関して、ステップS334とステップS336の送信処理を繰り返す。
The
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
なお、送信結果は、データが無事にクライアント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
<Fourth embodiment>
第1の実施の形態においては、送信元のクライアント100からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のクライアント100に送信するものであった。しかしながら、本実施の形態においては、送信元のクライアント100からグループ一斉送信要求を受信した際に常時接続サーバ200が要求を受け付けた旨を送信し、送信先のクライアント100に送信するたびに送信結果を送信元のクライアント100へと送信するものである。
In the first embodiment, when data is transmitted from the
なお、本実施の形態は、第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
図28を参照して、クライアント100は、ユーザからメッセージを受け付ける(ステップS341)。具体的には、CPU110は、入出力部130を介してユーザからのメッセージの入力を受け付ける。CPU110は、通信インターフェイス160を介して、WebSocketプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS342)。グループ一斉送信要求は、グループIDおよびメッセージを含む。
Referring to FIG. 28,
常時接続サーバ200のCPU210は、通信インターフェイス260を介して、WebSocketプロトコルを利用して、クライアント100からのグループ一斉送信要求を受け付けた旨を、送信元のクライアント100に送信する(ステップS343)。
The
常時接続サーバ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
CPU210は、グループIDに対応するクライアント100全てに関して、ステップS344とステップS346とステップS348の送信処理と送信結果通知処理とを繰り返す。
<第5の実施の形態>
The
<Fifth embodiment>
第1の実施の形態においては、アプリケーションサーバ300からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のアプリケーションサーバ300に送信するものであった。しかしながら、本実施の形態においては、送信先のクライアント100に送信するたびに送信結果をアプリケーションサーバ300へと送信するものである。
In the first embodiment, when data is transmitted from the
なお、本実施の形態は、第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
図29を参照して、アプリケーションサーバ300は、管理人、自身のアプリケーションプログラム、スマートフォン500、外部のパーソナルコンピュータなどメッセージを受け付ける(ステップS421)。ここでは、CPU310が、入出力部330を介して管理人からのメッセージの入力を受け付ける。CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS422)。グループ一斉送信要求は、グループIDおよびメッセージを含む。
Referring to FIG. 29,
常時接続サーバ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
CPU210は、グループIDに対応するクライアント100全てに関して、ステップS424とステップS426とステップS428の送信処理と送信結果通知処理とを繰り返す。
<第6の実施の形態>
The
<Sixth Embodiment>
第1の実施の形態においては、送信元のアプリケーションサーバ300からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のアプリケーションサーバ300に送信するものであった。しかしながら、本実施の形態においては、アプリケーションサーバ300からグループ一斉送信要求を受信した際に常時接続サーバ200が要求を受け付けた旨をアプリケーションサーバ300に送信し、かつグループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果を送信元のアプリケーションサーバ300に送信するものである。
In the first embodiment, when data is transmitted from the transmission
なお、本実施の形態は、第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
図30を参照して、アプリケーションサーバ300は、管理人、自身のアプリケーションプログラム、スマートフォン500、外部のパーソナルコンピュータなどメッセージを受け付ける(ステップS431)。ここでは、CPU310が、入出力部330を介して管理人からのメッセージの入力を受け付ける。CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS432)。グループ一斉送信要求は、グループIDおよびメッセージを含む。
Referring to FIG. 30,
常時接続サーバ200のCPU210は、通信インターフェイス260を介して、HTTPプロトコルを利用して、アプリケーションサーバ300からのグループ一斉送信要求を受け付けた旨を、送信元のアプリケーションサーバ300に送信する(ステップS433)。
The
常時接続サーバ200のCPU210は、対応関係DB222を参照することによって、グループIDに対応する接続IDを順に読み出す(ステップS434)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介してクライアント100にメッセージを送信する(ステップS436)。CPU210は、グループIDに対応するクライアント100全てに関して、ステップS434とステップS436の送信処理を繰り返す。
The
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
なお、送信結果は、データが無事にクライアント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
<Seventh embodiment>
第1の実施の形態においては、アプリケーションサーバ300からグループへのデータ送信の際に、常時接続サーバ200が、グループに属する全ての送信先のクライアント100へのデータ送信が完了してから送信結果をアプリケーションサーバ300に送信するものであった。しかしながら、本実施の形態においては、アプリケーションサーバ300からグループ一斉送信要求を受信した際に常時接続サーバ200が要求を受け付けた旨を送信し、送信先のクライアント100に送信するたびに送信結果をアプリケーションサーバ300へと送信するものである。
In the first embodiment, when data is transmitted from the
なお、本実施の形態は、第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
図31を参照して、アプリケーションサーバ300は、管理人、自身のアプリケーションプログラム、スマートフォン500、外部のパーソナルコンピュータなどメッセージを受け付ける(ステップS441)。ここでは、CPU310は、入出力部330を介して管理人からのメッセージの入力を受け付ける。CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS442)。グループ一斉送信要求は、グループIDおよびメッセージを含む。
Referring to FIG. 31,
常時接続サーバ200のCPU210は、通信インターフェイス260を介して、HTTPプロトコルを利用して、アプリケーションサーバ300からのグループ一斉送信要求を受け付けた旨を、送信元のアプリケーションサーバ300に送信する(ステップS443)。
The
常時接続サーバ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
CPU210は、グループIDに対応するクライアント100全てに関して、ステップS444とステップS446とステップS448の送信処理と送信結果通知処理とを繰り返す。
<第8の実施の形態>
The
<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
クライアント100としては、たとえば、掃除機、テレビ、エアコン、洗濯機、冷蔵庫、炊飯器、空気清浄器、床暖房、IHクッキングヒーター、電子レンジ、照明などの家電が挙げられる。さらに、クライアントは、通信機器であればよく、たとえば、パーソナルコンピュータ、テレビ以外のAV機器、インターホンシステムなどを含んでもよい。
Examples of the
常時接続サーバ200とアプリケーションサーバ300とは、クライアントのいずれかと同じ住居内、オフィス内、ビル内、会社あるいは学校の構内に存在するサーバなどを含んでもよい。
The always-on
本実施の形態においては、常時接続サーバ200とアプリケーションサーバ300とが別々のコンピュータである。しかしながら、常時接続サーバとアプリケーションサーバとが同一のコンピュータであってもよい。たとえば、1つのコンピュータ、すなわち装置としてのサーバが、クライアントと常時接続するための通信サービスプログラムと、クライアントを制御するためのアプリケーションサービスプログラムとを搭載してもよい。また、1つのアプリケーションサーバが複数のアプリケーションサービスプログラムを搭載してもよい。
<ネットワークシステムの動作概要>
In the present embodiment, always-on
<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
スマートフォン500または外部のパーソナルコンピュータなどが、商品または型番を指定するためのグループIDと、当該グループに送信するためのメッセージとをアプリケーションサーバ300に送信する。アプリケーションサーバ300は、グループを指定するためのグループIDと、当該グループに送信するためのメッセージとを常時接続サーバ200に送信する。常時接続サーバ200は、グループIDに対応する複数のクライアント100にデータ本体をプッシュする。たとえば、常時接続サーバ200は、常時接続中のクライアント100のうちの、テレビ100A,100B,100Cだけにリコール情報に関するメッセージを送る。
The
このように、本実施の形態においては、スマートフォン500、外部のパーソナルコンピュータ、アプリケーションサーバ300、クライアント100が、常時接続サーバ200と常時接続している複数のクライアント100のうちの、所望の商品のみに、または所望の型番の家電のみにデータを送信することができる。以下では、このような機能を実現するための対応関係DBと、常時接続サーバ200のCPU210の動作について説明する。なお、本実施の形態にかかるネットワークシステム1の他の構成および動作などについては、第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<対応関係DB>
As described above, in this embodiment, the
<Correspondence DB>
本実施の形態においては、図33に示すように、常時接続サーバ200とは別の対応関係DBサーバ250が、グループ名称とグループIDとの対応関係DB224を記憶する。なお、常時接続サーバ200のメモリ220が、対応関係DB224を記憶してもよい。
In the present embodiment, as shown in FIG. 33, a
また、図34に示すように、常時接続サーバ200とは別の対応関係DBサーバ250が、グループIDと接続IDとの対応関係DB225を記憶する。なお、接続IDとは、アプリケーションサーバ300が提供するサービスとクライアント100との関係を特定するための情報である。なお、常時接続サーバ200のメモリ220が、対応関係DB224を記憶してもよい。
As shown in FIG. 34, a
なお、図示してはいないが、対応関係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
アプリケーションサーバ300は、商品のメーカなどからリコール情報を受け付ける(ステップS411)。具体的には、CPU310は、入出力部330を介してと商品名または型番を示すグループIDとメッセージの入力を受け付ける。CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS412)。ここでは、グループ一斉送信要求は、テレビの型番1を特定するためのグループID「002001」と「このテレビはリコール対象製品だよ。電話して確認してもらってね。」というメッセージとを含む。
The
常時接続サーバ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
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
なお、送信結果は、データが無事にクライアント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
<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
クライアント100としては、たとえば、掃除機、テレビ、エアコン、洗濯機、冷蔵庫、炊飯器、空気清浄器、床暖房、IH(Induction Heating)クッキングヒーター、電子レンジ、照明などの家電が挙げられる。さらに、クライアントは、通信機器であればよく、たとえば、パーソナルコンピュータ、テレビ以外のAV機器、インターホンシステムなどを含んでもよい。
Examples of the
常時接続サーバ200とアプリケーションサーバ300とは、クライアントのいずれかと同じ住居内、オフィス内、ビル内、会社あるいは学校の構内に存在するサーバなどを含んでもよい。
The always-on
また、本実施の形態においては、常時接続サーバ200とアプリケーションサーバ300とが別々のコンピュータである。しかしながら、常時接続サーバとアプリケーションサーバとが同一のコンピュータであってもよい。たとえば、1つのコンピュータ、すなわち装置としてのサーバが、クライアントと常時接続するための通信サービスプログラムと、クライアントを制御するためのアプリケーションサービスプログラムとを搭載してもよい。また、1つのアプリケーションサーバが複数のアプリケーションサービスプログラムを搭載してもよい。
<ネットワークシステムの動作概要>
In the present embodiment, always-on
<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
スマートフォン500または外部のパーソナルコンピュータなどが、マンションの階層を指定するためのグループIDと、当該グループに送信するためのメッセージとをアプリケーションサーバ300に送信する。アプリケーションサーバ300は、グループを指定するためのグループIDと、当該グループに送信するためのメッセージとを常時接続サーバ200に送信する。常時接続サーバ200は、グループIDに対応する複数のクライアント100にデータ本体をプッシュする。たとえば、常時接続サーバ200は、常時接続中のクライアント100のうちの、10階以上の家電だけに「9月21日はマンションの清掃日だよ。」とメッセージを送り、10階未満の家電だけに「9月22日はマンションの清掃日だよ。」とメッセージを送る。
The
このように、本実施の形態においては、スマートフォン500、外部のパーソナルコンピュータ、アプリケーションサーバ300、クライアント100が、常時接続サーバ200と常時接続している複数のクライアント100のうちの、所望の階数の部屋にある家電のみにデータを送信することができる。以下では、このような機能を実現するための対応関係DBと、常時接続サーバ200のCPU210の動作について説明する。なお、本実施の形態にかかるネットワークシステム1の他の構成については、第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<対応関係DB>
As described above, in the present embodiment, the
<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
<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
アプリケーションサーバ300は、管理人のスマートフォン500またはパーソナルコンピュータからグループIDとメッセージとを受け付ける(ステップS411)。具体的には、CPU310は、通信インターフェイス360を介して、日本の近畿地方を特定するためのグループIDと、奈良県奈良市を特定するためのグループIDと、Cマンションを特定するためのグループIDと、10階〜19階の各々を特定するためのグループIDとメッセージとを管理人のスマートフォン500から受信する。
The
CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS412)。ここでは、グループ一斉送信要求は、グループIDとメッセージとを含む。グループIDは、上位階層としてのグループID「202」と中位階層としてのグループID「501」と下位階層「223」と下位階層「510」〜「519」とを組み合わせた「202501223510」〜「202501223519」である。メッセージは、「9月21日はマンションの清掃日だよ。」というテキストである。
The
常時接続サーバ200のCPU210は、対応関係DBを参照することによって、グループID「202501223510」〜「202501223519」に対応する接続IDを順に読み出す(ステップS414)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介して接続IDを有する掃除機100Aにメッセージを送信する(ステップS416、図35を参照。)。CPU210は、グループIDに対応する接続IDを有する掃除機100B,100Cに関して、ステップS414とステップS416の送信処理を繰り返す(図35を参照。)。
The
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
なお、送信結果は、データが無事にクライアント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
<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
クライアント100としては、たとえば、掃除機、テレビ、エアコン、洗濯機、冷蔵庫、炊飯器、空気清浄器、床暖房、IHクッキングヒーター、電子レンジ、照明などの家電が挙げられる。さらに、クライアントは、通信機器であればよく、たとえば、パーソナルコンピュータ、テレビ以外のAV機器、インターホンシステムなどを含んでもよい。
Examples of the
常時接続サーバ200とアプリケーションサーバ300とは、クライアントのいずれかと同じ住居内、オフィス内、ビル内、会社あるいは学校の構内に存在するサーバなどを含んでもよい。
The always-on
本実施の形態においては、常時接続サーバ200とアプリケーションサーバ300とが別々のコンピュータである。しかしながら、常時接続サーバとアプリケーションサーバとが同一のコンピュータであってもよい。たとえば、1つのコンピュータ、すなわち装置としてのサーバが、クライアントと常時接続するための通信サービスプログラムと、クライアントを制御するためのアプリケーションサービスプログラムとを搭載してもよい。また、1つのアプリケーションサーバが複数のアプリケーションサービスプログラムを搭載してもよい。
<ネットワークシステムの動作概要>
In the present embodiment, always-on
<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
スマートフォン500または外部のパーソナルコンピュータなどが、都市・マンション・階層などを指定するためのグループIDと、当該グループに送信するためのメッセージとをアプリケーションサーバ300に送信する。アプリケーションサーバ300は、グループを指定するためのグループIDと、当該グループに送信するためのメッセージとを常時接続サーバ200に送信する。常時接続サーバ200は、グループIDに対応する複数のクライアント100にデータ本体をプッシュする。たとえば、常時接続サーバ200は、常時接続中のクライアント100のうちの、特定のエリアにある家電だけに市長からの挨拶を送信する。
The
このように、本実施の形態においては、スマートフォン500、外部のパーソナルコンピュータ、アプリケーションサーバ300、クライアント100が、常時接続サーバ200と常時接続している複数のクライアント100のうちの、所望のエリアにある家電のみにデータを送信することができる。以下では、このような機能を実現するための常時接続サーバ200のCPU210の動作について説明する。なお、本実施の形態にかかるネットワークシステム1の他の構成については、第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。そして、対応関係DBに関しては、第9の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。
<アプリケーションサーバからグループへのデータ送信の処理手順の詳細>
Thus, in the present embodiment, the
<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
図25を参照して、アプリケーションサーバ300は、市長のスマートフォン500またはパーソナルコンピュータからグループIDとメッセージとを受け付ける(ステップS411)。具体的には、CPU310は、通信インターフェイス360を介して、日本の近畿地方を特定するためのグループID「202」と、奈良県奈良市を特定するためのグループID「501」とメッセージとを受信する。なお、市長のスマートフォン500またはパーソナルコンピュータは、2つのグループIDをマージして、日本の近畿地方の奈良県奈良市を特定するための1つのグループID「202501」とメッセージとをアプリケーションサーバ300に送信しても良い。
Referring to FIG. 25,
CPU310は、通信インターフェイス360を介して、HTTPプロトコルを利用して常時接続サーバ200にグループ一斉送信要求を送信する(ステップS412)。ここでは、グループ一斉送信要求は、グループIDと市民向けの挨拶とを含む。なお、グループIDは、上位階層としてのグループID「202」と中位階層としてのグループID「501」とを別のデータとして含むものであってもよいし、上位階層としてのグループID「202」と中位階層としてのグループID「501」とを組み合わせた1つのグループID「202501」であってもよい。これによって、「202501」よりも下位の全てのグループに属するクライアント100が送信対象となる。
The
常時接続サーバ200のCPU210は、対応関係DBを参照することによって、グループID「202501」に対応する接続IDを順に読み出す(ステップS414)。CPU210は、WebSocketプロトコルを利用して、通信インターフェイス260を介して接続IDを有するクライアント100にメッセージを送信する(ステップS416、図35を参照。)。CPU210は、グループIDに対応する接続IDを有するクライアント100に関して、ステップS414とステップS416の送信処理を繰り返す(図35を参照。)。
The
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
なお、送信結果は、データが無事にクライアント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
<Eleventh embodiment>
上記の実施の形態においては、外部のアプリケーションサーバ300、クライアント100、スマートフォン500などから参照可能なように、常時接続サーバ200が送信結果および集計された送信結果を蓄積するものであった。
In the above embodiment, the
しかしながら、常時接続サーバ200は、送信結果だけでなく、アプリケーションサーバ300およびクライアント100などから受け付けた、グループ一斉送信要求(データのプッシュ命令)も、外部のアプリケーションサーバ300、クライアント100、スマートフォン500などから参照可能なように、蓄積してもよい。
<その他の応用例>
However, the always-on
<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 .
前記上位のグループは商品の種類に対応し、当該上位のグループに属する前記下位のグループは当該商品の種類に含まれる型番に対応する、請求項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から4のいずれか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から5のいずれか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から6のいずれか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に対応する少なくとも1つの電子機器に前記データをプッシュする、請求項1から7のいずれか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から8のいずれか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と複数のグループを特定するためのグループ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.
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)
| 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)
| 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 |
-
2013
- 2013-11-27 JP JP2013244543A patent/JP5870079B2/en not_active Expired - Fee Related
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'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 |