JP4215710B2 - クライアントへのデータ送信および更新データの実行制御方法 - Google Patents

クライアントへのデータ送信および更新データの実行制御方法 Download PDF

Info

Publication number
JP4215710B2
JP4215710B2 JP2004360628A JP2004360628A JP4215710B2 JP 4215710 B2 JP4215710 B2 JP 4215710B2 JP 2004360628 A JP2004360628 A JP 2004360628A JP 2004360628 A JP2004360628 A JP 2004360628A JP 4215710 B2 JP4215710 B2 JP 4215710B2
Authority
JP
Japan
Prior art keywords
client
server
time
transmission
static data
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
Application number
JP2004360628A
Other languages
English (en)
Other versions
JP2006171918A5 (ja
JP2006171918A (ja
Inventor
克尚 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2004360628A priority Critical patent/JP4215710B2/ja
Priority to CNA2005101144595A priority patent/CN1791105A/zh
Priority to US11/291,129 priority patent/US20060129661A1/en
Publication of JP2006171918A publication Critical patent/JP2006171918A/ja
Publication of JP2006171918A5 publication Critical patent/JP2006171918A5/ja
Application granted granted Critical
Publication of JP4215710B2 publication Critical patent/JP4215710B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、サーバと、このサーバに通信回線を介して接続される複数のクライアントと、通信ネットワークと、を備えたネットワークシステムを用いて、各クライアントのデータを更新させ、この更新したデータの実行を制限する方法に関する。
従来より、クライアントにて動作するアプリケーション・プログラムが、サーバから、ネットワークに接続する全てのクライアントへ配信され、このアプリケーション・プログラムのアップデートプログラム(更新データ)も、サーバから配信されることが行われている。
例えば、運送管理システムでは、全国の支店に備えられたクライアントが数十台から数百台あり、これに対してサーバは数台といったようなシステム構成であり、少数のサーバから多数のクライアントへアプリケーション・プログラムの更新データの送信が行われる。
このようなクライアントは、アプリケーション・プログラム(以下、適宜、「静的データ」)と、アプリケーション・プログラムにて使用するデータ(以下、「動的データ」)とを分離し、通常は、一のクライアントのみが、この動的データをサーバと通信する。このようなデータは、ファイルサイズが比較的小さく、かつ、送信元となるクライアントは1台程度なので、データ流量が通信回線を圧迫することはない。
しかしながら、アプリケーション・プログラムの更新を行う場合には、ファイルサイズが大きいこともあり、かつ、このアプリケーション・プログラムの更新が多数のクライアント分だけ発生するため、更新に伴うデータ流量が通信回線を圧迫することがある。
一方、システム内の複数のクライアントのアプリケーション・プログラムが更新されて、実行される際には、このシステム内の全てのクライアントが、同時に、新しいアプリケーション・プログラムの実行を開始できることが望まれる。例えば、クライアントが入力を行う項目の追加に関するアプリケーション・プログラムの変更がある場合には、この入力項目の追加に伴うサーバ側のデータベースにも、変更が発生する。この場合に、あるクライアントは、以前のデータ・フォーマット(新しい入力項目がないフォーマット)でサーバに動的データを送信し、他のクライアントは新しいデータ・フォーマット(新しい入力項目が含まれたフォーマット)でサーバに動的データを送信する。これにより、サーバは、以前のデータ・フォーマットと新しいデータ・フォーマットとの両方のデータを処理する必要が生じてしまう。
このように、両方のデータを処理することは、サーバの負荷が増加するという点から、回避できることが望ましい。したがって、システム内の全てのクライアントが、所定の時間に一斉に、更新されたアプリケーション・プログラムを使用できるように、時間的な制限を設けた更新データの使用を可能にする方法がシステムにとって、望ましい。
アプリケーション・プログラムを複数のクライアントが、サーバから取得して、利用する方法として、サーバが、クライアントからのアクセスを時間的に制限したコンテンツを提供し、そのコンテンツをクライアントが、所定の時間にのみ取得して利用する方法が知られている(特許文献1参照)。
この特許文献1に記載の方法によれば、配送スケジューリング装置とこの配送スケジューリング装置に通信回線を介して接続されるクライアントとを有するシステムにおいて、配送スケジューリング装置は、提供するコンテンツを公開開始時刻及び公開終了時刻で制御し、クライアントがコンテンツにアクセスできる時間を制限する。この時間的な制限により、クライアントは、略同一時刻にサーバからコンテンツを取得し、そのコンテンツを利用することが可能である。
特開平2002−108718号公報
しかしながら、上述したコンテンツの提供では、複数のクライアントが略同一時刻において、サーバに提供されたコンテンツを一斉に取得しようとする。そのため、クライアントがコンテンツを取得しようとすると、通信回線への負荷が高まり、コンテンツを取得できない状況が発生し、提供されたコンテンツを一斉に利用できないおそれがあった。
例えば、図7に示すように、クライアントは、静的データの取得・利用を以下のように行う。はじめに、クライアント60が所定のタイミングで、静的データの取得をサーバ50に対して要求する(S30)。この際に、クライアント60の静的データのバージョンや更新日時に関する情報をサーバ50に送信する。サーバ50が、これに応答して、対応した静的データをクライアント60に送信する(S31)。この際に、サーバ50は、更新した時間(T1)をクライアント60に、HTTP(HyperText Transfer Protocol)要求ヘッダのフィールド(Last−Modified T1)を用いて、送信する。
次に、クライアント60が更新された静的データの取得のために、「If−Modified−Since」(条件付GET)を発行する(S32)。ここで、「If−Modified−Since」とは、HTTP(HyperText Transfer Protocol)要求ヘッダのフィールドのひとつである。すなわち、サーバ50は、この条件付GETを受信すると、「If−Modified−Since」フィールドの後に示される時刻(ここではT1)よりも新しい静的データが記憶されているかを確認する。
「If−Modified−Since」フィールドの後に示される時刻(ここではT1)よりも新しい静的データがサーバ50に記憶されている場合には、サーバ50に記憶された静的データをクライアント60に送信する。「If−Modified−Since」フィールドの後に示される時刻(ここではT1)よりも新しい静的データが記憶されていない場合には、静的データの送信を行わない(S33)。
そして、クライアント60が更新された静的データをサーバ50から受信するとすぐに、現在使用している静的データをサーバ50から取得した新しい静的データに更新する。したがって、複数のクライアントが静的データの更新処理を一斉に行うと、通信回線の負荷が高くなる状況が発生し、サーバは新しい静的データを円滑に送信することができない。そのため、結果的に、システム内の全てのクライアントで、同時に新しい静的データを実行開始とさせることができなくなる。
そこで、本発明は、複数のクライアントが、アプリケーション・プログラムをサーバから取得して、実行する際に、サーバからの新しいアプリケーション・プログラムの送信を円滑にし、システム内の全てのクライアントが、更新されたアプリケーション・プログラムを、ある指定日時以降に、一斉に実行可能とすることができる方法およびシステムを提供することを目的とする。
本発明によれば、サーバと、複数のクライアントと、当該サーバと複数の当該クライアントとに接続される通信ネットワークとを備えるネットワークシステムに適用される方法であり、当該クライアントにおいて実行可能なファイルを、当該通信ネットワークを介して当該サーバが当該クライアントへ送信する第一送信ステップと、当該サーバが、当該ファイルの実行開始日時を示す実行開始日時データを当該通信ネットワークを介して当該クライアントへ送信する第二送信ステップと、当該クライアントが現在日時と当該実行開始日時データとに基づいて当該ファイルを実行するか否かを判断する実行判断ステップと、を有する方法を提供する。
したがって、クライアントにおいて実行可能なファイルを、通信ネットワークを介して、サーバがクライアントへ送信し、サーバが、このファイルの実行開始日時を示す実行開始日時データを当該通信ネットワークを介してクライアントへ送信し、このクライアントが現在日時と実行開始日時データとに基づいて、このファイルを実行するか否かを判断する。
本発明によれば、システム内の全てのクライアントは、新しいアプリケーション・プログラムを実行開始日時データに基づいて、実行開始日時以降に使用可能とすることができる。
以下、本発明の一実施形態を図面に基づいて説明する。
[ネットワークシステムの構成]図1は、本発明の一実施形態に係るサーバとクライアントの概略構成を示すシステムの構成図である。本実施の形態が適用されるネットワークシステム1は、企業内の通信ネットワーク2と、サーバ10と、ユーザが業務などで操作するクライアント20とを備える。これらのサーバ10とクライアント20は、通信ネットワーク2を介してデータを送受信する。
ネットワークシステム1は、複数のサーバ10と、複数のクライアント20とから構成されていてよい。ネットワークシステム1を構成する通信ネットワーク2は、サーバ10とクライアント20とを接続する専用線であってもよいし、インターネット等の公衆通信回線であってもよい。
サーバ10は、1以上のクライアント20に対して、アプリケーション・プログラムを送信する装置である。更新されたアプリケーション・プログラムは、サーバ10に記憶され、ネットワークシステム1に接続された全てのクライアント20に送信される。サーバ10は、制御装置11、主記憶装置13、通信装置14、補助記憶装置15、入力装置16、出力装置17、送信ファイル管理部12を備える。
制御装置11は、例えばCPU(中央処理装置(Central Processing Unit))であり、コンピュータの中心となる部分で、演算(計算)を行い、プログラムとデータの流れを制御する。主記憶装置13はプログラムやデータを記憶し、CPUから返された処理結果を記憶する。すなわち、コンピュータの働きの中心となるメモリであってよい。通信装置14は、サーバ10とクライアント20との間でのデータやパラメータの受け渡し、結果の受け取りを行う。
補助記憶装置15は、制御装置11からのアクセスが少ないデータや、入力装置16を介して入力されたデータなどを記憶する。補助記憶装置15には、例えば、フロッピー(登録商標)ディスクやハードディスク、DVD−ROM、CD-ROMなどがある。
入力装置16は、サーバ10に接続され、ユーザがコンピュータを操作する際に使用し、コンピュータの外部からさまざまな情報をコンピュータに与える。入力装置16には、例えば、キーボード、マウス、スキャナなどがある。出力装置17は、コンピュータの処理状況や処理結果を表示、印刷、音声のデータとして再生したりする。出力装置17には、例えば、ディスプレイ、プリンタ、スピーカなどがある。
送信ファイル管理部12は、クライアント20で使用するクライアントソフトウェア(後で説明するリッチクライアント等)のアプリケーション・プログラム(静的データ)のファイル管理を行うプログラムを備え、リッチクライアントの静的データの更新に必要な複数の静的データと、当該静的データの実行を開始できる実行開始日時データを管理する。すなわち、送信ファイル管理部12は、現時点で実行可能な静的データを判断し、この判断に基づいてクライアント20に静的データを送信する。したがって、送信ファイル管理部12は、このような送信判断手段を備える。また、送信ファイル管理部12は、送信する静的データと共に実行開始日時データを付加したヘッダを生成する。
送信ファイル管理部12は、クライアントに送信すべき新しい静的データが、サーバ10に記憶されていないと判断した場合に、サーバ10の現在の時刻に関する現在日時の情報を、クライアント20に送信してもよい。
送信ファイル管理部12は、更新する静的データを実行開始日時ごとに、補助記憶装置15のディレクトリを分けて記憶されてもよい。また、現時点で使用されている静的データが記憶されていてもよい。
送信ファイル管理部12は、ハードウェア的に独立した装置でなくてもよく、制御装置11と、主記憶装置13と、補助記憶装置15とから実現されてもよい。
クライアント20は、サーバから送信されたアプリケーション・プログラムを動作するコンピュータであり、アプリケーション・プログラムの更新データを受信して、この更新されたプログラムを実行する。クライアント20は、制御装置21、主記憶装置23、通信装置22、補助記憶装置25、入力装置27、出力装置28、キャッシュ管理部24を備える。
制御装置21、主記憶装置23、通信装置22、入力装置27、および出力装置28は、前述したサーバが備える制御装置11、主記憶装置13、通信装置14、入力装置16、および出力装置17と同様の機能を有する。ここで、制御装置21は、アプリケーション・プログラムを実行する実行手段を含む。
補助記憶装置25は、キャッシュ記憶部26を有する。そして、補助記憶装置25は、制御装置21からのアクセスが少ないデータや、入力装置27を介して入力されたデータなどを記憶する。補助記憶装置25には、例えば、フロッピー(登録商標)ディスクやハードディスク、DVD−ROM、CD-ROMなどがある。
キャッシュ記憶部26は、静的データを識別するための名前、静的データが更新されたことに関する情報(静的データ更新情報)、静的データの実行開始日時の情報などを記憶する。静的データ更新情報は、後述するように、例えば、静的データの過去の更新した日時(以下「更新日時」)であってもよいし、静的データに関するファイルの管理番号(バージョン番号)である「ファイルの番号」であってもよい。静的データの実行開始日時の情報は、静的データの格納場所(格納場所のディレクトリ、パス等)、静的データの実行開始日時(実行開始日時データ)などを含んでもよい。
キャッシュ記憶部26は、ハードディスク等の補助記憶装置25ではなく、主メモリである主記憶装置23に備えられていてもよい。
キャッシュ管理部24は、補助記憶装置25に記憶されたキャッシュ記憶部26を制御する。キャッシュ管理部24は、サーバ10に送信する要求ヘッダに、本発明の独自のヘッダを付加する。また、サーバ10の送信ファイル管理部12が付加した要求ヘッダと、クライアント20が記憶する静的データ更新情報、静的データの実行開始日時データを比較して、クライアント20で使用するべき静的データを選択し、選択した静的データをユーザに実行させるか判断する実行判断手段を含む。
[ネットワークシステムの作用] 図2を用いて、ネットワークシステム1の具体的な動作を説明する。ここでは一例として、静的データ更新情報が、「更新日時」である場合の説明を行う。
まず、クライアント20は、ユーザがクライアント20のリッチクライアントの使用を開始したタイミング等の、所定のタイミングで、更新されたアプリケーション・プログラム(クライアントにて実行可能なプログラム・ファイルである静的データ)が存在するかどうかをサーバ10に問合せる(ステップS1)。ここでは、サーバ10には、T1の時間に新しい静的データが記憶されていたため、サーバ10は、クライアント20からの問合せの受信に応答して、新しい更新日時T1の静的データA(T1)をクライアント20に送信する(ステップS2)。
そして、クライアント20は、所定のタイミングで再度、サーバ10に問合せを行う(ステップS3)。このとき、クライアント20のキャッシュ管理部24は、X−Use−Fromを要求ヘッダに付して、静的データA(T1)が、現在の日時においても、最新かどうかをサーバ10に問合せる(ステップS3)。
サーバ10には、日時T2に更新された静的データA(T2)が存在しており、かつ、システムに設定された所定の条件を満たしているならば、サーバ10は、クライアント20からの問合せに応答して、静的データA(T2)と静的データA(T2)の実行開始日時を記憶した要求ヘッダをクライアント20に送信する(ステップS4:第1送信ステップ)。このときに、サーバ10の送信ファイル管理部12は、「X−Use−From T3」としたヘッダを要求ヘッダ(例えば、HTTPヘッダ)に付加して、クライアント20にこの要求ヘッダを送信する(第2送信ステップ)。すなわち、この付加したヘッダとは、実行開始日時T3から、送信したアプリケーション・プログラム(静的データ)は実行可能であるという実行開始日時データである。
ここで、第1送信ステップと第2送信ステップとの順番が逆であってもよい。すなわち、これから送信する静的データの実行時刻データを送信しておき、その後に、実際の静的データを送信してもよい。
本例では、第1送信ステップと第2送信ステップは、同時に、サーバ10により行われる(ステップS4)が、個別のパケットがサーバからクライアント20へ送信されてもよい。
再度、所定のタイミングで、クライアント20が、静的データA(T2)が最新かどうかをサーバ10に問合せる(ステップS5)。サーバ10には、新しい静的データが記憶されていないとすると、サーバ10は、静的データA(T2)が最新の静的データであると判断する。この場合には、サーバ10は、送信する静的データがない情報(304)をクライアントに送信し、現在のサーバの日時T4(Date)を記憶したヘッダをクライアント20に送信する(ステップS6)。
クライアント20は、サーバ10の現在日時T4を記憶したヘッダを受信して、現在日時T4と実行開始日時データの実行開始日時T3とを比較して、現在の日時が実行開始日時を経過しているならば、クライアント20で使用する静的データを今まで使用していた静的データA(T1)から静的データA(T2)に切替え、実行可能とする(実行判断ステップ)。そして、ユーザからの要求があった場合には、クライアント20が、この新しい静的データ(ファイル)の実行を行う(実行ステップ)。現在日時が実行開始日時を経過していないならば、クライアント20で使用する静的データを今まで使用していた静的データA(T1)を継続して使用する。
例えば、クライアント20とサーバー10の日時の一致が保証される環境下では、クライアント20は、クライアント20が受信したサーバ10の現在日時ではなく、クライアント20の現在日時を実行開始日時と比較してもよい。
このように、1台のクライアント20が、静的データを更新して、実行開始日時から新しい静的データを実行できる。サーバ10は、ネットワークシステム1に接続された全てのクライアントに対して、このような更新作業を行う。したがって、サーバ10は、実行可能なファイルの送信(第1送信ステップ)を各クライアント20に対して、複数回、実行してもよい。
サーバ10が、各クライアント20に対して第1送信ステップを複数回行う場合には、サーバ20が、最後のクライアントに静的データを送信する時間が、実行開始日時より前である場合には、全てのクライアントに静的データの準備が完了した状態で、実行開始日時を待ち、実行開始日時後に、実行可能なファイルである静的データを実行する。
次に、静的データ更新情報が、静的データの「ファイル番号」である場合の説明を行う。ファイル番号とは、静的データのバージョン番号であってもよいし、静的データのシリアル番号であってもよい。
まず、クライアント20は、ユーザがクライアント20のアプリケーション・プログラムの使用を開始したタイミング等の、所定のタイミングで、更新された静的データが存在するかどうかをサーバ10に問合せる(ステップS1)。ここでは、サーバ10には、ファイル番号V1の新しい静的データが記憶されていたため、サーバ10は、クライアント20からの問合せの受信に応答して、新しいファイル番号V1の静的データA(V1)をクライアント20に送信する(ステップS2)。
そして、クライアント20は、所定のタイミングで再度、サーバ10に問合せを行う(ステップS3)。このとき、クライアント20のキャッシュ管理部24は、X−Use−Fromを要求ヘッダに付して、静的データA(V1)が、新しい静的データかどうかをサーバ10に問合せる(ステップS3)。
サーバ10には、更新された静的データA(V2)が存在しており、かつ、システムに設定された所定の条件を満たしているならば、サーバ10は、クライアント20からの問合せに応答して、静的データA(V2)と、静的データA(V2)の実行開始日時とを記憶した要求ヘッダをクライアント20に送信する(ステップS4:第1送信ステップ)。このときに、サーバ10の送信ファイル管理部12は、「X−Use−From T3」としたヘッダを要求ヘッダ(例えば、HTTPヘッダ)に付加して、クライアント20にこの要求ヘッダを送信する(第2送信ステップ)。すなわち、この付加したヘッダとは、実行開始日時T3から、送信した静的データは、使用可能であるという情報である。
再度、所定のタイミングで、クライアント20が、静的データA(V2)が最新かどうかをサーバ10に問合せる(ステップS5)。サーバ10には、新しい静的データが記憶されていないとすれば、サーバ10は、静的データA(V2)が最新の静的データであると判断する。この場合には、サーバ10は、クライアント20からの問合せに応答して、現在のサーバ10の日時T4(Date)を記憶したヘッダをクライアント20に送信する(ステップS6)。
クライアント20は、サーバ10からの現在日時T4を記憶したヘッダを受信して、現在日時T4と実行開始日時データのT3とを比較して、現在の日時が実行開始日時を経過しているならば、クライアント20で使用する静的データを今まで使用していた静的データA(V1)から静的データA(V2)に切替える。現在日時が実行開始日時を経過していないならば、クライアント20で使用する静的データを今まで使用していた静的データA(V1)を継続して使用する。
サーバ10から、クライアント20に送信するアプリケーション・プログラムとしては、クライアントで使用するユーザインターフェースに関するプログラムであってよい。このようなユーザインターフェースを実現するプログラムとして、リッチクライアントがある。リッチクライアントとは、クライアント20に備えられるサーバの情報を閲覧、変更、記録させるための機能であり、サーバから送信されたアプリケーション・プログラムにより動作するプログラムである。
[リッチクライアント] 図3、図4は、クライアント20の出力装置28に出力されたリッチクライアントの画面表示である。このリッチクライアントでは、「搬送作業依頼」に関するサービスを提供する。つまり、クライアント20から搬送作業の依頼を、このリッチクライアントから行うことで、通信ネットワーク2を介して、この依頼に関するデータ(動的データ)がサーバ10へ送信される。このように、リッチクライアントは、画面のレイアウトなどを定義する静的データと、画面上に表示されるデータを処理する動的データとを備える。
このようなリッチクライアントのファイルであるアプリケーションプログラムファイルを、サーバ10からクライアント20へ送信する際に、本発明が適用されてもよい。
図3に示すような搬送作業依頼のウィンドウに、「電話番号」の項目を増やして、さらに、全体のレイアウトを変更して、図4のウィンドウのようにする場合を想定する。この場合には、例えば、更新前の静的データが図3に示すウィンドウを表示するアプリケーション・プログラムであり、更新後の静的データが図4に示すウィンドウを表示するアプリケーション・プログラムである。したがって、上述の静的データA(T1)またはA(V1)が図3に示すウィンドウを表示するアプリケーション・プログラムであり、静的データA(T2)またはA(V2)が図4に示すウィンドウを表示するアプリケーション・プログラムである。
他の実施例としては、クライアントがウェブブラウザを備え、このウェブブラウザに新たな機能を追加するためのアプリケーション・プログラム(静的データ)が、サーバ10からクライアント20へ送信される際に、本発明が適用されてもよい。例えば、サーバ10はウェブサーバであり、クライアントはウェブブラウザを備え、サーバとクライアントがHTTPにより通信を行う際に、第1送信ステップで、HTTPのキャッシュ管理ヘッダを用いて、静的データのファイルを、サーバのキャッシュからウェブブラウザのキャッシュへ送信してもよい。
[サーバの作用] 図5を用いて、サーバ10の具体的な動作を説明する。まず、サーバ10が、クライアント20のキャッシュ管理部24から、所定のタイミングで、静的データを要求される(ステップS10)。この要求に応答して、サーバ10は、この要求を受信する。ステップS10での静的データの要求は、新しい静的データの要求のみではなく、静的データがクライアントのキャッシュ記憶部26に一つも記憶されていない場合に、静的データを要求する場合を含んでもよい。
次に、サーバ10の送信ファイル管理部12は、その要求ヘッダに「条件付GET」(If−Modified−Since)が含まれているかを確認する(ステップS11)。この判別がNOのときは、従来技術と同様に、所定の静的データAをクライアント20に送信する(ステップ16)。判別がYESのときは、送信ファイル管理部12は、条件付GETの時間(条件付GETのファイル番号)と、静的データAが更新された時間(静的データAのファイル番号)とを比較して、新しい静的データAがサーバ10に記憶されているか判別する(ステップS12)。
ステップS12の判別がYESのときは、送信ファイル管理部12は、静的データAより新しい実行開始日時の指定されている静的データBが存在するかを判別する(ステップS13)。この判別がNOならば、静的データを更新する必要がないので、「304 Not Modified」を送信することに加えて、サーバ10の時間情報である「Date」をクライアント20に送信する(ステップS17)。
ステップS13の判別がYESならば、サーバ10や通信ネットワーク2が「所定の条件」を満たすか判別する。
「所定の条件」とは、サーバ10が静的データを送信するための条件であるため、通信ネットワーク2の処理負荷を条件としてもよいし、サーバ10の処理負荷が高いかを条件としてもよい。さらに、予めユーザが定めた時間(期間)であるかを所定の条件としてもよい。すなわち、システム内のネットワークの負荷が下がる時間を予め指定しておき、この時間(もしくは所定の期間)であるかを所定の条件とすることができる。
ここで、通信ネットワーク2の利用率が高いかを判断する条件は、その通信回線の通信速度に対して、送信するファイル量によって判断される。例えば、10メガbit/sの通信速度であるLANにおいて、3メガByte=24メガbitのファイルを送信した場合には、このファイル送信のみで、CSMA/CD(Carrier Sense Multiple Access with Collision Detection)方式では、LAN全体が2秒強、占有されてしまう。このように、通信ネットワーク2が所定の時間(例えば1秒間)占有されてしまう場合には、ネットワークの通信負荷が高いと判断してもよい。
また、サーバ10の処理負荷が高いかを判断する条件は、サーバ10の制御装置11(CPU等)の使用率(50%以上等)により判断してもよいし、サーバ10の主記憶装置13(メインメモリ等)の使用率(50%以上等)により判断してもよい。
加えて、「所定の条件」として、要求のあったクライアント20の静的データの更新した回数をサーバ10が記憶しておき、その回数が所定の回数であるかどうかを、「所定の条件」としてもよい。また、要求のあったクライアント20にて現在、動作する静的データのバージョンと、サーバ10が送信しようとする静的データとを比較して、両バージョンが異なる場合には、「所定の条件」を満たすとしてもよい。
ステップS14がYESならば、クライアント20に静的データB、静的データ(Bの)実行開始日時、(Bの)更新日時の送信をする。ここで、静的データの実行開始日時は、「X−Use−From」に設定されて、クライアント20に送信される(ステップS15)。クライアント20では、この新しい静的データ、静的データ更新情報、更新日時を、受信して、キャッシュ記憶部26に記憶されていたこれらの情報を更新する。ステップS14がNOならば、ステップS17へ移る。
[クライアントの作用] 図6を用いて、クライアント20の具体的な動作を説明する。クライアント20が、所定のタイミングで静的データをサーバ10に要求する(ステップS20)。この時点で、静的データがキャッシュ管理部24に存在するかを判断する(ステップS21)。ここでの判断は、静的データが古いバージョンを含めて、一つでもキャッシュ管理部24に記憶されているかを判断する。静的データがキャッシュ管理部24に存在しないならば、「条件無しGET」によりサーバ10から静的データAを取得する(ステップS25)。
「条件無しGET」とは、「If−Modified−Since」のヘッダを要求ヘッダに負荷しないで、静的データを要求するHTTPの要求である。静的データが全くキャッシュ管理部24に記憶されていない場合には、とりあえず、条件等がない状態で、クライアント20は、静的データを要求して取得する。
静的データAを取得した後に、クライアント20の静的データを静的データAに更新(利用可能)する(ステップS26)。すなわち、この場合には、実行開始日時の指定がないため、静的データの取得後に、すぐに使用可能となる。
ステップS21がYESならば、静的データAの更新日時で、「条件付きGET」をサーバ10へ送信する(ステップS22)。これに対する応答として、サーバ10から「304 Not Modified」と「Date」とを受信した場合には、サーバから受信した日時情報(Date)により、クライアント20で使用する静的データを決定する(ステップS24)。すなわち、日時情報が、静的データの実行開始日時を経過しているならば、クライアント20は、新しく取得した静的データを使用開始とし、経過していないならば、現在使用している静的データを維持する。
ステップS23がNOならば、サーバ10から「200 Last−Modified」を受信して、サーバから静的データを取得する(ステップS27)。この場合には、受信した要求ヘッダに「X−Use−From」が付されているかの判断が行われる(ステップS28)。ステップS28がNO(付されてない)ならば、クライアント20の静的データを静的データAに更新(利用可能)とする(ステップS26)。すなわち、この場合には、実行開始日時の指定がないため、静的データの取得後に、すぐに使用可能となる。
ステップS28が、YES(「X−Use−From」が付されている)ならば、静的データ更新情報の更新日時と静的データ実行開始日時とを、更新した時間の情報と「X−Use−From」の時間と、から更新する(ステップS29)。その後、サーバ10から得た更新日時と、静的データ実行開始時間とを比較して、更新日時が静的データ実行開始時間を経過していると判断した場合には、クライアント20は、新しく取得した静的データを使用開始とし、経過していないならば、現在使用している静的データを維持する(ステップS24)。
例えば、図5、図6における実施形態では、更新日時を、静的データ更新情報としていたが、静的データ更新情報を、ファイル番号の情報とすることもできる。すなわち、ステップS12が、「条件付GETのファイル番号よりも新しい静的データA」として、図6のステップS22が、「静的データAのファイル番号で条件付GETを送信する」、ステップS29が「キャッシュ管理部内のファイル番号情報、静的データ、実行開始日時を更新する」として、ファイル番号により静的データを更新するべきかを判断してもよい。
このような実施形態を実現するシステム、方法を、コンピュータ、クライアント、サーバにて実行するためのプログラムにより実現することができる。このプログラムのための記憶媒体としては、光学記憶媒体、テープ媒体、半導体メモリ等が挙げられる。また、専用通信ネットワークやインターネットに接続されたサーバに設けられたハードディスク又はRAM等の記憶装置を記憶媒体として使用し、ネットワークを介してプログラムを提供してもよい。
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。例えば、本発明は、JAVA(登録商標)サーブレットにより機能が拡張されるウェブサーバや、クライアントのウェブブラウザに対して適用されてもよい。
以上、本発明の実施形態を説明したが、具体例を例示したに過ぎない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載された効果に限定されない。
本発明の実施例であるネットワークシステムの構成を示す図である。 本発明の実施例であるネットワークシステムのフローチャート図である。 本発明に用いられるクライアントの画面イメージの一例を示す図である。 本発明に用いられるクライアントの画面イメージの一例を示す図である。 本発明の実施例であるサーバのフローチャート図である。 本発明に用いられるクライアントのフローチャート図である。 従来のクライアントのデータ更新を行うシステムのフローチャート図である。
符号の説明
1 ネットワークシステム
2 通信ネットワーク
10 サーバ
11 制御装置
12 送信ファイル管理部
13 主記憶装置
14 通信装置
15 補助記憶装置
16 入力装置
17 出力装置
20 クライアント
21 制御装置
22 通信装置
23 主記憶装置
24 キャッシュ管理部
25 補助記憶装置
26 キャッシュ記憶部
27 入力装置
28 出力装置

Claims (19)

  1. サーバと、複数のクライアントと、当該サーバと複数の当該クライアントとに接続される通信ネットワークとを備えるネットワークシステムに適用される方法であり、
    前記サーバと前記クライアントとはHTTPにより前記通信ネットワークを介して通信を行っており、
    前記サーバは、前記クライアントにおいて実行可能なファイルを前記通信ネットワークを介して前記クライアントへ送信するとともに、前記HTTPのHTTPヘッダに前記実行可能なファイルの実行開始日時を示す実行開始日時データを含めて前記クライアントに送信し、前記クライアントからの問い合わせに応じて前記実行可能なファイルが最新であると判断すると当該サーバが管理する現在日時を前記クライアントへ送信する送信ステップを行い
    前記クライアントは前記現在日時と前記実行開始日時データとに基づいて前記実行可能なファイルを実行するか否かを判断する実行判断ステップを行う方法。
  2. 前記実行判断ステップでは、前記現在日時が前記実行開始日時以降の場合に前記実行可能なファイルを実行すると判断する請求項1に記載の方法。
  3. 前記実行判断ステップにおいて前記実行可能なファイルを実行すると判断した場合には、前記クライアント当該実行可能なファイルを実行する実行ステップを行う請求項1又は2に記載の方法。
  4. 前記実行可能なファイルは、アプリケーションプログラムのファイルを含み、前記実行判断ステップでは、前記クライアントにおいて、前記アプリケーションプログラムを更新するか否かを判断する請求項1から3のいずれか一項に記載の方法。
  5. 前記クライアントは、ウェブブラウザを備え、前記アプリケーションプログラムのファイルは、当該ウェブブラウザへ機能追加をするアプリケーションプログラムのファイルである請求項4に記載の方法。
  6. 前記送信ステップを前記実行開始日時前に行う請求項1から5のいずれか一項に記載の方法。
  7. 前記複数のクライアントへ送信するための複数の送信ステップを複数回に分けて行う請求項1から6のいずれか一項に記載の方法。
  8. 前記複数のクライアントに対応する複数の送信ステップを複数回に分けて行い、最終回に対応する送信ステップを前記実行開始日時前に行う請求項1から7のいずれか一項に記載の方法。
  9. 前記送信ステップの前に、当該送信ステップを行うか否かを判断する送信判断ステップを有する請求項1から8のいずれか一項に記載の方法
  10. 前記送信判断ステップにおいて、当該送信ステップを行うか否かを判断する際に、前記サーバが記憶するファイルのバージョンと前記クライアントが記憶するファイルのバージョンとを比較し、両バージョンが相違する場合に前記送信ステップを行うと判断する請求項9に記載の方法。
  11. 前記サーバと前記クライアントとはHTTPにより前記通信ネットワークを介して通信を行い、
    前記両バージョンの相違前記クライアントから送信された要求に当該HTTPの「If−Modified−Sinceヘッダ」が含まれているか否かによって判断する請求項10に記載の方法。
  12. 前記送信判断ステップでは、当該サーバの処理負荷が所定値以下の場合に前記送信ステップを行うと判断する請求項9から11のいずれか一項に記載の方法。
  13. 前記送信判断ステップでは、前記通信ネットワークの通信負荷が所定値以下の場合に前記送信ステップを行うと判断する請求項9から11のいずれか一項に記載の方法。
  14. 前記送信判断ステップでは、前記現在日時が送信時刻に達した場合に前記送信ステップを行うと判断する請求項9から11のいずれか一項に記載の方法。
  15. サーバと、複数のクライアントと、当該サーバと当該クライアントとに接続される通信ネットワークとを備えるネットワークシステムであり、
    前記サーバと前記クライアントとはHTTPにより前記通信ネットワークを介して通信を行っており、
    前記サーバは、前記クライアントにおいて実行可能なファイルを前記通信ネットワークを介して前記クライアントへ送信するとともに、前記HTTPのHTTPヘッダに前記実行可能なファイルの実行開始日時を示す実行開始日時データを含めて前記クライアントに送信し、前記クライアントからの問い合わせに応じて前記実行可能なファイルが最新であると判断すると当該サーバが管理する現在日時を前記クライアントへ送信する送信手段を有し、
    前記クライアントは、前記現在日時と前記実行開始日時データとに基づいて前記実行可能なファイルを実行するか否かを判断する実行判断手段を有するシステム。
  16. 前記各クライアントは、前記実行判断手段の判断に基づいて当該ファイルを実行する実行手段を有する請求項15に記載のシステム
  17. 前記送信手段は、前記ファイルを複数回に分けて前記複数のクライアントに送信する請求項15又は16に記載のシステム。
  18. 前記サーバは、前記ファイルを送信するかを判断する送信判断手段を有する請求項15から17のいずれか一項に記載のシステム。
  19. 互いに通信ネットワークで接続されるサーバと、複数のクライアントとを備えるネットワークシステムに使用するためのコンピュータプログラムであり、
    前記サーバと前記クライアントとはHTTPにより前記通信ネットワークを介して通信を行っており、
    前記サーバとしてのコンピュータに、前記クライアントにおいて実行可能なファイルを前記通信ネットワークを介して前記クライアントへ送信するとともに、前記HTTPのHTTPヘッダに前記実行可能なファイルの実行開始日時を示す実行開始日時データを含めて前記クライアントに送信し、前記クライアントからの問い合わせに応じて前記実行可能なファイルが最新であると判断すると当該サーバが管理する現在日時を前記クライアントへ送信する送信機能を実現させ、
    前記クライアントとしてのコンピュータに、前記現在日時と前記実行開始日時データとに基づいて前記実行可能なファイルを実行するか否かを判断する実行判断機能を実現させるコンピュータプログラム。
JP2004360628A 2004-12-13 2004-12-13 クライアントへのデータ送信および更新データの実行制御方法 Expired - Fee Related JP4215710B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004360628A JP4215710B2 (ja) 2004-12-13 2004-12-13 クライアントへのデータ送信および更新データの実行制御方法
CNA2005101144595A CN1791105A (zh) 2004-12-13 2005-10-24 控制到客户机的数据传送及更新数据的执行的方法
US11/291,129 US20060129661A1 (en) 2004-12-13 2005-11-30 Controlling execution of files transmitted to clients

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004360628A JP4215710B2 (ja) 2004-12-13 2004-12-13 クライアントへのデータ送信および更新データの実行制御方法

Publications (3)

Publication Number Publication Date
JP2006171918A JP2006171918A (ja) 2006-06-29
JP2006171918A5 JP2006171918A5 (ja) 2007-12-13
JP4215710B2 true JP4215710B2 (ja) 2009-01-28

Family

ID=36585354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004360628A Expired - Fee Related JP4215710B2 (ja) 2004-12-13 2004-12-13 クライアントへのデータ送信および更新データの実行制御方法

Country Status (3)

Country Link
US (1) US20060129661A1 (ja)
JP (1) JP4215710B2 (ja)
CN (1) CN1791105A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046708A (ja) 2006-08-11 2008-02-28 Sharp Corp データ処理装置、プログラム管理装置、制御プログラム更新方法、プログラム管理方法、プログラム管理システム、更新プログラムおよび記録媒体
WO2009139437A1 (ja) * 2008-05-14 2009-11-19 日本電気株式会社 クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法
US20100029306A1 (en) * 2008-07-31 2010-02-04 Sybase, Inc. Mobile Banking with Short Message Service
KR101273201B1 (ko) * 2009-10-27 2013-06-14 한국전자통신연구원 통신 시스템에서 단말 소프트웨어의 동시 업데이트 방법 및 장치
CN102196506B (zh) * 2010-03-15 2013-12-04 华为技术有限公司 网络资源访问控制方法、系统及装置
JP5569077B2 (ja) * 2010-03-19 2014-08-13 ヤマハ株式会社 情報管理システムおよびサーバ装置
JP5839664B2 (ja) * 2011-07-12 2016-01-06 株式会社日立システムズ ソフトウェア配布サーバ、ソフトウェア配布方法、ソフトウェア配布プログラム、および記録媒体
JP6119572B2 (ja) * 2013-11-20 2017-04-26 サクサ株式会社 無線端末装置、外部管理端末装置、及びネットワークシステム
JP6631343B2 (ja) * 2016-03-16 2020-01-15 株式会社リコー ファームウェア更新システム、クラウドシステム、および情報処理装置
JP7013978B2 (ja) * 2018-03-19 2022-02-01 株式会社リコー 情報処理システム、情報処理方法および情報処理プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255064A (ja) * 1988-04-05 1989-10-11 Fujitsu Ltd 適用日時指定によるダウンロード処理方式
JPH07334436A (ja) * 1994-06-06 1995-12-22 Mitsubishi Electric Corp ソフトウエア自動配布方式
US6074434A (en) * 1996-06-07 2000-06-13 International Business Machines Corporation Selection of code updates, data updates or new data for client
US6356956B1 (en) * 1996-09-17 2002-03-12 Microsoft Corporation Time-triggered portable data objects
JP2001034479A (ja) * 1999-07-19 2001-02-09 Nec Corp ソフトウェア配布システム
US6748447B1 (en) * 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
JP2004021325A (ja) * 2002-06-12 2004-01-22 Toshiba Corp 通信制御装置及び通信制御方法
JP2004220079A (ja) * 2003-01-09 2004-08-05 Fuji Xerox Co Ltd ソフトウェア管理方法および装置並びにプログラム
US7634570B2 (en) * 2003-03-12 2009-12-15 Microsoft Corporation Managing state information across communication sessions between a client and a server via a stateless protocol

Also Published As

Publication number Publication date
CN1791105A (zh) 2006-06-21
JP2006171918A (ja) 2006-06-29
US20060129661A1 (en) 2006-06-15

Similar Documents

Publication Publication Date Title
US9298747B2 (en) Deployable, consistent, and extensible computing environment platform
US8161160B2 (en) XML-based web feed for web access of remote resources
US9148488B2 (en) Configuration domains for the configuration of web services and consumer proxies
US7653640B2 (en) Two-way and multi-master synchronization over web syndications
US20060129661A1 (en) Controlling execution of files transmitted to clients
US20070033290A1 (en) Normalization and customization of syndication feeds
CN103559056B (zh) 文件下载方法和装置
US20060075336A1 (en) Method, system and program product for providing content over a network
US7996840B2 (en) Method, system, and apparatus for scheduling pattern based web services
US20050022120A1 (en) Electronic apparatus and Web page generating method
US7289989B2 (en) Pattern based web services
US7584284B2 (en) Path-token-based web service caching method
US8086562B2 (en) Arrangement for anonymous API downloaded resources for advanced content
JP2005055983A (ja) サービス管理方法、サービス管理装置および制御プログラム
JP4326464B2 (ja) アプリケーションシステム及び分散データを同期させる方法
US20050028162A1 (en) System, method and program product for maintaining session information during dynamic resource additions or updates
JP2003150342A (ja) ドライバ管理システム
JP4738556B2 (ja) 分散運用システムおよび記録媒体
KR100597586B1 (ko) 세션 관리 기능을 이용한 데이터 동기화 방법
JP4714463B2 (ja) ユーザ端末装置及びWebアプリケーション間でデータを継承する方法
US20070162593A1 (en) Abstracting help calls using a documentation abstraction layer
JP5083197B2 (ja) コンピュータ、記録媒体、および分散処理システム
JP5178734B2 (ja) P2pシステムにおけるピア管理サーバー及びピア管理方法
JP4367141B2 (ja) 指示記述内容変更装置及び指示記述内容変更プログラム
JP2005115717A (ja) 情報処理システム及び情報処理方法、並びにサーバ装置等

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071031

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071221

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080730

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: 20081028

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20081028

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081104

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: 20111114

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees