JP2021043863A - Server device and program - Google Patents

Server device and program Download PDF

Info

Publication number
JP2021043863A
JP2021043863A JP2019167152A JP2019167152A JP2021043863A JP 2021043863 A JP2021043863 A JP 2021043863A JP 2019167152 A JP2019167152 A JP 2019167152A JP 2019167152 A JP2019167152 A JP 2019167152A JP 2021043863 A JP2021043863 A JP 2021043863A
Authority
JP
Japan
Prior art keywords
software
processor
update
act
client device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019167152A
Other languages
Japanese (ja)
Other versions
JP7346187B2 (en
Inventor
池上 史彦
Fumihiko Ikegami
史彦 池上
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.)
Toshiba TEC Corp
Original Assignee
Toshiba TEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba TEC Corp filed Critical Toshiba TEC Corp
Priority to JP2019167152A priority Critical patent/JP7346187B2/en
Publication of JP2021043863A publication Critical patent/JP2021043863A/en
Application granted granted Critical
Publication of JP7346187B2 publication Critical patent/JP7346187B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

To provide a server device which does not leave a security problem alone without interfering with the use of a computer more than necessary, and provide a program.SOLUTION: In an update system 1, a server device 10 includes an acquisition unit, a processing unit, and an instruction unit. The acquisition unit acquires a version of software installed on a client device 20. The processing unit determines an evaluation value which indicates severity of vulnerability regarding the version of the software, and determines whether to update the software on the basis of the evaluation value. When it is determined not to update the software, the instruction unit does not issue an instruction to update the software to the client device 20, or issues the update instruction when it is determined to update the software.SELECTED DRAWING: Figure 1

Description

本発明の実施形態は、サーバー装置及びプログラムに関する。 Embodiments of the present invention relate to server devices and programs.

コンピューターが、OS(operating system)、アプリケーションソフトウェア及びその他のソフトウェアが改竄されているか否かを起動時に検査し、改竄を検出した場合に安全でないとして起動を中止する、セキュアブートと呼ばれる技術がある。また、ソフトウェアの改竄を検出した場合に、サーバー又は当該コンピューターなどに予め記憶された真正である(改竄が無い)ことが確かなソフトウェアを用いてソフトウェアの修復を行うなどして、ソフトウェアを改竄されていない状態にする技術が存在する。 There is a technology called secure boot in which a computer checks at startup whether the OS (operating system), application software, and other software have been tampered with, and if tampering is detected, the computer stops booting because it is unsafe. In addition, when software tampering is detected, the software is tampered with by repairing the software using software that is sure to be genuine (no tampering) stored in advance on the server or the computer. There is a technology to make it in a non-existent state.

しかしながら、ソフトウェアの改竄検出において、ソフトウェアの改竄が無いと判断されたことをもって安全であると判断し、アップデート(更新)を怠るユーザーが存在する。アップデートを怠れば、ソフトウェアの脆弱性が放置されることとなり、セキュリティ上問題である。 However, in software tampering detection, there are users who judge that it is safe because it is judged that there is no software tampering and neglect to update (update). If you neglect to update, software vulnerabilities will be left unattended, which is a security problem.

ソフトウェアのアップデートについては、自動的にアップデートを行う技術が広く用いられている。このような技術が適用されたコンピューターは、例えば、インストールされているソフトウェアのアップデートの有無をサーバーなどに問い合わせ、アップデートが存在するものについてはアップデートデータをダウンロードし、アップデートを実行する。 For software updates, technology that automatically updates is widely used. A computer to which such a technology is applied, for example, inquires of a server or the like whether or not the installed software is updated, downloads update data if there is an update, and executes the update.

しかしながら、自動的にアップデートを行う場合、軽微な脆弱性へ対応するもの及び新規機能の追加などを目的として脆弱性とは関係無いものについても自動的にアップデートが実行される。このため、セキュリティ上問題が無い又は少ないにもかかわらずこのようなアップデートが自動的に実行され、その間コンピューターが使用不可能となってしまう場合がある。 However, when updating automatically, updates are automatically executed even for those that deal with minor vulnerabilities and those that are not related to vulnerabilities for the purpose of adding new functions. Therefore, such an update may be automatically executed even if there is no or few security problems, and the computer may become unusable during that time.

特開2012−252701号公報Japanese Unexamined Patent Publication No. 2012-252701

"What is System Restore?"、[online]、2018年4月20日、Microsoft、[2019年7月17日検索]、インターネット(URL: https://support.microsoft.com/en-us/help/959063/what-is-system-restore)"What is System Restore?", [Online], April 20, 2018, Microsoft, [Search July 17, 2019], Internet (URL: https://support.microsoft.com/en-us/help / 959063 / what-is-system-restore)

本発明の実施形態が解決しようとする課題は、コンピューターの使用を必要以上に妨げずに、セキュリティ上問題のある状態を放置しないサーバー装置及びプログラムを提供することである。 An object to be solved by an embodiment of the present invention is to provide a server device and a program that do not unnecessarily interfere with the use of a computer and do not leave a state with a security problem.

実施形態のサーバー装置は、取得部、処理部及び指示部を備える。取得部は、クライアント装置にインストールされているソフトウェアのバージョンを取得する。処理部は、前記ソフトウェアの前記バージョンの脆弱性の深刻度を示す評価値を求め、前記評価値に基づき前記ソフトウェアをアップデートするか否かを決定する。指示部は、前記ソフトウェアをアップデートしないと決定された場合、前記クライアント装置に前記ソフトウェアのアップデート指示を行わず、前記ソフトウェアをアップデートすると決定された場合、前記アップデート指示を行う。 The server device of the embodiment includes an acquisition unit, a processing unit, and an instruction unit. The acquisition unit acquires the version of the software installed on the client device. The processing unit obtains an evaluation value indicating the severity of the vulnerability of the version of the software, and determines whether or not to update the software based on the evaluation value. When it is determined not to update the software, the instruction unit does not instruct the client device to update the software, and when it is determined to update the software, the instruction unit gives the update instruction.

第1実施形態に係るアップデートシステム及び当該アップデートシステムに含まれる構成要素についての要部回路構成の一例を示すブロック図。The block diagram which shows an example of the main part circuit composition about the update system which concerns on 1st Embodiment and the component elements included in the update system. 図1中のクライアント装置のプロセッサーによる第1実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the process which concerns on 1st Embodiment by the processor of the client apparatus in FIG. 図1中のサーバー装置のプロセッサーによる第1実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the process which concerns on 1st Embodiment by the processor of the server apparatus in FIG. 第2実施形態に係るアップデートシステム及び当該アップデートシステムに含まれる構成要素についての要部回路構成の一例を示すブロック図。The block diagram which shows an example of the main part circuit composition about the update system which concerns on 2nd Embodiment and the component elements included in the update system. 図4中のクライアント装置のプロセッサーによる第2実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the process which concerns on 2nd Embodiment by the processor of the client apparatus in FIG. 図4中のサーバー装置のプロセッサーによる第2実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the process which concerns on 2nd Embodiment by the processor of the server apparatus in FIG. 図4中の端末装置のプロセッサーによる第2実施形態及び第3実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the process which concerns on 2nd Embodiment and 3rd Embodiment by the processor of the terminal apparatus in FIG. 図4中のサーバー装置のプロセッサーによる第3実施形態に係る処理の一例を示すフローチャート。The flowchart which shows an example of the process which concerns on 3rd Embodiment by the processor of the server apparatus in FIG.

以下、いくつかの実施形態に係るアップデートシステムについて図面を用いて説明する。なお、以下の実施形態の説明に用いる各図面は、説明のため、構成を省略して示している場合がある。また、各図面及び以下の説明において、同一の符号は同様の要素を示す。
〔第1実施形態〕
図1は、第1実施形態に係るアップデートシステム1及びアップデートシステム1に含まれる構成要素についての要部回路構成の一例を示すブロック図である。アップデートシステム1は、クライアント装置にインストールされたソフトウェアのアップデート及び修復を制御するためのシステムである。なお、本明細書及び特許請求の範囲中において「アップデート」は、アップグレードを含むものとする。アップデートシステム1は、一例として、サーバー装置10及びクライアント装置20を含む。なお、図1にはサーバー装置10及びクライアント装置20をそれぞれ1台ずつ示すが、典型的には、それぞれの台数は複数である。ただし、以下の説明では、基本的に、1台のサーバー装置10及び1台のクライアント装置20に着目して説明する。
Hereinafter, the update system according to some embodiments will be described with reference to the drawings. It should be noted that each of the drawings used in the following embodiments may be omitted in configuration for the sake of explanation. Further, in each drawing and the following description, the same reference numerals indicate similar elements.
[First Embodiment]
FIG. 1 is a block diagram showing an example of a main circuit configuration of the update system 1 and the components included in the update system 1 according to the first embodiment. The update system 1 is a system for controlling the update and repair of software installed on the client device. In addition, within the scope of this specification and claims, "update" shall include upgrade. The update system 1 includes a server device 10 and a client device 20 as an example. Although FIG. 1 shows one server device 10 and one client device 20, typically, the number of each is plural. However, in the following description, basically, one server device 10 and one client device 20 will be focused on.

サーバー装置10及びクライアント装置20は、ネットワークNWに接続する。ネットワークNWは、典型的にはインターネットを含む通信網である。ネットワークNWは、典型的にはWAN(wide area network)を含む通信網である。ネットワークNWは、イントラネットなどのプライベートネットワークを含む通信網であっても良い。ネットワークNWは、LAN(local area network)を含む通信網であっても良い。また、ネットワークNWは、公衆交換電話網及び公衆携帯電話網などを含む通信網であっても良い。 The server device 10 and the client device 20 are connected to the network NW. The network NW is typically a communication network that includes the Internet. The network NW is typically a communication network including a WAN (wide area network). The network NW may be a communication network including a private network such as an intranet. The network NW may be a communication network including a LAN (local area network). Further, the network NW may be a communication network including a public switched telephone network and a public mobile phone network.

サーバー装置10は、一例として、プロセッサー11、ROM(read-only memory)12、RAM(random-access memory)13、補助記憶デバイス14及び通信インターフェース15を含む。そして、バス16などが、これら各部を接続する。 As an example, the server device 10 includes a processor 11, a ROM (read-only memory) 12, a RAM (random-access memory) 13, an auxiliary storage device 14, and a communication interface 15. Then, a bus 16 or the like connects each of these parts.

プロセッサー11は、サーバー装置10の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、サーバー装置10の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー11の回路内に組み込まれていても良い。プロセッサー11は、例えば、CPU(central processing unit)、MPU(micro processing unit)、SoC(system on a chip)、DSP(digital signal processor)、GPU(graphics processing unit)、ASIC(application specific integrated circuit)、PLD(programmable logic device)又はFPGA(field-programmable gate array)などである。あるいは、プロセッサー11は、これらのうちの複数を組み合わせたものである。 The processor 11 corresponds to a central part of a computer that performs processing such as calculation and control necessary for the operation of the server device 10. The processor 11 controls each unit in order to realize various functions of the server device 10 based on programs such as firmware, system software, and application software stored in the ROM 12 or the auxiliary storage device 14. A part or all of the program may be incorporated in the circuit of the processor 11. The processor 11 includes, for example, a CPU (central processing unit), an MPU (micro processing unit), a SoC (system on a chip), a DSP (digital signal processor), a GPU (graphics processing unit), an ASIC (application specific integrated circuit), and the like. PLD (programmable logic device) or FPGA (field-programmable gate array). Alternatively, the processor 11 is a combination of a plurality of these.

ROM12は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。ROM12は、専らデータの読み出しに用いられる不揮発性メモリである。ROM12は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM12は、プロセッサー11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。 The ROM 12 corresponds to the main storage device of a computer centered on the processor 11. The ROM 12 is a non-volatile memory used exclusively for reading data. The ROM 12 stores, for example, firmware among the above programs. Further, the ROM 12 stores data or various set values used by the processor 11 for performing various processes.

RAM13は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサー11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。RAM13は、典型的には揮発性メモリである。 The RAM 13 corresponds to the main storage device of a computer centered on the processor 11. The RAM 13 is a memory used for reading and writing data. The RAM 13 is used as a so-called work area or the like for storing data temporarily used by the processor 11 for performing various processes. The RAM 13 is typically a volatile memory.

補助記憶デバイス14は、プロセッサー11を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス14は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はフラッシュメモリなどである。補助記憶デバイス14は、上記のプログラムのうち、例えば、システムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶デバイス14は、プロセッサー11が各種の処理を行う上で使用するデータ、プロセッサー11での処理によって生成されたデータ又は各種の設定値などを保存する。 The auxiliary storage device 14 corresponds to an auxiliary storage device of a computer centered on the processor 11. The auxiliary storage device 14 is, for example, an EEPROM (electric erasable programmable read-only memory), an HDD (hard disk drive), a flash memory, or the like. The auxiliary storage device 14 stores, for example, system software and application software among the above programs. Further, the auxiliary storage device 14 stores data used by the processor 11 for performing various processes, data generated by the processes of the processor 11, various setting values, and the like.

また、補助記憶デバイス14は、ソフトウェアDB(database)141を記憶する。
ソフトウェアDB141は、クライアント装置20にインストールされる各ソフトウェアについての情報を記憶及び管理する。ソフトウェアDB141は、当該各ソフトウェアの脆弱性に関するデータを記憶及び管理する。ソフトウェアDB141は、当該各ソフトウェアのアップデートデータを記憶及び管理する。また、ソフトウェアDB141は、当該各ソフトウェアの各バージョンのデータのハッシュ値を記憶する。さらに、ソフトウェアDB141は、当該ソフトウェアの各バージョンについて、真正であることが確かであるデータを記憶する。
Further, the auxiliary storage device 14 stores the software DB (database) 141.
The software DB 141 stores and manages information about each software installed in the client device 20. The software DB 141 stores and manages data related to the vulnerabilities of each software. The software DB 141 stores and manages update data of each software. Further, the software DB 141 stores the hash value of the data of each version of the software. Further, the software DB 141 stores data that is certain to be genuine for each version of the software.

ROM12又は補助記憶デバイス14に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、サーバー装置10は、当該プログラムがROM12又は補助記憶デバイス14に記憶されない状態でサーバー装置10の利用者又は管理者などへと譲渡される。そして、別途に当該利用者又は管理者などへと譲渡された当該プログラムが、当該利用者又は管理者などによる操作の下に補助記憶デバイス14へと書き込まれる。しかしながら、サーバー装置10は、当該プログラムがROM12又は補助記憶デバイス14に記憶された状態で当該利用者又は管理者などへと譲渡されても良い。上述のプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWなどを介したダウンロードにより実現できる。 The program stored in the ROM 12 or the auxiliary storage device 14 includes a program for executing a process described later. As an example, the server device 10 is transferred to a user or an administrator of the server device 10 in a state where the program is not stored in the ROM 12 or the auxiliary storage device 14. Then, the program separately transferred to the user or administrator is written to the auxiliary storage device 14 under the operation of the user or administrator. However, the server device 10 may be transferred to the user, the administrator, or the like with the program stored in the ROM 12 or the auxiliary storage device 14. The transfer of the above-mentioned program can be realized, for example, by recording on a removable storage medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory, or by downloading via a network NW or the like.

通信インターフェース15は、サーバー装置10がネットワークNWなどを介して通信するためのインターフェースである。 The communication interface 15 is an interface for the server device 10 to communicate via a network NW or the like.

バス16は、コントロールバス、アドレスバス及びデータバスなどを含み、サーバー装置10の各部で授受される信号を伝送する。 The bus 16 includes a control bus, an address bus, a data bus, and the like, and transmits signals sent and received by each part of the server device 10.

クライアント装置20は、例えば、PC(personal computer)、サーバー、POS(point of sale)端末、事務機器、産業用コンピューター、組み込み機器、又はIoT機器などである。クライアント装置20は、一例として、プロセッサー21、ROM22、RAM23、補助記憶デバイス24、通信インターフェース25、表示デバイス26及び入力デバイス27を含む。そして、バス28などが、これら各部を接続する。 The client device 20 is, for example, a PC (personal computer), a server, a POS (point of sale) terminal, an office device, an industrial computer, an embedded device, an IoT device, or the like. As an example, the client device 20 includes a processor 21, a ROM 22, a RAM 23, an auxiliary storage device 24, a communication interface 25, a display device 26, and an input device 27. Then, a bus 28 or the like connects each of these parts.

プロセッサー21は、クライアント装置20の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー21は、ROM22又は補助記憶デバイス24などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、クライアント装置20の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー21の回路内に組み込まれていても良い。プロセッサー21は、例えば、CPU、MPU、SoC、DSP、GPU、ASIC、PLD又はFPGAなどである。あるいは、プロセッサー21は、これらのうちの複数を組み合わせたものである。 The processor 21 corresponds to a central part of a computer that performs processing such as calculation and control necessary for the operation of the client device 20. The processor 21 controls each unit to realize various functions of the client device 20 based on programs such as firmware, system software, and application software stored in the ROM 22 or the auxiliary storage device 24. A part or all of the program may be incorporated in the circuit of the processor 21. The processor 21 is, for example, a CPU, MPU, SoC, DSP, GPU, ASIC, PLD, FPGA, or the like. Alternatively, the processor 21 is a combination of a plurality of these.

ROM22は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。ROM22は、専らデータの読み出しに用いられる不揮発性メモリである。ROM22は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM22は、プロセッサー21が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。 The ROM 22 corresponds to the main storage device of a computer centered on the processor 21. The ROM 22 is a non-volatile memory used exclusively for reading data. The ROM 22 stores, for example, firmware among the above programs. The ROM 22 also stores data or various set values used by the processor 21 to perform various processes.

RAM23は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。RAM23は、データの読み書きに用いられるメモリである。RAM23は、プロセッサー21が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。RAM23は、典型的には揮発性メモリである。 The RAM 23 corresponds to the main storage device of a computer centered on the processor 21. The RAM 23 is a memory used for reading and writing data. The RAM 23 is used as a so-called work area or the like for storing data temporarily used by the processor 21 for performing various processes. The RAM 23 is typically a volatile memory.

補助記憶デバイス24は、プロセッサー21を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス24は、例えばEEPROM、HDD又はフラッシュメモリなどである。補助記憶デバイス24は、上記のプログラムのうち、例えば、OSなどのシステムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶デバイス24は、プロセッサー21が各種の処理を行う上で使用するデータ、プロセッサー21での処理によって生成されたデータ又は各種の設定値などを保存する。 The auxiliary storage device 24 corresponds to an auxiliary storage device of a computer centered on the processor 21. The auxiliary storage device 24 is, for example, an EEPROM, an HDD, a flash memory, or the like. The auxiliary storage device 24 stores, for example, system software such as an OS and application software among the above programs. Further, the auxiliary storage device 24 stores data used by the processor 21 for performing various processes, data generated by the processes of the processor 21, various setting values, and the like.

ROM22又は補助記憶デバイス24に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、クライアント装置20は、当該プログラムがROM22又は補助記憶デバイス24に記憶されない状態でクライアント装置20の利用者又は管理者などへと譲渡される。そして、別途に当該利用者又は管理者などへと譲渡された当該プログラムが、当該利用者又は管理者などによる操作の下に補助記憶デバイス24へと書き込まれる。しかしながら、クライアント装置20は、当該プログラムがROM22又は補助記憶デバイス24に記憶された状態で当該利用者又は管理者などへと譲渡されても良い。上述のプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWなどを介したダウンロードにより実現できる。 The program stored in the ROM 22 or the auxiliary storage device 24 includes a program for executing a process described later. As an example, the client device 20 is transferred to a user or an administrator of the client device 20 in a state where the program is not stored in the ROM 22 or the auxiliary storage device 24. Then, the program separately transferred to the user or administrator is written to the auxiliary storage device 24 under the operation of the user or administrator. However, the client device 20 may be transferred to the user, the administrator, or the like with the program stored in the ROM 22 or the auxiliary storage device 24. The transfer of the above-mentioned program can be realized, for example, by recording on a removable storage medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory, or by downloading via a network NW or the like.

通信インターフェース25は、クライアント装置20がネットワークNWなどを介して通信するためのインターフェースである。 The communication interface 25 is an interface for the client device 20 to communicate via the network NW or the like.

表示デバイス26は、クライアント装置20の操作者に各種情報を通知するための画面を表示する。表示デバイス26は、例えば、液晶ディスプレイ又は有機EL(electro-luminescence)ディスプレイなどのディスプレイである。 The display device 26 displays a screen for notifying the operator of the client device 20 of various information. The display device 26 is, for example, a display such as a liquid crystal display or an organic EL (electro-luminescence) display.

入力デバイス27は、クライアント装置20の操作者による操作を受け付ける。入力デバイス27は、例えば、キーボード、キーパッド、タッチパッド又はマウスなどである。また、表示デバイス26及び入力デバイス27としては、タッチパネルを用いることもできる。すなわち、タッチパネルが備える表示パネルを表示デバイス26として用いることができる。そして、タッチパネルが備える、タッチ入力によるポインティングデバイスを入力デバイス27として用いることができる。 The input device 27 accepts an operation by the operator of the client device 20. The input device 27 is, for example, a keyboard, keypad, touchpad, mouse, or the like. A touch panel can also be used as the display device 26 and the input device 27. That is, the display panel provided on the touch panel can be used as the display device 26. Then, a touch input pointing device provided on the touch panel can be used as the input device 27.

バス28は、コントロールバス、アドレスバス及びデータバスなどを含み、クライアント装置20の各部で授受される信号を伝送する。 The bus 28 includes a control bus, an address bus, a data bus, and the like, and transmits signals sent and received by each part of the client device 20.

以下、第1実施形態に係るアップデートシステム1の動作を図2及び図3などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図2は、クライアント装置20のプロセッサー21による処理の一例を示すフローチャートである。プロセッサー21は、例えば、補助記憶デバイス24に記憶されたOSに含まれるプログラムに基づいてこの処理を実行する。図3は、サーバー装置10のプロセッサー11による処理の一例を示すフローチャートである。プロセッサー11は、例えば、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。 Hereinafter, the operation of the update system 1 according to the first embodiment will be described with reference to FIGS. 2 and 3. The content of the process in the following operation description is an example, and various processes capable of obtaining similar results can be appropriately used. FIG. 2 is a flowchart showing an example of processing by the processor 21 of the client device 20. The processor 21 executes this process based on, for example, a program included in the OS stored in the auxiliary storage device 24. FIG. 3 is a flowchart showing an example of processing by the processor 11 of the server device 10. The processor 11 executes this process based on, for example, a program stored in the ROM 12 or the auxiliary storage device 14.

クライアント装置20は、例えば、電源が投入されたことに応じて、ブートローダーを用いてOSをロードする。クライアント装置20のプロセッサー21は、例えば、ロードしたOSの実行開始にともない図2に示す処理を開始する。 The client device 20 loads the OS using a boot loader, for example, when the power is turned on. The processor 21 of the client device 20 starts the process shown in FIG. 2, for example, when the loaded OS starts executing.

ACT12においてプロセッサー21は、クライアント装置20にインストールされたOS、アプリケーションソフトウェア及びその他のソフトウェアそれぞれのバージョンを示すバージョン情報を取得する。当該バージョン情報は、例えば、各ソフトウェアに含まれる。 In the ACT 12, the processor 21 acquires version information indicating the versions of the OS, application software, and other software installed in the client device 20. The version information is included in each software, for example.

ACT13においてプロセッサー21は、クライアント装置20にインストールされたOS、アプリケーションソフトウェア及びその他のソフトウェアそれぞれのハッシュ値を取得する。例えば、プロセッサー21は、各ソフトウェアのデータの一部又は全部を入力値としてハッシュ値を算出することでハッシュ値を取得する。 In the ACT 13, the processor 21 acquires the hash values of the OS, application software, and other software installed in the client device 20. For example, the processor 21 acquires a hash value by calculating a hash value using a part or all of the data of each software as an input value.

図2のACT11においてプロセッサー21は、OSの起動処理を途中まで行う。ここでは、プロセッサー21は、少なくとも、次に示すACT14〜ACT18の処理を実行可能な段階までOSの起動処理を行う。 In the ACT 11 of FIG. 2, the processor 21 performs the OS startup process halfway. Here, the processor 21 performs the OS startup process at least until the stage where the processes of ACT 14 to ACT 18 shown below can be executed.

ACT14においてプロセッサー21は、ソフトウェア情報を生成する。当該ソフトウェア情報は、クライアント装置20にインストールされたOS、アプリケーションソフトウェア及びその他のソフトウェアそれぞれについての各種情報を含む。当該各種情報は、ACT12で取得されたバージョン情報及びACT13で取得されたハッシュ値を含む。プロセッサー21は、ソフトウェア情報を生成した後、当該ソフトウェア情報をサーバー装置10に送信するように通信インターフェース25に対して指示する。この送信の指示を受けて通信インターフェース25は、当該ソフトウェア情報をサーバー装置10に送信する。送信された当該ソフトウェア情報は、サーバー装置10の通信インターフェース15によって受信される。 In the ACT 14, the processor 21 generates software information. The software information includes various information about the OS, application software, and other software installed in the client device 20. The various information includes the version information acquired by ACT12 and the hash value acquired by ACT13. After generating the software information, the processor 21 instructs the communication interface 25 to transmit the software information to the server device 10. In response to this transmission instruction, the communication interface 25 transmits the software information to the server device 10. The transmitted software information is received by the communication interface 15 of the server device 10.

一方、図3のACT31においてサーバー装置10のプロセッサー11は、通信インターフェース15によってソフトウェア情報が受信されるのを待ち受けている。プロセッサー11は、ソフトウェア情報が受信されたならば、ACT31においてYesと判定してACT32へと進む。なお、ここで受信されたソフトウェア情報を、以下「受信ソフトウェア情報」というものとする。
ソフトウェア情報は、バージョン情報を含む。したがって、プロセッサー11は、通信インターフェース15と協働して、ソフトウェア情報を受信することで、クライアント装置にインストールされているソフトウェアのバージョンを取得する取得部として機能する。また、ソフトウェア情報は、ハッシュ値を含む。したがって、プロセッサー11は、通信インターフェース15と協働して、ソフトウェア情報を受信することで、ハッシュ値を取得する取得部として機能する。
On the other hand, in the ACT 31 of FIG. 3, the processor 11 of the server device 10 waits for the software information to be received by the communication interface 15. When the software information is received, the processor 11 determines Yes in the ACT 31 and proceeds to the ACT 32. The software information received here is hereinafter referred to as "received software information".
Software information includes version information. Therefore, the processor 11 functions as an acquisition unit that acquires the version of the software installed in the client device by receiving the software information in cooperation with the communication interface 15. The software information also includes a hash value. Therefore, the processor 11 functions as an acquisition unit that acquires a hash value by receiving software information in cooperation with the communication interface 15.

ACT32においてプロセッサー11は、受信ソフトウェア情報にハッシュ値及びバージョン情報が含まれるソフトウェアの中から1つを選択する。ただし、プロセッサー11は、当該ソフトウェアのうち、まだ選択されていないソフトウェアを選択する。なお、ACT32の処理で最後に選択されたソフトウェアを以下「対象ソフトウェア」というものとする。プロセッサー11は、対象ソフトウェアに対して以下に説明にするACT33〜ACT36の処理を行う。 In the ACT 32, the processor 11 selects one of the software whose received software information includes the hash value and the version information. However, the processor 11 selects software that has not yet been selected from the software. The software selected last in the processing of ACT32 is hereinafter referred to as "target software". The processor 11 performs the processes of ACT 33 to ACT 36 described below for the target software.

ACT33においてプロセッサー11は、受信ソフトウェア情報に含まれる対象ソフトウェアのハッシュ値及びバージョン情報を用いて、クライアント装置20にインストールされた対象ソフトウェアの整合性をチェックする。このために、プロセッサー11は、ソフトウェアDBを参照して、受信ソフトウェア情報に含まれるバージョン情報に対応するハッシュ値を取得する。そして、プロセッサー11は、受信ソフトウェア情報に含まれるハッシュ値とソフトウェアDBから取得したハッシュ値とが同一であるか否かを判定する。
したがって、プロセッサー11は、ACT33の処理を行うことで、データの誤りを検出する処理部として機能する。
In the ACT 33, the processor 11 checks the consistency of the target software installed in the client device 20 by using the hash value and the version information of the target software included in the received software information. For this purpose, the processor 11 refers to the software DB and acquires a hash value corresponding to the version information included in the received software information. Then, the processor 11 determines whether or not the hash value included in the received software information and the hash value acquired from the software DB are the same.
Therefore, the processor 11 functions as a processing unit for detecting an error in data by performing the processing of the ACT 33.

ACT34においてプロセッサー11は、ACT33の処理の結果、対象ソフトウェアのデータに誤りを検出したか否かを判定する。なお、プロセッサー11は、ACT33の処理により、ハッシュ値が同一でなかった場合に、対象ソフトウェアのデータに誤りがあると判定する。対象ソフトウェアのデータの誤りは、例えば、データの改竄又は破損などにより発生する。プロセッサー11は、対象ソフトウェアのデータに誤りを検出したならば、ACT34においてYesと判定してACT35へと進む。 In the ACT 34, the processor 11 determines whether or not an error has been detected in the data of the target software as a result of the processing of the ACT 33. The processor 11 determines that the data of the target software has an error when the hash values are not the same by the processing of the ACT 33. An error in the data of the target software occurs, for example, due to falsification or damage of the data. If the processor 11 detects an error in the data of the target software, the processor 11 determines Yes in the ACT 34 and proceeds to the ACT 35.

ACT35においてプロセッサー11は、修復指示情報を生成する。修復指示情報は、対象ソフトウェアを修復するようにクライアント装置20に指示するための情報である。修復指示情報は、対象ソフトウェアの修復に必要なデータ及び修復方法を示す情報を含む。
ACT36においてプロセッサー11は、対象ソフトウェアを修復指示情報と関連付けて修復リストに登録する。修復リストは、修復が必要な対象ソフトウェアのリストである。
In the ACT 35, the processor 11 generates repair instruction information. The repair instruction information is information for instructing the client device 20 to repair the target software. The repair instruction information includes data necessary for repairing the target software and information indicating the repair method.
In the ACT 36, the processor 11 associates the target software with the repair instruction information and registers it in the repair list. The repair list is a list of target software that needs to be repaired.

プロセッサー11は、ACT36の処理の後、ACT37へと進む。また、プロセッサー11は、対象ソフトウェアのデータに誤りを検出していないならば、ACT34においてNoと判定してACT37へと進む。 The processor 11 proceeds to the ACT 37 after the processing of the ACT 36. If the processor 11 has not detected an error in the data of the target software, the processor 11 determines No in the ACT 34 and proceeds to the ACT 37.

ACT37においてプロセッサー21は、ACT32の処理においてまだ選択されていないソフトウェアがあるか否かを判定する。プロセッサー21は、まだ選択されていないソフトウェアがあるならば、ACT37においてYesと判定してACT32へと進む。かくして、プロセッサー31は、受信ソフトウェア情報にハッシュ値及びバージョン情報が含まれるソフトウェアそれぞれに対してACT32〜ACT36の処理を行う。対して、プロセッサー21は、まだ選択されていないソフトウェアがないならば、ACT37においてNoと判定してACT38へと進む。 In the ACT 37, the processor 21 determines if there is software that has not yet been selected in the processing of the ACT 32. If there is software that has not yet been selected, the processor 21 determines Yes in the ACT 37 and proceeds to the ACT 32. Thus, the processor 31 performs the processes of ACT32 to ACT36 for each of the software whose received software information includes the hash value and the version information. On the other hand, if there is no software that has not been selected yet, the processor 21 determines No in the ACT 37 and proceeds to the ACT 38.

ACT38においてプロセッサー11は、受信ソフトウェア情報に含まれる各ソフトウェアのバージョン情報などを用いて、クライアント装置20及びクライアント装置20にインストールされたソフトウェアの脆弱性を評価する。例えば、プロセッサー11は、受信ソフトウェアに含まれる各ソフトウェアのバージョン情報から、各ソフトウェアの脆弱性を評価して数値(以下「ソフトウェア脆弱性ポイント」という。)として示す。そして、プロセッサー11は、例えば、各ソフトウェアのソフトウェア脆弱性ポイントから、クアイアント装置の脆弱性を示す数値(以下「クライアント脆弱性ポイント」という。)を求める。例えば、プロセッサー11は、各ソフトウェアのソフトウェア脆弱性ポイントを足し合わせた数値をクライアント脆弱性ポイントとする。なお、ソフトウェア脆弱性ポイント及びクライアント脆弱性ポイントは、脆弱性の深刻度を数値として示したものであり、ここでは数値が大きいほど脆弱性の深刻度が高い(セキュリティ上の問題が大きい)ことを示すものとする。また、反対に、ソフトウェア脆弱性ポイント及びクライアント脆弱性ポイントは、数値が小さいほど安全度が高いことを示すといえる。ソフトウェア脆弱性ポイント及びクライアント脆弱性ポイントは、脆弱性の深刻度を示す評価値の例である。
プロセッサー11は、ソフトウェアの脆弱性を評価するために、例えば、当該ソフトウェアのベンダー名(ソフトウェア製作者名)、名称及びバージョンなどの情報に基づき、JVN(Japan Vulnerability Notes)などの脆弱性情報データベースを参照することで、当該ソフトウェアにどのような脆弱性があるかを調べる。そして、プロセッサー11は、当該ソフトウェアの脆弱性それぞれについて、CVSS(Common Vulnerability Scoring System)による深刻度の値を調べる。さらに、プロセッサー11は、脆弱性の深刻度の値の中で最大の値を当該ソフトウェアの脆弱性ポイントとする。あるいは、プロセッサー11は、脆弱性の深刻度の値を全て足し合わせたものを当該ソフトウェアの脆弱性ポイントとする。
また、プロセッサー11は、2種類以上のソフトウェアの組み合わせの影響を考慮して脆弱性を評価しても良い。例えば、プロセッサー11は、特定のソフトウェアの特定のバージョンと、当該特定のソフトウェアとは別のソフトウェアの特定のバージョンとを組み合わせると脆弱性の深刻度が高まることを考慮して脆弱性を評価する。
In the ACT 38, the processor 11 evaluates the vulnerabilities of the client device 20 and the software installed in the client device 20 by using the version information of each software included in the received software information. For example, the processor 11 evaluates the vulnerability of each software from the version information of each software included in the receiving software and shows it as a numerical value (hereinafter referred to as "software vulnerability point"). Then, the processor 11 obtains, for example, a numerical value (hereinafter referred to as "client vulnerability point") indicating the vulnerability of the quatant device from the software vulnerability point of each software. For example, the processor 11 uses a numerical value obtained by adding the software vulnerability points of each software as a client vulnerability point. The software vulnerability point and client vulnerability point indicate the severity of the vulnerability as a numerical value. Here, the larger the numerical value, the higher the severity of the vulnerability (the greater the security problem). It shall be shown. On the contrary, it can be said that the smaller the numerical value of the software vulnerability point and the client vulnerability point, the higher the degree of security. Software vulnerability points and client vulnerability points are examples of evaluation values that indicate the severity of vulnerabilities.
In order to evaluate software vulnerabilities, the processor 11 uses a vulnerability information database such as JVN (Japan Vulnerability Notes) based on information such as the vendor name (software creator name), name and version of the software. By referring to it, you can find out what kind of vulnerabilities the software has. Then, the processor 11 examines the severity value by the CVSS (Common Vulnerability Scoring System) for each of the software vulnerabilities. Further, the processor 11 sets the maximum value among the values of the severity of the vulnerability as the vulnerability point of the software. Alternatively, the processor 11 sets the sum of all the values of the severity of the vulnerability as the vulnerability point of the software.
Further, the processor 11 may evaluate the vulnerability in consideration of the influence of the combination of two or more types of software. For example, the processor 11 evaluates a vulnerability in consideration of the fact that the severity of the vulnerability increases when a specific version of the specific software is combined with a specific version of software other than the specific software.

ACT39においてプロセッサー11は、クライアント装置20にインストールされたソフトウェアのアップデートが必要であるか否かを判定する。プロセッサー11は、例えば、クライアント装置20又はクライアント装置20にインストールされたソフトウェアの脆弱性が高い場合に当該アップデートが必要であると判定する。このために、プロセッサー11は、例えば、クライアント脆弱性ポイントが閾値T1以上であるならば当該アップデートが必要であると判定する。あるいは、プロセッサー11は、クライアント脆弱性ポイントが閾値T1以上であり、且ついずれかのソフトウェアのソフトウェア脆弱性ポイントが閾値T2以上であるソフトウェアがある場合に、当該アップデートが必要であると判定する。なお、プロセッサー11は、クライアント脆弱性ポイントが閾値T1未満であるが、いずれかのソフトウェアのソフトウェア脆弱性ポイントが閾値T3以上である場合にも、当該アップデートが必要であると判定しても良い。プロセッサー11は、当該アップデートが必要であると判定するならば、ACT39においてYesと判定してACT40へと進む。
プロセッサー11は、ACT39の処理を行うことで、評価値に基づきソフトウェアをアップデートするか否かを決定する処理部として機能する。
In the ACT 39, the processor 11 determines whether or not the software installed on the client device 20 needs to be updated. The processor 11 determines, for example, that the update is necessary when the client device 20 or the software installed in the client device 20 is highly vulnerable. For this purpose, the processor 11 determines, for example, that the update is necessary if the client vulnerability point is equal to or higher than the threshold value T1. Alternatively, the processor 11 determines that the update is necessary when there is software whose client vulnerability point is the threshold value T1 or higher and the software vulnerability point of any software is the threshold value T2 or higher. Although the client vulnerability point is less than the threshold value T1, the processor 11 may determine that the update is necessary even when the software vulnerability point of any software is the threshold value T3 or more. If the processor 11 determines that the update is necessary, the processor 11 determines Yes in the ACT 39 and proceeds to the ACT 40.
The processor 11 functions as a processing unit that determines whether or not to update the software based on the evaluation value by performing the processing of the ACT 39.

ACT40においてプロセッサー11は、更新指示情報を生成する。更新指示情報は、クライアント装置20にソフトウェアのアップデートを指示する情報を含む。また、更新指示情報は、ソフトウェアのアップデートに必要なアップデートデータを含む。プロセッサー11は、更新指示情報を生成するために、クライアント装置20にインストールされたソフトウェアのうちどのソフトウェアをアップデート対象とするかを決定する。例えば、プロセッサー11は、ソフトウェア脆弱性ポイントが一定以上であるソフトウェアをアップデート対象とする。例えば、プロセッサー11は、ソフトウェア脆弱性ポイントが高いものを優先してアップデート対象とする。例えば、プロセッサー11は、アップデート後のクライアント脆弱性ポイントが閾値T3以下となるようにアップデート対象のソフトウェアを決定する。例えば、プロセッサー11は、依存性が高いソフトウェアを優先してアップデート対象とする。ここで、依存性とは、どれぐらいの数のソフトウェアから参照されているかを示す。例えば、プロセッサー11は、アップデートに時間がかかるもの及びアップデートデータのデータサイズが大きいソフトウェアをアップデート対象とする優先度を下げる。このように、プロセッサー11は、様々な要因を加味してアップデート対象を決定する。例えば、プロセッサー11は、ソフトウェア脆弱性ポイントが低いソフトウェアでも、アップデートデータのデータサイズが大きい場合は後回しにし、アップデートデータのデータサイズが小さい場合にはアップデート対象にすることなどが可能である。ただし、プロセッサー11は、アップデートが可能な全てのソフトウェアをアップデート対象としても良い。なお、プロセッサー11は、上記のようにアップデート対象を決定する際、ソフトウェアのバージョンが最新であるなどの理由でアップデートできないものについてはアップデート対象としない。また、プロセッサー11は、予め定められた特定のソフトウェアについては、ソフトウェア脆弱性ポイントにかかわらずアップデート対象としても良い。
プロセッサー11は、以上のようにアップデート対象として決定したソフトウェアをアップデートするように指示する情報及びアップデート対象のアップデートデータを含む更新指示情報を生成する。
In the ACT 40, the processor 11 generates update instruction information. The update instruction information includes information for instructing the client device 20 to update the software. In addition, the update instruction information includes update data necessary for updating the software. The processor 11 determines which of the software installed in the client device 20 is to be updated in order to generate the update instruction information. For example, the processor 11 targets software having a certain number of software vulnerability points or more. For example, the processor 11 preferentially updates those having a high software vulnerability point. For example, the processor 11 determines the software to be updated so that the client vulnerability point after the update is the threshold value T3 or less. For example, the processor 11 gives priority to software with high dependence as an update target. Here, the dependency indicates how many softwares refer to it. For example, the processor 11 lowers the priority of updating software that takes a long time to update and has a large data size of update data. In this way, the processor 11 determines the update target in consideration of various factors. For example, even if the software has a low software vulnerability point, the processor 11 can be postponed if the data size of the update data is large, and can be targeted for update if the data size of the update data is small. However, the processor 11 may target all software that can be updated. When determining the update target as described above, the processor 11 does not target the update target if it cannot be updated due to the latest software version or the like. Further, the processor 11 may be an update target for a predetermined specific software regardless of the software vulnerability point.
The processor 11 generates update instruction information including the information instructing to update the software determined as the update target and the update data to be updated as described above.

プロセッサー11は、クライアント装置20にインストールされたソフトウェアのアップデートが必要であると判定しないならば、ACT39においてNoと判定してACT41へと進む。
ACT41においてプロセッサー11は、修復リストが空であるか否かを判定する。プロセッサー11は、修復リストが空でない、すなわち修復リストにソフトウェアが1つ以上登録されているならば、ACT41においてNoと判定してACT42へと進む。また、プロセッサー11は、ACT40の処理の後、ACT42へと進む。
If the processor 11 does not determine that the software installed in the client device 20 needs to be updated, the processor 11 determines No in the ACT 39 and proceeds to the ACT 41.
In ACT 41, processor 11 determines if the repair list is empty. If the repair list is not empty, that is, if one or more softwares are registered in the repair list, the processor 11 determines No in the ACT 41 and proceeds to the ACT 42. Further, the processor 11 proceeds to the ACT 42 after the processing of the ACT 40.

ACT42においてプロセッサー11は、指示情報を生成する。指示情報は、更新指示情報及び修復指示情報の少なくともいずれかを含む。プロセッサー11は、ACT40からACT42に進んだ場合、すなわちACT42で更新指示情報を生成していた場合、当該更新指示情報を指示情報に含める。また、プロセッサー11は、修復リストが空でないならば、修復リストに登録されているソフトウェアに関連付けられている修復指示情報を指示情報に含める。プロセッサー11は、指示情報を生成した後、当該指示情報をクライアント装置20に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該指示情報をクライアント装置20に送信する。送信された当該指示情報は、クライアント装置20の通信インターフェース25によって受信される。プロセッサー11は、ACT42の処理の後、ACT31へと進む。なお、プロセッサー11は、ACT31へと戻るとき、修復リストをリセットして、ソフトウェアが登録されていない状態にする。 In the ACT 42, the processor 11 generates instruction information. The instruction information includes at least one of update instruction information and repair instruction information. When the processor 11 proceeds from the ACT 40 to the ACT 42, that is, when the update instruction information is generated by the ACT 42, the processor 11 includes the update instruction information in the instruction information. Further, if the repair list is not empty, the processor 11 includes the repair instruction information associated with the software registered in the repair list in the instruction information. After generating the instruction information, the processor 11 instructs the communication interface 15 to transmit the instruction information to the client device 20. In response to this transmission instruction, the communication interface 15 transmits the instruction information to the client device 20. The transmitted instruction information is received by the communication interface 25 of the client device 20. The processor 11 proceeds to the ACT 31 after the processing of the ACT 42. When returning to the ACT 31, the processor 11 resets the repair list so that the software is not registered.

一方、図2のACT15においてクライアント装置20のプロセッサー21は、通信インターフェース25によって起動許可情報が受信されたか否かを判定する。プロセッサー21は、起動許可情報が受信されないならば、ACT15においてNoと判定してACT16へと進む。なお、起動許可情報については後述する。 On the other hand, in the ACT 15 of FIG. 2, the processor 21 of the client device 20 determines whether or not the activation permission information has been received by the communication interface 25. If the activation permission information is not received, the processor 21 determines No in ACT15 and proceeds to ACT16. The activation permission information will be described later.

ACT16においてプロセッサー21は、通信インターフェース25によって指示情報が受信されたか否かを判定する。プロセッサー21は、指示情報が受信されないならば、ACT16においてNoと判定してACT15へと戻る。かくして、プロセッサー21は、起動許可情報又は指示情報が受信されるまでACT15及びACT16を繰り返す。 In the ACT 16, the processor 21 determines whether or not the instruction information has been received by the communication interface 25. If the instruction information is not received, the processor 21 determines No in the ACT 16 and returns to the ACT 15. Thus, the processor 21 repeats ACT 15 and ACT 16 until the activation permission information or instruction information is received.

プロセッサー21は、ACT15及びACT16の待受状態にあるときに指示情報が受信されたならば、ACT16においてYesと判定してACT17へと進む。 If the instruction information is received while the ACT 15 and the ACT 16 are in the standby state, the processor 21 determines Yes in the ACT 16 and proceeds to the ACT 17.

ACT17においてプロセッサー21は、ACT16で受信された指示情報に修復指示情報が含まれるか否かを判定する。プロセッサー21は、指示情報に修復指示情報が含まれるならば、ACT17においてYesと判定してACT18へと進む。 In the ACT 17, the processor 21 determines whether or not the instruction information received in the ACT 16 includes the repair instruction information. If the instruction information includes the repair instruction information, the processor 21 determines Yes in the ACT 17 and proceeds to the ACT 18.

ACT18においてプロセッサー21は、指示情報に含まれる修復指示情報に基づきインストールされているソフトウェアを修復する。 In the ACT 18, the processor 21 repairs the installed software based on the repair instruction information included in the instruction information.

プロセッサー21は、ACT18の処理の後、ACT19へと進む。また、プロセッサー21は、指示情報に修復指示情報が含まれないならば、ACT17においてNoと判定してACT19へと進む。
ACT19においてプロセッサー21は、ACT16で受信された指示情報に更新指示情報が含まれるか否かを判定する。プロセッサー21は、指示情報に更新指示情報が含まれるならば、ACT19においてYesと判定してACT20へと進む。
The processor 21 proceeds to ACT 19 after processing ACT 18. If the instruction information does not include the repair instruction information, the processor 21 determines No in the ACT 17 and proceeds to the ACT 19.
In the ACT 19, the processor 21 determines whether or not the instruction information received in the ACT 16 includes the update instruction information. If the instruction information includes the update instruction information, the processor 21 determines Yes in the ACT 19 and proceeds to the ACT 20.

ACT20においてプロセッサー21は、指示情報に含まれる更新指示情報に基づきインストールされているソフトウェアをアップデートする。 In the ACT 20, the processor 21 updates the installed software based on the update instruction information included in the instruction information.

プロセッサー21は、ACT20の処理の後、ACT21へと進む。また、プロセッサー21は、指示情報に更新指示情報が含まれないならば、ACT19においてNoと判定してACT21へと進む。
ACT21においてプロセッサー21は、途中まで実行しているOSの起動処理の続きを実行して、起動処理を完了する。プロセッサー21は、ACT21の処理の後、図2に示す処理を終了する。
The processor 21 proceeds to the ACT 21 after the processing of the ACT 20. If the instruction information does not include the update instruction information, the processor 21 determines No in the ACT 19 and proceeds to the ACT 21.
In the ACT 21, the processor 21 executes the continuation of the OS startup process that is being executed halfway, and completes the startup process. The processor 21 ends the process shown in FIG. 2 after the process of the ACT 21.

一方、プロセッサー11は、修復リストが空であるならば、図3のACT41においてYesと判定してACT43へと進む。 On the other hand, if the repair list is empty, the processor 11 determines Yes in the ACT 41 of FIG. 3 and proceeds to the ACT 43.

ACT43においてプロセッサー11は、起動許可情報を補助記憶デバイス14に送信するように通信インターフェース15に対して指示する。起動許可情報は、クライアント装置20に、ソフトウェアのアップデート及び修復無しで起動を完了しても良いことを通知する。この送信の指示を受けて通信インターフェース15は、当該起動許可情報を補助記憶デバイス14に送信する。送信された当該起動許可情報は、補助記憶デバイス14によって受信される。プロセッサー11は、ACT43の処理の後、ACT31へと戻る。
以上より、プロセッサー11は、ACT39の処理結果に応じて更新指示情報を送信するか否かを決定する。したがって、プロセッサー11は、通信インターフェース15と協働して、ソフトウェアをアップデートしないと決定した場合、アップデート指示を行わず、前記ソフトウェアをアップデートすると決定した場合、前記アップデート指示を行う指示部として機能する。また、プロセッサー11は、通信インターフェース15と協働して、データに誤りが検出された場合、前記ソフトウェアを修復するようにクライアント装置20に指示する指示部として機能する。
In the ACT 43, the processor 11 instructs the communication interface 15 to transmit the activation permission information to the auxiliary storage device 14. The start permission information notifies the client device 20 that the start may be completed without updating and repairing the software. In response to this transmission instruction, the communication interface 15 transmits the activation permission information to the auxiliary storage device 14. The transmitted activation permission information is received by the auxiliary storage device 14. The processor 11 returns to the ACT 31 after the processing of the ACT 43.
From the above, the processor 11 determines whether or not to transmit the update instruction information according to the processing result of the ACT 39. Therefore, the processor 11 cooperates with the communication interface 15 to function as an instruction unit that does not give an update instruction when it decides not to update the software, and gives an update instruction when it decides to update the software. Further, the processor 11 cooperates with the communication interface 15 and functions as an instruction unit for instructing the client device 20 to repair the software when an error is detected in the data.

一方、クライアント装置20のプロセッサー21は、図2のACT15及びACT16の待受状態にあるときに起動許可情報が受信されたならば、ACT15においてYesと判定してACT21へと進む。 On the other hand, if the activation permission information is received while the ACT 15 and ACT 16 in FIG. 2 are in the standby state, the processor 21 of the client device 20 determines Yes in the ACT 15 and proceeds to the ACT 21.

第1実施形態のアップデートシステム1によれば、サーバー装置10は、クライアント装置20にインストールされたソフトウェアの脆弱性の深刻度に応じて、クライアント装置20に当該ソフトウェアのアップデートを指示するか否かを決定する。ソフトウェアのアップデートには時間がかかるため、その間クライアント装置20は使えなくなる。したがって、サーバー装置10は、脆弱性の深刻度が所定より低い場合にはアップデートを指示しないことで、クライアント装置20の使用を必要以上に妨げない。また、サーバー装置10は、脆弱性の深刻度が所定より高い場合には当該ソフトウェアのアップデートを指示することで、セキュリティ上問題のある状態を放置しない。 According to the update system 1 of the first embodiment, whether or not the server device 10 instructs the client device 20 to update the software according to the severity of the vulnerability of the software installed in the client device 20. decide. Since it takes time to update the software, the client device 20 cannot be used during that time. Therefore, the server device 10 does not unnecessarily hinder the use of the client device 20 by not instructing the update when the severity of the vulnerability is lower than the predetermined value. Further, when the severity of the vulnerability is higher than the predetermined value, the server device 10 gives an instruction to update the software, so that the state having a security problem is not left unattended.

また、第1実施形態のアップデートシステム1によれば、サーバー装置10は、ソフトウェア脆弱性ポイント又はクライアント脆弱性ポイントが閾値未満である場合、アップデートの指示を行わない。これにより、サーバー装置10は、クライアント装置20に対して必要以上にアップデートを実行させない。 Further, according to the update system 1 of the first embodiment, the server device 10 does not give an update instruction when the software vulnerability point or the client vulnerability point is less than the threshold value. As a result, the server device 10 does not cause the client device 20 to perform updates more than necessary.

また、第1実施形態のアップデートシステム1によれば、サーバー装置10は、アップデートにかかる時間に基づきアップデートを指示するか否かを決定する。アップデートにかかる時間が短い場合には、クライアント装置20の使用を妨げる時間も短いので、脆弱性の深刻度に拘らずアップデートを行うことでセキュリティ性を向上することができる。 Further, according to the update system 1 of the first embodiment, the server device 10 determines whether or not to instruct the update based on the time required for the update. When the time required for the update is short, the time for hindering the use of the client device 20 is also short, so that the security can be improved by updating regardless of the severity of the vulnerability.

また、第1実施形態のアップデートシステム1は、サーバー装置10は、クライアント装置20にインストールされたソフトウェアにデータの誤りを検出した場合には、データの修復を行うようにクライアント装置20に指示する。これによりクライアント装置20のセキュリティ性が向上する。 Further, in the update system 1 of the first embodiment, when the server device 10 detects an error in the data in the software installed in the client device 20, the server device 10 instructs the client device 20 to repair the data. This improves the security of the client device 20.

〔第2実施形態〕
図4は、第2実施形態に係るアップデートシステム1b及びアップデートシステム1bに含まれる構成要素についての要部回路構成の一例を示すブロック図である。
第2実施形態のアップデートシステム1bは、ソフトウェアの更新又は修復にサービスマンなどによる作業が必要であるクライアント装置20に対して特に好適である。このようなクライアント装置20としては、例えば、一部のIoT(internet of things)機器及び制御機器などが挙げられる。アップデートシステム1bは、第1実施形態のアップデート1システムと同様にサーバー装置10及びクライアント装置20を含む。さらに、アップデートシステム1bは、端末装置30を含む。
[Second Embodiment]
FIG. 4 is a block diagram showing an example of a main circuit configuration of the update system 1b and the components included in the update system 1b according to the second embodiment.
The update system 1b of the second embodiment is particularly suitable for a client device 20 that requires work by a serviceman or the like to update or repair software. Examples of such a client device 20 include some IoT (internet of things) devices and control devices. The update system 1b includes the server device 10 and the client device 20 as in the update 1 system of the first embodiment. Further, the update system 1b includes a terminal device 30.

端末装置30は、例えば、スマートホン又はPCなどである。端末装置30は、一例として、プロセッサー31、ROM32、RAM33、補助記憶デバイス34、通信インターフェース35及びタッチパネル36を含む。そして、バス37などが、これら各部を接続する。 The terminal device 30 is, for example, a smart phone or a PC. As an example, the terminal device 30 includes a processor 31, a ROM 32, a RAM 33, an auxiliary storage device 34, a communication interface 35, and a touch panel 36. Then, a bus 37 or the like connects each of these parts.

プロセッサー31は、端末装置30の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー31は、ROM32又は補助記憶デバイス34などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、端末装置30の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー31の回路内に組み込まれていても良い。プロセッサー31は、例えば、CPU、MPU、SoC、DSP、GPU、ASIC、PLD又はFPGAなどである。あるいは、プロセッサー31は、これらのうちの複数を組み合わせたものである。 The processor 31 corresponds to a central part of a computer that performs processing such as calculation and control necessary for the operation of the terminal device 30. The processor 31 controls each unit in order to realize various functions of the terminal device 30 based on a program such as firmware, system software, and application software stored in the ROM 32 or the auxiliary storage device 34 or the like. A part or all of the program may be incorporated in the circuit of the processor 31. The processor 31 is, for example, a CPU, MPU, SoC, DSP, GPU, ASIC, PLD, FPGA, or the like. Alternatively, the processor 31 is a combination of a plurality of these.

ROM32は、プロセッサー31を中枢とするコンピューターの主記憶装置に相当する。ROM32は、専らデータの読み出しに用いられる不揮発性メモリである。ROM32は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM32は、プロセッサー31が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。 The ROM 32 corresponds to the main storage device of a computer centered on the processor 31. The ROM 32 is a non-volatile memory used exclusively for reading data. The ROM 32 stores, for example, firmware among the above programs. The ROM 32 also stores data or various set values used by the processor 31 to perform various processes.

RAM33は、プロセッサー31を中枢とするコンピューターの主記憶装置に相当する。RAM33は、データの読み書きに用いられるメモリである。RAM33は、プロセッサー31が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。RAM33は、典型的には揮発性メモリである。 The RAM 33 corresponds to the main storage device of a computer centered on the processor 31. The RAM 33 is a memory used for reading and writing data. The RAM 33 is used as a so-called work area or the like for storing data temporarily used by the processor 31 for performing various processes. The RAM 33 is typically a volatile memory.

補助記憶デバイス34は、プロセッサー31を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス34は、例えばEEPROM、HDD又はフラッシュメモリなどである。補助記憶デバイス34は、上記のプログラムのうち、例えば、システムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶デバイス34は、プロセッサー31が各種の処理を行う上で使用するデータ、プロセッサー31での処理によって生成されたデータ又は各種の設定値などを保存する。 The auxiliary storage device 34 corresponds to an auxiliary storage device of a computer centered on the processor 31. The auxiliary storage device 34 is, for example, an EEPROM, an HDD, a flash memory, or the like. The auxiliary storage device 34 stores, for example, system software and application software among the above programs. Further, the auxiliary storage device 34 stores data used by the processor 31 for performing various processes, data generated by the processes of the processor 31, various setting values, and the like.

ROM32又は補助記憶デバイス34に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、端末装置30は、当該プログラムがROM32又は補助記憶デバイス34に記憶されない状態で端末装置30の利用者又は管理者などへと譲渡される。そして、別途に当該利用者又は管理者などへと譲渡された当該プログラムが、当該利用者又は管理者などによる操作の下に補助記憶デバイス34へと書き込まれる。しかしながら、端末装置30は、当該プログラムがROM32又は補助記憶デバイス34に記憶された状態で当該利用者又は管理者などへと譲渡されても良い。上述のプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWなどを介したダウンロードにより実現できる。 The program stored in the ROM 32 or the auxiliary storage device 34 includes a program for executing a process described later. As an example, the terminal device 30 is transferred to a user or an administrator of the terminal device 30 in a state where the program is not stored in the ROM 32 or the auxiliary storage device 34. Then, the program separately transferred to the user or administrator is written to the auxiliary storage device 34 under the operation of the user or administrator. However, the terminal device 30 may be transferred to the user, the administrator, or the like with the program stored in the ROM 32 or the auxiliary storage device 34. The transfer of the above-mentioned program can be realized, for example, by recording on a removable storage medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory, or by downloading via a network NW or the like.

通信インターフェース35は、端末装置30がネットワークNWなどを介して通信するためのインターフェースである。 The communication interface 35 is an interface for the terminal device 30 to communicate via the network NW or the like.

タッチパネル36は、例えば、液晶ディスプレイ又は有機ELディスプレイなどのディスプレイとタッチ入力によるポインティングデバイスとが積層されたものである。タッチパネル36が備えるディスプレイは、端末装置30の操作者に各種情報を通知するための画面を表示する表示デバイスとして機能する。また、タッチパネル36は、当該操作者によるタッチ操作を受け付ける入力デバイスとして機能する。 The touch panel 36 is a stack of a display such as a liquid crystal display or an organic EL display and a pointing device by touch input. The display included in the touch panel 36 functions as a display device for displaying a screen for notifying the operator of the terminal device 30 of various information. Further, the touch panel 36 functions as an input device that accepts a touch operation by the operator.

バス37は、コントロールバス、アドレスバス及びデータバスなどを含み、端末装置30の各部で授受される信号を伝送する。 The bus 37 includes a control bus, an address bus, a data bus, and the like, and transmits signals transmitted and received by each part of the terminal device 30.

なお、第2実施形態では、サーバー装置10は、クライアント装置20についての設置場所情報及び連絡先情報を補助記憶デバイス14などに記憶する。なお、サーバー装置10は、例えば、クライアントIDと設置場所情報及び連絡先情報を関連付けて記憶する。クライアントIDは、クライアント装置20ごとにユニークに付与される識別情報である。設置場所情報は、クライアント装置20の設置場所を示す情報である。設置場所情報は、例えば、クライアント装置20が設置されている場所の住所などを含む。また、連絡先情報は、クライアント装置20を使用している使用者又は管理者などの連絡先を示す情報である。 In the second embodiment, the server device 10 stores the installation location information and the contact information of the client device 20 in the auxiliary storage device 14 or the like. The server device 10 stores, for example, the client ID, the installation location information, and the contact information in association with each other. The client ID is identification information uniquely assigned to each client device 20. The installation location information is information indicating the installation location of the client device 20. The installation location information includes, for example, the address of the location where the client device 20 is installed. Further, the contact information is information indicating the contact information of the user or the administrator who is using the client device 20.

以下、第2実施形態に係るアップデートシステム1bの動作を図5及び図6などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図5は、クライアント装置20のプロセッサー21による処理の一例を示すフローチャートである。プロセッサー21は、例えば、補助記憶デバイス24に記憶されたOSに含まれるプログラムに基づいてこの処理を実行する。図6は、サーバー装置10のプロセッサー11による処理の一例を示すフローチャートである。プロセッサー11は、例えば、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。図7は、端末装置30のプロセッサー31による処理の一例を示すフローチャートである。プロセッサー31は、例えば、ROM32又は補助記憶デバイス34などに記憶されたプログラムに基づいてこの処理を実行する。 Hereinafter, the operation of the update system 1b according to the second embodiment will be described with reference to FIGS. 5 and 6. The content of the process in the following operation description is an example, and various processes capable of obtaining similar results can be appropriately used. FIG. 5 is a flowchart showing an example of processing by the processor 21 of the client device 20. The processor 21 executes this process based on, for example, a program included in the OS stored in the auxiliary storage device 24. FIG. 6 is a flowchart showing an example of processing by the processor 11 of the server device 10. The processor 11 executes this process based on, for example, a program stored in the ROM 12 or the auxiliary storage device 14. FIG. 7 is a flowchart showing an example of processing by the processor 31 of the terminal device 30. The processor 31 executes this process based on a program stored in, for example, the ROM 32 or the auxiliary storage device 34.

第2実施形態では、サーバー装置10のプロセッサー11は、図6のACT40の処理の後、ACT61へと進む。また、プロセッサー11は、ACT41においてNoと判定したならば、ACT61へと進む。
ACT61においてプロセッサー11は、通知情報を生成する。通知情報は、クライアント装置20にインストールされたソフトウェアについて、修復及びアップデートの少なくともいずれかが必要であることを、クライアント装置20に通知する。なお、プロセッサー11は、ACT40からACT61に進んだ場合、クライアント装置20にインストールされたソフトウェアのアップデートが必要であることを通知するものとして通知情報を生成する。また、プロセッサー11は、修復リストが空でないならば、クライアント装置20にインストールされたソフトウェアの修復が必要であることを通知するものとして通知情報を生成する。プロセッサー11は、通知情報を生成した後、当該通知情報をクライアント装置20に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該通知情報をクライアント装置20に送信する。送信された当該通知情報は、クライアント装置20の通信インターフェース25によって受信される。
In the second embodiment, the processor 11 of the server device 10 proceeds to the ACT 61 after the processing of the ACT 40 of FIG. If the processor 11 determines No in the ACT 41, the processor 11 proceeds to the ACT 61.
In the ACT 61, the processor 11 generates notification information. The notification information notifies the client device 20 that at least one of repair and update is required for the software installed on the client device 20. When the processor 11 proceeds from the ACT 40 to the ACT 61, the processor 11 generates notification information as a notification that the software installed in the client device 20 needs to be updated. Further, if the repair list is not empty, the processor 11 generates notification information as a notification that the software installed on the client device 20 needs to be repaired. After generating the notification information, the processor 11 instructs the communication interface 15 to transmit the notification information to the client device 20. In response to this transmission instruction, the communication interface 15 transmits the notification information to the client device 20. The transmitted notification information is received by the communication interface 25 of the client device 20.

一方、クライアント装置20のプロセッサー21は、第2実施形態では、図5のACT15の処理においてNoと判定したならば、ACT51へと進む。
ACT51においてプロセッサー21は、通信インターフェース25によって通知情報が受信されたか否かを判定する。プロセッサー21は、通知情報が受信されないならば、ACT51においてNoと判定してACT15へと戻る。かくして、プロセッサー21は、起動許可情報又は通知情報が受信されるまでACT15及びACT51を繰り返す。
プロセッサー21は、ACT15及びACT51の待受状態にあるときに起動許可情報が受信されたならば、ACT15においてYesと判定してACT21へと進む。
On the other hand, in the second embodiment, the processor 21 of the client device 20 proceeds to the ACT 51 if it is determined to be No in the process of the ACT 15 of FIG.
In the ACT 51, the processor 21 determines whether or not the notification information has been received by the communication interface 25. If the notification information is not received, the processor 21 determines No in the ACT 51 and returns to the ACT 15. Thus, the processor 21 repeats ACT 15 and ACT 51 until the activation permission information or notification information is received.
If the activation permission information is received while the ACT 15 and the ACT 51 are in the standby state, the processor 21 determines Yes in the ACT 15 and proceeds to the ACT 21.

プロセッサー21は、ACT15及びACT51の待受状態にあるときに通知情報が受信されたならば、ACT51においてYesと判定してACT52へと進む。
ACT52においてプロセッサー21は、通知画面に対応した画像を生成する。そして、プロセッサー21は、生成したこの画像を表示するように表示デバイス26に対して指示する。表示の指示を受けて表示デバイス26は、通知画面を表示する。
通知画面は、クライアント装置20にインストールされたソフトウェアについて、修復及びアップデートの少なくともいずれかが必要であることをクライアント装置20の操作者に報知するための画面である。通知画面は、ACT51で受信された通知情報が当該ソフトウェアの修復が必要であることを示す場合、当該ソフトウェアの修復が必要であることを示す画像を含む。なお、文字列なども画像の一種である。また、通知画面は、当該通知情報が当該ソフトウェアのアップデートが必要であることを示す場合、当該ソフトウェアのアップデートが必要であることを示す画像を含む。さらに、通知画面は、起動中止ボタン及び起動ボタンを含む。起動中止ボタンは、OSの起動を中止するようにクライアント装置20に指示する場合にクライアント装置20の操作者が操作するためのボタンである。起動ボタンは、OSの起動を継続するようにクライアント装置20に指示する場合に当該操作者が操作するためのボタンである。
If the notification information is received while the ACT 15 and the ACT 51 are in the standby state, the processor 21 determines Yes in the ACT 51 and proceeds to the ACT 52.
In the ACT 52, the processor 21 generates an image corresponding to the notification screen. Then, the processor 21 instructs the display device 26 to display this generated image. Upon receiving the display instruction, the display device 26 displays the notification screen.
The notification screen is a screen for notifying the operator of the client device 20 that at least one of repair and update is required for the software installed in the client device 20. The notification screen includes an image indicating that the software needs to be repaired when the notification information received by the ACT 51 indicates that the software needs to be repaired. A character string or the like is also a type of image. In addition, the notification screen includes an image indicating that the software needs to be updated when the notification information indicates that the software needs to be updated. Further, the notification screen includes a start / stop button and a start button. The start / stop button is a button for the operator of the client device 20 to operate when instructing the client device 20 to stop starting the OS. The start button is a button for the operator to operate when instructing the client device 20 to continue starting the OS.

ACT53においてプロセッサー21は、OSの起動を中止するように指示する操作が行われたか否かを判定する。すなわちプロセッサー21は、起動中止ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー21は、OSの起動を中止するように指示する操作が行われないならば、ACT53においてNoと判定してACT54へと進む。 In the ACT 53, the processor 21 determines whether or not an operation instructing the OS to stop booting has been performed. That is, the processor 21 determines whether or not a predetermined operation such as operating the start / stop button has been performed. If the operation for instructing the OS to stop booting is not performed, the processor 21 determines No in the ACT 53 and proceeds to the ACT 54.

ACT54においてプロセッサー21は、OSの起動を継続するように指示する操作が行われたか否かを判定する。すなわちプロセッサー21は、起動ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー21は、OSの起動を継続するように指示する操作が行われないならば、ACT54においてNoと判定してACT53へと戻る。かくして、プロセッサー21は、OSの起動を中止するように指示する操作が行われるか、OSの起動を継続するように指示する操作が行われるまでACT53及びACT54を繰り返す。 In the ACT 54, the processor 21 determines whether or not an operation instructing the OS to continue booting has been performed. That is, the processor 21 determines whether or not a predetermined operation such as operating the start button has been performed. If the operation instructing the OS to continue booting is not performed, the processor 21 determines No in the ACT 54 and returns to the ACT 53. Thus, the processor 21 repeats ACT53 and ACT54 until an operation instructing the OS to stop booting is performed or an operation instructing the OS to continue booting is performed.

プロセッサー21は、ACT53及びACT54の待受状態にあるときにOSの起動を中止するように指示する操作が行われたならば、ACT53においてYesと判定してACT55へと進む。 If the processor 21 performs an operation instructing the OS to stop starting while the ACT 53 and the ACT 54 are in the standby state, the processor 21 determines Yes in the ACT 53 and proceeds to the ACT 55.

ACT55においてプロセッサー21は、OSの起動を中止する。そして、プロセッサー21は、例えば、クライアント装置20をシャットダウンする。プロセッサー21は、ACT55の処理の後、図5に示す処理を終了する。 In the ACT 55, the processor 21 stops booting the OS. Then, the processor 21 shuts down, for example, the client device 20. After the processing of the ACT 55, the processor 21 ends the processing shown in FIG.

プロセッサー21は、ACT53及びACT54の待受状態にあるときにOSの起動を継続するように指示する操作が行われたならば、ACT54においてYesと判定してACT21へと進む。 If the processor 21 performs an operation instructing the OS to continue starting while the ACT 53 and the ACT 54 are in the standby state, the processor 21 determines Yes in the ACT 54 and proceeds to the ACT 21.

一方、図6のACT62においてサーバー装置10のプロセッサー11は、サービスマン通知を生成する。サービスマン通知は、クライアント装置20にインストールされたソフトウェアについて、修復及びアップデートの少なくともいずれかが必要であることをサービスマンに対して通知するために送信される。サービスマン通知は、更新指示情報及び修復指示情報の少なくとも何れかを含む。プロセッサー11は、ACT40からACT61に進んだ場合、すなわちACT42で更新指示情報を生成していた場合、当該更新指示情報を指示情報に含める。また、プロセッサー11は、修復リストが空でないならば、修復リストに登録されているソフトウェアに関連付けられている修復指示情報をサービスマン通知に含める。また、サービスマン通知は、クライアント装置20についての設置場所情報及び連絡先情報を含む。プロセッサー11は、サービスマン通知を生成した後、当該サービスマン通知を端末装置30に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該サービスマン通知を端末装置30に送信する。送信された当該サービスマン通知は、端末装置30の通信インターフェース35によって受信される。プロセッサー11は、ACT62の処理の後、ACT31へと戻る。
プロセッサー11は、通信インターフェース15と協働して、サービスマン通知を送信することで、ソフトウェアをアップデートするように指示する情報をサービスマンが使用する端末装置に送信する送信部として機能する。
On the other hand, in the ACT 62 of FIG. 6, the processor 11 of the server device 10 generates a serviceman notification. The serviceman notification is transmitted to notify the serviceman that at least one of repairs and updates is required for the software installed on the client device 20. The serviceman notification includes at least one of update instruction information and repair instruction information. When the processor 11 proceeds from ACT 40 to ACT 61, that is, when the update instruction information is generated by the ACT 42, the processor 11 includes the update instruction information in the instruction information. Further, if the repair list is not empty, the processor 11 includes the repair instruction information associated with the software registered in the repair list in the serviceman notification. Further, the serviceman notification includes installation location information and contact information about the client device 20. After generating the serviceman notification, the processor 11 instructs the communication interface 15 to transmit the serviceman notification to the terminal device 30. In response to this transmission instruction, the communication interface 15 transmits the serviceman notification to the terminal device 30. The transmitted serviceman notification is received by the communication interface 35 of the terminal device 30. The processor 11 returns to the ACT 31 after the processing of the ACT 62.
The processor 11 functions as a transmission unit that transmits a serviceman notification in cooperation with the communication interface 15 to transmit information instructing the software to be updated to the terminal device used by the serviceman.

一方、図7のACT71において端末装置30のプロセッサー31は、通信インターフェース35によってサービスマン通知が受信されるのを待ち受けている。プロセッサー31は、サービスマン通知が受信されたならば、ACT71においてYesと判定してACT72へと進む。 On the other hand, in the ACT 71 of FIG. 7, the processor 31 of the terminal device 30 waits for the serviceman notification to be received by the communication interface 35. When the serviceman notification is received, the processor 31 determines Yes in the ACT 71 and proceeds to the ACT 72.

ACT72においてプロセッサー31は、端末装置30を使用しているサービスマンに対して、クライアント装置20にインストールされたソフトウェアについて、修復及びアップデートの少なくともいずれかが必要であることを知らせるための報知動作を実行する。プロセッサー31は、例えば、報知動作として、スピーカーなどから音声を出力する。また、プロセッサー31は、例えば、報知動作として、端末装置30に内蔵されたバイブレーターを振動させる。また、プロセッサー31は、例えば、タッチパネル36に、インストールされたソフトウェアの修復及びアップデートの少なくともいずれかが必要なクライアント装置20があることなどを示す報知画面を表示させる。プロセッサー31は、ACT72の処理の後、ACT71へと戻る。 In the ACT 72, the processor 31 executes a notification operation for notifying the serviceman using the terminal device 30 that at least one of repair and update is required for the software installed in the client device 20. To do. The processor 31 outputs sound from a speaker or the like as a notification operation, for example. Further, the processor 31 vibrates the vibrator built in the terminal device 30 as a notification operation, for example. Further, the processor 31 causes, for example, display a notification screen on the touch panel 36 indicating that there is a client device 20 that requires at least one of repair and update of the installed software. The processor 31 returns to the ACT 71 after processing the ACT 72.

ACT71で受信されたサービスマン通知に更新指示情報が含まれる場合、報知画面は、クライアント装置20にインストールされたソフトウェアのアップデートが必要であることを示す画像を含む。当該サービスマン通知に修復指示情報が含まれる場合、報知画面は、クライアント装置20にインストールされたソフトウェアの修復が必要であることを示す画像を含む。また、報知画面は、クライアント装置20について、設置場所情報が示す設置場所及び連絡先情報が示す連絡先を示す画像を含む。 When the serviceman notification received by the ACT 71 includes update instruction information, the notification screen includes an image indicating that the software installed on the client device 20 needs to be updated. When the serviceman notification includes repair instruction information, the notification screen includes an image indicating that the software installed on the client device 20 needs to be repaired. Further, the notification screen includes an image showing the installation location indicated by the installation location information and the contact information indicated by the contact information for the client device 20.

サービスマンは、報知画面に表示された情報を見て、クライアント装置20にインストールされたソフトウェアのアップデート及び修復の少なくともいずれかを行う。このために、サービスマンは、例えば、連絡先情報が示す連絡先に連絡する、及び設置場所情報が示す設置場所に向かうなどの行動をする。そして、サービスマンは、例えば、修復指示情報及び更新指示情報に基づき、クライアント装置20にインストールされたソフトウェアのアップデート及び修復の少なくともいずれかを行うべくクライアント装置20のメンテナスなどを行う。 The serviceman sees the information displayed on the notification screen and performs at least one of updating and repairing the software installed on the client device 20. For this purpose, the serviceman takes actions such as contacting the contact indicated by the contact information and heading to the installation location indicated by the installation location information. Then, for example, the serviceman performs maintenance of the client device 20 in order to update or repair the software installed in the client device 20 based on the repair instruction information and the update instruction information.

第2実施形態のアップデートシステム1bによれば、サーバー装置10は、サービスマンが必要なクライアント装置20に対しても、第1実施形態と同様の効果が得られる。 According to the update system 1b of the second embodiment, the server device 10 can obtain the same effect as that of the first embodiment even for the client device 20 that requires a serviceman.

〔第3実施形態〕
第3実施形態のアップデートシステム1bの構成は、第2実施形態と同様であるので説明を省略する。
[Third Embodiment]
Since the configuration of the update system 1b of the third embodiment is the same as that of the second embodiment, the description thereof will be omitted.

第3実施形態では、サーバー装置10は、各クライアント装置20について、インストールされたOS、アプリケーションソフトウェア及びその他のソフトウェアそれぞれのバージョン情報を補助記憶デバイス14などに記憶する。サーバー装置10は、例えば、クライアントIDと関連づけてこれら当該バージョン情報を記憶する。
サーバー装置10のプロセッサー11は、例えば、クライアント装置20から送信されるバージョン情報を記憶する。あるいは、サーバー装置10のプロセッサー11は、例えば、サービスマンなどによる操作によって入力されたバージョン情報を記憶する。
In the third embodiment, the server device 10 stores the version information of the installed OS, application software, and other software for each client device 20 in the auxiliary storage device 14 and the like. The server device 10 stores the version information in association with the client ID, for example.
The processor 11 of the server device 10 stores, for example, the version information transmitted from the client device 20. Alternatively, the processor 11 of the server device 10 stores the version information input by, for example, an operation by a serviceman or the like.

以下、第3実施形態に係るアップデートシステム1bの動作を図8などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図8は、サーバー装置10のプロセッサー11による処理の一例を示すフローチャートである。プロセッサー11は、例えば、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。 Hereinafter, the operation of the update system 1b according to the third embodiment will be described with reference to FIG. The content of the process in the following operation description is an example, and various processes capable of obtaining similar results can be appropriately used. FIG. 8 is a flowchart showing an example of processing by the processor 11 of the server device 10. The processor 11 executes this process based on, for example, a program stored in the ROM 12 or the auxiliary storage device 14.

ACT81においてプロセッサー11は、アップデート処理を開始か否かを判定する。アップデート処理は、クライアント装置20にインストールされたソフトウェアのアップデートが必要であるか否かを判定し、必要であると判定した場合に当該ソフトウェアをアップデートさせるための動作を実行する処理である。プロセッサー11は、例えば、定期的にアップデート処理を実行するために、特定の日時になったことに応じてアップデート処理を開始すると判定する。また、プロセッサー11は、クライアント装置20にインストールされるソフトウェアについて、新たなアップデートデータが追加された、すなわち、当該ソフトウェアの新しいバージョンが出たことに応じてアップデート処理を開始すると判定してもよい。プロセッサー11は、アップデート処理を開始すると判定しないならば、ACT81においてNoと判定してACT81を繰り返す。対して、プロセッサー11は、アップデート処理を開始すると判定するならば、ACT81においてYesと判定してACT38へと進む。
なお、プロセッサー11は、クライアント装置20ごとにACT81の処理を行い、ACT81の処理においてYesと判定した対象のクライアント装置20それぞれに対してACT81より後の処理を実行する。
In the ACT 81, the processor 11 determines whether or not to start the update process. The update process is a process of determining whether or not the software installed in the client device 20 needs to be updated, and executing an operation for updating the software when it is determined that the software needs to be updated. The processor 11 determines, for example, to start the update process at a specific date and time in order to execute the update process on a regular basis. Further, the processor 11 may determine that the software installed on the client device 20 starts the update process when new update data is added, that is, when a new version of the software is released. If the processor 11 does not determine that the update process is to be started, the processor 11 determines No in the ACT81 and repeats the ACT81. On the other hand, if the processor 11 determines that the update process is to be started, the processor 11 determines Yes in the ACT 81 and proceeds to the ACT 38.
The processor 11 performs the processing of the ACT 81 for each client device 20, and executes the processing after the ACT 81 for each of the target client devices 20 determined to be Yes in the processing of the ACT 81.

第3実施形態では、プロセッサー11は、ACT38において、受信ソフトウェア情報に含まれる各ソフトウェアのバージョン情報に代えて、補助記憶デバイス14などに記憶されたバージョン情報を取得して用いる。
したがって、プロセッサー11は、補助記憶デバイス14などに記憶されたバージョン情報を取得することで、クライアント装置にインストールされているソフトウェアのバージョンを取得する取得部として機能する。
In the third embodiment, the processor 11 acquires and uses the version information stored in the auxiliary storage device 14 or the like in place of the version information of each software included in the received software information in the ACT 38.
Therefore, the processor 11 functions as an acquisition unit for acquiring the version of the software installed in the client device by acquiring the version information stored in the auxiliary storage device 14 or the like.

第3実施形態では、プロセッサー11は、ACT39の処理においてNoと判定したならば、ACT81へと戻る。また、第3実施形態では、プロセッサー11は、ACT40の処理の後、ACT82へと進む。 In the third embodiment, if the processor 11 determines No in the processing of the ACT 39, the processor 11 returns to the ACT 81. Further, in the third embodiment, the processor 11 proceeds to the ACT 82 after the processing of the ACT 40.

ACT82においてプロセッサー11は、クライアント装置20に対して自動アップデートを実行させるか否かを判定する。サーバー装置10は、例えば、クライアント装置20ごとに自動アップデートを実行させるか否かを設定などとして記憶している。プロセッサー11は、当該設定に基づき自動アップデートを実行させるか否かを判定する。当該設定は、例えば、クライアント装置20が自動アップデート可能であるならば、自動アップデートを実行させる設定とする。また、例えば、当該設定は、クライアント装置20にインストールされたソフトウェアのアップデートにサービスマンが必要であるならば、自動アップデートを実行させない設定とする。プロセッサー11は、自動アップデートを実行させると判定するならば、ACT82においてYesと判定してACT83へと進む。 In the ACT 82, the processor 11 determines whether or not to cause the client device 20 to execute the automatic update. The server device 10 stores, for example, whether or not to execute an automatic update for each client device 20 as a setting or the like. The processor 11 determines whether or not to execute the automatic update based on the setting. The setting is, for example, a setting for executing automatic update if the client device 20 can be automatically updated. Further, for example, if a serviceman is required to update the software installed in the client device 20, the setting is set so that the automatic update is not executed. If the processor 11 determines that the automatic update is to be executed, the processor 11 determines Yes in the ACT 82 and proceeds to the ACT 83.

ACT83においてプロセッサー11は、指示情報を生成する。ただし、ACT83において生成される指示情報は、更新指示情報を含む。プロセッサー11は、指示情報を生成した後、当該指示情報をクライアント装置20に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該指示情報をクライアント装置20に送信する。送信された当該指示情報は、クライアント装置20の通信インターフェース25によって受信される。プロセッサー11は、ACT83の処理の後、ACT81へと戻る。
一方、ここで指示情報を受信したクライアント装置20は、第1実施形態の図2のACT20と同様の処理を行う。
In the ACT 83, the processor 11 generates instruction information. However, the instruction information generated in the ACT 83 includes the update instruction information. After generating the instruction information, the processor 11 instructs the communication interface 15 to transmit the instruction information to the client device 20. In response to this transmission instruction, the communication interface 15 transmits the instruction information to the client device 20. The transmitted instruction information is received by the communication interface 25 of the client device 20. The processor 11 returns to the ACT 81 after processing the ACT 83.
On the other hand, the client device 20 that has received the instruction information here performs the same processing as the ACT 20 of FIG. 2 of the first embodiment.

対して、プロセッサー11は、自動アップデートを実行させると判定しないならば、図8のACT82においてNoと判定してACT84へと進む。 On the other hand, if the processor 11 does not determine to execute the automatic update, it determines No in the ACT 82 of FIG. 8 and proceeds to the ACT 84.

ACT84においてプロセッサー11は、サービスマン通知を生成する。ただし、ACT84において生成されるサービスマン通知は、クライアント装置20にインストールされたソフトウェアについて、アップデートが必要であることをサービスマンに対して通知するために送信される。また、ACT84において生成されるサービスマン通知は、更新指示情報を含む。プロセッサー11は、サービスマン通知を生成した後、当該サービスマン通知を端末装置30に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該サービスマン通知を端末装置30に送信する。送信された当該サービスマン通知は、端末装置30の通信インターフェース35によって受信される。プロセッサー11は、ACT84の処理の後、ACT81へと戻る。
一方、ここでサービスマン通知を受信した端末装置30は、第2実施形態の図7のACT72と同様の処理を行う。ただし、端末装置30のプロセッサー31は、ここでは、サービスマンに対して、クライアント装置20にインストールされたソフトウェアについて、アップデートが必要であることを知らせるための報知動作を実行する。
In the ACT 84, the processor 11 generates a serviceman notification. However, the serviceman notification generated in the ACT 84 is transmitted to notify the serviceman that the software installed in the client device 20 needs to be updated. Further, the serviceman notification generated in the ACT 84 includes update instruction information. After generating the serviceman notification, the processor 11 instructs the communication interface 15 to transmit the serviceman notification to the terminal device 30. In response to this transmission instruction, the communication interface 15 transmits the serviceman notification to the terminal device 30. The transmitted serviceman notification is received by the communication interface 35 of the terminal device 30. The processor 11 returns to the ACT 81 after processing the ACT 84.
On the other hand, the terminal device 30 that has received the serviceman notification here performs the same processing as the ACT 72 of FIG. 7 of the second embodiment. However, here, the processor 31 of the terminal device 30 executes a notification operation for notifying the serviceman that the software installed in the client device 20 needs to be updated.

第3実施形態のアップデートシステム1bによれば、サーバー装置10は、脆弱性の深刻度が所定より低い場合には定期アップデートを中止する。これにより、サーバー装置10は、クライアント装置20の使用を必要以上に妨げない。 According to the update system 1b of the third embodiment, the server device 10 cancels the periodic update when the severity of the vulnerability is lower than the predetermined value. As a result, the server device 10 does not interfere with the use of the client device 20 more than necessary.

上記の第1実施形態〜第3実施形態は以下のような変形も可能である。
第1実施形態及び第2実施形態では、アップデートシステム1は、クライアント装置20のOSの起動時に、ソフトウェア情報の送信、修復処理及び更新処理などの処理を行った。しかしながら、アップデートシステム1は、クライアント装置20のアプリケーションソフトウェアの起動時に、同様の処理を行っても良い。
The above-mentioned first to third embodiments can be modified as follows.
In the first embodiment and the second embodiment, the update system 1 performs processing such as transmission of software information, repair processing, and update processing when the OS of the client device 20 is started. However, the update system 1 may perform the same processing when the application software of the client device 20 is started.

第1実施形態及び第2実施形態では、サーバー装置10のプロセッサー11は、ハッシュ値を用いて対象ソフトウェアの整合性チェックを行った。しかしながら、プロセッサー11は、ハッシュ値に限らず、例えば、対象ソフトウェアのファイルサイズ、作成日時、更新日時、チェックサム、ハッシュ値若しくは対象ソフトウェアの特徴を示すその他の特徴情報又はこれらのうちの複数を用いて整合性チェックを行っても良い。そして、プロセッサー11は、整合性チェックにおいて特徴情報が同一でない場合にデータに誤りを検出したと判定する。 In the first embodiment and the second embodiment, the processor 11 of the server device 10 performed the consistency check of the target software using the hash value. However, the processor 11 is not limited to the hash value, and uses, for example, the file size of the target software, the creation date and time, the modification date and time, the checksum, the hash value, other feature information indicating the characteristics of the target software, or a plurality of these. You may perform a consistency check. Then, the processor 11 determines that an error has been detected in the data when the feature information is not the same in the consistency check.

ソフトウェアDBは、ハッシュ値を記憶していなくても良い。この場合、プロセッサー11は、ハッシュ値を、真正であることが確かなソフトウェアのデータから算出する。 The software DB does not have to store the hash value. In this case, the processor 11 calculates the hash value from software data that is certain to be genuine.

第2実施形態及び第3実施形態では、通知情報は、アップデート及び修復に必要なデータを含む。しかしながら、実施形態のアップデートシステムは、サービスマンが別途サーバー装置10からアップデート及び修復に必要なデータを取得するような形態であっても良い。 In the second and third embodiments, the notification information includes data necessary for updating and repairing. However, the update system of the embodiment may be in a form in which a serviceman separately acquires data necessary for updating and repairing from the server device 10.

プロセッサー11、プロセッサー21及びプロセッサー31は、上記実施形態においてプログラムによって実現する処理の一部又は全部を、回路のハードウェア構成によって実現するものであっても良い。 The processor 11, the processor 21, and the processor 31 may realize a part or all of the processing realized by the program in the above embodiment by the hardware configuration of the circuit.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.

1,1b……アップデートシステム、10……サーバー装置、11,21,31……プロセッサー、12,22,32……ROM、13,23,33……RAM、14,24,34……補助記憶デバイス、15,25,35……通信インターフェース、16,28,37……バス、20……クライアント装置、26……表示デバイス、27……入力デバイス、30……端末装置、36……タッチパネル、141……ソフトウェアDB 1,1b ... Update system, 10 ... Server device, 11,21,31 ... Processor, 12,22,32 ... ROM, 13,23,33 ... RAM, 14,24,34 ... Auxiliary storage Device, 15, 25, 35 ... Communication interface, 16, 28, 37 ... Bus, 20 ... Client device, 26 ... Display device, 27 ... Input device, 30 ... Terminal device, 36 ... Touch panel, 141 …… Software DB

Claims (6)

クライアント装置にインストールされているソフトウェアのバージョンを取得する取得部と、
前記ソフトウェアの前記バージョンの脆弱性の深刻度を示す評価値を求め、前記評価値に基づき前記ソフトウェアをアップデートするか否かを決定する処理部と、
前記ソフトウェアをアップデートしないと決定された場合、前記クライアント装置に前記ソフトウェアのアップデート指示を行わず、前記ソフトウェアをアップデートすると決定された場合、前記アップデート指示を行う指示部と、を備えるサーバー装置。
An acquisition unit that acquires the version of the software installed on the client device,
A processing unit that obtains an evaluation value indicating the severity of the vulnerability of the version of the software and determines whether or not to update the software based on the evaluation value.
A server device including an instruction unit that does not instruct the client device to update the software when it is determined not to update the software, and gives an instruction to update the software when it is determined to update the software.
前記取得部は、前記ソフトウェアの特徴を示す特徴情報を取得し、
前記処理部は、前記特徴情報を用いて前記ソフトウェアのデータの誤りを検出し、
前記指示部は、前記データに誤りが検出された場合、前記ソフトウェアを修復するように前記クライアント装置に指示する、請求項1に記載のサーバー装置。
The acquisition unit acquires feature information indicating the features of the software, and obtains the feature information.
The processing unit detects an error in the data of the software using the feature information, and detects an error in the data of the software.
The server device according to claim 1, wherein the instruction unit instructs the client device to repair the software when an error is detected in the data.
前記処理部は、前記ソフトウェアのアップデートにかかる時間を求め、前記評価値及び前記時間に基づき前記ソフトウェアをアップデートするか否かを決定する、請求項1又は請求項2に記載のサーバー装置。 The server device according to claim 1 or 2, wherein the processing unit determines the time required for updating the software, and determines whether or not to update the software based on the evaluation value and the time. 前記処理部は、前記評価値が閾値未満である場合、前記ソフトウェアをアップデートしないと決定する、請求項1乃至請求項3のいずれか1項に記載のサーバー装置。 The server device according to any one of claims 1 to 3, wherein the processing unit determines that the software is not updated when the evaluation value is less than the threshold value. クライアント装置にインストールされているソフトウェアのバージョンを取得する取得部と、
前記ソフトウェアの前記バージョンの脆弱性の深刻度を示す評価値を求め、前記評価値に基づき前記ソフトウェアをアップデートするか否かを決定する処理部と、
前記ソフトウェアをアップデートすると決定された場合、前記ソフトウェアをアップデートするように指示する情報をサービスマンが使用する端末装置に送信する送信部と、を備えるサーバー装置。
An acquisition unit that acquires the version of the software installed on the client device,
A processing unit that obtains an evaluation value indicating the severity of the vulnerability of the version of the software and determines whether or not to update the software based on the evaluation value.
A server device comprising a transmitter that, when determined to update the software, transmits information instructing the serviceman to update the software to a terminal device used by a serviceman.
サーバー装置が備えるプロセッサーを、
クライアント装置にインストールされているソフトウェアのバージョンを取得する取得部と、
前記ソフトウェアの前記バージョンの脆弱性の深刻度を示す評価値を求め、前記評価値に基づき前記ソフトウェアをアップデートするか否かを決定する処理部と、
前記ソフトウェアをアップデートしないと決定された場合、前記クライアント装置に前記ソフトウェアのアップデート指示を行わず、前記ソフトウェアをアップデートすると決定された場合、前記アップデート指示を行う指示部と、して機能させるためのプログラム。
The processor of the server device,
An acquisition unit that acquires the version of the software installed on the client device,
A processing unit that obtains an evaluation value indicating the severity of the vulnerability of the version of the software and determines whether or not to update the software based on the evaluation value.
When it is decided not to update the software, the client device is not instructed to update the software, and when it is decided to update the software, a program for functioning as an instruction unit for instructing the update. ..
JP2019167152A 2019-09-13 2019-09-13 Server equipment and programs Active JP7346187B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019167152A JP7346187B2 (en) 2019-09-13 2019-09-13 Server equipment and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019167152A JP7346187B2 (en) 2019-09-13 2019-09-13 Server equipment and programs

Publications (2)

Publication Number Publication Date
JP2021043863A true JP2021043863A (en) 2021-03-18
JP7346187B2 JP7346187B2 (en) 2023-09-19

Family

ID=74861696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019167152A Active JP7346187B2 (en) 2019-09-13 2019-09-13 Server equipment and programs

Country Status (1)

Country Link
JP (1) JP7346187B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003087424A (en) * 2001-09-07 2003-03-20 Nobuyoshi Sakatani Internet access server, initial setting server, host server, and remote management system for internet access server
JPWO2005088452A1 (en) * 2004-03-16 2008-01-31 松下電器産業株式会社 Terminal apparatus and updating method for updating computer program
JP2015079440A (en) * 2013-10-18 2015-04-23 富士通株式会社 Correction program confirmation method, correction program confirmation program, and information processing apparatus
JP2019057133A (en) * 2017-09-21 2019-04-11 富士ゼロックス株式会社 Image processing device and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005088452A (en) 2003-09-18 2005-04-07 Dainippon Printing Co Ltd Gas barrier film and laminate using it

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003087424A (en) * 2001-09-07 2003-03-20 Nobuyoshi Sakatani Internet access server, initial setting server, host server, and remote management system for internet access server
JPWO2005088452A1 (en) * 2004-03-16 2008-01-31 松下電器産業株式会社 Terminal apparatus and updating method for updating computer program
JP2015079440A (en) * 2013-10-18 2015-04-23 富士通株式会社 Correction program confirmation method, correction program confirmation program, and information processing apparatus
JP2019057133A (en) * 2017-09-21 2019-04-11 富士ゼロックス株式会社 Image processing device and program

Also Published As

Publication number Publication date
JP7346187B2 (en) 2023-09-19

Similar Documents

Publication Publication Date Title
CN109684849B (en) Information processing apparatus, control method therefor, and storage medium
JP6873811B2 (en) Information processing device
KR20150048136A (en) Secure firmware updates
US20140082747A1 (en) Information processing system, operating device, and program
JP5500999B2 (en) Information processing apparatus, control method thereof, and program
JP2010003235A (en) Secure boot with optional component method
JP2009187420A (en) Information processing system, server device, user management device, information method, and program
US10055174B2 (en) Information processing apparatus, method, and storage medium storing program
US11330133B2 (en) Electronic apparatus and method for controlling display of a notification screen
US20140372997A1 (en) Computer-readable non-transitory recording medium having software update program recorded thereon, and software update apparatus
JP2010152749A (en) Resource distribution system
CN107615293B (en) Platform management method and apparatus including expiration detection
JP2012159999A (en) Electronic apparatus, communication control method and communication control system
JP6829168B2 (en) Information processing equipment, information processing methods and programs
JP2011186823A (en) Virus-checking system, virus-checking device and program
US20130055230A1 (en) Method and apparatus to install software automatically
JP7346187B2 (en) Server equipment and programs
JP2021114173A (en) Information processing apparatus, processing method thereof, and program
JP2019160133A (en) Information processing device, information processing system, and method
CN111158771B (en) Processing method and device and computer equipment
US11023216B2 (en) Storage medium, information processing apparatus, and control method
JP2021174418A (en) Program, program set, and information processing apparatus
JP7320415B2 (en) Processing device and start-up method
JP2014099082A (en) Information processing system, information processing device, information processing program, application execution method and storage medium
JP2020052597A (en) Information processing apparatus, control method thereof, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220819

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230906

R150 Certificate of patent or registration of utility model

Ref document number: 7346187

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150