(57)【要約】      （修正有）【課題】アプリケーションの機能を停止せずにアップデートすることができる情報処理装置、情報処理システム及び情報処理方法を提供する。【解決手段】情報処理装置は、操作部１２０において、アプリケーションサーバから第１のクライアントアプリケーションを受信するアプリケーション受信部と、受信したクライアントアプリケーションをインストールする制御部と、実行する実行部とを備える。制御部は、第１のクライアントアプリケーションとはバージョンが異なる第２のクライアントアプリケーションがインストールされているときは、第２のクライアントアプリケーションを保持したまま第１のクライアントアプリケーションをインストールする。実行部は、第１及び第２のクライアントアプリケーションがインストールされている場合、ステータス管理テーブルを用いて第１又は第２のクライアントアプリケーションのいずれかをアプリケーションサーバと通信させる。【選択図】図６
2019164568.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションサーバにネットワークを介して接続される情報処理装置であって、
前記アプリケーションサーバにアップロードされた第１のクライアントアプリケーションを受信するアプリケーション受信部と、
前記第１のクライアントアプリケーションをインストールする制御部と、
前記情報処理装置にインストールされているクライアントアプリケーションを実行する実行部と、を備え、
前記制御部は、
前記第１のクライアントアプリケーションとはバージョンが異なる第２のクライアントアプリケーションが前記情報処理装置にインストールされているときは、前記第２のクライアントアプリケーションを保持したまま前記第１のクライアントアプリケーションをインストールし、
前記実行部は、
前記第１および前記第２のクライアントアプリケーションが前記情報処理装置にインストールされている場合、前記第１および前記第２のクライアントアプリケーションのバージョン情報が含まれるステータス管理テーブルを用いて前記第１または前記第２のクライアントアプリケーションのいずれを前記アプリケーションサーバと通信させるかを決定する、
情報処理装置。
【請求項２】
前記第２のクライアントアプリケーションの動作中に前記第１のクライアントアプリケーションの前記アプリケーションサーバとの接続が確立した場合は、前記第２のクライアントアプリケーションの動作終了後に前記第１のクライアントアプリケーションへの切り替えを指示する表示画面を表示させる表示制御部を備える、
請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
前記ステータス管理テーブル内の前記第１のクライアントアプリケーションのステータスが接続となっており、前記ステータス管理テーブル内の前記第２のクライアントアプリケーションのステータスが非接続となっているときに、前記ステータス管理テーブル内の前記第１のクライアントアプリケーションのステータスを非接続とし、前記ステータス管理テーブル内の前記第２のクライアントアプリケーションのステータスを接続とする、
請求項１または請求項２に記載の情報処理装置。
【請求項４】
情報処理装置と、
前記情報処理装置とネットワークを介して接続され、前記情報処理装置にクライアントアプリケーションを提供するアプリケーションサーバと、を備え、
前記情報処理装置は、
前記アプリケーションサーバにアップロードされた第１のクライアントアプリケーションを受信するアプリケーション受信部と、
前記第１のクライアントアプリケーションをインストールする制御部と、
前記情報処理装置にインストールされているクライアントアプリケーションを実行する実行部と、を備え、
前記制御部は、
前記第１のクライアントアプリケーションとはバージョンが異なる第２のクライアントアプリケーションが前記情報処理装置にインストールされているときは、前記第２のクライアントアプリケーションを保持したまま前記第１のクライアントアプリケーションをインストールし、
前記実行部は、
前記第１および前記第２のクライアントアプリケーションが前記情報処理装置にインストールされている場合、前記第１および前記第２のクライアントアプリケーションのバージョン情報が含まれるステータス管理テーブルを用いて前記第１または前記第２のクライアントアプリケーションのいずれを前記アプリケーションサーバと通信させるかを決定する、
情報処理システム。
【請求項５】
アプリケーションサーバにネットワークを介して接続される情報処理装置で実行される情報処理方法あって、
前記アプリケーションサーバにアップロードされた第１のクライアントアプリケーションを受信するステップと、
前記第１のクライアントアプリケーションとはバージョンが異なる第２のクライアントアプリケーションが前記情報処理装置にインストールされているときは、前記第２のクライアントアプリケーションを保持したまま前記第１のクライアントアプリケーションをインストールするステップと、
前記第１および前記第２のクライアントアプリケーションが前記情報処理装置にインストールされている場合、前記第１および前記第２のクライアントアプリケーションのバージョン情報が含まれるステータス管理テーブルを用いて前記第１または前記第２のクライアントアプリケーションのいずれを前記アプリケーションサーバと通信させるかを決定するステップと、を行う
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、および情報処理方法に関する。
【背景技術】
【０００２】
近年、クラウド上のＷｅｂサーバから、アプリケーションソフトウェアを複合機（ＭＦＰ：Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）等にダウンロードし、アプリケーションをインストールやアップデートする仕組みが知られている。
【０００３】
このような技術を用いたシステムとして、シンクライアント端末を更新前の状態に戻す目的で、新しいアプリケーションと古いアプリケーションの差分を保持するアップデート手法が開示されている（特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の手法では、新しいアプリケーションをインストールしてアプリケーションサービスとの接続が確立されるまでの間、常時動作させたい動作であっても、一時的にアプリケーションの機能が使用できなくなるという問題が生じてしまう。
【０００５】
本発明は、上述の課題に鑑みてなされたものであって、アプリケーションの機能を停止せずにアップデートすることができる情報処理装置、情報処理システム、および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、アプリケーションサーバにネットワークを介して接続される情報処理装置であって、前記アプリケーションサーバにアップロードされた第１のクライアントアプリケーションを受信するアプリケーション受信部と、前記第１のクライアントアプリケーションをインストールする制御部と、前記情報処理装置にインストールされているクライアントアプリケーションを実行する実行部と、を備え、前記制御部は、前記第１のクライアントアプリケーションとはバージョンが異なる第２のクライアントアプリケーションが前記情報処理装置にインストールされているときは、前記第２のクライアントアプリケーションを保持したまま前記第１のクライアントアプリケーションをインストールし、前記実行部は、前記第１および前記第２のクライアントアプリケーションが前記情報処理装置にインストールされている場合、前記第１および前記第２のクライアントアプリケーションのバージョン情報が含まれるステータス管理テーブルを用いて前記第１または前記第２のクライアントアプリケーションのいずれを前記アプリケーションサーバと通信させるかを決定する。
【発明の効果】
【０００７】
本発明によれば、アプリケーションの機能を停止せずにアップデートすることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態にかかる情報処理システムの概略構成の一例を示す図である。
【図２】図２は、実施形態にかかるアプリケーションサーバのハードウェア構成の一例を示す図である。
【図３】図３は、実施形態にかかるＭＦＰのハードウェア構成の一例を示す図である。
【図４】図４は、実施形態にかかるＭＦＰのソフトウェア構成の一例を示す図である。
【図５】図５は、実施形態にかかるアプリケーションサーバが有する機能構成の一例を示す図である。
【図６】図６は、実施形態にかかるＭＦＰが有する機能構成の一例を示す図である。
【図７】図７は、実施形態にかかるＭＦＰの操作パネルに表示される表示画面の一例を示す図である。
【図８】図８は、実施形態にかかるＭＦＰの操作パネルに表示される表示画面の他の例を示す図である。
【図９】図９は、実施形態にかかるＭＦＰの操作パネルに表示される表示画面のさらに他の例を示す図である。
【図１０】図１０は、実施形態にかかるＭＦＰの操作パネルに表示される表示画面のさらに他の例を示す図である。
【図１１】図１１は、実施形態にかかるアプリケーションサーバに最新のクライアントアプリケーションがアップロードされている場合のシーケンス図である。
【図１２】図１２は、実施形態にかかるＭＦＰに最新のクライアントアプリケーションと古いクライアントアプリケーションが一時的に併存している場合のシーケンス図である。
【図１３】図１３は、実施形態にかかる情報処理システムにおける情報処理の手順の一例を示すフロー図である。
【図１４】図１４は、実施形態にかかる情報処理システムにおける情報処理の手順の他の例を示すフロー図である。
【発明を実施するための形態】
【０００９】
以下に、図１〜図１４を参照しながら、本発明にかかる情報処理装置、情報処理システム、および情報処理方法の実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【００１０】
（情報処理システムの全体構成）
図１は、実施形態にかかる情報処理システム１の概略構成の一例を示す図である。図１に示すように、情報処理システム１は、ＭＦＰ１００と、アプリケーションサーバ２００とを備え、これらはネットワーク９０を介して相互に接続される。
【００１１】
ＭＦＰ１００は、印刷機能、複写機能、スキャナ機能、及びファクシミリ機能のうち少なくとも２つの機能を有する。ＭＦＰ１００には、ＭＦＰ１００にアプリケーションをインストールする制御を行う機能を提供するインストールアプリケーションが予めインストールされている。
【００１２】
アプリケーションサーバ２００は、クライアントアプリケーションを含む種々のアプリケーションを保持し、ＭＦＰ１００からの要求に応じて、アプリケーションを配信する。また、アプリケーションサーバ２００は、アプリケーションごとに、当該アプリケーションをインストールすることを指示する表示情報が対応付けられたアプリケーション通知画面を、ＭＦＰ１００に対して提供する。
【００１３】
（アプリケーションサーバのハードウェア構成）
図２は、実施形態にかかるアプリケーションサーバ２００のハードウェア構成の一例を示す図である。図２に示すように、アプリケーションサーバ２００は、ＣＰＵ２２１と、ＲＯＭ２２２と、ＲＡＭ２２３と、入力部２２４と、表示部２２５と、通信インタフェース（Ｉ／Ｆ）２２６と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２２７を備え、これらがシステムバス２２８を介して相互に接続されている。
【００１４】
ＣＰＵ２２１は、アプリケーションサーバ２００の動作を統括的に制御する。ＲＯＭ２２２は、プログラム等の各種のデータを記憶する不揮発性のメモリである。ＲＡＭ２２３は、ＣＰＵ２２１が実行する各種の処理の作業領域（ワークエリア）として機能する揮発性のメモリである。
【００１５】
入力部２２４は、ユーザによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示部２２５は各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。
【００１６】
通信Ｉ／Ｆ２２６は、ネットワーク９０と接続するためのインタフェースである。
【００１７】
ＨＤＤ２２７は、アプリケーションサーバ２００の機能を実現させるために必要な各種データを記憶する。
【００１８】
（ＭＦＰのハードウェア構成）
図３は、実施形態にかかるＭＦＰ１００のハードウェア構成の一例を示す図である。図３に示すように、ＭＦＰ１００は、印刷機能、複写機能、スキャナ機能、及びファクシミリ機能などの各種の機能を実現可能な本体１１０と、ユーザの操作を受け付ける操作部１２０とを備える。本体１１０と操作部１２０とは、専用の通信路１３０を介して相互に通信可能に接続されている。通信路１３０は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
【００１９】
本体１１０は、操作部１２０で受け付けた操作に応じた動作を行うことができる。また、本体１１０は、クライアントＰＣ（パーソナルコンピュータ）等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
【００２０】
本体１１０は、ＣＰＵ１１１と、ＲＯＭ１１２と、ＲＡＭ１１３と、ＨＤＤ１１４と、通信Ｉ／Ｆ１１５と、接続Ｉ／Ｆ１１６と、エンジン部１１７とを備え、これらがシステムバス１１８を介して相互に接続されている。
【００２１】
ＣＰＵ１１１は、本体１１０の動作を統括的に制御する。ＣＰＵ１１１は、ＲＡＭ１１３をワークエリア（作業領域）としてＲＯＭ１１２またはＨＤＤ１１４等に格納されたプログラムを実行することで、本体１１０全体の動作を制御し、上述した印刷機能、複写機能、スキャナ機能、及びファクシミリ機能などの各種機能を実現する。
【００２２】
通信Ｉ／Ｆ１１５は、ネットワーク９０と接続するためのインタフェースである。接続Ｉ／Ｆ１１６は、通信路１３０を介して操作部１２０と通信するためのインタフェースである。
【００２３】
エンジン部１１７は、印刷機能、複写機能、スキャナ機能、及びファクシミリ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙等のシート材への印刷を行うプロッタ（画像形成部）、ファクシミリ通信を行うファクシミリ部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するＡＤＦ（自動原稿給送装置）のような特定のオプションを備えることもできる。
【００２４】
操作部１２０は、ＣＰＵ１２１と、ＲＯＭ１２２と、ＲＡＭ１２３と、フラッシュメモリ１２４と、通信Ｉ／Ｆ１２５と、接続Ｉ／Ｆ１２６と、操作パネル１２７とを備え、これらがシステムバス１２８を介して相互に接続されている。
【００２５】
ＣＰＵ１２１は、操作部１２０の動作を統括的に制御する。ＣＰＵ１２１は、ＲＡＭ１２３をワークエリア（作業領域）としてＲＯＭ１２２またはフラッシュメモリ１２４等に格納されたプログラムを実行することで、操作部１２０全体の動作を制御し、ユーザから受け付けた入力に応じた画像等の情報の表示などの後述する各種機能を実現する。
【００２６】
通信Ｉ／Ｆ１２５は、ネットワーク９０と接続するためのインタフェースである。接続Ｉ／Ｆ１２６は、通信路１３０を介して本体１１０と通信するためのインタフェースである。
【００２７】
操作パネル１２７は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報を表示する。これらの情報は、例えば、受け付けた操作に応じた情報、ＭＦＰ１００の動作状況を示す情報、設定状態などを示す情報などである。この例では、操作パネル１２７は、タッチパネル機能を搭載した液晶表示装置（ＬＣＤ）で構成されるが、これに限られない。例えばタッチパネル機能が搭載された有機ＥＬ表示装置で構成されてもよい。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
【００２８】
（ＭＦＰのソフトウェア構成）
図４は、実施形態にかかるＭＦＰ１００のソフトウェア構成の一例を示す図である。図４に示すように、本体１１０は、アプリ層１０１と、サービス層１０２と、ＯＳ層１０３とを有する。アプリ層１０１、サービス層１０２、および、ＯＳ層１０３の実体は、ＲＯＭ１１２やＨＤＤ１１４等に格納されている各種ソフトウェアである。ＣＰＵ１１１が、これらのソフトウェアを実行することにより、各種の機能が提供される。
【００２９】
アプリ層１０１のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するアプリケーションである。例えばアプリケーションとしては、複写機能を提供する複写アプリケーション、スキャナ機能を提供するスキャナアプリケーション、ファクシミリ機能を提供するファクシミリアプリケーション、印刷機能を提供する印刷アプリケーションなどが挙げられる。また、アプリ層１０１のアプリケーションとしては、ソフトウェアを開発するために必要なツールを一纏めにしたＳＤＫ（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ）、ブラウザ、アプリケーションを利用するのに必要な依存ソフトウェアなども挙げられる。
【００３０】
サービス層１０２のソフトウェアは、アプリ層１０１とＯＳ層１０３との間に介在し、アプリケーションに対し、本体１１０が備えるハードウェア資源を利用するためのインタフェースを提供するソフトウェアである。より具体的には、ハードウェア資源に対する動作要求の受付、動作要求の調停を行う機能を提供するソフトウェアである。サービス層１０２が受け付ける動作要求としては、スキャナによる読み取りやプロッタによる印刷等の要求がある。なお、サービス層１０２によるインタフェースの機能は、本体１１０のアプリ層１０１だけではなく、操作部１２０のアプリ層２０１に対しても提供される。すなわち、操作部１２０のアプリ層２０１（アプリケーション）も、サービス層１０２のインタフェース機能を介して、本体１１０のハードウェア資源を利用した機能を実現することができる。例えばサービス層１０２のインタフェース機能は、ＷｅｂＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）で提供される。
【００３１】
ＯＳ層１０３のソフトウェアは、本体１１０が備えるハードウェアを制御する基本機能を提供する基本ソフトウェア（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）である。サービス層１０２のソフトウェアは、各種アプリケーションからのハードウェア資源の利用要求を、ＯＳ層１０３が解釈可能なコマンドに変換してＯＳ層１０３に渡す。そして、ＯＳ層１０３のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリケーションの要求に従った動作を行う。
【００３２】
同様に、操作部１２０は、アプリ層２０１と、サービス層２０２と、ＯＳ層２０３とを有する。操作部１２０が備えるアプリ層２０１、サービス層２０２及びＯＳ層２０３も、階層構造については本体１１０側と同様である。ただし、アプリ層２０１のアプリケーションにより提供される機能や、サービス層２０２が受け付け可能な動作要求の種類は、本体１１０側とは異なる。
【００３３】
アプリ層２０１のアプリケーションは、操作部１２０が備えるハードウェア資源を動作させて所定の機能を提供するソフトウェアであってもよいが、主として本体１１０が備える機能（複写機能、スキャナ機能、ファクシミリ機能、印刷機能）に関する操作や表示を行うＵＩ（ユーザインタフェース）の機能を提供するソフトウェアである。アプリ層２０１には、アプリマーケットアプリケーション（ネイティブアプリケーション）、ブラウザアプリケーションなどが存在する。また、サービス層２０２には、インストーラなどが存在する。
【００３４】
このように、本実施形態のＭＦＰ１００において、本体１１０と操作部１２０はそれぞれが独立したオペレーティングシステムで動作するため、本体１１０と操作部１２０との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部１２０が受け付けたユーザからの指示内容等の情報を本体１１０へ伝達するコマンド通信等の動作や、本体１１０が操作部１２０へイベントを通知する動作などがこれに該当する。ここでは、操作部１２０が本体１１０へコマンド通信を行うことにより、本体１１０の機能を使用することができる。また、本体１１０から操作部１２０に通知するイベントには、本体１１０における動作の実行状況、本体１１０側で設定された内容などが挙げられる。
【００３５】
また、本実施形態では、操作部１２０に対する電力供給は、本体１１０から通信路３０を経由して行われているので、操作部１２０の電源制御を、本体１１０の電源制御とは別に、独立して行うことができる。
【００３６】
（アプリケーションサーバの機能構成）
図５は、実施形態にかかるアプリケーションサーバ２００が有する機能構成の一例を示す図である。説明の便宜上、図５では、主に実施形態に関する機能を例示しているが、アプリケーションサーバ２００が有する機能はこれらに限られない。
【００３７】
図５に示すように、アプリケーションサーバ２００は、アプリケーション通知画面生成部２１と、アプリケーション通知画面送信部２２と、アプリケーション保持部２３と、アプリケーション送信部２４と、アプリケーション制御部２５と、記憶部２６と、を備える。
【００３８】
アプリケーション通知画面生成部２１は、最新バージョンのアプリケーションがアプリケーションサーバ２００にアップロードされていることをＭＦＰ１００に通知するアプリケーション通知画面を生成する。アプリケーション通知画面生成部２１の機能は、例えば図２のＣＰＵ２２１がＲＯＭ２２２等に格納されたプログラムを実行することにより実現される。
【００３９】
アプリケーション通知画面送信部２２は、アプリケーション通知画面生成部２１が生成したアプリケーション通知画面をＭＦＰ１００へと送信する。アプリケーション通知画面送信部２２の機能は、例えば、図２の、プログラムを実行するＣＰＵ２２１と通信Ｉ／Ｆ２２６との組み合わせにより実現される。
【００４０】
アプリケーション保持部２３は、最新バージョンのクライアントアプリケーションを含む複数のアプリケーションを保持する。アプリケーション送信部２４は、ＭＦＰ１００からのインストール要求に応じて、アプリケーション保持部２３に保持されているクライアントアプリケーションをＭＦＰ１００に送信する。アプリケーション保持部２３は、例えば、図２のＨＤＤ２２７により実現される。アプリケーション送信部２４は、例えば、図２の、プログラムを実行するＣＰＵ２２１と通信Ｉ／Ｆ２２６との組み合わせにより実現される。
【００４１】
アプリケーション制御部２５は、アプリケーションサーバ２００の上記各部の制御を行う。具体的には、アプリケーション制御部２５は、ＭＦＰ１００がアプリケーションサーバ２００にアクセスしてきたとき、ＭＦＰ１００のクライアントアプリケーションのバージョンが最新のものになっているか否かを判定する。最新でないときは、アプリケーション通知画面生成部２１およびアプリケーション通知画面送信部２２により、ＭＦＰ１００へと最新バージョンのインストール指示を通知させる。また、アプリケーション制御部２５は、最新バージョンのクライアントアプリケーションがインストールされた後、かかるクライアントアプリケーションの画面ロックを解除して、ユーザが使用可能な状態にする。アプリケーション制御部２５の機能は、例えば図２のＣＰＵ２２１がＲＯＭ２２２等に格納されたプログラムを実行することにより実現される。
【００４２】
記憶部２６は、アプリケーションサーバ２００の機能に必要な種々のデータを記憶する。記憶部２６は、例えば、各アプリケーションのバージョン管理を行う「バージョン管理テーブル」を記憶する。また、記憶部２６は、例えば、各ＭＦＰ１００のＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ）に対応付けられた「クライアントアプリケーション管理テーブル」を記憶する。ＭＡＣアドレスは、個々のＭＦＰ１００をネットワーク９０上で識別するためのアドレスである。「クライアントアプリケーション管理テーブル」は、個々のＭＦＰ１００の現行のアプリケーション情報等を保持する。記憶部２６の機能は、例えば、図２のＨＤＤ２２７とＲＯＭ２２２とＲＡＭ２２３との組み合わせにより実現される。
【００４３】
（ＭＦＰの機能構成）
図６は、実施形態にかかるＭＦＰ１００の操作部１２０が有する機能構成の一例を示す図である。説明の便宜上、図６では、主に実施形態に関する機能を例示しているが、操作部１２０が有する機能はこれらに限られない。
【００４４】
図６に示すように、実施形態にかかる情報処理装置としての操作部１２０は、アプリケーションサーバ２００にネットワーク９０を介して接続される操作部１２０であって、アプリケーションサーバ２００にアップロードされた第１のクライアントアプリケーションとしての最新バージョンのクライアントアプリケーションを受信するアプリケーション受信部と、第１のクライアントアプリケーションをインストールする制御部としてのインストール制御部１５と、情報処理装置にインストールされているクライアントアプリケーションを実行する実行部としてのアプリケーション実行部１６と、を備え、インストール制御部１５は、最新バージョンのクライアントアプリケーションとはバージョンが異なる第２のクライアントアプリケーションとしての古いバージョンのクライアントアプリケーションが操作部１２０にインストールされているときは、古いバージョンのクライアントアプリケーションを保持したまま最新バージョンのクライアントアプリケーションをインストールし、実行部は、新・旧のクライアントアプリケーションが操作部１２０にインストールされている場合、新・旧のクライアントアプリケーションのバージョン情報が含まれるステータス管理テーブルとしての「クライアントアプリケーションステータス管理テーブル」を用いて新・旧のクライアントアプリケーションのいずれをアプリケーションサーバと通信させるかを決定する。以下に、実施形態の操作部１２０の機能について詳細に説明する。
【００４５】
操作部１２０は、表示制御部１１と、アプリケーション通知画面取得部１２と、アプリケーション要求送信部１３と、アプリケーション受信部１４と、インストール制御部１５と、を有する。
【００４６】
表示制御部１１は、画面を操作パネル１２７に表示する制御を行う。例えば表示制御部１１は、各種の操作が行われる操作画面を操作パネル１２７に表示する制御を行う。また、表示制御部１１は、後述のアプリケーション通知画面取得部１２により取得されたアプリケーション通知画面を表示する制御を行う機能を有している。表示制御部１１の機能は、例えば、図３の、プログラムを実行するＣＰＵ１２１と操作パネル１２７との組み合わせにより実現される。
【００４７】
アプリケーション通知画面取得部１２は、アプリケーションサーバ２００から、アプリケーション通知画面を取得する。アプリケーション通知画面取得部１２の機能は、例えば、図３の、プログラムを実行するＣＰＵ１２１と通信Ｉ／Ｆ１２５との組み合わせにより実現される。
【００４８】
アプリケーション要求送信部１３は、アプリケーションサーバ２００にクライアントアプリケーションのインストールをリクエストする。本実施形態では、ユーザが操作パネル１２７上のボタンをタッチすると、アプリケーション要求送信部１３は、アプリケーションサーバ２００に対して、クライアントアプリケーションのインストールを要求する信号を送信する。アプリケーション要求送信部１３の機能は、例えば、図３の、プログラムを実行するＣＰＵ１２１と通信Ｉ／Ｆ１２５との組み合わせにより実現される。
【００４９】
アプリケーション受信部１４は、アプリケーション要求送信部１３からのクライアントアプリケーションのインストール要求の応答として、アプリケーションサーバ２００からクライアントアプリケーションを取得する。アプリケーション受信部１４の機能は、例えば、図３の、プログラムを実行するＣＰＵ１２１と通信Ｉ／Ｆ１２５との組み合わせにより実現される。
【００５０】
インストール制御部１５は、アプリケーション受信部１４により受信されたクライアントアプリケーションをＭＦＰ１００にインストールする制御を行う。また、インストール制御部１５は、すでにインストール済みのクライアントアプリケーションを最新バージョンにアップデートする制御を行う。このとき、インストール制御部１５は、すでにインストール済みの古いクライアントアプリケーションと、最新のクライアントアプリケーションとを一時的に併存させる。インストール制御部１５の機能は、例えば図３のＣＰＵ１２１がＲＯＭ１２２等に格納されたプログラムを実行することにより実現される。
【００５１】
アプリケーション実行部１６は、インストール制御部１５によってインストールされたクライアントアプリケーションを起動し、実行する制御を行う。アプリケーション実行部１６の機能は、例えば図３のＣＰＵ１２１がＲＯＭ１２２等に格納されたプログラムを実行することにより実現される。
【００５２】
操作部１２０が有する機能について、図７〜図１０を用いて更に詳細に説明する。
【００５３】
図７は、実施形態にかかるＭＦＰ１００の操作パネル１２７に表示される表示画面の一例を示す図である。図７は、古いバージョンのクライアントアプリケーションを有するＭＦＰ１００が、最新バージョンのクライアントアプリケーションがアップロードされたアプリケーションサーバ２００にアクセスした場合に、アプリケーション通知画面生成部２１により生成され、アプリケーション通知画面送信部２２により通知される表示画面である。ユーザは、例えば、操作パネル１２７上の「Ｙｅｓ」ボタンをタッチして、最新バージョンのクライアントアプリケーションをＭＦＰ１００にインストールすることができる。
【００５４】
このとき、インストール制御部１５は、古いクライアントアプリケーションを上書きするのではなく、最新のクライアントアプリケーションを別のアプリケーションとしてインストールする。これにより、すでにインストール済みの古いクライアントアプリケーションと、最新のクライアントアプリケーションとが一時的に併存することとなる。
【００５５】
インストール制御部１５は、アプリケーションサーバ２００に対し、新しいクライアントアプリケーションの起動確認を行なう。新しいクライアントアプリケーションは、インストールされるとバックグラウンドで起動される。具体的には、新しいクライアントアプリケーションはアプリケーションサーバ２００から起動確認がとれるまで画面がロックされており、この間、ユーザは古いクライアントアプリケーションしか使用できない。
【００５６】
図８は、実施形態にかかるＭＦＰ１００の操作パネル１２７に表示される表示画面の他の例を示す図である。図８は、新しいクライアントアプリケーションがインストールされた直後であって、アプリケーションサーバ２００との接続が確立されていないときの表示画面である。
【００５７】
図９は、実施形態にかかるＭＦＰ１００の操作パネル１２７に表示される表示画面のさらに他の例を示す図である。図９は、アプリケーションサーバ２００にクライアントアプリケーションがアップロードされた後、古いクライアントアプリケーションを動作させて、アプリケーションサーバ２００とＡＰＩの互換性が崩れた機能を使用したときの表示画面である。最新バージョンのクライアントアプリケーションがインストールされていない、あるいは、アプリケーションサーバ２００との接続が確立されていないために、古いクライアントアプリケーションを用いようとしたときに、アプリケーションサーバ２００のクライアントアプリケーションが最新バージョンにアップデート済みであることによりＡＰＩの互換性が崩れ、図８の画面表示がなされる。
【００５８】
その後、起動確認が取れると、古いクライアントアプリケーションの画面がロックされる。そして、アプリケーションサーバ２００は、新しいクライアントアプリケーションを使用して古いクライアントアプリケーションは削除するようユーザに促し、新しいクライアントアプリケーションの画面ロックが解除される。
【００５９】
図１０は、実施形態にかかるＭＦＰ１００の操作パネル１２７に表示される表示画面のさらに他の例を示す図である。図１０は、新しいクライアントアプリケーションがインストールされ、アプリケーションサーバ２００との接続が確立されているときに、古いクライアントアプリケーションを立ち上げたときの表示画面である。ユーザは、図１０に示す表示画面から、古いクライアントアプリケーションを削除することができる。
【００６０】
実施形態の情報処理システム１においては、ＭＦＰ１００のインストール制御部１５が、新しいバージョンのクライアントアプリケーションがインストールされ、アプリケーションサーバとの接続が確立されるまで、古いバージョンのクライアントアプリケーションを共存させる。この間、古いクライアントアプリケーションからの要求に対してアプリケーションサーバ２００が応答可能であれば応答を返す。その後、新しいクライアントアプリケーションからの接続要求が確認できた段階で、新しいクライアントアプリケーションからの接続を受け付けるようにする。
【００６１】
（情報処理システムの動作例）
次に、図１１を用いて、アプリケーションサーバ２００に最新のクライアントアプリケーションがアップロードされている場合の情報処理システム１の動作について説明する。図１１は、実施形態にかかるアプリケーションサーバ２００に最新のクライアントアプリケーションがアップロードされている場合のシーケンス図である。
【００６２】
図１１に示すように、アプリケーションサーバ２００には、予め最新バージョンのクライアントアプリケーションがアップロードされる（ステップＳ２０１）。最新バージョンのクライアントアプリケーションがアップロードされると、アプリケーション制御部２５は「バージョン管理テーブル」を更新する（ステップＳ２０２）。
【００６３】
一方、古いバージョンのクライアントアプリケーションを有するＭＦＰ１００がアプリケーションサーバ２００にアクセスし、クライアントアプリケーションが起動されると（ステップＳ１０１）、クライアントアプリケーションは、自身の「クライアントアプリケーションステータス管理テーブル」に記録されているバージョン番号をアプリケーションサーバ２００に通知する（ステップＳ１０２）。
【００６４】
アプリケーション制御部２５は、受信したバージョン番号と、記憶部２６の記憶する「バージョン管理テーブル」の最新のクライアントアプリケーションのバージョン番号とを比較する（ステップＳ２０３）。アプリケーション制御部２５は、通知されたクライアントアプリケーションのバージョンが最新のクライアントアプリケーションのバージョンよりも低ければ、送信元のＭＡＣアドレスの「クライアントアプリケーション管理テーブル」の「Ｌａｔｅｓｔ」項目を「ｆａｌｓｅ」に設定する（ステップＳ２０４）。アプリケーション通知画面送信部２２は、最新のクライアントアプリケーションのインストール指示をプッシュ通知する（ステップＳ２０５）。
【００６５】
最新のアプリケーションが既にインストールされていたら、アプリケーション通知画面送信部２２は、指定のｎ時間後に改めて最新のクライアントアプリケーションがインストールされていないか確認するように、ＭＦＰ１００に通知を出す（ステップＳ２０６）。
【００６６】
次に、図１２を用いて、最新のクライアントアプリケーションと古いクライアントアプリケーションが一時的に併存している場合の情報処理システム１の挙動を説明する。図１２は、実施形態にかかるＭＦＰ１００に最新のクライアントアプリケーションと古いクライアントアプリケーションが一時的に併存している場合のシーケンス図である。
【００６７】
図１２に示すように、最新のクライアントアプリケーションがインストールされた直後は、その最新のクライアントアプリケーションが起動されると（ステップＳ１１１）、インストール制御部１５は、ＭＦＰ１００上の最新のクライアントアプリケーションの画面をロックする（ステップＳ１１２）。
【００６８】
最新のクライアントアプリケーションは、アプリケーションサーバ２００に起動通知を出す（ステップＳ１１３）。起動通知を受信したら、アプリケーションサーバ２００は「クライアントアプリケーション管理テーブル」の更新を行う（ステップＳ２１１）。
【００６９】
「クライアントアプリケーション管理テーブル」の更新が完了したら、アプリケーションサーバ２００は、ＭＦＰ１００の操作部１２０に、古いクライアントアプリケーションの画面ロック通知を送り（ステップＳ２１２）、最新のクライアントアプリケーションの画面ロック解除通知を送信する（ステップＳ２１３）。これらの通知を受けて、インストール制御部１５は、古いクライアントアプリケーションの画面をロックし（ステップＳ１１４）、最新のクライアントアプリケーションの画面ロックを解除する（ステップＳ１１５）。
【００７０】
これ以降、古いクライアントアプリケーションを起動すると画面ロックがかかって操作が出来ず、ユーザは古いクライアントアプリケーションを削除する（ステップＳ１１６）。最新のクライアントアプリケーションは画面ロックが外れて操作が可能となる。
【００７１】
（アプリケーションサーバにおける情報処理例）
次に、図１３を用いて、アプリケーションサーバ２００における情報処理の例について説明する。図１３は、実施形態にかかる情報処理システム１における情報処理の手順の一例を示すフロー図である。
【００７２】
図１３に示すように、ステップＳ２２１において、アプリケーションサーバ２００に最新バージョンのクライアントアプリケーションがアップロードされる。ステップＳ２２２において、アプリケーションサーバ２００のアプリケーション制御部２５は、「バージョン管理テーブル」を更新する。
【００７３】
ステップＳ２２３において、アプリケーション制御部２５は、ＭＦＰ１００の操作部１２０からのアクセスがあり、ＭＦＰ１００の有するクライアントアプリケーションからバージョン番号が通知されたか否かを判定する。
【００７４】
バージョン番号が通知されたときは（Ｙｅｓ）、ステップＳ２２４において、アプリケーション制御部２５は、記憶部２６を参照し、通知されたバージョン番号と、「バージョン管理テーブル」の最新のクライアントアプリケーションのバージョン番号とを比較する。
【００７５】
ステップＳ２２５において、アプリケーション制御部２５は、それぞれのバージョン番号が一致するか否かにより、通知されたバージョン番号が最新バージョンのクライアントアプリケーションのバージョン番号であるか否かを判定する。最新バージョンであれば（Ｙｅｓ）、ステップＳ２２９へと移行する。
【００７６】
最新バージョンでなければ（Ｎｏ）、ステップＳ２２６において、アプリケーション通知画面生成部２１が最新バージョンのクライアントアプリケーションを指示する表示画面を生成し、アプリケーション通知画面送信部２２がかかる表示画面をＭＦＰ１００の操作部１２０へと送信する。
【００７７】
ステップＳ２２７において、アプリケーション制御部２５は、最新バージョンのクライアントアプリケーションのインストールが操作部１２０側で受理されたか否かを判定する。受理されないときは（Ｎｏ）、ステップＳ２２６へと戻り、インストール指示を繰り返す。受理されたときは（Ｙｅｓ）、ステップＳ２２８において、アプリケーション送信部２４は、最新バージョンのクライアントアプリケーションを操作部１２０へと送信する。
【００７８】
ステップＳ２２９において、アプリケーション制御部２５は、操作部１２０側の最新バージョンのクライアントアプリケーションから起動通知を受信したか否かを判定する。起動通知を受信したときは（Ｙｅｓ）、ステップＳ２３０において、アプリケーション制御部２５は、「クライアントアプリケーション管理テーブル」を更新する。
【００７９】
ステップＳ２３１において、アプリケーション制御部２５は、古いバージョンのクライアントアプリケーションの画面ロックを操作部１２０に通知する。また、アプリケーション制御部２５は、最新バージョンのクライアントアプリケーションの画面ロック解除を操作部１２０に通知する。
【００８０】
以上により、アプリケーションサーバ２００における情報処理が終了する。
【００８１】
（ＭＦＰにおける情報処理例）
次に、図１４を用いて、ＭＦＰ１００の操作部１２０における情報処理の例について説明する。図１４は、実施形態にかかる情報処理システム１における情報処理の手順の他の例を示すフロー図である。
【００８２】
図１４に示すように、ステップＳ１２１において、ＭＦＰ１００の操作部１２０は、アプリケーションサーバ２００にアクセスする。ステップＳ１２２において、ＭＦＰ１００のクライアントアプリケーションが起動される。ステップＳ１２３において、クライアントアプリケーションは、自身の「クライアントアプリケーションステータス管理テーブル」を参照し、バージョン番号をアプリケーションサーバ２００に通知する。
【００８３】
ステップＳ１２４において、アプリケーション通知画面取得部１２は、アプリケーションサーバ２００から、最新バージョンのクライアントアプリケーンのインストール指示を受信したか否かを判定する。受信していなければ（Ｎｏ）、ステップＳ１２６へと移行する。インストール指示を受信したら（Ｙｅｓ）アプリケーション通知画面取得部１２は、アプリケーション通知画面を取得し、表示制御部１１は、操作パネル１２７にかかる画面を表示させる。
【００８４】
ステップＳ１２５において、アプリケーション要求送信部１３は、ユーザによって、最新バージョンのクライアントアプリケーションをインストールする選択がされたか否かを判定する。インストールの選択がされなかったときは（Ｎｏ）、ステップＳ１２４に戻り、アプリケーション通知画面取得部１２および表示制御部１１が、アプリケーションサーバ２００の指示に従い、アプリケーション通知画面を繰り返し表示する。インストールの選択がされたときは（Ｙｅｓ）、アプリケーション要求送信部１３がその旨をアプリケーションサーバ２００に通知し、アプリケーション受信部１４がアプリケーションサーバ２００から送信されたアプリケーションを受信し、インストール制御部１５がインストールする。このとき、古いバージョンおよび最新バージョンのクライアントアプリケーションを併存させる。
【００８５】
ステップＳ１２６において、アプリケーション実行部１６は、インストールされた最新バージョンのクライアントアプリケーションを起動する。ステップＳ１２７において、インストールされた最新バージョンのクライアントアプリケーションは、アプリケーションサーバ２００にバージョン番号通知および起動通知をする。
【００８６】
ステップＳ１２８において、インストール制御部１５は、アプリケーションサーバ２００から、古いバージョンのクライアントアプリケーションについて画面ロックの通知を受信したか否かを判定する。また、インストール制御部１５は、アプリケーションサーバ２００から、新しいバージョンのクライアントアプリケーションについて画面ロック解除の通知を受信したか否かを判定する。
【００８７】
これらの通知を受信したときは（Ｙｅｓ）ステップＳ１２９において、インストール制御部１５は、古いバージョンのクライアントアプリケーションの画面をロックする。また、インストール制御部１５は、新しいバージョンのクライアントアプリケーションの画面ロックを解除する。
【００８８】
ステップＳ１３０において、インストール制御部１５は、ユーザからの指令にしたがい、古いバージョンのクライアントアプリケーションを削除する。
【００８９】
以上により、ＭＦＰ１００の操作部１２０における情報処理が終了する。
【００９０】
ＭＦＰの本体と操作部とでは、ＯＳ層において異なるソフトウェアが用いられる場合がある。そのため、クライアントアプリケーションのバージョンアップやインストールをリモートで行うことができるよう、独自にアプリケーションを管理するアプリケーションサーバ上にアプリケーションをアップロードしておく技術がある。
【００９１】
しかしながら、新しいクライアントアプリケーションをインストールしてアプリケーションサーバとの接続が確立されるまでの数分間の間、ファクシミリ受信文書の引き取りのような常時稼働させたい動作であっても、一時的にアプリケーションの機能が使用できなくなるという問題があった。
【００９２】
実施形態の情報処理システム１においては、ＭＦＰ１００に異なるバージョンのクライアントアプリケーションを併存させ、新しいバージョンのクライアントアプリケーションとの通信が確立されたら古いバージョンとの通信を拒否し、新しいクライアントアプリケーションとの通信を行なう。このため、常に、新・旧いずれかのクライアントアプリケーションに対してアプリケーションサーバ２００が応答を返すので、クライアントアプリケーションのアップデート時でもアプリケーション全体が停止する時間が存在せず常に動作し続けることができる。これにより、シームレスなクライアントアプリケーションのアップデートが実現される。
【００９３】
（その他の変形例）
実施形態の変形例の情報処理システムにおいては、古いバージョンのクライアントアプリケーションが動作中に、新しいバージョンのクライアントアプリケーションのアプリケーションサーバとの接続が確立した場合、古いクライアントアプリケーションでの動作終了後、新しいクライアントアプリケーションへの切り替えを促す表示画面が表示されてもよい。
【００９４】
上述の実施形態では、新しいクライアントアプリケーションのアプリケーションサーバ２００との接続が確立した後、古いクライアントアプリケーションは適宜削除されるものとしたが、これに限られない。古いクライアントアプリケーションは、予め決められた期間、保持されてもよい。これにより、例えば、新しいクライアントアプリケーションに不具合が生じた場合に、古いクライアントアプリケーションにダウングレードすることができる。
【００９５】
上述の実施形態では、「クライアントアプリケーション管理テーブル」はＭＡＣアドレスに対応付けられるとしたが、アプリケーションサーバの記憶部がＩＰアドレスを記憶していてもよい。ＩＰアドレスが変更されていた場合には、ＭＡＣアドレスからの次の通信を待ち、その際にＩＰアドレスの記録を更新する。これにより、例えば、最新バージョンのクライアントアプリケーションのアップロードがされたときに、記憶されたＩＰアドレスに対してその旨の通知をすることができ、より早く、ユーザに情報を提供することができる。
【００９６】
上述の実施形態では、操作部１２０は操作パネル１２７を含むこととしたが、操作パネル１２７は、ＭＦＰ１００の本体１１０と一体に構成されていても、取り外し可能に構成されていてもよい。また、操作部は、タブレット端末、スマートフォン等の携帯型端末であってもよい。
【００９７】
上述の実施形態では、情報処理装置はＭＦＰ１００であるとしたが、これに限られない。情報処理装置は、印刷装置、複写機、複合機、スキャナ装置、及びファクシミリ装置等のうち、単独の機能を有する装置であってもよい。または、情報処理装置は、プロジェクタ、カメラ、エアコン、冷蔵庫、蛍光灯、自動販売機、及びハンドヘルド型端末等の各種電子機器、並びにＰＣ等であってもよい。
【符号の説明】
【００９８】
１  情報処理システム
１１  表示制御部
１２  アプリケーション通知画面取得部
１３  アプリケーション要求送信部
１４  アプリケーション受信部
１５  インストール制御部
１６  アプリケーション実行部
２１  アプリケーション通知画面生成部
２２  アプリケーション通知画面送信部
２３  アプリケーション保持部
２４  アプリケーション送信部
２５  アプリケーション制御部
２６  記憶部
１００  ＭＦＰ
１１０  本体
１２０  操作部
２００  アプリケーションサーバ
【先行技術文献】
【特許文献】
【００９９】
【特許文献１】特開２０１３−１０５３３２号公報
【図１】
2019164568.tif 000003
【図２】
2019164568.tif 000004
【図３】
2019164568.tif 000005
【図４】
2019164568.tif 000006
【図５】
2019164568.tif 000007
【図６】
2019164568.tif 000008
【図７】
2019164568.tif 000009
【図８】
2019164568.tif 000010
【図９】
2019164568.tif 000011
【図１０】
2019164568.tif 000012
【図１１】
2019164568.tif 000013
【図１２】
2019164568.tif 000014
【図１３】
2019164568.tif 000015
【図１４】
2019164568.tif 000016