(57)【要約】【課題】クライアント端末を操作するユーザがＷｅｂブラウザを通じて行っていた繁雑な作業を自動化し、ユーザの負担軽減を図る。【解決手段】サーバ部１と、処理部２と、クライアント部３ａ，３ｂとをゲストＯＳ上に構築する。処理部２は、サーバ部１を介してＷｅｂブラウザより取得した処理実行要求に応じて、少なくとも一部の処理の実行をクライアント部３ｂを介して処理代行サーバ３０に依頼する。処理部２は、処理代行サーバ３０から取得したのデータに応じて、クライアント部３ａを介して送信先サーバ２０に処理済データをアップロードする。処理部２は、処理実行要求に対する結果をサーバ部１を介してＷｅｂブラウザに送信する。【選択図】図１
2006285410.tif 000002
【特許請求の範囲】
【請求項１】
ネイティブのホストＯＳ上で動作するＷｅｂブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムにおいて、
ネイティブのホストＯＳ上で動作するＷｅｂブラウザとの間のデータ転送をＴＣＰ／ＩＰにて行う機能と、前記Ｗｅｂブラウザより入力されたＵＲＬによって特定されるメニュー画面を前記Ｗｅｂブラウザに送信する機能と、前記メニュー画面に応じて前記Ｗｅｂブラウザから送信された処理実行要求を受信する機能とを有するサーバ部を、前記ホストＯＳ上で動作するハードウェア・エミュレータによってエミュレートされたゲストＯＳ上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をＴＣＰ／ＩＰにて行う機能を有する第１のクライアント部を、前記ゲストＯＳ上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された処理代行サーバとの間のデータ転送をＴＣＰ／ＩＰにて行う機能を有する第２のクライアント部を、前記ゲストＯＳ上に構築するステップと、
前記サーバ部を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を前記第２のクライアント部を介して前記処理代行サーバに依頼する機能と、前記第２のクライアント部を介して取得した前記処理代行サーバからのデータに応じて、前記第１のクライアント部を介して前記送信先サーバに処理済データをアップロードする機能と、前記処理実行要求に対する結果を前記サーバ部を介して前記Ｗｅｂブラウザに送信する機能とを有する処理部を、前記ゲストＯＳ上に構築するステップと
を有する一連の処理をクライアント端末に実行させることを特徴とする処理自動化コンピュータ・プログラム。
【請求項２】
Ｗｅｂブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムにおいて、
一のＯＳ上で動作するＷｅｂブラウザとの間のデータ転送をＴＣＰ／ＩＰにて行う機能と、前記Ｗｅｂブラウザより入力されたＵＲＬによって特定されるメニュー画面を前記Ｗｅｂブラウザに送信する機能と、前記メニュー画面に応じて前記Ｗｅｂブラウザから送信された処理実行要求を受信する機能とを有するサーバ部を、前記Ｗｅｂブラウザと同じＯＳ上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をＴＣＰ／ＩＰにて行う機能を有する第１のクライアント部を前記ＯＳ上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された処理代行サーバとの間のデータ転送をＴＣＰ／ＩＰにて行う機能を有する第２のクライアント部を前記ＯＳ上に構築するステップと、
前記サーバ部を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を前記第２のクライアント部を介して前記処理代行サーバに依頼する機能と、前記第２のクライアント部を介して取得した前記処理代行サーバからのデータに応じて、前記第１のクライアント部を介して前記送信先サーバに処理済データをアップロードする機能と、前記処理実行要求に対する結果を前記サーバ部を介して前記Ｗｅｂブラウザに送信する機能とを有する処理部を前記ＯＳ上に構築するステップと
を有する一連の処理をクライアント端末に実行させることを特徴とする処理自動化コンピュータ・プログラム。
【請求項３】
前記処理部は、前記処理代行サーバへの依頼に先立ち、前記第１のクライアント部を介して前記送信先サーバから元データをダウンロードする機能をさらに有し、前記処理代行サーバへの依頼は、前記ダウンロードされた元データの付加を伴うことを特徴とする請求項１または２に記載された処理自動化コンピュータ・プログラム。
【請求項４】
ネイティブのホストＯＳ上で動作するＷｅｂブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムにおいて、
ネイティブのホストＯＳ上で動作するＷｅｂブラウザとの間のデータ転送をＴＣＰ／ＩＰにて行う機能と、前記Ｗｅｂブラウザより入力されたＵＲＬによって特定されるメニュー画面を前記Ｗｅｂブラウザに送信する機能と、前記メニュー画面に応じて前記Ｗｅｂブラウザから送信された処理実行要求を受信する機能とを有するサーバ部を、前記ホストＯＳ上で動作するハードウェア・エミュレータによってエミュレートされたゲストＯＳ上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をＴＣＰ／ＩＰにて行う機能を有する第１のクライアント部を、前記ゲストＯＳ上に構築するステップと、
前記サーバ部を介して取得した処理実行要求に応じた所定の処理をバックグラウンドで実行する機能と、前記所定の処理によって生成された処理済データを前記第１のクライアント部を介して前記送信先サーバにアップロードする機能と、前記処理実行要求に対する結果を前記サーバ部を介して前記Ｗｅｂブラウザに送信する機能とを有する処理部を、前記ゲストＯＳ上に構築するステップと
を有する一連の処理をコンピュータに実行させることを特徴とする処理自動化コンピュータ・プログラム。
【請求項５】
Ｗｅｂブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムにおいて、
一のＯＳ上で動作するＷｅｂブラウザとの間のデータ転送をＴＣＰ／ＩＰにて行う機能と、前記Ｗｅｂブラウザより入力されたＵＲＬによって特定されるメニュー画面を前記Ｗｅｂブラウザに送信する機能と、前記メニュー画面に応じて前記Ｗｅｂブラウザから送信された処理実行要求を受信する機能とを有するサーバ部を前記Ｗｅｂブラウザと同じＯＳ上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をＴＣＰ／ＩＰにて行う機能を有する第１のクライアント部を前記ＯＳ上に構築するステップと、
前記サーバ部を介して取得した処理実行要求に応じた所定の処理をバックグラウンドで実行する機能と、前記所定の処理によって生成された処理済データを前記第１のクライアント部を介して前記送信先サーバにアップロードする機能と、前記処理実行要求に対する結果を前記サーバ部を介して前記Ｗｅｂブラウザに送信する機能とを有する処理部を前記ＯＳ上に構築するステップと
を有する一連の処理をコンピュータに実行させることを特徴とする処理自動化コンピュータ・プログラム。
【請求項６】
前記処理部は、前記所定の処理の実行に先立ち、前記第１のクライアント部を介して前記送信先サーバから元データをダウンロードする機能をさらに有し、前記所定の処理は、前記ダウンロードされた元データを入力として実行されることを特徴とする請求項４または５に記載された処理自動化コンピュータ・プログラム。
【請求項７】
前記処理部がアクセス可能な記憶領域には、送信先サーバのネットワーク上の初期アドレスの指定と、当該指定された初期アドレスを起点とした外部システムから送信先サーバへのアクセス手順の記述とを含むアクセスポリシーが送信先サーバ毎に記憶されており、
前記処理部は、送信先サーバ毎に個別に設定された前記アクセスポリシーに基づいて、複数の送信先サーバに対する処理済データの送信を一括で行うことを特徴とする請求項１から６のいずれかに記載された処理自動化コンピュータ・プログラム。
【請求項８】
前記処理部は、前記第１のクライアント部を介した前記送信先サーバとの間のデータ転送において、前記Ｗｅｂブラウザと同様の転送シーケンスで、クッキー情報の転送を行う機能と、前記クッキー情報を自己がアクセス可能な記憶領域に随時記憶する機能とをさらに有することを特徴とする請求項１から６のいずれかに記載された処理自動化コンピュータ・プログラム。
【請求項９】
前記処理部は、前記第１のクライアント部を介した前記送信先サーバとの間のデータ転送において、前記Ｗｅｂブラウザと同様の転送シーケンスで、リファラー情報の転送を行う機能と、前記リファラー情報を自己がアクセス可能な記憶領域に随時記憶する機能とをさらに有することを特徴とする請求項８に記載された処理自動化コンピュータ・プログラム。
【請求項１０】
前記処理部は、前記第１のクライアント部を介した前記送信先サーバとの間のデータ転送において、ユーザエージェント情報の転送を行う機能と、前記ユーザエージェント情報を自己がアクセス可能な記憶領域に記憶する機能とをさらに有することを特徴とする請求項９に記載された処理自動化コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂブラウザと連係して動作する処理自動化コンピュータ・プログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、ユーザ・ステーションにエミュレータ機能を実装し、これを用いてターゲット・ホストにアクセスするアクセス方法が開示されている。具体的には、ユーザ・ステーションは、ホスト・サーバ上に常駐する機能にアクセスし、自己のエミュレータ機能をインスタンス化するように要求する。つぎに、このステーションは、インスタンス化された機能を実行することによって、ホスト・サーバ上のエミュレーション・サーバにアクセスし、ターゲット・ホストとユーザ・ステーションとの間でセッションを確立する。ホストとクライアントとの間の対話は、プラットフォーム固有のサーバ機能を使用せず、スクリーンに対するホスト情報データストリーム操作を使用して直接実施される。この引用文献１には、エミュレータ機能を用いた外部システムと間のデータ送受信については開示されているが、Ｗｅｂブラウザとアプリケーションとの連係処理については何ら開示されていない。
【０００３】
【特許文献１】特開平１１−１５７８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、Ｗｅｂブラウザと連係した処理をコンピュータに実行させる新規なコンピュータ・プログラムを提供することである。
【０００５】
また、本発明の別の目的は、クライアント端末を操作するユーザがＷｅｂブラウザを通じて行っていた繁雑な作業を自動化し、ユーザの負担軽減を図ることである。
【０００６】
また、本発明の別の目的は、このような自動処理をクライアント端末に実行させるコンピュータ・プログラムに関して、プラットフォーム依存性の低減を図ることである。
【０００７】
さらに、本発明の別の目的は、送信先サーバからみたクライアント端末の同一性を確保することである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するために、第１の発明は、ネイティブのホストＯＳ上で動作するＷｅｂブラウザと連係して、クライアント端末となるコンピュータを動作させる処理自動化コンピュータ・プログラムを提供する。このプログラムは、ホストＯＳ上で動作するハードウェア・エミュレータによってエミュレートされたゲストＯＳ上に、サーバ部と、第１のクライアント部と、第２のクライアント部と、処理部とを構築する各ステップを有する。サーバ部は、ネイティブのホストＯＳ上で動作するＷｅｂブラウザとの間のデータ転送をＴＣＰ／ＩＰにて行う機能と、Ｗｅｂブラウザより入力されたＵＲＬによって特定されるメニュー画面をＷｅｂブラウザに送信する機能と、このメニュー画面に応じてＷｅｂブラウザから送信されたユーザの処理実行要求を受信する機能とを有する。第１のクライアント部は、コンピュータに通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をＴＣＰ／ＩＰにて行う機能を有する。第２のクライアント部は、コンピュータに通信ネットワークを介して外部接続された処理代行サーバとの間のデータ転送をＴＣＰ／ＩＰにて行う機能を有する。処理部は、サーバ部を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を第２のクライアント部を介して処理代行サーバに依頼する機能と、第２のクライアント部を介して取得した処理代行サーバからのデータに応じて、第１のクライアント部を介して送信先サーバに処理済データをアップロードする機能と、処理実行要求に対する結果をサーバ部を介してＷｅｂブラウザに送信する機能とを有する。
【０００９】
第２の発明は、一のＯＳ上で動作するＷｅｂブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムを提供する。このプログラムは、Ｗｅｂブラウザと同じＯＳ上に、サーバ部と、第１のクライアント部と、第２のクライアント部と、処理部とを構築する各ステップを有する。サーバ部は、Ｗｅｂブラウザとの間のデータ転送をＴＣＰ／ＩＰにて行う機能と、Ｗｅｂブラウザより入力されたＵＲＬによって特定されるメニュー画面をＷｅｂブラウザに送信する機能と、メニュー画面に応じてＷｅｂブラウザから送信された処理実行要求を受信する機能とを有する。第１のクライアント部は、クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をＴＣＰ／ＩＰにて行う機能を有する。第２のクライアント部は、クライアント端末に通信ネットワークを介して外部接続された処理代行サーバとの間のデータ転送をＴＣＰ／ＩＰにて行う機能を有する。処理部は、サーバ部を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を第２のクライアント部を介して処理代行サーバに依頼する機能と、第２のクライアント部を介して取得した処理代行サーバからのデータに応じて、第１のクライアント部を介して送信先サーバに処理済データをアップロードする機能と、処理実行要求に対する結果をサーバ部を介してＷｅｂブラウザに送信する機能とを有する。
【００１０】
ここで、第１または第２の発明において、処理部は、処理代行サーバへの依頼に先立ち、第１のクライアント部を介して送信先サーバから元データをダウンロードする機能をさらに有していてもよい。この場合、処理代行サーバへの依頼は、ダウンロードされた元データの付加を伴う。
【００１１】
第３の発明は、ネイティブのホストＯＳ上で動作するＷｅｂブラウザと連係して、クライアント端末となるコンピュータを動作させる処理自動化コンピュータ・プログラムを提供する。このプログラムは、ホストＯＳ上で動作するハードウェア・エミュレータによってエミュレートされたゲストＯＳ上に、サーバ部と、第１のクライアント部と、処理部とを構築する各ステップを有する。サーバ部および第１のクライアント部の構成は、第１の発明のそれらと同様である。処理部は、サーバ部を介して取得した処理実行要求に応じた所定の処理をバックグラウンドで実行する機能と、所定の処理によって生成された処理済データを第１のクライアント部を介して送信先サーバにアップロードする機能と、処理実行要求に対する結果をサーバ部を介してＷｅｂブラウザに送信する機能とを有する。
【００１２】
第４の発明は、一のＯＳ上で動作するＷｅｂブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムを提供する。このプログラムは、Ｗｅｂブラウザと同じＯＳ上に、サーバ部と、第１のクライアント部と、処理部とを構築する各ステップを有する。サーバ部は、Ｗｅｂブラウザとの間のデータ転送をＴＣＰ／ＩＰにて行う機能と、Ｗｅｂブラウザより入力されたＵＲＬによって特定されるメニュー画面をＷｅｂブラウザに送信する機能と、メニュー画面に応じてＷｅｂブラウザから送信された処理実行要求を受信する機能とを有する。第１のクライアント部は、クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をＴＣＰ／ＩＰにて行う機能を有する。処理部は、サーバ部を介して取得した処理実行要求に応じた所定の処理をバックグラウンドで実行する機能と、所定の処理によって生成された処理済データを第１のクライアント部を介して送信先サーバにアップロードする機能と、処理実行要求に対する結果をサーバ部を介してＷｅｂブラウザに送信する機能とを有する。
【００１３】
ここで、第３または第４の発明において、処理部は、所定の処理の実行に先立ち、第１のクライアント部を介して送信先サーバから元データをダウンロードする機能をさらに有し、所定の処理は、ダウンロードされた元データを入力として実行されることが好ましい。
【００１４】
また、第１から第４の発明のいずれかにおいて、処理部がアクセス可能な記憶領域には、送信先サーバのネットワーク上の初期アドレスの指定と、この指定された初期アドレスを起点とした外部システムから送信先サーバへのアクセス手順の記述とを含むアクセスポリシーが送信先サーバ毎に記憶されており、処理部は、送信先サーバ毎に個別に設定されたアクセスポリシーに基づいて、複数の送信先サーバに対する処理済データの送信を一括で行うことが好ましい。
【００１５】
さらに、第１から第４の発明のいずれかにおいて、処理部は、第１のクライアント部を介した送信先サーバとの間のデータ転送において、Ｗｅｂブラウザと同様の転送シーケンスで、クッキー情報の転送を行う機能と、クッキー情報を自己がアクセス可能な記憶領域に随時記憶する機能とをさらに有することが好ましい。この場合、処理部は、第１のクライアント部を介した送信先サーバとの間のデータ転送において、Ｗｅｂブラウザと同様の転送シーケンスで、リファラー情報の転送を行う機能と、リファラー情報を自己がアクセス可能な記憶領域に随時記憶する機能とをさらに有することが好ましい。また、処理部は、第１のクライアント部を介した送信先サーバとの間のデータ転送において、ユーザエージェント情報の転送を行う機能と、ユーザエージェント情報を自己がアクセス可能な記憶領域に記憶する機能とをさらに有していてもよい。
【発明の効果】
【００１６】
第１または第３の発明によれば、クライアント端末を操作するユーザがＷｅｂブラウザを通じて行っていた繁雑な作業を、ゲストＯＳ上でコンピュータ・プログラムを動作させることによって、プラットフォーム依存性を低減させつつ自動化できる。第２または第４の発明によれば、クライアント端末を操作するユーザがＷｅｂブラウザを通じて行っていた繁雑な作業を、コンピュータ・プログラムの動作によって自動化できる。また、第１から第４の発明において、クッキー情報、リファラー情報またはユーザエージェント情報を含むブラウザ情報に関するデータ転送をＷｅｂブラウザと同様の転送シーケンスで行えば、送信先サーバからみたクライアント端末の同一性を確保することができる。
【発明を実施するための最良の形態】
【００１７】
（第１の実施形態）
図１は、第１の実施形態に係るネットワークシステムの構成図である。一般的な通信ネットワークであるインターネットには、クライアント端末１０と、複数の送信先サーバ２０と、処理代行サーバ３０とが接続されている。クライアント端末１０と送信先サーバ２０との間のデータ転送、およびクライアント端末１０と処理代行サーバ３０との間のデータ転送はＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）にて行われる。クライアント端末１０は、送信先サーバ２０に必要な手続を行おうとするユーザが操作可能な端末である。送信先サーバ２０は、クライアント端末１０からの要求に応じて、これに元データ（ユーザが必要事項を入力すべきデータ）を送信する。それとともに、送信先サーバ２０は、クライアント端末１０から送信された処理済データ（元データに必要事項が入力されたデータ）に基づいて、所定の処理（例えば、データの登録処理）を実行する。処理代行サーバ３０は、クライアント端末１０側において本来行われるべき処理の少なくとも一部を、クライアント端末１０からの依頼に応じて代行する。
【００１８】
クライアント端末１０となるコンピュータ上には、ホストＯＳ（ＯＳは「オペレーティング・システム」の略）をプラットフォームとした仮想マシン環境が構築されている。この仮想マシン環境では、異なる複数のＯＳが同一のコンピュータ（クライアント端末１０）上に併存している。クライアント端末１０を動作させるネイティブのホストＯＳとしては、例えば、エンドユーザにとって最もポピュラーなＷｉｎｄｏｗｓ（登録商標）を用いることができる。インターネット・エクスプローラ（ＩＥ）等に代表されるＷｅｂブラウザは、このホストＯＳ上で動作する。Ｌｉｎｕｘ等のゲストＯＳは、ハードウェア・エミュレータによってホストＯＳ上にエミュレートされている。ハードウェア・エミュレータとしては、例えば、Ｑｅｍｕ、ＶＭｗａｒｅ、バーチャルＰＣといった周知のエミュレータを用いることができる。ハードウェア・エミュレータが仮想的に生成するコンピュータは、一般的なパソコンとほぼ同様に動作し、ＰＣ／ＡＴ互換機で動作するほとんどのＯＳを動作させることができる。このため、ホストＯＳとなるＷｉｎｄｏｗｓ（登録商標）上のハードウェア・エミュレータでゲストＯＳとなるＬｉｎｕｘ（登録商標）を動作させる、逆にＬｉｎｕｘ（ホストＯＳ）上のハードウェア・エミュレータでゲストＯＳとなるＷｉｎｄｏｗｓ（登録商標）を動作させるといったことが可能になる。また、ハードウェア・エミュレータ上にインストールされたゲストＯＳ上で、アプリケーション・プログラムを動作させることも可能である。このアプリケーション・プログラムは、ホストＯＳ上で動作するＷｅｂブラウザと連係して、クライアント端末１０を動作させる。これによって、サーバ部１と、処理部２と、クライアント部３と、データベース４とが、エミュレートされたゲストＯＳ上に構築される。
【００１９】
サーバ部１は、Ｗｅｂブラウザ（Ｗｅｂクライアント）との間のデータ転送を仲介し、Ｗｅｂブラウザからの命令・指示を受け付ける役割を担っている。このサーバ部１は、ネイティブのホストＯＳ上で動作するＷｅｂブラウザとの間のデータ転送をＴＣＰ／ＩＰ、より具体的にはＨＴＴＰ（HyperText Transfer Protocol）またはＦＴＰ（File Transfer Protocol）にて行う。また、サーバ部１は、Ｗｅｂブラウザより入力されたＵＲＬ（Uniform Resource Locator）によって特定されるメニュー画面をＷｅｂブラウザに送信し、これによって、クライアント端末１０の表示部（図示せず）にこの画面が表示させる。それとともに、サーバ部１は、この表示に応じて、Ｗｅｂブラウザから送信されたユーザの処理実行要求（メニュー画面の選択肢の中からユーザによって選択されたもの）を受信する。サーバ部１は、例えばＡｐａｃｈｅ（アパッチ）を用いて構成可能である。Ａｐａｃｈｅは、ＮＣＳＡ ｈｔｔｐｄ １．３をベースにとしたＷｅｂサーバであり、ＵＮＩＸ（登録商標）系ＯＳやＷｉｎｄｏｗｓ（登録商標）で動作するフリーソフトウェアとして知られている。現在のＡｐａｃｈｅは、単独で動作するＷｅｂサーバとなっており、最もポピュラーかつ著名なＷｅｂサーバである。
【００２０】
クライアント部３は、クライアント端末１０に通信ネットワークを介して接続された外部サーバとの間で、データ転送を仲介する役割を担っている。クライアント部３は、第１のクライアント部３ａと、第２のクライアント部３ｂとで構成されている。なお、図１は、クライアント部３と外部システムとの接続関係を概念的に示したものであり、実際のデータの送受信は、ゲストＯＳとハードウェア・エミュレータとを経由して、ホストＯＳ側より行われる。
【００２１】
第１のクライアント部３ａは、送信先サーバ２０へのアクセスをＷｅｂブラウザに代わって行う仮想代行ブラウザとしての役割を有する。このクライアント部３ａは、クライアント端末１０に通信ネットワークを介して外部接続された送信先サーバ２０との間のデータ転送をＴＣＰ／ＩＰ、より具体的にはＨＴＴＰにて行う。このクライアント部３ａは、例えばＣｕｒｌ（カール）やＬＷＰ（Livwww−perl）等を用いて構成可能である。Ｃｕｒｌは、クライアントサイドの通信ライブラリで、Ｌｉｂｃｕｒｌと呼ばれることもある。この周知な通信ライブラリは、ＦＴＰ、ＦＴＰＳ、ＨＴＴＰ、ＨＴＴＰＳ、ＧＯＰＨＥＲ、ＴＥＬＮＥＴ、ＤＩＣＴ、ＦＩＬＥやＬＤＡＰに対応している他、ＨＴＴＰＳ認証、ＨＴＴＰ ＰＯＳＴ、ＨＴＴＰ ＰＵＴ、ＦＴＰアップロード、ｋｅｒｂｅｒｏｓ、ＨＴＴＰ ｆｏｒｍによるアップロード、プロキシ、クッキー、ユーザとパスワードに基づく認証、ファイル転送時のレジューム、ＨＴＴＰプロキシのトンネリング等にも対応している。また、このライブラリは、移植が容易で、多数のプラットフォームで全く同じようにコンパイルでき、かつ動作する。一方、ＬＷＰは、ＷＷＷ上のデータ（主としてホームページ等）の取得や処理を行うためのライブラリである。
【００２２】
第２のクライアント部３ｂは、処理代行サーバ３０のクライアントとしての役割を有し、クライアント端末１０に通信ネットワークを介して外部接続された処理代行サーバ３０との間のデータ転送をＴＣＰ／ＩＰ、より具体的には、ＨＴＴＰ＋ＸＭＬ、ＳＯＡＰ、ＸＭＬ−ＲＰＣ、ＡＴＯＭ−ＡＰＩまたはソケット通信等の通信手段を用いた暗号化通信にて行う。なお、ソケット通信では、処理代行サーバ３０からクライアント端末１０をキックできるが、これ以外の通信手段ではリクエスト−レスポンスの手法が採られる。第２のクライアント部３ｂは、上述したＣｕｒｌ等を用いて構成可能である。
【００２３】
処理部２は、処理代行サーバ３０への処理の振り分けを含めて、送信先サーバ２０に対して送信すべきデータの生成に必要な処理を実行する。具体的には、処理部２は、サーバ部１を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を第２のクライアント部３ｂを介して処理代行サーバ３０に依頼する。また、処理部２は、第２のクライアント部３ｂを介して取得した処理代行サーバからのデータに応じて、第１のクライアント部３ａを介して送信先サーバ２０に処理済データをアップロードする。さらに処理部２は、処理実行要求に対する結果をサーバ部１を介してＷｅｂブラウザに送信する。処理部２は、ＰＨＰ（Hypertext Preprocessor）、Ｐｅｒｌ（Practical Extraction and Report Language）またはＪＡＶＡ（登録商標）等を用いて構成可能である。ＰＨＰは、動的にＷｅｂページを生成するＷｅｂサーバの拡張機能の一つであり、また、そこで使われるスクリプト言語である。これを用いることにより、レイアウトの「雛形」となるＨＴＭＬファイル内に処理内容を記述したスクリプトを埋め込み、処理結果に応じて動的に文書を生成・送出することが可能になる。ＰＨＰは、動的に生成されるページの作成に適している。Ｐｅｒｌは、テキストの検索や抽出、レポート作成に向いたプログラム言語である。Ｐｅｒｌは、インタプリタ型であるため、プログラムを作成したら、コンパイルなどの処理を行なうことなく、すぐに実行することが可能で、豊富な機能を有しているが故にＣＧＩの開発によく使われる。
【００２４】
データベース４は、処理部２が上記処理を実行する上で必要となる各種情報が記憶されている。ここに記憶されるべき情報は、各送信先サーバ２０へのアクセス用ＩＤ、パスワードを含む個人情報、或いは、処理代行サーバ３０にて管理するのが好ましくない情報等を含むが、本実施形態との関係では、特に、アクセスポリシーとブラウザ情報とが重要になる。「アクセスポリシー」は、送信先サーバ２０のネットワーク上の初期アドレス（初期ＵＲＬ）の指定と、この指定された初期アドレスを起点とした外部システムから送信先サーバ２０へのアクセス手順の記述とを含む。アクセスポリシーは、送信先サーバ２０毎に独自に設定されているので、送信先サーバ２０毎に記述されている。また、同一の送信先サーバ２０でも依頼内容によってアクセスポリシーが異なるので、それぞれの依頼内容毎に記述されている。
【００２５】
ここで、アクセスポリシーの具体例を以下に示す。
（例１）
（１）初期ＵＲＬへのアクセス
（２）ＩＤ，ＰＷの入力
（３）クッキーの取得、これに続くフォーム送信用のＵＲＬの取得
（４）取得したＵＲＬへのフォーム（処理済データ）の送信（完了）
（例２）
（１）初期ＵＲＬへのアクセス
（２）ＩＤ，ＰＷの入力
（３）取得したＵＲＬへの個別フォーム（処理済データ）の送信、これに続くクッキーの取得
（４）取得したクッキーを確認用ＵＲＬに送信（完了）
【００２６】
一方、ブラウザ情報は、送信先サーバ２０が外部システムからのアクセスを受諾するか否かを判断するために用いられる情報である。ブラウザ情報には、クッキー情報、リファラー情報、ユーザエージェント情報と、ＩＰアドレスの４種類がある。本実施形態では、この内の前三者がデータベース４に随時記憶され、送信先サーバ２０との間のデータ転送において付加される。
【００２７】
ここで、「クッキー情報（Ｃｏｏｋｉｅ）」は、クッキーＷｅｂサイトの提供者がＷｅｂブラウザを通じて訪問者のコンピュータに一時的に書き込み・保存するるデータである。周知のように、クッキー情報には、ユーザに関する情報や最後にサイトを訪れた日時、そのサイトの訪問回数などが含まれるが、この情報は、ユーザの識別、または、認証システムやＷＷＷサービスをユーザ毎にカスタマイズするパーソナライズシステムの要素技術として利用される。処理部２は、第１のクライアント部３ａを介した送信先サーバ２０との間のデータ転送において、Ｗｅｂブラウザと同様の転送シーケンスで、クッキー情報の転送（送受信）を行う。また、処理部２は、クッキー情報を自己がアクセス可能な記憶領域（データベース４またはハードウェア・エミュレータ上のＲＡＭ）に随時記憶する。クッキー情報は、Ｗｅｂブラウザと同じ動作をすることによって、正規のものが取得される。
【００２８】
「リファラー情報」は、送信先サーバ２０との間の一連のやり取りにおいて、クライアント端末１０が直前にアクセスしたコンテンツのＵＲＬである。処理部２は、第１のクライアント部３ａを介した送信先サーバ２０との間のデータ転送において、Ｗｅｂブラウザと同様の転送シーケンスで、リファラー情報の転送（送信）を行うとともに、リファラー情報を記憶領域に随時記憶する。リファラー情報は、Ｗｅｂブラウザが本来辿るのと同一の経路を辿ることによって、正規のものが取得される。
【００２９】
また、「ユーザエージェント情報」は、Ｗｅｂブラウザ（ＩＥ、ネットスケープナビゲータ、オペラ等）の種類を示す情報であり、サーバ部１を介してＷｅｂブラウザから承継される。処理部２は、Ｗｅｂブラウザとの間でデータ転送するサーバ部１を介して、Ｗｅｂブラウザから送信されたユーザエージェント情報を取得し、これを記憶領域に記憶する。また、処理部２は、第１のクライアント部３ａを介した送信先サーバ２０との間のデータ転送において、Ｗｅｂブラウザと同様の転送シーケンスで、ユーザエージェント情報の転送（送信）を行う。
【００３０】
なお、「ＩＰアドレス」については、ハードウェア・エミュレータ上で第１のクライアント部３ａが動作するので、当然ながらＷｅｂブラウザと同一になる。すなわち、ハードウェア・エミュレータ自体の機能によって、Ｗｅｂブラウザと同一のＩＰアドレスが付与される。したがって、アプリケーション・プログラムでＩＰアドレスを管理する必要はない。また、アプリケーション・プログラムによって管理される３種類のブラウザ情報に関しては、これらのすべてを管理する必要は必ずしもなく、送信先サーバ２０におけるアクセス受諾の判断に用いる情報のみを管理すれば足りる。一般的には、クッキー情報が最も重要度が高く、次いでリファラー情報、そして最も重要度が低いのがユーザエージェント情報となるであろう。
【００３１】
処理部２は、ブラウザ情報の転送シーケンスに関して、Ｗｅｂブラウザの動作をエミュレートしている。一つの具体例として、ログイン認証時におけるブラウザ情報の転送シーケンスについて説明する。まず最初に、処理部２は、Ｗｅｂブラウザより取得したユーザエージェント情報をセットした上で、ログイン画面の取得依頼を送信先サーバ２０に送信する。つぎに、処理部２は、依頼に係るログイン画面を受信する。その際、ログイン画面の受信時のみセットされるクッキー情報も併せて受信され、これが記憶領域に記憶される。処理部２は、ログイン情報（ＩＤ、パスワード）、先に受信したクッキー情報、および、リファラー情報（ログイン画面のＵＲＬ）を送信先サーバ２０に送信する。送信先サーバ２０においてログインが確認された場合、処理部２は、ログイン受領画面を受信するとともに、ログイン完了時のみ発行されるクッキー情報を受信・記憶する。それ以降、処理部２からの送信データには、ログイン完了時のクッキー情報が常に付与され、ログイン完了済であることを送信先サーバ２０に認証させつつ、処理が遂行される。以上の説明からわかるように、処理部２の動作によって、ログイン認証時におけるブラウザ情報の転送シーケンスは本来のＷｅｂブラウザのそれと同様になる。
【００３２】
ログイン認証以外のケースにおいてもブラウザ情報の転送シーケンスはＷｅｂブラウザのそれと同様になるが、その具体的な転送シーケンスについては当業者にとって自明である（上記具体例から明白である）。なお、上記ブラウザ情報の詳細およびその転送シーケンスについては、インターネットに関する技術標準を規定する団体（ＩＥＴＦ）が正式に発行する下記ＲＦＣ(Request For Comment)に詳述されているので、必要ならば参照されたい。
（１）RFC 2616 HTTP/1.1仕様(リファラー、ユーザーエージェントに関する記述)
http://www.studyinghttp.net/cgi-bin/rfc.cgi?2616
（２）RFC 2965（クッキーの仕様）
http://www.studyinghttp.net/cgi-bin/rfc.cgi?2965
【００３３】
つぎに、本実施形態に係るネットワークシステムにおけるデータ処理の流れについて説明する。まず、クライアント端末１０を操作するユーザは、Ｗｅｂブラウザに特定のＵＲＬを入力し、このＵＲＬによって特定されるメニュー画面の取得をサーバ部１に依頼する。この依頼を受信したサーバ部１は、取得依頼に係るメニュー画面をＷｅｂブラウザに送信し、これによって、メニュー画面がクライアント端末１０の表示部に表示される。ユーザは、メニュー画面に表示された選択肢の中から所望のものを選択する。これによって、Ｗｅｂブラウザからサーバ部１に対して、選択された処理実行要求が送信される。サーバ部１は、受信した処理実行要求を処理部２に転送する。
【００３４】
これを受けた処理部２は、第１のクライアント部３ａを介して、記憶領域に記憶されたアクセスポリシー（送信先サーバ２０のＵＲＬを含む）にしたがって、複数の送信先サーバ２０に元データ（例えばブランクの入力画面）の取得を個別に依頼する。それぞれの送信先サーバ２０は、依頼に係る元データを第１のクライアント部３ａに送信する。第１のクライアント部３ａは、個別にダウンロードした元データを処理部２に転送する。これらの元データは、本来、Ｗｅｂブラウザを通じてユーザが入力・編集すべきものであるが、本実施形態ではユーザの手を煩わせることなく、アプリケーション・プログラムの動作によって、バックグラウンドで自動的に処理される。
【００３５】
元データを取得した処理部２は、少なくとも一部の処理の実行を処理代行サーバ３０に代行させるべく、ＵＲＬを指定して、第２のクライアント部３ｂを介して処理代行サーバ３０に処理依頼を送信する。当然ながら、処理代行サーバ３０への依頼に際しては、送信先サーバ２０から個別にダウンロードした元データが付加され、これらがセットで送信されることになる。処理依頼を受信した処理代行サーバ３０は、例えば、元データのＨＴＭＬ解析を行った上で必要な情報を入力するといった如く、所定の処理を実行し、処理済のデータを第２のクライアント部３ｂに送信する。第２のクライアント部３ｂは、処理代行サーバ３０より受信したデータを処理部２に転送する。
【００３６】
このデータを取得した処理部２は、これをそのまま、または、これに所定の処理を施す。そして、処理部２は、記憶領域に記憶されたアクセスポリシーにしたがって、各送信先サーバ２０に対して、処理済データ（例えば、必要事項が記入された画面）をアップロードする。このアップロードに際しては、第１のクライアント部３ａと送信先サーバ２０との間のデータ転送が複数回繰り返されることもある（このシーケンスはアクセスポリシーに依存する）。また、処理部２は、処理実行要求に対する結果をサーバ部１を介してＷｅｂブラウザに送信する。具体的には、同期処理の場合には、送信先サーバ２０から返信された処理結果がＷｅｂブラウザに転送される。また、非同期処理の場合には、送信先サーバ２０が処理を受諾した旨の通知が転送される。この場合、処理結果は、送信先サーバ２０での処理が完了した際、送信先サーバ２０からクライアント端末１０にメール等で別途送信されることになる。
【００３７】
このように、本実施形態によれば、Ｗｅｂブラウザとの連係したアプリケーション・プログラムの動作によって、クライアント端末１０のユーザがＷｅｂブラウザを通じて行っていた作業を自動化できる。したがって、ユーザの入力・送信作業の省力化でき、ユーザの負担軽減を図ることができる。特に、複数の送信先サーバ２０から元データを個別にダウンロードし、処理済データを個別にアップロードする手続を繰り返す場合、自動化によるメリットは大きい。それとともに、ユーザにとって馴染みの深いＷｅｂブラウザをそのまま使用できるので、ユーザインターフェースとしての利便性を損なうことなく、機能の拡張を図ることができる。また、外部の処理代行サーバ３０に処理を代行させているので、クライアント端末１０にインストールされるアプリケーション・プログラム自体を小型化でき、かつ、処理内容の変更に関しても、柔軟に対応することが可能になる。
【００３８】
また、本実施形態によれば、このような自動処理をクライアント端末１０に実行させるアプリケーション・プログラムに関して、プラットフォーム依存性の低減を図ることができる。ここで、比較例として、Ｗｅｂブラウザと連係するアプリケーションをネイティブのＯＳ上で動作させる場合（Ｗｅｂブラウザにアドオンする場合も含む）について考える。この場合、サポートコストが多大となり、アプリケーション開発者の負担が増大するという問題が生じる。なぜなら、多様なプラットフォーム（ネイティブのＯＳ上）において動作保証をしなければならないからである。プラットフォームには、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ等があり、Ｗｉｎｄｏｗｓ（登録商標）一つとっても、多くのバージョンが存在する。そのため、これらすべてのプラットフォームへの対応を図るためには、開発費を含めて、多大なサポートコストを見込まなければならない。これに対して、本実施形態では、Ｗｅｂブラウザと連係するアプリケーションを、ネイティブのＯＳ上ではなく、エミュレートされたＯＳ上で動作させている。この場合、プラットフォームの多様性は、ハードウェア・エミュレータによって吸収されているため、極少数のプラットフォーム（ゲストＯＳ）上でアプリケーションが動作することのみ保証すれば足りる。したがって、比較例と比べて、プラットフォーム依存性が低いので、それに要するサポートコストを効果的に抑制することが可能になる。
【００３９】
また、本実施形態によれば、送信先サーバ２０からみた場合、処理の自動化をＷｅｂブラウザと同様の転送シーケンスを実現できる。なぜなら、第１に、送信先サーバ２０へのアクセスは、処理代行サーバ３０が直接行うことなく、Ｗｅｂブラウザと同様、クライアント端末１０が行っているからである。また、第２に、ブラウザ情報に関して、アプリケーション・プログラムの動作によって、Ｗｅｂブラウザとの同様の転送シーケンスが実現されているからである。送信先サーバ２０の中には、外部からのアクセスを受諾するか否かを、クッキー情報に代表されるブラウザ情報を用いて判断し、その判断結果によって外部からのアクセスを拒否するものが少なからず存在する。本実施形態では、処理部２がアクセス可能な記憶領域にブラウザ情報を随時格納しておき、Ｗｅｂブラウザと同様の転送シーケンスで、送信先サーバ２０との間でブラウザ情報のやり取りが行われる。これによって、送信先サーバ２０は、通常のＷｅｂブラウザと、アプリケーション・プログラムとを動作上区別することなく、外部からのアクセスを受諾する。このように、Ｗｅｂブラウザと同様の転送シーケンスを採ることで、動作主体となるクライアント部１０の同一性が確保される。
【００４０】
さらに、本実施形態では、クライアント端末１０がすべての処理を行うのではなく、少なくとも一部の処理については処理代行サーバ３０にて行われる。それとともに、処理代行サーバ３０がすべての処理を行うのではなく、送信先サーバ２０へのデータ送信といった処理についてはクライアント端末１０にて行われる。したがって、クライアント端末１０のみならず、ＡＳＰを提供する処理代行サーバ３０のシステム構築に要する負担の軽減を図ることができる。
【００４１】
（第２の実施形態）
図２は、第２の実施形態に係るネットワークシステムの構成図である。上述した第１の実施形態は、いわゆるＡＳＰ（Application Service Provider）型サービスであったのに対して、本実施形態は、外部システムに処理を代行させることなく、クライアント端末１０内で完結した処理を行うものである。すなわち、処理部２は、Ｗｅｂブラウザからの処理実行要求に応じた所定の処理をバックグラウンドで実行する。
【００４２】
クライアント端末１０の構成を概略的に述べると以下のようになる。サーバ部１は、ネイティブのホストＯＳ上で動作するＷｅｂブラウザとの間のデータ転送をＴＣＰ／ＩＰにて行う。サーバ部１は、Ｗｅｂブラウザより入力されたＵＲＬによって特定されるメニュー画面をＷｅｂブラウザに送信するとともに、メニュー画面に応じてＷｅｂブラウザから送信された処理実行要求を受信する。第１のクライアント部３ａは、クライアント端末１０に通信ネットワークを介して外部接続された送信先サーバ２０との間のデータ転送をＴＣＰ／ＩＰにて行う。処理部２は、サーバ部１を介して取得した処理実行要求に応じた所定の処理をバックグラウンドで実行する。処理部２は、この所定の処理によって生成された処理済データを第１のクライアント部３ａを介して送信先サーバ２０にアップロードする。また、処理部２は、処理実行要求に対する結果をサーバ部１を介してＷｅｂブラウザに送信する。なお、本実施形態の特徴以外の構成については、第１の実施形態と同様なので、図１に示した符号と同一の符号を付して、ここでの説明を省略する。
【００４３】
本実施形態によれば、アプリケーション・プログラムの小型化および処理内容の変更に対する柔軟性を除けば、第１の実施形態と同様の効果を有する。
【００４４】
なお、本実施形態では、送信先サーバ２０への処理済データのアップロードに先立ち、最新のアクセスポリシーを外部のサーバからダウンロードしておく必要がある。すなわち、本実施形態は、送信先サーバ２０から送信される元データの変更、或いは、送信先サーバ２０に対するアクセス手順の変更等に対処する最新版がクライアント端末１０にインストールされていることが動作条件となる。また、本実施形態のようなクライアント端末完結型の処理は、次に述べる第３の実施形態においても同様に適用可能である。
【００４５】
（第３の実施形態）
図３は、第３の実施形態に係るネットワークシステムの構成図である。上述した第１の実施形態との相違点は、仮想マシン環境ではなく、Ｗｅｂブラウザと同じＯＳ（単一プラットフォーム）上に、サーバ部１、処理部２、クライアント部３およびデータベース４が構築される。
【００４６】
クライアント端末１０の構成を概略的に述べると以下のようになる。サーバ部１は、一のＯＳ上で動作するＷｅｂブラウザとの間のデータ転送をＴＣＰ／ＩＰにて行う。サーバ部１は、Ｗｅｂブラウザより入力されたＵＲＬによって特定されるメニュー画面をＷｅｂブラウザに送信するとともに、メニュー画面に応じてＷｅｂブラウザから送信された処理実行要求を受信する。第１のクライアント部３ａは、クライアント端末１０に通信ネットワークを介して外部接続された送信先サーバ２０との間のデータ転送をＴＣＰ／ＩＰにて行う。第２のクライアント部３ｂは、クライアント端末１０に通信ネットワークを介して外部接続された処理代行サーバ３０との間のデータ転送をＴＣＰ／ＩＰにて行う。処理部２は、サーバ部１を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を第２のクライアント部３ｂを介して処理代行サーバ３０に依頼する。処理部２は、第２のクライアント部３ｂを介して取得した処理代行サーバ３０からのデータに応じて、第１のクライアント部３ａを介して送信先サーバ２０に処理済データをアップロードする。また、処理部２は、処理実行要求に対する結果をサーバ部１を介してＷｅｂブラウザに送信する。なお、本実施形態の特徴以外の構成については、第１の実施形態と同様なので、図１に示した符号と同一の符号を付して、ここでの説明を省略する。
【００４７】
本実施形態によれば、プラットフォーム依存性の問題は残るものの、Ｗｅｂブラウザとの連係したアプリケーション・プログラムの動作によって、クライアント端末１０のユーザがＷｅｂブラウザを通じて行っていた作業を自動化できる。
【００４８】
なお、上述した各実施形態の機能を実現するコンピュータ・プログラムを記録した記録媒体を、クライアント端末１０となるコンピュータに供給してもよい。この場合、このコンピュータにおいて、記録媒体に格納されたコンピュータ・プログラムを読み取り実行することによって、本発明の目的を達成することができる。したがって、記録媒体から読み取られたコンピュータ・プログラム自体が本発明の新規な機能を実現するため、そのプログラムを記録した記録媒体も本発明を構成する。コンピュータ・プログラムを記録した記録媒体としては、例えば、ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスク、メモリカード、光ディスク、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等が挙げられる。また、上述した各実施形態に係る一連の処理をコンピュータに実行させるコンピュータ・プログラム自体も新規な機能を有している。
【図面の簡単な説明】
【００４９】
【図１】第１の実施形態に係るネットワークシステムの構成図
【図２】第２の実施形態に係るネットワークシステムの構成図
【図３】第３の実施形態に係るネットワークシステムの構成図
【符号の説明】
【００５０】
１  サーバ部
２  処理部
３  クライアント部
３ａ  第１のクライアント部
３ｂ  第２のクライアント部
４  データベース
１０  クライアント端末
２０  送信先サーバ
３０  処理代行サーバ
【図１】
2006285410.tif 000003
【図２】
2006285410.tif 000004
【図３】
2006285410.tif 000005