JP2019125334A - 通信を行うためのシステム、プログラム、方法及びサーバ - Google Patents

通信を行うためのシステム、プログラム、方法及びサーバ Download PDF

Info

Publication number
JP2019125334A
JP2019125334A JP2018143556A JP2018143556A JP2019125334A JP 2019125334 A JP2019125334 A JP 2019125334A JP 2018143556 A JP2018143556 A JP 2018143556A JP 2018143556 A JP2018143556 A JP 2018143556A JP 2019125334 A JP2019125334 A JP 2019125334A
Authority
JP
Japan
Prior art keywords
token
server
message
terminal device
application
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.)
Pending
Application number
JP2018143556A
Other languages
English (en)
Inventor
修一 倉林
Shuichi Kurabayashi
修一 倉林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cygames Inc
Original Assignee
Cygames Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cygames Inc filed Critical Cygames Inc
Priority to JP2018143556A priority Critical patent/JP2019125334A/ja
Publication of JP2019125334A publication Critical patent/JP2019125334A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】より簡易に、同時に起動する複数のアプリケーション間で通信することが可能なシステムを提供する。【解決手段】携帯端末装置3において動作している複数のアプリケーション間における通信を行うためのシステムであって、携帯端末装置は、トークンを生成するトークン生成部と34、携帯端末装置において動作する一のアプリが他のアプリへ送るための、トークン及びペイロードを含む発行メッセージをサーバへ送信する発行部35と、他のアプリが発行部により送られるデータを受信可能であることを示す、トークンを含む購読メッセージをサーバへ送信する購読部36と、を備える。サーバ4は、購読メッセージに含まれるトークンを記憶し、発行メッセージを受信したときに、発行メッセージに含まれるトークンと、記憶された購読メッセージに含まれるトークンとを照合し、照合結果が所定条件を満たす場合、ペイロードを他のアプリへ送信する。【選択図】図4

Description

本発明は、通信を行うためのシステム等に関し、特に携帯端末装置において動作している複数のアプリケーション間における通信を行うためのシステム、プログラム、方法及びサーバに関する。
近年、タッチパネルを備えたスマートデバイス、特にスマートフォンが広く一般に普及している。モバイル用CPUのマルチコア化やディスプレイの大型化に伴い、今日のスマートフォン用OSは、同時に複数のアプリを起動するマルチタスク機能をサポートしている。一般的に、スマートフォンには複数のアプリ(アプリケーション)がインストールされており、複数のアプリを同時に使用するユーザは多い。
一方、同時に起動するアプリ間の連携には、セキュリティ上、一定の制約が課されている。例えば、特許文献1は、iOS上で実行されるアプリの保護に関する技術を開示している。このようにiOSなどの汎用的なOSにおいては、すべてのアプリはサンドボックス化され、他のアプリによって保存されたファイルへのアクセスなどができないように構成されている。
特開第2017−4528号
上記のような状況のため、従来、アプリ同士が自動的に連携することや通信することは難しかった。これに対して、アプリ間のデータを中継する中継サーバを導入し、この中継サーバを介してアプリ間の通信を実現する方法がある。しかしながら、中継サーバが各アプリを適切に識別・認証してアプリ間を連携する必要があり、そのために各アプリはユーザに対して明示的な認証操作等を要求することから、ユーザにとっては煩雑な操作となっていた。
本発明は、このような課題を解決するためになされたものであり、より簡易に、同時に起動する複数のアプリケーション間で通信することが可能なシステム等を提供することを主目的とする。
上記の目的を達成するために、本発明の一態様としてのシステムは、ネットワークを介してサーバに接続された携帯端末装置において動作している複数のアプリケーション間における通信を行うためのシステムであって、前記携帯端末装置は、時刻情報及び前記携帯端末装置が備えるセンサデバイスから取得されたセンサ値情報を含むトークンを生成する、トークン生成部と、前記携帯端末装置において動作する一のアプリが前記携帯端末装置において動作する他のアプリへ送るための、前記トークン及びペイロードを含む発行メッセージを前記サーバへ送信する発行部と、前記他のアプリが前記発行部により送られるデータを受信可能であることを示す、前記トークンを含む購読メッセージを前記サーバへ送信する購読部と、を備え、前記サーバは、前記購読メッセージに含まれる前記トークンを記憶し、前記発行メッセージを受信したときに、前記発行メッセージに含まれる前記トークンと、前記記憶された前記購読メッセージに含まれる前記トークンとを照合し、該照合結果が所定条件を満たす場合、前記ペイロードを前記他のアプリへ送信することを特徴とする。
また、本発明において好ましくは、前記トークンは、1つの行が前記時刻情報のうちの1つの時刻を示す情報及び前記センサ値情報のうちの該時刻に対応付けられた1又は複数のセンサ値を示す情報を含むトークン・マトリクスである。
また、本発明において好ましくは、前記センサデバイスは、GPSセンサ、ジャイロセンサ、及び加速度センサの少なくとも1つを含む。
また、本発明において好ましくは、前記発行部は、前記発行メッセージから前記トークンの一部を抽出して前記ペイロードを暗号化し、前記発行メッセージのうちの抽出した該一部をマスキング又は削除し、前記購読部は、前記発行メッセージに含まれる前記トークンと、前記トークン生成部が生成する前記トークンとを比較することにより、前記発行部が暗号化に用いた前記一部を特定し、該特定された前記一部を用いて前記ペイロードを復号する。
また、本発明において好ましくは、前記所定条件は、照合した前記トークンの一致する比率が閾値以上であることである。
また、本発明において好ましくは、前記購読メッセージは、前記他のアプリが前記ペイロードを受信するポート番号を含み、前記サーバは、前記発行メッセージを受信したときに、前記発行メッセージに含まれる前記トークンと、前記記憶された前記購読メッセージに含まれる前記トークンとを照合し、該照合結果が所定条件を満たす場合、前記ペイロードを前記携帯端末装置の前記ポート番号に対して送信する。
また、本発明において好ましくは、前記購読部は、前記購読メッセージを定期的に前記サーバへ送信する。
また、本発明において好ましくは、前記トークンは、前記携帯端末装置のIPアドレスを含み、前記サーバは、負荷分散装置及び複数のサーバ装置から構成され、前記負荷分散装置は、同一のIPアドレスから送信される前記発行メッセージ及び前記購読メッセージを、同一の前記サーバ装置に処理させる。
また、上記の目的を達成するために、本発明の一態様としての一組のプログラムは、ネットワークを介してサーバに接続された携帯端末装置において動作している複数のアプリケーション間における通信を行うための一組のプログラムであって、前記携帯端末装置に時刻情報及び前記携帯端末装置が備えるセンサデバイスから取得されたセンサ値情報を含むトークンを生成するステップと、前記携帯端末装置において動作する一のアプリが前記携帯端末装置において動作する他のアプリへ送るための、前記トークン及びペイロードを含む発行メッセージを前記サーバへ送信するステップと、前記他のアプリが前記発行メッセージに含まれるデータを受信可能であることを示す、前記トークンを含む購読メッセージを前記サーバへ送信するステップと、を実行させ、前記サーバに、前記購読メッセージに含まれる前記トークンを記憶するステップと、前記発行メッセージを受信したときに、前記発行メッセージに含まれる前記トークンと、前記記憶された前記購読メッセージに含まれる前記トークンとを照合し、該照合結果が所定条件を満たす場合、前記ペイロードを前記他のアプリへ送信するステップと、を実行させることを特徴とする。
また、上記の目的を達成するために、本発明の一態様としての方法は、ネットワークを介してサーバに接続された携帯端末装置において動作している複数のアプリケーション間における通信を行うための方法であって、前記携帯端末装置において、時刻情報及び前記携帯端末装置が備えるセンサデバイスから取得されたセンサ値情報を含むトークンを生成するステップと、前記携帯端末装置において動作する一のアプリが前記携帯端末装置において動作する他のアプリへ送るための、前記トークン及びペイロードを含む発行メッセージを前記携帯端末装置から前記サーバへ送信するステップと、前記他のアプリが前記発行メッセージに含まれるデータを受信可能であることを示す、前記トークンを含む購読メッセージを前記携帯端末装置から前記サーバへ送信するステップと、前記サーバにおいて、前記購読メッセージに含まれる前記トークンを記憶するステップと、前記サーバにおいて、前記発行メッセージを受信したときに、前記発行メッセージに含まれる前記トークンと、前記記憶された前記購読メッセージに含まれる前記トークンとを照合し、該照合結果が所定条件を満たす場合、前記ペイロードを前記サーバから前記他のアプリへ送信するステップと、を有することを特徴とする。
また、上記の目的を達成するために、本発明の一態様としてのサーバは、ネットワークを介してサーバに接続された携帯端末装置において動作している複数のアプリケーション間における通信を行うためのシステムにおけるサーバであって、前記携帯端末装置は、時刻情報及び前記携帯端末装置が備えるセンサデバイスから取得されたセンサ値情報を含むトークンを生成する、トークン生成部と、前記携帯端末装置において動作する一のアプリが前記携帯端末装置において動作する他のアプリへ送るための、前記トークン及びペイロードを含む発行メッセージを前記サーバへ送信する発行部と、前記他のアプリが前記発行部により送られるデータを受信可能であることを示す、前記トークンを含む購読メッセージを前記サーバへ送信する購読部と、を備え、前記サーバは、前記購読メッセージに含まれる前記トークンを記憶し、前記発行メッセージを受信したときに、前記発行メッセージに含まれる前記トークンと、前記記憶された前記購読メッセージに含まれる前記トークンとを照合し、該照合結果が所定条件を満たす場合、前記ペイロードを前記他のアプリへ送信することを特徴とする。
本発明によれば、より簡易に、同時に起動する複数のアプリケーション間で通信することができる。
本発明の一実施形態によるシステムの全体構成図である。 本発明の一実施形態による携帯端末装置のハードウェア構成を示すブロック図である。 本発明の一実施形態によるサーバのハードウェア構成を示すブロック図である。 本発明の一実施形態によるシステムの機能ブロック図である。 トークン・マトリクスのデータ構造の一例を示す図である。 本発明の一実施形態による携帯端末装置において動作する送信側アプリの情報処理のフローチャートを示す図である。 本発明の一実施形態による携帯端末装置において動作する受信側アプリの情報処理のフローチャートを示す図である。 本発明の一実施形態によるサーバの情報処理のフローチャートを示す図である。 発行部によるペイロード暗号化の一例を示す図である。 図9のように暗号化されたペイロードの購読部による復号化の一例を示す図である。 本実施形態の応用例について説明するための図である。
以下、図面を参照して、本発明の実施形態による、システムについて説明する。本明細書において、アプリは、主としてスマートフォンやタブレット端末においてインストールされるアプリを意味するが、アプリケーション全般を意味することができる。また単にアプリと呼ぶ場合、アプリは、Webアプリ及びネイティブアプリを含む。
図1は、本発明の一実施形態によるシステム1の全体構成図である。図1に示すように、システム1は、携帯端末装置3及びサーバ4を備え、携帯端末装置3及びサーバ4は、インターネットなどのネットワーク2に接続され、互いに通信可能である。
図2は本発明の一実施形態による携帯端末装置3のハードウェア構成を示すブロック図である。本実施形態において、携帯端末装置4はスマートフォンである。携帯端末装置4は、プロセッサ11、表示装置12、入力装置13、記憶装置14、及び通信装置15を備える。これらの各構成装置はバス16によって接続される。バス16と各構成装置との間には必要に応じてインタフェースが介在しているものとする。ただし、携帯端末装置3は、上記の構成を備えるものであれば、デスクトップ型のパソコン、ノートパソコン又はタブレット端末などとすることができる。
プロセッサ11は、携帯端末装置3全体の動作を制御するものであり、例えばCPUである。なお、プロセッサ11としては、MPU等の電子回路が用いられてもよい。プロセッサ11は、記憶装置14に格納されているプログラムやデータを読み込んで実行することにより、様々な処理を実行する。1つの例では、プロセッサ11は、複数のプロセッサから構成される。
表示装置(ディスプレイ)12は、プロセッサ11の制御に従って、アプリケーション画面などを携帯端末装置4のユーザに表示する。好ましくは液晶ディスプレイであるが、有機ELを用いたディスプレイやプラズマディスプレイ等であってもよい。
入力装置13は、タッチパネル、タッチパッド、入力ボタン等のようにユーザからの入力を受け付ける機能を有するものである。本実施形態では、携帯端末装置3はスマートフォンであるため、携帯端末装置3は入力装置13としてタッチパネルを備え、タッチパネルは表示装置12としても機能し、表示装置12と入力装置13は一体となった構造である。ただし、表示装置12と入力装置13は、別の位置に配置される別個の形態であってもよい。
記憶装置14は、揮発性メモリであるRAM及び不揮発性メモリであるROMを含む、一般的なスマートフォンが備える記憶装置である。記憶装置14は、外部メモリを含むこともできる。
1つの例では、記憶装置14は、主記憶装置及び補助記憶装置を含む。主記憶装置は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、プロセッサ11が情報を処理する際の記憶領域及び作業領域として用いられる。補助記憶装置は、様々なプログラムや、各プログラムの実行に際してプロセッサ11が使用するデータを格納する。補助記憶装置は、例えばハードディスク装置であるが、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。補助記憶装置は、例えば、オペレーティングシステム(OS)、ミドルウェア、アプリケーションプログラム、これらのプログラムの実行に伴って参照され得る各種データなどを格納する。
通信装置15は、ネットワーク2を介してサーバ4などの他のコンピュータとの間でデータの授受を行う。例えば通信装置15は、移動体通信や無線LAN等の無線通信を行い、ネットワーク2へ接続する。1つの例では、通信装置15によって、プログラムをサーバ4からダウンロードして、記憶装置14に格納する。ただし、通信装置15は、イーサネット(登録商標)ケーブル等を用いた有線通信を行ってもよい。
図3は本発明の一実施形態によるサーバ4のハードウェア構成を示すブロック図である。サーバ4は、プロセッサ21、表示装置22、入力装置23、記憶装置24、及び通信装置25を備える。これらの各構成装置はバス26によって接続される。バス26と各構成装置との間には必要に応じてインタフェースが介在しているものとする。なおサーバ4は、1つのサーバ装置から構成してもよいし、複数のサーバ装置から構成してもよい。
プロセッサ21は、サーバ4全体の動作を制御するものであり、例えばCPUである。なお、プロセッサ21としては、MPU等の電子回路が用いられてもよい。プロセッサ21は、記憶装置24に格納されているプログラムやデータを読み込んで実行することにより、様々な処理を実行する。1つの例では、プロセッサ21は、複数のプロセッサから構成される。
表示装置(ディスプレイ)22は、プロセッサ21の制御に従って、アプリケーション画面などをサーバ4の使用者に表示する。入力装置23は、サーバ4に対するユーザからの入力を受け付けるものであり、例えば、タッチパネル、タッチパッド、キーボード、又はマウスである。
記憶装置24は、主記憶装置及び補助記憶装置を含む。主記憶装置は、例えばRAMのような半導体メモリである。RAMは、情報の高速な読み書きが可能な揮発性の記憶媒体であり、プロセッサ21が情報を処理する際の記憶領域及び作業領域として用いられる。主記憶装置は、読み出し専用の不揮発性記憶媒体であるROMを含んでいてもよい。この場合、ROMはファームウェア等のプログラムを格納する。補助記憶装置は、様々なプログラムや、各プログラムの実行に際してプロセッサ21が使用するデータを格納する。補助記憶装置は、例えばハードディスク装置であるが、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。補助記憶装置は、例えば、オペレーティングシステム(OS)、ミドルウェア、アプリケーションプログラム、これらのプログラムの実行に伴って参照され得る各種データなどを格納する。
好適な1つの例では、記憶装置24は各種データベース用のデータ(例えばテーブル)やプログラムを記憶する。プロセッサ21の動作などにより、各種データベースは実現される。サーバ4は、データベースサーバ機能を備えることもできるし、1又は複数のデータベースサーバを含むこともできるし、又は他のサーバを含むこともできる。
通信装置25は、ネットワーク2を介して携帯端末装置4などの他のコンピュータとの間でデータの授受を行う。例えば通信装置25は、イーサネット(登録商標)ケーブル等を用いた有線通信や移動体通信、無線LAN等の無線通信を行い、ネットワーク4へ接続する。
図4は本発明の一実施形態によるシステム1の機能ブロック図の一例を示す。これらの機能は、携帯端末装置3のプロセッサ11及びサーバ4のプロセッサ21によりプログラムが実行されることにより実現される。本実施形態においては、各種機能がプログラム読み込みにより実現されるため、1つのパート(機能)の一部を他のパートが有していてもよい。ただし、各機能の一部又は全部を実現するための電子回路等を構成することにより、ハードウェアによってこれらの機能は実現してもよい。
携帯端末装置3は、OSがインストールされるとともに、当該OS上で動作させる複数のアプリがインストールされている。説明の便宜上、携帯端末装置3は、OSとしてiOS(登録商標)を有するものとするが、これに限定されず、Windows(登録商標)やAndroid(登録商標)などであってもよい。携帯端末装置3は、アプリをインストールする際に、各アプリのための特定の記憶領域を割り当てる。記憶領域は、記憶部14の一部であり、一般的にサンドボックスと呼ばれるものである。
図4は、1つのサンドボックス31が、1つのアプリ32に対して割り当てられる様子を示す。図4に示すように、アプリ32は、当該アプリ32に対して割り当てられたサンドボックス31で動作し、その他のアプリ32に割り当てられたサンドボックス31とアプリ間通信を行うことはできないように構成される。このように、システム1は、保護された領域であるサンドボックス31でアプリ32を動作させるため、当該アプリ32において保存されたファイルに、当該サンドボックス31外のその他のアプリ32がアクセスすること等を防止している。したがって、例えば各アプリ32がサンドボックス化されることで、ユーザデータは保護される。ただし、アプリ32は、OSが提供するAPIを利用することはできる。
アプリ32は、アプリ機能部33、トークン生成部34、発行部35、及び購読部36を備える。
アプリ機能部33は、携帯端末装置3上で起動されたアプリ32の機能を有し、当該アプリ32によるサービスの提供を行う。アプリ32がWebアプリである場合、サーバ4がアプリ機能部33の一部又は全部を有し、アプリ32は、サーバ4とデータの送受信を行う。
トークン生成部34は、時刻情報及び携帯端末装置3が備えるセンサデバイスから取得されたセンサ値情報を含むトークンを生成する。1つの例では、トークン生成部34は、携帯端末装置3上で動作するアプリ32内部のモジュールとして実装されるソフトウェアモジュールである。
携帯端末装置3は、センサデバイスを備え、センサデバイスは、GPSセンサ、ジャイロセンサ、及び加速度センサの少なくとも1つを含む。トークン生成部34は、センサデバイスにアクセスし、予め定められた期間、センサ値を取得する。予め定められた期間は、例えば数百ミリ秒から1秒程度の期間である。1つの例では、トークン生成部34は、汎用のスマートフォンに内蔵されているGPS及び6軸センサを含むセンサデバイスにアクセスし、数百ミリ秒の期間、センサ値を取得する。例えば、6軸センサは、3軸の加速センサ及びジャイロセンサから構成される。
トークン生成部34は、ある特定の時間に特定の携帯端末装置3上で動作(起動)するアプリを識別するためのトークンを生成する。好適な1つの例では、トークン生成部34は、複数のセンサからセンサ値を取得する場合、複数のセンサ値の各々を列とし、所定の単位時間を行として、センサ値の時系列的な変化を示す行列(マトリクス)を、トークンとして生成する。本実施形態では、トークンは、このようにマトリクスとして生成されるものとし、トークン・マトリクスと呼ぶこととする。例えば、予め定められた期間が数百ミリ秒である場合、所定の単位時間は10ミリ秒程度である。
図5は、トークン・マトリクスのデータ構造の一例を示す。トークン・マトリクスにおける1つの行riは、以下の式1のように定義される。
Figure 2019125334
(式1)
式1において、timestampiは、センサデバイスからセンサ値を取得した時間を示す値であり、IPは、アプリが動作する携帯端末装置3のIPアドレスであり、sensornは、各センサから取得されたn種類のセンサ値である。1つの例では、timestampiは、OSから取得可能な、いわゆるUNIX(登録商標)時間と呼ばれる整数値であるか、又は”2017/07/14 15:48:43”のような文字列である。1つの例では、sensornが示す各センサ値は、GPSが出力する緯度(GPS(Lat))、経度(GPS(Lng))、及び6軸センサが出力する6つの値(x,y,z,r,p,y)を含む。
好適な1つの例では、センサデバイスごとに値の更新頻度は異なるが、トークン生成部34が各センサデバイスから値を取得するタイミングは一定である。トークン生成部34は、トークン・マトリクスにおける1つの行riを、センサ値を取得する周期ごとに生成する。トークン生成部34は、例えば50〜100Hzのサンプリング頻度で、各センサデバイスからセンサ値を取得する。GPSのように更新頻度が低いセンサデバイスについては、トークン生成部34は、GPSのセンサ値が更新されない間、GPSのセンサ値として同じ値を取得し、トークン・マトリクスの対応する列に同じ値を格納する。
なお、トークン・マトリクスはIPアドレスを含まなくてもよい。ただし、モバイル環境では、利用者の移動やWiFiへの接続などによりIPアドレスは頻繁に変化するため、時間軸に沿ったIPアドレスの変化の履歴は、ある特定の時間に特定のスマートフォン上で起動するアプリを識別するために有益である。したがって、トークン・マトリクスはIPアドレスを含むことが好ましい。
上記のように、トークンは、1つの行が時刻情報のうちの1つの時刻を示す情報及びセンサ値情報のうちの該時刻に対応付けられた1又は複数のセンサ値を示す情報を含むトークン・マトリクスである。ただし、トークンは、ある特定の時間に特定の携帯端末装置3上で動作していることを識別可能なものであれば、トークン・マトリクスとは別のデータ構造とすることもできる。
発行部35と購読部36は、一般的な出版−購読型モデルのPublisherとSubscriberに各々相当する。サーバ4は、サーバサイドにおいて、携帯端末装置3において動作(起動)する一のアプリ32から送信されたメッセージを、同一の携帯端末装置3において動作(起動)する他のアプリ32へ配送するための機能を有するメッセージバス41を備える。本実施形態のシステム1は、アプリ32間は直接的な通信を行わず、サーバ4を介して、具体的にはサーバ4が備えるメッセージバス41を介して、アプリ間32を間接的に連結する。本明細書においては、説明の便宜上、特に言及が無い限り、発行メッセージを送信するアプリ32を送信側アプリ32(一のアプリ32)、購読メッセージを送信するアプリ32を受信側アプリ32(他のアプリ32)と呼ぶ。アプリ32間の双方向通信の場合、2つのアプリ32は、両方とも、送信側アプリ32かつ受信側アプリ32であることができる。
発行部35は、携帯端末装置3において動作する送信側アプリ32が携帯端末装置3において動作する受信側アプリ32へ送るための、トークン及びペイロードを含む発行メッセージをサーバ4へ送信する。1つの例では、発行部35は、動的な通信を行うアプリ32が、実際にデータを受信側アプリ32に送信するための機能を提供するモジュールである。
1つの例では、発行メッセージは、トークン・マトリクスをヘッダとし、送信したいデータをペイロードとしたメッセージである。発行部35は、発行メッセージをサーバ4が備えるメッセージバス41へ送信する。具体的には、発行メッセージは、以下の式2のように定義される。
Figure 2019125334
(式2)
式2において、token_matrixは、図5に示す時系列データであり、payloadは、送信内容を示す任意のデータである。
1つの例では、発行部35が発行メッセージをUDPで送信する場合、発行部35は、発行メッセージを複数個に分割してメッセージバス41へ送信する。
購読部36は、受信側アプリ32が発行部35により送られるデータを受信可能であることを示す、トークンを含む購読メッセージをサーバ4へ送信する。1つの例では、購読部36は、アプリ32が送信側アプリ32からのメッセージを受信するためのモジュールである。したがって、購読メッセージは、アプリ32が発行部35により送られるデータを受信可能であることをメッセージバス41に伝えるためのメッセージであり、受信側アプリ32が、いわゆる購読処理を行うにあたって必要なものである。
1つの例では、購読メッセージは、トークン・マトリクス及び携帯端末装置3のエンドポイント情報を含む。例えば、エンドポイント情報は、IPアドレス及びポート番号である。具体的には、購読メッセージは、以下の式3のように定義される。
Figure 2019125334
(式3)
式3において、token_matrixは、図5に示す時系列データであり、IPは、携帯端末装置3のIPアドレスであり、portは、受信側アプリ32が受信状態にあるポート番号である。サーバ4は、発行部35から受信した発行メッセージ又は該発行メッセージのうち少なくともペイロードを含むデータを携帯端末装置3の当該ポート番号に対して送信し、受信側アプリ32は、当該ポート番号を用いて、サーバ4から送信されたデータを受信する。
購読部36は、購読メッセージを定期的に、例えば1秒に1回、サーバ4が備えるメッセージバス41へ送信する。本実施形態のシステム1においては、後述するようにメッセージバス41がトークン・マトリクスを用いてメッセージの配送可否を決定するため、受信側アプリ32は、トークン・マトリクスを含む購読メッセージを送信し、情報を更新し続ける必要がある。一方、受信側アプリ32が購読の停止を行うときには、購読部36が購読メッセージの送信を停止すればよい。したがって、購読部36は、購読停止のための処理は不要である。
なお、本実施形態における発行部35及び購読部36は、サーバに対して各メッセージを送信する際に接続状態を維持する必要はないため、TCPに依存せず、UDPを用いることができる。
サーバ4は、メッセージバス41及び履歴データベース42を備える。履歴データベース42は、定期的に購読部36が送信する購読メッセージに含まれるトークン・マトリクスの履歴を一定期間、例えば10秒間、保存するデータベースである。ただし、履歴データベース42は、履歴データベース42の記憶領域を考慮して、より多くの期間及びトークン・マトリクスの行数を記憶するように構成することもできる。
メッセージバス41は、発行部35が送信する発行メッセージ及び購読部36が送信する購読メッセージを受信する。メッセージバス41は、購読メッセージを受信したとき、購読メッセージに含まれるトークン・マトリクスを一定期間、例えば10秒間、履歴データベース42に記憶する。メッセージバス41は、発行メッセージを受信したとき、発行メッセージに含まれるトークン・マトリクスと、履歴データベース42に記憶された購読メッセージに含まれるトークン・マトリクスとを照合する。なお、履歴データベース42には一定期間トークン・マトリクスが記憶されるため、発行メッセージに含まれるトークン・マトリクスよりも多くの行数のトークン・マトリクスが履歴データベース42に記憶されることは理解される。
メッセージバス41は、当該照合結果が所定条件を満たす場合、送信側アプリ32の発行部35から受信した発行メッセージを受信側アプリ32へ送信する。好適な1つの例では、所定条件は、照合したトークン・マトリクスの一致する比率が閾値以上であることである。所定条件をトークン・マトリクスが完全に一致した場合としないのは、UDP等の伝送制御を行わないプロトコルを用いたときに発生するパケットロスを考慮したためである。具体的には、一致率の計算は、以下の式4のように定義される。
Figure 2019125334
(式4)
式4において、Qは、発行部35から送信されたトークン・マトリクスであり、Qiは、トークン・マトリクスのi(i=0〜n−1)行目のデータである。Mは、履歴データベース42に記憶された、Qと同一のIPアドレスから送信されたトークン・マトリクスから、Qと同一の開始時刻(timestamp)の行列を抽出したものである。nは、トークン・マトリクスQの行数である。式4では、各マトリクスの行が一致する割合を算出している。Qiがundefinedの場合とは、Qiが暗号化のためにマスクされた場合などである。メッセージバス41は、match(M,Q)が、予め設定された閾値以上であるときにMとQが一致したと判断し、購読メッセージを送信する購読部36を含む受信側アプリ32へメッセージを配送する。
なお、メッセージバス41は、当該照合結果が所定条件を満たす場合、送信側アプリ32の発行部35から受信した発行メッセージのうち少なくともペイロードを含むデータを受信側アプリ32へ送信してもよい。
更なる1つの例では、サーバ4は、負荷分散装置及び複数のサーバ装置から構成される。この場合、トークン・マトリクスはIPアドレスを含み、負荷分散装置は、同一のIPアドレスから送信される発行メッセージ及び購読メッセージを、同一のサーバ装置に処理させる。このように、同一のIPアドレスから送信されたメッセージを同一のサーバ装置が処理するように負荷分散を行う構成とすることにより、サーバ4が高速にルーティングを行うことが可能となる。
例えば、負荷分散装置は、受信した発行メッセージや購読メッセージに含まれるIPアドレスからコンシステントハッシュを生成し、そのハッシュ値に応じて、ルーティングを担当するサーバ装置を決定する。これにより、同一のIPアドレスは同一のハッシュ値となることから必ず同一のサーバ装置に配送されるため、システム1は高速に処理を行うことが可能となる。
次に、本発明の一実施形態によるシステム1の情報処理について図6〜8に示したフローチャートを用いて説明する。図6〜8に示す情報処理は、プログラムを携帯端末装置3に実行させ、かつプログラムをサーバ4に実行させることで実現される。
図6は、本発明の一実施形態による携帯端末装置3において動作する送信側アプリ32の情報処理のフローチャートを示す図である。
ステップ601で、送信側アプリ32は、時刻情報及び携帯端末装置3が備えるセンサデバイスから取得されたセンサ値情報を含むトークン(トークン・マトリクス)を生成する。ステップ602で、送信側アプリ32は、受信側アプリ32へ送信するデータが有るか否かについて判断する。データが有る場合、本処理はステップ602へ進み、データが無い場合、本処理は終了する。ステップ603で、送信側アプリ32は、ステップ601で生成されたトークン及び送信したいデータ本体のペイロードを含む発行メッセージをサーバ4へ送信する。
好ましくは、送信側アプリ32は、該アプリが起動している限り、本処理が終了した後、定期的にステップ601が実行されるように、本処理を開始する。1つの例では、本処理は、ステップ601を含まず、その代わりとして本処理とは別の処理において、送信側アプリ32は、該アプリが起動している限り、所定の単位時間ごとにトークンを生成し続けるように構成される。1つの例では、送信側アプリ32は、送信側アプリ32が起動している限り、常にステップ601においてデータが有ると判断するように構成される。
図7は、本発明の一実施形態による携帯端末装置3において動作する受信側アプリ32の情報処理のフローチャートを示す図である。
ステップ701で、受信側アプリ32は、時刻情報及び携帯端末装置3が備えるセンサデバイスから取得されたセンサ値情報を含むトークン(トークン・マトリクス)を生成する。ステップ702で、受信側アプリ32は、送信側アプリ32から送信されるメッセージを購読するか否かについて判断する。購読する場合、本処理はステップ702へ進み、購読しない場合、本処理は終了する。ステップ703で、受信側アプリ32は、ステップ701で生成されたトークンを含む購読メッセージをサーバ4へ送信する。購読メッセージは、受信側アプリ32が発行部35により送られるデータを受信可能であることを示すものである。
好ましくは、受信側アプリ32は、該アプリが起動している限り、本処理が終了した後、定期的にステップ701が実行されるように、本処理を開始する。1つの例では、本処理は、ステップ701を含まず、その代わりとして本処理とは別の処理において、受信側アプリ32は、該アプリが起動している限り、所定の単位時間ごとにトークンを生成し続けるように構成される。1つの例では、受信側アプリ32は、受信側アプリ32が起動している限り、常にステップ701において購読すると判断するように構成してもよい。
図8は、本発明の一実施形態によるサーバ4の情報処理のフローチャートを示す図である。
ステップ801で、サーバ4は、購読メッセージを受信したか否かを判断し、受信した場合、本処理は802へ進み、受信しなかった場合、本処理はステップ803へ進む。ステップ802で、サーバ4は、受信した購読メッセージに含まれるトークンを履歴データベース42に記憶し、本処理はステップ803へ進む。
ステップ803で、サーバ4は、発行メッセージを受信したか否かを判断し、受信した場合、本処理はステップ804へ進み、受信しなかった場合、本処理は終了する。ステップ804で、サーバ4は、受信した発行メッセージに含まれるトークンと、履歴データベース42に記憶された購読メッセージに含まれるトークンとを照合し、該照合結果が所定条件を満たすか否かを判定する。照合結果が所定条件を満たす場合、本処理はステップ805へ進み、照合結果が所定条件を満たさなかった場合、本処理は終了する。本例示においては、所定条件は、照合したトークンの一致する比率が閾値以上であることである。
ステップ805で、サーバ4は、送信側アプリ32の発行部35から受信した発行メッセージを受信側アプリ32へ送信する。
好ましくは、サーバ4は、起動している限り、本処理が終了した後、定期的にステップ801が実行されるように、本処理を開始する。ステップ801〜802の処理は、ステップ803〜805の処理の後に行うように構成することもできるが、好ましくは、サーバ4は、図8に示すとおりに情報処理を実行する。
次に、本発明の実施形態によるシステム1の主な作用効果について説明する。本実施形態では、携帯端末装置4にインストールされた、アプリ間通信を行う送信側アプリ32及び受信側アプリ32は、いずれもトークン生成部34、発行部35、及び購読部36を備える。トークン生成部34は、時刻情報及び携帯端末装置3が備えるセンサデバイスから取得されたセンサ値情報を含むトークンを生成する。ここで、携帯端末装置3が備えるセンサデバイスに同一時刻にアクセスすると、同一のセンサ値情報を取得することができるため、同一の携帯端末装置3上で起動するアプリであれば、同一時刻に取得するセンサ値は同一である。したがって本実施形態では、アプリ32がある特定の時間に特定の携帯端末装置3上で起動していることを識別するために、センサデバイスから取得されたセンサ値情報を含むトークンを用いている。
発行部35は、トークン及びペイロードを含む発行メッセージをサーバ4へ送信し、購読部36は、トークンを含む購読メッセージをサーバ4へ送信する。一方、サーバ4は、購読メッセージに含まれるトークンを履歴データベース42に記憶し、発行メッセージを受信したときに、発行メッセージに含まれるトークンと、該記憶された購読メッセージに含まれるトークンとを照合する。サーバ4は、照合結果が所定条件を満たす場合、発行メッセージ(又はペイロードを含むデータ)を受信側アプリ32へ送信する。
このように、本実施形態のシステム1は、アプリ32がある特定の時間に特定の携帯端末装置3上で起動していることを識別可能なトークンと、出版−購読型モデルとを組み合わせて通信を行う。これにより、明示的なユーザ登録やアプリケーション連携のための認証操作を必要とすることなく、自動的に異種アプリ間を連携させ、例えばリアルタイムのメッセージ通信を実現することが可能となる。既存の汎用的なクラウドアプリでは、事前にクラウドシステムへのログインやアカウントの連携が必要となるため、初期状態のアプリ間をすぐに通信させることができないが、本実施形態のシステム1はこれを解決するものである。例えば、ある特定のWebサイト閲覧中にそのサイトに固有の特別なUIを表示するカスタムキーボードアプリを表示することや、同時に2つのゲームアプリを起動したときに、各ゲームのキャラクタがお互いに挨拶をするような連携演出を実現することが可能になる。
また本実施形態では、アプリが標準的に有することが可能なセンサデータ取得機能やネットワーク通信機能のみを用いて実装することができるため、既存のほぼすべてのスマートフォン上で実装することが可能である。
また本実施形態では、トークンはIPアドレスを含むものであり、サーバ4は、負荷分散装置及び複数のサーバ装置から構成され、負荷分散装置は、同一のIPアドレスから送信される発行メッセージ及び購読メッセージを、同一のサーバ装置に処理させる。このような構成とすることにより、サーバ4は、メッセージの配送先を探索する必要がなくなるため、実質的にO(1)の計算量でルーティングを行うことが可能となり、高速に処理することが可能となる。
上記の作用効果は、特に言及が無い限り、他の実施形態や他の実施例においても同様である。
本発明の他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現するプログラムや該プログラムを格納したコンピュータ読み取り可能な記憶媒体とすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を単独で実現する電子装置とすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現する方法とすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現するプログラムをコンピュータに供給することができるサーバとすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現する仮想マシンとすることもできる。
以下に本発明の実施形態の変形例について説明する。以下で述べる変形例は、矛盾が生じない限りにおいて、適宜組み合わせて本発明の任意の実施形態に適用することができる。
1つの変形例では、システム1は、ペイロード内容を完全に秘匿して、アプリ32間通信を行う。発行部35は、トークン・マトリクスのうちの一部を発行メッセージから抽出してペイロードを暗号化する。このとき、発行部35は、発行メッセージのうちの当該抽出したトークン・マトリクスの一部をマスキング又は削除する。購読部36は、発行メッセージに含まれるトークン・マトリクスと、トークン生成部34が生成するトークン・マトリクスとを比較することにより、発行部35が暗号化に用いた一部を特定し、該特定された一部を用いてペイロードを復号する。
図9は、発行部35によるペイロード暗号化の一例を示す図である。発行メッセージは、ヘッダとしてのトークン・マトリクス51と、ペイロード52とを含む。発行部35は、図9に示すように、トークン・マトリクス51の一部を暗号化キー53として抽出し、暗号化キー53を用いてペイロート52を暗号化する。暗号化キー53は、トークン・マトリクス51から抽出された1又は複数の行である。例えば発行部35は、暗号化キー53として、トークン・マトリクス51の行のうち、3の倍数に該当する行を抽出する。
図10は、図9のように暗号化されたペイロードの購読部36による復号化の一例を示す図である。購読部36は、図10に示すように、メッセージバス41から受信したメッセージのヘッダであるトークン・マトリクス51と、受信側アプリ32のトークン生成部34により生成されたトークン・マトリクスとを対象として、XOR比較を行う。ここで、送信側アプリ32と受信側アプリ32は、同一の携帯端末装置3上で動作しているため、各アプリ32のトークン生成部34が生成するトークン・マトリクスは、同一時間においては同一となる。したがって、購読部36は、当該XOR比較を行うことで、暗号化キー53として使用されている部分を検出することが可能となる。購読部36は、検出された暗号化キー53を用いてペイロード52を復号する。
前述のとおり、好適な1つの例では、メッセージバス41は、照合したトークン・マトリクスの一致する比率が閾値以上である場合、送信側アプリ32から受信した発行メッセージを受信側アプリ32へ送信する。メッセージバス41は、例えば式4を用いて照合する場合、トークン・マトリクス51のうちマスクされた行についてはundefinedとして扱うことにより、閾値判断に影響を与えないように処理を行う。
このように本実施形態では、受信側アプリ32と送信側アプリ32は同一の携帯端末装置3上で動作するため、必ず同じセンサ値を取得して同じトークンを生成する点を利用し、暗号化における問題点の一つである、鍵交換を極めてセキュアに実現している。これにより、ペイロード内容を完全に秘匿し、特にサーバサイドモジュールに一切の情報を開示することなく、メッセージ通信を行うことが可能となる。
1つの変形例では、トークン生成部34は、時刻情報、及び携帯端末装置3にインストールされたワンタイムパスワード等のソフトウェアから取得された値又は携帯端末装置3に搭載されたハードウェア乱数発生器から取得された値、を含むトークンを生成する。この場合、トークンは、センサ値の代わりに、ワンタイムパスワード等のソフトウェアから取得された値及びハードウェア乱数発生器から取得された値の少なくとも一方を含む。このように、トークンは、ある特定の時間に特定の携帯端末装置3上で動作していることを識別可能なものであればよい。
以下に本発明の実施形態の応用例について説明する。本実施形態のシステム1は、同時に起動する複数のアプリ32間の連携を行うものであるため、マルチタスク機能を活用したアプリ32間連携に適用することができる。既存のほぼすべてのスマートフォンは、サードパーティーのIME(カスタムキーボード)をインストールすることができ、IMEはネットワークと通信することができる。そのため、アプリ間通信を行うアプリ32がIMEアプリとゲームアプリの場合、IMEアプリとゲームアプリの連携を行えば、「ゲームアカウントと連動したテキスト入力」や、「ゲームのキャンペーンと連動した専用の長いURLの入力」を、ほぼワンタップで行うことが可能となる。
図11は、本実施形態の応用例について説明するための図であり、典型的なマルチタスク処理である、ゲームアプリ32aとキーボードアプリ32bの連携例を示す。図11上部に示すゲームアプリ32a及び図11下部に示すキーボードアプリ32bは、いずれも本実施形態のアプリ32に対応するものであり、図11は、2つのアプリ32a、32bが同時に実行された状態を示している。ゲームアプリ32aは、キーボードアプリ32bとは独立したプロセスとして動作し、キーボードアプリ32bは、ゲームアプリ32a等の他のアプリとは独立したプロセスとして動作する。ここで本実施形態のシステム1は、上述のとおり、事前の連携処理や認証処理を行うことなく、サーバ4を介してゲームアプリ32aとキーボードアプリ32bの情報の送信経路を確立し、アプリ32間の双方向通信を行うことが可能となる。この場合、例えば、送信側アプリ32としてのキーボードアプリ32bは、受信側アプリ32としてのゲームアプリ32aに対して、キーボードアプリ32bにおいて入力された内容「リアルタイムにキーボードとアプリは通信できる」を送信することができ、ゲームアプリ32aは、キーボードアプリ32bにおける入力内容をリアルタイムに受け取ることができるように構成される。このようにして、安全にプロセス間通信を行うことが可能となる。なお、キーボードアプリ32bは、インターネット上のサーバに独自にアクセスすることができ、またテキスト入力を行うために任意のアプリから呼び出すことができるアプリであるものとする。
以上に説明した処理又は動作において、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの処理又は動作上の矛盾が生じない限りにおいて、処理又は動作を自由に変更することができる。また以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
1 システム
2 ネットワーク
3 携帯端末装置
4 サーバ
11 プロセッサ
12 表示装置
13 入力装置
14 記憶装置
15 通信装置
16 バス
21 プロセッサ
22 表示装置
23 入力装置
24 記憶装置
25 通信装置
26 バス
31 サンドボックス
32 アプリ(アプリケーション)
33 アプリ機能部
34 トークン生成部
35 発行部
36 購読部
41 メッセージバス
42 履歴データベース
50 発行メッセージ
51 ヘッダ(トークン・マトリクス)
52 ペイロード
53 暗号化キー
60 トークン・マトリクス

Claims (11)

  1. ネットワークを介してサーバに接続された携帯端末装置において動作している複数のアプリケーション間における通信を行うためのシステムであって、
    前記携帯端末装置は、
    時刻情報及び前記携帯端末装置が備えるセンサデバイスから取得されたセンサ値情報を含むトークンを生成する、トークン生成部と、
    前記携帯端末装置において動作する一のアプリが前記携帯端末装置において動作する他のアプリへ送るための、前記トークン及びペイロードを含む発行メッセージを前記サーバへ送信する発行部と、
    前記他のアプリが前記発行部により送られるデータを受信可能であることを示す、前記トークンを含む購読メッセージを前記サーバへ送信する購読部と、を備え、
    前記サーバは、
    前記購読メッセージに含まれる前記トークンを記憶し、
    前記発行メッセージを受信したときに、前記発行メッセージに含まれる前記トークンと、前記記憶された前記購読メッセージに含まれる前記トークンとを照合し、該照合結果が所定条件を満たす場合、前記ペイロードを前記他のアプリへ送信する、システム。
  2. 前記トークンは、1つの行が前記時刻情報のうちの1つの時刻を示す情報及び前記センサ値情報のうちの該時刻に対応付けられた1又は複数のセンサ値を示す情報を含むトークン・マトリクスである、請求項1に記載のシステム。
  3. 前記センサデバイスは、GPSセンサ、ジャイロセンサ、及び加速度センサの少なくとも1つを含む、請求項1又は2に記載のシステム。
  4. 前記発行部は、前記発行メッセージから前記トークンの一部を抽出して前記ペイロードを暗号化し、前記発行メッセージのうちの抽出した該一部をマスキング又は削除し、
    前記購読部は、前記発行メッセージに含まれる前記トークンと、前記トークン生成部が生成する前記トークンとを比較することにより、前記発行部が暗号化に用いた前記一部を特定し、該特定された前記一部を用いて前記ペイロードを復号する、請求項1から3のいずれか1項にシステム。
  5. 前記所定条件は、照合した前記トークンの一致する比率が閾値以上であることである、請求項1から4のいずれか1項に記載のシステム。
  6. 前記購読メッセージは、前記他のアプリが前記ペイロードを受信するポート番号を含み、
    前記サーバは、前記発行メッセージを受信したときに、前記発行メッセージに含まれる前記トークンと、前記記憶された前記購読メッセージに含まれる前記トークンとを照合し、該照合結果が所定条件を満たす場合、前記ペイロードを前記携帯端末装置の前記ポート番号に対して送信する、請求項1から5のいずれか1項に記載のシステム。
  7. 前記購読部は、前記購読メッセージを定期的に前記サーバへ送信する、請求項1から6のいずれか1項に記載のシステム。
  8. 前記トークンは、前記携帯端末装置のIPアドレスを含み、
    前記サーバは、負荷分散装置及び複数のサーバ装置から構成され、
    前記負荷分散装置は、同一のIPアドレスから送信される前記発行メッセージ及び前記購読メッセージを、同一の前記サーバ装置に処理させる、請求項1から7のいずれか1項に記載のシステム。
  9. ネットワークを介してサーバに接続された携帯端末装置において動作している複数のアプリケーション間における通信を行うための一組のプログラムであって、前記携帯端末装置に
    時刻情報及び前記携帯端末装置が備えるセンサデバイスから取得されたセンサ値情報を含むトークンを生成するステップと、
    前記携帯端末装置において動作する一のアプリが前記携帯端末装置において動作する他のアプリへ送るための、前記トークン及びペイロードを含む発行メッセージを前記サーバへ送信するステップと、
    前記他のアプリが前記発行メッセージに含まれるデータを受信可能であることを示す、前記トークンを含む購読メッセージを前記サーバへ送信するステップと、を実行させ、
    前記サーバに、
    前記購読メッセージに含まれる前記トークンを記憶するステップと、
    前記発行メッセージを受信したときに、前記発行メッセージに含まれる前記トークンと、前記記憶された前記購読メッセージに含まれる前記トークンとを照合し、該照合結果が所定条件を満たす場合、前記ペイロードを前記他のアプリへ送信するステップと、
    を実行させる一組のプログラム。
  10. ネットワークを介してサーバに接続された携帯端末装置において動作している複数のアプリケーション間における通信を行うための方法であって、
    前記携帯端末装置において、時刻情報及び前記携帯端末装置が備えるセンサデバイスから取得されたセンサ値情報を含むトークンを生成するステップと、
    前記携帯端末装置において動作する一のアプリが前記携帯端末装置において動作する他のアプリへ送るための、前記トークン及びペイロードを含む発行メッセージを前記携帯端末装置から前記サーバへ送信するステップと、
    前記他のアプリが前記発行メッセージに含まれるデータを受信可能であることを示す、前記トークンを含む購読メッセージを前記携帯端末装置から前記サーバへ送信するステップと、
    前記サーバにおいて、前記購読メッセージに含まれる前記トークンを記憶するステップと、
    前記サーバにおいて、前記発行メッセージを受信したときに、前記発行メッセージに含まれる前記トークンと、前記記憶された前記購読メッセージに含まれる前記トークンとを照合し、該照合結果が所定条件を満たす場合、前記ペイロードを前記サーバから前記他のアプリへ送信するステップと、
    を有する方法。
  11. ネットワークを介してサーバに接続された携帯端末装置において動作している複数のアプリケーション間における通信を行うためのシステムにおけるサーバであって、
    前記携帯端末装置は、
    時刻情報及び前記携帯端末装置が備えるセンサデバイスから取得されたセンサ値情報を含むトークンを生成する、トークン生成部と、
    前記携帯端末装置において動作する一のアプリが前記携帯端末装置において動作する他のアプリへ送るための、前記トークン及びペイロードを含む発行メッセージを前記サーバへ送信する発行部と、
    前記他のアプリが前記発行部により送られるデータを受信可能であることを示す、前記トークンを含む購読メッセージを前記サーバへ送信する購読部と、を備え、
    前記サーバは、
    前記購読メッセージに含まれる前記トークンを記憶し、
    前記発行メッセージを受信したときに、前記発行メッセージに含まれる前記トークンと、前記記憶された前記購読メッセージに含まれる前記トークンとを照合し、該照合結果が所定条件を満たす場合、前記ペイロードを前記他のアプリへ送信する、サーバ。
JP2018143556A 2018-07-31 2018-07-31 通信を行うためのシステム、プログラム、方法及びサーバ Pending JP2019125334A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018143556A JP2019125334A (ja) 2018-07-31 2018-07-31 通信を行うためのシステム、プログラム、方法及びサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018143556A JP2019125334A (ja) 2018-07-31 2018-07-31 通信を行うためのシステム、プログラム、方法及びサーバ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018005616A Division JP6381837B1 (ja) 2018-01-17 2018-01-17 通信を行うためのシステム、プログラム、方法及びサーバ

Publications (1)

Publication Number Publication Date
JP2019125334A true JP2019125334A (ja) 2019-07-25

Family

ID=67398872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018143556A Pending JP2019125334A (ja) 2018-07-31 2018-07-31 通信を行うためのシステム、プログラム、方法及びサーバ

Country Status (1)

Country Link
JP (1) JP2019125334A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015026391A (ja) * 2009-05-14 2015-02-05 マイクロソフト コーポレーション Httpベースの認証
WO2017094774A1 (ja) * 2015-12-04 2017-06-08 株式会社リコー 制御システム、通信制御方法、及びプログラム
JP2018005616A (ja) * 2016-07-04 2018-01-11 日立オムロンターミナルソリューションズ株式会社 包装硬貨処理機、包装硬貨処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015026391A (ja) * 2009-05-14 2015-02-05 マイクロソフト コーポレーション Httpベースの認証
WO2017094774A1 (ja) * 2015-12-04 2017-06-08 株式会社リコー 制御システム、通信制御方法、及びプログラム
JP2018005616A (ja) * 2016-07-04 2018-01-11 日立オムロンターミナルソリューションズ株式会社 包装硬貨処理機、包装硬貨処理方法

