説明

メッセージ変換実行装置、メッセージ変換実行方法およびプログラム

【課題】システムを止めることなく、変換処理のルールの追加や削除、変更を可能にする。
【解決手段】メッセージ変換実行装置(EMS100)は、メッセージ解析部10が受け取ったメッセージを振り分け制御部20に出力する。そして、振り分け制御部20は、内部状態を含む条件値を、プログラムデータベース31を管理するデータベース管理部32に出力する。次に、データベース管理部32のレコード検索部34が、プログラムデータベース31を検索し、条件値と新しい内部状態とメッセージに対応したアクションとを示す検索結果を、振り分け制御部20に出力する。振り分け制御部20は、内部状態を書き換えた上で、検索結果をアクション実行部40に出力する。そして、データベース管理部32のレコード更新部33が、この変換処理を止めることなく、プログラムデータベース31のレコードの追加、削除、変更の処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッセージ変換実行装置、メッセージ変換実行方法およびプログラムに関する。
【背景技術】
【0002】
通信事業者の大規模網にかかるコストを削減するため、網を構成する多様な装置群を管理するEMS(Element Management System)における内部機能の共通化が検討されている。図1(a)に示すように、このEMS100aは、上位OpS(Operation System)200と装置(例えば、ルータや伝送装置)300との間に設けられる。そして、EMS100aは、図1(b)に示すように、上位OpS200からの、SNMP(Simple Network Management Protocol)やCMIP(Common Management Information Protocol)といった共通プロトコルによるメッセージを、EMS100a内の管理用プロトコル処理部が受信し、プロトコル変換処理部が、装置300固有のコマンドやプロトコルに変換して、各装置300に固有の装置用コマンド・プロトコル処理部を介して、各装置300に送信する(非特許文献1参照)。各装置300からの応答メッセージ等もEMS100aを介して、プロトコル等の変換処理を行い、上位OpS200に送信される。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】“Principles for a telecommunications management network,”[online],2000/03,ITU-T Recommendation M.3010,[平成23年6月15日検索],インターネット<http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-M.3010-200002-I!!PDF-E&type=items>
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のEMS100aは、装置ベンダが装置毎に特化して実装しており、そもそも共通プロトコルの変更や装置固有のコマンドや操作の変更に対応していないものであった。つまり、図1において、共通プロトコルを変更しようとすると、EMS100a内の管理用プロトコル処理部やプロトコル変換処理部を新たな共通プロトコルを対応させるように変更する必要がある。また、装置固有のコマンドや操作を変更しようとすると、EMS100a内の装置用コマンド・プロトコル処理部やプロトコル変換処理部の変更が必要になる。
【0005】
プロトコル変換処理部内では、共通プロトコルと装置固有のコマンドや操作とを対応付ける変換処理を実現しているが、この変換処理を実現するルール(プログラム)は、EMS100aの制御部を実現するプログラムファイルの中に直接ハードコーディングされることが多い。よって、EMS100aのシステムを止めることなく、この変換処理のルールの追加や削除、変更ができないものであった。
【0006】
このような背景に鑑みて本発明がなされたのであり、本発明は、システムを止めることなく、変換処理のルールの追加や削除、変更を可能にする、メッセージ変換実行装置、メッセージ変換実行方法およびプログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
前記した課題を解決するため、本発明は、上位OpS(Operation System)と、ネットワークを構成する各装置との間に設けられ、前記上位OpSから所定のプロトコルを用いて前記装置に対して送信されたメッセージを、前記装置固有のメッセージに変換処理して前記装置に送信し、前記装置から前記上位OpSに対して送信されたメッセージを、前記上位OpSが用いる前記所定のプロトコルに変換処理して前記上位OpSに送信するメッセージ変換実行装置であって、前記上位OpSおよび前記装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、送信先となる前記上位OpSまたは前記装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるプログラムデータベースが記憶されている記憶部と、前記レコードの追加、削除、変更を含む更新処理を行うレコード更新部と、前記上位OpSまたは前記装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するメッセージ解析部と、前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記プログラムデータベースを検索する検索条件として設定し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を、アクション実行部に出力する振り分け制御部と、前記検索条件を用いて、前記プログラムデータベースを検索し、前記検索結果を、前記振り分け制御部に出力するレコード検索部と、前記検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記上位OpSまたは前記装置が実行可能なメッセージを生成し、当該送信先に送信する前記アクション実行部と、を備えることを特徴とするメッセージ変換実行装置とした。
【0008】
このようにすることで、メッセージ変換実行装置は、上位OpSや装置で用いられるプロトコルの変更や、装置固有のメッセージに変更等があった場合でも、プログラムデータベースのレコードを追加、削除、変更することにより、メッセージ変換実行装置全体の処理を止めることなくメッセージの変換処理を実現することができる。
【0009】
また、本発明は、外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置であって、前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベースが記憶されている記憶部と、前記レコードの追加、削除、変更を含む更新処理を行うレコード更新部と、送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するメッセージ解析部と、前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を、アクション実行部に出力する振り分け制御部と、前記検索条件を用いて、前記データベースを検索し、前記検索結果を、前記振り分け制御部に出力するレコード検索部と、前記検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信する前記アクション実行部と、を備えることを特徴とするメッセージ変換実行装置とした。
【0010】
このようにすることで、メッセージ変換実行装置は、送信先となる外部装置自身または他の外部装置に応じた所定形式の情報に、変更等があった場合でも、データベースのレコードを追加、削除、変更することにより、メッセージ変換実行装置全体の処理を止めることなくメッセージの変換処理を実現することができる。
【0011】
また、本発明は、外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置であって、前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベースが記憶されている記憶部と、前記レコードの追加、削除、変更を含む更新処理を行うレコード更新部と、送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するメッセージ解析部と、前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定する振り分け制御部と、前記検索条件を用いて、前記データベースを検索し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す1つ以上の検索結果を、マシン複製処理部に出力するレコード検索部と、前記1つ以上の検索結果を取得し、前記取得した検索結果が2つ以上であった場合に、前記取得した検索結果の数から1を引いた数だけ、前記振り分け制御部およびアクション実行部を複製し、前記振り分け制御部および前記複製された振り分け制御部に、前記検索結果それぞれを出力する前記マシン複製処理部と、を備え、前記振り分け制御部が、前記検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果をアクション実行部に出力し、前記アクション実行部が、当該検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信し、前記複製された振り分け制御部が、前記検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を前記複製されたアクション実行部に出力し、前記複製されたアクション実行部が、当該検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信すること、を特徴とするメッセージ変換実行装置とした。
【0012】
このようにすることで、メッセージ変換実行装置は、データベースから複数の検索結果が得られる場合であっても、送信先となる外部装置自身または他の外部装置に応じた所定形式の情報に変更等があったときに、データベースのレコードを追加、削除、変更することにより、メッセージ変換実行装置全体の処理を止めることなくメッセージの変換処理を実現することができる。
【0013】
また、本発明は、外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置であって、前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードから構成される変換処理のルールが入力されるデータベースが格納されている記憶部と、前記変換処理のルールを、前記メッセージ変換実行装置の管理装置から取得し、前記データベースに取り込むレコード更新部と、送信元となる前記外部装置から前記メッセージを受信し、前記取り込んだ変換処理のルールに対応させて、前記メッセージの内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するメッセージ解析部と、前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を、アクション実行部に出力する振り分け制御部と、前記変換処理のルールを取り込んだ前記データベースを検索して、前記検索結果を取得し、前記振り分け制御部に出力するレコード検索部と、前記検索結果に含まれる前記変換処理後の情報を取得し、前記取り込んだ変換処理のルールに対応させて、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信する前記アクション実行部と、を備えることを特徴とするメッセージ変換実行装置とした。
【0014】
このようにすることで、メッセージ変換実行装置は、送信先となる外部装置または他の外部装置に応じた所定形式の情報に、変更等があった場合でも、データベースのレコードを追加、削除、変更することにより、メッセージ変換実行装置全体の処理を止めることなくメッセージの変換処理を実現することができる。また、メッセージ変換処理装置は、所望の変換処理のルールをデータベースに取り込み、その変換処理のルールに対応させたメッセージ解析部とアクション実行部とを備えることにより、送受信するメッセージのプロトコルやコマンドの形式、バージョンの相違等に応じた変換処理のルールを取得することができ、メッセージ交換の汎用性を高めることができる。
【0015】
また、本発明は、外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置であって、(1)前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベース、および(2)前記レコードの更新処理が必要か否かを判定するための所定の判定情報と、前記判定の結果、前記更新処理が必要と判定された場合の更新対象となる前記レコードの更新情報とが格納される更新データベース、が記憶されている記憶部と、前記レコードの追加、削除、変更を含む更新処理を行うレコード更新部と、送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するメッセージ解析部と、前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を、アクション実行部に出力する振り分け制御部と、前記検索条件を用いて、前記データベースを検索し、前記検索結果を、前記振り分け制御部に出力するレコード検索部と、前記検索結果を取得し、前記検索結果に含まれる前記変換処理後の情報を用いて、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信する前記アクション実行部と、を備え、前記アクション実行部が、前記外部装置または前記他の外部装置から所定のメッセージを取得した場合に、前記判定情報を用いて、前記データベースの前記レコードの追加、削除、変更を含む更新処理が必要か否かを判定し、前記更新処理が必要と判定したとき、前記更新データベースから前記更新対象となるレコードの更新情報を取得して、前記レコード更新部に送信し、前記レコード更新部が、前記更新情報を用いて、前記データベースの前記更新対象となるレコードの前記更新処理を実行すること、を特徴とするメッセージ変換実行装置とした。
【0016】
このようにすることで、メッセージ変換実行装置は、外部装置または他の外部装置から所定のメッセージを取得し、レコードの更新処理が必要と判定した場合に、更新データベースの更新情報を用いて、レコードの更新処理を実行することができる。つまり、外部からの処理の変更要請等を示す所定の情報に基づき、データベースに記憶されたレコードを自己改変することができる。
【発明の効果】
【0017】
本発明によれば、システムを止めることなく、変換処理のルールの追加や削除、変更を可能にする、メッセージ変換実行装置、メッセージ変換実行方法およびプログラムを提供することができる。
【図面の簡単な説明】
【0018】
【図1】従来技術におけるEMSを含むシステムの構成と、EMSの機能とを説明するための図である。
【図2】比較例である条件分岐文による変換処理を説明するための図である。
【図3】TFTP(Trivial File Transfer Protocol)のプロトコルシーケンスを示す図である。
【図4】TFTPサーバの状態遷移表を示す図である。
【図5】図4を、C言語における関数のポインタの二次元配列として示す図である。
【図6】比較例である二次元配列による変換処理を説明するための図である。
【図7】チューリングマシンの処理を説明するための図である。
【図8】本実施形態に係るメッセージ変換実行装置の概要を説明するための図である。
【図9】本実施形態に係るメッセージ変換実行装置(EMS)の構成例を説明するための図である。
【図10】非決定性チューリングマシンの処理を説明するための図である。
【図11】決定性チューリングマシンと非決定性チューリングマシンとにおける、全体の処理の流れの違いを説明するための図である。
【図12】非決定性チューリングマシンの計算モデルを適用した、本実施形態の第1の変形例に係るメッセージ変換実行装置を説明するための図である。
【図13】万能チューリングマシンの計算モデルを適用した、本実施形態の第2の変形例に係るメッセージ変換実行装置を説明するための図である。
【図14】本実施形態の第3の変形例に係る自己改変型のメッセージ変換実行装置を説明するための図である。
【発明を実施するための形態】
【0019】
次に、本発明を実施するための形態(以下、「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
【0020】
(比較例)
まず、比較例として、EMS100aが上位OpS200との間の共通のプロトコルを装置300固有のコマンドや操作に対応させる「変換処理」を実現する方法について、2つの例を説明する。
【0021】
<比較例1:条件分岐文>
図2は、比較例である条件分岐文を用いて変換処理を実現する例を説明するための図である。
【0022】
EMS100aにおいて、共通のプロトコルを装置固有のコマンドや操作に対応させる「変換処理」を実現するために、条件分岐文を用いる方法が広く知られている(例えば、非特許文献2:結城 浩、「Java言語で学ぶデザインパターン入門」、ソフトバンク クリエイティブ株式会社、2004年6月30日、p.285-305)。
【0023】
この条件分岐文を用いる方法では、図2に示すように、変換前の入力(ここでは、SNMPやCMIP等の共通プロトコル)を「条件値」に対応させ、変換後の出力処理(ここでは、装置固有のコマンドや操作)を「アクション」に対応させて処理する。つまり、共通プロトコルを用いたあるメッセージをEMS100aが受信すると、その共通プロトコルの内容を解析して、その内容(条件値)にあった、アクション(装置固有のコマンドや操作)を実行する。
【0024】
この条件分岐文を用いる方法では、通常「条件値」と「アクション」の対(以下「ルール」とよぶ)が、制御部を実現するプログラムファイル本体の中に直接ハードコーディングされる。よって、EMS100aのシステムを止めることなくルールの追加や、削除、変更を行うことはできない。
【0025】
<比較例2:状態遷移をテーブル形式で表す方法>
「変換処理」を実現する方法として、上記のように、条件分岐文を用いる方法以外に、TFTP(Trivial File Transfer Protocol)サーバの状態遷移を有限状態機械としてテーブルで表す方法がある(例えば、非特許文献3:W.リチャード・スティーヴンス、「UNIXネットワークプログラミング」、トッパン、1992、p.551-620)。
【0026】
非特許文献3では、TFTPのプロトコルマシンを例示しており、そこで示されたプロトコルシーケンスを例として説明する。
【0027】
図3は、TFTPのプロトコルシーケンスを示す図である。図3(a)は、クライアントがサーバからファイルを受信する場合を示し、図3(b)は、クライアントからサーバへファイルを送信する場合を示している。
【0028】
この図3(a)および図3(b)を基に、サーバの状態遷移表を作成すると図4のようになる。
図4は、例えば、受信前に送ったパケット(「行」)が「DATA」であり、受信したパケット(「列」)が「ACK」である場合に、次の状態に遷移することを示す(符号[3]、および図3(a)参照)。また、受信前に送ったパケット(「行」)が「ACK」であり、受信したパケット(「列」)が「DATA」である場合に、次の状態に遷移することを示している(符号[4]、および図3(b)参照)。ここで、図4において、符号[1]〜[4]は、「行」および「列」の条件を満たした場合に、何らかのパケットを送信して次の状態に遷移することを示している。
【0029】
この図4を、C言語の関数のポインタの二次元配列で表すと図5のようになる(なお、図4の符号[1]〜[4]に相当する部分を、図5では下線を引いている)。
状態遷移をテーブル形式で表す方法では、図5に示すように、図4の状態遷移表を二次元配列で表現し、配列のインデックスを「条件値」とみなし、その配列の値(関数のポインタ)によって呼び出される関数を「アクション」とみなして、「変換処理」を実現する。
【0030】
この状態遷移をテーブル形式で表す方法の場合、通常「条件値」と「アクション」の対(「ルール」)が、二次元配列として制御部からのみアクセスされる(図6参照)。しかし、この二次元配列は、通常ランタイム・メモリ上に展開されているため、EMS100aのシステムを止めることなくルールの追加や、削除、変更を行うことはできない。また、設定ファイル等から、直接二次元配列を読み出す方法では、排他制御の観点からルールの追加や、削除、変更を行うことは難しい。
【0031】
以上説明したように、比較例における、共通のプロトコルと装置固有のコマンドや操作との「変換処理」の実現方法では、「条件値」(例えば、共通プロトコル)に対応した「アクション」(装置固有のコマンドや操作)を、システムを止めることなく、追加、削除、変更等を行うことができないものであった。
【0032】
(本実施形態)
次に、本実施形態に係るメッセージ変換実行装置について、EMS100を例として具体的に説明する。
【0033】
(フレームワーク)
まず、本実施形態に係るメッセージ変換実行装置(EMS100)の構成について説明する前に、本発明を基礎付ける重要な技術として、チューリングマシン(Turing machine)を説明する。チューリングマシンは、現在の計算機の基本となる抽象的な計算モデルである。以下に説明するチューリングマシンの計算モデルにおける状態関数の概念を持ち込み、追加修正を加えることで、メッセージ変換実行装置(EMS100)において、共通のプロトコルを装置固有のコマンドや操作に対応させるという「変換処理」を、システムを止めることなく実行できるようする。
なお、チューリングマシンについては、次の文献(非特許文献4:M.Davis, "Computability and Unsolvability," Dover, New York, 1985、非特許文献5:細井 勉、「計算の基礎理論」、教育出版、1975、 非特許文献6:岩田 茂、「NP完全問題入門」、共立出版、1995)に詳しい。
【0034】
<チューリングマシン>
チューリングマシンは、図7に示すように、左右両方に無限に伸びているテープ1と、TM(Turing machine)制御部2とからなる。テープはます目に分けられており、各ます目には1つだけ記号(S:「テープ記号」とよぶ)を書くことができる。
【0035】
TM制御部2には、テープ1のます目の記号(S:「テープ記号」)を読み取ったり書き換えたりするためのヘッド3が付いているものとし、このヘッド3は、一時点では1つのます目を眺める(読み取る)ことができ、かつヘッド3が動くことにより、テープ1の眺めているます目の位置を1つだけ左か右に移動させることができる。
【0036】
このチューリングマシンは、以下の条件を満たす対(K,Σ,δ,q,q)により定義される。
【0037】
(1)Kは空でない有限集合(Kの要素を内部状態とよぶ)。
(2)Σは空でない有限集合(Σの要素をテープ記号とよぶ)。
(3)δはK×ΣからΣ×K×{L,R,NOP}への部分関数(δを状態関数、集合{L,R,NOP}の要素をアクションとよぶ)。なお、NOPの場合は、ヘッド3を動かさない。ここで、δは、K×Σ×Σ×K×{L,R,NOP}の部分集合として表すことができる。
(4)q∈K(qを開始状態とよぶ)。
(5)q∈K(qを停止状態とよぶ)。
【0038】
図7は、例として、状態関数δが、δ(q,S)=(S,q,R)の場合を示している。図7に示すように、チューリングマシンは、TM制御部2に内部状態を持ち、その内部状態(「q」)と、ヘッド3が眺めている(読み取る)記号(テープ記号:「S」)とに応じて、以下の3つの行動を、1つのステップ(ステップS1)として実行する。
【0039】
(ステップS1−1)ヘッド3が眺めているます目に(新たに)ある記号(テープ記号:「S」)を書き込む(前と同じ記号でもよい)。
(ステップS1−2)TM制御部2の内部状態(「q」)を新しい内部状態(「q」)に書き換える(元の内部状態と同じでもよい)。
(ステップS1−3)ヘッド3を1ますだけ左(L)若しくは右(R)に動かす、または、NOPの場合は動かさない(アクションを実行する)。この例では右(R)に動かす。
【0040】
(概要)
次に、前記したチューリングマシンの計算モデルを発展させた本実施形態に係るメッセージ変換実行装置の概要について説明する。
図8は、本実施形態に係るメッセージ変換実行装置の概要を説明するための図である。
【0041】
図8に示すように、本実施形態に係るメッセージ変換実行装置は、外部装置(例えば、上位OpS200や各装置300)からのメッセージを受け取り、そのメッセージを構文解析するメッセージ解析部10と、チューリングマシンにおいて説明した内部状態を持つ振り分け制御部20と、新しい内部状態(不図示)と条件値に対応したプログラム(アクション)とが記憶されるデータベース30と、取得したアクションに基づき処理を実行するアクション実行部40とを含んで構成される。なお、ここでのメッセージは、一般的なコンピュータや機械、装置等に与える命令であるコマンドを含む概念である。
【0042】
このメッセージ変換実行装置の処理の流れは、まず、メッセージ解析部10が受け取ったメッセージを振り分け制御部20に出力する。そして、振り分け制御部20は、内部状態を含む条件値(図8では、条件値「1」)をデータベース30に出力する。そして、振り分け制御部20は、検索結果として、新しい内部状態(不図示)と1つのアクション(ここでは、アクション「1」)とを取得し、内部状態を書き換えた上で、アクション(アクション「1」)を含む検索結果をアクション実行部40に出力する。
【0043】
本実施形態に係るメッセージ変換実行装置の構成上の特徴は、以下の4点である。
【0044】
(特徴A)
図1(b)のEMS100aにおいて説明した変換処理に関連する機能を、本メッセージ変換実行装置においては、メッセージ解析部10、振り分け制御部20、データベース30、アクション実行部40の4つに分離する。特に、振り分け制御部20と、データベース30とを分離し、データベース30独自で、例えば、上位OpS200や各装置300のプロトコルや、コマンド・操作の変更に対応できるようにする。
【0045】
(特徴B)
データベース30には、外部装置との間のプロトコル等の違い、例えば、上位OpS200や装置300に対するプロトコルや操作コマンド等の違いによらない共通のテーブルが用いられる。このことにより、上位OpS200や各装置300へのコマンドや操作の変更に対応するために、このデータベース30に行うことは、レコードの追加や、削除、変更だけであり、データベース30自身、さらには、テーブル自体を変更する必要がない。
【0046】
(特徴C)
振り分け制御部20は、メッセージ解析部10、データベース30およびアクション実行部40との間の情報の受信および送信のみを行い、その間の送受信される情報(メッセージ等)の中身は解釈しない。つまり、メッセージ解析部10から受信したメッセージの内容は解釈せず、振り分け制御部20は、メッセージ解析部10により付された本メッセージ変換実行装置が送受信するメッセージの内容を示す固有のメッセージ識別子(後記する「メッセージ番号」)と、その時の内部状態とを、条件値として、データベース30に送信する。このとき、振り分け制御部20は、メッセージの内容(メッセージ番号の値)および内部状態の値を解釈せずに、データベース30に送信する。また、振り分け制御部20は、データベース30から受信した検索結果に基づき、内部状態を更新し、アクションを含む検索結果をアクション実行部40に送信する。このときも、振り分け制御部20は、更新する内部状態の値を解釈しない、また、アクションの中身の解釈も行わない。
【0047】
(特徴D)
データベース30は、後記するデータベース管理部32(図9参照)を備えており、このデータベース管理部32が、データベース30内のレコードの追加、削除、更新等を行う際に排他制御を実現することにより、データの一貫性を保持する。
【0048】
<チューリングマシンとの対応関係>
本実施形態に係るメッセージ変換実行装置と、前記において説明したチューリングマシンとの対応関係について説明する。
【0049】
まず、チューリングマシンにおける状態関数δをデータベース30の特定のスキーマのレコード全体とみなす。状態関数δの入力値(内部状態,テープ記号)を、SQL(Structured Query Language)のSELECT文の引数とみなす。つまり、状態関数の入力(図7において、ヘッド3が見ていたテープ記号とテープ記号を読み出したときのTM制御部2の内部状態)は、SELECT文の検索キー(検索条件)とみなすことができる。
【0050】
チューリングマシンにおけるテープ記号の書き換えやヘッドのアクションを、本メッセージ変換実行装置が管理する外部装置(例えば、上位OpS200や各装置300)に対して行う、プロトコルの変更や、各装置300のコマンドや操作の処理(アクション)に相当するとみなすことができる。
【0051】
チューリングマシンにおける状態関数δの出力に相当するSELECT文の検索結果は、「検索キー(検索条件)」と「振り分け制御部20の次の内部状態」と「外部装置(上位OpS200や各装置300)への様々な操作を行うプログラム(アクション)」からなるレコードとみなすことができる。つまり、データベース30の特定のスキーマは、「検索キー(検索条件)」と「振り分け制御部20の次の内部状態」と「外部装置(上位OpS200や各装置300)への様々な操作を行うプログラム」をテーブル属性に持つことを示す。
【0052】
チューリングマシンにおける状態関数δを定義することは、データベース30の特定のスキーマのレコードを追加することとみなすことができる。
【0053】
このような考え方に基づいて、外部装置(上位OpS200や装置300等)の種類によらず、「外部装置(上位OpS200や各装置300)への様々な操作を行うプログラム」を共通のデータベース30に格納する。そして、データベース30に対して、SQLのSELECT文のような共通の問い合わせ(クエリ)インタフェースでプログラムを、検索、追加、削除、変更できるようにする。このようにすることで、外部装置(上位OpS200や各装置300)へのプログラムの追加や変更が行われても、データベース30を操作するだけで済む。つまり、外部装置(上位OpS200や各装置300)へのプログラムの追加や変更に対して、本メッセージ変換実行装置を止めることなく柔軟に対応することができる。
【0054】
(本実施形態の構成)
次に、本実施形態に係るメッセージ変換実行装置の構成について説明する。本実施形態においては、メッセージ変換実行装置の具体例をEMS100として説明する。
【0055】
図9は、メッセージ変換実行装置(EMS100)の構成例を説明するための図である。このEMS100は、システム全体を管理する上位OpS200と、網を構成する装置300(例えば、ルータや伝送装置等)と接続される。そして、EMS100は、上位OpS200からの共通プロトコル等で生成されたメッセージを取得して、そのメッセージを個々の装置300に固有のコマンドや操作を示す情報(アクション)に変換処理し、その装置300に送信する。なお、装置300は、図9においては、1つの装置300しか記載していないが、ネットワークを構成する複数の装置300それぞれとEMS100とが接続されている。以下、EMS100の内部構成について具体的に説明する。
【0056】
<EMSの内部構成>
EMS100は、ネットワークを構成する各装置を管理するための装置であり、不図示の入出力部、制御部および記憶部を備えるコンピュータにより実現される。そして、EMS100は、制御部内に、図9に示すように、メッセージ解析部10と、振り分け制御部20と、データベース管理部32と、アクション実行部40とが備えられ、記憶部内には、プログラムデータベース31が備えられて構成される。なお、この制御部は、例えば、EMS100の記憶部に格納されたプログラムをCPU(Central Processing Unit)がRAM(Random Access Memory)等のメモリに展開し実行することで実現される。
【0057】
また、不図示の入出力部は、ネットワーク等を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力装置やモニタ等の出力装置等との間で入出力を行う入出力インタフェースとから構成され、上位OpS200や装置300それぞれとの間で情報の送受信を行う。
不図示の記憶部は、ハードディスクやフラッシュメモリ等の記憶手段からなり、プログラムデータベース31(詳細は後記)等が記憶されている。
以下、EMS100の各構成について、具体的に説明する。
【0058】
メッセージ解析部10は、上位OpS200や装置300から、入出力部(不図示)を介してメッセージを取得し、そのメッセージの内容を解析した上で、振り分け制御部20へ出力する。このメッセージ解析部10は、管理用プロトコル処理部11と、装置用プロトコル処理部12とを含んで構成される。
【0059】
管理用プロトコル処理部11は、上位OpS200からの、例えば、SNMPやCMIPといった共通プロトコルによるメッセージを受信し、そのメッセージの内容を解析する。そして、管理用プロトコル処理部11は、そのメッセージの内容に基づき、予め設定されたそのメッセージの内容に固有の番号であるメッセージ番号(メッセージ識別子:図9では「M」)を、振り分け制御部20に出力する。
【0060】
装置用プロトコル処理部12は、各装置300に固有に用いられる、例えば、SNMPやNETCONF等のプロトコルによるメッセージを受信し、そのメッセージ内容を解析する。そして、装置用プロトコル処理部12は、そのメッセージの内容に基づき、予め設定されたそのメッセージの内容に固有の番号であるメッセージ番号(メッセージ識別子:図9では「M」)を振り分け制御部20に出力する。
【0061】
振り分け制御部20は、その内部に「内部状態(図9では「Q」)」を備えており、自身が備える内部状態(「Q」)と、メッセージ解析部10から取得したメッセージ番号(例えば「M」)とを検索条件(検索キー:[Q,M])として、プログラムデータベース31を管理するデータベース管理部32へ出力する。
また、振り分け制御部20は、データベース管理部32が検索したレコードの検索結果を取得する。この検索結果には、検索条件(検索キー:[Q,M])に、その検索条件に基づき検索されたレコードの値である新たな内部状態(例えば「Q」)と、処理内容を示すコマンド/プロトコル処理プログラムであるアクション(例えばアクション「1」)とが付されている。そして、振り分け制御部20は、レコードの検索結果を取得すると、自身の内部状態(「Q」)を、受信した新たな内部状態(「Q」)に書き換え、アクション(アクション「1」)を含む検索結果をアクション実行部40に出力する。
【0062】
なお、この振り分け制御部20は、自身が送受信する情報の内容については、解釈せず処理を行う。つまり、振り分け制御部20は、自身の内部状態の値(「Q」「Q」等)を解釈せずに送信したり書き換えたりする。また、振り分け制御部20は、メッセージ番号(例えば「M」「M」)の内容や、アクション(アクション「1」)の内容を解釈せずに、情報の受け渡しだけの処理を行う。
【0063】
データベース管理部32は、プログラムデータベース31に記憶される情報を管理し、レコード更新部33とレコード検索部34とを備える。
【0064】
このプログラムデータベース31には、内部状態およびメッセージ番号が検索条件(検索キー)として設けられ、その検索条件(検索キー)に対応付けて、新たな内部状態とコマンド・プロトコル処理プログラムであるアクション(変換処理後の情報)とが1レコードとして記憶されている。
また、このコマンド・プロトコル処理プログラム(アクション)は、検索条件である内部状態およびメッセージ番号に対応付けられ、そのメッセージ番号におけるメッセージの内容が、送信先となる装置300や上位OpS200の、プロトコルや、装置300固有のコマンド、操作等に応じた所定の形式に変換された内容で記述される。
【0065】
レコード更新部33は、不図示の入出力部等からの情報により、プログラムデータベース31に格納された、上位OpS200のプロトコルや、装置300固有のコマンドや操作が記憶される、コマンド/プロトコル処理プログラム(「アクション」:変換処理後の情報)を含むレコードの追加や、削除、更新等を行う。
なお、このレコード更新部33による、プログラムデータベース31のレコードの追加や、削除、更新等は、振り分け制御部20の処理とは関係なく行なわれる。よって、このレコードの更新等の際に、EMS100全体を止める必要をなくすことができる。
【0066】
レコード検索部34は、振り分け制御部20から、内部状態(例えば「Q」)と、メッセージ解析部10から取得したメッセージ番号(例えば「M」)とが付された検索条件(検索キー:[Q,M])を、振り分け制御部20から取得する。そして、レコード検索部34は、その検索条件(検索キー:[Q,M])を用いて、プログラムデータベース31を検索し、その検索条件([Q,M])と、新たな内部状態(例えば、「Q」)と、処理内容を示すコマンド/プロトコル処理プログラムであるアクション(例えばアクション「1」)とを含む検索結果(例えば、[Q,M,Q2,アクション「1」])を振り分け制御部20に出力する。
【0067】
アクション実行部40は、振り分け制御部20から、アクション(例えば、「アクション「1」」)を含む検索結果を取得し、そのアクションに記載されたコマンド/プロトコル処理プログラムを実行させるためのメッセージを生成し、各装置300や上位OpS200へ送信する。このアクション実行部40は、装置用コマンド・プロトコル処理実行部41と上位OpS用コマンド・プロトコル処理実行部42とを含んで構成される。
【0068】
装置用コマンド・プロトコル処理実行部41は、取得したアクション(例えば、アクション「1」)に基づき、該当する装置のコマンドや操作の変更に対応した処理を実行するための各装置300に対応したメッセージを生成して、その装置300に、入出力部(不図示)を介して送信する。
【0069】
上位OpS用コマンド・プロトコル処理実行部42は、取得したアクション(例えば、アクション「2」)に基づき、上位OpS200のプロトコルに対応した処理を実行するためのメッセージを生成して、上位OpS200に、入出力部(不図示)を介して送信する。
【0070】
このような構成にすることにより、本実施形態に係るメッセージ変換実行装置(EMS100)では、上位OpS200や装置300で用いられるプロトコルの変更や、装置固有のコマンドや操作の変更があったとしても、プログラムデータベース31を書き換えることにより対応できるため、EMS100全体の処理を止めることをなくすことができる。
【0071】
<EMSの動作>
次に、図9を参照しながら、本実施形態に係るEMS100の処理の流れを説明する。
ここでは、上位OpS200から受信したメッセージを、EMS100が受信し、プログラムデータベース31を参照して、装置固有のコマンドや操作に変換した上で、装置300に送信する。そして、メッセージを受け取った装置300からの応答メッセージを、EMS100が受信し、プログラムデータベース31を参照して、上位OpS200が用いるプロトコルに変換した上で、上位OpS200へ送信する場合を例に説明する。
【0072】
まず、上位OpS200から、SNMP等の共通プロトコルによるメッセージを、EMS100のメッセージ解析部10(管理用プロトコル処理部11)が受信する(ステップS101)。
【0073】
メッセージを受信したメッセージ解析部10(管理用プロトコル処理部11)は、その受信したメッセージを解析し、メッセージの内容に固有のメッセージ番号(ここでは「M」)を生成し、振り分け制御部20に出力する(ステップS102)。
【0074】
次に、振り分け制御部20は、メッセージ解析部10からメッセージ番号を取得した時点における、自身の備える内部状態(ここでは、「Q」)と、その取得したメッセージ番号(「M」)とを、検索条件(検索キー:[Q,M])として、プログラムデータベース31を管理するデータベース管理部32に出力する(ステップS103)。
【0075】
続いて、データベース管理部32のレコード検索部34は、取得した検索条件(検索キー:[Q,M])を用いて、プログラムデータベース31を検索する。そして、レコード検索部34は、その検索条件と、新たな内部状態(ここでは、「Q」)と、メッセージ番号「M」の内容に対応した装置固有の処理内容を示すコマンド/プロトコル処理プログラムであるアクション(ここでは、アクション「1」)とを含む検索結果([Q,M,Q,アクション「1」])を生成し、振り分け制御部20に出力する(ステップS104)。
【0076】
そして、データベース管理部32から検索結果を取得した振り分け制御部20は、自身の内部状態(「Q」)を、受信した新たな内部状態(「Q」)に書き換え、アクション(アクション「1」)を含む検索結果を、アクション実行部40に出力する(ステップS105)。
【0077】
アクション(アクション「1」)を取得したアクション実行部40の装置用コマンド・プロトコル処理実行部41は、取得したアクション(アクション「1」)に基づき、該当する装置固有のコマンドや操作の変更等に対応した処理を実行させるためのメッセージを生成して、その装置300に送信する(ステップS106)。
【0078】
メッセージを受信した装置300は、その応答メッセージをEMS100に送信する(ステップS107)。
【0079】
そして、応答メッセージを受信したメッセージ解析部10(装置用プロトコル処理部12)は、その受信した応答メッセージを解析し、その応答メッセージの内容に固有のメッセージ番号(ここでは「M」)を生成し、振り分け制御部20に出力する(ステップS102と同様の処理)。
【0080】
次に、振り分け制御部20は、メッセージ解析部10からメッセージ番号(「M」)を取得した時点における、自身の備える内部状態(ここでは、ステップS105で書き換えられた「Q」)と、その取得したメッセージ番号(「M」)とを、検索条件(検索キー:[Q,M])として、プログラムデータベース31を管理するデータベース管理部32に出力する(ステップS103と同様の処理)。
【0081】
続いて、データベース管理部32のレコード検索部34は、取得した検索条件(検索キー:[Q,M])を用いて、プログラムデータベース31を検索する。そして、レコード検索部34は、その検索条件と、新たな内部状態(ここでは、「Q」)と、メッセージ番号「M」の内容に対応した上位OpS200の処理内容を示すコマンド/プロトコル処理プログラムであるアクション(ここでは、アクション「2」)とを含む検索結果([Q,M,Q,アクション「2」])を生成し、振り分け制御部20に出力する(ステップS104と同様の処理)。
【0082】
そして、データベース管理部32から検索結果を取得した振り分け制御部20は、自身の内部状態(「Q」)を、受信した新たな内部状態(「Q」)に書き換え、アクション(アクション「2」)を含む検索結果を、アクション実行部40に出力する(ステップS105と同様の処理)。
【0083】
アクション(アクション「2」)を取得したアクション実行部40の上位OpS用コマンド・プロトコル処理実行部42は、取得したアクション(アクション「2」)に基づき、該当する処理内容を示す共通プロトコルのメッセージを生成して、その上位OpS200に送信する(ステップS108)。
【0084】
このようにすることで、上位OpS200や装置300においてプロトコルの変更や装置固有のコマンドや操作の変更が行われた場合であっても、EMS100のレコード更新部33が、プログラムデータベース31に記憶されたレコードの追加や、削除、変更等を行うだけでよい。本EMS100は、変換処理のプログラムが、従来技術のように、ハードコーディングされておらず、かつ、EMS100全体の処理動作を制御する振り分け制御部20と、プログラムデータベース31を管理するデータベース管理部32とが独立して処理を行えるため、EMS100を止めることなく、変換処理のルールの追加や削除、変更が可能となる。
【0085】
(本実施形態の変形例)
次に、本実施形態に係るメッセージ変換実行装置の変形例について説明する。本実施形態に係るメッセージ変換実行装置は、前記において説明したように、チューリングマシンの計算モデルをその基礎としている。
【0086】
そして、チューリングマシンの計算モデルに基づき図7および図8を用いて説明した決定性チューリングマシン(後記で説明)以外に、本実施形態に係るメッセージ変換実行装置の変形例として、以下に示す、(1)非決定性チューリングマシンと、(2)万能チューリングマシンと、を基礎とするメッセージ変換実行装置、そして、(3)自己改変型のメッセージ変換実行装置について説明する。
【0087】
<第1の変形例:非決定性チューリングマシン>
図7および図8を参照して説明したチューリングマシンの場合、状態関数δは、K×ΣからΣ×K×{L,R,NOP}への部分関数であり、状態関数δの定義域が1つ決まれば、状態関数δの値が集合Σ×K×{L,R,NOP}の要素として1つ決まる。例えば、図8においては、条件値「1」に対して、アクション「1」の1つだけが検索結果として出力される。一般にこのようなチューリングマシンは「決定性チューリングマシン」とよばれる。
【0088】
これに対し、「決定性チューリングマシン」の定義の状態関数δをK×Σから、P(Σ×K×{L,R,NOP})(Σ×K×{L,R,NOP}の部分集合全体)への部分関数に変更した場合、状態関数δの定義域の要素が1つ決まっても、Σ×K×{L,R,NOP}の要素が一般に複数決まる。このような計算モデルは「非決定性チューリングマシン」とよばれる(前記した非特許文献6参照)。
【0089】
この非決定性チューリングマシンは、以下の条件を満たす対(K,Σ,δ,q,q)により定義される。
【0090】
(1)Kは空でない有限集合(Kの要素を内部状態とよぶ)。
(2)Σは空でない有限集合(Σの要素をテープ記号とよぶ)。
(3)δはK×ΣからP(Σ×K×{L,R,NOP})への部分関数(δを状態関数、集合{L,R,NOP}の要素をアクションとよぶ)。P(Σ×K×{L,R,NOP})は、Σ×K×{L,R,NOP}の部分集合全体を表す。
(4)q∈K(qを開始状態とよぶ)。
(5)q∈K(qを停止状態とよぶ)。
【0091】
図10は、非決定性チューリングマシンの例として、状態関数δが、
δ(q,S)={(S,q,R),(S,q,NOP)}
であり、2つの結果となる場合を示している。
【0092】
図10(a)に示すように、非決定性チューリングマシンは、TM制御部2内に内部状態を持ち、その内部状態(「q」)と、ヘッド3が眺めている(読み取る)記号(テープ記号:「S」)とに応じて、複数(ここでは2つ)の要素を得て実行する。
【0093】
図10(b)は、δ(q,S)の要素である(S,q,R)に対して、以下の3つの行動を、1つのステップ(ステップS1)として実行する。
【0094】
(ステップS1−1)ヘッド3が眺めているます目に(新たに)ある記号(テープ記号:「S」)を書き込む。
(ステップS1−2)TM制御部2の内部状態(「q」)を新しい内部状態(「q」)に書き換える。
(ステップS1−3)ヘッド3を1ますだけ右(R)に動かす(アクションを実行する)。
【0095】
図10(c)は、δ(q,S)の要素である(S,q,NOP)に対して、以下の3つの行動を、1つのステップ(ステップS1)として実行する。
【0096】
(ステップS1−1)ヘッド3が眺めているます目に(新たに)ある記号(テープ記号:「S」)を書き込む。
(ステップS1−2)TM制御部2の内部状態(「q」)を新しい内部状態(「q」)に書き換える。
(ステップS1−3)ヘッド3を動かさない(アクションを実行する)。
【0097】
このように、非決定性チューリングマシンでは、状態関数δの定義域の要素が1つ決まっても、結果が1つ以上あり、複数の場合もある。
【0098】
この非決定性チューリングマシンの計算モデルによる処理のプロセスと、前記した決定性チューリングマシンによる計算モデルによる処理のプロセスを比較すると図11のようになる。
図11(a)に示すように、決定性チューリングマシンでは、1つのステップを実行すると結果が1つに決定するため、ステップの実行全体が直線状になる。一方、非決定性チューリングマシンでは、1つのステップで結果が複数になる場合があり、ステップの実行全体が、図11(b)に示すように、ツリー状になる。そして、実行したステップのどこかで処理が終了(プロセスが受理)されれば、全体のステップも終了となる。
【0099】
本実施形態に係るメッセージ変換実行装置においては、決定性チューリングマシンにおける状態関数をデータベースの検索機能とみなしている。この場合、検索条件はレコードを識別する検索キーとなっているため、データベースの問い合わせの結果として得られるレコード数は1件であった(図8参照)。
しかしながら、一般にデータベースへの問い合わせの結果、複数のレコードが得られることがある。このことは、まさに、非決定性チューリングマシンの状態関数の入力に対して、Σ×K×{L,R,NOP}の要素が複数決まることに相当すると考えることができる。
【0100】
図12は、非決定性チューリングマシンの計算モデルを適用した、本実施形態の第1の変形例に係るメッセージ変換実行装置を説明するための図である。
図12に示すように、メッセージ解析部10が外部装置(不図示)等から受け取ったメッセージを振り分け制御部20に出力する。そして、振り分け制御部20は、内部状態を含む条件値(図12では、条件値「2」)を、マシン複製処理部50を介して、データベース30に出力する。データベース30(具体的には、図9に示すデータベース30を検索するレコード検索部34)においては、条件値「2」を検索条件として検索が実行され、1つ以上の検索結果を得る。ここでは、条件値「2」と新しい内部状態(不図示)とアクション「2」とを含む検索結果、条件値「2」と新しい内部状態(不図示)とアクション「3」とを含む検索結果の2つが得られる。そして、マシン複製処理部50は、2つ以上の検索結果を取得した場合に、その検索結果の数に1を引いた数の振り分け制御部20とアクション実行部40との組の複製を生成する。
続いて、マシン複製処理部50は、取得した各検索結果を、元の(複製でない)振り分け制御部20および複製された振り分け制御部20それぞれに送信する。
図12においては、マシン複製処理部50は、条件値「2」と新しい内部状態とアクション「2」とを含む検索結果を、元の振り分け制御部20に送信する。また、マシン複製処理部50は、条件値「2」と新しい内部状態とアクション「3」とを含む、まだ送信されていない(未処理の)検索結果を、複製した振り分け制御部20に送信する。
【0101】
次に、元の振り分け制御部20は、検索結果の1つ(ここでは、条件値「2」と新しい内部状態とアクション「2」とを含む検索結果)を取得し、内部状態を書き換えた上で、その検索結果を元の(複製でない)アクション実行部40に出力する。そして、元のアクション実行部40では、その検索結果に含まれるアクション(アクション「2」)を実行させるためのメッセージを生成し、外部装置(不図示)へ送信する。
また、複製された振り分け制御部20は、未処理の検索結果のうちの1つ(ここでは、条件値「2」と新しい内部状態とアクション「3」とを含む検索結果)を取得し、内部状態を書き換えた上で、その検索結果を複製されたアクション実行部40に出力する。そして、複製されたアクション実行部40では、その検索結果に含まれるアクション(アクション「3」)を実行させるためのメッセージを生成し、外部装置(不図示)へ送信する。
【0102】
以上説明したように、本実施形態の第1の変形例に係るメッセージ変換実行装置は、非決定性チューリングマシンの計算モデルに適応可能である。つまり、データベース30において、検索結果として複数のレコードが検索される場合でも、システムを止めることなく、プロトコルやコマンドの追加、削除、変更等を行うことを可能とする。
【0103】
<第2の変形例:万能チューリングマシン>
次に、本実施形態の第2の変形例として、万能チューリングマシンの計算モデルを基礎とした、メッセージ変換実行装置を説明する。
【0104】
適当に一つのチューリングマシンUを定めておき、任意のチューリングマシンMの定義とそのチューリングマシンMに与える開始状態(テープ1上のテープ記号の並びだけでなく、テープ1上でヘッド3が眺めているます目の位置とチューリングマシンMの開始状態も含む)とをテープ1上に表現し、そのテープ1をチューリングマシンUに与えると、チューリングマシンUは、本来チューリングマシンMがそのテープ1に対して実行すべき処理を、まねて実行する。このとき、チューリングマシンUは万能チューリングマシンとよばれる(前記した非特許文献5参照)。
【0105】
図13は、万能チューリングマシンの計算モデルを適用した、本実施形態の第2の変形例に係るメッセージ変換実行装置(以下、第2の変形例の説明において、「本メッセージ変換実行装置」という場合がある)において、任意のチューリングマシンMを万能チューリングマシンUがまねる(チューリングマシンMとしての処理を実行する)ことを説明するための図である。
【0106】
図13に示すように、まず、ステップS201において、万能チューリングマシンUでは、まねをしたい任意のチューリングマシンMを決定する。
【0107】
次に、万能チューリングマシンUでは、まねをしたいチューリングマシンMの状態関数δの各要素を、テープ1上に配置するが、本メッセージ変換実行装置では、まねをしたいチューリングマシンMの状態関数δの各要素を、本メッセージ変換実行装置を管理する装置等からレコード更新部33を介して、データベース30に入れる(取り込む)(ステップS202)。なお、入れる前に、まねをしたいチューリングマシンMの内部状態の開始状態、終了状態の記号は、本メッセージ変換実行装置の開始状態、終了状態とそれぞれ同じにしておく。
【0108】
ここで、チューリングマシンMの状態関数δ(⊆K×Σ×Σ×K×{L,R,NOP})は、メッセージ変換実行装置の変換処理のルールに相当する。また、チューリングマシンMの状態関数δの各要素は、メッセージ変換実行装置の変換処理のルールを構成する各要素であり、具体的には、データベース30内の各レコードに相当する。
【0109】
続いて、ステップS203において、本メッセージ変換実行装置は、まねをしたいチューリングマシンMのメッセージ解析部10M(10)と、本メッセージ変換実行装置の振り分け制御部20とをつなげる。このことにより、本メッセージ変換実行装置のメッセージ解析部10は、メッセージを受信し、取り込んだ変換処理のルールに対応させて、そのメッセージの内容を解析し、その内容に基づいてメッセージ番号(メッセージ識別子)を生成するメッセージ解析部10Mとしての処理を行う。
【0110】
次に、ステップS204において、本メッセージ変換実行装置は、まねをしたいチューリングマシンMのアクション実行部40M(40)と、本メッセージ変換実行装置の振り分け制御部20とをつなげる。このことにより、本メッセージ変換実行装置のアクション実行部40は、検索結果に含まれるアクション(変換処理後の情報)を取得し、取り込んだ変換処理のルールに対応させて、送信先となる外部装置等が実行可能なメッセージを生成し、その送信先に送信するアクション実行部40Mとしての処理を行う。
なお、万能チューリングマシンUであれば、まねをしたいチューリングマシンMのメッセージ解析部10およびアクション実行部40はヘッド3そのものであるため、共通に使えるのでつなぎ換える必要はない。一方、本メッセージ変換実行装置が、チューリングマシンMをまねるためには、ステップS203およびS204の処理が必要となる。
【0111】
そして、ステップS205において、本メッセージ変換実行装置は、チューリングマシンMのまねを開始する。具体的には、メッセージ解析部10M(10)を始動する。その後は、決定性チューリングマシンと同じ処理の流れとなる(図8および図9参照)。
このようにすることで、本実施形態の第2の変形例に係るメッセージ変換実行装置は、データベース30に、任意のチューリングマシンMの状態関数δ(変換処理のルール)の各要素(各レコードに相当)を取り込むことができ、取り込んだチューリングマシンMの変換処理のルールを用いて、メッセージの変換処理を実行することができる。
【0112】
以上説明したように、万能チューリングマシンUの計算モデルに追加修正を加えることで、本実施形態の第2の変形例に係るメッセージ変換実行装置を実現することができる。
つまり、万能チューリングマシンUは、まねをする対象である任意のチューリングマシンMの状態関数δの各要素も、チューリングマシンMのテープ記号の書き込まれた同じテープ1上に書き込んでおき、テープ1上の状態関数δを見ながらチューリングマシンMの行う計算をまねることができる。
一方、本メッセージ変換実行装置は、データベース30に、任意のチューリングマシンMの状態関数δ(変換処理のルール)の各要素(各レコードに相当)を取り込むことができ、取り込んだチューリングマシンMの変換処理のルールを用いて、メッセージの変換処理を実行することでチューリングマシンMが行う計算をまねることができる。
特に、万能チューリングマシンUでは、テープ1上で、任意のチューリングマシンMの状態関数δの各要素を探すために必要な万能チューリングマシンUのヘッド3の動き方等を表すチューリングマシンMに依らない万能チューリングマシンUの状態関数δが必要になる。これに対し、本実施形態の第2の変形例に係るメッセージ変換実行装置では、万能チューリングマシンUの状態関数δに相当する動作は、データベース30(具体的には、図9に示すデータベース30を検索するレコード検索部34)でチューリングマシンMに依らないで実現されているため、万能チューリングマシンUの状態関数δに相当するものをデータベース30にレコードとして保持しないですむ。
【0113】
<第3の変形例:自己改変型>
本実施形態に係るメッセージ変換実行装置においては、プログラムの追加や、削除、更新等を、データベース管理部32内のレコード更新部33(図9参照)が実行するものとした。しかし、このレコード更新部33を、アクション実行部40の中から起動されるものとすると、外界からの情報(所定のメッセージ等)を受けて、自らのプログラムを書き換える自己改変型プログラム若しくは環境適応型プログラムの実装方法とすることができる。
【0114】
図14は、本実施形態の第3の変形例に係る自己改変型のメッセージ変換実行装置を説明するための図である。
【0115】
本実施形態の第3の変形例に係る自己改変型のメッセージ変換実行装置は、図8に示した本実施形態に係るメッセージ変換実行装置に比べ、図14に示すように、アクション実行部40から、データベース30を管理するデータベース管理部32(不図示)内のレコード更新部33へ向けて、データベース30のレコードの更新を要請する更新情報を送信する点が異なる。また、この自己改変型のメッセージ変換実行装置の記憶部(不図示)には、データベース30に加え、更新データベース(不図示)が格納される。
この更新データベースには、データベース30の更新処理が必要か否かを判定するための判定情報と、アクション実行部40がこの判定情報を用いて、更新処理を必要と判定した場合の更新対象となるレコードの更新情報とが格納されている。
【0116】
この自己改変型のメッセージ変換処理実行装置の処理においては、図8および図9に示した本実施形態に係るメッセージ変換実行装置の処理に加え、アクション実行部40が外部装置等から、所定のメッセージを取得した場合に、更新データベース内の判定情報を用いて、レコードの追加、削除、変更を含む更新処理が必要か否かを判定する。ここで、所定のメッセージとは、外部装置等からの明示的な処理の変更要請を示すメッセージでもよいし、アクション実行部40が、送受信されるメッセージを監視し、設定された条件を監視対象のメッセージが満たしたとき(閾値等を超えたとき)に、更新処理が必要と判定するようにしてもよい。そして、アクション実行部40は、更新処理が必要と判定したとき、更新データベースから更新対象となるレコードの更新情報を取得して、レコード更新部33にその更新情報を送信する。レコード更新部33は、取得した更新情報を用いて、データベース30内の更新対象となるレコードの更新処理を実行する。
【0117】
以上説明したように、本実施形態の第3の変形例に係る自己改変型のメッセージ変換実行装置によれば、外部装置等から処理の変更要請を示す所定のメッセージを取得し、レコードの更新処理が必要と判定した場合に、更新データベースの更新情報を用いて、更新対象となるレコードの更新処理を実行することができる。つまり、外部からの所定の情報に基づき、データベース30に記憶されたレコードを自己改変することができる。
【符号の説明】
【0118】
1 テープ
2 TM(Turing machine)制御部
3 ヘッド
10 メッセージ解析部
11 管理用プロトコル処理部
12 装置用プロトコル処理部
20 振り分け制御部
30 データベース
31 プログラムデータベース
32 データベース管理部
33 レコード更新部
34 レコード検索部
40 アクション実行部
41 装置用コマンド・プロトコル処理実行部
42 上位OpS用コマンド・プロトコル処理実行部
50 マシン複製処理部
200 上位OpS
300 装置

【特許請求の範囲】
【請求項1】
上位OpS(Operation System)と、ネットワークを構成する各装置との間に設けられ、前記上位OpSから所定のプロトコルを用いて前記装置に対して送信されたメッセージを、前記装置固有のメッセージに変換処理して前記装置に送信し、前記装置から前記上位OpSに対して送信されたメッセージを、前記上位OpSが用いる前記所定のプロトコルに変換処理して前記上位OpSに送信するメッセージ変換実行装置であって、
前記上位OpSおよび前記装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、送信先となる前記上位OpSまたは前記装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるプログラムデータベースが記憶されている記憶部と、
前記レコードの追加、削除、変更を含む更新処理を行うレコード更新部と、
前記上位OpSまたは前記装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するメッセージ解析部と、
前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記プログラムデータベースを検索する検索条件として設定し、
前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を、アクション実行部に出力する振り分け制御部と、
前記検索条件を用いて、前記プログラムデータベースを検索し、前記検索結果を、前記振り分け制御部に出力するレコード検索部と、
前記検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記上位OpSまたは前記装置が実行可能なメッセージを生成し、当該送信先に送信する前記アクション実行部と、
を備えることを特徴とするメッセージ変換実行装置。
【請求項2】
上位OpSと、ネットワークを構成する各装置との間に設けられ、前記上位OpSから所定のプロトコルを用いて前記装置に対して送信されたメッセージを、前記装置固有のメッセージに変換処理して前記装置に送信し、前記装置から前記上位OpSに対して送信されたメッセージを、前記上位OpSが用いる前記所定のプロトコルに変換処理して前記上位OpSに送信するメッセージ変換実行装置のメッセージ変換実行方法であって、
前記メッセージ変換実行装置は、
前記上位OpSおよび前記装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、送信先となる前記上位OpSまたは前記装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるプログラムデータベースが記憶されている記憶部を備え、
前記レコードの追加、削除、変更を含む更新処理を行うステップと、
前記上位OpSまたは前記装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するステップと、
前記メッセージ識別子を取得し、前記内部状態および前記メッセージ識別子を、前記プログラムデータベースを検索する検索条件として設定するステップと、
前記検索条件を用いて前記プログラムデータベースを検索し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得するステップと、
前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記内部状態を更新するステップと、
前記検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記上位OpSまたは前記装置が実行可能なメッセージを生成し、当該送信先に送信するステップと、
を実行することを特徴とするメッセージ変換実行方法。
【請求項3】
上位OpSと、ネットワークを構成する各装置との間に設けられ、前記上位OpSから所定のプロトコルを用いて前記装置に対して送信されたメッセージを、前記装置固有のメッセージに変換処理して前記装置に送信し、前記装置から前記上位OpSに対して送信されたメッセージを、前記上位OpSが用いる前記所定のプロトコルに変換処理して前記上位OpSに送信し、
前記上位OpSおよび前記装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、送信先となる前記上位OpSまたは前記装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるプログラムデータベースが記憶されている記憶部を備えるコンピュータに、
前記レコードの追加、削除、変更を含む更新処理を行うステップと、
前記上位OpSまたは前記装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するステップと、
前記メッセージ識別子を取得し、前記内部状態および前記メッセージ識別子を、前記プログラムデータベースを検索する検索条件として設定するステップと、
前記検索条件を用いて前記プログラムデータベースを検索し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得するステップと、
前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記内部状態を更新するステップと、
前記検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記上位OpSまたは前記装置が実行可能なメッセージを生成し、当該送信先に送信するステップと、
を実行させるためのプログラム。
【請求項4】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置であって、
前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベースが記憶されている記憶部と、
前記レコードの追加、削除、変更を含む更新処理を行うレコード更新部と、
送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するメッセージ解析部と、
前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定し、
前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を、アクション実行部に出力する振り分け制御部と、
前記検索条件を用いて、前記データベースを検索し、前記検索結果を、前記振り分け制御部に出力するレコード検索部と、
前記検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信する前記アクション実行部と、
を備えることを特徴とするメッセージ変換実行装置。
【請求項5】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置のメッセージ変換実行方法であって、
前記メッセージ変換実行装置は、
前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベースが記憶されている記憶部を備え、
前記レコードの追加、削除、変更を含む更新処理を行うステップと、
送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するステップと、
前記メッセージ識別子を取得し、前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定するステップと、
前記検索条件を用いて前記データベースを検索し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得するステップと、
前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記内部状態を更新するステップと、
前記検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信するステップと、
を実行することを特徴とするメッセージ変換実行方法。
【請求項6】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信し、
前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベースが記憶されている記憶部を備えるコンピュータに、
前記レコードの追加、削除、変更を含む更新処理を行うステップと、
送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するステップと、
前記メッセージ識別子を取得し、前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定するステップと、
前記検索条件を用いて前記データベースを検索し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得するステップと、
前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記内部状態を更新するステップと、
前記検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信するステップと、
を実行させるためのプログラム。
【請求項7】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置であって、
前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベースが記憶されている記憶部と、
前記レコードの追加、削除、変更を含む更新処理を行うレコード更新部と、
送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するメッセージ解析部と、
前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定する振り分け制御部と、
前記検索条件を用いて、前記データベースを検索し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す1つ以上の検索結果を、マシン複製処理部に出力するレコード検索部と、
前記1つ以上の検索結果を取得し、前記取得した検索結果が2つ以上であった場合に、前記取得した検索結果の数から1を引いた数だけ、前記振り分け制御部およびアクション実行部を複製し、前記振り分け制御部および前記複製された振り分け制御部に、前記検索結果それぞれを出力する前記マシン複製処理部と、を備え、
前記振り分け制御部は、
前記検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果をアクション実行部に出力し、
前記アクション実行部は、
当該検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信し、
前記複製された振り分け制御部は、
前記検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を前記複製されたアクション実行部に出力し、
前記複製されたアクション実行部は、
当該検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信すること、
を特徴とするメッセージ変換実行装置。
【請求項8】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置のメッセージ変換実行方法であって、
前記メッセージ変換実行装置は、
前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベースが記憶されている記憶部を備え、
前記レコードの追加、削除、変更を含む更新処理を行うステップと、
送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するステップと、
前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定するステップと、
前記検索条件を用いて、前記データベースを検索し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す1つ以上の検索結果を出力するステップと、
前記1つ以上の検索結果を取得し、前記取得した検索結果それぞれを出力するステップと、
前記検索結果のうちの1つを取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を出力するステップ(内部状態更新ステップ)と、
当該出力された検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信するステップ(アクション実行ステップ)と、
前記内部状態更新ステップおよび前記アクション実行ステップを、未処理の前記検索結果のうちの1つを取得して実行するステップと、
を実行すること特徴とするメッセージ変換実行方法。
【請求項9】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信し、
前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベースが記憶されている記憶部を備えるコンピュータに、
前記レコードの追加、削除、変更を含む更新処理を行うステップと、
送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するステップと、
前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定するステップと、
前記検索条件を用いて、前記データベースを検索し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す1つ以上の検索結果を出力するステップと、
前記1つ以上の前記検索結果を取得し、前記取得した検索結果それぞれを出力するステップと、
前記検索結果のうちの1つを取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を出力するステップ(内部状態更新ステップ)と、
当該出力された検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信するステップ(アクション実行ステップ)と、
前記内部状態更新ステップおよび前記アクション実行ステップを、未処理の前記検索結果のうちの1つを取得して実行するステップと、
を実行させるためのプログラム。
【請求項10】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置であって、
前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードから構成される変換処理のルールが入力されるデータベースが格納されている記憶部と、
前記変換処理のルールを、前記メッセージ変換実行装置の管理装置から取得し、前記データベースに取り込むレコード更新部と、
送信元となる前記外部装置から前記メッセージを受信し、前記取り込んだ変換処理のルールに対応させて、前記メッセージの内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するメッセージ解析部と、
前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定し、
前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を、アクション実行部に出力する振り分け制御部と、
前記変換処理のルールを取り込んだ前記データベースを検索して、前記検索結果を取得し、前記振り分け制御部に出力するレコード検索部と、
前記検索結果に含まれる前記変換処理後の情報を取得し、前記取り込んだ変換処理のルールに対応させて、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信する前記アクション実行部と、
を備えることを特徴とするメッセージ変換実行装置。
【請求項11】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置のメッセージ変換実行方法であって、
前記メッセージ変換実行装置は、
前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードから構成される変換処理のルールが入力されるデータベースが格納されている記憶部を備え、
前記変換処理のルールを、前記メッセージ変換実行装置の管理装置から取得し、前記データベースに取り込むステップと、
送信元となる前記外部装置から、前記メッセージを受信し、前記取り込んだ変換処理のルールに対応させて、前記メッセージの内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するステップと、
前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定するステップと、
前記変換処理のルールを取り込んだ前記データベースを検索して、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得するステップと、
前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を出力するステップと、
前記検索結果に含まれる前記変換処理後の情報を取得し、前記取り込んだ変換処理のルールに対応させて、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信するステップと、
を実行することを特徴とするメッセージ変換実行方法。
【請求項12】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信し、
前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードから構成される変換処理のルールが入力されるデータベースが格納されている記憶部を備えるコンピュータに、
前記変換処理のルールを、前記メッセージ変換実行装置の管理装置から取得し、前記データベースに取り込むステップと、
送信元となる前記外部装置から、前記メッセージを受信し、前記取り込んだ変換処理のルールに対応させて、前記メッセージの内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するステップと、
前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定するステップと、
前記変換処理のルールを取り込んだ前記データベースを検索して、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得するステップと、
前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を出力するステップと、
前記検索結果に含まれる前記変換処理後の情報を取得し、前記取り込んだ変換処理のルールに対応させて、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信するステップと、
を実行させるためのプログラム。
【請求項13】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置であって、
(1)前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベース、および(2)前記レコードの更新処理が必要か否かを判定するための所定の判定情報と、前記判定の結果、前記更新処理が必要と判定された場合の更新対象となる前記レコードの更新情報とが格納される更新データベース、が記憶されている記憶部と、
前記レコードの追加、削除、変更を含む更新処理を行うレコード更新部と、
送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するメッセージ解析部と、
前記メッセージ識別子を取得し、自身が保持する前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定し、
前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得し、前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記自身が保持する内部状態を更新し、前記検索結果を、アクション実行部に出力する振り分け制御部と、
前記検索条件を用いて、前記データベースを検索し、前記検索結果を、前記振り分け制御部に出力するレコード検索部と、
前記検索結果を取得し、前記検索結果に含まれる前記変換処理後の情報を用いて、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信する前記アクション実行部と、を備え、
前記アクション実行部は、前記外部装置または前記他の外部装置から所定のメッセージを取得した場合に、前記判定情報を用いて、前記データベースの前記レコードの追加、削除、変更を含む更新処理が必要か否かを判定し、前記更新処理が必要と判定したとき、前記更新データベースから前記更新対象となるレコードの更新情報を取得して、前記レコード更新部に送信し、
前記レコード更新部は、前記更新情報を用いて、前記データベースの前記更新対象となるレコードの前記更新処理を実行すること、
を特徴とするメッセージ変換実行装置。
【請求項14】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信するメッセージ変換実行装置のメッセージ変換実行方法であって、
前記メッセージ変換実行装置は、
(1)前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベース、および(2)前記レコードの更新処理が必要か否かを判定するための所定の判定情報と、前記判定の結果、前記更新処理が必要と判定された場合の更新対象となる前記レコードの更新情報とが格納される更新データベース、が記憶されている記憶部を備えており、
前記レコードの追加、削除、変更を含む更新処理を行うステップと、
送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するステップと、
前記メッセージ識別子を取得し、前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定するステップと、
前記検索条件を用いて前記データベースを検索し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得するステップと、
前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記内部状態を更新するステップと、
前記検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信するステップと、
前記外部装置または前記他の外部装置から所定のメッセージを取得した場合に、前記判定情報を用いて、前記データベースの前記レコードの追加、削除、変更を含む更新処理が必要か否かを判定するステップと、
前記更新処理が必要と判定された場合に、前記更新データベースから前記更新対象となるレコードの更新情報を取得するステップと、
前記取得した更新情報を用いて、前記データベースの前記更新対象となるレコードの前記更新処理を実行するステップと、
を実行することを特徴とするメッセージ変換実行方法。
【請求項15】
外部装置と、前記外部装置以外の他の外部装置と接続され、前記外部装置から送信先となる当該外部装置自身または前記他の外部装置に対して送受信されるメッセージを、前記送信先に応じた所定形式の情報に変換処理して前記送信先に送信し、
(1)前記外部装置から送信されるメッセージの内容に固有なメッセージ識別子と、前記メッセージを送受信する一連のプロセス中の段階を示す内部状態とに対応付けて、次の前記段階を示す新たな内部状態と、前記送信先となる前記外部装置自身または前記他の外部装置に応じた所定の形式に変換処理後の情報とを示すレコードが格納されるデータベース、および(2)前記レコードの更新処理が必要か否かを判定するための所定の判定情報と、前記判定の結果、前記更新処理が必要と判定された場合の更新対象となる前記レコードの更新情報とが格納される更新データベース、が記憶されている記憶部を備えるコンピュータに、
前記レコードの追加、削除、変更を含む更新処理を行うステップと、
送信元となる前記外部装置から、前記メッセージを受信してその内容を解析し、当該内容に基づいて、前記メッセージ識別子を生成するステップと、
前記メッセージ識別子を取得し、前記内部状態および前記メッセージ識別子を、前記データベースを検索する検索条件として設定するステップと、
前記検索条件を用いて前記データベースを検索し、前記検索条件、前記新たな内部状態および前記変換処理後の情報を示す検索結果を取得するステップと、
前記取得した検索結果に含まれる前記新たな内部状態を用いて、前記内部状態を更新するステップと、
前記検索結果に含まれる前記変換処理後の情報を取得し、前記送信先となる前記外部装置自身または前記他の外部装置が実行可能なメッセージを生成し、当該送信先に送信するステップと、
前記外部装置または前記他の外部装置から所定のメッセージを取得した場合に、前記判定情報を用いて、前記データベースの前記レコードの追加、削除、変更を含む更新処理が必要か否かを判定するステップと、
前記更新処理が必要と判定された場合に、前記更新データベースから前記更新対象となるレコードの更新情報を取得するステップと、
前記取得した更新情報を用いて、前記データベースの前記更新対象となるレコードの前記更新処理を実行するステップと、
を実行させるためのプログラム。

【図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