JP3929186B2 - クライアント/サーバシステム - Google Patents
クライアント/サーバシステム Download PDFInfo
- Publication number
- JP3929186B2 JP3929186B2 JP26433798A JP26433798A JP3929186B2 JP 3929186 B2 JP3929186 B2 JP 3929186B2 JP 26433798 A JP26433798 A JP 26433798A JP 26433798 A JP26433798 A JP 26433798A JP 3929186 B2 JP3929186 B2 JP 3929186B2
- Authority
- JP
- Japan
- Prior art keywords
- client
- server
- communication
- application
- proxy
- 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
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Description
【発明の属する技術分野】
本発明は、クライアント端末とサーバ計算機とがネットワークを介して接続され構成されるクライアント/サーバシステムに関し、特に移動体通信等の多様な通信形態への適用が容易なシステムに関する。
【0002】
【従来の技術】
クライアント/サーバシステムは、サーバ計算機上で動作されるサーバアプリケーションからクライアント端末上で動作するクライアントアプリケーションへサービスを提供するシステムである。従来より、ネットワークを介してクライアントアプリケーションとサーバアプリケーションとを通信接続することは行われており、その多くは有線ネットワークを介したものであった。しかし近年では移動体通信網の普及に伴い、クライアント端末が携帯情報端末(モバイル端末)であるクライアント/サーバシステムも登場してきている。また近年はセキュリティの面から通信内容の暗号化への関心が高まっているが、特に無線の場合はその必要性が高い。
【0003】
【発明が解決しようとする課題】
このように通信形態は多様となってきているが、従来は個別の通信形態に対応してクライアント/サーバシステムが構築されていた。そのため例えば、一般に有線通信媒体を想定した従来のクライアント/サーバ型アプリケーションで構成されたクライアント/サーバシステムは、そのままでは移動体通信に適用することはできない。このように従来は、他の通信形態に適応させようとする場合、アプリケーション中の通信部分を作り直す必要があるという問題があった。WWWサーバ/ブラウザ間の通信に関してはこの問題に容易に対応できる技術が開発されているが、HTTP以外のプロトコルを使用する他のシステムに関して依然として上記問題が存在している。
【0004】
本発明は上記問題点を解消するためになされたもので、アプリケーションに変更を加えることなくモバイル通信や暗号化通信等の多様な通信形態に適用することができるクライアント/サーバシステムを提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明に係るクライアント/サーバシステムは、クライアントアプリケーションを接続されるクライアントポートを備え前記クライアントアプリケーションとサーバアプリケーションとの間の通信を中継するプロキシクライアント部と、前記サーバアプリケーションが接続され前記クライアントアプリケーションと前記サーバアプリケーションとの間の通信を中継するプロキシサーバ部と、前記プロキシクライアント部と前記プロキシサーバ部とをそれぞれネットワークに接続し、障害による通信切断時に自動復旧を行う通信モジュールとを有し、前記プロキシクライアント部は、前記クライアントアプリケーションの通信相手先となるサーバポートと前記クライアントポートとの対応関係を記憶する接続対応テーブルを有し、前記接続対応テーブルは、前記サーバポートが設けられる前記サーバ計算機のアドレスを格納するアドレス指定フィールドを有し、前記プロキシクライアント部は、通信接続要求に応じて参照した前記アドレス指定フィールドの内容に基づいて前記アドレスの入力の要否を判断する入力要否判断手段と、入力の必要があると判断された場合にはユーザに対し前記アドレスの入力を求める入力要求手段とを有し、前記接続対応テーブルに基づき、前記アドレス指定フィールドに格納されたアドレス若しくは前記入力要求手段により要求された場合にはその要求に応じて入力されたアドレスを用いて、前記クライアントアプリケーションと前記サーバアプリケーションとの通信接続を行うことを特徴とする。
【0006】
本発明に係るクライアント/サーバシステムにおいては、前記プロキシクライアント部が、ユーザ入力に応じて前記接続対応テーブルの記憶内容を変更するテーブル操作手段を有することを特徴とする。
【0008】
本発明に係るクライアント/サーバシステムにおいては、前記プロキシクライアント部は、前記クライアントアプリケーションと前記サーバアプリケーションとの間の通信に対して所定の付加処理を行うフィルタを少なくとも一つ有し、前記接続対応テーブルは、前記サーバポートと前記クライアントポートとの対応関係毎に、当該対応関係において使用される前記フィルタの指定を有することを特徴とする。
【0009】
本発明に係るクライアント/サーバシステムにおいては、前記フィルタとして、前記サーバアプリケーションから前記クライアントアプリケーションへサーバポート情報を送信し当該サーバポート情報に応じて前記サーバアプリケーションと前記クライアントアプリケーションとの通信接続関係を変化させる通信プロトコルに対応して、通信内容を解析して前記サーバポート情報を取得し、当該サーバポート情報に基づいて新たな前記対応関係を生成し前記接続対応テーブルに登録する動的接続変更フィルタを有し、当該生成された新たな対応関係に基づいて前記クライアントアプリケーションと前記サーバアプリケーションとの通信接続を行うことを特徴とする。
【0010】
本発明に係るクライアント/サーバシステムにおいては、前記フィルタとして、前記サーバアプリケーションから前記クライアントポートへの通信接続要求に応じた通信内容を解析する逆方向通信処理フィルタを有し、前記逆方向通信処理フィルタは前記通信接続要求に応じた前記クライアントアプリケーションにおける逆方向通信用クライアントポートの生成を検知し、前記プロキシサーバ部は前記逆方向通信用クライアントポートの生成検知に応じて、前記サーバアプリケーションが接続される逆方向通信用サーバポートを生成し、前記接続対応テーブルは、前記逆方向通信用サーバポートと前記逆方向通信用クライアントポートとの対応関係を記憶し、前記接続対応テーブルに基づいて前記クライアントアプリケーションと前記サーバアプリケーションとの通信接続を行うことを特徴とする。
【0011】
本発明に係るクライアント/サーバシステムは、ネットワークに接続されたクライアント端末上で動作するクライアントアプリケーションと、サーバ計算機上で動作し前記ネットワークを介して前記クライアントアプリケーションと通信を行いサービスを提供するサーバアプリケーションとを含むクライアント/サーバシステムにおいて、前記クライアントアプリケーションを接続されるクライアントポートを備え、前記クライアントアプリケーションと前記サーバアプリケーションとの間の通信を中継するプロキシクライアント部と、前記サーバアプリケーションが接続され、前記クライアントアプリケーションと前記サーバアプリケーションとの間の通信を中継するプロキシサーバ部と、前記プロキシクライアント部と前記プロキシサーバ部とをそれぞれ前記ネットワークに接続し、障害による通信切断時に自動復旧を行う通信モジュールとを有し、前記プロキシクライアント部は、前記クライアントアプリケーションの通信相手先となるサーバポートと前記クライアントポートとの対応関係を記憶する接続対応テーブルを有し、前記通信モジュールとして、それぞれ異なる機能を有する複数種別のモジュールを有し、前記プロキシクライアント部を前記ネットワークに接続する前記通信モジュールと前記プロキシサーバ部を前記ネットワークに接続する前記通信モジュールとをそれぞれ切り換えて使用し、前記接続対応テーブルに基づいて、前記クライアントアプリケーションと前記サーバアプリケーションとの通信接続を行うことを特徴とする。
【0012】
本発明に係るクライアント/サーバシステムにおいては、前記プロキシクライアント部は、複数の前記サーバ計算機それぞれとそれに対応して使用される前記通信モジュールとの対応関係を記憶するサーバ対通信モジュール対応テーブルを有することを特徴とする。
【0013】
本発明に係るクライアント/サーバシステムにおいては、前記プロキシクライアント部は、複数の前記プロキシサーバ部それぞれとそれに対応して使用される前記通信モジュールとの対応関係を記憶するプロキシサーバ部対通信モジュール対応テーブルを有することを特徴とする。
【0014】
本発明に係るクライアント/サーバシステムにおいては、前記接続対応テーブルは、前記サーバポートと前記クライアントポートとの各対応関係毎に、当該対応関係において使用される前記通信モジュールの指定を有することを特徴とする。
【0015】
本発明に係るクライアント/サーバシステムにおいては、複数の前記プロキシクライアント部を互いに区別するクライアント識別子が定義され、前記プロキシクライアント部と前記プロキシサーバ部との間の通信メッセージには、前記クライアント識別子が格納されることを特徴とする。
【0016】
【発明の実施の形態】
次に、本発明の実施形態について図面を参照して説明する。
【0017】
[実施の形態1]
図1は、本発明に係るクライアント/サーバシステムの概略のブロック図である。本システムではモバイル端末(移動端末)2などのクライアント側を構成し、これがネットワーク4に接続される。またサーバ側はサーバ計算機6がゲートウェイマシン8を介してネットワーク4に接続される。
【0018】
モバイル端末2上ではクライアントアプリケーション10が実行される。また本システムのモバイル端末2はモバイルプロキシクライアント(以下単にプロキシクライアントと称する)と通信モジュール14とを備える。プロキシクライアント12はソケット通信部16とサーバ通信部18と接続対応テーブル20とを含んで構成される。クライアントアプリケーション10はソケット通信によりソケット通信部16に接続され、ソケット通信部16はサーバ通信部18に接続される。プロキシクライアント12はサーバ通信部18に接続される通信モジュール14を介してネットワーク4に接続される。
【0019】
クライアントアプリケーション10にサービスを提供するサーバアプリケーション22はサーバ計算機6上で実行される。
【0020】
ゲートウェイマシン8はモバイルプロキシサーバ(以下単にプロキシサーバと称する)と通信モジュール26とを備える。プロキシサーバ24はソケット通信部28とクライアント通信部30とを含んで構成される。
【0021】
サーバ計算機6上で動作するサーバアプリケーション22とキャリア生成回路28とがソケット通信により接続され、ソケット通信部28はクライアント通信部30に接続される。プロキシサーバ24はクライアント通信部30に接続される通信モジュール26を介してネットワーク4に接続される。
【0022】
また、本装置で用いられる通信モジュール14,26には、それぞれメッセージ通信などの回線が切れても再接続を行うことにより、中断した通信状態を自動復旧する機能を有するものが用いられる。
【0023】
さて、ソケット通信はクライアントプロセスとサーバプロセスとの間にて行われる。サーバプロセスはソケットの終端を用意し、クライアントプロセスからの接続要求を待ち受ける。本システムでは、クライアントアプリケーション10はユーザの必要に応じて随時起動されるものであり、一方、サーバアプリケーション22はクライアントアプリケーション10からのサービス要求を待ち受けるものである。この通信接続の基本的な方向性のため、クライアントアプリケーション10とソケット通信部16との間のソケット及びソケット通信部28とサーバアプリケーション22との間のソケットは、それぞれクライアントアプリケーション10及びソケット通信部28をクライアントプロセス、一方、ソケット通信部16及びサーバアプリケーション22をサーバプロセスとして形成される。
【0024】
すなわち、プロキシクライアント12のソケット通信部16にクライアントアプリケーション10に対するソケットの終端が用意され、それらに割り当てられる識別子をここではクライアントポート番号と呼ぶ。また、サーバアプリケーション22にプロキシサーバ24のソケット通信部28に対するソケットの終端が用意され、それらに割り当てられる識別子をここではサーバポート番号と呼ぶ。
【0025】
このように本システムでは、クライアントアプリケーション10からサーバアプリケーション22への通信接続は一つのソケットによって一気に行う構成ではなく、ネットワーク4の前後、すなわちクライアント側とサーバ側とで別々のソケットが用いられる。接続対応テーブル20は、このクライアントアプリケーション10からサーバアプリケーション22への一の通信接続を構成するクライアント側ソケット32とサーバ側ソケット34との対応関係の情報を記憶する。
【0026】
図2は、接続対応テーブル20の構成を模式的に示す説明図である。接続対応テーブル20にはそれぞれサーバポートとクライアントポートとの対応関係を表す対応関係エントリが1又は複数格納される。エントリ同士は互いにプロトコル名によって識別される。各対応関係エントリはクライアントポート番号と、サーバ側ソケット34が接続されるサーバ計算機6のアドレス(サーバアドレス)と、サーバポート番号とを含んでいる。対応関係エントリは、例えばモバイル端末2とサーバ計算機6との間で利用されうる通信プロトコル毎に定義することができ、エントリを識別するプロトコル名という名称はそれにちなんだものである。しかし、必ずしも、各通信プロトコルに一つの対応関係エントリしか定義できないものではなく、一種類の通信プロトコルについて複数の対応関係エントリを定義することもできる。なお、当然のことながらその場合、対応関係エントリの識別情報であるプロトコル名には、別々の名称が与えられる。例えば、通信プロトコル“SMTP”に2つの対応関係エントリを定義する場合、それぞれのプロトコル名には、“SMTP−1”,“SMTP−2”といった名称を与えればよい。クライアントポート番号とサーバポート番号とは一致してもよいが、必ずしも一致する必要はない。
【0027】
次に、本システムの動作について説明する。図3は本システムにおけるクライアントアプリケーション10とサーバアプリケーション22との通信接続処理を説明するフロー図である。モバイル端末2においては、クライアントアプリケーション10の起動(S50)の前に、予めプロキシクライアント12が起動されている(S55)。プロキシクライアント12は起動されると、接続対応テーブル20に記憶されているクライアントポート番号で自身のソケット通信部16にソケットの受け口(終端)となるポートを生成する(S60)。クライアントアプリケーション10は従来一般には直接のサーバアプリケーション22へ接続されていた。すなわち、クライアントアプリケーション10がバインドするソケットポートは、サーバアプリケーション22のポートであった。これに対して本システムでクライアントアプリケーション10を利用する際には、そのバインドする相手先の設定をプロキシクライアント12のポートに変更する。これによりクライアントアプリケーション10が起動され(S50)、ソケット接続要求を行うと(S65)、プロキシクライアント12のソケット通信部16に接続され、クライアント側ソケット32が構築される。
【0028】
プロキシクライアント12はあるポートへのソケット接続を受け付けると、新しいセッションIDを生成する。また、接続対応テーブル20を当該クライアントポート番号にて検索して、当該ポートに対応するサーバアドレスとサーバポート番号とが接続対応テーブル20から取得される(S70)。これらサーバアドレス40及びサーバポート番号41と前記セッションID42とが、例えばメッセージ種別を表すヘッダ43に続いて格納され、図4に示すような通信開始メッセージが生成される。当該メッセージはプロキシサーバ24へ向けて送信され(S75)、ソケット通信が開始されたことがプロキシサーバ24へ通知される。
【0029】
プロキシサーバ24は、受信した通信開始メッセージからサーバアドレスとサーバポート番号とを取り出し、それらで指定されるポートにソケット接続要求を行い(S80)、これによりサーバ側ソケット34が確立される(S85)。
【0030】
以上のようにしてクライアントアプリケーション10とサーバアプリケーション22との間の通信接続が確立されるとそれを用いて通信処理が行われる。図5は、通信処理を説明するフロー図である。通信処理においては、クライアントアプリケーション10は、サーバアプリケーション22へ向けて通信データを送信する(S100)。
【0031】
プロキシクライアント12は、通信データを図6に示すような通信データメッセージに格納してプロキシサーバ24へ送信する(S105)。通信データメッセージは、例えばメッセージ種別を表すヘッダ106に続いて、セッションID107と通信データ108を格納され構成される。ここでセッションID107は、通信開始メッセージにおけるセッションID42と共通である。
【0032】
プロキシサーバ24は、通信データメッセージから取得したセッションIDに基づいて、データを送信すべきサーバ側ソケット34を検索・特定し、当該サーバ側ソケット34にデータを送信する(S110)。サーバアプリケーション22は当該データを受信し(S115)、処理を行ってクライアントアプリケーション10へサービスを提供する。
【0033】
サービス提供は、サーバアプリケーション22から処理結果のデータがクライアントアプリケーション10へ送られることにより行われる。サーバアプリケーション22は処理結果等、クライアントアプリケーション10へ送るべきデータを、サーバ側ソケット34を介してプロキシサーバ24へ送信する(S120)。プロキシサーバ24は、プロキシクライアント12がプロキシサーバ24へデータを送信する場合と同様に、図6に示す通信データメッセージにデータを格納して当該メッセージをプロキシクライアント12へ送信する(S125)。なお、このときに用いられるセッションIDは、プロキシクライアント12からプロキシサーバ24への送信に用いられたのと同じものであり、プロキシクライアント12は当該セッションIDに基づいて、サービスを要求したクライアントアプリケーション10につながるクライアント側ソケット32を検索・特定し、これにデータを送信する(S130)。クライアントアプリケーション10はクライアント側ソケット32からデータを受信する(S135)。このようにしてクライアントアプリケーション10は、サーバアプリケーション22からのサービスを享受する。
【0034】
クライアントアプリケーション10とサーバアプリケーション22との間の通信終了時の動作は次のように行われる。図7は本システムにおけるクライアントアプリケーション10から通信を終了する場合の処理を説明するフロー図である。クライアントアプリケーション10がクライアント側ソケット32をシャットダウンすると(S150)、プロキシクライアント12側で動作するソケットプロセス(上述のサーバプロセス)にてエラーが発生する。プロキシクライアント12はこれを検知すると(S155)、図8に示す通信終了メッセージをプロキシサーバ24へ送信する(S160)。通信終了メッセージは、例えばメッセージ種別を表すヘッダ161に続いてセッションID162を格納された構成である。ここでセッションID162は、ソケットを閉じたクライアントアプリケーション10に対応するセッションを指し示すものである。プロキシサーバ24は通信終了メッセージを受信すると、それに指定されたセッションIDに基づいて、サーバ側ソケット34を特定し、当該ソケットをシャットダウンする(S165)。なお、このときクライアント側ソケット32、サーバ側ソケット34は基本的にはシャットダウンされるだけであって、クローズまではされない。すなわち、ソケット通信部16とサーバアプリケーション22に生成されたポートは開放されずに残ったままである。
【0035】
逆に、図9は本システムにおけるサーバアプリケーション22から通信を終了する場合の処理を説明するフロー図である。この場合は、上述のクライアントアプリケーション10から終了する場合と同様の手順がサーバアプリケーション22側から行われる。つまり、サーバアプリケーション22がサーバ側ソケット34をシャットダウンすると(S200)、プロキシサーバ24にてエラーが検知され(S205)、図8に示す通信終了メッセージをプロキシクライアント12へ送信する(S210)。プロキシクライアント12は通信終了メッセージを受信すると、クライアント側ソケット32をシャットダウンする(S215)。
【0036】
本システムでは、クライアントアプリケーション10の直接の相手先は、従来のようなネットワーク4の先のプロキシサーバ24やサーバ計算機6ではなく、ネットワーク4の手前のプロキシクライアント12となる。これによりクライアントアプリケーション10は、あたかもサーバアプリケーション22がプロキシクライアント12に存在するかのようにして従来同様の処理を進めることができる。このことは、プロキシクライアント12とプロキシサーバ24とが接続対応テーブル20に定義される対応関係に基づいて、クライアント側ソケット32とサーバ側ソケット34とをつなぎ1本のソケットと同様に機能させていることにより達成されているとも言える。つまり、クライアントアプリケーション10にとっては、クライアント側ソケット32にてプロキシクライアント12に接続することは、従来のように直接、サーバアプリケーション22に接続することと等価なのである。
【0037】
同様のことは、サーバアプリケーション22の観点からも言える。すなわち、サーバアプリケーション22の直接の相手先は、ネットワーク4の先のモバイル端末2やプロキシクライアント12ではなく、ネットワーク4の手前のプロキシサーバ24となる。これによりサーバアプリケーション22はあたかもクライアントアプリケーション10がプロキシサーバ24に存在するかのようにして処理を進めることができる。
【0038】
このようにクライアントアプリケーション10、サーバアプリケーション22のいずれから見てもそれぞれの処理は従来と変わることがない。本システムを適用するために必要となるのは、クライアントアプリケーション10の接続先マシンの設定を、サーバアプリケーション22が実際に動作するサーバ計算機6ではなく、プロキシクライアント12が動作するモバイル端末2に変更することである。
【0039】
本システムの構成によれば、クライアント側ソケット32、サーバ側ソケット34はそれぞれ同一マシンやLAN上に設定されるので、これらの箇所での通信切断は基本的には問題とならない。これに対してネットワーク4は携帯電話等の移動体通信や公衆網を含むため通信状態が悪い場合があり得、この箇所での通信切断の可能性を考慮する必要がある。本システムでは、通信モジュール14,26が自動復旧機能を有するので、プロキシクライアント12からプロキシサーバ24へ再度電話を掛けることにより再接続が行われ、データの再送等、必要な処理が自動的に行われる。つまり、クライアント/サーバシステムを例えばモバイル対応とする場合などにおいて、クライアントアプリケーション10、サーバアプリケーション22に回線障害への対応のための処理を作り込む修正を行わなくても、通信再開の機能が実現される。
【0040】
また、上述のようにクライアントアプリケーション10とサーバアプリケーション22との間の処理はあたかも1つのソケットで接続されているかのように行われるが、実際には、両アプリケーションの間の接続は、クライアント側とサーバ側とで別個のソケットであって、それらが接続対応テーブル20の接続関係によって取り持たれている。このような構成は、各クライアントアプリケーション10とサーバアプリケーション22との間で共通に利用されるプロキシクライアント12とプロキシサーバ24との間で、通信処理の違いを吸収することを可能とする。すなわち、個々のクライアントアプリケーション10やサーバアプリケーション22の通信部分を通信形態に応じて逐一作成し直す手間が不要となり、様々な通信形態に容易に対応できる。
【0041】
また、通信時にセッションIDを生成し、これを用いて通信を行うことにより、クライアントアプリケーション10とサーバアプリケーション22との複数の接続関係を互いに識別することができ、データが誤って他のサーバアプリケーション22に送られるといったことが防止され、正確な通信制御が実現される。
【0042】
なお、プロキシクライアント12、プロキシサーバ24はそれぞれモバイル端末2、ゲートウェイマシン8上で動作するソフトウェアとして実現することができる。また接続対応テーブル20は、例えばハードディスク等の磁気記録装置といった不揮発性媒体にファイルの形で保存される。プロキシクライアント12は接続対応テーブル20を参照する際に逐一、磁気記録装置にアクセスする構成とすることもできるし、メモリ上に接続対応テーブル20を読み出して利用するように構成することできる。
【0043】
[実施の形態2]
本発明の第2の実施の形態に係るクライアント/サーバシステムと上記実施の形態との構成の差異は、プロキシクライアントにある。図10は本実施の形態に係るプロキシクライアント250のブロック構成図である。本実施の形態に係るシステムの構成は、図1のプロキシクライアント12をプロキシクライアント250で置き換えたものとなる。他の構成要素は上記実施の形態と同様であり、以下それら同様の構成要素には同一の符号を用いて説明を行う。
【0044】
プロキシクライアント250がプロキシクライアント12と異なる点は、接続対応テーブル20の記憶内容を変更するテーブル操作部252を有する点である。テーブル操作部252は、プロキシクライアント250は接続対応テーブル20に記憶される対応関係の変更・追加・削除を行うことができる。それらの操作は例えばユーザの指示に基づいて行われる。例えば、テーブル操作部252は接続対応テーブル20を格納したファイルをモバイル端末2のメモリ上に作業領域に読み込み、メモリ上で編集を行い、編集後のファイルを再びハードディスク等に保存するように構成することができる。またテーブル操作部252は、ユーザが接続対応テーブル20の内容を確認しやすい形で表示装置に表示するとともに編集操作のための各種ツールを備えたものとすることができる。
【0045】
プロキシクライアント250はこのようなテーブル操作部252を備えることにより、当該プロキシクライアント250の起動後に、接続対応テーブル20に記録されているポート番号やサーバアドレスの変更、修正を行ったり、新たなプロトコルについて用いられる対応関係エントリを接続対応テーブル20に追加する編集操作を行うことができる。そして、プロキシクライアント250は書き換えられた接続対応テーブル20を用いて、上記実施の形態と同様の動作を行う。
【0046】
[実施の形態3]
図11は本発明の第3の実施の形態に係るプロキシクライアント300のブロック構成図である。本実施の形態に係るシステムの構成は、図1のプロキシクライアント12をプロキシクライアント300で置き換えたものとなる。他の構成要素は上記実施の形態と同様であり、以下それら同様の構成要素には同一の符号を用いて説明を行う。
【0047】
プロキシクライアント300がプロキシクライアント12と異なる点は、接続対応テーブル20中のサーバアドレスの入力処理を行うサーバアドレス入力処理部302を有する点である。サーバアドレス入力処理部302は、入力要否判断部304と入力要求部306とを含んで構成される。
【0048】
図12は、サーバアドレス入力処理部302の動作説明に用いる接続対応テーブル20の一例である。この図ではプロトコル“telnet”に対してはプロトコル名“telnet”で表される対応関係エントリが登録され、このサーバアドレスを指定するフィールド(アドレス指定フィールド)には、具体的なサーバアドレスではない“ASK USER”という値が格納されている。一方、プロトコル“HTTP”に対してはプロトコル名“HTTP”で表される対応関係エントリが登録され、そのアドレス指定フィールドには、具体的なIPアドレス“192.168.1.1”が格納されている。
【0049】
プロトコル“telnet”は、UNIX系のプロトコルであり、インターネットでは広く使われているものである。そのため、その通信相手先となるサーバ計算機6は一つに限定されないことが多い。すなわち、プロトコル“telnet”に対しては、通信相手となるサーバ計算機6を通信接続ごとに変更できることが便利である。アドレス指定フィールドの値“ASK USER”は、そのような場合に指定される。サーバアドレス入力処理部302の入力要否判断部304は、通信接続の要求があると、それに対応した対応関係エントリを検索し、そのアドレス指定フィールドを参照する。そして、アドレス指定フィールドの値が、図における“HTTP”エントリのようにサーバ計算機6のアドレスを指定している場合には、入力要否判断部304はサーバアドレスをユーザに入力させる必要はないと判断し、プロキシクライアント300は、その値を含む当該対応関係エントリに基づいてクライアントアプリケーション10とサーバアプリケーション22との通信接続を確立する。
【0050】
一方、入力要否判断部304は、通信接続要求に応じて参照した対応関係エントリが図における“telnet”エントリのように、アドレス指定フィールドの値が入力要求値“ASK USER”であることを検知すると、ユーザにサーバアドレスを入力させることが必要があると判断する。この判断を受けて、入力要求部306はユーザに対し、サーバアドレスの入力を求める。
【0051】
プロキシクライアント300は入力された値を用いて、例えば“telnet”に対応した通信接続を行う。上述のように入力要求値が指定されたエントリを用いる接続要求に対しては、毎回、サーバアドレス入力を要求するように構成するために、入力されたサーバアドレスは、接続対応テーブル20には格納されない。つまり、アドレス指定フィールドの入力要求値“ASK USER”はそのままに保持され、次回の接続要求時にもそれが参照され上述と同様の動作が繰り返される。入力されたサーバアドレスは、通信接続が維持されている間、通信接続に対して生成されるセッションIDと関係づけられて例えばモバイル端末2のメモリ上のプロキシクライアント300の作業領域に保持され、通信接続が切断されるとセッションIDとともに消去される。
【0052】
サーバアドレス入力処理部302の動作に基づいてユーザからサーバアドレスが入力され、セッションが確立された後は、本システムは第1の実施の形態と同様の動作を行う。
【0053】
[実施の形態4]
図13は本発明の第4の実施の形態に係るプロキシクライアント400のブロック構成図である。本実施の形態に係るシステムの構成は、図1のプロキシクライアント12をプロキシクライアント400で置き換えたものとなる。他の構成要素は上記実施の形態と同様であり、以下それら同様の構成要素には同一の符号を用いて説明を行う。
【0054】
プロキシクライアント400がプロキシクライアント12と異なる点は、まず、クライアントアプリケーション10とサーバアプリケーション22との間の通信に対して所定の付加処理を行うフィルタ(通信フィルタ)を少なくとも1つ有している点である。図においては、その通信フィルタ全部をまとめて通信フィルタ群402として表している。また、本システムの接続対応テーブル404の各対応関係エントリは、それが定義する通信接続において使用される通信フィルタを指定するフィールドを有している。
【0055】
通信フィルタは、クライアントアプリケーション10とサーバアプリケーション22との間の通信内容を読み取り、それを加工することができる。また、通信開始時と通信終了時に所定の処理を行い、それにより生成されるデータをクライアントアプリケーション10側やサーバアプリケーション22側に送信することができる。通信フィルタは例えば具体的には、サーバアプリケーション22から返信される文字列中から所定キーワードを見つけだし、それをマスクしてクライアントアプリケーション10へ伝送するといった処理を行うものや、文字コード変換処理を行うもの、通信ログを作成するものなどである。
【0056】
図14は、本システムのプロキシクライアント400の動作説明に用いる接続対応テーブル404の一例である。この図では“ftp”エントリに対しては通信フィルタ指定フィールドには、“コード変換フィルタ”の指定がされ、“sqlnet”エントリに対しては、“ログ出力フィルタ”の指定がされ、また“HTTP”エントリに対しては通信フィルタの指定がされていない。
【0057】
次に、本システムの動作を説明する。クライアントアプリケーション10から通信接続要求がなされると、プロキシクライアント400は接続対応テーブル404を検索し、対応するエントリを見出す。プロキシクライアント400は、見つけた対応関係エントリの通信フィルタ指定フィールドを参照し、そこに通信フィルタが指定されている場合には、通信フィルタ群402からその指定された通信フィルタを選択する。そして、プロキシクライアント400は、選択したフィルタをソケット通信部16とサーバ通信部18との間に接続し、クライアントアプリケーション10とサーバアプリケーション22との通信を当該通信フィルタを経由させる。例えば、“ftp”エントリの指定により“コード変換フィルタ”が選択され、これがソケット通信部16とサーバ通信部18との間に接続され、クライアントアプリケーション10とサーバアプリケーション22との間の通信内容を対象としてコード変換処理を行う。
【0058】
一方、例えば“HTTP”エントリのように、対応関係エントリに通信フィルタが指定されていない場合には、ソケット通信部16とサーバ通信部18との間には通信フィルタは接続されず、第1の実施の形態と同様、クライアントアプリケーション10とサーバアプリケーション22との間の通信内容に対するフィルタ処理は行われない。
【0059】
本システムにおける他の処理・動作は第1の実施の形態と基本的に同様である。
【0060】
[実施の形態5]
本発明の第5の実施の形態に係るクライアント/サーバシステムのブロック構成は、第4の実施の形態と同様である。以下それら同様の構成要素には同一の符号を用いて説明を行う。
【0061】
本システムは、クライアントアプリケーションからソケット接続されるサーバアプリケーションがその接続されるサーバポートの設定を、動的に、すなわち通信接続中に変化させるプロトコルに対応するものであり、それに対応した通信フィルタ(動的接続変更フィルタ)を有している。
【0062】
例えば、オラクル社のデータベースのクライアント/サーバシステムの通信では、sqlnetV2というプロトコルが使用されている。このsqlnetV2では、クライアントアプリケーションからサーバアプリケーションへソケット接続した後、サーバアプリケーション側でソケット接続されるポートが変更されうる。サーバアプリケーションは、ポートを変更する際、次に接続すべき新しいサーバポート番号などの情報をリダイレクトメッセージとしてクライアントアプリケーションへ送信する。クライアントアプリケーションは、そのリダイレクトメッセージに従い、新たにソケット接続を行い、初めに接続したソケットをシャットダウンする。
【0063】
このsqlnetV2を例に本システムの動作を説明する。図15はその動作を説明するフロー図である。クライアントアプリケーション10からの通信接続要求に応じて、通信フィルタフィールドにsqlnetV2用フィルタが指定された“sqlnetV2”エントリが選択されると、プロキシクライアント400は、sqlnetV2用フィルタをソケット通信部16サーバ通信部18との間に接続する。当該通信フィルタはクライアントアプリケーション10とサーバアプリケーション22との間の通信内容を逐一チェックする。
【0064】
サーバアプリケーション22がリダイレクトメッセージを送信すると(S500)、プロキシサーバ24が当該メッセージデータを受信し(S505)、第1の実施の形態で述べたようにそれを送信データとして格納した通信データメッセージを生成し、これをプロキシクライアント12へ送信する(S510)。
【0065】
プロキシクライアント12は、サーバ通信部18にてこれを受信し(S515)、その内容が通信フィルタに渡され、解析される(S520)。その解析の結果、リダイレクトメッセージに指定される新たなサーバポート情報が、例えば、サーバアドレス=“serv1”,サーバポート番号=“3000”であるとする。
【0066】
リダイレクトメッセージの受信に応じて、ソケット通信部16は新たにクライアント側ソケット32のポートを生成する(S525)。そのクライアントポート番号を、“2000”とする。
【0067】
プロキシクライアント12は、リダイレクトメッセージに指定されたサーバポート情報と新たに生成したクライアントポート番号とを対応付ける対応関係エントリを接続対応テーブル404に追加登録する(S530)。そして、プロキシクライアント12はリダイレクトメッセージのサーバポート情報部分を、新たに生成したクライアントポート番号で書き換え(S535)、この書き換えられたリダイレクトメッセージをクライアントアプリケーション10に対して送信する(S540)。
【0068】
クライアントアプリケーション10は、この書き換えられたリダイレクトメッセージに従って、新たにソケット接続要求を行う。その結果、クライアント側ソケット32が構築される(S545)。その後は、新たなセッションIDが割り当てられ、接続対応テーブル404に従って上記実施の形態と同様にクライアントアプリケーション10はサーバアプリケーション22に接続される。
【0069】
なお、新たなクライアント側ソケット32によって取って代わられる旧ソケットはシャットダウンされるが、その方法は第1の実施の形態で説明した通りである。この新ソケットと旧ソケットとは互いに異なるセッションIDが割り当てられ区別されるので、新ソケットによる通信開始と旧ソケットの終了との時間的な前後関係は問題にならない。
【0070】
なお、ここでは、sqlnetV2を例に説明を行ったが、それ以外のプロトコルでもクライアントアプリケーション10からサーバアプリケーション22へ開くソケットのサーバポート番号が通信データを解析しなければ分からないようなものは、それに対応するフィルタを作成することにより対応可能である。
【0071】
[実施の形態6]
本発明の第6の実施の形態に係るクライアント/サーバシステムのブロック構成は、第4の実施の形態と同様である。以下それら同様の構成要素には同一の符号を用いて説明を行う。
【0072】
上述の実施の形態ではソケットはクライアントアプリケーション10がクライアントプロセス、サーバアプリケーション22がサーバプロセスとなる場合であった。本システムは、サーバアプリケーションからクライアントアプリケーションへソケット接続要求がなされる場合、つまりサーバアプリケーション22がクライアントプロセス、クライアントアプリケーション10がサーバプロセスとなるソケット接続が行われるプロトコルに対応するものであり、それに対応した通信フィルタ(逆方向通信処理フィルタ)を有している。
【0073】
例えば、このようにサーバアプリケーション22からクライアントアプリケーション10へソケット接続が行われるプロトコルの例としてftpが挙げられる。図16は本システムの特徴的動作である、サーバアプリケーション22からクライアントアプリケーション10へのソケット接続処理を説明するフロー図である。プロキシクライアント12はサーバアプリケーション22からクライアントアプリケーション10へのソケット接続要求を検知すると通信フィルタ群402から逆方向通信処理フィルタを選択し、これをソケット通信部16とサーバ通信部18との間に接続する。
【0074】
クライアントアプリケーション10はサーバアプリケーション22からのソケット接続要求を受信すると、PORTコマンドを送信する(S600)。このPORTコマンドには、サーバアプリケーション22からの要求に応じて生成されたクライアントアプリケーション10上のソケットのポート(逆方向通信用クライアントポート)のポート番号及びIPアドレスを含んだポート情報が格納される。
【0075】
逆方向通信処理フィルタはこのPORTコマンドを解析し(S605)、クライアントアプリケーション10におけるポート生成を検知する。当該通信フィルタはPORTコマンドを検知すると新たなセッションIDを取得し、逆方向通信開始メッセージを生成してプロキシサーバ24へ送信する(S610)。図17は、逆方向通信開始メッセージの模式図であり、メッセージ種別を示すヘッダに続いてセッションIDが格納されている。
【0076】
プロキシサーバ24は、逆方向通信開始メッセージを受信すると、ソケット通信部28上にソケットのポート(逆方向通信用サーバポート)を生成する(S615)。そしてプロキシサーバ24は、逆方向通信用サーバポートのポート番号を格納した逆方向通信開始結果メッセージを生成してプロキシクライアント12へ送信する(S620)。図18は、逆方向通信開始結果メッセージの模式図であり、メッセージ種別を示すヘッダに続いてセッションID及び逆方向通信用サーバポート番号が格納されている。
【0077】
プロキシクライアント12は、PORTコマンドに指定された逆方向通信用クライアントポートのポート番号にソケットをバインドする(S625)。つまり、クライアントアプリケーション10に対しては、サーバアプリケーション22の代わりにプロキシクライアント12自身がソケット接続する。その一方で、通信フィルタは、逆方向通信結果メッセージにて取得した逆方向通信用サーバポートのポート番号でPORTコマンドのポート情報を書き換え(S630)、サーバ通信部18はその書き換えたPORTコマンドを通信データメッセージに格納してプロキシサーバ24へ送信する(S635)。
【0078】
プロキシサーバ24はこのメッセージを受信すると(S640)、当該メッセージから書き換えられたPORTコマンドを取り出しサーバアプリケーション22へ送信する(S645)。
【0079】
サーバアプリケーション22は、書き換えられたPORTコマンドを受信すると、それに指定されたポートにソケットをバインドする。ここで、指定されたポートは逆方向通信用サーバポートであるので、当該ソケットはプロキシサーバ24のソケット通信部28上のポートにバインドされることになる。
【0080】
また、接続対応テーブル404には、逆方向通信用クライアントポートと逆方向通信用サーバポートとの対応関係を定義するエントリが追加登録される。
【0081】
サーバアプリケーション22からクライアントアプリケーション10へのソケット接続要求に対してこのような接続処理を行うことにより、プロキシクライアント12、プロキシサーバ24を経由した接続が実現される。ここで、クライアントアプリケーション10、サーバアプリケーション22における処理はプロキシクライアント12、プロキシサーバ24を中継しない場合と変わるところがない点に留意すべきである。すなわち、クライアントアプリケーション10は自身が発行したPORTコマンドに対して接続してきたプロキシクライアント12をサーバアプリケーション22とみなし、またサーバアプリケーション22は書き換えられたPORTコマンドに従って接続を行うことによりプロキシサーバ24をクライアントアプリケーション10とみなすこととなる。それらプロキシクライアント12とプロキシサーバ24との間は、接続対応テーブル404に基づいて接続され、通信の整合性が担保される。
【0082】
なお、このように接続が確立された後の処理・動作は第1の実施の形態と同様である。
【0083】
また、ここでは、ftpを例に説明を行ったが、それ以外のプロトコルでも通信中にサーバアプリケーション22からクライアントアプリケーション10へソケット接続を行い、そのポート番号がクライアントアプリケーション10からの通信内容に記述されるものであれば、上述のようなフィルタ処理により、プロキシクライアント12、プロキシサーバ24を中継した接続が可能である。
【0084】
[実施の形態7]
図19、図20はそれぞれ本発明の第7の実施の形態に係るモバイル端末700、ゲートウェイマシン702のブロック構成図である。本実施の形態に係るシステムの構成は、図1のモバイル端末2、ゲートウェイマシン8をそれぞれモバイル端末700、ゲートウェイマシン702で置き換えたものとなる。なお、上記実施の形態と同様の機能を有する構成要素は、以下の説明において上記実施の形態の構成要素と同一の符号を用いて示すこととする。
【0085】
モバイル端末700がモバイル端末2と異なる点は、まず通信モジュールが複数設けられている点である。つまり、モバイル端末700は、互いに異なる機能を有する通信モジュール704-1,704-2,…,704-nを有している。そして、これらの通信モジュール704のいずれかをクライアントアプリケーション10とサーバアプリケーション22との通信に使用される通信モジュールとして選択する通信モジュール選択部706がプロキシクライアント708に設けられている。
【0086】
また、ゲートウェイマシン702がゲートウェイマシン8と異なる点は、まず、通信モジュールが複数設けられている点である。つまり、ゲートウェイマシン702は、互いに異なる機能を有する通信モジュール710-1,710-2,…,710-nを有している。そして、これらの通信モジュール710のいずれかをクライアントアプリケーション10とサーバアプリケーション22との通信に使用される通信モジュールとして選択する通信モジュール選択部712がプロキシサーバ714に設けられている。
【0087】
これらモバイル端末700の複数の通信モジュール704とゲートウェイマシン702の複数の通信モジュール710とは互いに対応している。つまり、通信モジュール704-1と通信モジュール710-1、通信モジュール704-2と通信モジュール710-2、…というように対応し、対応関係にある通信モジュール対は同一の通信処理に対応している。これら通信モジュール704,710が備えうる通信処理機能としては、例えば、上述したように通信が切断されても自動復旧できるモバイル対応の機能、通信内容を暗号化する機能、プロトコル間の翻訳機能を有する機能、モバイル端末2の現在位置やネットワークの状態に応じて最適な通信路を選択して通信費を抑制する機能、通信内容をキューイングすることによりオフライン時にデータを溜めてオンライン時にまとめて送信する機能などがある。
【0088】
通信モジュール選択部712は、サーバアプリケーション22に対応して通信モジュール710を選択する。モバイル端末700では、その上で起動されるクライアントアプリケーション10がサービスを要求するサーバアプリケーション22に対応した通信モジュール710に応じた通信モジュール704が通信モジュール選択部706により選択される。
【0089】
このように、異なる機能を有する複数の通信モジュールを備え、それらを必要に応じて切り換えて使用することにより、それらの有する異なる通信機能による付加価値をプロキシクライアント12を用いた通信で得ることができる。
【0090】
[実施の形態8]
図21は本発明の第8の実施の形態に係るモバイル端末800のブロック構成図である。本実施の形態に係るシステムの構成は、図1のモバイル端末2をモバイル端末800で置き換えたものとなる。また、本システムではサーバ計算機6はネットワーク4に複数接続されうる。なお、上記実施の形態と同様の機能を有する構成要素は、以下の説明において上記実施の形態の構成要素と同一の符号を用いて示すこととする。
【0091】
モバイル端末800が第7の実施の形態に係るモバイル端末700と異なる点は、プロキシクライアント802がサーバ対通信モジュール対応テーブル804を備える点である。
【0092】
図22は、サーバ対通信モジュール対応テーブル804の一例の模式図である。サーバ対通信モジュール対応テーブル804は、サーバ計算機6と通信モジュール704との対応関係を定義するものである。
【0093】
本システムでは、プロキシクライアント802がクライアントアプリケーション10からソケット接続を受け、プロキシサーバ24を介してサーバ計算機6と通信する際に、サーバ対通信モジュール対応テーブル804を参照し、通信相手となるサーバ計算機6に対応した通信モジュール704を選択し、通信接続が確立される。
【0094】
以降の動作は、上述実施の形態と同様である。
【0095】
このようにサーバ計算機6毎に通信モジュール704を変更することにより、例えば重要なデータが保管されているサーバ計算機6との通信には暗号化通信モジュールを使用し、それ以外のサーバ計算機6との通信には暗号化しない通信モジュールを使用することとして通信速度の高速化を図るといったサーバ計算機6毎に最適な通信モジュールの使用が実現される。
【0096】
[実施の形態9]
図23は本発明の第9の実施の形態に係るモバイル端末900のブロック構成図である。本実施の形態に係るシステムの構成は、図1のモバイル端末2をモバイル端末900で置き換えたものとなる。また、本システムではプロキシサーバ24はネットワーク4に複数接続されうる。なお、上記実施の形態と同様の機能を有する構成要素は、以下の説明において上記実施の形態の構成要素と同一の符号を用いて示すこととする。
【0097】
モバイル端末900が第8の実施の形態に係るモバイル端末800と異なる点は、プロキシクライアント902がプロキシサーバ対通信モジュール対応テーブル904を備える点である。
【0098】
図24は、プロキシサーバ対通信モジュール対応テーブル904の一例の模式図である。プロキシサーバ対通信モジュール対応テーブル904は、複数のプロキシサーバ24と通信モジュール704との対応関係を定義するものである。
【0099】
本システムでは、プロキシクライアント902がクライアントアプリケーション10からソケット接続を受け、プロキシサーバ24と通信する際に、プロキシサーバ対通信モジュール対応テーブル904を参照し、通信相手となるプロキシサーバ24に対応した通信モジュール704を選択し、通信接続が確立される。
【0100】
以降の動作は、上述実施の形態と同様である。
【0101】
このようにプロキシサーバ24毎に通信モジュール704を変更することにより、例えばインターネット経由で接続するプロキシサーバ24との通信には暗号化通信モジュールを使用し、それ以外のサーバ計算機6との通信には暗号化しない通信モジュールを使用することとして通信速度の高速化を図るといったプロキシサーバ24毎に最適な通信モジュールの使用が実現される。
【0102】
[実施の形態10]
図25は本発明の第10の実施の形態に係るモバイル端末1000のブロック構成図である。本実施の形態に係るシステムの構成は、図1のモバイル端末2をモバイル端末1000で置き換えたものとなる。ちなみに、図25に示すようにモバイル端末1000は複数の通信モジュール704を有し、これに対応して本システムのプロキシサーバは例えば図20に示す第7の実施の形態のプロキシサーバ702と同様、複数の通信モジュール710を備えたものである。なお、上記実施の形態と同様の機能を有する構成要素は、以下の説明において上記実施の形態の構成要素と同一の符号を用いて示すこととする。
【0103】
本システムの特徴は、接続対応テーブル1002の各対応関係エントリが、それが定義する通信接続において使用される通信モジュールを指定するフィールドを有している点にある。図26は、本システムにおける接続対応テーブルの一例の模式図である。
【0104】
この図では“sqlnet”エントリに対しては通信モジュール指定フィールドには、“暗号化通信モジュール”の指定がされ、“HTTP”エントリに対しては、“圧縮通信モジュール”の指定がされている。
【0105】
次に、本システムの動作を説明する。クライアントアプリケーション10から通信接続要求がなされると、プロキシクライアント1004は接続対応テーブル1002を検索し、対応するエントリを見出す。プロキシクライアント1004は、見つけた対応関係エントリの通信モジュール指定フィールドを参照し、そこに通信モジュールが指定されている場合には、通信モジュール704-1〜704-nの中から指定された通信モジュールを選択する。そして、プロキシクライアント1004は、選択した通信モジュール704を用いてプロキシサーバ714と通信する。例えば通信プロトコルが“sqlnet”の場合は暗号化通信モジュールが選択され、暗号化された通信内容がプロキシクライアント1004とプロキシサーバ714との間で送受される。また例えば通信プロトコルが“HTTP”の場合は圧縮通信モジュールが選択され、通信内容は圧縮されずに圧縮されてプロキシクライアント1004からプロキシサーバ714へ送信される。
【0106】
このように接続対応テーブル1002のエントリ毎に通信モジュール704を変更することにより、例えばデータ量が多いプロトコルの場合は圧縮通信モジュールを使用し、重要なデータが伝送されるプロトコルの場合は暗号化通信モジュールを使用するというように、例えばプロトコル別に通信モジュールを使い分けることができる。
【0107】
[実施の形態11]
図27は本発明の第11の実施の形態に係るクライアント/サーバシステムの概略のブロック構成図である。本システムではモバイル端末2はネットワーク4に複数接続されうる。なお、上記実施の形態と同様の機能を有する構成要素は、以下の説明において上記実施の形態の構成要素と同一の符号を用いて示すこととする。
【0108】
本システムでは、上述したように複数のモバイル端末2が一つのプロキシサーバ1100に接続される。これに対応してプロキシサーバ1100は、接続を要求してきた異なるモバイル端末2上のクライアントアプリケーション10を識別するため、複数のモバイル端末2を互いに識別するクライアントIDを生成することができる。
【0109】
以下、本システムの動作を説明する。各プロキシクライアント12は起動時に図28に示すクライアントID取得メッセージをプロキシサーバ1100へ送信する。クライアントID取得メッセージは、例えばメッセージ種別を表すヘッダで構成される。プロキシサーバ1100はこのメッセージを受信すると、新しいクライアントIDを生成して、これを図29に示すクライアントID取得結果メッセージに格納して、クライアントID取得メッセージを送信してきたプロキシクライアント12へ送信する。クライアントID取得結果メッセージは、例えばメッセージ種別を表すヘッダとクライアントIDとで構成される。
【0110】
クライアントアプリケーション10がサーバアプリケーション22に対して通信開始する場合には、図30に示す通信開始メッセージがプロキシサーバ1100に送信される。図30と図4とを比較すると分かるように、本システムの通信開始メッセージは、クライアントIDを格納されている点が上記実施の形態の通信開始メッセージと異なる。同様に、図31,32をそれぞれ図6,8と比較すると分かるように、本システムの通信データメッセージ、通信終了メッセージは、クライアントIDを格納されている点が上記実施の形態の通信データメッセージ、通信終了メッセージと異なる。
【0111】
このように、本システムでは、プロキシクライアント12とプロキシサーバ1100との間のメッセージにクライアントIDが付加されるので、複数のモバイル端末2から同時にメッセージが送られてきても、プロキシサーバ1100はそれら処理を区別して行うことができる。
【0112】
なお、本システムでは、プロキシクライアント12はその処理を終了する際には、図33に示すクライアントID解放メッセージをプロキシサーバ1100に送信し、IDの利用終了を通知する。
【0113】
【発明の効果】
本発明のクライアント/サーバシステムによれば、通信モジュールに自動復旧機能を有するものを用いることにより、プロキシクライアント部からプロキシサーバ部へ再度電話を掛けることにより再接続が行われ、データの再送等、必要な処理が自動的に行われる。つまり、クライアント/サーバシステムを例えばモバイル対応とする場合などにおいて、クライアントアプリケーション、サーバアプリケーションに回線障害への対応のための処理を作り込む修正を行わなくてもよく、通信再開の機能が容易に実現されるという効果が得られる。
【0114】
また、クライアントアプリケーションとサーバアプリケーションとの間の処理はあたかもクライアントアプリケーション、サーバアプリケーションそれぞれからは1つのソケットで接続されているかのように見えるため、この意味でも、両者の間を1つのソケットで接続するように構成されたシステムのために作成されたクライアントアプリケーション、サーバアプリケーションの通信部分の作り直しが不要である。本発明のシステムでは実際には、両アプリケーションの間の接続は、クライアント側とサーバ側とで別個のソケットであって、それらが接続対応テーブルの接続関係によって取り持たれている。このような構成は、各クライアントアプリケーションとサーバアプリケーションとの間で共通に利用されるプロキシクライアント/プロキシサーバ間で、通信処理の違いを吸収することを可能とする。すなわち、本発明によれば、個々のクライアントアプリケーションやサーバアプリケーションの通信部分を通信形態に応じて逐一作成し直す手間が削減され、様々な通信形態に容易に対応できるという効果が得られる。
【0115】
本発明のクライアント/サーバシステムによれば、プロキシクライアント部がユーザ入力に応じて接続対応テーブルの記憶内容を変更することができ、例えば新たなプロトコルへの対応も可能となる。このように本発明によれば、システムの拡張、変更に容易に対応できるという効果が得られる。
【0116】
本発明のクライアント/サーバシステムによれば、接続対応テーブルがサーバ計算機のアドレスを指定するアドレス指定フィールドを有し、当該フィールドの内容に基づいてユーザに前記アドレスの入力を求める。本発明によれば、接続相手先となるサーバ計算機6が複数存在するシステムにおいて、高い頻度で接続相手先サーバ計算機を変更するプロトコル等の接続形態において、その変更のためのユーザインターフェースが提供され、ユーザが接続相手先サーバ計算機の変更を行うことが容易となるという効果が得られる。
【0117】
本発明のクライアント/サーバシステムによれば、クライアントアプリケーションとサーバアプリケーションとの間の通信に対して所定の付加処理を行うフィルタが用意され、接続対応テーブルはフィルタの指定が記述されるフィールドを有する。本発明によれば、クライアントアプリケーションとサーバアプリケーションとの接続に際して、接続対応テーブルに定義される対応関係毎に所望の機能を有したフィルタが選択され、そのフィルタの機能が利用できる。つまり、高付加価値を有した通信接続が、クライアントアプリケーションとサーバアプリケーションとの接続に際して自動的に実現されるという効果が得られる。
【0118】
本発明のクライアント/サーバシステムによれば、通信内容の解析によりサーバポート情報が取得され、当該サーバポート情報に基づいて新たな前記対応関係が生成され接続対応テーブルに登録され、この新たな対応関係に基づいてクライアントアプリケーションとサーバアプリケーションとの通信接続が行われる。これによりサーバアプリケーションからクライアントアプリケーションへサーバポート情報を送信し当該サーバポート情報に応じて前記サーバアプリケーションと前記クライアントアプリケーションとの通信接続関係を変化させるという特殊な通信プロトコルに対しても、上述した効果を得ることができる。
【0119】
本発明のクライアント/サーバシステムによれば、サーバアプリケーションからクライアントポートへの通信接続要求に応じた通信内容を解析する逆方向通信処理フィルタを有し、当該フィルタは、前記通信接続要求に応じたクライアントアプリケーションにおける逆方向通信用クライアントポートの生成を検知し、プロキシサーバ部は逆方向通信用クライアントポートの生成検知に応じて、サーバアプリケーションが接続される逆方向通信用サーバポートを生成し、接続対応テーブルは、逆方向通信用サーバポートと逆方向通信用クライアントポートとの対応関係を記憶し、当該接続対応テーブルに基づいて、前記クライアントアプリケーションと前記サーバアプリケーションとの通信接続が行われる。これによりサーバアプリケーションからクライアントアプリケーションへ新たに通信接続を行うという特殊な通信プロトコルに対しても、上述した効果を得ることができる。
【0120】
本発明のクライアント/サーバシステムによれば、異なる機能を有する複数の通信モジュールがプロキシクライアント部側、プロキシサーバ部側にそれぞれ設けられ、それらが切り換えられて使用される。これにより、多様な通信形態への容易な対応が可能なシステムにおいて、通信モジュールが有する付加価値を有効に利用することができるという効果が得られる。
【0121】
本発明のクライアント/サーバシステムによれば、複数のサーバ計算機それぞれとそれに対応して使用される通信モジュールとの対応関係を記憶するサーバ対通信モジュール対応テーブルを有することにより、複数サーバ計算機のそれぞれに適した通信モジュールが、クライアントアプリケーションとサーバアプリケーションとの接続の際に自動的に選択され、通信モジュールが有する付加価値を有効に利用することができるという効果が得られる。
【0122】
本発明のクライアント/サーバシステムによれば、複数のプロキシサーバ部それぞれとそれに対応して使用される通信モジュールとの対応関係を記憶するプロキシサーバ部対通信モジュール対応テーブルを有することにより、複数プロキシサーバのそれぞれに適した通信モジュールが、クライアントアプリケーションとサーバアプリケーションとの接続の際に自動的に選択され、通信モジュールが有する付加価値を有効に利用することができるという効果が得られる。
【0123】
本発明のクライアント/サーバシステムによれば、接続対応テーブルのエントリ毎に、使用される通信モジュールの指定を有することにより、各エントリに適した通信モジュールが、クライアントアプリケーションとサーバアプリケーションとの接続の際に自動的に選択され、通信モジュールが有する付加価値を有効に利用することができるという効果が得られる。
【0124】
本発明のクライアント/サーバシステムによれば、プロキシクライアント部を互いに区別するクライアント識別子が定義され、プロキシクライアント部とプロキシサーバ部との間の通信メッセージに格納される。これにより、複数のプロキシクライアント部を識別することができ、上述の多様な通信接続形態に対応できるなどの効果を有するシステムが、複数の移動端末を含んだシステムに拡張されるという効果がある。
【図面の簡単な説明】
【図1】 第1の実施の形態に係るクライアント/サーバシステムの概略のブロック図である。
【図2】 接続対応テーブルの構成を模式的に示す説明図である。
【図3】 第1の実施の形態におけるクライアントアプリケーションとサーバアプリケーションとの通信接続処理を説明するフロー図である。
【図4】 通信開始メッセージの模式図である。
【図5】 第1の実施の形態におけるクライアントアプリケーションとサーバアプリケーションとの間での通信処理を説明するフロー図である。
【図6】 通信データメッセージの模式図である。
【図7】 第1の実施の形態におけるクライアントアプリケーションから通信を終了する場合の処理を説明するフロー図である。
【図8】 通信終了メッセージの模式図である。
【図9】 第1の実施の形態におけるサーバアプリケーションから通信を終了する場合の処理を説明するフロー図である。
【図10】 第2の実施の形態に係るプロキシクライアントのブロック構成図である。
【図11】 第3の実施の形態に係るプロキシクライアントのブロック構成図である。
【図12】 サーバアドレス入力処理部の動作説明に用いる接続対応テーブル20の一例の模式図である。
【図13】 第4の実施の形態に係るプロキシクライアントのブロック構成図である。
【図14】 第4の実施の形態に係る接続対応テーブルの一例の模式図である。
【図15】 第5の実施の形態に係るシステムの動作を説明するフロー図である。
【図16】 第6の実施の形態におけるサーバアプリケーションからクライアントアプリケーションへのソケット接続処理を説明するフロー図である。
【図17】 逆方向通信開始メッセージの模式図である。
【図18】 逆方向通信開始結果メッセージの模式図である。
【図19】 第7の実施の形態に係るモバイル端末のブロック構成図である。
【図20】 第7の実施の形態に係るゲートウェイマシンのブロック構成図である。
【図21】 第8の実施の形態に係るモバイル端末のブロック構成図である。
【図22】 サーバ対通信モジュール対応テーブルの一例の模式図である。
【図23】 第9の実施の形態に係るモバイル端末のブロック構成図である。
【図24】 プロキシサーバ対通信モジュール対応テーブルの一例の模式図である。
【図25】 第10の実施の形態に係るモバイル端末のブロック構成図である。
【図26】 第10の実施の形態に係る接続対応テーブルの一例の模式図である。
【図27】 第11の実施の形態に係るクライアント/サーバシステムの概略のブロック構成図である。
【図28】 クライアントID取得メッセージの模式図である。
【図29】 クライアントID取得結果メッセージの模式図である。
【図30】 第11の実施の形態に係る通信開始メッセージの模式図である。
【図31】 第11の実施の形態に係る通信データメッセージの模式図である。
【図32】 第11の実施の形態に係る通信終了メッセージの模式図である。
【図33】 クライアントID解放メッセージの模式図である。
【符号の説明】
2,700,800,900,1000 モバイル端末、4 ネットワーク、6 サーバ計算機、8,702 ゲートウェイマシン、10 クライアントアプリケーション、12,250,300,400,708,802,902,1004 プロキシクライアント、14,26,704,710 通信モジュール、16,28 ソケット通信部、18 サーバ通信部、20,404,1002 接続対応テーブル、22 サーバアプリケーション、24,714,1100 プロキシサーバ、30 クライアント通信部、32 クライアント側ソケット、34 サーバ側ソケット、252 テーブル操作部、302 サーバアドレス入力処理部、304 入力要否判断部、306 入力要求部、402 通信フィルタ群、706,712 通信モジュール選択部、804 サーバ対通信モジュール対応テーブル、904 プロキシサーバ部対通信モジュール対応テーブル。
Claims (10)
- ネットワークに接続されたクライアント端末上で動作するクライアントアプリケーションと、サーバ計算機上で動作し前記ネットワークを介して前記クライアントアプリケーションと通信を行いサービスを提供するサーバアプリケーションとを含むクライアント/サーバシステムにおいて、
前記クライアントアプリケーションを接続されるクライアントポートを備え、前記クライアントアプリケーションと前記サーバアプリケーションとの間の通信を中継するプロキシクライアント部と、
前記サーバアプリケーションが接続され、前記クライアントアプリケーションと前記サーバアプリケーションとの間の通信を中継するプロキシサーバ部と、
前記プロキシクライアント部と前記プロキシサーバ部とをそれぞれ前記ネットワークに接続し、障害による通信切断時に自動復旧を行う通信モジュールと、
を有し、
前記プロキシクライアント部は、前記クライアントアプリケーションの通信相手先となるサーバポートと前記クライアントポートとの対応関係を記憶する接続対応テーブルを有し、
前記接続対応テーブルは、前記サーバポートが設けられる前記サーバ計算機のアドレスを格納するアドレス指定フィールドを有し、
前記プロキシクライアント部は、
通信接続要求に応じて参照した前記アドレス指定フィールドの内容に基づいて前記アドレスの入力の要否を判断する入力要否判断手段と、
入力の必要があると判断された場合にはユーザに対し前記アドレスの入力を求める入力要求手段と、
を有し、
前記接続対応テーブルに基づき、前記アドレス指定フィールドに格納されたアドレス若しくは前記入力要求手段により要求された場合にはその要求に応じて入力されたアドレスを用いて、前記クライアントアプリケーションと前記サーバアプリケーションとの通信接続を行うことを特徴とするクライアント/サーバシステム。 - 請求項1記載のクライアント/サーバシステムにおいて、
前記プロキシクライアント部は、ユーザ入力に応じて前記接続対応テーブルの記憶内容を変更するテーブル操作手段を有すること、
を特徴とするクライアント/サーバシステム。 - 請求項1記載のクライアント/サーバシステムにおいて、
前記プロキシクライアント部は、前記クライアントアプリケーションと前記サーバアプリケーションとの間の通信に対して所定の付加処理を行うフィルタを少なくとも一つ有し、
前記接続対応テーブルは、前記サーバポートと前記クライアントポートとの対応関係毎に、当該対応関係において使用される前記フィルタの指定を有すること、
を特徴とするクライアント/サーバシステム。 - 請求項3記載のクライアント/サーバシステムにおいて、
前記フィルタとして、前記サーバアプリケーションから前記クライアントアプリケーションへサーバポート情報を送信し当該サーバポート情報に応じて前記サーバアプリケーションと前記クライアントアプリケーションとの通信接続関係を変化させる通信プロトコルに対応して、通信内容を解析して前記サーバポート情報を取得し、当該サーバポート情報に基づいて新たな前記対応関係を生成し前記接続対応テーブルに登録する動的接続変更フィルタを有し、
当該生成された新たな対応関係に基づいて前記クライアントアプリケーションと前記サーバアプリケーションとの通信接続を行うことを特徴とするクライアント/サーバシステム。 - 請求項3記載のクライアント/サーバシステムにおいて、
前記フィルタとして、前記サーバアプリケーションから前記クライアントポートへの通信接続要求に応じた通信内容を解析する逆方向通信処理フィルタを有し、
前記逆方向通信処理フィルタは、前記通信接続要求に応じた前記クライアントアプリケーションにおける逆方向通信用クライアントポートの生成を検知し、
前記プロキシサーバ部は、前記逆方向通信用クライアントポートの生成検知に応じて、前記サーバアプリケーションが接続される逆方向通信用サーバポートを生成し、
前記接続対応テーブルは、前記逆方向通信用サーバポートと前記逆方向通信用クライアントポートとの対応関係を記憶し、
前記接続対応テーブルに基づいて、前記クライアントアプリケーションと前記サーバアプリケーションとの通信接続を行うことを特徴とするクライアント/サーバシステム。 - ネットワークに接続されたクライアント端末上で動作するクライアントアプリケーションと、サーバ計算機上で動作し前記ネットワークを介して前記クライアントアプリケーションと通信を行いサービスを提供するサーバアプリケーションとを含むクライアント/サーバシステムにおいて、
前記クライアントアプリケーションを接続されるクライアントポートを備え、前記クライアントアプリケーションと前記サーバアプリケーションとの間の通信を中継するプロキシクライアント部と、
前記サーバアプリケーションが接続され、前記クライアントアプリケーションと前記サーバアプリケーションとの間の通信を中継するプロキシサーバ部と、
前記プロキシクライアント部と前記プロキシサーバ部とをそれぞれ前記ネットワークに接続し、障害による通信切断時に自動復旧を行う通信モジュールと、
を有し、
前記プロキシクライアント部は、前記クライアントアプリケーションの通信相手先となるサーバポートと前記クライアントポートとの対応関係を記憶する接続対応テーブルを有し、
前記通信モジュールとして、それぞれ異なる機能を有する複数種別のモジュールを有し、
前記プロキシクライアント部を前記ネットワークに接続する前記通信モジュールと前記プロキシサーバ部を前記ネットワークに接続する前記通信モジュールとをそれぞれ切り換えて使用し、
前記接続対応テーブルに基づいて、前記クライアントアプリケーションと前記サーバアプリケーションとの通信接続を行うことを特徴とするクライアント/サーバシステム。 - 請求項6記載のクライアント/サーバシステムにおいて、
前記プロキシクライアント部は、複数の前記サーバ計算機それぞれとそれに対応して使用される前記通信モジュールとの対応関係を記憶するサーバ対通信モジュール対応テーブルを有すること、
を特徴とするクライアント/サーバシステム。 - 請求項6記載のクライアント/サーバシステムにおいて、
前記プロキシクライアント部は、複数の前記プロキシサーバ部それぞれとそれに対応して使用される前記通信モジュールとの対応関係を記憶するプロキシサーバ部対通信モジュール対応テーブルを有すること、
を特徴とするクライアント/サーバシステム。 - 請求項6記載のクライアント/サーバシステムにおいて、
前記接続対応テーブルは、前記サーバポートと前記クライアントポートとの各対応関係毎に、当該対応関係において使用される前記通信モジュールの指定を有すること、
を特徴とするクライアント/サーバシステム。 - 請求項1記載のクライアント/サーバシステムにおいて、
複数の前記プロキシクライアント部を互いに区別するクライアント識別子が定義され、
前記プロキシクライアント部と前記プロキシサーバ部との間の通信メッセージには、前記クライアント識別子が格納されること、
を特徴とするクライアント/サーバシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26433798A JP3929186B2 (ja) | 1998-09-18 | 1998-09-18 | クライアント/サーバシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26433798A JP3929186B2 (ja) | 1998-09-18 | 1998-09-18 | クライアント/サーバシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000101640A JP2000101640A (ja) | 2000-04-07 |
JP3929186B2 true JP3929186B2 (ja) | 2007-06-13 |
Family
ID=17401780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26433798A Expired - Fee Related JP3929186B2 (ja) | 1998-09-18 | 1998-09-18 | クライアント/サーバシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3929186B2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002032275A (ja) * | 2000-07-13 | 2002-01-31 | Nec Software Kansai Ltd | 地図表示システム、地図表示方法、および、記録媒体 |
JP3814185B2 (ja) | 2000-11-13 | 2006-08-23 | 松下電器産業株式会社 | 基地局装置、移動通信端末装置、及びそれらを用いた無線アクセスシステム |
US7921290B2 (en) | 2001-04-18 | 2011-04-05 | Ipass Inc. | Method and system for securely authenticating network access credentials for users |
US20050198379A1 (en) * | 2001-06-13 | 2005-09-08 | Citrix Systems, Inc. | Automatically reconnecting a client across reliable and persistent communication sessions |
WO2003027859A1 (fr) * | 2001-09-21 | 2003-04-03 | E-Jan Net Co. | Serveur de soutien des connexions, terminal, systeme de soutien des connexions, procede de soutien des connexions, programme de communication et programme de soutien des connexions |
DE60326829D1 (de) * | 2002-04-12 | 2009-05-07 | Thomson Licensing | Verfahren zur anonymen Authentifizierung eines Datensenders |
JP4538325B2 (ja) * | 2002-12-19 | 2010-09-08 | ソニック モビリティー インコーポレイテッド | 複数の管理対象エンティティーの安全な無線管理のためのプロキシ方法及びシステム |
US8606885B2 (en) | 2003-06-05 | 2013-12-10 | Ipass Inc. | Method and system of providing access point data associated with a network access point |
US20050091322A1 (en) * | 2003-10-27 | 2005-04-28 | International Business Machines Corporation | Method, system and program product for communicating over a network |
US7539862B2 (en) | 2004-04-08 | 2009-05-26 | Ipass Inc. | Method and system for verifying and updating the configuration of an access device during authentication |
JP4700473B2 (ja) * | 2005-11-04 | 2011-06-15 | 株式会社 デジタルデザイン | データ通信方法 |
JP4862026B2 (ja) * | 2008-09-05 | 2012-01-25 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法、及び、制御プログラム |
JPWO2011096307A1 (ja) | 2010-02-03 | 2013-06-10 | 日本電気株式会社 | プロキシ装置とその動作方法 |
KR101435500B1 (ko) | 2012-10-09 | 2014-09-11 | 주식회사 시큐아이 | 프록시 장치를 제어하는 방법 및 프록시 장치 |
CN104615388B (zh) | 2013-11-01 | 2017-12-22 | 精工爱普生株式会社 | 打印控制系统 |
IN2014DE02931A (ja) | 2013-11-01 | 2015-06-26 | Seiko Epson Corp | |
CN107332912B (zh) * | 2017-07-03 | 2021-08-03 | 广州视源电子科技股份有限公司 | 服务发现方法、装置、系统及存储介质、计算机设备 |
-
1998
- 1998-09-18 JP JP26433798A patent/JP3929186B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000101640A (ja) | 2000-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3929186B2 (ja) | クライアント/サーバシステム | |
JP3966598B2 (ja) | サーバ選択システム | |
US7228359B1 (en) | Methods and apparatus for providing domain name service based on a client identifier | |
US7080158B1 (en) | Network caching using resource redirection | |
US6532241B1 (en) | Method and apparatus for determining SNA sessions using various protocols for transport based on filter criteria | |
US6336141B1 (en) | Method of collectively managing dispersive log, network system and relay computer for use in the same | |
US7415536B2 (en) | Address query response method, program, and apparatus, and address notification method, program, and apparatus | |
JP4354294B2 (ja) | ネットワーク・セグメントが互いに異なる複数のネットワークに接続されたゲートウェイ装置、およびipパケットを転送するためのプログラムおよび方法 | |
US7385937B2 (en) | Method and system for determining a path between two points of an IP network over which datagrams are transmitted | |
EP1517513A2 (en) | Communication apparatus and method, and program for applying security policy | |
US7111065B2 (en) | Method and apparatus for managing tunneled communications in an enterprise network | |
KR20010072045A (ko) | 다중 시스템간 정보 브라우징을 동기시키기 위한 장치 및방법 | |
US20020095488A1 (en) | System and method for discovering, advertising, and finding networked services using dynamic directory | |
CN1917512B (zh) | 一种建立对等直连通道的方法 | |
JP3666654B2 (ja) | インターネット通信方法{AmethodforanInternetCommunication} | |
EP1234431A2 (en) | Resource request forwarding in havi and other internetworking devices | |
US20020065906A1 (en) | Method and apparatus for tunneled communication in an enterprise network | |
JPH0779246A (ja) | ネットワーク管理システム | |
CN111865790B (zh) | 用于采集路由器信息的方法、装置、物联设备和物联网系统 | |
Cisco | Glossary | |
Cisco | Glossary | |
US7680121B2 (en) | Transmission apparatus, method and program | |
CA2550323A1 (en) | Method and system for improved management of a communication network by extending the simple network management protocol | |
Cisco | Using the Web Browser | |
JP2002538671A (ja) | ネットワークマネージメントシステムへのデータ送信 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050512 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050512 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070216 |
|
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: 20070306 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070306 |
|
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: 20100316 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |