以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
図1を参照して、通信システムの構成を説明する。図1において、通信システム1は、ユーザ端末501と、ユーザ網/アクセス網500と、情報中継網100と、通信プロバイダ網200と、データセンタ300と、クロック/時刻供給装置901〜903と、から構成されている。ユーザ網/アクセス網500は、エッジ装置(AE:Access Edge)510を含んで構成されている。情報中継網100は、情報中継網エッジ装置(NE:Network Edge)110と、情報中継網通信装置(NN:Network Node)120とから構成されている。通信プロバイダ網200は、通信プロバイダ網エッジ装置(PE:Provider Edge)210と、通信プロバイダ網通信装置(PN:Provider Edge)220と、管理サーバ250とから構成されている。データセンタ300は、データセンタエッジ装置(DE:Data Center Edge)310と、取引網320と、代表取引網350とから構成されている。なお、装置間または装置−網間の実線は、主信号の経路、破線の両方向矢印は、同期信号のやり取りを示す。
通信システム1は、通信ネットワークを介してユーザへ情報を配信し、またユーザ要求に基づき必要な情報サービスを提供する。配信情報およびサービス提供に必要な補助情報は、データセンタ300に格納する。データセンタ300は、通信プロバイダ網200、情報中継網100を介してユーザ端末501と接続する。ユーザ端末501は、通常、家庭や企業のイントラネットを介して情報中継網100と接続する。更にイントラネットと情報中継網の接続には、アクセス網またはアクセス回線と称するユーザ収容網を用いる構成が多い。図1および以降の説明ではイントラネットとアクセス網とを一括してユーザ網500と称する。
一般的な通信網構成では、ユーザ端末501は、ビジネスユーザであれば企業サイト内LAN(Local Area Network)に接続される。一方、個人ユーザならユーザ端末501は、宅内LANに接続される。LANからインターネットへ接続するために、近年は光アクセス回線(PON)により、通信事業者の局舎へ接続され、その後通信事業者の提供する信号中継網を介してサービスプロバイダが管理する通信網およびデータセンタ(複数のサーバを収容するためのサービスプロバイダLAN)へ接続される。厳密には、通信網を提供するサービスプロバイダと、情報コンテンツを提供するサービス(コンテンツ)プロバイダとは異なる場合もあるが、この構成の違いは、ここでは関係しないため、単一の組織を想定し、双方をサービスプロバイダと称して説明する。
データセンタ300と通信プロバイダ網200の接続ポイントには、データセンタエッジ装置(DE)310Aと通信プロバイダ網エッジ装置(PE)210Dを設置し、相互に通信する。同様に、通信プロバイダ網200と情報中継網100との接続には、PE210Bと情報中継網エッジ装置(NE)110Bを設置する。更に情報中継網100とユーザ網500との相互接続には、それぞれNE110Aとユーザ網エッジ装置(AE)510を用いる。以上の構成によりユーザ網500とデータセンタ300との通信経路を確立できる。各通信網のエッジ装置DE310、PE210、NE110、AE510は、通常複数設置される(接続先事業者の数に依存する)。
情報中継網100は、ユーザ網500と通信プロバイダ網200との信号送受を中継する役割を担う。情報中継網100に於いてNE110AからNE110Bへ情報を伝達する際に用いる通信プロトコルは、ユーザ網や通信プロバイダ網と同一でも異なっていても良い。通信装置NN120A、120Bは、NE110Aと110Bとの通信経路を構成する。
通信プロバイダ網200内の通信装置PN220は、PE210BとPE210Dとを接続する。またPE210A、PE210Cを含む複数の通信プロバイダ網エッジ装置PEを相互に接続する。図1では概念を簡略に示すためにPN220のみを示したが、一般的にはPE210間接続には複数のPN220を介する。PE210A、210Cはそれぞれ情報中継網100または別の情報中継網を介してユーザ網と接続される。通信プロバイダの網構成によっては、PE210とユーザ網エッジ装置AE510が直接的に接続される形態も見られるが、そのような場合でも同様に、実施可能である。
更に通信プロバイダ網200にはユーザ管理を行なう管理サーバ250を備える。管理サーバ250は、ユーザ501に対する通信経路の利用可否を判断するための認証機能を提供する。通信プロバイダ網200は、管理サーバ250により利用資格を確認できたユーザに対して、AE510、NE110A、NE110B、PE210Bを介する通信環境を提供する。ユーザ端末501は、経路を介して(すなわち、通信プロバイダ網200を介して)データセンタ300およびその他インターネット上の情報サイトへアクセス可能になる。
データセンタ300には、複数の情報処理網(以下では取引網と称する)320A〜320Cを含む。更に、これら取引網320からの情報を集約して処理する情報管理網(以下では代表取引網と称する)350が存在する。代表取引網350は、データセンタ300における市場情報を統合的に管理する。代表取引網350には当該網が含まれる市場の取引情報および取引網320A〜320Cで集約したユーザ要求(株や為替、その他商品の売買要求など)を集約する。その一方で当該エリアの全体状況およびその他エリアの市場情報をサーバ内で構築あるいは他サーバから取得し、取引網320A〜320Cへ配信する。データセンタ300の代表的な構成例には、(A)取引網320A〜320Cは、銀行や證券会社が契約ユーザに対する情報配信とユーザ毎の取引情報を管理するためのプライベートエリアであり、代表取引網350は大都市に存在する證券取引所が管轄するエリアとする構成、(B)オークションへの入札処理を行なう際に、受付サーバの負荷分散あるいは地域別のユーザ管理を目的として、取引網320A〜320Cに於いて前段入札処理を行ない、代表取引網では後段入札処理およびオークション情報の統合管理を行なう構成がある。
取引網320および代表取引網350は、データセンタエッジ装置DE310AまたはDE310Bを介して外部通信網と接続する。図1では省略しているが、DE310Bもまた他のプロバイダ網や通信キャリア網を介してユーザ端末と接続される。
データセンタ300は特定の通信プロバイダ網200とのみ接続することも、複数の通信プロバイダ網と接続することもある。また、情報中継網100とデータセンタ300とを直接接続する場合もあり得る。通信事業者のビジネスは多岐に渡る。すなわち、商取引を行なう際にユーザ信号が通過する通信網の構成も、通信キャリアやISPの通信網構成によりそれぞれ異なる。代表例として、通信プロバイダに対して通信回線の利用権を貸し出す事業者(つまり伝送網キャリア)、事業者の回線を利用し、エンドユーザに対してインターネットへの接続環境を提供する通信プロバイダ、特定の通信プロバイダまたは複数の通信プロバイダに対し情報の保存および管理を引き受けるデータセンタなどがある。法人ユーザの中には、独自にデータセンタを設置し本社あるいは支社からの情報提供/配信/共有に利用している。また近年では、データセンタに設置されるサーバを用いて、コンテンツ管理を行なうと共に、その配信と個々のコンテンツへのアクセス権を管理するコンテンツプロバイダ(広義にはサービスプロバイダと称する)が様々なビジネスを立ち上げている。このように多様な事業者が絡み合うため、通信トポロジには広いバリエーションが見られる。すなわち図1は、通信網の代表的な一構成であり、これと異なる構成の通信網に対しても適用可能である。
本構成例に於いて特徴的な点は、データセンタ300、プロバイダ網200、情報中継網100、アクセス網500(少なくとも情報中継網100のユーザ端末501側エッジ装置またはアクセス網500のエッジ装置510)が、同一の標準時刻を管理していることである。GPS、NTP、IEEE1588などのクロック同期や標準時刻配信技術が普及してきており、本図に示すようにクライアントであるユーザ端末501(の付近)からデータセンタ300内部までを同期することは比較的容易になっている。本図ではデータセンタ300に対してクロック/標準時刻(Time of Day:ToD)供給装置903を備え、プロバイダ網200に対してはクロック/時刻供給装置902、更に情報中継網100にはクロック/時刻供給装置901をそれぞれ備える構成とした。また、各網はエッジ装置間でそれぞれ接続し、AE510とNE110A、NE110BとPE210B、PE210DとDE310Aはそれぞれ主信号(データフレーム)以外に、同期制御信号を互いに送信し合い同期する。図1では同期制御信号の疎通状況を破線矢印で示す。同期制御フレームの相互通信を行なうことにより、より少数のクロック/時刻供給装置で通信システム1全体の同期が可能となる。
図2を参照して、データセンタ300の詳細を説明する。図2において、データセンタ300の内部には、図1で述べたように複数の取引網320A〜320Cが存在する。図2ではこれら取引網320のうち、接続先DEがそれぞれ異なる取引網320Aおよび320Cを図示する(図1の取引網320Bを省略した)。データセンタ300は、代表取引網350を備え、更に代表取引網350と取引網320またはDE310とを接続するために内部通信網330を備える。ユーザ端末501A〜501EとNE110AA〜110AEとの接続関係は図1に記載済みであるため、ここでは説明を省略する。取引網320A、320Cおよび代表取引網350には、それぞれ取引サーバ700A、700Bおよび代表取引サーバ800を備える。
取引網320A、320Cは、情報配信に代表される下り信号およびユーザリクエスト等の上り信号について、それぞれの処理時間を管理・制御する情報管理装置(ME:Management Equipment)620A、620Bおよび630A、630Bを備える。代表取引網350は、情報管理装置ME610を備える。これら情報管理装置MEにより、通信システム1は、信号処理時刻管理/制御の観点から(1)全監視区間2000、(2)内部監視区間2001、(3)外部監視区間2002に分割できる。
ME610と、ME620Aおよび620Bは、内部通信網330を介して相互接続する。内部通信網330の両端にME610、620A(B)を配備することにより、内部通信網330におけるデータ処理時間の変動をME610および620A(B)内部の信号処理過程で吸収し、取引網320A、320Cと代表取引網350との通信時間を一定に保つ。内部通信網330はDE310DをME610およびME620A、620Bと接続する。DE310Dは、インターネット1000を介して離れた地点に設置した代表取引網(その内部に設置される取引サーバ880)と接続する。データセンタ300内部に設置する通信装置は、同期情報配信装置903よりクロックまたは標準時刻情報の供給を受け、データセンタ300内で同期して信号処理を行なう。そのため内部通信網330は、これを介して相互接続する装置(DE310D、ME610、ME620)に対する同期信号の配信経路を兼ねる。
なお、データセンタ300内部についても、GPS、NTP、IEEE1588などのクロック同期や標準時刻配信技術を利用し、全装置が同一の標準時刻に従って動作する。更に、例えばIEEE1588v2等のプロトコルを利用できる環境では、より高精度な時刻同期が可能となる。すなわち、全装置が標準クロックに従って動作するよう設定することで、より高度な時刻制御を行なう。
信号処理時刻管理機能を備えることにより、取引サーバ700A、700Bと代表取引サーバ800との通信における信号発信時刻から受信(受付)確認時刻までの所要時間を一定に保ち、内部監視区間2001の信号送受における不安定性を回避できる。
ユーザ端末501は、それぞれが収容される取引サーバ700A、700Bと相互に情報通信を行なう。図2では、ユーザ端末501A〜501Eと取引サーバ700A、700Bとの対応(サービス契約)関係を簡略化して示しており、実際には図1で示したような情報中継網100、プロバイダ網200を介してデータセンタ300と接続されるため、物理的なトポロジによる何らの制約をも必要としない。取引網320A、320Cには、取引サーバ700A、700Bのユーザ端末501側に、それぞれ情報管理装置ME630A、630Bを備える。取引サーバ700とMEとの接続は、図示したような装置間の直接接続方法により実現しても、複数の中継区間を含む経路で実現しても良い。ユーザ端末501A〜501Eを収容するNE110AA〜110AEと、ME630A、630Bとを両端点とする通信区間が外部監視区間2002となる。ここで、NE110AA〜110AEは、図1で示したNE110AあるいはAE510に相当する通信装置である。装置配備については各通信キャリアやプロバイダのビジネスモデルに依存するところが大きいため、ここではNE110Aを外部監視区間2002の端点として用いるが、その具体的な配備を限定しない。すなわち、図1のようにAE510とNE110Aが同期動作しているならば、AE510が同様の役割を担う。重要な点は、ユーザ端末501の所有者以外の管理者が存在すること。つまり、通信装置(情報管理装置)NE110Aを運用することによりユーザ自身での信号発信時刻の任意設定を無効とし、ユーザ間の公平性を図ることである。NE110AとME630の連携による外部監視区間2002の通信所要時間の調整方法については、内部監視区間2001での動作と略同様である。
図1と同様に、同期制御信号の疎通状況を破線矢印で示した。同期制御フレームの相互通信を行なうことにより、より少数のクロック/時刻供給装置で通信システム全体が同期する。
図3を参照して、情報管理装置MEの装置構成を説明する。なお、ME610、620、630共に機能ブロックは、共通であるため、ここではME610を説明する。図3において、ME610は、インタフェース部10と、管理コマンド受信部15と、参照クロック受信部16と、入出力管理部21と、読出し制御部22と、入力フレーム処理部31と、出力フレーム処理部32と、データベース部40と、スイッチ50と、装置内データベース部70と、同期管理部75と、入力バッファ211と、出力バッファ221とから構成されている。
インタフェース部10は、N台のインタフェース11を備える。管理コマンド受信部15は、管理コマンド受信インタフェース151を備える。参照クロック受信部16は、参照クロック受信受信インタフェース161を備える。入力フレーム処理部31は、同期モードデータベース311を備える。データベース部40は、待機バッファ41と、出力インタフェース設定表42と、配信時刻データベース43とを保持する。装置内データベース部70は、経路表71と、時刻情報(ToDデータベース)72と、経路切替表73と、有効期限データベース74とを保持する。同期管理部75は、同期モードデータベース751を備える。
管理コマンド受信インタフェース151には、ネットワーク管理装置(NMS)またはオペレーションシステム(OPS)からの制御線152が接続されている。参照クロック受信受信インタフェース161には、クロックネットワーク(CLK NW)からのクロック線162が接続されている。
ME610は、他の通信装置、サーバまたは端末装置等と接続するために、N台(N≧1)の通信インタフェース11−1〜11−Nを備える。これらのインタフェース11をインタフェース部10に含み、インタフェース11を通じて受信した信号について、ME610は、入力バッファ(受信バッファ)211へ蓄積する。入出力管理部21は、入力バッファ211内部への書き込み開始や、入力バッファ211から入力フレーム処理部31へフレーム転送する際のタイミング指示を行なう。信号受信有無の判定では、図10を参照して後述するように、特定の信号パターンが入力された場合を信号有りと判定する。判定処理は、インタフェース部10にて当該パターンの監視を行なうことにより実現する。インタフェース部10は、信号入力を検知すると、入出力管理部21に当該情報をインプットする。インタフェース部10は、入出力管理部21の指示に従い、入力バッファ211の所定のアドレスに入力信号を記録する。経路81および経路811は、それぞれインタフェース部10から入出力管理部21、入力バッファ211への状態通知または信号伝送に用いる信号経路である。
図3において、インタフェース部10に接続する回線12−1〜12−Nは、物理回線または論理回線を示す。図12および図13を参照して後述するように、信号フレームは、VLANまたはMPLSタグを用いて論理的に識別される。回線12−1〜12−Nを物理回線と見做すと、個々の回線12には複数の論理回線12−1−1〜12−1−m1、12−2−1〜12−2−m2、12−N−1〜12−N−mNを含むことができる。個々の論理回線には、更に複数の論理回線を設定できる。図12および図13の信号構成を参照すると、VLANタグを複数使用するか、シムヘッダを複数挿入することにより、多段階層から成る論理回線設定が可能である。
受信フレームについて、入力フレーム処理部31は、入力バッファ211から読みだす。入力フレーム処理部31は、受信信号の種別判定(プロトコル識別、主信号/制御信号識別など)、フレームヘッダの抽出、宛先確認、ヘッダ情報の付与・変換・削除を行なう。受信フレームの宛先確認において、入力フレーム処理部31は、受信フレームの宛先を示すヘッダ情報を抽出し、情報を経路表71と照合する。経路表71には該当する宛先へ向けてフレームを送出するための情報を保持する。この情報には、送出インタフェース識別子、送出時にフレームに付与すべきヘッダ情報を含む。
送出先が決定したフレームは、スイッチ50を介して宛先毎に振り分ける。すなわちスイッチ50は複数のインタフェースボード間を接続する役割を担っており、スイッチ50に入力されるフレームに付属するヘッダ情報(フレーム本体のヘッダ情報または装置内部のみで使用する「内部ヘッダ」情報)に基づき、当該フレームを送出すべきインタフェースを備えるインタフェースボード宛てに転送される。図3では通信装置の機能ブロックの相関関係を簡略化して図示しているため具体的な実現方法には触れていないが、このようなスイッチ50の役割を担う信号処理基板と、個々のインタフェースを含むインタフェース用基板とをバックプレーンを用いて相互に接続する構成は一般的に用いられる。一般的には図3の中でスイッチ50のみ別基板上に実装される。但し、具体的な実装方法の差異は、本質とは関係しないため、詳細な説明は割愛する。
スイッチ50は、入力されるフレームの転送先(インタフェースボード、あるいはインタフェースグループ)を決定する際に、当該フレームのヘッダ情報と経路切替表73とを比較参照することにより決定する。
以上の流れから、スイッチ50から出力フレーム処理部32が受信するフレームは、当該出力フレームが属するインタフェースボード上のインタフェース部10より外部に転送されるべきフレームである。出力フレーム処理部32では、入力フレーム処理部31と同様の処理を行なう。すなわち、受信信号の種別判定(プロトコル識別、主信号/制御信号識別など)、フレームヘッダの抽出、宛先確認、ヘッダ情報の付与・変換・削除を行なう。受信フレームの宛先確認では、入力フレーム処理部31は受信フレームの宛先を示すヘッダ情報を抽出し、情報を経路表71と照合する。一般的に、入力フレームと出力フレーム(入力フレームに対しヘッダ情報などを加工した転送用フレーム)が同一の通信プロトコルを使用している場合、入力フレームに対するほぼ全ての変更処理は入力フレーム処理部31で行ない、その結果(ヘッダ変更結果)を参照してのスイッチ50処理と、出力インタフェースへの転送処理を行なう。一方、入力フレームと出力フレームが使用する通信プロトコルが互いに異なる場合や、同一の宛先に対して複数の送出インタフェースを利用可能な場合(典型的な例は、現用系と予備系の複数の経路から構成する冗長系で、一方の系における障害発生時に他方の系を用いるプロテクション機能を使用する場合などがある)には、出力フレーム処理部32における、出力先経路の状態管理や出力フレームの宛先インタフェースの最終決定処理を行なう。そのため、出力フレーム処理部32にも、上述のような経路表へのアクセス機能やインタフェース識別機能を備える。
出力フレーム処理部32は、受信フレームをインタフェース部10宛てに送出する迄の最後の処理を行なうブロックである。本ブロックの機能には、ヘッダ情報の処理や、優先度別の送出処理(フレーム順序調整)、配信時刻(後述)までのフレーム保持が含まれる。出力フレーム処理部32にて、スイッチ50から受信したフレームを具体的に送出するインタフェース11−1〜11−Nを選択する。この処理には出力インタフェース設定表42を参照する。出力インタフェース設定表42には、フレームの宛先や論理経路情報(VLAN、MPLSラベルなど)とインタフェース11−1〜11−Nとの対応を保存する。ヘッダ情報の処理は、装置内部におけるフレーム処理に用いる内部ヘッダの削除、入力側と出力側とでプロトコルが異なる場合等の、ヘッダ情報の変更・付加・削除あるいは処理状況を記録しておくためのフレーム情報の読取り処理が必要な場合に実施する。更に優先度処理は、フレーム優先度に応じて一部のフレームを処理する間、他のフレームを待機バッファ41に保持しておく処理、あるいは待機バッファ41を利用してフレーム優先順位を確認し、出力バッファ221へ送る順序を並べ替える処理を含む。
情報管理装置ME610、620、630の重要な役割に、ユーザ端末501から取引サーバ700あるいは800に対する上り信号の発信時刻および、取引サーバ700または800からユーザ端末501方向へ発信される下り信号の受信時刻とユーザ端末501側への転送時刻の管理がある。
ユーザ端末501側からの上り信号を受信すると、入力フレーム処理部31は、装置内に保持する時刻情報(ToDデータベース)72を参照し、当該フレームの受信時刻を入手する。受信時刻は、入力フレーム処理部におけるヘッダ処理過程で受信フレームに対するタイムスタンプ挿入処理に用いる。
また、入力フレーム処理部31は、上り信号に含まれるユーザアクションが対象とするサービスを識別する。識別処理において、入力フレーム処理部31は、上りフレームに含まれるサービス識別子を参照する。入力フレーム処理部31は、上り信号受信に伴い有効期限データベース74を参照することにより、当該サービス識別子に対応するユーザアクションの受付期限を確認する。受信時刻が有効期限を過ぎている場合、入力フレーム処理部31は、図7を参照して後述するシーケンスに従い、ユーザ端末501側への受付判定(却下)通知、および当該フレームの廃棄を行なう。
取引サーバ700または800からユーザ端末501側への下り信号を受信すると、入力フレーム処理部31は、当該フレームに含まれるサービス識別子と、(もし含まれていれば)経路識別子、有効期限、配信時刻情報を抽出する。これらのうち、サービス識別子を用いて、入力フレーム処理部31は、有効期限データベース74と照合し、当該サービス情報が記録されているか否かを確認する。既に登録されていれば、入力フレーム処理部31は、有効期限の確認および(必要な場合に)更新を行なう。未登録のサービス識別子である場合、入力フレーム処理部31は、新たに有効期限データベース74へ当該サービス情報(サービス識別子、有効期限を含む)を登録する。経路識別子が含まれている場合には、入力フレーム処理部31は、既存サービスについては経路を確認するために用いる。経路識別子をサービス識別子と共に有効期限テーブルに記録しておく実装も可能である。この時は、サービス識別子と経路識別子とを組み合わせてより細分化した情報管理が可能となる。
下り信号から抽出した情報配信時刻について、入力フレーム処理部31は、配信時刻データベース43に格納する。下り信号の配信時刻情報は、下り信号をユーザ端末501宛てに転送する際の時刻(タイミング)を調整するために用いる。配信時刻情報は、標準時刻情報として通知することも、下りフレームを情報管理装置が受信した時刻からの(相対的な)待機時刻として通知しても良い。配信時刻データベース43は、出力フレーム処理部32から参照される。出力フレーム処理部32は、送信フレームの信号識別子(図10)が、配信時刻調整の対象であると判断した場合に、(A)出力フレーム処理部32から出力バッファ221への信号転送時刻あるいは(B)出力バッファ221からインタフェース部10への信号読出し時刻を決定するために用いる。指定時刻まで待機した後に待機バッファ41から出力バッファ221へ転送するか、指定時刻に読出し制御部22から出力バッファ221または待機バッファ41に格納したフレームを強制的に読み出し、インタフェース部10へ送出するなどの手段が可能である。
図4を参照して、入力フレーム処理部における処理の流れを説明する。図3を参照して説明したように、入力フレーム処理部31には、主信号フレームや制御信号フレーム(装置制御、OAM(Operations, Administration and Maintenance)、同期制御)が入力される。このため、入力フレーム処理部31は、それぞれのフレームを識別した上で、適切に処理しなければならない。
入力フレーム処理部31は、クロックおよび時刻情報を得る手段を予め設定しておく。フレームを受信する度に、クロックおよび時刻情報を得る手段(モード)の確認を実施する(S601、S602)。これらのモード確認処理は、入力フレーム処理部31にてフレーム受信時に実施するか、あるいは常時一定タイミングで実施しておき、モードを入力フレーム処理部31内部に保持しておいても良い。モード設定を保持するデータベースが同期モードデータベース311および同期モードデータベース751である。
図4において、フレームを受信すると、入力フレーム処理部31は、同期モード設定が、OpS(Operating System)での設定モードか判定する(S601)。NOのとき、入力フレーム処理部31は、同期モード設定が専用クロック参照モードか判定する(S602)。NOのとき、ME610がインタフェース部10で受信する信号の中に同期情報を通知する同期制御フレームが含まれる。そこで、ME610では通常のデータフレームとこれら同期制御フレームとを区別しなければならない。具体的には、入力フレーム処理部31は、受信フレームは時刻情報通知か判定する(S603)。受信フレームが同期制御フレームの場合(YES)、入力フレーム処理部31は、受信フレームから時刻情報を抽出する(S604)。時刻情報をME610の動作(フレーム処理クロックのタイミング調整や装置内の時刻設定または装置内クロックと伝送回線クロックとの調停/差分吸収処理)制御に使用するために、入力フレーム処理部31は、時刻同期データベース(ToDデータベース)72へ保存して(S605)、終了する。
ToDデータベース72は、装置内データベース部70に含まれており、同期管理部75による確認、更新が行なわれる。入力フレーム処理部31は、ToDデータベース72に対し、経路92を用いて書き込みを行なう。同時に入力フレーム処理部31は、同期情報の受信を経路90によって同期管理部75へ通知する。同期管理部75は、ToDデータベース751に入力された同期情報を、経路93を介して確認・参照し、装置内クロック制御および設定時刻の管理を行なう。
ステップ601でYES、ステップ602でYESまたはステップ603で受信フレームが同期制御フレームでない場合(NO)、入力フレーム処理部31は、先ずフレームを受信したインタフェース11が受信フレームをUNIから受信したか判定する(S606)。ユーザ端末501側(UNI側)からデータフレームを受信した場合(YES)、入力フレーム処理部31は、同期管理部75を参照し、受信時刻を確認する(S607)。入力フレーム処理部31は、フレーム構成の変更および(必要ならば)ヘッダ情報の付与・削除・変更を行なう(S608)。入力フレーム処理部31は、受信時刻を受信フレームに挿入して(S609)、終了する。なお、ステップ608とステップ609の処理順序はどちらが先でも構わない。ほぼ同時に、当該フレームのヘッダ処理が完了する時点で時刻情報の挿入が完了していれば良い。なお、図4では受付判定処理を省略し、受付可能な場合のフレーム処理のみを示した。受付判定処理については、ステップ607とステップ608の間に実施するものである。受付判定の処理手順については、図5にて説明する。
新規フレームを受信したインタフェース11がUNI側ではない場合(S606:NO、フレームは下り信号である。受信フレームがユーザ端末501(UNI)宛てである場合、フレームはデータフレームか、NE110A宛ての許容遅延時刻通知フレームである。入力フレーム処理部31は、フレームはUNI宛か判定する(S610)。YESのとき、入力フレーム処理部31は、タイムスタンプフィールドを含むフレーム構成であるか否かを確認する(S611)。タイムスタンプを含む場合、タイムスタンプが示す情報配信時刻まで受信フレームを保持しておき、指定時刻になった段階でフレームを送出する。このとき、配信時刻情報は、ユーザ端末501にとっては既に不要な情報であるため、フレーム送出時に送信フレーム処理部32は、ヘッダ処理にてタイムスタンプ情報を含む不要なヘッダ情報を削除した上で、当該フレームを送出して(S612)、終了する。
更に、受信フレームがUNI宛てではない場合(S610:NO)およびUNI宛てであっても、タイムスタンプ情報を含まない場合(S611:NO)、当該フレームは、ME610に設定した経路を介して配信される信号ではない(他の経路を通過する信号か、時刻同期のため通信装置間でやり取りする同期制御フレームか、STPなどの経路制御プロトコルが動作するための経路制御フレームか、あるいは自装置に対する許容遅延時刻通知フレームである場合などが考えられる)。この時は、各フレームに対し、転送が必要なもの(経路制御フレームや各プロトコルの制御フレームなど)は、通常の転送処理を行ない(S613)、終了する。
図5を参照して、情報管理装置における上り信号受付可否判定の処理手順を説明する。図5において、図4のステップ606で上りフレームを受信すると(YES)、入力フレーム処理部31は、先ずフレームが対象とする情報(サービス)識別子を抽出する(S701)。入力フレーム処理部31は、抽出した情報識別子が装置内部に登録されているか判定する(S702)。YESのとき、入力フレーム処理部31は、許容遅延時間を算出する(S703)。入力フレーム処理部31は、受信フレームの到着時刻を確認する(S704)。入力フレーム処理部31は、許容時間内に到着したか判定する(S705)。YESのとき、入力フレーム処理部31は、受信時刻をフレームに挿入する(S609)。入力フレーム処理部31は、転送処理を実行して(S706)、終了する。
ステップ702またはステップ705でNOのとき、入力フレーム処理部31は、フレームを廃棄する(S707)。入力フレーム処理部31は、廃棄処理を行なった旨を発信者であるユーザ端末501、NE110A、または取引サーバ700に通知(受信拒否通知)して(S708)、終了する。
情報識別子が登録されていない場合には、ユーザ端末501が新規サイトへ情報提供を求める(リクエストする)場合や、配信時間を管理する対象とならない情報へのリクエストである可能性も考えられる。この場合には、必ずしも廃棄する必要はなく、当該リクエストを上位サーバへ転送するための通常の処理(ヘッダ処理と優先転送処理などを含む)を行なえば良い。
図6を参照して、データセンタ300と、NE110Aと、ユーザ端末501の間のデータ処理の流れを説明する。図6は、ユーザ端末501とデータセンタ300内に設置する代表取引サーバ800との通信を説明する図である。これらの装置の間には、情報管理装置ME610、620、630、内部通信網330、取引サーバ700、データセンタ網エッジ装置DE310、情報中継網エッジ装置NE110Aが存在する。DE310とNE110Aの間をつなぐ通信網構成については、図1で説明済みのため図6では省略した。なお、この通信網の構成は、実施例の動作に影響を与えない。
取引サーバ700は、代表取引サーバ800から得られる市場情報(取引情報)をユーザ端末501へ配信する。また、取引サーバ700は、ユーザ端末501で入力される情報(株式や為替売買あるいはオークションへの入札等)を受信し、当該情報を処理した後、代表取引サーバ800へ情報を集約する。
通常の取引では、取引サーバ700を所有するサービスプロバイダ(銀行や證券会社等)が多数のユーザ端末501から送られる情報について、サーバ700で処理した後、銀行・証券会社間取引(インターバンク市場取引)により取引事業者相互に情報のやりとりを行なう。この際に各證券取引所に設置される代表取引サーバ800との信号送受を行なう。
取引サーバ700とユーザ端末501との接続距離により、両者間の信号送受に要する時間が異なる。取引サーバ700(銀行や證券会社)は、多数のユーザを収容する。そのためユーザの通信環境に依存して、ユーザ端末501毎に取引サーバ700との通信所要時間が異なる。この通信時間の分散を考慮しユーザ間の公平性を向上するため、取引サーバ700ではサーバが収容するユーザ端末501のそれぞれ(全てのNE110A)に対する通信時間を把握しておき、個々のユーザ端末501へ市場情報を配信する時刻、およびユーザ端末501から当該市場情報への入力(売買申請や入札等)を受付ける時刻を統一するための処理(以下に記載)を行なう。
具体的には、取引サーバ700は、代表取引サーバから市場情報を入手する時刻に先立ち、取引サーバ700に収容するユーザ端末501との通信所要時間を測定する(S151〜S154)。まず、取引サーバ700は、測定信号S101を生成し、対象測定経路の端点であるNE110Aに向けて信号を送出する(S151)。測定信号S101がME630に到達するとME630は、信号を受信した時刻を記録する(S152)。測定信号S102はDE310を通過し、時刻管理機能を備える通信装置NE110Aで終端および折返し処理を行なう(S153)。NE110Aから送出した折返し信号(レスポンス通知S103)をME630にて終端する。その際にME630は、信号の到着時刻を記録する。ME630は、レスポンス通知S103の到着時刻と測定信号S102を送出した時刻とを比較する(S154)。ME630は、取引サーバ700に区間の通信所要時間を通知する(S104)。取引サーバ700は、遅延情報S104を受信すると、自装置内の所定の場所に保存する。通信所要時間は通信先であるNE110Aにより異なるため、取引サーバ700は、取引サーバ700と接続するNE110Aのそれぞれに対して同様の通信所要時間測定を行なう。
取引サーバ700は、最も通信時間のかかるNE110A(その通信時間を最大遅延時間とする)を基準と見做し、許容遅延時間を最大遅延時間以上となるように設定する(S155)。なお、ステップ155については、図9を参照してさらに詳細に説明する。
ステップ100からステップ204迄のシーケンスは、代表取引サーバ800からユーザ端末501へ開示する情報について開示時間/レスポンス受付時間の設定を行なうための、各装置での処理手順である。
図6では、下り信号(開示情報)の種別に応じた一つまたは複数の許容遅延時間(当該情報配信時刻から情報に対するレスポンス受信時刻までに待機可能な時間幅)が予め設定されている状況(S100)を想定する。ステップ100に関しては、図8、図9を参照して、後述する。下り信号種別(Webコンテンツや株・為替市場の取引価格等)の許容遅延時間が更新されると、代表取引サーバ800は、遅延時間をME610へ通知する(S251)。この通知S251には、情報種別を識別するための情報識別子を含む。ME610は、許容遅延を記憶すると共に、情報を取引サーバ700へ転送する(S252)。取引サーバ700は、ME610と同様に当該情報の識別子と許容遅延時間とを参照し、装置内に記憶(追加/更新)する(S202)。
取引サーバ700における許容遅延時間の調整(S202)では、ステップ151〜ステップ154で得た取引サーバ700とユーザ端末501との通信時間に基づき、取引サーバ700が開示する情報に対する、ユーザ端末501からのレスポンスを受信するための待機時間を算出する。ユーザ間の通信距離差を極小化するためには、取引サーバ700におけるユーザ端末501からの入力信号を処理するために要する時間と代表取引サーバ800との通信時間とを考慮すべきである。そのため、取引サーバ700が算出する開示情報種別の許容遅延時間については、代表取引サーバ800が保持する許容遅延時間よりも短時間とするよう調整する。
取引サーバ700は、算出した許容遅延時間をME630へ通知する(S253)。ME630は、許容遅延を保存する(S203)。
代表取引サーバ800からの許容遅延時間通知(S252)を受け、取引サーバ700は、ユーザ端末501に対する情報開示時刻を調整する。これはユーザ端末501と取引サーバ700との通信所要時間がユーザ端末毎に異なるため、全ユーザに対し公平な情報アクセス環境を構築するためである。具体的には、取引サーバ700およびNE110に於いて、下り信号(開示情報)を受信した後、NE110およびユーザ端末501へ配信開始する迄の待機時間を設定し、ユーザが情報を閲覧するタイミングを統一する。取引サーバ700は、ME630に許容待機時間を通知(S253)すると共に、NE110に対して開示情報をユーザ端末501へ配信する際の待機時間を通知する(S254)。NE110は、通知S254に含まれる開示情報の識別子と当該待機時間を対応づけて装置内に記憶する(S204)。なお、ステップ253において、取引サーバ700は、ME630に許容待機時間を通知すると説明したが、実際には、ME630は、取引サーバ700からNE110宛の通知をスヌープして、タイムスタンプを追加している。
更にステップ300〜ステップ355は、下り信号(開示情報)配信に関する信号処理である。代表取引サーバ800は、Webコンテンツ等へのユーザからの開示要求を受け付けた場合や、株・為替取引価格などの市場情報が更新される場合等(S300)に図6に示す下り信号の配信を実施する。代表取引サーバ800が生成・送出する情報の種類により送出開始時に許容遅延時間の最新の許容遅延時間を確認し、あるいは許容遅延時間を新たに取得する場合もある(S301)。代表取引サーバ800が送出する下り信号S351には、情報を識別する情報識別子、情報が更新された時刻を含む。ME610は、下り信号S351を検知すると、信号に含まれる情報識別子を確認し、更に信号の通過時刻(ME610への到着時刻、あるいはME610からの送出時刻を採用する)を記録する。この通過時刻を、許容遅延時間を測定する際の基準時刻(ゼロ点)とする。ME610は、開示情報を下り信号S352に載せて取引サーバ700へ通知する。取引サーバ700は、情報を自装置内に取込むと共に、ユーザ端末501へ向けた情報再配信のために必要な信号処理を行なう(S303)。
下り信号配信時には、当該信号により運搬する情報の種類に応じて、有効期間を同時に通知する。定期的または不定期に更新される市場情報やニュース配信などはその好例である。この場合には、最新の市場状況をユーザへ伝えることが必要とされており、状況が変わった後に、以前の状態を配信する意義は(市場動向の分析などの状況を除いて)一般的には非常に少ない。情報の有効期限は、情報を伝達する下り信号のフレームに挿入する形で送信できる。ここでは情報の識別子と、情報に対応する有効期限とを対応付けて通信装置内部に保持しておくことが鍵となる。ここで言う通信装置とは、代表取引サーバ800、取引サーバ700を含む。情報が更新される際には、有効期限タイマーも同時にリセットする。これを用いて、情報の正当性を確認する手段にも活用できる。すなわち、有効期限は、代表取引サーバ800または取引サーバ700から指示するが、情報管理装置ME610、620、630、NE110Aには情報更新と有効期限リセットとが連動していることを確認する。この手続きによって、情報の改ざんや誤配信を抑止できる。
図6に示すように、取引サーバ700が送出する下り信号S353は先ずME630に到達する。ME630は、当該信号の情報識別子と通過時刻を自装置内に記録し(S304)、信号をユーザ端末501向けに転送する(S354)。このME630の動作は、ME610とほぼ同様である。ユーザ端末501が受信する下り信号S354には、当該情報を識別する情報識別子(対象ユーザ、サービス種別、要求品質等の個別情報抽出に用いるパラメータ)、当該情報を開示することのできる時刻(ME630が当該情報を受信してからユーザ端末501へ配信するまでの待機時間)を含む。更に信号S354には、ME630からNE110Aに至る迄の通過経路を識別するための経路識別子、当該情報の有効(開示)期間を付加情報として含む。
許容遅延時間設定シーケンス(S100〜S204)、下り信号配信シーケンス(S300〜S305)では、取引サーバ700およびME610、620、630、NE110Aへ送信する下り信号に、下り信号の通過経路を示す経路識別子を挿入することにより、予め設定した経路に沿った、より確実な通信所要時間を測定できる。このため、より高い公平性を確保できる。もし通信経路がSTP、IPルーティングプロトコル(RIP、OSPF他)により動的に変更されると、代表取引サーバ800または取引サーバ700からユーザ端末501までの通信距離も変動するため、通信所要時間の測定精度がより低くなる。従って、より有効に実施するためには、経路識別子をフレームに挿入することが望ましい。
NE110Aは、当該下り信号を受信すると、情報識別子をはじめとする付加情報を自装置に保存する。NE110Aは、常時時刻情報を参照しており、下り信号に含まれる情報開示時刻が受信時刻よりも早ければ(既に時刻を過ぎていれば)直ちにユーザ端末501へ転送する。受信時に、未だ開示時刻に至っていないときには、開示時刻まで当該情報を保持して待機し、開示時刻になった時点でユーザ端末501宛てに情報を送出する(S355)。
以上の処理に於いて、データセンタ300、プロバイダ網200、情報中継網100において同一の標準時刻を把握していることを前提とする。そのため、代表取引サーバ800からNE100A迄の通信経路を構築する通信装置では、動作クロックのタイミングおよび位相を同期するためのメカニズムを具備すること、および同期システムを用いた標準時刻情報配信システムが確立され、各装置が標準時刻を把握できることが必要である。また、ME610、630の処理で○は、タイムスタンプである(一部説明を省いた)。
図7を参照して、ユーザ端末から取引サーバに向けた上り信号に関する処理の流れを説明する。図7において、ユーザ端末501は、図6の流れに従いデータセンタ内のサーバより送信される各種情報を入手する(S355)。この開示された情報に対して、ユーザ端末501は、ユーザによる各自のアクションの決定を受け付ける(S401)。ユーザアクションには、Webコンテンツの閲覧(Webリンクのクリック)、情報検索(検索用Webサイトの閲覧および当該Webサイトでの検索キーワード入力)、株・為替市場情報を参照した際の取引会社への売買注文などがある。特に市場取引は、通信システムの性能に依存するユーザ間格差を極力排除すべき代表的なアプリケーションである。
ユーザアクションは、或る情報に対する開示要求またはレスポンスという形で現れる。このレスポンスを処理するために、ユーザ端末501は、開示情報とレスポンスとの対応付けを行なう(S402)。なお、開示情報とレスポンスの対応付けは、NE110A、ME630、610、取引サーバ700、代表取引サーバ800で同等の機能を具備するが、以下省略している。
この対応関係を確認した後、ユーザ端末501は、取引サーバ700へ送出するための信号(上り信号)を生成し送出する(S403)。上り信号S451は、ユーザ端末501が属するユーザ網、アクセス回線およびアクセス網500を介して情報中継網100のユーザ側エッジに位置するNE110Aに到達する。NE110Aは、当該上り信号S451を受信した時刻および当該信号が対象とする情報識別子を参照し、上り信号が、情報に対するレスポンス期限時刻前に到達したか否かを確認する(S404)。もし、ステップ404の時点で期限時刻を過ぎていれば、ユーザ端末501宛てに期限切れである旨を通知する信号を送出する(S452;信号構成は図10〜図13を参照)。これと反対に期限前であれば、NE110Aは、上り信号S451に、受信時刻を示すタイムスタンプを付与して上り信号S453を生成し送出する(S405)。すなわち、NE110Aが送出する上り信号S453は、ユーザアクションと情報識別子、およびNE110Aが付与するタイムスタンプを含む。
次に上り信号がME630に到達すると、ME630は、先ず、NE110Aと同様の処理を行なう。すなわち、ME630には、情報識別子と、それに対応するレスポンス受付期限が記録されている。ME630では、上り信号S453を受信した時刻を記録し、それを情報識別子毎のレスポンス期限時刻と比較し、受信を許容するか否かを確認する(S406)。NE110Aに於いてレスポンス期限内であっても、ME630への到達時刻が同様に期限内であるとは限らない。情報中継網100内の障害や輻輳の影響により予想以上に遅延が拡大する可能性があるからである。特にパケット通信技術を用いている場合にはこのような事態が生じ易い。各装置のクロックおよび時刻設定が同期していても、IP/MPLSのように経路をHop−by−Hopで構成し、装置内の経路表を動的に変更する場合はこうした現象が起こり易い。また回線交換型の同期通信を行なう伝送網であっても、通信中に障害が発生した場合は通信網内で経路切替処理(プロテクション)が生じるため、必ずしも情報中継網100に於ける通信時間が保証されている訳ではない。従って、ステップ406での確認の結果、もし有効期限を過ぎていれば、ME630は受付できない旨をNE110A(およびユーザ端末501)へ伝える(S454)。
ME630は、自装置が保持するレスポンス期限内に到着した一つまたは複数のユーザアクションを一旦集約した後に取引サーバ700へ通知する。この集約作業も、ME630の処理(S406)にて実施する。本処理では、集約した各アクションにつき、NE110Aが付与した時刻情報を参照してアクションの優先度を決定する。アクション優先度決定の最も基本的な例は、アクション発生時刻(NE110Aへの到着時刻)が早い順とする方法である。更に応用事例として、時刻情報とユーザ情報を組み合わせて優先度を決定する方法(同一時刻に到着したフレームはユーザ契約情報に基づき、重要ユーザを優先する、または許容時間内に到着したフレームの中では、ユーザ優先度を重要視し、フレーム到着時刻が後になってもプレミアムユーザを優遇する、など)が可能である。ここで優先順位付けした後、ME630は、これらユーザアクションを信号S454として取引サーバ700へ出力する。
ME630における優先度決定結果を取引サーバ700へ通知する方法には、複数の手段を選択できる。一つは、ユーザアクション(上り信号フレーム)をME630に保持した上で、優先度の高いユーザアクションから順に取引サーバ700へ転送する方法である。また別の方法として、優先度情報をユーザアクションフレームに挿入した信号を取引サーバ700へ転送する方法である。両者の違いは、ユーザアクションフレームを保持する装置がME630か取引サーバ700かということになる。いずれの方法でも効果に大きな影響は無いが、ユーザアクションの優先度を判定するME630に保持する方法(前者)が、システム全体の負荷を考慮すると、寄り望ましい実装方法と言える。
取引サーバ700は、各ユーザアクションに対して、取引サーバ700が管理する市場情報に基づく処理を行なう(S407)。證券会社は、ユーザアクションを受けて市場取引を行なう。このとき個々のユーザアクションに逐一対応するのではなく、證券会社内部で売買要求を一旦集約した後、一定量の売買要求をまとめて市場への取引要求とする。個々の証券会社は市場に対して一定のマージン(インターバンク市場での売買価格と証券会社提示の売買価格の差異や処理時間差に起因する、ユーザアクション受付時の価格変動幅等)を設けてユーザアクションを処理している。そのため、ユーザ(ユーザ端末501)へ知らされるのは取引サーバ700での処理結果であり、代表取引サーバ800での取引結果ではない。下り信号S457は、取引サーバ700での処理結果(取引正否や成約価格など)をユーザ端末501へ通知する信号である。また上り信号S456は、取引サーバ700と代表取引サーバ800との取引信号を示す。
取引サーバ700から送出する上り信号S456は、ME620を通過する際に信号の通過時刻(受信時刻)を示すタイムスタンプを付与する(S408)。ME620には、NE110Aと同様に、情報識別子と、それに対応するレスポンス受付期限が記録されている。ME620の動作は、NE110Aと同様であるため省略する。更に、ステップ458に対するME610の動作についても、上り信号S453に対するME630の動作と同様であるため省略する。上り信号S459と下り信号S460は、それぞれME630での受付判定S409の結果、代表取引サーバ800へ入力する信号と、当該信号の受付可否を取引サーバ700へ通知する信号である。
代表取引サーバ800は、(銀行や証券会社が所有する)各取引サーバ700からの取引要求を受け付け、ME610で設定した優先度に従って各取引処理を実行する(S410)。更に、代表取引サーバ800は、取引結果を取引サーバ700へ通知する(S461)。この取引結果は最新の市場情報となる。取引サーバ700はこれを受け、図6のシーケンスに従って各ユーザ端末501へ市場情報を開示する。
図8を参照して、代表取引サーバにおける許容遅延時間の測定手順を説明する。図8のシーケンスは、図6の事前測定(S100)における処理内容である。図8では、測定を行なう側の代表取引サーバ800Aが属するデータセンタをローカルデータセンタ300Aと呼ぶ。また、ローカルデータセンタ300Aの対向に位置し、測定信号に応答する代表取引サーバ800Bが属するデータセンタ300Zをリモートデータセンタ300Zと呼ぶ。データセンタ300A、300Zの構成は、図6、図7と同様である。ローカルデータセンタ300Aは、代表取引サーバ800A、ME610A、内部通信網330A、DE310Aを含む。リモートデータセンタ300Zは、代表取引サーバ800Z、ME610Z、内部通信網330Z、DE310Zを含む。両データセンタ300は、インターネット1000を介して通信可能である。
代表取引サーバ800Aが認識すべき遅延時刻は、各地に点在するリモートデータセンタ800Zとの通信時間差に基づき決定する。通常、代表取引サーバ800Aを設置した地域内でのサーバ800と取引サーバ700あるいはユーザ端末501との通信遅延よりも、インターネットを介したリモートデータセンタ800Z内の代表取引サーバ800Zとの遅延が大きいためである。各地の代表取引サーバ(例えば、日本国内では札幌、東京、大阪、名古屋、福岡に相当する。海外ではニューヨーク、ロンドン、香港市場などがある)は、互いに市場情報を共有して国際取引市場を形成している。すなわち、世界中の市場における代表取引サーバ800が市場情報を随時相互通知する。従って、銀行や證券会社等の金融機関には、市場情報の更新間隔と相互通知時の通信時間差(各地の代表取引サーバへの到達時間差)を考慮し、この遅延の影響を受けにくいシステム構築、並びに十分なマージンを取ったビジネスモデル構築が求められる。
以下、図8のシーケンスを説明する。代表取引サーバ800Aは、測定開始にあたり遅延測定フレームを生成し送出する(S501)。ME610は、遅延測定フレームS551を受信すると、フレームの通過時刻を記録する。通過時刻の記録方法には二通りの手段を利用できる。一つは遅延測定フレームS551に時刻情報を挿入し、リモートデータベース800Zへ転送する方法である(S552)。もう一つには、ME610内に当該測定信号および測定フレームに対するリモートデータセンタ300Zからのレスポンス信号の識別子と、それらの信号がME610を通過した時刻をME610内部に記録しておく方法である。前者の場合、ME610には、レスポンス信号を識別する機能と、レスポンス信号(レスポンスフレーム)をME610が送出した時刻(フレーム内タイムスタンプ)および受信した時刻(ME610での時刻確認)を行なう機能を具備する。また、後者の場合には、ME610は遅延測定フレームおよびレスポンスフレームの識別子を対応づけて記録する遅延測定テーブルを備え、更に遅延測定フレームの送出時刻並びにレスポンスフレームの受信時刻を自装置内で取得する機能と、時刻情報を遅延測定テーブルに記録する機能を具備する。以下、前者を用いた遅延測定方法を説明する。
ME610Aは、送出時刻情報を挿入した測定フレームS552をリモートデータセンタ300Z宛て送出する。測定フレームS552は、ローカルデータセンタ300Aの内部通信網330Aおよびエッジ装置DE310A、インターネット1000、リモートデータセンタ300Zのエッジ装置DE310Zおよび内部通信網330Zを通過して、ME610Zへ到達する。なお、ME610Zは、リモートデータセンタ300Z内の代表取引サーバ800Zの前段に設置する。
ME610Zは、当該遅延測定フレームS552を受信すると、フレームの識別子を参照して遅延測定フレームであること、送出元がローカルデータセンタ300Aの代表取引サーバ800Aであることを認識する。ME610Zは、更に、遅延測定フレーム識別子と共に、フレーム到着時刻をME610Z内部に記憶し、ローカルデータセンタ300Aからの通信時間を記録する。ME610Zは、遅延測定フレームそのもの、またはフレームの到着を通知し、更にローカルデータセンタ300Aとの通信遅延時間を通知する制御信号を遅延測定通知S553として代表取引サーバ800Zへ報告する。
遅延測定フレームS553を受信した代表取引サーバ800Zは、遅延測定フレームに対するレスポンス信号を生成し送出する(S504)。以下、同様にレスポンスフレームについて、ME610Zは、信号通過時刻を記録する時刻情報を挿入する(S505)。ME610Zは、レスポンスフレームを代表取引サーバ800A宛に転送する。時刻情報を含む信号S555は、ローカルデータセンタ300A内のME610Aへ至る。
ME610Aは、レスポンス信号S555を受信した時刻を記録し、レスポンス信号S555に含まれる、ME610Zによって設定した送出時刻情報を確認する(S506)。本処理(S506)に於いて、当該受信時刻と送出時刻とを比較し、代表取引サーバ800Aと800Zとの方方法通信遅延時間並びに往復通信遅延時間を記録する。その後ME610は、代表取引サーバ800Aへ、遅延測定フレームそのもの、またはフレームの到着を通知し、更にローカルデータセンタ300Zとの通信遅延時間を通知する制御信号を遅延測定通知S556として送出する。
図9を参照して、代表取引サーバ間の通信遅延時間と、個々のユーザ端末への信号到達時間との関係を説明する。図9において、図6のシーケンスで示す下り信号を対象とする取引サーバ700およびNE110Aに設定する配信待機時間の設定のための遅延測定および保存(更新)と、図7に示した上り信号を対象とするレスポンス待機時間のための遅延測定および保存(更新)の実施タイミングについては、常時必ずしも互いの測定・更新処理が連携する(通信所要時間の測定、配信待機時間およびレスポンス待機時間の算出をシステム内で同時刻に実施する)必要は無い。更に、図8で明らかなように、システム管理者および通信網オペレータはデータセンタ毎に異なることが通例である。特に海外市場間で市場情報を相互通知する場合は、遅延測定タイミングのみならず、市場情報通知のタイミングについても、各地のデータセンタ間で一致することは稀有である。またユーザ端末501の接続状況はユーザ環境により随時更新されることを考慮すると、代表取引サーバ800が制御する遅延測定処理と、取引サーバ700が制御する遅延測定処理は、勿論同時に実施しても良いが、それぞれ独自に行なうと、種々のデータを集約する代表取引サーバ800の処理負荷を低減することにつながる。これはシステム設計やオペレーション上の課題であり、本質には影響が無い。しかし、より効果的な実施を検討する上で重要である。
図9は、横軸に時間経過をとり、縦軸にME610Aからの距離(通信所要時間)をとったグラフである。ここでは取引サーバ700とユーザ端末501、および代表取引サーバ800Aと800Zの遅延時間差を分かり易く示すため、それぞれの遅延測定開始時刻を横軸の原点(T1−0)とし、双方を重ねたグラフとした。
ME610Aが測定開始時刻(T1−0)に送出する遅延測定フレームS551は、インターネット1000等を経てME610Zへ到達する。ME610Zが当該信号を受信した後、レスポンス信号S556を送出する迄に代表取引サーバ800Zとの通信時間と代表取引サーバ800Z内処理時間を含む処理時間6000だけ待機する。その後、再度インターネット1000を介してME610Aにレスポンス信号が到達する時刻(T1−2)までの時間が往復遅延時間6520である。
また、ローカルデータセンタ300Aから発信する信号の片方向通信遅延時間6510は、ME610Aが発信する遅延測定フレームS551をME610Zが受信する時刻(T1−1a)までの所要時間である。同様に、ローカルデータセンタ300Aが受信する信号の片方向通信遅延時間は、時刻T1―1bから時刻T1−2までの時間である。今、全ての通信装置およびサーバはクロック同期並びに時刻同期がとれている状況を想定しているため、ME610Aまたは610Zで遅延測定フレームまたはレスポンスフレームに付与する時刻情報を、対向ME610Zまたは610Aで当該信号を受信した時刻と比較することにより片方向通信遅延時間を正確に求められる。この片方向通信遅延時間6510は、同期が保証されないインターネット1000における通信状況により最も影響を受ける。その他データセンタ300A、300Z内や個々の通信装置の同期精度にも依存するが、信号がインターネット1000を通過する際の通信時間の変動は、データセンタや通信装置内のそれに比較すると極めて大きい。すなわち、代表取引サーバ800が属するデータセンタ300で商取引を行なうユーザ端末501について、代表取引サーバ800または取引サーバ700との通信所要時間を、代表取引サーバ800Aと800Zとの通信所要時間よりも十分小さく設計可能である。
図9には、取引サーバ700とユーザ端末501(正確にはNE110A)との遅延測定モデルを同様に示した。個々のユーザ端末501と取引サーバ700との通信距離は通常異なり、そのため通信所要時間もそれぞれ異なる。ここではNE110A−iとNE110A−jを用いてその様子を示している。NE110A−iは、取引サーバ700から見てNE110A−jより遠距離に設置した通信装置である。NE110A−i、jに対する遅延測定フレームはそれぞれ6201、6101で示した。またNE110A−i、jにおける信号処理時間は6200、6100で示した。NE110A−i、jからME610Aへのレスポンス信号は、それぞれ6202、6102である。
図6のステップ152〜ステップ154では、ME610AはNE110A−i、jに対し、それぞれTi−2、Tj−2を測定すると同時に、NE110A―i、jにおいて、それぞれME610Aからの片方向通信遅延時間Ti−1a、Tj−1aを測定可能である。またNE110A−i、jからME610Aに向かう片方向通信遅延時間は、それぞれTi−2とTi−1bの差分、Tj−2とTj−1bとの差分としてME610A側で算出可能である。
取引サーバ700に於ける許容遅延量事前設定S155では、これらNE110A−i、jからの遅延時間を入手し、そのうち最も通信時間のかかるNE110A(この場合はNE110A−i)を基準と見做し、許容遅延時間を当該最大遅延時間以上となるように設定する。これにより、ユーザ端末501と取引サーバ700との距離差に因るユーザ間の不公平性を回避する。この時参照する通信所要時間は、ME610AからNE110A迄の往復通信所要時間(Ti−2、Tj−2)である。取引サーバは情報を配信すると同時に当該情報の識別子と許容遅延時間とを対応付け、自装置内に記録する。具体的には、本図に示した通信時間差6530を補うため、ME610において少なくとも通信時間差6530分の待機時間をとる。
また、同時に下り信号の配信待機時間(取引サーバ700およびNE110Aにおける配信待機時間)を設定する。これも、ユーザ間での情報入手タイミングの誤差を無くすために、ME610からNE110A迄の片方向通信遅延時間を参照し決定する。この下り信号に関する片方向通信遅延時間は、取引サーバ700が遅延測定を行なう際のレスポンス通知S105に載せてME610および取引サーバ700へ通知する。取引サーバ700は、当該レスポンス通知から下り信号に関する通信遅延時間(NE110Aが測定したもの)を抽出し、配下に接続される全てのNE100Aの情報を集約した上で、個々のNE110Aに設定する配信待機時間を決定する。具体的には、図9に示した通信時間差6530を補うため、NE110A−jにおいて少なくとも通信時間差6530分(ぶん)の待機時間をとる。
なお、時々刻々と変化する市場情報をユーザ端末501へ配信するには、遅延時間を一定値以下に抑え、市場情報を参照するユーザにとって市場に対するリアクション(株や為替売買)をとるための時間を与えることが可能なシステムとする必要がある。インターネットを介した商取引が主流になりつつある現在では、通信遅延を考慮の上で、取引値の変動と売買のタイミングのずれが生じる可能性を予めユーザに示し、理解を求めることが通例である。しかしながら、ユーザが市場情報を参照した時点からリアクションが完了する(例えば売買が成約する)までの時間をなるべく短縮することは、ユーザがよりリアルタイムに市場を利用する上で不可欠な条件である。有効時間を拡大するには、取引サーバ700の市場情報更新間隔に加え、取引サーバ700に対し外部から入力される市場情報(すなわち代表取引サーバ800A、800Zから伝えられる他エリアでの取引情報)の更新間隔を考慮しなければならない。
その一つの方法として、ME610とユーザ端末501(NE110A)との往復通信時間を、ME610AとME610Zとの往復通信時間以内に設定する。ME610AとME610Zの往復通信時間は、代表取引サーバ800Aが他エリアへ発信した市場情報に対する他エリアからのレスポンスを集約するために必要な処理時間と見做せる。代表取引サーバ800から他エリアおよび当該ローカルエリア内のユーザに対する情報提供を想定すると、ローカルエリア内ユーザからの応答(すなわち取引サーバ700において集約され、代表取引サーバ800に入力される情報)と他エリアからの(リモートデータセンタ内で集約された)応答を同時に受付け、各応答のレスポンスの優先度(ユーザ優先度、サービス優先度、レスポンス時刻)に従い各レスポンスを順に処理することで公平性を確保できる。
一方、他エリアから発信される市場情報への対応を想定すると、代表取引サーバ間片方向通信遅延時間(T1−0〜T1−1a、T1−1b〜T1−2)および各エリアの代表取引サーバによる市場情報配信間隔6550、6560の考慮が必要となる。すなわち、取引情報配信間隔6560以内に、以前配信された市場情報に対するアクションを終了しなければ、対象とする市場の状況が大きく変化してしまい、場合によっては多額の損失を被る可能性があるためである。前述のように、常に変化し続ける市場に対し、随時完全にリアルタイムで対応することは、インターネットを介する取引を行なう場合、事実上不可能である。従って必然的にこの市場の変化に対する追随を迅速に行ない、ユーザまたは金融機関等の取引における思惑との差分を低減することが目的となる。この場合、ME610Zから配信する市場方法を常に最新のものと仮定するならば、代表取引サーバ800Aおよび取引サーバ700では、ME610Aが算出するリモートサーバME610Zからの片方向通信遅延時間(T1−1b〜T1−2)とME610ZからME610Aに向けた市場情報配信間隔6560の合計時間以内に、それぞれ配下の取引サーバ700およびユーザ端末501が発信するレスポンス信号を集約し、リモートデータセンタ800Z内の代表取引サーバ800Zへ入力する必要がある。すなわち、取引サーバ700とユーザ端末501との往復遅延時間と、ME610AからME610Zヘ通知するアクションの到達時間(T1−0〜T1−1aまたはT2−0〜T2−1a)の合計は、リモートサーバME610Zからの片方向通信遅延時間(T1−1b〜T1−2)とME610ZからME610Aに向けた市場情報配信間隔6560の合計時間以内であるように設定する。実際には、これら他エリアからの入力を受けてリモート代表取引サーバ800Zでは然るべき処理を行なうため、6560よりも短時間で代表取引サーバ800Aから800Zへレスポンスを返すことが望ましい。
なお、いずれの代表取引サーバにおける処理も、ユーザ端末501の最近接装置であるNE110Aまたは、それを束ねた取引サーバ700からの信号発信時刻を優先度決定時の重要パラメータとして、受信側代表取引サーバにおける処理順位を決定する。
以下では図7〜図8で使用するフレーム構成例を説明する。
図10を参照して、取引サーバ700がユーザ端末501との通信時間を測定する際(図6;ステップ151)に用いる遅延測定フレームの信号の構成を説明する。本実施例では、ME630に遅延測定機能を備えるため、取引サーバ700が送信する遅延測定フレームの役割は、ME630に測定開始を伝えることである。
図10はイーサネット(登録商標)フレームをベースとした遅延測定フレームの構成である。図10の左側がフレームの先頭、右が後方である。フレームが通信装置に到着すると、左端のビットから順に処理される。遅延測定フレーム先頭には、通信装置のインタフェースにてフレームの到着を認識し取込むための同期パターン2000を付与する。同期パターン2000は、通常プリアンブル2100とデリミタ2200の2種類の信号パターンを含む。
イーサネットフレーム3000には、同一ドメイン内でのフレームの宛先を示す宛先アドレスDA3100、フレームの送信元アドレスSA3200、および送信中のフレーム情報(ビット)誤りを確認(あるいは更に訂正)するためのエラーチェックフィールド(CRC;Cyclic Redundancy CheckまたはFEC;Forward Error Correction)3700を含む。更に、イーサネットフレームには論理的なイーサネットドメインの分割を可能にするVLAN(Virtual Local Area Network)タグを含むことができる。近年ではVLANを適用しない通信網あるいは企業網は殆ど存在しない。VLANタグは一つまたは複数連続してフレームに挿入できる。VLANタグ3400A〜3400Nは、このようなVLANタグの一般的な利用方法を示している。イーサネットタイプ(TYPE)フィールド3300は、イーサネットの基本構成であるDA3100、SA3200を除く残りのフレームスペースに載せられる信号の種別(プロトコル種別やVLANタグの有無)を判定するための識別子として用いられる。
図10では、先ずイーサネットフレームを用いた遅延測定信号の構成として、イーサネットのペイロード3500に遅延測定に関連する情報を載せる。図10では、ペイロード3500の一部に遅延測定情報3600を挿入する。遅延測定情報3600は、遅延測定ヘッダ3610とデータ3620とに分割できる。遅延測定ヘッダ3610には、当該ヘッダ3610の長さ(すなわちデータペイロード3620の開始位置)を示すヘッダ長フィールド3611、測定開始時刻を挿入するタイムスタンプA3612、レスポンス信号S103にて、往路通信時間を挿入するタイムスタンプB3613、遅延測定の対象とする経路を示す経路識別子3614、測定対象のユーザ端末501(またはNE110A)を識別するためのユーザ識別子3615を含む。
図6〜図8のシーケンスに関する説明で述べたように、経路識別子3614を利用する方法と利用しない方法のいずれも適用可能である。後者の場合には、経路識別子3614を省略したフレーム構成としても良い。またユーザ識別子については、全ユーザ端末(全NE110A)を対象とする場合、複数のユーザ端末(NE110A)を対象とする場合、また特定のユーザ端末(NE110A)を対象とする場合とで、それぞれ異なる識別子を用いる。
図6では、ME630に遅延測定開始および終了を判定する機能を備える。そのため、タイムスタンプA3612の値はME630からの当該フレーム送出時に挿入する。タイムスタンプB3613は、NE110Aが当該フレームの到着時刻をモニタし、タイムスタンプAの値と比較した後、往路(ME630→NE110A)の通信所要時間を算出してタイムスタンプB3613に記載し、フレームをレスポンス信号S103としてME630へ送信する。なお、信号識別子3616は、遅延測定信号(往路)か、レスポンス信号(復路)かを識別するために用いる。また取引サーバ700からME630への測定開始指示か、ME630から取引サーバ700への測定結果通知かを識別するためにも利用する。
遅延測定開始をME630に指示するための別の実施例(フレーム構成方法)として、取引サーバ700からME630には図10に示すフィールドのうち必要な情報のみを送信し、ME630にて図10に示すフレームを再構成する手段をとることもできる。いずれも効果は同等である。取引サーバ700からME630への通知に必要な情報には、経路識別子3614、ユーザ識別子3615、信号識別子3616を含む。これらの情報を送信する際には、ヘッダ長3611を付与する必要がある。
図10のフレームを構成する装置は取引サーバ700であってもME630であっても構わないが、この構成に従う遅延測定フレームであることを示すためのフレーム識別子が必要である。イーサネットフレームをベースとする図10の構成例では、このフレーム識別には、遅延測定フレームの直前に挿入するVLANタグ3400Nを用いる。
図10の遅延測定信号は、代表取引サーバ800A、800Z間の遅延測定を行なう図8のシーケンス(S552、S555)でも同様に利用可能な基本的な信号構成である。
図11を参照して、情報配信時の待機時刻または配信済情報に対するレスポンスの許容遅延時間を取引サーバ700またはNE110A宛てに通知する下り信号の構成を説明する。この信号構成は、図6の下り信号S352、S354に適用する。ペイロード3500内部に記載する通知情報3800以外の信号構成は図10と同様である。
通知情報3800は、ヘッダ部3810とペイロード部3820を含む。更に、ヘッダ部3810の情報量を示すヘッダ長3811を含む。ヘッダ部3810には、下り信号送信時に、取引サーバ700あるいはNE110Aに対して当該情報配信時刻を通知するためのタイムスタンプ3812、当該配信時刻指定の対象となるサービス(データ/コンテンツ)種別を識別するサービス識別子3813、下りフレームが通過する経路を識別する経路識別子3814、更に下り信号で配信するサービス(データ/コンテンツ)の配信有効期限を指定する有効期限3815を含む。有効期限3815を過ぎて取引サーバ700あるいはNE110Aに到着したフレームについては、その先のユーザ端末501宛て転送を行なわず、次の有効なデータ/コンテンツの配信を待つ。
本実施例では、図11の信号構成を、代表取引サーバ800または取引サーバ700からユーザ端末501へ配信済みの情報に対するユーザからのレスポンス信号受信の有効/無効判定にも適用する。すなわち、レスポンス信号の許容遅延時間を取引サーバ700またはNE110A宛てに通知する際にも適用する(S252、S254)。予め代表取引サーバ800A、800Z間で測定した通信遅延時間を参照し、図9で述べたように代表取引サーバ800と取引サーバ700との通信時間、取引サーバ700とユーザ端末501(NE110A)との通信時間、および代表取引サーバ800とユーザ端末501(NE110A)との通信時間を算出する。この計算結果、および取引サーバ700とユーザ端末501(NE110A)との通信時間測定結果に基づき、取引サーバ800から送信する開示情報が全ユーザ端末501へ同時刻に到着するように、各取引サーバ700および/あるいはNE110Aに対して当該開示情報の展開(転送)時刻を伝達する。有効期限フィールド3815には、当該情報の有効時間を示す。情報の有効期限を過ぎて取引サーバ700またはNE110Aに到着した情報(情報識別子を用いて識別可能である)は、その後ユーザ端末501へ向かって転送することなく、有効期限切れを確認した各装置にて廃棄する。
図12を参照して、図10の遅延測定信号および図11の有効期限通知信号をイーサネットフレームフォーマットで構成する信号フォーマットを説明する。図12において、信号フォーマットに含まれる信号情報は、図10および図11の信号フォーマットと同等である。そこで、ここでは特に図10および図11と図12との対応関係について説明する。
図12では図10および図11の信号構成に示した情報の一部をイーサネットフレームのVLANタグ3900を用いて表す。VLANタグ3900は、TPID 3910、Priority 3920、CFI 3930、VID 3940を含む。また、図12(a)のペイロード部分に挿入する情報4000は、ヘッダ長4100、タイムスタンプ4200、情報識別子4300、有効期限4400を含む。
VID 3940は、通信経路を識別するために利用できる。そこで本フォーマットでは、図11の経路識別子3814を、VID3940で代用する。なお、図11ではペイロード3820に、遅延測定においてヘッダ3810に含む情報以外に必要な情報があれば、それらを挿入できるスペースを用意しているが、本スペースは省略することも可能である。図12ではこのペイロード3820を含まない場合のフレーム構成例を示している。勿論、イーサネットフレームを利用する場合でも、ペイロード3820相当の拡張ヘッダスペースを確保することができる(これは、説明で明らかなため、改めて図示しない)。
図11(b)は、イーサネットフレームを用いて図10の信号構成を実現するための信号フォーマットである。タイムスタンプA4201、タイムスタンプB4202、情報識別子4301、ユーザ識別子4401の意味は図10と同様である。図10の経路識別子3614を、VID 3940を用いて示している。また、信号識別子3616は、VLANタグ3900内部のTPIDフィールド3910で代用する。
図13を参照して、図10の遅延測定信号および図11の有効期限通知信号をMPLSフレームフォーマットで構成する信号フォーマットを説明する。図13において、信号フォーマットに含まれる信号情報は、図10および図11の信号フォーマットと同等である。そこで、ここでは特に図10および図11と図13との対応関係について説明する。
図13では図10の信号構成に示した情報の一部をMPLSフレームのシムヘッダ6100A〜6100Nを用いて表す。シムヘッダ6100Nは、ラベル6110、サービスクラス6120、Sビット6130、Time To Live(TTL)6140を含む。本フォーマットのペイロード6200部分に挿入する情報は、図12と同様である。すなわち、ヘッダ6300をMPLSフレームのペイロード部分6200に挿入した状態を示す。ヘッダ6300には、タイムスタンプ、情報識別子、有効期限を含む。
シムヘッダ6100は、通信経路を識別するために利用できる。そこで本フォーマットでは、図11の経路識別子3814をラベル6110で代用する。なお、図11ではペイロード3820に、遅延測定においてヘッダ3810に含む情報以外に必要な情報があれば、それらを挿入できるスペースを用意しているが、本スペースは省略することも可能である。図13でも、図12と同様にこのペイロード3820を含まない場合のフレーム構成を示している。勿論、イーサネットフレームを利用する場合でも、ペイロード3820相当の拡張ヘッダスペースを確保することができる(本ケースは、説明で明らかなため、改めて図示しない)。
MPLSフレームを用いて図10の信号構成を実現するためのヘッダ6300の信号構成は、図12(b)と同様である。