(57)【特許請求の範囲】
【請求項１】
メッセージを取り込むメッセージ受信部と、
メッセージの要素とその要素に対するルールとの組を備えたルール判定部と、
前記組に従い、受信メッセージにマッチングしたルール内容であるアクションを実行するアクション実行部とを備え、
前記メッセージ受信部によりメッセージを取り込み、前記ルール判定部により前記メッセージの要素に対応するルールの組がある場合に、前記メッセージの要素を前記ルールに従って対応するメッセージ要素に書き換えて書き換え後のメッセージを転送するメッセージ書き換え機能と、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記ルール判定部により、前記応答メッセージの要素を前記ルールに従って対応するメッセージ要素に書き戻して転送するメッセージ書き戻し機能と、
前記メッセージ書き換え機能は、
管理下の局所フィールドにあるオブジェクトからのメッセージの内容を解析し、メッセージ形式を他のメッセージ形式に書き換える送信メッセージ形式書き換え機能を含み、
前記メッセージ書き戻し機能は、
前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析し、メッセージ形式を前記管理下の局所フィールドにあるオブジェクトのメッセージ形式に書き戻す受信メッセージ形式書き戻し機能を含み、
前記受信メッセージ形式書き戻し機能において、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析して当該応答メッセージの送信主体のあて先を示すあて先情報の存在を検知し、当該あて先情報をリバースプロキシーのあて先情報に書き換えるあて先情報書き換え機能とを備えることを特徴とするリバースプロキシーシステム。
【請求項２】
メッセージを取り込むメッセージ受信部と、
メッセージ構造に対する反応であるアクションを関係付けたメッセージ・アクション反応テーブルと、
前記メッセージ・アクション反応テーブルに従い、受信メッセージのメッセージ構造にマッチングしたアクションを実行するアクション実行部とを備え、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージ構造における局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送するメッセージ構造書き換え機能と、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージ構造におけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送するメッセージ構造書き戻し機能と、
前記メッセージ書き換え機能は、
前記管理下の局所フィールドにあるオブジェクトからのメッセージの内容を解析し、メッセージ形式を他のメッセージ形式に書き換える送信メッセージ形式書き換え機能を含み、
前記メッセージ書き戻し機能は、
前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析し、メッセージ形式を前記管理下の局所フィールドにあるオブジェクトのメッセージ形式に書き戻す受信メッセージ形式書き戻し機能を含み、
前記受信メッセージ形式書き戻し機能において、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析して当該応答メッセージの送信主体のあて先を示すあて先情報の存在を検知し、当該あて先情報をリバースプロキシーのあて先情報に書き換えるあて先情報書き換え機能とを備えることを特徴とするリバースプロキシーシステム。
【請求項３】
前記管理下の局所フィールドにあるオブジェクトとのやり取りに用いられるプロトコルを、他のプロトコルに変換する送信プロトコル変換機能と、前記書き換えメッセージに対して反応したオブジェクトとのやり取りに用いるプロトコルを、前記管理下の局所フィールドにあるオブジェクトとのやり取りに用いるプロトコルに変換し戻す受信プロトコル変換機能とを備えた請求項１又は２に記載のリバースプロキシーシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ群もしくはオブジェクト群の対話・協調などの連携処理を実施するオブジェクト連携システムに関し、分散型計算機環境などのオブジェクト指向環境において複数のプロセスが作りだされ、コンピュータネットワークを通じて、環境の変化に柔軟に対応し、漸進的に変化するシステム構築のためのオブジェクト連携システムに関する。特に、分散したオブジェクト間の通信や対話、協調など連携処理を行う際の仲介処理に関するものである。
【０００２】
【従来の技術】
近年、ネットワーク化が進み、ネットワーク上に分散した複数のオブジェクトが互いに連携して処理を行うシステムが増えている。このような複数のオブジェクトが連携して処理を行うための技法として、オブジェクト指向型プログラミングやコンポーネント技術などの研究がなされている。
【０００３】
オブジェクト指向型プログラミングの一例として、オブジェクト指向技術の標準化と普及を目指して設立された業界団体ＯＭＧ（Object Management Group）によって定められた分散オブジェクト運用のための共通仕様ＣＯＲＢＡ（The Common Object Request Broker : Architecture and Specification）がある。
【０００４】
図１５に、ＣＯＲＢＡに基づいたクライアント／サーバシステムにおけるオブジェクト連携の例を示す。このシステムは、クライアントアプリケーションとサーバ・アプリケーションとが連携することにより、つまりオブジェクト連携により一連の処理を行うものである。
【０００５】
アプリケーション開発者は、クライアントおよびサーバそれぞれが提供するサービスのインターフェースをＩＤＬ（Interface Definition Language）で記述する。インターフェースとして定義する内容は、オブジェクトに依頼できるオペレーション群であり、各々のオペレーションは、オペレーション名、パラメタの定義、戻り値の定義、エラー発生時の例外処理、付加情報などが定義される。
【０００６】
ＩＤＬで定義された内容を専用のコンパイラでコンパイルすることにより、クライアント用のスタブとサーバ用のスケルトンが生成される。スタブとは、クライアントアプリケーションにＩＤＬで定義されたオペレーション群へのアクセスを提供するルーチン群である。クライアントアプリケーションは、スタブで提供されるルーチンを呼び出すことにより、各種オペレーションが起動される。スケルトンは、サーバ・アプリケーションが提供するメソッドルーチンヘのディスパッチングルーチンを提供する。
【０００７】
スタブおよびスケルトンは、対応するクライアントアプリケーションあるいはサーバ・アプリケーションが使用するプログラミング言語で生成される。たとえば、使用されるプログラミング言語がＣ言語であったとすると、スタブはＣ言語の関数群として生成され、クライアントアプリケーションは、実行したいオペレーションに対応する関数を呼び出すことにより、スタブ、ＯＲＢランタイム、スケルトンを経由してサーバ・アプリケーションの該当ルーチンが呼び出され、所定の処理が実行されたあと、その処理結果が呼び出し元のクライアントアプリケーションに返される。
【０００８】
【発明が解決しようとする課題】
ここで、従来のＣＯＲＢＡなどによりオブジェクト連携処理において、仲介行為を行うためにプロキシーサーバを設けた場合を考える。この場合は、クライアントが直接、通信レイヤーでの仲介処理を行うプロキシーサーバを指定する必要がある。しかし、エレクトリックコマースに代表されるような企業間、ユーザ間の仲介行為を柔軟に行うためには通信レイヤーでのプロキシーサーバの直接指定による詳細な記述は難しく、エージェントなどの仲介行為が必要となる。
【０００９】
一般にエージェントの仲介行為は、依頼を行うエージェント、仲介行為を行うエージェント、データ提供を行うエージェントの間の対話で成立している。また、依頼を行うエージェントおよびデータ提供を行うエージェントは、通常のエージェント技術を用いないサービスに、エージェントとして対話を行うための機能をラッピングすることによって実現している。
【００１０】
仲介行為が片方向または一回の往復である場合にはこの枠組みであれば問題は少なく、ユーザ側エージェント、データ提供側エージェントが仲介行為を行うエージェントの名前やアドレスを知識として持つことで対話が成立する。
【００１１】
しかし、エージェントとしてラッピングされるサービスがウェブブラウザクライアントである場合には以下に示す問題がある。
【００１２】
それは、クライアントによる仲介エージェントを介さないアクセスが可能となってしまう問題である。特に第二回目以降のアクセスにおいて仲介エージェントをバイパスしたアクセスが可能となる問題がある。例えば、最初のアクセスに関しては、仲介エージェントを介して依頼側エージェンからデータ提供側エージェントへアクセスを行う。そのためブラウザクライアント側で仲介エージェントのＵＲＬを指定してアクセスし、仲介エージェントによる仲介行為により両者の対話がスタートする。しかし、この最初のやり取りの結果、データ提供側エージェントから依頼側エージェントに対して返されたデータの中にＵＲＬが直接書き込まれていることが十分に想定される。この結果、依頼側エージェントがこのデータ提供側のＵＲＬを用いてアクセスすれば、仲介エージェントを介さずに直接データ提供側エージェントにアクセスすることが可能となってしまう。
【００１３】
この問題は、オブジェクト間の連携において高いセキュリティが求められるアプリケーション処理を実現する場合など、お互いにセキュアなドメインを作ることが求められる場合には、依頼側エージェントからの要求がデータ提供側エージェントにより拒否されたり、エレクトリックコマース取引において、安全のための信任を得るための処理をかえって複雑化してしまうという問題が生じる。
【００１４】
また、仲介エージェントサービスを提供するサービスプロバイダにとっては、自身の仲介エージェントサービスを介さない通信を勝手に許すこととなり、仲介サービスプロバイダによる仲介サービス制御ができなくなってしまうという問題が生じる。
【００１５】
本発明は上記問題点を解決するため、ネットワークに接続されたオブジェクトとオブジェクトの連携をメッセージを介して行うオブジェクト連携システムにおいて、仲介処理を行うオブジェクトを導入し、該オブジェクト管理下の局所フィールドに存在するオブジェクトと外部サーバとを直接対話させることなく両者間のメッセージのやり取りを仲介し、仲介したメッセージをベースにしたオブジェクトの連携を実現するオブジェクト連携システムを提供することを目的とする。
【００１６】
【課題を解決するための手段】
上記目的を達成するため、本発明のリバースプロキシーシステムは、メッセージを取り込むメッセージ受信部と、メッセージの要素とその要素に対するルールとの組を備えたルール判定部と、前記組に従い、受信メッセージにマッチングしたルール内容であるアクションを実行するアクション実行部を備え、前記メッセージ受信部によりメッセージを取り込み、前記ルール判定部により前記メッセージの要素に対応するルールの組がある場合に、前記メッセージの要素を前記ルールに従って対応するメッセージ要素に書き換えて書き換え後のメッセージを転送するメッセージ書き換え機能と、前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記ルール判定部により、前記応答メッセージの要素を前記ルールに従って対応するメッセージ要素に書き戻して転送するメッセージ書き戻し機能を備えたことを特徴とする。
【００１７】
上記構成により、メッセージの要素とその要素に対するルールとの組を用いた関係により柔軟かつ動的にオブジェクト間の連携を行うことができ、リバースプロキシーを介したメッセージの書き換え処理を経て他のオブジェクトとの連携が可能となる。また、他のオブジェクトからの応答メッセージ受信時についてもリバースプロキシーを介してメッセージの書き戻し処理を経てメッセージを受信することが可能となる。
【００１８】
なお、メッセージ書き戻し機能は、メッセージ書き換え機能において書き換えるメッセージの書き換え手順、書き換えルールに関する情報を受け取り、応答メッセージの書き戻しの際にそれら情報を利用する。
【００１９】
本発明のリバースプロキシーシステムは、フィールドリアクターモデルを用いて構築することができる。フィールドリアクターモデルを用いた本発明のリバースプロキシーシステムは、メッセージを取り込むメッセージ受信部と、メッセージ構造に対する反応であるアクションを関係付けたメッセージ・アクション反応テーブルと、前記メッセージ・アクション反応テーブルに従い、受信メッセージのメッセージ構造にマッチングしたアクションを実行するアクション実行部を備え、前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージ構造における局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送するメッセージ構造書き換え機能と、前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージ構造におけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送するメッセージ構造書き戻し機能を備えたことを特徴とする。
【００２０】
上記構成により、フィールドリアクターモデルにおけるメッセージ構造を用いたメッセージ・アクション反応関係により柔軟かつ動的にオブジェクト間の連携を行うことができ、リバースプロキシーを介したメッセージ構造の書き換え処理およびメッセージ構造の書き戻し処理を経てのみ外部フィールドのオブジェクトとの連携が可能となる。
【００２１】
上記リバースプロキシーシステムは、管理下の局所フィールドにあるオブジェクトからのメッセージの内容を解析し、メッセージ形式を他のメッセージ形式に書き換える送信メッセージ形式書き換え機能と、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析し、メッセージ形式を前記管理下の局所フィールドにあるオブジェクトのメッセージ形式に書き戻す受信メッセージ形式書き戻し機能を備えることにより、メッセージ形式の変換を伴う仲介処理を実行できる。
【００２２】
また、上記の受信メッセージ形式書き戻し機能において、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析して当該応答メッセージの送信主体のあて先を示すあて先情報の存在を検知し、該あて先情報をリバースプロキシーのあて先情報に書き換えるあて先情報書き換え機能を含むこととすれば、当該あて先情報をリバースプロキシーのあて先情報に書き換えて管理下の局所フィールドのオブジェクトに渡すので、局所フィールドのオブジェクトは外部サーバのＵＲＬなどあて先情報を知ることはない。
【００２３】
また、上記リバースプロキシーシステムは、管理下の局所フィールドにあるオブジェクトとのやり取りに用られるプロトコルを、他のプロトコルに変換する送信プロトコル変換機能と、前記書き換えメッセージに対して反応したオブジェクトとのやり取りに用いるプロトコルを、前記管理下の局所フィールドにあるオブジェクトとのやり取りに用いるプロトコルに変換し戻す受信プロトコル変換機能を備えることにより、局所フィールド内では独自のプロトコルを採用していたり、外部サーバが採用しているプロトコルとは異なるプロトコルを採用していた場合でも、リバースプロキシーによりプロトコルの相違を吸収してメッセージを有意に仲介することが可能となる。
【００２４】
また、上記リバースプロキシーシステムは、管理下の局所フィールドにあるオブジェクトと外部サーバとのアクセスにおいて、やり取りされるメッセージがｈｔｍｌ形式またはＸＭＬ形式のメッセージであり、該メッセージにリンク先を表わす外部サーバのＵＲＬが含まれている場合に、該ＵＲＬを前記リバースプロキシーのＵＲＬに書き換えることが好ましい。
【００２５】
上記構成により、リバースプロキシーを介してのみ局所フィールドにあるオブジェクトと外部サーバとの連携が可能となり、直接相手のリンク先のＵＲＬを知る必要がない一方、提供されるウェブページは局所フィールド内のオブジェクトは直接リンクした場合と同様のものが閲覧できる。
【００２６】
また、上記リバースプロキシーシステムは、いわゆるCookieに相当する仕組みの適用において識別文字列情報処理部と識別文字列情報書き換え部を備え、前記識別文字列情報処理部により、前記外部サーバとの間においてリバースプロキシー自身の識別文字列情報を交換して格納し合い、前記管理下の局所フィールドにあるオブジェクトとの間において該オブジェクトの識別文字列情報を交換して格納し合い、前記識別文字列情報書き換え部により、前記オブジェクトからの識別文字列情報を用いたメッセージのやり取りを、リバースプロキシー自身の識別文字列情報に書き換えて前記外部サーバとのメッセージのやり取りとして仲介することが好ましい。
【００２７】
上記構成により、いわゆるCookieを用いたユーザ管理を実現する仕組みを導入した場合でもCookieを活用しつつ、仲介処理を実現することができる。
【００２８】
【発明の実施の形態】
以下、本発明のオブジェクト連携システムの実施形態について、図面を参照しながら説明する。
【００２９】
（実施形態１）
本発明のリバースプロキシーシステムは、メッセージの要素とその要素に対するルールとの組によりオブジェクト同士を結び付けることによりオブジェクト同士を連携させ、そのやり取りの過程に介在し、あるオブジェクトａから他のオブジェクトｂへのメッセージ送信において、メッセージ要素を書き換えるメッセージ書き換え機能と書き換えたメッセージ要素を元に戻すメッセージ書き戻し機能を備えるものである。
【００３０】
本発明のリバースプロキシーシステムの一実施形態として、フィールドリアクターモデルを前提とする構成が可能である。フィールドリアクターモデルとは、フィールドを流れるメッセージと当該メッセージに対応するアクションの関係によってオブジェクト同士を結び付けることによりオブジェクト同士の連携を構築し、当該メッセージとアクションの関係の記述を柔軟かつ動的に更新することによりオブジェクト連携関係を柔軟かつ動的に構築するものである。例えば、メッセージ構造とそのメッセージ構造に対応付けられるアクションの関係を反応テーブルという形で用意する。この一実施形態は、フィールドを流れるメッセージの要素とその要素に対するルールとの組によるオブジェクト同士の連携を、メッセージ構造とアクションの関係を記述した反応テーブルを用いたオブジェクト同士の連携という形に限定した形態となる。
【００３１】
以下、本実施形態１ではリバースプロキシーシステムの概念を説明し、その一実施形態として、フィールドリアクターモデルを前提とした構成を中心に説明する。しかし、本発明のリバースプロキシーシステムは、フィールドリアクターモデルを用いた構成に限定されるものではない。
【００３２】
以下、本発明のリバースプロキシーシステムの仲介処理を３つのパートに分けて順を追って説明する。
【００３３】
第１のパートでは、メッセージを用いたオブジェクト同士の連携の概念と、リバースプロキシーシステムの基本構成と、一実施形態としてリバースプロキシーシステムが用いるフィールドリアクターモデルの動作原理、フィールドリアクターモデル用いた場合のリバースプロキシーシステムの基本構成を説明する。
【００３４】
第２のパートでは、リバースプロキシーシステムによる仲介処理の概念を説明する。管理下にある局所フィールドのオブジェクトと外部サーバとの間の仲介処理を中心とした説明である。
【００３５】
第３のパートでは、リバースプロキシーシステムによる、外部サーバからの応答メッセージ中に含まれたＵＲＬなど外部サーバのあて先情報を書き換えるあて先情報書き換え機能について説明する。
【００３６】
まず、第１のパートのメッセージを用いたオブジェクト同士の連携の概念を説明する。
【００３７】
本発明のリバースプロキシーシステムによるオブジェクトの連携は、オブジェクト間でやり取りされるメッセージの要素とそのメッセージ要素に対するルールとの組による関係づけを用いている。受信したメッセージを基にそのメッセージの要素に対応するルールを判定し、そのルール内容を実行することによりオブジェクト間の連携が行われる。
【００３８】
以下、フィールドを用いた例を説明する。この場合、共通のフィールドとして定義されるような通信路を流れるメッセージに対して、オブジェクトとしての個々のコンピュータシステムあるいはコンピュータシステム内で動作する個々のアプリケーションプログラムが反応する形で処理を実行するので、メッセージとルールとの組を変更・調整することによりシステム全体の動作も柔軟に変更することができる。つまり、互いの内部状態や内部関数に依存しあうような密な関係とはしないで、連携するオブジェクトの緩やかな関係を規定したオブジェクト間の連携によって機能を動的に構成することができる。
【００３９】
図１は、フィールドモデルにおけるメッセージを介したオブジェクト間の緩やかな連携を模式的に示した図である。
【００４０】
図１において２０１はオブジェクトＡ，２０２はオブジェクトＢであり、それぞれメッセージを送受信する主体であるオブジェクトである。Ｍ１はメッセージを示す。ａ１はオブジェクトＡ（２０１）中に規定されたルール、ａ２はオブジェクトＢ（２０２）中に規定されたルールを示す。なお、図中の矢印は、起点がオブジェクトのときメッセージの送出を、終点がオブジェクトのときメッセージの受信を示している。またそれぞれのオブジェクトは内部状態としてのルールおよびそのルール内容を実行する部分をそれぞれ独自に持っているとする。
【００４１】
図１において、オブジェクトＡ（２０１）とオブジェクトＢ（２０２）の連携は、メッセージＭ１を介して行われている。オブジェクトＡ（２０１）は、オブジェクトＢ（２０２）の持つ内部関数についても基本的には関知せずにメッセージを送出する。また、オブジェクトＢ（２０２）自体を特定してメッセージを送出する必要もなく、オブジェクトＡ（２０１）は自己の状態、処理内容に基づいてメッセージＭ１を送出する。オブジェクトＢ（２０２）は通信路上を流れるメッセージをモニタしており、メッセージＭ１を検知し、Ｍ１がオブジェクトＢにとって有意であるとき、反応してルールａ２を起動し、そのルール内容を実行する。このようにオブジェクトＡとオブジェクトＢとは有意な連携を取り得るが、それはオブジェクトＡ（２０１）とオブジェクトＢ（２０２）の直接の結び付きによるものではなく、メッセージＭ１とオブジェクトＢ（２０２）のルールとが結び付けられ、さらにそのルール内容であるアクションにより結び付けられている帰結といえる。逆にメッセージがＭ１とは異なるものであれば、オブジェクトＢ（２０２）は当該メッセージがＭ１と同様の受理可能範囲にあるかあるいは他に当該メッセージと結び付けられているルールがない限り反応しないこととなる。このようにオブジェクト間の連携が緩やかにメッセージを介して行われることにより、オブジェクト間の連携の自由度が増すこととなる。つまり、従来のコンピュータネットワーク通信のように通信相手のアドレスおよび処理依頼内容を特定する必要がなく、ネットワーク上に自らの状態、処理結果などを表わすメッセージを流し、ネットワークをモニタしている各端末がそのメッセージを検知し、対応するルールが規定されていれば自律的に反応を起こすものである。
【００４２】
なお、通信路は単にＬＡＮなどの物理的ネットワークだけではなく無線・音声・光などの共通に受信できる媒体を介在するものであれば特に限定する必要はない。また、共通に呼び出し可能なメモリ等の記録媒体であってもかまわない。さらに通信路のポートアドレスなどにより仮想的な存在であってもかまわない。
【００４３】
次に、リバースプロキシーシステムの基本構成を示す。
【００４４】
図２は、本発明のリバースプロキシーシステムの概略構成例を示す図である。１００はオブジェクトを表わしており、ネットワーク上に送信されるメッセージを取り込むメッセージ送受信部１０と、メッセージ要素とそのメッセージ要素に対するルールとの組を管理し、受け入れたメッセージに対するルールを判定するルール判定部２０と、ルール判定部２０の判定したルール内容に従ってアクションを実行するアクション実行部３０、メッセージ生成部３１、メッセージ書き換え部３２を備えている。４００はフィールドである。
【００４５】
メッセージ生成部３１は、アクション実行部３０による処理内容の実行の一環としてメッセージを生成する部分であり、メッセージ書き換え部３２は、外部オブジェクトへ送信するメッセージの形式などを書き換えたり、外部オブジェクトからの応答メッセージのメッセージ形式を元のメッセージ形式に書き戻したりする部分であり、メッセージ書き換え機能とメッセージ書き戻し機能を備えたものである。なお、メッセージ書き換え部３２は、メッセージ書き換え機能におけるメッセージの書き換え手順や書き換え内容などの情報を記憶しておき、メッセージ書き戻し機能においてそれら情報を基に応答メッセージを元のメッセージ形式に書き戻す。
【００４６】
メッセージがフィールド４００から受信されるとルール判定部２０の判定に従い、入力メッセージの要素に対応するルール内容が起動される。このように、他のオブジェクトが発したメッセージを介してオブジェクトが連携することとなる。メッセージ書き換え機能やメッセージ書き戻し機能を用いたリバースプロキシーの動作例は下記のパート２の部分以降に記述する。
【００４７】
次に、フィールドリアクターモデルの動作原理およびフィールドリアクターモデルを用いたリバースプロキシーシステムの構成例を説明する。
【００４８】
フィールドリアクターモデルとは、メッセージ構造を用いたパターンマッチングによるメッセージとアクションの反応関係により、受信メッセージのメッセージ構造に対して発火（反応）して対応するアクションを実行し、メッセージ−アクションの連携動作によりオブジェクト同士が連携する仕組みである。フィールドリアクターモデルでは、共通のフィールドとして定義されるような通信路を流れるメッセージに対して、オブジェクトとしての個々のコンピュータシステムあるいはコンピュータシステム内で動作する個々のアプリケーションプログラムが反応する形で処理を実行するので、メッセージとアクションとの反応関係を変更・調整することによりシステム全体の動作も柔軟に変更することができる。つまり、互いの内部状態や内部関数に依存しあうような密な関係とはしないで、連携するオブジェクトの緩やかな関係を規定したオブジェクト間の連携によって機能を動的に構成することができる。
【００４９】
次に、フィールドリアクターモデル用いた場合のリバースプロキシーシステムの基本構成を説明する。
【００５０】
図３は、フィールドリアクターモデル用いた場合のリバースプロキシーシステムの基本構成例を示す図である。図２のリバースプロキシーシステムの各構成要素と同じ番号のものは同様のものである。１００ａはオブジェクトを表わしており、ネットワーク上に送信されるメッセージを取り込むメッセージ送受信部１０と、メッセージ構造に対する反応であるアクション内容を管理するメッセージ・アクション反応テーブル２０ａと、メッセージ・アクション反応テーブル２０ａに従い、受信メッセージの持つメッセージ構造にマッチングしたアクション内容に従って処理を実行するアクション実行部３０、メッセージ生成部３１、メッセージ書き換え部３２を備えている。メッセージ生成部３１は図２の場合と同様、アクション実行部３０によるアクション実行の一環としてメッセージを生成する。また、メッセージ書き換え部３２は、アクション実行部３０によるアクション実行の一環として外部オブジェクトへ送信するメッセージのメッセージ形式を書き換えたり、外部オブジェクトからの応答メッセージのメッセージ形式を元のメッセージ形式に書き戻す部分であり、メッセージ構造書き換え機能とメッセージ構造書き戻し機能を備えたものとなっている。メッセージ書き換え部３２は、メッセージ書き換え機能におけるメッセージの書き換え手順や書き換え内容などの情報を記憶しておき、メッセージ書き戻し機能においてそれら情報を基に応答メッセージを元のメッセージ形式に書き戻す。
【００５１】
なお、メッセージ・アクション反応テーブル２０には、メッセージ構造とメッセージタグの組み合わせが与えられている。例えば、図４に記載した入力メッセージ構造がメッセージ・アクション反応テーブル２０に記載されている。
【００５２】
図４に示した入力メッセージ構造を持つメッセージがフィールド４００から受信されるとメッセージ・アクション反応テーブル２０ａの記述に従い、入力メッセージパターンマッチングが成立し、対応するアクションが起動される。このように、他のオブジェクトが発したメッセージを介してオブジェクトが連携することとなる。
【００５３】
以上が、フィールドリアクターモデルに基づくオブジェクト連携の基本原理である。
【００５４】
次に、第２のパートとして、リバースプロキシーシステムによる仲介処理の概念を説明する。
【００５５】
図５は、リバースプロキシーシステムによる仲介処理の概念を簡単に説明した図である。図５はオブジェクトから外部サーバへの依頼メッセージ送信時の仲介動作を示している。図５において、２０１は局所フィールド４１０に存在するオブジェクト、１００はリバースプロキシー、３００は外部サーバ、４２０は外部フィールドである。リバースプロキシー１００は局所フィールド４１０、外部フィールド４２０の双方において流れるメッセージを取り込むことができる。オブジェクト２０１には簡単にメッセージ・アクション反応テーブルに記述された依頼を出力するための出力メッセージパターンと応答メッセージを受けるための入力メッセージパターンとを示した。リバースプロキシー１００には簡単に入力メッセージパターンとそのアクション（仲介処理）としての出力メッセージパターンを示した。外部サーバ３００にも簡単に依頼を受けるための入力メッセージパターンと依頼に対する応答メッセージを送信するための出力メッセージパターンを示した。
【００５６】
局所フィールドのオブジェクト２０１の出力メッセージパターンには局所フィールドを表わすメッセージタグ<GROUP>が組み合わされ、入力メッセージパターンにはリバースプロキシーを表わすメッセージタグ<PROXY>が組み合わされている。
【００５７】
外部サーバ３００には入力メッセージパターンにも出力メッセージパターンにも外部サーバを表わすメッセージタグ<SERVER>が組み合わされている。
【００５８】
一方、リバースプロキシー１００は局所フィールドから受ける入力メッセージパターンにはメッセージタグ<GROUP>が組み合わされ、そのアクションとしての出力メッセージはリバースプロキシーを表わすメッセージタグ<PROXY>に書き換えたものが組み合わされている。さらに、外部フィールドから受ける入力メッセージパターンにはメッセージタグ<SERVER>が組み合わされ、そのアクションとしての出力メッセージはメッセージタグ<PROXY>に書き換えたものが組み合わされている。メッセージ書き換え部３２によるメッセージタグの書き換えにより仲介処理が実現される。
【００５９】
図５に示したオブジェクト連携の動作は以下のようになる。まず、オブジェクト２０１は、依頼のため、例えば、出力メッセージパターンに以下の従ってメッセージ構造を持つメッセージを局所フィールド４１０に流す。
【００６０】
0004363752.tif 000002
リバースプロキシー１００は、局所フィールド４１０から当該メッセージを取り込んで、メッセージ・アクション反応テーブルに従って発火（反応）し、そのアクションとして以下のメッセージ構造を持つメッセージを外部フィールド４２０に流す。
【００６１】
0004363752.tif 000003
つまり、メッセージ書き換え部３２により、<GROUP>のメッセージタグが<PROXY>に書き換えられている。
【００６２】
次に、図６は、外部サーバからオブジェクトへの応答メッセージ送信時の仲介動作を示している。外部サーバ３００は、外部フィールド４２０から当該メッセージを取り込んでメッセージ・アクション反応テーブルに従って発火（反応）し、依頼内容を実行する。その後、依頼内容を実行した外部サーバは以下のメッセージ構造を持つ応答メッセージを外部フィールド４３０に流す。
【００６３】
0004363752.tif 000004
リバースプロキシー１００は、メッセージ・アクション反応テーブルに従って発火（反応）し、そのアクションとしてメッセージ書き換え部３２によるメッセージ書き換え機能により書き換えられた以下のメッセージ構造を持つメッセージが局所フィールド４１０に流される。
【００６４】
0004363752.tif 000005
オブジェクト２０１は、局所フィールド４１０から当該メッセージを取り込んで、メッセージ・アクション反応テーブルに従って発火（反応）し、応答メッセージを受け取る。
【００６５】
以上の仕組みにより、本発明のリバースプロキシーシステムを用いたオブジェクト連携システムにおいて、局所フィールドに存在するオブジェクトは、リバースプロキシーの仲介処理によって外部フィールドにある外部サーバなどと連携することができ、直接連携し合う構成とならない。
【００６６】
次に、第３のパートとして、リバースプロキシーシステムによる、外部サーバからの応答メッセージ中に含まれたＵＲＬなど外部サーバのあて先情報を書き換えるあて先情報書き換え機能について説明する。
【００６７】
図７は、リバースプロキシーを用いた仲介処理の流れの概略を示している。図７に示すように、この例では、エージェント間の行為（Communicative Action）の一つである“proxy”を用いて行っている。図７に示したプロキシーのプロトコルは形式的表現として、図８のものが用いられている。
【００６８】
図８に示した形式的表現は、エージェントｉがエージェントｊに対して、「ｊが知っているある条件を満たすｙに対して、proxyの中に記述された通信行為を、条件φが満たされるとき、ｊがｙに対して実施すること」をｉが意図（期待）し、それをｉがｊに通知する行為として表現されており、エージェントにかかわる国際標準化組織において定式化されたものである。
【００６９】
このような形式的表現を用いた仲介行為は、ｊからｙへの通信行為はあくまでもｊの行為として扱われるが、ｉがｊに依頼していることは、コンテンツの内容の転送ではなく、actionの実施の依頼である。本発明のリバースプロキシーシステムはこの点に着目し、ｉからｊへの行為に含まれるコンテンツと、ｊがｙに行う行為のコンテンツとは一致する必要がないとして、ｊのポジションにリバースプロキシーを設け、リバースプロキシーがメッセージを仲介するにあたり、メッセージ内容を書き換えて仲介する。
【００７０】
また、ｙからｊへのinformという行為は、ｙがｊに事実を伝えるということを意味するのみである。ｊからｉへの伝達については規定されていない。本発明のリバースプロキシーを用いたオブジェクト連携システムによる仲介処理はこの点にも着目し、ｙからｊに戻されるコンテンツをｊが受理した段階で解析し、その中にｙやその他のエージェントのあて先情報である送信先アドレスが含まれている場合にはこの記述を書き換え、ｊをあて先とするメッセージに変更する。この処理により、ｉは応答メッセージを受信しても直接ｙのあて先情報知ることはできないこととなる。
【００７１】
図９は、あて先情報書き換え機能を含むリバースプロキシーシステムの構成例を示す図である。１００ｂはリバースプロキシーを表わしており、メッセージ送受信部１０と、メッセージ・アクション反応テーブル２０ａと、アクション実行部３０、メッセージ生成部３１、メッセージ書き換え部３２に加え、あて先情報書き換え部３３を備えている。あて先情報書き換え部３３はメッセージ解析部３３１、あて先情報検知部３３２を備えている。
【００７２】
リバースプロキシー１００ｂは、外部フィールド４２０からメッセージ送受信部１０を介して、メッセージ・アクション反応テーブル２０ａに従い、外部サーバ３００からの応答メッセージを受け取ると、アクション実行部３０によりアクションを実行するが、アクションの一環として、あて先情報書き換え部３３によるあて先情報書き換え処理を行う。まず、メッセージ解析部３３１によりメッセージを解析し、あて先情報検知部３３２により外部サーバ３００のＵＲＬなどのあて先情報が書き込まれていないかチェックする。もし書き込まれているならば、あて先情報書き換え部３３はリバースプロキシー自身のあて先情報に書き換える。その後、アクションが継続され、依頼元の局所フィールド４１０にあるサーバへ応答メッセージが流される。
【００７３】
やり取りされるメッセージがｈｔｍｌ形式またはＸＭＬ形式のメッセージであり、該メッセージにリンク先を表わす外部サーバ３００のＵＲＬが含まれている場合に該ＵＲＬを、リバースプロキシー１００ｂのＵＲＬに書き換える。
【００７４】
以上の仕組みにより、本発明のリバースプロキシーシステムを用いたオブジェクト連携システムにおいて、局所フィールドに存在するオブジェクトは、応答メッセージの中に書き込まれた外部サーバのＵＲＬなどのあて先情報を直接受け取ることがなく、外部サーバと直接通信し合うことができない。必ずリバースプロキシーによる仲介処理により外部フィールドにある外部サーバなどとオブジェクト連携を行うこととなる。
【００７５】
なお、上記説明では、一実施形態として、図３に示したフィールドリアクターモデルを前提とした構成を中心に説明したが、しかし、図２に示した構成のように本発明のリバースプロキシーシステムは、フィールドリアクターモデルを用いた構成に限定されるものではない。
【００７６】
（実施形態２）
実施形態２は、局所フィールドのオブジェクトと外部サーバとのやり取りにおいてCookieに相当する情報が交換される場合の仲介処理について説明する。Cookieとは、ワールドワイドウェブ（以下、ＷＷＷと略記する）上でユーザを管理を実現する仕組みを言い、ＷＷＷサーバがユーザを識別する識別文字列情報Cookieを生成し、ＷＷＷサーバとブラウザ双方に格納しておき、２回目のアクセス時にはブラウザから当該CookieをＨＴＴＰで送信し、サーバ側に格納されているCookieと照合してユーザを特定する仕組みである。つまり、外部サーバとオブジェクトとの１回目のアクセスにおいて、オブジェクトを識別する識別文字列情報を交換して格納し合い、２回目のアクセス時にはオブジェクトから識別文字列情報を送信し、外部サーバにおいて格納された当該識別文字列情報との照合によりアクセスしてきたオブジェクトを特定する仕組みの適用する場合の扱いである。
【００７７】
図１０は、実施形態２のオブジェクト連携システムの概略構成例を示す図である。図３に比べ、リバースプロキシー１００ｃは、アクション実行部３０において識別文字列情報処理部３４と識別文字列情報書き換え部３５を備えた構成となっている。
【００７８】
識別文字列情報処理部３４は、いわゆるCookiesの全体仕様に基づいて、サーバとの間でCookieを用いたやり取りを制御する部分である。識別文字列情報処理部３４により、外部サーバ３００との間においてリバースプロキシー１００ｃ自身の識別文字列情報（Cookie１）を交換して格納し合い、前記管理下の局所フィールド４１０にあるオブジェクト２００との間においてオブジェクト２００の識別文字列情報（Cookie２）を交換して格納し合う。
【００７９】
識別文字列情報書き換え部３５は、オブジェクト２００から受けた識別文字列情報（Cookie２）を用いたメッセージのやり取りを、リバースプロキシー１００ｃ自身のオブジェクト識別文字列情報（Cookie１）に書き換えて外部サーバ３００とのメッセージのやり取りに仲介する。このようにオブジェクト識別文字列情報を書き換えて仲介することにより文字列情報（Cookie）を利用したメッセージのやり取りの仕組みを適用することができ、かつ、局所フィールド４１０と外部フィールド４２０上でやり取りされるオブジェクト識別文字列情報が書き換えられて仲介されるので、局所フィールド４１０のオブジェクト２００が外部サーバ３００によって直接管理されることにはならない。
【００８０】
以上、局所フィールドのオブジェクトと外部サーバとのやり取りにおいてオブジェクト識別文字列情報を用いたユーザ管理の仕組み（Cookies）を適用することができ、かつ、やり取りされるオブジェクト識別文字列情報は書き換えられるので局所フィールドのオブジェクトが外部サーバによって直接管理されず、リバースプロキシーによる仲介処理を維持することができる。
【００８１】
（実施形態３）
実施形態３は、局所フィールドのオブジェクトと外部サーバとのメッセージのやり取りにおいて、メッセージ形式やプロトコルを変換する機能を備えたものである。実施形態１などにおいてもメッセージ形式変換やプロトコル変換に関する部分があるが、ここではメッセージ形式変換およびプロトコル変換に関する部分に注目して説明する。
【００８２】
図１１は、実施形態３のオブジェクト連携システムの概略構成例を示す図である。図３に比べ、リバースプロキシー１００ｄはアクション実行部３０においてメッセージ形式変換部３６とプロトコル変換部３７を備えた構成となっている。
【００８３】
メッセージ形式変換部３６は、メッセージ形式解析部３６１と、メッセージ形式書き換え部３６２を備えており、管理下の局所フィールドにあるオブジェクトからのメッセージの形式を解析し、メッセージ形式を他のメッセージ形式に書き換える送信メッセージ形式書き換え機能と、さらに、外部サーバからの応答メッセージの内容を解析し、メッセージ形式を管理下の局所フィールドにあるオブジェクトのメッセージ形式に書き戻す受信メッセージ形式書き戻し機能を備えたものである。なお、メッセージ形式書き換え部３６２は、送信メッセージ形式書き換え機能におけるメッセージ形式の書き換え手順や書き換え内容などの情報を記憶しておき、受信メッセージ形式書き戻し機能においてそれら情報を基に応答メッセージの形式を元のメッセージ形式に書き戻す。
【００８４】
ここで、送信メッセージ形式書き換え機能および受信メッセージ形式書き戻し機能において扱われるメッセージ形式の例を挙げると、一つにはエンコーディング形式がある。局所フィールドのオブジェクトが扱うエンコーディング形式と外部オブジェクトの扱うエンコーディング形式が異なっている場合でも両者間の違いをメッセージ形式変換部３６により変換して吸収し、メッセージを受け渡す。
【００８５】
他にはメッセージの要素に対する名前付けのルールがある。例えばＩＤ情報に関する名前付けのルールが両者間で異なっている場合でも両者間の違いをメッセージ形式変換部３６により変換して吸収し、メッセージを受け渡す。
【００８６】
他には、パラメタ内容がある。図１２および図１３は、その例を示したものである。ここでは、パラメタ内容としてカンバセーションＩＤについてのパラメタ内容が変更された例を示す。図１２が局所フィールドにあるオブジェクトから外部オブジェクトへのメッセージの流れ、図１３が外部オブジェクトから局所フィールドのオブジェクトへの応答メッセージの流れを示している。図１２および図１３で明らかなように、ＡＲＧ２に関するパラメタ内容がリバースプロキシーシステムにより変換されていることが分かる。図１２では局所フィールドにあるオブジェクトとリバースプロキシー間ではＡＲＧ２のパラメタ内容はａｂｃであるが、リバースプロキシーと外部オブジェクト間ではＡＲＧ２のパラメタ内容はｄｅｆに書き換えられている。図１３では、逆に、リバースプロキシーと外部オブジェクト間でのＡＲＧ２のパラメタ内容はｄｅｆであるが、リバースプロキシーと局所フィールドにあるオブジェクト間ではａｂｃに書き戻されている。
【００８７】
他には、シンタックスの変換がある。ｈｔｍｌ形式とＸＭＬ形式などメッセージのシンタックスを書き換え、書き戻しすることが可能である。
【００８８】
なお、上記のメッセージ形式の書き換えや書き戻しにおいては、変更例を挙げたが変更のみならず、追加や削除などの概念も含まれるものである。例えば、図１２や図１３において局所フィールドにあるオブジェクトとリバースプロキシー間ではＡＲＧ１とＡＲＧ２の識別子を持つメッセージ形式であり、リバースプロキシーと外部オブジェクトの間ではＡＲＧ１に相当する識別子を持つがＡＲＧ２に相当する識別子がないメッセージ形式である場合に両者間のメッセージ形式の違いを吸収することもできるものである。
【００８９】
次に、プロトコル変換部３７は、管理下の局所フィールドにあるオブジェクトとのやり取りに用られるプロトコルを、外部サーバとのやり取りに用いられる他のプロトコルに変換する送信プロトコル変換機能と、外部サーバとのやり取りに用いるプロトコルを、管理下の局所フィールドにあるオブジェクトとのやり取りに用いるプロトコルに変換し戻す受信プロトコル変換機能を備えたものである。プロトコル変換部３７は、送信プロトコル変換機能におけるプロトコル変換手順や変換内容などの情報を記憶しておき、受信プロトコル変換機能においてそれら情報を基に応答メッセージに関するプロトコルを元のプロトコルに書き戻す。
【００９０】
このように、管理下の局所フィールドにあるオブジェクトと、外部サーバとのやり取りの仲介処理において、メッセージ形式やプロトコルの書き換え、書き戻しにより、両者間で異なるメッセージ形式、プロトコルを変換することができ、両者間のシームレスでスムーズなオブジェクト連携を実現することができる。
【００９１】
（実施形態４）
本発明のリバースプロキシーシステムおよびリバースプロキシーシステムを用いたオブジェクト連携仲介システムは、上記に説明した構成を実現する処理ステップを記述したプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することにより、各種コンピュータを用いて構築できる。本発明のリバースプロキシーシステムおよびリバースプロキシーを用いたオブジェクト連携仲介システムを実現する処理ステップを備えたプログラムを記録した記録媒体は、図１４に図示した記録媒体の例に示すように、ＣＤ−ＲＯＭ１００２やフレキシブルディスク１００３等の可搬型記録媒体１００１だけでなく、ネットワーク上にある記録装置内の記録媒体１０００や、コンピュータのハードディスクやＲＡＭ等の記録媒体１００５のいずれであっても良く、プログラム実行時には、プログラムはコンピュータ１００４上にローディングされ、主メモリ上で実行される。
【００９２】
さらに、ソースプログラムをコンパイルしたもののみならず、ネットワークを介してクライアントコンピュータに中間言語形式のアプレットを送信し、クライアントコンピュータ上でインタープリタ実行して動作する構成であっても良い。
【００９３】
本発明のリバースプロキシーシステムにおいて以下の項をさらに開示する。
【００９４】
（付記１）メッセージを取り込むメッセージ受信部と、メッセージの要素とその要素に対するルールとの組と、前記組に従い、受信メッセージにマッチングしたルール内容であるアクションを実行するアクション実行部を備え、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージにおける局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送するメッセージ書き換え機能と、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージにおけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送するメッセージ書き戻し機能を備えたことを特徴とするリバースプロキシーシステム（１）。
【００９５】
（付記２）メッセージを取り込むメッセージ受信部と、メッセージ構造に対する反応であるアクションを関係付けたメッセージ・アクション反応テーブルと、前記メッセージ・アクション反応テーブルに従い、受信メッセージのメッセージ構造にマッチングしたアクションを実行するアクション実行部を備え、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージ構造における局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送するメッセージ構造書き換え機能と、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージ構造におけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送するメッセージ構造書き戻し機能を備えたことを特徴とするリバースプロキシーシステム（２）。
【００９６】
（付記３）前記管理下の局所フィールドにあるオブジェクトからのメッセージの内容を解析し、メッセージ形式を他のメッセージ形式に書き換える送信メッセージ形式書き換え機能と、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析し、メッセージ形式を前記管理下の局所フィールドにあるオブジェクトのメッセージ形式に書き戻す受信メッセージ形式書き戻し機能を備えた（付記１）または（付記２）に記載のリバースプロキシーシステム（３）。
【００９７】
（付記４）前記受信メッセージ形式書き戻し機能において、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析して当該応答メッセージの送信主体のあて先を示すあて先情報の存在を検知し、該あて先情報をリバースプロキシーのあて先情報に書き換えるあて先情報書き換え機能を含む上記（付記３）に記載のリバースプロキシーシステム（４）。
【００９８】
（付記５）前記管理下の局所フィールドにあるオブジェクトとのやり取りに用られるプロトコルを、他のプロトコルに変換する送信プロトコル変換機能と、前記書き換えメッセージに対して反応したオブジェクトとのやり取りに用いるプロトコルを、前記管理下の局所フィールドにあるオブジェクトとのやり取りに用いるプロトコルに変換し戻す受信プロトコル変換機能を備えた（付記１）または（付記２）に記載のリバースプロキシーシステム（５）。
【００９９】
（付記６）前記管理下の局所フィールドにあるオブジェクトと外部サーバとのアクセスにおいて、やり取りされるメッセージがｈｔｍｌ形式またはＸＭＬ形式のメッセージであり、該メッセージにリンク先を表わす前記外部サーバのＵＲＬが含まれている場合、該ＵＲＬを前記リバースプロキシーのＵＲＬに書き換える（付記３）に記載のリバースプロキシーシステム。
【０１００】
（付記７）外部サーバとオブジェクトとの１回目のアクセスにおいて、該オブジェクトを識別する識別文字列情報を双方に格納し、２回目のアクセス時には該オブジェクトから前記識別文字列情報を送信し、前記外部サーバは前記識別文字列情報と格納している識別文字列情報との照合によりアクセスしてきたオブジェクトを特定する仕組みの適用において、
外部サーバとの間においてリバースプロキシー自身の識別文字列情報を双方に格納し、前記管理下の局所フィールドにあるオブジェクトとの間において該オブジェクトの識別文字列情報を双方に格納し合う識別文字列情報処理部と、
前記オブジェクトからの識別文字列情報を用いたメッセージのやり取りを、リバースプロキシー自身の識別文字列情報に書き換えて前記外部サーバとのメッセージのやり取りとして仲介する識別文字列情報書き換え部を備えた（付記１）または（付記２）に記載のリバースプロキシーシステム。
【０１０１】
（付記８）メッセージを取り込むメッセージ受信部と、メッセージの要素とその要素に対するルールとの組と、前記組に従い、受信メッセージにマッチングしたルール内容であるアクションを実行するアクション実行部を備えたリバースプロキシーを用い、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージにおける局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送し、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージにおけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送することを特徴とするリバースプロキシーシステムを用いた仲介方法。
【０１０２】
（付記９）メッセージを取り込むメッセージ受信部と、メッセージ構造に対する反応であるアクションを関係付けたメッセージ・アクション反応テーブルと、前記メッセージ・アクション反応テーブルに従い、受信メッセージのメッセージ構造にマッチングしたアクションを実行するアクション実行部を備えたリバースプロキシーシステムを用い、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージ構造における局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送し、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージ構造におけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送することを特徴とするリバースプロキシーシステムを用いた仲介方法。
【０１０３】
（付記１０）メッセージを取り込むメッセージ受信部と、メッセージの要素とその要素に対するルールとの組と、前記組に従い、受信メッセージにマッチングしたルール内容であるアクションを実行するアクション実行部を備えたリバースプロキシーの処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込む処理ステップと、
前記アクション実行部により、該メッセージのメッセージにおける局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送する処理ステップと、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込む処理ステップと、
前記アクション実行部により、前記応答メッセージのメッセージにおけるリバースプロキシーを表わすメッセージタグを前記局所フィールドを表わすメッセージタグに書き戻して転送する処理ステップを記録したことを特徴とする記録媒体。
【０１０４】
（付記１１）メッセージを取り込むメッセージ受信部と、メッセージ構造に対する反応であるアクションを関係付けたメッセージ・アクション反応テーブルと、前記メッセージ・アクション反応テーブルに従い、受信メッセージのメッセージ構造にマッチングしたアクションを実行するアクション実行部を備えたオブジェクトの連携処理を制御するリバースプロキシーシステムの処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込む処理ステップと、
前記アクション実行部により、該メッセージのメッセージ構造における局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送する処理ステップと、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込む処理ステップと、
前記アクション実行部により、前記応答メッセージのメッセージ構造におけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送する処理ステップを記録したことを特徴とする記録媒体。
【０１０５】
【発明の効果】
本発明のリバースプロキシーシステムによれば、メッセージ構造を用いたメッセージ・アクション反応関係により柔軟かつ動的にオブジェクト間の連携を行うことができ、かつ、局所フィールド内は局所フィールドを表わすメッセージタグによるメッセージ構造を持つメッセージのみが送受信され、外部サーバと直接連携することはなく、リバースプロキシーを介したメッセージ構造の書き換え処理を経てのみ外部フィールドのオブジェクトとの連携が可能となる。また、メッセージの外部フィールドへの送信時のみならず、外部フィールドからのメッセージ受信時についても、リバースプロキシーを介したメッセージ構造の書き換え処理を経てのみ局所フィールドのオブジェクトが受信可能となる。
【０１０６】
また、本発明のリバースプロキシーシステムによれば、外部サーバからの応答メッセージの中に外部サーバのＵＲＬなど外部サーバのあて先情報が記載されている場合において、当該あて先情報をリバースプロキシーのあて先情報に書き換えて管理下の局所フィールドのオブジェクトに渡すので、局所フィールドのオブジェクトは外部サーバのＵＲＬなどあて先情報を知ることはない。
【０１０７】
また、本発明のリバースプロキシーシステムによれば、管理下の局所フィールドにあるオブジェクトと、外部サーバとのやり取りの仲介処理において、メッセージタグの書き換えによるメッセージ構造の書き換えのみならず、両者間で異なるメッセージ形式、プロトコルを変換することができ、両者間のシームレスでスムーズなオブジェクト連携を実現することができる。
【図面の簡単な説明】
【図１】  本発明のリバースプロキシーを用いたオブジェクト連携システムが前提とするフィールドリアクターモデルに基づくオブジェクト間の緩やかな連携を模式的に示した図
【図２】  本発明のリバースプロキシーシステムの概略構成例を示す図
【図３】  フィールドリアクターモデルを用いた場合の本発明のリバースプロキシーシステムの概略構成例を示す図
【図４】  本発明のリバースプロキシーを用いたオブジェクト連携システムの入力メッセージ構造の例を示す図
【図５】  本発明のリバースプロキシーによる仲介処理の概念を簡単に説明した図
【図６】  外部サーバからオブジェクトへの応答メッセージ送信時の仲介動作を示す図
【図７】  本発明のリバースプロキシーを用いた仲介処理の流れの概略を示す図
【図８】  プロキシーのプロトコルは形式的表現を示す図
【図９】  あて先情報書き換え機能を含むリバースプロキシーの構成例を示す図
【図１０】  本発明の実施形態２のリバースプロキシーを用いたオブジェクト連携システムの概略構成例を示す図
【図１１】  本発明の実施形態３のリバースプロキシーを用いたオブジェクト連携システムの概略構成例を示す図
【図１２】  本発明の実施形態３のリバースプロキシーを用いた局所フィールドにあるオブジェクトから外部オブジェクトへのメッセージの流れを示す図
【図１３】  本発明の実施形態３のリバースプロキシーを用いた外部オブジェクトから局所フィールドのオブジェクトへの応答メッセージの流れを示す図
【図１４】  本実施形態４におけるリバースプロキシーシステムを実現する処理プログラムを記録した記録媒体の例を示す図
【図１５】  従来技術のＣＯＲＢＡに基づいたクライアント／サーバシステムにおけるオブジェクト連携の例を示す図
【符号の説明】
１０  メッセージ送受信部
２０  ルール判定部
２０ａ  メッセージ・アクション反応テーブル
３０  アクション実行部
３１  メッセージ生成部
３２  メッセージ書き換え部
３３  あて先情報書き換え部
３３１  メッセージ解析部
３３２  あて先情報検知部
３４  文字列情報処理部
３５  オブジェクト識別文字列情報書き換え部
３６  メッセージ形式変換部
３６１  メッセージ形式解析部
３６２  メッセージ形式書き換え部
３７  プロトコル変換部
１００，１００ｂ，１００ｃ，１００ｄ  リバースプロキシー
２００，２０１，２０２  オブジェクト
３００  外部サーバ
４００  フィールド
４１０  局所フィールド
４２０  外部フィールド
１０００  記録装置内の記録媒体
１００１  可搬型記録媒体
１００２  ＣＤ−ＲＯＭ
１００３  フレキシブルディスク
１００４  コンピュータ
１００５  コンピュータのハードディスクやＲＡＭ等の記録媒体
【図１】
0004363752.tif 000006
【図２】
0004363752.tif 000007
【図３】
0004363752.tif 000008
【図４】
0004363752.tif 000009
【図５】
0004363752.tif 000010
【図６】
0004363752.tif 000011
【図７】
0004363752.tif 000012
【図８】
0004363752.tif 000013
【図９】
0004363752.tif 000014
【図１０】
0004363752.tif 000015
【図１１】
0004363752.tif 000016
【図１２】
0004363752.tif 000017
【図１３】
0004363752.tif 000018
【図１４】
0004363752.tif 000019
【図１５】
0004363752.tif 000020