JP5051070B2 - プログラム配信システム、その配信サーバ、プログラム - Google Patents
プログラム配信システム、その配信サーバ、プログラム Download PDFInfo
- Publication number
- JP5051070B2 JP5051070B2 JP2008223387A JP2008223387A JP5051070B2 JP 5051070 B2 JP5051070 B2 JP 5051070B2 JP 2008223387 A JP2008223387 A JP 2008223387A JP 2008223387 A JP2008223387 A JP 2008223387A JP 5051070 B2 JP5051070 B2 JP 5051070B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- version number
- distribution
- distribution information
- information file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
これらの従来手法では、配信元サーバ(集中管理センタ等)は、配信対象の装置から通知される当該装置のプログラムの各プログラム部品毎の版数と、自己が管理する最新の各プログラムの各プログラム部品毎の版数とを比較して一致/不一致を判定する。そして、版数が不一致となるプログラム部品のみを配信する事で、更新の自動化ならびに更新時間やネットワーク負荷の低減を実現している。
最初に、プログラムの基本部であるメジャー版数の更新を行ってから、パッチや修正モジュール等の様なマイナー版数の更新を行う必要がある場合や、
大掛かりなプログラム変更を行うために、既存のプログラムを全て削除してから、最新のプログラムを新規登録しなければならない場合、
さらには、装置が保有するメモリリソース等の都合から、一度に全ての更新プログラムを受け入れる事が困難であり、複数回に分けて配信しなければならない場合など、
その必要性はさまざまである。
一般的なコンピュータ上で動作する、OSやアプリケーションソフトウェア等の場合においては、予め複数のプログラム( インストールメディアやダウンロードモジュール等)を準備し、定められた手順に沿って更新を行う等により、対応する事が可能であるが、ネットワーク接続された複数台の装置に対して、同様の手段を用いる事は、極めて困難である。
また、例えば、前記各配信情報ファイルには、それぞれが所定の版数に対応して該版数から前記更新版数へとプログラム更新させる為の複数のプログラムモジュールが格納されており、前記プログラムモジュール選択・配信手段は、前記適用する配信情報ファイルの複数のプログラムモジュールのうち、前記版数通知手段から通知された版数に対応するプログラムモジュールを選択して処理端末へ配信するようにしてもよい。
図1は、本例のプログラム配信システム全体の概略構成図である。
図示のプログラム配信システムは、何らかのコンピュータ処理端末である複数の装置20と、これら各装置20に対してネットワーク1を介してプログラム等を配信する配信サーバ10とが、ネットワーク1に接続された構成となっている。
まず、装置20は、通信部21、プログラムメモリ22、版数通知部23、配信情報処理部24等の各種構成/機能部を有する。
配信情報記憶装置12には、配信情報パッケージ(プログラムモジュール群等)が格納されている。この配信情報パッケージの詳細については、後に図3を参照して説明する。登録者等は、予め作成した任意の配信情報パッケージを、配信情報登録部15を介して配信情報記憶装置12に格納しておく。
図3は、本例の配信情報のデータ構成図である。
本実施例の場合、ある版数のプログラムを任意の版数に更新するために必要な情報を1個の配信情報(ここでは図示の「個別情報」40という)とし、同じ版数に更新するための複数個の個別情報40を1つの配信情報ファイル31にまとめている。
VER1.0→VER2.0の更新プログラム
VER1.1→VER2.0の更新プログラム
VER1.2→VER2.0の更新プログラム
・・・等をそれぞれ1個の配信情報(個別情報40)とし、これら全体を1個の配信情報ファイル31にまとめている。
図3に示すように、1つの配信情報パッケージ30には基本的に複数の配信情報ファイル31が含まれており、各配信情報ファイル31は、共通ヘッダ部と各個別情報40(図示の例では個別情報a〜個別情報n)より成る。共通ヘッダ部には、比較順位32と更新版数33が定義されている。
例) 適用版数41 処理種別42 プログラムモジュール43の内容
VER1.9 追加 VER2.0とVER1.9の差分
VER1.8 追加 VER2.0とVER1.8の差分
VER1.7 追加 VER2.0とVER1.7の差分
VER1.* 新規 VER2.0の内容全部( 全件)
この例の場合、VER1.6以前の版数のプログラムを保持している装置20に対しては、全件を“新規”登録として処理される。
図示の処理は、任意の装置20が上記版数通知部23によって自身のプログラム版数を通知してきたら開始される。
すなわち、配信情報パッケージ30内に登録された複数個の配信情報ファイル31に対して、比較順位32が示す順位に従って、最も順位が高いものから順番に、その更新版数33と装置20が通知してきた版数との比較を行って一致するものを探索する。そして、一致した配信情報ファイル31より順位が1つ高い配信情報ファイル31を適用する。版数一致するファイル31が、最も順位が高いファイルであった場合には、配信不要通知を装置20へ通知する。もし、版数一致するファイル31が存在しない場合には、最も順位が低い配信情報ファイル31を適用する。そして、適用した配信情報ファイル31を用いて、装置20に対するプログラムモジュール配信等の処理を行う。上記配信不要通知を送信しない限り、配信後に再び装置20が自己のプログラム版数を通知してくるので、再び図4の処理を行う。これを繰り返すことで、何らかの途中状態を経たうえで最終的には上記最後に適用すべき配信情報ファイル31が適用されて、最終的に所定の版数(本例ではVER.2.1)へと更新させることができる。
上記要求元の装置20からの自己のプログラム版数の通知を受けると、まず、配信情報パッケージ30内に登録された複数個の配信情報ファイル31のうち、最後に適用すべき配信情報ファイル31(上記の一例では比較順位32が一番小さい値(“01”)すなわち最も順位が高いもの)を参照して、その更新版数33と、装置20が通知してきた版数との比較を行って、一致/不一致を判定する(ステップS11)。ここでもし版数が一致した場合(ステップS11,YES)、その装置20はプログラム更新が全て完了していると判断し、配信不要通知を装置20へ送信して(ステップS12)、本処理を終了する。
まず、図5に示す具体例1について説明する。
まず、図5の例における各バージョン間の関係(遷移条件等)について図5(a)に示す。
配信情報ファイル31-1 ; 「VER2.1 ← VER2.0」(追加)
配信情報ファイル31-2 ; 「VER2.0 ← VER1.0」(追加)、および「VER2.0 ←プログラム無し」( 新規)
すなわち、図5(b)に示すように、まず、配信情報ファイル31-1は最終的なバージョン(最新バージョン等)であるVER2.1へ更新させる為のプログラムモジュールファイルであるので、その比較順位32は“01”であり、更新版数33はVER2.1となっている。この例ではファイル31は2つなので、配信情報ファイル31-2の比較順位は“02”となる。また、上述したことから、配信情報ファイル31-2は、VER2.0へ更新させる為のプログラムモジュールファイルであるので、その更新版数33はVER2.0となっている。
(1)“プログラム無し”を通知して来た場合は、配信情報ファイル31-2の“新規(全件)”のプログラムモジュール3等(これを含む配信情報40;以下同様)を配信。
(2)VER1.0を通知して来た場合は、配信情報ファイル31-2の“追加(差分)”のプログラムモジュール2等を配信。
(3)VER2.0を通知して来た場合は、配信情報ファイル31-1の“追加(差分)” のプログラムモジュール1等を配信。
まず、最初の一例として、既にVER2.0のプログラムを保持している装置20からの配信要求があった場合には、版数通知部23によってVER2.0が通知されてくるので、ステップS11の処理では比較順位32が“01”である配信情報ファイル31-1の更新版数32=“VER2.1”と比較することになり“不一致”と判定されることになる(ステップS11,NO)。これにより、ステップS13の処理に移行するが、これは上記の通りn=2としてステップS15の処理を実行することになる。よって、もし“不一致”と判定された場合には、比較順位32が“02”である配信情報ファイル31-2が適用されることになるが、ここでは上記の通り通知された版数はVER2.0であり、比較順位32が“02”である配信情報ファイル31-2の更新版数32=“VER2.0”と比較することにより“一致”と判定されるので、1つ上の順位の(比較順位“01”の)ファイル31である配信情報ファイル31-1が適用されることになる。
まず、図6の例における各バージョン間の関係(遷移条件等)について図6(a)に示す。
図6(b)に示すように、この例における配信情報ファイル31は、以下の3つが定義される。
配信情報ファイル31-4 ;「VER2.0 ← プログラム無し」( 新規 )
配信情報ファイル31-5 ;「プログラム無し ← VER1.0」( 削除指示)
これより、まず、配信情報ファイル31-3は、図示の通り、比較順位32が“01”、更新版数33がVER2.1であり、その個別情報40は1つであり、その適用版数41はVER2.0、処理種別42は追加(差分)となっており、VER2.1とVER2.0の差分であるプログラムモジュール4が格納されている。
(1)VER1.0を通知して来た場合は、通知元の装置20の保持プログラム(VER1.0)の削除指令。
(2)“プログラム無し”を通知して来た場合は、配信情報ファイル31-4の“新規(全件)”のプログラムモジュール5等を配信。
(3)VER2.0を通知して来た場合は、配信情報ファイル31-3の“追加(差分)” のプログラムモジュール4等を配信。
尚、既に図5の説明で述べたことから、本例では、比較順位“03”が最大値nであるので、この場合にはn=3としてステップS15の処理を行うことになる。
以上説明したように、本手法では、任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムに関して、各処理端末のプログラムを所定の版数(上記の例では更新版数VER.2.1)へと更新させたい場合に、一旦何らかの途中状態へと更新させる必要がある場合でも、段階的にその都度必要な配信情報を配信して更新させて最終的に所定の更新版数へと更新させることができる。
10 配信サーバ
11 通信部
12 配信情報記憶装置
13 版数比較部
14 配信情報送信部
15 配信情報登録部
20 装置
21 通信部
22 プログラムメモリ
23 版数通知部
24 配信情報処理部
30 配信情報パッケージ
31 配信情報ファイル
32 比較順位
33 更新版数
40 個別情報
41 適用版数
42 処理種別
43 プログラムモジュール
Claims (7)
- 任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムであって、
前記各処理端末は、自端末が現在保持するプログラムの版数情報を前記配信サーバに通知する版数通知手段を備え、
前記配信サーバは、
それぞれに順位が与えられた複数の配信情報ファイルを有し、各配信情報ファイルには前記処理端末のプログラムを所定の更新版数へと更新させる為のプログラムモジュールが格納されており、最終的な更新版数へと更新させる為のプログラムモジュールが格納されている配信情報ファイルの前記順位が最も高い順位となっている配信情報記憶手段と、
前記版数通知手段からの版数情報を受信すると、その更新版数が該版数情報と一致する配信情報ファイルがある場合には該配信情報ファイルより前記順位が1つ高い配信情報ファイルを適用し、その更新版数が該版数情報と一致する配信情報ファイルが無い場合には前記順位が最も低い配信情報ファイルを適用して、該適用する配信情報ファイルのプログラムモジュールを前記版数情報通知元の処理端末へ配信するプログラムモジュール選択・配信手段とを有し、
前記各処理端末は、該配信されたプログラムモジュールを用いて自端末のプログラムを更新する更新手段を更に有し、
前記版数通知手段は、該更新手段によるプログラム更新後、該更新後のプログラムの版数情報を前記配信サーバに通知することを特徴とするプログラム配信システム。 - 前記配信情報ファイルとして、前記プログラムモジュールが無く削除命令が格納された、前記更新版数が“プログラム無し”となっている配信情報ファイルも存在し、プログラムモジュール選択・配信手段は、この配信情報ファイルが適用された場合には前記削除命令を前記処理端末へ配信し、
該削除命令を受信した処理端末は、自端末の保持プログラムを削除すると共に前記版数通知手段によって前記版数情報として“プログラム無し”を通知することを特徴とする請求項1記載のプログラム配信システム。 - 前記各配信情報ファイルには、それぞれが所定の版数に対応して該版数から前記更新版数へとプログラム更新させる為の複数のプログラムモジュールが格納されており、
前記プログラムモジュール選択・配信手段は、前記適用する配信情報ファイルの複数のプログラムモジュールのうち、前記版数通知手段から通知された版数に対応するプログラムモジュールを選択して処理端末へ配信することを特徴とする請求項1または2記載のプログラム配信システム。 - 前記各プログラムモジュールに対応付けて処理種別が登録されており、前記プログラムモジュール選択・配信手段は、前記プログラムモジュール配信の際に該プログラムモジュールに対応する処理種別も送信し、
前記処理端末は、前記配信されたプログラムモジュールを用いた自端末のプログラム更新処理を、受信した処理種別に応じて行うことを特徴とする請求項1〜3の何れかに記載のプログラム配信システム。 - 前記処理端末は、前記処理種別に応じて、前記配信されたプログラムモジュールを自端末の保持プログラムに対する差分としてマージする処理、あるいは前記配信されたプログラムモジュールを新規登録プログラムとして自端末の保持プログラムと置き換える処理を行うことを特徴とする請求項4記載のプログラム配信システム。
- 任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムにおける前記配信サーバであって、
それぞれに順位が与えられた複数の配信情報ファイルを有し、各配信情報ファイルには前記処理端末のプログラムを所定の更新版数へと更新させる為のプログラムモジュールが格納されており、最終的な更新版数へと更新させる為のプログラムモジュールが格納されている配信情報ファイルの前記順位が最も高い順位となっている配信情報記憶手段と、
任意の前記処理端末からその端末が保持するプログラムの版数情報が通知されてくると、その更新版数が該版数情報と一致する配信情報ファイルがある場合には該配信情報ファイルより前記順位が1つ高い配信情報ファイルを適用し、その更新版数が該版数情報と一致する配信情報ファイルが無い場合には前記順位が最も低い配信情報ファイルを適用して、該適用する配信情報ファイルのプログラムモジュールを前記版数情報通知元の処理端末へ配信するプログラムモジュール選択・配信手段と、
を有することを特徴とする配信サーバ。 - 任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムにおける前記配信サーバのコンピュータを、
それぞれに順位が与えられた複数の配信情報ファイルを有し、各配信情報ファイルには前記処理端末のプログラムを所定の更新版数へと更新させる為のプログラムモジュールが格納されており、最終的な更新版数へと更新させる為のプログラムモジュールが格納されている配信情報ファイルの前記順位が最も高い順位となっている配信情報記憶手段と、
任意の前記処理端末からその端末が保持するプログラムの版数情報が通知されてくると、その更新版数が該版数情報と一致する配信情報ファイルがある場合には該配信情報ファイルより前記順位が1つ高い配信情報ファイルを適用し、その更新版数が該版数情報と一致する配信情報ファイルが無い場合には前記順位が最も低い配信情報ファイルを適用して、該適用する配信情報ファイルのプログラムモジュールを前記版数情報通知元の処理端末へ配信するプログラムモジュール選択・配信手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008223387A JP5051070B2 (ja) | 2008-09-01 | 2008-09-01 | プログラム配信システム、その配信サーバ、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008223387A JP5051070B2 (ja) | 2008-09-01 | 2008-09-01 | プログラム配信システム、その配信サーバ、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010061204A JP2010061204A (ja) | 2010-03-18 |
JP5051070B2 true JP5051070B2 (ja) | 2012-10-17 |
Family
ID=42187963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008223387A Expired - Fee Related JP5051070B2 (ja) | 2008-09-01 | 2008-09-01 | プログラム配信システム、その配信サーバ、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5051070B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5669431B2 (ja) * | 2010-05-06 | 2015-02-12 | キヤノン株式会社 | 情報処理装置、ファームウェア適用方法、及びコンピュータプログラム |
JP2012088825A (ja) * | 2010-10-18 | 2012-05-10 | Brother Ind Ltd | 更新システム |
-
2008
- 2008-09-01 JP JP2008223387A patent/JP5051070B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010061204A (ja) | 2010-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110300984B (zh) | 改变在区块链中记录的智能合约 | |
CN1790266B (zh) | 用于下载更新的方法和系统 | |
CN105100259A (zh) | 一种分布式定时任务执行方法和系统 | |
US8055496B2 (en) | Ensuring product correctness in a multilingual environment | |
CN105635216B (zh) | 分布式应用的升级方法、设备和分布式系统 | |
KR20170016347A (ko) | 디지털 콘텐츠를 위한 업데이트 개선 기법 | |
CN102541941A (zh) | 一种多方协同操作文件的版本管理控制方法 | |
CN104965726A (zh) | 配置更新方法、装置及系统 | |
CN110535776B (zh) | 网关限流方法、装置、网关、系统及存储介质 | |
CN105930197A (zh) | 一种软件升级的方法及电子设备 | |
CN106951284B (zh) | 基于安卓系统应用的用户界面升级方法、装置及智能终端 | |
CN109857423A (zh) | 程序版本更新方法、装置、服务器及可读存储介质 | |
CN104699511A (zh) | 插件升级方法及装置 | |
CN105516230A (zh) | 一种数据处理方法及装置 | |
CN107533604B (zh) | 用于无经纪人应用的单次登录的方法和设备 | |
CN111158752A (zh) | 一种saas多版本控制系统及其使用方法 | |
US9430218B2 (en) | Apparatus and method of executing update, recording medium using the same, and server and method of providing update | |
CN103078805B (zh) | 使Zookeeper的读性能支持水平扩展的系统和方法 | |
JP5051070B2 (ja) | プログラム配信システム、その配信サーバ、プログラム | |
CN107463390B (zh) | 一种软件升级方法及升级服务器 | |
US20170300553A1 (en) | System and methodology for propagating modifications in key-value pairs across a cluster of computers | |
CN103220336B (zh) | 一种文件同步中向量时钟的实现方法及系统 | |
US20150234866A1 (en) | Data Distribution System | |
CN110096295A (zh) | 基于ReactNative的多模块移动应用的热更新方法及系统 | |
CN113535206B (zh) | 多版本代码升级方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20101015 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120606 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120626 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120709 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5051070 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150803 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150803 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |