説明

プログラム配信サーバ、画像形成装置、プログラム配信システム、および契約書統合方法

【課題】煩雑なEULAの承認処理の回数を必要最小限に抑え、供給を受けたソフトウェアのインストール処理の効率を向上させる。
【解決手段】EULA依存関係判断部1251は、受信データに含まれるEULA依存関係情報から複数のEULAの中に他のEULAに包含されるものがあるか否かを判断する。第1の削除処理部1253は、EULA依存関係判断部1251により他のEULAに包含されると判断されたEULAを削除する。統合部1254は、第1の削除処理部1253による処理の後、残ったEULAを統合する。第2の削除処理部1255は、統合部1254により統合されたEULAから重なる部分を抽出し、重複することがないように不要部分を削除する。EULA承認部1256は、第2の削除処理部1255による処理が行われたEULAの承認を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置にプログラムを配信するプログラム配信サーバ、画像形成装置、プログラム配信システム、および契約書統合方法に関する。
【背景技術】
【0002】
従来より、画像形成装置用のファームウェアを配信する技術が多く提案されている。一般に、ソフトウェア配信サーバを用いて複数のソフトウェアを配信する場合、複数の配信対象ソフトウェアの使用許諾契約書(End User License Agreement:以下EULAという)を送付して、ユーザに承認させる必要がある。しかし、配信するソフトウェアが増えるにつれて、承認の対象となるEULAの数も増えるため、それらを一括処理する手法が要求される。
【0003】
かかる要求に応えるため、複数案件の電子文書を一括して閲覧および承認を行うことが可能な技術が提案されている(たとえば、特許文献1を参照。)。この技術は、回覧された電子文書の内容を承認する文書承認システムにおいて、承認対象の文書データに認証情報を付加して承認後の文書データを生成する。そして、認証情報が付加された複数の文書データを合成した一括承認用データを表示した後に、その一括承認用データ全体に対する認証情報を付加するものである。この技術では、複数の担当者が端末から承認対象の文書データをファイルサーバに登録し、承認者に送信する際に統合し、一括して承認をさせることができる。
【0004】
【特許文献1】特開2002−132759号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記特許文献1に記載された技術によれば、複数のソフトウェアを統合商品として、画像形成装置に一括で配信することができる。その際、ソフトウェアごとに対応するEULAを画像形成装置に配信できる。
【0006】
しかしながら、上記特許文献1に記載の技術では、エンドユーザは、供給を受けたソフトウェアのインストールのたびに、EULAを一つ一つ承認する作業を行わねばならず、非常に煩雑な作業をともなうという問題がある。とくに、統合商品に含まれるソフトウェアが多くなればなるほど、EULAの承認を行う回数も増えるので、エンドユーザは、同じような文書を何度も確認した上で、承認して契約する必要があり、より煩雑な作業が要求されることになる。
【0007】
本発明は、上述した従来技術による問題点を解消するため、煩雑なEULAの承認処理の回数を必要最小限に抑え、供給を受けたソフトウェアのインストール処理の効率を向上させることを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するため、本発明にかかるプログラム配信サーバは、配信対象のプログラムの検索を行うプログラム検索手段と、前記プログラム検索手段により検索されたプログラムに対応する契約書の検索を行う契約書検索手段と、前記プログラム検索手段により検索されたプログラムと、前記契約書検索手段により検索された契約書とをひとつのデータに統合する配信データ制御手段と、前記配信データ制御手段により統合されたデータを、取得した画像データから画像を形成し出力する画像形成装置に配信する配信手段と、を備えていることを特徴とする。
【0009】
また、本発明にかかる画像形成装置は、取得した画像データから画像を形成し出力する画像形成装置であって、取得したデータに含まれる契約書依存関係情報から複数の契約書の中に他の契約書に包含されるものがあるか否かを判断する契約書依存関係判断手段と、前記契約書依存関係判断手段により他の契約書に包含されると判断された契約書を削除する第1の削除処理手段と、前記第1の削除処理手段による処理の後、残った契約書を統合する統合手段と、前記統合手段により統合された契約書から重なる部分を抽出し、重複することがないように不要部分を削除する第2の削除処理手段と、前記第2の削除処理手段による処理が行われた契約書の承認を行う契約書承認手段と、前記契約書承認手段により承認された契約書に対応する前記取得データに含まれるプログラムのインストールを行うプログラムインストール手段と、を備えていることを特徴とする。
【0010】
また、本発明にかかる契約書統合方法は、取得データに含まれる契約書依存関係情報から複数の契約書の中に他の契約書に包含されるものがあるか否かを判断する契約書依存関係判断工程と、前記契約書依存関係判断工程により他の契約書に包含されると判断された契約書を削除する第1の削除処理工程と、前記第1の削除処理工程による処理の後、残った契約書を統合する統合工程と、前記統合工程により統合された契約書から重なる部分を抽出し、重複することがないように不要部分を削除する第2の削除処理工程と、前記第2の削除処理工程による処理が行われた契約書の承認を行う契約書承認工程と、前記契約書承認工程により承認された契約書に対応する前記取得データに含まれるプログラムのインストールを行うプログラムインストール工程と、を含むことを特徴とする。
【発明の効果】
【0011】
本発明によれば、他の契約書に依存する契約書や、優先度の低い契約書を削除し、また、統合後の契約書も重複部分がないように余分な部分を削除するので、必要最小限の情報のみで契約書を統合することができる。したがって、エンドユーザは、複数のソフトウウェアのインストールを行う場合でも、必要最小限の情報で、効率よく契約書を承認することができる。
【発明を実施するための最良の形態】
【0012】
以下、添付図面を参照して、本発明の好適な実施の形態を詳細に説明する。
【0013】
<システム構成>
図1は、本発明の実施形態にかかるソフトウェア配信システムの概要を示す図である。図1に示すように、本システムには、販売会社101,106を始めとする複数の販売会社が接続する。販売会社101,106は、それぞれの管轄地域や顧客の販売情報、システムに関わる情報を蓄積するためのデータベース103,108を有している。また、販売会社101,106は、データベース103,108へのデータ登録や修正などの制御を行なうPC(パーソナルコンピュータ)104、109を有している。また、データベース103,108を管理するホスト102,107を有している。PC104,109はソフトウェア配信サーバ111が提供するウェブサイトへアクセスしてデータの閲覧等を行う。なお、ホスト102、107は操作部および表示部を持ち、PC104,109の役割を果たすことも可能である。ホスト102、データベース103、PC104はLAN105で接続されており、またホスト107、データベース108、PC109はLAN110で接続されている。
【0014】
図1では、販売会社側の各々のシステムは、複数の装置から構成されるよう示されているが、後述の各機能を達成できれば、単一の装置で構成しても構わない。たとえば、データベース103,108は、物理的にホスト102,107内にそれぞれ存在してもよい。さらに、ホスト102,107からアクセス可能であれば、インターネット132を経由した別の場所に存在しても構わない。つまり、複数の装置で構成してもよいし、単一の装置で構成してもよい。
【0015】
本システムでは、販売会社側と顧客側との間に、ソフトウェア配信サーバ111を介在させている。データベース112には、画像形成装置に適用するためのファームウェアやアプリケーション、契約書(例えば、使用許諾契約書、以下、EULAという)、ソフトウェアライセンス情報などが蓄積されている。なお、契約書は使用許諾契約書に限られず、例えばソフトウェアの輸出禁止に関する契約書等のように、ソフトウェアの販売・流通・開発に関する他の契約書であってもよい。ソフトウェア配信サーバ111とデータベース112とはLAN113で接続されており、LAN113はインターネット132と接続可能になっている。なお、データベース112は、物理的にソフトウェア配信サーバ111内に存在してもよい。さらに、ソフトウェア配信サーバ111からアクセス可能であれば、インターネット132を経由して別の場所に配置しても構わない。なお、本実施形態においては、ソフトウェアは、1又は複数のプログラムのことである。
【0016】
ソフトウェア配信サーバ111は、監視装置117,122,123,131にソフトウェアやEULAを配信する機能を有する。監視装置117,122,123は、ソフトウェア配信サーバ111から受信したソフトウェアやEULAを監視対象の画像形成装置に送信する。販売会社のホスト102,107は、ソフトウェア配信サーバ111に画像形成装置の情報や、配信対象とするソフトウェアやEULAの情報をソフトウェア配信サーバ111に登録することができる。また、ソフトウェア配信サーバ111は、インターネット132を介して接続したPCに対し、データベース112に蓄積されている情報、または加工した情報を閲覧するWEBページを提供している。このWEBページは、ユーザ認証により、販売会社別、顧客別、およびユーザの権限別に閲覧内容を限定して提供している。さらに、WEBページから、一部データの変更も可能となっている。
【0017】
なお、図1には、ソフトウェア配信サーバ111とデータベース112とがひとつずつしか示されていないが、実際には、ソフトウェア配信の負荷分散を行なうために、複数のソフトウェア配信サーバ、データベースで分散処理するケースもある。
【0018】
次に、顧客側のシステム構成について説明する。顧客側環境としては異なる複数の環境がある。図1では、顧客114,119,129が示されている。顧客114(A社X事業所)においては、インターネット132に接続されたLAN118に接続可能な画像形成装置115,116が、監視装置117により監視されている。また、監視装置117はインターネット132経由でソフトウェア配信サーバ111と通信できる。顧客119(A社Y事業所)においては、監視装置122,123によってLAN128上の画像形成装置が監視される。監視装置122により、画像形成装置120,121,124,125が、監視装置123により画像形成装置126,127がそれぞれ監視されている。また、顧客129(B社)においては、インターネット132に接続されたLAN130に接続可能な画像形成装置131自身が直接、インターネット132経由でソフトウェア配信サーバ111と通信できる。画像形成装置131は、監視装置117,122,123と同等の機能を有しており、監視装置を介することなく、ソフトウェア配信サーバ111と通信が可能である。
【0019】
なお、以上のシステムにおいて、以下の点に留意する必要がある。
(1)上記構成におけるインターネットを介した通信においては、HTTP/SOAPプロトコルが利用可能である。SOAPは、Simple Object Access Protocolの略称である。SOAPは、XML(eXtended Markup Language)をベースとして、あるコンピュータから他のコンピュータのデータやサービスを呼び出すためのプロトコルである。本システムでは、SOAPはHTTPの上に実装される。SOAPによる通信は、XML文書に付帯情報を付けたSOAPメッセージを交換する。したがって、SOAPをサポートするコンピュータには、SOAPメッセージを生成するSOAPメッセージ生成部と、SOAPメッセージを解釈するSOAPメッセージ解釈部とが備えられている。画像形成装置の状態情報は、本実施形態ではSOAPメッセージによってソフトウェア配信サーバ111に送信される。
【0020】
(2)上記構成では、A社における各画像形成装置は監視装置を介してソフトウェア配信サーバ111と通信を行うようにした。しかし、設定の変更により、B社に設置される画像形成装置131と同様に監視装置を介することなく、ソフトウェア配信サーバ111との通信を行うことができる。
【0021】
<ハードウェア構成>
次に、本実施形態のソフトウェア配信サーバ111のハードウェアについて説明する。図2は、ソフトウェア配信サーバ111のハードウェア構成を示すブロック図である。また、ホスト102,107のハードウェア構成も同様である。
【0022】
図2において、第1CPU201、第2CPU202は、ソフトウェア配信サーバ111の各機能部の制御を司る。ROM203は、ソフトウェア配信サーバ111の各処理に関わるプログラムやデータを記憶する。ROM203は、書換え不可能である。RAM204は、ソフトウェア配信サーバ111の各処理に関わる一時的なデータを電気的に記憶する。RAM204は、書換え可能である。第1HDD205、第2HDD206は、ソフトウェア配信サーバ111の各処理に関わるプログラムや、各種データ、ソフトウェアを配信する画像形成装置に関する情報、配信対象となるソフトウェア、EULAなどを記憶する。
【0023】
ソフトウェア配信サーバ111では、本実施形態のソフトウェア配信を実行するためのログラムを第1HDD205に格納している。このプログラムは、RAM204を一時保存領域として使用し、第1CPU201もしくは第2CPU202によって呼び出され実行される。
【0024】
入力装置207は、ソフトウェア配信サーバ111への指示入力を受け付ける。これは、キーボードやポインティングなどで構成される。表示部208は、ソフトウェア配信サーバ111の動作状況や、ソフトウェア配信サーバ111上で動作する各プログラムが出力する情報を表示する。ネットワークI/F(インタフェース)209は、ネットワーク経由でLANおよびインターネットに接続し、外部装置との情報交換を行う。外部機器I/F(インタフェース)210は、外部記憶機器等との接続を制御する。上記の各機能部は装置内部のデータの流れを司るシステムバス211を介して接続される。
【0025】
次に、監視装置のハードウェア構成について説明する。図3は、監視装置117,122,123のハードウェア構成を示すブロック図である。なお、PC104,109のハードウェア構成も同様と考えることができる。
【0026】
図3において、CPU301は、監視装置全体の制御を司る。ROM302は、監視装置の各処理に関わるプログラムやデータを記憶する。ROM302は、書換え不可能である。RAM303は、監視装置の各処理に関わる一時的なデータを電気的に記憶する。RAM303は、書換え可能である。監視装置117,122,123では、装置の各処理に関わるプログラムや、データ、ソフトウェアが配信される画像形成装置に関する情報、ソフトウェア配信サーバ111から受信した情報などをHDD304に記憶する。なお、PC104,109においては、WEBブラウザなどをHDD304に記憶する。入力装置305は、監視装置への指示入力を受け付ける。これは、キーボードやポインティングなどで構成できる。表示部306は、監視装置の動作状況や、監視装置上で動作する各プログラムが出力する情報を表示する。ネットワークI/F307は、ネットワーク経由でLANおよびインターネットに接続し、外部装置との情報交換を行う。外部機器I/F308は、外部記憶機器等との接続を制御する。上記の各機能部は装置内部のデータの流れを司るシステムバス309を介して接続される。
【0027】
図4は、監視装置117,122,123のハードウェア構成の他の一例を示すブロック図である。CPU401は、監視装置全体を司る。ROM402は、監視装置の各処理に関わるプログラムやデータを記憶する。ROM402は、書換え不可能である。フラッシュROM403は、監視装置の各処理に関わるデータおよび一時的なデータ、監視対象の画像形成装置に関する情報などを記憶する。シリアルI/F404は、監視装置におけるエラー情報やログ情報の出力を行う。シリアルI/F404は、シリアルケーブルを用いて端末を接続することが可能である。ネットワークI/F405は、ネットワーク経由でLANおよびインターネットに接続し、外部装置との情報交換を行う。上記の各機能部は装置内部のデータの流れを司るシステムバス406を介して接続される。
【0028】
次に、画像形成装置のハードウェア構成について説明する。図5は、画像形成装置115,116,120,121,124,125,126,127,131のハードウェア構成を示すブロック図である。本実施形態で用いる画像形成装置としては、プリンタおよびファクシミリ機能が統合的に設けられた複合機が想定される。また、PCなどからデータを受信し印刷するプリンタ(電子写真方式及びインクジェット方式を含む)や、スキャナーや、ファクシミリなどでもよい。なお、図5に示す画像形成装置の構成は、複合機を想定している。
【0029】
図5において、原稿給送部501は、イメージリーダ502へ送り込む。イメージリーダ502は、原稿給送部501から送られた原稿を読み込み、印刷画像に変換・印刷出力する。画像形成部503は、後述するHDD(ハードディスク)509などの記憶手段に記憶されているデータやネットワーク経由で受信したデータを、印刷画像に変換・印刷出力する。排紙部504は、印刷出力した紙を排出し、ソートやステイプルといった処理を行う。ネットワークI/F505は、ネットワーク経由でLANおよびインターネットに接続し、外部装置と情報交換を行う。CPU506は、画像形成装置全体の制御を司る。とくに、CPU506は、画像形成装置の動作状態を監視し、障害等の特定のイベントの発生を検出した場合には、その状態を示す情報を、あらかじめ定めた宛先へ送信させる。宛先は、たとえば、ソフトウェア配信サーバ111や監視装置などが該当する。不揮発性記憶手段であるROM507は、画像形成装置の各処理に関わるプログラムやデータを記憶する。書換え可能な記憶手段であるRAM508は、画像形成装置の各処理に関わる一時的なデータを電気的に記憶する。HDD509は、画像形成装置の各処理に関わるプログラムや、データ、外部装置から送信されてきたユーザデータなどを記憶する。画像形成装置は、画像形成を実行するプログラムをHDD509に有している。このプログラムは、RAM508を一時保存領域として使用し、CPU506によって呼び出され実行される。操作部510は、画像形成装置への指示入力を受け付ける。表示部511は、画像形成装置の動作状況および操作部510に対する操作に関わる情報を表示する。上記の各機能部は装置内部のデータの流れを司るシステムバス512を介して接続される。
【0030】
<ソフトウェア構成>
図6は、ソフトウェア配信サーバ111におけるソフトウェア配信に関わる部分のソフトウェア構成を示す図である。SOAP通信部601は、監視装置117,122,123または画像形成装置131よりネットワークI/F209を介して受信したSOAPデータをSOAPメッセージ解析部602に渡す。SOAPメッセージ解析部602は、SOAPデータの解析を行う。また、SOAP通信部601は、SOAPメッセージ作成部603により作成されたSOAPデータをネットワークI/F209を介して監視装置117,122,123または画像形成装置131に送信する。収集情報処理部604は、監視装置117,122,123または画像形成装置131から受信した情報をそのまま、または所定の加工を施し、データベースアクセス部606を介してデータベース112に格納する。監視制御部605は、監視装置117,122,123または画像形成装置131の情報を取得するスケジュール管理の制御を行う。さらに、監視制御部605は、必要に応じて命令を、監視装置117,122,123または画像形成装置131へ、SOAPメッセージ作成部603、SOAP通信部601、ネットワークI/F209を介して送信する。
【0031】
図7は、監視装置117,122,123におけるソフトウェア配信に関わる部分のソフトウェア構成を示す図である。SOAP通信部701は、ソフトウェア配信サーバ111よりネットワークI/F307(またはネットワークI/F405)を介して受信したSOAPデータをSOAPメッセージ解析部703に渡す。SOAPメッセージ解析部703は、SOAPデータの解析を行う。また、SOAP通信部701は、SOAPメッセージ作成部702により作成されたSOAPデータをネットワークI/F307(またはネットワークI/F405)を介してソフトウェア配信サーバ111に送信する。監視制御部704は、情報蓄積部706に蓄積されている画像形成装置情報の更新や、その画像形成装置情報を取得しスケジュール管理を行う。画像形成装置情報処理部705は、監視制御部704により管理されるスケジュールに従い、本監視装置が画像形成装置から収集したファームウェア、ソフトウェア情報を、情報蓄積部706に蓄積する。なお、この蓄積は、必要に応じて行われる。情報蓄積部706に蓄積されたデータは、画像形成装置情報処理部705を介してそのままSOAPメッセージ作成部702に渡され、ソフトウェア配信サーバ111へ送信される。また、そのデータは、画像形成装置情報処理部705内で解釈、加工された後、SOAPメッセージ作成部702に渡され、ソフトウェア配信サーバ111へ送信される場合もある。
【0032】
図8は、画像形成装置115,116,120,121,124,125,126,127,131におけるソフトウェア配信に関わる部分のソフトウェア構成を示す図である。SOAP通信部801は、ソフトウェア配信サーバ111よりネットワークI/F505を介して受信したSOAPデータをSOAPメッセージ解析部803に渡す。SOAPメッセージ解析部803は、SOAPデータの解析を行う。また、SOAP通信部801は、SOAPメッセージ作成部802により作成されたSOAPデータをネットワークI/F505を介してソフトウェア配信サーバ111に送信する。ネットワーク情報取得部804は、DHCP環境においてはIPアドレス、DNSサーバ、ゲートウェイアドレスを自動的に取得する。また、ネットワーク情報取得部804は、操作部510から入力されHDD509に保存されたネットワーク情報が存在する場合は、その情報を取得する。画像形成装置情報収集部805は、本画像形成装置内部のスケジュールにより、またはソフトウェア配信サーバ111からの指示により、内部に保持するファームウェア、ソフトウェアなどの情報を取得する。取得したデータは、そのままSOAPメッセージ作成部802に渡しソフトウェア配信サーバ111へ送信する。または、画像形成装置情報収集部805内で蓄積、解釈、加工した後、SOAPメッセージ作成部802に渡しソフトウェア配信サーバ111へ送信する。
【0033】
<メモリマップ>
図9は、ソフトウェア配信サーバ111、監視装置117,122,123、画像形成装置115,116,120,121,124,125,126,127,131に用いられるメモリマップ構造を示す図である。本実施形態では、ソフトウェア配信サーバ111ではRAM204上に、各監視装置ではRAM303またはフラッシュROM403上に、各画像形成装置ではRAM508上にプログラムがロードされ、メモリマップが構成される。
【0034】
図9に示すように、各メモリは、基本I/Oプログラム領域901と、システム・プログラム領域902と、各種処理プログラム領域903と、関連データ領域904と、ワークエリア905と、で構成されている。
【0035】
基本I/Oプログラム領域901には、各装置上の入出力を司る基本I/Oプログラムが格納される。システム・プログラム領域902には、各処理プログラムに動作環境を提供するシステム・プログラムが格納される。各種処理プログラム領域903には、本実施形態のEULA統合を実行するためのプログラムをはじめとする各種処理プログラムが格納される。関連データ領域904には、各処理を行う上で関連するデータが格納される。ワークエリア905は、各種プログラムを実行する上でのワークエリアとして使用される。なお、メモリ容量の制約により領域が不足する場合は、第1HDD205または第2HDD206をRAM204の、HDD304をRAM303の、HDD509をRAM508の領域の一部として使用することも可能である。
【0036】
本発明は、画像形成装置に統合商品であるソフトウェアをインストールする際に、承認対象となる複数のEULAを一つに統合し、まとめて承認させる技術を提供することを目的とする。そこで、まず、画像形成装置がソフトウェア配信サーバへソフトウェア配信を要求する手順について説明する。図10は、画像形成装置115,116,120,121,124,125,126,127,131がソフトウェア配信サーバ111に対してソフトウェア配信を要求する手順を説明するための図である。以下では、図10のシーケンスに沿って、詳細に説明する。
【0037】
まず、前提として、ソフトウェア配信サーバ111に配信対象のソフトウェアと、EULAを登録する際に、EULAに優先度と、他のEULAとの依存関係、ソフトウェア制作会社の情報が登録される(ステップS1001)。
【0038】
次に、ソフトウェア要求が画像形成装置115,116,120,121,124,125,126,127,131からソフトウェア配信サーバ111に通知される(ステップS1002)。このとき、統合商品Zが指定される。
【0039】
次に、配信サーバ111は、統合商品Zのコンテンツであるソフトウェア(A,B,C,D)と、EULA(A,B,C,D)を画像形成装置115,116,120,121,124,125,126,127,131に送信する(ステップS1003)。
【0040】
次に、画像形成装置115,116,120,121,124,125,126,127,131は、EULA(A,B,C,D)の優先度、依存関係を見て、EULAの統合処理を行う(ステップS1004)。ここでは、EULA(D)は、EULA(A)に包含されているので削除、EULA(A,B,C)は一つのEULAとして統合する。その時、EULA(A,B,C)で重なっている文書は削除する。
【0041】
次に、ステップS1004で統合されたEULAが承認される(ステップS1005)。
【0042】
最後に、画像形成装置115,116,120,121,124,125,126,127,131は、ソフトウェア(A,B,C,D)をインストールする(ステップS1006)。なお、ステップS1005においてEULAが承認されなかった場合は、全てのソフトウェアを削除する。
【0043】
次に、ソフトウェア配信サーバ111に登録されるEULAの情報テーブルについて説明する。図11は、EULA情報テーブルを説明するための図である。EULA情報テーブルは、統合商品欄1101と、ソフトウェア欄1102と、EULA ID欄1103と、優先度欄1104と、依存関係欄1105と、ソフトウェア制作会社欄1106と、により構成される。
【0044】
統合商品欄1101には、統合商品の名称(種類)が示される。ソフトウェア欄1102には、配信対象となるソフトウェア名が示される。EULA IDを欄1103には、EULAを識別するためのIDが示される。優先度欄1104には、EULAの優先度情報が示される。依存関係欄1105には、EULAの依存関係情報が示される。ソフトウェア制作会社欄1106には、ソフトウェアの製作者の名称、一例としてソフトウェアの制作会社名が示される。
【0045】
次に、本実施形態にかかるソフトウェア配信サーバと画像形成装置の機能について説明する。図12Aは、ソフトウェア配信サーバ111と画像形成装置115,116,120,121,124,125,126,127,131の機能的構成を示すブロック図である。
【0046】
まず、画像形成装置115,116,120,121,124,125,126,127,131は、通信I/F部1201と、受信データ制御部1202と、配信データ制御部1203と、を備えている。さらに、EULA表示部(契約書表示部)1204と、EULA制御部(契約書制御部)1205と、ソフトウェアインストール部(プログラムインストール手段)1206と、ソフトウェア記憶部1207と、を備えている。
【0047】
通信I/F部1201は、ネットワークとの接続を制御し、ソフトウェア配信サーバ111とのデータの送受信を行う。この通信I/F部1201は、たとえば図5に示したCPU506とネットワークI/F505などでその機能を実現できる。
【0048】
受信データ制御部1202は、通信I/F部1201を介してソフトウェア配信サーバ111から受け取ったデータの制御を行う。この受信データ制御部1202は、たとえば図5に示したCPU506がEULA統合プログラム(契約書統合プログラム)を実行することでその機能を実現できる。
【0049】
配信データ制御部1203は、配信するデータの制御を行う。ここで、配信データとは、ソフトウェア配信サーバ111へ送信する、統合商品やソフトウェアの要求通知などである。この配信データ制御部1203は、たとえば図5に示したCPU506がEULA統合プログラムを実行することでその機能を実現できる。
【0050】
EULA表示部1204は、EULAを表示する。このEULA表示部1204は、たとえば図5に示したCPU506と表示部511などでその機能を実現できる。
【0051】
EULA制御部1205は、EULAの統合処理や承認状況などの制御を行う(詳細は後述)。このEULA制御部1205は、たとえば図5に示したCPU506がEULA統合プログラムを実行することでその機能を実現できる。
【0052】
ソフトウェアインストール部1206は、ソフトウェア配信サーバ111から配信されたソフトウェアのインストール処理を行う。このソフトウェアインストール部1206は、たとえば図5に示したCPU506がEULA統合プログラムを実行することでその機能を実現できる。
【0053】
ソフトウェア記憶部1207は、インストールしたソフトウェアを格納する。このソフトウェア記憶部1207は、データベースであり、たとえば図5に示したCPU506とHDD509などでその機能を実現できる。
【0054】
一方、ソフトウェア配信サーバ111は、通信I/F部1208(配信手段)と、受信データ制御部1209と、配信データ制御部1210と、ソフトウェア検索部1211と、EULA検索部(契約書検索部)1212と、を備えている。さらに、ソフトウェア記憶部1213と、EULA記憶部1214と、通信I/F部1215と、ソフトウェア登録部1217と、EULA登録部(契約書登録部)1218と、データ制御部1219と、を備えている。
【0055】
通信I/F部1208は、ネットワークとの接続を制御し、画像形成装置115、116、120、121、124、125、126、127、131とのデータの送受信を行う。この通信I/F部1208は、たとえば図2に示した第1CPU201または第2CPU202とネットワークI/F209などでその機能を実現できる。
【0056】
受信データ制御部1209は、通信I/F部1208を介して画像形成装置115,116,120,121,124,125,126,127,131から受け取ったデータの制御を行う。この受信データ制御部1209は、たとえば図2に示した第1CPU201または第2CPU202が所定のプログラムを実行することでその機能を実現できる。
【0057】
配信データ制御部1210は、配信するデータの制御を行う。ここで、配信データとは、ソフトウェアやEULAなどのデータを示す。すなわち、配信データ制御部1210は、配信するソフトウェアとそれに関連するEULAなどをひとつのデータに統合する。この配信データ制御部1210は、たとえば図2に示した第1CPU201または第2CPU202が所定のプログラムを実行することでその機能を実現できる。
【0058】
ソフトウェア検索部1211は、配信対象のソフトウェアの検索を行う。このソフトウェア検索部1211は、たとえば図2に示した第1CPU201または第2CPU202が所定のプログラムを実行することでその機能を実現できる。
【0059】
EULA検索部1212は、配信対象のEULAの検索を行う。すなわち、ソフトウェア検索部1211で検索された配信対象のソフトウェアに対応するEULAの検索を行う。このEULA検索部1212は、たとえば図2に示した第1CPU201または第2CPU202が所定のプログラムを実行することでその機能を実現できる。
【0060】
ソフトウェア記憶部1213は、配信対象のソフトウェアを記憶する。このソフトウェア記憶部1213は、データベースであり、たとえば図2に示した第1CPU201または第2CPU202と第1HDD205または第2HDD206などによりその機能を実現できる。
【0061】
EULA記憶部(契約書記憶部)1214は、配信対象のEULAを記憶する。このEULA記憶部1214は、データベースであり、たとえば図2に示した第1CPU201または第2CPU202と第1HDD205または第2HDD206などによりその機能を実現できる。
【0062】
通信I/F部1215は、外部装置であるPC1216との接続を制御し、PC1216からソフトウェア配信サーバ111に登録するソフトウェアとEULAを取り込む。なお、PC1216は、図1に示したPC104,109に該当する。この通信I/F部1215は、たとえば図2に示した第1CPU201または第2CPU202と外部I/F210などでその機能を実現できる。
【0063】
ソフトウェア登録部1217は、配信対象のソフトウェアをソフトウェア記憶部1213へ登録する処理を行う。このソフトウェア登録部1217は、たとえば図2に示した第1CPU201または第2CPU202が所定のプログラムを実行することでその機能を実現できる。
【0064】
EULA登録部1218は、配信対象のEULAをEULA記憶部1214へ登録する処理を行う。登録するEULAとしては、たとえば図11に示したEULA情報テーブルとして構成されているものである。すなわち、EULA登録部1218による登録処理を行うことで、他のEULAとの依存関係情報、EULAの優先度情報、対応するソフトウェアの制作会社情報(製作者情報)なども登録される。このEULA登録部1218は、たとえば図2に示した第1CPU201または第2CPU202が所定のプログラムを実行することでその機能を実現できる。
【0065】
データ制御部1219は、通信I/F部1215を介してPC1216から受け取ったデータの制御を行う。
【0066】
次に、図12Aに示したEULA制御部1205の詳細を説明する。図12Bは、EULA制御部1205の構成を示すブロック図である。このEULA制御部1205は、EULA依存関係判断部(契約書依存関係判断部)1251と、EULA優先度判断部(契約書優先度判断部)1252と、第1の削除処理部1253と、統合部1254と、第2の削除処理部1255と、を備えている。EULA制御部1205はまた、EULA承認部(契約書承認部)1256と、承認判定部1257と、を備えている。さらに、このEULA制御部1205は、ソフトウェア制作者判断部1258と、個別承認確認ボタン設定部1259と、を備えている。
【0067】
EULA依存関係判断部1251は、受信データに含まれる契約書依存関係情報から複数のEULAの中に他のEULAに包含されるものがあるか否かを判断する。EULA優先度判断部1252は、受信データに含まれる契約書優先度情報から複数の契約書間の優先順位を判断する。第1の削除処理部1253は、EULA依存関係判断部1251により他のEULAに包含されると判断されたEULAを削除する。また、この第1の削除処理部1253は、EULA優先度判断部1252により最も優先度が低いと判断されたEULAを削除する。統合部1254は、第1の削除処理部1253による処理の後、残ったEULAを統合する。第2の削除処理部1255は、統合部1254により統合されたEULAから重なる部分を抽出し、重複することがないように不要部分を削除する。EULA承認部1256は、第2の削除処理部1255による処理が行われたEULAの承認を行う。承認判定部1257は、EULA承認部1256による承認が行われたEULAであるか否かの判定を行う。
【0068】
また、ソフトウェア制作者判断部1258は、受信データに含まれる複数のソフトウェアにおいて同一の制作会社によるものか否かを判断する。個別承認確認ボタン設定部1259は、ソフトウェア製作者判断部1258により判断されたソフトウェア制作会社ごとにEULAを統合し、ソフトウェア制作会社に対応する承認確認ボタンを設定する。なお、この承認確認ボタンが設定されている場合には、第2の削除処理部1255は、当該承認確認ボタンに対応するEULAごとに重なる部分を抽出し、重複することがないように不要部分を削除する。また、EULA承認部1256は、第2の削除処理部1255による処理が終了した後、当該承認確認ボタンに対応するEULAごとにその承認を行う。
【0069】
<画像形成装置におけるEULA統合処理>
次に、本実施の形態にかかる画像形成装置が行うEULA統合処理について説明する。図13は、画像形成装置115,116,120,121,124,125,126,127,131におけるEULA統合処理の手順を示すフローチャートである。ここでは、各画像形成装置がEULAの依存関係を判断して、EULAを統合する。
【0070】
図13に示すフローチャートにおいて、まず、ソフトウェア配信サーバ111に統合商品Zを要求する(ステップS1301)。具体的には、図12Aに示した配信データ制御部1203がソフトウェア配信サーバ111に対してたとえば統合商品Zの配信を要求する。
【0071】
次に、ソフトウェア配信サーバ111から統合商品Zのソフトウェア、EULAを受信する(ステップS1302)。ここでは、図12Aに示した受信データ制御部1202がソフトウェア配信サーバ111から送信された統合商品Zのソフトウェア、EULAを受信する。なお、ここで受信データ制御部1202が受信する受信データとしては、たとえば次のようなものである。
(a)ソフトウェア(A,B,C,D)
(b)EULA(A,B,C,D)
(c)EULAの依存関係情報
(d)EULAの優先度情報
(e)EULAの制作会社情報
【0072】
次に、EULAの依存関係情報を確認する(ステップS1303)。ここでは、図12Bに示したEULA依存関係判断部1251がEULAの依存関係情報を確認する。
【0073】
次に、EULAに依存関係があるか否かを判断する(ステップS1304)。この処理も、図12Bに示したEULA依存関係判断部1251依存関係の有無の判断は、複数のEULAのうち他のEULAに包含されるものがあるか否かによる。ここで、たとえば、EULA(A)がEULA(D)を包含しており、EULA(B),EULA(C),EULA(D)は独立であるような場合は、依存関係にあると判断する。一方、すべてのEULAが独立である場合には依存関係にないと判断する。
【0074】
ステップS1304においてEULAに依存関係がない場合(ステップS1304:No)は、ステップS1306へ移行する。一方、ステップS1304においてEULAに依存関係がある場合(ステップS1304:Yes)は、包含されるEULAを削除する(ステップS1305:第1の削除処理工程)。この処理は、図12Bに示した第1の削除処理部1253が実行する。図13に示すフローチャートでは、EULA(D)が、EULA(A)に包含されているので、EULA(D)を削除する。
【0075】
次に、EULAを統合する(ステップS1306)。この処理は、図12Bに示した統合部1254が実行する。ステップS1305でEULA(D)は削除されたので、EULA(A,B,C)を一つの文書に統合する。
【0076】
次に、EULAの共通部分を抽出する(ステップS1307)。この処理は、図12Bに示した第2の削除処理部1255が実行する。ここでは、たとえばEULA(A,B,C)の共通部分を抽出する。なお、共通部分とは、各EULAで同じ記載がなされている箇所である。
【0077】
次に、共通部分があるか否かを判断する(ステップS1308)。この処理は、図12Bに示した第2の削除処理部1255が実行する。ここでは、たとえばEULA(A,B,C)の共通部分が存在するか判断を行う。ここで、共通部分がない場合(ステップS1308:No)は、ステップS1310へ移行する。一方、共通部分がある場合(ステップS1308:Yes)は、EULAの共通部分で重なるものを削除する(ステップS1309:第2の削除工程)。この処理も、第2の削除処理部1255が実行する。たとえば、EULA(A,B,C)の共通部分が見つかった場合、重複することがないように不要部分を削除する。
【0078】
次に、EULAを表示する(ステップS1310)。ここでは、図12Aに示したEULA表示部1204が統合されたEULAを表示する。
【0079】
次に、EULAを承認する(ステップS1311)。ここでは、図12Bに示されたEULA承認部1256がステップS1310により表示されたEULAの承認を行う。
【0080】
次に、EULAが承認されたか否かを判定する(ステップS1312)。ここでは、図12Bに示された承認判定部1257が、ステップS1311により該当するEULAの承認が行われたか否かを判定する。ここで、EULAが承認されていなかった場合(ステップS1312:No)は、処理を終了する。一方、EULAが承認された場合(ステップS1312:Yes)は、ソフトウェアをインストールする(ステップS1313)。すなわち、図12Aに示されたソフトウェアインストール部1206が、承認されたEULAに対応するソフトウェアのインストールを行う。
【0081】
続いて、本実施の形態にかかる画像形成装置が行う処理の他の一例について説明する。図14は、画像形成装置115,116,120,121,124,125,126,127,131における他のEULA統合処理の手順を示すフローチャートである。ここでは、各画像形成装置がEULAの優先度を判断して、EULAを統合する。
【0082】
図13に示すフローチャートにおいて、まず、ソフトウェア配信サーバ111に統合商品Yを要求する(ステップS1401)。具体的には、図12Aに示した配信データ制御部1203がソフトウェア配信サーバ111に対してたとえば統合商品Yの配信を要求する。
【0083】
次に、ソフトウェア配信サーバ111から統合商品Yのソフトウェア、EULAを受信する(ステップS1402)。ここでは、図12Aに示した受信データ制御部1202がソフトウェア配信サーバ111から送信された統合商品Yのソフトウェア、EULAを受信する。なお、ここで受信データ制御部1202が受信する受信データとしては、たとえば次のようなものである。
(a)ソフトウェア(E,F,G)
(b)EULA(E,F,G)
(c)EULAの依存関係情報
(d)EULAの優先度情報
(e)EULAの制作会社情報
【0084】
次に、EULAの優先度情報を確認する(ステップS1403)。ここでは、図12Bに示したEULA優先度判断部1252がEULAの優先度関係情報を確認する。
【0085】
次に、EULAに優先度があるか否かを判断する(ステップS1404)。この処理も、図12Bに示したEULA優先度判断部1252が実行する。優先度の優劣の判断は、各EULAに付与された優先度情報による。ここでは、たとえば、EULA(E):レベル1、EULA(F):レベル3、EULA(G):レベル3である場合は、EULAに優先度があり、優先度がレベル1であるEULA(E)が最も高いと判断する。一方、すべてのEULAの優先度が同じレベルにある場合は、EULAに優先度はないと判断する。
【0086】
ステップS1404においてEULAに優先度がない場合(ステップS1404:No)は、ステップS1406へ移行する。一方、ステップS1404においてEULAに優先度がある場合(ステップS1404:Yes)は、優先度の低いEULAを削除する(ステップS1405:第1の削除工程)。この処理は、図12Bに示した第1の削除処理部1253が実行する。図14の例では、EULA(F),EULA(G)がともにレベル3で優先度が低いので、双方を削除する。
【0087】
次に、EULAを統合する(ステップS1406)。この処理は、図12Bに示した統合部1254が実行する。図14では、S1405でEULA(F),EULA(G)が削除されたので、残っているにはEULA(E)のみであるが、同じ優先度のEULAが複数ある場合は、複数のEULAを統合する。
【0088】
次に、EULAの共通部分を抽出する(ステップS1407)。この処理は、図12Bに示した第2の削除処理部1255が実行する。なお、共通部分とは、各EULAで同じ記載がなされている箇所である。
【0089】
次に、共通部分があるか否かを判断する(ステップS1408)。この処理は、この処理も、図12Bに示した第2の削除処理部1255が実行する。たとえばEULAで共通部分が存在するかの判断を行う。ここで、共通部分がない場合(ステップS1408:No)は、ステップS1410へ移行する。一方、共通部分がある場合(ステップS1408:Yes)は、EULAの共通部分で重なるものを削除する(ステップS1409:第2の削除工程)。この処理も、第2の削除処理部1255が実行する。たとえば、EULAで共通部分が見つかった場合、重複することがないように不要部分を削除する。
【0090】
次に、EULAを表示する(ステップS1410)。ここでは、図12Aに示したEULA表示部1204が統合されたEULAを表示する。
【0091】
次に、EULAを承認する(ステップS1411)。ここでは、図12Bに示されたEULA承認部1256がステップS1410により表示されたEULAの承認を行う。
【0092】
次に、EULAが承認されたか否かを判断する(ステップS1412)。ここでは、図12Bに示された承認判定部1257が、ステップS1411により該当するEULAの承認が行われたか否かを判定する。ここで、EULAが承認されていなかった場合(ステップS1412:No)は、処理を終了する。一方、EULAが承認された場合(ステップS1412:Yes)は、ソフトウェアをインストールする(ステップS1413)。すなわち、図12Aに示されたソフトウェアインストール部1206が、承認されたEULAに対応するソフトウェアのインストールを行う。
【0093】
さらに、続けて、本実施の形態にかかる画像形成装置が行う他の処理について説明する。図15は、画像形成装置115,116,120,121,124,125,126,127,131における他のEULA統合処理の手順を示すフローチャートである。ここでは、各画像形成装置が、ソフトウェアの制作会社を判断して、ソフトウェアの制作会社ごとのEULAを統合する。
【0094】
図15に示すフローチャートにおいて、まず、ソフトウェア配信サーバ111に統合商品Xを要求する(ステップS1501)。具体的には、図12Aに示した配信データ制御部1203がソフトウェア配信サーバ111に対してたとえば統合商品Xの配信を要求する。
【0095】
次に、ソフトウェア配信サーバ111から統合商品Xのソフトウェア、EULAを受信する(ステップS1502)。ここでは、図12Aに示した受信データ制御部1202がソフトウェア配信サーバ111から送信された統合商品Xのソフトウェア、EULAを受信する。なお、ここで受信データ制御部1202が受信する受信データとしては、たとえば次のようなものである。
(a)ソフトウェア(H,I,J,K)
(b)EULA(H,I,J,K)
(c)EULAの依存関係情報
(d)EULAの優先度情報
(e)EULAの制作会社情報
【0096】
次に、ソフトウェアの制作会社情報を確認する(ステップS1503)。この処理は、図12Bに示したソフトウェア製作者判断部1258が受信データに含まれる複数のソフトウェアの制作会社情報を確認する。
【0097】
次に、各ソフトウェアの制作会社が異なるか否かを判断する(ステップS1504)。この処理も、図12Bに示したソフトウェア製作者判断部1258が実行する。ここで、たとえば、ソフトウェア(H):C社、ソフトウェア(I):E社、ソフトウェア(J):R社、ソフトウェア(K):Z社であるとすると、製作会社は異なると判断する。
【0098】
ステップS1504において各ソフトウェアの製作会社が異なる場合(ステップS1504:Yes)は、ソフトウェアの製作会社ごとにEULAを統合する(ステップS1505)。具体的には、図12Bに示した個別承認確認ボタン設定部1259が、ステップS1504により判断されたソフトウェア制作会社ごとにEULAを統合し、ソフトウェア制作会社に対応する承認確認ボタンを設定する。一方、ステップS1504においてソフトウェアの製作会社がすべて同じ場合(ステップS1504:No)は、そのままEULAを統合する(ステップS1506)。ソフトウェアの制作会社は同じであれば、そのままEULAが統合され、また、設定される承認確認ボタンもひとつである。この処理も、図12Bに示した個別承認確認ボタン設定部1259が実行する。
【0099】
次に、EULAの共通部分を抽出する(ステップS1507)。この処理は、図12Bに示した第2の削除処理部1255が実行する。なお、共通部分とは、各EULAで同じ記載がなされている箇所である。
【0100】
次に、共通部分があるか否かを判断する(ステップS1508)。この処理は、この処理も、図12Bに示した第2の削除処理部1255が実行する。たとえばEULAで共通部分が存在するかの判断を行う。ここで、共通部分がない場合(ステップS1508:No)は、ステップS1510へ移行する。一方、共通部分がある場合(ステップS1508:Yes)は、EULAの共通部分で重なるものを削除する(ステップS1509:第2の削除工程)。この処理も、第2の削除処理部1255が実行する。たとえば、EULAで共通部分が見つかった場合、重複することがないように不要部分を削除する。
【0101】
次に、EULAを表示する(ステップS1510)。ここでは、図12Aに示したEULA表示部1204が統合されたEULAを表示する。
【0102】
次に、EULAを承認する(ステップS1511)。ここでは、図12Bに示されたEULA承認部1256がステップS1510により表示されたEULAの承認を行う。なお、この例では承認確認ボタンが設定されているので、EULA承認部1256による承認はこの承認確認ボタンごとに行われる。
【0103】
次に、EULAが承認されたか否かを判断する(ステップS1512)。ここでは、図12Bに示した承認判定部1257が、承認確認ボタンごとに該当するEULAの承認が行われたか否かを判定する。ここでは、たとえばEULA(H):承認、EULA(I):承認、EULA(J):未承認、EULA(K):承認であるような場合は、後のステップでEULA(J)のソフトウェアみがインストールされないことになる。なお、承認結果について、ソフトウェア制作会社ごとに設けられた承認確認ボタンを見れば、承認されたかどうかの状態が容易に分かるように、EULA表示部1204に表示されるようにするとよい。
【0104】
ステップS1512においてEULAが承認されなかった場合(ステップS1512:No)は、処理を終了する。すなわち、承認されなかったEULAに対応するソフトウェアはインストールされない。一方、EULAが承認された場合(ステップS1512:Yes)は、ソフトウェアをインストールする(ステップS1513)。すなわち、図12Aに示されたソフトウェアインストール部1206が、承認されたEULAに対応するソフトウェアのインストールを行う。
【0105】
さらに、続けて、本実施の形態にかかる画像形成装置が行う他の処理について説明する。図16は、画像形成装置115,116,120,121,124,125,126,127,131における他のEULA統合処理の手順を示すフローチャートである。この例でも、各画像形成装置が、ソフトウェアの制作会社を判断して、ソフトウェア制作会社ごとにEULAを統合する。図15に基づいて説明した例と異なるのは、各画像形成装置がソフトウェア配信サーバ111に統合商品を要求するのではなく。直接ソフトウェアを要求することである。
【0106】
図16に示すフローチャートにおいて、まず、ソフトウェア配信サーバ111にソフトウェアを要求する(ステップS1601)。具体的には、図12Aに示した配信データ制御部1203がソフトウェア配信サーバ111に対してたとえばソフトウェア(H,I,J,K)の配信を要求する。
【0107】
次に、ソフトウェア配信サーバ111からソフトウェア、EULAを受信する(ステップS1602)。ここでは、図12Aに示した受信データ制御部1202がソフトウェア配信サーバ111から送信されたソフトウェア(H,I,J,K)とこれに対応するEULA(H,I,J,K)を受信する。なお、ここで受信データ制御部1202が受信する受信データとしては、たとえば次のようなものである。
(a)ソフトウェア(H,I,J,K)
(b)EULA(H,I,J,K)
(c)EULAの依存関係情報
(d)EULAの優先度情報
(e)EULAの制作会社情報
【0108】
次に、ソフトウェアの制作会社情報を確認する(ステップS1603)。この処理は、図12Bに示したソフトウェア製作者判断部1258が受信データに含まれる複数のソフトウェアの制作会社情報を確認する。
【0109】
次に、各ソフトウェアの制作会社が異なるか否かを判断する(ステップS1604)。この処理も、図12Bに示したソフトウェア製作者判断部1258が実行する。ここで、たとえば、ソフトウェア(H):C社、ソフトウェア(I):E社、ソフトウェア(J):R社、ソフトウェア(K):Z社であるとすると、製作会社は異なると判断する。
【0110】
ステップS1604において各ソフトウェアの製作会社が異なる場合(ステップS1604:Yes)は、ソフトウェアの製作会社ごとにEULAを統合する(ステップS1605)。具体的には、図12Bに示した個別承認確認ボタン設定部1259が、ステップS1604により判断されたソフトウェア制作会社ごとにEULAを統合し、ソフトウェア制作会社に対応する承認確認ボタンを設定する。一方、ステップS1604においてソフトウェアの製作会社が同じ場合(ステップS1604:No)は、そのままEULAを統合する(ステップS1606)。ソフトウェアの制作会社は同じであれば、そのままEULAは統合され、また、設定される承認確認ボタンもひとつである。この処理も、図12Bに示した個別承認確認ボタン設定部1259が実行する。
【0111】
次に、EULAの共通部分を抽出する(ステップS1607)。この処理は、図12Bに示した第2の削除処理部1255が実行する。なお、共通部分とは、各EULAで同じ記載がなされている箇所である。
【0112】
次に、共通部分があるか否かを判断する(ステップS1608)。この処理は、この処理も、図12Bに示した第2の削除処理部1255が実行する。たとえばEULAで共通部分が存在するかの判断を行う。ここで、共通部分がない場合(ステップS1608:No)は、ステップS1610へ移行する。一方、共通部分がある場合(ステップS1608:Yes)は、EULAの共通部分で重なるものを削除する(ステップS1609:第2の削除工程)。この処理も、第2の削除処理部1255が実行する。たとえば、EULAで共通部分が見つかった場合、重複することがないように不要部分を削除する。
【0113】
次に、EULAを表示する(ステップS1610)。ここでは、図12Aに示したEULA表示部1204が統合されたEULAを表示する。
【0114】
次に、EULAを承認する(ステップS1611)。ここでは、図12Bに示されたEULA承認部1256がステップS1610により表示されたEULAの承認を行う。なお、この例では承認確認ボタンが設定されているので、EULA承認部1256による承認はこの承認確認ボタンごとに行われる。
【0115】
次に、EULAが承認されたか否かを判断する(ステップS1612)。ここでは、図12Bに示した承認判定部1257が、承認確認ボタンごとに該当するEULAの承認が行われたか否かを判定する。ここでは、たとえばEULA(H):承認、EULA(I):承認、EULA(J):未承認、EULA(K):承認であるような場合は、後のステップでEULA(J)のソフトウェアみがインストールされないことになる。なお、承認結果について、ソフトウェア制作会社ごとに設けられた承認確認ボタンを見れば、承認されたかどうかの状態が容易に分かるように、EULA表示部1204に表示されるようにするとよい。
【0116】
ステップS1512においてEULAが承認されなかった場合(ステップS1612:No)は、処理を終了する。すなわち、承認されなかったEULAに対応するソフトウェアはインストールされない。一方、EULAが承認された場合(ステップS1612:Yes)は、ソフトウェアをインストールする(ステップS1613)。すなわち、図12Aに示されたソフトウェアインストール部1206が、承認されたEULAに対応するソフトウェアのインストールを行う。
【0117】
以上説明したように、本実施形態によれば、他のEULAに依存するEULAや、優先度の低いEULAを削除し、また、統合後のEULAも重複部分がないように余分な部分を削除するので、必要最小限の情報のみでEULAを統合することができる。したがって、エンドユーザは、複数のソフトウウェアのインストールを行う場合でも、必要最小限の情報で、効率よくEULAを承認することができる。また、インストールするソフトウェアの制作会社が異なる場合、制作会社ごとに承認欄を設けるので、EULA承認作業の手間を削減しつつ、制作会社ごとの契約が可能になる。
【0118】
なお、本実施形態で説明したEULA統合方法は、あらかじめ用意されたプログラムをコンピュータで実行することにより実現することができる。このプログラムは、ハードディスクをはじめとするコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【0119】
以上のように、本発明は、ソフトウェア配信システムに有用であり、とくに、数多くのソフトウェアを配信し、インストールを行うことが要求される場合に好適である。
【図面の簡単な説明】
【0120】
【図1】本発明の実施形態にかかるソフトウェア配信システムの概要を示す図である。
【図2】ソフトウェア配信サーバ111のハードウェア構成を示すブロック図である。
【図3】監視装置117,122,123のハードウェア構成を示すブロック図である。
【図4】監視装置117,122,123のハードウェア構成の他の一例を示すブロック図である。
【図5】画像形成装置115,116,120,121,124,125,126,127,131のハードウェア構成を示すブロック図である。
【図6】ソフトウェア配信サーバ111におけるソフトウェア配信に関わる部分のソフトウェア構成を示す図である。
【図7】監視装置117,122,123におけるソフトウェア配信に関わる部分のソフトウェア構成を示す図である。
【図8】画像形成装置115,116,120,121,124,125,126,127,131におけるソフトウェア配信に関わる部分のソフトウェア構成を示す図である。
【図9】ソフトウェア配信サーバ111、監視装置117,122,123、画像形成装置115,116,120,121,124,125,126,127,131に用いられるメモリマップ構造を示す図である。
【図10】画像形成装置115,116,120,121,124,125,126,127,131がソフトウェア配信サーバ111に対してソフトウェア配信を要求する手順を説明するための図である。
【図11】EULA情報テーブルを説明するための図である。
【図12A】ソフトウェア配信サーバ111と画像形成装置115,116,120,121,124,125,126,127,131の機能的構成を示すブロック図である。
【図12B】EULA制御部1205の構成を示すブロック図である。
【図13】画像形成装置115,116,120,121,124,125,126,127,131におけるEULA統合処理の手順を示すフローチャートである。
【図14】画像形成装置115,116,120,121,124,125,126,127,131における他のEULA統合処理の手順を示すフローチャートである。
【図15】画像形成装置115,116,120,121,124,125,126,127,131における他のEULA統合処理の手順を示すフローチャートである。
【図16】画像形成装置115,116,120,121,124,125,126,127,131における他のEULA統合処理の手順を示すフローチャートである。
【符号の説明】
【0121】
111 ソフトウェア配信サーバ
115,116,120,121,124,125,126,127,131 画像形成装置
1201,1208,1215 通信I/F部
1202,1209 受信データ制御部
1203,1210 配信データ制御部
1204 EULA表示部
1205 EULA制御部
1206 ソフトウェアインストール部
1207,1213 ソフトウェア記憶部
1211 ソフトウェア検索部
1212 EULA検索部
1214 EULA記憶部
1217 ソフトウェア登録部
1218 EULA登録部
1219 データ制御部
1251 EULA依存関係判断部
1252 EULA優先度判断部
1253 第1の削除処理部
1254 統合部
1255 第2の削除処理部
1256 EULA承認部
1257 承認判定部
1258 ソフトウェア製作者判断部
1259 個別承認確認ボタン設定部

【特許請求の範囲】
【請求項1】
配信対象のプログラムの検索を行うプログラム検索手段と、
前記プログラム検索手段により検索されたプログラムに対応する契約書の検索を行う契約書検索手段と、
前記プログラム検索手段により検索されたプログラムと、前記契約書検索手段により検索された契約書とをひとつのデータに統合する配信データ制御手段と、
前記配信データ制御手段により統合されたデータを、取得した画像データから画像を形成し出力する画像形成装置に配信する配信手段と、
を備えていることを特徴とするプログラム配信サーバ。
【請求項2】
配信対象のプログラムをプログラム記憶手段に登録するプログラム登録手段と、
前記配信対象のプログラムに対応する前記契約書を契約書記憶手段に登録する契約書登録手段と、
を備えていることを特徴とする請求項1に記載のプログラム配信サーバ。
【請求項3】
前記契約書には、他の契約書との依存関係情報、契約書の優先度情報、対応するプログラムの製作者情報の少なくとも一つが含まれていることを特徴とする請求項1または2に記載のプログラム配信サーバ。
【請求項4】
取得した画像データから画像を形成し出力する画像形成装置であって、
取得したデータに含まれる契約書依存関係情報から複数の契約書の中に他の契約書に包含されるものがあるか否かを判断する契約書依存関係判断手段と、
前記契約書依存関係判断手段により他の契約書に包含されると判断された契約書を削除する第1の削除処理手段と、
前記第1の削除処理手段による処理の後、残った契約書を統合する統合手段と、
前記統合手段により統合された契約書から重なる部分を抽出し、重複することがないように不要部分を削除する第2の削除処理手段と、
前記第2の削除処理手段による処理が行われた契約書の承認を行う契約書承認手段と、
前記契約書承認手段により承認された契約書に対応する前記取得データに含まれるプログラムのインストールを行うプログラムインストール手段と、
を備えていることを特徴とする画像形成装置。
【請求項5】
取得したデータに含まれる契約書優先度情報から複数の契約書間の優先順位を判断する契約書優先度判断手段を備え、
前記第1の削除処理手段は、前記契約書優先度判断手段により最も優先度が低いと判断された契約書を削除することを特徴とする請求項4に記載の画像形成装置。
【請求項6】
取得データに含まれる複数のプログラムにおいて同一の製作者によるものか否かを判断するプログラム製作者判断手段と、
前記プログラム製作者判断手段により判断されたプログラム製作者ごとに契約書を統合し、統合された契約書ごとに個別承認を行う個別承認手段と、
を備え、
第2の削除処理手段は、同一の製作者の契約書ごとに重なる部分を抽出し、重複することがないように不要部分を削除し、
前記契約書承認手段は、前記第2の削除処理手段による処理が終了した後、前記個別承認手段により契約書ごとにその承認を行うことを特徴とする請求項4に記載の画像形成装置。
【請求項7】
請求項1〜3のいずれかひとつに記載のプログラム配信サーバと、請求項4〜6のいずれかひとつに記載の画像形成装置と、を備えていることを特徴とするプログラム配信システム。
【請求項8】
取得データに含まれる契約書依存関係情報から複数の契約書の中に他の契約書に包含されるものがあるか否かを判断する契約書依存関係判断工程と、
前記契約書依存関係判断工程により他の契約書に包含されると判断された契約書を削除する第1の削除処理工程と、
前記第1の削除処理工程による処理の後、残った契約書を統合する統合工程と、
前記統合工程により統合された契約書から重なる部分を抽出し、重複することがないように不要部分を削除する第2の削除処理工程と、
前記第2の削除処理工程による処理が行われた契約書の承認を行う契約書承認工程と、
前記契約書承認工程により承認された契約書に対応する前記取得データに含まれるプログラムのインストールを行うプログラムインストール工程と、
を含むことを特徴とする契約書統合方法。
【請求項9】
取得データに含まれる契約書優先度情報から複数の契約書間の優先順位を判断する契約書優先度判断工程を含み、
前記第1の削除処理工程は、前記契約書優先度判断工程により最も優先度が低いと判断された契約書を削除することを特徴とする請求項8に記載の契約書統合方法。
【請求項10】
取得データに含まれる複数のプログラムにおいて同一の製作者によるものか否かを判断するプログラム製作者判断工程と、
前記プログラム製作者判断手段により判断されたプログラム製作者ごとに契約書を統合し、統合された契約書ごとに個別承認を行う個別承認工程と、
を備え、
第2の削除処理工程は、同一の製作者の契約書ごとに重なる部分を抽出し、重複することがないように不要部分を削除し、
前記契約書承認工程は、前記第2の削除処理手段による処理が終了した後、前記個別承認工程により契約書ごとにその承認を行うことを特徴とする請求項8に記載の契約書統合方法。
【請求項11】
請求項8〜10のいずれかひとつに記載の契約書統合方法をコンピュータに実行させることを特徴とする契約書統合プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12A】
image rotate

【図12B】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2010−152710(P2010−152710A)
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願番号】特願2008−331018(P2008−331018)
【出願日】平成20年12月25日(2008.12.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】