(57)【要約】      （修正有）【課題】印刷デバイス用機種サポートの集中型サービスを提供すること。【解決手段】デバイス管理ソフトウェアを備えるコンピューティング・デバイスは、一次識別情報を要求する発見メッセージを印刷デバイスに送信できる。前記一次識別情報は、前記印刷デバイスの機種名およびファームウェア・バージョンを含む。前記コンピューティング・デバイスは、前記印刷デバイスから前記一次識別情報を受信する。前記コンピューティング・デバイスは、前記一次識別情報に基づく機種依存情報用のリクエストメッセージをサーバ装置へ送信する。前記コンピューティング・デバイスは、前記機種依存情報を含む前記サーバ装置から前記リクエストメッセージへの応答を受信する。前記コンピューティング・デバイスは、前記リクエストメッセージへの応答内の前記機種依存情報に基づくユーザーインターフェース（ＵＩ）ディスプレイを生成する。【選択図】図１
2016136388.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
１以上のプロセッサとデータ記憶部とを有するコンピューティング・デバイスであって、前記データ記憶部は少なくともデバイス管理ソフトウェア用のコンピュータ読み取り可能な指示を含み、前記デバイス管理ソフトウェア用の前記コンピュータ読み取り可能な指示が前記１以上のプロセッサにより実行されると、前記デバイス管理ソフトウェア用の前記コンピュータ読み取り可能な指示は前記コンピューティング・デバイスにデバイス管理機能を実行させ、前記デバイス管理機能は、
一次識別情報を要求する発見メッセージを印刷デバイスに送信する機能であって、前記一次識別情報が少なくとも前記印刷デバイスの機種名および前記印刷デバイスのファームウェア・バージョンを含む機能と、
前記印刷デバイスから前記一次識別情報を受信する機能と、
前記一次識別情報に基づく機種依存情報用のリクエストメッセージをサーバ装置へ送信する機能とを有するコンピューティング・デバイスと、
１以上のプロセッサとデータ記憶部とを有するサーバ装置であって、前記データ記憶部は少なくともコンピュータ読み取り可能な指示を含み、前記コンピュータ読み取り可能な指示が前記１以上のプロセッサにより実行されると、前記コンピュータ読み取り可能な指示は前記サーバ装置にサーバ装置機能を実行させ、前記サーバ装置機能は、
前記リクエストメッセージを受信する機能と、
前記コンピューティング・デバイスへ前記リクエストメッセージへの応答を送信する機能とを有するサーバ装置と、
を備え、
前記デバイス管理機能は、さらに、
前記リクエストメッセージへの前記応答を受信する機能と、
前記応答に基づく表示を生成する機能とを有するシステム。
【請求項２】
請求項１に記載のシステムであって、
前記表示を生成する機能は、
機能リストを備える表示を生成する機能と、
前記機能リストから選択された機能の選択を受信する機能とを有するシステム。
【請求項３】
請求項２に記載のシステムであって、
前記機能リストを備える前記表示を生成する機能は、さらに、
前記選択された機能の１以上のパラメータに対応する１以上のフィールドを持つ表示を生成する機能を有するシステム。
【請求項４】
請求項１乃至３のいずれか１項に記載のシステムであって、
前記一次識別情報は、さらに、前記印刷デバイス用の情報を特定する機能、前記印刷デバイスのメーカー用の情報を特定する機能、および前記印刷デバイスの物理的位置についての情報のうち１以上を含むシステム。
【請求項５】
請求項１乃至４のいずれか１項に記載のシステムであって、
前記機種依存情報は、前記印刷デバイスのハードウェアについての情報、前記印刷デバイスの１以上の印刷特性についての情報、前記印刷デバイスに関連付けられている１以上のタイマについての情報、前記印刷デバイス用の機能リストについての情報、および印刷デバイスエラーメッセージに関連する情報のうち１以上を含むシステム。
【請求項６】
請求項５に記載のシステムであって、
前記機能リストは、少なくとも１つのパラメータを持つ少なくとも１つの機能を備えるシステム。
【請求項７】
請求項１乃至６のいずれか１項に記載のシステムであって、
前記機種依存情報は、前記印刷デバイスのハードウェア構成についての情報を含むシステム。
【請求項８】
請求項７に記載のシステムであって、
前記印刷デバイスの前記ハードウェア構成は、前記印刷デバイス用のプリンタトレイの数と前記印刷デバイス用のパネルのタイプとのうち少なくとも１つを特定するシステム。
【請求項９】
請求項１乃至８のいずれか１項に記載のシステムであって、
前記印刷デバイスについての前記機種依存情報は、前記ファームウェア・バージョンに基づくシステム。
【請求項１０】
請求項１乃至９のいずれか１項に記載のシステムであって、
前記デバイス管理機能は、さらに、
前記機種依存情報に関連付けられている１以上の認証規則を決定する機能と、
ユーザーインターフェースを介して追加の機種依存情報を受信する機能と、
前記１以上の認証規則を使用して前記追加の機種依存情報を認証する機能とを備えるシステム。
【請求項１１】
方法であって、
コンピューティング・デバイスから印刷デバイスへ、一次識別情報を要求する発見メッセージを送信する工程であって、前記一次識別情報は、少なくとも前記印刷デバイスの機種名および前記印刷デバイスのファームウェア用のファームウェア・バージョンを備える工程と、
前記コンピューティング・デバイスにおいて、前記印刷デバイスから前記一次識別情報を受信する工程と、
前記コンピューティング・デバイスからサーバ装置へ、前記一次識別情報に基づく機種依存情報用のリクエストメッセージを送信する工程と、
前記コンピューティング・デバイスおいて、前記リクエストメッセージへの応答を前記サーバ装置から受信する工程と、
前記コンピューティング・デバイスを使用し、前記リクエストメッセージへの前記応答に基づく表示を生成する工程と、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷デバイスに関する。
【背景技術】
【０００２】
印刷デバイスは、台数及び世界中の各地域において増大しており、またさらにますますネットワークに接続されるようになってきた。これらのネットワークには印刷サーバを備えることができる。一般的に、１つ以上の文書および／または他の印刷データを印刷するためにスケジュールされる場合、印刷データは直接１つの印刷デバイスに送信される、もしくは印刷サーバに送信されるかのいずれかである。
【０００３】
印刷データが直接１つの印刷デバイスに送信される場合、印刷デバイスは印刷データを印刷するための印刷ジョブを完了させる。印刷データが印刷サーバに送信される場合、印刷サーバは印刷ジョブ用の１つ以上の印刷デバイスを選択する。そして、印刷サーバは印刷用に選択された印刷デバイスに印刷データを送信する。選択された印刷デバイスは印刷データを印刷し、印刷ジョブを完了させる。
【０００４】
ネットワークには、多数の印刷デバイスを含めることができる。印刷デバイスのいくつか、もしくは全ては、異なる特性、機能、および能力を備えることができる。例えば、印刷デバイスによってはカラー印刷を行うが、他の印刷デバイスは行わない。他の例として、印刷デバイスによっては１枚の用紙の両側に印刷可能な両面印刷ハードウェアを備えているが、他の印刷デバイスは１枚の用紙の片側にしか印刷できない。
【発明の概要】
【０００５】
第１の態様におけるシステムを説明する。前記システムは、コンピューティング・デバイスおよびサーバ装置を備える。前記コンピューティング・デバイスは、１つ以上のプロセッサおよびデータ記憶部を備える。前記データ記憶部は、少なくともデバイス管理ソフトウェア用のコンピュータ読み取り可能な指示を備え、前記デバイス管理ソフトウェア用の前記コンピュータ読み取り可能な指示が前記コンピューティング・デバイスの前記１つ以上のプロセッサにより実行される場合、前記デバイス管理ソフトウェア用の前記コンピュータ読み取り可能な指示は、前記コンピューティング・デバイスにデバイス管理機能を実行させる。前記デバイス管理機能は、一次識別情報を要求する発見メッセージを印刷デバイスへ送信する機能であって、前記一次識別情報は、少なくとも前記印刷デバイスの機種名および前記印刷デバイスのファームウェア・バージョンを含む機能と、前記印刷デバイスから前記一次識別情報を受信する機能、および前記一次識別情報に基づく機種依存情報用のリクエストメッセージを前記サーバ装置に送信する機能とを備える。前記サーバ装置は、１つ以上のプロセッサおよびデータ記憶部を備える。前記サーバ装置の前記データ記憶部は、少なくともコンピュータ読み取り可能な指示を備え、前記サーバ装置の前記１つ以上のプロセッサにより実行されると、コンピュータ読み取り可能な指示は、前記サーバ装置にサーバ装置機能を実行させる。前記サーバ装置機能は、前記リクエストメッセージを受信する機能、および前記リクエストメッセージへの応答を前記コンピューティング・デバイスに送信する機能を備える。前記デバイス管理機能は、さらに、前記リクエストメッセージへの前記応答を受信する機能、および前記応答に基づく表示を生成する機能を備える。
【０００６】
別の態様におけるメソッドを説明する。コンピューティング・デバイスは、一次識別情報を要求する発見メッセージを印刷デバイスに送信する。前記一次識別情報は、前記印刷デバイスの機種名および前記印刷デバイスのファームウェア用のファームウェア・バージョンを備える。前記コンピューティング・デバイスは、前記印刷デバイスから前記一次識別情報を受信する。前記コンピューティング・デバイスは、前記一次識別情報に基づく機種依存情報用のリクエストメッセージをサーバ装置に送信する。前記コンピューティング・デバイスは、前記サーバ装置から前記リクエストメッセージへの応答を受信する。前記コンピューティング・デバイスは、前記リクエストメッセージへの前記応答に基づく表示を生成する。
【０００７】
別の態様における製品を説明する。前記製品は、コンピュータ読み取り可能な指示を備え、前記コンピュータ読み取り可能な指示がコンピューティング・デバイスの１つ以上のプロセッサにより実行される場合、コンピュータ読み取り可能な指示は、前記コンピューティング・デバイスに機能を実行させる。前記機能は、印刷デバイスについての一次識別情報を要求する前記印刷デバイスに発見メッセージを送信する機能であって、前記一次識別情報は、前記印刷デバイスの機種名および前記印刷デバイスのファームウェア用のファームウェア・バージョンを含む機能と、前記印刷デバイスから前記一次識別情報を受信する機能と、前記一次識別情報に基づく機種依存情報用のリクエストメッセージを送信する機能と、前記サーバ装置から前記リクエストメッセージへの応答を受信する機能と、および前記リクエストメッセージへの前記応答に基づく表示を生成する機能とを備える。
【０００８】
他の態様、実施形態、および実装例は、添付図面を適宜参照しながら以下の詳細な説明を読むことにより当業者にとって明らかとなるであろう。
【図面の簡単な説明】
【０００９】
【図１】例示の実施形態に係る印刷システムを示す。
【図２Ａ】例示の実施形態に係るコンピューティング・デバイスをブロック図にて概略的に示す。
【図２Ｂ】例示の実施形態に係るデバイスマネージャーおよび複数の印刷デバイスを接続するネットワークをブロック図にて概略的に示す。
【図２Ｃ】例示の実施形態に係るデバイスマネージャーおよびサーバを接続するネットワークをブロック図にて概略的に示す。
【図３Ａ】例示の実施形態に係るデバイスマネージャーに関連付けられているユーザーインターフェースの例を示す。
【図３Ｂ】例示の実施形態に係るデバイスマネージャーに関連付けられているユーザーインターフェースの例を示す。
【図４】例示の実施形態に係るメソッドを示す。
【図５】例示の実施形態に係る印刷デバイスに関連付けられている機能リストを表示するためのシナリオを示す。
【図６】例示の実施形態に係るデバイス設定ダイアログを示す。
【図７】例示の実施形態に係る国ごとおよび国際的なデバイス設定ダイアログの例を示す。
【図８】例示の実施形態に係るメソッドをフローチャートにて示す。
【発明を実施するための形態】
【００１０】
以下に、説明を構成する一部となる添付図面を参照して、詳細な説明をする。図において、同じ符号は、一般的に、他に異なる記載がない限り同じ構成要素とする。詳細な説明に記載された例示の実施の形態、図面、及び請求項は限定することを意図するものではない。他の実施形態も利用可能であり、また開示された主題の範囲を逸脱することなく変更をすることは可能である。全般的に記載されまた図面に示されている本開示の諸態様は、広範囲にわたる様々な構成に再構成し、置換え、連結し、分割し、および設計することができ、そして、それらの全てが本記載の中で明らかに考慮されていることは容易に理解される。
［Ｉ．概要］
【００１１】
本願は、一般的に、印刷デバイスとインターフェースで接続されたデバイス管理ソフトウェアに関連する。最近の印刷システムの一例には、印刷データを印刷システム内の１つ以上の指定された印刷デバイスに送信可能な一群のコンピュータが含まれる。印刷システムによっては、印刷システム内の印刷デバイスのいくつか、もしくは全てが異なるメーカーにより製造され、特定の型番を持ち、および／または特性および実行可能なコマンドの特定のセットをサポートするものもある。
【００１２】
デバイスマネージャーは、デバイス管理ソフトウェアを実行する１つ以上のコンピューティング・デバイスとなることができ、印刷デバイスを管理するために利用できる。デバイスマネージャーは、印刷デバイス管理の一環として、印刷デバイスについての情報を取得し、メンテナンス、構成、および他のコマンド／データを印刷デバイスに送信できる。デバイスマネージャーは、印刷デバイスについての情報を保存できる。情報には、特定の印刷デバイスを識別するための一次識別情報、および特定の印刷デバイスの特性を識別するための機種依存情報を含むことができる。一次識別情報には、特定の印刷デバイスに関する特性、機能についての情報、および他の情報を含むことができる。例えば、デバイス管理ソフトウェアは、機能表のようなデータ構造に印刷デバイスの利用可能な機能についての機種依存情報を保存し、機種依存リストを提供するため、機種表および／または他のデータ構造に機種依存情報をリンクさせることができる。
【００１３】
セントラル・サーバは、例えば、メーカー名、機種名、ファームウェア・バージョン、デバイス製造番号、およびデバイスを操作する地理的地域のような、印刷デバイスの一次識別特性に基づく、印刷デバイス用に利用可能な機能のリストを提供するためのデバイス管理ソフトウェアを実行するデバイスマネージャーと通信を行うことができる。一次識別特性は、一連の利用可能な機能に印刷デバイスを一意にマップもしくはリンクするために利用できる。
【００１４】
印刷デバイスに利用可能な一連の機能には、デバイスステータス・モニタリング機能およびデバイス構成機能を含むことができる。デバイスステータス・モニタリング機能には、デバイスカウンタ、トナーレベル、およびエラーコードのような、だがこれに限定されるものではない、デバイスステータス情報を収集するための機能を含むことができる。デバイス構成機能には、ファンモードパラメータ、ＦＡＸパラメータ、およびメモリパラメータなどのような、だがこれに限定されるものではない、印刷デバイス用の特定のパラメータを再検討、および／または変更するための機能を含むことができる。場合によっては、印刷デバイスの利用可能なモニタリングおよび構成機能は、印刷デバイスのメーカー、デバイス機種および／またはファームウェア・バージョンにより決めることもできる。例えば、ファンモード用の構成パラメータは、特定のメーカーにより製造された印刷デバイスのある機種でのみ利用可能で、その特定のメーカーにより製造された印刷デバイスの他の機種では利用できないこともあり得る。
【００１５】
ネットワークに設置される印刷デバイスは、例えば、簡易ネットワーク管理プロトコル（ＳＮＭＰ）のようなネットワーク通信プロトコルを使用するデバイス管理ソフトウェアにより管理することができる。印刷デバイスは通信モジュールを含むファームウェアを実行することができ、通信モジュールは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、簡易メール転送プロトコル（ＳＭＴＰ）、および他の通信プロトコルのような通信プロトコルを利用するアプリケーション・プログラミング・インターフェース（ＡＰＩ）を介して、デバイス管理ソフトウェアと相互作用するように構成できる。
【００１６】
印刷デバイス用のファームウェアの各バージョンは、印刷デバイスに対し、一連の特定の特性および／またはＡＰＩを提供できる。一旦、デバイスマネージャーのデバイス管理ソフトウェアが印刷デバイスとのネットワーク通信を確立させると、印刷デバイスの一連の利用可能な機能のリストは、デバイスマネージャーのユーザーインターフェース（ＵＩ）を使用して、表示もしくは追加が可能である。このリストは、上述のように、印刷デバイスの一次識別特性に基づくことができる。
［ＩＩ．システムの例］
【００１７】
図１は、例示の実施形態に係る印刷システム１００を示す。印刷システム１００には、印刷デバイス１１０、１１２、１１４、クライアント装置１１６ａ…１１６ｎ、デバイスマネージャー１２０、１２４、およびネットワーク１４０を使用して相互接続された１つ以上のサーバ１３０が含まれる。例によっては、システム１００は、図１に示されたよりも多い、少ない、および／または図１に示されたものとは異なるタイプのクライアント装置、デバイスマネージャー、および／または印刷デバイスを備えることもできる。
【００１８】
例示の実施形態においては、印刷デバイス１１０、１１２、１１４のいくつか、もしくは全ては、１つ以上の、おそらく異なるネットワークプロトコルを介して、クライアント装置１１６ａ−１１６ｎのいくつか、もしくは全てに接続することができる。クライアント装置、デバイスマネージャー、印刷デバイス、サーバとネットワーク１４０間の有線および／または無線接続を通して、印刷デバイス１１０、１１２、１１４、クライアント装置１１６ａ−１１６ｎ、デバイスマネージャー１２０、１２４、およびサーバ１３０間で、データを送信することができる。システム１００のデバイス間のそれぞれのデータ送信の各形式には、テキスト形式、画像形式、拡張マークアップ言語（ＸＭＬ）、データベーステーブル、もしくは別のオリジナルもしくはフラットファイル形式を含む、１つ以上の様々な異なった形式を含むことができる。
【００１９】
クライアント装置、デバイスマネージャー、サーバ、および印刷デバイス間の通信には、クライアント装置１１６ａ−１１６ｎ、デバイスマネージャー１２０、１２４、および／またはサーバ１３０を含むことができる。サーバ１３０は、印刷ジョブおよび／または印刷ジョブの割り当て分のデータを、印刷用の印刷デバイス１１０、１１２、１１４に送信する。印刷デバイス１１０、１１２、１１４は、例えば、待機中、印刷中、休止、紙詰まり、用紙の僅少もしくは用紙切れ、トナー／インクの僅少もしくはトナー／インク切れなどのような、印刷デバイスのエラーもしくは他の状態について他のデバイスに通知するするため、クライアント装置１１６ａ−１１６ｎ、デバイスマネージャー１２０、１２４、および／またはサーバ１３０に、警告、ステータス、エラー、および／または他のメッセージを送信する。１つ以上のクライアント装置、１つ以上のデバイスマネージャー、１つ以上のサーバ、および１つ以上の印刷デバイス間の他の通信も、同様に可能である。
【００２０】
図１に示されているように、デバイスマネージャー１２０はデバイス管理ソフトウェア１２２を実行することでき、デバイスマネージャー１２４はデバイス管理ソフトウェア１２６を実行することができる。デバイス管理ソフトウェア１２２、１２６は、印刷デバイス１１０、１１２、１１４のような印刷デバイスを管理するための、本明細書中で説明されるデバイス管理機能を実行するように構成できる。実施形態によっては、デバイス管理ソフトウェア１２２は、デバイス管理ソフトウェア１２６と同じ機能性を備えることができる。
【００２１】
１つ以上のサーバ１３０は、一次識別特性および／または機種依存情報のような印刷デバイスに関連するデータを保存するように構成され、要求に応じてこのデータのいくらか、もしくは全てを提供することができる。例えば、デバイスマネージャー１２０および／または１２４のようなデバイスマネージャーは、印刷デバイス１１０、１１２、もしくは１１４のような印刷デバイス用の一次識別特性を備えるクエリを策定し、クエリをサーバ１３０に送信できる。サーバ１３０は、クエリ内に提供された一次識別特性に対応する印刷デバイス用の機種依存情報を含む応答を備えたクエリに応答できる。サーバ１３０は、同様に他の機能も実行できる。
【００２２】
図２Ａは、例示の実施形態に係るコンピューティング・デバイス２００をブロック図にて概略的に示す。実施形態によっては、コンピューティング・デバイス２００は、印刷デバイス１１０、１１２、１１４、２２８ａ−２２８ｎ、クライアント装置１１６ａ−１１６ｎ、デバイスマネージャー１２０、１２４、２２０、デバイス管理ソフトウェア１２２、１２６、サーバ１３０、２３０、メソッド４００および８００、ＵＩ表示部６１０ａ、６１０ｂ、７１０、および７２０のうち１つ以上の本明細書中で説明される機能、および／またはシナリオ５００に関連して本明細書中で説明される機能性を実行するように構成できる。
【００２３】
コンピューティング・デバイス２００には、１つ以上の入力装置２０２、１つ以上の出力装置２０４、１つ以上のプロセッサ２０６、およびメモリ２０８を含むことができる。入力装置２０２には、ユーザ入力装置、ネットワーク入力装置、センサ、および／または他のタイプの入力装置を含むことができる。例えば、入力装置２０２には、タッチスクリーン、キーボード、キーパッド、マウス、トラックボール、ジョイスティック、カメラ、音声認識モジュール、および／または他の同様なデバイスのようなユーザ入力装置を含むことができる。ネットワーク入力装置には、ネットワーク１４０の有線部分のような、ツイストペア線、同軸ケーブル、光ファイバーリンク、もしくは有線ネットワークへの同様な物理接続を介した通信が設定可能なイーサネット・トランシーバ、ユニバーサル・シリアル・バス（ＵＳＢ）トランシーバ、もしくは同様のトランシーバのような有線ネットワークレシーバおよび／またはトランシーバ、および／またはネットワーク１４０の無線部分のような、無線ネットワークを介した通信が設定可能なＢｌｕｅｔｏｏｔｈトランシーバ、Ｚｉｇｂｅｅトランシーバ、Ｗｉ−Ｆｉトランシーバ、ＷｉＭＡＸトランシーバ、無線広域ネットワーク（ＷＷＡＮ）トランシーバ、および／または他の同様なタイプの無線トランシーバのような無線ネットワークレシーバおよび／またはトランシーバを含むことができる。センサには、コンピューティング・デバイス２００の環境の状態を測定し、コンピューティング・デバイス２００の環境についての位置データ、速度（速さ、方向）データ、加速度データ、および他のデータを含むが、これに限定されるものではない、この環境についてのデータを提供するように構成されたデバイスを含むことができる。例示のセンサには、ＧＰＳセンサ、位置センサ、ジャイロスコープ、加速度計、磁力計、カメラ、光センサ、赤外線センサ、およびマイクロホンが含まれるが、これに限定されるものではない。他の入力装置２０２も、同様に可能である。
【００２４】
出力装置２０４には、ユーザ表示装置、可聴出力装置、ネットワーク出力装置、および／または他のタイプの出力装置を含むことができる。ユーザ表示装置には、１つ以上の印刷構成要素、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、レーザ、デジタル光処理（ＤＬＰ）技術を使用したディスプレイ、陰極線管（ＣＲＴ）、電球、および／または他の同様なデバイスを含むことができる。可聴出力装置には、スピーカ、スピーカジャック、音声出力ポート、音声出力装置、ヘッドホン、イヤホン、および／または他の同様なデバイスを含むことができる。ネットワーク出力装置には、ネットワーク１４０の有線部分のような、ツイストペア線、同軸ケーブル、光ファイバーリンク、もしくは有線ネットワークへの同様な物理接続を介した通信が設定可能なイーサネット・トランシーバ、ユニバーサル・シリアル・バス（ＵＳＢ）トランシーバ、もしくは同様のトランシーバのような有線ネットワークトランスミッタおよび／またはトランシーバ、および／またはネットワーク１４０の無線部分のような、無線ネットワークを介した通信が設定可能なＢｌｕｅｔｏｏｔｈトランシーバ、Ｚｉｇｂｅｅトランシーバ、Ｗｉ−Ｆｉトランシーバ、ＷｉＭＡＸトランシーバ、無線広域ネットワーク（ＷＷＡＮ）トランシーバ、および／または他の同様なタイプの無線トランシーバのような無線ネットワークトランスミッタおよび／またはトランシーバを含むことができる。他のタイプの出力装置には、振動装置、触覚フィードバック装置、および例えば、赤外線もしくは紫外線を発するデバイスのような、不可視光照射装置を含むことができるが、これに限定されるものではない。他の出力装置２０４も、同様に可能である。
【００２５】
プロセッサ２０６には、１つ以上の汎用プロセッサ、中央処理装置（ＣＰＵ）、ＣＰＵコア、および／または１つ以上の専用プロセッサ（例えば、グラフィックス・プロセッシング・ユニット（ＧＰＵ）、デジタル・シグナル・プロセッサ（ＤＳＰ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、など）を含むことができる。プロセッサ２０６は、メモリ２０８に含まれるコンピュータ読み取り可能な命令２１０、および／または本明細書中で説明されているような他の命令を実行するように構成できる。
【００２６】
メモリ２０８は、データおよび／または命令を保存するように構成された非一時的機械読み取り可能な記憶装置となり得る。具体的に言えば、メモリ２０８はコンピュータ読み取り可能な命令２１０を保存でき、コンピュータ読み取り可能な命令２１０がプロセッサ２０６により実行されると、コンピュータ読み取り可能な命令２１０は、本明細書中で説明されるデバイス、ネットワーク、メソッド、特性、およびシナリオの機能のような、だがこれに限定されるものではない機能を、コンピューティング・デバイスに実行させることができる。
【００２７】
図２Ｂは、例示の実施形態に係るデバイスマネージャー２２０および複数の印刷デバイス２２８ａ、２２８ｂ…２２８ｎを接続するネットワーク１４０をブロック図にて概略的に示す。デバイスマネージャー２２０は、デバイスマネージャー１２０もしくは１２４のような本明細書中で説明されるデバイスマネージャーのタスクを実行するために利用できる。
【００２８】
デバイスマネージャー２２０は、入力装置２０２、出力装置２０４、プロセッサ２０６、およびメモリ２０８を備えるコンピューティング・デバイス２００の一例である。デバイスマネージャー２２０のメモリ２０８は、デバイス管理ソフトウェア２２２のような、だがこれに限定されるものではない機械読み取り可能な命令および／またはデータを保存する。実施形態によっては、図２Ｂに示されるよりも少ない、もしくは多い、複数の印刷デバイスをネットワーク１４０、ひいてはデバイスマネージャー２２０に接続できる。
【００２９】
図２Ｂは、デバイス管理ソフトウェア２２２が少なくともデバイス発見モジュール２２４およびグラフィカル・ユーザー・インターフェース（ＧＵＩ）レンダリングモジュール２２６を含むことができることを示す。デバイス発見モジュール２２４は、発見メッセージを生成し、印刷デバイス２２８ａ、２２８ｂ…２２８ｎのうちの１つに送信するように構成できる。発見メッセージは、印刷デバイスメーカー、印刷デバイス機種、印刷デバイスファームウェア情報、印刷デバイスの地域（もしくは市場）情報、および／または印刷デバイスの識別に関連する他の情報のような、印刷デバイスからの一次識別情報を要求できる。印刷デバイスは、要求された一次識別情報を備える発見メッセージに応答できる。デバイス発見モジュール２２４は、一次識別情報を備えた印刷デバイスからの応答を受信できる。
【００３０】
一次識別情報の受信に応じて、デバイス発見モジュール２２４は、一次識別情報を含むが、これに限定されるものではない印刷デバイスについての情報を保存、通信、および／または処理することができる。例えば、デバイス発見モジュール２２４は、印刷デバイスについての機種依存情報を取得するためのリクエストメッセージを生成および送信できる。リクエストメッセージには、どの機種依存情報がデバイス発見モジュール２２４により要求されたかを識別するための一次識別情報を含むことができる。
【００３１】
デバイス発見モジュール２２４は、サーバ１３０にリクエストメッセージを送信でき、サーバ１３０は、デバイスマネージャー２２０にリクエストメッセージへの応答を送信できる。リクエストメッセージへの応答の受信に応じて、デバイス発見モジュール２２４は、リクエストメッセージへの応答から機種依存情報を検索し、機種依存情報を含むが、これに限定されるものではない印刷デバイスについての情報を保存、通信、および／または処理することができる。例えば、一次識別情報および機種依存情報は、一次識別情報を機種依存情報に関連づけるマップ（もしくは他のデータ構造）に保存することができる。
【００３２】
他の例として、ＧＵＩレンダリングモジュール２２６は、印刷デバイスについての一次識別情報および／または機種依存情報を含む表示部を生成できる。実施形態によっては、ＧＵＩレンダリングモジュール２２６は、名称および／または他の識別子のような、表示部上の印刷デバイスの数についての属性を表示し、表示部を介して表示された印刷デバイスの選択を可能にし、この選択に応じて、表示部を介して選択された印刷デバイスについての一次識別情報および／または機種依存情報を提供および表示するように構成できる。デバイスマネージャー２２０による一次識別情報および／または機種依存情報の使用の他の多数の例も、同様に可能である。
【００３３】
図２Ｃは、例示の実施形態に係るデバイスマネージャー２２０およびサーバ２３０を接続するネットワーク１４０をブロック図にて概略的に示す。サーバ２３０は、サーバ１３０のうちの１つのような、本明細書中で説明されるサーバ、サーバ装置、および／またはセントラル・サーバのタスクを実行するために利用できる。
【００３４】
サーバ２３０は、入力装置２０２、出力装置２０４、プロセッサ２０６、およびメモリ２０８を備えるコンピューティング・デバイス２００の一例である。サーバ２３０のメモリ２０８は、機種依存マップ２６０に関連するソフトウェアおよびデータのような、だがこれに限定されるものではない機械読み取り可能な命令および／またはデータを保存する。実施形態によっては、図２Ｃに示されるよりも少ない、もしくは多い、複数のデバイスマネージャーおよびサーバをネットワーク１４０に接続できる。
【００３５】
機種依存マップ２６０は、印刷デバイスの予め定義された一次特性に基づく印刷デバイスの機能についての情報を提供するソフトウェア・システムになり得る。すなわち、機種依存マップは、印刷デバイス機種、印刷デバイス・ファームウェア・バージョン、および市場地域データのような一次識別情報を、特定の一連のデバイス機種依存機能のような機種依存情報に関連づけることができる。
【００３６】
図２Ｃは、サーバ２３０のメモリ２０８に保存された機種依存マップ２６０が一次識別情報２７０および機種依存情報２８０を含むことを示す。機種依存マップ２６０をサポートする、サーバ１３０のようなデバイスは、機種依存情報への変更を保持および保存するため、手動、半自動、および／または自動技術を利用できる。任意のデバイスもしくはアプリケーションは、機種依存マップの更新、もしくは既存の一次識別情報に基づく新規のエンティティの挿入のための情報を共有でき、新規のエンティティは、例えば、利用可能な機能のリストのような機種依存情報を定義できる。
【００３７】
一次識別情報２７０には、機種名２７２、ファームウェア・バージョン２７４、および地域２７６が含まれる。機種名２７２は、例えば、京セラＥＣＯＳＹＳ・ＦＳ−Ｃ８６５０ＤＮカラー・ネットワーク・レーザープリンター、京セラＦＳ−Ｃ８６５０ＤＮ、ＦＳ−Ｃ８６５０ＳＮのような、印刷デバイスのメーカーおよび／または機種名を特定できる。ファームウェア・バージョン２７４には、例えば、バージョン１、初期リリース、ビルド１７２．１３３４５のような、印刷デバイスのファームウェアのリリース、ビルド、および／またはバージョンを特定する情報を含むことができる。地域２７６には、例えば、アジア太平洋、日本、北アメリカ、フランス語市場のような、印刷デバイスが利用されている地理的地域（もしくは市場）についての地理的地域（もしくは市場）情報を含むことができる。
【００３８】
機種依存情報２８０には、一次識別子（ＩＤ）２８２および１つ以上の機能２８４を含むことができる。一次識別子２８２には、一次識別情報２７０のいくらか、もしくは全て、および／または、例えば、一次識別情報２７０のいくらか、もしくは全てに基づいて算出されるハッシュ値のような、一次識別情報２７０のいくらか、もしくは全ての表現を含むことができる。例えば、一次識別子２８２は、印刷デバイスメーカー（Ｋｙｏｃｅｒａ）、機種名（Ｍｉｔａ  ＦＳ１０２０Ｄ）、およびファームウェア・バージョン情報（１５４．０８  Ａ０１１  ＩＢ−２１Ｅ  １．４．０）を識別する、「Ｋｙｏｃｅｒａ  Ｍｉｔａ  ＦＳ１０２０Ｄ  １５４．０８  Ａ０１１  ＩＢ−２１Ｅ  １．４．０」となり得る。他の多数の一次識別子も、同様に可能である。
【００３９】
機能２８４には、一次識別子２８２を使用して識別された印刷デバイス用の１つ以上の機能についての情報を含むことができる。例えば、「Ｋｙｏｃｅｒａ  Ｍｉｔａ  ＦＳ１０２０Ｄ  １５４．０８  Ａ０１１  ＩＢ−２１Ｅ  １．４．０」という一次識別子２８２に関連付けられている機能２８４には、印刷デバイスはレーザープリンターで、ＵＳＢネットワークインターフェイスを備え、白黒印刷をし、トナーを利用し、２５０シートの印刷トレイで構成可能で、片面もしくは両面のどちらかに印刷し、および１分当たり２０ページまで印刷することを示す機能を含むことができる。他の多数の機能２８４も、同様に可能である。
［ＩＩＩ．機種依存情報を備えたデバイス管理ソフトウェア］
【００４０】
デバイス管理ソフトウェア２２２は、少なくとも３つの操作を実行するため、図１の印刷システム１００に示されるような、ネットワークを介した印刷デバイスで操作できる。
【００４１】
操作１：デバイス管理ソフトウェア２２２は、ネットワーク上で印刷デバイスを発見し、初期デバイス識別情報を収集し、予想される表示部にデバイスのリストを追加できる。デバイス管理ソフトウェア２２２は、ネットワーク利用可能な印刷デバイスに接続し、これらのデバイスの一次識別情報を収集できる。ネットワーク利用可能な印刷デバイスおよび一次識別情報のリストは、例えば、デバイス管理ソフトウェア２２２のＧＵＩレンダリングモジュール２２６のような、デバイスマネージャーのソフトウェアＵＩモジュールを使用して表示できる。
【００４２】
図３Ａは、例示の実施形態に係るデバイスマネージャー１２０に関連付けられているユーザーインターフェースの一例を示す。システム１００の一部として、デバイスマネージャー１２０は、ネットワーク１４０を介して少なくとも印刷デバイス１１０および１１４に接続する。デバイスマネージャー１２０はデバイス管理ソフトウェア１２２を実行し、デバイス管理ソフトウェア１２２は、例えば、発見された印刷デバイスに関連するユーザーインターフェースを生成するためのＧＵＩレンダリングモジュール２２６を使用して、構成される。図３Ａに示される例において、デバイスマネージャー１２０は少なくとも印刷デバイス１１０および１１４を発見しており、印刷デバイス１１０は「機種ＡＡＡ」印刷デバイスであり、印刷デバイス１１４は「機種ＢＢＢ」印刷デバイスである。
【００４３】
印刷デバイス１１０および１１４を発見し、これらのデバイスについての一次識別情報を取得した後、デバイスマネージャー１２０のデバイス管理ソフトウェア１２２は、図３Ａに示される「印刷デバイスリスト」表示部３１０のような、発見されたデバイスのリストを表示できる。表示部３１０は、図３Ａに示されるように、名称および機種ごとにデバイスをリストアップし、印刷デバイス１１０および１１４は、それぞれ「デバイス１１０」および「デバイス１１４」というデバイス名、およびそれぞれ「機種ＡＡＡ」および「機種ＢＢＢ」という機種名で表示部３１０に表示される。例えば、デバイス管理ソフトウェア１２２は、アイコン、ボタン、もしくは他の制御のような、ユーザーインターフェース構成要素を備えることができ、ユーザーインターフェース構成要素が選択されると、ユーザーインターフェース構成要素は表示部３１０を生成および表示するようにデバイス管理ソフトウェア１２２に指示する。
【００４４】
操作２：デバイス管理ソフトウェアのＵＩは、印刷デバイスの一連の利用可能な機能のリストを表示できる。例えば、ＵＩは、デバイス管理ソフトウェア２２２のＧＵＩレンダリングモジュール２２６により表示できる。ユーザがＵＩを使用して特定の印刷デバイスを選択すると、デバイス管理ソフトウェアは、選択された印刷デバイスにどの機能が利用可能かどうか識別できる。
【００４５】
デバイス管理ソフトウェア１２２は、また、おそらくローカルに保存されたデータを介して、もしくはサーバ１３０のようなサーバを介して、機種固有情報を決定できる。デバイスマネージャー１２０のデバイス管理ソフトウェア１２２は、発見された印刷デバイスに対する、サポート機能のような機種固有情報のリストを表示できる。例えば、図３Ａは、印刷デバイス１１０用にサポート機能をリストアップする表示部３２０を示し、サポート機能には、「機能名１２」および「機能名２２」が含まれる。図３Ａは、また、印刷デバイス１１４に対するサポート機能をリストアップする表示部３２２を示し、サポート機能には、「機能名１」、「機能名２」、および「機能名３」が含まれる。図のように、表示部３２０もしくは３２２のような、サポート機能の表示部は、表示部３１０に示された印刷デバイスの選択に応じて生成および表示できる。
【００４６】
操作３：デバイス管理ソフトウェアは、一連の利用可能な機能の機能ごとのパラメータのリストを表示できる。場合によっては、機能はパラメータを備える。例えば、３つのパラメータを備えた機能「Ｆｕｎｃｔｉｏｎ２」用の疑似コードは、
Ｆｕｎｃｔｉｏｎ２（ｐａｒａｍｅｔｅｒ１、ｐａｒａｍｅｔｅｒ２、ｐａｒａｍｅｔｅｒ３）
となり得る。パラメータは機能ごとに異なり得る。例えば、デバイス管理ソフトウェア２２２のＧＵＩレンダリングモジュール２２６のような、デバイス管理ソフトウェアのＵＩは、これらのパラメータの値を入力および表示するためのフィールドを提供できる。
【００４７】
機能の各パラメータは、制限もしくは／および認証規則を備えることができる。制限には、データタイプ制限（例えば、文字列もしくは桁）、値範囲制限（例えば、どのくらいの長さか、どのくらいの大きさか）、および／または他の制限を含むことができる。認証規則は制限に非常に類似するが、例えば、パラメータ１が「Ａ」の値を有する場合、パラメータ２は１−３の値の範囲を取ることができるような、パラメータが依存し合う場合の規則を含むことができる。
【００４８】
機能および／またはパラメータは、一次識別情報に基づき変化し得る。すなわち、機能および／またはパラメータは、メーカー、印刷デバイス機種、市場／地域、および／またはファームウェア・バージョンの間で変化し得る。例えば、メーカーＡにより製造されたプリンタは、メーカーＢのプリンタに存在しない機能を備えることができる（もしくは逆もまた同様）。他の例として、同一のメーカーにより製造された印刷デバイスの２つの機種は、異なる機能および／またはパラメータを備えることができる。例えば、メーカーＢにより製造された「デラックス」機種のような１つの機種は、同一のメーカーにより製造された「エコノミー」機種に存在しない機能を備えることができる（もしくは逆もまた同様）。異なる地域および市場では、例えば、異なるサポート言語、用紙サイズ、文字コード（例えば、ＡＳＣＩＩ、ユニコードなど）、電気的特性に関連する機能など、異なる機能を同様に備えることができる。
【００４９】
さらに、各ファームウェア（およびおそらく他の印刷デバイスソフトウェア）リリースにより、印刷デバイスの特性、機能、および／またはパラメータを追加、削除、および／または変更することが可能である。例えば、特定の印刷デバイス用のバージョン番号「１．０」のファームウェアリリースは３００ドット／インチ（ＤＰＩ）より大きい印刷をサポートしないが、その特定の印刷デバイス用のより最近のバージョン番号「２．０」のファームウェアリリースは３００（もしくはそれ以上の）ＤＰＩをサポートできる場合、その特定の印刷デバイス用に特定された最大ＤＰＩに基づくパラメータの値および関連する機能性は、印刷デバイスにどのバージョンのファームウェアが使用されているかに基づいて異なることになる。異なった一次識別特性に基づく、異なった特性、機能、およびパラメータ値の他の多数の例も、同様に可能である。
【００５０】
図３Ｂは、例示の実施形態に係るデバイスマネージャー２２０に関連付けられているユーザーインターフェースの一例を示す。具体的に言えば、図３Ｂは、印刷デバイス１１４の選択された機能「機能名２」に対する一例を示し、機能は、図３Ａと関連して上述された表示部３２２を介して選択される。説明された例において、機能「機能名２」の選択３３０は、表示部３２２を使用してなされる。
【００５１】
この例を継続して、機能名２は、例えば、ｆｕｎｃｔｉｏｎ２（ｐａｒａｍｅｔｅｒ１、ｐａｒａｍｅｔｅｒ２、ｐａｒａｍｅｔｅｒ３）のような、上述したようなおよび機能３４０のような疑似コードを備える。一旦、機能名２が選択されると、例えば、デバイス管理ソフトウェア２２２のＧＵＩレンダリングモジュール２２６により表示および制御されたＧＵＩのような、デバイスマネージャー２２０のＧＵＩは、例えば、予め選択された印刷デバイス１１４の機種名のような、「機種ＢＢＢ」印刷デバイス用の「機能名２」の３つのパラメータの値を設定、再検討、および／または変更するための表示部３４２を生成できる。表示部３４２には、機能名２の各パラメータ、パラメータ１、パラメータ２、およびパラメータ３の値を再検討および／または制御するためのコントロールフィールド（ＣＦ）３４４、３４６、および３４８が含まれる。
［ＩＶ．デバイス管理ソフトウェアを使用した機種依存情報の取得用アプローチ］
【００５２】
印刷デバイスに利用可能な機能についての情報のような、機種依存情報を取得するために、複数のアプローチが利用できる。
【００５３】
１．印刷デバイスは、印刷デバイス自体で利用可能な機能についての機種依存情報を提供できる。デバイスマネージャー（もしくは他のコンピューティング・デバイス）は、ネットワーク上の利用可能なデバイスについて必要な全ての情報を収集するため、図４に示されるメソッド４００を使用できる。
【００５４】
メソッド４００はブロック４１０から開始でき、デバイスマネージャーは印刷デバイスに接続できる。例えば、システム１００のデバイスマネージャー１２０は、少なくとも図４に示される印刷デバイス１１０および１１４に接続できる。
【００５５】
そして、ブロック４２０では、デバイスマネージャーは、そのデバイスマネージャーに接続される、および／または管理されている各印刷デバイスに、機種依存情報（およびおそらく一次識別情報）のリクエストを送信できる。例えば、システム１００のデバイスマネージャー１２０は、少なくとも図４に示される印刷デバイス１１０および１１４にリクエストを送信できる。
【００５６】
ブロック４３０では、デバイスマネージャーは、そのデバイスマネージャーに接続されるおよび／または管理されている印刷デバイスから少なくとも要求された機種依存情報を備える応答を受信できる。実施形態によっては、各印刷デバイスは、例えば、印刷デバイスの１つ以上の機能リストを陳列するため、機種依存情報を要求および／または提供する、共通の一貫したＡＰＩをサポートできる。
【００５７】
ブロック４４０では、デバイスマネージャーもしくは他のコンピューティング・デバイスは、ＵＩを使用して、上述した機能リストのような機種依存情報を表示できる。例えば、デバイスマネージャー１２０のデバイス管理ソフトウェア１２２は、機種依存情報を表示するため、ＧＵＩレンダリングモジュール２２６のような、ＧＵＩレンダリングモジュールを使用できる。
【００５８】
このアプローチの元、各印刷デバイスは、機種依存情報を保存するメモリといった機種依存情報を提供するためのリソース、少なくともいくらかのファームウェア・バージョンを備えた機種依存情報を提供するための帯域幅および／またはストレージ、および機種依存情報を供給するためのデータ記憶やＡＰＩサポートのためのソフトウェアを利用する。さらに、デバイス管理ソフトウェアは、リクエストを生成し、印刷デバイスに送信するためのソフトウェアおよびリソースを必要とする。例えば、印刷デバイス用の機能リストおよび／または他の機種依存情報を表示するのに先だって、デバイス管理ソフトウェアは、印刷デバイスから機種依存情報を要求できる。場合によっては、情報が要求され、印刷デバイスから取得された後、デバイス管理ソフトウェアは機種依存情報をキャッシュ／保存できる。
【００５９】
２．デバイスマネージャーのデバイス管理ソフトウェアは、機種依存情報を保存できる。例えば、デバイス管理ソフトウェアは、デバイスマネージャーにより管理されるデバイス機種ごとに機種依存情報を保存できる。
【００６０】
このアプローチには、少なくともデバイス管理ソフトウェアにより管理される印刷デバイスの全機種の最新の機種依存情報を保持するデバイス管理ソフトウェアの各インスタンスを含むことができる。最新の機種依存情報は、続いて、デバイス管理ソフトウェア・アプリケーションの実行中の全インスタンスに渡って分配され得る。さらに、デバイス管理ソフトウェアの各インスタンスは、新しい印刷機種が市場に出た場合にアップグレードしなければならない。それは、新しい印刷機種についての情報がデバイス管理ソフトウェアのインスタンスに分配されなければ、デバイス管理ソフトウェアはこの情報を持たないためである。
【００６１】
３．システム１００のサーバ１３０のような、専用サーバは、関与する全アプリケーションに印刷デバイスについての機種依存情報を提供するためのサービスを提供できる。サーバは、既存の全印刷デバイスの機種依存情報を保持するアプリケーションを使用でき、新しい機種が市場に加わるごと、および機種依存情報に対する他の変更ごとに更新できる。例えば、サーバ１３０は、機種依存マップ２６０を保持できる。そして、デバイス管理ソフトウェア、およびおそらく他のアプリケーションも、機種依存情報がサーバにより利用可能になるとすぐ、サーバから機種依存情報を取得できる。例えば、サーバは、クエリの一部として提供される一次識別情報に基づく機種依存情報を要求する、デバイス管理ソフトウェア、およびおそらく他のアプリケーションから、クエリを受信でき、要求された機種依存情報を備えるクエリへの応答（もしくはクエリがどういうわけか応じることができないというエラー表示）をすぐに反応して送信できる。
【００６２】
サーバは、本明細書中で説明される機種依存マップ２６０のような、１つ以上のデータ構造の機種依存情報を保存でき、機種依存マップ２６０は、印刷デバイスの予め定義された一次特性に基づく印刷デバイスの機能についての情報を提供するソフトウェアシステム（の一部）となり得る。すなわち、機種依存マップは、印刷デバイス機種、印刷デバイス・ファームウェア・バージョン、および市場地域データのような一次識別情報を、特定のデバイス機種依存機能のセットのような機種依存情報に結びつけることができる。
【００６３】
機種依存マップの新しいエンティティは、一次識別情報の１つ以上のデータ項目に基づくことができる。市場地域は、国際化により印刷デバイス用の機能がどの程度拡張するかを示すために利用できる。機種依存情報は、印刷デバイスのハードウェア構成オプションにより決定でき、ハードウェア構成により、例えば、用紙トレイはいくつインストールされるか、印刷デバイスの制御パネルのタイプなど、オプション装備の機器が特定される。場合によっては、機種依存機能もまた、特定の受け入れられたデータの範囲に関する追加レベルの機種依存性を導入する。例えば、考えられるインストールされたメモリーカードの範囲は、一次識別特性によって変化し得る。
【００６４】
サポートされた機種依存機能についての情報をリードバックする機種依存マップに移動する、複数の一次識別特性（入力パラメータ）がある。機種依存マップには、特定の印刷デバイスがサポートする、利用可能な機能およびパラメータにリンクする印刷デバイス用の利用可能な市場、機種、およびファームウェアのバージョンのリストを含むことができる。機種依存マップには、デバイス機種変数、ファームウェア・バージョン変数、およびおそらく他の変数を含む変数を保存できる。多数のオプション機能およびオプション機能の各変数は、印刷デバイスで実行中のファームウェアのバージョンに基づいて決定できる。例えば、オプション機能についての情報は、ファームウェア・バージョンの値に基づいて決定できる。
【００６５】
例えば、印刷デバイスＰＤ１のファームウェア・バージョン１は機能ｆ１、ｆ２、およびｆ３をサポートする一方、ＰＤ１のファームウェア・バージョン２は機能ｆ１＿ｐｒｉｍｅ、ｆ２、ｆ４、およびｆ５をサポートし、機能ｆ１＿ｐｒｉｍｅは機能ｆ１の修正バージョンであり、機能ｆ１は値が１である変数Ｖ１に関連付けられ、機能ｆ１＿ｐｒｉｍｅは値が１０である変数Ｖ１に関連付けられていると仮定する。すると、ＰＤ１のファームウェア・バージョンがわかれば、オプション機能ｆ３、ｆ４、およびｆ５がＰＤ１によりサポートされるかどうか、および１もしくは１０であるＶ１の値がＰＤ１に関連付けられているかどうか決定できる。
【００６６】
サーバ１３０のようなサーバには、機種依存マップ２６０のような機種依存マップを集中的に保持できる。デバイス管理ソフトウェア２２２のようなデバイス管理ソフトウェアは、サーバと通信し、特定の印刷デバイスに属する機種依存特性のＵＩ表示部を追加する機種依存マップを使用できる。印刷デバイスを管理するソフトウェア・アプリケーションおよび／またはユーザは、プリンタ装置機能、プリンタードライバーの構成および配備、印刷デバイスの数の管理およびメンテナンス、および集中型ネットワーク管理のトラッキング、デバイスからのビジネス関連情報（特定のデバイスにより使用された印刷ページ数、トナー量）の収集、印刷デバイス特性および構成要素についての情報提供、印刷デバイスの一次特性および二次機能（もしくは特性）の分類、およびおそらく他の用途のために、機種依存マップを使用できる。
【００６７】
機種依存情報の一例は、構成関連情報である。印刷デバイスは、例えば、「メンテナンスモード」のような特定のモードで管理することができる。特定のモードの間、印刷デバイスは、印刷デバイスの構成設定および／または状態に変更を許可する一連のコマンドもしくは操作をサポートできる。構成設定の一例は１つのトナーで印刷できるシート数であり、構成状態の一例は印刷デバイスに関連付けられているハードディスク（もしくは他のメモリデバイス）の初期化である。構成設定および状態の他の多数の例も、同様に可能である。
【００６８】
実際、全ての印刷デバイスで全ての構成設定および状態が利用可能なわけではない。すなわち、特定の構成設定および状態は、印刷デバイス機種のような、印刷デバイス一次識別情報によって、変化する、および／または利用不可になる（もしくは利用可能になる）。そして、機種依存マップとの関連では、構成設定および状態のようなメンテナンスモードユニットは、機種依存特性の例となる。
【００６９】
機種依存情報の他の例には、印刷デバイスの外部のシステムとの統合のサポートを可能にする印刷デバイスによりサポートされるＡＰＩに関連する情報がある。例えば、インク滴の大きさのような印刷関連パラメータは、いくつかの印刷デバイス用のＡＰＩを介して特定できる。他の例として、エラー報告および／またはエラーコードは、他の印刷デバイス用のＡＰＩの一部となり得る。
【００７０】
機種依存マップとのＡＰＩ／ソフトウェア統合の例のように、ソフトウェア・アプリケーションは、印刷デバイスと通信、および印刷デバイスを管理するために利用される機能ｆ１、ｆ２…を備えることができる。ソフトウェア・アプリケーションは、ソフトウェア・アプリケーションが印刷デバイスとインターフェースで接続するために使用する印刷デバイスの機能の可用性を知るため、機種依存マップに問い合わせることができる。印刷デバイスの機能の可用性をチェックするための例示の擬似コード構文は、以下の通りである。
ｂｏｏｌ  ａｖａｉｌａｂｉｌｉｔｙ  ＝  ｃｕｒｒｅｎｔ＿ｐｒｉｎｔｉｎｇ＿ｄｅｖｉｃｅ．ＩｓＡｖａｉｌａｂｌｅ（“ｆｕｎｃｔｉｏｎ＿ｃｏｄｅ”）
ここで、ｃｕｒｒｅｎｔ＿ｐｒｉｎｔｉｎｇ＿ｄｅｖｉｃｅは印刷デバイスを表すオブジェクトのインスタンスの表現であり、ｆｕｎｃｔｉｏｎ＿ｃｏｄｅは印刷デバイスによりサポートされる１つ以上の機能、特性、および／または設定の表現である。
【００７１】
実施形態によっては、デバイスマネージャーは全ての利用可能な機能、特性、および設定のリストを保持できるが、これらのリストは各デバイスマネージャーにより複製されてもよい。このデータ重複を避けるため、セントラル・サーバは、例えば、機種依存マップの機種依存情報の一部として、このようなリストを保持することができる。デバイス管理ソフトウェアを実行するデバイスマネージャーとセントラル・サーバ間の通信では、例えば、ＳＮＭＰ、ＨＴＴＰのような１つ以上のネットワークプロトコルを使用できる。
【００７２】
デバイス管理ソフトウェアが印刷デバイスの利用可能な機能、特性、および設定を使用しようとするシナリオにおいて、デバイス管理ソフトウェアと印刷デバイス間の初期通信では、印刷デバイスから一次識別情報を収集できる。そして、デバイス管理ソフトウェアは、一次識別情報を備えるセントラル・サーバへのクエリを策定できる。セントラル・サーバは、機種依存マップにおいて、利用可能な機能、特性、および設定のような機種依存情報を検索するためにクエリの一次識別情報を使用できる。そして、セントラル・サーバは、機種依存マップから検索された利用可能な機能、特性、および設定を備えたクエリへの応答を生成し、デバイス管理ソフトウェアに応答を送信できる。
【００７３】
図５は、例示の実施形態に係る印刷デバイスに関連付けられている機能リストを表示するためのシナリオ５００を示す。シナリオ５００は、システム１００の印刷デバイス１１０、デバイス管理ソフトウェア１２２を実行するデバイスマネージャー１２０、およびサーバ１３０間の一連の通信を示す。
【００７４】
シナリオ５００は、一次識別情報に関して印刷デバイス１１０にリクエスト５１０を送信するデバイスマネージャー１２０から開始する。リクエスト５１０に応じて、印刷デバイス１１０は、例えば、印刷デバイス１１０に関するメーカー名、機種名、ファームウェア・バージョン、市場／地理的地域、および／または他の情報のような、印刷デバイスを識別する一次識別情報を備えたメッセージ５１２を送信できる。
【００７５】
シナリオ５００は、メッセージ５１２で提供された一次識別情報に基づいて、機能リストのような、印刷デバイス１１０についての機種依存情報を取得するため、リクエスト５２０を生成するデバイスマネージャー１２０により継続される。一次識別情報に基づいたリクエスト５２０を生成した後、デバイスマネージャー１２０はサーバ１３０にリクエスト５２０を送信する。サーバ１３０は、リクエスト５２０から一次識別情報を取得し、取得した一次識別情報を鍵情報として使用して、機種依存マップ２６０のような機種依存マップに問い合わせ、一次識別情報を備える印刷デバイス用の機種依存情報を備えるマップからクエリ応答を受信する。シナリオ５００において、サーバ１３０は、「機能リストＡ」（要求された印刷デバイス１１０についての機種依存情報）を備えたメッセージ５２２を生成し、デバイスマネージャー１２０に送信することにより、リクエスト５２０に応答する。
【００７６】
メッセージ５２２を受信後、デバイスマネージャー１２０は、メッセージ５２２から機能リストＡという機能リストを取得できる。ブロック５３０において、デバイスマネージャー１２０は、印刷デバイス１１０の機能についての表示部（の一部）として、機能名およびパラメータなど、機能リストＡからデータを設定できる。例えば、デバイスマネージャー１２０は、図３Ａの表示部３２０を設定し、表示できる。
【００７７】
シナリオ５００は、ブロック５４０において、印刷デバイス１１０用の機能パラメータを含む機種依存データを更新するサーバ１３０により継続される。サーバ１３０が機種依存データを更新した後、シナリオ５００は、メッセージ５１２で提供され、デバイスマネージャー１２０により記憶された一次識別情報に基づく印刷デバイス１１０についての最新の機種依存情報を取得するためにリクエスト５５０を生成するデバイスマネージャー１２０により継続される（もしくは他のシナリオにおいては、一次識別情報はデバイスマネージャー１２０により印刷デバイス１１０から再要求できる）。リクエスト５５０の生成後、デバイスマネージャー１２０は、サーバ１３０にリクエスト５５０を送信する。サーバ１３０は、リクエスト５５０から一次識別情報を取得し、リクエスト５２０およびメッセージ５２２との関連で上述したように、機種依存マップからの一次識別情報を備える印刷デバイス用の最新の機種依存情報を受信するために一次識別情報を使用する。シナリオ５００において、サーバ１３０は、「機能リストＢ」（要求された印刷デバイス１１０についての最新の機種依存情報）を備えたメッセージ５５２を生成し、デバイスマネージャー１２０に送信することにより、リクエスト５５０に応答する。
【００７８】
メッセージ５５２の受信後、デバイスマネージャー１２０は、メッセージ５５２から機能リストＢという機能リストを取得できる。ブロック５６０において、デバイスマネージャー１２０は、印刷デバイス１１０の機能についての表示部（の一部）として、最新の機能名およびパラメータなど、機能リストＢからデータを設定できる。例えば、デバイスマネージャー１２０は、図３Ａの表示部３２０の更新バージョンを設定し、表示できる。ブロック５６０の完了後、シナリオ５００は完了できる。
【００７９】
シナリオによっては、デバイス管理ソフトウェアは、定期的に（例えば、１日１回、月２回、２ヶ月ごと）、要求に応じて（例えば、ＧＵＩおよび／またはコマンドを介して）、および／または他の条件に応じて（例えば、新しい印刷デバイスがデバイス管理ソフトウェアにより発見される）、セントラル・サーバからいくらかの機種依存情報をローカル機種依存マップとしてダウンロードできる。ダウンロードされたローカル機種依存マップは、拡張マークアップ言語（ＸＭＬ）形式、ジャバスクリプト・オブジェクト・ノーテーション（ＪＳＯＮ）オブジェクト、キーバリュー・リスト、もしくは他のいくつかの形式のような、１つ以上の形式になり得る。ローカル機種依存マップは、機能およびパラメータの詳細リストの目録を作成でき、例えば、１つ以上のユーザーインターフェースを介して、印刷デバイスを管理するためのデバイス管理ソフトウェアにより利用できる。
【００８０】
セントラル・サーバは、インターネットのような１つ以上のネットワークを介して、機種依存マップの一部もしくは全体をデバイス管理ソフトウェアに提供できる。そして上述のように、デバイス管理ソフトウェアは、セントラル・サーバからローカル機種依存マップを自動的にダウンロードするように構成できる。印刷デバイスメーカーは、その印刷デバイスメーカーにより適時に製造された印刷デバイスに関連する機種依存マップの一部を更新できる。さらに、印刷デバイスメーカーは、リリース日に先立って、新しい印刷デバイスの新たな、および／または近く発表される機種についての情報を提供するために機種依存マップを使用できる。
【００８１】
機種依存マップは、上述のような印刷デバイスメーカーにより、および／または他のエンティティにより管理でき、上述のような印刷デバイスメーカーおよび／または他のエンティティは、公衆ＡＰＩを介して、機種依存マップおよび／またはセントラル・サーバに情報を提供できる。公衆ＡＰＩは、独立した印刷デバイス販売会社による統合ソリューションを構築するために利用できる。コンテンツ・マネージメント・システムは、デバイス管理ソフトウェアのような、だがこれに限定されるものではない外部アプリケーションの機種依存情報をサポートできるように、公衆ＡＰＩを保持するために利用できる。
【００８２】
図６は、例示の実施形態に係るデバイス設定ダイアログを表示部６１０ａ、６１０ｂとして示す。表示部６１０ａ、６１０ｂは、図３Ａおよび図４で説明したような印刷デバイス１１０のような、機種名「機種ＡＡＡ」を持つ印刷デバイス用となり得る。表示部６１０ａおよび６１０ｂ双方とも、オートスリープ・タイマ・コントロールフィールド６１２、オートパネルリセット・タイマ・コントロールフィールド６１６、印刷タイムアウト可能・コントロールフィールド６２０、低電力タイマ・コントロールフィールド６２２、オートエラークリア・コントロールフィールド６２４、割り込みクリア・タイマ・コントロールフィールド６２６、およびエラージョブスキップ・コントロールフィールド６２８を含む、印刷デバイス１１０に関連する複数のコントロールフィールドを備える。
【００８３】
表示部６１０ａ、６１０ｂの各コントロールフィールドは、印刷デバイスパラメータに関連する１つ以上の制御を備えることができる。例えば、印刷デバイス１１０のオートスリープ・タイマ・パラメータ用のコントロールフィールド６１２には、スライダ（Ｓ）６１４ａおよび値領域６１４ｂを含むことができる。表示部６１０ａ、６１０ｂのユーザは、スライダ６１４ａおよび／または値領域６１４ｂを使用して、オートスリープ・タイマ・パラメータの値を再検討、および／または変更できる。他の例として、印刷デバイス１１０のオートパネルリセット・タイマ・パラメータ用のコントロールフィールド６１６は、チェックボックス（ＣＢ）６１８ａ、スライダ６１８ｂ、および値領域６１８ｃを備える。チェックボックス６１８ａは、チェックボックス６１８ａにチェックがある場合、印刷デバイス１１０はオートパネルリセット・タイマ・パラメータを使用する必要があり、チェックボックス６１８ａにチェックがない場合、印刷デバイス１１０はオートパネルリセット・タイマ・パラメータを使用する必要がない、というようにオートパネルリセット・タイマ・パラメータが利用されるべきであるか否かを示すために利用できる。
【００８４】
表示部６１０ａでは、チェックボックス６１８ａには印刷デバイス１１０がオートパネルリセット・タイマ・パラメータを使用する必要があることを示すためにチェックがあり、スライダ６１８ｂおよび値領域６１８ｃはオートパネルリセット・タイマ・パラメータの値が１２０秒に設定されていることを示している。また一方、表示部６１０ｂでは、チェックボックス６１８ａには印刷デバイス１１０がオートパネルリセット・タイマ・パラメータを使用する必要がないことを示すためにチェックがなく、表示部６１０ｂのスライダ６１８ｂが最小値を示すその範囲の左端に移動し、表示部６１０ｂの値領域６１８ｃが黒で塗りつぶされることにより、スライダ６１８ｂおよび値領域６１８ｃはオートパネルリセット・タイマ・パラメータが０（もしくはヌル）の値を持つことを示している。
【００８５】
表示部６１０ｂと比較して、表示部６１０ａは、オートパネルリセット・タイマ・パラメータに関して、スライダ６１８ｂがその可能な範囲において中間よりわずかに大きい箇所にあること、および値領域６１８ｃが特定の１２０秒という値を持つことを示している。図６はまた、表示部６１０ａが印刷タイムアウト可能およびエラージョブスキップ・パラメータも印刷デバイス１１０により利用されることを示す一方、表示部６１０ｂが印刷タイムアウト可能・パラメータのみが印刷デバイス１１０により利用されることを示すことを示している。
【００８６】
図７は、例示の実施形態に係る例示の国ごとおよび国際デバイス設定ダイアログをＵＩ表示部７１０および７２０として示す。ＵＩ表示部７１０および７２０の各々には、操作パネル言語設定、「優先  Ａ４／レター」設定、資産番号設定、ファイル名設定、「付加情報」設定、ＭＰトレイ用紙切れ設定、カラートナー切れアクション設定、ＵＳＢキーボードタイプ設定、およびトナー残量警告レベル設定を含む「共通」設定用のコントロールフィールドが含まれる。
【００８７】
ＵＩ表示部７１０は、例えば、日本語市場のような、特定の市場向けのデバイス設定ダイアログである。具体的には、「操作パネル言語」用のコントロールフィールド７１２は、英語および日本語の２つの言語から選択する選択部７１４を備える。コントロールフィールドのデフォルトおよび／または他の値は、選択部７１４を介した選択に影響され得る。例えば、選択部７１４を介して「英語」を選択することにより、「優先  Ａ４／レター」コントロールフィールド７１６で「オフ」がデフォルトで選択され（レターサイズの用紙に印刷されるように選択された文書を、ユーザの選択なしにＡ４サイズの用紙に印刷するべきではないことを示す）、および／または「ＵＳＢキーボードタイプ」コントロールフィールド７１８で「アメリカ英語」がデフォルトで選択される可能性がある。ＵＩ表示部７１０の他のコントロールフィールド間の類似する相互作用も、同様に可能である。
【００８８】
ＵＩ表示部７２０は、グローバル市場向けのデバイス設定ダイアログである。具体的には、「操作パネル言語」用のコントロールフィールド７１２は、英語、スペイン語、フランス語、ドイツ語、イタリア語、オランダ語、およびポルトガル語の少なくとも７つの言語から選択する選択部７２２を備える。ＵＩ表示部７２０のコントロールフィールド７１６および７１８のような、コントロールフィールドのデフォルトおよび／または他の値は、ＵＩ表示部７１０の選択部７１４と関連して上述したように、選択部７２２を介した選択に影響され得る。ＵＩ表示部７２０の他のコントロールフィールド間の類似する相互作用も、同様に可能である。
［Ｖ．操作のメソッドの例］
【００８９】
図８は、例示の実施形態に係るメソッド８００をフローチャートにて示す。メソッド８００は、少なくとも図２Ａと関連して上述したデバイスマネージャー２２０のような、デバイス管理ソフトウェアを実行するコンピューティング・デバイスにより、少なくとも一部分において実行され得る機種依存情報の表示部を生成するメソッドである。
【００９０】
メソッド８００はブロック８１０から開始でき、コンピューティング・デバイスは一次識別情報を要求する発見メッセージを印刷デバイスに送信できる。一次識別情報には、印刷デバイスの機種名、および印刷デバイスのファームウェアのファームウェア・バージョンを含むことができる。実施形態によっては、一次識別情報にはさらに、印刷デバイスの識別情報、印刷デバイスのメーカーの識別情報、および印刷デバイスの物理的位置についての情報のうち１つ以上を含むことができる。
【００９１】
ブロック８２０において、コンピューティング・デバイスは、印刷デバイスから一次識別情報を受信できる。
【００９２】
ブロック８３０において、コンピューティング・デバイスは、機種依存情報に関するリクエストメッセージをサーバ装置に送信でき、リクエストメッセージは一次識別情報に基づいている。実施形態によっては、機種依存情報は、印刷デバイスのハードウェアについての情報、印刷デバイスの１つ以上の印刷特性についての情報、印刷デバイスに関連付けられている１つ以上のタイマについての情報、印刷デバイスの機能リストについての情報、および印刷デバイスエラーメッセージに関連する情報のうち１つ以上を含むことができる。特定の実施形態においては、機能リストは少なくとも１つのパラメータを備える少なくとも１つの機能を含むことができる。
【００９３】
他の実施形態においては、機種依存情報は、印刷デバイスのハードウェア構成についての情報を含むことができる。他の実施形態のいくつかにおいては、印刷デバイスのハードウェア構成は、印刷デバイスのプリンタトレイの数および印刷デバイスのパネルのタイプの少なくとも１つを特定できる。さらに他の実施形態においては、印刷デバイスについての機種依存情報はファームウェア・バージョンに基づいている。
【００９４】
ブロック８４０において、コンピューティング・デバイスは、サーバ装置からのリクエストメッセージへの応答をコンピューティング・デバイスにおいて受信できる。
【００９５】
ブロック８５０において、コンピューティング・デバイスは、リクエストメッセージへの応答に基づく表示部を生成できる。実施形態によっては、表示部の生成には、機能リストを含む表示部の生成、および機能リストの機能の選択を含むことができる。特定の実施形態においては、機能リストを含む表示部の生成には、選択された機能の１つ以上のパラメータに応じた１つ以上のフィールドを備える表示部の生成を含むことができる。
【００９６】
実施形態によっては、メソッド８００にはさらに、コンピューティング・デバイスを使用した機種依存情報に関連付けられている１つ以上の認証規則の決定、コンピューティング・デバイスのユーザーインターフェースを介した追加の機種依存情報の受信、およびコンピューティング・デバイスを使用した１つ以上の認証規則を使用した追加の機種依存情報の認証を含むことができる。
【００９７】
詳細な説明に記載された例示の実施の形態、図面、及び請求項は限定することを意図するものではない。他の実施形態も利用可能であり、また開示された主題の主旨と範囲を逸脱することなく変更をすることは可能である。全般的に記載されまた図面に示されている本開示の諸態様は、広範囲にわたる様々な構成に再構成し、置換え、連結し、分割し、および設計することができ、そして、それらの全てが本記載の中で明らかに考慮されていることは容易に理解される。
【００９８】
図面における、任意のすなわち全てのラダー図、シナリオ、およびフローチャートに関しておよび本記載で述べられたように、各ブロックおよび／または通信は、例示の実施形態に従って情報を処理しおよび／または情報を送信することを表し得る。他の実施形態もこれらの例示の実施形態の範囲に含まれる。これらの他の実施形態において、例えば、ブロック、送信、通信、リクエスト、応答、および／またはメッセージとして記載された機能は、含まれる機能性によって、おおむね同時もしくは逆の順番を含む、示されたもしくは説明されたものとは異なる順序で実行されてもよい。さらに、より多くのもしくはより少ないブロックおよび／または機能が、本記載に記述されているどのラダー図、シナリオ、およびフローチャートと共に使用されてもよいし、また当該ラダー図、シナリオ、およびフローチャートは、部分的にもしくは全体的にお互いに結合されてもよい。
【００９９】
情報の処理を表すブロックは、方法もしくは技術の具体的な論理機能を実行するように構成することが可能な回路に相当し得る。それに代えてまたはさらに、情報の処理を表すブロックは、モジュール、セグメント、もしくはプログラムコードの一部分（関連するデータを含めて）に相当し得る。前記プログラムコードは、前記方法もしくは技術における具体的な論理機能もしくは動作を実行するための、処理部により実行可能な一つ以上の命令を含み得る。前記プログラムコードおよび／または関連するデータは、ディスクもしくはハードドライブ、もしくはその他の記憶媒体を含む記憶装置等の任意の種類のコンピュータ読み取り可能な媒体に格納することが可能である。
【０１００】
コンピュータ読み取り可能な媒体は、また、レジスタメモリ、プロセッサキャッシュ、およびランダムアクセスメモリ（ＲＡＭ）のような短期間データを格納するコンピュータ読み取り可能な媒体等の、非一時的でコンピュータ読み取り可能な媒体を含み得る。コンピュータ読み取り可能な媒体は、また、例えば、リードオンリーメモリー（ＲＯＭ）、光学もしくは磁気ディスク、コンパクトディスク・リードオンリーメモリー（ＣＤ―ＲＯＭ）のような、二次的もしくは持続的長期記憶装置等、より長期間プログラムコードおよび／またはデータを格納する非一時的でコンピュータ読み取り可能な媒体を含み得る。コンピュータ読み取り可能な媒体は、また、他の揮発性もしくは不揮発性記憶システムでもあり得る。コンピュータ読み取り可能な媒体は、また、例えば、コンピュータ読み取り可能な記憶媒体、または有形の記憶デバイスと考えることができる。
【０１０１】
本記載においてさまざまな態様および実施形態が開示されてきたが、他の態様および実施形態も当業者にとって明白であろう。本記載において開示されたさまざまな態様および実施形態は、例示目的であって限定することを意図するものではなく、真の範囲は以下の請求項により示されている。
【符号の説明】
【０１０２】
１００    印刷システム
１１０、１１２、１１４    印刷デバイス
１１６ａ−１１６ｎ    クライアント装置
１２０、１２４    デバイスマネージャー
１２２、１２６    デバイス管理ソフトウェア
１３０    サーバ
１４０    ネットワーク
【図１】
2016136388.tif 000003
【図２Ａ】
2016136388.tif 000004
【図２Ｂ】
2016136388.tif 000005
【図２Ｃ】
2016136388.tif 000006
【図３Ａ】
2016136388.tif 000007
【図３Ｂ】
2016136388.tif 000008
【図４】
2016136388.tif 000009
【図５】
2016136388.tif 000010
【図６】
2016136388.tif 000011
【図７】
2016136388.tif 000012
【図８】
2016136388.tif 000013
【外国語明細書】
TITLE
Centralized Service of a Model Support for Printing Devices
FIELD
[0001]       The present invention relates to a printing device.
BACKGROUND
[0002]       Printing devices have increased in number and geographic footprint throughout the world and have become increasingly connected to networks. These networks can include a print server. Typically, when one or more documents and/or other print data are scheduled to be printed, the print data is either directly sent to one printing device, or sent to a print server. 
[0003]       If the print data is sent directly to one printing device, the printing device completes a print job for printing the print data. If the print data is sent to a print server, the print server selects one or more printing devices for the print job. Then, the print server sends the print data to the selected printing devices for printing. The selected printing devices print the print data and complete the print job.
[0004]       The networks can include many printing devices.  Some or all of the printing devices can have different features, functions, and capabilities.  For example, some printing devices print in color, while others do not.  As another example, some printing devices are equipped with duplexing hardware that allows printing on both sides of a sheet of paper, while other printing devices can only print on one side of a sheet of paper.
SUMMARY
[0005]       In a first aspect, a system is provided. The system includes a computing device and a server device. The computing device includes one or more processors and data storage. The data storage includes at least computer-readable instructions for device management software, that when the computer-readable instructions for the device management software are executed by the one or more processors of the computing device, cause the computing device to perform device-management functions. The device-management functions include: sending a discovery message requesting primary identification information to a printing device, where the primary identification information includes at least a model name of the printing device and a firmware version of the printing device; receiving, from the printing device, the primary identification information; and sending a request message for model-dependent information that is based on the primary identification information to the server device. The server device includes one or more processors and data storage. The data storage of the server device includes at least computer-readable instructions that when executed by the one or more processors of the server device, cause the server device to perform server-device functions. The server-device functions include: receiving the request message; and sending a response to the request message to the computing device. The device-management functions further include receiving the response to the request message and generating a display based on the response. 
[0006]       In another aspect, a method is provided. A computing device sends a discovery message requesting primary identification information to a printing device. The primary identification information includes a model name of the printing device and a firmware version for firmware of the printing device. The computing device receives the primary identification information from the printing device. The computing device sends a request message for model-dependent information that is based on the primary identification information to a server device. The computing device receives a response to the request message from the server device. The computing device generates a display based on the response to the request message.
[0007]       In another aspect, an article of manufacture is provided. The article of manufacture includes computer-readable instructions that, when executed by one or more processors of a computing device cause the computing device to perform functions. The functions include: sending a discovery message to a printing device requesting primary identification information about the printing device, where the primary identification information includes a model name of the printing device and a firmware version for firmware of the printing device; receiving the primary identification information from the printing device; sending a request message for model-dependent information that is based on the primary identification information; receiving a response to the request message from the server device, and generating a display based on the response to the request message.
[0008]       Other aspects, embodiments, and implementations will become apparent to those of ordinary skill in the art by reading the following detailed description, with reference where appropriate to the accompanying drawings.
BRIEF DESCRIPTION OF THE
FIGURES
[0009]       FIG. 1 is a diagram illustrating a printing system, according to an example embodiment.
FIG. 2A is a schematic block diagram illustrating a computing device, according to an example embodiment.
FIG. 2B is a schematic block diagram illustrating a network connecting a device manager and a plurality of printing devices, according to an example embodiment.
FIG. 2C is a schematic block diagram illustrating a network connecting a device manager and a server, according to an example embodiment.
FIG. 3A illustrate an example user interface associated with a device manager, according to an example embodiment.
FIG. 3B illustrate an example user interface associated with a device manager, according to an example embodiment.
FIG. 4 is a diagram illustrating a method, according to an example embodiment.
FIG. 5 shows a scenario for rendering function lists associated with a printing device, according to an example embodiment.
FIG. 6 shows a device settings dialog, according to an example embodiment.
FIG. 7 shows example nation-specific and international device settings dialogs, according to an example embodiment.
FIG. 8 shows a flowchart for a method, according to an example embodiment.
DETAILED DESCRIPTION
[0010]       In the following detailed description, reference is made to the accompanying figures, which form a part hereof. In the figures, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, figures, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are explicitly contemplated herein.
I.      Overview
[0011]       The present application relates generally to device management software that interfaces with printing devices. An example modern printing system includes a group of computers that can send print data to one or more specified printing devices in the printing system. In some printing systems, some or all of the printing devices in the printing system are manufactured by different manufacturers, have specific model numbers, and/or support specific sets of features and executable commands. 
[0012]       A device manager, which can be one or more computing devices executing device management software, can be used to manage the printing devices. The device manager can obtain information about the printing devices and send maintenance, configuration, and other commands/data to the printing device as part of printing device management. The device manager can store information about the printing devices. The information can include primary identification information to identify specific printing devices and model-dependent information to identify features of specific printing devices. The primary identification information can include information about features, functions, and other information for the specific printing device. For example, the device management software can store model-dependent information about available functions of a printing device in a data structure such as a function table, and link the model-dependent information to a model table and/or other data structure to provide a model dependent list.
[0013]       A central server can communicate with device manager(s) executing device management software to provide a list of available functions for printing devices based on primary identification characteristics for the printing device; e.g., manufacturer name, model name, firmware version, device serial number and geographical region of device operation. The primary identification characteristics can be used to uniquely map or link a printing device to a set of available functions.
[0014]       The set of available functions for a printing device can include device status monitoring functions and device configuration functions. Device status monitoring functions can include functions for gathering device status information, such as, but not limited to, device counters, toner levels, and error codes. Device configuration functions can include functions for reviewing and/or changing specific parameters for a printing device, such as, but not limited to, fan mode parameters, FAX parameters, and memory parameters etc. In some cases, the available monitoring and configuration functions of a printing device can depend on a manufacturer, a device model, and/or a firmware version of the printing device. For example, configuration parameters for a fan mode could be available only on certain models of printing devices made by a particular manufacturer and not available on other models of printing devices made by the particular manufacturer.
[0015]       Printing devices that are located on a network can be managed by the device management software using a network communication protocol; e.g., Simple Network Management Protocol (SNMP). A printing device can execute firmware that includes a communication module, which can be configured to interact with the device management software via an Application Programming Interface (API) utilizing communication protocols such as HyperText Transport Protocol (HTTP), Simple Mail Transport Protocol (SMTP), and other communication protocols.
[0016]       Each version of firmware for a printing device can provide a set of specific features and/or an API for the printing device. Once device management software of a device manager establishes network communication with a printing device, a listing of the set of available functions of the printing device can be rendered or populated using a user interface (UI) of the device manager. This listing can be based on the primary identification characteristics for the printing device, as mentioned above.
II.        System
Examples
[0017]       FIG. 1 is a diagram illustrating printing system 100, according to an example embodiment. Printing system 100 includes printing devices 110, 112, 114, client devices 116a … 116n, device managers 120, 124, and one or more servers 130 interconnected using network 140. In some examples, system 100 can have more, fewer, and/or different types of client devices, device managers, and/or printing devices than indicated in FIG. 1 
[0018]        In an example embodiment, some or all printing devices 110, 112, 114 can be connected to some or all client devices 116a-116n through one or more, possibly different, network protocols. Data can be transmitted between printing devices 110, 112, 114, client devices 116a-116n, device managers 120, 124, and server(s) 130 over wired and/or wireless links between client devices, device managers, printing devices, servers and network 140. The format of each respective data transmission between devices in system 100 can include one or more of a variety of different formats including: text formats, image formats, extensible mark-up language (XML), database tables, or another original or flat file format.
[0019]       Communications between the client devices, device managers, servers, and printing devices can include: client devices 116a-116n, device managers 120, 124, and/or server(s) 130 sending data for print jobs and/or print job portions to printing devices 110, 112, 114 for printing and printing devices 110, 112, 114 sending alert, status, error, and/or other messages to client devices 116a-116n, device managers 120, 124, and/or server(s) 130 to inform other devices about error or other conditions of the printing devices; e.g., idle, printing, sleeping, paper jam, low or out of paper, low or out of toner/ink, etc. Other communications between one or more client devices, one or more device managers, one or more servers, and one or more printing devices are possible as well. 
[0020]       As indicated in FIG. 1, device manager 120 can execute device management software 122 and device manager 124 can execute device management software 126. Device management software 122, 126 can be configured to perform herein-described device management functions for managing printing devices, such as printing devices 110, 112, 114. In some embodiments, device management software 122 can have the same functionality as device management software 126. 
[0021]       One or more servers 130 can be configured to store data related to printing devices, such as primary identification characteristics and/or model-dependent information, and provide some or all of that data upon request. For example, a device manager, such as device manager 120 and/or 124, can formulate a query with primary identification characteristics for a printing device, such as printing device 110, 112, or 114, and send the query to server(s) 130. Server(s) 130 can respond to the query with a response that includes model-dependent information for a printing device corresponding to the primary identification characteristics submitted in the query. Server(s) 130 can perform other functions as well.
[0022]       FIG. 2A is a schematic block diagram illustrating computing device 200, according to an example embodiment. In some embodiments, computing device 200 can be configured to perform one or more herein-described functions of printing devices 110, 112, 114, 228a-228n, client devices 116a-116n, device managers 120, 124, 220, device management software 122, 126, server(s) 130, 230, methods 400 and 800, UI displays 610a, 610b, 710, and 720 and/or herein-described functionality related to scenario 500. 
[0023]       Computing device 200 can include one or more input devices 202, one or more output devices 204, one or more processors 206 and memory 208. Input devices 202 can include user input devices, network input devices, sensors, and/or other types of input devices. For example, input devices 202 can include user input devices such as a touch screen, a keyboard, a keypad, a computer mouse, a track ball, a joystick, a camera, a voice recognition module, and/or other similar devices. Network input devices can include wired network receivers and/or transceivers, such as an Ethernet transceiver, a Universal Serial Bus (USB) transceiver, or similar transceiver configurable to communicate via a twisted pair wire, a coaxial cable, a fiber-optic link, or a similar physical connection to a wireline network, such as wired portions of network 140, and/or wireless network receivers and/or transceivers, such as a Bluetooth transceiver, a Zigbee transceiver, a Wi-Fi transceiver, a WiMAX transceiver, a wireless wide-area network (WWAN) transceiver and/or other similar types of wireless transceivers configurable to communicate via a wireless network, such as wireless portions of network 140. Sensors can include devices configured to measure conditions in an environment of computing device 200 and provide data about that environment, such data including, but not limited to, location data, velocity (speed, direction) data, acceleration data, and other data about the environment for computing device 200. Example sensors include, but are not limited to, GPS sensor(s), location sensors(s), gyroscope(s), accelerometer(s), magnetometer(s), camera(s), light sensor(s), infrared sensor(s), and microphone(s). Other input devices 202 are possible as well.
[0024]       Output devices 204 can include user display devices, audible output devices, network output devices, and/or other types of output devices. User display devices can include one or more printing components, liquid crystal displays (LCD), light emitting diodes (LEDs), lasers, displays using digital light processing (DLP) technology, cathode ray tubes (CRT), light bulbs, and/or other similar devices. Audible output devices can include a speaker, speaker jack, audio output port, audio output device, headphones, earphones, and/or other similar devices. Network output devices can include wired network transmitters and/or transceivers, such as an Ethernet transceiver, a Universal Serial Bus (USB) transceiver, or similar transceiver configurable to communicate via a twisted pair wire, a coaxial cable, a fiber-optic link, or a similar physical connection to a wireline network, such as wired portions of network 140, and/or wireless network transmitters and/or transceivers, such as a Bluetooth transceiver, a Zigbee transceiver, a Wi-Fi transceiver, a WiMAX transceiver, a wireless wide-area network (WWAN) transceiver and/or other similar types of wireless transceivers configurable to communicate via a wireless network, such as wireless portions of network 140. Other types of output devices can include, but are not limited to, vibration devices, haptic feedback devices, and non-visible light emission devices; e.g., devices that emit infra-red or ultra-violet light. Other output devices 204 are possible as well.
[0025]       Processors 206 can include one or more general purpose processors, central processing units (CPUs), CPU cores, and/or one or more special purpose processors (e.g., graphics processing units (GPUs), digital signal processors (DSPs), field programmable gated arrays (FPGAs), application specific integrated circuits (ASICs), etc.). Processors 206 can be configured to execute computer-readable instructions 210 that are contained in memory 208 and/or other instructions as described herein.
[0026]       Memory 208 can be non-transitory machine-readable storage configured to store data and/or instructions. In particular, memory 208 can store computer-readable instructions 210 that, when executed by processor(s) 206, can cause a computing device to perform functions, such as but not limited to, functions of herein-described devices, networks, methods, features, and scenarios. 
[0027]       FIG. 2B is a schematic block diagram illustrating network 140 connecting device manager 220 and a plurality of printing devices 228a, 228b … 228n, according to an example embodiment. Device manager 220 can be utilized to perform the tasks of a herein-described device manager, such as device manager 120 or 124. 
[0028]       Device manager 220 is an example of computing device 200 having input devices 202, output devices 204, processors 206, and memory 208. Memory 208 of device manager 220 stores machine-readable instructions and/or data, such as, but not limited to device management software 222. In some embodiments, a smaller or larger plurality of printing devices can be connected to network 140, and therefore to device manager 220, than shown in FIG. 2B.
[0029]       FIG. 2B shows that device management software 222 can include at least device discovery module 224 and graphical user interface (GUI) rendering module 226. Device discovery module 224 can be configured to generate and send a discovery message to one of printing devices 228a, 228b…228n. The discovery message can request primary identification information from the printing device, such as printing device manufacturer, printing device model, printing device firmware information, region (or market) information for the printing device, and/or other information related to identifying a printing device. The printing device can respond to the discovery message with the requested primary identification information. Device discovery module 224 can receive the response from the printing device with the primary identification information. 
[0030]       Upon reception of the primary identification information, device discovery module 224 can store, communicate, and/or process information about the printing device, including but not limited to, the primary identification information. For example, device discovery module 224 can generate and send a request message to obtain model-dependent information about the printing device. The request message can include the primary identification information to identify what model-dependent information is requested by device discovery module 224. 
[0031]       Device discovery module 224 can send the request message to server(s) 130, which can send a response to the request message to device manager 220. Upon reception of the response to the request message, device discovery module 224 can retrieve model-dependent information from the response to the request message and store, communicate, and/or process information about the printing device, including but not limited to, the model-dependent information. For example, the primary identification information and model-dependent information can be stored in a map (or other data structure) relating the primary identification information to the model-dependent information.
[0032]       As another example, GUI rendering module 226 can generate a display that includes primary identification information and/or model-dependent information about printing devices. In some embodiments, GUI rendering module 226 can be configured to display attributes about a number of printing devices on the display, such as names and/or other identifiers, allow selection of a displayed printing device via the display, and, upon such selection, render and show primary identification information and/or model-dependent information about the selected printing device via the display. Many other examples of use of primary identification information and/or model-dependent information by device manager 220 are possible as well.
[0033]       FIG. 2C is a schematic block diagram illustrating network 140 connecting device manager 220 and server 230, according to an example embodiment. Server 230 can be utilized to perform the tasks of a herein-described server, server device, and/or central server, such as one of server(s) 130. 
[0034]       Server 230 is an example of computing device 200 having input devices 202, output devices 204, processors 206, and memory 208. Memory 208 of server 230 stores machine-readable instructions and/or data, such as, but not limited to software and data related to model-dependency map 260. In some embodiments, a smaller or larger plurality of device managers and servers can be connected to network 140 than shown in FIG. 2C.
[0035]       Model-dependency map 260 can be a software system that provides information about functions of printing devices based on pre-defined primary characteristics of the printing devices. That is, the model-dependency map can relate primary identification information, such as printing device model, printing device firmware version, and market region data, to model-dependent information, such as a specific set of device model-dependent functions. 
[0036]       FIG. 2C shows that model-dependency map 260 stored in memory 208 of server 230 includes primary identification information 270 and model-dependent information 280. A device, such as server(s) 130, supporting model-dependency map 260 can use manual, semi-automatic, and/or automatic techniques to maintain and store changes to model-dependent information. Any devices or application can share information to update a model-dependency map or to insert a new entity based on existing primary identification information, where the new entity can define model-dependent information; e.g., a list of available functions. 
[0037]       Primary identification information 270 includes model-name 272, firmware version 274, and region 276. Model-name 272 can specify manufacturer and/or model names of a printing device; e.g., Kyocera ECOSYS FS-C8650DN Color Network Laser Printer, Kyocera FS-C8650DN, FS-C8650SN. Firmware version 274 can include information identifying a release, build, and/or version of firmware for the printing device; e.g., Version 1, Initial Release, Build 172.13345. Region 276 can include geographical region (or market) information about a geographical region (or market) where a printing device is being utilized; e.g., Asia-Pacific, Japan, North America, French language market. 
[0038]       Model-dependent information 280 can include a primary identifier (ID) 282 and one or more functions 284. Primary identifier 282 can include some or all of primary identification information 270 and/or a representation of some or all of primary identification information 270; e.g., a hash value calculated based on some or all of primary identification information 270. For example, primary identifier 282 can be “Kyocera Mita FS1020D 154.08 A011 IB-21E 1.4.0” that identifies a printing device manufacturer (Kyocera), model name (Mita FS1020D), and firmware version information (154.08 A011 IB-21E 1.4.0). Many other primary identifiers are possible as well.
[0039]       Function(s) 284 can include information about one or more functions for a printing device identified using primary identifier 282. For example, function(s) 284 associated with primary identifier 282 of “Kyocera Mita FS1020D 154.08 A011 IB-21E 1.4.0” can include functions indicating the printing device is a laser printer, has a USB network interface, prints in black and white, utilizes toner, can be configured with a 250 sheet print tray, prints in either simplex or duplex, and prints up to 20 pages per minute. Many other function(s) 284 are possible as well.
III.   Device Management Software with Model-dependent Information
[0040]       Device management software 222 can operate with printing devices via network(s), such as shown in printing system 100 of FIG. 1, to perform at least three operations.
[0041]       Operation 1: Device management software 222 can discover printing devices on a network, gather initial device identification information, and populate a list of the devices for possible display. Device management software 222 can connect to network-available printing devices and gather primary identification information for these devices. Listing of the network-available printing devices and primary identification information can be rendered using a software UI module of the device manager; e.g., GUI rendering module 226 of device management software 222.
[0042]       FIG. 3A illustrates an example user interface associated with device manager 120, according to an example embodiment. As part of system 100, device manager 120 connects to at least printing devices 110 and 114 via network 140. Device manager 120 executes device management software 122, which is configured; e.g., using GUI rendering module 226 to generate user interfaces related to discovered printing devices. In the example shown in FIG. 3A, device manager 120 has discovered at least printing devices 110 and 114, where printing device 110 is a “Model AAA” printing device and printing device 114 is a “Model BBB” printing device.
[0043]       After discovering printing devices 110 and 114 and obtaining primary identification information about these devices, device management software 122 of device manager 120 can display a list of discovered devices, such as the “Print Device List” display 310 shown in FIG. 3A. Display 310 lists devices by name and model - as shown in FIG. 3A, printing devices 110 and 114 are shown in display 310 with respective device names of “Device 110” and “Device 114” and respective model names of “Model AAA” and “Model BBB”. For example, device management software 122 can have a user interface element, such as an icon, button, or other control, that when selected, instructs device management software 122 to generate and show display 310. 
[0044]       Operation 2: A UI of the device management software can render a listing of the set of available functions of the printing device; e.g., the UI can be rendered by GUI rendering module 226 of device management software 222. When a user selects a specific printing device by using the UI, then the device management software can identify what functions would be available for the selected printing device.
[0045]       Device management software 122 can also determine, perhaps via locally stored data or via a server such as server(s) 130, model-specific information. Device management software 122 of device manager 120 can display a list of model-specific information, such as supported functions, for a discovered printing device. For example, FIG. 3A shows display 320 listing supported functions for printing device 110, where the supported functions include “Function Name 12” and “Function Name 22”. FIG. 3A also shows display 322 listing supported functions for printing device 114, where the supported functions include “Function Name 1”, “Function Name 2”, and “Function Name 3”. As indicated, a display of supported functions, such as display 320 or 322, can be generated and displayed upon selection of a printing device shown on display 310.
[0046]       Operation 3: The device management software can render a list of parameters for each function in the set of available functions. In some cases, a function has parameters; e.g., the pseudo-code for a function “Function2” with three parameters can be: 
Function2( parameter1, parameter2, parameter3 );
where the parameters can differ for each function. The UI of the device management software; e.g., GUI rendering module 226 of device management software 222 can render fields for entering and displaying values of these parameters.
[0047]       Each parameter of the function can have restrictions or/and validation rules. Restrictions can include data type restrictions (e.g., string or digits), value range restrictions (e.g., how long, how big), and/or other restrictions. Validation rules are very similar to restrictions but can include rules when parameters are dependent on each other; e.g., if parameter 1 has a value of “A”, then parameter 2 can take the range of values 1-3.
[0048]       The functions and/or parameters can vary based on primary identification information; that is, functions and/or parameters can vary between manufacturers, printing device models, markets/regions, and/or firmware versions. For example, a printer made by Manufacturer A can have a function that is not present on Manufacturer B’s printers (or vice versa). As another example, two models of printing devices made by the same manufacturer can have different functions and/or parameters; for example, one model; e.g., the “Deluxe” model made by Manufacturer B can have functions not present on the “Economy” model made by the same manufacturer (or vice versa). Different regions and markets can have different functions as well; e.g. functions related to different supported languages, paper sizes, character encodings (e.g., ASCII, Unicode, etc.), electrical characteristics, etc. 
[0049]       Further, each firmware (and perhaps other printing device software) release can add, delete, and/or change features, functions, and/or parameters on the printing device. For example, if a firmware release with version number “1.0” for a specific printing device does not support printing at more than 300 dots per inch (DPI), but a later firmware release with version number “2.0” for the specific printing device can support 300 (or more) DPI, then values of parameters and related functionality based on a specified maximum DPI for the specific printing device would differ based on which version of firmware is being used by the printing device. Many other examples of differing features, functions, and parameter values based on differing primary identification characteristics are possible as well.
[0050]       FIG. 3B illustrates an example user interface associated with device manager 220, according to an example embodiment. In particular, FIG. 3B shows an example for a selected function “Function Name 2” of printing device 114, where the function is selected via display 322 discussed above in the context of FIG. 3A. In the illustrated example, selection 330 of function “Function Name 2” is made using display 322. 
[0051]       Continuing this example, Function Name 2 has pseudo-code as indicated above and as function 340; e.g., function2(parameter1, parameter2, and parameter3). Once Function Name 2 has been selected, a GUI of device manager 220; e.g., a GUI rendered and controlled by GUI rendering module 226 of device management software 222, can generate display 342 for setting, reviewing, and/or changing values of the three parameters of “Function Name 2” for a “Model BBB” printing device; e.g., the model name of previously-selected printing device 114. Display 342 includes control fields (CF) 344, 346, and 348 for reviewing and/or controlling values of respective parameters Parameter 1, Parameter 2, and Parameter 3 of Function Name 2. 
IV.    Approaches for Obtaining Model-Dependent Information Using Device Management Software
[0052]       Several approaches can be utilized to obtain model-dependent information, such as information about available functions for a printing device:
[0053]       1. The printing device can provide model-dependent information about its own available functions. A device manager (or other computing device) can use method 400 shown in FIG. 4 to gather all needed information about available devices on a network.
[0054]       Method 400 can begin at block 410, where the device manager can connect to printing devices; e.g., device manager 120 of system 100 can connect to at least printing devices 110 and 114 as illustrated in FIG. 4.
[0055]       Then, at block 420, the device manager can send a request for model-dependent information (and perhaps primary identification information) to each printing device connected to and/or being managed by the device manager; e.g., device manager 120 of system 100 can send requests to at least printing devices 110 and 114 as illustrated in FIG. 4. 
[0056]       At block 430, the device manager can receive responses with at least the requested model-dependent information from the printing devices connected to and/or being managed by the device manager. In some embodiments, each printing device can support a common, consistent API to request and/or provide the model-dependent information; e.g., to expose one or more function lists of a printing device. 
[0057]       At block 440, the device manager or other computing device can render model-dependent information, such as the above-mentioned function list, using a UI. For example, device management software 122 of device manager 120 can use a GUI rendering module, such as GUI rendering module 226 to render the model-dependent information.
[0058]       Under this approach, each printing device utilizes resources for providing model-dependent information, such as memory for storing model-dependent information, bandwidth and/or storage for providing at least some model-dependent information with firmware versions, and software for data storage and API support to provide model-dependent information. Further, device management software needs software and resources to generate and send requests to printing devices; e.g., prior to rendering a function list and/or other model-dependent information for a printing device, the device management software can request model-dependent information from the printing device. In particular cases, the device management software can cache / store model-dependent information after the information has been requested and obtained from printing devices.
[0059]       2. The device management software of the device manager can store model-dependent information. For example, the device management software can store model-dependent information for each device model managed by the device manager.
[0060]       This approach can involve each instance of device management software maintaining up-to-date model-dependent information for at least all models of printing devices managed by device management software. The up-to-date model-dependent information can then be distributed across all running instances of device management software applications. Further, each instance of device management software has to be upgraded when new printing models appear on a market, because the device management software will not have information about the new printing models unless this information is distributed to the instances of device management software.
[0061]       3. A dedicated server, such as server(s) 130 of system 100, can provide a service to provide model-dependent information about printing devices to all interested application. The server can use an application that maintains model-dependent information for all existing printing devices, and can be updated as new models come into the market and for other changes to model-dependent information; e.g., server(s) 130 can maintain model-dependency map 260. Then, device management software, and perhaps other applications, can obtain model-dependent information from the server as soon as the model-dependent information is made available by the server. For example, the server can receive queries from device management software, and perhaps other applications, requesting model-dependent information based on primary identification information provided as part of the queries, and can responsively send responses to the queries with the requested model-dependent information (or an error indication that the query somehow cannot be satisfied).
[0062]       The server can store the model-dependent information in one or more data structures, such as herein-described model-dependency map 260, which can be (part of) a software system that provides information about functions of printing device based on pre-defined primary characteristics of the printing device. That is, the model-dependency map can relate primary identification information, such as printing device model, printing device firmware version, and market region data, to model-dependent information, such as a specific set of device model-dependent functions. 
[0063]       A new entity in the model-dependency map can be based on one or more data items of primary identification information. The market region can be used to indicate how internationalization extends functions for the printing device. Model-dependent information can depend on hardware configuration options of the printing device, where the hardware configuration specifies optionally-installed equipment; e.g., how many paper trays are installed, a type of control panel on the printing device, etc. In some cases, a model-dependent function also introduces an additional level of model dependency in terms of a specific range of accepted data, for instance: a range of possible installed memory cards could vary depending on a primary identification characteristic.
[0064]       There are several primary identification characteristics (input parameters) to be passed to a model-dependency map to read back information about supported model-dependent functions. The model-dependency map can include a list of available markets, models, and versions of firmware for printing devices linked to available functions and parameters that a specific printing device supports. The model-dependency map can store variables including a device model variable, a firmware version variable, and perhaps other variables. Many optional functions and respective variables of the optional functions can be determined based on a version of firmware running on a printing device; e.g., information about optional functions can be determined based on a value of the firmware version. 
[0065]       For example, suppose firmware version 1 of a printing device PD1 supports functions f1, f2, and f3, while firmware version 2 of PD1 supports functions f1_prime, f2, f4, and f5, where function f1_prime is a modified version of function f1, where function f1 is associated with a variable V1 whose value is 1, and where function f1_prime is associated with a variable V1 whose value is 10. Then, by knowing the firmware version of PD1, it can be determined whether optional functions f3, f4, and f5 are supported by PD1, and whether a value of V1 of either 1 or 10 is associated with PD1.
[0066]       A server, such as server(s) 130, can maintain the model-dependency map, such as model-dependency map 260, in a centralized fashion. Device management software, such as device management software 222, can communicate with the server and use the model-dependency map to populate a UI display of model-dependent features that belong to a specific printing device. Software applications and/or users that manage printing devices can use the model-dependency map for: tracking printer device functions, configuration and deployment of printer drivers, management and maintenance of a number of printing devices, and centralized network management, collection of business-related information from devices (number of printed pages, amount of toner that has been spent by a specific device), providing information about printing device features and components, cataloging primary characteristics and secondary functions (or features) of printing devices, and perhaps other uses.
[0067]       One example of model-dependent information is configuration-related information. A printing device can be managed in a specific mode; e.g., a “maintenance mode”. While in the specific mode, the printing device can support a set of commands or operations that permit changes to configuration settings and/or states of the printing device. One example of a configuration setting is a number of sheets that can be printed from one occurrence of toner and one example of a configuration state is initializing a hard disk (or other memory device) associated with the printing device. Many other examples of configuration settings and states are possible as well.
[0068]       In practice, not all configuration settings and states are available for all printing devices. That is, specific configuration settings and states vary and/or are unavailable (or are available) depending on printing device primary identification information, such as printing device model. Then, in the context of a model-dependency map, maintenance-mode units, such as configuration settings and states, are examples of model-dependent features. 
[0069]       Another example of model-dependent information is information related to API(s) supported by a printing device that allow support for integration with systems external to the printing device. For example, printing-related parameters, such as an ink drop size, can be specified via API for some printing devices. As another example, error reporting and/or error codes can be part of an API for other printing devices. 
[0070]        As an example for API / software integration with the model-dependency map, a software application can have functions f1, f2 … used to communicate with and manage a printing device. The software application can query the model-dependency map to learn availability of functions on the printing device that the software application utilizes to interface with the printing device. An example pseudo code syntax for checking availability of functions on the printing device is
bool availability = current_printing_device.IsAvailable(“function_code”);
where current_printing_device is a representation of an instance of an object representing a printing device, and function_code is a representation of one or more functions, features, and/or settings supported by the printing device. 
[0071]       In some embodiments, a device manager can keep a list of all available functions, features, and settings; however, these lists may be duplicated by each device manager. To avoid this data duplication, the central server can keep such a list; e.g., as part of model-dependent information in a model-dependency map. Communication between a device manager executing a device management software and the central server can utilize one or more network protocols; e.g., SNMP, HTTP.
[0072]       In a scenario where device management software attempts to utilize available functions, features, and settings of a printing device, an initial communication between device management software and the printing device can gather primary identification information from the printing device. Then, the device management software can formulate a query to the central server with the primary identification information. The central server can use the primary identification information in the query to search for model-dependent information, such as available functions, features, and settings, in the model-dependency map. Then, the central server can generate a response to the query with the available functions, features, and settings retrieved from the model-dependency map and send the response to the device management software. 
[0073]       FIG. 5 shows scenario 500 for rendering function lists associated with a printing device, according to an example embodiment. Scenario 500 shows a sequence of communication between printing device 110, device manager 120 executing device management software 122, and server(s) 130 of system 100. 
[0074]       Scenario 500 begins with device manager 120 sending request 510 to printing device 110 for primary identification information. In response to request 510, printing device 110 can send message 512 with primary identification information that identifies the printing device; e.g., manufacturer name, model name, firmware version, market / geographic region, and/or other information for printing device 110.
[0075]       Scenario 500 continues with device manager 120 generating request 520 to obtain model-dependent information about printing device 110, such as a function list, based on the primary identification information provided in message 512. After generating request 520 based on the primary identification information, device manager 120 sends request 520 to server(s) 130. Server(s) 130 obtain primary identification information from request 520, query a model-dependency map, such as model-dependency map 260, using the obtained primary identification information as key information, and receive a query response from the map with model-dependent information for printing devices having the primary identification information. In scenario 500, server(s) 130 respond to request 520 by generating and sending message 522 with “Function List A” (the requested model-dependent information about printing device 110) to device manager 120. 
[0076]       After receiving message 522, device manager 120 can obtain the function list Function List A from message 522. At block 530, device manager 120 can render data from Function List A, such as function names and parameters, as (part of) a display about functions of printing device 110; e.g., device manager 120 can render and show display 320 of FIG. 3A.
[0077]       Scenario 500 continues at block 540 with server(s) 130 updating model-dependent data, including function parameters for printing device 110. After server(s) 130 update the model-dependent data, scenario 500 continues with device manager 120 generating request 550 to obtain up-to-date model-dependent information about printing device 110 based on the primary identification information provided in message 512 and stored by device manager 120 (or in other scenarios, the primary identification information can be re-requested by device manager 120 from printing device 110). After generating request 550, device manager 120 sends request 550 to server(s) 130. Server(s) 130 obtain primary identification information from request 550 and use the primary identification information to receive up-to-date model-dependent information for printing devices having the primary identification information from the model-dependency map, as discussed above in the context of request 520 and message 522. In scenario 500, server(s) 130 respond to request 550 by generating and sending message 552 with “Function List B” (the requested up-to-date model-dependent information about printing device 110) to device manager 120. 
[0078]       After receiving message 552, device manager 120 can obtain the function list Function List B from message 552. At block 560, device manager 120 can render data from Function List B, such as up-to-date function names and parameters, as (part of) a display about functions of printing device 110; e.g., device manager 120 can render and show an updated version of display 320 of FIG. 3A. After completing block 560, scenario 500 can be completed.
[0079]       In some scenarios, the device management software can download some model-dependent information as a local model-dependent map from the central server on a periodic basis (e.g., once a day, twice a month, every two months), on demand (e.g., via GUI and/or command), and/or in response to other conditions (e.g., a new printing device being discovered by the device management software). The downloaded local model-dependent map can be in one or more formats, such as an eXtended Markup Language (XML) format, a JavaScript Object Notation (JSON) object, a key-value list, or some other format. The local model-dependent map can catalog a detailed list of functions and parameters and can be utilized by device management software to manage printing devices; e.g., via one or more user interfaces. 
[0080]       The central server can provide part or the entire model-dependent map to device management software via one or more networks, such as the Internet. Then, as indicated above, device management software can be configured to automatically download local model-dependent maps from the central server. A printing device manufacturer can update portions of the model-dependent map related to printing devices made by the printing device manufacturer in a timely manner. Further, the printing device manufacturer can use the model-dependent map to provide information about a new and/or upcoming model of a new printing device ahead of its release date. 
[0081]       The model-dependent map can be managed by printing device manufacturers as indicated above and/or by other entities, which can provide information to the model-dependent map and/or central server via a public API. The public API can be used to build integrated solutions by independent printing device vendors. A content management system can be used to maintain the public API to enable support for model-dependent information of external applications, such as but not limited to, device management software.
[0082]       FIG. 6 shows device settings dialog as displays 610a, 610b according to an example embodiment. Displays 610a, 610b can be for a printing device having model name “Model AAA”, such as printing device 110 as illustrated in FIGS. 3A and 4. Both displays 610a and 610b have several control fields related to printing device 110, including automatic sleep timer control field 612, auto panel reset timer control field 616, enable printing timeout control field 620, low power timer control field 622, auto error clear control field 624, interrupt clear timer control field 626, and error job skip control field 628.
[0083]       Each control field of displays 610a, 610b can have one or more controls related to a printing device parameter. For example, control field 612 for an automatic sleep timer parameter of printing device 110 can include a slider (S) 614a and a value region 614b. A user of displays 610a, 610b can review and/or change values of the automatic sleep timer parameter using slider 614a and/or value region 614b. As another example, control field 616 for auto panel reset timer parameter of printing device 110 has checkbox (CB) 618a, slider 618b, and value region 618c. Checkbox 618a can be used to indicate whether or not the auto panel reset timer parameter should be used - if a check is shown in checkbox 618a, then printing device 110 should use the auto panel reset timer parameter, and if a check is not shown in checkbox 618a, then printing device 110 should not use the auto panel reset timer parameter. 
[0084]       In display 610a, checkbox 618a is shown with a check to indicate printing device 110 should use the auto panel reset timer parameter and slider 618b and value region 618c indicate that a value of the auto panel reset timer parameter is set to 120 seconds. However, in display 610b, checkbox 618a is shown without a check to indicate printing device 110 should not use the auto panel reset timer parameter and slider 618b and value region 618c indicate that the auto panel reset timer parameter has a zero (or null) value, by having slider 618b of display 610b moved to the far left of its range indicating a minimum value, and having value region 618c of display 610b blacked out. 
[0085]       In contrast to display 610b, display 610a shows slider 618b at slightly more than halfway in its possible range and value region 618c with a specific 120 second value for the auto panel reset timer parameter. FIG. 6 also shows display 610a indicating that the enable printing timeout and error job skip parameters also are to be used by printing device 110, while display 610b indicates that only the enable printing timeout parameter is to be used by printing device 110.
[0086]       FIG. 7 shows example nation-specific and international device settings dialogs as UI displays 710 and 720, according to an example embodiment. Each of UI displays 710 and 720 include control fields for “Common” settings including an operation panel language setting, an “Override A4/Letter” setting, an asset number setting, a file name setting, an “Additional Information” setting, an MP tray empty setting, a color toner empty action setting, a USB keyboard type setting, and a low-toner alert level setting. 
[0087]       UI display 710 is a device settings dialog for a particular market; e.g., a Japanese-language market. In particular control field 712 for an “Operation Panel Language” has selector 714 to select between two languages: English and Japanese. Default and/or other values of control fields can be affected by the selection made via selector 714. For example, a selection for “English” made via selector 714 could lead to a default selection of “Off” for “Override A4/Letter” control field 716 (indicating that a document selected to be printed on letter-sized paper should not be printed on A4-sized paper without user selection), and/or a default selection of “US-English” for “USB keyboard type” control field 718. Similar interactions between other control fields of UI display 710 are possible as well.
[0088]       UI display 720 is a device settings dialog for a global market. In particular control field 712 for an “Operation Panel Language” has selector 722 to select between at least seven languages: English, Spanish, French, German, Italian, Dutch, and Portuguese. Default and/or other values of control fields, such as control fields 716 and 718 of UI display 720 can be affected by the selection made via selector 722, such as discussed above in the context of selector 714 of UI display 710. Similar interactions between other control fields of UI display 720 are possible as well.
V.     Example Methods of Operation
[0089]       FIG. 8 is a flow diagram illustrating method 800, according to an example embodiment. Method 800 is a method for generating a display of model-dependent information that can be executed, at least in part, by a computing device executing device management software, such as device manager 220 discussed above in the context of at least FIG. 2A.
[0090]       Method 800 can begin at block 810, where a computing device can send a discovery message requesting primary identification information to a printing device. The primary identification information can include a model name of the printing device and a firmware version for firmware of the printing device. In some embodiments, the primary identification information can further include one or more of: identifying information for the printing device, identifying information for a manufacturer of the printing device, and information about a physical location of the printing device.
[0091]       At block 820, the computing device can receive the primary identification information from the printing device.
[0092]       At block 830, the computing device can send a request message for model-dependent information to a server device, where the request message is based on the primary identification information. In some embodiments, the model-dependent information can include one or more of: information about hardware of the printing device, information about one or more printing characteristics of the printing device, information about one or more timers associated with the printing device, information about a function list for the printing device, and information related to printing device error messages. In particular embodiments, the function list can include at least one function that has at least one parameter.
[0093]       In other embodiments, the model-dependent information can include information about a hardware configuration of the printing device. In some of the other embodiments, the hardware configuration of the printing device can specify at least one of: a number of printer trays for the printing device and a type of panel for the printing device. In still other embodiments, the model-dependent information about the printing device is based on the firmware version.
[0094]       At block 840, the computing device can receive, at the computing device, a response to the request message from the server device.
[0095]       At block 850, the computing device can generate a display based on the response to the request message. In some embodiments, generating the display can include generating a display that includes a function list and selecting a function of the function list. In particular embodiments, generating the display that includes the function list can include generating a display with one or more fields corresponding to one or more parameters of the selected function.
[0096]       In some embodiments, method 800 can further include: determining one or more validation rules associated with the model-dependent information using the computing device; receiving additional model-dependent information via a user interface of the computing device; and validating the additional model-dependent information using the one or more validation rules using the computing device.
[0097]       The illustrative embodiments described in the detailed description, figures, and claims are not meant to be limiting. Other embodiments can be utilized, and other changes can be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are explicitly contemplated herein.
[0098]       With respect to any or all of the ladder diagrams, scenarios, and flow charts in the figures and as discussed herein, each block and/or communication may represent a processing of information and/or a transmission of information in accordance with example embodiments. Alternative embodiments are included within the scope of these example embodiments. In these alternative embodiments, for example, functions described as blocks, transmissions, communications, requests, responses, and/or messages may be executed out of order from that shown or discussed, including substantially concurrent or in reverse order, depending on the functionality involved. Further, more or fewer blocks and/or functions may be used with any of the ladder diagrams, scenarios, and flow charts discussed herein, and these ladder diagrams, scenarios, and flow charts may be combined with one another, in part or in whole. 
[0099]       A block that represents a processing of information may correspond to circuitry that can be configured to perform the specific logical functions of a method or technique. Alternatively or additionally, a block that represents a processing of information may correspond to a module, a segment, or a portion of program code (including related data). The program code may include one or more instructions executable by a processor for implementing specific logical functions or actions in the method or technique. The program code and/or related data may be stored on any type of computer readable medium such as a storage device including a disk or hard drive or other storage medium. 
[00100]      The computer readable medium may also include non-transitory computer readable media such as computer-readable media that stores data for short periods of time like register memory, processor cache, and random access memory (RAM). The computer readable media may also include non-transitory computer readable media that stores program code and/or data for longer periods of time, such as secondary or persistent long term storage, like read only memory (ROM), optical or magnetic disks, compact-disc read only memory (CD-ROM), for example. The computer readable media may also be any other volatile or non-volatile storage systems. A computer readable medium may be considered a computer readable storage medium, for example, or a tangible storage device. 
[00101]         While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope being indicated by the following claims.
REFFERENCE SIGNS LIST
[00102]       
100    Printing system
110, 112, 114   Printing device
116a-116n    Client devices
120, 124    Device manager
122, 126    Device management software
130    Server
140    Network
CLAIMS
What is claimed is:
1. A system, comprising: 
a computing device, comprising one or more processors and data storage, the data storage including at least computer-readable instructions for device management software, that, when the computer-readable instructions for the device management software are executed by the one or more processors, cause the computing device to perform device-management functions comprising:
send a discovery message requesting primary identification information to a printing device, wherein the primary identification information includes at least a model name of the printing device and a firmware version of the printing device;
receive, from the printing device, the primary identification information; and
send a request message for model-dependent information that is based on the primary identification information to a server device;
a server device, comprising one or more processors and data storage, the data storage including at least computer-readable instructions that when executed by the one or more processors, cause the server device to perform server-device functions comprising:
receive the request message; and
send a response to the request message to the computing device;
wherein the device-management functions further comprise:
receive the response to the request message; and
generate a display based on the response. 
2. The system of claim 1, wherein generating the display comprises:
generating a display comprising a function list; and
receiving a selection of a selected function of the function list. 
3. The system of claim 2, wherein generating the display comprising the function list further comprises:
generating a display with one or more fields corresponding to one or more parameters of the selected function.
4. The system of any of claims 1 to 3, wherein the primary identification information further includes one or more of: identifying information for the printing device, identifying information for a manufacturer of the printing device, and information about a physical location of the printing device.
5. The system of any of claims 1 to 4, wherein the model-dependent information includes one or more of: information about hardware of the printing device, information about one or more printing characteristics of the printing device, information about one or more timers associated with the printing device, information about a function list for the printing device, and information related to printing device error messages.
6. The system of claim 5, wherein the function list comprises at least one function that has at least one parameter.
7. The system of any of claims 1 to 6, wherein the model-dependent information includes information about a hardware configuration of the printing device.
8. The system of claim 7, wherein the hardware configuration of the printing device specifies at least one of: a number of printer trays for the printing device and a type of panel for the printing device.
9. The system of any of claims 1 to 8, wherein the model-dependent information about the printing device is based on the firmware version.
10. The system of any of claims 1 to 9, wherein the device-management functions further comprise:
determining one or more validation rules associated with the model-dependent information; 
receiving additional model-dependent information via a user interface; and
validating the additional model-dependent information using the one or more validation rules.
11. A method, comprising:
sending a discovery message requesting primary identification information from a computing device to a printing device, wherein the primary identification information comprises at least a model name of the printing device and a firmware version for firmware of the printing device; 
receiving, at the computing device, the primary identification information from the printing device;
sending a request message, from the computing device to a server device, for model-dependent information that is based on the primary identification information; 
receiving, at the computing device, a response to the request message from the server device; and
generating a display based on the response to the request message using the computing device.
1. Abstract
PROBLEM TO BE SOLVED
To provide a centralized service of a model support for printing devices.
2. SOLUTION
Systems, apparatus, and methods for interfacing device management software and printing devices are provided. A computing device with device management software can send a discovery message requesting primary identification information to a printing device. The primary identification information can include a model name and a firmware version of the printing device. The computing device can receive the primary identification information from the printing device. The computing device can send a request message for model-dependent information based on the primary identification information to a server device. The computing device can receive a response to the request message from the server device that includes the model-dependent information. The computing device can generate a user interface (UI) display based on the model-dependent information in the response to the request message.
3. Representative Drawing: Fig. 1
2016136388.tif 000014
2016136388.tif 000015
2016136388.tif 000016
2016136388.tif 000017
2016136388.tif 000018
2016136388.tif 000019
2016136388.tif 000020
2016136388.tif 000021
2016136388.tif 000022
2016136388.tif 000023