JP4231241B2 - Network communication - Google Patents
Network communication Download PDFInfo
- Publication number
- JP4231241B2 JP4231241B2 JP2002155159A JP2002155159A JP4231241B2 JP 4231241 B2 JP4231241 B2 JP 4231241B2 JP 2002155159 A JP2002155159 A JP 2002155159A JP 2002155159 A JP2002155159 A JP 2002155159A JP 4231241 B2 JP4231241 B2 JP 4231241B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- response
- identifier
- client
- server computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、クライアントとサーバコンピュータ(以下、単にサーバとも言う)間の通信に関する。
【0002】
【従来の技術】
従来、ネットワークを介してクライアントとWebサーバが通信を行う場合、クライアントは既に発行したリクエストに対応するレスポンスの受信を待って次のリクエストを発行していた。ただし、単純なHTML文書の閲覧等の目的では、サーバからレスポンスを待たずに次のリクエストを送信する場合があった。このような目的では、レスポンスを待たずに次の文書を取得するリクエストを発行してもユーザに何ら不都合はないからである。
【0003】
【発明が解決しようとする課題】
しかし、近年、Webサーバは電子商取引やメール配信サービスといった種々のサービスをクライアントに提供することが可能となっている。このようなサービスの提供を受ける場合、クライアントは送信したリクエストと、そのリクエストに対するサーバからのレスポンスを厳密に対応付けなければならい。ユーザに不測の損害を与えないためである。そのため、クライアントはサーバからのレスポンスがあるまで次のリクエストを送信することができなかった。
【0004】
本発明は上記課題に鑑みなされたものであり、連続してリクエストを送信してもレスポンスとの対応付けが適切に行われる技術の提供を目的としている。
【0005】
【課題を解決するための手段およびその作用・効果】
上述の課題を解決するため、本発明を次のように構成した。すなわち、
ネットワークを介して接続され、印刷ジョブが蓄積されたサーバコンピュータからHTTPプロトコルを用いて印刷ジョブを取得し、自身に接続されたプリンタを用いて印刷を行うクライアントであって、
前記HTTPプロトコルの書式に従って印刷に関するリクエストを生成するとともに、少なくとも前記サーバコンピュータからのレスポンスが未了のリクエストを識別するための第1の識別子を前記リクエストのボディ部に付与するリクエスト生成部と、
前記リクエストを前記サーバコンピュータに送信するリクエスト送信部と、
前記HTTPプロトコルの書式に従うレスポンスのボディ部に第2の識別子が付与されたレスポンスを前記サーバコンピュータから受信するレスポンス受信部と、
前記第1の識別子と前記第2の識別子とに基づいて、前記レスポンスが前記リクエストに対応しているか否かを判定する識別子判定部と、
を備えることを要旨としている。
【0006】
本発明のクライアントによれば、リクエストに付与した第1の識別子と、レスポンスに付与された第2の識別子とに基づいて、リクエストとレスポンスとの対応関係を照合することができる。そのため、連続してリクエストを送信してもレスポンスとの対応付けが容易に可能となる。
【0007】
なお、前記リクエスト生成部は、対応するレスポンスが既に返信されているリクエストに対して付与した識別子と重複する識別子を新たに生成するリクエストに付与してもよい。既にレスポンスが返信されていれば、そのレスポンスに対応するリクエストと新たに生成するリクエストとを判別する必要はないからである。
【0008】
前記識別子判定部は、前記第1の識別子と前記第2の識別子とが同一である場合に前記第1の識別子と前記第2の識別子とが対応していると判定するものとしてもよい。こうすることにより、判定が容易となるからである。他にも、例えば、第1の識別子と第2の識別子とが逆数の関係にある場合や、両者の和が1あるいは0になるといった場合に対応していると判定するものとしてもよい。
【0009】
また、前記リクエスト生成部は、前記クライアントに固有の情報と、前記リクエストデータの生成順序に関連した情報とに基づき前記第1の識別子を生成することとすれば、他のクライアントが生成する識別子とも重複することのないユニークな識別子をリクエストに付与することができる。クライアントに固有の情報としては、例えば、クライアントに付与されたMACアドレスやIPアドレス、製造番号等とすることができる。また、生成順序に関連した情報としては、例えば、識別子を生成した日付・時刻、生成した識別子の通し番号などとすることができる。
【0010】
また、本発明は、上記所定のプロトコルがHTTP(Hypertext Transport Protocol)である場合に特に効果が高い。HTTPは、ファイアウォールを越えることが容易なため、例えば、本発明のクライアントをセキュアな会社内に設置した場合でも容易にインターネット上に存在するサーバにアクセスすることが可能となるからである。
【0011】
本発明は、このようなクライアントとして構成できるほか、次のようなサーバコンピュータとしても構成することができる。すなわち、
ネットワークを介して接続されたクライアントからの要求に応じて、蓄積された印刷ジョブを、HTTPプロトコルを用いて転送するサーバコンピュータであって、
前記HTTPプロトコルの書式に従うリクエストのボディ部に識別子が付与されたリクエストであって、印刷に関するリクエストを、前記クライアントから受信するリクエスト受信部と、
前記リクエストに応じたレスポンスであって、前記HTTPプロトコルの書式に従うレスポンスのボディ部に前記識別子に対応した返信用識別子を含めて、当該レスポンスを生成するレスポンス生成部と、
前記クライアントに前記レスポンスを送信するレスポンス送信部と、
を備えるサーバコンピュータである。
【0012】
本発明のサーバによれば、リクエストに応じたレスポンスを生成する際に、そのリクエストに付与された識別子に対応する返信用識別子をレスポンスに付与することとなる。従って、このようなレスポンスを受信するクライアントは、発行したリクエストと受信したレスポンスとの対応付けを適切に行うことができる。なお、レスポンス生成部は、リクエストに付与された識別子と同一の識別子を返信用識別子としてレスポンスに付与するものとすれば好適である。新たに識別子を生成する必要がないため処理を簡略化することができるからである。
【0013】
本発明は、上述したクライアントやサーバとしての態様の他、種々の態様で構成可能である。例えば、クライアントがネットワーク上に存在するサーバと所定のプロトコルを用いて通信を行う通信方法、サーバがネットワーク上に存在するクライアントと所定のプロトコルを用いて通信を行う通信方法、クライアントがネットワーク上に存在するサーバと所定のプロトコルを用いて通信を行うためのコンピュータプログラム、サーバがネットワーク上に存在するクライアントと所定のプロトコルを用いて通信を行うためのコンピュータプログラム、かかるコンピュータプログラムを記録した記録媒体等の態様である。
【0014】
ここで記録媒体としては、フレキシブルディスクやCD−ROM、DVD、光磁気ディスク、ICカード、ROMカートリッジ、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置などコンピュータが読取り可能な種々の媒体を利用できる。
【0015】
【発明の実施の形態】
以下、本発明の実施の形態について実施例に基づき次の順序で説明する。
A.印刷システム:
B.エージェント:
C.プリント仲介サーバ:
D.通信処理:
E.効果:
F.変形例:
【0016】
A.印刷システム:
図1は、本実施例における印刷システムの概略構成を示す説明図である。印刷システム10は、主に携帯情報端末12を用いて外出先で閲覧したコンテンツを、家庭や会社のプリンタPTで印刷することを目的としたシステムである。印刷システム10を構成するコンテンツサーバ11、携帯情報端末12、プリント仲介サーバ13、クライアントPC14は、インターネットINTを介して相互に接続されている。
【0017】
以下、本システムを用いた印刷手順の大まかな流れを説明する。まず、ユーザは、ノートパソコンやPDA、携帯電話等の携帯情報端末12を用いてコンテンツサーバ11が保持する所望のコンテンツを表示する。コンテンツサーバ11は、メールの配信サービスや地図の配信サービス等といった種々のサービスをユーザに提供するサーバである。本実施例では、コンテンツサーバ11は、地図の配信サービスを行っているものとした。従って、図中の携帯情報端末12にはコンテンツサーバから配信された地図画像MIが表示されている。
【0018】
携帯情報端末12に表示された地図画像MI上には、印刷ボタンPBが配置されている。ユーザは、このボタンを押すことにより印刷ジョブをプリント仲介サーバ13に転送することができる。印刷ボタンPBは、プリント仲介サーバ13へのハイパーリンクとなっており、ユーザがこのボタンを押すことにより地図画像MIのリンク元であるコンテンツサーバのURL(Uniform Resource Locator)がプリント仲介サーバ13に転送される仕組みとなっている。なお、ここではURLが転送されることとしたが、地図画像MIの画像データそのものを転送することとしてもかまわない。
【0019】
ユーザは、外出先から帰宅し、家庭あるいは会社のコンピュータ(クライアントPC14)で上記印刷ジョブの印刷を行うために、クライアントPC14にインストールされたエージェントと呼ばれるプログラムを用いる。エージェントは、プリント仲介サーバ13へのログオン、印刷ジョブの要求/ダウンロード、プリンタへの印刷といった一連の印刷処理を行うソフトウェアである。ユーザは、エージェントを用いることにより、外出先で閲覧したコンテンツを家庭や会社のプリンタで容易に印刷することが可能となる。
【0020】
エージェントとプリント仲介サーバ13とは、プロトコルとしてHTTPを用いた通信を行う。HTTPは、ファイアウォールを容易に越えることができるという特徴がある。従って、ファイアウォールを介してインターネットに接続された企業内のコンピュータであってもエージェントを用いて容易にプリント仲介サーバ13との通信が可能となる。
【0021】
B.エージェント:
図2は、エージェントの機能ブロック図である。エージェント15は、図示するようにモジュール化された複数のプログラムにより構成されている。以下、各モジュールについて図3および図4を交えて説明する。通信制御モジュール20は、他のモジュールが発行する仮想メッセージに従ってプリント仲介サーバ13との通信を仲介するインターフェースとしての機能を備えている。「仮想メッセージ」とは、各モジュールが、プリント仲介サーバ13とあたかも直接メッセージを送受信しているかのように見せかけるために用意されたメッセージ群である。各モジュールは、この仮想メッセージを用いることにより、通信制御モジュール20の存在を意識することなくプリント仲介サーバ13にアクセスすることが可能となる。
【0022】
図3は、仮想メッセージの一例を示す表である。「RegPrinter」とは、エージェント15のプリンタ設定モジュール21が発行する仮想メッセージであり、ユーザのプリンタをプリント仲介サーバ13に登録する際に用いるメッセージである。ユーザは、エージェントにプリンタの機種名、利用可能な用紙、カラー対応であるか否かといったパラメータを入力する。するとプリンタ設定モジュール21がこれらのパラメータを引数とした「RegPrinter」メッセージを発行して、プリント仲介サーバ13にユーザが利用するプリンタを登録する。プリント仲介サーバ13で登録が成功すると、戻り値としてプリンタIDが返信される。登録台数が所定の台数を越えたり、サポートしていないプリンタであった場合には戻り値として「NG」と返信される。
【0023】
「DelPrinter」もプリンタ設定モジュール21が発行するメッセージである。これは、「RegPrinter」によってプリント仲介サーバ13に登録したプリンタを削除する際に用いるメッセージである。削除するプリンタは、プリンタIDによって指定する。プリント仲介サーバ13が削除を成功したら戻り値として「OK」が返信され、指定したプリンタが存在しなかった場合等には「NG」と返信される。
【0024】
「GetJob」は、プリンタ管理モジュール22が発行するメッセージであり、プリント仲介サーバ13から印刷ジョブを取得する際に用いるメッセージである。プリント仲介サーバ13は、このメッセージをエージェント15から受信すると、印刷ジョブをエージェント15に転送する。後述するように、プリント仲介サーバ13は印刷ジョブをすべてPDFファイルに変換する機能を備えることから、PDFファイルの実体が戻り値として返信されることとなる。もし、プリント仲介サーバ13に蓄積されていないジョブを指定してしまった場合には、「File Not Found」なるメッセージが戻り値として返信される。エージェント15は、「GetJob」によって取得したPDFファイルを、印刷処理モジュール24によって印刷を行う。
【0025】
「PrinterStatus」も、プリンタ管理モジュール22が発行するメッセージである。プリンタ管理モジュール22は、プリンタの稼動状態を監視しており、例えば、「ready(印刷可能)」や「busy(印刷不可)」といったプリンタの状態をプリント仲介サーバ13に通知する。
【0026】
「JobStatus」も、プリンタ管理モジュール22が発行するメッセージであり、「GetJob」によって取得した印刷ジョブが正常に印刷されたか否かをプリント仲介サーバ13に対して通知する際に用いるメッセージである。
【0027】
「GetModule」は、バージョン管理モジュール23が発行するメッセージであり、プリント仲介サーバ13から新しいバージョンのモジュールを取得する際に用いるメッセージである。
【0028】
エージェント管理モジュール25は、上述したプリンタ管理モジュール22およびバージョン管理モジュール23を統括管理するモジュールである。
【0029】
エージェントブラウザ26は、プリント仲介サーバ13のホームページの表示を行う。このホームページ上で、ログイン名、パスワード等を登録することにより、ユーザはユーザ登録を行う。
【0030】
次に、上述した通信制御モジュール20の詳細な構成について説明する。通信制御モジュール20は、仮想メッセージを各モジュールから受信すると、仮想メッセージキュー27に蓄積する。そして所定のタイミングで、リクエスト生成部28により仮想メッセージをHTTPリクエストに変換する。所定のタイミングとは、例えばユーザによって設定された時刻や、ダイアルアップ時にインターネットに接続されたタイミング等である。変換時には、その変換時刻とエージェント15がインストールされたコンピュータに付与されたMACアドレスとに基づきユニークなメッセージIDを生成する。そして生成したメッセージIDをHTTPリクエストのボディ部内に記録する。
【0031】
このように生成されたメッセージIDは、例えば次のようになる。
「aabbccddeeff20020416110114」
このうち、「aabbccddeeff」がMACアドレスを表し、「20020416」が日付、「110114」が時刻を表す。
【0032】
図4(a)は、このように生成されたHTTPリクエストの一例を示している。本図ではメッセージIDを簡略化して「ABC」と示している。HTTPリクエストは、ヘッダ部とボディ部とからなり、ヘッダ部には、HTTPの規格上定められた種々のコマンドが記述される。一方、ボディ部には、仮想メッセージとメッセージIDとが記録される。図の場合では、仮想メッセージとして「PrinterStatus」が記録されたことを示している。図中「ready」とあるのは、この仮想メッセージに対する引数であり、プリンタが印刷可能状態であることを示している。
【0033】
通信制御モジュール20は、リクエスト送信部29によってHTTPリクエストをプリント仲介サーバ13に送信する。このとき、リクエスト履歴保持部30に、発行したHTTPリクエストの履歴を記録する。記録されるパラメータには少なくともメッセージIDと仮想メッセージとが含まれる。
【0034】
レスポンス受信部31は、プリント仲介サーバ13が返信するHTTPレスポンスを受信する。図4(b)にHTTPレスポンスの一例を示した。HTTPレスポンスも、ヘッダ部とボディ部とにより構成されており、図示するように、ボディ部にはメッセージIDと仮想メッセージ、および仮想メッセージに対する戻り値が記録されている。図の場合では、「PrinterStatus」に対する戻り値が「OK」である旨が記録されている。すなわち、プリント仲介サーバ13が正常にプリンタの稼動状態を把握したことを表している。
【0035】
ID判定部32は、このHTTPレスポンスと、リクエスト履歴保持部に記録されたHTTPリクエストとの照合を行う。照合は、両者に付与されたメッセージIDが同一かどうかを判定することにより行う。照合した結果、同一のメッセージIDを持つHTTPリクエストがある場合、そのHTTPリクエストの変換元となった仮想メッセージを発行したモジュールに対して、HTTPレスポンスに記録された戻り値を転送する。戻り値は、戻り値転送部33により転送される。
【0036】
C.プリント仲介サーバ:
図5は、プリント仲介サーバ13の機能ブロック図である。プリント仲介サーバ13は、図示する各機能部を実現するソフトウェアを汎用のコンピュータにインストールすることにより構成されている。
【0037】
通信制御部40は、他のサーバやクライアント等との通信を司る。通信制御部40は、HTTPリクエストを受信するリクエスト受信部41と、HTTPレスポンスを送信するレスポンス送信部42とを備える。
【0038】
UI提供部43は、携帯情報端末12やクライアントPC14等からの要求に従いHTMLによるユーザインターフェースを提供する。例えば、上記エージェントブラウザ26からホームページの閲覧要求があった場合等に利用される。
【0039】
ユーザ管理部44はユーザのログインID、パスワード、利用するプリンタ等の管理を行う。エージェント15からのプリンタの登録、解除要求があった場合に設定の変更を行う。
【0040】
ジョブ格納部45には、携帯情報端末12から転送された印刷ジョブが格納されている。エージェント15から印刷ジョブの転送要求があった場合、PDF変換部46を用いて印刷ジョブをPDFファイルに変換する。格納された印刷ジョブが単にURLの場合は、そのURL先のコンテンツサーバ11からHTML文書や画像を取得してPDFファイルに変換する。
【0041】
主制御部47は、通信制御部40が受信したHTTPリクエストに応じて種々の処理を行う。HTTPリクエストにメッセージID、仮想メッセージが格納されている場合には、その仮想メッセージに応じて上述の各機能部を用いてプリンタの登録、解除、ジョブの転送等の処理を行う。処理終了後は、その処理に応じた戻り値を記録したHTTPレスポンスを生成する。HTTPレスポンス生成時には、処理対象としたHTTPリクエストに記録されたメッセージIDと同一のメッセージIDを付与する(図4(b)参照)。生成したHTTPレスポンスは、通信制御部40によってHTTPリクエストの送信元に返信する。
【0042】
なお、プリント仲介サーバ13は、上述した機能部の一部を他のサーバが代行するいわゆる分散型のシステムとして構築してもよい。例えば、PDF変換を独立した他のサーバが代行するものとしてもよいし、ユーザ管理を他のサーバが受け持つものとしてもよい。
【0043】
D.通信処理:
図6は、エージェント15とプリント仲介サーバ13とにおける通信処理のフローチャートである。まず、エージェント15は、各モジュールから仮想メッセージを受信すると(ステップS10)、仮想メッセージキューにその仮想メッセージを格納する(ステップS11)。そして所定のタイミングで順次仮想メッセージを読み出してHTTPリクエストを生成する(ステップS12)。このとき、HTTPリクエストにはメッセージIDが付与される。エージェント15は、このように生成したHTTPリクエストをプリント仲介サーバ13へ送信するとともにリクエスト履歴保持部30に送信したHTTPリクエストの履歴を記録する(ステップS13)。
【0044】
プリント仲介サーバ13は、このように送信されたHTTPリクエストを受信すると(ステップS20)、そのHTTPリクエストに記録された仮想メッセージに応じて種々の処理を行う(ステップS21)。そして、その処理結果である戻り値を記録したHTTPレスポンスを生成する(ステップS22)。このとき、処理対象としたHTTPリクエストに付与されたメッセージIDと同じメッセージIDをHTTPレスポンスに記録する。生成したHTTPレスポンスは、エージェント15に送信する(ステップS23)。
【0045】
エージェント15は、HTTPレスポンスを受信すると(ステップS14)、受信したHTTPレスポンスに記録されたメッセージIDを参照して、同一のメッセージIDが付与されたHTTPリクエストをリクエスト履歴保持部30から検索する(ステップS15)。そして、検索した結果、該当するHTTPリクエストの生成元となった仮想メッセージの発行元であるモジュールに対して、HTTPレスポンスに記録された戻り値を転送する(ステップS16)。このような処理を経ることによりエージェント15の各モジュールは、発行した仮想メッセージに対応する戻り値をプリント仲介サーバ13から適切に取得することが可能となる。
【0046】
E.効果:
図7は、エージェント15とプリント仲介サーバ13との通信例を示す説明図である。図では、メッセージIDをID1、ID2、…と示した。図中、左から右へ向かう矢印がHTTPリクエストを表し、右から左へ向かう矢印がHTTPレスポンスを表している。下向きの矢印は時間経過を表す。本実施例で説明したエージェント15とプリント仲介サーバ13によれば、エージェント15は、既に発行したHTTPリクエストに対するHTTPレスポンスを待つことなく次々にHTTPリクエストを送信することができる。HTTPリクエストとそのHTTPリクエストに対応するHTTPレスポンスとには、共通するユニークなメッセージID(ID1〜ID5)が付与されるため、図示するようにプリント仲介サーバ13から返信されるHTTPレスポンスの順序がHTTPリクエストの送信された順序と異なる場合であっても、HTTPリクエストとHTTPレスポンスとの対応を適切に照合することができる。
【0047】
F.変形例:
実施例では、エージェントは、メッセージIDをMACアドレスと時刻とに基づき生成するものとした。従って、生成するメッセージIDは、全て重複することなく唯一無比のものとなる。しかし、エージェント15は、少なくともレスポンスが返信されていないリクエストと、新たに生成するリクエストとを判別できればよい。そのため、既にレスポンスが返信されたリクエストに対して付与したメッセージIDと重複するメッセージIDを新たに生成するリクエストに付与しても差し支えない。
【0048】
図8は、重複したメッセージIDを利用した場合の通信例を示す説明図である。図示するように、エージェント15は、ID1〜ID4を付与したリクエストを送信した後、プリント仲介サーバ13からID1およびID2の付与されたレスポンスを受信している。従って、エージェントは、ID1またはID2のメッセージIDを再利用してリクエストに付与しても、他のリクエストと判別を行うことができる。図の場合では、ID1を再利用した場合を示している。このように、メッセージIDを重複して利用するものとすれば、例えば、メッセージIDを限られた数しか用いることのできないシステム等に特に有効である。
【0049】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてソフトウェアで実現した機能を、ハードウェア的に実現するものとしてもよい。また、印刷システム10以外のシステムにおけるサーバ/クライアント間の通信に用いてもよい。また、実施例では通信制御モジュールが一元的にメッセージIDを生成するものとしたが、各モジュールが生成するものとしてもよい。また、メッセージIDをHTTPリクエスト/レスポンスのボディ部に記録するものとしたが、ヘッダ部に記録するものとしてもよい。
【図面の簡単な説明】
【図1】印刷システムの概略構成を示す説明図である。
【図2】エージェントの機能ブロック図である。
【図3】仮想メッセージの一例を示す表である。
【図4】HTTPリクエストとHTTPレスポンスの一例を示す説明図である。
【図5】プリント仲介サーバの機能ブロック図である。
【図6】エージェントとプリント仲介サーバとにおける通信処理のフローチャートである。
【図7】エージェントとプリント仲介サーバとの通信例を示す説明図である。
【図8】メッセージIDを再利用した場合の通信例を示す説明図である。
【符号の説明】
10…印刷システム
11…コンテンツサーバ
12…携帯情報端末
13…プリント仲介サーバ
14…クライアントPC
15…エージェント
20…通信制御モジュール
21…プリンタ設定モジュール
22…プリンタ管理モジュール
23…バージョン管理モジュール
24…印刷処理モジュール
25…エージェント管理モジュール
26…エージェントブラウザ
27…仮想メッセージキュー
28…リクエスト生成部
29…リクエスト送信部
30…リクエスト履歴保持部
31…レスポンス受信部
32…ID判定部
33…戻り値転送部
40…通信制御部
41…リクエスト受信部
42…レスポンス送信部
43…UI提供部
44…ユーザ管理部
45…ジョブ格納部
46…PDF変換部
47…主制御部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to communication between a client and a server computer (hereinafter also simply referred to as a server) .
[0002]
[Prior art]
Conventionally, when a client communicates with a Web server via a network, the client issues a next request after receiving a response corresponding to the already issued request. However, for the purpose of browsing a simple HTML document, the next request may be transmitted without waiting for a response from the server. For this purpose, there is no inconvenience to the user even if a request for acquiring the next document is issued without waiting for a response.
[0003]
[Problems to be solved by the invention]
However, in recent years, Web servers can provide clients with various services such as electronic commerce and mail distribution services. When receiving such a service, the client must strictly associate the transmitted request with the response from the server to the request. This is to prevent unexpected damage to the user. Therefore, the client cannot send the next request until there is a response from the server.
[0004]
The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a technique in which association with a response is appropriately performed even when requests are continuously transmitted.
[0005]
[Means for solving the problems and their functions and effects]
In order to solve the above-described problems, the present invention is configured as follows. That is,
A client that is connected via a network , acquires a print job from a server computer in which the print job is stored, using an HTTP protocol, and performs printing using a printer connected to the client;
To generate a request for print I follow the format of the HTTP protocol, at least the request generating unit response from the server computer to impart a first identifier for identifying the request for unfinished the body of the request When,
A request transmitter for transmitting the request to the server computer ;
A response receiving unit that receives from the server computer a response in which a second identifier is attached to a body part of a response that conforms to the format of the HTTP protocol;
An identifier determination unit that determines whether or not the response corresponds to the request based on the first identifier and the second identifier;
The gist is to provide.
[0006]
According to the client of the present invention, the correspondence between the request and the response can be collated based on the first identifier assigned to the request and the second identifier assigned to the response. For this reason, even if requests are continuously transmitted, it is possible to easily associate them with responses.
[0007]
The request generation unit may add an identifier that overlaps with an identifier assigned to a request for which a corresponding response has already been returned to a newly generated request. This is because if a response has already been returned, there is no need to distinguish between a request corresponding to the response and a newly generated request.
[0008]
The identifier determination unit may determine that the first identifier and the second identifier correspond to each other when the first identifier and the second identifier are the same. This is because the determination is facilitated. In addition, for example, it may be determined that the first identifier and the second identifier have a reciprocal relationship or the case where the sum of the two is 1 or 0.
[0009]
In addition, if the request generation unit generates the first identifier based on information unique to the client and information related to the generation order of the request data, the request generation unit may be an identifier generated by another client. A unique identifier without duplication can be given to the request. Information unique to the client can be, for example, a MAC address, an IP address, a manufacturing number, or the like assigned to the client. The information related to the generation order may be, for example, the date / time when the identifier is generated, the serial number of the generated identifier, or the like.
[0010]
The present invention is particularly effective when the predetermined protocol is HTTP (Hypertext Transport Protocol). This is because HTTP can easily cross a firewall, and for example, even when the client of the present invention is installed in a secure company, it is possible to easily access a server existing on the Internet.
[0011]
The present invention can be configured as such a client, and can also be configured as the following server computer. That is,
A server computer that transfers an accumulated print job using a HTTP protocol in response to a request from a client connected via a network,
A request with an identifier assigned to the body part of the request according to the format of the HTTP protocol, the request receiving unit receiving a request regarding printing from the client;
A response according to the request, including a response identifier corresponding to the identifier in a response body portion according to the format of the HTTP protocol, and generating a response,
A response transmitter for transmitting the response to the client;
Is a server computer.
[0012]
According to the server of the present invention, when a response corresponding to a request is generated, a reply identifier corresponding to the identifier given to the request is given to the response. Therefore, a client that receives such a response can appropriately associate the issued request with the received response. Note that it is preferable that the response generation unit assigns the same identifier as that assigned to the request to the response as a reply identifier. This is because the process can be simplified because it is not necessary to newly generate an identifier.
[0013]
The present invention can be configured in various modes in addition to the above-described modes as a client and a server. For example, a communication method in which a client communicates with a server on the network using a predetermined protocol, a communication method in which a server communicates with a client on the network using a predetermined protocol, and the client exists on the network A computer program for communicating with a server using a predetermined protocol, a computer program for a server to communicate with a client existing on a network using a predetermined protocol, a recording medium storing such a computer program, etc. It is an aspect.
[0014]
Here, the recording medium may be a computer readable medium such as a flexible disk, a CD-ROM, a DVD, a magneto-optical disk, an IC card, a ROM cartridge, a computer internal storage device (memory such as RAM or ROM), and an external storage device. Can be used.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in the following order based on examples.
A. Printing system:
B. Agent:
C. Print mediation server:
D. Communication processing:
E. effect:
F. Variations:
[0016]
A. Printing system:
FIG. 1 is an explanatory diagram showing a schematic configuration of a printing system according to the present embodiment. The
[0017]
Hereinafter, a rough flow of a printing procedure using this system will be described. First, the user displays desired content held by the
[0018]
On the map image MI displayed on the
[0019]
The user returns home from whereabouts and uses a program called an agent installed in the
[0020]
The agent and the
[0021]
B. Agent:
FIG. 2 is a functional block diagram of the agent. The
[0022]
FIG. 3 is a table showing an example of a virtual message. “RegPrinter” is a virtual message issued by the
[0023]
“DelPrinter” is also a message issued by the
[0024]
“GetJob” is a message issued by the
[0025]
“PrinterStatus” is also a message issued by the
[0026]
“JobStatus” is also a message issued by the
[0027]
“GetModule” is a message issued by the
[0028]
The
[0029]
The
[0030]
Next, a detailed configuration of the
[0031]
The message ID generated in this way is, for example, as follows.
"Aabbccddeeff200204416110114"
Of these, “aabbccddeeff” represents the MAC address, “20020416” represents the date, and “110114” represents the time.
[0032]
FIG. 4A shows an example of the HTTP request generated in this way. In this figure, the message ID is simplified and indicated as “ABC”. The HTTP request includes a header part and a body part, and various commands defined in the HTTP standard are described in the header part. On the other hand, a virtual message and a message ID are recorded in the body part. In the case of the figure, it indicates that “PrinterStatus” is recorded as a virtual message. In the figure, “ready” is an argument for this virtual message and indicates that the printer is in a printable state.
[0033]
The
[0034]
The
[0035]
The
[0036]
C. Print mediation server:
FIG. 5 is a functional block diagram of the
[0037]
The
[0038]
The
[0039]
The user management unit 44 manages user login IDs, passwords, printers to be used, and the like. When there is a printer registration / cancellation request from the
[0040]
The
[0041]
The
[0042]
Note that the
[0043]
D. Communication processing:
FIG. 6 is a flowchart of communication processing between the
[0044]
When the
[0045]
When the
[0046]
E. effect:
FIG. 7 is an explanatory diagram illustrating an example of communication between the
[0047]
F. Variations:
In the embodiment, the agent generates the message ID based on the MAC address and time. Therefore, the message IDs to be generated are all unique without overlapping. However, the
[0048]
FIG. 8 is an explanatory diagram showing an example of communication when duplicate message IDs are used. As shown in the figure, the
[0049]
As mentioned above, although the various Example of this invention was described, it cannot be overemphasized that this invention is not limited to these Examples, and can take a various structure in the range which does not deviate from the meaning. For example, the functions realized by software in the embodiments may be realized by hardware. Further, it may be used for communication between a server and a client in a system other than the
[Brief description of the drawings]
FIG. 1 is an explanatory diagram illustrating a schematic configuration of a printing system.
FIG. 2 is a functional block diagram of an agent.
FIG. 3 is a table showing an example of a virtual message.
FIG. 4 is an explanatory diagram illustrating an example of an HTTP request and an HTTP response.
FIG. 5 is a functional block diagram of a print mediation server.
FIG. 6 is a flowchart of communication processing between an agent and a print mediation server.
FIG. 7 is an explanatory diagram illustrating an example of communication between an agent and a print mediation server.
FIG. 8 is an explanatory diagram illustrating an example of communication when a message ID is reused.
[Explanation of symbols]
DESCRIPTION OF
DESCRIPTION OF
Claims (9)
前記HTTPプロトコルの書式に従って印刷に関するリクエストを生成するとともに、少なくとも前記サーバコンピュータからのレスポンスが未了のリクエストを識別するための第1の識別子を前記リクエストのボディ部に付与するリクエスト生成部と、
前記リクエストを前記サーバコンピュータに送信するリクエスト送信部と、
前記HTTPプロトコルの書式に従うレスポンスのボディ部に第2の識別子が付与されたレスポンスを前記サーバコンピュータから受信するレスポンス受信部と、
前記第1の識別子と前記第2の識別子とに基づいて、前記レスポンスが前記リクエストに対応しているか否かを判定する識別子判定部と、
を備えるクライアント。A client that is connected via a network , acquires a print job from a server computer in which the print job is stored, using an HTTP protocol, and performs printing using a printer connected to the client;
To generate a request for print I follow the format of the HTTP protocol, at least the request generating unit response from the server computer to impart a first identifier for identifying the request for unfinished the body of the request When,
A request transmitter for transmitting the request to the server computer ;
A response receiving unit that receives from the server computer a response in which a second identifier is attached to a body part of a response that conforms to the format of the HTTP protocol;
An identifier determination unit that determines whether or not the response corresponds to the request based on the first identifier and the second identifier;
With client.
前記識別子判定部は、前記第1の識別子と前記第2の識別子とが同一である場合に前記第1の識別子と前記第2の識別子とが対応していると判定するクライアント。The client of claim 1,
The identifier determining unit determines that the first identifier and the second identifier correspond to each other when the first identifier and the second identifier are the same.
前記リクエスト生成部は、前記クライアントに固有の情報と、前記リクエストの生成順序に関連した情報とに基づき前記第1の識別子を生成するクライアント。The client of claim 1,
The request generation unit is a client that generates the first identifier based on information unique to the client and information related to a generation order of the requests.
前記HTTPプロトコルの書式に従うリクエストのボディ部に識別子が付与されたリクエストであって、印刷に関するリクエストを、前記クライアントから受信するリクエスト受信部と、
前記リクエストに応じたレスポンスであって、前記HTTPプロトコルの書式に従うレスポンスのボディ部に前記識別子に対応した返信用識別子を含めて、当該レスポンスを生成するレスポンス生成部と、
前記クライアントに前記レスポンスを送信するレスポンス送信部と、
を備えるサーバコンピュータ。 A server computer that transfers an accumulated print job using a HTTP protocol in response to a request from a client connected via a network,
A request with an identifier assigned to the body part of the request according to the format of the HTTP protocol, the request receiving unit receiving a request regarding printing from the client;
A response according to the request, including a response identifier corresponding to the identifier in a response body portion according to the format of the HTTP protocol, and generating a response,
A response transmitter for transmitting the response to the client;
A server computer comprising:
(a) 前記HTTPプロトコルの書式に従って印刷に関するリクエストを生成するとともに、少なくとも前記サーバコンピュータからのレスポンスが未了のリクエストを識別するための第1の識別子を前記リクエストのボディ部に付与する工程と、
(b) 前記リクエストを前記サーバコンピュータに送信する工程と、
(c) 前記HTTPプロトコルの書式に従うレスポンスのボディ部に第2の識別子が付与されたレスポンスを前記サーバコンピュータから受信する工程と、
(d) 前記第1の識別子と前記第2の識別子とに基づいて、前記レスポンスが前記リクエストに対応しているか否かを判定する工程と、
を含む通信方法。A communication method for acquiring a print job using a HTTP protocol from a server computer connected via a network and storing the print job, and for a client performing printing using a printer connected to the server computer to communicate with the server computer Because
(A) to generate a request for print I follow the format of the HTTP protocol, a response from at least the server computer to impart a first identifier for identifying the request for unfinished the body of the request Process,
(B) transmitting the request to the server computer;
(C) receiving from the server computer a response in which a second identifier is assigned to a body part of the response according to the format of the HTTP protocol;
(D) determining whether the response corresponds to the request based on the first identifier and the second identifier;
Including a communication method.
(a) 前記HTTPプロトコルの書式に従うリクエストのボディ部に識別子が付与されたリクエストであって、印刷に関するリクエストを、前記クライアントから受信する工程と、
(b) 前記リクエストに応じたレスポンスであって、前記HTTPプロトコルの書式に従うレスポンスのボディ部に前記識別子に対応した返信用識別子を含めて、当該レスポンスを生成する工程と、
(c) 前記クライアントに前記レスポンスを送信する工程と、
を含む通信方法。A communication method in which a server computer that transfers an accumulated print job using a HTTP protocol in response to a request from a client connected via a network communicates with the client .
(A) a request in which an identifier is given to a body part of a request according to the format of the HTTP protocol, and a request regarding printing is received from the client;
(B) a response corresponding to the request, including a reply identifier corresponding to the identifier in a body part of the response according to the format of the HTTP protocol, and generating the response;
(C) sending the response to the client;
Including a communication method.
前記HTTPプロトコルの書式に従って印刷に関するリクエストを生成するとともに、少なくとも前記サーバコンピュータからのレスポンスが未了のリクエストを識別するための第1の識別子を前記リクエストのボディ部に付与する機能と、
前記リクエストを前記サーバコンピュータに送信する機能と、
前記HTTPプロトコルの書式に従うレスポンスのボディ部に第2の識別子が付与されたレスポンスを前記サーバコンピュータから受信する機能と、
前記第1の識別子と前記第2の識別子とに基づいて、前記レスポンスが前記リクエストに対応しているか否かを判定する機能と、
をコンピュータに実現させるためのコンピュータプログラム。A client connected via a network , obtains a print job using a HTTP protocol from a server computer in which the print job is stored, and a client that performs printing using a printer connected to the server computer communicates with the server computer A computer program,
To generate a request for print I follow the format of the HTTP protocol, a function of imparting a first identifier for a response from at least the server computer to identify a request for unfinished body portion of the request,
A function of transmitting the request to the server computer;
A function of receiving from the server computer a response in which a second identifier is assigned to the body part of the response according to the HTTP protocol format;
A function for determining whether or not the response corresponds to the request based on the first identifier and the second identifier;
A computer program for realizing a computer.
前記HTTPプロトコルの書式に従うリクエストのボディ部に識別子が付与されたリクエストであって、印刷に関するリクエストを、前記クライアントから受信する機能と、
前記リクエストに応じたレスポンスであって、前記HTTPプロトコルの書式に従うレスポンスのボディ部に前記識別子に対応した返信用識別子を含めて、当該レスポンスを生成する機能と、
前記クライアントに前記レスポンスを送信する機能と、
をコンピュータに実現させるためのコンピュータプログラム。A computer program for communicating with a client by a server computer that transfers an accumulated print job using a HTTP protocol in response to a request from a client connected via a network,
A function in which an identifier is given to a body part of a request according to the format of the HTTP protocol, and a request for printing is received from the client;
A response corresponding to the request, including a reply identifier corresponding to the identifier in a response body part according to the format of the HTTP protocol, and generating the response;
A function of transmitting the response to the client;
A computer program for realizing a computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002155159A JP4231241B2 (en) | 2002-05-29 | 2002-05-29 | Network communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002155159A JP4231241B2 (en) | 2002-05-29 | 2002-05-29 | Network communication |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003345743A JP2003345743A (en) | 2003-12-05 |
JP2003345743A5 JP2003345743A5 (en) | 2005-03-03 |
JP4231241B2 true JP4231241B2 (en) | 2009-02-25 |
Family
ID=29771742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002155159A Expired - Fee Related JP4231241B2 (en) | 2002-05-29 | 2002-05-29 | Network communication |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4231241B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917443A (en) * | 2005-08-19 | 2007-02-21 | 华为技术有限公司 | Process method for realizing interaction between control message and response message |
JP4760233B2 (en) * | 2005-08-31 | 2011-08-31 | ソニー株式会社 | Group registration device, group registration method, group registration release device, and group registration release method |
JP4760232B2 (en) * | 2005-08-31 | 2011-08-31 | ソニー株式会社 | Time setting device and time setting method |
JP4760234B2 (en) * | 2005-08-31 | 2011-08-31 | ソニー株式会社 | License acquisition apparatus and license acquisition method |
KR20080038175A (en) * | 2005-08-31 | 2008-05-02 | 소니 가부시끼 가이샤 | Group registration device, group registration release device, group registration method, license acquisition device, license acquisition method, time setting device, and time setting method |
JP6680060B2 (en) * | 2016-04-18 | 2020-04-15 | セイコーエプソン株式会社 | Print control device and print control program |
-
2002
- 2002-05-29 JP JP2002155159A patent/JP4231241B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003345743A (en) | 2003-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200412911A1 (en) | Data processing system, data processing apparatus, and data processing method for transferring image data to an output destination | |
US9354828B2 (en) | Print system, print server, control method thereof, and program | |
US7562217B2 (en) | Web service provider and authentication service provider | |
US9065939B2 (en) | Printing management system using correspondence between user identification information of an information system and user identification information of a printing system | |
JP5703791B2 (en) | Printing system and printer | |
JP4045798B2 (en) | Printing system | |
US20100134818A1 (en) | Data processing apparatus, printer network system, data processing method, and computer-readable recording medium thereof | |
US8988706B2 (en) | Printer data collection cable | |
JP2008071154A (en) | Program and layout plan forming device | |
US7970866B2 (en) | Print system including application server to select printer driver for client specific print information | |
US20150022847A1 (en) | Information processing system, method of processing information, program, and recording medium | |
US20150009539A1 (en) | Information processing method, information processing apparatus and program | |
JP2005278144A (en) | Communication device, service providing method, service providing program, and storage medium | |
KR100547117B1 (en) | Method and apparatus for remote control a network electron device | |
JP4231241B2 (en) | Network communication | |
JP4045800B2 (en) | Printing system and method | |
JP7052497B2 (en) | Information processing systems, information processing equipment, information processing methods, and programs | |
JP4001047B2 (en) | Relay device | |
US20080174804A1 (en) | Method and System for Transmitting Print Information Between A Client and A Server Over A Wide Area Network | |
JP5884884B2 (en) | Data processing apparatus, printing system, data processing method, program, and recording medium | |
JP5935384B2 (en) | Printing apparatus management apparatus, printing apparatus management system, and program | |
US11836404B2 (en) | Print management system and method for managing settings for a print apparatus and registers the print apparatus associated with an account and further transmits first setting information to the print apparatus if the print apparatus is registered | |
JP6477929B2 (en) | Information processing system, information processing apparatus, information processing method, and program | |
JP4137141B2 (en) | Trail management device | |
JP2003054084A (en) | Network apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040330 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20040330 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20040421 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040810 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041006 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041109 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081205 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4231241 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131212 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |