JP3577714B2 - プログラム実行方法を用いたシステム - Google Patents
プログラム実行方法を用いたシステム Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Information Transfer Between Computers (AREA)
Description
【発明の属する技術分野】
本発明は、ネットワークを介してプログラムを配信して動作させるプログラム実行方法及びこれを用いたシステムに関し、特に柔軟性が高く様々なプログラムを実行させることが可能なプログラム実行方法及びこれを用いたシステムに関する。
【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 ユーザ
Claims (10)
- ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
複数の前記クラスと、複数の前記クラスとの通信をそれぞれ行う複数のユーザインターフェース・クラスとを一対一に対応させて管理すると共にクライアントマシンで動作するプロセスからの生成依頼に基づき複数の前記クラスの一のクラスをプロセス中にクラスダウンロードして実行するサーバと、
前記サーバと通信をすると共に前記サーバから前記一のクラスに一対一に対応する前記ユーザインターフェース・クラスをプロセス中にクラスダウンロードして実行させ前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンと
を備えたことを特徴とするシステム。 - ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
複数の前記クラスと、複数の前記クラスとの通信をそれぞれ行う複数のユーザインターフェース・クラスとを一対一に対応させて管理するサーバと、
クライアントマシンで動作するプロセスからの生成依頼に基づき複数の前記クラスの一のクラスをプロセス中にクラスダウンロードして実行するリモートマシンと、
前記サーバと通信をすると共に前記サーバから前記一のクラスに一対一に対応する前記ユーザインターフェース・クラスをプロセス中にクラスダウンロードして実行させ前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンと
を備えたことを特徴とするシステム。 - ネットワークを介してクラスを配信して動作させるプログラム実行方法を用いたシステムにおいて、
複数の前記クラスと、複数の前記クラスとの通信をそれぞれ行う複数のユーザインターフェース・クラスとが一対一に対応させて格納されたWebサーバと、
複数の前記クラス及び複数の前記ユーザインターフェース・クラスの登録管理を行う管理サーバと、
クライアントマシンで動作するプロセスからの生成依頼に基づき複数の前記クラスの一のクラスをプロセス中にクラスダウンロードして実行するリモートマシンと、
前記管理サーバと通信をすると共に前記Webサーバから前記一のクラスに一対一に対応する前記ユーザインターフェース・クラスをプロセス中にクラスダウンロードして実行させ前記ユーザインターフェース・クラスを介して前記クラスとの間で通信を行うクライアントマシンと
を備えたことを特徴とするシステム。 - 前記クラスが、
システムに備えられた機器のリモート診断用のクラスであることを特徴とする
請求項1乃至請求項3のいずれかに記載のシステム。 - 前記クラスが、
データ解析表示用のクラスであることを特徴とする
請求項1乃至請求項3のいずれかに記載のシステム。 - 前記クラスが、
システムの点検クラスであることを特徴とする
請求項1乃至請求項3のいずれかに記載のシステム。 - 前記クラスが、
システムに備えられた各機器に対する指示を行うクラス若しくはシステムに備えられた機器を監視するクラスであることを特徴とする
請求項1乃至請求項3のいずれかに記載のシステム。 - 前記クライアントマシン及び前記リモートマシンが、
ダウンロードしてきた前記ユーザインターフェース・クラス及び前記クラスと関連情報を記憶するキャッシュを有することを特徴とする
請求項2若しくは請求項3記載のシステム。 - 前記クライアントマシンが、
前記キャッシュに前記ユーザインターフェース・クラスが存在する場合に設定時刻が経過するまで前記キャッシュに記憶された前記ユーザインターフェース・クラスを使用することを特徴とする
請求項8記載のシステム。 - 前記クライアントマシンが、
前記キャッシュに記憶された前記ユーザインターフェース・クラスを使用する場合に前記クラス及び前記ユーザインターフェース・クラスとを管理するサーバを介して前記リモートマシンにその情報を伝えることを特徴とする
請求項9記載のシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000217473A JP3577714B2 (ja) | 2000-05-26 | 2000-07-18 | プログラム実行方法を用いたシステム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-156230 | 2000-05-26 | ||
JP2000156230 | 2000-05-26 | ||
JP2000217473A JP3577714B2 (ja) | 2000-05-26 | 2000-07-18 | プログラム実行方法を用いたシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002049486A JP2002049486A (ja) | 2002-02-15 |
JP3577714B2 true JP3577714B2 (ja) | 2004-10-13 |
Family
ID=26592688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000217473A Expired - Fee Related JP3577714B2 (ja) | 2000-05-26 | 2000-07-18 | プログラム実行方法を用いたシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3577714B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4710171B2 (ja) * | 2001-06-07 | 2011-06-29 | 横河電機株式会社 | プログラム実行方法及びこれを用いたシステム |
CN102216908B (zh) * | 2008-11-27 | 2015-10-14 | 国际商业机器公司 | 支援执行对应于检测事件的动作的***、方法和装置 |
-
2000
- 2000-07-18 JP JP2000217473A patent/JP3577714B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002049486A (ja) | 2002-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1679602B1 (en) | Shared memory based monitoring for application servers | |
CN102202078B (zh) | 一种用于配置服务器场的多个异类角色的方法和*** | |
JP4914717B2 (ja) | 維持可能なグリッドマネージャ | |
US7418489B2 (en) | Method and apparatus for applying policies | |
US7062516B2 (en) | Methods, systems, and articles of manufacture for implementing a runtime logging service storage infrastructure | |
US10656971B2 (en) | Agile framework for vertical application development and delivery | |
US20080201568A1 (en) | Version-resilient loader for custom code runtimes | |
JP2009521746A (ja) | プログラム実行サービスウィンドウ | |
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 (ko) | 가상 머신 및 애플리케이션 수명들의 동기화 | |
US20090157796A1 (en) | Cell-based computing platform where services and agents interface within cell structures to perform computing tasks | |
KR20160136489A (ko) | 클라우드 서비스를 위한 가상화 기반 자원 관리 방법 | |
JP5346405B2 (ja) | ネットワークシステム | |
JPH09305408A (ja) | アプリケーション実行方法 | |
GB2346986A (en) | Microcode upgrading | |
JPH10171635A (ja) | 分散環境におけるソフトウエア資源を管理するシステムと方法 | |
JPH1165968A (ja) | ネットワーク管理方法及びそのシステム | |
JP3577714B2 (ja) | プログラム実行方法を用いたシステム | |
US20170031667A1 (en) | Managing application lifecycles within a federation of distributed software applications | |
EP1061445A2 (en) | Web-based enterprise management with transport neutral client interface | |
US7739355B2 (en) | Method and system for creating a graphic user interface for controlling, configuring and/or diagnosing an electrophotographic copying or printing apparatus | |
JP4882291B2 (ja) | モジュール更新プログラム | |
KR100431049B1 (ko) | 서버에서 클라이언트 컴퓨터에 소프트웨어를 원격설치하기 위한 방법 및 시스템 |
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 |