JP7027809B2 - アップデートシステム - Google Patents

アップデートシステム Download PDF

Info

Publication number
JP7027809B2
JP7027809B2 JP2017210443A JP2017210443A JP7027809B2 JP 7027809 B2 JP7027809 B2 JP 7027809B2 JP 2017210443 A JP2017210443 A JP 2017210443A JP 2017210443 A JP2017210443 A JP 2017210443A JP 7027809 B2 JP7027809 B2 JP 7027809B2
Authority
JP
Japan
Prior art keywords
client device
update
firmware
virtual machine
update program
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
JP2017210443A
Other languages
English (en)
Other versions
JP2019082902A (ja
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions 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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2017210443A priority Critical patent/JP7027809B2/ja
Priority to CN201811174565.6A priority patent/CN109725917B/zh
Priority to US16/222,576 priority patent/US10620938B2/en
Publication of JP2019082902A publication Critical patent/JP2019082902A/ja
Application granted granted Critical
Publication of JP7027809B2 publication Critical patent/JP7027809B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、組み込みデバイスであるクライアント装置に接続された外付けデバイスのファームウェアをアップデートすることが可能なサーバー装置、アップデートプログラム及びアップデートシステムに関する。
ファームウェアをアップデートするプログラムが知られている(例えば、特許文献1)。
特開2017-097408号公報
USB(Universal Serial Bus)デバイス等の外付けデバイス(カードリーダー等)を、画像形成装置(Multifunction Peripheral、以下MFPと称する)等の組み込みデバイスに接続して使用することがある。この様な外付けデバイスは、日常的に使用頻度が高いことが予想される。このため、外付けデバイスのファームウェアをアップデートする技術は、ユーザーフレンドリーであることが望まれる。
以上のような事情に鑑み、本発明の目的は、ユーザーフレンドリーに、組み込みデバイスに接続された外付けデバイスのファームウェアをアップデートすることにある。
本発明の一形態に係るサーバー装置は、
ネットワークに接続された組み込みデバイスであるクライアント装置と通信するためのネットワークインターフェースと、
前記クライアント装置に接続された外付けデバイスのファームウェアと、
前記ファームウェアのアップデートプログラムと、
複数の異なる環境を仮想的に実現するバーチャルマシンを、それぞれ生成するために用いられる複数の異なるバーチャルマシンソースと、
リモートアップデートプログラムと
を記憶するメモリーと、
前記リモートアップデートプログラムを実行する第1のプロセッサーと、
を具備し、
前記第1のプロセッサーは、前記リモートアップデートプログラムを実行するとき、
前記ネットワークインターフェースを介して、前記クライアント装置のプロセッサーである第2のプロセッサーの構成を判断し、
前記アップデートプログラムを実行可能な環境を判断し、
判断した前記環境を仮想的に実現するバーチャルマシンを生成するためのバーチャルマシンソースを、前記メモリーが記憶する前記複数の異なるバーチャルマシンソースから選択し、
選択した前記バーチャルマシンソースを用いて、前記第2のプロセッサーが前記環境を仮想的に実現するバーチャルマシンを生成し、
生成した前記バーチャルマシン、前記ファームウェア及び前記アップデートプログラムを含むパッケージを生成し、
前記パッケージと、前記パッケージを前記クライアント装置にインストールするための制御コマンドとを、前記ネットワークインターフェースを介して前記クライアント装置に送信して、前記クライアント装置に、前記バーチャルマシン上で前記アップデートプログラムを実行させて前記外付けデバイスへ前記ファームウェアをアップデートさせる。
本実施形態によれば、サーバー装置が、クライアント装置に接続されている外付けデバイスにインストールされるファームウェアを、ネットワークNを介してリモートでアップデートすることができる。これにより、外付けデバイスをクライアント装置から取り外すことなく、クライアント装置に接続されている外付けデバイスにインストールされるファームウェアをアップデートすることができる。
前記外付けデバイスは、USB(Universal Serial Bus)により前記クライアント装置に接続される。
本実施形態によれば、サーバー装置が、クライアント装置に接続されているUSBデバイスにインストールされるファームウェアを、ネットワークNを介してリモートでアップデートすることができる。これにより、USBデバイスをクライアント装置から取り外すことなく、クライアント装置に接続されているUSBデバイスにインストールされるファームウェアをアップデートすることができる。
前記第1のプロセッサーが生成する前記パッケージは、前記クライアント装置が前記外付けデバイスへ前記ファームウェアをアップデートした後、前記パッケージを前記クライアント装置からアンインストールするよう構成される。
これにより、ファームウェアのアップデート後に使用することのないパッケージがクライアント装置のストレージを消費せずにすむ。
あるいは、
前記第1のプロセッサーは、前記リモートアップデートプログラムを実行するとき、さらに、
前記ネットワークインターフェースを介して、前記クライアント装置に前記バーチャルマシンがインストールされているか否かを判断し、インストールされていると判断すると、
前記ファームウェア及び前記アップデートプログラムと、前記ファームウェア及び前記アップデートプログラムを前記クライアント装置にインストールするための制御コマンドとを、前記ネットワークインターフェースを介して前記クライアント装置に送信して、前記クライアント装置に、前記バーチャルマシン上で前記アップデートプログラムを実行させて前記外付けデバイスへ前記ファームウェアをアップデートさせる。
これにより、サーバー装置は、バーチャルマシンを新たに生成してクライアント装置に供給する必要なく、ファームウェアをリモートでアップデートすることができる。
本発明の一形態に係るリモートアップデートプログラムは、
ネットワークに接続された組み込みデバイスであるクライアント装置と通信するためのネットワークインターフェースと、
前記クライアント装置に接続された外付けデバイスのファームウェアと、
前記ファームウェアのアップデートプログラムと、
複数の異なる環境を仮想的に実現するバーチャルマシンを、それぞれ生成するために用いられる複数の異なるバーチャルマシンソースと、
を記憶するメモリーと、
第1のプロセッサーと、
を有するサーバー装置の前記第1のプロセッサーにより実行されることで、前記第1のプロセッサーにより、
前記ネットワークインターフェースを介して、前記クライアント装置のプロセッサーである第2のプロセッサーの構成を判断し、
前記アップデートプログラムを実行可能な環境を判断し、
判断した前記環境を仮想的に実現するバーチャルマシンを生成するためのバーチャルマシンソースを、前記メモリーが記憶する前記複数の異なるバーチャルマシンソースから選択し、
選択した前記バーチャルマシンソースを用いて、前記第2のプロセッサーが前記環境を仮想的に実現するバーチャルマシンを生成し、
生成した前記バーチャルマシン、前記ファームウェア及び前記アップデートプログラムを含むパッケージを生成し、
前記パッケージと、前記パッケージを前記クライアント装置にインストールするための制御コマンドとを、前記ネットワークインターフェースを介して前記クライアント装置に送信して、前記クライアント装置に、前記バーチャルマシン上で前記アップデートプログラムを実行させて前記外付けデバイスへ前記ファームウェアをアップデートさせる。
本発明の一形態に係るアップデートシステムは、
ネットワークに接続された組み込みデバイスであるクライアント装置と、
前記クライアント装置に接続された外付けデバイスと、
前記ネットワークに接続されたサーバー装置と
を具備するアップデートシステムであって、
前記サーバー装置は、
前記クライアント装置と通信するためのネットワークインターフェースと、
前記外付けデバイスのファームウェアと、
前記ファームウェアのアップデートプログラムと、
複数の異なる環境を仮想的に実現するバーチャルマシンを、それぞれ生成するために用いられる複数の異なるバーチャルマシンソースと、
リモートアップデートプログラムと
を記憶するメモリーと、
前記リモートアップデートプログラムを実行する第1のプロセッサーと、
を有し、
前記第1のプロセッサーは、前記リモートアップデートプログラムを実行するとき、
前記ネットワークインターフェースを介して、前記クライアント装置のプロセッサーである第2のプロセッサーの構成を判断し、
前記アップデートプログラムを実行可能な環境を判断し、
判断した前記環境を仮想的に実現するバーチャルマシンを生成するためのバーチャルマシンソースを、前記メモリーが記憶する前記複数の異なるバーチャルマシンソースから選択し、
選択した前記バーチャルマシンソースを用いて、前記第2のプロセッサーが前記環境を仮想的に実現するバーチャルマシンを生成し、
生成した前記バーチャルマシン、前記ファームウェア及び前記アップデートプログラムを含むパッケージを生成し、
前記パッケージと、前記パッケージを前記クライアント装置にインストールするための制御コマンドとを、前記ネットワークインターフェースを介して前記クライアント装置に送信して、前記クライアント装置に、前記バーチャルマシン上で前記アップデートプログラムを実行させて前記外付けデバイスへ前記ファームウェアをアップデートさせる。
本発明によれば、ユーザーフレンドリーに、組み込みデバイスに接続された外付けデバイスのファームウェアをアップデートすることができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本発明中に記載されたいずれかの効果であってもよい。
本発明の一実施形態に係るアップデートシステムを模式的に示す。 サーバー装置のハードウェア構成を示す。 クライアント装置のハードウェア構成を示す。 外付けデバイスのハードウェア構成を示す。 サーバー装置が保持するデータを模式的に示す。 アップデートシステムの動作の概要を示すフローチャートである。 データの流れを模式的に示す。 リモートアップデートパッケージ生成のサーバー装置の動作フローを示す。 リモートアップデートパッケージのインストールのサーバー装置の動作フローを示す。 リモートアップデートパッケージのインストールのクライアント装置の動作フローを示す。 ファームウェアのアップデートのクライアント装置の動作フローを示す。 ファームウェアのアップデート時の、クライアント装置の全体的なソフトウェア構成を示す。 ファームウェアのアップデート時の、クライアント装置の部分的なソフトウェア構成を示す。 ファームウェアのアップデートの外付けデバイスの動作フローを示す。 リモートアップデートパッケージのアンインストールのクライアント装置の動作フローを示す。
以下、図面を参照しながら、本発明の実施形態を説明する。
1.アップデートシステムの概要
図1は、本発明の一実施形態に係るアップデートシステムを模式的に示す。
アップデートシステム1は、サーバー装置10と、クライアント装置20と、外付けデバイス30とを有する。サーバー装置10とクライアント装置20とは、インターネット又はLAN(Local Area Network)等のネットワークNに接続され、相互に通信可能である。
サーバー装置10は、ネットワークNを介して、クライアント装置20をリモート操作することが可能である。サーバー装置10は、典型的には、パーソナルコンピューターである。サーバー装置10は、クライアント装置20を管理する立場のユーザー(クライアント装置20のベンダーのエンジニアや、クライアント装置20が設置されるオフィスの保守担当者等)が使用する。
クライアント装置20は、典型的なパーソナルコンピューター以外の電子機器である。言い換えれば、クライアント装置20は、組み込みシステム(Embedded System)を有する電子機器(所謂、組み込みデバイス)である。本実施形態では、クライアント装置20は、画像形成装置(MFP等)である。
外付けデバイス30は、本実施形態では、汎用のUSB(Universal Serial Bus)デバイス(以下、USBデバイス30と称する)であり、より具体的には、カードリーダーである。USBデバイス30は、USBによりクライアント装置20に接続される。
カードリーダーの様なUSBデバイス30は、日常的に使用頻度が高いことが予想される。例えば、クライアント装置20(MFP)がオフィスに設置される場合、ユーザー(従業員)は、自分のIDカードを用いてUSBデバイス30(カードリーダー)を介してクライアント装置20(MFP)にログインしてから、クライアント装置20(MFP)を使用することが考えられる。
ところで、クライアント装置20に接続されているUSBデバイス30にインストールされるファームウェアをアップデートする際、典型的には、次の手順で行う。USBデバイス30(汎用のUSBデバイス)を、クライアント装置20(MFP)から取り外し、パーソナルコンピューター(図示せず)に接続する。パーソナルコンピューターが、アップデートプログラムを実行し、USBデバイス30へファームウェアをアップデートする。次に、ファームウェアがアップデートされたUSBデバイス30を、パーソナルコンピューターから取り外し、組み込みデバイスであるクライアント装置20に接続する。しかしながら、この方法では、USBデバイス30の着脱がユーザーの手間となる上、USBデバイス30をクライアント装置20から取り外している間は、クライアント装置20に接続されたUSBデバイス30を使用不可能である。
以上のような事情に鑑み、USBデバイス30をクライアント装置20から取り外すことなく、クライアント装置20に接続されているUSBデバイス30にインストールされるファームウェアをアップデートすることが望まれる。そこで、本実施形態によれば、サーバー装置10が、クライアント装置20に接続されているUSBデバイス30にインストールされるファームウェアを、ネットワークNを介してリモートでアップデートすることを図る。
2.サーバー装置のハードウェア構成
図2は、サーバー装置のハードウェア構成を示す。
サーバー装置10は、CPU(Central Processing Unit)11(第1のプロセッサー)、ROM(Read Only Memory)12(メモリー)、RAM(Random Access Memory)13、記憶装置14(メモリー)、ネットワークインターフェース15、操作装置16及び表示装置17と、これらを相互に接続するバス18とを有する。
CPU11(プロセッサー)は、ROM12が記憶する情報処理プログラム(リモートアップデートプログラム)をRAM13にロードして実行する。ROM12は、CPU11が実行するプログラムやデータなどを固定的に記憶する。
記憶装置14は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量の記録媒体である。
ネットワークインターフェース15は、ネットワークNに接続するためのインターフェースである。
操作装置16は、タッチパネル、キーボード、マウス及び各種スイッチ等を含む。操作装置16は、ユーザーからの操作を検出してCPU11に出力する。
表示装置17は、LCDや有機ELディスプレイ等を含む。表示装置17は、CPU11から受け取った情報に基づいて演算処理を行い、生成した画像信号を画面に表示する。表示装置17は外付けの表示装置でもよい。
3.クライアント装置のハードウェア構成
図3は、クライアント装置のハードウェア構成を示す。
クライアント装置20は、CPU21(第2のプロセッサー)、ROM22(メモリー)、RAM23、記憶装置24、ネットワークインターフェース25、操作装置26、表示装置27及びUSBインターフェース29と、これらを相互に接続するバス28とを有する。
CPU21(プロセッサー)は、ROM22が記憶する情報処理プログラムをRAM23にロードして実行する。ROM22は、CPU21が実行するプログラムやデータなどを固定的に記憶する。
記憶装置24は、HDDやSSD等の大容量の記録媒体である。
ネットワークインターフェース25は、ネットワークNに接続するためのインターフェースである。
操作装置26は、タッチパネル及び各種スイッチ等を含む。操作装置26は、ユーザーからの操作を検出してCPU21に出力する。
表示装置27は、LCDや有機ELディスプレイ等を含む。表示装置27は、CPU21から受け取った情報に基づいて演算処理を行い、生成した画像信号を画面に表示する。
USBインターフェース29は、ホスト機器であるクライアント装置20にUSBを介してUSBデバイス30等の周辺機器を接続するためのインターフェースである。
クライアント装置20がMFPの場合、クライアント装置20は、イメージスキャナー及びプリンター等を有するが、本技術とは関係性が少ないため図示しない。
4.外付けデバイスのハードウェア構成
図4は、外付けデバイスのハードウェア構成を示す。
USBデバイス30(カードリーダー)は、CPU31(プロセッサー)、ROM32(メモリー)、RAM33、電磁発生部34、リーダコイル35、リーダ送受信部36及びUSBインターフェース37と、これらを相互に接続するバス38とを有する。
CPU31(プロセッサー)は、ROM32が記憶する情報処理プログラムをRAM33にロードして実行する。ROM32は、CPU31が実行するプログラムやデータなどを固定的に記憶する。
電磁発生部34は、リーダコイル35に印加する交流電流を制御する。
リーダコイル35は、電磁波を発生するループアンテナである。この電磁波は、ICカード(図示せず)に受波される。
リーダ送受信部36は、リーダコイル35とは異なるアンテナを用いてICカードと近距離通信することにより、ICカードからデータ信号を受信する。
USBインターフェース37は、ホスト機器であるクライアント装置20にUSBを介して接続するためのインターフェースである。
5.サーバー装置が保持するデータ
図5は、サーバー装置が保持するデータを模式的に示す。
サーバー装置10は、ROM12及び/又は記憶装置14に、ファームウェア101と、アップデートプログラム102と、複数の異なるバーチャルマシンソース103と、リモートアップデートプログラム104とを記憶する。
ファームウェア101は、USBデバイス30の最新バージョンのファームウェアである。
アップデートプログラム102は、USBデバイス30へ、ファームウェア101をアップデートするためのプログラムである。アップデートプログラム102は、特定の環境(オペレーティングシステム(OS))のみをサポートする。言い換えれば、アップデートプログラム102は、特定の環境(OS)を実行可能なパーソナルコンピューター(図示せず)のみにより実行することが可能に構成される。具体例としては、アップデートプログラム102は、特定のバージョンのWindows(登録商標)OS及び/又は特定のバージョンのmacOS(登録商標)を実行可能なパーソナルコンピューター(図示せず)のみにより実行することが可能に構成される。詳しくは、パーソナルコンピューターがアップデートプログラム102を実行することにより、パーソナルコンピューターに接続されたUSBデバイス30へファームウェア101をアップデートすることが可能なように、アップデートプログラム102は構成される。
USBデバイス30のファームウェア101及びアップデートプログラム102は、USBデバイス30のベンダーより提供される。サーバー装置10のCPU11は、ファームウェア101及びアップデートプログラム102を、ネットワークNを介してダウンロードし、ROM12及び/又は記憶装置14に記録する。あるいは、サーバー装置10のCPU11は、CD-ROM等の非一過性のコンピューター読み取り可能な記録媒体に記録されたファームウェア101及びアップデートプログラム102を読み取り、ROM12及び/又は記憶装置14に記録する。
複数の異なるバーチャルマシンソース103は、複数の異なる環境(OS)を仮想的に実現する複数の異なるバーチャルマシンを、それぞれ生成するために用いられる。具体例としては、或るバーチャルマシンソース103は、特定のバージョンのWindows(登録商標)OSを仮想的に実現するバーチャルマシンを生成するために用いられる。別のバーチャルマシンソース103は、特定のバージョンのmacOS(登録商標)を仮想的に実現するバーチャルマシンを生成するために用いられる。
リモートアップデートプログラム104は、サーバー装置10が、クライアント装置20に接続されたUSBデバイス30へファームウェア101をリモートでアップデートするためのプログラムである。
6.アップデートシステムの動作
図6は、アップデートシステムの動作の概要を示すフローチャートである。図7は、データの流れを模式的に示す。
サーバー装置10のCPU11は、リモートアップデートプログラム104を実行することにより、リモートアップデートパッケージ106を生成し(S1)、リモートアップデートパッケージ106をクライアント装置20にリモートでインストールする(S2)。クライアント装置20のCPU21は、リモートアップデートパッケージ106を実行することにより、USBデバイス30へファームウェア101をアップデートする(S3)。サーバー装置10のCPU11は、リモートアップデートプログラム104を実行することにより、さらに、リモートアップデートパッケージ106をクライアント装置20からリモートでアンインストールする(S4)。以下、各ステップS1~S4をより詳細に説明する。
(1)リモートアップデートパッケージ生成(S1)
図8は、リモートアップデートパッケージ生成のサーバー装置の動作フローを示す。
サーバー装置10のCPU11は、ROM12及び/又は記憶装置14が記憶する、アップデートすべきファームウェア101及びアップデートプログラム102を選択する(ステップS101)。
サーバー装置10のCPU11は、ネットワークインターフェース15を介して、ファームウェア101をアップデートすべきUSBデバイス30が接続されているクライアント装置20を選択する(ステップS102)。
サーバー装置10のCPU11は、ネットワークインターフェース15を介して、ファームウェアをアップデートすべきUSBデバイス30が接続されたクライアント装置20の、CPU21の構成を判断する(ステップS103)。クライアント装置20のCPU21の構成は、クライアント装置20の機種に依存する。従って、例えば、サーバー装置10のCPU11は、クライアント装置20の機種の情報を取得し、その機種に依存するCPU21の構成を判断する。
サーバー装置10のCPU11は、選択(ステップS101)したアップデートプログラム102を実行可能な環境(アップデートプログラム102がサポートするOS)を判断する(ステップS104)。
サーバー装置10のCPU11は、判断(ステップS104)した環境(アップデートプログラム102がサポートするOS)を仮想的に実現するバーチャルマシンを生成するためのバーチャルマシンソース103を、ROM12及び/又は記憶装置14が記憶する複数の異なるバーチャルマシンソース103から選択する(ステップS105)。
サーバー装置10のCPU11は、選択(ステップS105)したバーチャルマシンソース103を用いて、クライアント装置20のCPU21が上記環境(アップデートプログラム102がサポートするOS)を仮想的に実現するプログラムであるバーチャルマシン105を生成する(ステップS106)。
サーバー装置10のCPU11は、生成したバーチャルマシン105と、ROM12及び/又は記憶装置14が記憶するファームウェア101及びアップデートプログラム102とを含むリモートアップデートパッケージ106を生成する(ステップS107)。
(2)リモートアップデートパッケージのインストール(S2)
図9は、リモートアップデートパッケージのインストールのサーバー装置の動作フローを示す。図10は、リモートアップデートパッケージのインストールのクライアント装置の動作フローを示す。
サーバー装置10のCPU11は、生成(ステップS107)したリモートアップデートパッケージ106のサイズを判断する(ステップS201)。サーバー装置10のCPU11は、リモートアップデートパッケージ106と、判断(ステップS201)したサイズのリモートアップデートパッケージ106をクライアント装置20にインストールするための制御コマンドとを、ネットワークインターフェース15を介してクライアント装置20に送信する(ステップS202)。サーバー装置10のCPU11は、クライアント装置20がリモートアップデートパッケージ106をインストールしている最中であることを、表示装置17に表示する(ステップS203)。
クライアント装置20のCPU21は、リモートアップデートパッケージ106と、制御コマンドとを、ネットワークインターフェース25を介してサーバー装置10から受信する(ステップS211)。クライアント装置20のCPU21は、受信したリモートアップデートパッケージ106のサイズと、クライアント装置20の利用可能なストレージ(ROM22又は記憶装置24)のサイズとを比較する(ステップS212)。クライアント装置20のCPU21は、利用可能なストレージのサイズがリモートアップデートパッケージ106のサイズ以上であれば、リモートアップデートパッケージ106のダウンロードを開始する(ステップS213)。
クライアント装置20のCPU21は、リモートアップデートパッケージ106を展開し(ステップS214)、ストレージにインストールする(ステップS215)。クライアント装置20のCPU21は、リモートアップデートパッケージ106内のバーチャルマシン105をRAM23にロードして実行する(ステップS216)。クライアント装置20のCPU21は、リモートアップデートパッケージ106のインストールの結果を、ネットワークインターフェース25を介してサーバー装置10に送信する(ステップS217)。
サーバー装置10のCPU11は、インストールの結果を受信すると、クライアント装置20がリモートアップデートパッケージ106をインストール完了し、ファームウェア101のアップデートを開始することを、表示装置17に表示する(ステップS204)。
(3)外付けデバイスへのファームウェアのアップデート(S3)
図11は、ファームウェアのアップデートのクライアント装置の動作フローを示す。
クライアント装置20のCPU21は、リモートアップデートパッケージ106内のアップデートプログラム102をRAM23にロードする。クライアント装置20のCPU21は、実行中(ステップS216)のバーチャルマシン105上で(図12、図13参照)、アップデートプログラム102を実行する(ステップS301)。
図12は、ファームウェアのアップデート時の、クライアント装置の全体的なソフトウェア構成を示す。
図12に示すように、インストールしたリモートアップデートパッケージ106は、拡張アプリケーションとして配置され、USBデバイス30を通常動作させるときの構成(図中、点線の矢印A)と異なる、アップデートプログラム102を実行するための専用の構成(図中、点線の矢印B)で実行される。
図13は、ファームウェアのアップデート時の、クライアント装置の部分的なソフトウェア構成を示す。
図13に示すように、バーチャルマシン105は、USBデバイス30を制御するために必要となる4つの通信方式(コントロール転送、インタラプト転送、バルク転送、アイソクロナス転送)と、デバイス検知の機能を備える。バーチャルマシン105は、アップデートプログラム102がUSBデバイス30に対して実行する制御の仲介役として振る舞う。
クライアント装置20のCPU21は、ファームウェア101をRAM23にロードする(ステップS302)。クライアント装置20のCPU21は、USBインターフェース29を介して、USBデバイス30をチェックする(ステップS303)。クライアント装置20のCPU21は、USBインターフェース29を介して、ファームウェアのアップデートリクエストをUSBデバイス30に送信し(ステップS304)、ファームウェア101をUSBデバイス30に送信する(ステップS305)。
図14は、ファームウェアのアップデートの外付けデバイスの動作フローを示す。
USBデバイス30のCPU301は、アップデートリクエストと、ファームウェア101とを、USBインターフェース37を介してクライアント装置20から受信する(ステップS311)。USBデバイス30のCPU301は、ファームウェア101をアップデートする(ステップS312)。USBデバイス30のCPU301は、ファームウェア101をアップデートした結果を、USBインターフェース37を介してクライアント装置20に送信する(ステップS313)。
クライアント装置20のCPU21は、USBインターフェース29を介して、ファームウェア101をアップデートした結果を、USBデバイス30から受信する(ステップS306)。クライアント装置20のCPU21は、ファームウェア101をアップデートした結果を、ネットワークインターフェース25を介して、サーバー装置10に送信する(ステップS307)。
サーバー装置10のCPU11は、ネットワークインターフェース15を介してクライアント装置20から、アップデートの結果を受信すると、ファームウェア101のアップデートが完了したことを、表示装置17に表示する。
(4)リモートアップデートパッケージのアンインストール(S4)
図15は、リモートアップデートパッケージのアンインストールのクライアント装置の動作フローを示す。
サーバー装置10のCPU11が生成したリモートアップデートパッケージ106は、クライアント装置20がUSBデバイス30へファームウェア101をアップデートした後、リモートアップデートパッケージ106をクライアント装置20からアンインストールするよう構成されている。
クライアント装置20のCPU21は、実行中(ステップS301)のアップデートプログラム102を終了する(ステップS401)。クライアント装置20のCPU21は、実行中(ステップS216)のバーチャルマシン105を終了する(ステップS402)。クライアント装置20のCPU21は、リモートアップデートパッケージ106をストレージからアンインストールする(ステップS403)。クライアント装置20のCPU21は、リモートアップデートパッケージ106をアンインストールした結果を、ネットワークインターフェース25を介して、サーバー装置10に送信する(ステップS404)。
サーバー装置10のCPU11は、ネットワークインターフェース15を介してクライアント装置20から、アンインストールの結果を受信する。サーバー装置10のCPU11は、リモートアップデートパッケージ106のアンインストールが完了したことを、表示装置17に表示し、その後、一連の表示を終了する。
7.変形例
(1)変形例1
USBデバイス30のベンダーが、アップデートプログラムのソースコードをオープンに提供する場合がある。この場合、バーチャルマシン105を生成する必要がない。代わりに、サーバー装置10のCPU11は、オープンなソースコードを利用して、クライアント装置20のCPU21が実行可能なアップデートプログラムを生成する。サーバー装置10のCPU11は、生成したアップデートプログラムと、USBデバイス30のベンダーが提供するファームウェア101とを含むパッケージを生成する。サーバー装置10のCPU11は、生成したパッケージを、クライアント装置20に送信して、クライアント装置20にアップデートプログラムを実行させて外付けデバイス30へファームウェア101をアップデートさせる。
(2)変形例2
バーチャルマシン105がクライアント装置20に、一時的にではなく恒久的に、インストールされていると仮定する。具体的には、クライアント装置20が、バーチャルマシン105上で、何らかのアプリケーションプログラム(アンチウィルスプログラム等)を恒常的に実行する場合が考えられる。この場合、サーバー装置10は、バーチャルマシン105を新たに生成する必要はない。サーバー装置10は、クライアント装置20に、ファームウェア101及びアップデートプログラム102を供給する。クライアント装置20は、既にインストール済みのバーチャルマシン105で、アップデートプログラム102を実行すればよい。
具体的には、サーバー装置10のCPU11は、リモートアップデートプログラム104を実行するとき、さらに、ネットワークインターフェース15を介して、クライアント装置20にバーチャルマシン105がインストールされているか否かを判断する。サーバー装置10のCPU11は、インストールされていると判断すると、ファームウェア101及びアップデートプログラム102と、ファームウェア101及びアップデートプログラム102をクライアント装置20にインストールするための制御コマンドとを、ネットワークインターフェース15を介してクライアント装置20に送信して、クライアント装置20に、バーチャルマシン105上でアップデートプログラム102を実行させてUSBデバイス30へファームウェア101をアップデートさせる。
これにより、サーバー装置10は、バーチャルマシン105を新たに生成してクライアント装置20に供給する必要なく、ファームウェア101をリモートでアップデートすることができる。
8.結語
カードリーダーの様なUSBデバイス30は、日常的に使用頻度が高いことが予想される。例えば、クライアント装置20(MFP)がオフィスに設置される場合、ユーザー(従業員)は、自分のIDカードを用いてUSBデバイス30(カードリーダー)を介してクライアント装置20(MFP)にログインしてから、クライアント装置20(MFP)を使用することが考えられる。
ところで、クライアント装置20に接続されているUSBデバイス30にインストールされるファームウェアをアップデートする際、典型的には、次の手順で行う。USBデバイス30(汎用のUSBデバイス)を、クライアント装置20(MFP)から取り外し、パーソナルコンピューター(図示せず)に接続する。パーソナルコンピューターが、USBデバイス30へファームウェアをアップデートする。次に、ファームウェアがアップデートされたUSBデバイス30を、パーソナルコンピューターから取り外し、クライアント装置20に接続する。
この方法を用いる理由は、以下の通りである。汎用のUSBデバイス30のベンダーは、特定の環境(典型的なパーソナルコンピューターのオペレーティングシステム(OS)。例えば、Windows(登録商標)OS及び/又は特定のバージョンのmacOS(登録商標))のみをサポートするアップデートプログラムを提供することが多い。ところが、MFPのような組み込みデバイスは、このようなOSをサポートしていないためである。
しかしながら、この方法では、USBデバイス30の着脱がユーザーの手間となる上、USBデバイス30をクライアント装置20から取り外している間は、クライアント装置20に接続されたUSBデバイス30を使用不可能である。
これに対して、本実施形態によれば、サーバー装置10のCPU11は、リモートアップデートプログラム104を実行することにより、バーチャルマシン105、ファームウェア101及びアップデートプログラム102を含むリモートアップデートパッケージ106を生成する(S1)。サーバー装置10のCPU11は、リモートアップデートパッケージ106をクライアント装置20にリモートでインストールする(S2)。クライアント装置20のCPU21は、リモートアップデートパッケージ106を実行することにより、USBデバイス30へファームウェア101をアップデートする(S3)。
従って、本実施形態によれば、サーバー装置10が、クライアント装置20に接続されているUSBデバイス30にインストールされるファームウェアを、ネットワークNを介してリモートでアップデートすることができる。これにより、USBデバイス30をクライアント装置20から取り外すことなく、クライアント装置20に接続されているUSBデバイス30にインストールされるファームウェアをアップデートすることができる。
さらに、本実施形態によれば、USBデバイス30が接続されているクライアント装置20を操作する必要が一切ない。このため、クライアント装置20が設置されたサイトの人間(エンドユーザー等)の作業を何ら必要としない。クライアント装置20を管理する立場のユーザーが使用するサーバー装置10の操作だけで、クライアント装置20に接続されているUSBデバイス30にインストールされるファームウェアをリモートでアップデートすることができる。さらに、1台のサーバー装置10により、複数のクライアント装置20にそれぞれ接続されている複数のUSBデバイス30にインストールされるファームウェアをリモートでアップデートすることができる(具体例としては、同じ機種の複数のクライアント装置20に、同じ機種の複数のUSBデバイス30がそれぞれ接続されているケース)。
さらに、本実施形態によれば、サーバー装置10のCPU11が生成するリモートアップデートパッケージ106は、クライアント装置20がUSBデバイス30へファームウェア101をアップデートした後、リモートアップデートパッケージ106をクライアント装置20からアンインストールするよう構成される。これにより、ファームウェア101のアップデート後に使用することのないリモートアップデートパッケージ106が、クライアント装置20のストレージを消費せずにすむ。
本技術の各実施形態及び各変形例について上に説明したが、本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
1…アップデートシステム
10…サーバー装置
20…クライアント装置
30…USBデバイス
101…ファームウェア
102…アップデートプログラム
103…バーチャルマシンソース
104…リモートアップデートプログラム
105…バーチャルマシン
106…リモートアップデートパッケージ

Claims (4)

  1. ネットワークに接続された組み込みデバイスであるクライアント装置と、
    前記クライアント装置に接続された外付けデバイスと、
    前記ネットワークに接続されたサーバー装置と
    を具備するアップデートシステムであって、
    前記サーバー装置は、
    前記クライアント装置と通信するための第1のネットワークインターフェースと、
    前記外付けデバイスのファームウェアと、
    前記ファームウェアのアップデートプログラムと、
    複数の異なる環境を仮想的に実現するバーチャルマシンを、それぞれ生成するために用いられる複数の異なるバーチャルマシンソースと、
    リモートアップデートプログラムと
    を記憶するメモリーと、
    前記リモートアップデートプログラムを実行する第1のプロセッサーと、
    を有し、
    前記クライアント装置は、
    前記サーバー装置と通信するための第2のネットワークインターフェースと、
    第2のプロセッサーと
    を有し、
    前記サーバー装置の前記第1のプロセッサーは、前記リモートアップデートプログラムを実行するとき、
    前記第1のネットワークインターフェースを介して、前記第2のプロセッサーの構成を判断し、
    前記アップデートプログラムを実行可能な環境を判断し、
    判断した前記環境を仮想的に実現するバーチャルマシンを生成するためのバーチャルマシンソースを、前記メモリーが記憶する前記複数の異なるバーチャルマシンソースから選択し、
    選択した前記バーチャルマシンソースを用いて、前記第2のプロセッサーが前記環境を仮想的に実現するバーチャルマシンを生成し、
    生成した前記バーチャルマシン、前記ファームウェア及び前記アップデートプログラムを含むパッケージを生成し、
    前記パッケージと、前記パッケージを前記クライアント装置にインストールするための制御コマンドとを、前記第1のネットワークインターフェースを介して前記クライアント装置に送信して、前記クライアント装置に、前記バーチャルマシン上で前記アップデートプログラムを実行させて前記外付けデバイスへ前記ファームウェアをアップデートさせ
    前記クライアント装置の前記第2のプロセッサーは、
    前記パッケージと、前記制御コマンドとを、第2のネットワークインターフェースを介して前記サーバー装置から受信し、
    前記バーチャルマシンを実行し、
    実行中の前記バーチャルマシン上で前記アップデートプログラムを実行し、
    前記バーチャルマシン上で前記アップデートプログラムを実行中に、前記バーチャルマシンを仲介して前記外付けデバイスに対して制御を実行し、
    前記ファームウェアのアップデートリクエストを前記外付けデバイスに送信し、
    前記ファームウェアを前記外付けデバイスに送信し、
    前記外付けデバイスは、
    前記アップデートリクエストと前記ファームウェアとを前記第2のプロセッサーから受信すると、前記ファームウェアをアップデートする
    アップデートシステム。
  2. 請求項1に記載のアップデートシステムであって、
    前記外付けデバイスは、USB(Universal Serial Bus)により前記クライアント装置に接続される
    アップデートシステム。
  3. 請求項1又は2に記載のアップデートシステムであって、
    前記第1のプロセッサーが生成する前記パッケージは、前記クライアント装置が前記外付けデバイスへ前記ファームウェアをアップデートした後、前記パッケージを前記クライアント装置からアンインストールするよう構成される
    アップデートシステム。
  4. 請求項1又は2に記載のアップデートシステムであって、
    前記第1のプロセッサーは、前記リモートアップデートプログラムを実行するとき、さらに、
    前記第1のネットワークインターフェースを介して、前記クライアント装置に前記バーチャルマシンがインストールされているか否かを判断し、インストールされていると判断すると、
    前記ファームウェア及び前記アップデートプログラムと、前記ファームウェア及び前記アップデートプログラムを前記クライアント装置にインストールするための制御コマンドとを、前記第1のネットワークインターフェースを介して前記クライアント装置に送信して、前記クライアント装置に、前記バーチャルマシン上で前記アップデートプログラムを実行させて前記外付けデバイスへ前記ファームウェアをアップデートさせる
    アップデートシステム。
JP2017210443A 2017-10-31 2017-10-31 アップデートシステム Active JP7027809B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017210443A JP7027809B2 (ja) 2017-10-31 2017-10-31 アップデートシステム
CN201811174565.6A CN109725917B (zh) 2017-10-31 2018-10-09 服务器装置、非暂时性的计算机可以读取的记录媒体和更新系统
US16/222,576 US10620938B2 (en) 2017-10-31 2018-12-17 Server apparatus, non-transitory computer readable recording medium, and update system for updating firmware of an external device connected to a client apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017210443A JP7027809B2 (ja) 2017-10-31 2017-10-31 アップデートシステム

Publications (2)

Publication Number Publication Date
JP2019082902A JP2019082902A (ja) 2019-05-30
JP7027809B2 true JP7027809B2 (ja) 2022-03-02

Family

ID=66294996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017210443A Active JP7027809B2 (ja) 2017-10-31 2017-10-31 アップデートシステム

Country Status (3)

Country Link
US (1) US10620938B2 (ja)
JP (1) JP7027809B2 (ja)
CN (1) CN109725917B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6786937B2 (ja) 2016-08-04 2020-11-18 株式会社リコー 情報処理システム、クライアント端末及びプログラム
US11010152B2 (en) * 2018-08-03 2021-05-18 Dell Products L.P. Systems and methods to stage external device firmware for an external device in an information handling system
JP2022126251A (ja) * 2021-02-18 2022-08-30 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2023130149A (ja) * 2022-03-07 2023-09-20 ブラザー工業株式会社 画像形成システム、及び画像形成装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051857A (ja) 1999-08-04 2001-02-23 Fujitsu Ten Ltd ネットワーク端末でのソフトウエア実行方法
JP2011210104A (ja) 2010-03-30 2011-10-20 Pfu Ltd リムーバブル機器の管理システム、リムーバブル機器の管理方法、プログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004070571A2 (en) * 2003-02-03 2004-08-19 Bitfone Corporation Update system for facilitating firmware/software update in a mobile handset
WO2004081791A1 (ja) * 2003-03-13 2004-09-23 Fujitsu Limited 仮想計算機システム、仮想計算機システムにおけるファームウェアアップデート方法
US7694293B2 (en) * 2003-09-26 2010-04-06 Hewlett-Packard Development Company, L.P. Update package catalog for update package transfer between generator and content server in a network
US9392078B2 (en) * 2006-06-23 2016-07-12 Microsoft Technology Licensing, Llc Remote network access via virtual machine
CN101101554A (zh) * 2006-07-07 2008-01-09 上海上工佳源机电科技有限公司 电脑绣花机固件程序远程升级方法
US20080244553A1 (en) * 2007-03-28 2008-10-02 Daryl Carvis Cromer System and Method for Securely Updating Firmware Devices by Using a Hypervisor
KR100716498B1 (ko) * 2007-04-06 2007-05-09 주식회사 스타칩 휴대전화단말기를 이용한 외부부가장치의 업데이트 시스템
CN100458699C (zh) * 2007-04-10 2009-02-04 北京中星微电子有限公司 一种实现固件更新的方法和系统
CN101489175A (zh) * 2009-02-24 2009-07-22 诚迈科技(南京)有限公司 基于cvm虚拟机技术的无线游戏平台
US9059978B2 (en) * 2010-03-23 2015-06-16 Fujitsu Limited System and methods for remote maintenance in an electronic network with multiple clients
US8578376B2 (en) * 2011-01-04 2013-11-05 International Business Machines Corporation Automatically and securely configuring and updating virtual machines
CN104601617A (zh) * 2013-10-31 2015-05-06 南京中兴新软件有限责任公司 虚拟桌面系统中外设的接入处理方法及装置
JP6301736B2 (ja) 2014-05-28 2018-03-28 株式会社東芝 電子機器及び方法
JP6675271B2 (ja) * 2015-09-14 2020-04-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
CN106713384B (zh) * 2015-11-12 2021-07-13 厦门雅迅网络股份有限公司 一种车载终端外设程序远程更新方法及系统
CN105959166A (zh) * 2016-07-15 2016-09-21 深圳市沃特玛电池有限公司 一种使用3g/gps车载终端升级bms主机固件的方法
CN106445578B (zh) * 2016-07-19 2024-05-03 北京华海隆科技有限公司 远程硬件升级方法及装置、无线温湿度监测仪
CN106850418A (zh) * 2016-12-16 2017-06-13 深圳市汉科电子股份有限公司 一种智能家居网络的网关

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051857A (ja) 1999-08-04 2001-02-23 Fujitsu Ten Ltd ネットワーク端末でのソフトウエア実行方法
JP2011210104A (ja) 2010-03-30 2011-10-20 Pfu Ltd リムーバブル機器の管理システム、リムーバブル機器の管理方法、プログラム

Also Published As

Publication number Publication date
US20190205114A1 (en) 2019-07-04
CN109725917A (zh) 2019-05-07
JP2019082902A (ja) 2019-05-30
US10620938B2 (en) 2020-04-14
CN109725917B (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
JP7027809B2 (ja) アップデートシステム
US8539609B2 (en) Device managing apparatus, device managing system, and recording medium storing a software management program
US9635207B2 (en) Management system and information processing apparatus managing installation and settings of an application
JP5268694B2 (ja) ライセンス管理システム、画像形成装置およびライセンス管理方法
JP2011060237A (ja) プログラム導入支援装置、プログラム導入支援システム、表示制御方法、表示制御プログラム、及びそのプログラムを記録した記録媒体
JP5371095B2 (ja) パッチ適用システム
US20110055854A1 (en) Image forming apparatus and method
KR20130044359A (ko) 라이센스 설치 지원 시스템, 라이센스 설치 지원 방법, 및 비 일시적인 컴퓨터 판독 가능한 기억 매체
JP6127719B2 (ja) 情報処理システム、情報処理装置、ライセンス管理方法及びプログラム
JP2011086142A (ja) 画像形成装置及びプログラム操作方法
US10778861B2 (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium configured to change update processing control depending on whether an update target application is of a type for offering an authentication function
JP2011242891A (ja) 配信装置、画像処理装置、配信方法及びインストール方法
JP2006164300A (ja) 情報処理装置および情報処理方法
JP2011060142A (ja) 統合管理装置、統合管理システム、統合管理方法、統合管理プログラム、及びそのプログラムを記録した記録媒体
JP2011086141A (ja) 画像形成装置及びプログラム操作方法
JP6707924B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP6973063B2 (ja) 画像処理システムおよび情報処理機器
JP2006178881A (ja) ソフトウェア管理システム及びソフトウェア管理方法
JP2017152867A (ja) 機器、制御方法及びプログラム
JP2016207123A (ja) アプリケーションパッケージおよび電子機器
JP5526663B2 (ja) 情報処理装置、ソフトウェア管理システム、及びソフトウェア管理方法
JP7107019B2 (ja) 遠隔管理システムおよび補助インストーラー
JP6304427B2 (ja) 情報処理システム及び操作端末
JP2009223763A (ja) 画像形成装置
JP2003333261A (ja) 画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211124

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20211124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220131

R150 Certificate of patent or registration of utility model

Ref document number: 7027809

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150