[go: up one dir, main page]

JP2002014817A - ファイル配布システム - Google Patents

ファイル配布システム

Info

Publication number
JP2002014817A
JP2002014817A JP2000198068A JP2000198068A JP2002014817A JP 2002014817 A JP2002014817 A JP 2002014817A JP 2000198068 A JP2000198068 A JP 2000198068A JP 2000198068 A JP2000198068 A JP 2000198068A JP 2002014817 A JP2002014817 A JP 2002014817A
Authority
JP
Japan
Prior art keywords
file
information
files
program
version
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
JP2000198068A
Other languages
English (en)
Inventor
Haruo Fukuda
春生 福田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2000198068A priority Critical patent/JP2002014817A/ja
Publication of JP2002014817A publication Critical patent/JP2002014817A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 サーバが有するファイルを効率よくクライア
ントに配布することが可能なファイル配布システムを提
供する 【解決手段】 プログラム管理コンポーネント104
は,プログラム配布サーバ108と連携して動作し,ダ
ウンロードしたプログラム・モジュール群107を第1
のファイルシステム102に格納する機能を有する。モ
ジュール・テーブル106は,配布の対象となるプログ
ラム・モジュール群107に関する情報が記載されるテ
ーブルであり,プログラム配布に先立ちシステム管理者
によってあらかじめ本ファイル配布システムの利用者ご
とに用意される。プログラム配布サーバ108は,プロ
グラム管理コンポーネント104からのダウンロード要
求に応じて,第2のファイルシステム105に格納され
たファイルを提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,コンピュータネッ
トワークを介してファイルを複数のコンピュータ上に配
布するシステム,特に複数のモジュール群により構成さ
れたプログラム・ファイルをインターネット等のコンピ
ュータ・ネットワークを用いて配布するファイル配布シ
ステムに関するものである。
【0002】
【従来の技術】従来,インターネット等のコンピュータ
・ネットワークを利用して更新されたソフトウェアを配
布するシステムとしては,文献1に開示されるものがあ
た。
【0003】文献1.特開平11−272454号公報
「コンピュータ・ネットワークを通してソフトウェア更
新を配布する装置」
【0004】文献1に記載されているシステムによれ
ば,プログラムが動作するコンピュータ上に,プログラ
ムアップデートのためのコンポーネント(アップデータ
・コンポーネント)が配置され,このアップデータ・コ
ンポーネントが,プログラムを配布するサーバに自動的
にアクセスする。プログラムの更新が自動化されるた
め,利用者の負担が軽減されることになる。
【0005】コンピュータ・ネットワークを利用した分
散オブジェクト技術には,文献2に開示されているJava
リモートメソッド起動技術(Java Remote Method Invoc
ation:以下,「RMI」という)がある。
【0006】文献2.「Java Remote Method Invocatio
nの仕様」第3.4節(JDK2 SDKの添付資料) Sun Mic
rosystems,Inc.
【0007】RMIは,コンピュータ・ネットワーク上に
複数のサービスを提供するサーバを配置し,これらをロ
ーカルなオブジェクトと同様に利用するための分散オブ
ジェクト技術である。ネットワーク上に分散された複数
のサーバを利用するためには,各サーバが提供するアク
セス用のコードをクライアントがサーバの利用に先立っ
て入手する必要がある。
【0008】ところが,複数のサーバがネットワーク上
に広域に分散している場合,RMIクライアントにとっ
て,予めアクセス用コードの入手先に関する情報を管理
することは非常に困難となる。このため,RMIは「クラ
スの動的なロード」と呼ばれる技術を提供している。こ
れは,クライアントがあるサーバを利用する時点で,動
的にそのサーバが提供するアクセス用のプログラムをダ
ウンロードする技術である。この技術により,RMIクラ
イアントは事前にアクセス用のコードを持たなくても,
サーバにアクセスすることが可能となる。
【0009】一般的に,RMIがダウンロードするファイ
ルには「JARファイル」と呼ばれるアーカイブ形式が使
用される。文献3および文献4に,JARファイル形式に
関する情報が開示されている。
【0010】文献3.「JARガイド」(JDK2 SDKの添付
資料) Sun Microsystems,Inc.
【0011】文献4.「Java製品のバージョン管理の仕
様」(JDK2 SDKの添付資料) Sun Microsystems,Inc.
【0012】JARファイル形式は以下の特徴を備えてい
る。
【0013】1.複数のファイルを一つのアーカイブと
してまとめることができる。また,作成時に汎用的な可
逆符号化を用いて,ファイル容量を小さくすることが可
能である。
【0014】2.アーカイブの対象となるファイルはJa
vaクラスファイルに限らず,あらゆるファイルが対象と
なり得る。通常,RMIのアクセス用のコードには,スタ
ブクラス,グラフィカル・ユーザ・インターフェイス
(GUI)クラス,GUIクラスで使用する多国語対応の表示
用リソース情報などが含まれる。
【0015】3.JARファイルごとに管理用のメタ情報
を追加することが可能である。このメタ情報はマニフェ
スト情報と呼ばれる。マニフェスト情報には,各クラス
ファイルの改ざん防止のためのメッセージ・ダイジェス
トやバージョン情報などが含まれる。
【0016】
【発明が解決しようとする課題】しかしながら,文献1
に記載の従来技術によれば,アップデータ・コンポーネ
ントは,予め関連付けられたソフトウェアのみを更新の
対象とし,ネットワーク上に新たに登録されたサーバを
利用するためのアクセス用コードなどを更新の対象とし
ない。したがって,アップデータ・コンポーネントによ
るプログラムの自動配布システムを用いた場合,利用者
の負担を軽減することは可能であるが,更新プログラム
を管理する管理者の負担は変わらない。更新対象となる
ファイルに関するリストの作成は相変わらず管理者が手
作業で行う必要がある。
【0017】一方,文献2に記載の「RMIの動的なクラ
スロード技術」によれば,ダウンロードしたファイルを
使用するのは,そのコードをダウンロードしたJava仮想
マシンに限られる。したがって,次に同じクライアント
・ソフトウェアを起動したとき,サーバ側のコードの更
新状態に関わらず,クライアントは常にコードのダウン
ロード処理を行ってしまう。インターネットなど比較的
低速なコンピュータ・ネットワークを利用してクライア
ントがサーバに接続する場合,ソフトウェアの起動に長
時間を要するなどの問題が発生する。
【0018】本発明は,上記のような問題点に鑑みてな
されたものであり,その目的は,サーバが有するファイ
ルを効率よくクライアントに配布することが可能なファ
イル配布システムを提供することにある。
【0019】
【課題を解決するための手段】上記課題を解決するため
に,請求項1によれば,配布の対象となる1または2以
上のファイルと1または2以上のファイルに関する情報
が記載されたファイル情報テーブルとを格納するファイ
ル配布側格納手段と,ファイル配布側格納手段に格納さ
れている1または2以上のファイルとファイル情報テー
ブルを,ネットワークを経由して配布するファイル配布
手段と,ファイル情報テーブルの内容に基づき,ファイ
ル配布側格納手段に格納されている1または2以上のフ
ァイルの中から1または2以上のファイルを選択し,フ
ァイル配布手段に対して選択した1または2以上のファ
イルの配布を要求し,ファイル配布手段によって配布さ
れた1または2以上のファイルをファイル被配布側格納
手段に格納するファイル管理手段と,を備えたことを特
徴とするファイル配布システムが提供される。
【0020】かかる構成によれば,ファイル管理手段が
ファイル配布側格納手段に格納されている1または2以
上のファイルの中から1または2以上のファイルを選択
し,自動的にファイル被配布側格納手段に格納する。例
えば,ファイル配布側格納手段がファイル・サーバのフ
ァイルシステムであり,ファイル被配布側格納手段がク
ライアント・コンピュータのファイルシステムである場
合,ファイル管理手段によって,利用者(クライアン
ト)に負担をかけることなく,所望するファイルをファ
イル・サーバからクライアントにダウンロードすること
が可能となる。
【0021】請求項2に記載のように,ファイル情報テ
ーブルには,少なくとも,1または2以上のファイルの
ファイル名と,ファイル管理手段に配布された後の1ま
たは2以上のファイルの操作に関する操作情報と,ファ
イル管理手段がファイル配布手段に対して行う1または
2以上のファイルの配布要求に用いられる要求情報と,
が記載されることが好ましい。このファイル情報テーブ
ルを参照することによって,ファイル管理手段は,ファ
イル配布手段に対して適切なファイルの配布を要求する
ことが可能となる。
【0022】請求項3によれば,ファイル管理手段は,
要求情報に所望するバージョン情報を追加して,ファイ
ル配布手段に対して1または2以上のファイルの配布を
要求するためのコマンドを生成する。このようにコマン
ドにバージョン情報が追加されることによって,クライ
アントが所望するバージョンのファイルがファイル配布
側格納手段に存在する場合にのみ,そのファイルの配布
が行われることになる。したがって,不必要なファイル
の配布処理が行われず,ファイルの配布によるネットワ
ークトラフィックの増加が最小限に抑えられる。
【0023】請求項4に記載のように,ファイル管理手
段は,正規表現またはワイルドカードの少なくともいず
れか一方を用いて,ファイル配布側格納手段に格納され
ている1または2以上のファイルの中から2以上のファ
イルを同時に選択することが好ましい。ファイル管理手
段は,複数のファイルを同時に効率よく管理することが
可能となる。
【0024】請求項5に記載のように,ファイル配布側
格納手段は,ファイル配布側格納手段に格納されている
1または2以上のファイルの各バージョン情報が記載さ
れたバージョン情報付きファイル情報テーブルを格納す
ることが好ましい。かかる構成によれば,ファイル管理
手段は,ファイル被配布側格納手段に格納されているフ
ァイルとバージョン情報付きファイル情報テーブルとの
内容を比較し,ファイル配布側格納手段に格納されてい
るより新しいファイルのみを配布するように,ファイル
配布手段に要求することが可能となる。これによって,
不必要なファイル(バージョンの古いファイル等)の配
布が防止され,ファイルの配布処理の効率がより向上す
る。
【0025】請求項6に記載のように,ファイル配布手
段がバージョン情報付きファイル情報テーブルを生成す
ることによって,バージョン情報付きファイル情報テー
ブルに記載されるバージョン情報は,常に最新の状態に
保持される。また,ファイル配布側格納手段に格納され
ている各ファイル間の関連性(依存関係)をバージョン
情報付きファイル情報テーブルに記載することも可能と
なる。
【0026】
【発明の実施の形態】以下に添付図面を参照しながら,
本発明にかかるファイル配布システムの好適な実施の形
態について詳細に説明する。なお,以下の説明および添
付された図面において,略同一の機能および構成を有す
る構成要素については,同一符号を付することによって
重複説明を省略する。
【0027】[第1の実施の形態]本発明の第1の実施
の形態にかかるファイル配布システムの構成を図1に示
す。
【0028】101は,Java言語によって作成された任
意のアプリケーション・ソフトウェアである。このアプ
リケーションは単体で動作するものであっても,ネット
ワーク上に存在するサーバと通信して処理を行ういわゆ
るクライアント・プログラムであってもよい。
【0029】102は,アプリケーション101が動作
するコンピュータ上に存在する第1のファイルシステム
である。第1のファイルシステム(ファイル被配布側格
納手段)102内に配布の対象となるアプリケーション
101のプログラムが格納される。このプログラムは単
一のアーカイブ・ファイルで構成されるとは限らない。
複数のプログラム・モジュール群103から構成される
場合もある。このようにプログラムを複数のモジュール
に分割することにより,モジュール単位でのアプリケー
ション間のコード共有が容易となる。各モジュールはJA
Rファイルとしてまとめられ,バージョン情報のメタ情
報が付加される。
【0030】プログラム管理コンポーネント(ファイル
管理手段)104は,アプリケーション101が動作す
るコンピュータあるいはそのコンピュータと同じネット
ワーク・サイト内で動作するコンピュータ上で動作する
プログラムである。このプログラムは,プログラム配布
サーバ(ファイル配布手段)108と連携して動作し,
ダウンロードしたプログラム・モジュール群107を第
1のファイルシステム102に格納する機能を有する。
【0031】第2のファイルシステム(ファイル配布側
格納手段)105は,プログラムの提供元のネットワー
ク・サイト内に存在するデータ格納手段である。第2の
ファイルシステム105には,モジュール・テーブル
(ファイル情報テーブル)106と,プログラム・モジ
ュール群107が格納される。
【0032】モジュール・テーブル106は,配布の対
象となるプログラム・モジュール群107に関する情報
が記載されるテーブルであり,プログラム配布に先立ち
システム管理者によってあらかじめ本ファイル配布シス
テムの利用者ごと,あるいは利用者群ごとに用意され
る。
【0033】プログラム・モジュール群107は,配布
対象となるプログラム・モジュール(ファイル)の集合
であり,このモジュール群の一部が選択的に各利用者に
配布される。
【0034】プログラム配布サーバ108は,第2のフ
ァイルシステム105に格納されている情報を提供する
サーバであり,プログラム管理コンポーネント104か
らのダウンロード要求に応じて,第2のファイルシステ
ム105に格納されたファイルを提供する。
【0035】以上のように構成された本実施の形態にか
かるファイル配布システムのプログラム更新に関する動
作を工程順に説明する。
【0036】<ステップ1>システム管理者は,配布の
対象となるプログラム・モジュール群107およびモジ
ュール・テーブル106を第2のファイルシステム10
5に登録する。
【0037】<ステップ2>プログラム管理コンポーネ
ント104は,プログラム配布サーバ108に対して,
利用者”A”に割り当てられたモジュール・テーブル1
06のダウンロードを要求する。このダウンロードの要
求は,予め設定された周期で行ういわゆるポーリング方
式に基づいて実行されること,あるいは,アプリケーシ
ョン101の起動ごとに実行されることが好ましい。こ
の場合,プログラム管理コンポーネント104は,サー
バ・デーモンとして常時動作するように構成されるか,
または,アプリケーション101に組み込まれ,同期的
に起動するように構成される。
【0038】<ステップ3>プログラム管理コンポーネ
ント104からのリクエストを受け付けたプログラム配
布サーバ108は,要求に応じたモジュール・テーブル
106を要求元であるプログラム管理コンポーネント1
04に送る。モジュール・テーブル106の例を以下に
示す。
【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
【0040】このモジュール・テーブル106の記述に
関する規則は以下の通りである。
【0041】・モジュール・テーブル106の各行に一
つのダウンロード情報を記述する。
【0042】・各ダウンロード情報は,”:”によって
区切られた3つのフィールド,「JARファイル名:操作
情報:要求情報」から構成される。
【0043】・「JARファイル名」は,ダウンロード
後,第1のファイルシステム102に格納する際のファ
イル名を示す。
【0044】・「操作情報」は,ダウンロード後の操作
を示す付加情報で,一つまたは”,”によって区切られ
た複数の操作情報で構成される。
【0045】・「要求情報」は,ファイルのダウンロー
ドに用いるリクエストのテンプレートを指定するフィー
ルドである。
【0046】HTTP(HyperText Transfer Protocol)をダ
ウンロードのプロトコルとして用いる場合の「要求情
報」の書式は以下の通りである。なお,「要求情報」の
書式を複数行に分けて記載したが,本来は一行のコマン
ドとして発行される。
【0047】/{VERSION|LATEST} ?{Regex-Path|Wildcard-Path|Path}=パス名 [&‘R?≪?L?[=属性値][&...]
【0048】ここで書式における各用語の意味を説明す
る。
【0049】・VERSION 要求したパス名にマッチするすべてのJARファイルから
指定のマニフェスト属性情報に厳密にマッチする属性を
持つJARファイルを返す。マッチするJARファイルが複数
存在する場合には,JARファイルのタイムスタンプを比
較して最近に更新されたJARファイルを返す。
【0050】・LATEST 要求したパス名にマッチするすべてのJARファイルから
指定のマニフェスト属性情報よりも新しいバージョン情
報を持つJARファイルを返す。具体的には,指定のマニ
フェスト属性情報にマッチする属性を備え,かつ,具備
する属性値が指定のマニフェスト属性値よりも辞書順で
後となるJARファイルだけをマッチしたものとみなす。
マッチしたJARファイルが複数存在する場合には,属性
値が辞書順で後になるJARファイルすなわち最も大きな
バージョン情報を持つJARファイルを返す。
【0051】・Regex-Path ファイルをダウンロードする際のパス名として,URL(Un
iform Resource Locator)に正規表現を使用することを
示すオプション。
【0052】・Wildcard-Path ファイルをダウンロードする際のパス名として,URLに
シェルのワイルドカードを使用することを示すオプショ
ン。
【0053】・Path ファイルをダウンロードする際のパス名として通常のUR
Lを使用することを示すオプション。
【0054】・属性キーと属性値 属性キーとその値との対によって表現される属性情報。
この属性情報によって,マニフェスト・ファイル内に記
載されている任意の属性情報を指定することが可能であ
る。
【0055】次に,「操作情報」の例を示す。
【0056】・unzip ダウンロードしたモジュールの展開を指定する操作情
報。アプリケーションの起動スクリプトなど,アーカイ
ブ化されたままでは意味がない(機能しない)ファイル
を配布する際に指定される。
【0057】・notrace JARファイル間の依存関係を示すマニフェスト属性にお
けるClass-Pathフィールドを無視するための操作情報。
後述の通り,本実施の形態にかかるファイル配布システ
ムでは,プログラム・モジュール間の依存関係は,Clas
s-Path属性のトレース(追跡)により自動的に解決され
る。これによって,アプリケーションの動作に必要なプ
ログラム・モジュール群は,一貫性が保持されつつダウ
ンロードされる。この操作情報は,自動的な依存関係の
追跡を明示的に停止する場合に使用される。
【0058】・delete 配布モジュールをクライアントの端末上から削除するた
めの操作情報。バージョンアップに伴い不必要となった
プログラム・モジュールを削除する場合などに使用され
る。
【0059】<ステップ4>モジュール・テーブル10
6を獲得したプログラム管理コンポーネント104は,
獲得したモジュール・テーブル106に記述されている
各ダウンロード情報に応じて,<ステップ4−A>また
は<ステップ4−B>のいずれかの動作を行う。
【0060】<ステップ4−A>要求情報(ダウンロー
ド情報の第3フィールド)が,”/LATEST”から始ま
り,かつ,既に同名のファイルがクライアントの第1の
ファイルシステム102に存在している場合には,その
ファイルのバージョン情報を要求情報のオプションとし
て,そのファイルを獲得するためのHTTPのGETリクエス
トを発行する。
【0061】上記のモジュール・テーブル106の最初
(コメント行の次の行)のダウンロード情報からは,例
えば,次のGETリクエストが生成される。
【0062】 GET /LATEST?Regex-Path=/foo/,+/foo-dl\.jar$ &Specification-Version=1.0 &Package-Version=build100
【0063】このGETリクエストは,既にクライアント
にダウンロードされている同名のファイルのマニフェス
ト情報にバージョン情報として,”Specification-Vers
ion:1.0”と”Package-Version:build100”が定義され
ている場合に生成される一例である。
【0064】ここでバージョン情報として使用されるマ
ニフェスト・ファイルの属性は,”Specification-Vers
ion”,”Package-Version”の2つであり,この順でオ
プション指定が行われる。これらの情報がマニフェスト
・ファイルに記述されていない場合には,オプション指
定は行われない。
【0065】<ステップ4−B>それ以外の場合(同名
のファイルを所有していない場合,または,要求情報
が”/LATEST”以外の文字列から始まっている場合),
要求情報の文字列をそのまま使用してファイルのダウン
ロード要求を発行する。
【0066】上記のモジュール・テーブル106の最初
(コメント行の次の行)のダウンロード情報がこの条件
に合致する場合,例えば,次のGETリクエストが生成さ
れる。
【0067】 GET /LATEST?Regex-Path=/foo/.+/foo-dl\.jar$
【0068】<ステップ5>プログラム配布サーバ10
8は,プログラム管理コンポーネント104からのダウ
ンロード要求を受けてファイルを検索する。要求に該当
するファイルが存在する場合には,そのファイル(プロ
グラム・モジュール107)を読み出して送り返す。一
方,要求に該当するファイルが見つからない場合には,
空の応答を返す。これによって,クライアントが所有す
るファイルより新しいファイルがサーバ上に存在する場
合にのみファイルの転送が行われることになる。また,
VERSIONリクエストを使用することによって,配布ファ
イルを明示的に古いバージョンに差し戻すことも可能で
ある。
【0069】<ステップ6>プログラム管理コンポーネ
ント104は,プログラム配布サーバ108からの転送
データを一時的なファイル名で第1のファイルシステム
102に保存する。このとき,一時的なファイル名と本
来の名称(ダウンロード情報に記載されているファイル
名)との変換情報をハンドル情報とともに別ファイルに
書き出しておく。
【0070】<ステップ7>ダウンロードしたJARファ
イルがClass-Path属性を持っている場合には,その情報
に従って<ステップ4>と同様の方法によって依存関係
にあるファイルをロードする。
【0071】<ステップ8>すべてのファイル転送が終
了した時点でプログラム管理コンポーネント104は,
アプリケーション101に転送が正常に終了したことを
通知する。この通知を受けたアプリケーション101
は,利用者に対して,ファイルのバージョンアップが存
在すること,クライアントアプリケーション101を一
旦終了することを確認する。
【0072】<ステップ9>アプリケーション101が
終了した時点で,プログラム管理コンポーネント104
は,<ステップ6>において作成したファイル名の変更
情報を読み出して,ファイル名の変更を行う。また,操
作情報に応じてアーカイブの展開やファイルの削除処理
を行う。
【0073】ここで,本実施の形態にかかるファイル配
布システムによるプログラムの更新処理が完了する。
【0074】以上説明したように本実施の形態にかかる
ファイル配布システムによれば,利用者のコンピュータ
上にプログラム管理コンポーネント104が配置される
ため,サーバ側の第2のファイルシステム105に登録
したプログラム・モジュール107を利用者に負担をか
けることなく,自動的に利用者のコンピュータにダウン
ロードすることが可能となる。
【0075】ダウンロードの際,サーバ側のモジュール
・テーブル106によって配布の対象となるファイルを
制御することができるため,既存のアプリケーションの
アップデートはもちろん,新規アプリケーションの追
加,あるいは既存アプリケーションの削除が容易とな
る。
【0076】モジュール・テーブル106に記録するダ
ウンロード情報に,正規表現およびワイルドカードの使
用が可能なため,複数の配布ファイルを同時に管理する
ことが容易となる。例えば,モジュール・テーブル10
6に,
【0077】 foo.jar::/LATEST?Wildcard-Path=/foo/*/foo.jar
【0078】というダウンロード情報が記載されている
場合,サーバ側の第2のファイルシステム105に存在
する2つのファイル,
【0079】/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ファイル
が返される。このように,本実施の形態にかかるファイ
ル配布システムによれば,複数のマッチするファイルか
ら最新のファイルを探し出して返すことが可能となる。
【0081】また,最新のファイルを配布する通常の利
用方法のもとでは,ファイルのバージョンアップのたび
にモジュール・テーブル106を更新する必要がなくな
り,システム管理者の負担が軽減する。
【0082】さらに,本実施の形態にかかるファイル配
布システムにおいて,モジュール・テーブル106に記
載されているダウンロード情報の「要求情報」項の記述
形式は,HTTPの拡張記述形式に準拠している。したがっ
て,プログラム配布サーバ108には,一般的なWWWサ
ーバが備えるセキュリティ機構をそのまま適用すること
が可能となる。
【0083】[第2の実施の形態]本発明の第2の実施
の形態にかかるファイル配布システムの構成を図2に示
す。
【0084】本実施の形態にかかるファイル配布システ
ムは,第1の実施の形態にかかるファイル配布システム
に対して,新たなコンポーネントとしてバージョン情報
付きモジュール・テーブル(バージョン情報付きファイ
ル情報テーブル)209が追加された構成を有する。
【0085】バージョン情報付きモジュール・テーブル
209は,モジュール・テーブル106の内容に基づ
き,プログラム配布サーバ108によって自動的に作成
され,第2のファイルシステム105に格納されるファ
イルである。バージョン情報付きモジュール・テーブル
209には,モジュール・テーブル106に記述されて
いる各プログラム・モジュール107の依存関係が展開
されており,さらに,それぞれのファイルのバージョン
情報が追記されている。
【0086】以上のように構成された本実施の形態にか
かるファイル配布システムのプログラム更新に関する動
作を工程順に説明する。
【0087】<ステップ1>システム管理者は,配布の
対象となるプログラム・モジュール群107およびモジ
ュール・テーブル・ファイル106を第2のファイルシ
ステム105に登録する。
【0088】<ステップ2>プログラム配布サーバ10
8は,プログラム・モジュール群107およびモジュー
ル・テーブル106の更新に関する情報を,オペレーテ
ィング・システム(OS)からの通知,あるいは,所定の
間隔で第2のファイルシステム105のディレクトリを
検査すること,等によって取得する。いずれかの方法に
よってプログラム・モジュール群107あるいはモジュ
ール・テーブル106の更新情報を得たプログラム配布
サーバ108は,これらの更新情報に基づき,バージョ
ン情報付きモジュール・テーブル209を作成する。
【0089】例えば,第2のファイルシステム105に
登録されたモジュール・テーブル106が以下の内容で
ある場合,
【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
【0091】このファイルから生成されるバージョン情
報付きモジュール・テーブル209は,例えば次のよう
な内容となる。
【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"
【0093】バージョン情報付きモジュール・テーブル
209の各ダウンロード情報は,”:”によって区切ら
れた4つのフィールド「JARファイル名:操作情報:要
求情報:属性情報」から構成される。
【0094】「JARファイル名」および「操作情報」に
ついては,モジュール・テーブル106と略同一の形式
が用いられる。
【0095】バージョン情報付きモジュール・テーブル
209の「要求情報」には,モジュール・テーブル10
6に記載の「要求情報」を展開して得られるパス名が用
いられる。例えば,上記のモジュール・テーブル106
の最初(コメント行の次の行)のダウンロード情報にお
ける「要求情報」は,
【0096】 /LATEST?Regex-Path=/foo/.+/foo-dl\.jar$
【0097】である。したがって,これにマッチしたフ
ァイル
【0098】/foo/version-1.1/foo-dl.jar
【0099】が,バージョン情報付きモジュール・テー
ブル209の最初(コメント行の次の行)のダウンロー
ド情報に「要求情報」として記載される。
【0100】「属性情報」には,マッチしたアーカイブ
・ファイル(「要求情報」に記載されたファイル)に定
義されているバージョン情報が記載される。バージョン
情報が複数の場合は,”,”によって区切られて記載さ
れる。上記のバージョン情報付きモジュール・テーブル
209の最初(コメント行の次の行)のダウンロード情
報は,ファイル
【0101】/foo/version-1.1/foo-dl.jar
【0102】には,マニフェスト属性として,
【0103】Specification-Version:1.1 Package-Version:build100
【0104】のバージョン情報が指定されていることを
示している。
【0105】なお,アーカイブ・ファイルにバージョン
情報に関する情報が記載されていない場合,プログラム
配布サーバ108は,バージョン情報の代わりに,この
ファイルのタイムスタンプ情報を属性情報として付加す
る。上記のバージョン情報付きモジュール・テーブル2
09の4番目のダウンロード情報に記載されている”se
tup.jar”ファイルがこれに該当する。
【0106】ところで,上記のバージョン情報付きモジ
ュール・テーブル209の2番目のダウンロード情報に
記載されている”foo-core.jar”ファイルに対応するダ
ウンロード情報が上記のモジュール・テーブル106に
存在しない。これは,1番目のダウンロード情報に記載
されている”foo-dl.jar”ファイルに,このファイルと
の依存関係を示す
【0107】Class-Path:foo-core.jar
【0108】がマニフェスト属性として記述されている
ためである。プログラム配布サーバ108は,この依存
関係を追跡して,被依存ファイルをテーブルの要素とし
て追加する。
【0109】<ステップ3>プログラム管理コンポーネ
ント104は,プログラム配布サーバ108に対して,
利用者”A”に割り当てられたバージョン情報付きモジ
ュール・テーブル209のダウンロードを要求する。こ
のダウンロードの要求は,予め設定された周期で行うい
わゆるポーリング方式に基づいて実行されること,ある
いは,アプリケーション101の起動ごとに実行される
ことが好ましい。この場合,プログラム管理コンポーネ
ント104は,サーバ・デーモンとして常時動作するよ
うに構成されるか,または,アプリケーション101に
組み込まれ,同期的に起動するように構成される。
【0110】<ステップ4>プログラム管理コンポーネ
ント104からのリクエストを受け付けたプログラム配
布サーバ108は,要求に応じたバージョン情報付きモ
ジュール・テーブル209を要求元であるプログラム管
理コンポーネント104に送る。
【0111】<ステップ5>バージョン情報付きモジュ
ール・テーブル209を獲得したプログラム管理コンポ
ーネント104は,各ダウンロード情報を参照し,現
在,クライアントに同名のファイルがインストールされ
ているか否かを確認する。同名のファイルが存在しな
い,または,ファイルが存在してもそのバージョン情報
がバージョン付きモジュール・テーブル209に記載の
バージョンよりも古い場合には,要求情報を利用してダ
ウンロード要求を発行する。
【0112】<ステップ6>プログラム配布サーバ10
8は,プログラム管理コンポーネント104からのダウ
ンロード要求を受けて,該当するファイルを第2のファ
イルシステム105から検索し,プログラム管理コンポ
ーネント104に対して送付する。
【0113】<ステップ7>プログラム管理コンポーネ
ント104は,プログラム配布サーバ108からの転送
データを一時的なファイル名で第1のファイルシステム
102に保存する。このとき,一時的なファイル名と本
来の名称(ダウンロード情報に記載されているファイル
名)との変換情報をハンドル情報とともに別ファイルに
書き出しておく。
【0114】<ステップ8>すべてのファイル転送が終
了した時点でプログラム管理コンポーネント104は,
アプリケーション101に転送が正常に終了したことを
通知する。この通知を受けたアプリケーション101
は,利用者に対して,ファイルのバージョンアップが存
在すること,クライアントアプリケーション101を一
旦終了することを確認する。
【0115】<ステップ9>アプリケーション101が
終了した時点で,プログラム管理コンポーネント104
は,<ステップ7>において作成したファイル名の変換
情報を読み出して,ファイル名の変更を行う。また,操
作情報に応じてアーカイブの展開やファイルの削除処理
を行う。
【0116】ここで,本実施の形態にかかるファイル配
布システムによるプログラムの更新処理が完了する。
【0117】以上をまとめると,次の通りである。プロ
グラム配布サーバ108は,プログラムが配布される以
前にファイルの依存関係を解決し,配布される各プログ
ラム・モジュール107のバージョン情報が記載された
バージョン情報付きモジュール・テーブル209を作成
する。そして,プログラム管理コンポーネント104
は,そのバージョン情報と,クライアントの第1ファイ
ルシステム102にインストールされているプログラム
・モジュールのバージョンとを比較して,バージョン情
報付きモジュール・テーブル209に記載されているバ
ージョン情報の方が新しい場合,すなわち,サーバの第
2のファイルシステム105に格納されているプログラ
ム・モジュールのバージョンが新しい場合にのみ,第2
のファイルシステム105に格納されているプログラム
・モジュールをダウンロードする。
【0118】このように,本実施の形態にかかるファイ
ル配布システムによれば,バージョン・アップされたプ
ログラム・モジュールだけを選択的にダウンロードする
ことが可能となる。したがって,第1の実施の形態にか
かるファイル配布システムと同様の効果が得られるとと
もに,ネットワークへのアクセス回数を少なく抑えつ
つ,プログラムをバージョンアップさせることが可能と
なる。
【0119】さらに,プログラム・モジュール間の依存
関係が事前に解決されるため,プログラム管理コンポー
ネント104(ソフトウェア)の作成が容易となる。
【0120】添付図面を参照しながら本発明の好適な実
施の形態について説明したが,本発明はかかる実施の形
態に限定されない。当業者であれば,特許請求の範囲に
記載された技術的思想の範疇内において各種の変更例ま
たは修正例に想到し得ることは明らかであり,それらに
ついても当然に本発明の技術的範囲に属するものと了解
される。
【0121】例えば,プログラム・モジュール107を
第2のファイルシステム105に格納する場合に即して
本発明の実施の形態にかかるファイル配布システムを説
明したが,第2のファイルシステム105に代えて,デ
ータベースを用いてもよい。
【0122】プログラム管理コンポーネント104とプ
ログラム配布サーバ108との間の通信プロトコルにHT
TPが用いられた場合に即して本発明の実施の形態にかか
るファイル配布システムを説明したが,他のプロトコル
を採用することも可能である。独自のプロトコル,ある
いは,FTP(File Transfer Protocol)など既存のデータ
転送のためのプロトコルを用いてもよい。
【0123】
【発明の効果】以上説明したように,本発明によれば,
サーバが有するファイルを効率よくクライアントに配布
することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態にかかるファイル配
布システムの構成を示すブロック図である。
【図2】本発明の第2の実施の形態にかかるファイル配
布システムの構成を示すブロック図である。
【符号の説明】
101:アプリケーション 102:第1のファイルシステム 103:プログラム・モジュール 104:プログラム管理コンポーネント 105:第2のファイルシステム 106:モジュール・テーブル 107:プログラム・モジュール 108:プログラム配布サーバ 209:バージョン情報付きモジュール・テーブル

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 配布の対象となる1または2以上のファ
    イルと前記1または2以上のファイルに関する情報が記
    載されたファイル情報テーブルとを格納するファイル配
    布側格納手段と,前記ファイル配布側格納手段に格納さ
    れている前記1または2以上のファイルと前記ファイル
    情報テーブルを,ネットワークを経由して配布するファ
    イル配布手段と,前記ファイル情報テーブルの内容に基
    づき,前記ファイル配布側格納手段に格納されている前
    記1または2以上のファイルの中から1または2以上の
    ファイルを選択し,前記ファイル配布手段に対して選択
    した1または2以上のファイルの配布を要求し,前記フ
    ァイル配布手段によって配布された1または2以上のフ
    ァイルをファイル被配布側格納手段に格納するファイル
    管理手段と,を備えたことを特徴とする,ファイル配布
    システム。
  2. 【請求項2】 前記ファイル情報テーブルには,前記1
    または2以上のファイルのファイル名と,前記ファイル
    管理手段に配布された後の前記1または2以上のファイ
    ルの操作に関する操作情報と,前記ファイル管理手段が
    前記ファイル配布手段に対して行う前記1または2以上
    のファイルの配布要求に用いられる要求情報と,が記載
    されることを特徴とする,請求項1に記載のファイル配
    布システム。
  3. 【請求項3】 前記ファイル管理手段は,前記要求情報
    に所望するバージョン情報を追加して,前記ファイル配
    布手段に対して前記1または2以上のファイルの配布を
    要求するためのコマンドを生成することを特徴とする,
    請求項2に記載のファイル配布システム。
  4. 【請求項4】 前記ファイル管理手段は,正規表現また
    はワイルドカードの少なくともいずれか一方を用いて,
    前記ファイル配布側格納手段に格納されている前記1ま
    たは2以上のファイルの中から2以上のファイルを同時
    に選択することが可能であることを特徴とする,請求項
    1,2,または3に記載のファイル配布システム。
  5. 【請求項5】 さらに,前記ファイル配布側格納手段
    は,前記ファイル配布側格納手段に格納されている前記
    1または2以上のファイルの各バージョン情報が記載さ
    れたバージョン情報付きファイル情報テーブルを格納す
    ることを特徴とする,請求項1,2,3,または4に記
    載のファイル配布システム。
  6. 【請求項6】 前記バージョン情報付きファイル情報テ
    ーブルは,前記ファイル配布手段が生成することを特徴
    とする,請求項5に記載のファイル配布システム。
JP2000198068A 2000-06-30 2000-06-30 ファイル配布システム Pending JP2002014817A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000198068A JP2002014817A (ja) 2000-06-30 2000-06-30 ファイル配布システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000198068A JP2002014817A (ja) 2000-06-30 2000-06-30 ファイル配布システム

Publications (1)

Publication Number Publication Date
JP2002014817A true JP2002014817A (ja) 2002-01-18

Family

ID=18696287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000198068A Pending JP2002014817A (ja) 2000-06-30 2000-06-30 ファイル配布システム

Country Status (1)

Country Link
JP (1) JP2002014817A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005551A (zh) * 2006-01-19 2007-07-25 佳能株式会社 图像处理设备和图像处理设备的启动方法
EP1821206A2 (en) 2006-02-01 2007-08-22 Canon Kabushiki Kaisha Execution apparatus and method
JP2010541061A (ja) * 2007-09-25 2010-12-24 バークレイズ・キャピタル・インコーポレーテッド アプリケーション管理システム及び方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09292980A (ja) * 1996-04-25 1997-11-11 N T T Data Tsushin Kk ファイル配布システム
JPH09305408A (ja) * 1996-05-09 1997-11-28 Hitachi Ltd アプリケーション実行方法
JPH09305500A (ja) * 1996-05-21 1997-11-28 Oki Electric Ind Co Ltd ソフトウェア配布システム
JPH1185528A (ja) * 1997-09-09 1999-03-30 Oki Electric Ind Co Ltd 情報処理装置、ソフトウエア配布方法および記録媒体
JPH11272471A (ja) * 1998-03-19 1999-10-08 Hitachi Information Systems Ltd ソフトウェア配信システムとそれに用いるプログラムを記録した記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09292980A (ja) * 1996-04-25 1997-11-11 N T T Data Tsushin Kk ファイル配布システム
JPH09305408A (ja) * 1996-05-09 1997-11-28 Hitachi Ltd アプリケーション実行方法
JPH09305500A (ja) * 1996-05-21 1997-11-28 Oki Electric Ind Co Ltd ソフトウェア配布システム
JPH1185528A (ja) * 1997-09-09 1999-03-30 Oki Electric Ind Co Ltd 情報処理装置、ソフトウエア配布方法および記録媒体
JPH11272471A (ja) * 1998-03-19 1999-10-08 Hitachi Information Systems Ltd ソフトウェア配信システムとそれに用いるプログラムを記録した記録媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005551A (zh) * 2006-01-19 2007-07-25 佳能株式会社 图像处理设备和图像处理设备的启动方法
US8873070B2 (en) 2006-01-19 2014-10-28 Canon Kabushiki Kaisha Image processing apparatus and method of starting image processing apparatus
CN101005551B (zh) * 2006-01-19 2015-08-19 佳能株式会社 图像处理设备和图像处理设备的启动方法
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 (ja) * 2007-09-25 2010-12-24 バークレイズ・キャピタル・インコーポレーテッド アプリケーション管理システム及び方法

Similar Documents

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 (ru) Способ репликации баз данных и устройство обновления таблицы
US6212557B1 (en) Method and apparatus for synchronizing upgrades in distributed network data processing systems
EP1082651B1 (en) Incremental updating
US6732111B2 (en) Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database
US6397385B1 (en) Method and apparatus for in service software upgrade for expandable telecommunications system
US6651249B2 (en) Multi-tiered incremental software updating
US8832310B2 (en) Consistent snapshots of dynamic heterogeneously managed data
US7185332B1 (en) Multi-tiered incremental software updating
Symborski Updating software and configuration data in a distributed communications network
US20030221094A1 (en) Method and system for configuring a computer
MX2007015188A (es) Infraestructura de manejo de configuracion de granja de servidor extensible y que responde automaticamente.
JP5193056B2 (ja) 無線装置の最新データを維持するための方法及びシステム
US7440971B2 (en) Context based access of files by file system to a client based on detection of related files opened by the client
US20060129616A1 (en) System and method for synchronizing computer files between a local computer and a remote server
US7660876B2 (en) Electronic file management
JP2002014817A (ja) ファイル配布システム
KR100387575B1 (ko) 인터넷상에서 최신 버전의 소프트웨어 제공방법 및 그방법을 기록한 기록매체
US7693840B1 (en) Method and system for distribution of common elements
JPH10320184A (ja) ソフトウェアバージョン管理システム
JP2003330836A (ja) データ送信方法
KR100597586B1 (ko) 세션 관리 기능을 이용한 데이터 동기화 방법

Legal Events

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