JP6021609B2 - Information processing apparatus, method and program - Google Patents

Information processing apparatus, method and program Download PDF

Info

Publication number
JP6021609B2
JP6021609B2 JP2012255115A JP2012255115A JP6021609B2 JP 6021609 B2 JP6021609 B2 JP 6021609B2 JP 2012255115 A JP2012255115 A JP 2012255115A JP 2012255115 A JP2012255115 A JP 2012255115A JP 6021609 B2 JP6021609 B2 JP 6021609B2
Authority
JP
Japan
Prior art keywords
function
update
software
file
base
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.)
Active
Application number
JP2012255115A
Other languages
Japanese (ja)
Other versions
JP2014102732A (en
Inventor
中澤 紀之
紀之 中澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012255115A priority Critical patent/JP6021609B2/en
Publication of JP2014102732A publication Critical patent/JP2014102732A/en
Application granted granted Critical
Publication of JP6021609B2 publication Critical patent/JP6021609B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

本発明はソフトウェアをアップデートする方法に関する。   The present invention relates to a method for updating software.

従来のソフトウェアのアップデート方法には、特定のバージョンから、それよりも新しい別のバージョンまでに行われてきたバージョンアップを情報処理装置内で順次適用していくことで実現するものがあった。或いは、アップデート用のソフトウェアに、新しいバージョンに更新するために必要なファイルの一覧とその必要なファイルの実体を含め、情報処理装置において、該必要なファイルをコピーした後に、その一覧に存在しないファイルを削除するものがある。(例えば、特許文献1参照)   Some conventional software update methods are realized by sequentially applying upgrades from a specific version to another version later than that in the information processing apparatus. Alternatively, a file that does not exist in the list after copying the necessary file in the information processing apparatus, including a list of files necessary for updating to the new version and the substance of the necessary file in the software for update. There is something to delete. (For example, see Patent Document 1)

特願2002−574065号公報Japanese Patent Application No. 2002-574065

上記した新しいバージョンまでに行われてきたバージョンアップを順次適用する従来例では、ソフトウェアを最新のバージョンにアップデートするに際し、各バージョンにおいて次に更新可能なバージョンを管理する必要がある。このバージョン管理は、アップデート用のソフトウェアを提供する提供者にとって負荷となっている。また、最新バージョンのソフトウェアにバージョンアップする際には、現在のソフトウェアのバージョンが古い程、アップデート処理に時間を要するという問題がある。   In the conventional example in which the version upgrades performed up to the new version are sequentially applied, when the software is updated to the latest version, it is necessary to manage the version that can be updated next in each version. This version control is a burden for a provider who provides software for update. In addition, when upgrading to the latest software version, there is a problem that the older the current software version is, the longer the update process takes.

上記した従来例の何れにおいても、プラグイン等によりソフトウェアに個別に機能拡張されていた場合には、更新するためには不要なファイルであるが、該機能拡張には必要なファイルが存在する場合、このようなファイルが削除されてしまうという可能性がある。   In any of the conventional examples described above, when the function is individually expanded in the software by a plug-in or the like, it is an unnecessary file for updating, but the file necessary for the function expansion exists. There is a possibility that such files will be deleted.

上記課題を解決するために、本発明における情報処理装置は、ソフトウェアの基本機能を提供するベース部に含まれるアップデート処理部による機能により、当該ソフトウェアの最新バージョンの情報をサーバから取得する第1の取得手段と、前記アップデート処理部の機能により、前記ソフトウェアの現在のバージョンと、前記取得された最新のバージョンとを比較する比較手段と、前記アップデート処理部の機能により、前記比較の結果、前記ソフトウェアの現在のバージョンが最新ではない場合に、当該ソフトウェアをアップデートするためのアップデートパッケージを取得する第2の取得手段と、前記アップデート処理部の機能により、前記ベース部の更新ファイルが前記取得されたアップデートパッケージに含まれる場合に、前記ベース部を更新するためのベースアップデータ部を起動する起動手段と、前記ベースアップデータ部の機能により、前記ベース部を停止させる停止手段と、前記ベースアップデータ部の機能により、前記ソフトウェアがインストールされたディレクトリに対して前記ベース部の更新ファイルをコピーする制御を行う第1の制御手段と、を有し、前記第1の制御手段は、前記コピーした更新ファイルの中で、ファイルの属性に従い削除対象であると特定される更新ファイルを前記ディレクトリから削除することを特徴とする。   In order to solve the above-described problem, the information processing apparatus according to the present invention obtains the latest version information of the software from the server by the function of the update processing unit included in the base unit that provides the basic function of the software. A comparison unit that compares the current version of the software with the acquired latest version by the function of the acquisition unit and the update processing unit; and the result of the comparison by the function of the update processing unit; When the current version of the update is not the latest, a second acquisition unit that acquires an update package for updating the software, and the update processing unit functions to update the acquired update file of the base unit. If included in the package, The software is installed by the starting means for starting the base updater section for updating the source section, the stopping means for stopping the base section by the function of the base updater section, and the function of the base updater section. First control means for performing control to copy the update file of the base unit to the directory, wherein the first control means is a deletion target according to the attribute of the file among the copied update files. The update file identified as being is deleted from the directory.

本発明によれば、複数のバージョンアップを繰り返すソフトウェアに関して、提供側で簡単にアップデートパッケージを作成できるようになる。   According to the present invention, it is possible to easily create an update package on the providing side for software that repeats a plurality of version upgrades.

本発明が適用されるシステムの構成例を示す図The figure which shows the structural example of the system to which this invention is applied. 情報処理装置のハードウェア構成の例を示すブロック図Block diagram showing an example of a hardware configuration of an information processing apparatus ソフトウェアのモジュール構成の例を示す図Diagram showing an example of the software module configuration アップデート処理部304及びベースアップデータ303によるアップデート処理の全体の流れを説明するためのフローチャートを示す図The figure which shows the flowchart for demonstrating the whole flow of the update process by the update process part 304 and the base updater 303 アップデートパッケージに含まれるディレクトリ及びファイルの構成の例Example of directory and file structure included in update package アップデート処理に際のファイルのコピー処理の詳細を説明するためのフローチャートを示す図であるIt is a figure which shows the flowchart for demonstrating the detail of the copy process of the file in the case of an update process サーバにおける顧客に対して追加機能を選択するための画面の例を示す図The figure which shows the example of the screen for selecting the additional function for the customer in the server

以下、本発明を実施するための最良の形態について図面を用いて説明する。   The best mode for carrying out the present invention will be described below with reference to the drawings.

図1は、本実施形態におけるネットワークシステムの構成例を示している。同図に於いて、102は、アップデート対象であるソフトウェア(本実施例では、ネットワークデバイス管理のためのクライアントソフトウェア)が稼働する情報処理装置(ホストコンピュータ)である。103は、アップデート対象のソフトウェアの最新バージョンの情報と、アップデートに必要なファイルを保持、送信するサーバである。本図では、バージョン情報の管理する機能と、アップデートに必要なファイルの保持、送信する機能とを1つのサーバ103が提供しているが、異なる複数のサーバで分散してこれら機能を提供することも可能である。サーバ104は、ネットワークデバイス管理のためのサーバソフトウェアが動作する情報処理装置である。サーバ103及びサーバ104は、インターネット101に接続されている。   FIG. 1 shows a configuration example of a network system in the present embodiment. In the figure, reference numeral 102 denotes an information processing apparatus (host computer) on which software to be updated (in this embodiment, client software for network device management) runs. Reference numeral 103 denotes a server that holds and transmits information on the latest version of software to be updated and files necessary for the update. In this figure, the function for managing version information and the function for holding and transmitting the files necessary for updating are provided by one server 103, but these functions should be distributed and provided by different servers. Is also possible. The server 104 is an information processing apparatus on which server software for network device management operates. The server 103 and the server 104 are connected to the Internet 101.

ネットワーク106は、前述のサーバソフトウェアの管理対象として登録されているネットワークデバイスが設置される顧客内のネットワークである。ネットワーク106は、ルータ105を介してインターネット101に接続されている。ここで、ルータ105はファイアウォール機能を有することもある。107、108、109は、ネットワーク106に接続された、管理対象のネットワークデバイスである。これらネットワークデバイスは、クライアントソフトウェアが動作するクライアント102とネットワーク106を介して通信する。ネットワークデバイスとしては、例えば、プリンタ装置、デジタル複合機、スキャナなどの周辺機器や、デジタルカメラ、スマートフォンなどの電子機器が挙げられる。   The network 106 is a network within a customer where a network device registered as a management target of the server software is installed. The network 106 is connected to the Internet 101 via the router 105. Here, the router 105 may have a firewall function. Reference numerals 107, 108, and 109 denote network devices to be managed that are connected to the network 106. These network devices communicate via a network 106 with a client 102 running client software. Examples of the network device include peripheral devices such as a printer device, a digital multifunction peripheral, and a scanner, and electronic devices such as a digital camera and a smartphone.

クライアント102は、クライアントソフトウェアの機能として、サーバソフトウェアからの指示に従い、デバイスに対して管理操作を実施して、その結果をサーバソフトウェアに送信する。管理操作の一例としては、ネットワークデバイスの稼働情報の収集処理や、ネットワークデバイスに対する動作設定値の設定処理などが含まれる。稼働情報には、エラー情報や各種ログ情報や動作カウンタ情報などが含まれる。稼働情報は、ネットワークデバイスの稼働状態やユーザによる使われ方の分析、エラー発生時の管理者などへの通知のために利用される。また、サーバ104は、サーバソフトウェアの機能として、複数の顧客のネットワーク内のクライアントソフトウェアが動作するクライアントと通信を行うことにより、複数の顧客のネットワークに設置されたネットワークデバイスを管理する。   As a function of the client software, the client 102 performs a management operation on the device in accordance with an instruction from the server software, and transmits the result to the server software. Examples of management operations include operation information collection processing for network devices, operation setting value setting processing for network devices, and the like. The operation information includes error information, various log information, operation counter information, and the like. The operation information is used for analyzing the operation status of the network device and how it is used by the user, and for notifying the administrator when an error occurs. Further, the server 104 manages network devices installed in a plurality of customer networks by communicating with a client in which client software in a plurality of customer networks operates as a function of the server software.

図2は、クライアント102、サーバ103及びサーバ104といった情報処理装置のハードウェア構成を示すブロック図である。同図において、情報処理装置201は、CPU202、RAM203、ROM204、外部記憶装置209を備える。CPU202は、ROM204や外部記憶装置209に記憶された、或いはLAN213よりダウンロードしたソフトウェアを実行し、システムバス211に接続された各デバイスを総括的に制御する。このソフトウェアとしては、前述されたサーバソフトウェアやクライアントソフトウェアなどがある。RAM203は、CPU202の主メモリあるいはワークエリアなどとして機能する。外部記憶装置209は、ハードディスク(HD)、フラッシュメモリ等からなる。外部記憶装置209は、ブートプログラム、オペレーティングシステム、データベースサーバ、WEBサーバ、WEBブラウザを含む各種のアプリケーション、データベースデータ、ユーザファイル等を記憶する。さらに情報処理装置201において、206はキーボードコントローラ(KBDC)であり、キーボード(KBD)205や図示しないポインティングデバイスからの入力情報をCPU202に送る。208はビデオコントローラ(VC)であり、CRTやLDC等からなる表示装置207の表示を制御する。210はディスクコントローラ(DKC)であり、外部記憶装置209とのアクセスを制御する212は通信コントローラ(COMM I/F)であり、これを介してネットワークに接続される。   FIG. 2 is a block diagram illustrating a hardware configuration of an information processing apparatus such as the client 102, the server 103, and the server 104. In FIG. 1, the information processing apparatus 201 includes a CPU 202, a RAM 203, a ROM 204, and an external storage device 209. The CPU 202 executes software stored in the ROM 204 or the external storage device 209 or downloaded from the LAN 213, and comprehensively controls each device connected to the system bus 211. Examples of this software include the server software and client software described above. The RAM 203 functions as a main memory or a work area for the CPU 202. The external storage device 209 includes a hard disk (HD), a flash memory, and the like. The external storage device 209 stores a boot program, an operating system, a database server, a WEB server, various applications including a WEB browser, database data, user files, and the like. Further, in the information processing apparatus 201, reference numeral 206 denotes a keyboard controller (KBDC), which sends input information from a keyboard (KBD) 205 or a pointing device (not shown) to the CPU 202. Reference numeral 208 denotes a video controller (VC), which controls display on the display device 207 made up of CRT, LDC, or the like. Reference numeral 210 denotes a disk controller (DKC), and 212, which controls access to the external storage device 209, is a communication controller (COMM I / F), which is connected to the network.

図3は、クライアント102内で動作するクライアントソフトウェア301を構成するモジュールを機能単位であらわした模式図の例である。   FIG. 3 is an example of a schematic diagram showing modules constituting the client software 301 operating in the client 102 in units of functions.

クライアントソフトウェア301は、ベース302とベースアップデータ303により構成され、これらはそれぞれ別のプログラムとして動作する。また、本図では、ベース302で提供される機能を拡張する機能拡張モジュールがクライアントソフトウェア301に含まれている場合の例を示している。   The client software 301 includes a base 302 and base update data 303, which operate as different programs. In addition, this figure shows an example in which the client software 301 includes a function expansion module that extends the function provided by the base 302.

ここで、ベース302は、クライアントソフトウェア301の主機能を提供するための主プログラムである。とくに、ベース302は、アップデート処理の制御を行うアップデート処理部304と、クライアントソフトウェア301によるネットワークデバイスの管理のための基本機能を提供する基本機能提供部305とから構成される。ここで、基本機能とは、ネットワークデバイスのネットワーク探索を行う機能、管理対象のネットワークデバイスの識別情報やネットワーク情報を管理する機能や、ネットワークデバイスから稼働情報を収集する機能などが挙げられる。   Here, the base 302 is a main program for providing the main function of the client software 301. In particular, the base 302 includes an update processing unit 304 that controls update processing, and a basic function providing unit 305 that provides basic functions for managing network devices by the client software 301. Here, the basic function includes a function for searching a network for a network device, a function for managing identification information and network information of a network device to be managed, a function for collecting operation information from the network device, and the like.

ベースアップデータ303は、ベース302のバージョンアップを行うための専用のプログラムである。ここで、プログラムの動作中は、そのプログラムと、プログラムが依存するライブラリ等のファイルを更新することは出来ないものとする。従って、ベースアップデータ303は、動作が停止しているベース302の更新処理を実行する。   The base updater 303 is a dedicated program for upgrading the base 302. Here, it is assumed that during the operation of the program, the program and files such as libraries on which the program depends cannot be updated. Therefore, the base updater 303 executes the update process of the base 302 whose operation is stopped.

動作中の基本機能提供部305は、定期的にアップデート処理部304を呼び出し、必要に応じてクライアントソフトウェア301のアップデートを行う。アップデートは、最新のバージョンのベースプログラムが見つかった場合や、ユーザにより更新指示が検出された場合などである。   The operating basic function providing unit 305 periodically calls the update processing unit 304 and updates the client software 301 as necessary. The update is performed when the latest version of the base program is found or when an update instruction is detected by the user.

アップデート処理部304は、新しいバージョンのベースプログラムの確認とそのダウンロードを行う。また、アップデート処理部304は、ベースアップデータ303を起動し、アップデート処理を行わせる。ベースアップデータ303は、アップデート処理部304により起動され、ベース302のアップデート処理を行う。   The update processing unit 304 confirms and downloads a new version of the base program. In addition, the update processing unit 304 activates the base update data 303 to perform update processing. The base updater 303 is activated by the update processing unit 304 and performs update processing of the base 302.

機能拡張モジュール306、307は、ベース302の機能を拡張するために、後から追加されたベース302と同じプロセス内で動作するプログラムモジュールである。本実施例では、これらの機能拡張モジュールをベースアップデータ303が実行するアップデート処理の対象とはしない例を説明する。   The function expansion modules 306 and 307 are program modules that operate in the same process as the base 302 added later in order to expand the functions of the base 302. In the present embodiment, an example will be described in which these function expansion modules are not targeted for update processing executed by the base updater 303.

ここで、拡張機能モジュールが提供する機能としては、ネットワークデバイスの保守などを目的とした稼働情報の取得処理が含まれる。稼働情報としては、例えば、ネットワークデバイスがプリンタの場合、装置稼働中に排紙が行われた総枚数を示すカウンタ情報や装置内の部品の使用回数を示すパーツカウンタ情報などが挙げられる。別の機能拡張としては、ネットワークデバイスの設定値を、サーバソフトウェアからの指示に従って変更する設定変更機能、設定値のバックアップ機能などが挙げられる。   Here, the function provided by the extended function module includes operation information acquisition processing for the purpose of network device maintenance and the like. As the operation information, for example, when the network device is a printer, there are counter information indicating the total number of sheets discharged while the apparatus is operating, and part counter information indicating the number of times the parts in the apparatus are used. Other function extensions include a setting change function for changing the setting value of the network device in accordance with an instruction from the server software, a setting value backup function, and the like.

図7は、サーバ104で動作するサーバソフトウェアの機能として表示される、各顧客で提供すべきサービス(追加機能)を選択するための画面の例である。ここで選択されたサービスに応じて、必要に応じて顧客側のクライアント102に対して、拡張機能モジュールが追加されることになる。   FIG. 7 is an example of a screen for selecting a service (additional function) to be provided by each customer, which is displayed as a function of server software operating on the server 104. In accordance with the service selected here, an extended function module is added to the client 102 on the customer side as necessary.

本図に於いて、701は、顧客情報を示す。702は、対象顧客に追加可能なサービスを選択するためのチェックボックス付きのリストをしめす。703は、リスト702でチェックされたサービスを保存するためのボタンである。保存された該顧客のサービスに対応する追加機能の一覧は、サーバ104内のデータベース等に保管される。サーバソフトウェアは、クライアントソフトウェア301の基本機能提供部305からの追加機能の一覧の取得要求に対して、該保管された追加機能の一覧を返す。基本機能提供部305は、既に追加されている機能拡張モジュールを調べ、取得した追加機能一覧に対応する機能拡張モジュールが存在しない場合、サーバ103に対して必要な機能拡張モジュールを含むファイルを要求する。ここで、サーバ103は、当該要求の応答として、機能拡張モジュールを含むファイルをクライアント102に対して送信するものとする。基本機能提供部305は、取得した機能拡張モジュールを含むファイルから、機能拡張モジュールを取り出し、これをクライアントソフトゥエア301に追加インストールする。   In the figure, reference numeral 701 denotes customer information. Reference numeral 702 denotes a list with check boxes for selecting services that can be added to the target customer. Reference numeral 703 denotes a button for saving the service checked in the list 702. A list of additional functions corresponding to the stored customer service is stored in a database or the like in the server 104. In response to the request for acquiring the list of additional functions from the basic function providing unit 305 of the client software 301, the server software returns the list of stored additional functions. The basic function providing unit 305 checks the function expansion module that has already been added, and if there is no function expansion module corresponding to the acquired additional function list, requests the server 103 for a file including the necessary function expansion module. . Here, it is assumed that the server 103 transmits a file including the function expansion module to the client 102 as a response to the request. The basic function providing unit 305 extracts the function expansion module from the acquired file including the function expansion module, and additionally installs it in the client software 301.

図4は、アップデート処理部304及びベースアップデータ303によるアップデート処理の全体の流れを説明するためのフローチャートを示す図である。   FIG. 4 is a flowchart for explaining the overall flow of update processing by the update processing unit 304 and the base update data 303.

まず、S401にて、アップデート処理部304は、サーバ103に対してクライアントソフトウェア301の最新のバージョン番号を問い合わせ、これを取得する。次に、S402にて、アップデート処理部304は、動作中のクライアントソフトウェア301のバージョン番号とS401で取得した最新のバージョン番号との比較を行う。バージョン番号は、例えば、1.0.2.103のように、ドットで区切られた数値列で表現される。本実施例では、より上位の数値を比較しこれが異なっていれば、数値の大きい方のバージョン番号が大きいとする。上位の数値が等しい場合は、下位の数値同士の比較により行われる。下位の数値が存在しない場合は、比較は、0指定されているとみなして行われる。例えば、1.0.2.102は、1.0.1.5や1.0.2.99や1.0.2よりもバージョン番号が大きく、1.0.3.5や2.0.0.3よりもバージョン番号が小さい。S403にて、比較の結果、動作中のクライアントソフトウェア301が最新のバージョンであった場合には、アップデート処理部304は、本処理を終了する。一方で、最新のバージョンでなかった場合には、アップデート処理部304は、S404に進む。   First, in step S401, the update processing unit 304 inquires of the server 103 about the latest version number of the client software 301 and acquires it. In step S <b> 402, the update processing unit 304 compares the version number of the operating client software 301 with the latest version number acquired in step S <b> 401. The version number is expressed by a numerical string delimited by dots, for example, 1.0.2.103. In this embodiment, if the higher numerical values are compared and different, it is assumed that the version number with the larger numerical value is larger. When the upper numerical values are equal, the lower numerical values are compared. If there is no lower numerical value, the comparison is performed assuming that 0 is specified. For example, 1.0.102 has a larger version number than 1.0.1.5, 1.0.2.99, and 1.0.2, and 1.0.3.5 and 2.0. The version number is smaller than 0.3. If it is determined in step S403 that the client software 301 being operated is the latest version, the update processing unit 304 ends this processing. On the other hand, if it is not the latest version, the update processing unit 304 proceeds to S404.

S404にて、アップデート処理部304は、サーバ104から最新バージョンのソフトウェアにアップデートするためのファイルなどを含むアップデートパッケージをダウンロードする。アップデートパッケージは、複数のファイルやディレクトリ構造を圧縮して1つのファイルに結合したものである。   In step S404, the update processing unit 304 downloads an update package including a file for updating to the latest version of software from the server 104. The update package is a combination of a plurality of files and directory structures compressed into a single file.

図5は、アップデートパッケージに含まれるディレクトリ及びファイルの構成の例である。アップデートパッケージは、アップデートパッケージに関する情報を記載したXMLファイル501(UpdatePackage.xml)を含む。更にアップデートパッケージは、ベース302の更新に必要なファイル群を含むディレクトリ「base」502と、ベースアップデータの更新に必要なファイル群を含むディレクトリ「baseupdator」503とを含む。アップデートパッケージ内の各ディレクトリ以下のファイルおよびディレクトリの構成は、クライアントソフトウェア301がイントールされているクライアント102内のファイルおよびディレクトリの構成に準拠している。   FIG. 5 is an example of the structure of directories and files included in the update package. The update package includes an XML file 501 (UpdatePackage.xml) that describes information about the update package. Further, the update package includes a directory “base” 502 including a file group necessary for updating the base 302 and a directory “baseupdata” 503 including a file group necessary for updating the base update data. The configuration of files and directories under each directory in the update package is compliant with the configuration of files and directories in the client 102 in which the client software 301 is installed.

アップデートパッケージには、クライアントソフトウェアの最初のバージョンから最新のバージョンまでに用いたすべてのファイルが含まれる。具体的には、クライアントソフトウェアの最初のバージョンから変更があったファイル、或いはクライアントソフトウェアの最新のバージョンに必要な全ファイルをパッケージに含める。クライアントソフトウェアの最新のバージョンにおいて、不要となったファイルであってもアップデートパッケージに含められる。ただし、最新のバージョンのクライアントソフトウェアで利用されないファイルに関しては、後述する図6のコピー処理において削除対象と判定されるような情報を含んでいる。削除対象と判定されるような情報としては、ファイルのサイズ属性がゼロであるといった例が挙げられる。削除対象と判定されるような情報のそのほかの例や、コピー処理自体の説明は、図6を用いて後述する。   The update package contains all the files used from the first version to the latest version of the client software. Specifically, the files that have changed since the first version of the client software or all files necessary for the latest version of the client software are included in the package. In the latest version of client software, even files that are no longer needed are included in the update package. However, a file that is not used by the latest version of the client software includes information that is determined as a deletion target in the copy process of FIG. 6 to be described later. An example of information that is determined to be a deletion target is that the file size attribute is zero. Other examples of information that is determined as a deletion target and description of the copy process itself will be described later with reference to FIG.

S405にて、アップデート処理部304は、ダウンロードしたアップデートパッケージをクライアント102内の一時ディレクトリに展開する。次に、S406にて、アップデート処理部304は、展開したアップデートパッケージ内にベースアップデータ303の更新ファイルが含まれているかを検査する。具体的には、アップデート処理部304は、アップデートパッケージ内にディレクトリ「baseupdator」503が存在し、且つそのディレクトリ内にファイルが存在するかを検査する。ここでは、ディレクトリが存在し、且つディレクトリ内にファイルが存在する場合、アップデート処理部304はベースアップデータ303の更新ファイルが存在すると判断する。S407にて、ベースアップデータ303の更新ファイルが存在しない場合にはS409に遷移し、存在する場合にはS408に遷移する。   In step S <b> 405, the update processing unit 304 expands the downloaded update package in a temporary directory in the client 102. Next, in S406, the update processing unit 304 checks whether an update file of the base updater 303 is included in the expanded update package. Specifically, the update processing unit 304 checks whether a directory “baseupdata” 503 exists in the update package and whether a file exists in the directory. Here, when the directory exists and the file exists in the directory, the update processing unit 304 determines that the update file of the base update data 303 exists. In S407, when the update file of the base update data 303 does not exist, the process proceeds to S409, and when it exists, the process proceeds to S408.

S408にて、アップデート処理部304は、一時ディレクトリに展開されたアップデートパッケージ内のベースアップデータ部分の更新ファイルを、クライアントソフトウェア301がインストールされたクライアント102のディレクトリにコピーする。ここでのファイルのコピー処理は、不要なファイルの削除を含むコピー処理であり、その詳細は、図6を用いて後述する。   In step S408, the update processing unit 304 copies the update file of the base updater portion in the update package expanded in the temporary directory to the directory of the client 102 in which the client software 301 is installed. The file copy processing here is copy processing including deletion of unnecessary files, and details thereof will be described later with reference to FIG.

S409にて、アップデート処理部304は、アップデートパッケージ内にベース302の更新ファイルが含まれるかを検査する。具体的には、アップデート処理部304は、ディレクトリ「base」502と、そのディレクトリ内のファイルの有無を検査する。S410にて、アップデートパッケージ内にベース302の更新ファイルが含まれていない場合には、アップデート処理部304は、本処理を終了する。また、アップデートパッケージ内にベース302の更新ファイルが存在する場合には、S411に遷移する。S411にて、アップデート処理部304は、ベースアップデータ303を起動する。   In step S409, the update processing unit 304 checks whether an update file for the base 302 is included in the update package. Specifically, the update processing unit 304 checks the directory “base” 502 and the presence / absence of files in the directory. If the update file of the base 302 is not included in the update package in S410, the update processing unit 304 ends this process. If an update file of the base 302 exists in the update package, the process proceeds to S411. In step S411, the update processing unit 304 activates the base updater 303.

S412にて、アップデート処理部304により起動されたベースアップデータ303は、ベース302のプログラムとプログラムが依存するファイルを更新するため、ベース302のプログラムを停止する。この際には、当然ながらアップデート処理部304もその処理を終了し、停止されることになる。   In step S412, the base updater 303 activated by the update processing unit 304 stops the program of the base 302 in order to update the program of the base 302 and the file on which the program depends. In this case, of course, the update processing unit 304 also ends the processing and stops.

次に、S413にて、ベースアップデータ303は、S405で展開しアップデートパッケージ内のベース302の更新ファイルを、クライアントソフトウェア301がインストールされたクライアント102のディレクトリにコピーする。これにより、ベース302を更新する。ここでのファイルのコピー処理は、不要なファイルの削除を含むコピー処理であり、その詳細は図6を用いて後述する。最後にS411にて、ベースアップデータ303は、ベース302を起動し、自身を終了する。   Next, in S413, the base updater 303 copies the update file of the base 302 in the update package that is expanded in S405 to the directory of the client 102 in which the client software 301 is installed. As a result, the base 302 is updated. The file copy process here is a copy process including deletion of unnecessary files, and details thereof will be described later with reference to FIG. Finally, in S411, the base updater 303 activates the base 302 and ends itself.

図6は、図4のS406及びS410で呼び出されるファイルのコピー処理の詳細を説明するためのフローチャートを示す図である。本処理を実行する処理の主体は、本処理を呼び出したアップデート処理部304またはベースアップデータ303となる。   FIG. 6 is a flowchart for explaining details of the file copy processing called in S406 and S410 of FIG. The subject of the process that executes this process is the update processing unit 304 or the base updater 303 that has called this process.

コピー処理は、アップデートパッケージを展開した更新ファイルを含むディレクトリ(ベースの場合は「base」502等)のパス名と、更新対象のクライアントソフトウェア301がインストールされているディレクトリのパス名と共に呼び出される。以下、コピー処理では当初、アップデートパッケージを展開したディレクトリ及びサブディレクトリをコピー元とし、クライアントソフトウェア301がインストールされているディレクトリ及び/またはサブディレクトリをコピー先とする。   The copy process is called together with the path name of the directory (such as “base” 502 in the case of the base) containing the update file in which the update package is expanded and the path name of the directory in which the client software 301 to be updated is installed. Hereinafter, in the copy process, initially, the directory and subdirectory where the update package is expanded are set as the copy source, and the directory and / or subdirectory where the client software 301 is installed is set as the copy destination.

S601にて、コピー先ディレクトリが存在するかを確認して、存在しない場合にはS602にてコピー先のディレクトリを作成する。次に、S603にて、コピー元のディレクトリ内の全てのファイルそれぞれに対して、以下のS604〜S606の処理を実行する。   In step S601, it is confirmed whether the copy destination directory exists. If the copy destination directory does not exist, a copy destination directory is created in step S602. Next, in S603, the following processes of S604 to S606 are executed for all the files in the copy source directory.

まず、S604にて、コピー先のディレクトリにコピー元のディレクトリ内の対象ファイルをコピーする。次にS605にて、コピー対象のファイルの属性に従い対象ファイルの削除の可否を決定し、削除すべきと判断した場合にはS606に遷移する。S606にて、S604でコピー先ディレクトリ内にコピーしたファイルを削除する。S605、S606の処理が行われた後は、コピー元のディレクトリ内の残りのファイルに対してS604に戻って、処理を繰り返す。   First, in S604, the target file in the copy source directory is copied to the copy destination directory. Next, in S605, whether or not the target file can be deleted is determined according to the attribute of the file to be copied, and if it is determined that the file should be deleted, the process proceeds to S606. In S606, the file copied in the copy destination directory in S604 is deleted. After the processes of S605 and S606 are performed, the process returns to S604 for the remaining files in the copy source directory, and the process is repeated.

S605での削除対象のファイルを決定する判断基準となるファイルの属性としては、例えば、ファイルのサイズを用いる。ここでは、ファイルサイズがゼロである場合には削除対象とするとはんていする。他にも、判断に用いる属性とその基準として、ファイルの作成日付が特定の日付(「1900年1月1日」などの通常あり得ない日付)であるか否か、ファイルのバージョンが特定のバージョン(「99.99.99.99」などの通常あり得ないバージョン)であるか否か等が挙げられる。ここで、削除対象のファイルの内容は、S606でファイルの削除に失敗した場合も想定し、クライアントソフトウェアの動作に問題が発生しないようなもの(例えば関数やクラスを含まない空のライブラリ)となっている。   For example, the file size is used as the attribute of the file serving as a determination criterion for determining the file to be deleted in S605. Here, if the file size is zero, it is assumed that the file is to be deleted. In addition, as an attribute used for determination and its standard, whether the file creation date is a specific date (a date that is not normally possible, such as “January 1, 1900”), whether the file version is a specific date Whether it is a version (a version that is not normally possible, such as “99.999.99.99”). Here, the contents of the file to be deleted are assumed to cause no problem in the operation of the client software (for example, an empty library that does not include a function or a class), assuming that the deletion of the file has failed in S606. ing.

次に、S607にて、コピー元のディレクトリ内の全てのサブディレクトリに対し、S608〜S610の処理を行う。   In step S607, the processing in steps S608 to S610 is performed on all subdirectories in the copy source directory.

S608にて、新しいコピー元のディレクトリのパス名として、コピー元のディレクトリ内の1つのサブディレクトリのパス名を設定する。また、S609にて、新しいコピー先のディレクトリのパス名として、現在のコピー先のディレクトリのパス名にS608で設定したサブディレクトリのパス名を追加したものを設定する。次に、S610にて、新しいコピー元と新しいコピー先と共に、図6で示すコピー処理を再帰的に呼び出す。S607におけるコピー元のディレクトリ内の全てのサブディレクトリに対する処理が終了すると、S611に遷移する。   In S608, the path name of one subdirectory in the copy source directory is set as the path name of the new copy source directory. In step S609, the path name of the new copy destination directory is set by adding the path name of the subdirectory set in step S608 to the path name of the current copy destination directory. Next, in S610, the copy process shown in FIG. 6 is recursively called together with the new copy source and the new copy destination. When the processing for all the subdirectories in the copy source directory in S607 ends, the process proceeds to S611.

S611にて、アップデートパッケージを展開したディレクトリと、サブディレクトリとを削除し、本図で示すコピー処理を終了する。   In S611, the directory in which the update package is expanded and the subdirectory are deleted, and the copy process shown in FIG.

以上、本発明は、ソフトウェアのアップデート処理において、バージョンごとに、必要なファイル構成などを管理して、段階的にアップデート処理を実現する手法に比べて、簡単にアップデートパッケージを作成できるので、提供側の負担が軽減される。   As described above, according to the present invention, in the software update process, the update file can be created more easily than the method of managing the necessary file configuration for each version and realizing the update process step by step. The burden of is reduced.

(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.

さらに、本発明には、上述した実施形態の適宜組み合わせることにより構成されたシステムやその機能も含まれるものとする。
Furthermore, the present invention includes a system configured by appropriately combining the above-described embodiments and functions thereof.

Claims (14)

ソフトウェアの基本機能を提供するベース部に含まれるアップデート処理部による機能により、当該ソフトウェアの最新バージョンの情報をサーバから取得する第1の取得手段と、
前記アップデート処理部の機能により、前記ソフトウェアの現在のバージョンと、前記取得された最新のバージョンとを比較する比較手段と、
前記アップデート処理部の機能により、前記比較の結果、前記ソフトウェアの現在のバージョンが最新ではない場合に、当該ソフトウェアをアップデートするためのアップデートパッケージを取得する第2の取得手段と、
前記アップデート処理部の機能により、前記ベース部の更新ファイルが前記取得されたアップデートパッケージに含まれる場合に、前記ベース部を更新するためのベースアップデータ部を起動する起動手段と、
前記ベースアップデータ部の機能により、前記ベース部を停止させる停止手段と、
前記ベースアップデータ部の機能により、前記ソフトウェアがインストールされたディレクトリに対して前記ベース部の更新ファイルをコピーする制御を行う第1の制御手段と、を有し、
前記第1の制御手段は、前記コピーした更新ファイルの中で、ファイルの属性に従い削除対象であると特定される更新ファイルを前記ディレクトリから削除することを特徴とする情報処理装置。
First acquisition means for acquiring information on the latest version of the software from the server by the function of the update processing unit included in the base unit that provides the basic function of the software;
Comparison means for comparing the current version of the software with the acquired latest version by the function of the update processing unit;
A second acquisition unit configured to acquire an update package for updating the software when the current version of the software is not the latest, as a result of the comparison, by the function of the update processing unit;
An activation unit that activates a base updater unit for updating the base unit when the update file of the base unit is included in the acquired update package by the function of the update processing unit;
Stop means for stopping the base portion by the function of the base updater portion;
First control means for performing a control of copying an update file of the base unit to a directory in which the software is installed by the function of the base updater unit;
The information processing apparatus according to claim 1, wherein the first control unit deletes, from the copied update file, an update file identified as a deletion target according to a file attribute from the directory.
前記アップデート処理部の機能により、前記ベースアップデータ部を起動する前に、前記ベースアップデータ部の更新ファイルが前記取得されたアップデートパッケージに含まれる場合に、前記ディレクトリに対して前記ベースアップデータ部の更新ファイルをコピーする制御を行う第2の制御手段を、更に有し、
前記第2の制御手段は、前記コピーした更新ファイルの中で、ファイルの属性に従い削除対象であると特定される更新ファイルを前記ディレクトリから削除することを特徴とする請求項1に記載の情報処理装置。
When the update file of the base updater unit is included in the acquired update package before the base updater unit is activated by the function of the update processing unit, the update file of the base updater unit is added to the directory. Further having a second control means for performing a control of copying
2. The information processing according to claim 1, wherein the second control unit deletes, from the copied update file, an update file identified as a deletion target according to a file attribute from the directory. apparatus.
前記削除対象であると特定される更新ファイルの属性には、削除対象であることを示す情報として、ファイルサイズ、作成日付、及びバージョンの少なくとも何れかに特定の情報が設定されていることを特徴とする請求項1または2に記載の情報処理装置。   In the attribute of the update file specified as the deletion target, specific information is set as at least one of the file size, the creation date, and the version as information indicating the deletion target. The information processing apparatus according to claim 1 or 2. 前記アップデートパッケージには、前記ソフトウェアの最初のバージョンから変更があったファイル、或いは前記ソフトウェアの最新のバージョンに必要な全ファイルをパッケージに含め、クライアントソフトウェアの最新のバージョンにおいて、不要となったファイルであってもアップデートパッケージに含められており、
当該不要となったファイルが、前記削除対象であると特定される更新ファイルであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
The update package includes files that have changed since the first version of the software, or all files necessary for the latest version of the software are included in the package, and files that are no longer necessary in the latest version of the client software. Even if it is included in the update package,
The information processing apparatus according to claim 1, wherein the unnecessary file is an update file identified as the deletion target.
前記ソフトウェアの基本機能としては、ネットワークデバイスのネットワーク探索を行う機能、管理対象のネットワークデバイスの識別情報やネットワーク情報を管理する機能、及びネットワークデバイスから稼働情報を収集する機能の少なくとも何れかが含まれることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。   The basic functions of the software include at least one of a function of searching a network for a network device, a function of managing identification information and network information of a management target network device, and a function of collecting operation information from the network device. The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus. 前記ソフトウェアには、追加機能を実現するための機能拡張モジュールのインストールが可能であり、当該追加機能としては、ネットワークデバイスの保守などを目的とした稼働情報取得する機能、ネットワークデバイスの設定値をサーバからの指示に従って変更する設定変更機能、及びネットワークデバイスの設定値のバックアップ機能の少なくとも何れかが含まれることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。 In the software, a function expansion module for realizing an additional function can be installed. The additional function includes a function for obtaining operation information for the purpose of maintaining a network device, a setting value of the network device, and the like. 6. The information processing apparatus according to claim 1, further comprising at least one of a setting change function for changing according to an instruction from a server and a backup function for a setting value of a network device. 前記機能拡張モジュールは、前記サーバから取得する機能の一覧に従い、当該サーバから取得されて、インストールされることを特徴とする請求項6に記載の情報処理装置。   The information processing apparatus according to claim 6, wherein the function expansion module is acquired from the server and installed in accordance with a list of functions acquired from the server. ソフトウェアの基本機能を提供するベース部に含まれるアップデート処理部による機能により、当該ソフトウェアの最新バージョンの情報をサーバから取得する第1の取得工程と、
前記アップデート処理部の機能により、前記ソフトウェアの現在のバージョンと、前記取得された最新のバージョンとを比較する比較工程と、
前記アップデート処理部の機能により、前記比較の結果、前記ソフトウェアの現在のバージョンが最新ではない場合に、当該ソフトウェアをアップデートするためのアップデートパッケージを取得する第2の取得工程と、
前記アップデート処理部の機能により、前記ベース部の更新ファイルが前記取得されたアップデートパッケージに含まれる場合に、前記ベース部を更新するためのベースアップデータ部を起動する起動工程と、
前記ベースアップデータ部の機能により、前記ベース部を停止させる停止工程と、
前記ベースアップデータ部の機能により、前記ソフトウェアがインストールされたディレクトリに対して前記ベース部の更新ファイルをコピーする制御を行う第1の制御工程と、を有し、
前記第1の制御工程では、前記コピーした更新ファイルの中で、ファイルの属性に従い削除対象であると特定される更新ファイルが前記ディレクトリから削除されることを特徴とする情報処理装置における方法。
A first acquisition step of acquiring information of the latest version of the software from the server by the function of the update processing unit included in the base unit that provides the basic function of the software;
A comparison step of comparing the current version of the software with the acquired latest version by the function of the update processing unit;
A second acquisition step of acquiring an update package for updating the software when the current version of the software is not the latest, as a result of the comparison, by the function of the update processing unit;
A startup step of starting a base updater unit for updating the base unit when the update file of the base unit is included in the acquired update package by the function of the update processing unit;
A stopping step of stopping the base portion by the function of the base updater portion;
A first control step of performing a control of copying an update file of the base unit to a directory in which the software is installed by the function of the base updater unit,
In the first control step, in the copied update file, an update file specified as a deletion target according to a file attribute is deleted from the directory.
前記アップデート処理部の機能により、前記ベースアップデータ部を起動する前に、前記ベースアップデータ部の更新ファイルが前記取得されたアップデートパッケージに含まれる場合に、前記ディレクトリに対して前記ベースアップデータ部の更新ファイルをコピーする制御を行う第2の制御工程を、更に有し、
前記第2の制御工程では、前記コピーした更新ファイルの中で、ファイルの属性に従い削除対象であると特定される更新ファイルを前記ディレクトリから削除することを特徴とする請求項8に記載の方法。
When the update file of the base updater unit is included in the acquired update package before the base updater unit is activated by the function of the update processing unit, the update file of the base updater unit is added to the directory. A second control step for performing a control of copying
9. The method according to claim 8, wherein, in the second control step, an update file identified as a deletion target according to a file attribute is deleted from the directory in the copied update file.
前記削除対象であると特定される更新ファイルの属性には、削除対象であることを示す情報として、ファイルサイズ、作成日付、及びバージョンの少なくとも何れかに特定の情報が設定されていることを特徴とする請求項8または9に記載の方法。   In the attribute of the update file specified as the deletion target, specific information is set as at least one of the file size, the creation date, and the version as information indicating the deletion target. The method according to claim 8 or 9. 前記アップデートパッケージには、前記ソフトウェアの最初のバージョンから変更があったファイル、或いは前記ソフトウェアの最新のバージョンに必要な全ファイルをパッケージに含め、クライアントソフトウェアの最新のバージョンにおいて、不要となったファイルであってもアップデートパッケージに含められており、
当該不要となったファイルが、前記削除対象であると特定される更新ファイルであることを特徴とする請求項8乃至10のいずれか1項に記載の方法。
The update package includes files that have changed since the first version of the software, or all files necessary for the latest version of the software are included in the package, and files that are no longer necessary in the latest version of the client software. Even if it is included in the update package,
The method according to claim 8, wherein the file that is no longer needed is an update file that is identified as the deletion target.
前記ソフトウェアの基本機能としては、ネットワークデバイスのネットワーク探索を行う機能、管理対象のネットワークデバイスの識別情報やネットワーク情報を管理する機能、及びネットワークデバイスから稼働情報を収集する機能の少なくとも何れかが含まれることを特徴とする請求項8乃至11のいずれか1項に記載の方法。   The basic functions of the software include at least one of a function of searching a network for a network device, a function of managing identification information and network information of a management target network device, and a function of collecting operation information from the network device. 12. A method according to any one of claims 8 to 11 characterized in that: 前記ソフトウェアには、追加機能を実現するための機能拡張モジュールのインストールが可能であり、
当該追加機能としては、ネットワークデバイスの保守などを目的とした稼働情報取得する機能、ネットワークデバイスの設定値をサーバからの指示に従って変更する設定変更機能、及びネットワークデバイスの設定値のバックアップ機能の少なくとも何れかが含まれることを特徴とする請求項8乃至12のいずれか1項に記載の方法。
In the software, it is possible to install a function expansion module for realizing an additional function,
The additional function includes at least a function for obtaining operation information for the purpose of network device maintenance, a setting change function for changing the setting value of the network device in accordance with an instruction from the server, and a backup function for the setting value of the network device. The method according to any one of claims 8 to 12, characterized in that any one of them is included.
請求項1乃至7のいずれか1項に記載の手段としてコンピュータを機能させるためのプログラム。 The program for functioning a computer as each means of any one of Claims 1 thru | or 7.
JP2012255115A 2012-11-21 2012-11-21 Information processing apparatus, method and program Active JP6021609B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012255115A JP6021609B2 (en) 2012-11-21 2012-11-21 Information processing apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012255115A JP6021609B2 (en) 2012-11-21 2012-11-21 Information processing apparatus, method and program

Publications (2)

Publication Number Publication Date
JP2014102732A JP2014102732A (en) 2014-06-05
JP6021609B2 true JP6021609B2 (en) 2016-11-09

Family

ID=51025176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012255115A Active JP6021609B2 (en) 2012-11-21 2012-11-21 Information processing apparatus, method and program

Country Status (1)

Country Link
JP (1) JP6021609B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2002075525A1 (en) * 2001-03-19 2004-07-08 ソニー株式会社 Software update system, software update method, and software update program
JP2003108380A (en) * 2001-09-27 2003-04-11 Murata Mach Ltd Terminal device and program thereof
JP2010176567A (en) * 2009-01-30 2010-08-12 Canon Electronics Inc Information processor, information processing system, control method therefor, and program

Also Published As

Publication number Publication date
JP2014102732A (en) 2014-06-05

Similar Documents

Publication Publication Date Title
CN107515776B (en) Method for upgrading service continuously, node to be upgraded and readable storage medium
JP7158864B2 (en) System and method of using it
JP5288334B2 (en) Virtual appliance deployment system
EP2944070B1 (en) Service migration across cluster boundaries
US9170806B2 (en) Software discovery by an installer controller
JP6214372B2 (en) Management device, method and program
JP2005092803A (en) Device and method for applying modification information to software
JP6265732B2 (en) Management device, control method and program for management device
WO2019181860A1 (en) Application execution device, application execution method, and recording medium
JP5080912B2 (en) Image forming apparatus, network device management method, image forming apparatus management system and program
EP2438709B1 (en) Network element integration
US9600751B2 (en) Image forming apparatus and control method thereof with a determination whether an application relates to a dynamic update for reflecting change of the network setting without rebooting the apparatus
JP6393612B2 (en) System backup device and backup method
JP2011248658A (en) Virtual server deployment management apparatus and method, and program for the same
KR102006640B1 (en) System, server system, method and program
US8838790B2 (en) Configuration value management apparatus and management method
JP6021609B2 (en) Information processing apparatus, method and program
JP2011076370A (en) Deployment system
JP2005316715A (en) Document management system, method and program
JP2010157134A (en) Apparatus, method and system for information processing
US8312448B2 (en) Configuration to order software deployment and management
JP5787688B2 (en) Server apparatus, client apparatus, information processing method, and program
JP4802613B2 (en) Installation system and installation program
US10705825B2 (en) Creation of images
JP6320073B2 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151030

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160809

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161004

R151 Written notification of patent or utility model registration

Ref document number: 6021609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151