(57)【要約】【課題】多機能装置の各部分の動作上の互換性を保証するソフトウェアアップグレードを提供すること。【解決手段】多機能プリンタ（１１０，１１２，４１０，５１０，８４０）におけるマルチコンポーネントソフトウェアを改訂するための方法であって、該マルチコンポーネントソフトウェアのうちの少なくとも１つのソフトウェアコンポーネント（８０２，８０４，８０６）を改訂し、該マルチコンポーネントソフトウェアを認定し、該マルチコンポーネントソフトウェアをソフトウェアバンドル（８０８）としてバンドリングし、該ソフトウェアバンドル（８０８）を多機能プリンタ（１１０，１１２，４１０，５１０，８４０）にロードする、という各ステップを有する方法。更なる方法及び／又は装置もまた含まれる。【選択図】　図７
2004005417.tif 000002
【特許請求の範囲】
【請求項１】
多機能プリンタ（１１０，１１２，４１０，５１０，８４０）内のマルチコンポーネントソフトウェアを改訂する方法であって、
該マルチコンポーネントソフトウェアの少なくとも１つのソフトウェアコンポーネント（８０２，８０４，８０６）を改訂し、
前記マルチコンポーネントソフトウェアを認定し、
前記マルチコンポーネントソフトウェアを、随意選択的に単一のファイルを含むソフトウェアバンドル（８０８）としてバンドリングし、
前記ソフトウェアバンドル（８０８）を、随意選択的にスマートプリントカートリッジを含む多機能プリンタ（１１０，１１２，４１０，５１０，８４０）にロードする、
という各ステップを含む方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多機能プリンタ等（但しこれには限定されない）の多機能装置のためのソフトウェアの制御に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
ソフトウェア、特に、プリンタ等（但しこれには限定されない）の装置上のソフトウェアの改訂（リビジョン）を制御するための方法及びシステムが必要とされている。
【０００３】
【課題を解決するための手段】
本発明によれば、（複数のソフトウェアコンポーネントを有する多機能プリンタ及び多機能装置を含む）多機能装置上のソフトウェアを開発し、ロードし、及び／又は改訂するための方法及びシステムが提供される。
【０００４】
【発明の実施の形態】
図示する様々な方法及び／又は装置は、本発明を限定するものではなく、その例示を意図したものである。同様の構成要素及び／又は特徴を参照するために、図面全体を通して同一の符号を付してある。
【０００５】
図１は、複数のサーバ、ワークステーション及びプリンタがデータ通信ネットワーク１００により互いに結合されたネットワーク環境を示している。該ネットワーク１００は、サーバ１０２，１０４、コンピュータワークステーション１０６，１０８、及びプリンタ１１０，１１２を結合するものである。該ネットワーク１００は、任意のタイプのネットワークトポロジと任意のネットワーク通信プロトコルとを使用する、ローカルエリアネットワーク（ＬＡＮ）や広域ネットワーク（ＷＡＮ）といった任意のタイプのネットワークとすることが可能である。該ネットワークは、有線リンク、無線リンク、又は有線リンク及び無線リンクの組み合わせを含むことが可能である。特定の実施形態では、ネットワーク１００はインターネットである。ネットワーク１００に結合された少数の装置しか示していないが、典型的なネットワークは互いに結合された数十又は数百の装置を含むことが可能である。更に、該ネットワーク１００が１つ又は２つ以上の他のネットワークに結合されることにより更に多数の装置の結合が提供される可能性がある。
【０００６】
サーバ１０２，１０４は、例えば、ファイルサーバ、電子メールサーバ、データベースサーバ、プリントサーバ、又は他のタイプのネットワークサーバとすることが可能である。ワークステーション１０６，１０８は、パーソナルコンピュータといった（但しこれには限定されない）任意のタイプの計算装置とすることが可能である。特定の例示的な方法及び／又はシステムは、レーザプリンタであるプリンタ（例えばプリンタ１１０，１１２等）を含む。代替的には、例示的な方法及び／又はシステムは、例えば、インクジェット、バブルジェット、又は一般に任意のタイプのプリンタを含む。更に、本書に示す教示は、必要に応じて、スキャナ、複写機、ファックス等の任意のタイプのプリンタ装置に適用することが可能である。多機能装置及び／又は多機能プリンタの詳細については後述するが、かかる装置及び／又はプリンタのある程度の詳細は当業界で既知である。図１には示していないが、１つ又は２つ以上のワークステーション及び／又はサーバは、生のプリントジョブ情報を特定タイプのプリンタにより理解される特定の形式（例えば言語）へと変換することが可能なプリントレンダリングエンジンを含むことが可能である。システムがプリンタメニューを含む場合には、随意選択的にワークステーション１０６，１０８又はサーバ１０２，１０４上でプリンタメニューエディタアプリケーションを実行してプリンタメニュー構造の作成又は修正を行うことが可能である。
【０００７】
図２は、本書で示す様々な実施形態と共に使用するのに適したプリンタ１１０（例えば図１のプリンタ１１０，１１２）の適当な構成要素を示すブロック図である。図２に示すように、プリンタ１１０は、プロセッサ１２０、電気的に消去可能なプログラマブル読出専用メモリ（ＥＥＰＲＯＭ）１２２、及びランダムアクセスメモリ（ＲＡＭ）１２４を含む。プロセッサ１２０は、プリンタ１１０を動作させ及び／又は他の装置との通信を行うのに必要な様々な命令を処理する。ＥＥＰＲＯＭ１２２及びＲＡＭ１２４は、構成情報、フォント、テンプレート、プリントデータ、メニュー構造情報といった（これらには限定されない）様々な情報を記憶する。図２には示していないが、プリンタによっては、ＥＥＰＲＯＭ１２２の代わりに又はそれに加えてＲＯＭ（消去不可）を含むことも可能である。
【０００８】
例示的なプリンタ１１０はまた、図２に示すように、ディスクドライブ１２６、ネットワークインタフェイス１２８、及びシリアル／パラレルインタフェイス１３０を含む。ディスクドライブ１２６は、プリントデータ又はプリンタ１１０により使用される他の情報のための付加的な記憶装置を提供するものとなる。図２には、ＲＡＭ１２４及びディスクドライブ１２６の両者を示したが、プリンタによっては、その記憶必要量に応じてＲＡＭ１２４及びディスクドライブ１２６の何れか一方を含むことが可能である。例えば、低価格プリンタは、ディスクドライブ１２６を含まず小容量のＲＡＭ１２４を含み、これによりプリンタの製造コストを削減することが可能である。ネットワークインタフェイス１２８は、プリンタ１１０とネットワーク１００等のデータ通信ネットワークとの接続を提供する。該ネットワークインタフェイス１２８は、共通のデータ通信ネットワークに結合された装置が、ネットワーク（例えば、図１のネットワーク１００）を介してプリンタ１１０にプリントジョブ、メニューデータ、その他の情報を送ることを可能にする。同様に、シリアル／パラレルインタフェイス１３０は、プリンタ１１０とそれ以外の装置（ワークステーション、サーバ、及びその他の計算装置等）との間に直接データ通信経路を提供する。図２に示したプリンタ１１０は２つのインタフェイス（ネットワークインタフェイス１２８及びシリアル／パラレルインタフェイス１３０）を有するが、例示的なプリンタは、１つのインタフェイス又は３つ以上のインタフェイスを含むことが可能である。
【０００９】
図２に示したように、例示的なプリンタ１１０は、また、ユーザインタフェイス／メニューブラウザ１３２及び表示パネル１３４を含む。ユーザインタフェイス１３２は、プリンタ１１０のユーザが必要に応じて使用可能な一連のボタン、スイッチ、又は他の指示手段を含むことが可能である。表示パネル１３４は、典型的にはプリンタの状況やメニュー構造を介して利用することができる現在のオプションに関する情報を提供するグラフィカル表示を含む。プリンタ１１０の表示パネル１３４は、プリンタ１１０のユーザに対して様々なメニューオプションを表示することが可能である。表示パネル１３４及びそれに関連する制御ボタンにより、プリンタのユーザは、プリンタのメニュー構造を介して作業を進めることが可能となる。
【００１０】
図３は、本書で解説する例示的な方法及び／又はシステムによるコンピュータワークステーション１０６の適当な構成要素を示すブロック図である。ワークステーション１０６は、プロセッサ１４０、メモリ１４２（ＲＯＭやＲＡＭ等）、ユーザ入力装置１４４、ディスクドライブ１４６、データを入出力するためのインタフェイス１４８、フロッピディスクドライブ１５０、及びＣＤ−ＲＯＭドライブ１５２を含む。プロセッサ１４０は、ワークステーション１０６の動作を制御するための様々な命令を実行する。メモリ１４２、ディスクドライブ１４６、フロッピディスクドライブ１５０、及びＣＤ−ＲＯＭドライブ１５２は、データ記憶機構を提供する。ユーザ入力装置１４４は、ワークステーション１０６に情報を入力するためのキーボード、マウス、ポインティングデバイス、又はその他の機構を含む。インタフェイス１４８は、ワークステーション１０６が他の装置と通信するための機構を提供する。サーバ（例えば図１のサーバ１０２，１０４）は、典型的にはワークステーション１０６の機能の少なくとも幾つかを含むものとなる。
【００１１】
本書で解説する様々なプリンタは、プリンタ固有のソフトウェア（又はファームウェア）と、用紙の操作及び／又はプリントに関連する全ての装置（例えばスキャナや仕上げ装置（ｆｉｎｉｓｈｉｎｇ　ｕｎｉｔ）等）のためのソフトウェア（又はファームウェア）とを有する。本書では、多数の機能を有するプリンタを多機能プリンタ（ＭＦＰ）（多機能装置（ＭＦＤ）の類に属するもの）と称することがある。その名称が示唆するように、ＭＦＤは、多数の機能を実行することができる装置である。プリンタの場合には、殆どの機能は、プリント、用紙操作、及び／又はデータ通信に関連するものである。ＭＦＤにより実行される機能の例として、プリント、マルチオリジアウティング（ｍｕｌｔｉ−ｏｒｉｇ−ｏｕｔ−ｉｎｇ）（モピープリント（ｍｏｐｙ　ｐｒｉｎｔｉｎｇ）と呼ばれ又はそれを含む場合もある）、複写、ファックスの送受信、電子メールの送受信、イメージ捕捉、テキスト認識、給紙操作（大容量入力（ＨＣＩ：ｈｉｇｈ　ｃａｐａｃｉｔｙ　ｉｎｐｕｔ）、用紙サイズ／タイプが異なるトレイ、封筒トレイ等）、出力用紙操作（積み重ね、ホチキス留め、ソート、丁合（ｃｏｌｌａｔｉｎｇ）、メールボックス等）、及びデータ取得（ネットワーク、シリアル、ＵＳＢ、無線、パラレル、フロッピディスク、ハードディスク、ＲＡＭ、フラッシュカード等）が挙げられる（但しこれらには限定されない）。
【００１２】
例示的な機能は、前述のように、モピープリントである。モピー対応プリンタは、インテリジェントソフトウェア（又はファームウェア）及びホストソフトウェアを利用して、スループットを高め、また様々な問題を低減させ又は解決する。モピープリントでは、プリンタドライバは、一般に、ファイルを１回だけ伝送し、ラスタ化及びスプールのために適当なヘッダ情報（例えば複写枚数）をプリンタに送る。一般に、プリンタは、ジョブを１回だけラスタ化し、次いで複数のオリジナルコピーを、ユーザにより決定された態様でプリントする。モピープリントは、最初のコピーが作成される際にプリンタの速度を低下させ又はネットワークを介して送るのに長い時間を要する複雑なジョブに特に有用となる。
【００１３】
複数の機能を有する市販のプリンタとして（カリフォルニア州パロアルト在）Ｈｅｗｌｅｔｔ　Ｐａｃｋａｒｄ（ＨＰ）　ＬＡＳＥＲＪＥＴ（Ｒ）　９０００プリンタが挙げられる。かかるＭＦＰは、基本的には、新しいプリンタ又は既存のプリンタに、ソフトウェア及び／又はハードウェアによるソリューション（すなわち解決手段）を導入したものである。特に、かかるＭＦＰは、随意選択的に電子対応（ｅ−ｅｎａｂｌｅｄ）プリント管理機能を含むものとなる。該機能は、以下の管理タスクを実行することが可能である。
【００１４】
プリンタのインストール
プリンタオプションの構成
複数のプリンタの一度での構成及びインストール
プリンタの問題解決
オフピーク時間中にデバイスキャッシュを更新するためのスケジュールの探索
広範な基準に基づく特定のプリンタ又は一群のプリンタのサーチ
プリンタの現在の状態の確認
プリンタの消耗品の状態の確認
プリンタのトレイに装填された媒体のタイプの検証
プリンタの能力の検証
論理グループによるプリンタの編成
動的なサイトマップを用いた仮想的なオフィスレイアウトの作成
かかるＭＦＰは、今日の企業における業務の多様性及び量に関連する問題に応えるものである。特に、ＭＦＰは、各種の業務文書毎に専用の特殊な大量処理プリンタを配設する必要性をなくすことが可能である。本書において、「業務プリンティング」とは、複写枚数が１枚のスケジューリングされたバッチプリントジョブを指す業界標準の用語である。通常、かかるジョブは、メインフレームから生成され、あるいはＷｉｎｄｏｗｓ　ＮＴ　（Ｒ）オペレーティングシステムサーバ（ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ　Ｃｏｒｐｏｒａｔｉｏｎ）又はＵＮＩＸ（Ｒ）オペレーティングシステムサーバ（ニュージャージー州バスキングリッジのＵＮＩＸ　Ｓｙｓｔｅｍ　Ｌａｂｏｒａｔｏｒｉｅｓ，Ｉｎｃ．）から生成される。典型的な出力例として、送り状、計算書、賃金台帳、購入指示書、受取勘定等が挙げられる。
【００１５】
更なるＭＦＰの機能として、一対一及び一対多のプリンタ管理のためのリモートプリンタ管理サービス及びソリューションを提供する埋込み型ウェブサーバ及び管理ソフトウェア（例えばＨＰ　ＷＥＢ　ＪＥＴＡＤＭＩＮ（Ｒ））を有するブラウザ互換プリンタ管理ソフトウェア、管理者が自分のシステムにロードするオプションをカスタマイズするためのカスタマイズ容易なインターネットソフトウェアディスク複製ユーティリティを含むことがあるインターネットソフトウェア、イントラネット管理を容易化するための管理ソフトウェア、ソフトウェアのダウンロード及びアップデートを容易にするためのインターネットインストーラソフトウェア、アップデートが利用可能であることをユーザ又は管理者に知らせるソフトウェアユーティリティソフトウェア、及びインターネットページをフォーマットしプリントし、ユーザ（又は装置）が要求したアドレスでインターネットにポーリングし、かかる選択されたページのプリントを任意の指定された間隔でスケジューリングするためのインターネットページセットアップユーティリティソフトウェアが挙げられる。
【００１６】
ＭＦＰはまた、自動的な電子メール警告を送信し、また必要に応じてプリンタの問題点及びジョブステータスに関する事前に構成された通知をネットワーク上の指定された受信者に電子メールを介して送るよう構成された機能を有することが可能である。電子メール通知は、インターネットを介して補給品を注文するためのホットリンクを提供することさえも可能である。
【００１７】
ＭＦＰは、更にスマート構成要素を含むことが可能である。例えば、プリント補給品システムは、プリンタ内にスマートプリントカートリッジが取り付けられたときに活動化される。各スマートプリントカートリッジは、例えば、トナーレベルを測定して報告し、使用量情報を提供し、及びジョブの完了を保証するのに役立つそれ自体のチップを特徴とするものとすることが可能である。また、かかるＭＦＰでは、カートリッジ、プリンタ、及びソフトウェアは、必要に応じて（また典型的には）協働するものとなる。
【００１８】
一般に、ＭＦＤ（例えばＭＦＰ））は、ソフトウェアに依存する複数の部分を含む。かかる部分には、フォーマッタ、用紙操作装置、コピープロセッサ基盤等が含まれるが、これらには限定されない。これらの部分は、リビジョン又はアップグレードを受けることが可能なファームウェア／ソフトウェアと関連して動作する。本書に示すように、かかるアップグレードは、リモートで実行することが可能である。かかるＭＦＰが存在する以前には、各部分の互換性に関連する問題は事実上存在しなかった。
【００１９】
本書で示すように、バンドリング式アップグレードの典型的な方法は各部分の動作互換性を保証するのに役立つ。この方法では、完全に部分毎のソフトウェアアップグレードは利用不能となり、アップグレード可能（又は改訂可能）な全てのソフトウェアがソフトウェアバンドル（複数のソフトウェアコンポーネントを一つにまとめたもの）の使用を介してアップグレード（又は改訂）される。この方法により、ソフトウェアバンドルの各ソフトウェアコンポーネントは、既知の互換性が保証される。例えば、一部分の新しいソフトウェアアップグレードが利用可能になった場合、該アップグレードは、ＭＦＰの他の部分の既存のソフトウェアアップグレードによって認定される（ｑｕａｌｉｆｙ）。例示的なアップグレード方法では、新しいソフトウェアアップグレードがその認定手順（ｑｕａｌｉｆｉｃａｔｉｏｎ　ｐｒｏｃｅｄｕｒｅ）に合格すると、１つ又は２つ以上の該新しいソフトウェアアップグレード及び他の認定された既存のソフトウェアを含む新しいソフトウェアバンドルが作成される。
【００２０】
ソフトウェアバンドルに含ませるのに適したソフトウェアコンポーネントは、随意選択的に「プリンタドライバ」ソフトウェアプログラムを含むことが可能である。該プリンタドライバとは、他のプログラムがプリンタのハードウェア及び内部言語の詳細にかかわらず特定のプリンタで動作することを可能にするものである。一般に、プリンタは、それが正しく動作するため、また特別な機能及び能力を利用するために、特定の一組のコード及びコマンドを必要とする。他の多機能装置は、一般に、類似した機能を提供するデバイスドライバ（すなわちソフトウェアコンポーネント）を有する。
【００２１】
組織内のネットワーク管理者は、一般に、１つ又は２つ以上の装置管理アプリケーションを使用して、組織又は企業のイントラネット内の周辺装置を管理する。周辺装置とは、プリンタ、複写機、スキャナ、ファックス、データ記憶システム、実験機器、家庭用娯楽機器等のコンピュータ又はネットワークに接続可能な任意の装置である。ＨＰ　ＪＥＴＡＤＭＩＮ（Ｒ）及びＨＰ　ＷＥＢ　ＪＥＴＡＤＭＩＮ（Ｒ）製品は、イントラネット内のプリンタ等のネットワーク接続された周辺機器（又は装置）を発見し、イントールし、監視し、及び問題解決するためにネットワーク管理者により使用される周辺装置管理アプリケーションの例である。
【００２２】
図４を参照する。同図には、例示的な多機能プリンタ４１０のブロック図が示されている（図１と図２のプリンタ１１０，１１２も参照のこと）。図示のように、プリンタ４１０は、関連するソフトウェアを有する様々な機能ブロックを含む。かかるソフトウェアは、随意選択的に、図１及び図２に示すプリンタ１１０の機能（例えばプロセッサ１２０、ＲＡＭ１２４等）に関連して動作することが可能である。
【００２３】
通信ブロック４１２は、様々な通信動作のためのソフトウェアを含む。かかる通信用ソフトウェアとして、ウェブページを提供することが可能なウェブサーバソフトウェアが挙げられるが、これには限定されない。かかるウェブページは、随意選択的に、プリンタの状態、プリンタの構成、イベントログ、補給品、使用量、ネットワーク設定、運営管理コントロール、診断、他の装置等に関する情報を提供することが可能である。例えば、プリンタウェブサーバにより提供される装置ウェブページにより、ユーザは、プリンタ又はコンピュータからプリンタを構成することが可能である。市販のソフトウェアには、ネットワーク接続された周辺装置を積極的に管理、構成するウェブブラウザベースの管理ツールであるＨＰ　ＷＥＢ　ＪＥＴＡＤＭＩＮ（Ｒ）がある。かかるソフトウェア（又はその同等物）がプリンタに埋め込まれると、該ソフトウェアは、共通ウェブブラウザ（随意選択的にプリンタ上に配置することが可能）からリモートで、複数のネットワーク周辺装置のインストール、構成、診断、及びプリント管理を行うことを可能にする。ウェブブラウザ及び／又はウェブサーバソフトウェアに関連する他のソフトウェアとして、仮想マシンソフトウェア（例えばＨＰ　ＣＨＡＩ（Ｒ）仮想マシンやＳｕｎ　ＭｉｃｒｏｓｙｓｔｅｍｓのＪＡＶＡ（Ｒ）仮想マシン等）が挙げられるが、これらには限定されない。更に別の通信ソフトウェアは、電子メール動作等を実行することが可能である。
【００２４】
プリンティングブロック４１４は、様々なプリント動作のためのソフトウェアを含む。例えば、プリンタ４１０は、プリント媒体を２回プリントすることにより両面プリントを可能にする両面プリントユニットを含むことが可能である。したがって、プリンティングブロック４１４は、随意選択的に、他のプリント動作のためのソフトウェアに加えて、両面プリント動作のためのソフトウェアを含むものとすることが可能である。仕上げブロック４１８は、様々な仕上げ動作のためのソフトウェアを含む。例えば、プリンタ４１０は、プリント済み媒体を積み重ねたりホチキス留めしたりするための用紙スタッカや用紙ホチキス留め手段／スタッカ等の仕上げユニットを含むことが可能である。かかる仕上げユニットは、プリンタの出力容量を高め、（例えばジョブに基づいて）プリント済み媒体を分離させ、及び／又は選択されたプリント済み媒体を（例えばホチキス等で）固定することが可能である。
【００２５】
ディジタル化ブロック４２２は、プリントイメージのディジタル表現に関連するソフトウェアを含む。例示的なディジタル化ブロックの更なる詳細については、図６に関連して後に説明する。また他の機能ブロックは、図４に図示されているか否かにかかわらずサブブロックを含むことが可能である。プリント媒体ブロック４２６は、プリント媒体アクセス動作のためのソフトウェアを含む。例えば、プリンタ４１０は、プリント媒体を供給するためのプリント媒体供給ユニットを含むことが可能である。消耗品ブロック４３０は、消耗品を監視し及び／又は管理するソフトウェアを含む。例えば、プリンタ４１０は、インク又はトナーのレベルを検知するセンサを含むことが可能である。プリンタ４１０はまた、スマートトナーカートリッジを含むことが可能である。スマートトナーカートリッジは、トナーレベル及び／又は他の情報を感知し、監視し、及び／又はレポートするのに役立つ集積回路チップ又はプロセッサを含む。例示的なプリンタ４１０によれば、スマートカートリッジは、消耗品ブロック４３０ソフトウェアと協働する。プリンタに関連する他の構成要素（例えば仕上げユニットや媒体ユニット等）もまた集積回路チップ又はプロセッサを含むことが可能であり、かかる構成要素を本書では「スマート」構成要素と称する。
【００２６】
図５を参照する。同図には、クラスタ又は一群をなすプリンタ５００（５１０，５１０’，５１０’’，５１０’’’）が示されている。かかる構成では、１つのプリンタ（例えば５１０）が他のプリンタ（例えば５１０’，５１０’’，５１０’’’）へソフトウェアをダウンロードすることが可能であり、又はコンピュータがネットワーク上の複数のプリンタへソフトウェアをダウンロードすることが可能である。図５に示すように、クラスタ５００は、通信リンク５２０（随意選択的に有線及び／又は無線技術を含むことが可能）を含む。プリンタのクラスタ５００のうちの１つ又は２つ以上のプリンタは、随意選択的に図４に示す例示的なプリンタ４１０の機能を含むことが可能である。
【００２７】
図６を参照する。同図には、様々なサブブロックを有する例示的なディジタル化ブロック４２２が示されている。制御パネル／ユーザインタフェイス・サブブロック４６０は、ユーザインタフェイス及び／又はプリントジョブ制御全般を管理するソフトウェアを含む。コピープロセッサ・サブブロック４６２は、選択されたデータファイルフォーマットを生成するソフトウェアを含む。スキャナサービス・サブブロック４６４は、スキャナサービス・エージェント等のスキャナサービスのためのソフトウェアを含むが、これには限定されない。ディジタルサービス・サブブロック４６６は、モバイル装置のユーザが別個のサーバや他のホストを使用することなくプリンタと通信することを可能にするサービス等である（但しこれには限定されない）ディジタルサービスのためのソフトウェアを含む。エクスポートツール・サブブロック４６８は、プリントジョブに関連する情報をエクスポートするためのソフトウェアを含む。例えば、エクスポートツールブロック４６８は、ＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ　Ｄｉｒｅｃｔｏｒｙ　Ａｃｃｅｓｓ　Ｐｒｏｔｏｃｏｌ）サーバからアドレス帳を自動的に更新するためのソフトウェアを含むことが可能である。構成ツール・サブブロック４７０は、ディジタル化ブロック４２２を構成するソフトウェアを含む。この構成ツール・サブブロック４７０は、随意選択的に、様々な構成ユーティリティを含むことが可能である。ＨＰ　Ｄｉｇｉｔａｌ　Ｓｅｎｄｅｒ　Ｍｏｄｕｌｅ等の市販のソフトウェアは、例示的なディジタル化ブロック４２２のいくつかの機能を含むものである。
【００２８】
図７を参照する。同図は、例示的なソフトウェア改訂方法７００を示している。開発ブロック７１０で、デベロッパ（人及び／又は機械）が多機能装置の特定部分のソフトウェアコンポーネントを開発し及び／又は改訂する。次いで認定（ｑｕａｌｉｆｉｃａｔｉｏｎ）ブロック７１４で、該ソフトウェアコンポーネントが、多機能装置の別の部分に関連する別のソフトウェアコンポーネントと共に（人及び／又は機械により）認定される。該認定ブロック７１４では、改訂された（又は新しい）ソフトウェアコンポーネントが（人及び／又は機械により）他の少なくとも１つのソフトウェアコンポーネントと結合されてソフトウェアバンドルが形成される。該認定の後、実装ブロック７１８でソフトウェアバンドルが実装され及び／又は（例えば、エンドユーザ、管理者に対し、及び／又は直接装置に対して）利用可能にされる。例えば、実装ブロック７１８は、ソフトウェアバンドルをサーバ上に実装することを含む。該実装は、随意選択的にロードすることを含むことが可能であるが、該実装はまたリンクすることを含むことが可能である。ダウンロードブロック７２２で、エンドユーザ、管理者、及び／又は装置は、ソフトウェアバンドルをダウンロードする。この例示的な方法７００は、互換性が疑わしい個別のソフトウェアコンポーネントをダウンロードする（又はロードする）必要をなくすことが可能である。この例示的な方法７００のバンドリング手法は、互換性を一層確実なものとするのに役立つ。
【００２９】
図８を参照する。同図は、例示的なソフトウェア改訂方法８００を示している。開発ブロック（例えば図７のブロック７１０）で、デベロッパ（人及び／又は機械）が、プリント動作を実行するソフトウェアコンポーネント等のソフトウェアコンポーネント８０２を開発する。次いで認定ブロック（例えば図７のブロック７１４）で、ソフトウェアコンポーネント８０２は、（人及び／又は機械により）別のソフトウェアコンポーネント８０４，８０６と共に認定される。該別のコンポーネント８０４，８０６は、随意選択的に、プリント媒体及び／又は仕上げに関連する動作を実行するコンポーネントを含むことが可能である。ソフトウェアコンポーネント８０２，８０４，８０６が（例えば認定ブロック及び／又は別のバンドリングブロックにおいて）バンドリングされてソフトウェアバンドル８０８が形成される。該ソフトウェアバンドル８０８は、典型的には単一のファイルとして存在するものとなる。該ソフトウェアバンドル８０８は、実装ブロック（例えば図７のブロック７１８）で、サーバ８２０に実装され及び／又は該サーバ８２０上で利用可能にされる。例えば、実装ブロック（例えば図７のブロック７１８）は、サーバ８２０上にソフトウェアバンドル８０８を実装することを含む。該実装は、随意選択的に、ロードすることを含むが、リンクすることを含むことも可能である。
【００３０】
この例示的な方法８００では、多機能プリンタ８４０に関連するダウンロードブロック（例えば図７のブロック７２２）がソフトウェアバンドル８０８をダウンロードする。ネットワーク８３０を介してダウンロードを行うとき、ソフトウェアバンドル８０８はプリンタメモリ内に存在する（例えば図２のプリンタ１１０を参照）。図８に示すように、多機能プリンタ８４０は、プリンティングブロック８４２、プリント媒体ブロック８４４、及びプリント仕上げブロック８４６を含む。この例では、これら３つのブロックは、それらに関連するプリント部分、プリント媒体部分、及びプリント仕上げ部分を有する。ソフトウェアバンドル８０８がプリンタメモリ内に存在すると、プロセッサ及びそれに関連するソフトウェアは、様々なソフトウェアコンポーネント８０２，８０４，８０６のバンドリング解除を支援することが可能となる（例えば図２のプリンタ１１０を参照）。次いで、バンドリング解除されたコンポーネント８０２，８０４，８０６が、適当な機能的部分に関連して動作することになる。
【００３１】
より具体的には、（図８に示す）例示的な方法８００では、プリントソフトウェアコンポーネントは、「レディ（すなわち準備完了）」及び／又は「オフライン」状態に関連するイベントのための改訂されたソフトウェアを含むことが可能であり、プリント媒体ソフトウェアコンポーネントは、プリント媒体トレイのサイズに関連するイベントのための改訂されたソフトウェアを含むことが可能であり、プリント仕上げソフトウェアコンポーネントは、ホチキスの補給に関連するイベントのための改訂されたソフトウェアを含むことが可能である。
【００３２】
更に、ソフトウェアバンドル８０８は、随意選択的に、特定のファイル拡張子（例えば「．ＲＦＵ」）を有する単一のファイルを構成することが可能である。ソフトウェアバンドル８０８をダウンロードする際にプリントジョブやその他のタスクを保留する場合には、プリンタは、かかるタスクを延期すること、又はプリンタソフトウェアの改訂を開始する前にタスクの実行を許可することが可能である。
【００３３】
様々な例示的な方法と共に使用するのに適した例示的な多機能プリンタ及び／又は多機能装置は、（例えば特定のファイル拡張子を有する）ソフトウェアバンドルを受容するための入力（例えばネットワークインタフェイスやディスクドライブ等）を含み、該ソフトウェアバンドルは、少なくとも２つのプリンタ／装置部分のためのソフトウェアコンポーネントと、該ソフトウェアバンドルに含まれるソフトウェアコンポーネントの各々を区別するように（例えばソフトウェアを介して）構成されたプロセッサとを含む。かかるプロセッサはまた、適当な時間にソフトウェアをアップグレード（又は改訂）するタスク及び／又はジョブの優先順位を調整することが可能である。
【００３４】
プリンタソフトウェアを改訂する更にもう１つの例示的な方法では、管理者は、ウェブ管理ソフトウェア（例えばＨＰ　ＷＥＢ　ＪＥＴＡＤＭＩＮ（Ｒ））の実行を開始する。次いで管理者は、装置探索フィールドにプリンタのＩＰアドレス又はＩＰホスト名を入力する。該プリンタが発見されると、管理ソフトウェアはプリンタの状態ウィンドウを表示する。管理ソフトウェアは、該状態ウィンドウに関連して、「更新」アイコン又はボタンも表示する。更新ボタンを活動化させると、実行すべき更新のタイプ（例えばプリンタ更新）に関連する更に詳しい情報が表示されることになる。「プリンタ更新」オプションが選択されると、管理ソフトウェアは、新しい（又は改訂された）プリンタソフトウェアをアップロードするためのアイコン又はボタンと、（典型的にはプリンタメーカーのウェブサイトからダウンロードされた）既にダウンロード済みのソフトウェアバンドルの探索に役立つ参照オプションとを表示する。新しい（又は改訂された）プリンタソフトウェアをアップロードするアイコン又はボタンを活動化させると、ソフトウェアバンドルが、ローカルの記憶場所からウェブサーバ（例えばＨＰ　ＷＥＢ　ＪＥＴＡＤＭＩＮ（Ｒ）サーバ）へと移動され又は複写される。次いで、管理者は、ウェブブラウザをリフレッシュして、メニュー等からソフトウェアバンドルファイルを選択することが可能である。次いで、ソフトウェア更新アイコン又はボタンを活動化させると、管理ソフトウェアは、ソフトウェアバンドルを、新しい又は改訂されたソフトウェアを必要とするプリンタに送る。
【００３５】
もう１つの例示的な方法は、管理ソフトウェアを使用して複数のプリンタのプリンタソフトウェアを改訂することを含む。この方法により、管理者は、管理ソフトウェア（例えばＨＰ　ＷＥＢ　ＪＥＴＡＤＭＩＮ（Ｒ））の実行を開始する。次いで管理者は、グループに含める装置のリストからプリンタを選択すること等により、装置グループを作成する。管理者は、管理ソフトウェアにより表示された「更新」アイコン又はボタンを活動化させ、随意選択的にグループ内のプリンタの全て又は一部を選択することにより、該グループ内のプリンタのためのソフトウェアを更新することが可能である。本書に示した例示的な方法は、随意選択的に、ソフトウェア改訂に関連する情報を（自動的に及び／又は手動で）、表示し、送信し、及び／又はプリントする。例えば、プリンタは、改訂の成功を検証する構成情報を伝送（表示、送信、プリント等）することが可能である。ソフトウェア障害が発生した場合には、プリンタは、随意選択的に、それ自体に格納されている出荷時のバージョンのプリンタソフトウェアを使用することが可能である。かかる出荷時のバージョンのプリンタソフトウェアは、例えば、プリンタのフラッシュＤＩＭＭのバックアップ用パーティションに格納しておくことが可能である。。
【００３６】
典型的には、改訂に要する時間は、入出力転送時間、並びに、ソフトウェアの改訂に応じて必要となる可能性のある再初期化をプリンタが実行するのに要する時間によって決まる可能性がある（該再初期化の実行は自動でも手動でもよい）。入出力転送時間は、通常は、ソフトウェアバンドルを利用可能にするサーバ（又はホスト）の処理速度や入出力方法（高速赤外線、パラレル、ネットワーク等）といった要因によって決まる。再初期化時間は、実装されているＥＩＯデバイスの数、用紙操作装置の有無、及びプリンタに実装されているメモリの量といった要因によって決まる可能性がある。
【００３７】
本書に示した様々な方法は多機能プリンタに関するものであるが、かかる方法は随意選択的に多機能装置に適用することが可能である。例示的な方法に関して説明した様々な操作は一般に人及び／又は機械により実行される。
【００３８】
様々な例示的な方法及び／又はシステムを、構造的な特徴及び／又は方法論的なブロックに固有の言語で説明してきたが、特許請求の範囲の内容は、必ずしも本開示の特定の特徴又はブロックに限定されるものではない。かかる特定の特徴及びブロックは、特許請求の範囲の内容を実施するための好ましい形態として開示したものである。
【００３９】
以下においては、本発明の種々の構成要件の組み合わせからなる例示的な実施態様を示す。
１．多機能プリンタ（１１０，１１２，４１０，５１０，８４０）内のマルチコンポーネントソフトウェアを改訂する方法であって、
該マルチコンポーネントソフトウェアの少なくとも１つのソフトウェアコンポーネント（８０２，８０４，８０６）を改訂し、
前記マルチコンポーネントソフトウェアを認定し、
前記マルチコンポーネントソフトウェアを、随意選択的に単一のファイルを含むソフトウェアバンドル（８０８）としてバンドリングし、
前記ソフトウェアバンドル（８０８）を、随意選択的にスマートプリントカートリッジを含む多機能プリンタ（１１０，１１２，４１０，５１０，８４０）にロードする、
という各ステップを含む方法。
２．前記多機能プリンタ（１１０，１１２，４１０，５１０，８４０）を随意選択的に含むサーバ（１０４）上に前記ソフトウェアバンドル（８０８）を実装するステップを更に含む、前項１に記載の方法。
３．前記ロードステップの前、最中、及び／又は後に、前記改訂に関連する情報を送るステップを更に含む、前項１に記載の方法。
４．多機能プリンタ（１１０，１１２，４１０，５１０，８４０）にソフトウェアバンドル（８０８）をロードするための、コンピュータにより実行することが可能な命令を記憶する、コンピュータによりデータを読み出すことが可能な媒体であって、前記命令が、随意選択的に、前記多機能プリンタ（１１０，１１２，４１０，５１０，８４０）を初期化するための命令、及び／又は前記多機能プリンタ（１１０，１１２，４１０，５１０，８４０）にソフトウェアバンドルをロードすることに関連する情報を送る命令を含む、コンピュータによりデータを読み出すことが可能な媒体。
５．マルチコンポーネントソフトウェアをソフトウェアバンドル（８０８）という形で多機能プリンタ（１１０，１１２，４１０，５１０，８４０）にロードするステップを含む、多機能プリンタ（１１０，１１２，４１０，５１０，８４０）内のマルチコンポーネントソフトウェアを改訂する方法であって、前記ソフトウェアバンドル（８０８）が随意選択的に単一のファイルを含み、前記多機能プリンタ（１１０，１１２，４１０，５１０，８４０）が随意選択的にスマートプリントカートリッジを含む方法。
６．前記ソフトウェアバンドル（８０８）をサーバ（１０４）上に実装するステップを更に含み、該サーバ（１０４）が随意選択的に前記多機能プリンタ（１１０，１１２，４１０，５１０，８４０）を含む、前項５に記載の方法。
７．多機能装置（１１０，１１２，４１０，５１０，８４０）内のマルチコンポーネントソフトウェアを改訂する方法であって、
該マルチコンポーネントソフトウェアの少なくとも１つのソフトウェアコンポーネント（８０２，８０４，８０６）を改訂し、
該マルチコンポーネントソフトウェアを認定し、
該マルチコンポーネントソフトウェアをソフトウェアバンドル（８０８）としてバンドリングし、
該ソフトウェアバンドル（８０８）を前記多機能装置（１１０，１１２，４１０，５１０，８４０）にロードする、
という各ステップを含む方法。
８．前記ソフトウェアバンドル（８０８）をサーバ（１０４）に実装するステップを更に含み、該サーバ（１０４）が随意選択的に前記多機能装置（１１０，１１２，４１０，５１０，８４０）を含む、前項８に記載の方法。
９．ソフトウェアバンドル（８０８）を多機能装置（１１０，１１２，４１０，５１０，８４０）にロードするための、コンピュータにより実行することが可能な命令を記憶する、コンピュータによりデータを読み出すことが可読な媒体であって、該命令が、随意選択的に前記多機能装置（１１０，１１２，４１０，５１０，８４０）を初期化する命令を含む、コンピュータによりデータを読み出すことが可読な媒体。
１０．多機能プリンタ（１１０，１１２，４１０，５１０，８４０）であって、
ソフトウェアバンドル（８０８）を受容するための入力（１２８，１３０）であって、該ソフトウェアバンドル（８０８）が少なくとも２つのプリンタ部分に関するソフトウェアコンポーネント（８０２，８０４，８０６）を含み、随意選択的にネットワークインタフェイス（１２８）を含む入力（１２８，１３０）と、
前記ソフトウェアバンドル（８０８）に含まれる前記ソフトウェアコンポーネント（８０２，８０４，８０６）のそれぞれを区別するよう構成されたプロセッサであって、前記ソフトウェアバンドル（８０８）に関連するファイル拡張子を認識するよう随意選択的に構成されたプロセッサ（１２０）と
を含む、多機能プリンタ（１１０，１１２，４１０，５１０，８４０）。
【図面の簡単な説明】
【図１】多数のサーバ、ワークステーション、及びプリンタがデータ通信ネットワークを介して互いに結合されたネットワーク環境を示す説明図である。
【図２】本書で解説する様々な例示的なシステム及び／又は方法と共に使用するのに適したプリンタの適当な構成要素を示すブロック図である。
【図３】本書で解説する様々な例示的なシステム及び／又は方法と共に使用するのに適したコンピュータワークステーションの適当な構成要素を示すブロック図である。
【図４】例示的な多機能プリンタを示すブロック図であり、様々な機能ブロックが示されている。
【図５】少なくとも１つの有線又は無線通信リンクを有する一群のプリンタを示すブロック図である。
【図６】様々なサブブロックを示す機能ブロック図である。
【図７】ソフトウェアを改訂するための例示的な方法を示すブロック図である。
【図８】ソフトウェアを改訂するための例示的な方法を示すブロック図である。
【符号の説明】
１０４　　　　　　　　　サーバ
１１０，１１２，４１０，５１０，８４０　多機能プリンタ
１２０　　　　　　　　　プロセッサ
１２８　　　　　　　　　ネットワークインタフェイス
８０２，８０４，８０６　　　　　ソフトウェアコンポーネント
８０８　　　　　　　　　ソフトウェアバンドル
【図１】
2004005417.tif 000003
【図２】
2004005417.tif 000004
【図３】
2004005417.tif 000005
【図４】
2004005417.tif 000006
【図５】
2004005417.tif 000007
【図６】
2004005417.tif 000008
【図７】
2004005417.tif 000009
【図８】
2004005417.tif 000010