JP2017182665A - 情報処理装置、データ提供システム、データ提供方法、及びデータ提供プログラム - Google Patents
情報処理装置、データ提供システム、データ提供方法、及びデータ提供プログラム Download PDFInfo
- Publication number
- JP2017182665A JP2017182665A JP2016072477A JP2016072477A JP2017182665A JP 2017182665 A JP2017182665 A JP 2017182665A JP 2016072477 A JP2016072477 A JP 2016072477A JP 2016072477 A JP2016072477 A JP 2016072477A JP 2017182665 A JP2017182665 A JP 2017182665A
- Authority
- JP
- Japan
- Prior art keywords
- data
- request
- unit
- specific data
- time
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 リアルタイム性が高いデータを効果的にクライアント装置に提供することができる情報処理装置、データ提供システム、データ提供方法、及びデータ提供プログラムを提供する。【解決手段】 情報処理装置は、データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部と、データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信する受信部と、前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを前記記憶部から検索する検索部と、検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する取得部と、前記取得部が取得した前記特定のデータを前記要求元装置に送信する送信部とを有する。【選択図】図4
Description
本件は、情報処理装置、データ提供システム、データ提供方法、及びデータ提供プログラムに関する。
IoT(Internet of Things)を実現するため、企業間で、例えば交通渋滞情報のようなリアルタイム性の高いデータを交換する企業間連携システムが検討されている。例えば、垂直統合型の企業間連携システムでは、複数の企業のアプリケーションが、個別のプラットフォームによりデバイスからデータを収集して各々のデータベースに蓄積し、API(Application Programming Interface)を介して互いにデータベースを参照する。また、水平統合側の企業間連携システムでは、複数の企業のアプリケーションがプラットフォームを共有することにより、デバイスから収集されたデータが、メッシュ状のコネクションを介して様々なサーバに柔軟にルーティングされる。
このような企業間連携システムでは、情報を必要とするユーザが、個別にデータベースにアクセスして所望のデータを取得するため、キャッシュサーバを利用することができず、ユーザ間において情報を共有することができない。このため、企業間連携システムにおいて、ネットワークのトラフィック量を低減することは難しい。
また、インターネットにアクセスするユーザの端末に、所望のデータをキャッシュしておき、アクセス時にキャッシュを利用することが知られているが(例えば特許文献1)、ユーザ間でデータを共有することができないため、ネットワークのトラフィック量を効果的に低減することは難しい。
これに対し、IP(Internet Protocol)アドレスなどに基づく通信とは異なり、データの名称に基づき通信を行う技術であるICN(Information Centric Networking)(例えば非特許文献1,2参照)を企業間連携システムなどのIoTシステムに適用することが検討されている。ICNにおいて、クライアント装置から送信されたデータの要求メッセージは、ネットワーク内の各ノードの中継装置を経由して、そのデータを保有する最短距離のサーバまで転送される。
サーバは、要求対象データを含む応答メッセージを生成し、各ノードの中継装置を経由して、クライアント装置に送信する。このとき、各ノードの中継装置は、データをキャッシュしておき、その後、他のクライアント装置から要求メッセージが送信された場合、そのクライアント装置にキャッシュデータを送信する。
このため、ICNでは、クライアント装置間においてデータが共有され、最短距離のノードの中継装置からクライアント装置にデータを提供することが可能となるため、ネットワークのトラフィック量が効果的に低減される。なお、ICNの研究プロジェクトとしては、CCN(Content Centric Networking)やNDN(Named Data Networking)などが知られている。
L.Zhang et al., Named data networking (NDN) project, PARC Technical Report 2010-003, 2010
V.Jscobson et al., Networking named content, ACM CoNext, pp.1-12, 2009
しかし、ICNにおいて、中継装置からクライアント装置にキャッシュデータを送信した場合、そのキャッシュデータがキャッシュされたタイミングによっては、古いデータをクライアント装置に提供することになる。このため、ICNを例えば上記の企業間連携システムなどに適用しても、リアルタイム性が高いデータを交換する場合には、有効にシステムが機能しないおそれがある。
そこで本件は上記の課題に鑑みてなされたものであり、リアルタイム性が高いデータを効果的にクライアント装置に提供することができる情報処理装置、データ提供システム、データ提供方法、及びデータ提供プログラムを提供することを目的とする。
本明細書に記載の情報処理装置は、データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部と、データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信する受信部と、前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを前記記憶部から検索する検索部と、検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する取得部と、前記取得部が取得した前記特定のデータを前記要求元装置に送信する送信部とを有する。
本明細書に記載のデータ提供システムは、情報処理装置と、データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを前記情報処理装置に送信する要求元装置とを有し、前記情報処理装置は、データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部と、前記要求メッセージを前記要求元装置から受信する受信部と、前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを前記記憶部から検索する検索部と、検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する取得部と、前記取得部が取得した前記特定のデータを前記要求元装置に送信する送信部とを有する。
本明細書に記載のデータ提供方法は、データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信する工程と、データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部から、前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを検索する工程と、検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する工程と、取得した前記特定のデータを前記要求元装置に送信する工程とを、コンピュータが実行する方法である。
本明細書に記載のデータ提供プログラムは、データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信し、データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部から、前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを検索し、検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得し、取得した前記特定のデータを前記要求元装置に送信する、処理を、コンピュータに実行させるプログラムである。
リアルタイム性が高いデータを効果的にクライアント装置に提供することができる。
図1は、データ提供システムの一例を示す構成図である。データ提供システムは、アプリケーションによりデータを要求する要求元装置RQ#1〜#5と、データを提供するデータ提供装置PV#1〜#5と、要求元装置RQ#1〜#5とデータ提供装置PV#1〜#5の間の通信を中継する中継装置TR#1〜#4とを有する。
要求元装置RQ#1〜#5、データ提供装置PV#1〜#5、及び中継装置TR#1〜#4は、一例としてICNの技術に基づいて通信する。このため、要求元装置RQ#1〜#5、データ提供装置PV#1〜#5、及び中継装置TR#1〜#4は、IPアドレスではなく、データの名称に基づき通信を行う。
要求元装置RQ#1〜#5としては、例えばスマートフォンやパーソナルコンピュータなどの端末またはサーバなどのクライアント装置が挙げられる。要求元装置RQ#1〜#5は、例えば無線LAN(Local Area Network)などネットワークNW#3,NW#4を介して中継装置TR#1,TR#2と接続されている。
データ提供装置PV#1〜#5としては、例えばサーバやセンサ装置などが挙げられる。データ提供装置PV#1〜#5は、LANなどのネットワークNW#1,NW#2を介して中継装置TR#3,TR#4と接続されている。
中継装置TR#1〜#4は、ネットワークNW#5に設けられており、一例としてメッシュ状に接続されている。中継装置TR#1〜#4は、要求元装置RQ#1〜#5から送信された要求メッセージ(要求MSG)をデータ提供装置PV#1〜#5に中継し、データ提供装置PV#1〜#5から送信された応答メッセージ(応答MSG)を要求元装置RQ#1〜#5に中継する。
中継装置TR#1〜#4は、情報処理装置の一例であり、中継した応答メッセージに含まれる要求対象データをデータベースにキャッシュし、再度、要求メッセージを受信したとき、データベースを検索する。中継装置TR#1〜#4は、要求対象データがデータベースに存在する場合、該当するキャッシュデータを含む応答メッセージを要求元装置RQ#1〜#5に送信する。
中継装置TR#1〜#4には、データ提供装置PV#1〜#5の応答メッセージを中継するたびにキャッシュデータが蓄積されるため、データ提供装置PV#1〜#5に代わって要求元装置RQ#1〜#5にデータを提供することができる。このため、要求元装置RQ#1〜#5は、要求メッセージの送信により最短距離の中継装置TR#1〜#4からデータを取得することができ、ネットワークNW#1,NW#2のトラフィック量を低減することが可能となる。
符号G0は要求メッセージの一例を示す。要求メッセージは、名前空間内にスラッシュ(「/」)を介して複数の項目を挿入することにより構成されている。要求メッセージには、「機能ID」、「利用条件」、「処理情報」、及び「名称」が含まれている。「機能ID」は、後述する本実施例の機能の適用を示す識別子である。
「利用条件」は、要求元装置RQ#1〜#5の要求対象データに対応付けられた時刻に関する条件の一例である。利用条件としては、例えば、要求対象データの生成後の経過時刻が挙げられるが、これに限定されない。
中継装置TR#1〜#4は、要求対象データをキャッシュするとき、要求対象データとともに現在時刻、つまりキャッシュした時刻(以下、「キャッシュ時刻」)をデータベースに登録する。中継装置TR#1〜#4は、要求メッセージを受信したとき、キャッシュ時刻が利用条件を満たすキャッシュデータを検索し、該当するキャッシュデータを応答メッセージに含めて要求元装置RQ#1〜#5に送信する。このため、要求元装置RQ#1〜#5は、利用条件を指定することにより、リアルタイム性の高いデータを有効に取得することができる。なお、利用条件は、一例として、変数「freshness」により指定される。
「処理情報」は、応答メッセージを要求元装置RQ#1〜#5に出力する処理を指定する情報である。処理情報としては、例えば、要求元装置RQ#1〜#5に送信するキャッシュデータを制限する制限条件(変数「value」で指定)や、データ提供装置PV#1〜#5からデータが取得されない場合のキャッシュデータの送信可否を示す制御情報(変数「use」で指定)が挙げられる。なお、処理情報に限定はなく、例えばデータの統計処理などが処理情報で指定されてもよい。
「名称」は、要求対象データを指定する情報であり、要求対象データに対応する識別子の一例である。中継装置TR#1〜#4は、名称に基づきキャッシュデータを検索する。
このように、要求メッセージには、要求対象データが名称により指定されるとともに、要求対象データが生成された時刻に関する利用条件が指定されている。また、要求メッセージには、要求元装置RQ#1〜#5に送信するデータを制限する制限条件や、データ提供装置PV#1〜#5から要求対象データが取得されない場合のキャッシュデータの送信の可否を示す制御情報が、処理情報として指定されている。以下に、要求メッセージを送信する要求元装置RQ#1〜#5と、要求メッセージを受信する中継装置TR#1〜#4について述べる。
図2は、要求元装置RQ#1〜#5の一例を示す構成図である。要求元装置RQ#1〜#5は、CPU(Central Processing Unit)20、ROM(Read Only Memory)21、RAM(Random Access Memory)22、記憶デバイス23、通信ポート24、入力装置25、及び出力装置26を有する。CPU20は、互いに信号の入出力ができるように、ROM21、RAM22、記憶デバイス23、通信ポート24、入力装置25、及び出力装置26と、バス29を介して接続されている。
ROM21は、CPU20を駆動するプログラムが格納されている。RAM22は、CPU20のワーキングメモリとして機能する。通信ポート24は、例えば無線LAN(Local Area Network)カードやNIC(Network Interface Card)であり、他装置との通信を処理する。
入力装置25は、要求元装置RQ#1〜#5に情報を入力する装置である。入力装置25としては、例えばキーボード、マウス、及びタッチパネルなどが挙げられる。入力装置25は、入力された情報を、バス29を介しCPU20に出力する。
出力装置26は、要求元装置RQ#1〜#5の情報を出力する装置である。出力装置26としては、例えばディスプレイ、タッチパネル、及びプリンタなどが挙げられる。出力装置26は、CPU20からバス29を介して情報を取得して出力する。
記憶デバイス23は、例えば、HDD(Hard Disk Drive)や、EPROM(Erasable Programmable ROM)などの不揮発性メモリなどである。記憶デバイス23には、データ提供装置PV#1〜#5または中継装置TR#1〜#4から取得したデータなどが記憶される。
CPU20は、ROM21からプログラムを読み込むと、機能として、アプリケーション(APL)200、要求処理部201、及び応答処理部202が形成される。アプリケーション200は、データ提供装置PV#1〜#5またはデータ提供装置PV#1〜#5から取得したデータを利用することにより所定のサービスをユーザに提供するソフトウェアである。アプリケーション200としては、後述するように会議室の使用状況を通知するものや、最短時間で到着するバスの情報を通知するものが挙げられるが、限定はない。
アプリケーション200は、データ提供装置PV#1〜#5のデータの取得を要求処理部201に依頼する。要求処理部201は、アプリケーション200から依頼を受けると、要求メッセージを生成し、通信ポート24を介して送信する。応答処理部202は、データ提供装置PV#1〜#5または中継装置TR#1〜#4から応答メッセージを受信し、応答メッセージから要求対象データを取得する。応答処理部202は、要求対象データを記憶デバイス23に格納し、その旨をアプリケーション200に通知する。
このような構成により、要求元装置RQ#1〜#5は、データ提供装置PV#1〜#5または中継装置TR#1〜#4からデータを取得して、ユーザに所定のサービスを提供する。
図3は、中継装置TR#1〜#4の一例を示す構成図である。中継装置TR#1〜#4は、CPU10、ROM11、RAM12、HDDや不揮発性メモリなどの記憶デバイス13、及び複数の通信ポート14を有する。CPU10は、互いに信号の入出力ができるように、ROM11、RAM12、記憶デバイス13、及び複数の通信ポート14と、バス19を介して接続されている。
ROM11は、CPU10を駆動するプログラムが格納されている。ROM11内のプログラムには、実施例のデータ提供方法を実行するデータ提供プログラムが含まれる。
RAM12は、CPU10のワーキングメモリとして機能する。記憶部の一例である記憶デバイス13には、キャッシュデータが登録されたデータベースなどが記憶されている。通信ポート14は、例えばPHY(Physical Layer)/MAC(Media Access Control)の通信処理機能を備えたデバイスである。通信ポート14は、他の中継装置TR#1〜#4、要求元装置RQ#1〜#5、及びデータ提供装置PV#1〜#5との通信を処理する。
CPU10は、プログラムを実行するコンピュータの一例であり、ROM11からプログラムを読み込むと、以下に述べるように、データ提供プログラムを実行するための各種の機能が形成される。
図4は、中継装置TR#1〜#4の機能構成の一例を示す構成図である。CPU10は、データ提供プログラムの機能として、要求受付部100、検索部101、データ取得部102、キャッシュ処理部103、計時部104、及び応答部105とを有する。また、記憶デバイス13には、要求管理テーブル130及びデータベース131(DB)が記憶されている。
要求受付部100は、受信部の一例であり、要求元装置RQ#1〜#5から通信ポート14を介して、要求メッセージを受信する。要求受付部100は、要求メッセージから機能ID、利用条件、処理情報、及び名称を取得して要求管理テーブル130に取得する。
要求受付部100は、機能IDを認識した場合、利用条件、処理情報、及び名称を要求管理テーブル130に登録する。これにより、実施例のデータ提供方法が実行される。なお、要求受付部100により機能IDが認識されない場合、利用条件及び処理情報を用いない、名称のみに基づくキャッシュデータの検索処理が実行される。要求受付部100は、登録が完了すると、その旨を検索部101に通知する。
検索部101は、要求受付部100からの通知を受けると、要求メッセージで指定された名称に該当し、キャッシュ時刻が利用条件を満たすキャッシュデータをデータベース131から検索する。つまり、検索部101は、キャッシュ時刻に基づいて、キャッシュデータが利用条件を満たすか否かを判定する。
図5には、要求管理テーブル130及びデータベース131の一例が示されている。データベース131には、キャッシュデータの名称であるデータ名、キャッシュデータの値であるデータ値、及びキャッシュデータのキャッシュ時刻が登録されている。すなわち、記憶デバイス13には、データとそのキャッシュ時刻が記憶されている。ここで、キャッシュ時刻は、データを記憶した時刻を示す時刻情報の一例である。本例では、データ値として、後述する会議室の空き状況の検索システムにおいて使用される値(「on」:使用中、「off」:空き)を例示しているが、これに限定されない。
また、要求管理テーブル130には、要求ID、要求元アドレス、利用条件、処理情報、名称、データ名、要求フラグ、及び受信フラグが登録されている。
要求IDは、要求メッセージの識別子であり、要求受付部100により決定される。要求元アドレスは、要求メッセージの送信元の要求元装置RQ#1〜#5のアドレスである。データ名は、要求対象データの名称に該当するデータ名である。要求フラグは、データ提供装置PV#1〜#5に対する要求メッセージの要否を示し、受信フラグは、データ提供装置PV#1〜#5からの応答メッセージの受信の有無を示す。
要求受付部100は、要求メッセージを受けると、要求IDを決定し、要求メッセージの送信元アドレスを要求管理テーブル130に登録する。また、要求受付部100は、機能IDを認識した場合、利用条件、処理情報、及び名称を要求管理テーブル130に登録する。
検索部101は、データベース131から名称に該当するデータ名を検索する。検索部101は、名称に該当するデータ名を要求管理テーブル130に登録する。例えば、名称が「msensor」である場合、検索部101は、データベース131から、「msensor」を含むデータ名「msensor/A」〜「msensor/E」を検索して、要求管理テーブル130に登録する。
また、検索部101は、データベース131のキャッシュ時刻を参照することにより、名称に該当するキャッシュデータが利用条件を満たすか否かを判定する。例えば、利用条件として、freshness=60(sec)が指定されている場合、検索部101は、キャッシュ時刻が現在時刻の60秒前から現在時刻までの範囲内であるとき、そのキャッシュデータが利用条件を満たすと判定する。一方、キャッシュ時刻が現在時刻の60秒前より古いとき、検索部101は、そのキャッシュデータが利用条件を満たさないと判定する。なお、名称に該当し、キャッシュ時刻が利用条件を満たすキャッシュデータ、すなわち要求対象データは、特定のデータの一例である。
検索部101は、利用条件を満たすキャッシュデータについて、要求管理テーブル130の要求フラグを「0」にセットし、利用条件を満たさないキャッシュデータについて、要求管理テーブル130の要求フラグを「1」にセットする。また、検索部101は、名称に該当するキャッシュデータがデータベース131に登録されていないとき、要求管理テーブル130のデータ名に名称自体を登録し、要求フラグを「1」にセットする。
再び図4を参照すると、検索部101は、全てのデータ名の要求フラグをセットすると、その旨をデータ取得部102及び応答部105に通知する。
データ取得部102は、取得部の一例であり、検索部131が検索した結果、データベース131に、名称に該当し、キャッシュ時刻が利用条件を満たすキャッシュデータが記憶されている場合には、データベース131からそのキャッシュデータを取得する。また、データ取得部102は、そのキャッシュデータがデータベース131に記憶されていない場合には、そのデータをデータ提供装置PV#1〜#5から取得する。
より具体的には、データ取得部102は、名称に該当し、キャッシュ時刻が利用条件を満たすキャッシュデータがデータベース131に登録されていないとき、利用条件を満たす要求対象データをデータ提供装置PV#1〜#5から取得する。また、データ取得部102は、名称に該当するキャッシュデータのうち、利用条件を満たさないデータについて、利用条件を満たす要求対象データをデータ提供装置PV#1〜#5から取得する。このとき、データ取得部102は、要求管理テーブル130の要求フラグに基づき、要求対象データの取得先を判定する。
より具体的には、データ取得部102は、要求メッセージを生成する要求生成部102a、要求メッセージに対する応答メッセージを受信するデータ受信部102b、及び応答メッセージの受信を監視するための監視タイマ102cとを有する。なお、監視タイマ102cは、生成された各要求メッセージに対応して設けられる。
要求生成部102aは、検索部101からの通知を受けると、要求管理テーブル130の要求フラグを参照し、要求フラグが「1」であるデータ名の名称を含む要求メッセージを生成する。要求生成部102aは、要求メッセージを、通信ポート14を介してデータ提供装置PV#1〜#5に送信する。
これにより、名称に該当するキャッシュデータがデータベース131に登録されていない場合、またはキャッシュ時刻が利用条件を満たすキャッシュデータがデータベース131に登録されていない場合、要求生成部102aは、キャッシュ時刻が利用条件を満たす要求対象データをデータ提供装置PV#1〜#5に要求する。要求生成部102aは、要求メッセージを送信すると、その要求メッセージに対応する応答メッセージの受信を監視するための監視タイマ102cを起動する。
データ受信部102bは、監視タイマ102cにより応答メッセージの受信を監視する。データ受信部102bは、監視タイマ102cが満了する前に応答メッセージを受信した場合、監視タイマ102cを停止し、要求管理テーブル130の受信フラグを「1」にセットする。また、データ受信部102bは、監視タイマ102cが満了した場合、監視タイマ102cを停止し、要求管理テーブル130の受信フラグを「0」にセットする。
データ受信部102bは、受信フラグを「1」にセットすると、受信した応答メッセージとともに、その旨をキャッシュ処理部103に通知する。また、データ受信部102bは、要求管理テーブル130の要求フラグを参照し、要求フラグが「0」であるデータ名のキャッシュデータをデータベース131から読み出し、キャッシュ処理部103を介し応答部105に出力する。
キャッシュ処理部103は、データ受信部102bから通知を受けると、データ提供装置PV#1〜#5から取得した要求対象データをデータベース131にキャッシュする。より具体的には、キャッシュ処理部103は、計時部104から現在の時刻を取得して、応答メッセージに含まれる要求対象データとともにデータベース131に登録する。計時部104は時刻を計時し、その時刻はキャッシュ処理部103によりキャッシュ時刻としてデータベース131に登録される。なお、計時部104は、通信ポート14を介して他の中継装置TR#1〜#4及びデータ提供装置PV#1〜#5と時刻同期を行う。
キャッシュ処理部103は、全ての応答メッセージに含まれる要求対象データのキャッシュが完了すると、その旨を応答部105に通知する。
応答部105は、送信部の一例であり、データ取得部102が取得したデータを要求元装置RQ#1〜#5に送信する。より具体的には、応答部105は、キャッシュ処理部103から通知を受けると、キャッシュ処理部103がキャッシュしたキャッシュデータをデータベース131から読み出す。応答部105は、そのキャッシュデータを含む応答メッセージを生成して、通信ポート14を介して要求元装置RQ#1〜#5に送信する。
また、応答部105は、データ受信部102bからキャッシュデータを受信すると、そのキャッシュデータを含む応答メッセージを生成して、通信ポート14を介して要求元装置RQ#1〜#5に送信する。
このように、検索部101は、要求メッセージが指定する名称に該当し、キャッシュ時刻が利用条件を満たすキャッシュデータをデータベースから検索する。すなわち、検索部101は、要求メッセージの名称に対応し、利用条件を満たす時刻情報が対応付けられたキャッシュデータをデータベース131から検索する。データ取得部102は、そのキャッシュデータをデータベース131から取得し、応答部105は、キャッシュデータを要求元装置RQ#1〜#5に送信する。
また、データ取得部102は、要求メッセージが指定する名称に該当し、キャッシュ時刻が利用条件を満たすキャッシュデータがデータベース131に登録されていないとき、利用条件を満たす要求対象データをデータ提供装置PV#1〜#5から取得する。応答部105は、その要求対象データを要求元装置RQ#1〜#5に送信する。
このため、中継装置TR#1〜#4は、要求元装置RQ#1〜#5が設定する利用条件を満たす要求対象データを、データベース131から検索してキャッシュデータとして提供し、あるいはデータ提供装置PV#1〜#5から取得して提供することができる。したがって、中継装置TR#1〜#4は、リアルタイム性が高いデータを効果的に要求元装置RQ#1〜#5に提供することができる。
また、データ取得部102は、名称に該当するキャッシュデータのうち、キャッシュ時刻が利用条件を満たさないデータについて、利用条件を満たす要求対象データをデータ提供装置PV#1〜#5から取得する。つまり、データ取得部102は、名称に対応し、利用条件を満たさないキャッシュ時刻が対応付けられたキャッシュデータについて、利用条件を満たす要求対象データをデータ提供装置PV#1〜#5から取得する。このため、データ取得部102は、要求対象データの不足分だけをデータ提供装置PV#1〜#5から取得して要求元装置RQ#1〜#5に送信することができるため、ネットワークNW#1,NW#2のトラフィック量を低減することができる。
応答部105は、データ取得部102が取得した要求対象データのうち、要求管理テーブル130の処理情報が示す制限条件を満たすデータを要求元装置RQ#1〜#5に送信する。図5の例の場合、応答部105は、変数「value」の指定(「on」)に従い、データ値が「on」であるキャッシュデータ及びデータ取得部102が取得した要求対象データのみを送信する。このため、中継装置TR#1〜#4から送信される応答メッセージのトラフィック量が低減される。
また、応答部105は、データ取得部102がデータ提供装置PV#1〜#5から要求対象データを取得できない場合、要求管理テーブル130の処理情報が示す制御情報に基づいて、名称に該当し、利用条件を満たさないキャッシュ時刻が対応付けられたキャッシュデータを要求元装置RQ#1〜#5に送信する。図5の例の場合、応答部105は、変数「use」の指定(「true」)に従い、受信フラグが「0」のデータ名「msensor/B」のキャッシュデータをデータベース131から読み出し、応答メッセージに含めて送信する。このため、要求元装置RQ#1〜#5は、利用条件を満たさないが、要求メッセージの名称で指定したデータを取得することができる。
次に、中継装置TR#1〜#4の処理について述べる。
図6は、要求メッセージの受信処理の一例を示すフローチャートである。本処理は、例えば周期的に実行される。
要求受付部100は、要求メッセージを受信したか否かを判定する(ステップSt1)。要求受付部100は、要求メッセージを受信していない場合(ステップSt1のNo)、処理を終了する。
要求受付部100は、要求メッセージを受信した場合(ステップSt1のYes)、要求メッセージから機能ID、利用条件、処理情報、及び名称を取得する(ステップSt2)。このとき、要求受付部100は、要求メッセージ内のスラッシュを目印として、機能ID、利用条件、処理情報、及び名称を識別する。
次に、要求受付部100は、例えば機能IDを所定値と比較することにより、機能IDを認識する(ステップSt3)。次に、要求受付部100は、利用条件、処理情報、及び名称を要求管理テーブル130に登録する(ステップSt4)。このように、要求受付部100は、要求元装置RQ#1〜#5から要求メッセージを受信する。次に、検索部101は、名称に該当するキャッシュデータをデータベース131から検索する(ステップSt5)。
次に、検索部101は、名称に該当するキャッシュデータの有無を判定する(ステップSt6)。すなわち、検索部101は、名称に対応するデータ名のキャッシュデータの有無を判定する。
検索部101は、名称に該当するキャッシュデータがない場合(ステップSt6のNo)、要求管理テーブル130のデータ名に名称を登録する(ステップSt11)。次に、検索部101は、そのデータ名の要求フラグに「1」をセットする(ステップSt12)。これにより、名称に該当するキャッシュデータがない場合、データ提供装置PV#1〜#5に対し、その名称により要求対象データを指定した要求メッセージが送信される。
また、検索部101は、名称に該当するキャッシュデータがある場合(ステップSt6のYes)、そのキャッシュデータのデータ名を要求管理テーブル130のデータ名に登録する(ステップSt7)。なお、検索部101は、名称に該当する全てのキャッシュデータのデータ名を登録する。
次に、検索部101は、データ名の1つを選択する(ステップSt8)。次に、検索部101は、選択したデータ名のキャッシュデータのキャッシュ時刻が利用条件を満たすか否かを判定する(ステップSt9)。このとき、検索部101は、選択したデータ名のキャッシュデータについて、データベース131のキャッシュ時刻を要求管理テーブル130の利用条件と比較することにより判定処理を行う。
検索部101は、キャッシュ時刻が利用条件を満たす場合(ステップSt9のYes)、要求フラグを「0」にセットする(ステップSt10)。このため、要求生成部102aは、キャッシュ時刻が利用条件を満たすキャッシュデータのデータ名に該当するデータを、データ提供装置PV#1〜#5に要求することはない。
また、検索部101は、キャッシュ時刻が利用条件を満たさない場合(ステップSt9のNo)、要求フラグを「1」にセットする(ステップSt13)。このため、要求生成部102aは、キャッシュ時刻が利用条件を満たさないキャッシュデータのデータ名に該当するデータを、データ提供装置PV#1〜#5に要求する。
このように、検索部101は、データベース131から、名称に対応し、利用条件を満たすキャッシュ時刻が対応付けられたキャッシュデータを検索する。
次に、検索部101は、未選択のデータ名の有無を判定する(ステップSt14)。検索部101は、未選択のデータ名がある場合(ステップSt14のYes)、ステップSt8において未選択のデータ名を選択し、再びステップSt9の処理を実行する。また、検索部101は、未選択のデータ名がない場合(ステップSt14のNo)、処理を終了する。このようにして、要求メッセージの受信処理は実行される。
図7は、要求メッセージの送信処理の一例を示すフローチャートである。本処理は、検索部101が全データ名の要求フラグのセットを完了した後に実行される。
要求生成部102aは、要求管理テーブル130のデータ名の1つを選択する(ステップSt21)。次に、要求生成部102aは、選択したデータ名の要求フラグが「1」であるか否かを判定する(ステップSt22)。要求生成部102aは、要求フラグが「1」である場合(ステップSt22のYes)、選択したデータ名を名称として指定した要求メッセージを生成し、通信ポート14を介してデータ提供装置PV#1〜#5に送信する(ステップSt23)。
このように、データ取得部102は、要求メッセージで指定された名称に該当し、利用条件を満たすキャッシュ時刻が対応付けられたキャッシュデータがデータベース131に登録されていないとき、利用条件を満たす要求対象データをデータ提供装置PV#1〜#5から取得する。また、データ取得部102は、要求メッセージで指定された名称に該当し、利用条件を満たさないキャッシュ時刻のキャッシュデータについて、利用条件を満たす要求対象データをデータ提供装置PV#1〜#5から取得する。
次に、要求生成部102aは、その要求メッセージに対する応答メッセージの受信を監視するための監視タイマ102cを起動する(ステップSt24)。また、要求生成部102aは、要求フラグが「0」である場合(ステップSt22のNo)、ステップSt23、St24の各処理を実行しない。
これにより、名称に該当するキャッシュデータがない場合、または名称に該当するキャッシュデータはあるが、利用条件を満たすキャッシュデータがない場合、利用条件を満たす要求対象データをデータ提供装置PV#1〜#5に対し要求することができる。
次に、要求生成部102aは、未選択のデータ名の有無を判定する(ステップSt25)。要求生成部102aは、未選択のデータ名がある場合(ステップSt25のYes)、ステップSt21において未選択のデータ名を選択し、再びステップSt22の処理を実行する。また、要求生成部102aは、未選択のデータ名がない場合(ステップSt25のNo)、処理を終了する。このようにして、要求メッセージの送信処理は実行される。
図8は、キャッシュデータを含む応答メッセージの送信処理の一例を示すフローチャートである。本処理は、検索部101が全データ名の要求フラグのセットを完了した後に実行される。
応答部105は、要求管理テーブル130のデータ名の1つを選択する(ステップSt31)。応答部105は、要求フラグが「0」であるか否かを判定する(ステップSt32)。応答部105は、要求フラグが「1」である場合(ステップSt32のNo)、後述するステップSt35の処理を実行する。
次に、応答部105は、要求フラグが「0」である場合(ステップSt32のYes)、要求管理テーブル130の変数「value」=「on」を参照し、選択したデータ名のデータ値が「on」であるか否かを判定する(ステップSt33)。応答部105は、データ値が「on」である場合(ステップSt33のYes)、選択したデータ名のキャッシュデータを含む応答メッセージを生成し、通信ポート14を介して要求元装置RQ#1〜#5に送信する(ステップSt34)。このとき、応答メッセージに含めるキャッシュデータは、データ取得部102により取得されて、データ取得部102から応答部105に出力される。
このように、応答部105は、データ取得部102によりデータベース131から取得したキャッシュデータを要求元装置RQ#1〜#5に送信する。このとき、応答部105は、検索されたキャッシュデータのうち、制限条件である変数「value」=「on」を満たすデータを要求元装置RQ#1〜#5に送信する。また、応答部105は、データ値が「off」である場合(ステップSt33のNo)、ステップSt34の処理を実行しない。
ステップSt33の処理は、要求メッセージに、変数「value」により指定される制限条件が含まれる場合に実行される。制限条件が含まれない場合、応答部105は、要求フラグが「0」である場合(ステップSt32のYes)、ステップSt34の処理を実行する。なお、仮に変数「value」=「off」の場合、ステップSt34の処理は、データ値が「off」であるときに実行され、データ値が「on」であるときには実行されない。
次に、応答部105は、未選択のデータ名の有無を判定する(ステップSt35)。応答部105は、未選択のデータ名がある場合(ステップSt35のYes)、ステップSt31において未選択のデータ名を選択し、再びステップSt32の処理を実行する。また、応答部105は、未選択のデータ名がない場合(ステップSt35のNo)、処理を終了する。このようにして、キャッシュデータを含む応答メッセージの送信処理は実行される。
図9は、応答メッセージの受信処理の一例を示すフローチャートである。本処理は、要求管理テーブル130の各データ名について、例えば周期的に実行される。
データ受信部102bは、要求管理テーブル130のデータ名の1つを選択する(ステップSt40)。このとき、データ名の選択の順序に限定はない。
次に、データ受信部102bは、選択したデータ名の要求フラグが「1」であるか否かを判定する(ステップSt41)。データ受信部102bは、要求フラグが「0」である場合(ステップSt41のNo)、処理を終了する。
データ受信部102bは、要求フラグが「1」である場合(ステップSt41のYes)、選択したデータ名の受信フラグがセット済みであるか否かを判定する(ステップSt42)。これにより、データ受信部102bは、選択したデータ名について、データ提供装置PV#1〜#5からの応答メッセージの有無が確定したか否かを判定する。
データ受信部102bは、受信フラグがセット済みである場合(ステップSt42のYes)、処理を終了する。また、データ受信部102bは、受信フラグがセットされていない場合(ステップSt42のNo)、つまり図5の受信フラグが「−」の場合、応答メッセージが受信されたか否かを判定する(ステップSt43)。
データ受信部102bは、応答メッセージを受信した場合(ステップSt43のYes)、受信フラグを「1」にセットする(ステップSt44)。次に、データ受信部102bは、監視タイマ102cを停止する(ステップSt45)。次に、データ受信部102bは、計時部104から現在の時刻を取得する(ステップSt46)。次に、データ受信部102bは、応答メッセージに含まれる要求対象データと時刻(つまりキャッシュ時刻)をデータベース131に登録する(ステップSt47)。
これにより、データベース131に、利用条件を満たす要求対象データがキャッシュされるとともに、そのキャッシュ時刻が登録される。
また、データ受信部102bは、応答メッセージを受信していない場合(ステップSt43のNo)、監視タイマ102cが満了したか否かを判定する(ステップSt48)。データ受信部102bは、監視タイマ102cが満了した場合(ステップSt48のYes)、受信フラグを「0」にセットし(ステップSt49)、監視タイマ102cが満了していない場合(ステップSt48のNo)、ステップSt49の処理を実行しない。
このように、監視タイマ102cの満了により、データ提供装置PV#1〜#5から要求対象データの提供の可否が判定される。このようにして、応答メッセージの受信処理は実行される。
図10は、データ提供装置PV#1〜#5から取得したデータを含む応答メッセージの送信処理の一例を示すフローチャートである。応答部105は、要求管理テーブル130を監視することにより、要求フラグが「1」である全データ名の受信フラグがセット済みであるか否かを判定する(ステップSt61)。応答部105は、全データ名の受信フラグがセット済みではない場合(ステップSt61のNo)、再びステップSt61の処理を実行する。
応答部105は、全データ名の受信フラグがセット済みである場合(ステップSt61のYes)、要求フラグが「1」であるデータ名の1つを選択する(ステップSt62)。次に、応答部105は、選択したデータ名の受信フラグが「1」であるか否かを判定する(ステップSt63)。
応答部105は、受信フラグが「1」である場合(ステップSt63のYes)、要求管理テーブル130の変数「value」=「on」を参照し、選択したデータ名のデータ値が「on」であるか否かを判定する(ステップSt64)。なお、ステップSt62の処理は、上記のステップSt33の処理と同様に、要求メッセージに、変数「value」により指定される制限条件が含まれる場合に実行される。
応答部105は、データ値が「on」である場合(ステップSt64のYes)、選択したデータ名のキャッシュデータを含む応答メッセージを生成する(ステップSt65)。また、応答部105は、データ値が「off」である場合(ステップSt64のNo)、ステップSt65の処理を実行しない。
また、応答部105は、受信フラグが「0」である場合(ステップSt63のNo)、要求管理テーブル130の変数「use」が「true」であるか否かを判定する(ステップSt68)。応答部105は、変数「use」=「true」の場合(ステップSt68のYes)、データベース131から、利用条件を満たさないが、名称に該当するキャッシュデータを読み出し、そのキャッシュデータを含む応答メッセージを生成する(ステップSt69)。また、応答部105は、変数「use」=「false」の場合(ステップSt68のNo)、ステップSt69の処理を実行しない。
ステップSt68の処理は、要求メッセージに、変数「use」により指定される制御情報が含まれる場合に実行される。制御情報が含まれない場合、応答部105は、受信フラグが「0」である場合(ステップSt63のNo)、ステップSt66の処理を実行する。
次に、応答部105は、要求フラグが「1」である未選択のデータ名の有無を判定する(ステップSt66)。応答部105は、未選択のデータ名がある場合(ステップSt66のYes)、ステップSt62において未選択のデータ名を選択し、再びステップSt63の処理を実行する。また、応答部105は、未選択のデータ名がない場合(ステップSt66のNo)、生成した応答メッセージを、通信ポート14を介して要求元装置RQ#1〜#5に送信する(ステップSt67)。
これにより、応答部105は、データ取得部102によりデータ提供装置PV#1〜#5から取得された要求対象データを要求元装置RQ#1〜#5に送信する。このとき、応答部105は、要求対象データのうち、制限条件である変数「value」=「on」を満たすデータを要求元装置RQ#1〜#5に送信する。
また、応答部105は、データ取得部102がデータ提供装置PV#1〜#5から要求対象データを取得できない場合、変数「use」に基づいて、名称に該当し、利用条件を満たさないキャッシュデータを要求元装置RQ#1〜#5に送信する。このようにして、データ提供装置PV#1〜#5から取得したデータを含む応答メッセージの送信処理は実行される。
次に、実施例のデータ提供システムの適用例を説明する。
(第1適用例)
データ提供システムは、様々なIoTシステムに適用することができる。本例では、データ提供装置PV#1〜#5として、人感センサを備えたセンサ装置を用いることによりセンサシステムを構成し、要求元装置RQ#1〜#5である端末から、センサ装置を設けた会議室の空き状況を検索する場合を挙げる。
データ提供システムは、様々なIoTシステムに適用することができる。本例では、データ提供装置PV#1〜#5として、人感センサを備えたセンサ装置を用いることによりセンサシステムを構成し、要求元装置RQ#1〜#5である端末から、センサ装置を設けた会議室の空き状況を検索する場合を挙げる。
図11は、センサシステムの比較例を示す構成図である。センサシステムは、ネットワークNWを介して互いにメッシュ状に接続された複数の端末(#1〜#5)2及び複数のセンサ装置3を有する。端末2は要求元装置RQ#1〜#5として機能し、センサ装置3はデータ提供装置PV#1〜#5として機能する。
端末(#1〜#5)2としては、スマートフォンやパーソナルコンピュータが挙げられるが、これに限定されない。なお、図11では、端末#1及びセンサ装置(A)3の接続のみが示されているが、他の端末#2〜#5及びセンサ装置(B〜E)3も同様に接続される。
センサ装置3は、例えば、会議室A〜Eにそれぞれ配置され、会議室A〜E内の人の有無を検知する。センサ装置3は、人を検知する人感センサ30と、端末#1〜#5との通信を処理する通信ユニット31とを有する。なお、通信ユニット31としては、LANカードなどが挙げられるが、これに限定されない。
センサ装置3は、人感センサ30の検知結果に基づき、会議室A〜Eの空き状況を判定し、その判定結果を示すデータを生成する。データは、会議室A〜Eが使用中である場合、「on」を示し、会議室A〜Eが空きである場合、「off」を示す。端末2には、会議室A〜Eの空き状況を確認するためのアプリケーションが実装されており、アプリケーションによりセンサ装置3に対しデータを要求する。
各端末2は、センサ装置3に対して個別にデータを要求する。このため、各端末2間において、センサ装置3から受信したデータの共有が行われない。したがって、ネットワークNWのトラフィック量を低減することができない。
そこで、このセンサシステムにICNを適用すると、ネットワークNW内の中継装置にデータをキャッシュすることができるため、ネットワークNWのトラフィック量を低減することができる。
図12及び図13は、センサシステムの他の比較例を示す構成図である。図12及び図13において、図11と共通する構成については、同一の符号を付し、その説明を省略する。
本例において、ネットワークNWには、比較例に係る中継装置TRc#1〜#4が設けられている。中継装置TRc#1〜#4は互いにメッシュ状に接続されている。中継装置TRc#1は端末(#1,#2)2に接続され、中継装置TRc#2は端末(#3〜#5)2に接続されている。また、中継装置TRc#3は会議室A〜Cの各センサ装置3に接続され、中継装置TRc#4は会議室D,Eの各センサ装置3に接続されている。
端末2、センサ装置3、及び中継装置TRc#1〜#4は、ICNに基づき通信する。中継装置TRc#1〜#4は、端末2からの要求メッセージをセンサ装置3に中継し、センサ装置3からの応答メッセージを端末2に中継する。中継装置TRc#1〜#4は、中継した応答メッセージに含まれるデータをキャッシュし、端末2から新たに要求メッセージを受信したとき、そのキャッシュデータを応答メッセージに含めて端末2に送信する。
端末(#1)2は、図12に示されるように、時刻t1において、点線で示される経路に従い、会議室A、Eの各センサ装置3からデータを取得する。ここで、会議室Aのセンサ装置3のデータは「msensor/A」の名称で指定され、会議室Bのセンサ装置3のデータは「msensor/E」の名称で指定されると仮定する。
符号G4は、時刻ごとの各センサ装置3のデータのデータ値を示す。時刻t1において、会議室A、Eの各センサ装置3のデータは「on」(使用中)を示す。
中継装置TRc#1,#3は、会議室Aのセンサ装置3から「msensor/A」のデータを端末(#1)2に中継する。また、中継装置TRc#1,#4は、会議室Eのセンサ装置3から「msensor/E」のデータを端末(#1)2に中継する。
このため、中継装置TRc#1には、符号G1で示されるように、データ名「msensor/A」及びデータ値「on」のデータと、データ名「msensor/E」及びデータ値「on」のデータとがキャッシュされる。また、中継装置TRc#3には、符号G2で示されるように、データ名「msensor/A」及びデータ値「on」のデータがキャッシュされる。中継装置TRc#4には、符号G3で示されるように、データ名「msensor/E」及びデータ値「on」のデータがキャッシュされる。
次に、端末(#5)2は、図13に示されるように、時刻t2(=t1+90(sec))において、会議室A、Eの各センサ装置3のデータを要求する。このとき、端末(#5)2から会議室Aのセンサ装置3に至る経路上の中継装置TRc#1には、符号G2で示されるように、会議室Aのセンサ装置3のデータがキャッシュされている。また、端末(#5)2から会議室Eのセンサ装置3に至る経路上の中継装置TRc#4には、符号G3で示されるように、会議室Aのセンサ装置3のデータがキャッシュされている。
このため、端末(#5)2は、点線で示される経路に従い、会議室A、Eの各センサ装置3ではなく、中継装置TRc#3,#4からデータを取得する。このとき、中継装置TRc#2は、中継装置TRc#3,#4から「msensor/A」のデータ及び「msensor/E」のデータを端末(#5)2に中継する。このため、中継装置TRc#2には、符号G5で示されるように、データ名「msensor/A」及びデータ値「on」のデータと、データ名「msensor/E」及びデータ値「on」のデータとがキャッシュされる。
このようにして、端末(#5)2は、データ名「msensor/A」及びデータ値「on」のデータと、データ名「msensor/E」及びデータ値「on」のデータを取得する。このため、端末(#5)2のユーザは、会議室A、Eはともに使用中であると認識する。
しかし、符号G6で示されるように、時刻(t1+60(sec))において、会議室Eのセンサ装置3のデータは「on」(使用中)のままであるが、会議室Aのセンサ装置3のデータは「off」(空き)となったとすると、ユーザは古いキャッシュデータにより会議室の使用状況を誤認することになる。
したがって、本例によると、中継装置TRc#1〜#4のキャッシュデータによりネットワークNWのトラフィック量を低減することができるが、データのリアルタイム性が高いため、キャッシュデータがキャッシュされた時刻によってはセンサシステムが有効に機能しない場合がある。
これに対し、実施例の中継装置TR#1〜#4は、上述したように、データベース131にデータをキャッシュするだけでなく、そのキャッシュ時刻も登録するため、要求メッセージに指定された利用条件を満たすキャッシュデータを検索して送信することができる。
図14〜図16は、センサシステムの実施例を示す構成図である。図14〜図16において、図11と共通する構成については同一の符号を付し、その説明を省略する。
本例において、実施例に係る中継装置TR#1〜#4は、ネットワークNW内においてメッシュ状に接続されている。中継装置TR#1は端末(#1,#2)2に接続され、中継装置TR#2は端末(#3〜#5)2に接続されている。また、中継装置TR#3は会議室A〜Cの各センサ装置3に接続され、中継装置TR#4は会議室D,Eの各センサ装置3に接続されている。
図14には、時刻t1において、端末(#1)2が、符号G10で示される2つの要求メッセージを送信した場合の動作例が示されている。会議室Aのセンサ装置3のデータを要求する要求メッセージには、機能ID「IotCacheControl」、利用条件「freshness=60(sec)」、処理情報「use=false」、及び名称「msensor/A」が含まれる。また、会議室Eのセンサ装置3のデータを要求する要求メッセージは、名称が「msensor/E」であり、他の項目は上記と同一である。
時刻t1において、各中継装置TR#1〜#4のデータベース131には、センサ装置3のデータがキャッシュされていない。このため、要求メッセージは、点線で示される経路に従い、会議室A、Eのセンサ装置3に中継される。
センサ装置3は、要求メッセージに応じて、データを格納した応答メッセージを送信する。符号G14で示されるように、時刻t1において、会議室A、Eの各センサ装置3のデータは「on」を示す。応答メッセージは、要求メッセージと逆の経路をたどり、端末(#1)2に中継される。
このため、中継装置TR#1,#3は、会議室Aのセンサ装置3から「msensor/A」のデータを端末(#1)2に中継する。また、中継装置TR#1,#4は、会議室Eのセンサ装置3から「msensor/E」のデータを端末(#1)2に中継する。
このため、中継装置TR#1は、符号G11で示されるように、データ名「msensor/A」及びデータ値「on」のデータと、データ名「msensor/E」及びデータ値「on」のデータとをデータベース131にキャッシュする。中継装置TR#1は、さらに各データのキャッシュ時刻t1をデータベース131に登録する。
また、中継装置TRc#3は、符号G12で示されるように、データ名「msensor/A」及びデータ値「on」のデータをデータベース131にキャッシュする。中継装置TR#3は、さらにデータのキャッシュ時刻t1をデータベース131に登録する。
また、中継装置TRc#4は、符号G13で示されるように、データ名「msensor/E」及びデータ値「on」のデータをデータベース131にキャッシュする。中継装置TR#4は、さらにデータのキャッシュ時刻t1をデータベース131に登録する。
図17には、時刻t1における中継装置TR#1の要求管理テーブル130の例が示されている。時刻t1において、中継装置TR#1は、要求メッセージで指定された名称「msensor/A」、「msensor/E」に該当するキャッシュデータがないため、要求管理テーブル130のデータ名に「msensor/A」、「msensor/E」を登録し、その要求フラグに「1」をセットする。これにより、中継装置TR#1は、会議室A、Eの各センサ装置3に要求メッセージを送信する。
図15には、時刻t2(=t1+90(sec))において、端末(#5)2が、会議室A、Eの各センサ装置3のデータを要求する要求メッセージを送信した場合の動作例が示されている。なお、点線は、要求メッセージ及び応答メッセージの経路を示す。
図14の場合と同様に、一方の要求メッセージには、利用条件「freshness=60(sec)」及び名称「msensor/A」が指定され、他方の要求メッセージには、利用条件「freshness=60(sec)」及び名称「msensor/E」が指定されている。中継装置TR#2は、データベース131にキャッシュデータがないため、名称「msensor/A」の要求メッセージを中継装置TR#3に送信し、名称「msensor/E」の要求メッセージを中継装置TR#4に送信する。
中継装置TR#3は、符号G12で示されるように、データ名「msensor/A」のキャッシュデータがデータベース131にキャッシュされている。しかし、そのキャッシュデータは、キャッシュ時刻がt1であるため、要求メッセージの利用条件である「freshness=60(sec)」を満たさない。
この利用条件「freshness=60(sec)」は、キャッシュデータのキャッシュ時刻の範囲として、現在時刻t2の60(sec)前から現在時刻t2までと指定している。このため、キャッシュ時刻t1は、現在時刻t2から90(sec)前であるため、利用条件の指定する範囲外となる。
したがって、中継装置TR#3は、キャッシュ時刻t1のキャッシュデータを端末(#5)2に送信することができない。このため、中継装置TR#3は、要求メッセージを会議室Aのセンサ装置3に送信することにより、会議室Aのセンサ装置3から時刻t2のデータを取得する。
会議室Aのセンサ装置3は、要求メッセージに応じて、データを格納した応答メッセージを送信する。符号G14aで示されるように、時刻(t1+60(sec))において、会議室Aのセンサ装置3のデータは「off」(空き)を示す。応答メッセージは、中継装置TR#3から要求メッセージと逆の経路をたどり、端末(#5)2に中継される。
このとき、中継装置TR#3は、符号G12aで示されるように、データベース131にデータ名「msensor/A」及びデータ値「off」のデータをキャッシュするとともに、キャッシュ時刻t2を登録する。これにより、中継装置TR#3のキャッシュデータ及びキャッシュ時刻が更新される。
一方、中継装置TR#4は、符号G13で示されるように、データ名「msensor/E」のキャッシュデータがデータベース131にキャッシュされている。しかし、そのキャッシュデータは、キャッシュ時刻がt1であるため、要求メッセージの利用条件である「freshness=60(sec)」を満たさない。
したがって、中継装置TR#4は、キャッシュ時刻t1のキャッシュデータを端末(#5)2に送信することができない。このため、中継装置TR#4は、要求メッセージを会議室Eのセンサ装置3に送信することにより、会議室Eのセンサ装置3から時刻t2のデータを取得する。
会議室Eのセンサ装置3は、要求メッセージに応じて、データを格納した応答メッセージを送信する。符号G14aで示されるように、時刻(t1+60(sec))において、会議室Eのセンサ装置3のデータは「on」(使用中)を示す。応答メッセージは、中継装置TR#4から要求メッセージと逆の経路をたどり、端末(#5)2に中継される。
このとき、中継装置TR#4は、符号G13aで示されるように、データベース131にデータ名「msensor/E」及びデータ値「on」のデータをキャッシュするとともに、キャッシュ時刻t2を登録する。これにより、中継装置TR#4のキャッシュデータ及びキャッシュ時刻が更新される。
また、中継装置TR#2は、中継装置TR#3,TR#4から送信された各応答メッセージを端末(#5)2に送信する。このとき、中継装置TR#2は、符号G15で示されるように、データベース131にデータ名「msensor/A」及びデータ値「off」のデータとデータ名「msensor/E」及びデータ値「on」のデータをキャッシュするとともに、キャッシュ時刻t2を登録する。
このように、中継装置TR#2〜#4は、要求メッセージに指定された利用条件「freshness=60(sec)」により時刻t2における会議室A、Eの各センサ装置3のデータを取得して端末(#5)2に送信する。このため、端末(#5)2のユーザは、図13の比較例とは異なり、古い時刻t1ではなく、現在の時刻t2における会議室A、Eの空き状況を正確に知ることができる。
本例によると、中継装置TR#1〜#4は、利用条件に基づきリアルタイム性が高いデータを有効に端末2に提供することができるため、センサシステムを有効に機能させることができる。
また、キャッシュ時刻が古いデータであっても、利用条件によっては有効なデータとして用いることができる。
図16には、端末(#2〜#4)2が、図15に示された動作直後に、互いに異なる利用条件を指定して会議室A、Eのセンサ装置3のデータを要求した場合の動作例が示されている。端末(#3)2は、利用条件「freshness=120(sec)」を指定した要求メッセージを中継装置TR#2に送信し、端末(#4)2は、利用条件「freshness=60(sec)」を指定した要求メッセージを中継装置TR#2に送信する。
中継装置TR#2のデータベース131には、符号G15で示されるように、データ名「msensor/A」、「msensor/E」のキャッシュデータがキャッシュされており、そのキャッシュ時刻はt2である。したがって、中継装置TR#2のキャッシュデータは利用条件を満たすため、中継装置TR#2は、キャッシュデータを含む応答メッセージを端末(#4)2及び端末(#5)2にそれぞれ送信する。
また、端末(#2)2は、利用条件「freshness=300(sec)」を指定した要求メッセージを中継装置TR#1に送信する。中継装置TR#1のデータベース131には、符号G11で示されるように、データ名「msensor/A」、「msensor/E」のキャッシュデータがキャッシュされており、そのキャッシュ時刻はt1である。
利用条件「freshness=300(sec)」は、キャッシュデータのキャッシュ時刻の範囲として、現在時刻t2の300(sec)前から現在時刻t2までと指定している。このため、キャッシュ時刻t1は、現在時刻t2から90(sec)前であるため、利用条件の指定する範囲内となる。
したがって、中継装置TR#1のキャッシュデータは利用条件を満たすため、中継装置TR#1は、キャッシュデータを含む応答メッセージを端末(#1)2に送信する。
図17には、センサシステムにおける時刻t2の中継装置TR#2の要求管理テーブル130の例が示されている。時刻t2において、中継装置TR#1のデータベース131には、要求メッセージで指定された名称「msensor/A」、「msensor/E」に該当し、さらに利用条件を満たすキャッシュデータがキャッシュされている。
このため、中継装置TR#2は、要求管理テーブル130のデータ名に「msensor/A」、「msensor/E」を登録し、その要求フラグに「0」をセットする。これにより、中継装置TR#1から会議室A、Eの各センサ装置3には要求メッセージが送信されない。
このように、中継装置TR#1〜#4は、要求メッセージに指定されたキャッシュ条件によっては、キャッシュデータを含む応答メッセージを生成して端末(#1〜#5)2に送信する。このため、本例によると、要求メッセージをセンサ装置3まで中継する処理、及びセンサ装置3が応答メッセージを送信する処理を省くことができ、ネットワークNWのトラフィック量を低減することができる。
また、以下の例のように、要求メッセージの処理情報として、データの制限条件を変数「value」で指定することにより、中継装置TR#1〜#4から送信されるデータを制限することにより、ネットワークNWのトラフィック量をさらに低減することができる。
図18は、センサシステムの実施例を示す構成図である。端末(#1)2は、時刻t3(=t1+60(sec))において、符号G20で示される要求メッセージを送信する。なお、要求メッセージ及び応答メッセージの経路は点線で示されている。
要求メッセージには、機能ID「IotCacheControl」、利用条件「freshness=60(sec)」、処理情報「value=on」、及び名称「msensor」が含まれる。この要求メッセージによると、名称「msensor」がプレフィックスで指定されているため、会議室A〜Eの各センサ装置3のデータが要求されるが、処理情報「value=on」によりデータが制限されるため、データ値が「on」のデータだけが取得される。また、中継装置TR#1〜#4から取得可能なキャッシュデータのキャッシュ時刻は、利用条件により、現在の時刻t3の60(sec)前から現在の時刻t3までの範囲内となる。
図19には、時刻t3における中継装置TR#1,TR#3,TR#4のデータベース131が示されている。中継装置TR#1のデータベース131には、データ名「msensor/A」〜「msensor/E」のキャッシュデータが登録されている。データ名「msensor/A」〜「msensor/E」のうち、「msensor/D」のデータ値だけが「off」であり、他のデータ値は「on」である。また、データ名「msensor/A」〜「msensor/E」のうち、「msensor/B」及び「msensor/D」の各キャッシュ時刻はt2(t1+30(sec))であり、他のキャッシュ時刻はt1である。
また、中継装置TR#3のデータベース131には、データ名「msensor/A」〜「msensor/C」のキャッシュデータが登録されており、そのデータ値は全て「on」である。「msensor/A」及び「msensor/C」の各キャッシュ時刻はt1であり、「msensor/B」のキャッシュ時刻はt2である。
また、中継装置TR#4のデータベース131には、データ名「msensor/D」、「msensor/E」のキャッシュデータが登録されており、そのキャッシュ時刻は全てt2である。「msensor/D」のデータ値は「off」であり、「msensor/E」のデータ値は「on」である。
再び図18を参照すると、中継装置TR#1のキャッシュデータのうち、「msensor/B」及び「msensor/D」の各キャッシュデータのキャッシュ時刻t2が利用条件を満たすが、「msensor/D」のデータ値は「off」であるため、処理情報「value=on」により送信が制限される。このため、中継装置TR#1は、「msensor/B」のキャッシュデータを含む応答メッセージを生成して端末(#1)2に送信する。
また、中継装置TR#1は、利用条件を満たさない「msensor/A」、「msensor/C」及び「msensor/E」の各要求メッセージを生成する。「msensor/A」及び「msensor/C」の各要求メッセージは中継装置TR#3に送信され、「msensor/E」の要求メッセージは中継装置TR#4に送信される。
図20には、時刻t3における中継装置TR#1の要求管理テーブル130が示されている。要求管理テーブル130において、利用条件には「freshness=60(sec)」が登録され、処理情報には「value=on」が登録されている。また、データ名「msensor/A」〜「msensor/E」のうち、「msensor/A」、「msensor/C」及び「msensor/E」の各要求フラグが「1」にセットされている。
このため、要求対象データを名称「msensor/A」、「msensor/C」及び「msensor/E」で指定した各要求メッセージが生成及び送信される。なお、「msensor/B」及び「msensor/D」の各要求フラグは「0」にセットされているため、名称「msensor/B」及び「msensor/D」の要求メッセージは生成されない。
再び図18を参照すると、中継装置TR#3のデータベース131には、要求対象データの名称に該当するデータ名「msensor/A」及び「msensor/C」の各キャッシュデータが登録されている。しかし、各キャッシュデータは、キャッシュ時刻がt1であるため、要求メッセージの利用条件を満たさない。このため、中継装置TR#3は、名称「msensor/A」の要求メッセージを会議室Aのセンサ装置3に送信し、名称「msensor/C」の要求メッセージを会議室Cのセンサ装置3に送信する。
会議室Aのセンサ装置3は、要求メッセージに応じて、データを格納した応答メッセージを送信する。符号G21で示されるように、時刻(t1+60(sec))において、会議室Aのセンサ装置3のデータは「on」(使用中)を示す。応答メッセージは、中継装置TR#3から要求メッセージと逆の経路をたどり、端末(#1)2に中継される。
会議室Aのセンサ装置3は、要求メッセージに応じて、データを格納した応答メッセージを送信する。符号G21で示されるように、時刻(t1+60(sec))において、会議室Aのセンサ装置3のデータは「on」(使用中)を示す。応答メッセージは中継装置TR#3に送信される。
一方、会議室Cのセンサ装置3は、要求メッセージに応じて、データを格納した応答メッセージを送信する。符号G21で示されるように、時刻(t1+60(sec))において、会議室Cのセンサ装置3のデータは「off」(空き)を示す。応答メッセージは中継装置TR#3に送信される。
中継装置TR#3は、会議室A、Cの各センサ装置3から応答メッセージを受信する。中継装置TR#3は、データ名「msensor/C」のデータ値が「off」であるため、処理情報「value=on」に基づき送信を中止する。したがって、中継装置TR#1は、データ名「msensor/A」のデータを含む応答メッセージだけを中継装置TR#1に送信する。
また、中継装置TR#4のデータベース131には、要求対象データの名称に該当するデータ名「msensor/D」及び「msensor/E」の各キャッシュデータが登録されている。各キャッシュデータは、キャッシュ時刻がt2であるため、要求メッセージの利用条件を満たす。しかし、データ名「msensor/D」のデータ値は「off」であるため、処理情報「value=on」に基づき送信が制限される。したがって、中継装置TR#4は、データ名「msensor/E」のキャッシュデータを含む応答メッセージだけを中継装置TR#1に送信する。
中継装置TR#1は、中継装置TR#3から、データ名「msensor/A」のデータを含む応答メッセージを受信し、中継装置TR#4から、データ名「msensor/E」のキャッシュデータを含む応答メッセージを受信する。中継装置TR#1は、受信した応答メッセージを端末(#1)2に送信する。
このため、端末(#1)2は、全ての会議室A〜Eのセンサ装置3のデータを要求したにも関わらず、処理情報「value=on」で指定された制限条件により、データ値が「on」(使用中)であるデータ名「msensor/A」、「msensor/B」、及び「msensor/E」のデータだけを取得する。したがって、ネットワークNWのトラフィック量が低減される。
また、中継装置TR#1,TR#3は、応答メッセージを中継するとき、データベース131のキャッシュデータ及びキャッシュ時刻を更新する。
図21には、更新後の中継装置TR#1,TR#3のデータベース131が示されている。中継装置TR#1は、データ名「msensor/A」、「msensor/C」、及び「msensor/E」の各キャッシュデータのデータ値及びキャッシュ時刻が更新されている。中継装置TR#3は、データ名「msensor/A」及び「msensor/C」の各キャッシュデータのデータ値及びキャッシュ時刻が更新されている。
(第2適用例)
実施例のデータ提供システムは、例えば交通渋滞情報を交換する企業間連携システムにも適用可能である。以下にテレマティクスを利用した交通情報システムを例に挙げて説明する。なお、テレマティクスとは、例えば自動車や郵送車両などに対して、移動体通信システムを利用して提供されるサービスである。
実施例のデータ提供システムは、例えば交通渋滞情報を交換する企業間連携システムにも適用可能である。以下にテレマティクスを利用した交通情報システムを例に挙げて説明する。なお、テレマティクスとは、例えば自動車や郵送車両などに対して、移動体通信システムを利用して提供されるサービスである。
図22は、交通情報システムの実施例を示す構成図である。交通情報システムは、スマートフォンやパーソナルコンピュータなどの端末2a、エリアコードを検索する検索サーバ4、情報処理装置の一例である中継装置TR、渋滞情報を提供する複数のデータ提供サーバ5、複数のセンサ装置3a、及び複数のゲートウェイ装置(GW)6を有する。
データ提供サーバ5は、データ提供装置PV#1〜#5の一例であり、端末2aに渋滞情報を提供する。端末2aには、アプリケーション200の一例としてバス案内アプリケーション200aがインストールされている。バス案内アプリケーション200aは、データ提供サーバ5から渋滞情報を取得して、渋滞情報に基づき、現在地のバス停に最も早く到着するバスを検索してユーザに通知する。
各データ提供装置PV#1は、ゲートウェイ装置6を介して複数のセンサ装置3aと通信を行う。ゲートウェイ装置6は、例えば無線アクセスポイントであり、ネットワークNWyを介してセンサ装置3aと無線通信を行う。センサ装置3aは、車両に搭載され、位置情報及び交通情報を検出してデータ提供サーバ5に送信する。
データ提供サーバ5は、例えば、バス会社、タクシー会社、及び運送会社などの企業ごとに設けられている。各企業のデータ提供サーバ5は、水平統合側の企業間連携システムを形成する。
データ提供サーバ5は、渋滞情報データベース(渋滞情報DB)50、検索処理部51、渋滞情報生成部53、及び通信ポート52,54を有する。データ提供サーバ5は、図2及び図3に示されるようなCPU、ROM,RAM、記憶デバイスなどから構成される。
検索処理部51及び渋滞情報生成部53は、所定のプログラムによりCPUの機能として形成される。また、渋滞情報データベース50は記憶デバイスに記憶される。通信ポート54はセンサ装置3aとの通信を処理し、通信ポート52は中継装置TRとの通信を処理する。
渋滞情報生成部53は、通信ポート54を介して、複数のセンサ装置3aから交通情報及び位置情報を収集する。渋滞情報生成部53は、交通情報及び位置情報に基づき渋滞情報を生成して、渋滞情報データベース50に登録する。渋滞情報は、渋滞の程度を示す数値を示し、車両の位置を示す位置情報に基づくエリアコードに対応付けられて登録される。
検索処理部51は、中継装置TRから通信ポート52を介してエリアコードを取得し、エリアコードに応じた渋滞情報を渋滞情報データベース50から検索する。検索処理部51は、検索した渋滞情報を、通信ポート52を介して中継装置TRに送信する。
端末2aは要求元装置RQ#1〜#5の一例である。バス案内アプリケーション200aは、ユーザの操作に応じて、最も早くバス停に到着するバスを検索する。バス案内アプリケーション200aは、ユーザがいるバス停を経由する路線バスの経路上のエリアコードを検索サーバ4から検索する。
検索サーバ4は、エリアコードデータベース(エリアコードDB)40、検索処理部41、及び通信ポート42を有する。検索サーバ4は、図2及び図3に示されるようなCPU、ROM,RAM、記憶デバイスなどから構成される。
検索処理部41は、所定のプログラムによりCPUの機能として形成される。エリアコードデータベース40は記憶デバイスに記憶されている。通信ポート42は端末2aとの通信を処理する。
検索処理部41は、バス案内アプリケーション200aから通信ポート42を介してエリアコードの要求を受けると、要求に応じ、エリアコードデータベース40からエリアコードを検索する。なお、エリアコードの要求には、例えばバスの路線番号などが含まれている。
検索処理部41は、検索したエリアコードを端末2aに送信する。バス案内アプリケーション200aは、エリアコードを名称として指定した要求メッセージを生成してネットワークNWx内の中継装置TRに送信する。中継装置TRは、エリアコードに該当し、利用条件を満たすキャッシュデータがデータベース131にキャッシュされている場合、そのキャッシュデータを含む応答メッセージを生成し端末2aに送信する。
また、中継装置TRは、エリアコードに該当し、利用条件を満たすキャッシュデータがデータベース131にキャッシュされていない場合、要求メッセージを生成してデータ提供サーバ5に送信する。データ提供サーバ5は、エリアコードに該当し、利用条件を満たす渋滞情報を含む応答メッセージを生成し、中継装置TRに送信する。中継装置TRは、応答メッセージを受信して渋滞情報をキャッシュし、その応答メッセージを端末2aに送信する。以下に交通情報システムの動作例を述べる。
図23は、中継装置TRに該当データがキャッシュされていない場合の交通情報システムの動作例を示すシーケンス図である。バス案内アプリケーション200aは、検索サーバ4にエリアコードを要求する。検索サーバ4は、エリアコードデータベース40からエリアコードを検索して(符号SQ1)、バス案内アプリケーション200aに送信する。
次に、バス案内アプリケーション200aは、符号G30で示される要求メッセージを生成して中継装置TRに送信する。要求メッセージには、一例として、機能ID「Proxy」、利用条件「freshness=15000」、処理情報「use=true」、及び名称「天神_2010_1055」が含まれる。
中継装置TRは、名称「天神_2010_1055」に該当し、利用条件「freshness=15000」を満たすキャッシュデータを検索する(符号SQ2)。中継装置TRは、検索の結果、該当するキャッシュデータがないため(符号SQ3)、要求メッセージを生成してデータ提供サーバ5に送信する。
データ提供サーバ5は、要求メッセージを受信すると、名称「天神_2010_1055」に該当し、利用条件「freshness=15000」を満たす渋滞情報を、渋滞情報データベース50から検索する(符号SQ4)。データ提供サーバ5は、検索した渋滞情報を含む応答メッセージを生成し、中継装置TRに送信する。
中継装置TRは、データ提供サーバ5から応答メッセージを受信すると、データベース131に渋滞情報をキャッシュするとともに、そのキャッシュ時刻を登録する(符号SQ5)。中継装置TRは、渋滞情報を含む応答メッセージを生成し、バス案内アプリケーション200aに送信する。バス案内アプリケーション200aは、応答メッセージを受信すると、渋滞情報に基づき、最短時間で到着するバスに関するバス情報を生成して表示する(符号SQ6)。
図24には、本例における要求管理テーブル130及びデータベース131が示されている。要求管理テーブル130において、利用条件には「freshness=15000(sec)」が登録され、処理情報には「use=true」が登録されている。また、名称及びデータ名には「天神_2010_1055」が登録されている。
データベース131には、渋滞情報として、1(km)単位の車両台数である12(台/km)と、そのキャッシュ時刻である「04:00:00」とが登録されている。このため、例えば、現在の時刻を11時とすると、渋滞情報は、利用条件「freshness=15000(sec)」を満たさないことになる。
したがって、本例では、名称「天神_2010_1055」に該当し、利用条件「freshness=15000」を満たすキャッシュデータがデータベース131に存在しないため、要求フラグは「1」にセットされている。このため、中継装置TRは、名称「天神_2010_1055」を指定した要求メッセージを生成して送信する。また、受信フラグは、要求メッセージに対する応答メッセージを受信することにより「1」にセットされている。
図25は、中継装置TRに該当データがキャッシュされている場合の交通情報システムの動作例を示すシーケンス図である。図25において、図23と共通する処理や状態については同一の符号を付し、その説明を省略する。
中継装置TRは、名称「天神_2010_1055」に該当し、利用条件「freshness=15000」を満たすキャッシュデータを検索する(符号SQ2)。中継装置TRは、検索の結果、該当するキャッシュデータがあるため(符号SQ3a)、そのキャッシュデータを含む応答メッセージを生成してバス案内アプリケーション200aに送信する。
図26には、本例における要求管理テーブル130及びデータベース131が示されている。要求管理テーブル130において、利用条件には「freshness=15000(sec)」が登録され、処理情報には「use=true」が登録されている。また、名称及びデータ名には「天神_2010_1055」が登録されている。
データベース131には、渋滞情報として123(台/km)と、そのキャッシュ時刻である「11:00:00」とが登録されている。このため、例えば、現在の時刻を11時とすると、渋滞情報は、利用条件「freshness=15000(sec)」を満たすことになる。
したがって、本例では、名称「天神_2010_1055」に該当し、利用条件「freshness=15000」を満たすキャッシュデータがデータベース131に存在するため、要求フラグは「0」にセットされている。このため、中継装置TRは、名称「天神_2010_1055」を指定した要求メッセージを送信せず、キャッシュデータを含む応答メッセージを生成して送信する。
図27は、データ提供サーバ5から応答メッセージの受信がない場合の交通情報システムの動作例を示すシーケンス図である。図27において、図23と共通する処理や状態については同一の符号を付し、その説明を省略する。
データ提供サーバ5は、要求メッセージを受信すると、名称「天神_2010_1055」に該当し、利用条件「freshness=15000」を満たす渋滞情報を、渋滞情報データベース50から検索する(符号SQ4)。データ提供サーバ5は、検索の結果、名称「天神_2010_1055」に該当し、利用条件「freshness=15000」を満たす渋滞情報がないため(符号4a)、応答メッセージを生成しない。
中継装置TRは、監視タイマ102cが満了することにより(符号SQ5a)、応答メッセージの未受信を判別する。中継装置TRは、処理情報「use=true」に従い、利用条件「freshness=15000」を満たさないが、名称「天神_2010_1055」に該当するキャッシュデータをデータベース131から検索する(符号SQ5b)。中継装置TRは、検索したキャッシュデータを含む応答メッセージを生成してバス案内アプリケーション200aに送信する。なお、仮に処理情報が「use=false」であれば、中継装置TRは、キャッシュデータの検索(符号SQ5b)及び応答メッセージの送信を行わない。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部と、
データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信する受信部と、
前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを前記記憶部から検索する検索部と、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する取得部と、
前記取得部が取得した前記特定のデータを前記要求元装置に送信する送信部とを有することを特徴とする情報処理装置。
(付記2) 前記取得部は、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータについて、前記特定のデータを前記他の装置から取得することを特徴とする付記1に記載の情報処理装置。
(付記3) 前記要求メッセージには、前記要求元装置に送信する前記特定のデータを制限する制限条件が含まれており、
前記送信部は、前記取得部が取得した前記特定のデータのうち、前記制限条件を満たすデータを前記要求元装置に送信することを特徴とする付記1または2に記載の情報処理装置。
(付記4) 前記要求メッセージには、前記他の装置から前記特定のデータが取得されない場合の前記記憶部内のデータの送信の可否を示す制御情報が含まれており、
前記送信部は、前記取得部が前記他の装置から前記特定のデータを取得できない場合、前記制御情報に基づいて、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータを前記要求元装置に送信することを特徴とする付記1乃至3の何れかに記載の情報処理装置。
(付記5) 情報処理装置と、
データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを前記情報処理装置に送信する要求元装置とを有し、
前記情報処理装置は、
データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部と、
前記要求メッセージを前記要求元装置から受信する受信部と、
前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを前記記憶部から検索する検索部と、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する取得部と、
前記取得部が取得した前記特定のデータを前記要求元装置に送信する送信部とを有することを特徴とするデータ提供システム。
(付記6) 前記取得部は、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータについて、前記特定のデータを前記他の装置から取得することを特徴とする付記5に記載のデータ提供システム。
(付記7) 前記要求メッセージには、前記要求元装置に送信する前記特定のデータを制限する制限条件が含まれており、
前記送信部は、前記取得部が取得した前記特定のデータのうち、前記制限条件を満たすデータを前記要求元装置に送信することを特徴とする付記5または6に記載のデータ提供システム。
(付記8) 前記要求メッセージには、前記他の装置から前記特定のデータが取得されない場合の前記記憶部内のデータの送信の可否を示す制御情報が含まれており、
前記送信部は、前記取得部が前記他の装置から前記特定のデータを取得できない場合、前記制御情報に基づいて、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータを前記要求元装置に送信することを特徴とする付記5乃至6の何れかに記載のデータ提供システム。
(付記9) データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信する工程と、
データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部から、前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを検索する工程と、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する工程と、
取得した前記特定のデータを前記要求元装置に送信する工程とを、コンピュータが実行することを特徴とするデータ提供方法。
(付記10) 前記特定のデータを取得する工程において、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータについて、前記特定のデータを前記他の装置から取得することを特徴とする付記9に記載のデータ提供方法。
(付記11) 前記要求メッセージには、前記要求元装置に送信する前記特定のデータを制限する制限条件が含まれており、
前記特定のデータを前記要求元装置に送信する工程において、前記特定のデータのうち、前記制限条件を満たすデータを前記要求元装置に送信することを特徴とする付記9または10に記載のデータ提供方法。
(付記12) 前記要求メッセージには、前記他の装置から前記特定のデータが取得されない場合の前記記憶部内のデータの送信の可否を示す制御情報が含まれており、
前記特定のデータを前記要求元装置に送信する工程において、前記他の装置から前記特定のデータを取得できない場合、前記制御情報に基づいて、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータを前記要求元装置に送信することを特徴とする付記9乃至11の何れかに記載のデータ提供方法。
(付記13) データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信し、
データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部から、前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを検索し、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得し、
取得した前記特定のデータを前記要求元装置に送信する、処理を、コンピュータに実行させることを特徴とするデータ提供プログラム。
(付記14) 前記特定のデータを取得する処理において、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータについて、前記特定のデータを前記他の装置から取得することを特徴とする付記13に記載のデータ提供プログラム。
(付記15) 前記要求メッセージには、前記要求元装置に送信する前記特定のデータを制限する制限条件が含まれており、
前記特定のデータを前記要求元装置に送信する処理において、前記特定のデータのうち、前記制限条件を満たすデータを前記要求元装置に送信することを特徴とする付記13または14に記載のデータ提供プログラム。
(付記16) 前記要求メッセージには、前記他の装置から前記特定のデータが取得されない場合の前記記憶部内のデータの送信の可否を示す制御情報が含まれており、
前記特定のデータを前記要求元装置に送信する処理において、前記他の装置から前記特定のデータを取得できない場合、前記制御情報に基づいて、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータを前記要求元装置に送信することを特徴とする付記13乃至15の何れかに記載のデータ提供プログラム。
(付記1) データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部と、
データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信する受信部と、
前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを前記記憶部から検索する検索部と、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する取得部と、
前記取得部が取得した前記特定のデータを前記要求元装置に送信する送信部とを有することを特徴とする情報処理装置。
(付記2) 前記取得部は、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータについて、前記特定のデータを前記他の装置から取得することを特徴とする付記1に記載の情報処理装置。
(付記3) 前記要求メッセージには、前記要求元装置に送信する前記特定のデータを制限する制限条件が含まれており、
前記送信部は、前記取得部が取得した前記特定のデータのうち、前記制限条件を満たすデータを前記要求元装置に送信することを特徴とする付記1または2に記載の情報処理装置。
(付記4) 前記要求メッセージには、前記他の装置から前記特定のデータが取得されない場合の前記記憶部内のデータの送信の可否を示す制御情報が含まれており、
前記送信部は、前記取得部が前記他の装置から前記特定のデータを取得できない場合、前記制御情報に基づいて、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータを前記要求元装置に送信することを特徴とする付記1乃至3の何れかに記載の情報処理装置。
(付記5) 情報処理装置と、
データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを前記情報処理装置に送信する要求元装置とを有し、
前記情報処理装置は、
データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部と、
前記要求メッセージを前記要求元装置から受信する受信部と、
前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを前記記憶部から検索する検索部と、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する取得部と、
前記取得部が取得した前記特定のデータを前記要求元装置に送信する送信部とを有することを特徴とするデータ提供システム。
(付記6) 前記取得部は、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータについて、前記特定のデータを前記他の装置から取得することを特徴とする付記5に記載のデータ提供システム。
(付記7) 前記要求メッセージには、前記要求元装置に送信する前記特定のデータを制限する制限条件が含まれており、
前記送信部は、前記取得部が取得した前記特定のデータのうち、前記制限条件を満たすデータを前記要求元装置に送信することを特徴とする付記5または6に記載のデータ提供システム。
(付記8) 前記要求メッセージには、前記他の装置から前記特定のデータが取得されない場合の前記記憶部内のデータの送信の可否を示す制御情報が含まれており、
前記送信部は、前記取得部が前記他の装置から前記特定のデータを取得できない場合、前記制御情報に基づいて、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータを前記要求元装置に送信することを特徴とする付記5乃至6の何れかに記載のデータ提供システム。
(付記9) データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信する工程と、
データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部から、前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを検索する工程と、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する工程と、
取得した前記特定のデータを前記要求元装置に送信する工程とを、コンピュータが実行することを特徴とするデータ提供方法。
(付記10) 前記特定のデータを取得する工程において、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータについて、前記特定のデータを前記他の装置から取得することを特徴とする付記9に記載のデータ提供方法。
(付記11) 前記要求メッセージには、前記要求元装置に送信する前記特定のデータを制限する制限条件が含まれており、
前記特定のデータを前記要求元装置に送信する工程において、前記特定のデータのうち、前記制限条件を満たすデータを前記要求元装置に送信することを特徴とする付記9または10に記載のデータ提供方法。
(付記12) 前記要求メッセージには、前記他の装置から前記特定のデータが取得されない場合の前記記憶部内のデータの送信の可否を示す制御情報が含まれており、
前記特定のデータを前記要求元装置に送信する工程において、前記他の装置から前記特定のデータを取得できない場合、前記制御情報に基づいて、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータを前記要求元装置に送信することを特徴とする付記9乃至11の何れかに記載のデータ提供方法。
(付記13) データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信し、
データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部から、前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを検索し、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得し、
取得した前記特定のデータを前記要求元装置に送信する、処理を、コンピュータに実行させることを特徴とするデータ提供プログラム。
(付記14) 前記特定のデータを取得する処理において、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータについて、前記特定のデータを前記他の装置から取得することを特徴とする付記13に記載のデータ提供プログラム。
(付記15) 前記要求メッセージには、前記要求元装置に送信する前記特定のデータを制限する制限条件が含まれており、
前記特定のデータを前記要求元装置に送信する処理において、前記特定のデータのうち、前記制限条件を満たすデータを前記要求元装置に送信することを特徴とする付記13または14に記載のデータ提供プログラム。
(付記16) 前記要求メッセージには、前記他の装置から前記特定のデータが取得されない場合の前記記憶部内のデータの送信の可否を示す制御情報が含まれており、
前記特定のデータを前記要求元装置に送信する処理において、前記他の装置から前記特定のデータを取得できない場合、前記制御情報に基づいて、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータを前記要求元装置に送信することを特徴とする付記13乃至15の何れかに記載のデータ提供プログラム。
10 CPU
13 記憶デバイス
100 要求受付部
101 検索部
102 データ取得部
103 キャッシュ処理部
105 応答部
131 データベース
TR#1〜#4 中継装置
RQ#1〜#5 要求元装置
PV#1〜#5 データ提供装置
13 記憶デバイス
100 要求受付部
101 検索部
102 データ取得部
103 キャッシュ処理部
105 応答部
131 データベース
TR#1〜#4 中継装置
RQ#1〜#5 要求元装置
PV#1〜#5 データ提供装置
Claims (7)
- データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部と、
データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信する受信部と、
前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを前記記憶部から検索する検索部と、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する取得部と、
前記取得部が取得した前記特定のデータを前記要求元装置に送信する送信部とを有することを特徴とする情報処理装置。 - 前記取得部は、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータについて、前記特定のデータを前記他の装置から取得することを特徴とする請求項1に記載の情報処理装置。
- 前記要求メッセージには、前記要求元装置に送信する前記特定のデータを制限する制限条件が含まれており、
前記送信部は、前記取得部が取得した前記特定のデータのうち、前記制限条件を満たすデータを前記要求元装置に送信することを特徴とする請求項1または2に記載の情報処理装置。 - 前記要求メッセージには、前記他の装置から前記特定のデータが取得されない場合の前記記憶部内のデータの送信の可否を示す制御情報が含まれており、
前記送信部は、前記取得部が前記他の装置から前記特定のデータを取得できない場合、前記制御情報に基づいて、前記記憶部に記憶されたデータのうち、前記識別子に対応し、前記条件を満たさない前記時刻情報が対応付けられたデータを前記要求元装置に送信することを特徴とする請求項1乃至3の何れかに記載の情報処理装置。 - 情報処理装置と、
データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを前記情報処理装置に送信する要求元装置とを有し、
前記情報処理装置は、
データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部と、
前記要求メッセージを前記要求元装置から受信する受信部と、
前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを前記記憶部から検索する検索部と、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する取得部と、
前記取得部が取得した前記特定のデータを前記要求元装置に送信する送信部とを有することを特徴とするデータ提供システム。 - データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信する工程と、
データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部から、前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを検索する工程と、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得する工程と、
取得した前記特定のデータを前記要求元装置に送信する工程とを、コンピュータが実行することを特徴とするデータ提供方法。 - データに対応する識別子と、前記データに対応付けられた時刻に関する条件を含む要求メッセージを要求元装置から受信し、
データと前記データを記憶した時刻を示す時刻情報を記憶する記憶部から、前記識別子に対応し、前記条件を満たす前記時刻情報が対応付けられた特定のデータを検索し、
検索した結果、前記記憶部に前記特定のデータが記憶されている場合には、前記記憶部から前記特定のデータを取得し、前記特定のデータが前記記憶部に記憶されていない場合には、前記特定のデータを他の装置から取得し、
取得した前記特定のデータを前記要求元装置に送信する、処理を、コンピュータに実行させることを特徴とするデータ提供プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016072477A JP2017182665A (ja) | 2016-03-31 | 2016-03-31 | 情報処理装置、データ提供システム、データ提供方法、及びデータ提供プログラム |
US15/464,584 US20170286562A1 (en) | 2016-03-31 | 2017-03-21 | Information processing apparatus, data providing system, and data providing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016072477A JP2017182665A (ja) | 2016-03-31 | 2016-03-31 | 情報処理装置、データ提供システム、データ提供方法、及びデータ提供プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017182665A true JP2017182665A (ja) | 2017-10-05 |
Family
ID=59959407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016072477A Pending JP2017182665A (ja) | 2016-03-31 | 2016-03-31 | 情報処理装置、データ提供システム、データ提供方法、及びデータ提供プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170286562A1 (ja) |
JP (1) | JP2017182665A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6489250B1 (ja) * | 2018-02-13 | 2019-03-27 | オムロン株式会社 | 候補抽出装置、候補抽出方法及びプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009169888A (ja) * | 2008-01-21 | 2009-07-30 | Hitachi-Ge Nuclear Energy Ltd | センサノード、センサネットワークシステム及び測定データの通信方法 |
JP2015076833A (ja) * | 2013-10-11 | 2015-04-20 | Kddi株式会社 | ネットワーク符号化装置、ネットワーク符号化方法及びネットワーク符号化プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4309629B2 (ja) * | 2002-09-13 | 2009-08-05 | 株式会社日立製作所 | ネットワークシステム |
JP4702314B2 (ja) * | 2007-03-23 | 2011-06-15 | ブラザー工業株式会社 | コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びコンテンツデータ取得方法 |
JP5505009B2 (ja) * | 2010-03-19 | 2014-05-28 | 富士通株式会社 | 通信端末装置、コンピュータプログラムおよびコンテンツ検索方法 |
JP6011421B2 (ja) * | 2013-03-29 | 2016-10-19 | 富士通株式会社 | ストレージシステム、情報処理装置の制御プログラム及びストレージシステムの制御方法 |
-
2016
- 2016-03-31 JP JP2016072477A patent/JP2017182665A/ja active Pending
-
2017
- 2017-03-21 US US15/464,584 patent/US20170286562A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009169888A (ja) * | 2008-01-21 | 2009-07-30 | Hitachi-Ge Nuclear Energy Ltd | センサノード、センサネットワークシステム及び測定データの通信方法 |
JP2015076833A (ja) * | 2013-10-11 | 2015-04-20 | Kddi株式会社 | ネットワーク符号化装置、ネットワーク符号化方法及びネットワーク符号化プログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6489250B1 (ja) * | 2018-02-13 | 2019-03-27 | オムロン株式会社 | 候補抽出装置、候補抽出方法及びプログラム |
JP2019140558A (ja) * | 2018-02-13 | 2019-08-22 | オムロン株式会社 | 候補抽出装置、候補抽出方法及びプログラム |
WO2019159482A1 (ja) * | 2018-02-13 | 2019-08-22 | オムロン株式会社 | 候補抽出装置、候補抽出方法及びプログラム |
CN111602408A (zh) * | 2018-02-13 | 2020-08-28 | 欧姆龙株式会社 | 候选提取装置、候选提取方法及程序 |
US11803406B2 (en) | 2018-02-13 | 2023-10-31 | Omron Corporation | Candidate extraction apparatus, candidate extraction method, and program |
Also Published As
Publication number | Publication date |
---|---|
US20170286562A1 (en) | 2017-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aboodi et al. | Survey on the Incorporation of NDN/CCN in IoT | |
KR100811727B1 (ko) | 부하분산방법, 노드 및 제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체 | |
TWI377825B (en) | Method and system for providing a network protocol for utility services | |
US11784950B2 (en) | Mesh networking using peer to peer messages for a hospitality entity | |
EP2632115A1 (en) | A gateway for communication in a tactical network | |
TW201130371A (en) | Methods and apparatus for combined peer to peer and wide area network based discovery | |
CN103874157A (zh) | 路由转发、建立路由表、和获取内容的方法及其装置 | |
JP2014170293A (ja) | データ送信装置、データ共有システム、データ共有方法、およびメッセージ交換システム | |
JPWO2008126210A1 (ja) | 通信経路選択プログラム、通信経路選択方法および通信経路選択装置 | |
Cao et al. | A geographic multicopy routing scheme for DTNs with heterogeneous mobility | |
EP3484208A1 (en) | Mesh networking using peer to peer messages | |
KR20130037368A (ko) | 센서 네트워크를 구성하는 중간 노드 장치 및 중간 노드 장치가 수행하는 센서 데이터 처리 방법 | |
JP2014507702A (ja) | モバイルコンピューティングデバイスセンサを用いたプライベートスペースのマップの生成 | |
US20180309834A1 (en) | Connection destination server instruction apparatus, service use system, client terminal, connection destination server instruction method, and program | |
JP2015197920A (ja) | コンテンツ中心ネットワークにおけるデバイス登録及び検出のためのシステム及び方法 | |
US20160119740A1 (en) | Identifying Resources from a Device in a Communications Network | |
CN112789873A (zh) | 具有子网的蓝牙网状路由 | |
US10536368B2 (en) | Network-aware routing in information centric networking | |
CN100423514C (zh) | 分布式设备中地址解析协议数据同步的方法 | |
CN102647364B (zh) | Mesh网络路由方法、设备及系统 | |
JP2017182665A (ja) | 情報処理装置、データ提供システム、データ提供方法、及びデータ提供プログラム | |
JP2001127794A (ja) | 情報検索機能をもつネットワークシステム、情報検索機能をもつネットワーク端末装置、及び情報検索機能をもつネットワーク中継装置 | |
JP2004062443A (ja) | サービス管理システム、サービス管理方法、サーバ管理装置、通信端末及びサーバ装置 | |
JP5217986B2 (ja) | ゲートウェイ装置 | |
Wang et al. | Minerva: Information-centric programming for social sensing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191112 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200526 |