JP6065542B2 - 画像処理装置および通信プログラム - Google Patents

画像処理装置および通信プログラム Download PDF

Info

Publication number
JP6065542B2
JP6065542B2 JP2012257187A JP2012257187A JP6065542B2 JP 6065542 B2 JP6065542 B2 JP 6065542B2 JP 2012257187 A JP2012257187 A JP 2012257187A JP 2012257187 A JP2012257187 A JP 2012257187A JP 6065542 B2 JP6065542 B2 JP 6065542B2
Authority
JP
Japan
Prior art keywords
data
content data
image
usb
content
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
Application number
JP2012257187A
Other languages
English (en)
Other versions
JP2014106581A (ja
Inventor
松本 秀人
秀人 松本
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2012257187A priority Critical patent/JP6065542B2/ja
Priority to US14/089,923 priority patent/US9137395B2/en
Publication of JP2014106581A publication Critical patent/JP2014106581A/ja
Application granted granted Critical
Publication of JP6065542B2 publication Critical patent/JP6065542B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00214Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission
    • H04N1/00217Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission only involving computer data transmission protocols, e.g. SMTP, WAP or HTTP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00236Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • 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
    • G06F3/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • 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
    • 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/1286Remote printer device, e.g. being remote from client or server via local network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0041Point to point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0046Software interface details, e.g. interaction of operating systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0048Type of connection
    • H04N2201/0049By wire, cable or the like
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Description

本明細書に開示する技術は、各種のデータを通信することができる画像処理装置および通信プログラムに関する。
従来、画像処理装置にWebサーバ機能を備え、端末装置で実行されるWebブラウザに画像処理装置の設定画面などを表示する技術が開示されている。また、画像処理装置と端末装置とをインターネットで接続し、インターネットを介して画像処理装置に画像を処理させるIPP(Internet Printing Protocolの略)と呼ばれる規格が知られている。そして、画像処理装置と端末装置とがUSB(Universal Serial Busの略)によって接続されている環境において上述したIPPによる通信を行うための、IPP over USBという規格のドラフトが知られている。
USBは、エンドポイントと呼ばれる論理チャンネルを、複数備えることができる。エンドポイントを複数備えることにより、物理的にシリアル通信であるUSBを用いて、複数の通信経路を形成することができる。また、特許文献1には、PCなどの端末装置とUSB接続する画像処理装置が開示されている。特許文献1の画像処理装置は、制御用および印刷データ受信用のエンドポイントと、印刷状況送受信用エンドポイントを備えている。これにより、PCから画像処理装置への印刷データの送信と、画像処理装置からPCへの情報送信とを、USBを介して行うことができる。
特開2003−316712号公報
エンドポイントは、USB通信を制御するASIC等のハードウェアに実装されることがある。この場合、上述したIPP over USB規格による通信を実行するためにエンドポイントの数を増加させると、ハードウェアの実装面積が増大してしまう事態や、ハードウェアの価格が上昇してしまう事態が発生してしまう場合がある。
本明細書によって開示される画像処理装置は、画像データ処理装置がUSBプロトコルに従って送信したUSBデータパケットを受信し、受信したUSBデータパケットに含まれるコンテンツデータを1の受信用USBエンドポイントに対応するバッファに記憶させるUSB I/Fを備える画像処理装置であって、HTTPコマンドに基づいて各種の処理を実行する第1処理手段と、HTTPコマンドではないコマンドに基づいて画像処理を実行する第2処理手段と、1の受信用USBエンドポイントに対応するバッファに記憶されたHTTPコマンドを含むコンテンツデータを第1処理手段に処理させ、1の受信用USBエンドポイントに対応するバッファに記憶されたHTTPコマンドを含まないコンテンツデータを第2処理手段に処理させるコンテンツデータ振り分け処理を実行するコンテンツ処理制御手段と、を備えることを特徴とする。
上記通信装置によると、1の受信用USBエンドポイントを介して通信されるコンテンツデータの通信先を、コンテンツ処理制御手段によって、第1処理手段または第2処理手段に振り分けることができる。これにより、HTTPコマンドを含むデータを用いる第1処理手段と、HTTPコマンドを含まないデータを用いる第2処理手段との間で、1の受信用USBエンドポイントを共用することが可能となる。よって、第1処理手段および第2処理手段の各々に専用の受信用USBエンドポイントを備える場合に比して、必要な受信用USBエンドポイント数を削減することができるため、受信用USBエンドポイントが実装されるハードウェアの面積が増大してしまう事態やハードウェアのコストが上昇してしまう事態を防止することが可能となる。
上記通信装置では、画像処理装置に複数の受信用USBエンドポイントが備えられている場合においても、第1処理手段と第2処理手段との間で、1の受信用USBエンドポイントを共用することが可能となる。
上記通信装置では、1の受信用USBエンドポイントを介して受信したコンテンツデータに基づいて各種の処理を実行するとともに、TCP I/Fを介して受信したTCPデータパケットに基づいて各種の処理を実行することができる。これにより、受信用USBを用いたHTTPコマンドの通信と、TCP通信回線を用いたHTTPコマンドの通信とを、同時に行うことが可能となる。
上記通信装置では、1の受信用USBエンドポイントに記憶されたコンテンツデータを解析することによって、コンテンツデータ振り分け処理を確実に実行することが可能となる。
上記通信装置では、画像形成データ処理制御手段によって、画像形成データの形式を判別することができる。そして、画像形成データの形式に対応する画像形成手段へ、画像形成データを送信することができる。これにより、画像形成データの複数種類の形式に対応することが可能となる。
上記通信装置では、コンテンツ処理制御手段は、1の受信用USBエンドポイントに対応するバッファに記憶されたコンテンツデータがHTTPコマンドを含むデータであるか否かを判断することで、コンテンツデータ振り分け処理を実行することができる。これにより、コンテンツデータ振り分け処理の負荷を低減させることが可能となる。
上記通信装置では、コンテンツ処理制御手段は、コンテンツデータのヘッダ部分を解析することで、コンテンツデータ振り分け処理を実行することができる。これにより、コンテンツデータ振り分け処理の負荷を低減させることが可能となる。
USBでは、TCP(Transmission Control Protocolの略)のように、コネクションを確立するために最初に送信されるパケット(例:SYNパケット)が存在しない。よって、USBを用いてHTTPコマンドを含むデータの通信を行う場合には、コンテンツデータのヘッダ部分を識別することが困難である。上記通信装置では、所定時間よりも大きい通信間隔時間の経過後にコンテンツデータを受信した場合には、コンテンツデータの先頭から所定バイト数の部分をヘッダ部であると認識することができる。これにより、USBを用いてHTTPコマンドを含むデータの通信を行う場合において、コンテンツデータのヘッダ部分を識別することが可能となる。
USBでは、TCPのように、コネクションを切断するためのパケット(例:FINパケット)が存在しない。よって、USBを用いてHTTPコマンドを含むデータの通信を行う場合には、あるタスクのための一群のコンテンツデータと、他のタスクのための一群のコンテンツデータとの境界を、コネクションの切断によって識別することが困難である。上記通信装置では、所定時間よりも大きい通信間隔時間で区切られた一連のコンテンツデータを、1つのタスクのための一群のコンテンツデータであると認識することができる。これにより、一群のコンテンツデータと一群のコンテンツデータとの間の境界を認識することが可能となるため、一群のコンテンツデータを同一の通信先へ通信させることができる。
USBを用いてHTTPコマンドを含むデータの通信を行う場合には、通信パケットのヘッダ部分を識別することが困難である。上記通信装置では、画像形成データ処理制御手段によってHTTPコマンドを含まないデータの通信の終了を検出した場合には、終了を検出した時点以降において最初に通信したコンテンツデータの先頭から所定バイト数の部分をヘッダ部であると認識することができる。これにより、USBを用いてHTTPコマンドを含むデータの通信を行う場合において、コンテンツデータのヘッダ部分を識別することが可能となる。
なお、上記の技術を実現するための通信プログラムも、新規で有用である。
以下の特徴は、出願当初の特許請求の範囲に記載の要素である。
(項目1)
画像データ処理装置がUSBプロトコルに従って送信したUSBデータパケットを受信し、受信したUSBデータパケットに含まれるコンテンツデータを1の受信用USBエンドポイントに対応するバッファに記憶させるUSB I/Fを備える画像処理装置であって、
HTTPコマンドに基づいて各種の処理を実行する第1処理手段と、
HTTPコマンドではないコマンドに基づいて画像処理を実行する第2処理手段と、
前記1の受信用USBエンドポイントに対応するバッファに記憶されたHTTPコマンドを含むコンテンツデータを前記第1処理手段に処理させ、前記1の受信用USBエンドポイントに対応するバッファに記憶されたHTTPコマンドを含まないコンテンツデータを前記第2処理手段に処理させるコンテンツデータ振り分け処理を実行するコンテンツ処理制御手段と、
を備えることを特徴とする画像処理装置。
(項目2)
前記画像処理装置には、前記受信用USBエンドポイントが複数備えられており、
前記1の受信用USBエンドポイントは、複数の前記受信用USBエンドポイントのうち、前記画像データ処理装置が指定した受信用USBエンドポイントであることを特徴とする項目1に記載の画像処理装置。
(項目3)
画像データ処理装置がTCPプロトコルに従って送信したTCPデータパケットを受信可能なTCP I/Fを備え、
前記第1処理手段は、前記TCP I/Fが受信したTCPデータパケットに含まれるHTTPコマンドに基づいて各種の処理を実行することが可能であり、かつ、コンテンツ処理制御手段によるコンテンツデータ振り分け処理に拠って、前記USB I/Fが受信したUSBデータパケットに含まれるHTTPコマンドに基づいて各種の処理を実行することが可能である、
ことを特徴とする項目1または2に記載の画像処理装置。
(項目4)
前記コンテンツ処理制御手段は、
前記1の受信用USBエンドポイントに対応するバッファに記憶されたコンテンツデータを解析し、
解析したコンテンツデータがHTTPコマンドを含むデータである場合には前記コンテンツデータを前記第1処理手段に処理させ、
解析したコンテンツデータがHTTPコマンドを含むデータでない場合には前記コンテンツデータを前記第2処理手段に処理させる、
ことを特徴とする項目1〜3の何れか1項に記載の画像処理装置。
(項目5)
前記第2処理手段は、
第1形式の画像形成データに基づいて画像形成する処理を実行する第1画像形成手段と、
第2形式の画像形成データに基づいて画像形成する処理を実行する第2画像形成手段と、
前記第1形式の画像形成データを前記第1画像形成手段に処理させ、前記第2形式の画像形成データを前記第2画像形成手段に処理させる画像形成データ振り分け処理を実行する画像形成データ処理制御手段と、を備え、
前記コンテンツ処理制御手段は、前記1の受信用USBエンドポイントに対応するバッファに記憶されたHTTPコマンドを含まないコンテンツデータを、前記画像形成データ処理制御手段に処理させる、
ことを特徴とする項目1〜4の何れか1項に記載の画像処理装置。
(項目6)
前記コンテンツ処理制御手段は、
前記1の受信用USBエンドポイントに対応するバッファに記憶されたコンテンツデータがHTTPコマンドを含むデータであるか否かを判断し、
前記1の受信用USBエンドポイントに対応するバッファに記憶されたコンテンツデータがHTTPコマンドを含むデータであると判断した場合には前記コンテンツデータを前記第1処理手段に処理させ、
前記1の受信用USBエンドポイントに対応するバッファに記憶されたコンテンツデータがHTTPコマンドを含むデータでないと判断した場合には前記コンテンツデータを前記画像形成データ処理制御手段に処理させる、
ことを特徴とする項目5に記載の画像処理装置。
(項目7)
前記コンテンツ処理制御手段は、
前記1の受信用USBエンドポイントに対応するバッファに記憶されたコンテンツデータのヘッダ部分を解析し、
解析したコンテンツデータがHTTPコマンドを含むデータであるか否かを判断し、
解析したコンテンツデータがHTTPコマンドを含むデータであると判断した場合には前記コンテンツデータを前記第1処理手段に処理させ、
解析したコンテンツデータがHTTPコマンドを含むデータでないと判断した場合には前記コンテンツデータを前記画像形成データ処理制御手段に処理させ、
前記画像形成データ処理制御手段は、
前記コンテンツデータを解析し、
解析したコンテンツデータが前記第1形式の画像形成データである場合には前記第1画像形成手段に処理させ、
解析したコンテンツデータが前記第2形式の画像形成データである場合には前記第2画像形成手段に処理させることを特徴とする項目6に記載の画像処理装置。
(項目8)
前記コンテンツ処理制御手段は、前記1の受信用USBエンドポイントを介して、複数の前記コンテンツデータをシリアルに通信しており、
前記コンテンツ処理制御手段は、前記1の受信用USBエンドポイントを介して直近に通信したコンテンツデータの通信時刻と、前記直近に通信したコンテンツデータの1つ前に通信したコンテンツデータの通信時刻との間の通信間隔時間が、予め定められた所定時間よりも大きい場合には、前記直近に通信したコンテンツデータの先頭から所定バイト数の部分を前記ヘッダ部として取り扱うことを特徴とする項目7に記載の画像処理装置。
(項目9)
前記コンテンツ処理制御手段は、前記コンテンツデータの前記ヘッダ部を解析して通信先を設定した場合には、前記ヘッダ部を解析したコンテンツデータに引き続いて通信される複数のコンテンツデータのうち、1つ前のコンテンツデータとの間の前記通信間隔時間が前記所定時間よりも小さいコンテンツデータの通信先を、前記ヘッダ部を解析したコンテンツデータの通信先と同一に設定することを特徴とする項目8に記載の画像処理装置。
(項目10)
画像形成データ処理制御手段は、前記HTTPコマンドを含まないデータを解析して前記HTTPコマンドを含まないデータの通信の終了を検出し、
前記コンテンツ処理制御手段は、前記画像形成データ処理制御手段が前記HTTPコマンドを含まないデータの通信の終了を検出した時点以降において最初に通信したコンテンツデータの先頭から所定バイト数の部分を、前記ヘッダ部として取り扱うことを特徴とする項目8または9に記載の画像処理装置。
(項目11)
画像データ処理装置がUSBプロトコルに従って送信したUSBデータパケットを受信し、受信したUSBデータパケットに含まれるコンテンツデータを1の受信用USBエンドポイントに対応するバッファに記憶させるUSB I/Fを備える画像処理装置のコンピュータが読み取り可能な通信プログラムであって、
前記画像処理装置の前記コンピュータを、
HTTPコマンドに基づいて各種の処理を実行する第1処理手段と、
HTTPコマンドではないコマンドに基づいて画像処理を実行する第2処理手段と、
前記1の受信用USBエンドポイントに対応するバッファに記憶されたHTTPコマンドを含むコンテンツデータを前記第1処理手段に処理させ、前記1の受信用USBエンドポイントに対応するバッファに記憶されたHTTPコマンドを含まないコンテンツデータを前記第2処理手段に処理させるコンテンツデータ振り分け処理を実行するコンテンツ処理制御手段と、
して機能させることを特徴とする通信プログラム。
通信システム1の電気的構成を示す図である。 PCおよびMFPのブロック図である。 MFPで行われる通信処理のフローチャートである。 MFPで行われる通信処理のフローチャートである。 設定画面の一例を示すである。 HTTP要求メッセージの一例を示す図である。 HTTP応答メッセージの一例を示す図である。
<通信システムの構成>
図1に、本願に係る第1実施形態として例示される通信システム1の電気的構成を示す。通信システム1は、パーソナルコンピュータ(PCと記す)9、多機能周辺装置(以下「MFP」と称す)51、外部機器91を備えている。MFP51は、プリンタ機能、スキャナ機能、コピー機能、ファクシミリ機能などを備える。外部機器91の一例としては、PCや携帯電話などが挙げられる。
PC9の構成について説明する。PC9は、CPU10、ROM11、RAM12、表示部13、操作部14、記憶部15、USBホストインタフェース部(図1ではUSBホストIF部と記す)16、及び、LANインタフェース部(図1ではLAN_IF部と記す)17、を備えている。
CPU10は、ROM11や記憶部15に記憶されているプログラムを実行することによってPC9の各部を制御する。ROM11には、CPU10によって実行されるプログラムやデータなどが記憶されている。RAM12は、CPU10が各種の処理を実行するための主記憶装置として用いられる。表示部13は、液晶ディスプレイなどの表示装置、表示装置を駆動するディスプレイ駆動回路などを備えている。操作部14は、キーボードやマウス、それらが接続されるインタフェースなどを備えている。記憶部15は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部15には、オペレーティングシステム(OSと記す)21、中間httpd(http daemonの略)22、Webブラウザ23、印刷アプリケーション24、PSドライバ25、PCLドライバ26、TCP/IPスタック29、スキャナドライバ30、スキャンアプリケーション31、などの各種プログラムが記憶されている。これらのプログラムの内容については、後述する。
USBホストインタフェース部16は、USB18を介してMFP51と通信を行うためのインタフェースである。USBホストインタフェース部16は、USBホストコントローラ(不図示)、USBケーブルが接続されるジャック(不図示)、エンドポイントEP10〜EP13(図2を参照)、などを備えている。エンドポイントEP10〜EP13は、FIFO(First-In First-Outの略)バッファである。エンドポイントEP10は、コントロール転送に用いるための、双方向通信が可能なエンドポイントである。エンドポイントEP11〜EP13は、各種のデータを通信するためのエンドポイントである。エンドポイントEP11〜EP13は、後述するエンドポイントEP1〜EP3と同様に、受信用エンドポイントと送信用エンドポイントとを一組で備えているが、説明および図示を省略する。USBホストインタフェース部16は、ASIC等のハードウェアで構成されていてもよい。LANインタフェース部17は、LAN(Local Area Networkの略)やインターネットなどの通信ネットワークを介して、PC、携帯電話、携帯通信端末などの不図示の通信端末と通信するためのインタフェースである。
MFP51の構成について説明する。MFP51は、プリンタ19、スキャナ20、CPU32、ROM33、RAM34、記憶部35、ボタン入力部38、パネル39、モデム40、電話回線接続部41、USBインタフェース部(図1ではUSB_IF部と記す)42、LANインタフェース部(図1ではLAN_IF部と記す)43、を主に備えている。これらの構成要素は、入出力ポート44を介して互いに通信可能とされている。ROM33は、各種のプログラムを記憶する。RAM34は、揮発性のメモリである。CPU32は、ROM33や記憶部35に記憶されている各種のプログラムを実行する。
記憶部35は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部35には、OS61、Webサーバ62、コンテンツ処理制御部63、画像形成データ処理制御部64、TCP/IPスタック65、LANドライバ69、印刷エンジン70、PSパーサ71、PCLパーサ72、スキャナコマンド処理部73、などのプログラムが記憶されている。これらのプログラムの内容については、後述する。
USBインタフェース部42は、USB18を介してPC9と通信を行うためのインタフェースである。USBインタフェース部42は、USBプロトコルに従ってPC9が送信したUSBデータパケットを受信することが可能とされている。USBインタフェース部42は、ASICなどのハードウェアで構成されていてもよい。LANインタフェース部43は、LAN通信92を介して外部機器91と通信を行う部位である。ボタン入力部38は、MFP51の各機能を実行するためのキーである。ボタン入力部38は、タッチパネルとして、パネル39と一体に構成されていてもよい。パネル39は、各種の画像を表示する。プリンタ19は、印刷用紙に印刷を実行する部位である。スキャナ20は、紙の原稿をスキャンして、画像データを生成する部位である。モデム40は、ファクシミリ機能によって送信する原稿データを、電話回線網100に伝送可能な信号に変調して電話回線接続部41を介して送信したり、電話回線網100から電話回線接続部41を介して入力された信号を受信し、原稿データへ復調するものである。
<PCおよびMFPのブロック図>
図2を参照して、PC9およびMFP51のブロック図について説明する。PC9は、中間httpd22、Webブラウザ23、印刷アプリケーション24、PSドライバ25、PCLドライバ26、TCP/IPスタック29、スキャナドライバ30、スキャンアプリケーション31、USBホストインタフェース部16、LANインタフェース部17、などを備えている。
Webブラウザ23およびLANインタフェース部17の各々は、TCP/IPスタック29および中間httpd22を介して、USBホストインタフェース部16と通信する。印刷アプリケーション24は、PCLドライバ26を介してUSBホストインタフェース部16と通信するとともに、PSドライバ25を介してUSBホストインタフェース部16と通信する。スキャンアプリケーション31は、スキャナドライバ30を介してUSBホストインタフェース部16と通信する。
Webブラウザ23は、ユーザがMFP51の各種設定を行うためのユーザインタフェースとして用いられるプログラムである。Webブラウザ23としては、一般に利用されているブラウザを用いることができる。中間httpd22は、MFP51が備えるWebサーバ62と、Webブラウザ23との仲介を行うためのプログラムである。中間httpd22は、ユーザからの要求に応じてコンテンツを送信するなどの動作を行う。TCP/IPスタック29は、TCP/IP通信のプロトコルに関するプログラムをまとめて1つのプログラム群にしたものである。
印刷アプリケーション24は、印刷データを通信するためのプログラムである。印刷アプリケーション24の一例としては、印刷データを一時的に保存するスプーラが挙げられる。印刷アプリケーション24は、OS21の一部として提供されてもよい。PSドライバ25は、PostScript(登録商標)言語に対応した、MFP51を制御するためのプログラムである。PSドライバ25からは、PostScript(登録商標)言語で記述された印刷データが出力される。PCLドライバ26は、PCL(Printer Control Languageの略)言語に対応した、MFP51を制御するためのプログラムである。PCLドライバ26からは、PCL言語で記述された印刷データが出力される。
スキャンアプリケーション31は、画像データを通信するためのプログラムである。スキャナドライバ30は、MFP51を制御するためのプログラムである。USBホストインタフェース部16は、USB18を介した通信を実行するためのプログラムである。
図2を参照して、MFP51のブロック図について説明する。MFP51は、USBインタフェース部42、コンテンツ処理制御部63、TCP/IPスタック65、Webサーバ62、LANインタフェース部43、画像形成データ処理制御部64、PSパーサ71、PCLパーサ72、スキャナコマンド処理部73、印刷エンジン70、などを備えている。USBインタフェース部42は、エンドポイントEP1〜EP3を備えている。
コンテンツ処理制御部63は、Webサーバ62または画像形成データ処理制御部64のいずれか一方を選択して通信することが可能とされている。画像形成データ処理制御部64は、PSパーサ71またはPCLパーサ72のいずれか一方を選択して通信することが可能とされている。
USBインタフェース部42は、USB18を介した通信を実行するための部位である。USBインタフェース部42は、ハードウェアとして構成されていてもよいし、ソフトウェアとして構成されていてもよい。USBインタフェース部42は、エンドポイントEP0〜EP3の各々を備えている。エンドポイントは、FIFOバッファである。エンドポイントEP0は、コントロール転送に用いるための、双方向通信が可能なエンドポイントである。エンドポイントEP1〜EP3は、各種のデータを通信するためのエンドポイントである。エンドポイントEP1は、受信用エンドポイントEP1aと送信用エンドポイントEP1bとを一組で備えている。これによりエンドポイントEP1は、双方向通信が可能とされている。なお、エンドポイントEP2およびEP3の構成も、エンドポイントEP1と同様であるため、説明を省略する。USBインタフェース部42にエンドポイントEP1〜EP3を備えることにより、USB18を3つのパラレルな通信経路として取り扱うことが可能となる。
コンテンツ処理制御部63は、Webサーバ62および画像形成データ処理制御部64の何れか一方を選択して、データ振り分け処理を実行するためのプログラムである。コンテンツ処理制御部63で実行されるデータ振り分け処理では、HTTPコマンドを含まないデータは、エンドポイントEP1と印刷エンジン70との間で通信される。また、HTTPコマンドを含むデータは、エンドポイントEP1とWebサーバ62との間で通信される。
LANインタフェース部43は、LAN通信92を実行するためのプログラムである。TCP/IPスタック65は、TCP/IP通信のプロトコルに関するプログラムをまとめて1つのプログラム群にしたものである。
Webサーバ62は、WWWによる情報送信機能を持ったプログラムである。Webサーバ62は、httpdとも呼ばれる。Webサーバ62は、HTML文書や画像などの情報を蓄積しておき、Webブラウザ23や外部機器91などの要求に応じて、これらの情報を送信する役割を果たす。すなわち、Webサーバ62は、USBインタフェース部42がUSB18を介して受信したUSBデータパケットに含まれるHTTPコマンドに基づいて、各種の処理を実行することが可能である。またWebサーバ62は、LANドライバ69がLAN通信92を介して受信したTCPデータパケットに含まれるHTTPコマンドに基づいて、各種の処理を実行することも可能である。
画像形成データ処理制御部64は、PSパーサ71またはPCLパーサ72の何れか一方を選択して、コンテンツ処理制御部63との通信を確立するためのプログラムである。PCLパーサ72は、PCL言語で記述されたデータを構文解析して、印刷エンジン70で印刷処理が行えるように変換するプログラムである。PSパーサ71は、PostScript(登録商標)言語で記述されたデータを構文解析して、印刷エンジン70で印刷処理が行えるように変換するプログラムである。印刷エンジン70は、プリンタ19を制御して印刷を実行するためのプログラムである。印刷エンジン70では、HTTPコマンドを含まないデータ(例:印刷データ)に基づいて処理が行われる。スキャナコマンド処理部73は、スキャナ20を制御して画像データを取得させるためのプログラムである。スキャナコマンド処理部73では、HTTPコマンドを含まないデータ(例:スキャンデータ)に基づいて処理が行われる。画像形成データ処理制御部64は、後述する、データ振り分け処理およびデータ通信の終了検出処理を実行する。
<PCとMFPとの通信>
PC9は、USB18を介して、MFP51との間で少なくとも以下の通信を行う。(1)MFP51を設定するための設定用通信。(2)MFP51に印刷データを送信するための印刷用通信。(3)MFPから画像データを受信するためのスキャン用通信。設定用通信では、HTTPコマンドを含んだデータが、USBデータパケットに格納されて送受信される。一方、印刷用通信およびスキャン用通信では、HTTPコマンドを含まないデータが、USBデータパケットに格納されて送受信される。なお、本実施形態では、設定用通信のデータおよび印刷用通信のデータをMFP51が受信する際に、1の受信用エンドポイントEP1aを使用する場合を説明する。また、設定用通信のデータおよび印刷用通信のデータをMFP51が送信する際に、1の送信用エンドポイントEP1bを使用する場合を説明する。また、スキャン用通信のデータをMFP51が受信する際には受信用エンドポイントEP2aが使用され、スキャン用通信のデータをMFP51が送信する際には送信用エンドポイントEP2bが使用される場合を説明する。
設定用通信の一例を説明する。例として、図5に示す設定画面141をPC9の表示部13に表示させる、という1つのタスクを実行する場合における、設定用通信を説明する。設定画面141では、MFP51の各種の設定を行うことができる。具体的には、プリンタ言語141a、第1のトレイにセットされている用紙サイズ141b、第2のトレイにセットされている用紙サイズ141c、を設定することができる。また、設定画面141には、画像142、画像143、画像144が表示される。ここでは画像142〜144を表示するための画像データを、それぞれGIF1、GIF2、GIF3と称呼するものとする。
USBケーブルによってUSBホストインタフェース部16とUSBインタフェース部42とが接続されることに応じて、USBコンフィグレーションが行われる。USBコンフィグレーションは、USB18を用いた通信の各種設定を行う処理である。USBコンフィグレーションでは、コンフィグレーションのデータが、USBデバイスであるMFP51側からUSBホストであるPC9側へ、エンドポイントEP0およびEP10を介して送信される。本実施形態の説明例では、コンフィグレーションのデータが、(a)Webブラウザ23および印刷アプリケーション24から送信されるデータの受信には、受信用エンドポイントEP1aを用いること、(b)Webブラウザ23および印刷アプリケーション24へのデータ送信には、送信用エンドポイントEP1bを用いること、(c)スキャンアプリケーション31から送信されるデータの受信には、受信用エンドポイントEP2aを用いること、(d)スキャンアプリケーション31へのデータ送信には、送信用エンドポイントEP2bを用いること、を示している場合を説明する。PC9は、Webブラウザ23および印刷アプリケーション24とMFP51とのデータの送受信にはエンドポイントEP11を使用し、スキャンアプリケーション31とMFP51とのデータの送受信にはエンドポイントEP12を使用することを示す識別情報を、MFP51へ返信する。これにより、USBコンフィグレーションが完了する。よって図2に示すように、印刷アプリケーション24およびWebブラウザ23は、エンドポイントEP11およびEP1を用いて通信する設定が行われる。また、スキャンアプリケーション31は、エンドポイントEP12およびEP2を用いて通信する設定が行われる。
Webブラウザ23によりlocalhostの特定ポート80(例:http://127.0.0.1:80)がアクセスされると、Webブラウザ23は、そのメインページのファイルを取得するためのGETコマンドを発行する。GETコマンドは、HTTPコマンドの1種である。発行されたGETコマンドは、TCP/IPスタック29を介して中間httpd22へ送信される。中間httpd22は、GETコマンドを、USBプロトコルに基づいてUSBホストインタフェース部16へ送信する。USBホストインタフェース部16は、前述したUSBコンフィグレーションに基づいて、Webブラウザ23とのデータの送受信に、エンドポイントEP11およびEP1を用いると判断する。よってUSBホストインタフェース部16は、エンドポイントEP1を指定して、GETコマンドを送信する。
送信されたGETコマンドは、受信用エンドポイントEP1aで受信され、コンテンツ処理制御部63を介してWebサーバ62に送信される。Webサーバ62は、GETコマンドの応答として、設定画面141を表示するためのHTML/XML形式のメインページのデータを生成し、USBインタフェース部42の送信用エンドポイントEP1bへ送信する。USBインタフェース部42は、前述したUSBコンフィグレーションに基づいて、Webブラウザ23とのデータの送受信に、エンドポイントEP11およびEP1を用いると判断する。よってUSBインタフェース部42は、エンドポイントEP11を指定して、メインページのデータを送信する。
送信されたメインページのデータは、エンドポイントEP11で受信され、Webブラウザ23へ送信される。Webブラウザ23は、メインページのデータを解析し、設定画面141を表示部13に表示させる。またWebブラウザ23は、メインページを表示するために不足している画像データ(例:GIF1、GIF2、GIF3)が存在すると判断し、Webサーバ62に対して、不足している画像データの送信を要求する。具体的には、GIF1〜GIF3に対するGETコマンドがWebブラウザ23からWebサーバ62へ送信され、GIF1〜GIF3に対応する画像データがWebサーバ62からWebブラウザ23へ返信される。なお、GETコマンドの送信処理および画像データの返信処理の内容は、前述した処理内容と同様であるため、ここでは説明を省略する。そして、Webブラウザ23は、画像142〜144を設定画面141に表示する。これにより、設定画面141を開くという1つのタスクが完了する。このように、設定画面141を開くという1つのタスクを実行する際には、メインページのデータおよびGIF1〜GIF3に対応する画像データの、「一群のデータ」を通信する必要がある。
ユーザが設定画面141を用いて設定パラメータを入力すると、Webブラウザ23は、入力された設定パラメータをWebブラウザ23へ反映させるためのPUTコマンドを発行する。PUTコマンドは、HTTPコマンドの1種である。発行されたPUTコマンドは、TCP/IPスタック29、中間httpd22、エンドポイントEP11およびEP1、コンテンツ処理制御部63を経由して、Webブラウザ23へ送信される。Webサーバ62は、PUTコマンドに基づいて、不図示の設定部へ、設定パラメータを記憶させる。
<通信処理の詳細>
図3および図4を参照して、MFP51で行われる通信処理について説明する。MFP51で実行される各種のプログラムは常駐プログラムとして実行されるものであり、本処理はMFP51に電源が投入されると開始される。また以降の説明において、例えばコンテンツ処理制御部63というときは、コンテンツ処理制御部63を実行するCPU32のことをいう場合がある。
S9において、コンテンツ処理制御部63がアイドル状態とされる。具体的には、コンテンツ処理制御部63の通信先が、Webサーバ62および画像形成データ処理制御部64の何れでもない状態にされる。S11においてUSBインタフェース部42は、USB18を介してPC9からデータを受信したか否かを判断する。データを受信していない場合(S11:NO)にはS11へ戻り、データを受信した場合(S11:YES)にはS15へ進む。
S15においてUSBインタフェース部42は、受信したデータをエンドポイントEP1に記憶させる。エンドポイントEP1はFIFOバッファであるため、受信したデータが受信した順番でエンドポイントEP1に記憶される。S19においてUSBインタフェース部42は、エンドポイントEP1に、ヘッダ部分の1行分のデータが記憶されたか、または、予め定められた所定バイト数以上のデータが記憶されたかを判断する。ヘッダ部分の1行分のデータが記憶されたか否かの判断は、例えば、改行コードに該当するデータがエンドポイントEP1に記憶されたか否かによって行われても良い。また、所定バイト数は、後述するリクエスト行を記述するために必要なバイト数よりも大きいバイト数にすることが好ましい。所定バイト数は、MFP51の製造者等によって予め定められるとしてもよい。ヘッダ部分の1行分のデータ、または、所定バイト数以上のデータが、エンドポイントEP1に記憶されていない場合(S19:NO)にはS11へ戻り、記憶された場合(S19:YES)にはS23へ進む。
S23においてコンテンツ処理制御部63は、エンドポイントEP1に記憶されたデータを解析する。S27においてコンテンツ処理制御部63は、エンドポイントEP1に記憶されたデータが、HTTPコマンドを含むデータであるか否かを判断する。当該判断は、HTTP要求メッセージを受信したか否かを判断することによって行うことができる。図6に、HTTP要求メッセージの一例を示す。図6に示すように、HTTP要求メッセージは、リクエスト行111、ヘッダ112、メッセージボディ113を備えている。リクエスト行111は、Webサーバ62に実行して欲しい処理を伝えるための行である。リクエスト行111には、「メソッド」「URL」「HTTPのバージョン」の3つの情報が含まれている。ヘッダ112は、メッセージボディの前に送られてくる情報であり、各種の状態を示す情報である。メッセージボディ113は、HTMLで記述されたデータや画像データなどが含まれている部分である。
リクエスト行111では、HTTPのバージョンを示すための情報として、「HTTP」の文字列が含まれている(図6、領域R11参照)。よってS27では、エンドポイントEP1に記憶されているデータ中に「HTTP」の文字列が存在するか否かを判断することによって、エンドポイントEP1に記憶されたデータがHTTP要求メッセージであるか否かを判断することができる。
S27において、エンドポイントEP1に記憶されたデータがHTTPコマンドを含むデータであると判断された場合(S27:YES)には、PC9から受信したデータをWebサーバ62に処理させる場合であると判断される。よってS59へ進む。
S59においてコンテンツ処理制御部63は、データの通信先をWebサーバ62に設定する。具体的には、コンテンツ処理制御部63の通信先を、Webサーバ62に設定する。これにより、エンドポイントEP1から、コンテンツ処理制御部63を経由して、Webサーバ62へ至る通信経路が確立される。S61においてコンテンツ処理制御部63は、不図示のタイムアウトカウンタをリセットする。S63においてコンテンツ処理制御部63は、不図示のタイマをリセットする。
S65においてコンテンツ処理制御部63は、USB18を介したデータ入力が行われたか否かを判断する。USB18を介したデータ入力が行われた場合(S65:YES)には、S69へ進む。S69においてコンテンツ処理制御部63は、USB18を介して受信したデータを、コンテンツ処理制御部63を介して、Webサーバ62へ転送する。そしてS61へ戻る。
一方、USB18を介したデータ入力が行われていない場合(S65:NO)には、S73へ進む。S73においてコンテンツ処理制御部63は、HTTP応答メッセージを、Webサーバ62から受信したか否かを判断する。図7に、HTTP応答メッセージの一例を示す。図7に示すように、HTTP応答のメッセージは、レスポンス行121、ヘッダ122、メッセージボディ123を備えている。レスポンス行121は、HTTP要求に対する応答の状態を示す行である。ヘッダ122は、各種の状態を示す情報である。メッセージボディ123は、HTMLで記述されたデータなどが含まれている部分である。
HTTP応答メッセージを受信した場合(S73:YES)には、S77へ進む。S77においてコンテンツ処理制御部63は、Webサーバ62から受信したデータを、コンテンツ処理制御部63、エンドポイントEP1、およびUSB18を介して、PC9へ転送する。そしてS61へ戻る。
一方、HTTP応答をWebサーバ62から受信していない場合(S73:NO)には、S79へ進む。S79においてコンテンツ処理制御部63は、予め定められた待機時間が経過したか否かを、不図示のタイマに基づいて判断する。待機時間は、MFP51の製造者等によって、予め定められるとしてもよい。待機時間が経過していない場合(S79:NO)にはS65へ戻り、待機時間が経過した場合(S79:YES)にはS81へ進む。S81においてコンテンツ処理制御部63は、不図示のタイムアウトカウンタを、1カウントアップする。
S85においてコンテンツ処理制御部63は、不図示のタイムアウトカウンタのカウント数が所定数以上であるか否かを判断する。所定数は、MFP51の製造者等によって予め定められるとしてもよい。カウント数が所定数以上ではない場合(S85:NO)にはS63へ戻る。一方、カウント数が所定数以上である場合(S85:YES)には、データの通信間隔時間が、予め定められた所定時間よりも大きい場合であると判断される。この場合、1つのタスクを実行するための一群のデータ通信が完了したと判断することができる。よってS9へ戻り、コンテンツ処理制御部63がアイドル状態に戻される。
一方、S27において、エンドポイントEP1に記憶されたデータがHTTPコマンドを含むデータではないと判断された場合(S27:NO)には、コンテンツデータをWebサーバ62に処理させる場合であると判断される。よってS29へ進む。S29においてコンテンツ処理制御部63は、データの通信先を画像形成データ処理制御部64に設定する。具体的には、コンテンツ処理制御部63の通信先を、画像形成データ処理制御部64に設定する。これにより、エンドポイントEP1から、コンテンツ処理制御部63を経由して、画像形成データ処理制御部64へ至る通信経路が確立される。
S31においてコンテンツ処理制御部63は、USB18を介して受信したデータを、コンテンツ処理制御部63を経由して、画像形成データ処理制御部64へ転送する。画像形成データ処理制御部64は、PSパーサ71およびPCLパーサ72の何れか一方へデータを振り分ける、データ振り分け処理を実行する。データ振り分け処理は、転送されたデータの内容を解析して、使用されている言語の種類を判断することによって行っても良い。言語の種類の判断は、転送されたデータのヘッダ部分を解析することで行っても良い。また、ヘッダ部分を解析しても言語の種類が判断できない場合には、ヘッダ部分以降のボディ部分を解析することで言語の種類を判断してもよい。転送されたデータがPostScript(登録商標)言語で記述されていると判断された場合には、当該データがPSパーサ71へ送信される。また、転送されたデータがPCL言語で記述されていると判断された場合には、当該データがPCLパーサ72へ送信される。
また画像形成データ処理制御部64は、データ通信の終了検出処理を実行する。データ通信の終了検出処理は、画像形成データ処理制御部64に入力されるデータを解析することで、1のタスクを実行するための一群のデータ(例:1の印刷処理を実行するための複数のデータ)の通信の終了を検出する処理である。画像形成データ処理制御部64は、一群のデータの通信の終了を検出すると、終了信号SS1をコンテンツ処理制御部63へ送信する。
S35においてコンテンツ処理制御部63は、USB18を介したデータ入力が行われたか否かを判断する。USB18を介したデータ入力が行われた場合(S35:YES)には、S39へ進む。S39においてコンテンツ処理制御部63は、USB18、エンドポイントEP1を介して受信したデータを、画像形成データ処理制御部64へ転送する。そしてS35へ戻る。
一方、USBを介したデータ入力が行われていない場合(S35:NO)には、S43へ進む。S43においてコンテンツ処理制御部63は、画像形成データ処理制御部64からデータを受信したか否かを判断する。データを受信した場合(S43:YES)には、S47へ進む。S47においてコンテンツ処理制御部63は、画像形成データ処理制御部64から受信したデータを、エンドポイントEP1、およびUSB18を介して、PC9へ転送する。そしてS35へ戻る。
一方、画像形成データ処理制御部64からデータを受信していない場合(S43:NO)には、S51へ進む。S51においてコンテンツ処理制御部63は、画像形成データ処理制御部64から終了信号SS1を受信したか否かを判断する。終了信号SS1を受信していない場合(S51:NO)には、S35へ戻る。一方、終了信号SS1を受信した場合(S51:YES)にはS9へ戻り、コンテンツ処理制御部63がアイドル状態に戻される。
<効果>
本実施例に係る通信システム1の効果を説明する。上記の通信システム1によると、1のエンドポイントEP1を介して受信されるデータを、コンテンツ処理制御部63によって解析することができる。そして、受信したデータがHTTPコマンドを含むデータである場合(S27:YES)には、受信したデータをWebサーバ62に転送することができる(S69)。また、受信したデータがHTTPコマンドを含むデータではない場合(S27:NO)には、受信したデータを印刷エンジン70に転送することができる(S39)。これにより、HTTPコマンドを含むデータを用いるWebサーバ62と、HTTPコマンドを含まないデータを用いる印刷エンジン70との間で、1のエンドポイントEP1を共用することが可能となる。よって、Webサーバ62と印刷エンジン70との各々に専用のエンドポイントを備える場合に比して、必要なエンドポイント数を削減することができる。これにより、エンドポイントが実装されるハードウェアであるUSBインタフェース部42の面積が増大してしまう事態や、USBインタフェース部42のコストが上昇してしまう事態を防止することが可能となる。
Webサーバ62では、USB18およびエンドポイントEP1を介して受信したデータに基づいて各種の処理を実行するとともに、LAN通信92およびLANインタフェース部43を介して受信したTCPデータパケットに基づいて各種の処理を実行することができる。これにより、USB18を用いたHTTPコマンドを含むデータの通信と、TCP通信回線であるLAN通信92を用いたHTTPコマンドを含むデータの通信とを、同時に行うことが可能となる。
画像形成データ処理制御部64によって、PostScript(登録商標)言語で記述されたデータと、PCL言語で記述されたデータとを判別することができる。そして、PostScript(登録商標)言語で記述されたデータをPSパーサ71に振り分けるとともに、PCL言語で記述されたデータをPCLパーサ72に振り分けることができる。これにより、記述言語に対応するパーサへ、データを送信することができるため、複数種類の記述言語に対応することが可能となる。
コンテンツ処理制御部63は、1のエンドポイントEP1に記憶されたデータのヘッダ部分を解析することで、受信したデータがHTTPコマンドを含むデータであるか否かを判断することができる(S23)。これにより、データの解析量を抑制することができるため、USB18を介して受信したデータをWebサーバ62または画像形成データ処理制御部64へ振り分ける際の処理の負荷を低減させることが可能となる。
USB規格による通信では、TCPのように、コネクションを確立するために最初に送信されるパケット(例:SYNパケット)が存在しない。よって、USB18を用いてHTTPコマンドを含むデータの通信を行う場合には、データのヘッダ部分を識別することが困難である。上記の通信システム1のコンテンツ処理制御部63では、複数のデータを連続して受信する場合(例:図5に示す設定画面141を開く場合に、メインページのデータおよびGIF1〜GIF3に対応する画像データを受信する場合)に、所定時間よりも大きい通信間隔時間の経過を検出することで、1つのタスクを実行するための一群のデータ通信が完了したと判断することができる(S85:YES)。そして、所定時間よりも大きい通信間隔時間の経過後にデータをUSB18から受信した場合には(S11:YES)、別のタスクを実行するための一群のデータの受信が開始されたと判断することができるため、受信したデータの先頭から所定バイト数の部分をヘッダ部であると認識することができる(S19:YES)。また、上記の通信システム1のコンテンツ処理制御部63では、画像形成データ処理制御手段によってHTTPコマンドを含まないデータの通信の終了を検出した場合には(S51:YES)、印刷エンジン70での印刷処理などの1のタスクが完了したと判断することができる。そして、HTTPコマンドを含まないデータの通信の終了を検出した時点以降においてデータの通信が開始された場合には、別のタスクを実行するための一群のデータの受信が開始されたと判断することができるため、最初に通信したデータの先頭から所定バイト数の部分をヘッダ部であると認識することができる(S19:YES)。これにより、USBを用いてHTTPコマンドを含むデータの通信を行う場合において、受信データのヘッダ部分を識別することが可能となる。よって、ヘッダ部を解析することで、受信したデータがHTTPコマンドを含むデータであるか否かを判断することが可能となる(S27)。
USBでは、TCPのように、コネクションを切断するためのパケット(例:FINパケット)が存在しない。よって、USB18を用いてHTTPコマンドを含むデータの通信を行う場合には、あるタスクのための一群のデータ(例:設定画面141を表示するための複数のデータ)と、他のタスクのための一群のデータ(例:他の画面を表示するための複数のデータ)と、の境界を、コネクションの切断によって識別することが困難である。上記の通信システム1のコンテンツ処理制御部63では、複数のデータを連続して受信する場合に、所定時間よりも大きい通信間隔時間の経過が検出された場合(S85:YES)には、通信間隔時間が、一群のデータと一群のデータとの境界であると識別することができる。そして、一群のデータのうちの先頭のデータがHTTPコマンドを含むデータである場合には(S27:YES)、一群のデータの全てがHTTPコマンドを含むデータであると判断することができるため、先頭のデータの後に引き続いて通信されるデータの転送先を、Webサーバ62に設定することができる(S59)。そして、一群のデータと一群のデータとの境界が識別されると(S85:YES)、データの転送先がWebサーバ62でも画像形成データ処理制御部64でもない状態(すなわち、アイドル状態)にすることができる(S9)。これにより、一群のデータと一群のデータとの間の境界を認識し、一群のデータごとに、Webサーバ62または画像形成データ処理制御部64の一方へ転送することが可能となる。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。以下に変形例を説明する。
<変形例>
受信用エンドポイントEP1a〜EP3aが、PC9から受信したデータを記憶するバッファとして機能する形態を説明したが、この形態に限られない。受信用エンドポイントEP1a〜EP3aの各々に接続されるバッファを備えてもよい。そして、受信用エンドポイントEP1a〜EP3aは、PC9から受信したデータを、これらのバッファに記憶させる形態であってもよい。
エンドポイントEP11およびEP1を用いて通信するアプリケーションは、印刷アプリケーション24およびWebブラウザ23に限られず、各種のアプリケーションであってもよい。例えば、Webブラウザ23に代えて、スキャナドライバ30およびスキャンアプリケーション31が、TCP/IPスタック29に接続されるとしてもよい。
本実施形態では、S85において、データの通信間隔時間が予め定められた所定時間よりも大きいか否かによって、1つのタスクを実行するための一群のデータ通信が完了したか否かを判断する形態を説明した。しかし、この形態に限られない。例えば、Webサーバ62において、入力されるデータを解析することで、1のタスクを実行するための一群のデータの通信の終了を検出するとしてもよい。そして、Webサーバ62が一群のデータの通信の終了を検出すると、終了信号SS2をコンテンツ処理制御部63へ送信するとしてもよい(図2参照)。これにより、所定時間の経過を待たずに一群のデータ通信の完了を検出することが可能となる。
終了信号SS1を画像形成データ処理制御部64で生成する場合を説明したが、この形態に限られない。例えば、印刷エンジン70やスキャナコマンド処理部73でデータを解析することで、一群のデータの通信の終了を検出し、終了信号を生成してもよい。
本実施形態では、PostScript(登録商標)言語およびPCL言語で記述された印刷データを取り扱う場合を説明したが、他の種類のPDL言語を用いることも可能である。また、画像形成データ処理制御部64が判別するPDL言語の種類は2種類に限られず、3種類以上であってもよい。
本明細書に記載の技術の適用範囲は、MFP51を設定するための通信、および、MFP51に印刷データを送信するための通信を、インタフェース1の同一のエンドポイントを用いて実行する場合に限られない。例えば、MFP51を設定するための通信、および、MFP51で各種の処理を実行するための通信を、同一のエンドポイントを用いて実行する場合にも適用可能である。例えば、1つ目のWebブラウザ23をPC9で実行して、MFP51での印刷設定を行うとともに、2つ目のWebブラウザ23をPC9で実行して、インターネットを用いたFAX送信やインターネットを用いたメール送受信を行う場合においても、本明細書に記載の技術を適用することができる。
Webサーバ62が備えられる通信装置の一例として、MFP51を説明したが、この形態に限られない。通信装置は、USB接続できる装置であれば何れの種類の装置であってもよく、例えばPCや携帯電話であってもよい。
なお、画像データ処理装置はPC9の一例である。USBインタフェース部42はUSB I/Fの一例である。MFP51は画像処理装置の一例である。Webサーバ62は第1処理手段の一例である。GetコマンドおよびPUTコマンドは、HTTPコマンドの一例である。印刷エンジン70は第2処理手段の一例である。受信用エンドポイントEP1aは、1の受信用USBエンドポイントに対応するバッファの一例である。LANインタフェース部43はTCP I/Fの一例である。PS言語で記述された印刷データは第1形式の画像形成データの一例である。PSパーサ71は第1画像形成手段の一例である。PCL言語で記述された印刷データは第2形式の画像形成データの一例である。PCLパーサ72は第2画像形成手段の一例である。
9:PC、18:USB、23:Webブラウザ、24:印刷アプリケーション、51:MFP、62:Webサーバ、63:コンテンツ処理制御部、64:画像形成データ処理制御部、EP0〜EP3およびEP10〜EP13:エンドポイント

Claims (11)

  1. 画像データ処理装置がUSBプロトコルに従って送信したUSBデータパケットを受信し、受信したUSBデータパケットに含まれるコンテンツデータを1の受信用USBエンドポイントに対応するバッファに記憶させるUSB I/Fを備える画像処理装置であって、
    HTTPコマンドに基づいて各種の処理を実行する第1処理手段と、
    HTTPコマンドではないコマンドに基づいて画像処理を実行する第2処理手段と、
    を備え、
    前記第2処理手段は、
    第1形式の画像形成データに基づいて画像形成する処理を実行する第1画像形成手段と、
    第2形式の画像形成データに基づいて画像形成する処理を実行する第2画像形成手段と、
    前記コンテンツデータを解析し、
    解析したコンテンツデータが前記第1形式の画像形成データである場合には前記第1画像形成手段に処理させ、
    解析したコンテンツデータが前記第2形式の画像形成データである場合には前記第2画像形成手段に処理させる画像形成データ振り分け処理を実行する画像形成データ処理制御手段と、
    を備え、
    前記画像処理装置は、さらに、
    前記1の受信用USBエンドポイントに対応するバッファに記憶されたコンテンツデータのヘッダ部を解析し、
    解析したコンテンツデータがHTTPコマンドを含むデータであるか否かを判断し、
    解析したコンテンツデータがHTTPコマンドを含むデータであると判断した場合には前記コンテンツデータを前記第1処理手段に処理させ、
    解析したコンテンツデータがHTTPコマンドを含むデータでないと判断した場合には前記コンテンツデータを前記画像形成データ処理制御手段に処理させるコンテンツ処理制御手段と、
    を備え
    前記コンテンツ処理制御手段は、前記1の受信用USBエンドポイントを介して、複数の前記コンテンツデータをシリアルに通信しており、
    前記コンテンツ処理制御手段は、
    前記1の受信用USBエンドポイントを介して直近に通信したコンテンツデータの通信時刻と、前記直近に通信したコンテンツデータの1つ前に通信したコンテンツデータの通信時刻との間の通信間隔時間が、予め定められた所定時間よりも大きい場合には、前記直近に通信したコンテンツデータの先頭から所定バイト数の部分を前記ヘッダ部として取り扱う
    ことを特徴とする画像処理装置。
  2. 前記画像処理装置には、前記受信用USBエンドポイントが複数備えられており、
    前記1の受信用USBエンドポイントは、複数の前記受信用USBエンドポイントのうち、前記画像データ処理装置が指定した受信用USBエンドポイントである
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 画像データ処理装置がTCPプロトコルに従って送信したTCPデータパケットを受信可能なTCP I/Fを備え、
    前記第1処理手段は、
    前記TCP I/Fが受信したTCPデータパケットに含まれるHTTPコマンドに基づいて各種の処理を実行することが可能であり、かつ、
    前記コンテンツ処理制御手段によるコンテンツデータ振り分け処理に拠って、前記USB I/Fが受信したUSBデータパケットに含まれるHTTPコマンドに基づいて各種の処理を実行することが可能である、
    ことを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記コンテンツ処理制御手段は、
    前記1の受信用USBエンドポイントに対応するバッファに記憶されたコンテンツデータを解析し、
    解析したコンテンツデータがHTTPコマンドを含むデータである場合には前記コンテンツデータを前記第1処理手段に処理させ、
    解析したコンテンツデータがHTTPコマンドを含むデータでない場合には前記コンテンツデータを前記第2処理手段に処理させる、
    ことを特徴とする請求項1〜3の何れか1項に記載の画像処理装置。
  5. 前記コンテンツ処理制御手段は、
    前記コンテンツデータの前記ヘッダ部を解析して通信先を設定した場合には、前記ヘッダ部を解析したコンテンツデータに引き続いて通信される複数のコンテンツデータのうち、1つ前のコンテンツデータとの間の前記通信間隔時間が前記所定時間よりも小さいコンテンツデータの通信先を、前記ヘッダ部を解析したコンテンツデータの通信先と同一に設定する
    ことを特徴とする請求項1〜4の何れか1項に記載の画像処理装置。
  6. 前記画像形成データ処理制御手段は、前記HTTPコマンドを含まないデータを解析して前記HTTPコマンドを含まないデータの通信の終了を検出し、
    前記コンテンツ処理制御手段は、
    前記画像形成データ処理制御手段が前記HTTPコマンドを含まないデータの通信の終了を検出した時点以降において最初に通信したコンテンツデータの先頭から所定バイト数の部分を、前記ヘッダ部として取り扱う
    ことを特徴とする請求項1〜5の何れか1項に記載の画像処理装置。
  7. 画像データ処理装置がUSBプロトコルに従って送信したUSBデータパケットを受信し、受信したUSBデータパケットに含まれるコンテンツデータを1の受信用USBエンドポイントに対応するバッファに記憶させるUSB I/Fを備える画像処理装置のコンピュータが読み取り可能な通信プログラムであって、
    前記画像処理装置の前記コンピュータを、
    HTTPコマンドに基づいて各種の処理を実行する第1処理手段と、
    HTTPコマンドではないコマンドに基づいて画像処理を実行する第2処理手段と、
    として機能させ、
    前記第2処理手段は、
    第1形式の画像形成データに基づいて画像形成する処理を実行する第1画像形成手段と、
    第2形式の画像形成データに基づいて画像形成する処理を実行する第2画像形成手段と、
    前記コンテンツデータを解析し、
    解析したコンテンツデータが前記第1形式の画像形成データである場合には前記第1画像形成手段に処理させ、
    解析したコンテンツデータが前記第2形式の画像形成データである場合には前記第2画像形成手段に処理させる画像形成データ振り分け処理を実行する画像形成データ処理制御手段と、
    を備え、
    前記通信プログラムは、前記画像処理装置の前記コンピュータを、さらに、
    前記1の受信用USBエンドポイントに対応するバッファに記憶されたコンテンツデータのヘッダ部を解析し、
    解析したコンテンツデータがHTTPコマンドを含むデータであるか否かを判断し、
    解析したコンテンツデータがHTTPコマンドを含むデータであると判断した場合には前記コンテンツデータを前記第1処理手段に処理させ、
    解析したコンテンツデータがHTTPコマンドを含むデータでないと判断した場合には前記コンテンツデータを前記画像形成データ処理制御手段に処理させるコンテンツ処理制御手段と、
    して機能させ
    前記コンテンツ処理制御手段は、前記1の受信用USBエンドポイントを介して、複数の前記コンテンツデータをシリアルに通信しており、
    前記コンテンツ処理制御手段は、
    前記1の受信用USBエンドポイントを介して直近に通信したコンテンツデータの通信時刻と、前記直近に通信したコンテンツデータの1つ前に通信したコンテンツデータの通信時刻との間の通信間隔時間が、予め定められた所定時間よりも大きい場合には、前記直近に通信したコンテンツデータの先頭から所定バイト数の部分を前記ヘッダ部として取り扱う
    ことを特徴とする通信プログラム。
  8. 前記画像処理装置には、前記受信用USBエンドポイントが複数備えられており、
    前記1の受信用USBエンドポイントは、複数の前記受信用USBエンドポイントのうち、前記画像データ処理装置が指定した受信用USBエンドポイントである
    ことを特徴とする請求項に記載の通信プログラム
  9. 画像データ処理装置がTCPプロトコルに従って送信したTCPデータパケットを受信可能なTCP I/Fを備え、
    前記第1処理手段は、
    前記TCP I/Fが受信したTCPデータパケットに含まれるHTTPコマンドに基づいて各種の処理を実行することが可能であり、かつ、
    前記コンテンツ処理制御手段によるコンテンツデータ振り分け処理に拠って、前記USB I/Fが受信したUSBデータパケットに含まれるHTTPコマンドに基づいて各種の処理を実行することが可能である、
    ことを特徴とする請求項またはに記載の通信プログラム
  10. 前記コンテンツ処理制御手段は、
    前記1の受信用USBエンドポイントに対応するバッファに記憶されたコンテンツデータを解析し、
    解析したコンテンツデータがHTTPコマンドを含むデータである場合には前記コンテンツデータを前記第1処理手段に処理させ、
    解析したコンテンツデータがHTTPコマンドを含むデータでない場合には前記コンテンツデータを前記第2処理手段に処理させる、
    ことを特徴とする請求項の何れか1項に記載の通信プログラム
  11. 前記コンテンツ処理制御手段は、
    前記コンテンツデータの前記ヘッダ部を解析して通信先を設定した場合には、前記ヘッダ部を解析したコンテンツデータに引き続いて通信される複数のコンテンツデータのうち、1つ前のコンテンツデータとの間の前記通信間隔時間が前記所定時間よりも小さいコンテンツデータの通信先を、前記ヘッダ部を解析したコンテンツデータの通信先と同一に設定する
    ことを特徴とする請求項7〜10の何れか1項に記載の通信プログラム
JP2012257187A 2012-11-26 2012-11-26 画像処理装置および通信プログラム Active JP6065542B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012257187A JP6065542B2 (ja) 2012-11-26 2012-11-26 画像処理装置および通信プログラム
US14/089,923 US9137395B2 (en) 2012-11-26 2013-11-26 Image processing device and computer-readable storage medium for use in connection with USB data packets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012257187A JP6065542B2 (ja) 2012-11-26 2012-11-26 画像処理装置および通信プログラム

Publications (2)

Publication Number Publication Date
JP2014106581A JP2014106581A (ja) 2014-06-09
JP6065542B2 true JP6065542B2 (ja) 2017-01-25

Family

ID=50773046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012257187A Active JP6065542B2 (ja) 2012-11-26 2012-11-26 画像処理装置および通信プログラム

Country Status (2)

Country Link
US (1) US9137395B2 (ja)
JP (1) JP6065542B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6354153B2 (ja) * 2013-12-24 2018-07-11 株式会社リコー 情報処理システム、画像形成装置、情報処理方法および情報処理プログラム
JP6522906B2 (ja) * 2014-08-26 2019-05-29 株式会社リコー 情報処理システム、画像形成装置、設定状態管理方法及び設定状態管理プログラム
JP2016058952A (ja) * 2014-09-11 2016-04-21 セイコーエプソン株式会社 電子機器、及び電子機器における表示制御方法
JP6600957B2 (ja) * 2015-03-26 2019-11-06 富士ゼロックス株式会社 情報処理装置、およびプログラム
JP2016201744A (ja) * 2015-04-13 2016-12-01 キヤノン株式会社 情報処理装置及びその制御方法、データ送信装置及びその制御方法、並びにプログラム
JP6570303B2 (ja) * 2015-04-30 2019-09-04 キヤノン株式会社 処理装置、処理方法、及びプログラム
JP6460905B2 (ja) * 2015-04-30 2019-01-30 キヤノン株式会社 通信装置、制御方法、プログラム
JP2017034482A (ja) * 2015-07-31 2017-02-09 キヤノン株式会社 画像形成装置、その制御方法、及びプログラム
ES2895426T3 (es) * 2016-11-30 2022-02-21 Canon Denshi Kk Dispositivo de procesamiento de información, procedimiento de control correspondiente, programa, y sistema de procesamiento de información
JP7006106B2 (ja) * 2017-10-04 2022-01-24 セイコーエプソン株式会社 電子機器、及び、制御方法
JP2020095382A (ja) * 2018-12-11 2020-06-18 シチズン時計株式会社 プリンターシステム、プリンター設定方法、プリンター、プリンターの制御プログラム、プリンター設定装置およびプリンター設定装置の制御プログラム
JP7243382B2 (ja) 2019-03-29 2023-03-22 ブラザー工業株式会社 画像形成装置
JP2021051393A (ja) * 2019-09-20 2021-04-01 スター精密株式会社 プリンタ
JP7413750B2 (ja) 2019-12-16 2024-01-16 ブラザー工業株式会社 プログラム、プログラム群、および情報処理装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3680762B2 (ja) * 2001-05-14 2005-08-10 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP2003316712A (ja) 2002-04-22 2003-11-07 Canon Inc 画像処理装置及び通信制御方法
JP3821080B2 (ja) * 2002-09-30 2006-09-13 ブラザー工業株式会社 印刷装置
US20070091362A1 (en) * 2005-10-20 2007-04-26 Chung-Nan Tien Multifunction peripheral
JP2007274588A (ja) * 2006-03-31 2007-10-18 Canon Inc 電子機器及び当該機器における制御方法
JP2009005109A (ja) * 2007-06-21 2009-01-08 Sharp Corp データ入出力管理システム、デジタル複合機、外部記憶装置、データ入出力管理方法、データ入出力管理プログラム、および記録媒体
JP4815424B2 (ja) * 2007-11-27 2011-11-16 株式会社沖データ 画像処理装置及び通信装置、並びに画像処理システム
JP5539043B2 (ja) * 2010-06-08 2014-07-02 キヤノン株式会社 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム
US8488164B2 (en) * 2010-08-13 2013-07-16 Sap Ag Mobile Printing solution
JP5630711B2 (ja) * 2011-02-17 2014-11-26 コニカミノルタ株式会社 データ処理方法、画像形成装置及び電子ペン並びにデータ処理プログラム
JP6015360B2 (ja) * 2012-11-02 2016-10-26 ブラザー工業株式会社 通信装置および通信プログラム

Also Published As

Publication number Publication date
JP2014106581A (ja) 2014-06-09
US9137395B2 (en) 2015-09-15
US20140146364A1 (en) 2014-05-29

Similar Documents

Publication Publication Date Title
JP6065542B2 (ja) 画像処理装置および通信プログラム
US7822880B2 (en) User interfaces for peripheral configuration
US9086832B2 (en) Printer
JP5763904B2 (ja) プリントシステム、印刷方法、プリントサーバおよびその制御方法、並びにプログラム
US9092703B2 (en) Determining route and of print data and if conversion of print data is necessary
KR101377468B1 (ko) 화상처리장치, 화상처리장치의 제어 방법 및 컴퓨터 프로그램을 격납한 기록 매체
US8917407B2 (en) Image forming apparatus, image forming system, and image forming method that cause a job execution screen to be displayed on a display of a terminal apparatus
US8493597B2 (en) Image processing apparatus with a change processing section and a change requesting section for processing instructions of change
US7916953B2 (en) Removable medium device, medium for controlling removable medium device, and medium for controlling network device
US20100073707A1 (en) Systems and methods for facilitating virtual cloud printing
US8982386B2 (en) Device, charging method, and system
JP2006277749A (ja) プリンタ管理方法、プリンタ管理システム及びプリンタ管理の記憶媒体
JP2009171193A (ja) 通信装置、通信方法及び通信制御プログラム
JP2007311915A (ja) 画像読取システム、画像読取方法、およびその方法をコンピュータに実行させるプログラム
JP2007328558A (ja) データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体
JP6570303B2 (ja) 処理装置、処理方法、及びプログラム
JP2019160278A (ja) 情報処理装置、情報処理システム、ワークフロー処理方法及びプログラム
US8639768B2 (en) Multi-functional device executing multiple functions and function management
US20110310418A1 (en) Information processing system, method of controlling the same, and program
JP6026851B2 (ja) 制御サーバ装置、システム、情報処理方法及びプログラム
JP6812209B2 (ja) 画像形成装置、画像形成方法、及びプログラム
JP6341016B2 (ja) 画像形成システム、画像形成装置およびプログラム
JP2007018242A (ja) 画像処理装置及び画像処理システム
US11853630B1 (en) Printing device connectivity manager for a digital front end
US8762582B2 (en) Data processing apparatus capable of communicating with external device via a plurality of logical lines, data processing system, data processing device storing data processing program, and device driver

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161212

R150 Certificate of patent or registration of utility model

Ref document number: 6065542

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150