JP6085008B2 - 中継装置および中継プログラム - Google Patents
中継装置および中継プログラム Download PDFInfo
- Publication number
- JP6085008B2 JP6085008B2 JP2015134517A JP2015134517A JP6085008B2 JP 6085008 B2 JP6085008 B2 JP 6085008B2 JP 2015134517 A JP2015134517 A JP 2015134517A JP 2015134517 A JP2015134517 A JP 2015134517A JP 6085008 B2 JP6085008 B2 JP 6085008B2
- Authority
- JP
- Japan
- Prior art keywords
- registration
- server
- registration request
- request
- sensor value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Communication Control (AREA)
- Selective Calling Equipment (AREA)
- Telephonic Communication Services (AREA)
Description
本発明は、センサから送信されるセンサ値を、所定のタイミングでサーバに送信して、サーバにセンサ値を登録させる中継装置および中継プログラムに関する。
昨今の情報機器の発達に伴い、M2M通信(Machine to Machine)が普及している。中継装置が、M2M通信を用いてセンサと接続し、一般的な通信を用いて、サーバに接続するシステムが考えられる。
このようなシステムにおいて中継装置は、センサから逐次送信されるセンサ値を受信するとともに、所定のタイミングで、センサから受信したセンサ値を登録するための登録リクエストを、サーバに送信する。サーバは、登録リクエストを受信すると、登録リクエストで特定されたセンサ値を一時的に蓄積する。中継装置からコミットリクエストを受信すると、サーバは、一時的に蓄積されたセンサ値を、データベース等で永続的に蓄積する(例えば非特許文献1参照。)。ここで、中継装置が送信したセンサ値をサーバが登録したことを確認できない場合、中継装置は、登録したことを確認できない登録リクエストを、サーバに再送する(非特許文献1の4.6 Message orderingおよび4.3.3 QoS 2:Exactly once delivery)。
OASIS、" MQTT Version 3.1.1"、[online]、2014年10月29日、OASIS、[平成27年6月24日検索]、インターネット〈URL: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.pdf〉
しかしながら、従来の方法によると、登録対象の登録を確認する間に、新たにセンサ値を受信するにもかかわらず、この新たに受信したセンサ値を、サーバに適切に送信できない問題があった。
具体的には、再送した登録リクエストについてサーバで登録されたことが確認されるまで、登録リクエストの再送が繰り返される。従って、中継装置は、登録対象の登録を確認する間に新たに受信したセンサ値の送信を、待機する必要があった。或いは、中継装置は、登録対象の登録を確認する間に新たに受信したセンサ値について、異なるリクエストを作成して送信する必要があった。
また、再送する登録リクエストにおいて、新たに受信したセンサ値もまとめて登録する方法も考えられる。しかしながら、従来の方法において登録リクエストの内容を変更可能な仕様となっていないため、このような方法を採用することはできなかった。
このように、登録リクエストを再送する間に新たに受信したセンサ値は、サーバに遅れて送信されたり、煩雑な処理が伴ったりする場合がある。
従って本発明の目的は、登録対象の登録を確認する間に新たに受信したセンサ値を、サーバに、サーバ側のセンサ値の重複なくかつ速やかに送信する中継装置および中継プログラムを提供することである。
上記課題を解決するために、本発明の第1の特徴は、センサから送信されるセンサ値を、所定のタイミングでサーバに送信して、サーバにセンサ値を登録させる中継装置に関する。第1の特徴に係る中継装置は、センサから逐次送信されるセンサ値を受信し、センサ値の生成時刻とセンサ値とを対応づけて、中継装置の記憶装置にセンサデータとして記憶する受信手段と、第1のタイミングで、記憶装置にセンサデータとして記憶されサーバに登録されていないセンサ値を登録対象として設定し、登録対象の登録をサーバにリクエストする第1の登録リクエストを、サーバに送信する登録リクエスト手段と、第1の登録リクエストを送信後、第1の登録リクエストに対するレスポンスを受信しない場合、第2のタイミングで、第1の登録リクエストの登録対象の登録確認をリクエストする確認リクエストを、サーバに送信する確認リクエスト手段とを備える。
確認リクエスト手段が第2のタイミングで確認リクエストを送信した後、第1の登録リクエストの登録対象が登録されていることが確認された場合、登録リクエスト手段は、第1のタイミング後に受信した新たなセンサ値を登録対象として設定した、第2の登録リクエストを、サーバに送信する。登録リクエスト手段は、第1の登録リクエストの登録対象を識別する第1の識別子を、第1の登録リクエストに含ませるとともに、第2の登録リクエストの登録対象を識別する第2の識別子を、第2の登録リクエストに含ませる。
確認リクエスト手段が第2のタイミングで確認リクエストを送信した後、第1の登録リクエストの登録対象が登録されていないことが確認された場合、登録リクエスト手段は、第1の登録リクエストの登録対象に、第1のタイミング後に受信した新たなセンサ値を加えて設定した、第2の登録リクエストを、サーバに送信する。登録リクエスト手段は、第1の登録リクエストの登録対象を識別する第1の識別子を、第1の登録リクエストに含ませるとともに、第1の識別子または新たに採番された第2の識別子を、第2の登録リクエストに含ませる。
確認リクエスト手段は、第2のタイミングで確認リクエストを送信した後、確認リクエストに対するレスポンスを受信しない場合、第3のタイミングで、確認リクエストを再送する。確認リクエスト手段は、第1の登録リクエストの登録対象を識別する第1の識別子を、確認リクエストに含ませる。
本発明の第2の特徴は、コンピュータに本発明の第1の特徴に記載の手段として機能させるための中継プログラムに関する。
本発明によれば、登録対象の登録を確認する間に新たに受信したセンサ値を、サーバに、サーバ側のセンサ値の重複なくかつ速やかに送信する中継装置および中継プログラムを提供することができる。
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
(データ処理システム)
図1を参照して、本発明の実施の形態に係るデータ処理システム5を説明する。データ処理システム5は、フィールドシステム4、およびサーバ3を備える。フィールドシステム4は、広域ネットワークN2を介してサーバ3と接続する。広域ネットワークN2は、インターネット網やモバイルネットワーク網などの相互に通信可能な通信ネットワークであって、有線ネットワークでも良いし無線ネットワークでも良い。
図1を参照して、本発明の実施の形態に係るデータ処理システム5を説明する。データ処理システム5は、フィールドシステム4、およびサーバ3を備える。フィールドシステム4は、広域ネットワークN2を介してサーバ3と接続する。広域ネットワークN2は、インターネット網やモバイルネットワーク網などの相互に通信可能な通信ネットワークであって、有線ネットワークでも良いし無線ネットワークでも良い。
フィールドシステム4は、中継装置1およびセンサ2を備える。中継装置1およびセンサ2は、ローカルネットワークN1を介して接続される。ローカルネットワークN1は、M2M通信により接続されるネットワークであって、広域ネットワークN2と比べて狭い特定エリアの機器を接続するネットワークである。ローカルネットワークN1は、有線ネットワークでも良いし無線ネットワークでも良い。
(センサ)
センサ2は、所定の条件でセンサ値を取得し、通信部(図示せず)を介して、取得したセンサ値を中継装置1に送信する。センサ2は、逐次センサ値を取得して、ローカルネットワークN1を介して、中継装置1に送信する。
センサ2は、所定の条件でセンサ値を取得し、通信部(図示せず)を介して、取得したセンサ値を中継装置1に送信する。センサ2は、逐次センサ値を取得して、ローカルネットワークN1を介して、中継装置1に送信する。
(中継装置)
中継装置1は、センサ2から送信されるセンサ値を、所定のタイミングでサーバ3に送信して、サーバ3にセンサ値を登録させる。また、送信したセンサ値が、サーバ3において登録されていない場合、再度、センサ値を送信して、サーバ3にセンサ値を登録させる。本発明の実施の形態において中継装置1は、センサ2からセンサ値を受信したタイミングと、センサ値がサーバ3に送信されるタイミングの差が小さくなるように、制御する。
中継装置1は、センサ2から送信されるセンサ値を、所定のタイミングでサーバ3に送信して、サーバ3にセンサ値を登録させる。また、送信したセンサ値が、サーバ3において登録されていない場合、再度、センサ値を送信して、サーバ3にセンサ値を登録させる。本発明の実施の形態において中継装置1は、センサ2からセンサ値を受信したタイミングと、センサ値がサーバ3に送信されるタイミングの差が小さくなるように、制御する。
中継装置1は、処理装置11、通信部16および記憶装置17を備える一般的なコンピュータである。一般的なコンピュータが、所定の機能を実現するための中継プログラムを実行することにより、処理装置11は、受信手段12、登録リクエスト手段13および確認リクエスト手段14を備える。
通信部16は、ローカルネットワークN1を介してセンサ2に接続するとともに、広域ネットワークN2を介してサーバ3に接続するためのインタフェースである。
記憶装置17は、処理装置11による処理結果や処理装置11が参照するデータを記憶する記憶媒体であって、センサデータ18を記憶する。センサデータ18は、図2に示すように、センサ値の生成時刻とセンサ値とを対応づけたデータである。センサデータ18の生成時刻は、センサ2がセンサ値を取得した時刻に対応する時刻であって、センサ2がセンサ値を取得した時刻、中継装置1がセンサ値を受信した時刻などである。
受信手段12は、センサ2から逐次送信されるセンサ値を受信し、センサ値の生成時刻とセンサ値とを対応づけて、記憶装置17にセンサデータ18として記憶する。
登録リクエスト手段13および確認リクエスト手段14は、所定のタイミングで、登録リクエストおよび確認リクエストをそれぞれ送信する。所定のタイミングは、例えば、センサ値を3度受信した後や、毎分などであって、予め定められている。
登録リクエスト手段13は、所定のタイミングで、センサ値をサーバ3に送信し、センサ値をサーバ3に登録させる。具体的には登録リクエスト手段13は、第1のタイミングで、登録対象の登録をサーバ3にリクエストする第1の登録リクエストを、サーバ3に送信する。第1の登録リクエストにおいて、記憶装置17にセンサデータ18として記憶されサーバ3に登録されていないセンサ値が、登録対象として設定される。登録リクエストは、登録対象を特定するリソースID(識別子)を含む。サーバ3は、リソースIDと登録対象とを対応づけて登録する。登録対象として、各センサ値の生成時刻を含んでも良い。
登録リクエストに含まれる登録対象は、中継装置1の記憶装置17にセンサデータ18として記憶されたセンサ値のうち、サーバ3に登録されていないセンサ値である。登録リクエスト手段13は、登録対象を指定した登録リクエストを送信した後、サーバ3から、登録が完了した旨のレスポンスを受信すると、登録対象のセンサ値がサーバ3で登録されたことを認識する。登録リクエスト手段13は、サーバ3から受信するレスポンスや、後述の確認リクエストのレスポンスに応じて、登録リクエストに含める登録対象を特定する。
リソースIDは、データ処理システム5において、登録対象を識別するために、一定確率以上で重複が発生しないように採番される。リソースIDは、中継装置1が登録リクエストを送信し、その登録リクエストに含まれる登録対象が登録されるまで用いられる。なお、リソースIDに対応づけられる登録対象のセンサ値は、登録リクエストが送信される際に、新たに受信したセンサ値をさらに含む場合がある。
リソースIDは、そのリソースIDが付与された登録リクエストが最初に送信した時刻に基づいて付与されても良い。具体的には、リソースIDは、そのリソースIDが付与された登録リクエストに含まれるセンサデータを、中継装置1が受信した時刻に基づいて、採番される。
またリソースIDは、中継装置1内においてランダムに生成したUUID(Universally Unique Identifier)であっても良い。また、リソースIDは、そのリソースIDが付与された登録リクエストにおける登録対象のセンサ値から生成されるMD5(Message Digest Algorithm 5)によるチェックサム値であっても良い。
確認リクエスト手段14は、登録リクエスト手段13が送信したリクエストに対して、サーバ3で登録されたことを示すレスポンスを受信しない場合、登録リクエスト手段13の登録対象がサーバ3に登録されているか否かを問い合わせる確認リクエストを送信する。具体的には確認リクエスト手段14は、第1のタイミングで送信された第1の登録リクエストを送信後、第1の登録リクエストに対するレスポンスを受信しない場合、第2のタイミングで、第1の登録リクエストの登録対象の登録確認をリクエストする確認リクエストを、サーバ3に送信する。ここで、確認リクエスト手段14は、登録対象が登録されているか否かが判別するまで、具体的には、確認リクエスト手段14がサーバ3からレスポンスを受信するまで、確認リクエストを再送する。確認リクエストは、確認対象を特定するリソースIDを含む。
本発明の実施の形態において登録リクエスト手段13および確認リクエスト手段14は、センサ2からセンサ値が3回送信された後など、所定のタイミングに登録リクエストまたは確認リクエストを送信するように制御される。
(サーバ)
サーバ3は、中継装置1から送信されたセンサ値を登録して、サーバ3において登録されたことを示すレスポンスを送信するとともに、センサ値の登録確認に対して、レスポンスを送信する。
サーバ3は、中継装置1から送信されたセンサ値を登録して、サーバ3において登録されたことを示すレスポンスを送信するとともに、センサ値の登録確認に対して、レスポンスを送信する。
サーバ3は、処理装置31、通信部36および記憶装置37を備える一般的なコンピュータである。一般的なコンピュータが、所定の機能を実現するためのサーバプログラムを実行することにより、処理装置31は、登録手段32および確認手段33を備える。
通信部36は、広域ネットワークN2を介して中継装置1に接続するためのインタフェースである。
記憶装置37は、処理装置31による処理結果や処理装置31が参照するデータを記憶する記憶媒体であって、リソースデータ38を記憶する。リソースデータ38は、図3に示すように、リソースID(識別子)と、そのリソースとを対応づけたデータである。リソースは、複数のセンサ値の集合である。
登録手段32は、中継装置1から登録リクエストを受信すると、登録リクエストに含まれるリソースIDと登録対象とを対応づけて、記憶装置37のリソースデータ38に記憶して、登録対象を登録する。また登録手段32は、登録対象の登録が完了すると、その旨のレスポンスを中継装置1に送信する。
確認手段33は、中継装置1から確認リクエストを受信すると、確認リクエストに含まれるリソースIDがリソースデータ38に登録されているか否かを判定し、その旨のレスポンスを返信する。
(正常処理)
図4を参照して、本発明の実施の形態に係るデータ処理方法を説明する。図4に示す処理は、中継装置1が送信した登録リクエストをサーバ3が受信し、サーバ3が送信したレスポンスを中継装置1が受信する例を説明する。
図4を参照して、本発明の実施の形態に係るデータ処理方法を説明する。図4に示す処理は、中継装置1が送信した登録リクエストをサーバ3が受信し、サーバ3が送信したレスポンスを中継装置1が受信する例を説明する。
センサ2は、逐次センサ値を中継装置1に送信する。図4に示す例においてセンサ2は、時間t1、t2、t3、t4、t5、t6…のタイミングで、センサ値を中継装置1に送信する。
中継装置1は、所定のタイミングで、センサ2から送信されたセンサ値をサーバ3に登録させるための登録リクエストで登録対象のリソースを送信する。図4に示す例では、時間t3に対応する時間T1(第1のタイミング)、時間t6に対応する時間T2(第2のタイミング)において、中継装置1が登録リクエストを送信する場合を説明する。
なお、登録リクエストを送信するタイミングは、図4に示すように、センサ値を受信するタイミングと同期する場合に限らず、非同期の場合も考えられる。具体的には、中継装置1は、センサ値を受信するタイミングとは別に、所定の時間間隔や条件を満たした際に、登録リクエストを送信するように制御しても良い。
時間T1になると中継装置1は、ステップS101において登録対象を識別するリソースIDを採番するとともに、登録対象を決定する。ここでは、中継装置1は、時間t1からt3のセンサ値を保持するものの、これらのセンサ値は、サーバ3に登録されていないので、登録対象を、時間t1からt3のセンサ値とする。また中継装置1は、リソースIDとして「1」を採番するとする。
ステップS102において中継装置1は、ステップS101で特定したリソースIDおよび登録対象を、サーバ3に送信する。サーバ3が登録リクエストを受信すると、ステップS103においてサーバ3の処理装置31は、登録対象の時間t1からt3のセンサ値を、リソースID「1」と対応づけて、記憶装置37にリソースデータ38として記憶する。リソースデータ38の更新が完了すると、ステップS104においてサーバ3の処理装置31は、登録完了したことを示すレスポンスを中継装置1に送信する。
時間T2になると中継装置1は、ステップS105において登録対象を識別するリソースIDを採番するとともに、登録対象を決定する。ここでは、中継装置1は、時間t1からt6のセンサ値を保持するものの、サーバ3は、時間t1からt3のセンサ値のみを記憶するので、登録対象を、時間t4からt6のセンサ値とする。また中継装置1は、リソースIDとして「2」を採番するとする。
ステップS106において中継装置1は、ステップS105で特定したリソースIDおよび登録対象を含む登録リクエストを、サーバ3に送信する。サーバ3が登録リクエストを受信すると、ステップS107においてサーバ3の処理装置31は、登録対象の時間t4からt6のセンサ値を、リソースID「2」と対応づけて、記憶装置37にリソースデータ38として記憶する。この結果、リソースデータ38は、リソースID「1」に対応づけられた時間t1からt3のセンサ値と、リソースID「2」に対応づけられた時間t4からt6のセンサ値を含む。リソースデータ38の更新が完了すると、ステップS108においてサーバ3の処理装置31は、登録完了したことを示すレスポンスを中継装置1に送信する。
(リソースデータの更新に成功し、中継装置1がレスポンスを受信しない場合)
図4を参照して登録リクエストやレスポンスが失敗なく送受信される場合を説明したが、登録リクエストがサーバ3に到着しない場合や、登録リクエストに対するレスポンスが中継装置1に到着しない場合が考えられる。登録リクエストまたはレスポンスが送信先に到着しない場合でも、図5および図6に示すように、中継装置1が確認リクエストを送信することにより、中継装置1は、センサ値がサーバ3側のセンサ値の重複なく速やかに送信されるように制御することを可能とする。
図4を参照して登録リクエストやレスポンスが失敗なく送受信される場合を説明したが、登録リクエストがサーバ3に到着しない場合や、登録リクエストに対するレスポンスが中継装置1に到着しない場合が考えられる。登録リクエストまたはレスポンスが送信先に到着しない場合でも、図5および図6に示すように、中継装置1が確認リクエストを送信することにより、中継装置1は、センサ値がサーバ3側のセンサ値の重複なく速やかに送信されるように制御することを可能とする。
まず、サーバ3が中継装置1から登録リクエストを受信しリソースデータ38を更新したもの、サーバ3が送信したレスポンスを中継装置1が受信しなかった場合を説明する。
すなわち、中継装置1の登録リクエスト手段13は、時間T1において第1の登録リクエストを送信する。第1の登録リクエストには、記憶装置17にセンサデータ18として記憶されサーバ3に登録されていないセンサ値が、登録対象として設定される。ここで、登録リクエスト手段13は、第1の登録リクエストの登録対象を識別するリソースID「1」を、第1の登録リクエストに含ませる。その後、レスポンスを中継装置1が受信しない場合、時間T2において中継装置1の確認リクエスト手段14は、リソースID「1」を指定した第1の確認リクエストをサーバ3に送信する。
確認リクエスト手段14が確認リクエストを送信した後、第1の登録リクエストの登録対象が登録されていることを示すレスポンスを受信した場合、登録リクエスト手段13は、時間T2で、第2の登録リクエストを、サーバ3に送信する。第2の登録リクエストにおいて、時間T1後に受信した新たなセンサ値が、登録対象として設定される。また登録リクエスト手段13は、第2の登録リクエストの登録対象を識別するリソースID「2」を、第2の登録リクエストに含ませる。
図5を参照して、処理を説明する。図4を参照して説明したように、時間T1になると中継装置1は、ステップS201において、登録対象を識別するリソースID「1」を採番するとともに、登録対象として、時間t1からt3のセンサ値を決定する。ステップS202において中継装置1は、ステップS201で特定したリソースIDおよび登録対象を含む第1の登録リクエストを、サーバ3に送信する。サーバ3が第1の登録リクエストを受信すると、ステップS203においてサーバ3の処理装置31は、登録対象の時間t1からt3のセンサ値を、リソースID「1」と対応づけて、記憶装置37にリソースデータ38として記憶する。リソースデータ38の更新が完了すると、ステップS204においてサーバ3の処理装置31は、登録完了したことを示すレスポンスを中継装置1に送信する。
しかしながら、ステップS204でサーバ3が送信したレスポンスが中継装置1に到着せず、送信されたレスポンスを中継装置1が受信しないまま時間T2になると、中継装置1は、ステップS205においてリソースID「1」を指定した確認リクエストをサーバ3に送信する。ステップS206においてサーバ3はリソースデータ38を参照して、リソースID「1」のセンサ値が登録されているか否かを判定する。サーバ3は、ステップS207でリソースID「1」のセンサ値が登録されていると判定すると、ステップS208において、リソースID「1」のセンサ値が登録されていることを示すレスポンスを中継装置1に送信する。
中継装置1は、ステップS208においてレスポンスを受信し、サーバ3において、リソースID「1」のセンサ値が登録されていることを把握すると、ステップS209において登録対象を識別する新たなリソースID「2」を採番するとともに、新たな登録対象として、時間t4からt6のセンサ値を決定する。ステップS210において中継装置1は、ステップS209で特定したリソースIDおよび登録対象を含む第2の登録リクエストを、サーバ3に送信する。
サーバ3が第2の登録リクエストを受信すると、ステップS211においてサーバ3の処理装置31は、登録対象の時間t4からt6のセンサ値を、リソースID「2」と対応づけて、記憶装置37にリソースデータ38として記憶する。リソースデータ38の更新が完了すると、ステップS212においてサーバ3の処理装置31は、登録完了したことを示すレスポンスを中継装置1に送信する。
このような処理によれば、時間T1において中継装置1が送信した登録リクエストに対して、サーバ3において登録されたものの、中継装置1がレスポンスを受信しない場合であっても、時間T2において中継装置1がサーバ3に確認リクエストを送信して、サーバ3に登録されていることを確認する。これにより中継装置1は、時間T2において新たなセンサ値を登録することができるので、登録リクエストを遅滞なく送信することができる。
次に中継装置1がサーバ3に登録リクエストを送信したものの、サーバ3が登録リクエストを受信しなかった場合を説明する。
すなわち、中継装置1の登録リクエスト手段13は、時間T1において第1の登録リクエストを送信する。ここで、登録リクエスト手段13は、第1の登録リクエストの登録対象を識別するリソースID「1」を、第1の登録リクエストに含ませる。その後、サーバ3が第1の登録リクエストを受信しない場合、中継装置1は、サーバ3からレスポンスを受信しないまま、時間T2となる。時間T2において中継装置1の確認リクエスト手段14は、リソースID「1」を指定した第1の確認リクエストをサーバ3に送信する。
確認リクエスト手段14が確認リクエストを送信した後、第1の登録リクエストの登録対象が登録されていないことを示すレスポンスを受信した場合、登録リクエスト手段13は、時間T2で、第1の登録リクエストの登録対象(時間t1からt3のセンサ値)に、時間T1後に受信した新たなセンサ値(時間t4からt6のセンサ値)を加えて設定した、第2の登録リクエストを、サーバ3に送信する。すなわち、第2の登録リクエストには、時間t1からt6のセンサ値が、登録対象として設定される。また登録リクエスト手段13は、第1の登録リクエストの登録対象を識別するリソースID「1」を、第2の登録リクエストに含ませる。ここで登録リクエスト手段13は、前回利用したリソースID「1」に代わって、リソースID「2」などの、新たに採番したリソースIDを用いても良い。
図6を参照して、処理を説明する。図4を参照して説明したように、時間T1になると中継装置1は、ステップS301において、登録対象を識別するリソースID「1」を採番するとともに、登録対象として、時間t1からt3のセンサ値を決定する。ステップS302において中継装置1は、ステップS301で特定したリソースIDおよび登録対象を含む第1の登録リクエストを、サーバ3に送信する。サーバ3が第1の登録リクエストを受信しないまま時間T2になると、換言すると、中継装置1が第1の登録リクエストに対するレスポンスを受信しないまま時間T2になると、中継装置1は、ステップS303においてリソースID「1」を指定した確認リクエストをサーバ3に送信する。ステップS304においてサーバ3はリソースデータ38を参照して、リソースID「1」のセンサ値が登録されているか否かを判定する。サーバ3は、ステップS305でリソースID「1」のセンサ値が登録されていないと判定すると、ステップS306において、リソースID「1」のセンサ値が登録されていないことを示すレスポンスを中継装置1に送信する。
中継装置1は、ステップS306においてレスポンスを受信し、サーバ3において、リソースID「1」のセンサ値が登録されていないことを把握すると、ステップS307において前回利用したリソースID「1」を利用することを決定する。さらに中継装置1は、時間t1からt6のセンサ値、すなわち、前回送信した登録リクエストに含まれる時間t1からt3のセンサ値と、時間T1から時間T2の間に受信した時間t4からt6のセンサ値を加えたセンサ値を、登録対象として決定する。ステップS308において中継装置1は、ステップS307で特定したリソースIDおよび登録対象を含む第2の登録リクエストを、サーバ3に送信する。サーバ3が第2の登録リクエストを受信すると、ステップS309においてサーバ3の処理装置31は、登録対象の時間t1からt6のセンサ値を、リソースID「1」と対応づけて、記憶装置37にリソースデータ38として記憶する。リソースデータ38の更新が完了すると、ステップS310においてサーバ3の処理装置31は、登録完了したことを示すレスポンスを中継装置1に送信する。
ステップS307において、前回利用したリソースID「1」を用いる場合を説明したが、これに限らない。中継装置1の登録リクエスト手段13は、リソースID「2」などの、新たに採番したリソースIDを用いても良い。
このような処理によれば、時間T1において中継装置1が送信した登録リクエストがサーバ3に送信されない場合であっても、時間T2において中継装置1がサーバ3に確認リクエストを送信して、サーバ3に登録されていないことを確認する。これにより中継装置1は、時間T2において、登録されていないセンサ値と新たなセンサ値を登録することができるので、登録リクエストを遅滞なく送信することができる。
(中継装置1が確認リクエストに対するレスポンスを受信しない場合)
図5および図6を参照して、中継装置1が登録リクエストに対するレスポンスを受信しない場合でも、中継装置1が確認リクエストを送信することによってセンサ値を重複なく、かつ、遅滞なく送信できる場合を説明したが、確認リクエストがサーバ3に到着しない場合や、確認リクエストに対するレスポンスが中継装置1に到着しない場合が考えられる。確認リクエストまたはレスポンスが送信先に到着しない場合でも、図7および図8に示すシーケンスに従って処理されることにより、中継装置1は、センサ値がサーバ3側のセンサ値の重複なく速やかに送信されるように制御することを可能とする。
図5および図6を参照して、中継装置1が登録リクエストに対するレスポンスを受信しない場合でも、中継装置1が確認リクエストを送信することによってセンサ値を重複なく、かつ、遅滞なく送信できる場合を説明したが、確認リクエストがサーバ3に到着しない場合や、確認リクエストに対するレスポンスが中継装置1に到着しない場合が考えられる。確認リクエストまたはレスポンスが送信先に到着しない場合でも、図7および図8に示すシーケンスに従って処理されることにより、中継装置1は、センサ値がサーバ3側のセンサ値の重複なく速やかに送信されるように制御することを可能とする。
まず、サーバ3が確認リクエストを受信したものの、サーバ3が送信したレスポンスを中継装置1が受信しなかった場合を説明する。
すなわち、中継装置1の登録リクエスト手段13は、時間T1において第1の登録リクエストを送信する。ここで、登録リクエスト手段13は、第1の登録リクエストの登録対象を識別するリソースID「1」を、第1の登録リクエストに含ませる。登録リクエストに対するレスポンスを受信しない場合、確認リクエスト手段14は、時間T2において確認リクエストを送信する。この確認リクエストは、第1の登録リクエストのリソースID「1」を含む。確認リクエスト手段14は、時間T2において確認リクエストを送信した後、確認リクエストに対するレスポンスを受信しない場合、時間T3において、確認リクエストを再送する。
図7を参照して、処理を説明する。図7に示すステップS401ないしステップS407の処理は、図5を参照して説明したステップS201ないしステップS207の処理と同様である。
ステップS408においてサーバ3が、確認リクエストに対して、登録されている旨のレスポンスを送信したとしても、中継装置1が受信しないまま時間T3(第3のタイミング:時間t9に対応)になると、中継装置1は、ステップS409においてリソースID「1」を指定した確認リクエストをサーバ3に送信する。ステップS410においてサーバ3は、受信した確認リクエストに基づいて、リソースID「1」のセンサ値が登録されているか否かを判定し、その結果を示すレスポンスを、中継装置1に送信する。
また、図8に示すように、登録リクエストに対するレスポンスを受信しないまま時間T2になり、ステップS505で送信された確認リクエストがサーバ3に送信されない場合がある。中継装置1が確認リクエストに対するレスポンスを受信しないまま時間T3になると、中継装置1は、ステップS506においてリソースID「1」を指定した確認リクエストをサーバ3に送信する。ステップS507においてサーバ3は、受信した確認リクエストに基づいて、リソースID「1」のセンサ値が登録されているか否かを判定し、その結果を示すレスポンスを、中継装置1に送信する。
図7および図8に示す例において、時間T1後に送信された登録リクエストはサーバ3において処理されている。従って、時間T3の後、サーバ3が、登録されている旨のレスポンスを送信し、中継装置1がそのレスポンスを受信した場合、その後中継装置1は、新たなリソースIDを採番するとともに、中継装置1が保持しサーバが保持しないセンサ値を登録対象とする登録リクエストを送信する。この登録リクエストの登録対象は、時間T1の後、時間T3までに受信した時間t4からt9のセンサ値である。
なお、図7および図8に示す例において、時間T1で中継装置1が送信した登録リクエストに基づいてサーバ3が登録対象を登録しておらず、登録リクエストに対するレスポンスを受信していない場合を説明する。時間T3において中継装置1は、確認リクエストに対するレスポンスを受信して、中継装置1が送信した登録リクエストに基づいてサーバ3が登録していないことを確認すると、その後中継装置1は、中継装置1が保持しサーバ3が保持しないセンサデータについて登録リクエストを送信する。このときの登録対象は、時間T1で送信した登録リクエストの登録対象の時間t1からt3のセンサ値に、時間T1の後、時間T3までに受信した時間t4からt9のセンサ値を加えた、時間t1からt9のセンサ値である。
このように、中継装置1が確認リクエストを送信後、レスポンスを受信しない場合でも、中継装置1は、確認リクエストの送信を繰り返す。また確認リクエストに対するレスポンスを受信したタイミングで、中継装置1は、中継装置1が保持しサーバ3が保持しないセンサ値について、登録リクエストを送信する。これにより中継装置1は、既に送信した登録リクエストの登録対象が、サーバ3で登録されているか否かを確認できたタイミングで、確認する間に送信されたセンサ値を登録対象に加えて登録リクエストを送信できるので、センサ値の遅延を抑制することができる。
(中継処理)
図9を参照して、本発明の実施の形態に係る中継装置1の処理を説明する。
図9を参照して、本発明の実施の形態に係る中継装置1の処理を説明する。
まず中継装置1は、ステップS1において、センサデータの受信タイミング毎や指定された時間間隔等、あらかじめ定められたタイミング毎にセンサ2から新たなセンサ値を受信しているか否かを確認し、新たなセンサ値を受信していた場合、ステップS2において受信した新たなセンサ値を、記憶装置17にセンサデータ18として記憶する。ステップS1で新たなセンサ値を受信していない場合はステップS3に進む。ステップS3においてセンサ値をサーバ3に送信するタイミングであるか否か、すなわち、時間T1、T2等のタイミングであるか否かを判定する。センサ値をサーバ3に送信するタイミングでない場合、ステップS1に戻り、中継装置1は、ステップS1においてセンサ2からセンサ値を受信する。
一方、センサ値をサーバ3に送信するタイミングになると、ステップS4に進む。
ステップS4において、登録リクエストの最初の送信タイミングであるか否か、換言すると、既に送信した登録リクエストがあるか否かを判定する。最初の送信タイミングの場合、ステップS7に進み、そうでない場合、ステップS5に進む。ステップS5において、前回の送信タイミングで、最後に送信したリクエスト種別によって処理を振り分ける。
ステップS5において、前回の送信タイミングで登録リクエストを送信したと判定された場合、ステップS6に進む。ステップS6において、前回の送信タイミングで送信された登録リクエストに対して、登録された旨のレスポンスを受信したか否かを判定する。登録された旨のレスポンスを受信した場合、ステップS7に進む。
ステップS7において中継装置1は、新たなIDを採番して、送信対象に登録リクエストを前回送信した後に受信したセンサ値を設定した、登録リクエストを生成する。さらにステップS8において中継装置1は、ステップS7で生成した登録リクエストをサーバ3に送信する。この処理は、図4に示すシーケンス図の処理に対応する。
ステップS6の判定において、前回の送信タイミングで送信された登録リクエストに対して、登録された旨のレスポンスを受信していない場合、ステップS9に進む。ステップS9において中継装置1は、登録リクエスト前回送信時のリソースID(確認対象ID)について、サーバ3に確認リクエストを送信する。
確認リクエストに対してレスポンスを受信する場合、ステップS11に進み、受信しない場合、ステップS1に戻る。
中継装置1は、確認リクエストに対する確認応答を受信すると、ステップS11において、サーバ3において確認対象IDが登録済みであるか否かを判定する。確認対象IDが登録済みの場合、S7において中継装置1は、新たなIDを採番して、送信対象に登録リクエストを前回送信した後に受信したセンサ値を設定した、登録リクエストを生成する。さらにステップS8において中継装置1は、ステップS7で生成した登録リクエストをサーバ3に送信する。この処理は、図5に示すシーケンス図の処理に対応する。
ステップS11において、確認対象IDが登録済みでない場合、ステップS12において、登録リクエストを生成する。この登録リクエストは、登録対象として、直近で送信した登録リクエストの登録対象のセンサ値と、この登録リクエストを送信後に新たに受信したセンサ値を設定する。またこの登録リクエストは、リソースIDを含み、リソースIDは、直近で送信した登録リクエストのリソースID(確認対象ID)でも良いし、このリソースIDとは異なるリソースIDであっても良い。さらにステップS8において中継装置1は、ステップS12で生成した登録リクエストをサーバ3に送信する。この処理は、図6に示すシーケンス図の処理に対応する。
ステップS5において、前回の送信タイミングで確認リクエストを送信したと判定された場合、すなわち、前回の送信タイミングで、中継装置1が確認リクエストを送信したものの、そのレスポンスを受信しない場合、ステップS9に進む。ステップS9において中継装置1は、確認リクエスト前回送信時のID(確認対象ID)について、再度、サーバ3に確認リクエストを送信する。確認リクエストに対してレスポンスを受信する場合、ステップS11に進み、受信しない場合、ステップS1に戻る。この処理は、図7および図8に示すシーケンス図の処理に対応する。
なお図9に示す各処理のうち、ステップS2の処理は、受信手段12が担う。ステップS7、S8およびS12の処理は、登録リクエスト手段13が担う。ステップS9の処理は、確認リクエスト手段14が担う。
このように本発明の実施の形態において、センサ値の登録リクエストがサーバ3に届かない場合、または、センサ値の登録リクエストに対するレスポンスが中継装置1に届かない場合でも、中継装置1は、確認リクエストをサーバ3に送信する。さらに中継装置1は、確認リクエストに対するレスポンスを受信して、サーバ3における登録対象を取得すると、サーバ3に登録されていない登録対象を特定して再度登録リクエストを送信する。これにより、センサ2からセンサ値を受信したタイミングから大きく遅れることなく、サーバ3がセンサ値を登録することができる。
さらに確認リクエストがサーバ3に届かない場合、または確認リクエストに対するレスポンスが中継装置1に届かない場合でも、中継装置1は、レスポンスを受信するまで確認リクエストの送信を繰り返す。さらに中継装置1は、確認リクエストに対するレスポンスを受信して、サーバ3における登録対象を取得すると、サーバ3に登録されていない登録対象を特定して再度登録リクエストを送信する。これにより、センサ2からセンサ値を受信したタイミングから大きく遅れることなく、サーバ3がセンサ値を登録することができる。
また本発明の実施の形態において、登録されていないデータを何度も送信することがないので、各装置および通信ネットワークの負担を軽減することができる。また登録リクエストを再送する間に、新たに受信したセンサ値を登録するための別のリクエストを生成し送信する必要がないので、各装置および通信ネットワークの負担が軽減することができる。
従って、本発明の実施の形態に係る方法によれば、登録対象の登録を確認する間に新たに受信したセンサ値を、サーバ3に、サーバ3側のセンサ値の重複なく速やかに送信することができる。
(その他の実施の形態)
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
例えば、本発明の実施の形態に記載したサーバは、図1に示すように一つのハードウェア上に構成されても良いし、その機能や処理数に応じて複数のハードウェア上に構成されても良い。また、既存の情報処理システム上に実現されても良い。
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
1 中継装置
2 センサ
3 サーバ
4 フィールドシステム
5 データ処理システム
N1 ローカルネットワーク
N2 広域ネットワーク
11、31 処理装置
12 受信手段
13 登録リクエスト手段
14 確認リクエスト手段
16、36 通信部
17、37 記憶装置
18 センサデータ
32 登録手段
33 確認手段
38 リソースデータ
2 センサ
3 サーバ
4 フィールドシステム
5 データ処理システム
N1 ローカルネットワーク
N2 広域ネットワーク
11、31 処理装置
12 受信手段
13 登録リクエスト手段
14 確認リクエスト手段
16、36 通信部
17、37 記憶装置
18 センサデータ
32 登録手段
33 確認手段
38 リソースデータ
Claims (4)
- センサから送信されるセンサ値を、所定のタイミングでサーバに送信して、前記サーバにセンサ値を登録させる中継装置であって、
前記センサから逐次送信されるセンサ値を受信し、センサ値の生成時刻とセンサ値とを対応づけて、前記中継装置の記憶装置にセンサデータとして記憶する受信手段と、
第1のタイミングで、前記記憶装置に前記センサデータとして記憶され前記サーバに登録されていないセンサ値を登録対象として設定し、前記登録対象の登録を前記サーバにリクエストする第1の登録リクエストを、前記サーバに送信する登録リクエスト手段と、
前記第1の登録リクエストを送信後、前記第1の登録リクエストに対するレスポンスを受信しない場合、第2のタイミングで、前記第1の登録リクエストの登録対象の登録確認をリクエストする確認リクエストを、前記サーバに送信する確認リクエスト手段と
を備え、
前記確認リクエスト手段が前記第2のタイミングで前記確認リクエストを送信した後、前記第1の登録リクエストの登録対象が登録されていないことが確認された場合、
前記登録リクエスト手段は、前記第1の登録リクエストに代えて、前記第1の登録リクエストの登録対象に、前記第1のタイミング後に受信した新たなセンサ値を加えて設定した、第2の登録リクエストを、前記サーバに送信することを特徴とする中継装置。 - 前記登録リクエスト手段は、
前記第1の登録リクエストの登録対象を識別する第1の識別子を、前記第1の登録リクエストに含ませるとともに、
前記第1の識別子または新たに採番された第2の識別子を、前記第2の登録リクエストに含ませる
ことを特徴とする請求項1に記載の中継装置。 - 前記確認リクエスト手段は、
前記第2のタイミングで前記確認リクエストを送信した後、前記確認リクエストに対するレスポンスを受信しない場合、第3のタイミングで、前記確認リクエストを再送する
ことを特徴とする請求項1に記載の中継装置。 - コンピュータに、請求項1ないし3のいずれか1項に記載の中継装置として機能させるための中継プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015134517A JP6085008B2 (ja) | 2015-07-03 | 2015-07-03 | 中継装置および中継プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015134517A JP6085008B2 (ja) | 2015-07-03 | 2015-07-03 | 中継装置および中継プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017016519A JP2017016519A (ja) | 2017-01-19 |
JP6085008B2 true JP6085008B2 (ja) | 2017-02-22 |
Family
ID=57828178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015134517A Active JP6085008B2 (ja) | 2015-07-03 | 2015-07-03 | 中継装置および中継プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6085008B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04127254A (ja) * | 1990-09-19 | 1992-04-28 | Hitachi Ltd | アプリケーションプログラム間通信方式 |
JPH09160858A (ja) * | 1995-12-08 | 1997-06-20 | Nippon Telegr & Teleph Corp <Ntt> | データ再送方法及びサーバ |
JP4748636B2 (ja) * | 2003-11-12 | 2011-08-17 | 東洋計器株式会社 | 流体使用量表示システム |
JP2014098983A (ja) * | 2012-11-13 | 2014-05-29 | Fujifilm Corp | センサ端末、収集端末、測定データ収集システム及び方法 |
-
2015
- 2015-07-03 JP JP2015134517A patent/JP6085008B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017016519A (ja) | 2017-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101978196B1 (ko) | 적응적 플로 테이블을 처리하는 방법 및 장치 | |
JP5765928B2 (ja) | 画像処理装置及びその制御方法、並びにプログラム | |
AU2021277736A1 (en) | Pdu type setting method, ue policy setting method, and related entity | |
JP2012514378A (ja) | Nfc対応デバイスにアプリケーションをインストールする方法及びデバイス | |
KR102258608B1 (ko) | 홈 네트워크 서비스를 제공하기 위한 장치 및 그 방법 | |
JP6279938B2 (ja) | 接続管理装置、通信システム、接続管理方法およびプログラム | |
US10291621B2 (en) | System, information processing apparatus, and storage medium | |
JP7342038B2 (ja) | サブスクリプション情報更新の方法および装置 | |
JP7094276B2 (ja) | 通信制御方法および通信システム | |
JP5705030B2 (ja) | 通信システム | |
JP2015170125A (ja) | コンテンツ取得プログラム、装置、及び方法 | |
JP6674041B2 (ja) | アクセス方法、装置、デバイス、及びシステム | |
JP6852155B2 (ja) | 情報取得 | |
JP2010062761A (ja) | データ通信制御装置、データ通信方法、データ通信システム及びデータ通信プログラム | |
JP6085008B2 (ja) | 中継装置および中継プログラム | |
JP6455720B2 (ja) | 画像形成システムおよび画像形成装置 | |
JP6962570B2 (ja) | 通信システム及び方法 | |
US10511503B2 (en) | Server device and communication system | |
JP6296605B2 (ja) | プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 | |
JP5668846B2 (ja) | 通信制御装置 | |
JP6665697B2 (ja) | 過去情報提供プログラム、過去情報提供方法及び過去情報提供装置 | |
JP6250509B2 (ja) | ファイル共有システム、サーバ装置及びファイル共有方法 | |
JP6793788B2 (ja) | マルチグループ通話セットアップ方法およびマルチグループ通話セットアップ装置 | |
JP2016036105A (ja) | 情報処理システム及びプログラム | |
KR20220155307A (ko) | 사물 인터넷의 통신 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161128 |
|
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: 20170124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170126 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6085008 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |