説明

メタデータ通信システム

【課題】相互作用する様々な種類のクライアントとの間でメタデータを通信する手法を提供する。
【解決手段】メタデータを通信する技術が開示される。構成モジュールは、マッピングテーブルを含み、これを指定する。例えば、マッピングテーブルの各マッピングは、標準と、取り出しプロトコルと、パッケージ化プロトコルとを示す。装置は、1つ以上の別々に実装された取り出しプロトコルモジュール及びパッケージ化プロトコルモジュールを有する。装置は、クライアントの要求を受信する。装置は、要求を解釈するために取り出しプロトコルを選択し、そのプロトコルを使用して要求を解釈する。装置は、クライアントの標準にマッピングされるパッケージ化プロトコルを決定するためにマッピングテーブルを使用する。装置は、選択されたパッケージ化プロトコルを使用する。装置は適切にパッケージ化されたメタデータをクライアントに返信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メタデータに関し、特に取り出しプロトコル及びパッケージ化プロトコルを使用してクライアントに装置のメタデータを通信する技術に関する。
【背景技術】
【0002】
印刷装置は、紙又は透明シートのような物理媒体に可視のコンテンツを印刷することができる装置である。印刷装置は、プリンタと、RicohのAficio 5560システムのような複合機(MFP:multi-function peripheral)とを含む。典型的には、印刷装置は、ネットワーク又はケーブルを介してコンピュータからデータを受信する。印刷装置は、データにより表されるテキスト及び/又は画像を印刷する。
【0003】
異なる印刷装置は異なる特徴を提供することがある。異なる印刷装置は、異なる特性及び機能を有することがある。アプリケーションプログラム(例えば、ワードプロセッサ)又は印刷ドライバのようなクライアントが、そのクライアントが相互作用しようとする印刷装置についての情報を取得することができることは、しばしば有用である。例えば、印刷装置が白黒又はカラーで印刷することができる場合、印刷装置がそのような機能を有していることをクライアントが認識することは有用になる可能性がある。印刷装置がカラーで印刷する機能を有していることを認識することは、クライアントが印刷装置に送信するコマンドの種類に影響を及ぼす可能性がある。
【0004】
クライアントが印刷装置の特徴、特性及び機能を学習することを可能にするために、ある印刷装置は、印刷装置の特徴、特性及び機能を示すメタデータを(例えば、揮発性メモリ又は不揮発性メモリ)に格納する。クライアントは、このような印刷装置に対して印刷装置のメタデータについての要求を送信することができる。印刷装置は、このような要求を受信し、印刷装置のメタデータ(又はその特に要求された部分)をクライアントに送信することにより要求に応答することができる。クライアントは、メタデータを受信し、クライアントが印刷装置と相互作用する方法をカスタマイズするためにメタデータを使用することができる。このように、クライアントは、印刷装置の特徴、特性及び機能について自動的に学習することができる。
【0005】
装置のメタデータは、装置の製造者、装置のモデル、装置のインターネットプロトコル(IP:Internet Protocol)アドレス等のような情報を示す。ある状況では、クライアントが印刷装置のメタデータの少なくともいくつかを取得するまで、クライアントは、所望の方法で印刷装置と相互作用することができない可能性がある。
【0006】
典型的には、クライアントは、指定の“取り出しプロトコル(retrieving protocol)”に準拠した方法で印刷装置からメタデータを要求する。取り出しプロトコルは、例えば、印刷装置のメタデータを要求するため又は取り出すために、クライアントが印刷装置に送信するべきであるメッセージの形式及び/又は順序を示す。クライアント及び印刷装置が相互に理解した取り出しプロトコルに従わない場合、印刷装置は、クライアントが印刷装置から何を求めているかを認識することができない可能性がある。
【0007】
更に、典型的には、印刷装置は、指定の“パッケージ化プロトコル(packaging protocol)”に準拠した方法でクライアントにメタデータを送信する。パッケージ化プロトコルは、例えば、メタデータがクライアントに送信されるときに採用されるべき形式及び/又は構造を示す。例えば、パッケージ化プロトコルは、メタデータがプレーンテキスト、カンマ区切りフォーマット又は指定のスキームに準拠する拡張マークアップ言語(XML:Extensible Markup Language)ドキュメントとして送信されるべきであることを示す。クライアント及び印刷装置が相互に理解したパッケージ化プロトコルに従わない場合、クライアントは、印刷装置がクライアントに送信したメタデータで何を意味しているかを認識することができない可能性がある。
【0008】
ある取り出しプロトコル及びパッケージ化プロトコルは、クライアントがネットワーク又はインターネットのような一連の相互接続ネットワークで装置のメタデータを取得することを可能にするように特に設計されている。装置が離れていても、クライアントと装置とがインターネットで接続されている限り、このようなプロトコルを使用して、クライアントは、装置の特徴、特性及び機能を自動的に発見することができる。
【0009】
異なるクライアントは異なる標準に準拠する可能性がある。クライアントがメタデータを取得して解釈するために使用する取り出しプロトコル及びパッケージ化プロトコルは、クライアントが準拠する標準に応じて変化する可能性がある。ユニバーサル・プラグ・アンド・プレイ(UPnP:Universal Plug and Play)に準拠するクライアントは、典型的には、取り出しプロトコルとしてハイパーテキスト転送プロトコル(HTTP:Hypertext Transfer Protocol)のGetを使用し、パッケージ化プロトコルとしてデバイス・テンプレート・プロトコルを使用する。これに対して、ウェブ・サービス・デバイス(WSD:Web Service Device)に準拠するクライアントは、典型的には、取り出しプロトコルとして(World Wide Web Consortiumにより指定された)WS転送(WS-Transfer)プロトコルを使用し、パッケージ化プロトコルとして(World Wide Web Consortiumにより指定された)WSデバイス・プロファイル・プロトコル(WS-Device Profile Protocol)を使用する。
【発明の開示】
【発明が解決しようとする課題】
【0010】
様々な異なる形式のクライアントにメタデータを通信することを可能にするために、印刷装置は、クライアントが準拠する可能性のある異なる標準毎に異なるモジュールを有してもよい。例えば、印刷装置は、(a)UPnP標準に準拠するクライアント(UPnPクライアント)からメタデータ要求を受信してこれに応答するUPnPモジュールと、(b)WSD標準に準拠するクライアント(WSDクライアント)からメタデータ要求を受信してこれに応答するWSDモジュールとを有してもよい。例えば、UPnPモジュールは、HTTP GETとデバイス・テンプレート・プロトコルとを使用し、WSDモジュールは、WS転送プロトコルとWSデバイス・プロファイル・プロトコルとを使用する。各モジュールは、異なる一連の機械実行可能命令として実装されてもよい。
【0011】
前述の手法は役に立つことがあるが、前述の手法は柔軟性がないため、ある程度の欠点を有する。まず、特定の標準に準拠するクライアントの全ては、(特定の標準により記述される)特定の取り出しプロトコルと特定のパッケージ化プロトコルとを使用することがある。しかし、時間と共に、新しく優れたプロトコルが利用可能になると、既存のプロトコルは、古いプロトコルの代わりに新しいプロトコルを使用することを指示するように進化する傾向がある。従って、後で、特定のプロトコルに準拠する同じクライアントは、新しく優れた取り出しプロトコルを使用するように進化する可能性がある(しかし、このようなクライアントは元のパッケージ化プロトコルを使用し続ける可能性もある)。このような状況では、密結合で元の取り出しプロトコル及びパッケージ化プロトコルを実装する印刷装置のモジュールは、特定の標準に準拠するクライアントにメタデータを通信することができなくなる。このような状況では、印刷装置がこのようなクライアントからのメタデータ要求を受信してこれに応答するために、元のパッケージ化プロトコルと新しい取り出しプロトコルとの双方を実装した新しいモジュールが生成され、印刷装置にインストールされる必要がある。
【0012】
更に、元の取り出しプロトコルと元のパッケージ化プロトコルとの双方を依然として一緒に使用する標準が存在しなくなった場合、元の取り出しプロトコルと元のパッケージ化プロトコルとの双方を実装するモジュールは陳腐化して役に立たなくなる。不都合なことに、他の標準が依然として(元のパッケージ化プロトコルではなく)元の取り出しプロトコルを使用する場合であっても、他の標準が依然として(元の取り出しプロトコルではなく)元のパッケージ化プロトコルを使用する場合であっても、このことが生じ得る。
【0013】
完全に新しい標準が公開され、クライアントにより広く採用された場合に、同様の問題が生じ得る。このような新しい標準は、既存の取り出しプロトコル及びパッケージ化プロトコルを使用する可能性があるが、このような新しい標準は、他の以前の標準により使用される組み合わせとは異なる既存の取り出しプロトコル及びパッケージ化プロトコルの組み合わせを使用する可能性がある。既存の標準用のモジュールは、既存の取り出しプロトコル及びパッケージ化プロトコルの特定の組み合わせを一緒に実装しない可能性がある。このような状況では、既存の取り出しプロトコル及びパッケージ化プロトコルが既存のモジュール内に以前に実装されていたとしても(同じモジュールには一緒に実装されていない)、新しい標準用の完全に新しいモジュールが生成されて印刷装置にインストールされる必要がある。
【0014】
従って、従来の手法が使用されると、時間と共に、印刷装置のモジュールを生成した人により大量の時間の及び取り組みを費やす必要がある。更に、従来の手法が使用されると、時間と共に、大量の陳腐化した再利用不可能なコードを生成する可能性がある。
【0015】
更に、十分に多くの異なる取り出しプロトコルと十分に多くの異なるパッケージ化プロトコルとを考えると(これらの全ては異なる標準により同時に使用されるが、異なる組み合わせになる)、取り出しプロトコルとパッケージ化プロトコルとの異なる可能な組み合わせの数は圧倒的に膨大になる可能性がある。印刷装置が異なる組み合わせ毎に別々のモジュールを維持管理する必要がある場合、且つ、各モジュールが取り出しプロトコルとパッケージ化プロトコルとの双方を完全に実装している場合、印刷装置がこれらのモジュールを維持管理するために必要とするメモリ及び/又は固定記憶空間の量は相当になる可能性がある。
【0016】
前述の手法が使用されると、印刷装置のリソースと人間のプログラミングの取り組みとが非常に無駄になる。前述のことに基づいて、装置とこれらの装置と相互作用する様々な種類のクライアントとの間でメタデータを通信する無駄の少ない手法の必要性が存在する。
【課題を解決するための手段】
【0017】
装置のメタデータをクライアントに通信するシステム及び方法が開示される。本発明の一実施例では、装置(例えば、印刷装置)は、構成モジュールを有する。構成モジュールは、マッピングテーブルを含み、これを指定する。本発明の一実施例では、マッピングテーブルの各マッピングは、(a)標準(例えば、UPnP、WSD等)と、(b)その標準用の取り出しプロトコルと、(c)その標準用のパッケージ化プロトコルとを少なくとも示す。各マッピングは、一式の特性も示す。マッピングテーブルでは、特定の取り出しプロトコル及びパッケージ化プロトコルが1つより多くの標準にマッピング可能である。本発明の代替実施例では、マッピングテーブルの各マッピングは、(a)パッケージ化プロトコルと、(b)取り出しプロトコルと、(c) クライアントの要求を特定して発送するために使用可能な一式の特性とを少なくとも示す。すなわち、“標準”は任意選択である。
【0018】
装置は、マッピングテーブルで指定された固有の取り出しプロトコル毎に別々の取り出しプロトコルモジュールと、マッピングテーブルで指定された固有のパッケージ化プロトコル毎に別々のパッケージ化プロトコルモジュールとを更に有する。取り出しプロトコルモジュールは、パッケージ化プロトコルモジュールと別に実装される。その結果、プロトコルを使用する標準の数に拘らず、何らかの特定の取り出しプロトコル又は何らかの特定のパッケージ化プロトコルのために1つより多くのモジュールが装置に実装される必要がなくなる。
【0019】
本発明の一実施例によれば、装置は、クライアントから生じた要求を受信する。装置は、要求の何らかの特性に基づいて、装置が要求を解釈するために使用する取り出しプロトコルを決定する。装置は、選択された取り出しプロトコルを使用して要求を解釈する。装置はまた、要求の何らかの特性に基づいて、クライアントが準拠する標準を決定する。装置は、標準にマッピングされたパッケージ化プロトコルを決定するためにマッピングテーブルを使用する。装置は、適切な形式で要求されたメタデータをパッケージ化するために、選択されたパッケージ化プロトコルを使用する。装置は、適切にパッケージ化されたメタデータをクライアントに返信する。
【発明の効果】
【0020】
本発明の実施例によれば、装置とこれらの装置と相互作用する様々な種類のクライアントとの間でメタデータを通信する無駄の少ない手法が実現される。
【発明を実施するための最良の形態】
【0021】
限定的ではなく一例として、添付図面に実施例を示す。図面では、同様の参照符号は同様の要素を示す。
【0022】
以下の詳細な説明では、説明の目的で、本発明の十分な理解を提供するために特定の詳細が示されている。しかし、本発明は、これらの特定の詳細なしに実施され得ることが明らかである。ある場合には、本発明を不要にあいまいにしないように、周知の構成及び装置はブロック図に示されていない。
【0023】
<概要>
装置のメタデータをクライアントに通信するシステム及び方法が開示される。本発明の一実施例では、装置(例えば、印刷装置)は、構成モジュールを有する。構成モジュールは、マッピングテーブルを含み、これを指定する。本発明の一実施例では、マッピングテーブルの各マッピングは、(a)標準(例えば、UPnP、WSD等)と、(b)その標準用の取り出しプロトコルと、(c)その標準用のパッケージ化プロトコルとを少なくとも示す。マッピングテーブルでは、特定の取り出しプロトコル及びパッケージ化プロトコルが1つより多くの標準にマッピング可能である。
【0024】
装置は、マッピングテーブルで指定された固有の取り出しプロトコル毎に別々の取り出しプロトコルモジュールと、マッピングテーブルで指定された固有のパッケージ化プロトコル毎に別々のパッケージ化プロトコルモジュールとを更に有する。取り出しプロトコルモジュールは、パッケージ化プロトコルモジュールと別に実装される。その結果、プロトコルを使用する標準の数に拘らず、何らかの特定の取り出しプロトコル又は何らかの特定のパッケージ化プロトコルのために1つより多くのモジュールが装置に実装される必要がなくなる。
【0025】
本発明の一実施例によれば、装置(例えば、印刷装置)は、クライアントから生じた要求を受信する。装置は、要求の何らかの特性に基づいて、装置が要求を解釈するために使用する取り出しプロトコルを決定する。装置は、選択された取り出しプロトコルを使用して要求を解釈する。装置はまた、要求の何らかの特性に基づいて、クライアントが準拠する標準を決定する。装置は、標準にマッピングされたパッケージ化プロトコルを決定するためにマッピングテーブルを使用する。装置は、適切な形式で要求されたメタデータをパッケージ化するために、選択されたパッケージ化プロトコルを使用する。装置は、適切にパッケージ化されたメタデータをクライアントに返信する。
【0026】
<メタデータ通信システムの例>
図1は、本発明の実施例に従って装置のメタデータをクライアントに通信するシステムの例を示すブロック図である。図示の実施例によれば、システム100は、クライアント102と装置104とを有する。本発明の代替実施例は、図1に示すものより多い構成要素、少ない構成要素又は異なる構成要素を有してもよい。
【0027】
クライアント102は、ネットワーク106を介して装置104に通信可能に結合又は接続される。ネットワーク106は、ローカルエリアネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)及び/又は一連の相互接続ネットワークを含んでもよい。インターネットは、このような一連の相互接続ネットワークの例である。従って、本発明の一実施例では、クライアント102は、インターネットを介して装置104と通信する。
【0028】
本発明の一実施例では、クライアント102は、ワードプロセッサのようなアプリケーションプログラム、又は装置104により処理及び/又は使用可能なデータを生成する他のアプリケーションプログラムである。例えば、クライアント102は、装置104が紙又は透明シートのような物理媒体に描画及び印刷する印刷データを生成するコンピュータ実行可能プログラムでもよい。本発明の代替実施例では、クライアント102は印刷ドライバである。クライアント102は、装置104からメタデータを要求して受信する如何なる機構でもよい。クライアント102の形式に応じて、クライアント102は、複数の異なる標準(例えば、WSD、UPnP等)のいずれか1つに準拠し、これに従って動作してもよい。
【0029】
本発明の一実施例では、装置104は、プリンタ又はMFPのような印刷装置である。本発明の代替実施例では、装置104は、コピー機、スキャナ、カメラ又はそのような種類の機器でもよい。装置104は、クライアント102からメタデータの要求を受信し、装置104についてのメタデータでこのような要求に応答する如何なる機構又はシステムでもよい。
【0030】
本発明の一実施例では、装置104は、要求発送モジュール108と、一式の取り出しプロトコル110A-Nと、管理モジュール112と、構成モジュール114と、メタデータサーバ116と、一式のパッケージ化モジュール118A-Nとを有する。ここで説明する各モジュールは、別々の一連の機械実行可能命令として実装されてもよいが、必ずしもそのように実装される必要はない。本発明の一実施例では、装置104に存在する1つ以上のプロセッサ(図示せず)は、様々な時点でこのような一連の命令を実行し、装置104に対して一連の命令が示す機能を実行させる。例えば、取り出しプロトコルモジュール110A-N及びパッケージ化プロトコルモジュール118A-Nは、別々のコードライブラリとして実装されてもよい。
【0031】
<別々の取り出しプロトコルモジュール及びパッケージ化プロトコルモジュール>
本発明の一実施例によれば、取り出しプロトコルモジュール110A-Nのそれぞれは、異なる取り出しプロトコルを実装する。同様に、本発明の一実施例によれば、パッケージ化プロトコルモジュール118A-Nのそれぞれは、異なるパッケージ化プロトコルを実装する。特定の取り出しプロトコルは、取り出しプロトコルモジュール110A-Nのうちわずか1つに実装されてもよい。同様に、特定のパッケージ化プロトコルは、パッケージ化プロトコルモジュール118A-Nのうちわずか1つに実装されてもよい。取り出しプロトコル及びパッケージ化プロトコルの実装は2回以上行われる必要がないため、これらのプロトコルを装置104で維持管理するために必要なメモリ及び記憶空間が低減される。
【0032】
本発明の一実施例によれば、取り出しプロトコルモジュール110A-Nは、パッケージ化プロトコルモジュール118A-Nと別であり、分離されている。この区別及び分離の結果、取り出しプロトコルモジュール110A-Nのいずれかにより実装される如何なる取り出しプロトコルも、パッケージ化プロトコル118A-Nのいずれかにより実装される如何なるパッケージ化プロトコルと共に使用可能になる。実際に、特定の取り出しプロトコルは、複数の異なるパッケージ化プロトコルと共に使用されてもよく、特定のパッケージ化プロトコルは、複数の異なる取り出しプロトコルと共に使用されてもよい。
【0033】
本発明の一実施例では、取り出しプロトコルモジュール110A-Nは異なる取り出しプロトコルを実装するが、これらのモジュールのそれぞれは、他のエンティティがこれらのモジュールと通信するための標準インタフェースを有する。本発明のこのような実施例では、インタフェースはモジュールによって変化しない。インタフェースは、例えばアプリケーションプログラムインタフェース(API:application programming interface)の1つ以上のメソッドとして実装されてもよい。同様に、本発明の一実施例では、パッケージ化プロトコルモジュール118A-Nは異なるパッケージ化プロトコルを実装するが、これらのモジュールのそれぞれは、他のエンティティがこれらのモジュールと通信するための標準インタフェースを有する。更に、本発明の一実施例では、管理モジュール112は、(a)取り出しプロトコルモジュール110A-Nが管理モジュール112と通信するための1つの標準インタフェースと、(b)パッケージ化プロトコルモジュール118A-Nが管理モジュール112と通信するための他の標準インタフェースとを有する。
【0034】
<構成モジュール>
本発明の一実施例によれば、構成モジュール114は、マッピングテーブルを維持管理する。本発明の一実施例では、マッピングテーブルの各マッピングは、(a)標準と、(b)その標準用の取り出しプロトコルと、(c)その標準用のパッケージ化プロトコルとを少なくとも示す。しかし、本発明の変形実施例では、マッピングは、前記のものより多い情報項目、少ない情報項目及び/又は異なる情報項目を含んでもよい。例えば、本発明の一実施例では、各マッピングは、クライアントの要求を特定して発送するために使用可能な一式の特性を更に含む。他の例として、本発明の一実施例では、マッピングテーブルのマッピングは“標準”を示さない。装置104の開発者は、装置104がサポートする必要のある標準と、実装されたプロトコルとに基づいて、装置104の開発段階中にマッピングテーブルを設定して構成することができる。
【0035】
例えば、特定の標準により使用されるパッケージ化プロトコルが変化すると、後のバージョンの装置104では、開発者は開発時点で特定の標準にマッピングを変更することができ、これによって、マッピングは、特定の標準が以前にマッピングされていた古いパッケージ化プロトコルの代わりに、新しいパッケージ化プロトコルに特定の標準をマッピングする。このような状況では、新しいパッケージ化プロトコルのパッケージ化プロトコルモジュールが装置104に既に実装されている場合(他の標準が新しいパッケージ化プロトコルに既にマッピングされている場合等)、新しいモジュール又はプロトコルを装置104にインストール又は実装する必要はない。
【0036】
他の例として、新しい今までに知られていない標準が現れ、その新しい標準が既に知られている取り出しプロトコル及びパッケージ化プロトコルを使用し、対応する取り出しプロトコルモジュール及びパッケージ化プロトコルモジュールが既に装置104に存在する場合、後のバージョンの装置104では、開発者は、新しい標準と既存の既に実装されている取り出しプロトコル及びパッケージ化プロトコルとの間の新しいマッピングを、開発時点でマッピングテーブルに追加することができる。その後、以前の標準が、新しい標準が使用する取り出しプロトコル及びパッケージ化プロトコルの同じ組み合わせを使用しない場合であっても、後のバージョンの装置104は、新しい標準を使用するクライアントからの要求を適切に処理することができる。このような状況では、前述のことは、後のバージョンの装置104に新しいモジュール又はプロトコルをインストール又は実装せずに実現され得る。
【0037】
一実施例では、マッピングテーブルの各マッピングは、そのマッピングに示される標準に準拠するクライアントから生じる要求に典型的に関連する1つ以上の特性を特定する情報を更に示す。このような情報は、入来する要求が対応する標準を特定するために使用されてもよい。例えば、このような情報は、装置104がマッピングの標準に対応する要求を受信する伝送制御プロトコル(TCP:Transmission Control Protocol)ポート番号を含んでもよい。このような状況では、装置104がそのTCPポートで受信する要求は、そのTCPポートにマッピングされた標準に対応すると考えられる。他の例として、このような情報は、マッピングの標準に対応する要求に含まれる制御文字列を含んでもよい。このような状況では、その制御文字列を含む要求は、その制御文字列にマッピングされた標準に対応すると考えられる。
【0038】
マッピングテーブルの例について以下に説明する。
【0039】
<マッピングテーブルの例>
図2は、本発明の実施例によるマッピングテーブルの例を示すブロック図である。このようなマッピングテーブルは、装置104が様々な標準に準拠するクライアントからのメタデータ要求に応答するために使用するパッケージ化プロトコル及び取り出しプロトコルを決定するために、構成モジュール114により維持管理されて使用されてもよい。例えば、マッピングテーブルは、1つ以上のユーザが変更可能な構成ファイルの形式で装置104に格納されてもよい。
【0040】
図2に示すように、マッピングテーブル200は、取り出しプロトコルの列202と、パッケージ化プロトコルの列204と、標準の列206と、特性の列208とを含む。マッピングテーブル200は、マッピング(すなわち、エントリ又は行)210A-Nを更に含む。図示の例では、マッピング210Aは、“WSD”標準を“WS転送”取り出しプロトコルと“WSデバイス・プロファイル”パッケージ化プロトコルとにマッピングする。マッピング210Bは、“UPnP”標準を“HTTP GET”取り出しプロトコルと“デバイス・テンプレート”パッケージ化プロトコルとにマッピングする。このような状況では、取り出しプロトコルモジュール110A-Nは、(a)“WS転送”取り出しプロトコル用の1つの取り出しプロトコルモジュールと、(b)“HTTP GET”取り出しプロトコル用の1つの取り出しプロトコルモジュールとを少なくとも含む。更に、このような状況では、パッケージ化プロトコルモジュール118A-Nは、(a)“WSデバイス・プロファイル”パッケージ化プロトコル用の1つのパッケージ化プロトコルモジュールと、(b)“デバイス・テンプレート”パッケージ化プロトコル用の1つのパッケージ化プロトコルモジュールとを少なくとも含む。
【0041】
更に、図2に示す実施例では、マッピング210Aは、“WSD”標準を“TCPポート1600”の特性にマッピングする。マッピング210Bは、“UPnP”標準を“TCPポート1700”の特性にマッピングする。その結果、本発明の一実施例では、装置104がクライアントの要求を受信すると、装置104は、クライアントの要求が到達したTCPポートに少なくとも部分的に基づいて、要求(及び発信元のクライアント)が準拠する標準を決定する。この例では、要求がTCPポート1600で到達すると、装置104は、要求が(TCPポート1600がマッピングされた)“WSD”標準に準拠したクライアントから生じたと考える。しかし、要求がTCPポート1700で到達すると、装置104は、要求が(TCPポート1700がマッピングされた)“UPnP”標準に準拠したクライアントから生じたと考える。クライアント及び要求が準拠する標準は、装置104が要求を解釈して装置104がクライアントに返送するメタデータをパッケージ化するために使用する取り出しプロトコル及びパッケージ化プロトコルを決定する。
【0042】
図1に示すシステムの動作例について以下に説明する。
【0043】
<メタデータ通信技術の例>
図3は、クライアントが理解するプロトコルを使用して、クライアントが要求した装置のメタデータをクライアントに通信する技術の例を示すシーケンス図である。本発明の代替実施例は、図3に示すものより多いステップ、少ないステップ又は異なるステップを使用してもよい。
【0044】
図3に示すように、ステップ302において、クライアント102は、(図1に示す)装置104からメタデータを要求する。メタデータ要求は、クライアント102が準拠する標準により使用される取り出しプロトコルに従って形式設定される。装置104の要求発送モジュール108は、クライアント102からメタデータ要求を受信する。
【0045】
ステップ304において、要求発送モジュール108は、メタデータ要求が取り出しプロトコルモジュール110A-Nのうちどれに送信されるかを決定する。本発明の一実施例では、要求発送モジュール108は、クライアント102が準拠すると考えられる標準に基づいて、取り出しプロトコルモジュール110A-Nのうち1つを選択する。
【0046】
本発明の一実施例では、要求発送モジュール108は、要求の特性及び/又は要求を受信した方法の特性に基づいてこの標準を決定する。例えば、要求発送モジュール108は、メタデータ要求を受信したTCPポートに基づいて、取り出しプロトコルモジュールを選択してもよい。要求発送モジュールは、マッピングテーブル200の特性の列208で要求のTCPポートを調べ、クライアントの標準がそのTCPポートがマッピングされる標準であることを決定してもよい。他の例として、要求発送モジュール108は、メタデータ要求に存在する制御文字列に基づいて、取り出しプロトコルモジュールを選択してもよい。要求発送モジュールは、マッピングテーブル200の特性の列208で制御文字列を調べ、クライアントの標準がその制御文字列がマッピングされる標準であることを決定してもよい。他の例として、要求発送モジュール108は、複数の異なる要素(TCPポート、制御文字列及び/又は他の要素等)の組み合わせに基づいて、取り出しプロトコルモジュールを選択してもよい。
【0047】
要求発送モジュール108が取り出しプロトコルモジュール110A-Nの中から特定の取り出しプロトコルモジュールを選択した後に、ステップ304において、要求発送モジュール108は、メタデータ要求を特定の取り出しプロトコルモジュールに発送する。
【0048】
ステップ306において、特定の取り出しプロトコルモジュールは、特定の取り出しプロトコルモジュールが実装する取り出しプロトコルに従ってメタデータ要求を解釈する。特定の取り出しプロトコルモジュールは、プロトコルから独立した“メタデータ取得”要求を作り、管理モジュール112に送信する。“メタデータ取得”要求は、クライアント102からの元のメタデータ要求で指定されたメタデータの特定の項目(例えば、製造者、IPアドレス等)を特定するが、元のメタデータ要求を作るために使用された取り出しプロトコルに基づいて変化しない方法でこれを行う。例えば、特定の取り出しプロトコルは、管理モジュール112により実装されるAPIの標準インタフェースのメソッドを起動することにより、“メタデータ取得”要求を管理モジュール112に送信してもよい。このような標準インタフェースのメソッドは、要求されたメタデータの特定の項目を選択する基準をパラメータとして受け入れてもよい。管理モジュール112は、特定の取り出しプロトコルモジュールから“メタデータ取得”要求を受信する。
【0049】
ステップ308において、管理モジュール112は、クライアント102が要求した“生”のメタデータの要求をメタデータサーバ116に送信する。メタデータがパッケージ化プロトコルに従ってまだパッケージ化又は形式設定されていないため、メタデータは、“生”である。メタデータサーバ116は、“生”のメタデータの要求を受信する。
【0050】
ステップ310において、メタデータサーバ116は、要求された“生”のメタデータを管理モジュール112に返送する。返送されたメタデータは、メタデータサーバ116により維持管理される全ての利用可能なメタデータより少ないメタデータを含んでもよい。この理由は、クライアント102は、装置104について利用可能なメタデータの部分集合のみを要求している可能性があるからである。本発明の一実施例では、メタデータサーバ116が管理モジュール112から受信した要求は、クエリ又は選択基準を記載し、メタデータサーバ116は、クエリ又は選択基準を満たす装置に格納されたメタデータの一部のみを返送する。管理モジュール112は、メタデータサーバ116から“生”のメタデータを受信する。
【0051】
ステップ312において、管理モジュール112は、適切なパッケージ化プロトコルの要求を構成モジュール114に送信する。本発明の一実施例では、ステップ304を参照して前述したように、この要求は、クライアント102が以前に準拠すると考えられた標準を特定する。例えば、要求は、クライアント102が準拠する標準として“WSD”又は“UPnP”を特定してもよい。構成モジュール114は、適切なパッケージ化プロトコルの要求を受信する。
【0052】
ステップ314において、構成モジュール114は、適切なパッケージ化プロトコルの識別情報を決定し、適切なパッケージ化プロトコルの識別情報を管理モジュール112に返送する。本発明の一実施例では、構成モジュール114は、管理モジュール112からの要求で特定された標準をマッピングテーブル200で見つけ、その標準がマッピングテーブル200でマッピングされているパッケージ化プロトコルの識別情報を管理モジュール112に返送することにより、適切なパッケージ化プロトコルの識別情報を決定する。一例として図2のマッピングテーブル200を使用して、特定された標準が“WSD”である場合、構成モジュール114は、適切なパッケージ化プロトコルとして“WSデバイス・プロファイル”を特定する情報を管理モジュール112に返送してもよい。他の例として、特定された標準が“UPnP”である場合、構成モジュール114は、適切なパッケージ化プロトコルとして“デバイス・テンプレート”を特定する情報を管理モジュール112に返送してもよい。いずれの場合でも、管理モジュール112は、適切なパッケージ化プロトコルの識別情報を受信する。
【0053】
ステップ316において、管理モジュール112は、“生”のメタデータがパッケージ化プロトコル118A-Nのどれにパッケージ化のために送信されるかを決定する。本発明の一実施例では、ステップ314を参照して前述したように、管理モジュール112は、構成モジュール114により特定された適切なパッケージ化プロトコルを実装するパッケージ化プロトコルモジュールを選択する。管理モジュール112がパッケージ化プロトコルモジュール118A-Nの中から特定のパッケージ化プロトコルを選択した後に、管理モジュール112は、パッケージ化されたバージョンのメタデータを取得する要求で、特定のパッケージ化プロトコルモジュールに“生”のメタデータを送信する。特定のパッケージ化プロトコルモジュールは、この要求と“生”のメタデータとを受信する。
【0054】
ステップ318において、特定のパッケージ化プロトコルモジュールは、特定のパッケージ化プロトコルモジュールが実装するパッケージ化プロトコルに従って“生”のメタデータをパッケージ化する。これを行うことで、特定のパッケージ化プロトコルモジュールは、適切なパッケージ化プロトコルに準拠する“パッケージ化された”メタデータを生成する。クライアント102は適切なパッケージ化プロトコルを理解しているため、クライアント102は、この“パッケージ化された”メタデータを理解することができる。本発明の一実施例では、“生”のメタデータをパッケージ化することは、“生”のメタデータを形式設定及び/又は注釈することを含む。例えば、特定のパッケージ化プロトコルモジュールは、様々な別々の説明用XMLタグの対の中に“生”のメタデータの個々のメタデータ項目を入れることにより、“生”のメタデータをパッケージ化してもよい。他の例として、特定のパッケージ化プロトコルモジュールは、様々な区切り文字で“生”のメタデータの個々のメタデータ項目を区切ることにより、“生”のメタデータをパッケージ化してもよい。“パッケージ化された”メタデータを生成した後に、特定のパッケージ化プロトコルは、“パッケージ化された”メタデータを管理モジュール112に返送する。管理モジュール112は、“パッケージ化された”メタデータを受信する。
【0055】
ステップ320において、管理モジュール112は、“パッケージ化された”メタデータをクライアント102に返送する。例えば、管理モジュール112は、ネットワーク106を介して(場合によっては要求発送モジュール108を通じて)“パッケージ化された”メタデータをクライアント102に返送してもよい。クライアント102は“パッケージ化された”メタデータを受信し、様々な目的にメタデータを使用し得る。例えば、クライアント102は、装置104が実行することができる(メタデータに示される)様々な機能及び/又は様々な装置104の特性をユーザに示すユーザインタフェースを生成するために、メタデータを使用してもよい。他の例として、クライアント102は、クライアント102と装置104との間の更なる通信(例えば、印刷コマンド)を形式設定するためにメタデータを使用してもよい。
【0056】
<実装機構>
図4は、本発明の実施例が実施され得るコンピュータシステム400を示すブロック図である。コンピュータシステム400は、バス402又は情報を通信する他の通信機構と、バス402に結合され、情報を処理するプロセッサ404とを有する。コンピュータシステム400はまた、バス402に結合され、プロセッサ404により実行される情報及び命令を格納するメインメモリ406(ランダムアクセスメモリ(RAM:random access memory)又は他の動的記憶装置等)を有する。メインメモリ406はまた、プロセッサ404により実行される命令の実行中に一時変数又は他の中間情報を格納するために使用されてもよい。コンピュータシステム400は、バス402に結合され、プロセッサ404の静的情報及び命令を格納する読み取り専用メモリ(ROM:read only memory)408又は他の静的記憶装置を更に有する。情報及び命令を格納する記憶装置410(磁気ディスク又は光ディスク等)が設けられ、バス402に結合される。
【0057】
コンピュータシステム400は、バス402を介して情報をユーザに表示するディスプレイ412(液晶ディスプレイ(LCD:liquid crystal display)等)に結合されてもよい。プロセッサ404に情報及びコマンド選択を通信するために、英数字キー及び他のキーを含む入力装置414がバス402に結合される。他の形式のユーザ入力装置は、指示情報及びコマンド選択をプロセッサ404に通信し、ディスプレイ412でカーソル移動を制御するカーソル制御416(マウス、トラックボール、スタイラス又はカーソル指示キー等)である。典型的には、この入力装置は、2つの軸(第1の軸(例えばx)及び第2の軸(例えばy))で2つの自由度を有する。2つの自由度により、装置は平面で位置を指定することが可能になる。
【0058】
本発明は、無線通信アーキテクチャでのコンピュータシステム400の使用に関する。本発明の一実施例によれば、プロセッサ404がメインメモリ406に含まれる1つ以上の命令の1つ以上のシーケンスを実行することに応じて、無線通信がコンピュータシステム400により提供される。このような命令は、他のコンピュータ可読媒体(記憶装置410等)からメインメモリ406に読み込まれてもよい。メインメモリ406に含まれる命令のシーケンスにより、プロセッサ404は、ここに記載の処理を実行する。多重処理構成の1つ以上のプロセッサが、メインメモリ406に含まれる命令のシーケンスを実行するために使用されてもよい。代替実施例では、本発明を実施するソフトウェア命令の代わりに、又はこれと組み合わせて、配線回路が使用されてもよい。従って、本発明は、ハードウェア回路及びソフトウェアの特定の組み合わせに限定されない。
【0059】
ここで用いられる“コンピュータ可読媒体”という用語は、実行のためにプロセッサ404に命令を提供する際に関与する何らかの媒体を示す。このような媒体は、不揮発性媒体と揮発性媒体と伝送媒体とを非限定的に含む多くの形式になってもよい。不揮発性媒体は、例えば、記憶装置410のような光ディスク又は磁気ディスクを含む。揮発性媒体は、メインメモリ406のような動的メモリを含む。伝送媒体は、バス402を含む線を含み、同軸ケーブルと、銅線と、光ファイバとを含む。
【0060】
一般的な形式のコンピュータ可読媒体は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、CD-ROM、他の光学媒体、パンチカード、紙テープ、穴のパターンを有する他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、他のメモリチップ若しくはカートリッジ、又はコンピュータが読み取ることができる他の形式の媒体を含む。
【0061】
様々な形式のコンピュータ可読媒体が、実行するためにプロセッサ404に1つ以上の命令の1つ以上のシーケンスを運ぶことに関与してもよい。例えば、命令は、まず、遠隔コンピュータの磁気ディスクで持ち込まれてもよい。遠隔コンピュータは、命令を動的メモリにロードし、モデムを使用して命令を電話回線で送信することができる。コンピュータシステム400の場所にあるモデムは、電話回線でデータを受信し、データをバス402に配置することができる。バス402は、データをメインメモリ406に伝達し、プロセッサ404はメインメモリ406から命令を取り出して実行する。メインメモリ406により受信された命令は、プロセッサ404による実行の前又は後に、任意選択で記憶装置410に格納されてもよい。
【0062】
コンピュータシステム400は、バス402に結合された通信インタフェース418を有する。通信インタフェース418は、ローカルネットワーク422に接続されたネットワーク回線420に結合して、双方向データ通信を提供する。例えば、通信インタフェース418は、対応する形式の電話回線にデータ通信接続を提供するためのデジタル総合サービス網(ISDN:integrated service digital network)カード又はモデムでもよい。他の例として、通信インタフェース418は、互換性のあるLANにデータ通信接続を提供するためのLANカードでもよい。無線リンクが実装されてもよい。いずれかのこのような実装で、通信インタフェース412は、様々な形式の情報を表すデジタルデータストリームを伝達する電気信号、電磁気信号又は光信号を送信する。
【0063】
典型的には、ネットワーク回線420は、1つ以上のネットワークを通じて他のデータ装置にデータ通信を提供する。例えば、ネットワーク回線420は、ローカルネットワーク422を通じてホストコンピュータ424又はインターネットサービスプロバイダ(ISP:Internet Service Provider)426により運用されるデータ装置に接続を提供してもよい。次に、ISP426は、現在では一般的にインターネット428と呼ばれる世界規模のパケットデータ通信ネットワークを通じてデータ通信サービスを提供する。ローカルネットワーク422及びインターネット428の双方は、デジタルデータストリームを伝達する電気信号、電磁気信号又は光信号を使用する。
【0064】
コンピュータシステム400は、ネットワークとネットワーク回線420と通信インタフェース418とを通じて、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、サーバ430は、インターネット428とISP426とローカルネットワーク422と通信インタフェース418とを通じて、アプリケーションプログラムの要求されたコードを送信してもよい。本発明によれば、1つのこのようなダウンロードされたアプリケーションは、ここに説明する選択されたネットワークエレメントを監視する監視システムを構成することを提供する。プロセッサ404は、記憶装置410で受信及び/又は格納されたときに受信したコードを実行してもよく、後の実行のために他の不揮発性記憶装置で受信及び/又は格納されて受信したコードを実行してもよい。
【0065】
前述の明細書では、本発明の特定の実施例について説明した。しかし、本発明の広い要旨及び範囲を逸脱することなく、本発明のこのような実施例に様々な変更形態及び変形形態が行われ得る。従って、明細書及び図面は、限定的な意味ではなく、例示的な意味としてみなされる。
【図面の簡単な説明】
【0066】
【図1】本発明の実施例に従って装置のメタデータをクライアントに通信するシステムの例を示すブロック図
【図2】本発明の実施例によるマッピングテーブルの例を示すブロック図
【図3】クライアントが理解するプロトコルを使用して、クライアントが要求した装置のメタデータをクライアントに通信する技術の例を示すシーケンス図
【図4】本発明の実施例が実施され得る印刷装置を示すブロック図
【符号の説明】
【0067】
102 クライアント
104 装置
106 ネットワーク
108 要求発送モジュール
110A-N 取り出しプロトコル
112 管理モジュール
114 構成モジュール
116 メタデータサーバ
118A-N パッケージ化モジュール

【特許請求の範囲】
【請求項1】
メタデータを通信するコンピュータ実施方法であって、
装置で、クライアントからメタデータ要求を受信し、
複数の異なる取り出しプロトコルの中から特定の取り出しプロトコルを選択し、
前記特定の取り出しプロトコルに基づいて前記メタデータ要求を解釈し、
前記メタデータ要求に基づいて、前記装置についての特定の一式のメタデータを選択し、
複数の異なるパッケージ化プロトコルの中から特定のパッケージ化プロトコルを選択し、
前記特定のパッケージ化プロトコルに基づいて前記特定の一式のメタデータをパッケージ化し、これによって、パッケージ化されたメタデータを作り、
前記パッケージ化されたメタデータを前記クライアントに送信し、
前記装置は、前記特定のパッケージ化プロトコルと独立して、前記特定の取り出しプロトコルを実施する方法。
【請求項2】
前記特定のパッケージ化プロトコルを選択するステップは、
前記クライアントが準拠する標準を決定し、
マッピングテーブルで、前記標準を特定する特定のマッピングを見つけ、
前記特定のパッケージ化プロトコルとして、前記特定のマッピングで特定されたパッケージ化プロトコルを選択することを含む、請求項1に記載の方法。
【請求項3】
前記特定のパッケージ化プロトコルは、前記マッピングテーブルで複数の異なる標準にマッピングされる、請求項2に記載の方法。
【請求項4】
前記特定のパッケージ化プロトコルは、前記装置により維持管理されるマッピングテーブルで複数の異なる取り出しプロトコルにマッピングされる、請求項1に記載の方法。
【請求項5】
前記特定の取り出しプロトコルは、前記装置により維持管理されるマッピングテーブルで複数の異なるパッケージ化プロトコルにマッピングされる、請求項1に記載の方法。
【請求項6】
前記特定の取り出しプロトコルを選択するステップは、
マッピングテーブルで、前記メタデータ要求に関連する特性を見つけ、
前記特定の取り出しプロトコルとして、特定のマッピングで特定された取り出しプロトコルを選択することを含む、請求項1に記載の方法。
【請求項7】
前記特性は、前記装置が前記メタデータ要求を受信したポートの識別情報である、請求項6に記載の方法。
【請求項8】
前記特性は、前記メタデータ要求に含まれる制御文字列である、請求項6に記載の方法。
【請求項9】
1つ以上の命令のシーケンスを運ぶコンピュータ可読媒体であって、
1つ以上のプロセッサにより前記1つ以上の1つ以上の命令のシーケンスが実行されたときに、前記1つ以上のプロセッサに、
クライアントからメタデータ要求を受信させ、
複数の異なる取り出しプロトコルの中から特定の取り出しプロトコルを選択させ、
前記特定の取り出しプロトコルに基づいて前記メタデータ要求を解釈させ、
前記メタデータ要求に基づいて、前記装置についての特定の一式のメタデータを選択させ、
複数の異なるパッケージ化プロトコルの中から特定のパッケージ化プロトコルを選択させ、
前記特定のパッケージ化プロトコルに基づいて前記特定の一式のメタデータをパッケージ化させ、これによって、パッケージ化されたメタデータを作らせ、
前記パッケージ化されたメタデータを前記クライアントに送信させ、
前記装置は、前記特定のパッケージ化プロトコルと独立して、前記特定の取り出しプロトコルを実施するコンピュータ可読媒体。
【請求項10】
前記特定のパッケージ化プロトコルを選択するステップは、
前記クライアントが準拠する標準を決定し、
マッピングテーブルで、前記標準を特定する特定のマッピングを見つけ、
前記特定のパッケージ化プロトコルとして、前記特定のマッピングで特定されたパッケージ化プロトコルを選択することを含む、請求項9に記載のコンピュータ可読媒体。
【請求項11】
前記特定のパッケージ化プロトコルは、前記マッピングテーブルで複数の異なる標準にマッピングされる、請求項10に記載のコンピュータ可読媒体。
【請求項12】
前記特定のパッケージ化プロトコルは、前記装置により維持管理されるマッピングテーブルで複数の異なる取り出しプロトコルにマッピングされる、請求項9に記載のコンピュータ可読媒体。
【請求項13】
前記特定の取り出しプロトコルは、前記装置により維持管理されるマッピングテーブルで複数の異なるパッケージ化プロトコルにマッピングされる、請求項9に記載のコンピュータ可読媒体。
【請求項14】
前記特定の取り出しプロトコルを選択するステップは、
マッピングテーブルで、前記メタデータ要求に関連する特性を見つけ、
前記特定の取り出しプロトコルとして、特定のマッピングで特定された取り出しプロトコルを選択することを含む、請求項9に記載のコンピュータ可読媒体。
【請求項15】
前記特性は、前記装置が前記メタデータ要求を受信したポートの識別情報である、請求項14に記載のコンピュータ可読媒体。
【請求項16】
前記特性は、前記メタデータ要求に含まれる制御文字列である、請求項14に記載のコンピュータ可読媒体。
【請求項17】
複数の異なる取り出しプロトコルモジュールと、
複数の異なるパッケージ化プロトコルモジュールと、
前記取り出しプロトコルモジュールのうち1つ以上を前記パッケージ化プロトコルモジュールのうち1つ以上にマッピングするマッピングテーブルを格納する記憶機構と
を有し、
前記取り出しプロトコルモジュールのそれぞれは、装置についてのメタデータの要求を解釈するための異なる取り出しプロトコルを実装し、
前記パッケージ化プロトコルモジュールのそれぞれは、前記装置についてのメタデータを形式設定するための異なるパッケージ化プロトコルを実装する装置。
【請求項18】
前記マッピングテーブルは、特定の取り出しプロトコルモジュールを複数の異なるパッケージ化プロトコルモジュールにマッピングする、請求項17に記載の装置。
【請求項19】
前記マッピングテーブルは、特定のパッケージ化プロトコルモジュールを複数の異なる取り出しプロトコルモジュールにマッピングする、請求項17に記載の装置。
【請求項20】
前記パッケージ化プロトコルモジュールは、取り出しプロトコルを実装せず、
前記取り出しプロトコルモジュールは、パッケージ化プロトコルを実装しない、請求項17に記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2008−276777(P2008−276777A)
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【出願番号】特願2008−119304(P2008−119304)
【出願日】平成20年4月30日(2008.4.30)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】