(57)【要約】【課題】Ｗｅｂブラウザと連携するアプリケーションプログラムの開発を容易とするとともに、システム資源の効率的利用を進めるファイル処理システム及び制御プログラムを提供することにある。【構成】オートパイロット機能を備えたアプリケーション３１は、エージェント１３を介してＷｅｂブラウザ１１を起動し、 Ｗｅｂサーバ２１にアクセスし、ファイル処理を実行させる。エージェント１３は複数のファイル処理のセッションを一元管理し、アプリケーション３１のセッション制御機能を軽減し、その開発を容易化し、システム資源の効率的利用を進める。【選択図】  図１
2004192563.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムからファイルの伝送やファイルの加工等のファイル処理の要求を受けて、Ｗｅｂブラウザを起動して当該Ｗｅｂブラウザを介して上記ファイル処理を実行するセッションを制御するものであり、上記要求元の認識番号、上記セッションの管理番号、起動された上記Ｗｅｂブラウザの認識番号等の上記セッション毎の管理情報を管理テーブルに格納し、上記管理情報に基づいて上記セッションを制御するエージェントプログラムを備えたＷｅｂクライアント端末と、
上記Ｗｅｂクライアント端末の上記Ｗｅｂブラウザからのアクセスを受けて、ファイル処理を実行するＷｅｂサーバ端末と
を備えたことを特徴とするファイル処理システム。
【請求項２】
上記アプリケーションプログラムの少なくとも１つは所定の日時に上記ファイル処理を実行させるものであり、上記所定日時に所定のファイル処理を指定するスケジュールテーブルと、上記スケジュールテーブルに基づいて上記エージェントを介してファイル処理を実行するステップとを備えたオートパイロットプログラムであり、当該オートパイロットプログラムを備える上記Ｗｅｂクライアントまたは他のクライアント端末を備えることを特徴とする請求項１に記載のファイル処理システム。
【請求項３】
上記エージェントプログラムは、
上記セッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Ｗｅｂブラウザを動作させるオペレーティングシステムが上記Ｗｅｂブラウザを起動したときに当該Ｗｅｂブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Ｗｅｂサーバ端末との通信に使用するポート番号とを対応付けて１つの管理情報の組として格納する上記管理テーブルと、
上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、
上記Ｗｅｂブラウザを起動し、当該起動によって得られた上記プロセス認識番号と、上記ポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、
上記管理テーブルに基づき、上記セッション毎に上記Ｗｅｂブラウザを介して上記Ｗｅｂサーバと上記アプリケーションプログラムとの通信を確立するステップと、
上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Ｗｅｂブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップと
を備えることを特徴とする請求項１または２に記載のファイル処理システム。
【請求項４】
上記エージェントプログラムは、
上記セッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Ｗｅｂブラウザを動作させるオペレーティングシステムが上記Ｗｅｂブラウザを起動したときに当該Ｗｅｂブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Ｗｅｂサーバ端末との通信に使用するポート番号とを対応付けて１つの管理情報の組として格納する上記管理テーブルと、
上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、
上記アプリケーションプログラムからの要求に応じた上記ポート番号を取得するように上記Ｗｅｂブラウザを起動し、当該起動によって得られた上記プロセス認識番号と、上記ポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、
上記管理テーブルに基づき、上記セッション毎に上記Ｗｅｂブラウザを介して上記Ｗｅｂサーバと上記アプリケーションプログラムとの通信を確立するステップと、
上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Ｗｅｂブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップと
を備えることを特徴とする請求項１乃至３の何れかに記載のファイル処理システム。
【請求項５】
上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Ｗｅｂブラウザを介して上記Ｗｅｂサーバ端末に上記ファイル処理を要求するアプリケーションインターフェースプログラムを備えることを特徴とする請求項１乃至４の何れかに記載のファイル処理システム。
【請求項６】
上記エージェントプログラムは、上記セッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Ｗｅｂブラウザを動作させるオペレーティングシステムが上記Ｗｅｂブラウザを起動したときに当該Ｗｅｂブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Ｗｅｂサーバ端末との通信に使用するポート番号とを対応付けて１つの管理情報の組として格納する上記管理テーブルを備え、
上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Ｗｅｂブラウザを介して上記Ｗｅｂサーバ端末に上記ファイル処理を要求するアプリケーションインターフェースプログラムを備え、
上記アプリケーションインターフェースプログラムは、上記エージェントプログラムから取得した当該管理情報に基づき、上記ポート番号に空きがあれば、上記エージェントプログラムに当該空きポート番号を取得するように上記Ｗｅｂブラウザの起動を要求する
ことを特徴とする請求項１乃至５の何れかに記載のファイル処理システム。
【請求項７】
上記Ｗｅｂサーバ端末は、上記Ｗｅｂブラウザからのアクセスに応答してアプレットを上記Ｗｅｂブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、
上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Ｗｅｂブラウザを仮想マシンとして実行される上記アプレットと通信し、
上記アプレットは上記アプリケーションプログラムから、ファイル処理の要求を受け付けして、上記サーブレットにファイル処理を要求する
ことを特徴とする請求項１乃至６の何れかに記載のファイル処理システム。
【請求項８】
上記Ｗｅｂサーバ端末は、上記Ｗｅｂブラウザからのアクセスに応答してアプレットを上記Ｗｅｂブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、
上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Ｗｅｂブラウザを仮想マシンとして実行される上記アプレットと通信し、
上記アプレットは、上記アプリケーションプログラムから、ファイル処理の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル処理及び認証を要求し、
上記サーブレットは上記認証により上記ファイル処理の要求が正当なものであれば、上記ファイル処理を実行する
ことを特徴とする請求項１乃至７に記載のファイル処理システム。
【請求項９】
上記Ｗｅｂサーバ端末は、上記Ｗｅｂブラウザからのアクセスに応答してアプレットを上記Ｗｅｂブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、
上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Ｗｅｂブラウザを仮想マシンとして実行される上記アプレットと通信し、
上記アプレットは、上記アプリケーションプログラムから、ファイル伝送の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル伝送及び認証を要求し、
上記サーブレットは上記認証により上記ファイル伝送の要求が正当なものであれば、上記ファイル伝送を実行し、
上記アプレットと上記サーブレットとの間の上記ファイル伝送は、上記対象ファイルを所定のデータ長に分割されてなる複数のテキストを順次伝送し、当該順次の伝送の都度、伝送状態を上記アプレットと上記サーブレットとの間で確認する
ことを特徴とする請求項１乃至８に記載のファイル処理システム。
【請求項１０】
アプリケーションプログラムからファイルの伝送やファイルの加工等のファイル処理の要求を受けて、Ｗｅｂブラウザを起動して当該Ｗｅｂブラウザを介してＷｅｂサーバに上記ファイル処理を実行させるセッションを制御するステップと、
上記要求元の認識番号、上記ファイル処理のセッションの管理番号、起動された上記Ｗｅｂブラウザの認識番号等の上記ファイル処理のセッション毎の管理情報を管理テーブルに格納し、上記管理情報に基づいて上記セッションを制御するステップと
を備えことを特徴とするファイル処理制御プログラム
【請求項１１】
上記ファイル処理のセッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Ｗｅｂブラウザを動作させるオペレーティングシステムが上記Ｗｅｂブラウザを起動したときに当該Ｗｅｂブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Ｗｅｂサーバ端末との通信に使用するポート番号とを対応付けて１つの管理情報の組として格納する上記管理テーブルと、
上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、
上記Ｗｅｂブラウザを起動し、当該起動によって得られた上記プロセス認識番号と、上記ポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、
上記管理テーブルに基づき、上記セッション毎に上記Ｗｅｂブラウザを介して上記Ｗｅｂサーバと上記アプリケーションプログラムとの通信を確立するステップと、
上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Ｗｅｂブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップと
を備えることを特徴とする請求項１０に記載のファイル処理制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ファイル処理システム及び制御プログラムに関し、特にＷｅｂブラウザを介してファイル処理を行うファイル処理システム及び制御プログラムに関するものである。
【０００２】
【従来の技術】
現在、アプリケーションサービスプロバイダ（ＡＳＰ）と称され、インターネットを介してＡＳＰ事業者のサーバに置かれた各種の業務用アプリケーションをユーザのクライアント端末のマイクロソフト社のＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ等のＷｅｂブラウザの画面上から利用可能に提供し、各種の業務データのアップロード、ダウンロード等をさせるサービスがある。この種のサービスの利用は、ユーザが独自に業務用アプリケーションを導入、運用する場合に比べて手間や経費を削減できることから、普及してきている。この種のＡＳＰ事業者の運用システムとしては、例えば、特許文献１に開示されるものがある。これは、インターネットを介して業務用アプリケーションをユーザの支店のクライアント端末のＷｅｂブラウザの画面上に提供し、当該画面上に入力されたデータをＡＳＰ事業者のサーバに受付して汎用データファイル化し、汎用データファイルをユーザの本社のコンピュータシステムにダウンロードするシステムである。
【０００３】
また、例えば、特許文献２に開示されるものがある。これは、インターネットを介してファイル処理用アプリケーションをクライアント端末のＷｅｂブラウザの画面上に提供し、ファイルの加工、アップロードやダウンロードを可能とするシステムである。
【０００４】
【特許文献１】
特開２００１−３５７３４１号公報
【特許文献２】
特開平１１−１２０１３７号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上述の従来のシステムでは、ユーザが手動でＷｅｂブラウザを起動して、ＡＳＰ事業者のサーバにアクセスして作業する必要があった。このため、売上データやファイル等の日々の業務データ入力やファイルのアップロード等の作業は煩雑なものであった。
【０００６】
この手間を省くべく、データ入力やファイルのアップロード等を自動実行させるオートパイロットプログラムを提供することも考えられるが、ユーザのニーズ毎に異なるオートパイロットプログラムを別途開発することは、ＡＳＰ事業者の負担となる。また、オートパイロットプログラムのようなＷｅｂブラウザと連携する他のアプリケーションプログラムの複数を導入するのでは、クライアント端末を含めシステム資源に負荷が掛かる。
【０００７】
そこで、本発明は、Ｗｅｂブラウザと連携するアプリケーションプログラムの開発を容易とするとともに、システム資源の効率的利用を進めるファイル処理システム及び制御プログラムを提供すること、Ｗｅｂブラウザを自動および／または遠隔制御機能を備えたファイル処理システムを簡易に提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明のファイル処理システムは、アプリケーションプログラムからファイルの伝送やファイルの加工等のファイル処理の要求を受けて、Ｗｅｂブラウザを起動して当該Ｗｅｂブラウザを介して上記ファイル処理を実行するセッションを制御するものであり、上記要求元の認識番号、上記ファイル処理のセッションの管理番号、起動された上記Ｗｅｂブラウザの認識番号等の上記ファイル処理のセッション毎の管理情報を管理テーブルに格納し、上記管理情報に基づいて上記セッションを制御するエージェントプログラムを備えたＷｅｂクライアント端末と、上記Ｗｅｂクライアント端末の上記Ｗｅｂブラウザからのアクセスを受けて、ファイル処理を実行する上記Ｗｅｂサーバ端末とを備えたことを特徴とする。
【０００９】
これにより、エージェントプログラムによりファイル処理のセッションを管理するため、Ｗｅｂブラウザを自動および／または遠隔制御するアプリケーションプログラムのファイル処理のセッション管理に関わる機能を削減でき、アプリケーションプログラムの開発が容易にできるとともに、アプリケーションプログラムの規模を縮小できる。また、エージェントプログラムにより複数のアプリケーションプログラムのセッションの一元管理が可能で、アプリケーションプログラムの規模を縮小できることとあわせて、システム資源の効率的な利用を進めることが可能となる。
【００１０】
また、上記アプリケーションプログラムの少なくとも１つは所定の日時に上記ファイル処理を実行させるものであり、上記所定日時に所定のファイル処理を指定するスケジュールテーブルと、上記スケジュールテーブルに基づいて上記エージェントを介してファイル処理を実行するステップとを備えたオートパイロットプログラムであり、当該オートパイロットプログラムを備える上記Ｗｅｂクライアントまたは他のクライアント端末を備えることが好ましい。
【００１１】
これにより、オートパイロット機能を備えたファイル処理システムを簡易に提供することが可能となる。
【００１２】
上記エージェントプログラムは、上記ファイル処理のセッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Ｗｅｂブラウザを動作させるオペレーティングシステムが上記Ｗｅｂブラウザを起動したときに当該Ｗｅｂブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Ｗｅｂサーバ端末との通信に使用するポート番号とを対応付けて１つの管理情報の組として格納する上記管理テーブルと、上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、上記Ｗｅｂブラウザを起動し、当該起動によって得られた上記プロセス認識番号と、上記ポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、上記管理テーブルに基づき、上記セッション毎に上記Ｗｅｂブラウザを介して上記Ｗｅｂサーバと上記アプリケーションプログラムとの通信を確立するステップと、上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Ｗｅｂブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップとを備えることが好ましい。ここで、エージェントプログラムは、上記アプリケーションプログラムからの要求に応じた上記ポート番号を取得するように上記Ｗｅｂブラウザを起動することが好ましい。
【００１３】
また、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Ｗｅｂブラウザを介して上記Ｗｅｂサーバ端末に上記ファイル処理を要求するアプリケーションインターフェースプログラムを備えることが好ましい。
【００１４】
また、上記エージェントプログラムは、上記ファイル処理のセッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Ｗｅｂブラウザを動作させるオペレーティングシステムが上記Ｗｅｂブラウザを起動したときに当該Ｗｅｂブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Ｗｅｂサーバ端末との通信に使用するポート番号とを対応付けて１つの管理情報の組として格納する上記管理テーブルを備え、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Ｗｅｂブラウザを介して上記Ｗｅｂサーバ端末に上記ファイル処理を要求するアプリケーションインターフェースプログラムを備え、上記アプリケーションインターフェースプログラムは、上記エージェントプログラムから取得した当該管理情報に基づき、上記ポート番号に空きがあれば、上記エージェントプログラムに当該空きポート番号を取得するように上記Ｗｅｂブラウザの起動を要求することが好ましい。
【００１５】
また、上記Ｗｅｂサーバ端末は、上記Ｗｅｂブラウザからのアクセスに応答してアプレットを上記Ｗｅｂブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Ｗｅｂブラウザを仮想マシンとして実行される上記アプレットと通信し、上記アプレットは上記アプリケーションプログラムから、ファイル処理の要求を受け付けして、上記サーブレットにファイル処理を要求することが好ましい。
【００１６】
また、上記Ｗｅｂサーバ端末は、上記Ｗｅｂブラウザからのアクセスに応答してアプレットを上記Ｗｅｂブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Ｗｅｂブラウザを仮想マシンとして実行される上記アプレットと通信し、上記アプレットは、上記アプリケーションプログラムから、ファイル処理の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル処理及び認証を要求し、上記サーブレットは上記認証により上記ファイル処理の要求が正当なものであれば、上記ファイル処理を実行することが好ましい。
【００１７】
また、上記Ｗｅｂサーバ端末は、上記Ｗｅｂブラウザからのアクセスに応答してアプレットを上記Ｗｅｂブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Ｗｅｂブラウザを仮想マシンとして実行される上記アプレットと通信し、上記アプレットは、上記アプリケーションプログラムから、ファイル伝送の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル伝送及び認証を要求し、上記サーブレットは上記認証により上記ファイル伝送の要求が正当なものであれば、上記ファイル伝送を実行し、上記アプレットと上記サーブレットとの間の上記ファイル伝送は、上記対象ファイルを所定のデータ長に分割されてなる複数のテキストを順次伝送し、当該順次の伝送の都度、伝送状態を上記アプレットと上記サーブレットとの間で確認することが好ましい。
【００１８】
また、本発明のファイル処理制御プログラムは、アプリケーションプログラムからファイルの伝送やファイルの加工等のファイル処理の要求を受け、Ｗｅｂブラウザを起動して当該Ｗｅｂブラウザを介してＷｅｂサーバに上記ファイル処理を実行させるセッションを制御するステップと、上記要求元の認識番号、上記ファイル処理のセッションの管理番号、起動された上記Ｗｅｂブラウザの認識番号等の上記ファイル処理のセッション毎の管理情報を管理テーブルに格納し、上記管理情報に基づいて上記セッションを制御するステップとを備えことを特徴とする。
【００１９】
また、上記セッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Ｗｅｂブラウザを動作させるオペレーティングシステムが上記Ｗｅｂブラウザを起動したときに当該Ｗｅｂブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Ｗｅｂサーバ端末との通信に使用するポート番号とを対応付けて１つの管理情報の組として格納する上記管理テーブルと、上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、上記Ｗｅｂブラウザを起動し、当該起動によって得られた上記プロセス認識番号と、上記ポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、上記管理テーブルに基づき、上記セッション毎に上記Ｗｅｂブラウザを介して上記Ｗｅｂサーバと上記アプリケーションプログラムとの通信を確立するステップと、上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Ｗｅｂブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップとを備えることが好ましい。
【００２０】
【発明の実施の形態】
以下、図面を参照して本発明を実施の形態について詳細に説明する。
図１に、本発明の第１の実施例によるファイル伝送システム及びプログラムの構成を示す。本例は、Ｗｅｂクライアント端末１のマイクロソフト社のＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ等のＷｅｂブラウザ１１から、インターネットあるいはイントラネット上にＷｅｂを提供するＷｅｂサーバ端末２にアクセスし、Ｗｅｂサーバ端末２からＷｅｂクライアント端末１にダウンロードされたアプレット１２とＷｅｂサーバ端末２のサーブレット２２との間でファイル伝送を行うシステムである。なお、アプレットとは、サンマイクロシステムズ社のＪａｖａ言語で記述され、ＷｅｂサーバからＷｅｂブラウザにダウンロードされ、Ｗｅｂブラウザを仮想マシンとして実行されるプログラムの総称であり、サーブレットとは、Ｊａｖａ言語で記述され、Ｗｅｂサーバプログラムを仮想マシンとして実行されるプログラムの総称である。本例のシステムは、ローカルシステム３のアプリケーションプログラム（以下、アプリケーションと言う）３１の自動および／または遠隔制御により、Ｗｅｂブラウザ１１にファイル伝送をさせるものであり、特にアプリケーション３１の制御機能を軽減し、その開発を容易にするとともに、システム資源の効率的な利用を進めるものである。このため、Ｗｅｂクライアント端末１のＷｅｂブラウザ１１及びアプレット１２とアプリケーション３１との調整をするため、エージェントプログラム（以下、エージェントと言う）１３をＷｅｂクライアント端末１に常駐し、アプリケーション３１内にエージェント１３に対応するアプリケーションインターフェースプログラム（以下、ＡＰＩと言う）３２を設けたものである。
【００２１】
本例の動作概要について図２を参照しながら述べる。アプリケーション３１は、ＡＰＩ３２を介してファイル伝送を指示する各種コマンドをクライアント端末１に送る。エージェント１３は、コマンドを受けてＷｅｂブラウザ１１を起動し、アプリケーション３１の指定するＷｅｂサーバ端末２にアクセスさせ、Ｗｅｂサーバ端末２からアプレット１２をＷｅｂブラウザ１１にダウンロードさせ、ファイル伝送のためのセッションを確立し、このセッション管理のための管理情報を後述するセッション管理テーブルに格納して以降のＡＰＩ３２とアプレット１２との通信及びＷｅｂブラウザ１１の制御に利用し、サーブレット２２とアプレット１２との間でファイル伝送を実行させる。エージェント１３は、同時に複数、例えば、４つのセッションをセッション管理テーブルで管理し、複数のファイル伝送を制御する。エージェント１３により、複数のＷｅｂブラウザ１１、アプレット１２及びＡＰＩ３２のファイル伝送等のファイル処理のセッションを一元管理するので、個々のアプリケーション３１のＷｅｂブラウザを利用したファイル伝送等のファイル処理の自動および／または遠隔制御機能は軽減され、複数のアプリケーション３１に対しても共通のＡＰＩ３２を用意すれば良く、アプリケーション３１の開発が容易になる。また、複数のアプリケーション３１に対し、１つのエージェント１３をＷｅｂクライアント端末１に設ければ良く、システム資源の効率的な利用が可能となる。
【００２２】
次に図１に戻り、本例の構成の詳細について述べる。Ｗｅｂクライアント端末１は、マイクロソフト社のＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ等のアプレットの仮想マシン機能を備えたＷｅｂブラウザ１１を備える。Ｗｅｂブラウザ１１は、Ｗｅｂサーバ端末２からダウンロードされるアプレット１２を実行し、Ｗｅｂサーバ端末２上のサーブレット２２との間でファイル伝送を行うものである。Ｗｅｂクライアント端末１は、Ｗｅｂブラウザ１１及びアプレット１２をアプリケーション３１から制御するためのエージェント１３を備える。エージェント１３はアプリケーション３１から送られる後述する各種コマンドに応じてファイル伝送のセッション毎にＷｅｂブラウザ１１及びアプレット１２を制御するためにセッション管理テーブル１３０を備える。さらに、Ｗｅｂクライアント端末１は、目的のファイルを格納する格納領域１４を備える。これら、Ｗｅｂブラウザ１１、エージェント１３、Ｗｅｂクライアント端末１のオペレーティングシステム１５上で実行され、ペレーティングシステム１５上で格納領域１４は実現されるものとする。なお、オペレーティングシステム１５としては、例えば、マイクロソフト社のＷｉｎｄｏｗｓ９５／９８／ＮＴ／２０００等を利用すれば良い。
【００２３】
Ｗｅｂサーバ端末２は、ファイル伝送のためのＷｅｂを提供するＷｅｂサーバプログラム（以下、Ｗｅｂサーバと言う）２１を備えたものである。Ｗｅｂサーバ２１は、サーブレット２２を実行させるとともに、Ｗｅｂブラウザ１１のアクセスを受け、アプレット１２をクライアント端末１にダウンロードさせるものである。また、Ｗｅｂサーバ端末２は、伝送すべき目的のファイルへのアクセスを管理する情報（後述のファイルＩＤ、グループＩＤ、ユーザＩＤ、パスワード等）を格納するデータベース２３、目的のファイルを格納する格納領域２３０を備える。また、Ｗｅｂサーバ端末２のオペレーティングシステムとしてはマイクロソフト社のＷｉｎｄｏｗｓ２０００  Ｓｅｒｖｅｒ  ＳＰ１、ＩＢＭ社のＡＩＸ４．３．３．１０、レッドハット社のＲｅｄｈａｔ  ７．１等を利用すれば良い。また、Ｗｅｂサーバ２１を構築するＷｅｂサーバプログラム、言い換えれば、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバプログラムとしては、アパッチソフトウェアファンデーションのＡｐａｃｈｅ １．３．２Ｘ等が利用できる。また、サーブレット２２を実行するＪａｖａサーブレットコンテナとしてはアパッチソフトウェアファンデーションのＴｏｍｃａｔ  ３．２．３等が利用できる。データベース２３は、例えば、米国カリフォルニア大学本校及びＰｏｓｔｇｒｅＳＱＬ国際開発チームのＰｏｓｔｇｒｅＳＱＬ等を利用して構築できるし、その他のデータベースアプリケーションを利用しても良い。
【００２４】
また、データベース２３では、ファイル毎にファイルの認証番号（以下、ファイルＩＤと言う）、ファイルを使用するグループの認証番号（以下、グループＩＤと言う）、ファイルを使用する使用者の認証番号（以下、ユーザＩＤと言う）及びパスワードを対応付けて格納してあり、サーブレット２２はこれに基づいてファイルのアクセス管理を行う。また、データベース２３及び格納領域１４、２３０は説明の便宜上Ｗｅｂクライアント端末１やＷｅｂサーバ端末２に置くこととしたかが、これらの端末とは別の端末に置き、ファイル伝送処理の際にＷｅｂクライアント端末１、Ｗｅｂサーバ端末２からアクセスするようなものであっても良い。
【００２５】
ローカルシステム３は、アプリケーション３１を備えた端末であり、便宜上Ｗｅｂクライアント端末１と異なる端末としてあるが、同一端末であっても良い。アプリケーション３１は、アプレット１２、エージェント１３に対する各種コマンドを備えたＡＰＩ３２を備える。アプリケーション３１は、例えば、オートパイロットプログラムであり、所定の日時に所定のファイル伝送を行うためのスケジュールテーブル３３と、これに基づいてＡＰＩ３２を介してファイル伝送を実行するメインプログラム３４を備える。
【００２６】
次にエージェント１３のセッション管理テーブル１３０の詳細を説明する。セッション管理テーブル１３０は、例えば、図３に示すように、Ｓｅｓｓｉｏｎ−Ｎｏ１３１、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）−Ｐｏｒｔ１３２、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ Ｌｏｃａｔｏｒ）１３３、Ｌｏｃｋ−Ｆｌａｇ１３４、Ｓｏｃｋｅｔ−Ｄｉｓｃｒｉｐｔｅｒ１３５、Ｓｔａｒｔ−Ｔｉｍｅ１３６、Ｐｒｏｃｅｓｓ−ＩＤ１３７を同図の行毎に対応付けて管理するものであり、説明の便宜上４組迄管理するものとする。Ｓｅｓｓｉｏｎ−Ｎｏ１３１の内容は、ファイル伝送の各セッションを管理する管理番号を示し、予め１番から４番まで設けられている。これに限らず、適宜に必要なセッション数に応じて管理番号を増やしても良い。Ｓｅｓｓｉｏｎ−Ｎｏ１３１の番号は、言い換えれば、セッション毎のＷｅｂブラウザ１１の管理番号である。ＴＣＰ−Ｐｏｒｔ１３２の内容は、アプレット１２がダウンロードされた際にアプリケーション３１とＴＣＰ／ＩＰ通信する際のＴＣＰポート番号を示す。ＵＲＬ１３３の内容は、Ｗｅｂサーバ端末２のＵＲＬを示す。Ｌｏｃｋ−Ｆｌａｇ１３４の内容は、対応するＳｅｓｓｉｏｎ−Ｎｏ１３１の管理番号が既にＷｅｂブラウザ１１で占有されていること、すなわち、既に他のファイル伝送のセッションに占有されていることを示すものであり、当該管理番号にてＷｅｂブラウザ１１が起動される際に占有を示す“１”が格納され、Ｗｅｂブラウザ１１が終了されて占有状態を開放する場合には非占有を示す“０”が格納される。Ｓｏｃｋｅｔ−Ｄｉｓｃｒｉｐｔｅｒ１３５の内容は、エージェント１３とアプリケーション３１との通信の際に使用されるソケットの認識番号を示す。Ｓｔａｒｔ−Ｔｉｍｅ１３６の内容は、Ｗｅｂブラウザ１１を起動した時刻を示す。エージェント１３は、この時刻を起点に定期的にＡＰＩ３２にファイル伝送の実行中を示すステータスを送り、アプリケーション３１はこれによりファイル伝送の中断等の異常状態を監視できる。Ｐｒｏｃｅｓｓ−ＩＤ１３７の内容は、起動したＷｅｂブラウザ１１毎にオペレーティングシステム１５が生成し、当該システム内で使用するＷｅｂブラウザ１１のプロセス番号を示す。これにより、エージェント１３は、プロセス番号を指定してオペレーティングシステム１５にＷｅｂブラウザ１１の終了をさせることが可能となっている。
【００２７】
次にエージェント１３及びアプレット１２とＡＰＩ３２との間で使用されるコマンドの詳細について説明する。コマンドの概要は図４に示す通りであり、コマンドＩ（管理情報の取得）は、セッションの管理情報を取得するためのものであり、エージェント１３よりセッション管理テーブル１３０を参照するコマンドである。コマンドＬ（セッションロック）は、指定したセッションの管理番号、すなわち、Ｓｅｓｓｉｏｎ−Ｎｏ１３１を占有するコマンドである。コマンドＯ（ブラウザオープン）は、指定したＳｅｓｓｉｏｎ−Ｎｏ１３１でＷｅｂブラウザ１１を起動させるコマンドである。コマンドＴ（ファイル伝送指示）は、ファイル伝送を指示するコマンドであり、目的のファイルＩＤ、グループＩＤ、ユーザＩＤ及びパスワードを添えてファイルのダウンロードまたはアップロードの指示をするものである。コマンドＣ（ブラウザクローズ）は、Ｓｅｓｓｉｏｎ−Ｎｏ１３１で指定したＷｅｂブラウザを終了させるコマンドである。コマンドＵ（セッションアンロック）は、指定したＳｅｓｓｉｏｎ−Ｎｏ１３１の開放を指示するコマンドである。コマンドＳ(状態照会)は、エージェント１３及びアプレット１２の動作状態を照会するコマンドである。
【００２８】
次に本例のファイル伝送動作の詳細について説明する。図５はアプリケーション３１の動作を示すフローチャートであり、まず、同図を参照しながらアプリケーション３１の動作を説明する。アプリケーション３１のメインプログラム３４は、スケジュールテーブル３３に基づいてファイル処理の日時を監視しており（ステップ５ａ）、所定の日時となると（ステップ５ｂ）、スケジュールテーブル３３からＷｅｂサーバ２１のＵＲＬ、伝送すべきファイルのファイルＩＤ、グループＩＤ、ユーザＩＤ、パスワード、アップロードかダウンロードかを示す伝送種別を読み出し、所定のファイルの伝送をＡＰＩ３２に指示する（ステップ５ｃ）。後述するＡＰＩ３２によるファイル伝送を監視し（ステップ５ｄ）、ＡＰＩ３２によるファイル伝送が終了すると（ステップ５ｅ）、図示しない外部よりアプリケーション３１の終了指示がなければ、一連の所定ファイルの伝送処理を終了し、ステップ５ａの日時監視動作に戻る。
【００２９】
次にＡＰＩ３２のファイル伝送動作について図６のフローチャートを参照しながら述べる。アプリケーション３１のメインプログラム３４からの指示を受けたＡＰＩ３２は、エージェント１３にコマンドＩを送り、セッション管理テーブル１３０の全管理情報を要求する（ステップ６ａ）。エージェント１３から管理情報を受け取る（ステップ６ｂ）と、Ｌｏｃｋ−Ｆｌａｇ１３４に既に占有を示す“１”が立ってないＳｅｓｓｉｏｎ−Ｎｏ１３１を特定して、これを占有するためコマンドＬをエージェント１３に送る（ステップ６ｃ）。このとき、Ｌｏｃｋ−Ｆｌａｇ１３４に既に占有を示す“１”が立ってないＳｅｓｓｉｏｎ−Ｎｏ１３１が複数あった場合には、若い番号から占有する。また、コマンドＬには、引数として、指定するＳｅｓｓｉｏｎ−Ｎｏ１３１の番号と、アプレット１２とのＴＣＰ／ＩＰ通信に使用するＴＣＰポート番号とを添える。ここで、ＡＰＩ３２は、管理情報を参照し、既に使用中のＴＣＰポート番号と重複しないようにＴＣＰポート番号を選択する。
【００３０】
ＡＰＩ３２は、エージェント１３からコマンドＬに対する応答を受け取ると（ステップ６ｄ）、エージェント１３にコマンドＯを送り、Ｗｅｂブラウザ１１の起動を指示する（ステップ６ｅ）。ここで、ＡＰＩ３２は、Ｗｅｂサーバ２１のＵＲＬをコマンドＯの引数として添える。ＡＰＩ３２は、エージェント１３からコマンドＯに対する応答を受け取ると（ステップ６ｆ）、エージェント１３にコマンドＩを送り、セッション管理テーブル１３０の全管理情報を要求し（ステップ６g）、エージェント１３から全管理情報を受け取る（ステップ６ｈ）。この時点では、Ｗｅｂブラウザ１１か起動され、Ｗｅｂサーバ２１からアプレット１２がダウンロードされてあり、取得した全管理情報については、セッション管理テーブル１３０の先に占有したＳｅｓｓｉｏｎ−Ｎｏ１３１の行において、ＴＣＰ−Ｐｏｒｔ１３２には先に指定したＴＣＰポート番号が格納され、ＵＲＬ１３３には、以降のアクセス先となるＷｅｂサーバ２１のサーブレット２２のＵＲＬが格納され、Ｌｏｃｋ−Ｆｌａｇ１３４が格納され、Ｓｏｃｋｅｔ−Ｄｉｓｃｒｉｐｔｅｒ１３５にはエージェント１３との通信のソケットの認識番号が格納され、Ｓｔａｒｔ−Ｔｉｍｅ１３６にはＷｅｂブラウザ１１の起動された時刻が格納され、Ｐｒｏｃｅｓｓ−ＩＤ１３７にはこのセッションにおいてオペレーティングシステム１５により生成されたＷｅｂブラウザ１１のプロセス番号が格納された状態となっている。
【００３１】
ＡＰＩ３２は、所得した管理情報を確認してＷｅｂサーバ２１とのセッションが確立されたとし、ＴＣＰポート番号を使用してファイル伝送のコマンドＴをアプレット１２に送る（ステップ６ｉ）。ＡＰＩ３２は、伝送すべきファイルＩＤユーザＩＤ、グループＩＤ、パスワード及び伝送種別をコマンドＴの引数として添える。ＡＰＩ３２は、アプレット１２からのコマンドＴに対する応答を監視する。この間エージェント１３からは所定期間毎にステータスが出されこれによりエージェント１３及びアプレット１２の動作状態を監視することとするが、必要があればＡＰＩ３２からコマンドＳを発し、エージェント１３及びアプレット１２の動作状態を照会するようにしても良い。ＡＰＩ３２は、アプレット１２からファイル伝送の終了回答を受け取ると（ステップ６ｊ）、当該ファイル伝送のセッションの管理番号を引数としてコマンドＣをエージェント１３に送り（ステップ６ｋ）、Ｗｅｂブラウザ１１の終了を指示する。ＡＰＩ３２は、エージェント１３からコマンドＣに対する応答を受け取ると（ステップ６ｌ）、エージェント１３にコマンドＵを送り、指定したＳｅｓｓｉｏｎ−Ｎｏ１３１の開放を指示する（ステップ６ｍ）。ＡＰＩ３２は、エージェント１３からコマンドＵに対する応答を受け取ると（ステップ６ｎ）、ファイル伝送動作を終了する。
【００３２】
次にエージェント１３のファイル伝送動作について図７のフローチャートを参照しながら述べる。エージェント１３は、ＡＰＩ３２からコマンドＩを受けると（ステップ７ａ）、セッション管理テーブル１３０の全管理情報をＡＰＩ３２に送る（ステップ７ｂ）。エージェント１３は、ＡＰＩ３２からコマンドＬを受けると（ステップ７ｃ）、ＡＰＩ３２により指定されるセッション管理テーブル１３０のＳｅｓｓｉｏｎ−Ｎｏ１３１の行において、Ｌｏｃｋ−Ｆｌａｇ１３４に占有を示す“１”を格納し、Ｓｏｃｋｅｔ−Ｄｉｓｃｒｉｐｔｅｒ１３５にソケットの認識番号を格納してＡＰＩ３２に応答する（ステップ７ｄ）。エージェント１３は、ＡＰＩ３２からコマンドＯを受けると（ステップ７ｅ）、ＡＰＩ３２により指定されるＵＲＬに対応するＷｅｂサーバ２１にアクセスすべく、Ｗｅｂブラウザ１１を起動する（ステップ７ｆ）。このとき、Ｗｅｂブラウザ１１が開くＵＲＬに引数としてＡＰＩ３２より指定されるＴＣＰポート番号を添えて、Ｗｅｂサーバ２１が指定のＴＣＰポート番号を待受けポートとして使用するように要求する。例えば、ＴＣＰポート番号が１番と指定するとすれば、「ＨＴＴＰ：／／ＵＲＬ  ？ｐｎｏ＝０１」等と通常のＵＲＬの記述に続けて所定の書式でＴＣＰポート番号を添える。これにより、セッションの異なるアプリケーション１３間でＴＣＰポート番号が重複してＴＣＰポート番号の付け替え処理の必要が生じることがないので、複数のセッションを同時に処理する場合であっても、処理時間を抑えることが可能となっている。
【００３３】
また、Ｗｅｂブラウザ１１の起動の際に、エージェント１３は、ＡＰＩ３２により指定されるセッション管理テーブル１３０のＳｅｓｓｉｏｎ−Ｎｏ１３１の行において、Ｗｅｂブラウザ１１の起動の際にオペレーティングシステム１５が生成したＷｅｂブラウザ１１のプロセス番号をＰｒｏｃｅｓｓ−ＩＤ１３７に格納し、Ｓｔａｒｔ−Ｔｉｍｅ１３６に起動時刻を格納する（ステップ７ｇ）。
エージェント１３は、Ｗｅｂサーバ２１からＷｅｂブラウザ１１にダウンロードされたアプレット１２から、指定のＴＣＰポート番号、Ｗｅｂサーバ２１が実際に受付ポートとしたＴＣＰポート番号及び以降にアクセスするサーブレット２２のＵＲＬを示すコマンドＰを受けると（ステップ７ｈ）、ＡＰＩ３２により指定されるセッション管理テーブル１３０のＳｅｓｓｉｏｎ−Ｎｏ１３１の行において、ＴＣＰ−Ｐｏｒｔ１３２にＷｅｂサーバ２１が実際に受付ポートとしたＴＣＰポート番号を格納し、アプレット１２にコマンドＰに対する応答を行う（ステップ７ｉ）。
【００３４】
エージェント１３は、ＡＰＩ３２によりコマンドＩを受けると（ステップ７ｊ）、セッション管理テーブル１３０の全管理情報をＡＰＩ３２に送る（ステップ７ｋ）。これにより、以降、ＡＰＩ３２とアプレット１２とはファイル伝送のためのコマンドを直接送信、受信することが可能となる。
【００３５】
エージェント１３は、ＡＰＩ３２からコマンドＣを受けると（ステップ７ｌ）、セッション管理テーブル１３０から、指定されたＳｅｓｓｉｏｎ−Ｎｏ１３１のセッションの管理番号に対応するＰｒｏｃｅｓｓ−ＩＤ１３７のプロセス番号を読み取り、オペレーティングシステム１５に当該プロセス番号に対応するＷｅｂブラウザ１１の終了を指示し、ＡＰＩ３２にコマンドＣに対する応答を送る（ステップ７ｍ）。
【００３６】
エージェント１３は、ＡＰＩ３２からコマンドＵを受けると（ステップ７ｎ）、セッション管理テーブル１３０の指定されたＳｅｓｓｉｏｎ−Ｎｏ１３１のセッションの管理番号に対応するＬｏｃｋ−Ｆｌａｇ１３４に“０”を格納して、当該セッションの管理番号を開放し、ＡＰＩ３２にコマンドＣに対する応答を送る（ステップ７ｏ）。
【００３７】
次にＷｅｂサーバ２１の動作、特に、Ｗｅｂブラウザ１１からのクセスに対する応答動作について図８のフローチャートを参照しながら述べる。Ｗｅｂサーバ２１は、Ｗｅｂブラウザ１１からＵＲＬにＴＣＰポート番号を付加したアクセス要求を受けると（ステップ８ａ）、以降のＷｅｂブラウザ１１との間で行われるファイル伝送のセッションのため、Ｗｅｂブラウザ１１に指定されたＴＣＰポート番号を待受けポート番号としてサーブレット２２を起動する（ステップ８ｂ）。なお、指定されたＴＣＰポート番号が何らかの理由で使用できない場合には、空いているＴＣＰポート番号を使用する。これとともに、Ｗｅｂブラウザ１１に指定されたＴＣＰポート番号、実際に待受けポートとしたＴＣＰポート番号及びサーブレット２２のＵＲＬに関する情報を含んだアプレット１２をＷｅｂブラウザ１１にダウンロードする（ステップ８ｃ）。これにより、以降のファイル伝送はアプレット１２とサーブレット２２との間で実行可能となる。
【００３８】
次にアプレット１２の動作、特にエージェント１３及びＡＰＩ３２との通信動作について図９のフローチャートを参照しながら述べる。アプレット１２は、Ｗｅｂブラウザ１１にダウンロードされると、コマンドＰをエージェント１３に送り、Ｗｅｂブラウザ１１に指定されたＴＣＰポート番号、実際に待受けポートとしたＴＣＰポート番号及びサーブレット２２のＵＲＬに関する情報を通知する（ステップ９ａ）。アプレット１２は、エージェント１３からコマンドＰに対する応答を受けると（ステップ９ｂ）、コマンドＰの正常終了を確認する。アプレット１２は、ＡＰＩ３２からコマンドＴを受けると（ステップ９ｃ）、コマンドＴから、伝送すべきファイルＩＤ、グループＩＤ、ユーザＩＤ、パスワード、伝送処理がアップロードかダウンロードかを示す伝送種別を取得し、サーブレット２２との間でファイル伝送を実行する（ステップ９ｄ）。ここで、ファイル伝送に関わるサーブレット２２からの応答は必要に応じてＡＰＩ３２に送っても良い。また、アプレット１２は、ＡＰＩ３２からコマンドＳを受けると（ステップ９ｅ）、初期状態、伝送中、伝送完了等の稼動状況を示す情報を添えて応答する（ステップ９ｆ）。
【００３９】
以上の説明では、ＡＰＩ３２、エージェント１３及びアプレット１２のそれぞれの動作を個々に述べたが、それぞれの動作連携を纏めると図１０のシーケンス図の通りになる。同図において、ＡＰＩはＡＰＩ３２の送受するコマンドのシーケンスを示し、Ａｇｅｎｔはエージェント１３の送受するコマンド及び処理のシーケンスを示し、Ａｐｐｌｅｔはアプレット１２の送受するコマンドのシーケンスを示す。Ｉ（）はコマンドＩを示し、（）の中は引数を示すというように、各アルファベットとそれに続く（）は上述の各コマンドと引数を示す。また、ＰｏｒｔＣｏｎＴｂｌはセッション管理テーブル１３０を示し、ＦｉｌｅＩＤ、ＧｒｏｕｐＩＤ、ＵｓｅｒＩＤ、ＰａｓｓｗｏｒｄはファイルＩＤ、グループＩＤ、ユーザＩＤ、パスワードを示す。図１０に添ってＡＰＩ３２、エージェント１３及びアプレット１２の連携動作を述べると次のようになる。
【００４０】
まず、ＡＰＩ３２からコマンドＩがエージェント１３に送られ（ステップ１０ａ）、エージェント１３はこれに応答してセッション管理テーブル１３０の全管理情報をＡＰＩ３２に応答する（ステップ１０ｂ）。次にコマンドＡＰＩ３２は管理情報から占有されていないセッションの管理番号を特定し、引数としてＴＣＰポート番号の指定を添え、特定したセッション管理番号の行を占有するコマンドＬがエージェント１３に送られ（ステップ１０ｃ）、エージェント１３は対応するセッション管理番号の行を占有する、すなわち、ロックし、ＡＰＩ３２に応答する（ステップ１０ｄ）。
【００４１】
次にＡＰＩ３２から引数とてＷｅｂサーバ２１のＵＲＬを添えてコマンドＯがエージェント１３に送られ（ステップ１０ｅ）、エージェント１３はこれに従ってＴＣＰポート番号の指定を添えてＷｅｂブラウザ１１を起動し、Ｗｅｂサーバ２１にアクセスし、ＡＰＩ３２に応答する（ステップ１０ｆ）。これによりＷｅｂサーバ２１からＷｅｂブラウザ１１にアプレット１２がダウンロードされる。アプレット１２はＷｅｂブラウザ１１で実行され、コマンドＰをエージェント１３に送る（ステップ１０ｇ）。 エージェント１３はセッション管理テーブル１３０の当該セッションの行の管理情報にＴＣＰポート番号を追加、すなわち、ＴＣＰ−Ｐｏｒｔ１３２に格納し、アプレット１２に応答する（ステップ１０ｈ）。ＡＰＩ３２はコマンドＯへの応答を受けた後、コマンドＩをエージェント１３送る（ステップ１０ｉ）。エージェント１３はこれに応答してセッション管理テーブル１３０の全管理情報をＡＰＩ３２に応答する（ステップ１０ｊ）。これにより、ＡＰＩ３２はサーブレット２２のＴＣＰポート番号、ＵＲＬを確認し、アプレット１２に直接コマンドＴを送る（ステップ１０ｋ）。アプレット１２はこれに応じてサーブレット２２との間でファイル伝送を実行し、アプレット１２はＡＰＩ３２に対して応答する（ステップ１０ｌ）。
【００４２】
ファイル伝送が完了するとＡＰＩ３２はＷｅｂブラウザ１１の終了を指示するコマンドＣを送る（ステップ１０ｍ）。これに従ってエージェント１３はＷｅｂブラウザ１１を終了し、ＡＰＩ３２に対して応答する（ステップ１０ｎ）。これを受けたＡＰＩ３２は当該セッションにおいて占用したセッション管理番号の行を開放するコマンドＵをエージェント１３に送り（ステップ１０ｏ）、エージェント１３はこれに従って行をアンロック、すなわち、開放し、ＡＰＩ３２に対して応答する（ステップ１０ｐ）。以上により、１つのセッションの一連の動作が終了する。
【００４３】
以上のように本例のシステムでは、エージェント１３はセッション管理テーブル１３０に管理情報を格納しつつ、複数のセッションを同様に確立し、維持し、開放し、各セッションに関わるＡＰＩ３２及びアプレット１２はセッション管理テーブル１３０の管理情報に基づいてコマンドの送受信を行ってそれぞれにファイル伝送を実現する。このため、個々のアプリケーション３１のファイル伝送に関わる負担は軽減され、複数のアプリケーション３１に対しても共通のＡＰＩ３２を用意すれば良く、アプリケーション３１の開発が容易になる。また、複数のアプリケーション３１に対し、１つのエージェント１３をＷｅｂクライアント端末１に設ければ良く、システム資源の効率的な利用が可能となる。これにより、アプリケーション３１として上述のようなオートパイロットプログラムの開発及び導入が容易なものとなり、従来、手動操作で行なわれていた、売上データやファイル等の業務ファイルのアップロード等の煩雑な日々の作業の自動化を進めることができる。
【００４４】
なお、以上の説明では、アプレット１２とサーブレット２２との間で実行されるファイル伝送の詳細について述べていないが、その詳細は次のようなものであり、ファイル伝送手順の概要を図１１の表に示す。ファイル伝送手順はＨＴＴＰ手順の上位に構築してあるが、ＨＴＴＰ手順が平衡プロトコルではないので（非対称プロトコルなので）、この手順もダウンロードとアップロードで夫々異なったものとしてある。具体的には、後述のように「認証」と「伝送」という大きく２つのフェーズを設定し、伝送フェーズは、さらに「ファイル開始」、「テキスト伝送部」及び「ファイル終了」という３つのサブフェーズから構成してある。
【００４５】
認証フェーズでは、アプレット１２からサーブレット２２にユーザＩＤ、パスワードを送り、サーブレット２２はデータベース２３に予め登録されたユーザＩＤ、パスワードと照会し、正当なユーザからの要求か否かの認証を行い、正当性が確認できれば、そのユーザＩＤによりログオンさせる。
【００４６】
伝送フェーズの最初のサブフェーズ、ファイル開始フェーズでは、アプレット１２からサーブレット２２にファイルＩＤ、グループＩＤを送り、サーブレット２２はデータベース２３を参照して目的のファイルを特定し、当該ファイルがログオンしたユーザの管理下にあることや、伝送可能なステータスとなっていることを確認する。
【００４７】
伝送フェーズの中間のサブフェーズ、テキスト伝送フェーズでは、伝送されるファイルを構成するバイナリデータを所定のデータ長で分割してなる複数のテキストとして扱い、各テキスト毎にデータ長と、書き込み位置とを確認しながら伝送する。
【００４８】
伝送フェーズの最終のサブフェーズ、ファイル終了フェーズでは、テキスト伝送後に、テキストから生成されたファイルのサイズをアプレット１２、サーブレット２２で互いに確認し、ファイル伝送が正常に終了していれば、処理を終了する。
【００４９】
次に、ファイル伝送動作のダウンロード動作の詳細について、図１２のシーケンス図を参照しながら述べる。同図は、伝送バッファサイズが５００ＫＢであり、テキストは５００ＫＢ単位で伝送されるものとする。先ず、認証フェーズ（ステップ１２ａ）において、アプレット１２は、サーブレット２２にグループＩＤ、ユーザＩＤ、パスワード等の認証情報を送る（ステップ１２ａ−▲１▼）。サーブレット２２は、サーブレット２２はデータベース２３に予め登録されたグループＩＤ、ユーザＩＤ、パスワードと照会し、認証結果をアプレット１２に送る（ステップ１２ａ−▲２▼）。ここで、ユーザのログオンが認められれば、伝送フェーズ（ステップ１２ｂ）に進む。
【００５０】
伝送フェーズ（ステップ１２ｂ）では、先ずファイル開始フェーズの手順として、アプレット１２は目的のファイルのファイルＩＤ、グループＩＤを含む伝送開始要求をサーブレット２２に送る（ステップ１２ｂ−▲１▼）。アプレット１２からのファイルＩＤ、グループＩＤを受けたサーブレット２２は、データベース２３を参照して目的のファイルを特定し、ログオンしたユーザに対して当該ファイルのダウンロードが許可されていることが確認できれば、伝送開始回答をアプレット１２に送る（ステップ１２ｂ−▲２▼）。
【００５１】
次にテキスト伝送フェーズに移り、アプレット１２は１番目の伝送要求をサーブレット２２に送る（ステップ１２ｂ−▲３▼）。サーブレット２２はこれに応答して先に特定したファイルを構成する１番目のテキストを、伝送要求の番号（同図のＳｅｑ＝１、“１”が伝送要求の番号を示す、以下のテキストの応答についても同様とする）、テキストのデータ長（同図のＴｅｘｔ−Ｌｅｎ＝５００、“５００”がデータ長を示す、以下のテキストの応答についても同様とする）、書き込み位置（同図のＰｏｉｎｔｅｒ＝０、“０”が書き込み位置を示す、以下のテキストの応答についても同様とする）を添えてアプレット１２に送る（ステップ１２ｂ−▲４▼）。アプレット１２は、テキストのデータ長、書き込み位置を確認して異常がなければ、テキストを伝送要求の番号、データ長、書き込み位置に関連付けて図示しない所定の記憶領域に書き込み、次の伝送要求、ここでは、２番目の伝送要求をサーブレット２２に送る（ステップ１２ｂ−▲５▼）。同様にしてアプレット１２、サーブレット２２は、ステップ１２ｂ−▲６▼乃至▲８▼までの動作を行う。なお、テキストのデータ長、書き込み位置に異常がある場合、伝送要求から所定期間経ってもテキストが受信できない場合には、該当番号の伝送要求を再度サーブレット２２に送る。サーブレット２２からの応答にテキストがファイルの終端を含むことを示す情報（同図のステップ１２ｂ−▲８▼では“ＥＯＦ”で示す）が添えられていれば、アプレット１２はファイル終了フェーズの処理を開始する。終了フェーズでは、アプレット１２は、受信したテキストからファイルを生成し、ファイルのサイズを特定し、当該サイズを含む終了要求をサーブレット２２に送る（ステップ１２ｂ−▲９▼）。サーブレット２２は、終了要求に添えられたファイルのサイズを元のものと比較し、ファイル伝送が正常に終了したか否か確認し、終了回答をアプレット１２に送る（ステップ１２ｂ−囲み数字１０）。以上により、ファイルのダウンロード動作は終了する。
【００５２】
次に、ファイル伝送動作のアップロード動作の詳細について、図１３のシーケンス図を参照しながら述べる。同図においても、伝送バッファサイズが５００ＫＢであり、テキストは５００ＫＢ単位で伝送されるものとする。アップロード動作においても先ず、ダウンロード動作と同様の認証フェーズ（ステップ１３ａ）が行われ、アプレット１２から認証情報を送り（ステップ１３ａ−▲１▼）、これを受けたサーブレット２２は認証結果を返す（ステップ１３ａ−▲２▼）。ここで、ユーザのログオンが認められれば、伝送フェーズ（ステップ１３ｂ）に進む。
【００５３】
伝送フェーズ（ステップ１３ｂ）では、先ずファイル開始フェーズの手順として、アプレット１２は目的のファイルのファイルＩＤ、グループＩＤを含む伝送開始要求をサーブレット２２に送る（ステップ１３ｂ−▲１▼）。アプレット１２からのファイルＩＤ、グループＩＤを受けたサーブレット２２は、データベース２３を参照して目的のファイル格納領域または既存のファイルを特定し、ログオンしたユーザに対して当該アップロードが許可され得ることが確認できれば、伝送開始回答をアプレット１２に送る（ステップ１３ｂ−▲２▼）。
【００５４】
アプレット１２は、アップロードを許可する伝送開始回答が得られると、テキスト伝送フェーズの手順に移り、ファイルを構成する１番目のテキストをサーブレット２２に送る（ステップ１３ｂ−▲３▼）。このとき、伝送番号（同図のＳｅｑ＝１、“１”が伝送番号を示す、以下のテキストの送信についても同様とする）、テキストのデータ長（同図のＴｅｘｔ−Ｌｅｎ＝５００、“５００”がデータ長を示す、以下のテキストの送信についても同様とする）、書き込み位置（同図のＰｏｉｎｔｅｒ＝０、“０”が書き込み位置を示す、以下のテキストの送信についても同様とする）を添える。サーブレット２２は、受信したテキストのデータ長、書き込み位置を確認して異常がなければ、テキストを伝送番号、データ長、書き込み位置に関連付けて図示しない所定の記憶領域に書き込み、テキストの受信を示す受信応答（同図のＡＣＫ（Ｓｅｑ＝１）、“１”が伝送番号を示す、以下の受信応答についても同様とする）をアプレット１２に送る（ステップ１３ｂ−▲４▼）。受信応答を受けたアプレット１２は、次のテキスト、ここでは、２番目のテキストをサーブレット２２に送る（ステップ１３ｂ−▲５▼）。同様にしてアプレット１２、サーブレット２２は、ステップ１３ｂ−▲６▼乃至▲８▼までの動作を行う。なお、アプレット１２は、サーブレット２２から受信応答にテキストの異常、すなわち、エラーを示す情報が添えられた場合、テキスト送信から所定期間経っても受信応答がない場合は、該当する伝送番号のテキストを再送信する。
【００５５】
アプレット１２は、最終的な伝送番号に対する受信応答を受けると（ステップ１３ｂ−▲８▼）、ファイル終了フェーズの処理を開始する。アプレット１２は、アップロードされたファイルのサイズを含む終了要求をサーブレット２２に送る（ステップ１３ｂ−▲９▼）。サーブレット２２は、受信したテキストからファイルを生成し、ファイルのサイズを特定し、終了要求に添えられたアップロードされたファイルのサイズと比較し、ファイル伝送が正常に終了したか否か確認し、終了回答をアプレット１２に送る（ステップ１３ｂ−囲み数字１０）。以上により、ファイルのダウンロード動作は終了する。
【００５６】
以上のように本例のアプレット１２とサーブレット２２との間のファイル伝送手順は、ファイルを扱うユーザの認証、ファイルを構成するテキスト単位で伝送状態を確認しながら行うものであるから、信頼性の高いファイル伝送が可能となっている。これは、アプリケーション３１との通信制御、Ｗｅｂブラウザ１１の起動等をエージェント１３、ＡＰＩ３２により仲介させる分だけ、アプレット１２及びサーブレット２２への負担が軽減され、その分これらの機能をファイル伝送の信頼性を向上させる処理に充てることが可能となっている。また、テキスト単位で伝送状態を確認するため、上述したＡＰＩ３２によるコマンドＳの実行が可能となっている。アプレット１２はコマンドＳを受けると、監視している伝送状態をＡＰＩ３２に送ることができる。
【００５７】
上述の第１の実施例では、単にファイル伝送を行うファイル伝送システムについて述べたが、本発明はこれに限るものではない。例えば、サーブレット２２としては単にファイル伝送を行うだけではなく、ファイル伝送の際にファイルに所定の処理を施すシステムに応用しても良い。第２の実施例はそのようなファイル処理システムについて述べる。図１４にその構成を示してある。同図において図１と同様の構成要素は、図１のものと同様の符号で示してある。本例のＷｅｂサーバ２４は、前処理サーブレット２４１、中間処理サーブレット２４２、後処理サーブレット２４３を備え、また、これらに対応する前処理アプレット１６１、中間処理アプレット１６２、後処理アプレット１６３を備える。これらアプレットは、それぞれ要求に応じてＷｅｂブラウザ１１にダウンロードされる。ここで言う前処理、中間処理、後処理については以下の通りのものとする。ここで、所定のファイル、例えば、日々更新される売上げ報告書ファイルを、表計算アプリケーションを使用して所定の書式で作成する業務を前提として述べる。売上げ報告書は日々の売上げ情報が追加されて更新すべきものであり、所定期間以前の古い売上げ情報は必要に応じて削除する必要がり、また、新たな売上げ報告書としては必要な情報（例えば、ユーザの担当業務に関連する売上げ情報）のみを含んでいれば良く、あるいは、新たな報告書の作成の際には売上げ内容等を除いたブランクな入力項目のみの報告書フォームさえあれば良い。前処理とは入力用のフォームのファイル、例えば、ブランクな入力項目を有する報告書のファイルを伝送する処理であり、中間処理とは、例えば、元となる売上げ報告書ファイルから必要な情報（例えば、ユーザの担当業務に関連する所定の期間の売上げ情報）のみを含む報告書ファイルを伝送する処理であり、後処理とは、新たな報告書ファイルの内容にて元となる売上げ報告書ファイルを更新する処理である。前処理サーブレット２４１は、Ｗｅｂブラウザ１１から要求に応じて元となる売上げ報告書ファイルから必要な情報を除いてブランクな入力項目のみの報告書ファイルを生成し、Ｗｅｂブラウザ１１にダウンロードするものとする。中間処理サーブレット２４２は、Ｗｅｂブラウザ１１から要求に応じて元となる売上げ報告書ファイルから必要な情報のみを含む報告書ファイルを生成してＷｅｂブラウザ１１にダウンロードするものとする。後処理サーブレット２４３は、Ｗｅｂブラウザ１１から新たな報告書ファイルのアップロードを受け、新たな売上げ情報を元となる売上げ報告書ファイルに追加するものであり、必要ならば、最古の売上げ情報を削除するものとする。
【００５８】
本例のローカルシステム３では、アプリケーション３５は、上述の第１実施例のアプリケーション３１の機能に加えて、所定日時に所定のファイルに前処理、中間処理、後処理を施す機能を実行するものである。アプリケーション３５は、メインプログラム３６と、スケジュールテーブル３７と、ＡＰＩ３８と、アクセス管理テーブル３９を備える。メインプログラム３６は、上述の第１実施例のメインプログラム３４の機能に加えて、スケジュールテーブル３７を参照して所定日時に所定のファイルに前処理、中間処理、後処理を施す機能を実行するものである。スケジュールテーブル３７には、スケジュールテーブル３３の内容に加え、前処理、中間処理、後処理を施すための情報として、ファイルＩＤ、グループＩＤ、ユーザＩＤ、パスワードを前処理、中間処理、後処理及びそれを実行する日時と対応付けて可能している。ＡＰＩ３８は、ＡＰＩ３２のコマンド機能を備えるものであり、必要があれば前処理、中間処理、後処理のそれぞれのアプレット毎にコマンドを追加しても良い。アクセス管理テーブル３９は、前処理、中間処理、後処理に対応したＷｅｂサーバ２４のアクセス先、すなわち、前処理、中間処理、後処理のそれぞれのアプレットをダウンロードするためのＵＲＬを格納する。
【００５９】
本例のシステムの動作の概要を述べると以下のようになる。アプリケーション３５のメインプログラム３６は、スケジュールテーブル３７に基づいて前処理、中間処理、後処理の実行日時を監視しており、例えば、前処理を実行する日時となるとアクセス管理テーブル３９から、前処理実行の際にアクセスするＷｅｂサーバ２４のＵＲＬを読み出し、スケジュールテーブル３７から目的のファイルのファイルＩＤ、グループＩＤ、ユーザＩＤ、パスワードを読み出し、前処理実行をＡＰＩ３８に指示する。ＡＰＩ３８は、これに基づいてＷｅｂクライアント端末１のエージェント１３にＷｅｂブラウザ１１を起動してＷｅｂサーバ２４にアクセスさせる。これは、上述の第１実施例のファイル伝送動作と同様の手順であり、Ｗｅｂブラウザ１１には前処理アプレット１６１がダウンロードされ、ＡＰＩ３８と前処理アプレット１６１とは通信可能となる。ＡＰＩ３８は、前処理アプレット１６１を制御し、前処理サーブレット２４１から前処理を施したファイルのダウンロードをさせる。ＡＰＩ３８は、ＡＰＩ３２と同様にファイル伝送のコマンドＴを前処理アプレット１６１に送り、前処理アプレット１６１はアプレット１２と同様の手順でダウンロードを実行する。但し、本例では、前処理サーブレット２４１は、要求されたファイルに前処理を施して生成したファイルをサーブレット２２と同様の手順で前処理アプレット１６１に送信する。ＡＰＩ３８は、ファイル伝送処理が終了すると、ＡＰＩ３８はエージェント１３にＷｅｂブラウザ１１を終了させ、メインプログラム３６にファイル伝送処理の終了を通知する。詳しく述べないが、メインプログラム３６は中間処理、後処理についても同様にＡＰＩ３８を介して実行させる。
【００６０】
以上のように本例のシステムは、上述の第１の実施例と同様の作用及び効果を奏し、さらに、Ｗｅｂサーバ２４にファイルに対する前処理、中間処理、後処理それぞれのサーブレット及びアプレットを用意することにより、アプリケーション３５を簡易な構成にしつつ、ファイルに対する前処理、中間処理、後処理を自動化することが可能となる。
【００６１】
【発明の効果】
本発明のファイル処理システムは、他のアプリケーションプログラムからファイルの伝送やファイルの加工等のファイル処理の要求を受け、Ｗｅｂブラウザを起動して当該Ｗｅｂブラウザを介してファイル処理のセッションを制御するエージェントプログラムを設け、要求元の認識番号、セッションの管理番号、起動されたＷｅｂブラウザの認識番号等のセッション毎の管理情報を管理テーブルに格納し、管理情報に基づいてセッションを管理する。このため、アプリケーションプログラムのセッション管理に関わる機能を削減でき、Ｗｅｂブラウザの自動および／または遠隔制御によるファイル処理用のアプリケーションプログラムの開発が容易にできるとともに、アプリケーションプログラムの規模を縮小できる。また、エージェントプログラムにより複数のアプリケーションプログラムのセッションの一元管理が可能となり、アプリケーションプログラムの規模を縮小できることとあわせて、システム資源の効率的な利用を進めることが可能となる。また、オートパイロット機能を備えたファイル処理システムを簡易に提供することが可能となる。
【００６２】
また、アプリケーションプログラムに、エージェントプログラムの管理情報に基づいてＷｅｂブラウザを介したファイル処理を要求するアプリケーションインターフェースプログラム（ＡＰＩ）を設けることによれば、ＡＰＩにセッション制御機能を集約でき、様々なアプリケーションプログラムにおいて、ＡＰＩを汎用的に使用でき、アプリケーションプログラムの開発がさらに容易なものとなる。
【００６３】
また、エージェントプログラムによるセッションの一元管理は、ファイル処理を実行するアプレット及びサーブレットのセッション管理機能の負担も軽減でき、軽減分を、ファイル処理の信頼性を高める機能に充てることができ、システムの信頼性を向上することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例のファイル伝送システムの構成図。
【図２】図１のファイル伝送システムの各プログラムの連携動作を示す概要図。
【図３】図１のエージェントプログラムのセッション管理テーブルの詳細を説明する構成図。
【図４】図１のＡＰＩのコマンドの概要を示す説明図。
【図５】図１のアプリケーションプログラムの動作を示すフローチャート。
【図６】図１のＡＰＩの動作を示すフローチャート。
【図７】図１のエージェントプログラムの動作を示すフローチャート。
【図８】図１のＷｅｂサーバの動作を示すフローチャート。
【図９】図１のアプレットの動作を示すフローチャート。
【図１０】図１のＡＰＩ、エージェント及びアプレットの連携動作を示すシーケンス図。
【図１１】図１のアプレット及びサーブレットのファイル伝送手順の概要を示す説明図。
【図１２】図１のアプレット及びサーブレットのファイルのダウンロード動作を示すシーケンス図。
【図１３】図１のアプレット及びサーブレットのファイルのアップロード動作を示すシーケンス図。
【図１４】本発明の第１の実施例のファイル処理システムの構成図。
【符号の説明】
１          Ｗｅｂクライアント端末
１１        Ｗｅｂブラウザ
１２        アプレット
１６１      アプレット（前処理アプレット）
１６２      アプレット（中間処理アプレット）
１６３      アプレット（後処理アプレット）
１３        エージェントプログラム（ファイル処理制御プログラム）
１３０      管理テーブル（セッション管理テーブル）
２          Ｗｅｂサーバ端末
２１、２４  Ｗｅｂサーバ
２２        サーブレット
２４１      サーブレット（前処理サーブレット）
２４２      サーブレット（中間処理サーブレット）
２４３      サーブレット（後処理サーブレット）
３１、３５  アプリケーションプログラム
３２、３８  アプリケーションインターフェースプログラム
【図１】
2004192563.tif 000003
【図２】
2004192563.tif 000004
【図３】
2004192563.tif 000005
【図４】
2004192563.tif 000006
【図５】
2004192563.tif 000007
【図６】
2004192563.tif 000008
【図７】
2004192563.tif 000009
【図８】
2004192563.tif 000010
【図９】
2004192563.tif 000011
【図１０】
2004192563.tif 000012
【図１１】
2004192563.tif 000013
【図１２】
2004192563.tif 000014
【図１３】
2004192563.tif 000015
【図１４】
2004192563.tif 000016