JP4363752B2 - Reverse proxy system - Google Patents
Reverse proxy system Download PDFInfo
- Publication number
- JP4363752B2 JP4363752B2 JP2000193475A JP2000193475A JP4363752B2 JP 4363752 B2 JP4363752 B2 JP 4363752B2 JP 2000193475 A JP2000193475 A JP 2000193475A JP 2000193475 A JP2000193475 A JP 2000193475A JP 4363752 B2 JP4363752 B2 JP 4363752B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- reverse proxy
- rewriting
- function
- format
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータ群もしくはオブジェクト群の対話・協調などの連携処理を実施するオブジェクト連携システムに関し、分散型計算機環境などのオブジェクト指向環境において複数のプロセスが作りだされ、コンピュータネットワークを通じて、環境の変化に柔軟に対応し、漸進的に変化するシステム構築のためのオブジェクト連携システムに関する。特に、分散したオブジェクト間の通信や対話、協調など連携処理を行う際の仲介処理に関するものである。
【0002】
【従来の技術】
近年、ネットワーク化が進み、ネットワーク上に分散した複数のオブジェクトが互いに連携して処理を行うシステムが増えている。このような複数のオブジェクトが連携して処理を行うための技法として、オブジェクト指向型プログラミングやコンポーネント技術などの研究がなされている。
【0003】
オブジェクト指向型プログラミングの一例として、オブジェクト指向技術の標準化と普及を目指して設立された業界団体OMG(Object Management Group)によって定められた分散オブジェクト運用のための共通仕様CORBA(The Common Object Request Broker : Architecture and Specification)がある。
【0004】
図15に、CORBAに基づいたクライアント/サーバシステムにおけるオブジェクト連携の例を示す。このシステムは、クライアントアプリケーションとサーバ・アプリケーションとが連携することにより、つまりオブジェクト連携により一連の処理を行うものである。
【0005】
アプリケーション開発者は、クライアントおよびサーバそれぞれが提供するサービスのインターフェースをIDL(Interface Definition Language)で記述する。インターフェースとして定義する内容は、オブジェクトに依頼できるオペレーション群であり、各々のオペレーションは、オペレーション名、パラメタの定義、戻り値の定義、エラー発生時の例外処理、付加情報などが定義される。
【0006】
IDLで定義された内容を専用のコンパイラでコンパイルすることにより、クライアント用のスタブとサーバ用のスケルトンが生成される。スタブとは、クライアントアプリケーションにIDLで定義されたオペレーション群へのアクセスを提供するルーチン群である。クライアントアプリケーションは、スタブで提供されるルーチンを呼び出すことにより、各種オペレーションが起動される。スケルトンは、サーバ・アプリケーションが提供するメソッドルーチンヘのディスパッチングルーチンを提供する。
【0007】
スタブおよびスケルトンは、対応するクライアントアプリケーションあるいはサーバ・アプリケーションが使用するプログラミング言語で生成される。たとえば、使用されるプログラミング言語がC言語であったとすると、スタブはC言語の関数群として生成され、クライアントアプリケーションは、実行したいオペレーションに対応する関数を呼び出すことにより、スタブ、ORBランタイム、スケルトンを経由してサーバ・アプリケーションの該当ルーチンが呼び出され、所定の処理が実行されたあと、その処理結果が呼び出し元のクライアントアプリケーションに返される。
【0008】
【発明が解決しようとする課題】
ここで、従来のCORBAなどによりオブジェクト連携処理において、仲介行為を行うためにプロキシーサーバを設けた場合を考える。この場合は、クライアントが直接、通信レイヤーでの仲介処理を行うプロキシーサーバを指定する必要がある。しかし、エレクトリックコマースに代表されるような企業間、ユーザ間の仲介行為を柔軟に行うためには通信レイヤーでのプロキシーサーバの直接指定による詳細な記述は難しく、エージェントなどの仲介行為が必要となる。
【0009】
一般にエージェントの仲介行為は、依頼を行うエージェント、仲介行為を行うエージェント、データ提供を行うエージェントの間の対話で成立している。また、依頼を行うエージェントおよびデータ提供を行うエージェントは、通常のエージェント技術を用いないサービスに、エージェントとして対話を行うための機能をラッピングすることによって実現している。
【0010】
仲介行為が片方向または一回の往復である場合にはこの枠組みであれば問題は少なく、ユーザ側エージェント、データ提供側エージェントが仲介行為を行うエージェントの名前やアドレスを知識として持つことで対話が成立する。
【0011】
しかし、エージェントとしてラッピングされるサービスがウェブブラウザクライアントである場合には以下に示す問題がある。
【0012】
それは、クライアントによる仲介エージェントを介さないアクセスが可能となってしまう問題である。特に第二回目以降のアクセスにおいて仲介エージェントをバイパスしたアクセスが可能となる問題がある。例えば、最初のアクセスに関しては、仲介エージェントを介して依頼側エージェンからデータ提供側エージェントへアクセスを行う。そのためブラウザクライアント側で仲介エージェントのURLを指定してアクセスし、仲介エージェントによる仲介行為により両者の対話がスタートする。しかし、この最初のやり取りの結果、データ提供側エージェントから依頼側エージェントに対して返されたデータの中にURLが直接書き込まれていることが十分に想定される。この結果、依頼側エージェントがこのデータ提供側のURLを用いてアクセスすれば、仲介エージェントを介さずに直接データ提供側エージェントにアクセスすることが可能となってしまう。
【0013】
この問題は、オブジェクト間の連携において高いセキュリティが求められるアプリケーション処理を実現する場合など、お互いにセキュアなドメインを作ることが求められる場合には、依頼側エージェントからの要求がデータ提供側エージェントにより拒否されたり、エレクトリックコマース取引において、安全のための信任を得るための処理をかえって複雑化してしまうという問題が生じる。
【0014】
また、仲介エージェントサービスを提供するサービスプロバイダにとっては、自身の仲介エージェントサービスを介さない通信を勝手に許すこととなり、仲介サービスプロバイダによる仲介サービス制御ができなくなってしまうという問題が生じる。
【0015】
本発明は上記問題点を解決するため、ネットワークに接続されたオブジェクトとオブジェクトの連携をメッセージを介して行うオブジェクト連携システムにおいて、仲介処理を行うオブジェクトを導入し、該オブジェクト管理下の局所フィールドに存在するオブジェクトと外部サーバとを直接対話させることなく両者間のメッセージのやり取りを仲介し、仲介したメッセージをベースにしたオブジェクトの連携を実現するオブジェクト連携システムを提供することを目的とする。
【0016】
【課題を解決するための手段】
上記目的を達成するため、本発明のリバースプロキシーシステムは、メッセージを取り込むメッセージ受信部と、メッセージの要素とその要素に対するルールとの組を備えたルール判定部と、前記組に従い、受信メッセージにマッチングしたルール内容であるアクションを実行するアクション実行部を備え、前記メッセージ受信部によりメッセージを取り込み、前記ルール判定部により前記メッセージの要素に対応するルールの組がある場合に、前記メッセージの要素を前記ルールに従って対応するメッセージ要素に書き換えて書き換え後のメッセージを転送するメッセージ書き換え機能と、前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記ルール判定部により、前記応答メッセージの要素を前記ルールに従って対応するメッセージ要素に書き戻して転送するメッセージ書き戻し機能を備えたことを特徴とする。
【0017】
上記構成により、メッセージの要素とその要素に対するルールとの組を用いた関係により柔軟かつ動的にオブジェクト間の連携を行うことができ、リバースプロキシーを介したメッセージの書き換え処理を経て他のオブジェクトとの連携が可能となる。また、他のオブジェクトからの応答メッセージ受信時についてもリバースプロキシーを介してメッセージの書き戻し処理を経てメッセージを受信することが可能となる。
【0018】
なお、メッセージ書き戻し機能は、メッセージ書き換え機能において書き換えるメッセージの書き換え手順、書き換えルールに関する情報を受け取り、応答メッセージの書き戻しの際にそれら情報を利用する。
【0019】
本発明のリバースプロキシーシステムは、フィールドリアクターモデルを用いて構築することができる。フィールドリアクターモデルを用いた本発明のリバースプロキシーシステムは、メッセージを取り込むメッセージ受信部と、メッセージ構造に対する反応であるアクションを関係付けたメッセージ・アクション反応テーブルと、前記メッセージ・アクション反応テーブルに従い、受信メッセージのメッセージ構造にマッチングしたアクションを実行するアクション実行部を備え、前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージ構造における局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送するメッセージ構造書き換え機能と、前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージ構造におけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送するメッセージ構造書き戻し機能を備えたことを特徴とする。
【0020】
上記構成により、フィールドリアクターモデルにおけるメッセージ構造を用いたメッセージ・アクション反応関係により柔軟かつ動的にオブジェクト間の連携を行うことができ、リバースプロキシーを介したメッセージ構造の書き換え処理およびメッセージ構造の書き戻し処理を経てのみ外部フィールドのオブジェクトとの連携が可能となる。
【0021】
上記リバースプロキシーシステムは、管理下の局所フィールドにあるオブジェクトからのメッセージの内容を解析し、メッセージ形式を他のメッセージ形式に書き換える送信メッセージ形式書き換え機能と、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析し、メッセージ形式を前記管理下の局所フィールドにあるオブジェクトのメッセージ形式に書き戻す受信メッセージ形式書き戻し機能を備えることにより、メッセージ形式の変換を伴う仲介処理を実行できる。
【0022】
また、上記の受信メッセージ形式書き戻し機能において、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析して当該応答メッセージの送信主体のあて先を示すあて先情報の存在を検知し、該あて先情報をリバースプロキシーのあて先情報に書き換えるあて先情報書き換え機能を含むこととすれば、当該あて先情報をリバースプロキシーのあて先情報に書き換えて管理下の局所フィールドのオブジェクトに渡すので、局所フィールドのオブジェクトは外部サーバのURLなどあて先情報を知ることはない。
【0023】
また、上記リバースプロキシーシステムは、管理下の局所フィールドにあるオブジェクトとのやり取りに用られるプロトコルを、他のプロトコルに変換する送信プロトコル変換機能と、前記書き換えメッセージに対して反応したオブジェクトとのやり取りに用いるプロトコルを、前記管理下の局所フィールドにあるオブジェクトとのやり取りに用いるプロトコルに変換し戻す受信プロトコル変換機能を備えることにより、局所フィールド内では独自のプロトコルを採用していたり、外部サーバが採用しているプロトコルとは異なるプロトコルを採用していた場合でも、リバースプロキシーによりプロトコルの相違を吸収してメッセージを有意に仲介することが可能となる。
【0024】
また、上記リバースプロキシーシステムは、管理下の局所フィールドにあるオブジェクトと外部サーバとのアクセスにおいて、やり取りされるメッセージがhtml形式またはXML形式のメッセージであり、該メッセージにリンク先を表わす外部サーバのURLが含まれている場合に、該URLを前記リバースプロキシーのURLに書き換えることが好ましい。
【0025】
上記構成により、リバースプロキシーを介してのみ局所フィールドにあるオブジェクトと外部サーバとの連携が可能となり、直接相手のリンク先のURLを知る必要がない一方、提供されるウェブページは局所フィールド内のオブジェクトは直接リンクした場合と同様のものが閲覧できる。
【0026】
また、上記リバースプロキシーシステムは、いわゆるCookieに相当する仕組みの適用において識別文字列情報処理部と識別文字列情報書き換え部を備え、前記識別文字列情報処理部により、前記外部サーバとの間においてリバースプロキシー自身の識別文字列情報を交換して格納し合い、前記管理下の局所フィールドにあるオブジェクトとの間において該オブジェクトの識別文字列情報を交換して格納し合い、前記識別文字列情報書き換え部により、前記オブジェクトからの識別文字列情報を用いたメッセージのやり取りを、リバースプロキシー自身の識別文字列情報に書き換えて前記外部サーバとのメッセージのやり取りとして仲介することが好ましい。
【0027】
上記構成により、いわゆるCookieを用いたユーザ管理を実現する仕組みを導入した場合でもCookieを活用しつつ、仲介処理を実現することができる。
【0028】
【発明の実施の形態】
以下、本発明のオブジェクト連携システムの実施形態について、図面を参照しながら説明する。
【0029】
(実施形態1)
本発明のリバースプロキシーシステムは、メッセージの要素とその要素に対するルールとの組によりオブジェクト同士を結び付けることによりオブジェクト同士を連携させ、そのやり取りの過程に介在し、あるオブジェクトaから他のオブジェクトbへのメッセージ送信において、メッセージ要素を書き換えるメッセージ書き換え機能と書き換えたメッセージ要素を元に戻すメッセージ書き戻し機能を備えるものである。
【0030】
本発明のリバースプロキシーシステムの一実施形態として、フィールドリアクターモデルを前提とする構成が可能である。フィールドリアクターモデルとは、フィールドを流れるメッセージと当該メッセージに対応するアクションの関係によってオブジェクト同士を結び付けることによりオブジェクト同士の連携を構築し、当該メッセージとアクションの関係の記述を柔軟かつ動的に更新することによりオブジェクト連携関係を柔軟かつ動的に構築するものである。例えば、メッセージ構造とそのメッセージ構造に対応付けられるアクションの関係を反応テーブルという形で用意する。この一実施形態は、フィールドを流れるメッセージの要素とその要素に対するルールとの組によるオブジェクト同士の連携を、メッセージ構造とアクションの関係を記述した反応テーブルを用いたオブジェクト同士の連携という形に限定した形態となる。
【0031】
以下、本実施形態1ではリバースプロキシーシステムの概念を説明し、その一実施形態として、フィールドリアクターモデルを前提とした構成を中心に説明する。しかし、本発明のリバースプロキシーシステムは、フィールドリアクターモデルを用いた構成に限定されるものではない。
【0032】
以下、本発明のリバースプロキシーシステムの仲介処理を3つのパートに分けて順を追って説明する。
【0033】
第1のパートでは、メッセージを用いたオブジェクト同士の連携の概念と、リバースプロキシーシステムの基本構成と、一実施形態としてリバースプロキシーシステムが用いるフィールドリアクターモデルの動作原理、フィールドリアクターモデル用いた場合のリバースプロキシーシステムの基本構成を説明する。
【0034】
第2のパートでは、リバースプロキシーシステムによる仲介処理の概念を説明する。管理下にある局所フィールドのオブジェクトと外部サーバとの間の仲介処理を中心とした説明である。
【0035】
第3のパートでは、リバースプロキシーシステムによる、外部サーバからの応答メッセージ中に含まれたURLなど外部サーバのあて先情報を書き換えるあて先情報書き換え機能について説明する。
【0036】
まず、第1のパートのメッセージを用いたオブジェクト同士の連携の概念を説明する。
【0037】
本発明のリバースプロキシーシステムによるオブジェクトの連携は、オブジェクト間でやり取りされるメッセージの要素とそのメッセージ要素に対するルールとの組による関係づけを用いている。受信したメッセージを基にそのメッセージの要素に対応するルールを判定し、そのルール内容を実行することによりオブジェクト間の連携が行われる。
【0038】
以下、フィールドを用いた例を説明する。この場合、共通のフィールドとして定義されるような通信路を流れるメッセージに対して、オブジェクトとしての個々のコンピュータシステムあるいはコンピュータシステム内で動作する個々のアプリケーションプログラムが反応する形で処理を実行するので、メッセージとルールとの組を変更・調整することによりシステム全体の動作も柔軟に変更することができる。つまり、互いの内部状態や内部関数に依存しあうような密な関係とはしないで、連携するオブジェクトの緩やかな関係を規定したオブジェクト間の連携によって機能を動的に構成することができる。
【0039】
図1は、フィールドモデルにおけるメッセージを介したオブジェクト間の緩やかな連携を模式的に示した図である。
【0040】
図1において201はオブジェクトA,202はオブジェクトBであり、それぞれメッセージを送受信する主体であるオブジェクトである。M1はメッセージを示す。a1はオブジェクトA(201)中に規定されたルール、a2はオブジェクトB(202)中に規定されたルールを示す。なお、図中の矢印は、起点がオブジェクトのときメッセージの送出を、終点がオブジェクトのときメッセージの受信を示している。またそれぞれのオブジェクトは内部状態としてのルールおよびそのルール内容を実行する部分をそれぞれ独自に持っているとする。
【0041】
図1において、オブジェクトA(201)とオブジェクトB(202)の連携は、メッセージM1を介して行われている。オブジェクトA(201)は、オブジェクトB(202)の持つ内部関数についても基本的には関知せずにメッセージを送出する。また、オブジェクトB(202)自体を特定してメッセージを送出する必要もなく、オブジェクトA(201)は自己の状態、処理内容に基づいてメッセージM1を送出する。オブジェクトB(202)は通信路上を流れるメッセージをモニタしており、メッセージM1を検知し、M1がオブジェクトBにとって有意であるとき、反応してルールa2を起動し、そのルール内容を実行する。このようにオブジェクトAとオブジェクトBとは有意な連携を取り得るが、それはオブジェクトA(201)とオブジェクトB(202)の直接の結び付きによるものではなく、メッセージM1とオブジェクトB(202)のルールとが結び付けられ、さらにそのルール内容であるアクションにより結び付けられている帰結といえる。逆にメッセージがM1とは異なるものであれば、オブジェクトB(202)は当該メッセージがM1と同様の受理可能範囲にあるかあるいは他に当該メッセージと結び付けられているルールがない限り反応しないこととなる。このようにオブジェクト間の連携が緩やかにメッセージを介して行われることにより、オブジェクト間の連携の自由度が増すこととなる。つまり、従来のコンピュータネットワーク通信のように通信相手のアドレスおよび処理依頼内容を特定する必要がなく、ネットワーク上に自らの状態、処理結果などを表わすメッセージを流し、ネットワークをモニタしている各端末がそのメッセージを検知し、対応するルールが規定されていれば自律的に反応を起こすものである。
【0042】
なお、通信路は単にLANなどの物理的ネットワークだけではなく無線・音声・光などの共通に受信できる媒体を介在するものであれば特に限定する必要はない。また、共通に呼び出し可能なメモリ等の記録媒体であってもかまわない。さらに通信路のポートアドレスなどにより仮想的な存在であってもかまわない。
【0043】
次に、リバースプロキシーシステムの基本構成を示す。
【0044】
図2は、本発明のリバースプロキシーシステムの概略構成例を示す図である。100はオブジェクトを表わしており、ネットワーク上に送信されるメッセージを取り込むメッセージ送受信部10と、メッセージ要素とそのメッセージ要素に対するルールとの組を管理し、受け入れたメッセージに対するルールを判定するルール判定部20と、ルール判定部20の判定したルール内容に従ってアクションを実行するアクション実行部30、メッセージ生成部31、メッセージ書き換え部32を備えている。400はフィールドである。
【0045】
メッセージ生成部31は、アクション実行部30による処理内容の実行の一環としてメッセージを生成する部分であり、メッセージ書き換え部32は、外部オブジェクトへ送信するメッセージの形式などを書き換えたり、外部オブジェクトからの応答メッセージのメッセージ形式を元のメッセージ形式に書き戻したりする部分であり、メッセージ書き換え機能とメッセージ書き戻し機能を備えたものである。なお、メッセージ書き換え部32は、メッセージ書き換え機能におけるメッセージの書き換え手順や書き換え内容などの情報を記憶しておき、メッセージ書き戻し機能においてそれら情報を基に応答メッセージを元のメッセージ形式に書き戻す。
【0046】
メッセージがフィールド400から受信されるとルール判定部20の判定に従い、入力メッセージの要素に対応するルール内容が起動される。このように、他のオブジェクトが発したメッセージを介してオブジェクトが連携することとなる。メッセージ書き換え機能やメッセージ書き戻し機能を用いたリバースプロキシーの動作例は下記のパート2の部分以降に記述する。
【0047】
次に、フィールドリアクターモデルの動作原理およびフィールドリアクターモデルを用いたリバースプロキシーシステムの構成例を説明する。
【0048】
フィールドリアクターモデルとは、メッセージ構造を用いたパターンマッチングによるメッセージとアクションの反応関係により、受信メッセージのメッセージ構造に対して発火(反応)して対応するアクションを実行し、メッセージ−アクションの連携動作によりオブジェクト同士が連携する仕組みである。フィールドリアクターモデルでは、共通のフィールドとして定義されるような通信路を流れるメッセージに対して、オブジェクトとしての個々のコンピュータシステムあるいはコンピュータシステム内で動作する個々のアプリケーションプログラムが反応する形で処理を実行するので、メッセージとアクションとの反応関係を変更・調整することによりシステム全体の動作も柔軟に変更することができる。つまり、互いの内部状態や内部関数に依存しあうような密な関係とはしないで、連携するオブジェクトの緩やかな関係を規定したオブジェクト間の連携によって機能を動的に構成することができる。
【0049】
次に、フィールドリアクターモデル用いた場合のリバースプロキシーシステムの基本構成を説明する。
【0050】
図3は、フィールドリアクターモデル用いた場合のリバースプロキシーシステムの基本構成例を示す図である。図2のリバースプロキシーシステムの各構成要素と同じ番号のものは同様のものである。100aはオブジェクトを表わしており、ネットワーク上に送信されるメッセージを取り込むメッセージ送受信部10と、メッセージ構造に対する反応であるアクション内容を管理するメッセージ・アクション反応テーブル20aと、メッセージ・アクション反応テーブル20aに従い、受信メッセージの持つメッセージ構造にマッチングしたアクション内容に従って処理を実行するアクション実行部30、メッセージ生成部31、メッセージ書き換え部32を備えている。メッセージ生成部31は図2の場合と同様、アクション実行部30によるアクション実行の一環としてメッセージを生成する。また、メッセージ書き換え部32は、アクション実行部30によるアクション実行の一環として外部オブジェクトへ送信するメッセージのメッセージ形式を書き換えたり、外部オブジェクトからの応答メッセージのメッセージ形式を元のメッセージ形式に書き戻す部分であり、メッセージ構造書き換え機能とメッセージ構造書き戻し機能を備えたものとなっている。メッセージ書き換え部32は、メッセージ書き換え機能におけるメッセージの書き換え手順や書き換え内容などの情報を記憶しておき、メッセージ書き戻し機能においてそれら情報を基に応答メッセージを元のメッセージ形式に書き戻す。
【0051】
なお、メッセージ・アクション反応テーブル20には、メッセージ構造とメッセージタグの組み合わせが与えられている。例えば、図4に記載した入力メッセージ構造がメッセージ・アクション反応テーブル20に記載されている。
【0052】
図4に示した入力メッセージ構造を持つメッセージがフィールド400から受信されるとメッセージ・アクション反応テーブル20aの記述に従い、入力メッセージパターンマッチングが成立し、対応するアクションが起動される。このように、他のオブジェクトが発したメッセージを介してオブジェクトが連携することとなる。
【0053】
以上が、フィールドリアクターモデルに基づくオブジェクト連携の基本原理である。
【0054】
次に、第2のパートとして、リバースプロキシーシステムによる仲介処理の概念を説明する。
【0055】
図5は、リバースプロキシーシステムによる仲介処理の概念を簡単に説明した図である。図5はオブジェクトから外部サーバへの依頼メッセージ送信時の仲介動作を示している。図5において、201は局所フィールド410に存在するオブジェクト、100はリバースプロキシー、300は外部サーバ、420は外部フィールドである。リバースプロキシー100は局所フィールド410、外部フィールド420の双方において流れるメッセージを取り込むことができる。オブジェクト201には簡単にメッセージ・アクション反応テーブルに記述された依頼を出力するための出力メッセージパターンと応答メッセージを受けるための入力メッセージパターンとを示した。リバースプロキシー100には簡単に入力メッセージパターンとそのアクション(仲介処理)としての出力メッセージパターンを示した。外部サーバ300にも簡単に依頼を受けるための入力メッセージパターンと依頼に対する応答メッセージを送信するための出力メッセージパターンを示した。
【0056】
局所フィールドのオブジェクト201の出力メッセージパターンには局所フィールドを表わすメッセージタグ<GROUP>が組み合わされ、入力メッセージパターンにはリバースプロキシーを表わすメッセージタグ<PROXY>が組み合わされている。
【0057】
外部サーバ300には入力メッセージパターンにも出力メッセージパターンにも外部サーバを表わすメッセージタグ<SERVER>が組み合わされている。
【0058】
一方、リバースプロキシー100は局所フィールドから受ける入力メッセージパターンにはメッセージタグ<GROUP>が組み合わされ、そのアクションとしての出力メッセージはリバースプロキシーを表わすメッセージタグ<PROXY>に書き換えたものが組み合わされている。さらに、外部フィールドから受ける入力メッセージパターンにはメッセージタグ<SERVER>が組み合わされ、そのアクションとしての出力メッセージはメッセージタグ<PROXY>に書き換えたものが組み合わされている。メッセージ書き換え部32によるメッセージタグの書き換えにより仲介処理が実現される。
【0059】
図5に示したオブジェクト連携の動作は以下のようになる。まず、オブジェクト201は、依頼のため、例えば、出力メッセージパターンに以下の従ってメッセージ構造を持つメッセージを局所フィールド410に流す。
【0060】
リバースプロキシー100は、局所フィールド410から当該メッセージを取り込んで、メッセージ・アクション反応テーブルに従って発火(反応)し、そのアクションとして以下のメッセージ構造を持つメッセージを外部フィールド420に流す。
【0061】
つまり、メッセージ書き換え部32により、<GROUP>のメッセージタグが<PROXY>に書き換えられている。
【0062】
次に、図6は、外部サーバからオブジェクトへの応答メッセージ送信時の仲介動作を示している。外部サーバ300は、外部フィールド420から当該メッセージを取り込んでメッセージ・アクション反応テーブルに従って発火(反応)し、依頼内容を実行する。その後、依頼内容を実行した外部サーバは以下のメッセージ構造を持つ応答メッセージを外部フィールド430に流す。
【0063】
リバースプロキシー100は、メッセージ・アクション反応テーブルに従って発火(反応)し、そのアクションとしてメッセージ書き換え部32によるメッセージ書き換え機能により書き換えられた以下のメッセージ構造を持つメッセージが局所フィールド410に流される。
【0064】
オブジェクト201は、局所フィールド410から当該メッセージを取り込んで、メッセージ・アクション反応テーブルに従って発火(反応)し、応答メッセージを受け取る。
【0065】
以上の仕組みにより、本発明のリバースプロキシーシステムを用いたオブジェクト連携システムにおいて、局所フィールドに存在するオブジェクトは、リバースプロキシーの仲介処理によって外部フィールドにある外部サーバなどと連携することができ、直接連携し合う構成とならない。
【0066】
次に、第3のパートとして、リバースプロキシーシステムによる、外部サーバからの応答メッセージ中に含まれたURLなど外部サーバのあて先情報を書き換えるあて先情報書き換え機能について説明する。
【0067】
図7は、リバースプロキシーを用いた仲介処理の流れの概略を示している。図7に示すように、この例では、エージェント間の行為(Communicative Action)の一つである“proxy”を用いて行っている。図7に示したプロキシーのプロトコルは形式的表現として、図8のものが用いられている。
【0068】
図8に示した形式的表現は、エージェントiがエージェントjに対して、「jが知っているある条件を満たすyに対して、proxyの中に記述された通信行為を、条件φが満たされるとき、jがyに対して実施すること」をiが意図(期待)し、それをiがjに通知する行為として表現されており、エージェントにかかわる国際標準化組織において定式化されたものである。
【0069】
このような形式的表現を用いた仲介行為は、jからyへの通信行為はあくまでもjの行為として扱われるが、iがjに依頼していることは、コンテンツの内容の転送ではなく、actionの実施の依頼である。本発明のリバースプロキシーシステムはこの点に着目し、iからjへの行為に含まれるコンテンツと、jがyに行う行為のコンテンツとは一致する必要がないとして、jのポジションにリバースプロキシーを設け、リバースプロキシーがメッセージを仲介するにあたり、メッセージ内容を書き換えて仲介する。
【0070】
また、yからjへのinformという行為は、yがjに事実を伝えるということを意味するのみである。jからiへの伝達については規定されていない。本発明のリバースプロキシーを用いたオブジェクト連携システムによる仲介処理はこの点にも着目し、yからjに戻されるコンテンツをjが受理した段階で解析し、その中にyやその他のエージェントのあて先情報である送信先アドレスが含まれている場合にはこの記述を書き換え、jをあて先とするメッセージに変更する。この処理により、iは応答メッセージを受信しても直接yのあて先情報知ることはできないこととなる。
【0071】
図9は、あて先情報書き換え機能を含むリバースプロキシーシステムの構成例を示す図である。100bはリバースプロキシーを表わしており、メッセージ送受信部10と、メッセージ・アクション反応テーブル20aと、アクション実行部30、メッセージ生成部31、メッセージ書き換え部32に加え、あて先情報書き換え部33を備えている。あて先情報書き換え部33はメッセージ解析部331、あて先情報検知部332を備えている。
【0072】
リバースプロキシー100bは、外部フィールド420からメッセージ送受信部10を介して、メッセージ・アクション反応テーブル20aに従い、外部サーバ300からの応答メッセージを受け取ると、アクション実行部30によりアクションを実行するが、アクションの一環として、あて先情報書き換え部33によるあて先情報書き換え処理を行う。まず、メッセージ解析部331によりメッセージを解析し、あて先情報検知部332により外部サーバ300のURLなどのあて先情報が書き込まれていないかチェックする。もし書き込まれているならば、あて先情報書き換え部33はリバースプロキシー自身のあて先情報に書き換える。その後、アクションが継続され、依頼元の局所フィールド410にあるサーバへ応答メッセージが流される。
【0073】
やり取りされるメッセージがhtml形式またはXML形式のメッセージであり、該メッセージにリンク先を表わす外部サーバ300のURLが含まれている場合に該URLを、リバースプロキシー100bのURLに書き換える。
【0074】
以上の仕組みにより、本発明のリバースプロキシーシステムを用いたオブジェクト連携システムにおいて、局所フィールドに存在するオブジェクトは、応答メッセージの中に書き込まれた外部サーバのURLなどのあて先情報を直接受け取ることがなく、外部サーバと直接通信し合うことができない。必ずリバースプロキシーによる仲介処理により外部フィールドにある外部サーバなどとオブジェクト連携を行うこととなる。
【0075】
なお、上記説明では、一実施形態として、図3に示したフィールドリアクターモデルを前提とした構成を中心に説明したが、しかし、図2に示した構成のように本発明のリバースプロキシーシステムは、フィールドリアクターモデルを用いた構成に限定されるものではない。
【0076】
(実施形態2)
実施形態2は、局所フィールドのオブジェクトと外部サーバとのやり取りにおいてCookieに相当する情報が交換される場合の仲介処理について説明する。Cookieとは、ワールドワイドウェブ(以下、WWWと略記する)上でユーザを管理を実現する仕組みを言い、WWWサーバがユーザを識別する識別文字列情報Cookieを生成し、WWWサーバとブラウザ双方に格納しておき、2回目のアクセス時にはブラウザから当該CookieをHTTPで送信し、サーバ側に格納されているCookieと照合してユーザを特定する仕組みである。つまり、外部サーバとオブジェクトとの1回目のアクセスにおいて、オブジェクトを識別する識別文字列情報を交換して格納し合い、2回目のアクセス時にはオブジェクトから識別文字列情報を送信し、外部サーバにおいて格納された当該識別文字列情報との照合によりアクセスしてきたオブジェクトを特定する仕組みの適用する場合の扱いである。
【0077】
図10は、実施形態2のオブジェクト連携システムの概略構成例を示す図である。図3に比べ、リバースプロキシー100cは、アクション実行部30において識別文字列情報処理部34と識別文字列情報書き換え部35を備えた構成となっている。
【0078】
識別文字列情報処理部34は、いわゆるCookiesの全体仕様に基づいて、サーバとの間でCookieを用いたやり取りを制御する部分である。識別文字列情報処理部34により、外部サーバ300との間においてリバースプロキシー100c自身の識別文字列情報(Cookie1)を交換して格納し合い、前記管理下の局所フィールド410にあるオブジェクト200との間においてオブジェクト200の識別文字列情報(Cookie2)を交換して格納し合う。
【0079】
識別文字列情報書き換え部35は、オブジェクト200から受けた識別文字列情報(Cookie2)を用いたメッセージのやり取りを、リバースプロキシー100c自身のオブジェクト識別文字列情報(Cookie1)に書き換えて外部サーバ300とのメッセージのやり取りに仲介する。このようにオブジェクト識別文字列情報を書き換えて仲介することにより文字列情報(Cookie)を利用したメッセージのやり取りの仕組みを適用することができ、かつ、局所フィールド410と外部フィールド420上でやり取りされるオブジェクト識別文字列情報が書き換えられて仲介されるので、局所フィールド410のオブジェクト200が外部サーバ300によって直接管理されることにはならない。
【0080】
以上、局所フィールドのオブジェクトと外部サーバとのやり取りにおいてオブジェクト識別文字列情報を用いたユーザ管理の仕組み(Cookies)を適用することができ、かつ、やり取りされるオブジェクト識別文字列情報は書き換えられるので局所フィールドのオブジェクトが外部サーバによって直接管理されず、リバースプロキシーによる仲介処理を維持することができる。
【0081】
(実施形態3)
実施形態3は、局所フィールドのオブジェクトと外部サーバとのメッセージのやり取りにおいて、メッセージ形式やプロトコルを変換する機能を備えたものである。実施形態1などにおいてもメッセージ形式変換やプロトコル変換に関する部分があるが、ここではメッセージ形式変換およびプロトコル変換に関する部分に注目して説明する。
【0082】
図11は、実施形態3のオブジェクト連携システムの概略構成例を示す図である。図3に比べ、リバースプロキシー100dはアクション実行部30においてメッセージ形式変換部36とプロトコル変換部37を備えた構成となっている。
【0083】
メッセージ形式変換部36は、メッセージ形式解析部361と、メッセージ形式書き換え部362を備えており、管理下の局所フィールドにあるオブジェクトからのメッセージの形式を解析し、メッセージ形式を他のメッセージ形式に書き換える送信メッセージ形式書き換え機能と、さらに、外部サーバからの応答メッセージの内容を解析し、メッセージ形式を管理下の局所フィールドにあるオブジェクトのメッセージ形式に書き戻す受信メッセージ形式書き戻し機能を備えたものである。なお、メッセージ形式書き換え部362は、送信メッセージ形式書き換え機能におけるメッセージ形式の書き換え手順や書き換え内容などの情報を記憶しておき、受信メッセージ形式書き戻し機能においてそれら情報を基に応答メッセージの形式を元のメッセージ形式に書き戻す。
【0084】
ここで、送信メッセージ形式書き換え機能および受信メッセージ形式書き戻し機能において扱われるメッセージ形式の例を挙げると、一つにはエンコーディング形式がある。局所フィールドのオブジェクトが扱うエンコーディング形式と外部オブジェクトの扱うエンコーディング形式が異なっている場合でも両者間の違いをメッセージ形式変換部36により変換して吸収し、メッセージを受け渡す。
【0085】
他にはメッセージの要素に対する名前付けのルールがある。例えばID情報に関する名前付けのルールが両者間で異なっている場合でも両者間の違いをメッセージ形式変換部36により変換して吸収し、メッセージを受け渡す。
【0086】
他には、パラメタ内容がある。図12および図13は、その例を示したものである。ここでは、パラメタ内容としてカンバセーションIDについてのパラメタ内容が変更された例を示す。図12が局所フィールドにあるオブジェクトから外部オブジェクトへのメッセージの流れ、図13が外部オブジェクトから局所フィールドのオブジェクトへの応答メッセージの流れを示している。図12および図13で明らかなように、ARG2に関するパラメタ内容がリバースプロキシーシステムにより変換されていることが分かる。図12では局所フィールドにあるオブジェクトとリバースプロキシー間ではARG2のパラメタ内容はabcであるが、リバースプロキシーと外部オブジェクト間ではARG2のパラメタ内容はdefに書き換えられている。図13では、逆に、リバースプロキシーと外部オブジェクト間でのARG2のパラメタ内容はdefであるが、リバースプロキシーと局所フィールドにあるオブジェクト間ではabcに書き戻されている。
【0087】
他には、シンタックスの変換がある。html形式とXML形式などメッセージのシンタックスを書き換え、書き戻しすることが可能である。
【0088】
なお、上記のメッセージ形式の書き換えや書き戻しにおいては、変更例を挙げたが変更のみならず、追加や削除などの概念も含まれるものである。例えば、図12や図13において局所フィールドにあるオブジェクトとリバースプロキシー間ではARG1とARG2の識別子を持つメッセージ形式であり、リバースプロキシーと外部オブジェクトの間ではARG1に相当する識別子を持つがARG2に相当する識別子がないメッセージ形式である場合に両者間のメッセージ形式の違いを吸収することもできるものである。
【0089】
次に、プロトコル変換部37は、管理下の局所フィールドにあるオブジェクトとのやり取りに用られるプロトコルを、外部サーバとのやり取りに用いられる他のプロトコルに変換する送信プロトコル変換機能と、外部サーバとのやり取りに用いるプロトコルを、管理下の局所フィールドにあるオブジェクトとのやり取りに用いるプロトコルに変換し戻す受信プロトコル変換機能を備えたものである。プロトコル変換部37は、送信プロトコル変換機能におけるプロトコル変換手順や変換内容などの情報を記憶しておき、受信プロトコル変換機能においてそれら情報を基に応答メッセージに関するプロトコルを元のプロトコルに書き戻す。
【0090】
このように、管理下の局所フィールドにあるオブジェクトと、外部サーバとのやり取りの仲介処理において、メッセージ形式やプロトコルの書き換え、書き戻しにより、両者間で異なるメッセージ形式、プロトコルを変換することができ、両者間のシームレスでスムーズなオブジェクト連携を実現することができる。
【0091】
(実施形態4)
本発明のリバースプロキシーシステムおよびリバースプロキシーシステムを用いたオブジェクト連携仲介システムは、上記に説明した構成を実現する処理ステップを記述したプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することにより、各種コンピュータを用いて構築できる。本発明のリバースプロキシーシステムおよびリバースプロキシーを用いたオブジェクト連携仲介システムを実現する処理ステップを備えたプログラムを記録した記録媒体は、図14に図示した記録媒体の例に示すように、CD−ROM1002やフレキシブルディスク1003等の可搬型記録媒体1001だけでなく、ネットワーク上にある記録装置内の記録媒体1000や、コンピュータのハードディスクやRAM等の記録媒体1005のいずれであっても良く、プログラム実行時には、プログラムはコンピュータ1004上にローディングされ、主メモリ上で実行される。
【0092】
さらに、ソースプログラムをコンパイルしたもののみならず、ネットワークを介してクライアントコンピュータに中間言語形式のアプレットを送信し、クライアントコンピュータ上でインタープリタ実行して動作する構成であっても良い。
【0093】
本発明のリバースプロキシーシステムにおいて以下の項をさらに開示する。
【0094】
(付記1)メッセージを取り込むメッセージ受信部と、メッセージの要素とその要素に対するルールとの組と、前記組に従い、受信メッセージにマッチングしたルール内容であるアクションを実行するアクション実行部を備え、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージにおける局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送するメッセージ書き換え機能と、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージにおけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送するメッセージ書き戻し機能を備えたことを特徴とするリバースプロキシーシステム(1)。
【0095】
(付記2)メッセージを取り込むメッセージ受信部と、メッセージ構造に対する反応であるアクションを関係付けたメッセージ・アクション反応テーブルと、前記メッセージ・アクション反応テーブルに従い、受信メッセージのメッセージ構造にマッチングしたアクションを実行するアクション実行部を備え、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージ構造における局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送するメッセージ構造書き換え機能と、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージ構造におけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送するメッセージ構造書き戻し機能を備えたことを特徴とするリバースプロキシーシステム(2)。
【0096】
(付記3)前記管理下の局所フィールドにあるオブジェクトからのメッセージの内容を解析し、メッセージ形式を他のメッセージ形式に書き換える送信メッセージ形式書き換え機能と、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析し、メッセージ形式を前記管理下の局所フィールドにあるオブジェクトのメッセージ形式に書き戻す受信メッセージ形式書き戻し機能を備えた(付記1)または(付記2)に記載のリバースプロキシーシステム(3)。
【0097】
(付記4)前記受信メッセージ形式書き戻し機能において、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析して当該応答メッセージの送信主体のあて先を示すあて先情報の存在を検知し、該あて先情報をリバースプロキシーのあて先情報に書き換えるあて先情報書き換え機能を含む上記(付記3)に記載のリバースプロキシーシステム(4)。
【0098】
(付記5)前記管理下の局所フィールドにあるオブジェクトとのやり取りに用られるプロトコルを、他のプロトコルに変換する送信プロトコル変換機能と、前記書き換えメッセージに対して反応したオブジェクトとのやり取りに用いるプロトコルを、前記管理下の局所フィールドにあるオブジェクトとのやり取りに用いるプロトコルに変換し戻す受信プロトコル変換機能を備えた(付記1)または(付記2)に記載のリバースプロキシーシステム(5)。
【0099】
(付記6)前記管理下の局所フィールドにあるオブジェクトと外部サーバとのアクセスにおいて、やり取りされるメッセージがhtml形式またはXML形式のメッセージであり、該メッセージにリンク先を表わす前記外部サーバのURLが含まれている場合、該URLを前記リバースプロキシーのURLに書き換える(付記3)に記載のリバースプロキシーシステム。
【0100】
(付記7)外部サーバとオブジェクトとの1回目のアクセスにおいて、該オブジェクトを識別する識別文字列情報を双方に格納し、2回目のアクセス時には該オブジェクトから前記識別文字列情報を送信し、前記外部サーバは前記識別文字列情報と格納している識別文字列情報との照合によりアクセスしてきたオブジェクトを特定する仕組みの適用において、
外部サーバとの間においてリバースプロキシー自身の識別文字列情報を双方に格納し、前記管理下の局所フィールドにあるオブジェクトとの間において該オブジェクトの識別文字列情報を双方に格納し合う識別文字列情報処理部と、
前記オブジェクトからの識別文字列情報を用いたメッセージのやり取りを、リバースプロキシー自身の識別文字列情報に書き換えて前記外部サーバとのメッセージのやり取りとして仲介する識別文字列情報書き換え部を備えた(付記1)または(付記2)に記載のリバースプロキシーシステム。
【0101】
(付記8)メッセージを取り込むメッセージ受信部と、メッセージの要素とその要素に対するルールとの組と、前記組に従い、受信メッセージにマッチングしたルール内容であるアクションを実行するアクション実行部を備えたリバースプロキシーを用い、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージにおける局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送し、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージにおけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送することを特徴とするリバースプロキシーシステムを用いた仲介方法。
【0102】
(付記9)メッセージを取り込むメッセージ受信部と、メッセージ構造に対する反応であるアクションを関係付けたメッセージ・アクション反応テーブルと、前記メッセージ・アクション反応テーブルに従い、受信メッセージのメッセージ構造にマッチングしたアクションを実行するアクション実行部を備えたリバースプロキシーシステムを用い、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージ構造における局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送し、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージ構造におけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送することを特徴とするリバースプロキシーシステムを用いた仲介方法。
【0103】
(付記10)メッセージを取り込むメッセージ受信部と、メッセージの要素とその要素に対するルールとの組と、前記組に従い、受信メッセージにマッチングしたルール内容であるアクションを実行するアクション実行部を備えたリバースプロキシーの処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込む処理ステップと、
前記アクション実行部により、該メッセージのメッセージにおける局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送する処理ステップと、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込む処理ステップと、
前記アクション実行部により、前記応答メッセージのメッセージにおけるリバースプロキシーを表わすメッセージタグを前記局所フィールドを表わすメッセージタグに書き戻して転送する処理ステップを記録したことを特徴とする記録媒体。
【0104】
(付記11)メッセージを取り込むメッセージ受信部と、メッセージ構造に対する反応であるアクションを関係付けたメッセージ・アクション反応テーブルと、前記メッセージ・アクション反応テーブルに従い、受信メッセージのメッセージ構造にマッチングしたアクションを実行するアクション実行部を備えたオブジェクトの連携処理を制御するリバースプロキシーシステムの処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込む処理ステップと、
前記アクション実行部により、該メッセージのメッセージ構造における局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送する処理ステップと、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込む処理ステップと、
前記アクション実行部により、前記応答メッセージのメッセージ構造におけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送する処理ステップを記録したことを特徴とする記録媒体。
【0105】
【発明の効果】
本発明のリバースプロキシーシステムによれば、メッセージ構造を用いたメッセージ・アクション反応関係により柔軟かつ動的にオブジェクト間の連携を行うことができ、かつ、局所フィールド内は局所フィールドを表わすメッセージタグによるメッセージ構造を持つメッセージのみが送受信され、外部サーバと直接連携することはなく、リバースプロキシーを介したメッセージ構造の書き換え処理を経てのみ外部フィールドのオブジェクトとの連携が可能となる。また、メッセージの外部フィールドへの送信時のみならず、外部フィールドからのメッセージ受信時についても、リバースプロキシーを介したメッセージ構造の書き換え処理を経てのみ局所フィールドのオブジェクトが受信可能となる。
【0106】
また、本発明のリバースプロキシーシステムによれば、外部サーバからの応答メッセージの中に外部サーバのURLなど外部サーバのあて先情報が記載されている場合において、当該あて先情報をリバースプロキシーのあて先情報に書き換えて管理下の局所フィールドのオブジェクトに渡すので、局所フィールドのオブジェクトは外部サーバのURLなどあて先情報を知ることはない。
【0107】
また、本発明のリバースプロキシーシステムによれば、管理下の局所フィールドにあるオブジェクトと、外部サーバとのやり取りの仲介処理において、メッセージタグの書き換えによるメッセージ構造の書き換えのみならず、両者間で異なるメッセージ形式、プロトコルを変換することができ、両者間のシームレスでスムーズなオブジェクト連携を実現することができる。
【図面の簡単な説明】
【図1】 本発明のリバースプロキシーを用いたオブジェクト連携システムが前提とするフィールドリアクターモデルに基づくオブジェクト間の緩やかな連携を模式的に示した図
【図2】 本発明のリバースプロキシーシステムの概略構成例を示す図
【図3】 フィールドリアクターモデルを用いた場合の本発明のリバースプロキシーシステムの概略構成例を示す図
【図4】 本発明のリバースプロキシーを用いたオブジェクト連携システムの入力メッセージ構造の例を示す図
【図5】 本発明のリバースプロキシーによる仲介処理の概念を簡単に説明した図
【図6】 外部サーバからオブジェクトへの応答メッセージ送信時の仲介動作を示す図
【図7】 本発明のリバースプロキシーを用いた仲介処理の流れの概略を示す図
【図8】 プロキシーのプロトコルは形式的表現を示す図
【図9】 あて先情報書き換え機能を含むリバースプロキシーの構成例を示す図
【図10】 本発明の実施形態2のリバースプロキシーを用いたオブジェクト連携システムの概略構成例を示す図
【図11】 本発明の実施形態3のリバースプロキシーを用いたオブジェクト連携システムの概略構成例を示す図
【図12】 本発明の実施形態3のリバースプロキシーを用いた局所フィールドにあるオブジェクトから外部オブジェクトへのメッセージの流れを示す図
【図13】 本発明の実施形態3のリバースプロキシーを用いた外部オブジェクトから局所フィールドのオブジェクトへの応答メッセージの流れを示す図
【図14】 本実施形態4におけるリバースプロキシーシステムを実現する処理プログラムを記録した記録媒体の例を示す図
【図15】 従来技術のCORBAに基づいたクライアント/サーバシステムにおけるオブジェクト連携の例を示す図
【符号の説明】
10 メッセージ送受信部
20 ルール判定部
20a メッセージ・アクション反応テーブル
30 アクション実行部
31 メッセージ生成部
32 メッセージ書き換え部
33 あて先情報書き換え部
331 メッセージ解析部
332 あて先情報検知部
34 文字列情報処理部
35 オブジェクト識別文字列情報書き換え部
36 メッセージ形式変換部
361 メッセージ形式解析部
362 メッセージ形式書き換え部
37 プロトコル変換部
100,100b,100c,100d リバースプロキシー
200,201,202 オブジェクト
300 外部サーバ
400 フィールド
410 局所フィールド
420 外部フィールド
1000 記録装置内の記録媒体
1001 可搬型記録媒体
1002 CD−ROM
1003 フレキシブルディスク
1004 コンピュータ
1005 コンピュータのハードディスクやRAM等の記録媒体[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an object cooperation system that performs cooperation processing such as dialogue / cooperation of a computer group or an object group, and a plurality of processes are created in an object-oriented environment such as a distributed computer environment. It is related with the object cooperation system for the system construction which respond | corresponds flexibly and changes gradually. In particular, the present invention relates to an intermediary process when performing cooperative processes such as communication, dialogue, and cooperation between distributed objects.
[0002]
[Prior art]
In recent years, with the progress of networking, a system in which a plurality of objects distributed on a network perform processing in cooperation with each other is increasing. Researches such as object-oriented programming and component technology have been made as techniques for processing such a plurality of objects in cooperation.
[0003]
As an example of object-oriented programming, the common object CORBA (The Common Object Request Broker: Architecture) for distributed object operation established by the industry organization OMG (Object Management Group) established with the aim of standardizing and spreading object-oriented technology and Specification).
[0004]
FIG. 15 shows an example of object cooperation in a client / server system based on CORBA. This system performs a series of processes by cooperation between a client application and a server application, that is, by object cooperation.
[0005]
The application developer describes an interface of a service provided by each of the client and the server in IDL (Interface Definition Language). The content defined as an interface is an operation group that can be requested to an object. Each operation defines an operation name, parameter definition, return value definition, exception handling when an error occurs, additional information, and the like.
[0006]
By compiling the contents defined by IDL with a dedicated compiler, a stub for a client and a skeleton for a server are generated. A stub is a group of routines that provide a client application with access to a group of operations defined in IDL. The client application starts various operations by calling a routine provided by the stub. The skeleton provides a dispatching routine to the method routine provided by the server application.
[0007]
Stubs and skeletons are generated in the programming language used by the corresponding client application or server application. For example, if the programming language used is C language, the stub is generated as a C language function group, and the client application calls the function corresponding to the operation to be executed, and passes through the stub, ORB runtime, and skeleton. Then, the corresponding routine of the server application is called and a predetermined process is executed. Then, the processing result is returned to the calling client application.
[0008]
[Problems to be solved by the invention]
Here, a case is considered where a proxy server is provided to perform an intermediary action in the object cooperation processing using conventional CORBA or the like. In this case, it is necessary for the client to directly specify a proxy server that performs mediation processing in the communication layer. However, in order to flexibly perform intermediary between companies and users as represented by electric commerce, detailed description by direct specification of the proxy server in the communication layer is difficult, and intermediary such as agents is required. .
[0009]
In general, the mediating action of an agent is established by a dialogue between an agent that performs a request, an agent that performs a mediating action, and an agent that provides data. In addition, the agent that performs the request and the agent that provides the data are realized by wrapping a function for performing an interaction as an agent on a service that does not use a normal agent technology.
[0010]
If the mediation is a one-way or one-way round trip, there is little problem with this framework, and the interaction is possible because the agent on the user side and the data provider side have the knowledge of the name and address of the agent performing the mediation. To establish.
[0011]
However, when the service wrapped as an agent is a web browser client, there are the following problems.
[0012]
That is a problem that allows a client to access without going through a mediation agent. In particular, there is a problem that access that bypasses the mediating agent is possible in the second and subsequent accesses. For example, for the first access, the requesting agent accesses the data providing agent via the mediation agent. Therefore, the browser client side specifies and accesses the URL of the mediation agent, and the dialogue between the two starts by the mediation action by the mediation agent. However, as a result of this initial exchange, it is sufficiently assumed that the URL is directly written in the data returned from the data providing agent to the requesting agent. As a result, if the requesting agent accesses using the URL on the data providing side, it becomes possible to directly access the data providing agent without going through the mediating agent.
[0013]
The problem is that the request from the requesting agent is rejected by the data providing agent when it is required to create a secure domain for each other, such as when implementing an application process that requires high security in cooperation between objects. In electric commerce transactions, there arises a problem that the process for obtaining the confidence for safety is complicated.
[0014]
Further, a service provider that provides an intermediary agent service arbitrarily allows communication not via its own intermediary agent service, which causes a problem that the intermediary service provider cannot control the intermediary service.
[0015]
In order to solve the above-mentioned problems, the present invention introduces an object for mediation processing in an object linkage system that links objects connected to a network via a message and exists in a local field under the object management. It is an object of the present invention to provide an object cooperation system that mediates message exchange between two objects without directly interacting with an external server and realizes object cooperation based on the mediated message.
[0016]
[Means for Solving the Problems]
In order to achieve the above object, the reverse proxy system of the present invention includes a message receiving unit that captures a message, a rule determination unit that includes a set of a message element and a rule for the element, and matches a received message according to the set. An action executing unit that executes an action that is the content of the rule, the message is received by the message receiving unit, and when there is a set of rules corresponding to the element of the message by the rule determining unit, the element of the message is A message rewriting function that rewrites the corresponding message element in accordance with a rule and transfers the rewritten message, and the message receiving unit captures a response message from an external object that has reacted to the transferred message, into the rule determination unit Yo Characterized in that the elements of the response message with the corresponding messages are written back to transfer written back to the message elements in accordance with the rules.
[0017]
With the above configuration, it is possible to flexibly and dynamically cooperate between objects by a relationship using a pair of a message element and a rule for the element, and with other objects through message rewrite processing via a reverse proxy. Can be linked. In addition, when a response message is received from another object, the message can be received through a message write-back process via the reverse proxy.
[0018]
Note that the message write-back function receives information related to the message rewrite procedure and rewrite rules that are rewritten by the message rewrite function, and uses the information when writing back the response message.
[0019]
The reverse proxy system of the present invention can be constructed using a field reactor model. The reverse proxy system of the present invention using a field reactor model includes a message receiving unit that takes in a message, a message / action reaction table that associates an action that is a reaction to a message structure, and a received message according to the message / action reaction table. An action execution unit that executes an action matching the message structure of the message, the message receiving unit fetches a message from an object on a managed local field, and the action execution unit sets a local field in the message structure of the message. A message structure rewriting function for rewriting and transferring a message tag representing a message tag representing a reverse proxy, and the message receiving unit A message that captures a response message from an external object that has responded to a message, and writes back a message tag that represents a reverse proxy in the message structure of the response message to a message tag that represents the local field by the action execution unit and transfers the message tag It is characterized by a structural write-back function.
[0020]
With the above configuration, it is possible to flexibly and dynamically link objects with the message / action reaction relationship using the message structure in the field reactor model, and the message structure rewriting process and message structure writing back via the reverse proxy. It is possible to link with an object in an external field only after processing.
[0021]
The reverse proxy system analyzes the content of a message from an object in a managed local field, rewrites the message format to another message format, and from the object that reacts to the rewritten message. By providing the received message format write-back function that analyzes the content of the response message and writes the message format back to the message format of the object in the managed local field, mediation processing with message format conversion can be executed.
[0022]
Further, in the received message format write-back function, the content of the response message from the object that has reacted to the rewrite message is analyzed to detect the presence of destination information indicating the destination of the sender of the response message, If the destination information rewriting function that rewrites the destination information to the reverse proxy destination information is included, the destination information is rewritten to the reverse proxy destination information and passed to the managed local field object. It does not know the destination information such as the URL of the server.
[0023]
In addition, the reverse proxy system uses a transmission protocol conversion function for converting a protocol used for an exchange with an object in a managed local field into another protocol, and an exchange with an object that reacts to the rewritten message. By providing a receiving protocol conversion function that converts the protocol to be used back into a protocol used for exchange with objects in the managed local field, a unique protocol is used in the local field, or an external server adopts it. Even when a different protocol from the existing protocol is adopted, the reverse proxy can absorb the protocol difference and mediate the message significantly.
[0024]
In the reverse proxy system, the message exchanged in the access between the object in the local field under management and the external server is a message in html format or XML format, and the URL of the external server indicating the link destination in the message Is included, it is preferable to rewrite the URL to the URL of the reverse proxy.
[0025]
With the above configuration, it is possible to link an object in a local field with an external server only via a reverse proxy, and there is no need to directly know the URL of the link destination of the other party, while the provided web page is an object in the local field. You can browse the same as if you linked directly.
[0026]
In addition, the reverse proxy system includes an identification character string information processing unit and an identification character string information rewriting unit in the application of a mechanism equivalent to a so-called cookie, and reverses between the identification character string information processing unit and the external server. The identification character string information of the proxy itself is exchanged and stored, the identification character string information of the object is exchanged and stored with the object in the managed local field, and the identification character string information rewriting unit Thus, it is preferable that the message exchange using the identification character string information from the object is rewritten as the identification character string information of the reverse proxy itself to mediate the message exchange with the external server.
[0027]
With the above configuration, even when a mechanism for realizing user management using a so-called cookie is introduced, mediation processing can be realized while using the cookie.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of an object cooperation system of the present invention will be described with reference to the drawings.
[0029]
(Embodiment 1)
In the reverse proxy system of the present invention, objects are linked by linking objects by a combination of a message element and a rule for the element, intervening in the exchange process, and from one object a to another object b. In message transmission, a message rewriting function for rewriting a message element and a message writing back function for restoring the rewritten message element are provided.
[0030]
As an embodiment of the reverse proxy system of the present invention, a configuration based on a field reactor model is possible. The field reactor model is to build a linkage between objects by linking objects by the relationship between the message flowing in the field and the action corresponding to the message, and flexibly and dynamically update the description of the relationship between the message and the action. In this way, the object linkage relationship is constructed flexibly and dynamically. For example, a relationship between a message structure and an action associated with the message structure is prepared in the form of a reaction table. In this embodiment, the cooperation between objects based on the combination of the element of the message flowing through the field and the rule for the element is limited to the form of the cooperation between the objects using the reaction table describing the relationship between the message structure and the action. It becomes a form.
[0031]
Hereinafter, in the first embodiment, the concept of the reverse proxy system will be described, and as an embodiment thereof, a description will be given focusing on a configuration based on a field reactor model. However, the reverse proxy system of the present invention is not limited to the configuration using the field reactor model.
[0032]
Hereinafter, the mediation processing of the reverse proxy system of the present invention will be described in order by dividing it into three parts.
[0033]
In the first part, the concept of cooperation between objects using messages, the basic configuration of the reverse proxy system, the operating principle of the field reactor model used by the reverse proxy system as one embodiment, and the reverse when using the field reactor model The basic configuration of the proxy system will be described.
[0034]
In the second part, the concept of mediation processing by the reverse proxy system will be described. This is an explanation centering on the intermediary processing between the object of the local field under management and the external server.
[0035]
In the third part, a destination information rewriting function for rewriting destination information of an external server such as a URL included in a response message from the external server by a reverse proxy system will be described.
[0036]
First, the concept of cooperation between objects using the message of the first part will be described.
[0037]
The cooperation of objects by the reverse proxy system of the present invention uses a relationship by a set of message elements exchanged between objects and rules for the message elements. Based on the received message, a rule corresponding to the element of the message is determined, and the contents of the rule are executed, whereby cooperation between objects is performed.
[0038]
Hereinafter, an example using fields will be described. In this case, processing is executed in such a way that individual computer systems as objects or individual application programs operating in the computer system react to messages flowing through a communication path as defined as a common field. The operation of the entire system can be flexibly changed by changing / adjusting the set of messages and rules. That is, a function can be dynamically configured by cooperation between objects that define a loose relationship between linked objects, without a close relationship depending on each other's internal state or internal function.
[0039]
FIG. 1 is a diagram schematically showing loose cooperation between objects via messages in the field model.
[0040]
In FIG. 1, 201 is an object A, and 202 is an object B, each of which is a subject that sends and receives messages. M1 indicates a message. a1 represents a rule defined in the object A (201), and a2 represents a rule defined in the object B (202). Note that arrows in the figure indicate message transmission when the starting point is an object and message reception when the end point is an object. Each object has its own rule for executing the rule and the contents of the rule as an internal state.
[0041]
In FIG. 1, cooperation between an object A (201) and an object B (202) is performed via a message M1. The object A (201) basically sends out a message without knowing about the internal function of the object B (202). Further, there is no need to specify the object B (202) itself and send a message, and the object A (201) sends a message M1 based on its own state and processing contents. The object B (202) monitors a message flowing on the communication path, detects the message M1, and when M1 is significant for the object B, reacts to activate the rule a2 and executes the rule contents. In this way, the object A and the object B can be significantly linked, but this is not due to the direct connection between the object A (201) and the object B (202), but the rules of the message M1 and the object B (202) Can be said to be the result of the action being the rule content. Conversely, if the message is different from M1, object B (202) will not respond unless the message is in the same acceptable range as M1 or there are other rules associated with the message. Become. In this way, the cooperation between the objects is gently performed via the message, so that the degree of freedom of the cooperation between the objects is increased. That is, it is not necessary to specify the address of the communication partner and the content of the processing request as in conventional computer network communication, and each terminal that monitors the network sends a message indicating its state, processing result, etc. on the network. The message is detected, and if a corresponding rule is defined, it reacts autonomously.
[0042]
The communication path is not particularly limited as long as it is not only a physical network such as a LAN but also a medium that can be commonly received such as wireless, voice, and light. Further, it may be a recording medium such as a memory that can be called in common. Further, it may be a virtual existence depending on the port address of the communication path.
[0043]
Next, the basic configuration of the reverse proxy system is shown.
[0044]
FIG. 2 is a diagram showing a schematic configuration example of the reverse proxy system of the present invention.
[0045]
The
[0046]
When a message is received from the
[0047]
Next, an operation principle of the field reactor model and a configuration example of a reverse proxy system using the field reactor model will be described.
[0048]
The field reactor model is based on the message-action reaction relationship by pattern matching using the message structure, and fires (reacts) the message structure of the received message to execute the corresponding action. This is a mechanism for cooperation between objects. In the field reactor model, processing is executed in such a manner that individual computer systems as objects or individual application programs operating in the computer system react to messages flowing through a communication path defined as a common field. Therefore, the operation of the entire system can be flexibly changed by changing / adjusting the reaction relationship between the message and the action. That is, a function can be dynamically configured by cooperation between objects that define a loose relationship between linked objects, without a close relationship depending on each other's internal state or internal function.
[0049]
Next, the basic configuration of the reverse proxy system when the field reactor model is used will be described.
[0050]
FIG. 3 is a diagram showing a basic configuration example of a reverse proxy system when a field reactor model is used. Components having the same numbers as those of the reverse proxy system in FIG. 2 are the same.
[0051]
The message / action reaction table 20 is given a combination of a message structure and a message tag. For example, the input message structure shown in FIG. 4 is described in the message / action reaction table 20.
[0052]
When a message having the input message structure shown in FIG. 4 is received from the
[0053]
The above is the basic principle of object cooperation based on the field reactor model.
[0054]
Next, as a second part, the concept of mediation processing by the reverse proxy system will be described.
[0055]
FIG. 5 is a diagram briefly explaining the concept of mediation processing by the reverse proxy system. FIG. 5 shows an intermediary operation when a request message is transmitted from the object to the external server. In FIG. 5, 201 is an object existing in the
[0056]
The output message pattern of the
[0057]
The
[0058]
On the other hand, the
[0059]
The operation of the object cooperation shown in FIG. 5 is as follows. First, the
[0060]
The
[0061]
That is, the
[0062]
Next, FIG. 6 shows an intermediary operation when a response message is transmitted from the external server to the object. The
[0063]
The
[0064]
The
[0065]
With the above mechanism, in the object cooperation system using the reverse proxy system of the present invention, the object existing in the local field can be linked with the external server in the external field by the mediation processing of the reverse proxy, and directly linked. It does not become the composition to fit.
[0066]
Next, as a third part, a destination information rewriting function for rewriting destination information of an external server such as a URL included in a response message from the external server by a reverse proxy system will be described.
[0067]
FIG. 7 shows an outline of the flow of mediation processing using a reverse proxy. As shown in FIG. 7, in this example, “proxy”, which is one of the actions between agents (Communicative Action), is used. The proxy protocol shown in FIG. 7 uses the one shown in FIG. 8 as a formal expression.
[0068]
The formal expression shown in FIG. 8 shows that the agent i satisfies the condition φ for the communication action described in the proxy with respect to the agent j. Is expressed as an action that i intends (notices) that j is to be implemented for y and i notifies j, and is formulated in an international standardization organization related to agents. .
[0069]
In the mediation act using such a formal expression, the communication act from j to y is treated as an act of j to the last, but i is requesting j not to transfer the contents of the content but to the action This is a request for implementation. The reverse proxy system of the present invention pays attention to this point, and it is assumed that the content included in the action from i to j does not need to match the content of the action that j performs to y, and a reverse proxy is provided at the position of j. When the reverse proxy mediates the message, the message content is rewritten and mediated.
[0070]
Also, the act of inform from y to j only means that y tells j the fact. The transmission from j to i is not specified. The mediation processing by the object linkage system using the reverse proxy of the present invention also pays attention to this point, and analyzes the contents returned from y to j at the stage when j is received, and destination information of y and other agents is included in the analysis. If the destination address is included, this description is rewritten and changed to a message with j as the destination. With this process, even if i receives the response message, it cannot directly know the destination information of y.
[0071]
FIG. 9 is a diagram illustrating a configuration example of a reverse proxy system including a destination information rewriting function.
[0072]
When the
[0073]
When the exchanged message is an html format or XML format message and the URL of the
[0074]
With the above mechanism, in the object linkage system using the reverse proxy system of the present invention, the object existing in the local field does not directly receive the destination information such as the URL of the external server written in the response message, Cannot communicate directly with an external server. Object cooperation is always performed with an external server in the external field by mediation processing by a reverse proxy.
[0075]
In the above description, as an embodiment, the description has been made mainly on the configuration based on the field reactor model shown in FIG. 3, but the reverse proxy system of the present invention like the configuration shown in FIG. It is not limited to the configuration using the field reactor model.
[0076]
(Embodiment 2)
[0077]
FIG. 10 is a diagram illustrating a schematic configuration example of the object cooperation system according to the second embodiment. Compared to FIG. 3, the
[0078]
The identification character string
[0079]
The identification character string
[0080]
As described above, the user management mechanism (Cookies) using the object identification string information can be applied in the exchange between the object in the local field and the external server, and the exchanged object identification string information is rewritten, so Field objects are not directly managed by an external server, and mediation processing by a reverse proxy can be maintained.
[0081]
(Embodiment 3)
The third embodiment has a function of converting a message format and a protocol in exchanging messages between an object in a local field and an external server. In the first embodiment and the like as well, there are portions related to message format conversion and protocol conversion, but here, description will be given focusing on portions related to message format conversion and protocol conversion.
[0082]
FIG. 11 is a diagram illustrating a schematic configuration example of the object cooperation system according to the third embodiment. Compared to FIG. 3, the
[0083]
The message
[0084]
Here, as an example of a message format handled in the transmission message format rewriting function and the received message format write back function, there is an encoding format. Even if the encoding format handled by the local field object is different from the encoding format handled by the external object, the difference between the two is converted and absorbed by the message
[0085]
There are other naming rules for message elements. For example, even if the naming rules regarding the ID information are different between the two, the difference between the two is converted and absorbed by the message
[0086]
There are other parameter contents. FIG. 12 and FIG. 13 show such examples. Here, an example is shown in which the parameter content for the conversation ID is changed as the parameter content. FIG. 12 shows a message flow from the object in the local field to the external object, and FIG. 13 shows a response message flow from the external object to the object in the local field. As apparent from FIGS. 12 and 13, it can be seen that the parameter content related to ARG2 is converted by the reverse proxy system. In FIG. 12, the parameter content of ARG2 is abc between the object in the local field and the reverse proxy, but the parameter content of ARG2 is rewritten to def between the reverse proxy and the external object. In FIG. 13, conversely, although the parameter content of ARG2 between the reverse proxy and the external object is def, it is written back to abc between the reverse proxy and the object in the local field.
[0087]
Another is syntax conversion. It is possible to rewrite and write back message syntax such as html format and XML format.
[0088]
Note that in the above message format rewriting and rewriting, examples of changes have been given, but not only changes but also concepts such as addition and deletion are included. For example, in FIG. 12 and FIG. 13, the message format has an ARG1 and ARG2 identifier between the object in the local field and the reverse proxy in FIG. 12 and the reverse proxy and the external object have an identifier corresponding to ARG1, but corresponds to ARG2. When the message format has no identifier, the difference in message format between the two can be absorbed.
[0089]
Next, the
[0090]
In this way, in the intermediary process of the exchange between the object in the managed local field and the external server, the message format and protocol can be changed by rewriting and writing back the message format and protocol, Seamless and smooth object cooperation between the two can be realized.
[0091]
(Embodiment 4)
The reverse proxy system and the object cooperation mediation system using the reverse proxy system according to the present invention can provide various programs by recording a program describing processing steps for realizing the configuration described above on a computer-readable recording medium. Can be constructed using a computer. As shown in the example of the recording medium shown in FIG. 14, a recording medium on which a program having processing steps for realizing the reverse proxy system of the present invention and the object cooperation mediation system using the reverse proxy is recorded as a CD-
[0092]
Furthermore, the configuration may be such that not only a compiled source program but also an intermediate language applet is transmitted to a client computer via a network, and the interpreter is executed on the client computer.
[0093]
The following items are further disclosed in the reverse proxy system of the present invention.
[0094]
(Supplementary Note 1) A message receiving unit that captures a message, a set of a message element and a rule for the element, and an action execution unit that executes an action that is a rule content matched to the received message according to the set,
The message is received from the object on the managed local field by the message receiving unit, and the message that represents the local field in the message of the message is rewritten to the message tag that represents the reverse proxy by the action execution unit and transferred. Rewrite function,
The message receiving unit captures a response message from an external object that has reacted to the transferred message, and the action execution unit sets a message tag representing a reverse proxy in the message of the response message to a message representing the local field. A reverse proxy system (1) having a message write back function for writing back a tag and transferring it.
[0095]
(Supplementary Note 2) A message receiving unit that captures a message, a message / action reaction table that associates an action that is a response to the message structure, and an action that matches the message structure of the received message is executed according to the message / action reaction table. With an action execution unit,
The message reception unit captures a message from an object on a managed local field, and the action execution unit rewrites a message tag representing a local field in the message structure of the message to a message tag representing a reverse proxy and transfers the message tag. Message structure rewriting function,
The message receiving unit captures a response message from an external object that has reacted to the transferred message, and the action execution unit represents a message tag representing a reverse proxy in the message structure of the response message, representing the local field. A reverse proxy system (2) having a message structure write-back function for writing back and transferring to a message tag.
[0096]
(Additional remark 3) The message content from the object in the local field under the management is analyzed, the transmission message format rewriting function for rewriting the message format to another message format, and the response from the object that reacts to the rewritten message The reverse proxy system according to (Appendix 1) or (Appendix 2) having a received message format write-back function that analyzes a message content and writes the message format back to the message format of the object in the managed local field. 3).
[0097]
(Appendix 4) In the received message format write-back function, the content of the response message from the object that has reacted to the rewrite message is analyzed to detect the presence of destination information indicating the destination of the sender of the response message, The reverse proxy system (4) according to the above (Appendix 3), including a destination information rewriting function for rewriting the destination information with the destination information of the reverse proxy.
[0098]
(Supplementary Note 5) A transmission protocol conversion function for converting a protocol used for exchange with an object in the managed local field into another protocol, and a protocol used for exchange with an object that has responded to the rewrite message. The reverse proxy system (5) according to (Appendix 1) or (Appendix 2), comprising a reception protocol conversion function that converts back to a protocol used for exchange with an object in the managed local field.
[0099]
(Supplementary note 6) In the access between the object in the managed local field and the external server, the message exchanged is an html format or XML format message, and the message includes the URL of the external server representing the link destination. If it is, the reverse proxy system described in (Appendix 3) rewriting the URL with the URL of the reverse proxy.
[0100]
(Supplementary note 7) In the first access between the external server and the object, identification character string information for identifying the object is stored in both, and in the second access, the identification character string information is transmitted from the object, and the external In application of a mechanism for identifying an object accessed by collating the identification character string information with the stored identification character string information,
Identification character string information that stores the identification character string information of the reverse proxy itself with the external server, and stores the identification character string information of the object with the object in the local field under management. A processing unit;
An identification character string information rewriting unit that mediates the message exchange with the external server by rewriting message exchange using the identification character string information from the object to the identification character string information of the reverse proxy itself (Appendix 1) ) Or the reverse proxy system according to (Appendix 2).
[0101]
(Supplementary note 8) Reverse proxy including a message receiving unit for capturing a message, a set of a message element and a rule for the element, and an action execution unit for executing an action that is a rule content matched to the received message according to the set Use
The message reception unit captures a message from an object on a managed local field, and the action execution unit rewrites a message tag representing a local field in the message of the message to a message tag representing a reverse proxy, and transfers the message tag.
The message receiving unit captures a response message from an external object that has reacted to the transferred message, and the action execution unit sets a message tag representing a reverse proxy in the message of the response message to a message representing the local field. A mediating method using a reverse proxy system, wherein the tag is written back and transferred.
[0102]
(Supplementary Note 9) A message receiving unit that takes in a message, a message / action reaction table that associates an action that is a response to the message structure, and an action that matches the message structure of the received message is executed according to the message / action reaction table. Using a reverse proxy system with an action execution unit,
The message reception unit captures a message from an object on a managed local field, and the action execution unit rewrites the message tag representing the local field in the message structure of the message to a message tag representing a reverse proxy and transfers the message tag. ,
The message receiving unit captures a response message from an external object that has reacted to the transferred message, and the action execution unit represents a message tag representing a reverse proxy in the message structure of the response message, representing the local field. A mediating method using a reverse proxy system, wherein the message tag is written back and transferred.
[0103]
(Supplementary Note 10) A reverse proxy provided with a message receiving unit for capturing a message, a set of a message element and a rule for the element, and an action execution unit for executing an action that is a rule content matched to the received message according to the set A computer-readable recording medium recording the processing program of
A process of capturing a message from an object on a managed local field by the message receiving unit;
A processing step of rewriting and transferring a message tag representing a local field in the message of the message to a message tag representing a reverse proxy by the action execution unit;
A process of capturing a response message from an external object that has reacted to the transferred message by the message receiver;
A recording medium in which the action executing unit records a processing step of writing back and transferring a message tag representing a reverse proxy in the message of the response message to a message tag representing the local field.
[0104]
(Supplementary Note 11) A message receiving unit that captures a message, a message / action reaction table that associates an action that is a response to the message structure, and an action that matches the message structure of the received message is executed according to the message / action reaction table. A computer-readable recording medium that records a processing program of a reverse proxy system that controls cooperation processing of an object having an action execution unit,
A process of capturing a message from an object on a managed local field by the message receiving unit;
A processing step of rewriting and transferring a message tag representing a local field in the message structure of the message to a message tag representing a reverse proxy by the action execution unit;
A process of capturing a response message from an external object that has reacted to the transferred message by the message receiver;
A recording medium, wherein the action execution unit records a processing step of writing a message tag representing a reverse proxy in the message structure of the response message back to a message tag representing the local field and transferring the message tag.
[0105]
【The invention's effect】
According to the reverse proxy system of the present invention, it is possible to flexibly and dynamically cooperate between objects by a message / action reaction relationship using a message structure, and a message by a message tag representing a local field in the local field. Only messages having a structure are transmitted / received, and are not directly linked to an external server, but can be linked to an object in an external field only through a message structure rewriting process via a reverse proxy. Further, not only when a message is transmitted to an external field, but also when a message is received from an external field, an object in a local field can be received only through a message structure rewriting process via a reverse proxy.
[0106]
Further, according to the reverse proxy system of the present invention, when the destination information of the external server such as the URL of the external server is described in the response message from the external server, the destination information is rewritten with the destination information of the reverse proxy. Therefore, the local field object does not know the destination information such as the URL of the external server.
[0107]
Further, according to the reverse proxy system of the present invention, in the mediation processing of the exchange between the object in the managed local field and the external server, not only the message structure is rewritten by rewriting the message tag but also a message that differs between the two The format and protocol can be converted, and seamless and smooth object cooperation between the two can be realized.
[Brief description of the drawings]
FIG. 1 is a diagram schematically showing loose cooperation between objects based on a field reactor model assumed by an object cooperation system using a reverse proxy of the present invention.
FIG. 2 is a diagram showing a schematic configuration example of a reverse proxy system of the present invention.
FIG. 3 is a diagram showing a schematic configuration example of a reverse proxy system of the present invention when a field reactor model is used.
FIG. 4 is a diagram showing an example of an input message structure of an object cooperation system using a reverse proxy of the present invention.
FIG. 5 is a diagram briefly explaining the concept of mediation processing by the reverse proxy of the present invention.
FIG. 6 is a diagram illustrating an intermediary operation when a response message is transmitted from an external server to an object.
FIG. 7 is a diagram showing an outline of the flow of mediation processing using the reverse proxy of the present invention.
FIG. 8 is a diagram showing a formal representation of the proxy protocol.
FIG. 9 is a diagram illustrating a configuration example of a reverse proxy including a destination information rewriting function.
FIG. 10 is a diagram illustrating a schematic configuration example of an object cooperation system using a reverse proxy according to the second embodiment of the present invention.
FIG. 11 is a diagram illustrating a schematic configuration example of an object cooperation system using a reverse proxy according to the third embodiment of the present invention.
FIG. 12 is a diagram showing a message flow from an object in a local field to an external object using the reverse proxy according to the third embodiment of the present invention.
FIG. 13 is a diagram showing a flow of a response message from an external object to an object in a local field using the reverse proxy according to the third embodiment of the present invention.
FIG. 14 is a diagram showing an example of a recording medium on which a processing program for realizing a reverse proxy system according to the fourth embodiment is recorded.
FIG. 15 is a diagram showing an example of object cooperation in a client / server system based on CORBA of the prior art.
[Explanation of symbols]
10 Message transceiver
20 Rule judgment part
20a Message / action reaction table
30 Action execution part
31 Message generator
32 Message rewriting part
33 Destination information rewriting part
331 Message analysis part
332 Destination information detector
34 Character string information processing section
35 Object identification string information rewriting part
36 Message format converter
361 Message Format Analyzer
362 Message Format Rewriting Unit
37 Protocol converter
100, 100b, 100c, 100d Reverse proxy
200, 201, 202 objects
300 External server
400 fields
410 Local field
420 External field
1000 Recording medium in recording device
1001 Portable recording medium
1002 CD-ROM
1003 Flexible disk
1004 Computer
1005 Recording media such as hard disk and RAM of computer
Claims (3)
メッセージの要素とその要素に対するルールとの組を備えたルール判定部と、
前記組に従い、受信メッセージにマッチングしたルール内容であるアクションを実行するアクション実行部とを備え、
前記メッセージ受信部によりメッセージを取り込み、前記ルール判定部により前記メッセージの要素に対応するルールの組がある場合に、前記メッセージの要素を前記ルールに従って対応するメッセージ要素に書き換えて書き換え後のメッセージを転送するメッセージ書き換え機能と、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記ルール判定部により、前記応答メッセージの要素を前記ルールに従って対応するメッセージ要素に書き戻して転送するメッセージ書き戻し機能と、
前記メッセージ書き換え機能は、
管理下の局所フィールドにあるオブジェクトからのメッセージの内容を解析し、メッセージ形式を他のメッセージ形式に書き換える送信メッセージ形式書き換え機能を含み、
前記メッセージ書き戻し機能は、
前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析し、メッセージ形式を前記管理下の局所フィールドにあるオブジェクトのメッセージ形式に書き戻す受信メッセージ形式書き戻し機能を含み、
前記受信メッセージ形式書き戻し機能において、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析して当該応答メッセージの送信主体のあて先を示すあて先情報の存在を検知し、当該あて先情報をリバースプロキシーのあて先情報に書き換えるあて先情報書き換え機能とを備えることを特徴とするリバースプロキシーシステム。A message receiver for capturing messages;
A rule determination unit having a pair of a message element and a rule for the element;
In accordance with the set, and an action execution section for executing the action is the rule content matched to the received message,
The message is received by the message receiving unit, and when there is a rule set corresponding to the element of the message by the rule determining unit, the message element is rewritten to the corresponding message element according to the rule and the rewritten message is transferred Message rewriting function,
The message receiving unit captures a response message from an external object that has reacted to the transferred message, and the rule determination unit writes the response message element back to the corresponding message element according to the rule and transfers the message Write-back function ,
The message rewriting function is
Analyzing the content of messages from objects in the local field under management, including a transmission message format rewriting function that rewrites the message format to another message format,
The message write back function
A reception message format write-back function that analyzes the content of a response message from an object that has reacted to the rewrite message and writes the message format back to the message format of the object in the managed local field;
In the received message format write-back function, the content of the response message from the object that has reacted to the rewrite message is analyzed to detect the presence of the destination information indicating the destination of the sender of the response message, and the destination information is A reverse proxy system comprising a destination information rewriting function for rewriting destination information of a reverse proxy.
メッセージ構造に対する反応であるアクションを関係付けたメッセージ・アクション反応テーブルと、
前記メッセージ・アクション反応テーブルに従い、受信メッセージのメッセージ構造にマッチングしたアクションを実行するアクション実行部とを備え、
前記メッセージ受信部により、管理下の局所フィールド上のオブジェクトからメッセージを取り込み、前記アクション実行部により、該メッセージのメッセージ構造における局所フィールドを表わすメッセージタグを、リバースプロキシーを表わすメッセージタグに書き換えて転送するメッセージ構造書き換え機能と、
前記メッセージ受信部により、前記転送したメッセージに対して反応した外部オブジェクトからの応答メッセージを取り込み、前記アクション実行部により、前記応答メッセージのメッセージ構造におけるリバースプロキシーを表わすメッセージタグを、前記局所フィールドを表わすメッセージタグに書き戻して転送するメッセージ構造書き戻し機能と、
前記メッセージ書き換え機能は、
前記管理下の局所フィールドにあるオブジェクトからのメッセージの内容を解析し、メッセージ形式を他のメッセージ形式に書き換える送信メッセージ形式書き換え機能を含み、
前記メッセージ書き戻し機能は、
前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析し、メッセージ形式を前記管理下の局所フィールドにあるオブジェクトのメッセージ形式に書き戻す受信メッセージ形式書き戻し機能を含み、
前記受信メッセージ形式書き戻し機能において、前記書き換えメッセージに対して反応したオブジェクトからの応答メッセージの内容を解析して当該応答メッセージの送信主体のあて先を示すあて先情報の存在を検知し、当該あて先情報をリバースプロキシーのあて先情報に書き換えるあて先情報書き換え機能とを備えることを特徴とするリバースプロキシーシステム。A message receiver for capturing messages;
A message / action response table that associates actions that are responses to the message structure;
In accordance with the message action reaction table, and an action execution section for executing an action matched to the message structure of the received message,
The message reception unit captures a message from an object on a managed local field, and the action execution unit rewrites a message tag representing a local field in the message structure of the message to a message tag representing a reverse proxy and transfers the message tag. Message structure rewriting function,
The message receiving unit captures a response message from an external object that has reacted to the transferred message, and the action execution unit represents a message tag representing a reverse proxy in the message structure of the response message, representing the local field. Message structure write-back function to write back to the message tag and transfer ,
The message rewriting function is
Analyzing the content of the message from the object in the managed local field, and including a transmission message format rewriting function for rewriting the message format to another message format
The message write back function
A reception message format write-back function that analyzes the content of a response message from an object that has reacted to the rewrite message and writes the message format back to the message format of the object in the managed local field;
In the received message format write-back function, the content of the response message from the object that has reacted to the rewrite message is analyzed to detect the presence of the destination information indicating the destination of the sender of the response message, and the destination information is A reverse proxy system comprising a destination information rewriting function for rewriting destination information of a reverse proxy.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000193475A JP4363752B2 (en) | 2000-06-27 | 2000-06-27 | Reverse proxy system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000193475A JP4363752B2 (en) | 2000-06-27 | 2000-06-27 | Reverse proxy system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002007228A JP2002007228A (en) | 2002-01-11 |
JP4363752B2 true JP4363752B2 (en) | 2009-11-11 |
Family
ID=18692465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000193475A Expired - Fee Related JP4363752B2 (en) | 2000-06-27 | 2000-06-27 | Reverse proxy system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4363752B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10623375B2 (en) | 2014-09-16 | 2020-04-14 | International Business Machines Corporation | Auto-detection of web-based application characteristics for reverse proxy enablement |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005083090A (en) | 2003-09-09 | 2005-03-31 | Tokai Univ | Prop type damping device |
JP2013210896A (en) * | 2012-03-30 | 2013-10-10 | Fujifilm Corp | Proxy server device, client terminal device, remote access system, transfer control method and program, and access method and program |
EP3300335B1 (en) * | 2016-09-22 | 2021-07-21 | InterDigital CE Patent Holdings | Device and method for data packet processing |
-
2000
- 2000-06-27 JP JP2000193475A patent/JP4363752B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10623375B2 (en) | 2014-09-16 | 2020-04-14 | International Business Machines Corporation | Auto-detection of web-based application characteristics for reverse proxy enablement |
Also Published As
Publication number | Publication date |
---|---|
JP2002007228A (en) | 2002-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Knabe | Language support for mobile agents | |
Farley | Java distributed computing | |
US7707564B2 (en) | Systems and methods for creating network-based software services using source code annotations | |
US7904111B2 (en) | Mobile exchange infrastructure | |
US8205007B2 (en) | Native format tunneling | |
US6360258B1 (en) | Network management software library allowing a sending and retrieval of multiple SNMP objects | |
Jepsen | SOAP cleans up interoperability problems on the Web | |
US20040249950A1 (en) | Transmitting and receiving messages through a customizable communication channel and programming model | |
US20030009539A1 (en) | Distributed object middleware connection method | |
JP2004501427A (en) | Mechanism and apparatus for returning service results in a distributed computing environment | |
JP2003534588A (en) | Data porting of processes in a distributed computing environment Process porting using language representation | |
WO2002086679A2 (en) | Service provision system and method | |
Myerson | The complete book of middleware | |
US20070233876A1 (en) | Interprocess communication management using a socket layer | |
Rees et al. | A web of distributed objects | |
JP4125005B2 (en) | Object linkage device that uses message types | |
Gross et al. | An active events model for systems monitoring | |
US7269620B2 (en) | Device and method for exchanging flows between a client device and a server | |
Hayton et al. | Flexinet open orb framework | |
JP4363752B2 (en) | Reverse proxy system | |
TW582147B (en) | Inbound connector | |
Li et al. | The study on mobile phone-oriented application integration technology of web services | |
JP2004515833A (en) | Bridging data representation language message-based distributed computing environments with other environments | |
KR101270746B1 (en) | Apparatus and Method for mediating web service | |
Parastatidis et al. | An introduction to the SOAP service description language |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090414 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090605 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090818 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090818 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120828 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120828 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130828 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |