JPWO2013031068A1 - イベント通知サービス方法およびシステム - Google Patents

イベント通知サービス方法およびシステム Download PDF

Info

Publication number
JPWO2013031068A1
JPWO2013031068A1 JP2013531010A JP2013531010A JPWO2013031068A1 JP WO2013031068 A1 JPWO2013031068 A1 JP WO2013031068A1 JP 2013531010 A JP2013531010 A JP 2013531010A JP 2013531010 A JP2013531010 A JP 2013531010A JP WO2013031068 A1 JPWO2013031068 A1 JP WO2013031068A1
Authority
JP
Japan
Prior art keywords
event
transfer
server
request
notification
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.)
Granted
Application number
JP2013531010A
Other languages
English (en)
Other versions
JP5954330B2 (ja
Inventor
泰寛 宮尾
泰寛 宮尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2013031068A1 publication Critical patent/JPWO2013031068A1/ja
Application granted granted Critical
Publication of JP5954330B2 publication Critical patent/JP5954330B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

イベント発行サーバと、イベントの通知をイベント発行サーバに対して依頼するユーザ端末からの通知依頼をイベント発行サーバに、あるいは、イベントをユーザ端末に、中継して転送する複数の中継サーバと、を備える。そして、中継サーバは、イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから通知依頼あるいはイベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルと、転送キーを含む通知依頼あるいはイベントの転送要求を受けて、当該転送要求にかかる通知依頼あるいはイベントに含まれた転送キーと同一の転送キーに、転送テーブル内で関連付けられた転送先アドレスの中継サーバに、通知依頼あるいはイベントを転送するメッセージ転送手段と、を備える。

Description

本発明は、イベント通知サービス方法およびシステムに関し、特に、広域ネットワーク上に分散配置された複数のサーバサイト、もしくはデータセンタを経由して、イベント通知をサービスするための方法およびシステムに関する。また、かかるサービスを提供する情報処理装置及びプログラムに関する。
(パブサブについて)
非特許文献1にあるように、publish/subscribeとよばれるメッセージング方法(略してpub/sub(パブサブ))では、ユーザが興味のあるイベント情報に一度subscribeしておくと、つまり、申し込んでおくと、その状態を解除しない場合に限り、そのイベントが生成される度に、そのイベントにsubscribeしている全てのユーザ(subscriber)にイベントが通知される。
ここで、subscribeするために転送されるメッセージをsubscription、発生したイベントのメッセージをpublication、subscriber(ユーザ)に通知されるメッセージをnotificationと呼ぶ。これは通常のウェブ(Web)コンテンツのような一つのrequestに対して一つのresponseを返すと言ったステートレスなメッセージング方法とは対照的である。
上記パブサブの対象となるものは広範に及ぶ。例えば、SNSにおけるあるメンバーのWebページの更新を、友人である他のメンバーに通知する。ある銘柄の株価が閾値を超えたらそれを通知する、等がある。
(スケーラブルなパブサブシステムについて)
非特許文献1にあるように、より多くのpublisher(イベント発行者)とsubscriber(ユーザ)の間で効率よくメッセージを転送できるようにするために、両者の間に一つもしくは複数のbroker(中継者)が入る。Broker同士は物理リンク、もしくはIP網等のアンダレイ網によって繋がっており、brokerレベルのネットワークはオーバレイ網とも呼ばれる。
brokerの間におけるメッセージnotificationの転送は、予めsubscriptionの受信により登録されているsubscription情報に照らし合わせて次に転送すべきノードもしくはsubscriberを決定する。このことをランデブー処理と呼び、それを行うbrokerは特にランデブーポイントとも言われる。
ここで、どのsubscriber(ユーザ)がどのpublisher(イベント発行者)が発生するイベントにsubscribe(申し込み)したいのかを示すトポロジーを「関心トポロジー」と呼ぶことにする。また、publicationをsubscriber(ユーザ)に分配・転送するトポロジを「分配トポロジー」とよぶことにする。「分配トポロジー」は、broker(中継者)間をつなぐ物理リンク、もしくはオーバレイネットワークが提供する論理リンクで与えられる。
ランデブーポイント間の関係を示すトポロジーを「ランデブートポロジー」とよぶ。「ランデブートポロジー」が他の2つのトポロジーとどういう関係にあるかによって、これまでの技術は分類できる。
非特許文献2:SIENAでは、ランデブートポロジーは分配トポロジーと一致している。すなわち、publisher(イベント発行者)から将来publish(発行)するpublicationを指定する情報であるアドバータイズメントが分配木等によって各ノードに転送され、その逆経路として、subscriptionを転送するためのsubscription転送テーブルが設定される。さらにこのテーブルに基づいてsubscriber(ユーザ)からのsubscriptionがランデブーポイントで順次転送されると、その逆経路として、各ランデブーポイント上でnotificationを転送するためのnotification転送テーブルが設定される。
しかし、これでは分配トポロジーを、障害迂回もしくは性能最適化のために再構成した場合に、各ランデブーポイントにおける2種類の転送テーブルを全て再構成する必要があり、これは容易ではない、という課題がある。
(ランデブートポロジーと分配トポロジーの分離)
上記の課題を解決するものとして、ランデブートポロジーを関心トポロジーと一致させることで、分配トポロジーを独立させ、その再構成をしやすくしたものとして、非特許文献3−6(Xcast+, DOM, LIPSIN, MEDYM)がある。より具体的には、notificationの宛先のbroker(中継者)を決定するランデブー処理は、publisher(イベント発行者)を収容するbrokerのみで行われる。そして決定にもとづいた情報をnotificationに埋め込み、その転送は独立な手順で状況に応じて最適に構成された分配トポロジーに基づいて行う。
非特許文献3−4(Xcast+, DOM)は、IPマルチキャストに関するものであるが、pub/subとは以下の点で類似している。すわなち、マルチキャストグループへの代表ルータの加入・離脱は関心トポロジーに対応する。そして、マルチキャストグループ内の代表ルータにむけたIPパケットのマルチキャストが、分配トポロジーによるnotificationの全subscriber(ユーザ)への分配に対応する。なお、上記文献において、マルチキャストの分配経路は、マルチキャストグループの管理とは独立な、ユニキャストルーティングに基づいて決定される。
非特許文献9のようなIPマルチキャストアーキテクチャにおいては、各ルータにおいて、ソース端末を収容する代表ルータとマルチキャストグループの組合わせ毎に転送状態を保持すると、転送テーブルサイズが大きくなってしまうのに対処するため、非特許文献3−4(Xcast+、DOM)では次のような改造がおこなわれている。すなわち、それぞれ、分配木を構成する全リンクのリスト、もしくはマルチキャストグループに加わっている代表ルータのリストをIPパケットに挿入して、マルチキャスト経路上の各ルータは、その各アドレスを経路テーブルで参照して、一つもしくは複数の次ホップのルータを決定するといういわゆるソースルーティングを行っている。ここでは各次ホップルータにおくるべきパケット内では、そのルータにユニキャスト経路テーブル上でマッチした代表ルータのアドレスリストが加えられる。
非特許文献4:DOM(Destination Oriented Multicast)では、Xcast+が宛先代表ルータのリストをIPパケットにそのまま埋め込むと、代表ルータ数に比例してオーバヘッド(もしくは帯域消費)が大きくなるという問題に対処するため、宛先代表ルータリストをBloom filter化してオーバヘッドを代表ルータ数によらず固定長化している。
非特許文献5:LIPSINも非特許文献3−4と同じように、Bloom filterをもちいたソースルーティングの仕組みをnotificationの分配に使っている。これは、非特許文献3−4(Xcast+、DOM)が宛先代表ルータのリストを使うのとは違って、publisher(イベント発行者)を収容するbroker(中継者)をルーツとし、subscriber(ユーザ)を収容しているbroker(中継者)を含む分配木を構成したときのリンクIDをBloom filter化して、それを転送すべきnotificationに埋め込んでいる。これにより、分配木が再構成されたときのみならず、subscriber(ユーザ)収容のbroker(中継者)に加入・離脱があった場合でも、それを反映した新たなBloom filterを挿入するだけで済む。
非特許文献6(MEDYM)では、非特許文献3(Xcast+)と同じく、転送すべきnotification内に宛先broker(中継者)のリストを埋め込んでいる。ここでは、次に転送すべきサイトは、上記文献がユニキャストルーティングに基づいて決定するのとは異なり、broker(中継者)がnotificationを受信するたびに、自らがルーツとなりさらに宛先リストに含まれるsubscriber(ユーザ)ノードのみを含む最適分配木を作り、それに基づいて、次ホップノードとそれにより到達できる宛先ノードを決定する。
(Brokerのスケールアウトに関する技術)
ここで、Broker(中継者)網におけるBS(Broker Server)の総数Nを単純に増やしていくと、次の問題が生じる。すなわち、分配木を動的に構成するための仮想リンク総数はO(N2)となり、分配木を最短パスツリー(SPT)を与えるダイクストラのアルゴリズムで作る際の計算量はO(N3)となる。
この問題を解決するため、非特許文献6(H-MEDYM)では以下のような階層構成化をオフラインで行っておく。すなわち、複数のノードをまとめてクラスタとする。そして、各クラスタにおいて、例えばイベントソースに付与される識別子の空間を分割してできるサブスペース毎にmatcherノードを割当て、クラスタ間では全Matcherの割当て情報を配置し、クラスタ内ではmatcher以外のノードに、サブスペース毎のmatcherの情報を配置しておく。動作として、異なるクラスタ間でのメッセージ転送はmatcherノードが行い、クラスタ内はmatcherから他のノードに転送する。
(Consistent hashing)D. Karger, E. Lehman, T. Leighton, M. Levine, D. Lewin, and R.Panigrahy, Method and apparatus for distributing request among a plurality ofresources, United States Patent 7,127,513 October 24, 2006. (Inter DC networking)特願2010-196416「データ転送システム」
P. Eugster, P. Felber, R. Guerraoui, and A.-M. Kermarrec,"The manyfaces of publish/subscribe,"ACM Computing Surveys, vol. 35, no. 2, June 2003,pp.114-131. (SIENA)A. Carzaniga, D. Rosenblum, and A. Wolf, "Design and evaluation of awide-area event notification service," ACM Transactions on Computer Systems, vol.19, no. 3, pp. 332-383, 2001. (Xcast+)M. Shin, Y. Kim, K. Park, and S. Kim,"Explicit multicast extension(Xcast+) for efficient multicast packet delivery,"ETRI Journal, vol. 23, no. 4,Dec. 2001. (DOM)X. Tian, Y. Cheng, and X. Shen, "DOM: a scalable multicast protocolfor next-generation internet," IEEE Network, July/August 2010. (LIPSIN)P. Jokela, A. Zahemszky, C. E. Rothenberg, S. Arianfar, and P.Nikander, "LIPSIN: Line speed publish/subscribe inter-networking,"SIGCOMM 2009. (MEDYM)F. Cao and J. Singh, "MEDYM: Match-early with dynamic multicast for content-basedpublish-subscribe networks,"Middleware 2005. (TRIAD)M. Gritter and D. Cheriton, "An architecture for content routing support in the internet," USENIX 2001. (NNC)V. Jacobson, D. K. Smetters, J. D. Thornton, M. Plass, N. Briggs, R.L. Braynard, "Networking named content," ACM CoNEXT 2009. (SSM)RFC 3569 - An overview of Source-Specific Multicast (SSM)http://tools.ietf.org/html/rfc3569
しかしながら、上記非特許文献4,5(DOM, LIPSIN)のようにマルチキャストでの転送先をBloom filterの形式で処理して、転送処理の高速化をはかる方法では、偽陽性(あるリンクが間違って転送先グループに入ると判断する)の性質をもち、本来転送すべきではないノードにメッセージが転送されてしまう可能性があるという問題がある。
また、上記非特許文献6(MEDYM)ではbroker(中継者)がメッセージを受信する毎に、自分と宛先brokerのみを含むbrokerの間で最適化問題を解いて転送先brokerを決定するため、転送処理が高速化できない、また、転送先が全体最適化されているとは限らないという問題がある。
このため、本発明の目的は、上述した課題である、イベント通知サービスにおけるイベント通知の転送を高速化できないことを解決する、ことにある。
本発明の一形態であるイベント通知サービスシステムは、
イベントを発行するイベント発行サーバと、
前記イベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する複数の中継サーバと、を備え、
前記中継サーバは、
前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルと、
前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送するメッセージ転送手段と、を備えた、
という構成をとる。
また、本発明の他の形態である中継サーバは、
イベントを発行するイベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する中継サーバであって、
前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルと、
前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送するメッセージ転送手段と、を備えた、
という構成をとる。
また、本発明の他の形態であるプログラムは、
イベントを発行するイベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送すると共に、
前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルを備えた中継サーバに、
前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送するメッセージ転送手段、を実現させるためのプログラムである。
また、本発明の他の形態であるイベント通知サービス方法は、
イベントを発行するイベント発行サーバと、
前記イベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する複数の中継サーバと、を備えたイベント通知サービスシステムにて、
前記中継サーバが、
前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルを備えると共に、
前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送する、
という構成をとる。
また、本発明の他の形態であるイベント通知サービスシステムは、
イベントを発行するイベント発行サーバと、
前記イベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する複数の中継サーバと、を備え、
少なくとも前記中継サーバを複数含むサーバ群で形成されたサイトが複数ネットワークを介して接続されて形成されており、
前記中継サーバは、前記ユーザ端末からの前記通知依頼を、当該通知依頼に前記ユーザ端末が属する前記サイトを識別する宛先サイト情報を含めて転送すると共に、前記イベント発行サーバが属する前記サイトに前記中継サーバが属する場合に、前記通知依頼に含まれる前記宛先サイト情報を前記イベントの通知先として登録し、前記イベントの転送要求を受けて、登録された前記宛先サイト情報を前記イベントに含めると共に当該宛先サイト情報に対応する前記サイトあるいは当該サイトに到達可能なサイトを前記イベントの転送先として当該イベントを転送するメッセージ転送手段を備えた、
という構成をとる。
また、本発明の他の形態である中継サーバは、
イベントを発行するイベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する中継サーバであって、
少なくとも前記中継サーバを複数含むサーバ群で形成されたサイトが複数ネットワークを介して接続されて形成されており、
前記中継サーバは、前記ユーザ端末からの前記通知依頼を、当該通知依頼に前記ユーザ端末が属する前記サイトを識別する宛先サイト情報を含めて転送すると共に、前記イベント発行サーバが属する前記サイトに前記中継サーバが属する場合に、前記通知依頼に含まれる前記宛先サイト情報を前記イベントの通知先として登録し、前記イベントの転送要求を受けて、登録された前記宛先サイト情報を前記イベントに含めると共に当該宛先サイト情報に対応する前記サイトあるいは当該サイトに到達可能なサイトを前記イベントの転送先として当該イベントを転送するメッセージ転送手段を備えた、
という構成をとる。
また、本発明の他の形態であるプログラムは、
イベントを発行するイベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する中継サーバを、少なくとも複数含むサーバ群で形成されたサイトが複数ネットワークを介して接続されて形成されており、
前記中継サーバに、
前記ユーザ端末からの前記通知依頼を、当該通知依頼に前記ユーザ端末が属する前記サイトを識別する宛先サイト情報を含めて転送すると共に、前記イベント発行サーバが属する前記サイトに前記中継サーバが属する場合に、前記通知依頼に含まれる前記宛先サイト情報を前記イベントの通知先として登録し、前記イベントの転送要求を受けて、登録された前記宛先サイト情報を前記イベントに含めると共に当該宛先サイト情報に対応する前記サイトあるいは当該サイトに到達可能なサイトを前記イベントの転送先として当該イベントを転送するメッセージ転送手段、を実現させるためのプログラムである。
また、本発明の他の形態であるイベント通知サービス方法は、
イベントを発行するイベント発行サーバと、
前記イベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する複数の中継サーバと、を備えると共に、
少なくとも前記中継サーバを複数含むサーバ群で形成されたサイトが複数ネットワークを介して接続されて形成されたイベント通知サービスシステムにて、
前記中継サーバが、前記ユーザ端末からの前記通知依頼を、当該通知依頼に前記ユーザ端末が属する前記サイトを識別する宛先サイト情報を含めて転送すると共に、前記イベント発行サーバが属する前記サイトに前記中継サーバが属する場合に、前記通知依頼に含まれる前記宛先サイト情報を前記イベントの通知先として登録し、前記イベントの転送要求を受けて、登録された前記宛先サイト情報を前記イベントに含めると共に当該宛先サイト情報に対応する前記サイトあるいは当該サイトに到達可能なサイトを前記イベントの転送先として当該イベントを転送する、
という構成をとる。
本発明は、以上のように構成されるため、これによると、イベント通知サービスにおけるイベント通知の転送を高速化することができる。
実施形態1におけるシステム全体の構成を示すブロック図である。 図1に開示したサイトの構成を示すブロック図である。 図2に開示したEPSの構成を示すブロック図である。 図2に開示したBSの構成を示すブロック図である。 図2に開示したNRSの構成を示すブロック図である。 図3bに開示したBSが記憶する転送テーブルの説明図である。 BSのメッセージ処理手段によるpublication転送処理を示す流れ図である。 BSのメッセージ処理手段によるnotification転送処理を示す流れ図である。 BSのメッセージ処理手段による親BSから受取ったsubscription転送処理を示す流れ図である。 BSのメッセージ処理手段によるユーザから受取ったsubscription転送処理を示す流れ図である。 図2に開示したNRSが記憶する経路テーブルの説明図である。 図2に開示したNRSが記憶するBS割当てテーブルの説明図である。 NRSの名前解決手段の動作を示す流れ図である。 NRSの名前解決手段の動作を示す流れ図である。 本発明の実施例として、ユーザ端末からオリジンサイトまでのSubscription転送における一連の動作を示す図である。 本発明の実施例として、オリジンサイトからユーザ端末までのPublication/notificationにおける一連の動作を示す図である。
<実施形態1>
本発明の第1の実施形態を、図1乃至図12を参照して説明する。
まず、図1を参照して、本発明であるイベント通知サービスシステムの全体構成について説明する。イベント通知サービスシステムは、情報ソース(104等)、ユーザ(ユーザ端末201等)、サイト(301等)、コア網4、アクセス網(501等)とからなる。
上記「情報ソース」は、イベントを生成する元となる情報を生成もしくは提供するものである。この情報ソースとそれを収容するアクセス網(501等)との組合わせの具体例としては、無線センサー網504(アクセス網)につなげて発電量を監視したい太陽光発電装置104(情報ソース)、同じく蓄電量を監視したい2次電池(情報ソース)、LTE/3G網503,506(アクセス網)につながってバッテリーの充電状態(state of charge、以下SOCと略す)等を監視できるEV(電気自動車)103,106(情報ソース)、インターネット(アクセス網)につながって視聴状態を監視できるTV(テレビジョンセット)105(情報ソース)等がある。
そして、上記「情報ソース」は、イベント通知サービスを受けたいユーザからの要求に基づいて、イベント発行サーバである「EPS」によって、対応するオリジナルURIが付与される。なお、情報ソースは、上述したものに限定されない。
上記「ユーザ」は、イベント通知サービスの利用者であり、そのユーザが使用する機器であるユーザ端末の例としては、PC(パーソナルコンピュータ)202,208、もしくはスマートフォン201,207がある。但し、ユーザ端末は、上述した機器に限定されない。
上記「コア網」4は、複数のサイト間にデータ転送機能を提供する。その例としては、自営専用網、広域イーサネットといった仮想専用網、グローバルインターネットがある。そして、上記「アクセス網」(501等)は、上記コア網4に接続されており、情報ソース、ユーザをサイトに収容する。
上記「サイト」は、イベント通知サービスを可能とする各種機能をソフトウェアで実現するためのサーバマシーンを複数台設置する場所であり、その例としては、ネットワークオペレータのNOC(ネットワークオオペレーションセンタ)もしくはデータセンタがある。
次に、図2を参照して、「サイト」内の構成について説明する。なお、ここでは、サイトの一例として、符号302に示すサイトを一例に挙げて説明するが、他のサイトも同様の構成である。
図2に示すように、サイト302は、NRS(名前解決サーバ(アドレス解決サーバ))6と、BS(ブローカーサーバ(中継サーバ))7と、EPS(イベント発行サーバ)8と、サイト内網9とを含む。
上記NRS6は、サイト間で、イベントの発行により通知されるメッセージである「notification」(イベント)を低遅延で転送するための分配木を動的に再構成し、また、サイト内でnotification、ユーザからのイベントの通知依頼であるsubscription(通知依頼)を転送すべきBS7を割当てるために、転送用URIからBS7のアドレスを解決して要求のあったBS7もしくは他のNRS6に応答する、という機能を果たす。
上記BS7は、ユーザもしくは他のBS7からsubscriptionを、EPS6を収容するサイトのBS7まで転送し、またEPS6からBS7およびユーザまでnotificationを配信(転送)する機能を果たす。
上記EPS8は、SGW(Service Gateway)から定期的もしくはイベントベースで間欠的に送られる実時間データを処理して、ユーザに配信すべき情報としてのイベントを発行する。ユーザからのイベント配信サービスに関する要求に基づいて監視対象を識別するためのオリジナルURIを生成して提供する。アクセス網独自のデータ転送、メッセージ転送プロトコルを終端して、EPS,BS等の間の間で使われるシステム共通のプロトコル(例えば、HTTP)に変換する機能を果たす。
また、サイト内網9は、1つのコア網4、および1つ以上のアクセス網5と繋がっている。以下、上述した各構成要素の構成と動作について詳細に説明する。
(EPS)
EPS8の構成について説明する。図3aに示すように、EPS8は、サービスポータル手段20、publications生成送出手段22、イベント管理テーブル(以下「emTBL」と略す)21、を含む。
上記サービスポータル手段20では、ユーザ(ユーザ端末201等)からイベントサービスポータルにアクセスがあったら、ユーザがユーザ端末201等のブラウザ上等から入力したイベント通知を受けるための条件等もとづいて、「オリジナルURI」と、イベント通知を受けるための条件を記述したものである「filter」と、を生成して、ユーザに応答する。ここで、「filter」は、各監視項目の制約条件に対する論理式で与えられる。例えば、電気自動車において、監視項目の例としてはSOCと任意の電気スタンドからの距離がある。また、filterは次のように書ける。
(SOC)<10% and (distance from any stand)<2.0km
次に、サービスポータル手段20は、EPS8が属する同一のサイト内のローカルNRS6に指示して、オリジナルURIからpublicationの送出先である出口となるBS7(出口BS)のアドレスを解決する。その後、監視項目と、filterと、NRS6に要求してオリジナルURIから解決させた出口BSのアドレスと、をemTBL21に格納する。
emTBL21は、オリジナルURIと、filter内に含まれるデータの内容(attribute)に対応する監視項目と、同じURIに対する各サイトからのfilter全体をカバーするfilterと、publicationを送出すべき出口BSと、のアドレスの組合わせを含む。
Publication生成・送出手段22は、オリジナルURIに対応する各情報ソース1から、登録されている監視項目に関するデータを連続的、もしくは断続的に取得し、監視項目の組合わせの実現値、例えば
(SOC)=15% and (distance from stand8)=0.5km
がイベント管理テーブルに登録されているfilterにマッチする場合は、publicationを生成する。ここで、マッチするとは、実現値がfilter内の論理条件を満たすことを指す。
こうして、EPS8が情報ソースから連続してデータを受取っていても、その値が全サイトからのfilterをカバーするfilterを通過できる場合だけ、publicationを生成して転送するので、出口BSでは後述するマッチング処理手段にかかる負荷が削減される効果がある。
また、上記サービスポータル手段20は、提供しているサービスドメインの到達性の広告を行い、下記のようなpublicationを生成して、転送する。
POST http://a435667.provider.net/ServAdv/EPS1/notification/
<Body>
Service name: EVmon
Origin site name: site1, site2
ここで、a135667のアノテーションaは、これがadvertisementであることを示す。35667はprovider.net/ServAdv/EPS1をハッシュして得た値であり、先頭の数字である1はサイト1でハッシュされたことを示す。HTTPメッセージ本体は、EVmonというサービス名がサイト2、サイト2から提供されることを示す。
(BS)
BS7は、図3bに示すように、マッチング手段15と、サイトsubscriptionテーブル(以下ssTBLと略す)16と、ユーザsubscriptionテーブル(以下usTBLと略す)17と、メッセージ転送手段18と、転送テーブル19と、を含む。
上記ssTBL16は、他のBS7から自BS7に送られるsubscriptionに含まれる転送用URIと、同一の転送用URIにsubscribeしているユーザが属するサイト名と、そのfilterと、を登録するものである。
上記usTBL17は、ユーザからBS7に送られるsubscriptionに含まれるオリジナルURIと、同一のオリジナルURIにsubscribeしているユーザIDと、そのfilterと、を登録するものである。
ここで、上記「filter」とは、監視項目とその実現値との間の関係式をANDで並べたて得られる論理条件で、ユーザの関心を表すのに使われる。これは例えば、EVについて次のように記述される。
(SOC) <10% and (distance from any stand)<2km
上記マッチング手段15は、後述するメッセージ転送手段18から駆動され、与えられたオリジナルURIもしくは転送用URIに対して、ssTBL, usTBLを参照して、マッチするsubscriber(ユーザ(ユーザ端末))を抽出する。マッチング手段15は、一般に処理負荷が高いので、一つのBS7内に閉じて実現する以外に、複数のサーバマシーン上で実現する場合もある。この場合、ssTBL、usTBLを分割してこれらのサーバ上に配置して、それぞれに同一のattributeを含むマッチング処理要求をマルチキャストし、分割されたTBL上でマッチするsubscriberがあったらサーバからそれを含む応答を受取る形で、マッチングの並列処理を行うことで、マッチング処理速度を向上させてもよい。
上記転送テーブル19は、図4に示すように、イベントを発行する上記EPS8が属するサイトである「オリジンサイト名」及びそのイベントを識別するイベント識別情報である「イベントソースID」からなる「転送キー」と、自己のBS7からsubscriptionの転送先となるBS7のアドレスである「subscription転送用子BSアドレス」と、自己のBS7から到達可能なサイトを表す「宛先サイト名」と、自己のBS7からnotificationの転送先となるBS7のアドレスである「notificatoin転送用子BSアドレス」と、が関連付けられた組合わせをエントリーにもつ。このように、転送テーブル19には、転送キー毎に、subscriptionとnotificationでそれぞれ独立に区別して、次の転送先となる次ホップの他のBS7のアドレスが登録されることで、両者はそれぞれ別々の経路を設定することが可能となる。
上記メッセージ転送手段18は、転送用URIから次ホップのBSアドレスに解決することで、その次ホップのBSにメッセージを転送する。
ここで、PIMのような、IPルータに、マルチキャストソース毎の状態をもつのはスケーラビリティに問題があるとしていたが、それはIPルータがもつメモリサイズが一般に小さかったことに起因する。本発明では、汎用サーバマシーン上のメモリサイズが拡大傾向にあるので、上記のようにnotificationとsubscriptionの経路を独立に設定するための転送テーブルを導入しても、スケーラビリティの問題は生じない。
本発明では、こうして、監視対象となるイベントチャネルはURIで指定し、その監視項目から得られる値を条件付けるfilterはHTTPメッセージ本体に記述することで、コンテンツベースとサブジェクトベースのsubscriptionを統一的に扱えるようにしている。
次に、図5乃至図7を参照して、BS7におけるメッセージ転送手段18の動作について説明する。図5は、publicationの転送処理の動作を示す流れ図である。BS7は、ローカルEPS8よりpublicationを受信したら(ステップS9)、ssTBLにマッチするsubscriptionがあるかどうか調べ(ステップS10)、ない場合(ステップS10でNo)は終了する。ある場合(ステップS10でYes)は、マッチしたsubscriptionに後述するように登録されているsubscriberサイト名(宛先サイト情報)に自サイトがある場合に限り、マッチング手段15を駆動してusTBL上でマッチするユーザにオリジナルURIが入ったnotificationを生成して転送する(ステップS11)。次に、マッチしたsubscriptionに登録されているsubscriberサイトに自サイト以外があるかどうか調べ(ステップS12)、ある場合(ステップS12でYes)は、オリジナルサイトに自サイト名を入れた「転送用URI」と、マッチしたsubscriptionに登録されているsubscriberサイトのうち自サイト以外のサイト名を含む「宛先サイトリスト」と、必要に応じて「宛先リスト変更フラグ」と、を含むnotificationを作成して、図6のステップS3に進む((ステップS13)。ステップS12で、マッチしたsubscriptionに登録されているsubscriberサイトに自サイト以外が無い場合は終了する。
ここで、上記「宛先リスト変更フラグ」は、EPS8に対してsubscribeするユーザsubscriber(ユーザ端末201等)の数が変化した場合に、当該EPS8から通知を受け、BS7がnotificatoin」に設定する。また、BS7は、他のBSがシステム内に追加されるなど後述するNRS7が記憶する経路テーブル11が変更され、その旨の通知をNRS7から受けた場合には、上記転送テーブル19に記憶されているデータを削除する機能も有する。
なお、図5には示されていないが、publication内のURIのサービス名を示す部分にAdvsrvが入っている場合は、これはadvertisementなので、ssTBLを参照することはなく、Destinationはall sitesとする。すなわち、advertisementをnotificationで送るときのフォーマットの概要は、下記のようになる。
POST http://site1.e135667.provider.net/ServAdv/EPS1/notification/
Destination: all sites
<Body>
Service name: EVmon
Origin site: site1, site2
図6は、notificationの転送処理の動作を示す流れ図である。BS7は、親BS7よりnotificationを受信したら(ステップS1)、このnotificatoinに含まれる宛先サイトリストに自サイトが入っている場合に限り、マッチング手段15を駆動してusTBL上でマッチしたユーザにオリジナルURIを含むnotificationを生成して転送する(ステップS2)。次に、宛先リスト変更フラグが立っている場合に限り、notificatoinに含まれる転送キーに対応するエントリーを、転送テーブルから削除する(ステップS3)。
次に、転送テーブル19に転送キーがあるかどうか調べ、転送テーブル19に転送キーがある場合は、ステップS5に進む。転送テーブル19に転送キーがない場合は、NRS6に転送用URIと、ルーツサイトとしてオリジンサイトと、子孫サイトとしてnotification内の宛先サイトリスト(宛先サイト情報)と、を送って、子BS群への名前解決し、応答結果を転送テーブル19に登録してステップS5に進む(ステップS4)。これにより、後述するように、notificatoin内に子孫サイトとして登録されている宛先サイトリスト(宛先サイト情報)の各サイトに到達可能なサイトのBS7のアドレスが、次ホップとして転送テーブル19に、転送キーに対応して登録される。ステップS5では、転送テーブル19内でマッチする転送キーに対応して登録されている各次ホップとなるBSのアドレス毎に、宛先サイトリストをコピーしたnotificationを複製して転送し、終了する。
図7は、subscription転送処理の動作を示す流れ図であり、図7aは他のBSである親BSからsubscriptionを受信したときのBS7の動作を示している。親BSからsubscriptionを受信したら(ステップS21)、このsubscriptionに含まれるイベント通知を依頼するEPS8が属するサイトであるオリジンサイト名が、自サイトかどうか調べる(ステップS22)。オリジンサイト名が自サイトでない場合は(ステップS22でNo)、転送テーブル19内に受信したsubscriptionに含まれる転送キーに対応するエントリーがない場合に限り、転送用URIとルーツサイトを自サイト名にしてNRS6に問合せて子BSアドレスへ解決し、応答結果を転送テーブルに登録する(ステップS24)。次に転送テーブル19を参照してsubscriptionを子BSへ転送する(ステップS25)。
上記ステップS2でオリジンサイトが自サイトである場合は(ステップS22でYes)、ssTBLに同じsubscriberサイトであるsubscriptionの登録が無い場合は、subscriptionに含まれるsubscriberサイト名を宛先サイト情報として登録する(ステップS23)。ssTBLに同じsubscriberサイトであるsubscriptionの登録がある場合は、受信したsubscriptionのfilterがカバーできない場合に限り、当該filterを登録する。そして、URIについて次ホップとなるEPS8のアドレスのエントリーが無い場合に限り、ローカルNRS6に要求してEPS8のアドレスへ解決し、転送テーブルに格納する。次に同じURIに対して登録されているサイトsubscriptionをカバーできるfilterが無い場合に限り、転送テーブルを参照してそのfilterをEPSに送る。
図7bは、ユーザからsubscriptionを受信した場合のBS7の動作を示している。ユーザからsubscriptionを受信すると(ステップS31)、usTBLにオリジナルURIとユーザアドレスを登録する(ステップS32)。次に、マッチング手段15を駆動してusTBLにカバー可能なユーザsubscriptionがあるかどうか調べ(ステップS33)、ある場合は(ステップS33でYes)、終了する。ない場合は(ステップS33でNo)、オリジンサイト名が自サイトかどうか調べ(ステップS34)、そうである場合は(ステップS33でYes)、ssTBLにsubscription内にあるURIと、サイトsubscriberとして自サイトと、そしてfilterと、を登録し(ステップS35)、終了する。
ステップS34で、オリジンサイト名が自サイトで無い場合は(ステップS34でNo)、NRS6に問合せてオリジナルURIを一つもしくは複数の転送用URIに解決する。そして、個別の転送用URIについて、転送キーが転送テーブルに無い場合に限り、再度NRS6に問合せてオリジナルURIから一つもしくは複数のオリジンサイトと、転送先子BSアドレスへ解決し、転送キーと子BSアドレスの組合わせを転送テーブルに登録する(ステップS36)。次にユーザから受信したsubscriptionにおいて、転送テーブルを参照してオリジナルURIを各転送用URI毎に書き換え、ルーツサイトを自サイトに書き換えたsubscriptionを、異なるオリジンサイト毎に作成し、それぞれを転送テーブルを参照して対応する子BSへ転送する(ステップS37)。
以上により、新しいsubscriptionやnotificationであっても、対応する転送キーが転送テーブルで見つかる限りは、NRS6に名前解決要求することなく、直ちに次ホップとなるBS7に転送できる。これと同時に、notificationとsubscriptionとは転送テーブル上で次ホップが独立に登録され、互いに独立に最適な経路上を転送することができる。
なお、図7には記載されていないが、advertisementを示すイベントソースID、例えばアノテーションとしてaをつかってa144555としたものを含むnotificationを受取った場合は、宛先サイトに指定されたサイトに必ず加えてローカルサイトのNRS6に転送する。
(NRS)
NRS6は、図3cに示すように、経路テーブル作成手段10と、名前解決手段12と、経路テーブル11と、BS割当てテーブル13と、名前到達性テーブル14とを含む。
上記経路テーブル作成手段10は、他のサイトのNRS6との間で、ネットワーク等の状態を監視し、それにより得られた情報に基づいて、自サイトから他の全サイトにメッセージを転送するための最適な全域分配木を構成して、経路テーブル11を作成する。
上記BS割当てテーブル13のエントリーには、BS7が記憶する転送テーブル19と同じく宛先サイト名のリストを含むが、当該転送テーブル19には全ての子孫サイトが含まれる。一方で、NRS6のBS割当てテーブル13には、notificationに挿入されている宛先サイトに対応する子孫サイトしか含まれない。このテーブルは、経路テーブルが更新されると、全エントリーがクリアされる。
この最適な全域分配木の構成法の詳細については、特許文献2に示されるような集中型と分散型の方法がある。集中型の方法で自分がルーツとなる最適な全域分配木を構成したのち、経路に変更があった場合、各サイトへバージョン情報とともに経路情報をプッシュ配信する。分散型の方法では、各NRSは、自分および他のサイトのNRS毎に、それぞれをルーツとする最適な分配木を作成して、それに基づいて経路表を作成する。
最適な分配木の構築方法の一つとして、ダイクストラのアルゴリズムで得られるような最短パスツリー(SPT)がある。ここでは、NRS間で往復遅延(RTT:round trip time)もしくは要求タイムスタンプをpinger側で、応答タイムスタンプをpingeer側で書き込むことにより、片方向遅延OWDを測定することができる。これらを分配木における各エッジ(サイト間のリンク)の距離として、ダイクストラのアルゴリズムを適用して分配木を算出する。これはOSPF, IS-IS等で用いられているリンクステートプロトコルと同じ原理である。なお、NRS6は分配木を適宜算出して経路表に変更があったら、同じサイトにある各BS7に指令して、その転送テーブル19をクリアさせる。
図8は、経路テーブル11の構成を示している。この経路テーブル11は、自サイトに対する転送元となるサイトを表すルーツサイト名、ルーツサイトできまる分配木上での自サイトからみた親サイトのNRSアドレス、自サイトから到達可能なサイトを表す子孫サイト名(サイト識別情報)、子孫サイトに分配木上で到達するための子サイトのNRSアドレス(解決サーバアドレス情報)、の組合わせのエントリーを含む。親NRSのアドレスは、前提となった分配木上の妥当な親NRSから問合せを受け取ったかどうかチェックするために使う。妥当でない場合は、解決不可を応答する。
図9は、BS割当てテーブル13の構成を示している。これはsubscriptionおよびnotificationの転送に関する名前解決に用いられる。subscriptionに関しては、各転送キーについて、子BSアドレスと、自サイトの出口BSアドレスとを保持している。同じくnotificationに関しては各転送キーについて、到達可能な子孫サイト名、それらのサイトに到達するための子サイトのBSアドレスと、自サイトの入口BSアドレスとを保持している。
出口BSアドレスは、NRS6がEPS8からの要求でオリジナルURIを割当てた際に書き込まれ、自分が出口サイトであるNRS6が、subscriptionに対する名前解決要求に対して、応答するのに用いられる。一方、入口BSアドレスは、ユーザがsubscriptionを転送する際の、名前解決要求に基づいて割当てられ、自分が入口サイトであるNRS6が、notificationに対する名前解決要求に対して、応答するのに用いられる。このために、ローカルNRSからリモートNRSへの名前解決要求には、転送用URIに加えて、転送メッセージの種類(subscriptionかもしくはnotification)を含ませる。
上記名前解決手段12では、他のサイトのEPSから受信した名前到達性情報を名前到達性テーブル14に格納する。また、URIからBSアドレスへの解決のために必要となる解決要求の送出、解決応答の作成と送出を含む手順を実行する。名前解決要求・応答のメッセージでは少なくとも、1つの転送用URI、1つのルーツサイト、1つもしくは複数の子孫サイトの3つの項目を含む。後2者は、経路テーブルでマッチングされ、次ホップNRSのアドレスが決定される。
次に、図10a、図10bの流れ図を用いて、NRS6の名前解決手段12における動作について説明する。図10aにおいて、subscriptionを転送したいローカルBS7から、転送用URIと、ルーツサイトとしてsubscriberサイト名と、子孫サイトとしてオリジンサイトと、をそれぞれ含む次ホップBSへの名前解決要求があったら(ステップS45)、BS割当てテーブル13に転送キーのエントリーがない場合に限り、経路テーブル11上で、ルーツサイト名をsubscriberサイト名で、オリジンサイトを宛先サイトで引いて得られる次ホップNRS6に対して、転送用URIを含む名前解決要求を出して、応答を受け取ったらBS割当てテーブル13に登録する(ステップS46)。次にBS割当てテーブルを参照してローカルBSへ、転送用URIと割当てた次ホップBSを返答して(ステップS47)、終了する。
同様に、notificationを送りたいローカルBSから、転送用URIと解決要求サイトを含む子BSアドレス群への名前解決要求があったら、BS割当てテーブル13を参照して、転送キーに対応するエントリーがない場合に限り、経路テーブル11上でオリジンサイトをルーツサイトで引いて得られるすべての子NRSに、転送用URIを含む名前解決要求を出し、解決応答を受取ったらBS割当てテーブル13に登録する。次に、BS割当てテーブル13を参照して、1つもしくは複数のリモートBSと宛先リストの組合わせを、ローカルBSへ返答する。
図10bにおいて、親NRS6からローカル(自サイトの)BS7への名前解決要求あったら(ステップS51)、解決要求に含まれるルーツサイトで経路TBL11を引いて、解決要求送信元のNRSアドレスが親NRSアドレスと一致するかどうか調べる(ステップS52)。一致しない場合は(ステップS52でNo)、解決不可能応答を出す((ステップS56)。ステップS52で一致した場合は(ステップS52でYes)、子孫サイトが自サイトであるかどうか調べ(ステップS53)、そうである場合は(ステップS53でYes)、BS割当TBL13を参照して、notification転送の場合はSubscription転送用ローカルBSアドレスを応答する。また、subscription転送の場合はNotification転送用ローカルBSアドレスを応答する(ステップS55)。ステップS53で子孫サイトが自サイトでない場合は(ステップS53でNo)、上記特許文献1で開示されているconsistent hashing等の手法によりローカルBSを割当ててBS割当TBL13にキャッシュし、そのアドレスを応答する(ステップS54)。
上記ステップS52の判断を行う理由は、名前解決要求・応答が複数ホップにまたがって行われた場合に、経路表の変更がサイト間で同期しないこと等により、最終的にループが形成されることを防ぐためである。解決不能は名前解決要求を出した元のBSまで応答として戻り、その場合はメッセージを廃棄してもよい。
上記ステップS55は、同じURIを含むnotification、subscriptionの転送において、入口BSおよび出口BSは一致していることを保証するためのものである。また、subscriptionの転送時に同じURIに対して割当てたBSが複数ある場合は、それをすべて応答することになる。よって、親BSは次ホップサイト内の複数のBSにnotificationをマルチキャストすることになる。
なお、図10aに示すように、subscriptionを送りたいユーザから転送用URIからローカルBSへの名前解決要求あったら(ステップS41)、上記特許文献1で開示されているconsistent hashing等によりローカルBSを割当てBS割当TBLにローカルBSアドレスをキャッシュして応答する(ステップS42)。
上記において、同一のURIをもつnotification転送等に関する負荷を同一サイト内にある複数のBSに分散するためには、ステップS42において割当対象をそこから選ぶBSの集合は、加わっている負荷が予め与えられた閾値以下とするように限定してもよい。そのために、NRSは同じサイト内の各BSの死活および負荷を監視する必要がある。
また、図10には記述されていないが、NRSは転送キー内のイベントソースIDにつけたアノテーションで識別される、advertisementを受信した場合は、名前到達性TBLに到達可能サービスドメイン名と、1つもしくは複数の提供サイト名との組合わせを登録する。
ここで、本発明におけるNRS6は、従来のDNS(ドメインネームサーバ)と同様に、名前をノードアドレスに解決するという点においては共通しているが、次に示す点で大きな差がある。すなわち、本発明におけるNRS6は、最適形成された分配木上において、メッセージ内に指定された宛先サイトが現在のNRSから到達可能な次ホップを決めている。一方、従来のDNSにおいては、次に問合せるべきDNSをURIに含まれる上位レベルのドメインのDNSサーバの指示に基づいて、次に問合せるDNSサーバを決定している。
<実施例>
次に本発明の実施の形態における実施例について説明する。図11は、EV(電気自動車)の監視サービスに関するsubscriptionが生成されて監視サービスを提供するEPS81を収容する出口BS71まで転送される一連の動きを示している。
まず、ユーザ21は、提供を受けたいイベント配信サービスに関する受付を行うEPS81にアクセスして、EV103のイベント監視に対して、「v23406」のIDをもつEVのバッテリーのSOCが10%未満、かつ任意の電気スタンドからの距離が2km未満という条件を満たしたら、通知して欲しい旨を登録すると、イベント管理テーブルにオリジナルURIと監視対象を登録する(t1)。EPS81は、NRS61にオリジナルURIで問合せして(t2)、出口BS71のアドレスの応答があると(t3)、イベント管理テーブルに登録し、EPS81では次の内容を含む応答メッセージを作成して、ユーザに返答する(t4)。
入口NRSアドレス: w.x.y.z
POST http://e143359.provider.net/EVmon/v23406/sub/user
<Body>
Subscriber address: a.b.c.d
Filter: (SOC)<10%, (distance from any stand)<2km
上記において、入口NRSアドレスとは、ユーザ21がこのオリジナルURIで指定されたサービスのメッセージを受取るためにアクセスすべきサイト4にあるNRS64のアドレスである。これは、EPS81がユーザのアドレス(上記ではa.b.c.d)等に基づいて例えばユーザに最も近いサイトの中から決定する。
オリジナルURIにおいて、「EVmon」はイベントサービス名、「provider.net」はサービスプロバイダ名、「v23406」は、「v」をアノテーションとして、EV103のIDが「23406」であることを示す。「e143359」の「143359」は、「e」がイベントソースIDであることを示すノーテーションである。そして「143359」は、EPS81において「provider.net/EVmon/v23406/」をハッシュして「43359」が得られたとし、さらにそれが各サイトのEPS間で衝突しないように、その先頭にサイト番号「1」をつけて得られる。また、a.b.c.dはユーザのアドレスを示す。「Filter」とは、上述のようにユーザがイベントを転送して欲しい条件を示す。
次に、上記応答メッセージを「サイト1」にあるEPS61から受取ったユーザ(ユーザ端末)21は、上記の入口NRS64に対して、オリジナルURI
e143359.provider.net/Evmon/v23406
から入口BSアドレスへの名前解決要求を送る(t5)。入口NRS64は、consistent hashing(特許文献1参照)等によりオリジナルURIからユーザにアクセスさせるべき入口BS74を決定すると、そのアドレス「p.q.r.s」をオリジナルURIと共にユーザ21に送る(t6)。
e143359.provider.net/EVmon/v23406 p.q.r.s
すると、ユーザ21は、前述の入口BS74に、EPS81から先に受信済みであるオリジナルURIと、ユーザ21のアドレスと、EPS81からフォーマットをもらったsubscriptionを、入口BS74に送る(t7)。このメッセージは次のようなフォーマットを含む
POST: http://e143359.provider.net/Evmon/v23406/sub/user
<Body>
Subscriber address: a.b.c.d
Filter: (SOC)<10%, (distance from any stand)<2km
次に、ユーザ21からsubscriptionを受取った入口BS74は、ローカルNRS64にサービス名「EVmon」を送り(t8)、NRS64は名前到達性テーブルを参照して1つもしくは複数のオリジンサイト名に解決して応答を送る(t9)。
次に、入口BS74は、転送用URIを生成し、転送テーブル19を参照して、転送用URIに対応する転送キーが無い場合は、転送URIと、ルーツサイトとして自サイト名と、子孫サイトとしてオリジンサイト名と、を含む名前解決要求を、ローカルNRS64送る(t10)。そのフォーマットは次のようになる。
GET http://(NRS address)/NRS/ChildBS
<Body>
Transfer key: site1.e143359
Message type: notification (or subscription)
Root: subscriber site name (or origin site name in the case of
notification)
Descendent: origin site name (or DL in the case of notification)
ここで、「site1.e143359」は転送キーであり、「NRS」は名前解決サービスを示す。
次に、入口NRS64は、自サイトをルーツサイトとし、URIのオリジンサイトを子孫サイトとして経路テーブル11を検索して、子NRS67のアドレスを引いたら、そこに上記の転送用URIから子BSアドレスへの名前解決要求を送る(t11)。そのメッセージは下記のURIを含む。
GET http://(NRS address)/NRS/ChildBS
<Body>
Transfer key: site1.e143359
Message type: Subscription (or notification)
その要求を受取った子NRS67は、consistent hashing(特許文献1参照)を用いて、割当てるべきBSをBS77に決定し、名前解決要求のあったNRS64に返答する(t12)。これを受取ったNRS64は、名前解決要求をしていたローカルBS74に子BS77のアドレスを返答する(t13)。
これを受取ったBS74は、下記のようなサイト単位のsubscriptionを作成して、子BS77に転送する(t14)。ここでsubscriptionは、転送制御を行う際のBS単位ではなく、経路制御を行うのと同じサイト単位で行う。ここで入口サイトは「サイト4」であるとする。
POST http://site1.e143359.provider.net/EVmon/v23406/sub/site
<BODY>
Subscriber name: site4
Filter: (SOC)<10%, (distance from any stand)<2.0km
subscriptionを受取った子サイトである「サイト7」にあるBS77は、ローカルNRS67、およびその子NRS61との間で行われる上記と同様の手順を踏んで(t15〜t18)、転送用URIを出口BSであるBS71のアドレスに解決し、subscriptionをそのまま出口BSであるBS71に転送する(t19)。それを受取った、BS71は、そのsubscriptionのオリジンサイトは自サイト(サイト1)なので、subscriptionに記載されたURIと、ユーザ端末が属するsubscriberのサイト名と、filterと、をssTBL16に格納する。さらに同じsite subscriptionの URIに対する全てのサイトsubscriptionのfilterをカバーするfilterが更新された場合は、それを、ローカルNRSに名前解決させたEPS81に送る(t20)。
なお、入口サイトのNRS64は、上記t10の後、名前到達性TBL14を参照して、「EVmon」のサービスが、「site1」のみならず、「site3」からも到達可能である、すなわち監視対象のEV103が、「site1」が収容するアクセス網のみならず、例えば「site3」が収容するアクセス網上にも現れる可能性がある場合は、経路TBL11を検索して自サイトをルーツサイト、site3を子孫サイトとした場合の次ホップサイトのNRSを解決する。そして、そこへ下記のように作成した転送キー「site3.e143359」と、ルーツサイトとしての自サイトを、それぞれ含む名前解決要求を送って、次ホップサイトで割当てられるBSのアドレスに解決し、これも名前解決要求をしてきたBSへ応答する。それ以降は、BS74でsubscriptionが生成され、「site1」まで転送されるのと同様の手順で、もう一つのsubscriptionがBS74で生成され、「site3」まで転送される。
図12は、EPS81がpublicationを生成し、それを複数のBSがnotificationとして中継転送して、ユーザに届けるまでの一連の動きを示している。
ここで、EPS81からのpublicationのメッセージの要旨は次のようになる。すなわち、publicationでは、オリジンサイト名を含まないオリジナルURIが含まれる。ここでは、情報ソースのEV103は、「v23406」のIDで識別されることを示している。またbodyは、そのバッテリーのSOCが5%であることを示している。
POST http://e13359.provider.net/EVmon/v23406/pub
<Body>
Attribute: (SOC)=5%, (distance from stand8)=0.5km
EPS81は、オリジナルURIと監視値を含むpublicationを作成したら、イベント管理テーブルを参照して、オリジナルURIから解決されるBS71にpublicationを送信する(u1)。それを受取ったBS71は、メッセージ転送手段18のランデブー処理として、同一の転送用URIに対して、(SOC)=5% and (distance from stand8)=0.5km というfilterでssTBL16を参照してマッチするsubscriptionを検索し、登録されている「site4,
site5」のsubscriptionにマッチしたので、下記のようなnotificationを作成する。
POST http://site1.e143359.provider.net/Evmon/v23406/noti
Destination: site4, site5
<Body>
Attribute: (SOC)=5%, (distance from stand8)=0.5km
ここで、destinationはnotificationのマルチキャスト転送のために新たに定義したHTTPヘッダである。
次に、出口BS71は、ローカルNRS61に転送キー(上の例ではsite1.e143359)と宛先サイトリスト(上の例ではsite4, site5)を送って、子BSアドレスへの解決を要求し(u2)、ローカルNRS61は、経路テーブル11を参照して得られた2つの子NRS、すなわち「サイト7」のNRS67,および「サイト5」のNRS65に、転送用URIを送って、子BSアドレスへの名前解決を要求する(u3)。そしてNRS67およびNRS65から、子BS77および子BS75のアドレスをそれぞれ受け取ったら(u4)、転送用URIと、BS77のアドレスと子孫サイト名としての「site4」、およびBS75のアドレスと子孫サイト名としての「site5」を出口BS71に返答する(u5)。
これを受取った出口BS51は、下記のように作成したnotificationを、子BS77,75にそれぞれ転送する(u6)。
(1)
POST http://site1.e143359.provider.net/Evmon/v23406/noti
Destination: site4
<Body>
Attribute: (SOC)=5%, (distance from stand8)=0.5km
(2)
POST http://site1.e143359.provider.net/Evmon/v23406/noti
Destination: site5
<Body>
Attribute: (SOC)=5%, (distance from stand8)=0.5km
上記で(1)の内容をもつnotificationを受取ったBS77は、ローカルNRS67、さらに子NRS64との間で同様の手順を行い(u7からu10)、「サイト4」の子BS74にnotificationを転送する(u11)。それを受取ったBS74は、宛先サイトが自サイトだけなので、usTBL17を参照して、マッチするユーザがいたので、そこにnotificationを転送する(u12)。
以上のように、本発明のシステムによると、全サイトを含む経路テーブル11から、転送すべきサイトのみを含む転送テーブル19を構成し、メッセージの転送は転送テーブル19に転送キーがある場合は、転送キーを転送テーブルに対してexactマッチングするだけで、転送先のBSと宛先リストが決定できるので、転送すべきメッセージに含まれる宛先に関する情報を、偽陽性の問題があるBloom filter化をしなくても、高速な転送が可能となる。これと同時に、notificationとsubscriptionとは転送テーブル上で次ホップが独立に登録され、互いに独立に最適な経路上を転送することができる。
また、URIに含まれるオリジンサイト名に基づいて、次にメッセージを転送すべき他のサイト内のBSのアドレスにURIを解決するための要求を転送する先のサイトを決定し、その要求を受けたサイトのNRSはURIのハッシングに基づいて割当てるBSを決定するので、各サイト内でのBSの増設は、サイト間で独立に行うことができる。このとき、また、notificationに含まれる宛先リストは、broker単位ではなく、サイト単位であるので、各サイト内のbroker数が増えても、宛先リストの大きさに影響を与えることは無い。また、転送テーブルにおいては、イベントソースID単位ではなく、まずオリジンサイト名でマッチングを行うので、各サイトのbroker数が増えても、転送テーブルの検索の探索オーダに直接的な影響は無い。
<他の実施例>
ここでは、場所がどこにあるかわからないが、ある情報発生体の状態更新を発見したいためには、次のようなワイルドカードを使ったsubscribeを行う。EVのある観測値に対するfilterを満たすものを通知して欲しい場合は、URIとして例えば次のようなものを用いる。オリジナルURIは、サイト1で生成されたとすると、
http://e134567.provider.com/EVmon/anyEVID
このEVmonというサービスを提供しているサイトがsite1,site3の場合は、以下の転送用URIが生成されて、それを含むサイトsubscriptionが各サイトに転送される。
http://site1.e134567.provider.net/EVmon/anyEVID/sub/site
http://site3.e134567.provider.net/EVmon/anyEVID/sub/site
Site3のEPSは、v89234, v45234から観測データが送られてきているときは、それをサンプリングしたデータを含み、かつ以下のオリジナルURIをそれぞれ含むpublicationを送出する。
http://e134567.provider.net/EVmon/v89234/pub
http://e134567.provider.net/EVmon/v45234/pub
これは、publication送出時に割当てられた出口BSによって、下記のようなオリジナルサイト名が付与された転送用URIに変換される。
http://site3.e134567.provider.net/EVmon/v89234/noti
http://site3.e134567.provider.net/EVmon/v89234/noti
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるイベント通知サービスシステムの構成の概略を説明する。また、本発明における中継サーバ、プログラム、イベント通知サービス方法の構成の概略について説明する。但し、本発明は、以下の構成に限定されない。
(付記1−1)
イベントを発行するイベント発行サーバと、
前記イベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する複数の中継サーバと、を備え、
前記中継サーバは、
前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルと、
前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送するメッセージ転送手段と、を備えた、
イベント通知サービスシステム。
(付記1−2)
付記1に記載のイベント通知サービスシステムであって、
前記中継サーバが有する前記転送テーブルは、前記転送キー毎に、前記通知依頼の転送先となる他の中継サーバの前記転送先アドレス、及び、前記イベントの転送先となる他の中継サーバの前記転送先アドレス、をそれぞれ区別して記憶し、
前記中継サーバが有する前記メッセージ転送手段は、前記転送要求に応じて、前記通知依頼あるいは前記イベントを、当該通知依頼及び当該イベント毎に区別して前記転送テーブルに記憶された前記転送先アドレスの中継サーバに転送する、
イベント通知サービスシステム。
(付記1−3)
付記1又は2に記載のイベント通知サービスシステムであって、
前記通知依頼あるいは前記イベントの前記転送要求に対して転送先となる中継サーバのアドレス解決を行うアドレス解決手段を有するアドレス解決サーバを備え、
前記中継サーバの前記メッセージ転送手段は、前記転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーが前記転送テーブル内に存在しない場合に、当該転送要求に対して転送先となる中継サーバのアドレス解決を前記アドレス解決サーバに要求して、当該アドレス解決サーバの前記アドレス解決手段によるアドレス解決結果を受け取り、このアドレス解決結果に基づいて、前記転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーとアドレス解決された中継サーバの前記転送先アドレスとを関連付けて前記転送テーブルに記憶する、
イベント通知サービスシステム。
(付記1−4)
付記3に記載のイベント通知サービスシステムであって、
前記アドレス解決サーバを少なくとも1つと前記中継サーバを複数備えたサイトを、ネットワークを介して複数接続して形成し、
前記アドレス解決サーバは、
前記サイト毎に、当該サイトから到達可能な他のサイトを識別するサイト識別情報と、当該到達可能な他のサイトに所定のデータを転送するために転送先のアドレス解決要求を行う他のアドレス解決サーバのアドレスを表す解決サーバアドレス情報と、が関連付けられて記憶された経路テーブルを備えると共に、
前記アドレス解決サーバが有する前記アドレス解決手段は、前記転送要求にかかる前記通知依頼に含まれる当該通知依頼の対象となる前記イベント発行サーバが属する前記サイトを識別する情報、あるいは、前記転送要求にかかる前記イベントに含まれる前記通知依頼を行った前記ユーザ端末が属する前記サイトを識別する情報、により識別される前記サイトが転送先となるよう、前記経路テーブルに基づいてアドレス解決を行う、
イベント通知サービスシステム。
(付記1−5)
付記3又は4に記載のイベント通知サービスシステムであって、
前記中継サーバは、前記アドレス解決サーバが記憶する前記経路テーブルが変更された場合に前記転送テーブルに記憶されたデータを削除する、
イベント通知サービスシステム。
(付記1−6)
付記1乃至5のいずれかに記載のイベント通知サービスシステムであって、
前記中継サーバの前記メッセージ転送手段は、前記イベント発行サーバに対して前記通知依頼を行った前記ユーザ端末の数が変化した場合には、前記イベントの前記転送要求に宛先変更フラグを設定すると共に、前記宛先変更フラグが設定された前記転送要求にかかる前記イベントに含まれる前記転送キーに対応するデータを前記転送テーブルから削除し、新たにアドレス解決された前記転送先アドレスデータを前記転送キーに関連付けて前記転送テーブルに記憶する、
イベント通知サービスシステム。
(付記1−7)
付記1乃至6のいずれかに記載のイベント通知サービスシステムであって、
前記転送キーは、前記イベント発行サーバを識別する発行サーバ識別情報を含む、
イベント通知サービスシステム。
(付記1−8)
イベントを発行するイベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する中継サーバであって、
前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルと、
前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送するメッセージ転送手段と、を備えた、
中継サーバ。
(付記1−9)
イベントを発行するイベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送すると共に、
前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルを備えた中継サーバに、
前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送するメッセージ転送手段、を実現させるためのプログラム。
(付記1−10)
イベントを発行するイベント発行サーバと、
前記イベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する複数の中継サーバと、を備えたイベント通知サービスシステムにて、
前記中継サーバが、
前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルを備えると共に、
前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送する、
イベント通知サービス方法。
(付記2−1)
イベントを発行するイベント発行サーバと、
前記イベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する複数の中継サーバと、を備え、
少なくとも前記中継サーバを複数含むサーバ群で形成されたサイトが複数ネットワークを介して接続されて形成されており、
前記中継サーバは、前記ユーザ端末からの前記通知依頼を、当該通知依頼に前記ユーザ端末が属する前記サイトを識別する宛先サイト情報を含めて転送すると共に、前記イベント発行サーバが属する前記サイトに前記中継サーバが属する場合に、前記通知依頼に含まれる前記宛先サイト情報を前記イベントの通知先として登録し、前記イベントの転送要求を受けて、登録された前記宛先サイト情報を前記イベントに含めると共に当該宛先サイト情報に対応する前記サイトあるいは当該サイトに到達可能なサイトを前記イベントの転送先として当該イベントを転送するメッセージ転送手段を備えた、
イベント通知サービスシステム。
(付記2−2)
付記1に記載のイベント通知サービスシステムであって、
前記通知依頼あるいは前記イベントの前記転送要求に対して当該通知依頼あるいはイベントの転送先となる中継サーバのアドレス解決を行うアドレス解決手段を有するアドレス解決サーバを、前記サイト毎に少なくとも1つ備え、
前記アドレス解決サーバが有する前記アドレス解決手段は、前記中継サーバからのアドレス解決要求を受けて、前記転送要求にかかる前記イベントに含まれた前記宛先サイト情報に対応する前記サイトあるいは当該サイトに到達可能なサイトに属する複数の前記中継サーバのうち前記イベントを転送する1つの中継サーバを選択してアドレス解決を行い、
前記中継サーバが有する前記メッセージ転送手段は、前記アドレス解決サーバの前記アドレス解決手段にてアドレス解決された中継サーバに、前記イベントを転送する、
イベント通知サービスシステム。
(付記2−3)
付記2に記載のイベント通知サービスシステムであって、
前記アドレス解決サーバは、前記サイト毎に、当該サイトから到達可能な他のサイトを識別する前記宛先サイト情報と、当該他のサイトに所定のデータを転送するためにアドレス解決要求を行う他のアドレス解決サーバのアドレスを表す解決サーバアドレス情報と、が関連付けられて記憶された経路テーブルを備えると共に、
前記アドレス解決サーバが有する前記アドレス解決手段は、前記中継サーバからのアドレス解決要求に応じて前記転送要求にかかる前記イベントに含まれる前記宛先サイト情報に対応して前記経路テーブルに記憶された前記解決サーバアドレス情報にて特定される他のアドレス解決サーバに、前記転送要求にかかる前記イベントに含まれた前記宛先サイト情報に対応する前記サイトあるいは当該サイトに到達可能なサイトに属する複数の前記中継サーバのうち前記イベントを転送する1つの中継サーバのアドレス解決を要求する、
イベント通知サービスシステム。
(付記2−4)
付記1乃至3のいずれかに記載のイベント通知サービスシステムであって、
前記中継サーバは、前記イベント発行サーバを識別する発行サーバ識別情報と当該イベント発行サーバが発行する前記イベントを識別するイベント識別情報とを含む転送キーと、自己の中継サーバから到達可能な前記イベントの転送先となる前記サイトと、自己の中継サーバから前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルを備え、
前記中継サーバが有する前記メッセージ転送手段は、前記転送キーを含む前記イベントの転送要求を受けて、当該転送要求にかかる前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに前記イベントを転送する、
イベント通知サービスシステム。
(付記2−5)
付記4に記載のイベント通知サービスシステムであって、
前記中継サーバが有する前記メッセージ転送手段は、前記転送キーに含まれた前記発行サーバ識別情報と同一の情報を有する前記転送キーを前記転送テーブル内から検索し、当該検索された前記転送キーに前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに前記イベントを転送する、
イベント通知サービスシステム。
(付記2−6)
イベントを発行するイベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する中継サーバであって、
少なくとも前記中継サーバを複数含むサーバ群で形成されたサイトが複数ネットワークを介して接続されて形成されており、
前記中継サーバは、前記ユーザ端末からの前記通知依頼を、当該通知依頼に前記ユーザ端末が属する前記サイトを識別する宛先サイト情報を含めて転送すると共に、前記イベント発行サーバが属する前記サイトに前記中継サーバが属する場合に、前記通知依頼に含まれる前記宛先サイト情報を前記イベントの通知先として登録し、前記イベントの転送要求を受けて、登録された前記宛先サイト情報を前記イベントに含めると共に当該宛先サイト情報に対応する前記サイトあるいは当該サイトに到達可能なサイトを前記イベントの転送先として当該イベントを転送するメッセージ転送手段を備えた、
中継サーバ。
(付記2−7)
イベントを発行するイベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する中継サーバを、少なくとも複数含むサーバ群で形成されたサイトが複数ネットワークを介して接続されて形成されており、
前記中継サーバに、
前記ユーザ端末からの前記通知依頼を、当該通知依頼に前記ユーザ端末が属する前記サイトを識別する宛先サイト情報を含めて転送すると共に、前記イベント発行サーバが属する前記サイトに前記中継サーバが属する場合に、前記通知依頼に含まれる前記宛先サイト情報を前記イベントの通知先として登録し、前記イベントの転送要求を受けて、登録された前記宛先サイト情報を前記イベントに含めると共に当該宛先サイト情報に対応する前記サイトあるいは当該サイトに到達可能なサイトを前記イベントの転送先として当該イベントを転送するメッセージ転送手段、を実現させるためのプログラム。
(付記2−8)
イベントを発行するイベント発行サーバと、
前記イベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する複数の中継サーバと、を備えると共に、
少なくとも前記中継サーバを複数含むサーバ群で形成されたサイトが複数ネットワークを介して接続されて形成されたイベント通知サービスシステムにて、
前記中継サーバが、前記ユーザ端末からの前記通知依頼を、当該通知依頼に前記ユーザ端末が属する前記サイトを識別する宛先サイト情報を含めて転送すると共に、前記イベント発行サーバが属する前記サイトに前記中継サーバが属する場合に、前記通知依頼に含まれる前記宛先サイト情報を前記イベントの通知先として登録し、前記イベントの転送要求を受けて、登録された前記宛先サイト情報を前記イベントに含めると共に当該宛先サイト情報に対応する前記サイトあるいは当該サイトに到達可能なサイトを前記イベントの転送先として当該イベントを転送する、
イベント通知サービス方法。
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態等に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
なお、本発明は、日本国にて2011年9月2日に特許出願された特願2011−191225の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
103,104,105,106 情報ソース
201,207,208 ユーザsubscriber
301〜304 サイト
4 コア網
501〜508 アクセス網
6 NRS
10 経路テーブル作成手段
11 経路テーブル
12 名前解決手段
13 BS割当てテーブル
14 名前到達性テーブル
7 BS
15 マッチング手段
16 サイトsubscriberテーブル
17 ユーザsubscriberテーブル
18 メッセージ転送手段
19 転送テーブル
8 EPS
20 サービスポータル手段
21 イベント管理テーブル
22 Publication生成送出手段
9 サイト内網

Claims (10)

  1. イベントを発行するイベント発行サーバと、
    前記イベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する複数の中継サーバと、を備え、
    前記中継サーバは、
    前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルと、
    前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送するメッセージ転送手段と、を備えた、
    イベント通知サービスシステム。
  2. 請求項1に記載のイベント通知サービスシステムであって、
    前記中継サーバが有する前記転送テーブルは、前記転送キー毎に、前記通知依頼の転送先となる他の中継サーバの前記転送先アドレス、及び、前記イベントの転送先となる他の中継サーバの前記転送先アドレス、をそれぞれ区別して記憶し、
    前記中継サーバが有する前記メッセージ転送手段は、前記転送要求に応じて、前記通知依頼あるいは前記イベントを、当該通知依頼及び当該イベント毎に区別して前記転送テーブルに記憶された前記転送先アドレスの中継サーバに転送する、
    イベント通知サービスシステム。
  3. 請求項1又は2に記載のイベント通知サービスシステムであって、
    前記通知依頼あるいは前記イベントの前記転送要求に対して転送先となる中継サーバのアドレス解決を行うアドレス解決手段を有するアドレス解決サーバを備え、
    前記中継サーバの前記メッセージ転送手段は、前記転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーが前記転送テーブル内に存在しない場合に、当該転送要求に対して転送先となる中継サーバのアドレス解決を前記アドレス解決サーバに要求して、当該アドレス解決サーバの前記アドレス解決手段によるアドレス解決結果を受け取り、このアドレス解決結果に基づいて、前記転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーとアドレス解決された中継サーバの前記転送先アドレスとを関連付けて前記転送テーブルに記憶する、
    イベント通知サービスシステム。
  4. 請求項3に記載のイベント通知サービスシステムであって、
    前記アドレス解決サーバを少なくとも1つと前記中継サーバを複数備えたサイトを、ネットワークを介して複数接続して形成し、
    前記アドレス解決サーバは、
    前記サイト毎に、当該サイトから到達可能な他のサイトを識別するサイト識別情報と、当該到達可能な他のサイトに所定のデータを転送するために転送先のアドレス解決要求を行う他のアドレス解決サーバのアドレスを表す解決サーバアドレス情報と、が関連付けられて記憶された経路テーブルを備えると共に、
    前記アドレス解決サーバが有する前記アドレス解決手段は、前記転送要求にかかる前記通知依頼に含まれる当該通知依頼の対象となる前記イベント発行サーバが属する前記サイトを識別する情報、あるいは、前記転送要求にかかる前記イベントに含まれる前記通知依頼を行った前記ユーザ端末が属する前記サイトを識別する情報、により識別される前記サイトが転送先となるよう、前記経路テーブルに基づいてアドレス解決を行う、
    イベント通知サービスシステム。
  5. 請求項3又は4に記載のイベント通知サービスシステムであって、
    前記中継サーバは、前記アドレス解決サーバが記憶する前記経路テーブルが変更された場合に前記転送テーブルに記憶されたデータを削除する、
    イベント通知サービスシステム。
  6. 請求項1乃至5のいずれかに記載のイベント通知サービスシステムであって、
    前記中継サーバの前記メッセージ転送手段は、前記イベント発行サーバに対して前記通知依頼を行った前記ユーザ端末の数が変化した場合には、前記イベントの前記転送要求に宛先変更フラグを設定すると共に、前記宛先変更フラグが設定された前記転送要求にかかる前記イベントに含まれる前記転送キーに対応するデータを前記転送テーブルから削除し、新たにアドレス解決された前記転送先アドレスデータを前記転送キーに関連付けて前記転送テーブルに記憶する、
    イベント通知サービスシステム。
  7. 請求項1乃至6のいずれかに記載のイベント通知サービスシステムであって、
    前記転送キーは、前記イベント発行サーバを識別する発行サーバ識別情報を含む、
    イベント通知サービスシステム。
  8. イベントを発行するイベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する中継サーバであって、
    前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルと、
    前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送するメッセージ転送手段と、を備えた、
    中継サーバ。
  9. イベントを発行するイベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送すると共に、
    前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルを備えた中継サーバに、
    前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送するメッセージ転送手段、を実現させるためのプログラム。
  10. イベントを発行するイベント発行サーバと、
    前記イベント発行サーバから発行された前記イベントの通知を当該イベント発行サーバに対して依頼するユーザ端末からの通知依頼を前記イベント発行サーバに、あるいは、前記イベント発行サーバにて発行された前記イベントを前記ユーザ端末に、中継して転送する複数の中継サーバと、を備えたイベント通知サービスシステムにて、
    前記中継サーバが、
    前記イベント発行サーバが発行する前記イベントを識別するイベント識別情報を含む転送キーと、自己の中継サーバから前記通知依頼あるいは前記イベントを転送する転送先となる他の中継サーバのアドレスを表す転送先アドレスと、を予め関連付けた転送テーブルを備えると共に、
    前記転送キーを含む前記通知依頼あるいは前記イベントの転送要求を受けて、当該転送要求にかかる前記通知依頼あるいは前記イベントに含まれた前記転送キーと同一の転送キーに、前記転送テーブル内で関連付けられた前記転送先アドレスの中継サーバに、前記通知依頼あるいは前記イベントを転送する、
    イベント通知サービス方法。
JP2013531010A 2011-09-02 2012-06-12 イベント通知サービス方法およびシステム Active JP5954330B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011191225 2011-09-02
JP2011191225 2011-09-02
PCT/JP2012/003807 WO2013031068A1 (ja) 2011-09-02 2012-06-12 イベント通知サービス方法およびシステム

Publications (2)

Publication Number Publication Date
JPWO2013031068A1 true JPWO2013031068A1 (ja) 2015-03-23
JP5954330B2 JP5954330B2 (ja) 2016-07-20

Family

ID=47755603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013531010A Active JP5954330B2 (ja) 2011-09-02 2012-06-12 イベント通知サービス方法およびシステム

Country Status (2)

Country Link
JP (1) JP5954330B2 (ja)
WO (1) WO2013031068A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005500741A (ja) * 2001-08-15 2005-01-06 プリキャッシュ・インコーポレーテッド ペイロード検査を介したパケット・ルート付け、及び発行−申し込みネットワークにおける申し込み処理
WO2010090027A1 (ja) * 2009-02-05 2010-08-12 日本電気株式会社 分散型イベント配信システムにおけるブローカノードおよびイベントトピック制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005500741A (ja) * 2001-08-15 2005-01-06 プリキャッシュ・インコーポレーテッド ペイロード検査を介したパケット・ルート付け、及び発行−申し込みネットワークにおける申し込み処理
WO2010090027A1 (ja) * 2009-02-05 2010-08-12 日本電気株式会社 分散型イベント配信システムにおけるブローカノードおよびイベントトピック制御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7016000348; Kari Visala et al.: 'LANES: an inter-domain data-oriented routing architecture' ReArch '09 Proceedings of the 2009 workshop on Re-architecting the internet , 20091201, pp.55-60, ACM *

Also Published As

Publication number Publication date
JP5954330B2 (ja) 2016-07-20
WO2013031068A1 (ja) 2013-03-07

Similar Documents

Publication Publication Date Title
EP3046294B1 (en) System and method for efficient name-based content routing using link-state information in information-centric networks
Fang et al. A survey of energy-efficient caching in information-centric networking
US10554555B2 (en) Hash-based overlay routing architecture for information centric networks
EP2495940B1 (en) Method and computer program for collaboration between an internet service provider (ISP) and a content distribution system as well as among plural ISP
Liu et al. A multi-level DHT routing framework with aggregation
US10091012B2 (en) System and method for multi-source multicasting in content-centric networks
CN105162900A (zh) 一种多节点协作的域名解析和缓存方法及系统
CN1992666A (zh) 虚拟专用网络发布-订制多播服务
US20140317271A1 (en) Method and node apparatus for collecting information in content network based on information-centric networking
Shinde et al. Content centric networks (CCN): A survey
JP5942994B2 (ja) イベント通知サービス方法およびシステム
CN113315704B (zh) 报文转发方法、sdn控制器、交换机及系统
JP5954330B2 (ja) イベント通知サービス方法およびシステム
KR102437289B1 (ko) 정보 중심 네트워크에서 프로듀서 이동성 지원을 위한 패킷 경로 설정 방법 및 장치
KR20160002154A (ko) Ccn 이름 구성 방법과 ccn 이름 기반 라우팅 방법 및 장치
Alduán et al. Architectures for future media Internet
Do et al. Information-centric wireless sensor and actor network in the industrial network
Banerjee et al. The survey, research challenges, and opportunities in ICN
Hasan et al. A cluster-based content management framework for information-centric networking
Guan et al. Name-based routing with on-path name lookup in information-centric network
AL-Naday et al. Service-based fog architecture without dns redirection
Ren et al. CAKA: a novel cache‐aware K‐anycast routing scheme for publish/subscribe‐based information‐centric network
Bosunia et al. Efficient data delivery based on content-centric networking
Azgin et al. Hash-based overlay routing architecture for information centric networks
Masuda et al. Splitable: Toward routing scalability through distributed bgp routing tables

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160530

R150 Certificate of patent or registration of utility model

Ref document number: 5954330

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150