JPH10171662A - アプリケーション実行方法 - Google Patents

アプリケーション実行方法

Info

Publication number
JPH10171662A
JPH10171662A JP8340529A JP34052996A JPH10171662A JP H10171662 A JPH10171662 A JP H10171662A JP 8340529 A JP8340529 A JP 8340529A JP 34052996 A JP34052996 A JP 34052996A JP H10171662 A JPH10171662 A JP H10171662A
Authority
JP
Japan
Prior art keywords
file
application
download
priority
files
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.)
Pending
Application number
JP8340529A
Other languages
English (en)
Inventor
Yuji Mizote
裕二 溝手
Masasuke Tominaga
雅介 冨永
Tetsuya Masuishi
哲也 増石
Yuri Honda
由里 本田
Koichi Shimazaki
康一 嶋崎
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8340529A priority Critical patent/JPH10171662A/ja
Publication of JPH10171662A publication Critical patent/JPH10171662A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】本発明の目的は、アプリケーションを構成する
プログラム情報を格納する複数のファイルをリモート計
算機からローカル計算機にダウンロードして実行するシ
ステムにおいて、ファイルダウンロードにおけるユーザ
の待ち時間を削減することである。 【解決手段】特定のファイルのプログラムを実行中に別
のファイルが必要になったとき、該ファイルがローカル
計算機のファイルシステムに存在しなければ、リモート
計算機のファイルシステムからローカル計算機のファイ
ルシステムに該ファイルをダウンロードする処理を行っ
た後、ローカル計算機のファイルシステムにある該ファ
イルをメモリ中に読み込んで実行する処理と、その処理
と並行して行われる処理で、ファイルダウンロードの優
先順位を記述する優先順位情報を参照し、その優先順序
に基づいて、リモート計算機上のファイルシステムから
ローカル計算機上のファイルシステムにダウンローデン
グを行うダウンロード処理を行うようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、アプリケーション
を構成するプログラム情報を格納するファイルをリモー
ト計算機のファイルシステムからローカル計算機のファ
イルシステムにダウンロードして解釈実行するシステ
ム、特に、入出力装置を用いたユーザとの対話的操作を
多く含むアプリケーションファイルをダウンロードして
実行するシステムにおいて、ファイルダウンローディン
グ時のユーザの待ち時間を削減するアプリケーション実
行方法に関する。
【0002】
【従来の技術】「NetScapeの機能拡張で存在感薄れるW
in95」(日経バイト(1996年4月、日経BP
社),pp166〜177)(文献1)に示されている
ように、近年、世界的規模のネットワーク網であるイン
ターネットとインターネット上の情報開示システムの一
つであるWWW(World Wide Web)の発
達により、Webサーバ上で開示されたWebページを
クライアント側でWebブラウザを用いて見ることはも
ちろんのこと、Webブラウザ上でマウスを用いた簡単
な操作でリモート計算機のファイルをクライアントマシ
ンにダウンロードしたり、ダウンロードするファイルに
応じたプログラム(ヘルパープログラムやプラグインと
呼ぶ)を起動させることにより、リモート計算機のファ
イルのデータを読み込んでその場でアプリケーションを
実行することも可能になった。
【0003】1つのアプリケーションを構成する複数の
ファイルをリモート計算機のファイルシステムにおき、
それらのファイルをローカル計算機のファイルシステム
にダウンロードし、そのファイルをオープンして実行す
る場合、従来においては、アプリケーション実行前にす
べてのファイルをダウンロードするか、実行中にファイ
ルが必要になった時、必要なファイルだけをダウンロー
ドするということが行われていた。
【0004】また、リモート計算機のファイルシステム
上にあるファイルを、ローカル計算機にネットワーク経
由で転送し、そのデータを用いてアプリケーションを実
行するアプリケーション実行環境として、Sun Mi
crosystems,Incが開発したオブジェクト
指向型言語Javaを用いて作成したアプリケーション
をJava対応のWebブラウザ上で実行する場合があ
る(上記文献1)。ただし、Javaは、リモート計算
機上のアプリケーションファイルをローカル計算機のフ
ァイルシステムに格納してからファイルオープンして実
行するのではなく、ローカル計算機のメモリに直接読み
こんで実行するものである。Javaでは、アプリケー
ションの実行単位は”アプレット”と呼ばれるプログラ
ム部品である。Java対応のWebブラウザでは、W
ebページ内にサーバー情報を伴ったアプレットを示す
記述があると、リモートのサーバー計算機のファイルシ
ステムにあるアプレットファイルをローカル計算機に転
送し、ローカルマシン内のJava実行システムを用い
て、アプレットを実行・表示する。このアプレット自身
も、リモート計算機のファイルシステム内の別ファイル
に実装された他のJavaプログラム部品を用いて構成
することができ、アプレット実行時に、ローカル計算機
のJava実行システムは、必要な部品のファイルをロ
ーカル計算機に新たに転送して実行する。
【0005】上記従来技術では、リモート計算機からロ
ーカル計算機に必要になったファイルだけ転送するの
で、ファイルのトータルのサイズを一般に小さく保つこ
とができ、一般に時間のかかるネットワークを介してフ
ァイルを転送する処理を無駄に行わずに済むという利点
があった。
【0006】
【発明が解決しようとする課題】しかし、上記従来技術
では、特に大きなサイズのファイルを転送する場合に
は、その間ユーザを待たせてしまうという問題があっ
た。また、JAVAを用いても、必要なファイルが複数
に及ぶ場合はそれらすべてをリモート計算機からローカ
ル計算機に転送するので、結果的に大きなサイズのファ
イルを転送することになりユーザを待たせることがあっ
た。
【0007】本発明の目的は、アプリケーションを構成
するプログラム情報を格納する複数のファイルをリモー
ト計算機からローカル計算機にダウンロードして実行す
るシステムにおいて、ファイルダウンロードにおけるユ
ーザの待ち時間を削減することである。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に係る発明は、複数のファイルから構成さ
れるアプリケーション・プログラムをファイルシステム
上に保持するリモート計算機から、前記アプリケーショ
ン・プログラムを構成するファイル群をローカル計算機
上のファイルシステムにダウンロードし、前記ローカル
計算機上で前記ダウンロードしたファイルを内部記憶装
置上に格納し、内部記憶装置上に格納したプログラムを
解釈して実行するアプリケーション実行方法において、
アプリケーションを実行するのに必要なファイルがロー
カル計算機のファイルシステムに存在するか否かを判定
する第1の処理ステップと、前記第1の処理ステップに
よりローカル計算機中のファイルシステムに前記ファイ
ルが存在しないことが判明した場合、リモート計算機の
ファイルシステムからローカル計算機のファイルシステ
ムに前記ファイルをダウンロードする第2の処理ステッ
プと、前記ファイルをダウンロードしたことを管理する
第3の処理ステップと、前記ファイルをローカル計算機
の内部記憶装置に格納するとともに、前記ファイルを内
部記憶装置に格納したことを管理する第4の処理ステッ
プと、前記アプリケーションを構成する複数のファイル
のダウンロード処理の優先順位を表す優先順位情報をア
プリケーションを構成するファイルの1つ中に含め、前
記アプリケーションの実行前に、前記優先順位情報を含
むファイルをローカル計算機にダウンロードし、ダウン
ロードした前記優先順位情報を用いてアプリケーション
構成ファイルのダウンロードの優先順位を記述した優先
順位テーブルを作成する第5の処理ステップと、前記第
1、第2、第3、および第4の処理ステップと並行して
行われる処理であって、前記優先順位テーブルを参照
し、その優先順位の順にリモート計算機上のファイルシ
ステムからローカル計算機上のファイルシステムにファ
イルをダウンロードし、ダウンロードしたファイルを管
理する第6の処理ステップとを備えたことを特徴とす
る。
【0009】請求項2に係る発明は、請求項1におい
て、前記アプリケーション実行時に、実行対象のファイ
ルを管理する処理ステップと、前記アプリケーションを
構成するファイルの1つ中に、そのアプリケーションを
構成する複数ファイル間の依存関係情報を含め、前記依
存関係情報および前記実行対象ファイルの管理情報に基
づいて、ダウンロードの優先順位をアプリケーションの
実行時に動的に決定する処理ステップとをさらに備えた
ことを特徴とする。
【0010】請求項3に係る発明は、複数のファイルか
ら構成されるアプリケーション・プログラムをファイル
システム上に保持するリモート計算機から、前記アプリ
ケーション・プログラムを構成するファイル群をローカ
ル計算機上のファイルシステムにダウンロードし、前記
ローカル計算機上で前記ダウンロードしたファイルを内
部記憶装置上に格納し、内部記憶装置上に格納したプロ
グラムを解釈して実行するアプリケーション実行方法に
おいて、前記ローカル計算機上で、前記アプリケーショ
ンを構成するファイルのうちの1つを内部記憶装置上に
格納して実行する実行ステップと、前記ローカル計算機
上で、前記実行ステップとは別プロセスで並行して、前
記アプリケーションを構成する他のファイルのダウンロ
ードを順次行うダウンロードステップとを備えたことを
特徴とする。
【0011】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。
【0012】図1は、本発明に係るアプリケーション実
行方法を実現するために用いる計算機の構成(100)
の例を示すものである。前記計算機は、内部記憶装置で
あるメモリ(106)、ファイルシステムで管理される
ファイルの実体を格納する外部記憶装置(103)、ア
プリケーションの実行処理等を行う中央処理装置(10
4)、ユーザからの入力出力を受けるための入出力装置
(102)、計算機の処理内容等を表示する表示装置
(101)、およびネットワークからのデータの入出力
を行うネットワーク装置(105)から構成され、これ
らの構成要素は互いにデータを転送するためのバス(1
07)により接続されている。
【0013】図2は、本発明に係るアプリケーション実
行方法を適用したアプリケーション実行システムの構成
およびその動作環境(200)を示す。本アプリケーシ
ョン実行システム(202)は、アプリケーション実行
部(2021)、ダウンロード管理部(2022)、ロ
ードモジュールファイル管理テーブル(2023)、ダ
ウンロードファイル管理テーブル(2024)、ダウン
ロード情報(2026)、および優先順位テーブル(2
025)を備えている。
【0014】次に、本アプリケーション実行システムの
動作環境について述べる。動作環境としては、「従来の
技術」で述べた従来技術であるWWWを利用する。計算
機(201)は、アプリケーション実行システム(20
2)が実行される計算機であり、これをローカル計算機
と呼ぶ。計算機(205)は、ネットワーク(204)
を介してローカル計算機(201)と接続されている。
前記計算機(205)をリモート計算機と呼ぶ。ローカ
ル計算機(201)とリモート計算機(205)は図1
に示した構成を有する。リモート計算機(205)上で
は、サーバープログラム(206)と呼ばれるプログラ
ムが実行されており、公知のネットワーク技術を利用し
て、ローカル計算機(201)上で実行されているアプ
リケーション実行システム(202)が、リモート計算
機(205)上のサーバープログラム(206)に対し
てリモート計算機(205)上のファイルシステム(2
07)中にあるファイルの転送要求を行い、その要求に
対して、リモート計算機(205)は要求対象となって
いるファイルをローカル計算機(201)に転送し、ロ
ーカル計算機(201)のファイルシステム(203)
に格納する。
【0015】本実施形態では、一つのアプリケーション
は、2つ以上の複数のファイルから構成される。これら
のファイルをモジュールファイルと呼ぶ。モジュールフ
ァイルには、アプリケーションを構成するプログラムと
該プログラム実行に必要なデータが格納されている。特
に、アプリケーションの実行開始時に実行されるプログ
ラムを含むファイルを先頭モジュールファイルと呼ぶ。
モジュールファイルは、ローカル計算機(201)のフ
ァイルシステム(203)、または、リモート計算機
(205)のファイルシステム(207)に存在する。
【0016】本実施形態では、ローカル計算機(20
1)がアプリケーションの実行時に必要とするファイル
をリモート計算機(205)に対して転送要求を行い、
ローカル計算機(201)が前記ファイルを取得し、ア
プリケーションの実行を行う。
【0017】図3は、ロードモジュールファイル管理テ
ーブル(2023)のデータ構造(300)を示すもの
である。ロードモジュールファイル管理テーブル(20
23)は、メモリ上にロードされたモジュールファイル
を管理するためのテーブルであり、ロードモジュールフ
ァイルエントリ(301)と呼ばれるデータ構造を要素
として持つ配列である。ロードモジュールファイルエン
トリ(301)は、モジュールファイル名称と呼ばれる
文字列(3011)、およびロードされたモジュールフ
ァイルのメモリ中の先頭アドレス(3012)から構成
されるデータ構造である。
【0018】図4は、ダウンロードファイル管理テーブ
ル(2024)のデータ構造(400)を示すものであ
る。ダウンロードファイル管理テーブル(2024)
は、ダウンロードされたモジュールファイルを管理する
ためのテーブルであり、ダウンロードファイルエントリ
(401)と呼ばれるデータ構造を要素として持つ配列
である。ダウンロードファイルエントリ(401)は、
モジュールファイル名称と呼ばれる文字列(401
1)、およびダウンロード状態(4012)から構成さ
れるデータ構造である。ダウンロード状態(4012)
は、整数型のデータ構造であり、対応するモジュールフ
ァイルの状態として、DOWNLOADEDまたはNO
T_DOWNLOADの2つの値の何れかをとる。
【0019】図5は、ダウンロード情報(2026)の
データ構造(500)を示すものである。ダウンロード
情報(2026)は、バックグラウンドでダウンロード
を行う際(詳しくは後述するが、本アプリケーション実
行システムでは、アプリケーションの実行処理を行うメ
イン処理プロセスのバックグラウンドでダウンロードを
行うダウンロードプロセスを実行するようになってい
る)のスレッドの制御のために用いるテーブルである。
ダウンロード情報(2026)は、スレッドフラグ(5
01)、カレントダウンロードファイルインデックス
(502)、リモート計算機のネットワークアドレス
(503)、モジュールファイルのリモート計算機上で
の格納先ディレクトリ(504)、およびインストール
ディレクトリ(505)からなる。
【0020】スレッドフラグ(501)は、整数型のデ
ータ型で、値としてAPPLICATION_QUI
T、DOWNLOAD_QUIT、APPLICATI
ON_RUNの3つの値をとる。スレッドフラグ(50
1)は、アプリケーションを実行するプロセスとダウン
ロードを実行するプロセスとの間で同期をとるために用
いるフラグである。カレントダウンロードファイルイン
デックス(502)は、整数型のデータ構造であり、優
先順位テーブル(600)中のあるエントリのインデッ
クス値(どこまでダウンロードしたかを示すインデック
ス値)を保持する。リモート計算機のネットワークアド
レス(503)は、アプリケーション実行システム(2
02)が実行の対象とするアプリケーションを構成する
ファイルをファイルシステム中に保持するリモート計算
機(207)のネットワークの上のアドレスを保持する
データ構造である。モジュールファイルのリモート計算
機上での格納先ディレクトリ(504)は、前記リモー
ト計算機(207)のファイルシステム(207)に格
納されているアプリケーションのモジュールファイルの
格納先ディレクトリパスを保持するデータ構造である。
インストールディレクトリ(505)は、モジュールフ
ァイルのローカル計算機(201)上での格納先ディレ
クトリである。
【0021】図6は、優先順位テーブル(2025)の
データ構造(600)を示すものである。優先順位テー
ブル(2025)は、1つのアプリケーション実行ごと
に用意されるテーブルであり、そのアプリケーションを
構成する複数のモジュールファイルをダウンロードする
際の優先順位を格納したテーブルである。優先順位テー
ブル(2025)は、優先順位テーブルエントリ(60
1)と呼ぶデータ構造を要素として持つ配列である。優
先順位テーブルエントリ(601)は、優先順位を表す
インデックスと呼ぶ整数型のデータ構造(6011)お
よびモジュールファイル名称と呼ぶ文字列(6012)
から構成されるデータ構造である。
【0022】図7は、本実施の形態で述べるアプリケー
ション実行システムが実行対象とするプログラムの構造
(700)である。先に述べたようにアプリケーション
(700)は、1つ以上の複数のモジュールファイルか
ら構成される。先頭モジュールファイル(701)は、
イベントマップ(702)、処理ブロックの配列(70
3)、プログラム実行に必要なデータ(704)、リモ
ート計算機(205)のネットワーク上の位置情報(7
05)、モジュールファイルのリモート計算機上での格
納先ディレクトリパス情報(706)、モジュールファ
イル優先順位情報(707)、およびアプリケーション
のモジュールファイル構成(708)から構成される。
モジュールファイル(709)は、処理ブロックの配列
(710)およびアプリケーションの実行に必要なデー
タ(711)から構成される。
【0023】処理ブロックは、プログラムを構成する手
続きであり、アプリケーション実行部(2021)によ
り解釈実行可能な形態で、ファイルに格納されたものの
ことである。リモート計算機のネットワーク上の位置情
報(705)は、リモート計算機(205)のネットワ
ーク上の位置情報を保持する領域である。モジュールフ
ァイルのリモート計算機(205)上での格納先ディレ
クトリパス情報(706)は、アプリケーション実行シ
ステム(202)の実行対象となるアプリケーションを
構成するモジュールファイルのリモート計算機(20
5)のファイルシステム(207)上の格納先ディレク
トリパス情報を保持する領域である。モジュールファイ
ル構成(708)は、このアプリケーションを構成する
モジュールファイル名称の配列である。
【0024】図8は、モジュールファイル優先順位情報
(707)のデータ構造(800)を示す図である。モ
ジュールファイル優先順位情報(800)は、モジュー
ルファイルをリモート計算機(205)からダウンロー
ドする際の優先順位情報を保持する領域であり、優先順
位エントリ(801)の配列である。優先順位エントリ
(801)は、整数型の優先順位(8011)およびモ
ジュールファイル名称(8012)である文字列から構
成される。優先順位(8011)は、1から順にモジュ
ールファイル数だけ割り振られ、同じ優先順位を持つモ
ジュールファイルはない。
【0025】次にイベントマップについて説明する。本
実施形態のアプリケーション実行部(2021)のアプ
リケーションの実行方式は、イベント駆動型と呼ばれる
ものであるとする。イベント駆動型のアプリケーション
実行部(2021)は、以下のデータを管理する。すな
わち、イベントキュー、およびイベントマップの先頭ア
ドレスである。
【0026】イベントとは、数値型のデータである。イ
ベントキューは、前記イベントのリストであり、2つの
関数、すなわちPostEvent関数およびGetE
vent関数により、操作されるものとする。Post
Event関数は、イベントを引数としてもつ関数であ
り、イベントキューの最後に引数イベントを加える処理
を行い、戻り値はない。入出力装置(102)で発生す
る入出力イベントはオペレーティング・システムからP
ostEvent関数を通して、アプリケーションに通
知される。GetEvent関数は、引数なしの関数で
あり、戻り値として、イベントキューの先頭のイベント
を返し、イベントキューの先頭イベントを削除する。
【0027】イベントキューが長さ0のとき、GetE
vent関数は、制御を呼び出し側に戻さず、呼び出し
側のスレッドの実行をアイドル状態にする。別スレッド
あるいはオペレーティング・システムが、前記イベント
キューに対して、PostEventを実行し、イベン
トキューが長さ1以上になった時点で、前記GetEv
ent関数の呼び出しのアイドル状態を開放し、実行を
再開するものとする。
【0028】イベントマップの先頭アドレスは、イベン
トマップ(図9で詳述する)と呼ぶデータのメモリ中の
先頭アドレスを保持するデータ構造である。
【0029】図9は、イベントマップ(702)のデー
タ構造(900)を示したものである。イベントマップ
(900)は、イベント管理情報(901)と呼ばれる
データ構造を要素として持つ配列である。イベント管理
情報(901)は、イベント(9011)、当該イベン
トに対応する処理ブロックのモジュール内での相対アド
レス(9012)、当該処理ブロックを含むモジュール
ファイル名称(9013)からなるデータ構造である。
【0030】イベントマップ(900)は、Dispa
chMap関数を通して操作(参照)される。Disp
achMap関数は、引数としてイベントをとり、「イ
ベントマップの先頭アドレス」で指定されるイベントマ
ップ(900)を走査して、引数で指定されたイベント
に対応する処理ブロックのアドレス(9012)と当該
処理ブロックを含むモジュール名称(9013)の対を
DispachMap関数の戻り値として返す。
【0031】アプリケーションの特別なイベントとし
て、QUITイベントとSTARTイベントがある。S
TARTイベントに対してアプリケーションの実行開始
処理ブロックが、QUITイベントに対してアプリケー
ションの終了処理ブロックが、それぞれイベントマップ
(900)中で対応付けられる。イベント駆動型のアプ
リケーションの実行の終了は、プログラム実行中にQU
ITイベントが発生することにより行われる。
【0032】以上が、本実施形態で述べるプログラムの
構成の一例である。これはあくまで、以降で述べる本発
明に係るプログラム実行方法の実施形態を具体的に記述
するために便宜的に定義したものであることをここで断
っておく。
【0033】次に、先頭モジュールファイル(701)
のダウンロードとアプリケーション実行システム(20
2)の起動について、図10および図20を用いて述べ
る。本実施形態においては、先頭モジュールファイル
(701)のダウンロードと、これまで説明したアプリ
ケーション実行システム(202)の起動は、「従来の
技術」で述べた通り、従来技術であるWWWとWebブ
ラウザ(1002)の機能を用いて行われる。
【0034】図20は、HTMLのスクリプト例(20
00)である。図10において、Webブラウザを構成
する処理(10021)〜(10025)および(10
02)は、Webブラウザを説明するために便宜的にこ
こで定義したものであり、実際のWebブラウザのシス
テム構成と必ずしも一致するものではないことを断って
おく。Webブラウザ(1002)は、HTML表示処
理(10022)により、HTML(Hyper Te
xt Markup Language)スクリプトを
読み込んでブラウザ画面(1001)に文字、図形、画
像等を表示する。HTMLの詳細については、例えば、
文献:“OpenDesign、No.13、1996
年4月、CQ出版社、p4からp13、p40からp5
9”で説明されている。
【0035】図20のHTMLスクリプト(2000)
において、文字、図形、画像等に対してハイパーリンク
先であるURL情報が対応づけられているとき、これを
アンカーと呼ぶ。HTMLスクリプト(2000)の例
では、(2001)に示すように、図10のブラウザ画
面(1001)上の文字“アプリケーション1”はアン
カーであり、URL"http://zzz.hita
chi.co.jp/App1/apl1.fst"が
対応づけられている。apl1.fstが、アプリケー
ション実行システム(202)が実行対象とするアプリ
ケーションの先頭モジュールファイルのファイル名称で
ある。
【0036】入力処理(10021)により、ブラウザ
画面(1001)上で文字列“アプリケーション1”が
入出力装置(102)を通してクリックされたことが判
明すると、ファイル転送要求処理(10023)は、U
RL情報を用いて、本例ではネットワーク上の位置情報
が“zzz.hitachi.co.jp”であるリモ
ート計算機(205)に対して、通信プロトコル“HT
TP”で、ファイル"/App1/apl1.fst"の
ファイル転送を要求する。前記転送要求に対して、リモ
ート計算機(205)上のサーバープログラム(20
6)は、要求された前記ファイル“apl1.fst”
をローカル計算機(201)のファイルシステム(20
3)に転送する。本実施形態においては、先頭モジュー
ルファイル(701)はこのようにして、ローカル計算
機(201)のファイルシステム(203)に転送され
る。さらに、Webブラウザ(1002)の結果解析処
理(10024)は、ダウンロードされたファイルのヘ
ッダ情報を解析し、転送されたファイルの種別を特定
し、その後の処理を振り分ける。例えば、ファイルの種
別がHTMLファイルである場合には、HTML表示処
理(10022)によりWebブラウザ画面(100
1)に表示を行わせる。あらかじめ、ブラウザプロセス
(1002)は、ファイル種別とそのファイルを処理す
ることができるアプリケーションを対応付けた「AP起
動対応表」(10025)を持っている。結果解析処理
(10024)は、ファイルダウンロード後、このAP
起動表(10025)を参照して、転送されたファイル
のファイル種別に対応するアプリケーションを起動す
る。本実施形態では、先頭モジュールファイル(70
1)のダウンロード後、そのダウンロードした前記先頭
モジュールを入力として、アプリケーション実行部(2
021)のアプリケーションの実行処理を開始する。
【0037】ローカル計算機(201)のアプリケーシ
ョン実行部(2021)のアプリケーションの実行処理
(1100)とダウンロード管理部(2022)の実行
(1700)とは、別スレッドとして、並行して実行さ
れる。本発明の実施形態は、マルチスレッドが可能で、
かつスレッドの優先順位の指定ができるオペレーティン
グ・システム上で実現されるものとする。
【0038】また、アプリケーションの実行処理(11
00)のスレッド(メイン処理スレッドと呼ぶ)とダウ
ンロード管理部の実行(1700)のスレッド(ダウン
ロードスレッドと呼ぶ)とは、アプリケーションの実行
の終了のタイミングにおいて、2つのスレッドの終了処
理に関して同期をとる必要がある。そこで、前記2つの
スレッド間で、前記スレッドフラグ(501)と呼ぶデ
ータを通して、同期をとる。
【0039】図11は、アプリケーション実行部(20
21)によるアプリケーションの実行処理(1100)
のフローチャートを示している。本処理は、アプリケー
ション実行部(2021)の起動時の入力である先頭モ
ジュールファイルを入力として持ち、本処理内のローカ
ル変数として、変数EVENT、変数PROC、および
変数MODULを持つ。
【0040】まずステップ(1101)で、アプリケー
ション実行部(2021)の実行開始処理(図12の1
200)を行う。次にステップ(1102)で、STA
RTイベントを引数としてPostEventを実行
し、当該アプリケーションのイベントキューの先頭にS
TARTイベントを挿入する。ステップ(1103)
で、GetEvent関数の実行により、イベントキュ
ーの先頭イベントを取得し、変数EVENTに格納す
る。判断(1104)で、変数EVENTの値がQUI
Tイベントであるか判定する。この判定結果が真である
場合、ステップ(1107)に飛ぶ。この判定結果が偽
である場合は、ステップ(1105)に飛ぶ。ステップ
(1105)では、変数EVENTの値を引数として、
DispachMap関数を実行し、変数EVENTの
値に対応する処理ブロックのモジュール内の相対アドレ
スと、当該処理ブロック含むモジュールファイル名を取
得する。前記処理ブロックのアドレスを変数PROC
に、モジュールファイル名を変数MODULに格納す
る。次にステップ(1106)で、変数PROCの値と
変数MODULの値を入力として、アプリケーション実
行部(2021)のプログラム処理ブロックの実行処理
(図14の1400)を実行する。前記処理ブロックの
実行の終了後、ステップ(1103)に戻る。
【0041】ステップ(1107)では、アプリケーシ
ョンの終了処理(1500)を行う。ステップ(110
7)の後、本処理を終了する。
【0042】図12は、ステップ(1101)で実行す
るアプリケーション実行部(2021)の実行開始処理
(1200)のフローチャートを示している。この処理
は、先頭モジュールファイルを入力として持つ。本処理
内のローカル変数としてnを持つ。
【0043】ステップ(1201)で、本アプリケーシ
ョン実行のイベントキューを生成する。この時点でイベ
ントキューの長さは0である。ステップ(1202)
で、入力である先頭モジュールファイル(701)をロ
ードする。ロードされた先頭モジュールファイル(70
1)のイベントマップ(702)のメモリ上のアドレス
をイベントマップの先頭アドレスに設定する。これによ
り、先頭モジュールファイル(701)中に含まれるイ
ベントマップ(702)が、関数DispachMap
を通してアクセス可能となる。
【0044】次に、ステップ(1203)で、ロードさ
れた先頭モジュールファイル(701)のサーバー位置
情報(705)、アプリケーションのリモート計算機上
での格納先ディレクトリパス(706)を、それぞれ、
ダウンロード情報(2026、図5の500)のリモー
ト計算機のネットワーク位置情報(503)、アプリケ
ーションのリモート計算機上での格納先ディレクトリパ
ス(504)に格納する。また、ダウンロード情報(5
00)のカレントダウンロードファイルインデックス
(502)に1を設定する。さらにダウンロード情報
(500)のスレッドフラグ(501)をAPPLIC
ATION_RUNに設定する。ダイアログボックスを
表示し、ユーザにインストールディレクトリパス(50
5)の値を設定してもらう。次に、アプリケーションモ
ジュールファイル構成(708)の長さで、ダウンロー
ドファイル管理テーブル(2024、図4の400)、
ロードモジュールファイル管理テーブル(2023、図
3の300)を初期化する。具体的には、まず、各テー
ブルの確保した配列領域(当該アプリケーションを構成
するファイルモジュールの数分のデータエントリが確保
される)を0で初期化する。ダウンロードファイル管理
テーブル(400)の1番目の要素のモジュールファイ
ル名称(4011)に、先頭モジュールファイル(70
1)のファイル名称を設定する。ロードモジュールファ
イル管理テーブル(300)の1番目の要素のモジュー
ルファイル名称(3011)に、先頭モジュールファイ
ル(701)のファイル名称を設定する。ダウンロード
ファイル管理テーブル(400)の1番目の要素のダウ
ンロード状態(4012)には、DOWNLOADED
を設定する。ロードモジュールファイル管理テーブル
(300)の1番目の要素の先頭アドレス(3012)
には、ロードされた先頭モジュールファイル(701)
の先頭アドレスを設定する。ローカル変数nに2を設定
する。以上のステップ(1203)の処理の後、ステッ
プ(1204)に進む。
【0045】判断(1204)で、式「n<=モジュー
ルファイル構成(708)の長さ」を評価し、その結果
が真である場合は、ステップ(1205)に飛ぶ。前記
評価結果が偽の場合は、ステップ(1208)に飛ぶ。
ステップ(1205)では、ロードモジュールファイル
管理テーブル(300)のn番目の要素のモジュールフ
ァイル名称(3011)に、先頭モジュールファイル
(701)のモジュールファイル構成(708)のn番
目の要素のモジュールファイル名称を設定する。ステッ
プ(1206)では、ダウンロードファイル管理テーブ
ル(400)のn番目の要素のモジュールファイル名称
(4011)に、先頭モジュールファイル(701)の
モジュールファイル構成(708)のn番目の要素のモ
ジュールファイル名称を設定する。ステップ(120
7)で、式「n:=n+1」を実行する。ステップ(1
208)では、優先順位テーブルの生成処理(図13の
1300)を行い、後述する処理(図17の1700)
を行うダウンロードスレッドを生成する。
【0046】図13は、ステップ(1208)で実行す
る優先順位テーブルの生成処理(1300)のフローチ
ャートを示す図である。本処理は、入力として先頭モジ
ュールファイルを持ち、本処理内のローカル変数として
nを持つ。ステップ(1301)で、優先順位テーブル
(2025、図6の600)を、入力である先頭モジュ
ールファイル(701)のモジュールファイル構成(7
08)の長さで初期化する。次にnに1を設定する。判
断(1302)で、式「n<=モジュールファイル構成
(708)の長さ」を評価し、その評価結果が真である
場合、ステップ(1303)に飛ぶ。前記評価結果が偽
である場合、本処理を終了する。ステップ(1303)
で、優先順位テーブル(600)のn番目の要素のイン
デックス(6011)に、優先順位情報(707)のn
番目の要素の優先順位(8011)を設定する。ステッ
プ(1304)で、優先順位テーブル(600)のn番
目の要素のモジュールファイル名称(6012)に、優
先順位情報(707)のn番目の要素のモジュールファ
イル名称(8012)を設定する。ステップ(130
5)で、式「n=n+1」を実行する。ステップ(13
05)の後、ステップ(1302)へ戻る。
【0047】図14は、ステップ(1106)のアプリ
ケーション実行部(2021)によるプログラム処理ブ
ロックの実行処理(1400)のフローチャートを示す
ものである。本処理は、実行対象となる処理ブロックの
モジュール内の相対アドレスと前記処理ブロックを含む
モジュール名を入力として持ち、本処理内のローカル変
数として、変数MODULTOPを持つ。
【0048】ステップ(1401)で、入力であるモジ
ュール名を入力としてダウンロード処理(図19の19
00)を実行する。なお、ここでいうダウンロード処理
はダウンロード命令の発行を行うものである(実際のダ
ウンロードはダウンロードスレッドで実行する)。ステ
ップ(1402)で、入力であるモジュールファイル名
称を入力として、アプリケーション実行部(2021)
によるロード処理(図15の1500)を行う。前記処
理のリターン値を変数MODULTOPに格納する。ス
テップ(1403)で、変数MODULTOPには、入
力であるモジュールファイルのメモリ中の先頭アドレス
が格納されている。前記アドレスをベースアドレス、入
力である処理ブロックのアドレスをオフセットアドレス
として、メモリ中の処理ブロックの実アドレスを計算
し、アプリケーション実行部(2021)が処理ブロッ
クを解釈・実行する。以上で本処理を終了する。
【0049】図15は、ステップ(1402)のアプリ
ケーション実行部(2021)によるモジュールファイ
ルのロード処理(1500)のフローチャートを示すも
のである。本処理は、入力としてモジュールファイル名
称を持ち、出力としてメモリのアドレスを返す。また、
本処理は、本処理内のローカル変数として、変数MOD
ULTOPを持つ。
【0050】判断(1501)で、入力であるモジュー
ルファイルがすでにダウンロードされているかを調べ
る。これは、ダウンロードファイル管理テーブル(20
24、図4の400)を走査し、入力であるモジュール
ファイルに対応するダウンロードファイルエントリ(4
01)のダウンロード状態(4012)がDOWNLO
ADEDと等しくなっているかを判定することにより行
う。もし、前記判定で真となっている場合、入力である
モジュールファイルはダウンロードされている。前記判
定で偽となっている場合、入力であるモジュールファイ
ルはダウンロードされていない。ダウンロードされてい
る場合は、ステップ(1502)に飛ぶ。ダウンロード
されていない場合は、ステップ(1503)に飛ぶ。ス
テップ(1503)では、入力であるモジュールファイ
ル名称を入力としてダウンロード処理(図19の190
0)を実行する。ステップ(1503)の後、ステップ
(1504)に進む。
【0051】判断(1502)では、入力であるモジュ
ールファイルがメモリ中にロードされているか判定す
る。この判定は、ロードモジュールファイル管理テーブ
ル(2023、図3の300)を走査し、入力であるモ
ジュールファイルに対応するロードモジュールファイル
エントリ(301)の先頭アドレス(3012)が0以
外になっている場合、前記判定結果を真とし、それ以外
を偽とする。この判定結果が真の場合、変数MODUL
TOPにロードモジュールファイルエントリ(301)
の先頭アドレス(3012)を設定して、ステップ(1
505)に飛ぶ。ステップ(1502)の判定結果が偽
である場合は、ステップ(1504)に飛ぶ。
【0052】ステップ(1504)では、入力であるモ
ジュールファイルをメモリ中にロードし、その先頭アド
レスを変数MODULTOPに格納する。ロードモジュ
ールファイル管理テーブル(2023、図3の300)
を走査し、入力であるモジュールファイル名称に対応す
るロードモジュールファイルエントリ(301)を取得
する。前記ロードモジュールファイルエントリ(30
1)の先頭アドレス(3012)に変数MODULTO
Pの値を格納する。ステップ(1505)では、本処理
の出力として、変数MODULTOPの値を返す。以上
で本処理を終了する。
【0053】図16は、ステップ(1107)のアプリ
ケーション実行部(2021)によるアプリケーション
終了処理(1600)のフローチャートである。判断
(1601)で、スレッドフラグ(501)がDOWN
LOAD_QUITになっているかを判定する。この結
果が真である場合は、ステップ(1604)に飛ぶ。前
記判定の結果が偽である場合は、ステップ(1602)
に飛ぶ。ステップ(1602)で、スレッドフラグ(5
01)をAPPLICATION_QUITに設定す
る。ステップ(1603)で、ダウンロードスレッドが
終了するまで、メイン処理のスレッドを「アイドル状
態」にし、ダウンロードスレッドの終了後、以降の処理
が再開されるようにスレッド制御を行うようオペレーテ
ィング・システムに要求する。ステップ(1604)
で、アプリケーションの実行を終了する。以上で本処理
を終了する。
【0054】図17は、第二のスレッドであるダウンロ
ードスレッド(図12のステップ(1208)で生成)
で実行される処理(1700)のフローチャートであ
る。ダウンロードスレッドで行われる処理は、メイン処
理スレッドと並行して行われる。ただし、ダウンロード
スレッドは、メイン処理スレッドよりスレッドの優先順
位を低く設定して実行される。本処理は、入力はない
が、本処理のローカル変数としてFILEを持つ。
【0055】判断(1701)で、スレッドフラグ(5
01)にAPPLICATION_QUITが設定され
ているか否か判定する。前記判定の結果が真である場
合、ステップ(1705)に飛ぶ。前記判断の結果が偽
である場合、判断(1702)に飛ぶ。判断(170
2)で、すべてのファイルがダウンロードされているか
否かの判定を行う。この判定では、ダウンロードファイ
ル管理テーブル(400)中の各エントリ(401)を
走査し、すべてのエントリ(401)のダウンロード状
態(4012)がDOWNLOADEDになっている場
合、前記判定結果を真とし、それ以外の場合、偽とす
る。本判断の結果が真の場合は、ステップ(1705)
に飛ぶ。本判断の結果が偽の場合、ステップ(170
3)に飛ぶ。ステップ(1703)で、ダウンロードフ
ァイル決定処理(図18の1800)を実行する。その
結果を変数FILEに格納する。ステップ(1704)
で、変数FILEの値を入力として、ダウンロード処理
(図19の1900)を実行する。ステップ(170
4)の後、ステップ(1701)に戻る。ステップ(1
705)では、スレッドフラグ(501)をDOWNL
OAD_QUITに設定し、ダウンロードスレッドを終
了する。
【0056】図18は、ダウンロードスレッドのステッ
プ(1703)で実行されるダウンロードファイル決定
処理(1800)のフローチャートである。本処理は、
入力はないが、出力としてダウンロードすべきモジュー
ルファイル名を返す。また、本処理は、本処理内のロー
カル変数としてFILEを持つ。
【0057】ステップ(1801)で、変数FILEに
空文字列を設定する。ステップ(1802)で、カレン
トダウンロードファイルインデックス(502)の値を
1だけインクリメントする。判断(1803)で、カレ
ントダウンロードファイルインデックス(502)に対
応するインデックス値を持つ優先順位テーブル(60
0)中のテーブルエントリ(601)が存在するか否か
の判定を行う。前記判定の結果が真(存在する)である
場合、ステップ(1804)に飛ぶ。前記判定が偽であ
る場合は、ステップ(1811)に飛ぶ。
【0058】ステップ(1804)で、カレントダウン
ロードファイルインデックス(502)に対応する優先
順位テーブル(600)中のテーブルエントリ(60
1)を取得する。ステップ(1805)で、前記テーブ
ルエントリ(601)のモジュールファイルのダウンロ
ード状態(4012)を取得する。判断(1806)
で、前記ダウンロード状態がDOWNLOADEDであ
るか否か判定する。この判定結果が真である場合、ステ
ップ(1802)に飛ぶ。前記判定結果が偽である場
合、ステップ(1807)に飛ぶ。ステップ(180
7)で、前記エントリのモジュールファイル名称の項目
を参照し、その値を変数FILEに設定する。ステップ
(1808)で、変数FILEの値を本処理の出力とし
て返し、本処理を終了する。
【0059】図19は、ダウンロード処理(1900)
のフローチャートである。本処理は、入力としてモジュ
ールファイル名称をとる。ダウンロード処理(190
0)は、図14のステップ(1401)、図15のステ
ップ(1503)、およびダウンロードスレッドのステ
ップ(1704)で実行される処理である。
【0060】判断(1901)で、入力であるモジュー
ル名のファイルがローカルファイルシステム(203)
中のインストールディレクトリパス(505)下にある
か検索し、存在する場合は、ステップ(1904)に飛
ぶ。もし存在しなければ、ステップ(1902)に飛
ぶ。ステップ(1902)で、リモート計算機のネット
ワーク上の位置情報(503)で特定されるリモート計
算機(205)に対して、モジュールファイルのリモー
ト計算機上での格納先ディレクトリ(504)で指定さ
れるリモート計算機のファイルシステム上のディレクト
リ下にあるファイルで、入力であるモジュールファイル
名称と同じファイル名称を持つファイルの転送要求を行
う。ステップ(1903)で、転送されたファイルを、
入力であるモジュールファイル名称と同じファイル名称
で、インストールディレクトリパス(505)で示され
るローカル計算機のファイルシステムのディレクトリの
下に格納する。ステップ(1904)で、ダウンロード
ファイル管理テーブル(2024、図4の400)か
ら、入力であるモジュールファイル名称に対応するテー
ブルエントリ(401)を取得し、そのテーブルエント
リ(401)のダウンロード状態(4012)をDOW
NLOAEDに設定する。
【0061】以上で、本発明の一実施形態であるアプリ
ケーション実行システム(202)を説明した。上記第
1の実施形態によれば、別スレッドでもモジュールファ
イルのダウンロードを行うので、ユーザとの対話的操作
を多く含むアプリケーションファイルをダウンローディ
ングして実行する場合、ユーザ入力の待ち時間を利用し
てダウンロードを行うことができ、必要になったときに
は既にダウンロードが終了しているというようにでき
る。したがって、ファイルダウンローディング時のユー
ザの待ち時間を削減してユーザの快適さを向上させるこ
とができる。
【0062】次に、先に述べたアプリケーション実行シ
ステム(202)を拡張した第2の実施の形態について
述べる。上記第1の実施の形態では、ダウンロードする
順序はスタティックに決定されていた。第2の実施の形
態では、メモリに最新にロードされたモジュールファイ
ルに依存するモジュールファイルを、次に実行される可
能性の高いモジュールとして、早めにダウンロードする
ようにした。第2の実施の形態の構成や処理は、第1の
実施の形態と同様であるので、以下では異なる部分のみ
説明する。特に、先頭モジュールファイル(701)、
ダウンロード情報のデータ構造(500)、処理(15
00)、処理(1800)の変更点および新規に追加し
たデータ構造(2100)の説明を行う。
【0063】まず、先頭モジュールファイル(701)
に、モジュールファイル間依存関係情報を付加する。モ
ジュールファイル間依存関係情報については、図21で
詳述する。
【0064】図21に、モジュールファイル間依存関係
情報のデータ構造(2100)を示す。モジュールファ
イル間依存関係情報は、依存情報エントリ(2101)
と呼ぶデータ構造の配列である。依存情報エントリ(2
101)は、モジュールファイル名称(21011)お
よび依存する他のモジュールファイル名称配列(210
12)から構成される。依存する他のモジュールファイ
ル名称配列(21012)は、モジュールファイル名称
(21011)で特定されるモジュールファイルとプロ
グラムの制御上依存関係にあるモジュールファイルのフ
ァイル名称の配列である。図21は、先頭モジュールフ
ァイル(701)に付加したモジュールファイル間依存
関係情報のデータ構造を示すが、同じデータ構造のテー
ブルをアプリケーション実行システム(202)中に用
意し、図12の実行開始処理で先頭モジュールファイル
(701)のモジュールファイル間依存関係情報(21
00)を当該テーブルにコピーするステップを加える。
これにより、後述する図22の処理でモジュールファイ
ル間依存関係情報(2100)が参照できるようにな
る。
【0065】ダウンロード情報のデータ構造(500)
に、リーセントロードモジュールファイル名称と呼ぶ文
字列型のデータ構造を加える。処理(1200)のステ
ップ(1203)と判断(1204)の間に、「リーセ
ントロードモジュールファイル名称として先頭モジュー
ルファイル名称を設定する」という処理を行うステップ
を挿入する。
【0066】さらに処理(1500)の「スタート」と
ステップ(1501)の間に、「リーセントロードモジ
ュールファイル名称として、入力であるモジュールファ
イル名称を設定する」という処理を行うステップを挿入
する。これにより、一番最近にメモリ上にロードされた
モジュールファイルの名称がリーセントロードモジュー
ルファイル名称として設定される。
【0067】ダウンロードファイル決定処理(180
0)を、下記のように変更する。ステップ(1801)
とステップ(1802)の間に、図22に示すフロー
(2200)を挿入する。本フローは、ローカル変数
n、およびローカル配列変数Xを持つ。
【0068】ステップ(2201)で、配列変数Xに、
モジュールファイル間依存関係情報中の、リーセントモ
ジュールファイル名に対応する依存関係情報エントリの
モジュールファイル名称配列(21012)を設定す
る。ステップ(2202)で、式「n:=1」を実行す
る。判定(2203)で、式「n<=Xの長さ」を評価
する。評価結果が真であるとき、ステップ2204に飛
ぶ。評価結果が偽である場合は、ステップ1802に飛
ぶ。判定(2204)で、Xのn番目のファイル名称の
ファイルがローカル計算機のファイルシステムのインス
トールディレクトリ(505)下にあるか判定する。そ
の判定結果が真である場合は、ステップ(2206)に
飛ぶ。前記判定結果が偽である場合は、ステップ(22
05)に飛ぶ。ステップ(2205)で、式「n:=n
+1」を実行し、ステップ(2203)に飛ぶ。ステッ
プ(2206)で、変数FILEに、Xのn番目のファ
イル名称を設定し、ステップ(1808)に飛ぶ。
【0069】上記図22の処理により、次にダウンロー
ドするモジュールファイルを決定する際に、最近ロード
したリーセントロードモジュールファイル名称のモジュ
ールファイルに依存するモジュールファイルでダウンロ
ードされていないものがあったら、それを優先してダウ
ンロードすることになる。以上で、第1の実施形態の拡
張である第2の実施形態の説明を終了する。
【0070】
【発明の効果】請求項1および3に係る発明によれば、
アプリケーションを構成する複数のファイルをリモート
計算機のファイルシステムからローカル計算機のファイ
ルシステムにダウンローディングして実行するシステ
ム、特に、入出力装置を用いたユーザとの対話的操作を
多く含むアプリケーションファイルをダウンローディン
グして実行するシステムにおいて、ファイルダウンロー
ディング時のユーザの待ち時間を削減してユーザの快適
さを向上させることができる。特に、請求項2のように
動的にダウンロードするファイルを決定するようにすれ
ば、よりユーザの待ち時間を削減してユーザの快適さを
向上させることができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態で用いる計算機の構成例
を示す図
【図2】 アプリケーションシステムの構成およびその
動作環境を示す図
【図3】 ロードモジュールファイル管理テーブル(2
023)のデータ構造を示す図
【図4】 ダウンロードファイル管理テーブル(202
4)のデータ構造を示す図
【図5】 ダウンロード情報(2026)のデータ構造
を示す図
【図6】 優先順位テーブル(2025)のデータ構造
を示す図
【図7】 本実施形態で述べるアプリケーション実行シ
ステムが実行対象とするプログラムの構造を示す図
【図8】 モジュールファイル優先順位情報(708)
のデータ構造を示す図
【図9】 イベントマップ(702)のデータ構造を示
す図
【図10】 先頭モジュールファイルのダウンロードと
アプリケーション実行部の起動を説明する図
【図11】 アプリケーション実行部によるアプリケー
ションの実行処理のフローチャート図
【図12】 アプリケーション実行部の実行開始処理の
フローチャート図
【図13】 優先順位テーブルの生成処理のフローチャ
ート図
【図14】 アプリケーション実行部のプログラム処理
ブロックの実行処理のフローチャート図
【図15】 アプリケーション実行部のモジュールファ
イルのロード処理のフローチャート図
【図16】 アプリケーション実行部のアプリケーショ
ン終了処理のフローチャート図
【図17】 ダウンロードスレッドで実行される処理の
フローチャート図
【図18】 ダウンロードファイル決定処理のフローチ
ャート図
【図19】 ダウンロード処理のフローチャート図
【図20】 HTMLのスクリプトの例を示す図
【図21】 モジュールファイル間依存関係情報のデー
タ構造を示す図
【図22】 ダウンロードファイル決定処理(180
0)への追加フローチャート図
【符号の説明】
100…計算機、101…表示装置、102…入出力装
置、103…外部記憶装置、104…中央処理装置、1
05…ネットワーク装置、106…メモリ、107…バ
ス、200…アプリケーション実行システムの構成およ
びその動作環境、201…ローカル計算機、202…ア
プリケーション実行システム、203…ファイルシステ
ム、204…ネットワーク、205…リモート計算機、
206…サーバープログラム、207…ファイルシステ
ム、2021…アプリケーション実行部、2022…ダ
ウンロード管理部、2023…ロードモジュールファイ
ル管理テーブル、2024…ダウンロードファイル管理
テーブル、2026…ダウンロード情報、2025…優
先順位テーブル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 本田 由里 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所情報・通信開発本部内 (72)発明者 嶋崎 康一 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】複数のファイルから構成されるアプリケー
    ション・プログラムをファイルシステム上に保持するリ
    モート計算機から、前記アプリケーション・プログラム
    を構成するファイル群をローカル計算機上のファイルシ
    ステムにダウンロードし、前記ローカル計算機上で前記
    ダウンロードしたファイルを内部記憶装置上に格納し、
    内部記憶装置上に格納したプログラムを解釈して実行す
    るアプリケーション実行方法において、 アプリケーションを実行するのに必要なファイルがロー
    カル計算機のファイルシステムに存在するか否かを判定
    する第1の処理ステップと、 前記第1の処理ステップによりローカル計算機中のファ
    イルシステムに前記ファイルが存在しないことが判明し
    た場合、リモート計算機のファイルシステムからローカ
    ル計算機のファイルシステムに前記ファイルをダウンロ
    ードする第2の処理ステップと、 前記ファイルをダウンロードしたことを管理する第3の
    処理ステップと、 前記ファイルをローカル計算機の内部記憶装置に格納す
    るとともに、前記ファイルを内部記憶装置に格納したこ
    とを管理する第4の処理ステップと、 前記アプリケーションを構成する複数のファイルのダウ
    ンロード処理の優先順位を表す優先順位情報をアプリケ
    ーションを構成するファイルの1つ中に含め、前記アプ
    リケーションの実行前に、前記優先順位情報を含むファ
    イルをローカル計算機にダウンロードし、ダウンロード
    した前記優先順位情報を用いてアプリケーション構成フ
    ァイルのダウンロードの優先順位を記述した優先順位テ
    ーブルを作成する第5の処理ステップと、 前記第1、第2、第3、および第4の処理ステップと並
    行して行われる処理であって、前記優先順位テーブルを
    参照し、その優先順位の順にリモート計算機上のファイ
    ルシステムからローカル計算機上のファイルシステムに
    ファイルをダウンロードし、ダウンロードしたファイル
    を管理する第6の処理ステップとを備えたことを特徴と
    するアプリケーション実行方法。
  2. 【請求項2】前記アプリケーション実行時に、実行対象
    のファイルを管理する処理ステップと、 前記アプリケーションを構成するファイルの1つ中に、
    そのアプリケーションを構成する複数ファイル間の依存
    関係情報を含め、前記依存関係情報および前記実行対象
    ファイルの管理情報に基づいて、ダウンロードの優先順
    位をアプリケーションの実行時に動的に決定する処理ス
    テップとをさらに備えたことを特徴とする請求項1に記
    載のアプリケーション実行方法。
  3. 【請求項3】複数のファイルから構成されるアプリケー
    ション・プログラムをファイルシステム上に保持するリ
    モート計算機から、前記アプリケーション・プログラム
    を構成するファイル群をローカル計算機上のファイルシ
    ステムにダウンロードし、前記ローカル計算機上で前記
    ダウンロードしたファイルを内部記憶装置上に格納し、
    内部記憶装置上に格納したプログラムを解釈して実行す
    るアプリケーション実行方法において、 前記ローカル計算機上で、前記アプリケーションを構成
    するファイルのうちの1つを内部記憶装置上に格納して
    実行する実行ステップと、 前記ローカル計算機上で、前記実行ステップとは別プロ
    セスで並行して、前記アプリケーションを構成する他の
    ファイルのダウンロードを順次行うダウンロードステッ
    プとを備えたことを特徴とするアプリケーション実行方
    法。
JP8340529A 1996-12-05 1996-12-05 アプリケーション実行方法 Pending JPH10171662A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8340529A JPH10171662A (ja) 1996-12-05 1996-12-05 アプリケーション実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8340529A JPH10171662A (ja) 1996-12-05 1996-12-05 アプリケーション実行方法

Publications (1)

Publication Number Publication Date
JPH10171662A true JPH10171662A (ja) 1998-06-26

Family

ID=18337864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8340529A Pending JPH10171662A (ja) 1996-12-05 1996-12-05 アプリケーション実行方法

Country Status (1)

Country Link
JP (1) JPH10171662A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322268A (ja) * 1999-05-13 2000-11-24 Sharp Corp 再配置可能なアドインソフト管理システム
US7387258B2 (en) 2001-05-18 2008-06-17 Gemplus Application deployment from a smart card
JP2008310436A (ja) * 2007-06-12 2008-12-25 Mizuho Information & Research Institute Inc レセプト管理システム、レセプト管理方法及びレセプト管理プログラム
US7516199B2 (en) 2002-12-13 2009-04-07 Hitachi, Ltd. Storage device managing system, method and program
US7979856B2 (en) * 2000-06-21 2011-07-12 Microsoft Corporation Network-based software extensions
US8892993B2 (en) 2003-08-01 2014-11-18 Microsoft Corporation Translation file
US8918729B2 (en) 2003-03-24 2014-12-23 Microsoft Corporation Designing electronic forms
JP2015172881A (ja) * 2014-03-12 2015-10-01 富士通株式会社 配信方法、装置、プログラム、及びリソース取得方法、装置、プログラム
US9210234B2 (en) 2005-12-05 2015-12-08 Microsoft Technology Licensing, Llc Enabling electronic documents for limited-capability computing devices
US9229917B2 (en) 2003-03-28 2016-01-05 Microsoft Technology Licensing, Llc Electronic form user interfaces
US9268760B2 (en) 2003-08-06 2016-02-23 Microsoft Technology Licensing, Llc Correlation, association, or correspondence of electronic forms
US20220237010A1 (en) * 2021-01-28 2022-07-28 Red Hat, Inc. Executing containerized applications using partially downloaded container image files

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322268A (ja) * 1999-05-13 2000-11-24 Sharp Corp 再配置可能なアドインソフト管理システム
US7979856B2 (en) * 2000-06-21 2011-07-12 Microsoft Corporation Network-based software extensions
US7387258B2 (en) 2001-05-18 2008-06-17 Gemplus Application deployment from a smart card
US7516199B2 (en) 2002-12-13 2009-04-07 Hitachi, Ltd. Storage device managing system, method and program
US8918729B2 (en) 2003-03-24 2014-12-23 Microsoft Corporation Designing electronic forms
US9229917B2 (en) 2003-03-28 2016-01-05 Microsoft Technology Licensing, Llc Electronic form user interfaces
US8892993B2 (en) 2003-08-01 2014-11-18 Microsoft Corporation Translation file
US9239821B2 (en) 2003-08-01 2016-01-19 Microsoft Technology Licensing, Llc Translation file
US9268760B2 (en) 2003-08-06 2016-02-23 Microsoft Technology Licensing, Llc Correlation, association, or correspondence of electronic forms
US9210234B2 (en) 2005-12-05 2015-12-08 Microsoft Technology Licensing, Llc Enabling electronic documents for limited-capability computing devices
JP4685064B2 (ja) * 2007-06-12 2011-05-18 みずほ情報総研株式会社 レセプト管理システム、レセプト管理方法及びレセプト管理プログラム
JP2008310436A (ja) * 2007-06-12 2008-12-25 Mizuho Information & Research Institute Inc レセプト管理システム、レセプト管理方法及びレセプト管理プログラム
JP2015172881A (ja) * 2014-03-12 2015-10-01 富士通株式会社 配信方法、装置、プログラム、及びリソース取得方法、装置、プログラム
US20220237010A1 (en) * 2021-01-28 2022-07-28 Red Hat, Inc. Executing containerized applications using partially downloaded container image files

Similar Documents

Publication Publication Date Title
US10235151B2 (en) Optimized delivery of web application code
US7114128B2 (en) Object-oriented framework for hyperlink navigation
US7873965B2 (en) Methods and apparatus for communicating changes between a user-interface and an executing application, using property paths
JP3202968B2 (ja) 表示制御情報生成方法及びコンピュータ
EP1076290B1 (en) Method for on-demand network application download and execution
JP4594586B2 (ja) ネットワーク・クライアントにおいて情報を処理するための方法およびシステム
US8332520B2 (en) Web server for managing session and method thereof
JP3738624B2 (ja) 分散アプリケーション制御システム及び制御方法並びにプログラムを記録した記録媒体
US20020062359A1 (en) HTTP transaction monitor with capacity to replay in debuggings session
US20030119386A1 (en) Method and system for installing server-specific plug-ins
US20050108299A1 (en) Real-time Web sharing system
JP2003536133A (ja) アプリケーション・プログラムの資源を管理する方法およびシステム
JPH10171662A (ja) アプリケーション実行方法
US20090025011A1 (en) Inter-process communication at a mobile device
WO2006089391A1 (en) Mobile device having extensible software for presenting server-side applications, software and methods
US6633864B1 (en) Method and apparatus for multi-threaded based search of documents
JP2001256053A (ja) ソフトウェアモジュール転送方法、クライアントコンピュータ、及びクライアントサーバコンピュータシステム
JP2004529419A (ja) ソフトウェアアプリケーションローディング用のソフトウェアエンジンおよび方法
CN115543647A (zh) 一种函数调用方法
KR970002714A (ko) 인터넷을 통해 월드 와이드 웹 서버 데이타를 액세스하기 위한 웹 브라우저 시스템, 웹 서버 시스템, 웹 브라우저 요구 충족 방법 및 웹 브라우저의 분산 태스크 요구 실행 방법
JP2002351677A (ja) アプリケーション・プログラム実行順序制御システム
GB2372119A (en) Distributed computing system
CN1393788A (zh) 网上讯息服务提供系统与方法
CN115168007A (zh) 用于跨平台的应用程序迁移的方法、设备和程序载体
CN114125028A (zh) 微应用的运行方法、装置、设备、存储介质及程序产品