[go: up one dir, main page]

JP2018190341A - System and distribution method - Google Patents

System and distribution method Download PDF

Info

Publication number
JP2018190341A
JP2018190341A JP2017094880A JP2017094880A JP2018190341A JP 2018190341 A JP2018190341 A JP 2018190341A JP 2017094880 A JP2017094880 A JP 2017094880A JP 2017094880 A JP2017094880 A JP 2017094880A JP 2018190341 A JP2018190341 A JP 2018190341A
Authority
JP
Japan
Prior art keywords
version
update
application
firmware
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017094880A
Other languages
Japanese (ja)
Inventor
慶諾 大嶋
Keita Oshima
慶諾 大嶋
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017094880A priority Critical patent/JP2018190341A/en
Publication of JP2018190341A publication Critical patent/JP2018190341A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】デバイスのソフトウェアを更新する際のサーバの負荷を低減できる配信システムを提供する。【解決手段】配信システムは、ソフトウェア配信とは非同期に、予めファームウェアとアプリケーションのバージョン依存関係を考慮して、各デバイスに配信する予定のファームウェアとアプリケーションの適切なバージョンの組合せを求めておく。自動更新時に、デバイスから現在のファームウェアバージョンを受信し、予め求めておいたファームウェアとアプリケーションの適切なバージョンの組合せにより配信する。【選択図】図5PROBLEM TO BE SOLVED: To provide a distribution system capable of reducing a load on a server when updating software of a device. SOLUTION: The distribution system, asynchronously with software distribution, considers the version dependency between firmware and application in advance, and obtains an appropriate combination of firmware and application to be distributed to each device. At the time of automatic update, the current firmware version is received from the device and delivered by the combination of the firmware and the appropriate version of the application requested in advance. [Selection diagram] FIG. 5

Description

本発明は、デバイス等のクライアントにインストールされるソフトウェアを管理して配信するシステム及び配信方法に関する   The present invention relates to a system and a distribution method for managing and distributing software installed in a client such as a device.

複合機等のデバイスにおいては、デバイス本来の組み込み機能を実現するためのファームウェアと、利用者毎に後からインストールして使用するアプリケーションという二種類のソフトウェアが利用可能である。通常、アプリケーションは、利用者によって選択され、インストール、起動される。アプリケーションには、利用するために追加の利用料金(ライセンス)が必要な場合もある。   In a device such as a multifunction peripheral, two types of software, firmware for realizing the intrinsic function of the device and an application installed and used later for each user, can be used. Usually, an application is selected, installed, and activated by a user. An application may require an additional usage fee (license) for use.

ところで、ファームウェアおよびアプリケーション(まとめてソフトウェアと呼ぶ。)は、不具合の修正や機能拡張のためにバージョンアップが実施される場合がある。そして、バージョンアップでは、ファームウェアだけでなく、アプリケーションであっても、デバイスの製造元あるいは販売者によってバージョンアップ版のインストールが行われる場合もある。さらに、ソフトウェアのインストールあるいはバージョンアップ版ソフトウェアへの更新において、デバイスをネットワーク経由で配信サーバに接続し、デバイスに対して遠隔地からのソフトウェア配信も行われている。   By the way, firmware and applications (collectively referred to as software) may be upgraded for defect correction and function expansion. In the version upgrade, not only the firmware but also the application may be installed by the device manufacturer or the seller. Furthermore, when installing software or updating to upgraded software, devices are connected to a distribution server via a network, and software distribution from a remote location is also performed.

一般的にPCや携帯端末などでは、クライアントから自動で定期的に配信サーバに問い合わせてソフトウェアのバージョンアップを行う仕組みが提供されている。これらのクライアントにおいて、配信サーバへの問い合わせおよびバージョンアップのタイミングは、クライアント側の設定をする利用者が常時存在することから、比較的自由なタイミングを選ぶことが出来る。   In general, PCs and mobile terminals provide a mechanism for automatically inquiring of a distribution server from a client periodically to upgrade software. In these clients, the inquiry to the distribution server and the timing of version upgrade can be selected relatively freely because there are always users who make settings on the client side.

複合機等のデバイスにおいても、同様の自動バージョンアップを行う仕組みの要求が存在する。しかしながら、オフィス等の中で不特定多数のユーザが利用する一方、そのデバイスの管理者は遠隔地にいることが多い。したがって、これらのデバイスの特徴として、自動バージョンアップが可能なタイミングはどのデバイスにおいても高々一種類である。すなわち、そのデバイスを利用するオフィス業務が休みとなるタイミングである。これは、週の特定曜日のその地域における深夜、多くの業態では、週末の深夜に限られる。このため、各デバイスのファームウェアおよびデバイス上で動作しているアプリケーションの自動バージョンアップは、この限られたタイミングでまとめて実施する必要がある。   There is also a demand for a mechanism for performing the same automatic version upgrade in devices such as multifunction peripherals. However, while an unspecified number of users use it in an office or the like, the manager of the device is often in a remote place. Therefore, as a feature of these devices, there is at most one kind of timing at which automatic version upgrade is possible in any device. That is, it is the timing when office work using the device is closed. This is limited to late nights in the area on a particular day of the week, and in many business categories, late nights on weekends. For this reason, the firmware version of each device and the automatic version upgrade of the application running on the device must be collectively implemented at this limited timing.

ところで、デバイスで動作するアプリケーションのバージョンは、そのプラットフォームの一部を構成するファームウェアのバージョンに依存する場合がある。例えば、ファームウェアのバージョンアップ前に更新が必要なアプリケーションのバージョンや、あるバージョンのアプリケーションの動作に必要なファームウェアのバージョンが限定されている場合などである。例えば、特許文献1のように、インストール情報を送信して複数のアップデートデータを取得するとともにアップデートの順序を示す順序情報を取得する管理装置が提案されている。ここでの配信サーバは、複数ソフトウェア間のバージョンに依らず整合性がある場合にはアップデート順序を指定しない順序情報を生成し、バージョンに依り整合性が無い場合にはアップデート順序を指定する順序情報を生成する。   By the way, the version of an application that runs on a device may depend on the version of firmware that forms part of the platform. For example, there is a case where the version of an application that needs to be updated before upgrading the firmware or the version of the firmware that is necessary for the operation of a certain version of the application is limited. For example, as in Patent Document 1, a management apparatus that transmits installation information to acquire a plurality of update data and acquires order information indicating the order of updates has been proposed. The distribution server here generates order information that does not specify the update order when there is consistency regardless of the versions between multiple software, and order information that specifies the update order when there is no consistency depending on the versions Is generated.

特許第5293522号公報Japanese Patent No. 5293522

デバイスの利用者は、全てのアプリケーションを常に最新に維持することを望むとは限らない。利用者個々の事情で、特定のバージョンを使い続けたい場合がある。また、デバイスやアプリケーションの販売者側の観点でも、セキュリティ対策、緊急障害対応等、サービスマンの判断で配信するものに限定してアプリケーションのバージョンアップを行う場合がある。   Device users do not always want to keep all applications up to date. There are times when you want to continue to use a specific version for each user's circumstances. Further, from the viewpoint of the device or application seller, there are cases where the application version is upgraded only to those distributed at the discretion of the service person, such as security measures and emergency failure response.

このため、配信するアプリケーションとバージョンの判断、すなわち更新対象のアプリケーションの特定とそのバージョンの特定とをデバイス毎に行う必要がある。この判断には、ファームウェアのバージョンアップ判定、アプリケーション毎のバージョンアップ判定、ファームウェアのバージョンに依存するアプリケーションのバージョンアップ判定、の三つが必要である。   For this reason, it is necessary to determine the application to be distributed and the version, that is, to specify the update target application and the version for each device. This determination requires three types: firmware upgrade determination, application upgrade determination for each application, and application upgrade determination depending on the firmware version.

しかしながら、上述の通り、限られた一つのタイミングで、この三つの判定を同時に実施すると、配信処理時のサーバ負荷が大きくなる。   However, as described above, if these three determinations are performed simultaneously at one limited timing, the server load during the distribution process increases.

本発明は上記従来例に鑑みて成されたもので、デバイスのソフトウェアを更新する際のサーバの負荷を低減することができるソフトウェアシステム及び方法を提供することを目的とする。   The present invention has been made in view of the above conventional example, and an object of the present invention is to provide a software system and method capable of reducing the load on a server when updating device software.

上記目的を達成するために本発明は以下の構成を有する。   In order to achieve the above object, the present invention has the following configuration.

複数のデバイスと配信システムとを含むシステムであって、
前記配信システムは、
デバイスにインストールされているファームウェア及びアプリケーションのバージョン情報と、前記ファームウェア及びアプリケーションの更新予定のバージョン情報とを、デバイスIDごとに管理する管理手段と、
前記デバイスからの該デバイスのデバイスIDと該デバイスにインストールされているアプリケーションのバージョン情報を含む更新通知の受信に応じて、前記管理手段により管理される前記デバイスにインストールされているアプリケーションのバージョン情報を更新し、さらに、前記管理手段により管理された前記ファームウェア及びアプリケーションの更新予定のバージョン情報の更新を行う更新手段と、
前記デバイスから、該デバイスのデバイスIDと該デバイスにインストールされているファームウェアのバージョン情報とを含む、ファームウェアの更新の確認要求を受信する受信手段と、
前記受信手段により受信した前記確認要求に含まれる情報が示す前記ファームウェアのバージョン情報に基づいて該ファームウェアの更新予定のバージョン情報を特定し、さらに、前記管理手段で前記確認要求に含まれるデバイスIDに対応する前記アプリケーションについての更新予定が既に管理されていた際には、当該更新予定に基づいて、前記デバイスにインストールされているアプリケーションについての更新予定のバージョン情報の特定を行う特定手段と、
特定された前記ファームウェアの更新予定のバージョン情報と前記アプリケーションの更新予定のバージョン情報とを前記確認要求への応答として、前記デバイスに送信する応答手段と、を有し、
前記デバイスでは、前記応答に従い前記ファームウェア及びアプリケーションが更新され、当該アプリケーションの更新に応じてデバイスIDと更新後のアプリケーションのバージョン情報を含む更新通知が前記配信システムに送信されることを特徴とするシステム。
A system comprising a plurality of devices and a distribution system,
The distribution system includes:
Management means for managing version information of firmware and applications installed in the device and version information scheduled to be updated of the firmware and applications for each device ID;
In response to receiving an update notification including the device ID of the device and the version information of the application installed on the device from the device, the version information of the application installed on the device managed by the management unit Updating means for updating the version information to be updated of the firmware and application managed by the management means;
Receiving means for receiving a firmware update confirmation request including a device ID of the device and version information of firmware installed in the device from the device;
Based on the version information of the firmware indicated by the information included in the confirmation request received by the reception unit, the version information scheduled to be updated of the firmware is specified, and further, the device ID included in the confirmation request is specified by the management unit. When the update schedule for the corresponding application has already been managed, based on the update schedule, specifying means for specifying version information of the update schedule for the application installed on the device;
Response means for transmitting the identified version information of the firmware update schedule and the version update information of the application to the device as a response to the confirmation request;
In the device, the firmware and application are updated according to the response, and an update notification including a device ID and version information of the updated application is transmitted to the distribution system according to the update of the application. .

本発明によれば、デバイスのソフトウェアを更新する際のサーバの負荷を低減することができる。   ADVANTAGE OF THE INVENTION According to this invention, the load of the server at the time of updating the software of a device can be reduced.

システム構成図System Configuration サーバのハードウェア構成を示す図Diagram showing server hardware configuration 配信システム及びデバイスの機能ブロック図Functional block diagram of distribution system and device アプリケーション及びFWのインストールにおけるシーケンス例を示す図Diagram showing an example of the sequence of application and FW installation アプリケーション及びFWの自動更新におけるシーケンス例を示す図The figure which shows the example of a sequence in an application and FW automatic update アプリケーション更新通知受信時処理を示すフローチャートFlow chart showing processing at the time of application update notification reception 更新予定バージョン情報更新のフローチャートFlow chart for updating version information 更新するファームウェアバージョン判断のフローチャートFlowchart for determining the firmware version to be updated 更新するアプリケーションバージョン判断のフローチャートFlowchart for determining application version to update 自動更新問い合わせ受信時処理を示すフローチャートFlow chart showing automatic update inquiry reception process 更新予定バージョン情報更新バッチ処理のフローチャートUpdate schedule version information update batch processing flowchart アプリケーション及びFWのユーザモード更新におけるシーケンス例を示す図The figure which shows the example of a sequence in the user mode update of an application and FW

●システム構成
図1は、本実施例のシステム構成図を示すブロック図である。配信システム10は、Webサーバ12、DBサーバ13及びアプリケーションサーバ11から成る。そして、インターネット100に接続されたWebサーバ12を介して、各顧客企業114、119、129のデバイス115〜116、120、121、124〜127、131と通信を行う。これにより、アプリケーションプログラム(以後「アプリ」と略記)及びファームウェア(以後「FW」と略記)の配信制御を行う。なおアプリケーションプログラムとファームウェアとを併せてソフトウェアと呼ぶこともある。アプリ及びFWの実ファイルはコンテンツサーバ20にあり、デバイスへアプリをインストールする場合には、配信システム10がコンテンツサーバ20上の実ファイルの位置情報を取得し、コンテンツサーバからソフトウェアを配信先の例えばデバイスやパーソナルコンピュータ等にダウンロードする。各顧客サイトにおいては、パーソナルコンピュータ117,122,123およびLAN118,128を介して、あるいはLAN130を介して、ソフトウェアのファイルがデバイスに配信されて、ソフトウェアが更新される。これにより、多くのデバイスのソフトウェア配信の負荷を分散し効率良くソフトウェアの配信を行うことが出来る。アプリ及びFWそれぞれの更新も同様である。コンテンツサーバ20は、コンテンツ管理サーバ21およびファイル・ストレージ22、23から成る。コンテンツ管理サーバ21は、外部からのリクエストに従って、ファイル・コンテンツすなわちアプリ及びFWを保存、あるいは提供する。
System Configuration FIG. 1 is a block diagram showing a system configuration diagram of this embodiment. The distribution system 10 includes a web server 12, a DB server 13, and an application server 11. And it communicates with the devices 115-116,120,121,124-127,131 of each customer company 114,119,129 via the Web server 12 connected to the internet 100. FIG. Thereby, distribution control of the application program (hereinafter abbreviated as “application”) and firmware (hereinafter abbreviated as “FW”) is performed. The application program and firmware may be collectively referred to as software. The actual file of the application and the FW is in the content server 20, and when the application is installed in the device, the distribution system 10 acquires the location information of the actual file on the content server 20, and the software is distributed from the content server to the distribution destination, for example Download to device or personal computer. At each customer site, software files are distributed to devices via personal computers 117, 122, 123 and LANs 118, 128, or via LAN 130, and the software is updated. As a result, the software distribution load of many devices can be distributed and the software can be distributed efficiently. The same applies to the update of each app and FW. The content server 20 includes a content management server 21 and file storages 22 and 23. The content management server 21 stores or provides file contents, that is, applications and FWs in accordance with external requests.

デバイスには、マルチ・ファンクション・プリンタ(MFP)や、シングル・ファンクション・プリンタ(SFP)等の種類があり、デバイスのモデル毎に一つあるいは複数の機能が搭載されている。それらの機能を実現するためのFWがインストールされることにより、デバイスの各機能が利用可能となる。また、デバイスのモデル毎、あるいは、デバイスのモデルに共通で実行可能なアプリをインストールして実行することが可能である。デバイスの利用者は、そのデバイスで利用可能な複数のアプリの中から、所望のものを選び、購入するなどして入手することにより、インストールを行う。また、デバイスのアプリの不具合が修正された場合や機能の改善あるいは追加された場合には、アプリを更新することで、それらを利用することが出来る。アプリは、デバイスが配信システム10と通信することにより、コンテンツをダウンロードしてインストールあるいは更新することが出来る。なおネットワークに接続されたデバイスを、ネットワークデバイス或いはネットワーク機器と呼ぶことがある。 販売会社システム30は、デバイスを各顧客企業114、119、129へ販売し、維持、管理するデバイスの製造会社あるいはデバイスの販売会社がアプリ及びFWの登録・管理のための操作をする。販売会社システム30は、1台以上のPC31、32あるいはサーバ33、34から成る。販売会社システム30から配信システム10およびコンテンツサーバ20へアクセスすることにより、アプリ及びFWの登録と配信設定を行う。また、デバイスには、ファームウェアおよびアプリの自動更新を行うための仕組みが有り、定期的に配信システム10へ更新情報を確認する日時を設定できるようになっている。   There are various types of devices such as a multi-function printer (MFP) and a single function printer (SFP), and one or a plurality of functions are mounted for each device model. By installing the FW to realize these functions, each function of the device can be used. It is also possible to install and execute an application that can be executed in common for each device model or for each device model. The user of the device performs installation by selecting a desired application from among a plurality of applications that can be used on the device, and purchasing and obtaining the application. In addition, when a defect in a device application is corrected, or when a function is improved or added, it can be used by updating the application. The application can download and install or update the content when the device communicates with the distribution system 10. A device connected to the network may be referred to as a network device or a network device. In the sales company system 30, a device manufacturer or a device sales company that sells, maintains, and manages devices to the customer companies 114, 119, and 129 performs operations for registration and management of applications and FWs. The sales company system 30 includes one or more PCs 31 and 32 or servers 33 and 34. By accessing the distribution system 10 and the content server 20 from the sales company system 30, registration of the application and FW and distribution setting are performed. In addition, the device has a mechanism for automatically updating firmware and applications, and can set a date and time for regularly confirming update information to the distribution system 10.

●サーバの構成
図2は、本実施例のハードウェア構成を示すブロック図である。本実施例におけるアプリケーションサーバ11は、ネットワークインタフェース204を介して、Webサーバ12やDBサーバ13と互いに接続されている。アプリケーションサーバ11は、バス205を介して接続されたCPU201、RAM202、ROM203、ネットワークインタフェース204、HDD206などから成る。配信システム10はHDD206あるいはROM203、RAM202に記録されたデータ及びプログラムを読み出してCPU201で実行することにより実現される。また、その機能は、複数のサーバの機能の連携によって実現される場合もある。ネットワークインタフェース204は、配信システム10内のサーバ間の機能連携に使われると共に、インターネット100を介して、外部システムと通信するためにも使用される。なお、図2はアプリケーションサーバ11に対応して図示しているが、他のサーバやデバイスも同様のハードウェア構成を持っているものとする。
Server Configuration FIG. 2 is a block diagram showing the hardware configuration of this embodiment. The application server 11 in this embodiment is connected to the Web server 12 and the DB server 13 via the network interface 204. The application server 11 includes a CPU 201, a RAM 202, a ROM 203, a network interface 204, an HDD 206, and the like connected via a bus 205. The distribution system 10 is realized by reading out data and programs recorded in the HDD 206, the ROM 203, and the RAM 202 and executing them by the CPU 201. Moreover, the function may be implement | achieved by cooperation of the function of a some server. The network interface 204 is used for function cooperation between servers in the distribution system 10 and is also used for communicating with an external system via the Internet 100. Although FIG. 2 is illustrated corresponding to the application server 11, it is assumed that other servers and devices have the same hardware configuration.

●配信システムの機能構成
図3は、本実施例における配信システム10およびデバイスの機能構成を示すブロック図である。Webブラウザ302は、配信システム10に接続する販売会社システムのクライアントシステムであるWebブラウザを示す。したがってWebブラウザ302は配信システム10には含まれない。なお以下の説明では、配信システム10を配信サーバと呼び、デバイスを含めたソフトウェア配信システムと区別することがある。
Functional Configuration of Distribution System FIG. 3 is a block diagram showing the functional configuration of the distribution system 10 and devices in the present embodiment. A web browser 302 indicates a web browser which is a client system of a sales company system connected to the distribution system 10. Therefore, the web browser 302 is not included in the distribution system 10. In the following description, the distribution system 10 is called a distribution server and may be distinguished from a software distribution system including a device.

Webインターフェース部310は、デバイスに対するアプリ及びFWの配信機能を提供する。Webインターフェース部310は、各デバイスから各種リクエストを受信し、処理結果を返却する。例えば、アプリ配送情報のリクエストを受信すると、対象とするアプリの格納されている場所を検索し、アプリを取得するためのURLとして返却する。リクエスト処理の詳細については、後述する。
ユーザインターフェース部311は、配信システムにアクセスして、アプリ及びFWの登録や配信設定、定期アップデート設定を行う。
リクエスト受信部312は、デバイスからのリクエストを受信する。
レスポンス返信部313は、デバイスへレスポンスを返す。
配信設定制御部314は、FWおよびアプリの配信設定を制御する。
バッチ処理部315は、管理情報の非同期更新を行う。
317は、デバイスへの配信に伴う制御を行う配信制御部である。
スケジューラ318は、バッチ処理を定時起動する。
The web interface unit 310 provides an app and FW distribution function for a device. The web interface unit 310 receives various requests from each device and returns a processing result. For example, when a request for app delivery information is received, the location where the target app is stored is searched and returned as a URL for acquiring the app. Details of the request processing will be described later.
The user interface unit 311 accesses the distribution system and performs application and FW registration, distribution settings, and periodic update settings.
The request receiving unit 312 receives a request from the device.
The response reply unit 313 returns a response to the device.
The distribution setting control unit 314 controls distribution settings for FW and applications.
The batch processing unit 315 performs asynchronous update of management information.
Reference numeral 317 denotes a distribution control unit that performs control associated with distribution to devices.
The scheduler 318 starts batch processing at regular intervals.

DBアクセス部320は、各種処理に応じて、データ管理部330で管理されているテーブルのデータを更新あるいは検索する。データ管理部330で管理されているテーブルには以下のものが含まれる。各テーブルについては追って説明する。
アプリ情報管理テーブル331
登録アプリ管理テーブル332
アプリバージョン管理テーブル333
登録ファームウェア管理テーブル334
ファームウェアバージョン管理テーブル335
バージョン制限管理テーブル336
デバイス管理テーブル337
更新予定バージョン管理テーブル338。
The DB access unit 320 updates or searches the data in the table managed by the data management unit 330 according to various processes. The table managed by the data management unit 330 includes the following. Each table will be described later.
Application information management table 331
Registered application management table 332
Application version management table 333
Registered firmware management table 334
Firmware version management table 335
Version restriction management table 336
Device management table 337
Update scheduled version management table 338.

一方、デバイス400は以下の構成を有する。なおここでいう構成は、ソフトウェアの新規或いは更新インストールを行うための構成であり、複写等、デバイスとしての機能を果たすための構成については省略した。メイン処理部340は、デバイス400の本来の機能を実行する。メイン処理部340は、例えば、プリンターであれば画像形成処理を行う等の主機能を果たす。デバイス400は、この主機能の他に、デバイスのFWおよびアプリの配信制御を行うための機能も備えている。それが、機能ブロック341から348である。ここでいう配信制御は、たとえば指定された時期に更新をチェックし、ダウンロードされるソフトウェアを受信し、更新するといった手順を含んでよい。
Webインターフェース部341は、配信システム10からアプリ及びFWの配信を受け、配信システム10のWebインターフェース310と例えばHTTPを用いて接続されている。
配信処理部342は、例えば、販売会社システム30により別途指定された時期(曜日や時刻等)であることをチェックする。また例えば、指定時期に至るとWebインターフェース部341を介して配信サーバ10にファームウェアの更新の有無を照会することなどを行うことができる。
アプリインストール部343は、ダウンロードされたインストールすべきアプリケーションをインストールする。
アプリ更新部344は、ダウンロードされた更新すべきアプリケーションを更新する。
FW更新部345は、ダウンロードされた更新すべきファームウェアを更新する。
FW格納部347は、配信されたFWを格納する。
アプリ格納部348は、配信されたアプリを格納する。
On the other hand, the device 400 has the following configuration. The configuration here is a configuration for performing a new or update installation of software, and a configuration for performing a function as a device such as copying is omitted. The main processing unit 340 executes the original function of the device 400. The main processing unit 340 performs a main function such as performing an image forming process for a printer, for example. In addition to this main function, the device 400 also has a function for performing device FW and application distribution control. These are function blocks 341 to 348. The distribution control here may include, for example, a procedure of checking for updates at a specified time, receiving downloaded software, and updating.
The web interface unit 341 receives the distribution of the application and FW from the distribution system 10 and is connected to the web interface 310 of the distribution system 10 using, for example, HTTP.
For example, the distribution processing unit 342 checks that the time (day of the week, time, etc.) separately designated by the sales company system 30 is reached. Further, for example, when the designated time comes, the distribution server 10 can be inquired of whether or not the firmware has been updated via the Web interface unit 341.
The application installation unit 343 installs the downloaded application to be installed.
The application update unit 344 updates the downloaded application to be updated.
The FW update unit 345 updates the downloaded firmware to be updated.
The FW storage unit 347 stores the distributed FW.
The application storage unit 348 stores the distributed application.

●手動更新処理のシーケンス例
図4は、デバイスにおいて、デバイスの利用者によるアプリのインストール、あるいは、サービスマンによるファームウェアのインストール、のデバイス操作を実施する時の流れの例を示すシーケンス図である。
Sequence Example of Manual Update Processing FIG. 4 is a sequence diagram illustrating an example of a flow when a device operation of an app installation by a device user or a firmware installation by a service person is performed on a device.

利用者401は、新しいアプリをデバイス400へインストールするために、デバイス400のユーザインターフェースを操作し、アプリのインストール指示410を出す。
指示410に対応して、デバイス400は、インストールするアプリを特定する情報であるアプリ配送情報要求411を配信システム10へ送り、対応するアプリを特定するアプリ情報を要求する。これに対して、配信システム10は、デバイス400からのリクエストをWebインターフェース部310で処理する。配信システム10は、アプリ配送情報要求411指定された情報(アプリ)に従って、インストールするアプリの例えば識別情報を含むアプリ情報412をデバイス400に応答する。デバイス400はさらに、そのアプリのバージョンを指定するアプリバージョン指定413を配信システム10に送信する。配信システム10は、指定されたアプリの指定されたバージョンをダウンロードするためのURL応答414を応答する。以後、配信システム10が処理する、デバイス400からのリクエストは、Webインターフェース部310で処理されるものとして説明を続ける。なお、アプリ配送情報要求411、アプリバージョン指定413は、一つのメッセージにまとめることができるならば、一つのメッセージにしてもよい。
In order to install a new application on the device 400, the user 401 operates the user interface of the device 400 and issues an application installation instruction 410.
In response to the instruction 410, the device 400 sends an application delivery information request 411, which is information for specifying an application to be installed, to the distribution system 10 and requests application information for specifying the corresponding application. On the other hand, the distribution system 10 processes a request from the device 400 by the web interface unit 310. The distribution system 10 responds to the device 400 with application information 412 including, for example, identification information of the application to be installed, in accordance with the information (application) specified by the application delivery information request 411. The device 400 further transmits an application version designation 413 that designates the version of the application to the distribution system 10. The distribution system 10 responds with a URL response 414 for downloading the specified version of the specified application. Hereinafter, the request from the device 400 processed by the distribution system 10 will be described as being processed by the Web interface unit 310. The application delivery information request 411 and the application version designation 413 may be a single message if they can be combined into a single message.

デバイス400は、応答されたURLでコンテンツサーバ20にアクセスし、インストールするアプリのファイルを要求するアプリ要求415を送信する。アプリ要求415は例えば取得したURLに対するHTTP要求である。その応答416で取得したアプリのファイルを使用して、デバイス400はアプリのインストール処理417を行う。インストール処理417が終了し、インストールしたアプリが起動すると、デバイス400は、配信システム10へ、アプリのインストール完了を通知するアプリ更新通知418を送信する。この時、新しくインストールされたアプリケーションを含め、その時点でデバイス400にインストールされているアプリケーションとバージョンの一覧情報を、配信システム10へ通知する。すなわちアプリ更新通知418には、インストールされているアプリケーションとバージョンの一覧情報が含まれている。   The device 400 accesses the content server 20 with the responded URL, and transmits an application request 415 for requesting an application file to be installed. The application request 415 is an HTTP request for the acquired URL, for example. Using the application file acquired in response 416, device 400 performs an application installation process 417. When the installation process 417 ends and the installed application is activated, the device 400 transmits to the distribution system 10 an application update notification 418 that notifies the completion of the installation of the application. At this time, the distribution system 10 is notified of the list information of the applications and versions installed in the device 400 at that time, including newly installed applications. That is, the application update notification 418 includes list information of installed applications and versions.

デバイス400からアプリ更新通知418を受けると、配信システム10は、それを記録し、デバイス400に現在インストールされているアプリの情報を更新するアプリ状態記録419を実行する。デバイスのアプリ状態を示す情報は上書きによって更新してもよいし、履歴を残しつつ更新してもよい。配信システム10は、アプリの状態を記録すると、デバイス400へ応答420を返す。   Upon receiving the application update notification 418 from the device 400, the distribution system 10 records it and executes an application status record 419 that updates information on the application currently installed in the device 400. Information indicating the application state of the device may be updated by overwriting, or may be updated while leaving a history. When the distribution system 10 records the state of the application, the distribution system 10 returns a response 420 to the device 400.

また、別のタイミングにおいて(すなわちソフトウェアのインストール或いは更新とは非同期に)、サービスマン404は、デバイス400にファームウェアをインストールするための例えばPC31をデバイス400に接続する。ファームウェアは、デバイス400に接続したPC31のハードディスクあるいは別のメディアに記録されている。接続したPC31からのファームウェアのインストール操作430に従って、PC31からデバイス400へインストールされるファームウェアがアップロードされる。デバイス400は、アップロードされたファームウェアのバージョンで、ファームウェアの更新処理431を実施し、デバイス400自身を再起動するデバイス再起動処理432を実行する。再起動後、インストールしたバージョンのファームウェアによってデバイス400は起動し、ファームウェアの更新完了表示433を行ってサービスマン404によるファームウェアのインストールは完了する。   Further, at another timing (that is, asynchronously with software installation or update), the service person 404 connects, for example, the PC 31 for installing firmware to the device 400 to the device 400. The firmware is recorded on the hard disk of the PC 31 connected to the device 400 or another medium. The firmware to be installed from the PC 31 to the device 400 is uploaded according to the firmware installation operation 430 from the connected PC 31. The device 400 executes a firmware update process 431 with the uploaded firmware version, and executes a device restart process 432 for restarting the device 400 itself. After the restart, the device 400 is activated by the installed version of the firmware, the firmware update completion display 433 is displayed, and the installation of the firmware by the service person 404 is completed.

以上のようにして、ユーザ401やサービスマン404による操作をトリガとして、アプリケーションのインストール(更新を含む)やファームウェアの更新が実行できる。   As described above, application installation (including update) and firmware update can be executed with an operation by the user 401 or the service person 404 as a trigger.

●自動更新処理のシーケンス例
図5は、デバイス400と配信システム10との間で実施されるファームウェアおよびアプリケーションの自動更新処理のやり取りの例を示すシーケンス図である。デバイス400には、定期的に、ファームウェアおよびアプリケーションの更新の有無を確認する日時が設定されている。この日時、例えば毎週日曜日の深夜1時、になると、デバイス400は、配信システム10に対して、適用可能FW情報要求(確認要求とも呼ぶ)441を送信してファームウェアおよびアプリケーションの更新可能なバージョンの有無を問い合わせる。この時、デバイス400からの問い合わせには、デバイス400に組み込まれたファームウェアの現在のファームウェアバージョンを示す情報が含まれる。なお、デバイス400からの問い合わせである適用可能FW情報要求441には、デバイス400にインストールされたアプリケーションのバージョン情報などは含む必要が無い。この適用可能FW情報に対して、配信システム10は、デバイス400で更新すべきファームウェアおよびアプリケーションの情報(FW/アプリ情報)442を応答する。
Sequence Example of Automatic Update Processing FIG. 5 is a sequence diagram showing an example of exchange of firmware and application automatic update processing performed between the device 400 and the distribution system 10. The device 400 is regularly set with a date and time for checking whether firmware and applications have been updated. At this date and time, for example, every Sunday at midnight, the device 400 sends an applicable FW information request (also referred to as a confirmation request) 441 to the distribution system 10 to update the firmware and application versions. Queries the presence or absence. At this time, the inquiry from the device 400 includes information indicating the current firmware version of the firmware incorporated in the device 400. Note that the applicable FW information request 441 that is an inquiry from the device 400 does not need to include version information of an application installed in the device 400. In response to the applicable FW information, the distribution system 10 responds with firmware and application information (FW / application information) 442 to be updated by the device 400.

デバイス400へ応答するFW/アプリ情報442は、たとえば、コンテンツタイプ、ID、バージョンの組合せを含む(表9参照)。コンテンツタイプは、FWの更新前に更新するアプリか、FWの更新後に更新するアプリか、ファームウェアか、いずれかを示す。IDは、アプリIDまたはデバイスモデルを示す。バージョンは各コンテンツのバージョンを示す。これにより、デバイス400に対して、更新すべきアプリケーション及び/又はファームウェアを示す。   The FW / application information 442 responding to the device 400 includes, for example, a combination of content type, ID, and version (see Table 9). The content type indicates whether the app is updated before the FW update, the app is updated after the FW update, or the firmware. ID indicates an application ID or a device model. The version indicates the version of each content. This indicates to the device 400 the application and / or firmware to be updated.

ここでファームウェアに関してはデバイス400から受信したファームウェアバージョン(ファームウェアの識別情報を含む)に基づいて、配信システム10は更新の有無を判定できる。アプリに関しては、配信システム10が各デバイスにインストールされているアプリに関する情報(バージョンも含む)を有する場合には、その情報に基づいて更新の有無を判定できる。例えば現在インストールされているアプリケーションのバージョンよりも新しいバージョンがそのアプリに関して用意されていれば、アプリ情報として例えばアプリの識別情報とバージョンとを応答すればよい。インストールの順序に関しては、別途定義されたインストール順の制約を示す情報を参照すればよい。デバイス400は、FW/アプリ情報442で受信したファームウェアおよびアプリに関する情報に従って、シーケンス443以降で、ファームウェアおよびアプリケーションの更新を行う。   Here, regarding the firmware, the distribution system 10 can determine whether or not there is an update based on the firmware version (including firmware identification information) received from the device 400. As for the application, when the distribution system 10 has information (including a version) related to the application installed in each device, the presence or absence of the update can be determined based on the information. For example, if a version newer than the currently installed application version is prepared for the application, the application identification information and version may be returned as the application information. Regarding the order of installation, information indicating restrictions on the order of installation defined separately may be referred to. The device 400 updates the firmware and the application in sequence 443 and later according to the information about the firmware and the application received in the FW / application information 442.

まず、ソフトウェア配信システム全体において、ファームウェアの更新前に、更新するアプリケーションがある場合には、シーケンス443を実行する。シーケンス443においては、デバイス400は、受信したFW/アプリ情報442から取得したアプリケーションとバージョンの情報をアプリバージョン指定444として配信システム10へ送り、その応答としてダウンロードURL445を受信する。デバイス400はアプリバージョン指定444を送信する際に、自身にインストールされているアプリについて、現在のバージョンより新しいバージョンがFW/アプリ情報442に含まれていれば、そのアプリについてアプリバージョン指定444を送信する。   First, in the entire software distribution system, if there is an application to be updated before updating the firmware, the sequence 443 is executed. In sequence 443, the device 400 sends the application and version information acquired from the received FW / application information 442 to the distribution system 10 as the application version designation 444, and receives the download URL 445 as a response. When the device 400 transmits the application version specification 444, if the FW / application information 442 includes a version newer than the current version of the application installed in the device 400, the device 400 transmits the application version specification 444 for the application. To do.

デバイス400は、応答されたURLでコンテンツサーバ20にアクセスし、インストールするアプリのファイルを要求する446。その応答447で取得したアプリのファイルを使用して、デバイス400はアプリの新バージョンへの更新をアプリ更新処理448により行う。アプリの更新が終了し、更新したアプリが起動すると、デバイス400は、配信システム10へ、アプリの更新完了をアプリ更新完了通知449により通知する。この時、更新されたアプリケーションを含め、その時点でデバイス400にインストールされているアプリケーションとバージョンの一覧情報を、配信システム10へ通知する。   The device 400 accesses the content server 20 with the responded URL and requests 446 the application file to be installed. Using the application file acquired in the response 447, the device 400 updates the application to a new version through an application update process 448. When the update of the application is completed and the updated application is activated, the device 400 notifies the distribution system 10 of the completion of the update of the application by the application update completion notification 449. At this time, the distribution system 10 is notified of the list information of the applications and versions installed in the device 400 at that time, including the updated application.

デバイス400からアプリ更新通知449を受けると、配信システム10は、アプリ状態記録450を行って、デバイス400に現在インストールされているアプリの情報を更新する450。配信システム10は、アプリの状態を記録すると、デバイス400へ応答を451返す。   Upon receiving the application update notification 449 from the device 400, the distribution system 10 performs an application status record 450 to update 450 information on the application currently installed in the device 400. When the distribution system 10 records the state of the application, the distribution system 10 returns a response 451 to the device 400.

シーケンス443は、ファームウェアの更新前に更新するアプリケーションが複数ある場合には、アプリケーションの数だけ繰り返される。なお一回の手続きで複数のアプリケーションを更新してもよい。   The sequence 443 is repeated by the number of applications when there are a plurality of applications to be updated before updating the firmware. A plurality of applications may be updated in a single procedure.

次に、更新するファームウェアのバージョンがある場合には、シーケンス452を実行する。シーケンス452において、デバイス400は、FW/アプリ情報442からファームウェアのバージョンを指定する情報を配信システム10へ送り453、ダウンロードURL454を受信する。ファームウェアのバージョンを指定する情報の決定の仕方も、アプリケーションと同様でよい。   Next, when there is a firmware version to be updated, the sequence 452 is executed. In sequence 452, the device 400 sends information specifying the firmware version from the FW / application information 442 to the distribution system 10 and receives the download URL 454. The method of determining information specifying the firmware version may be the same as that of the application.

デバイス400は、応答されたURL454でコンテンツサーバ20にアクセスし、インストールするファームウェアのファイルを要求するFW要求455を送信する。その応答456で取得したファームウェアのファイル456を使用して、デバイス400はファームウェアの更新処理457を行う。バージョン更新が終了し、デバイス400を再起動するためのデバイス再起動処理458を行うと、デバイス400は、配信システム10へ、ファームウェの更新通知459を通知する。この時、ファームウェ更新通知459により、更新されたファームウェアのバージョン情報を、配信システム10へ通知する。   The device 400 accesses the content server 20 with the URL 454 that has been responded to, and transmits an FW request 455 requesting a firmware file to be installed. Using the firmware file 456 acquired in the response 456, the device 400 performs a firmware update process 457. When the version update is completed and a device restart process 458 for restarting the device 400 is performed, the device 400 notifies the distribution system 10 of a firmware update notification 459. At this time, the firmware update notification 459 notifies the distribution system 10 of updated firmware version information.

デバイス400からファームウェアの更新通知459を受けると、配信システム10は、それを記録するFW状態記録460を実行し、デバイスのファームウェアの現在バージョンの情報を更新する460。配信システム10は、ファームウェアのバージョン情報を記録すると、デバイス400へ応答461を返す。   Upon receiving the firmware update notification 459 from the device 400, the distribution system 10 executes the FW status record 460 that records it, and updates 460 information on the current version of the device firmware. When the distribution system 10 records the firmware version information, the distribution system 10 returns a response 461 to the device 400.

最後に、ファームウェアの更新後に更新するアプリケーションのバージョンがある場合には、シーケンス462を実行する。シーケンス462における、処理463から処理470は、シーケンス443のそれと同様である。また、ファームウェアの更新後に更新するアプリケーションが複数ある場合には、アプリケーションの数だけ繰り返す。   Finally, if there is a version of the application to be updated after updating the firmware, the sequence 462 is executed. Processes 463 to 470 in the sequence 462 are the same as those in the sequence 443. When there are a plurality of applications to be updated after the firmware is updated, the process is repeated for the number of applications.

●配信システム10により管理される情報
次に、本発明における配信システム10の管理する情報、および、デバイスとやり取りする情報について説明する。表1にアプリ情報管理テーブル331に格納されているアプリ情報の例を示す。
Information Managed by Distribution System 10 Next, information managed by the distribution system 10 and information exchanged with devices in the present invention will be described. Table 1 shows an example of application information stored in the application information management table 331.

Figure 2018190341
Figure 2018190341

アプリ情報は、アプリID、アプリ名の組合せの一覧から成る。アプリ名は、アプリIDで特定されるアプリケーションの名称を示す。アプリ名は利用者に表示されるものであり、管理上は、アプリケーションはアプリIDで一意に識別される。 The application information includes a list of combinations of application IDs and application names. The application name indicates the name of the application specified by the application ID. The application name is displayed to the user, and for management, the application is uniquely identified by the application ID.

さらに、表2に登録アプリ管理テーブル332に格納されているアプリの登録情報の例を示す。   Table 2 shows an example of application registration information stored in the registered application management table 332.

Figure 2018190341
Figure 2018190341

アプリの登録情報は、ファイルID、アプリID、バージョン、URLの組合せの一覧から成る。アプリIDが示すアプリケーションのあるバージョンは、それぞれ異なるファイルIDで一意に識別される。また、ファイルIDに対応するアプリケーションのファイルが、コンテンツサーバ20において、ファイルIDに対応するURLに示す場所に格納されている。アプリの登録情報は、販売会社システム30から担当者がアプリを登録する際に入力され、更新されることで維持されている。 The application registration information includes a list of combinations of file ID, application ID, version, and URL. A version of an application indicated by an application ID is uniquely identified by a different file ID. In addition, the application file corresponding to the file ID is stored in the content server 20 at the location indicated by the URL corresponding to the file ID. The registration information of the application is input and updated when the person in charge registers the application from the sales company system 30.

アプリケーションの更新においては、バージョン更新の際にアプリケーションが動作するための設定値が変わった場合など、バージョン更新用の仕組みを更新後バージョンのアプリケーションに実装する必要がある場合がある。したがって、更新前後のバージョン間にバージョン更新可能な組み合わせが存在する。例えば、現在がバージョン1、最新バージョンがバージョン3だとする。この時、バージョン1から最新バージョン(バージョン3)へ更新する前に、一旦バージョン2へ更新してから、改めてバージョン3へ更新する必要がある場合がある。このような更新可能なバージョンの組合せをアプリバージョンの管理情報で管理している。表3にアプリバージョン管理テーブル333に格納されている更新可能なアプリバージョンの管理情報の例を示す。   When updating an application, it may be necessary to implement a version update mechanism in the updated version of the application, such as when a setting value for operating the application changes during version update. Therefore, there is a combination that can be updated between versions before and after the update. For example, assume that the current version is version 1 and the latest version is version 3. At this time, before updating from version 1 to the latest version (version 3), it may be necessary to update to version 2 and then update to version 3 again. Such a combination of updatable versions is managed by application version management information. Table 3 shows an example of updatable application version management information stored in the application version management table 333.

Figure 2018190341
Figure 2018190341

更新可能なアプリバージョンの管理情報は、アプリID、更新元バージョン、更新後バージョンの組合せの一覧から成る。1つの組合せは、そのアプリIDにおける、更新元バージョンから更新後バージョンへの更新が可能であることを示している。アプリバージョン管理テーブル333に登録されていないバージョンの組合せは、配信システム10による更新が出来ないことを意味する。この更新可能なバージョンの組合せ情報は、販売会社システム30から担当者がアプリを登録する際にアプリの管理情報と合わせて入力され、更新されることで維持されている。 The updateable application version management information includes a list of combinations of application IDs, update source versions, and updated versions. One combination indicates that the update from the update source version to the updated version is possible in the application ID. A combination of versions not registered in the application version management table 333 means that the distribution system 10 cannot update. The updatable version combination information is input and updated together with the application management information when the person in charge registers the application from the sales company system 30 and is maintained by being updated.

アプリと同様に、配信システム10は、配信可能なFWも管理する。表4に登録ファームウェア管理テーブル334に登録されているFWの管理情報の例を示す。   Similar to the application, the distribution system 10 also manages the FW that can be distributed. Table 4 shows an example of FW management information registered in the registered firmware management table 334.

Figure 2018190341
Figure 2018190341

FWの管理情報は、デバイスモデル、バージョン、URLの組合せの一覧から成る。デバイスモデルとバージョンの組合せに対応するFWのファイルは、URLに示すコンテンツサーバ20上の記憶場所に格納されている。FWの管理情報は、販売会社システム30から担当者がFWを登録する際に入力され、更新されることで維持されている。 FW management information consists of a list of combinations of device model, version, and URL. The FW file corresponding to the combination of the device model and the version is stored in the storage location on the content server 20 indicated by the URL. The management information of the FW is input and updated when the person in charge registers the FW from the sales company system 30.

FWにおいては、バージョン更新の際にソフトウェアの構成が変わった場合など、バージョン更新用の仕組みを更新後バージョンのFWに実装する必要がある場合がある。したがって、更新前後のバージョン間にバージョン更新可能な組み合わせが存在する。例えば、現在がバージョン1、最新バージョンがバージョン3だとする。この時、バージョン1から最新バージョンへ更新する前に、一旦バージョン2へ更新してから、改めてバージョン3へ更新する必要がある場合がある。このような更新可能なバージョンの組合せをFWバージョンの管理情報で管理している。表5にファームウェアバージョン管理テーブル335に格納されている更新可能なFWバージョンの管理情報の例を示す。   In the FW, it may be necessary to implement a version update mechanism in the updated version of the FW, such as when the software configuration changes during a version update. Therefore, there is a combination that can be updated between versions before and after the update. For example, assume that the current version is version 1 and the latest version is version 3. At this time, before updating from version 1 to the latest version, it may be necessary to update to version 2 and then update to version 3 again. Such a combination of updatable versions is managed by FW version management information. Table 5 shows an example of updatable FW version management information stored in the firmware version management table 335.

Figure 2018190341
Figure 2018190341

更新可能なFWバージョンの管理情報は、デバイスモデル、更新元バージョン、更新後バージョンの組合せの一覧から成る。デバイスモデルは、同じFWを適用可能なデバイスのグループを表す。1つの組合せは、そのデバイスモデルにおける、更新元バージョンから更新後バージョンへの更新が可能であることを示している。ファームウェアバージョン管理テーブル335に登録されていないバージョンの組合せは、更新出来ないことを意味する。この更新可能なバージョンの組合せ情報は、販売会社システム30から担当者がFWを登録する際にFWの管理情報と合わせて入力され、更新されることで維持されている。 The updateable FW version management information includes a list of combinations of device models, update source versions, and updated versions. The device model represents a group of devices to which the same FW can be applied. One combination indicates that the device model can be updated from the update source version to the updated version. A combination of versions not registered in the firmware version management table 335 means that it cannot be updated. This updatable version combination information is inputted and updated together with the management information of the FW when the person in charge registers the FW from the sales company system 30 and is maintained by being updated.

アプリケーションにおいては、そのアプリケーションのバージョンが動作する環境、すなわち、ファームウェアのバージョンが限られる場合がある。例えば、アプリAのバージョン1はファームウェアのバージョン1の上で動作するように実装されているが、アプリAのバージョン2は、ファームウェアのバージョン2の上でなくては動作しない、という場合がある。このような場合には、アプリAをバージョン2へ更新する前にファームウェアをバージョン2に更新する必要がある。このようなアプリのバージョンおよびFWのバージョンの動作可能な組み合わせをバージョン組み合わせ情報で管理している。表6にバージョン制限管理テーブル336に格納されているバージョン組み合わせ情報の例を示す。   In an application, an environment in which the version of the application operates, that is, a firmware version may be limited. For example, version 1 of application A is implemented to operate on firmware version 1, but version 2 of application A may not operate on version 2 of firmware. In such a case, it is necessary to update the firmware to version 2 before updating application A to version 2. Operable combinations of such application versions and FW versions are managed by version combination information. Table 6 shows an example of the version combination information stored in the version restriction management table 336.

Figure 2018190341
Figure 2018190341

バージョン組み合わせ情報は、デバイスモデル、FWバージョン、ファイルIDの組合せの一覧から成るブラックリストである。1つの組合せは、デバイスモデルにおけるFWバージョンが示すバージョンのFW上でファイルIDが示すアプリのバージョンが動作しないことを示す。このバージョン組み合わせ情報は、販売会社システム30から担当者がFWおよびアプリケーションを登録する際に登録するファームウェアあるいはアプリケーションに依存関係があることが分った時に入力され、更新されることで維持されている。 The version combination information is a black list including a list of combinations of device models, FW versions, and file IDs. One combination indicates that the version of the application indicated by the file ID does not operate on the version of the FW indicated by the FW version in the device model. This version combination information is inputted and updated when it is found from the sales company system 30 that there is a dependency relationship between the firmware or application to be registered when the person in charge registers the FW and the application. .

配信システム10は、配信対象となる各デバイスの状態を保持し管理している。デバイスの状態を示す情報の一つとして、各デバイスで動作しているFWのバージョン情報がある。表7にデバイス管理テーブル337に格納されているデバイス管理情報の例を示す。   The distribution system 10 maintains and manages the state of each device to be distributed. One piece of information indicating the device status is the version information of the FW operating on each device. Table 7 shows an example of device management information stored in the device management table 337.

Figure 2018190341
Figure 2018190341

デバイスの管理情報は、デバイスID、デバイスモデル、バージョンの組合せの一覧から成る。デバイスIDは、デバイスの個体ごとの識別情報である。デバイスモデルは、デバイスIDで識別されるデバイスが属するデバイスモデルである。バージョンは、そのデバイスで現在動作しているFWのバージョンを示す。デバイスは、図5に示したシーケンスにおいて、配信システム10と通信する際に、自身のデバイスIDを合わせて通知する。配信システム10は、FW更新通知459で得られたデバイスIDとFWのバージョンから、460の処理においてデバイス管理テーブル337を更新する。なお、デバイスIDとデバイスモデルの対応については、不図示の管理情報に基づいて、デバイスIDからデバイスモデルへ一意に対応付けられるものとする。 The device management information includes a list of combinations of device IDs, device models, and versions. The device ID is identification information for each device. The device model is a device model to which the device identified by the device ID belongs. The version indicates the version of the FW currently operating on the device. When communicating with the distribution system 10 in the sequence shown in FIG. 5, the device notifies the device ID of the device together. The distribution system 10 updates the device management table 337 in the process of 460 from the device ID and the version of FW obtained by the FW update notification 459. Note that the correspondence between the device ID and the device model is uniquely associated from the device ID to the device model based on management information (not shown).

デバイスの状態を示すもう一つの情報として、各デバイスにインストールされているアプリとその状態の情報がある。さらに、配信システム10は、それらのアプリおよびFWを次の更新タイミングでどのバージョンへ更新するか否かの情報を管理している。表8に更新予定バージョン管理テーブル338に格納されているデバイスの更新予定バージョン情報の例を示す。   As another information indicating the device status, there is an application installed in each device and information on the status. Further, the distribution system 10 manages information on which version of the application and FW is updated at the next update timing. Table 8 shows an example of update planned version information of a device stored in the update planned version management table 338.

Figure 2018190341
Figure 2018190341

更新予定バージョン情報は、デバイスID、アプリID、現在VER、更新VER、更新時、更新FWVERの組合せの一覧から成る。現在VERは、デバイスIDで示されるデバイスにインストールされたアプリIDで示されるアプリのバージョンを示す。デバイスIDとアプリID、現在VERの組合せによって、デバイスIDに示すデバイスにアプリIDとバージョンの組合せが示すアプリがインストールされていることを示している。また、インストール済みアプリ情報は、次に更新予定のアプリケーションとFWのバージョン情報とをさらに保持している。更新VERは、アプリIDの更新予定のバージョンを示す。更新FWVERは、FWの更新予定のバージョンを示す。「更新時」は、更新VERに示すアプリのバージョンをFW更新の前に更新するか、後に更新するかを示す。更新VERと更新時、更新FWVERの組合せによって、次回FWのバージョンに更新する際に、合わせてその前後のいずれかでアプリのバージョンに更新する予定であることを示している。更新の予定が無ければ、これらは空欄となる。この情報は、図4におけるアプリ状態記録419あるいは、図5におけるアプリ状態記録450及び469の処理で更新される。この情報に従って、配信システム10は、デバイスからの問い合わせに対して、更新すべきFWおよびアプリの情報を返却する。   The scheduled update version information includes a list of combinations of device ID, application ID, current VER, update VER, update time, and update FWVER. The current VER indicates the version of the application indicated by the application ID installed on the device indicated by the device ID. The combination of the device ID, the application ID, and the current VER indicates that the application indicated by the combination of the application ID and the version is installed in the device indicated by the device ID. The installed application information further holds the application to be updated next and the version information of FW. The update VER indicates the version of the application ID scheduled to be updated. The update FWVER indicates the version of the FW that is scheduled to be updated. “Updating” indicates whether the application version indicated in the update VER is updated before or after the FW update. When the update VER and the update FWVER are combined, the update FWVER indicates that the next FW version will be updated to the app version either before or after that. If there are no scheduled updates, these will be blank. This information is updated by the processing of the application status record 419 in FIG. 4 or the application status records 450 and 469 in FIG. In accordance with this information, the distribution system 10 returns FW and application information to be updated in response to an inquiry from the device.

表9に、図5におけるFW/アプリ情報442で配信システム10がデバイス400へ返す情報の例を示す。   Table 9 shows an example of information returned from the distribution system 10 to the device 400 using the FW / application information 442 in FIG.

Figure 2018190341
Figure 2018190341

デバイス400へ応答する情報は、コンテンツタイプ、ID、バージョンの組合せの一覧から成る。コンテンツタイプは、前アプリ、後アプリ、FWのいずれかである。前アプリは、FWの更新前に更新するアプリを示す。後アプリは、FWの更新後に更新するアプリである。FWはファームウェアである。コンテンツタイプが前アプリあるいは後アプリの場合には、IDは、アプリIDを示す。コンテンツタイプがFWの場合には、IDはデバイスモデルを示す。バージョンは各コンテンツのバージョンを示す。コンテンツタイプが前アプリあるいは後アプリの場合には、バージョンは、アプリIDに対応するバージョンを示す。コンテンツタイプがFWの場合には、バージョンは、デバイスモデルに対応するFWバージョンである。   Information responding to the device 400 comprises a list of combinations of content type, ID, and version. The content type is one of the previous application, the rear application, and FW. The previous application indicates an application to be updated before updating the FW. The rear application is an application that is updated after updating the FW. FW is firmware. When the content type is the previous application or the rear application, the ID indicates an application ID. When the content type is FW, the ID indicates a device model. The version indicates the version of each content. When the content type is the previous application or the rear application, the version indicates a version corresponding to the application ID. When the content type is FW, the version is the FW version corresponding to the device model.

デバイスへ応答する情報は、更新予定バージョン管理テーブル338から、情報を返却するデバイスのデバイスIDに対応するレコードを絞り込み、アプリID、更新VER、更新時、更新FWVERの情報を取り出したものである。更新予定バージョン管理テーブル338のデバイスIDに対応するレコードに更新FWVERが記録されていない場合、すなわちFWのバージョン更新が予定されていない場合には、コンテンツタイプがFWの情報は含まれない。また、同じくデバイスIDに対応するレコードにいずれのアプリIDの更新VERも記録されていない場合には、コンテンツタイプが前アプリおよび後アプリの情報は含まれない。   The information responding to the device is obtained by narrowing down records corresponding to the device ID of the device for which information is to be returned from the update scheduled version management table 338 and extracting the application ID, update VER, update time, and update FWVER information. When the update FWVER is not recorded in the record corresponding to the device ID in the update scheduled version management table 338, that is, when the version update of the FW is not scheduled, the information whose content type is FW is not included. Similarly, when no update VER of any application ID is recorded in the record corresponding to the device ID, information on the content type of the previous application and the subsequent application is not included.

また、デバイスにアプリが一つもインストールされていない場合には、更新予定バージョン情報が存在しないため、デバイスからの問い合わせ時にコンテンツタイプがFWの情報だけが生成される。デバイスに返却する情報の作成方法については、図10で後述する。   Also, if no app is installed on the device, there is no update planned version information, so only information with a content type of FW is generated when inquiring from the device. A method of creating information to be returned to the device will be described later with reference to FIG.

●配信システムによる更新予定バージョン管理テーブル(表8)の更新
次に、配信システムの更新予定バージョン情報の更新処理について説明する。図6は、配信システム10における、デバイス400からアプリ更新通知449を受信した場合の処理(アプリ状態記録処理450)の例を示すフローチャートである。図6(a)は、図4のシーケンスにおけるアプリ状態記録処理419および図5のシーケンスにおけるアプリ状態記録処理450、469に対応する処理で、配信制御部317で実行される内容である。すなわちCPU201により実行される。
Update of Update Schedule Version Management Table (Table 8) by Distribution System Next, update process of update schedule version information of the distribution system will be described. FIG. 6 is a flowchart illustrating an example of processing (application status recording processing 450) when the application update notification 449 is received from the device 400 in the distribution system 10. FIG. 6A is a process corresponding to the application state recording process 419 in the sequence of FIG. 4 and the application state recording processes 450 and 469 in the sequence of FIG. That is, it is executed by the CPU 201.

アプリ状態記録処理419、450あるいはアプリ状態記録処理469に対応して、ステップS1000からの処理を開始する。ここで、デバイスからは、デバイスIDおよびそのデバイスにインストールされている全アプリケーションのアプリIDおよびバージョンを受信する。   In response to the application state recording processing 419, 450 or the application state recording processing 469, the processing from step S1000 is started. Here, the device ID and the application IDs and versions of all applications installed in the device are received from the device.

ステップS1001からステップS1006まででデバイス400から通知された全アプリのアプリIDについて、順に処理していく。ステップS1002では、更新予定バージョン管理テーブル338に、デバイスから通知されたデバイスIDおよび現在処理中のアプリIDの組合せに対応するレコードが存在するかを確認する。存在する場合(Yes.)には、ステップS1004へ進み、存在しない場合(No.)には、ステップS1003へ進む。ステップS1003では、デバイスIDとアプリIDの組合せに対応するレコードを追加する。ステップS1004では、デバイス400から通知されたデバイスIDおよび現在処理中のアプリIDの組合せに対応するレコードの現在VERを、デバイス400から通知されたアプリIDに対応するバージョンで更新する。次にステップS1005で、更新VER、更新時、更新FWVERをクリアする。ステップS1006では、デバイスから受信した全てのアプリIDについてステップS1005までの処理を完了したかを判断する。処理が完了していないアプリIDが残っている場合(No.)には、ステップS1001へ戻り、残りのアプリIDについての処理を行う。全てのアプリIDについて処理が完了している場合(Yes.)は、ステップS1007へ進み、非同期バッチ処理を起動する。非同期バッチ処理は、図6(a)と並列で(或いは非同期に)動作する、図6(b)に示す処理である。図6(b)に示す処理が起動したら、その終了を待たずにステップS1008へ進む。ステップS1008では、デバイス400へ、アプリ更新通知449等に対する応答を返す。これは、図4のシーケンスにおける応答420および図5のシーケンスにおける応答451、470に対応する
図6(b)は、図6(a)におけるステップS1007で起動され、バッチ処理部315で処理される、単一デバイスIDを指定した更新予定バージョン情報更新のバッチ処理のフローチャートの例である。
The application IDs of all applications notified from the device 400 in steps S1001 to S1006 are processed in order. In step S1002, it is confirmed whether or not a record corresponding to the combination of the device ID notified from the device and the currently processed application ID exists in the update scheduled version management table 338. If it exists (Yes.), The process proceeds to step S1004. If it does not exist (No.), the process proceeds to step S1003. In step S1003, a record corresponding to the combination of device ID and application ID is added. In step S1004, the current VER of the record corresponding to the combination of the device ID notified from the device 400 and the currently processed application ID is updated with the version corresponding to the application ID notified from the device 400. In step S1005, the update VER and the update FWVER are cleared at the time of update. In step S1006, it is determined whether the processing up to step S1005 has been completed for all application IDs received from the device. If an application ID that has not been processed remains (No.), the process returns to step S1001 to perform processing for the remaining application ID. If the processing has been completed for all application IDs (Yes.), The process proceeds to step S1007 to start asynchronous batch processing. Asynchronous batch processing is processing shown in FIG. 6B that operates in parallel (or asynchronously) with FIG. When the process shown in FIG. 6B is activated, the process proceeds to step S1008 without waiting for the process to end. In step S1008, a response to the application update notification 449 or the like is returned to the device 400. This corresponds to the response 420 in the sequence of FIG. 4 and the responses 451 and 470 in the sequence of FIG. 5. FIG. 6B is activated in step S 1007 in FIG. 6A and processed by the batch processing unit 315. FIG. 11 is an example of a flowchart of batch processing for updating scheduled update version information specifying a single device ID.

ステップS1100にて、デバイスから受信したデバイスIDをもって処理を開始する。
ステップS1101では、デバイスIDを指定して、更新予定バージョン情報更新(図7)の処理を呼び出す。当該デバイスIDの更新予定バージョン情報更新が終了したら、ステップS1002にてバッチ処理を終了する。更新予定バージョン情報を現在行っているソフトウェア更新の必要性の確認を滞らせることなく、次に更新対象となるソフトウェアのバージョンを示す情報が更新される。
In step S1100, the process starts with the device ID received from the device.
In step S1101, the device ID is designated and the update scheduled version information update process (FIG. 7) is called. When the update scheduled version information update of the device ID is completed, the batch processing is ended in step S1002. The information indicating the version of the software to be updated next is updated without delaying the confirmation of the necessity of the software update that is currently performed on the scheduled update version information.

●更新予定バージョン情報更新処理
次に、更新予定バージョン情報更新処理の詳細を説明する。図7は、更新予定バージョン情報更新処理の例を示すフローチャートである。更新予定バージョン情報更新処理は、指定されたデバイスIDにおいて、呼び出し時点での情報に基づいて、次の更新タイミングで配信するFWのバージョンとアプリとそのバージョンを予め判断しておく。FWとアプリはそれぞれ更新予定バージョンを決定する。その時点の情報によって、FWだけ配信、アプリだけ配信、FWとアプリの両方を配信、となる場合があるが、更新時におけるFWとアプリのバージョンの組合せに制約がある場合には、その制約を満たしたバージョンが配信されるように決定される。
Update Schedule Version Information Update Process Next, details of the update schedule version information update process will be described. FIG. 7 is a flowchart illustrating an example of the update scheduled version information update process. In the scheduled update version information update process, based on the information at the time of calling for the designated device ID, the version of the FW to be distributed at the next update timing, the application, and its version are determined in advance. FW and app will determine the version to be updated respectively. Depending on the information at that time, there may be distribution of only FW, distribution of only applications, distribution of both FW and applications, but if there are restrictions on the combination of FW and application versions at the time of update, the restrictions It is determined that the satisfied version is delivered.

呼び出し元からデバイスIDが指定されて、ステップS1110からの処理を開始する。ステップS1111では、更新FWバージョン判断処理(図8)を呼び出す。呼出し時には、対象となるデバイスIDを指定しておく。更新FWバージョン判断処理は、指定されたデバイスIDにおいて次に更新するFWバージョンの情報を更新予定バージョン管理テーブル338へ反映する。
ステップS1112からステップS1114までで指定されたデバイスIDに対応するデバイスにインストールされている全アプリのアプリIDについて、順に処理していく。
ステップS1113では、更新アプリバージョン判断処理(図9)を呼び出す。更新アプリバージョン判断処理は、指定されたデバイスIDと現在処理中のアプリIDにおいて次に更新するアプリバージョンの情報を更新予定バージョン管理テーブル338(表8)へ反映する。
ステップS1114では、全てのアプリIDについてステップS1113までの処理を完了したかを判断する。処理が完了していないアプリIDが残っている場合(No.)には、ステップS1112へ戻り、残りのアプリIDについての処理を行う。全てのアプリIDについて処理が完了している場合(Yes.)は、ステップS1115へ進み、更新予定バージョン情報更新処理を終了する。
A device ID is designated from the caller, and processing from step S1110 is started. In step S1111, the update FW version determination process (FIG. 8) is called. When calling, the target device ID is designated. In the update FW version determination process, information on the FW version to be updated next in the specified device ID is reflected in the update scheduled version management table 338.
The application IDs of all the applications installed in the device corresponding to the device ID specified in steps S1112 to S1114 are processed in order.
In step S1113, an update application version determination process (FIG. 9) is called. In the updated application version determination process, the application version information to be updated next in the specified device ID and the currently processed application ID is reflected in the scheduled update version management table 338 (Table 8).
In step S1114, it is determined whether the processing up to step S1113 has been completed for all application IDs. If an application ID for which processing has not been completed remains (No.), the process returns to step S1112 to perform processing for the remaining application ID. If the processing has been completed for all application IDs (Yes.), The process proceeds to step S1115, and the scheduled update version information update process is terminated.

●更新FWバージョン判断処理(S1111)
図8は、図7のステップS1111における更新FWバージョン判断処理の例を示すフローチャートである。呼び出し元からデバイスIDが指定されて、ステップS1200からの処理を開始する。次に、ステップS1201では、登録ファームウェア管理テーブル334(表4)を検索して、指定されたデバイスIDに対応するデバイスモデルで最新のファームウェアのバージョンを求める。本実施例においては、バージョンは数値で定義されており、同じデバイスモデルのFWのバージョンの中で数値の昇順に新しくなっているものとする。したがって、数値が最も大きいものが最新バージョンである。この最新のバージョンを最初の更新候補バージョンとする。なおデバイスモデルは例えばデバイスIDから特定できるものとする。
次に、ステップS1202では、デバイス管理テーブル337(表7)からデバイスIDに対応するデバイスの現在バージョン(すなわち当該デバイスのファームウェアの現在のバージョン)を取得して、現在の更新候補バージョンが、デバイスの現在バージョンよりも新しいか、を判断する。更新候補バージョンが現在バージョンよりも新しい場合(Yes.)には、ステップS1203へ進む。現在バージョンよりも新しくない場合(No.)には、FWバージョン更新の必要が無いため、ステップS1209へ進む。ステップS1209では、更新予定バージョン管理テーブル338(表8)における、指定されたデバイスIDに一致する全てのレコードの更新FWVERを空欄にする。
● Update FW version judgment process (S1111)
FIG. 8 is a flowchart showing an example of the update FW version determination process in step S1111 of FIG. A device ID is designated from the caller, and processing from step S1200 is started. In step S1201, the registered firmware management table 334 (Table 4) is searched to obtain the latest firmware version using the device model corresponding to the designated device ID. In the present embodiment, it is assumed that the version is defined by a numerical value and is new in the ascending numerical order among the FW versions of the same device model. Therefore, the latest version is the one with the largest numerical value. This latest version is set as the first update candidate version. The device model can be specified from, for example, the device ID.
Next, in step S1202, the current version of the device corresponding to the device ID (that is, the current version of the firmware of the device) is acquired from the device management table 337 (Table 7), and the current update candidate version is Determine if it is newer than the current version. If the update candidate version is newer than the current version (Yes.), The process proceeds to step S1203. If it is not newer than the current version (No.), it is not necessary to update the FW version, and the process advances to step S1209. In step S1209, the update FWVER of all records matching the specified device ID in the update scheduled version management table 338 (Table 8) is made blank.

ステップS1203では、デバイスIDに対応するデバイスの現在バージョンから更新候補バージョンへの更新が可能か否かを判断する。これには、ファームウェアバージョン管理テーブル335(表5)から、デバイスIDに対応するデバイスモデル、デバイスIDに対応する現在バージョンを更新元、更新候補バージョンを更新後、とした組合せを検索する。該当する組合せが存在する場合(Yes.)には、その組み合わせは更新可能な組み合わせであり、ステップS1204へ進む。該当する組合せが存在しない場合(No.)には、ステップS1210へ進む。
ステップS1210では、登録ファームウェア管理テーブル334(表4)を検索して、現在の更新候補バージョンから一つ前のバージョンを求め、それを新たな更新候補バージョンとしてステップS1202からの処理を繰り返す。
In step S1203, it is determined whether or not the current version of the device corresponding to the device ID can be updated to the update candidate version. For this, a combination of the device version corresponding to the device ID, the current version corresponding to the device ID, the update source, and the update candidate version after updating is searched from the firmware version management table 335 (Table 5). If the corresponding combination exists (Yes), the combination is an updatable combination, and the process advances to step S1204. If there is no such combination (No.), the process proceeds to step S1210.
In step S1210, the registered firmware management table 334 (Table 4) is searched to obtain a previous version from the current update candidate version, and the process from step S1202 is repeated with this as a new update candidate version.

ステップS1204からステップS1207までで、更新予定バージョン管理テーブル338(表8)において、指定されたデバイスIDに対応するデバイスにインストールされている全アプリのアプリIDについて、順に動作確認判断の処理をしていく。ステップS1204では、更新予定バージョン管理テーブル338に登録されたアプリIDに順次着目する。現在着目しているアプリIDを着目アプリIDと呼ぶ。これはアプリID以外の他の処理対象についても同様とする。   From step S1204 to step S1207, in the update scheduled version management table 338 (Table 8), operation confirmation determination processing is performed in order for the application IDs of all applications installed in the device corresponding to the specified device ID. Go. In step S1204, attention is sequentially paid to application IDs registered in the update scheduled version management table 338. The app ID that is currently focused on is called the focused app ID. The same applies to processing objects other than the application ID.

ステップS1205では、更新予定バージョン管理テーブル338(表8)から着目アプリIDとその現在VERを特定する。そして特定した着目アプリIDとその現在VERとで登録アプリ管理テーブル332(表2)を検索し、該当するファイルIDを特定する。指定されたデバイスIDに対応するデバイスモデルと現在の更新候補FWバージョン、特定したアプリのファイルIDの組合せが、バージョン制限管理テーブル336(表6)に存在するかを検索する。組合せが存在すれば動作不可能、組合せが存在しなければ動作可能である。ステップS1206では、ステップS1205の検索結果に従って、処理を分岐する。動作可能(Yes.)である場合には、ステップS1207へ進む。動作不可能である場合(No.)には、ステップS1210へ進み、現在の更新候補バージョンの一つ前のバージョンを求め、それを新たな更新候補バージョンとしてステップS1202からの処理を繰り返す。   In step S1205, the application ID of interest and its current VER are specified from the scheduled update version management table 338 (Table 8). Then, the registered application management table 332 (Table 2) is searched with the identified application ID of interest and its current VER, and the corresponding file ID is specified. It is searched whether the combination of the device model corresponding to the designated device ID, the current update candidate FW version, and the identified application file ID exists in the version restriction management table 336 (Table 6). Operation is not possible if a combination exists, and operation is possible if no combination exists. In step S1206, the process branches according to the search result in step S1205. If it is operable (Yes), the process proceeds to step S1207. If the operation is not possible (No.), the process proceeds to step S1210, the version immediately before the current update candidate version is obtained, and the process from step S1202 is repeated with this as a new update candidate version.

ステップS1207では、全てのアプリIDについてステップS1206までの処理を完了したかを判断する。処理が完了していないアプリIDが残っている場合(No.)には、ステップS1204へ戻り、残りのアプリIDについての処理を行う。全てのアプリIDについて処理が完了している場合(Yes.)は、ステップS1208へ進む。
ステップS1208へ進むと、そのときのFWの更新候補バージョンは、デバイスにインストールされた全てのアプリが動作可能、かつ、現在よりも新しいバージョンである。したがって、更新予定バージョン管理テーブル338(表8)における、指定されたデバイスIDに一致する全てのレコードの更新FWVERへ、FWの現在の更新候補バージョンを反映する。
ステップS1211で、更新FWバージョン判断処理は終了し、呼び出し元に戻る。
In step S1207, it is determined whether the processing up to step S1206 has been completed for all application IDs. If an application ID for which processing has not been completed remains (No.), the process returns to step S1204 to perform processing for the remaining application ID. If the processing has been completed for all application IDs (Yes.), The process proceeds to step S1208.
When the processing proceeds to step S1208, the update candidate version of the FW at that time is a version that can operate all the applications installed in the device and is newer than the current version. Therefore, the current update candidate version of FW is reflected in the update FWVER of all records that match the specified device ID in the update scheduled version management table 338 (Table 8).
In step S1211, the update FW version determination process ends, and the process returns to the caller.

以上の手順により、デバイス400からのアプリ更新通知の受信をトリガとして、そのデバイス400のファームウェアの更新可能な新しいバージョンを決定できる。決定されたバージョン情報は、たとえば次回の適用可能FW情報要求441に応答してデバイス400に送信できる。またこの処理はトリガとなった処理とは非同期に実行されるので、デバイスへの応答に遅延をもたらすことを防止できる。   With the above procedure, a new updateable version of the firmware of the device 400 can be determined with the reception of an application update notification from the device 400 as a trigger. The determined version information can be transmitted to the device 400 in response to the next applicable FW information request 441, for example. In addition, since this process is executed asynchronously with the triggering process, it is possible to prevent a delay in the response to the device.

●更新アプリバージョン判断処理
図9は、更新アプリバージョン判断処理の例を示すフローチャートである。呼び出し元からデバイスIDとアプリIDが指定されて、ステップS1300からの処理を開始する。それぞれ着目デバイスIDおよび着目アプリIDと呼ぶ。
次に、ステップS1301では、登録アプリ管理テーブル332(表2)を検索して、指定されたアプリIDで最新のバージョンを求める。本実施例においては、FW同様、アプリバージョンも数値で定義されており、同じアプリIDのバージョンの中で数値の昇順に新しくなっているものとする。したがって、数値が最も大きいものが最新バージョンである。この最新バージョンを最初の更新候補バージョンとする。
次に、ステップS1302では、更新予定バージョン管理テーブル338(表8)からデバイスIDとアプリIDの組合せに対応するアプリの現在VERを取得する。そして、現在の更新候補バージョンが、デバイスにインストールされている現在VERよりも新しいか、を判断する。更新候補バージョンが現在VERよりも新しい場合(Yes.)には、ステップS1303へ進む。現在VERよりも新しくない場合(No.)には、アプリバージョン更新の必要が無いため、ステップS1314へ進む。
ステップS1314へ来たということは、FW更新前後のバージョンに関わらず動作可能で現在よりも新しいアプリのバージョンは存在しないということである。したがってステップS1314では、更新予定バージョン管理テーブル338(表8)における、指定されたデバイスIDとアプリIDに一致するレコードの更新VERを空欄にする。
Update Application Version Determination Process FIG. 9 is a flowchart showing an example of the update application version determination process. The device ID and application ID are specified from the caller, and the processing from step S1300 is started. These are called a target device ID and a target application ID, respectively.
In step S1301, the registered application management table 332 (Table 2) is searched to obtain the latest version with the specified application ID. In the present embodiment, it is assumed that the application version is also defined by a numerical value as in the case of FW, and is new in the ascending order of the numerical value within the version of the same application ID. Therefore, the latest version is the one with the largest numerical value. This latest version is set as the first update candidate version.
In step S1302, the current VER of the application corresponding to the combination of the device ID and the application ID is acquired from the update scheduled version management table 338 (Table 8). Then, it is determined whether the current update candidate version is newer than the current VER installed in the device. If the update candidate version is newer than the current VER (Yes.), The process proceeds to step S1303. If it is not newer than the current VER (No.), there is no need to update the application version, and the process advances to step S1314.
The fact that it has come to step S1314 means that there is no version of the app that is operable and can be operated regardless of the version before and after the FW update. Therefore, in step S1314, the update VER of the record that matches the specified device ID and application ID in the update scheduled version management table 338 (Table 8) is made blank.

ステップS1303では、デバイスIDに対応するデバイスの現在バージョンから更新候補バージョンへの更新が可能か否かを判断する。これには、アプリバージョン管理テーブル333(表3)から、指定されたアプリIDと現在VERとを更新元とし、更新候補のバージョンを更新後とした組合せを検索する。更新可能つまり組合せが存在する場合(Yes.)には、ステップS1304へ進む。更新不可能、つまり組合せが存在しない場合(No.)には、ステップS1311へ進む。
ステップS1304では、更新予定バージョン管理テーブル338(表8)から、指定されたデバイスIDとアプリIDの組合せを検索し、更新FWVERが存在するか否かを判断する。更新FWVERがある場合(Yes.)には、ステップS1305へ進み、無い場合(No.)には、ステップS1309へ進む。
ステップS1305では、まず、更新FWバージョン(更新FWVER)とアプリの更新候補バージョンの組合せが動作可能かを、バージョン制限管理テーブル336(表6)から判断する。判断方法については、前述のステップS1205と同様であるので省略する。ステップS1306では、その判定結果に従って、動作可能である場合(Yes.)には、ステップS1307へ進む。動作不可能である場合(No.)には、ステップS1311へ進む。
ステップS1311では、登録アプリ管理テーブル332を検索して、現在の更新候補バージョンから一つ前のバージョンを求め、ステップS1302からの処理を繰り返す。
In step S1303, it is determined whether the current version of the device corresponding to the device ID can be updated to the update candidate version. For this, a combination is searched from the application version management table 333 (Table 3) with the designated application ID and the current VER as the update source and the version of the update candidate as updated. If updatable, that is, there is a combination (Yes), the process proceeds to step S1304. If updating is impossible, that is, if there is no combination (No.), the process proceeds to step S1311.
In step S1304, the combination of the designated device ID and application ID is searched from the scheduled update version management table 338 (Table 8), and it is determined whether or not an update FWVER exists. If there is an updated FWVER (Yes.), The process proceeds to step S1305, and if not (No.), the process proceeds to step S1309.
In step S1305, first, it is determined from the version restriction management table 336 (Table 6) whether the combination of the update FW version (update FWVER) and the update candidate version of the application is operable. Since the determination method is the same as that in step S1205 described above, a description thereof will be omitted. In step S1306, if operation is possible (Yes) according to the determination result, the process proceeds to step S1307. If the operation is impossible (No.), the process proceeds to step S1311.
In step S1311, the registered application management table 332 is searched to obtain a previous version from the current update candidate version, and the processing from step S1302 is repeated.

ステップS1307では、デバイス管理テーブル337(表7)から取得した現在FWバージョンと着目アプリの更新候補バージョンの組合せが動作可能かを、バージョン制限管理テーブル336(表6)から判断する。動作可能である場合(Yes.)には、FWのバージョン更新前にアプリの更新をすることが出来るため、ステップS1308からステップS1312へ進む。動作不可能である場合(No.)には、FWのバージョン更新後にアプリの更新を行う必要があるため、ステップS1308からステップS1313へ進む。   In step S1307, it is determined from the version restriction management table 336 (Table 6) whether the combination of the current FW version acquired from the device management table 337 (Table 7) and the update candidate version of the application of interest is operable. If it is operable (Yes), the application can be updated before the FW version is updated, and the process advances from step S1308 to step S1312. If it is not possible to operate (No.), it is necessary to update the application after updating the version of the FW, and the process advances from step S1308 to step S1313.

ステップS1309は、更新FWバージョンが無い場合の判断処理である。ステップS1307と同様に、現在FWバージョンとアプリの更新候補バージョンの組合せが動作可能かを、バージョン制限管理テーブル336(表6)から判断する。ステップS1309の場合では、FWの更新が無いため、動作不可能である場合(No.)、ステップS1310からステップS1311へ進み、一つ前のバージョンを更新候補バージョンとし、ステップS1302からの処理を繰り返す。動作可能である場合(Yes.)、アプリだけの更新は可能であるため、ステップS1310からステップS1312へ進む。FWの更新が無いアプリだけの更新の場合、前更新と後更新の両方が可能であるが、本実施例では、前更新で統一する処理としている。   Step S1309 is determination processing when there is no updated FW version. Similar to step S1307, it is determined from the version restriction management table 336 (Table 6) whether the combination of the current FW version and the update candidate version of the application is operable. In the case of step S1309, since there is no FW update and operation is not possible (No.), the process proceeds from step S1310 to step S1311, the previous version is set as the update candidate version, and the processing from step S1302 is repeated. . When the operation is possible (Yes), only the application can be updated, and the process advances from step S1310 to step S1312. In the case of updating only an application that has no FW update, both pre-update and post-update are possible, but in this embodiment, the process is unified by pre-update.

ステップS1312へきたということは、アプリの更新候補バージョンは、対象デバイスの現在のFWバージョンで動作可能ということである。さらに、これから更新予定のFWバージョンでも動作可能あるいはFWの更新が無い、かつ、着目アプリの更新候補バージョンは、現在のバージョンよりも新しいということである。したがって、更新予定バージョン管理テーブル338(表8)における、指定されたデバイスIDとアプリIDに一致するレコードの更新VERへ、当該アプリの現在の更新候補バージョンを反映する。そして、当該レコードの更新時には、「前」を設定する。   Having come to step S1312, it means that the update candidate version of the application can operate with the current FW version of the target device. Furthermore, the FW version that is scheduled to be updated is operable or there is no FW update, and the update candidate version of the application of interest is newer than the current version. Therefore, the current update candidate version of the application is reflected in the update VER of the record that matches the specified device ID and application ID in the update scheduled version management table 338 (Table 8). When the record is updated, “Previous” is set.

ステップS1313へ来たということは、アプリの現在の更新候補バージョンは、対象デバイスの現在のFWバージョンで動作不可能ということである。しかし、更新予定のバージョンのFWの更新後には動作可能、かつ、着目アプリの更新候補バージョンは、現在のバージョンよりも新しいということである。したがって、更新予定バージョン管理テーブル338に(表8)おける、指定されたデバイスIDとアプリIDに一致するレコードの更新VERへアプリの現在の更新候補バージョンを反映する。そして、当該レコードの更新時には、「後」を設定する。
ステップS1315で、更新アプリバージョン判断処理は終了し、呼び出し元に戻る。
Having come to step S1313 means that the current update candidate version of the app cannot operate with the current FW version of the target device. However, the update candidate version of the application of interest can be operated after updating the version of the FW scheduled to be updated, and the update candidate version of the application of interest is newer than the current version. Therefore, the current update candidate version of the application is reflected in the update VER of the record that matches the specified device ID and application ID in the scheduled update version management table 338 (Table 8). Then, “after” is set when the record is updated.
In step S1315, the update application version determination process ends, and the process returns to the caller.

以上の手順により、デバイス400からのアプリ更新通知の受信をトリガとして、そのデバイス400のアプリの更新可能なバージョンを決定できる。決定したアプリの更新バージョンは、現在のファームウェアまたは更新後のファームウェアで動作可能であることが保証されている。またこの処理はトリガとなった処理とは非同期に実行されるので、デバイスへの応答に遅延をもたらすことを防止できる。   With the above procedure, the updateable version of the app of the device 400 can be determined with the reception of the app update notification from the device 400 as a trigger. The determined updated version of the application is guaranteed to be operable with the current firmware or the updated firmware. In addition, since this process is executed asynchronously with the triggering process, it is possible to prevent a delay in the response to the device.

●FWおよびアプリの自動更新処理
図10は、配信システム10におけるFWおよびアプリの自動更新処理の例を示すフローチャートである。図10は、図5のシーケンスにおける適用可能FW情報要求441の受信に対応して、FW/アプリ情報442の応答のために配信制御部317で処理される内容である。
FW and App Automatic Update Processing FIG. 10 is a flowchart illustrating an example of automatic FW and app update processing in the distribution system 10. FIG. 10 shows the contents processed by the distribution control unit 317 for the response of the FW / application information 442 in response to the reception of the applicable FW information request 441 in the sequence of FIG.

適用可能FW情報要求441の受信に対応して、ステップS1400からの処理を開始する。ステップS1401で、デバイスからは、デバイスIDおよびそのデバイスにインストールされているFWのバージョンを受信する。このデバイスが着目デバイスとなる。ここで、受信した着目デバイスのFWバージョンをDFWVER、デバイスIDをX、として内部処理の変数に格納する。このデバイスを以下ではデバイスXと呼ぶこともある。
ステップS1402では、登録ファームウェア管理テーブル334(表4)からデバイスIDがXのレコードを検索し、そのバージョンを取得する。これが、配信システム10が把握している着目デバイスのFWバージョンである。そして、受信した着目デバイスのFWバージョンであるDFWVERと、配信システム10が把握しているFWバージョンとが一致しているかを判断する。一致している場合(Yes.)には、ステップS1403へ進む。異なる場合(No.)には、ステップS1404へ進む。
ステップS1403では、デバイスXの更新予定情報があるか否かを判断する。つまり、更新予定バージョン管理テーブル338(表8)に、デバイスIDがXのレコードが含まれているかを検索する。含まれていればデバイスXにアプリがインストールされているかを判断する。たとえばアプリIDが登録されていれば、アプリがインストールされていると判定できる。アプリがインストールされている場合には、FWの配信バージョン(更新FWVER)とアプリの配信バージョン(更新VER)を合わせて判断する。アプリがインストールされていない場合には、FW配信バージョン(更新FWVER)だけを判断する。DFWVERと配信システム10が把握しているFWバージョンが一致し(S1402-YES)、かつ、アプリがインストールされている場合(S1403-Yes.)には、更新予定バージョン情報更新処理(図7)で判断済みのFWとアプリのバージョン(すなわち更新予定バージョン管理テーブル338に登録されたFWとアプリのバージョン)で更新すればよい。したがって、ステップS1413へ進む。
In response to reception of the applicable FW information request 441, processing from step S1400 is started. In step S1401, the device receives the device ID and the version of the FW installed on the device. This device is the device of interest. Here, the received FW version of the target device is stored as DFWVER and the device ID as X in internal processing variables. This device is sometimes called device X below.
In step S1402, a record whose device ID is X is searched from the registered firmware management table 334 (Table 4), and its version is acquired. This is the FW version of the device of interest known by the distribution system 10. Then, it is determined whether the received DFWVER, which is the FW version of the device of interest, matches the FW version known by the distribution system 10. If they match (Yes.), The process proceeds to step S1403. If they are different (No.), the process proceeds to step S1404.
In step S1403, it is determined whether there is update schedule information for device X. That is, it is searched whether or not a record whose device ID is X is included in the scheduled update version management table 338 (Table 8). If it is included, it is determined whether the app is installed on the device X. For example, if an application ID is registered, it can be determined that the application is installed. When the application is installed, the distribution version of the FW (update FWVER) and the distribution version of the application (update VER) are determined together. If the app is not installed, only the FW distribution version (updated FWVER) is determined. If the DFWVER and the FW version known by the distribution system 10 match (S1402-YES) and the application is installed (S1403-Yes.), The update scheduled version information update process (FIG. 7) What is necessary is just to update with the determined FW and the version of the application (that is, the version of the FW and the application registered in the update scheduled version management table 338). Accordingly, the process proceeds to step S1413.

アプリがインストールされていない場合(No.)には、デバイス400から受信したファームウェアバージョンDFWVERを元に更新するFWのバージョンを判断する必要があるため、ステップS1404へ進む。アプリがインストールされていない場合で、更新するFWのバージョンが決定した場合には、ステップS1408で再度、アプリがインストールされているか否かが判断されて、処理が分岐する。   If the application is not installed (No.), it is necessary to determine the version of the FW to be updated based on the firmware version DFWVER received from the device 400, and the process advances to step S1404. If the application is not installed and the FW version to be updated is determined, it is determined again in step S1408 whether the application is installed, and the process branches.

ステップS1404では、デバイス管理テーブル337(表7)から、デバイスIDがXのレコードを検索しデバイスモデルを特定する。そして、登録ファームウェア管理テーブル334(表4)から当該デバイスモデルのFWの最新バージョンを求める。ここで、内部処理の変数CURVERに求めた最新バージョンを格納する。CURVERは、現在の更新候補のバージョンを示す。
ステップS1405で、ファームウェアの更新候補ベージョンCURVERが現在バージョンDFWVERよりも新しいかを判断する。新しい場合には、ステップS1405へ進む。新しくない場合(No.)には、更新予定バージョン情報更新処理(図7)で判断済みのFWとアプリのバージョンで更新してはいけない、あるいは更新する必要が無いため、ステップS1410へ進む。
ステップS1406では、DFWVERからCURVERへのFWのバージョン更新が出来るか否かを、ファームウェアバージョン管理テーブル335(表5)から判断する。更新可能な場合(Yes.)には、ステップS1408へ進む。更新不可能な場合(No.)には、ステップS1407へ進み、登録ファームウェア管理テーブル334(表4)から一つ前のバージョンを求めてCURVERを更新し、ステップ1405からの処理を繰り返す。
In step S1404, a record whose device ID is X is searched from the device management table 337 (Table 7) to specify a device model. Then, the latest version of the FW of the device model is obtained from the registered firmware management table 334 (Table 4). Here, the latest version obtained in the internal processing variable CURVER is stored. CURVER indicates the version of the current update candidate.
In step S1405, it is determined whether the firmware update candidate version CURVER is newer than the current version DFWVER. If it is new, the process proceeds to step S1405. If it is not new (No.), it should not be updated with the FW and application version determined in the update scheduled version information update process (FIG. 7), or there is no need to update, so the process proceeds to step S1410.
In step S1406, it is determined from the firmware version management table 335 (Table 5) whether or not the FW version can be updated from DFWVER to CURVER. If it can be updated (Yes), the process advances to step S1408. If it cannot be updated (No.), the process proceeds to step S1407, the previous version is obtained from the registered firmware management table 334 (Table 4), CURVER is updated, and the processing from step 1405 is repeated.

ステップS1408では、デバイスXについて、アプリ及び/又はFWの更新予定情報があるか否かを、更新予定バージョン管理テーブル338(表8)を参照して判断する。デバイスXにアプリがインストールされていない場合には、ここまでの処理において決定されたCURVERが、更新するFWのバージョンを示している。ステップS1408において、デバイスXの更新予定情報があると判定された場合(Yes.)には、ステップS1409へ進む。デバイスXの更新予定情報が無い場合(No.)、すなわち、アプリがインストールされていない場合には、ステップS1425へ進み、FWの更新情報のみを応答するための処理を行う。すなわち、ステップS1425では、応答442に、ファームウェアの現在の更新候補バーションCURVERを追加する。そしてステップS1426で追加されたファームウェアの現在の更新候補バーションを含む応答をデバイス400に送信する。   In step S1408, it is determined with reference to the update scheduled version management table 338 (Table 8) whether or not there is update schedule information of the application and / or FW for the device X. When no app is installed on device X, the CURVER determined in the process so far indicates the version of the FW to be updated. If it is determined in step S1408 that there is update schedule information for device X (Yes), the process advances to step S1409. If there is no update schedule information for the device X (No.), that is, if no application is installed, the process proceeds to step S1425 to perform a process for responding only to the update information for the FW. That is, in step S1425, the current firmware update candidate version CURVER is added to the response 442. Then, a response including the current update candidate version of the firmware added in step S1426 is transmitted to the device 400.

ステップS1409では、更新予定バージョン情報更新(図7)によって事前に更新予定バージョン管理テーブル338(表8)に記録されている更新FWVERと、現在のファームウェアの更新候補バージョンCURVERとが同じであるかを判断する。同じである場合(Yes.)には、アプリの更新が有ったとしても、FWの更新の後で更新が可能であることが判断済みであるため、次のステップS1412へ進む。異なる場合(No.)には、ステップS1410へ進む。
ステップS1410では、デバイス管理テーブル337(表7)におけるデバイスXのレコードに対して、デバイス400から受信したファームウェアバージョンDFWVERの値でバージョンを更新する。ステップS1410を通らない処理フローの場合には、デバイスXのFWのバージョン更新が実施されるため、図5におけるFW状態記録処理460のタイミングでデバイスXのデバイス管理情報(表7)は更新される。ステップS1411では、FWもアプリも更新情報は無いため、図5のFW/アプリ情報442は更新情報無しでデバイス400へ応答される。
In step S1409, the update FWVER recorded in the update planned version management table 338 (Table 8) in advance by the update planned version information update (FIG. 7) and the current firmware update candidate version CURVER are the same. to decide. If they are the same (Yes), it is determined that the update is possible after the update of the FW even if there is an update of the application, and the process proceeds to the next step S1412. If they are different (No.), the process proceeds to step S1410.
In step S1410, the version of the device X record in the device management table 337 (Table 7) is updated with the value of the firmware version DFWVER received from the device 400. In the case of the processing flow that does not pass step S1410, the FW version update of the device X is performed. Therefore, the device management information (Table 7) of the device X is updated at the timing of the FW state recording process 460 in FIG. . In step S1411, since there is no update information for both the FW and the application, the FW / application information 442 in FIG. 5 is returned to the device 400 without the update information.

一方ステップS1412では、内部処理の変数であるAFTERフラグをオンにセットする(初期値はオフ)。すなわち、アプリの更新時期を、ファームウェアの更新の後に設定する。このフラグがセットされて、後のステップS1416へ進んだ場合には、「更新時」を「後」の値として処理を進める。すなわち、更新予定バージョン管理テーブル338における、全てのアプリの更新時が「後」として見なされることを意味する。そして、ステップS1413へ進む。
ステップS1413からの処理で、更新予定バージョン管理テーブル338の情報から、デバイス400へ応答する情報(表9)を作成する。ステップS1413では、更新予定バージョン管理テーブル338(表8)からデバイスXのレコードを検索する。
ステップS1414では、まず検索結果として得られた該当するレコードのうち、最初のレコードを取得して、対象レコードとする。
ステップS1415では、対象レコードに更新VERの記録があるか否かを判断する。つまり、対象レコードのアプリの更新バージョンがあるか否かを判断する。ある場合(Yes.)には、ステップS1416へ進み、応答情報に対象のアプリの更新情報を追加する。無い場合(No.)には、ステップS1419へ進み、処理を進める。
ステップS1416では、デバイスへ応答する情報におけるアプリの更新時を前後どちらにするかの判断をする。ステップS1412にて、AFTERフラグがセットされている場合には、ここにおいて、アプリは全て「後」更新と判断される。そうでない場合には、更新予定バージョン情報における対象レコードの「更新時」の値に従って、「前」か「後」と判断される。「前」と判断された場合には、ステップS1417へ進み、「後」と判断された場合には、ステップS1418へ進む。
ステップS1417では、表9で例示したデバイスへ応答する情報に、コンテンツタイプとして「前アプリ」、IDとして対象レコードのアプリIDの値、バージョンとして対象レコードの更新VERの値から成る組合せを追加する。
ステップS1418では、表9で例示したデバイスへ応答する情報に、コンテンツタイプとして「後アプリ」、IDとして対象レコードのアプリIDの値、バージョンとして対象レコードの更新VERの値から成る組合せを追加する。
On the other hand, in step S1412, the AFTER flag, which is a variable for internal processing, is set to ON (initial value is OFF). That is, the application update time is set after the firmware update. If this flag is set and the process proceeds to the subsequent step S 1416, the process proceeds with “at the time of update” as the value “after”. That is, it means that the update time of all applications in the update scheduled version management table 338 is regarded as “after”. Then, the process proceeds to step S1413.
In the processing from step S1413, information (Table 9) for responding to the device 400 is created from the information in the scheduled update version management table 338. In step S1413, the record of the device X is searched from the update scheduled version management table 338 (Table 8).
In step S1414, first, the first record among the corresponding records obtained as a search result is acquired and set as a target record.
In step S1415, it is determined whether there is an update VER record in the target record. That is, it is determined whether there is an updated version of the application of the target record. If yes (Yes.), The process advances to step S1416 to add update information of the target application to the response information. If not (No.), the process proceeds to step S1419 to proceed with the process.
In step S1416, it is determined whether to update the app in the information responding to the device. If the AFTER flag is set in step S1412, all the apps are determined to be “after” update here. Otherwise, it is determined as “before” or “after” according to the value of “at the time of update” of the target record in the update scheduled version information. If it is determined as “front”, the process proceeds to step S1417. If it is determined as “rear”, the process proceeds to step S1418.
In step S1417, a combination of “previous app” as the content type, the app ID value of the target record as the ID, and the update VER value of the target record as the version is added to the information responding to the device exemplified in Table 9.
In step S1418, a combination of “post-app” as the content type, the app ID value of the target record as the ID, and the update VER value of the target record as the version is added to the information responding to the device exemplified in Table 9.

ステップS1419では、対象レコードがデバイスの最終レコードであるかを判断する。最終レコードである場合(Yes.)には、ここまでで全てのアプリの応答情報の追加が終了しているため、ステップS1421へ進み、FWの応答情報の判断処理を行う。最終レコードでない場合(No.)には、ステップS1420へ進む。
ステップS1420では、検索結果から次のレコードを取得して、それを対象レコードとし、ステップS1415からの処理を繰り返す。
In step S1419, it is determined whether the target record is the last record of the device. If it is the last record (Yes.), Since the addition of response information for all the applications has been completed so far, the process proceeds to step S1421, and the determination process of the response information of FW is performed. If it is not the last record (No.), the process proceeds to step S1420.
In step S1420, the next record is acquired from the search result, and it is set as a target record, and the processing from step S1415 is repeated.

ステップS1421では、最終レコードに対して、更新FWVERの記録があるか否かを判断する。つまり、デバイスXにFWの更新バージョンがあるか否かを判断する。ある場合(Yes.)には、ステップS1422へ進み、デバイスへの応答情報にFWの更新情報を追加する。無い場合(No.)には、ステップS1424へ進む。
ステップS1422では、表9で例示したデバイスへ応答する情報に、コンテンツタイプとして「FW」、IDとしてXのデバイスモデルの値、バージョンとして対象レコードの更新FWVERの値から成る組合せを追加する。
ステップS1423では、ここまでに作成したデバイスへの応答情報をもって、FWとアプリの更新情報をデバイスへ応答して、応答442とする。なお、ステップS1415からS1420の処理の繰り返しの中でアプリの更新情報が一つもなければ、ここでFWの更新情報のみとなる場合もある。
ステップS1424では、ここまでに作成したデバイスへの応答情報をもって、アプリの更新情報のみをデバイスへ応答して応答442とする。
ステップS1425では、表9で例示したデバイスへ応答する情報に、コンテンツタイプとして「FW」、IDとしてXのデバイスモデルの値、バージョンとしてCURVERの値から成る組合せを追加する。
ステップS1426では、ここまでに作成したデバイスへの応答情報をもって、FWの更新情報のみをデバイスへ応答して応答442とする。
In step S1421, it is determined whether there is a record of updated FWVER for the last record. That is, it is determined whether or not the device X has an updated version of FW. If yes (Yes.), The process advances to step S1422 to add FW update information to the response information to the device. If not (No.), the process proceeds to step S1424.
In step S1422, a combination consisting of “FW” as the content type, the value of the device model of X as the ID, and the value of the update FWVER of the target record as the version is added to the information responding to the device illustrated in Table 9.
In step S1423, with the response information to the device created so far, the update information of the FW and the application is returned to the device, and a response 442 is obtained. If there is no update information of the application in the repetition of the processing from step S1415 to S1420, there may be only FW update information here.
In step S1424, with the response information to the device created so far, only the application update information is returned to the device as a response 442.
In step S1425, a combination of “FW” as the content type, the value of the device model of X as the ID, and the value of CURVER as the version is added to the information responding to the device exemplified in Table 9.
In step S1426, with the response information to the device created so far, only the FW update information is returned to the device as a response 442.

図10の手順をまとめると、デバイスが申告したファームウェアバージョンと、サーバが管理しているデバイスのファームウェアバージョンとが一致しているなら、更新予定を確認し、更新予定があるならば、FW/アプリ応答442は、更新予定バージョン管理テーブル338の登録内容に従う。   The procedure of FIG. 10 is summarized. If the firmware version declared by the device matches the firmware version of the device managed by the server, the update schedule is confirmed. The response 442 follows the registered contents of the update scheduled version management table 338.

一方、デバイスが申告したファームウェアバージョンと、サーバが管理しているデバイスのファームウェアバージョンとが一致していないか、または更新予定がない場合には、まずファームウェアの更新バージョンを決定する。更新バージョンは、デバイスの現在のバージョンより新しく、かつ、更新可能なバージョンのうち最も新しいバージョンである。このときには、更新されるアプリはすべてファームウェアの後に更新するものと設定する。   On the other hand, if the firmware version reported by the device does not match the firmware version of the device managed by the server or there is no update plan, the firmware update version is first determined. The update version is newer than the current version of the device and can be updated. At this time, all the applications to be updated are set to be updated after the firmware.

これによって、更新すべきファームウェアのバージョン及びアプリのバージョンを決定できる。また、アプリの更新バージョンが図6(b)の処理で決定されている場合には、アプリのバージョンも併せてデバイスに通知することができる。   Thereby, the firmware version and the application version to be updated can be determined. Further, when the updated version of the application is determined in the process of FIG. 6B, the version of the application can be notified to the device together.

●FW登録更新時処理
更新予定バージョン情報は、新しくFWが登録された時にも更新される。FWが新規に登録されれば、自動アップデートによる定期確認の際に新しいFWの方を配信する判断となる可能性がある。この時には、アプリの動作依存情報も反映されている必要がある。
● Processing at the time of FW registration update The scheduled update version information is also updated when a new FW is registered. If a new FW is registered, there is a possibility that it will be decided to distribute a new FW during periodic confirmation by automatic update. At this time, the operation-dependent information of the application needs to be reflected.

図11(a)は、FW登録後にバッチ処理部315で処理される、FW登録更新時処理の例を示すフローチャートである。
FWの登録によって、登録ファームウェア管理テーブル334(表4)、ファームウェアバージョン管理テーブル335(表5)、および、バージョン制限管理テーブル336(表6)が更新されると、ステップS1120からの処理が開始する。
FIG. 11A is a flowchart illustrating an example of the FW registration update process performed by the batch processing unit 315 after FW registration.
When the registered firmware management table 334 (Table 4), the firmware version management table 335 (Table 5), and the version restriction management table 336 (Table 6) are updated by the FW registration, the processing from step S1120 starts. .

ステップS1121では、FW登録された対象のデバイスモデルを特定する。ここで、対象デバイスモデルに属するデバイスIDの一覧を持って、ステップS1122からステップS1124までで対象デバイスモデルに属する全デバイスIDについて、順に処理していく。
ステップS1123は、処理するデバイスIDで、更新予定バージョン情報更新処理(図7、ステップS1110)を呼び出す。
ステップS1124では、デバイスモデルに属する全てのデバイスIDについてステップS1123の処理を完了したかを判断する。処理が完了していないデバイスIDが残っている場合(No.)には、ステップS1122へ戻り、残りのデバイスIDについての処理を行う。全てのデバイスIDについて処理が完了している場合(Yes.)は、ステップS1125へ進み、FW登録更新時処理を終了する。
In step S1121, the target device model registered for FW is specified. Here, with a list of device IDs belonging to the target device model, all device IDs belonging to the target device model are processed in order from step S1122 to step S1124.
In step S1123, the scheduled update version information update process (FIG. 7, step S1110) is called with the device ID to be processed.
In step S1124, it is determined whether or not the processing in step S1123 has been completed for all device IDs belonging to the device model. If a device ID that has not been processed remains (No.), the process returns to step S1122, and the remaining device ID is processed. If the processing has been completed for all device IDs (Yes.), The process proceeds to step S1125, and the FW registration update process ends.

この手順で、ファームウェアの新バージョンが登録されると、それに応じて更新予定バージョン管理テーブル338を更新することができる。   With this procedure, when a new version of firmware is registered, the scheduled update version management table 338 can be updated accordingly.

●定時バッチ処理
さらに、バッチ処理部315は、定期的にスケジュールされた日時に起動する定時バッチ処理も行う。アプリのバージョンだけが更新された場合などは、この定時バッチ処理で、更新予定バージョン管理テーブル338を更新する。
図11(b)は、定時バッチ処理の例を示すフローチャートである。例えば、毎日深夜0時に処理を起動するように設定されたスケジューラ318により、バッチ処理部315において、ステップS1130からの処理を開始する。
ステップS1131からステップS1133までで、更新予定バージョン管理テーブル338(表8)に登録された全デバイスIDについて、順に処理していく。
ステップS1132は、処理するデバイスIDで、更新予定バージョン情報更新処理(図7、ステップS1110)を呼び出す。
ステップS1133では、全てのデバイスIDについてステップS1132の処理を完了したかを判断する。処理が完了していないデバイスIDが残っている場合(No.)には、ステップS1131へ戻り、残りのデバイスIDについての処理を行う。全てのデバイスIDについて処理が完了している場合(Yes.)は、ステップS1134へ進み、定時バッチ処理理を終了する。
● Scheduled Batch Processing Furthermore, the batch processing unit 315 also performs scheduled batch processing that starts at a regularly scheduled date and time. When only the application version is updated, the scheduled update version management table 338 is updated by this scheduled batch processing.
FIG. 11B is a flowchart illustrating an example of the scheduled batch process. For example, the process from step S1130 is started in the batch processing unit 315 by the scheduler 318 set to start the process every day at midnight.
From step S1131 to step S1133, all device IDs registered in the scheduled update version management table 338 (Table 8) are processed in order.
In step S1132, the scheduled update version information update process (step S1110 in FIG. 7) is called with the device ID to be processed.
In step S1133, it is determined whether the processing in step S1132 has been completed for all device IDs. If a device ID that has not been processed remains (No.), the process returns to step S1131, and the remaining device ID is processed. If the processing has been completed for all device IDs (Yes.), The process proceeds to step S1134, and the scheduled batch processing is terminated.

この手順で、アプリの新バージョンが登録されていると、それに応じて更新予定バージョン管理テーブル338を更新することができる。図11に示したように、更新予定バージョン管理テーブル338は、設定した所定時期や、ファームウェアの登録などの所定のイベントをトリガとして実行させることもできる。   If a new version of the application is registered in this procedure, the scheduled update version management table 338 can be updated accordingly. As shown in FIG. 11, the scheduled update version management table 338 can be triggered by a set predetermined time or a predetermined event such as firmware registration.

以上、本実施例では、無人で適切な最新バージョンに更新されている状態が望ましい、(定期)自動更新配信の場合のシーケンスについて説明した。しかしながら、有人であっても容易に適切なバージョンへの更新が可能となるようにするための仕組みとしても、本実施例に係る発明は適用可能である。   As described above, in this embodiment, the sequence in the case of (periodic) automatic update distribution, in which it is desirable that the state is updated to the latest version that is unattended, has been described. However, the invention according to the present embodiment can also be applied as a mechanism for enabling easy update to an appropriate version even for manned persons.

図12は、デバイスにおいて、デバイスの利用者によるFWおよびアプリの最新版への更新を実施する時の流れの例を示すシーケンス図である。図12のシーケンスは、基本的に図5のシーケンスに従うため、図5との差異のみ説明する。   FIG. 12 is a sequence diagram illustrating an example of a flow when the device user updates the FW and the application to the latest version by the device user. Since the sequence of FIG. 12 basically follows the sequence of FIG. 5, only the differences from FIG. 5 will be described.

利用者401は、デバイス400のソフトウェア(FWおよびアプリ)を適切な組み合わせの最新版へと更新するために、デバイス400への更新指示を行う480。これは、例えば、デバイス400の操作パネルに、「ソフトウェアの最新化」等のボタンがあり、これを押下することにより、続くシーケンスが回診することを意味する。以後、図5に示したデバイス400と配信システム10との通信シーケンスと同じやり取りを即時で実行することにより、利用者によるソフトウェア最新化が可能となる。   The user 401 issues an update instruction 480 to the device 400 in order to update the software (FW and application) of the device 400 to the latest version of an appropriate combination. This means, for example, that there is a button such as “software update” on the operation panel of the device 400, and pressing this button causes a subsequent sequence to be visited. Thereafter, the software can be updated by the user by immediately executing the same exchange as the communication sequence between the device 400 and the distribution system 10 shown in FIG.

以上述べたように、配信システムにおいて、自動更新時にデバイスから現在のFWバージョンを受信するだけで、最新のアプリとFWを配信することが出来る。配信システムは、非同期で予め、各デバイスに配信予定のFWとアプリのバージョンを特定しておくことにより、配信時にサーバの応答速度を低下させることなくアプリとFWの適切なバージョンの組み合わせで配信することが出来る。適切な組み合わせについては、デバイスの現在バージョンを含め、アプリのバージョンだけを更新することが適切な場合は、アプリだけを配信し、FWだけ更新することが適切な場合は、FWだけを配信する。   As described above, in the distribution system, the latest application and FW can be distributed just by receiving the current FW version from the device at the time of automatic update. The distribution system specifies the version of the FW and application to be distributed to each device in advance asynchronously, and distributes the combination of the appropriate version of the application and FW without reducing the response speed of the server during distribution. I can do it. For the appropriate combination, if it is appropriate to update only the app version, including the current version of the device, only the app is distributed. If it is appropriate to update only the FW, only the FW is distributed.

これにより、MFPのようなデバイスにおいても、限られた現実的更新タイミングで、FWおよび複数のアプリをまとめて更新することが出来るようになり、MFPのようなデバイスにおいても配信スケジュールに関わる運用課題が軽減できた。また、FWとの組み合わせで動作が保証出来ているアプリだけを自動更新するということも可能となった。   This makes it possible to update FW and multiple apps at the same time with limited realistic update timing even on devices such as MFP, and operational issues related to distribution schedules on devices such as MFP. Was reduced. It is also possible to automatically update only apps whose operation is guaranteed in combination with FW.

[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[Other Examples]
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

10 配信システム、20 コンテンツサーバ、30 販売会社システム、400 デバイス 10 distribution system, 20 content server, 30 sales company system, 400 devices

Claims (9)

複数のデバイスと配信システムとを含むシステムであって、
前記配信システムは、
デバイスにインストールされているファームウェア及びアプリケーションのバージョン情報と、前記ファームウェア及びアプリケーションの更新予定のバージョン情報とを、デバイスIDごとに管理する管理手段と、
前記デバイスからの該デバイスのデバイスIDと該デバイスにインストールされているアプリケーションのバージョン情報を含む更新通知の受信に応じて、前記管理手段により管理される前記デバイスにインストールされているアプリケーションのバージョン情報を更新し、さらに、前記管理手段により管理された前記ファームウェア及びアプリケーションの更新予定のバージョン情報の更新を行う更新手段と、
前記デバイスから、該デバイスのデバイスIDと該デバイスにインストールされているファームウェアのバージョン情報とを含む、ファームウェアの更新の確認要求を受信する受信手段と、
前記受信手段により受信した前記確認要求に含まれる情報が示す前記ファームウェアのバージョン情報に基づいて該ファームウェアの更新予定のバージョン情報を特定し、さらに、前記管理手段で前記確認要求に含まれるデバイスIDに対応する前記アプリケーションについての更新予定が既に管理されていた際には、当該更新予定に基づいて、前記デバイスにインストールされているアプリケーションについての更新予定のバージョン情報の特定を行う特定手段と、
特定された前記ファームウェアの更新予定のバージョン情報と前記アプリケーションの更新予定のバージョン情報とを前記確認要求への応答として、前記デバイスに送信する応答手段と、を有し、
前記デバイスでは、前記応答に従い前記ファームウェア及びアプリケーションが更新され、当該アプリケーションの更新に応じてデバイスIDと更新後のアプリケーションのバージョン情報を含む更新通知が前記配信システムに送信されることを特徴とするシステム。
A system comprising a plurality of devices and a distribution system,
The distribution system includes:
Management means for managing version information of firmware and applications installed in the device and version information scheduled to be updated of the firmware and applications for each device ID;
In response to receiving an update notification including the device ID of the device and the version information of the application installed on the device from the device, the version information of the application installed on the device managed by the management unit Updating means for updating the version information to be updated of the firmware and application managed by the management means;
Receiving means for receiving a firmware update confirmation request including a device ID of the device and version information of firmware installed in the device from the device;
Based on the version information of the firmware indicated by the information included in the confirmation request received by the reception unit, the version information scheduled to be updated of the firmware is specified, and further, the device ID included in the confirmation request is specified by the management unit. When the update schedule for the corresponding application has already been managed, based on the update schedule, specifying means for specifying version information of the update schedule for the application installed on the device;
Response means for transmitting the identified version information of the firmware update schedule and the version update information of the application to the device as a response to the confirmation request;
In the device, the firmware and application are updated according to the response, and an update notification including a device ID and version information of the updated application is transmitted to the distribution system according to the update of the application. .
請求項1に記載のシステムであって、
前記更新手段はさらに、前記ファームウェアの新しいバージョン情報が前記配信システムに登録された際に前記更新を行うことを特徴とするシステム。
The system of claim 1, comprising:
The update means further performs the update when new version information of the firmware is registered in the distribution system.
請求項1又は2に記載のシステムであって、
前記更新手段はさらに、所定のトリガで前記更新を行うことを特徴とするシステム。
The system according to claim 1 or 2, wherein
The update means further performs the update by a predetermined trigger.
請求項3に記載のシステムであって、
前記所定のトリガは、所定の時期に達したことであることを特徴とするシステム。
The system according to claim 3, wherein
The system according to claim 1, wherein the predetermined trigger is that a predetermined time has been reached.
請求項1乃至4のいずれか一項に記載のシステムであって、
前記応答手段はさらに、前記アプリケーションの更新予定のバージョン情報が、前記ファームウェアの更新予定のバージョン情報と組み合わせられる場合には、前記アプリケーションの更新を前記ファームウェアの更新の後で行うことを示す情報を前記応答に含めることを特徴とするシステム。
The system according to any one of claims 1 to 4,
The response means further includes information indicating that the update of the application is performed after the update of the firmware when the version information of the update schedule of the application is combined with the version information of the firmware update schedule. A system characterized by inclusion in a response.
請求項1乃至5のいずれか一項に記載のシステムであって、
前記更新手段は、前記デバイスから受信した前記ファームウェアのバージョン情報に基づいて、前記バージョン情報が示すバージョンよりも新しく、かつ、前記バージョンから更新可能であり、かつ、前記デバイスにインストールされている前記アプリケーションと組み合わせ可能であるようなバージョンのうち、最新のバージョンを、新たな前記ファームウェアの更新予定のバージョン情報とすることを特徴とするシステム。
A system according to any one of claims 1 to 5,
The update means is based on the version information of the firmware received from the device, is newer than the version indicated by the version information, can be updated from the version, and is installed in the device Among the versions that can be combined with the latest version, the latest version is used as version information that is scheduled to be updated by the firmware.
請求項1乃至6のいずれか一項に記載のシステムであって、
前記更新手段は、前記デバイスから受信した前記デバイスIDに基づいて、前記デバイスにインストールされている前記アプリケーションについて、前記デバイスにインストールされているバージョン情報が示すバージョンよりも新しく、かつ、前記バージョンから更新可能であり、かつ、前記デバイスにインストールされている前記ファームウェアの更新予定のバージョンと組み合わせ可能であるようなバージョンのうち、最新のバージョンを、新たな前記アプリケーションの更新予定のバージョン情報とすることを特徴とするシステム。
The system according to any one of claims 1 to 6,
The update unit is newer than the version indicated by the version information installed in the device and updated from the version of the application installed in the device based on the device ID received from the device. Among the versions that are possible and can be combined with the version of the firmware that is installed in the device, the latest version is used as the version information that is scheduled to be updated for the new application. Feature system.
請求項7に記載のシステムであって、
前記更新手段は、前記デバイスにインストールされている前記ファームウェアの更新予定のバージョンと組み合わせ可能でなくとも、前記デバイスにインストールされている前記ファームウェアの現在のバージョンと組み合わせ可能であれば、当該バージョンを、新たな前記アプリケーションの更新予定のバージョン情報とすることを特徴とするシステム。
The system of claim 7, comprising:
If the update means can be combined with the current version of the firmware installed in the device even if it cannot be combined with the version to be updated of the firmware installed in the device, the version is updated. A system characterized in that it is version information of a new update schedule of the application.
複数のデバイスと配信システムとを含むシステムによる配信方法であって、
前記配信システムが、
デバイスにインストールされているファームウェア及びアプリケーションのバージョン情報と、前記ファームウェア及びアプリケーションの更新予定のバージョン情報とを、デバイスIDごとに管理し、
前記デバイスからの該デバイスのデバイスIDと該デバイスにインストールされているアプリケーションのバージョン情報を含む更新通知の受信に応じて、前記デバイスにインストールされているアプリケーションのバージョン情報を更新し、さらに、前記ファームウェア及びアプリケーションの更新予定のバージョン情報の更新を行い、
前記デバイスから、該デバイスのデバイスIDと該デバイスにインストールされているファームウェアのバージョン情報とを含む、ファームウェアの更新の確認要求を受信し、
受信した前記確認要求に含まれる情報が示す前記ファームウェアのバージョン情報に基づいて該ファームウェアの更新予定のバージョン情報を特定し、さらに、前記確認要求に含まれるデバイスIDに対応する前記アプリケーションについての更新予定が既に管理されていた際には、当該更新予定に基づいて、前記デバイスにインストールされているアプリケーションについての更新予定のバージョン情報の特定を行い、
特定された前記ファームウェアの更新予定のバージョン情報と前記アプリケーションの更新予定のバージョン情報とを前記確認要求への応答として、前記デバイスに送信し、
前記デバイスが、
前記応答に従い前記ファームウェア及びアプリケーションを更新し、当該アプリケーションの更新に応じてデバイスIDと更新後のアプリケーションのバージョン情報を含む更新通知を前記配信システムに送信することを特徴とするシステム。
A distribution method by a system including a plurality of devices and a distribution system,
The distribution system is
Managing version information of firmware and applications installed in the device and version information scheduled to update the firmware and applications for each device ID;
In response to receiving an update notification including the device ID of the device and the version information of the application installed in the device from the device, the version information of the application installed in the device is updated, and the firmware And update the version information of the application update schedule,
Receiving a firmware update confirmation request including the device ID of the device and the version information of the firmware installed in the device from the device;
Based on the version information of the firmware indicated by the information included in the received confirmation request, the version information to be updated of the firmware is specified, and the update schedule for the application corresponding to the device ID included in the confirmation request Is already managed, based on the update schedule, specify version information of the update schedule for the application installed on the device,
The identified firmware update version information and the application update version information are sent to the device as a response to the confirmation request,
The device is
The system updates the firmware and application according to the response, and transmits an update notification including a device ID and updated version information of the application to the distribution system according to the update of the application.
JP2017094880A 2017-05-11 2017-05-11 System and distribution method Pending JP2018190341A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017094880A JP2018190341A (en) 2017-05-11 2017-05-11 System and distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017094880A JP2018190341A (en) 2017-05-11 2017-05-11 System and distribution method

Publications (1)

Publication Number Publication Date
JP2018190341A true JP2018190341A (en) 2018-11-29

Family

ID=64480231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017094880A Pending JP2018190341A (en) 2017-05-11 2017-05-11 System and distribution method

Country Status (1)

Country Link
JP (1) JP2018190341A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021056584A (en) * 2019-09-27 2021-04-08 京セラドキュメントソリューションズ株式会社 Firmware update system, electronic device and firmware update program
JP2021144674A (en) * 2020-03-11 2021-09-24 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド Processing method for audio processing chip, apparatus, electronic device, computer readable storage medium, and computer program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021056584A (en) * 2019-09-27 2021-04-08 京セラドキュメントソリューションズ株式会社 Firmware update system, electronic device and firmware update program
JP2021144674A (en) * 2020-03-11 2021-09-24 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド Processing method for audio processing chip, apparatus, electronic device, computer readable storage medium, and computer program
US11556333B2 (en) 2020-03-11 2023-01-17 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for processing audio processing chip, and electronic device

Similar Documents

Publication Publication Date Title
JP6581418B2 (en) Distribution system, distribution method and program
EP2820539B1 (en) Distribution of application files
JP6440643B2 (en) Software update system, server
JP4371673B2 (en) Program installation method and server device
JP6011479B2 (en) Application management apparatus, application management system, and program
JP2011238007A (en) Distribution apparatus, program distribution system, distribution method, and program
EP2595368A2 (en) Management device, information processing system, management method, and storage medium
US20170024202A1 (en) Information processing apparatus, method, and program
US20130346455A1 (en) Framework for applying metadata for multiple files managed using a content management system
JP2015205499A (en) Image processing device, control method and program of image processing device
EP2784669A1 (en) Method, system and computer program product for handling needs for, and delivery of customized and/or personalized user interface elements
JP2016064591A (en) Information processing device, control method for the same, and program
JP2012146241A (en) Software update method, software update device, and software update program
KR101638689B1 (en) System and method for providing client terminal to user customized synchronization service
JP2018190341A (en) System and distribution method
JP6740037B2 (en) Software distribution system and software distribution method
JP2014013473A (en) Software update device
US20190212996A1 (en) Information processing apparatus and non-transitory computer readable medium storing program
EP1521175A2 (en) Program, apparatus and method for downloading and installing a program
US9323907B2 (en) Distribution apparatus, device, control method for distribution apparatus, and storage medium
JP2016081162A (en) Management device, information processing device, method for controlling management device, method for controlling information processing device, and program
WO2018010321A1 (en) Method and device for remote synchronization of application card
CN112769954B (en) Method and system for automatically storing and routing WEB program
JP2020119394A (en) Scenario execution system, management device, scenario execution management method, and program
KR20150109720A (en) Method for releasing applications and server-client system using the same