(57)【要約】【課題】  画像形成装置上で動作するアプリケーションに対して、画像形成装置が提供する機能毎にＩＤを定義し、アプリケーションはその機能のうち使用しているＩＤのみを宣言することで、新規装置が登場してもアプリケーションを作り変えることなくインストール可能とする仕組みを提供する。【解決手段】  アプリケーションをインストール可能な画像形成装置にであって、画像形成装置が提供する複数の機能によってそれぞれ所定のＩＤを割り当てた機能識別ＩＤを有し、アプリケーションに指定された機能毎に割り当てられた所定のＩＤを読み取る手段と、前記読み取り手段で読み取られた識別ＩＤと自画像形成装置が提供する機能毎のＩＤとを比較する手段と、前記比較手段によって、一致すると判断された場合にはインストールを許可する。【選択図】  図１
2009223763.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションをインストール可能な画像形成装置であって、
前記画像形成装置が提供する複数の機能によってそれぞれ所定のIDを割り当てた機能識別IDを有し、
前記アプリケーションに指定された機能毎に割り当てられた所定のIDを読み取る手段と、
前記読み取り手段で読み取られた識別IDと自画像形成装置が提供する機能毎のIDとを比較する手段と、
前記比較手段によって、一致すると判断された場合にはインストールを許可することを特徴とする画像形成装置。
【請求項２】
前記IDの比較手段がIDの論理式に従って判断することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
アプリケーションをインストール可能な画像形成装置であって、
画像形成装置を特定する画像形成装置識別IDを有し、
アプリケーションに指定された画像形成装置識別IDを読み取る手段と、
前記画像形成装置識別IDで読み取り手段で読み取られたIDと自画像形成装置が有する画像形成装置識別IDとを比較する手段と、
前記画像形成装置識別ID比較手段によって、一致すると判断された場合にはインストールを許可することを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションをインストール可能な情報処理装置に関するものである。より詳細には、情報処理装置が有する機能の組合せに従って、インストールの可否を決定する手法に関するものである。
【背景技術】
【０００２】
複合機などの画像形成機能を持つ情報処理装置において、プログラミング言語の搭載により、PCなどに代表される情報処理装置と同様に、ネットワーク上の他の情報処理装置からアプリケーションがインストールできる環境が整ってきている。これにより、機能拡張の際には新しいアプリケーションをインストールするなどが行なわれている。具体的には、インストールされるアプリケーションは、情報処理装置の中に存在するハードディスクなどの不揮発性記憶媒体に保存される。またインストールされたアプリケーションは、情報処理装置内で開始・動作し、複写機などの画像形成機能を持つ情報処理装置に対して、さまざまな付加価値を提供する機能を実現するものである。これらのアプリケーションは、開始時に不揮発性記憶媒体に記録された情報をメモリ上に読み込む動作を要する。このとき、従来技術として、必要とする資源の使用量をアプリケーションと対となるプロパティファイルに記述して、これに基づいて開始時に必要なメモリを確保する方法が一般的にある（例えば、特許文献１）。
【０００３】
また、これらのアプリケーションは、アプリケーションが動作可能な画像形成装置の機種を特定する情報を持ち、画像形成装置にインストールしようとした際、当該情報が一致しなければインストールできない仕組みが採用されている。
【特許文献１】特開２００４−３０６０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし従来のアプリケーションにおいては、動作可能な画像形成装置の機種を特定する情報をもつ必要があった。このため、アプリケーション自身が提供する機能に変更が無くても、アプリケーションが対応する機種が増える度にアプリケーション自身の情報を変更する必要があった。そのため、アプリケーションの開発者はそのたびに開発投資が発生するという問題があった。
【０００５】
そこで本発明では、上記課題を解決するため、画像形成装置に対して、これまでの機種を特定する情報に加え、装置が提供する機能を示すID情報を宣言する機能を追加した。このことによって、アプリケーションには、機種を特定する情報に加え、前記ID情報を使用して、アプリケーションが使用する装置の機能を表現する論理式を宣言することを可能となる。そして、当該アプリケーションを当該装置にインストールする際、当該装置が保持するID情報が、アプリケーションが保持する論理式を満たす場合に、インストールを許可する。このことによって新しい機種が追加されるたびにアプリケーション自身を修正せずに新機種の対応を行うことのできる手段を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するための手段として、請求項1の発明は、アプリケーションをインストール可能な画像形成装置にであって、
画像形成装置が提供する複数の機能によってそれぞれ所定のIDを割り当てた機能識別IDを有し、
アプリケーションに指定された機能毎に割り当てられた所定のIDを読み取る手段と、
前記読み取り手段で読み取られた識別IDと自画像形成装置が提供する機能毎のIDとを比較する手段と、
前記比較手段によって、一致すると判断された場合にはインストールを許可するように構成したものである。
【０００７】
さらに請求項２の発明は、請求項１の発明のIDの比較手段がIDの論理式に従って判断するように構成したものである。
【０００８】
さらに請求項３の発明は、請求項１の発明に対し、画像形成装置を特定する画像形成装置識別IDを有し、
アプリケーションに指定された画像形成装置識別IDを読み取る手段と、
前記画像形成装置識別IDで読み取り手段で読み取られたIDと自画像形成装置が有する画像形成装置識別IDとを比較する手段と、
前記画像形成装置識別ID比較手段によって、一致すると判断された場合にはインストールを許可するように構成したものである。
【発明の効果】
【０００９】
本発明によって、新しい機種が追加されるたびにアプリケーション自身を修正せずに新機種の対応を行うことのできる手段を提供することが可能となる。
【発明を実施するための最良の形態】
【００１０】
次に、本発明の詳細を実施例の記述に従って説明する。
【００１１】
第1の実施例は、画像形成装置とネットワークによるシステムに本発明を実施したものである。
【００１２】
図１は、実施例１における、画像形成装置システムが利用される一般的なシステム構成図である。
【００１３】
複合機1008は原稿の読み取り、印刷、または、さまざまな装置に送信する情報処理装置である。クライアントPC1004〜クライアントPC1006は、複合機1008に印刷指示を行なう、あるいは複合機1008で読み取られた原稿のデータを格納する。ネットワーク1007は、情報処理装置1001、クライアントPC1004〜クライアントPC1006、複合機1008が接続されるネットワークであり、相互にアクセス可能であるものとする。このときの接続媒体については双方向通信可能なものであればいずれでも構わない。その接続媒体上においてクライアントPC1004〜クライアントPC1006、複合機1008、の相互間においてデータ送受信に使用されるプロトコルもHTTP(Hyper Text Transfer Protocol)、SOAP(Simple Object Access Protocol)、FTP(File Transfer Protocol)など既存のプロトコルのいずれでも構わない。つまり、まったく独自のアプリケーションプロトコルであっても構わない。また、クライアントPCは、ネットワーク1007上にいくつ接続されていてもよいことは言うまでもない。
【００１４】
本実施例では、複合機1008には、プログラミング言語の実行環境が組み込まれており、プログラミング言語アプリケーションを実行することが可能であるものとする。
【００１５】
図２は、実施例１における複合機などの画像形成機能を持つ情報処理装置のシステムブロック図であり、複合機1008に実装される。
【００１６】
Controller Unit 2000は画像入力デバイスであるScanner2070や画像出力デバイスであるPrinter2095と接続し画像情報やデバイス情報の入出力を行う為のコントローラである。一方では、LAN2011や公衆回線(WAN)2051接続することでも同様な動作を可能とする。CPU2001はシステム全体を制御するコントローラである。RAM2002はCPU2002が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリ、または各種アプリケーションが実行されるワークメモリでもある。ROM2003はブートROMであり、システムのブートプログラムが格納されている。HDD2004はハードディスクドライブで、システムソフトウェア、画像データ、各種アプリケーション、複合機1008における設定情報、装置内で処理されるさまざまなジョブの履歴などを格納する。また、後述のNetwork I/F2010を介し所定のクライアントと記憶領域の共有が可能である。また、後述のアプリケーションをインストールする際に必要な複合機1008を識別する情報や、複合機1008が有する機能を識別するための情報も格納されている。操作部I/F2006はタッチパネルを有した操作部(UI)2012とのインターフェース部で、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部2012から本システム使用者が入力した情報を、CPU2001に伝える役割をする。Network I/F2010はLAN2011に接続し、情報の入出力を行う。Modem2050は公衆回線2051に接続し、情報の入出力を行う。以上のデバイスがシステムバス2007上に配置される。Image Bus I/F2005はシステムバス2007と画像データを高速で転送する画像バス2008を接続し、データ構造を変換するバスブリッジである。画像バス2008は、PCIバスまたはIEEE1394で構成される。画像バス2008上には以下のデバイスが配置される。ラスターイメージプロセッサ(RIP)2060はPDLコードをビットマップイメージに展開する。デバイスI/F部2020は、画像入出力デバイスであるスキャナ2070やプリンタ2095とコントローラ2000を接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部2080は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部は、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。画像回転部2030は画像データの回転を行う。画像圧縮部2040は、多値画像データはJPEG、2値画像データはJBIG、MMR、MHの圧縮伸張処理を行う。Removable Media Slot2100はメモリカード等の取り外し可能なデータ保存メディアが接続可能なスロットであり、画像データの格納や読み取りなどが可能である。暗号・復号処理部2110は所定の鍵等を用いてデータの暗号化・複合化処理を行うハードウェアアクセラレータボードである。
【００１７】
図３は、実施例１におけるシステムブロック図であり、クライアントＰＣ1004〜1006に実装される。
【００１８】
クライアントＰＣ1004〜1006は、CPU3001と、RAM3002と、CRT（陰極線管）3003と、キーボード3004と、ポインティングデバイス3005と、ＲＯＭ3006と、DISK3007と、通信I/F(1)3008と、通信I/F(2)3009とを、システムバス3010を介して相互に接続して構成されている。
【００１９】
PCを制御するプログラムは、ＲＯＭ3006若しくはDISK3007に格納されており、必要に応じてRAM3002に読み出され、CPU3001によって実行される。また、CPU3001がCRT3003を通して表示を行ない、キーボード3004及びポインティングデバイス3005からユーザの指示を受ける。また、CPU3001が通信I/F(1)3008、通信I/F(2)3009を通じて外部機器と通信を行なう。
【００２０】
本実施例では、特に断らない限り、図3のPCでは、CPU3001がシステムバス3009を介してキーボード3005やポインティングデバイス3005からユーザの入力を受け取る。さらに、RAM3002と、CRT3003と、ＲＯＭ3006と、DISK3007と、通信I/F(1)3008と、通信I/F(2)3009とを制御して実施する。また、通信I/F(1)3008は、ネットワーク1007を介して複合機1008と接続されるものとする。
【００２１】
図１２は、実施例１における、複合機1008が有する機能を識別するための情報について示したものである。このように複合機1008が有する機能毎に識別情報としてFUNC1からFUNCnまでの識別情報を複合機1008は、HDD2004に示すHDD内部に有している。
【００２２】
図４は、実施例1におけるアプリケーションa4001の構造を示したブロック図である。
【００２３】
アプリケーション3002は、アプリケーションa4001の実体であり、実際に複合機1008上で動作するプログラムそのものである。プロパティ情報ｍ4003は、アプリケーションa4002自身のプロパティ情報であり、後述の図６の情報が格納される。
【００２４】
図５は、実施例1におけるライセンスa5001の構造を示したブロック図である。
【００２５】
ライセンス5002は、ライセンスa5001の実体であり、アプリケーションa4002を複合機1008にインストールする際に参照される情報である。プロパティ情報ｎ5003は、ライセンスa5002自身のプロパティ情報であり、後述の図６の情報が格納される。
【００２６】
なお、本実施例では、ライセンス5002とプロパティ情報ｎ5003を異なるブロックで表現しているが、データフォーマットによっては物理的に異なるものである必要はない。
【００２７】
図６は、実施例1におけるプロパティ情報ｍ4003の内容を示したものである。
【００２８】
情報6001は、このアプリケーションを一意に識別する情報である。情報6002は、アプリケーションa4001が利用している機能を識別する情報である。
【００２９】
なお、本実施例のプロパティ情報ではテキスト形式を取っているが、マークアップ言語を使用したものでも良いし、バイナリ形式であっても良くデータの形式そのものについてなんら制限するものではない。
【００３０】
図７は、実施例1におけるプロパティ情報ｎ5003の内容を示したものである。
【００３１】
情報7001は、ライセンスa5001と対になるアプリケーションを特定する情報であり、情報6001と同じ値であることでアプリケーションa4001と対であることを示す。
【００３２】
なお、本実施例のプロパティ情報ではテキスト形式を取っているが、マークアップ言語を使用したものでも良いし、バイナリ形式であっても良くデータの形式そのものについてなんら制限するものではない。
【００３３】
図８は、実施例１における複合機1008のアプリケーションインストール画面である。
【００３４】
本実施例では、複合機1008にはHTTPサーバーが搭載されているものとし、本インストール画面はクライアントPC1004のWebブラウザからのリクエストにより、複合機1008のアプリケーションインストール部から送信される。そして、本インストール画面は、通信I/F(1)3008、およびネットワーク1007を介し、クライアントPC1004のCRT3003にWebブラウザにより表示されるものとする。
【００３５】
8001は、アプリケーションの入力フィールドであり、クライアントPC1004のDISK3007に格納されているアプリケーションを指定するものである。本実施例では、アプリケーションa4001のファイル名が入力されているものとする。8002は、ライセンスの入力フィールドであり、クライアントPC1004のDISK3007に格納されているライセンスを指定するものである。本実施例では、ライセンスa5001のファイル名が入力されているものとする。8003は、インストールの開始を指示するボタンであり、入力された情報を情報処理装置1001のアプリケーションインストール部に送信する機能を有する。8004は、本インストール画面の処理を中断し、図外の操作画面に戻ることを指示するボタンである。ここで、本インストール画面は、アプリケーションフィールド、ライセンスフィールド、インストールの開始を指示するボタン、インストール画面の処理を中断し、操作画面に戻ることを示すボタンを有している。しかし、アプリケーションの入力、ライセンスの入力、インストール開始および停止を表現可能ならばインストール画面そのものについてなんら制限するものではない。
【００３６】
図９は、実施例１における複合機の1008情報処理装置1001にアプリケーションa4001をインストールする際の処理を示したフローチャートである。
【００３７】
まずS9001にて、アプリケーションのプロパティ情報に含まれる機能識別IDと複合機1008に保持している機能識別IDを比較する。S9002においてその結果が一致していた場合には、S9003に進みインストールを許可する。一致しない場合には、S9004に進み、インストールを許可せず、処理を終了する。
【００３８】
なお、上記比較処理において、有効な論理演算子は、+、＊、＾、である。それぞれ論理輪、論理積、排他を意味する。+演算子と＊演算子は、その前後にある数値に適用され、＾演算子は後にある数値に適用される。式の先頭にある数値は＾演算子のみが有効となる。＾演算子は優先して演算される。例えばA+＾Bという式の場合、B=！B、A=A｜Bの順序で演算される。
【００３９】
また、論理演算式に記述された機能識別IDが、画像形成装置に定義されている機能識別IDに含まれているかを判定し、含まれていれば１（true）、含まれていなければ０（false）として演算処理を実行する。また、画像形成装置に定義されてない文字列は０（false）として取り扱う。演算の順序は、論理演算式の先頭から論理演算を行う。但し括弧が存在する場合はその内側の演算を優先する。
【００４０】
なお、本実施例の論理演算式については上述したが、その演算の論理についてはなんら制限するものではない。
【００４１】
第２の実施例は、画像形成装置とネットワークによるシステムに本発明を実施したものである。
【００４２】
特に第２の実施例では、アプリケーションに含まれるプロパティ情報に、アプリケーションが使用するアプリケーション識別情報に加えて、複合機1008を特定するデバイス識別情報も含む場合の実施例について記述するものである。
【００４３】
図１から図５までは第１の実施例と共通であるため説明は省略する。
【００４４】
図１０は、実施例２におけるプロパティ情報ｍ4003の内容を示したものである。
【００４５】
情報10001は、このアプリケーションを一意に識別する情報である。情報10002は、アプリケーションa4001がインストールが可能な複合機1008を特定するためのデバイス識別情報である。情報10003は、アプリケーションa4001が利用している機能を識別する情報である。
【００４６】
図１１は、実施例２における複合機の1008情報処理装置1001にアプリケーションa4001をインストールする際の処理を示したフローチャートである。
【００４７】
まずS11001にて、アプリケーションのプロパティ情報に含まれるデバイス識別IDに有効なデバイス識別IDが含まれるかどうか判断する。有効な識別IDが含まれる場合には、S11002に進み、含まれない場合には、S11003に進む。
【００４８】
S1102において、アプリケーションのプロパティ情報に含まれる有効なデバイス識別IDと複合機が所有するデバイス識別IDとを比較する。S1104にて一致したと判断された場合には、S11005に進みインストールを許可して処理を終了する。一致しないと判断された場合には、S11006に進む。S11006では、アプリケーションのプロパティ情報に含まれるデバイス指示別情報に"＃"が含まれるかを確認し、含まれない場合には、S11007に進みインストールを許可せずに処理を終了する。"＃"が含まれる場合にはS11008に進む。
【００４９】
S11003では、アプリケーションのプロパティ情報に含まれるデバイス識別情報に"＃"が含まれるかを確認する。ここで"＃"が含まれない場合には、S11012に進みインストールを許可せずに処理を終了する。"＃"が含まれる場合にはS11008に進む。
【００５０】
S11008ではアプリケーションのプロパティ情報に含まれる機能識別IDが複合機1008が所有する機能識別IDと一致するか比較する。S11009において機能識別IDを比較した論理資金の結果が一致すると判断された場合には、S11010に進みインストールを許可して処理を終了する。S11009にて一致しないと判断された場合には、S11011に進み、インストールを許可せずに処理を終了する。
【図面の簡単な説明】
【００５１】
【図１】実施例１における、画像形成装置システムが利用される一般的なシステム構成図である。
【図２】実施例１における、複合機1008に実装されるシステムブロック図である。
【図３】実施例１におけるシステムブロック図である。
【図４】実施例１における、アプリケーションa4001の構造を示したブロック図である。
【図５】実施例１における、ライセンスa5001の構造を示したブロック図である。
【図６】実施例１における、プロパティ情報ｍ4003の内容を示したものである
【図７】実施例１における、プロパティ情報ｎ5003の内容を示したものである。
【図８】実施例１における、アプリケーションインストール画面である。
【図９】実施例１における、アプリケーションa4001をインストールする際の処理を示したフローチャートである。
【図１０】実施例２におけるプロパティ情報ｍ4003の内容を示したものである。
【図１１】実施例２における、アプリケーションa4001をインストールする際の処理を示したフローチャートである。
【図１２】実施例１における、複合機1008が有する機能を識別するための情報について示したものである。
【図１】
2009223763.tif 000003
【図２】
2009223763.tif 000004
【図３】
2009223763.tif 000005
【図４】
2009223763.tif 000006
【図５】
2009223763.tif 000007
【図６】
2009223763.tif 000008
【図７】
2009223763.tif 000009
【図８】
2009223763.tif 000010
【図９】
2009223763.tif 000011
【図１０】
2009223763.tif 000012
【図１１】
2009223763.tif 000013
【図１２】
2009223763.tif 000014