JP2011170638A - プログラム管理システム、プログラム管理方法、クライアントおよびプログラム - Google Patents

プログラム管理システム、プログラム管理方法、クライアントおよびプログラム Download PDF

Info

Publication number
JP2011170638A
JP2011170638A JP2010034032A JP2010034032A JP2011170638A JP 2011170638 A JP2011170638 A JP 2011170638A JP 2010034032 A JP2010034032 A JP 2010034032A JP 2010034032 A JP2010034032 A JP 2010034032A JP 2011170638 A JP2011170638 A JP 2011170638A
Authority
JP
Japan
Prior art keywords
program
information
server
dependency
display
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.)
Pending
Application number
JP2010034032A
Other languages
English (en)
Inventor
Toshihiro Kuroyanagi
智弘 黒柳
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010034032A priority Critical patent/JP2011170638A/ja
Priority to US13/023,777 priority patent/US8595720B2/en
Priority to EP11250173A priority patent/EP2369475A3/en
Priority to CN201110041852.1A priority patent/CN102195964B/zh
Publication of JP2011170638A publication Critical patent/JP2011170638A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】プログラムの依存関係を容易に把握できるようにする。
【解決手段】クライアント装置において、サーバが保持するプログラムのインストールが要求されると、依存関係表示作成部は、サーバから、サーバが保持するプログラムの情報と、当該プログラムに対する他のプログラムの依存関係を示す情報とを含むサーバプログラム情報を取得すると共に、クライアント装置にインストール済みのプログラムの情報を含む機器プログラム情報を取得する。依存関係表示作成部は、サーバプログラム情報が含む依存関係を示す情報に基づき、インストールを指定されたプログラムと当該プログラムに対して依存関係がある他のプログラムとの依存関係が明確になるように、表示画面を作成する。それと共に、機器プログラム情報に基づき、インストールするプログラムのうちインストール済みのプログラムに対して、その旨示す表示を行う。
【選択図】図3

Description

本発明は、プログラムの管理を行うプログラム管理システム、プログラム管理方法、クライアントおよびプログラムに関する。
従来から、ネットワーク通信機能を有する情報処理装置において、サーバからネットワークを介してダウンロードしたプログラムをインストールすることが行われている。また、近年では、印刷機能、コピー機能およびFAX機能などを1台の機器で実現する複合機にネットワーク通信機能を設け、サーバからネットワークを介してプログラムをダウンロードしてインストールし、当該複合機に対して新たな機能を追加可能とした製品も開発されている。
ところで、例えば複合機のある機能を実現するために、複数のプログラムが協働して動作する場合が多くみられる。このような、ある機能を実現するために互いに協働して動作する複数のプログラムの間には、依存関係が存在するといえる。
複合機に対してある機能を追加する場合には、当該機能を実現するための、依存関係にあるプログラムが、当該複合機に全てインストールされた状態にする必要がある。また、複合機に追加されたある機能を削除する場合には、当該機能を実現するための、依存関係にあるプログラムを、当該複合機からアンインストールする。
特許文献1には、複合機の機器構成の変更時に、当該複合機にインストールされているプラグインプログラムの情報を、ネットワークに接続される各複合機のプラグイン情報を管理するサーバに送信し、サーバに対してプラグインプログラムの適用可否の判断などを要求する構成が記載されている。
しかし、従来のシステムでは、ある機能を複合機に対して追加する場合や、複合機に追加されたある機能を削除する場合に必要な情報である、プログラム間の依存関係をユーザが把握することが困難であった。これは、例えば複合機において機能追加のプログラムを管理する上で、問題となる。
上述した特許文献1の記載によれば、ネットワークを介してサーバと複合機との間でプラグインプログラムの情報などをやりとりし、プラグインの適用可否情報を複合機において提示している。しかしながら、特許文献1の構成では、プログラムの依存関係をユーザが明確に把握できないという問題は解消できていない。
本発明は、上記に鑑みてなされたものであって、プログラムの依存関係を容易に把握できるようにすることを目的とする。
上述した課題を解決し、目的を達成するために、第1の発明は、クライアントと、クライアントとネットワークを介して接続されるサーバとを備えるプログラム管理システムであって、サーバは、クライアントにインストールするプログラムを保持するプログラム記憶手段と、プログラム記憶手段に保持されるプログラムを示す情報と、プログラム記憶手段に保持されるプログラムに対する、他のプログラム記憶手段に保持されるプログラムの依存関係を示す情報とを含む第1のプログラム情報を保持する第1のプログラム情報記憶手段とを有し、クライアントは、ユーザ入力を受け付ける入力手段と、インストールされたプログラムを示す情報と、インストールされたプログラムに対する、他のインストールされたプログラムの依存関係を示す情報とを含む第2のプログラム情報を保持する第2のプログラム情報記憶手段と、入力手段に対するユーザ入力に従い、第1のプログラム情報および第2のプログラム情報の少なくとも一方を用いて、プログラム記憶手段に保持されるプログラムまたはインストールされたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する表示画面作成手段とを有することを特徴とする。
また、第2の発明は、クライアントと、クライアントとネットワークを介して接続されるサーバとを備えるプログラム管理システムのプログラム管理方法であって、サーバは、クライアントにインストールするプログラムを保持するプログラム記憶手段と、プログラム記憶手段に保持されるプログラムを示す情報と、プログラム記憶手段に保持されるプログラムに対する、他のプログラム記憶手段に保持されるプログラムの依存関係を示す情報とを含む第1のプログラム情報を保持する第1のプログラム情報記憶手段とを有し、クライアントは、インストールされたプログラムを示す情報と、インストールされたプログラムに対する、他のインストールされたプログラムの依存関係を示す情報とを含む第2のプログラム情報を保持する第2のプログラム情報記憶手段を有し、クライアントが、ユーザ入力を受け付ける入力ステップと、クライアントが、入力ステップに対するユーザ入力に従い、第1のプログラム情報および第2のプログラム情報のうち少なくとも一方を取得する取得ステップと、クライアントが、取得ステップで取得された第1のプログラム情報および第2のプログラム情報のうち少なくとも一方を用いて、プログラム記憶手段に保持されるプログラムまたはインストールされたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する表示画面作成ステップとを有することを特徴とする。
また、第3の発明は、ユーザ入力を受け付ける入力手段と、インストールされたプログラムを示す情報と、インストールされたプログラムに対する、他のインストールされたプログラムの依存関係を示す情報とを含むプログラム情報を保持するプログラム情報記憶手段と、入力手段に対するユーザ入力に従い、ネットワークを介して接続されるサーバに保持されるインストールするプログラムを示す情報と、サーバに保持されるプログラムに対する、他のサーバに保持されるプログラムの依存関係を示す情報とを含むプログラム情報と、プログラム情報記憶手段に保持されるプログラム情報とのうち少なくとも一方を用いて、サーバに保持されるプログラムまたはインストールされたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する表示画面作成手段とを有することを特徴とする。
また、第4の発明は、入力手段が、ユーザ入力を受け付ける入力ステップと、取得手段が、入力ステップに対するユーザ入力に従い、ネットワークを介して接続されるサーバに保持される、インストールするプログラムを示す情報と、プログラムに対する、他のプログラムの依存関係を示す情報とを含む第1のプログラム情報と、入力ステップに対するユーザ入力に従い、インストールされたプログラムを示す情報と、インストールされたプログラムに対する、他のインストールされたプログラムの依存関係を示す情報とを含む第2のプログラム情報とのうち少なくとも一方を取得する取得ステップと、表示画面作成手段が、取得ステップで取得された第1のプログラム情報および第2のプログラム情報のうち少なくとも一方を用いて、サーバに保持されるプログラムまたはインストールされたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する表示画面作成ステップとを有することを特徴とする。
また、第5の発明は、ユーザ入力を受け付ける入力ステップと、入力ステップに対するユーザ入力に従い、ネットワークを介して接続されるサーバに保持される、インストールするプログラムを示す情報と、プログラムに対する、他のプログラムの依存関係を示す情報とを含む第1のプログラム情報と、入力ステップに対するユーザ入力に従い、インストールされたプログラムを示す情報と、インストールされたプログラムに対する、他のインストールされたプログラムの依存関係を示す情報とを含む第2のプログラム情報とのうち少なくとも一方を取得する取得ステップと、取得ステップで取得された第1のプログラム情報および第2のプログラム情報のうち少なくとも一方を用いて、サーバに保持されるプログラムまたはインストールされたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する表示画面作成ステップとをコンピュータに実行させることを特徴とする。
本発明によれば、プログラムの依存関係を容易に把握できるという効果を奏する。
図1は、本発明の第1の実施形態に適用可能なプログラム管理システムの構成を概略的に示すブロック図である。 図2は、プログラムサーバのプログラム情報記憶部に保持される情報の例を示す略線図である。 図3は、本発明の第1の実施形態による依存関係を表示する表示画面の作成処理の一例を示すシーケンス図である。 図4は、ソフトウェア管理画面の一例を示す略線図である。 図5は、インストール処理が指示された場合の依存関係表示画面の一例の作成処理を示すフローチャートである。 図6は、プログラム追加画面の一例を示す略線図である。 図7は、インストール処理における依存関係表示画面の一例を示す略線図である。 図8は、依存関係表示画面の別の例を示す略線図である。 図9は、アンインストール処理が指示された場合の依存関係表示画面の一例の作成処理を示すフローチャートである。 図10は、プログラム管理画面の一例を示す略線図である。 図11は、異なる複数のプログラムが共通のプログラムに対して依存関係を持つ例を示す略線図である。 図12は、依存関係を閲覧するプログラムを選択するための選択画面の例を示す略線図である。 図13は、本発明の第2の実施形態に適用可能なソフトウェア配信システムの一例のネットワーク構成図である。 図14は、本発明の第2の実施形態に適用可能な複合機の機能的構成の例を示すブロック図である。 図15は、複合機のハードウェア構成の例を示すブロック図である。 図16は、本発明の第2の実施形態の変形例によるソフトウェア配信システムの一例のネットワーク構成図である。
<第1の実施形態>
以下に添付図面を参照して、本発明に係るプログラム管理システムの第1の実施形態について説明する。図1は、本第1の実施形態に適用可能なプログラム管理システム1の構成を概略的に示す。LAN(Local Area Network)などによるネットワーク5に対して、プログラムサーバ10と、クライアント装置20、20、…とが接続され、プログラムサーバ10と各クライアント装置20、20、…との間で互いに通信可能とされている。
プログラムサーバ10は、例えばCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)などを有する一般的なコンピュータからなり、CPU上で動作する制御プログラムに従い、各クライアント装置20、20、…に対して機能を追加するためのプログラムを管理する。制御プログラムは、例えばCD(Compact Disk)やDVD(Digital Versatile Disk)といった記録媒体や、ネットワークなどを介してプログラムサーバ10に提供される。
各クライアント装置20、20、…は、自身に機能を追加するためのプログラムまたはプログラム群を、プログラムサーバ10からネットワーク5を介してダウンロードし、インストールすることができる。以下では、プログラムは、特に記載がない限り、クライアント装置20に対して機能を追加するためのプログラムを指すものとする。
クライアント装置20は、例えば、印刷機能、コピー機能、ファクス機能など複数の機能を1の筐体で実現する複合機(MFP:Multi Function Printer)である。クライアント装置20は、CPU、RAM、ROMなどを有し、CPU上で動作する制御プログラムに従い動作が制御される。制御プログラムは、例えばCDやDVDといった記録媒体や、ネットワークなどを介してクライアント装置20に提供される。
これに限らず、クライアント装置20は、プログラムサーバ10からネットワーク5を介してダウンロードしたプログラムをインストール可能であれば、一般的なコンピュータ、特定の機能を実行するための他の情報処理装置でもよい。
なお、プログラム管理システム1において、ネットワーク5に対してプログラムサーバ10を複数接続してもよい。また、ネットワーク5は、LANに限らず、インターネットなど外部との通信可能なネットワークでもよいし、LANと、外部との通信可能なネットワークとが混在していてもよい。
プログラムサーバ10は、プログラム管理部12、プログラム記憶部13、プログラム情報記憶部14およびネットワーク部15を有し、これらが互いに通信可能に接続されている。また、プログラムサーバ10の全体を制御するための制御プログラムが、図示されない記憶部にインストールされている。
プログラム記憶部13は、クライアント装置20、20、…に対して機能を追加するためのプログラムを保持する。このプログラムは、単独のプログラムで構成されていてもよいし、複数のプログラムが協働して動作するように構成されていてもよい。プログラム情報記憶部14は、プログラム記憶部13に保持されるプログラムの情報を保持する。このプログラム情報には、プログラム間の依存関係を示す情報が含まれる。
プログラム管理部12は、図示されない記憶部に格納された制御プロラムに従ったCPUの動作により、プログラム記憶部13が保持するプログラムを管理する。また、ネットワーク部15は、制御プログラムに従いネットワーク5に対する通信を制御する。
クライアント装置20は、制御部22、プログラム情報記憶部23、依存関係表示作成部24、画面表示部25、入力部26およびネットワーク部27を有し、これらが互いに通信可能に接続されている。
また、クライアント装置20の全体を制御するための制御プログラムや、クライアント装置20の機能を実現するためのプログラムが、図示されない記憶部に格納されている。なお、制御プログラムには、クライアント装置20に機能を追加するためにプログラムをインストールしたり、追加した機能を削除するためにプログラムのアンインストールを行うためのインストールプログラムを含む。
制御部22は、制御プログラムに従ったCPUの動作により、クライアント装置20の各部の制御を行う。プログラム情報記憶部23は、クライアント装置20にインストールされている、クライアント装置20の機能を実現するためのプログラムの情報が保持される。このプログラム情報には、プログラム間の依存関係を示す情報が含まれる。
依存関係表示作成部24は、制御プログラムに従ったCPUの動作により、制御部22からの要求に応じて、指定されたプログラムに関するプログラム間の依存関係を示す表示画面を作成する。画面表示部25は、例えばLCD(Liquid Crystal Display)などの表示素子に対して画面の表示を行う。入力部26は、ユーザ入力を受け付ける。例えば、入力部26は、画面表示部25の画面表示部分と一体的に構成されたタッチパネルであって、押圧された位置に応じた信号を出力する。ネットワーク部27は、ネットワーク5に対する通信を制御する。
図2は、プログラムサーバ10のプログラム情報記憶部14に保持される情報の例を示す。プログラム情報記憶部14は、図2(a)に例示されるIDテーブルと、図2(b)に例示される依存関係テーブルとを保持する。
IDテーブルは、プログラム記憶部13が保持するプログラムの名称に対してユニークな識別情報(ID)を関連付けて保持する。図2(a)の例では、プログラム記憶部13に対して保持される、名称「コピーパッケージ」、「マルチアプリパッケージ」、「ファクスパッケージ」、…のプログラムに対して、それぞれユニークな識別子「111」、「123」、「225」、…が関連付けられている。
依存関係テーブルは、プログラム記憶部13が保持するプログラムについて、プログラム記憶部13が保持する他のプログラムとの間の依存関係が保持される。図2(b)において、対象IDの項目には、例えばプログラム記憶部13が保持する全てのプログラムの識別子が記述される。また、依存先IDには、対象IDの項目に記述される識別子に関連付けられたプログラムに対して依存関係がある、プログラム記憶部13が保持するプログラムの識別子が記述される。
図2(b)の例では、識別子「111」で示されるプログラムは、識別子「678」で示されるプログラムに対して依存関係があることが示される。換言すれば、識別子「111」で示されるプログラムは、識別子「678」で示されるプログラムと協働して動作することで、識別子「111」で示されるプログラムとしての機能を実現する。
図2(b)の別の例では、識別子「123」で示されるプログラムは、それぞれ識別子「225」、識別子「334」および識別子「555」で示されるプログラムに対して依存関係があることが示される。換言すれば、識別子「123」で示されるプログラムは、それぞれ識別子「225」、識別子「334」および識別子「555」で示されるプログラムと協働して動作することで、識別子「123」で示されるプログラムとしての機能を実現する。このように、1つのプログラムが複数のプログラムに対して依存関係を持っていてもよい。
また、図2(b)のさらに別の例では、上述した識別子「123」で示されるプログラムに対して依存関係がある、識別子「555」で示されるプログラムは、さらに、識別子「789」で示されるプログラムと依存関係にある。したがって、識別子「123」で示されるプログラムは、それぞれ識別子「225」、識別子「334」および識別子「555」で示されるプログラムに対して直接的な依存関係があると共に、識別子「789」で示されるプログラムに対して間接的な依存関係がある。このように、依存先IDを対象IDとして、この対象IDに対して依存先IDを記述することで、プログラム間の依存関係の階層構造を記述することもできる。
なお、ここではプログラムサーバ10のプログラム情報記憶部14に保持される情報について説明したが、クライアント装置20のプログラム情報記憶部23にも、図2に示したIDテーブルおよび依存関係テーブルと同様の形態で、プログラムおよびプログラムの依存関係が保持される。但し、クライアント装置20のプログラム情報記憶部23においては、クライアント装置20に機能追加のためにインストールされているプログラムに関して、識別子および依存関係が保持される。
次に、本第1の実施形態による、プログラムの依存関係を表示する表示画面の作成処理について説明する。本第1の実施形態では、例えば、プログラムサーバ10からネットワーク5を介してダウンロードしたプログラムのクライアント装置20に対するインストール時、ならびに、クライアント装置20に機能を追加するためにインストールされたプログラムのアンインストール時に、インストールまたはアンインストール対象のプログラムに対する他のプログラムの依存関係を表示させる。
本第1の実施形態では、さらに、インストールまたはアンインストールを行わない状態であっても、プログラムサーバ10がプログラム記憶部13に保持するプログラム、ならびに、クライアント装置20にインストールされているプログラムの他のプログラムとの依存関係を表示させることもできる。
図3は、本第1の実施形態による依存関係を表示する表示画面の作成処理の一例を示すシーケンス図である。クライアント装置20において、入力部26に対するユーザ操作により、インストール処理、アンインストール処理および依存関係表示処理のうち何れの処理を実行するかが入力される。入力部26は、入力された処理内容を示す情報をパラメータとして、制御部22に対して依存関係表示要求を出す(SEQ10)。以下では、入力部26に対するユーザ操作により、インストール処理の実行が指示されたものとして図3に係る説明を行う。
制御部22は、入力部26からの依存関係表示要求を受けて、処理内容を示す情報をパラメータとして、依存関係表示作成部24に対して依存関係表示画面の作成を要求する依存関係表示作成要求を出す(SEQ11)。依存関係表示作成部24は、制御部22からの依存関係表示作成要求を受けて、プログラムサーバ10に対してサーバプログラム取得要求を出し、プログラム記憶部13に保持されているプログラムの情報を取得するように要求する(SEQ12)。
以下、適宜、プログラムサーバ10のプログラム記憶部13に保持されているプログラムをサーバプログラムと呼び、プログラム情報記憶部14に保持されているプログラム情報をサーバプログラム情報と呼ぶ。
サーバプログラム取得要求は、ネットワーク部27からネットワーク5を介してプログラムサーバ10に送信され、プログラムサーバ10側のネットワーク部15に受信される(SEQ13)。ネットワーク部15は、受信したサーバプログラム取得要求を、プログラム管理部12に渡す(SEQ14)。プログラム管理部12は、サーバプログラム取得要求に応じて、プログラム情報記憶部14からサーバプログラム情報を取得する(SEQ15、SEQ16)。
ここでは、プログラム記憶部13が保持している全てのサーバプログラムについて、プログラム情報記憶部14からサーバプログラム情報が取得されるものとする。これに限らず、SEQ13においてクライアント装置20からプログラムサーバ10に送信するサーバプログラム取得要求に対してクライアント装置20を特定可能な情報を含め、プログラムサーバ10側において、特定されたクライアント装置20に適用可能なサーバプログラムに対応するサーバプログラム情報を選択的に取得するようにもできる。
上述のSEQ16で取得されたサーバプログラム情報は、プログラム管理部12からネットワーク部15に渡され(SEQ17)、ネットワーク部15からクライアント装置20のネットワーク部27に送信される(SEQ18)。クライアント装置20において、ネットワーク部27は、プログラムサーバ10から送信されたサーバプログラム情報を受信して、依存関係表示作成部24に渡す(SEQ19)。
また、依存関係表示作成部24は、上述した、SEQ12からのプログラムサーバ10に対するサーバプログラム情報の要求処理を行うと共に、クライアント装置20内部において、機能追加のためにインストールされているプログラムに関するプログラム情報を取得する。
以下、適宜、クライアント装置20にインストールされているプログラムを機器プログラムと呼び、プログラム情報記憶部23に保持されているプログラム情報を機器プログラム情報と呼ぶ。
より具体的には、依存関係表示作成部24は、上述のSEQ11で制御部22からの依存関係表示の作成要求を受けると、クライアント装置20内のプログラム情報記憶部23に対して、当該クライアント装置20にインストールされているプログラムのプログラム情報を取得するように要求する。この要求に応じてプログラム情報記憶部23から機器プログラム情報が取得され、取得された機器プログラム情報が依存関係表示作成部24に渡される(SEQ30、SEQ31)。
なお、図3において、依存関係表示作成部24は、SEQ31で機器プログラム情報を取得してからSEQ19でサーバプログラム情報を取得するように示されているが、この取得順序は逆でも構わない。
依存関係表示作成部24は、SEQ19で取得されたサーバプログラム情報と、SEQ31で取得された機器プログラム情報とに基づき、各プログラムの依存関係とプログラムのインストール状態とを判断する(SEQ40、SEQ41)。
より具体的には、SEQ40で、依存関係表示作成部24は、SEQ19で取得したサーバプログラム情報に含まれるIDテーブルおよび依存関係テーブルから、サーバプログラムについて、プログラム記憶部13に保持されている他のプログラムとの依存関係を求める。次のSEQ41で、依存関係表示作成部24は、SEQ31で取得した機器プログラム情報に含まれるIDテーブルおよび依存関係テーブルから、各機器プログラムのうちIDテーブルに記述されているプログラムの情報を取得すると共に、当該プログラムに対する他のプログラムの依存関係を取得する。
依存関係表示作成部24は、機器プログラムおよびサーバプログラムについての依存関係と、クライアント装置20におけるプログラムのインストール状態を取得すると、取得したこれらの情報に基づき、プログラムの依存関係を表示するための依存関係表示画面を作成する(SEQ42)。
このとき、依存関係表示作成部24は、SEQ10、SEQ11で依存関係表示作成部24に渡された依存関係表示の作成要求のパラメータで示される処理内容がインストール処理、アンインストール処理および依存関係表示のみの処理の何れであるかに応じて、依存関係テーブルおよびインストール状態を示す情報に基づき、依存関係表示画面を作成する。
作成された依存関係表示画面を画面表示部25に表示させるための表示信号が依存関係表示作成部24から出力され、画面表示部25に供給される(SEQ50)。画面表示部25は、供給された表示信号に従い表示素子に対して表示を行う。
<依存関係表示画面の作成処理>
次に、依存関係表示作成部24による依存関係表示画面の作成処理について説明する。先ず、制御部22または依存関係表示作成部24は、インストール処理、アンインストール処理および依存関係閲覧処理のうち何れか1つの処理を選択するための、ソフトウェア管理画面を作成し、画面表示部25に表示させる。ユーザは、このソフトウェア管理画面に従い入力部26を操作することで、処理を選択することができる。
図4は、ソフトウェア管理画面30の一例を示す。ソフトウェア管理画面30に対して、プログラム追加ボタン31、プログラム管理ボタン32および依存関係閲覧ボタン33が配置される。プログラム追加ボタン31は、サーバプログラムのクライアント装置20に対するインストールを指示する。プログラム管理ボタン32は、クライアント装置20にインストールされている機器プログラムのアンインストールを指示する。依存関係閲覧ボタン33は、付随的に配置されるラジオボタン34Aおよび34Bにより選択された、サーバプログラムおよび機器プログラムのうちの一方を閲覧する閲覧画面を表示させる。
<インストール処理時の依存関係表示>
先ず、インストール処理が指示された場合について説明する。図5は、上述のSEQ10で、入力部26からプログラム追加ボタン31が操作され、インストール処理が指示された場合の、依存関係表示作成部24による依存関係表示画面の一例の作成処理を示すフローチャートである。プログラム追加ボタン31が操作されると、入力部26は、インストール処理に係る依存関係表示要求を制御部22に渡す。
依存関係表示作成部24は、入力部26からの依存関係表示要求を、制御部22を介して受け取ると、ステップS10で、プログラム間の依存関係を把握するために、プログラムサーバ10に対してサーバプログラム情報の取得要求を送信し、プログラムサーバ10からサーバプログラム情報を取得する。次のステップS11で、依存関係表示作成部24は、クライアント装置20にインストール済みのプログラムを判断するために、プログラム情報記憶部23に対して機器プログラム情報を要求し、プログラム情報記憶部23から機器プログラム情報を取得する。
依存関係表示作成部24は、次のステップS12で、インストールの対象となるプログラムを示す情報を取得する。例えば、依存関係表示作成部24は、ステップS10で取得したサーバプログラム情報に含まれるIDテーブルを参照してサーバプログラム名称が一覧表示されたプログラム追加画面を作成し、作成したプログラム追加画面を画面表示部25に表示させる。
図6は、プログラム追加画面40の一例を示す。図4で示したソフト管理画面30におけるプログラム追加ボタン31の操作に応じて、上述のステップS10およびステップS11の処理が行われ、このプログラム追加画面40が画面表示部25に表示される。ステップS10で取得されたサーバプログラム情報から取り出したサーバプログラムの名称が、プログラム追加画面40の表示領域42に対して例えばリスト状に配置される。図6の例では、サーバプログラム名称として、「マルチアプリパッケージ」、「ファクスパッケージ」、「送信パッケージ」、「拡張編集パッケージ」および「マニュアルパッケージ」が表示領域42に対して配置されている。
また、各サーバプログラム名称に対してチェックボックスが付随的に配置される。ユーザは、入力部26の操作により所望のサーバプログラムに付随するチェックボックスをチェックすることで、クライアント装置20にインストールしたい1または複数のサーバプログラムを選択することができる。図6の例では、「マルチアプリパッケージ」に付随するチェックボックスがチェックされ、インストールを行うサーバプログラムとして「マルチアプリパッケージ」が選択されている。
所望のサーバプログラムを選択した後に、入力部26によりインストールボタン41を操作すると、選択されたプログラムを示す情報(例えば当該プログラムに関連付けられた識別子)が、入力部26から制御部22を介して依存関係表示作成部24に渡され、ステップS13以降の処理により、インストール対象のサーバプログラムに関するプログラムの依存関係の表示画面作成が実行される。
なお、取得したサーバプログラムの数が多く、プログラム追加画面40に対して全てのサーバプログラムの名称を表示しきれない場合は、スクロールボタン43を操作することで、プログラム追加画面40の表示が縦方向にスクロールし、プログラム追加画面40外にはみ出ている表示内容をプログラム追加画面40内に表示させることができる。
ステップS13からステップS18までの処理は、インストール対象のプログラム毎に繰り返される処理である。依存関係表示作成部24は、インストール対象のプログラムを示す情報を取得すると、ステップS13で、当該インストール対象のプログラムの名称をサーバプログラム情報に含まれるIDテーブルを参照して求め、表示情報として依存関係表示情報に追加する。
次のステップS14からステップS17までの処理は、インストール対象の1つのプログラムと依存関係にある他のサーバプログラム毎に繰り返される処理である。ステップS14で、依存関係表示作成部24は、インストール対象の1つのサーバプログラム(以下、対象サーバプログラムと呼ぶ)について、対象サーバプログラムと依存関係にあるサーバプログラムのうち1つのサーバプログラムの情報を、表示情報として依存関係表示情報に追加する。
例えば、依存関係表示作成部24は、対象サーバプログラムについて、サーバプログラム情報に含まれる依存関係テーブルを参照して他のサーバプログラムとの依存関係を取得する。取得された他のサーバプログラムの名称を、IDテーブルを参照して求め、求められた名称を、表示情報とする。以下、対象サーバプログラムに対して依存関係にある他のサーバプログラムを、依存対象サーバプログラムと呼ぶ。
次のステップS15で、依存関係表示作成部24は、当該依存対象サーバプログラムがクライアント装置20にインストール済みであるか否かを判断する。すなわち、依存関係表示作成部24は、機器プログラム情報に含まれるIDテーブルを参照し、当該依存対象サーバプログラムの識別子と一致する識別子が当該IDテーブルに保持されているか否かを判断する。若し、保持されていないと判断されたら、処理はステップS17に移行される。
一方、ステップS15で、当該依存対象サーバプログラムの識別子と一致する識別子が当該IDテーブルに保持されていると判断されたら、処理はステップS16に移行される。依存関係表示作成部24は、ステップS16で、当該依存対象サーバプログラムがインストール済みである旨を示す情報を、表示情報として依存関係表示情報に追加する。このインストール済みである旨を示す情報は、例えば当該依存対象サーバプログラムの名称に対して所定のメッセージやアイコンなどを関連付けて示すことが考えられる。
次のステップS17で、依存関係表示作成部24は、対象サーバプログラムと依存関係にある全ての依存対象サーバプログラムについて、名称を表示情報として依存関係表示情報に追加したか否かを判断する。若し、名称が追加されていない依存対象サーバプログラムが存在すると判断したら、依存関係表示作成部24は、処理をステップS14に戻し、未だ名称が追加されていない依存対象サーバプログラムについて、ステップS14〜ステップS17の処理を行う。
一方、ステップS17で、依存関係表示作成部24は、対象サーバプログラムと依存関係にある全ての依存対象サーバプログラムについて、名称が追加されたと判断したら、処理をステップS18に移行させる。ステップS18で、依存関係表示作成部24は、インストール対象として選択された全ての対象サーバプログラムに対する処理が終了したか否かを判断する。若し、終了していないと判断したら、処理をステップS13に戻し、未だ処理されていない対象サーバプログラムについて、ステップS13〜ステップS18の処理を行う。
一方、ステップS18で、依存関係表示作成部24は、インストール対象として選択された全ての対象サーバプログラムに対する処理が終了したと判断したら、処理をステップS19に移行させる。
ステップS19で、依存関係表示作成部24は、依存関係表示情報から依存関係を表示する依存関係表示画面を作成する。依存関係表示作成部24は、例えば、依存関係表示情報に含まれる対象サーバプログラムの名称と、同様に依存関係表示情報に含まれる、当該対象サーバプログラムと依存関係にある依存対象サーバプログラムの名称との依存関係が明確となるように、これらの名称を画面に配置して、依存関係表示画面を作成する。
そして、次のステップS20で、依存関係表示作成部24は、ステップS19で作成した依存関係表示画面を表示させるための表示信号を画面表示部25に対して供給し、画面に表示部25に対して当該依存関係表示画面を表示させる。
図7は、ステップS19で作成される、インストール処理における依存関係表示画面70の一例を示す。表示領域73に対し、「選択したプログラム」として対象サーバプログラムの名称が配置される。表示領域73に隣接する表示領域74に対し、「インストールに必要なパッケージ」として、表示領域73に表示される対象サーバプログラムに対して依存関係がある依存対象サーバプログラムの名称が配置される。
図7の例では、対象サーバプログラムとして「マルチアプリパッケージ」が選択され、「ファクスパッケージ」、「マーキングパッケージ」および「送信パッケージ」が、当該対象サーバプログラムに対して依存関係がある依存対象サーバプログラムとして示されている。また、依存対象サーバプログラムのうち、「マーキングパッケージ」は、クライアント装置20にインストール済みである旨が、「インストール済み」なるメッセージを当該依存対象サーバプログラムの名称に対して付加することで示されている。
図7のように、あるプログラムの名称と、当該プログラムに対して依存関係がある他のプログラムの名称とを対にして、互いに隣接させて配置して表示させることで、ユーザによるプログラムの依存関係の把握が容易となる。
また、図7の例において、依存関係表示画面70の上部右側に、実行ボタン71およびキャンセルボタン72が配置される。実行ボタン71は、例えば入力部26から操作することで、表示領域73および74に表示される名称のプログラムのインストールを実行することができる。キャンセルボタン72は、インストール処理のキャンセルを指示する。
一例として、実行ボタン71が操作された旨が入力部26から制御部22に通知されると、制御部22は、依存関係表示作成部24に対して、表示領域73に名称が表示される対象サーバプログラムの識別子を要求する。それと共に、制御部22は、依存関係表示作成部24に対して、表示領域74に名称が表示される依存対象サーバプログラムのうち、インストール済みではない依存対象サーバプログラムの識別子を要求する。制御部22は、これらの要求に応じて取得された識別子を、ネットワーク部27からプログラムサーバ10に対して送信する。
プログラムサーバ10において、クライアント装置20から送信された、サーバプログラムを示す識別子がネットワーク部15により受信され、プログラム管理部12に渡される。プログラム管理部12は、ネットワーク15から渡された識別子に対応するサーバプログラムをプログラム記憶部13から取り出し、取り出したサーバプログラムをネットワーク部15からクライアント装置20に対して送信する。
送信されたサーバプログラムは、クライアント装置20においてネットワーク部27に受信されて制御部22に渡され、制御部22により所定の手順で以てクライアント装置20にインストールされる。サーバプログラムのインストール終了後、制御部22は、プログラム情報記憶部14のIDテーブルおよび依存関係テーブルを更新し、インストールされたサーバプログラムの情報を反映させる。
上述したように、インストールを行う対象サーバプログラムは、複数を選択することができる。対象サーバプログラムが複数選択された場合、依存関係表示画面70には、選択された複数の対象サーバプログラムと、これら複数の対象サーバプログラムのそれぞれについて、依存関係のある依存対象サーバプログラムが、依存関係が明確になるように配置されて表示される。図7の例では、表示領域73および74の組が、選択された対象サーバプログラムの数だけ表示されることになる。
この場合、複数の対象サーバプログラムからインストールを実行する対象サーバプログラムを選択可能とすると、より好ましい。例えば、複数の対象サーバプログラムそれぞれについて、表示領域73に表示される対象サーバプログラムの名称に対してチェックボックスを付加的に表示させ、入力部26に対する操作によりチェックボックスがチェックされた対象サーバプログラムについて、選択的にインストール処理を行う。1つの対象サーバプログラムのインストールが終了する毎にIDテーブルおよび依存関係テーブルを更新し、それに伴い依存関係表示画面70の表示内容を更新すると好ましい。
なお、インストールを行う対象サーバプログラムが多数選択され、各プログラム名称が依存関係表示画面70内に一度に表示しきれない場合は、スクロールボタン75を操作することで、依存関係表示画面70の表示が縦方向にスクロールし、依存関係表示画面70外にはみ出ている表示部分を依存関係表示画面70内に表示させることができる。
図8は、依存関係表示画面の別の例を示す。なお、図8において、上述した図7と共通する部分には同一の符号を付し、詳細な説明を省略する。図8の例では、依存関係表示画面80は、プログラム間の依存関係をツリー構造を用いて視覚的にレイアウトして表現している。すなわち、インストールを行う対象サーバプログラムの名称がツリー構造のルートとしての表示領域73’に配置され、当該対象サーバプログラムに対して直接的に依存関係がある依存対象サーバプログラムの名称が、ルートの直下の階層として表示領域74’に配置される。また、ツリー構造を用いたレイアウトの場合、表示81のように、対象サーバプログラムに対して階層構造により間接的に依存関係があるプログラムの表示も容易である。
<アンインストール処理時の依存関係表示>
次に、アンインストール処理が指示された場合について説明する。図9は、上述のSEQ10で、入力部26からプログラム管理ボタン32が操作され、アンインストール処理が指示された場合の、依存関係表示作成部24による依存関係表示画面の一例の作成処理を示すフローチャートである。プログラム管理ボタン32が操作されると、入力部26は、アンインストール処理に係る依存関係表示要求を制御部22に渡す。
依存関係表示作成部24は、入力部26からの依存関係表示要求を、制御部22を介して受け取ると、ステップS30で、クライアント装置20にインストール済みの機器プログラムを判断すると共に、当該インストール済みの機器プログラムに対する他の機器プログラムの依存関係を把握するために、プログラム情報記憶部23から機器プログラム情報を取得する。
依存関係表示作成部24は、次のステップS31で、アンインストールの対象となるプログラムを示す情報(例えば識別子)を取得する。例えば、依存関係表示作成部24は、ステップS30で取得した機器プログラム情報に含まれるIDテーブルを参照して機器プログラム名称が一覧表示されたプログラム管理画面を作成し、作成したプログラム管理画面を画面表示部25に表示させる。
図10は、プログラム管理画面50の一例を示す。図4で示したソフトウェア管理画面30におけるプログラム管理ボタン32の操作に応じて、上述のステップS30の処理が行われ、このプログラム管理画面50が画面表示部25に表示される。ステップS30で取得された機器プログラム情報から取り出した機器プログラムの名称が、プログラム管理画面50の表示領域52に対して例えばリスト状に配置される。図10の例では、クライアント装置20にインストールされている機器プログラム名称として、「マルチアプリパッケージ」、「ファクスパッケージ」、「送信パッケージ」、「拡張編集パッケージ」および「マニュアルパッケージ」が表示領域52に対して配置されている。
また、各機器プログラム名称に対してチェックボックスが付随的に配置される。ユーザは、入力部26の操作により所望の機器プログラムに付随するチェックボックスをチェックすることで、クライアント装置20からアンインストールしたい1または複数の機器プログラムを選択することができる。
所望の機器プログラムを選択した後に、入力部26によりアンインストールボタン51を操作すると、選択されたプログラムを示す情報が、入力部26から制御部22を介して依存関係表示作成部24に渡され、ステップS32以降の処理により、アンインストール対象の機器プログラムに関する依存関係の表示画面作成が実行される。なお、スクロールボタン53の機能は、図6を用いて説明したスクロールボタン43と同様であるので、ここでの説明を省略する。
ステップS32からステップS37までの処理は、アンインストール対象の機器プログラム毎に繰り返される処理である。依存関係表示作成部24は、アンインストール対象の機器プログラムを示す情報を取得すると、ステップS33で、当該アンインストール対象の機器プログラムの名称を機器プログラム情報に含まれるIDテーブルを参照して求め、表示情報として依存関係表示情報に追加する。
次のステップS33からステップS36までの処理は、アンインストール対象の1つの機器プログラムと依存関係にある他の機器プログラム毎に繰り返される処理である。ステップS34で、依存関係表示作成部24は、アンインストール対象の1つの機器プログラム(以下、対象機器プログラムと呼ぶ)について、対象機器プログラムと依存関係にある機器プログラムのうち1つの機器プログラムの情報を、表示情報として依存関係表示情報に追加する。
例えば、依存関係表示作成部24は、対象機器プログラムについて、機器プログラム情報に含まれる依存関係テーブルを参照して他の機器プログラムとの依存関係を取得する。取得された他の機器プログラムの名称を、IDテーブルを参照して求め、求められた名称を、表示情報とする。以下、対象機器プログラムに対して依存関係にある他の機器プログラムを、依存対象機器プログラムと呼ぶ。
次のステップS34で、依存関係表示作成部24は、機器プログラム情報に含まれる依存関係テーブルを参照して、当該依存対象機器プログラムが、当該依存対象機器プログラムを依存対象とする対象機器プログラムを除く他の機器プログラムに対して依存関係にあるか否かを判断する。若し、依存関係に無いと判断されたら、処理はステップS36に移行される。
ここで、異なる複数のプログラムが共通のプログラムに対して依存関係を持つ場合について考える。例えば、図11に斜線を付して例示されるように、識別子「123」のプログラムと、識別子「666」のプログラムに対して共通して、識別子「555」のプログラムが依存関係を持つものとする。この場合、識別子「123」のプログラムをアンインストールする際に、依存関係にある識別子「555」のプログラムも共にアンインストールしてしまうと、識別子「555」に依存関係を持つ識別子「666」のプログラムが実行できなくなってしまう。
そこで、依存関係表示作成部24は、ステップS34で当該依存対象機器プログラムが、当該依存対象機器プログラムを依存対象とする対象機器プログラムを除く他の機器プログラムに対して依存関係にあると判断したら、処理をステップS35に移行させて、当該依存対象機器プログラムのアンインストールが不可である旨を示す情報を、表示情報として依存関係表示情報に追加する。このアンインストール済みである旨を示す情報は、例えば当該依存対象機器プログラムに対して所定のメッセージやアイコンなどを関連付けて示すことが考えられる。
次のステップS36で、依存関係表示作成部24は、対象機器プログラムと依存関係にある全ての依存対象機器プログラムについて、名称を表示情報として依存関係表示情報に追加したか否かを判断する。若し、名称が追加されていない依存対象機器プログラムが存在すると判断したら、依存関係表示作成部24は、処理をステップS33に戻し、未だ名称が追加されていない依存対象機器プログラムについて、ステップS33〜ステップS36の処理を行う。
一方、ステップS36で、依存関係表示作成部24は、対象機器プログラムと依存関係にある全ての依存対象機器プログラムについて、名称が追加されたと判断したら、処理をステップS37に移行させる。ステップS37で、依存関係表示作成部24は、アンインストール対象として選択された全ての対象機器プログラムに対する処理が終了したか否かを判断する。若し、終了していないと判断したら、処理をステップS32に戻し、未だ処理されていない対象機器プログラムについて、ステップS32〜ステップS37の処理を行う。
一方、ステップS37で、依存関係表示作成部24は、アンインストール対象として選択された全ての対象機器プログラムに対する処理が終了したと判断したら、処理をステップS38に移行させる。
ステップS38で、依存関係表示作成部24は、図5のフローチャートのステップS19で説明したようにして、依存関係表示情報から依存関係を表示する依存関係表示画面を作成する。すなわち、依存関係表示作成部24は、依存関係表示情報に含まれる対象機器プログラムの名称と、同様に依存関係表示情報に含まれる、当該対象機器プログラムに対して依存関係がある依存対象機器プログラムの名称との依存関係が明確となるように、これらの名称を画面に配置して、依存関係表示画面を作成する。
そして、次のステップS39で、依存関係表示作成部24は、ステップS38で作成した依存関係表示画面を表示させるための表示信号を画面表示部25に対して供給し、画面表示部25に対して当該依存関係表示画面を表示させる。
アンインストール処理において画面表示部25に表示される依存関係表示画面は、タイトル等の文言や、アンインストール不可を示すメッセージなどを除き、図7および図8を用いて説明した、インストール処理の場合の依存関係表示画面70および80と略同様に、リスト構造やツリー構造で以て表示できる。
アンインストール処理に係る依存関係表示画面に配置される実行ボタンが入力部26から操作されると、対象機器プログラムと、当該対象機器プログラムに対して依存関係がある依存対象機器プログラムとの、クライアント装置20からのアンインストールが実行される。
一例として、アンインストール処理の実行ボタンが操作された旨が入力部26から制御部22に通知されると、制御部22は、依存関係表示作成部24に対して、アンインストール対象となる対象機器プログラムの識別子を要求する。それと共に、制御部22は、依存関係表示作成部24に、当該対象機器プログラムに対して依存関係がある依存対象機器プログラムのうち、アンインストール不可ではない依存対象機器プログラムの識別子を要求する。
制御部22は、この要求に応じて依存関係表示作成部24から返された各識別子に対応する機器プログラムを、所定の手順で以てクライアント装置20からアンインストールする。機器プログラムのアンインストール終了後、制御部22は、プログラム情報記憶部23のIDテーブルおよび依存関係テーブルを更新し、アンインストールされた機器プログラムの情報を反映させる。
アンインストールの対象機器プログラムが複数選択された場合の処理も、上述のインストール処理の際と同様にして行われるため、ここでの詳細な説明を省略する。
<依存関係閲覧処理時の依存関係表示>
次に、依存関係閲覧処理が指示された場合について説明する。上述のSEQ10で、入力部26から、図4に示すソフトウェア管理画面30における依存関係閲覧ボタン33が操作されることで、依存関係閲覧処理が指示される。ラジオボタン34Aおよび34Bのうち一方を選択した上で依存関係閲覧ボタン33が操作されると、入力部26は、ラジオボタン34Aおよび34Bにより選択された側のプログラムの依存関係を表示するための依存関係表示要求を制御部22に渡す。
より具体的には、「サーバから選択」を指示するラジオボタン34Aが選択されている場合には、入力部26は、依存関係閲覧処理を示す処理内容と共に、サーバプログラム情報の取得を示す情報をパラメータとした依存関係表示要求を制御部22を介して依存関係表示作成部24に渡す。以降、依存関係表示作成部24は、図3のSEQ12〜SEQ19のシーケンスに従いプログラムサーバ10からサーバプログラム情報を取得する。
次に、依存関係表示作成部24は、取得されたサーバプログラム情報に含まれるIDテーブルを参照してプログラムサーバ10がプログラム記憶部13に保持するサーバプログラムの名称および対象IDとしての識別子を取得する。依存関係表示作成部24は、さらに、IDテーブルから取得した各識別子により、取得されたサーバプログラム情報に含まれる依存関係テーブルを参照し、IDテーブルから取得した識別子それぞれについて、依存先IDとしての識別子を取得する。
「機器から選択」を指示するラジオボタン34Bが選択されている場合も、同様である。この場合、入力部26は、依存関係閲覧処理を示す処理内容と共に、機器プログラムの取得を示す情報をパラメータとして依存関係表示要求を制御部22を介して依存関係表示作成部24に渡す。以降、依存関係表示作成部24は、図3のSEQ30およびSEQ31のシーケンスに従いプログラム情報記憶部23から機器プログラム情報を取得する。
次に、依存関係表示作成部24は、取得された機器プログラム情報に含まれるIDテーブルを参照して、クライアント装置20にインストールされている機器プログラムの名称および対象IDとしての識別子を取得する。依存関係表示作成部24は、さらに、IDテーブルから取得した各識別子により、取得されたサーバプログラム情報に含まれる依存関係テーブルを参照し、IDテーブルから取得した識別子それぞれについて、依存先IDとしての識別子を取得する。
このようにしてサーバプログラムまたは機器プログラムに関する識別子が取得されると、依存関係表示作成部24は、図12に例示されるような、依存関係を閲覧するプログラムを選択するための選択画面60を作成し、画面表示部25に表示させる。選択画面60は、図6で示したプログラム追加画面40などと同様に、取得されたサーバプログラムまたは機器プログラムの名称が表示領域62に対してリスト状に配置されると共に、各プログラム名称に対してチェックボックスが付随的に配置される。スクロールボタン63は、選択画面60を縦方向にスクロールさせ、画面外にはみ出た情報を画面内に表示させる。
ユーザは、入力部26の操作により、依存関係を閲覧したいプログラム名称に付随するチェックボックスがチェックされ、表示ボタン61が操作されると、依存関係表示作成部24は、チェックされたチェックボックスに対応する名称のプログラムに対して依存関係のある他のプログラムを閲覧するための依存関係閲覧画面を作成する。
すなわち、依存関係表示作成部24は、図7や図8を用いて行った説明と同様に、チェックされたチェックボックスに対応するプログラムの名称と、当該プログラムに対して依存関係にある他のプログラムの名称とを、互いの依存関係が明確になるように画面に配置して、依存関係閲覧処理に係る依存関係表示画面を作成する。依存関係表示画面は、図7で示したようなリスト表示であってもよいし、図8で示したようなツリー構造を用いたレイアウトでもよい。
以上説明したように、本第1の実施形態によれば、クライアント装置20やプログラムサーバ10において、インストール済みまたは保持するプログラムについて、当該プログラムを示す情報に、当該プログラムに対して依存関係にある他のプログラムを示す情報が関連付けられている。
そのため、クライアント装置20にプログラムサーバ10が保持するプログラムをインストールする場合や、クライアント装置20からプログラムをアンインストールする場合に、処理対象のプログラムと、当該処理対象のプログラムに対して依存関係にある他のプログラムとの依存関係が明確になるように表示できる。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。本第2の実施形態は、上述した第1の実施形態を、ネットワークを介してサーバから複合機に対してソフトウェアを配信するソフトウェア配信システムに適用させた例である。
図13は、本第2の実施形態に適用可能なソフトウェア配信システムの一例のネットワーク構成図である。図13に示すように、ソフトウェア配信システムは、仲介装置200と、ライセンス管理サーバ300と、ソフトウェア配信サーバ301と、ソフトウェア管理装置としての管理装置302と、Webサーバ303とが、インターネットなどのネットワーク310を介して接続されている。ネットワーク310は、上述した第1の実施形態におけるネットワーク5に相当する。
仲介装置200とネットワーク310との間には、ファイアウォール90が設けられている。また、仲介装置200は、複数の複合機100a、100b、100cが接続されている。以下、特定しない複合機を単に複合機100と称する。複合機100は、上述した第1の実施形態におけるクライアント装置20に相当する。
ファイアウォール90は、公衆回線やインターネットなどの外部ネットワークを通じて仲介装置200に侵入した第三者により不正が行われないように、外部との境界を流れるデータを監視し、不正なアクセスを検出および遮断する。
ソフトウェア配信サーバ301は、複合機100において実行される各種アプリケーションのソフトウェアのパッケージであるソフトウェアプログラムを記憶しており、このソフトウェアプログラムを、仲介装置200を介して複合機100に配信するサーバ装置である。このソフトウェア配信サーバ301が、上述した第1の実施形態におけるプログラムサーバ10に相当し、ソフトウェア配信サーバ301が配信するソフトウェアプログラムが、第1の実施形態におけるサーバプログラムに相当する。
ライセンス管理サーバ300は、ソフトウェア配信サーバ301から提供され、複合機100にインストールされるアプリケーションのソフトウェアプログラムのライセンス(利用権)や、複合機100において実行される機能のライセンス(利用権)を、仲介装置200を介して管理する装置である。
Webサーバ303は、アプリケーションなどのソフトウェアのポータル販売サイトを有するサーバ装置である。ユーザが不図示のPC(Personal Computer)や複合機100などからこのWebサーバ303のポータル販売サイトにアクセスして、所望のアプリケーションソフトウェアを購入する。そして、ユーザがこのWebサーバ303からソフトウェアを購入した場合、インストール対象として指定された複合機100の機器IDと購入したソフトウェアのプロダクト名とプロダクトキーと共にインストール要求がWebサーバ303から管理装置302に送信される。
管理装置302は、仲介装置200を介して複合機100を遠隔管理する装置である。具体的には、管理装置302は、複合機100に管理装置302は、複合機のメーカやサービス提供会社といったサービスセンタなどに設置されたサーバ装置である。管理装置302は、Webサーバ303からインストール要求を受信すると、ソフトウェア配信サーバ301からインストール対象のソフトウェアの取得先URLや依存ソフトウェアの取得先URLなどを受信し、インストール先として指定された複合機100にインストールされているソフトウェアの状況である機器情報を参照して、インストール対象のソフトウェアと複合機100に必要な依存ソフトウェアを決定してインストール要求を仲介装置200に送信する。
仲介装置200は、ソフトウェア配信サーバ301およびライセンス管理サーバ300と、複合機100との間で行われる処理を仲介する装置である。具体的には、仲介装置200は、複合機100から各複合機100にインストールされているソフトウェアの状況である機器情報を一定期間ごとに収集し、この複合機100毎の機器情報を管理装置302に送信する。
また、仲介装置200は、インストール対象のソフトウェアプログラムをソフトウェア配信サーバ301に要求して受信する処理や、インストール対象のソフトウェアのライセンスをライセンス管理サーバ300に要求して受信する処理を行う。すなわち、上述の第1の実施形態においてクライアント装置20のネットワーク部27と、プログラムサーバ10のネットワーク部15との間で、ネットワーク5を介してなされる通信は、本第2の実施形態では、さらに仲介装置200を介して行われることになる。さらに、仲介装置200は、これらのソフトウェアプログラムとライセンスと共に、ソフトウェアのインストール要求を複合機100に送信して、複合機100に当該ソフトウェアをインストールさせる。
複合機100は、コピー、ファクス、プリンタなどの複数の機能を備えた装置であって、LANなどのローカルネットワークにより仲介装置200に接続されている。図13では、3台の複合機100a、100b、100cがネットワークに接続されているが、これに限定されることなく、1台、2台、または4台以上の複合機を接続した構成としてもよい。複合機100は、仲介装置200から、ソフトウェアプログラムおよびライセンスと共にインストール要求を受信すると、インストール要求で指定されたソフトウェアのインストールを実行するアプリインストール制御部を備えている。
次に、複合機100について説明する。図14は、本第2の実施形態に適用可能な複合機100の機能的構成の例を示すブロック図である。図14に示すように、複合機100は、白黒レーザプリンタ(B&W LP)101と、カラーレーザプリンタ(Color LP)102と、HDD(ハードディスクドライブ)103と、スキャナ、ファクス、メモリなどのハードウェアリソース104、通信I/F(インターフェース)105とを有すると共に、プラットホーム120と、アプリケーション130とから構成されるソフトウェア群110とを備えている。
複合機100において、HDD103に、機器情報や、ソフトウェア配信サーバ301からダウンロードしたアプリケーションのソフトウェアパッケージ、ファームウェアパッケージ、パッケージ情報、インストール処理の動作指示を示す指示情報、およびライセンス管理サーバ300からダウンロードアプリケーションのライセンスファイルが保存される。また、このHDD103に、インストール処理の進行状態が記録される。さらに、このHDD103に、上述の第1の実施形態における機器プログラム情報が保持される。
なお、上述した第1の実施形態においてクライアント装置20にインストールされるサーバプロクラムは、本第2の実施形態においては、このHDD103に対して所定の手順で格納されることで、この複合機100に対してインストールされる。
プラットホーム120は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、1または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファクスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128と、NRS(ニューリモートサービス)129と、アプリインストール制御サービス131とから構成される。このプラットホーム120は、予め定義された関数によりアプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120およびアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。上述した第1の実施形態による、クライアント装置20における制御部22は、例えばこの汎用OS121に含まれる。
SRM123のプロセスは、SCS122と共にシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか、すなわち、他の要求により利用されていないかどうかを判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えばプリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成)を直接実施している。
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。ECS124のプロセスは、白黒レーザプリンタ(B&W LP)101、カラーレーザプリンタ(Color LP)102、スキャナ、ファクスなどからなるハードウェアリソース104のエンジンの制御を行う。MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクス送受信、BKM(バックアップSRAM)で管理されている各種ファクスデータの登録/引用、ファクス読み取り、ファクス受信印刷、融合送受信を行うためのAPIを提供する。
NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
OCS126のプロセスは、オペレータ(利用者)と本体制御との間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS126は、オペレーションパネルからキー押下(またはタッチ操作)をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。
アプリインストール制御サービス131のプロセスは、複合機100にインストールされているアプリケーションなどのソフトウェアに関する情報や機器の情報を機器情報として一定期間毎に管理装置302に送信する。アプリインストール制御サービス131のプロセスは、管理装置302からインストール要求を受信した場合、ソフトウェア配信サーバ301に対して、インストール要求で指定されたプロダクトIDのソフトウェアの配信要求を行って、ソフトウェア配信サーバ301からインストール対象のソフトウェアを受信し、インストールする。また、アプリインストール制御サービス131のプロセスは、管理装置302からインストール要求を受信した場合、ライセンス管理サーバ300に対して、インストール要求で指定されたプロダクトIDのソフトウェアのライセンスを要求し、ライセンス管理サーバ300からライセンスを取得する。
上述した第1の実施形態による、クライアント装置20における依存関係表示作成部24は、このアプリインストール制御サービス131に含まれる。
NRS129のプロセスは、ネットワークを介してデータを送受信する際のデータの変換を行う等のネットワークを介した機器遠隔管理に関する機能及びスケジューラ機能を有している。
アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクス用アプリケーションであるファクスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116と、インターネットに接続されたPC等のクライアント端末に対してWEBサーバ(httpサーバ)として動作し、クライアント端末上で動作するWEBブラウザに各種画面を表示するWEBアプリ117とを有している。
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクスなどの画像形成処理にかかるユーザサービスを実現している。
このように、本第2の実施形態に係る複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、1または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクスなどの画像形成処理にかかるユーザサービスを提供するようになっている。
また、複合機100には、複合機100の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリ172を開発して搭載することが可能となっている。この外部アプリ172は、アプリインストール制御サービス131によりソフトウェア配信サーバ301からダウンロードしてインストールされたサーバプログラムであり、図14は、外部アプリ172が実行されている状態を示している。
なお、本第2の実施形態に係る複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスとがそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加または削除することができる。すなわち、上述したように、外部アプリ172をインストール可能であり、かつアンインストールも可能となっている。
図15は、複合機100のハードウェア構成の例を示すブロック図である。本図に示すように、この複合機100は、コントローラ410とエンジン部(Engine)460とをPCI(Peripheral Component Interface)バスで接続した構成となる。コントローラ410は、複合機100全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部460は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファクスユニットなどである。なお、このエンジン部460には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
コントローラ410は、CPU(Central Processing Unit)411と、ノースブリッジ(NB)413と、システムメモリ(MEM−P)412と、サウスブリッジ(SB)414と、ローカルメモリ(MEM−C)417と、ASIC(Application Specific Integrated Circuit)416と、ハードディスクドライブ(HDD)103とを有し、ノースブリッジ413とASIC416との間をAGP(Accelerated Graphics Port)バス15で接続した構成となる。
CPU411は、複合機100の全体制御を行うものであり、NB413、MEM−P12およびSB14からなるチップセットを有し、このチップセットを介して他の機器と接続される。
NB413は、CPU411とMEM−P12、SB414、AGP415とを接続するためのブリッジであり、MEM−P412に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
MEM−P412は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM(Read Only Memory)412aとRAM(Random Access Memory)412bとからなる。ROM412aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM412bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
SB414は、NB413とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB414は、PCIバスを介してNB413と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部なども接続される。
ASIC416は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGP415、PCIバス、HDD103およびMEM−C417をそれぞれ接続するブリッジの役割を有する。このASIC416は、PCIターゲットおよびAGPマスタと、ASIC416の中核をなすアービタ(ARB)と、MEM−C417を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部460との間でPCIバスを介したデータ転送をおこなうPCIユニットとからなる。このASIC416には、PCIバスを介してFCU(Facsimile Control Unit)430、USB(Universal Serial Bus)440、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インターフェース450が接続される。操作表示部420はASIC416に直接接続されている。
MEM−C417は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD103は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。また、HDD103は、ソフトウェア配信サーバ301からダウンロードされたサーバプログラムが格納される。
AGP415は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P412に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
なお、複合機100で実行されるインストールプログラムは、ROMなどに予め組み込まれて提供される。
本第2の実施形態の複合機100で実行されるインストールプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD、フレキシブルディスク(FD)、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本第2の実施形態の複合機100で実行されるインストールプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本第2の実施形態の複合機100で実行されるインストールプログラムをインターネットなどのネットワーク経由で提供または配信するように構成しても良い。
本第2の実施形態の複合機100で実行されるインストールプログラムは、少なくとも上述したアプリインストール制御サービス131を含むモジュール構成となっており、実際のハードウェアとしては、例えばCPU411がROM411aからインストールプログラムを読み出して実行することによりアプリインストール制御サービス131が主記憶装置上にロードされ、アプリインストール制御サービス131が主記憶装置上に生成されるようになっている。
また、本第2の実施形態の管理装置302、ソフトウェア配信サーバ301、ライセンス管理サーバ300およびWebサーバ303は、CPUなどの制御装置と、ROMやRAMなどの記憶装置と、HDD、光ディスクドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
<第2の実施形態の変形例>
次に、上述の第2の実施形態の変形例について説明する。上述した第2の実施形態では、ソフトウェア配信サーバ301およびライセンス管理サーバ300と、複合機100との間で行われる処理を仲介装置200を介して行っていた。本変形例では、仲介装置200を介さずに直接的に、複合機100と各種送受信を行うものである。
図16は、本変形例によるソフトウェア配信システムの一例のネットワーク構成図である。本変形例では、図16に示すように、管理装置302と、ソフトウェア配信サーバ301と、ライセンス管理サーバ300と、Webサーバ303と、複合機100(複合機100a、100b、100c)とがネットワーク310に接続された構成となっており、仲介装置を設けない構成となっている。
ここで、管理装置302、ソフトウェア配信サーバ301、ライセンス管理サーバ300およびWebサーバ303の構成については、上述した第2の実施形態と同様である。但し、管理装置302は、複合機100から直接的に機器情報を受信し、また、インストール要求を直接的に複合機100に対して送信する。
5 ネットワーク
10 プログラムサーバ
12 プログラム管理部
13 プログラム記憶部
14,23 プログラム情報記憶部
20 クライアント装置
22 制御部
24 依存関係表示作成部
25 画面表示部
26 入力部
30 ソフトウェア管理画面
40 プログラム追加画面
50 プログラム管理画面
60 依存関係閲覧画面
70,80 依存関係表示画面
100 複合機
131 アプリインストール制御サービス
200 仲介装置
301 ソフトウェア配信サーバ
特開2006−261970号公報

Claims (11)

  1. クライアントと、該クライアントとネットワークを介して接続されるサーバとを備えるプログラム管理システムであって、
    前記サーバは、
    前記クライアントにインストールするプログラムを保持するプログラム記憶手段と、
    前記プログラム記憶手段に保持される前記プログラムを示す情報と、該プログラム記憶手段に保持されるプログラムに対する、他の該プログラム記憶手段に保持されるプログラムの依存関係を示す情報とを含む第1のプログラム情報を保持する第1のプログラム情報記憶手段と
    を有し、
    前記クライアントは、
    ユーザ入力を受け付ける入力手段と、
    インストールされたプログラムを示す情報と、該インストールされたプログラムに対する、他の該インストールされたプログラムの依存関係を示す情報とを含む第2のプログラム情報を保持する第2のプログラム情報記憶手段と、
    前記入力手段に対する前記ユーザ入力に従い、前記第1のプログラム情報および前記第2のプログラム情報の少なくとも一方を用いて、前記プログラム記憶手段に保持されるプログラムまたは前記インストールされたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する表示画面作成手段と
    を有する
    ことを特徴とするプログラム管理システム。
  2. 前記表示画面作成手段は、
    前記入力手段に対して、前記プログラム記憶手段に保持される前記プログラムのうち、前記サーバから前記ネットワークを介してダウンロードしてインストールするプログラムが指定された場合に、
    前記ネットワークを介して前記第1のプログラム情報記憶手段から前記第1のプログラム情報を取得すると共に、前記第2のプログラム情報記憶手段から前記第2のプログラム情報を取得し、
    取得した該第1のプログラム情報と該第2のプログラム情報とを用いて、前記入力手段でインストールするよう指定されたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する
    ことを特徴とする請求項1に記載のプログラム管理システム。
  3. 前記表示画面作成手段は、
    前記第2のプログラム情報に基づき、前記入力手段でインストールするよう指定されたプログラムに対する他のプログラムのうち、既にインストールされているプログラムが存在するか否かを判断し、存在すると判断された場合に、該既にインストールされているプログラムであることを示す情報を前記依存関係を示す表示に付加する
    ことを特徴とする請求項2に記載のプログラム管理システム。
  4. 前記表示画面作成手段は、
    前記入力手段に対して、既にインストールされているプログラムのうち、アンインストールするプログラムが指定された場合に、
    前記第2のプログラム情報記憶手段から前記第2のプログラム情報を取得し、
    該第2のプログラム情報を用いて、前記入力手段でアンインストールするよう指定されたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する
    ことを特徴とする請求項1に記載のプログラム管理システム。
  5. 前記表示画面作成手段は、
    プログラムを示す情報を、該プログラムに対する他のプログラムの依存関係に従った階層構造で配置することで前記表示画面を作成する
    ことを特徴とする請求項1乃至請求項4の何れか1項に記載のプログラム管理システム。
  6. 前記表示画面作成手段は、
    前記プログラムを示す情報を、該プログラムに対する他のプログラムの依存関係に従ったツリー構造で配置することで前記表示画面を作成する
    ことを特徴とする請求項1乃至請求項5の何れか1項に記載のプログラム管理システム。
  7. 前記プログラムの依存関係を示す情報は、
    プログラムを示す情報と、該プログラムを実行するために必要な他のプログラムを示す情報とが関連付けられてなる
    ことを特徴とする請求項1乃至請求項6の何れか1項に記載のプログラム管理システム。
  8. クライアントと、該クライアントとネットワークを介して接続されるサーバとを備えるプログラム管理システムのプログラム管理方法であって、
    前記サーバは、
    前記クライアントにインストールするプログラムを保持するプログラム記憶手段と、
    前記プログラム記憶手段に保持される前記プログラムを示す情報と、該プログラム記憶手段に保持されるプログラムに対する、他の該プログラム記憶手段に保持されるプログラムの依存関係を示す情報とを含む第1のプログラム情報を保持する第1のプログラム情報記憶手段と
    を有し、
    前記クライアントは、
    インストールされたプログラムを示す情報と、該インストールされたプログラムに対する、他の該インストールされたプログラムの依存関係を示す情報とを含む第2のプログラム情報を保持する第2のプログラム情報記憶手段を有し、
    前記クライアントが、ユーザ入力を受け付ける入力ステップと、
    前記クライアントが、前記入力ステップに対する前記ユーザ入力に従い、前記第1のプログラム情報および前記第2のプログラム情報のうち少なくとも一方を取得する取得ステップと、
    前記クライアントが、前記取得ステップで取得された前記第1のプログラム情報および前記第2のプログラム情報のうち少なくとも一方を用いて、前記プログラム記憶手段に保持されるプログラムまたは前記インストールされたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する表示画面作成ステップと
    を有する
    ことを特徴とするプログラム管理方法。
  9. ユーザ入力を受け付ける入力手段と、
    インストールされたプログラムを示す情報と、該インストールされたプログラムに対する、他の該インストールされたプログラムの依存関係を示す情報とを含むプログラム情報を保持するプログラム情報記憶手段と、
    前記入力手段に対する前記ユーザ入力に従い、ネットワークを介して接続されるサーバに保持されるインストールするプログラムを示す情報と、該サーバに保持されるプログラムに対する、他の該サーバに保持されるプログラムの依存関係を示す情報とを含むプログラム情報と、前記プログラム情報記憶手段に保持されるプログラム情報とのうち少なくとも一方を用いて、前記サーバに保持されるプログラムまたは前記インストールされたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する表示画面作成手段と
    を有する
    ことを特徴とするクライアント。
  10. 入力手段が、ユーザ入力を受け付ける入力ステップと、
    取得手段が、前記入力ステップに対する前記ユーザ入力に従い、ネットワークを介して接続されるサーバに保持される、インストールするプログラムを示す情報と、該プログラムに対する、他のプログラムの依存関係を示す情報とを含む第1のプログラム情報と、前記入力ステップに対する前記ユーザ入力に従い、インストールされたプログラムを示す情報と、該インストールされたプログラムに対する、他の該インストールされたプログラムの依存関係を示す情報とを含む第2のプログラム情報とのうち少なくとも一方を取得する取得ステップと、
    表示画面作成手段が、前記取得ステップで取得された前記第1のプログラム情報および前記第2のプログラム情報のうち少なくとも一方を用いて、前記サーバに保持されるプログラムまたは前記インストールされたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する表示画面作成ステップと
    を有する
    ことを特徴とするプログラム管理方法。
  11. ユーザ入力を受け付ける入力ステップと、
    前記入力ステップに対する前記ユーザ入力に従い、ネットワークを介して接続されるサーバに保持される、インストールするプログラムを示す情報と、該プログラムに対する、他のプログラムの依存関係を示す情報とを含む第1のプログラム情報と、前記入力ステップに対する前記ユーザ入力に従い、インストールされたプログラムを示す情報と、該インストールされたプログラムに対する、他の該インストールされたプログラムの依存関係を示す情報とを含む第2のプログラム情報とのうち少なくとも一方を取得する取得ステップと、
    前記取得ステップで取得された前記第1のプログラム情報および前記第2のプログラム情報のうち少なくとも一方を用いて、前記サーバに保持されるプログラムまたは前記インストールされたプログラムに対する他のプログラムの依存関係を示す表示を行う表示画面を作成する表示画面作成ステップと
    をコンピュータに実行させるためのプログラム。
JP2010034032A 2010-02-18 2010-02-18 プログラム管理システム、プログラム管理方法、クライアントおよびプログラム Pending JP2011170638A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010034032A JP2011170638A (ja) 2010-02-18 2010-02-18 プログラム管理システム、プログラム管理方法、クライアントおよびプログラム
US13/023,777 US8595720B2 (en) 2010-02-18 2011-02-09 Program management system, program management method, client, and computer program product
EP11250173A EP2369475A3 (en) 2010-02-18 2011-02-15 Program management system for checking dependencies when installing or uninstalling software
CN201110041852.1A CN102195964B (zh) 2010-02-18 2011-02-18 程序管理***、程序管理方法及客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010034032A JP2011170638A (ja) 2010-02-18 2010-02-18 プログラム管理システム、プログラム管理方法、クライアントおよびプログラム

Publications (1)

Publication Number Publication Date
JP2011170638A true JP2011170638A (ja) 2011-09-01

Family

ID=44065242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010034032A Pending JP2011170638A (ja) 2010-02-18 2010-02-18 プログラム管理システム、プログラム管理方法、クライアントおよびプログラム

Country Status (4)

Country Link
US (1) US8595720B2 (ja)
EP (1) EP2369475A3 (ja)
JP (1) JP2011170638A (ja)
CN (1) CN102195964B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014170366A (ja) * 2013-03-04 2014-09-18 Ricoh Co Ltd 機器、情報処理システム、情報処理方法、及びプログラム
JP2019175031A (ja) * 2018-03-28 2019-10-10 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5509754B2 (ja) * 2009-09-15 2014-06-04 株式会社リコー ソフトウェア管理装置、ソフトウェア配信システム、インストール方法およびプログラム
JP2011253417A (ja) * 2010-06-03 2011-12-15 Ricoh Co Ltd 情報処理装置、プログラム導入支援方法、及びプログラム導入支援プログラム
JP2012173870A (ja) * 2011-02-18 2012-09-10 Toshiba Corp 半導体装置及びメモリ保護方法
WO2013050649A1 (en) * 2011-10-04 2013-04-11 Nokia Corporation Method and apparatus for providing an application marketplace
US20130166655A1 (en) * 2011-12-23 2013-06-27 Daryl Joseph Martin Cross-platform software distribution
US9442778B2 (en) * 2012-10-01 2016-09-13 Salesforce.Com, Inc. Method and system for secured inter-application communication in mobile devices
EP2720146A1 (en) * 2012-10-11 2014-04-16 Thomson Licensing Distributed application life-cycle management
JP6263952B2 (ja) * 2012-11-29 2018-01-24 株式会社リコー 機器、情報処理システム、情報処理方法、及びプログラム
US9323511B1 (en) * 2013-02-28 2016-04-26 Google Inc. Splitting application permissions on devices
JP6164925B2 (ja) * 2013-05-15 2017-07-19 キヤノン株式会社 情報処理端末、その方法及びプログラム
JP6238610B2 (ja) * 2013-07-18 2017-11-29 キヤノン株式会社 情報処理端末、制御方法、及びプログラム
CN104468637B (zh) * 2013-09-12 2018-08-31 阿里巴巴集团控股有限公司 一种下载以及安装客户端的方法和设备
JP2016035714A (ja) * 2014-08-04 2016-03-17 キヤノン株式会社 情報処理装置、情報処理装置におけるプログラム管理方法、プログラム、およびシステム
US9471297B2 (en) * 2014-09-10 2016-10-18 Kcura Llc Methods and apparatus for uninstalling a software application
JP6638183B2 (ja) * 2014-10-28 2020-01-29 株式会社リコー 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP2016134798A (ja) 2015-01-20 2016-07-25 株式会社リコー 画像形成装置、情報処理システム及び情報処理プログラム
CN105700913B (zh) * 2015-12-30 2018-10-12 广东工业大学 一种轻量级裸片代码的并行运行方法
JP6808328B2 (ja) * 2016-02-24 2021-01-06 キヤノン株式会社 情報処理装置、バックアップ方法、情報処理装置の制御方法、及びプログラム
JP6872867B2 (ja) * 2016-08-02 2021-05-19 キヤノン株式会社 情報処理装置及びアプリケーション管理方法
US10416940B2 (en) 2017-03-17 2019-09-17 Ricoh Company, Ltd. Image processing apparatus, image processing system, and image processing method for interpreting content obtained from a web browser and displaying a screen based on the interpreted content
EP3537698B1 (en) 2018-03-07 2022-05-18 Ricoh Company, Ltd. Information processing system, system, and method of processing workflow
JP7069969B2 (ja) * 2018-03-29 2022-05-18 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
WO2020252088A1 (en) * 2019-06-11 2020-12-17 Net-Thunder, Llc Automatically deployed information technology (it) system and method with enhanced security
JP7409022B2 (ja) 2019-11-13 2024-01-09 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP2023060686A (ja) * 2021-10-18 2023-04-28 株式会社リコー 機器、情報処理装置、通信システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442754B1 (en) * 1999-03-29 2002-08-27 International Business Machines Corporation System, method, and program for checking dependencies of installed software components during installation or uninstallation of software
JP2004252633A (ja) * 2003-02-19 2004-09-09 Hitachi Ltd ソフトウェアのインストールプログラム、アンインストールプログラムおよびバージョンアッププログラム
JP2005208695A (ja) * 2004-01-20 2005-08-04 Canon Inc クライアントサーバシステムおよびドライバインストール方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2007079773A (ja) * 2005-09-13 2007-03-29 Fuji Xerox Co Ltd ソフトウエア配布サーバ及びソフトウエア配布方法
JP2008041057A (ja) * 2006-08-10 2008-02-21 Ricoh Co Ltd 画像処理装置、画像形成装置、プログラム管理方法及びプログラムを管理する管理プログラム
JP2009146347A (ja) * 2007-12-18 2009-07-02 Ricoh Co Ltd 通信システム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076026A (ja) * 1993-05-28 1995-01-10 Xerox Corp 構成管理及び構成要素の互換性保証方法、ならびに常駐ソフトウェアと移行ソフトウェアの非互換性の排除方法
US6681391B1 (en) * 2000-06-21 2004-01-20 Microsoft Corporation Method and system for installing software on a computer system
US6918112B2 (en) * 2000-11-29 2005-07-12 Microsoft Corporation System and method to facilitate installation of components across one or more computers
US6996815B2 (en) * 2000-11-29 2006-02-07 Microsoft Corporation Method and software tools for intelligent service pack installation
US7823148B2 (en) * 2002-05-22 2010-10-26 Oracle America, Inc. System and method for performing patch installation via a graphical user interface
US7478385B2 (en) * 2003-01-17 2009-01-13 National Instruments Corporation Installing software using programmatic component dependency analysis
US7103874B2 (en) 2003-10-23 2006-09-05 Microsoft Corporation Model-based management of computer systems and distributed applications
US7926051B2 (en) * 2003-11-10 2011-04-12 International Business Machines Corporation Automatic parallel non-dependent component deployment
US7603668B2 (en) * 2004-01-09 2009-10-13 Hewlett-Packard Development Company, L.P. Determining the applicability of patches for installation on a computer system
US20060020937A1 (en) 2004-07-21 2006-01-26 Softricity, Inc. System and method for extraction and creation of application meta-information within a software application repository
JP4486531B2 (ja) 2005-03-16 2010-06-23 株式会社リコー 画像形成システム、画像形成装置、管理装置及びプラグイン整合管理方法
US7814480B2 (en) * 2005-09-05 2010-10-12 Seiko Epson Corporation Control software updating technique for a network apparatus
US8122446B2 (en) * 2005-11-03 2012-02-21 International Business Machines Corporation Method and apparatus for provisioning software on a network of computers
US7739678B2 (en) * 2006-02-28 2010-06-15 Sap Ag Managing updates in an object oriented software system
WO2008014454A2 (en) * 2006-07-27 2008-01-31 Hewlett-Packard Development Company, L.P. User experience and dependency management in a mobile device
US8543998B2 (en) * 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
JP5107159B2 (ja) 2008-06-30 2012-12-26 株式会社リコー 画像形成装置、アクティベーション方法、プログラム、記憶媒体
JP5239755B2 (ja) 2008-11-05 2013-07-17 株式会社リコー 情報処理装置、インストール方法、プログラム、記憶媒体
JP4803263B2 (ja) * 2009-01-28 2011-10-26 ブラザー工業株式会社 ソフトウェアのインストール方法及びプログラム及び情報処理装置
US20110138374A1 (en) * 2009-12-09 2011-06-09 Suprio Pal Downtime reduction for enterprise manager patching

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442754B1 (en) * 1999-03-29 2002-08-27 International Business Machines Corporation System, method, and program for checking dependencies of installed software components during installation or uninstallation of software
JP2004252633A (ja) * 2003-02-19 2004-09-09 Hitachi Ltd ソフトウェアのインストールプログラム、アンインストールプログラムおよびバージョンアッププログラム
JP2005208695A (ja) * 2004-01-20 2005-08-04 Canon Inc クライアントサーバシステムおよびドライバインストール方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2007079773A (ja) * 2005-09-13 2007-03-29 Fuji Xerox Co Ltd ソフトウエア配布サーバ及びソフトウエア配布方法
JP2008041057A (ja) * 2006-08-10 2008-02-21 Ricoh Co Ltd 画像処理装置、画像形成装置、プログラム管理方法及びプログラムを管理する管理プログラム
JP2009146347A (ja) * 2007-12-18 2009-07-02 Ricoh Co Ltd 通信システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
やまだ あきら: "管理者へのファーストステップ Debian GNU/Linuxパッケージ管理システムの攻略 PART2", DEBIAN GNU/LINUX EXPERT デスクトップユーススペシャル, JPN6013040603, 25 September 2004 (2004-09-25), JP, pages 98 - 106, ISSN: 0002608943 *
山口 晴広: "パッケージ管理をやさしく極める Linuxでもソフトの追加と削除が自由自在", 日経LINUX, vol. 第8巻,第5号, JPN6013040602, 8 May 2006 (2006-05-08), JP, pages 52 - 61, ISSN: 0002608942 *
福田 和宏: "/etcディレクトリ大百科 第3回 YUMやAPTの設定", 日経LINUX, vol. 第11巻,第6号, JPN6013040599, 8 June 2009 (2009-06-08), JP, pages 110 - 119, ISSN: 0002608941 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014170366A (ja) * 2013-03-04 2014-09-18 Ricoh Co Ltd 機器、情報処理システム、情報処理方法、及びプログラム
JP2019175031A (ja) * 2018-03-28 2019-10-10 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
JP7071189B2 (ja) 2018-03-28 2022-05-18 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Also Published As

