以下、本発明の好適な実施の形態(以下「実施形態」と言う)について、図面を用いて詳細に説明する。
[第1の実施形態]
<システム構成>
本実施形態に係るプログラム導入支援システムについて説明する。
図1は、本実施形態に係るプログラム導入支援システム1の構成例を示す図である。
図1のプログラム導入支援システム1において、ユーザ環境E1は、機器2001〜200n(以降「機器200」と総称する)を導入しているユーザ(顧客)のシステム環境である。例えば、ユーザ環境E1は、企業又はオフィスなどに相当する。ユーザ環境E1において、1又は複数の機器200及びプログラム導入支援装置100は、LAN(Local Area Network)などの内部ネットワークN(有線又は無線の別は問わない)を介して接続されている。機器200は、例えば、印刷、スキャン、コピー、及びファクス送受信などの複数の機能を実現する画像処理装置であり、電子機器の一例である。機器200は、機能を実現するための1又は複数のプログラム及びデータを含むコンポーネントを追加又は更新することで機能拡張が行える。
プログラム導入支援装置100は、ユーザ環境E1における機器200において動作するコンポーネントや当該コンポーネントのライセンス(利用権限)の取得及び導入などを一括して行うPC(Personal Computer)であり、情報処理装置の一例である。なお、ユーザ環境E1は、ユーザ数(企業又はオフィス単位のユーザ数)に応じて複数存在しうる。
一方、メーカー環境E2は、機器200に追加されるコンポーネントの販売者側のシステム環境である。例えば、メーカー環境E2は、機器200のメーカーによって運営される。メーカー環境E2は、ライセンスサーバ300及びコンポーネントサーバ400などを有する。
ライセンスサーバ300は、ユーザによって購入されたコンポーネントのライセンスを管理するライセンス管理装置である。コンポーネントサーバ400は、コンポーネントの実体(1又は複数のプログラム)を管理するプログラム管理装置である。
なお、ユーザ環境E1とメーカー環境E2とは、インターネットなどの外部ネットワークIを介して接続されている。
このようなシステム構成により、プログラム導入支援システム1は、多くの機器200が導入されたユーザ環境E1であっても、プログラム導入支援装置100を介して、機器200へのプログラム導入やライセンス取得を一括して行える。
<ハードウェア構成>
次に、上記プログラム導入支援装置100のハードウェア構成について説明する。
図2は、本実施形態に係るプログラム導入支援装置100のハードウェア構成例を示す図である。
図2に示すように、プログラム導入支援装置100は、入力装置101、表示装置102、ドライブ装置103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、インタフェース装置107、及びHDD(Hard Disk Drive)108などを備え、それぞれがバスBで相互に接続されている。
入力装置101は、キーボード及びマウスなどを含み、プログラム導入支援装置100に各操作信号を入力するのに用いられる。表示装置102は、ディスプレイなどを含み、プログラム導入支援装置100による処理結果(例えば「処理状況」や「実行結果」に係る情報)などを表示する。
インタフェース装置107は、プログラム導入支援装置100を所定のデータ伝送路(内部/外部ネットワーク)に接続するインタフェースである。よって、プログラム導入支援装置100は、インタフェース装置107を介して、機器200、ライセンスサーバ300、及びコンポーネントサーバ300とデータ通信を行うことができる。
HDD108は、各種プログラム及びデータを格納している不揮発性の記憶装置である。格納されるプログラム及びデータには、例えば、プログラム導入支援装置100全体を制御する情報処理システム(例えば「Windows(登録商標)」や「UNIX(登録商標)」などの基本ソフトウェアであるOS(Operating System))、及び情報処理システム上において各種機能(例えば「プログラム導入支援機能」)を提供するアプリケーションなどがある。また、HDD108は、格納している上記プログラム及びデータを、所定のファイルシステム及び/又はDB(Data Base)により管理している。
ドライブ装置103は、着脱可能な記録媒体103aとのインタフェースである。これにより、プログラム導入支援装置100は、ドライブ装置103を介して、記録媒体103aの読み取り及び/又は書き込みを行うことができる。
ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、プログラム導入支援装置100が起動されるときに実行されるBIOS(Basic Input/Output System)や、プログラム導入支援装置100のシステム設定及びネットワーク関連設定などのデータが格納されている。
RAM104は、上記各種記憶装置から読み出されたプログラム及びデータを一時保持する揮発性の半導体メモリ(記憶装置)である。CPU106は、上記RAM104上に読み出したプログラムを実行することにより、プログラム導入支援装置100の全体制御及び各種搭載機能の動作を実現する。
このようなハードウェア構成により、プログラム導入支援装置100は、例えば、HDD108からRAM104上に読み出したプログラム(搭載機能を実現するソフトウェア部品)をCPU106により実行し、搭載機能を実現することができる。
なお、プログラム導入支援装置100は、上記ハードウェア構成からも分かるように、PCなどの情報処理装置と略同一の構成をしている。
<プログラム導入支援機能>
本実施形態に係るプログラム導入支援機能について説明する。
図3は、本実施形態に係るプログラム導入支援機能の構成例を示す図である。
図3に示すように、プログラム導入支援装置100は、主なソフトウェア構成として、管理ツール20を有している。
管理ツール20は、上述したように、機器200において動作するコンポーネントや当該コンポーネントのライセンスの取得及び導入などを一括して行う機能、すなわちプログラム導入支援機能を実現するソフトウェアである。
プログラム導入支援装置100は、起動された上記管理ツール20により、複数の機器200に対して、例えば次のような処理を行う。
プログラム導入支援装置100は、コンポーネントサーバ400から、プロダクトキーPKに対応するコンポーネント(導入するプログラム群)CMPを取得する。このとき用いられるプロダクトキーPKとは、商用ソフトウェアに付属しているパッケージごとに固有の情報である。プロダクトキーPKは、メーカー側での登録ユーザの管理に用いられるほか、不正コピー防止のために、インストール時に入力を要求し、適切なプロダクトキーPKが入力できなければインストールできないようになっている。よって、プログラム導入支援装置100では、管理ツール20にユーザから適切なプロダクトキーPKが入力された場合に、コンポーネントCMPが取得できる。
また、プログラム導入支援装置100は、ライセンスサーバ300に対して、導入対象として特定した複数の機器200のライセンス認証を要求する。このとき、プログラム導入支援装置100は、ユーザから入力されたプロダクトキーPK及び機器200から取得した機器情報をライセンスサーバ300に送信し、各機器200のライセンス認証を要求する。その結果、ライセンスサーバ300からは、プロダクトキーPK及び機器情報に基づき、機器200ごとのライセンスが発行される。
これにより、プログラム導入支援装置100は、導入対象として特定した複数の機器200に対して、インストール及びアクティベーションを開始する。
管理ツール20は、このようなプログラム導入処理を行うため、主なプログラム導入支援機能として、UI制御部21、情報取得部22、及びプログラム導入制御部23を有している。
UI制御部21は、管理ツール20に対しての実行要求などを受け付けるGUIや、プログラム導入作業における各作業工程の情報提示を制御する機能部である。つまり、UI制御部21は、導入作業を適切に支援するために、プログラム導入時の表示画面(プログラム導入支援装置100が備える表示装置102の画面)を制御する。UI制御部21の詳細については、表示制御機能において後述する。
情報取得部22は、プログラム導入時に必要な各種情報を、機器200やライセンスサーバ300から取得する機能部である。例えば、情報取得部22は、ライセンス認証で必要な機器情報(例えば「機体番号」)を機器200から取得する。また、情報取得部22は、プロダクトキーPKに基づき利用可能なコンポーネントCMPを特定する上で必要なパッケージ情報をライセンスサーバ300から取得する。パッケージとは、本実施形態に係るコンポーネントCMPが市場で流通する場合の単位であり、パッケージ情報とは、流通単位でのコンポーネントCMPに係る情報である。
プログラム導入制御部23は、コンポーネントCMPやライセンスの取得及び導入などのプログラム導入作業における各作業工程で実行される処理(以下「プログラム導入処理」と言う)を制御する機能部である。プログラム導入制御部23は、上記各機能部と連係し、プログラム導入の一括処理を実現する。例えば、プログラム導入制御部23は、UI制御部21により受け付けたユーザからの実行要求に従って、作業工程ごとのプログラム導入処理を制御し、要求により実行された処理の結果(実行結果)を、UI制御部21に渡す。また、プログラム導入制御部23は、情報取得部22による取得情報に基づき、プログラム導入処理を実行する。
《表示制御機能》
本実施形態に係るプログラム導入支援機能では、上記管理ツール20により、次のような表示制御機能を実現している。
管理ツール20は、UI制御部21により、表示画面(GUI)を介して受け付けた実行要求をプログラム導入制御部23に伝達する。管理ツール20は、表示画面を構成する画面部品を保持しており、UI制御部21により、受け付けた実行要求及び/又は要求により実行されるプログラム導入処理の実行結果に基づき、画面部品を用いて、作業工程に応じた情報(処理状況や処理完了)を提示する表示画面を生成し、画面を更新する。管理ツール20は、このような表示制御機能を有している。
機器200に対するプログラム導入作業は、プログラムとライセンスとが分離して配布されることにより、複雑化している。このようなことから、導入対象の機器200が多い場合には、ユーザに多大な作業負荷をかけることになる。そのため、プログラム導入処理は、複数の機器200に対して一括して行えた方がよい。また、一括して行う場合、ユーザは、プログラム導入の進捗状況や実行結果などの導入作業に係る各種情報を知りたい。
そこで、本実施形態に係る表示制御機能では、ユーザからの実行要求及び/又は要求により実行されたプログラム導入処理の実行結果に基づき、作業工程に応じた表示画面を生成し、画面更新する。
これによって、本実施形態に係るプログラム導入支援機能では、ユーザに対して、進捗状況や実行結果などのプログラム導入処理に係る情報を、実施される作業工程の中で(適切なタイミング)で提示でき、ユーザの導入作業を適切に支援することができる。
以下に、上記表示制御機能の構成とその動作について説明する。
図4は、本実施形態に係る表示制御機能の構成例を示す図である。
図4に示すように、表示制御機能は、イベント受付部211、画面生成部212、画面部品保持部213、及び画面更新部214を有している。このうち、イベント受付部211、画面生成部212、及び画面更新部214は、UI制御部21が有する機能部である。
イベント受付部211は、表示画面のGUIを介したユーザの操作イベント受付や、プログラム導入制御部23と各種実行イベントのやり取りなどを行う機能部である。イベント受付部211が受け付ける操作イベントEVNには、例えば、作業工程におけるプログラム導入処理の実行要求や動作設定などがある。また、イベント受付部211がプログラム導入制御部23とやり取りする実行イベントには、例えば、上記ユーザから受け付けた実行要求の伝達や要求により実行されたプログラム導入処理の処理結果(実行結果)などがある。つまり、プログラム導入制御部23では、イベント受付部211から伝達された実行要求に従って、プログラム導入処理が実行され、その実行結果がイベント受付部211へと渡される。
画面生成部212は、1又は複数の画面部品を用いて、プログラム導入時の作業工程に応じた表示画面を生成する機能部である。画面部品は、画面部品保持部213により保持されている。画面部品保持部213が保持する画面部品には、例えば、文字(「表示情報の文字列」など)、図形(「選択領域」、「入力領域」、及び「選択ボタン」など)、画像(「背景画像」など)などがある。画面部品保持部213は、例えば、プログラム導入支援装置100が備える記憶装置(例えば「HDD」)の所定の記憶領域にあたる。画面部品は、管理ツール20のソフトウェアがプログラム導入支援装置100にインストールされたときに、記憶領域に格納され保持される。画面生成部212は、表示画面生成時に画面部品保持部213を参照し、表示画面を構成するのに必要な画面部品を取得する。
また、画面生成部212は、イベント受付部211により受け付けた実行要求及び/又は要求により実行されたプログラム導入処理の実行結果に基づき、表示画面を生成し、画面更新部214に対して表示画面の更新を要求する。画面更新部214は、画面生成部212から要求に従って、現在表示されている画面を更新する。
画面生成部212は、次のような表示画面を生成する。
画面生成部212は、管理ツール20が起動されると、プログラム導入支援に係るサービスの開始を通知する起動画面を生成する。
また、画面生成部212は、イベント受付部211から実行要求を受け付けると、要求により実行されるプログラム導入処理に関する情報を提示する画面を生成する。例えば、画像更新部214は、作業工程の実施要求を受け付けると、作業工程で実行されるプログラム導入処理が動作設定を必要とする処理であった場合、その動作設定を要求する設定画面を生成する。
また、画面生成部212は、イベント受付部211からプログラム導入処理の実行結果を受け取ると、実行中のプログラム導入処理に関する情報を提示する画面を生成する。例えば、画面生成部212は、実行結果を受け取ると、プログラム導入処理の処理状況を通知する通知画面又はプログラム導入処理の実行結果を確認する確認画面を生成する。また、画面生成部212は、処理完了を受け取ると、プログラム導入処理の完了を通知する通知画面を生成する。
このように、表示制御機能では、画面生成部212により、ユーザに対して、進捗状況や実行結果などのプログラム導入処理に係る情報を、実施される作業工程の中で提示する。つまり、表示制御機能は、UI制御部21が有する画面生成部212とプログラム導入制御部23とが連係動作することで、導入作業を支援する上で必要な情報(ユーザが所望する情報)を適切なタイミングで提示することができる。
このように、本実施形態に係る表示制御機能は、上記各機能部が連係動作することにより実現される。
次に、表示制御機能の詳細な動作(機能部群の連係動作)について、プログラム導入処理の手順を示すシーケンス図を用いて説明する。
プログラム導入支援における表示制御機能は、プログラム導入支援装置100に搭載(インストール)されるプログラム(表示制御機能に係るソフトウェア部品)が、CPU106により、格納先(例えば「ROM」)からRAM104上に読み出され、以下の処理が実行されることで実現される。
本実施形態に係るプログラム導入処理には、主に「インストール及びアクティベーション処理」と、「アンインストール及びディアクティベーション処理」とに大別される。以降では、上記各処理を順に説明するとともに、これらの処理に連係して動作する表示制御処理について説明する。
《インストール及びアクティベーション処理》
図5は、本実施形態に係るインストール及びアクティベーションの処理手順例を示すシーケンス図である。同図において、機器200のユーザは、販売パッケージに係るいずれかの商品を購入し、当該商品のプロダクトキーPKを入手済みであるとする。ここで言う「販売パッケージ」とは、コンポーネントの流通単位である。販売パッケージは、複数で流通する場合もある。
また、プロダクトキーPKは、商品が購入されるごとに一意に発行される(又は割り当てられる)識別子(固有の情報)である。プロダクトキーPKは、商品に含まれる販売パッケージに対するライセンス(利用権限)を識別する情報(ライセンス識別子)として、また、商品の正当な購入者であることを証明するための情報として用いられる。なお、本実施形態において、プロダクトIDとプロダクトキーPKとは明確に区別される。すなわち、プロダクトIDは、製品としての販売パッケージの異同を区別するものであるのに対し、プロダクトキーPKは、商品の購入という行為を区別するためのものである。したがって、同一のプロダクトIDに対し、商品の購入のたびに異なるプロダクトキーPKが発行される。
なお、商品の購入の形態は所定のものに限定されない。店頭における取引によって購入されてもよいし、電子的な取引によって(例えば「Webサイトを利用して」)購入されてもよい。前者の場合、プロダクトキーPKは、販売パッケージが記録されたCD(Compact Disk)などに貼付されているのが一般的であろう。後者の場合、商品を購入したWebサイトにおいて、購入確定時にWebページ上にプロダクトキーPKが表示されてもよいし、電子メールによってプロダクトキーPKが通知されてもよい。図5では、ユーザが、購入した商品に係る販売パッケージに関するインストール及びアクティベーション(ライセンスの取得)を、プログラム導入支援装置100を利用して、各機器200に対して行う場面を想定する。
以下にインストール及びアクティベーション処理の中で動作する表示制御処理について説明する。
プログラム導入支援装置100では、管理ツール20が起動されると、UI制御部21の画面生成部212により、例えば、図6に示すような起動画面が表示装置102に表示される。
図6は、本実施形態に係る管理ツール20の起動画面例を示す図である。
図6には、管理ツール20がユーザに対して提供するプログラム導入を支援する各種サービスを選択可能な起動画面W1の例が示されている。
起動画面W1は、主に、管理ツール20を説明するコメント欄と、上記各種サービスを選択可能な選択領域SR1とを有している。同図に示す画面例では、選択領域SR1から「新規ソフトウェアの追加」、「ライセンスの更新」、及び「その他」などのサービスが選択可能である。ここで言う「その他」のサービスには、例えば、無償アップデート、アンインストール(ソフトウェアの削除)、及び結果情報取得などがある。
UI制御部21では、画面生成部212が、画面部品保持部213で保持する画面部品を参照し、上記起動画面W1を生成する。例えば、画面生成部212は、コメント欄に表示する文字「アプリケーションの説明」や、選択領域SR1に表示する文字「サービスの選択メニュー」などの各画面部品を用いて、上記起動画面W1を生成する。その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を起動画面W1へと更新する。
プログラム導入支援装置100は、このような起動画面W1を介して、ユーザが所望するサービスの動作要求、すなわちプログラム導入の作業要求を操作イベントEVNとして受け付ける。なお、以降には、起動画面W1を介して、「新規ソフトウェアの追加」が選択された場合の処理手順について、図5を用いて説明する。
UI制御部21は、起動画面W1を介して販売パッケージのインストール開始指示の入力(操作イベント)を、イベント受付部211で受け付けると、画面生成部212により、プロダクトキー入力画面を表示装置102に表示させる(S101)。
図7は、本実施形態に係るプロダクトキーPKの入力画面例を示す図である。
図7には、管理ツール20がインストールする販売パッケージ(コンポーネント)に対応するプロダクトキーPKの入力をユーザに要求する入力画面(設定画面)W2の例が示されている。
入力画面W2は、主に、要求されたプログラム導入作業の作業工程及び各作業工程の進捗状況(進行状況)に関する情報を提示する作業工程情報欄R21と、作業工程において実行されるプログラム導入処理に関する情報を提示するプログラム導入処理情報欄R22とを有している。同図に示す画面例では、作業工程情報欄R21に、「プロダクトキーの入力」の工程に作業が進んでいることを示す進捗状況が表示されている。また、プログラム導入処理情報欄R22には、プロダクトキーPKの入力作業を促す情報が表示されている。また、プログラム導入処理情報欄R22のテキストボックスT1によりプロダクトキーPKが入力可能である。また、プログラム導入処理情報欄R22では、[前回値参照]ボタンB1を押下することで、入力対象のプロダクトキーPKがファイル指定(インポート)可能である。
UI制御部21では、イベント受付部211で、インストール開始指示を受け付けると、画面生成部212が、画面部品保持部213で保持する画面部品を参照し、上記入力画面W2を生成する。例えば、画面生成部212は、作業工程情報欄R21に表示する工程項目文字「プロダクトキーの入力」や、プログラム導入処理情報欄R22に表示するテキストボックスT1及び[前回値参照]ボタンB1などの各画面部品を用いて、上記入力画面W2を生成する。その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を起動画面W1から入力画面W2へと更新する。
UI制御部21は、入力画面W2の[次へ]ボタンB2が押下されることで、プロダクトキーPKの入力を受け付ける。
図5の説明に戻る。UI制御部21は、インストール対象の販売パッケージ(以下「カレント販売パッケージ」と言う)のプロダクトキーPKが入力画面W2を介して入力されると(S102)、入力されたプロダクトキーPKをプログラム導入制御部23へ渡す。
プログラム導入制御部23は、情報取得部22に対して当該プロダクトキーに係るパッケージ情報の取得を要求する。その結果、情報取得部22は、プロダクトキーPKを指定して当該プロダクトキーに係るパッケージ情報の取得要求をライセンスサーバ300に送信する(S103)。
ライセンスサーバ300は、パッケージ情報の取得要求の受信に応じ、当該取得要求において指定されているプロダクトキーPKの有効性を判定する。例えば、ライセンスサーバ300では、ライセンス管理テーブルを参照し、プロダクトキーPKの有効性を判定する。
ライセンス管理テーブルは、販売パッケージに関して発行されるライセンスごとに管理番号(レコード識別子)、プロダクトキーPK、プロダクトID、機体番号(機器識別子)、ステータス(ライセンス状態情報)、ライセンス形態(契約形態情報)、ライセンス有効期間、ライセンス有効期限、及びライセンス発行日などの項目を有する。これらの項目のうち、管理番号、プロダクトキー、プロダクトID、ステータス、ライセンス形態、及びライセンス有効期間は、商品が購入された際にライセンス管理テーブルに記録される。一方、機体番号、ライセンス有効期限、及びライセンス発行日は、ライセンスの発行(すなわちライセンスファイルの発行)に応じて記録される。また、ライセンスの発行に応じて、ステータスの値も更新される。
ライセンスサーバ300では、次のようにプロダクトキーPKの有効性を判定する。例えば、ライセンスサーバ300は、受信されたプロダクトキーPKを含むレコードがライセンス管理テーブルに登録されており、当該プロダクトキーを含むレコードのステータスが「チェックアウト」でなく、かつ、当該プロダクトキーを含むレコードのライセンス有効期限が現時点を超えていない場合(ライセンス有効期限の値が登録されていない場合も含む)、当該プロダクトキーは有効であると判定する。一方、それ以外の場合は、当該プロダクトキーは無効であると判定する。
当該プロダクトキーは無効であると判定された場合には、プロダクトキーPKが無効であることを示すエラー情報をプログラム導入支援装置100に返信する。この場合、プログラム導入支援装置100は、受信したエラー情報がプログラム導入制御部23からUI制御部21へと渡される。これにより、UI制御部21は、画面生成部212により、イベント受付部211を介して受け付けたエラー情報に基づき表示画面を生成し、画面更新部214により、表示装置102の表示画面を更新する。このようにして、インストール作業を中止する。
また、当該プロダクトキーが有効であると判定された場合には、受信されたプロダクトキーに係るレコードに記録されている情報(パッケージ情報)をプログラム導入支援装置100に返信する(S104)。したがって、パッケージ情報には、少なくとも当該プロダクトキーに関連付けられているプロダクトID(すなわちカレント販売パッケージのプロダクトID)が含まれている。また、当該プロダクトキーがグループライセンス又はボリュームライセンスに係るものである場合、複数のプロダクトID(複数のレコード)に係る情報がパッケージ情報に含まれる。
プログラム導入支援装置100は、受信したパッケージ情報がプログラム導入制御部23からUI制御部21へと渡される。
UI制御部21は、イベント受付部211を介して受け付けたパッケージ情報を含む確認画面を表示装置102に表示させ、カレント販売パッケージの内容及びそのライセンスの内容をユーザに確認させる(S105)。
図8は、本実施形態に係るライセンスの確認画面例を示す図である。
図8には、管理ツール20がライセンスの内容をユーザに確認させる確認画面W3の例が示されている。
確認画面W3は、入力画面W2と同様に、作業工程情報欄R31と、プログラム導入処理情報欄R32とを有している。同図に示す画面例では、作業工程情報欄R31に、「プロダクトキーの入力」が終了し、「追加ソフトウェア確認」の工程に作業が進んでいることを示す進捗状況が表示されている。また、プログラム導入処理情報欄R32には、カレント販売パッケージの内容確認を促す情報、及びカレント販売パッケージの内容「パッケージ名」、「プロダクトキー」、及び「ベンダー名」と、そのライセンスの内容「ライセンス種別」及び「ライセンス数」とを確認する情報が表示されている。ここで言う「ライセンス種別」には、例えば、通常ライセンス、ボリュームライセンス、グループライセンス、時限ライセンス、及びトライアルライセンスなどがある。また、「ライセンス数」は、残ライセンス数及び総ライセンス数が表示される。
UI制御部21では、イベント受付部211で、プログラム導入制御部23から情報取得部22による情報取得処理結果(パッケージ情報取得の実行結果)を受け付けると、画面生成部212が、画面部品保持部213で保持する画面部品を参照し、上記確認画面W3を生成する。例えば、画面生成部212は、作業工程情報欄R31に表示する工程項目文字「追加ソフトウェア確認」や、プログラム導入処理情報欄R32に表示する項目文字「パッケージ名」、「プロダクトキー」、「ベンダー名」、「ライセンス種別」、及び「ライセンス数」などの各画面部品を用いて、上記確認画面W3を生成する。このとき、画面生成部212は、情報取得部22により取得されたパッケージ情報を、プログラム導入制御部23からイベント受付部211を介して受け取り、上記プログラム導入処理情報欄R32の各項目値(表示内容)を生成する。
その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を入力画面W2から確認画面W3へと更新する。
UI制御部21は、確認画面W3の[次へ]ボタンB3が押下されることで、内容確認された旨(インストール作業継続指示)を受け付ける。
図5の説明に戻る。UI制御部21は、起動画面W3を介してインストール作業継続指示の入力(操作イベント)を、イベント受付部211で受け付けると、画面生成部212により、機器200の一覧を含む選択画面を表示装置102に表示させ、カレント販売パッケージをインストールする機器200をユーザに選択させる(S106)。
図9は、本実施形態に係るインストール機器の選択画面例を示す図である。
図9には、管理ツール20がインストールする機器200をユーザに選択させる選択画面(設定画面)W4の例が示されている。
選択画面W4は、確認画面W3と同様に、作業工程情報欄R41と、プログラム導入処理情報欄R42とを有している。同図に示す画面例では、作業工程情報欄R41に、「追加ソフトウェア確認」が終了し、「インストール機器の選択」の工程に作業が進んでいることを示す進捗状況が表示されている。また、プログラム導入処理情報欄R42には、インストール対象機器の選択を要求する情報、及びインストールするカレント販売パッケージの内容「追加ソフトウェア(パッケージ名)」と、そのライセンスの内容「ライセンス数」とを確認する情報が表示されている。なお、ここで表示される「ライセンス数」は、情報取得部22によるパッケージ情報取得処理(ステップS103、S104)の実行結果に基づく情報である。つまり、残ライセンス数及び総ライセンス数がパッケージ情報から得た値となる。
さらに、プログラム導入処理情報欄R42では、機器200の「アドレス」、「モデル名」、「設置場所」、及び「コメント」などの項目を有する機器一覧が選択領域SL4として表示され、インストール対象とする機器200が選択可能である。なお、選択領域SL4では、予めそのIPアドレス及びホスト名などが、プログラム導入支援装置100が備える記憶装置(例えば「HDD」)に記憶されている機器200(機器情報が記憶されている機器)が表示対象とされる。または、情報取得部22が、ブロードキャストなどを内部ネットワークN上に発行することにより、内部ネットワークNに接続されている機器200を動的に検索し、検索された機器200のホスト名などを表示させてもよい。
プログラム導入処理情報欄R42では、選択領域SL4のチェックボックス(□)を押下する(□→■)ことで、インストール対象の機器200が選択可能である。また、プログラム導入処理情報欄R42では、[全選択]ボタンを押下することで、選択領域SL4に表示される全ての機器200が選択可能である。一方、[全選択解除]ボタンを押下することで、機器選択の全てが解除可能である。さらに、プログラム導入処理情報欄R42では、[参照]ボタンを押下することで、インストール対象の機器200がファイル指定可能である。また、プログラム導入処理情報欄R42では、選択領域SL4において、複数の機器200をインストール先として選択することも可能である。
UI制御部21では、イベント受付部211で、インストール作業継続指示(操作イベント)を受け付けると、画面生成部212が、画面部品保持部213で保持する画面部品を参照し、上記選択画面W4を生成する。例えば、画面生成部212は、作業工程情報欄R41に表示する工程項目文字「インストール機器の選択」や、プログラム導入処理情報欄R42に表示する項目文字「追加ソフトウェア(パッケージ名)」、「ライセンス数」、及び「機器一覧」や、選択領域SL4、[全選択]ボタン、及び[全選択解除]ボタンなどの各画面部品を用いて、上記選択画面W4を生成する。このとき、画面生成部212は、情報取得部22により取得されたパッケージ情報を、プログラム導入制御部23からイベント受付部211を介して受け取り、上記プログラム導入処理情報欄R42の各項目値(表示内容)を生成する。また、画面生成部212は、記録された機器情報に基づき、上記選択領域SL4の各項目(表示内容)を生成する。
その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を確認画面W3から選択画面W4へと更新する。なお、上記プログラム導入処理情報欄R42には、項目文字「機器一覧」の項目値として機器選択数が表示される。この機器選択数は、上記画面生成及び画面更新処理により、ユーザの選択数に応じて更新される。
UI制御部21は、選択画面W4の[次へ]ボタンB4が押下されることで、インストール対象機器の指定要求を受け付ける。
プログラム導入支援装置100は、受け取ったインストール対象機器の選択情報をUI制御部21からプログラム導入制御部23へと渡す。
図5の説明に戻る。プログラム導入制御部23は、上記選択情報に基づき、情報取得部22に対してインストール対象の機器情報の取得を要求する。その結果、情報取得部22は、インストール対象として選択された各機器200に対して機器情報の取得要求を送信する(S107)。
機器情報の取得要求を受信した各機器200は、インストール情報管理テーブルに記録されている情報を取得し、取得された情報と当該機器の機体番号とを含む情報を機器情報としてプログラム導入支援装置100に返信する(S108)。
インストール情報管理テーブルには、当該機器にインストールされている販売パッケージ又はファームウェアごとに、プロダクトID(販売パッケージに属する機能パッケージのプロダクトID一覧)、バージョン、機能パッケージのプロダクトID、アクティベーションフラグ(アクティベーションの有無)、及び有効期限などが登録されている。インストール情報管理テーブルの内容は、後述される販売パッケージのインストール時に登録される。なお、ステップS108において返信される機器情報には、インストール情報管理テーブルに登録されている全ての情報が含められる。
プログラム導入支援装置100では、ステップS108において、各機器200から上記機器情報を取得中に、UI制御部21により、その旨をユーザに通知する通知画面を表示装置102に表示する。
図10は、本実施形態に係る機器情報取得の通知画面例を示す図である。
図10には、管理ツール20が機器200から機器情報を取得している旨を通知する通知画面W5の例が示されている。
UI制御部21は、画面生成部212により、イベント受付部211を介して、プログラム導入制御部23から受け取った情報取得部22の取得状況(実行結果)に基づき、通知画面を生成する。
その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を更新する。
これにより、プログラム導入支援装置100は、ユーザに対して、インストール対象の機器200から機器情報を取得する処理の進捗状況を通知することができる。
なお、通知画面W5では、[キャンセル]ボタンが押下されることで、機器情報の取得処理が中止可能である。
図5の説明に戻る。続くステップS109は、機器情報が取得された(選択画面で選択された)機器200ごとに実行されるループ処理である。ループ処理において処理対象とされる機器200を以下、「カレント機器」という。
プログラム導入支援装置100は、プログラム導入制御部23により、カレント機器の機器情報と、取得したパッケージ情報とを含む妥当性検証要求をコンポーネントサーバ400に送信する(S109−1)。ここで言う「妥当性」とは、カレント販売パッケージに含まれる機能パッケージをカレント機器にインストールすることの妥当性である。コンポーネントサーバ400は、妥当性検証要求の受信に応じ、カレント機器への機能パッケージのインストール妥当性を検証する。例えば、コンポーネントサーバ400では、依存関係管理テーブルを参照し、インストールの妥当性を判定する。
依存関係管理テーブルは、機能パッケージごとに当該機能パッケージのプロダクトID、及び当該機能パッケージが依存する(当該機能パッケージの依存先の)機能パッケージ又はファームウェアのプロダクトIDが登録されている。
コンポーネントサーバ400では、次のようにインストールの妥当性を判定する。例えば、コンポーネントサーバ400は、まず、妥当性の検証において、カレントパッケージに属する機能パッケージのプロダクトIDの一覧をパッケージ管理テーブルより取得する。パッケージ管理テーブルには、販売パッケージごとに、プロダクトID、バージョン、及び機能パッケージのプロダクトIDなどが登録されている。続いて、コンポーネントサーバ400は、取得された各機能パッケージのプロダクトIDと依存関係管理テーブルとに基づき、当該機能パッケージが依存する機能パッケージ又はファームウェア(以下「依存先パッケージ」と言う)を特定する。
依存先パッケージがある場合には、当該依存先パッケージのプロダクトIDが機器情報に含まれているか否かを判定する。全ての依存先パッケージのプロダクトIDが機器情報に含まれている場合には、妥当性はあると判定する。機器情報に含まれていない依存先パッケージ(以下「未解決パッケージ」と言う)が少なくとも一つ存在する場合には、妥当性はないと判定する。なお、一つの機能パッケージに対して依存先パッケージは複数存在しうる。また、依存関係の探索は、再帰的に行われる。
続いて、コンポーネントサーバ400は、妥当性の検証結果をプログラム導入支援装置100に返信する(S109−2)。妥当性がないと判定された場合、検証結果には、未解決パッケージのプロダクトIDが含まれる。
続いて、プログラム導入支援装置100は、プログラム導入制御部23により、カレント販売パッケージのプロダクトIDを指定してダウンロード要求をコンポーネントサーバ400に送信する(S109−3)。
コンポーネントサーバ400は、指定されたプロダクトIDに対応する販売パッケージを、当該装置が備える記憶装置(例えば「HDD」)から取得し、取得した販売パッケージをプログラム導入支援装置100に返信する(S109−4)。カレント販売パッケージが複数の場合、ダウンロード(S109−3、S109−4)は複数回繰り返される。また、ステップS109−2において妥当性がない旨の検証結果が受信された場合、未解決パッケージに関してもダウンロードが実行される。なお、カレントパッケージが複数である場合とは、例えば、ステップS101において入力されたプロダクトキーPKがグループライセンスに係るものである場合や、複数のプロダクトキーPKが入力された場合などである。
続いて、プログラム導入支援装置100は、プログラム導入制御部23により、ステップS101において入力されたプロダクトキーPKと、カレント販売パッケージのプロダクトIDと、カレント機器の機体番号とを指定して、ライセンスの使用要求(ライセンスの使用要求)をライセンスサーバ300に送信する(S109−5)。
ライセンスサーバ300は、ライセンスの使用要求に含まれている情報及びライセンス管理テーブルに基づいてライセンスファイルを生成し、生成されたラインセンスファイルをプログラム導入支援装置100に返信する(S109−6)。
ライセンスファイルは、プロダクトID(利用が許可された販売パッケージのプロダクトID)、機体番号(利用が許可された機器の機体番号)、及び有効期限(ライセンスの有効期限)を含む。
なお、プログラム導入支援装置100では、ステップS109−3、S109−4の処理(販売パッケージのダウンロード)に成功した場合、プログラム導入制御部23によりステップS109―5を実行する。すなわち、プログラム導入制御部23は、販売パッケージが正常に取得できなかった場合、ライセンスファイルの取得は行わない。なぜなら、販売パッケージが取得できない場合には、当該販売パッケージのインストールができないからである。それにも拘わらず当該販売パッケージに係るライセンスファイルが取得されてしまうと、実際には利用していない販売パッケージについてライセンスの使用が開始されたこととされてしまい、ユーザに不利益を及ぼすことから、処理を行わないことでそれを防止する。
続いて、プログラム導入支援装置100は、プログラム導入制御部23により、ステップS109−4において未解決パッケージが取得されている場合、当該未解決依存パッケージをカレント機器に送信し、当該未解決パッケージのインストールをカレント機器に要求する(S109−7)。その結果、カレント機器では、未解決パッケージがインストールされ、当該未解決パッケージの情報(例えば「プロダクトID」)がインストール情報管理テーブルに記録される。
続いて、プログラム導入支援装置100は、プログラム導入制御部23により、未解決パッケージのインストール結果をカレント機器に問い合わせる(S109−8)。当該問い合わせ(ポーリング)は、カレント機器においてインストールが完了し、インストール結果が返信されるまで繰り返される。
先に未解決パッケージをインストールさせるのは、依存先のコンポーネントCMPがインストールされていないことによる、販売パッケージのインストールの失敗を回避するためである。
続いて、プログラム導入支援装置100は、プログラム導入制御部23により、ステップS109−4において取得されている販売パッケージ(カレント販売パッケージ)、及びステップS109−6において取得されているライセンスファイルをカレント機器に送信し、当該販売パッケージのインストール及びアクティベーションをカレント機器に要求する(S109−9)。その結果、カレント機器では、当該販売パッケージがインストールされ、当該販売パッケージの情報(例えば「プロダクトID」)がインストール情報管理テーブルに記録される。また、カレント機器では、ライセンスファイルが所定の記憶領域に記録される
続いて、プログラム導入支援装置100は、プログラム導入制御部23により、販売パッケージのインストール結果をカレント機器に問い合わせる(S109−10)。当該問い合わせ(ポーリング)は、カレント機器においてインストールが完了し、インストール結果が返信されるまで繰り返される。
図11は、本実施形態に係るダウンロード状況の通知画面例を示す図である。
上記インストール及びアクティベーション処理(ステップS109−9)が行われている間、プログラム導入支援装置100は、管理ツール20により、処理状況をユーザに通知する。
図11には、管理ツール20がカレント機器にカレント販売パッケージ(コンポーネント)をダウンロードしている旨を通知する通知画面W6の例が示されている。
通知画面W6は、選択画面W4と同様に、作業工程情報欄R61と、プログラム導入処理情報欄R62とを有している。同図に示す画面例では、作業工程情報欄R61に、「インストール機器の選択」が終了し、「ソフトウェアのダウンロード」の工程に作業が進んでいることを示す進捗状況が表示されている。また、プログラム導入処理情報欄R62には、ダウンロードするカレント販売パッケージの内容確認を促す情報、及びダウンロードするカレント販売パッケージの内容「追加ソフトウェア(パッケージ名)」と、そのライセンスの内容「ライセンス数」とを確認する情報が表示されている。なお、ここで表示される「ライセンス数」は、プログラム導入制御部23によるライセンス認証処理(ステップS109−5、S109−6)の実行結果に基づく情報である。つまり、残ライセンス数及び総ライセンス数が認証結果に応じた値となっている。
さらに、プログラム導入処理情報欄R62では、カレント機器の「状態」、「アドレス」、「モデル名」、「設置場所」、及び「コメント」などの項目を有する機器一覧がダウンロード状況通知領域R621として表示されている。例えば、同図に示す画面例では、ダウンロード状況通知領域R621の「状態」項目に、[正常終了]、[エラー]、[処理中]などのカレント機器におけるソフトウェアのダウンロード状況(送受信処理状況)が表示されている。
UI制御部21では、イベント受付部211で、プログラム導入制御部23から情報取得部22による情報取得処理結果(機器情報取得の実行結果)を受け付けると、画面生成部212が、画面部品保持部213で保持する画面部品を参照し、上記通知画面W6を生成する。例えば、画面生成部212は、作業工程情報欄R61に表示する工程項目文字「ソフトウェアのダウンロード」や、プログラム導入処理情報欄R62に表示する項目文字「追加ソフトウェア(パッケージ名)」、「ライセンス数」、及び「機器一覧」や、ダウンロード状況通知領域R621などの各画面部品を用いて、上記通知画面W6を生成する。このとき、画面生成部212は、情報取得部22により取得されたパッケージ情報を、プログラム導入制御部23からイベント受付部211を介して受け取り、上記プログラム導入処理情報欄R62の各項目値(表示内容)を生成する。また、画面生成部212は、記録された機器情報に基づき、上記ダウンロード状況通知領域R621の各項目値(表示内容)を生成する。
その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を通知画面W5から通知画面W6へと更新する。なお、上記ダウンロード状況通知領域R621の「状態」項目の値は、上記画面生成及び画面更新処理により、プログラム導入制御部23によるダウンロード処理の実行結果に応じて更新される。
これにより、プログラム導入支援装置100は、ユーザに対して、カレント機器におけるプログラムダウンロード処理の進捗状況を通知することができる。
UI制御部21は、通知画面W6の[次へ]ボタンB6が押下されることで、インストール及びアクティベーションの実行要求を受け付ける。
プログラム導入支援装置100は、受け付けたインストール及びアクティベーションの実行要求をUI制御部21からプログラム導入制御部23へと渡す。これにより、インストール及びアクティベーション処理が継続される。
図12は、本実施形態に係るインストール完了の通知画面例を示す図である。
継続して上記インストール及びアクティベーション処理が行われると、プログラム導入支援装置100は、管理ツール20により、処理結果をユーザに通知する。
図12には、管理ツール20がカレント機器に販売パッケージ(コンポーネント)をインストールした結果(アクティベーションした結果を含む)を通知する通知画面W7の例が示されている。
通知画面W7は、通知画面W6と同様に、作業工程情報欄R71と、プログラム導入処理情報欄R72とを有している。同図に示す画面例では、作業工程情報欄R71に、「インストール/ライセンス登録」が終了したことを示す進捗状況が表示されている。また、プログラム導入処理情報欄R72には、インストール結果(アクティベーション結果を含む)の内容確認を促す情報、及びインストールしたカレント販売パッケージの内容「追加ソフトウェア(パッケージ名)」と、そのライセンスの内容「ライセンス数」とを確認する情報が表示されている。
さらに、プログラム導入処理情報欄R72では、カレント機器の「状態」、「アドレス」、「モデル名」、「設置場所」、及び「コメント」などの項目を有する機器一覧がインストール結果通知領域R721として表示されている。例えば、同図に示す画面例では、インストール結果通知領域R721の「状態」項目に、[完了]、[エラー]などのカレント機器におけるソフトウェアのインストール結果が表示されている。
UI制御部21では、イベント受付部211で、プログラム導入制御部23からインストール結果(インストール及びアクティベーション処理の実行結果)を受け取ると、画面生成部212が、画面部品保持部213で保持する画面部品を参照し、上記通知画面W7を生成する。例えば、画面生成部212は、作業工程情報欄R71に表示する工程項目文字「インストール・ライセンス登録」や、プログラム導入処理情報欄R72に表示する項目文字「追加ソフトウェア(パッケージ名)」、「ライセンス数」、及び「機器一覧」や、インストール結果通知領域R721などの各画面部品を用いて、上記通知画面W7を生成する。なお、画面生成部212では、前作業工程で表示した通知画面W6の生成と同様に、上記プログラム導入処理情報欄R72の各項目値(表示内容)を生成する。また、画面生成部212は、プログラム導入制御部23によるインストール結果に基づき、インストール結果通知領域R721の「状態」項目の表示内容を生成する。
その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を通知画面W6から通知画面W7へと更新する。
これにより、プログラム導入支援装置100は、ユーザに対して、カレント機器におけるインストール及びアクティベーション処理の実行結果を通知することができる。
UI制御部21は、通知画面W7の[完了]ボタンB7が押下されることで、プログラム導入作業の終了要求を受け付ける。
プログラム導入支援装置100は、受け付けたプログラム導入作業の終了要求をUI制御部21からプログラム導入制御部23へと渡す。これにより、プログラム導入作業が終了する。
《アンインストール及びディアクティベーション処理》
図13は、本実施形態に係るアンインストール及びディアクティベーションの処理手順例を示すシーケンス図である。
次にアンインストール及びディアクティベーション処理の中で動作する表示制御処理について説明する。
プログラム導入支援装置100では、管理ツール20が起動されると、起動画面W1が表示装置102に表示される。
プログラム導入支援装置100は、このような起動画面W1を介して、ユーザが所望するサービスの動作要求、すなわちプログラム導入の作業要求を操作イベントEVNとして受け付ける。なお、以降には、起動画面W1を介して、「アンインストール」が選択された場合の処理手順について、図13を用いて説明する。
UI制御部21は、起動画面W1を介して販売パッケージのアンインストール開始指示の入力(操作イベント)を、イベント受付部211で受け付けると、画面生成部212により、アンインストール対象であるプロダクトキーPKの選択画面を表示装置102に表示させる。
図14は、本実施形態に係るプロダクトキーPKの選択画面例を示す図である。
図14には、管理ツール20がアンインストール対象であるプロダクトキーPKをユーザに選択させる選択画面(設定画面)W8の例が示されている。
選択画面W8は、機器200やプロダクトキーPKなどの一覧を表示する一覧情報欄R8を有している。同図に示す画面例では、一覧情報欄R8に、アンインストール対象のプロダクトキー選択を要求する情報が表示されている。
さらに、一覧情報欄R8には、インストールした販売パッケージの「ソフトウェア名(及びバージョン)」、「プロダクトキー」、「ライセンス形態」、「残ライセンス数/総ライセンス数」、「有効期限」、及び「最新更新日時」などの項目を有するプロダクトキー一覧が選択領域SL8として表示され、1又は複数のプロダクトキーPKがアンインストール対象として選択可能である。
UI制御部21では、イベント受付部211で、アンインストール開始指示(操作イベント)を受け付けると、画面生成部212が、画面部品保持部213で保持する画面部品を参照し、上記選択画面W8を生成する。例えば、画面生成部212は、一覧情報欄R8に表示する文字「プロダクトキー一覧」や選択領域SL8などの各画面部品を用いて、上記選択画面W8を生成する。このとき、画面生成部212は、インストール及びアクティベーション処理において、機器200に問い合わせを行った際の記録情報(一時的に保持されている実行結果データ)などに基づき、上記選択領域SL8の各項目値(表示内容)を生成する。
その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を起動画面W1から選択画面W8へと更新する。
図13の説明に戻る。UI制御部21は、アンインストール対象の販売パッケージ(以下「カレント販売パッケージ」と言う)のプロダクトキーPKが選択画面W8を介して選択されると(S201)、選択されたプロダクトキーPKをプログラム導入制御部23へ渡す。
プログラム導入制御部23は、情報取得部22に対して当該プロダクトキーに係るパッケージ情報の取得を要求する。その結果、情報取得部22は、プロダクトキーPKを指定して当該プロダクトキーに係るパッケージ情報の取得要求をライセンスサーバ300に送信する(S202)。
続いて、ライセンスサーバ300は、受信されたプロダクトキーPKに係るレコードに記録されている情報(パッケージ情報)をプログラム導入支援装置100に返信する(S203)。当該プロダクトキーがグループライセンスに係るものである場合、複数の販売パッケージに関するパッケージ情報が返信される。
当該プロダクトキーがグループライセンスに係るものである場合、すなわち、複数の販売パッケージに関するパッケージ情報が受信された場合、プログラム導入支援装置100は、UI制御部21により、当該販売パッケージの一覧情報を含む販売パッケージ選択画面を表示装置102に表示させ、アンインストール対象とする販売パッケージをユーザに選択させる(S204)。以下、選択された販売パッケージを「カレント販売パッケージ」という。
図15は、本実施形態に係るアンインストールプログラムの選択画面例を示す図である。
図15には、管理ツール20がアンインストール対象であるカレント販売パッケージをユーザに選択させる選択画面(設定画面)W9の例が示されている。
選択画面W9は、現在実行中の作業を示すプログラム導入処理情報欄R9を有している。同図に示す画面例では、プログラム導入処理情報欄R9に、アンインストール対象の販売パッケージ(コンポーネント)選択を要求する情報が表示されている。
さらに、プログラム導入処理情報欄R9には、インストールした販売パッケージの「ソフトウェア名(及びバージョン)」項目を有するソフトウェア一覧が選択領域SL9として表示され、1又は複数の販売パッケージ(コンポーネント)がアンインストール対象として選択可能である。
UI制御部21では、イベント受付部211で、プログラム導入制御部23から情報取得部22による情報取得処理結果(パッケージ情報取得の実行結果)を受け付けると、画面生成部212が、画面部品保持部213で保持する画面部品を参照し、上記選択画面W9を生成する。例えば、画面生成部212は、プログラム導入処理情報欄R9に表示する文字「ソフトウェア一覧」や選択領域R9などの各画面部品を用いて、上記選択画面W9を生成する。このとき、画面生成部212は、インストール及びアクティベーション処理において、機器200に問い合わせを行った際の記録情報(一時的に保持されているデータ)などに基づき、上記選択領域SL9の各項目値(表示内容)を生成する。
その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を選択画面W8から選択画面W9へと更新する。
UI制御部21は、選択画面W9の[次へ]ボタンB9が押下されることで、アンインストール対象である販売パッケージの指定要求(アンインストール作業の継続指示)を受け付ける。これにより、UI制御部21は、カレント販売パッケージの選択情報をプログラム導入制御部23へ渡す。
また、UI制御部21は、選択画面W9を介してアンインストール作業継続指示の入力(操作イベント)を、イベント受付部211で受け付けると、画面生成部212により、機器200の一覧を含む選択画面を表示装置102に表示させ、アンインストール対象である機器200をユーザに選択させる。
図16は、本実施形態に係るアンインストール機器の選択画面例を示す図である。
図16には、管理ツール20がアンインストールする機器200をユーザに選択させる選択画面(設定画面)W10の例が示されている。
選択画面W10は、選択画面W9と同様に、プログラム導入処理情報欄R10を有している。同図に示す画面例では、プログラム導入処理情報欄R10に、アンインストール対象機器の選択を要求する情報、及びアンインストールするカレント販売パッケージの内容「ソフトウェア(パッケージ名)」と、そのライセンスの内容「ライセンス数」とを確認する情報が表示されている。
さらに、プログラム導入処理情報欄R10では、機器200の「アドレス」、「モデル名」、「機番」、及び「設置場所」などの項目を有する機器一覧が選択領域SL10として表示され、アンインストール対象とする機器200が選択可能である。
プログラム導入処理情報欄R10では、選択領域SL10のチェックボックス(□)を押下する(□→■)ことで、アンインストール対象の機器200が選択可能である。また、プログラム導入処理情報欄R10では、[全選択]ボタンを押下することで、選択領域SL10に表示される全ての機器200が選択可能である。一方、[全選択解除]ボタンを押下することで、機器選択の全てが解除可能である。また、プログラム導入処理情報欄R10では、選択領域SL10において、複数の機器200をアンインストール先として選択することも可能である。
UI制御部21では、イベント受付部211で、アンインストール作業継続指示(操作イベント)を受け付けると、画面生成部212が、画面部品保持部213で保持する画面部品を参照し、上記選択画面W10を生成する。例えば、画面生成部212は、プログラム導入処理情報欄R10に表示する項目文字「ソフトウェア(パッケージ名)」及び「ライセンス数」や、選択領域SL10、[全選択]ボタン、及び[全選択解除]ボタンなどの各画面部品を用いて、上記選択画面W10を生成する。このとき、画面生成部212は、選択画面W9を介して取得したカレント販売パッケージの選択情報に基づき、上記プログラム導入処理情報欄R10の各項目値(表示内容)を生成する。また、画面生成部212は、インストール及びアクティベーション処理において、機器200に問い合わせを行った際の記録情報(一時的に保持されている実行結果データ)などに基づき、上記選択領域SL10の各項目値(表示内容)を生成する。
その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を選択画面W9から選択画面W10へと更新する。
UI制御部21は、選択画面W10の[次へ]ボタンB10が押下されることで、アンインストール対象機器の指定要求を受け付ける。
プログラム導入支援装置100は、受け付けたアンインストール対象機器の選択情報をUI制御部21からプログラム導入制御部23へと渡す。
図13の説明に戻る。プログラム導入制御部23は、上記選択情報に基づき、情報取得部22に対してアンインストール対象の機器情報の取得を要求する。その結果、情報取得部22は、アンインストール対象として選択された各機器200に対して機器情報の取得要求を送信する(S205)。
機器情報の取得要求を受信した各機器200は、インストール情報管理テーブルに記録されている情報を取得し、取得された情報と当該機器の機体番号とを含む情報を機器情報としてプログラム導入支援装置100に返信する(S206)。
続いて、プログラム導入支援装置100は、プログラム導入制御部23により、ステップS203において取得されたパッケージ情報を、ステップS206で各機器200から取得された機器情報と照合し、当該パッケージ情報に係る販売パッケージがインストールされている機器200を判定する(S207)。具体的には、当該パッケージ情報に含まれているプロダクトID(販売パッケージのプロダクトID)を含む機器情報に係る機器200が、当該販売パッケージのインストールされている機器200(すなわち販売パッケージのアンインストール対象機器)であると判定される。
続くステップS208は、販売パッケージのアンインストール先の機器200ごとに実行されるループ処理である。ループ処理において処理対象とされる機器200を以下、「カレント機器」という。
プログラム導入支援装置100は、プログラム導入制御部23により、カレント販売パッケージのプロダクトIDを指定して、ディアクティベート要求(ライセンスファイルの削除要求)をカレント機器に送信する(S208−1)。カレント機器は、当該要求に応じ、指定されたプロダクトIDに係るライセンスファイル90を削除する。
続いて、プログラム導入支援装置100は、プログラム導入制御部23により、ライセンスファイル90の削除処理の結果をカレント機器に問い合わせる(S208−2)。当該問い合わせ(ポーリング)は、カレント機器においてライセンスファイル90の削除処理が完了し、当該削除処理の処理結果が返信されるまで繰り返される。
続いて、プログラム導入支援装置100は、プログラム導入制御部23により、カレント販売パッケージのプロダクトIDを指定して、アンインストール要求(販売パッケージの削除要求)をカレント機器に送信する(S208−3)。カレント機器は、当該要求に応じ、指定されたプロダクトIDに係る販売パッケージをアンインストール(削除)する。
続いて、プログラム導入支援装置100は、プログラム導入制御部23により、カレント販売パッケージのアンインストール結果をカレント機器に問い合わせる(S208−4)。当該問い合わせ(ポーリング)は、カレント機器においてアンインストールが完了し、インストール結果が返信されるまで繰り返される。
ステップS208が、販売パッケージのアンインストールの対象とされた全ての機器200について実行された後、プログラム導入支援装置100は、プログラム導入制御部23により、カレント販売パッケージのプロダクトIDと、当該全ての機器200の機体番号とを指定してディアクティベート要求(ライセンスの解放要求)をライセンスサーバ300に送信する(S209)。
ライセンスサーバ300は、ライセンス管理テーブルにおいて、指定されたプロダクトID及び機体番号に係るレコードのステータスを「チェックアウト」から「チェックイン」に変更する。すなわち、当該ライセンスは使用されていないことを示す情報がライセンス管理テーブルに記録される。なお、ディアクティベーションは、ステータスが「チェックアウト」のライセンスに関して実行可能である。したがって、対象となるレコードのステータスが「チェックアウト」でない場合、ライセンスサーバ300は、ディアクティベートは失敗したと判断する。
続いて、ライセンスサーバ300は、ディアクティベーション処理結果(処理の成否)を機器200に返信する(S210)。
図17は、本実施形態に係るアンインストール状況の通知画面例を示す図である。
上記アンインストール処理(ステップS208−3、S208−4)が行われている間、プログラム導入支援装置100は、管理ツール20により、処理状況をユーザに通知する。
図17には、管理ツール20がカレント機器のカレント販売パッケージ(コンポーネント)をアンインストールしている旨を通知する通知画面W11の例が示されている。
通知画面W11は、選択画面W10と同様に、プログラム導入処理情報欄R11を有している。同図に示す画面例では、プログラム導入処理情報欄R11に、アンインストール対象であるカレント販売パッケージの内容確認を促す情報、及びアンインストールするカレント販売パッケージの内容「ソフトウェア(パッケージ名)」と、そのライセンスの内容「ライセンス数」とを確認する情報が表示されている。なお、ここで表示される「ライセンス数」は、インストール及びアクティベーション処理において、機器200に問い合わせを行った際の記録情報(一時的に保持されているデータ)などに基づく情報である。つまり、残ライセンス数が最新の値(現在値)となっている。
さらに、プログラム導入処理情報欄R11では、カレント機器の「状態」、「アドレス」、「モデル名」、「機番」、及び「設置場所」などの項目を有する機器一覧がアンインストール状況通知領域R111として表示されている。例えば、同図に示す画面例では、アンインストール状況通知領域R111の「状態」項目に、[正常終了]、[エラー]、[処理中]などのカレント機器におけるソフトウェアのアンインストール状況が表示されている。
UI制御部21では、イベント受付部211で、プログラム導入制御部23から情報取得部22による情報取得処理結果(機器情報取得の実行結果)を受け付けると、画面生成部212が、画面部品保持部213で保持する画面部品を参照し、上記通知画面W11を生成する。例えば、画面生成部212は、プログラム導入処理情報欄R11に表示する項目文字「ソフトウェア(パッケージ名)」、「ライセンス数」、及び「機器一覧」や、アンインストール状況通知領域R111などの各画面部品を用いて、上記通知画面W11を生成する。なお、画面生成部212では、前作業工程で表示した選択画面W10の生成と同様に、上記プログラム導入処理情報欄R11の各項目値(表示内容)を生成する。
その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を選択画面W10から通知画面W11へと更新する。なお、上記アンインストール状況通知領域R111の「状態」項目の値は、上記画面生成及び画面更新処理により、プログラム導入制御部23によるアンインストール及びディアクティベーション処理の実行結果に応じて更新される。
これにより、プログラム導入支援装置100は、ユーザに対して、カレント機器におけるアンインストール処理の進捗状況を通知することができる。
UI制御部21は、通知画面W11の[次へ]ボタンB11が押下されることで、アンインストール及びディアクティベーション処理の継続指示を受け付ける。
プログラム導入支援装置100は、受け付けたアンインストール及びディアクティベーション処理の継続指示をUI制御部21からプログラム導入制御部23へと渡す。これにより、アンインストール及びディアクティベーション処理が継続される。
図18は、本実施形態に係るアンインストール完了の通知画面例を示す図である。
継続して上記アンインストール及びディアクティベーション処理が行われると、プログラム導入支援装置100は、管理ツール20により、処理結果をユーザに通知する。
図18には、管理ツール20がカレント機器から販売パッケージ(コンポーネント)をアンインストールした結果(ディアクティベーションした結果を含む)を通知する通知画面W12の例が示されている。
通知画面W12は、通知画面W11と同様に、プログラム導入処理情報欄R12を有している。同図に示す画面例では、プログラム導入処理情報欄R12に、アンインストール結果(ディアクティベーション結果を含む)の内容確認を促す情報、及びアンインストールしたカレント販売パッケージの内容「ソフトウェア(パッケージ名)」と、そのライセンスの内容「ライセンス数」とを確認する情報が表示されている。
さらに、プログラム導入処理情報欄R12では、カレント機器の「状態」、「アドレス」、「モデル名」、「機番」、及び「設置場所」などの項目を有する機器一覧がアンインストール結果通知領域R121として表示されている。例えば、同図に示す画面例では、アンインストール結果通知領域R121の「状態」項目に、[完了]、[エラー]などのカレント機器におけるソフトウェアのアンインストール結果が表示されている。
UI制御部21では、イベント受付部211で、プログラム導入制御部23からアンインストール結果(アンインストール及びディアクティベーション処理の実行結果)を受け取ると、画面生成部212が、画面部品保持部213で保持する画面部品を参照し、上記通知画面W12を生成する。例えば、画面生成部212は、プログラム導入処理情報欄R12に表示する項目文字「ソフトウェア(パッケージ名)」、「ライセンス数」、及び「機器一覧」や、アンインストール結果通知領域R121などの各画面部品を用いて、上記通知画面W12を生成する。なお、画面生成部212では、前作業工程で表示した通知画面W11の生成と同様に、上記プログラム導入処理情報欄R12の各項目値(表示内容)を生成する。また、画面生成部212は、プログラム導入制御部23によるアンインストール結果に基づき、アンインストール結果通知領域R121の「状態」項目の表示内容を生成する。
その結果、画面更新部214が、画面更新の要求に従って、表示装置102の表示画面を通知画面W11から通知画面W12へと更新する。
これにより、プログラム導入支援装置100は、ユーザに対して、カレント機器におけるアンインストール及びディアクティベーション処理の実行結果を通知することができる。
UI制御部21は、通知画面W12の[完了]ボタンB12が押下されることで、プログラム導入作業の終了要求を受け付ける。
プログラム導入支援装置100は、受け付けたプログラム導入作業の終了要求をUI制御部21からプログラム導入制御部23へと渡す。これにより、プログラム導入作業が終了する。
<まとめ>
以上のように、本実施形態に係るプログラム導入支援装置100によれば、プログラム導入支援機能を実現する管理ツール20により、次のような表示制御機能を行っている。
管理ツール20は、UI制御部21により、表示画面(GUI)Wを介して受け付けた実行要求をプログラム導入制御部23に伝達する。管理ツール20は、表示画面Wを構成する画面部品を保持しており、UI制御部21により、受け付けた実行要求及び/又は要求により実行されたプログラム導入処理の実行結果に基づき、画面部品を用いて、作業工程に応じた情報(処理状況や処理完了)を提示する表示画面Wを生成し、画面を更新する。
すなわち、プログラム導入支援装置100は、ユーザからの実行要求及び/又は要求により実行されたプログラム導入処理の実行結果に基づき、作業工程に応じた表示画面Wを生成し、画面更新する。
これによって、本実施形態に係るプログラム導入支援装置100では、ユーザに対して、進捗状況や実行結果などのプログラム導入処理に係る情報を、実施される作業工程の中で(適切なタイミング)で提示でき、ユーザの導入作業を適切に支援することができる。
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係るプログラム導入支援機能が有する「表示制御機能」は、図を用いて説明を行った各処理手順を、プログラム導入支援装置100の動作環境(プラットフォーム)にあったプログラミング言語でコード化したプログラムが、CPU106により実行されることで実現される。
上記プログラムは、コンピュータが読み取り可能な記録媒体103aに格納することができる。上記記録媒体103aには、例えば、フロッピー(登録商標)ディスク、CD(Compact Disk)、及びDVD(Digital Versatile Disk)などがある。また、プログラム導入支援装置100が外部記憶I/F(非図示)を備えていれば、上記プログラムは、例えば、SDメモリカード(SD Memory Card)及びUSB(Universal Serial Bus)メモリなど記録媒体に格納されていてもよい。
よって、上記プログラムは、上記記録媒体103aに記憶させることで、記録媒体103aを読み取り可能なドライブ装置103を介してプログラム導入支援装置100にインストールすることができる。また、プログラム導入支援装置100は、インタフェース装置107を備えていることから、インターネットなどの電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
本発明は上記従来技術の問題点を鑑み提案されたものであり、その目的とするところは、ユーザに対して、プログラム導入作業における各作業工程の情報を提示し適切な導入作業を支援することができる情報処理装置、プログラム導入支援システム、表示制御方法、表示制御プログラム、及びそのプログラムを記録した記録媒体を提供することにある。