説明

ネットワーク装置における通信処理

【課題】ローカルデバイスで使用されるフィールド項目を容易に追加することのできる技術を提供する。
【解決手段】制御装置は、第1種のプロトコルに従った第1種の通信データの通信を行う第1の通信部と、第2種のプロトコルに従った第2種の通信データの通信を行う第2の通信部と、第1の通信部が第1のコンピュータから受信した第1種の通信データに含まれる第1種のヘッダから、第2の通信部がローカルデバイスに送信する第2種の通信データに含まれるべき第2種のヘッダを生成することによって、第1種のプロトコルから第2種のプロトコルへの変換を行う変換処理部と、を備える。変換処理部は、第1種のヘッダ内に含まれる対象フィールドが予め定義されていないフィールドである場合には、識別情報と対象フィールドの記述とを有するフィールドを含む第2種のヘッダを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク装置における通信処理の技術に関する。
【背景技術】
【0002】
ネットワークを利用した印刷システムでは、例えば、プリンタがUSBケーブルを介してプリントサーバに接続され、プリントサーバとクライアントコンピュータとがLANなどのネットワークを介して接続される。
【0003】
上記の印刷システムでは、クライアントコンピュータとプリントサーバとの通信は、例えばHTTPプロトコルに従って実行されるが、プリントサーバとプリンタとの通信は、例えばメーカの独自のプロトコル(以下、「内部プロトコル」とも呼ぶ)に従って実行される。このため、プリントサーバは、HTTPプロトコルと内部プロトコルとの変換を行う。具体的には、プリントサーバは、一方のプロトコルに従った通信データのヘッダを他方のプロトコルに従った通信データのヘッダに変換する。なお、ヘッダの変換処理では、一方のプロトコルに従ったフィールド項目は、他方のプロトコルに従ったフィールド項目に変更される。
【0004】
プリントサーバとプリンタとの間の第2種の通信プロトコルがクライアントコンピュータとプリントサーバとの間の第1種の通信プロトコルと異なれば、第1種の通信プロトコルがHTTPプロトコルから他のプロトコルに変更される場合に、プリントサーバのみを変更すれば済み、プリンタを変更せずに済むという利点がある。
【0005】
【特許文献1】特開2000−122944号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、HTTPプロトコルでは、ヘッダ内に記述可能な多種類のフィールド項目(以下、「HTTPフィールド項目」とも呼ぶ)が準備されている。一方、内部プロトコルでは、通常、HTTPプロトコルで準備されている多種類のHTTPフィールド項目のうち、比較的少数の一部のHTTPフィールド項目に対応するフィールド項目(以下、「内部フィールド項目」とも呼ぶ)のみが準備されている。これは、プリンタで使用され得る内部フィールド項目の数が比較的少数なためである。
【0007】
プリンタで使用される内部フィールド項目を追加する場合には、プリンタを変更する必要があると共に、プリントサーバを変更する必要がある。これは、上記のように、プリントサーバにおけるヘッダの変換処理では、追加される内部フィールド項目と、該内部フィールド項目に対応するHTTPフィールド項目と、の変更を行う必要があるためである。
【0008】
このため、従来の印刷システムでは、プリンタで使用されるフィールド項目を追加するのは困難であった。
【0009】
なお、上記の問題は、印刷システムだけでなく、ローカルデバイスを含む他のネットワークシステムにおいても同様に発生し得る。
【0010】
本発明は、上述の課題を解決するためになされたものであり、ローカルデバイスで使用されるフィールド項目を容易に追加することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0011】
上述の課題の少なくとも一部を解決するため、本発明の第1の装置は、制御装置であって、
ネットワークを介して接続される任意のコンピュータと第1種のプロトコルに従った第1種の通信データの通信を行う第1の通信部と、
前記ネットワークを介さずに接続されるローカルデバイスと第2種のプロトコルに従った第2種の通信データの通信を行う第2の通信部と、
前記第1の通信部が第1のコンピュータから受信した前記第1種の通信データに含まれる第1種のヘッダから、前記第2の通信部が前記ローカルデバイスに送信する前記第2種の通信データに含まれるべき第2種のヘッダを生成することによって、前記第1種のプロトコルから前記第2種のプロトコルへの変換を行うための第1の変換処理部と、
を備え、
前記第1の変換処理部は、
前記第1種のヘッダ内に含まれる第1のフィールドが予め定義されたフィールドである場合には、前記第1のフィールドに対応する第2のフィールドを含む前記第2種のヘッダを生成し、
前記第1種のヘッダ内に含まれる前記第1のフィールドが予め定義されていないフィールドである場合には、所定の識別情報と前記第1のフィールドの記述とを有する第3のフィールドを含む前記第2種のヘッダを生成することを特徴とする。
【0012】
この制御装置では、第1種のヘッダ内に含まれるフィールドが予め定義されていないフィールドである場合には、該フィールドの記述に所定の識別情報が付加されたフィールドを含む第2種のヘッダが生成されるため、制御装置を変更することなく、ローカルデバイスで使用されるフィールド項目を容易に追加することが可能となる。
【0013】
上記の装置において、さらに、
前記第2の通信部が前記ローカルデバイスから受信した前記第2種の通信データに含まれる第3種のヘッダから、前記第1の通信部が特定のコンピュータに送信する前記第1種の通信データに含まれるべき第4種のヘッダを生成することによって、前記第2種のプロトコルから前記第1種のプロトコルへの変換を行うための第2の変換処理部を備え、
前記第2の変換処理部は、
前記第3種のヘッダ内に含まれる第4のフィールドが予め定義されたフィールドである場合には、前記第4のフィールドに対応する第5のフィールドを含む前記第4種のヘッダを生成し、
前記第3種のヘッダ内に含まれる前記第4のフィールドが前記所定の識別情報を有するフィールドである場合には、前記所定の識別情報が削除された第6のフィールドを含む前記第4種のヘッダを生成することが好ましい。
【0014】
この制御装置では、第3種のヘッダ内に含まれるフィールドが所定の識別情報を有するフィールドである場合に、所定の識別情報が削除されたフィールドを含む第4種のヘッダが生成されるため、制御装置を変更することなく、ローカルデバイスで使用されるフィールド項目を容易に追加することが可能となる。
【0015】
なお、特定のコンピュータは、第1のコンピュータであってもよいし、第1のコンピュータと異なる第2のコンピュータであってもよい。
【0016】
上記の装置において、
前記第1の通信部が前記第1のコンピュータから受信する前記第1種の通信データが、前記特定のコンピュータに格納された特定の情報の参照指示を含む場合には、前記第2の通信部が前記ローカルデバイスから受信する前記第2種の通信データは、前記特定のコンピュータからの前記特定の情報の取得要求を含むようにしてもよい。
【0017】
本発明の第2の装置は、ネットワーク装置であって、
前記制御装置と、
前記ローカルデバイスと、
を備えることを特徴とする。
【0018】
上記の装置において、
前記ローカルデバイスは、
前記制御装置と前記第2種のプロトコルに従った前記第2種の通信データの通信を行う通信部と、
前記通信部が前記制御装置から受信した前記第2種の通信データに基づいて、処理を実行する処理実行部と、
を備え、
前記処理実行部は、
前記第2種のヘッダ内に前記所定の識別情報と前記第1のフィールドの記述とを有する前記第3のフィールドが含まれる場合には、前記所定の識別情報を削除することによって得られる前記第1のフィールドに基づいて処理を実行することが好ましい。
【0019】
こうすれば、制御装置を変更することなく、ローカルデバイスにおいて第3のフィールドを利用することができる。
【0020】
また、上記の装置において、
前記処理実行部は、
前記通信部が前記制御装置に送信する前記第2種の通信データに含まれるべき前記第3種のヘッダを生成し、
前記処理実行部は、
前記第3種のヘッダ内に、前記制御装置において予め定義されていない前記第6のフィールドを記述する場合には、前記所定の識別情報と前記第6のフィールドの記述とを有する前記第4のフィールドを含む前記第3種のヘッダを生成することが好ましい。
【0021】
こうすれば、制御装置を変更することなく、ローカルデバイスにおいて第8のフィールドを利用することができる。
【0022】
上記の装置において、
前記処理実行部は、前記通信部が前記制御装置から受信する前記第2種の通信データが前記特定のコンピュータに格納された特定の情報の参照指示を含む場合には、前記特定のコンピュータからの前記特定の情報の取得要求を含む前記第3種のヘッダを生成するようにしてもよい。
【0023】
本発明の第3の装置は、制御装置であって、
ネットワークを介して接続される任意のコンピュータと第1種のプロトコルに従った第1種の通信データの通信を行う第1の通信部と、
前記ネットワークを介さずに接続されるローカルデバイスと第2種のプロトコルに従った第2種の通信データの通信を行う第2の通信部と、
前記第2の通信部が前記ローカルデバイスから受信した前記第2種の通信データに含まれる第1種のヘッダから、前記第1の通信部が特定のコンピュータに送信する前記第1種の通信データに含まれるべき第2種のヘッダを生成することによって、前記第2種のプロトコルから前記第1種のプロトコルへの変換を行うための変換処理部と、
を備え、
前記変換処理部は、
前記第1種のヘッダ内に含まれる第1のフィールドが予め定義されたフィールドである場合には、前記第1のフィールドに対応する第2のフィールドを含む前記第2種のヘッダを生成し、
前記第1種のヘッダ内に含まれる前記第1のフィールドが所定の識別情報を有するフィールドである場合には、前記所定の識別情報が削除された第3のフィールドを含む前記第2種のヘッダを生成することを特徴とする。
【0024】
この制御装置では、第1種のヘッダ内に含まれるフィールドが所定の識別情報を有するフィールドである場合に、所定の識別情報が削除されたフィールドを含む第2種のヘッダが生成されるため、制御装置を変更することなく、ローカルデバイスで使用されるフィールド項目を容易に追加することが可能となる。
【0025】
この発明は、種々の形態で実現することが可能であり、制御装置および該制御装置における制御方法、ローカルデバイスおよび該ローカルデバイスにおける制御方法、制御装置とローカルデバイスとを含むネットワーク装置および該ネットワーク装置における制御方法、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【0026】
次に、本発明の実施の形態を実施例に基づき以下の順序で説明する。
A.第1実施例:
A−1.印刷システムの構成:
A−2.通信処理:
B.第2実施例:
B−1.印刷システムの構成:
B−2.通信処理:
【0027】
A.第1実施例:
A−1.印刷システムの構成:
図1は、第1実施例における印刷システムの構成を示す説明図である。印刷システムシステムは、プリントサーバ100と、プリンタ200と、クライアントコンピュータ(以下、単に「クライアント」とも呼ぶ)300と、を備えている。プリントサーバ100とクライアント300とは、LANなどのネットワークNWを介して互いに接続されている。また、プリントサーバ100とプリンタ200とは、USBケーブルを介して互いに接続されている。
【0028】
なお、本実施例では、プリントサーバ100とプリンタ200とは異なる筐体に収納されているが、共通の筐体に収納されていてもよい。
【0029】
本実施例におけるプリントサーバ100が本発明における制御装置に相当し、プリンタ200がローカルデバイスに相当する。また、プリントサーバ100とプリンタ200とがネットワーク装置に相当する。
【0030】
プリントサーバ100は、CPU110と、ROMやRAMなどのメモリ120と、ネットワークインタフェース(IF)部142と、USBホストインタフェース(IF)部148と、を備えている。
【0031】
ネットワークIF部142は、ネットワークNWを介してクライアント300と通信するためのインタフェースである。
【0032】
USBホストIF部148は、USBケーブルを介してプリンタ200と通信するためのインタフェースである。
【0033】
メモリ120には、変換処理部122と、第1の通信制御部132と、第2の通信制御部134と、の機能を有するコンピュータプログラムが格納されている。なお、各部の機能を有するコンピュータプログラムは、例えば、CD−ROMなどのコンピュータ読み取り可能な記録媒体に記録された形態で提供される。
【0034】
第1の通信制御部132は、ネットワークIF部142を介して、第1種のプロトコルに従った通信データを送受信する機能を有する。本実施例では、第1種のプロトコルとして、HTTP(Hyper Text Transfer Protocol)プロトコルが採用されている。第1の通信制御部132は、HTTPサーバの処理を実行する機能を有する。すなわち、第1の通信制御部132は、クライアント300から受信したHTTPプロトコルに従ったHTTPリクエストに含まれるメッセージヘッダとメッセージボディとを分離したり、メッセージヘッダとメッセージボディとを結合してHTTPプロトコルに従ったHTTPレスポンスを生成してクライアント300に送信したりする機能を有する。また、第1の通信制御部132は、TCPおよび/またはUDP層の処理と、IP層の処理と、を実行する機能を有する。
【0035】
第2の通信制御部134は、USBホストIF部148を介して、第2種のプロトコルに従った通信データを送受信する機能を有する。なお、本実施例では、第2種のプロトコルとして、第1種のプロトコルと異なる独自のプロトコルが採用されている。以下では、該独自のプロトコルを「内部プロトコル」と呼ぶ。第2の通信制御部134は、ヘッダとボディとを結合して内部プロトコルに従った内部リクエストを生成してプリンタ200に送信したり、プリンタ200から受信した内部プロトコルに従った内部レスポンスに含まれるヘッダとボディとを分離したりする機能を有する。
【0036】
変換処理部122は、第1種のプロトコルと第2種のプロトコルとの変換処理を実行する。すなわち、変換処理部122は、第1の通信制御部132を介してクライアント300から取得したHTTPプロトコルに従った通信データを、第2の通信制御部134を介してプリンタ200に供給される内部プロトコルに従った通信データに、変換するための処理を実行する。また、変換処理部122は、第2の通信制御部134を介してプリンタ200から取得した内部プロトコルに従った通信データを、第1の通信制御部132を介してクライアント300に供給される内部プロトコルに従った通信データに、変換するための処理を実行する。
【0037】
より具体的には、変換処理部122は、HTTPリクエストに含まれるヘッダに基づいて、内部リクエストに含まれるべきヘッダを生成する。また、変換処理部122は、内部レスポンスに含まれるヘッダに基づいて、HTTPレスポンスに含まれるべきヘッダを生成する。なお、ヘッダの変換は、後述するように、変換用テーブル(図示せず)を用いて実行される。
【0038】
なお、本実施例におけるネットワークIF部142と第1の通信制御部132とが本発明における第1の通信部に相当し、USBホストIF部148と第2の通信制御部134とが第2の通信部に相当する。
【0039】
プリンタ200は、CPU210と、ROMやRAMなどのメモリ220と、USBデバイスインタフェース(IF)部248と、プリンタエンジン250と、を備えている。
【0040】
USBデバイスIF部248は、USBケーブルを介してプリントサーバ100と通信するためのインタフェースである。
【0041】
メモリ220には、処理実行部222と、通信制御部232と、の機能を有するコンピュータプログラムが格納されている。
【0042】
通信制御部232は、USBデバイスIF部248を介して、第2種のプロトコル(内部プロトコル)に従った通信データを送受信する機能を有する。通信制御部232は、プリントサーバ100から受信した内部リクエストに含まれるヘッダとボディとを分離したり、ヘッダとボディとを結合して内部レスポンスを生成してプリントサーバ100に送信したりする機能を有する。なお、通信制御部232の機能は、USBクラスドライバによって実現される。
【0043】
処理実行部222は、コンテンツ準備部224を含んでいる。コンテンツ準備部224は、複数のコンテンツデータ(Webページデータ)を有しており、処理実行部222からの指示に従って、目的のコンテンツデータを準備する機能を有している。なお、コンテンツデータとしては、例えば、プリンタに関する種々の設定を行うための設定用画面データが挙げられる。
【0044】
処理実行部222は、通信制御部232を介してプリントサーバ100から取得した内部リクエストに基づいて、種々の処理を実行する。例えば、処理実行部222は、通信制御部232が内部リクエストに対応する内部レスポンスを送信するための処理を実行する。具体的には、処理実行部222は、内部レスポンスに含まれるべきヘッダを生成する。また、処理実行部222は、コンテンツ準備部224を制御して、内部レスポンスに含まれるべきデータ(コンテンツデータ)を準備する。
【0045】
なお、本実施例におけるUSBデバイスIF部248と通信制御部232とが、本発明における通信部に相当する。
【0046】
A−2.通信処理:
図2は、図1の印刷システムで行われる通信処理の一例を示すフローチャートである。なお、この通信処理は、例えば、クライアント300が、プリントサーバ100に接続されたプリンタ200から、コンテンツデータを取得する際に、実行される。
【0047】
以下では、比較例における通信処理を、第1実施例における通信処理に先行して説明する。比較例では、図1とほぼ同様の印刷システムが利用され、比較例のプリントサーバ100zでは、変換処理部122zが利用される共に、比較例のプリンタ200zでは、処理実行部222zが利用される。
【0048】
図3は、比較例における通信データの内容を模式的に示す説明図である。図3は、図2に示す通信処理が実行される際に伝送される通信データを示している。ただし、図3では、主に、通信データのヘッダが示されている。
【0049】
ステップS102(図2)では、クライアント300は、HTTPリクエストHREQzをプリントサーバ100zに送信する。具体的には、クライアント300のユーザは、Webブラウザ画面を介して、プリントサーバ100zとコンテンツ(Webページ)とを指定して、コンテンツデータの取得を要求する。このとき、クライアント300は、HTTPリクエストHREQzを生成する。
【0050】
図3(A)は、HTTPリクエストHREQzの内容を示す。周知のように、HTTPリクエストには、メッセージヘッダと、メッセージボディと、が含まれており、メッセージヘッダには、リクエストラインと、ヘッダフィールドと、が含まれている。図3(A)の1行目は、リクエストラインを示しており、2行目以降は、ヘッダフィールドを示している。
【0051】
1行目のリクエストラインには、メソッド(GET)と、リクエストURI(Epson/Device.html)と、HTTPバージョン(HTTP/1.1)と、が記述されている。2行目には、「User-Agent」フィールドが記述されており、フィールド値は、クライアント300で使用されるWebブラウザ名(Mozilla/4.0)を示している。3行目には、「Host」フィールドが記述されており、フィールド値は、リソース(コンテンツデータ)を提供するホスト(epson.co.jp)を示している。なお、ホストは、プリントサーバ100zを意味している。
【0052】
図3(A)に示すHTTPリクエストHREQzの記述から、プリントサーバ100z(epson.co.jp)からのコンテンツデータ(Epson/Device.html)の取得が要求されていることが分かる。
【0053】
ステップS104(図2)では、プリントサーバ100zの第1の通信制御部132は、クライアント300からHTTPリクエストHREQzを取得する。そして、変換処理部122zは、HTTPプロトコルと内部プロトコルとの変換を行う。具体的には、変換処理部122zは、HTTPリクエストHREQzに含まれるヘッダから、内部リクエストIREQzに含まれるべきヘッダを生成する。そして、第2の通信制御部134は、内部リクエストIREQzを生成してプリンタ200zに送信する。
【0054】
図3(B)は、内部リクエストIREQzの内容を示す。1行目には、「URI」フィールドが記述されており、フィールド値はURI(Epson/Device.html)を示している。「URI」フィールドは、HTTPリクエストHREQz(図3(A))内の1行目のリクエストラインを利用して作成される。2行目には、「UserAgent」フィールドが記述されており、フィールド値は、Webブラウザ名(Mozilla/4.0)を示している。「UserAgent」フィールドは、HTTPリクエストHREQz(図3(A))内の2行目の「User-Agent」フィールドを利用して作成される。
【0055】
この説明から分かるように、変換処理部122zは、HTTPプロトコルに従うフィールド名(例えば「User-Agent」)と、内部プロトコルに従うフィールド名(例えば「UserAgent」)と、の対応関係が定義されたテーブルを備えている。そして、変換処理部122zは、該テーブルを利用して、HTTPプロトコルから内部プロトコルへの変換を実行する。
【0056】
ステップS106(図2)では、プリンタ200zの通信制御部232は、プリントサーバ100zから内部リクエストIREQzを取得し、内部レスポンスIRESzをプリントサーバ100zに送信する。この際、処理実行部222zは、内部リクエストIREQzに基づいて、コンテンツ準備部224に、指定されたコンテンツデータ(Device.html)を準備させる。また、処理実行部222zは、内部レスポンスIRESzに含まれるべきヘッダを準備する。そして、通信制御部232は、ヘッダとコンテンツデータ(Device.html)とを含む内部レスポンスIRESzを生成する。
【0057】
図3(C)は、内部レスポンスIRESzの内容を示す。1行目には、「Return」フィールドが記述されており、フィールド値は、内部リクエストに対する結果(Success)を示している。2行目には、「Size」フィールドが記述されており、フィールド値はコンテンツデータのサイズ(2000)を示している。3行目には、「Format」フィールドが記述されており、フィールド値はコンテンツデータの形式(text/hrml)を示している。また、4行目には、「CookieInfo」フィールドが記述されている。このフィールドは、クライアント300に対する命令を示しており、この命令に従って、クライアント300は、クッキー情報(param1=ABCDおよびpath=/Epson/Printer)を保存する。この結果、クライアント300は、「path」部分に記述されたURI(Epson/Printer)に再度アクセスするときには、保存されたパラメータ(param1=ABCD)を使用することができる。
【0058】
ステップS108(図2)では、プリントサーバ100zの第2の通信制御部134は、プリンタ200zから内部レスポンスIRESzを取得する。そして、変換処理部122zは、内部プロトコルとHTTPプロトコルとの変換を行う。具体的には、変換処理部122zは、内部レスポンスIRESzに含まれるヘッダから、HTTPレスポンスHRESzに含まれるべきヘッダを生成する。そして、第1の通信制御部132は、HTTPレスポンスHRESzを生成してクライアント300に送信する。
【0059】
図3(D)は、HTTPレスポンスHRESzの内容を示す。周知のように、HTTPレスポンスには、メッセージヘッダと、メッセージボディと、が含まれており、メッセージヘッダには、ステータスラインと、ヘッダフィールドと、が含まれている。図3(D)の1行目は、ステータスラインを示しており、2行目以降は、ヘッダフィールドを示している。
【0060】
1行目のステータスラインには、HTTPバージョン(HTTP/1.1)と、ステータスコード(200)と、結果フレーズ(OK)と、が記述されている。2行目には、「Content-type」フィールドが記述されており、該フィールドは、内部レスポンスIRESz(図3(C))内の3行目の「Format」フィールドを利用して作成される。3行目には、「Content-Length」フィールドが記述されており、該フィールドは、内部レスポンスIRESz(図3(C))内の2行目の「Size」フィールドを利用して作成される。4行目には、「Set-Cookie」フィールドが記述されており、該フィールドは、内部レスポンスIRESz(図3(C))内の4行目の「CookieInfo」フィールドを利用して作成される。
【0061】
前述したように、変換処理部122zは、HTTPプロトコルに従うフィールド名(例えば「Content-type」)と、内部プロトコルに従うフィールド名(例えば「Format」)と、の対応関係が定義されたテーブルを備えており、該テーブルを利用して、内部プロトコルからHTTPプロトコルへの変換を実行する。
【0062】
ステップS110(図2)では、クライアント300は、HTTPレスポンスHRESzを取得する。そして、クライアント300のWebブラウザは、HTTPレスポンスHRESz(図3(D))に含まれるコンテンツデータを用いて、Webページを表示する。また、クライアント300は、HTTPレスポンスHRESzに含まれる「Set-Cookie」フィールドに従って、クッキー情報の設定を行う。
【0063】
上記のように、プリントサーバ100zの変換処理部122zは、HTTPリクエスト/レスポンスのヘッダと、内部リクエスト/レスポンスのヘッダと、を変更することによって、より具体的には、ヘッダフィールドのフィールド名を変更することによって、HTTPプロトコルと内部プロトコルとの間の変換を実行している。
【0064】
ところで、前述したように、プリンタで使用されるフィールド項目を追加する場合には、プリンタ200zの処理実行部222zを変更する必要があると共に、プリントサーバ100zの変換処理部122zを変更する必要がある。具体的には、追加のフィールド項目を使用できるように、処理実行部222zの処理内容を変更する必要があると共に、変換処理部122zが有するテーブルを変更する必要がある。そこで、本実施例では、プリンタで使用されるフィールド項目を追加する場合にも、プリントサーバ100を変更せずに済むように工夫している。
【0065】
図4は、第1実施例における通信データの内容を模式的に示す説明図であり、図3に対応する。図4は、図3と同様に、図2に示す通信処理が実行される際に伝送される通信データを示している。
【0066】
ステップS102(図2)では、前述したように、クライアント300は、HTTPリクエストHREQをプリントサーバ100に送信する。
【0067】
図4(A)は、HTTPリクエストHREQの内容を示す。図4(A)は、図3(A)とほぼ同様であるが、4行目の「Accept-Language」フィールドが追加されている。「Accept-Language」フィールドの値は、クライアント300のWebブラウザが表示可能な言語(ja:日本語)を示す。
【0068】
ステップS104(図2)では、前述したように、プリントサーバ100は、クライアント300からHTTPリクエストHREQを取得し、内部リクエストIREQを生成してプリンタ200に送信する。この際、変換処理部122は、HTTPリクエストHREQに含まれるヘッダから、内部リクエストIREQに含まれるべきヘッダを生成する。
【0069】
本実施例では、プリントサーバ100において「Accept-Language」フィールドが定義されていない場合を想定している。換言すれば、変換処理部122は、「Accept-Language」フィールドを解釈不能である。従来では、HTTPリクエストのヘッダ内に未定義のフィールドが含まれる場合には、プリントサーバは、内部リクエストを生成することができなかった。しかしながら、本実施例では、プリントサーバ100は、HTTPリクエストのヘッダ内に未定義のフィールドが含まれる場合にも、内部リクエストを生成することができる。
【0070】
図4(B)は、内部リクエストIREQの内容を示す。図4(B)は、図3(B)とほぼ同様であるが、「Data」フィールドが追加されている。「Data」フィールドには、図4(A)のHTTPリクエストHREQ内に記述された未定義の「Accept-Language」フィールドの記述と、該未定義のフィールドの先頭に付与された識別情報「Data」と、を含んでいる。識別情報「Data」は、変換処理部122によって付加される。このようにすれば、プリントサーバ100は、HTTPリクエストのヘッダ内に記述されたフィールドが未定義である場合にも、該未定義のフィールドの記述がヘッダ内に含まれる内部リクエストをプリンタ200に送信することができる。
【0071】
なお、上記の説明から分かるように、変換処理部122は、特定のフィールドが変換用テーブルに登録されている場合には、該テーブルに登録された対応するフィールドを準備し、特定のフィールドが変換用テーブルに登録されていない場合には、該特定のフィールドの記述に識別情報「Data」を付与して「Data」フィールドを準備する。
【0072】
ステップS106(図2)では、前述したように、プリンタ200は、プリントサーバ100から内部リクエストIREQを取得し、内部レスポンスIRESを生成してプリントサーバ100に送信する。このとき、処理実行部222は、内部リクエストIREQに含まれる「Data」フィールドから識別情報「Data」を除去して、「Accept-Language」フィールドを得る。そして、処理実行部222は、「Accept-Language」フィールドを解釈し、「Accept-Language」フィールドで指定された言語のコンテンツデータをコンテンツ準備部224に準備させる。
【0073】
図4(C)は、内部レスポンスIRESの内容を示す。図4(C)は、図3(C)とほぼ同様であるが、「CookieInfo」フィールドに代えて、「Data」フィールドが記述されている。「Data」フィールド内には、「Set-Cookie:param1=ABCD; path=/Epson/Printer」が記述されている。
【0074】
本実施例では、プリントサーバ100において「Set-Cookie」フィールドが定義されていない場合を想定している。換言すれば、変換処理部122は、「Set-Cookie」フィールドを解釈不能である。このため、処理実行部222は、未定義の「Set-Cookie」フィールドの記述の先頭に、識別情報「Data」を付与することによって、「Data」フィールドを作成している。
【0075】
ステップS108(図2)では、前述したように、プリントサーバ100は、プリンタ200から内部レスポンスIRESを取得し、HTTPレスポンスHRESを生成してクライアント300に送信する。
【0076】
図4(D)は、HTTPレスポンスHRESの内容を示す。図4(D)は、図3(D)と同じである。プリントサーバ100は、図4(C)の内部レスポンスIRESを利用して、図4(D)のHTTPレスポンスHRESを生成する。この際、変換処理部122は、図3(D)の「Data」フィールドから識別情報「Data」を削除して、「Set-Cookie」フィールドを作成する。このようにすれば、プリントサーバ100は、プリントサーバ100において定義されていないフィールドを含むHTTPレスポンスを生成してクライアント300に送信することができる。
【0077】
なお、上記の説明から分かるように、変換処理部122は、特定のフィールドが「Data」フィールドである場合には、識別情報「Data」が削除されたフィールドを準備し、特定のフィールドが「Data」フィールドでない場合には、変換用テーブルを参照して、対応するフィールドを準備する。
【0078】
ステップS110(図2)では、前述したように、クライアント300は、HTTPレスポンスHRESを取得する。
【0079】
以上説明したように、本実施例では、プリントサーバ100の変換処理部122は、ステップS104において、クライアント300から受信したHTTPリクエストに含まれるヘッダから、プリンタ200に送信される内部リクエストに含まれるべきヘッダを生成することによって、HTTPプロトコルから内部プロトコルへの変換を行う。この際、変換処理部122は、HTTPリクエストのヘッダ内に含まれるフィールド(例えば「User-Agent」フィールド)を解釈可能な場合には、対応するフィールド(例えば「UserAgent」フィールド)を含む内部リクエストのヘッダを生成する。一方、変換処理部122は、HTTPリクエストのヘッダ内に含まれるフィールド(例えば「Accept-Language」フィールド)を解釈不能な場合には、識別情報「Data」と該フィールドの記述とを有する「Data」フィールドを含む内部リクエストのヘッダを生成する。
【0080】
また、プリンタ200の処理実行部222は、ステップS106において、内部リクエストのヘッダ内に「Data」フィールドが含まれる場合には、識別情報「Data」を削除することによって得られるフィールド(例えば「Accept-Language」フィールド)に基づいて処理を実行する。
【0081】
そして、プリンタ200の処理実行部222は、ステップS106において、内部レスポンスのヘッダ内に、変換処理部122が解釈不能なフィールド(例えば「Set-Cookie」フィールド)を記述する場合には、識別情報「Data」と該フィールドの記述とを有する「Data」フィールドを含む内部レスポンスのヘッダを生成する。
【0082】
さらに、プリントサーバ100の変換処理部122は、ステップS108において、プリンタ200から受信した内部レスポンスに含まれるヘッダから、クライアント300に送信されるHTTPレスポンスに含まれるべきヘッダを生成することによって、内部プロトコルからHTTPプロトコルへの変換を行う。この際、変換処理部122は、内部レスポンスのヘッダ内に含まれるフィールド(例えば「Format」フィールド)を解釈可能な場合には、対応するフィールド(例えば「Content-type」フィールド)を含むHTTPレスポンスのヘッダを生成する。一方、変換処理部122は、内部レスポンスのヘッダ内に「Data」フィールドが含まれる場合には、識別情報「Data」が削除されたフィールド(例えば「Set-Cookie」フィールド)を含むHTTPレスポンスのヘッダを生成する。
【0083】
上記のように、本実施例では、「Data」フィールドが利用されるため、プリントサーバ100を変更することなく、プリンタ200で使用されるフィールド項目を容易に追加することが可能となる。
【0084】
B.第2実施例:
B−1.印刷システムの構成:
第1実施例では、クライアントによって発行されたHTTPリクエストに基づいて通信処理が実行される場合について説明したが、本実施例では、プリンタによって発行された内部リクエストに基づいて通信処理が実行される場合について説明する。
【0085】
図5は、第2実施例における印刷システムの構成を示す説明図である。図5は、図1とほぼ同じであるが、プリントサーバ100Bとプリンタ200Bとが変更されている。具体的には、プリントサーバ100Bの変換処理部122Bと第1の通信制御部132Bと第2の通信制御部134Bとが変更されている。また、プリンタ200Bの処理実行部222Bと通信制御部232Bとが変更されている。さらに、サーバコンピュータ(以下、単に「サーバ」とも呼ぶ)400が追加されている。
【0086】
プリントサーバ100Bの第1の通信制御部132Bは、第1実施例の第1の通信制御部132(図1)と同様に、HTTPサーバの処理を実行する機能を有する。また、本実施例の第1の通信制御部132Bは、HTTPクライアントの処理を実行する機能を有する。すなわち、第1の通信制御部132Bは、メッセージヘッダとメッセージボディとを結合してHTTPリクエストを生成してサーバ400に送信したり、サーバ400から受信したHTTPレスポンスに含まれるメッセージヘッダとメッセージボディとを分離したりする機能を有する。
【0087】
第2の通信制御部134Bは、第1実施例の第2の通信制御部134(図1)と同様に、内部プロトコルに従った通信データを送受信する機能を有する。特に、第2の通信制御部134Bは、プリンタ200から受信した内部リクエストに含まれるヘッダとボディとを分離したり、ヘッダとボディとを結合して内部レスポンスを生成してプリンタ200に送信したりする機能を有する。
【0088】
変換処理部122Bは、第1実施例の変換処理部122(図1)と同様に、HTTPプロトコルと内部プロトコルとの変換処理を実行する。特に、変換処理部122Bは、内部リクエストに含まれるヘッダに基づいて、HTTPリクエストに含まれるべきヘッダを生成する。また、変換処理部122Bは、HTTPレスポンスに含まれるヘッダに基づいて、内部レスポンスに含まれるべきヘッダを生成する。なお、ヘッダの変換は、前述したように、変換用テーブル(図示せず)を用いて実行される。
【0089】
プリンタ200Bの通信制御部232Bは、第1実施例の通信制御部232(図1)と同様に、内部プロトコルに従った通信データを送受信する機能を有する。特に、通信制御部232Bは、ヘッダとボディとを結合して内部リクエストを生成してプリントサーバ100Bに送信したり、プリントサーバ100Bから受信した内部レスポンスに含まれるヘッダとボディとを分離したりする機能を有する。
【0090】
処理実行部222Bは、第1実施例の処理実行部222と同様に、プリントサーバ100Bから取得した内部リクエストに基づいて、種々の処理を実行する。さらに、処理実行部222Bは、プリントサーバ100Bから取得した内部リクエスト内に他のコンピュータ(例えばサーバ400)に格納された情報を参照する旨の指示が含まれる場合に、内部リクエストを生成するための処理を実行する。
【0091】
プリンタ200Bには、さらに、時計部240が追加されている。時計部240は、例えば、水晶振動子とカウンタとを含んでおり、現在時刻を計測する機能を有している。
【0092】
なお、本実施例では、プリンタ200Bは、時計部240を備えているため、現在時刻を知ることができるが、プリントサーバ100Bは、時計部を備えておらず、現在時刻を知ることができない場合を想定している。
【0093】
B−2.通信処理:
図6は、図5の印刷システムで行われる通信処理の一例を示すフローチャートである。なお、この通信処理は、例えば、クライアント300が、プリンタエンジン250に参照印刷を実行させる際に、実行される。なお、参照印刷は、クライアント300と異なる他の装置(本実施例ではサーバ400)に格納された画像データを利用して印刷することを意味している。参照印刷を利用すれば、クライアント300はプリントサーバ100Bにサイズの大きな画像データを送信せずに済むという利点がある。
【0094】
図7は、第2実施例における通信データの内容を模式的に示す説明図である。図7は、図6に示す通信処理が実行される際に伝送される通信データを示している。ただし、図7では、主に、通信データのヘッダが示されている。
【0095】
ステップS202(図6)では、クライアント300は、HTTPリクエストHREQ1をプリントサーバ100Bに送信する。具体的には、クライアント300のユーザは、Webブラウザ画面を介して、プリントサーバ100Bと印刷対象の画像とを指定して、参照印刷の実行を要求する。このとき、クライアント300は、HTTPリクエストHREQ1を生成する。
【0096】
図7(A)は、HTTPリクエストHREQ1の内容を示す。1行目のリクエストラインには、メソッド(POST)と、リクエストURI(Epson/Printer/swimming.xhtml)と、HTTPバージョン(HTTP/1.1)と、が記述されている。なお、図3(A)と同様に、2行目には、「User-Agent」フィールドが記述されており、3行目には、「Host」フィールドが記述されている。また、HTTPリクエストHREQ1には、XHTMLデータ(swimming.xhtml)が含まれている。
【0097】
図7(A)に示すHTTPリクエストHREQ1の記述から、プリンタエンジン250(Epson/Printer)へのXHTMLデータ(swimming.xhtml)の供給が要求されていることが分かる。
【0098】
ステップS204(図6)では、図2のステップS104と同様に、プリントサーバ100Bは、クライアント300からHTTPリクエストHREQ1を取得し、内部リクエストIREQ1を生成してプリンタ200Bに送信する。
【0099】
図7(B)は、内部リクエストIREQ1の内容を示す。図7(B)は、図3(B)とほぼ同じであるが、内部リクエストIREQ1にはXHTMLデータ(swimming.xhtml)が含まれている。
【0100】
ステップS206(図6)では、図2のステップS106と同様に、プリンタ200Bは、プリントサーバ100Bから内部リクエストIREQ1を取得し、内部レスポンスIRES1を生成してプリントサーバ100Bに送信する。
【0101】
図7(C)は、内部レスポンスIRES1の内容を示す。図7(C)では、図3(C)と同様に、1行目には、リクエストの結果(Success)を示す「Return」フィールドが記述されており、2行目には、「Size」フィールドが記述されている。なお、本実施例では、内部レスポンスIRES1には、コンテンツデータは含まれない。
【0102】
なお、プリンタ200Bでは、ステップS206の処理に続いてステップS222の処理が実行されるが、ステップS222の処理については後述する。
【0103】
ステップS208(図6)では、図2のステップS108と同様に、プリントサーバ100Bは、プリンタ200Bから内部レスポンスIRES1を取得し、HTTPレスポンスHRES1を生成してクライアント300に送信する。
【0104】
図7(D)は、HTTPレスポンスHRES1の内容を示す。1行目には、図3(D)と同様に、リクエストの結果を示すステータスラインが記述されている。また、2行目には、「Content-Length」フィールドが記述されており、該フィールドは、内部レスポンスIRES1(図7(C))内の2行目の「Size」フィールドを利用して作成される。3行目には、「Connection」フィールドが記述されており、フィールド値は、コネクションの状態(close)を示している。
【0105】
ステップS210(図6)では、図2のステップS110と同様に、クライアント300は、HTTPレスポンスHRES1を取得する。
【0106】
ステップS222(図6)では、プリンタ200Bの処理実行部222Bは、ステップS206で取得した内部リクエストIREQ1に含まれるXHTMLデータを解釈する。
【0107】
図8は、XHTMLデータの一例を示す説明図である。図示するように、XHTMLデータに含まれるIMGタグ<img src="">には、参照すべき画像データのファイル名が記述されている。IMGタグ<img src="">内に記述された「http://169.254.100.200/swimming.jpg」から、IPアドレス「169.254.100.200」を有するサーバ400に格納された画像データ「swimming.jpg」を参照すべきことが分かる。
【0108】
そして、ステップS222では、プリンタ200Bの通信制御部232Bは、内部リクエストIREQ2をプリントサーバ100Bに送信する。この際、プリンタ200Bの処理実行部222Bは、内部リクエストIREQ1の解析結果に基づいて、内部リクエストIREQ2に含まれるべきヘッダを準備する。
【0109】
図7(E)は、内部リクエストIREQ2の内容を示す。1行目には、「Request」フィールドが記述されており、フィールド値は、利用されるべきHTTPメソッド(GET)を示している。2行目には、「URI」フィールドが記述されており、フィールド値は、URI(169.254.100.200/swimming.jpg)を示している。
【0110】
図7(E)に示す内部リクエストIREQ2の記述から、サーバ400(169.254.100.200)からの画像データ(swimming.jpg)の取得が要求されていることが分かる。
【0111】
また、3行目には、「Data」フィールドが記述されている。「Data」フィールド内には、「If-Modified-Since:Sat, 29 Oct 2004 19:43:31 GMT」が記述されている。
【0112】
本実施例では、プリントサーバ100Bにおいて「If-Modified-Since」フィールドが定義されていない場合を想定している。換言すれば、変換処理部122Bは「If-Modified-Since」フィールドを解釈不能である。このため、処理実行部222Bは、未定義の「If-Modified-Since」フィールドの記述の先頭に、識別情報「Data」を付与することによって、「Data」フィールドを作成している。
【0113】
なお、「If-Modified-Since」フィールドは、画像データの取得条件を示しており、画像データが「Sat, 29 Oct 2004 19:43:31」以降に変更(更新)されている場合にのみ、画像データを取得することを示している。
【0114】
すなわち、本実施例では、プリンタ200Bのキャッシュ領域(図示せず)内に画像データ「swimming.jpg」が既に格納されている場合を想定している。そして、該画像データがキャッシュ領域に格納された日時は「Sat, 29 Oct 2004 19:43:31」である。なお、該日時は、CPU210が時計部240を参照することによって決定される。そして、本実施例では、処理実行部222Bは、該画像データがキャッシュ領域に格納された日時を参照して、該日時以降に画像データが変更されている場合にのみ画像データを取得すべきことを示す「If-Modified-Since」フィールドを作成している。
【0115】
ステップS224(図6)では、プリントサーバ100Bは、プリンタ200Bから内部リクエストIREQ2を取得し、HTTPリクエストHREQ2を生成してサーバ400に送信する。この際、変換処理部122は、内部リクエストIREQ2に含まれるヘッダから、HTTPリクエストHREQ2に含まれるべきヘッダを生成する。
【0116】
図7(F)は、HTTPリクエストHREQ2の内容を示す。1行目のリクエストラインには、メソッド(GET)と、リクエストURI(swimming.jpg)と、HTTPバージョン(HTTP/1.1)と、が記述されている。2行目には、「Host」フィールドが記述されており、フィールド値は、リソース(画像データ)を提供するホスト(169.254.100.200)を示している。なお、ホストは、サーバ400を意味している。リクエストラインと「Host」フィールドとは、内部リクエストIREQ2(図7(E))内の1行目の「Request」フィールドと2行目の「URI」フィールドとを利用して作成される。3行目には、「If-Modified-Since」フィールドが記述されている。「If-Modified-Since」フィールドは、変換処理部122Bが図7(E)の「Data」フィールドから識別情報「Data」を削除することによって、作成される。
【0117】
ステップS226(図6)では、サーバ400は、プリントサーバ100BからHTTPリクエストHREQ2を取得し、HTTPレスポンスHRES2をプリントサーバ100Bに送信する。この際、サーバ400は、HTTPリクエストHREQ2に基づいて、指定された画像データ(swimming.jpg)を読み出す。そして、サーバ400は、画像データ(swimming.jpg)を含むHTTPレスポンスHRES2を生成する。
【0118】
ステップS228(図6)では、プリントサーバ100Bは、サーバ400からHTTPレスポンスHRES2を取得し、内部レスポンスIRES2を生成してプリンタ200Bに送信する。なお、内部レスポンスIRES2には、画像データ(swimming.jpg)が含まれている。
【0119】
ステップS230(図6)では、プリンタ200Bは、内部レスポンスIRES2を取得する。そして、処理実行部222Bは、内部レスポンスIRES2に含まれる画像データ(swimming.jpg)を用いて、プリンタエンジン250に印刷を実行させる。
【0120】
以上説明したように、本実施例では、プリントサーバ100Bの変換処理部122Bは、ステップS224においてプリンタ200Bから受信した内部リクエストに含まれるヘッダから、サーバ400に送信されるHTTPリクエストに含まれるべきヘッダを生成することによって、内部プロトコルからHTTPプロトコルへの変換を行う。この際、変換処理部122Bは、内部リクエストのヘッダ内に含まれるフィールド(例えば「URI」フィールド)を解釈可能な場合には、対応するフィールド(例えば「Host」フィールド)を含むHTTPリクエストのヘッダを生成する。一方、変換処理部122Bは、内部リクエストのヘッダ内に「Data」フィールドが含まれる場合には、識別情報「Data」が削除されたフィールド(例えば「If-Modified-Since」フィールド)を含むHTTPリクエストのヘッダを生成する。
【0121】
なお、本実施例では、変換処理部122Bは、ステップS228において、サーバ400から受信したHTTPレスポンスに含まれるヘッダから、プリンタ200Bに送信される内部レスポンスに含まれるべきヘッダを生成することによって、HTTPプロトコルから内部プロトコルへの変換を行っている。この際、変換処理部122Bは、第1実施例と同様に、HTTPレスポンスのヘッダ内に含まれるフィールドを解釈可能な場合には、対応するフィールドを含む内部レスポンスのヘッダを生成し、HTTPレスポンスのヘッダ内に含まれるフィールドを解釈不能な場合には、識別情報「Data」と該フィールドの記述とを有する「Data」フィールドを含む内部レスポンスのヘッダを生成すればよい。
【0122】
上記のように、本実施例でも、「Data」フィールドが利用されるため、プリントサーバ100Bを変更することなく、プリンタ200Bで使用されるフィールド項目を容易に追加することが可能となる。
【0123】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0124】
(1)上記実施例では、第1種のプロトコルとして、HTTPプロトコルが利用されているが、これに代えて、他のプロトコル(例えば、FTP(File Transfer Protocol)プロトコル)が利用されてもよい。
【0125】
(2)上記実施例では、ローカルデバイスとしてプリンタが利用されているが、これに代えて、他のデバイスが利用されてもよい。他のデバイスとしては、スキャナや、ストレージ等が利用可能である。また、他のデバイスとしては、複数の機能(印刷,スキャナ等)を有する複合機が利用されてもよい。
【0126】
(3)上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【図面の簡単な説明】
【0127】
【図1】第1実施例における印刷システムの構成を示す説明図である。
【図2】図1の印刷システムで行われる通信処理の一例を示すフローチャートである。
【図3】比較例における通信データの内容を模式的に示す説明図である。
【図4】第1実施例における通信データの内容を模式的に示す説明図である。
【図5】第2実施例における印刷システムを示す説明図である。
【図6】図5の印刷システムで行われる通信処理の一例を示すフローチャートである。
【図7】第2実施例における通信データの内容を模式的に示す説明図である。
【図8】XHTMLデータの一例を示す説明図である。
【符号の説明】
【0128】
100,B…プリントサーバ
110…CPU
120…メモリ
122,B…変換処理部
132,B…第1の通信制御部
134,B…第2の通信制御部
142…ネットワークIF部
148…USBホストIF部
200,B…プリンタ
210…CPU
220…メモリ
222,B…処理実行部
224…コンテンツ準備部
232,B…通信制御部
240…時計部
248…USBデバイスIF部
250…プリンタエンジン
300…クライアントコンピュータ
400…サーバコンピュータ
NW…ネットワーク

