JP4770242B2 - Software update information distribution system and software update information distribution method - Google Patents

Software update information distribution system and software update information distribution method Download PDF

Info

Publication number
JP4770242B2
JP4770242B2 JP2005110512A JP2005110512A JP4770242B2 JP 4770242 B2 JP4770242 B2 JP 4770242B2 JP 2005110512 A JP2005110512 A JP 2005110512A JP 2005110512 A JP2005110512 A JP 2005110512A JP 4770242 B2 JP4770242 B2 JP 4770242B2
Authority
JP
Japan
Prior art keywords
distribution
information
terminal
update
software
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
Application number
JP2005110512A
Other languages
Japanese (ja)
Other versions
JP2006293512A (en
Inventor
まり子 栗原
良三 清原
拓 渡部
寛之 古嶋
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005110512A priority Critical patent/JP4770242B2/en
Publication of JP2006293512A publication Critical patent/JP2006293512A/en
Application granted granted Critical
Publication of JP4770242B2 publication Critical patent/JP4770242B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、端末にインストールされているソフトウェアのバージョンアップに関するものである。   The present invention relates to version upgrade of software installed in a terminal.

配布サーバとターゲット端末間に中間サーバを配置したソフトウェアの2次配布については、例えば、配布サーバの負荷削減、中間サーバのリソース節約を図りながら、多数のターゲット端末のソフトウェアのバージョンアップを効率化する技術が示されている。
しかし、中間サーバ配下のターゲット端末間で使用するソフトウェアバージョンは同一版とすることを前提としており、個々のターゲット端末で異なるバージョンを使用するケースについては開示されていない。また、差分情報の配布によるバージョンアップや、ソフトウェアが複数コンポーネント構成である場合の方法についても開示されていない(例えば、特許文献1)。
For secondary distribution of software in which an intermediate server is arranged between the distribution server and the target terminal, for example, the software upgrade of many target terminals is made more efficient while reducing the load on the distribution server and saving resources of the intermediate server. Technology is shown.
However, the software version used between the target terminals under the intermediate server is assumed to be the same version, and a case where a different version is used for each target terminal is not disclosed. Also, there is no disclosure of version upgrade by distribution of difference information or a method when software has a multi-component configuration (for example, Patent Document 1).

また、中間サーバを配置したソフトウェア配布において、配布サーバと中間サーバ間でバージョン間・ファイル間等の差分情報を送付することで、ネットワーク負荷を軽減し、他のアプリケーションの実行の妨げとなる危険を回避する技術についても示されている。
しかし、差分情報の生成は配布サーバ上で行い、中間サーバに配布するものとしており、必要に応じて中間サーバ上で作成する技術については開示されていない。また、 ソフトウェアが複数コンポーネント構成である場合の方法についても開示されていない(例えば、特許文献2)。
特開平9−146861号公報 特開2003−99297号公報
Also, in software distribution with an intermediate server, sending difference information between versions and files between the distribution server and the intermediate server reduces the network load and prevents other applications from being executed. Techniques to avoid are also shown.
However, the difference information is generated on the distribution server and distributed to the intermediate server, and a technique for creating the difference information on the intermediate server as necessary is not disclosed. In addition, a method in which the software has a multi-component configuration is not disclosed (for example, Patent Document 2).
Japanese Patent Laid-Open No. 9-146861 JP 2003-99297 A

比較的大規模なソフトウェアにおいては、複数のコンポーネントから構成される傾向にある。コンポーネントとは、1つのまとまった機能単位として提供されるもので、特に大規模なソフトウェアなどで多く見られる形態であり、ソフトウェアを機能単位で部品化し、独立性・共有化/再利用性を高めることでソフトウェア開発・保守を効率化できるといった利点がある。
複数のコンポーネント構成を持つソフトウェアはこれらのコンポーネントを組み合わせた形でリリースされる。
なおこのような複数コンポーネントからなるソフトウェアの開発は、通常、コンポーネント単位で行われるため、バージョンアップの実施タイミングもコンポーネント間で異なるケースが多い。
A relatively large-scale software tends to be composed of a plurality of components. Components are provided as a single functional unit, and are often found in large-scale software, etc .. Software is divided into functional units to increase independence, sharing / reusability. This has the advantage that software development and maintenance can be made more efficient.
Software having a plurality of component configurations is released by combining these components.
Note that development of such software composed of a plurality of components is usually performed in units of components, and therefore, the timing of version upgrade is often different among components.

また、使用するコンポーネント間には通常バージョンの依存関係あることが多い。この場合、各コンポーネントは適切なバージョンの組み合わせで使用しないと、正常に動作しない場合もありうる。このような場合、ソフトウェアのバージョンアップ時においては、各コンポーネントのバージョン依存関係に従い適切なバージョンのコンポーネントを選択する必要があり、運用手続きが煩雑化する。
さらに、中間サーバ配下の端末で使用するソフトウェアのバージョンが単一ではなく異なる複数バージョンを使用する運用においては、バージョンアップする新版のバージョンが端末間で同一でない場合もありうる。そのため、同じユーザ拠点内の端末でも、バージョンアップ時の更新パターン(旧版と新版のソフトウェアのバージョンの組み合わせ)が複数となる(端末により異なる)場合が生じ、運用が一層煩雑となる。
また、このような複数コンポーネント構成を持つソフトウェアはサイズが大きくなる傾向がある。バージョンアップする場合、必要コンポーネントを配布サーバから取得すれば良いが、サイズの面から、このように複数コンポーネントで構成されるソフトウェアバージョンアップデータの配布にはネットワークへの負荷が増大することが懸念される。
Also, there are often normal version dependencies between components used. In this case, each component may not operate normally unless it is used in an appropriate version combination. In such a case, when upgrading the software, it is necessary to select an appropriate version of the component according to the version dependency of each component, and the operation procedure becomes complicated.
Further, in an operation using a plurality of different versions of software used in terminals under the intermediate server, there may be cases where the new version to be upgraded is not the same between the terminals. Therefore, even in terminals in the same user base, there are cases where there are a plurality of update patterns (combination of old and new software versions) at the time of version upgrade (depending on the terminal), and the operation becomes more complicated.
In addition, software having such a multiple component configuration tends to increase in size. When upgrading, it is sufficient to acquire the necessary components from the distribution server. However, there is a concern that the distribution of software upgrade data composed of multiple components will increase the load on the network from the viewpoint of size. .

本発明は上記のような問題点を解決するためになされたもので、配布サーバから中間サーバに配布するデータは、各コンポーネントのバージョン間差分データとし、転送データ量を抑え、両者間のネットワーク負荷の軽減を図る。
また、配布サーバは、各コンポーネント毎のバージョン間差分情報と、各ソフトウェアのバージョン毎に必要なコンポーネントとそのバージョン情報のみを提供・管理するだけでよく、各端末にインストールされたソフトウェアのあらゆるコンポーネント構成を考慮したバージョンアップデータを用意する必要はなく、サーバ運用の作業負荷軽減を図る。
The present invention has been made to solve the above-described problems, and the data distributed from the distribution server to the intermediate server is the difference data between the versions of each component, the amount of transfer data is suppressed, and the network load between the two is reduced. To alleviate
In addition, the distribution server only needs to provide and manage the difference information between versions for each component, the necessary components for each software version, and its version information, and any component configuration of the software installed on each terminal. It is not necessary to prepare version upgrade data that considers the above, and the workload of server operations is reduced.

さらに、中間サーバは、配下の端末に必要なコンポーネントのみの差分情報を取得、新版配布イメージ作成、端末へ配布を行なうことで、配布サーバや中間サーバのリソース節約及びネットワーク負荷の軽減を図る。またこれと同時に、端末間で複数バージョンのソフトウェアを混在使用するケースや、直接配布サーバにアクセスすることが出来ない端末が存在するケースでのバージョンアップ業務を簡易・効率的に行なうことを実現する。   Furthermore, the intermediate server obtains difference information of only components necessary for the subordinate terminals, creates a new distribution image, and distributes the information to the terminals, thereby saving resources of the distribution server and the intermediate server and reducing the network load. At the same time, it is possible to easily and efficiently carry out version upgrade work in cases where multiple versions of software are used in a mixed manner between terminals and when there are terminals that cannot directly access the distribution server. .

また、中間サーバから端末に、バージョンアップのためのバージョン間差分データを送付し、これを受信した端末上で差分適用による新版の配布イメージ作成及びインストールを行なうことで、中間サーバから端末に配布するバージョンアップ用データのサイズを抑制し、両者間のネットワーク負荷を削減することができる。
さらに、中間サーバと配布サーバ間のネットワーク負荷を削減することができる。
In addition, the inter-version difference data for version upgrade is sent from the intermediate server to the terminal, and a new version distribution image is created and installed by applying the difference on the terminal that has received the data, and distributed from the intermediate server to the terminal. The size of the upgrade data can be suppressed, and the network load between the two can be reduced.
Furthermore, the network load between the intermediate server and the distribution server can be reduced.

この発明に係るソフトウェア更新情報配布システムは、ソフトウェアを更新する新旧ソフトウェアの差分情報が保存された配布サーバと、インストールされたソフトウェアの更新要求を中間サーバに送信し、前記中間サーバから受信した配布パッケージを前記インストールされたソフトウェアに適用して更新する端末と、過去のソフトウェア更新に利用された更新情報と前記差分情報とを過去更新情報と過去差分情報として保持する更新情報保持手段と、前記端末により前記更新要求が送信された時にこの更新要求に対応した前記過去更新情報と前記過去差分情報とが前記更新情報保持手段に存在しない場合に前記配布サーバに保存された前記差分情報の中から前記更新要求に対応した差分情報を取得する差分情報取得手段と、前記差分情報取得手段により取得された前記差分情報と前記過去更新情報とに基づいて前記更新要求に対応した前記更新情報を生成する更新情報生成手段と、前記更新情報生成手段により生成された前記更新情報とこの更新情報を前記端末にインストールする手順とがパッケージされた配布パッケージを生成する配布パッケージ生成手段と、前記配布パッケージ生成手段により生成された配布パッケージを前記端末に送信する配布パッケージ送信手段とを有する前記中間サーバと、を備えたものである。 The software update information distribution system according to the present invention includes a distribution server in which difference information between new and old software for updating software is stored , and a distribution package received from the intermediate server that transmits an update request for installed software to the intermediate server. the applied to the installed software and the terminal to be updated, the update information holding means past update information used for software update and the difference information held by the past updating information and past difference information, wherein If the past update information corresponding to the update request and the past difference information do not exist in the update information holding means when the update request is transmitted by the terminal, the difference information stored in the distribution server Difference information acquisition means for acquiring difference information corresponding to the update request, and the difference information Update information generating means for generating the update information corresponding to the update request based the difference information acquired by the obtained means and to said last update information, and the update information the update information generated by the generating means the It said having a distribution package generation means and procedures for installing the update information to the terminal to generate a distribution package packaged, the package and distribute transmitting means for transmitting a distribution package generated by the distribution package generating unit to the terminal And an intermediate server.

この発明は、中間サーバが、端末によりソフトウェアの更新要求が送信された時にこの更新要求に対応した過去更新情報と過去差分情報とを自らが保存していない場合にソフトウェアを更新する新旧ソフトウェアの差分情報が保存された配布サーバから更新要求に対応した差分情報を取得し、この差分情報に基づいて更新要求に対応した更新情報を生成し、この生成した更新情報とこの更新情報を端末にインストールする手順とがパッケージされた配布パッケージを生成し、この配布パッケージを端末に送信することにより、中間サーバが端末のソフトウェアの更新のための情報を配布サーバや端末へ最小限のアクセス及び最小限の情報量により行なうことできるので、ネットワークの負荷削減ができ、端末のソフトウェアの更新を短時間に効率よく実行することができる。   The present invention provides a difference between old and new software in which an intermediate server updates software when it does not store past update information and past difference information corresponding to this update request when a software update request is transmitted from a terminal. The difference information corresponding to the update request is acquired from the distribution server storing the information, the update information corresponding to the update request is generated based on the difference information, and the generated update information and the update information are installed in the terminal By generating a distribution package in which procedures are packaged and sending this distribution package to the terminal, the intermediate server transmits information for updating the terminal software to the distribution server or terminal with minimal access and minimum information. Network load can be reduced, and terminal software can be updated in a short time. It is possible to run rate well.

実施の形態1.
図1は、実施の形態1のソフトウェア2次配布システムの構成図である。
図に示すように、ソフトウェア2次配布システムは、ソフトウェアを配布するための配布サーバ100と、これとネットワークで接続された1台以上の中間サーバ200が存在する。また、中間サーバ200の配下には、1台以上の端末300(端末300a、端末300b、端末300c、・・・)が存在する。中間サーバ200と配下の端末300は、ネットワークで接続されたオンライン状態と、ネットワーク接続されていないオフライン状態の2種類の状態で存在する。
Embodiment 1 FIG.
FIG. 1 is a configuration diagram of a software secondary distribution system according to the first embodiment.
As shown in the figure, the software secondary distribution system includes a distribution server 100 for distributing software and one or more intermediate servers 200 connected to the distribution server 100 via a network. Further, one or more terminals 300 (terminal 300a, terminal 300b, terminal 300c,...) Exist under the intermediate server 200. The intermediate server 200 and the subordinate terminal 300 exist in two types of states: an online state connected via a network and an offline state not connected to a network.

端末300には、配布サーバ100で配布するソフトウェアがインストールされており、ユーザがこれらのソフトウェアを利用している。
なお、図中では中間サーバ200は1台しか図示していないが、1台以上の構成とし、各中間サーバ200はそれぞれ、上記のように配下に1台以上の端末300がオンライン状態あるいはオフライン状態で接続されているものとする。
Software distributed by the distribution server 100 is installed in the terminal 300, and the user uses these software.
Although only one intermediate server 200 is shown in the figure, the configuration is one or more, and each intermediate server 200 has one or more terminals 300 in the online state or offline state as described above. It shall be connected with.

次に、コンポーネントの一般概要について説明する。
図2は、配布対象となるソフトウェアの構成と更新状況(更新履歴)の説明図である。
配布対象となるソフトウェアは複数のコンポーネントにより構成され、本実施の形態ではComp1、Comp2という名称の2つのコンポーネントから構成されている。
一般的に、コンポーネントとは、それぞれがまとまったプログラムの単位であり、ソフトウェアの部品化・再利用性を高め、開発・保守の効率化を図るために導入された考え方である。
Next, a general outline of components will be described.
FIG. 2 is an explanatory diagram of the configuration and update status (update history) of software to be distributed.
The software to be distributed is composed of a plurality of components. In this embodiment, the software is composed of two components named Comp1 and Comp2.
In general, a component is a unit of a program, and is a concept introduced in order to improve software componentization / reusability and improve the efficiency of development / maintenance.

1つのコンポーネントに相当するプログラム実体は、1つ以上のプログラムファイルから構成され、プログラムから参照される1つ以上のデータファイルが含まれる場合もありうるものとする。また、コンポーネントは個別にバージョンアップを行っており、バージョンアップの実施タイミングはコンポーネント間で異なる場合がありうるものとする。さらに、各コンポーネントはコンポーネント間でバージョンの依存関係があり、各コンポーネントは正しいバージョンの組み合わせでないと正常に動作しない場合もありうるものとする。   A program entity corresponding to one component is composed of one or more program files, and may include one or more data files referred to by the program. In addition, the components are upgraded individually, and the timing of performing the upgrade may be different between components. Furthermore, each component has a dependency relationship between components, and each component may not operate normally unless it is a combination of correct versions.

次に、本実施の形態のソフトウェアのコンポーネントについて説明する。
本実施の形態では、例えば、Comp2は他のソフトウェアでも利用されるコンポーネント(共通コンポーネントとする)であり、Comp1はこのソフトウェアのみで使用するコンポーネント(専用コンポーネントとする)といった性質を持つコンポーネントと考えても良い。従って、共通コンポーネントComp2は、Comp1以外の専用コンポーネントと組み合わせ他のソフトウェアとして利用することも可能性である。
Next, software components of the present embodiment will be described.
In this embodiment, for example, Comp2 is a component that is also used by other software (assumed to be a common component), and Comp1 is a component that has a property of being used only by this software (dedicated component). Also good. Therefore, the common component Comp2 can be combined with a dedicated component other than Comp1 and used as other software.

次に、本実施の形態のソフトウェアのコンポーネントのリリース状況について説明する。
図2に示すように、Comp1とComp2はバージョン8.0Aを同時にリリースしており、現在各コンポーネントのバージョンは、Comp1は8.0Aから8.3Dまでの4種類のバージョン、Comp2は8.0Aと8.1Bの2種類のバージョンがリリースされている。
専用コンポーネントComp1は共通コンポーネントComp2を必要とする。また両者はバージョンに関して依存関係があり、Comp18.0AはComp2の8.0Aを前提として開発されたものである。
Next, the release status of the software components of this embodiment will be described.
As shown in FIG. 2, Comp1 and Comp2 released version 8.0A at the same time. Currently, each component version is Comp1 in four versions from 8.0A to 8.3D, and Comp2 is 8.0A. And 8.1B versions have been released.
The dedicated component Comp1 requires the common component Comp2. In addition, both have a dependency relationship between versions, and Comp18.0A was developed on the premise of 8.0A of Comp2.

なお、Comp1は8.0Aリリース後、8.1B、8.2C、8.3Dと3回のバージョンアップを実施している。一方、その間Comp2は8.1Bと1回だけバージョンアップを実施している。このため、Comp1のComp2とのバージョン依存関係は、Comp1が8.0A〜8.1BまではComp2は8.0Aで、Comp1が8.2CからはComp2は8.1Bのリリース後ということもあり、Comp2は8.1Bとなっているものとする。   Comp1 has been upgraded three times to 8.1B, 8.2C, and 8.3D after the release of 8.0A. Meanwhile, Comp2 has been upgraded only once to 8.1B. For this reason, the version dependency relationship between Comp1 and Comp2 is that Comp1 is 8.0A to 8.1B, Comp2 is 8.0A, and Comp1 is 8.2C, and Comp2 is 8.1B after the release. , Comp2 is assumed to be 8.1B.

次に、本実施の形態のソフトウェアの更新パターンについて説明する。
図2に示す端末300a、端末300bの2台の端末をバージョンアップするケースを例に説明する。本実施の形態でのバージョンタイミングは以下のとおりとする。
端末300aは、前回バージョンアップにより、現在Comp1が8.1B、Comp2が8.0Aの状態である。また、端末300bは、前回バージョンアップにより、現在Comp1が8.2C、Comp2が8.1Bの状態である。
今回のバージョンアップは、端末300a、端末300bの2台共、Comp1が8.3D、Comp2が8.1Bのそれぞれ最新版に更新するケースを例に説明する。
Next, a software update pattern according to this embodiment will be described.
An example will be described in which two terminals, the terminal 300a and the terminal 300b shown in FIG. 2, are upgraded. The version timing in this embodiment is as follows.
The terminal 300a is currently in a state where Comp1 is 8.1B and Comp2 is 8.0A due to the previous version upgrade. The terminal 300b is currently in a state where Comp1 is 8.2C and Comp2 is 8.1B due to the previous version upgrade.
This version upgrade will be described by taking as an example a case where both the terminal 300a and the terminal 300b are updated to the latest version of Comp1 is 8.3D and Comp2 is 8.1B.

まず、配布サーバ100の構成について説明する。
図3は、配布サーバ100の構成図である。
配布サーバ100は、構成情報管理手段101と差分情報生成手段102とを有し、構成情報管理手段101は配布対象とするソフトウェアの管理を行っている。具体的にはソフトウェアの各コンポーネントの構成とソフトウェアのバージョンの対応関係が定義された構成情報100aと、ソフトウェアのプログラム実体に相当する配布プログラム100bと、の登録・管理を行っている。また、差分情報生成手段102は、登録された配布プログラム100bの2つのバージョン間の差分情報100cの生成を行なう。
First, the configuration of the distribution server 100 will be described.
FIG. 3 is a configuration diagram of the distribution server 100.
The distribution server 100 includes a configuration information management unit 101 and a difference information generation unit 102, and the configuration information management unit 101 manages software to be distributed. Specifically, the configuration information 100a in which the correspondence between the configuration of each component of the software and the software version is defined, and the distribution program 100b corresponding to the software program entity are registered and managed. Further, the difference information generation means 102 generates difference information 100c between two versions of the registered distribution program 100b.

次に、構成情報100a、配布プログラム100b、差分情報100cについて詳細に説明する。
構成情報100aは、図3に示すとおり、ソフトウェアの各バージョン番号とソフトウェアを構成するコンポーネントのバージョンとの対応関係を定義したテーブル情報である。
なお先に記載したように、Comp1を専用コンポーネント、Comp2を共通コンポーネントとすると、本実施の形態でのバージョンアップ対象とするソフトウェアは、専用コンポーネントであるComp1のバージョンアップの都度、ソフトウェアのバージョン番号が更新され、これに伴ってソフトウェアのバージョンアップが発生することになる。これは次のことによるものである。
Next, the configuration information 100a, the distribution program 100b, and the difference information 100c will be described in detail.
As shown in FIG. 3, the configuration information 100a is table information that defines the correspondence between each version number of software and the version of a component constituting the software.
As described above, when Comp1 is a dedicated component and Comp2 is a common component, the software version number of the software to be upgraded in this embodiment is updated every time the version of Comp1, which is a dedicated component, is upgraded. As a result, a software version upgrade occurs. This is due to the following.

共通コンポーネントであるComp2は、専用コンポーネントであるComp1とは別に独自のスケジュールでバージョンアップがなされる場合もありうるが、Comp2がバージョンアップすると、依存関係にあるComp1もこのバージョンアップに対応するための何らかの改修が必要となる可能性があり、Comp2のみバージョンアップしてもComp1は正常動作しない可能性もある。またComp1が影響を受けず、正常動作しうる場合でも、Comp2だけ個別にバージョンアップするためにソフトウェアのバージョンアップを実施するのは、運用上、手間やコストがかかり、またユーザへの負担も大きくなってしまう。   Comp2 that is a common component may be upgraded on a unique schedule separately from Comp1 that is a dedicated component. However, when Comp2 is upgraded, Comp1 in a dependency relationship also supports this version upgrade. There is a possibility that some modification is required, and even if only Comp2 is upgraded, Comp1 may not operate normally. Also, even if Comp1 is not affected and can operate normally, performing software upgrade in order to individually upgrade only Comp2 is time-consuming and costly for operation, and the burden on the user is large. turn into.

このようにComp1は、Comp2のバージョンに依存するため、Comp1のバージョンアップ時には、Comp2のどのバージョンを対象とするか決定し、動作を保証する必要がある。このため、Comp1を前回リリース後、Comp2がバージョンアップされた場合、通常、期間的に間に合えば次のComp1のバージョンアップで新しいComp2に対応すること、つまりComp1と一緒にComp2もバージョンアップすることを考える。
よって、専用コンポーネントであるComp1をバージョンアップした際にソフトウェアのバージョンも更新され、共通コンポーネントであるComp2がバージョンアップされた場合は、専用コンポーネントであるComp1のバージョンアップのタイミングに合わせて共通コンポーネントであるComp2のバージョンアップも同時に実施するというケースが妥当と考える。
Thus, since Comp1 depends on the version of Comp2, when Comp1 is upgraded, it is necessary to determine which version of Comp2 is targeted and to guarantee the operation. For this reason, when Comp2 is upgraded after the previous release of Comp1, it is usually necessary to support the new Comp2 in the next Comp1 upgrade, that is, to upgrade Comp2 together with Comp1. Think.
Therefore, when the version of Comp1 that is the dedicated component is updated, the version of the software is also updated, and when the version of Comp2 that is the common component is upgraded, it is a common component in accordance with the timing of version upgrade of Comp1 that is the dedicated component. The case where the version upgrade of Comp2 is performed at the same time is considered appropriate.

以上のことにより、構成情報100aの更新タイミングは、Comp1がバージョンアップされ、ソフトウェアのバージョンが更新となる場合とする。
本実施の形態では、Comp1:8.0A、Comp2:8.0Aはバージョン1、Comp1:8.1B、Comp2:8.0Aはバージョン2、・・・と定義しており、最新版はバージョン4で、Comp1が8.3D、 Comp2が8.1Bの対応関係となっている。
As described above, the update timing of the configuration information 100a is set when the version of Comp1 is upgraded and the software version is updated.
In this embodiment, Comp1: 8.0A, Comp2: 8.0A are defined as version 1, Comp1: 8.1B, Comp2: 8.0A are defined as version 2,..., And the latest version is version 4. Thus, Comp1 is 8.3D, and Comp2 is 8.1B.

また、これと同時に、構成情報管理手段101は該当する配布プログラム100bを配布サーバ100に登録するものとする。さらに、この登録後、配布サーバ100は、中間サーバ200に更新した構成情報100aを送信し、バージョンアップのあったことを通知するものとする。
中間サーバ200は、受信した構成情報100aを構成情報200aとして保持し、端末300からバージョンアップ要求があった場合は、保持した構成情報200aを参照してソフトウェアのバージョンに対応した必要コンポーネントのバージョンを確認するものとする。
At the same time, the configuration information management unit 101 registers the corresponding distribution program 100b in the distribution server 100. Furthermore, after this registration, the distribution server 100 transmits the updated configuration information 100a to the intermediate server 200 to notify that the version has been upgraded.
The intermediate server 200 holds the received configuration information 100a as the configuration information 200a, and when there is a version upgrade request from the terminal 300, the intermediate server 200 refers to the stored configuration information 200a to determine the version of the necessary component corresponding to the software version. Shall be confirmed.

次に、配布プログラム100bについて説明する。
図4は、配布プログラム100bの説明図である。
配布プログラム100bは、各コンポーネントの各バージョン毎に生成・登録されるものとする。そしてその実体は、プログラム本体(実行プログラムファイル類、及びこれが参照するデータファイル類)と、このプログラムをインストールするためのインストーラ用ファイル(windowsのレジストリ情報などの動作環境設定情報ファイルやインストールスクリプトファイル)の2種類が含まれる。実体を構成するこれらのファイル群をまとめてプログラムファイルと呼ぶこととする。
Next, the distribution program 100b will be described.
FIG. 4 is an explanatory diagram of the distribution program 100b.
The distribution program 100b is generated and registered for each version of each component. The substance of the program itself (execution program files and data files to which it refers) and an installer file for installing this program (an operating environment setting information file such as Windows registry information or an installation script file) These two types are included. These file groups constituting the entity are collectively called a program file.

配布プログラム100bの配布サーバ100への登録タイミングは、Comp1のバージョンアップタイミング、つまりソフトウェアのバージョンアップタイミングで行われる。その際、構成情報100aも同時に更新を行い、構成情報100aに定義されたソフトウェアのコンポーネントの構成とソフトウェアのバージョンとの対応関係の実体である配布プログラム100bが必ず登録されているものとする。   The registration timing of the distribution program 100b to the distribution server 100 is performed at the upgrade timing of Comp1, that is, the software upgrade timing. At this time, it is assumed that the configuration information 100a is also updated at the same time, and the distribution program 100b, which is the entity of the correspondence between the configuration of the software component defined in the configuration information 100a and the software version, is always registered.

次に、差分情報100cについて説明する。
図5は、差分情報100cの説明図である。
差分情報100cは、差分情報生成手段102によりコンポーネント単位で生成・登録される。差分情報100cの生成は、新旧各版の配布プログラム100b中のプログラムファイルを対象に行なう。
また、差分情報100cの生成・登録のタイミングは、通常は、各コンポーネント毎の配布プログラムが登録された後に、直前の版との差分生成を行なうものとする。あるいは、バージョンアップの運用形態に応じ、最も実施ケースの多い更新パターンで生成する運用としても良い。
Next, the difference information 100c will be described.
FIG. 5 is an explanatory diagram of the difference information 100c.
The difference information 100c is generated and registered in units of components by the difference information generation means 102. The generation of the difference information 100c is performed on the program files in the old and new versions of the distribution program 100b.
In addition, as for the generation / registration timing of the difference information 100c, normally, after the distribution program for each component is registered, the difference generation with the immediately previous version is performed. Or it is good also as operation | use produced | generated by the update pattern with most implementation cases according to the operation | use form of upgrade.

以下、図5に従って、差分情報100cの構成について説明する。
差分情報100cは、更新情報ファイル、バイナリ差分ファイル、追加ファイルの3種類のファイルから構成される。
更新情報ファイルは、バージョンアップ時のファイル更新状況及び各ファイルのインストール先情報を記述したファイルである。ここで、ファイル更新状況とは、旧版ファイルの全ファイルに対する新版での更新状態(更新なし、更新あり、削除のいずれか)及び新版で追加されたファイルの情報(ある場合のみ)で、インストール先情報とは更新ファイル、追加ファイルに関しての端末上でのインストール先ディレクトリを示した情報である。
Hereinafter, the configuration of the difference information 100c will be described with reference to FIG.
The difference information 100c includes three types of files: an update information file, a binary difference file, and an additional file.
The update information file is a file describing a file update status at the time of version upgrade and installation destination information of each file. Here, the file update status refers to the update status (no update, update, or deletion) of all files in the old version file and information about the files added in the new version (only if there are any). The information is information indicating an installation destination directory on the terminal regarding the update file and the additional file.

バイナリ差分ファイルは、配布プログラム100bのプログラムファイルのうち、更新のあったファイルに対しファイル毎に生成され、新旧バージョン間でファイルのバイナリ比較を行い、その結果の差分データを出力したファイルである。
追加ファイルは、旧版には存在せず新版で追加されたファイルが存在する場合のみ含まれる。実体は追加されたファイルそのものとする。
なお、プログラムファイルのうち、インストール用のファイルもバイナリ差分抽出対象としているが、バイナリ差分抽出対象外とし、上記の各ファイルとは別に、インストールファイルとして新版のインストールファイルをそのまま差分情報100bに含める方式としても構わない。
The binary difference file is a file that is generated for each updated file among the program files of the distribution program 100b, compares the files between the old and new versions, and outputs the difference data as a result.
The additional file is included only when there is a file added in the new version but not in the old version. The entity is the added file itself.
Of the program files, the installation file is also targeted for binary difference extraction, but is excluded from the binary difference extraction target, and a new version of the installation file is included as it is in the difference information 100b as an installation file separately from the above files. It does not matter.

次に、中間サーバ200の構成について説明する。
図6は、中間サーバ200の構成図である。
中間サーバ200は、バージョン確認手段201、差分情報取得手段202、配布イメージ生成手段203、配布イメージ保持手段204、配布パッケージ生成手段205、配布パッケージ送信手段206を有する。
また、中間サーバ200は配布サーバ100より構成情報100aを受信し、構成情報200aとして保持する。同様に、配布サーバ100が送信した差分情報100bを差分情報200bとして保持する。
Next, the configuration of the intermediate server 200 will be described.
FIG. 6 is a configuration diagram of the intermediate server 200.
The intermediate server 200 includes a version confirmation unit 201, a difference information acquisition unit 202, a distribution image generation unit 203, a distribution image holding unit 204, a distribution package generation unit 205, and a distribution package transmission unit 206.
Further, the intermediate server 200 receives the configuration information 100a from the distribution server 100 and holds it as the configuration information 200a. Similarly, the difference information 100b transmitted by the distribution server 100 is held as difference information 200b.

配布イメージ生成手段203は、旧版の配布プログラム100b(中間サーバ200上の配布イメージ200c)と上記差分情報200bとに基づいて配布イメージ200cを生成する。なお、配布イメージ200cは、配布サーバ100上の同一コンポーネント・バージョンの配布プログラム100bとは同一であり、端末300のソフトウェアを更新する更新情報となるものである。
また、配布パッケージ生成手段205は、各端末300のバージョンアップに応じた配布パッケージ200dを作成する。作成した配布パッケージ200dを各端末300へそれぞれ配布し、各端末300でそれぞれ配布パッケージ200dを受信してソフトウェアのバージョンアップを行なう。
The distribution image generation unit 203 generates a distribution image 200c based on the old version of the distribution program 100b (distribution image 200c on the intermediate server 200) and the difference information 200b. The distribution image 200c is the same as the distribution program 100b of the same component version on the distribution server 100, and serves as update information for updating the software of the terminal 300.
In addition, the distribution package generation unit 205 creates a distribution package 200d corresponding to the upgrade of each terminal 300. The created distribution package 200d is distributed to each terminal 300, and each terminal 300 receives the distribution package 200d and upgrades the software.

次に、端末のバージョンアップにおける中間サーバ200の動作について説明する。
図7は、端末のバージョンアップ例についての説明図である。
図7のバージョンアップ例に従って、バージョンアップ時におけるソフトウェアの配布手順について説明する。
図1の配布サーバ200の配下に端末として端末300aと300bの2台が存在し、2台の端末で異なるバージョンのソフトウェアを使用している。図3の構成情報100aに示すところのソフトウェアバージョンは、図2に示すように端末300aがバージョン2(Comp1が8.1B、Comp2が8.0A)、端末300bがバージョン3(Comp1は8.2C、Comp2は8.1Bを使用)となっている。
Next, the operation of the intermediate server 200 in upgrading the terminal will be described.
FIG. 7 is an explanatory diagram of a version upgrade example of the terminal.
A software distribution procedure at the time of version upgrade will be described according to the version upgrade example in FIG.
Two terminals 300a and 300b exist as terminals under the distribution server 200 in FIG. 1, and different versions of software are used in the two terminals. As shown in FIG. 2, the software version shown in the configuration information 100a in FIG. 3 is version 2 for the terminal 300a (Comp1 is 8.1B, Comp2 is 8.0A), and the terminal 300b is version 3 (Comp1 is 8.2C). , Comp2 uses 8.1B).

これまで、端末300bでは最新バージョンのソフトウェアを動作させており、端末300aではバックアップ用に最新バージョンより1つ古いバージョンのソフトウェアが動作する運用となっていたとすると、端末300bで最新版であるがために発生しうる未知の障害が発生した場合でも、動作実績のある旧版である端末300aでいつでも動作可能な状態として運用されるような状態になっていた。
しかし、図7に示す今回のバージョンアップでは、ソフトウェアの最新バージョンであるバージョン4(Comp1:8.3D、Comp2:8.1B)がリリース後の時間経過により品質が安定してきた等の理由により、今回は1つ古いバージョンを残す運用はやめ、端末300a、端末300bとも、ソフトウェアを最新のバージョン4にバージョンアップすることとした。
Up to now, if the terminal 300b operates the latest version of software, and the terminal 300a is operated to operate one version of software older than the latest version for backup, the terminal 300b is the latest version. Even when an unknown failure that can occur in the terminal 300a occurs, the terminal 300a, which is an old version with an operation record, is always in an operable state.
However, in this version upgrade shown in FIG. 7, the latest version of the software version 4 (Comp1: 8.3D, Comp2: 8.1B) has become stable due to the passage of time after release, etc. This time, the operation of leaving one old version is stopped, and the software is upgraded to the latest version 4 for both the terminal 300a and the terminal 300b.

端末300aで必要となるコンポーネントは、構成情報200aの定義によると、Comp1の8.3DはComp2が8.1Bである必要があることから、端末300aはComp1が8.1Bから8.3Dへバージョンアップする際、Comp2も8.0Aから8.1Bとバージョンアップする必要がある。
このことから、必要となる差分情報200bは、Comp1が8.1B→8.3Dの差分情報、Comp2が8.0A→8.1Bの差分情報と2種類の差分情報が必要となる。
According to the definition of the configuration information 200a, the component required for the terminal 300a is that the 8.3D of Comp1 needs to be 8.1B, and the terminal 300a is versioned from 8.1B to 8.3D. When upgrading, Comp2 needs to be upgraded from 8.0A to 8.1B.
Therefore, the necessary difference information 200b requires two types of difference information, that is, Comp1 is 8.1B → 8.3D difference information, Comp2 is 8.0A → 8.1B difference information.

一方、端末300bで必要となるコンポーネントは、構成情報200aの定義によると、Comp1が8.2Cに対しComp2は8.1Bがインストールされている状態のため、Comp1を8.3Dにバージョンアップする場合、Comp2は8.1Bが必要だが、Comp2は既に8.1Bであるため、Comp1のみバージョンアップすれば良いことになる。
このことから、必要となる差分情報200bは、Comp1が8.2C→8.3Dの1種類のみとなる。
On the other hand, according to the definition of the configuration information 200a, the component required in the terminal 300b is a state where Comp1 is 8.2C and Comp2 is 8.1B installed. Therefore, when Comp1 is upgraded to 8.3D Comp2 requires 8.1B, but since Comp2 is already 8.1B, only Comp1 needs to be upgraded.
Therefore, the necessary difference information 200b is only one type of Comp1 from 8.2C to 8.3D.

次に、中間サーバ200のバージョンアップの処理について説明する。
図8は、端末300のソフトウェアをバージョンアップする際の中間サーバ200の処理手順を示したフローチャートである。
図8に従い、図7のバージョンアップ例を例に、中間サーバ200で行なうバージョンアップの処理手順について説明する。
本実施の形態では、図7のバージョンアップ例に従い、端末300aと端末300bとを同時にバージョンアップする場合について説明する。
なおここでは、中間サーバ200は、バージョンアップ対象となるソフトウェアを利用しているユーザ拠点内にあり、中間サーバ200と端末300a、端末300bの2台の端末はネットワークで接続されているものとする。
まず、ステップS1で、中間サーバ200のバージョンアップ要求受信手段201は、ユーザが端末300a、端末300bの入力装置あるいは直接中間サーバ200上の入力装置からバージョンアップ対象とする端末情報(端末300aと端末300b)とバージョンアップするバージョン番号とを入力することにより発行されるバージョンアップ要求を受信する。ここで、端末300a、端末300bの入力装置への入力によるバージョンアップ要求はネットワークを介して中間サーバ200に送信される。
Next, the upgrade process of the intermediate server 200 will be described.
FIG. 8 is a flowchart showing the processing procedure of the intermediate server 200 when the software of the terminal 300 is upgraded.
With reference to FIG. 8, the version upgrade processing procedure performed by the intermediate server 200 will be described using the version upgrade example of FIG. 7 as an example.
In the present embodiment, a case will be described in which the terminal 300a and the terminal 300b are simultaneously upgraded according to the version upgrade example of FIG.
Here, it is assumed that the intermediate server 200 is in a user base that uses software to be upgraded, and the intermediate server 200 and the two terminals 300a and 300b are connected via a network. .
First, in step S1, the upgrade request receiving unit 201 of the intermediate server 200 receives terminal information (the terminal 300a and the terminal 300) from which the user upgrades from the input device of the terminal 300a, the terminal 300b or directly from the input device on the intermediate server 200. 300b) and an upgrade request issued by inputting the version number to be upgraded are received. Here, the upgrade request by the input to the input devices of the terminals 300a and 300b is transmitted to the intermediate server 200 via the network.

ここで、中間サーバ200へのバージョンアップ要求の発行は、端末300a、端末300bから、それぞれ個別のタイミングでも、同時に行っても構わないものとする。
また、中間サーバ200上に専用のアプリケーションを用意するなどして、一括して複数端末・複数更新パターンのバージョンアップ要求を同時に発行できるようにしても良い。この場合、中間サーバ200は、要求を解析して必要な更新パターンの数、及びそれぞれに必要な配布イメージを判定し、さらにより効率的な配布イメージや配布パッケージの生成方法の決定・生成処理を行なうものとし、これによりユーザのバージョンアップ運用を簡易にかつ効率的に行なえるようにすることができる。
Here, the issue of the upgrade request to the intermediate server 200 may be performed at the individual timing or at the same time from the terminal 300a and the terminal 300b.
Alternatively, a dedicated application may be prepared on the intermediate server 200 so that version upgrade requests for a plurality of terminals and a plurality of update patterns can be issued simultaneously. In this case, the intermediate server 200 analyzes the request, determines the number of necessary update patterns, and the distribution images necessary for each, and further determines and generates a more efficient distribution image and distribution package generation method. As a result, it is possible to perform the user's version upgrade operation easily and efficiently.

次に、ステップS2で、中間サーバ200は、上記バージョンアップ要求を受信すると、バージョンアップ対象に指定した端末300a、端末300bにインストールされているソフトウェアのバージョンを確認する。
端末300a、端末300bに対するバージョン確認は、中間サーバ200がネットワークを介して、端末300a、端末300bの端末上のセットアップ時に設定されたバージョン情報などを参照するなどの既存方式により行なう。あるいは、バージョンアップ実施の都度、中間サーバ200上に各端末のインストールバージョン情報を記録しておき、これを参照するなどの既存方式としても良い。
Next, in step S2, when the intermediate server 200 receives the upgrade request, the intermediate server 200 confirms the version of software installed in the terminal 300a and the terminal 300b designated as the upgrade target.
The version confirmation for the terminals 300a and 300b is performed by an existing method in which the intermediate server 200 refers to the version information set at the time of setup on the terminals 300a and 300b via the network. Alternatively, it is possible to use an existing method in which installation version information of each terminal is recorded on the intermediate server 200 and referred to each time version upgrade is performed.

なお、中間サーバ200とネットワーク接続されていない端末300の場合は、中間サーバ200上でユーザ入力等により、前回バージョンアップ時の情報を中間サーバ200上に保持しておきこれを参照する、あるいは中間サーバ200上で現在インストールされているバージョン番号を手動でユーザが入力する、といった方式で対応することも考えられる。
また、バージョン確認は、端末300から構成情報100aまたは構成情報200aで定義されているソフトウェアとしてのバージョン番号(バージョン1〜バージョン4)あるいは、この各バージョンに対応する個々の構成コンポーネントのバージョン番号(Comp1、Comp2のバージョン番号)、またはこれら双方を取得することにより行なうものとする。
本実施の形態では、ステップS2において端末300aの現在バージョンがバージョン2(Comp1:8.1B、Comp2:8.0A)、端末300aの現在バージョンがバージョン3(Comp1:8.3C、Comp2:8.1B)であるとの情報を得る。
In the case of the terminal 300 that is not connected to the network with the intermediate server 200, information on the previous version upgrade is held on the intermediate server 200 and referred to by the user input or the like on the intermediate server 200. It is conceivable to cope with such a method that the user manually inputs the version number currently installed on the server 200.
The version confirmation is performed by checking the version number (version 1 to version 4) as software defined by the configuration information 100a or the configuration information 200a from the terminal 300, or the version number (Comp1) of each configuration component corresponding to each version. , Comp2 version number), or both.
In the present embodiment, in step S2, the current version of terminal 300a is version 2 (Comp1: 8.1B, Comp2: 8.0A), and the current version of terminal 300a is version 3 (Comp1: 8.3C, Comp2: 8 .. 1B) is obtained.

次に、中間サーバ200はステップS2に続き、以下のステップS3〜S6の処理を行なう。
ステップS3で、中間サーバ200上に存在する構成情報200aあるいは配布サーバ100上に存在する構成情報100aの確認をして構成情報を得る。これによりソフトウェアを現在のバージョンから指定されたバージョンにバージョンアップする場合の各コンポーネント毎のバージョンアップパターンを判別し、必要コンポーネント及びバージョン情報を得る。
ここで、中間サーバ200上の構成情報200aには、これまで各端末のバージョンアップ時に配布サーバから得た構成情報が保持されており、この構成情報200aと、現時点で配布サーバに保持されている構成情報100aと、により今回のバージョンアップに必要となるコンポーネント及びバージョン情報を得るようにしている。
Next, intermediate server 200 performs the following steps S3 to S6 following step S2.
In step S3, the configuration information 200a existing on the intermediate server 200 or the configuration information 100a existing on the distribution server 100 is confirmed to obtain the configuration information. As a result, the version upgrade pattern for each component when the software is upgraded from the current version to the specified version is determined, and necessary component and version information is obtained.
Here, the configuration information 200a on the intermediate server 200 holds the configuration information obtained from the distribution server at the time of upgrading each terminal so far, and this configuration information 200a and the distribution server at the present time are held. With the configuration information 100a, components and version information necessary for the current version upgrade are obtained.

ここでは、端末300aは、ソフトウェアのバージョン2からバージョン4へのバージョンアップであり、コンポーネント別にみた場合Comp1は8.1B→8.3D、Comp2は8.0A→8.1Bの更新が必要であるという判断を行なう。
また、端末300bは、ソフトウェアのバージョン3から4へのバージョンアップであり、コンポーネント別にみた場合Comp1は8.2C→8.3D、Comp2は8.1Bのまま更新の必要なしであるという判断を行なう。
Here, the terminal 300a is upgraded from software version 2 to version 4, and when viewed by component, Comp1 needs to be updated from 8.1B to 8.3D, and Comp2 needs to be updated from 8.0A to 8.1B. Make a judgment.
Further, the terminal 300b is a version upgrade from software version 3 to 4. When viewed by component, Comp1 is determined to be 8.2C → 8.3D, Comp2 remains 8.1B, and no update is necessary. .

なお、本実施の形態では、端末300a、端末300b同時に更新要求を受けたケースとするので、両者の旧版・新版から必要なコンポーネント・バージョンを一括して判断する。本実施の形態では、これらをまとめた必要なコンポーネント、即ちコンポネントの配布イメージ200cは、Comp1が8.3D、Comp2が8.1Bの2つである。
また、この配布イメージ200cを差分情報200bにより生成するとした場合、必要になる差分情報200bは、Comp1が8.1B→8.3Dと8.2C→8.3Dの2つ、Comp2が8.0A→8.1Bの1つの合計3つとなる。
In the present embodiment, since it is assumed that the update request is received at the same time in the terminal 300a and the terminal 300b, the necessary component version is collectively determined from both the old version and the new version. In the present embodiment, there are two necessary components, ie, component distribution images 200c, in which Comp1 is 8.3D and Comp2 is 8.1B.
Also, if this distribution image 200c is generated from the difference information 200b, the necessary difference information 200b is Comp1 with 8.1B → 8.3D and 8.2C → 8.3D, and Comp2 with 8.0A. → 8.1B is a total of three.

複数の端末300で同一の配布プログラム100bと差分情報200bを必要とする場合でも、中間サーバに必要な配布プログラム100bと差分情報200bの数は端末数分そろえる必要はなく1つあればよい。例えば、端末300a、端末300bのほかにもう一台端末300xが存在し、3台同時に、なおかつ端末300xは、端末300aあるいは端末300bと同様のバージョンアップパターンとする場合、中間サーバ200で必要な差分情報100bと差分情報200bは1つあればよい。   Even when a plurality of terminals 300 require the same distribution program 100b and difference information 200b, the number of distribution programs 100b and difference information 200b required for the intermediate server need not be equal to the number of terminals. For example, if there is another terminal 300x in addition to the terminals 300a and 300b, and the three terminals 300x have the same upgrade pattern as the terminal 300a or the terminal 300b, the difference required by the intermediate server 200 Only one piece of information 100b and difference information 200b are required.

次に、ステップS4で、中間サーバ200は、ステップS3の構成情報確認で得た配布イメージ200cが中間サーバ200上に存在するか否か確認する。
存在しない場合は、配布イメージ200cを生成する必要があり、そのためには差分情報200bが必要となる。このため、まず、ステップS5で、自身の中間サーバ200上に所望の差分情報200bが存在するかを確認する。この結果、中間サーバ上に存在しない場合は、ステップS6で差分情報取得手段203が配布サーバ100より所望の差分情報100cの取得を行なう。
Next, in step S4, the intermediate server 200 confirms whether or not the distribution image 200c obtained by the configuration information confirmation in step S3 exists on the intermediate server 200.
If it does not exist, it is necessary to generate the distribution image 200c, and for this purpose, the difference information 200b is required. For this reason, first, in step S5, it is confirmed whether or not the desired difference information 200b exists on its own intermediate server 200. As a result, if it does not exist on the intermediate server, the difference information acquisition unit 203 acquires the desired difference information 100c from the distribution server 100 in step S6.

本システムにおいては、バージョンアップ対象となる端末300に対し、中間サーバ200は所望のソフトウェアバージョンに対応する特定バージョンの各コンポーネントの配布イメージ200cを作成し、これを配布することにより、端末300のバージョンアップを行なう。
配布イメージ200cは、配布イメージ生成手段203により生成されるものであり、生成には、旧版の配布プログラム100bと、所望のバージョンとの間にバイナリ差分抽出により生成した差分情報100cまたは、差分情報200bが必要である。
このため、まず中間サーバ200上で完成品である配布イメージ200cが、既に生成済みでないかをステップS4でチェックし、存在する場合はこれを利用する。
一方、存在しない場合は、ステップS5で自身の中間サーバ200上に差分情報200bが存在しないかを確認し、存在しない場合のみ、ステップS6で配布サーバ100から差分情報100cを取得する。
In this system, the intermediate server 200 creates a distribution image 200c of each component of a specific version corresponding to a desired software version for the terminal 300 to be upgraded, and distributes this to distribute the version of the terminal 300. Up.
The distribution image 200c is generated by the distribution image generation unit 203. For generation, the difference information 100c generated by binary difference extraction between the old version of the distribution program 100b and the desired version or the difference information 200b is generated. is required.
For this reason, first, it is checked in step S4 whether the distribution image 200c, which is a completed product, has already been generated on the intermediate server 200.
On the other hand, if it does not exist, it is checked in step S5 whether the difference information 200b exists on its own intermediate server 200. Only if it does not exist, the difference information 100c is acquired from the distribution server 100 in step S6.

このように中間サーバ200は、配下の複数の端末300をバージョンアップするためのデータの生成・配布の中継処理を行っている。ここで、中間サーバ200は今回実行する端末300のバージョンアップと同一の配布イメージ200cの生成・配布を過去に別の端末300で実施している場合には、過去に使用した配布イメージ200cやこの配布イメージ200cを生成するための差分情報200bを保存する機能を有している。
従って、中間サーバ200は、これらの配布イメージ200cや差分情報200bを保持していれば、これらを再利用して配布イメージ200cの生成・配布を行なうことができる。これが、このようにユーザ拠点に複数端末300が存在するケースにおいて中間サーバ200を導入するメリットともいえる。
In this way, the intermediate server 200 performs data generation / distribution relay processing for upgrading a plurality of subordinate terminals 300. Here, if the intermediate server 200 has generated and distributed the distribution image 200c that is the same as the version upgrade of the terminal 300 to be executed this time in another terminal 300 in the past, the intermediate server 200 or the distribution image 200c used in the past or this It has a function of storing difference information 200b for generating a distribution image 200c.
Accordingly, if the intermediate server 200 holds the distribution image 200c and the difference information 200b, the intermediate server 200 can reuse and generate the distribution image 200c. This can be said to be an advantage of introducing the intermediate server 200 in the case where a plurality of terminals 300 exist in the user base as described above.

これより、ステップS4、ステップS5のように端末300のバージョンアップに必要な情報(構成情報100a、配布プログラム100b,差分情報100c)をいきなり配布サーバ100から取得するのではなく、中間サーバ200上に端末300のバージョンアップに必要な配布イメージ200cや差分情報200bが保存されていないか確認し、保存されていない場合にのみステップS6のように配布サーバ100から端末300のバージョンアップに必要な情報の取得を行なうことにしている。
なお、ステップS4の結果、必要となるバージョンアップデータのうち必要な配布イメージ200cが中間サーバ200上に存在する場合は、ステップS5、ステップS6の処理はスキップしてステップS7に進む。あるいは中間サーバ200上に、配布イメージ200cはないが、差分情報200bが存在する場合は、ステップS6の処理をスキップしてステップS7に進む。
As a result, the information (configuration information 100a, distribution program 100b, difference information 100c) necessary for upgrading the terminal 300 is not acquired from the distribution server 100 as in step S4 and step S5, but on the intermediate server 200. It is checked whether the distribution image 200c and the difference information 200b necessary for upgrading the terminal 300 are stored, and only when the distribution image 200c and the difference information 200b are not stored, the information necessary for upgrading the terminal 300 from the distribution server 100 as in step S6. I am going to do the acquisition.
As a result of step S4, if the necessary distribution image 200c among the necessary upgrade data exists on the intermediate server 200, the processing of step S5 and step S6 is skipped and the process proceeds to step S7. Alternatively, when there is no distribution image 200c on the intermediate server 200 but the difference information 200b exists, the process of step S6 is skipped and the process proceeds to step S7.

次に、図7の端末のバージョンアップ例に従い、上記で説明したステップS4〜ステップS6の詳細について説明する。
ステップS3により、図7のバージョンアップ例で必要なコンポーネント(コンポネントの配布イメージ200c)は、Comp1が8.3D、Comp2が8.1Bの2つである。また、この配布イメージ200cを差分情報200bにより生成するとした場合、必要になる差分情報200bは、Comp1が8.1B→8.3D(端末300a用)と8.2C→8.3D(端末300b用)の2つ、Comp2が8.0A→8.1B(端末300aと端末300bとで共通)の1つの合計3つとなることについては先に記載したとおりである。
Next, details of steps S4 to S6 described above will be described according to the version upgrade example of the terminal in FIG.
By step S3, two components (component distribution image 200c) required in the version upgrade example of FIG. 7 are Comp1 with 8.3D and Comp2 with 8.1B. Further, when the distribution image 200c is generated from the difference information 200b, the necessary difference information 200b includes Comp1 of 8.1B → 8.3D (for the terminal 300a) and 8.2C → 8.3D (for the terminal 300b). ) And Comp2 is 8.0A → 8.1B (common to both terminal 300a and terminal 300b), which is three in total, as described above.

本実施の形態では、中間サーバ200は、配下の端末300a、端末300bのこれまでのバージョンアップ履歴に従い、配布イメージ保持手段204により以下の配布イメージ200cを持つものとする。
Comp1:8.0A、8.1B、8.2C(3種類)
Comp2:8. 0A、8.1B(2種類)
また、中間サーバ200は、配布イメージ200c生成のために、差分情報200bとして以下を持つものとする。
Comp1:8.0A→8.1B、 8.1B→8.2C(2種類)
Comp2:8.0A→8.1B(3種類)
In the present embodiment, it is assumed that the intermediate server 200 has the following distribution image 200c by the distribution image holding unit 204 in accordance with the previous version upgrade history of the subordinate terminals 300a and 300b.
Comp1: 8.0A, 8.1B, 8.2C (3 types)
Comp2: 8.0A, 8.1B (2 types)
Further, the intermediate server 200 has the following as the difference information 200b for generating the distribution image 200c.
Comp1: 8.0A → 8.1B, 8.1B → 8.2C (2 types)
Comp2: 8.0A → 8.1B (3 types)

Comp1に関しては、まずステップS4で、配布イメージ200cの有無をチェックする。ここで、必要な配布イメージ200cはComp1の8.3D、Comp2の8.1Bの2つであるが、中間サーバ200にはComp1の8.3Dは存在しない、Comp2の8.1Bは存在するとの判定結果を得る。
この後、ステップS5に進み、ステップS4で存在しなかった8.3Dの配布イメージ200cの生成に必要な差分情報200b(8.2C→8.3D)の有無をチェックする。
Comp2はステップS4で所望の8.1Bの配布イメージ200cが存在するので、ステップS5、ステップS6をスキップし、ステップS7に進む。
Regarding Comp1, first, in step S4, the presence / absence of the distribution image 200c is checked. Here, there are two necessary distribution images 200c, Comp1 8.3D and Comp2 8.1B, but the intermediate server 200 does not have Comp1 8.3D, and Comp2 8.1B exists. Obtain the judgment result.
Thereafter, the process proceeds to step S5, and the presence / absence of difference information 200b (8.2C → 8.3D) necessary for generating the 8.3D distribution image 200c that did not exist in step S4 is checked.
Since Comp2 has a desired distribution image 200c of 8.1B in step S4, step S5 and step S6 are skipped, and the process proceeds to step S7.

なお、本実施の形態において、端末300a、端末300bの同時バージョンアップケースで必要なComp1の差分情報200bは、先に8.1B→8.3Dと8.2C→8.3Dの2つと述べたにも関わらず、ステップS5では8.2C→8.3Dの1種類としている。この理由は、端末300b用の8.2C→8.3Dの差分情報200bにより生成した8.3Dの配布イメージ200cがあり、これを端末300a用にも流用できるからであり、端末300a用の差分情報200b(8.1B→8.3D)は不要となるからである。   In the present embodiment, the difference information 200b of Comp1 required in the simultaneous version upgrade case of the terminal 300a and the terminal 300b is described as two in the above-described manner, 8.1B → 8.3D and 8.2C → 8.3D. Nevertheless, in step S5, the type is 8.2C → 8.3D. This is because there is an 8.3D distribution image 200c generated from the 8.2C → 8.3D difference information 200b for the terminal 300b, which can also be used for the terminal 300a. This is because the information 200b (8.1B → 8.3D) becomes unnecessary.

中間サーバ200は、既にComp1を8.1B→8.2Cにするバージョンアップを実施済みのため、端末300b用に8.2Cの配布イメージ200cを保持している。従って、端末300b用のComp1の8.2Cを8.3Dにバージョンアップするための差分情報を配布サーバから入手し、これに基づいてComp1の8.3Dの配布イメージ200cを作成することができるため、端末300aで必要なComp1の8.3Dの配布イメージ200cはこれを利用することができるので、端末300aとして必要であったComp1の8.1B→8.3Dの差分情報は不要となる。
また、Comp2に関しては、端末300bで既に8.1Bとなっていることから、ステップS4では中間サーバ200上に所望の8.1Bの配布イメージ200cが存在すると判定され、ステップS5〜ステップS7の処理は不要となり、既存の8.1Bの配布イメージ200cを再利用する形で端末300aに送付すれば良い。
Since the intermediate server 200 has already been upgraded from Comp1 to 8.1B → 8.2C, the intermediate server 200 holds the 8.2C distribution image 200c for the terminal 300b. Therefore, the difference information for upgrading from 8.2C of Comp1 for terminal 300b to 8.3D can be obtained from the distribution server, and based on this, the 8.3D distribution image 200c of Comp1 can be created. Since the 8.3D distribution image 200c of Comp1 necessary for the terminal 300a can use this, the difference information of 8.1B → 8.3D of Comp1 that is necessary for the terminal 300a becomes unnecessary.
Since Comp2 is already 8.1B at the terminal 300b, it is determined in step S4 that the desired 8.1B distribution image 200c exists on the intermediate server 200, and the processing from step S5 to step S7 is performed. Is unnecessary, and the existing 8.1B distribution image 200c may be reused and sent to the terminal 300a.

このように中間サーバ200では、端末のバージョンアップに必要となる差分情報100bを配布サーバ100から取得することを、配布サーバ100への最小限のアクセスにより効率よく行なうことでき、ネットワークの負荷削減、CPU/ディスク容量などのリソース節約、実行時間短縮といった効果を得ることができる。   In this way, the intermediate server 200 can efficiently acquire the difference information 100b necessary for upgrading the terminal from the distribution server 100 with a minimum access to the distribution server 100, thereby reducing the load on the network. Effects such as saving resources such as CPU / disk capacity and shortening execution time can be obtained.

次に、ステップS4〜ステップS6の処理に続き、中間サーバ200は配布イメージ生成手段203によりステップS7の処理を行なう。ステップS7では、配布イメージ生成手段203が、バージョンアップが必要な端末300で必要とされる配布イメージ200cを生成する。
さらに、ステップS8で、配布パッケージ生成手段205が、更新パターン毎に必要な配布イメージ200c(新規生成した配布イメージ及び既存配布イメージ)の組み合わせと、さらにこれらのインストール処理起動などを行なうためのインストールスクリプトとをパッケージした配布パッケージ200dを生成する。
この後、ステップS9で、配布パッケージ送信手段が、バージョンアップ対象端末300に対し、それぞれの端末の更新パターンに対応した配布パッケージ200dを選択し、これを配布する。
Next, following the processing of steps S4 to S6, the intermediate server 200 performs the processing of step S7 by the distribution image generation means 203. In step S7, the distribution image generation means 203 generates a distribution image 200c required by the terminal 300 that needs to be upgraded.
Further, in step S8, the distribution package generation means 205 uses a combination of distribution images 200c (newly generated distribution images and existing distribution images) necessary for each update pattern, and further install scripts for starting up these installation processes. A distribution package 200d is generated.
Thereafter, in step S9, the distribution package transmitting means selects the distribution package 200d corresponding to the update pattern of each terminal and distributes it to the version upgrade target terminal 300.

なお、配布イメージ生成手段203は、中間サーバ200上で差分情報200bの適用により配布イメージ200cを最初に生成すると共に、配布イメージ生成手段203が過去に差分情報を利用して生成し、配布イメージ保持手段204により保存された配布イメージ200cに対し、新たに差分情報を適用し新たに配布イメージ200cを生成することを行なうものである。   The distribution image generation unit 203 first generates the distribution image 200c by applying the difference information 200b on the intermediate server 200, and the distribution image generation unit 203 uses the difference information in the past to generate a distribution image. Difference information is newly applied to the distribution image 200c stored by the means 204, and a new distribution image 200c is generated.

次に、ステップS7の配布イメージ生成処理及びステップS8の配布パッケージ生成処理の概要について説明する。
先に記載したとおり、端末300aと端末300bを同時バージョンアップする場合に必要な配布イメージ200cのうち、Comp1の8.3Dは中間サーバ200になかったので新規生成し、Comp2の8.1Bは中間サーバ200にあったのでこれを流用することとしている。
まず、配布イメージ生成手段203は、ステップS7での配布イメージ生成処理においてComp1の8.3Dの配布イメージ200cの新規生成を行なう。
Next, an overview of the distribution image generation process in step S7 and the distribution package generation process in step S8 will be described.
As described above, among the distribution images 200c required when upgrading the terminal 300a and the terminal 300b at the same time, 8.3D of Comp1 is not in the intermediate server 200, so it is newly generated, and 8.1B of Comp2 is intermediate. Since it was in the server 200, this is to be diverted.
First, the distribution image generation unit 203 newly generates an 8.3D distribution image 200c of Comp1 in the distribution image generation processing in step S7.

続いて、ステップS8で配布パッケージ生成手段205が配布パッケージ生成処理において次の処理を行なう。
(1)各更新パターンに対し、必要な配布イメージ200cをインストールするためのインストールスクリプトを生成する。
(2)上記(1)で生成されたインストールスクリプトと所望の配布イメージ200cをパッケージした配布パッケージ200dの生成を行なう。
ここで、上記のインストールスクリプトは、更新パターン(インストールする配布イメージ200cの組み合わせ)の数に応じて生成する必要がある。
図7のバージョンアップ例では、端末300aと端末300bとで異なる更新パターンになるため、この2台の端末別に2種類の配布パッケージ200dを生成する必要がある。
Subsequently, in step S8, the distribution package generation unit 205 performs the following process in the distribution package generation process.
(1) For each update pattern, an install script for installing the necessary distribution image 200c is generated.
(2) A distribution package 200d in which the installation script generated in (1) and a desired distribution image 200c are packaged is generated.
Here, it is necessary to generate the installation script according to the number of update patterns (combination of distribution images 200c to be installed).
In the version upgrade example of FIG. 7, since the update patterns are different between the terminal 300a and the terminal 300b, it is necessary to generate two types of distribution packages 200d for the two terminals.

次に、ステップS7の配布イメージ生成処理とステップS8の配布パッケージ生成処理についてさらに詳細に説明する。
まず、ステップS7で配布イメージ生成手段203がComp1の8.3Dの配布イメージ200cを生成する処理について説明する。
Comp1の8.3Dの配布イメージ200cは、ステップS6で配布サーバ100から取得した8.2C→8.3Dの差分情報200bを、既に中間サーバ200上に配布イメージ200cとして配布イメージ保持手段204により保存されている8.2Cのプログラムファイルに適用することにより生成する。
なお、差分情報200bを旧版(ここでは8.2C)の配布イメージ200cに適用して新版(ここでは8.3D)のプログラムファイルを生成する処理は、中間サーバ200上に用意した差分適用プログラムにより行なうものとする。
Next, the distribution image generation process in step S7 and the distribution package generation process in step S8 will be described in more detail.
First, a process in which the distribution image generation unit 203 generates the 8.3D distribution image 200c of Comp1 in step S7 will be described.
In the 8.3D distribution image 200c of Comp1, the difference information 200b of 8.2C → 8.3D acquired from the distribution server 100 in step S6 is already stored on the intermediate server 200 as the distribution image 200c by the distribution image holding unit 204. It is generated by applying to the 8.2C program file.
The process of generating the new version (8.3D here) program file by applying the difference information 200b to the old version (8.2C here) distribution image 200c is performed by the difference application program prepared on the intermediate server 200. Shall be done.

また、差分適用プログラムは既存方式によるものとし、詳細はここでは省略するが、以下のような処理を行なうものとする。即ち、差分適用プログラムは、差分情報及び旧版に相当するComp1のバージョンチェックを行い、続いてバージョンが適合した場合更新情報ファイルの内容に従い、旧版のComp1の8.2Cのプログラムファイルに対し、追加ファイルのコピー、更新ファイルに対するバイナリ差分ファイルの差分情報の解析・適用、削除ファイルの削除を行い、新版の8.3Dのプログラムファイルへの書き換えを行なう。
さらに、差分情報100cの利用による新規生成が必要な配布イメージ200cは、図7のバージョンアップ例のケースでは、Comp1の8.3Dが1個のみであるが、複数ある場合は、2つ目以降の配布イメージ200cの生成処理を続けて行なう。
Further, the difference application program is based on the existing method, and details are omitted here, but the following processing is performed. In other words, the difference application program checks the version information of Comp1 corresponding to the difference information and the old version, and if the version is matched, the additional file is added to the 8.2C program file of the old version Comp1 according to the contents of the update information file. Copy, update and analyze the difference information of the binary difference file with respect to the update file, delete the deleted file, and rewrite the new version 8.3D program file.
Further, the distribution image 200c that needs to be newly generated by using the difference information 100c has only one 8.3D of Comp1 in the case of the version upgrade example in FIG. The generation process of the distribution image 200c is continued.

次に、図7のバージョンアップ例の場合に、ステップS8で配布パッケージ生成手段205が配布パッケージ200dを生成する処理について説明する。
図9は、配布パッケージ200dの構成図である。
まず、配布パッケージ生成手段205がステップS8の配布パッケージ生成処理で行なう配布パッケージ向けインストールスクリプトの生成について説明する。
インストールスクリプトの内容は共通とし、先に記載したComp1とComp2のそれぞれの旧版(現在バージョン)と新版のバージョンを元に、インストール実行前のバージョンチェック処理、及び必要に応じComp1及びComp2それぞれのインストールプログラムを起動する処理がスクリプトとして記述されているものとする
図7に示すバージョンアップ例の更新パターンの例では、先に述べた通り端末300aと端末300bで異なる更新パターンとなるため、この2台の端末個別に2種類生成する必要がある。
Next, in the case of the version upgrade example shown in FIG. 7, the process in which the distribution package generation unit 205 generates the distribution package 200d in step S8 will be described.
FIG. 9 is a configuration diagram of the distribution package 200d.
First, generation of an installation script for a distribution package performed by the distribution package generation unit 205 in the distribution package generation processing in step S8 will be described.
The contents of the installation script are the same. Based on the old version (current version) and new version of each of Comp1 and Comp2 described above, version check processing before installation execution, and installation programs for Comp1 and Comp2 as necessary In the example of the update pattern in the version upgrade example shown in FIG. 7, the update pattern differs between the terminal 300a and the terminal 300b as described above. It is necessary to generate two types for each terminal.

次に、配布パッケージ生成手段205がステップS8で行なう配布パッケージ200dの生成について説明する。
端末300aの更新パターンはソフトウェアのバージョン2→バージョン4のケースである。このため、図9に示すとおり、端末300aの更新パターン用配布パッケージ200dとして、インストールスクリプトと、Comp1の8.3DとComp2の8.1Bの配布イメージ200cを合わせたものを生成する。
なおインストールスクリプトには、Comp1とComp2それぞれの旧版(現在バージョン)と新版のバージョン情報を与え、さらにComp1、Comp2双方をバージョンアップする必要があるため、それぞれのインストーラを起動する処理を含んだ処理を記述しておく。
Next, generation of the distribution package 200d performed by the distribution package generation unit 205 in step S8 will be described.
The update pattern of the terminal 300a is a case of software version 2 → version 4. For this reason, as shown in FIG. 9, as the update pattern distribution package 200d of the terminal 300a, an installation script and a distribution image 200c of Comp1 8.3D and Comp2 8.1B are generated.
In addition, since it is necessary to update the version information of the old version (current version) and the new version of Comp1 and Comp2, respectively, and to upgrade both Comp1 and Comp2, the installation script includes a process including starting each installer. Describe it.

また、端末300bの更新パターンは、ソフトウェアのバージョン3→バージョン4のケースである。このため、図9に示すとおり、端末300bの更新パターン用配布パッケージ200dとして、インストールスクリプトとComp1の8.3Dの配布イメージ200cを合わせたものを生成する。
なおインストールスクリプトには、Comp1とComp2それぞれの旧版(現在バージョン)と新版のバージョン情報を与え、さらにComp1のみをバージョンアップする必要があるため、Comp1のインストーラを起動する処理を記述しておく。
また、配布パッケージ200dは、端末300a、端末300bへの配布時には、配布時のサイズ削減、操作性向上のために、通常のインストーラのような圧縮・自己解凍、自己実行形式で配布されることが望ましい。
The update pattern of the terminal 300b is a case of software version 3 → version 4. For this reason, as shown in FIG. 9, as the update pattern distribution package 200d of the terminal 300b, a combination of the installation script and the 8.3D distribution image 200c of Comp1 is generated.
In addition, since it is necessary to give version information of the old version (current version) and new version of Comp1 and Comp2 respectively and to upgrade only Comp1 in the install script, a process for starting the installer of Comp1 is described.
Further, the distribution package 200d may be distributed in a compression / self-decompression / self-execution format like a normal installer for distribution to the terminals 300a and 300b in order to reduce the size during distribution and improve operability. desirable.

次に、ステップS9の配布パッケージ配布処理について説明する。
上記のように生成された配布パッケージ200dを、ステップS9で配布パッケージ送信手段206がそれぞれ端末300a、端末300bにネットワークを介して送付する。
端末300a、端末300bはそれぞれ、配布パッケージを受信後、ユーザがこの適用を実行することでソフトウェアのバージョン4へのバージョンアップが実行される。
Next, the distribution package distribution process in step S9 will be described.
In step S9, the distribution package transmission means 206 sends the distribution package 200d generated as described above to the terminals 300a and 300b via the network.
Each of the terminal 300a and the terminal 300b receives the distribution package, and the user executes this application to upgrade the software to version 4.

なお、端末300cのように中間サーバ200とネットワーク接続していないオフライン状態の場合は、ステップS7で生成した配布パッケージ200dをCD−ROMなどの記憶媒体にコピーし、これを端末300cへ配布する運用でも良い。
この方式の場合、特に、運用を簡単にする、コストを削減するなどの理由でユーザ拠点で中間サーバ200を持たない、または持ちたくないケースにおいて、拠点外の計算機を中間サーバ200としてユーザ拠点の端末300に応じたバージョンアップ用メディアを生成し、配布する運用とすることも可能である。
また、このような方式により、例えばソフトウェアの販売代理店などが保守サービスの一環として行なうバージョンアップサービスを効率的に行なうことができる。
If the terminal 300c is in an offline state not connected to the intermediate server 200 via a network, the distribution package 200d generated in step S7 is copied to a storage medium such as a CD-ROM and distributed to the terminal 300c. But it ’s okay.
In the case of this method, in particular, in a case where the user base does not have or does not want to have the intermediate server 200 for reasons such as simplifying the operation or reducing the cost, a computer outside the base is used as the intermediate server 200 in the user base. It is also possible to generate and distribute version upgrade media according to the terminal 300.
In addition, according to such a system, for example, a version upgrade service performed as a part of a maintenance service by a software sales agent or the like can be efficiently performed.

次に、ステップS5、ステップS6のより効率的な処理方法について説明する。
なお、ここでは、図7に示すバージョンアップ例の場合を例に、端末300aと端末300bが同時ではなく別のタイミングで中間サーバ100にバージョンアップ要求を発行したケースについて説明する。具体的には、端末300aのバージョンアップ要求後に端末300bのバージョンアップ要求を行なう場合について説明する。
Next, a more efficient processing method in steps S5 and S6 will be described.
Here, the case of the version upgrade example shown in FIG. 7 will be described as an example in which the terminal 300a and the terminal 300b issue a version upgrade request to the intermediate server 100 at different timings, not at the same time. Specifically, a case will be described in which an upgrade request for terminal 300b is made after an upgrade request for terminal 300a.

まず、端末300aでは、必要となる配布イメージ200cはComp1が8.3D、 Comp2が8.1Bであり、Comp2は、先に記載した端末300a、端末300b同時更新の場合と同様、端末300bで既に8.1Bとなっていることから、中間サーバ200上にすでに8.1Bが存在するのでこれを再利用すればよい。即ち、ステップS4からステップS8へスキップする。   First, in the terminal 300a, the required distribution image 200c is 8.3D for Comp1 and 8.1B for Comp2, and Comp2 is already in the terminal 300b as in the case of the simultaneous update of the terminal 300a and the terminal 300b described above. Since it is 8.1B, 8.1B already exists on the intermediate server 200, so it may be reused. That is, the process skips from step S4 to step S8.

次に、Comp1に関する処理について説明する。
ステップS4で、必要となる配布イメージ200cのうち、Comp1の8.3Dは中間サーバ200上に存在しない。このため、差分情報により配布イメージを生成することが必要となることからステップS5に進む。
ステップS5で、必要となる差分情報100cは、Comp1の8.1B→8.3Dとなる。しかしこの差分は2バージョン違いの差分である。即ち、必要となる差分情報100cのComp1の8.1B→8.3Dは、8.1B→8.2Cと8.2C→8.3Dの2回のバージョンアップからなるものである。
Next, processing related to Comp1 will be described.
In step S4, among the necessary distribution images 200c, 8.3D of Comp1 does not exist on the intermediate server 200. For this reason, since it is necessary to generate a distribution image based on the difference information, the process proceeds to step S5.
In step S5, the necessary difference information 100c is changed from 8.1B of Comp1 to 8.3D. However, this difference is a difference between two versions. That is, 8.1B → 8.3D of Comp1 of the necessary difference information 100c is composed of two version upgrades of 8.1B → 8.2C and 8.2C → 8.3D.

先に述べたように、配布サーバ100で生成・配布可能な差分情報100cが1バージョン分(1回のバージョンアップ分)のみを対象とするケースでは、配布サーバ100上には、必要とするComp1の8.1B→8.3Dの差分情報100cは存在しない。そこで、中間サーバ200の差分情報取得手段202は、8.1B→8.3Dの差分情報100cがなくとも、中間サーバ200上で所望のComp1の8.3Dの配布イメージ200cを何とか生成する方法、しかも極力配布サーバ100にはアクセスせずにすむ方法として、中間サーバ200上の既存の差分情報200bを使って、所望のバージョンの配布イメージ200cを生成できないかチェックする。   As described above, in the case where the difference information 100c that can be generated / distributed by the distribution server 100 is only for one version (one version upgrade), the necessary Comp1 is displayed on the distribution server 100. The difference information 100c of 8.1B → 8.3D does not exist. Therefore, the difference information acquisition unit 202 of the intermediate server 200 manages to generate the 8.3D distribution image 200c of the desired Comp1 on the intermediate server 200 without the 8.1B → 8.3D difference information 100c. In addition, as a method of avoiding access to the distribution server 100 as much as possible, the existing difference information 200b on the intermediate server 200 is used to check whether a desired version of the distribution image 200c can be generated.

この例では、まず中間サーバ200上に、配布イメージ保持手段204により保持されているComp1の最新バージョンをチェックし、端末300bのバージョンアップ用に使用した8.2Cの配布イメージ200cがあることを確認する。
配布イメージ200cの8.2Cは、端末300aで必要とする8.3Dのバージョンとは1つ違うだけなので、8.2C→8.3Dの差分情報を入手し、この差分情報から8.3Dの配布イメージ200cを生成することを検討する。
そこでまず中間サーバ200上に差分情報200bとして存在しないか確認する。しかし、8.3Dの配布イメージ200cを生成した実績がないので、当然存在しないため、ステップS6に進む。
In this example, first, the latest version of Comp1 held by the distribution image holding unit 204 is checked on the intermediate server 200, and it is confirmed that there is an 8.2C distribution image 200c used for upgrading the terminal 300b. To do.
Since the 8.2C of the distribution image 200c is only one different from the 8.3D version required by the terminal 300a, the difference information of 8.2C → 8.3D is obtained, and the 8.3D from the difference information is obtained. Consider generating a distribution image 200c.
Therefore, first, it is confirmed whether or not the difference information 200b exists on the intermediate server 200. However, since there is no record of generating the 8.3D distribution image 200c, it naturally does not exist, and the process proceeds to step S6.

ステップS6で、配布サーバ100から8.2C→8.3Dの差分情報100cを取得する。
続いて、ステップS7で配布イメージ生成手段203が、既に存在する8.2Cの配布イメージ200cに、上記で取得した8.2C→8.3Dの差分情報200bを適用し、端末300aで必要とする8.3Dの配布イメージ200cを生成する。その後、配布イメージ保持手段204により、中間サーバ200上に8.3Dの配布イメージ200cが保存される。
以上のことにより、端末300aに必要な配布イメージ200cのComp1の8.3D、Comp2の8.1Bを中間サーバ200上に用意でき、ステップS8で配布パッケージ生成手段205が、配布イメージ200cのComp1の8.3D、Comp2の8.1Bを用いて配布パッケージ200dを生成する。その後、ステップS9で配布パッケージ送信手段206が配布パッケージ生成手段205により生成された配布パッケージ200dを端末300aに送信する。
In step S6, the difference information 100c of 8.2C → 8.3D is acquired from the distribution server 100.
Subsequently, in step S7, the distribution image generation unit 203 applies the 8.2C → 8.3D difference information 200b acquired above to the already existing 8.2C distribution image 200c, and is required by the terminal 300a. An 8.3D distribution image 200c is generated. Thereafter, the distribution image holding unit 204 stores an 8.3D distribution image 200c on the intermediate server 200.
As described above, 8.3D of Comp1 and 8.1B of Comp2 of the distribution image 200c necessary for the terminal 300a can be prepared on the intermediate server 200. In step S8, the distribution package generation unit 205 stores the Comp1 of the distribution image 200c. The distribution package 200d is generated using 8.1B of 8.3D and Comp2. Thereafter, in step S9, the distribution package transmission unit 206 transmits the distribution package 200d generated by the distribution package generation unit 205 to the terminal 300a.

次に、上記に記載した端末300aの処理に続いて行なう端末300bのバージョンアップでは、必要となる配布イメージ200cはComp1の8.3D1つであるが、これは先の端末300aのバージョンアップ用に生成済なのでこれを再利用することとして、ステップS8で配布パッケージ200dを生成すればよい。
この例で示すように、配布サーバ100上には1バージョン間の差分情報100bだけ生成しておけばよく、配布サーバ100は2回以上のあらゆる更新パターンの差分情報100cを事前、あるいは動的に生成し、配布する必要はない。
Next, in the version upgrade of the terminal 300b performed following the processing of the terminal 300a described above, the required distribution image 200c is 8.3D1 of Comp1, but this is for the upgrade of the previous terminal 300a. Since it has been generated, it is sufficient to generate the distribution package 200d in step S8 by reusing it.
As shown in this example, only the difference information 100b between one version needs to be generated on the distribution server 100, and the distribution server 100 stores the difference information 100c of every update pattern twice or more in advance or dynamically. There is no need to generate and distribute.

これは、中間サーバ200の配布イメージ生成手段203及び配布イメージ保持手段204により、中間サーバ200の配下の他の端末300のバージョンアップで生成した既存の配布イメージ200cと、配布サーバ100から取得した既存の1バージョン分の差分情報100bにより、所望の配布イメージ200cを生成することが可能であるため、このような動作を行なうことができるものである。   This is because the distribution image generation unit 203 and the distribution image holding unit 204 of the intermediate server 200 and the existing distribution image 200c generated by upgrading the other terminal 300 under the control of the intermediate server 200 and the existing image acquired from the distribution server 100 are used. Since the desired distribution image 200c can be generated from the difference information 100b for one version, such an operation can be performed.

以上のように本実施の形態によれば、中間サーバ200が端末300のソフトウェアバージョンアップに必要となる差分情報100bを配布サーバ100から取得し、端末300のソフトウェアバージョンアップのための配布イメージ200cを端末300に配布することにより、中間サーバ200が端末300にインストールされたソフトウェアの更新のための情報を配布サーバ100や端末300への最小限のアクセス及び最小限の情報量により効率よく行なうことできるので、ネットワークの負荷削減、CPU/ディスク容量などのリソース節約、実行時間短縮といった効果を得ることができる。また、これにより、端末300のソフトウェアのバージョンアップが短時間にでき、効率的な端末ソフトウェアのバージョンアップを実行することができる。   As described above, according to the present embodiment, the intermediate server 200 acquires the difference information 100b necessary for the software upgrade of the terminal 300 from the distribution server 100, and the distribution image 200c for the software upgrade of the terminal 300 is obtained. By distributing to the terminal 300, the intermediate server 200 can efficiently perform information for updating the software installed in the terminal 300 with minimum access to the distribution server 100 and the terminal 300 and a minimum amount of information. Therefore, effects such as reduction of network load, resource saving such as CPU / disk capacity, and reduction of execution time can be obtained. Accordingly, the software upgrade of the terminal 300 can be performed in a short time, and the terminal software can be efficiently upgraded.

実施の形態2.
実施の形態1では、端末300のバージョンアップの方式として、中間サーバ200上で端末300に必要な新版の配布イメージ200cを生成し、配布する方式について説明したが、これ以外にも、新版の配布イメージ200cの替わりに、中間サーバ200が新版にバージョンアップするための差分情報200bを各端末300に配布することにより、各端末300にインストールされたソフトウェアのバージョンアップを行なうことができる。以下、本実施の形態では、この差分情報200bの配布による方式について説明する。
ここで、本実施の形態のソフトウェア2次配布システムの構成は、実施の形態1とほぼ同様でであるが、本実施の形態の中間サーバ200には、端末300に配布する配布用差分情報の生成を行なう差分情報生成手段207(図6参照)が追加された構成となっている。
なお、実施の形態1の方式と区別するため、実施の形態1の方式を配布イメージ方式、本実施の形態の方式を差分方式とする。
Embodiment 2. FIG.
In the first embodiment, as a method for upgrading the terminal 300, a method for generating and distributing a new distribution image 200c necessary for the terminal 300 on the intermediate server 200 has been described. Instead of the image 200c, the intermediate server 200 distributes the difference information 200b for upgrading to a new version to each terminal 300, so that the software installed on each terminal 300 can be upgraded. Hereinafter, in this embodiment, a method based on the distribution of the difference information 200b will be described.
Here, the configuration of the software secondary distribution system of the present embodiment is almost the same as that of the first embodiment, but the intermediate server 200 of the present embodiment stores the distribution difference information distributed to the terminal 300. Difference information generating means 207 (see FIG. 6) for generating is added.
In order to distinguish from the method of the first embodiment, the method of the first embodiment is a distribution image method, and the method of the present embodiment is a differential method.

本実施の形態の差分方式は、中間サーバ200に多数の端末300がネットワークで接続されているが、帯域が狭く、なおかつ端末300の台数が多いようなケースに適している。
ネットワークの制約によりネットワーク負荷をかけたくない場合は、オフライン用の配布メディアを用意し、手動で端末300に1台ずつバージョンアップ作業を実施する方法もあるが、1台1台作業を行なう必要があり、このための手間や時間がかかってしまう問題がある。このような場合、本実施の形態の差分配布によるバージョンアップ方式にすれば、ネットワークに負荷をかけずにオンラインで効率的なバージョンアップデータの配布をすることができるといった効果が得られる。
The difference method of the present embodiment is suitable for a case where a large number of terminals 300 are connected to the intermediate server 200 via a network, but the bandwidth is narrow and the number of terminals 300 is large.
If you do not want to apply a network load due to network restrictions, there is a method of preparing offline distribution media and manually performing version upgrade work one by one on the terminal 300, but it is necessary to perform the work one by one. There is a problem that it takes time and effort for this. In such a case, if the version upgrade method based on differential distribution according to the present embodiment is used, an effect is obtained that it is possible to efficiently distribute version upgrade data online without imposing a load on the network.

以下、差分方式の詳細について説明する。
図10は、本実施の形態における中間サーバ200の処理手順を示したフローチャートである。図10に従い、中間サーバ200で行なうバージョンアップの処理手順について説明する。
ステップS10以前の処理動作は、実施の形態1の図8と同様であるので、ここでは説明を省略する。
まず、ステップS10では、配布イメージ方式での配布イメージ200cに替えて、これを生成するために必要な差分情報200bが、中間サーバ200上に既に存在するか否か確認する。存在する場合は、これを再利用すればよいので、ステップS16へ進む。
Hereinafter, details of the difference method will be described.
FIG. 10 is a flowchart showing the processing procedure of the intermediate server 200 in the present embodiment. A version upgrade processing procedure performed by the intermediate server 200 will be described with reference to FIG.
Since the processing operation before step S10 is the same as that in FIG. 8 of the first embodiment, the description thereof is omitted here.
First, in step S10, it is confirmed whether or not the difference information 200b necessary for generating the distribution image 200c in the distribution image method already exists on the intermediate server 200. If it exists, it can be reused, and the process proceeds to step S16.

一方、差分情報200bが存在しない場合は、配布サーバ100上に差分情報200bに相当する差分情報100cが存在するか否か確認し、配布サーバ100上に差分情報100cが存在する場合は、配布サーバ100から差分情報100cを取得し、ステップS16へ進む(図中せず)。配布サーバ100にも差分情報100cが存在しない場合は、ステップS11へ進む。
ステップS11では、中間サーバ200上にバージョンアップする新版の配布イメージ200cが存在するか否か確認する。存在する場合は、ステップS15へ進む。一方、存在しない場合は、新版の配布イメージ200cを生成する必要があることからステップS12へ進む。
On the other hand, if the difference information 200b does not exist, it is checked whether or not the difference information 100c corresponding to the difference information 200b exists on the distribution server 100. If the difference information 100c exists on the distribution server 100, the distribution server The difference information 100c is acquired from 100, and the process proceeds to step S16 (not shown). If the difference information 100c does not exist in the distribution server 100, the process proceeds to step S11.
In step S11, it is confirmed whether or not there is a new version of the distribution image 200c to be upgraded on the intermediate server 200. When it exists, it progresses to step S15. On the other hand, if it does not exist, the process proceeds to step S12 because it is necessary to generate a new distribution image 200c.

ステップS12では、中間サーバ200上に新版の配布イメージ200cを生成するのに必要な差分情報200bが存在するか確認する。存在する場合は、これを流用できるので、ステップS14へ進む。一方、存在しない場合は、配布サーバ100より差分情報100cを取得する必要があるので、S13に進む。
ステップS13では、配布サーバ100から、新版の配布イメージ200cの生成に必要な差分情報100cの取得を行なう。
In step S12, it is confirmed whether or not the difference information 200b necessary for generating the new distribution image 200c exists on the intermediate server 200. If it exists, it can be used, and the process proceeds to step S14. On the other hand, if it does not exist, it is necessary to obtain the difference information 100c from the distribution server 100, so the process proceeds to S13.
In step S13, the difference information 100c necessary for generating the new distribution image 200c is acquired from the distribution server 100.

次に、ステップS14では、配布イメージ生成手段203が新版の配布イメージ200cの生成を行なう。ここでの、新版の配布イメージ200cの生成は、ステップS12で中間サーバ200上に既に存在することが確認された差分情報200b、あるいはステップS13で新たに取得した差分情報200bを、中間サーバ200上にすでにある旧版の配布イメージ200cに適用することで生成する。
なお、ここで行なう差分適用の方式は、実施の形態1で説明した配布イメージ生成手段203による方法と同様とする。
Next, in step S14, the distribution image generation means 203 generates a new version of the distribution image 200c. Here, the new distribution image 200c is generated by using the difference information 200b that has already been confirmed to exist on the intermediate server 200 in step S12 or the difference information 200b newly acquired in step S13 on the intermediate server 200. Are applied to the old version of the distribution image 200c.
Note that the difference application method performed here is the same as the method by the distribution image generation unit 203 described in the first embodiment.

ステップS15では、差分情報生成手段207が端末300に配布する配布用差分情報200b’の生成を行なう。この配布用差分情報200b’の生成は、この時点で新版・旧版それぞれの配布イメージ200cが揃ったことになっているため、両者のバージョン間でのバイナリ差分抽出を行い生成する。
なお、上記のステップS15で生成した配布用差分情報200b’は、配布イメージ200cと同様に、中間サーバ200上に保持され、再利用することができる。
In step S <b> 15, the difference information generation unit 207 generates distribution difference information 200 b ′ distributed to the terminal 300. The distribution difference information 200b 'is generated by extracting the binary difference between the two versions since the distribution images 200c of the new version and the old version are prepared at this point.
Note that the distribution difference information 200b ′ generated in step S15 is retained on the intermediate server 200 and can be reused, like the distribution image 200c.

ステップS16では、配布パッケージ生成手段205が各更新パターン別の端末300向け配布パッケージ200d’の生成を行なう。構成詳細は後述するが、配布用パッケージ200dと配布パッケージ200d‘の構成の違いは2点ある。
1点目は、配布用パッケージ200dは必要コンポーネントの配布イメージ200cを送付していたが、配布パッケージ200d’は配布イメージ200cを配布用差分情報200b’に替えたもの、即ち差分情報配布パッケージとなっており、これにより後者は前者に比べ端末300に送信する情報のサイズを大幅に削減する効果を得ることができる。
また、2点目は、インストールスクリプト中に、パッケージされている配布用差分情報200b’を、端末300上の旧版配布イメージ200cに適用して新版の配布イメージ200cを生成する処理手順が追加された内容となっている。
ステップS16で生成された配布パッケージ200d’は、配布パッケージ200d同様、対象となる端末の更新パターンに適合するものを選択し、端末300に送付される。
In step S16, the distribution package generation means 205 generates a distribution package 200d ′ for the terminal 300 for each update pattern. Although details of the configuration will be described later, there are two differences in configuration between the distribution package 200d and the distribution package 200d ′.
The first point is that the distribution package 200d sent the distribution image 200c of the necessary component, but the distribution package 200d ′ is a difference information distribution package obtained by replacing the distribution image 200c with the distribution difference information 200b ′. As a result, the latter can achieve the effect of greatly reducing the size of information transmitted to the terminal 300 compared to the former.
The second point is that a processing procedure for generating a new distribution image 200c by applying the packaged distribution difference information 200b ′ to the old distribution image 200c on the terminal 300 is added to the installation script. It is a content.
As the distribution package 200d ′ generated in step S16, a package that matches the update pattern of the target terminal is selected and sent to the terminal 300, like the distribution package 200d.

次に、端末へ差分情報を配布するときの配布物の構成について説明する。
図11は、配布パッケージ生成手段205によりステップS16で生成された配布パッケージ200d’の構成図である。
まず、以下の手順で差分方式用の配布パッケージ200d’の生成を行なう。
(A)各更新パターンに対し、必要な差分情報200b’によりソフトウェアを差分更新するためのインストールスクリプトを生成する。
(B)必要な差分更新用の差分情報200bと上記(A)で生成されたインストールスクリプトをパッケージした配布パッケージ200d’の生成を行なう。
なお、上記(A)のインストールスクリプトは、実施の形態1のステップS8で説明したものと同様、更新パターン(インストールする配布イメージ200cの組み合わせ)の数に応じて、生成する必要がある。
また、図7のバージョンアップ例の場合には、端末300aと端末300bで異なる更新パターンとなるため、配布パッケージ200d’はこの2台の端末別に生成する必要がある。
Next, the configuration of a distribution when distributing difference information to a terminal will be described.
FIG. 11 is a configuration diagram of the distribution package 200d ′ generated in step S16 by the distribution package generation unit 205.
First, the distribution package 200d ′ for the differential method is generated according to the following procedure.
(A) For each update pattern, an install script for updating the software with the necessary difference information 200b ′ is generated.
(B) A distribution package 200d ′ in which the difference information 200b for necessary difference update and the installation script generated in (A) is packaged is generated.
Note that the installation script (A) needs to be generated according to the number of update patterns (combinations of distribution images 200c to be installed) as described in step S8 of the first embodiment.
In the case of the version upgrade example in FIG. 7, since the update patterns differ between the terminal 300a and the terminal 300b, the distribution package 200d ′ needs to be generated for each of the two terminals.

配布パッケージ200d’を生成するにあたり、上記(A)で生成するインストールスクリプトの内容は、実施の形態1のステップS8で生成したインストールスクリプトに以下の処理を追加したものとなっている。
即ち、新版の配布イメージ200cをインストールする前に、この新版の配布イメージ200cを端末上の旧版配布イメージ200cと配布パッケージ200d’中の差分情報200b’から差分適用により生成するための差分適用処理が追加で記述されている。
なお、上記の差分適用処理は、差分適用プログラム(図示せず)を用意して行なうものとする。この差分適用プログラムの提供方法は、配布パッケージ200d’に添付する、あるいは事前に各端末300上に配布して用意しておく、などにより行なうものとする。
In generating the distribution package 200d ′, the contents of the installation script generated in (A) above are obtained by adding the following processing to the installation script generated in step S8 of the first embodiment.
That is, before installing the new version of the distribution image 200c, a difference application process for generating the new version of the distribution image 200c from the old version distribution image 200c on the terminal and the difference information 200b ′ in the distribution package 200d ′ by difference application is performed. It is described in addition.
Note that the difference application process is performed by preparing a difference application program (not shown). The method of providing the difference application program is performed by attaching to the distribution package 200d ′ or by distributing and preparing the program on each terminal 300 in advance.

次に、端末に差分情報を配布するケース1の方式について、図7のバージョンアップ例の場合を例に、図10のフローチャートに従い説明する。
具体的には、中間サーバ200に対し、端末300a、端末300bの2台の端末が同時にバージョンアップ要求を発行する場合の動作について説明する。
この場合、2台合わせて必要となる差分情報200b’は以下のとおりである。
(X)Comp1の8.1B→8.3D(端末300a用)
(Y)Comp1の8.2C→8.3D(端末300b用)
(Z)Comp2の8.0A→8.1B(端末300a用)
次に、上記の(X)〜(Z)について、それぞれ必要となる差分情報200bを準備する手順について説明する。
ステップS10〜ステップS15の動作を、上記の(X)〜(Z)の順で実行する場合について説明する。
Next, the method of Case 1 for distributing difference information to terminals will be described with reference to the flowchart of FIG. 10 by taking the version upgrade example of FIG. 7 as an example.
Specifically, the operation when two terminals, the terminal 300a and the terminal 300b, issue a version upgrade request to the intermediate server 200 will be described.
In this case, the difference information 200b ′ required for the two units is as follows.
(X) 8.1B of Comp1 → 8.3D (for terminal 300a)
(Y) Comp1 8.2C → 8.3D (for terminal 300b)
(Z) Comp2 8.0A → 8.1B (for terminal 300a)
Next, a procedure for preparing the necessary difference information 200b for the above (X) to (Z) will be described.
A case where the operations of Steps S10 to S15 are executed in the order of the above (X) to (Z) will be described.

まず、最初に実行する(X)の場合は、Comp1の8.3Dのバージョンアップを配下の端末300で一度も実施していないため、中間サーバ200上には差分情報200bは存在しない。
ステップS10では、差分情報取得手段202により、(Z)の配布用差分情報200bは存在しないと判定される。
ステップS11では、差分情報取得手段202により、(Z)を作成するための新版の8.3Dの配布イメージ200cが存在するか否か確認され、ここでは存在しないと判定される。
ステップS12では、差分情報取得手段202により、ステップS11で存在しないと判定された新版の8.3Dの配布イメージ200cを作成するのに必要となる差分情報8.2C→8.3Dの差分情報200bが中間サーバ200上に存在するか否か確認される。ここでは、過去に新版の8.3Dの配布イメージ200cを生成した実績がないので、存在しないと判定される。
First, in the case of (X) to be executed first, since the 8.3D version upgrade of Comp1 has never been performed on the subordinate terminal 300, the difference information 200b does not exist on the intermediate server 200.
In step S10, the difference information acquisition unit 202 determines that the distribution difference information 200b of (Z) does not exist.
In step S11, the difference information acquisition unit 202 confirms whether or not there is a new 8.3D distribution image 200c for creating (Z), and determines that it does not exist here.
In step S12, the difference information acquisition unit 202 determines the difference information 8.2C → 8.3D difference information 200b necessary to create the new version 8.3D distribution image 200c determined not to exist in step S11. Is present on the intermediate server 200. Here, since there is no track record of generating a new version 8.3D distribution image 200c in the past, it is determined that it does not exist.

次に、ステップS13では、差分情報取得手段202により、配信サーバ100から、8.2C→8.3Dの差分情報100cを取得する。
ステップS14では、配布イメージ生成手段203により、新版の8.3Dの配布イメージ200c‘が生成される。新版の8.3Dの配布イメージ200c‘の生成は、ステップS13で取得された差分情報を、既存の旧版8.2Cの配布イメージ200cに適用することにより生成される。
ステップS15では、差分情報生成手段206により、(Z)の配布用差分情報200b’を、ステップS14で作成された新版の配布イメージ200c‘と既存の旧版の配布イメージ200cとにより生成される。
Next, in step S <b> 13, the difference information acquisition unit 202 acquires 8.2C → 8.3D difference information 100 c from the distribution server 100.
In step S14, the distribution image generation means 203 generates a new version 8.3D distribution image 200c ′. The new version 8.3D distribution image 200c ′ is generated by applying the difference information acquired in step S13 to the existing old version 8.2C distribution image 200c.
In step S15, the difference information generating means 206 generates (Z) distribution difference information 200b ′ from the new distribution image 200c ′ created in step S14 and the existing old distribution image 200c.

次に、2番目に実行する(Y)の場合は、上記の(X)のステップS13で配信サーバ100から取得した8.2C→8.3Dの差分情報100cを再利用する。
また、3番目に実行する(Z)の場合は、既に過去に、端末300bで8.0A→8.1Bの更新が実行されているので、その差分情報200bが中間サーバ200上に残っており、これを再利用するものとする.
Next, in the case of the second execution (Y), the difference information 100c of 8.2C → 8.3D acquired from the distribution server 100 in step S13 of (X) is reused.
In the case of the third execution (Z), since the update of 8.0A → 8.1B has already been executed in the terminal 300b in the past, the difference information 200b remains on the intermediate server 200. This shall be reused.

この結果、ステップS16の配布パッケージ200d’の生成では、端末300a用にパッケージする差分情報200b’は、Comp1用には上記で説明したように新たに中間サーバ上でローカルに生成したもの、Comp2用には既存のものを選択すればよい。また、端末300b用には、上記のステップS133で配布サーバ100から取得したものを再利用することとして選択すればよい。   As a result, in the generation of the distribution package 200d ′ in step S16, the difference information 200b ′ packaged for the terminal 300a is newly generated locally on the intermediate server as described above for Comp1, for Comp2. You can choose an existing one. Moreover, what is necessary is just to select as reusing what was acquired from the distribution server 100 by said step S133 for the terminal 300b.

次に、上記のケース1で説明した方式とは違う端末に差分情報を配布するケース2の方式について説明する。
具体的には、例えば、端末300a、端末300bの2台の端末を、異なるタイミングで、この順序で、中間サーバ200にバージョンアップ要求を発行する場合の動作について説明する。
まず、端末300aに必要な差分情報200bは、上記の2台の端末が同時にバージョンアップ要求を発行する場合であるケース1の(X)、(Z)であるとする。
また、上記のケース1と同様に、(Z)は中間サーバ上に既にあるので再利用できる。
さらに、上記のケース1と同様に、(X)は中間サーバ200上になく、また配布サーバ100上にもない。
Next, a case 2 method for distributing difference information to terminals different from the method described in case 1 will be described.
Specifically, for example, an operation when two terminals, the terminal 300a and the terminal 300b, issue an upgrade request to the intermediate server 200 in this order at different timings will be described.
First, it is assumed that the difference information 200b necessary for the terminal 300a is (X) and (Z) in Case 1, which is a case where the two terminals issue a version upgrade request at the same time.
Also, as in case 1 above, (Z) is already on the intermediate server and can be reused.
Further, as in case 1 above, (X) is not on the intermediate server 200 or on the distribution server 100.

これより、上記のケース1と同様のステップS10〜ステップS14の手順にて、新版の8.3Dの配布イメージ200c‘を生成し、上記の2台の端末が同時にバージョンアップ要求を発行する場合と同様に端末300a用の配布パッケージ200d’を生成すればよい。
また、端末300b用に必要な差分情報200bは、上記のケース1の(Y)であるため、上記と同様、中間サーバ20上に存在するので、これを再利用すればよい。
さらに、配布パッケージ200d’も上記のケース1と同様に生成すればよい。
As a result, a new version 8.3D distribution image 200c ′ is generated in the same procedure of step S10 to step S14 as in case 1 above, and the above two terminals issue version upgrade requests at the same time. Similarly, a distribution package 200d ′ for the terminal 300a may be generated.
Also, since the difference information 200b necessary for the terminal 300b is (Y) in the above case 1, it exists on the intermediate server 20 as described above, so that it may be reused.
Further, the distribution package 200d ′ may be generated in the same manner as in the case 1 described above.

次に、上記のケース1、ケース2で説明した方式とは違う端末に差分情報を配布するケース3の方式について説明する。
例えば、端末300b、300aをこの順序で異なるタイミングで中間サーバ200にバージョンアップ要求を発行する場合の動作について説明する。
まず、先の端末300bで必要な差分情報200bは、上記のケース1、2で説明したとおり、(Y)である。
しかし、Comp1の8.3Dのバージョンアップの実績がないので、中間サーバ200上には存在しない。また、Comp1の8.3Dにバージョンアップするための8.2C→8.3Dの差分情報200bも存在しない。
この差分は、バージョンアップ1回分の差分であるので配布サーバ100より取得する。
これにより、必要な配布用差分情報200bが準備できたので、これをパッケージした配布パッケージ200d’を生成すればよい。
Next, a case 3 method for distributing difference information to terminals different from the methods described in case 1 and case 2 will be described.
For example, an operation when the terminals 300b and 300a issue a version upgrade request to the intermediate server 200 at different timings in this order will be described.
First, the difference information 200b necessary for the previous terminal 300b is (Y) as described in the cases 1 and 2 above.
However, since there is no track record of upgrading 8.3D of Comp1, it does not exist on the intermediate server 200. Also, there is no difference information 200b of 8.2C → 8.3D for upgrading to 8.3D of Comp1.
This difference is obtained from the distribution server 100 because it is a difference for one version upgrade.
As a result, the necessary distribution difference information 200b is prepared, and a distribution package 200d ′ in which this is packaged may be generated.

次に、端末300a用であるが、必要な差分情報200bは上記のケース1、2で説明したとおり(X)、(Z)である。
(Z)は上記のケース1、2と同様に、中間サーバ200上に既にあるのでこれを再利用できる。
また、(X)は中間サーバ200上にも、配布サーバ100上にもない。このため、上記の2台同一の場合と同様にステップS10〜ステップS14の手順にて生成すればよい。ただし、このうちステップS13で取得する8.2C→8.3Dの差分情報100bは、先の端末300b用に中間サーバ上に取得すみであるので、ステップS12からステップS14へスキップする形となる。
以上のように、端末300a用の配布パッケージ200d’は、先の同時のケースと同様、(X)と(Z)をパッケージして生成すればよい。
Next, for the terminal 300a, the necessary difference information 200b is (X) and (Z) as described in cases 1 and 2 above.
Since (Z) is already on the intermediate server 200 as in the cases 1 and 2, it can be reused.
Further, (X) is neither on the intermediate server 200 nor on the distribution server 100. For this reason, what is necessary is just to produce | generate by the procedure of step S10-step S14 similarly to the case where said 2 units | sets are the same. However, the difference information 100b of 8.2C → 8.3D acquired in step S13 is only acquired on the intermediate server for the previous terminal 300b, so that the process skips from step S12 to step S14.
As described above, the distribution package 200d ′ for the terminal 300a may be generated by packaging (X) and (Z) as in the previous simultaneous case.

なお、本発明では、実施の形態1で説明した配布イメージ配布方式と実施の形態2で説明した差分配布方式を併用しても良い。このようにすることにより、中間サーバ200上に既に生成済みの配布イメージ200cあるいは差分情報200b及び差分情報200b’を極力利用するような運用も可能であり、中間サーバ200の負荷削減、配布サーバ100との通信削減の効果を期待できる。
例えば、バージョンアップに必要な配布イメージ200cがなくても、これを生成するための差分情報200bがある場合は、差分方式の配布パッケージ200d’を生成、配布することが可能となる。
In the present invention, the distribution image distribution method described in the first embodiment and the difference distribution method described in the second embodiment may be used in combination. By doing so, it is possible to operate the distribution image 200c already generated on the intermediate server 200 or the difference information 200b and the difference information 200b ′ as much as possible, reducing the load on the intermediate server 200, and distributing the server 100. You can expect the effect of reducing communication with.
For example, even if there is no distribution image 200c required for version upgrade, if there is difference information 200b for generating the distribution image 200c, it is possible to generate and distribute a difference distribution package 200d ′.

以上のように本実施の形態によれば、中間サーバ200が、端末300のソフトウェアバージョンアップのために必要な差分情報を端末300に配布することにより、中間サーバ200が端末300のバージョンアップのために端末300に配布する情報を最小限のアクセス及び最小限の情報量により効率よく行なうことできるので、ネットワークの負荷削減、CPU/ディスク容量などのリソース節約、実行時間短縮といった効果を得ることができる。また、これにより、端末300のソフトウェアのバージョンアップが短時間にでき、効率的な端末ソフトウェアのバージョンアップを実行することができる。     As described above, according to the present embodiment, the intermediate server 200 distributes the difference information necessary for upgrading the software version of the terminal 300 to the terminal 300, so that the intermediate server 200 can upgrade the version of the terminal 300. Since the information distributed to the terminal 300 can be efficiently performed with the minimum access and the minimum amount of information, it is possible to obtain the effects of reducing the load on the network, saving resources such as CPU / disk capacity, and shortening the execution time. . Accordingly, the software upgrade of the terminal 300 can be performed in a short time, and the terminal software can be efficiently upgraded.

実施の形態1のソフトウェア2次配布システムの構成図。1 is a configuration diagram of a software secondary distribution system according to Embodiment 1. FIG. 実施の形態1において配布対象となるソフトウェアの構成と更新状況の説明図。FIG. 3 is an explanatory diagram of the configuration and update status of software to be distributed in the first embodiment. 実施の形態1における配布サーバ100の構成図。1 is a configuration diagram of a distribution server 100 according to Embodiment 1. FIG. 実施の形態1における配布プログラム100bの説明図。Explanatory drawing of the distribution program 100b in Embodiment 1. FIG. 実施の形態1における差分情報100cの説明図。Explanatory drawing of the difference information 100c in Embodiment 1. FIG. 実施の形態1における中間サーバ200の構成図。FIG. 2 is a configuration diagram of an intermediate server 200 in the first embodiment. 実施の形態1における端末のバージョンアップ例についての説明図。Explanatory drawing about the version upgrade example of the terminal in Embodiment 1. FIG. 実施の形態1における中間サーバ200の処理手順を示したフローチャート。3 is a flowchart showing a processing procedure of the intermediate server 200 in the first embodiment. 実施の形態1における配布パッケージ200dの構成図。The block diagram of the distribution package 200d in Embodiment 1. FIG. 実施の形態2における中間サーバ200の処理手順を示したフローチャート。9 is a flowchart illustrating a processing procedure of the intermediate server 200 according to the second embodiment. 実施の形態2において配布パッケージ生成手段205により生成された配布パッケージ200d’の構成図。The block diagram of distribution package 200d 'produced | generated by the distribution package production | generation means 205 in Embodiment 2. FIG.

符号の説明Explanation of symbols

100 配布サーバ、101 構成情報管理手段、102 差分情報生成手段、200 中間サーバ、201 バージョン確認手段、202 差分情報取得手段、203 配布イメージ生成手段、204 配布イメージ保持手段、205 配布パッケージ生成手段、 206 配布パッケージ送信手段、207 差分情報生成手段、300 端末。   DESCRIPTION OF SYMBOLS 100 Distribution server 101 Configuration information management means 102 Difference information generation means 200 Intermediate server 201 Version confirmation means 202 Difference information acquisition means 203 Distribution image generation means 204 Distribution image holding means 205 Distribution package generation means 206 Distribution package transmission means, 207 difference information generation means, 300 terminal.

Claims (8)

ソフトウェアを更新する新旧ソフトウェアの差分情報が保存された配布サーバと、
インストールされたソフトウェアの更新要求を中間サーバに送信し、前記中間サーバから受信した配布パッケージを前記インストールされたソフトウェアに適用して更新する端末と、
過去のソフトウェア更新に利用された更新情報と前記差分情報とを過去更新情報と過去差分情報として保持する更新情報保持手段と、
前記端末により前記更新要求が送信された時にこの更新要求に対応した前記過去更新情報と前記過去差分情報とが前記更新情報保持手段に存在しない場合に前記配布サーバに保存された前記差分情報の中から前記更新要求に対応した差分情報を取得する差分情報取得手段と、
前記差分情報取得手段により取得された前記差分情報と前記過去更新情報とに基づいて前記更新要求に対応した前記更新情報を生成する更新情報生成手段と、
前記更新情報生成手段により生成された前記更新情報とこの更新情報を前記端末にインストールする手順とがパッケージされた配布パッケージを生成する配布パッケージ生成手段と、
前記配布パッケージ生成手段により生成された配布パッケージを前記端末に送信する配布パッケージ送信手段と
を有する前記中間サーバと、
を備えたことを特徴とするソフトウェア更新情報配布システム。
A distribution server that stores the difference information between the old and new software that updates the software;
A terminal that transmits an update request for the installed software to the intermediate server, and updates the distribution package received from the intermediate server by applying to the installed software ;
Update information holding means for the used in the past software updates were the update information and the difference information held by the past updating information and past difference information,
Among the difference information stored in the distribution server when the update request is transmitted by the terminal and the past update information corresponding to the update request and the past difference information do not exist in the update information holding unit. Difference information acquisition means for acquiring difference information corresponding to the update request from,
Update information generation means for generating the update information corresponding to the update request based on the difference information acquired by the difference information acquisition means and the past update information ;
Distribution package generation means for generating a distribution package in which the update information generated by the update information generation means and a procedure for installing the update information in the terminal are packaged;
It said intermediate server and a distribution package transmission means for transmitting a distribution package generated by the distribution package generating means to said terminal,
A software update information distribution system comprising:
前記配布サーバは、ソフトウェアを構成する複数のコンポーネントとソフトウェアのバージョンとの対応関係が定義された構成情報を管理する構成情報管理手段と、前記構成情報に基づいて前記差分情報を生成する差分情報生成手段と、を備えたことを特徴とする請求項1記載のソフトウェア更新情報配布システム。   The distribution server includes configuration information management means for managing configuration information in which a correspondence relationship between a plurality of components constituting software and software versions is defined, and difference information generation for generating the difference information based on the configuration information The software update information distribution system according to claim 1, further comprising: means. 前記構成情報管理手段は、ソフトウェアのプログラム実態を示す配布プログラムを前記配布サーバに登録し、
前記配布サーバは、前記構成情報管理手段により前記配布プログラムが登録された時に前記構成情報を前記中間サーバに送信し、
前記中間サーバは、前記端末から前記更新要求が送信された時に前記配布サーバにより送信された前記構成情報に基づいて更新するコンポーネントとソフトウェアのバージョンとを確認することを特徴とする請求項2記載のソフトウェア更新情報配布システム。
The configuration information management means registers a distribution program indicating the actual state of software programs in the distribution server,
The distribution server transmits the configuration information to the intermediate server when the distribution program is registered by the configuration information management means,
The said intermediate | middle server confirms the component and software version which are updated based on the said configuration information transmitted by the said distribution server, when the said update request | requirement is transmitted from the said terminal. Software update information distribution system.
前記更新情報生成手段は、前記端末により前記更新要求が送信された時にこの更新要求に対応した前記過去更新情報が前記更新情報保持手段に存在した場合にこの過去更新情報に基づいて前記更新要求に対応した前記更新情報を生成することを特徴とする請求項1記載のソフトウェア更新情報配布システム。   The update information generation means, when the update request is transmitted by the terminal, when the past update information corresponding to the update request exists in the update information holding means, 2. The software update information distribution system according to claim 1, wherein the corresponding update information is generated. 前記更新情報生成手段は、前記端末により前記更新要求が送信された時にこの更新要求に対応した前記過去差分情報が前記更新情報保持手段に存在した場合にこの過去差分情報と前記過去更新情報とに基づいて前記更新要求に対応した前記更新情報を生成することを特徴とする請求項1記載のソフトウェア更新情報配布システム。 The update information generation means includes the past difference information and the past update information when the past difference information corresponding to the update request exists in the update information holding means when the update request is transmitted by the terminal. 2. The software update information distribution system according to claim 1, wherein the update information corresponding to the update request is generated based on the update request. 前記中間サーバは、前記配布パッケージ生成手段により生成された前記配布パッケージを前記端末で利用するための記憶媒体にコピーすることを特徴とする請求項1記載のソフトウェア更新情報配布システム。   2. The software update information distribution system according to claim 1, wherein the intermediate server copies the distribution package generated by the distribution package generation means to a storage medium for use by the terminal. 前記中間サーバは、前記更新情報生成手段により生成された前記更新情報に基づいて前記端末に送信する配布用差分情報を生成する差分情報生成手段を備え、
前記配布パッケージ生成手段は、前記差分情報生成手段により生成された前記配布用差分情報とこの配布用差分情報を前記端末にインストールされたソフトウェアに適用する手順とがパッケージされた差分情報配布パッケージを生成し、
前記配布パッケージ送信手段は、前記配布パッケージ生成手段により生成された差分情報配布パッケージを前記端末に送信することを特徴とする請求項1記載のソフトウェア更新情報配布システム。
The intermediate server includes difference information generation means for generating distribution difference information to be transmitted to the terminal based on the update information generated by the update information generation means,
The distribution package generation unit generates a difference information distribution package in which the difference information for distribution generated by the difference information generation unit and a procedure for applying the distribution difference information to software installed on the terminal are packaged. And
2. The software update information distribution system according to claim 1, wherein the distribution package transmission unit transmits the difference information distribution package generated by the distribution package generation unit to the terminal.
中間サーバが実行する、
過去のソフトウェア更新に利用された更新情報と差分情報とを過去更新情報と過去差分情報として保持する更新情報保持ステップと、
端末によりこの端末にインストールされたソフトウェアの更新要求が送信された時にこの更新要求に対応した前記過去更新情報と前記過去差分情報とが存在しない場合にソフトウェアを更新する新旧ソフトウェアの差分情報が保存された配布サーバから前記更新要求に対応した差分情報を取得する差分情報取得ステップと、
前記差分情報取得ステップにより取得された前記差分情報と前記過去更新情報とに基づいて前記更新要求に対応した前記更新情報を生成する更新情報生成ステップと、
前記更新情報生成ステップにより生成された前記更新情報とこの更新情報を前記端末にインストールする手順とがパッケージされた配布パッケージを生成する配布パッケージ生成ステップと、
前記配布パッケージ生成ステップにより生成された配布パッケージを前記端末に送信する配布パッケージ送信ステップと、
を備えたことを特徴とするソフトウェア更新情報配布方法。
The intermediate server runs,
Update information holding step of holding the past software updates and difference information used to update the historical update information and past difference information,
When the update request of the software installed in this terminal is transmitted by the terminal, the difference information of the old and new software that updates the software is stored when the past update information corresponding to the update request and the past difference information do not exist. A difference information acquisition step of acquiring difference information corresponding to the update request from the distribution server;
An update information generation step for generating the update information corresponding to the update request based on the difference information acquired by the difference information acquisition step and the past update information ;
A distribution package generation step of generating a distribution package in which the update information generated by the update information generation step and a procedure for installing the update information in the terminal are packaged;
A distribution package transmission step of transmitting the distribution package generated by the distribution package generation step to the terminal;
A software update information distribution method characterized by comprising:
JP2005110512A 2005-04-07 2005-04-07 Software update information distribution system and software update information distribution method Expired - Fee Related JP4770242B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005110512A JP4770242B2 (en) 2005-04-07 2005-04-07 Software update information distribution system and software update information distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005110512A JP4770242B2 (en) 2005-04-07 2005-04-07 Software update information distribution system and software update information distribution method

Publications (2)

Publication Number Publication Date
JP2006293512A JP2006293512A (en) 2006-10-26
JP4770242B2 true JP4770242B2 (en) 2011-09-14

Family

ID=37414051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005110512A Expired - Fee Related JP4770242B2 (en) 2005-04-07 2005-04-07 Software update information distribution system and software update information distribution method

Country Status (1)

Country Link
JP (1) JP4770242B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5113699B2 (en) * 2008-09-24 2013-01-09 株式会社日立ソリューションズ Firmware update system and update image generation / distribution server device
JP5298996B2 (en) * 2009-03-18 2013-09-25 株式会社リコー Information processing apparatus, software distribution server, software distribution system, software distribution method and program
JP2010244141A (en) * 2009-04-01 2010-10-28 Hitachi Software Eng Co Ltd Home network system, gateway device and firmware update method
JP5559001B2 (en) * 2010-10-15 2014-07-23 株式会社日立ソリューションズ Embedded program update method, embedded program update program, electronic device, network system
US8924950B2 (en) * 2012-12-17 2014-12-30 Itron, Inc. Utility node software/firmware update through a multi-type package
US8938730B2 (en) 2012-12-17 2015-01-20 Itron, Inc. Utilizing a multi-system set configuration to update a utility node system set
CN104714811A (en) * 2013-12-13 2015-06-17 中兴通讯股份有限公司 Method and device for manufacturing difference upgrade package and system difference upgrade method and device
JPWO2017145357A1 (en) * 2016-02-26 2018-06-07 三菱電機株式会社 Information processing apparatus, information processing method, and information processing program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175237A (en) * 2000-12-05 2002-06-21 Mitsubishi Electric Corp Relay system, program relay system, relay method, and computer readable recording medium recording relay program
JP2003099297A (en) * 2001-09-20 2003-04-04 Hitachi Information Systems Ltd System and method for file distribution, program, and recording medium

Also Published As

Publication number Publication date
JP2006293512A (en) 2006-10-26

Similar Documents

Publication Publication Date Title
JP4770242B2 (en) Software update information distribution system and software update information distribution method
CN110572436B (en) Multi-place cross-cluster server deployment method and system
US8578371B2 (en) Software distribution method and system with automatic prerequisite installation
US20020099726A1 (en) Method and system for distribution of file updates
US20030221094A1 (en) Method and system for configuring a computer
US20120272204A1 (en) Uninterruptible upgrade for a build service engine
CN107193607B (en) Method and apparatus for updating code file, storage medium, processor, and terminal
JP2009230171A (en) Update management program, management node, update management method, and cluster system
US20100162227A1 (en) Automation of Mainframe Software Deployment
US10673944B2 (en) Synchronization of components in heterogeneous systems
CN101788892A (en) Label printing system
CN104134109A (en) Engineering configuration method and engineering configuration system integrating version management
CN102420873A (en) Compound network brand new cloud application platform
WO2012062113A1 (en) Method and system for realizing multi-core hot patching
JPH10171635A (en) System and method for managing software resource in distributed environments
US20200133709A1 (en) System and method for content - application split
WO2017000586A1 (en) Method and device for upgrading virtual network element, and computer storage medium
JP2007280415A (en) Management device, version management system and program version management method
JP2018180722A (en) Data management system
JP2006011781A (en) Installation system, installation method, distribution apparatus, and program for the same
WO2022003909A1 (en) Communication device, communication device control system, communication device control method, and program
KR101571801B1 (en) Syntagmatic management apparatus for controlling setting of management device and control method thereof
JP2005107708A (en) Application distribution system
JP2008090485A (en) Job management device, system and program
CN116400983B (en) Integrated management method and system for large-scale plug-in

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110422

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: 20110524

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: 20110606

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4770242

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

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