Publication number Publication date
US8595720B2 (en) 2013-11-26
EP2369475A2 (en) 2011-09-28
US20110202915A1 (en) 2011-08-18
CN102195964A (zh) 2011-09-21
EP2369475A3 (en) 2011-11-09
CN102195964B (zh) 2015-01-14

Similar Documents

Publication Publication Date Title
JP2011170638A (ja) プログラム管理システム、プログラム管理方法、クライアントおよびプログラム
JP5240141B2 (ja) プログラムダウンロードシステム、プログラムダウンロード方法、画像形成装置、プログラム配信サーバおよびダウンロードプログラム
JP5509754B2 (ja) ソフトウェア管理装置、ソフトウェア配信システム、インストール方法およびプログラム
JP5293344B2 (ja) 画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラム
US20110125655A1 (en) License-renewal management apparatus license management system and computer program product
US20110202433A1 (en) License management system, license management method, and computer program product
US20090070864A1 (en) Image forming apparatus, image forming method, recording medium, and image forming system
JP5434174B2 (ja) 機器管理システム、画像処理装置、機器管理装置、機器管理方法、機器管理プログラムおよび記憶媒体
JP2011170465A (ja) ソフトウェア配信システム、ソフトウェア配信方法およびプログラム
JP5581856B2 (ja) 情報処理装置、ソフトウェア配信システム、インストール方法およびプログラム
JP5454208B2 (ja) 画像処理装置、ソフトウェア管理システム、ソフトウェア管理方法およびプログラム
JP5509929B2 (ja) 情報処理装置、情報処理方法およびプログラム、ならびに、ライセンス管理システム
JP5359427B2 (ja) ライセンス管理システム、ライセンス管理サーバ、情報処理装置、画像形成装置、ライセンス管理方法、およびライセンス管理プログラム
JP2011180902A (ja) ライセンス管理システム、ライセンス管理方法およびプログラム
JP2010072860A (ja) 電子機器,遠隔管理システム,制御方法,プログラム,および記録媒体
JP2009104673A (ja) 画像形成装置、方法、及びプログラム
JP2011126134A (ja) 情報処理装置、サーバ、一覧表示方法、一覧表示支援方法及びプログラム
JP5594413B2 (ja) 画像処理装置
JP5672347B2 (ja) ライセンス管理システムおよびライセンス管理方法
JP2007336077A (ja) 画像形成装置、設定変更通知方法および設定変更通知プログラム
JP2011170463A (ja) 情報処理システム、管理装置、インストール処理方法、プログラム及び記憶媒体
JP5298998B2 (ja) 機器管理装置、ライセンス移行方法、ライセンス移行システムおよびライセンス移行プログラム
JP5347612B2 (ja) 画像処理装置、遠隔管理システム、ライセンス更新方法、およびプログラム
JP2014112378A (ja) 機器管理システム、画像処理装置、機器管理装置、機器管理方法、機器管理プログラムおよび記憶媒体
JP5549765B2 (ja) ライセンス移行システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140701