JP4710171B2 - Program execution method and system using the same - Google Patents
Program execution method and system using the same Download PDFInfo
- Publication number
- JP4710171B2 JP4710171B2 JP2001172159A JP2001172159A JP4710171B2 JP 4710171 B2 JP4710171 B2 JP 4710171B2 JP 2001172159 A JP2001172159 A JP 2001172159A JP 2001172159 A JP2001172159 A JP 2001172159A JP 4710171 B2 JP4710171 B2 JP 4710171B2
- Authority
- JP
- Japan
- Prior art keywords
- class
- cache
- user interface
- stored
- classes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ネットワークを介してプログラムを配信して動作させるプログラム実行方法及びこれを用いたシステムに関し、特に最新のプログラムの利用を担保しながらプログラム起動時間を短縮することが可能なプログラム実行方法及びこれを用いたシステムに関する。
【0002】
【従来の技術】
従来のネットワークを介してプログラムを配信して動作させるプログラム実行方法には大きく2つの種類に分類される。すなわち、プログラムファイルをユーザ側のマシンに配信して実行する方法、及び、動的にプログラムをユーザ側のマシンのメモリ上で動作させる方法である。
【0003】
前者の方法としては、例えば、FTP(File Transfer Protocol)等のファイル転送ソフトを用いてプログラムファイルをユーザ側のマシンに転送して実行したり、ユーザがブラウザを用いてWebサーバからプログラムファイルをダウンロードして実行する。
【0004】
また、後者の方法としては、例えば、ユーザ側からの動的なプログラム実行命令によりWebサーバからプログラムの実行部分がユーザ側のマシンのメモリ上にダウンロードされ実行される。
【0005】
例えば、前者の方法としては本願出願人の出願に係る「特願平2000−217473号」に記載されたプログラム実行方法及びこれを用いたシステムが存在する。
【0006】
図6はこのようなプログラム実行方法及びこれを用いたシステムの一例を示す構成ブロック図である。図6において1は管理サーバ、2はWebサーバ、3はクライアントマシン、4及び5はリモートマシンである。
【0007】
管理サーバ1、Webサーバ2、クライアントマシン3、リモートマシン4及び5は図示しないネットワークにより相互に接続される。
【0008】
ここで、図6に示す従来例の動作を説明する。管理サーバ1はWebサーバ2に格納されている図6中”WA01”,”WA02”及び”WA03”に示すプログラムである”Worker(以下、単にWorkerと呼ぶ。)”をネットワークを介してリモートマシン4及び5にダウンロードさせる。
【0009】
これと同時に、Webサーバ2に格納されている図6中”WG01”,”WG02”及び”WG03”に示すWorkerと通信をしてユーザからの指示を与えたり、Workerからのデータを表示するユーザインターフェース・プログラムである”WorkerGUI(以下、単にWorkerGUIと呼ぶ。)”をクライアントマシン3にダウンロードさせる。
【0010】
そして、ユーザはクライアントマシン3で動的に実行されるWorkerGUIを用いてリモートマシン4及び5で実行されているWorkerとの間で通信を行うことにより仮想的にWorkerをクライアントマシン3上で実行させることができる。
【0011】
この結果、クライアントマシン3に使用済みのプログラムファイルが残存せず、リモートマシン4及び5上で実行されているWorkerを選択することにより、柔軟性が高く様々なプログラムを動作させることが可能になる。
【0012】
さらに、図6に示す実施例の動作を図7、図8、図9及び図10を用いて詳細に説明する。図7はWorker及びWorkerGUIの登録等を説明する説明図、図8はクライアントマシン3の動作を説明するフロー図、図9は管理サーバ1の動作を説明するフロー図、図10はリモートマシン4及び5の動作を説明するフロー図である。
【0013】
但し、以下の説明においては”WG01”及び”WA01”はプログラム本体ではなくクラスファイルとして取り扱う。
【0014】
図7において1及び2と”WG01”、”WG02”、”WG03”、”WA01”、”WA02”及び”WA03”は図6と同一符号を付してあり、6はWorker及びWorkerGUIの開発等を行うマシンである。
【0015】
管理者は、予め、図7中”NR11”に示すようにマシン6で作成したクライアントが使用する可能性のある様々なWorkerのクラスを管理サーバ1上で稼動している管理プログラムであるWorkerManagerに登録する。また、図7中”UL11”に示すようにWorkerクラス及び対応するWorkerGUIクラスのクラスペアをWebサーバ2に格納しておく。
【0016】
先ず第1にクライアントマシン3では、図8中”S001”においてクライアントマシン3は管理サーバ1で稼動されているWorkerManagerとの間で通信等を行う予めインストールされているプロセスであるWorkerManagerGUIを起動する。
【0017】
図8中”S002”においてクライアントマシン3はWorkerManagerGUIを介してWorkerManagerに登録されているWorkerラスから使用したいWorkerクラスを選択し、このWorkerクラスをクラスダウンロードさせるリモートマシンを選択し、WorkerManagerに生成を依頼する。
【0018】
例えば、図6中”RQ01”に示すようにWorkerManagerに対して、図6中”WA01”及び”WA02”のWorkerクラスをそれぞれリモートマシン4及び5にクラスダウンロードさせるように選択する。
【0019】
図8中”S003”においてクライアントマシン3は選択したWorkerクラスに対応するWorkerGUIクラスの格納先であるWebサーバ2のアドレスをWorkerManagerから通知され、このアドレスのWebサーバ2にアクセスして、WorkerGUIクラスをWorkerManagerGUI内にクラスダウンロードする。
【0020】
例えば、図6中”DL01”に示すようにWebサーバ2から図6中”WA01”及び”WA02”にそれぞれ対応する図6中”WG01”及び”WG02”に示すWorkerGUIクラスを図6中”WMG1”に示すWorkerManagerGUI内にクラスダウンロードする。
【0021】
図8中”S004”においてクライアントマシン7はインスタンスをWorkerManagerGUI内に生成してWorkerGUIを起動し、図8中”S005”においてリモートマシン上で稼動しているWorkerと通信を開始してWorkerに対して適宜処理を行わせる。
【0022】
例えば、図6中”MC01”に示すように起動されたWokerGUIである”WG01’”はリモートマシン5上で起動されたWorkerである”WA01’”との間で通信を行い、図6中”MC02”に示すように起動されたWokerGUIである”WG02’”はリモートマシン4上で起動されたWorkerである”WA02’”との間で通信を行う。
【0023】
また、管理サーバ1では、図9中”S101”において管理サーバ1はWorkerのクラスを管理するWorkerManagerを起動する。そして、図9中”S102”においてクライアントマシン3で稼動しているWorkerManagerGUIからWorkerの生成依頼があったか否かを判断する。
【0024】
もし、図9中”S102”においてWorkerManagerGUIからWorkerの生成依頼があった場合には、図9中”S103”において管理サーバ1はWorkerManagerGUIからクラスダウンロード先として指定されたリモートマシンに選択されたWorkerの生成を指示する。
【0025】
例えば、図6中”IW01”及び”IW02”に示すようにリモートマシン5及び4に対してクラスダウンロードすべきWorkerクラス名と当該Workerクラスの格納先であるWebサーバ2のアドレスを通知する。
【0026】
図9中”S104”において管理サーバ1は選択されたWorkerクラスに対応するWokerGUIクラスの格納先であるWebサーバ2のアドレスをクライアントマシン3に通知する。
【0027】
最後に、リモートマシン4及び5では、図10中”S201”においてWorkerの動作領域を提供するプロセスであるWorkerSpaceを起動させる。例えば、リモートマシン5は図6中”WS01”に示すようなWorkerSpaceを起動し、リモートマシン4は図6中”WS02”に示すようなWorkerSpaceを起動する。
【0028】
そして、図10中”S202”においてリモートマシン4及び5はWorkerManagerからWorkerの生成指示があったか否かを判断し、Workerの生成指示があった場合には図10中”S203”において指定されたWorkerクラスをWorkerSpace内にクラスダウンロードする。
【0029】
例えば、WorkerManagerからクラスダウンロードすべきWorkerクラス名と当該Workerクラスの格納先であるWebサーバ2のアドレスが通知され、図6中”WA01”及び”WA02”のWorkerクラスをそれぞれリモートマシン5及び4にクラスダウンロードするように指示された場合を考える。
【0030】
リモートマシン5では図6中”DL02”に示すようにWebサーバ2から図6中”WA01”に示すWorkerクラスを図6中”WS01”に示すWorkerSpaceにクラスダウンロードする。
【0031】
同様に、リモートマシン4では図6中”DL03”に示すようにWebサーバ2から図6中”WA02”に示すWorkerクラスを図6中”WS02”に示すWorkerSpaceにクラスダウンロードする。
【0032】
そして、図10中”S204”においてリモートマシン4及び5はインスタンスをWorkerSpace内にそれぞれ生成してそれぞれのWorkerを起動し、図10中”S205”においてクライアントマシン3上で稼動しているWorkerGUIと通信を開始する。
【0033】
例えば、図6中”MC01”に示すようにリモートマシン5上の起動されたWorkerである”WA01’”はクライアントマシン3上の起動された一方のWokerGUIである”WG01’”との間で通信を行い、図6中”MC02”に示すようにリモートマシン4上の起動されたWorkerである”WA02’”はクライアントマシン3上の起動された他方のWokerGUIである”WG02’”との間で通信を行う。
【0034】
すなわち、リモートマシン上でWorkerSpaceを動作させることにより、様々な種類のWorkerクラスを動的にクラスダウンロードしてWorkerを起動できるために、いちいちリモートマシン上に様々なプログラムをインストールする必要性がなくなる。
【0035】
また、クライアントマシン3にはWorkerManagerGUIのみをインストールしておけば動的に様々なWorkerGUIクラスをクラスダウンロードしてリモートマシン上で稼動するWorkerと通信ができるので柔軟性が高く様々なプログラムをリモートで動作させることが可能になる。
【0036】
さらに、WorkerManagerによりWorkerクラスと対応するWorkerGUIクラスが対になって管理されているために、リモートマシンとクライアントマシンとの間のバージョンの整合性が保証される。
【0037】
【発明が解決しようとする課題】
しかし、図6に示す従来例ではクライアントマシン3やリモートマシン4及び5はネットワークを介してWorkerクラスやWorkerGUIクラスをクラスダウンロードするので、プログラムを実行する度に毎回ネットワークを介してWorkerクラス等をクラスダウンロードすることになり、ダウンロード時間がかかってWorker等のプログラムの起動時間が長くなってしまうと言った問題点があった。
【0038】
安定したLAN(Local Area Network)等のネットワーク環境では特段の問題を生じる恐れは少ないものの、公衆回線を用いたリモート接続等の貧弱なネットワーク環境の場合には問題が顕著化してしまう。
【0039】
例えば、”100kB”のサイズのWorkerを”33.6kbps”の通信速度のモデムを用いてダウンロードする場合を想定すると、10秒〜30秒程度のダウンロード時間を要してしまい、結果的にWorker等のプログラムの起動時間が長くなってしまう。
【0040】
このため、ダウンロードによるオーバーヘッドを削減するために、ダウンロードしたデータをキャッシュに格納して再利用する方法が一般的に考えられるものの、起動時に毎回Workerをダウンロードすることにより最新のWorkerを利用できると言った従来例の特徴が失われてしまうと言った問題点があった。
【0041】
例えば、ユーザがキャッシュするしないの選択を任意のWorkerに自由に指定したり、キャッシュの内容をリセットするタイミングを自由にした場合には従来例の特徴が失われてしまう。
従って本発明が解決しようとする課題は、最新のプログラムの利用を担保しながらプログラム起動時間を短縮することが可能なプログラム実行方法及びこれを用いたシステムを実現することにある。
【0042】
【課題を解決するための手段】
このような課題を達成するために、本発明のうち請求項1記載の発明は、
クライアント側のプロセスの生成依頼に基づきリモート側のプロセスがクラスをクラスダウンロードして実行し、クライアント側のプロセスがクラスダウンロードして実行させた、前記クラスとの通信を行うためのユーザインターフェース・クラスを介して前記クラスとの間で通信を行うプログラム実行方法において、
キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記ユーザインターフェース・クラスが前記クライアント側のキャッシュに蓄積されている場合には蓄積されている前記ユーザインターフェース・クラスを再利用し、
前記キャッシュに存在しない場合には前記ユーザインターフェース・クラスをクラスダウンロードして実行すると共に前記ユーザインターフェース・クラスを前記キャッシュに蓄積することにより、キャッシュ可否コードが付加されたユーザインターフェース・プログラムが蓄積されている場合にはダウンロードが発生しないので、ダウンロードによるオーバーヘッドがなくなりプログラム起動時間が短縮される。
【0043】
請求項2記載の発明は、
請求項1記載の発明であるプログラム実行方法において、
クライアント側の前記プロセスで実行されている前記ユーザインターフェース・クラスが全て破棄された場合には、該ユーザインターフェース・クラスと少なくとも前記キャッシュ可否コードを含むコードベース情報が同一である前記ユーザインターフェース・クラスであって前記キャッシュ内に蓄積されている前記ユーザインターフェース・クラスを廃棄することにより、次回の起動時にはら最新の前記ユーザインターフェース・プログラムがダウンロードされて最新のプログラムの利用が担保される。
【0044】
請求項3記載の発明は、
請求項1記載の発明であるプログラム実行方法において、
同じ種類の前記ユーザインターフェース・クラスが全て破棄されてから前記ユーザインターフェース・クラスの登録情報であって、ユーザインターフェース・クラスが格納されているサーバのURL(Uniform Resource Locator)でサーバにより管理される登録情報、に付加されている時間情報に相当する時間経過後に前記キャッシュ内に蓄積された同じ種類の前記ユーザインターフェース・クラスを廃棄することにより、今後更新の予定がない、若しくは、更新が既に中止されているユーザインターフェース・プログラムに関して無駄なダウンロードを発生させないので起動時間が短縮される。また、最新のユーザインターフェース・プログラムの切り換えタイミングを調整することが可能になる。
【0045】
請求項4記載の発明は、
クライアント側のプロセスの生成依頼に基づきリモート側のプロセスがクラスをダウンロードして実行し、クライアント側のプロセスがクラスダウンロードして実行させた、前記クラスとの通信を行うためのユーザインターフェース・クラスを介して前記プログラムとの間で通信を行うプログラム実行方法において、
キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記クラスが前記リモート側のキャッシュに蓄積されている場合には蓄積されている前記クラスを再利用し、
前記キャッシュに存在しない場合には前記クラスをクラスダウンロードして実行すると共に前記クラスを前記キャッシュに蓄積することにより、キャッシュ可否コードが付加されたプログラムが蓄積されている場合にはダウンロードが発生しないので、ダウンロードによるオーバーヘッドがなくなりプログラム起動時間が短縮される。
【0046】
請求項5記載の発明は、
請求項4記載の発明であるプログラム実行方法において、
リモート側の前記プロセスで実行されている前記クラスが全て破棄された場合には、該クラスと少なくとも前記キャッシュ可否コードを含むコードベース情報が同一である前記クラスであって前記キャッシュ内に蓄積されている前記クラスを廃棄することにより、次回の起動時にはら最新の前記プログラムがダウンロードされて最新のプログラムの利用が担保される。
【0047】
請求項6記載の発明は、
請求項4記載の発明であるプログラム実行方法において、
同じ種類の前記クラスが全て破棄されてから前記クラスの登録情報であって、ユーザインターフェース・クラスが格納されているサーバのURL(Uniform Resource Locator)でサーバにより管理される登録情報、に付加されている時間情報に相当する時間経過後に前記キャッシュ内に蓄積された同じ種類の前記クラスを廃棄することにより、今後更新の予定がない、若しくは、更新が既に中止されているプログラムに関して無駄なダウンロードを発生させないので起動時間が短縮される。また、最新のプログラムの切り換えタイミングを調整することが可能になる。
【0048】
請求項7記載の発明は、
ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
前記クラスと、前記クラスとの通信を行うユーザインターフェース・クラスとを管理すると共にクライアント側のプロセスの生成依頼に基づき前記クラスを前記プロセスの動作中にクラスダウンロードして実行するサーバと、
前記サーバと通信をすると共に前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にクラスダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンとを備え、
前記クライアントマシンが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記ユーザインターフェース・クラスがキャッシュに蓄積されている場合には蓄積されている前記ユーザインターフェース・クラスを再利用し、前記キャッシュに存在しない場合には前記サーバから前記ユーザインターフェース・クラスをクラスダウンロードして実行させると共に前記ユーザインターフェース・クラスを前記キャッシュに蓄積することにより、キャッシュ可否コードが付加されたユーザインターフェース・プログラムが蓄積されている場合にはダウンロードが発生しないので、ダウンロードによるオーバーヘッドがなくなりプログラム起動時間が短縮される。
【0049】
請求項8記載の発明は、
ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
前記クラスと、前記クラスとの通信を行うユーザインターフェース・クラスとを管理するサーバと、
クライアント側のプロセスの生成依頼に基づき前記クラスを前記プロセスの動作中にクラスダウンロードして実行するリモートマシンと、
前記サーバと通信をすると共に前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にクラスダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記リモートマシンにクラスダウンロードされた前記クラスとの間で通信を行うクライアントマシンとを備え、
前記クライアントマシンが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記ユーザインターフェース・クラスがキャッシュに蓄積されている場合には蓄積されている前記ユーザインターフェース・クラスを再利用し、前記キャッシュに存在しない場合には前記サーバから前記ユーザインターフェース・クラスをクラスダウンロードして実行させると共に前記ユーザインターフェース・クラスを前記キャッシュに蓄積することにより、キャッシュ可否コードが付加されたユーザインターフェース・プログラムが蓄積されている場合にはダウンロードが発生しないので、ダウンロードによるオーバーヘッドがなくなりプログラム起動時間が短縮される。
【0050】
請求項9記載の発明は、
ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
前記クラスと、前記プログラムとの通信を行うユーザインターフェース・クラスとが格納されたWebサーバと、
前記クラス及び前記ユーザインターフェース・クラスの登録管理を行う管理サーバと、
クライアント側のプロセスの生成依頼に基づき前記クラスをプロセス中にダウンロードして実行するリモートマシンと、
前記管理サーバと通信をすると共に前記Webサーバから前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にクラスダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記リモートマシンにクラスダウンロードされた前記クラスとの間で通信を行うクライアントマシンとを備え、
前記クライアントマシンが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記ユーザインターフェース・クラスがキャッシュに蓄積されている場合には蓄積されている前記ユーザインターフェース・クラスを再利用し、前記キャッシュに存在しない場合には前記Webサーバから前記ユーザインターフェース・クラスをクラスダウンロードして実行させると共に前記ユーザインターフェース・クラスを前記キャッシュに蓄積することにより、キャッシュ可否コードが付加されたユーザインターフェース・プログラムが蓄積されている場合にはダウンロードが発生しないので、ダウンロードによるオーバーヘッドがなくなりプログラム起動時間が短縮される。
【0051】
請求項10記載の発明は、
請求項7〜請求項9のいずれかに記載の発明であるシステムにおいて、
前記クライアントマシンが、
前記プロセスで実行されている前記ユーザインターフェース・クラスが全て破棄された場合には、該ユーザインターフェース・クラスと少なくとも前記キャッシュ可否コードを含むコードベース情報が同一である前記ユーザインターフェース・クラスであって前記キャッシュ内に蓄積されている前記ユーザインターフェース・クラスを廃棄することにより、次回の起動時にはら最新の前記ユーザインターフェース・プログラムがダウンロードされて最新のプログラムの利用が担保される。
【0052】
請求項11記載の発明は、
請求項7乃至請求項9記載の発明であるシステムにおいて、
前記クライアントマシンが、
同じ種類の前記ユーザインターフェース・クラスが全て破棄されてから前記ユーザインターフェース・クラスの登録情報であって、前記各サーバの少なくともいずれかにより管理されユーザインターフェース・クラスが格納されている前記サーバのURL(Uniform Resource Locator)である登録情報、に付加されている時間情報に相当する時間経過後に前記キャッシュ内に蓄積された同じ種類の前記ユーザインターフェース・クラスを廃棄することにより、今後更新の予定がない、若しくは、更新が既に中止されているユーザインターフェース・プログラムに関して無駄なダウンロードを発生させないので起動時間が短縮される。また、最新のユーザインターフェース・プログラムの切り換えタイミングを調整することが可能になる。
【0053】
請求項12記載の発明は、
ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
前記クラスと、前記クラスとの通信を行うユーザインターフェース・クラスとを管理すると共にクライアント側のプロセスの生成依頼に基づき前記プログラムをプロセス中にクラスダウンロードして実行するサーバと、
前記サーバと通信をすると共に前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にクラスダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記プログラムとの間で通信を行うクライアントマシンとを備え、
前記サーバが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記クラスがキャッシュに蓄積されている場合には蓄積されている前記プログラムを再利用し、前記キャッシュに存在しない場合には前記サーバから前記クラスをクラスダウンロードして実行させると共に前記クラスを前記キャッシュに蓄積することにより、キャッシュ可否コードが付加されたプログラムが蓄積されている場合にはダウンロードが発生しないので、ダウンロードによるオーバーヘッドがなくなりプログラム起動時間が短縮される。
【0054】
請求項13記載の発明は、
ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
前記クラスと、前記クラスとの通信を行うユーザインターフェース・クラスとを管理するサーバと、
クライアント側のプロセスの生成依頼に基づき前記クラスをプロセス中にクラスダウンロードして実行するリモートマシンと、
前記サーバと通信をすると共に前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記プログラムとの間で通信を行うクライアントマシンとを備え、
前記リモートマシンが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記クラスがキャッシュに蓄積されている場合には蓄積されている前記クラスを再利用し、前記キャッシュに存在しない場合には前記サーバから前記クラスをクラスダウンロードして実行させると共に前記クラスを前記キャッシュに蓄積することにより、キャッシュ可否コードが付加されたプログラムが蓄積されている場合にはダウンロードが発生しないので、ダウンロードによるオーバーヘッドがなくなりプログラム起動時間が短縮される。
【0055】
請求項14記載の発明は、
ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
前記クラスと、前記クラスとの通信を行うユーザインターフェース・クラスとが格納されたWebサーバと、
前記プログラム及び前記ユーザインターフェース・クラスの登録管理を行う管理サーバと、
クライアント側のプロセスの生成依頼に基づき前記クラスをプロセス中にクラスダウンロードして実行するリモートマシンと、
前記管理サーバと通信をすると共に前記Webサーバから前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にクラスダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンとを備え、
前記リモートマシンが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記クラスがキャッシュに蓄積されている場合には蓄積されている前記クラスを再利用し、前記キャッシュに存在しない場合には前記Webサーバから前記クラスをクラスダウンロードして実行させると共に前記クラスを前記キャッシュに蓄積することにより、キャッシュ可否コードが付加されたプログラムが蓄積されている場合にはダウンロードが発生しないので、ダウンロードによるオーバーヘッドがなくなりプログラム起動時間が短縮される。
【0056】
請求項15記載の発明は、
請求項12〜請求項14のいずれかに記載の発明であるシステムにおいて、
前記サーバ若しくは前記リモートマシンが、
前記プロセスで実行されている前記クラスが全て破棄された場合には、該クラスと少なくとも前記キャッシュ可否コードを含むコードベース情報が同一である前記クラスであって前記キャッシュ内に蓄積されている前記クラスを廃棄することにより、次回の起動時にはら最新の前記プログラムがダウンロードされて最新のプログラムの利用が担保される。
【0057】
請求項16記載の発明は、
請求項12〜請求項14のいずれかに記載の発明であるシステムにおいて、
前記サーバ若しくは前記リモートマシンが、
同じ種類の前記クラスが全て破棄されてから前記プログラムの登録情報であって、前記管理サーバにより管理されユーザインターフェース・クラスが格納されている前記WebサーバのURL(Uniform Resource Locator)である登録情報、に付加されている時間情報に相当する時間経過後に前記キャッシュ内に蓄積された同じ種類の前記クラスを廃棄することにより、今後更新の予定がない、若しくは、更新が既に中止されているプログラムに関して無駄なダウンロードを発生させないので起動時間が短縮される。また、最新のプログラムの切り換えタイミングを調整することが可能になる。
【0058】
【発明の実施の形態】
以下本発明を図面を用いて詳細に説明する。図1は本発明に係るプログラム実行方法を用いたシステムの一実施例を示す構成ブロック図である。図1において1及び2は図6と同一符号を付してあり、7はクライアントマシン、8はリモートマシンである。
【0059】
管理サーバ1、Webサーバ2、クライアントマシン7、リモートマシン8は図示しないネットワークにより相互に接続される。
【0060】
また、図1中”WMG2”に示すWorkerManagerGUIには図1中”CH21”に示すようなクラスダウンロードしたWorkerGUIクラスを一時保存するWorkerGUIキャッシュが設けられる。
【0061】
同様に、図1中”WS21”に示すWorkerSpaceには図1中”CH22”に示すようなクラスダウンロードしたWorkerクラスを一時保存するWorkerキャッシュが設けられる。
【0062】
一方、図1中”RI21”に示す管理サーバ1上で稼動している管理プログラムであるWorkerManagerが管理するWorker及びWorkerGUIの登録情報に必要に応じて「キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する」旨を意味するコード(以下、単にキャッシュ可否コードと呼ぶ。)を付加する。
【0063】
例えば、前記登録情報としてはWorkerやWorkerGUIの格納されているWebサーバのURL(Uniform Resource Locator)等であり、当該URLの文字列の先頭等に必要に応じてキャッシュ可否コードである”cache:”なる文字列を付加する。
【0064】
ここで、図1に示す実施例の動作を図2、図3、図4及び図5を用いて説明する。図2はクライアントマシン7のキャッシュ動作を説明するフロー図、図3はクライアントマシン7の破棄動作を説明するフロー図、図4はリモートマシン8のキャッシュ動作を説明するフロー図、図5はリモートマシン8のキャッシュ破棄動作を説明するフロー図である。但し、図2及び図4おいてキャッシュ動作以外は図6に示す従来例の動作と同様なので説明は省略する。
【0065】
図2中”S301”においてクライアントマシン7は管理サーバ1から選択したWorkerに対するWorkerGUIクラスの格納先を通知されると、そのURLを分析して先頭に”cache:”なるキャッシュ可否コードが付加されているか否かを判断する。
【0066】
すなわち、「キャッシュに蓄えられたWorkerGUIクラスを利用可能な場合には当該WorkerGUIクラスを利用する」か否かを判断する。
【0067】
もし、図2中”S301”において、キャッシュ可否コードが付加されている場合には、図2中”S302”においてクライアントマシン7は図1中”CH21”に示すWorkerGUIキャッシュに当該WorkerGUIクラスが蓄積されているか否かを判断する。
【0068】
もし、図2中”S302”において、WorkerGUIキャッシュに当該WorkerGUIクラスが蓄積されている場合には、図2中”S303”においてクライアントマシン7はWorkerGUIキャッシュから選択したWorkerに対応するWorkerGUIクラスをWorkerManagerGUI内にロードする。
【0069】
一方、図2中”S301”においてキャッシュ可否コードが付加されていない場合、若しくは、図2中”S302”においてWorkerGUIクラスがWorkerGUIキャッシュに蓄積されていない場合には、図2中”S304”においてクライアントマシン7は図1中”DL21”に示すようにWebサーバ2から選択したWorkerクラスに対応するWorkerGUIクラスをWorkerManagerGUI内にクラスダウンロードすると共に図1中”ST21”に示すように当該WorkerGUIクラスを図1中”CH21”に示すWorkerGUIキャッシュに格納する。
【0070】
そして、図2中”S305”においてクライアントマシン7はインスタンスをWorkerManagerGUI内に生成してWorkerGUIを起動する。
【0071】
この結果、キャッシュ可否コードが付加されたWorkerGUIクラスは、WorkerGUIキャッシュに当該WorkerGUIクラスが蓄積されている場合にはWebサーバ2からクライアントマシン8へのクラスダウンロードが発生しないので、ダウンロードによるオーバーヘッドがなくなりプログラム起動時間が短縮される。
【0072】
例えば、”100kB”のサイズのWorkerGUIクラスを”33.6kbps”の通信速度のモデムを用いてクラスダウンロードする場合を想定すると、従来必要としていた10秒〜30秒程度のダウンロード時間が”0”になり、WorkerGUIの起動時間が大幅に短縮される。
【0073】
一方、図3中”S401”においてクライアントマシン7はWorkerManagerGUI内のインスタンスをモニタし、WorkerGUIインスタンスが破棄されたか否かを判断する。
【0074】
もし、図3中”S401”においてWorkerGUIインスタンスが破棄された場合には、図3中”S402”においてクライアントマシン7はWorkerManagerGUI内に同じ種類のWorkerGUIインスタンスが存在するか否かを判断する。
【0075】
ここで、同じ種類のWokerGUIインスタンスとは、管理サーバ1上で稼動している管理プログラムであるWorkerManagerのWorkerGUIの登録情報に記載されているWorkerGUI名及びキャッシュ可否コード等のコードベース情報が同一のもの同士のWorkerGUIインスタンスを指す。
【0076】
図3中”S402”において同じ種類のWorkerGUIインスタンスが存在しない、言い換えれば、同じ種類のWorkerGUIインスタンスが全て破棄された場合には、図3中”S403”においてクライアントマシン7はWorkerGUIキャッシュ内の該当するWorkerGUIクラスを破棄する。
【0077】
この結果、WorkerManagerGUI内に同じ種類のWorkerGUIインスタンスが存在する限りにおいては、WorkerGUIキャッシュ内のWorkerGUIクラスが再利用されるものの、同じ種類のWorkerGUIインスタンスが全て破棄されるとWorkerGUIキャッシュ内の該当するWorkerGUIクラスは破棄されるので、次回の起動時にはWebサーバ2から最新のWorkerGUIクラスがクラスダウンロードされて最新のプログラムの利用が担保される。
【0078】
また、図4中”S501”においてリモートマシン8は管理サーバ1からクライアントマシン7が選択したWorkerのWorkerクラスの格納先を通知されると、そのURLを分析して先頭に”cache:”なるキャッシュ可否コードが付加されているか否かを判断する。
【0079】
すなわち、「キャッシュに蓄えられたWorkerクラスを利用可能な場合には当該Workerクラスを利用する」か否かを判断する。
【0080】
もし、図4中”S501”において、キャッシュ可否コードが付加されている場合には、図4中”S502”においてリモートマシン8は図1中”CH22”に示すWorkerキャッシュに当該Workerクラスが蓄積されているか否かを判断する。
【0081】
もし、図4中”S502”において、Workerキャッシュに当該Workerクラスが蓄積されている場合には、図4中”S503”においてリモートマシン8はWorkerキャッシュからWorkerクラスをWorkerSpace内にロードする。
【0082】
一方、図4中”S501”においてキャッシュ可否コードが付加されていない場合、若しくは、図4中”S502”においてWorkerクラスがWorkerキャッシュに蓄積されていない場合には、図4中”S504”においてリモートマシン8は図1中”DL22”に示すようにWebサーバ2から選択されたWorkerクラスをWorkerSpace内にクラスダウンロードすると共に図1中”ST22”に示すように当該Workerクラスを図1中”CH22”に示すWorkerキャッシュに格納する。
【0083】
そして、図4中”S505”においてリモートマシン8はインスタンスをWorkerSpace内に生成してWorkerを起動する。
【0084】
この結果、キャッシュ可否コードが付加されたWorkerクラスは、Workerキャッシュに当該Workerクラスが蓄積されている場合にはWebサーバ2からリモートマシン8へのクラスダウンロードが発生しないので、ダウンロードによるオーバーヘッドがなくなりプログラム起動時間が短縮される。
【0085】
例えば、”100kB”のサイズのWorkerクラスを”33.6kbps”の通信速度のモデムを用いてクラスダウンロードする場合を想定すると、従来必要としていた10秒〜30秒程度のダウンロード時間が”0”になり、Workerの起動時間が大幅に短縮される。
【0086】
一方、図5中”S601”においてリモートマシン8はWorkerSpace内のインスタンスをモニタし、Workerインスタンスが破棄されたか否かを判断する。
【0087】
もし、図5中”S601”においてWorkerインスタンスが破棄された場合には、図5中”S602”においてリモートマシン8はWorkerSpace内に同じ種類のWorkerインスタンスが存在するか否かを判断する。
【0088】
ここで、同じ種類のWokerインスタンスとは、管理サーバ1上で稼動している管理プログラムであるWorkerManagerのWorkerの登録情報に記載されているWorker名及びキャッシュ可否コード等のコードベース情報が同一のもの同士のWorkerインスタンスを指す。
【0089】
図5中”S602”において同じ種類のWorkerインスタンスが存在しない、言い換えれば、同じ種類のWorkerインスタンスが全て破棄された場合には、図5中”S603”においてリモートマシン8はWorkerキャッシュ内の該当するWorkerクラスを破棄する。
【0090】
この結果、WorkerSpace内に同じ種類のWorkerインスタンスが存在する限りにおいては、Workerキャッシュ内のWorkerクラスが再利用されるものの、同じ種類のWorkerインスタンスが全て破棄されるとWorkerキャッシュ内の該当するWorkerクラスは破棄されるので、次回の起動時にはWebサーバ2から最新のWorkerクラスがクラスダウンロードされて最新のプログラムの利用が担保される。
【0091】
なお、図1に示す実施例では説明の簡単のために、WorkerManagerが動作する管理サーバ1と、Workerクラス及びWorkerGUIクラスが格納されるWebサーバ2と、WorkerSpaceが動作するリモートマシン8を個々に分けているがネットワークのトラフィックやマシンスペックの諸条件が許せば全ての役割を1台のマシンに集約したり、役割を統合しても構わない。
【0092】
例えば、管理サーバ1とWebサーバ2を統合したり、Webサーバ2とリモートマシン8とを統合しても構わない。
【0093】
また、キャッシュを利用するかしないかは管理者が管理サーバ1へWorker及びWorkerGUIを登録する際に設定できるのでWorker等の管理が容易になる。
【0094】
例えば、短い周期でWorker及びWorkerGUIが次々とアップグレードされることが予測される場合には、管理者は当該Worker及びWorkerGUIの登録情報に”cache:”なるコードを付加しない。
【0095】
この場合には、全てのクライアントマシンに対して、必ず最新のWorkerクラス及びWorkerGUIの使用を自動的に強制することが可能になる。
【0096】
また、例えば、Worker及びWorkerGUIが安定していてほとんどアップグレードが行われないことが予測される場合には、管理者は当該Worker及びWorkerGUIの登録情報に”cache:”なるコードを付加する。
【0097】
この場合には、全てのクライアントマシンが2個以降のWroker及びWorkerGUIの起動時間が大幅に短縮することが可能になる。
【0098】
また、図3及び図5の説明に際しては、WorkerManagerGUI(若しくは、WorkerSpace)内で同じ種類のWorkerGUI(若しくは、Worker)インスタンスが全て破棄された場合に、WorkerGUIキャッシュ(若しくは、Workerキャッシュ)内の該当するWorkerGUI(若しくは、Worker)クラスを破棄しているが、キャッシュ内のクラスの破棄方法はこれに限定される訳ではない。
【0099】
すなわち、WorkerGUI(若しくは、Worker)の登録情報であるURLの文字列に時間情報を付加し、同じ種類のインスタンスが全て破棄されてから前記時間情報に相当する時間経過後にキャッシュ内の該当するクラスを破棄しても構わない。
【0100】
この場合には、今後更新の予定がない、若しくは、更新が既に中止されているWorkerGUI(若しくは、Worker)に関して無駄なクラスダウンロードを発生させないので、WorkerGUI(若しくは、Worker)の起動時間が短縮される。
【0101】
また、前記時間情報の値に関しては”0”〜”無限大”の値にから任意に選択することが可能である。
【0102】
すなわち、このような時間情報を適宜選択することにより、キャッシュ可否コードが登録情報に付加されたWorkerGUI(若しくはWorker)の最新のWorker(若しくは、WorkerGUI)の切り換えタイミングを調整することが可能になる。
【0103】
【発明の効果】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項1,4,7,8,9,12,13及び請求項14の発明によれば、キャッシュ可否コードが付加されたWorlerGUIクラス(Workerクラス)は、WorkerGUIキャッシュ(Workerキャッシュ)に当該WorkerGUIクラス(Workerクラス)が蓄積されている場合にはクラスダウンロードが発生しないので、ダウンロードによるオーバーヘッドがなくなりプログラム起動時間が短縮される。
【0104】
また、請求項2,5,10及び請求項15の発明によれば、WorkerManagerGUI(WorkerSpace)内に同じ種類のWorkerGUIインスタンス(Workerインスタンス)が存在する限りにおいては、WorkerGUIキャッシュ(Workerキャッシュ)内のWorkerGUIクラス(Workerクラス)が再利用されるものの、同じ種類のWorkerGUIインスタンス(Workerインスタンス)が全て破棄されるとWorkerGUIキャッシュ(WorkerSpace)内の該当するWorkerGUIクラス(Workerクラス)は破棄されるので、次回の起動時には最新のWorkerGUIクラス(Workerクラス)がクラスダウンロードされて最新のプログラムの利用が担保される。
【0105】
また、請求項3,6,11及び請求項16の発明によれば、WorkerGUI(若しくは、Worker)の登録情報に時間情報を付加し、同じ種類のインスタンスが全て破棄されてから前記時間情報に相当する時間経過後にキャッシュ内の該当するクラスを破棄することにより、今後更新の予定がない、若しくは、更新が既に中止されているWorkerGUI(若しくは、Worker)に関して無駄なクラスダウンロードを発生させないので、WorkerGUI(若しくは、Worker)の起動時間が短縮される。また、最新のWorker(若しくは、WorkerGUI)の切り換えタイミングを調整することが可能になる。
【図面の簡単な説明】
【図1】本発明に係るプログラム実行方法を用いたシステムの一実施例を示す構成ブロック図である。
【図2】クライアントマシンのキャッシュ動作を説明するフロー図である。
【図3】クライアントマシンの破棄動作を説明するフロー図である。
【図4】リモートマシンのキャッシュ動作を説明するフロー図である。
【図5】リモートマシンのキャッシュ破棄動作を説明するフロー図である。
【図6】プログラム実行方法及びこれを用いたシステムの一例を示す構成ブロック図である。
【図7】Worker及びWorkerGUIの登録等を説明する説明図である。
【図8】クライアントマシンの動作を説明するフロー図である。
【図9】管理サーバの動作を説明するフロー図である。
【図10】リモートマシンの動作を説明するフロー図である。
【符号の説明】
1 管理サーバ
2 Webサーバ
3,7 クライアントマシン
4,5,8 リモートマシン
6 マシン[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a program execution method for distributing and operating a program via a network and a system using the same, and more particularly to a program execution method capable of reducing the program start time while ensuring the use of the latest program and The present invention relates to a system using this.
[0002]
[Prior art]
There are roughly two types of program execution methods for distributing and operating a program via a conventional network. That is, there are a method of distributing and executing a program file to a user side machine, and a method of dynamically operating a program on a memory of a user side machine.
[0003]
As the former method, for example, the program file is transferred to a user machine using a file transfer software such as FTP (File Transfer Protocol) and executed, or the user downloads the program file from a Web server using a browser. And run.
[0004]
As the latter method, for example, a program execution portion is downloaded from a Web server to a memory of a user side machine and executed by a dynamic program execution instruction from the user side.
[0005]
For example, as the former method, there is a program execution method described in “Japanese Patent Application No. 2000-217473” and a system using the same.
[0006]
FIG. 6 is a configuration block diagram showing an example of such a program execution method and a system using the method. In FIG. 6, 1 is a management server, 2 is a Web server, 3 is a client machine, and 4 and 5 are remote machines.
[0007]
The
[0008]
Here, the operation of the conventional example shown in FIG. 6 will be described. The
[0009]
At the same time, the user who communicates with the workers shown in “WG01”, “WG02” and “WG03” in FIG. 6 stored in the
[0010]
The user then virtually executes the worker on the
[0011]
As a result, the used program file does not remain in the
[0012]
Further, the operation of the embodiment shown in FIG. 6 will be described in detail with reference to FIGS. 7, 8, 9 and 10. FIG. 7 is an explanatory diagram for explaining the registration of the worker and the worker GUI, FIG. 8 is a flowchart for explaining the operation of the
[0013]
However, in the following description, “WG01” and “WA01” are treated as class files, not as program bodies.
[0014]
In FIG. 7, 1 and 2 and “WG01”, “WG02”, “WG03”, “WA01”, “WA02” and “WA03” are assigned the same reference numerals as in FIG. 6, and 6 is the development of the Worker and WorkerGUI, etc. It is a machine that performs.
[0015]
As shown in “NR11” in FIG. 7, the administrator preliminarily assigns various worker classes created by the machine 6 to the worker manager that is a management program running on the
[0016]
First, in the
[0017]
In FIG. 8, in “S002”, the
[0018]
For example, as shown by “RQ01” in FIG. 6, the worker manager is selected to have the remote machines 4 and 5 download class classes of “WA01” and “WA02” in FIG. 6, respectively.
[0019]
In “S003” in FIG. 8, the
[0020]
For example, as indicated by “DL01” in FIG. 6, the worker GUI classes indicated by “WG01” and “WG02” in FIG. 6 corresponding to “WA01” and “WA02” in FIG. The class is downloaded into the worker manager GUI shown in FIG.
[0021]
In “S004” in FIG. 8, the client machine 7 creates an instance in the WorkerManagerGUI and starts the WorkerGUI. In “S005” in FIG. 8, the client machine 7 starts communication with the worker running on the remote machine and Proper processing is performed.
[0022]
For example, “WG01 ′”, which is a walker GUI activated as indicated by “MC01” in FIG. 6, communicates with “WA01 ′”, which is a worker activated on the remote machine 5. As shown in MC02 ”, the“ WG02 ′ ”, which is the waker GUI activated, communicates with“ WA02 ”, which is the waker activated on the remote machine 4.
[0023]
Further, in the
[0024]
If there is a worker generation request from the worker manager GUI in “S102” in FIG. 9, the
[0025]
For example, as shown by “IW01” and “IW02” in FIG. 6, the remote class 5 and 4 are notified of the class name of the worker class to be downloaded and the address of the
[0026]
In “S104” in FIG. 9, the
[0027]
Finally, in the remote machines 4 and 5, “Space201” in FIG. 10 activates WorkerSpace, which is a process for providing the operation area of the worker. For example, the remote machine 5 activates a WorkerSpace as indicated by “WS01” in FIG. 6, and the remote machine 4 activates a WorkerSpace as indicated by “WS02” in FIG.
[0028]
Then, in “S202” in FIG. 10, the remote machines 4 and 5 determine whether or not there is a worker generation instruction from the worker manager, and if there is a worker generation instruction, the worker specified in “S203” in FIG. Download the class into the WorkerSpace.
[0029]
For example, the worker manager is notified of the name of the worker class to be downloaded and the address of the
[0030]
The remote machine 5 downloads the class of the worker class indicated by “WA01” in FIG. 6 from the
[0031]
Similarly, the remote machine 4 downloads the class of the worker indicated by “WA02” in FIG. 6 from the
[0032]
Then, in “S204” in FIG. 10, the remote machines 4 and 5 generate instances in the worker space and start each worker, and in “S205” in FIG. 10, communicate with the worker GUI running on the
[0033]
For example, as shown by “MC01” in FIG. 6, “WA01 ′”, which is a worker activated on the remote machine 5, communicates with “WG01”, which is one of the activated worker GUIs on the
[0034]
That is, by operating the WorkerSpace on the remote machine, it is possible to dynamically download various types of worker classes and start the workers, thereby eliminating the need to install various programs on the remote machine.
[0035]
Also, if you install only the WorkerManagerGUI on the
[0036]
Furthermore, since the worker manager and the worker GUI class corresponding to the worker class are managed as a pair, version consistency between the remote machine and the client machine is guaranteed.
[0037]
[Problems to be solved by the invention]
However, in the conventional example shown in FIG. 6, since the
[0038]
In a stable network environment such as a LAN (Local Area Network), there is little risk of causing a particular problem, but in a poor network environment such as remote connection using a public line, the problem becomes significant.
[0039]
For example, assuming that a worker having a size of “100 kB” is downloaded using a modem having a communication speed of “33.6 kbps”, a download time of about 10 to 30 seconds is required. The startup time of the program will be longer.
[0040]
For this reason, in order to reduce the overhead caused by downloading, a method of storing downloaded data in a cache and reusing it is generally considered, but it is said that the latest worker can be used by downloading the worker every time at startup. There was a problem that the characteristic of the conventional example was lost.
[0041]
For example, when the user freely designates the selection of not caching as an arbitrary worker, or when the timing of resetting the contents of the cache is freely set, the characteristics of the conventional example are lost.
Therefore, the problem to be solved by the present invention is to realize a program execution method and a system using the same, which can shorten the program activation time while ensuring the use of the latest program.
[0042]
[Means for Solving the Problems]
In order to achieve such a problem, the invention according to
Based on the request to create the client side process, the remote side process class The class Download and run Shi The client-side process class Downloaded and executed For communicating with the class User interface class Through the above class Communicate with U In the program execution method,
If the data stored in the cache is available, this code means that the data will be used The user interface with the cacheability code added class Is stored in the client-side cache, the stored user interface class Reuse
If not in the cache, the user interface class The class Download and execute the user interface class Is stored in the cache, the download does not occur when the user interface program to which the cache enable / disable code is added is stored, so the overhead due to the download is eliminated and the program startup time is shortened.
[0043]
The invention according to
In the program execution method which is invention of
Running in the client-side process Said User interface class Is completely destroyed The user interface class has the same code base information including at least the cacheability code as the user interface class. Stored in the cache ing The user interface class By discarding, the latest user interface program is downloaded at the next startup and the use of the latest program is secured.
[0044]
The invention described in
In the program execution method which is invention of
The same kind of user interface class The user interface class Registration information Registration information managed by the server at the URL (Uniform Resource Locator) of the server where the user interface class is stored, The user interface of the same type stored in the cache after a lapse of time corresponding to the time information added to class By discarding, the activation time is shortened because unnecessary downloads are not generated for user interface programs that are not scheduled to be updated in the future or whose update has already been canceled. It is also possible to adjust the switching timing of the latest user interface program.
[0045]
The invention according to claim 4
Based on the request to create the client side process, the remote side process class Download and run Shi The client-side process class Downloaded and executed, For communicating with the class User interface class To communicate with the program via U In the program execution method,
If the data stored in the cache is available, this code means that the data will be used The above cache added code class Is stored in the remote cache, the stored class Reuse
If it does not exist in the cache, class The class Download and execute class Is stored in the cache, download does not occur when a program to which a cache enable / disable code is added is stored, so that overhead due to download is eliminated and program activation time is shortened.
[0046]
The invention according to claim 5
In the program execution method which is invention of Claim 4,
Running in the remote process Said class Is completely destroyed The code base information including at least the cacheability code is the same as the class. Stored in the cache ing Above class By discarding, the latest program is downloaded at the next start-up, and the use of the latest program is ensured.
[0047]
The invention described in claim 6
In the program execution method which is invention of Claim 4,
Same kind of said class After all have been destroyed class Registration information Registration information managed by the server at the URL (Uniform Resource Locator) of the server where the user interface class is stored, Of the same type stored in the cache after the time corresponding to the time information added to class By discarding the program, the start-up time is shortened because no unnecessary download is generated for a program that is not scheduled to be updated in the future or whose update has already been canceled. In addition, it is possible to adjust the switching timing of the latest program.
[0048]
The invention described in claim 7
Over the network class In a system using a program execution method for distributing and operating
Above class And said class User interface to communicate with class And based on a request to create a process on the client side class The Class while the process is running A server to download and run,
Communicating with the server and the user interface class During the client-side process class Download and execute the user interface class Through the above class A client machine that communicates with
The client machine is If the data stored in the cache is available, this code means that the data will be used The user interface with the cacheability code added class Is stored in the cache, the stored user interface class When the user interface is not present in the cache, the user interface class The class Download and execute the user interface class Is stored in the cache, the download does not occur when the user interface program to which the cache enable / disable code is added is stored, so the overhead due to the download is eliminated and the program startup time is shortened.
[0049]
The invention described in claim 8
Over the network class In a system using a program execution method for distributing and operating
Above class And said class User interface to communicate with class A server that manages
Based on the client-side process creation request class The Class while the process is running A remote machine to download and run,
Communicating with the server and the user interface class During the client-side process class Download and execute the user interface class Through Class downloaded to the remote machine Above class A client machine that communicates with
The client machine is If the data stored in the cache is available, this code means that the data will be used The user interface with the cacheability code added class Is stored in the cache, the stored user interface class When the user interface is not present in the cache, the user interface class The class Download and execute the user interface class Is stored in the cache, the download does not occur when the user interface program to which the cache enable / disable code is added is stored, so the overhead due to the download is eliminated and the program startup time is shortened.
[0050]
The invention according to claim 9
Over the network class In a system using a program execution method for distributing and operating
Above class And a user interface for communicating with the program class And a web server storing
Above class And the user interface class A management server that manages the registration of
Based on the client-side process creation request class A remote machine that downloads and executes
Communicates with the management server and the user interface from the Web server class During the client-side process class Download and execute the user interface class Through Class downloaded to the remote machine Above class A client machine that communicates with
The client machine is If the data stored in the cache is available, this code means that the data will be used The user interface with the cacheability code added class Is stored in the cache, the stored user interface class If the user interface is not present in the cache, the user interface class The class Download and execute the user interface class Is stored in the cache, the download does not occur when the user interface program to which the cache enable / disable code is added is stored, so the overhead due to the download is eliminated and the program startup time is shortened.
[0051]
The invention according to claim 10 is:
In the system according to any one of claims 7 to 9,
The client machine is
Running in the process Said User interface class Is completely destroyed, The user interface having the same code base information including at least the cacheability code as the user interface class ・ Class Stored in the cache ing The user interface class By discarding, the latest user interface program is downloaded at the next startup and the use of the latest program is secured.
[0052]
The invention according to
In the system as claimed in claim 7 to claim 9,
The client machine is
The same kind of user interface class The user interface class Registration information Registration information which is a URL (Uniform Resource Locator) of the server, which is managed by at least one of the servers and stores a user interface class. The user interface of the same type stored in the cache after a lapse of time corresponding to the time information added to class By discarding, the activation time is shortened because unnecessary downloads are not generated for user interface programs that are not scheduled to be updated in the future or whose update has already been canceled. It is also possible to adjust the switching timing of the latest user interface program.
[0053]
The invention according to claim 12
Over the network class In a system using a program execution method for distributing and operating
Above class And said class User interface to communicate with class And the program is executed during the process based on the request for creating the process on the client side. class A server to download and run,
Communicating with the server and the user interface class During the client-side process class Download and execute the user interface class A client machine that communicates with the program via
The server is If the data stored in the cache is available, this code means that the data will be used The above cache added code class Is stored in the cache, the stored program is reused, and if it is not stored in the cache, the server class The class Download and execute the above class Is stored in the cache, download does not occur when a program to which a cache enable / disable code is added is stored, so that overhead due to download is eliminated and program activation time is shortened.
[0054]
The invention according to claim 13
Over the network class In a system using a program execution method for distributing and operating
Above class And said class User interface to communicate with class A server that manages
Based on the client-side process creation request class During the process class A remote machine to download and run,
Communicating with the server and the user interface class Is downloaded into the client-side process and executed, and then the user interface class A client machine that communicates with the program via
The remote machine is If the data stored in the cache is available, this code means that the data will be used The above cache added code class Is stored in the cache if it is stored class And if it does not exist in the cache, the server class The class Download and execute the above class Is stored in the cache, download does not occur when a program to which a cache enable / disable code is added is stored, so that overhead due to download is eliminated and program activation time is shortened.
[0055]
The invention according to claim 14
Over the network class In a system using a program execution method for distributing and operating
Above class And said class User interface to communicate with class And a web server storing
The program and the user interface class A management server that manages the registration of
Based on the client-side process creation request class During the process class A remote machine to download and run,
Communicates with the management server and the user interface from the Web server class During the client-side process class Download and execute the user interface class Through the above class A client machine that communicates with
The remote machine is If the data stored in the cache is available, this code means that the data will be used The above cache added code class Is stored in the cache if it is stored class Is reused and does not exist in the cache, the web server class The class Download and execute the above class Is stored in the cache, download does not occur when a program to which a cache enable / disable code is added is stored, so that overhead due to download is eliminated and program activation time is shortened.
[0056]
The invention according to claim 15
In the system which is the invention according to any one of claims 12 to 14,
The server or the remote machine is
Running in the process Said class Is completely destroyed, The class in which the code base information including at least the cacheability code is the same as the class, Stored in the cache ing Above class By discarding, the latest program is downloaded at the next start-up, and the use of the latest program is ensured.
[0057]
The invention according to claim 16
In the system which is the invention according to any one of claims 12 to 14,
The server or the remote machine is
Same kind of said class Registration information of the program after all Registration information which is a URL (Uniform Resource Locator) of the Web server, which is managed by the management server and stores a user interface class. Of the same type stored in the cache after the time corresponding to the time information added to class By discarding the program, the start-up time is shortened because no unnecessary download is generated for a program that is not scheduled to be updated in the future or whose update has already been canceled. In addition, it is possible to adjust the switching timing of the latest program.
[0058]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail with reference to the drawings. FIG. 1 is a configuration block diagram showing an embodiment of a system using a program execution method according to the present invention. In FIG. 1, 1 and 2 are assigned the same reference numerals as in FIG. 6, 7 is a client machine, and 8 is a remote machine.
[0059]
The
[0060]
In addition, the WorkerManager GUI indicated by “WMG2” in FIG. 1 is provided with a WorkerGUI cache for temporarily storing the downloaded WorkerGUI class as indicated by “CH21” in FIG.
[0061]
Similarly, the worker space indicated by “WS21” in FIG. 1 is provided with a worker cache for temporarily storing the downloaded worker class as indicated by “CH22” in FIG.
[0062]
On the other hand, if the data stored in the cache can be used as necessary, the registration information of the worker and worker GUI managed by the worker manager, which is the management program running on the
[0063]
For example, the registration information is a URL (Uniform Resource Locator) or the like of a Web server in which a worker or worker GUI is stored, and “cache:” is a cache permission code if necessary at the beginning of a character string of the URL. Is added.
[0064]
Here, the operation of the embodiment shown in FIG. 1 will be described with reference to FIG. 2, FIG. 3, FIG. 4 and FIG. 2 is a flowchart for explaining the cache operation of the client machine 7. FIG. 3 is a flowchart for explaining the discard operation of the client machine 7. FIG. 4 is a flowchart for explaining the cache operation of the remote machine 8. FIG. FIG. 8 is a flowchart for explaining a cache discarding operation of FIG. However, in FIG.2 and FIG.4, since it is the same as that of the operation | movement of the prior art example shown in FIG. 6 except cache operation | movement, description is abbreviate | omitted.
[0065]
2, when the client machine 7 is notified of the storage location of the worker GUI class for the selected worker from the
[0066]
That is, it is determined whether or not “when the worker GUI class stored in the cache can be used, the worker GUI class is used”.
[0067]
If the cache availability code is added in “S301” in FIG. 2, the client GUI 7 stores the worker GUI class in the worker GUI cache indicated by “CH21” in FIG. 1 in “S302” in FIG. Judge whether or not.
[0068]
If the worker GUI class is stored in the worker GUI cache in “S302” in FIG. 2, the client machine 7 sets the worker GUI class corresponding to the worker selected from the worker GUI cache in the worker manager GUI in “S303” in FIG. To load.
[0069]
On the other hand, if the cache availability code is not added in “S301” in FIG. 2, or if the WorkerGUI class is not stored in the WorkerGUI cache in “S302” in FIG. 2, the client in “S304” in FIG. The machine 7 downloads the class of the worker GUI corresponding to the worker class selected from the
[0070]
Then, in “S305” in FIG. 2, the client machine 7 creates an instance in the WorkerManager GUI and activates the Worker GUI.
[0071]
As a result, since the worker GUI class to which the cache availability code is added is not downloaded from the
[0072]
For example, assuming the case of class download of a worker GUI class of “100 kB” size using a modem having a communication speed of “33.6 kbps”, the download time of about 10 to 30 seconds, which has been conventionally required, is set to “0”. Thus, the startup time of the worker GUI is greatly reduced.
[0073]
On the other hand, in “S401” in FIG. 3, the client machine 7 monitors an instance in the WorkerManagerGUI and determines whether the WorkerGUI instance has been discarded.
[0074]
If the worker GUI instance is discarded in “S401” in FIG. 3, the client machine 7 determines in step “S402” in FIG. 3 whether or not the same type of worker GUI instance exists in the worker manager GUI.
[0075]
Here, the same type of worker GUI instances have the same code base information such as the worker GUI name and cacheability code described in the registration information of the worker manager of the worker manager that is the management program running on the
[0076]
In FIG. 3, if the same type of worker GUI instance does not exist in “S402”, in other words, if all the same type of worker GUI instances are discarded, the client machine 7 corresponds to the corresponding one in the worker GUI cache in “S403” in FIG. Discard the WorkerGUI class.
[0077]
As a result, as long as the same type of worker GUI instance exists in the worker manager GUI, the worker GUI class in the worker GUI cache is reused. However, if all the worker GUI instances of the same type are discarded, the corresponding worker GUI class in the worker GUI cache Is discarded, the latest worker GUI class is downloaded from the
[0078]
In addition, in “S501” in FIG. 4, when the remote machine 8 is notified of the storage location of the worker class of the worker selected by the client machine 7 from the
[0079]
That is, it is determined whether or not “if the worker class stored in the cache can be used, the worker class is used”.
[0080]
If the cache availability code is added in “S501” in FIG. 4, the remote machine 8 stores the worker class in the worker cache indicated by “CH22” in FIG. 1 in “S502” in FIG. Judge whether or not.
[0081]
If the worker class is stored in the worker cache in “S502” in FIG. 4, the remote machine 8 loads the worker class from the worker cache into the worker space in “S503” in FIG.
[0082]
On the other hand, if the cache availability code is not added in “S501” in FIG. 4, or if the Worker class is not stored in the Worker cache in “S502” in FIG. 4, the remote in “S504” in FIG. As shown in “DL22” in FIG. 1, the machine 8 downloads the class of the worker selected from the
[0083]
Then, in “S505” in FIG. 4, the remote machine 8 creates an instance in the WorkerSpace and starts the Worker.
[0084]
As a result, the worker class to which the cache availability code is added does not cause overhead due to the download because the class download from the
[0085]
For example, assuming a class download of a worker class of “100 kB” size using a modem with a communication speed of “33.6 kbps”, the download time of about 10 seconds to 30 seconds, which has been conventionally required, is set to “0”. Thus, the startup time of the worker is greatly shortened.
[0086]
On the other hand, in “S601” in FIG. 5, the remote machine 8 monitors the instance in the WorkerSpace to determine whether the Worker instance has been discarded.
[0087]
If the worker instance is discarded in “S601” in FIG. 5, the remote machine 8 determines whether or not the same type of worker instance exists in the worker space in “S602” in FIG.
[0088]
Here, the same type of worker instance has the same code base information such as the worker name and cacheability code described in the worker registration information of the worker manager that is the management program running on the
[0089]
In FIG. 5, when the same type of worker instance does not exist in “S602”, in other words, when all the same type of worker instances are discarded, the remote machine 8 corresponds to the corresponding one in the worker cache in “S603” in FIG. Discard the Worker class.
[0090]
As a result, as long as the same type of worker instance exists in the worker space, the worker class in the worker cache is reused, but if all the same type of worker instances are destroyed, the corresponding worker class in the worker cache Is destroyed, the latest worker class is downloaded from the
[0091]
In the embodiment shown in FIG. 1, for the sake of simplicity of explanation, the
[0092]
For example, the
[0093]
Whether or not to use the cache can be set when the administrator registers the worker and worker GUI in the
[0094]
For example, when it is predicted that the worker and worker GUI are upgraded one after another in a short cycle, the administrator does not add the code “cache:” to the registration information of the worker and worker GUI.
[0095]
In this case, it is possible to automatically force all client machines to use the latest worker class and worker GUI.
[0096]
For example, when it is predicted that the worker and worker GUI are stable and almost no upgrade is performed, the administrator adds a code “cache:” to the registration information of the worker and worker GUI.
[0097]
In this case, it is possible to significantly shorten the startup time of the two or more worker and worker GUIs for all client machines.
[0098]
3 and FIG. 5, when all instances of the same type of worker GUI (or worker) in the worker manager GUI (or worker space) are discarded, the corresponding items in the worker GUI cache (or worker cache) are applicable. Although the WorkerGUI (or Worker) class is discarded, the method for discarding the class in the cache is not limited to this.
[0099]
In other words, time information is added to the URL character string that is the registration information of the Worker GUI (or Worker), and the corresponding class in the cache is added after the time corresponding to the time information has elapsed since all instances of the same type were discarded. You can discard it.
[0100]
In this case, since no unnecessary class download is generated for a worker GUI (or worker) that is not scheduled to be updated in the future or for which update has already been canceled, the startup time of the worker GUI (or worker) is shortened. .
[0101]
In addition, the value of the time information can be arbitrarily selected from “0” to “infinity”.
[0102]
That is, by appropriately selecting such time information, it is possible to adjust the switching timing of the latest worker (or worker GUI) of the worker GUI (or worker) in which the cacheability code is added to the registration information.
[0103]
【The invention's effect】
As is apparent from the above description, the present invention has the following effects.
According to the first, fourth, seventh, eighth, ninth, twelfth, thirteenth and thirteenth aspects of the invention, the WorkerGUI class (Worker class) to which the cache availability code is added is added to the WorkerGUI cache (Worker cache). When (Worker class) is accumulated, class download does not occur, so the overhead due to download is eliminated and the program startup time is shortened.
[0104]
Further, according to the inventions of
[0105]
Further, according to the inventions of
[Brief description of the drawings]
FIG. 1 is a configuration block diagram showing an embodiment of a system using a program execution method according to the present invention.
FIG. 2 is a flowchart illustrating a cache operation of a client machine.
FIG. 3 is a flowchart illustrating a discarding operation of a client machine.
FIG. 4 is a flowchart illustrating a cache operation of a remote machine.
FIG. 5 is a flowchart for explaining a cache discarding operation of a remote machine.
FIG. 6 is a configuration block diagram illustrating an example of a program execution method and a system using the program execution method.
FIG. 7 is an explanatory diagram for explaining registration of a worker and a worker GUI.
FIG. 8 is a flowchart for explaining the operation of the client machine.
FIG. 9 is a flowchart for explaining the operation of the management server.
FIG. 10 is a flowchart for explaining the operation of the remote machine.
[Explanation of symbols]
1 management server
2 Web server
3,7 Client machine
4,5,8 remote machine
6 machines
Claims (16)
キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記ユーザインターフェース・クラスが前記クライアント側のキャッシュに蓄積されている場合には蓄積されている前記ユーザインターフェース・クラスを再利用し、
前記キャッシュに存在しない場合には前記ユーザインターフェース・クラスをクラスダウンロードして実行すると共に前記ユーザインターフェース・クラスを前記キャッシュに蓄積することを特徴とするプログラム実行方法。The process class remote side based on the generation request of a client-side process class download and run the client-side process was performed class download, user interface classes for communicating with the class in line cormorant program execution method communication with the class via,
When the data stored in the cache is available, the user interface class to which the cache availability code, which is a code indicating that the data is used, is stored in the client-side cache. Re-uses the accumulated user interface classes ,
Program execution method characterized by storing said user interface class in the cache along with if not present in the cache and executes the class download the user interface class.
請求項1記載のプログラム実行方法。 A registration information of the user interface class from being destroyed the user interface class of the same type are all registered user interface class is managed by the server URL of the server that is stored (Uniform Resource Locator) 2. The program execution method according to claim 1, wherein the user interface classes of the same type stored in the cache are discarded after a time corresponding to time information added to the information has elapsed.
キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記クラスが前記リモート側のキャッシュに蓄積されている場合には蓄積されている前記クラスを再利用し、
前記キャッシュに存在しない場合には前記クラスをクラスダウンロードして実行すると共に前記クラスを前記キャッシュに蓄積することを特徴とするプログラム実行方法。The process class remote side based on the generation request of a client-side process class download and run the client-side process was performed class download, user interface classes for communicating with the class in line cormorant program execution method communication with the program through,
If the data stored in the cache can be used, it is stored if the class with the cache availability code, which is a code indicating that the data is used, is stored in the remote cache. Re-use the class
Program execution wherein the if not present in the cache for storing the class and executes by class downloading the classes in the cache.
請求項4記載のプログラム実行方法。 When the class that is running on the process on the remote side is discarded, the code-based information including at least said cache whether the code and the class is stored in the cache a said class is the same program execution method according to claim 4, wherein the discarding the classes are.
請求項4記載のプログラム実行方法。 A the class of the same type registration information of the classes from being discarded, is added to the registration information, managed by the server URL of the server to which the user interface class is stored (Uniform Resource Locator) 5. The program execution method according to claim 4, wherein the classes of the same type stored in the cache are discarded after a lapse of time corresponding to existing time information.
前記クラスと、前記クラスとの通信を行うユーザインターフェース・クラスとを管理すると共にクライアント側のプロセスの生成依頼に基づき前記クラスを前記プロセスの動作中にクラスダウンロードして実行するサーバと、
前記サーバと通信をすると共に前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にクラスダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンとを備え、
前記クライアントマシンが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記ユーザインターフェース・クラスがキャッシュに蓄積されている場合には蓄積されている前記ユーザインターフェース・クラスを再利用し、前記キャッシュに存在しない場合には前記サーバから前記ユーザインターフェース・クラスをクラスダウンロードして実行させると共に前記ユーザインターフェース・クラスを前記キャッシュに蓄積することを特徴とするシステム。In a system using a program execution method that distributes and operates classes over a network,
Said classes, and servers running the class based on the generation request of a client-side process in class downloaded during operation of the process manages the user interface classes for communicating with the class,
And a client machine that communicates with the classes the user interface classes through the user interface class on the class downloaded by executing in said client-side process while communicating with the server Prepared,
When the client machine can use the data stored in the cache, the user interface class to which the cache availability code, which is a code indicating that the data is used, is stored in the cache. reuse the user interface classes that are accumulated in the accumulation of the said user interface class with if not present in the cache is executed by the class download the user interface class from the server to the cache A system characterized by
前記クラスと、前記クラスとの通信を行うユーザインターフェース・クラスとを管理するサーバと、
クライアント側のプロセスの生成依頼に基づき前記クラスを前記プロセスの動作中にクラスダウンロードして実行するリモートマシンと、
前記サーバと通信をすると共に前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にクラスダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記リモートマシンにクラスダウンロードされた前記クラスとの間で通信を行うクライアントマシンとを備え、
前記クライアントマシンが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記ユーザインターフェース・クラスがキャッシュに蓄積されている場合には蓄積されている前記ユーザインターフェース・クラスを再利用し、前記キャッシュに存在しない場合には前記サーバから前記ユーザインターフェース・クラスをクラスダウンロードして実行させると共に前記ユーザインターフェース・クラスを前記キャッシュに蓄積することを特徴とするシステム。In a system using a program execution method that distributes and operates classes over a network,
A server for managing said classes, and a user interface class for communicating with the class,
And a remote machine running the class based on the generation request of a client-side process in class downloaded during operation of the process,
Between the class of the user interface class is class downloaded to the remote machine via the user interface class on the class downloaded by executing in said client-side process while communicating with the server With a client machine that communicates with
When the client machine can use the data stored in the cache, the user interface class to which the cache availability code, which is a code indicating that the data is used, is stored in the cache. reuse the user interface classes that are accumulated in the accumulation of the said user interface class with if not present in the cache is executed by the class download the user interface class from the server to the cache A system characterized by
前記クラスと、前記プログラムとの通信を行うユーザインターフェース・クラスとが格納されたWebサーバと、
前記クラス及び前記ユーザインターフェース・クラスの登録管理を行う管理サーバと、
クライアント側のプロセスの生成依頼に基づき前記クラスを前記プロセスの動作中にクラスダウンロードして実行するリモートマシンと、
前記管理サーバと通信をすると共に前記Webサーバから前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にクラスダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記リモートマシンにクラスダウンロードされた前記クラスとの間で通信を行うクライアントマシンとを備え、
前記クライアントマシンが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記ユーザインターフェース・クラスがキャッシュに蓄積されている場合には蓄積されている前記ユーザインターフェース・クラスを再利用し、前記キャッシュに存在しない場合には前記Webサーバから前記ユーザインターフェース・クラスをクラスダウンロードして実行させると共に前記ユーザインターフェース・クラスを前記キャッシュに蓄積することを特徴とするシステム。In a system using a program execution method that distributes and operates classes over a network,
Said classes, and the Web server in which a user interface class stored for communicating with the program,
A management server for performing registration management of the class and the user interface class ;
And a remote machine running the class based on the generation request of a client-side process in class downloaded during operation of the process,
The class was downloaded to the remote machine via the user interface class after communicating with the management server and executing the class download and executing the user interface class from the Web server during the client side process . A client machine that communicates with the class ,
When the client machine can use the data stored in the cache, the user interface class to which the cache availability code, which is a code indicating that the data is used, is stored in the cache. reuse the user interface class which is stored in, the user interface class with causes run class download the user interface class from the Web server if not present in the cache in the cache A system characterized by accumulation.
前記プロセスで実行されている前記ユーザインターフェース・クラスが全て破棄された場合には、該ユーザインターフェース・クラスと少なくとも前記キャッシュ可否コードを含むコードベース情報が同一である前記ユーザインターフェース・クラスであって前記キャッシュ内に蓄積されている前記ユーザインターフェース・クラスを廃棄することを特徴とする
請求項7〜請求項9のいずれかに記載のシステム。The client machine is
Wherein when said process the user interface class that is running on is discarded, the code-based information including at least said cache whether the code and the user interface class is a said user interface classes are identical a system according to any one of claims 7 to claim 9, characterized in that discarding the user interface class which is stored in the cache.
同じ種類の前記ユーザインターフェース・クラスが全て破棄されてから前記ユーザインターフェース・クラスの登録情報であって、前記各サーバの少なくともいずれかにより管理されユーザインターフェース・クラスが格納されている前記サーバのURL(Uniform Resource Locator)である登録情報、に付加されている時間情報に相当する時間経過後に前記キャッシュ内に蓄積された同じ種類の前記ユーザインターフェース・クラスを廃棄することを特徴とする
請求項7〜請求項9のいずれかに記載のシステム。The client machine is
Registration information of the user interface class since all the user interface classes of the same type are discarded, and the URL of the server that is managed by at least one of the servers and stores the user interface class ( 8. The same type of user interface class stored in the cache is discarded after elapse of time corresponding to time information added to registration information that is Uniform Resource Locator). Item 10. The system according to any one of Items 9.
前記クラスと、前記クラスとの通信を行うユーザインターフェース・クラスとを管理すると共にクライアント側のプロセスの生成依頼に基づき前記クラスを前記プロセスの動作中にクラスダウンロードして実行するサーバと、
前記サーバと通信をすると共に前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にクラスダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記プログラムとの間で通信を行うクライアントマシンとを備え、
前記サーバが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記クラスがキャッシュに蓄積されている場合には蓄積されている前記プログラムを再利用し、前記キャッシュに存在しない場合には前記サーバから前記クラスをクラスダウンロードして実行させると共に前記クラスを前記キャッシュに蓄積することを特徴とするシステム。In a system using a program execution method that distributes and operates classes over a network,
Said classes, and servers running the class based on the generation request of a client-side process in class downloaded during operation of the process manages the user interface classes for communicating with the class,
And a client machine that communicates with the program the user interface classes through the user interface class on the class downloaded by executing in said client-side process while communicating with the server Prepared,
When the server can use the data stored in the cache, it is stored when the class with the cache availability code, which is a code indicating that the data is used, is stored in the cache. reuse the program are, the if it does not exist in the cache, characterized in that storing the class causes run in class downloading the class from the server to the cache system.
前記クラスと、前記クラスとの通信を行うユーザインターフェース・クラスとを管理するサーバと、
クライアント側のプロセスの生成依頼に基づき前記クラスを前記プロセスの動作中にクラスダウンロードして実行するリモートマシンと、
前記サーバと通信をすると共に前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記プログラムとの間で通信を行うクライアントマシンとを備え、
前記リモートマシンが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記クラスがキャッシュに蓄積されている場合には蓄積されている前記クラスを再利用し、前記キャッシュに存在しない場合には前記サーバから前記クラスをクラスダウンロードして実行させると共に前記クラスを前記キャッシュに蓄積することを特徴とするシステム。In a system using a program execution method that distributes and operates classes over a network,
A server for managing said classes, and a user interface class for communicating with the class,
And a remote machine running the class based on the generation request of a client-side process in class downloaded during operation of the process,
And a client machine that communicates with the program via the user interface class on which is executed to download the user interface class in the client-side processes while communicating with the server ,
When the remote machine can use the data stored in the cache, it is stored when the class with the cache availability code added, which is a code indicating that the data is used, is stored in the cache. system, characterized by storing the classes in the cache along with reuse the class that is, in the absence of the cache is performed by class downloading the class from the server.
前記クラスと、前記クラスとの通信を行うユーザインターフェース・クラスとが格納されたWebサーバと、
前記プログラム及び前記ユーザインターフェース・クラスの登録管理を行う管理サーバと、
クライアント側のプロセスの生成依頼に基づき前記クラスをプロセス中にクラスダウンロードして実行するリモートマシンと、
前記管理サーバと通信をすると共に前記Webサーバから前記ユーザインターフェース・クラスを前記クライアント側のプロセス中にクラスダウンロードして実行させた上で前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンとを備え、
前記リモートマシンが、キャッシュに蓄えられたデータを利用可能な場合には当該データを利用する旨を意味するコードであるキャッシュ可否コードが付加された前記クラスがキャッシュに蓄積されている場合には蓄積されている前記クラスを再利用し、前記キャッシュに存在しない場合には前記Webサーバから前記クラスをクラスダウンロードして実行させると共に前記クラスを前記キャッシュに蓄積することを特徴とするシステム。In a system using a program execution method that distributes and operates classes over a network,
Said classes, and the Web server in which a user interface class stored for communicating with the class,
A management server for managing registration of the program and the user interface class ;
And a remote machine running in Class downloading the class during the process based on the generation request of the client side of the process,
The communication between the class via the user interface class in terms of the user interface class class downloaded by executing in said client-side process from the Web server while the communication with the management server A client machine to perform,
When the remote machine can use the data stored in the cache, it is stored when the class with the cache availability code, which is a code indicating that the data is used, is stored in the cache. system, characterized by storing the classes in the cache along with reuse the class that is, in the absence of the cache is performed by class downloading the class from the Web server.
前記プロセスで実行されている前記クラスが全て破棄された場合には、該クラスと少なくとも前記キャッシュ可否コードを含むコードベース情報が同一である前記クラスであって前記キャッシュ内に蓄積されている前記クラスを廃棄することを特徴とする請求項12〜請求項14のいずれかに記載のシステム。The server or the remote machine is
When the class that is running on the process is discarded, the class code based information including at least said cache whether the code and the class is stored in the cache a said class is the same The system according to claim 12, wherein the system is discarded.
同じ種類の前記クラスが全て破棄されてから前記プログラムの登録情報であって、前記管理サーバにより管理されユーザインターフェース・クラスが格納されている前記WebサーバのURL(Uniform Resource Locator)である登録情報、に付加されている時間情報に相当する時間経過後に前記キャッシュ内に蓄積された同じ種類の前記クラスを廃棄することを特徴とする
請求項12〜請求項14のいずれかに記載のシステム。The server or the remote machine is
Registration information for the program after all the classes of the same type are discarded, registration information that is a URL (Uniform Resource Locator) of the Web server that is managed by the management server and stores a user interface class, The system according to any one of claims 12 to 14, wherein the classes of the same type stored in the cache are discarded after a time corresponding to time information added to the cache.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001172159A JP4710171B2 (en) | 2001-06-07 | 2001-06-07 | Program execution method and system using the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001172159A JP4710171B2 (en) | 2001-06-07 | 2001-06-07 | Program execution method and system using the same |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002366377A JP2002366377A (en) | 2002-12-20 |
| JP4710171B2 true JP4710171B2 (en) | 2011-06-29 |
Family
ID=19013826
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001172159A Expired - Fee Related JP4710171B2 (en) | 2001-06-07 | 2001-06-07 | Program execution method and system using the same |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4710171B2 (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3577714B2 (en) * | 2000-05-26 | 2004-10-13 | 横河電機株式会社 | System using program execution method |
-
2001
- 2001-06-07 JP JP2001172159A patent/JP4710171B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002366377A (en) | 2002-12-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA2711944C (en) | Method and system for deploying non-backward compatible server versions in a client/server computing environment | |
| JP2006107500A (en) | Updating software during its execution | |
| US9092286B2 (en) | System to automatically process components on a device | |
| KR101953942B1 (en) | System and method for managing dedicated caches | |
| US20030066065A1 (en) | System and method for remotely updating software applications | |
| JP7153800B2 (en) | METHOD, APPARATUS AND PROGRAM FOR PROCESSING MEDIA CONTENT IN MPEG NBMP | |
| US8490077B2 (en) | Runtime versioning and distribution of dynamic web-elements | |
| JP2002101120A (en) | Communication method and information processing device | |
| JP3612043B2 (en) | System and method for updating program file being executed | |
| JP2009521746A (en) | Program execution service window | |
| JP4238142B2 (en) | Program component processing request queue configuration method, program component registration method and execution control method, program component registration program and execution control program, and application server | |
| EP1719320B1 (en) | Server-side protocol configuration of accessing clients | |
| WO2009129745A1 (en) | A method and apparatus for interface invoking of distributed system | |
| JP2004094969A (en) | Method for enabling location-independent and location-transparent interaction between program and user, data structure, and execution shell | |
| JP4710171B2 (en) | Program execution method and system using the same | |
| US20040010775A1 (en) | Method, system and program product for reconfiguration of pooled objects | |
| JP6562744B2 (en) | System and control method | |
| CN113391878A (en) | Remote access method, device, system and storage medium | |
| JP2006171918A (en) | Data transmission to client and execution control method of update data | |
| US6757747B1 (en) | Proxy object for managing an application instance on a dataless client machine | |
| WO2024174737A1 (en) | Method and apparatus for setting process priority level in container | |
| KR100597586B1 (en) | How to synchronize data using session management function | |
| US7035895B1 (en) | Manager object for management of multiple resources on dataless clients in a distributed computing environment | |
| JP2002189600A (en) | Application execution method from Web browser | |
| KR100275487B1 (en) | Method for introduction of plug-in version with new service control point |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070905 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101012 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101207 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110207 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110222 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110307 |
|
| LAPS | Cancellation because of no payment of annual fees |