説明

キャッシュサーバおよびこれを具備したサーバシステム

【課題】デバイスが送信するデータを一時的に保存し、保存したデータをデバイスの要求に応じて送信するキャッシュサーバは、通信の設定をコンフィギュレーションツールから取得する。このため、キャッシュサーバがコンフィギュレーションツールに依存するため、単体で動作することができなかった。本発明は、単体で動作することができるキャッシュサーバおよびこのキャッシュサーバを備えたシステムを提供することを目的とする。
【解決手段】キャッシュサーバがネットワークに接続されると存在要請メッセージを送信し、デバイスは存在応答メッセージを送信して自身のアドレスを通知する。キャッシュサーバは応答のあったデバイスにセッション情報要求メッセージを送信し、デバイスはこのメッセージの応じてセッション情報を送信する。また、デバイスは定期通知メッセージを定期的にキャッシュサーバに送信し、セッション情報の変更を通知する。キャッシュサーバはコンフィギュレーションツールに依存せず、単体で動作できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークに送信されたデータを一時的に保存するキャッシュサーバおよびこれを具備したサーバシステムに関し、特に制御システムに用いて好適なキャッシュサーバおよびこれを具備したサーバシステムに関するものである。
【背景技術】
【0002】
制御システムでは、制御ネットワーク上に設置されたバブリッシャ(publisher)とサブスクライバ(subscriber)間で定期的に制御通信が行われている。この制御通信では、マルチキャストを用いてパブリッシャからサブスクライバに制御データが送信される。この制御データはプラントなどを制御する上で非常に重要なので、数世代に渡ってキャッシュサーバに保存することが行われている。
【0003】
図17に、制御通信のデータを保存するシステムの構成およびその動作を示す。図17において、コンフィギュレーションツール10は制御通信の設定情報をパブリッシャ11、サブスクライバ12、キャッシュサーバ13に送信するツールである。なお、パブリッシャ11、サブスクライバ12は通常複数台存在するが、図17では各1台のみ記載している。
【0004】
図17において、(A)でコンフィギュレーションツール10は制御通信の設定情報をパブリッシャ11、サブスクライバ12に送信する。パブリッシャ11、サブスクライバ12はこの設定情報に基づいて、自身を設定する。また、コンフィギュレーションツール10はキャッシュサーバ13にも同じ設定情報を通知する。これによってキャッシュサーバ13はサブスクライバとして動作し、サブスクライバ12が受信する制御通信を受信することができる。
【0005】
(B)で、パブリッシャ11はマルチキャストで制御通信を送信する。この制御通信はサブスクライバ12とキャッシュサーバ13で受信される。キャッシュサーバ13は受信した制御通信のデータを保存する。
【0006】
(C)でもパブリッシャ11はマルチキャストでサブスクライバ12とキャッシュサーバ13に制御通信を送信する。キャッシュサーバ13はこの制御通信を受信してそのデータを保存するが、何らかの理由でサブスクライバ12は制御通信を受信できない。
【0007】
サブスクライバ12は定時の制御通信を受信できなかったので、(D)でキャッシュサーバ13に制御通信の有無を問い合わせる。キャッシュサーバ13は、問い合わせに対応する制御通信のデータをサブスクライバ12に送信する。このようにすることにより、何らかの原因でサブスクライバ12が制御通信を受信できなくても、送られてきた制御通信のデータを得ることができる。
【0008】
図18にキャッシュサーバの構成を示す。キャッシュサーバ20は受信インターフェイス部21、設定部22、設定情報格納部23、データ保存部24、データ格納部25、データ読み込み部26、送信インターフェイス部27で構成される。
【0009】
受信インターフェイス部21は、コンフィギュレーションツール10から送信された設定情報を受信すると、この設定情報を設定部22に出力する。設定部22は、入力した設定情報を設定情報格納部23に格納すると共に、この設定情報に基づいてキャッシュサーバ20の設定を行う。
【0010】
設定情報に基づいた設定が行われデータ保存部24が起動すると、キャッシュサーバ20は設定情報格納部23に格納された設定情報の範囲で、制御通信のマルチキャストグループに参加することができる。マルチキャストグループの参加に関しては、RFC(Request for Comments)で定められるMLD(Multicast Listener Discovery Protocol)やマルチキャスト経路制御機能、MLD Snooping Switch機能が正しく動作していることが前提になるが、本発明とは直接関係がないので、説明を省略する。
【0011】
制御通信を受信すると、受信インターフェイス部21は制御通信のデータをデータ保存部24に出力する。データ保存部24はこの制御通信のデータをデータ格納部25に保存する。
【0012】
制御通信を受信できなかったサブスクライバから送信されたデータ取得要求を受信すると、受信インターフェイス部21はこのデータ取得要求をデータ読み込み部26に出力する。データ読み込み部26は、データ取得要求に合致したセッションの制御通信のデータをデータ格納部25から読み込み、この読み込んだデータを送信インターフェイス部27に出力する。送信インターフェイス部27は、データ取得要求を送信したサブスクライバにこのデータを送信する。
【0013】
設定情報格納部23に保存される設定情報の一例を図19に示す。設定情報格納部23には、受信した設定情報に対応して、複数のエントリが格納される。各エントリはセッション識別子、送信元アドレス、送信先アドレス、送信先ポート番号、送信間隔その他の設定値で構成される。キャッシュサーバ20は、これらのエントリに合致した制御通信のデータを保存する。
【0014】
パブリッシャ11、サブスクライバ12の構成を図20に示す。なお、パブリッシャとサブスクライバをデバイスと総称する。図20において、30はデバイスであり、通信部31、固有機能ブロック部32、スケジュール管理部33で構成される。デバイス30は通信部31によって他のデバイスと通信する。
【0015】
通信部31は他のデバイスと通信を行い、制御データを交換する。固有機能ブロック部32は機能ブロックの固有情報を具備し、用途によってファジィ推論のようなAI(Artificial Intelligence)、PID、AO(Analog Out)等の機能を実現する。スケジュール管理部33はスケジュール情報を具備し、デバイスのスケジュール動作を管理する。
【0016】
通信部31がコンフィギュレーションツールから設定情報を受信すると、この設定情報に基づいて、固有機能ブロック部32、スケジュール管理部33の情報が更新される。これにより、デバイスはマルチキャストグループに参加し、制御データを送受信することができる。
【先行技術文献】
【特許文献】
【0017】
特開2002−32260号公報
【発明の概要】
【発明が解決しようとする課題】
【0018】
しかしながら、このようなキャッシュサーバはコンフィギュレーションツールから送られてくる設定情報を受信しないと動作を開始することができない。このため、キャッシュサーバ単体では動作できず、その動作はコンフィギュレーションツールに依存してしまうという課題があった。
【0019】
制御通信に用いられる送信マルチキャストアドレスが取り得る範囲の全てのマルチキャストグループに参加して、これらのグループ内のデバイスがマルチキャストで送信する全ての制御データを受信して保存するようにすると、コンフィギュレーションツールに依存せず単体で動作することはできる。
【0020】
しかし、実際に制御ネットワークで使用されていないマルチキャストグループに参加できるようにするためには、キャッシュサーバが接続するスイッチやルータに不用なマルチキャストフォワーディングテーブルを作成しなければならないので、スイッチやルータのリソースを必要以上に消費してしまうという課題もあった。
【0021】
本発明の目的は、キャッシュサーバ自身がデバイス間で通信されるマルチキャスト制御通信の情報を自動的に取得できるようにすることにより、不用なリソースを消費することなく単体で動作可能なキャッシュサーバを実現することにある。
【課題を解決するための手段】
【0022】
このような課題を達成するために、本発明のうち請求項1記載の発明は、
データを送信し、また送信されたデータを受信するデバイスと、このデバイスが送信したデータを一時的に保存し、データ取得要求があったときに保存されたデータを送信するキャッシュサーバが接続されたサーバシステムにおいて、
前記デバイスは、
キャッシュサーバの要請に応じてセッション情報を送信し、またセッション情報を具備した定期通知メッセージを定期的に送信し、
前記キャッシュサーバは、
接続されたときに存在要請メッセージを送信するかセッション情報を受信してエントリを作成し、定期通知メッセージを受信してこのエントリを更新すると共に、デバイスから送信されたデータを保存することを特徴とするものである。キャッシュサーバはコンフィギュレーションツールに依存せず、単体で動作できる。
【0023】
請求項2記載の発明は、請求項1記載の発明において、
前記デバイスは、存在要請メッセージを受信すると自身のアドレスを含んだ存在応答メッセージを送信し、また前記キャッシュサーバが送信したセッション情報要求メッセージを受信するとセッション情報を含んだセッション情報応答メッセージを送信し、
前記キャッシュサーバは、存在応答メッセージを受信すると、この存在応答メッセージに含まれるアドレスにセッション情報要求メッセージを出力し、送られてきたセッション情報に基づいてエントリを作成するようにしたものである。キャッシュサーバが自律的に情報を収集して動作できる。
【0024】
請求項3記載の発明は、請求項1若しくは請求項2記載の発明において、
前記エントリに、少なくとも送信元アドレス、送信先アドレス、送信先ポート番号が含めるようにした。エントリを参照することによって、送信先の宛先がわかる。
【0025】
請求項4記載の発明は、請求項1乃至請求項3いずれかに記載の発明において、
前記キャッシュサーバは、受信した保存すべきデータが含まれているメッセージを、メッセージごと保存するようにしたものである。保存および送信の処理が簡単になる。
【0026】
請求項5記載の発明は、請求項1乃至請求項3いずれかに記載の発明において、
前記キャッシュサーバは、受信した保存すべきデータが含まれているメッセージからデータを抜き出し、データのみ保存するようにしたものである。データ処理機のような、デバイス以外の機器の要求にも応じることができる。
【0027】
請求項6記載の発明は、請求項5記載の発明において、
前記キャッシュサーバは通信のプロトコルとメッセージ中のデータ位置の対応テーブルを保持し、この対応テーブルを参照してメッセージからデータを抜き出すようにしたものである。簡単にメッセージからデータを抜き出すことができる。
【0028】
請求項7記載の発明は、請求項6記載の発明において、
前記キャッシュサーバは、セッション情報を送信したデバイスに制御パケットフォーマット要求メッセージを送信し、この制御パケットフォーマット要求メッセージに応答して送られてくる制御パケットフォーマット応答メッセージに基づいてデータの位置を取得し、
前記デバイスは、制御パケットフォーマット要求メッセージを受信したときに、プロトコル名とデータフォーマットおよびサイズのデータを含んだ制御パケットフォーマット応答メッセージを前記キャッシュサーバに送信するようにしたものである。プロトコルとデータ位置の対応テーブルを作成することができる。
【0029】
請求項8記載の発明は、
設定情報が格納される設定情報格納部と、
前記設定情報格納部に、受信した設定に関する情報を格納する設定部と、
受信したデータを格納する受信データ格納部と、
前記設定部によって起動され、受信したデータを前記受信データ格納部に保存するデータ保存部と、
デバイスと通信を行い、設定情報を取得してこの取得した設定情報を前記設定情報格納部に格納する設定情報自動取得部と、
データ送信要求があったときに、前記受信データ格納部に格納されたデータを読み出し、要求元に送信するデータ読み込み部と、
を具備したものである。コンフィギュレーションツールに依存せず、単体で動作できる。
【0030】
請求項9記載の発明は、請求項8記載の発明において、
プロトコルとメッセージ中のデータ位置の対応テーブルが格納されたデータ位置格納部を具備し、
前記設定情報自動取得部はデバイスにパケットフォーマットを要求してこのパケットフォーマットを用いてプロトコルとデータ位置の対応テーブルを作成して前記データ位置格納部に格納し、
前記データ保存部は、前記データ位置格納部に格納されたプロトコルとデータ位置の対応テーブルを参照して受信したメッセージからデータを取り出し、前記受信データ格納部に格納するようにしたものである。データ処理機のような、デバイス以外の機器の要求にも応じることができる。
【発明の効果】
【0031】
本発明によれば以下のような効果がある。
請求項1、2、3、4、5、6、7、8、9の発明によれば、キャッシュサーバの要請に応じてセッション情報を送信し、またセッション情報が含まれた定期通知メッセージを定期的に送信するデバイスと、デバイスが送信したセッション情報を受信してエントリを作成し、また定期通知メッセージを受信してエントリを更新すると共に、デバイスが送信したデータを一時的に保存するキャッシュサーバを具備した。
【0032】
キャッシュサーバ自体がデバイスの情報を収集するので、コンフィギュレーションツールに依存することなく、単体で動作が可能であるという効果がある。
【0033】
また、キャッシュサーバが自律的にデータ収集に必要なマルチキャストグループに参加することができるので、効率的にデータを収集、保存することができるという効果もある。また、不要なマルチキャストグループに参加しなくてもよいので、スイッチやルータのリソースを必要以上に消費することがなくなるという効果がある。
【0034】
また、自律的にセッション情報を収集してデータを取得するので、キャッシュサーバの設定が不要になり、コンフィギュレーションツールを操作する作業員の負担が軽減されるという効果もある。また接続されると自動的にデータ収集を開始するプラグアンドプレイが可能になるという効果もある。
【0035】
また、デバイスが送信する定期通知メッセージを受信して設定の変更を行うので、ネットワークの構成が変更された場合でも、柔軟に対応することができるという効果もある。
【0036】
さらに、メッセージからデータを抜き出してデータのみ保存するようにすることにより、通信のプロトコルに依存しないデータの保存が可能になるという効果もある。
【図面の簡単な説明】
【0037】
【図1】本発明に係るキャッシュサーバの構成図である。
【図2】本発明に係るデバイスの構成図である。
【図3】メッセージ授受の手順を示した図である。
【図4】本発明の一実施例を示すフローチャートである。
【図5】エントリの構成図である。
【図6】存在要請メッセージの構成図である。
【図7】存在応答メッセージの構成図である。
【図8】定期通知メッセージの構成図である。
【図9】定期通知メッセージの構成図である。
【図10】セッション情報要求メッセージの構成図である。
【図11】セッション情報応答メッセージの構成図である。
【図12】セッション情報応答メッセージの構成図である。
【図13】本発明による他のキャッシュサーバの構成図である。
【図14】制御パケットフォーマット要求メッセージの構成図である。
【図15】制御パケットフォーマット応答メッセージの構成図である。
【図16】エントリの構成図である。
【図17】従来のキャッシュサーバを有するシステムのメッセージ授受の手順を示した図である。
【図18】従来のキャッシュサーバの構成図である。
【図19】エントリの構成図である。
【図20】従来のデバイスの構成図である。
【発明を実施するための形態】
【0038】
以下本発明を、図面を用いて詳細に説明する。図1は本発明に係るキャッシュサーバの一実施例を示した構成図である。なお、図18と同じ要素には同一符号を付し、説明を省略する。
【0039】
このキャッシュサーバは、キャッシュサーバ自身がデバイス間のセッション情報を取得し、この取得したセッション情報を用いて制御通信で使用されているマルチキャストグループに参加してデータを保存することが可能なものである。これによって、コンフィギュレーションツールに依存せず、単体動作が可能になる。また、ネットワークの構成が変更されても柔軟に対応でき、操作作業員の負担を軽減することもできる。
【0040】
セッション情報は通信を行うために必要な情報であり、送信元アドレス、送信先アドレス、送信先ポート番号などの情報が含まれる。
【0041】
図1において、40はキャッシュサーバであり、受信インターフェイス部21、設定部22、設定情報格納部23、データ保存部42、メッセージ格納部43、データ読み込み部26、送信インターフェイス部27、および設定情報自動取得部41で構成される。メッセージ格納部43は受信データ格納部に相当する。
【0042】
受信インターフェイス部21が受信した設定情報は設定部22に入力される。設定部22は入力された設定情報を設定情報格納部23に格納すると共に、この設定情報に基づいて設定を行い、データ保存部42を起動する。
【0043】
受信インターフェイス部21を介して受信された制御通信のメッセージは、データ保存部42に出力される。データ保存部42は、入力されたメッセージをメッセージ格納部43に保存する。
【0044】
受信インターフェイス部21を介して受信されたデータ取得要求は、データ読み込み部26に入力される。データ読み込み部26はデータ取得要求に合致したセッションのメッセージをメッセージ格納部43から読み込み、送信インターフェイス部27を介してこの読み込んだメッセージを、データ取得要求を送信したデバイスに送信する。
【0045】
設定情報自動取得部41は、受信インターフェイス部21が受信したセッション自動取得のメッセージを用いて保存対象になる制御通信のエントリを作成し、このエントリを設定情報格納部23に登録する。
【0046】
図2に、キャッシュサーバ40と同じネットワークに接続される、パブリッシャとサブスクライバであるデバイスの構成を示す。
【0047】
図2において、50はデバイスであり、セッション自動取得部51、スケジュール管理部55、固有機能ブロック部56、通信部57で構成される。セッション自動取得部51は、メッセージ処理部52、セッション情報格納部53、セッション情報取得部54で構成される。
【0048】
セッション自動取得部51は、キャッシュサーバが送信するセッション情報要求に応答し、またセッション情報を定期的に外部に通知する機能を有している。
【0049】
メッセージ処理部52はキャッシュサーバから送信されたメッセージを解析し、応答先アドレスをセッション情報格納部53に格納する。また、セッション情報格納部53から応答先アドレスを含む応答に必要な情報を取得し、デバイスに送信するメッセージを作成する。定期通知メッセージのようなセッション情報を設定する必要があるメッセージを作成するときは、セッション情報取得部54にその旨を通知して必要な情報を取得し、メッセージを作成する。
【0050】
セッション情報格納部53には、キャッシュサーバと通信するための応答先アドレスと要求用マルチキャストアドレス、要求用ポート番号、通知用マルチキャストアドレス、通知用ポート番号、応答用ポート番号等の情報が格納される。
【0051】
セッション情報取得部54は、メッセージ処理部52から要求があったときに、スケジュール管理部55からセッション情報を取得する。例えば、FF−HSE(Foundation fieldbus-High Speed Ethernet)ではスケジュール管理部55からSessionEndpointEntryの情報を取得し、この取得した情報から送信元アドレス、送信先アドレス、送信先ポート番号を取得してメッセージ処理部52にこれらの情報を渡す。
【0052】
次に、図3を用いてコンフィギュレーションツール、パブリッシャ、サブスクライバ、キャッシュサーバ間の通信について説明する。図3において、60〜63はそれぞれコンフィギュレーションツール、パブリッシャ、サブスクライバ、キャッシュサーバである。
パブリッシャ61、サブスクライバ62はデバイス50と同様の構成を有し、キャッシュサーバ63はキャッシュサーバ40と同じ構成を有している。通常パブリッシャ61、サブスクライバ62は複数第存在するが、この図では各1台としている。
【0053】
先ず、(A)で制御通信の設定をデバイスに反映させるために、コンフィギュレーションツール60はパブリッシャ61、サブスクライバ62に設定情報を送信する。パブリッシャ61、サブスクライバ62はこの設定情報に基づいて自身を設定する。
【0054】
次に、キャッシュサーバ63がネットワークに接続される。(B)に示すように、キャッシュサーバ63はネットワークに接続されているデバイスの情報を取得するために、存在要請メッセージをマルチキャストでパブリッシャ61、サブスクライバ62に送信する。キャッシュサーバ63がネットワークに接続するタイミングはデバイスの設定が完了する前後いずれでもよいが、存在要請メッセージはキャッシュサーバ63がネットワークに接続された直後に送信する。
【0055】
存在要請メッセージを受信したデバイスは、(C)に示すように存在応答メッセージをキャッシュサーバ63に送信する。存在応答メッセージを受信したキャッシュサーバ63内の受信インターフェイス部21は、この存在応答メッセージを設定情報自動取得部41に出力する。
【0056】
設定情報自動取得部41は、入力された存在応答メッセージをトリガーとして、設定情報を取得する。存在応答メッセージにはメッセージを送信したデバイスのアドレスが格納されているので、このアドレスを用いて送信元のデバイスと通信を行うことにより、設定情報格納部23に設定情報のエントリを作成するための情報を収集する。(D)はデバイスと通信して設定情報を取得し、エントリを作成する工程を示している。この工程の詳細は後述する。
【0057】
コンフィギュレーションツール60によってデバイス(パブリッシャ61、サブスクライバ62)の制御通信の設定が変更されたときは、(E)に示すように、コンフィギュレーションツール60はデバイスに設定変更情報を通知する。設定変更情報を受信したデバイスは、この設定変更情報に基づいて、制御通信の設定を変更する。
【0058】
(F)に示すように、デバイスは一定間隔で定期通知メッセージをキャッシュサーバ63に送信している。制御通信の設定が変更されたときは、デバイスは定期通知メッセージにそのデバイスが現在参加しているセッションのセッション情報を格納して送信する。
【0059】
キャッシュサーバ63が受信した定期通知メッセージは、設定情報自動取得部41に入力される。前述したように、定期通知メッセージには参加しているセッションのセッション情報が含まれているので、このセッション情報を参照することにより、制御通信の設定が変更されたことを知ることができる。
【0060】
設定情報自動取得部41は入力された定期通知メッセージにセッション情報が格納されているかをチェックする。セッション情報が格納されていると設定情報格納部23に同じセッション情報があるかどうかを確認し、あればエントリのタイマを再起動してメッセージを破棄し、設定情報が更新されていると設定情報格納部23に格納されている設定情報を更新してタイマを設定する。
【0061】
キャッシュサーバ63が制御通信を受信すると、この制御通信のメッセージをメッセージ格納部43に保存する。キャッシュサーバ40は、セッション毎に過去のメッセージを保存する。
【0062】
制御データ格納部43に保存するメッセージは、例えばデバイス毎に過去5メッセージのみを保存し、それより古いメッセージは順に上書きして消去する。どの程度過去のメッセージを残しておくかは、デバイスがどの程度過去のメッセージを要求するかを想定して決定する。より過去のメッセージを保存しておくとデバイスの要求により対応できるが、メッセージ格納部43の記憶領域をより多く取らなければならない。
【0063】
図4は、キャッシュサーバ63がデバイスと通信を行い、設定情報を取得する手順を示すフローチャートである。図4において、工程(P4−1)でキャッシュサーバ63は、存在応答メッセージを返信したデバイスに対して、セッション情報要求メッセージを送信する。
【0064】
工程(P4−2)で、デバイス内の通信部57はこのセッション情報要求メッセージを受信すると、このメッセージをメッセージ処理部52に出力する。工程(P4−3)でメッセージ処理部52はセッション情報要求メッセージから応答先のアドレスを抽出し、このアドレスをセッション情報格納部63に格納し、その後セッション情報取得部54にこのメッセージを転送する。
【0065】
工程(P4−4)で、セッション情報取得部54はスケジュール管理部55から送信元アドレス、送信先アドレス、送信先ポート番号を取得し、これらの情報をメッセージ処理部52に出力する。
【0066】
工程(P4−5)で、メッセージ処理部52はセッション情報取得部54から入力されたアドレスなどの情報と、セッション情報格納部53に格納された送信先アドレスを用いてセッション情報応答メッセージを作成し、通信部57に出力する。通信部57は、工程(P4−6)でこのセッション情報応答メッセージをキャッシュサーバ63に送信する。
【0067】
キャッシュサーバ63内の受信インターフェイス部21は、受信したセッション情報応答メッセージを設定情報自動取得部41に出力する。設定情報自動取得部41は、入力されたセッション情報応答メッセージから制御通信取得対象のエントリを作成し、設定情報格納部23に登録する。その際、エントリにタイマを設定する。このタイマはエントリの有効期間を定めるものであり、タイマが0になるとエントリは削除される。
【0068】
また、設定情報格納部23に登録する際に既登録のエントリをチェックし、同じ値を有するエントリが既に登録されているときは登録を行わず、既登録のエントリのタイマを再起動させる。
【0069】
設定情報自動取得部41は、受信したセッション情報応答メッセージから送信元アドレス、送信先アドレス(マルチキャストアドレス)、送信先ポート番号(UDPの送信先ポート番号)の情報を取得する。エントリを作成するためには、送信元アドレス、送信先アドレス、送信ポート番号は最低限必要なので、これらの情報は重要な要素になる。エントリの他の登録項目として、例えばマクロサイクル等がある。
【0070】
設定情報格納部23にエントリが登録されるとデータ保存部42が起動し、エントリの送信先マルチキャストアドレスグループに参加することができる。設定情報自動取得部41は保存対象になるエントリを作成すると、適宜設定情報格納部23に登録する。
【0071】
図5に、キャッシュサーバ63内の設定情報格納部23に登録されるエントリの構成例を示す。設定情報格納部23には複数のエントリが格納される。また、各エントリには、送信元アドレス、送信先アドレス、送信先ポート番号、有効期限を規定するタイマ等の情報が格納される。
【0072】
図6〜図12に、メッセージのフォーマットを示す。なお、通知用マルチキャストアドレス、要求用マルチキャストアドレス、応答用ポート番号、通知用ポート番号、要求用ポート番号は、デバイスに予め設定されている。また、ポート番号のANYは任意のポート番号を使用することを表している。
【0073】
メッセージにはIPヘッダ、UDPヘッダ、ペイロードに分かれている。IPヘッダには送信元/送信先のアドレス情報が格納され、UDPヘッダには使用するポートの情報が格納される。また、ペイロードにはメッセージのタイプやセッション情報等が格納される。
【0074】
図6は、キャッシュサーバがネットワークに接続されたときに、デバイスの存在を確認するために送信する存在要請メッセージのフォーマットである。このメッセージは要求用マルチキャストアドレスに送信される。また、送信先ポートは要求用ポート番号とする。ぺイロードに格納する応答先アドレスは返信する宛先であり、キャッシュサーバ自身とする。
【0075】
図7は存在要請メッセージを受信したときに、デバイスが返信する存在応答メッセージのフォーマットである。この存在応答メッセージは、パブリッシャが返信するものと、サブスクライバが返信するものがある。この存在応答メッセージの送信先は、存在要請メッセージの応答先アドレスフィールドに格納されたアドレスとする。また、デバイスアドレスは存在応答メッセージを送信したデバイスのアドレスが格納される。
【0076】
図8に、パブリッシャが一定間隔で定期的に送信する定期通知メッセージのフォーマットを示す。この定期通知メッセージのペイロードには、パブリッシャが通信しているセッション情報が格納される。セッション情報の送信元アドレスには、送信元であるパブリッシャのアドレスが、送信先アドレスにはサブスクライバのマルチキャストアドレスが格納される。また、送信先ポート番号には、セッションのポート番号が格納される。なお、サブスクライバが送信する定期通知も、同様の構成を有している。
【0077】
図9に、定期通知メッセージの他のフォーマットを示す。この定期通知メッセージはサブスクライバが送信するものであるが、セッション情報が格納されておらず、nullになっている。制御通信の設定が変更されないときは、セッション情報は送信されない。
【0078】
図10に、キャッシュサーバがセッション情報の自動取得を開始する際に、存在要請メッセージで応答のあったデバイスに送信するセッション情報要求メッセージのフォーマットを示す。ペイロードには応答を返すアドレスとしてキャッシュサーバ自身のアドレスが格納される。
【0079】
図11はセッション情報要求メッセージを受信したときに返信されるセッション情報応答メッセージのフォーマットであり、定期通知メッセージと同様のフォーマットを有している。セッション情報応答メッセージは、セッション情報要求メッセージの応答先アドレスフィールドに格納されたアドレスに送信される。ペイロードにはセッション情報が格納され、その送信元アドレスフィールドにはセッションの送信元アドレスが格納され、送信先アドレスフィールドにはセッションの送信先アドレスが、送信先ポート番号にはセッションの送信先アドレスが格納される。図12は同じセッション情報応答メッセージであるが、セッション情報は格納されておらず、nullになっている。
【0080】
キャッシュサーバ63は、受信したメッセージをそのままの形でメッセージ格納部43に保存し、要求があったときにメッセージ格納部43に格納されたメッセージをそのまま要求先に送信する。図3で説明したように、キャッシュサーバ63が保存したデータを送信する先はパブリッシャ61あるいはサブスクライバ62であり、送信するメッセージはもともとこれらのデバイス宛に送信したものなので、受信したメッセージをそのまま返信しても、これらのデバイスが処理できるためである。
【0081】
しかし、制御データを解析するデータ解析機のようなデバイス以外の機器に送信する場合は、受信したメッセージをそのまま送信しても、これらの機器はメッセージを処理することができない。
【0082】
デバイス以外の機器がメッセージを処理するためには、メッセージのフォーマットに関する情報を知る必要がある。そのためにデバイス以外の機器にメッセージフォーマットを持たせることが考えられるが、プロトコルに依存しないようにするという観点から望ましい方法ではない。
【0083】
以上の観点から、キャッシュサーバがメッセージから制御データを抜き出し、制御データのみ保存するようにすると、機器にプロトコル依存性を持たせないようにすることができる。
【0084】
図13に、このようなメッセージから制御データを抜き出し、保存することができるキャッシュサーバの構成を示す。なお、図1と同じ要素には同一符号を付し、説明を省略する。
【0085】
図13において、70はキャッシュサーバであり、受信インターフェイス部21、設定部22、設定情報自動取得部71、データ保存部72、データ位置格納部73、設定情報格納部74、制御データ格納部75、データ読み込み部76、送信インターフェイス部27で構成される。制御データ格納部75は、受信データ格納部に相当する。
【0086】
設定部22は入力された設定情報を設定情報格納部74に格納すると共に、この設定情報に基づいて設定を行い、データ保存部72を起動する。設定情報自動取得部71は、受信インターフェイス部21が受信したセッション自動取得のメッセージを用いて保存対象になる制御通信のエントリを作成し、このエントリを設定情報格納部74に登録する。
【0087】
設定情報格納部74に登録されているエントリにはプロトコル名が格納されており、データ位置格納部73には、プロトコルとデータ位置の対応テーブルが格納されている。
【0088】
設定情報自動取得部74は、デバイスからセッション情報を受信したときに、設定情報格納部に受信したセッションのエントリが登録されているかをチェックする。エントリが登録されていないときは、設定情報自動取得部71は制御パケットフォーマット要求メッセージを作成して、送信インターフェイス部27を介して、送信元デバイスにこのメッセージを送信する。
【0089】
デバイスは、この制御パケットフォーマット要求メッセージを受信すると、メッセージのセッション情報に格納されているセッションが対応しているプロトコル名とそのプロトコルのデータ部を構成するフィールドのサイズとデータタイプを設定し、制御パケットフォーマット応答メッセージを作成して、制御パケットフォーマット要求メッセージを送信したキャッシュサーバに送信する。
【0090】
キャッシュサーバ70はこの制御パケットフォーマット応答メッセージを受信し、このメッセージからプロトコル名と制御データ部の位置を求め、この対応テーブルをデータ位置格納部73に格納する。
【0091】
キャッシュサーバ70が制御通信のメッセージを受信すると、設定情報格納部74に格納されたエントリからプロトコル名を取得し、このプロトコル名を用いてデータ位置格納部73から制御データのデータ位置を取得して制御データを抜き出し、制御データ格納部75に格納する。
【0092】
キャッシュサーバ70がデータ取得メッセージを受信すると、データ読み込み部76は制御データ格納部75から要求された制御データを読み出し、送信インターフェイス部27を介して要求元に送信する。
【0093】
図14に、制御パケットフォーマット要求メッセージのフォーマットを示す。IPヘッダには送信元アドレスとしてキャッシュサーバのアドレスが、送信先アドレスとしてパケットフォーマットを要求するパブリッシャのアドレスが格納される。ペイロードのメッセージタイプは制御パケットフォーマットであり、またセッション情報が格納される。
【0094】
図15は制御パケットフォーマット応答メッセージのフォーマットである。ペイロードにはプロトコル名と制御データの全サイズ、および各制御データのデータタイプとサイズが格納される。この図では、全サイズは20バイトであり、String型とInteger型のデータがあることがわかる。
【0095】
図16は設定情報格納部74に格納されるエントリの構成を示した図である。各エントリには、送信元アドレス、送信先アドレス、送信先ポート番号、送信間隔、プロトコル名その他の情報が格納される。
【0096】
なお、これらの実施例は制御システムについて説明したが、他のシステムに適用することもできる。また、各メッセージには、図示した情報だけでなく、他の情報を格納するようにしてもよい。
【符号の説明】
【0097】
21 受信インターフェイス部
22 設定部
23、74 設定情報格納部
26、76 データ読み込み部
27 送信インターフェイス部
40、63、70 キャッシュサーバ
41、71 設定情報自動取得部
42、72 データ保存部
43 メッセージ格納部
50 デバイス
51 セッション自動取得部
52 メッセージ処理部
53 セッション情報格納部
54 セッション情報取得部
55 スケジュール管理部
56 固有機能ブロック部
57 通信部
60 コンフィギュレーションツール
61 パブリッシャ
62 サブスクライバ
73 データ位置格納部
75 制御データ格納部

【特許請求の範囲】
【請求項1】
データを送信し、また送信されたデータを受信するデバイスと、このデバイスが送信したデータを一時的に保存し、データ取得要求があったときに保存されたデータを送信するキャッシュサーバが接続されたサーバシステムにおいて、
前記デバイスは、
キャッシュサーバの要請に応じてセッション情報を送信し、またセッション情報を具備した定期通知メッセージを定期的に送信し、
前記キャッシュサーバは、
接続されたときに存在要請メッセージを送信するかセッション情報を受信してエントリを作成し、定期通知メッセージを受信してこのエントリを更新すると共に、デバイスから送信されたデータを保存することを特徴とするサーバシステム。
【請求項2】
前記デバイスは、存在要請メッセージを受信すると自身のアドレスを含んだ存在応答メッセージを送信し、また前記キャッシュサーバが送信したセッション情報要求メッセージを受信するとセッション情報を含んだセッション情報応答メッセージを送信し、
前記キャッシュサーバは、存在応答メッセージを受信すると、この存在応答メッセージに含まれるアドレスにセッション情報要求メッセージを出力し、送られてきたセッション情報に基づいてエントリを作成するようにしたことを特徴とする請求項1記載のサーバシステム。
【請求項3】
前記エントリには、少なくとも送信元アドレス、送信先アドレス、送信先ポート番号が含まれていることを特徴とする請求項1若しくは請求項2記載のサーバシステム。
【請求項4】
前記キャッシュサーバは、受信した保存すべきデータが含まれているメッセージを、メッセージごと保存するようにしたことを特徴とする請求項1乃至請求項3いずれかに記載のサーバシステム。
【請求項5】
前記キャッシュサーバは、受信した保存すべきデータが含まれているメッセージからデータを抜き出し、データのみ保存するようにしたことを特徴とする請求項1乃至請求項3いずれかに記載のサーバシステム。
【請求項6】
前記キャッシュサーバは通信のプロトコルとメッセージ中のデータ位置の対応テーブルを保持し、この対応テーブルを参照してメッセージからデータを抜き出すようにしたことを特徴とする請求項5記載のサーバシステム。
【請求項7】
前記キャッシュサーバは、セッション情報を送信したデバイスに制御パケットフォーマット要求メッセージを送信し、この制御パケットフォーマット要求メッセージに応答して送られてくる制御パケットフォーマット応答メッセージに基づいてデータの位置を取得し、
前記デバイスは、制御パケットフォーマット要求メッセージを受信したときに、プロトコル名とデータフォーマットおよびサイズのデータを含んだ制御パケットフォーマット応答メッセージを前記キャッシュサーバに送信するようにしたことを特徴とする請求項6記載のサーバシステム。
【請求項8】
設定情報が格納される設定情報格納部と、
前記設定情報格納部に、受信した設定に関する情報を格納する設定部と、
受信したデータを格納する受信データ格納部と、
前記設定部によって起動され、受信したデータを前記受信データ格納部に保存するデータ保存部と、
デバイスと通信を行い、設定情報を取得してこの取得した設定情報を前記設定情報格納部に格納する設定情報自動取得部と、
データ送信要求があったときに、前記受信データ格納部に格納されたデータを読み出し、要求元に送信するデータ読み込み部と、
を具備したことを特徴とするキャッシュサーバ。
【請求項9】
プロトコルとメッセージ中のデータ位置の対応テーブルが格納されたデータ位置格納部を具備し、
前記設定情報自動取得部はデバイスにパケットフォーマットを要求してこのパケットフォーマットを用いてプロトコルとデータ位置の対応テーブルを作成して前記データ位置格納部に格納し、
前記データ保存部は、前記データ位置格納部に格納されたプロトコルとデータ位置の対応テーブルを参照して受信したメッセージからデータを取り出し、前記受信データ格納部に格納するようにしたことを特徴とする請求項8記載のキャッシュサーバ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2010−245824(P2010−245824A)
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2009−92052(P2009−92052)
【出願日】平成21年4月6日(2009.4.6)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ETHERNET
【出願人】(000006507)横河電機株式会社 (4,443)
【Fターム(参考)】