JP6167502B2 - 通信中継プログラム、通信中継装置、及び、画像処理装置 - Google Patents
通信中継プログラム、通信中継装置、及び、画像処理装置 Download PDFInfo
- Publication number
- JP6167502B2 JP6167502B2 JP2012240618A JP2012240618A JP6167502B2 JP 6167502 B2 JP6167502 B2 JP 6167502B2 JP 2012240618 A JP2012240618 A JP 2012240618A JP 2012240618 A JP2012240618 A JP 2012240618A JP 6167502 B2 JP6167502 B2 JP 6167502B2
- Authority
- JP
- Japan
- Prior art keywords
- session
- response
- ipp
- data
- processing
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
- G06F21/608—Secure printing
-
- 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/1203—Improving or facilitating administration, e.g. print management
- G06F3/1209—Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
-
- 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/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Description
そして、画像処理装置と端末装置とがUSB(Universal Serial Bus)によって接続されている環境において上述したIPPによる通信を行うためのIPP over USBという規格のドラフト(2012年10月31日時点においてVersion 1.0 Draft 20)が知られている。
実施形態1を図1ないし図10によって説明する。
(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ホストインタフェース部26(図1ではUSBホストIF部と記す)を備えて構成されている。
操作部24は、キーボードやマウス、それらが接続されるインタフェースなどで構成されている。
IPP/USB変換プログラム43は通信中継プログラムの一例である。Webブラウザ42はマルチセッションによって通信するクライアントアプリケーションの一例である。また、記憶部25は記憶装置の一例である。
次に、図1を参照して、プリンタ3の電気的構成について説明する。プリンタ3は、制御部31、USBクライアントインタフェース部(図1ではUSBクライアントIF部と記す)32、印刷部33、操作部34、及び、記憶部35を備えて構成されている。
操作部34は、液晶ディスプレイなどの表示装置や各種の操作ボタンなどを備えて構成されている。
記憶部35は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のデータを記憶する装置である。記憶部35は記憶装置の一例である。
次に、図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のポート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以上の論理的な通信回線が構成される。
USBではコントロール転送を行うためのエンドポイント0と呼ばれる特殊なエンドポイントが必ず構成される。エンドポイント0は双方向通信が可能なエンドポイントである。インタフェースはエンドポイント0を介してプリンタ3から取得されるインタフェースディスクリプタに従って構成される。各インタフェースは通常1ないし複数のエンドポイントを有する。
なお、インタフェース2を構成せず、プリンタ3を設定するための通信(a)、及び、プリンタ3に印刷データを送信するための通信(b)をどちらもインタフェース1を用いて行ってもよい。
次に、USBを介してマルチセッションによる通信を行う場合の課題について説明する。ここではプリンタ3を設定するための通信(a)を例に説明する。
先ず、図3を参照して、プリンタ3の設定画面60について説明する。図3に示す設定画面60では、プリンタ言語60a、第1のトレイにセットされている用紙サイズ60b、及び、第2のトレイにセットされている用紙サイズ60cを設定することができる。また、設定画面60には画像62a、画像62b、画像62cが表示される。ここでは画像62a〜62cをそれぞれGIF1、GIF2、GIF3というものとする。
IPP/USB変換プログラム43はIPP機能51から画面データを受信すると、Webブラウザ42から受信したGETコマンドに対する応答としてその画面データをWebブラウザ42に送信する。
例えば、Webブラウザ42は最初にGIF1の送信を要求するためのセッションの確立を要求し、そのセッションを介して送信した処理要求に対する応答を待たずに、GIF2の送信を要求するためのセッションの確立を要求する。同様に、Webブラウザ42はGIF2の送信を要求するためのセッションを介して送信した処理要求に対する応答を待たずに、GIF3の送信を要求するためのセッションの確立を要求する。
このため、各セッションがインタフェース1を介して通信すると、IPP/USB変換プログラム43がIPP機能51から応答を受信したとき、IPP/USB変換プログラム43はその応答がいずれのセッションを介して受信した処理要求に対する応答であるかを判断できない。このため、あるセッションに対する応答が別のセッションに送信されてしまうなどのような混乱が起こり得る。
そして、IPP/USB変換プログラム43はセッションID付き応答からセッションIDを除去した応答を、当該セッションIDによって識別されるセッションを介してWebブラウザ42に送信する。
先ず、図4を参照して、通信の全体的な流れについて説明する。ここではプリンタ3を設定するための通信(a)を例に説明する。前述したようにプリンタ3を設定するための通信(a)はインタフェース1を用いて行われる。
また、ここではIPP機能51とWebサーバ機能52とをまとめてプリンタ3というものとする。
IPP/USB変換プログラム43はセッション1を介して処理要求を受信すると、その処理要求にセッション1を識別するためのセッションIDを付加したセッションID付き処理要求を、USBを介してプリンタ3に送信する(S003)。
IPP/USB変換プログラム43はセッションID付き応答を受信すると、セッションID付き応答からセッションIDを除去した応答を、そのセッションIDによって識別されるセッション、すなわちセッション1を介してWebブラウザ42に送信する(S008)。
IPP/USB変換プログラム43は、セッション2を介して処理要求を受信すると、その処理要求にセッション2を識別するためのセッションIDを付加したセッションID付き処理要求を、USBを介してプリンタ3に送信する(S006)。
IPP/USB変換プログラム43はセッションID付き応答を受信すると、セッションID付き応答からセッションIDを除去した応答を、そのセッションIDによって識別されるセッション、すなわちセッション2を介してWebブラウザ42に応答を送信する(S013)。
セッション3についても同様にセッションの要求とそれに対する応答が行われる。
これら一連の処理によってGIF1〜GIF3がWebブラウザ42に読み込まれ、設定画面60上にGIF1〜GIF3が表示される。
次に、図5を参照して、セッションIDが付加された処理要求のデータ構造、及び、セッションIDが付加された応答のデータ構造について説明する。
先ず、セッションIDが付加された処理要求のデータ構造について説明する。ここでは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)の付加データが続くことが示される場合もある。
なお、部分処理要求データは処理の仕方によりいろいろな形態が考えられる。例えば固定長、あるいは特定の条件によってきまるデータ長ごとに受信し、それぞれを部分処理要求データとすることもできる。
応答のデータ構造もHTTPの仕様に準拠するものであり、広く用いられているものであるのでここではその概略のみを説明する。応答はサイズ情報データと応答データとからなる。
サイズ情報データは応答データのデータサイズを示すものである。
応答データも1以上の通信データからなり、最後の通信データは<CRLF>のみである。またGETコマンドに対する応答データにあっては、処理要求の場合と同様にバイナリデータやテキストデータなどの付加データが付加される。例えば前述したGIF1〜GIF3はGETコマンドに対する応答に付加される付加データである。
サイズ情報データ、各通信データ、付加データ、あるいは付加データを細切れにした各データ塊はそれぞれ部分応答データの一例である。つまり、IPP/USB変換プログラム43はIPP機能51から応答を複数の部分応答データに分けて受信する。なお、部分応答データは処理の仕方によりいろいろな形態が考えられる。
次に、図6を参照して、IPP/USB変換プログラム43による通信中継処理についてより具体的に説明する。前述したようにIPP/USB変換プログラム43は常駐プログラムとして実行されるものであり、本処理はPC2に電源が投入されると開始される。
ここで、本処理はWebブラウザ42とIPP機能51との間で通信を中継する処理であり、スプーラ44とIPP機能51との間で通信を中継する処理は本処理とは別の処理として実行されるものとする。当該別の処理についての説明は省略する。
S104では、IPP/USB変換プログラム43はスレッドを生成する。
S105では、IPP/USB変換プログラム43はOS41から終了要求があったか否かを判断する。この終了要求はこの常駐プログラムであるIPP/USB変換プログラム43の終了を要求するものである。IPP/USB変換プログラム43は常駐プログラムであるので通常は「否」であるが、ユーザの操作等によりプログラムの終了が指示されると終了要求を受ける。IPP/USB変換プログラム43は、終了要求があった場合は本処理を終了し、なかった場合はS103に戻って処理を繰り返す。
次に、図7を参照して、IPP/USB変換プログラム43がWebブラウザ42から処理要求を受信する処理について説明する。この処理は前述したS104で生成されたスレッドによって実行される。すなわち、アクセプト要求が複数ある場合は、それぞれ別のスレッドとしてこの処理は実行される。従って図7のフローチャートの中で扱うセッションは1つのみであり、複数のセッションがある場合は、別々のスレッドにより図7のフローチャートの処理が並行して行われることになる。
具体的には、スレッドはWebブラウザ42と通信を行うための新たなソケットを生成し、生成したソケットを用いてWebブラウザ42との間にセッションを確立する。なお、ソケットのオープン、クローズ、アクセプトなどのタイミングで、USBのエンドポイント0を用いたコントロール転送を用いてプリンタ3に情報を送り、上記オープン、クローズ、アクセプトなどのタイミングでプリンタ3と同期をとってもよい。
S204では、スレッドはS203で受信した部分処理要求データにS202で生成したセッションIDを付加する。具体的には、部分処理要求データの最初の8バイトをセッションIDとする、又は、部分処理要求データの最初の一行はセッションIDとするなど、予め決められたルールによってセッションIDを付加する。
具体的には、スレッドはS101で生成されたミューテックスの取得を試みる。ミューテックスが他のスレッドによって取得されていない場合は当該スレッドによってミューテックスが取得され、その後にミューテックスの取得を試みた他のスレッドは当該スレッドによってミューテックスが解放されるまで待機状態となる。これにより他のスレッドは通信が禁止された状態となる。
スレッドはミューテックスを取得するとS206に進む。
スレッドは、一つの処理要求の受信が完了していない場合はS208に進み、受信が完了した場合はS210に進む。
S209では、スレッドはS208で受信した部分処理要求データを、USBを介してIPP機能51に送信する。ただし、ここではスレッドは部分処理要求データにセッションIDを付加せずに送信する。
S211では、スレッドはS201で生成したソケットを識別するためのソケット情報とS202で生成したセッションIDとを対応付けて記憶部25に記憶させる。S211は記憶処理の一例である。また、ソケット情報はセッションを識別するための識別情報の一例である。
次に、図8を参照して、IPP/USB変換プログラム43がIPP機能51から応答を受信する処理について説明する。
S303では、IPP/USB変換プログラム43はS302で取得したセッションIDと同じセッションIDに対応付けられて記憶されているソケット情報を記憶部25から読み出す。
S305では、IPP/USB変換プログラム43はS304でセッションIDを除去した部分応答データを、S303で読み出したソケット情報によって識別されるセッションを介してWebブラウザ42に送信する。S305は第1の応答送信処理の一例である。
S308では、IPP/USB変換プログラム43はS307で受信した部分応答データを、S303で読み出したソケット情報によって識別されるセッションを介してWebブラウザ42に送信する。
S310では、IPP/USB変換プログラム43はS302で取得したセッションIDと当該セッションIDに対応付けられているソケット情報とを記憶部25から削除する。S310は削除処理の一例である。
次に、IPP機能51がIPP/USB変換プログラム43から処理要求を受信する処理、及び、IPP機能51がWebサーバ機能52から応答を受信する処理について説明する。
先ず、図9を参照して、IPP機能51がIPP/USB変換プログラム43から処理要求を受信する処理について説明する。
S401では、IPP機能51はIPP/USB変換プログラム43からUSBを介して部分処理要求データを受信する。前述したように最初の部分処理要求データにはセッションIDが付加されている。S401は第2の要求受信処理の一例である。
S403では、IPP機能51はS402で取得したセッションIDが、記憶部35に記憶されているか否かを判断する。詳しくは後述するが、IPP機能51は、セッションID付処理要求データを受信した新たなソケットを生成すると、そのソケットを識別するための通信識別情報に対応付けて記憶部35に記憶する。S403にて、IPP機能51は、記憶されていないと判断した場合はS404に進み、記憶されていると判断した場合はS406に進む。S403は記憶判断処理の一例である。
S405では、IPP機能51はS402で取得したセッションIDとS404で生成したソケットを識別するためのソケット情報とを対応付けて記憶部35に記憶させる。S405は記憶処理の一例である。また、ソケット情報は通信識別情報の一例である。
S407では、IPP機能51はS401で受信したセッションID付き部分処理要求データからセッションIDを除去する。
S408では、IPP機能51はS407でセッションIDを除去した部分処理要求データ、又は、後述するS410で受信したセッションIDが付加されていない部分処理要求データを、S404で生成したソケット、あるいは、S406で読み出したソケット情報によって識別されるソケットを介してWebサーバ機能52に送信する。S408は第2の要求送信処理の一例である。
S410では、IPP機能51はIPP/USB変換プログラム43からUSBを介して次の部分処理要求データを受信する。ただし、ここで受信される部分処理要求データにはセッションIDは付加されていない。
S411では、IPP機能51はスレッドを生成する。このスレッドはWebサーバ機能52から応答を受信してIPP/USB変換プログラム43に送信するためのものである。
次に、図10を参照して、IPP機能51がWebサーバ機能52から応答を受信する処理について説明する。この処理は前述したS411で生成されたスレッドによって実行される。
S501では、スレッドはS402で取得されたセッションIDを継承するとともに、S404で生成されたソケットのソケット情報、又は、S406で読み出されたソケット情報を継承する。
S503では、スレッドはインタフェース1の排他処理を実行する。具体的には、スレッドはインタフェース1のミューテックスを取得する。なお、ここで取得するミューテックスはS101で生成されたものとは異なるものである。ここで取得するミューテックスは例えばプリンタ3に電源が投入されたときの初期化処理において生成されたものである。
S505では、スレッドは2番目以降の部分応答データにはセッションIDを付加せずに順次IPP/USB変換プログラム43に送信する。
上述したS504及びS505は第2の応答送信処理の一例である。
S507では、スレッドはS501で継承したセッションID及びソケット情報を記憶部35から削除する。
以上説明したIPP/USB変換プログラム43によると、Webブラウザ42から受信した処理要求にセッションIDを付加する。そして、IPP/USB変換プログラム43によると、IPP機能51にセッションID付き処理要求を送信し、その応答としてIPP機能51からセッションID付き応答を受信するので、IPP機能51から応答を受信したとき、どのセッションを介してWebブラウザ42にその応答を送信すればよいかを、当該応答に付加されているセッションIDによって識別できる。
よってIPP/USB変換プログラム43によると、USBのようなマルチセッションの概念がない通信回線でWebブラウザとWebサーバとが通信を行う場合であっても、USB(より具体的にはインタフェース1)を介してWebブラウザ42がプリンタ3とマルチセッションによって混乱なく通信することができる。
つまり、従来はUSBにはセッションの概念がなかったので、セッションIDを付加する、ということは行われていなかったが、IPP/USB変換プログラム43でそれを行うことにより、IPP over USBでも混信なく通信を行うことができる。
次に、実施形態2を図11ないし図16によって説明する。
図11を参照して、実施形態2に係るセッションID付き処理要求について説明する。前述した実施形態1に係るIPP/USB変換プログラム43は一つの処理要求についてIPP機能51にセッションIDを一度しか送信しない。これに対し、実施形態2に係るIPP/USB変換プログラム43は、Webブラウザ42から受信した処理要求を複数の部分処理要求データに分割し、部分処理要求データ毎にセッションIDを付加して送信する。
(a)ヘッダ
(b)Content-Lengthにより一括指定される付加データのデータ塊
(c)chunked指定により指定される複数に分割された付加データのそれぞれのデータ塊
ここでヘッダとは、処理要求のうち付加データ以外のデータのことをいう。付加データが付加されていない場合は処理要求全体がヘッダに相当する。実際の処理要求では、(1)のみ、あるいは(1)および(2)、あるいは(1)および単数もしくは複数の(3)により処理要求が構成される。
そして、IPP/USB変換プログラム43は、セッション1による処理要求の受信が完了する前にセッション2を介してヘッダを受信すると、そのヘッダにセッション2のセッションIDを付加したセッションID付きヘッダをIPP機能51に送信する。以下同様に、IPP/USB変換プログラム43はセッションを介して部分処理要求データを受信する毎にその部分処理要求データに当該部分処理要求データを受信したセッションのセッションIDを付加してIPP機能51に送信する。
次に、実施形態2に係るWebブラウザから処理要求を受信する処理について説明する。
先ず、図12を参照して、実施形態2に係るIPP/USB変換プログラム43がWebブラウザ42から処理要求を受信する処理について説明する。この処理はS104で生成されたスレッドによって実行される。
S601では、スレッドはアクセプト処理を実行する。
S602では、スレッドはS601で生成したソケットを識別するためのセッションIDを生成する。
S604では、スレッドはS601で確立したセッションを介してWebブラウザ42から処理要求のヘッダを受信する。
S605では、スレッドはインタフェース1の排他処理を実行する。
S608では、スレッドはインタフェース1の排他処理を終了する。
次に、図13を参照して、S610で実行される付加データ送信処理について説明する。
S701では、スレッドは受信したヘッダにContent-Lengthが含まれているか否かを判断し、Content-Lengthが含まれている場合はS702に進み、含まれていない場合(すなわちchunkedが含まれている場合)はS708に進む。
S703では、スレッドはWebブラウザ42からS702で取得したサイズ情報データによって示されるデータサイズの付加データを受信する。
S704では、スレッドはインタフェース1の排他処理を実行する。
S706では、スレッドはS703で受信した付加データを、インタフェース1を介してIPP機能51に送信する。
S707では、スレッドはインタフェース1の排他終了処理を実行する。
S709では、スレッドはWebブラウザ42からS709で取得したサイズ情報データによって示されるデータサイズ分の部分付加データを受信する。
S711では、スレッドはS602で生成されたセッションIDを、インタフェース1を介してIPP機能51に送信する。
S712では、スレッドはS709で受信した部分付加データを、インタフェース1を介してIPP機能51に送信する。
S713では、スレッドはインタフェース1の排他終了処理を実行する。
ただし、本処理が終了してもソケットは存続し続ける。
次に、図14を参照して、実施形態2に係るIPP/USB変換プログラム43がIPP機能51から応答を受信する処理について説明する。ここでは図8と実質的に同一の処理には同一の符号を付して説明を省略する。
以後の処理は図8の同一番号を付した部分と同じ処理を行う。ただし、図14の処理では各部分応答データごとにセッションIDが付与されているので、IPP/USB変換プログラム43はS306にて「否」と判断した場合はS801に戻り、再びセッションID付部分応答データを受信するとともに、S302、S303を経てS304にてセッションIDを削除したのちにS305においてWebブラウザ42に送信する。
次に、実施形態2に係るIPP機能51の処理について説明する。
図15を参照して、実施形態2に係るIPP機能51がIPP/USB変換プログラム43から処理要求を受信する処理について説明する。ここでは図9と実質的に同一の処理には同一の符号を付して説明を省略する。
以下は図9とほぼ同様であるが、S409で「否」と判断された場合は、IPP機能51はS901に戻る。これは実施形態2では各部分処理要求データにセッションIDが付与されているので、それらすべてをS407にて除去した上でWebサーバ機能52に送信するためである。
図16を参照して、実施形態2に係るIPP機能51がWebサーバ機能52から応答を受信する処理について説明する。ここでは図10と実質的に同一の処理には同一の符号を付して説明を省略する。
S1004では、スレッドはWebサーバ機能52からの応答の受信が完了したか否かを判断する。スレッドは、完了したと判断した場合はS507に進み、完了していないと判断した場合はS1001に戻る。
以上説明した実施形態2に係るIPP/USB変換プログラム43によると、処理要求を複数の部分処理要求データ(具体的にはヘッダ及び付加データ)に分割し、部分処理要求データ毎にセッションIDを付加してプリンタ3に送信するので、複数の処理要求を並行してプリンタ3に送信することができる。
また、実施形態2に係るIPP/USB変換プログラム43及びプリンタ3によると、Chunkedで送られる長いデータもそれぞれのデータ塊ごとに送信でき、かつそのデータ塊の送信の合間に別のデータを送ることもできるので、実施例1に比べてさらに効率よくデータ転送が可能になり、高速動作が期待できる。
次に、実施形態3を図17ないし図18によって説明する。
図17を参照して実施形態3に係る処理要求について説明する。前述した実施形態2に係るIPP/USB変換プログラム43は処理要求をヘッダと付加データとの部分処理要求データに分けてIPP機能51に送信する場合を例に説明した。これに対し、実施形態3に係るIPP/USB変換プログラム43は、処理要求を所定のデータサイズ(例えば2048バイト)の部分処理要求データに分割し、分割した部分処理要求データにそれぞれセッションIDとLastFlagとを付加してIPP機能51に送信する。
次に、図18を参照して、実施形態3に係るIPP/USB変換プログラム43がWebブラウザ42から処理要求を受信する処理について説明する。
S1101では、スレッドはアクセプト処理を実行する。
S1102では、スレッドはWebブラウザ42からヘッダを受信する。
S1104では、スレッドはS1102で受信したヘッダのデータサイズ及びS1103で受信した付加データのデータサイズの合計値を計算し、計算した合計値を、未送信のデータ(残データという)のデータサイズを示す変数である残データ数に初期値として設定する。
S1105では、スレッドはセッションIDを生成する。
S1107では、スレッドはインタフェース1の排他処理を実行する。
S1108では、スレッドは残データ数が2048より大きいか否かを判断し、2048より大きい場合は1109に進み、2048以下である場合はS1114に進む。
S1110では、スレッドは残データ数から2048を減じる。
S1111では、スレッドはサイズ情報データとして2048をIPP機能51に送信する。
S1112では、スレッドはLastFlagとして0(零)をIPP機能51に送信する。
S1113では、スレッドはIPP機能51に2048バイト分の部分処理要求データを送信してS1108に戻る。
S1115では、スレッドはサイズ情報データとして残データ数をIPP機能51に送信する。
S1116では、スレッドはLastFlagとして1をIPP機能51に送信する。
S1117では、スレッドは残データ数によって示されるデータサイズの残データをIPP機能51に送信する。
S1118では、スレッドはインタフェース1の排他処理を終了する。
IPP機能51は、受信した部分処理要求データより、セッションIDおよびLastFlagを除去してWEBサーバに送信する。
IPP機能51からIPP/USB変換プログラム43に応答を送信する際にも同様にして送信する。すなわち応答データを2048バイトごとの部分応答データごとに分け、それぞれにデータ数情報およびLastFlag(0)を付して送信し、最後の部分応答データに関してはそのデータ数情報およびLastFlag(1)を付して送信する。
IPP/USB変換プログラム43は、IPP機能51から受信した部分応答データからセッションID及びLastFlagを除去してWebブラウザ42に送信する。
セッションID、ソケットの使用方法などは実施形態1及び実施形態2と同じである。
以上説明した実施形態3に係るIPP/USB変換プログラム43によると、決められたサイズの部分処理要求データに分け、それぞれの部分処理要求データにセッション情報を付加してIPP機能51に送信するので、複数の処理要求を並行してプリンタ3に送信することができる。
上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も技術的範囲に含まれる。
Claims (3)
- Webブラウザを有しマルチセッションによって通信する情報処理装置とマルチセッションの概念がないIPP over USB規格を使ってユニバーサルシリアルバス(USB)回線を介して通信する通信部と、
処理部と、
前記処理部から受信した処理要求に対する応答を前記処理部に送信する応答部と、
を備え、
前記処理部は、
前記情報処理装置からセッションを識別するためのセッション情報が付加されたセッション情報付き処理要求を受信する要求受信処理と、
前記要求受信処理によって受信された前記セッション情報付き処理要求に対する応答として、前記セッション情報を付加したセッション情報付き応答を前記情報処理装置に送信する応答送信処理と、
前記要求受信処理によって前記セッション情報付き処理要求が受信されると、当該セッション情報付き処理要求に付加されているセッション情報が、当該処理部と前記応答部との間に確立されている通信を識別するための通信識別情報に対応付けられて記憶装置に記憶されているか否かを判断する記憶判断処理と、
前記記憶判断処理によって記憶されていないと判断された場合に、前記応答部との間に新たな通信を確立する確立処理と、
前記確立処理によって確立された前記新たな通信を識別するための通信識別情報と前記セッション情報とを対応付けて前記記憶装置に記憶させる記憶処理と、
前記記憶判断処理によって記憶されていると判断された場合は、前記セッション情報付き処理要求から前記セッション情報を除去した処理要求を、当該セッション情報に対応付けられている前記通信識別情報によって識別される前記通信を介して前記応答部に送信する一方、前記記憶判断処理によって記憶されていないと判断された場合は、前記セッション情報付き処理要求から前記セッション情報を除去した処理要求を、前記確立処理によって確立された前記新たな通信を介して前記応答部に送信する要求送信処理と、
前記応答部から前記通信を介して前記処理要求に対する応答を受信する応答受信処理と、
を実行し、
前記応答送信処理において、前記応答受信処理によって前記応答部から受信された前記応答に当該応答を受信した前記通信の前記通信識別情報に対応付けられて前記記憶装置に記憶されている前記セッション情報を付加したセッション情報付き応答を前記情報処理装置に送信する、画像処理装置。 - 請求項1に記載の画像処理装置であって、
前記応答部はWebサーバ機能を有する、画像処理装置。 - 請求項1乃至請求項2のいずれか一項に記載の画像処理装置であって、
前記応答送信処理において、前記応答受信処理によって受信した前記応答を複数の部分応答データに分割し、分割した前記部分応答データにそれぞれ前記セッション情報を付加して前記情報処理装置に送信する、画像処理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012240618A JP6167502B2 (ja) | 2012-10-31 | 2012-10-31 | 通信中継プログラム、通信中継装置、及び、画像処理装置 |
CN201310353873.6A CN103795881B (zh) | 2012-10-31 | 2013-08-14 | 通信中继装置、图像处理装置以及通信中继方法 |
EP13190932.7A EP2728459B1 (en) | 2012-10-31 | 2013-10-30 | Image Processing System |
US14/068,146 US9565053B2 (en) | 2012-10-31 | 2013-10-31 | Non-transitory computer-readable medium, communication relay apparatus, and image processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012240618A JP6167502B2 (ja) | 2012-10-31 | 2012-10-31 | 通信中継プログラム、通信中継装置、及び、画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014089668A JP2014089668A (ja) | 2014-05-15 |
JP6167502B2 true JP6167502B2 (ja) | 2017-07-26 |
Family
ID=49554013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012240618A Active JP6167502B2 (ja) | 2012-10-31 | 2012-10-31 | 通信中継プログラム、通信中継装置、及び、画像処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9565053B2 (ja) |
EP (1) | EP2728459B1 (ja) |
JP (1) | JP6167502B2 (ja) |
CN (1) | CN103795881B (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6011167B2 (ja) | 2012-09-03 | 2016-10-19 | ブラザー工業株式会社 | 通信中継プログラム、及び、通信中継装置 |
JP6167502B2 (ja) | 2012-10-31 | 2017-07-26 | ブラザー工業株式会社 | 通信中継プログラム、通信中継装置、及び、画像処理装置 |
JP6075010B2 (ja) * | 2012-10-31 | 2017-02-08 | ブラザー工業株式会社 | 通信中継プログラム、及び、画像処理装置 |
CN105812345B (zh) * | 2014-12-31 | 2019-08-23 | 广州市动景计算机科技有限公司 | 一种实现网页到客户端通信的方法及装置 |
US10084820B2 (en) * | 2015-02-27 | 2018-09-25 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for IPSec security for IPP-USB data |
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) |
JP6700894B2 (ja) * | 2016-03-25 | 2020-05-27 | キヤノン株式会社 | 画像処理装置、制御方法、プログラム |
JP6960302B2 (ja) * | 2017-10-25 | 2021-11-05 | キヤノン株式会社 | 通信装置、通信方法、及びプログラム |
JP7263837B2 (ja) * | 2019-02-27 | 2023-04-25 | ブラザー工業株式会社 | プログラム、アプリケーション、情報処理装置 |
JP7234687B2 (ja) | 2019-02-27 | 2023-03-08 | ブラザー工業株式会社 | モジュール及びプログラム |
JP7234688B2 (ja) * | 2019-02-27 | 2023-03-08 | ブラザー工業株式会社 | プログラム、アプリケーション、情報処理装置 |
WO2020222900A1 (en) * | 2019-04-30 | 2020-11-05 | Hewlett-Packard Development Company, L.P. | Storage device decoupling determination |
JP7427951B2 (ja) * | 2019-12-16 | 2024-02-06 | ブラザー工業株式会社 | プログラム、プログラム群、および情報処理装置 |
US11971267B2 (en) | 2020-10-05 | 2024-04-30 | Accenture Global Solutions Limited | User journey carbon footprint reduction |
US20240001619A1 (en) * | 2020-10-16 | 2024-01-04 | Hewlett-Packard Development Company, L.P. | 3d fabricated objects with lattice structures having tubes |
US11886837B2 (en) | 2021-04-10 | 2024-01-30 | Accenture Global Solutions Limited | Simulation-based software design and delivery attribute tradeoff identification and resolution |
JP2022189282A (ja) * | 2021-06-11 | 2022-12-22 | キヤノン株式会社 | プログラム、情報処理装置、及び情報処理装置の制御方法 |
WO2023086416A1 (en) * | 2021-11-09 | 2023-05-19 | Adaptive Biotechnologies Corporation | Detecting varying conductance indicative of sequential interactions between nucleobases |
JP7346524B2 (ja) * | 2021-11-22 | 2023-09-19 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法並びにプログラム |
Family Cites Families (39)
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 |
JP3888452B2 (ja) | 2001-07-02 | 2007-03-07 | セイコーエプソン株式会社 | ネットワークを介した印刷方法 |
WO2003017123A1 (en) * | 2001-08-16 | 2003-02-27 | Redline Networks, Inc. | System and method for maintaining statefulness during client-server interactions |
JP3888130B2 (ja) | 2001-11-01 | 2007-02-28 | セイコーエプソン株式会社 | 無線ネットワークのステーション |
JP4323876B2 (ja) * | 2003-06-20 | 2009-09-02 | キヤノン株式会社 | データ処理装置、その制御方法、及び制御プログラム |
JPWO2005050935A1 (ja) * | 2003-11-21 | 2007-12-06 | 三菱電機株式会社 | 侵入検知装置およびその方法 |
JP2006056069A (ja) | 2004-08-18 | 2006-03-02 | Canon Inc | 印刷制御装置および印刷制御方法 |
JP4364150B2 (ja) | 2005-03-25 | 2009-11-11 | 株式会社東芝 | リソース共用装置、方法、及びプログラム |
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 |
JP4781125B2 (ja) | 2006-02-17 | 2011-09-28 | キヤノン株式会社 | 情報処理システム、情報処理装置、及び周辺装置 |
JP4530420B2 (ja) | 2006-05-15 | 2010-08-25 | 日本電信電話株式会社 | ファイル転送システム、ファイル転送プログラムおよびファイル転送方法 |
JP4590429B2 (ja) * | 2007-05-14 | 2010-12-01 | 富士ゼロックス株式会社 | 印刷システム、サーバ、印刷装置、携帯端末装置および印刷方法 |
JP5035006B2 (ja) * | 2007-07-25 | 2012-09-26 | 富士通株式会社 | 通信装置の制御方法及び通信装置 |
JP2009139990A (ja) * | 2007-12-03 | 2009-06-25 | Internatl Business Mach Corp <Ibm> | 情報の不正取得を防止する技術 |
JP5137641B2 (ja) * | 2008-03-19 | 2013-02-06 | キヤノン株式会社 | 情報処理装置、画像処理システム及び画像処理方法並びにプログラム |
JP5153560B2 (ja) * | 2008-10-15 | 2013-02-27 | キヤノン株式会社 | 画像処理装置、サーバー装置及び制御方法 |
JP5124779B2 (ja) | 2008-11-07 | 2013-01-23 | キヤノンイメージングシステムズ株式会社 | デバイス共有システム、デバイス共有クライアント、及びデバイス共有方法 |
JP2010122933A (ja) | 2008-11-20 | 2010-06-03 | Fujitsu Ltd | コンテンツ転送方法および装置 |
JP5307610B2 (ja) | 2009-04-17 | 2013-10-02 | キヤノン株式会社 | 無線通信システムと通信方法 |
JP5460145B2 (ja) * | 2009-07-01 | 2014-04-02 | キヤノン株式会社 | データ処理装置、データ処理装置の制御方法、及びプログラム |
JP5441646B2 (ja) * | 2009-12-02 | 2014-03-12 | キヤノン株式会社 | 印刷装置、印刷方法、及び印刷プログラム |
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 | キヤノン株式会社 | 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム |
US8429075B2 (en) | 2010-07-19 | 2013-04-23 | Eft Source, Inc. | System and method for instant issue of personalized financial transaction cards |
JP2012064091A (ja) * | 2010-09-17 | 2012-03-29 | Fuji Xerox Co Ltd | 情報処理システム、情報処理装置、及びプログラム |
JP2012070096A (ja) * | 2010-09-21 | 2012-04-05 | Kyocera Mita Corp | 画像形成システム、管理装置、および画像形成装置 |
JP5641921B2 (ja) | 2010-12-20 | 2014-12-17 | キヤノン株式会社 | 画像処理装置、画像処理装置と外部装置を有するシステム、システムの制御方法、及びプログラム |
CN102651753B (zh) * | 2011-02-25 | 2016-04-27 | 国际商业机器公司 | 与平台无关的信息处理系统及其通信方法 |
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 | ブラザー工業株式会社 | 通信中継プログラム、通信中継装置、及び、画像処理装置 |
JP6075010B2 (ja) * | 2012-10-31 | 2017-02-08 | ブラザー工業株式会社 | 通信中継プログラム、及び、画像処理装置 |
JP6015360B2 (ja) | 2012-11-02 | 2016-10-26 | ブラザー工業株式会社 | 通信装置および通信プログラム |
JP6099958B2 (ja) | 2012-12-10 | 2017-03-22 | キヤノン株式会社 | 画像形成装置及びその制御方法とプログラム |
-
2012
- 2012-10-31 JP JP2012240618A patent/JP6167502B2/ja active Active
-
2013
- 2013-08-14 CN CN201310353873.6A patent/CN103795881B/zh active Active
- 2013-10-30 EP EP13190932.7A patent/EP2728459B1/en active Active
- 2013-10-31 US US14/068,146 patent/US9565053B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2728459A3 (en) | 2014-12-31 |
CN103795881B (zh) | 2017-04-26 |
US9565053B2 (en) | 2017-02-07 |
EP2728459A2 (en) | 2014-05-07 |
EP2728459B1 (en) | 2020-04-22 |
US20140122733A1 (en) | 2014-05-01 |
JP2014089668A (ja) | 2014-05-15 |
CN103795881A (zh) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6167502B2 (ja) | 通信中継プログラム、通信中継装置、及び、画像処理装置 | |
JP6075010B2 (ja) | 通信中継プログラム、及び、画像処理装置 | |
JP6155607B2 (ja) | 通信中継プログラム、及び、通信中継装置 | |
JP6011167B2 (ja) | 通信中継プログラム、及び、通信中継装置 | |
JP5511332B2 (ja) | 通信装置及び方法、並びにプログラム | |
JP5424856B2 (ja) | 画像形成装置及びその省電力制御方法とプログラム | |
JP5995525B2 (ja) | システム、画像形成装置、サーバー及びその制御方法 | |
JP6700894B2 (ja) | 画像処理装置、制御方法、プログラム | |
US20170308343A1 (en) | Printing system, a method of printing a print job, and a program | |
JP6142511B2 (ja) | 通信中継プログラム、通信中継装置、及び、画像処理装置 | |
JP2008097587A (ja) | クライアント装置、ネットワークシステムおよびプログラム | |
JP4815424B2 (ja) | 画像処理装置及び通信装置、並びに画像処理システム | |
JP5031539B2 (ja) | 印刷システム、印刷装置及び印刷方法 | |
JP7240118B2 (ja) | 情報処理装置、その制御方法およびプログラム | |
JP5807713B1 (ja) | 画像処理装置及び画像処理プログラム | |
JP2014232931A (ja) | 印刷装置 | |
JP5305754B2 (ja) | 情報処理装置、クライアント、情報処理方法およびプログラム | |
JP5546189B2 (ja) | 画像形成装置、画像形成装置の制御方法及びプログラム | |
JP2023108545A (ja) | 画像制御装置、画像制御装置の制御方法、及びプログラム | |
JP2018180691A (ja) | 制御装置、その制御方法、プログラム、及びシステム | |
JP2020077152A (ja) | 画像形成装置、画像形成システム及び画像形成プログラム | |
JP2010247499A (ja) | 印刷装置 | |
JP2010097492A (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: 20160531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160607 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160804 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170427 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20170510 |
|
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: 20170530 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170612 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6167502 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |