JP3577714B2 - System using program execution method - Google Patents

System using program execution method Download PDF

Info

Publication number
JP3577714B2
JP3577714B2 JP2000217473A JP2000217473A JP3577714B2 JP 3577714 B2 JP3577714 B2 JP 3577714B2 JP 2000217473 A JP2000217473 A JP 2000217473A JP 2000217473 A JP2000217473 A JP 2000217473A JP 3577714 B2 JP3577714 B2 JP 3577714B2
Authority
JP
Japan
Prior art keywords
class
worker
user interface
classes
client machine
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
JP2000217473A
Other languages
Japanese (ja)
Other versions
JP2002049486A (en
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2000217473A priority Critical patent/JP3577714B2/en
Publication of JP2002049486A publication Critical patent/JP2002049486A/en
Application granted granted Critical
Publication of JP3577714B2 publication Critical patent/JP3577714B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Information Transfer Between Computers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークを介してプログラムを配信して動作させるプログラム実行方法及びこれを用いたシステムに関し、特に柔軟性が高く様々なプログラムを実行させることが可能なプログラム実行方法及びこれを用いたシステムに関する。
【0002】
【従来の技術】
従来のネットワークを介してプログラムを配信して動作させるプログラム実行方法には大きく2つの種類に分類される。すなわち、プログラムファイルをユーザ側のマシンに配信して実行する方法、及び、動的にプログラムをユーザ側のマシンのメモリ上で動作させる方法である。
【0003】
前者の方法としては、例えば、FTP(File Transfer Protocol)等のファイル転送ソフトを用いてプログラムファイルをユーザ側のマシンに転送して実行したり、ユーザがブラウザを用いてWebサーバからプログラムファイルをダウンロードして実行する。
【0004】
また、後者の方法としては、例えば、ユーザ側からの動的なプログラム実行命令によりWebサーバからプログラムの実行部分がユーザ側のマシンのメモリ上にダウンロードされ実行される。
【0005】
図9は後者の方法であるJava(Sun Microsystems社が開発したオブジェクト指向のインタープリタ言語。Sun Microsystems社の商標若しくは登録商標。)アプレットを用いたプログラム動作方法の一例を示す構成ブロック図である。図9において1はWebサーバ、2はサーバサイトに存在するコンピュータ等のマシン、3はクライアントマシン、4はクライアントサイトに存在するマシンである。また、50はサーバサイトを、51はクライアントサイトをそれぞれ示している。
【0006】
ユーザ側からの動的なプログラム実行命令が発せされると、Webサーバ1から図9中”AP01”に示すようなアプレットが図9中”DL01”に示すようにクライアントマシン3のメモリ上にダウンロードされて動作する。
【0007】
また、現在では多様な状況の変化に対応してシステム自体が柔軟に変化、言い換えれば、リモートで即座に任意のプログラムを実行することが可能で、必要に応じて使いたい機能の随時追加が可能で、使用済みの機能の即時削除が可能であるプログラム実行方法及びこれを用いたシステムが必要になっている。
【0008】
【発明が解決しようとする課題】
しかし、前述した前者の従来例では、クライアントマシンに使用済みのプログラムファイルが残存してしまったりすると言った問題点があった。また、後者の従来例ではブラウザの動作が不安定であったり、アプレットの通信先がWebサーバに限定されてしまい柔軟性に欠けると言った問題点があった。
【0009】
例えば、図9中”AP02”に示すクライアントマシン3のメモリ上で実行されているアプレットは図9中”AE01”に示すWebサーバ1への通信のみが可能であり、図9中”AD01”、”AD02”及び”AD03”と言ったサーバサイト50側に存在するマシン2、クライアントサイト51側に存在するマシン4及びクライアントマシン3自身のローカルディスクにはアクセスできない。
【0010】
すなわち、アプレットを用いた場合であってもリモートで即座に任意のプログラムを実行したり、必要に応じて使いたい機能を随時追加・削除することが困難であると言った問題点があった。
従って本発明が解決しようとする課題は、柔軟性が高く様々なプログラムを動作させることが可能なプログラム実行方法及びこれを用いたシステムを実現することにある。
【0011】
【課題を解決するための手段】
このような課題を達成するために、本発明のうち請求項1記載の発明は、
ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
複数の前記クラスと、複数の前記クラスとの通信をそれぞれ行う複数のユーザインターフェース・クラスとを一対一に対応させて管理すると共にクライアントマシンで動作するプロセスからの生成依頼に基づき複数の前記クラスの一のクラスをプロセス中にクラスダウンロードして実行するサーバと、前記サーバと通信をすると共に前記サーバから前記一のクラスに一対一に対応する前記ユーザインターフェース・クラスをプロセス中にクラスダウンロードして実行させ前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンとを備えたことにより、柔軟性が高く様々なプログラムを動作させることが可能になる。
【0012】
請求項2記載の発明は、
ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
複数の前記クラスと、複数の前記クラスとの通信をそれぞれ行う複数のユーザインターフェース・クラスとを一対一に対応させて管理するサーバと、クライアントマシンで動作するプロセスからの生成依頼に基づき複数の前記クラスの一のクラスをプロセス中にクラスダウンロードして実行するリモートマシンと、前記サーバと通信をすると共に前記サーバから前記一のクラスに一対一に対応する前記ユーザインターフェース・クラスをプロセス中にクラスダウンロードして実行させ前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンとを備えたことにより、柔軟性が高く様々なプログラムを動作させることが可能になる。
【0013】
請求項3記載の発明は、
ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
複数の前記クラスと、複数の前記クラスとの通信をそれぞれ行う複数のユーザインターフェース・クラスとが一対一に対応させて格納されたWebサーバと、複数の前記クラス及び複数の前記ユーザインターフェース・クラスの登録管理を行う管理サーバと、クライアントマシンで動作するプロセスからの生成依頼に基づき複数の前記クラスの一のクラスをプロセス中にクラスダウンロードして実行するリモートマシンと、前記管理サーバと通信をすると共に前記Webサーバから前記一のクラスに一対一に対応する前記ユーザインターフェース・クラスをプロセス中にクラスダウンロードして実行させ前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンとを備えたことにより、柔軟性が高く様々なプログラムを動作させることが可能になる。
【0014】
請求項4記載の発明は、
請求項1乃至請求項3のいずれかに記載の発明であるシステムにおいて、
前記クラスが、
システムに備えられた機器のリモート診断用のクラスであることにより、機器のリモート診断が可能になる。
【0015】
請求項5記載の発明は、
請求項1乃至請求項3のいずれかに記載の発明であるシステムにおいて、
前記クラスが、
データ解析表示用のクラスであることにより、データビューアとすることが可能になる。
【0016】
請求項6記載の発明は、
請求項1乃至請求項3のいずれかに記載の発明であるシステムにおいて、
前記クラスが、
システムの点検クラスであることにより、システム起動点検及び定期点検が可能になる。
【0017】
請求項7記載の発明は、
請求項1乃至請求項3のいずれかに記載の発明であるシステムにおいて、
前記クラスが、
システムに備えられた各機器に対する指示を行うクラス若しくはシステムに備えられた機器を監視するクラスであることにより、広域監視や異常処理が可能になる。
【0018】
請求項8記載の発明は、
請求項2若しくは請求項3記載の発明であるシステムにおいて、
前記クライアントマシン及び前記リモートマシンが、
ダウンロードしてきた前記ユーザインターフェース・クラス及び前記クラスと関連情報を記憶するキャッシュを有することにより、ネットワーク上のトラフィック集中を緩和することができる。
【0019】
請求項9記載の発明は、
請求項8記載の発明であるシステムにおいて、
前記クライアントマシンが、
前記キャッシュに前記ユーザインターフェース・クラスが存在する場合に設定時刻が経過するまで前記キャッシュに記憶された前記ユーザインターフェース・クラスを使用することにより、ネットワーク上のトラフィック集中を緩和することができる。
【0020】
請求項10記載の発明は、
請求項9記載の発明であるシステムにおいて、
前記クライアントマシンが、
前記キャッシュに記憶された前記ユーザインターフェース・クラスを使用する場合に前記クラス及び前記ユーザインターフェース・クラスとを管理するサーバを介して前記リモートマシンにその情報を伝えることにより、クライアントマシンとリモートマシンとの間でバージョンの異なる前記ユーザインターフェース・クラス及び前記クラスが起動されることが防止される。
【0028】
【発明の実施の形態】
以下本発明を図面を用いて詳細に説明する。図1は本発明に係るプログラム実行方法を用いたシステムの一実施例を示す構成ブロック図である。図1において5は管理サーバ、6はWebサーバ、7はクライアントマシン、8及び9はリモートマシンである。
【0029】
管理サーバ5、Webサーバ6、クライアントマシン7、リモートマシン8及び9は図示しないネットワークにより相互に接続される。
【0030】
ここで、図1に示す実施例の動作を説明する。管理サーバ5はWebサーバ6に格納されている図1中”WA11”,”WA12”及び”WA13”に示すプログラムである”Worker(以下、単にWorkerと呼ぶ。)”をネットワークを介してリモートマシン8及び9にダウンロードさせる。
【0031】
これと同時に、Webサーバ6に格納されている図1中”WG11”,”WG12”及び”WG13”に示すWorkerと通信をしてユーザからの指示を与えたり、Workerからのデータを表示するユーザインターフェース・プログラムである”WorkerGUI(以下、単にWorkerGUIと呼ぶ。)”をクライアントマシン7にダウンロードさせる。
【0032】
そして、ユーザはクライアントマシン7で動的に実行されるWorkerGUIを用いてリモートマシン8及び9で実行されているWorkerとの間で通信を行うことにより仮想的にWorkerをクライアントマシン7上で実行させることができる。
【0033】
この結果、クライアントマシン7に使用済みのプログラムファイルが残存せず、リモートマシン8及び9上で実行されているWorkerを選択することにより、柔軟性が高く様々なプログラムを動作させることが可能になる。
【0034】
さらに、図1に示す実施例の動作を図2、図3、図4、図5及び図6を用いて詳細に説明する。図2はWorker及びWorkerGUIの登録等を説明する説明図、図3はクライアントマシン7の動作を説明するフロー図、図4は管理サーバ5の動作を説明するフロー図、図5はリモートマシン8及び9の動作を説明するフロー図である。
【0035】
但し、以下の説明においては”WG11”及び”WA11”はプログラム本体ではなくクラスファイルとして取り扱う。
【0036】
図2において5及び6と”WG11”、”WG12”、”WG13”、”WA11”、”WA12”及び”WA13”は図1と同一符号を付してあり、10はWorker及びWorkerGUIの開発等を行うマシンである。
【0037】
管理者は、予め、図2中”NR21”に示すようにマシン10で作成したクライアントが使用する可能性のある様々なWorkerのクラスを管理サーバ5上で稼動している管理プログラムであるWorkerManagerに登録する。また、図2中”UL21”に示すようにWorkerクラス及び対応するWorkerGUIクラスのクラスペアをWebサーバ6に格納しておく。
【0038】
先ず第1にクライアントマシン7では、図3中”S001”においてクライアントマシン7は管理サーバ5で稼動されているWorkerManagerとの間で通信等を行う予めインストールされているプロセスであるWorkerManagerGUIを起動する。
【0039】
図3中”S002”においてクライアントマシン7はWorkerManagerGUIを介してWorkerManagerに登録されているWorkerクラスから使用したいWorkerクラスを選択し、このWorkerクラスをクラスダウンロードさせるリモートマシンを選択し、WorkerManagerに生成を依頼する。
【0040】
例えば、図1中”RQ11”に示すようにWorkerManagerに対して、図1中”WA11”及び”WA12”のWorkerクラスをそれぞれリモートマシン9及び8にクラスダウンロードさせるように選択する。
【0041】
図3中”S003”においてクライアントマシン7は選択したWorkerクラスに対応するWorkerGUIクラスの格納先であるWebサーバ6のアドレスをWorkerManagerから通知され、このアドレスのWebサーバ6にアクセスして、WorkerGUIクラスをWorkerManagerGUI内にクラスダウンロードする。
【0042】
例えば、図1中”DL11”に示すようにWebサーバ6から図1中”WA11”及び”WA12”にそれぞれ対応する図1中”WG11”及び”WG12”に示すWorkerGUIクラスを図1中”WMG1”に示すWorkerManagerGUI内にクラスダウンロードする。
【0043】
図3中”S004”においてクライアントマシン7はインスタンスをWorkerManagerGUI内に生成してWorkerGUIを起動し、図3中”S005”においてリモートマシン上で稼動しているWorkerと通信を開始してWorkerに対して適宜処理を行わせる。
【0044】
例えば、図1中”MC11”に示すように起動されたWokerGUIである”WG11’”はリモートマシン9上で起動されたWorkerである”WA11’”との間で通信を行い、図1中”MC12”に示すように起動されたWokerGUIである”WG12’”はリモートマシン8上で起動されたWorkerである”WA12’”との間で通信を行う。
【0045】
また、管理サーバ5では、図4中”S101”において管理サーバ5はWorkerのクラスを管理するWorkerManagerを起動する。そして、図4中”S102”においてクライアントマシン7で稼動しているWorkerManagerGUIからWorkerの生成依頼があったか否かを判断する。
【0046】
もし、図4中”S102”においてWorkerManagerGUIからWorkerの生成依頼があった場合には、図4中”S103”において管理サーバ5はWorkerManagerGUIからクラスダウンロード先として指定されたリモートマシンに選択されたWorkerの生成を指示する。
【0047】
例えば、図1中”IW11”及び”IW12”に示すようにリモートマシン9及び8に対してクラスダウンロードすべきWorkerクラス名と当該Workerクラスの格納先であるWebサーバ6のアドレスを通知する。
【0048】
図4中”S104”において管理サーバ5は選択されたWorkerクラスに対応するWokerGUIクラスの格納先であるWebサーバ6のアドレスを通知する。
【0049】
最後に、リモートマシン8及び9では、図5中”S201”においてWorkerの動作領域を提供するプロセスであるWorkerSpaceを起動させる。例えば、リモートマシン9は図1中”WS11”に示すようなWorkerSpaceを起動し、リモートマシン8は図1中”WS12”に示すようなWorkerSpaceを起動する。
【0050】
そして、図5中”S202”においてリモートマシン8及び9はWorkerManagerからWorkerの生成指示があったか否かを判断し、Workerの生成指示があった場合には図5中”S203”において指定されたWorkerクラスをWorkerSpace内にクラスダウンロードする。
【0051】
例えば、WorkerManagerからクラスダウンロードすべきWorkerクラス名と当該Workerクラスの格納先であるWebサーバ6のアドレスが通知され、図1中”WA11”及び”WA12”のWorkerクラスをそれぞれリモートマシン9及び8にクラスダウンロードするように指示された場合を考える。
【0052】
リモートマシン9では図1中”DL12”に示すようにWebサーバ6から図1中”WA11”に示すWorkerクラスを図1中”WS11”に示すWorkerSpaceにクラスダウンロードする。
【0053】
同様に、リモートマシン8では図1中”DL13”に示すようにWebサーバ6から図1中”WA12”に示すWorkerクラスを図1中”WS12”に示すWorkerSpaceにクラスダウンロードする。
【0054】
そして、図5中”S204”においてリモートマシン8及び9はインスタンスをWorkerSpace内にそれぞれ生成してそれぞれのWorkerを起動し、図5中”S205”においてクライアントマシン7上で稼動しているWorkerGUIと通信を開始する。
【0055】
例えば、図1中”MC11”に示すようにリモートマシン9上の起動されたWorkerである”WA11’”はクライアントマシン7上の起動された一方のWokerGUIである”WG11’”との間で通信を行い、図1中”MC12”に示すようにリモートマシン8上の起動されたWorkerである”WA12’”はクライアントマシン7上の起動された他方のWokerGUIである”WG12’”との間で通信を行う。
【0056】
すなわち、リモートマシン上でWorkerSpaceを動作させることにより、様々な種類のWorkerクラスを動的にクラスダウンロードしてWorkerを起動できるために、いちいちリモートマシン上に様々なプログラムをインストールする必要性がなくなる。
【0057】
また、クライアントマシン7にはWorkerManagerGUIのみをインストールしておけば動的に様々なWorkerGUIクラスをクラスダウンロードしてリモートマシン上で稼動するWorkerと通信ができるので柔軟性が高く様々なプログラムをリモートで動作させることが可能になる。
【0058】
さらに、WorkerManagerによりWorkerクラスと対応するWorkerGUIクラスが対になって管理されているために、リモートマシンとクライアントマシンとの間のバージョンの整合性が保証される。
【0059】
また、図1に示す実施例の応用例としては以下に示すようなものが考えられる。
(1)機器のリモート診断
(2)データビューア
(3)プログラムの自動配信
(4)システム起動点検及び定期点検
(5)広域監視、異常処理
【0060】
「(1)機器のリモート診断」に関しては、機器にWorkerSpaceを動作させるコンピュータ等を接続し、リモート診断用の様々なWorkerを用意する。ユーザは機器の異常に対応したWorkerを前記コンピュータ等にダウンロードさせて機器の診断を行うことが可能になる。
【0061】
この場合には、リモート側のコンピュータ等に様々な診断用プログラムをインストール等しておく必要性はなく、必要時にのみWorkerをダウンロードさせてリモート診断が可能になる。言い換えれば、ロースペックのコンピュータで充分診断が可能になる。
【0062】
また、別途新たな診断用Workerを開発した場合であっても既存の環境のままで使用可能である。さらに、機器が離散して設置されている場合であってもこれらの機器を1台のコンピュータに接続すれば一括でリモート診断が可能になる。
【0063】
「(2)データビューア」に関しては、リモート側のデータベースに接続されWorkerSpaceを動作させるコンピュータ等を設け、データ解析表示用の様々なWorkerを用意する。ユーザは機器の表示させたい形式を満足するWorkerを前記コンピュータ等にダウンロードさせて所望の形式でデータを引き出すことが可能になる。
【0064】
この場合でも、リモート側のコンピュータ等に様々なデータ解析プログラムをインストール等しておく必要性はなく、必要時にのみWorkerをダウンロードさせて所望の形式でデータを引き出すことが可能になる。言い換えれば、ロースペックのコンピュータで充分診断が可能になる。また、別途新たなデータ解析表示用Workerを開発した場合であっても既存の環境のままで使用可能である。
【0065】
「(3)プログラムの自動配信」に関しては、ユーザに配信するWorker自体に動作期限を設定することにより、一定期間動作するWorkerをユーザに配信することができる。また、WorkerManagerに契約ユーザ情報を持たせることにより契約ユーザにのみWorkerを配信することが可能になる。
【0066】
また、図6はこのようなプログラム配信の一例を示す構成ブロック図である。図6において5aは管理サーバ、6aはWebサーバ、10aは開発用等のマシン、11は宣伝用のWebサーバ、12及び13はクライアントマシンである。52は開発会社、53はWorker管理センター、54及び55はユーザをそれぞれ示している。
【0067】
管理サーバ5a、Webサーバ6a及び11、クライアントマシン12及び13は図示しないネットワークにより相互に接続される。
【0068】
ここで、図6に示す応用例の説明をする。但し、図1での説明と重複する部分の説明に関しては説明を省略する。開発会社52で開発されたWorker及びWorkerGUIは図6中”UL21”及び”NR31”に示すようにWorker管理センター53のWebサーバ6aに格納されると共に、管理サーバ5a上で動作するWorkerManagerに登録される。
【0069】
一方、開発会社52の宣伝用Webサーバ11には開発されたWorkerの仕様及びWorkerManagerGUIが公開され、興味を持ったユーザは適宜WorkerManagerGUIをダウンロードしてユーザのクライアントマシンにインストールして起動する。
【0070】
そして、Worker管理センター53の管理サーバ5aにアクセスしてWorkerGUIクラスをクラスダウンロードし、リモートマシン上で起動されたWorkerを使用する。
【0071】
例えば、ユーザ55はWebサーバ11から図6中”WMG2”に示すWorkerManagerGUIをクライアントマシン13にダウンロードし、インストールして起動する。そして、Worker管理センター53の管理サーバ5aにアクセスして図6中”WG31”及び”WA31”に示すWorkerGUI及びWorkerをダウンロードして使用する。
【0072】
また、例えば、ユーザ55はWebサーバ11から図6中”WMG2”に示すWorkerManagerGUIをクライアントマシン13にダウンロードし、インストールして起動する。そして、Worker管理センター53の管理サーバ5aにアクセスして図6中”WG31”に示すWorkerGUIのみをダウンロードしてリモートマシン上で起動されたWorkerを使用することも可能である。
【0073】
この場合、ユーザが当該プログラムを使用中であってもWorker管理センター53の管理サーバ5aに格納されている図6中”WG31”及び”WA31”等に示すWorkerGUI及びWorkerを随時アップデートすることが可能になるので、ユーザが使用中でもアップデート等の保守作業が可能になる。
【0074】
一方、ユーザは図6中”WG31”等に示すWorkerGUIのみをダウンロードする際に常に最新のプログラムを利用することが可能になる。
【0075】
さらに、後述のようなシステムにおいては起動時にWorkerGUIをダウンロードするために、多くのユーザが同時にダウンロードを行うとした場合には、ネットワーク上のトラフィックが増大してしまうと言った問題点がある。
【0076】
例えば、このシステムを銀行の自動金銭出納器(ATM:Automated Teller Machine)に適用した場合には業務開始時間に一斉にWorkerGUIをダウンロードが発生してしまう。
【0077】
この場合、クライアントマシンにダウンロード許可時刻を示す”ReloadID”を設定すると共にダウンロードしてきたWorkerGUIクラス、クラス名及びWorkerGUIクラスの格納先情報を格納するキャッシュを設ける。
【0078】
例えば、”ReloadID”としては”10:30”,”11:30”及び”12:30”と言ったような時刻を設定しネットワーク上のトラフィックを分散させるように平均的に分散させて設定する。勿論、設定時刻の重複があっても構わない。
【0079】
一方、選択されたWorkerが実行されるリモートマシンにはダウンロードしてきたWorkerクラス、クラス名及びWorkerクラスの格納先情報を格納するキャッシュを設ける。
【0080】
そして、クライアントマシン及びリモートマシンはWorkerGUIクラス及びWorkerクラスをダウンロードした時点で上記情報等を各々のキャッシュに格納する。
【0081】
ここで、クライアントマシンとリモートマシンの動作を図7及び図8を用いて説明する。図7はクライアントマシンの動作を説明するフロー図、図8はリモートマシンの動作を説明するフロー図である。但し、基本的な動作に関しては既に説明済みであるのでその部分の説明は省略する。
【0082】
図7中”S301”においてクライントマシンは使用するWorkerを選択する。この時、図7中”S302”においてクライントマシンのキャッシュに当該選択したWorkerに対応するWorkerGUIクラスが格納されているか否かを判断する。
【0083】
もし、クライアントマシンのキャッシュ内にWorkerGUIが存在する場合には、図7中”S303”においてクライントマシンは自己に設定されている”ReloadID”と現在の時刻を比較して現在の時刻が”ReloadID”の設定時刻を経過しているか否かを判断する。
【0084】
もし、現在の時刻が”ReloadID”の設定時刻を経過していない場合には、図7中”S304”においてクライアントマシンはキャッシュに格納されているWorkerGUIの格納先情報をWorkerManagerに伝える。
【0085】
WorkerManagerはリモートマシンにWorkerの生成依頼をする場合にクライントマシンから得られたWorkerGUIの格納先情報に対応するWorkerの格納先をリモートマシンに伝える。
【0086】
そして、図7中”S305”においてクライアントマシンはキャッシュ内のWorkerGUIクラスをWorkerManagerGUI内にコピーする。
【0087】
一方、図7中”S302”においてクライアントマシンのキャッシュ内にWorkerGUIが存在しない場合、及び、図7中”S303”において”ReloadID”の設定時刻を経過している場合には、図7中”S306”においてクライアントマシンはWorkerGUIクラスをWorkerManagerGUI内にクラスダウンロードする。
【0088】
最後に、図7中”S307”においてクライアントマシンはインスタンスをWorkerManagerGUI内に生成してWorkerGUIを起動する。
【0089】
一方、図8中”S401”においてリモートマシンはWokerManagerからのWokerの生成指示があったか否かを判断し、Workerの生成指示があった場合には図8中”S402”においてリモートマシンのキャッシュ内に生成指示されたWorkerクラスが格納されているか否かを判断する。
【0090】
もし、リモートマシンのキャッシュ内に生成指示されたWorkerが存在する場合には、図8中”S403”においてリモートマシンはキャッシュ内のWorkerクラスをWorkerSpace内にコピーする。
【0091】
もし、リモートマシンのキャッシュ内に生成指示されたWorkerが存在しない場合には、図8中”S404”においてリモートマシンはWorkerクラスをWorkerSpace内にクラスダウンロードする。
【0092】
最後に、図8中”S405”においてリモートマシンはインスタンスをWorkerSpace内に生成してWorkerを起動する。
【0093】
すなわち、クライアントマシンにおいてはキャッシュに使用するWorkerに対応するWorkerGUIクラスが格納さており、且つ、”ReloadID”の設定時刻が経過するまでは格納されているWorkerGUIを使用することにより、ネットワーク上のトラフィック集中を緩和することができる。
【0094】
同様に、リモートマシンにおいてはキャッシュに生成し辞されたWorkerクラスが格納されている場合にはこのWorkerを使用することにより、ネットワーク上のトラフィック集中を緩和することができる。
【0095】
また、Webサーバ上のWorkerGUI及びWorkerがバージョンアップされた場合でも、クライアントマシンにおいてキャッシュ内のWorkerGUIを用いる旨がWorkerManagerによりリモートマシンに伝達されるのでクライアントマシンとリモートマシンとの間でバージョンの異なるWorkerGUI及びWorkerが起動されることが防止される。
【0096】
「(4)システム起動点検及び定期点検」に関しては、システム上でWorkerSpaceを動作させ、システム起動時にのみ必要な点検プログラムや通常運転では使用されない定期点検プログラムをWorkerとして用意する。
【0097】
この場合でも、システム側に様々な点検プログラムをインストール等しておく必要性はなく、必要時にのみWorkerをダウンロードさせて指定の点検を行うことが可能になる。また、別途新たな点検用Workerを開発した場合であっても既存の環境のままで使用可能である。
【0098】
「(5)広域監視、異常処理」に関しては、広域監視やITS(Intelligent Transportation Systems)の分野においてはJavaを動作させることが可能なセンサ機器やアクチュエータ機器若しくはこのような機器とのインターフェースを有するJavaが動作可能な機器等を広域配置する。一方、各機器に対する指示を行うWorkerや機器を監視するWorkerを用意する。
【0099】
そして、監視者は必要に応じてWorkerを各機器にダウンロードさせて監視や指示をリモートで行うことが可能になる。
【0100】
なお、図1に示す実施例では説明の簡単のために、WorkerManagerが動作する管理サーバ5と、Workerクラス及びWorkerGUIクラスが格納されるWebサーバ6と、WorkerSpaceが動作するリモートマシン8及び9を個々に分けているがネットワークのトラフィックやマシンスペックの諸条件が許せば全ての役割を1台のマシンに集約したり、役割を統合しても構わない。
【0101】
例えば、管理サーバ5とWebサーバ6を統合したり、Webサーバ6とリモートマシン8及び9とを統合しても構わない。
【0102】
また、図1に示す実施例ではWorkerクラスとWorkerGUIクラスとが一対一のペアとして記載されているが勿論これに限定されるものではない。例えば、1つのWorkerクラスに対して複数のWorkerGUIクラスを用意することにより、クライアントマシンのスペックに対応したGUIを適宜選択できるの柔軟性が向上する。
【0103】
【発明の効果】
以上説明したことから明らかなように、本発明によれば次のような効果がある。請求項1,2及び請求項3の発明によれば、リモートマシン上でWorkerSpaceを動作させることにより、様々な種類のWorkerクラスを動的にクラスダウンロードしてWorkerを起動できるために、いちいちリモートマシン上に様々なプログラムをインストールする必要性がなくなる。
【0104】
また、クライアントマシンにはWorkerManagerGUIのみをインストールしておけば動的に様々なWorkerGUIクラスをクラスダウンロードしてリモートマシン上で稼動するWorkerと通信ができるので柔軟性が高く様々なプログラムをリモートで動作させることが可能になる。
【0105】
さらに、WorkerManagerによりWorkerクラスと対応するWorkerGUIクラスが対になって管理されているために、リモートマシンとクライアントマシンとの間のバージョンの整合性が保証される。
【0108】
また、請求項4乃至請求項7の発明によれば、プログラムの種類を適宜選択することにより、機器のリモート診断、データビューア、プログラムの自動配信、システム起動点検及び定期点検及び広域監視、異常処理等の処理等が可能になる。
【0109】
また、請求項8及び請求項9の発明によれば、クライアントマシン及びリモートマシンが、ダウンロードしてきたユーザインターフェース・クラス及びクラスと関連情報を記憶するキャッシュを設け設定時刻が経過するまで前記キャッシュに記憶された前記ユーザインターフェース・プログラムを使用することにより、ネットワーク上のトラフィック集中を緩和することができる。
【0110】
また、請求項10の発明によれば、クライアントマシンが、キャッシュに記憶されたユーザインターフェース・クラスをプログラム等を管理するサーバを介してリモートマシンにその情報を伝えることにより、クライアントマシンとリモートマシンとの間でバージョンの異なる前記ユーザインターフェース・クラス及び前記クラスが起動されることが防止される。
【図面の簡単な説明】
【図1】本発明に係るプログラム実行方法を用いたシステムの一実施例を示す構成ブロック図である。
【図2】Worker及びWorkerGUIの登録等を説明する説明図である。
【図3】クライアントマシンの動作を説明するフロー図である。
【図4】管理サーバの動作を説明するフロー図である。
【図5】リモートマシンの動作を説明するフロー図である。
【図6】プログラム配信の一例を示す構成ブロック図である。
【図7】クライアントマシンの動作を説明するフロー図である。
【図8】リモートマシンの動作を説明するフロー図である。
【図9】Javaアプレットを用いたプログラム動作方法の一例を示す構成ブロック図である。
【符号の説明】
1,6,6a,11 Webサーバ
2,4,10,10a マシン
3,7,12,13 クライアントマシン
5,5a 管理サーバ
8,9 リモートマシン
50 サーバサイト
51 クライアントサイト
52 開発会社
53 Worker管理センター
54,55 ユーザ
[0001]
TECHNICAL FIELD 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 in particular, a program execution method capable of executing various programs with high flexibility and a system using the same. About.
[0002]
[Prior art]
Conventional program execution methods for distributing and operating a program via a network are roughly classified into two types. That is, a method of distributing and executing the program file to the user's machine, and a method of dynamically operating the program on the memory of the user's machine.
[0003]
As the former method, for example, a program file is transferred to a user's machine using file transfer software such as FTP (File Transfer Protocol) and executed, or the user downloads a program file from a Web server using a browser. And run.
[0004]
In the latter method, for example, a program execution part is downloaded from a Web server to a memory of a user's machine and executed by a dynamic program execution command from the user.
[0005]
FIG. 9 is a configuration block diagram showing an example of a program operation method using the Java (Apple, an object-oriented interpreter language developed by Sun Microsystems; a trademark or registered trademark of Sun Microsystems), which is the latter method. In FIG. 9, 1 is a Web server, 2 is a machine such as a computer existing at a server site, 3 is a client machine, and 4 is a machine existing at a client site. Reference numeral 50 denotes a server site, and 51 denotes a client site.
[0006]
When a dynamic program execution instruction is issued from the user side, an applet such as "AP01" in FIG. 9 is downloaded from the Web server 1 to the memory of the client machine 3 as shown in "DL01" in FIG. Being working.
[0007]
Currently, the system itself can flexibly respond to changes in various situations, in other words, it is possible to execute any program remotely and immediately, and it is possible to add the functions you want to use as needed Therefore, there is a need for a program execution method and a system using the same, which can immediately delete used functions.
[0008]
[Problems to be solved by the invention]
However, in the former conventional example described above, there is a problem that a used program file remains in the client machine. Further, in the latter conventional example, there is a problem that the operation of the browser is unstable or the communication destination of the applet is limited to the Web server, and the flexibility is lacking.
[0009]
For example, an applet executed on the memory of the client machine 3 indicated by “AP02” in FIG. 9 can only communicate with the Web server 1 indicated by “AE01” in FIG. 9, and “AD01” in FIG. The local disks of “AD02” and “AD03” existing on the server site 50 side, the machine 4 existing on the client site 51 side, and the client machine 3 itself cannot be accessed.
[0010]
That is, even when an applet is used, there is a problem that it is difficult to immediately execute an arbitrary program remotely and to add / delete a desired function as needed.
Therefore, an object of the present invention is to realize a program execution method capable of operating various programs with high flexibility and a system using the same.
[0011]
[Means for Solving the Problems]
In order to achieve such an object, the invention according to claim 1 of the present invention is:
In a system using a program execution method of distributing and operating a class via a network,
pluralSaid class;pluralCommunication with the classRespectivelyDopluralUser interface classOne-to-one correspondenceManagement and based on the generation request from the process running on the client machineOne of the above classesA server for downloading and executing a class during a process, and communicating with the server andOne-to-one correspondence with the one classA client machine that downloads and executes the user interface class during a process and communicates with the class via the user interface class to operate various programs with high flexibility It becomes possible to do.
[0012]
The invention according to claim 2 is
In a system using a program execution method of distributing and operating a class via a network,
pluralSaid class;pluralCommunication with the classRespectivelyDopluralUser interface classOne-to-one correspondenceBased on the request to generate from the server to be managed and the process running on the client machineOne of the above classesA remote machine that downloads and executes classes during the process, communicates with the server, andOne-to-one correspondence with the one classA client machine that downloads and executes the user interface class during a process and communicates with the class via the user interface class to operate various programs with high flexibility It becomes possible to do.
[0013]
The invention according to claim 3 is
In a system using a program execution method of distributing and operating a class via a network,
pluralSaid class;pluralCommunication with the classRespectivelyDopluralUser interface classOne-to-one correspondenceA stored web server,pluralThe class andpluralBased on a management server that performs registration management of the user interface class and a generation request from a process running on a client machineOne of the above classesA remote machine that downloads and executes classes during a process, and communicates with the management server and from the web serverOne-to-one correspondence with the one classA client machine that downloads and executes the user interface class during a process and communicates with the class via the user interface class to operate various programs with high flexibility It becomes possible to do.
[0014]
The invention according to claim 4 is
In the system according to any one of claims 1 to 3,
Said class,
Class for remote diagnosis of equipment provided in the systemThis allows remote diagnosis of the device.
[0015]
The invention according to claim 5 is
In the system according to any one of claims 1 to 3,
Said class,
Class for data analysis displayThus, a data viewer can be obtained.
[0016]
The invention according to claim 6 is
In the system according to any one of claims 1 to 3,
Said class,
System inspection classThereby, system startup inspection and periodic inspection can be performed.
[0017]
The invention according to claim 7 is
In the system according to any one of claims 1 to 3,
Said class,
Class that gives instructions to each device provided in the system or class that monitors devices provided in the systemThereby, wide area monitoring and abnormality processing can be performed.
[0018]
The invention according to claim 8 is
In the system according to the second or third aspect,
The client machine and the remote machine,
Having a cache for storing the downloaded user interface class and the class and related informationThus, traffic concentration on the network can be reduced.
[0019]
The invention according to claim 9 is
In the system according to claim 8,
The client machine is
Using the user interface class stored in the cache until the set time elapses if the user interface class exists in the cacheThus, traffic concentration on the network can be reduced.
[0020]
The invention according to claim 10 is
In the system according to the ninth aspect,
The client machine is
When using the user interface class stored in the cache, transmitting the information to the remote machine via a server that manages the class and the user interface class.This prevents the user interface class and the class having different versions from being activated between the client machine and the remote machine.
[0028]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described in detail with reference to the drawings. FIG. 1 is a configuration block diagram showing one embodiment of a system using a program execution method according to the present invention. In FIG. 1, 5 is a management server, 6 is a Web server, 7 is a client machine, and 8 and 9 are remote machines.
[0029]
The management server 5, Web server 6, client machine 7, and remote machines 8 and 9 are mutually connected by a network (not shown).
[0030]
Here, the operation of the embodiment shown in FIG. 1 will be described. The management server 5 executes “Worker” (hereinafter simply referred to as “Worker”), which is a program indicated by “WA11”, “WA12” and “WA13” stored in the Web server 6 in FIG. Have 8 and 9 download.
[0031]
At the same time, a user who communicates with a worker indicated by “WG11”, “WG12”, and “WG13” in FIG. 1 stored in the Web server 6 to give an instruction from a user or displays data from the worker An interface program “WorkerGUI” (hereinafter simply referred to as “WorkerGUI”) is downloaded to the client machine 7.
[0032]
Then, the user virtually executes the worker on the client machine 7 by communicating with the worker running on the remote machines 8 and 9 using the worker GUI dynamically executed on the client machine 7. be able to.
[0033]
As a result, the used program file does not remain in the client machine 7, and it is possible to operate various programs with high flexibility by selecting a worker executed on the remote machines 8 and 9. .
[0034]
Further, the operation of the embodiment shown in FIG. 1 will be described in detail with reference to FIGS. 2, 3, 4, 5, and 6. FIG. FIG. 2 is an explanatory diagram for explaining the registration of the worker and the worker GUI, etc., FIG. 3 is a flowchart for explaining the operation of the client machine 7, FIG. 4 is a flowchart for explaining the operation of the management server 5, and FIG. 9 is a flowchart illustrating the operation of FIG.
[0035]
However, in the following description, “WG11” and “WA11” are handled as class files instead of the program body.
[0036]
In FIG. 2, 5 and 6 and “WG11”, “WG12”, “WG13”, “WA11”, “WA12” and “WA13” are assigned the same reference numerals as those in FIG. 1, and 10 is the development of the Walker and the WalkerGUI. Machine.
[0037]
The administrator previously assigns various Worker classes that may be used by the client created on the machine 10 to the WorkerManager, which is a management program running on the management server 5, as indicated by “NR21” in FIG. register. Also, as shown by “UL21” in FIG. 2, a class pair of a worker class and a corresponding worker GUI class is stored in the web server 6.
[0038]
First, in the client machine 7, at "S001" in FIG. 3, the client machine 7 starts a WorkerManager GUI, which is a pre-installed process for performing communication with the WorkerManager running on the management server 5.
[0039]
In “S002” in FIG. 3, the client machine 7 selects a worker class to be used from the worker classes registered in the worker manager via the worker manager GUI, selects a remote machine to download the worker class to, and requests the worker manager to generate the worker machine. I do.
[0040]
For example, as shown by “RQ11” in FIG. 1, the worker manager is selected so that the class of “WA11” and “WA12” in FIG. 1 is downloaded to the remote machines 9 and 8, respectively.
[0041]
In “S003” in FIG. 3, the client machine 7 is notified of the address of the Web server 6 that is the storage destination of the worker GUI class corresponding to the selected worker class from the worker manager. The client machine 7 accesses the web server 6 at this address to change the worker GUI class. Download the class in the WorkerManager GUI.
[0042]
For example, as shown by “DL11” in FIG. 1, the worker GUI classes “WG11” and “WG12” in FIG. 1 corresponding to “WA11” and “WA12” in FIG. The class is downloaded in the WorkerManager GUI shown in "."
[0043]
In "S004" in FIG. 3, the client machine 7 generates an instance in the worker manager GUI and starts the worker GUI, and starts communication with the worker running on the remote machine in "S005" in FIG. Processing is performed appropriately.
[0044]
For example, “WG11 ′”, which is a Wooker GUI activated as shown by “MC11” in FIG. 1, communicates with “WA11 ′”, which is a Worker activated on the remote machine 9, and “WG11” in FIG. As shown in MC12 ”,“ WG12 ′ ”, which is a worker GUI activated, communicates with“ WA12 ′ ”, which is a worker activated on the remote machine 8.
[0045]
Further, in the management server 5, in "S101" in FIG. 4, the management server 5 starts a WorkerManager that manages the class of the Worker. Then, in “S102” in FIG. 4, it is determined whether or not a request for generation of a worker has been received from the worker manager GUI operating on the client machine 7.
[0046]
If a request for generation of a worker is received from the worker manager GUI in “S102” in FIG. 4, the management server 5 in “S103” in FIG. 4 transmits the request of the worker selected as the class download destination from the worker manager GUI to the remote machine. Instruct generation.
[0047]
For example, as shown by "IW11" and "IW12" in FIG. 1, the remote machine 9 or 8 is notified of the name of the worker class to be downloaded and the address of the web server 6 where the worker class is stored.
[0048]
In "S104" in FIG. 4, the management server 5 notifies the address of the Web server 6, which is the storage destination of the WickerGUI class corresponding to the selected Worker class.
[0049]
Finally, in the remote machines 8 and 9, in step "S201" in FIG. 5, a worker space, which is a process for providing a worker operation area, is started. For example, the remote machine 9 starts a worker space such as “WS11” in FIG. 1, and the remote machine 8 starts a worker space such as “WS12” in FIG.
[0050]
Then, in “S202” in FIG. 5, the remote machines 8 and 9 determine whether or not there has been an instruction to generate a Worker from the WorkerManager, and if there has been an instruction to generate the Worker, the worker specified in “S203” in FIG. Download the class into the WorkerSpace.
[0051]
For example, a worker class name to be downloaded from a worker manager and an address of a web server 6 where the worker class is stored are notified, and the worker classes “WA11” and “WA12” in FIG. 1 are transmitted to the remote machines 9 and 8, respectively. Consider a case where an instruction to download a class is given.
[0052]
The remote machine 9 downloads the worker class indicated by “WA11” in FIG. 1 from the Web server 6 to the worker space indicated by “WS11” in FIG. 1 as indicated by “DL12” in FIG.
[0053]
Similarly, the remote machine 8 downloads the worker class indicated by “WA12” in FIG. 1 from the Web server 6 to the worker space indicated by “WS12” in FIG. 1, as indicated by “DL13” in FIG.
[0054]
Then, in “S204” in FIG. 5, the remote machines 8 and 9 respectively generate instances in the worker space and start the respective workers, and communicate with the worker GUI running on the client machine 7 in “S205” in FIG. To start.
[0055]
For example, as shown by “MC11” in FIG. 1, “WA11 ′” which is a started worker on the remote machine 9 communicates with “WG11 ′” which is one of the started WorkerGUIs on the client machine 7. As shown by “MC12” in FIG. 1, the activated worker “WA12 ′” on the remote machine 8 communicates with the activated other worker GUI “WG12 ′” on the client machine 7. Perform communication.
[0056]
In other words, by operating the WorkerSpace on the remote machine, various types of Worker classes can be dynamically downloaded and the Worker can be started, so that it is not necessary to install various programs on the remote machine each time.
[0057]
In addition, if only the WorkerManager GUI is installed on the client machine 7, various classes of the WorkerGUI can be dynamically downloaded to communicate with the worker operating on the remote machine, so that various programs can be operated with high flexibility. It becomes possible to do.
[0058]
Further, since the WorkerManager and the corresponding WorkerGUI class are managed as a pair by the WorkerManager, version consistency between the remote machine and the client machine is guaranteed.
[0059]
Further, as an application example of the embodiment shown in FIG. 1, the following can be considered.
(1) Remote diagnosis of equipment
(2) Data viewer
(3) Automatic distribution of programs
(4) System startup inspection and periodic inspection
(5) Wide area monitoring and error handling
[0060]
Regarding “(1) Remote diagnosis of device”, a computer or the like for operating a WorkerSpace is connected to the device and various Workers for remote diagnosis are prepared. The user can download a worker corresponding to the abnormality of the device to the computer or the like and diagnose the device.
[0061]
In this case, it is not necessary to install various diagnostic programs on the remote computer or the like, and the remote diagnosis can be performed by downloading the Worker only when necessary. In other words, a low-spec computer can perform sufficient diagnosis.
[0062]
Further, even if a new diagnostic worker is separately developed, it can be used in the existing environment. Further, even if the devices are separately installed, remote diagnosis can be performed collectively by connecting these devices to one computer.
[0063]
As for “(2) Data Viewer”, a computer or the like connected to a database on the remote side and operating a WorkSpace is provided, and various Workers for data analysis and display are prepared. The user can download a Worker that satisfies the format desired to be displayed on the device to the computer or the like and extract data in a desired format.
[0064]
Even in this case, there is no need to install various data analysis programs in a remote computer or the like, and it is possible to download the Worker only when necessary and extract data in a desired format. In other words, a low-spec computer can perform sufficient diagnosis. Further, even when a new data analysis display worker is separately developed, it can be used in the existing environment.
[0065]
Regarding “(3) Automatic distribution of program”, by setting an operation time limit for a worker itself to distribute to a user, a worker that operates for a certain period of time can be distributed to the user. Further, by giving the contract manager information to the worker manager, the worker can be distributed only to the contract user.
[0066]
FIG. 6 is a configuration block diagram showing an example of such a program distribution. In FIG. 6, 5a is a management server, 6a is a Web server, 10a is a machine for development, etc., 11 is a Web server for advertisement, and 12 and 13 are client machines. 52 indicates a development company, 53 indicates a Worker management center, and 54 and 55 indicate users.
[0067]
The management server 5a, the Web servers 6a and 11, and the client machines 12 and 13 are mutually connected by a network (not shown).
[0068]
Here, an application example shown in FIG. 6 will be described. However, description of the same parts as those in FIG. 1 will be omitted. The worker and the worker GUI developed by the development company 52 are stored in the Web server 6a of the worker management center 53 as shown by "UL21" and "NR31" in FIG. 6, and are registered in the worker manager operating on the management server 5a. You.
[0069]
On the other hand, the specifications of the developed Worker and the WorkerManager GUI are published on the advertising Web server 11 of the development company 52, and the interested user downloads the WorkerManager GUI appropriately, installs it on the user's client machine, and starts it.
[0070]
Then, it accesses the management server 5a of the worker management center 53, downloads the class of the worker GUI class, and uses the worker started on the remote machine.
[0071]
For example, the user 55 downloads, installs, and starts the worker manager GUI indicated by “WMG2” in FIG. Then, the user accesses the management server 5a of the worker management center 53 to download and use the worker GUI and worker indicated by “WG31” and “WA31” in FIG.
[0072]
In addition, for example, the user 55 downloads the worker manager GUI indicated by “WMG2” in FIG. 6 from the web server 11 to the client machine 13, installs the same, and starts up. Then, it is also possible to access the management server 5a of the worker management center 53, download only the worker GUI indicated by "WG31" in FIG. 6, and use the worker started on the remote machine.
[0073]
In this case, even when the user is using the program, the worker GUI and the worker indicated by “WG31” and “WA31” in FIG. 6 stored in the management server 5a of the worker management center 53 can be updated as needed. Therefore, maintenance work such as updating can be performed even while the user is using it.
[0074]
On the other hand, the user can always use the latest program when downloading only the Worker GUI such as “WG31” in FIG.
[0075]
Further, in a system as described below, the worker GUI is downloaded at the time of startup, and if many users download at the same time, there is a problem that the traffic on the network increases.
[0076]
For example, when this system is applied to an automatic teller machine (ATM) of a bank, a download of the Worker GUI occurs at the same time as the business start time.
[0077]
In this case, "ReloadID" indicating the download permission time is set in the client machine, and a cache for storing the downloaded WorkerGUI class, class name, and storage location information of the WorkerGUI class is provided.
[0078]
For example, as “ReloadID”, times such as “10:30”, “11:30”, and “12:30” are set, and the traffic on the network is dispersed and set on average. . Of course, the set times may overlap.
[0079]
On the other hand, the remote machine on which the selected worker is executed is provided with a cache for storing the downloaded worker class, class name, and storage location information of the worker class.
[0080]
Then, the client machine and the remote machine store the above information and the like in their respective caches when the Worker GUI class and the Worker class are downloaded.
[0081]
Here, the operations of the client machine and the remote machine will be described with reference to FIGS. FIG. 7 is a flowchart illustrating the operation of the client machine, and FIG. 8 is a flowchart illustrating the operation of the remote machine. However, since the basic operation has already been described, the description of that part will be omitted.
[0082]
In "S301" in FIG. 7, the client machine selects a worker to be used. At this time, in "S302" in FIG. 7, it is determined whether or not the WorkerGUI class corresponding to the selected Worker is stored in the cache of the client machine.
[0083]
If the worker GUI exists in the cache of the client machine, the client machine compares the current time with “ReloadID” set in the client machine in “S303” in FIG. 7 and determines that the current time is “ReloadID”. It is determined whether or not the set time has passed.
[0084]
If the current time has not passed the set time of “ReloadID”, the client machine informs the WorkerManager of the storage location information of the WorkerGUI stored in the cache in “S304” in FIG.
[0085]
When requesting a remote machine to generate a worker, the worker manager notifies the remote machine of the storage location of the worker corresponding to the storage location information of the worker GUI obtained from the client machine.
[0086]
Then, in "S305" in FIG. 7, the client machine copies the worker GUI class in the cache into the worker manager GUI.
[0087]
On the other hand, when the worker GUI does not exist in the cache of the client machine in “S302” in FIG. 7, and when the set time of “ReloadID” has elapsed in “S303” in FIG. 7, “S306” in FIG. In "", the client machine downloads the class of the WorkerGUI class into the WorkerManager GUI.
[0088]
Finally, in “S307” in FIG. 7, the client machine generates an instance in the WorkerManager GUI and activates the WorkerGUI.
[0089]
On the other hand, in “S401” in FIG. 8, the remote machine determines whether or not there has been an instruction to generate a Woker from the WokerManager. It is determined whether the worker class whose generation has been instructed is stored.
[0090]
If the worker whose generation is instructed exists in the cache of the remote machine, the remote machine copies the worker class in the cache into the worker space in "S403" in FIG.
[0091]
If the worker whose generation has been instructed does not exist in the cache of the remote machine, the remote machine downloads the class of the worker into the worker space in “S404” in FIG.
[0092]
Finally, in “S405” in FIG. 8, the remote machine generates an instance in the WorkerSpace and activates the Worker.
[0093]
That is, in the client machine, the worker GUI class corresponding to the worker used for the cache is stored, and the stored worker GUI is used until the set time of “ReloadID” elapses. Can be alleviated.
[0094]
Similarly, when the remote machine stores the generated and retired worker class in the cache, the use of the worker can reduce traffic concentration on the network.
[0095]
Further, even when the version of the Worker GUI and the worker on the Web server are upgraded, the fact that the use of the worker GUI in the cache is transmitted to the remote machine by the worker manager on the client machine, so that different versions of the worker GUI are used between the client machine and the remote machine. And Walker are prevented from being activated.
[0096]
Regarding “(4) System startup inspection and periodic inspection”, the worker space is operated on the system, and an inspection program necessary only at the time of starting the system and a periodic inspection program not used in normal operation are prepared as a worker.
[0097]
Even in this case, there is no need to install various inspection programs on the system side, and the designated inspection can be performed by downloading the Worker only when necessary. Further, even if a new inspection worker is separately developed, it can be used in the existing environment.
[0098]
Regarding “(5) Wide-area monitoring and abnormality processing”, in the field of wide-area monitoring and ITS (Intelligent Transport Systems), a sensor device or an actuator device capable of operating Java or Java having an interface with such a device. Equipment that can operate is widely arranged. On the other hand, a worker for instructing each device and a worker for monitoring devices are prepared.
[0099]
Then, the monitor can download the worker to each device as necessary and remotely monitor and instruct.
[0100]
In the embodiment shown in FIG. 1, for the sake of simplicity, the management server 5 on which a WorkerManager operates, the Web server 6 on which a Worker class and a WorkerGUI class are stored, and the remote machines 8 and 9 on which a WorkerSpace operates However, if the conditions of network traffic and machine specifications permit, all roles may be aggregated in one machine or roles may be integrated.
[0101]
For example, the management server 5 and the Web server 6 may be integrated, or the Web server 6 and the remote machines 8 and 9 may be integrated.
[0102]
Further, in the embodiment shown in FIG. 1, the worker class and the worker GUI class are described as a one-to-one pair, but the present invention is not limited to this. For example, by preparing a plurality of worker GUI classes for one worker class, the flexibility of appropriately selecting a GUI corresponding to the specifications of the client machine is improved.
[0103]
【The invention's effect】
As is apparent from the above description, the present invention has the following effects.According to the first, second and third aspects of the present invention,By operating WorkerSpace on the remote machine, various types of Worker classes can be dynamically downloaded and the Worker can be started, so that it is not necessary to install various programs on the remote machine each time.
[0104]
Also, if only the WorkerManager GUI is installed on the client machine, various classes of the WorkerGUI can be dynamically downloaded to communicate with the worker operating on the remote machine, so that various programs can be operated with high flexibility. It becomes possible.
[0105]
Further, since the WorkerManager and the corresponding WorkerGUI class are managed as a pair by the WorkerManager, version consistency between the remote machine and the client machine is guaranteed.
[0108]
Also,The invention of claims 4 to 7According to the above, by appropriately selecting the type of program, remote diagnosis of equipment, data viewer, automatic distribution of program, system startup inspection and periodic inspection, wide area monitoring, processing of abnormality, and the like can be performed.
[0109]
Also,Claims 8 and 9According to the above, the client machine and the remote machine are provided with a cache for storing the downloaded user interface class and the class and the related information, and use the user interface program stored in the cache until a set time elapses. Thus, traffic concentration on the network can be reduced.
[0110]
Also,The invention of claim 10According to the above, the client machine transmits the user interface class stored in the cache to the remote machine via a server that manages programs and the like, whereby the client machine and the remote machine have different versions. The user interface class and the class are prevented from being activated.
[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 an explanatory diagram illustrating registration of a worker and a worker GUI, and the like.
FIG. 3 is a flowchart illustrating the operation of the client machine.
FIG. 4 is a flowchart illustrating the operation of the management server.
FIG. 5 is a flowchart illustrating the operation of the remote machine.
FIG. 6 is a configuration block diagram illustrating an example of program distribution.
FIG. 7 is a flowchart illustrating the operation of the client machine.
FIG. 8 is a flowchart illustrating the operation of the remote machine.
FIG. 9 is a configuration block diagram illustrating an example of a program operation method using a Java applet.
[Explanation of symbols]
1,6,6a, 11 Web server
2,4,10,10a machine
3,7,12,13 Client machine
5,5a Management server
8, 9 remote machine
50 server sites
51 client sites
52 Development Company
53 Worker Management Center
54,55 users

Claims (10)

ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
複数の前記クラスと、複数の前記クラスとの通信をそれぞれ行う複数のユーザインターフェース・クラスとを一対一に対応させて管理すると共にクライアントマシンで動作するプロセスからの生成依頼に基づき複数の前記クラスの一のクラスをプロセス中にクラスダウンロードして実行するサーバと、
前記サーバと通信をすると共に前記サーバから前記一のクラスに一対一に対応する前記ユーザインターフェース・クラスをプロセス中にクラスダウンロードして実行させ前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンと
を備えたことを特徴とするシステム。
In a system using a program execution method of distributing and operating a class via a network,
A plurality of said classes, of the plurality of classes based on the generated request from a process running on the client machine while managing a plurality of user interface classes for performing communication each of the plurality of classes is one-to-one correspondence and servers that run the class download one of the class in the process,
Communicates with the server, downloads and executes the user interface class corresponding to the one-to-one class from the server in a process, and communicates with the class via the user interface class. And a client machine for performing.
ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
複数の前記クラスと、複数の前記クラスとの通信をそれぞれ行う複数のユーザインターフェース・クラスとを一対一に対応させて管理するサーバと、
クライアントマシンで動作するプロセスからの生成依頼に基づき複数の前記クラスの一のクラスをプロセス中にクラスダウンロードして実行するリモートマシンと、
前記サーバと通信をすると共に前記サーバから前記一のクラスに一対一に対応する前記ユーザインターフェース・クラスをプロセス中にクラスダウンロードして実行させ前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンと
を備えたことを特徴とするシステム。
In a system using a program execution method of distributing and operating a class via a network,
And the plurality of classes, and a server for managing a plurality of user interface classes for performing communication each of the plurality of classes is one-to-one correspondence,
A remote machine that downloads and executes a class of one of the plurality of classes during the process based on a generation request from a process running on the client machine;
Communicates with the server, downloads and executes the user interface class corresponding to the one-to-one class from the server in a process, and communicates with the class via the user interface class. And a client machine for performing.
ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
複数の前記クラスと、複数の前記クラスとの通信をそれぞれ行う複数のユーザインターフェース・クラスとが一対一に対応させて格納されたWebサーバと、
複数の前記クラス及び複数の前記ユーザインターフェース・クラスの登録管理を行う管理サーバと、
クライアントマシンで動作するプロセスからの生成依頼に基づき複数の前記クラスの一のクラスをプロセス中にクラスダウンロードして実行するリモートマシンと、
前記管理サーバと通信をすると共に前記Webサーバから前記一のクラスに一対一に対応する前記ユーザインターフェース・クラスをプロセス中にクラスダウンロードして実行させ前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンと
を備えたことを特徴とするシステム。
In a system using a program execution method of distributing and operating a class via a network,
And the plurality of classes, and the Web server and a plurality of user interface classes for communicating with a plurality of said classes each of which is stored in correspondence with one-to-one,
A management server that performs registration management of the plurality of classes and the plurality of user interface classes;
A remote machine that downloads and executes a class of one of the plurality of classes during the process based on a generation request from a process running on the client machine;
Communicates with the management server and downloads and executes the user interface class corresponding to the one class on a one-to-one basis during the process from the web server, and executes the class via the user interface class. And a client machine that communicates with the client.
前記クラスが、Said class,
システムに備えられた機器のリモート診断用のクラスであることを特徴とする  It is a class for remote diagnosis of equipment provided in the system.
請求項1乃至請求項3のいずれかに記載のシステム。The system according to claim 1.
前記クラスが、Said class,
データ解析表示用のクラスであることを特徴とする  It is a class for data analysis display
請求項1乃至請求項3のいずれかに記載のシステム。The system according to claim 1.
前記クラスが、Said class,
システムの点検クラスであることを特徴とする  Characterized as a system inspection class
請求項1乃至請求項3のいずれかに記載のシステム。The system according to claim 1.
前記クラスが、Said class,
システムに備えられた各機器に対する指示を行うクラス若しくはシステムに備えられた機器を監視するクラスであることを特徴とする  It is a class that gives an instruction to each device provided in the system or a class that monitors devices provided in the system.
請求項1乃至請求項3のいずれかに記載のシステム。The system according to claim 1.
前記クライアントマシン及び前記リモートマシンが、The client machine and the remote machine,
ダウンロードしてきた前記ユーザインターフェース・クラス及び前記クラスと関連情報を記憶するキャッシュを有することを特徴とする  And a cache for storing the downloaded user interface class and the class and related information.
請求項2若しくは請求項3記載のシステム。A system according to claim 2 or claim 3.
前記クライアントマシンが、The client machine is
前記キャッシュに前記ユーザインターフェース・クラスが存在する場合に設定時刻が経過するまで前記キャッシュに記憶された前記ユーザインターフェース・クラスを使用することを特徴とする  When the user interface class exists in the cache, the user interface class stored in the cache is used until a set time elapses.
請求項8記載のシステム。The system according to claim 8.
前記クライアントマシンが、The client machine is
前記キャッシュに記憶された前記ユーザインターフェース・クラスを使用する場合に前記クラス及び前記ユーザインターフェース・クラスとを管理するサーバを介して前記リモートマシンにその情報を伝えることを特徴とする  When using the user interface class stored in the cache, the information is transmitted to the remote machine via a server that manages the class and the user interface class.
請求項9記載のシステム。The system according to claim 9.
JP2000217473A 2000-05-26 2000-07-18 System using program execution method Expired - Fee Related JP3577714B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000217473A JP3577714B2 (en) 2000-05-26 2000-07-18 System using program execution method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000156230 2000-05-26
JP2000-156230 2000-05-26
JP2000217473A JP3577714B2 (en) 2000-05-26 2000-07-18 System using program execution method

Publications (2)

Publication Number Publication Date
JP2002049486A JP2002049486A (en) 2002-02-15
JP3577714B2 true JP3577714B2 (en) 2004-10-13

Family

ID=26592688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000217473A Expired - Fee Related JP3577714B2 (en) 2000-05-26 2000-07-18 System using program execution method

Country Status (1)

Country Link
JP (1) JP3577714B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4710171B2 (en) * 2001-06-07 2011-06-29 横河電機株式会社 Program execution method and system using the same
KR101547721B1 (en) 2008-11-27 2015-08-26 인터내셔널 비지네스 머신즈 코포레이션 System for assisting with execution of actions in response to detected events, method for assisting with execution of actions in response to detected events, assisting device, and computer program

Also Published As

Publication number Publication date
JP2002049486A (en) 2002-02-15

Similar Documents

Publication Publication Date Title
EP1679602B1 (en) Shared memory based monitoring for application servers
CN102202078B (en) The method and system of a kind of multiple foreign peoples roles for configuration server field
JP4914717B2 (en) Sustainable grid manager
US7418489B2 (en) Method and apparatus for applying policies
US7062516B2 (en) Methods, systems, and articles of manufacture for implementing a runtime logging service storage infrastructure
US9830135B2 (en) Declarative and pluggable business logic for systems management
US10656971B2 (en) Agile framework for vertical application development and delivery
JP2009521746A (en) Program execution service window
US8412901B2 (en) Making automated use of data volume copy service targets
US20080189402A1 (en) Method and Respective System for Performing Systems Management on IT-Resources Using Web Services
AU2009202285A8 (en) Java application framework for use in a content delivery network (CDN)
KR20110030447A (en) Synchronizing virtual machine and application life cycles
US20090157796A1 (en) Cell-based computing platform where services and agents interface within cell structures to perform computing tasks
KR20160136489A (en) Method for Resource Management base of Virtualization for cloud service
JPH09305408A (en) Application executing method
GB2346986A (en) Microcode upgrading
JPH10171635A (en) System and method for managing software resource in distributed environments
JPH1165968A (en) Method and system for managing network
CN117560373A (en) Multi-tenant cloud IDE management system based on cloud primordia
JP3577714B2 (en) System using program execution method
US20170031667A1 (en) Managing application lifecycles within a federation of distributed software applications
US7739355B2 (en) Method and system for creating a graphic user interface for controlling, configuring and/or diagnosing an electrophotographic copying or printing apparatus
JP4882291B2 (en) Module update program
KR100431049B1 (en) Method and System for Remote Installation of a Software on Client Computers from a Server
KR100721407B1 (en) Method And System For Integratedly Managing Service

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040210

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040531

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040704

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090723

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees