IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ソラコムの特許一覧

特許7262550IoT機器とのデータの送受信を行うための装置、方法及びプログラム
<>
  • 特許-IoT機器とのデータの送受信を行うための装置、方法及びプログラム 図1
  • 特許-IoT機器とのデータの送受信を行うための装置、方法及びプログラム 図2
  • 特許-IoT機器とのデータの送受信を行うための装置、方法及びプログラム 図3
  • 特許-IoT機器とのデータの送受信を行うための装置、方法及びプログラム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-13
(45)【発行日】2023-04-21
(54)【発明の名称】IoT機器とのデータの送受信を行うための装置、方法及びプログラム
(51)【国際特許分類】
   H04M 11/00 20060101AFI20230414BHJP
   H04W 4/38 20180101ALI20230414BHJP
   H04W 4/14 20090101ALI20230414BHJP
【FI】
H04M11/00 302
H04W4/38
H04W4/14
【請求項の数】 7
(21)【出願番号】P 2021178758
(22)【出願日】2021-11-01
(62)【分割の表示】P 2017197278の分割
【原出願日】2017-10-10
(65)【公開番号】P2022009832
(43)【公開日】2022-01-14
【審査請求日】2021-11-15
(73)【特許権者】
【識別番号】515068502
【氏名又は名称】株式会社ソラコム
(74)【代理人】
【識別番号】110003605
【氏名又は名称】弁理士法人六本木通り特許事務所
(72)【発明者】
【氏名】安川 健太
(72)【発明者】
【氏名】小熊 崇
【審査官】大橋 達也
(56)【参考文献】
【文献】米国特許出願公開第2008/0153521(US,A1)
【文献】米国特許出願公開第2014/0074946(US,A1)
【文献】特開2014-006828(JP,A)
【文献】特表2000-501270(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04M 3/00-11/00
H04W 4/00-99/00
(57)【特許請求の範囲】
【請求項1】
IoT機器とIPネットワーク上の外部サーバとの間でデータの送信又は受信を行うための装置であって、
前記IoT機器から、セルラーネットワーク上のシグナリングによって、メッセージを含むシグナリングデータを受信し、
前記シグナリングデータに基づいて、前記メッセージ又はこれに対応するデータの送信先を特定し、
前記シグナリングデータは、前記IoT機器の電話番号を送信元として送信されたものであり、前記外部サーバの前記IPネットワーク上の前記送信先を間接的に表す送信先識別子を前記メッセージの一部として含み、
前記送信先は、前記シグナリングデータに含まれ得る送信先識別子と送信先との対応づけを参照して特定され、
前記装置は、前記送信先とIPネットワーク上で通信を行う。
【請求項2】
IoT機器とIPネットワーク上の外部サーバとの間でデータの送信又は受信を行うための装置であって、
前記IoT機器から、セルラーネットワーク上のシグナリングによって、メッセージを含むシグナリングデータを受信し、
前記シグナリングデータに基づいて、前記メッセージ又はこれに対応するデータの送信先を特定し、
前記シグナリングデータは、前記外部サーバの前記IPネットワーク上の前記送信先を間接的に表す送信先識別子を前記メッセージの一部として含み、
前記送信先は、前記シグナリングデータに含まれ得る送信先識別子と送信先との対応づけを参照して特定され、
前記装置は、IPネットワーク上の通信により、前記外部サーバより前記IoT機器への命令が表現されたデータを受信して、前記データ又はこれに対応するデータをメッセージに含むシグナリングデータを前記IoT機器の電話番号に向けて送信する。
【請求項3】
請求項1又は2記載の装置であって、
前記メッセージはバイナリフォーマットであり、
前記装置は、前記メッセージをテキストベースのフォーマットに展開する。
【請求項4】
IoT機器とIPネットワーク上の外部サーバとの間でデータの送信又は受信を行うための方法であって、
装置が、前記IoT機器から、セルラーネットワーク上のシグナリングによって、メッセージを含むシグナリングデータを受信するステップと、
前記装置が、前記シグナリングデータに基づいて、前記メッセージ又はこれに対応するデータの送信先を特定するステップと
を含み、
前記シグナリングデータは、前記IoT機器の電話番号を送信元として送信されたものであり、前記外部サーバの前記IPネットワーク上の前記送信先を間接的に表す送信先識別子を前記メッセージの一部として含み、
前記送信先は、前記シグナリングデータに含まれ得る送信先識別子と送信先との対応づけを参照して特定され、
前記装置は、前記送信先とIPネットワーク上で通信を行う。
【請求項5】
IoT機器とIPネットワーク上の外部サーバとの間でデータの送信又は受信を行うための方法であって、
装置が、前記IoT機器から、セルラーネットワーク上のシグナリングによって、メッセージを含むシグナリングデータを受信するステップと、
前記装置が、前記シグナリングデータに基づいて、前記メッセージ又はこれに対応するデータの送信先を特定するステップと
を含み、
前記シグナリングデータは、前記外部サーバの前記IPネットワーク上の前記送信先を間接的に表す送信先識別子を前記メッセージの一部として含み、
前記送信先は、前記シグナリングデータに含まれ得る送信先識別子と送信先との対応づけを参照して特定され、
前記装置は、IPネットワーク上の通信により、前記外部サーバより前記IoT機器への命令が表現されたデータを受信して、前記データ又はこれに対応するデータをメッセージに含むシグナリングデータを前記IoT機器の電話番号に向けて送信する。
【請求項6】
装置に、IoT機器とIPネットワーク上の外部サーバとの間でデータの送信又は受信を行うための方法を実行させるためのプログラムであって、前記方法は、
前記装置が、前記IoT機器から、セルラーネットワーク上のシグナリングによって、メッセージを含むシグナリングデータを受信するステップと、
前記装置が、前記シグナリングデータに基づいて、前記メッセージ又はこれに対応するデータの送信先を特定するステップと
を含み、
前記シグナリングデータは、前記IoT機器の電話番号を送信元として送信されたものであり、前記外部サーバの前記IPネットワーク上の前記送信先を間接的に表す送信先識別子を前記メッセージの一部として含み、
前記送信先は、前記シグナリングデータに含まれ得る送信先識別子と送信先との対応づけを参照して特定され、
前記装置は、前記送信先とIPネットワーク上で通信を行う。
【請求項7】
装置に、IoT機器とIPネットワーク上の外部サーバとの間でデータの送信又は受信を行うための方法を実行させるためのプログラムであって、前記方法は、
前記装置が、前記IoT機器から、セルラーネットワーク上のシグナリングによって、メッセージを含むシグナリングデータを受信するステップと、
前記装置が、前記シグナリングデータに基づいて、前記メッセージ又はこれに対応するデータの送信先を特定するステップと
を含み、
前記シグナリングデータは、前記外部サーバの前記IPネットワーク上の前記送信先を間接的に表す送信先識別子を前記メッセージの一部として含み、
前記送信先は、前記シグナリングデータに含まれ得る送信先識別子と送信先との対応づけを参照して特定され、
前記装置は、IPネットワーク上の通信により、前記外部サーバより前記IoT機器への命令が表現されたデータを受信して、前記データ又はこれに対応するデータをメッセージに含むシグナリングデータを前記IoT機器の電話番号に向けて送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、IoT機器とのデータの送受信を行うための装置、方法及びプログラムに関する。
【背景技術】
【0002】
センシング技術、通信技術の進展に伴い、コンピュータネットワークに接続される機器が増え、あらゆるモノがネットワーク化されるInternet of Thingsという考え方が広まっている。以下、インターネットに限らず、ネットワーク化された機器を「IoT機器」という。
【0003】
IoT機器は、ネットワークに接続してサーバ、ストレージなどに収集したデータを送信したり、サーバからデータの配信を受けたりすることができるが、そのためには、サーバとの間にセキュアな接続が確立されなければならない。一つの方法としては、所定の通信方式で通信を行うための同一又は対応する認証情報をサーバと機器の両方に予め与えておき、たとえば、機器の電源をオンにした際に動作するソフトウェアが当該認証情報を用いて、サーバとの間の接続を確立するようにすることができる。
【0004】
SIMカードが挿入されたIoT機器の電源がオンした際には、IoT機器は、当該SIMカードに書き込まれたIMSIのHLR/HSSによる認証を経て、セルラーネットワークにアタッチされた状態となる。セルラーネットワークにアタッチされた後、パケット交換によるデータ通信を行う場合には、追加でGTP接続が行われ、サーバとのIP通信によってデータの送受信を行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の通信方式であると、本来送受信を行いたいデータに対して、大きなオーバーヘッドが発生している。一例として、GPSトラッキングが可能なIoT機器から、図1に示すような11オクテットのログデータをサーバに送信することを考えた場合、GTP接続の確立、TCPソケットの確立、HTTP POSTリクエスト、HTTP POSTレスポンス、TCPソケットの切断、そして、GTP接続の切断という数百オクテットのデータ処理が必要となる。このオーバーヘッドはIoT機器における電力消費に直結し、連続稼働時間に大きな影響を与える。
【0006】
本発明は、このような点に鑑みてなされたものであり、その目的は、IoTの普及を加速すべく、IoT機器とのデータの送受信を行うための装置、方法及びプログラムにおいて、オーバーヘッドの低減を図ることにある。
【課題を解決するための手段】
【0007】
このような目的を達成するために、本発明の第1の態様は、IoT機器とのデータの送信又は受信を行うための装置であって、前記IoT機器から、メッセージを含むSMSデータを受信する第1のサーバと、前記SMSデータに基づいて、前記メッセージ又はこれに対応するデータの送信先を特定する第2のサーバとを備え、前記第2のサーバは、前記送信先とIPネットワーク上で通信を行うことを特徴とする。
【0008】
また、本発明の第2の態様は、第1の態様において、前記送信先は、前記SMSデータに含まれ得る送信先識別子と送信先との対応づけを参照して特定されることを特徴とする。
【0009】
また、本発明の第3の態様は、第2の態様において、前記送信先識別子は、前記SMSデータにメッセージの一部として含まれることを特徴とする。
【0010】
また、本発明の第4の態様は、第3の態様において、前記送信先識別子は、所定の桁数又は所定の桁数以下の数字又は記号であることを特徴とする。
【0011】
また、本発明の第5の態様は、第1から第4のいずれかの態様において、前記メッセージはバイナリフォーマットであることを特徴とする。
【0012】
また、本発明の第6の態様は、第5の態様において、前記第2のサーバは、前記SMSメッセージをテキストフォーマットに展開してから前記送信先に送信することを特徴とする。
【0013】
また、本発明の第7の態様は、第1から第6のいずれかの態様において、前記第2のサーバは、IPネットワーク上の通信により、外部サーバより前記IoT機器への命令が表現されたデータを受信して前記データを前記第1のサーバに受け渡し、前記第1のサーバは、前記データ又はこれに対応するデータをメッセージに含むSMSデータを前記IoT機器に向けて送信し、前記第1のサーバは、前記SMSデータを送信する時に前記IoT機器からのデータを所定時間以上受信していないことを特徴とする。
【0014】
また、本発明の第8の態様は、IoT機器とのデータの送信又は受信を行うための装置であって、前記IoT機器から、セルラーネットワーク上のシグナリングによって、メッセージを含むシグナリングデータを受信する第1のサーバと、前記シグナリングデータに基づいて、前記メッセージ又はこれに対応するデータの送信先を特定する第2のサーバとを備え、前記第2のサーバは、前記送信先とIPネットワーク上で通信を行うことを特徴とする。
【0015】
また、本発明の第9の態様は、IoT機器とのデータの送信又は受信を行うための方法であって、前記IoT機器から、セルラーネットワーク上のシグナリングによって、メッセージを含むシグナリングデータを受信するステップと、前記シグナリングデータに基づいて、前記メッセージ又はこれに対応するデータの送信先を特定するステップとを含み、前記送信先への送信は、IPネットワーク上で行うことを特徴とする。
【0016】
また、本発明の第10の態様は、コンピュータに、IoT機器とのデータの送信又は受信を行うための方法を実行させるためのプログラムであって、前記方法は、前記IoT機器から、セルラーネットワーク上のシグナリングによって、メッセージを含むシグナリングデータを受信するステップと、前記シグナリングデータに基づいて、前記メッセージ又はこれに対応するデータの送信先を特定するステップとを含み、前記送信先への送信は、IPネットワーク上で行うことを特徴とする。
【発明の効果】
【0017】
このような目的を達成するために、本発明の一態様によれば、容量に制約のあるSMSをIoT機器と外部サーバとの通信に用いる際に、外部サーバのURL等の送信先をそのままSMSデータに記述するのではなく、所定の桁数又はそれ以下の数字又は記号の送信先識別子を導入し、当該識別子をSMSデータの受信側で送信先に変換することによって、さまざまな外部サービスとの連携を損なうことなく、大幅なオーバーヘッドの削減を実現することができる。
【図面の簡単な説明】
【0018】
図1】GPSトラッキングによるログデータの一例を示す図である。
図2】本発明の第1の実施形態にかかる装置を示す図である。
図3】本発明の第1の実施形態にかかるIoT機器から外部サーバへのデータ送信の流れを示す図である。
図4】本発明の第2の実施形態にかかる、外部サーバからIoT機器への命令送信のシーケンスを示す図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0020】
(第1の実施形態)
図2は、本発明の第1の実施形態にかかる装置を示す図である。IoT機器110にSIMカード111が挿入されている場合、発明者らは、オーバーヘッドの大きいIP通信ではなく、SMSを用いても、IP通信と同様に複雑な処理を行いつつ、オーバーヘッドの大幅な圧縮が可能であることを見出した。
【0021】
装置100は、SIMカード111が挿入されたIoT機器110からSMSデータを受信する第1のサーバ101と、当該SMSデータに基づいて、当該SMSデータに含まれるメッセージ又はこれに対応するデータの送信先を特定する第2のサーバ102とを備える。送信先としては、さまざまなサービスを提供する外部サーバが可能であり、複雑な処理を実現可能である。図2では、第1の外部サーバ121、第2の外部サーバ122、及び第3の外部サーバ123を示している。IoT機器110と装置100との間はセルラーネットワークにおいてSMSにより通信を行う一方、装置100と外部サーバとの間はIP通信とすることができる。
【0022】
装置100は、MNO(移動体通信事業者)の通信装置とすることができるほか、MNOの通信インフラに接続して無線通信サービスを提供する形態のMVNO(仮想移動体通信事業者)の通信装置とすることもできる。MNOとMVNOの間に、MVNOが円滑な事業を行うための支援サービスを提供するMVNE(仮想移動体通信サービス提供者)が介在し、MVNEがMNOの通信インフラに接続して無線通信サービスを提供するための通信インフラを有することもある。この場合には、装置100は、MVNEの通信装置とすることができる。また、装置100が備える第1のサーバ101はMNOの通信装置、第2のサーバ102はMVNE又はMVNOの通信装置というように、異なる事業者の通信インフラであることもある。
【0023】
第1のサーバ101は、SMSセンター(SMSC)と呼ばれる、SMSメッセージを送信又は受信するためのサーバであり、第2のサーバ102は、メッセージをボディデータとして含むSMSデータを第1のサーバ101から受け取り、当該メッセージに対して適宜必要な処理を施して、これを適切な受け手に向けて送信する。第1のサーバ101及び第2のサーバ102は、それぞれパブリッククラウド又はプライベートクラウド上の1又は複数のインスタンスとすることができ、特に第2のサーバ102は、機能に応じて複数のインスタンスに分けて設計するのが適切なことがある。第2のサーバ102における機能の一部又は全てを第1のサーバ101において担うことも考えられる。
【0024】
ここで、本明細書において「クラウド」とは、ネットワーク上で需要に応じてCPU、メモリ、ストレージ、ネットワーク帯域等のコンピューティングリソースを動的にプロビジョニングし、提供できるシステムを言う。たとえば、AWS等によりクラウドを利用することができる。また、「パブリッククラウド」とは、複数のテナントが利用可能なクラウドを言う。
【0025】
IoT機器110は、所要の通信機能を有する任意の機器とすることができ、セルラーネットワークに接続するためのIMSIなどの識別番号を有していればよい。セルラーネットワークにおいてIP通信を行うためには、パケット交換ネットワーク(PS)への接続が必要であるところ、SMSによる通信のためには、回線交換ネットワーク(CS)に接続すれば足りることから、PSへの接続のために求められる機能を取り除いた簡素化された機器の採用が可能となる。
【0026】
本明細書では、主にSIMカードがIoT機器110に挿入されている例を用いて説明をするが、IMSIなどの識別番号は、物理的なSIMカード111に記憶されるのみではなく、IoT機器110に組み込まれた半導体チップ(「eSIM」とも呼ばれる。)上に1又は複数のIMSIが記憶されること、IoT機器110のモジュール内のセキュアなエリアにソフトウェアを搭載し、当該ソフトウェア上に1又は複数のIMSIが記憶されることも可能であり、IoT機器110が直接的又は間接的に識別番号を保持する態様は、さまざま考えられる。IoT機器110には、IMSIなどの識別番号に加えて、自らのMSISDNなどの電話番号、さらにSMSCである第1のサーバ101のMSISDNなどの電話番号が記憶されている。
【0027】
第1の外部サーバ121、第2の外部サーバ122及び第3の外部サーバ123は、それぞれ、さまざまな用途のものとすることができる。たとえば、IoT機器110を運用する企業の自社サーバにHTTPでのデータ送信を行ったり、SSL/TLS上のHTTPによりセキュアにデータ蓄積を行ったり、第2のサーバ102がクラウド上のインスタンスないしサーバである場合に同一クラウド又は別クラウドのインスタンスないしサーバにデータ転送を行ったりする用途が挙げられる。送信先のサーバやクレデンシャル、用いるプロトコル等の設定情報を装置100においてSIMカードごとに保持し、その設定情報に従ってSMSで送信されたデータを転送する仕組みとすることができる。
【0028】
本明細書において説明される各デバイスは、物理的に単一のデバイスに限られず、複数の相互にアクセス可能なデバイスとすることができる。また、第2のサーバ102について、通信インターフェースなどの通信部102-1と、プロセッサ、CPU等の処理部102-2と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部102-3とを備え、記憶部102-3又は第2のサーバ102からアクセス可能な記憶装置又は記憶媒体に記憶された各処理を行うためのプログラムを処理部102-2において実行することによって各機能を実現することができるものとして図示しているように、その他のデバイスについても、同様のハードウェアによって実現することができる。上記プログラムは、1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。
【0029】
図3に、本発明の第1の実施形態にかかる、IoT機器から外部サーバへのデータ送信のシーケンスを示す。まず、IoT機器110において、何かしらのイベントが発生する(S301)。たとえば、タイマが発動して、IoT機器110のセンサが取得した情報を第3の外部サーバ123に送信したいといった例が挙げられる。
【0030】
IoT機器110は、取得した情報が記述されたメッセージを生成して、IoT機器110に予め記憶されている第1のサーバ101の電話番号に対し、SMSにより送信する(S302)。当該メッセージには、メッセージの少なくとも一部又はこれに対応するデータの送信先となる第3の外部サーバ123を識別するための送信先識別子が含まれる。送信先識別子は、1001、1002、1003、2000等のように4桁の数字とすることができ、より一般的に、所定の桁数又は所定の桁数以下の数字又は記号とすることができる。SMSにより送信可能なメッセージの容量は、140オクテット等と非常に限られているため、バイナリフォーマットとするのが望ましい。
【0031】
第1のサーバ101は、当該メッセージを含むSMSデータを受信したことを必要に応じてIoT端末110に通知した後(S303)、第2のサーバ102に対し、当該SMSデータを受け渡す(S304)。この際、IoT端末110に記憶された識別番号又はこれに基づいて判定可能な送信元であるIoT端末110の電話番号をSMSデータに含めてもよい。
【0032】
第2のサーバ102は、当該SMSデータのメッセージに含まれる送信先識別子に基づいて、SMSデータに含まれ得る送信先識別子と送信先との対応づけを参照して、送信先を特定する(S305)。送信先は、IPネットワーク上のURLとすることができ、数十オクテットとなることも少なくない。メッセージがバイナリフォーマットの場合、第2のサーバ102は、送信先である第3のサーバ123において扱いやすいように、一般にサーバ側で広く用いられるフォーマット、たとえばJSON、XML等のテキストベースのフォーマットに展開を行ってもよい(S306)。
【0033】
第2のサーバ102は、メッセージから送信先識別子を除いた部分又は送信先識別子を含めたメッセージの全体を第3の外部サーバ123に対して送信する(S307)。送信は、一例として、メッセージの少なくとも一部又はこれに対応するデータをJSON形式等でHTTP POSTリクエストによって送信することができる。
【0034】
各装置は、図3において点線で示すように、それぞれが行った送信に対して結果を受け取った際又は送信を行った際にインアクティブとしてもよい。各装置がアクティブな期間を縦長の矩形で示している。
【0035】
容量に制約のあるSMSをIoT機器と外部サーバとの通信に用いることは、外部サーバのURL等の送信先が容量の大きな割合を占めてしまうことから非現実的であるところ、上述のように、所定の桁数又はそれ以下の数字又は記号の送信先識別子を導入し、当該識別子をSMSデータの受信側で送信先に変換することによって、SMSによる通信が現実的に可能となり、さまざまな外部サービスとの連携を損なうことなく、大幅なオーバーヘッドの削減がもたらされる。また、サーバ側が外部に公開されているような場合、認証のためのクレデンシャルをクライアントに要求することがセキュリティ上必要となるのが一般的であり、この情報もSMS上で伝送しようとするとオーバーヘッドとなるが、本実施形態では、サーバ側でこの情報を保持し、適宜適用することでこれを削減可能である。このためには、送信先又は送信先識別子とクレデンシャルとの対応づけを装置100において保持しておけばよい。
【0036】
上述の説明では、送信先識別子に基づいて送信先の特定を行っているが、送信先識別子に加えて、又は送信先識別子に代替して、SMSデータに包含又は付加された送信元の電話番号又はSMSデータのメッセージの少なくとも一部に基づいて、送信先の特定を行うようにしてもよい。
【0037】
また、本実施形態では、IoT機器110から装置100乃至第1のサーバ101へのデータ送信をセルラーネットワーク上のSMSにより行ったが、これは必ずしもSMSのみに本発明の精神を限定するものではなく、SMS以外のセルラーネットワーク上のシグナリングを採用することも考えられる。この場合、第1のサーバ101が受信するデータは、「シグナリングデータ」と呼び、より具体的には、クライアントから送信が可能で、受信したサーバ側で当該送信に使用された識別番号を一意に、かつセキュアに特定できるデータと定義することができる。たとえば、シグナリングデータは、USSDによるメッセージを含むことができる。
【0038】
なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。
【0039】
また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。
【0040】
(第2の実施形態)
第2の実施形態では、たとえば第1の実施形態において例示したセンサデータの送信の前提として、外部サーバから、データ取得等の命令を行う。命令に従った動作の結果として生じるデータは、第1の実施形態にて説明した流れで外部サーバに送信可能である。
【0041】
図4に、本発明の第2の実施形態にかかる、外部サーバからIoT機器への命令の送信のシーケンスを示す。まず、第2の外部サーバ122において、何かしらのイベントが発生する(S401)。たとえば、IoT機器110の管理者が端末側の状況が気になったので、IoT機器110において、センサデータを取得する処理を実行させるためのボタンを押下するような状況が考えられる。
【0042】
第2の外部サーバ122は、IoT機器110を識別する機器識別子をパラメータとして、上記命令をボディデータとして、IoT機器110に対する命令をWeb APIに渡す(S402)。機器識別子は、IoT機器110の電話番号とすることができるほか、IMSI等の識別番号、機器名等とすることもできる。
【0043】
Web APIは、受け取った命令がテキストフォーマットの場合、必要に応じてこれをバイナリフォーマットに変換してもよい(S403)。そして、Web APIは、機器識別子が電話番号以外のときは、機器識別子と電話番号との対応づけを参照してIoT機器110の電話番号を特定して、第2のサーバ102にIoT機器110の電話番号及びIoT機器110に対する命令又はそれに対応するデータを渡す(S404)。図2では、Web APIを提供するサーバ又はインスタンスを図示していないが、これを第2のサーバ102と別個に設けてもよく、第2のサーバ102において提供してもよい。また、別個のサーバ又はインスタンス上のWeb APIを含めて、第2のサーバ102と捉えてもよい。
【0044】
第2のサーバ102は、第1のサーバ101に対し、送信先をIoT機器110の電話番号、メッセージを受け取った命令又はそれに対応するデータとするSMSデータの送信要求を送信する(S405)。この際、SMSデータの送信元はSMSCである第1のサーバ101に付与された電話番号となるところ、命令を行った第2の外部サーバ122又は第2の外部サーバ122から命令を行った管理者を特定する外部送信元又はそれを表す識別子をメッセージに含めることもできる。
【0045】
第1のサーバ101は、前記命令を表したデータ又はこれに対応するデータをメッセージに含むSMSデータをIoT機器110に送信する(S406)。IoT機器110は、必要に応じて受領確認応答を返し(S407)、命令に従った処理を実行する(S408)。
【0046】
ここで、本実施形態にかかる方法では、IoT機器は、いつ飛んでくるか分からない命令乃至指示を受け取るために常にオンラインでいることが要求されないことを一つの特徴とする。SMSによる通信ではなく、IP通信である場合には、一般に、サーバとの間にNAT等の機器が介在し、サーバから直接アクセスすることができず、TCP/UDPセッションが確立されるたびに当該サーバおよび経路上のファイアウォール、NAT等の各機器においてステート情報を作成してこれを保持することで、サーバからのアクセスを可能としている。そして、ステート情報は一般に、ソフトステートでの実装であることが多く、有効期限が定められていることから、有効期限前に機器から空のデータを送信してステート情報を維持するkeepaliveと呼ばれる手法がしばしば用いられる。そして、keepaliveの必要性は、大きなオーバーヘッドとなっている。
【0047】
これに対し、SMSによる通信では、ページングによってドーマントモードのモデムを起こしてメッセージの着信を知らせることができるため、本実施形態にかかる第1のサーバ101は、IoT機器110に定期的又は断続的なデータ送信をさせることなく、任意のタイミングでSMSデータを送信して命令を実行させることができる。第1のサーバ101の視点では、keepaliveが不要であることから、IoT機器110からのデータを所定時間以上受信していなくとも、SMSデータを送信することができる。たとえば、IP通信では数分以上又は数十分以上keepaliveを行わずに任意のタイミングでサーバからアクセスすることは困難であることも少なくないが、本実施形態によれば、IoT機器110は、そのような長期間に渡ってデータ送信をすることを必要としない。
【0048】
より具体的には、keepaliveのためのデータ送信頻度は、ネットワークパス上の各機器におけるステート情報の有効期限に依存するため一概に決めることはできないが、自身が管理していないネットワークにおいては設定が変わり得ることなどから、安定して疎通性を維持するために最も短い機器に合わせて設定する必要がある。特にIoTでよく用いられるUDPでは、長時間セッションが持続するアプリケーションで多く用いられるTCPに比べてステートを維持するタイマが短いことが多く、keepaliveを数十秒から数分の高頻度で行う必要がある。
【0049】
例として、OMA LWM2Mを用いて任意のタイミングでサーバからデータ取得コマンドを実行できるよう、1分ごとにサーバに対してkeepaliveとしてRegistration Updateリクエストを送るケースを考えてみる。
【0050】
仮にリクエストサイズを80オクテット、レスポンスサイズを80オクテットとすると、1日当たりのkeepaliveのための通信量は23万40オクテットとなり、1月では約7MBとなり、デバイス数が多い場合には無視できないコストを発生させる。
【0051】
さらに、デバイスがバッテリ駆動の場合には、この通信を行うために常にデバイス及びモデムがアクティブでなければならず、バッテリライフタイムを大幅に短くする。スリープモードで命令乃至指示を待っていて、命令があったときにデータ送信のためにアクティブとなり、電力を消費するSMS通信と、常にアクティブであり、かつ、keepaliveのために高頻度でデータ送信を行い続けなければならないIP通信とでは数十倍、数百倍の差を生む。
【符号の説明】
【0052】
100 装置
101 第1のサーバ
102 第2のサーバ
102-1 通信部
102-2 処理部
102-3 記憶部
110 IoT機器
111 SIMカード
121 第1の外部サーバ
122 第2の外部サーバ
123 第3の外部サーバ
図1
図2
図3
図4