(57)【要約】【課題】  ファームウェアなどの制御プログラミングに対する更新を生成し、電子文書に埋め込み、プリンタ、ファクシミリ、またはその他の出力装置に送るシステムおよび関連技法を提供する。【解決手段】  本発明の実施形態による互換プリンタまたはその他の出力装置は、電子文書中に埋め込まれた更新を受け取り、解釈し、実行する中間言語インタプリタを含むことができる。その更新は、例えばプリンタのファームウェアに対する更新、ダウンロードしたフォーム、フォント、あるいは例えば出力装置内のＥＰＲＯＭまたはその他のメモリに格納することができるその他の更新または拡張を含むことができる。リソース更新は、互換プリンタ、ファクシミリ機、およびその他の装置で普遍的に解釈することのできる中間言語オブジェクトにカプセル化されるので、特殊コードを生成する必要または特定の製造業者の製品用の特殊な手続きに従う必要によって更新を送達することができる。【選択図】  図１
2006018808.tif 000002
【特許請求の範囲】
【請求項１】
リソース更新を生成して出力装置に送るシステムであって、
出力装置リソース更新を受け取る入力インターフェースと、
前記入力インターフェースと通信して前記出力装置リソース更新を受け取る共通言語ランタイム環境であって、前記出力装置リソース更新をカプセル化する中間言語オブジェクトを生成し、前記中間言語オブジェクトを電子文書と関連付ける共通言語ランタイム環境と、
前記中間言語オブジェクトを実行するように構成された出力装置に、前記電子文書および関連する中間言語オブジェクトを通信する出力インターフェースとを備えることを特徴とするシステム。
【請求項２】
前記出力装置リソース更新は、ファームウェア更新、１組の特殊レンダリング命令、および特殊コンテンツ出力のうちの少なくとも１つを含むことを特徴とする請求項１に記載のシステム。
【請求項３】
前記共通言語ランタイム環境は出力装置に依存しないことを特徴とする請求項１に記載のシステム。
【請求項４】
前記電子文書に対する前記中間言語オブジェクトの前記関連付けは、前記電子文書内に埋め込むことを含むことを特徴とする請求項１に記載のシステム。
【請求項５】
前記中間言語オブジェクトを実行するように構成された前記出力装置は、前記中間言語オブジェクトを解釈する中間言語インタプリタを含むことを特徴とする請求項１に記載のシステム。
【請求項６】
前記出力装置は、プリンタ、ファクシミリ機、コピー機、スキャナ、およびマルチファンクション出力装置のうちの少なくとも１つを含むことを特徴とする請求項１に記載のシステム。
【請求項７】
リソース更新を生成して出力装置に送る方法であって、
出力装置リソース更新を受け取るステップと、
前記出力装置リソース更新を共通言語ランタイム環境に送るステップと、
前記共通言語ランタイム環境で前記出力装置リソース更新をカプセル化する中間言語オブジェクトを生成するステップと、
前記中間言語オブジェクトを電子文書と関連付けるステップと、
前記中間言語オブジェクトを実行するように構成された出力装置に、前記電子文書および関連する中間言語オブジェクトを通信するステップとを備えることを特徴とする方法。
【請求項８】
前記出力装置リソース更新は、ファームウェア更新、１組の特殊レンダリング命令、および特殊コンテンツ出力のうちの少なくとも１つを含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記共通言語ランタイム環境は出力装置に依存しないことを特徴とする請求項７に記載の方法。
【請求項１０】
前記電子文書に対する前記中間言語オブジェクトの前記関連付けは、前記電子文書内に埋め込むことを含むことを特徴とする請求項７に記載の方法。
【請求項１１】
前記中間言語オブジェクトを実行するように構成された前記出力装置は、前記中間言語オブジェクトを解釈する中間言語インタプリタを含むことを特徴とする請求項７に記載の方法。
【請求項１２】
前記出力装置は、プリンタ、ファクシミリ機、コピー機、スキャナ、およびマルチファンクション出力装置のうちの少なくとも１つを含むことを特徴とする請求項７に記載の方法。
【請求項１３】
出力装置リソース更新を受け取るステップと、
前記出力装置リソース更新を共通言語ランタイム環境に送るステップと、
前記共通言語ランタイム環境で前記出力装置リソース更新をカプセル化する中間言語オブジェクトを生成するステップと、
前記中間言語オブジェクトを電子文書と関連付けるステップと、
前記中間言語オブジェクトを実行するように構成された出力装置に、前記電子文書および関連する中間言語オブジェクトを通信するステップとを備える方法によって生成されることを特徴とする出力装置リソース更新。
【請求項１４】
前記出力装置リソース更新は、ファームウェア更新、１組の特殊レンダリング命令、および特殊コンテンツ出力のうちの少なくとも１つを含むことを特徴とする請求項１３に記載の出力装置リソース更新。
【請求項１５】
前記共通言語ランタイム環境は出力装置に依存しないことを特徴とする請求項１３に記載の出力装置リソース更新。
【請求項１６】
前記電子文書に対する前記中間言語オブジェクトの前記関連付けは、前記電子文書内に埋め込むことを含むことを特徴とする請求項１３に記載の出力装置リソース更新。
【請求項１７】
前記中間言語オブジェクトを実行するように構成された前記出力装置は、前記中間言語オブジェクトを解釈する中間言語インタプリタを含むことを特徴とする請求項１３に記載の出力装置リソース更新。
【請求項１８】
前記出力装置は、プリンタ、ファクシミリ機、コピー機、スキャナ、およびマルチファンクション出力装置のうちの少なくとも１つを含むことを特徴とする請求項１３に記載の出力装置リソース更新。
【請求項１９】
リソース更新を受け取るように構成された出力装置であって、
中間言語オブジェクトを含む電子文書を受け取る入力インターフェースと、
前記中間言語オブジェクトを解釈して、前記出力装置に対するリソース更新を実行する中間言語インタプリタとを備えることを特徴とする出力装置。
【請求項２０】
前記リソース更新は、ファームウェア更新、１組の特殊レンダリング命令、および特殊コンテンツ出力のうちの少なくとも１つを含むことを特徴とする請求項１９に記載の出力装置。
【請求項２１】
前記出力装置は、プリンタ、ファクシミリ機、およびマルチファンクション出力装置のうちの少なくとも１つを含むことを特徴とする請求項１９に記載の出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は出力装置のコンピュータソフトウェア制御の分野に関し、より詳細には、プリンタまたはその他の出力装置のためのファームウェア、フォント、テンプレート、またはその他の更新を生成し、電子文書内に埋め込まれた中間言語オブジェクトとしてそのリソースまたは更新を装置に送るプラットフォームに関する。
【背景技術】
【０００２】
政府支援の研究または開発に関する陳述
該当なし。
【０００３】
レーザプリンタ、インクジェットプリンタ、およびその他のプリンタは、そのファームウェアを更新すること、あるいはそのようなプリンタまたはその他の出力装置に対するフォント、フォーム、またはその他の拡張または更新をダウンロードすることがしばしば困難な作業であるという制限の下で多年にわたって運用されてきた。図１に一般的に示すように、信頼性の高い更新に対する１つの障害として、プリンタ装置のＥＰＲＯＭまたはその他のメモリに格納されたファームウェアが往々にして１つの製造業者に特有のものであり、したがってそのハードウェア用の特定のドライバに依拠する可能性があり、更新プロセスが複雑になる。そのコードを生成および送信するのに特別なツールまたは知識が必要となる可能性がある。そのファームウェアまたはその他の制御プログラミングのデバッグおよび検証も同様に難しい可能性があり、エラーを生じやすい。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
さらに、プリンタに対するフォント、フォーム、あるいはその他のテンプレートまたはコンテンツを更新することも同様に、実際には難しいことが示されている。ある商用プラットフォームでは、フォント、フォーム、またはテンプレートを文書、例えばＡｄｏｂｅ（商標）Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ（ＰＤＦ（商標））ファイルまたはその他の文書に埋め込み、得られた文書をプリンタに送ることにより、そのデータをプリンタまたはその他の出力装置に駆動することが知られている。しかし、周知のプリンタ実装では、そうしたフォント、フォーム、またはその他のコンテンツは永続的ではなく、一般には、新しい文書を生成するごとに、プリンタに文書ごとに反復的に送らなければならない。あるいは、Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ（ＰＣＬ（商標））中のコードやその他の電子フォーム中のコードなどの低レベル命令をシリアルポート、パラレルポート、またはその他のポートを介してプリンタに通信して、プリンタＲＡＭ（ランダムアクセスメモリ）内にフォントまたはその他のコンテンツを動的に形成することができるが、そのタイプの非埋込み型制御コード（ｎｏｎ−ｅｍｂｅｄｄｅｄ  ｃｏｎｔｒｏｌ  ｃｏｄｅ）も同様に永続的ではなく、拡張性がない。プリンタおよびその他の出力装置の保守、更新、および使用において他の問題も存在する。
【課題を解決するための手段】
【０００５】
本技術分野における上記およびその他の問題を克服する本発明は、１つの点では、プリンタまたはその他の出力装置のための制御リソース（ｃｏｎｔｒｏｌ  ｒｅｓｏｕｒｃｅ）を生成するシステムおよび方法に関する。そのシステムおよび方法では、制御リソースを自動的に電子文書に埋め込むことができ、特別なフォーマットまたはコーディングを必要とすることなくプリンタまたはその他の出力装置に渡すことができる。諸実施形態では、制御リソースを、電子文書に埋め込まれ、または電子文書に関連する中間言語オブジェクト内にカプセル化することができ、その中間言語オブジェクトをプリンタまたはその他の装置で解釈または実行することができる。プリンタまたはその他の出力装置は、特定のデバイスドライバまたはその他の固有の詳細に依存しないセキュアなプログラム可能制御インフラストラクチャに基づいてファームウェア、フォント、またはその他のリソース更新を受け取ることができるので、プリンタの更新および制御ならびに印刷される出力およびその他のタイプの出力を簡素化することができ、信頼性を高めることができ、強力かつ柔軟にすることができる。
【発明を実施するための最良の形態】
【０００６】
図２に、本発明の一実施形態による、システムおよび方法が動作できるアーキテクチャを示す。この図に示すように、プリンタ１０２およびその他の出力装置は、接続１０８を介してクライアント１１０と通信し、その出力装置のリソースに対する更新および修正を実施することができる。図示するように、プリンタ１０２は、物理媒体印刷を駆動するプリントエンジン１２８、ならびにＥＰＲＯＭ（ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）１０４またはその他の媒体に格納することができるファームウェア１０６を含むことができる。プリントエンジン１２８は、諸実施形態では同様にＥＰＲＯＭ１０４に常駐することができ、またはＥＰＲＯＭ１０４から実行することができるが、本明細書で述べるように、リソース更新を解釈、処理、および実行するインタプリタ１１８を同様に含むことができる。プリンタ１０２またはその他の出力装置をクライアント１１０に結合する接続１０８は、諸実施形態では、例えばシリアルポートおよび接続、パラレルポートおよび接続、ＵＳＢ（ユニバーサルシリアルバス）ポートおよび接続、あるいはその他の接続またはチャネルを含むことができ、またはそれらにインターフェースすることができる。
【０００７】
クライアント１１０を操作するユーザは、ユーザインターフェース１２６を使用してそのマシンまたは装置を操作し、プリンタ１０２または他の出力装置中の出力装置リソースの更新を開始することができる。図示する実施形態では、クライアント１１０は、諸実施形態ではオペレーティングシステムでホストされるサービスでよく、またはそれを含むことができるプリントマネージャ１１６、ならびにオペレーティングシステムに同様に組み込むことができ、またはオペレーティングシステムでアクセスすることができる共通言語ランタイム環境１１２を含むことができる。ユーザは、図示するユーザインターフェース１２６上でプリンタ１０２またはその他の出力装置のリソースに対する更新、修正、パッチ、またはその他の変更を選択することができ、その機能を実施する共通言語ランタイム環境１１２を起動することができる。プリンタ１０２またはその他の出力装置に送達するように選ばれる更新または複数の更新は、例えばファームウェア１０６、１組のフォント、１つまたは複数の文書またはその他のアウトラインまたはテンプレート、あるいはその出力装置に関するその他のリソースまたはコンテンツに対する更新を含むことができる。
【０００８】
ある点における本発明の諸実施形態によれば、選ばれる更新は、ＣＤ−ＲＯＭまたはその他の媒体から読み取り、またはアクセスすることができ、インターネットまたはその他のネットワーク接続からアクセスまたはダンロードすることができ、あるいはその他の媒体またはチャネルから得ることができる。例えば、諸実施形態では、プリンタまたはファクシミリ機の特定のモデルに関する製造業者のウェブサイトにアクセスして、そのデータ、コード、またはコンテンツのセットをダウンロードおよび取得することができる。
【０００９】
共通言語ランタイム環境１１２は、出力装置リソースに対する所望の更新を受け取ることができ、そうした更新を反映するコード、命令、コンテンツ、またはデータを中間言語オブジェクト１１４にコンパイルすることができる。諸実施形態では、中間言語オブジェクト１１４は、解釈可能または実行可能コードでよく、またはそれを含むことができる。別の点における本発明の諸実施形態によれば、次いで中間言語オブジェクト１１４を、電子文書１２０に埋め込み、添付し、それにリンクし、またはそれに関連付け、プリンタ１０２またはその他の出力装置に送ることができる。ある点における本発明の諸実施形態によれば、電子文書１２０は、２００４年４月３０日出願、整理番号ＭＳ１−２０５１ＵＳ、「Document Markup Methods and Systems」という名称の米国特許出願第１０／          号明細書に記載のタイプの電子文書および関連するリソース、あるいはその他のコンポーネント化スキーマ（ｃｏｍｐｏｎｅｎｔｉｚｅｄ  ｓｃｈｅｍａ）に従って構成されたその他の電子文書でよく、またはそれを含むことができる。中間言語オブジェクト１１４は、オペレーティングシステムの動作により、先進ワードプロセッシングパッケージなどの出力認識アプリケーションあるいはその他のサービスまたはリソースにより、共通言語ランタイム環境１１２を介して電子文書１２０に埋め込むことができ、またはそれと関連付けることができる。
【００１０】
そのように生成された電子文書１２０は、テキスト、グラフィックス、他のコンテンツへのリンク、ならびに図示するようにファームウェア更新１２４あるいはその他のリソース更新または修正を含む１組の文書構成要素１２２を含むことができる。他の実施形態では、ファームウェア更新１２４またはその他のリソース更新は、「薄い（ｔｈｉｎ）」文書が非常に望まれるときに、電子文書１２０の内部コンテンツだけでよい。電子文書１２０は、接続１０８を介してプリンタ１０２またはその他の出力装置に送ることができ、プリントエンジン１２８で受け取ることができる。
【００１１】
プリントエンジン１２８は、文書構成要素１２２のセット内の実行可能または解釈可能なコードまたは命令の存在を検出するように構成することができる。そのようなコードまたはリソースが図示するように存在する場合、プリントエンジン１２８は、インタプリタ１１８を起動して、ファームウェア更新１２４、あるいはプリンタ１０２の制御またはコンテンツおよびその動作プログラムに対するその他の更新を読み取ることができる。ファームウェア更新１２４は、例えばアセンブラまたはアセンブラ類似コード、Ｃ＋＋またはＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）コードまたはデータ、あるいはその他の実行可能または解釈可能な情報でコーディングすることができる。ファームウェア更新１２４がプリントエンジン１２８で解釈されるとき、ファームウェア更新１２４を処理および実行して、プリンタ１０２のファームウェア１０６に対する更新を実施することができ、例えば更新したシェーディングルーチン、解像度向上、電源管理機能、または出力装置のその他の印刷機能または操作機能またはコンポーネントをインストールすることができる。
【００１２】
別の点における本発明の諸実施形態によれば、図３に示すように、出力装置リソースに対する更新は、様々な更新、アップグレード、修正、および拡張を含むことができる。この図に示すように、更新は、例えば、図示するファームウェア更新１２４、ならびに特殊レンダリング命令１３０、テンプレート、フォント、フォーム、文字セットなどのコンテンツ１３２、またはその他のコンテンツまたはデータなどの他のリソース拡張を含むことができる。特殊レンダリング命令１３０は、例えば、プリントまたは出力されるハーフトーン、グレイスケール、ベクトル処理またはその他の更新、コードまたはリソースを処理するパラメータでよく、またはそれを含むことができる。ファームウェア更新１２４は、例えば、ハーフトーンアルゴリズム、Ｐａｎｔｏｎｅ（商標）辞書、トナー色補償アルゴリズム、複雑なグラジエントまたは非線型のグラジエントなどのグラジエント処理用のアルゴリズム、カーニングアルゴリズム、適応イメージまたはフラクタルイメージまたは出力生成技法、あるいはその他の処理またはインテリジェンスでよく、またはそれを含むことができる。
【００１３】
電子文書１２０に埋め込むことができ、プリンタ１０２またはその他の出力装置に送信またはダウンロードすることができるコンテンツ１３２は、例えば、フォーム（例えば、領収書や航空便予約などの商用フォーム）、異なるタイプのフォント、グリフ、Ｕｎｉｃｏｄｅや言語特有の文字などの文字セット、クリップアート、あるいはその他のコンテンツまたはデータを含むことができる。図示する実施形態では、それによって電子文書１２０は、上記およびその他のタイプ更新リソースのどれを送達することができるかに応じて、複数のリソース更新を組み込むことができる。他のタイプまたはカテゴリのリソース更新も可能である。
【００１４】
図４に、本発明の一実施形態による、出力装置リソース更新の生成および通信のための処理全体を示す。ステップ４０２では、処理を開始することができる。ステップ４０４では、ファームウェア更新１２４またはフォントまたはその他のリソースまたはコンテンツ更新などの出力装置リソース更新を開始することができる。ステップ４０６では、対応するファームウェア、フォント、テンプレート、あるいはその他のリソースまたはコンテンツ更新などの出力装置リソース更新を、例えばＣＤ−ＲＯＭまたはその他の媒体からそのデータを読み取り、インターネットサイトからそのデータをダウンロードし、あるいはその他のデータストアまたはチャネルにアクセスすることによって読み取り、ダウンロードし、またはそれにアクセスすることができる。ステップ４０８では、クライアント１１０でホストされる共通言語ランタイム環境１１２を起動することができる。ステップ４１０では、そのようにして読み取り、またはアクセスしたファームウェア更新１２４またはその他の出力装置リソース更新を共通言語ランタイム環境１１２に送達することができる。
【００１５】
ステップ４１２では、ファームウェア更新１２４またはその他の出力装置リソース更新を共通言語ランタイム環境１１２で中間言語オブジェクト１１４にコンパイルすることができる。中間言語オブジェクト１１４は、アセンブラや、Ｃ＋＋、ＸＭＬ、またはその他の言語またはコードなどの構造化言語などのコードまたは命令でよく、またはそれを含むことができる。ステップ４１４では、中間言語オブジェクト１１４を、例えばインラインコードまたは命令、ヘッダデータ、あるいはその他のフォーマットまたは構造の形で電子文書１２０に埋め込み、添付し、または電子文書１２０と関連付けることができる。ステップ４１６では、例えばシリアル、パラレル、ＵＳＢ、あるいはその他の接続またはチャネルなどの接続１０８を介して、電子文書１２０をプリンタ１０２またはその他の出力装置に送ることができる。ステップ４１８では、プリンタ１０２またはその他の出力装置で電子文書１２０を受け取り、分解し、処理し、例えば文書構成要素１２２のセットを列挙することができる。
【００１６】
ステップ４２０では、中間言語オブジェクト１１４をプリンタ１０２またはその他の出力装置、例えばプリントエンジン１２８内のインタプリタ１１８またはその他のリソースで解釈することができる。ステップ４２２では、そのように解釈したコード、命令、またはデータを処理および実行して、プリンタ１０２のＥＰＲＯＭ１０４に対するファームウェア、フォント、あるいはその他の制御またはコンテンツ更新を実施することができ、あるいはプリンタ１０２またはその他の出力装置のリソースに対する更新を実施することができる。ステップ４２４では、処理を反復することができ、前の処理点に戻ることができ、別の処理点にジャンプすることができ、または終了することができる。
【００１７】
上記の本発明の説明は例示的なものであり、構成および実装の変更が当業者には思い浮かぶであろう。例えば、ファームウェア更新１２４またはその他のリソース更新を生成しプリンタ１０２に送ることに関連して本発明を一般的に説明したが、諸実施形態では、リソース更新を受け取る出力装置は、例えばファクシミリ機、複写機、スキャナ、マルチファンクション機（例えばプリンタ／複写機／スキャナ）、あるいはその他の装置またはハードウェアでよく、またはそれを含むことができる。
【００１８】
同様に、諸実施形態では、ファームウェア更新１２４またはその他のリソース更新を単一オブジェクトとして送るものとして本発明を説明したが、諸実施形態では、リソース更新は、単一の電子文書１２０内に含まれる複数の更新、あるいは複数の電子文書に含まれる更新またはリソースからなることができる。単一として説明した他のハードウェア、ソフトウェア、またはその他のリソースは、諸実施形態では分散することができ、同様に諸実施形態では、分散したものとして説明したリソースを結合することができる。
【００１９】
さらに、本発明を、別々のクライアント１１０を介して開始されたときにプリンタ１０２の出力装置リソースを更新するものとして一般的に説明したが、諸実施形態では、プリンタ１０２またはその他の出力装置の更新を、例えばプリンタ１０２自体の所またはプリンタ１０２を介することを含む、他の位置またはリソースを介して開始することができる。さらに例えば、ユーザがユーザインターフェース１２６を操作してファームウェア更新１２４またはその他のリソースを更新することを選択するシナリオで本発明を一般的に説明したが、諸実施形態では、ファームウェア更新１２４またはその他の更新リソースを、例えばネットワークを介して送達されるコレクティブプッシュ（ｃｏｌｌｅｃｔｉｖｅ  ｐｕｓｈ）を介して、１つまたは複数のプリンタ１０２あるいはその他の出力装置に自動的に送ることができる。したがって、本発明の範囲は、頭記の特許請求の範囲によってのみ限定されるものとする。
【図面の簡単な説明】
【００２０】
【図１】周知の更新技術によるプリンタファームウェア更新のための環境を示す図である。
【図２】本発明の諸実施形態による、リソース更新を生成し、出力装置に送ることのできる環境を示す図である。
【図３】本発明の一実施形態による、プリンタマネージャおよび更新クラスの論理アーキテクチャを示す図である。
【図４】本発明の諸実施形態による、ファームウェアおよびその他の制御リソース更新を生成し、そうした更新を電子文書に埋め込む処理全体を示す図である。
【符号の説明】
【００２１】
１０６  ファームウェア
１１２  共通言語ランタイム環境
１１４  中間言語オブジェクト
１１６  プリントマネージャ
１１８  インタプリタ
１２０  電子文書
１２４  ファームウェア更新
１２６  クリックするとＰＡＮＴＯＮＥ辞書をプリンタにインストールします
１２８  プリントエンジン
１１２  共通言語ランタイム環境
１１４  中間言語オブジェクト
１１６  プリントマネージャ
１２０  電子文書
１２４  ファームウェア更新
１３０  特殊レンダリング命令
１３２  テンプレート、フォント、その他のコンテンツ
【図１】
2006018808.tif 000003
【図２】
2006018808.tif 000004
【図３】
2006018808.tif 000005
【図４】
2006018808.tif 000006
【外国語明細書】
2006018808000001.pdf