JP2010061204A - Program distribution system, its distribution server, and program - Google Patents

Program distribution system, its distribution server, and program Download PDF

Info

Publication number
JP2010061204A
JP2010061204A JP2008223387A JP2008223387A JP2010061204A JP 2010061204 A JP2010061204 A JP 2010061204A JP 2008223387 A JP2008223387 A JP 2008223387A JP 2008223387 A JP2008223387 A JP 2008223387A JP 2010061204 A JP2010061204 A JP 2010061204A
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.)
Granted
Application number
JP2008223387A
Other languages
Japanese (ja)
Other versions
JP5051070B2 (en
Inventor
Hideaki Shioda
英明 塩田
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.)
Fuji Electric Retail Systems Co Ltd
Original Assignee
Fuji Electric Retail Systems 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 Fuji Electric Retail Systems Co Ltd filed Critical Fuji Electric Retail Systems Co Ltd
Priority to JP2008223387A priority Critical patent/JP5051070B2/en
Publication of JP2010061204A publication Critical patent/JP2010061204A/en
Application granted granted Critical
Publication of JP5051070B2 publication Critical patent/JP5051070B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology for achieving complicate online update processing. <P>SOLUTION: A distribution information package 30 having a plurality of distribution information files 31 to be updated to the prescribed number of versions (the update number of versions 33) is preliminarily registered in distribution server. The respective distribution files 31 are ranked based on a comparison sequence 32. Each time the notification of the number of versions of a storage program is performed from any devices, the distribution information file 31 to be applied is determined based on the matching/mismatching of the number of versions and the update number of versions 33, and the program of the device is updated by using the distribution information file 31. The current number of versions is notified from the device whose program has been updated, so that the distribution information field 31 to be newly applied is determined, and the program of the device is updated by using the distribution information file 31. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、ネットワーク接続されている装置のプログラムの更新をオンラインで行う場合における、プログラムモジュールの配信、更新方法に関するものである。   The present invention relates to a program module distribution / update method when updating a program of a network-connected device online.

ネットワークに接続された装置のプログラムをオンラインで更新する手法としては、例えば特許文献1,2等に記載の方法が知られている。
これらの従来手法では、配信元サーバ(集中管理センタ等)は、配信対象の装置から通知される当該装置のプログラムの各プログラム部品毎の版数と、自己が管理する最新の各プログラムの各プログラム部品毎の版数とを比較して一致/不一致を判定する。そして、版数が不一致となるプログラム部品のみを配信する事で、更新の自動化ならびに更新時間やネットワーク負荷の低減を実現している。
特開2006−190179号公報 特開2006−92275号公報
As a method for updating a program of a device connected to a network online, for example, methods described in Patent Documents 1 and 2 are known.
In these conventional methods, the distribution source server (centralized management center or the like), the version number of each program part of the program of the device notified from the distribution target device and each program of the latest program managed by itself A match / mismatch is determined by comparing the version number of each part. By distributing only the program parts whose version numbers do not match, the update is automated and the update time and network load are reduced.
JP 2006-190179 A JP 2006-92275 A

しかしながら、プログラム構成内容が複雑化の一途をたどる近年、装置に登録されているプログラムと、最新のプログラムとの差分を配信するだけでは、正しく更新できない場面が多々出てきている。   However, in recent years, the contents of the program have become increasingly complex, and there are many situations in which the program cannot be updated correctly only by distributing the difference between the program registered in the apparatus and the latest program.

例えば、ある版数にプログラムを更新する場面において、
最初に、プログラムの基本部であるメジャー版数の更新を行ってから、パッチや修正モジュール等の様なマイナー版数の更新を行う必要がある場合や、
大掛かりなプログラム変更を行うために、既存のプログラムを全て削除してから、最新のプログラムを新規登録しなければならない場合、
さらには、装置が保有するメモリリソース等の都合から、一度に全ての更新プログラムを受け入れる事が困難であり、複数回に分けて配信しなければならない場合など、
その必要性はさまざまである。
For example, when updating a program to a certain version,
First, update the major version, which is the basic part of the program, and then need to update minor versions such as patches and correction modules,
If you need to delete all existing programs and register a new program to make a major program change,
Furthermore, it is difficult to accept all update programs at once due to the memory resources etc. held by the device, and when it is necessary to distribute in multiple times, etc.
The need varies.

例えばこれらは、
一般的なコンピュータ上で動作する、OSやアプリケーションソフトウェア等の場合においては、予め複数のプログラム( インストールメディアやダウンロードモジュール等)を準備し、定められた手順に沿って更新を行う等により、対応する事が可能であるが、ネットワーク接続された複数台の装置に対して、同様の手段を用いる事は、極めて困難である。
For example,
In the case of OS, application software, etc. that run on a general computer, prepare by preparing multiple programs (installation media, download modules, etc.) in advance and updating them according to the prescribed procedure. Although it is possible to use the same means for a plurality of devices connected to the network, it is extremely difficult.

本発明の課題は、任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムに関して、各処理端末のプログラムを所定の版数へと更新させたい場合に、一旦何らかの途中状態へと更新させる必要がある場合でも、段階的にその都度必要なプログラムモジュールを配信して更新させて最終的に所定の版数へと更新させることができるプログラム配信システム、その配信サーバ、プログラム等を提供することにある。   An object of the present invention relates to a system in which a plurality of processing terminals holding and executing an arbitrary program and a distribution server are connected to a network, and the distribution server updates the program of each processing terminal online. If you want to update to the specified version number, even if it is necessary to update to some intermediate state, you will distribute and update the necessary program modules step by step to finally update to the specified version number. It is to provide a program distribution system, a distribution server, a program, and the like that can be updated.

本発明のプログラム配信システムは、任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムであって、前記各処理端末は、自端末が現在保持するプログラムの版数情報を前記配信サーバに通知する版数通知手段を備え、前記配信サーバは、それぞれに順位が与えられた複数の配信情報ファイルを有し、各配信情報ファイルには前記処理端末のプログラムを所定の更新版数へと更新させる為のプログラムモジュールが格納されており、最終的な更新版数へと更新させる為のプログラムモジュールが格納されている配信情報ファイルの前記順位が最も高い順位となっている配信情報記憶手段と、前記版数通知手段からの版数情報を受信すると、その更新版数が該版数情報と一致する配信情報ファイルがある場合には該配信情報ファイルより前記順位が1つ高い配信情報ファイルを適用し、その更新版数が該版数情報と一致する配信情報ファイルが無い場合には前記順位が最も低い配信情報ファイルを適用して、該適用する配信情報ファイルのプログラムモジュールを前記版数情報通知元の処理端末へ配信するプログラムモジュール選択・配信手段とを有し、前記各処理端末は、該配信されたプログラムモジュールを用いて自端末のプログラムを更新する更新手段を更に有し、前記版数通知手段は、該更新手段によるプログラム更新後、該更新後のプログラムの版数情報を前記配信サーバに通知する。   A program distribution system of the present invention is a system in which a plurality of processing terminals that hold and execute an arbitrary program and a distribution server are connected to a network, and the distribution server updates the program of each processing terminal online. The processing terminal includes version number notifying means for notifying the distribution server of the version information of the program currently held by the terminal, and the distribution server has a plurality of distribution information files each assigned a rank, Each distribution information file stores a program module for updating the program of the processing terminal to a predetermined update version number, and stores a program module for updating to the final update version number. Distribution information storage means having the highest rank in the distribution information file, and version information from the version number notification means If there is a distribution information file whose updated version number matches the version number information, the distribution information file that is one order higher than the distribution information file is applied, and the updated version number is the version number information. If there is no distribution information file that matches the distribution information file, the distribution information file with the lowest order is applied, and the program module of the distribution information file to be applied is distributed to the processing terminal that is the version information notification source. Each of the processing terminals further includes an updating unit for updating the program of the own terminal using the distributed program module, and the version number notifying unit is configured to update the program after the updating unit. The version information of the updated program is notified to the distribution server.

例えば、各処理端末のプログラムを版数aに更新させたいが、版数aへの更新は版数bからしか行えないような場合、版数bから版数aへ更新させる為のプログラムモジュールが格納されている配信情報ファイル(更新版数が版数a)を、順位が最も高いものとし、任意の版数から版数bへ更新させる為のプログラムモジュールが格納されている配信情報ファイル(更新版数が版数b)を先に適用させて一旦版数bへ更新させる。これより、処理端末から今度は版数bが通知されてくるので、今度は順位が最も高い配信情報ファイルが適用されて、版数aへ更新させることができる。   For example, when it is desired to update the program of each processing terminal to the version number a, but the update to the version number a can be performed only from the version number b, a program module for updating the version number b to the version number a is provided. The distribution information file (update version number a is the highest) in the stored distribution information file (update version number a) and the program module for updating the program version from any version number to version b is stored (update The version number is first updated to the version number b by applying the version number b) first. As a result, the version number b is now notified from the processing terminal, so that the distribution information file with the highest rank can be applied and updated to the version number a.

単に複数回に分けて配信するだけで済むような単純なケースではなく、何らかの条件を満たしつつ複数回配信する必要がある場合でも、その都度適切な配信情報ファイルを適用する制御を行いつつ段階的に複数回の配信を行うことで対応可能となる。   It is not a simple case where it is only necessary to divide and deliver multiple times, but even if it is necessary to deliver several times while satisfying some conditions, step by step while applying the appropriate distribution information file each time It can be handled by delivering multiple times.

また、例えば、前記配信情報ファイルとして、前記プログラムモジュールが無く削除命令が格納された、前記更新版数が“プログラム無し”となっている配信情報ファイルも存在し、プログラムモジュール選択・配信手段は、この配信情報ファイルが適用された場合には前記削除命令を前記処理端末へ配信し、該削除命令を受信した処理端末は、自端末の保持プログラムを削除すると共に前記版数通知手段によって前記版数情報として“プログラム無し”を通知する。   Further, for example, as the distribution information file, there is a distribution information file in which the program module is not present and a deletion instruction is stored, and the updated version number is “no program”, and the program module selection / distribution means includes: When this distribution information file is applied, the deletion instruction is distributed to the processing terminal, and the processing terminal that has received the deletion instruction deletes the retained program of its own terminal and uses the version number notification means to detect the version number. “No program” is notified as information.

所定の版数に更新させる為には処理端末のプログラムを全削除しておく必要がある場合にも対応可能となる。
また、例えば、前記各配信情報ファイルには、それぞれが所定の版数に対応して該版数から前記更新版数へとプログラム更新させる為の複数のプログラムモジュールが格納されており、前記プログラムモジュール選択・配信手段は、前記適用する配信情報ファイルの複数のプログラムモジュールのうち、前記版数通知手段から通知された版数に対応するプログラムモジュールを選択して処理端末へ配信するようにしてもよい。
In order to update to a predetermined version number, it is possible to cope with a case where it is necessary to delete all programs of the processing terminal.
Further, for example, each of the distribution information files stores a plurality of program modules for updating the program from the version number to the updated version number corresponding to a predetermined version number, and the program module The selection / distribution unit may select a program module corresponding to the version number notified from the version number notification unit from among a plurality of program modules of the distribution information file to be applied, and distribute the selected program module to the processing terminal. .

本発明のプログラム配信システム、その配信サーバ、プログラム等によれば、任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムに関して、各処理端末のプログラムを所定の版数へと更新させたい場合に、一旦何らかの途中状態へと更新させる必要がある場合でも、段階的にその都度必要なプログラムモジュールを配信して更新させて最終的に所定の版数へと更新させることができる。   According to the program distribution system, distribution server, program, and the like of the present invention, a plurality of processing terminals that hold and execute an arbitrary program and the distribution server are connected to a network, and the distribution server stores the program of each processing terminal online. Regarding the system to be updated, if it is necessary to update the program of each processing terminal to a predetermined version number, even if it is necessary to update to some intermediate state once, the necessary program modules are distributed step by step. It can be updated and finally updated to a predetermined version number.

以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例のプログラム配信システム全体の概略構成図である。
図示のプログラム配信システムは、何らかのコンピュータ処理端末である複数の装置20と、これら各装置20に対してネットワーク1を介してプログラム等を配信する配信サーバ10とが、ネットワーク1に接続された構成となっている。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a schematic configuration diagram of the entire program distribution system of this example.
The illustrated program distribution system has a configuration in which a plurality of devices 20 that are some computer processing terminals and a distribution server 10 that distributes a program or the like to each of these devices 20 via the network 1 are connected to the network 1. It has become.

図2は、上記図1に示した配信サーバ10、装置20の構成・機能ブロック図である。
まず、装置20は、通信部21、プログラムメモリ22、版数通知部23、配信情報処理部24等の各種構成/機能部を有する。
FIG. 2 is a configuration / function block diagram of the distribution server 10 and the apparatus 20 shown in FIG.
First, the apparatus 20 includes various components / function units such as a communication unit 21, a program memory 22, a version number notification unit 23, a distribution information processing unit 24, and the like.

通信部21はネットワーク1に接続しており、通信部21を介して配信サーバ10との通信を行う。プログラムメモリ22には任意のプログラムが格納されている。装置20は、例えば定期的に配信サーバ10に対して配信要求を送るが、その際に、版数通知部23は、プログラムメモリ22に格納されたプログラムの版数(バージョン情報等)を、通信部21を介して、配信サーバ10へ通知する。   The communication unit 21 is connected to the network 1 and communicates with the distribution server 10 via the communication unit 21. An arbitrary program is stored in the program memory 22. For example, the apparatus 20 periodically sends a distribution request to the distribution server 10, and at this time, the version number notification unit 23 communicates the version number (version information, etc.) of the program stored in the program memory 22. The distribution server 10 is notified via the unit 21.

上記要求に対して配信サーバ10が送信してくる配信情報(プログラムモジュールや処理種別等)は、通信部21を介して配信情報処理部24が受信する。そして、配信情報処理部24は、この配信情報に基いて、プログラムメモリ22に格納されている既存プログラムに対する更新や削除、追加等の各種処理を実行する。   Distribution information (program module, processing type, etc.) transmitted by the distribution server 10 in response to the request is received by the distribution information processing unit 24 via the communication unit 21. Then, the distribution information processing unit 24 executes various processes such as update, deletion, and addition to the existing program stored in the program memory 22 based on the distribution information.

配信サーバ10は、通信部11、配信情報記憶装置12、版数比較部13、配信情報送信部14、配信情報登録部15等の各種構成/機能部を有する。
配信情報記憶装置12には、配信情報パッケージ(プログラムモジュール群等)が格納されている。この配信情報パッケージの詳細については、後に図3を参照して説明する。登録者等は、予め作成した任意の配信情報パッケージを、配信情報登録部15を介して配信情報記憶装置12に格納しておく。
The distribution server 10 includes various configurations / function units such as a communication unit 11, a distribution information storage device 12, a version number comparison unit 13, a distribution information transmission unit 14, and a distribution information registration unit 15.
The distribution information storage device 12 stores distribution information packages (program module group and the like). Details of this distribution information package will be described later with reference to FIG. The registrant or the like stores an arbitrary distribution information package created in advance in the distribution information storage device 12 via the distribution information registration unit 15.

任意の装置20からの配信要求を受信すると、これに伴って上記版数通知部23から通知される当該要求元の装置20が現在保持するプログラムの版数情報に基づいて、版数比較部13が、上記配信情報パッケージ30に含まれる複数の配信情報のなかから、どの配信情報を配信するべきかを判定・決定する。そして、配信情報送信部14は、版数比較部13によって決定された配信情報を、通信部11を介して要求元の装置20へ配信する。   When a distribution request from an arbitrary device 20 is received, the version number comparing unit 13 is based on the version number information of the program currently held by the request source device 20 notified from the version number notifying unit 23. However, it is determined and determined which distribution information should be distributed from among a plurality of pieces of distribution information included in the distribution information package 30. Then, the distribution information transmitting unit 14 distributes the distribution information determined by the version number comparing unit 13 to the requesting device 20 via the communication unit 11.

上記版数比較部13は、以下に説明する図3に示す配信情報パッケージ30において、まず複数の配信情報ファイル31のなかから適用すべき配信情報ファイル31を判定し、更にこの判定した配信情報ファイル31中の複数の個別情報40(各配信情報)の中から該当する個別情報40を判定し、この判定した個別情報40を上記要求元の装置20へ配信すべき配信情報として決定する。   The version number comparison unit 13 first determines a distribution information file 31 to be applied from among a plurality of distribution information files 31 in the distribution information package 30 shown in FIG. 3 described below, and further determines the distribution information file thus determined. Corresponding individual information 40 is determined from a plurality of individual information 40 (each distribution information) in 31, and the determined individual information 40 is determined as distribution information to be distributed to the requesting device 20.

配信サーバ10、装置20のハードウェア構成は、特に図示しないが、配信サーバ10は汎用コンピュータの構成でよく、例えばCPUの演算プロセッサ、ハードディスク等の記憶装置、メモリ、キーボード等の入力装置、ディスプレイ、通信インタフェース等を有している。また、ハードディスク等の記憶装置は、上記配信情報記憶装置12として機能する以外にも、上記版数比較部13、配信情報送信部14、配信情報登録部15等の各種機能部の機能を実現させる為の所定のアプリケーションプログラムが記憶されているものである。そして、上記CPUは、このアプリケーションプログラムを読出し・実行することにより、上記版数比較部13、配信情報送信部14、配信情報登録部15等の各種機能部の機能を実現する。特にCPUは、所定のアプリケーションプログラムを読出し・実行することにより、後述する図4の処理を実現するものである。   Although the hardware configuration of the distribution server 10 and the device 20 is not particularly illustrated, the distribution server 10 may be a general-purpose computer. For example, a CPU arithmetic processor, a storage device such as a hard disk, a memory, an input device such as a keyboard, a display, It has a communication interface. In addition to functioning as the distribution information storage device 12, a storage device such as a hard disk realizes the functions of various functional units such as the version number comparison unit 13, the distribution information transmission unit 14, and the distribution information registration unit 15. A predetermined application program is stored. The CPU implements the functions of various functional units such as the version number comparison unit 13, the distribution information transmission unit 14, and the distribution information registration unit 15 by reading and executing the application program. In particular, the CPU implements the process shown in FIG. 4 to be described later by reading and executing a predetermined application program.

また、登録者等は、上記配信情報登録部15による配信情報の登録作業を行う際には、上記ディスプレイに表示される不図示の登録画面に従って上記キーボード等を操作することになる。   Further, when performing registration work of distribution information by the distribution information registration unit 15, a registrant or the like operates the keyboard or the like according to a registration screen (not shown) displayed on the display.

また、装置20は、例えばICカード・リーダ/ライタやATMや自動販売機等の何らかの特定の処理を実行するコンピュータ処理端末であり、例えばCPU/MPU、メモリ、通信インタフェース等を有している。このメモリとしては、上記プログラムメモリ22以外に、上記版数通知部23、配信情報処理部24等の各種機能部の機能を実現させる為の所定のアプリケーションプログラムを記憶するメモリがある。上記CPU/MPUは、この所定のアプリケーションプログラムを読出し・実行することにより、上記版数通知部23、配信情報処理部24等の各種機能部の機能を実現する。すなわち、自己が現在保持するプログラムの版数を配信サーバ10へ通知する機能や(これは後述するように配信不要通知を受けるまで繰り返す)、配信サーバ10から配信される配信情報に基づいて自己のプログラムを更新(バージョンアップや削除等)する処理機能を実現する。   The device 20 is a computer processing terminal that executes some specific processing such as an IC card reader / writer, ATM, or vending machine, and has a CPU / MPU, a memory, a communication interface, and the like. In addition to the program memory 22, the memory includes a memory that stores a predetermined application program for realizing the functions of various functional units such as the version number notification unit 23 and the distribution information processing unit 24. The CPU / MPU implements the functions of various functional units such as the version number notification unit 23 and the distribution information processing unit 24 by reading and executing the predetermined application program. That is, the function of notifying the distribution server 10 of the version number of the program currently held by itself (this is repeated until a distribution unnecessary notification is received as will be described later), and the distribution information distributed from the distribution server 10 Implement processing functions to update programs (upgrade, delete, etc.).

ここで、図3を参照して、本例における配信情報について説明しておく。
図3は、本例の配信情報のデータ構成図である。
本実施例の場合、ある版数のプログラムを任意の版数に更新するために必要な情報を1個の配信情報(ここでは図示の「個別情報」40という)とし、同じ版数に更新するための複数個の個別情報40を1つの配信情報ファイル31にまとめている。
Here, the distribution information in this example will be described with reference to FIG.
FIG. 3 is a data configuration diagram of distribution information in this example.
In the case of the present embodiment, information necessary for updating a program of a certain version number to an arbitrary version number is set as one piece of distribution information (herein referred to as “individual information” 40 shown in the figure) and updated to the same version number. A plurality of pieces of individual information 40 are collected in one distribution information file 31.

例えば、版数をVER2.0に更新する為の配信情報ファイル31には、
VER1.0→VER2.0の更新プログラム
VER1.1→VER2.0の更新プログラム
VER1.2→VER2.0の更新プログラム
・・・等をそれぞれ1個の配信情報(個別情報40)とし、これら全体を1個の配信情報ファイル31にまとめている。
For example, in the distribution information file 31 for updating the version number to VER2.0,
VER1.0 → VER2.0 update program
VER1.1 → VER2.0 update program
VER1.2 → VER2.0 update program, etc. are each set as one piece of distribution information (individual information 40), and all of them are collected into one piece of distribution information file 31.

また複数回の配信が必要な場合には、配信情報ファイル31をそれぞれの配信毎に作成して1個の配信情報パッケージ30としてまとめ、これを配信情報記憶装置12に登録しておく。   If a plurality of distributions are required, a distribution information file 31 is created for each distribution and collected as one distribution information package 30, which is registered in the distribution information storage device 12.

例えば一例としては、上記の“版数をVER2.0に更新する為の配信情報ファイル31”に加えて更に“版数をVER2.0からVER3.0に更新する為の配信情報ファイル31”を作成して、これらを1個の配信情報パッケージ30としてまとめるものである。これは、最終的にはVER.2.1に更新させる為の配信情報パッケージ30である。これは、例えば「VER2.0以前のバージョン(VER1.1等)からVER3.0に更新することは出来ず、それ故に一旦VER2.0に更新させる必要がある場合」等に特に有効なものとなる。これについては、後に具体例を示して詳しく説明する。   For example, in addition to the above “distribution information file 31 for updating the version number to VER2.0”, “distribution information file 31 for updating the version number from VER2.0 to VER3.0” is further added. These are created and collected as one distribution information package 30. This is a distribution information package 30 for finally updating to VER.2.1. This is especially effective when, for example, “Versions before VER2.0 (VER1.1, etc.) cannot be updated to VER3.0, and therefore it is necessary to update to VER2.0 once”. Become. This will be described in detail later with a specific example.

ここで、配信情報ファイル31のデータ構成について説明する。
図3に示すように、1つの配信情報パッケージ30には基本的に複数の配信情報ファイル31が含まれており、各配信情報ファイル31は、共通ヘッダ部と各個別情報40(図示の例では個別情報a〜個別情報n)より成る。共通ヘッダ部には、比較順位32と更新版数33が定義されている。
Here, the data structure of the distribution information file 31 will be described.
As shown in FIG. 3, a single distribution information package 30 basically includes a plurality of distribution information files 31. Each distribution information file 31 includes a common header portion and individual information 40 (in the illustrated example). It consists of individual information a to individual information n). In the common header part, a comparison order 32 and an updated version number 33 are defined.

比較順位32は、複数個ある配信情報ファイル31それぞれに対して、一意の値が定義される。例えば、最後に適用すべき配信情報ファイル31に対して”01”を与え、以降順番にインクリメントした値を定義する。尚、比較順位32”01”は、最も順位が高いものというものとする。これより、比較順位32の値が最も大きいものを、最も順位が低いものというものとする。また、尚、上記最後に適用すべき配信情報ファイル31とは、最終的に更新させるべき版数へと更新させる為の配信情報ファイル31であり、本例ではVER.2.1に更新させる為のものとなる。   As the comparison order 32, a unique value is defined for each of the plurality of distribution information files 31. For example, “01” is given to the distribution information file 31 to be applied last, and values incremented in order are defined thereafter. It is assumed that the comparison order 32 "01" has the highest order. From this, it is assumed that the value with the highest comparison order 32 is the lowest order. The distribution information file 31 to be applied last is the distribution information file 31 for updating to the version number to be finally updated. In this example, the distribution information file 31 is updated to VER.2.1. It becomes.

また、更新版数33は、その配信情報ファイル31に格納されている配信情報(個別情報40)によって更新されるプログラム版数を示している。上記の通り、1つの配信情報ファイル31に格納されている全ての個別情報40は、同じ版数のプログラムへとバージョンアップ等させる為のプログラムモジュール等であり、例えば上記一例(VER1.0→VER2.0、VER1.1→VER2.0、VER1.2→VER2.0)の場合には更新版数33は“2.0”となる。   The updated version number 33 indicates the program version number updated by the distribution information (individual information 40) stored in the distribution information file 31. As described above, all the individual information 40 stored in one distribution information file 31 is a program module or the like for upgrading the program to the same version number, for example, the above example (VER1.0 → VER2 .0, VER1.1 → VER2.0, VER1.2 → VER2.0), the updated version number 33 is “2.0”.

配信情報ファイル31に格納されている各個別情報40は、適用版数41、処理種別42、プログラムモジュール43等から成る。適用版数41は、当該個別情報40がどの版数のプログラムを上記更新版数33のプログラムへと更新させる為の情報であるのかを示すものである。例えば上記一例では、個別情報40は3つ存在し、これら各個別情報40の適用版数41は、VER1.0、VER1.1、VER1.2の何れかとなる。そして、要求元の装置20が通知してきた版数が例えば“VER1.1”であったならば、適用版数41が“VER1.1”の個別情報を、要求元の装置20へ配信することになる。   Each individual information 40 stored in the distribution information file 31 includes an applied version number 41, a processing type 42, a program module 43, and the like. The applied version number 41 indicates which version number of the program the individual information 40 is for updating the program to the updated version number 33. For example, in the above example, there are three pieces of individual information 40, and the applicable version number 41 of each piece of individual information 40 is any one of VER1.0, VER1.1, and VER1.2. Then, if the version number notified by the request source apparatus 20 is, for example, “VER1.1”, the individual information whose applied version number 41 is “VER1.1” is distributed to the request source apparatus 20. become.

プログラムモジュール43は、その版数が適用版数41であるプログラムを更新版数33のプログラムへと更新させる為のプログラム部品等である。例えば上記一例では、要求元の装置20が現在保持するVER1.1のプログラムをVER2.0のプログラムへとバージョンアップさせる為のプログラム部品(例えば後述する“差分”)となる。   The program module 43 is a program component or the like for updating a program whose version number is the application version number 41 to a program having the update version number 33. For example, in the above example, it is a program component (for example, “difference” described later) for upgrading the version VER1.1 program currently held by the requesting device 20 to the version VER2.0 program.

処理種別42は、例えば“追加”、“新規”、“削除”の何れかである。すなわち、プログラムモジュール43が適用版数41のプログラムに対する追加(差分)なのか新規(全件)なのかを示す、あるいは既存プログラムを削除させる指示を示す処理種別が定義される。尚、後述する一例では、処理種別42が“削除”の場合にはプログラムモジュール43は無いものとするが(削除を指示するだけである)、この例に限るものではなく、例えば削除指示と共にプログラム全体(全件)を配信して新規登録させるようにしてもよい。   The process type 42 is, for example, “addition”, “new”, or “deletion”. In other words, a process type is defined that indicates whether the program module 43 is an addition (difference) or new (all cases) to the application version 41 program, or indicates an instruction to delete an existing program. In an example to be described later, when the processing type 42 is “delete”, the program module 43 is not present (only the deletion is instructed). However, the present invention is not limited to this example. The whole (all cases) may be distributed and newly registered.

ここで、各配信情報ファイル31毎の個別情報40は、その“更新版数”33に更新するための対象版数の個数分、定義可能であるが(例えば上記一例では、“更新版数”=2.0に対して、VER1.0、VER1.1、VER1.2対応の3つの個別情報40が定義される)、この例に限るものではない。   Here, the individual information 40 for each distribution information file 31 can be defined by the number of target versions for updating to the “update version number” 33 (for example, “update version number” in the above example). = 3, the individual information 40 corresponding to VER1.0, VER1.1, and VER1.2 is defined), but is not limited to this example.

例えば、VER1.X→VER2.0の更新を行う場合(X;任意の整数)、比較的変更内容が少ない版数のみを追加(差分)で定義し、ある版数以前のものは、全て新規(全件)と定義する事もできる。例えば以下に一例を示す。この例の場合、例えばver.1.0〜ver.1.9の10の版数に対して、4つの個別情報40が定義される。
例) 適用版数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に対しては、全件を“新規”登録として処理される。
For example, when updating from VER1.X to VER2.0 (X: any integer), only the version number with relatively little change is defined by adding (difference). It can also be defined as (all cases). For example, an example is shown below. In the case of this example, for example, four pieces of individual information 40 are defined for ten version numbers of ver.1.0 to ver.1.9.
Example) Applicable version 41 Processing type 42 Contents of program module 43
VER1.9 added Difference between VER2.0 and VER1.9
VER1.8 added Difference between VER2.0 and VER1.8
VER1.7 added Difference between VER2.0 and VER1.7
VER1. * New All contents of VER2.0 (all cases)
In the case of this example, all the cases are processed as “new” registration for the apparatus 20 holding the program of the version number before VER1.6.

尚、処理種別42が“追加”の場合、上記の通り更新版数33のプログラムと適用版数41のプログラムとの差分のみが、要求元の装置20へ配信されることになるので、配信するプログラムの容量を必要最小限度に留められる、という効果も得られる。   When the processing type 42 is “addition”, only the difference between the program of the updated version number 33 and the program of the applied version number 41 is distributed to the requesting device 20 as described above, so that it is distributed. There is also an effect that the capacity of the program can be kept to the minimum necessary level.

図4は、配信サーバ10の版数比較部13の処理フローチャート図である。これは、比較順位32と更新版数33を用いた配信順序の判定方法を示すものである。
図示の処理は、任意の装置20が上記版数通知部23によって自身のプログラム版数を通知してきたら開始される。
FIG. 4 is a processing flowchart of the version number comparison unit 13 of the distribution server 10. This shows a delivery order determination method using the comparison order 32 and the updated version number 33.
The illustrated process is started when an arbitrary device 20 notifies the program version number by the version number notification unit 23.

そして、概略的には以下に説明する処理を実行する。
すなわち、配信情報パッケージ30内に登録された複数個の配信情報ファイル31に対して、比較順位32が示す順位に従って、最も順位が高いものから順番に、その更新版数33と装置20が通知してきた版数との比較を行って一致するものを探索する。そして、一致した配信情報ファイル31より順位が1つ高い配信情報ファイル31を適用する。版数一致するファイル31が、最も順位が高いファイルであった場合には、配信不要通知を装置20へ通知する。もし、版数一致するファイル31が存在しない場合には、最も順位が低い配信情報ファイル31を適用する。そして、適用した配信情報ファイル31を用いて、装置20に対するプログラムモジュール配信等の処理を行う。上記配信不要通知を送信しない限り、配信後に再び装置20が自己のプログラム版数を通知してくるので、再び図4の処理を行う。これを繰り返すことで、何らかの途中状態を経たうえで最終的には上記最後に適用すべき配信情報ファイル31が適用されて、最終的に所定の版数(本例ではVER.2.1)へと更新させることができる。
Then, the processing described below is executed roughly.
That is, the update version number 33 and the device 20 notify the plurality of distribution information files 31 registered in the distribution information package 30 in order from the highest rank according to the rank indicated by the comparison rank 32. Compare with the new version number to find a match. Then, the distribution information file 31 that is one order higher than the matching distribution information file 31 is applied. If the file 31 with the same version number is the file with the highest rank, a notification that no distribution is required is sent to the device 20. If the file 31 with the same version number does not exist, the distribution information file 31 with the lowest rank is applied. Then, processing such as program module distribution to the apparatus 20 is performed using the applied distribution information file 31. Unless the above-mentioned distribution unnecessary notification is transmitted, the apparatus 20 notifies the program version number again after distribution, so the processing of FIG. 4 is performed again. By repeating this, the distribution information file 31 to be applied last is applied after going through some intermediate state, and finally updated to a predetermined version number (VER.2.1 in this example) Can be made.

以下、更に詳細に図4の処理について説明する。
上記要求元の装置20からの自己のプログラム版数の通知を受けると、まず、配信情報パッケージ30内に登録された複数個の配信情報ファイル31のうち、最後に適用すべき配信情報ファイル31(上記の一例では比較順位32が一番小さい値(“01”)すなわち最も順位が高いもの)を参照して、その更新版数33と、装置20が通知してきた版数との比較を行って、一致/不一致を判定する(ステップS11)。ここでもし版数が一致した場合(ステップS11,YES)、その装置20はプログラム更新が全て完了していると判断し、配信不要通知を装置20へ送信して(ステップS12)、本処理を終了する。
Hereinafter, the process of FIG. 4 will be described in more detail.
When receiving the notification of its own program version number from the requesting device 20, first, among the plurality of distribution information files 31 registered in the distribution information package 30, the distribution information file 31 ( In the above example, the comparison version 32 is referred to the smallest value (“01”), that is, the highest rank), and the updated version number 33 is compared with the version number notified by the device 20. A match / mismatch is determined (step S11). If the version numbers match (step S11, YES), the device 20 determines that all program updates have been completed, and sends a distribution unnecessary notification to the device 20 (step S12). finish.

一方、版数不一致の場合には(ステップS11,NO)、比較順位32が二番目に小さい値(“02”;すなわち2番目に順位が高い)の配信情報ファイル31を参照して、その更新版数33と、装置20が通知してきた版数との比較を行い、一致/不一致を判定する(ステップS13)。   On the other hand, when the version numbers do not match (step S11, NO), the distribution information file 31 having the second smallest comparison rank 32 ("02"; that is, the second highest rank) is referred to and updated. A comparison is made between the version number 33 and the version number notified by the apparatus 20, and a match / mismatch is determined (step S13).

版数が一致した場合には(ステップS13、YES)、その装置20は比較順位=”02”の配信情報によるプログラム更新までは完了しているが、それより1つ順位が高い比較順位=“01”の配信情報によるプログラム更新は完了していないと判断し(ここでは、最も最後に適用すべき配信情報ファイル31のみが未配信であることになる)、比較順位=“01”の配信情報ファイル31を適用するものと判定する。そして、当該適用するファイル31において該当する個別情報40を選択して配信する為の処理を行う。   If the version numbers match (step S13, YES), the device 20 has completed the program update with the distribution information of the comparison rank = “02”, but the comparison rank = “one higher rank than that”. It is determined that the program update with the distribution information of “01” has not been completed (here, only the distribution information file 31 to be applied last is undistributed), and the distribution information of comparison rank = “01” It is determined that the file 31 is applied. Then, processing for selecting and distributing the corresponding individual information 40 in the file 31 to be applied is performed.

すなわち、装置20が通知してきた版数と、適用するファイル31(ここでは比較順位=“01”の配信情報ファイル31)内の各個別情報40の適用版数41とを比較して、版数一致する個別情報40を配信すべきものと決定する。これより、配信情報送信部14によって、当該決定された個別情報40が装置20に配信されることになる。図示の例では、例えば、装置20が通知してきた版数が、個別情報aの適用版数41と一致する場合には(ステップS21,YES)個別情報aを配信させ(ステップS22)、個別情報bの適用版数41と一致する場合には(ステップS23,YES)個別情報bを配信させる(ステップS24)等することになる。尚、個別情報bとは、特に図示していないが例えば図3に示す個別情報aの次に格納されている個別情報40である。   That is, the version number notified by the device 20 is compared with the applied version number 41 of each individual information 40 in the applied file 31 (here, the distribution information file 31 with the comparison order = “01”), and the version number is compared. It is determined that the matching individual information 40 should be distributed. As a result, the determined individual information 40 is distributed to the apparatus 20 by the distribution information transmitting unit 14. In the illustrated example, for example, when the version number notified by the apparatus 20 matches the applied version number 41 of the individual information a (step S21, YES), the individual information a is distributed (step S22), and the individual information If it matches the application version number 41 of b (step S23, YES), the individual information b is distributed (step S24). The individual information b is, for example, individual information 40 stored next to the individual information a shown in FIG.

版数が不一致の場合には(ステップS13、NO)、更に、比較順位=“03”以降の配信情報ファイル31について上記と同様の処理を行う。すなわち、比較順位を+1インクリメントしながら、その更新版数33が装置20が通知してきた版数と一致するか否かを判定する。そして、一致すると判定された配信情報ファイル31の1つ上の順位の配信情報ファイル31を適用して、当該適用するファイル31内の個別情報40のうち該当するものを装置20へ配信させる。   If the version numbers do not match (step S13, NO), the same processing as described above is performed for the distribution information file 31 after the comparison order = “03”. That is, while the comparison order is incremented by +1, it is determined whether or not the updated version number 33 matches the version number notified by the apparatus 20. Then, the distribution information file 31 that is one order higher than the distribution information file 31 determined to match is applied, and the corresponding information among the individual information 40 in the applied file 31 is distributed to the apparatus 20.

但し、最後まで一致と判定されなかった場合(更新版数33が通知版数と一致する配信情報ファイル31が1つも無い場合)、すなわち比較順位32が最も大きい値(図示の例では“n”;換言すれば順位が最下位)の配信情報ファイル31に関しても版数不一致となった場合には(ステップS15,NO)、この比較順位=“n”の配信情報ファイル31を適用して、当該ファイル31内の個別情報40のうち該当するものを装置20へ配信させる(ステップS32)。尚、ステップS15の判定が“一致”(YES)である場合には、1つ上の順位である比較順位=“n−1”の配信情報ファイル31を適用して、当該適用ファイル31内の個別情報40のうち該当するものを装置20へ配信させる(ステップS31)。   However, when it is not determined to be consistent until the end (when there is no distribution information file 31 in which the updated version number 33 matches the notification version number), that is, the value with the highest comparison order 32 (“n” in the illustrated example). In other words, when the version number of the distribution information file 31 with the lowest rank is also inconsistent (step S15, NO), the distribution information file 31 with this comparison rank = “n” is applied, The corresponding information among the individual information 40 in the file 31 is distributed to the device 20 (step S32). If the determination in step S15 is “match” (YES), the distribution information file 31 with the comparison rank = “n−1”, which is the next higher rank, is applied and The corresponding information among the individual information 40 is distributed to the apparatus 20 (step S31).

一方、各装置20は、配信された個別情報40を用いて自己のプログラムを更新する。そして、更新完了後、版数通知部23が再び版数を配信サーバ10へ通知する。この版数は、更新後の版数となる。この版数通知は、ステップS12による配信不要通知を受信するまで、個別情報40が配信されて更新が行われる毎に実行する。ステップS12による配信不要通知を受信したら、更新処理は全て完了したものと判定する。よって、その後は版数通知は行わない。   On the other hand, each device 20 updates its own program using the distributed individual information 40. Then, after the update is completed, the version number notification unit 23 notifies the distribution server 10 of the version number again. This version number is the updated version number. This version number notification is executed every time the individual information 40 is distributed and updated until the distribution unnecessary notification in step S12 is received. When the distribution unnecessary notification in step S12 is received, it is determined that all the update processes have been completed. Therefore, the version number notification is not performed thereafter.

上記図4の処理に関して、以下、図5、図6に示す2つの具体例を挙げて説明する。
まず、図5に示す具体例1について説明する。
まず、図5の例における各バージョン間の関係(遷移条件等)について図5(a)に示す。
The processing of FIG. 4 will be described below with reference to two specific examples shown in FIGS.
First, specific example 1 shown in FIG. 5 will be described.
First, the relationship (transition condition etc.) between the versions in the example of FIG. 5 is shown in FIG.

図5(a)に示すように、この例では、VER2.1への更新は、VER2.0からしか行えない。これは、図示の例では、VER2.1とVER2.0との差分をVER2.0へ“追加”する形で、VER2.1へのバージョンアップが行われる。よって、VER2.0以前のバージョン(ここでは、VER1.0のみとするが、この例に限らず、更にVER1.1等があってもよい)のプログラムを保持している状態、あるいはプログラム未登録状態の装置20は、これらの状態から直接VER2.1へバージョンアップすることは出来ない。   As shown in FIG. 5A, in this example, updating to VER2.1 can be performed only from VER2.0. In the illustrated example, the version upgrade to VER2.1 is performed by “adding” the difference between VER2.1 and VER2.0 to VER2.0. Therefore, a version of VER2.0 or earlier (in this case, only VER1.0, but not limited to this example, there may be VER1.1, etc.) or a program is not registered The device 20 in the state cannot be upgraded directly from these states to VER2.1.

この為、例えばVER1.0状態の装置20に対しては、まず、VER2.0とVER1.0との差分を配信してVER.10に追加(マージ)させる形でVER2.0へと更新させたうえで、上記のようにVER2.1へのバージョンアップを行う必要がある。また、プログラム未登録状態である装置20に対しては、まず、VER2.0プログラム(全件)を配信して“新規”登録させたうえで、上記のようにVER2.1へのバージョンアップを行う必要がある。上記図4の処理を実行することでこの様な処理を実現させる為の配信情報パッケージ30の設定内容を、図5(b)に示す。   For this reason, for example, the device 20 in the VER1.0 state is first updated to VER2.0 by distributing the difference between VER2.0 and VER1.0 and adding (merging) it to VER.10. In addition, it is necessary to upgrade to VER2.1 as described above. In addition, for the device 20 that has not been registered, first distribute the VER2.0 program (all cases) and register it as “new”, then upgrade to VER2.1 as described above. There is a need to do. FIG. 5B shows the setting contents of the distribution information package 30 for realizing such processing by executing the processing of FIG.

図5(b)に示すように、上記処理を実現させる為の配信情報ファイル31は、以下の2つが定義される
配信情報ファイル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となっている。
As shown in FIG. 5 (b), the following two distribution information files 31 for realizing the above processing are defined: Distribution information file 31-1; "VER2.1 ← VER2.0" (added)
Distribution information file 31-2: “VER2.0 ← VER1.0” (added) and “VER2.0 ← No program” (new)
That is, as shown in FIG. 5B, first, the distribution information file 31-1 is a program module file for updating to the final version (the latest version, etc.) VER2.1. 32 is “01”, and the updated version number 33 is VER2.1. Since there are two files 31 in this example, the comparison order of the distribution information file 31-2 is “02”. Further, from the above, the distribution information file 31-2 is a program module file for updating to VER2.0, so the updated version number 33 is VER2.0.

また、上述したことから、配信情報ファイル31-1の個別情報40は、その適用版数41がVER2.0である1つのみであり、その処理種別42は“追加”であり、プログラムモジュール43としてVER2.1とVER2.0との差分としてのプログラムモジュール1が格納されている。   Further, from the above, the individual information 40 of the distribution information file 31-1 is only one whose application version number 41 is VER2.0, the processing type 42 is “addition”, and the program module 43 As a difference between VER2.1 and VER2.0.

同様に、上述したことから、配信情報ファイル31-2の個別情報40は、その適用版数41がVER1.0と“VER−”の2つある(尚、“VER−”はプログラム無しを意味する)。VER1.0の個別情報40は、その処理種別42は“追加”であり、プログラムモジュール43としてVER1.0とVER2.0との差分としてのプログラムモジュール2が格納されている。“VER−”の個別情報40は、その処理種別42は“新規”であり、プログラムモジュール43としてVER2.0のプログラム全部(全件)であるプログラムモジュール3が格納されている。   Similarly, as described above, the individual information 40 of the distribution information file 31-2 has two application version numbers 41 of VER1.0 and “VER−” (“VER−” means no program). To do). In the individual information 40 of VER1.0, the processing type 42 is “addition”, and the program module 2 is stored as a program module 43 as a difference between VER1.0 and VER2.0. The individual information 40 of “VER-” has a process type 42 of “new”, and stores program modules 3 that are all (all) VER2.0 programs as program modules 43.

上述した設定内容の配信情報パッケージ30を用いて図4の処理を実行すると、以下に説明するようになる。尚、図4には示していないが、ステップS11、S13、S14等の更新版数33との一致/不一致判定処理の際には、その比較順位32が最大値n(この例では“2”となる)であるか否かを判定し、最大値である場合にはステップS15の処理を適用する。図5に示す例では、比較順位“02”が最大値であるので、ステップS15の処理を適用することになり、もし“版数不一致”となった場合には、比較順位“02”のファイルすなわち配信情報ファイル31-2を適用することになる。   When the processing of FIG. 4 is executed using the distribution information package 30 having the setting contents described above, it will be described below. Although not shown in FIG. 4, in the match / mismatch determination process with the updated version number 33 such as steps S11, S13, and S14, the comparison order 32 has a maximum value n (in this example, “2”). And if it is the maximum value, the process of step S15 is applied. In the example shown in FIG. 5, since the comparison order “02” is the maximum value, the process of step S15 is applied. If “version number mismatch” occurs, the file with the comparison order “02” is applied. That is, the distribution information file 31-2 is applied.

まず、概略的には、図4の処理は、要求元の装置20から通知された版数に応じて以下の(1)〜(3)の何れかの処理を行うことになり、要求元の装置20の初期状況(保持するプログラムの版数や保持プログラムの有無)が何であれ、最終的にはVER2.1に更新されることになる。
(1)“プログラム無し”を通知して来た場合は、配信情報ファイル31-2の“新規(全件)”のプログラムモジュール3等(これを含む配信情報40;以下同様)を配信。
(2)VER1.0を通知して来た場合は、配信情報ファイル31-2の“追加(差分)”のプログラムモジュール2等を配信。
(3)VER2.0を通知して来た場合は、配信情報ファイル31-1の“追加(差分)” のプログラムモジュール1等を配信。
First, in general, the process of FIG. 4 performs one of the following processes (1) to (3) according to the version number notified from the requesting apparatus 20, and Whatever the initial status of the device 20 (the version number of the program to be held and the presence or absence of the holding program), the device 20 will eventually be updated to VER2.1.
(1) When “no program” is notified, “new (all cases)” program module 3 and the like (distribution information 40 including this; the same applies hereinafter) of the distribution information file 31-2 are distributed.
(2) When VER1.0 is notified, distribute “add (difference)” program module 2 and the like of the distribution information file 31-2.
(3) When VER2.0 is notified, “add (difference)” program module 1 etc. of the distribution information file 31-1 is distributed.

以下、更に詳細に説明する。
まず、最初の一例として、既に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が適用されることになる。
This will be described in more detail below.
First, as a first example, if there is a distribution request from the device 20 that already holds a VER2.0 program, the version number notification unit 23 notifies VER2.0, so that the processing in step S11 is performed. In the processing, the update version number 32 = “VER2.1” of the distribution information file 31-1 whose comparison order 32 is “01” is compared, and it is determined as “mismatch” (NO in step S11). . As a result, the process proceeds to step S13. As described above, n = 2 and the process of step S15 is executed. Therefore, if it is determined as “mismatch”, the distribution information file 31-2 having the comparison order 32 of “02” is applied. Here, the version number notified as described above is VER2 .0 and the updated version number 32 of the distribution information file 31-2 having the comparison order 32 of “02” is determined to be “match” by comparison with “VER2.0”. The distribution information file 31-1 that is the file 31 (with the comparison order “01”) is applied.

そして、配信情報ファイル31-1の個別情報40は図示の通り1つであり、この個別情報40の適用版数41はVER2.0であるので、通知された版数VER2.0と一致することから、この個別情報40が配信すべきものと決定されて配信されることになる。   The individual information 40 of the distribution information file 31-1 is one as shown, and the applicable version number 41 of this individual information 40 is VER2.0, so it must match the notified version number VER2.0. Therefore, the individual information 40 is determined to be distributed and distributed.

これより、要求元の装置20は、配信された個別情報40を用いて、そのプログラムモジュール1を自己が保持するプログラムに追加する処理(統合する処理;マージ処理)を行うことで、自己のプログラムをVER2.1へと更新する。そして、更新完了したら、再び、版数通知部23が自己のプログラムの版数を配信サーバ10へ通知するが、このときにはVER2.1が通知されることになる。よって、この通知を受けた配信サーバ10の版数比較部13が、再び図4の処理を実行すると、ステップS11の判定がYESとなることから、配信不要通知を送信することになり、これよりプログラム更新処理は終了する。   Thus, the request source apparatus 20 uses the distributed individual information 40 to perform processing (integration processing; merge processing) for adding the program module 1 to the program held by the request source device 20 itself. Is updated to VER2.1. When the update is completed, the version number notification unit 23 again notifies the distribution server 10 of the version number of its own program. At this time, VER2.1 is notified. Therefore, when the version number comparison unit 13 of the distribution server 10 that has received this notification executes the process of FIG. 4 again, the determination in step S11 is YES, and therefore a distribution unnecessary notification is transmitted. The program update process ends.

また、例えば、既にVER1.0のプログラムを保持している装置20からの配信要求があった場合には、版数通知部23によってVER1.0が通知されてくるので、ステップS11の判定結果は不一致(NO)となり、続くステップS15の処理(n=2とする)の判定結果も不一致(NO)となるので、上記ステップS32の処理を実行することになり、比較順位32が“02”である配信情報ファイル31-2が適用されることになる。そして、配信情報ファイル31-2内の複数の個別情報40のうち、その適用版数41がVER1.0の個別情報40が配信されることになる。これより、要求元の装置20では、自己の既存のプログラム(VER1.0)に、配信された個別情報40のプログラムモジュール2を追加することで、自己のプログラムをVER2.0へと更新する。   Also, for example, if there is a distribution request from the device 20 that already holds a VER1.0 program, the version number notification unit 23 notifies VER1.0, so the determination result in step S11 is Since the determination result of the subsequent processing in step S15 (n = 2) is also inconsistent (NO), the processing in step S32 is executed, and the comparison order 32 is “02”. A distribution information file 31-2 is applied. Then, among the plurality of individual information 40 in the distribution information file 31-2, the individual information 40 whose application version number 41 is VER1.0 is distributed. Thus, the requesting device 20 updates its own program to VER2.0 by adding the program module 2 of the distributed individual information 40 to its existing program (VER1.0).

更新完了後、版数通知部23によって今度はVER2.0が通知されることになり、配信サーバ10は再び図4の処理を実行することになるが、VER2.0通知時の処理については既に上述してあるので、ここでは説明しない。その後、版数通知部23によって今度はVER2.1が通知されることになり、配信サーバ10がステップS12の配信不要通知を返信することで、一連のプログラム更新処理は完了する。   After the update is completed, VER2.0 is notified by the version number notification unit 23 this time, and the distribution server 10 executes the processing of FIG. 4 again. As described above, it will not be described here. Thereafter, VER2.1 is notified by the version number notification unit 23, and the distribution server 10 returns a distribution unnecessary notification in step S12, thereby completing a series of program update processing.

また、例えば、プログラム未登録の装置20からの配信要求があった場合には、上記VER1.0の場合と同様にして配信情報ファイル31-2が適用されることになる。そして、配信情報ファイル31-2内の複数の個別情報40のうち、その適用版数41が“VER−”の個別情報40が配信されることになる。これより、要求元の装置20では、配信された個別情報40のプログラムモジュール3を新規登録することにより、VER2.0のプログラムを保持している状態となる。その後の処理については、上記VER1.0の場合と同様であるので、説明は省略する。   For example, when there is a distribution request from the device 20 that is not registered with the program, the distribution information file 31-2 is applied in the same manner as in the case of VER1.0. Then, among the plurality of individual information 40 in the distribution information file 31-2, the individual information 40 whose application version number 41 is “VER−” is distributed. As a result, the requesting device 20 holds the VER2.0 program by newly registering the program module 3 of the distributed individual information 40. Since the subsequent processing is the same as in the case of VER1.0, description thereof is omitted.

