JP2014089675A - 通信中継プログラム、及び、画像処理装置 - Google Patents
通信中継プログラム、及び、画像処理装置 Download PDFInfo
- Publication number
- JP2014089675A JP2014089675A JP2012240735A JP2012240735A JP2014089675A JP 2014089675 A JP2014089675 A JP 2014089675A JP 2012240735 A JP2012240735 A JP 2012240735A JP 2012240735 A JP2012240735 A JP 2012240735A JP 2014089675 A JP2014089675 A JP 2014089675A
- Authority
- JP
- Japan
- Prior art keywords
- session
- communication
- request
- processing
- response
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
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 And Data Communications (AREA)
Abstract
【解決手段】画像処理装置と通信回線で接続されている情報処理装置で実行される通信中継プログラムであって、クライアントアプリケーションからの処理要求の受信中にクライアントアプリケーションから通信の中止が通知されたか否かを判断し、中止が通知されることなく処理要求の受信が完了した場合は処理要求を画像処理装置に送信する一方、中止が通知された場合は処理要求を画像処理装置に送信しない通信中継プログラム。
【選択図】図6
Description
そして、画像処理装置と端末装置とがUSB(Universal Serial Bus)によって接続されている環境において上述したIPPによる通信を行うためのIPP over USBという規格のドラフト(2012年10月31日時点においてVersion 1.0 Draft 20)が知られている。
よって上記通信中継プログラムによると、画像処理装置とクライアントアプリケーションとの間で通信を中継する場合に、クライアントアプリケーションと通信中継プログラムとの間の通信が途中で途絶えてしまうことによって画像処理装置の受信待ち状態が長時間継続してしまうことを抑制することができる。
よって上記通信中継プログラムによると、画像処理装置とクライアントアプリケーションとの間で通信を中継する場合に、クライアントアプリケーションと通信中継プログラムとの間の通信が途中で途絶えてしまうことによって画像処理装置の受信待ち状態が長時間継続してしまうことを抑制することができる。
実施形態1を図1ないし図6によって説明する。
(1)画像処理システム
先ず、図1を参照して、実施形態1に係る画像処理システム1について説明する。画像処理システム1はパーソナルコンピュータ(PCと記す)2とプリンタ3とで構成されている。PC2とプリンタ3とはUSB(Universal Serial Bus、ユニバーサルシリアルバス)ケーブル4によって通信可能に接続されている。また、プリンタ3はUSBプリンタクラスデバイスとして構成されている。
PC2は情報処理装置及び通信中継装置の一例である。プリンタ3は画像処理装置の一例である。また、USBは通信回線の一例である。
(a)プリンタ3を設定するための通信
(b)プリンタ3に印刷データを送信するための通信
これらの通信はIPP over USB規格(2012年10月31日時点においてVersion 1.0 Draft 20)に従って行われる。IPP(Internet Printing Protocol)とは、HTTP(HyperText Transfer Protocol)をベースにした規格であって、インターネットやLAN(Local Area Network)などのTCP/IPネットワークを介してプリンタと通信するための規格である。
図1を参照して、PC2の電気的構成について説明する。PC2は、CPU20、ROM21、RAM22、表示部23、操作部24、記憶部25、及び、USBホストインタフェース部(図1ではUSBホストIF部と記す)26を備えて構成されている。
表示部23は、液晶ディスプレイなどの表示装置、表示装置を駆動するディスプレイ駆動回路などを備えて構成されている。
操作部24は、キーボードやマウス、それらが接続されるインタフェースなどで構成されている。
Webブラウザ42はマルチセッションによって通信が可能なクライアントアプリケーションの一例である。また、IPP/USB変換プログラム43は通信中継プログラムの一例である。
次に、図1を参照して、プリンタ3の電気的構成について説明する。プリンタ3は、制御部31、USBクライアントインタフェース部(図1ではUSBクライアントIF部と記す)32、印刷部33、操作部34、及び、記憶部35を備えて構成されている。
操作部34は、液晶ディスプレイなどの表示装置や各種の操作ボタンなどを備えて構成されている。
記憶部35は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のデータを記憶する装置である。
USBクライアントインタフェース部32は、USBケーブル4が接続されるジャックなどを備えて構成されており、USBケーブル4を介してPC2と通信可能に接続されている。
次に、図2を参照して、IPP over USBによって通信を行うためのPC2のプログラム構成、及び、プリンタ3の機能について説明する。
先ず、PC2のプログラム構成について説明する。PC2は、IPP/USB変換プログラム43、Webブラウザ42、及び、スプーラ44を実行する。
IPP/USB変換プログラム43は、Webブラウザ42とプリンタ3のIPP機能51との間でプリンタ3を設定するための通信(a)を中継するとともに、スプーラ44とIPP機能51との間でプリンタ3に印刷データを送信するための通信(b)を中継するプログラムである。
また、IPP/USB変換プログラム43はIPP機能51とUSBを介して通信する。IPP/USB変換プログラム43の詳細については後述する。
PC2とプリンタ3とがUSBによって接続されている環境では、Webブラウザ42はlocalhost(127.0.0.1)のポート80に、プリンタ3の設定画面60(図3参照)を表示するための画面データの送信を要求するHTTPリクエストや、設定画面60上に表示する画像の送信を要求するHTTPリクエストなどを送信する。これらのHTTPリクエストはそれぞれ処理要求の一例である。以降の説明ではHTTPリクエストを単に処理要求という。
なお、処理要求はこれらに限られるものではない。例えばユーザが設定画面60で設定した設定値をプリンタ3に設定するHTTPリクエスト(PUTコマンドやPOSTコマンドなど)も処理要求の一例である。
IPP/USB変換プログラム43はWebブラウザ42から処理要求を受信すると、USBを介してIPP機能51にその処理要求を送信する。
IPP/USB変換プログラム43はスプーラ44から印刷データを受信すると、USBを介してプリンタ3のIPP機能51にその印刷データを送信する。
次に、プリンタ3の機能について説明する。プリンタ3は、印刷部33、IPP機能51、及び、Webサーバ機能52を備えている。
IPP機能51はプリンタ3の制御部31が制御プログラムを実行することによって実現される機能である。IPP機能51はIPP/USB変換プログラム43とUSBを介して通信する。また、IPP機能51はWebサーバ機能52とHTTPによって通信するとともに、印刷部33と所定のプロトコルに従って通信する。
次に、USBにおけるインタフェースについて説明する。USBでは物理的に一本のUSBケーブル4にインタフェースと呼ばれる1以上の論理的な通信回線が構成される。
なお、インタフェース2を構成せず、プリンタ3を設定するための通信(a)、及び、プリンタ3に印刷データを送信するための通信(b)をどちらもインタフェース1を用いて行ってもよい。
次に、Webブラウザ42とIPP/USB変換プログラム43との間に確立されるセッションの排他処理について説明する。ここではプリンタ3を設定するための通信(a)を例に説明する。
また、設定画面60には画像62a、画像62b、画像62cが表示される。ここでは画像62a〜画像62cをそれぞれGIF1、GIF2、GIF3というものとする。
IPP/USB変換プログラム43はIPP機能51から画面データを受信すると、Webブラウザ42から受信したGETコマンドに対する応答としてその画面データをWebブラウザ42に送信する。
Webブラウザ42はこの画面データを解析し、ページを表示するに足りない部品(GIF1、GIF2、GIF3など)を同様に要求する。この場合に、Webブラウザ42はマルチセッションによる通信が可能であるので、足りない部品(GIF1、GIF2、GIF3)毎にセッションを確立して画像の送信を要求する。
このため、各セッションがインタフェース1を介して通信すると、IPP/USB変換プログラム43がIPP機能51から応答を受信したとき、IPP/USB変換プログラム43はその応答がいずれのセッションを介して受信した処理要求に対する応答であるかを判断できない。このため、あるセッションに対する応答が別のセッションに送信されてしまうなどのような混乱が起こり得る。
そこで、実施形態1に係るIPP/USB変換プログラム43は、排他処理を実行することにより、同時に一のセッションのみを介して通信を中継する。
図4を参照して、通信の全体的な流れについて説明する。ここではプリンタ3を設定するための通信(a)を例に説明する。前述したようにプリンタ3を設定するための通信(a)はインタフェース1を用いて行われる。
また、ここではIPP機能51とWebサーバ機能52とをまとめてプリンタ3というものとする。
これら一連の処理によってGIF1〜GIF3がWebブラウザ42に読み込まれ、設定画面60上にGIF1〜GIF3が表示される。
次に、上述した処理要求のデータ構造、及び、処理要求に対してプリンタ3から送信される応答のデータ構造について説明する。
先ず、処理要求のデータ構造について説明する。ここではPOSTコマンドを例に説明する。処理要求のデータ構造はHTTPの仕様に準拠するものであり、広く用いられているものであるのでここではその概略のみを説明する。処理要求は1以上の通信データからなる。以下に処理要求の一例を示す。ここでは各通信データの前に行番号を[]で括って示す。
[2行目]Host: localhost<CRLF>
[3行目]Content−Type: application/ipp<CRLF>
[4行目]Transfer−Encoding: chunked<CRLF>
[5行目]<CRLF>
また、5行目に示すように処理要求の最後の通信データは<CRLF>のみである。従って、受信した通信データが<CRLF>のみである場合は一つの処理要求の受信が完了したと判断することができる。
全ての付加データのバイト数が予めわからない場合はTransfer−Encoding: chunkedなどの形で細切れのデータ塊が続くことが処理要求中に示される。この場合、データ塊ごとのサイズが示される。
また、付加データが付加される場合は上述したchunkedに替えてContent-Length: 4554といった行が処理要求に挿入され、指定されたバイト数(この場合は4554)の付加データが続くことが示される場合もある。
なお、部分処理要求データは、処理の仕方によりいろいろな形態が考えられる。例えば固定長、あるいは特定の条件によってきまるデータ長ごとに受信し、それぞれを部分処理要求データとすることもできる。
(6−2)応答のデータ構造
応答のデータ構造もHTTPの仕様に準拠するものであり、広く用いられているものであるのでここではその概略のみを説明する。応答も1以上の通信データからなり、最後の通信データは<CRLF>のみである。またGETコマンドに対する応答にあっては、処理要求の場合と同様にバイナリデータやテキストデータなどの付加データが付加される。例えば前述したGIF1〜GIF3はGETコマンドに対する応答に付加される付加データである。
上述したようにIPP/USB変換プログラム43はWebブラウザ42から処理要求を複数の部分処理要求データに分けて受信する。この場合、IPP/USB変換プログラム43は全ての部分処理要求データの受信が完了するのを待つことなく、先に受信した部分処理要求データから順にIPP機能51に送信することもできる。
(8)IPP/USB変換プログラム43による通信中継処理の詳細
通信中継処理では、IPP/USB変換プログラム43は次に説明するスレッド生成処理、及び、Webブラウザから処理要求を受信する処理を実行する。
(8−1)スレッド生成処理
先ず、図5を参照して、スレッド生成処理について説明する。前述したようにIPP/USB変換プログラム43は常駐プログラムとして実行されるものであり、本処理はPC2に電源が投入されると開始される。
ここで、本処理はWebブラウザ42とIPP機能51との間で通信を中継する処理であり、スプーラ44とIPP機能51との間で通信を中継する処理は本処理とは別の処理として実行されるものとする。当該別の処理についての説明は省略する。
なお、ここではミューテックスを用いて排他処理を行う場合を例に説明するが、排他処理を行う方法はこれに限られない。例えばセマフォを用いて行ってもよいし、ミューテックスやセマフォを用いず独自の方法で行ってもよい。
ユーザがWebブラウザ42を立ち上げ、IPアドレスとして127.0.0.1、ポート番号として80を設定すると、Webブラウザ42は当該アドレスおよびポート番号に対して通信の確立を要求する。この要求がアクセプト要求となる。
S104では、IPP/USB変換プログラム43はスレッドを生成する。
S105では、IPP/USB変換プログラム43はOS41から終了要求があったか否かを判断する。この終了要求はこの常駐プログラムであるIPP/USB変換プログラム43の終了を要求するものである。IPP/USB変換プログラム43は常駐プログラムであるので通常は「否」であるが、ユーザの操作等によりプログラムの終了が指示されると終了要求を受ける。IPP/USB変換プログラム43は、終了要求があった場合は本処理を終了し、なかった場合はS103に戻って処理を繰り返す。
次に、図6を参照して、IPP/USB変換プログラム43がWebブラウザ42から処理要求を受信する処理について説明する。この処理は前述したS104で生成されたスレッドによって実行される。すなわち、アクセプト要求が複数ある場合は、それぞれ別のスレッドとしてこの処理は実行される。従って図6のフローチャートの中で扱うセッションは1つのみであり、複数のセッションがある場合は、別々のスレッドにより図6のフローチャートの処理が並行して行われることになる。
具体的には、スレッドはWebブラウザ42と通信を行うための新たなソケットを生成し、生成したソケットを用いてWebブラウザ42との間にセッションを確立する。なお、ソケットのオープン、クローズ、アクセプトなどのタイミングで、USBのエンドポイント0を用いたコントロール転送を用いてプリンタ3に情報を送り、上記オープン、クローズ、アクセプトなどのタイミングでプリンタ3と同期をとってもよい。
具体的には、スレッドはS101で生成されたミューテックスの取得を試みる。ミューテックスが他のスレッドによって取得されていない場合は当該スレッドによってミューテックスが取得され、その後にミューテックスの取得を試みた他のスレッドは当該スレッドによってミューテックスが解放されるまで待機状態となる。これにより他のスレッドは通信が禁止された状態となる。
スレッドはミューテックスを取得するとS203に進む。
上述したS202は第1の禁止判断処理、第1の待機処理、及び、第1の排他処理の一例である。すなわち、IPP/USB変換プログラム43はミューテックスの仕組みを用いることによってこれらの処理を実現している。
S204では、スレッドは一つの処理要求の受信が完了したか否かを判断する。具体的には、スレッドはHTTPのプロトコルに従ってデータエンドを判断する。例えば、スレッドは<CRLF>の有無や、Content-LengthやTransfer−Encoding: chunkedで示される付加データのサイズを確認することにより、データエンドを判断する。これにより、一つの処理要求の受信が完了したか否かを判断することができる。
スレッドは、一つの処理要求の受信が完了していないと判断した場合はS205に進み、完了したと判断した場合はS206に進む。
S207では、スレッドはIPP機能51に送信した処理要求に対する応答をIPP機能51から受信する。具体的には、IPP機能51は応答を複数の部分応答データに分割してIPP/USB変換プログラム43に送信するものであり、S207では一つの部分応答データが受信される。
S209では、スレッドは上記S207、S208の処理の間にWebブラウザ42から通信の中止が通知されたか否かを判断する。なお、スレッドは最後にS205を実行した後、S209を実行するまでの間にWebブラウザ42から通信の中止が通知されたか否かを判断してもよい。前述したように通信の中止が通知されたか否かはWebブラウザ42によってセッションがクローズされたか否かによって判断される。スレッドは、通信の中止が通知されていない場合はS210進み、通知された場合はS211に進む。
S211では、スレッドは排他終了処理を実行する。具体的には、スレッドはミューテックスを解放する。S211は第1の解禁処理の一例である。従ってS202から本S211までの間、換言すれば、S206、S209によりそのセッションにおけるすべての部分処理要求データ及び部分応答データを送信するまでの間、排他処理が行われ、その間に他のスレッドの処理により他のセッションの部分要求データや部分応答データが割り込むことはない。
S212では、スレッドはS201で生成したセッションをクローズして処理を終了する。
以上説明したIPP/USB変換プログラム43によると、Webブラウザ42からの処理要求の受信が完了した後でなければプリンタ3への処理要求の送信を開始しない。具体的には、IPP/USB変換プログラム43は、S205で通信の中止が通知されたと判断されることなくS204で処理要求の受信が完了したと判断した場合でなければプリンタ3への処理要求の送信を開始しない。このため、IPP/USB変換プログラム43がWebブラウザ42から処理要求を受信している途中でWebブラウザ42から通信の中止が通知された場合は、プリンタ3への処理要求の送信が開始されない。
よってIPP/USB変換プログラム43によると、プリンタ3とWebブラウザ42との間で通信を中継する場合に、Webブラウザ42とIPP/USB変換プログラム43との間の通信が途中で途絶えてしまうことによってプリンタ3の受信待ち状態が長時間継続してしまうことを抑制することができる。
次に、実施形態2を図7ないし図9によって説明する。
前述した実施形態1に係るIPP/USB変換プログラム43はWebブラウザ42からの処理要求の受信が完了した後にIPP機能51への当該処理要求の送信を開始する。これに対し、実施形態2に係るIPP/USB変換プログラム43はWebブラウザ42からの処理要求の受信を開始すると、当該処理要求の受信が完了するのを待たずにIPP機能51への当該処理要求の送信を開始する。
そこで、実施形態2に係るIPP/USB変換プログラム43は、Webブラウザ42から通信の中止が通知されると、IPP機能51に通信の中止を通知する。
(7−1)スレッド生成処理
実施形態2に係るスレッド生成処理は実施形態1と実質的に同一であるので説明は省略する。
図7を参照して、実施形態2に係るIPP/USB変換プログラム43がWebブラウザ42から処理要求を受信する処理について説明する。
S301では、スレッドはアクセプト処理を実行する。S301は第2の確立処理の一例である。
S302では、スレッドはS301で確立した新たなセッション以外のセッションによる通信を禁止する排他処理を実行する。S302は、第2の禁止判断処理、第2の待機処理、及び、第2の排他処理の一例である。
S304では、スレッドはS303で受信した部分処理要求データをIPP機能51に送信する。S304は第2の要求送信処理の一例である。
S305では、スレッドは一つの処理要求の受信が完了したか否かを判断し、一つの処理要求の受信が完了していないと判断した場合はS306に進み、完了したと判断した場合はS308に進む。
S309では、スレッドはS308乃至後述するS311のループ処理の間にWebブラウザ42から通信の中止が通知されたか否かを判断し、中止が通知されていない場合はS310に進み、中止が通知された場合はS307に進み前述のとおりIPP機能にキャンセル通知を送信する。
S311では、スレッドはIPP機能51からの応答の受信が完了したか否かを判断する。この判断はS305と同様の手順により行われる。スレッドは、応答の受信が完了している場合はS312に進み、完了していない場合はS308に戻って処理を繰り返す。
S313では、スレッドはS301で生成したセッションをクローズして処理を終了する。
次に、実施形態2に係るIPP機能51の処理について説明する。
先ず、図8を参照して、実施形態2に係るIPP機能51がインタフェース1又はインタフェース2を介してIPP/USB変換プログラム43から処理要求を受信する処理について説明する。本処理はプリンタ3の電源がONの状態で繰り返し実行される。
S401では、IPP機能51はIPP/USB変換プログラム43からの受信がWebブラウザ42からの処理要求の受信であるか否かを判断し、Webブラウザ42からの処理要求の受信である場合はS402に進み、それ以外である場合はS406に進む。
S403では、IPP機能51はS402で確立した通信を介してWebサーバ機能52に処理要求を送信する。S403は第4の要求送信処理の一例である
S404では、IPP機能51はWebサーバ機能52から一定時間以内に応答を受信したか否かを判断し、応答を受信した場合はS405に進み、応答を受信しなかった場合はS401に戻る。S404は第2の応答受信処理の一例である。
S406では、IPP機能51はIPP/USB変換プログラム43からの受信がスプーラ44からの印刷ジョブの受信であるか否かを判断し、スプーラ44からの印刷ジョブの受信である場合はS407に進み、それ以外である場合はS409に進む。
S408では、IPP機能51は印刷ジョブを正常に受信したことを示す応答(図8ではOK応答と記す)を、インタフェース2を介してIPP/USB変換プログラム43に送信する。
S409では、IPP機能51はその他の処理要求に応じた処理を実行する。
次に、図9を参照して、IPP機能51がインタフェース0を介してIPP/USB変換プログラム43からキャンセル通知を受信したときの処理について説明する。IPP機能51がキャンセル通知を受信したか否かを判断する処理は第4の中止判断処理の一例である。
S502では、IPP機能51は現在行っている通信がプリンタ3を設定するための通信(a)であるかプリンタ3に印刷データを送信するための通信(b)であるかを判断し、プリンタ3を設定するための通信(a)である場合はS503に進み、そうでない場合はS506に進む。
S505では、IPP機能51はIPP/USB変換プログラム43から受信した処理要求を破棄する。
S506では、IPP機能51はキャンセル通知が受信されたときが印刷ジョブの受信中であるか、又は、印刷ジョブの受信が完了した後、IPP/USB変換プログラム43に応答を送信する前であるかを判断し、印刷ジョブの受信中である場合はS507に進み、印そうでない場合はS508に進む。
S508では、IPP機能51はIPP/USB変換プログラム43から受信した印刷ジョブを破棄する。
以上説明した実施形態2に係るIPP/USB変換プログラム43によると、Webブラウザ42から処理要求を受信している途中でWebブラウザ42から通信の中止が通知された場合は、プリンタ3に通信の中止を通知する。
よってIPP/USB変換プログラム43によると、プリンタ3とWebブラウザ42との間で通信を中継する場合に、Webブラウザ42とIPP/USB変換プログラム43との間の通信が途中で途絶えてしまうことによってプリンタ3の受信待ち状態が長時間継続してしまうことを抑制することができる。
次に、実施形態3を図10ないし図17によって説明する。
実施形態3は実施形態2の変形例である。実施形態3に係るIPP/USB変換プログラム43は、実施形態2に係るIPP/USB変換プログラム43と同様に、Webブラウザ42からの処理要求の受信を開始するとその受信が完了するのを待たずにIPP機能51への当該処理要求の送信を開始する。
その替わりとして、実施形態3に係るIPP/USB変換プログラム43は、Webブラウザ42から受信した処理要求にセッションを識別するためのセッション情報を付加したセッション情報付き処理要求をIPP機能51に送信する。そして、IPP/USB変換プログラム43はIPP機能51からセッション情報が付加された応答であるセッション情報付き応答を受信する。そして、IPP/USB変換プログラム43は、セッション情報付き応答からセッション情報を除去した応答を、当該セッション情報によって識別されるセッションを介してWebブラウザ42に送信する。
先ず、図10を参照して、IPP/USB変換プログラム43による通信中継処理の全体的な流れについて説明する。ここではプリンタ3を設定するための通信(a)を例に説明する。前述したようにプリンタ3を設定するための通信(a)はインタフェース1を用いて行われる。
また、ここではIPP機能51とWebサーバ機能52とをまとめてプリンタ3というものとする。
IPP/USB変換プログラム43はセッション1を介して処理要求を受信すると、その処理要求にセッション1を識別するためのセッションIDを付加したセッションID付き処理要求を、USBを介してプリンタ3に送信する(S703)。
IPP/USB変換プログラム43はセッションID付き応答を受信すると、セッションID付き応答からセッションIDを除去した応答を、そのセッションIDによって識別されるセッション、すなわちセッション1を介してWebブラウザ42に送信する(S708)。
この処理における部分処理要求データは以下のように分けられる。
(a)ヘッダ
(b)Content-Lengthにより一括指定される付加データのデータ塊
(c)chunked指定により指定される複数に分割された付加データのそれぞれのデータ塊
ここでヘッダとは、処理要求のうち付加データ以外のデータのことをいう。付加データが付加されていない場合は処理要求全体がヘッダに相当する。実際の要求では、(1)のみ、あるいは(1)および(2)、あるいは(1)および単数もしくは複数の(3)により処理要求データが構成される。
付加データが付加される場合はヘッダにContent-Length、及び、chunkedのいずれか一方が指定される。
そして、IPP/USB変換プログラム43は、セッション1による処理要求の受信が完了する前にセッション2を介してヘッダを受信すると、そのヘッダにセッション2のセッションIDを付加したセッションID付きヘッダをIPP機能51に送信する。以下同様に、IPP/USB変換プログラム43はセッションを介して部分処理要求データを受信する毎にその部分処理要求データに当該部分処理要求データを受信したセッションのセッションIDを付加してIPP機能51に送信する。
IPP機能51も同様に応答をヘッダと付加データとの二つの部分応答データに分け、各部分応答データにセッションIDを付加してIPP/USB変換プログラム43に送信する。
(3−1)スレッド生成処理
実施形態3に係るスレッド生成処理は実施形態1と実質的に同一であるので説明は省略する。
先ず、図11を参照して、実施形態3に係るIPP/USB変換プログラム43がWebブラウザ42から処理要求を受信する処理について説明する。この処理はS104で生成されたスレッドによって実行される。
S802では、スレッドはS801で生成したソケットを識別すためのセッションIDを生成する。S802は識別子生成処理の一例である。
S803では、スレッドはS801で生成したソケットを識別するためのソケット情報とS802で生成したセッションIDとを対応付けて記憶部25に記憶させる。S803は第1の記憶処理の一例である。また、ソケット情報はセッションを識別すための識別情報の一例である。
S805では、スレッドはWebブラウザ42から通信の中止が通知されたか否かを判断する。前述したように通信の中止が通知されたか否かはWebブラウザ42によってセッションがクローズされたか否かによって判断される。スレッドは、通信の中止が通知されていない場合はS806に進み、通知された場合は本処理を終了する。S805は第3の中止判断処理の一例である。
S807では、スレッドはS802で生成したセッションIDを、インタフェース1を介してIPP機能51に送信する。
S808では、スレッドはS804で受信したヘッダを、インタフェース1を介してIPP機能51に送信する。ここで、処理要求のヘッダが複数の通信データからなる場合は、S808においてそれら複数の通信データがIPP機能51に送信される。
上述したS807及びS808はセッション情報付き処理要求を画像処理装置に送信する第3の要求送信処理の一例である。
S810では、スレッドは付加データがあるか否かを判断する。具体的には、スレッドはS804で受信したヘッダにContent-Length又はchunkedが含まれている場合は付加データがあると判断し、いずれも含まれていない場合は付加データがないと判断する。スレッドは、付加データがある場合はS811に進み、付加データがない場合は本処理を終了する。
S811では、スレッドは付加データ送信処理を実行する。付加データ送信処理はWebブラウザ42から付加データを受信してIPP機能51に送信する処理である。
次に、図12及び図13を参照して、S811で実行される付加データ送信処理について説明する。
S901では、スレッドは受信したヘッダにContent-Lengthが含まれているか否かを判断し、Content-Lengthが含まれている場合はS902に進み、含まれていない場合(すなわちchunkedが含まれている場合)はS909に進む。
S903では、スレッドはWebブラウザ42からS902で取得したサイズ情報データによって示されるデータサイズの付加データを受信する。
S904では、スレッドは上記S903の実行中にWebブラウザ42から通信の中止が通知されたか否かを判断し、通信の中止が通知されていない場合はS905に進み、通知された場合はS917に進む。
S906では、スレッドはS802で生成されたセッションIDを、インタフェース1を介してIPP機能51に送信する。
S907では、スレッドはS903で受信した付加データを、インタフェース1を介してIPP機能51に送信する。
S908では、スレッドはインタフェース1の排他終了処理を実行する。
S910では、スレッドはWebブラウザ42からS909で取得したサイズ情報データによって示されるデータサイズ分の部分付加データを受信する。
S912では、スレッドはインタフェース1の排他処理を実行する。
S913では、スレッドはS802で生成されたセッションIDを、インタフェース1を介してIPP機能51に送信する。
S915では、スレッドはインタフェース1の排他終了処理を実行する。
S916では、スレッドは付加データの受信が完了したか否かを判断する。具体的には、受信した付加データに続くデータ塊があるか否かをS204と同様の方法で判断する。スレッドは、付加データの受信が完了した場合は本処理を終了して図11の処理に戻り、未だ完了していない場合はS909に戻って処理を繰り返す。ただし、本処理が終了してもセッションは存続し続ける。
S918では、スレッドはS917で生成したセッションIDを付加したセッションID付きキャンセル通知をコントロール転送によってIPP機能51に送信する。前述したようにコントロール転送はインタフェース0を用いて行われる。S918は第2の中止通知処理の一例である。
S920では、スレッドはソケットを破棄し、図12に戻った後に図11の処理に戻る。
次に、図14を参照して、IPP/USB変換プログラム43がIPP機能51から応答を受信する処理について説明する。
S1002では、IPP/USB変換プログラム43はセッションID付き部分応答データからセッションIDを取得する。
S1005では、IPP/USB変換プログラム43はS1001で受信したセッションID付き部分応答データからセッションIDを除去する。
S1007では、IPP/USB変換プログラム43はIPP機能51からの応答の受信が完了したか否かを判断する。この判断はS208と同様の手順により行われる。IPP/USB変換プログラム43は、応答の受信が完了していない場合はS1001に戻って処理を繰り返し、完了している場合はS1008に進む。
S1009では、IPP/USB変換プログラム43はS1002で取得したセッションIDと当該セッションIDに対応付けられているソケット情報とを記憶部25から削除する。S1009は削除処理の一例である。
次に、IPP機能51がIPP/USB変換プログラム43から処理要求を受信する処理、及び、IPP機能51がWebサーバ機能52から応答を受信する処理について説明する。
先ず、図15を参照して、IPP機能51がIPP/USB変換プログラム43から処理要求を受信する処理について説明する。
ここで、S1101はIPP/USB変換プログラム43からセッションID付き部分処理要求データを受信するまで待機するのではなく、セッションID付き部分処理要求データを受信していない場合は受信したデータのデータサイズが0であるとしてS1102に進む。
S1104では、IPP機能51はS1101で受信したセッションID付き処理要求を破棄してS1101に戻る。
S1106では、IPP機能51はS1101で受信したセッションID付き部分処理要求データからセッションIDを取得する。
S1107では、IPP機能51はS1106で取得したセッションIDが、IPP機能51とWebサーバ機能52との間に確立されているセッションを識別するためのソケット情報に対応付けられて記憶部35に記憶されているか否かを判断する。具体的には、本処理はループ処理であり、後述するS1109が実行された後にS1107が実行される場合もある。その場合はS1106で取得したセッションIDが既に記憶部35に記憶されている場合もある。IPP機能51は、記憶されていない場合はS1108に進み、記憶されている場合はS1110に進む。S1107は記憶判断処理の一例である。また、ソケット情報は通信識別情報の一例である。
S1109では、IPP機能51はS1106で取得したセッションIDとS1108で生成したソケットを識別するためのソケット情報とを対応付けて記憶部35に記憶させる。S1109は第2の記憶処理の一例である。
S1111では、IPP機能51はS1101で受信したセッションID付き部分処理要求データからセッションIDを除去する。
S1112では、IPP機能51はS1111でセッションIDを除去した部分処理要求データを、S1108で生成したソケット、あるいは、S1110で読み出したソケット情報によって識別されるソケットを介してWebサーバ機能52に送信する。S1112は第5の要求送信処理の一例である。
S1114では、IPP機能51はスレッドを生成する。このスレッドはWebサーバ機能52から応答を受信してIPP/USB変換プログラム43に送信するためのものである。
次に、図16を参照して、前述したキャンセル処理について説明する。本処理は前述したS918でIPP/USB変換プログラム43から送信されたセッションID付きキャンセル通知を、インタフェース0を介してIPP機能51が受信すると開始される。
S1202では、IPP機能51は前述した「IPP/USB変換プログラムから処理要求を受信する処理」に、キャンセル通知に付加されているセッションIDを通知する。このセッションIDが通知されると、前記S1102においてYESと判断される。また通知されたセッションIDは、前記S1103における判断に使用される。
S1204では、IPP機能51はS1114で生成されたスレッドのうち、S1201で取得したセッションIDに対応するスレッドを停止させる。
S1205では、IPP機能51はS1201で取得したセッションIDに対応するソケット情報によって識別されるソケットをクローズする。S1205は第2の終了処理及び第3の終了処理の一例である。
S1206では、IPP機能51はS1201で取得したセッションIDと当該セッションIDに対応付けられて記憶されているソケット情報とを記憶部35から削除する。
次に、図17を参照して、IPP機能51がWebサーバ機能52から応答を受信する処理について説明する。この処理は前述したS1114で生成されたスレッドによって実行される。なおこのスレッドは前記S1204によって停止される場合がある。
S1302では、スレッドはWebサーバ機能52から部分応答データを受信する。S1302は第3の応答受信処理の一例である。
S1305では、スレッドはS1304でセッションIDが付加されたセッションID付き部分応答データをIPP/USB変換プログラム43に送信する。S1305は第3の応答送信処理の一例である。
S1307ではWebサーバ42からの当該セッションに関するすべての応答を受信したか否かを判断する。その結果YESと判断した場合にはS1308に進み、NOと判断した場合にはS1302に戻り残りのデータを受信する。この受信完了の判断は前述したS204と同様に行うことができる。
S1308では、スレッドはセッションをクローズする。
S1309では、スレッドはS1301で継承したセッションID及びソケット情報を記憶部35から削除する。
以上説明した実施形態3に係るIPP/USB変換プログラム43によると、プリンタ3とWebブラウザ42との間で通信が途中で途絶えてしまった場合にキャンセルを通知する。よってプリンタ3の受信待ち状態が長時間継続してしまうことをセッションの単位で抑制することができる。
上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も技術的範囲に含まれる。
Claims (12)
- 画像処理装置と通信回線で接続されている情報処理装置で実行される通信中継プログラムであって、
クライアントアプリケーションから処理要求を受信する第1の要求受信処理と、
前記第1の要求受信処理による前記処理要求の受信中に、前記クライアントアプリケーションから通信の中止が通知されたか否かを判断する第1の中止判断処理と、
前記第1の中止判断処理によって中止が通知されたと判断されることなく前記第1の要求受信処理による前記処理要求の受信が完了した場合は前記処理要求を前記画像処理装置に送信する一方、前記第1の中止判断処理によって中止が通知されたと判断された場合は前記処理要求を前記画像処理装置に送信しない第1の要求送信処理と、
を前記情報処理装置に実行させる通信中継プログラム。 - 請求項1に記載の通信中継プログラムであって、
前記クライアントアプリケーションはマルチセッションによって通信するものであり、
当該通信中継プログラムは、
前記クライアントアプリケーションからセッションの確立を要求されると、その要求に応じて前記クライアントアプリケーションとの間に新たなセッションを確立する第1の確立処理と、
前記第1の確立処理によって前記新たなセッションが確立されると、前記クライアントアプリケーションとの間に確立されている他のセッション以外のセッションによる通信が禁止されているか否かを判断する第1の禁止判断処理と、
前記第1の禁止判断処理によって通信が禁止されていると判断された場合に、通信が解禁されるまで前記新たなセッションによる通信を待機する第1の待機処理と、
前記第1の禁止判断処理によって通信が禁止されていないと判断された場合、又は、前記待機処理による待機が解除された場合に、前記新たなセッション以外のセッションによる通信を禁止する第1の排他処理と、
前記新たなセッション以外のセッションによる通信を解禁する第1の解禁処理と、
を前記情報処理装置に実行させ、
前記第1の要求送信処理では、前記第1の排他処理によって前記新たなセッション以外のセッションによる通信を禁止した状態で、前記第1の要求受信処理により前記新たなセッションを介して受信した前記処理要求を前記画像処理装置に送信し、
前記第1の解禁処理では、前記第1の中止判断処理によって中止が通知されたと判断されることなく前記第1の要求受信処理による前記処理要求の受信が完了した場合、及び、前記第1の中止判断処理によって中止が通知されたと判断された場合に、前記新たなセッション以外のセッションによる通信を解禁する、通信中継プログラム。 - 画像処理装置と通信回線で接続されている情報処理装置で実行される通信中継プログラムであって、
クライアントアプリケーションから処理要求を受信する第2の要求受信処理と、
前記第2の要求受信処理によって前記処理要求の受信が開始されると、当該処理要求の受信が完了するのを待つことなく前記画像処理装置への当該処理要求の送信を開始する第2の要求送信処理と、
前記第2の要求受信処理による前記処理要求の受信中に、前記クライアントアプリケーションから通信の中止が通知されたか否かを判断する第2の中止判断処理と、
前記第2の中止判断処理によって中止が通知されたと判断された場合に、前記画像処理装置に通信の中止を通知する第1の中止通知処理と、
を前記情報処理装置に実行させる通信中継プログラム。 - 請求項3に記載の通信中継プログラムであって、
前記クライアントアプリケーションはマルチセッションによって通信するものであり、
当該通信中継プログラムは、
前記クライアントアプリケーションからセッションの確立を要求されると、その要求に応じて前記クライアントアプリケーションとの間に新たなセッションを確立する第2の確立処理と、
前記第2の確立処理によって前記新たなセッションが確立されると、前記クライアントアプリケーションとの間に確立されている他のセッション以外のセッションによる通信が禁止されているか否かを判断する第2の禁止判断処理と、
前記第2の禁止判断処理によって通信が禁止されていると判断された場合に、通信が解禁されるまで前記新たなセッションによる通信を待機する第2の待機処理と、
前記第2の禁止判断処理によって通信が禁止されていないと判断された場合、又は、前記待機処理による待機が解除された場合に、前記新たなセッション以外のセッションによる通信を禁止する第2の排他処理と、
前記新たなセッション以外のセッションによる通信を解禁する第2の解禁処理と、
を前記情報処理装置に実行させ、
前記第2の要求送信処理では、前記第2の排他処理によって前記新たなセッション以外のセッションによる通信を禁止した状態で、前記第2の要求受信処理により前記新たなセッションを介して受信した前記処理要求を前記画像処理装置に送信し、
前記第2の解禁処理では、前記第2の中止判断処理によって中止が通知されたと判断されることなく前記第2の要求受信処理による前記処理要求の受信が完了した場合、及び、前記第2の中止判断処理によって中止が通知されたと判断された場合に、前記新たなセッション以外のセッションによる通信を解禁する、通信中継プログラム。 - 画像処理装置と通信回線を介して通信可能に接続されている情報処理装置で実行される通信中継プログラムであって、
マルチセッションによって通信するクライアントアプリケーションからセッションを確立する要求を受信すると、その要求に応じて前記クライアントアプリケーションとの間にセッションを確立する第3の確立処理と、
前記第3の確立処理によって確立された前記セッションを介して前記クライアントアプリケーションから処理要求を受信する第3の要求受信処理と、
前記第3の要求受信処理によって前記処理要求の受信が開始されると、当該処理要求の受信が完了するのを待つことなく前記画像処理装置への当該処理要求の送信を開始する第3の要求送信処理であって、当該処理要求を受信した前記セッションを識別するためのセッション情報を付加したセッション情報付き処理要求を前記画像処理装置に送信する第3の要求送信処理と、
前記第3の要求送信処理によって送信された前記処理要求に対する応答として前記画像処理装置から前記セッション情報が付加されたセッション情報付き応答を受信する第1の応答受信処理と、
前記第1の応答受信処理によって受信された前記セッション情報付き応答から前記セッション情報を除去した応答を、当該セッション情報によって識別される前記セッションを介して前記クライアントアプリケーションに送信する第1の応答送信処理と、
前記第3の要求受信処理による前記処理要求の受信中に、前記クライアントアプリケーションから前記セッションを介して通信の中止が通知されたか否かを判断する第3の中止判断処理と、
前記第3の中止判断処理によって中止が通知されたと判断された場合に、当該中止が通知された前記セッションの前記セッション情報を付加したセッション情報付き中止通知を前記画像処理装置に送信する第2の中止通知処理と、
を前記情報処理装置に実行させる、通信中継プログラム。 - 請求項5に記載の通信中継プログラムであって、
前記第3の確立処理によって前記セッションが確立されると、確立された前記セッションのセッション識別子を生成する識別子生成処理と、
前記識別子生成処理によって生成された前記セッション識別子と前記セッションを識別するための識別情報とを対応付けて記憶装置に記憶させる第1の記憶処理と、
前記記憶装置に記憶されている前記セッション識別子と当該セッション識別子に対応付けられている前記識別情報とを前記記憶装置から削除する削除処理と、
を前記情報処理装置に実行させ、
前記第3の要求送信処理において、前記識別子生成処理によって生成された前記セッション識別子を前記セッション情報として前記処理要求に付加し、
前記第1の応答送信処理において、前記セッション情報付き応答に前記セッション情報として付加されている前記セッション識別子に対応付けられている前記識別情報によって識別される前記セッションを介して前記クライアントアプリケーションに前記応答を送信し、
前記削除処理において、前記第3の中止判断処理によって中止が通知されたと判断された場合に、当該中止が通知された前記セッションの前記セッション識別子と前記識別情報とを前記記憶装置から削除する、通信中継プログラム。 - 請求項6に記載の通信中継プログラムであって、
前記第1の応答送信処理において、前記セッション情報付き応答に前記セッション情報として付加されている前記セッション識別子が前記記憶装置に記憶されていない場合は、前記クライアントアプリケーションに前記応答を送信しない、通信中継プログラム。 - 請求項1乃至請求項7のいずれか一項に記載の通信中継プログラムであって、
前記通信回線はユニバーサルシリアルバスである、通信中継プログラム。 - 情報処理装置と通信回線を介して通信する第1の通信部と、
第1の処理部と、
前記第1の処理部から受信した処理要求に対する応答を前記第1の処理部に送信する第1の応答部と、
を備え、
前記第1の処理部は、
前記情報処理装置から処理要求を受信する第4の要求受信処理と、
前記第4の要求受信処理によって前記処理要求の受信が開始されると、前記第1の応答部との間に通信を確立する第4の確立処理と、
前記第4の確立処理によって確立された前記通信を介して前記第1の応答部に前記処理要求を送信する第4の要求送信処理と、
前記第4の要求送信処理によって送信された前記処理要求に対する応答を前記第1の応答部から受信する第2の応答受信処理と、
前記第2の応答受信処理によって受信した前記応答を前記情報処理装置に送信する第2の応答送信処理と、
前記第4の要求受信処理による前記処理要求の受信中に、前記情報処理装置から通信の中止が通知されたか否かを判断する第4の中止判断処理と、
前記第4の中止判断処理によって中止が通知されたと判断された場合に、前記第4の確立処理によって確立された前記通信を終了させる第1の終了処理と、
を実行する、画像処理装置。 - 請求項9に記載の画像処理装置であって、
前記第1の処理部は、前記情報処理装置から受信した前記処理要求を前記第1の応答部に送信した後、前記情報処理装置に前記応答を送信する前に前記情報処理装置から通信の中止が通知された場合は、前記第2の応答送信処理において、前記第1の応答部から送信された前記応答を前記情報処理装置に送信しない、画像処理装置。 - 情報処理装置と通信回線を介して通信する第2の通信部と、
第2の処理部と、
前記第2の処理部から受信した処理要求に対する応答を前記第2の処理部に送信する第2の応答部と、
記憶部と、
を備え、
前記第2の処理部は、
前記情報処理装置からセッション情報付き処理要求を受信する第5の要求受信処理と、
前記第5の要求受信処理によって前記セッション情報付き処理要求が受信されると、当該セッション情報付き処理要求に付加されているセッション情報が、当該第2の処理部と前記第2の応答部との間に確立されている通信を識別するための通信識別情報に対応付けられて前記記憶部に記憶されているか否かを判断する記憶判断処理と、
前記記憶判断処理によって前記セッション情報が記憶されていないと判断された場合に、前記第2の応答部との間に新たな通信を確立する第5の確立処理と、
前記第5の確立処理によって確立された前記通信を識別するための通信識別情報と前記セッション情報とを対応付けて前記記憶部に記憶させる第2の記憶処理と、
前記記憶判断処理によって前記セッション情報が記憶されていると判断された場合は、前記セッション情報付き処理要求から前記セッション情報を除去した処理要求を、当該セッション情報に対応付けられて前記記憶部に記憶されている前記通信識別情報によって識別される前記通信を介して前記第2の応答部に送信する一方、前記記憶判断処理によって前記セッション情報が記憶されていないと判断された場合は、前記セッション情報付き処理要求から前記セッション情報を除去した処理要求を、前記第5の確立処理によって確立された前記新たな通信を介して前記第2の応答部に送信する第5の要求送信処理と、
前記通信を介して前記第2の応答部に送信した前記処理要求に対する応答を、当該通信を介して前記第2の応答部から受信する第3の応答受信処理と、
前記第3の応答受信処理によって受信された前記応答に当該応答を受信した前記通信の前記通信識別情報に対応付けられて前記記憶部に記憶されている前記セッション情報を付加したセッション情報付き応答を前記情報処理装置に送信する第3の応答送信処理と、
前記第5の要求受信処理による前記処理要求の受信中に、前記情報処理装置からセッション情報付き中止通知を受信したか否かを判断する第5の中止判断処理と、
前記第5の中止判断処理によって前記セッション情報付き中止通知を受信したと判断された場合に、当該セッション情報付き中止通知に付加されている前記セッション情報に対応付けられている前記通信識別情報によって識別される前記通信を終了させる第2の終了処理と、
を実行する、画像処理装置。 - 請求項11に記載の画像処理装置であって、
前記第2の処理部は、
前記第3の応答受信処理による前記応答の受信中に、前記情報処理装置からセッション情報付き中止通知を受信したか否かを判断する第6の中止判断処理と、
前記第6の中止判断処理によって前記セッション情報付き中止通知を受信したと判断された場合に、当該セッション情報付き中止通知に付加されている前記セッション情報に対応付けられて前記記憶部に記憶されている前記通信識別情報によって識別される前記通信を終了させる第3の終了処理と、
を実行する、画像処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012240735A JP6075010B2 (ja) | 2012-10-31 | 2012-10-31 | 通信中継プログラム、及び、画像処理装置 |
US14/068,518 US9110611B2 (en) | 2012-10-31 | 2013-10-31 | Non-transitory computer-readable mediums and image processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012240735A JP6075010B2 (ja) | 2012-10-31 | 2012-10-31 | 通信中継プログラム、及び、画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014089675A true JP2014089675A (ja) | 2014-05-15 |
JP6075010B2 JP6075010B2 (ja) | 2017-02-08 |
Family
ID=50546869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012240735A Active JP6075010B2 (ja) | 2012-10-31 | 2012-10-31 | 通信中継プログラム、及び、画像処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9110611B2 (ja) |
JP (1) | JP6075010B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014178987A (ja) * | 2013-03-15 | 2014-09-25 | Brother Ind Ltd | 中継サーバ |
JP2019079333A (ja) * | 2017-10-25 | 2019-05-23 | キヤノン株式会社 | 通信装置、通信方法、及びプログラム |
JP2021105800A (ja) * | 2019-12-26 | 2021-07-26 | ブラザー工業株式会社 | プログラム、プログラム群、および情報処理装置 |
JP2021140587A (ja) * | 2020-03-06 | 2021-09-16 | 株式会社C−Rise | 情報処理方法、コンピュータプログラム及び情報処理装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6011167B2 (ja) | 2012-09-03 | 2016-10-19 | ブラザー工業株式会社 | 通信中継プログラム、及び、通信中継装置 |
JP6167502B2 (ja) * | 2012-10-31 | 2017-07-26 | ブラザー工業株式会社 | 通信中継プログラム、通信中継装置、及び、画像処理装置 |
JP6044597B2 (ja) * | 2014-07-01 | 2016-12-14 | コニカミノルタ株式会社 | 画像処理システム、中継サーバー及びプログラム |
US9779004B2 (en) * | 2015-03-23 | 2017-10-03 | Netapp, Inc. | Methods and systems for real-time activity tracing in a storage environment |
JP6465755B2 (ja) * | 2015-06-11 | 2019-02-06 | キヤノン株式会社 | 制御方法、プログラム及びクライアント端末 |
JP6521762B2 (ja) * | 2015-06-24 | 2019-05-29 | キヤノン株式会社 | Httpサーバとその制御方法、画像形成装置およびプログラム |
US20170005938A1 (en) * | 2015-06-30 | 2017-01-05 | Konica Minolta Laboratory U.S.A., Inc. | System and method of tcp/ip bypass over universal serial bus (usb) |
JP2017034482A (ja) * | 2015-07-31 | 2017-02-09 | キヤノン株式会社 | 画像形成装置、その制御方法、及びプログラム |
JP6768544B2 (ja) * | 2017-01-31 | 2020-10-14 | キヤノン株式会社 | 情報処理装置、制御方法およびプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007305049A (ja) * | 2006-05-15 | 2007-11-22 | Nippon Telegr & Teleph Corp <Ntt> | ファイル転送システム、ファイル転送プログラムおよびファイル転送方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220674A (en) | 1987-07-17 | 1993-06-15 | Digital Equipment Corporation | Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination |
US7383321B2 (en) * | 2002-07-09 | 2008-06-03 | Moyer Alan L | Method and system for communicating between a remote printer and a server |
US8346848B2 (en) | 2001-08-16 | 2013-01-01 | Juniper Networks, Inc. | System and method for maintaining statefulness during client-server interactions |
JP3888130B2 (ja) * | 2001-11-01 | 2007-02-28 | セイコーエプソン株式会社 | 無線ネットワークのステーション |
JP2006056069A (ja) * | 2004-08-18 | 2006-03-02 | Canon Inc | 印刷制御装置および印刷制御方法 |
US20070033646A1 (en) | 2005-08-05 | 2007-02-08 | Sierra Wireless, Inc. A Canadian Corp. | Suspension and resumption of secure data connection session |
US20070173077A1 (en) | 2006-01-24 | 2007-07-26 | Hwa Yao Technologies Co., Ltd. | Universal serial bus (usb) network adapter connectable to external antenna |
JP5307610B2 (ja) * | 2009-04-17 | 2013-10-02 | キヤノン株式会社 | 無線通信システムと通信方法 |
KR101569037B1 (ko) * | 2009-12-03 | 2015-11-16 | 삼성전자주식회사 | 컨트롤 포인트, 화상형성장치, 및 인쇄 제어 방법 |
JP5446943B2 (ja) * | 2010-01-29 | 2014-03-19 | ソニー株式会社 | 印刷システム及びプリンタ装置の制御方法 |
JP2011165009A (ja) * | 2010-02-10 | 2011-08-25 | Canon Inc | 印刷ジョブ管理装置及び印刷ジョブ管理方法及び画像形成装置 |
JP2011180954A (ja) * | 2010-03-03 | 2011-09-15 | Seiko Epson Corp | 機器制御装置、機器制御プログラムおよびサーバー |
JP5539043B2 (ja) | 2010-06-08 | 2014-07-02 | キヤノン株式会社 | 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム |
CN103003832B (zh) | 2010-07-19 | 2015-11-25 | Eft资源公司 | 用于个性化金融交易卡的即时派发的系统和方法 |
JP5641921B2 (ja) * | 2010-12-20 | 2014-12-17 | キヤノン株式会社 | 画像処理装置、画像処理装置と外部装置を有するシステム、システムの制御方法、及びプログラム |
US8627449B2 (en) | 2011-03-03 | 2014-01-07 | Cisco Technology, Inc. | Dynamic tunneling over virtual private network connections based on network conditions |
CN102970320B (zh) * | 2011-08-31 | 2016-12-21 | 精工爱普生株式会社 | 处理装置、处理方法 |
JP6167502B2 (ja) * | 2012-10-31 | 2017-07-26 | ブラザー工業株式会社 | 通信中継プログラム、通信中継装置、及び、画像処理装置 |
JP6015360B2 (ja) * | 2012-11-02 | 2016-10-26 | ブラザー工業株式会社 | 通信装置および通信プログラム |
JP6099958B2 (ja) * | 2012-12-10 | 2017-03-22 | キヤノン株式会社 | 画像形成装置及びその制御方法とプログラム |
-
2012
- 2012-10-31 JP JP2012240735A patent/JP6075010B2/ja active Active
-
2013
- 2013-10-31 US US14/068,518 patent/US9110611B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007305049A (ja) * | 2006-05-15 | 2007-11-22 | Nippon Telegr & Teleph Corp <Ntt> | ファイル転送システム、ファイル転送プログラムおよびファイル転送方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014178987A (ja) * | 2013-03-15 | 2014-09-25 | Brother Ind Ltd | 中継サーバ |
JP2019079333A (ja) * | 2017-10-25 | 2019-05-23 | キヤノン株式会社 | 通信装置、通信方法、及びプログラム |
US10715685B2 (en) | 2017-10-25 | 2020-07-14 | Canon Kabushiki Kaisha | Determining whether session IDs match and taking action accordingly |
JP2021105800A (ja) * | 2019-12-26 | 2021-07-26 | ブラザー工業株式会社 | プログラム、プログラム群、および情報処理装置 |
JP7338461B2 (ja) | 2019-12-26 | 2023-09-05 | ブラザー工業株式会社 | プログラム、プログラム群、および情報処理装置 |
JP2021140587A (ja) * | 2020-03-06 | 2021-09-16 | 株式会社C−Rise | 情報処理方法、コンピュータプログラム及び情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US9110611B2 (en) | 2015-08-18 |
JP6075010B2 (ja) | 2017-02-08 |
US20140118789A1 (en) | 2014-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6075010B2 (ja) | 通信中継プログラム、及び、画像処理装置 | |
JP6167502B2 (ja) | 通信中継プログラム、通信中継装置、及び、画像処理装置 | |
JP6011167B2 (ja) | 通信中継プログラム、及び、通信中継装置 | |
JP6155607B2 (ja) | 通信中継プログラム、及び、通信中継装置 | |
JP5424856B2 (ja) | 画像形成装置及びその省電力制御方法とプログラム | |
JP6353345B2 (ja) | 通信システム、通信装置及びその制御方法、情報処理装置及びその制御方法、並びにプログラム | |
US8947720B2 (en) | Communication terminal device, communication control method, and non-transitory computer-readable medium storing communication control program | |
JP6560559B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
CN107203353B (zh) | 图像形成装置及其控制方法 | |
JP4677346B2 (ja) | 通信装置及び印刷装置及びこれらを含む印刷システムとその制御方法 | |
US20170322755A1 (en) | Printing System, Print Management Server, Communication Relay Device, and Recording Medium | |
JP2013168101A (ja) | 印刷制御装置、印刷システム、印刷制御装置の制御方法、及びプログラム | |
JP2020102038A (ja) | 通信方法、情報処理装置、およびプログラム | |
JP7240118B2 (ja) | 情報処理装置、その制御方法およびプログラム | |
JP2016083870A (ja) | 画像形成装置及びその制御方法、システム | |
JP2006088591A (ja) | 印刷装置およびその制御方法 | |
JP5807713B1 (ja) | 画像処理装置及び画像処理プログラム | |
JP2012080519A (ja) | 画像処理装置 | |
JP5038125B2 (ja) | 通信装置及びデータ通信方法 | |
JP5546189B2 (ja) | 画像形成装置、画像形成装置の制御方法及びプログラム | |
JP7183715B2 (ja) | 画像形成装置及び画像形成プログラム | |
JP7305710B2 (ja) | 印刷制御装置及びその制御方法 | |
JP5355288B2 (ja) | データ処理装置、制御方法、及びプログラム | |
JP6167896B2 (ja) | モバイル装置,通信装置,およびプログラム | |
JP2017068403A (ja) | 通信装置、通信システムおよびコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20140409 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150930 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160826 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160927 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161124 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161226 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6075010 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |