(57)【要約】【課題】サーバ装置とＪａｖａ（登録商標）アプレットを使用するクライアント間で、自動的にタイマを同期させる。【解決手段】  クライアント装置４は、タイマ１００２と、ＯＳ１５と、ブラウザ１１と、エージェントプログラム１３と、を備える。サーバ装置２は、タイマ１００１を備える。エージェントプログラム１３は、アプリケーションの要求に応答して、ブラウザ１１を起動し、ブラウザ１１は、サーバ装置２にアクセスしてＪａｖａ（登録商標）アプレット１２をダウンロードする。Ｊａｖａ（登録商標）アプレット１２は、サーブレット２２とのやり取りでサーバ装置２の時刻情報を受信してエージェントプログラム１３に提供する。エージェントプログラム１３はＪａｖａ（登録商標）アプレットからの時刻情報に基づいて、ＯＳ１５のＡＰＩに時刻修正を依頼する。ＯＳ１５は、タイマ１００２の時刻を制御する。【選択図】図１
2006099621.tif 000002
【特許請求の範囲】
【請求項１】
第１のタイマと、前記第１のタイマを制御するオペレーティングシステムと、前記オペレーティングシステム上で動作するブラウザと、前記オペレーティングシステム上で動作するエージェントプログラムと、を備えるクライアント装置と、
第２のタイマを備え、前記クライアント装置からのアクセスに応答して、前記第２のタイマの計時時刻を示す時刻情報を前記クライアント装置に送信するサーブレットを備えるサーバ装置と、
から構成され、
前記エージェントプログラムは、所定条件の成立により、前記ブラウザを起動し、
該ブラウザは、前記サーバ装置にアクセスして該サーバ装置の前記サーブレットからタイマ修正用のＪａｖａ（登録商標）アプレットをダウンロードし、
前記Ｊａｖａ（登録商標）アプレットは、前記サーバ装置にアクセスして前記サーブレットより時刻情報を受信して前記エージェントプログラムに提供し、
前記エージェントプログラムは前記Ｊａｖａ（登録商標）アプレットから提供された前記時刻情報に基づいて、前記オペレーティングシステムのアプリケーションインタフェースに時刻情報の修正を依頼し、
前記オペレーティングシステムは、前記エージェントプログラムからの依頼に基づいて、前記第１のタイマを修正する、
ことを特徴とするネットワークシステム。
【請求項２】
前記クライアント装置は、前記第１のタイマを修正するか否かを指定する制御情報を記憶する手段を備え、
前記Ｊａｖａ（登録商標）アプレットは、前記制御情報が前記第１のタイマの修正を行うことを指定しているときに、前記エージェントプログラムに前記第１のタイマの計時時刻の修正を指示する、
ことを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記エージェントプログラムは、前記Ｊａｖａ（登録商標）アプレットから提供された前記時刻情報が示す時刻と前記第１のタイマの計時時刻との差が所定の閾値より大きいときに、前記オペレーティングシステムに前記第１のタイマの修正を指示する、
ことを特徴とする請求項１又は２に記載のネットワークシステム。
【請求項４】
動作スケジュールを規定するスケジュールファイルと、
前記スケジュールファイルと前記第１のタイマの計時時刻とに従って、前記エージェントプログラムに時刻修正動作の起動をかけるアプリケーションプログラムと、
をさらに備えることを特徴とする請求項１乃至３の何れか１項に記載のネットワークシステム。
【請求項５】
タイマと
前記タイマを管理するオペレーティングシステムと、
前記オペレーティングシステム上で動作するブラウザと、
前記オペレーティングシステム上で動作するエージェントプログラムと、
を備え、
前記エージェントプログラムは、所定条件の成立により、前記ブラウザを起動し、
該ブラウザは、他の装置にアクセスして該他の装置からタイマ修正用のＪａｖａ（登録商標）アプレットをダウンロードし、
前記Ｊａｖａ（登録商標）アプレットは、前記他の装置にアクセスして時刻情報を受信して前記エージェントプログラムに提供し、
前記エージェントプログラムは前記Ｊａｖａ（登録商標）アプレットから提供された時刻情報に基づいて、前記オペレーティングシステムのアプリケーションインタフェースに時刻情報の修正を依頼し、
前記オペレーティングシステムは、前記エージェントプログラムからの依頼に基づいて、前記タイマを修正する、
ことを特徴とするコンピュータシステム。
【請求項６】
前記コンピュータシステムは、前記タイマの計時時刻を修正するか否かを指定する制御情報を記憶する手段を備え、
前記Ｊａｖａ（登録商標）アプレットは、前記制御情報が前記タイマの計時時刻を修正することを指定しているときに、前記エージェントプログラムに前記タイマの計時時刻の修正を指示する、
ことを特徴とする請求項５に記載のコンピュータシステム。
【請求項７】
前記エージェントプログラムは、前記Ｊａｖａ（登録商標）アプレットから提供された前記時刻情報が示す時刻と前記タイマが計時している時刻との差が所定の閾値より大きいときに、前記オペレーティングシステムに前記タイマの計時時刻の修正を指示する、ことを特徴とする請求項５又は６に記載のコンピュータシステム。
【請求項８】
動作スケジュールを規定するスケジュールファイルと、
前記スケジュールファイルと前記タイマの計時時刻とに従って、前記エージェントプログラムに前記タイマの計時時刻を修正する動作の起動をかけるアプリケーションプログラムと、
をさらに備えることを特徴とする請求項５乃至７の何れか１項に記載のコンピュータシステム。
【請求項９】
タイマ修正機能を備えるオペレーティングシステムと、ダウンロードされたプログラムを実行する仮想マシン機能を備えたブラウザとがインストールされたコンピュータにおいて、  
前記ブラウザを起動して他装置にアクセスさせて、該他装置からタイマ修正用のプログラムをダウンロードさせ、
前記タイマ修正用のプログラムが前記仮想マシン機能によって実行されて他装置にアクセスして取得した時刻情報の提供を受けて、
前記オペレーティングシステムに、該オペレーティングシステムが管理するタイマの計時時刻が、提供された前記時刻情報が示す時刻に一致するように、修正させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はネットワークシステムにおいて、それぞれが保有する時刻を同期させることが可能なサーバシステムとクライアントシステム及びそれらを備えたネットワークシステムに関する。
【背景技術】
【０００２】
ネットワークシステムにおいては、クライアントとサーバ間で時刻を同期させる必要があることが多い。従来は、この種の処理は、ユーザがクライアントを操作して行っていたが、信頼性に欠け、また、利用者の負担が大きいことから、自動化の要望が強い。
【０００３】
このような要望を満たす技術として、特許文献１には、サーバからの指示で、クライアントにおいて、クロックサンプリングの周期を変更することにより、時刻の同調を実現する手法が開示されている。
【特許文献１】特開平６−２１６８８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一方、クライアントを構成するアプリケーションがＪａｖａ（登録商標）アプレット（以降、単にアプレットともいう。）で構成されることが多くなっている。Ｊａｖａ（登録商標）アプレットとは、ネットワークを通じてＷｅｂブラウザにダウンロードされ、ブラウザに埋め込まれて実行されるＪａｖａ（登録商標）プログラムのことである。アプレットを使うことにより、例えば、HTMLで記述された静的なＷｅｂページでは実現できない動的な表現が可能となる。また、Ｗｅｂブラウザのみで利用することができるネットワークゲームやチャットプログラムを開発することもできる。
【０００５】
但し、Ｊａｖａ（登録商標）アプレットはＨＴＭＬに組み込まれるため、Ｊａｖａ（登録商標）アプレットを悪用してユーザのコンピュータに被害を与えることのないように、ユーザのハードディスクの内容を読み書きしたり、自分が呼び出されたＷｅｂサーバ以外のコンピュータに接続したり、他のアプリケーションソフトを起動したりすることはできないようにセキュリティ制約が付いている。なお、サインド（署名付き）アプレットでは、その正当性を示す電子署名が添えられ、ダウンロード時にされるユーザの確認操作の後にダウンロードされることでセキュリティが担保されている。このため、サインドアプレットでは、一時的にユーザーコンピュータ上のファイル操作が可能なまでにセキュリティポリシーを緩めることが可能となっている。しかしながら、このようなサインドアプレットであってもレジストリや環境変数と言ったシステムリソースを変更することは禁止されている。
【０００６】
このため、Ｊａｖａ（登録商標）アプレットを使用するクライアントで、サーバと時刻を同期させる処理を自動化しようとしても、Ｊａｖａ（登録商標）固有の問題で実現困難であった。
【０００７】
また、サーバ装置とＪａｖａ（登録商標）アプレットを使用するクライアント装置間で任意のタイミングを基準とする処理を実行しようとしても、時刻の同期が困難であるため、ログデータがちぐはぐになる等の問題があった。
【０００８】
本発明は、サーバ装置とＪａｖａ（登録商標）アプレットを使用するクライアント装置間で、自動的に時刻を同期させることを可能とすることを目的とする。
また、本発明は、サーバ装置とＪａｖａ（登録商標）アプレットを使用するクライアント装置との間で、同期しているタイマを使用して、様々な処理を実行可能とすることを他の目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の第１の観点に係るネットワークシステムは、
第１のタイマと、前記第１のタイマを制御するオペレーティングシステムと、前記オペレーティングシステム上で動作するブラウザと、前記オペレーティングシステム上で動作するエージェントプログラムと、を備えるクライアント装置と、
第２のタイマを備え、前記クライアント装置からのアクセスに応答して、前記第２のタイマの計時時刻を示す時刻情報を前記クライアント装置に送信するサーブレットを備えるサーバ装置と、
から構成され、
前記エージェントプログラムは、所定条件の成立により、前記ブラウザを起動し、
該ブラウザは、前記サーバ装置にアクセスして該サーバ装置の前記サーブレットからタイマ修正用のＪａｖａ（登録商標）アプレットをダウンロードし、
前記Ｊａｖａ（登録商標）アプレットは、前記サーバ装置にアクセスして前記サーブレットより時刻情報を受信して前記エージェントプログラムに提供し、
前記エージェントプログラムは前記Ｊａｖａ（登録商標）アプレットから提供された前記時刻情報に基づいて、前記オペレーティングシステムのアプリケーションインタフェースに時刻情報の修正を依頼し、
前記オペレーティングシステムは、前記エージェントプログラムからの依頼に基づいて、前記第１のタイマを修正する、
ことを特徴とする。
【００１０】
また、この発明の第２の観点に係るコンピュータシステムは、
タイマと
前記タイマを管理するオペレーティングシステムと、
前記オペレーティングシステム上で動作するブラウザと、
前記オペレーティングシステム上で動作するエージェントプログラムと、
を備え、
前記エージェントプログラムは、所定条件の成立により、前記ブラウザを起動し、
該ブラウザは、他の装置にアクセスして該他の装置からタイマ修正用のＪａｖａ（登録商標）アプレットをダウンロードし、
前記Ｊａｖａ（登録商標）アプレットは、前記他の装置にアクセスして時刻情報を受信して前記エージェントプログラムに提供し、
前記エージェントプログラムは前記Ｊａｖａ（登録商標）アプレットから提供された時刻情報に基づいて、前記オペレーティングシステムのアプリケーションインタフェースに時刻情報の修正を依頼し、
前記オペレーティングシステムは、前記エージェントプログラムからの依頼に基づいて、前記タイマを修正する、
ことを特徴とする。
【００１１】
前記クライアント装置又はコンピュータシステムは、例えば、タイマの計時時刻の制御・修正を行うか否かを指定する制御情報を記憶する手段を備える。この場合、前記Ｊａｖａ（登録商標）アプレットは、前記制御情報がタイマの制御・修正を行うことを指定しているときに、前記エージェントプログラムに時刻の修正・調整を指示する。
【００１２】
前記エージェントプログラムは、例えば、前記Ｊａｖａ（登録商標）アプレットから提供された前記時刻情報が示す時刻とタイマが計時している時刻との差（絶対値）が所定の閾値より大きいときに、前記オペレーティングシステムに時刻の修正を指示する。
【００１３】
また、動作スケジュールを規定するスケジュールファイルと、前記スケジュールと前記タイマの計時時刻とに従って、前記エージェントプログラムに時刻修正動作の起動をかけるアプリケーションプログラムと、をさらに配置してもよい。
【００１４】
また、コンピュータを上述のクライアント装置或いはコンピュータシステムとして動作させるアプリケーションプログラムやエージェントプログラムを記録媒体に格納して配布したり、搬送波に重畳してネットワークを介して送信したりしてもよい。
【発明の効果】
【００１５】
本発明によれば、Ｊａｖａ（登録商標）アプレットを用いたシステムにおいて、タイマの計時時刻を自動で適切に調整することが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
本実施の形態のネットワークシステムは、Ｗｅｂサーバ端末と、Ｗｅｂクライアント端末とから構成され、Ｗｅｂクライアント端末が、Ｗｅｂサーバ端末から時刻情報を得て、オペレーティングシステム内のタイマの時刻を修正することにより、Ｗｅｂサーバ端末とＷｅｂクライアント端末との時刻を同期させるシステムである。
【００１７】
より、詳細に説明すると、本実施の形態のネットワークシステムは、図１に示すように、Ｗｅｂサーバ端末２と、該Ｗｅｂサーバ端末２にインターネット又はイントラネット（Ｗｅｂ）を介して接続されたＷｅｂクライアント端末４とから構成される。なお、図１では、Ｗｅｂクライアント端末４を１台のみ記載しているが、同様の構成を有するＷｅｂクライアント端末４が複数台Ｗｅｂに接続されている。
【００１８】
Ｗｅｂクライアント端末４は、Ｗｅｂクライアント部１のＷｅｂブラウザ１１（アプレット１２を動作させる為にＪａｖａ（登録商標）Ｐｌｕｇ−ｉｎが挿入されている）から、Ｗｅｂサーバ端末２にＷｅｂを介してアクセスして、Ｗｅｂサーバ端末２から、Ｗｅｂクライアント部１のＷｅｂブラウザ１１にアプレット１２をダウンロードする。続いて、このアプレット１２がＷｅｂサーバ端末２のサーブレット２２から時刻情報を得て、Ｗｅｂクライアント部１のエージェント（エージェントプログラム）１３に時刻情報を渡し、エージェント１３からＷｅｂクライアント端末４のオペレーティングシステム１５内のタイマ１００２の時刻を修正する。これにより、Ｗｅｂサーバ端末２とＷｅｂクライアント端末４との間の時刻が同期する。
【００１９】
なお、Ｊａｖａ（登録商標）アプレットとは、サンマイクロシステムズ社のＪａｖａ（登録商標）言語で記述され、ＷｅｂサーバからＷｅｂブラウザにダウンロードされ、Ｗｅｂブラウザを仮想マシンとして実行されるプログラムの総称であり、HTMLだけではできないダイナミックな表現を可能とする。
【００２０】
アプレットは、HTMLに組み込まれるため、アプレットを悪用してユーザのコンピュータに被害を与えることのないように、ユーザのハードディスクの内容を読み書きしたり、自分が呼び出されたＷｅｂサーバ端末以外のコンピュータに接続したり、他のアプリケーションソフトを起動したりすることはできないようにセキュリティ制約がついている。ここで、アプレット１２はサインドアプレットとしてあり、セキュリティを担保しているが、サインドアプレットであってもオペレーティングシステム１５のシステムリソースの変更は禁止されている。つまり、アプレット１２がオペレーティングシステム１５のシステムリソースとして制御されるタイマ１００２を直接修正するようなこともできない構成になっている。
【００２１】
なお、同期させたＷｅｂサーバ端末２のタイマ１００１とＷｅｂクライアント端末４のタイマ１００２とを用いてどのような処理を行うかは任意である。例えば、予め定めたスケジュールに従って、タイマ１００２の計時時刻が所定時刻になると、Ｗｅｂサーバ端末２とＷｅｂクライアント端末４との間でファイルの交換を行う等の処理が可能である。
【００２２】
図１に戻り、本実施の形態に係るネットワークシステムの構成の詳細について説明する。
【００２３】
Ｗｅｂサーバ端末２は、時刻修正・伝送のためのサーブレット・アプレットをＷｅｂクライアント端末４に提供するＷｅｂサーバプログラム（以下、Ｗｅｂサーバと言う）２１を備える。Ｗｅｂサーバ２１は、サーブレット２２を実行させるとともに、Ｗｅｂブラウザ１１のアクセスを受け、アプレット１２をＷｅｂクライアント端末４にダウンロードさせる。
【００２４】
また、Ｗｅｂサーバ端末２は、電波時計、テレホンＪＪＹなどの信頼度の高い時刻源に基づいて自己の計時する時刻を修正され、信頼度の高い時刻を計時するタイマ（計時装置）１００１と、タイマ１００１が保有する時刻情報のアクセスを管理する情報（後述のユーザＩＤ、パスワード等）を格納するアクセス管理データベース（ＤＢ)２３とを備える。
【００２５】
Ｗｅｂサーバ端末２のオペレーティングシステムとしてはマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）２０００ Ｓｅｒｖｅｒ ＳＰ４、ＩＢＭ社のＡＩＸ ５Ｌ Ｖｅｒｓｉｏｎ５．１、レッドハット社のＲｅｄ Ｈａｔ Ｅｎｔｅｒｐｒｉｓｅ Ｌｉｎｕｘ ＡＳ ２．１等を利用すれば良い。また、Ｗｅｂサーバ２１を構築するＷｅｂサーバプログラム、言い換えれば、ＨＴＴＰ（Ｈｙｐｅｒ Ｔｅｘｔ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）サーバプログラムとしては、アパッチソフトウェアファウンデーションのＡｐａｃｈｅ ２．０．４８等が利用できる。また、サーブレット２２を実行するＪａｖａ（登録商標）サーブレットコンテナとしてはアパッチソフトウェアファウンデーションのＴｏｍｃａｔ ５．０．１９等が利用できる。アクセス管理データベース２３は、例えば、米国カリフォルニア大学本校及びＰｏｓｔｇｒｅＳＱＬ国際開発チームのＰｏｓｔｇｒｅＳＱＬ等を利用して構築できるし、その他のデータベースアプリケーションを利用しても良い。
【００２６】
Ｗｅｂクライアント端末４は、Ｗｅｂクライアント部１と、アプリケーション部３と、オペレーティングシステム（ＯＳ）１５と、設定ファイル１６と，タイマ１００２とを備える。
【００２７】
Ｗｅｂクライアント部１は、マイクロソフト社のＩｎｔｅｒｎｅｔ Ｅｘｐｌｏｒｅｒ等のアプレットを実行する仮想マシン機能を備えたＷｅｂブラウザ１１を備える。Ｗｅｂブラウザ１１は、Ｗｅｂサーバ端末２からダウンロードされるアプレット１２を実行し、Ｗｅｂサーバ端末２上のサーブレット２２との間で時刻情報の取得、時刻修正の要求、及び伝送を行うものである。
【００２８】
Ｗｅｂクライアント部１は、Ｗｅｂブラウザ（ウエブブラウザプログラム）１１及びアプレット１２及びエージェント１３を備える。エージェント１３はアプレット１２及びアプリケーション（アプリケーションプログラム）３１から送られる後述する各種コマンドに応じて、通信のセッション毎にＷｅｂブラウザ１１及びアプレット１２を制御するためにセッション管理テーブル１３０を備える。なお、セッション管理テーブル１３０の詳細は後述する。
【００２９】
アプリケーション部３は、アプリケーション３１を備えている。アプリケーション３１は、アプレット１２、エージェント１３に対して各種コマンドを送受信する機能を備えたＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ Ｐｒｏｇｒａｍ Ｉｎｔｅｒｆａｃｅ)３２を備える。アプリケーション３１は、例えば、オートパイロットプログラムであり、電源立ち上げ時と所定の日時に、ＡＰＩ３２を介してＷｅｂクライアント部１に伝送要求をかけるメインプログラム３４を備える。
【００３０】
これら、Ｗｅｂブラウザ１１、エージェント１３、アプリケーション３１は、Ｗｅｂクライアント端末４のオペレーティングシステム１５上で実行される。オペレーティングシステム１５としては、例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）９８／ＮＴ／２０００／ＸＰ等を利用すれば良い。
【００３１】
設定ファイル１６は、Ｗｅｂクライアント端末４がタイマ１００２の時刻調整を行う制御情報としての条件情報を格納する。この条件情報は、例えば、利用者の入力操作により設定される。この設定ファイル１６には、例えば、図２に示すように、設定ファイル１６内にセット・リセットされる時刻修正フラグがセット状態で（ステップＳ１１；Ｙｅｓ）、Ｗｅｂサーバ端末２からダウンロードされた時刻情報が示す時刻（Ｗｅｂサーバ端末２のタイマ１００１の計時時刻）とタイマ１００２の計時時刻との差が所定の閾値以上の場合（ステップＳ１２；Ｙｅｓ）にのみ、タイマ１００２の時刻をダウンロードした時刻情報が示す時刻に修正する（ステップＳ１３）、ことが設定されている。
【００３２】
タイマ１００２は、このＷｅｂクライアント端末４のローカル時刻を計時する。タイマ１００２は、オペレーティングシステム１５の管理下にあり、図２に示す条件が成立したときに、後述する手順により、タイマ１００１の計時時刻に一致するように修正される。
【００３３】
次に、エージェント１３が備えるセッション管理テーブル１３０の詳細を説明する。
セッション管理テーブル１３０は、図３に示すように、例えば、Ｓｅｓｓｉｏｎ−Ｎｏ１３１、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ）−Ｐｏｒｔ１３２、ＵＲＬ（Ｕｎｉｆｏｒｍ Ｒｅｓｏｕｒｃｅ Ｌｏｃａｔｏｒ）１３３、Ｌｏｃｋ−Ｆｌａｇ１３４、Ｓｏｃｋｅｔ−Ｄｅｓｃｒｉｐｔｅｒ１３５、ＩＥ−Ｓｔａｒｔ−Ｔｉｍｅ（以下、単にＳｔａｒｔ−Ｔｉｍｅという）１３６、ＩＥ−Ｐｒｏｃｅｓｓ−ＩＤ（以下、単にＰｒｏｃｅｓｓ−ＩＤという）１３７を管理するものであり、本実施の形態では、最大４組迄管理するものとする。
【００３４】
Ｓｅｓｓｉｏｎ−Ｎｏ１３１の内容は、時刻情報送受信やファイル伝送等の任意のセッションを管理する管理番号を示し、予め１番から４番まで設けられている。これに限らず、適宜に必要なセッション数に応じて管理番号を増やしても良い。Ｓｅｓｓｉｏｎ−Ｎｏ１３１の番号は、言い換えれば、セッション毎のＷｅｂブラウザ１１の管理番号である。
【００３５】
ＴＣＰ−Ｐｏｒｔ１３２の内容は、アプレット１２がダウンロードされた際にＡＰＩ３２を介してアプリケーション３１とＴＣＰ／ＩＰ通信する際のＴＣＰポート番号を示す。
【００３６】
ＵＲＬ１３３の内容は、Ｗｅｂサーバ端末２のＵＲＬを示す。
【００３７】
Ｌｏｃｋ−Ｆｌａｇ１３４の内容は、対応するＳｅｓｓｉｏｎ−Ｎｏ１３１の管理番号が既にＷｅｂブラウザ１１で占有されていること、すなわち、既に他の処理のセッションに占有されていることを示すものであり、当該管理番号にてＷｅｂブラウザ１１が起動される際に占有を示す“１”が格納され、Ｗｅｂブラウザ１１が終了されて占有状態を開放する場合には非占有を示す“０”が格納される。
【００３８】
Ｓｏｃｋｅｔ−Ｄｅｓｃｒｉｐｔｅｒ１３５の内容は、エージェント１３とアプリケーション３１との通信の際に使用されるソケットの認識番号を示す。
【００３９】
Ｓｔａｒｔ−Ｔｉｍｅ１３６の内容は、Ｗｅｂブラウザ１１を起動した時刻を示す。エージェント１３は、この時刻を起点に、例えば、実行中の処理が継続中であることを示すステータス情報を定期的にＡＰＩ３２に送信する。アプリケーション３１はこれにより処理の中断等の異常状態を監視できる。
【００４０】
Ｐｒｏｃｅｓｓ−ＩＤ１３７の内容は、起動したＷｅｂブラウザ１１毎にオペレーティングシステム１５が生成し、当該システム内で使用するＷｅｂブラウザ１１のプロセス番号を示す。これにより、エージェント１３は、プロセス番号を指定してオペレーティングシステム１５にＷｅｂブラウザ１１の終了をさせることが可能となっている。
【００４１】
次にエージェント１３及びアプレット１２とＡＰＩ３２との間で使用されるコマンドの詳細について説明する。
コマンドの概要は図４に示す通りであり、コマンドＣＩ（管理情報の取得）は、セッションの管理情報を取得するためのものであり、エージェント１３よりセッション管理テーブル１３０を参照するコマンドである。
コマンドＣＬ（セッションロック）は、指定したセッションの管理番号、すなわち、Ｓｅｓｓｉｏｎ−Ｎｏ１３１を占有するコマンドである。
コマンドＣＯ（ブラウザオープン）は、指定したＳｅｓｓｉｏｎ−Ｎｏ１３１でＷｅｂブラウザ１１を起動させるコマンドである。
【００４２】
コマンドＣＣ（ブラウザクローズ）は、Ｓｅｓｓｉｏｎ−Ｎｏ１３１で指定したＷｅｂブラウザを終了させるコマンドである。
コマンドＣＵ（セッションアンロック）は、指定したＳｅｓｓｉｏｎ−Ｎｏ１３１の開放を指示するコマンドである。
コマンドＣＳ(状態照会)は、アプレット１２の動作状態を照会するコマンドである。
コマンドＣＴＳ（時刻修正）は、アプレット１２がエージェント１３に対して、Ｗｅｂクライアント端末４のタイマ１００２の時刻修正を行うように指示をするものである。
【００４３】
コマンドCP（ポート）は、コマンドCO後に実行されるもので、コマンドCPはアプレット１２からエージェント１３に対して実行され、セッション毎にアプレット１２とエージェント１３及びＡＰＩ３２が通信を行うためのポート（以下、通信ポート）を指定するものである。アプレット１２はコマンドＣＰによりポート番号を引数としてエージェント１３に渡し、エージェント１３はセッション管理テーブル１３０のＴＣＰ−Ｐｏｒｔ１３２に格納する。エージェント１３はアプレット１２に応答を返し、アプレット１２はコマンドＣＰが正常終了したと認識する。
【００４４】
コマンドＣＴ（ファイル伝送指示）は、ファイル伝送を指示するコマンドであり、目的のファイルＩＤ、グループＩＤ、ユーザＩＤ及びパスワードを添えてファイルのダウンロード又はアップロードの指示をするものである。
【００４５】
図５は、図１に示すＷｅｂクライアント端末４の基本構成を示す。
図示するように、Ｗｅｂクライアント端末４は、制御部４１１と、記憶部４１２と、補助記憶部４１３と、入力部４１４と、表示部４１５と、通信制御部４１６とを備える。
【００４６】
制御部４１１は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）等から構成され、記憶部４１２に読み出したプログラムを実行し、後述する通信制御、タイマの制御、ファイル制御などを行う。また、制御部４１１は内部タイマを備え、オペレーティングシステムの制御下にこのタイマを制御する。このタイマがオペレーティングシステム１５の管理下になるタイマ１００２として機能する。
【００４７】
記憶部４１２は、所謂メインメモリであり、ＲＡＭなどから構成され、制御部４１１の実行対象のプログラム（エージェント１３等）やデータ（セッション管理テーブル１３０等）を記憶する。
補助記憶部４１３は、ハードディスク装置等から構成され、前述のオペレーティングシステム１５と，Ｗｅｂブラウザ（ウエブブラウザ）プログラム１１と，アプリケーションプログラム３１と，設定ファイル１６と，スケジュールテーブル３３と，を格納している。
入力部４１４はキーボード、マウス等を備え、種々の指示や設定情報を入力する。
表示部４１５は様々な情報を表示する。
通信制御部４１６は、制御部４１１の制御下に、ネットワークを介して例えばＷｅｂサーバ端末２と通信を行う。
【００４８】
次に、Ｗｅｂクライアント端末４がＷｅｂサーバ端末２から時刻情報を取得して、自己のタイマ１００２の計時時刻を修正して、Ｗｅｂサーバ端末２とＷｅｂクライアント端末４の時刻を同期させる動作について説明する。
【００４９】
まず、アプリケーション３１の動作を説明する。
アプリケーション３１は、起動されると、タイマ１００２が計時している現在時刻を監視し、スケジュールテーブル３３に設定されているタイミングに達すると、メインプログラム３４からＡＰＩ３２を介してエージェント１３にコマンドＣＬを送ってセッションをロックし、さらに、エージェント１３にコマンドＣＯを送って、Ｗｅｂブラウザ１１を起動する。
起動されたＷｅｂブラウザ１１にＷｅｂサーバ端末４のサーブレット２２からアプレット１２がロードされ、アプレット１２は、サーブレット２２から時刻情報を受信する。アプレット１２は、受信した時刻情報をエージェント１３にコマンドＣＴＳを介して渡す。エージェント１３は、渡された時刻情報を用いて、タイマ１００２の時刻をオペレーティングシステム１５を介して修正する。これにより、Ｗｅｂクライアント端末４の計時時刻とＷｅｂサーバ端末２の時計時刻とが同期する。
【００５０】
次にＡＰＩ３２の動作について説明する。
アプリケーション３１からの指示を受けたＡＰＩ３２は、エージェント１３にコマンドＣＩを送り、セッション管理テーブル１３０の全管理情報を要求する。エージェント１３から全管理情報を受け取ると、Ｌｏｃｋ−Ｆｌａｇ１３４に既に占有を示す“１”が立ってないＳｅｓｓｉｏｎ−Ｎｏ１３１を特定して、これを占有するためコマンドＣＬをエージェント１３に送る。このとき、Ｌｏｃｋ−Ｆｌａｇ１３４に既に占有を示す“１”が立ってないＳｅｓｓｉｏｎ−Ｎｏ１３１が複数あった場合には、若い番号から占有する。また、コマンドＣＬには、引数として、指定するＳｅｓｓｉｏｎ−Ｎｏ１３１の番号を添える。ここで、ＡＰＩ３２は、管理情報を参照し、既に使用中のＴＣＰポート番号と重複しないようにＴＣＰポート番号を選択する。
【００５１】
ＡＰＩ３２は、エージェント１３からコマンドＣＬに対する応答を受け取ると、エージェント１３にコマンドＣＯを送り、Ｗｅｂブラウザ１１の起動を指示する。ここで、ＡＰＩ３２は、Ｗｅｂサーバ２１のＵＲＬをコマンドＣＯの引数として添える。ＡＰＩ３２は、エージェント１３からコマンドＣＯに対する応答を受け取ると、エージェント１３にコマンドＣＩを送り、セッション管理テーブル１３０の全管理情報を要求し、エージェント１３から全管理情報を受け取る。この時点では、Ｗｅｂブラウザ１１が起動され、Ｗｅｂサーバ２１からアプレット１２がダウンロードされており、取得した全管理情報については、セッション管理テーブル１３０の先に占有したＳｅｓｓｉｏｎ−Ｎｏ１３１の行において、ＵＲＬ１３３には、以降のアクセス先となるＷｅｂサーバ２１のサーブレット２２のＵＲＬが格納され、Ｌｏｃｋ−Ｆｌａｇ１３４が格納され、Ｓｏｃｋｅｔ−Ｄｅｓｃｒｉｐｔｅｒ１３５にはエージェント１３との通信のソケットの認識番号が格納され、Ｓｔａｒｔ−Ｔｉｍｅ１３６にはＷｅｂブラウザ１１の起動された時刻が格納され、Ｐｒｏｃｅｓｓ−ＩＤ１３７にはこのセッションにおいてオペレーティングシステム１５により生成されたＷｅｂブラウザ１１のプロセス番号が格納された状態となっている。
【００５２】
ＡＰＩ３２は、エージェントに対してコマンドＣＩを送り、セッション管理テーブル１３０の全管理情報を取得し、ＴＣＰ−Ｐｏｒｔ１３２に格納されているＴＣＰポート番号を用いて、アプレット１２に対して伝送を指示するコマンドＣＴを送る。ＡＰＩ３２は、アプレット１２からコマンドＣＴに対する応答を受け取ると（伝送が終了したことを認識すると）セッションの管理番号を引数としてコマンドＣＣをエージェント１３に送り、Ｗｅｂブラウザ１１の終了を指示する。ＡＰＩ３２は、エージェント１３からコマンドＣＣに対する応答を受け取ると、エージェント１３にコマンドＣＵを送り、指定したＳｅｓｓｉｏｎ−Ｎｏ１３１の開放を指示する。ＡＰＩ３２は、エージェント１３からコマンドＣＵに対する応答を受け取ると、コマンドＣＵが正常終了したことを認識する。
【００５３】
次に、エージェント１３の時刻情報受信動作について説明する。エージェント１３は、ＡＰＩ３２からコマンドＣＩを受けると、セッション管理テーブル１３０の全管理情報を読み出してＡＰＩ３２に送る。エージェント１３は、ＡＰＩ３２からコマンドＣＬを受けると、ＡＰＩ３２により指定されるセッション管理テーブル１３０のＳｅｓｓｉｏｎ−Ｎｏ１３１の行において、Ｌｏｃｋ−Ｆｌａｇ１３４に占有を示す“１”を格納し、Ｓｏｃｋｅｔ−Ｄｅｓｃｒｉｐｔｅｒ１３５にソケットの認識番号を格納してＡＰＩ３２に応答する。エージェント１３は、ＡＰＩ３２からコマンドＣＯを受けると、ＡＰＩ３２により指定されるＵＲＬに対応するＷｅｂサーバ２１にアクセスすべく、Ｗｅｂブラウザ１１を起動する。このとき、Ｗｅｂブラウザ１１が開くＵＲＬに引数として、ＡＰＩ３２より指定されるＳｅｓｓｉｏｎ−Ｎｏ１３１のセッション管理番号は、アプレット１２がエージェント１３に対してコマンドＣＰを送ったときにＳｅｓｓｉｏｎ−Ｎｏ１３１のセッション管理番号ではＴＣＰ−Ｐｏｒｔ１３２のＴＣＰポート番号を使用するように応答し、セッション管理テーブル１３０のＳｅｓｓｉｏｎ−Ｎｏ１３１の行にＴＣＰ−Ｐｏｒｔ１３２のＴＣＰポート番号を格納する。例えば、セッション管理番号が１番と指定するとすれば、「ＨＴＴＰ：／／ＵＲＬ ？ｐｎｏ＝０１」等と通常のＵＲＬの記述に続けて所定の書式でセッション管理番号を添える。これにより、セッションの異なるアプリケーション３１間でＴＣＰポート番号が重複してＴＣＰポート番号の付け替え処理の必要が生じることがないので、複数のセッションを同時に処理する場合であっても、処理時間を抑えることが可能となっている。
【００５４】
また、Ｗｅｂブラウザ１１の起動の際に、エージェント１３は、ＡＰＩ３２により指定されるセッション管理テーブル１３０のＳｅｓｓｉｏｎ−Ｎｏ１３１の行において、Ｗｅｂブラウザ１１の起動の際にオペレーティングシステム１５が生成したＷｅｂブラウザ１１のプロセス番号をＰｒｏｃｅｓｓ−ＩＤ１３７に格納し、Ｓｔａｒｔ−Ｔｉｍｅ１３６に起動時刻を格納する。
【００５５】
エージェント１３は、Ｗｅｂサーバ２１からＷｅｂブラウザ１１にダウンロードされたアプレット１２から、指定のＴＣＰポート番号、Ｗｅｂサーバ２１が実際に受付ポートとしたＴＣＰポート番号及び以降にアクセスするサーブレット２２のＵＲＬを示すコマンドＣＰを受けると、ＡＰＩ３２により指定されるセッション管理テーブル１３０のＳｅｓｓｉｏｎ−Ｎｏ１３１の行において、ＴＣＰ−Ｐｏｒｔ１３２にＷｅｂサーバ２１が実際に受付ポートとしたＴＣＰポート番号を格納し、アプレット１２に応答を行う。
【００５６】
エージェント１３は、アプレット１２からコマンドＣＴＳを受けとると、受けとった時刻情報（アプレット−サーブレット間で計算された時刻情報）が閾値以上であるか否かを判断し、閾値以上であると判断した場合には、タイマ１００２の時刻を修正する。エージェント１３は、アプレット１２にコマンドＣＴＳに対する応答を送り、時刻修正が正常終了したことを通知する。エージェント１３は、ＡＰＩ３２からコマンドＣＩを受けとると、コマンドＣＩの応答として、セッション管理テーブル１３０の全管理情報を引数として送る。ＡＰＩ３２は、受けとったセッション管理テーブル１３０の全管理情報のＴＣＰ−Ｐｏｒｔ１３２に格納されているＴＣＰポート番号を用いて、アプレット１２に対して伝送を指示するコマンドＣＴを送り、伝送が正常終了するとアプレット１２からコマンドＣＴに対する応答を受け、エージェント１３は、ＡＰＩ３２からコマンドＣＣを受ける。エージェント１３は、セッション管理テーブル１３０から、指定されたＳｅｓｓｉｏｎ−Ｎｏ１３１のセッションの管理番号に対応するＰｒｏｃｅｓｓ−ＩＤ１３７のプロセス番号を読み取り、オペレーティングシステム１５に当該プロセス番号に対応するＷｅｂブラウザ１１の終了を指示し、ＡＰＩ３２にコマンドＣＣに対する応答を送る。
【００５７】
エージェント１３は、ＡＰＩ３２からコマンドＣＵを受けると、セッション管理テーブル１３０の指定されたＳｅｓｓｉｏｎ−Ｎｏ１３１のセッションの管理番号に対応するＬｏｃｋ−Ｆｌａｇ１３４に“０”を格納して、当該セッションの管理番号を開放し、ＡＰＩ３２にコマンドＣＵに対する応答を送る。
【００５８】
次に、Ｗｅｂサーバ２１の動作、特に、Ｗｅｂブラウザ１１からのアクセスに対する応答動作について説明する。
Ｗｅｂサーバ２１は、Ｗｅｂブラウザ１１から自己のＵＲＬにセッション管理番号を付加したアクセス要求を受けると、以降のＷｅｂブラウザ１１との間で行われる通信（時刻情報及びファイルの伝送）のセッションのための、サーブレット２２を起動する。これとともに、Ｗｅｂブラウザ１１に指定されたセッション管理番号及びサーブレット２２のＵＲＬに関する情報を含んだアプレット１２をＷｅｂブラウザ１１にダウンロードする。これにより、以降の通信はアプレット１２とサーブレット２２との間で実行可能となる。
【００５９】
次にアプレット１２の動作、特にエージェント１３及びＡＰＩ３２との通信動作について説明する。
アプレット１２は、Ｗｅｂブラウザ１１にダウンロードされると、コマンドＣＰをエージェント１３に送り、Ｗｅｂブラウザ１１に実際に待受けポートとしたＴＣＰポート番号及びサーブレット２２のＵＲＬに関する情報を通知する。アプレット１２は、エージェント１３からコマンドＣＰに対する応答を受けると、コマンドＣＰの正常終了を確認する。ここで確立された通信ポートを介して、アプレット１２はコマンドＣＴＳを時刻情報を引数としてエージェント１３に送る。
【００６０】
エージェント１３は、引数として時刻情報、即ち、Ｗｅｂサーバ端末２のタイマ１００１が計時している時刻を示す時刻情報を取得して、図２に示すステップＳ１２の条件、即ち、この時刻情報が示す時刻とタイマ１００２が計時している時刻との差が閾値以上であるか否かを判別し、閾値以上であると判別した場合には、オペレーティングシステム１５の図示しないＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を使用してタイマ１００２の時刻修正を実行する。換言すれば、オペレーティングシステム１５にタイマ１００２の修正を依頼すると共に修正すべき時刻を通知する。オペレーティングシステム１５から時刻修正が終了の通知を受けると、エージェント１３は、アプレット１２に時刻修正が終了したことを示す応答を送る。
【００６１】
このように、修正すべき時刻情報は、セキュリティを担保されて確立されており、セキュリティの制約を受けることのない通信ポートを介してアプレット１２に伝送され、さらに、アプレット１２からエージェント１３へと送られる。そして、Ｗｅｂクライアント端末４に常駐し、特にシステムリソースに制約なくアクセスできるエージェント１３により、オペレーティングシステム１５のシステムリソースであるタイマ１００２の時刻情報が修正される。
【００６２】
アプレット１２は、エージェント１３からコマンドＣＴＳに対する応答を受けると、コマンドＣＴＳの正常終了を確認する。
【００６３】
以上の説明では、アプレット１２、エージェント１３、アプリケーション３１、及びＡＰＩ３２の動作を個々に述べたが、それぞれの動作連携を纏めると、図６に示すようになる。
【００６４】
まず、アプリケーション３１の要求に応じて、ＡＰＩ３２からコマンドＣＩがエージェント１３に送られる（ステップＳ２１）。エージェント１３はこれに応答してセッション管理テーブル１３０の全管理情報をＡＰＩ３２に送信して応答する（ステップＳ２２）。
【００６５】
次に、ＡＰＩ３２は、受信した管理情報から、占有されていないセッションの管理番号を特定し、引数としてセッション管理番号の指定を添え、特定したセッション管理番号の行を占有するコマンドＣＬをエージェント１３に送る（ステップＳ２３）。エージェント１３は、セッション管理テーブル１３０上で、対応するセッション管理番号の行を占有し、すなわち、ロックし、ＡＰＩ３２に応答する（ステップＳ２４）。
【００６６】
次に、ＡＰＩ３２から引数としてＷｅｂサーバ２１のＵＲＬを添えてコマンドＣＯをエージェント１３に送る（ステップＳ２５）。エージェント１３はコマンドＣＯに応答して、セッション管理番号の指定を添えてＷｅｂブラウザ１１を起動し、Ｗｅｂサーバ２１にアクセスし、ＡＰＩ３２に応答する（ステップＳ２６）。これによりＷｅｂサーバ２１のサーブレットとＷｅｂブラウザ１１との間にセッションが確立し、Ｗｅｂブラウザ１１にアプレット１２がダウンロードされる（ステップＳ２７）。Ｗｅｂブラウザ１１はアプレット１２がサインドアプレットであることから、ダウンロード時に確認画面を提供（例えば、表示部４１５に表示）し、これに対してユーザの入力部４１４からの確認操作がされると、アプレット１２をダウンロードする。Ｗｅｂブラウザ１１は、一度ダウンロードされたアプレット１２については、以降のアプレット１２のダウンロード時のユーザの確認操作を不要とするようにアプレット１２の識別情報を図示しないＪａｖａ（登録商標）Ｐｌｕｇ−ｉｎの設定ファイルに書き込む。これにより、アプレット１２のダウンロードについてセキュリティが担保される。
【００６７】
アプレット１２はＷｅｂブラウザ１１で実行され、コマンドＣＰをエージェント１３に送る（ステップＳ２８）。 エージェント１３はセッション管理テーブル１３０の当該セッションの行の管理情報にＴＣＰポート番号を追加、すなわち、ＴＣＰ−Ｐｏｒｔ１３２に格納し、アプレット１２に応答する（ステップＳ２９）。
【００６８】
続いて、アプレット１２は、設定ファイル１６を読み込み、時刻修正を行うか否かのフラグ（制御情報）をチェックし（図２，ステップＳ１１）、時刻修正を行うフラグがセットされている場合（図２、ステップＳ１１；Ｙｅｓ）には、サーブレット２２から時刻情報を取得し、コマンドＣＴＳに時刻情報を引数としてエージェント１３に送る（ステップＳ３０）。エージェント１３は、時刻情報が示す時刻とタイマ１００２が計時している時刻との差（例えば、絶対値）を求める（差を求めるところまでは、サーブレット２２で行ってもよい）。また、設定ファイル１６から時刻修正要否判別用の閾値を読み込み、時刻の差が閾値より大きい場合には、オペレーティングシステム１５のＡＰＩを介してオペレーティングシステム１５に、時刻修正の依頼及び修正すべき時刻を通知する。オペレーティングシステム１５は、通知に従って、タイマ１００２の計時時刻を修正する。これにより、Ｗｅｂサーバ端末２とＷｅｂクライアント端末４の時刻が一致する。
【００６９】
その後、オペレーティングシステム１５は、エージェント１３に時刻修正が終了した旨応答する。エージェント１３は、時刻修正が終了したことを示す応答をアプレット１２に送る（ステップＳ３１）。なお、時刻修正を行わなかった場合にも、終了応答をアプレット１２に送る。
【００７０】
アプリケーション３１は、ＡＰＩ３２を介してエージェント１３に対してコマンドＣＩを送り（ステップＳ３２）、エージェント１３からセッション管理テーブル１３０の全管理情報を引数として受けとり（ステップＳ３３）、受けとったセッション管理テーブル１３０の全管理情報のＴＣＰ−Ｐｏｒｔ１３２に格納されているＴＣＰポート番号を用いて、アプレット１２に対して伝送を指示するコマンドＣＴを送り（ステップＳ３４）、伝送が正常終了するとアプレット１２からコマンドＣＴに対する応答を受ける（ステップＳ３５）。これを受けたＡＰＩ３２は、Ｗｅｂブラウザ１１の終了を指示するコマンドＣＣをエージェント１３に送る（ステップＳ３６）。これに従ってエージェント１３はＷｅｂブラウザ１１を終了し、ＡＰＩ３２に対して応答する（ステップＳ３７）。これを受けたＡＰＩ３２は当該セッションにおいて占用したセッション管理番号の行を開放するコマンドＣＵをエージェント１３に送り（ステップＳ３８）、エージェント１３はこれに従って行をアンロック、すなわち、開放し、ＡＰＩ３２に対して応答する（ステップＳ３９）。以上により、Ｗｅｂサーバ端末２のタイマ１００１の計時時刻と、Ｗｅｂクライアント端末４のタイマ１００２の計時時刻とが同期する。
【００７１】
以上説明したように、本実施の形態のネットワークシステムでは、アプリケーションプログラム３１が、任意のタイミング、例えば、Ｗｅｂクライアント端末４の起動時や、所定の時刻、或いは、アプリケーションの空きタイミングに、自動的に、タイマ１００２の計時時刻を修正する処理を開始する。このため、Ｗｅｂサーバ端末２とＷｅｂクライアント端末４の間での時計合わせに関わる負担は軽減される。また、Ｊａｖａ（登録商標）アプレット１２は、本来、オペレーティングシステム１５上のタイマ１００２の時刻修正の処理を直接担当することはできないが、エージェント１３をＷｅｂクライアント部１に配置することにより、上記の動作を実現でき、Ｊａｖａ（登録商標）で構成されたシステム固有の問題を解決することができる。
【００７２】
アプリケーション３１は、上述のようにしてエージェント１３が修正したタイマ１００２を用いて任意の処理を実行可能である。
【００７３】
以下、タイマ１００２が計時する時刻に基づいて、Ｗｅｂサーバ端末２とＷｅｂクライアント端末４との間でファイルを伝送する例を説明する。
【００７４】
図７に示すように、この例においても、アプリケーション３１は、ＡＰＩ３２と、スケジュールテーブル３３と、メインプログラム３４とを備える。
メインプログラム３４は、スケジュールテーブル３３を参照して所定日時（タイミング）に所定のファイルに伝送を指示するものである。
スケジュールテーブル３３は、ファイルＩＤ、ユーザＩＤ、パスワード等を実行する日時と対応付けて格納している。
ＡＰＩ３２は上述の実施の形態で示したコマンドに対応する。アクセス管理テーブル３５は、Ｗｅｂサーバ２１のアクセス先、すなわち、アプレットをダウンロードするためのＵＲＬを格納する。
【００７５】
また、設定ファイル１６には、例えば、図８に示すように、1)  時刻修正フラグがセットされていない場合には（ステップＳ１１；Ｎｏ）、タイマ１００２の時刻修正を行わずに、ファイルの処理を行うこと（ステップＳ１４）、  2)  時刻修正フラグがセットされているが（ステップＳ１１；Ｙｅｓ）、タイマ１００１の計時時刻とタイマ１００２の計時時刻との差が閾値未満である場合には（ステップＳ１２；Ｎｏ）、タイマ１００２の時刻修正を行わずに、ファイルの処理を行うこと（ステップＳ１４）、3)  時刻修正フラグがセットされており（ステップＳ１１；Ｙｅｓ）、かつ、タイマ１００１の計時時刻とタイマ１００２の計時時刻との差が閾値以上である場合には（ステップＳ１２；Ｙｅｓ）、タイマ１００２の時刻修正を行って（ステップＳ１３）、ファイルの処理を行うこと（ステップＳ１４）、が設定されている。
【００７６】
また、Ｗｅｂサーバ端末２とＷｅｂクライアント端末４とには、処理対象のファイルを格納するためのファイル格納部２３０と１４とがそれぞれ配置されている。
【００７７】
本例のシステムの動作の概要を述べると以下のようになる。
スケジュールテーブル３３には、予め、ファイルＩＤとアップロード、アップロード・ダウンロード、ダウンロードの別、伝送実行時刻等の情報が格納されている。
アプリケーション３１のメインプログラム３４は、スケジュールテーブル３３に基づいて、各ファイルの伝送実行時刻を監視しており、例えば、タイマ１００２の計時時刻がファイル伝送時刻に、ファイル伝送処理を開始する。
【００７８】
このファイル伝送処理においては、実際にファイルの伝送処理を行う前に、前述のタイマ１００２の計時時刻を正確な時刻（タイマ１００１の計時時刻）に一致させる処理を行う。即ち、図６を参照して説明したステップＳ２１〜Ｓ３１の処理を行って、タイマ１００２の時刻合わせを行う。ただし、設定ファイル１６の内容に従って、1)  時刻修正フラグがセットされていない場合（ステップＳ１１；Ｎｏ）や、2)  タイマ１００１の計時時刻とタイマ１００２の計時時刻との差が閾値未満である場合（ステップＳ１２；Ｎｏ）には、タイマ１００２の時刻修正を行わずに、ファイルの伝送処理に移る（ステップＳ１４）。
【００７９】
即ち、図６に示すように、アプリケーション３１は、ＡＰＩ３２からコマンドＣＩをエージェント１３に送って、セッション管理テーブル１３０の管理情報を取得し（ステップＳ２１，Ｓ２２）、続いて、セッションを占有する（ステップＳ２３、Ｓ２４）。
【００８０】
アプリケーション３１は、スケジュールテーブル３３から、アクセスするＵＲＬを読み出し、スケジュールテーブル３３から目的のファイルのファイルＩＤ、ユーザＩＤ、パスワードを読み出し、さらに、アップロードとアップロード・ダウンロードとダウンロードの別を指定して、ファイルの伝送処理実行をＡＰＩ３２に指示する。
【００８１】
次に、ＡＰＩ３２から、スケジュールテーブル３３から読み出した情報を引数として添えてコマンドＣＯをエージェント１３に送る（ステップＳ２５）。エージェント１３はコマンドＣＯに従ってセッション管理番号の指定を添えてＷｅｂブラウザ１１を起動し、Ｗｅｂサーバ２１にアクセスし、ＡＰＩ３２に応答する（ステップＳ２６）。これによりＷｅｂサーバ２１からＷｅｂブラウザ１１にアプレット１２がダウンロードされる（ステップＳ２７）。
【００８２】
アプレット１２はＷｅｂブラウザ１１で実行され、コマンドＣＰをエージェント１３に送る（ステップＳ２８）。 エージェント１３はセッション管理テーブル１３０の当該セッションの行の管理情報にＴＣＰポート番号を追加、すなわち、ＴＣＰ−Ｐｏｒｔ１３２に格納し、アプレット１２に応答する（ステップＳ２９）。
【００８３】
続いて、アプレット１２はコマンドＣＴＳを、時刻情報を引数としてエージェント１３に送る（ステップＳ３０）。エージェント１３は、受けとった時刻情報が閾値以上であるか否かを判断し、閾値以上であると判断した場合には、タイマ１００２の時刻を修正する。エージェント１３は、アプレット１２にコマンドＣＴＳに対する応答を送り、時刻修正が正常終了したことを通知する（ステップＳ３１）。ＡＰＩ３２はエージェント１３に対してコマンドＣＩを送る（ステップＳ３２）と、コマンドＣＩの応答として、セッション管理テーブル１３０の全管理情報を引数として送る（ステップＳ３３）。ＡＰＩ３２は、受けとったセッション管理テーブル１３０の全管理情報のＴＣＰ−Ｐｏｒｔ１３２に格納されているＴＣＰポート番号を用いて、アプレット１２に対して伝送を指示するコマンドＣＴを、ファイルのＩＤ情報、ユーザＩＤなどを引数として送る（ステップＳ３４）。
アプレット１２は、以後、指定されたファイルの伝送処理をサーブレット２２との間で実行する。アプレット１２は、ファイルの伝送を完了すると、コマンドＣＴに対する応答をＡＰＩ３２に返す（ステップＳ３５）。
【００８４】
なお、アプレット１２は、ファイル伝送処理中に、ＡＰＩ３２から問い合わせコマンドＣＳを受けると、初期状態、伝送中、伝送完了等の稼動状況を示す情報を添えて応答する。
【００８５】
ファイルの伝送完了に応答して、アプリケーション３１は、ＡＰＩ３２を介してＷｅｂブラウザ１１の終了を指示するコマンドＣＣをエージェント１３に送って、Ｗｅｂブラウザ１１を終了し（ステップＳ３６，Ｓ３７）、さらに、コマンドＣＵをエージェント１３に送って当該セッションにおいて占用したセッションを解放する（ステップＳ３８、Ｓ３９）。このようにして、この例では、アプレット１２が直接処理することができない時刻修正処理をエージェント１３を用いて実行することができる。
【００８６】
このファイル伝送処理の間、通信及び伝送の記録（ログ）が、Ｗｅｂサーバ端末２とＷｅｂクライアント端末４とでそれぞれＯＳにより生成される。ただし、ログは、先に同期させたタイマ１００１と１００２とに基づいて実行されるので、対応する内容となる。
【００８７】
なお、一例として、ファイルを伝送する例を示したが、修正されたタイマ１００２を用いてどのような動作を行うかは任意である。
【００８８】
また、時刻修正を行うか否かを決定する条件や、時刻合わせを実行するタイミングなどは任意である。
【００８９】
また、コンピュータを上述のＷｅｂクライアント装置４或いはＷｅｂサーバ端末２として動作させるアプリケーションプログラムやエージェントプログラムを記録媒体に格納して配布したり、搬送波に重畳してネットワークを介して送信したりしてもよい。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施の形態に係るネットワークシステムの構成例を示す図である。
【図２】図１に示す設定ファイルに格納される時刻修正条件を説明する為の図である。
【図３】セッション管理テーブルの一例を示す図である。
【図４】コマンドの例を示す図である。
【図５】Ｗｅｂクライアント端末の構成例を示す図である。
【図６】タイマ修正処理の手順を説明するための通信手順図である。
【図７】図１に示すシステムの応用例に係るファイル伝送システムの構成例を示す図である。
【図８】時刻修正処理及びファイル伝送処理の関係を説明する図である。
【符号の説明】
【００９１】
１  Ｗｅｂクライアント部
２  Ｗｅｂサーバ端末
３  アプリケーション部
４  Ｗｅｂクライアント端末
【図１】
2006099621.tif 000003
【図２】
2006099621.tif 000004
【図３】
2006099621.tif 000005
【図４】
2006099621.tif 000006
【図５】
2006099621.tif 000007
【図６】
2006099621.tif 000008
【図７】
2006099621.tif 000009
【図８】
2006099621.tif 000010