Similar Documents

Publication Publication Date Title
WO2019142801A1 (ja) 通信を行うためのシステム、プログラム、方法及びサーバ
US10922244B1 (en) Secure storage of data through a multifaceted security scheme
CN108595970B (zh) 处理组件的配置方法、装置、终端及存储介质
CN110176987B (zh) 一种设备认证的方法、装置、设备和计算机存储介质
CN107222485B (zh) 一种授权方法以及相关设备
ES2680660T3 (es) Sistemas y métodos para asegurar y restaurar máquinas virtuales
KR102263913B1 (ko) 컨테이너화된 작업공간 환경에서 그것의 실행을 제어하기 위하여 안드로이드 애플리케이션 라이프 사이클을 수정하기 위한 방법
US20150319173A1 (en) Co-verification method, two dimensional code generation method, and device and system therefor
JP6516342B2 (ja) アクセスデータ改ざん防止方法及び携帯端末
EP3007061B1 (en) Application execution program, application execution method, and information processing terminal device in which application is executed
US11880450B2 (en) Method and apparatus for updating password of electronic device, device and storage medium
US20160301530A1 (en) Sensitive operation verification method, apparatus, and system
US9659189B2 (en) Systems and methods of safeguarding user information while interacting with online service providers
US20190068585A1 (en) Local claim-based security service with cross-browser compatibility
US10831754B2 (en) Using metadata to take action on an SMS message on a proprietary system
US9411966B1 (en) Confidential data access and storage
KR102362108B1 (ko) 인증 시스템 및 방법
CN114363088A (zh) 用于请求数据的方法和装置
JP2016126670A (ja) 携帯端末を用いたリスクベース認証方法及びシステム
JP2019125334A (ja) 通信を行うためのシステム、プログラム、方法及びサーバ
CN109413119B (zh) 一种网页分享的方法以及相关设备
CN111625288A (zh) 应用程序的启动控制方法、装置、计算机设备和存储介质
US10911404B1 (en) Attribute based authorization
JP2015228098A (ja) Otp生成システム、及び携帯通信端末
KR101570317B1 (ko) Otp 애플리케이션 구동 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211025

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211223

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220425