【0001】[0001]
【発明の属する技術分野】本発明は,コンピュータネッ
トワークを介してファイルを複数のコンピュータ上に配
布するシステム,特に複数のモジュール群により構成さ
れたプログラム・ファイルをインターネット等のコンピ
ュータ・ネットワークを用いて配布するファイル配布シ
ステムに関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system for distributing a file to a plurality of computers via a computer network, and more particularly, to distributing a program file composed of a plurality of modules using a computer network such as the Internet. Related to a file distribution system.
【0002】[0002]
【従来の技術】従来,インターネット等のコンピュータ
・ネットワークを利用して更新されたソフトウェアを配
布するシステムとしては,文献1に開示されるものがあ
た。2. Description of the Related Art Conventionally, as a system for distributing updated software using a computer network such as the Internet, there is a system disclosed in Document 1.
【0003】文献1.特開平11−272454号公報
「コンピュータ・ネットワークを通してソフトウェア更
新を配布する装置」Reference 1. Japanese Patent Application Laid-Open No. 11-272454, "Apparatus for distributing software updates through a computer network"
【0004】文献1に記載されているシステムによれ
ば,プログラムが動作するコンピュータ上に,プログラ
ムアップデートのためのコンポーネント(アップデータ
・コンポーネント)が配置され,このアップデータ・コ
ンポーネントが,プログラムを配布するサーバに自動的
にアクセスする。プログラムの更新が自動化されるた
め,利用者の負担が軽減されることになる。According to the system described in Document 1, a component for updating a program (updater component) is arranged on a computer on which the program operates, and the updater component is transmitted to a server that distributes the program. Access automatically. Since the updating of the program is automated, the burden on the user is reduced.
【0005】コンピュータ・ネットワークを利用した分
散オブジェクト技術には,文献2に開示されているJava
リモートメソッド起動技術(Java Remote Method Invoc
ation:以下,「RMI」という)がある。[0005] The distributed object technology using a computer network includes Java as disclosed in Reference 2.
Remote method invocation technology (Java Remote Method Invoc
ation: hereinafter referred to as “RMI”).
【0006】文献2.「Java Remote Method Invocatio
nの仕様」第3.4節(JDK2 SDKの添付資料) Sun Mic
rosystems,Inc.Reference 2. "Java Remote Method Invocatio
Specification of n ”Section 3.4 (Attachment of JDK2 SDK) Sun Mic
rosystems, Inc.
【0007】RMIは,コンピュータ・ネットワーク上に
複数のサービスを提供するサーバを配置し,これらをロ
ーカルなオブジェクトと同様に利用するための分散オブ
ジェクト技術である。ネットワーク上に分散された複数
のサーバを利用するためには,各サーバが提供するアク
セス用のコードをクライアントがサーバの利用に先立っ
て入手する必要がある。[0007] RMI is a distributed object technology in which a server that provides a plurality of services is arranged on a computer network, and these are used like local objects. In order to use a plurality of servers distributed on a network, it is necessary for a client to obtain an access code provided by each server before using the server.
【0008】ところが,複数のサーバがネットワーク上
に広域に分散している場合,RMIクライアントにとっ
て,予めアクセス用コードの入手先に関する情報を管理
することは非常に困難となる。このため,RMIは「クラ
スの動的なロード」と呼ばれる技術を提供している。こ
れは,クライアントがあるサーバを利用する時点で,動
的にそのサーバが提供するアクセス用のプログラムをダ
ウンロードする技術である。この技術により,RMIクラ
イアントは事前にアクセス用のコードを持たなくても,
サーバにアクセスすることが可能となる。However, when a plurality of servers are distributed over a wide area on a network, it is very difficult for an RMI client to manage information on a source of an access code in advance. For this reason, RMI offers a technique called "dynamically loading classes." This is a technology for dynamically downloading an access program provided by a server when the client uses the server. With this technology, RMI clients do not need to have access code beforehand,
It is possible to access the server.
【0009】一般的に,RMIがダウンロードするファイ
ルには「JARファイル」と呼ばれるアーカイブ形式が使
用される。文献3および文献4に,JARファイル形式に
関する情報が開示されている。Generally, an archive format called a “JAR file” is used for a file downloaded by the RMI. References 3 and 4 disclose information on the JAR file format.
【0010】文献3.「JARガイド」(JDK2 SDKの添付
資料) Sun Microsystems,Inc.Document 3. "JAR Guide" (Attached document of JDK2 SDK) Sun Microsystems, Inc.
【0011】文献4.「Java製品のバージョン管理の仕
様」(JDK2 SDKの添付資料) Sun Microsystems,Inc.Reference 4. "Version Control Specification for Java Products" (JDK2 SDK attachment) Sun Microsystems, Inc.
【0012】JARファイル形式は以下の特徴を備えてい
る。The JAR file format has the following features.
【0013】1.複数のファイルを一つのアーカイブと
してまとめることができる。また,作成時に汎用的な可
逆符号化を用いて,ファイル容量を小さくすることが可
能である。1. Multiple files can be combined into one archive. In addition, the file capacity can be reduced by using general-purpose lossless encoding at the time of creation.
【0014】2.アーカイブの対象となるファイルはJa
vaクラスファイルに限らず,あらゆるファイルが対象と
なり得る。通常,RMIのアクセス用のコードには,スタ
ブクラス,グラフィカル・ユーザ・インターフェイス
(GUI)クラス,GUIクラスで使用する多国語対応の表示
用リソース情報などが含まれる。2. Files to be archived are Ja
Not only va class files, but any file can be targeted. Usually, the RMI access code includes a stub class, a graphical user interface (GUI) class, multilingual display resource information used in the GUI class, and the like.
【0015】3.JARファイルごとに管理用のメタ情報
を追加することが可能である。このメタ情報はマニフェ
スト情報と呼ばれる。マニフェスト情報には,各クラス
ファイルの改ざん防止のためのメッセージ・ダイジェス
トやバージョン情報などが含まれる。3. Meta information for management can be added for each JAR file. This meta information is called manifest information. The manifest information includes a message digest for preventing falsification of each class file, version information, and the like.
【0016】[0016]
【発明が解決しようとする課題】しかしながら,文献1
に記載の従来技術によれば,アップデータ・コンポーネ
ントは,予め関連付けられたソフトウェアのみを更新の
対象とし,ネットワーク上に新たに登録されたサーバを
利用するためのアクセス用コードなどを更新の対象とし
ない。したがって,アップデータ・コンポーネントによ
るプログラムの自動配布システムを用いた場合,利用者
の負担を軽減することは可能であるが,更新プログラム
を管理する管理者の負担は変わらない。更新対象となる
ファイルに関するリストの作成は相変わらず管理者が手
作業で行う必要がある。Problems to be Solved by the Invention However, Document 1
According to the prior art described in the above, the update component only updates the software associated in advance, and does not update the access code for using a server newly registered on the network. . Therefore, when an automatic program distribution system using updater components is used, the burden on the user can be reduced, but the burden on the administrator who manages the update program does not change. Creating a list of files to be updated still needs to be done manually by the administrator.
【0017】一方,文献2に記載の「RMIの動的なクラ
スロード技術」によれば,ダウンロードしたファイルを
使用するのは,そのコードをダウンロードしたJava仮想
マシンに限られる。したがって,次に同じクライアント
・ソフトウェアを起動したとき,サーバ側のコードの更
新状態に関わらず,クライアントは常にコードのダウン
ロード処理を行ってしまう。インターネットなど比較的
低速なコンピュータ・ネットワークを利用してクライア
ントがサーバに接続する場合,ソフトウェアの起動に長
時間を要するなどの問題が発生する。On the other hand, according to the "RMI dynamic class loading technology" described in Document 2, the use of the downloaded file is limited to the Java virtual machine from which the code has been downloaded. Therefore, the next time the same client software is started, the client always downloads the code, regardless of the update state of the code on the server side. When a client connects to a server using a relatively low-speed computer network such as the Internet, problems such as a long time required to start up software occur.
【0018】本発明は,上記のような問題点に鑑みてな
されたものであり,その目的は,サーバが有するファイ
ルを効率よくクライアントに配布することが可能なファ
イル配布システムを提供することにある。The present invention has been made in view of the above problems, and has as its object to provide a file distribution system capable of efficiently distributing a file stored in a server to a client. .
【0019】[0019]
【課題を解決するための手段】上記課題を解決するため
に,請求項1によれば,配布の対象となる1または2以
上のファイルと1または2以上のファイルに関する情報
が記載されたファイル情報テーブルとを格納するファイ
ル配布側格納手段と,ファイル配布側格納手段に格納さ
れている1または2以上のファイルとファイル情報テー
ブルを,ネットワークを経由して配布するファイル配布
手段と,ファイル情報テーブルの内容に基づき,ファイ
ル配布側格納手段に格納されている1または2以上のフ
ァイルの中から1または2以上のファイルを選択し,フ
ァイル配布手段に対して選択した1または2以上のファ
イルの配布を要求し,ファイル配布手段によって配布さ
れた1または2以上のファイルをファイル被配布側格納
手段に格納するファイル管理手段と,を備えたことを特
徴とするファイル配布システムが提供される。In order to solve the above-mentioned problems, according to claim 1, one or more files to be distributed and file information in which information on one or more files is described. A file distributing side storing means for storing a table and a file distributing means for distributing one or more files and a file information table stored in the file distributing side storing means via a network; Based on the contents, one or more files are selected from one or more files stored in the file distribution side storage means, and the distribution of the selected one or more files is performed to the file distribution means. A file that requests and stores one or more files distributed by the file distribution means in the file distribution side storage means. And yl management unit, the file distribution system comprising the provided.
【0020】かかる構成によれば,ファイル管理手段が
ファイル配布側格納手段に格納されている1または2以
上のファイルの中から1または2以上のファイルを選択
し,自動的にファイル被配布側格納手段に格納する。例
えば,ファイル配布側格納手段がファイル・サーバのフ
ァイルシステムであり,ファイル被配布側格納手段がク
ライアント・コンピュータのファイルシステムである場
合,ファイル管理手段によって,利用者(クライアン
ト)に負担をかけることなく,所望するファイルをファ
イル・サーバからクライアントにダウンロードすること
が可能となる。According to this configuration, the file management means selects one or two or more files from the one or more files stored in the file distribution side storage means, and automatically stores the files on the file distribution side. Store in the means. For example, if the file distribution side storage means is a file system of a file server and the file distribution side storage means is a file system of a client computer, the file management means does not impose a burden on the user (client). Thus, a desired file can be downloaded from a file server to a client.
【0021】請求項2に記載のように,ファイル情報テ
ーブルには,少なくとも,1または2以上のファイルの
ファイル名と,ファイル管理手段に配布された後の1ま
たは2以上のファイルの操作に関する操作情報と,ファ
イル管理手段がファイル配布手段に対して行う1または
2以上のファイルの配布要求に用いられる要求情報と,
が記載されることが好ましい。このファイル情報テーブ
ルを参照することによって,ファイル管理手段は,ファ
イル配布手段に対して適切なファイルの配布を要求する
ことが可能となる。According to a second aspect of the present invention, the file information table stores at least the file names of one or more files and the operations related to the operation of the one or more files after being distributed to the file management means. Information and request information used by the file management means to request one or more files to be distributed to the file distribution means;
Is preferably described. By referring to this file information table, the file management means can request the file distribution means to distribute an appropriate file.
【0022】請求項3によれば,ファイル管理手段は,
要求情報に所望するバージョン情報を追加して,ファイ
ル配布手段に対して1または2以上のファイルの配布を
要求するためのコマンドを生成する。このようにコマン
ドにバージョン情報が追加されることによって,クライ
アントが所望するバージョンのファイルがファイル配布
側格納手段に存在する場合にのみ,そのファイルの配布
が行われることになる。したがって,不必要なファイル
の配布処理が行われず,ファイルの配布によるネットワ
ークトラフィックの増加が最小限に抑えられる。According to claim 3, the file management means comprises:
A command for requesting file distribution means to distribute one or more files is generated by adding desired version information to the request information. By adding the version information to the command in this way, the file is distributed only when the file of the version desired by the client exists in the file distribution side storage means. Therefore, unnecessary file distribution processing is not performed, and an increase in network traffic due to file distribution is minimized.
【0023】請求項4に記載のように,ファイル管理手
段は,正規表現またはワイルドカードの少なくともいず
れか一方を用いて,ファイル配布側格納手段に格納され
ている1または2以上のファイルの中から2以上のファ
イルを同時に選択することが好ましい。ファイル管理手
段は,複数のファイルを同時に効率よく管理することが
可能となる。According to a fourth aspect of the present invention, the file management unit uses at least one of a regular expression and a wild card to select one or more files stored in the file distribution side storage unit. Preferably, two or more files are selected simultaneously. The file management means can manage a plurality of files simultaneously and efficiently.
【0024】請求項5に記載のように,ファイル配布側
格納手段は,ファイル配布側格納手段に格納されている
1または2以上のファイルの各バージョン情報が記載さ
れたバージョン情報付きファイル情報テーブルを格納す
ることが好ましい。かかる構成によれば,ファイル管理
手段は,ファイル被配布側格納手段に格納されているフ
ァイルとバージョン情報付きファイル情報テーブルとの
内容を比較し,ファイル配布側格納手段に格納されてい
るより新しいファイルのみを配布するように,ファイル
配布手段に要求することが可能となる。これによって,
不必要なファイル(バージョンの古いファイル等)の配
布が防止され,ファイルの配布処理の効率がより向上す
る。According to a fifth aspect of the present invention, the file distribution side storage means stores a file information table with version information in which version information of one or more files stored in the file distribution side storage means is described. Preferably, it is stored. According to this configuration, the file management unit compares the contents of the file stored in the file distribution side storage unit with the contents of the file information table with version information, and stores the newer file stored in the file distribution side storage unit. It is possible to request the file distribution means to distribute only the data. by this,
Distribution of unnecessary files (files with old versions, etc.) is prevented, and the efficiency of file distribution processing is further improved.
【0025】請求項6に記載のように,ファイル配布手
段がバージョン情報付きファイル情報テーブルを生成す
ることによって,バージョン情報付きファイル情報テー
ブルに記載されるバージョン情報は,常に最新の状態に
保持される。また,ファイル配布側格納手段に格納され
ている各ファイル間の関連性(依存関係)をバージョン
情報付きファイル情報テーブルに記載することも可能と
なる。As described in claim 6, the file distribution means generates the file information table with version information, so that the version information described in the file information table with version information is always kept in the latest state. . Further, the relevance (dependency) between the files stored in the file distribution side storage means can be described in the file information table with version information.
【0026】[0026]
【発明の実施の形態】以下に添付図面を参照しながら,
本発明にかかるファイル配布システムの好適な実施の形
態について詳細に説明する。なお,以下の説明および添
付された図面において,略同一の機能および構成を有す
る構成要素については,同一符号を付することによって
重複説明を省略する。BRIEF DESCRIPTION OF THE DRAWINGS FIG.
A preferred embodiment of the file distribution system according to the present invention will be described in detail. In the following description and the accompanying drawings, components having substantially the same functions and configurations are denoted by the same reference numerals, and redundant description is omitted.
【0027】[第1の実施の形態]本発明の第1の実施
の形態にかかるファイル配布システムの構成を図1に示
す。[First Embodiment] FIG. 1 shows the configuration of a file distribution system according to a first embodiment of the present invention.
【0028】101は,Java言語によって作成された任
意のアプリケーション・ソフトウェアである。このアプ
リケーションは単体で動作するものであっても,ネット
ワーク上に存在するサーバと通信して処理を行ういわゆ
るクライアント・プログラムであってもよい。Reference numeral 101 denotes arbitrary application software created by the Java language. This application may operate independently or may be a so-called client program that performs processing by communicating with a server existing on a network.
【0029】102は,アプリケーション101が動作
するコンピュータ上に存在する第1のファイルシステム
である。第1のファイルシステム(ファイル被配布側格
納手段)102内に配布の対象となるアプリケーション
101のプログラムが格納される。このプログラムは単
一のアーカイブ・ファイルで構成されるとは限らない。
複数のプログラム・モジュール群103から構成される
場合もある。このようにプログラムを複数のモジュール
に分割することにより,モジュール単位でのアプリケー
ション間のコード共有が容易となる。各モジュールはJA
Rファイルとしてまとめられ,バージョン情報のメタ情
報が付加される。Reference numeral 102 denotes a first file system existing on a computer on which the application 101 operates. The program of the application 101 to be distributed is stored in the first file system (file distribution side storage means) 102. This program does not always consist of a single archive file.
It may be composed of a plurality of program module groups 103. Dividing the program into a plurality of modules in this manner facilitates code sharing between applications in module units. Each module is JA
It is compiled as an R file, and meta information of version information is added.
【0030】プログラム管理コンポーネント(ファイル
管理手段)104は,アプリケーション101が動作す
るコンピュータあるいはそのコンピュータと同じネット
ワーク・サイト内で動作するコンピュータ上で動作する
プログラムである。このプログラムは,プログラム配布
サーバ(ファイル配布手段)108と連携して動作し,
ダウンロードしたプログラム・モジュール群107を第
1のファイルシステム102に格納する機能を有する。The program management component (file management means) 104 is a program that runs on the computer on which the application 101 runs or on a computer running on the same network site as the computer. This program operates in cooperation with a program distribution server (file distribution means) 108,
It has a function of storing the downloaded program module group 107 in the first file system 102.
【0031】第2のファイルシステム(ファイル配布側
格納手段)105は,プログラムの提供元のネットワー
ク・サイト内に存在するデータ格納手段である。第2の
ファイルシステム105には,モジュール・テーブル
(ファイル情報テーブル)106と,プログラム・モジ
ュール群107が格納される。The second file system (storage means on the file distribution side) 105 is a data storage means existing in the network site of the program provider. In the second file system 105, a module table (file information table) 106 and a program module group 107 are stored.
【0032】モジュール・テーブル106は,配布の対
象となるプログラム・モジュール群107に関する情報
が記載されるテーブルであり,プログラム配布に先立ち
システム管理者によってあらかじめ本ファイル配布シス
テムの利用者ごと,あるいは利用者群ごとに用意され
る。The module table 106 is a table in which information on the program module group 107 to be distributed is described. Prior to the distribution of the program, the system administrator preliminarily sets the information for each user of the file distribution system or the user. Prepared for each group.
【0033】プログラム・モジュール群107は,配布
対象となるプログラム・モジュール(ファイル)の集合
であり,このモジュール群の一部が選択的に各利用者に
配布される。The program module group 107 is a set of program modules (files) to be distributed, and a part of the module group is selectively distributed to each user.
【0034】プログラム配布サーバ108は,第2のフ
ァイルシステム105に格納されている情報を提供する
サーバであり,プログラム管理コンポーネント104か
らのダウンロード要求に応じて,第2のファイルシステ
ム105に格納されたファイルを提供する。The program distribution server 108 is a server that provides information stored in the second file system 105, and is stored in the second file system 105 in response to a download request from the program management component 104. Serve files.
【0035】以上のように構成された本実施の形態にか
かるファイル配布システムのプログラム更新に関する動
作を工程順に説明する。The operation related to the program update of the file distribution system according to the embodiment configured as described above will be described in the order of steps.
【0036】<ステップ1>システム管理者は,配布の
対象となるプログラム・モジュール群107およびモジ
ュール・テーブル106を第2のファイルシステム10
5に登録する。<Step 1> The system administrator stores the program module group 107 and the module table 106 to be distributed in the second file system 10.
Register to 5.
【0037】<ステップ2>プログラム管理コンポーネ
ント104は,プログラム配布サーバ108に対して,
利用者”A”に割り当てられたモジュール・テーブル1
06のダウンロードを要求する。このダウンロードの要
求は,予め設定された周期で行ういわゆるポーリング方
式に基づいて実行されること,あるいは,アプリケーシ
ョン101の起動ごとに実行されることが好ましい。こ
の場合,プログラム管理コンポーネント104は,サー
バ・デーモンとして常時動作するように構成されるか,
または,アプリケーション101に組み込まれ,同期的
に起動するように構成される。<Step 2> The program management component 104 sends the program
Module table 1 assigned to user "A"
06 download request. This download request is preferably executed based on a so-called polling method performed at a preset cycle, or is preferably executed every time the application 101 is started. In this case, the program management component 104 is configured to always operate as a server daemon,
Alternatively, it is configured to be incorporated in the application 101 and started synchronously.
【0038】<ステップ3>プログラム管理コンポーネ
ント104からのリクエストを受け付けたプログラム配
布サーバ108は,要求に応じたモジュール・テーブル
106を要求元であるプログラム管理コンポーネント1
04に送る。モジュール・テーブル106の例を以下に
示す。<Step 3> Upon receiving the request from the program management component 104, the program distribution server 108 sends the module table 106 corresponding to the request to the program management component 1 which is the request source.
Send to 04. An example of the module table 106 is shown below.
【0039】# Module table for user "A" foo-dl.jar::/LATEST?Regex-Path=/foo/.+/foo-dl\.jar
$ bar-dl.jar:notrace:/LATEST?Wildcard-Path=/bar/*/ba
r-dl.jar setup.jar:unzip,notrace:/VERSION?Path=/setups/user
A/setup.jar# Module table for user "A" foo-dl.jar :: / LATEST? Regex-Path = / foo /.+/ foo-dl \ .jar
$ bar-dl.jar: notrace: / LATEST? Wildcard-Path = / bar / * / ba
r-dl.jar setup.jar: unzip, notrace: / VERSION? Path = / setups / user
A / setup.jar
【0040】このモジュール・テーブル106の記述に
関する規則は以下の通りである。The rules concerning the description of the module table 106 are as follows.
【0041】・モジュール・テーブル106の各行に一
つのダウンロード情報を記述する。One piece of download information is described in each line of the module table 106.
【0042】・各ダウンロード情報は,”:”によって
区切られた3つのフィールド,「JARファイル名:操作
情報:要求情報」から構成される。Each download information is composed of three fields separated by “:”, “JAR file name: operation information: request information”.
【0043】・「JARファイル名」は,ダウンロード
後,第1のファイルシステム102に格納する際のファ
イル名を示す。The “JAR file name” indicates a file name when stored in the first file system 102 after downloading.
【0044】・「操作情報」は,ダウンロード後の操作
を示す付加情報で,一つまたは”,”によって区切られ
た複数の操作情報で構成される。The "operation information" is additional information indicating an operation after downloading, and is composed of one or a plurality of pieces of operation information separated by ",".
【0045】・「要求情報」は,ファイルのダウンロー
ドに用いるリクエストのテンプレートを指定するフィー
ルドである。"Request information" is a field for designating a request template used for downloading a file.
【0046】HTTP(HyperText Transfer Protocol)をダ
ウンロードのプロトコルとして用いる場合の「要求情
報」の書式は以下の通りである。なお,「要求情報」の
書式を複数行に分けて記載したが,本来は一行のコマン
ドとして発行される。The format of "request information" when HTTP (HyperText Transfer Protocol) is used as a download protocol is as follows. Although the format of the "request information" is described on a plurality of lines, it is originally issued as a one-line command.
【0047】/{VERSION|LATEST} ?{Regex-Path|Wildcard-Path|Path}=パス名 [&‘R?≪?L?[=属性値][&...]/ {VERSION | LATEST}? {Regex-Path | Wildcard-Path | Path} = path name [& ‘R? ≪? L? [= Attribute value] [& ...]
【0048】ここで書式における各用語の意味を説明す
る。Here, the meaning of each term in the format will be described.
【0049】・VERSION 要求したパス名にマッチするすべてのJARファイルから
指定のマニフェスト属性情報に厳密にマッチする属性を
持つJARファイルを返す。マッチするJARファイルが複数
存在する場合には,JARファイルのタイムスタンプを比
較して最近に更新されたJARファイルを返す。VERSION Returns a JAR file having an attribute that exactly matches the specified manifest attribute information from all the JAR files that match the requested path name. If there is more than one matching JAR file, compare the timestamps of the JAR files and return the most recently updated JAR file.
【0050】・LATEST 要求したパス名にマッチするすべてのJARファイルから
指定のマニフェスト属性情報よりも新しいバージョン情
報を持つJARファイルを返す。具体的には,指定のマニ
フェスト属性情報にマッチする属性を備え,かつ,具備
する属性値が指定のマニフェスト属性値よりも辞書順で
後となるJARファイルだけをマッチしたものとみなす。
マッチしたJARファイルが複数存在する場合には,属性
値が辞書順で後になるJARファイルすなわち最も大きな
バージョン情報を持つJARファイルを返す。LATEST Returns a JAR file having version information newer than specified manifest attribute information from all JAR files matching the requested path name. Specifically, it is considered that only a JAR file that has an attribute that matches the specified manifest attribute information and that has an attribute value that is later than the specified manifest attribute value in dictionary order is matched.
If there are a plurality of matching JAR files, the JAR file whose attribute value comes later in the dictionary order, that is, the JAR file having the largest version information is returned.
【0051】・Regex-Path ファイルをダウンロードする際のパス名として,URL(Un
iform Resource Locator)に正規表現を使用することを
示すオプション。URL (Und) as the path name when downloading the Regex-Path file
Option to use regular expression for iform Resource Locator).
【0052】・Wildcard-Path ファイルをダウンロードする際のパス名として,URLに
シェルのワイルドカードを使用することを示すオプショ
ン。Wildcard-Path An option indicating that a shell wildcard is used in a URL as a path name when a file is downloaded.
【0053】・Path ファイルをダウンロードする際のパス名として通常のUR
Lを使用することを示すオプション。Path: A normal UR is used as a path name when downloading a file.
Option indicating that L should be used.
【0054】・属性キーと属性値 属性キーとその値との対によって表現される属性情報。
この属性情報によって,マニフェスト・ファイル内に記
載されている任意の属性情報を指定することが可能であ
る。Attribute key and attribute value Attribute information expressed by a pair of an attribute key and its value.
With this attribute information, it is possible to specify any attribute information described in the manifest file.
【0055】次に,「操作情報」の例を示す。Next, an example of "operation information" will be shown.
【0056】・unzip ダウンロードしたモジュールの展開を指定する操作情
報。アプリケーションの起動スクリプトなど,アーカイ
ブ化されたままでは意味がない(機能しない)ファイル
を配布する際に指定される。Unzip Operation information for specifying expansion of the downloaded module. It is specified when distributing files that are meaningless (do not work) as archived, such as application startup scripts.
【0057】・notrace JARファイル間の依存関係を示すマニフェスト属性にお
けるClass-Pathフィールドを無視するための操作情報。
後述の通り,本実施の形態にかかるファイル配布システ
ムでは,プログラム・モジュール間の依存関係は,Clas
s-Path属性のトレース(追跡)により自動的に解決され
る。これによって,アプリケーションの動作に必要なプ
ログラム・モジュール群は,一貫性が保持されつつダウ
ンロードされる。この操作情報は,自動的な依存関係の
追跡を明示的に停止する場合に使用される。Notrace Operation information for ignoring the Class-Path field in the manifest attribute indicating the dependency between JAR files.
As described later, in the file distribution system according to the present embodiment, the dependency between the program and the module is Clas.
Automatically resolved by tracing the s-Path attribute. As a result, the program modules required for the operation of the application are downloaded while maintaining consistency. This operation information is used when explicitly stopping the automatic dependency tracking.
【0058】・delete 配布モジュールをクライアントの端末上から削除するた
めの操作情報。バージョンアップに伴い不必要となった
プログラム・モジュールを削除する場合などに使用され
る。Delete Operation information for deleting the distribution module from the client terminal. Used to delete unnecessary program modules due to version upgrade.
【0059】<ステップ4>モジュール・テーブル10
6を獲得したプログラム管理コンポーネント104は,
獲得したモジュール・テーブル106に記述されている
各ダウンロード情報に応じて,<ステップ4−A>また
は<ステップ4−B>のいずれかの動作を行う。<Step 4> Module table 10
6, the program management component 104
One of <Step 4-A> or <Step 4-B> is performed according to each download information described in the obtained module table 106.
【0060】<ステップ4−A>要求情報(ダウンロー
ド情報の第3フィールド)が,”/LATEST”から始ま
り,かつ,既に同名のファイルがクライアントの第1の
ファイルシステム102に存在している場合には,その
ファイルのバージョン情報を要求情報のオプションとし
て,そのファイルを獲得するためのHTTPのGETリクエス
トを発行する。<Step 4-A> When the request information (the third field of the download information) starts with “/ LATEST” and a file having the same name already exists in the first file system 102 of the client. Issues an HTTP GET request to acquire the file, using the version information of the file as an option in the request information.
【0061】上記のモジュール・テーブル106の最初
(コメント行の次の行)のダウンロード情報からは,例
えば,次のGETリクエストが生成される。From the download information at the beginning of the module table 106 (the line following the comment line), for example, the next GET request is generated.
【0062】 GET /LATEST?Regex-Path=/foo/,+/foo-dl\.jar$ &Specification-Version=1.0 &Package-Version=build100GET /LATEST?Regex-Path=/foo/,+/foo-dl\.jar$ & Specification-Version = 1.0 & Package-Version = build100
【0063】このGETリクエストは,既にクライアント
にダウンロードされている同名のファイルのマニフェス
ト情報にバージョン情報として,”Specification-Vers
ion:1.0”と”Package-Version:build100”が定義され
ている場合に生成される一例である。This GET request is transmitted as “Specification-Vers” as version information in the manifest information of the file of the same name already downloaded to the client.
This is an example generated when “ion: 1.0” and “Package-Version: build100” are defined.
【0064】ここでバージョン情報として使用されるマ
ニフェスト・ファイルの属性は,”Specification-Vers
ion”,”Package-Version”の2つであり,この順でオ
プション指定が行われる。これらの情報がマニフェスト
・ファイルに記述されていない場合には,オプション指
定は行われない。The attribute of the manifest file used as the version information is “Specification-Vers
The options are specified in this order, ie, “ion” and “Package-Version.” If these pieces of information are not described in the manifest file, the options are not specified.
【0065】<ステップ4−B>それ以外の場合(同名
のファイルを所有していない場合,または,要求情報
が”/LATEST”以外の文字列から始まっている場合),
要求情報の文字列をそのまま使用してファイルのダウン
ロード要求を発行する。<Step 4-B> In other cases (when a file having the same name is not owned, or when the request information starts with a character string other than "/ LATEST")
A file download request is issued using the character string of the request information as it is.
【0066】上記のモジュール・テーブル106の最初
(コメント行の次の行)のダウンロード情報がこの条件
に合致する場合,例えば,次のGETリクエストが生成さ
れる。When the download information at the beginning of the module table 106 (the line following the comment line) meets this condition, for example, the next GET request is generated.
【0067】 GET /LATEST?Regex-Path=/foo/.+/foo-dl\.jar$GET /LATEST?Regex-Path=/foo/.+/foo-dl\.jar$
【0068】<ステップ5>プログラム配布サーバ10
8は,プログラム管理コンポーネント104からのダウ
ンロード要求を受けてファイルを検索する。要求に該当
するファイルが存在する場合には,そのファイル(プロ
グラム・モジュール107)を読み出して送り返す。一
方,要求に該当するファイルが見つからない場合には,
空の応答を返す。これによって,クライアントが所有す
るファイルより新しいファイルがサーバ上に存在する場
合にのみファイルの転送が行われることになる。また,
VERSIONリクエストを使用することによって,配布ファ
イルを明示的に古いバージョンに差し戻すことも可能で
ある。<Step 5> Program distribution server 10
8 receives a download request from the program management component 104 and searches for a file. If a file corresponding to the request exists, the file (program module 107) is read and sent back. On the other hand, if the file corresponding to the request cannot be found,
Returns an empty response. As a result, the file is transferred only when a file newer than the file owned by the client exists on the server. Also,
It is also possible to explicitly revert the distribution file to an older version by using a VERSION request.
【0069】<ステップ6>プログラム管理コンポーネ
ント104は,プログラム配布サーバ108からの転送
データを一時的なファイル名で第1のファイルシステム
102に保存する。このとき,一時的なファイル名と本
来の名称(ダウンロード情報に記載されているファイル
名)との変換情報をハンドル情報とともに別ファイルに
書き出しておく。<Step 6> The program management component 104 stores the transfer data from the program distribution server 108 in the first file system 102 under a temporary file name. At this time, conversion information between the temporary file name and the original name (the file name described in the download information) is written out to another file together with the handle information.
【0070】<ステップ7>ダウンロードしたJARファ
イルがClass-Path属性を持っている場合には,その情報
に従って<ステップ4>と同様の方法によって依存関係
にあるファイルをロードする。<Step 7> If the downloaded JAR file has the Class-Path attribute, the dependent file is loaded according to the information in the same manner as in <Step 4>.
【0071】<ステップ8>すべてのファイル転送が終
了した時点でプログラム管理コンポーネント104は,
アプリケーション101に転送が正常に終了したことを
通知する。この通知を受けたアプリケーション101
は,利用者に対して,ファイルのバージョンアップが存
在すること,クライアントアプリケーション101を一
旦終了することを確認する。<Step 8> When all file transfers have been completed, the program management component 104
The application 101 is notified that the transfer has been completed normally. Application 101 receiving this notification
Confirms with the user that the file version upgrade exists and that the client application 101 is temporarily terminated.
【0072】<ステップ9>アプリケーション101が
終了した時点で,プログラム管理コンポーネント104
は,<ステップ6>において作成したファイル名の変更
情報を読み出して,ファイル名の変更を行う。また,操
作情報に応じてアーカイブの展開やファイルの削除処理
を行う。<Step 9> When the application 101 ends, the program management component 104
Reads the file name change information created in <Step 6> and changes the file name. In addition, archive expansion and file deletion processing are performed according to the operation information.
【0073】ここで,本実施の形態にかかるファイル配
布システムによるプログラムの更新処理が完了する。Here, the updating process of the program by the file distribution system according to the present embodiment is completed.
【0074】以上説明したように本実施の形態にかかる
ファイル配布システムによれば,利用者のコンピュータ
上にプログラム管理コンポーネント104が配置される
ため,サーバ側の第2のファイルシステム105に登録
したプログラム・モジュール107を利用者に負担をか
けることなく,自動的に利用者のコンピュータにダウン
ロードすることが可能となる。As described above, according to the file distribution system of the present embodiment, since the program management component 104 is arranged on the user's computer, the program registered in the second file system 105 on the server side The module 107 can be automatically downloaded to the user's computer without putting a burden on the user.
【0075】ダウンロードの際,サーバ側のモジュール
・テーブル106によって配布の対象となるファイルを
制御することができるため,既存のアプリケーションの
アップデートはもちろん,新規アプリケーションの追
加,あるいは既存アプリケーションの削除が容易とな
る。At the time of downloading, since the files to be distributed can be controlled by the module table 106 on the server side, it is easy to update an existing application, add a new application, or delete an existing application. Become.
【0076】モジュール・テーブル106に記録するダ
ウンロード情報に,正規表現およびワイルドカードの使
用が可能なため,複数の配布ファイルを同時に管理する
ことが容易となる。例えば,モジュール・テーブル10
6に,Since a regular expression and a wild card can be used for the download information recorded in the module table 106, a plurality of distribution files can be easily managed at the same time. For example, module table 10
6,
【0077】 foo.jar::/LATEST?Wildcard-Path=/foo/*/foo.jarFoo.jar :: / LATEST? Wildcard-Path = / foo / * / foo.jar
【0078】というダウンロード情報が記載されている
場合,サーバ側の第2のファイルシステム105に存在
する2つのファイル,When the download information is described, two files existing in the second file system 105 on the server side are
【0079】/foo/version-1.0/foo.jar /foo/version-1.1/foo.jar/Foo/version-1.0/foo.jar /foo/version-1.1/foo.jar
【0080】のどちらも上記の要求情報”/foo/*/foo.j
ar”にマッチする。ディレクトリversion-1.1の下にあ
るfoo.jarファイル内のマニフェスト情報に,ディレク
トリversion-1.0の下のfoo.jarファイルよりも新しいバ
ージョン情報が適切に設定されていれば,LATEST要求に
対してディレクトリversion-1.1の下のfoo.jarファイル
が返される。このように,本実施の形態にかかるファイ
ル配布システムによれば,複数のマッチするファイルか
ら最新のファイルを探し出して返すことが可能となる。In both cases, the above request information "/foo/*/foo.j
ar ”. If the manifest information in the foo.jar file under the directory version-1.1 is appropriately set to newer version information than the foo.jar file under the directory version-1.0, LATEST In response to the request, the foo.jar file under the directory version-1.1 is returned.Thus, according to the file distribution system according to the present embodiment, the latest file is searched for and returned from a plurality of matching files. Becomes possible.
【0081】また,最新のファイルを配布する通常の利
用方法のもとでは,ファイルのバージョンアップのたび
にモジュール・テーブル106を更新する必要がなくな
り,システム管理者の負担が軽減する。Further, under the normal use method of distributing the latest file, it is not necessary to update the module table 106 every time the file is upgraded, so that the burden on the system administrator is reduced.
【0082】さらに,本実施の形態にかかるファイル配
布システムにおいて,モジュール・テーブル106に記
載されているダウンロード情報の「要求情報」項の記述
形式は,HTTPの拡張記述形式に準拠している。したがっ
て,プログラム配布サーバ108には,一般的なWWWサ
ーバが備えるセキュリティ機構をそのまま適用すること
が可能となる。Furthermore, in the file distribution system according to the present embodiment, the description format of the “request information” section of the download information described in the module table 106 conforms to the HTTP extended description format. Therefore, the security mechanism of a general WWW server can be applied to the program distribution server 108 as it is.
【0083】[第2の実施の形態]本発明の第2の実施
の形態にかかるファイル配布システムの構成を図2に示
す。[Second Embodiment] FIG. 2 shows the configuration of a file distribution system according to a second embodiment of the present invention.
【0084】本実施の形態にかかるファイル配布システ
ムは,第1の実施の形態にかかるファイル配布システム
に対して,新たなコンポーネントとしてバージョン情報
付きモジュール・テーブル(バージョン情報付きファイ
ル情報テーブル)209が追加された構成を有する。The file distribution system according to the present embodiment adds a module table with version information (file information table with version information) 209 as a new component to the file distribution system according to the first embodiment. It has the structure which was done.
【0085】バージョン情報付きモジュール・テーブル
209は,モジュール・テーブル106の内容に基づ
き,プログラム配布サーバ108によって自動的に作成
され,第2のファイルシステム105に格納されるファ
イルである。バージョン情報付きモジュール・テーブル
209には,モジュール・テーブル106に記述されて
いる各プログラム・モジュール107の依存関係が展開
されており,さらに,それぞれのファイルのバージョン
情報が追記されている。The module table with version information 209 is a file automatically created by the program distribution server 108 based on the contents of the module table 106 and stored in the second file system 105. In the module table with version information 209, the dependency of each program module 107 described in the module table 106 is expanded, and version information of each file is additionally written.
【0086】以上のように構成された本実施の形態にか
かるファイル配布システムのプログラム更新に関する動
作を工程順に説明する。The operation related to the program update of the file distribution system according to the present embodiment configured as described above will be described in the order of steps.
【0087】<ステップ1>システム管理者は,配布の
対象となるプログラム・モジュール群107およびモジ
ュール・テーブル・ファイル106を第2のファイルシ
ステム105に登録する。<Step 1> The system administrator registers the program module group 107 and the module table file 106 to be distributed in the second file system 105.
【0088】<ステップ2>プログラム配布サーバ10
8は,プログラム・モジュール群107およびモジュー
ル・テーブル106の更新に関する情報を,オペレーテ
ィング・システム(OS)からの通知,あるいは,所定の
間隔で第2のファイルシステム105のディレクトリを
検査すること,等によって取得する。いずれかの方法に
よってプログラム・モジュール群107あるいはモジュ
ール・テーブル106の更新情報を得たプログラム配布
サーバ108は,これらの更新情報に基づき,バージョ
ン情報付きモジュール・テーブル209を作成する。<Step 2> Program distribution server 10
Reference numeral 8 denotes information relating to the update of the program module group 107 and the module table 106, by notifying from the operating system (OS) or checking the directory of the second file system 105 at predetermined intervals. get. The program distribution server 108, which has obtained the update information of the program module group 107 or the module table 106 by any of the methods, creates a module table 209 with version information based on the update information.
【0089】例えば,第2のファイルシステム105に
登録されたモジュール・テーブル106が以下の内容で
ある場合,For example, when the module table 106 registered in the second file system 105 has the following contents,
【0090】# Module table for user "A" foo-dl.jar::/LATEST?Regex-Path=/foo/.+/foo-dl\.jar
$ bar-dl.jar:notrace:/LATEST?Wildcard-Path=/bar/*/ba
r-dl.jar setup.jar:unzip,notrace:/VERSION?Path=/setups/user
A/setup.jar# Module table for user "A" foo-dl.jar :: / LATEST? Regex-Path = / foo /.+/ foo-dl \ .jar
$ bar-dl.jar: notrace: / LATEST? Wildcard-Path = / bar / * / ba
r-dl.jar setup.jar: unzip, notrace: / VERSION? Path = / setups / user
A / setup.jar
【0091】このファイルから生成されるバージョン情
報付きモジュール・テーブル209は,例えば次のよう
な内容となる。The module table with version information 209 generated from this file has, for example, the following contents.
【0092】# Version module table for user "A" foo-dl.jar::/foo/version-1.1/foo-dl.jar:Specificat
ion-Version="1.1",Package-Version="build100" foo-core.jar::/foo/version-1.1/foo-core.jar:Specif
ication-Version="1.0",Package-Version="build30" bar-dl.jar:notrace:/bar/barl/bar-dl.jar:Specificat
ion-Version="1.0",Package-Version="build23" setup.jar:unzip,notrace:/setups/userA/setup.jar:La
stModified="2000 05 0515:32:21"# Version module table for user "A" foo-dl.jar :: / foo / version-1.1 / foo-dl.jar: Specificat
ion-Version = "1.1", Package-Version = "build100" foo-core.jar :: / foo / version-1.1 / foo-core.jar: Specif
ication-Version = "1.0", Package-Version = "build30" bar-dl.jar: notrace: /bar/barl/bar-dl.jar: Specificat
ion-Version = "1.0", Package-Version = "build23" setup.jar: unzip, notrace: /setups/userA/setup.jar: La
stModified = "2000 05 0515: 32: 21"
【0093】バージョン情報付きモジュール・テーブル
209の各ダウンロード情報は,”:”によって区切ら
れた4つのフィールド「JARファイル名:操作情報:要
求情報:属性情報」から構成される。Each download information of the module table with version information 209 is composed of four fields "JAR file name: operation information: request information: attribute information" delimited by ":".
【0094】「JARファイル名」および「操作情報」に
ついては,モジュール・テーブル106と略同一の形式
が用いられる。As for the “JAR file name” and the “operation information”, substantially the same format as that of the module table 106 is used.
【0095】バージョン情報付きモジュール・テーブル
209の「要求情報」には,モジュール・テーブル10
6に記載の「要求情報」を展開して得られるパス名が用
いられる。例えば,上記のモジュール・テーブル106
の最初(コメント行の次の行)のダウンロード情報にお
ける「要求情報」は,The “request information” of the module table with version information 209 includes the module table 10
The path name obtained by expanding the “request information” described in No. 6 is used. For example, the above module table 106
The "request information" in the download information at the beginning of (the line following the comment line)
【0096】 /LATEST?Regex-Path=/foo/.+/foo-dl\.jar$[0096] /LATEST?Regex-Path=/foo/.+/foo-dl\.jar$
【0097】である。したがって,これにマッチしたフ
ァイルIs as follows. Therefore, files that match this
【0098】/foo/version-1.1/foo-dl.jar[0098] /foo/version-1.1/foo-dl.jar
【0099】が,バージョン情報付きモジュール・テー
ブル209の最初(コメント行の次の行)のダウンロー
ド情報に「要求情報」として記載される。Is described as “request information” in the download information at the beginning of the module table with version information 209 (the line following the comment line).
【0100】「属性情報」には,マッチしたアーカイブ
・ファイル(「要求情報」に記載されたファイル)に定
義されているバージョン情報が記載される。バージョン
情報が複数の場合は,”,”によって区切られて記載さ
れる。上記のバージョン情報付きモジュール・テーブル
209の最初(コメント行の次の行)のダウンロード情
報は,ファイルThe "attribute information" describes version information defined in the matching archive file (the file described in the "request information"). When there are a plurality of version information, they are described separated by ",". The download information at the beginning of the module table with version information 209 (the line following the comment line) is a file
【0101】/foo/version-1.1/foo-dl.jar/Foo/version-1.1/foo-dl.jar
【0102】には,マニフェスト属性として,[0102] As manifest attributes,
【0103】Specification-Version:1.1 Package-Version:build100Specification-Version: 1.1 Package-Version: build100
【0104】のバージョン情報が指定されていることを
示している。This indicates that the version information is designated.
【0105】なお,アーカイブ・ファイルにバージョン
情報に関する情報が記載されていない場合,プログラム
配布サーバ108は,バージョン情報の代わりに,この
ファイルのタイムスタンプ情報を属性情報として付加す
る。上記のバージョン情報付きモジュール・テーブル2
09の4番目のダウンロード情報に記載されている”se
tup.jar”ファイルがこれに該当する。If the archive file does not contain information about the version information, the program distribution server 108 adds the time stamp information of the file as attribute information instead of the version information. Module table 2 with the above version information
09 "se" described in the fourth download information
The “tup.jar” file corresponds to this.
【0106】ところで,上記のバージョン情報付きモジ
ュール・テーブル209の2番目のダウンロード情報に
記載されている”foo-core.jar”ファイルに対応するダ
ウンロード情報が上記のモジュール・テーブル106に
存在しない。これは,1番目のダウンロード情報に記載
されている”foo-dl.jar”ファイルに,このファイルと
の依存関係を示すBy the way, the download information corresponding to the “foo-core.jar” file described in the second download information of the module table with version information 209 does not exist in the module table 106. This indicates the dependency on this file in the "foo-dl.jar" file described in the first download information
【0107】Class-Path:foo-core.jarClass-Path: foo-core.jar
【0108】がマニフェスト属性として記述されている
ためである。プログラム配布サーバ108は,この依存
関係を追跡して,被依存ファイルをテーブルの要素とし
て追加する。This is because the attribute is described as a manifest attribute. The program distribution server 108 tracks this dependency and adds the dependent file as a table element.
【0109】<ステップ3>プログラム管理コンポーネ
ント104は,プログラム配布サーバ108に対して,
利用者”A”に割り当てられたバージョン情報付きモジ
ュール・テーブル209のダウンロードを要求する。こ
のダウンロードの要求は,予め設定された周期で行うい
わゆるポーリング方式に基づいて実行されること,ある
いは,アプリケーション101の起動ごとに実行される
ことが好ましい。この場合,プログラム管理コンポーネ
ント104は,サーバ・デーモンとして常時動作するよ
うに構成されるか,または,アプリケーション101に
組み込まれ,同期的に起動するように構成される。<Step 3> The program management component 104 sends the program
The download of the module table with version information 209 assigned to the user “A” is requested. This download request is preferably executed based on a so-called polling method performed at a preset cycle, or is preferably executed every time the application 101 is started. In this case, the program management component 104 is configured to always operate as a server daemon, or is incorporated in the application 101 and configured to start synchronously.
【0110】<ステップ4>プログラム管理コンポーネ
ント104からのリクエストを受け付けたプログラム配
布サーバ108は,要求に応じたバージョン情報付きモ
ジュール・テーブル209を要求元であるプログラム管
理コンポーネント104に送る。<Step 4> Upon receiving the request from the program management component 104, the program distribution server 108 sends a module table 209 with version information according to the request to the request source program management component 104.
【0111】<ステップ5>バージョン情報付きモジュ
ール・テーブル209を獲得したプログラム管理コンポ
ーネント104は,各ダウンロード情報を参照し,現
在,クライアントに同名のファイルがインストールされ
ているか否かを確認する。同名のファイルが存在しな
い,または,ファイルが存在してもそのバージョン情報
がバージョン付きモジュール・テーブル209に記載の
バージョンよりも古い場合には,要求情報を利用してダ
ウンロード要求を発行する。<Step 5> The program management component 104 that has acquired the module table 209 with version information refers to each piece of download information and checks whether a file having the same name is currently installed in the client. If a file with the same name does not exist, or if a file exists but its version information is older than the version described in the version-added module table 209, a download request is issued using the request information.
【0112】<ステップ6>プログラム配布サーバ10
8は,プログラム管理コンポーネント104からのダウ
ンロード要求を受けて,該当するファイルを第2のファ
イルシステム105から検索し,プログラム管理コンポ
ーネント104に対して送付する。<Step 6> Program distribution server 10
8 receives a download request from the program management component 104, searches the second file system 105 for a corresponding file, and sends the file to the program management component 104.
【0113】<ステップ7>プログラム管理コンポーネ
ント104は,プログラム配布サーバ108からの転送
データを一時的なファイル名で第1のファイルシステム
102に保存する。このとき,一時的なファイル名と本
来の名称(ダウンロード情報に記載されているファイル
名)との変換情報をハンドル情報とともに別ファイルに
書き出しておく。<Step 7> The program management component 104 stores the transfer data from the program distribution server 108 in the first file system 102 under a temporary file name. At this time, conversion information between the temporary file name and the original name (the file name described in the download information) is written out to another file together with the handle information.
【0114】<ステップ8>すべてのファイル転送が終
了した時点でプログラム管理コンポーネント104は,
アプリケーション101に転送が正常に終了したことを
通知する。この通知を受けたアプリケーション101
は,利用者に対して,ファイルのバージョンアップが存
在すること,クライアントアプリケーション101を一
旦終了することを確認する。<Step 8> When all file transfers have been completed, the program management component 104
The application 101 is notified that the transfer has been completed normally. Application 101 receiving this notification
Confirms with the user that the file version upgrade exists and that the client application 101 is temporarily terminated.
【0115】<ステップ9>アプリケーション101が
終了した時点で,プログラム管理コンポーネント104
は,<ステップ7>において作成したファイル名の変換
情報を読み出して,ファイル名の変更を行う。また,操
作情報に応じてアーカイブの展開やファイルの削除処理
を行う。<Step 9> When the application 101 ends, the program management component 104
Reads the file name conversion information created in <Step 7> and changes the file name. In addition, archive expansion and file deletion processing are performed according to the operation information.
【0116】ここで,本実施の形態にかかるファイル配
布システムによるプログラムの更新処理が完了する。Here, the program update processing by the file distribution system according to the present embodiment is completed.
【0117】以上をまとめると,次の通りである。プロ
グラム配布サーバ108は,プログラムが配布される以
前にファイルの依存関係を解決し,配布される各プログ
ラム・モジュール107のバージョン情報が記載された
バージョン情報付きモジュール・テーブル209を作成
する。そして,プログラム管理コンポーネント104
は,そのバージョン情報と,クライアントの第1ファイ
ルシステム102にインストールされているプログラム
・モジュールのバージョンとを比較して,バージョン情
報付きモジュール・テーブル209に記載されているバ
ージョン情報の方が新しい場合,すなわち,サーバの第
2のファイルシステム105に格納されているプログラ
ム・モジュールのバージョンが新しい場合にのみ,第2
のファイルシステム105に格納されているプログラム
・モジュールをダウンロードする。The above is summarized as follows. The program distribution server 108 resolves file dependencies before the program is distributed, and creates a module table 209 with version information in which version information of each distributed program module 107 is described. Then, the program management component 104
Compares the version information with the version of the program module installed in the first file system 102 of the client. If the version information described in the module table with version information 209 is newer, That is, only when the version of the program module stored in the second file system 105 of the server is new, the second
Downloads the program module stored in the file system 105 of FIG.
【0118】このように,本実施の形態にかかるファイ
ル配布システムによれば,バージョン・アップされたプ
ログラム・モジュールだけを選択的にダウンロードする
ことが可能となる。したがって,第1の実施の形態にか
かるファイル配布システムと同様の効果が得られるとと
もに,ネットワークへのアクセス回数を少なく抑えつ
つ,プログラムをバージョンアップさせることが可能と
なる。As described above, according to the file distribution system according to the present embodiment, it is possible to selectively download only the upgraded program module. Therefore, the same effects as those of the file distribution system according to the first embodiment can be obtained, and the version of the program can be upgraded while the number of accesses to the network is reduced.
【0119】さらに,プログラム・モジュール間の依存
関係が事前に解決されるため,プログラム管理コンポー
ネント104(ソフトウェア)の作成が容易となる。Further, since the dependencies between the program modules are resolved in advance, the creation of the program management component 104 (software) is facilitated.
【0120】添付図面を参照しながら本発明の好適な実
施の形態について説明したが,本発明はかかる実施の形
態に限定されない。当業者であれば,特許請求の範囲に
記載された技術的思想の範疇内において各種の変更例ま
たは修正例に想到し得ることは明らかであり,それらに
ついても当然に本発明の技術的範囲に属するものと了解
される。Although the preferred embodiments of the present invention have been described with reference to the accompanying drawings, the present invention is not limited to these embodiments. It is clear that a person skilled in the art can conceive various changes or modifications within the scope of the technical idea described in the claims, and those modifications naturally fall within the technical scope of the present invention. It is understood to belong.
【0121】例えば,プログラム・モジュール107を
第2のファイルシステム105に格納する場合に即して
本発明の実施の形態にかかるファイル配布システムを説
明したが,第2のファイルシステム105に代えて,デ
ータベースを用いてもよい。For example, the file distribution system according to the embodiment of the present invention has been described in accordance with the case where the program module 107 is stored in the second file system 105, but instead of the second file system 105, A database may be used.
【0122】プログラム管理コンポーネント104とプ
ログラム配布サーバ108との間の通信プロトコルにHT
TPが用いられた場合に即して本発明の実施の形態にかか
るファイル配布システムを説明したが,他のプロトコル
を採用することも可能である。独自のプロトコル,ある
いは,FTP(File Transfer Protocol)など既存のデータ
転送のためのプロトコルを用いてもよい。The communication protocol between the program management component 104 and the program distribution server 108 is HT
Although the file distribution system according to the embodiment of the present invention has been described in accordance with the case where the TP is used, other protocols can be adopted. An original protocol or an existing protocol for data transfer such as FTP (File Transfer Protocol) may be used.
【0123】[0123]
【発明の効果】以上説明したように,本発明によれば,
サーバが有するファイルを効率よくクライアントに配布
することが可能となる。As described above, according to the present invention,
It is possible to efficiently distribute files possessed by the server to clients.
【図1】本発明の第1の実施の形態にかかるファイル配
布システムの構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a file distribution system according to a first embodiment of the present invention.
【図2】本発明の第2の実施の形態にかかるファイル配
布システムの構成を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration of a file distribution system according to a second embodiment of the present invention.
101:アプリケーション 102:第1のファイルシステム 103:プログラム・モジュール 104:プログラム管理コンポーネント 105:第2のファイルシステム 106:モジュール・テーブル 107:プログラム・モジュール 108:プログラム配布サーバ 209:バージョン情報付きモジュール・テーブル 101: Application 102: First File System 103: Program Module 104: Program Management Component 105: Second File System 106: Module Table 107: Program Module 108: Program Distribution Server 209: Module Table with Version Information
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000198068AJP2002014817A (en) | 2000-06-30 | 2000-06-30 | File distribution system |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000198068AJP2002014817A (en) | 2000-06-30 | 2000-06-30 | File distribution system |
| Publication Number | Publication Date |
|---|---|
| JP2002014817Atrue JP2002014817A (en) | 2002-01-18 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000198068APendingJP2002014817A (en) | 2000-06-30 | 2000-06-30 | File distribution system |
| Country | Link |
|---|---|
| JP (1) | JP2002014817A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101005551A (en)* | 2006-01-19 | 2007-07-25 | 佳能株式会社 | Image processing apparatus and method of starting image processing apparatus |
| EP1821206A2 (en) | 2006-02-01 | 2007-08-22 | Canon Kabushiki Kaisha | Execution apparatus and method |
| JP2010541061A (en)* | 2007-09-25 | 2010-12-24 | バークレイズ・キャピタル・インコーポレーテッド | Application management system and method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09292980A (en)* | 1996-04-25 | 1997-11-11 | N T T Data Tsushin Kk | File distribution system |
| JPH09305408A (en)* | 1996-05-09 | 1997-11-28 | Hitachi Ltd | Application execution method |
| JPH09305500A (en)* | 1996-05-21 | 1997-11-28 | Oki Electric Ind Co Ltd | Software distribution system |
| JPH1185528A (en)* | 1997-09-09 | 1999-03-30 | Oki Electric Ind Co Ltd | Information processing apparatus, software distribution method, and recording medium |
| JPH11272471A (en)* | 1998-03-19 | 1999-10-08 | Hitachi Information Systems Ltd | Software distribution system and recording medium recording program used for the software distribution system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09292980A (en)* | 1996-04-25 | 1997-11-11 | N T T Data Tsushin Kk | File distribution system |
| JPH09305408A (en)* | 1996-05-09 | 1997-11-28 | Hitachi Ltd | Application execution method |
| JPH09305500A (en)* | 1996-05-21 | 1997-11-28 | Oki Electric Ind Co Ltd | Software distribution system |
| JPH1185528A (en)* | 1997-09-09 | 1999-03-30 | Oki Electric Ind Co Ltd | Information processing apparatus, software distribution method, and recording medium |
| JPH11272471A (en)* | 1998-03-19 | 1999-10-08 | Hitachi Information Systems Ltd | Software distribution system and recording medium recording program used for the software distribution system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101005551A (en)* | 2006-01-19 | 2007-07-25 | 佳能株式会社 | Image processing apparatus and method of starting image processing apparatus |
| US8873070B2 (en) | 2006-01-19 | 2014-10-28 | Canon Kabushiki Kaisha | Image processing apparatus and method of starting image processing apparatus |
| CN101005551B (en)* | 2006-01-19 | 2015-08-19 | 佳能株式会社 | The starting method of image processing equipment and image processing equipment |
| EP1821206A2 (en) | 2006-02-01 | 2007-08-22 | Canon Kabushiki Kaisha | Execution apparatus and method |
| US8732723B2 (en) | 2006-02-01 | 2014-05-20 | Canon Kabushiki Kaisha | Execution apparatus and method |
| JP2010541061A (en)* | 2007-09-25 | 2010-12-24 | バークレイズ・キャピタル・インコーポレーテッド | Application management system and method |
| Publication | Publication Date | Title |
|---|---|---|
| US7313577B2 (en) | Generating difference files using module information of embedded software components | |
| US7194506B1 (en) | Method and system for cache management of locale-sensitive content | |
| US7124409B2 (en) | Automatic software installation on heterogeneous networked computer systems | |
| EP1127321B1 (en) | System and method for updating a remote database in a network | |
| RU2531572C2 (en) | Database replication method and table updating apparatus | |
| US6212557B1 (en) | Method and apparatus for synchronizing upgrades in distributed network data processing systems | |
| US7539704B2 (en) | Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database | |
| EP1082651B1 (en) | Incremental updating | |
| US6397385B1 (en) | Method and apparatus for in service software upgrade for expandable telecommunications system | |
| EP1073952B1 (en) | Multi-tiered incremental software updating | |
| US8832310B2 (en) | Consistent snapshots of dynamic heterogeneously managed data | |
| AU2004279170B2 (en) | System and method for managing and communicating software updates | |
| US7185332B1 (en) | Multi-tiered incremental software updating | |
| JP5193056B2 (en) | Method and system for maintaining up-to-date data of wireless devices | |
| JP2002540491A (en) | Web server content replication | |
| US20060129616A1 (en) | System and method for synchronizing computer files between a local computer and a remote server | |
| US20060195490A1 (en) | Context based access of files by file system to a client based on detection of related files opened by the client | |
| US7660876B2 (en) | Electronic file management | |
| JP2002014817A (en) | File distribution system | |
| US7693840B1 (en) | Method and system for distribution of common elements | |
| JPH10320184A (en) | Software version management system | |
| KR20000030530A (en) | Method for providing the most recent software on internet and computer-readable medium recording the method | |
| JP2003330836A (en) | Data transmission method | |
| KR100597586B1 (en) | How to synchronize data using session management function | |
| JP2002251309A (en) | Shared file management system |
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination | Free format text:JAPANESE INTERMEDIATE CODE: A621 Effective date:20060822 | |
| A977 | Report on retrieval | Free format text:JAPANESE INTERMEDIATE CODE: A971007 Effective date:20080822 | |
| A131 | Notification of reasons for refusal | Free format text:JAPANESE INTERMEDIATE CODE: A131 Effective date:20081021 | |
| A521 | Request for written amendment filed | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20081217 | |
| A131 | Notification of reasons for refusal | Free format text:JAPANESE INTERMEDIATE CODE: A131 Effective date:20100105 | |
| A521 | Request for written amendment filed | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20100302 | |
| A02 | Decision of refusal | Free format text:JAPANESE INTERMEDIATE CODE: A02 Effective date:20100831 |