図5(c)に、プログラム未登録の装置20を最新のVER2.1のプログラム保持状態へ更新させる場合の装置20−配信サーバ10間の通信シーケンスを示す。これは、既に説明した通りであるが、図示のように、まず、プログラム未登録の装置20は、プログラム無し(“VER−”)の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10はプログラムモジュール3を含む個別情報40を配信する。これより、装置20は、プログラムモジュール3を新規登録することで、VER2.0のプログラムを保持している状態となる。   FIG. 5C shows a communication sequence between the device 20 and the distribution server 10 in the case where the unregistered device 20 is updated to the latest VER2.1 program holding state. This has already been described, but as shown in the figure, first, the unregistered device 20 transmits a distribution request accompanied by a notification of no program (“VER-”) to the distribution server 10, and In response, the distribution server 10 distributes the individual information 40 including the program module 3. As a result, the device 20 is in a state of holding the VER2.0 program by newly registering the program module 3.

続いて、装置20は、今度は版数VER2.0の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10は今度はプログラムモジュール1を含む個別情報40を配信する。これより、装置20は、プログラムモジュール1を既存プログラム(VER2.0)に追加(マージ)する処理を行うことで、自己のプログラムをVER2.1へと更新することになり、VER2.1のプログラムを保持している状態となる。   Subsequently, the device 20 transmits a distribution request with a notification of the version number VER2.0 to the distribution server 10, and in response to this, the distribution server 10 distributes the individual information 40 including the program module 1 in this time. As a result, the apparatus 20 updates its own program to VER2.1 by adding (merging) the program module 1 to the existing program (VER2.0). Will be held.

そして更に、装置20は、今度は版数VER2.1の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10は今度は配信不要通知を返信し、これによって一連のプログラム更新処理は終了する。   Further, the device 20 transmits a distribution request with a notification of the version number VER2.1 to the distribution server 10 in response, and in response to this, the distribution server 10 returns a distribution unnecessary notification this time, thereby a series of programs. The update process ends.

以上説明した例のように、複数の装置20に対してネットワークを介してオンラインでプログラム更新するシステムにおいて、配信サーバ10は、各装置の状況(版数やプログラム登録済み/未登録)に応じて複数種類のプログラムモジュールを選択的・段階的に複数回配信する必要がある場合でも、自動的に、適切なプログラムモジュールを適切な順序で配信することができ、問題なくプログラム更新を行うことができる。   As in the example described above, in a system in which a plurality of devices 20 are updated online via a network, the distribution server 10 can respond to the status of each device (version number or registered / unregistered program). Even when multiple types of program modules need to be distributed multiple times in a selective or stepwise manner, the appropriate program modules can be automatically distributed in the appropriate order, and the program can be updated without any problems. .

次に、図6に示す具体例2について説明する。
まず、図6の例における各バージョン間の関係(遷移条件等)について図6(a)に示す。
Next, specific example 2 shown in FIG. 6 will be described.
First, the relationship (transition condition etc.) between the versions in the example of FIG. 6 is shown in FIG.

図6(a)に示すように、この例ではまず上記図5の例と同様に、VER2.1への更新は、VER2.0からしか行えない。更に、VER2.0以前のバージョン(ここでは、VER1.0のみとするが、この例に限らず、更にVER1.1等があってもよい)のプログラムを保持している状態からVER2.0へバージョンアップすることは出来ない。つまり、VER2.0へ更新する場合には、まずVER1.0等の既存プログラムを削除してから、VER2.0への更新処理を行う必要がある。勿論、最初からプログラム無しの状態であれば、そのまま、VER2.0への更新処理を行えばよい。   As shown in FIG. 6A, in this example, as in the example of FIG. 5, the update to VER2.1 can be performed only from VER2.0. In addition, VER2.0 and earlier versions (in this case only VER1.0, but not limited to this example, there may be VER1.1, etc.) are retained. You cannot upgrade. In other words, when updating to VER2.0, it is necessary to first delete an existing program such as VER1.0 and then perform update processing to VER2.0. Of course, if there is no program from the beginning, the update process to VER2.0 may be performed as it is.

上記図4の処理を実行することで図6(a)に示す遷移条件を満たしつつVER2.1への更新を実現させる為の配信情報パッケージ30の設定内容を、図6(b)に示す。
図6(b)に示すように、この例における配信情報ファイル31は、以下の3つが定義される。
FIG. 6B shows the set contents of the distribution information package 30 for realizing the update to VER2.1 while satisfying the transition condition shown in FIG. 6A by executing the processing of FIG.
As shown in FIG. 6B, the following three distribution information files 31 in this example are defined.

配信情報ファイル31-3 ;「VER2.1 ← VER2.0」( 追加 )
配信情報ファイル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が格納されている。
Distribution information file 31-3: "VER2.1 ← VER2.0" (added)
Distribution information file 31-4 ; "VER2.0 ← No program" (new)
Distribution information file 31-5; “No program ← VER1.0” (deletion instruction)
As a result, first, the distribution information file 31-3 has a comparison order 32 of “01”, an updated version number 33 of VER2.1, one piece of individual information 40, and its application version number. Reference numeral 41 is VER2.0, and the processing type 42 is addition (difference), and the program module 4 which is the difference between VER2.1 and VER2.0 is stored.

配信情報ファイル31-4は、比較順位32が“02”、更新版数33がVER2.0であり、その個別情報40は1つであり、その適用版数41は“VER−”、処理種別42は新規(全件)となっており、VER2.0のプログラム全部(全件)であるプログラムモジュール5が格納されている。   In the distribution information file 31-4, the comparison order 32 is “02”, the updated version number 33 is VER2.0, the individual information 40 is one, the applied version number 41 is “VER−”, and the processing type. Reference numeral 42 is new (all cases) and stores program modules 5 that are all (all cases) VER2.0 programs.

配信情報ファイル31-5は、比較順位32が“03”、更新版数33が“VER−”であり、その個別情報40は1つであり、その適用版数41は“VER1.0”、処理種別42は削除となっている。これは、装置20の既存プログラムの削除を指示するだけであるので、プログラムモジュール43は無い。   In the distribution information file 31-5, the comparison order 32 is “03”, the update version number 33 is “VER−”, the individual information 40 is one, the application version number 41 is “VER1.0”, The process type 42 is deleted. Since this only instructs to delete the existing program of the apparatus 20, there is no program module 43.

まず、概略的には、図4の処理は、要求元の装置20から通知される版数に応じて以下の(1)〜(3)の何れかの処理を行うことになり、要求元の装置20の初期状況(保持するプログラムの版数や保持プログラムの有無)が何であれ、最終的にはVER2.1に更新されることになる。
(1)VER1.0を通知して来た場合は、通知元の装置20の保持プログラム(VER1.0)の削除指令。
(2)“プログラム無し”を通知して来た場合は、配信情報ファイル31-4の“新規(全件)”のプログラムモジュール5等を配信。
(3)VER2.0を通知して来た場合は、配信情報ファイル31-3の“追加(差分)” のプログラムモジュール4等を配信。
First, roughly, the process of FIG. 4 performs one of the following processes (1) to (3) according to the version number notified from the request source apparatus 20, and the request source Whatever the initial status of the device 20 (the version number of the program to be held and the presence or absence of the holding program), the device 20 will eventually be updated to VER2.1.
(1) When VER1.0 is notified, a command to delete the holding program (VER1.0) of the notification source device 20 is issued.
(2) When “No program” is notified, the “new (all)” program module 5 of the distribution information file 31-4 is distributed.
(3) When VER2.0 is notified, the “add (difference)” program module 4 of the distribution information file 31-3 is distributed.

以下、更に詳細に説明する。
尚、既に図5の説明で述べたことから、本例では、比較順位“03”が最大値nであるので、この場合にはn=3としてステップS15の処理を行うことになる。
This will be described in more detail below.
Since the comparison order “03” is the maximum value n in this example since it has already been described with reference to FIG. 5, in this case, the process of step S15 is performed with n = 3.

まず、最初の一例として、既にVER2.0のプログラムを保持している装置20からの配信要求があった場合には、その版数通知部23によってVER2.0が通知されてくるので、ステップS11の判定がNOでステップS13の判定がYESとなり、比較順位32=“01”の配信情報ファイル31-3が適用されることになる。これより、上記プログラムモジュール4を含む個別情報40を、要求元の装置20へ配信することになる。   First, as a first example, when there is a distribution request from the device 20 that already holds a VER2.0 program, the version number notification unit 23 notifies VER2.0, so step S11. Is NO, the determination in step S13 is YES, and the distribution information file 31-3 with the comparison order 32 = “01” is applied. As a result, the individual information 40 including the program module 4 is distributed to the requesting device 20.

これにより、要求元の装置20では自己のプログラムをVER2.1に更新して、今度はVER2.1が通知されてくることになるので、ステップS11の判定はYESとなり、配信不要通知を送信して(ステップS12)、一連のプログラム更新処理は終了する。   As a result, the requesting device 20 updates its own program to VER2.1, and this time VER2.1 is notified, so the determination in step S11 is YES and a delivery unnecessary notification is transmitted. (Step S12), a series of program update processing ends.

また、例えば、プログラム未登録の装置20からの配信要求があった場合には、“プログラム無し(VER−)”が通知されてくるので、ステップS11,S13の判定はNOとなり、ステップS15の判定はYESとなるので、ステップS31の処理が実行され、比較順位n−1の(本例では上記の通りn=3であるので、比較順位“02”の)配信情報ファイル31-4が適用されることになる。これより、上記プログラムモジュール5を含む個別情報40を、要求元の装置20へ配信することになる。   Further, for example, when there is a distribution request from the unregistered device 20, “No program (VER-)” is notified, so the determinations in steps S11 and S13 are NO, and the determination in step S15. Is YES, the process of step S31 is executed, and the distribution information file 31-4 of the comparison order n-1 (in this example, n = 3 as described above, and the comparison order “02”) is applied. Will be. As a result, the individual information 40 including the program module 5 is distributed to the requesting device 20.

これにより、要求元の装置20では自己のプログラムをVER2.0に更新して、今度はVER2.0が通知されてくることになる。VER2.0が通知された場合の処理は既に述べたので、ここでは説明しない。その後、VER2.1が通知されてきて配信不要通知を返信して処理を終了する。   As a result, the requesting device 20 updates its own program to VER2.0, and this time VER2.0 is notified. Since the processing when VER2.0 is notified has already been described, it will not be described here. Thereafter, VER2.1 is notified, a delivery unnecessary notice is returned, and the process is terminated.

また、例えば、既にVER1.0のプログラムを保持している装置20からの配信要求があった場合には、版数通知部23によってVER1.0が通知されてくるので、ステップS11,S13の判定はNOとなり、ステップS15の判定もNOとなるので、ステップS32の処理が実行され、比較順位nの(本例では上記の通りn=3であるので、比較順位“03”の)配信情報ファイル31-5が適用されることになる。これより、配信情報ファイル31-5における図示の適用版数41=VER1.0、処理種別42=“削除”の個別情報40、すなわちVER1.0のプログラムの削除を指示する情報が、要求元の装置20へ配信される。   Also, for example, when there is a distribution request from the device 20 that already holds the VER1.0 program, the version number notification unit 23 notifies VER1.0, so the determinations in steps S11 and S13 are made. Is NO, and the determination in step S15 is also NO. Therefore, the process of step S32 is executed, and the distribution information file with the comparison order n (in this example, n = 3 as described above, so the comparison order is “03”). 31-5 will apply. As a result, in the distribution information file 31-5, the indicated version number 41 = VER1.0 and the individual information 40 of the processing type 42 = “delete”, that is, information instructing the deletion of the VER1.0 program is the request source. Delivered to the device 20.

これに応じて、要求元の装置20は、自己が保持するVER1.0のプログラムを削除する処理を行う。これにより、この装置20はプログラム無しの状態となるので、この装置20から今度は“プログラム無し(VER−)”が通知されてくることになる。“プログラム無し(VER−)”が通知された場合の処理は、既に述べたので、ここでは説明しない。また、これによって更に今度はVER2.0が通知されてくるが、VER2.0が通知された場合の処理も既に述べたので、ここでは説明しない。その後、VER2.1が通知されてきて配信不要通知を返信して処理を終了する。   In response to this, the requesting device 20 performs processing for deleting the VER1.0 program held by itself. As a result, the device 20 is in a state of no program, so that the device 20 is notified of "no program (VER-)". Since the processing when “no program (VER−)” is notified has already been described, it will not be described here. Further, this time, VER2.0 is notified this time, but since the processing when VER2.0 is notified has already been described, it will not be described here. Thereafter, VER2.1 is notified, a delivery unnecessary notice is returned, and the process is terminated.

図6(c)に、VER1.0のプログラムを保持している装置20を最新のVER2.1のプログラム保持状態へ更新させる場合の装置20−配信サーバ10間の通信シーケンスを示す。これは、既に説明した通りであるが、図示のように、まず、この装置20は、VER1.0の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10は配信情報ファイル31-5の個別情報40(削除指示)を要求元の装置20へ配信する。これは、上記の通り、装置20は、自己が保持するプログラム(VER1.0)を削除し、プログラム無しの状態となる。   FIG. 6C shows a communication sequence between the apparatus 20 and the distribution server 10 when the apparatus 20 holding the VER1.0 program is updated to the latest VER2.1 program holding state. This has already been described, but as shown in the figure, first, the device 20 transmits a distribution request accompanied by a VER1.0 notification to the distribution server 10, and the distribution server 10 responds to the distribution information. The individual information 40 (deletion instruction) of the file 31-5 is distributed to the requesting device 20. As described above, the apparatus 20 deletes the program (VER1.0) held by itself and enters a state in which there is no program.

よって、装置20は、今度はプログラム無し(“VER−”)の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10はプログラムモジュール5を含む個別情報40を配信する。これより、装置20は、プログラムモジュール5を新規登録することで、VER2.0のプログラムを保持している状態となる。   Therefore, the device 20 transmits a distribution request with a notification of no program (“VER−”) to the distribution server 10 this time, and the distribution server 10 distributes the individual information 40 including the program module 5 in response to this. As a result, the device 20 is in a state of holding the VER2.0 program by newly registering the program module 5.

続いて、装置20は、今度は版数VER2.0の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10は今度はプログラムモジュール4を含む個別情報40を配信する。これより、装置20は、プログラムモジュール4を既存プログラム(VER2.0)に追加する処理を行うことで、自己のプログラムをVER2.1へと更新することになる。   Subsequently, the device 20 transmits a distribution request accompanied by a notification of the version number VER2.0 to the distribution server 10, and in response to this, the distribution server 10 distributes the individual information 40 including the program module 4 this time. Accordingly, the apparatus 20 updates its own program to VER2.1 by performing a process of adding the program module 4 to the existing program (VER2.0).

そして更に、装置20は、今度は版数VER2.1の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10は今度は配信不要通知を返信し、これによって一連のプログラム更新処理は終了する。   Further, the device 20 transmits a distribution request with a notification of the version number VER2.1 to the distribution server 10 in response, and in response to this, the distribution server 10 returns a distribution unnecessary notification this time, thereby a series of programs. The update process ends.

尚、上記プログラムモジュール4はプログラムモジュール1と同じであり、プログラムモジュール5はプログラムモジュール3と同じであると考えてよい。
以上説明したように、本手法では、任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムに関して、各処理端末のプログラムを所定の版数(上記の例では更新版数VER.2.1)へと更新させたい場合に、一旦何らかの途中状態へと更新させる必要がある場合でも、段階的にその都度必要な配信情報を配信して更新させて最終的に所定の更新版数へと更新させることができる。
Note that the program module 4 is the same as the program module 1, and the program module 5 may be considered the same as the program module 3.
As described above, in this technique, a plurality of processing terminals that hold and execute arbitrary programs and a distribution server are connected to a network, and the distribution server updates each processing terminal program online. If you want to update the terminal program to the specified version (updated version VER.2.1 in the above example), even if it is necessary to update it to some intermediate state, the necessary distribution is necessary step by step. Information can be distributed and updated, and finally updated to a predetermined update version number.

単に複数回に分けて配信するだけで済むような単純なケースではなく、何らかの条件を満たしつつ複数回配信する必要がある場合でも、その都度適切な配信情報ファイルを適用する制御を行いつつ段階的に複数回の配信を行うことで対応可能となる。   It is not a simple case where it is only necessary to divide and deliver multiple times, but even if it is necessary to deliver several times while satisfying some conditions, step by step while applying the appropriate distribution information file each time It can be handled by delivering multiple times.

段階的なプログラム更新の過程において発生し得る幾つかの途中状態を定義し、各途中状態に移行するために必要な配信情報(プログラムモジュール群)を格納・管理し、プログラム更新すべき装置20の状況(保持プログラムの版数やプログラムの有無等)に応じて適用する途中状態を判定して、装置20をこの途中状態へ移行させる為の配信情報(個別情報)を当該装置20に配信することで途中状態へと移行させる。そして、この様な途中状態を経て最終的な状態(例えば最新バージョンのプログラムへ更新した状態)へと移行させる。上記途中状態とは、例えば上述したように、最終的な状態や他の途中状態へと移行させる為に必要な特定の状態(上記の例ではVER2.0やプログラム無しの状態等)へと装置20のプログラム格納状態を更新した状態等である。   Define some intermediate states that can occur in the process of gradual program update, store and manage distribution information (program module group) necessary to transition to each intermediate state, and update the program 20 The intermediate state to be applied is determined according to the situation (version number of the holding program, presence / absence of the program, etc.), and distribution information (individual information) for transferring the device 20 to this intermediate state is distributed to the device 20. To shift to the middle state. Then, a transition is made to a final state (for example, a state updated to the latest version of the program) through such an intermediate state. The intermediate state is, for example, as described above, the device to a specific state (VER2.0 or no program state in the above example) necessary for shifting to the final state or another intermediate state. For example, the 20 program storage states are updated.

このようにして、ネットワーク接続された複数の装置20に対するプログラム更新を行う場合において、各装置毎に必要かつ最適な配信順序および配信内容の制御を行う事が可能となる。   In this way, when updating a program for a plurality of devices 20 connected to the network, it is possible to control the distribution order and the distribution contents necessary and optimal for each device.

本例のプログラム配信システム全体の概略構成図である。It is a schematic block diagram of the whole program delivery system of this example. 配信サーバ、装置の構成・機能ブロック図である。FIG. 3 is a configuration / function block diagram of a distribution server and apparatus. 本例の配信情報のデータ構成図である。It is a data block diagram of the delivery information of this example. 配信サーバ(その版数比較部)の処理フローチャート図である。It is a process flowchart figure of a delivery server (its version number comparison part). 具体例(その1)であり、(a)は版数の遷移、(b)は配信情報パッケージの内容、(c)は通信シーケンスの一例である。This is a specific example (part 1), where (a) is a version number transition, (b) is the content of a distribution information package, and (c) is an example of a communication sequence. 具体例(その2)であり、(a)は版数の遷移、(b)は配信情報パッケージの内容、(c)は通信シーケンスの一例である。It is a specific example (part 2), where (a) is a version number transition, (b) is the content of a distribution information package, and (c) is an example of a communication sequence.

符号の説明Explanation of symbols

1 ネットワーク
10 配信サーバ
11 通信部
12 配信情報記憶装置
13 版数比較部
14 配信情報送信部
15 配信情報登録部
20 装置
21 通信部
22 プログラムメモリ
23 版数通知部
24 配信情報処理部
30 配信情報パッケージ
31 配信情報ファイル
32 比較順位
33 更新版数
40 個別情報
41 適用版数
42 処理種別
43 プログラムモジュール
1 Network 10 Distribution Server 11 Communication Unit 12 Distribution Information Storage Device 13 Version Number Comparison Unit 14 Distribution Information Transmission Unit 15 Distribution Information Registration Unit 20 Device 21 Communication Unit 22 Program Memory 23 Version Number Notification Unit 24 Distribution Information Processing Unit 30 Distribution Information Package 31 Distribution information file 32 Comparison order 33 Update version number 40 Individual information 41 Application version number 42 Processing type 43 Program module

Claims (7)

任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムであって、
前記各処理端末は、自端末が現在保持するプログラムの版数情報を前記配信サーバに通知する版数通知手段を備え、
前記配信サーバは、
それぞれに順位が与えられた複数の配信情報ファイルを有し、各配信情報ファイルには前記処理端末のプログラムを所定の更新版数へと更新させる為のプログラムモジュールが格納されており、最終的な更新版数へと更新させる為のプログラムモジュールが格納されている配信情報ファイルの前記順位が最も高い順位となっている配信情報記憶手段と、
前記版数通知手段からの版数情報を受信すると、その更新版数が該版数情報と一致する配信情報ファイルがある場合には該配信情報ファイルより前記順位が1つ高い配信情報ファイルを適用し、その更新版数が該版数情報と一致する配信情報ファイルが無い場合には前記順位が最も低い配信情報ファイルを適用して、該適用する配信情報ファイルのプログラムモジュールを前記版数情報通知元の処理端末へ配信するプログラムモジュール選択・配信手段とを有し、
前記各処理端末は、該配信されたプログラムモジュールを用いて自端末のプログラムを更新する更新手段を更に有し、
前記版数通知手段は、該更新手段によるプログラム更新後、該更新後のプログラムの版数情報を前記配信サーバに通知することを特徴とするプログラム配信システム。
A system in which a plurality of processing terminals holding and executing arbitrary programs and a distribution server are connected to a network, and the distribution server updates a program of each processing terminal online,
Each processing terminal includes version number notification means for notifying the distribution server of version number information of a program currently held by the terminal.
The distribution server
Each distribution information file has a plurality of distribution information files each assigned a rank, and each distribution information file stores a program module for updating the program of the processing terminal to a predetermined update version number. A distribution information storage means in which the rank of the distribution information file storing the program module for updating to the updated version number is the highest;
When the version number information from the version number notifying means is received, if there is a distribution information file whose updated version number matches the version number information, the distribution information file whose rank is one higher than the distribution information file is applied. If there is no distribution information file whose updated version number matches the version number information, the distribution information file having the lowest order is applied, and the program module of the distribution information file to be applied is notified of the version number information. A program module selection / distribution means for distributing to the original processing terminal;
Each of the processing terminals further includes an updating unit that updates the program of the own terminal using the distributed program module,
The version number notifying unit notifies the distribution server of version number information of the updated program after the program is updated by the updating unit.
前記配信情報ファイルとして、前記プログラムモジュールが無く削除命令が格納された、前記更新版数が“プログラム無し”となっている配信情報ファイルも存在し、プログラムモジュール選択・配信手段は、この配信情報ファイルが適用された場合には前記削除命令を前記処理端末へ配信し、
該削除命令を受信した処理端末は、自端末の保持プログラムを削除すると共に前記版数通知手段によって前記版数情報として“プログラム無し”を通知することを特徴とする請求項1記載のプログラム配信システム。
As the distribution information file, there is a distribution information file in which the program module is not present and a deletion instruction is stored, and the update version number is “no program”. Is applied, the delete command is delivered to the processing terminal,
2. The program distribution system according to claim 1, wherein the processing terminal that has received the deletion instruction deletes the program held by the terminal and notifies the version number notifying means of “no program” as the version number information. .
前記各配信情報ファイルには、それぞれが所定の版数に対応して該版数から前記更新版数へとプログラム更新させる為の複数のプログラムモジュールが格納されており、
前記プログラムモジュール選択・配信手段は、前記適用する配信情報ファイルの複数のプログラムモジュールのうち、前記版数通知手段から通知された版数に対応するプログラムモジュールを選択して処理端末へ配信することを特徴とする請求項1または2記載のプログラム配信システム。
Each distribution information file stores a plurality of program modules for updating a program from the version number to the updated version number, corresponding to a predetermined version number,
The program module selection / distribution means selects a program module corresponding to the version number notified from the version number notification means from among a plurality of program modules of the distribution information file to be applied, and distributes the selected program module to the processing terminal. The program distribution system according to claim 1 or 2, characterized in that
前記各プログラムモジュールに対応付けて処理種別が登録されており、前記プログラムモジュール選択・配信手段は、前記プログラムモジュール配信の際に該プログラムモジュールに対応する処理種別も送信し、
前記処理端末は、前記配信されたプログラムモジュールを用いた自端末のプログラム更新処理を、受信した処理種別に応じて行うことを特徴とする請求項1〜3の何れかに記載のプログラム配信システム。
A processing type is registered in association with each program module, and the program module selection / distribution means also transmits a processing type corresponding to the program module at the time of the program module distribution,
The program distribution system according to claim 1, wherein the processing terminal performs a program update process of the terminal using the distributed program module according to the received processing type.
前記処理端末は、前記処理種別に応じて、前記配信されたプログラムモジュールを自端末の保持プログラムに対する差分としてマージする処理、あるいは前記配信されたプログラムモジュールを新規登録プログラムとして自端末の保持プログラムと置き換える処理を行うことを特徴とする請求項4記載のプログラム配信システム。   In accordance with the processing type, the processing terminal merges the distributed program module as a difference with respect to the holding program of the own terminal, or replaces the distributed program module with the holding program of the own terminal as a new registration program. 5. The program distribution system according to claim 4, wherein processing is performed. 任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムにおける前記配信サーバであって、
それぞれに順位が与えられた複数の配信情報ファイルを有し、各配信情報ファイルには前記処理端末のプログラムを所定の更新版数へと更新させる為のプログラムモジュールが格納されており、最終的な更新版数へと更新させる為のプログラムモジュールが格納されている配信情報ファイルの前記順位が最も高い順位となっている配信情報記憶手段と、
任意の前記処理端末からその端末が保持するプログラムの版数情報が通知されてくると、その更新版数が該版数情報と一致する配信情報ファイルがある場合には該配信情報ファイルより前記順位が1つ高い配信情報ファイルを適用し、その更新版数が該版数情報と一致する配信情報ファイルが無い場合には前記順位が最も低い配信情報ファイルを適用して、該適用する配信情報ファイルのプログラムモジュールを前記版数情報通知元の処理端末へ配信するプログラムモジュール選択・配信手段と、
を有することを特徴とする配信サーバ。
A plurality of processing terminals holding and executing an arbitrary program and a distribution server are connected to a network, and the distribution server is the distribution server in a system that updates a program of each processing terminal online,
Each distribution information file has a plurality of distribution information files each assigned a rank, and each distribution information file stores a program module for updating the program of the processing terminal to a predetermined update version number. A distribution information storage means in which the rank of the distribution information file storing the program module for updating to the updated version number is the highest;
When the version information of the program held by the terminal is notified from any of the processing terminals, if there is a distribution information file whose updated version number matches the version number information, the rank is determined from the distribution information file. Is applied to the distribution information file, and if there is no distribution information file whose updated version number matches the version number information, the distribution information file having the lowest order is applied, and the distribution information file to be applied is applied. Program module selection / distribution means for distributing the program module to the processing terminal of the version number information notification source,
A distribution server characterized by comprising:
任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムにおける前記配信サーバのコンピュータを、
それぞれに順位が与えられた複数の配信情報ファイルを有し、各配信情報ファイルには前記処理端末のプログラムを所定の更新版数へと更新させる為のプログラムモジュールが格納されており、最終的な更新版数へと更新させる為のプログラムモジュールが格納されている配信情報ファイルの前記順位が最も高い順位となっている配信情報記憶手段と、
任意の前記処理端末からその端末が保持するプログラムの版数情報が通知されてくると、その更新版数が該版数情報と一致する配信情報ファイルがある場合には該配信情報ファイルより前記順位が1つ高い配信情報ファイルを適用し、その更新版数が該版数情報と一致する配信情報ファイルが無い場合には前記順位が最も低い配信情報ファイルを適用して、該適用する配信情報ファイルのプログラムモジュールを前記版数情報通知元の処理端末へ配信するプログラムモジュール選択・配信手段、
として機能させるためのプログラム。
A computer of the distribution server in a system in which a plurality of processing terminals holding and executing an arbitrary program and a distribution server are connected to a network, and the distribution server updates the program of each processing terminal online,
Each distribution information file has a plurality of distribution information files each assigned a rank, and each distribution information file stores a program module for updating the program of the processing terminal to a predetermined update version number. A distribution information storage means in which the rank of the distribution information file storing the program module for updating to the updated version number is the highest;
When the version information of the program held by the terminal is notified from any of the processing terminals, if there is a distribution information file whose updated version number matches the version number information, the rank is determined from the distribution information file. Is applied to the distribution information file, and if there is no distribution information file whose updated version number matches the version number information, the distribution information file having the lowest order is applied, and the distribution information file to be applied is applied. Program module selection / distribution means for distributing the program module to the processing terminal of the version number information notification source,
Program to function as.
JP2008223387A 2008-09-01 2008-09-01 Program distribution system, distribution server and program Expired - Fee Related JP5051070B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008223387A JP5051070B2 (en) 2008-09-01 2008-09-01 Program distribution system, distribution server and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008223387A JP5051070B2 (en) 2008-09-01 2008-09-01 Program distribution system, distribution server and program

Publications (2)

Publication Number Publication Date
JP2010061204A true JP2010061204A (en) 2010-03-18
JP5051070B2 JP5051070B2 (en) 2012-10-17

Family

ID=42187963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008223387A Expired - Fee Related JP5051070B2 (en) 2008-09-01 2008-09-01 Program distribution system, distribution server and program

Country Status (1)

Country Link
JP (1) JP5051070B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011237861A (en) * 2010-05-06 2011-11-24 Canon Inc Information processor, firmware application method, and computer program
JP2012088825A (en) * 2010-10-18 2012-05-10 Brother Ind Ltd Update system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011237861A (en) * 2010-05-06 2011-11-24 Canon Inc Information processor, firmware application method, and computer program
US8943495B2 (en) 2010-05-06 2015-01-27 Canon Kabushiki Kaisha Information processing apparatus and firmware application method
JP2012088825A (en) * 2010-10-18 2012-05-10 Brother Ind Ltd Update system

Also Published As

Publication number Publication date
JP5051070B2 (en) 2012-10-17

Similar Documents

Publication Publication Date Title
CN110300984B (en) Changing smart contracts recorded in a blockchain
CN105100259A (en) Distributed timed task execution method and system
CN1790266B (en) Method and system for downloading updates
US8055496B2 (en) Ensuring product correctness in a multilingual environment
RU2408063C2 (en) Updated distribution architecture and method of distributing software
CN105635216B (en) Upgrade method, equipment and the distributed system of Distributed Application
CN102541941A (en) Version management control method for multiple parties to co-operate file
KR20170016347A (en) Enhanced updating for digital content
CN110535776B (en) Gateway current limiting method, device, gateway, system and storage medium
CN105930197A (en) Software upgrading method and electronic equipment
CN109857423A (en) Program version update method, device, server and readable storage medium storing program for executing
CN105516230A (en) Data processing method and device
CN107533604B (en) Method and apparatus for single sign-on for broker-less applications
CN100375427C (en) Cluster device batch file transmitting method and file transmission device
US9430218B2 (en) Apparatus and method of executing update, recording medium using the same, and server and method of providing update
CN107463390B (en) Software upgrading method and upgrading server
US20170300553A1 (en) System and methodology for propagating modifications in key-value pairs across a cluster of computers
CN103078805B (en) Make the system and method reading the expansion of performance support level of Zookeeper
JP5051070B2 (en) Program distribution system, distribution server and program
CN105391755A (en) Method and device for processing data in distributed system, and system
CN103220336B (en) The implementation method of vector clock and system in a kind of file synchronization
JP6581155B2 (en) Unnecessary file detection device, unnecessary file detection method and unnecessary file detection program
US20150234866A1 (en) Data Distribution System
CN110096295A (en) The hot update method and system of multimode mobile application based on ReactNative
JP5787688B2 (en) Server apparatus, client apparatus, information processing method, and program

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