JP2008225718A - Httpサーバ及びプログラム - Google Patents

Httpサーバ及びプログラム Download PDF

Info

Publication number
JP2008225718A
JP2008225718A JP2007061340A JP2007061340A JP2008225718A JP 2008225718 A JP2008225718 A JP 2008225718A JP 2007061340 A JP2007061340 A JP 2007061340A JP 2007061340 A JP2007061340 A JP 2007061340A JP 2008225718 A JP2008225718 A JP 2008225718A
Authority
JP
Japan
Prior art keywords
job
client
connection
monitoring target
server
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.)
Granted
Application number
JP2007061340A
Other languages
English (en)
Other versions
JP4693803B2 (ja
Inventor
Toshihiko Tanaka
稔彦 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2007061340A priority Critical patent/JP4693803B2/ja
Priority to US12/009,770 priority patent/US8243307B2/en
Publication of JP2008225718A publication Critical patent/JP2008225718A/ja
Application granted granted Critical
Publication of JP4693803B2 publication Critical patent/JP4693803B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】少ない処理負担、通信負担で監視対象の状態を逐次クライアントに通知することのできるHTTPサーバ及びそのプログラムを提供する。
【解決手段】監視対象に関する報告を要求するHTTPリクエストをクライアントから受信し、該HTTPリクエストに対する応答として、監視対象に変化が生じる毎に、その報告をチャンク形式転送コーディングのチャンクにしてクライアントに返信する。
【選択図】図2

Description

本発明は、チャンク形式転送コーディングに対応したHTTPサーバ及びそのプログラムに関する。
HTTP(Hypertext Transfer Protocol)リクエストに対する応答の1つとしてチャンク形式転送コーディング(Chunked Transfer Coding)による応答があり、Hypertext Transfer Protocol -- HTTP/1.1のRFC(Request for Comments)2616にその詳細が規定されている。チャンク形式転送コーディングは、HTTPリクエストに対する応答として、データをいくつかの塊(チャンク)に分割して返信する転送方式である。
たとえば、JPEG2000に準拠したコードストリームのタイルパーツをチャンクにして転送する技術が提案されている(特許文献1参照。)。
特開2004−208266号公報
従来、ネットワーク上のプリンタにおけるジョブの進捗状況などをサーバに問い合わせる場合、クライアントからサーバに接続してプリンタやジョブに関する状況報告の要求を送信し、この要求に対してサーバはクライアントへ1回の状況報告を返信した後、切断するという動作で通信が行われていた。このため、クライアント側でプリンタの状況を継続的に把握しようとすると、上記した接続、要求の送信、報告の返信、切断という一連の動作を繰り返し行う必要があった。この方法では、通信のオーバーヘッドが大きい、サーバおよびクライアントの処理負担が共に増加する、状況報告の要求を送信する周期の長さに依存してプリンタ側の実際の状態とクライアント側で把握しているプリンタの状態との間にずれが生じて整合しない、といった問題があった。
たとえば、図10では、クライアントからサーバ機能を備えたプリンタコントローラへ接続してジョブリストの通知を要求(Req)し、その要求に対する応答(Res)としてジョブリストが1回返信された後、切断するという一連の動作からなる通信セットHが一定周期で繰り返し行われることにより、クライアント側のジョブリストが更新されている。
この例では、通信セットH2、H6は、前回の通信セットH1、H5を実施した後、プリンタコントローラ側のジョブ状態に変化がないうちに行われており、クライアントに新たな情報の通知されない無駄な通信になっている。
さらに、通信セットH2での応答(Res)を時刻T1にプリンタコントローラからクライアントへ送信後、通信セットH3での応答(Res)の送信が時刻T4に行われるまでの間にプリンタコントローラではID3のジョブが時刻T2に新規投入されその1ページ目の印刷が時刻T3に完了している。このため、ID3のジョブが投入されたときの情報はクライアント側に表示されずスキップされている。
またプリンタコントローラ側でジョブ状態が変化した時点(T2、T3、T5、T7、T9)に対して、これらの変化がクライアント側のジョブリストに反映される時点(T4、T6、T8、T10、)は時間的に遅れており、その遅れの間はプリンタコントローラ側とクライアント側とでジョブリストの状態に食い違いが生じて整合していない。
なお、通信のオーバーヘッドが大きい、サーバおよびクライアントの処理負担が共に増加する、サーバ側での状態とクライアント側で把握される状態とにずれが生じる、といった問題は、上記したプリンタの状態を監視する場合に限らず、如何なる監視対象に対しても発生し得る。
本発明は、上記の問題点に鑑みてなされたものであり、少ない処理負担、通信負担で監視対象の状態を、整合性を保ってクライアントへ通知することができるHTTPサーバ及びそのプログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
[1] クライアントと通信を行う通信部と、
前記通信部を介して前記クライアントから受信した監視対象に関する報告を要求するHTTPリクエストに対する応答として、前記監視対象に変化が生じた場合に前記報告をチャンク形式転送コーディングのチャンクにして前記通信部を介して前記クライアントに返信する制御部と、
を備えたことを特徴とするHTTPサーバ。
上記[1]および下記[5]に記載の発明では、監視対象に変化が生じる毎に、該監視対象に関する報告がチャンク形式のデータにしてサーバからクライアントへ送信される。すなわち、監視対象に関する報告を要求するHTTPリクエストを受けたときサーバ・クライアント間が接続され、その後は該接続が維持される。そして監視対象に変化が生じたタイミングでこの監視対象に関する報告がサーバからクライアントへチャンク形式のデータで逐次送信される。このように、1つのチャンクに1つの意味を持たせている。
[2]前記報告を、既に報告した前記監視対象の状態との差分を示す情報により行う
ことを特徴とする[1]に記載のHTTPサーバ。
上記[2]および下記[6]に記載の発明では、監視対象に変化が生じたとき、前回の報告との差分、すなわち、変化の内容が報告としてチャンク形式のデータで送信される。送信データ量が減り、サーバ、クライアント、ネットワークそれぞれの負担が減少する。
[3]前記チャンクにより送信するデータにユニークなヘッダおよびフッタを付加する
ことを特徴とする[1]に記載のHTTPサーバ。
上記[3]および下記[7]に記載の発明では、サーバから受けた報告の表示にクライアント側でWebブラウザおよびAjaxを使用する場合に、ユニークなヘッダ/フッタをキーとしてチャンク形式のデータをチャンク毎に後で分割することができる。
[4]前記監視対象に関する変化は印刷装置の状態変化もしくは印刷装置におけるジョブの状態の変化である
ことを特徴とする[1]に記載のHTTPサーバ。
上記[4]および下記[8]に記載の発明では、印刷装置でのエラー発生やジョブの投入、削除、進行状況などがクライアントへ報告される。
[5]サーバを、監視対象に関する報告を要求するHTTPリクエストをクライアントから受信し、このHTTPリクエストに対する応答として、前記監視対象に変化が生じた場合に前記報告をチャンク形式転送コーディングのチャンクにして前記クライアントに返信するHTTPサーバとして動作させる
ことを特徴とするプログラム。
[6]前記報告を、前回報告した前記監視対象の状態との差分を示す情報により行うように前記サーバを動作させる
ことを特徴とする[5]に記載のプログラム。
[7]前記サーバを、前記チャンクにより送信するデータにユニークなヘッダおよびフッタを付加するように動作させる
ことを特徴とする[5]に記載のプログラム。
[8]前記監視対象が、印刷装置の状態もしくは印刷装置におけるジョブの状態である
ことを特徴とする[5]に記載のプログラム。
本発明に係るHTTPサーバ及びプログラムによれば、少ない処理負担、通信負担で監視対象の状態を、整合性を保ってクライアントへ通知することができる。
以下、図面に基づき本発明の実施の形態を説明する。
図1は、本発明の一実施形態に係るサーバ・クライアントシステム5のハードウェアの概略構成を示すブロック図である。このサーバ・クライアントシステム5は、HTTPサーバとしての機能を有するプリンタコントローラ10と、このプリンタコントローラ10にアクセスするクライアント30とがネットワーク2に接続されて構成される。又、プリンタコントローラ10は、プリンタ20にローカル接続されている。
プリンタコントローラ10は、通信機能を有するパーソナルコンピュータ(PC)で構成される。詳しくは、プリンタコントローラ10は、全体制御を司るCPU(Central Processing Unit)、各種データが一時的に格納されるRAM(Random Access Memory)、各種プログラムが格納されたROM(Read Only Memory)、ネットワーク2を介してクライアント30と通信を行うNIC(Network Interface Card)、及びUSB(Universal Serial Bus)ケーブルを介してプリンタ20と通信を行うUSBカードを備え、これらがバスを介して互いに接続されている。
プリンタは、全体制御を司るCPU、各種データが一時的に格納されるRAM、各種プログラムが格納されたROM、印刷データ中の画像データに階調補正、スクリーニング等の画像処理を施す画像処理回路、及びUSBケーブルを介してプリンタコントローラ10と通信を行うUSBカードを備え、これらがバスを介して互いに接続されている。
又、クライアント30は、通信機能を有するPCで構成され、ビデオコントローラを介してディスプレイに接続されている以外はプリンタコントローラ10と同様の構成を有するため、ここでの重複説明は省略する。
図2は、サーバ・クライアントシステム5の機能上の概略構成を示すブロック図である。プリンタコントローラ10はネットワーク2を通じてクライアント30から印刷ジョブの依頼を受信し、この依頼に従ってイメージデータを展開し、該イメージデータに対応する画像をプリンタ本体で印刷出力させる制御などを行う。また、プリンタコントローラ10は、監視対象としてのプリンタ本体やジョブの状態に関する報告を要求するHTTPリクエストをクライアント30から受信し、該HTTPリクエストに対する応答として、監視対象に変化が生じた場合にその報告をチャンク形式転送コーディングのチャンク(チャンク形式のデータ)にしてクライアントに返信する機能を備えている。
なお、プリンタコントローラ10はROMに格納されたプリンタコントローラプログラム11をCPUが実行することによって上記の機能を実現する。
一方、クライアント30は、クライアントアプリケーション31と称されるプログラムを実行する。クライアントアプリケーション31を実行することで、プリンタコントローラ10に対して印刷ジョブの実行を依頼する機能(プリンタドライバの機能)、依頼したジョブの一覧やジョブの状態をプリンタコントローラ10から取得して表示する機能などが実現される。
プリンタコントローラプログラム11は内部モジュールとして、一般的なプリンタコントローラが持つようなジョブキューの管理を行うジョブ制御部12と、クライアントアプリケーション31からの接続を受け付ける受付スレッド13と、クライアントアプリケーション31に送信するデータをバッファする送信データキュー14と、依頼されたジョブを実行するジョブ処理部15と、クライアントアプリケーション31と接続してデータの送信を行う接続スレッド16とを有する。クライアント30は複数台存在し、それぞれに専用で用意される接続スレッド16と接続される。
受付スレッド13は、プリンタコントローラプログラム11の初期化時に生成され、プリンタコントローラプログラム11の終了時に削除される。受付スレッド13はクライアント30からのHTTPリクエストを受け付ける。クライアント30からのHTTPリクエストには接続要求とコマンドの2種類がある。接続要求はチャンク形式転送の開始を要求し、コマンドは主にジョブの操作(ジョブの新規投入や削除、優先順位変更、キャンセルなど)に利用される。接続要求は、クライアント30が監視対象としてのプリンタやジョブの状態に関する報告をプリンタコントローラ10に対して要求するものであり、クライアント30から接続要求を受けたとき、受付スレッド13はそのクライアント30へチャンク形式で応答を送信するための接続スレッド16を生成する。
クライアントアプリケーション31は、受付スレッド13とクライアントアプリケーション31との間の接続P1を通じて、接続要求やジョブ操作コマンドを受付スレッド13へ投入する。受付スレッド13はジョブ操作コマンドに関するAck/Nackを接続P1にてクライアント30へ返答する。
なお、HTTPリクエストが接続要求かコマンドかの判別はRequest-URIで判別される。すなわち、要求先のリソースが異なることで判別される。たとえば、ジョブ詳細情報取得コマンドのHTTPリクエストヘッダの先頭2行は以下のようになる。
GET /KM/MFP/100/JobInfo HTTP/1.1
Host: gentleman.msk.minolta.co.jp:1123
接続要求のHTTPリクエストヘッダの先頭2行は以下のようになる。
GET /KM/QueueInfo HTTP/1.1
Host: gentleman.msk.minolta.co.jp:1123
ジョブ制御部12は、クライアントアプリケーション31から依頼されたジョブの情報をジョブの実行順位と関連付けて保存するジョブキューを管理している。ジョブキューの内容に変化が生じた場合は、接続要求に対する応答として速やかにクライアントにその変化内容(監視対象に関する報告)を通知するようになっている。ジョブ制御部12は、受付スレッド13がクライアントアプリケーション31から受信したジョブ操作コマンドを受付スレッド13から接続P2を介して受け取る。また、ジョブ処理部15との間の接続P3を通じて、次に実行すべきジョブをジョブ処理部15へ通知したり、ジョブに対する操作(実行中のジョブのキャンセルや一時停止など)をジョブ処理部15へ通知したりする。
ジョブ処理部15は、ジョブ制御部12から通知されたジョブ操作に応じてジョブを実行する。具体的には、印刷データをラスタ・イメージに展開する動作(以下、RIP(Raster Image Processor)とも呼ぶ)や、実行中のジョブの中止あるいは一時停止などを行う。ジョブ処理部15は接続P3を通じてジョブ制御部12へジョブの進捗状況を通知する。たとえば、ラスタ・イメージ展開(RIP)がどこまで進んだか、印刷が何枚目まで進んだか、エラーが起きたかなどの情報をジョブ制御部12へ通知する。
また、ジョブ制御部12は、クライアント30に返すべきデータを、接続P4を通じて送信データキュー14に投入する。ここでは、接続要求に対する応答としてクライアント30にチャンク形式転送によって送信すべきデータが投入される。
接続スレッド16は、受付スレッド13が接続要求を受けた場合に受付スレッド13によって生成され、その接続要求の送信元のクライアント30と1:1での接続を行う。接続スレッド16は送信データキュー14にデータがあるか否かを確認し、ある場合は、接続P5を通じて送信データキュー14からデータを取り出し、このデータをチャンク形式転送コーディングの1つのチャンクにしてクライアント30へ接続P6を通じて送信する機能を果たす。
次に、各モジュールの動作を説明する。
図3は、受付スレッド13の動作を示すフローチャートである。受け付けスレッド13は起動後、クライアント30からHTTPリクエストが送られてくるか否かを監視する(ステップS101)。クライアント30から要求(HTTPリクエスト)がある場合(ステップS101;Yes)は、その要求が接続要求か、コマンドであるかを判別し(ステップS102)、接続要求であれば接続スレッド16を起動する(ステップS103)。一方、コマンドであれば(ステップS102;No)、そのコマンドをジョブ制御部12に通知する(ステップS104)。
ループ末で自身に対する終了要求があれば(ステップS105;Yes)自身の作業を終了する(End)。終了要求がない場合は(ステップS105;No)、ステップS101へ戻り、以降同様の処理を行う。なお、終了要求は、プリンタコントローラプログラム11自体への終了を促すコマンドである。
図4は、接続スレッド16の動作を示すフローチャートである。接続スレッド16は受付スレッド13により起動され、指定されたクライアント30と1対1の通信を行う。接続スレッド16は起動されると、その時点での全ジョブリストをジョブ制御部12から受け取り、これを対象のクライアント30に送信する(ステップS201)。ジョブリストとは、プリンタコントローラプログラム11が持つジョブに関する情報の一覧である。
その後、接続スレッド16はクライアント30との接続を監視し、クライアント30側から接続を切断された場合は(ステップS202;No)、自身を終了させる(End)。クライアント30との接続があるときは(ステップS202;Yes)、送信データキュー14にデータがあるかどうか確認し(ステップS203)、ある場合は(ステップS203;Yes)、送信データキュー14からそのデータを取り出してクライアント30に送信する(ステップS204)。
ループ末で自身に対する終了要求があれば(ステップS205;Yes)自身の作業を終了する(End)。終了要求がない場合は(ステップS205;No)、ステップS202へ戻り、以降同様の処理を行う。
なお、ジョブリストは、ジョブ制御部12が管理しているジョブキューに格納されているジョブ情報に基づいて作成される。ジョブキューには、内部コードでジョブ情報が格納されており、ジョブリストはジョブキュー内のジョブ情報を以下に示すような文字列によるXML(eXtensible Markup Language)文書に変換したものである。
以下に例示するジョブリストには、完了したジョブが2つ登録されている。
<JobList>
<Job>
<Queueid>Done</Queueid>
<Jobid>1</Jobid>
<Jobname>hoge</Jobname>
<Jobowner>vpprotarou</Jobowner>
<Jobkind>Print</Jobkind>
<Numofcopy>1</Numofcopy>
<Jobreceivedtime>2006/07/05/16/05</Jobreceivedtime>
<Ripstatus>Done</Ripstatus>
<Rippedpages>10</Rippedpages>
<Ripendtime>2006/07/05/16/05</Ripendtime>
<Transferstatus>Done</Transferstatus>
<Transferredpages>0</Transferredpages>
<Transferendtime>2006/07/05/16/05</Transferendtime>
<Printstatus>Done</Printstatus>
<PrintedPages>0</PrintedPages>
<Printendtime>2006/07/05/16/05</Printendtime>
<Ripdata>Yes</Ripdata>
</Job>
<Job>
<Queueid>Done</Queueid>
<Jobid>2</Jobid>
<Jobname>hoge</Jobname>
<Jobowner>vpprotarou</Jobowner>
<Jobkind>Print</Jobkind>
<Numofcopy>1</Numofcopy>
<Jobreceivedtime>2006/07/05/16/05</Jobreceivedtime>
<Ripstatus>Done</Ripstatus>
<Rippedpages>10</Rippedpages>
<Ripendtime>2006/07/05/16/05</Ripendtime>
<Transferstatus>Done</Transferstatus>
<Transferredpages>0</Transferredpages>
<Transferendtime>2006/07/05/16/05</Transferendtime>
<Printstatus>Done</Printstatus>
<PrintedPages>0</PrintedPages>
<Printendtime>2006/07/05/16/05</Printendtime>
<Ripdata>Yes</Ripdata>
</Job>
</JobList>
図5は、ジョブ制御部12の動作を示すフローチャートである。ジョブ制御部12は初期化で受付スレッド13を生成する(ステップS301)。ジョブ制御部12は受付スレッド13からのコマンドの有無を確認し(ステップS302)、コマンドがある場合(ステップS302;Yes)、そのコマンドを実行する(ステップS303)。実行したコマンドがジョブキューに影響を及ぼすものかどうかを確認し(ステップS304)、ジョブキューに影響を及ぼす場合は(ステップS304;Yes)、その変化情報を送信データキュー14に投入する(ステップS305)。ジョブキューに影響を及ぼすコマンドは、たとえば、ジョブの投入、ジョブの削除、ジョブの一時停止などを指示するコマンドである。
また、ジョブ制御部12はジョブ処理部15からの通知の有無を確認し(ステップS306)、通知がある場合は(ステップS306;Yes)、その通知内容がジョブキューに影響を及ぼすものかどうかを確認し(ステップS307)、ジョブキューに影響を及ぼす場合は(ステップS307;Yes)、その変化情報を送信データキュー14に投入する(ステップS308)。ジョブキューに影響を及ぼす通知は、たとえば、RIPがどこまで進んだか、印刷が何枚目まで進んだか、エラーが起きたかなどの通知である。
ループ末で自身に対する終了要求があれば(ステップS309;Yes)自身の作業を終了する(End)。終了要求がない場合は(ステップS309;No)、ステップS302へ戻り、以降同様の処理を行う。
上記ステップS305、S308において送信データキュー14に投入されるデータは、変化情報、すなわち、変化前のジョブキューの内容と変化後のジョブキューの内容との差分データをジョブリストの形式で表したものである。
たとえば、図5のステップS305で実行されるコマンドが新規ジョブ投入であれば、ジョブリストにジョブを追加する意味の以下のデータが送信データキュー14に投入される。この例はID3のジョブがジョブキューに追加された場合を示している。
<AddJob>
<Job>
<Queueid>Wait</Queueid>
<Jobid>3</Jobid>
<Jobname>hoge</Jobname>
<Jobowner>vpprotarou</Jobowner>
<Jobkind>Print</Jobkind>
<Numofcopy>1</Numofcopy>
<Jobreceivedtime>2006/07/05/16/05</Jobreceivedtime>
<Ripstatus>Wait</Ripstatus>
<Rippedpages>0</Rippedpages>
<Ripendtime/>
<Transferstatus/>
<Transferredpages/>
<Transferendtime/>
<Printstatus>Wait</Printstatus>
<PrintedPages>0</PrintedPages>
<Printendtime/>
<Ripdata>No</Ripdata>
</Job>
</AddJob>
また、図5のステップS306でジョブ処理部15から受けた通知が、RIPが1枚進んだ旨であれば、RIP枚数が変化したことを示す以下のデータが送信データキュー14に投入される。この例はジョブID3のジョブのRIP済ページがページ「1」に進んだことを示している。
<JobEdit>
<Queueid>Wait</Queueid>
<Jobid>3</Jobid>
<Ripstatus>Processing</Ripstatus>
<Rippedpages>1</Rippedpages>
</JobEdit>
このように差分データのみを送信データキュー14に投入することで、この差分データがクライアント30へ送信されるようになり、全ジョブリストを毎回クライアント30へ送信する場合に比べて、送信データ量が低減し、プリンタコントローラ10およびクライアント30の処理負荷およびネットワークのトラフィック負荷が軽減される。
なお、送信するデータはXML形式である必要はなく、CSV(Comma Separated Values)形式などバイナリデータであれば他のデータ形式であってもかまわない。
図6は、クライアントアプリケーション31の動作を示すフローチャートである。クライアントアプリケーション31はプリンタコントローラプログラム11に対して接続要求を行う(ステップS401)。該接続要求を送信した後、接続が成功したかどうかを確認し(ステップS402)、接続不成功の場合は(ステップS402;No)、本処理を終了する(End)。
接続成功の場合は(ステップS402;Yes)、接続スレッド16からのデータが送信されて来るのを待機し(ステップS403;No)、接続スレッド16からデータが送信されてきた場合は(ステップS403;Yes)、通知処理を行う(ステップS404)。通知処理では、接続スレッド16から送られて来たデータに従ってクライアント30の表示画面にジョブリストを表示したり、表示中のジョブリストの内容を更新したりする。
その後、クライアントアプリケーション31は接続スレッド16との接続状態を確認し(ステップS405)、接続が正常であれば(ステップS405;No)、ステップS403へ戻って、以後同様の処理を行う。接続が切断された場合はステップS405;Yes)本処理を終了する(End)。
次に、サーバ・クライアントシステム5全体における動作シーケンスを図7に基づいて説明する。図7に示す例は、1)プリンタコントローラ10とクライアントアプリケーション31を起動、2)プリンタコントローラ10とクライアントアプリケーション31を接続、3)クライアントアプリケーション31からジョブを投入する(F1)、4)そのジョブの完了後、ジョブを削除する(F2)、5)クライアントアプリケーション31を終了させる(F3)という動作の流れを示している。なお、図7においてHTTP通信に関する動作は太線の矢印で示す。そのうちチャンク形式転送コーディングによる通信はD1(HTTPリクエスト)C2、C3、C4、C5、C6、C7(HTTPレスポンス、チャンク形式)である。
以下、図7のシーケンスを詳細に説明する。
<1>プリンタコントローラ10の起動
プリンタコントローラプログラム11はジョブ制御部12を立ち上げ、ジョブ制御部12は受付スレッド13を立ち上げる(B1)。
<2>クライアント30の起動と接続実施
クライアントアプリケーション31はその本体31aが立ち上がるとクライアント接続スレッド32を立ち上げ(E1)、プリンタコントローラ10の受付スレッド13に対して接続要求を行う(D1)。
<3>接続スレッドの起動とチャンク形式データ送信の開始
プリンタコントローラ10の受付スレッド13は接続要求(D1)を受け、接続スレッド16を起動する(C1)。プリンタコントローラ10の接続スレッド16は起動後、ジョブ制御部12から送信データキュー14(図7では図示省略)を通じてジョブリストを受け取り(B2)、クライアント接続スレッド32に送信する(C2)。ここでは、接続要求に対する初回の応答なので全ジョブリストが送信される。クライアント接続スレッド32は、プリンタコントローラ10から受け取ったジョブリストを内部メモリに保持すると共に、このジョブリストを当該クライアント30の液晶ディスプレイなどのGUI(Graphical User Interface)に表示する(G1)。
<4>クライアントアプリケーション31からジョブを投入
接続完了後、ユーザの意思により、任意のタイミングでジョブが投入される(F1)。たとえば、クライアントアプリケーション31の図示省略したジョブ投入ボタンが押されてジョブが投入される。
クライアントアプリケーション本体31aは、プリンタコントローラ10の受付スレッド13に対して新規ジョブ投入コマンドを送信する(D2)。このジョブ投入コマンドを受けた受付スレッド13はジョブの投入成功/失敗を問わず、コマンドのレスポンスを返す(D3)。この例では、コマンド受け付け成功を示すレスポンスを返す。なお、ジョブ投入コマンドのパラメータに異常がある場合や、操作を許されていないユーザからのコマンドであれば失敗を意味するレスポンスが返信される。
クライアント接続スレッド32からジョブ投入コマンドを受けたプリンタコントローラ10の受付スレッド13はジョブ制御部12にジョブ投入コマンド(D2)を中継する(B3)。
ジョブ制御部12はジョブ投入コマンドを受けると、ジョブ処理部15を起動してそのジョブをジョブ処理部15に投入する(A1)。これによりジョブ処理部15はそのジョブに関する処理を開始する。
該処理を開始したジョブ処理部15は処理の進捗情報を逐次ジョブ制御部12に通知する(A2、A3、A4、A5)。図7の例では簡単のため、通知A2は1枚目のRIP完了を示し、通知A3は2枚目のRIP完了を示し、通知A4は3枚目のRIP完了を示し、通知A5はジョブ完了を示すものとする。
各通知(A2、A3、A4、A5)を受けたジョブ制御部12はその都度その通知を送信データキュー14に投入して受付スレッド13に中継する(B4、B5、B6、B7)。
各通知(B4、B5、B6、B7)を受けた接続スレッド16はその都度その通知をチャンク形式のデータ(chunked data)にしてクライアント接続スレッド32に送信する(C3、C4、C5、C6)。
クライアント接続スレッド32はチャンク形式のデータを逐次受信し、このデータの内容に従って内部メモリ内のジョブリストを更新し、GUIに更新後のジョブリストを表示する(G2、G3、G4、G5)。
<5>そのジョブの完了後、ジョブの削除を実施
ジョブ完了後、ユーザの意思により、任意のタイミングでジョブID:2のジョブの削除指示を受ける(F2)。たとえば、クライアントアプリケーション31の図示省略したジョブ削除ボタンがジョブID:2の指定状態下で押されることにより削除指示を受ける。
クライアントアプリケーション本体31aはジョブ削除コマンドをプリンタコントローラ10の受付スレッド13に送信する(D4)。これに対してプリンタコントローラ10の受付スレッド13はレスポンスを返す(D5)と共に、ジョブ削除コマンドをジョブ制御部12に中継する(B8)。
ジョブ削除コマンドを受けたジョブ制御部12は、該当のジョブの削除を行い、このジョブがジョブリストから削除された旨を送信データキュー14経由で接続スレッド16に通知する(B9)。
この通知(B9)を受けた接続スレッド16はジョブ削除の旨をチャンク形式のデータ(chunked data)にしてクライアント接続スレッド32に送信する(C7)。
これを受信したクライアント接続スレッド32は内部メモリに保持しているジョブリストから該当するジョブを削除し、削除後のジョブリストをGUIに表示して表示内容を更新する(G6)。
<6>クライアントアプリケーション31を終了させる(F3)
終了の方法には2つのパターンがある。
[パターン1]クライアントからの切断
ジョブ削除後、ユーザの意思により、任意のタイミングでクライアントアプリケーション31の図示省略した終了ボタンなどが押される(F3)。クライアントアプリケーション本体31aはユーザによる終了ボタンの押し下げ操作を受けると、クライアント接続スレッド32に終了を指示する(E2)。これを受けてクライアント接続スレッド32は、プリンタコントローラ10の接続スレッド16との接続を切断する(C8)。切断を感知したプリンタコントローラ10の接続スレッド16はこの切断を通信終了の合図と判断し、自身(接続スレッド16)を終了させる。
[パターン2]サーバからの切断
プリンタコントローラ10側で何らかの理由が発生して切断する場合などがパターン2に該当する。なお、パターン2は図7に表示していない。パターン2の切断では、RFCに規定されている通り、サイズ0のチャンク形式のデータをクライアント接続スレッド32に送信する。クライアント接続スレッド32はサイズ0のチャンク形式のデータを受け取ると、このチャンクを通信終了の合図と認識し、ユーザにサーバがサービス中でないことを通知するなどの終了処理を行う。
以上のように、本実施の形態のプリンタコントローラ10はジョブの状態をクライアントに通知する場合にチャンク形式転送コーディングを利用して接続状態を継続し続けるので、プリンタコントローラ10(サーバ)とクライアント30との間のジョブリストの整合性を最小限のデータ・機構・動作で保つことができる。また、本実施の形態のプリンタコントローラ10は、ジョブの状態をクライアントに通知する場合に接続状態を継続し続けるので、再接続する手間がなく、接続のためのオーバーヘッドが低減し、いち早くデータをクライアントに送信することができる。
また、プリンタコントローラ10でのジョブリストに変化が生じたタイミングでその変化内容をチャンク形式のデータでクライアント30へ通知するので、時間的遅れが少なく、プリンタコントローラ10側とクライアント30側のジョブリストの整合性が良好になる。さらに、変化の差分のみを送信するので通信データ量が低減するという効果を奏する。
図8は、クライアント30に表示されるジョブリスト画面40の一例を示している。ジョブリスト画面40には、ジョブ毎に、ジョブ状況、印刷済のページ、ジョブID、ジョブ名、ユーザ名、ジョブの受付時間の各ジョブ情報が横一列に対応付けられて一覧表示されている。接続要求に対する応答としてプリンタコントローラ10からチャンク形式のデータを受け取る毎に、そのデータの内容に従ってジョブリスト画面40の表示内容が更新される。
図9は、図10に示すものと同一のプリンタコントローラ側のジョブリストの遷移を、本実施の形態のサーバ・クライアントシステム5によってプリンタコントローラ10からクライアント30へ通知した場合の通信手順およびジョブリストの表示状態の遷移を示している。本実施の形態のプリンタコントローラ10ではジョブの状態が変化したときにその変化内容をチャンク形式のデータにして送信するので、図10に示すものに比べて通信が簡素であり、通信量が低減している。
また、プリンタコントローラ10側のジョブリストの内容が変化したとき、そのタイミングで該変化の内容をチャンク形式のデータにしてクライアント30へ通知するので、プリンタコントローラ10側でのジョブリストの変化がクライアント30側のジョブリストに極めて少ない時間遅れで反映され、両者の管理するジョブリストの内容がいち早く整合される。
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
たとえば、クライアント30側でWebブラウザを利用してジョブリストを表示させる場合、通常、Ajax(Asynchronous JavaScript + XML、(Javaは登録商標))を利用するが、Ajaxはチャンクとして受信するデータを結合してしまうことがある。このため、チャンクデータ自体に後で分割できるような機構を設けておくとよい。具体的には、データ“ABC”を送信する場合、絶対にデータに含まれない(ユニークな)ヘッダ/フッタを付ける。たとえば<H>をヘッダ/フッタとして定義し、<H>ABC</H> としたデータを送信する。このようにすれば、<H>123</H><H>ABC</H><H>789</H> とデータが結合していた場合でもこれを分割して利用することが可能になる。
なお、AjaxとはJavaScriptでXMLHttpRequestオブジェクトを利用して、ページ全体の読み込みとは非同期にサーバと通信し、ダイナミックHTMLを利用してページの必要な部分だけを書き換えるWebアプリケーションの開発手法のことである。
このほか、実施の形態では、プリンタコントローラ10側のジョブリストの状態を監視対象とし、クライアント30からの接続要求に対する応答として該監視対象に関する報告(通知)をチャンク形式転送で行うようにしたが、監視対象はこれに限定されるものではなく、時間経過によって状態の変化する対象であれば如何なる監視対象であってもかまわない。たとえば、株価1000銘柄の変動でも戦闘機パイロットの心拍数でも原子炉冷却ポンプの回転数でも宇宙船の姿勢情報などでもかまわない。
実施の形態では、変化の差分データを1つのチャンクにしてクライアント30へ送信するようにしたが、毎回、全ジョブリストを送信してもよい。
クライアント30でのジョブリストの表示は、Webブラウザによる表示に限定されず、専用アプリケーションなどを使用して表示されてもかまわない。
本発明の実施の形態に係るサーバ・クライアントシステムのハードウェアの概略構成を示すブロック図である。 本発明の実施の形態に係るサーバ・クライアントシステムの機能上の概略構成を示すブロック図である。 プリンタコントローラの受付スレッドの動作を示すフローチャートである。 プリンタコントローラの接続スレッドの動作を示すフローチャートである。 プリンタコントローラのジョブ制御部の動作を示すフローチャートである。 クライアントアプリケーションの動作を示すフローチャートである。 サーバ・クライアントシステムの動作シーケンスを例示した説明図である。 クライアントに表示されるジョブリスト表示画面の一例を示している。 本実施の形態に係るプリンタコントローラからクライアントへジョブリスト通知する際の通信手順およびジョブリストの表示状態の遷移を例示した説明図である(図10に対応)。 従来のプリンタコントローラからクライアントへジョブリスト通知する際の通信手順およびジョブリストの表示状態の遷移を例示した説明図である。
符号の説明
2…ネットワーク
5…サーバ・クライアントシステム
10…プリンタコントローラ
11…プリンタコントローラプログラム
12…ジョブ制御部
13…受付スレッド
14…送信データキュー
15…ジョブ処理部
16…接続スレッド
30…クライアント
31…クライアントアプリケーション
31a…クライアントアプリケーション本体
32…クライアント接続スレッド
40…ジョブリスト画面
H…通信セット
P1…受付スレッドとクライアントアプリケーション間の接続
P2…受付スレッドとジョブ制御部間の接続
P3…ジョブ処理部とジョブ制御部間の接続
P4…ジョブ制御部と送信データキュー間の接続
P5…送信データキューと接続スレッド間の接続
P6…接続スレッドとクライアントアプリケーション間の接続

Claims (8)

  1. クライアントと通信を行う通信部と、
    前記通信部を介して前記クライアントから受信した監視対象に関する報告を要求するHTTPリクエストに対する応答として、前記監視対象に変化が生じた場合に前記報告をチャンク形式転送コーディングのチャンクにして前記通信部を介して前記クライアントに返信する制御部と、
    を備えたことを特徴とするHTTPサーバ。
  2. 前記報告を、既に報告した前記監視対象の状態との差分を示す情報により行う
    ことを特徴とする請求項1に記載のHTTPサーバ。
  3. 前記チャンクにより送信するデータにユニークなヘッダおよびフッタを付加する
    ことを特徴とする請求項1に記載のHTTPサーバ。
  4. 前記監視対象に関する変化は印刷装置の状態変化もしくは印刷装置におけるジョブの状態の変化である
    ことを特徴とする請求項1に記載のHTTPサーバ。
  5. サーバを、監視対象に関する報告を要求するHTTPリクエストをクライアントから受信し、このHTTPリクエストに対する応答として、前記監視対象に変化が生じた場合に前記報告をチャンク形式転送コーディングのチャンクにして前記クライアントに返信するHTTPサーバとして動作させる
    ことを特徴とするプログラム。
  6. 前記報告を、前回報告した前記監視対象の状態との差分を示す情報により行うように前記サーバを動作させる
    ことを特徴とする請求項5に記載のプログラム。
  7. 前記サーバを、前記チャンクにより送信するデータにユニークなヘッダおよびフッタを付加するように動作させる
    ことを特徴とする請求項5に記載のプログラム。
  8. 前記監視対象が、印刷装置の状態もしくは印刷装置におけるジョブの状態である
    ことを特徴とする請求項5に記載のプログラム。
JP2007061340A 2007-03-12 2007-03-12 Httpサーバ及びプログラム Expired - Fee Related JP4693803B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007061340A JP4693803B2 (ja) 2007-03-12 2007-03-12 Httpサーバ及びプログラム
US12/009,770 US8243307B2 (en) 2007-03-12 2008-01-22 HTTP server and program for transmitting reports with chunked data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007061340A JP4693803B2 (ja) 2007-03-12 2007-03-12 Httpサーバ及びプログラム

Publications (2)

Publication Number Publication Date
JP2008225718A true JP2008225718A (ja) 2008-09-25
JP4693803B2 JP4693803B2 (ja) 2011-06-01

Family

ID=39762356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007061340A Expired - Fee Related JP4693803B2 (ja) 2007-03-12 2007-03-12 Httpサーバ及びプログラム

Country Status (2)

Country Link
US (1) US8243307B2 (ja)
JP (1) JP4693803B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010076314A (ja) * 2008-09-26 2010-04-08 Brother Ind Ltd 画像形成装置及び画像形成管理システム
JP2010076313A (ja) * 2008-09-26 2010-04-08 Brother Ind Ltd 画像形成装置及び画像形成管理システム
US8760685B2 (en) 2008-09-26 2014-06-24 Brother Kogyo Kabushiki Kaisha Image forming device and management system for image forming
JP2015121972A (ja) * 2013-12-24 2015-07-02 株式会社リコー 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
JP2015121971A (ja) * 2013-12-24 2015-07-02 株式会社リコー 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
JP2015120300A (ja) * 2013-12-24 2015-07-02 株式会社リコー 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
CN108121611A (zh) * 2016-11-29 2018-06-05 佳能株式会社 图像形成装置及控制方法
JP2018156692A (ja) * 2018-06-14 2018-10-04 株式会社リコー 情報処理システム、画像形成装置、情報処理装置、情報処理方法および情報処理プログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5767454B2 (ja) * 2010-09-30 2015-08-19 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
US8988707B2 (en) * 2011-01-31 2015-03-24 Konica Minolta Laboratory U.S.A., Inc. Method of managing plural print jobs by using a print job group list
GB2496107C (en) * 2011-10-26 2022-07-27 Cliquecloud Ltd A method and apparatus for preventing unwanted code execution
CN103929445B (zh) * 2013-01-11 2017-06-13 中国科学院声学研究所 一种在线解析HTTP chunked编码数据的方法
CN106034141B (zh) * 2015-03-12 2019-07-23 华为技术有限公司 消息处理方法、资源获取方法、服务器及终端设备
JP6459765B2 (ja) * 2015-05-11 2019-01-30 京セラドキュメントソリューションズ株式会社 画像形成装置の中継装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3537332B2 (ja) 1998-11-18 2004-06-14 理想科学工業株式会社 インターフェース装置
JP4086728B2 (ja) 2002-07-03 2008-05-14 株式会社リコー 画像通信方法及びシステム
WO2004075455A2 (en) 2003-02-18 2004-09-02 Extricom Ltd. Multiplex communication between access points and hub
JP2004364083A (ja) 2003-06-06 2004-12-24 Konica Minolta Business Technologies Inc 画像形成システム
JP4280570B2 (ja) 2003-07-01 2009-06-17 キヤノン株式会社 通信制御方法及び通信装置
JP2006159509A (ja) 2004-12-03 2006-06-22 Canon Inc 印刷制御装置及び印刷制御方法、印刷装置、プログラム、記憶媒体
JP4581955B2 (ja) * 2005-10-04 2010-11-17 ソニー株式会社 コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010076314A (ja) * 2008-09-26 2010-04-08 Brother Ind Ltd 画像形成装置及び画像形成管理システム
JP2010076313A (ja) * 2008-09-26 2010-04-08 Brother Ind Ltd 画像形成装置及び画像形成管理システム
JP4586914B2 (ja) * 2008-09-26 2010-11-24 ブラザー工業株式会社 画像形成装置及び画像形成管理システム
JP4586915B2 (ja) * 2008-09-26 2010-11-24 ブラザー工業株式会社 画像形成装置及び画像形成管理システム
US8760685B2 (en) 2008-09-26 2014-06-24 Brother Kogyo Kabushiki Kaisha Image forming device and management system for image forming
JP2015121972A (ja) * 2013-12-24 2015-07-02 株式会社リコー 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
JP2015121971A (ja) * 2013-12-24 2015-07-02 株式会社リコー 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
JP2015120300A (ja) * 2013-12-24 2015-07-02 株式会社リコー 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
US10146487B2 (en) 2013-12-24 2018-12-04 Ricoh Company, Ltd. Information processing system, apparatus, and method
CN108121611A (zh) * 2016-11-29 2018-06-05 佳能株式会社 图像形成装置及控制方法
JP2018088117A (ja) * 2016-11-29 2018-06-07 キヤノン株式会社 画像形成装置および制御方法
JP2018156692A (ja) * 2018-06-14 2018-10-04 株式会社リコー 情報処理システム、画像形成装置、情報処理装置、情報処理方法および情報処理プログラム

Also Published As

Publication number Publication date
US8243307B2 (en) 2012-08-14
JP4693803B2 (ja) 2011-06-01
US20080225329A1 (en) 2008-09-18

Similar Documents

Publication Publication Date Title
JP4693803B2 (ja) Httpサーバ及びプログラム
US9083721B2 (en) Information processing system, client device, and control method
US8947701B2 (en) Server apparatus, terminal apparatus, and printing system and data conversion method thereof
US10509606B2 (en) Image forming apparatus retrieving error screen from web server
US8248645B2 (en) Printing system, printing device, host apparatus, and computer program product
JP6011266B2 (ja) 通信中継プログラム、通信中継方法、情報処理装置及び画像処理装置
JP4006807B2 (ja) ネットワークシステム、及び端末装置
US20140092418A1 (en) Image forming device, management device, information processing system, and storage medium
JP2008090790A (ja) Webシステム、通信制御装置、情報処理装置、通信制御方法及び通信制御プログラム
JP2011257945A (ja) 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム
JP2011232893A (ja) 印刷データ作成サーバ及び印刷装置及び印刷システム
JP2000158774A (ja) ネットワ―クプリントシステム及びそのプリントエラ―時の待機作業処理方法
JP2012098816A (ja) 情報処理装置、その情報処理装置における印刷データ処理方法およびプログラム
JP2014049022A (ja) 通信中継プログラム、及び、通信中継装置
JP2004518223A (ja) サーバ・ベースのネットワークにおいて印刷命令を処理する方法、および対応するサーバ・ベースのネットワーク
US9110623B2 (en) Printing system, print relay server, method of controlling the server, and program
JP5620674B2 (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP2013061836A (ja) サーバー、データ処理装置、データ処理方法
JP2005327053A (ja) ログ情報管理装置、ログ情報生成装置、ログ情報管理プログラム及び記録媒体
JPH11296333A (ja) プリント・ジョブ分散方法
JP2003140867A (ja) ネットワークプリントシステム及び情報処理装置
WO2024009642A1 (ja) 印刷装置、制御方法、およびプログラム
JP2017004302A (ja) 制御方法、プログラム及び情報処理装置
US11467787B2 (en) Communication system, first server, second server, non-transitory computer-readable recording medium storing computer-readable instructions for first server and non-transitory computer-readable recording medium storing computer-readable instructions for second server
JP7124421B2 (ja) 情報処理装置、画像形成システム、および情報処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090409

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: 20110222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees