(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023060686
(43)【公開日】2023-04-28
(54)【発明の名称】機器、情報処理装置、通信システム
(51)【国際特許分類】
G06F 8/61 20180101AFI20230421BHJP
G06F 8/65 20180101ALI20230421BHJP
【FI】
G06F8/61
G06F8/65
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021170412
(22)【出願日】2021-10-18
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】中尾 友哉
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AD06
5B376AD17
5B376AD22
5B376CA13
(57)【要約】
【課題】機器へのアプリケーションのインストール又はアンインストールを制御できる通信システムを提供すること。
【解決手段】機器にアプリケーションを提供する1つ以上の情報処理装置40,50とネットワークを介して通信可能な機器10であって、前記機器にインストールできるアプリケーション又はアンインストールすべきアプリケーションに関する情報を前記情報処理装置に要求する通信部と、前記情報処理装置から受信した、前記機器にインストールできるアプリケーション又はアンインストールすべきアプリケーションに関する情報に応じて、前記機器にアプリケーションをインストールし、アプリケーションをアンインストールするインストール制御部と、を有することを特徴とする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
機器にアプリケーションを提供する1つ以上の情報処理装置とネットワークを介して通信可能な機器であって、
前記機器にインストールできるアプリケーション又はアンインストールすべきアプリケーションに関する情報を前記情報処理装置に要求する通信部と、
前記情報処理装置から受信した、前記機器にインストールできるアプリケーション又はアンインストールすべきアプリケーションに関する情報に応じて、前記機器にアプリケーションをインストールし、アプリケーションをアンインストールするインストール制御部と、
を有することを特徴とする機器。
【請求項2】
前記機器はテナントに所属しており、
前記アンインストールすべきアプリケーションは、前記テナントによるアプリケーションの契約期間が徒過したアプリケーションであり、
前記アンインストールすべきアプリケーションをアンインストールするアンインストール処理部を有することを特徴とする請求項1に記載の機器。
【請求項3】
前記機器は、前記機器にインストールされているアプリケーションのインストール元を記憶しており、
前記アンインストール処理部は、所定の前記インストール元からインストールされている前記アプリケーションをアンインストールすることを特徴とする請求項2に記載の機器。
【請求項4】
前記機器にインストールされているアプリケーションが所定のライブラリを取り込んでいない場合、前記アンインストール処理部は、前記ライブラリを取り込んでいない前記アプリケーションをアンインストールすることを特徴とする請求項3に記載の機器。
【請求項5】
前記アンインストール処理部は、前記テナントによるアプリケーションの契約期間が徒過しており、所定のインストール元からインストールされており、かつ、所定のライブラリを取り込んでいない前記アプリケーションをアンインストールすることを特徴とする請求項2~4のいずれか1項に記載の機器。
【請求項6】
前記機器はテナントに所属しており、
前記インストールできるアプリケーションは、前記テナントによるアプリケーションの契約期間内のアプリケーションであり、
前記インストールできるアプリケーションをインストールするインストール処理部を有することを特徴とする請求項1~5のいずれか1項に記載の機器。
【請求項7】
前記通信部は、前記機器にインストールできるアプリケーションの最新のバージョンを前記情報処理装置から受信し、
前記機器にインストールされているアプリケーションのバージョンが、前記最新のバージョンより古い場合、前記インストール処理部は、前記インストールされているアプリケーションのバージョンアップを前記情報処理装置に要求して、前記情報処理装置から受信した最新のバージョンのアプリケーションをインストールすることを特徴とする請求項6に記載の機器。
【請求項8】
機器にアプリケーションを提供する情報処理装置であって、
前記機器から、前記機器にインストールできるアプリケーション又はアンインストールすべきアプリケーションに関する情報の要求を受信する通信部を有し、
前記通信部は、前記機器にインストールできるアプリケーション又はアンインストールすべきアプリケーションに関する情報を前記機器に送信することを特徴とする情報処理装置。
【請求項9】
機器と、前記機器にアプリケーションを提供する1つ以上の情報処理装置とがネットワークを介して通信可能な通信システムであって、
前記機器は、
前記機器にインストールできるアプリケーション又はアンインストールすべきアプリケーションに関する情報を前記情報処理装置に要求する通信部と、
前記情報処理装置から受信した、前記機器にインストールできるアプリケーション又はアンインストールすべきアプリケーションに関する情報に応じて、前記機器にアプリケーションをインストールし、アプリケーションをアンインストールするインストール制御部と、
を有することを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器、情報処理装置、及び、通信システムに関する。
【背景技術】
【0002】
ネットワーク上の情報処理装置から機器にサービスを提供するクラウドサービスが知られている。例えば、テナント契約している企業の機器が情報処理装置に接続すると、企業が有するライセンスの範囲内で、情報処理装置が機器に所望の処理を提供するなどのサービスが知られている。
【0003】
このようなクラウドサービスの提供を容易に実現する技術が考案されている(例えば、特許文献1参照。)。特許文献1には、クラウドサービスと機器とを対応付ける技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術は、機器へのアプリケーションのインストール又はアンインストールを制御していないという問題があった。このため、エンドユーザーやカスタマーエンジニアが、機器を操作してアプリケーションをインストールしたり、アンインストールしたりする必要が生じる場合があった。
【0005】
本発明は、上記課題に鑑み、機器へのアプリケーションのインストール又はアンインストールを制御できる通信システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題に鑑み、機器にアプリケーションを提供する1つ以上の情報処理装置とネットワークを介して通信可能な機器であって、前記機器にインストールできるアプリケーション又はアンインストールすべきアプリケーションに関する情報を前記情報処理装置に要求する通信部と、前記情報処理装置から受信した、前記機器にインストールできるアプリケーション又はアンインストールすべきアプリケーションに関する情報に応じて、前記機器にアプリケーションをインストールし、アプリケーションをアンインストールするインストール制御部と、を有することを特徴とする。
【発明の効果】
【0007】
アプリケーションのインストール又はアンインストールを制御できる機器を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】機器がアプリケーションをアンインストールする手順を説明する概略構成図の一例である。
【
図3】コンピュータのハードウェア構成図の一例である。
【
図4】機器の一例であるMFPのハードウェア構成図の一例である。
【
図5】通信システムの機能構成の一例を示す図である。
【
図6】インストール情報記憶部に記憶されているインストール情報の一例を示す図である。
【
図7】アプリ情報記憶部が記憶するアプリ情報の一例を示す図である。
【
図8】機器がアプリケーションのインストール及びアンインストールを制御する手順を説明するシーケンス図の一例である。
【
図9】機器が第二情報処理システムに送信する情報を示す図の一例である。
【
図10】第二情報処理システムが返すアプリ情報の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態の一例として、通信システムと通信システムが行うアプリ管理方法について図面を参照しながら説明する。
【0010】
<処理の概略>
図1は、機器10がアプリケーションをアンインストールする手順を説明する概略構成図である。
【0011】
(1) ユーザーが機器10で動作する管理アプリを操作して、第一情報処理システム40又は第二情報処理システム50が管理するアプリケーションをインストールする操作を行う。
【0012】
(2) 管理アプリは、ファイル管理サーバー60にアプリケーションの実行ファイルを要求する。
【0013】
(3) ファイル管理サーバー60は実行ファイルを機器10に送信する。
【0014】
(4) 管理アプリは、アプリケーション(実行ファイル)を機器10にインストールする際、第一情報処理システム40又は第二情報処理システム50のどちらで管理されているアプリケーションをインストールしたのかを保存しておく。
【0015】
(5) 機器10は1日に1回などの決まったタイミングで、機器10がインストールできるアプリケーション、及び、アンインストールすべきアプリケーションを第二情報処理システム50に問い合わせる。これらのアプリケーションは、テナントの契約により決まっている。
【0016】
(6) 第二情報処理システム50は、機器10が所属するテナントの契約に基づいて、機器10がインストールできるアプリケーション、及び、アンインストールすべきアプリケーションを機器10に送信する。
【0017】
(7) また、管理アプリ13は、ライブラリ対応アプリの一覧を自機が保存しているアプリケーションのメタデータから取得する。ライブラリ対応アプリの詳細は後述するが、ライブラリ対応アプリは、ライブラリを取り込んだアプリである。
【0018】
(8) そして、機器10は、ライブラリ対応アプリでなく、アンインストールすべきであり(契約期間が徒過しており)、かつ、第一情報処理システム40からインストールされているアプリケーションをアンインストールする。
【0019】
また、機器10は、インストールできるアプリケーションがあれば、ファイル管理サーバー60からダウンロードして、機器10にインストールする。
【0020】
このように、本実施形態の機器10は、テナントが契約したアプリケーションの契約期間等に基づいて、機器10にインストールされているアプリケーションのアンインストールを制御できる。また、機器10がアプリケーションを自動でインストールできる。
【0021】
<機能について>
テナントとは、サービスの提供者(本実施形態ではアプリケーションの配信元)からサービスを受けることを契約した企業や自治体などの組織である。ユーザーや機器は一例としてテナントに所属しているが、ユーザー個人でサービスに加入してもよい。
【0022】
アプリケーションとは、ある特定の機能や目的のために開発・使用されるソフトウェアで、コンピュータの操作自体のためのものではないものである。アプリケーションにはネイティブアプリとWebアプリがある。
【0023】
契約状態とは、テナントがアプリケーションを使用する権限が契約で与えられる場合に、その契約の内容である。契約状態には、契約期間、無償使用期間、使用可能人数、制限機能などが含まれてよい。契約により使用する権限があることをライセンスがあるという場合がある。
【0024】
インストールとは、プログラムやアプリケーションをコンピュータシステムに導入し、使えるように設定すること。アンインストールとは、プログラムやアプリケーションをシステムから削除したり、使用できない状態にしたりすることをいう。
【0025】
<システム構成例>
図2は、通信システム100の概略構成図を示す。通信システム100は、互いにネットワークを介して通信可能な、アプリケーション公開装置30、第一情報処理システム40、第二情報処理システム50、ファイル管理サーバー60、及び、機器10を有している。
【0026】
アプリケーション公開装置30は、一台以上の情報処理装置を有している。アプリケーション公開装置30は、ファイル管理サーバー60に登録されているアプリケーションを公開するWebサイトである。カスタマーエンジニア、営業担当者、又は、設計担当者は、アプリケーション公開装置30に機器10から接続し、アプリケーションのリストを閲覧できる。
【0027】
第一情報処理システム40は、一台以上の情報処理装置を有している。第一情報処理システム40は、機器10を利用する顧客をテナントとして管理する。顧客はテナントとしてサービスを受ける契約をした企業等である。第一情報処理システム40は、テナントへの顧客の登録を受け付け、顧客が契約するアプリケーションのパッケージを受け付けて、顧客のテナント上でそのパッケージを利用できるようにする。パッケージとは、使いやすさ等を考慮してまとめられた複数のアプリケーションを組み合わせたものである。顧客に割り当てられたテナントは機器10と対応付けられ、機器10は顧客がテナントとして契約したパッケージを自身にインストールする。
【0028】
第二情報処理システム50は、一台以上の情報処理装置を有している。第二情報処理システム50を説明するために、管理アプリについて説明する。各種のアプリケーションから機器10にインストールするアプリケーションの選択をユーザーから受け付けるアプリケーションを管理アプリという。機器10は管理アプリを実行する。この管理アプリがWebブラウザで表示するWebページの情報を第二情報処理システム50が有してる。管理アプリは、OSが提供するWebブラウザの機能で、第二情報処理システム50から取得した画面を表示する。管理アプリは第二情報処理システム50に接続し、第二情報処理システム50はアプリケーション公開装置30から管理アプリで表示するアプリケーションの情報を取得し、機器10でインストールできる(公開されている)アプリケーションを表示する。管理アプリ13は、他にも夜間の契約確認などを開始する役割を持つ。
【0029】
ファイル管理サーバー60は、アプリケーションの実行ファイル(バイナリファイル)を記憶している情報処理装置である。ファイル管理サーバー60はオンプレミスに配置される。ファイル管理サーバー60は、クラウドに配置されてもよい。
【0030】
機器10は、例えば、MFP(Multifunction Peripheral)である。MFPは、コピー、スキャン、ファクス、プリント等の複数の機能を提供する。MFPは、複合機、画像形成装置、印刷装置、又はプリンター等と呼ばれる場合がある。機器10は、ユーザーが使用する各種の電子機器の一例であり、機器10は、例えば、プロジェクタ、電子黒板、テレビ会議端末、デジタルカメラ等でもよい。この他、機器10はアプリケーションが動作し、Webブラウザ又はこれと同等の機能を有すればよい。
【0031】
なお、
図2では、アプリケーション公開装置30、第一情報処理システム40、第二情報処理システム50、及び、ファイル管理サーバー60をそれぞれ別々に示したが、アプリケーション公開装置30、第一情報処理システム40、第二情報処理システム50、及び、ファイル管理サーバー60は、一台又は複数台の情報処理装置に集約されていてよい。逆に、アプリケーション公開装置30、第一情報処理システム40、第二情報処理システム50、及び、ファイル管理サーバー60の一つ以上は、その機能が複数の情報処理装置に分散されていてよい。
【0032】
<ハードウェア構成例>
図3、
図4を参照して、アプリケーション公開装置30、第一情報処理システム40、第二情報処理システム50、ファイル管理サーバー60及び機器10のハードウェア構成について説明する。
【0033】
<<アプリケーション公開装置、第一情報処理システム、第二情報処理システム、ファイル管理サーバー>>
図3は、本実施形態に係るコンピュータ500の一例のハードウェア構成を示す図である。
図3に示されているように、アプリケーション公開装置30、第一情報処理システム40、第二情報処理システム50、及び、ファイル管理サーバー60は、コンピュータ500によって構築されている。コンピュータ500は、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
【0034】
これらのうち、CPU501は、コンピュータ500全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンター等である。ネットワークI/F509は、ネットワークNを利用してデータ通信をするためのインターフェースである。バスライン510は、
図3に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0035】
また、キーボード511は、文字、数値、又は各種指示などの入力に使用される複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。光学ドライブ514は、着脱可能な記録媒体の一例としての光記憶媒体513に対する各種データの読み出し又は書き込みを制御する。なお、光記憶媒体は、CD,DVD、Blu-Ray(登録商標)等である。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0036】
<<機器>>
図4は、機器10の一例であるMFPのハードウェア構成図である。
図4に示されているように、MFPは、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
【0037】
これらのうち、コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、記憶部であるローカルメモリ(MEM-C)907、HDDコントローラ908、及び、記憶部であるHD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。
【0038】
これらのうち、CPU901は、MFPの全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
【0039】
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0040】
SB904は、NB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDDコントローラ908及びMEM-C907をそれぞれ接続するブリッジの役割を有する。このASIC906は、PCIターゲット及びAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナー部931、プリンター部932、及びファクシミリ部との間でPCIバス922を介したデータ転送を行うPCIユニットとからなる。なお、ASIC906は、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを有していてよい。
【0041】
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【0042】
また、近距離通信回路920には、近距離通信回路のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
【0043】
更に、エンジン制御部930は、スキャナー部931、プリンター部932及びファクシミリ部933を有している。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなるハードキー940bを備えている。コントローラ910は、MFP全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナー部931又はプリンター部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
【0044】
なお、MFPは、操作パネル940のアプリ切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンター機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。ユーザーがドキュメントボックス機能を選択した場合、MFPはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンター機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【0045】
また、ネットワークI/F950は、ネットワークNを利用してデータ通信をするためのインターフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
【0046】
<機能について>
次に、
図5を参照して、本実施形態に係る通信システム100の機能構成について説明する。
図5は、本実施形態に係る通信システム100の一例の機能構成を示す図である。
【0047】
<<機器>>
機器10は、通信部11、インストール制御部12、管理アプリ13、及び、本体制御部18を有している。また、インストール制御部12は、インストール処理部14とアンインストール処理部15を有し、管理アプリ13は操作受付部17と表示制御部16を有している。通信部11は機器10にインストールされたプログラムに含まれる命令を
図4に示したCPU901が実行することで実現される機能又は手段である。インストール処理部14とアンインストール処理部15は、機器10にインストールされたインストール制御部12(プログラム)に含まれる命令を
図4に示したCPU901が実行することで実現される機能又は手段である。表示制御部16と操作受付部17は、機器10にインストールされた管理アプリ13に含まれる命令を
図4に示したCPU901が実行することで実現される機能又は手段である。
【0048】
通信部11は、アプリケーション公開装置30、第一情報処理システム40、及び、第二情報処理システム50との間で各種の情報を送受信する。
【0049】
インストール処理部14は、アプリケーションを機器10へインストールし、インストール情報記憶部19にインストールされているアプリケーションの情報を保存する。アンインストール処理部15は機器10にインストールされているアプリケーションのアンインストールを行う。必要に応じて、インストール処理部14は、ファームウェアの更新も行う。
【0050】
表示制御部16は、OSが提供するWebブラウザの機能を使用して、アプリケーション公開装置30、第一情報処理システム40、及び、第二情報処理システム50が提供するWebページを表示する。なお、管理アプリ13は、アプリケーション公開装置30、第一情報処理システム40、及び、第二情報処理システム50と協働することでWebアプリを実現している。Webアプリとは、Webブラウザ上で動作するプログラミング言語によるプログラムとWebサーバー側のプログラムが協調することによって動作し、Webブラウザ上で実行されるソフトウェア又はその仕組みを言う。WebアプリはWebページを動的に変更できる。
【0051】
操作受付部17は、パネル表示部940aに表示された各種画面におけるユーザーの各種操作を受け付ける。
【0052】
本体制御部18は、機器10が持つコピーなどのエンジンを制御する、機器10本来の機能を制御する。
【0053】
また、機器10は、
図4に示したHD909等に構築されるインストール情報記憶部19を有している。
【0054】
図6は、インストール情報記憶部19に記憶されているインストール情報を示す。インストール情報とは、機器10にインストールされているアプリケーションに関する情報である。インストール情報はアプリケーションごとに保持されている。以下では、インストール情報のうち、本実施形態と関係する記述について説明する。
【0055】
<APP_INFO PRODUCT_ID="1711276273" PARENT="true">101
APP_INFO PRODUCT_IDは、アプリケーションのプロダクトID(識別情報)であり、ファイル管理サーバー60が有する実行ファイルとプロダクトIDにより対応付けられている。
【0056】
<VERSION>1.0</VERSION>102
VERSIONは、アプリケーションのバージョンである。
【0057】
<PACKAGE_NAME>jp.co.sample.xxx.xxxxxxx</PACKAGE_NAME>103
PACKAGE_NAMEは、アプリケーションのパッケージ名である。
【0058】
<TOOL>other(WIMやSD) or server_A or server_B </TOOL>104
この情報は、アプリケーションがどこからインストールされたかを示す。WIMはインストール用パッケージからインストールされたことを、SD(登録商標)はメモリカードからインストールされたことを示す。server_Aは第一情報処理システム40からインストールされたことを示す。server_Bは、第二情報処理システム50からインストールされたことを示す。
【0059】
<IS_server_A_specific_APP>false</IS_server_A_specific_APP>105
この情報は、アプリケーションがライブラリ対応アプリか否かを示す。ライブラリ対応アプリとは、Specific Libraryが取り込まれているアプリケーションをいう。Specific Libraryはどのようなライブラリでもよいが、例えば認証用のライブラリである。ライブラリ対応アプリは、Specific Libraryがアプリケーションの起動を制御するため、ライブラリ対応アプリはアンインストールされない。
【0060】
<<アプリケーション公開装置>>
図5に戻って説明する。アプリケーション公開装置30は、通信部31と画面生成部32とを有している。アプリケーション公開装置30が有するこれらの機能は、アプリケーション公開装置30にインストールされたプログラムに含まれる命令を
図3に示したCPU501が実行することで実現される機能又は手段である。
【0061】
通信部31は、機器10、第一情報処理システム40、第二情報処理システム50、及び、ファイル管理サーバー60等と通信する。画面生成部32は、機器10が表示する各種の画面情報を生成する。なお、画面情報は、HTML、XML、スクリプト言語、及びCSS(Cascading Style Sheet)等で記述されたプログラムであり、主にHTMLによりWebページの構造が規定され、スクリプト言語によりWebページの動作が規定され、CSSによりWebページのスタイルが規定される。
【0062】
<<第二情報処理システム>>
第二情報処理システム50は、通信部51と画面生成部52とを有している。第二情報処理システム50が有するこれらの機能は、第二情報処理システム50にインストールされたプログラムに含まれる命令を
図3に示したCPU501が実行することで実現される機能又は手段である。
【0063】
通信部51は、機器10、アプリケーション公開装置30、第一情報処理システム40、及び、ファイル管理サーバー60等と通信する。画面生成部52は、機器10が表示する各種の画面情報を生成する。
【0064】
また、第二情報処理システム50は、
図3に示したHD504やRAM503に構築されるアプリ情報記憶部53を有している。
【0065】
図7は、アプリ情報記憶部53が記憶するアプリ情報の一例である。アプリ情報記憶部53は、テナントが契約したアプリケーションに関する情報を記憶している。
【0066】
・テナントIDは、ユーザー(顧客の社員)や機器が所属するテナントの識別情報である。
【0067】
・プロダクトIDは、テナントが契約しているアプリケーションの識別情報である。
【0068】
・契約期間は、機器10がアプリケーションを使用できる期間である。
【0069】
・インストールするWebブラウザのURLとは、該テナントの機器10がインストールするアプリケーションの配布先である。
【0070】
・ACT更新権は、機器10が、公開された最新の機能を使用する権限があるか否かを示す。
【0071】
<<第一情報処理システム>>
第一情報処理システム40は、通信部41と画面生成部42とを有している。第一情報処理システム40が有するこれらの機能は、第一情報処理システム40にインストールされたプログラムに含まれる命令を
図3に示したCPU501が実行することで実現される機能又は手段である。
【0072】
通信部41は、機器10、アプリケーション公開装置30、第二情報処理システム50、及び、ファイル管理サーバー60等と通信する。画面生成部42は、機器10が表示する各種の画面情報を生成する。
【0073】
<<ファイル管理サーバー>>
ファイル管理サーバー60は、通信部61を有している。ファイル管理サーバー60が有するこれらの機能は、ファイル管理サーバー60にインストールされたプログラムに含まれる命令を
図3に示したCPU501が実行することで実現される機能又は手段である。
【0074】
通信部61は、機器10、アプリケーション公開装置30、第一情報処理システム40、及び、第二情報処理システム50と通信する。ファイル管理サーバー60は、実行ファイル記憶部62にアプリケーションの実行ファイルを記憶しており、通信部61は、要求に応じて実行ファイルを機器10等に送信する。
【0075】
<通信システムの動作手順>
図8は、本実施形態の機器10がアプリケーションのインストール及びアンインストールを制御する手順を説明するシーケンス図の一例である。
【0076】
機器10では予め管理アプリ13が起動している。ステップS1~S6は、アプリケーションの手動によるインストールの処理を説明する。
【0077】
S1: ユーザーが第二情報処理システム50からアプリケーションをインストールする場合、ユーザーは、管理アプリ13が第二情報処理システム50に接続することで取得したアプリ一覧を表示する。ユーザーが所望のアプリケーションを選択する。
【0078】
S2:操作受付部17がアプリケーションの選択を受け付け、管理アプリ13がインストール制御部12に選択されたアプリケーションのインストール要求を送信する。
【0079】
S3:インストール制御部12のインストール処理部14は、インストール対象のアプリケーションをファイル管理サーバー60に要求する。
【0080】
S4:ファイル管理サーバー60の通信部61は、要求されたインストール対象のアプリケーションの実行ファイルを機器10に送信する。
【0081】
S5:機器10の通信部11は実行ファイルを受信し、インストール処理部14が実行ファイルを機器10にインストールする。
【0082】
S6:インストール処理部14はインストール情報記憶部19に該アプリケーションのインストール情報を保存する。このとき、TOOLタグにはserver_Bが保存される。また、インストール情報記憶部19のIS_server_A_specific_APPの項目については、実行ファイルにSpecific Libraryが含まれるか否かで判断されたtrue又はfalseが設定される。
【0083】
なお、ユーザーが第一情報処理システム40からアプリケーションをインストールする場合、管理アプリ13とは異なるインストール用のアプリ(以下、「ブラウザアプリ」と呼称する)を用いて、アプリケーションをインストールする。この場合も同様に、ブラウザアプリが第一情報処理システム40に接続して、アプリ一覧を表示する。ユーザーが所望のアプリケーションを選択すると、ブラウザアプリは管理アプリ13を介して、インストール制御部12に対してインストール要求を送信する。このように、インストールは管理アプリ13が行う。
【0084】
管理アプリ13(第二情報処理システム50に対応)とブラウザアプリ(第一情報処理システム40に対応)のどちらでインストールされたか、の情報を記憶する際、インストール制御部12は、「管理アプリ13」から取得した情報に基づいて、第二情報処理システム50又は第一情報処理システム40のどちらでインストールされたか、の情報をステップS6でインストール情報記憶部19に記憶することができる。
【0085】
具体的には、管理アプリ13は、管理アプリ13がインストール制御部12に対してインストールを要求する際、Action名をインストール制御部12に送信する。インストール制御部12は、Action名に応じて、第二情報処理システム50又は第一情報処理システム40のどちらでインストールされたかをインストール情報記憶部19に保存する。アプリケーションのインストール操作を管理アプリ13によって受け付けたか、ブラウザアプリを介して管理アプリ13が受け付けたか、に応じてAction名は異なる。
【0086】
S6-2:インストール処理部14はインストール結果(成功、失敗)を管理アプリ13に送信する。インストール結果は、インストールされたアプリケーションの名称と成功又は失敗などでよい。
【0087】
次に、ステップS7~S16は、アプリケーションに関する契約の確認処理について説明する。
【0088】
S7:本体制御部18は、予め設定された時刻になると定期復帰通知を管理アプリ13に送信する。定期復帰通知は夜間などの機器10が使用されていない時刻に、機器10の診断やログの管理等を行うために、機器10が省エネ状態から復帰した旨の通知である。
【0089】
S8:管理アプリ13は定期復帰通知に応じて、インストール済みアプリの一覧をインストール制御部12に要求する。
【0090】
S9:インストール制御部12は、インストール情報記憶部19から各アプリケーションのインストール情報を取得して、管理アプリ13に返す。
【0091】
S10:次に、管理アプリ13は、ライブラリ対応アプリの一覧をインストール制御部12に要求する。
【0092】
S11、S12:インストール制御部12は、アプリケーションからメタデータを取得する。なお、
図8では、インストール制御部12はアプリケーションに対し、メタデータを要求しているが、メタデータはOSが管理する場合がある。OSがAndroid(登録商標)の場合、OSはマニフェストと呼ばれるアプリケーションのデータベースにメタデータを保存している。マニフェストはXML形式であり、例えばapplicationタグにSpecific(又はSpecific Library)という記述が含まれるかどうかにより、インストール制御部12はライブラリ対応アプリか否か判断できる。
【0093】
S13:インストール制御部12はメタデータを参照して、各アプリケーションがライブラリ対応アプリか否かを判断する。
【0094】
S14:インストール制御部12は、ライブラリ対応アプリの一覧を管理アプリ13に返す。
【0095】
S15:次に、管理アプリ13は、インストールできるアプリケーション、及び、アンインストールすべきアプリケーションを特定するため、アプリ情報を第二情報処理システム50に要求する。アプリ情報を取得するため、管理アプリ13は、
図9に示す情報を第二情報処理システム50に送信する。
【0096】
図9は、機器10が第二情報処理システム50に送信する情報を示す。
図9では、項目名と項目の説明が示されている。これらの情報を機器10が第二情報処理システム50に送信すると、機器10がインストールできるアプリケーション、及び、アンインストールすべきアプリケーションが特定される。
・機器認証チケットは、機器20がテナント契約した機器であることの証明となる情報である。機器認証チケットは例えばリクエストヘッダーに添付される。第二情報処理システム50は、機器認証チケットによりテナントを特定できる。このテナントが契約しているアプリケーション等も明らかになる。
・regionは、極情報であり、世界における地域(北米、EU、アジア等)を示す。つまり、アプリケーションが使用されている地域を示す。
【0097】
・dealerは、アプリケーションをインストールする機器10を販売するディーラーの識別情報である。
【0098】
・Product_idは、アプリケーションの製品IDであり、インストールされたアプリケーションを一意に識別する識別情報である。
【0099】
・countは、検索結果1ページ当たりの表示サービス数である。
【0100】
・pageは、検索結果のページ番号を表示するか否かである。
【0101】
・updated_onlyは、更新のあるアプリケーションだけを返すか、全てのアプリケーションを返すかを示す。
【0102】
・countryは、国コードである。
【0103】
・destinationは、アプリケーションが配布されるエンドポイントのことを指す。一例として、EUと国内にサーバーがある場合、それぞれサーバーのURLも異なる。顧客(機器10)の場所によって、サーバーのURLが変わるので、destinationでサーバーが指定される。
【0104】
・packaged_applicationは、レスポンスにパッケージングされたアプリケーションを含めるか否かが設定される。
【0105】
なお、本実施形態では、管理アプリ13が第二情報処理システム50からアプリ情報を取得しているが、第一情報処理システム40からも取得してよい。
【0106】
S16:
図8に戻って説明する。第二情報処理システム50の通信部51は、アプリ情報の要求を受信し、通信部51が、要求されたアプリケーションのアプリ情報を機器10に送信する。第二情報処理システム50が返すアプリ情報を
図10に示す。
【0107】
図10は、第二情報処理システム50が返すアプリ情報を示す。
・インストールするアプリケーション(契約アプリ)のプロダクトID、プロダクトキー
これは、インストールすることができるアプリケーションの識別情報やインストールするためのキー情報である。
・アンインストールするアプリケーション(契約なし、契約切れ)のプロダクトID
これは、アンインストールすべきアプリケーションのキー情報である。
・アプリケーションの最新バージョン
これは、各アプリケーションの最新のバージョンである。
・インストールするWebアプリのURL
これは、各アプリケーションを取得できるURLである。
・ACT更新権(有効、無効)
ACT更新権が有効の場合、最新機能の自動インストールが有効となる。管理アプリ13は、最新の機能がリリースされた際、その機能を機器10に自動でインストールすることができる。つまり、ユーザーは何もしなくても常に最新の機能を使うことができる。
・最新のバージョン
これは、アプリケーションの最新のバージョンである。
【0108】
S17:
図8に戻って説明する。管理アプリ13は、ステップS16で取得したアプリ情報に含まれるバージョン情報とインストール済みのアプリケーションのバージョン情報を比較して、最新バージョンでないアプリ(機器10にインストールされているアプリケーションのバージョンが、最新のバージョンより古い場合)があれば、バージョンアップをインストール制御部12に要求する。
【0109】
S18:インストール制御部12のインストール処理部14は、バージョンアップの対象のアプリケーションの実行ファイルをファイル管理サーバー60に要求する。
【0110】
S19:ファイル管理サーバー60の通信部61は、要求されたバージョンアップの対象のアプリケーションの実行ファイルを機器10に送信する。
【0111】
S20:機器10の通信部11は実行ファイルを受信し、インストール処理部14が最新の実行ファイルを機器10にインストールする。
【0112】
S21:そして、ライブラリ対応アプリでなく、アプリケーションの契約期間が徒過しており、かつ、第一情報処理システム40からインストールされたアプリケーションについて、管理アプリ13は、アンインストールリストに追加する。ライブラリ対応アプリがアンインストールされないのは、ライブラリがライブラリ対応アプリを使用できないように制御するためである。アプリケーションの起動時、ライブラリはライブラリ対応アプリから、ライブラリ対応アプリと第一情報処理システム40を紐づける情報(ライブラリ対応アプリのクライアントID、第一情報処理システム40の仕向け情報)を貰う。ライブラリはこの紐付け情報を元に第一情報処理システム40へ問い合わせを行い、そのライブラリ対応アプリが利用できる状態であれば起動し、利用できる状態でなければ起動しない。また、ライブラリ対応アプリは再契約を促すメッセージを表示する。
【0113】
第一情報処理システム40からインストールされたアプリケーションがアンインストールされるのは以下の理由による。該アプリケーションは基本的に月次/年次で契約更新される。テナントが契約を解除するか、又は、契約更新せずに契約期間が終了したら、そのアプリケーションを利用できなくする必要があるためである。第一情報処理システム40からインストールされたことは、インストール情報の
<TOOL>other(WIMやSD) or server_A or server_B</TOOL>
にserver_Aが記載されていることで判断できる。また、アプリケーションの契約期間が徒過しているかどうかは、
図10に示したように、アンインストールするアプリとして指定されることから判断される。
【0114】
S22:管理アプリ13は、アンインストールリストを指定してアプリケーションのアンインストールをインストール制御部12に要求する。
【0115】
S23:インストール制御部12のアンインストール処理部15は、アンインストールリストにより指定されるアプリケーションをアンインストールする。
【0116】
S24:アンインストール処理部15はアンインストールしたアプリケーションのインストール情報を更新する。アンインストール処理部15は、例えばインストール情報を削除してもよいし、インストール情報に削除済みを登録してもよい。
【0117】
S25:インストール制御部12はアンインストールの結果を管理アプリ13に送信する。アンインストール結果は、アンインストールされたアプリケーションの名称と成功又は失敗などでよい。
【0118】
S26:次に、管理アプリ13は、ステップS16で取得したアプリ情報に基づいて、インストールすることができるアプリケーションがあれば、インストール制御部12にインストールを要求する。インストールすることができるアプリケーションは、
図10のアプリ情報に、インストールするアプリケーションとして含まれるが、機器10にインストールされていないアプリケーションである。
【0119】
なお、ステップS27~S31の処理は、ステップS3~S6-2と同様でよい。
【0120】
<主な効果>
以上説明したように、本実施形態の機器10は、機器10にインストールされているアプリケーションを、ライブラリ対応アプリかどうか、契約の有無、及び、インストール元に応じてアンインストールすることができる。また、機器10が契約しており、インストールされていないアプリケーションを自動的にインストールすることができる。
【0121】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0122】
例えば、本実施形態では機器10としてMFPへのアプリケーションのインストール/アンインストールについて説明したが、機器10はアプリケーションが動作する情報処理装置であればよい。
【0123】
また、本実施形態では、インストール又はアンインストールするアプリケーションを機器10が判断したが、この判断をサーバー側で行ってもよい。
【0124】
また、
図5に示した機能ブロック図におけるブロックの分割は一例であり、複数のブロックを一つのブロックとして実現する、一つのブロックを複数に分割する、及び/又は、一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【0125】
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、第一情報処理システム40及び第二情報処理システム50は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0126】
更に、第一情報処理システム40及び第二情報処理システム50は、本実施形態で開示された処理ステップ、例えば
図8を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、第一情報処理システム40及び第二情報処理システム50が有する複数の情報処理装置によって実行され得る。また、第一情報処理システム40及び第二情報処理システム50は、1つのサーバー装置にまとめられていても良いし、複数の装置に分けられていても良い。
【0127】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【0128】
10 機器
30 アプリケーション公開装置
40 第一情報処理システム
50 第二情報処理システム
60 ファイル管理サーバー
【先行技術文献】
【特許文献】
【0129】