(57)【要約】【課題】ディジタルカメラからプリンタへ直接的に印刷する新規な方法を提供すること。【解決手段】印刷ドライバを発見し、インストールし、使用することをディジタルカメラから直接的に行うシステムが使用される。本システムはディジタルカメラから画像を印刷する際にパーソナルコンピュータを介在物として使用する必要性を取り除く。【選択図】図１
2009171579.tif 000002
【特許請求の範囲】
【請求項１】
ディジタルカメラがディスカバリプロセスを開始するステップと、
複数のプリンタが接続されているネットワーク内で、１つ以上のプリンタが前記ディスカバリプロセスに応答するステップと、
前記ディジタルカメラが、印刷ドライバに関するメタデータを前記プリンタに要求するステップと、
要求されたメタデータと共に１つ以上のプリンタが応答するステップと、
前記印刷ドライバに関連するメタデータを解釈するステップと、
前記ディジタルカメラが前記印刷ドライバを前記プリンタに要求するステップと、
前記プリンタが前記印刷ドライバを前記ディジタルカメラに送信するステップと、
を有する方法。
【請求項２】
前記ディジタルカメラにおけるディスカバリサービス部が、ディスカバリプロセスを開始するステップを実行する
ようにした請求項１記載の方法。
【請求項３】
前記複数のプリンタの内の１つにおけるディスカバリマネジャが、前記ディスカバリプロセスに応答するステップを実行する
ようにした請求項１記載の方法。
【請求項４】
前記ディジタルカメラ内の印刷ドライバ更新サービス部が、前記印刷ドライバを要求するステップを実行する
ようにした請求項１記載の方法。
【請求項５】
前記複数のプリンタの内の１つにおける印刷ドライバ更新マネジャが、前記印刷ドライバを送信するステップを実行する
ようにした請求項１記載の方法。
【請求項６】
前記印刷ドライバ更新サービス部が、前記印刷ドライバをアンインストールする
ようにした請求項４記載の方法。
【請求項７】
前記印刷ドライバを要求するステップの前に、前記印刷ドライバ更新サービス部が、前記ディジタルカメラ内に特定の印刷ドライバ用の継続的な記憶領域を確認するステップを更に有する
ようにした請求項４記載の方法。
【請求項８】
印刷ドライバは存在しているが、該印刷ドライバは最新バージョンでなかった場合、後続のバージョンの印刷ドライバを要求するステップ
を更に有する請求項４記載の方法。  
【請求項９】
前記ディジタルカメラにおけるグラフィカルユーザインターフェース(GUI)が、前記複数のプリンタの内特定のプリンタを選定するようにユーザに促すステップ
を更に有する請求項１記載の方法。
【請求項１０】
選定されたプリンタ用の複数の印刷ドライバの内特定の印刷ドライバをユーザが選定するように、前記GUIが促すステップ
を更に有する請求項９記載の方法。
【請求項１１】
印刷タスクが完了した後、印刷ドライバを維持又は破棄することをGUIがユーザに問うステップ
を更に有する請求項９記載の方法。
【請求項１２】
複数のプリンタを有する印刷システムであって、
前記複数のプリンタの各々は、ディジタルカメラによりアクセス可能なネットワークに接続され、
前記ディジタルカメラは、前記複数のプリンタのステータス及び利用状況を確認するディスカバリサービス部と、印刷ドライバを取得及び格納する印刷ドライバ更新マネジャとを有し、
前記複数のプリンタの各々は、前記ディスカバリサービス部からの通知に応答するディスカバリコーディネータ部と、前記印刷ドライバ更新マネジャと通信する印刷ドライバ更新サービス部と、前記プリンタ側に設けられた印刷エンジンとを有し、前記印刷エンジンは、印刷データを処理し、該印刷データに含まれている印刷されるバージョンの電子書類が前記プリンタで生成されることを引き起こすようにした印刷システム。
【請求項１３】
前記印刷システムに接続された前記ディジタルカメラに応答して、
前記印刷ドライバ更新サービス部が、前記ディジタルカメラとコンパチブルな特定の印刷ドライバを選択し、及び
選択された印刷ドライバを前記ディジタルカメラにダウンロードすることを支援する  
ようにした請求項１２記載の印刷システム。
【請求項１４】
前記印刷ドライバ更新サービス部は、前記特定の印刷ドライバの少なくとも一部分が、前記ディジタルカメラ内で継続的に記憶可能なストレージに格納されることを引き起こす請求項１２記載の印刷システム。
【請求項１５】
印刷ドライバを選択するモジュールは、前記ディジタルカメラの前記ストレージに格納された前記特定の印刷ドライバの少なくとも一部分が、前記ディジタルカメラの前記ストレージから削除されることを引き起こす請求項１２記載の印刷システム。
【請求項１６】
前記印刷ドライバ更新マネジャは、現在インストールされているものより新しいバージョンの印刷ドライバが存在することをユーザに通知する請求項１２記載の印刷システム。
【請求項１７】
前記印刷ドライバ更新マネジャは、現在インストールされているものより新しいバージョンの印刷ドライバを自動的にインストールする請求項１６記載の印刷システム。
【請求項１８】
印刷ドライバを選択するモジュールは、グラフィカルユーザインターフェースが前記ディジタルカメラに表示されることを引き超し、印刷ドライバのリストから特定の印刷ドライバをユーザが選択できるようにする請求項１２記載の印刷システム。
【請求項１９】
命令を格納するコンピュータ読取可能な記憶媒体であって、前記命令は、１つ以上のプロセッサに或る方法を実行させ、該方法は、
ディジタルカメラがディスカバリプロセスを開始するステップと、
複数のプリンタが接続されているネットワーク内で、１つ以上のプリンタが前記ディスカバリプロセスに応答するステップと、
前記ディジタルカメラが、印刷ドライバに関するメタデータを前記プリンタに要求するステップと、
要求されたメタデータと共に１つ以上のプリンタが応答するステップと、
前記印刷ドライバに関連するメタデータを解釈するステップと、
前記ディジタルカメラが前記印刷ドライバを前記プリンタに要求するステップと、
前記プリンタが前記印刷ドライバを前記ディジタルカメラに送信するステップと、
を有するようにしたコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルカメラから直接的に印刷装置を発見し、インストールし及び使用することを行う方法に関連する。
【背景技術】
【０００２】
ディジタルカメラは、パーソナルコンピュータ(PC)に似た機能と共に複雑化を増しつつある。あるディジタルカメラは、リナックス(Linux)(登録商標)を走らせることができ、そのディジタルカメラにファイル転送プロトコル(FTP)サービスをインストールすることができる。ディジタルカメラは、存在している完全なネットワークスタックを有することができ、例えばインターネットプロトコル(IP)ネットワーキングのようなネットワーク通信をサポートできる(可能性としては、ユニックスの内蔵フレーバ(flavor)でもよい。)。しかしながらPCとは異なり、記憶容量が限られているので、ディジタルカメラがソフトウエア印刷ドライバを保存できることはない。
【０００３】
従って、印刷に関する仲介物として、ディジタルカメラはコンピュータから完全に独立するようにできる。ユーザは各自のカメラから印刷装置へ直接的に印刷することを希望するかもしれない。これらのユーザは、例えば商店街等でのキオスク、オフィスビルのプリンタ又は家庭のプリンタの所へ各自のディジタルカメラを持ち出し、画像を印刷装置で印刷する。その印刷装置は、その特定のディジタルカメラにとって全く馴染みのない（初めて利用する）ものかもしれない。しかしながら、ディジタルカメラが印刷装置で印刷できるようにするソフトウエア印刷ドライバは、ディジタルカメラにアップロードされる際に十分に便利でなければならない。従って、ディジタルカメラから印刷装置へ直接的に印刷する方法が望まれている。
【０００４】
このセクションで記述されている方法は追求可能であるが、過去に考察され追求されている方法であるとは限らない。従って特に断りのない限り、このセクションで説明されているどの方法も、このセクションに含まれているという理由だけで従来技術に分類されるべきでない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、ディジタルカメラから印刷装置へ直接的に印刷する新規な方法を提供することである。  
【課題を解決するための手段】
【０００６】
ディジタルカメラ（以下、カメラともいう）から印刷装置（以下、プリンタともいう）へディジタル画像をユーザが直接的に印刷できるようにする方法が得られる。カメラはディスカバリサービスと共に構築され、ディスカバリサービスはネットワーク上で利用可能なプリンタを発見する。また、カメラは、特定の印刷ドライバを判別して取得する印刷ドライバ更新マネジャと共に構築され、その特定の印刷ドライバは、ディジタル画像を特定の印刷装置で印刷する際にカメラに必要なものである。本発明の実施例は、印刷ドライバを消去してカメラの容量を解放する手段と、カメラに格納されている印刷ドライバを自動的に更新する手段とを含む。
【図面の簡単な説明】
【０００７】
【図１】ディジタルカメラ及びプリンタ間の通信を処理する本発明の一実施例によるシステム例を示すブロック図。
【図２】本発明の一実施例による様々な通信ステップを示すフローチャート。
【図３】本発明の一実施例によるディジタルカメラの更新マネジャで生じるイベントのフローチャート。
【図４】本発明の一実施例によるプリンタの更新サービス部で生じるイベントのフローチャート。
【図５】本発明の実施例が使用されるコンピュータシステムを示すブロック図。
【発明を実施するための形態】
【０００８】
本発明の一形態によれば、印刷システムは、ディジタルカメラに用意されたディスカバリサービスを有し、ディスカバリサービスは、複数のプリンタの内どれが存在しているか及びどれがディジタルカメラと共に利用可能かを決定する。印刷システムは、複数のプリンタの各々に用意されたディスカバリコーディネータを有し、ディスカバリコーディネータは、印刷システムのステータスをディスカバリサービスと通信するのに利用可能である。印刷システムは、ディジタルカメラに用意され、印刷ドライバを取得及び格納する印刷ドライバ更新マネジャを有する。そして、印刷システムは、プリンタに用意された印刷ドライバ更新サービスを有し、該印刷ドライバ更新サービスは、印刷システムにディジタルカメラが接続されたことに応答して、そのディジタルカメラとコンパチブルな(互換性のある)特定の印刷ドライバを選択し、選択された印刷ドライバをディジタルカメラへダウンロードすることを支援する。
【０００９】
本発明の別の形態による方法は、ディジタルカメラがディスカバリプロセスを起動するステップ。プリンタがディスカバリプロセスに応答するステップ。印刷ドライバに関する情報(プリンタからの情報)をディジタルカメラが要求するステップ。要求された情報と共にプリンタが応答するステップ。印刷ドライバに関する情報をディジタルカメラが解釈するステップ。ディジタルカメラがプリンタからの印刷ドライバを要求するステップ。プリンタが印刷ドライバをディジタルカメラへ送付するステップを有する。
【００１０】
本発明は添付図面と共に非限定的な実施例により説明され、図中同様な参照番号は同様な要素を示す。
【００１１】
説明を目的とする以下の詳細な説明では、本発明の十分な理解を図るため、様々な具体的な詳細が述べられる。しかしながら、本発明はそのような具体的詳細によらず実施されてもよいことは明白であろう。また、本発明を不必要に曖昧にするかもしれないことを避けるため、周知の構造及び装置はブロック図形式で示される。
【００１２】
以下の説明では、次の順に登場する見出しと共に本発明のいくつもの特徴が説明される。
【００１３】
１）概  要
２）システム構成
３）システムの通信方法
４）ディジタルカメラの観点からの説明  
５）プリンタの観点からの説明
６）ハードウエア及び他の特徴に関する概要
７）ウェブサーバの詳細
８）メタデータの説明。
【実施例１】
【００１４】
＜概  要＞
ディジタルカメラからプリンタへディジタル画像をユーザが直接的に印刷できるようにする方法が得られる。ディジタルカメラはディスカバリサービスと共に構築され、ディスカバリサービスはネットワーク上で利用可能なプリンタを発見する。また、ディジタルカメラは、特定の印刷ドライバを判別して取得する印刷ドライバ更新マネジャと共に構築され、その特定の印刷ドライバは、ディジタル画像を特定の印刷装置で印刷する際にディジタルカメラに必要なものである。本発明の実施例は、印刷ドライバを消去してディジタルカメラの容量を解放する手段と、ディジタルカメラに格納されている印刷ドライバを自動的に更新する手段とを含む。
【００１５】
＜システム構成＞
図１はシステム100を示し、本システムはユーザがディジタルカメラからプリンタへ直接的にディジタル画像を印刷できるようにする。システム100は、ネットワーク140又はリンク144を介してディジタルカメラ120に接続された１つ以上のプリンタ110を含む。プリンタ110に直接的に印刷を行うディジタルカメラ120の観点から、本方法が図１に示されているが、本方法はプリンタ関連に限定されず、印刷機能を有する如何なる装置と共に使用されてもよい(そのような装置は、例えば複合機(MFP)を含む。)。従って本明細書の中で、プリンタ110と言及しているのは単なる一例に過ぎない。
【００１６】
プリンタ110は印刷装置であり、印刷ドライバを管理する印刷ドライバ更新サービス112と、プリンタ110のステータス及び能力(性能又は機能)に関する問い合わせに応答するディスカバリコーディネータ114と共に構築される。また、プリンタ110は印刷エンジン118と共に構築され、印刷エンジンは電子書類の印刷されるバージョン(例えば、ディジタルカメラ120からの画像データ)を生成する。特定の実現手段に依存して、プリンタ110は、他の様々な構成要素及びプロセスと共に構築されてよい。プリンタ110は図１に示される構成要素及びプロセスに限定されない。
【００１７】
ディジタルカメラ120は、印刷ドライバを指揮及び管理する印刷ドライバ更新マネジャ122と、利用可能な印刷装置に関する判定を行うディスカバリサービス部124と共に構築される。ディジタルカメラ120は、ネットワークインターフェース130を介してネットワーク140上の他の装置と通信し、情報を表示し、グラフィカルユーザインターフェース(GUI)126を介してユーザ入力を受ける。ディジタルカメラ120は、オペレーティングシステム134に加えて、印刷プロセスを管理するアプリケーション132と共に構築される。印刷ドライバ更新マネジャ122は、印刷ドライバをストレージ128に格納し、ストレージは揮発性メモリ及び不揮発性メモリを含んでもよい。
【００１８】
ネットワークインターフェース130は、有線又は無線の如何なるタイプのネットワークインターフェースでもよい。ディジタルカメラ120はリンク144を介してプリンタ110に直接的に通信してもよい。リンク144は有線接続とすることもできるし(例えば、USB、FireWire)、無線接続とすることもできる(例えば、WiFi)。ディジタルカメラ120は、特定の実現手段に依存して、他の様々な構成要素及びプロセスと共に構築されてよい。ディジタルカメラは図１に示される構成要素及びプロセスに限定されない。
【００１９】
図１は印刷ドライバのリポジトリ(保管場所)142も示し、リポジトリはネットワーク140を介して様々なプリンタ110及びディジタルカメラからアクセス可能である。印刷ドライバのリポジトリ142は、サーバー、データ管理システムその他の如何なるタイプのネットワークエンティティでもよい。ネットワーク140は如何なる媒体又は手段によって実現されてもよく、その媒体又は手段は、プリンタ110、ディジタルカメラ120及び印刷ドライバのリポジトリ142の間でデータ交換を行うものである。ネットワーク140の具体例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、イーサネット(登録商標)、インターネット等のネットワークや、地上の、衛星の又は無線のリンクの１つ以上のようなネットワーク等を含むがこれらに限定されない。
【００２０】
概して、印刷ドライバ(プリンタドライバ)は、アプリケーションデータを、アプリケーションプログラムでサポートされているフォーマットから印刷装置でサポートされているフォーマットへ変換する。これを行う際、印刷ドライバはディジタルカメラ120のO/S134と共に動作する。本実施例の場合、印刷ドライバは、アプリケーション132でサポートされているフォーマットのディジタルフォトデータを処理し、プリンタ110でサポートされているフォーマットの印刷データを生成する。
【００２１】
印刷ドライバは一般にレンダリング(rendering)モジュール及びGUIモジュールという少なくとも２つの機能を含んでいる。印刷アプリケーション132はレダリングモジュールを起動し、ディジタル画像データをプリンタ110の特定のターゲットフォーマットに変換する(印刷データとしても言及される)。レンダリングの後、印刷データは印刷エンジン118に送られる。印刷ドライバ内のGUIモジュールは、印刷タスクのステータスに加えて、特定のプリンタのステータスや能力をユーザに通知するのに使用される。
【００２２】
プリンタ110は、(プリンタがやりとりをサポートする)１つ以上のディジタルカメラ用の印刷ドライバを収容するのに十分なストレージを備えていてもよいし、或いは印刷ドライバが用意されているネットワーク140上の場所を指すポインタを格納してもよい。図１に示されるように、１つの可能な場所は、印刷ドライバのリポジトリ142である。
【００２３】
ディスカバリサービス124は、ディジタルカメラ120が通信することを希望しているプリンタ又は他の装置を探す問い合わせを、ネットワーク140又はリンク144を通じて行う機能を有する。ディジタルカメラ120が所与のプリンタと通信するのに必要な印刷ドライバを持っているか否かを、印刷ドライバ更新マネジャ122は判断し、そして印刷ドライバをダウンロードすること又は現バージョンの印刷ドライバを最新バージョンの印刷ドライバで置換することをディジタルカメラ120が必要としているか否かを、印刷ドライバ更新マネジャ122は判断する。印刷ドライバ更新マネジャ122はディスカバリサービス部124と共に協働する。ディジタルカメラ120は印刷ドライバをストレージ128に永続的に又は一時的に格納してよい。
【００２４】
ディジタルカメラ120の中で、ディスカバリサービス部124は、ネットワーク140又はリンク144を使って、利用可能なプリンタに関する情報を求めるリクエストを起こす。ディスカバリサービス部124は１つ以上のプリンタ110の様々なディスカバリコーディネータ114と通信し、ディスカバリコーディネータはディジタルカメラからのディスカバリリクエストに応答するよう構築されている。ディスカバリコーディネータ114を用いて、システム100は、特定のプリンタ110をディジタルカメラ120が発見することをネットワーク140又はリンク155を通じて可能にする。システム100は、ネットワーク140及び印刷ドライバのリポジトリ142を介して印刷ドライバへアクセスできるが、それらの印刷ドライバをプリンタ110に直接的に格納することもできる。
【００２５】
多くのディジタルカメラ120は何らかのタイプのディスプレイ及びボタンを有し、ディスプレイ及びボタンは図１に示されるGUI126にアクセスすることを支援する。GUI126は、可能性のある発見されたプリンタのリストを示すのに使用可能であり、そのリストはプリンタに含まれている印刷手段の説明を含む(例えば、カラー印刷／白黒印刷、物理的な場所、印刷解像度(高／中／低)、利用可能な用紙種別、その他の属性等が説明されてもよい。)。言及したように、多くのディジタルカメラは、少なくとも「OK」、「キャンセル」及びスクロールアップ／ダウンボタンに加えて、可能な他の多くのボタンを備えていてもよい。これらのボタンはGUI126を使用する様々なユーザ選択を行うのに使用可能である。
【００２６】
GUI126はユーザの入力をディジタルカメラ120に与え、これによりユーザ及びディジタルカメラ120間の情報交換が可能になる。GUI126は、1つ以上のユーザインターフェース制御要素以外の表示物(ディスプレイオブジェクト)を含んでよい。GUI126で表示されるデータを使用して、ユーザは例えば特定のプリンタ110を選択できる。典型的なプリンタ110は多数の印刷ドライバを所有できるが、格納スペースは限られている。図１に示されているように、印刷ドライバ更新サービス112は、ネットワーク140を使用することで、及び場合によっては印刷ドライバのリポジトリ142と通信することで、印刷ドライバの発見を支援してもよい。
【００２７】
＜システムの通信方法＞
ディジタルカメラ120はディスカバリサービス部124を使ってネットワーク140内のプリンタを発見する。関心のあるプリンタが発見されると、ディジタルカメラ120がそのプリンタと通信可能にする際に、(もしバージョンがあれば)如何なるバージョンの印刷ドライバが必要かを、ディスカバリサービス部124は判断する。ディジタルカメラ120が必要な印刷ドライバのどのバージョンも持っていなかった場合、又は(持っていたとしても)適切なバージョンを持っていなかった場合、ディジタルカメラ120はプリンタ110のプリンタドライバを要求する。このリクエストは自動的でもよいし、或いはGUI126を介してユーザによるトリガを受けてもよい(ユーザにより促されてもよい)。
【００２８】
ディジタルカメラ120が特定の印刷ドライバを発見できなかった場合、例えば、必要な印刷ドライバが印刷ドライバのリポジトリ142の中に無かったような場合、システム100は印刷ドライバを指すURLをユーザに示してもよい。
【００２９】
図２は本発明の一実施例によるプリンタ110及びディジタルカメラ120間の通信ステップ例を示すフローチャートである。
【００３０】
図２のステップ204において、ディスカバリサービス部124は、ネットワーク140上の全てのプリンタに対してディスカバリリクエストを発する。例えば、利用可能な印刷装置を特定するために、ディスカバリサービス部124は、利用可能な印刷装置を求めるリクエストを生成及びブロードキャストする。別の例ではウェブサービスと共に、ディスカバリサービス部124はウェブサービスディスカバリ手段を利用する。ステップ208において、様々なディスカバリコーディネータ114がディスカバリリクエストに応答し、利用可能な印刷ドライバを特定する。ステップ209において、ディスカバリサービス部124は、利用可能な印刷装置の性能に関する情報を取得する。これは、発見された印刷装置の情報を求める１つ以上のリクエストをディスカバリサービス部124が作成することを含んでよい。ステップ210に示されるように、ウェブサービスを利用する場合、発見された印刷装置の性能情報を得るために、メタデータ交換が選択的に使用されてもよい。ステップ211において、ディジタルカメラ120は、ディジタルデータを印刷するのに利用可能な印刷装置を示すデータを、GUI126に表示する。
【００３１】
ステップ211ではユーザがGUI126を通じてプリンタを選択する。例えばユーザはGUI126に用意されている１つ以上のインターフェース制御要素を使用して、プリンタのリストから特定のプリンタを選択する。ステップ212において、印刷ドライバ更新マネジャ122は、必要とされるその特定の印刷ドライバに関するデータを要求する。上述したように、そのデータはメタデータの形式でもよいが、必須ではない。このデータは重要かもしれない。なぜなら、印刷ドライバはディジタルカメラの特定のO/Sに固有であり且つディジタルカメラ120の特定のブランドにはほとんど依存しないことが、しばしばあるからである。印刷ドライバデータは、カラー印刷が可能であるか否か、プリンタ110の解像度、利用可能な用紙種別、可能性のある他の具体的詳細等を含んでよいが、これらは必須ではない。ステップ216において、要求されたデータと共に更新サービス部は応答する。
【００３２】
ステップ218において、ディジタルカメラ120は自身のストレージ128を検査し、或るバージョンの印刷ドライバが既に存在しているか否かを判断する。サポートしている印刷ドライバがなかった場合、ステップ220において印刷ドライバ更新マネジャ122は印刷ドライバを要求し、ステップ124において印刷ドライバ更新サービス部112は、ディスカバリサービス部124へ印刷ドライバを送る、或いは印刷ドライバを取得可能な場所に至るリンクを送る。ステップ228において、ディジタルカメラ120は印刷ドライバをインストールし、おそらくはディジタルカメラにインストールされているO/S134と共に処理される。
【００３３】
ステップ232において、ユーザは画像の印刷を要求する。例えば、ユーザはGUI126における１つ以上のインターフェース制御要素を使用して、印刷する特定の画像を選択する。特定の画像の印刷をユーザが望んでいることを示すユーザ入力を検出したことに応答して、ディジタルカメラ120は、印刷ドライバを使って印刷データを生成し、その印刷データがプリンタ110へ転送される。ステップ234において、プリンタ110は画像を印刷し、ステップ236において、画像が印刷されたことをディジタルカメラ120に通知する。印刷が完了すると、ステップ240において、印刷ドライバ更新マネジャ122は選択的に印刷ドライバをアンインストールし、例えばディジタルカメラ120の記憶容量を節約する。ステップ240が破線で描かれているのは、それが選択的なものだからであり、或るユーザは印刷ドライバのアンインストールを望まないかもしれないからである。例えば、ディジタルカメラ120が商店街のキオスクで使用される場合を仮定すると、そのような環境の場合、反復的な使用は予想されにくいので、ディジタルカメラ120は印刷ドライバを破棄する傾向にあるであろう。GUI126はこのような選択をユーザに促してもよい。
【００３４】
＜ディジタルカメラの観点からの説明＞
図３は、ディジタルカメラ120がネットワーク140又はリンク144に始めて接続された場合に、プリンタ及び印刷ドライバの探索(サーチ)がスタートアップ手順の一部としてどのようになされるかを示すフローチャートである。このサーチは自動的に生じてもよいし、或いはGUI126を介してユーザにより契機を与えられてもよい。サーチが完了すると、利用可能なプリンタのリストが、ディジタルカメラ120のディスプレイを通じてユーザに示される。
【００３５】
ステップ304では、印刷ドライバ更新マネジャ122がネットワーク140上の全てのプリンタを探索する。ステップ306において、応答があった場合(例えば、図２のステップ208)、ステップ308においてユーザはリストからプリンタ110を選択し、印刷ドライバ更新マネジャ122はそのプリンタの印刷ドライバ情報をステップ312で要求する。ステップ313において、印刷ドライバ更新マネジャ122は応答を待つ。指定期間が経過した後、応答が１つもなかった場合、印刷ドライバ更新マネジャ122は時間切れになり、フローはステップ314で終了する。
【００３６】
所望の応答が届いていた場合、ステップ316において、印刷ドライバ更新マネジャ122は印刷ドライバがディジタルカメラ120に存在しているか否かを問い合わせる。この問い合わせに対する応答はステップ320で処理される。印刷ドライバが既に存在していた場合、ステップ324において、印刷ドライバは利用可能な最新のものであるか否かという別の問い合わせがなされる。印刷ドライバ場存在しなかった場合又は(存在しても)印刷ドライバが利用可能な最新のものでなかった場合(ステップ330)、ステップ328において、印刷ドライバ更新マネジャ122は最新の印刷ドライバを要求する。ステップ334では最新の印刷ドライバがインストールされる。
【００３７】
ステップ340では、印刷ジョブが印刷されるべきことをユーザが要求し、印刷に備えて印刷ジョブがプリンタ110に送信される。ステップ344では、プリンタからの応答が受信される。ステップ348では、印刷ドライバのインストールを解除する選択肢が利用可能になる。
【００３８】
ディジタルカメラ120のGUI126は、存在する様々なプリンタを認識できる程度に充分に高機能である必要がある。ディジタルカメラ120は、ストレージ128を検査した後、印刷ドライバを求めるリクエストを送信するだけである。印刷ドライバは存在していたが、その印刷ドライバは最新バージョンでなかった場合、印刷ドライバ更新マネジャ122は、最新バージョンを求めてもよいし、GUI126を使ってユーザに判断を促してもよい。システム100はGUI126を使って「ドライバを保持又は破棄することを」ユーザに促してもよい。
【００３９】
＜プリンタの観点からの説明＞
図４はプリンタ110に用意された印刷ドライバ更新サービス部112により行われるステップを示すフローチャートである。先ずステップ404において、印刷ドライバ更新サービス部112はアイドル状態であり、問い合わせを待っている。ステップ408において、問い合わせが受信されると、ステップ412において印刷ドライバ更新サービス部112は、バージョン情報のリクエストを待機するステップ416へ処理を進める。印刷ドライバ更新サービス部112はバージョン情報のリクエストを待機する(ステップ416)。リクエストが到着すると(ステップ420)、印刷ドライバ更新サービス部112はバージョン情報を送信する(ステップ424)。ステップ428において、印刷ドライバ更新サービス部112はリクエストを受信し、そのプリンタで利用可能ならば、印刷ドライバを送信する(ステップ432)。印刷ドライバがプリンタ110で利用可能でなかった場合、ステップ430において印刷ドライバ更新サービス部112は、印刷ドライバの発見方法をユーザに指示し、例えばユニフォームリソースロケータ(URL)又は他のリソースを与えることで指示を行う。印刷ドライバが利用可能でなかった場合、本ステップは更なる処理を一切行わずに終了する。
【００４０】
ステップ434において、印刷ドライバ更新サービス部112が印刷要求を受けると、ステップ438において、要求されている対象物を印刷する。ステップ442において、印刷ドライバ更新サービス部112は、印刷プロセスの状況(ステータス)を印刷ドライバ更新マネジャ122に通知する。
【００４１】
図２及び図４で説明されているように、ディジタルカメラ120からリクエストを受信すると、プリンタは常に応答すべきであり、たとえプリンタ110がドライバを持っていなかったとしても応答を返すべきである。図３のステップ314で説明したように、指定期間経過後に応答が到着しなかった場合、ディジタルカメラ120は時間切れになり、再試行してもよいし断念してもよいし、GUI126を使ってメッセージをユーザに送ってもよい。
【００４２】
上記の情報を使用して、ディスカバリサービス部124はディスカバリコーディネータ114と直接的に対話し、プリンタ110の説明を得てもよい。
【００４３】
かくて本システム100は、プリンタ装置を発見し、インストールし及び使用することをディジタルカメラか直接的に行うプロセスを簡易化し、印刷する際の介在物としてコンピュータを利用する必要性を排除する。
【００４４】
＜ハードウエア及び他の特徴に関する概要＞
印刷ドライバを動的にカメラにインストールする上記の方法は、如何なるタイプのコンピュータアーキテクチャやプラットフォームで実現されてもよい。説明のための図５は、本発明の実施例が使用されるコンピュータシステム500を示すブロック図を示す。コンピュータシステム500は、情報を通信するためのバス502又は他の通信手段と、バス502に結合された情報を処理するプロセッサ504とを有する。コンピュータシステム500は、ランダムアクセスメモリ(RAM)又は他のダイナミックストレージデバイスのようなバス502に結合されたメインメモリ506を有し、メインメモリはプロセッサ504で実行される命令や情報を格納する。メインメモリ506は、プロセッサ504で実行される命令の実行中に、一時的な変数又は他の中間的な情報を格納するのに使用されてもよい。コンピュータシステム500は、プロセッサ504のための命令や静的な情報を格納する、バス502に結合されたリードオンリメモリ(ROM)又は他のスタティックストレージデバイスを更に含む。磁気ディスク又は他の光ディスクのようなストレージデバイス510は、情報及び命令を格納するために用意されてバス502に結合される。
【００４５】
コンピュータシステム500は、コンピュータユーザに情報を表示するために、陰極線管(CRT)のようなディスプレイ512にバス502を介して結合されてもよい。英数字その他のキーを含む入力装置514は、情報及び命令選択内容をプロセッサ504に通知するためにバス502に結合される。他の種類のユーザ入力装置は、カーソル制御装置516（例えば、マウス、トラックボール又はカーソル方向キー）であり、指示情報及び命令選択をプロセッサ504に通知し且つディスプレイ512でのカーソルの動きを制御する。この入力装置は典型的には第１軸（例えば、ｘ）及び第２軸（例えば、ｙ）の２軸による２つの自由度を有し、装置が平面上の位置を指定できるようにする。
【００４６】
本発明は上述したような技法を実現するコンピュータシステム500を利用することに関連する。本発明の一実施例によれば、メインメモリ506に含まれる１以上の命令の１以上のシーケンスを実行するプロセッサ504に応じて、そのような技法がコンピュータシステム500によって実行される。そのような命令は、ストレージデバイス510のような他のマシン読取可能な媒体からメインメモリ506に読み込まれてもよい。メインメモリ506に含まれている命令シーケンスの実行は、本願で説明されるプロセスステップをプロセッサ504が実行することを引き起こす。代替実施例では、本発明を実施するために、ハードワイヤード回路が、代替的に使用されてもよいし或いはソフトウエア命令との組み合わせで使用されてもよい。すなわち本発明の実施例はハードウエア回路及びソフトウエアの特定の如何なる組み合わせにも限定されない。
【００４７】
ここで使用されているように「コンピュータ読取可能な媒体」なる用語は、特定の形式でマシンが処理を引き起こすデータを提供することに関与する如何なる媒体にも関連する。コンピュータシステム500を使用する一実施例では、様々なコンピュータ読取可能な媒体が使用可能であり、例えば実行に備えてプロセッサ504に命令を提供する。そのような媒体は多くの形態をとってよく、限定ではないが、不揮発性媒体及び揮発性媒体を含む。不揮発性媒体は、例えば、ストレージデバイス510のような光又は磁気ディスクを含む。揮発性媒体は、例えば、メインメモリ506のようなダイナミックメモリを含む。
【００４８】
コンピュータ読取可能な媒体の一般的な形態は、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープその他の如何なる磁気媒体、CD-ROMその他の如何なる光媒体、RAM、PROM、EPROM、フラッシュEPROMその他のメモリチップ、カートリッジ、又はコンピュータが読み取ることの可能な他の如何なる媒体も含む。
【００４９】
コンピュータ読取可能な様々な形態は、１以上の命令の１以上のシーケンスをプロセッサ504に実行に備えて搬送する際にも適用可能である。例えば命令は初期には遠く離れたリモートコンピュータの磁気ディスクで搬送されてもよい。リモートコンピュータは自身のダイナミックメモリにその命令をロードし、モデムを用いて電話回線を介して命令を送信してもよい。コンピュータシステム500付近のモデムは電話回線でそのデータを受信し、赤外線送信機を用いてそのデータを赤外線信号に変換する。赤外線検出器は、赤外線信号で搬送されたデータを受信し、適切な回路がそのデータをバス502に置く。バス502はデータをメインメモリ506に運び、プロセッサ504はメインメモリから命令を抽出して実行する。メインメモリ506で受信された命令は、プロセッサ504で実行される前又はその後にストレージデバイス510に選択的に格納されてもよい。
【００５０】
コンピュータシステム500はバス502に結合された通信インターフェース5018も含む。通信インターフェース518は、ローカルネットワーク522に接続されたネットワークリンク520に結合する双方向データ通信をもたらす。例えば、通信インターフェース518は、データ通信接続を対応するタイプの電話回線に与える統合サービスディジタルネットワーク(ISDN)カード又はモデムでもよい。別の例では、通信インターフェース518は、データ通信接続をコンパチブルなLANに与えるLANカードでもよい。無線リンクが使用されてもよい。どの実現手段でも、通信インターフェース518は、電気的な、電磁的な又は光学的な信号を送信及び受信し、様々なタイプの情報を表現するディジタルデータストリームを運ぶ。
【００５１】
ネットワークリンク520は典型的には１以上のネットワークを介して他のデータ装置とのデータ通信をもたらす。例えば、ネットワークリンク520はローカルネットワーク522を介してホストコンピュータ524とのコネクションを提供する、或いはインターネットサービスプロバイダ(ISP)526により運営されるデータ機器とのコネクションを提供する。そしてISP526はデータ通信サービスをワールドワイドパケットデータ通信ネットワーク(今日、「インターネット」528として一般に言及されている)を介して提供する。ローカルネットワーク522及びインターネッ528の双方は、ディジタルデータストリームを搬送する、電気的な、電磁的な又は光学的な信号を使用する。
【００５２】
コンピュータシステム500は、ネットワーク、ネットワークリンク520及び通信インターフェース518を介して、メッセージを送信し及びプログラムコードを含むデータを受信する。インターネットの例の場合、サーバー530はインターネット528、ISP526、ローカルネットワーク522及び通信インターフェース518を介して、アプリケーションプログラムに関する要求されたコードを送信するかもしれない。プロセッサ504は受信したコードを受信したときに実行してもよいし、後の実行に備えてストレージデバイス510又は他の不揮発性ストレージに格納してもよい。
【００５３】
＜ウェブサーバの詳細＞
上述したようにシステム100において、様々な通信プロトコルがWSを使って実現可能である。但し、WSは必須ではなく、本システム100はそれに限定的に解釈されるべきでない。WSプロトコルはシステム100と共に使用するのに適している。なぜなら、本実施例ではディジタルカメラ120であるクライアント装置によって発見され、インストールされ、使用される印刷装置(例えば、プリンタ110)に必要な処理を、WSプロトコルは規定するからである。発見サービス、メタデータ交換サービス及びイベント処理サービスをWS装置が行うことを、WSプロトコルは要求する。従ってWSは装置プロファイル、印刷プロファイル及び走査プロファイルを含む。これらの機能はシステム100内で良好に機能することに資する。しかしながら上述したようにシステム100はWSを使用せずに実現することもできる。
【００５４】
WSがイネーブルされ、例えば、ディジタルカメラ120で使用される発見及び問い合わせサービスがWSディスカバリ及びWSメタデータを含むことができるとする(処理可能であるとする)。これらのサービスは、プリンタ、複合機(MFP)又は他の装置を発見するのに使用可能であり、他の装置とは、画像を印刷できる又はディジタルカメラ120と他の有用なやりとりを実行できるものである。
【００５５】
WSはシンプルオブジェクトアクセスプロトコル(SOAP)として知られているようなプロトコルを使って、コンピュータネットワーク上でXML形式のメッセージをやりとりする。この略語(SOAP)はサービス指向アーキテクチャプロトコルにも使用される。いずれにせよSOAPはWSスタックの機能的階層(functional  layer)を形成し、その上位に更に抽象的な階層(レイヤ)を形成できるようにする基礎的なメッセージ処理フレームワークをもたらす。
【００５６】
SOAPには様々ないくつものタイプのメッセージ処理パターンがあるが、最も一般的なのはリモートプロシジャコール(RPC)パターンであり、RPCの場合、あるネットワークノード(例えば、ディジタルカメラ)が他のノード(例えば、プリンタ)にリクエストメッセージを送信し、そのクライアントに対してサーバーが応答メッセージを速やかに送信する。
【００５７】
システム100に潜在的に有用な他のWSカテゴリは「リレーションシップ(Relationship)」であり、これは、装置がホストを務めるサービス(例えば印刷サービス、スキャンサービス、ファクシミリサービス等)を規定する。WSトランスファと呼ばれる他のWSプロトコルを介してメタデータがやりとりされる。メタデータ交換サービスを使ってやりとりすることのできる(派生語−dialects−として言及される)他の多くの情報タイプが存在する。
【００５８】
システム100におけるメタデータ交換の場合、「この装置(This  Device)」、「このモデル(This  Model)」及び「関係(Relationship)」等の情報のやりとりを行うことが考えられる。「この装置」の情報はプリンタ110の製造者のURLを含み、ディジタルカメラ120はそのURLを使ってプリンタドライバをダウンロードすることができる(ダウンロードは、そのプリンタドライバがプリンタ110に無かった場合又はネットワーク140内に無かった場合になされる。)。「このモデル」の情報はプリンタ110のファームうえぁばージョンを含むことができ、プリンタドライバのバージョン更新が必要か否かをディジタルカメラ120が判定できるようにする。「関係」の情報は、特定のプリンタの中でどんなサービスが用意されているかをディジタルカメラ120に知らせる。例えば、プリンタが印刷サービス機能を有する場合、この「関係」の情報は、そのサービス至るためのIPアドレス及びポートの情報を含む。
【００５９】
図２を再び参照するに、ステップ208の「ディスカバリ応答」及びステップ212の「印刷ドライババージョン要求」に関し、これらの要求は、SOAPプロトコルで規定されているタグ付けシステムを使ってフォーマットが決められていてもよい。ステップ212の「印刷ドライババージョン要求」及びステップ216の「メタデータ応答」に関し、ここでやりとりされる情報は、その情報に組み込まれるタグを有するテキスト文字列の形式で用意されてよく、タグはシステム構造にそのテキスト文字列の読み取り方法を与える。
【００６０】
WSプロトコルを利用する別の例は、ネットワーク140に存在する全てのプリンタ110と通信するものである。この場合、ネットワーク140を通じて循環しているマルチキャストプルーブパケット(multicast  probe  packet)を組み込んでいるWSディスカバリプルーブメッセージを、ディジタルカメラ120は送信できる。基本的には送信側(例えば、ディジタルカメラ120)が発するWSディスカバリプルーブメッセージは、印刷サービスをサポートする装置を探す。WSディスカバリ機能を実装する全てのプリンタは、そのマルチキャストグループアドレスに加入し、マルチキャストプルーブパケットを見出すことになる。プリンタ110が印刷サービスをサポートしていた場合、そのプリンタ110はプルーブ応答メッセージと共にディジタルカメラ120に応答できる。上述したように同様な概念又は原理がWS機能によらず実現可能である。
【００６１】
システム100がWSプロトコルを利用しているとする。ディスカバリサービス部124は「装置ID(DeviceID)」として言及される情報を取得でき、この情報はディジタルカメラ120がどのようなプリンタドライバを必要としているかを特定する。WSプロトコルが使用される例の説明を続ける。初期のディスカバリ(発見)プロセスの間、GUI126内のメニュー処理論理装置(ロジック)は、「ネットワークセットアップ」のサブメニューを有する「セットアップ」メニューを用意することができ、そのサブメニューは「プリンタディスカバリ」のサブメニューを引き起こすことができる。「プリンタディスカバリ」のサブメニューは、ポップアップウインドウを共にプリンタをインストールするプロセスを開始し、ユーザとの更なるやりとりを可能にする。しかしながらこれらの機能はWSプロトコルを使用しなくても実現可能である。
【００６２】
＜メタデータの説明＞
システム100の様々な部分はウェブサービス(WS)プロトコルを用いて実現可能であるが、それは必須ではない。WSが使用されるか否かによらず、システム100内の様々な要素がメタデータを使って通信できる。そのようなメタデータは例えば「このモデル」と呼ばれる或るカテゴリ(WSプロトコルが使用される場合の「dialect」)を含むプリンタ110の説明を含み、そのカテゴリはモデル型名、モデル番号及び装置の製造者を記述する。包含されてもよい他のカテゴリは「この装置」であり、その装置に特有の情報を記述し、例えば装置名、ファームウェアバージョン、シリアル番号等を記述する。WSを使用する場合、
http://schemas.xmlsoap.org/ws/2006/02/devprof/ThisDevice
に等しいDialectを伴うメタデータセクションをプリンタ110は有するべきである。具体例は以下のとおりである。
【数１】
2009171579.tif 000003
【００６３】
以上の説明では、様々な具体的詳細を参照しながら本発明の実施例が説明され、その具体的詳細は実現手段毎に異なってよい。本発明の独占排他的な範囲であって出願人が発明であると意図する範囲は、本願による特許請求の範囲に記載されており、その特許請求の範囲については出願後の如何なる補正事項も考慮される。特許請求の範囲に含まれている用語について明示的に言及されている如何なる定義も、特許請求の範囲で使用されるそのような用語の意味を与える。特許請求の範囲に明示的に使用されていない限定、要素、特性、特徴、利点又は属性の如何なるものも、特許請求の範囲を如何なる方法によっても限定しない。従って本明細書及び図面は限定的な意味ではなく例示的に解釈されるべきである。
【符号の説明】
【００６４】
１００  システム
１１０  プリンタ
１１８  印刷エンジン
１２０  ディジタルカメラ
１２２  印刷ドライバ更新マネジャ
１２４  ディスカバリサービス部
１２６  グラフィカルユーザインターフェース（ＧＵＩ）
１２８  ストレージ
１３０  ネットワークインターフェース
１３２  アプリケーション
１３４  オペレーティングシステム
１４０  ネットワーク
１４２  リポジトリ
１４４  リンク
５００  コンピュータシステム
５０２  バス
５０４  プロセッサ
５０６  メインメモリ
５０８  リードオンリメモリ
５１０  ストレージデバイス
５１２  ディスプレイ
５１４  入力装置
５１６  カーソル制御部
５１８  通信インターフェース
５２０  ネットワークリンク
５２２  ローカルネットワーク
５２４  ホスト
５２６  インターネットサービスプロバイダ
５２８  インターネット
５３０  サーバー
【図１】
2009171579.tif 000004
【図２】
2009171579.tif 000005
【図３】
2009171579.tif 000006
【図４】
2009171579.tif 000007
【図５】
2009171579.tif 000008