以下、本実施の形態について図面を参照しながら説明する。なお、機能が同じ構成要素及び処理には全図面を通して同じ符合を付与し、重複する説明を省略する。
図1は、本実施の形態に係る情報処理システム100の構成例を示す図である。情報処理システム100は、少なくとも1台以上のデバイス10、管理サーバ20、及び情報DB(Database:DB)30を含み、デバイス10、管理サーバ20、及び情報DB30はそれぞれ通信回線40で接続されている。
デバイス10は、ユーザによってデバイス10にインストールされているアプリケーションが選択された場合に、アプリケーションによって提供される機能を実行する装置である。ユーザは、デバイス10に備えられた画面に表示される、アプリケーションと対応付けられたアイコンを選択することで、アプリケーションによって提供される機能を実行する。すなわち、デバイス10が提供する機能は予め決められているわけではなく、インストールされるアプリケーションによって変化する。
したがって、アプリケーションによって備える機能が変化し、画面に表示されるアイコンを選択して機能の実行を行うものであれば、デバイス10は特定の装置に限定されない。例えばデバイス10は、コンピュータ、スマートフォン、タブレット型端末、及び腕や顔に装着するウェアラブル装置といった情報機器の他、画面に表示されるアイコンを選択して機能の実行を指示する家電及びリモコン、ルータ及びファイアウォール等の通信機器、若しくはコピー、プリンタ、ファックス、及びスキャナー機能を備えた画像形成装置等、何れの種類の装置であってもよい。
また、通信回線40に接続されていればデバイス10の設置場所に制約はなく、各々のデバイス10は同じ場所に設置されていても、異なる場所に設置されていてもどちらでもよい。
なお、図1ではデバイス10-1~デバイス10-NのN台(Nは1以上の整数)のデバイス10が通信回線40に接続されているが、デバイス10-1~デバイス10-Nを区別して説明する必要がない場合、N台のデバイス10をまとめて「デバイス10」と表すことにする。
管理サーバ20は、デバイス10にインストールされるアプリケーションを一元的に管理する情報処理装置である。具体的には、管理サーバ20は管理サーバ20を操作する管理者の指示に従い、各々のデバイス10に対してアプリケーションの追加、更新、及び削除等の処理を行う。
デバイス10に対してアプリケーションを追加することを「インストール」と呼び、インストールされているアプリケーションをデバイス10から削除することを「アンインストール」という。また、デバイス10の機能はアプリケーションをインストールすることで実装されるため、デバイス10にアプリケーションをインストールすることは「機能をインストールする」ことでもある。また、アプリケーションは有償または無償に関わらず、デバイス10に機能を提供する価値ある財であることから「商品」の一例である。
管理サーバ20は、デバイス10に接触しながら、同時に管理サーバ20に接触できないような範囲、すなわち、デバイス10の設置場所とは異なる場所(以降、「遠隔地」という)に設置される。したがって、管理サーバ20を操作する管理者は、例えばデバイス10のアプリケーションを管理する場合、デバイス10がある場所まで移動し、1台ずつデバイス10を操作して管理すると移動に時間を要することになるため、通信回線40を通じて遠隔地からアプリケーションの管理を行う。
情報DB30は、デバイス10にインストールされる各々のアプリケーションに関する情報(以降、「商品情報」という)、及びデバイス10を利用するユーザに関する情報(以降、「ユーザ情報」という)を記憶する記憶装置である。
ここでは一例として、商品情報及びユーザ情報が情報DB30に予め記憶されているものとして説明を行うが、商品情報及びユーザ情報は管理サーバ20の記憶装置に記憶してもよい。この場合、情報処理システム100において情報DB30は不要となる。
管理サーバ20は、情報DB30から商品情報及びユーザ情報を取得して、デバイス10毎にインストール済みのアプリケーションの情報や、デバイス10の機種に対応したアプリケーションであって、まだデバイス10にインストールされていないアプリケーション(以降、「利用可能アプリケーション」ということがある)の情報を表示する。管理者は管理サーバ20に表示される情報を参照して、デバイス10の管理を実行することになる。なお、商品情報及びユーザ情報の詳細については、後ほど説明する。
図2は、管理サーバ20の機能構成例を示す図である。図2に示すように、管理サーバ20は、商品情報取得部1、商品情報記憶部2、ユーザ情報取得部3、取得部4、デバイス情報記憶部5、インストール済み商品抽出部6、利用可能商品抽出部7、制御部8、位置指定部9、表示部11、及び実行部12を含む。
商品情報取得部1は、通信回線40を通じて管理サーバ20からデバイス10にインストールすることができる全てのアプリケーションの商品情報を、管理サーバ20の起動時や管理者が指示したタイミングで情報DB30から取得する。
商品情報には、例えばアプリケーション名、バージョン、提供開始日、対象機種、アプリケーションの入手先URL(Uniform Resource Locator)、及びアプリケーションを構成する各モジュールのファイル名やバージョンが含まれる。商品情報には、アプリケーションに関する情報であればこれらの情報に限られず、他の情報が含まれてもよい。
商品情報取得部1は、情報DB30から取得した商品情報を商品情報記憶部2に通知する。
商品情報記憶部2は、商品情報取得部1から受け付けた商品情報をアプリケーション毎に記憶装置に記憶する。
ユーザ情報取得部3は、デバイス10を利用するユーザのユーザ情報を、管理サーバ20の起動時や管理者が指示したタイミングで情報DB30から取得する。
ユーザ情報は、例えばスマートフォンのように各々のユーザに配布され、ユーザが占有して利用するようなデバイス10を管理する場合に用いられる。ユーザ情報には、例えばデバイス10を利用するユーザのユーザ名、ユーザが取得可能なアプリケーション(取得可能アプリケーション)のアプリケーション名、及びユーザが既にデバイス10で利用しているアプリケーション(インストール済みアプリケーション)のアプリケーション名といった情報が含まれる。取得可能アプリケーションとは、ユーザが既に取得しているか否かに関わらず、ユーザが利用しているデバイス10の機種に適合したアプリケーションであって、管理サーバ20から取得可能なデバイス10のアプリケーションのことをいう。
ユーザ情報には、ユーザに関する情報であればこれらの情報に限られず、他の情報が含まれてもよい。
ユーザ情報取得部3は、情報DB30から取得したユーザ情報を後述する利用可能商品抽出部7に通知する。
取得部4は、管理サーバ20の起動時や管理者が指示したタイミングで、通信回線40を通じてデバイス10からデバイス情報を取得する。
デバイス情報は、例えばデバイス10を識別するための情報、デバイス10が有する機能、及びデバイス10の仕様のように、デバイス10を特定し、デバイス10の特徴を示す情報のことである。具体的にはデバイス10の機種名、ダウンロード済みアプリケーションの名称やバージョン、及び画面の構成情報が含まれるが、デバイス情報には、デバイス10に関する情報であればこれらの情報に限られず、他の情報が含まれてもよい。
画面の構成情報とは、例えば画面の大きさ、解像度、及び画面に表示されるアイコンの配置形態等、画面における表示属性を示す情報である。また、アイコンの配置形態とは、画面の横方向(行方向ともいう)、及び画面の縦方向(列方向ともいう)にそれぞれ何個のアイコンが配置されるかといった、アイコンの配置に関する情報である。
なお、アイコンは必ずしも画面の縦方向及び横方向に沿って格子状に整列して配置される必要はなく、例えば円形に配置されてもよい。アイコンが格子状以外の形状で配置される場合、どのような形状で何個のアイコンが画面のどの位置に配置されるかを示す情報が画面の構成情報に含まれる。
取得部4は、デバイス10から取得したデバイス情報をデバイス情報記憶部5に通知する。
デバイス情報記憶部5は、取得部4から受け付けたデバイス情報をデバイス10毎に記憶装置に記憶する。
デバイス情報記憶部5にデバイス情報が記憶されると、インストール済み商品抽出部6は、管理者によって指定されたデバイス10のデバイス情報をデバイス情報記憶部5から取得して、デバイス10におけるインストール済みアプリケーションを抽出する。この場合、インストール済み商品抽出部6は、抽出したインストール済みアプリケーションの商品情報を商品情報記憶部2から取得し、インストール済みアプリケーションに商品情報を対応付けてもよい。
インストール済み商品抽出部6は、デバイス10のインストール済みアプリケーションの名称を含む情報を制御部8に通知する。
一方、利用可能商品抽出部7は、ユーザ情報取得部3から受け付けたユーザ情報に含まれる取得可能アプリケーション名とダウンロード済みアプリケーション名を参照して、取得可能アプリケーションの中から利用可能アプリケーションを抽出する。利用可能アプリケーションとは、取得可能アプリケーションのうち、指定したデバイス10にインストールされていないアプリケーションのことであり、管理者は利用可能アプリケーションの中からデバイス10に追加するアプリケーションを選択することになる。
また、利用可能商品抽出部7は、抽出した利用可能アプリケーションの商品情報を商品情報記憶部2から取得し、利用可能アプリケーションに商品情報を対応付けてもよい。
利用可能商品抽出部7は、デバイス10に対する利用可能アプリケーションの名称を含む情報を制御部8に通知する。
制御部8は管理サーバ20に含まれる各機能部を制御して、管理サーバ20で管理者の指示に従った処理を実行する。
例えば制御部8は、インストール済み商品抽出部6及び利用可能商品抽出部7からそれぞれ指定したデバイス10におけるインストール済みアプリケーションの名称、及び利用可能アプリケーションの名称を受け付けると、管理者の指示に従って表示部11を制御し、管理サーバ20の表示ユニット29にインストール済みアプリケーションの一覧、及び利用可能アプリケーションの一覧を表示させる。
一方、位置指定部9は、アプリケーションがインストールされるデバイス10の画面における、アイコンの表示位置の指定に関する処理を行う機能部であり、受付部9A及び通知部9Bを含む。
受付部9Aは、表示ユニット29に表示された利用可能アプリケーションの中からユーザが選択したアプリケーションを受け付け、制御部8に通知する。ユーザが選択した利用可能アプリケーションはデバイス10にインストールことになるため、受付部9Aは、アプリケーションのインストール指示を受け付けることになる。
また、受付部9Aは、ユーザが選択したアプリケーションがデバイス10にインストールされた後の、デバイス10の画面におけるアイコンの表示位置の指定を受け付け、受け付けた表示位置の指定を制御部8に通知する。
制御部8は、位置指定部9の受付部9Aから受け付けた表示位置にアプリケーションのアイコンが表示されるように、デバイス10の画面に表示されるアイコンのレイアウトを規定するレイアウト情報を生成し、アイコンのレイアウト情報と共にアプリケーションのインストール指示を実行部12に通知する。
実行部12は制御部8の指示に従って、指定されたアプリケーションをデバイス10にインストールすると共に、アイコンのレイアウト情報をデバイス10に送信して、インストールしたアプリケーションのアイコンが受付部9Aで受け付けた表示位置に表示されるように設定する。
制御部8は、アプリケーションのインストールだけでなく、管理者の指示に応じて、デバイス10にインストールされているアプリケーションの更新及び削除の処理を制御する。したがって、実行部12は制御部8からアプリケーションの更新及び削除の指示を受け付けた場合には、指定されたデバイス10の指定されたアプリケーションの更新及び削除を実行する。
なお、ユーザは、デバイス10の画面に表示されるアプリケーションのアイコンを選択してアプリケーションを実行することから、アプリケーションのアイコンは、ユーザがデバイス10で実行される機能を選択するための選択部として機能する。
位置指定部9の通知部9Bは、例えば受付部9Aで受け付けたアイコンの表示位置にアイコンを配置することができない等、管理者が行ったアイコンの表示位置の指定に対する応答を、表示部11を通じて管理者に通知する。
図3は、管理サーバ20における電気系統の要部構成例を示す図である。管理サーバ20は、例えばコンピュータを用いて構成される。
コンピュータで構成される管理サーバ20は、図2に示した各部の処理を担うCPU(Central Processing Unit)21、情報処理プログラムを記憶するROM(Read Only Memory)22、CPU21の一時的な作業領域や記憶領域として使用されるRAM(Random Access Memory)23、不揮発性メモリ24、及び入出力インターフェース(I/O)25を備える。そして、CPU21、ROM22、RAM23、不揮発性メモリ24、及びI/O25がバス26を介して各々接続されている。
不揮発性メモリ24は、不揮発性メモリ24に供給される電力が遮断されても、記憶した情報が維持される記憶装置の一例であり、例えば半導体メモリが用いられるが、ハードディスクを用いてもよい。情報DB30に代わって管理サーバ20で商品情報及びユーザ情報を記憶しておく場合、商品情報及びユーザ情報は不揮発性メモリ24に記憶される。
一方、I/O25には、例えば通信ユニット27、入力ユニット28、及び表示ユニット29が接続される。
通信ユニット27は通信回線40と接続され、デバイス10や情報DB30のように通信回線40と接続された各種装置と通信を行う通信プロトコルを備える。
入力ユニット28は、例えば管理サーバ20の管理者からの指示を受け付けてCPU21に通知する入力装置であり、例えばボタン、キーボード、マウス、及びタッチパネル等が用いられる。
表示ユニット29は、CPU21によって処理された情報を画像として表示する表示装置であり、例えば液晶ディスプレイ、または有機EL(Electro Luminescence)ディスプレイ等が用いられる。このように画像が表示される表示ユニット29の画面は、本実施の形態に係る表示領域の一例である。
なお、I/O25に接続されるユニットは、図3に示した各種ユニットに限定されない。例えば表示ユニット29に表示された画像を用紙等の記録媒体に印刷する印字ユニットをI/O25に接続してもよい。
次に、本実施の形態に係る管理サーバ20の動作について説明する。図4は、例えば管理者からデバイス10に対するアプリケーションのインストール指示を受け付けた場合に、CPU41によって実行される情報処理の流れの一例を示すフローチャートである。
情報処理を規定する情報処理プログラムは、例えば管理サーバ20のROM22に予め記憶されている。管理サーバ20のCPU21は、ROM22に記憶される情報処理プログラムを読み込み、情報処理を実行する。なお、アプリケーションのインストール対象となるデバイス10は管理者によって予め設定されているものする。また、アプリケーションのインストール対象となるデバイス10は複数であってもよいが、説明を分かりやすくするため、まず、アプリケーションのインストール対象となるデバイス10が1台の場合について説明を行う。
まず、CPU21は、デバイス10にインストールするアプリケーションを管理者に選択させる選択画面を表示ユニット29に表示する。
そのため、ステップS10において、CPU21は、ユーザのユーザ情報を情報DB30から取得してRAM23に記憶する。
ステップS20において、CPU21は、管理サーバ20からデバイス10にインストールされるアプリケーションの一覧情報、すなわち、管理サーバ20で管理しているアプリケーションの商品情報を情報DB30から取得してRAM23に記憶する。
ステップS30において、CPU21は、通信回線40を通じてアプリケーションのインストール対象となっているデバイス10(以降の説明では単に「デバイス10」という)からデバイス情報を取得し、RAM23に記憶する。
ステップS40において、ステップS30で取得したデバイス情報からインストール済みアプリケーション名を抽出し、デバイス10におけるインストール済みアプリケーションの一覧が選択画面に表示されるように表示ユニット29を制御する。
ステップS50において、CPU21は、ステップS10で取得したユーザ情報のうち、デバイス10を利用しているユーザのユーザ情報に含まれる取得可能アプリケーションから、ダウンロード済みアプリケーションを除いた残りのアプリケーション、すなわち、利用可能アプリケーションを抽出し、利用可能アプリケーションの一覧が選択画面に表示されるように表示ユニット29を制御する。
以上の処理により、管理サーバ20の表示ユニット29に表示される選択画面には、デバイス10のインストール済みアプリケーションの一覧と、利用可能アプリケーションの一覧が表示される。
管理者は選択画面を参照して、利用可能アプリケーションの一覧からデバイス10にインストールするアプリケーションを選択することになる。
したがって、ステップS60において、CPU21は、管理者がデバイス10にインストールするアプリケーションを選択したか否かを判定する。アプリケーションが選択されていない場合にはステップS60の判定処理を繰り返し実行して、管理者による選択操作を監視する。一方、アプリケーションが選択された場合にはステップS70に移行する。
管理者によってデバイス10にインストールするアプリケーションが選択された場合には、図5に示すような指定画面32が表示される。
指定画面32は、アプリケーションのインストール対象となっているデバイス10の画面におけるアイコンの表示位置を指定する画面である。指定画面32には、例えばインストールするアプリケーションのアイコンを「空いている場所に追加」するか、または「指定した場所に挿入」するかを択一的に指定するラジオボタン34、アイコンの表示位置に対応した表示番号を入力するエディットボックス36、及びアイコンの表示位置に関する説明を表示するヘルプボタン38が含まれる。
アイコンを「空いている場所に追加」するとは、何れのアイコンも配置されていない表示位置に、インストールするアプリケーションのアイコンを表示するこという。また、アイコンを「指定した場所に挿入」するとは、既にアイコンが配置されているか否かに関わらず、エディットボックス36に入力した表示番号と対応する表示位置に、インストールするアプリケーションのアイコンを表示するこという。
表示位置と対応する表示番号の説明は、例えば管理者がヘルプボタン38を押下した場合に表示ユニット29に表示される。
図6は、アイコンの表示位置を指定する表示番号の説明を行う説明画面42の一例を示す図である。アイコンの表示位置を指定する表示番号は、デバイス10の画面の予め定めた基準位置から重複しないように順に割り当てられた番号であり、図6に示した説明画面42の例では、デバイス10の画面の左上が基準位置に設定され、基準位置から右方向に向かって順に表示番号が割り当てられていることが示されている。また、表示番号の割り当てが画面の右端まで達した場合には、画面の下端に達するまで1行下にずれながら、再び画面の左端から右方向に向かって順に表示番号が割り当てられていることが示されている。
管理者は、アイコンの並びに関する説明を記載した説明画面42を参照することで、アイコンを表示したい表示位置に対応した表示番号が何番あたりに相当するかを把握することができる。ここでは一例として説明画面42を指定画面32と異なる画面としたが、管理者がヘルプボタン38を押下しなくても、指定画面32に最初から説明画面42の内容を表示するようにしてもよい。すなわち、説明画面42は指定画面32の一部でもある。
図6では基準位置を画面の左上に設定したが、基準位置の設定場所に制約はなく、画面の右上や左下等、何れの位置に設定してもよい。また、基準位置からの表示番号の割り当て方向についても制約はなく、例えば基準位置から下方向に表示番号を割り当てるようにしてもよい。
ステップS70において、CPU21は、指定画面32でアイコンの表示位置が指定されたか否かを判定する。なお、アイコンの表示位置が指定されるとは、指定画面32で「指定した場所に挿入」に対応したラジオボタンが選択され、エディットボックス36にアイコンの表示位置に対応した表示番号が入力された場合だけでなく、「空いている場所に追加」に対応したラジオボタンが選択された場合も含まれる。
アイコンの表示位置が指定されていない場合にはステップS70の判定処理を繰り返し実行して、管理者によるアイコンの表示位置の指定を監視する。一方、管理者によってアイコンの表示位置が指定された場合にはステップS80に移行する。
ステップS80において、CPU21は、デバイス10からアイコンのレイアウト情報を取得する。アイコンのレイアウト情報とは、アイコンの表示位置に対応した表示番号と、当該表示番号で表される表示位置に配置されているアイコンとの組み合わせを表した情報である。アイコンのレイアウト情報の記述形式に制約はなく、例えばXML(Extensible Markup Language)形式で記述することができる。
CPU21は、デバイス10からアイコンのレイアウト情報を取得することで、アプリケーションをインストールする前のデバイス10の画面に表示されているアイコンの表示位置を把握する。アイコンのレイアウト情報において、アイコンの表示位置に対応した表示番号に何れのアイコンも対応付けられていない場合は、当該表示番号で表される表示位置には何れのアイコンも配置されていないことを示している。
ステップS90において、CPU21は、指定されたアイコンの表示位置に、選択されたアプリケーションのアイコン、すなわち、管理者がこれからデバイス10にインストールするアプリケーションのアイコンが配置されるように、ステップS80で取得したアイコンのレイアウト情報を修正する。
具体的には、CPU21は取得したアイコンのレイアウト情報に対して、指定画面32のエディットボックス36に入力された表示番号と同じ表示番号に、インストールするアプリケーションのアイコンを対応付ける。
場合によっては、取得したアイコンのレイアウト情報において、指定画面32のエディットボックス36に入力された表示番号と同じ表示番号に、インストールするアプリケーションのアイコンとは異なる別のアイコンが既に対応付けられていることがある。この場合、CPU21は、インストールするアプリケーションのアイコンを指定された表示位置に配置することできないことを通知する警告画面を生成して、表示ユニット29に表示する。
警告画面を確認した管理者は、新たな表示位置に対応した表示番号をエディットボックス36に入力してもよく、また、例えば警告画面に含まれる「強制実行」ボタンを押下して、インストールするアプリケーションのアイコンを、指定された表示位置に強制的に配置するようにしてもよい。
警告画面に含まれる「強制実行」ボタンが押下された場合、CPU21は、エディットボックス36に入力された表示番号以降の各表示番号と対応付けられているアイコンをそれぞれ1つずつ後ろの表示番号にずらして、エディットボックス36に入力された表示番号と対応付けられるアイテムが存在しない状態にする。そして、CPU21はアイコンのレイアウト情報に対して、エディットボックス36に入力された表示番号に、インストールするアプリケーションのアイコンを対応付ける修正を行う。
図7は、デバイス10の画面における表示領域44でのアイコンの表示例を示す図である。アプリケーションをインストールする前の表示領域44におけるアイコンが図7(A)のように表示されているとする。図7では、表示番号“M(Mは1以上の整数)”に対応するアイコンの表示位置が領域44-Mと対応している。
例えば管理者によって“3”がエディットボックス36に入力された場合、領域44-3には既にスキャナーを実行するアイコンが存在するため、CPU21は、スキャナーのアイコンを表示番号“4”、セキュアSAMBA連携のアイコンを表示番号“5”、及びらくらくファックスのアイコンを表示番号“6”にそれぞれ修正して対応付ける。その上で、CPU21は、インストールするアプリケーション(図7の例では、クラウド連携)のアイコンを表示番号“3”に対応付ければ、図7(B)に示すように、領域44-3にクラウド連携のアイコン、領域44-4にスキャナーのアイコン、領域44-5にセキュアSAMBA連携のアイコン、及び領域44-6にらくらくファックスのアイコンがそれぞれ表示されることになる。
アプリケーションによっては複数の独立した機能を有するため、1つのアプリケーションに対して複数のアイコンが対応付けられていることがある。この場合、CPU21は、アプリケーションに対応付けられたアイコンの数だけ、エディットボックス36に入力された表示番号以降の各表示番号と対応付けられているアイコンを後ろの表示番号にずらす修正を行う。そして、CPU21は、インストールするアプリケーションと対応付けられた複数のアイコンが、デバイス10の画面上で順に並んで表示されるように、エディットボックス36に入力された表示番号から順に、インストールするアプリケーションと対応付けられた各々のアイコンを対応付ける。アプリケーションに対応付けられているアイコンの数は、商品情報を参照すればよい。
なお、CPU21は、エディットボックス36に入力された表示番号と対応付けられているアイコンを、何れのアイコンとも対応付けられていない表示番号に対応付けて、エディットボックス36に入力された表示番号と対応付けられるアイテムが存在しない状態にしてもよい。何れの方法でアイコンのレイアウト情報を修正するかは、管理者が予め指示した設定に従う。
ステップS100において、CPU21は通信ユニット27を制御して、デバイス10に対して、通信回線40を通じて管理者によって選択されたアプリケーションのインストールを実行する。また、CPU21は通信ユニット27を制御して、管理者が指定した表示位置にインストールするアプリケーションのアイコンが表示されるように、通信回線40を通じてステップS90で修正したアイコンのレイアウト情報をデバイス10に送信する。
これにより、管理者が選択したアプリケーションがデバイス10にインストールされ、デバイス10の画面には、管理者が指定した表示位置にインストールされたアプリケーションのアイテムが表示されることになる。以上により、図4に示した情報処理を終了する。
なお、図4の情報処理では、デバイス10にインストールするアプリケーションのアイコンの表示位置を、アプリケーションをインストールする前に受け付けたが、アプリケーションをインストールした後に受け付けるようにしてもよい。
例えば、ステップS60でアプリケーションが選択されたと判定された場合、CPU21は、ステップS70を実行せずにステップS80~S100を実行する。この場合、CPU21は、デバイス10から取得したアイコンのレイアウト情報を参照して、何れのアイコンも対応付けられていない表示番号に、インストールするアプリケーションのアイコンを対応付けるようにアイコンのレイアウト情報を修正し、修正したアイコンのレイアウト情報をデバイス10に送信する。すなわち、デバイス10の画面では、それまでアイコンが表示されていなかった位置に、新たにインストールされたアイコンが表示される。
この後、CPU21が指定画面32から表示位置の指定を受け付けた場合、CPU21は、ステップS80で取得した、アプリケーションをインストールする前のデバイス10におけるアイコンのレイアウト情報と、ステップS90で修正した、アプリケーションをインストールした後のデバイス10におけるアイコンのレイアウト情報の差分を取得する。
取得したアイコンのレイアウト情報の差分は、ステップS100でデバイス10にインストールしたアプリケーションのアイコンのデバイス10の画面における表示位置を示す。したがって、CPU21は、アイコンのレイアウト情報の差分で示される表示番号と対応付けられたアイコンが、アイコンの表示位置として管理者が指定した表示番号と対応付けられるように、アイコンのレイアウト情報を修正する。
CPU21が、修正したアイコンのレイアウト情報を再度デバイス10に送信するように制御することで、インストールしたアプリケーションのアイコンが指定した表示位置に表示されることになる。
更に、管理サーバ20における情報処理には様々な変形例が適用される。
デバイス10の画面の大きさはデバイス10の種類毎に異なる上、同じ種類であっても、機種毎に異なることがある。例えばスマートフォンとリモコンというようにデバイス10の種類が異なればデバイス10の画面の大きさは異なり、スマートフォンの中でもA社のスマートフォンの機種と、B社のスマートフォンの機種では画面の大きさが異なることがある。更に言えば、同じA社のスマートフォンでも、機種毎に画面の大きさが異なる場合がある。
したがって、画面の大きさが異なる場合、エディットボックス36に同じ表示番号を入力したとしても、同じ表示位置にアイコンが配置されないことがある。
図8は大きさの異なる画面例を示した図である。図8(A)は、アイコンを3行4列で表示する大きさを有する画面であり、図8(B)は、アイコンを4行3列で表示する大きさを有する画面である。例えばエディットボックス36に“4”の表示番号を入力した場合、図8(A)に示す画面の大きさを有するデバイス10では、アイコンが1行目の右端に表示されるが、図8(B)に示す画面の大きさを有するデバイス10では、アイコンが2行目の左端に表示される。
したがって、管理サーバ20は説明画面42を表示する場合にデバイス10における画面の構成情報を取得して、図8に示すような、デバイス10における実際のアイコンの表示位置の説明を行うようにしてもよい。すなわち、管理サーバ20は、デバイス10における画面の構成情報に応じて、デバイス10におけるアイコンの表示位置を指定する表示番号とアイコンの表示位置の実際の対応関係を示す情報を表示する。
このように管理サーバ20は、デバイス10における画面の構成情報に応じて、アイコンの表示位置の指定に適した異なる画面を表示してもよい。
例えばデバイス10の中にはアイコンが配置される複数のページを備え、ユーザによって選択されたページを画面に表示するものが存在する。この場合、管理サーバ20は、何ページ目のどの表示位置にアイコンを配置するかの指定を受け付ける指定画面32を表示する。また、例えばデバイス10の中にはアイコンを配置する領域が表示領域の大きさより大きく設定され、ユーザが画面をスクロールすることで目的のアイコンを表示するものが存在する。この場合、画面の構成情報に基づいて、画面をスクロールしなくても最初から画面に表示される範囲に含まれるアイコンの表示位置がどこであるか、管理者に分かるように表示してもよい。
また、デバイス10によっては、アイコンが一覧表示される画面の予め定めた特定の位置に含まれるアイコンは、表示位置が変更できないように設定されている場合がある。例えば、デバイス10を起動して最初に表示される画面の左上は、他の位置に比べてユーザの視線が最初に移行しやすい位置であり、また、画面の右下は、他の位置に比べてユーザの指を移動させやすい位置、すなわち操作しやすい位置である。したがって、このような操作性に優れた特定の位置、すなわち優先領域には、他のアプリケーションに比べて利用頻度の高いアプリケーションのアイコンが表示されることが好ましいため、デバイス10の仕様として優先領域内のアイコンは表示位置が変更できないように設定していることがある。また、デバイス10によっては、ユーザが優先領域を設定できるものもある。
したがって、管理サーバ20は、指定画面32を通じて、優先領域に含まれる表示位置に対応した表示番号を受け付けた場合、優先領域のためアイコンを指定された表示位置に配置することできないこと、及び他の表示位置を選択するように通知する警告画面を生成して、表示ユニット29に表示する。また、管理サーバ20はアイコンの表示位置を指定する参考情報として、デバイス10の優先領域に含まれる表示位置に対応した表示番号を警告画面に表示するようにしてもよい。
なお、デバイス10の優先領域はデバイス情報に含まれている。デバイス10が複数のページに亘ってアイコンを配置する場合、優先領域は、ユーザが画面表示に関する操作を行うことなく最初に表示されるページ、例えば先頭ページに設定される。
アプリケーションのインストール先となるデバイス10が複数指定されている場合には、指定画面32で指定した表示番号に対応した各々のデバイス10の表示位置に、インストールするアプリケーションのアイコンが配置される。管理サーバ20では設定により、指定した複数のデバイス10毎にそれぞれ指定画面32を用いて個別にアイコンの表示位置を指定することも、指定画面32に入力した表示番号を、各々のデバイス10に共通して適用する表示番号として受け付け、1度の表示番号の入力によって、各々のデバイス10におけるアイコンの表示位置を一括して指定することも可能である。
しかしながら、図8を用いて既に説明したようにデバイス10の種類や機種の違いによって、指定画面32で指定した表示番号が同じであっても、各々のデバイス10におけるアイコンの表示位置が異なる場合がある。
したがって、管理サーバ20は各々のデバイス10から取得したデバイス情報を参照して、アプリケーションのインストール対象となるデバイス10を機種毎に分類し、機種毎に指定画面32から表示番号を受け付けるようにしてもよい。
例えば機種Aにおける表示番号とアイコンの表示位置の関係が図8(A)で表され、機種Bにおける表示番号とアイコンの表示位置の関係が図8(B)で表されているとする。機種毎に指定画面32から表示番号を受け付ける場合、機種Aに対する表示番号として“5”を設定し、機種Bに対する表示番号として“4”を設定することで、機種が異なる場合であっても、デバイス10の画面の同じ位置に、インストールするアプリケーションのアイコンが表示されることになる。この場合、機種毎に表示番号とアイコンの表示位置の関係を説明画面42に表示しておけば、管理者がアイコンの表示位置を指定する際に役立つことになる。
また、管理サーバ20は、アプリケーションのインストール対象となる複数のデバイス10の種類及び機種の少なくとも一方が異なる場合であっても、1度の表示番号の入力によって、新たにインストールされた各々のデバイス10におけるアイコンが共通の表示位置に表示されるように各々のデバイス10のレイアウト情報を修正してもよい。
具体的には、管理サーバ20は指定画面32から表示番号を受け付けると、各々のデバイス10における画面の構成情報を参照して、受け付けた表示番号に対応する各々のデバイス10のアイコンの表示位置を取得する。管理サーバ20は、取得したアイコンの表示位置が異なる場合、各々のデバイス10におけるアイコンの表示位置が同じになるようにアイコンの表示位置を設定する。例えば、取得した各アイコンの表示位置のうちの何れか1つの表示位置を共通の表示位置に設定してもよいし、各々のデバイス10で共通してアイコンが設定されていない表示位置を共通の表示位置に設定してもよい。また、取得した各アイコンの表示位置からの距離の合計ができるだけ短くなるような表示位置を共通の表示位置に設定してもよい。
また、管理サーバ20でデバイス10のアイコンの表示位置を指定するタイミングは、アプリケーションのインストール時に限られない。例えば、デバイス10に既にインストールされているアプリケーションのアイコンの表示位置を指定して、アイコンの表示位置を変更するようにしてもよい。
具体的には、アイコンの表示位置の変更対象として選択されたデバイス10に対して、指定画面32で指定された表示番号に、表示位置を変更したいアプリケーションのアイコンが対応付けられるようにアイコンのレイアウト情報を修正して、アイコンの表示位置を変更すればよい。
このように本実施の形態に係る管理サーバ20によれば、通信回線40を通じて遠隔地からデバイス10の画面におけるアイコンの表示位置を設定する。
なお、会社が業務のためユーザに貸与するデバイス10の場合、ユーザによる意図しない設定変更でデバイス10が機能しなくなることを抑制するため、デバイス10に接触して直接操作してもアプリケーションのインストールやアンインストール、及びアイコンの表示位置の変更等が行えないように設定することがある。
このようにデバイス10からの操作ではアイコンの表示位置の指定が行えないように設定されているデバイス10であっても、管理サーバ20からは通信回線40を通じて、デバイス10におけるアイコンの表示位置の指定が行われることになる。
以上、実施の形態を用いて本発明について説明したが、本発明は実施の形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で実施の形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。例えば、本発明の要旨を逸脱しない範囲で処理の順序を変更してもよい。
また、本実施の形態では、一例として情報処理をソフトウエアで実現する形態について説明したが、図4に示したフローチャートと同等の処理を、例えばASIC(Application Specific Integrated Circuit)に実装し、ハードウエアで処理させるようにしてもよい。この場合、情報処理をソフトウエアで実現した場合と比較して、処理の高速化が図られる。
また、上述した実施の形態では、情報処理プログラムがROM22にインストールされている形態を説明したが、これに限定されるものではない。本発明に係る情報処理プログラムは、コンピュータで読み取り可能な記憶媒体に記録された形態で提供することも可能である。例えば、本発明に係る情報処理プログラムを、CD(Compact Disc)-ROM、またはDVD(Digital Versatile Disc)-ROM等の光ディスクに記録した形態で提供してもよい。また、本発明に係る情報処理プログラムを、USB(Universal Serial Bus)メモリ及びフラッシュメモリ等の半導体メモリに記録した形態で提供してもよい。更に、通信回線40に接続される図示しない外部装置から、通信回線40を通じて本発明に係る情報処理プログラムを取得するようにしてもよい。