JP2019219805A - 情報処理装置、その制御方法、プログラム - Google Patents

情報処理装置、その制御方法、プログラム Download PDF

Info

Publication number
JP2019219805A
JP2019219805A JP2018115426A JP2018115426A JP2019219805A JP 2019219805 A JP2019219805 A JP 2019219805A JP 2018115426 A JP2018115426 A JP 2018115426A JP 2018115426 A JP2018115426 A JP 2018115426A JP 2019219805 A JP2019219805 A JP 2019219805A
Authority
JP
Japan
Prior art keywords
application
installation
download
information processing
processing apparatus
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
JP2018115426A
Other languages
English (en)
Other versions
JP7121555B2 (ja
JP2019219805A5 (ja
Inventor
大資 山崎
Daisuke Yamazaki
大資 山崎
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 JP2018115426A priority Critical patent/JP7121555B2/ja
Priority to US16/430,534 priority patent/US11099791B2/en
Publication of JP2019219805A publication Critical patent/JP2019219805A/ja
Publication of JP2019219805A5 publication Critical patent/JP2019219805A5/ja
Application granted granted Critical
Publication of JP7121555B2 publication Critical patent/JP7121555B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • G06F9/4415Self describing peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】画像形成装置へのアプリケーションのダウンロードに失敗した場合、情報処理装置を介在させて再インストールを実行する。【解決手段】デバイスに接続された情報処理装置は、アプリケーションを格納する外部サーバーから前記デバイスへの前記アプリケーションのインストール処理の結果を判定し、前記外部サーバーを参照できなかったと判定された場合、前記外部サーバーから前記アプリケーションをダウンロードし、前記アプリケーションがダウンロードされたダウンロード先を示す所在情報ともに前記アプリケーションのインストール指示を前記デバイスに送信する。【選択図】図9

Description

本発明は、例えばアプリケーションのインストール等を実行する情報処理装置、その制御方法、プログラムに関する。
近年、情報処理装置(例えば、PC(Personal Computer))からLAN(Local Area Network)などの内部ネットワークに接続された画像処理装置(例えば、MFP(Multifunction Peripheral))に対して機能を拡張するためのアプリケーションを、外部ネットワークを介してサーバー装置からインストールするシステムが知られている。このようなシステムにおいて、アプリケーションのインストール失敗を回避するための技術が提案されている。特許文献1では画像処理装置の故障や紙詰まりなどの物理的な障害によりインストールに失敗した場合に、その障害が解消した際に再インストールを実施し、アプリケーションをインストールする。
特開2018−33005号公報
しかしながら、インストール失敗の原因がMFPの障害によるものではなく、例えばMFPのネットワークの構成や設定に起因して、サーバー装置からアプリケーションをダウンロードできない場合にもインストールは失敗することがある。そのような場合、特許文献1のように再インストールを試みたとしてもインストールの成功は見込まれない。失敗要因としては具体的に、MFPが古い機種であるために外部ネットワークにアクセスするためのプロキシ設定自体が存在しない場合や、デバイスのプロキシ設定が正しく設定されていない場合等がある。
上記が要因でインストールに失敗した場合、ネットワークを介さない別の手段によるインストールを試みるか、MFPのネットワーク設定を見直して再試行するなどの方法でインストールを成功させることもできるが、その方法はユーザーが実行する必要があり、ユーザーにとって煩雑である。また、ユーザーの技術的な知識や練度によってはそれらの方法によってインストールを再試行することも困難であった。
そこで、本発明は上記の課題を解決するものであり、画像形成装置へのアプリケーションのダウンロードに失敗した場合、画像形成装置に接続された情報処理装置を介在させてアプリケーションの再インストールを実行する情報処理装置、その制御方法とプログラムを提供することを目的とする。
上記目的を達成するために本発明は以下の構成を有する。すなわち、本発明の一側面によれば、アプリケーションを格納する外部サーバーから前記デバイスへの前記アプリケーションのインストール処理の結果を判定する判定手段と、
前記判定手段によって前記外部サーバーを参照できなかったと判定された場合、
前記外部サーバーから前記アプリケーションをダウンロードするダウンロード手段と、
前記ダウンロード手段によって前記アプリケーションがダウンロードされたダウンロード先を示す所在情報ともに前記アプリケーションのインストール指示を前記デバイスに送信する送信手段とを有することを特徴とする情報処理装置が提供される。
また他の側面によれば、デバイスに対して送信したインストール指示に応じたアプリケーションのインストール結果を前記デバイスから受信する受信手段と、
前記インストール結果が、指定した外部サーバーへの参照の失敗を示す場合、前記外部サーバーから前記アプリケーションをダウンロードして格納し、当該格納先を指定したインストール指示を前記デバイスに送信する送信手段とを有することを特徴とする情報処理装置が提供される。
本発明によれば、画像形成装置へのアプリケーションのダウンロードに失敗した場合、画像形成装置に接続された情報処理装置を介在させてアプリケーションの再インストールを実行する。
システムの構成を示す図である。 PCのハードウェア構成を示す図である。 MFPのハードウェア構成を示す図である。 デバイス登録アプリケーションのソフトウェア構成を示す図である。 MFPにインストール済みアプリケーションの構成を示す図である。 デバイス登録アプリケーションのGUI表示を示す図である。 インストールするアプリケーション情報のデータ構造を示す図である。 MFPのデバイス情報のデータ構造を示す図である。 デバイス登録アプリケーションのインストール処理フローを示す図である。 MFPのインストール処理フローを示す図である。 デバイス登録アプリケーションのインストール処理フローを示す図である。 デバイス登録アプリケーションのインストール処理フローを示す図である。 デバイス登録アプリケーションのインストール処理フローを示す図である。 デバイス登録アプリケーションのインストール処理フローを示す図である。 デバイス登録アプリケーションのインストール処理フローを示す図である。 デバイス登録アプリケーションのインストール処理フローを示す図である。 デバイス登録アプリケーションのインストール処理フローを示す図である。 カスタマイズ用設定ファイルのデータ構成を示す図である。 デバイス登録アプリケーションのGUI表示(メッセージ)を示す図である。 MFP101のリモートUI表示を示す図である。
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
<第1の実施形態>
[システム構成]
図1は、本発明の実施形態に係る情報処理システムの全体構成を示す図である。この情報処理システムでは、LAN102を介してPC100とMFP101とが接続されており、LAN102は、インターネット103に接続されている。インターネット103には、アプリケーションサーバー104が接続されている。PC(パーソナルコンピュータ或いはコンピュータ)100は、情報処理装置の一例であり、所定のOS(Operating System(オペレーティングシステム)、不図示)がインストールされ、かつ、特定の機能処理を実行する各種のアプリケーション(不図示)がインストールされている。MFP101は、画像処理装置(あるいは画像形成装置)の一例であり、印刷機能、スキャナー機能、ファイル送信機能、ファクス機能、コピー機能等を備える。MFP101は、例えばJava(登録商標)等で記述されたアプリケーションプログラム(以下アプリケーションまたはアプリとも呼ぶ。)を実行するためのプラットフォームを備えている。そしてインストールされたアプリケーションをそのプラットフォーム上で実行することができる。アプリケーションをインストールするためのインストーラは、たとえば予めMFP101にインストールされていてよい。アプリケーションサーバー104は、PC100やMFP101などのクライアントからの要求に応答し、MFP101で動作するアプリケーションのインストールファイルを提供する。PC100から見てアプリケーションサーバー104は外部なので外部サーバーと呼ぶこともある。後述のようにPC100はサーバー機能を持つこともあり、これを内部サーバーと呼ぶこともある。ここで、ここに説明する全ての実施形態においては、PC100の通信の設定は正しく行われており、PC100は例えばWebブラウザーなどを介して、アプリケーションサーバー102が提供するアプリケーションプログラムファイルを取得できる。また、PC100はサーバーとして機能することもでき、その場合にはMFP101はPC100が提供するアプリケーションプログラムファイルを取得できる。
[ハードウェア構成(PC)]
図2は、図1に示すPC100のハードウェア構成を示す図である。図2において、キーボードやポインティングデバイスなどのユーザー操作入力を受信する入力デバイス205が設けられている。さらに、ユーザーに視覚的な出力情報フィードバックを与える表示部202を備える。さらに、本実施形態における各種プログラムや実行情報を保管する記憶デバイスRAM 203,HDD(ハードディスクドライブ)やFDD(フレキシブルディスクドライブ)などの外部メモリ206,ROM 204が設けられる。さらに、外部機器との通信を行う通信インターフェースデバイス(通信I/F)207を備え、プログラム実行を行うCPU201を備える。CPU201はプログラムを実行することで、後述するデバイス登録アプリケーションなどを実現できる。なお、周辺機器との接続形態は有線/無線を問わない。PC100は、通信I/F207を介してMFP101やアプリケーションサーバー104と接続する。なおアプリケーションサーバー104もPC100と同様のハードウェア構成を有していてもよい。
[ハードウェア構成(MFP)]
図3は、実施形態に係るMFP101のハードウェア構成を説明するブロック図である。CPU301、表示部302、RAM303、ROM304、操作部305、HDD306、ネットワークI/F307、画像処理部308、プリンター部309、スキャナー部310がシステムバス(不図誌)を介して接続されている。またネットワークI/F307を介してLAN102に接続されている。これによりLAN102を介した、HTTPやTCP/IP等の通信プロトコルによる通信が可能となっている。
CPU301は、ROM304のブートプログラムを実行してHDD306に記憶されたOSや制御プログラムをRAM303に展開し、そのプログラムに基づいてこのMFP101を統括的に制御する。RAM303は、CPU310が動作するためのワークメモリを提供し、また画像データを一時記憶するための画像メモリも提供している。ROM304には、このMFP101のブートプログラムや各種データが格納されている。操作部305は、タッチパネル機能を有する表示部302への操作を受け付けるインターフェースや各種ハードキーを有し、ユーザーによる操作情報を受け付け、その操作に対する処理を実行するための制御を行う。HDD306はハードディスクドライブであり、OSや各種プログラムや画像データを格納している。
ネットワークI/F307は、LAN102に接続し、ネットワークを介して情報の入出力を行う。画像処理部308は、スキャナー部310から入力した画像データ、及びプリンター部309に出力する画像データに対して、回転、色変換、画像圧縮/伸張処理などの画像処理を行う。プリンター部309は、画像処理部308で処理された画像データを受け取り、この画像データに付随している属性データに従い印刷を制御する。スキャナー部310は、原稿上の画像を読み取って、その画像の画像データを作成する。尚、実施形態では、表示部302及び操作部305を用いたGUI(Graphical User Interface)表示が可能なMFPの例で説明するが、このMFP101に代えて、例えば汎用コンピュータ等のような情報処理装置を採用してもよい。
〔ソフトウェア構成図(デバイス登録アプリケーション400)〕
図4は、PC100のデバイス登録アプリケーション400のソフトウェア構成の一例を示す図である。デバイス登録アプリケーション400はPC100で動作し、特にRAM203にロードされてCPU201により実行される。デバイス登録アプリケーション400はMFP101へアプリケーションをリモートインストールするための機能を提供する。デバイス登録アプリケーション400は、リモートインストール処理部401、外部アクセス部402、デバイス制御部403、入力管理部404、画面表示管理部405、サーバー処理部406を備える。
リモートインストール処理部401は、MFP101へのアプリケーションのインストールを実行するための統括的な処理を行う。具体的には、外部アクセス部402を介してアプリケーションサーバー104に接続し、インストールするアプリケーションの情報を取得する。そのアプリケーション情報を元に画面表示管理部405に指示し、インストール対象とするアプリケーションを選択するためのGUI(Graphical User Interface)を表示する。また、ユーザーによって指定されたアプリケーションをインストールするために、デバイス制御部403を介してMFP101へインストールを指示する。具体的には、アプリケーションサーバー104から取得した情報を元にインストールするアプリケーションのインストールファイルのダウンロード先を指定し、そのインストール実行を要求する。
外部アクセス部402はPC100とLAN102を介して接続される外部機器との通信に関する処理を実行する。外部アクセス部402は例えばアプリケーションサーバー104にアクセスし、MFP101にインストールするアプリケーションの情報を取得する。また、PC100をインストールファイルのサーバーとしてMFP101へファイルを提供する際のデータ出力を実行する。
デバイス制御部403は、MFP101に関連する制御を行う。具体的には、MFP101にインストールされているアプリケーションの情報(後述の図8に示す情報801)の取得や、デバイスへのインストール指示(あるいはインストール要求)を実行する。インストール指示は、インストール実行のためのコマンドが、例えばWebのインターフェースとして用意され、そのインターフェースを呼ぶことで実行する。
入力管理部404は、画面表示管理部405により表示されたデバイス登録アプリケーション400のGUIを介して、ユーザーによる入力デバイス205の操作を検知し、ユーザーの操作情報を取得する。
画面表示管理部405は、デバイス登録アプリケーション400のGUIの表示やGUIに対するユーザー操作を受けつけるなどの画面表示制御を行う。
サーバー処理部406は、通信ポートの登録処理やファイアウォールの例外登録、またそれらの解除等のPC100がサーバーとして動作するために必要な構成処理を実行する。HTTPサーバーやFTPサーバーなどのサーバーモジュールもサーバー処理部406に含まれていてよい。
〔ソフトウェア構成図(MFP101のインストール済みアプリケーション)〕
図5は、実施形態に係るMFP101のアプリケーション構成の一例を示す図である。これらアプリケーションは、MFP101にインストールされているアプリケーションを示しており、各アプリケーションはHDD306に格納され、実行時にはRAM303に展開されてCPU301により実行される。本図による例では、インストールサービス(インストール部とも呼ぶ)501、アプリ管理サービス(アプリ管理部とも呼ぶ)502、デフォルトログインアプリ503、デフォルトプリントアプリ504、デフォルトスキャンアプリ505から構成され、これらはMFP101に予めインストールされている。また、これらに加えて、アプリケーションサーバー104によって提供されるアプリケーションをインストールして追加できる。また、その他に、例えば開発ベンダーによって作成されたアプリケーション(不図示)など所望の機能を実現するアプリケーションを追加でインストールすることもできる。
インストール部501は、MFP101のアプリケーションのインストールを制御する。インストール部501は、ネットワークI/F307を介してMFP101に接続されたPC100からのインストール指示によりアプリケーションのインストールを実行する。インストール指示によって指定されたインストールファイル(アプリケーションファイルおよびライセンスファイル)を指定されたダウンロード元からダウンロードしてインストールする。
インストール処理では、インストール部501は、アプリケーションファイルに関連付けられたライセンスファイル(不図示)により当該アプリケーションプログラムのインストールの可否をチェックする。インストール部501は例えば、インストール先のデバイス(例えばMFP101)へのインストールがサポートされているか否かをライセンスファイルに記載されているデバイスIDとMFP101のデバイスIDとの比較で確認する。またインストール部501は、ライセンスファイルに記載れている有効期限からライセンスの有効性を確認する。そして、たとえばインストール対象のアプリケーションを対象のデバイスにインストールでき、かつライセンスが有効であれば、当該アプリケーションを対象デバイスである例えばMFP101にインストールする。MFP101へインストールされるアプリケーションは例えばJava(登録商標)などの言語で記述され、その場合、MFP101にはJava(登録商標)などで記述されたアプリケーションの実行ファイルを実行するためプラットフォームが備えられる。
アプリ管理部502は、MFP101にインストールされているアプリケーションを管理する。例えば、インストール済みアプリケーション情報の要求をPC100から受け付け、MFP101にインストールされているアプリケーションの情報(後述の図8の情報800)をPC100に応答する。また、インストール時に、インストールされるアプリケーションはアプリ管理部502を介してHDD306に保存される。
デフォルトログインアプリ503は、MFP101でユーザー認証が必要な場合の認証機能を提供する。例えば、MFP101の表示部302にログイン画面を表示し、ユーザーによって入力されたログインIDとパスワードなどを含むユーザーの認証情報(またはユーザー情報)によって認証を行う。それにより、ユーザーの権限に応じて、ユーザーによる操作の可否を制御する。
デフォルトプリントアプリ504は、プリンター部309を使用して印刷するための標準アプリケーションである。デフォルトスキャンアプリ505は、スキャナー部310を使用してスキャンを行うための機能を提供する標準アプリケーションである。
〔デバイス登録アプリケーションのGUI〕
図6は、PC100のデバイス登録アプリケーション400によって表示されるユーザインターフェース(UI)画面の一例である。デバイス登録アプリケーション400を使用したインストールでは、ユーザーは対象のMFP101をIPアドレスまたはホスト名の入力により指定し、インストールするアプリケーションを選択することで、所望のMFP101へアプリケーションをインストールできる。図6では、デバイス登録アプリケーション400によるインストール処理の流れをGUIの例により示す。
登録キー入力画面610は、デバイス登録アプリケーション400の初期画面であり、デバイス登録キーを指定するための画面である。デバイス登録キーは、例えばデバイス管理サーバー(不図示)等でデバイスを管理する際にデバイスを特定するためのキー情報であり、インストール対象のMFP101とこのデバイス登録キーとを紐づけて管理するために使用される。デバイス登録キー欄611にデバイス登録キーを入力し、次へボタン612をユーザーが操作(たとえばタッチやクリックなど)実行することで次のIPアドレス指定画面620へ遷移する。なおデバイス登録キーは、本実施例において必須ではない。その場合には、デバイス登録キーを入力することなく次へボタン612を操作することでIPアドレス指定画面620へ遷移する。
IPアドレス指定画面620は、IPアドレスまたはホスト名を入力してインストール対象のMFP101を指定する画面である。IPアドレス指定画面620のIPアドレス欄621でIPアドレスまたはホスト名を指定し、次へボタン622を操作する。キャンセルボタン623が操作された場合は処理を中止する。次へボタン622の操作に応じて、デバイス登録アプリケーション400は、MFP101のデバイス情報とインストールするアプリケーション情報を取得する。MFP101のデバイス情報は、指定されたIPアドレスまたはホスト名に対応するMFP101の基本情報やインストール済みアプリケーションの情報などを指す(後述の図8の情報800)。インストールアプリケーション情報は、インストールするアプリケーションのダウンロード元(URL)やアプリケーション名、バージョン等の情報を示す(後述の図7情報700)。取得に時間を要する場合、処理中を示すアニメーション等の表示をしてもよい。
画面630は、アプリケーション選択画面であり、ユーザーはコンボボックス631により、インストールするアプリケーションを選択する。コンボボックス631には、例えば、ログインアプリ、プリントアプリ、スキャンアプリのすべてをインストールする「ログイン+スキャン+プリント」やログインアプリとプリントアプリをインストールする「ログイン+プリント」(不図示)、スキャンアプリのみインストールする「スキャン」といった、インストールするアプリケーションの組み合わせ(パッケージ)がリスト化されて並ぶ。コンボボックス631ではユーザーがテキストを入力することもできるが、リストからの選択のみができるようにしてもよい。本例では、「ログイン+スキャン+プリント」が選択された状態を示す。この状態でインストールを開始すると、MFP101に、選択されたログインアプリ、プリントアプリ、スキャンアプリの3つのアプリがインストールされる。対象の組み合わせ(パッケージ)を選択し、追加ボタン632を操作することで、インストールの対象デバイスに指定のMFP101が追加される。なおキャンセルボタン633の操作で、指定中のMFP101の追加を中止する。
画面640はデバイス一覧画面であって、アプリケーションのインストール対象デバイスのリスト641が表示される。この例では、アプリケーション選択画面630の追加ボタン632の操作に応じて、画面610〜630における処理によってインストール対象として登録されたMFP101が、対象デバイス欄642としてリスト641に追加されて表示される。インストール対象とするMFP101は複数台登録でき、その場合はリスト641に追加した分のMFP101の情報が表示される。本例では、2台のMFP101が対象デバイスとしてリスト641に追加された状態で、開始ボタン643の実行によりインストールを開始される。
対象デバイス欄644は、画面640で「準備完了」の状態であったIPアドレス「172.24.xx.xx」のMFPがインストールを開始し、「インストール中」の状態に遷移したことを示す。もう一つの対象デバイス欄645は、画面610〜630における処理によって登録されたIPアドレス「172.24.xx.yy」のMFPがインストール実行待ちの状態となり「準備完了」の状態であることを示す。対象デバイス欄644のMFPがインストールを完了した後に、対象デバイス欄645のMFPのインストールが開始される。本例ではこのように逐次インストールを行うが、並行してインストールを行ってもよい。
〔アプリケーション情報〕
図7は、本実施形態を示すアプリケーションサーバー104によって提供されるアプリケーション情報700の一例であり、PC100のデバイス登録アプリケーション400によって取得される。アプリケーション情報700は、前述の図6のIPアドレス指定画面620の次へボタン622が操作されたことをきっかけにアプリケーションサーバー104から取得される。取得されたアプリケーション情報700を基に、インストール対象の選択肢を含むコンボボックス631をアプリケーション選択画面630に表示する。本実施例では、アプリケーション情報700がJSON(JavaScript Object Notation)形式で定義される例に説明するが、特にこの形式に限定されるものではなく、その他の形式であっても良い。
パッケージ情報701は、1つのパッケージ(アプリケーションの組み合わせ)を定義し、個別アプリケーション情報702は1つのアプリケーションに関する情報を定義する。パッケージとは、単数または複数のアプリケーションの組み合わせを指す。
パッケージ名称711はパッケージの名称を示し、図6のアプリケーション選択画面630のコンボボックス631に選択肢として表示される。図7では、パッケージの名称「ログイン+スキャン+プリント」712とパッケージの名称「ログイン+プリント」721の二つが例示されている。
アプリケーション名称712はアプリケーションの名称、バージョン713はアプリケーションのバージョン、ID714はアプリケーションを一意に示すID、ダウンロード元715はアプリケーションファイルのダウンロード元、ダウンロード元716はアプリケーションのライセンスファイルのダウンロード元を示す。
〔デバイス情報〕
図8は、本実施形態を示すMFP101によって提供されるデバイス情報800であり、デバイス登録アプリケーション400によって取得される。デバイス情報800は、図6のIPアドレスの指定画面620の次へボタン622が操作されたことをきっかけにMFP101から取得される。デバイス登録アプリケーション400は、取得されたデバイス情報800を基に、インストール実行時のインストールの要否等の判断に使用する。本実施例においてデバイス情報800は、XML(Extensible Markup Language)形式で定義される例を示すが特にこの形式に限定されるものではなく、その他の形式であっても良い。
デバイス情報800には、デバイスの基本情報及びインストール済みアプリケーション情報801が含まれる。デバイスの基本情報には、デバイスのIPアドレス811、デバイスのシリアル番号812、デバイスの製品名813、デバイスを一意に示すデバイスID814を含む。インストール済みアプリケーション情報801は、1つ分のインストール済みアプリケーションを定義する。今回は、「インストールサービス」、「アプリ管理サービス」、「デフォルトログインアプリ」、「デフォルトプリントアプリ」、「デフォルトスキャンアプリ」が、IPアドレス811で特定されるMFP101に既にインストールされていることが分かる。
そしてひとつのインストール済みアプリケーション情報801には、アプリケーションを一意に示すアプリケーションID821、アプリケーションのバージョン822、アプリケーションの名称823、アプリケーションのインストール日824、アプリケーションの状態825」を含む。図8のアプリケーション「インストールサービス」については、アプリケーションの状態825として「Started」が表記されているが、これはデバイス情報800が取得されたときのインストール済みのアプリケーションが起動中であることを示す。一方、各アプリケーションがインストール済みであるものの起動中でない場合、状態825は「Installed」等の表記に変更される。
〔デバイス登録アプリケーション(PC)のインストールフロー〕
図9は、本実施形態を示すデバイス登録アプリケーション400のインストール処理の一例を示すフローチャートである。処理の概要としてはまず、PC100のRAM203にロードされてCPU201に実行されることで動作するデバイス登録アプリケーション400がMFP101に指示することで、MFP101にアプリケーションをインストールする。MFP101がアプリケーションサーバー104へアクセスできない場合にはPC100がアプリケーションサーバー104へアクセスし、インストールファイルをダウンロードする。PC100上のインストールファイルを用いて、MFP101によるインストールの再試行が行われる。
本処理は、インストールの開始により実行される処理(図6の開始ボタン643の実行)であり。また、本処理は、ユーザーによって選択されたパッケージ(図6のコンボボックス631で選択されたパッケージ)に含むアプリケーションの内、MFP101に未インストールのアプリケーションをインストールの対象とする。具体的には、デバイス登録アプリケーション400は、図6のIPアドレスの指定画面620で次へボタン622の操作に応じて取得したアプリケーション情報700及びデバイス情報800を参照する。アプリケーション情報700に含まれた、ユーザーによって選択されたパッケージ701に含まれるアプリケーション702の内、デバイスにインストール済みのアプリケーション801として存在しないアプリケーションをインストール対象とする。アプリケーション情報700のアプリケーションID714と、デバイス情報800のアプリケーションID821とが同一、且つ、バージョン713とバージョン822とが同一のアプリケーションが同一のアプリケーションとして判断される。本処理はデバイス登録アプリケーション400の入力管理部404が開始ボタン643の実行を受け付けることで処理を開始し、リモートインストール処理部401がインストール対象のアプリケーション情報702を対象に処理を開始する。
S901で、リモートインストール処理部401はインストール対象(すなわちユーザーにより選択されず済み)のアプリケーション702の内、未処理のアプリケーションを処理の対象とする。未処理のアプリケーションを特定する具体的な方法としては、アプリケーションサーバー104から取得したアプリケーション情報700(図7)と、MFPから取得したデバイス情報(図8)とを比較し、アプリケーション情報700にのみ記載されているアプリケーションを「未処理のアプリケーション」であると見なす。この未処理のアプリケーションのうちユーザーにより選択されているアプリケーションがインストール対象となる。具体的に、ユーザーにより選択されたアプリケーションのうち、アプリケーション情報700には表記されているが、デバイス情報800には記載されていないアプリケーションが、未処理のアプリケーションに該当する。たとえば、「ログインアプリ1」「プリントアプリ1」、「スキャンアプリ1」等である。
S902で、インストール対象として特定したアプリケーションのインストールをMFP102へ指示する。具体的には、リモートインストール処理部401が、インストール対象のアプリケーションに対応するアプリケーション情報702のアプリケーションファイルのダウンロード元715及びライセンスファイルのダウンロード元716を指定して、デバイス制御部403を介してMFP101に対しインストール指示を送信する。なおインストール指示と共に送信される情報をインストール情報と呼ぶことにする。デバイス制御部403はインストール実行のためのコマンドをMFP101へ送信し、その応答を待機する。インストール指示を受信したMFP101は受け付けたインストール情報を基にアプリケーションのインストールを実行し、その結果をインストール指示の送信元のPC100へ送信する。たとえばMFP101は、インストール情報に含まれたダウンロード元へとアクセスしてアプリケーションファイルとライセンスファイルを要求し、受信したならそれのインストールを試みる。そして、その結果に応じて、成功或いは失敗というインストール結果と、必要に応じて失敗の理由等をPC100へと送信する。
S903で、デバイス制御部403はインストール実行の戻りとしてインストール結果を受信し、リモートインストール処理部401にその結果を渡す。
S904で、リモートインストール処理部401はデバイス制御部403によって渡されたインストール結果を参照し、インストール成功か否かを判断する。具体的には、結果として返された値を参照し、その値が成功か否かを判断するもので、予め整数やエラーコードによって定義された値の内、成功に該当するか値かどうかを判断する。ここで、インストール成功と判断する場合はS913へ進み、インストール結果をGUIへ表示する。失敗(成功以外)と判断する場合はS905へ進む。
S905で、リモートインストール処理部401は、インストール結果の値を参照し、失敗の要因がダウンロード元を参照できないことによるものかどうかを判断する。具体的には、インストール結果がたとえばダウンロード元がみつからない場合やアクセスが拒否された場合のエラーを示す値かどうかを判断する。ここで、ダウンロード元を参照できないと判断した場合はS906へ進み、それ以外の要因によるエラーの場合はS912へ進み、エラーメッセージをGUIに表示する。
MFP101によってダウンロード元を参照できないと判断する場合には、S906で、PC100がダウンロード元にアクセスし、インストール対象のファイルをダウンロードする処理を試みる。具体的には、リモートインストール処理部401は、外部アクセス部402に指示しアプリケーション情報702のアプリケーションファイルのダウンロード元715及びライセンスファイルのダウンロード元716にアクセスしてファイルをダウンロードする。より詳細には、ダウンロード元715、716で指定されるダウンロード元のファイルを読み込み、PC100のテンポラリーの領域(例えば、OSのテンポラリーフォルダー)に書き込み、ファイルとして保存する。
S907で、リモートインストール処理部401は、外部アクセス部402のダウンロード処理の結果を確認し(保存されたファイルの存在確認、ダウンロード中のエラーの発生有無)、ダウンロードに成功した場合はS908へ進み、失敗と判断する場合はS912へ進み、エラーメッセージをGUIに表示する。
続いてS908の処理で、PC100がインストールファイルのサーバーとして動作するための構成処理を実行する。より詳細にはリモートインストール処理部401が、サーバー処理部406へ指示し、PC100がMFP101からの要求(取得要求ともいう)に応じてインストールファイルのデータを送信するため通信用のポート登録処理及びOSのファイアウォールによってMFP101からの通信がブロックされないための例外登録を実行する。例外登録とは、OSのファイアウォールで通信がブロックされないために、HTTPの通信のためのポート(例えば5000番のポート)を例外として登録することである。これにより、そのPCで例えば5000番のポートを使用した通信がファイアウォールによりブロックされずに通信できるようになる。本実施例において、例外登録をしなくても、PCからのレスポンスに対して「インストール失敗」等のレスポンスをMFPはPCに送信できる。しかし、この例外登録を実行しないと、後述の処理(S909)のようにPCからの指示に対し、MFP101がPC100からアプリケーションのインストールを要求することができない。
S909で、リモートインストール処理部401はデバイス制御部403を介して、MFP101にアプリケーションのインストール実行を再度指示する。このとき、インストール対象のアプリケーションのアプリケーションファイル及びライセンスファイルのダウンロード元として、S906でPC100へ、テンポラリーフォルダーにダウンロードしたファイルをアプリケーションの格納先として参照するように指定する。例えば、S908で5000番のポートを使用するとした場合、「(HTTPでの通信のためのURLを予約した場合)、http://<PCのIPアドレス>:5000/<ファイル名>」のようにダウンロード元を指定する。インストール指示を受信したMFP101は、インストール指示に応じてファイルのダウンロードとインストールとを行い、その結果をPC100に応答する。
S910で、デバイス制御部403はインストール実行の戻りとしてインストール結果を受信し、リモートインストール処理部401にその結果を渡す。
S911で、リモートインストール処理部401はデバイス制御部403によって渡されたインストール結果を参照し、インストール成功か否かを判断する。ここで、インストール成功と判断する場合はS913へ進み、インストール結果をGUIへ表示する。失敗(成功以外)と判断する場合はS912へ進む。
S912では、前述のようにインストールファイルのダウンロードやインストール処理の失敗により本処理へ遷移し、ここではそのエラーの内容に応じて、エラーに対するメッセージを表示する。例えば、MFP101やアプリケーションサーバー104との通信に失敗する場合、HTTPのステータスコードを参照し、そのエラーコードに応じて、その原因と対象として適切なメッセージを表示する。
S913で、リモートインストール処理部401は、処理の結果を画面表示管理部405へ渡しインストールの結果を表示する。具体的には、図6のデバイス一覧画面640のリスト641に表示する該当デバイスのステータスとして結果を示す文字列を表示する。表示する結果は、成功の場合は成功を示す文字列(不図示)、失敗の場合は失敗を示す文字列とその原因及び対象方法を示す文字列を表示する(不図示)。なおステップS912とS913とを分けずに一つのステップにまとめ、成功失敗の別と共に、失敗の原因を表示するようにしてもよい。
以上により1つのアプリケーションのインストール処理を終了すると、S914で、リモートインストール処理部401は、インストール対象のアプリケーションの内、未処理のアプリケーションの有無を判断する。ここで、未処理のものがあれば、S901へ戻り未処理のアプリケーションのインストールを処理する。すべて完了している場合は本図で示すインストール処理を終了する。
〔MFP101のインストールフロー〕
図10は、本実施形態を示すMFP101のインストール処理の一例を示すフローチャートである。本処理はPC100によるインストール実行の指示(前述の図9のS902,またはS909)を受け付けて処理を開始するもので、MFP101のインストール部501が指定されたインストールファイルをダウンロードし、そのインストールファイルを使用してインストールを実行する処理を示す。
S1001で、PC100からの通信を受け付け、インストール部501は、PC100によって受信したコマンドの内容を参照し、要求された処理(インストール)とインストールファイルのURLを特定する。URLは、サーバーおよびフォルダを含めてファイルを指定したアドレス或いは宛先或いは所在情報ということもできる。もちろん宛先や所在情報はURLとは限らず他の記述方法であってもよい。
S1002で、インストール部501はURLで指定されたファイルにアクセスしてインストールファイルのダウンロードを実行する。ネットワークI/F307を介して指定のダウンロード先にアクセスし、ダウンロード先のファイルを読み込み、HDD306上に保存する。
S1003で、インストール部501はダウンロードの結果を参照し、ダウンロード成功と判断する場合はS1004に進み、ダウンロードしたアプリケーションのインストールを実行する。失敗の場合はS1005へ進みダウンロード失敗の結果をPC100へ送信する。ここでダウンロードの失敗の要因として考えられるものに、ダウンロード先に指定されたURLにMFP101がアクセスできない場合がある。例えば、外部との通信にプロキシーサーバー(不図示)が介在するネットワーク構成で使用する場合で、外部接続のためのプロキシー設定(プロキシサーバーの指定、認証情報)が必要となる場合がある。MFP101でプロキシーの設定が正しく設定されていない場合、または、そのような設定自体が不可能(設定として用意されていない)である場合などにはダウンロード元を参照できない。そのような場合は、ダウンロード元を参照できないことを示す戻り値をPC100へ送信する。アプリケーションに対応するライセンスファイルも併せてダウンロードする場合には、そのいずれか一方のダウンロードに失敗した場合には、結果は失敗であるとしてよい。一方、アプリケーションおよびライセンスのインストールが成功した場合は、インストールが成功した旨をPC100に送信する。ライセンスファイルが必要ない場合には、アプリケーションファイルのみを対象として成功か失敗かを決定してよい。
S1004で、ダウンロードしたインストールファイルを使用しアプリケーションのインストールを実行する。インストール処理では、前述(図5)のようにライセンスファイルを参照し、インストール可否のチェックが行われ、インストールされるアプリケーションはアプリ管理部502を介してHDD306に保存される。
S1005で、インストール部501はインストールの処理結果をPC100にネットワークI/F307を介して送信する。
以上で示す実施形態により、MFP101がアプリケーションサーバー104からインストールファイルのダウンロードに失敗した場合、PC100がアプリケーションサーバー104からインストールファイルをダウンロードする。そして、PC100自身が代理のアプリケーションサーバーとなってそのファイルを使用してインストールを実行するようにMFP101へ指示する。MFP101とPC100とがプロキシーを介することなく接続されているなら、こうすることで少なくともMFP101とアプリケーションサーバーのネットワーク設定に起因したインストール失敗を回避できる。
<第2の実施形態>
第1実施形態で示すインストール処理において、PC100をインストールファイルの提供サーバーとして動作させる例を示した。前述のポート登録やファイアウォールの例外登録処理はOSの設定に変更を加えるため、デバイス登録アプリケーション400の実行ユーザーに管理者権限を要するケースも考えられる。管理者権限を持たないユーザーで実行する場合、管理者ユーザーとしての認証(ユーザーIDやパスワード等の入力)が求められ、認証しない場合に続行できない。
本実施例はそのような構成を考慮したもので、以下の図11A、図11B、図15、図16を用いて、PC100をインストールファイルのサーバーとして動作させる場合、且つ、実行ユーザーが管理者権限を持たない場合に管理者権限が必要な旨の通知、また、認証不可の場合にも代替手段としてユーザーのよる手動のインストールを促す通知を行う例を説明する。なお、上記で説明済みのステップについては同じ符番をふり、説明を省略する。
〔デバイス登録アプリケーション(PC)のインストールフロー〕
図11A、図11Bは、本実施形態を示すデバイス登録アプリケーションのインストール処理の一例を示すフローチャートである。図9のステップS908に代えて、ステップS1101〜S1107を実行し、また、処理の終了の前にステップS1108、S1109を実行する点において実施形態1と相違する。なお、図11A、図11Bは一連のフローを分割したものなので、図11としてまとめて参照する。
S907においてPC100がインストールファイルのダウンロードに成功したと判断した後、S1101でリモートインストール処理部401は、サーバー処理部406に問い合わせ、サーバーとして動作するためのポート登録及びファイアウォールの例外登録処理が実行済みかどうかを判断する。ここで実行済みの場合はS909に進み、MFP101に対しインストールの実行を再度指示する。未実行の場合、リモートインストール処理部401は現在PC100にログイン中のユーザーの権限情報を参照し、管理者権限を持つユーザーか否かを判断する(S1102)。ここで、管理者権限を持つと判断する場合は、PC100がインストールファイルのサーバーとして動作するための構成処理を実行する(S1103)。ここでの処理は、図9のS908と同等の処理であるため詳細な説明は省略する。管理者権限を持たない場合は、リモートインストール処理部401は画面表示管理部405へ指示し、続行するためには管理者権限を持つユーザーとしての認証が必要であることを通知した上で続行の可否を判断するメッセージ1501(図15)を表示する(S1105)。メッセージ1501は、処理を続行するためには管理者権限を持つユーザーとしての認証が必要であることを通知する。
メッセージ1501を表示した後、入力管理部404はメッセージ1501に対するユーザー操作を受け付け(S1106)、ユーザー操作が処理の続行であると判断した場合はS1103へ、続行でないと判断された場合はS1107へ進む。
S1102においてログイン中のユーザーが管理者権限を有すると判断された場合、PC100がインストールファイルのサーバーとして動作するための構成処理を実行する(S1103)。ここでの処理は、図9のS908と同等の処理ではある。
一方、ステップS1106においてユーザー操作が続行であると判定した場合には、図9のS908の処理を実行する前に、OSを管理者ユーザーとして実行させるための認証ダイアログ1502(図15)を表示し、ダイアログに管理者ユーザーの認証情報(ユーザーID、パスワード)をユーザーに入力させる。認証情報に間違いがある場合、または認証をキャンセルする場合は、処理を実行せずエラーとなる。認証が成功した場合、すなわち認証情報に係るユーザーが管理者権限を有することを確認した場合、には、図9のS908の処理を実行する。S1104で、S1103の処理結果からサーバー機能の実行が成功したと判断された場合はS909へ、失敗したと判断された場合はS1107へ進む。
S1106においてユーザー操作が処理の続行を選択しなかった場合、S906でPC100のテンポラリー領域に保存したインストールファイルの場所を表示し、ユーザーによる手動インストールを促すメッセージ1503(図15)を表示する(S1107)。メッセージ1503は、テンポラリー領域に保存したインストールファイル(アプリケーションファイル、ライセンスファイル)の場所を表示し、そのファイルを使用してユーザーによる手動インストールを促す。
ユーザーが手動でインストールする場合は、MFP101のリモートUI(図16の1600)をPC100で開き、リモートUI1600からインストールするアプリケーションのアプリケーションファイル及びライセンスファイルを指定してインストールを実行する。ファイルを指定する際には、メッセージ1503に表示されるファイルの格納場所がユーザー操作によって1602、または1603に入力される。
リモートUIについて詳細に説明する。リモートUIは、MFP101の状況(エラーの発生有無や印刷中等の使用状況)を確認するためのステータス表示(不図示)やMFP101の各種設定(不図示)などを変更するための機能を提供する。リモートUIは一般的なインターネットブラウザー(不図示)を使用して表示、操作できる。
リモートUI1600は、インターネットブラウザーからMFP101のリモートUIを表示している状態を示しており、アプリケーションのインストールを実行するための画面である。したがってリモート画面とも呼ぶ。
アドレス1601は、httpアドレスを指定するテキストボックスであり、MFP101でアプリケーションのインストールを実行するための画面へアクセスするためのアドレスが指定された状態を示している。
テキストボックス1602は、MFP101へインストールするアプリケーションのインストールファイルを指定するテキストボックスであり、PC100に保存されているアプリケーションファイルの保存先のパス情報が指定された状態を示している。
テキストボックス1603は、MFP101へインストールするアプリケーションのライセンスファイルを指定するためのテキストボックスである。
実行ボタン1604はインストールを実行するためのボタンであり、アプリケーションファイル1602、ライセンスファイル1603を指定して、インストールボタン1604を実行することでMFP101に対してインストールを実行する。以上がリモートUIに関する説明である。
図11の説明に戻る。すべてアプリケーションのインストール完了後(S914)に、リモートインストール処理部401は、サーバー処理部406に問い合わせることでサーバー機能が実行済みであるかを判定する(S1108)。サーバー機能を実行済みであると判定された場合は、リモートインストール処理部401はサーバー処理部406へ指示し、登録済みのポート及びファイアウォールの例外登録を解除する(S1109)。
本実施例により、管理者ユーザーによる認証が必要な場合の通知、また、処理を続行不可の場合にもPC100にダウンロード済みのインストールファイルの保存先を提示することで、PC100をインストールファイルのサーバーとして動作させる場合に管理者権限を要する場合でも、ユーザーは対処しやすく、利便性が向上できる。
<第3の実施形態>
複数のMFP101が存在する状況下で、1台目のMFP101において上記の図9の処理を行った後、2台目のMFP101でも1台目と同様にインストールファイルのダウンロードに失敗したとする。上記の実施例の処理では、PC100のテンポラリーにインストールファイルがダウンロード済みであっても、2台目のMFP101のインストール処理時に同様の処理(図9)を実行しなければならず、非効率的である。
本実施例は、PC100のテンポラリーにインストールファイルをダウンロード済みの場合、ダウンロード済みのインストールファイルを用いて2台目以降のMFPでもインストールを実施する形態を説明する。なお、図9又は図11で説明済みのステップについては同じ符番を振り説明を省略する。
〔デバイス登録アプリケーション(PC)のインストールフロー〕
図12A、図12Bは、本実施形態を示すデバイス登録アプリケーションのインストール処理の一例を示すフローチャートである。図12A、図12Bは一連のフローを分割したものなので、図12としてまとめて参照する。
リモートインストール処理部401は、対象のMFP101の内、未処理のMFPの一つ、たとえばMFP101を処理対象として特定し(S1201)、S1202へ進む。ここで、未処理のMFP101とは、図6でインストール待機中(準備完了)645のものを指す。
S1202で、リモートインストール処理部401は、PC100のテンポラリーフォルダーに、インストール対象のインストールファイルがダウンロード済みか否かを判断する。ダウンロード済みか否かの判断は、S906の処理時にダウンロードしたアプリケーション情報及びダウンロード先を保存しておき、ここではその情報にインストール対象のアプリケーションと同一(同一ID714且つ同一バージョン716)のものが含まれるか否かを判断する。同一のものが含まれていれば、それはダウンロード済みと判定できる。その他にファイル名の一意に定められている場合、単純に同名のファイルがダウンロード済みか否かで判断する構成でも良い。なおダウンロード済みのインストールファイルは、過去のインストール処理でダウンロードされたものであってもよいし、別途ダウンロードされたものであってもよい。
S1202でテンポラリーにインストールファイルがダウンロード済みであると判定された場合はS909へ進み、ダウンロード済みファイルを用いてMFP101へ再度インストール実行を指示する。ダウンロード済みでないと判定された場合、S901へ進む。
S914においてすべてのアプリケーションが処理済みであると判断された場合、S1203で対象のMFP101がすべて処理済みであるかを判定する。処理済みであると判定された場合はS1108へ進み、未処理のMFP101が存在する場合はS1201へ戻り、未処理のMFP101を対象にインストール処理を実行する。
以上に示す実施形態により、過去に既にPC100へダウンロード済みのインストールファイルが存在する場合は、それを使用してMFP101へインストールを指示することができる。その結果、複数のMFP101へインストールする場合の冗長な処理を避け、効率的にインストールを実行できる。
<第4の実施形態>
第1実施形態〜第3実施形態で示すインストール処理では、インストールするアプリケーションのインストールファイルは、アプリケーション情報700の定義によって決められる。しかし、例えば、イントラネット上にローカルサーバー(不図示)を用意し、ここにインストールファイルを配置して運用したい場合もある(例えば、工場での前設置でアプリケーションをプリインストールさせたい場合など)。
本実施例はそのような構成を考慮したもので、以下の図13A,図13B及び図14を用いて、カスタマイズ用の設定ファイルを配置する場合に、その設定ファイルで定義されているダウンロード先のインストールファイルを使用してインストールを実行する例を説明する。なお、特に明示していない構成及び処理は、すべて第1実施形態〜第3実施形態と同じものとする。また図13A、図13Bは一連のフローを分割したものなので、図13としてまとめて参照する。
〔カスタマイズ設定ファイル〕
図14を用いて、本実施形態で用いる設定ファイル1400について説明する。設定ファイル1400を用いることで例えば、デバイス登録アプリケーション400でインストールするアプリケーションのダウンロード先を変更したい場合に、設定ファイル1400に定義することでダウンロード先を変更できる。今回は、設定ファイル1400がXML形式で定義される形態を例に説明するが、特にこの形式に限定されるものではなく、その他の形式であっても良い。
設定ファイル1400はアプリケーション情報1401を含み、アプリケーション情報1401はさらに、アプリケーションの基本情報1410、インストールするアプリケーションのアプリケーションファイルのダウンロード先のURL1420、ライセンスファイルのダウンロード先のURL1430を含む。
アプリケーションの基本情報1410は、アプリケーション名1411、アプリケーションのバージョン1412、アプリケーションID1413によって定義される。デバイス登録アプリケーション400は、設定ファイル1400が存在する(予め決められた場所に配置されている)場合に設定ファイル1400を読み込み、アプリケーション情報1401の定義が存在する場合に、インストール時のダウンロード先をアプリケーションファイルのダウンロード先のURL1420及びライセンスファイルのダウンロード先のURL1430とするように処理する。
〔デバイス登録アプリケーション(PC)のインストールフロー〕
図13A〜図13Cは、本実施形態を示すデバイス登録アプリケーションのインストール処理の一例を示すフローチャートである。尚、上記で説明済みの処理については同じ符番をふり、説明は省略する。
まず図13AのS1301〜S1304を用いて、カスタマイズ設定の有無を確認する処理について説明する。本処理が実行されるタイミングとしては、例えばデバイス登録アプリケーション400の起動時に一度実行する等の形態がある。
リモートインストール処理部401は、カスタマイズ用の設定ファイルが存在するか否かを確認する(S1301)。具体的には、予め決められた場所(例えば、デバイス登録アプリケーション400の実行ファイルの配置場所と同じ場所)に予め決められたファイル名のファイル(設定ファイル1400)が存在するか否かを判断する。設定ファイル1400が存在しないと判定された場合は処理を終了し、存在すると判定された場合はS1302へ進む。
S1302で、リモートインストール処理部401は、設定ファイル1400を読み込む。
S1303で、ダウンロード先が定義されているか否かを確認する。具体的には、設定ファイル1400の定義にアプリケーション情報1401且つ、ダウンロード先が定義されているか否かを判断する。定義されていないと判断する場合は処理を終了し、定義されていると判断する場合はS1304へ進む。
S1304で、リモートインストール処理部401は、カスタマイズされたダウンロード先の情報として、アプリケーション情報1401の情報を保持する(任意にタイミングで参照できる値としてデバイス登録アプリケーション400で保持する)。
上記で保持される値の有無によって、インストール処理実行時にダウンロード先を変更する。具体的には、図13B中のS1305,S1306の処理に該当し、S1305でリモートインストール処理部401は、カスタマイズ情報の有無を確認する。これはS1304の処理で保持されるアプリケーション情報1401中に現在のインストール対象のアプリケーションの定義が存在するか否かを判断することで行える。たとえば、インストール対象のアプリケーション情報702のアプリケーションのID714とアプリケーションID1413、及びバージョン713とバージョン1412とが一致する情報が存在するか否かを判定する。一致するものがあれば、インストール対象のアプリケーションについてカスタマイズ情報があると判定される。
S1306で、リモートインストール処理部401は、処理対象のアプリケーションのダウンロード先をアプリケーション情報1401で定義されているダウンロード先に変更し、S902でMFP101に対しインストール指示を送信する。
本実施例により、設定ファイルに定義することでインストールファイルのダウンロード先を変更(カスタマイズ)することができる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
400 デバイス登録アプリケーション、401 リモートインストール処理部、402 外部アクセス部、403 デバイス制御部、404 入力管理部、405 画面表示管理部、406 サーバー処理部

Claims (16)

  1. アプリケーションを格納する外部サーバーから前記デバイスへの前記アプリケーションのインストール処理の結果を判定する判定手段と、
    前記判定手段によって前記外部サーバーを参照できなかったと判定された場合、
    前記外部サーバーから前記アプリケーションをダウンロードするダウンロード手段と、
    前記ダウンロード手段によって前記アプリケーションがダウンロードされたダウンロード先を示す所在情報ともに前記アプリケーションのインストール指示を前記デバイスに送信する送信手段と
    を有することを特徴とする情報処理装置。
  2. 前記デバイスに対して前記外部サーバーにより提供される前記アプリケーションをインストールさせるためにインストール指示を送信する指示手段と、
    前記指示手段による前記インストール指示に従って前記デバイスが前記外部サーバーから前記アプリケーションのインストール処理をした後、前記インストール処理の結果を前記デバイスから受信する受信手段と、を更に有し、
    前記判定手段は、前記結果に基づいて、前記アプリケーションが前記デバイスにダウンロードされたかを判定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記デバイスが前記所在情報に基づいて前記アプリケーションを取得するための取得要求を受け付けるために、前記情報処理装置をサーバーとして機能させる手段を更に有し、
    前記送信手段は、前記サーバーとしての機能を実行させた後に、前記インストール指示を前記デバイスに送信することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記情報処理装置を前記サーバーとして機能させる際に、ユーザーの管理者権限を確認する確認手段を更に有し、
    前記確認手段によって前記管理者権限が確認できた場合、前記情報処理装置を前記サーバーとしての機能を実行させ、
    前記確認手段によって前記管理者権限が確認できない場合、前記ダウンロード手段によってダウンロードされた前記アプリケーションのダウンロード先を表示することを特徴とする請求項3に記載の情報処理装置。
  5. 前記確認手段は、前記情報処理装置にログイン中のユーザーの前記管理者権限を確認し、前記管理者権限が確認できない場合には、ユーザーの認証情報の入力を受け付けて前記認証情報に係るユーザーの前記管理者権限を確認し、いずれかが確認できた場合には前記管理者権限が確認できたものとし、いずれもが確認できない場合には前記管理者権限が確認できないものとすることを特徴とする請求項4に記載の情報処理装置。
  6. 前記確認手段によって前記管理者権限が確認できない場合、前記デバイスが提供する画面を表示するリモート画面を更に表示し、
    表示した前記ダウンロード先が前記リモート画面において入力されることに応じて、前記デバイスが前記アプリケーションを前記ダウンロード先からインストールすることを特徴とする請求項4または5に記載の情報処理装置。
  7. インストール対象のアプリケーションが前記ダウンロード手段によりダウンロードされているか否かを判定する第二の判定手段を更に有し、
    前記第二の判定手段により前記アプリケーションがダウンロードされていると判定された場合、前記インストール指示を前記送信手段により前記デバイスに送信することを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
  8. 前記ダウンロード手段によって前記アプリケーションがダウンロードされるダウンロード元を指示するためのファイルを用いて前記ダウンロード元を指定することを特徴とする請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. 前記ファイルの有無を判定し、前記ファイルがあると判定された場合には、前記ファイルに含まれたダウンロード元を指定し、前記ファイルがないと判定された場合には、所定のダウンロード元を指定することを特徴とする請求項8に記載の情報処理装置。
  10. 前記デバイスは、少なくとも印刷機能を有する画像処理装置であって、
    前記アプリケーションは、前記画像処理装置の機能を拡張するためのアプリケーションであることを特徴とする請求項1乃至9のいずれか一項に記載の情報処理装置。
  11. デバイスに対して送信したインストール指示に応じたアプリケーションのインストール結果を前記デバイスから受信する受信手段と、
    前記インストール結果が、指定した外部サーバーへの参照の失敗を示す場合、前記外部サーバーから前記アプリケーションをダウンロードして格納し、当該格納先を指定したインストール指示を前記デバイスに送信する送信手段と
    を有することを特徴とする情報処理装置。
  12. 前記アプリケーションがダウンロード済みかを判定する判定手段を更に有し、
    前記判定手段により前記アプリケーションがダウンロード済みと判定された場合には、前記格納先を指定した前記インストール指示を前記送信手段により前記デバイスに送信することを特徴とする請求項11に記載の情報処理装置。
  13. アプリケーションを格納する外部サーバーから前記デバイスへの前記アプリケーションのインストール処理の結果を判定する判定工程と、
    前記判定工程によって前記外部サーバーを参照できなかったと判定された場合、
    前記外部サーバーから前記アプリケーションをダウンロードするダウンロード工程と、
    前記ダウンロード手段によって前記アプリケーションがダウンロードされたダウンロード先を示す所在情報ともに前記アプリケーションのインストール指示を前記デバイスに送信する送信工程と
    を有することを特徴とする情報処理装置の制御方法。
  14. デバイスに対して送信したインストール指示に応じたアプリケーションのインストール結果を前記デバイスから受信する受信工程と、
    前記インストール結果が、指定した外部サーバーへの参照の失敗を示す場合、前記外部サーバーから前記アプリケーションをダウンロードして格納し、当該格納先を指定したインストール指示を前記デバイスに送信する送信工程と
    を有することを特徴とする情報処理装置の制御方法。
  15. アプリケーションを格納する外部サーバーから前記デバイスへの前記アプリケーションのインストール処理の結果を判定する判定手段と、
    前記判定手段によって前記外部サーバーを参照できなかったと判定された場合、
    前記外部サーバーから前記アプリケーションをダウンロードするダウンロード手段と、
    前記ダウンロード手段によって前記アプリケーションがダウンロードされたダウンロード先を示す所在情報ともに前記アプリケーションのインストール指示を前記デバイスに送信する送信手段と
    してコンピュータを機能させるためのプログラム。
  16. デバイスに対して送信したインストール指示に応じたアプリケーションのインストール結果を前記デバイスから受信する受信手段と、
    前記インストール結果が、指定した外部サーバーへの参照の失敗を示す場合、前記外部サーバーから前記アプリケーションをダウンロードして格納し、当該格納先を指定したインストール指示を前記デバイスに送信する送信手段と
    してコンピュータを機能させるためのプログラム。
JP2018115426A 2018-06-18 2018-06-18 情報処理装置、その制御方法、プログラム Active JP7121555B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018115426A JP7121555B2 (ja) 2018-06-18 2018-06-18 情報処理装置、その制御方法、プログラム
US16/430,534 US11099791B2 (en) 2018-06-18 2019-06-04 Information processing apparatus and method of controlling the same with an application reinstallation feature

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018115426A JP7121555B2 (ja) 2018-06-18 2018-06-18 情報処理装置、その制御方法、プログラム

Publications (3)

Publication Number Publication Date
JP2019219805A true JP2019219805A (ja) 2019-12-26
JP2019219805A5 JP2019219805A5 (ja) 2021-07-29
JP7121555B2 JP7121555B2 (ja) 2022-08-18

Family

ID=68839255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018115426A Active JP7121555B2 (ja) 2018-06-18 2018-06-18 情報処理装置、その制御方法、プログラム

Country Status (2)

Country Link
US (1) US11099791B2 (ja)
JP (1) JP7121555B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002175B (zh) * 2022-05-27 2024-02-06 中国联合网络通信集团有限公司 一种远程控制方法、装置及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067194A (ja) * 2001-08-30 2003-03-07 Sharp Corp 端末装置
JP2005025477A (ja) * 2003-07-01 2005-01-27 Ricoh Co Ltd 情報処理装置、インストール方法、インストールプログラム、バージョン情報管理装置及び認証情報管理装置
US20070061803A1 (en) * 2005-09-09 2007-03-15 Emulex Design & Manufacturing Corporation Automated notification of software installation failures
JP2010128573A (ja) * 2008-11-25 2010-06-10 Sumitomo Electric Ind Ltd エージェントコンピュータプログラム、端末コンピュータ、アプリケーションプログラム取得方法、アプリケーションプログラム配信方法、アプリケーション取得要求データ構造
JP2012150577A (ja) * 2011-01-17 2012-08-09 Konica Minolta Business Technologies Inc 画像処理装置、同装置におけるアプリケーションの移動処理方法及び移動処理プログラム
JP2014013473A (ja) * 2012-07-04 2014-01-23 Canon Inc ソフトウェア更新装置
JP2016192238A (ja) * 2012-03-19 2016-11-10 株式会社リコー 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP2018033005A (ja) * 2016-08-24 2018-03-01 キヤノン株式会社 情報処理システム、情報処理装置及びその制御方法、及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030160989A1 (en) * 2002-02-25 2003-08-28 Xerox Corporation System for installing a printer driver on a network
US8368915B1 (en) * 2006-06-23 2013-02-05 Open Invention Network, Llc System and method for printer driver management in an enterprise network
CN102006334B (zh) * 2007-06-11 2013-01-02 华为技术有限公司 安装软件组件的方法、系统及装置
JP5562002B2 (ja) * 2009-10-30 2014-07-30 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US8707296B2 (en) * 2010-04-27 2014-04-22 Apple Inc. Dynamic retrieval of installation packages when installing software
US9189225B2 (en) * 2012-10-16 2015-11-17 Imprivata, Inc. Secure, non-disruptive firmware updating
CN104035789B (zh) * 2013-03-07 2018-11-27 腾讯科技(深圳)有限公司 应用程序的下载方法及系统、下载及共享终端
US20160350094A1 (en) * 2015-05-26 2016-12-01 Google Inc. Application download emulation
US10789057B2 (en) * 2018-07-16 2020-09-29 Dell Products L.P. Predicting a success rate of deploying a software bundle

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067194A (ja) * 2001-08-30 2003-03-07 Sharp Corp 端末装置
JP2005025477A (ja) * 2003-07-01 2005-01-27 Ricoh Co Ltd 情報処理装置、インストール方法、インストールプログラム、バージョン情報管理装置及び認証情報管理装置
US20070061803A1 (en) * 2005-09-09 2007-03-15 Emulex Design & Manufacturing Corporation Automated notification of software installation failures
JP2010128573A (ja) * 2008-11-25 2010-06-10 Sumitomo Electric Ind Ltd エージェントコンピュータプログラム、端末コンピュータ、アプリケーションプログラム取得方法、アプリケーションプログラム配信方法、アプリケーション取得要求データ構造
JP2012150577A (ja) * 2011-01-17 2012-08-09 Konica Minolta Business Technologies Inc 画像処理装置、同装置におけるアプリケーションの移動処理方法及び移動処理プログラム
JP2016192238A (ja) * 2012-03-19 2016-11-10 株式会社リコー 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP2014013473A (ja) * 2012-07-04 2014-01-23 Canon Inc ソフトウェア更新装置
JP2018033005A (ja) * 2016-08-24 2018-03-01 キヤノン株式会社 情報処理システム、情報処理装置及びその制御方法、及びプログラム

Also Published As

Publication number Publication date
US11099791B2 (en) 2021-08-24
JP7121555B2 (ja) 2022-08-18
US20190384539A1 (en) 2019-12-19

Similar Documents

Publication Publication Date Title
JP5169174B2 (ja) 画像形成装置、表示制御方法及び表示制御プログラム
JP5975666B2 (ja) 情報処理装置、情報処理方法、及びプログラム
KR101238364B1 (ko) 화상 형성 장치의 커스터마이즈 방법 및 시스템
EP2673700B1 (en) Network system, interface board, method of controlling printing on an network system, and program
JP5915278B2 (ja) プログラム、情報処理装置、記憶媒体
JP6499423B2 (ja) 情報処理システム、情報処理装置、及びその制御方法とプログラム
JP5310246B2 (ja) 情報処理装置、情報処理システム、及びプログラム
JP2004312711A (ja) 画像形成装置及び画像形成装置を遠隔のアプリケーションにより操作する方法
JP2007279974A (ja) 表示画面制御装置、電子機器、表示画面制御システム、表示画面制御方法、画面表示方法、表示画面制御プログラム及び画面表示プログラム
JP5223189B2 (ja) 画像形成装置、画面管理方法及び画面管理プログラム
JP2010093532A (ja) 管理装置、画像形成装置、サービス処理方法及びプログラム
US9207899B2 (en) Management apparatus, system, and method of controlling the same
US20180063352A1 (en) Information processing apparatus and control method thereof
JP5907589B2 (ja) 情報処理装置、周辺装置制御方法、プログラム
JP5768342B2 (ja) 印刷制御システム、及びデータ制御方法
JP6790797B2 (ja) 画像処理システム、画像形成装置、アプリケーション実行方法、およびコンピュータプログラム
JP6838907B2 (ja) 画像形成装置、制御方法及びプログラム
JP7121555B2 (ja) 情報処理装置、その制御方法、プログラム
JP2011227739A (ja) 情報処理装置、制御方法、およびプログラム
JP2009205262A (ja) アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体
JP5442418B2 (ja) 複合機、複合機制御システム、プログラムおよび記録媒体
JP4523991B2 (ja) 端末装置、方法、システム、及びプログラム
JP2017117235A (ja) 管理プログラム、管理システム、情報処理装置
JP6786967B2 (ja) 情報処理装置およびプログラム
JP5831695B2 (ja) 情報処理装置、情報処理システムおよびプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210617

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220617

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220805

R151 Written notification of patent or utility model registration

Ref document number: 7121555

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151