【特許請求の範囲】
【請求項1】
制御装置であって、
ネットワークを介して接続される任意のコンピュータと第1種のプロトコルに従った第1種の通信データの通信を行う第1の通信部と、
前記ネットワークを介さずに接続されるローカルデバイスと第2種のプロトコルに従った第2種の通信データの通信を行う第2の通信部と、
前記第1の通信部が第1のコンピュータから受信した前記第1種の通信データに含まれる第1種のヘッダから、前記第2の通信部が前記ローカルデバイスに送信する前記第2種の通信データに含まれるべき第2種のヘッダを生成することによって、前記第1種のプロトコルから前記第2種のプロトコルへの変換を行うための第1の変換処理部と、
を備え、
前記第1の変換処理部は、
前記第1種のヘッダ内に含まれる第1のフィールドが予め定義されたフィールドである場合には、前記第1のフィールドに対応する第2のフィールドを含む前記第2種のヘッダを生成し、
前記第1種のヘッダ内に含まれる前記第1のフィールドが予め定義されていないフィールドである場合には、所定の識別情報と前記第1のフィールドの記述とを有する第3のフィールドを含む前記第2種のヘッダを生成することを特徴とする制御装置。
【請求項2】
請求項1記載の制御装置であって、さらに、
前記第2の通信部が前記ローカルデバイスから受信した前記第2種の通信データに含まれる第3種のヘッダから、前記第1の通信部が特定のコンピュータに送信する前記第1種の通信データに含まれるべき第4種のヘッダを生成することによって、前記第2種のプロトコルから前記第1種のプロトコルへの変換を行うための第2の変換処理部を備え、
前記第2の変換処理部は、
前記第3種のヘッダ内に含まれる第4のフィールドが予め定義されたフィールドである場合には、前記第4のフィールドに対応する第5のフィールドを含む前記第4種のヘッダを生成し、
前記第3種のヘッダ内に含まれる前記第4のフィールドが前記所定の識別情報を有するフィールドである場合には、前記所定の識別情報が削除された第6のフィールドを含む前記第4種のヘッダを生成する、制御装置。
【請求項3】
請求項2記載の制御装置であって、
前記特定のコンピュータは、前記第1のコンピュータである、制御装置。
【請求項4】
請求項2記載の制御装置であって、
前記特定のコンピュータは、前記第1のコンピュータと異なる第2のコンピュータである、制御装置。
【請求項5】
請求項4記載の制御装置であって、
前記第1の通信部が前記第1のコンピュータから受信する前記第1種の通信データが、前記特定のコンピュータに格納された特定の情報の参照指示を含む場合には、前記第2の通信部が前記ローカルデバイスから受信する前記第2種の通信データは、前記特定のコンピュータからの前記特定の情報の取得要求を含む、制御装置。
【請求項6】
ネットワーク装置であって、
請求項1ないし5のいずれかに記載の前記制御装置と、
前記ローカルデバイスと、
を備えることを特徴とするネットワーク装置。
【請求項7】
請求項6記載のネットワーク装置であって、
前記ローカルデバイスは、
前記制御装置と前記第2種のプロトコルに従った前記第2種の通信データの通信を行う通信部と、
前記通信部が前記制御装置から受信した前記第2種の通信データに基づいて、処理を実行する処理実行部と、
を備え、
前記処理実行部は、
前記第2種のヘッダ内に前記所定の識別情報と前記第1のフィールドの記述とを有する前記第3のフィールドが含まれる場合には、前記所定の識別情報を削除することによって得られる前記第1のフィールドに基づいて処理を実行する、ネットワーク装置。
【請求項8】
ネットワーク装置であって、
請求項2ないし5のいずれかに記載の前記制御装置と、
前記ローカルデバイスと、
を備え、
前記ローカルデバイスは、
前記制御装置と前記第2種のプロトコルに従った前記第2種の通信データの通信を行う通信部と、
前記通信部が前記制御装置から受信した前記第2種の通信データに基づいて、処理を実行する処理実行部と、
を備え、
前記処理実行部は、
前記通信部が前記制御装置に送信する前記第2種の通信データに含まれるべき前記第3種のヘッダを生成し、
前記処理実行部は、
前記第3種のヘッダ内に、前記制御装置において予め定義されていない前記第6のフィールドを記述する場合には、前記所定の識別情報と前記第6のフィールドの記述とを有する前記第4のフィールドを含む前記第3種のヘッダを生成することを特徴とするネットワーク装置。
【請求項9】
請求項8記載のネットワーク装置であって、
前記処理実行部は、前記通信部が前記制御装置から受信する前記第2種の通信データが前記特定のコンピュータに格納された特定の情報の参照指示を含む場合には、前記特定のコンピュータからの前記特定の情報の取得要求を含む前記第3種のヘッダを生成する、ネットワーク装置。
【請求項10】
制御装置であって、
ネットワークを介して接続される任意のコンピュータと第1種のプロトコルに従った第1種の通信データの通信を行う第1の通信部と、
前記ネットワークを介さずに接続されるローカルデバイスと第2種のプロトコルに従った第2種の通信データの通信を行う第2の通信部と、
前記第2の通信部が前記ローカルデバイスから受信した前記第2種の通信データに含まれる第1種のヘッダから、前記第1の通信部が特定のコンピュータに送信する前記第1種の通信データに含まれるべき第2種のヘッダを生成することによって、前記第2種のプロトコルから前記第1種のプロトコルへの変換を行うための変換処理部と、
を備え、
前記変換処理部は、
前記第1種のヘッダ内に含まれる第1のフィールドが予め定義されたフィールドである場合には、前記第1のフィールドに対応する第2のフィールドを含む前記第2種のヘッダを生成し、
前記第1種のヘッダ内に含まれる前記第1のフィールドが所定の識別情報を有するフィールドである場合には、前記所定の識別情報が削除された第3のフィールドを含む前記第2種のヘッダを生成することを特徴とする制御装置。
【請求項11】
ネットワークを介して接続される任意のコンピュータと第1種のプロトコルに従った第1種の通信データの通信を行う第1の通信部と、前記ネットワークを介さずに接続されるローカルデバイスと第2種のプロトコルに従った第2種の通信データの通信を行う第2の通信部と、を備える制御装置によって実行される制御方法であって、
前記第1の通信部が第1のコンピュータから受信した前記第1種の通信データに含まれる第1種のヘッダから、前記第2の通信部が前記ローカルデバイスに送信する前記第2種の通信データに含まれるべき第2種のヘッダを生成することによって、前記第1種のプロトコルから前記第2種のプロトコルへの変換を行う工程を備え、
前記変換工程は、
前記第1種のヘッダ内に含まれる第1のフィールドが予め定義されたフィールドである場合には、前記第1のフィールドに対応する第2のフィールドを含む前記第2種のヘッダを生成し、
前記第1種のヘッダ内に含まれる前記第1のフィールドが予め定義されていないフィールドである場合には、所定の識別情報と前記第1のフィールドの記述とを有する第3のフィールドを含む前記第2種のヘッダを生成する工程を含むことを特徴とする制御方法。
【請求項12】
ネットワークを介して接続される任意のコンピュータと第1種のプロトコルに従った第1種の通信データの通信を行う第1の通信部と、前記ネットワークを介さずに接続されるローカルデバイスと第2種のプロトコルに従った第2種の通信データの通信を行う第2の通信部と、を備える制御装置によって実行される制御方法であって、
前記第2の通信部が前記ローカルデバイスから受信した前記第2種の通信データに含まれる第1種のヘッダから、前記第1の通信部が特定のコンピュータに送信する前記第1種の通信データに含まれるべき第2種のヘッダを生成することによって、前記第2種のプロトコルから前記第1種のプロトコルへの変換を行う工程を備え、
前記変換工程は、
前記第1種のヘッダ内に含まれる第1のフィールドが予め定義されたフィールドである場合には、前記第1のフィールドに対応する第2のフィールドを含む前記第2種のヘッダを生成し、
前記第1種のヘッダ内に含まれる前記第1のフィールドが所定の識別情報を有するフィールドである場合には、前記所定の識別情報が削除された第3のフィールドを含む前記第2種のヘッダを生成する工程を含むことを特徴とする制御方法。
【請求項13】
ネットワークを介して接続される任意のコンピュータと第1種のプロトコルに従った第1種の通信データの通信を行う第1の通信部と、前記ネットワークを介さずに接続されるローカルデバイスと第2種のプロトコルに従った第2種の通信データの通信を行う第2の通信部と、を備える制御装置に制御を実行させるためのコンピュータプログラムであって、
前記第1の通信部が第1のコンピュータから受信した前記第1種の通信データに含まれる第1種のヘッダから、前記第2の通信部が前記ローカルデバイスに送信する前記第2種の通信データに含まれるべき第2種のヘッダを生成することによって、前記第1種のプロトコルから前記第2種のプロトコルへの変換を行う機能を、前記制御装置に実現させ、
前記変換機能は、
前記第1種のヘッダ内に含まれる第1のフィールドが予め定義されたフィールドである場合には、前記第1のフィールドに対応する第2のフィールドを含む前記第2種のヘッダを生成し、
前記第1種のヘッダ内に含まれる前記第1のフィールドが予め定義されていないフィールドである場合には、所定の識別情報と前記第1のフィールドの記述とを有する第3のフィールドを含む前記第2種のヘッダを生成する機能を含むことを特徴とするコンピュータプログラム。
【請求項14】
ネットワークを介して接続される任意のコンピュータと第1種のプロトコルに従った第1種の通信データの通信を行う第1の通信部と、前記ネットワークを介さずに接続されるローカルデバイスと第2種のプロトコルに従った第2種の通信データの通信を行う第2の通信部と、を備える制御装置に制御を実行させるためのコンピュータプログラムであって、
前記第2の通信部が前記ローカルデバイスから受信した前記第2種の通信データに含まれる第1種のヘッダから、前記第1の通信部が特定のコンピュータに送信する前記第1種の通信データに含まれるべき第2種のヘッダを生成することによって、前記第2種のプロトコルから前記第1種のプロトコルへの変換を行う機能を、前記制御装置に実現させ、
前記変換機能は、
前記第1種のヘッダ内に含まれる第1のフィールドが予め定義されたフィールドである場合には、前記第1のフィールドに対応する第2のフィールドを含む前記第2種のヘッダを生成し、
前記第1種のヘッダ内に含まれる前記第1のフィールドが所定の識別情報を有するフィールドである場合には、前記所定の識別情報が削除された第3のフィールドを含む前記第2種のヘッダを生成する機能を含むことを特徴とするコンピュータプログラム。
【請求項15】
請求項13または14記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate