JP2015115014A - ノード装置、情報処理システム、情報処理方法、及び情報処理プログラム - Google Patents
ノード装置、情報処理システム、情報処理方法、及び情報処理プログラム Download PDFInfo
- Publication number
- JP2015115014A JP2015115014A JP2013258728A JP2013258728A JP2015115014A JP 2015115014 A JP2015115014 A JP 2015115014A JP 2013258728 A JP2013258728 A JP 2013258728A JP 2013258728 A JP2013258728 A JP 2013258728A JP 2015115014 A JP2015115014 A JP 2015115014A
- Authority
- JP
- Japan
- Prior art keywords
- information
- content
- message
- query
- address
- 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
Classifications
-
- 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/51—Discovery or management thereof, e.g. service location protocol [SLP] or web 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- 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/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
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- 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/2866—Architectures; Arrangements
- H04L67/288—Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
-
- 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/563—Data redirection of data network streams
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】プロキシサーバを適当に配置し、ネットワークの使用効率を向上させる。
【解決手段】情報保持装置及び情報参照要求装置にネットワークを介して接続されたノード装置は、第1の情報参照要求装置からの情報保持装置が保持するコンテンツのコンテンツ識別情報及び第1の情報参照要求装置の識別情報を含む要求による情報検索を通じて取得された、コンテンツ識別情報、第1の情報参照要求装置の識別情報、及び情報保持装置の識別情報を記憶する記憶部と、記憶部に記憶された情報に基づく所定の条件が満たされた場合に、情報保持装置からコンテンツを取得し、情報保持装置に代わって、コンテンツ識別情報を含む要求に応答する処理部と、を備える。
【選択図】図13
【解決手段】情報保持装置及び情報参照要求装置にネットワークを介して接続されたノード装置は、第1の情報参照要求装置からの情報保持装置が保持するコンテンツのコンテンツ識別情報及び第1の情報参照要求装置の識別情報を含む要求による情報検索を通じて取得された、コンテンツ識別情報、第1の情報参照要求装置の識別情報、及び情報保持装置の識別情報を記憶する記憶部と、記憶部に記憶された情報に基づく所定の条件が満たされた場合に、情報保持装置からコンテンツを取得し、情報保持装置に代わって、コンテンツ識別情報を含む要求に応答する処理部と、を備える。
【選択図】図13
Description
本発明は、ノード装置、情報処理システム、情報処理方法、および情報処理プログラムに関する。
WEBサービスと検索エンジンの普及により、近年、ネットワークは、単なる通信手段としてではなく、多様な情報が蓄積された巨大なデータベースとしても利用されている。ネットワークに蓄積される情報には、例えば、テキスト情報,静止画,オーディオ,動画
等があり、蓄積される情報量は年々増している。
等があり、蓄積される情報量は年々増している。
また、M2M(Machine-to-Machine)やIOT(Internet of Things)といったサービスでは、ネットワークに接続された機器同士が相互にリアルタイムに情報を流通させる。M2MやIOT等のサービスを提供するネットワークでは、全ての通信ピアによって双方向且つフラットに情報の交換が行われる。そのため、ネットワークのトラフィック量は、増え続けている。
図1は、情報参照システムの一例を示す図である。図1に示される情報参照システムP100は、1つの情報生成元装置P9から、6台の情報参照装置P1〜P6が情報を参照するシステムである。情報参照装置P1〜P6は、例えば、DNS(Domain Name Server)で情報生成元装置P9を特定し、個々に情報生成元装置P9とコネクションを張り、個々にアプリケーションインタフェースとプロトコルで通信を行う。したがって、図1に示される情報参照システムP100では、6つのコネクションが張られている。この場合、情報生成元装置P9に近付くにつれ、トラフィックが輻輳する可能性が高い。
図2は、情報参照システムの一例である。図2の情報参照システムP200は、図1に示される情報参照システムP100と同様に、1つの情報生成元装置P9から、6台の情報参照装置P1〜P6が情報を参照するシステムである。
図2に示される情報参照システムP200では、各情報参照装置の近くにプロキシサーバP11〜P13が配置されている。例えば、プロキシサーバP11は、情報参照装置P1のプロキシ処理として情報生成元装置P9から参照対象の情報を取得し、該参照対象の情報をキャッシュに保持する。その後、他の情報参照装置P2から該参照対象の情報の参照を受け付けた場合には、プロキシサーバ11が情報参照装置P2に応答する。また、他のプロキシサーバP12,P13は、配下の情報参照装置から情報生成元装置P9への情報要求を受信した場合には、情報生成元装置P9からではなく、プロキシサーバP11から参照対象の情報を取得することが可能である。
したがって、プロキシを情報参照装置の近くに配置することによって、トラフィックを分散することができ、輻輳を発生することを低減することができる。
しかしながら、M2MやIOTのシステムのように、全ての通信ピアによって双方向且つフラットに情報の交換が行われるシステムでは、以下のような問題があった。
全ての通信ピアによって双方向且つフラットに情報の交換が行われるシステムでは、情報の参照状況が動的に変化し、情報要求の発生やトラフィックが集中する箇所を予測することが困難である。そのため、あらかじめ決められた場所にプロキシサーバ又はキャッシュサーバを配置しても、トラフィックの分散等の期待する効果が得られない可能性がある。
また、M2MやIOTのシステムには、例えば、情報生成元装置としての温度センサが生成する温度情報を取り扱うシステムがあり、M2MやIOTのシステムでは、参照対象のコンテンツの内容が動的に変化することが想定される。コンテンツの内容が動的に変化する場合には、該コンテンツの内容の更新に伴う情報生成元装置からプロキシサーバ又はキャッシュサーバに向けてキャッシュの更新が発生する。しかしながら、上述のように、M2MやIOTのシステムではトラフィックを予想することが困難なため、プロキシサーバ又はキャッシュサーバの配置を決定することはさらに困難であった。
ネットワークを効率よく使用可能なノード装置,情報処理システム,情報処理方法,および情報処理プログラムを提供することを目的とする。
一側面によれば、本発明は、情報保持装置及び情報参照要求装置にネットワークを介して接続されたノード装置であって、第1の情報参照要求装置からの前記情報保持装置が保持するコンテンツのコンテンツ識別情報及び前記第1の情報参照要求装置の識別情報を含む要求による情報検索を通じて取得された、前記コンテンツ識別情報、前記第1の情報参照要求装置の識別情報、及び前記情報保持装置の識別情報を記憶する記憶部と、前記記憶部に記憶された情報に基づく所定の条件が満たされた場合に、前記情報保持装置から前記コンテンツを取得し、前記情報保持装置に代わって、前記コンテンツ識別情報を含む要求に応答する処理部と、
を備えるノード装置である。
を備えるノード装置である。
本発明の他の態様の一つは、情報保持装置、情報参照要求装置、上述のノード装置を含む情報処理システムである。また、本発明の他の態様は、ノード装置が上述した処理を実行する情報処理方法である。また、本発明の他の態様は、コンピュータを上述したノード装置として機能させるプログラム、及び当該プログラムを記録したコンピュータ読み取り可能であり非一時的な記録媒体を含むことができる。コンピュータ等が読み取り可能な一時的でない記録媒体には、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
開示のノード装置、情報処理システム、情報処理方法、及び情報処理プログラムによれば、プロキシサーバを適当な位置に配置し、ネットワークの使用効率を向上させることができる。
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
<第1実施形態>
<情報処理システムにおける処理の流れ>
図3,図4,図5,図6,図7,図8は、第1実施形態に係る情報処理システムにおいて情報参照に係る一連の処理の一例を示す図である。図3〜図8に示される情報処理システムは、いずれも同一のシステムを示しており、情報生成元装置と、複数の情報参照装置と、複数の中継装置と、を含む。図中では、各装置には、IPアドレスの下位16ケタの10進数表記の値が付されており、図3〜図8の説明においては、各装置は、IPアドレスの下位16ケタの10進数表記の値で識別される。
<情報処理システムにおける処理の流れ>
図3,図4,図5,図6,図7,図8は、第1実施形態に係る情報処理システムにおいて情報参照に係る一連の処理の一例を示す図である。図3〜図8に示される情報処理システムは、いずれも同一のシステムを示しており、情報生成元装置と、複数の情報参照装置と、複数の中継装置と、を含む。図中では、各装置には、IPアドレスの下位16ケタの10進数表記の値が付されており、図3〜図8の説明においては、各装置は、IPアドレスの下位16ケタの10進数表記の値で識別される。
図3は、コンテンツの登録と検索の処理の一例を示す図である。(1)例えば、情報生成元装置10.2は、温度センサであり“tempLocA”という名前のコンテンツをコンテンツ公開用のキャッシュに登録する。“tempLocA”という名前のコンテンツは温度の情報であり、その値は不定である。
(2)次に、情報参照装置40.3が“tempLocA”という名前のコンテンツの検索要求であるQUERYメッセージを送信する。QUERYメッセージは、例えば、ブロードキャストで情報参照装置40.3から送信される。
(3)QUERYメッセージは、まず、情報参照装置40.3が接続するNWの中継装置40.1に届く。その後、検索対象のコンテンツ“tempLocA”を保持する装置(情報生成元装置10.2)に到達するまで、QUERYメッセージは、隣接する中継装置間で中継される。
なお各中継装置は、QUERYメッセージによって要求されるコンテンツ“tempLocA”を保持する装置の所在(IPアドレス)について、この時点では知らない。そのため、QUERYメッセージは、隣接するすべての装置に中継される。QUERYメッセージは、中継される度に、各装置によって宛先IPアドレス及び送信元IPアドレスが書き換えられる。QUERYメッセージの宛先IPアドレスは、隣接の装置のIPアドレスに、送信元IPアドレスは自装置のIPアドレスに書き換えられる。例えば、中継装置40.1から隣接の中継装置30.1に中継される場合には、QUERYメッセージの送信先IPアドレスは中継装置30.1のIPアドレスに、送信元IPアドレスは中継装置40.1のIPアドレスに書き換えられる。
図4は、クエリリストの生成処理の一例を示す図である。クエリリストは各装置に備えられており、各装置が受信、送信、または中継したQUERYメッセージの情報が格納される。クエリリストには、例えば、クエリ対象コンテンツ、クエリID、要求元装置のIPアドレス、送信先のIPアドレス、情報保持装置のIPアドレスが格納される。
クエリリストのクエリ対象コンテンツ、クエリID、要求元装置のIPアドレス、送信先のIPアドレスは、QUERYメッセージを中継する際に取得され、クエリリストに格納される。すなわち、各装置において、QUERYメッセージを受信または中継した時点では、クエリリスト内の情報保持装置のIPアドレスは空である。
(4)情報生成元装置10.2にQUERYメッセージが到達すると、情報生成元装置10.2は、QUERYメッセージによって要求されているコンテンツ“tempLocA”を持っていること通知するNOTIFYメッセージを送信する。NOTIFYメッセージには、QUERYメッセージによって要求されたコンテンツ“tempLocA”の情報保持装置である情報生成元装置10.2の情報が含まれる。情報生成元装置10.2は、NOTIFYメッセージの宛先IPアドレスを受信したQUERYメッセージの送信元IPアドレス、すなわち、中継装置10.1のIPアドレスに設定して送信する。
各装置において、NOTIFYメッセージは、QUERYメッセージと同様に、中継の度に、宛先及び送信元IPアドレスが書き換えられる。NOTIFYメッセージの宛先IPアドレスは、クエリリストから得られるQUERYメッセージの要求元装置のIPアドレスに設定される。また、NOTIFYメッセージの送信元IPアドレスは、自装置のIPアドレスに設定される。
したがって、NOTIFYメッセージは、QUERYメッセージが送信された逆の経路をたどって情報参照装置40.3に返されることになる。各装置は、NOTIFYメッセージを中継または受信することによって、QUERYメッセージによって要求されたコンテンツ“tempLocA”の情報保持装置のIPアドレスを取得し、クエリリストに記録する。QUERYメッセージに対応するNOTIFYメッセージを受信することによって、各装置においてコンテンツの検索が完了する。すなわち、コンテンツの検索が完了すると、クエリリストのすべての項目の値が格納される。図4では、検索が完了した時点の、各装置のクエリリストの一例が示されている。
図5は、情報参照装置のコンテンツ取得処理の一例を示す図である。(5)情報参照装置40.3は、NOTIFYメッセージで通知された情報生成元装置10.2のIPアドレスを宛先IPアドレスとしてコンテンツ“tempLocA”の取得要求であるREQUESTメッセージを送信する。このREQUESTメッセージは、各中継装置によって、宛先である情報生成元装置10.2まで転送される。
(6)情報生成元装置10.2は、REQUESTメッセージを受信すると、REQUESTメッセージで要求されるコンテンツ“tempLocA”の値を含むDATAメッセージを、REQUESTメッセージの送信元である情報参照装置40.3に送信する。その後、コンテンツ“tempLocA”は値が不定であるため、情報参照装置40.3は、定期的に情報生成元装置10.2にコンテンツ“tempLocA”の取得要求であるREQUESTメッセージを送信して、コンテンツ“tempLocA”を取得する。
図6は、新たな情報参照装置によるコンテンツ検索の処理の一例を示す図である。図6では、(7)新たに情報参照装置40.2によるコンテンツ“tempLocA”の検索が発生する。(8)情報参照装置40.2は、コンテンツ“tempLocA”の検索要求であるQUERYメッセージを送信する。
(9)情報参照装置40.2から送信されたQUERYメッセージは、中継装置40.1に届く。中継装置40.1は、過去に同一の名前のコンテンツ“tempLocA”の検索を処理しており、クエリリスト内にコンテンツ“tempLocA”の情報保持装置のIPアドレスを記録している。そのため、中継装置40.1は、QUERYメッセージを隣接の中継装置に中継せずに、コンテンツ“tempLocA”の情報保持装置である情報生成元装置10.2のIPアドレスをNOTIFYメッセージに設定して、情報参照装置40.2に送信する。これによって、情報参照装置40.2は、コンテンツ“tempLocA”の情報保持装置として情報生成元装置10.2のIPアドレスを取得し、クエリリストに記録する。
1回目の検索要求(QUERYメッセージ)の処理を通じて、QUERYメッセージ及びNOTIFYメッセージの経路上の各装置には動的にクエリリストが生成される。これによって、同じ名前のコンテンツに対して新たな装置からの検索要求が発生した場合には、クエリリストに従って、該コンテンツの情報保持装置のIPアドレスが検索結果として返される。これによって、情報生成元装置の移動等に対して、柔軟に対応することができ、コンテンツの検索処理を効率化することができる。
なお、(9)の処理において、中継装置40.1は、コンテンツ“tempLocA”の情報保持装置として情報生成元装置10.2の代わりに、自分自身のIPアドレスをNOTIFYメッセージに設定して、情報参照装置40.2に送信してもよい。例えば、中継装置40.1のプロキシサーバとしての機能が有効になっている場合には、中継装置40.1は、(9)の処理において、自分自身のIPアドレスをNOTIFYメッセージに設定して、情報参照装置40.2に送信する。中継装置40.1のプロキシサーバとしての機能が有効である状態を、以降、プロキシモードと称する。図6では、中継装置40.1がプロキシモードで動作しており、情報参照装置40.2は、コンテンツ“tempLocA”の情報保持装置として中継装置40.1を認識しているクエリリストが示されている。
図7は、新たな情報参照装置40.2のコンテンツ取得の処理の一例を示す図である。図7では、中継装置40.1がプロキシモードで動作しており、情報参照装置40.2は、コンテンツ“tempLocA”の情報保持装置として中継装置40.1を認識している場合の例が示される。
(10)情報参照装置40.2は、NOTIFYメッセージを受信すると、コンテンツの取得要求であるREQUESTメッセージを、NOTIFYで通知された情報保持装置としての中継装置40.1に送信する。
(11)中継装置40.1はREQUESTメッセージを受信すると、情報生成元装置10.2のプロキシサーバとしての動作を行う。具体的には、中継装置40.1は、コンテンツ“tempLocA”のREQUESTメッセージを情報生成元装置10.2に送信する。(12)情報生成元装置10.2は、REQUESTメッセージを受信すると、コンテンツ“tempLocA”を含むDATAメッセージを、中継装置40.1を宛先に設定して送信する。
(13)中継装置40.1は、DATAメッセージを受信すると、コンテンツ“tempLocA”をキャッシュに保存し、コンテンツ“tempLocA”を含むDATAメッセージを情報参照装置40.2に送信する。
以降、中継装置40.1は、所定の周期で、コンテンツ“tempLocA”のREQUESTメッセージを情報生成元装置10.2に送信して、コンテンツ“tempLocA”を取得し、キャッシュに保存する。また、情報参照装置40.2は、中継装置40.1から、コンテンツ“tempLocA”を取得する。
以上より、クエリリストに登録されていない装置からのコンテンツの検索要求を受信する装置は、ネットワークトポロジにおいて情報配信の分岐ポイントである可能性が高い。そのため、該装置にプロキシ機能を動的に実行可能にする事で、ネットワークの使用効率を向上させるように、プロキシ機能を配置することができる。ネットワークの使用効率が上がるとは、ネットワーク全体のトラフィックが低減されることや、メモリ等のリソースの使用が低減されることを含む。
図8は、情報保持装置の移動を通知する処理の一例である。中継装置40.1は、図7の(12)の処理において、コンテンツ“tempLocA”を取得し、情報参照装置40.2に対してプロキシサーバとして動作を開始した。
(13)コンテンツ“tempLocA”の情報参照装置として、クエリリストには情報参照装置40.2の他に情報参照装置40.3が登録されている。そのため、中継装置40.1は、情報参照装置40.3にコンテンツ“tempLocA”の情報保持装置が
情報生成元装置10.2から中継装置40.1に変更になったことを通知するREDIRECTメッセージを送信する。
情報生成元装置10.2から中継装置40.1に変更になったことを通知するREDIRECTメッセージを送信する。
情報参照装置40.3は、REDIRECTメッセージを受信すると、クエリリスト内の該当エントリの情報保持装置のIPアドレスを、REDIRECTメッセージで通知された中継装置40.1のIPアドレスに書き換える。以降、情報参照装置40.2と情報参照装置40.3とは、中継装置40.1に対してコンテンツ“tempLocA”の取得要求であるREQUESTメッセージを送信し、中継装置40.2からコンテンツ“tempLocA”を取得する。
これにより、情報生成元装置10.2から情報参照装置40.2及び情報参照装置40.3に向けたコンテンツのトラフィックを集約することができる。
例えば、情報参照装置40.2又は情報参照装置40.3のいずれかが、情報の参照を停止した場合、中継装置40.1は、動的に設置したプロキシ機能を停止し、情報参照装置が現在参照している情報“tempLocA"の情報保持装置10.2のアドレス情報
を、情報の参照を停止していない情報参照装置40.2又は情報参照装置40.3のいずれかにREDIRECTメッセージで送信する。これによって、各装置のクエリリストが、図4の状態に戻る。情報の参照の停止は、情報参照装置からの明示的な停止メッセージ又は、プロキシ機能の有効期間を示すタイマによって行われてもよい。
を、情報の参照を停止していない情報参照装置40.2又は情報参照装置40.3のいずれかにREDIRECTメッセージで送信する。これによって、各装置のクエリリストが、図4の状態に戻る。情報の参照の停止は、情報参照装置からの明示的な停止メッセージ又は、プロキシ機能の有効期間を示すタイマによって行われてもよい。
<情報処理システムの構成例>
図9は、情報処理システムの構成例を示す図である。以降、第1実施形態では、図9に示されるシステムを想定して、説明が行われる。情報処理システム100では、温度、湿度、気圧等の各種センサを備えた気象情報観測装置を高密度に配置したセンサネットワークから、利用者がスマートフォンから任意の位置を指定する事で、各地域の詳細な気象データを入手できる詳細気象情報サービスのシステムである。このようなセンサを高密度に配置し情報提供を行うようなサービスは、広範囲にセンサインフラを構築するのが困難なため、サービス提供地域を限定した複数のサービス提供事業者が現れ、それらが相互に連携する事で、ユーザがあらゆる地域の情報を入手できるようになる。
図9は、情報処理システムの構成例を示す図である。以降、第1実施形態では、図9に示されるシステムを想定して、説明が行われる。情報処理システム100では、温度、湿度、気圧等の各種センサを備えた気象情報観測装置を高密度に配置したセンサネットワークから、利用者がスマートフォンから任意の位置を指定する事で、各地域の詳細な気象データを入手できる詳細気象情報サービスのシステムである。このようなセンサを高密度に配置し情報提供を行うようなサービスは、広範囲にセンサインフラを構築するのが困難なため、サービス提供地域を限定した複数のサービス提供事業者が現れ、それらが相互に連携する事で、ユーザがあらゆる地域の情報を入手できるようになる。
図9に示される情報処理システム100では、詳細気象情報サービスネットワークA,
B,C,Dの4つの異なるサービスプロバイダのネットワークが相互に連携してサービスが提供される例が示されている。各サービスプロバイダのネットワークは、気象情報観測装置(センサ)2を含むセンサネットワーク(SNW#1〜#4)と、センサ情報を取集し情報公開を行うゲートウェイ(GW)装置(M2M−GW#1〜#4)と、他のサービスプロバイダのネットワークとの連携を行うGW装置(DP−GW#1〜#4)を備える。各詳細気象情報サービスネットワークA,B,C,D間は、基幹網(NW#1〜#4)で接続さ
れる。図中の各GW装置間を結ぶ線は、基幹網上に構築された論理的なコネクションを示している。
B,C,Dの4つの異なるサービスプロバイダのネットワークが相互に連携してサービスが提供される例が示されている。各サービスプロバイダのネットワークは、気象情報観測装置(センサ)2を含むセンサネットワーク(SNW#1〜#4)と、センサ情報を取集し情報公開を行うゲートウェイ(GW)装置(M2M−GW#1〜#4)と、他のサービスプロバイダのネットワークとの連携を行うGW装置(DP−GW#1〜#4)を備える。各詳細気象情報サービスネットワークA,B,C,D間は、基幹網(NW#1〜#4)で接続さ
れる。図中の各GW装置間を結ぶ線は、基幹網上に構築された論理的なコネクションを示している。
ユーザは気象情報サービスの利用のためのアプリケーションを搭載する情報処理端末3をDP−GW#1〜#4のいずれかに接続することで、気象情報サービスを利用する事ができる。情報処理端末3は、例えば、スマートフォン、携帯電話端末、タブレット端末、PC等の取得した情報の表示とGW装置との通信が可能な装置である。また、情報処理端末3は、携帯型の装置に限定されず、据え置き型の装置であってもよい。図9に示される例では、ユーザが利用する情報処理端末3はスマートフォンであると想定する。
また、情報処理端末3とGW装置間の通信は、Wi−Fi(Wireless Fidelity)等の
近距離無線による直接接続、又は、3G(第3世代移動通信システム)やLTE(Long T
erm Evolution)のような通信キャリア経由の通信のいずれであってもよい。
近距離無線による直接接続、又は、3G(第3世代移動通信システム)やLTE(Long T
erm Evolution)のような通信キャリア経由の通信のいずれであってもよい。
以降、M2M−GW#1〜#4は、センサネットワークと基幹網とを相互接続するものであり、GW装置であるものの、第1実施形態においてその機能はDP−GW#1〜#4とは異なるため、役割としては、情報処理端末3と同等に取り扱う。そのため、以降、GW装置1と表記する場合には、DP−GW#1〜#4を指し、GW装置3と表記する場合にはM2M−GW#1〜#4を指す。また、以降、情報処理端末3と表記する場合にも、M2M−GW#1〜#4が含まれる。
<メッセージの種類>
情報処理システム100では、各装置間で複数のメッセージが用いられる。これらのメッセージは、例えば、TCP(Transmission Control Protocol)を用いた高位層(例え
ばアプリケーションレイヤ)のプロトコルによって通信される。
情報処理システム100では、各装置間で複数のメッセージが用いられる。これらのメッセージは、例えば、TCP(Transmission Control Protocol)を用いた高位層(例え
ばアプリケーションレイヤ)のプロトコルによって通信される。
図10は、TCPのデータグラムのフォーマットを示す図である。TCPのデータグラムのフォーマットの詳細についての説明は、周知であるため、省略する。第1実施形態で利用されるメッセージは、TCPデータグラムのデータ内に格納されて送受信される。
図11は、メッセージの種類と設定情報の一部の一例を示す図である。第1実施形態で用いられるメッセージには、PUBLISHメッセージ,QUERYメッセージ,NOTIFYメッセージ,REDIRECTメッセージ,REQUESTメッセージ,DATAメッセージがある。
PUBLISHメッセージは、コンテンツを公開するために用いられるメッセージである。PUBLISHメッセージの送信元IPアドレスには、メッセージの生成元装置のIPアドレスが設定される。PUBLISHメッセージの宛先IPアドレスには、隣接GW装置(DP−GW)のIPアドレスが設定される。PUBLISHメッセージのデータ部分には、公開するコンテンツ名と、該コンテンツの値とが格納される。
QUERYメッセージは、コンテンツの検索要求のメッセージである。QUERYメッセージの送信元IPアドレスには、メッセージの生成元装置のIPアドレスが設定される。QUERYメッセージの宛先IPアドレスには、後述のリンク情報に登録されているIPアドレスが設定される。QUERYメッセージのデータ部分には、検索要求の対象のコンテンツ名と、クエリIDと、該QUERYメッセージの経路履歴とが格納される。クエリIDは、QUERYメッセージの生成元装置によって、情報処理システム100内で唯一の値が付与される。QUERYメッセージの経路履歴には、中継される度に、QUERYメッセージを中継する装置によって、該装置のIPアドレスが追記されていく。
NOTIFYメッセージは、QUERYメッセージの検索対象のコンテンツの情報保持装置を通知するために用いられるメッセージである。NOTIFYメッセージの送信元IPアドレスには、メッセージの生成元装置のIPアドレスが設定される。NOTIFYメッセージの宛先IPアドレスには、対応するQUERYメッセージの送信元IPアドレスが設定される。NOTIFYメッセージのデータ部分には、検索対象のコンテンツ名と、対応するクエリIDと、検索対象のコンテンツの情報保持装置のIPアドレスとが格納される。
REDIRECTメッセージは、情報保持装置の移動を通知するために用いられるメッセージである。REDIRECTメッセージの送信元IPアドレスには、メッセージの生成元装置のIPアドレスが設定される。REDIRECTメッセージの宛先IPアドレスには、クエリリストで示されるクエリ要求元装置(QUERYメッセージの生成元装置)
IPアドレスが設定される。REDIRECTメッセージのデータ部分には、対象のコンテンツ名と、対応するクエリIDと、変更になった対象のコンテンツの情報保持装置のIPアドレスとが格納される。
IPアドレスが設定される。REDIRECTメッセージのデータ部分には、対象のコンテンツ名と、対応するクエリIDと、変更になった対象のコンテンツの情報保持装置のIPアドレスとが格納される。
REQUESTメッセージは、コンテンツの取得要求のメッセージである。REQUESTメッセージの送信元IPアドレスには、メッセージの生成元装置のIPアドレスが設定される。REQUESTメッセージの宛先IPアドレスには、クエリリストで示される情報保持装置のIPアドレスが設定される。REQUESTメッセージのデータ部分には、取得対象のコンテンツ名と、対応するクエリIDと、要求IDと、プロキシ機能情報とが格納される。要求IDは、REQUESTメッセージの生成元装置によって付与される。要求IDは、クエリIDと同じ値であってもよい。また、クエリIDの値を要求IDとして用いる場合には、要求IDは、REQUESTメッセージに含まれなくてもよい。プロキシ機能情報は、REQUESTメッセージの生成元装置が情報保持装置(主にプロキシとして動作する装置)に対して指示する制御情報である。例えば、プロキシ機能情報は、プロキシ種別識別情報、プロキシプログラムのパラメータ情報等のプロキシサーバとして動作する際に参照される情報が含まれる。
DATAメッセージは、REQUESTメッセージの取得対象のコンテンツを通知するために用いられるメッセージである。DATAメッセージの送信元IPアドレスには、メッセージの生成元装置のIPアドレスが設定される。DATAメッセージの宛先IPアドレスには、対応するREQUESTメッセージの送信元IPアドレスが設定される。DATAメッセージのデータ部分には、対象のコンテンツ名と、対応するクエリIDと、要求IDと、対象のコンテンツの値と、制御情報と、が格納される。要求IDは、対応するREQUESTメッセージから取得されるものである。なお、REQUESTメッセージに要求IDが含まれていない場合には、REQUESTメッセージの生成元は、クエリIDの値を要求IDの値として用いているので、DATAメッセージにも要求IDは含まれなくてもよい。又は、要求IDにクエリIDと同じ値を設定してもよい。制御情報は、DATAメッセージで通知されるコンテンツに対しての制御情報であって、例えば、該コンテンツの値の有効時間(生存時間)である。
<装置構成>
図12は、GW装置1のハードウェア構成の一例を示す図である。GW装置1は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、RO
M(Read Only Memory)103、補助記憶装置104、通信インタフェース105を備え、これらはバス106によって電気的に接続される。
図12は、GW装置1のハードウェア構成の一例を示す図である。GW装置1は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、RO
M(Read Only Memory)103、補助記憶装置104、通信インタフェース105を備え、これらはバス106によって電気的に接続される。
通信インタフェース105は、ネットワークとの情報の入出力を行うインタフェースである。通信インタフェース105は、基幹網インタフェース105Aとローカル網インタフェース105Bとを含む。
基幹網インタフェース105Aは、基幹網と接続しており、他のGW装置1(DP−GW)とのインタフェースである。基幹網インタフェース105Aは、例えば、光通信のインタフェースを備えたカードや、NIC(Network Interface Card)等である。ローカル網インタフェース105Bは、ローカル網と接続しており、情報処理端末3やゲートウェイ装置3(M2M−GW)とのインタフェースである。ローカル網インタフェース105Bは,例えば、NICである。または、ローカル網インタフェース105Bは、無線通信のカードであってもよい。
補助記憶装置104は、様々なプログラムや、各プログラムの実行に際してCPU 101が使用するデータを格納する。補助記憶装置104は、例えば、EPROM(Erasab
le Programmable ROM)、又はハードディスクドライブ(Hard Disc Drive)等の不揮発性のメモリである。補助記憶装置104は、例えば、オペレーティングシステム(OS),情報処理モジュール5,その他様々なアプリケーションプログラムを保持する。情報処理モジュール5は、クエリリストの作成、QUERYメッセージ等の中継処理、プロキシサーバとして動作の制御等を行うためのプログラムである。
le Programmable ROM)、又はハードディスクドライブ(Hard Disc Drive)等の不揮発性のメモリである。補助記憶装置104は、例えば、オペレーティングシステム(OS),情報処理モジュール5,その他様々なアプリケーションプログラムを保持する。情報処理モジュール5は、クエリリストの作成、QUERYメッセージ等の中継処理、プロキシサーバとして動作の制御等を行うためのプログラムである。
RAM 102は、CPU 101に、補助記憶装置104に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファ、キャッシュとして用いられたりする半導体メモリである。RAM 102は、揮発性及び不揮発性のものを含む。
CPU 101は、補助記憶装置104に保持されたOS、情報処理モジュール5等をRAM 102にロードして実行することによって、様々な処理を実行する。CPU 101は、1つに限られず、複数備えられてもよい。
GW装置1のハードウェア構成は、図12に示されるものに限られず、使用する製品によって適宜変更可能である。例えば、GW装置1は、可搬記録媒体駆動装置を備え、SDカード等の可搬記録媒体からプログラムを読み込み実行してもよい。
図13は、第1実施形態におけるGW装置1の機能構成の一例を示す図である。GW装置1は、GW装置1は、情報参照プロキシ部51,情報検索部52,情報公開部53,通信制御部54,処理保留リスト56−1,プロキシ情報56−2,プロキシ管理リスト56−3,クエリリスト56−4,リンク情報56−5,IDキャッシュ56−6を含む。情報参照プロキシ部51,情報検索部52,情報公開部53,通信制御部54は、CPU
101が情報処理モジュール5を実行することによって実現される機能である。また、処理保留リスト56−1,プロキシ情報56−2,プロキシ管理リスト56−3,クエリリスト56−4,リンク情報56−5,IDキャッシュ56−6は、情報処理モジュール5のインストール時に、または、情報処理モジュール5の実行を通じて、RAM 102または補助記憶装置104の記憶領域に作成される。
101が情報処理モジュール5を実行することによって実現される機能である。また、処理保留リスト56−1,プロキシ情報56−2,プロキシ管理リスト56−3,クエリリスト56−4,リンク情報56−5,IDキャッシュ56−6は、情報処理モジュール5のインストール時に、または、情報処理モジュール5の実行を通じて、RAM 102または補助記憶装置104の記憶領域に作成される。
通信制御部54は、基幹網インタフェース105A及びローカル網インタフェース105Bと、情報参照プロキシ部51,情報検索部52,情報公開部53との間の通信を制御する。より具体的には、通信制御部54には、RAM 102上にメッセージ受信キューとメッセージ送信キューの領域が確保される(いずれも図示せず)。
メッセージ受信キューには、基幹網インタフェース105A及びローカル網インタフェース105Bを通じて外部装置から受信される、宛先IPアドレスが自装置のメッセージが格納される、メッセージ受信キューにメッセージが格納された場合には、通信制御部54は、メッセージの種類に応じて、情報参照プロキシ部51,情報検索部52,情報公開部53のいずれかにメッセージを振り分ける。
例えば、PUBLISHメッセージは、情報公開部53に振り分けられる。QUERYメッセージ,NOTIFYメッセージ,REDIRECTメッセージは、情報検索部52に振り分けられる。REQUESTメッセージ,DATAメッセージは情報参照プロキシ部51に振り分けられる。
情報公開部53は、PUBLISHメッセージを受け取ると、後述のIDキャッシュ56−6に公開するコンテンツのコンテンツ識別情報やコンテンツの値等を記録する。
情報検索部52は、QUERYメッセージ,NOTIFYメッセージ,REDIREC
Tメッセージ等の中継処理を行い、これらの中継処理を通じて、クエリリスト56−4、リンク情報56−5を管理する。情報検索部52の処理の詳細については、後述される。
Tメッセージ等の中継処理を行い、これらの中継処理を通じて、クエリリスト56−4、リンク情報56−5を管理する。情報検索部52の処理の詳細については、後述される。
情報参照プロキシ部51は、情報処理端末,GW装置1のプロキシサーバとしての処理を行う。また、情報参照プロキシ部51は、処理保留リスト56−1,プロキシ情報56−2,プロキシ管理リスト56−3を管理する。情報参照プロキシ部51は、プロキシモードがオン(有効)になっている場合に起動する。プロキシモードの設定は、例えば、RAM 102に格納されており、情報処理システム100の管理者によって行われる。情報参照プロキシ部51の処理の詳細については、後述される。
なお、情報処理モジュール5は、第1実施形態では、プログラムとして説明されたが、これに限られず、例えば、LSI(Large Scale Integration),FPGA(Field-Programmable Gate Array)等のハードウェアで実現されてもよい。GW装置1は、「ノード装置」の一例である。
図14は、処理保留リスト56−1の一例を示す図である。処理保留リスト56−1は、情報参照プロキシ部51によって、コンテンツ取得要求であるREQUESTメッセージに対して処理を行うために該REQUESTメッセージの内容を一時的に記録するために用いられる。処理保留リスト56−1は、例えば、RAM 102に格納されている。
処理保留リスト56−1は、例えば、要求IDと、要求元アドレスと、プロキシ機能情報と、を保持し、要求IDで検索される。要求IDは、REQUESTメッセージに含まれる要求IDが用いられる。REQUESTメッセージの生成元装置が、要求IDとしてクエリIDを用いており、REQUESTメッセージ内に要求IDが含まれていない場合には、処理保留リスト56−1の要求IDにはREQUESTメッセージのクエリIDが格納される。要求元アドレスには、REQUESTメッセージの送信元アドレスが格納される。プロキシ機能情報は、他の装置から受信したREQUESTメッセージに含まれるプロキシ機能情報、または、自装置がREQUESTメッセージを生成する際に、REQUESTメッセージに付与するプロキシ情報が格納される。
図15は、プロキシ情報56−2の一例を示す図である。プロキシ情報56−2は、情報参照プロキシ部51が、REQUESTメッセージに対して、プロキシサーバとしての処理を実行する場合に、プロキシサーバとしての設定条件等を参照するために用いられる。プロキシ情報56−2は、例えば、補助記憶装置104に予め格納される。
プロキシ情報56−2は、例えば、プロキシ種別情報,実行オブジェクト,基本パラメータを含み、プロキシ種別識別情報で検索される。プロキシ種別識別情報は、プロキシ機能の識別情報である。プロキシ種別情報は、予めシステムで取り決めた番号や、実行オブジェクトのプログラム名等である。実行オブジェクトは、プロキシ処理を行うプログラムの識別情報である。基本パラメータは、実行オブジェクトの引数である。実行オブジェクトは、「更新部」の一例である。
図16は、プロキシ管理リスト56−3の一例を示す図である。プロキシ管理リスト56−3は、情報参照プロキシ部51がプロキシサーバとして動作している場合に、プロキシサーバのプログラムを管理するために用いられる。すなわち、プロキシ管理リスト56−3にエントリが存在するということは、自装置がいずれかの装置に対してプロキシサーバとして動作していることが示される。プロキシ管理リスト56−3は、例えば、RAM
102に格納されている。
102に格納されている。
プロキシ管理リスト56−3は、例えば、プロキシID,実行オブジェクト,実行パラ
メータ,実行条件,実行状態を含み、プロキシIDで検索される。プロキシIDは装置内部で起動しているプロキシ機能の識別情報である。第1実施形態では、プロキシIDには、クエリ対象コンテンツ名が用いられる。プロキシIDとしてプロキシIDにクエリ対象コンテンツ名を用いることによって、クエリリスト56−4とリンクを取ることができる。ただし、これに限られず、プロキシIDは、装置内で重複しないように付与されればよい。実行オブジェクトは、プロキシ処理を行うプログラムである。実行パラメータは、実行オブジェクトの引数である。実行条件は、実行オブジェクトの実行条件であって、予めプロキシ処理行うプログラムに対して設定されている。実行状態は、実行オブジェクトが実行中であるか否かを示す情報である。
メータ,実行条件,実行状態を含み、プロキシIDで検索される。プロキシIDは装置内部で起動しているプロキシ機能の識別情報である。第1実施形態では、プロキシIDには、クエリ対象コンテンツ名が用いられる。プロキシIDとしてプロキシIDにクエリ対象コンテンツ名を用いることによって、クエリリスト56−4とリンクを取ることができる。ただし、これに限られず、プロキシIDは、装置内で重複しないように付与されればよい。実行オブジェクトは、プロキシ処理を行うプログラムである。実行パラメータは、実行オブジェクトの引数である。実行条件は、実行オブジェクトの実行条件であって、予めプロキシ処理行うプログラムに対して設定されている。実行状態は、実行オブジェクトが実行中であるか否かを示す情報である。
図17は、クエリリスト56−4の一例を示す図である。クエリリスト56−4は、情報検索部52が、受信,送信,または中継したQUERYメッセージの情報を保持する。クエリリスト56−4は、例えば、RAM 102に格納される。
クエリリスト56−4は、例えば、クエリ対象コンテンツ名,クエリID,クエリ要求元IPアドレス,クエリ送信先IPアドレス,情報保持装置IPアドレスを含み、クエリ対象コンテンツ名で検索される。クエリ対象コンテンツ名、クエリIDは、QUERYメッセージ内に含まれるものである。クエリ要求元IPアドレスは、QUERYメッセージの送信元IPアドレスである。クエリ送信先IPアドレスは、QUERYメッセージの送信先のIPアドレスであり、後述のリンク情報から得られる。また、自装置がQUERYメッセージの検索対象のコンテンツを保持している場合には、クエリ送信先IPアドレスは、自装置のIPアドレスとなる。情報保持装置のIPアドレスは、NOTIFYメッセージまたはREDIRECTメッセージから取得される。ただし、自装置がQUERYメッセージの検索対象のコンテンツの生成元装置である場合には、情報保持装置のIPアドレスには、自装置のIPアドレスが格納される。
クエリリスト56−4のエントリは、例えば、クエリIDが合致するREQUESTメッセージを情報検索部52が受信せずに所定時間経過した場合、又は、クエリ要求元装置からコネクションの切断要求を受信した場合に、情報検索部52によって削除される。
図18は、リンク情報56−5の一例を示す図である。リンク情報56−5は、隣接するGW装置1のIPアドレスを保持しており、QUERYメッセージをネットワークで接続されている隣接の装置に中継するために用いられる。リンク情報56−5は、例えば、補助記憶装置104に格納される。
リンク情報55は、リンクID,送信先IPアドレスを含み、リンクIDで検索される。リンクIDは、接続するリンクの識別子である。送信先IPアドレスは、接続するリンクの送信先のIPアドレスである。
例えば、GW装置1の場合には、リンク情報56−5に、接続するネットワークのリンクIDと、該ネットワークを通じて隣接するGW装置1のIPアドレスを送信先のIPアドレスとして保持する。また、GW装置1は、接続するローカル網のリンクID、該ローカル網のブロードキャストアドレスを送信先のIPアドレスとして保持する。また、情報処理端末3の場合には、リンク情報56−5に、在圏するネットワークのリンクIDと、在圏するネットワークのブロードキャストアドレス、または、在圏するネットワークに接続するGW装置1のIPアドレスを送信先のIPアドレスとして保持する。リンク情報に格納される情報は、例えば、ルーティング情報から取得される。
図19は、IDキャッシュ56−6の一例を示す図である。IDキャッシュ56は、情報参照プロキシ部51、情報検索部52、情報公開部51が、コンテンツを記録及び参照
するために用いられる。IDキャッシュ56−6は、例えば、補助記憶装置104に格納される。IDキャッシュ56−6に情報を保持することによって、GW装置1は、キャッシュサーバとしての機能を果たすことになる。IDキャッシュ56−6は、クエリ対象コンテンツ名,コンテンツの値,制御情報を含む。制御情報は、DATAメッセージに含まれる制御情報である。
するために用いられる。IDキャッシュ56−6は、例えば、補助記憶装置104に格納される。IDキャッシュ56−6に情報を保持することによって、GW装置1は、キャッシュサーバとしての機能を果たすことになる。IDキャッシュ56−6は、クエリ対象コンテンツ名,コンテンツの値,制御情報を含む。制御情報は、DATAメッセージに含まれる制御情報である。
図20は、情報処理端末3のハードウェア構成の一例を示す図である。情報処理端末3は、CPU 301,RAM 302A,入力装置303,出力装置304,補助記憶装置305,可搬記録媒体駆動装置306,ネットワークインタフェース307を備える。また、これらはバス309により互いに電気的に接続されている。
入力装置303は、例えば、タッチパネル,操作ボタン等である。入力装置303から入力されたデータは、CPU 301に出力される。
可搬記録媒体駆動装置306は、可搬記録媒体410に記録されるプログラムや各種データを読出し、CPU 301に出力する。可搬記録媒体410は、例えば、SDカード,miniSDカード,microSDカード,USB(Universal Serial Bus)フラッシュメモリのような記録媒体である。
ネットワークインタフェース307は、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース307は、例えば、無線のネットワークと接続するインタフェースであって、アンテナを含む電気回路である。ネットワークインタフェースは、例えば、GW装置1(DP−GW)と接続する。ネットワークインタフェース307で受信されたデータ等は、CPU 301に出力される。
補助記憶装置305は、様々なプログラムや、各プログラムの実行に際してCPU 301が使用するデータを格納する。補助記憶装置305は、例えば、EPROM、又はHDD等の不揮発性のメモリである。補助記憶装置305は、例えば、OS,情報処理モジュール5,情報参照モジュール6,情報登録モジュール7,その他様々なアプリケーションプログラムを保持する。情報参照モジュール6は、コンテンツの検索及び取得の処理を行うためのプログラムである。情報公開モジュール5は、コンテンツの公開処理を行うためのプログラムである。
RAM 302Aは、CPU 301に、補助記憶装置305に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする半導体メモリである。RAM 302Aは、揮発性及び不揮発性のものを含む。
CPU 301は、補助記憶装置305又は可搬記録媒体410に保持されたOSや様々なプログラムをRAM 302Aにロードして実行することによって、様々な処理を実行する。CPU 301は、1つに限られず、複数備えられてもよい。
出力装置304は、CPU 301の処理の結果を出力する。出力装置304は、例えば、ディスプレイ、スピーカ等の音声出力装置を含む。
図20に示される情報処理端末3のハードウェア構成は、スマートフォンを想定したものであって、情報処理端末3のハードウェア構成は、これに限定されない。情報処理端末3に採用される装置によって、例えば、可搬記録媒体は、CD(Compact Disc),DVD(Digital Versatile Disc),Blu−ray(登録商標) Disc,及びフラッシュメモリカードを含んでもよい。
また、GW装置3(M2M−GW)の場合には、入力装置303、出力装置304を備えなくともよい。GW装置3の場合には、ネットワークインタフェース107は、センサネットワークに接続するインタフェースと、GW装置1(DP−GW)が接続するネットワークに接続するインタフェースとが備えられる。
また、情報処理端末3は、情報の公開、参照の目的によって、情報処理モジュール5、情報参照モジュール6、情報登録モジュール7の内、任意のモジュールを選択的に備えるようにしてもよい。また各モジュールを実行するためのCPU、RAM、補助記憶装置は、各モジュールに設けられてもよい。
図21は、情報処理端末3またはGW装置3の機能構成の一例を示す図である。情報処理端末3は、情報処理モジュール5,情報参照モジュール6,情報公開モジュール7を備える。情報処理モジュール5については、上述の通りであるので、説明を省略する。また、図21において、情報処理モジュール5の機能構成は省略されている。
情報処理端末3は、CPU 301が情報参照モジュール6を実行することによって、情報参照部61,アプリインタフェース部62の機能を実現する。
情報参照部61は、アプリケーションインタフェース部62を管理し、情報処理モジュール5の通信制御部54とメッセージ受信キュー及び、TCP/IPのソケット通信で通信を行う。アプリインタフェース部62は、情報参照アプリケーション35と通信するためのAPI(Application Programming Interface)である。情報参照アプリケーション
35は、第1実施形態では、例えば、気象情報サービスの利用のためのアプリケーションである。
35は、第1実施形態では、例えば、気象情報サービスの利用のためのアプリケーションである。
情報参照部61は、例えば、情報参照アプリケーション35からの情報取得要求を受けて、QUERYメッセージやREQUESTメッセージを通信制御部54のメッセージ受信キューに格納する。また、通信制御部54から、QUERYメッセージやREQUESTメッセージの応答としてのDATAメッセージ等を受信し、アプリインタフェース部62を通じて情報参照アプリケーション35に情報を返す。情報参照部61の処理の詳細は、後述される。
情報処理端末3は、CPU 301が情報公開モジュール7を実行することによって、情報生成部71,アプリインタフェース部73,センサ網インタフェース部74の機能を実現する。また、情報公開モジュール7のインストールによって、補助記憶装置305の記憶領域に、命名規則リスト72が格納される。
情報生成部71は、アプリケーションインタフェース部73を管理し、情報処理モジュール5の通信制御部54とメッセージ受信キュー及び、TCP/IPのソケット通信で通信を行う。アプリケーションインタフェース部73は、情報登録アプリケーション36と通信するためのAPIである。情報登録アプリケーション36は、例えば、ツイッター等のアプリケーションである。
また、情報生成部71は、センサ網インタフェース部74を管理する。センサ網インタフェース部74は、センサ2からコンテンツの値を受信する。情報生成部71は、情報登録アプリケーション36またはセンサ2から受信したデータに対して、命名規則リスト72を参照して、ネットワークで一意な名前を付与し、PUBLISHメッセージを生成して、情報処理モジュール5に通知する。
図22は、命名規則リスト72の一例を示す図である。命名規則リスト72は、情報登
録アプリケーション36またはセンサ2から取得されたデータに対して、ネットワークに一意な識別情報(コンテンツ名)を付与するための命名規則が格納される。
録アプリケーション36またはセンサ2から取得されたデータに対して、ネットワークに一意な識別情報(コンテンツ名)を付与するための命名規則が格納される。
命名規則リスト72は、命名規則種別,フォーマットを含み、命名規則ごとに、要素識別と規則とが格納される。例えば、温度センサからのデータにコンテンツ名を付与する場合には、命名規則リストのエントリは以下のようになる。
命名規則種別には“温度センサ”が格納される。フォーマットには、<情報識別プレフィックス>+セパレータ+<ロケーション識別>+セパレータ+<センサ識別>が格納される。このフォーマットの場合の要素識別は、<情報識別プレフィックス>,<ロケーション種別>,<センサ種別>,セパレータである。各要素識別の規則は、<情報識別プレフィックス>=“temp”、<ロケーション種別>=“LocA”、<センサ識別>=センサが通知してくるID、セパレータ=“_”である。この場合、温度センサsensor001によって通知されるデータに対して、ネットワークで一意に公開される情報の名前は“tempLocA_LocA_sensor001”である。
<処理の流れ>
図23は、情報処理モジュール5の通信制御部54の処理のフローチャートの一例である。図23に示されるフローチャートは、情報処理モジュール5の起動とともに開始され、情報処理モジュール5の起動中繰り返し実行される。
図23は、情報処理モジュール5の通信制御部54の処理のフローチャートの一例である。図23に示されるフローチャートは、情報処理モジュール5の起動とともに開始され、情報処理モジュール5の起動中繰り返し実行される。
OP11では、通信制御部54は、定期的にメッセージ受信キューを監視する。メッセージ受信キューには、通信制御部54によって、他の装置から受信した通信データから解析された、宛先が自装置のIPアドレスのメッセージが格納される。また、メッセージ受信キューには、自装置内のプログラムによって生成されたメッセージも格納される。メッセージ受信キューにメッセージが格納された場合には(OP11:メッセージ有り)、処理がOP12に進む。メッセージ受信キューにメッセージが格納されていない場合には(OP11:メッセージ無し)、処理がOP16に進む。
OP12では、通信制御部54は、メッセージ受信キューに格納されるメッセージの種類を解析する。メッセージ受信キュー内のメッセージがREQUESTメッセージ又はDATAメッセージである場合には、処理がOP13に進む。OP13では、通信制御部54は、情報参照プロキシ部51にメッセージを渡して、情報参照プロキシ部54を起動する。次に処理がOP16に進む。
メッセージ受信キュー内のメッセージがQUERYメッセージ、NOTIFYメッセージ、またはREDIRECTメッセージである場合には、処理がOP14に進む。OP14では、通信制御部54は、情報検索部52にメッセージを渡して、情報検索部52を起動する。次に処理がOP16に進む。
メッセージ受信キュー内のメッセージがPUBLISHメッセージである場合には、処理がOP15に進む。OP15では、通信制御部54は、情報公開53にメッセージを渡して、情報公開部53を起動する。次に処理がOP16に進む。
OP16では、通信制御部54は、メッセージ送信キューに他の装置、又は装置内のプログラムによってメッセージが格納されているか確認する。メッセージ送信キューには、情報参照プロキシ部51,情報検索部52からメッセージが格納される。メッセージ送信キューにメッセージが格納されていない場合には(OP16:メッセージ無し)、図23に示される処理が終了する。
メッセージ送信キューにメッセージが格納されている場合には(OP16:メッセージ有り)、処理がOP17に進む。OP17では、通信制御部54は、メッセージの宛先IPアドレスが示す宛先の装置にメッセージを送信する。メッセージの宛先IPアドレスが内部プログラムである場合には、通信制御部54は、対応するソケットにメッセージを送信する。その後、図23に示される処理が終了する。
図24は、情報処理モジュール5の情報参照プロキシ部51の処理のフローチャートの一例である。図24に示される処理は、情報参照プロキシ部51が、通信制御部54から、REQUESTメッセージ又はDATAメッセージを受信した場合に開始される。
OP21では、情報参照プロキシ部51は、メッセージの種別を判別する。REQUESTメッセージの場合には、処理がOP22に進む。DATAメッセージの場合には、処理がOP29に進む。
OP22〜OP29は、情報参照プロキシ部51がREQUESTメッセージを受信した場合の処理である。OP22では、情報参照プロキシ部51は、REQUESTメッセージに含まれている取得対象のコンテンツ名を抽出し、IDキャッシュ56−6を検索する。該当のコンテンツ名がIDキャッシュ56−6に記録されている場合には(OP22:YES)、情報参照プロキシ部51が既に要求されるコンテンツを保持し、いずれかの装置に対するプロキシサーバとして動作していることが示される。次に処理がOP23に進む。
OP23では、情報参照プロキシ部51は既に要求されるコンテンツを保持し、プロキシサーバとして動作しているので、受信したREQUESTメッセージに対してプロキシサーバとして応答する処理を行う。具体的には、情報参照プロキシ部51は、IDキャッシュ56−6より該当のコンテンツを取り出し、DATAメッセージを生成し、通信制御部54のメッセージ送信キューに格納する。以後、該DATAメッセージは、受信したREQUESTメッセージの送信元の装置に送信される。次に処理がOP24に進む。
OP24では、情報参照プロキシ部51は、受信したREQUESTメッセージからコンテンツ名を抽出し、プロキシ管理リスト56−3を検索する。情報参照プロキシ部51は、受信したREQUESTメッセージに含まれるプロキシ情報と、プロキシ管理リスト56−3の該当エントリのプロキシ実行パラメータとを比較し、変更がある場合には、プロキシ管理リスト56−3の実行パラメータを更新する。その後、図24に示される処理が終了する。
OP22において、受信したREQUESTメッセージに含まれるコンテンツ名がIDキャッシュ56−6に記録されていない場合には(OP22:NO)、情報参照プロキシ部51は、自身を対象コンテンツの情報保持装置として通知しているものの、該当のコンテンツを保持していないことが示される。次に処理がOP25に進む。
OP25〜OP29は、情報参照プロキシ部51が対象コンテンツについてプロキシサーバとして動作するための処理である。OP25では、情報参照プロキシ部51は、クエリリスト56−4を、受信したREQUESTメッセージから抽出したコンテンツ名で検索し、該当コンテンツの情報保持装置のIPアドレスを取得する。次に処理がOP26に進む。
OP26では、情報参照プロキシ部51は、取得した情報保持装置のIPアドレスを宛先としたREQUESTメッセージを生成し、通信制御部54のメッセージ送信キューに格納する。このREQUESTメッセージは、通信制御部54によって、情報保持装置に
送信される。次に処理がOP27に進む。
送信される。次に処理がOP27に進む。
OP27では、情報参照プロキシ部51は、受信したREQUESTメッセージに含まれるプロキシ機能情報からプロキシ種別識別情報を抽出し、プロキシ情報56−2を検索し、プロキシ機能を特定する。次に処理がOP28に進む。
OP28では、情報参照プロキシ部51は、受信したREQUESTメッセージのプロキシ機能情報に含まれるパラメータ情報、または、プロキシ情報56−2に含まれる基本パラメータから実行オブジェクトの実行パラメータをする。情報参照プロキシ部51は、プロキシ情報56−2から特定したプロキシ機能の実行オブジェクトと、管理のために付与したプロキシIDと共に、プロキシ管理リスト53に登録する。次に処理がOP29に進む。
OP29では、情報参照プロキシ部51は、処理保留リスト56−1に、REQUESTメッセージから取得される要求ID、要求元アドレス、プロキシ情報を記録する。これによって、情報参照プロキシ部51は、後続のDATAメッセージ受信処理時に該REQUESTメッセージの処理を継続することができる。その後、図24に示される処理が終了する。
OP30〜OP34の処理は、情報参照プロキシ部51がDATAメッセージを受信した場合の処理である。OP30では、情報参照プロキシ部51は、DATAメッセージに含まれる要求IDを抽出し、処理保留リスト56−1を要求IDで検索する。
処理保留リスト56−1に該当エントリが有る場合には(OP30:YES)、REQUESTメッセージのオリジナルの送信元装置への応答が終了していないことが示される。次に、処理がOP31に進む。OP31では、情報参照プロキシ部51は、該当エントリの要求元IPアドレスを宛先IPアドレスとしてDATAメッセージを生成し、通信制御部54のメッセージ送信キューに格納する。これによって、REQUESTメッセージのオリジナルの送信元装置へ要求されていたコンテンツが送信される。次に処理がOP32に進む。
OP32では、情報参照プロキシ部51は、DATAメッセージに含まれるコンテンツ名で、クエリリスト56−4を検索する。同じコンテンツ名のエントリであり、且つ、情報保持装置のIPアドレスが設定されているエントリがある場合には、情報参照プロキシ部51は、該エントリのクエリ要求元IPアドレスを宛先としたREDIRECTメッセージを生成し、通信制御部54のメッセージ送信キューに格納する。これによって、REDIRECTメッセージの送信先の装置に、対象コンテンツの情報保持装置が自装置に変更になったことが通知される。同じコンテンツ名のエントリであり、且つ、情報保持装置のIPアドレスが設定されているエントリがない場合には、REDIRECTメッセージは生成されない。次に処理がOP33に進む。
OP33では、情報参照プロキシ部51は、処理保留リスト56−1の該当エントリを削除する。次に、処理がOP34に進む。
OP34では、情報参照プロキシ部51は、DATAメッセージに含まれるコンテンツ名と、制御情報とをIDキャッシュ56−6に登録する。これによって、該装置は、該コンテンツのキャッシュサーバとして動作することになる。その後、図24に示される処理が終了する。制御情報の一例は、このコンテンツの有効期間や参照権限等である。
図25は、情報参照プロキシ部51のプロキシ実行処理のフローチャートの一例である
。情報参照プロキシ部51は、図22に示されるメッセージの処理と別に、周期的にプロキシの動作を管理する処理を行う。この処理は、具体的にはスケジューラによって起動される周期プログラムとして実装される。
。情報参照プロキシ部51は、図22に示されるメッセージの処理と別に、周期的にプロキシの動作を管理する処理を行う。この処理は、具体的にはスケジューラによって起動される周期プログラムとして実装される。
OP41では、情報参照プロキシ部51は、所定の周期でプロキシ管理リスト56−3からエントリを取り出す。次に、処理がOP42に進む。
OP42では、情報参照プロキシ部51は、該当エントリのプロキシ実行条件を確認する。実行条件は、例えば、該当エントリのプロキシID(第1実施形態ではクエリ対象のコンテンツ名)と一致するクエリリスト56−4のエントリ数が所定数であることや、コンテンツの取得周期等である。プロキシ実行条件が満たされた場合には(OP42:一致)、処理がOP43に進む。
OP43では、情報参照プロキシ部51は、該当エントリのプロキシ実行状態を確認する。該当エントリのプロキシ実行状態が未実行である場合には(OP43:未実行)、処理がOP44に進む。
OP44では、情報参照プロキシ部51は、プロキシ管理リスト56−3の該当エントリに格納された実行オブジェクトを該当エントリに格納された実行パラメータで起動し、プロキシ管理リスト56−3の該当エントリの実行状態を実行中に設定する。その後、図25に示される処理が終了する。
OP43において、プロキシ管理リスト56−3の該当エントリのプロキシ実行条件が満たされており、該当エントリのプロキシ実行状態が実行中である場合には(OP43:実行中)、図25に示される処理が終了する。
OP42において、プロキシ管理リスト56−3の該当エントリのプロキシ実行条件が満たされていない場合は(OP42:不一致)、処理がOP45に進む。OP45では、情報参照プロキシ部51は、該当エントリのプロキシ実行状態を確認する。該当エントリのプロキシ状態が実行中である場合には(OP45:実行中)、処理がOP46に進む。該当エントリのプロキシ状態が未実行である場合には(OP45:未実行)、図25に示される処理が終了する。
OP46では、情報参照プロキシ部51は、実行オブジェクトを停止・削除し、プロキシ管理リスト56−3の該当エントリの実行状態を未実行に設定する。その後、図25に示される処理が終了する。
なお、プロキシ管理リスト56−3において、実行状態が未実行となってから所定時間が経過すると、情報参照プロキシ部51によって、プロキシ管理リスト56−3から該当エントリが削除される。プロキシ管理リスト56−3からエントリが削除されることによって、該当エントリの対象コンテンツに対するプロキシ処理が終了する。これに伴い、対象コンテンツのエントリがIDキャッシュ56−6から削除される。また、この場合には、対象のコンテンツを参照する装置のクエリリスト56−4のエントリがある場合には、情報検索部52は、該装置に対してREDIRECTメッセージを送信する。
例えば、プロキシ実行条件が、クエリリスト56−4に、対象コンテンツを要求するエントリが所定数あること、である場合には、クエリリスト56−4の該当エントリが所定数よりも少なくなると、プロキシ管理リスト56−3から該当エントリが削除されて、該対象コンテンツのプロキシサーバとしての動作が終了する。また、対象コンテンツもIDキャッシュ56−6から削除される。この場合、クエリリスト56−4に対象コンテンツ
のエントリが残っている場合には、情報検索部52は、クエリ要求元装置にREDIRECTメッセージを送信する。この場合に、REDIRECTメッセージで通知される情報保持装置のIPアドレスは、例えば、対象コンテンツの生成元装置のIPアドレスである。
のエントリが残っている場合には、情報検索部52は、クエリ要求元装置にREDIRECTメッセージを送信する。この場合に、REDIRECTメッセージで通知される情報保持装置のIPアドレスは、例えば、対象コンテンツの生成元装置のIPアドレスである。
図26A,図26B,図26Cは、情報処理モジュール5の情報検索部52の処理のフローチャートの一例である。図26A,図26B,図26Cは、通信制御部54から情報検索部52が、QUERYメッセージ、NOTIFYメッセージ、REDIRECTメッセージのいずれかを受信した場合に開始される。
OP51では、情報検索部52は、受信したメッセージの種別を判定する。QUERYメッセージの場合には、処理がOP52に進む。NOTIFYメッセージの場合には、処理が図26BのOP61に進む。REDIRECTメッセージの場合には、処理が図26CのOP64に進む。
OP52〜OP60は、情報検索部52がQUERYメッセージを受信した場合の処理である。OP52では、情報検索部52は、QUERYメッセージからコンテンツ名を抽出し、IDキャッシュ56−6に該当エントリが有るか検索する。IDキャッシュ56−6に該当エントリが有る場合は(OP52:YES)、自装置が情報保持装置であることが示され、処理がOP60に進む。OP60では、情報検索部52は、QUERYメッセージの送信元IPアドレスを宛先IPアドレスとし、自装置のIPアドレスを情報保持装置のIPアドレスとして設定したNOTIFYメッセージを生成し、通信制御部54のメッセージ送信キューに格納する。その後、図26Aの処理が終了する。
IDキャッシュ56−6に該当エントリがない場合は(OP52:NO)、処理がOP53に進む。OP53では、情報検索部52は、クエリリスト56−4をQUERYメッセージから抽出したコンテンツ名で検索する。クエリリスト56−4に該当のエントリがない場合には(OP53:エントリ無し)、処理がOP54に進む。
OP54では、情報検索部52は、受信したQUERYメッセージのエントリをクエリリスト56−4に作成する。次に処理がOP59に進む。OP59では、受信したQUERYメッセージを次の装置に送信するため、情報検索部52は、リンク情報56−5に登録されている全送信先IPアドレスをQUERYメッセージの送信先として取得する。情報検索部52は、リンク情報56−5から取得した全送信先IPアドレスに対して、受信したQUERYメッセージのコピーを生成する。各QUERYの宛先は、リンク情報56−5の各送信先IPアドレスとなる。情報検索部52は、該QUERYメッセージを通信制御部54のメッセージ送信キューに格納する。その後、図26Aに示される処理が終了する。
OP53において、クエリリスト56−4にQUERYメッセージから抽出されたコンテンツ名に該当するエントリがある場合には(OP53:エントリ有り)、処理がOP55に進む。
OP55では、情報検索部52は、クエリリスト56−4の該当エントリと受信したQUERYメッセージとで、コンテンツ名とクエリIDとの両方が一致するか否かを判定する。クエリリスト56−4の該当エントリと受信したQUERYメッセージとで、コンテンツ名とクエリIDとの両方が一致する場合には(OP55:YES)、該QUERYメッセージは、既に処理中なので、そのまま何もせずに図26Aに示される処理が終了する。これによって、QUERYメッセージのループを回避することができる。
クエリリスト56−4の該当エントリと受信したQUERYメッセージとで、コンテンツ名は一致するものの、クエリIDが一致しない場合には(OP55:NO)、該QUERYメッセージは未処理であることが示される。次に処理がOP56に進む。
OP56では、情報検索部52は、クエリリスト56−4の該当エントリに情報保持装置のIPアドレスが設定されているか判定する。クエリリスト56−4の該当エントリに情報保持装置のIPアドレスが設定されている場合には(OP56:YES)、処理がOP57に進む。
OP57では、情報検索部52は、プロキシモードが設定されているか否かを判定する。プロキシモードが設定されている場合には(OP57:YES)、処理がOP60に進む。OP60では、情報検索部52は、QUERYメッセージの送信元IPアドレスを宛先IPアドレスとし、自装置のIPアドレスを情報保持装置のIPアドレスとして設定したNOTIFYメッセージを生成し、通信制御部54のメッセージ送信キューに格納する。その後、図26Aの処理が終了する。
プロキシモードが設定されていない場合には(OP57:NO)、処理がOP58に進む。OP58では、情報検索部52は、クエリリスト56−4の該当エントリに基づいて、NOTIFYメッセージを生成し、通信制御部54のメッセージ送信キューに格納する。その後、図26Aに示される処理が終了する。
OP56において、クエリリスト56−4の該当エントリに情報保持装置のIPアドレスが設定されていない場合には(OP56:NO)、クエリリスト56−4の該当エントリに情報保持装置のIPアドレスを取得するために、処理がOP59に進む。OP59では、情報検索部52は、QUERYメッセージのコピーをリンク情報56−5に登録される全送信先IPアドレスを宛先として送信する。その後、図26Aに示される処理が終了する。
図26BのOP61〜OP63の処理は、情報検索部52が受信したメッセージがNOTIFYメッセージである場合の処理である。
OP61では、情報検索部52は、クエリIDが同一のQUERYメッセージに対応するNOTIFYメッセージを受信済みか判定する。この判定は、受信したNOTIFYメッセージに含まれるクエリIDとクエリリスト56−4のエントリに、情報保持装置のIPアドレスが設定されているか否かによって判定される。
クエリIDが同一のQUERYメッセージに対応するNOTIFYメッセージを受信済みである場合には(OP61:YES)、図26Bに示される処理が終了する。これは、例えば、図26AのOP59の処理のように、QUERYメッセージのコピーを複数の装置に送信することにより、同一クエリIDを有するNOTIFYメッセージを複数受信することが想定されるための処置である。第1実施形態では最初に受信したNOTIFYメッセージを有効としているが、受信したNOTIFYメッセージを一定時間キャッシュし、例えば、最もホップ数の少ないものを選択し、他のNOTIFYメッセージを棄却するようにしてもよい。
クエリIDが同一のQUERYメッセージに対応するNOTIFYメッセージを初めて受信する場合には(OP61:NO)、処理がOP62に進む。
OP62では、受信したNOTIFYメッセージに含まれるコンテンツ名で、クエリリスト56−4を検索する。情報検索部52は、クエリリスト56−4の該当エントリの情
報保持装置のIPアドレスに、受信したNOTIFYメッセージに含まれる情報保持装置のIPアドレスを設定する。次に、処理がOP63に進む。
報保持装置のIPアドレスに、受信したNOTIFYメッセージに含まれる情報保持装置のIPアドレスを設定する。次に、処理がOP63に進む。
OP63では、情報検索部52は、OP62で抽出したクエリリスト56−4の該当エントリのクエリ要求元アドレスを抽出し、クエリ要求元アドレスを宛先としたNOTIFYメッセージを生成し、通信制御部54のメッセージ送信キューに格納する。その後、図26Bに示される処理が終了する。
図26CのOP64〜OP66の処理は、情報検索部52が受信したメッセージがREDIRECTメッセージである場合の処理である。
OP64では、情報検索部52は、受信したREDIRECTメッセージに含まれるコンテンツ名で、クエリリスト56−4を検索する。情報検索部52は、クエリリスト56−4の該当エントリの情報保持装置のIPアドレスを、受信したREDIRECTメッセージに含まれる情報保持装置のIPアドレスに書き換える。次に処理がOP65に進む。
OP65では、情報検索部52は、IDキャッシュ56−6を受信したREDIRECTメッセージに含まれるコンテンツ名で検索する。IDキャッシュ56−6に該当エントリがある場合には、受信したREDIRECTメッセージに含まれるコンテンツを自装置が保持しており、OP64におけるクエリリスト56−4の該当エントリのプロキシとして動作中であることが示される(OP65:YES)。この場合には、OP64におけるクエリリスト56−4の該当エントリのクエリ要求元IPアドレスの装置にとっては、情報保持装置に変更はないので、情報検索部52はREDIRECTメッセージを送信することなく、図26Cに示される処理が終了する。
OP65において、IDキャッシュ56−6に受信したREDIRECTメッセージに含まれるコンテンツ名の該当エントリがない場合には、自装置が該コンテンツの情報保持装置でないことが示される。この場合には、自装置は、該コンテンツについて、いずれの装置に対してもプロキシサーバとして動作していないことが示される(OP65:NO)。次に、処理がOP66に進む。
OP66では、情報検索部52は、クエリリスト56−4を受信したREDIRECTメッセージに含まれるコンテンツ名で検索する。情報検索部52は、クエリリスト56−4の該当エントリのクエリ要求元IPアドレスを抽出し、該クエリ要求元IPアドレスを宛先としたREDIRECTメッセージを生成し、通信制御部54のメッセージ送信キューに格納する。その後、図26Cの処理が終了する。
図27は、情報参照モジュール6の情報参照部61の処理のフローチャートの一例である。情報参照部61は、情報参照アプリケーション35からのコンテンツ取得要求に従って、情報処理モジュール5にコンテンツの検索と取得の要求を行い、情報参照アプリケーション35にコンテンツを応答として返す。図27に示されるフローチャートは、情報参照部61が、情報参照アプリケーション35からコンテンツ取得要求、通信制御部54からNOTIFYメッセージ又はDATAメッセージを処理要求として受信すると開始される。
OP71では、情報参照部61は、処理要求の種別を判定する。情報参照アプリケーション35からのコンテンツ取得要求の場合には、処理がOP72に進む。OP72では、情報参照部61は、情報参照アプリケーション35のコンテンツ取得要求から、コンテンツ名を抽出し、QUERYメッセージを生成し、通信制御部54のメッセージ送信キューに格納する。その後、図27に示される処理が終了する。
処理要求がNOTIFYメッセージの場合には、処理がOP73に進む。OP73では、情報参照部61は、NOTIFYメッセージで通知された情報保持装置のIPアドレスを宛先としたREQUESTメッセージを生成し、通信制御部54のメッセージ送信キューに格納する。その後、図27に示される処理が終了する。
処理要求がDATAメッセージの場合には、処理がOP74に進む。OP74では、情報参照部61は、DATAメッセージよりコンテンツを抽出し、情報参照アプリケーション35からのコンテンツ取得要求の応答としてコンテンツを通知する。その後、図27に示される処理が終了する。
<動作例>
図28、図29、図30は、情報処理システム100の処理シーケンスの一例である。図28、図29、図30では、センサ2によって取得された温度センサの情報を公開する例が示される。また、DP−GW#1,DP−GW#2,DP−GW#3,DP−GW#4は、いずれも、プロキシモードが有効になっているとする。
図28、図29、図30は、情報処理システム100の処理シーケンスの一例である。図28、図29、図30では、センサ2によって取得された温度センサの情報を公開する例が示される。また、DP−GW#1,DP−GW#2,DP−GW#3,DP−GW#4は、いずれも、プロキシモードが有効になっているとする。
S1では、所定の周期で、センサネットワークSNW#1に接続されているセンサ2が、温度センサの値を取得し、例えば、センサの識別情報sensor001と28という温度の値をM2M−GW#1に送信する。
S2では、M2M−GW#1は、センサ2から受信した温度センサの値を、PUBLISHメッセージでDP−GW#1へ通知する。センサ2から受信された温度センサの値には、命名規則リスト72の命名規則に基づいて、M2M−GW#1によってコンテンツ名が付与される。
例えば、M2M−GW#1が図22に示される命名規則リスト72を保持している場合には、センサ2から受信された温度センサの値には、“temp_LocA_sensor001”というコ
ンテンツ名が付与される。
ンテンツ名が付与される。
S2において生成されるPUBLISHメッセージは、送信元IPアドレス=M2M−GW#1のIPアドレス、宛先IPアドレス=DP−GW#1のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、コンテンツの値=28が設定される。
DP−GW#1は、M2M−GW#1からPUBLISHメッセージを受信すると、IDキャッシュ56−6に情報を登録する。DP−GW#1のIDキャッシュ56−6に設定される情報は、例えば、コンテンツ名=“temp_LocA_sensor001”、コンテンツの値=
28、制御情報=“lifetime=300s”である。“lifetime=300s”は、このIDキャッシュ56−6のエントリの有効時間は300秒であり、該当コンテンツの参照がないまま300秒経過すると該エントリが削除されることを示す。
28、制御情報=“lifetime=300s”である。“lifetime=300s”は、このIDキャッシュ56−6のエントリの有効時間は300秒であり、該当コンテンツの参照がないまま300秒経過すると該エントリが削除されることを示す。
S3では、例えば、DP−GW#4の通信インタフェース105に接続されたスマートフォン#4のユーザが自宅の町内の温度を外出先から知りたい場合、情報参照アプリケーション35から情報を参照する。便宜上、ユーザの所在地の町の識別は“LocA”とする。スマートフォン#4は、QUERYメッセージを生成する(図27、OP72)。QUERYメッセージは、送信元IPアドレス=スマートフォン#4のIPアドレス、宛先IPアドレス=DP−GW#4のIPアドレス、コンテンツ名=“temp_LocA_*”、クエ
リID=“sf100_query01”が設定される。QUERYメッセージの経路履歴情報には、
スマートフォン#4のIPアドレスが設定される。QUERYメッセージに含まれるコンテンツ名はワイルドカードで示すことができる。コンテンツ名=“temp_LocA_*”は、*以
下は任意の値である事が示される。
リID=“sf100_query01”が設定される。QUERYメッセージの経路履歴情報には、
スマートフォン#4のIPアドレスが設定される。QUERYメッセージに含まれるコンテンツ名はワイルドカードで示すことができる。コンテンツ名=“temp_LocA_*”は、*以
下は任意の値である事が示される。
S4では、スマートフォン#4で生成されたQUERYメッセージは、DP−GW#4に届き、DP−GW#4によって、DP−GW#4に隣接するDP−GW#2、DP―GW#3に中継される。QUERYメッセージは、情報保持装置(DP−GW#1)に到達するまで、各装置によって中継が繰り返される。各装置で行われる処理は、図26AのOP51〜OP54、OP59である。図28に示される例においては、QUERYメッセージは、に到達するとする。
QUERYメッセージの送信先はリンク情報56−5に従う(図26A、OP59)。ただし、QUERYメッセージのループを避けるため、送信元へのQUERYの送信は禁止され、迂回経路の転送により重複受信したQUERYメッセージは、棄却される。
S5では、DP−GW#1にQUERYメッセージが到達すると、DP−GW#1はNOTIFYメッセージを生成する(図26B,OP61〜OP63)。生成されたNOTIFYメッセージは、各装置のクエリリスト56−4に従って、でスマートフォン#4に到達する。
DP−GW#1で生成されるNOTIFYメッセージは、送信元IPアドレス=DP−GW#1のIPアドレス、宛先IPアドレス=DP−GW#2のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf100_query01”、情報保持装置のIPアドレス=DP−GW#1のIPアドレスが設定される。
NOTIFYメッセージが、QUERYメッセージとは逆の経路、DP−GW#1→DP−GW#2→DP―GW#4→スマートフォン#4の経路で、スマートフォン#4に到達する。これによって、NOTIFYメッセージの経路上の各装置のクエリリスト56−4には、コンテンツ名“temp_LocA_sensor001”の情報保持装置がDP−GW#1である
と記録される。
と記録される。
S6では、スマートフォン#4にNOTIFYメッセージが到達すると、スマートフォン#4はNOTIFYメッセージで通知された情報保持装置DP−GW#1へREQUESTメッセージを送信する(図27、OP73)。生成されるREQUESTメッセージは、送信元IPアドレス=スマートフォン#4のIPアドレス、宛先IPアドレス=DP−GW#1のアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf100_query01”、プロキシ機能情報=“synchronize=300s”が設定される。プロキシ機能情報“synchronize=300s”は、300秒ごとに情報の更新を行う場合の設定の一例である。なお、図28に示される例では、要求IDとしてクエリIDが用いられることを前提としており、REQUESTメッセージには要求IDが含まれない。プロキシに関する具体的な情報は、情報参照アプリケーション35により通知されるようにしてもよい。
S7では、DP−GW#1は、スマートフォン#4よりREQUESTメッセージを受信すると、REQUESTメッセージに含まれるコンテンツ名=“temp_LocA_sensor001
”で、IDキャッシュ56−6を検索する。DP−GW#1は、IDキャッシュ56−6の該当エントリからコンテンツの値=28を抽出し、DATAメッセージを生成し、スマートフォン#4に送信する(図24、OP21〜OP24)。生成されるDATAメッセージは、送信元IPアドレス=DP−GW#1のアドレス、宛先IPアドレス=スマートフォン#4のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf100_query01”、コンテンツの値=28、制御情報=“lifetime=300s”が設定される。
なお、受信したREQUESTメッセージに受信IDが含まれていないため、生成されるDATAメッセージにも要求IDは含まれていない。
”で、IDキャッシュ56−6を検索する。DP−GW#1は、IDキャッシュ56−6の該当エントリからコンテンツの値=28を抽出し、DATAメッセージを生成し、スマートフォン#4に送信する(図24、OP21〜OP24)。生成されるDATAメッセージは、送信元IPアドレス=DP−GW#1のアドレス、宛先IPアドレス=スマートフォン#4のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf100_query01”、コンテンツの値=28、制御情報=“lifetime=300s”が設定される。
なお、受信したREQUESTメッセージに受信IDが含まれていないため、生成されるDATAメッセージにも要求IDは含まれていない。
以降、センサ2が温度センサの値を所定の周期で取得するたびに、S1、S2の処理が行われる。また、スマートフォン#4は、定期的に、DP−GW#1に対してREQUESTメッセージを送信し、コンテンツ“temp_LocA_sensor001”の値を取得する。
次に、図29のS8では、DP−GW#3の通信インタフェース105に無線接続されたスマートフォン#3のユーザもスマートフォン#4と同じ町内の温度を外出先から知りたい場合、同様に、情報参照アプリケーション35から情報を参照する。スマートフォン#3で生成されるQUERYメッセージは、送信元IPアドレス=スマートフォン#3のIPアドレス、宛先IPアドレス=DP−GW#3のIPアドレス、コンテンツ名=“temp_LocA_*”、クエリID=“sf200_query01”が設定される(図27、OP72)。
S9では、スマートフォン#3で生成されたQUERYメッセージは、スマートフォン#4で生成されたQUERYメッセージと同様に情報保持装置DP−GW#1に到達するまで、各装置によって中継が繰り返される。スマートフォン#3で生成されたQUERYメッセージは、DP−GW#3に到達し、DP―GW#3から更に、隣接するDP−GW#2とDP−GW#4とに送信される。
スマートフォン#4の場合(S3)と異なり、DP−GW#2とDP−GW#4は、既に、スマートフォン#4からのコンテンツ名=“temp_LocA_*”に関するQUERYメッ
セージの応答済みであり、コンテンツ名=“temp_LocA_sensor001”の情報保持装置DP
−GW#1のIPアドレスを取得している。そのため、S10では、DP−GW#2とDP−GW#4は、プロキシ機能を配置する候補となり、NOTIFYメッセージの情報保持装置のIPアドレスに自装置のIPアドレスを設定して、DP−GW#3に送信する(図26A、OP51〜OP53、OP55〜OP57、OP60)。
セージの応答済みであり、コンテンツ名=“temp_LocA_sensor001”の情報保持装置DP
−GW#1のIPアドレスを取得している。そのため、S10では、DP−GW#2とDP−GW#4は、プロキシ機能を配置する候補となり、NOTIFYメッセージの情報保持装置のIPアドレスに自装置のIPアドレスを設定して、DP−GW#3に送信する(図26A、OP51〜OP53、OP55〜OP57、OP60)。
DP−GW#2で生成されるNOTIFYメッセージは、送信元IPアドレス=DP−GW#2のIPアドレス、宛先IPアドレス=DP−GW#3のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf200_query01”、情報保持装置のIPアドレス=DP−GW#2のIPアドレスが設定される。DP−GW#4で生成されるNOTIFYメッセージは、送信元IPアドレス=DP−GW#4のIPアドレス、宛先IPアドレス=DP−GW#3のIPアドレス、コンテンツ名=“temp_LocA_sensor001”
、クエリID=“sf200_query01”、情報保持装置のIPアドレス=DP−GW#4のIPアドレスが設定される。
、クエリID=“sf200_query01”、情報保持装置のIPアドレス=DP−GW#4のIPアドレスが設定される。
DP−GW#3は、DP−GW#2とDP−GW#4とから受信したNOTIFYメッセージの内、一つを選択する。第1実施形態では、先に受信したNOTIFYメッセージが有効となるため、後から受信したNOTIFYメッセージが棄却される(図26B)。ここでは、DP−GW#2からのNOTIFYメッセージが先に受信され、DP−GW#4からのNOTIFYメッセージが棄却されたものとする。
S11では、DP−GW#3は、スマートフォン#3にNOTIFYメッセージを送信する(図26B、OP63)。DP−GW#3で生成されるNOTIFYメッセージは、送信元IPアドレス=DP−GW#3のIPアドレス、宛先IPアドレス=スマートフォン#3のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf200_query01”、情報保持装置のIPアドレス=DP−GW#2のIPアドレスが設定される
。
。
S12では、スマートフォン#3にNOTIFYメッセージが到達すると、スマートフォン2はNOTIFYメッセージで通知された情報保持装置DP−GW#2へREQUE
STメッセージを送信する(図27、OP73)。生成されるREQUESTメッセージは、送信元IPアドレス=スマートフォン#3のIPアドレス、宛先IPアドレス=DP−GW#2のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf200_query01”、プロキシ機能情報=“synchronize=600s”が設定される。
STメッセージを送信する(図27、OP73)。生成されるREQUESTメッセージは、送信元IPアドレス=スマートフォン#3のIPアドレス、宛先IPアドレス=DP−GW#2のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf200_query01”、プロキシ機能情報=“synchronize=600s”が設定される。
S13では、DP−GW#2は、スマートフォン#3からREQUESTメッセージを受信すると、プロキシサーバとしての処理を開始する(図24、OP21、OP22、OP25〜OP29)。コンテンツ名=“temp_LocA_sensor001”の情報保持装置は、DP
−GW#1であり、この時点でDP−GW#2はコンテンツ名=“temp_LocA_sensor001
”のコンテンツを保持していない。そのため、DP−GW#2は、REQUESTメッセージのプロキシ機能情報=“synchronize=600s”に従って、DP−GW#1に600秒ごとに、コンテンツ名=“temp_LocA_sensor001”のコンテンツを取得するプログラムを起
動する(図24、OP27、OP28)。
−GW#1であり、この時点でDP−GW#2はコンテンツ名=“temp_LocA_sensor001
”のコンテンツを保持していない。そのため、DP−GW#2は、REQUESTメッセージのプロキシ機能情報=“synchronize=600s”に従って、DP−GW#1に600秒ごとに、コンテンツ名=“temp_LocA_sensor001”のコンテンツを取得するプログラムを起
動する(図24、OP27、OP28)。
また、スマートフォン#3からのREQUESTメッセージを処理するため、DP−GW#2は、REQUESTメッセージをDP−GW#1に送信する(図24、OP26)。DP−GW#2は、後続の処理のため処理保留リスト56−1に、要求ID=“sf200_query01”、要求元IPアドレス=スマートフォン#3のIPアドレス、プロキシ機能情
報=“synchronize=600s”を設定する(図24、OP29)。なお、スマートフォン#3からのREQUESTメッセージに要求IDが含まれていないため、DP−GW#2は、処理保留リスト56−1の要求IDにREQUESTメッセージのクエリIDを設定している。
報=“synchronize=600s”を設定する(図24、OP29)。なお、スマートフォン#3からのREQUESTメッセージに要求IDが含まれていないため、DP−GW#2は、処理保留リスト56−1の要求IDにREQUESTメッセージのクエリIDを設定している。
DP−GW#2が生成するREQUESTメッセージは、送信元IPアドレス=DP−GW#2のIPアドレス、宛先IPアドレス=DP−GW#1のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf200_query01”、プロキシ機能情報=“synchronize=600s”が設定される。
S14では、DP−GW#1は、DP−GW#2よりREQUESTメッセージを受信すると、REQUESTメッセージに含まれるコンテンツ名=“temp_LocA_sensor001”
で、IDキャッシュ56−6を検索し、コンテンツの値=28を抽出し、DATAメッセージを生成し、DP−GW#2に送信する(図24、OP21〜OP24)。
で、IDキャッシュ56−6を検索し、コンテンツの値=28を抽出し、DATAメッセージを生成し、DP−GW#2に送信する(図24、OP21〜OP24)。
生成されるDATAメッセージには、送信元IPアドレス=DP−GW#1のIPアドレス、宛先IPアドレス=DP−GW#2のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf200_query01”、コンテンツの値=28、制御情報=“lifetime=300s”が設定される。なお、DP−GW#2からのREQUESTメッセージに
要求IDが含まれていないため、生成されるDATAメッセージにも要求IDは含まれていない。
要求IDが含まれていないため、生成されるDATAメッセージにも要求IDは含まれていない。
DP−GW#2は、DP−GW#1よりDATAメッセージを受信すると、IDキャッシュ56−6にコンテンツ名=“temp_LocA_sensor001”、コンテンツの値=28、制御
情報=“lifetime=300s”を設定する(図24、OP34)。また、DP−GW#2は、
処理保留リスト56−1を、要求ID=“sf200_query01”で検索し、要求元IPアドレスであるスマートフォン#3のIPアドレスを抽出し、DATAメッセージを中継する(図
24、OP31)。なお、DP−GW#1からのDATAメッセージには要求IDが含ま
れていないため、DP−GW#2は、DATAメッセージのクエリIDを要求IDとして用い、処理保留リスト56−1を検索している。
情報=“lifetime=300s”を設定する(図24、OP34)。また、DP−GW#2は、
処理保留リスト56−1を、要求ID=“sf200_query01”で検索し、要求元IPアドレスであるスマートフォン#3のIPアドレスを抽出し、DATAメッセージを中継する(図
24、OP31)。なお、DP−GW#1からのDATAメッセージには要求IDが含ま
れていないため、DP−GW#2は、DATAメッセージのクエリIDを要求IDとして用い、処理保留リスト56−1を検索している。
DP−GW#2によって中継されるDATAメッセージには、送信元IPアドレス=D
P−GW#2のIPアドレス、宛先IPアドレス=スマートフォン#3のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf200_query01”、コンテンツの値=28、制御情報=“lifetime=300s”が設定される。
P−GW#2のIPアドレス、宛先IPアドレス=スマートフォン#3のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf200_query01”、コンテンツの値=28、制御情報=“lifetime=300s”が設定される。
S15では、DP−GW#2は、クエリリスト56−4をコンテンツ名=“temp_LocA_sensor001”で検索し、スマートフォン#4のエントリを抽出する。DP−GW#2は、
抽出したエントリからクエリ要求元IPアドレス=スマートフォン#4のIPアドレスを抽出し、REDIRECTメッセージをスマートフォン#4に送信する(図24、OP32)。生成されるREDIRECTメッセージには、送信元IPアドレス=DP−GW#2のIPアドレス、宛先IPアドレス=スマートフォン#4のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf100_query01”、情報保持装置のIPアドレス=DP−GW#2のIPアドレスが設定される。
抽出したエントリからクエリ要求元IPアドレス=スマートフォン#4のIPアドレスを抽出し、REDIRECTメッセージをスマートフォン#4に送信する(図24、OP32)。生成されるREDIRECTメッセージには、送信元IPアドレス=DP−GW#2のIPアドレス、宛先IPアドレス=スマートフォン#4のIPアドレス、コンテンツ名=“temp_LocA_sensor001”、クエリID=“sf100_query01”、情報保持装置のIPアドレス=DP−GW#2のIPアドレスが設定される。
S16では、スマートフォン#4は、REDIRECTメッセージをDP−GW#2より受信すると、クエリリスト56−4のコンテンツ名=“temp_LocA_sensor001”、クエ
リID=“sf100_query01”の情報保持装置のIPアドレスをDP−GW#1からDP−
GW#2に書き換える(図26C,OP64)。
リID=“sf100_query01”の情報保持装置のIPアドレスをDP−GW#1からDP−
GW#2に書き換える(図26C,OP64)。
図30のS17では、DP−GW#2は、プロキシサーバとしての処理により、自律的にDP−GW#1へREQUESTメッセージを生成して、DP−GW#1よりDATAメッセージを受信してIDキャッシュ56を更新する。S17では、DP−GW#2のプロキシプログラムは600秒ごとの周期で、DP−GW#1よりコンテンツ名=“temp_LocA_sensor001”のコンテンツを取得している。
S18では、スマートフォン#3は、クエリリスト56−4に従い、DP−GW#2へREQUESTメッセージを送信して、DP−GW#2のIDキャッシュ56−6よりコンテンツ名=“temp_LocA_sensor001”のコンテンツを取得する。
S19では、スマートフォン#4も、クエリリスト56−4に従い、DP−GW#2へREQUESTメッセージを送信して、DP−GW#2のIDキャッシュ56−6よりコンテンツ名=“temp_LocA_sensor001”のコンテンツを取得する。但し、スマートフォン
#4のREQUESTメッセージのプロキシ機能情報=“synchronize=300s”であり、スマートフォン#3のREQUESTメッセージのプロキシ機能情報=“synchronize=600s”より情報更新の頻度が高いため、DP−GW#2は、実行中プロキシの制御パラメータを調整し、300秒ごとの周期で、DP−GW#1よりコンテンツ名=“temp_LocA_sensor001”のコンテンツを取得するように変更する。
#4のREQUESTメッセージのプロキシ機能情報=“synchronize=300s”であり、スマートフォン#3のREQUESTメッセージのプロキシ機能情報=“synchronize=600s”より情報更新の頻度が高いため、DP−GW#2は、実行中プロキシの制御パラメータを調整し、300秒ごとの周期で、DP−GW#1よりコンテンツ名=“temp_LocA_sensor001”のコンテンツを取得するように変更する。
<第1実施形態の作用及び効果>
第1実施形態では、情報処理システム100内の各装置がクエリリスト56−4を、QERYメッセージを受信、送信、又は中継することによって動的に生成する。クエリリスト56−4には、検索対象のコンテンツの情報保持装置のIPアドレスが含まれている。そのため、クエリリスト56−4にQUERYメッセージの検索対象のコンテンツ名のエントリが保持されている場合には、GW装置1は、他の装置からの該コンテンツ名を含むQUERYメッセージに対して、クエリリスト56−4の該当エントリに基づいて、該コンテンツの情報保持装置のIPアドレスを返すことができる。
第1実施形態では、情報処理システム100内の各装置がクエリリスト56−4を、QERYメッセージを受信、送信、又は中継することによって動的に生成する。クエリリスト56−4には、検索対象のコンテンツの情報保持装置のIPアドレスが含まれている。そのため、クエリリスト56−4にQUERYメッセージの検索対象のコンテンツ名のエントリが保持されている場合には、GW装置1は、他の装置からの該コンテンツ名を含むQUERYメッセージに対して、クエリリスト56−4の該当エントリに基づいて、該コンテンツの情報保持装置のIPアドレスを返すことができる。
また、GW装置1が、クエリリスト56−4にクエリ要求元装置として記録されていない装置から、クエリリスト56−4にエントリのあるコンテンツに対してQUERYメッセージを受信し、該装置にNOTIFYメッセージを送信後、該装置からREQUESTメッセージを受信した場合には、該GW装置1は、対象のコンテンツのプロキシとして動
作を開始する。クエリリスト56−4に記録されていない装置から、クエリリスト56−4にエントリのあるコンテンツに対してQUERYメッセージを受信する場合には、該GW装置1は、情報配信の分岐点であることが示される。したがって、第1実施形態によれば、システム内の情報配信の分岐点に、動的にプロキシサーバを配置することができる。
作を開始する。クエリリスト56−4に記録されていない装置から、クエリリスト56−4にエントリのあるコンテンツに対してQUERYメッセージを受信する場合には、該GW装置1は、情報配信の分岐点であることが示される。したがって、第1実施形態によれば、システム内の情報配信の分岐点に、動的にプロキシサーバを配置することができる。
また、クエリリスト56−4内のエントリの情報保持装置のIPアドレスが変更になった場合には、GW装置1は、コンテンツ名が同じエントリのクエリ要求元装置に対してREDIRECTメッセージを送信して、新しい情報保持装置のIPアドレスを通知する。これによって、該GW装置1をプロキシサーバとする情報参照装置のクエリリスト56−4を更新することができ、クエリリスト56−4の整合性を保つことができる。また、新しい情報保持装置がGW装置1自身である場合には、該GW装置1がREDIRECTメッセージを通知した情報参照装置のプロキシサーバとなり、ネットワーク内の通信を集約することができ、ネットワークを効率よく使用することができる。
また、第1実施形態では、情報参照元装置が、REQUESTメッセージ内に、プロキシのアルゴリズムに関する設定情報(プロキシ機能情報)を付加することで、プロキシサーバとして動作するGW装置1に、情報参照元装置の設定を反映させることができる。例えば、REQUESTメッセージ内のプロキシ機能情報によってコンテンツの取得間隔が指定されることで、情報参照装置が所望する頻度で、コンテンツの更新が可能になる。
また、プロキシ動作を開始するGW装置1は、更に、複数の情報参照装置からのREQUESTメッセージに含まれるプロキシ機能のアルゴリズムに関する設定情報(プロキシ機能情報)を統合的に調整する。これにより、例えば、或る情報参照装置が要求するコンテンツの取得間隔が60秒で、他の情報参照装置が要求するコンテンツの取得間隔が30秒の場合、プロキシとして動作するGW装置1が情報生成元装置からコンテンツを取得する間隔を30秒に設定することで、全ての情報参照装置の要求を満たすが可能になる。
以上のように、第1実施形態によれば、ネットワーク内の各装置に対して、クエリリスト56−4を用いたコンテンツの検索機能と、コンテンツの取得要求に対して動的にプロキシ機能を配置しクエリリストを修正する機能とを提供することで、キャシュサーバのような特殊な装置を静的に配置することなく、コンテンツへの要求が集中する箇所に自律的に通信データの中継機能のプロキシを配置可能になる。これによって、ネットワーク全体のトラフィックやキャッシュサーバとして使用されるメモリ量を低減することができる。
また、第1実施形態では、GW装置1は、プロキシとしての動作を行う場合には、REQUESTメッセージに含まれるプロキシ制御情報で特定される実行オブジェクト(プロキシプログラム)を起動する。これによって、REQUESTメッセージが要求するコンテンツに応じた実行オブジェクトが起動される。そのため、コンテンツの値が頻繁に変化する場合にも、実行オブジェクトによって、定期的に最新のコンテンツの値が取得されるので、プロキシサーバとして動作する場合、GW装置1は、最新のコンテンツの値を保持し、情報参照装置に最新のコンテンツの値を提供することができる。
<その他>
第1実施形態では、センサのような動的にコンテンツの値が変化する場合に、データを分散配置して同期するプロキシの例が示されたが、プロキシ動作は、データの同期制御に限定されない。プロキシとして動作する装置では、通信は一度アプリケーション層で終端されるため、キャッシュサーバのようなコンテンツの静的なキャッシュや、複数のコンテンツ保持装置と連携した負荷分散、アプリケーションレベルでのデータのフィルタリング等の、アプリケーション層での情報解析が必要なプロキシ動作が容易に実現できる。
第1実施形態では、センサのような動的にコンテンツの値が変化する場合に、データを分散配置して同期するプロキシの例が示されたが、プロキシ動作は、データの同期制御に限定されない。プロキシとして動作する装置では、通信は一度アプリケーション層で終端されるため、キャッシュサーバのようなコンテンツの静的なキャッシュや、複数のコンテンツ保持装置と連携した負荷分散、アプリケーションレベルでのデータのフィルタリング等の、アプリケーション層での情報解析が必要なプロキシ動作が容易に実現できる。
また、第1実施形態では、或るコンテンツに対して2台目の情報参照装置からREQUESTメッセージを受信すると、GW装置1はプロキシサーバとしての動作を開始した(図7参照)が、GW装置1がプロキシサーバとしての動作を開始する条件は、これに限定されない。例えば、図4の(4)の処理のように、或るコンテンツに対して1台目の情報参照装置からのQUERYメッセージに対するNOTIFYメッセージを通知した時点で、GW装置1はプロキシサーバとしての動作を開始するようにしてもよい。
すなわち、所定の開始条件を満たすことによって、GW装置1がプロキシサーバとしての動作を開始するようにすることができる。第1実施形態で説明された例の場合には、開始条件は、コンテンツに対して2台目の情報参照装置からのREQUESTメッセージを受信すること、換言すると、クエリリスト56−4に情報保持装置IPアドレスが設定済みの該当コンテンツのエントリが2つ以上存在し、2台目の情報参照装置からREQUESTメッセージを受信すること、である。
或るコンテンツに対して1台目の情報参照装置からのQUERYメッセージに対するNOTIFYメッセージを通知した時点で、GW装置1はプロキシサーバとしての動作を開始場合には、開始条件は、クエリリスト56−4に情報保持装置IPアドレスが設定済みの該当コンテンツのエントリが1つ以上存在すること、である。
すなわち、クエリリスト56−4内の情報保持装置IPアドレスが設定済みの該当コンテンツのエントリの数によって、開始条件を制御することができる。
なお、開始条件は、コンテンツ種別ごとに異なっていてもよい。また、開始条件は、プロキシ実行条件とは、同じであってもよい。開始条件は、「所定の条件」の一例である。
5 情報処理モジュール
6 情報参照モジュール
7 情報登録モジュール
51 情報参照プロキシ部
52 情報検索部
53 情報公開部
54 通信制御部
56−1 処理保留リスト
56−2 プロキシ情報
56−3 プロキシ管理リスト
56−4 クエリリスト
56−5 リンク情報
56−6 IDキャッシュ
61 情報参照部
71 情報生成部
72 命名規則リスト
6 情報参照モジュール
7 情報登録モジュール
51 情報参照プロキシ部
52 情報検索部
53 情報公開部
54 通信制御部
56−1 処理保留リスト
56−2 プロキシ情報
56−3 プロキシ管理リスト
56−4 クエリリスト
56−5 リンク情報
56−6 IDキャッシュ
61 情報参照部
71 情報生成部
72 命名規則リスト
Claims (9)
- 情報保持装置及び情報参照要求装置にネットワークを介して接続されたノード装置であって、
第1の情報参照要求装置からの前記情報保持装置が保持するコンテンツのコンテンツ識別情報及び前記第1の情報参照要求装置の識別情報を含む要求による情報検索を通じて取得された、前記コンテンツ識別情報、前記第1の情報参照要求装置の識別情報、及び前記情報保持装置の識別情報を記憶する記憶部と、
前記記憶部に記憶された情報に基づく所定の条件が満たされた場合に、前記情報保持装置から前記コンテンツを取得し、前記情報保持装置に代わって、前記コンテンツ識別情報を含む要求に応答する処理部と、
を備えるノード装置。 - 前記コンテンツを保持する第2の記憶部をさらに備え、
前記処理部は、前記所定の条件が満たされた場合に、前記情報保持装置から取得した前記コンテンツを前記第2の記憶部に格納し、前記第2の記憶部に格納されるコンテンツを更新する更新部を起動する、
請求項1に記載のノード装置。 - 前記処理部は、前記所定の条件として、前記第1の情報参照要求装置とは異なる第2の情報参照要求装置から前記コンテンツ識別情報を含むコンテンツの取得要求を受信した場合に、前記情報保持装置から前記コンテンツを取得し、前記第2の情報参照要求装置からの前記取得要求に応答する、
請求項1又は2に記載のノード装置。 - 前記第2の情報参照要求装置から前記コンテンツ識別情報を含む検索要求を受信した場合に、自装置を前記第2の情報参照要求装置に前記コンテンツの情報保持装置とする通知を送信する検索部、
をさらに備える請求項3に記載のノード装置。 - 前記処理部は、前記第2の記憶部に前記コンテンツを格納した場合に、自装置を前記コンテンツの情報保持装置とする更新通知を前記第1の情報参照要求装置に送信する、
請求項4に記載のノード装置。 - 前記処理部は、前記コンテンツの取得要求に制御情報が含まれる場合には、前記更新部を前記制御情報に従って起動する、
請求項2から5のいずれか一項に記載のノード装置。 - 情報保持装置、情報参照要求装置、及び前記情報保持装置と前記情報参照要求装置とにネットワークを介して接続するノード装置を含む情報処理システムであって、
前記ノード装置は、
第1の情報参照要求装置からの前記情報保持装置が保持するコンテンツのコンテンツ識別情報及び前記第1の情報参照要求装置の識別情報を含む要求による情報検索を通じて取得された、前記コンテンツ識別情報、前記第1の情報参照要求装置の識別情報、及び前記情報保持装置の識別情報を記憶する記憶部と、
前記記憶部に記憶された情報に基づく所定の条件が満たされた場合に、前記情報保持装置から前記コンテンツを取得し、前記情報保持装置に代わって、前記コンテンツ識別情報を含む要求に応答する処理部と、
を備える情報処理システム。 - 情報保持装置及び情報参照要求装置にネットワークを介して接続されたノード装置が、
第1の情報参照要求装置からの前記情報保持装置が保持するコンテンツのコンテンツ識別情報及び前記第1の情報参照要求装置の識別情報を含む要求による情報検索を通じて取得された、前記コンテンツ識別情報、前記第1の情報参照要求装置の識別情報、及び前記情報保持装置の識別情報を記憶部に記憶し、
前記記憶部に記憶された情報に基づく所定の条件が満たされた場合に、前記情報保持装置から前記コンテンツを取得し、前記情報保持装置に代わって、前記コンテンツ識別情報を含む要求に応答する、
情報処理方法。 - 情報保持装置及び情報参照要求装置にネットワークを介して接続されたノード装置に、
第1の情報参照要求装置からの前記情報保持装置が保持するコンテンツのコンテンツ識別情報及び前記第1の情報参照要求装置の識別情報を含む要求による情報検索を通じて取得された、前記コンテンツ識別情報、前記第1の情報参照要求装置の識別情報、及び前記情報保持装置の識別情報を記憶部に記憶させ、
前記記憶部に記憶された情報に基づく所定の条件が満たされた場合に、前記情報保持装置から前記コンテンツを取得し、前記情報保持装置に代わって、前記コンテンツ識別情報を含む要求に応答させる、
ための情報処理プログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013258728A JP2015115014A (ja) | 2013-12-13 | 2013-12-13 | ノード装置、情報処理システム、情報処理方法、及び情報処理プログラム |
| US14/548,662 US9762680B2 (en) | 2013-12-13 | 2014-11-20 | Node apparatus operating as proxy server |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013258728A JP2015115014A (ja) | 2013-12-13 | 2013-12-13 | ノード装置、情報処理システム、情報処理方法、及び情報処理プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2015115014A true JP2015115014A (ja) | 2015-06-22 |
Family
ID=53369942
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013258728A Pending JP2015115014A (ja) | 2013-12-13 | 2013-12-13 | ノード装置、情報処理システム、情報処理方法、及び情報処理プログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9762680B2 (ja) |
| JP (1) | JP2015115014A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017220132A (ja) * | 2016-06-09 | 2017-12-14 | 富士通株式会社 | 過去情報提供プログラム、過去情報提供方法及び過去情報提供装置 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10798187B2 (en) * | 2017-06-19 | 2020-10-06 | Cisco Technology, Inc. | Secure service chaining |
| JP7690300B2 (ja) * | 2021-02-26 | 2025-06-10 | キヤノン株式会社 | ゲートウェイ装置、ノード装置、情報処理システム、生産システム、物品の製造方法、制御方法、情報処理装置、情報処理方法、プログラム、記録媒体 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03278160A (ja) | 1990-03-28 | 1991-12-09 | Hitachi Ltd | 情報提供方法 |
| SE9700622D0 (sv) | 1997-02-21 | 1997-02-21 | Ericsson Telefon Ab L M | Anordning och metod vid datanät |
| JPH1168744A (ja) | 1997-08-26 | 1999-03-09 | P I Ii:Kk | 情報配信システムの制御方法および情報配信システム |
| JP2006135811A (ja) | 2004-11-08 | 2006-05-25 | Make It:Kk | ネットワーク型ビデオ配信システム |
| US8386622B2 (en) * | 2008-05-16 | 2013-02-26 | Palo Alto Research Center Incorporated | Method and apparatus for facilitating communication in a content centric network |
| JP2010160610A (ja) * | 2009-01-07 | 2010-07-22 | Toshiba Corp | 通信装置、通信方法、及びプログラム |
| US9270736B2 (en) * | 2011-12-14 | 2016-02-23 | Empire Technology Development Llc | Semantic cache cloud services for connected devices |
| US8495072B1 (en) * | 2012-01-27 | 2013-07-23 | International Business Machines Corporation | Attribute-based identification schemes for objects in internet of things |
| CN107317839A (zh) * | 2012-07-04 | 2017-11-03 | 中兴通讯股份有限公司 | 物联网消息处理方法、装置及系统 |
| US10015293B2 (en) * | 2013-02-08 | 2018-07-03 | Iot Holdings, Inc. | Method and apparatus for incorporating an internet of things (IoT) service interface protocol layer in a node |
| WO2014130568A1 (en) * | 2013-02-19 | 2014-08-28 | Interdigital Patent Holdings, Inc. | Information modeling for the future internet of things |
| US9680726B2 (en) * | 2013-02-25 | 2017-06-13 | Qualcomm Incorporated | Adaptive and extensible universal schema for heterogeneous internet of things (IOT) devices |
| KR102046287B1 (ko) * | 2013-05-06 | 2019-11-18 | 콘비다 와이어리스, 엘엘씨 | 사물 인터넷 적응화 서비스들 |
| JP2016526207A (ja) * | 2013-05-06 | 2016-09-01 | コンヴィーダ ワイヤレス, エルエルシー | モノのインターネットのための知的交渉サービス |
| WO2014186733A1 (en) * | 2013-05-16 | 2014-11-20 | Convida Wireless, Llc | Systems and methods for enhanced discovery |
| US10057173B2 (en) * | 2013-05-28 | 2018-08-21 | Convida Wireless, Llc | Load balancing in the Internet of things |
-
2013
- 2013-12-13 JP JP2013258728A patent/JP2015115014A/ja active Pending
-
2014
- 2014-11-20 US US14/548,662 patent/US9762680B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
| Title |
|---|
| 山村新也,他3名: "情報検索と連動したデータ転送プロキシの動的配置方式の検討", 電子情報通信学会技術研究報告, vol. 第113巻,第360号, JPN6017025686, 12 December 2013 (2013-12-12), JP, pages 31 - 36, ISSN: 0003720297 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017220132A (ja) * | 2016-06-09 | 2017-12-14 | 富士通株式会社 | 過去情報提供プログラム、過去情報提供方法及び過去情報提供装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US9762680B2 (en) | 2017-09-12 |
| US20150172380A1 (en) | 2015-06-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10404601B2 (en) | Load balancing in the internet of things | |
| JP6302050B2 (ja) | 改善された発見のためのシステムおよび方法 | |
| US10205505B2 (en) | Communications methods and apparatus | |
| US20130073671A1 (en) | Offloading traffic to device-to-device communications | |
| US20180262597A1 (en) | Universal quality of service for internet of things devices | |
| JP2017504854A (ja) | サブスクリプション通知を実施するための方法および装置 | |
| Pereira et al. | IoT interoperability for actuating applications through standardised M2M communications | |
| US9913074B2 (en) | Identifying resources from a device in a communications network | |
| JP4954328B2 (ja) | 通信ネットワークにおけるデータ管理のための方法およびシステム | |
| US20220050726A1 (en) | Advanced resource link binding management | |
| JP2015115014A (ja) | ノード装置、情報処理システム、情報処理方法、及び情報処理プログラム | |
| US9860171B2 (en) | Large scale message routing in a distributed network | |
| KR101975291B1 (ko) | 서비스 레이어에서의 리소스 링크 관리 | |
| EP2802108A9 (en) | Data-oriented communication system, node, and data transfer method | |
| JP2006005753A (ja) | 通信トポロジ導出方法、システム、サーバ、およびプログラム | |
| WO2015165034A1 (zh) | 加载网页的方法和装置 | |
| US9842481B1 (en) | Apparatus and method to collect device information published in past times via a network of gateways | |
| CN119336839B (zh) | 数据访问方法、装置、介质、电子设备及程序产品 | |
| Bosunia et al. | Machine-to-machine content retrieval in wireless networks | |
| EP3711281A1 (en) | Selecting from a plurality of items which match an interest | |
| Hoang | Multi-Access Edge Computing Architecture and Smart Agriculture Application in Ubiquitous Power Internet of Things | |
| Tiruvayipati et al. | Feasibility of soft real-time operations over WLAN infrastructure-independent IoT implementation by enhancing edge computing | |
| JP2009129240A (ja) | センサネットワーク、サービス特定装置、サービス提供方法およびサービス提供プログラム | |
| WO2014140613A2 (en) | Communications systems and methods |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160905 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170630 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170711 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180116 |