JP5526668B2 - パッケージのインストール対象装置、インストール方法、プログラム - Google Patents

パッケージのインストール対象装置、インストール方法、プログラム Download PDF

Info

Publication number
JP5526668B2
JP5526668B2 JP2009208463A JP2009208463A JP5526668B2 JP 5526668 B2 JP5526668 B2 JP 5526668B2 JP 2009208463 A JP2009208463 A JP 2009208463A JP 2009208463 A JP2009208463 A JP 2009208463A JP 5526668 B2 JP5526668 B2 JP 5526668B2
Authority
JP
Japan
Prior art keywords
program
information
package
installation
execution environment
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.)
Expired - Fee Related
Application number
JP2009208463A
Other languages
English (en)
Other versions
JP2011061459A (ja
Inventor
勝彦 加藤
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 JP2009208463A priority Critical patent/JP5526668B2/ja
Priority to US12/871,011 priority patent/US20110061048A1/en
Publication of JP2011061459A publication Critical patent/JP2011061459A/ja
Application granted granted Critical
Publication of JP5526668B2 publication Critical patent/JP5526668B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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)
  • Facsimiles In General (AREA)
  • Stored Programmes (AREA)

Description

本発明は、プログラムをインストール可能な画像形成装置、インストール方法及びプログラムに関する。
プリンタ機能、スキャナ機能、コピー機能等を搭載した各装置や、これら複数の機能を搭載したMFP(Multi Function Peripheral)等の画像形成装置には、各機能やより細分化された機能に対応したプログラムが搭載されている。画像形成装置のシステムには、より簡単な操作でMFPを使いこなすためのAPI(Application Program Interface)が用意されている。システムメーカ(サードパーティ)やユーザは、画像形成装置のメーカが提供するSDK(Software Development Kit)を利用して、スキャナ機能、プリンタ機能、コピー機能等を活用するプログラムを開発することにより、画像形成装置のメーカが提供している機能により付加価値をつけることができる。
ここで、一部のプログラム(例えば、Java(登録商標)プログラム)は、ハードウェアやソフトウェアに依存せずに実行できるため、画像形成装置においても利用範囲が広がっている。画像形成装置では、様々な機種や同じ機種の後継機種などが存在するのが通常なので、ハードウェアやソフトウェアに依存しないプログラムを開発することのメリットは少なくない。一方、このようなプログラムは、ハードウェア上に仮想マシンを形成することが必要であり、仮想マシンのハードウェア互換性を考慮する必要がある(例えば、特許文献1参照。)。特許文献1には、ソフトウェアのインストールに際し、ハードウェア情報を確認して、インストールするプログラムの選択を行う技術が開示されている。
しかしながら、特許文献1に記載された技術は、仮想マシンのバージョンアップをハードウェア依存性を排除して行うことにのみ着目しているため、ハードウェアやソフトウェアに依存しないプログラム言語では開発の困難なソフトウェアのインストールについて考慮されていないという問題がある。
一般にSDK用のAPIでは、画像形成装置メーカがシステムメーカやユーザに解放している機能のAPIが限られていることから、使用できるAPIだけでは実現したい機能が実現できないことがある。このため、画像形成装置メーカが、MFP本体側のソフトウェアをユーザ毎に変更するカスタマイズ開発を行うことが少なからずあった。しかし、このようなユーザ毎のカスタマイズ開発が発生すると、画像形成装置メーカが当初予定していなかった機能の開発工数が発生するため、マンパワーや予算の予測が行えないし、ソースコード自体も枝分かれしてしまうので、ソースコードの管理も煩わしい状態となってしまっていた。
これらの不都合を回避するためにはシステムメーカやユーザに、画像形成装置メーカが提供するAPIの制約を外すこと、つまり、画像形成装置のある機能の丸ごとの停止や削除も含め、全ての機能を利用できるようなAPI又は仕組みを提供する必要がある。そのような仕組みを提供するには、仮想マシン上で動作するプログラムで開発しておくと実現しやすいことは、上述したとおりである。
しかしながら、画像形成装置は、MFPやスキャナやプロッタ等のメカ制御を行っていること、及び、性能面で譲れない手順で制御されるプリンタ等の機能を搭載しているため、全てのプログラムを仮想マシン上で動くプログラム言語で開発するわけにもいかず、性能に影響する部分についてはC言語等の性能を出しやすいプログラム言語で開発する必要がある。C言語で開発されたプログラムの場合、CPU(及びソフトウェアを含むプラットフォーム)が異なるとコンパイルされたバイナリも異なるので、製品毎にプログラムが変わってしまうことになる。
また、画像形成装置メーカとしては、ある時点で販売したプラグイン(プログラム)は、別の時期に販売した別の製品でも問題なく動作して欲しいと考えることが通常である。この理由としては、ユーザは購入したプラグインを各製品毎に購入するのは煩わしいし、販売側としても同じ機能のプラグインを機種毎に販売すると管理が煩わしいことが挙げられる。
しかし、上記のように性能面に影響する部分についてはC言語等のプログラムで記載しないと基本的な製品性能が達成できなかったり、製品の世代によっては搭載するハードウェアやソフトウェアが異なっているため、システムメーカやユーザに対し全ての機能の開示が必要となったり、前世代の製品用に開発したプラグインが後世代の製品では動作しない(又はその逆に、後世代の製品用に開発したプラグインが前世代の製品では動作しない)等の問題が生じる。このため、現状では、画像形成装置メーカは同じ機能のプラグインでも、製品毎に販売しなければならない。
本発明は、上記課題に鑑み、ハードウェアやソフトウェアに依存しないプログラムを活用して、製品が異なったり製品の世代が変わっても、複数の製品にて正常動作するプラグイン機能を共通のパッケージで提供できる画像形成装置、インストール方法及びプログラムを提供することを目的とする。
上記課題を解決するため、本発明は、パッケージに記憶された所定のプログラムを読み出してインストールを行うパッケージのインストール対象装置であって、実行環境に依存せずに実行可能なプログラム言語によって記述されたインストール用プログラム、実行環境に依存するプログラム言語によって記述され実行環境毎に登録された同一ファイル名の複数の第1のプログラム、及び、前記第1のプログラムをファイル名で呼び出す、実行環境に依存せずに実行可能なプログラム言語で記述され実行環境に共通に登録された第2のプログラム、が含まれるパッケージを、記憶媒体又はネットワーク経由で取得するパッケージ取得手段と、前記インストール用プログラムを実行することで実現された、当該インストール対象装置の実行環境を取得する情報取得手段と、前記情報取得手段が取得した実行環境に基づき、当該インストール対象装置にて実行可能な前記第1のプログラムを特定するプログラム特定手段と、前記プログラム特定手段が特定した前記第1のプログラム、及び、前記第2のプログラムを、当該インストール対象装置の記憶手段にコピーするコピー手段と、を有することを特徴とするパッケージのインストール対象装置を提供する。
ハードウェアやソフトウェアに依存しないプログラムを活用して、製品が異なったり製品の世代が変わっても、複数の製品にて正常動作するプラグイン機能を共通のパッケージで提供できる画像形成装置、インストール方法及びプログラムを提供することができる。
画像形成装置のハードウェア構成図の一例である。 画像形成装置のソフトウェア構成図の一例である。 インストールの態様を説明する図の一例である。 画像形成装置のH/W情報やS/W情報の一例を示す図である。 画像形成装置のインストール部の機能ブロック図の一例である。 機能アップデートパッケージの内容を模式的に示す図の一例である。 対応ファイルを模式的に説明する図の一例である。 販売パッケージのディレクトリの構造を模式的に示す図の一例である。 インストール部が、機能アップデートパッケージを画像形成装置にインストールする手順を示すフローチャート図の一例である。 過去に販売されていた画像形成装置と現在販売している画像形成装置がインストール可能な販売パッケージを模式的に示す図の一例である。
以下、本発明を実施するための形態について図面を参照しながら説明する。
本実施形態の画像形成装置100にインストールされる販売パッケージ及びインストールの特徴部の概略は以下のとおりである。
パッケージの中にはJava(登録商標)等の仮想マシン上で動作する全機種に共通のプログラム(以下、「共通プログラム」という)、及び、ハードウェアやOS等のソフトウェアに依存するバイナリのプログラム(以下、「ネイティブプログラム」という)が含まれている。ネイティブプログラムには、画像形成装置メーカが販売パッケージを販売する時点で製品化されている過去の機種で実行可能なものも含まれている。インストールの際、各画像形成装置100は、自身のハードウェア情報及びソフトウェア情報、並びに、販売パッケージ内のネイティブプログラムの情報を参照することにより、自身のハードウェアに適したネイティブプログラムを、共通プログラムと共に、その機能をインストールすべきディレクトリに格納することができる。
販売パッケージには、各機種毎のネイティブプログラムが含まれているので、ある製品が発売された後に開発したプログラムを全機種に適用可能な1つの販売パッケージに収めて販売することができる。
〔画像形成装置100の構成〕
画像形成装置100の構成について説明する。なお、画像形成装置100は販売パッケージのインストール対象の一例であって、コンピュータを搭載していれば本実施形態の販売パッケージを適用できる。
図1は、画像形成装置100のハードウェア構成図の一例を示す。画像形成装置100は、例えば、プリンタ、ファクシミリ、複写機、スキャナ、又は、これらのうち複数の機能を備えたMFP(Multifunction Peripheral)である。本実施形態では、画像形成装置100はMFPであるとして説明する。
画像形成装置100は、コントローラ15、スキャナエンジン11,プリントエンジン12、PSU(Power Supply Unit)13、及び、操作部14を有する。コントローラ15は、バスで相互に接続された、CPU24、ASIC(Application Specific Integrated Circuit)25、スキャナ処理部21、プリント処理部22、メモリ装着部23、HDD26、メモリ27、ネットワークI/F28、FAX I/F29を有する。
操作部14は、さらに、LCD(Liquid Crystal Display)14aとハードキー14bを有する。LCD14aは、タッチパネルを一体に有し、各種の画面を表示するためと、画像形成装置100から各種の送信データを送信するオペレータの操作を受け付ける。また、ハードキー14bは、テンキー、スタートボタン、リセットボタン、アプリ切り替えボタン等である。
スキャナエンジン11は、原稿を光学的に読み取る読み取り部である。スキャナエンジン11は、例えば、コンタクトガラス、光源、レンズ系、撮像素子、を有する。スキャナエンジン11は、スキャナ処理部21に接続されている。スキャナ処理部21は、撮像素子にたまった電荷をA/D変換して所定の階調のデジタルデータを生成する。
プリントエンジン12は、用紙に画像を印刷する。プリントエンジン12は、感光体ドラム、帯電装置、現像部、レーザ照射部、定着部、用紙搬送部等を有する。プリントエンジン12はプリント処理部22と接続されている。プリント処理部22は、スキャナ処理部21が生成した画像データをラスターデータに変換したり、PC500から送信された印刷データをラスターデータに変換して、プリントエンジン12に送出する。こうすることで、プリントエンジン12が用紙に画像を印刷する。
CPU24は、画像形成装置100の全体を統括的に制御する。ASIC25は、スキャナ処理やプリント処理において必要な各種の画像処理を提供する画像処理用途向けのICである。メモリ27は、CPU24が実行する各種アプリケーションや当該アプリケーションの実行の際に用いられる種々のデータを記憶する。また、HDD26は、画像データ、プログラム、フォントデータ、等を記憶するための不揮発メモリである。HDD26の一部又は全てにSSD(Solid State Drive))を実装してもよい。CPU24は、HDD26に記憶されたプログラムや販売パッケージのプログラムを実行することで、後述する各機能を提供する。また、販売パッケージは記憶媒体30に記憶された状態で配布され、メモリ装着部23で記憶媒体30から読み出されてHDD26にインストールされてもよいし、サーバ300からネットワークI/F28を介してHDD26にインストールされてもよい。
なお、ネットワークI/F28はネットワーク600に接続されている。ネットワークI/F28は例えばNIC(Network Interface Card)であり、所定のプロトコルにより、画像形成装置100とサーバ300及びPC500との通信を実現する。また、FAX I/F29は電話回線に接続されている。FAX I/F29は電話回線からのファクシミリデータを復調して画像データを生成し、FAXアプリ44が起動している際はスキャナエンジン11で読み取った画像データをファクシミリ用に処理して変調して電話回線に出力する。
また、PSU13は、コントローラ15,操作部14,スキャナエンジン11及びプリントエンジン12への電力の供給を制御する。
図2は、画像形成装置100のソフトウェア構成図の一例を示す。画像形成装置100は、アプリケーション群31と、アプリケーションI/F32、制御機能群33と、リソース管理部34と、OS35と、デバイスドライバ36と、ハードウェア資源40とを有する。
アプリケーション群31は、RFIDアプリ41、コピーアプリ42、スキャナアプリ43、FAXアプリ44、プリンタアプリ45、蓄積データアプリ46、Webアプリ47、ネットワークアプリ48及びダウンロードアプリ49と、を有する。これらの各アプリは対応した各種機能を実現させる。
なお、蓄積データアプリ46は、HDD26に蓄積された画像データや印刷データの閲覧や選択機能を提供する。Webアプリ47は、WebサーバにアクセスしてWebサーバが記憶する各種の情報をLCD14aに表示するブラウザとしての機能を提供する。ネットワークアプリ48は、ネットワーク600を介して接続されるWebサーバやPC500との通信機能を提供する。ダウンロードアプリ49は、WebサーバやPC500からダウンロードされたアプリである(機能拡張用)。RFIDアプリ41は、ICカードの情報を読み込み、オペレータを識別する等の機能を提供する。
また、制御機能群33は、エンジンジョブ制御部51、ファイル制御部52、データ転送制御部53、通信制御部54、認証制御部55、ユーザデータ制御部56、システム制御部57、及び、操作制御部58を有する。エンジンジョブ制御部51は、エンジンI/F61を介して接続されたプリントエンジンやスキャナエンジン11を制御する。ファイル制御部52は、HDD26に記憶されている各種のファイルの更新や削除、移動等を制御する。データ転送制御部53は、HDD26に蓄積されている文書データの配送などの制御を行う。通信制御部54は、ネットワークI/F28を介した通信を制御する。認証制御部55は、認証装置I/F64を介して認証装置38を制御する。ユーザデータ制御部56はユーザ情報の管理を行う。システム制御部57は、システムを制御するための処理を行う。操作制御部58は、オペレータと本体制御との間の情報伝達手段となる操作部14の制御を行う。
メモリリソース管理部59は、メモリ27の使用状況を監視して、メモリ27の開放又は確保等を行う。エンジンリソース管理部60は、システムの制御及びハードウェア資源40の管理を行う。
アプリケーション群31は、アプリケーションI/F32を介して、制御機能群33に機能の提供を要求する。制御機能群33は、アプリケーション群31からの処理要求を解釈して、ハードウェア資源40の獲得要求を発生させる。メモリリソース管理部59又はエンジンリソース管理部60は、獲得要求を調停する。なお、OS(例えば、LINUX(登録商標))35は、アプリケーション、制御機能群33及びリソース管理部34の各ソフトウェアをプロセスとして並列実行する。
また、デバイスドライバ36は、エンジンI/F61、RFID I/F62、操作部I/F63、認証装置I/F64 及び、新規デバイスI/F65を利用して、ハードウェア資源40に対し処理を要求する。なお、RFIDリーダ/ライタ39は、ICカードと非接触又は接触してICカードの情報を読み出す。認証装置38は、例えば、パスワードを入力するためのハードキー14bや生体情報を取得する装置である。新規デバイスI/F65は、例えばUSBインターフェイスであり、USBインターフェイスを備えた各種の新規デバイス37を接続させ、その機能を利用することを可能とする。このような構成により、画像形成装置100は、各アプリケーションで共通的に必要な処理を制御機能群33以下のプロセスで一元的に処理することができる。
パッケージは、例えば、アプリケーション群31を共通プログラムで、制御機能群33やデバイスドライバ36等をネイティブプログラムで、それぞれ提供することができる。
〔インストールの態様について〕
図3は、インストールの態様を説明する図の一例である。画像形成装置100と記憶媒体30が、及び、PC(パーソナルコンピュータ)500と記憶媒体30が図示されている。また、画像形成装置100、PC500及びサーバ300がネットワーク600を介して接続されている。本実施形態のインストールの態様は、以下のいずれであってもよい。
(1)ユーザ等が画像形成装置100に記憶媒体30を装着して、画像形成装置100が画像形成装置100にインストールする態様。
(2)ユーザ等がPC500に記憶媒体30を装着して、PC500が画像形成装置100にインストールする態様。
(3)画像形成装置100がサーバ300から販売パッケージをダウンロードして、画像形成装置100が画像形成装置100にインストールする態様。
したがって、販売パッケージは、記憶媒体30に記憶された状態、又は、サーバ300からダウンロードする形態、で配布される。(1)と(3)の態様では、画像形成装置100が販売パッケージの後述する「インストール用jar file」101を実行し、(2)の態様ではPC500が販売パッケージの「インストール用jar file」101を実行する。本実施形態では主に(1)(3)の態様について説明するが、(2)の態様でもネットワークを介する以外は同様である。
〔種々の画像形成装置100について〕
次に、本実施形態の販売パッケージが対象とする画像形成装置100、及び、画像形成装置100のH/W情報、S/W情報について説明する。
図4は、画像形成装置100のH/W情報やS/W情報の一例を示す。なお、H/W情報とは、CPU24の種類や名称でも良いし、製品の型番や名称等でもよい。また、S/W情報はOSの種類またはバージョン、DLL(Dynamic Link Library)のバージョン等の情報である。
画像形成装置1〜4は発売時期が異なるものとする。画像形成装置1は、x86アーキテクチャのCPU24を搭載し、BSD(Berkeley Software Distribution)のバージョン1のOSを搭載している。画像形成装置2は、x86アーキテクチャのCPU24を搭載し、LINUXのVersion1のOSを搭載している。画像形成装置3は、MIPSアーキテクチャのCPU24を搭載しており、LINUX Version1をOSを搭載している。画像形成装置4はMIPSアーキテクチャのCPU24を搭載しておい、LINUX Version2のOSを搭載している。
それぞれの製品の発売時期が異なるために、各製品のCPU24のアーキテクチャや、OSの種類、バージョンが異なっている。実際のユーザ(お客様)に設置された画像形成装置100は、このように購入時期の異なる製品を使用していることが一般的である。例えば、ユーザが一番最新の画像形成装置4を最近購入したものとする。そして、ユーザがこの画像形成装置4を購入した際に、一緒にある販売パッケージを購入したものとする。この販売パッケージは、このユーザには必須の機能である。
この場合、画像形成装置1,2,3がまだ販売されているようであれば、同じ販売パッケージが発売されている可能性があるが、例えば画像形成装置3の次世代機が画像形成装置4である場合には画像形成装置3用の販売パッケージを入手することは一般的には不可能である。また、仮に画像形成装置3用の販売パッケージが発売されていたとしても画像形成装置3用の販売パッケージと画像形成装置4用の販売パッケージは別々に販売されていることが一般的である。
本実施形態の販売パッケージは、画像形成装置1〜3もインストールすることができる画像形成装置1〜4に共通の1つの販売パッケージを提供する。
〔機能ブロック〕
図5は、画像形成装置100のインストール部110の機能ブロック図の一例を、図6は、「機能アップデートパッケージ」102の内容を模式的に示す図の一例である。
販売パッケージには、「インストール用jar file」101及び「機能アップデートパッケージ」102が含まれる。「機能アップデートパッケージ」102には、「対応ファイル」121、「共通プログラム(jar file)」122、「マニフェストファイル」123、「ネイティブプログラム1」、「ネイティブプログラム2」124が含まれている。
画像形成装置100のCPU24は、記憶媒体30から直接、又は、画像形成装置100のHDD等に記憶された販売パッケージから、「インストール用jar file」101を実行する。画像形成装置100のCPU24が、「インストール用jar file」101を実行すると、インストール部110が実現される。インストール部110は、判断部111、H/W情報取得部112、S/W情報取得部113、プログラム選択部114、及び、格納先指定部115を有する。
インストール部110は、インストールが始まったことを操作部14またはネットワーク600やUSB接続されているPC500等の表示デバイスに表示してもよい。また、インストール部110は、H/W情報を取得する必要がある機能の追加である旨や、S/W情報を取得する必要がある機能の追加である旨をさらに表示してもよい。
ここで、「インストール用jar file」101を販売パッケージに含めるのでなく、画像形成装置100が予め記憶しておいてもよいし、「インストール用jar file」101と「機能アップデートパッケージ」102を別々に配布させてもよい。「インストール用jar file」101だけでは、画像形成装置100に新たな機能を追加できないので課金する必要がなく、また、例えばサーバ300から無償でダウンロード可能とすることで、ユーザは常に最新のバージョンの「インストール用jar file」101を利用できる。
まず、判断部111について説明する。「インストール用jar file」101は、どんなH/W(ハードウェア)プラットフォーム及びS/W(ソフトウェア)プラットフォームであってもJava(登録商標)仮想マシンが動作していれば実行可能な特定の言語(例えばJava(登録商標)、C#等)で記述されている。なお、Java(登録商標)、Java(登録商標)仮想マシン、共通プログラム(jar file)122は、プラットフォームに依存しないプログラム言語又は言語体系の一例であるので、以下では、説明が可能な限り「特定のプログラム言語」や「仮想マシン」と表現する。
判断部111は、H/W情報を確認する必要があるのか否か、S/W情報を確認する必要があるか否かを判断する。「インストール用jar file」101は、特定のプログラム言語で記述されたプログラムがコンパイルされたファイルであり、H/W又はS/Wプラットフォームを選ばずに仮想マシンが実行できるファイルである。
このように、判断部111が「インストール用jar file」101にて記述されている理由は次のとおりである。CPU24が、判断部111を実現するプログラムを実行する際、CPU24にnativeな(=実行可能なプラットフォームが限定されている)プログラム言語で記述されていると仮定すると、ある機種では判断部111を実現するプログラムを実行できるが、別のある機種では実行できないという事態が想定される。このため、判断部111を含め「インストール用jar file」101はどのような機種でも実行できる、特定のプログラム言語で記述されていることが好ましい。
また、画像形成装置100側に(例えば、ネイティブな)プログラムで実現される判断部111を装備しておいてもよいが、この場合、将来の様々なH/W情報やS/W情報に対応しにくい。
また、「インストール用jar file」101を特定の言語で記述しておくことで、仮に、画像形成装置100が予め装備している「インストール用jar file」101の書き換えが必要な場合にも、この「インストール用jar file」101にてアップデートすることで、どんな時期に販売された、どんな製品に対しても、画像形成装置メーカは、1つの販売パッケージにより機能提供を行うことが可能となる。
このように、あらゆる機種において実現可能な判断部111は、H/W情報の取得が必要か否かを判定し、必要であると判定した場合にはH/W情報取得部112に、H/W情報の取得を要求する。同様に、判断部111は、S/W情報の取得が必要か否かを判定し、必要であると判定した場合にはS/W情報取得部113に、S/W情報の取得を要求する。
また、「インストール用jar file」101には、この販売パッケージの種類が記載されている。例えば、「ネイティブプログラム バージョンアップパッケージ」と記載してあってもよいし、ネイティブプログラム124が含まれているという意味を込めて、「ネイティブ」と記載されていてもよいし、「H/W情報の参照、S/W情報の参照を必要とする」という内容が記載されていてもよいし、それらの意味に紐付けされた数字やキーワード等が記載されていてもよい。本実施形態では、少なくとも、H/W情報を参照しなければいけないこと、及び、S/W情報を参照しないといけないことが「インストール用jar file」101に記載されているものとする。例えば、H/W情報の参照が必要ない販売パッケージの場合、H/W情報の参照の必要性の有無を記載しないことで参照する必要がない旨を記載しても良い。
また、必ずしも「インストール用jar file」101にH/W情報の参照、S/W情報の参照が必要か否かの情報を記述する必要はなく、S/W情報の参照が必要か否かの情報を記述した別のファイルを販売パッケージに含めておいてもよい。
次に、H/W情報取得部112について説明する。H/W情報取得部112は画像形成装置100が有するH/W情報を取得してプログラム選択部114に対し、そのH/W情報を渡す。具体的には、追加する「機能アップデートパッケージ」102内のプログラムにネイティブプログラム124が存在している場合に、H/W情報取得部112はH/W情報を取得する。
この際にH/W情報取得部112が取得するH/W情報としては、基本的にはCPU種別を取得する。この他、「機能アップデートパッケージ」102の内容にH/W情報に依存するようなものが含まれている場合には、H/W情報取得部112はその依存するH/W(例えば、DSP等)のH/W情報を取得できるものである。
次に、S/W情報取得部113について説明する。S/W情報取得部113は画像形成装置100のS/W情報を取得して、プログラム選択部114に対し、そのS/W情報を渡す。具体的には追加する機能パッケージ内にネイティブプログラム124が存在していて、今までに販売した製品とOSが異なる製品が販売された時点でS/W情報のインストールの度に毎回行う必要が生じる。同じ種類のOSのバージョンアップ程度であってシステムコールのI/Fが変わらない場合、S/W情報のチェックは不要であるが、異なる種類のOSやシステムコールが追加され、そのシステムコールを追加するようなアップデートである場合、S/W情報の確認が必要となる。S/W情報としてはOSのバージョンやDLL等のライブラリのバージョン等のことである。
次に、プログラム選択部114について説明する。プログラム選択部114はH/W情報取得部112から得られたH/W情報、及び、S/W情報取得部113から得られたS/W情報から、「機能アップデートパッケージ」102に含まれている対応ファイル121またはマニフェストファイル123を参照して、その製品にインストールすべきネイティブプログラム124が格納されているディレクトリを選択する。
図7は、対応ファイル121を模式的に説明する図の一例である。対応ファイル121には、H/W情報とS/W情報に対応づけて、インストールすべきネイティブプログラム124が格納されている。プログラム選択部114は、対応ファイル121から特定したディレクトリ情報を格納先指定部115に渡す。なお、マニフェストファイル123は、後述するように対応ファイル121を含む場合があり、この場合は、マニフェストファイル123が対応ファイル121を代替する。
図5に戻り、格納先指定部115はプログラム選択部114から受け取ったディレクトリ情報に基づき、そのディレクトリに格納されているネイティブプログラム124を読み出し、該ネイティブプログラム124を格納すべき画像形成装置100内のディレクトリにコピーする。その後、格納先指定部115は、機能として用意された共通プログラム(jar file)122を画像形成装置100のディレクトリにインストールすることで、追加機能を使用可能となる。
このように、ネイティブプログラム124の格納先をディレクトリ毎に分けている理由は、Java(登録商標)言語ではクラス名とファイル名を一致させなければいけないという制限を考慮したためである。Java(登録商標)で記述されたプログラムのメソッド呼び出しはクラス名で行うため、H/WやS/Wに依存するために内容が異なるネイティブプログラム124の名前を別々の名前で管理した場合、仮想マシンが走る全てのH/W,S/Wにて本来動作するはずの共通プログラム(jar file)122も各画像形成装置100のH/W情報、S/W情報を参照してどのネイティブプログラム124をcallすべきかを判断・指定する必要が生じる。
これでは特定のプログラム言語を採用して、H/W,S/Wを意識しないプログラムとしたことのメリットがなくなり、新製品が販売される度に共通プログラム(jar file)122にも修正を施さなければならなくなってしまう。そこで、そのような余分な手間を省くために、ネイティブプログラム124の名前はどのH/W、S/W環境であっても同一名とし、機能アップデート用の販売パッケージ内での格納ディレクトリを異なった場所で管理することとした。なお、ネイティブプログラム124の格納先のディレクトリは各画像形成装置100に共通とすることで、管理の複雑さや余計な開発行為を削減することを可能としている。
同じファイル名のファイルは同じディレクトリに記憶できないので、ネイティブプログラム124は1つずつ各ディレクトリに分けて登録(記憶)されている。
図を用いて説明する。
<ディレクトリイメージ>
図8は、販売パッケージのディレクトリの構造を模式的に示す図の一例である。図8の左側の木構造が販売パッケージ内でファイルの格納イメージの例を表し、右側のツリー構造が画像形成装置100にインストールした後のHDD内のファイル格納イメージを表す。
販売パッケージ(記憶媒体30)は、ルートディレクトリの下に、例えば、x86 CPU用には「x86」というディレクトリを設け、そのディレクトリにx86 CPU向けにコンパイルされた「Feature1(ネイティブプログラム)」を記憶する。販売パッケージ(記憶媒体30)は、また、「MIPS」というディレクトリには、MIPS CPU用にコンパイルされた「Feature1(ネイティブプログラム)」を記憶する。販売パッケージ(記憶媒体30)は、また、「Power PC」というディレクトリには、Power PC用にコンパイルされた「Feature1(ネイティブプログラム)」を記憶する。
プログラム選択部114は、対応ファイル121により、H/W情報取得部112が得たH/W情報、S/W情報取得部113が得たS/W情報に対応づけられた、ディレクトリを選択する。図では、3つの「Feature1」がそれぞれ格納されたいずれかディレクトリが選択される。これにより、格納先指定部115が、その選択されたディレクトリの「Feature1」を画像形成装置100のHDD(例えば、ルートディレクトリ)に記憶することができる。
〔機能アップデートパッケージ102〕
図6に示したように、「機能アップデートパッケージ」102には、上記の「対応ファイル」121、「共通プログラム(jar file)」122、「マニフェスト ファイル」、ネイティブプログラム124{「ネイティブプログラム1」「ネイティブプログラム2」}が含まれている。
これまで説明したように、「インストール用jar file」101は、インストール部111のアップデート用プログラム、H/W情報取得の必要性を判断する情報、及び、S/W情報取得の必要性を判断する情報、が格納されている。なお、上記のように、Java(登録商標)というプログラム言語の実行ファイル(*.jar)を例として記載しているが、仮想マシン用の言語であれば、他の(例えばC#等)のファイルでもよい。
対応ファイル121は、H/W情報、S/W情報に対応づけてその画像形成装置100に最適なネイティブプログラム124が記憶されている場所の情報(対応表)が登録されている。対応ファイル121には、例えば、あるH/W情報に対する対応ファイル(ネイティブプログラム)121のキーワード情報が対応付けられていてもよい。また、この対応表に、H/W情報やS/W情報に対応するディレクトリも含めたファイル名(Path情報)を記載してもよい。
また、特定の言語(特にJava(登録商標))では、OSGi(Open Services Gateway Initiative)フレームワークを利用してプラグインを追加することができる。OSGiフレームワークは仮想マシン上でJava(登録商標)プログラムの動的追加や実行を管理するプラットフォームである。すなわち、プラグインは直接、仮想マシン上で実行する態様と、OSGiフレームワーク上で実行する態様がある。プラグインがOSGiフレームワークを利用する場合、jar fileには、複数のクラスファイルとリソースファイルがアーカイブされる(バンドルファイル)。そして、プラグインに直接、仮想マシンを利用する場合と比べて、マニフェストファイル(OSGiの仕様特有の属性)123が必要とされる。
このため、プラグインによる機能の追加にOSGiフレームワークを利用する場合、対応ファイル121の中身をマニフェストファイル123の中に記載しておいてもよい。対応ファイル121には少なくとも、H/W情報、S/W情報に対応づけて、それぞれに該当するネイティブプログラム124が格納されている販売パッケージ内のディレクトリ情報が含まれている必要がある。
共通プログラム(jar file)122はどの機種でも、仮想マシン上であれば画像形成装置100が実行可能なプログラムである。
「ネイティブプログラム1」「ネイティブプルグラム2」は、H/W情報やS/W情報に応じて、バイナリレベルで異なるプログラムを用意しなければならない場合に、同じ名前のファイル名で複数用意されている。これらは同じ名前であるが、記憶装置の異なるディレクトリに保存されている。
〔機能アップデートの手順〕
図9は、インストール部110が、「機能アップデートパッケージ」102を画像形成装置100にインストールする手順を示すフローチャート図の一例である。
インストール部110は、「機能アップデートパッケージ」102のインストールを開始する(S10)。インストールは、画像形成装置100がユーザの操作を受け付けること、タイマーやカレンダによる「機能アップデートパッケージ」102の自動更新、サーバ300からの機能追加要求を受け付けること、等により開始される。これによりCPU24が「インストール用jar file」101を実行し、判断部111等が立ち上がる。
まず、判断部111は、H/W情報又はS/W情報を取得する必要があるか否かを判定する(S20)。
判断部111がH/W情報を取得する必要があると判定した場合(S20のYes)、H/W情報取得部112は、H/W情報を取得し、判断部111がS/W情報を取得する必要があると判定した場合(S20のYes)、S/W情報取得部113は、S/W情報を取得する(S30)。判断部111がH/W情報又はS/W情報を取得する必要がないと判定した場合(S20のNo)、格納先指定部115は共通プログラム(jar file)122をインストールする(S70)。
つぎに、プログラム選択部114は、H/W情報、及び、S/W情報から、「機能アップデートパッケージ」102に含まれている対応ファイル121又はマニフェストファイル123を参照して、その製品にインストールすべきネイティブプログラム124が記憶されたディレクトリを選択する(S40)。
ついで、格納先指定部115は、記憶媒体30又は記憶手段のネイティブプログラム124が記憶されたディレクトリからネイティブプログラム124を読み出す(S50)。
そして、格納先指定部115は、ネイティブプログラム124を画像形成装置100のインストール先のディレクトリにコピーする(S60)。
次に、格納先指定部115は、全機種に共通である特定のプログラムにより記述された共通プログラム(jar file)122を画像形成装置100のインストール先のディレクトリにコピーする(S70)。
〔仮想マシンのバージョンアップ〕
図10は、過去に販売されていた画像形成装置100と現在販売している画像形成装置100がインストール可能な販売パッケージを模式的に示す図の一例である。図10では、図4の画像形成装置1〜4を例にして説明する。
画像形成装置100の仮想マシンをバージョンアップする必要が生じることがある。図10は、画像形成装置100の仮想マシンをバージョンアップするための販売パッケージの例を示している。仮想マシンを画像形成装置100の販売後にバージョンアップする理由としては、仮想マシンに含まれているバグを解消するため、新しい機能(プラグイン)を追加するためには仮想マシンのバージョンアップが必要であるため、仮想マシンをバージョンアップすることで販売済みの画像形成装置100であっても動作が安定するため、画像形成装置100のあるプログラムの処理速度が向上するため、等が想定される。
図10の販売パッケージを画像形成装置1に適用する場合について説明する。まず、画像形成装置1は、図10の販売パッケージが記憶媒体30またはネットワーク600経由等の手段により提供されると、CPU24が「インストール用jar file」101を実行する。「インストール用jar file」101はそのまま仮想マシンのインストーラとなっていてもよく、操作部14やネットワーク600経由で接続されているPC500の表示装置に機能のインストールが開始したことを表示しても良い。
判断部111は、「インストール用jar file」101を参照して、H/W情報を参照する必要があると判断する。このため、次にH/W情報取得部112が、画像形成装置1のH/W情報を参照する。H/W情報取得部112は、CPU24のIDレジスタを参照してH/W情報を取得してもよいし、不揮発性のメモリに格納されたCPU24の種類等の情報を読み出して、H/W情報を取得してもよい。画像形成装置1の場合、得られるH/W情報は、「CPU:x86」である。H/W情報取得部112は、取得したH/W情報をプログラム選択部114に転送する。
次に、判断部111はS/W情報も取得する必要があると判断する。このため、S/W情報取得部113は、画像形成装置1のS/W情報を取得する。S/W情報は、通常、不揮発性メモリに格納されており、OSの種類、OSのバージョン、ライブラリのバージョン等の情報が含まれている。S/W情報取得部113は、少なくともOSの種類とバージョンを取得したものとする。
画像形成装置1の場合、得られるS/W情報は、「OS:BSD バージョン1」である。S/W情報取得部113はこの得られたS/W情報をプログラム選択部114に通知する。
プログラム選択部114は、H/W情報取得部112、S/W情報取得部113から得られた情報である「CPU:x86」、「OS:BSD バージョン1」であることをキーに、対応ファイル121を参照する。対応ファイル121には少なくとも、CPUアーキテクチャ、OS、OSのversionの組み合わせに対応する最適なネイティブ プログラム124が記憶されたディレクトリが登録されている。または、少なくとも、プログラム選択部114が、該ディレクトリを導くことが可能になるような情報が記載されている。図10に示すように、プログラム選択部114は、対応ファイル121を参照することで「root\x86\BSD\v1」というディレクトリに格納されている「Java(登録商標)VM」というネイティブプログラム124がインストールすべきで対象であると特定する。プログラム選択部114は、「root\x86\BSD\v1」を示す情報を格納先指定部115に通知する。
格納先指定部115は、通知されたディレクトリに格納されている「x86 BSD Version1」用のネイティブプログラム124のファイルを、インストールで使用するテンポラリディレクトリに予めコピーしてから、画像形成装置1へのコピーを行う。これは、インストール中に、オリジナルのネイティブプログラム124が破損等することを防止するためである。
以上のような手順でインストール部110が販売パッケージのインストールを行うことで、一つの販売パッケージを用いて過去に販売された機種を含め全ての機種用の機能のアップグレードが可能となる。これにより、新機種で提供された機能であっても、その機能を購入すると同様の利便性の高い機能をお客様は使用できるとともに各機種用の販売パッケージの購入や保管の手間や開発元への特殊対応の要求等を行う必要をなくすことも可能となる。図10では、仮想マシンのアップデートを例に説明したが、ネイティブプログラム124のバージョンアップや追加も同様に実行することができる。
次に、仮想マシンの販売パッケージを画像形成装置2がインストールする場合について説明する。画像形成装置2は、図10の販売パッケージが記憶媒体30またはネットワーク600経由等の手段により提供されると、判断部111が「インストール用jar file」101を実行する。判断部111は、「インストール用jar file」101を参照して、H/W情報を参照する必要があると判断する。このため、次にH/W情報取得部112が、画像形成装置2のH/W情報を参照する。H/W情報取得部112は、CPU24のIDレジスタを参照してH/W情報を取得してもよいし、不揮発性のメモリに格納されたCPU24の種類等の情報を読み出して、H/W情報を取得してもよい。画像形成装置2の場合、得られるH/W情報は、「CPU:x86」である。H/W情報取得部112は、取得したH/W情報をプログラム選択部114に転送する。
次に、判断部111はS/W情報も取得する必要があると判断する。このため、S/W情報取得部113は、画像形成装置2のS/W情報を取得する。S/W情報は、通常、不揮発性メモリに格納されており、OSの種類、OSのバージョン、ライブラリのバージョン等の情報が含まれている。S/W情報取得部113は、少なくともOSの種類とバージョンを取得したものとする。
画像形成装置2の場合、得られるS/W情報は、「OS:LINUX バージョン1」である。S/W情報取得部113はこの得られたS/W情報をプログラム選択部114に通知する。
プログラム選択部114は、H/W情報取得部112、S/W情報取得部113から得られた情報である「CPU:x86」、「OS:LINUX バージョン1」であることをキーに、対応ファイル121を参照する。対応ファイル121には少なくとも、CPUアーキテクチャ、OS、OSのversionの組み合わせに対応する最適なネイティブ プログラム124が記憶されたディレクトリが登録されている。または、少なくとも、プログラム選択部114が、該ディレクトリを導くことが可能になるような情報が対応ファイル121には記載されている。図10に示すように、プログラム選択部114は、対応ファイル121を参照することで「root\x86\Linux\v1」というディレクトリに格納されている「Java(登録商標) VM」といネイティブプログラム124がインストールすべきで対象であると特定する。プログラム選択部114は、「root\x86\Linux\v1」を示す情報を格納先指定部115に通知する。
格納先指定部115は、通知されたディレクトリに格納されている「x86 LINUX Version1」用のネイティブプログラム124のファイルを、インストールで使用するテンポラリディレクトリに予めコピーしてから、画像形成装置2へのコピーを行う。これは、インストール中に、オリジナルのネイティブプログラム124が破損等することを防止するためである。
次に、仮想マシンの販売パッケージを画像形成装置3がインストールする場合について説明する。画像形成装置3は、図10の販売パッケージが記憶媒体30またはネットワーク600経由等の手段により提供されると、判断部111が「インストール用jar file」101を実行する。判断部111は、「インストール用jar file」101を参照して、H/W情報を参照する必要があると判断する。このため、次にH/W情報取得部112が、画像形成装置3のH/W情報を参照する。H/W情報取得部112は、CPU24のIDレジスタを参照してH/W情報を取得してもよいし、不揮発性のメモリに格納されたCPU24の種類等の情報を読み出して、H/W情報を取得してもよい。画像形成装置3の場合、得られるH/W情報は、「CPU:MIPS」である。H/W情報取得部112は、取得したH/W情報をプログラム選択部114に転送する。
次に、判断部111はS/W情報も取得する必要があると判断する。このため、S/W情報取得部113は、画像形成装置3のS/W情報を取得する。S/W情報は、通常、不揮発性メモリに格納されており、OSの種類、OSのバージョン、ライブラリのバージョン等の情報が含まれている。S/W情報取得部113は、少なくともOSの種類とバージョンを取得したものとする。
画像形成装置3の場合、得られるS/W情報は、「OS:LINUX バージョン1」である。S/W情報取得部113はこの得られたS/W情報をプログラム選択部114に通知する。
プログラム選択部114は、H/W情報取得部112、S/W情報取得部113から得られた情報である「CPU:MIPS」、「OS:LINUX バージョン1」であることをキーに、対応ファイル121を参照する。対応ファイル121には少なくとも、CPUアーキテクチャ、OS、OSのversionの組み合わせに対応する最適なネイティブプログラム124が記憶されたディレクトリが登録されている。または、少なくとも、プログラム選択部114が、該ディレクトリを導くことが可能になるような情報が対応ファイル121には記載されている。図10に示すように、プログラム選択部114は、対応ファイル121を参照することで「root\MIPS\Linux\v1」というディレクトリに格納されている「Java(登録商標)VM」といネイティブプログラム124がインストールすべきで対象であると特定する。プログラム選択部114は、「root\MIPS\Linux\v1」を示す情報を格納先指定部115に通知する。
格納先指定部115は、通知されたディレクトリに格納されている「MIPS LINUX Version1」用のネイティブプログラム124のファイルを、インストールで使用するテンポラリディレクトリに予めコピーしてから、画像形成装置3へのコピーを行う。これは、インストール中に、オリジナルのネイティブプログラム124が破損等することを防止するためである。
次に、仮想マシンの販売パッケージを画像形成装置4がインストールする場合について説明する。画像形成装置4は、図10の販売パッケージが記憶媒体30またはネットワーク600経由等の手段により提供されると、判断部111が「インストール用jar file」101を実行する。判断部111は、「インストール用jar file」101を参照して、H/W情報を参照する必要があると判断する。このため、次にH/W情報取得部112が、画像形成装置4のH/W情報を参照する。H/W情報取得部112は、CPU24のIDレジスタを参照してH/W情報を取得してもよいし、不揮発性のメモリに格納されたCPU24の種類等の情報を読み出して、H/W情報を取得してもよい。画像形成装置4の場合、得られるH/W情報は、「CPU:MIPS」である。H/W情報取得部112は、取得したH/W情報をプログラム選択部114に転送する。
次に、判断部111はS/W情報も取得する必要があると判断する。このため、S/W情報取得部113は、画像形成装置4のS/W情報を取得する。S/W情報は、通常、不揮発性メモリに格納されており、OSの種類、OSのバージョン、ライブラリのバージョン等の情報が含まれている。S/W情報取得部113は、少なくともOSの種類とバージョンを取得したものとする。
画像形成装置4の場合、得られるS/W情報は、「OS:LINUX バージョン2」である。S/W情報取得部113はこの得られたS/W情報をプログラム選択部114に通知する。
プログラム選択部114は、H/W情報取得部112、S/W情報取得部113から得られた情報である「CPU:MIPS」、「OS:LINUX バージョン2」であることをキーに、対応ファイル121を参照する。対応ファイル121には少なくとも、CPUアーキテクチャ、OS、OSのversionの組み合わせに対応する最適なネイティブプログラム124が記憶されたディレクトリが登録されている。または、少なくとも、プログラム選択部114が、該ディレクトリを導くことが可能になるような情報が対応ファイル121には記載されている。図10に示すように、プログラム選択部114は、対応ファイル121を参照することで「root\MIPS\Linux\v2」というディレクトリに格納されている「Java(登録商標)VM」といネイティブプログラム124がインストールすべきで対象であると特定する。プログラム選択部114は、「root\MIPS\Linux\v2」を示す情報を格納先指定部115に通知する。
格納先指定部115は、通知されたディレクトリに格納されている「MIPS LINUX Version2」用のネイティブプログラム124のファイルを、インストールで使用するテンポラリディレクトリに予めコピーしてから、画像形成装置4へのコピーを行う。これは、インストール中に、オリジナルのネイティブプログラム124が破損等することを防止するためである。
〔販売パッケージがネイティブプログラム124を含まない場合〕
販売パッケージが例えばアプリケーション群31であるため、ネイティブ プログラム124を含まない場合について説明する。ネイティブ プログラム124を含まない場合、画像形成装置1〜4は、仮想マシン上でこのアプリケーションを実行できる。すなわち、CPUアーキテクチャ、OSの種類、バージョン、ライブラリのバージョン等に依存せず、過去に販売された画像形成装置1〜3及び最新の画像形成装置4の全てが、アプリケーションを実行できる。
まず、画像形成装置1は、このアプリケーションの販売パッケージが記憶媒体30またはネットワーク600経由等の手段により提供されると、判断部111が「インストール用jar file」101を実行する。この場合は、判断部111はH/W情報を参照する必要が無いと判断するので、H/W情報取得部112によるH/W情報の取得はスキップされる。
また、判断部111はS/W情報を参照する必要が無いと判断するので、S/W情報取得部113によるS/W情報取得もスキップされる。
次にプログラム選択部114はH/W情報、S/W情報が通知されていないため、画像形成装置用のネイティブ プログラム124を選択しない。このため、プログラム選択部114は、共通プログラム(jar file)122だけを販売パッケージから読み出し、画像形成装置1等にインストールする。このように、アプリケーションのようなH/WやS/Wに依存しない販売パッケージなら、プログラムの開発が容易である。
以上説明したように、販売パッケージには、各機種毎のネイティブプログラム124を含み、どのネイティブプログラム124をインストールするかを特定の言語で記述されたインストール部により判定するので、画像形成装置メーカは、全機種に適用可能な1つの販売パッケージとして販売することができる。
14 操作部
24 CPU
25 ASIC
26 HDD
30 記憶媒体
100 画像形成装置
101 インストール用jar file
102 機能アップデートパッケージ
110 インストール部
111 判断部
112 H/W情報取得部
113 S/W情報取得部
114 プログラム選択部
115 格納先指定部
121 対応ファイル
122 共通プログラム(jar file)
123 マニフェストファイル
124 ネイティブプログラム
300 サーバ
500 PC
特開2006−279959号公報

Claims (11)

  1. パッケージに記憶された所定のプログラムを読み出してインストールを行うパッケージのインストール対象装置であって、
    実行環境に依存せずに実行可能なプログラム言語によって記述されたインストール用プログラム、実行環境に依存するプログラム言語によって記述され実行環境毎に登録された同一ファイル名の複数の第1のプログラム、及び、前記第1のプログラムをファイル名で呼び出す、実行環境に依存せずに実行可能なプログラム言語で記述され実行環境に共通に登録された第2のプログラム、が含まれるパッケージを、記憶媒体又はネットワーク経由で取得するパッケージ取得手段と、
    前記インストール用プログラムを実行することで実現された、
    当該インストール対象装置の実行環境を取得する情報取得手段と、
    前記情報取得手段が取得した実行環境に基づき、当該インストール対象装置にて実行可能な前記第1のプログラムを特定するプログラム特定手段と、
    前記プログラム特定手段が特定した前記第1のプログラム、及び、前記第2のプログラムを、当該インストール対象装置の記憶手段にコピーするコピー手段と、
    を有することを特徴とするパッケージのインストール対象装置
  2. 前記パッケージには、実行環境に対応づけて前記第1のプログラムの登録位置情報が登録された対応ファイルが含まれており、
    前記プログラム特定手段は、前記対応ファイルから、前記情報取得手段が取得した実行環境に対応づけられた前記第1のプログラムの登録位置情報を取得する、
    ことを特徴とする請求項1記載のパッケージのインストール対象装置
  3. 前記登録位置情報は、ツリー構造のファイルシステムにおいて前記第1のプログラムが記憶されたディレクトリ情報であり、
    前記プログラム特定手段は、前記ディレクトリ情報に基づき、当該インストール対象装置にて実行可能な前記第1のプログラムを特定する、
    ことを特徴とする請求項2記載のパッケージのインストール対象装置
  4. 前記パッケージには、実行環境に依存する前記第1のプログラムが含まれているか否かを示す第1プログラム存在情報が含まれており、
    前記第1プログラム存在情報に基づき、前記情報取得手段に当該インストール対象装置の実行環境を取得させるか否かを判断する判断手段、
    を有することを特徴とする請求項1〜3いずれか1項記載のパッケージのインストール対象装置
  5. 前記インストール用プログラムを実行した場合、
    前記第1のプログラム又は前記第2のプログラムをインストール中である旨を表示手段に表示する、ことを特徴とする請求項1〜4いずれか1項記載のパッケージのインストール対象装置
  6. 前記インストール用プログラムが、既に当該インストール対象装置の記憶手段に記憶されている場合、当該インストール対象装置の記憶手段に記憶されている前記インストール用プログラムを、前記パッケージに含まれる前記インストール用プログラムに置き換える、
    ことを特徴とする請求項1〜5いずれか1項記載のパッケージのインストール対象装置
  7. 前記実行環境は、当該インストール対象装置のハードウェア情報、及び、ソフトウェア情報により特定される、
    ことを特徴とする請求項1〜6いずれか1項記載のパッケージのインストール対象装置
  8. 前記ハードウェア情報はCPUの名称、種類又は型番であり、前記ソフトウェア情報はOSの名称、OSのバージョン又はライブラリファイルのバージョンである、
    ことを特徴とする請求項7項記載のパッケージのインストール対象装置
  9. 実行環境に依存せずに実行可能なプログラム言語は、Java(登録商標)である、
    ことを特徴とする請求項1項記載のパッケージのインストール対象装置
  10. パッケージに記憶された所定のプログラムを読み出してインストールを行うパッケージのインストール対象装置のインストール方法であって、
    パッケージ取得手段が、実行環境に依存せずに実行可能なプログラム言語によって記述されたインストール用プログラム、実行環境に依存するプログラム言語によって記述され実行環境毎に登録された同一ファイル名の複数の第1のプログラム、及び、前記第1のプログラムをファイル名で呼び出す、実行環境に依存せずに実行可能なプログラム言語で記述され実行環境に共通に登録された第2のプログラム、が含まれるパッケージを、記憶媒体又はネットワーク経由で取得するステップと、
    CPUが、前記インストール用プログラムを実行して、情報取得手段、プログラム特定手段、及び、コピー手段を実現するステップと、
    前記情報取得手段が、インストール対象装置の実行環境を取得するステップと、
    前記情報取得手段が取得した実行環境に基づき、前記プログラム特定手段が、前記インストール対象装置にて実行可能な前記第1のプログラムを特定するステップと、
    前記プログラム特定手段が特定した前記第1のプログラム、及び、前記第2のプログラムを、前記コピー手段が前記インストール対象装置の記憶手段にコピーするステップと、
    を有することを特徴とするインストール方法。
  11. 実行環境に依存するプログラム言語によって記述され実行環境毎に登録された同一ファイル名の複数の第1のプログラム、及び、前記第1のプログラムをファイル名で呼び出す、実行環境に依存せずに実行可能なプログラム言語で記述され実行環境に共通に登録された第2のプログラム、と共にパッケージされた、実行環境に依存せずに実行可能なプログラム言語によって記述されたプログラムであって、
    パッケージに記憶された所定のプログラムを読み出してインストールを行うパッケージのインストール対象装置のコンピュータに、
    前記インストール対象装置の実行環境を取得する情報取得ステップと、
    前記情報取得ステップにより取得された実行環境に基づき、前記インストール対象装置にて実行可能な前記第1のプログラムを特定するプログラム特定ステップと、
    前記プログラム特定ステップにより特定された前記第1のプログラム、及び、前記第2のプログラムを、前記インストール対象装置の記憶手段にコピーするステップと、
    を実行させるプログラム。
JP2009208463A 2009-09-09 2009-09-09 パッケージのインストール対象装置、インストール方法、プログラム Expired - Fee Related JP5526668B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009208463A JP5526668B2 (ja) 2009-09-09 2009-09-09 パッケージのインストール対象装置、インストール方法、プログラム
US12/871,011 US20110061048A1 (en) 2009-09-09 2010-08-30 Image forming device, installing method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009208463A JP5526668B2 (ja) 2009-09-09 2009-09-09 パッケージのインストール対象装置、インストール方法、プログラム

Publications (2)

Publication Number Publication Date
JP2011061459A JP2011061459A (ja) 2011-03-24
JP5526668B2 true JP5526668B2 (ja) 2014-06-18

Family

ID=43648646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009208463A Expired - Fee Related JP5526668B2 (ja) 2009-09-09 2009-09-09 パッケージのインストール対象装置、インストール方法、プログラム

Country Status (2)

Country Link
US (1) US20110061048A1 (ja)
JP (1) JP5526668B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8448163B2 (en) * 2006-08-15 2013-05-21 International Business Machines Corporation Deploying J2EE web applications in an OSGI environment
KR100927442B1 (ko) * 2007-08-16 2009-11-19 주식회사 마크애니 가상 응용프로그램 생성 시스템, 가상 응용프로그램 설치방법, 네이티브 api 호출 처리 방법 및 가상응용프로그램 수행 방법
JP2011237881A (ja) * 2010-05-06 2011-11-24 Canon Inc 画像処理装置、Webサーバ、インストールシステム、インストール方法及びプログラム
JP5393827B2 (ja) 2012-03-12 2014-01-22 キヤノン株式会社 情報処理システム、管理方法およびコンピュータプログラム
JP2016207123A (ja) * 2015-04-28 2016-12-08 京セラドキュメントソリューションズ株式会社 アプリケーションパッケージおよび電子機器
KR20170010574A (ko) 2015-07-20 2017-02-01 삼성전자주식회사 정보처리장치, 영상처리장치 및 그들의 제어방법
JP7030426B2 (ja) 2017-05-31 2022-03-07 キヤノン株式会社 画像形成装置及びその制御方法、並びにプログラム
JP7069969B2 (ja) * 2018-03-29 2022-05-18 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742829A (en) * 1995-03-10 1998-04-21 Microsoft Corporation Automatic software installation on heterogeneous networked client computer systems
GB2321981B (en) * 1997-02-06 2002-01-09 Ibm Hosted machine code installation
US6728787B1 (en) * 2000-03-31 2004-04-27 Mitsubishi Electric Research Labs, Inc System and method for locating and installing device drivers for peripheral devices
US6912711B1 (en) * 2000-05-25 2005-06-28 International Business Machines Corporation Method of applying an update to a contained collection of program and data files based upon versions
US6655594B2 (en) * 2002-01-08 2003-12-02 Hewlett-Packard Development, L.P. Document, system, and method for data storage and acquisition
JP4575860B2 (ja) * 2004-10-21 2010-11-04 株式会社リコー 画像形成装置、インストール方法、インストールプログラム、及び記録媒体
WO2007020635A2 (en) * 2005-08-15 2007-02-22 Signicom Ltd. Device and method for selecting an application for a mobile handset
JP2007296723A (ja) * 2006-04-28 2007-11-15 Ricoh Co Ltd 電力切換え機能を持つ制御装置,画像形成装置および画像読取装置
US8448161B2 (en) * 2007-07-30 2013-05-21 Adobe Systems Incorporated Application tracking for application execution environment
JP5037376B2 (ja) * 2008-02-06 2012-09-26 株式会社リコー 情報処理装置、電力モード制御方法、電力モード制御プログラム、及び記録媒体
JP5038237B2 (ja) * 2008-06-06 2012-10-03 株式会社リコー 電子機器、画像形成装置、電子機器の起動制御方法、起動制御プログラム及び記録媒体

Also Published As

Publication number Publication date
US20110061048A1 (en) 2011-03-10
JP2011061459A (ja) 2011-03-24

Similar Documents

Publication Publication Date Title
JP5526668B2 (ja) パッケージのインストール対象装置、インストール方法、プログラム
US7533381B2 (en) Image forming apparatus and method for operating image forming apparatus by using remote application
US8488135B2 (en) Easy modification to method of controlling applications in image forming apparatus
JP4597834B2 (ja) 画像形成装置、情報処理方法、情報処理プログラム及び記録媒体
US8854651B2 (en) Image forming apparatus, information processing method, and recording medium indicating a version of a function supported by the image forming apparatus
JP5699500B2 (ja) インストールプログラム、インストール方法、画像形成装置、及び記録媒体
JP5268694B2 (ja) ライセンス管理システム、画像形成装置およびライセンス管理方法
JP5239755B2 (ja) 情報処理装置、インストール方法、プログラム、記憶媒体
US8713561B2 (en) Device, information processing method, and computer-readable storage medium
JP5487962B2 (ja) 操作抑制システム、画像形成装置、操作抑制情報提供装置、及び操作抑制方法
US20110299121A1 (en) Information processing device, information processing method, and computer readable medium
JP2008059238A (ja) 通信システム及びそれに使用するプリンタ
JP2009140347A (ja) 情報処理装置、画像形成装置、情報処理方法、プログラム、及び記録媒体
JP5686155B2 (ja) 機器、情報処理システム、情報処理方法、プログラム、及び記録媒体
JP2011180856A (ja) 画像形成装置及びプログラム
US9940334B2 (en) Image forming apparatus and control method thereof
JP4792744B2 (ja) 画像処理装置
JP2019067131A (ja) 画像形成装置及びその制御方法
JP2005269439A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP4526508B2 (ja) 電子機器,電子機器システムおよび機能補完方法と機能補完プログラム
US11909935B2 (en) Image forming apparatus, and control method for controlling image forming apparatus for remotely performing a setting process on or configuration control of a image forming apparatus
JP5825302B2 (ja) リモート管理システム、管理装置、機器、プログラム更新方法、プログラム、及び記録媒体
JP6308526B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2007201796A (ja) 画像形成装置
JP2002251346A (ja) 情報処理装置および画像処理装置およびデータ処理方法および記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131018

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140331

R151 Written notification of patent or utility model registration

Ref document number: 5526668

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees