JP4655868B2 - 第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法 - Google Patents

第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法 Download PDF

Info

Publication number
JP4655868B2
JP4655868B2 JP2005303097A JP2005303097A JP4655868B2 JP 4655868 B2 JP4655868 B2 JP 4655868B2 JP 2005303097 A JP2005303097 A JP 2005303097A JP 2005303097 A JP2005303097 A JP 2005303097A JP 4655868 B2 JP4655868 B2 JP 4655868B2
Authority
JP
Japan
Prior art keywords
data
size
integer
received
receiving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005303097A
Other languages
English (en)
Other versions
JP2007114853A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005303097A priority Critical patent/JP4655868B2/ja
Publication of JP2007114853A publication Critical patent/JP2007114853A/ja
Application granted granted Critical
Publication of JP4655868B2 publication Critical patent/JP4655868B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法に関する。
従来、この種のデータ受信送信システムとしては、USB(Universal Serial Bus)ホストとして機能すると共に受信したデータを印刷するプリンタと、プリンタのUSBポートに接続されてUSBデバイスとして機能すると共に無線LANなどのネットワークに接続可能なドングルとを備え、クライアント端末からネットワークを介して送信されたイーサネット(登録商標)フレームをドングルで受信して、ドングルで受信したイーサネット(登録商標)フレームを最大パケットサイズ(USBフルスピードに対応したデバイスの場合は64バイトで、USBハイスピードに対応したデバイスの場合は512バイト)までのデータに分割してプリンタに送信するCDC(Cmmunication Device Class)プロトコルを用いるものが提案されている(例えば、非特許文献1参照)。このシステムでは、ドングルからプリンタに送信したデータがショートパケットと呼ばれる最大パケットサイズ未満のサイズのデータであるときには1回のデータ送信が終了したと判断してそれまでに受信したデータを連結する処理を実行する。
ユニバーサル シリアル バス クラス デフィニションズ フォア コミュニケーション デバイシズ(Universal Serial Bus Class Definitions for Communication Devices)、p.23−24、3.8.1.1 セグメント デリニエーション(3.8.1.1 Segment Delineation)、[online]、[平成17年9月9日検索]、インターネット<URL:http://www.usb.org/developers/devclass_docs/usbcdc11.pdf>
しかしながら、上述のシステムでは、ドングルからプリンタへデータを送信するときに1回のデータ送信で連続して送信できるデータの数が制限されることがある。例えば、クライアント端末から印刷データを1514バイトのイーサネット(登録商標)フレームに分割してドングルに送信する場合を考えると、USBハイスピードに対応したドングルでは受信した1514バイトのデータを二個の512バイトのデータと1個の490バイトのデータとに分割してプリンタに送信するため、必ずショートパケットが発生してドングルからプリンタに1回のデータ送信で連続して3個より多くのデータを送信できない。このように、ドングルからプリンタへ送信できるデータの数が制限されると、送信効率が悪くなり全体のスループットが低下してしまう。
本発明の第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法は、データの受信や送信におけるスループットの向上を図ることを目的とする。
本発明の第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法は、上述の目的を達成するために以下の手段を採った。
本発明の第1データ受信送信装置は、
データを受信して送信する第1データ受信送信装置であって、
データを記憶可能な第1データ記憶手段と、
元データを第1のサイズに整数(n)を乗じたサイズより第1所定サイズだけ大きい第2のサイズ毎に分割してなる複数の分割データとして受信して前記第1データ記憶手段に記憶する第1受信処理手段と、
前記記憶した複数の分割データを順に整数(n+1)個の第1のサイズのデータとして送信する第1送信処理手段と、
を備えることを要旨とする。
本発明の第1データ受信送信装置では、元データを第1のサイズに整数(n)を乗じたサイズより第1所定サイズだけ大きい第2のサイズ毎に分割してなる複数の分割データとして受信して第1データ記憶手段に記憶して、記憶した複数の分割データを順に整数(n+1)個の第1のサイズのデータとして送信する。この結果、複数の分割データを整数(n+1)個の第1のサイズのデータとして順に送信することができるため、一つの分割データしか送信できない装置に比してスループットの向上を図ることができる。
本発明の第1データ受信送信装置において、前記第1送信処理手段は、前記分割データを整数(n)個の第1のサイズのデータに分割した残余の整数(n+1)個目のデータについては第1のサイズから前記第1所定サイズを減じたサイズの調整用データを付加して得られる第1のサイズのデータとして送信する手段であるものとすることもできる。こうすれば、分割データのサイズが整数個の第1のサイズのデータに分割できないときでも第1のサイズのデータとして送信することができる。
また、本発明の第1データ受信送信装置において、前記第1受信処理手段は、前記分割データを前記第1データ記憶手段に記憶する際に、第1のサイズに整数(n+1)を乗じて得られる記憶用サイズの記憶領域を確保して記憶する手段であり、前記第1送信処理手段は、前記記憶用サイズの記憶領域に記憶された分割データを順に整数(n+1)個の第1のサイズのデータとして送信する手段であるものとすることもできる。こうすれば、分割データを整数(n+1)個の第1のサイズのデータとして送信することができる。
さらに、本発明の第1データ受信送信装置において、前記第1送信処理手段は、整数(m)個の分割データを送信する毎に整数(m)個目の分割データの整数(n+1)個目のデータについては前記第1所定サイズのデータとして送信する手段であるものとすることもできる。こうすれば、整数(m)個の分割データを送信する毎に整数(m)個目の分割データの整数(n+1)個目のデータについては第1所定サイズのデータとして送信することができる。
本発明の第1の受信装置は、上述したいずれかの態様の本発明の第1データ受信送信装置、すなわち、基本的には、データを受信して送信する第1データ受信送信装置であって、データを記憶可能な第1データ記憶手段と、元データを第1のサイズに整数(n)を乗じたサイズより第1所定サイズだけ大きい第2のサイズ毎に分割してなる複数の分割データとして受信して前記第1データ記憶手段に記憶する第1受信処理手段と、前記記憶した複数の分割データを順に整数(n+1)個の第1のサイズのデータとして送信する第1送信処理手段と、を備える第1データ受信送信装置から送信されるデータを受信する受信装置であって、
前記第1データ受信送信装置から受信した整数(n+1)個の第1のサイズのデータのうち整数(n)個目までのデータについては受信した第1のサイズのまま連結されるデータとして処理し、整数(n+1)個目のデータについては受信した第1のサイズのデータのうち前記第1所定サイズまでのデータを連結されるデータとして処理すると共に残余のデータについては破棄するデータとして処理するデータ受信処理手段、
を備えることを要旨とする。
本発明の第1の受信装置では、上述したいずれかの態様の本発明の第1データ受信送信装置から受信した整数(n+1)個の第1のサイズのデータのうち整数(n)個目までのデータについては受信した第1のサイズのまま連結されるデータとして処理し、整数(n+1)個目のデータについては受信した第1のサイズのデータのうち第1所定サイズまでのデータを連結されるデータとして処理すると共に残余のデータについては破棄するデータとして処理する。この結果、前述したいずれかの態様の本発明の第1データ受信送信装置から順に送信される(n+1)個の第1のサイズのデータを第1のサイズに整数(n)を乗じたサイズと第1所定サイズとの和のサイズのデータとして処理することができる。
本発明の第2の受信装置は、
整数(m)個の分割データを送信する毎に整数(m)個目の分割データの整数(n+1)個目のデータについては第1所定サイズのデータとして送信する態様の第1送信処理手段を備える第1データ受信送信装置から送信されるデータを受信する受信装置であって、
前記第1データ受信送信装置から受信した整数(n+1)個のうちの最後のデータが第1のサイズであるときには該受信した整数(n+1)個のデータのうち整数(n)個目までのデータについては受信した第1のサイズのまま連結されるデータとして処理すると共に整数(n+1)個目のデータについては受信した第1のサイズのデータのうち前記第1所定サイズまでのデータだけを連結されるデータとして処理し且つ次に受信するデータについても連結される一連のデータであると認識し、前記第1データ受信送信装置から受信した整数(n+1)個のうちの最後のデータが第1のサイズではないときには該受信した整数(n+1)個のデータのうち整数(n)個目までのデータについては受信した第1のサイズのまま連結されるデータとして処理すると共に整数(n+1)個目のデータについては受信したデータを連結されるデータとして処理し且つ次に受信するデータについては該受信したデータの内容により連結されるデータであるか否かを判定すべきと認識するデータ受信処理手段、
を備えることを要旨とする。
本発明の第2の受信装置では、第1データ受信送信装置から受信した整数(n+1)個のうちの最後のデータが第1のサイズであるときには受信した整数(n+1)個のデータのうち整数(n)個目までのデータについては受信した第1のサイズのまま連結されるデータとして処理すると共に整数(n+1)個目のデータについては受信した第1のサイズのデータのうち第1所定サイズまでのデータだけを連結されるデータとして処理し且つ次に受信するデータについても連結される一連のデータであると認識し、第1データ受信送信装置から受信した整数(n+1)個のうちの最後のデータが第1のサイズではないときには受信した整数(n+1)個のデータのうち整数(n)個目までのデータについては受信した第1のサイズのまま連結されるデータとして処理すると共に整数(n+1)個目のデータについては受信したデータを連結されるデータとして処理し且つ次に受信するデータについては受信したデータの内容により連結されるデータであるか否かを判定すべきと認識する。第1データ受信送信装置から受信した整数(n+1)個のうちの最後のデータが第1のサイズであるときには、次に受信するデータも連結するデータとして受信することができるから、スループットの向上を図ることができる。
本発明の第2データ受信送信装置は、
データを受信して送信する第2データ受信送信装置であって、
データを記憶可能な第2データ記憶手段と、
整数(p+1)個の第3のサイズのデータを受信して前記第2データ記憶手段に記憶する第2受信処理手段と、
前記第2データ記憶手段に記憶された整数(p+1)個の第3のサイズのデータを該第3のサイズに整数(p)を乗じて得られるサイズに第2所定サイズを加えて得られる第4のサイズのデータとして送信する第2送信処理手段と、
を備えることを要旨とする。
本発明の第2データ受信送信装置では、整数(p+1)個の第3のサイズのデータを受信して第2データ記憶手段に記憶し、第2データ記憶手段に記憶した整数(p+1)個の第3のサイズのデータを第3のサイズに整数(p)を乗じて得られるサイズに第2所定サイズを加えて得られる第4のサイズのデータとして送信する。整数(p+1)個の第3のサイズのデータを1個の第4のサイズのデータとして送信することができるから、スループットの向上を図ることができる。
本発明のデータ送受信システムは、
上述したいずれかの態様の本発明の第1データ受信送信装置、すなわち、基本的には、データを受信して送信する第1データ受信送信装置であって、データを記憶可能な第1データ記憶手段と、元データを第1のサイズに整数(n)を乗じたサイズより第1所定サイズだけ大きい第2のサイズ毎に分割してなる複数の分割データとして受信して前記第1データ記憶手段に記憶する第1受信処理手段と、前記記憶した複数の分割データを順に整数(n+1)個の第1のサイズのデータとして送信する第1送信処理手段と、を備える第1データ受信送信装置と、データを受信して送信する第2データ受信送信装置であって、データを記憶可能な第2データ記憶手段と、整数(p+1)個の第3のサイズのデータを受信して前記第2データ記憶手段に記憶する第2受信処理手段と、前記第2データ記憶手段に記憶された整数(p+1)個の第3のサイズのデータを該第3のサイズに整数(p)を乗じて得られるサイズに第2所定サイズを加えて得られる第4のサイズのデータとして送信する第2送信処理手段と、を備える態様の第2データ受信送信装置とを有するデータ受信送信システムであって、
前記第3のサイズは、前記第1のサイズであり、
前記第4のサイズは、前記第2のサイズであり、
整数(p)は、整数(n)に一致し、
前記第2所定サイズは、前記第1所定サイズに一致する
ことを要旨とする。
本発明のデータ送受信システムでは、第1データ受信送信装置で、元データを第1のサイズに整数(n)を乗じたサイズより第1所定サイズだけ大きい第2のサイズ毎に分割してなる複数の分割データとして受信して第1データ記憶手段に記憶して、記憶した複数の分割データを順に整数(n+1)個の第1のサイズのデータとして送信し、第2データ受信送信装置で送信された整数(n+1)個の第1のサイズのデータを受信して第2データ記憶手段に記憶して、第2データ記憶手段に記憶された整数(n+1)個の第1のサイズのデータを第1のサイズに整数(n)を乗じて得られるサイズに第1所定サイズを加えて得られる第2のサイズのデータとして送信する。第1データ受信送信装置で元データを分割して得られる第2のサイズの複数の分割データを整数(n+1)個の第1のサイズのデータとして順に送信するから、一つの分割データしか送信できない装置を用いたシステムに比してスループットの向上を図ることができる。
本発明の第1のデータ受信送信方法は、
データを受信して送信するデータ受信送信方法であって、
(a)元データを第1のサイズに整数(n)を乗じたサイズより第1所定サイズだけ大きい第2のサイズ毎に分割してなる複数の分割データとして受信して記憶し、
(b)前記記憶した複数の分割データを順に整数(n+1)個の第1のサイズのデータとして送信する、
ことを要旨とする。
本発明の第1のデータ受信送信方法では、元データを第1のサイズに整数(n)を乗じたサイズより第1所定サイズだけ大きい第2のサイズ毎に分割してなる複数の分割データとして受信して記憶し、記憶した複数の分割データを順に整数(n+1)個の第1のサイズのデータとして送信する。この結果、複数の分割データを整数(n+1)個の第1のサイズのデータとして順に送信することができるため、一つの分割データしか送信できない装置に比してスループットの向上を図ることができる。
本発明のデータ受信送信方法は、
データを受信して送信するデータ受信送信方法であって、
(a)整数(p+1)個の第3のサイズのデータを受信して記憶し、
(b)前記記憶した整数(p+1)個の第3のサイズのデータを該第3のサイズに整数(p)を乗じて得られるサイズに第2所定サイズを加えて得られる第4のサイズのデータとして送信する、
ことを要旨とする。
本発明のデータ受信送信方法では、整数(p+1)個の第3のサイズのデータを受信して記憶し、前記記憶した整数(p+1)個の第3のサイズのデータを該第3のサイズに整数(p)を乗じて得られるサイズに第2所定サイズを加えて得られる第4のサイズのデータとして送信する。整数(p+1)個の第3のサイズのデータを第4のサイズのデータとして送信することができるから、スループットの向上を図ることができる。
次に、本発明を実施するための最良の形態を実施例を用いて説明する。
図1は、本発明の一実施例としてのデータ受信送信システムとして機能する印刷システム10の構成の概略を示す構成図である。印刷システム10は、USBホストとして機能すると共に受信したデータを印刷するプリンタ20と、プリンタ20のUSBポート22に接続されてUSBデバイスとして機能すると共に無線LANなどのネットワーク60に接続可能なドングル40とを備え、クライアント端末70から送信される印刷データをネットワーク60とドングル40とを介してプリンタ20で受信して、プリンタ20で印刷データを紙などの印刷媒体に印刷する。
プリンタ20は、一般的な電子写真方式のカラーレーザプリンタとして構成されており、プリンタ20全体を制御するメインコントローラ24と、印刷を実行するプリンタエンジン34と,USBポート22に挿入されたドングル40との接続を司るUSBホストコントローラ36とを備える。
メインコントローラ24は、CPU26を中心としたマイクロコンピュータとして構成されており、プログラムなどを記憶するROM28やデータを一時的に記憶するRAM30,不揮発性メモリとしてのEEPROM32などを備える。EEPROM32には、USBホストコントローラ36で受信したデータを処理するデータ処理プログラム32aが保存されている。データ処理プログラム32aは、USBポート22にドングル40が挿入されたときに起動してメインコントローラ24のCPU26にドングル40から送信されるデータを受信して受信したデータを用いた画像をプリンタエンジン34で印刷する処理を実行させる。
USBホストコントローラ36は、USBポート22に接続されたドングル40に対して定期的にデータの送信や受信を要求するリクエスト信号を送信し、リクエスト信号に応じてドングル40がデータを送受信すると所定時間だけデータの送受信を受け付け、所定時間経過するとデータの送受信を中断する。
なお、プリンタエンジン34については、一般的なレーザプリンタと同様であり、本発明の中核をなさないから詳細な説明を省略する。
ドングル40は、ドングル40全体を制御するCPU42と、プログラムなどを記憶するROM44と、データを一時的に記憶するRAM46と、不揮発性メモリとしてのEEPROM48と、ネットワーク60との接続を司るネットワークコントローラ50と、プリンタ20のUSBホストコントローラ36との接続を司るUSBデバイスコントローラ52とを備える。
EEPROM48には、クライアント端末70からネットワーク60を介して送信される印刷データをネットワークコントローラ50を介して受信してプリンタ20に送信するためのデータ送受信プログラム48aが保存されている。データ送受信プログラム48aは、ドングル40がプリンタ20のUSBポート22に挿入されたときに起動して、CPU42にネットワークコントローラ50で受信したデータをUSBデバイスコントローラ52からプリンタ20のUSBホストコントローラ36に送信する処理を実行させる。
ネットワークコントローラ50は、ネットワーク60やUSBデバイスコントローラ52を監視していて、ネットワーク60上のプリンタ20のIPアドレスをヘッダに含むデータを受信したり、USBデバイスコントローラ52からのデータをネットワーク60に送信する。
USBデバイスコントローラ52は、データを一時的に記憶するレジスタ52aを備えて、USBホストコントローラ36から送信されたリクエスト信号を受信するとレジスタ52aに保存したデータを512バイトのサイズまでのデータとして順にプリンタ20のUSBホストコントローラ36に送信したり、USBホストコントローラ36からのデータを受信してレジスタ52aに保存する。前述したように1回のリクエスト信号でUSBホストコントローラ36でデータの受信を受け付ける時間が制限されている。従って、USBデバイスコントローラ52は、USBホストコントローラ36の1回のリクエスト信号に対して送信できるデータの数が予め制限されており、実施例では、1回のリクエスト信号に対して512バイトまでのサイズのデータを8個まで送信できるものとする。
次に、こうして構成された印刷システム10の動作、特に、クライアント端末70から送信した印刷データをドングル40を介してプリンタ20で受信する動作について説明する。まず、クライアント端末70で印刷データを送信する際の動作について説明し、次に、ドングル40で受信したデータをプリンタ20に送信する際の動作について説明し、続いて、プリンタ20でドングル40からのデータを受信する際の動作について説明する。図2は、印刷システム10のクライアント端末70の図示しないCPUで実行される処理とドングル40のCPU42で実行される処理とプリンタ20のメインコントローラ24のCPU26で実行される処理とクライアント端末70やドングル40,プリンタ20間で送受信されるデータのサイズの一例を示す説明図である。
最初にクライアント端末70で印刷データを送信する際の動作について説明する。クライアント端末70での処理は、ユーザがクライアント端末70にインストールされているアプリケーションソフトを用いて画像ファイルなどの印刷の指示したときにクライアント端末70のプリンタドライバが起動して実行される。この処理では、クライアント端末70からネットワーク60に印刷データを複数に分割して分割データとして順に送信する処理を実行し(ステップS100)、処理を終了する。実施例では、分割データは、印刷先の機器のIPアドレスや各分割データの元の印刷データが何であるかを示す識別情報などを内容として含むヘッダを含めて1514バイトずつまでのサイズのデータとしてネットワーク60に送信されるものとする。
続いて、ドングル40で受信した分割データをプリンタ20に送信する際の動作について説明する。ドングル40での処理は、ドングル40のネットワークコントローラ50がネットワーク60上にプリンタ20のIPアドレスをヘッダに含む分割データを検出したときに実行される。この処理では、まず、ネットワークコントローラ50で1514バイトの分割データを受信したら(ステップS110)、USBデバイスコントローラ52のレジスタ52aに1536バイトのバッファ領域を確保すると共に確保したバッファ領域の先頭アドレスから1514バイトの領域に格納する(ステップS120)。この処理では、1514バイトの分割データに対してバッファ領域を22バイトだけ余分に確保しているから、バッファ領域の1515バイト目のアドレス以降のデータは、受信した分割データに元々含まれていないデータとなる。
続いて、ネットワークコントローラ50で2個目の分割データを受信したら(ステップS130)、USBデバイスコントローラ52に1514バイトのバッファ領域を確保すると共に確保したバッファ領域に受信した2個目の分割データを格納して(ステップS140)、USBデバイスコントローラ52がUSBホストコントローラ36から送信されたリクエスト信号を受信すると、バッファ領域に格納された分割データを受信した順に512バイトまでずつのサイズのデータとしてプリンタ20のUSBホストコントローラ36に送信する(ステップS150)。実施例では、まず、ステップS120の処理で確保した1536バイトのサイズのバッファ領域から3個の512バイトのサイズのデータを送信する。こうすれば、最初の2個のデータは、元の分割データに含まれていたデータであるが、3個目のデータは、元の分割データに含まれていた490バイトのサイズのデータと元の分割データに含まれていない22バイトのサイズのデータとから構成されることになる。続いて、ステップS140の処理で確保した1514バイトのサイズのバッファ領域から2個の512バイトのサイズのデータと1個の490バイトのサイズのデータとを送信する。こうすれば、3個のデータは、元の分割データに含まれていたデータのみから構成されることとなる。
USBデバイスコントローラ52からプリンタ20のUSBホストコントローラ36にデータを送信する際にこのようにして送るのは以下の理由に基づく。前述したようにUSBデバイスコントローラ52では、USBホストコントローラ36から送信される1回のリクエスト信号に対して512バイトまでのサイズのデータを8個まで送信できる。すなわち、USBデバイスコントローラ52は、1回のリクエスト信号に対して512バイトの8倍のサイズの4096バイトのサイズまでのデータしか送信することができないため、ネットワークコントローラ50で1514バイトの分割データを3個以上、すなわち、4542バイトのサイズ以上受信しても1回のリクエスト信号で2個の分割データしか送信することができない。後述するように、プリンタ20のUSBデバイスコントローラ36では、512バイト未満のデータを受信すると1回のリクエスト信号に対する受信データが終わりであると判断することから、2個目の分割データについては最後に送信するデータを490バイトのサイズにすることによりUSBホストコントローラ36に送信データの終わりを知らせることができる。このような理由で、ステップS140の処理で2個目の分割データを1514バイトのバッファ領域に格納することにより、ステップS150の処理で最後に送信するデータを490バイトのサイズのデータにしている。
ステップS150の処理を実行した後に、ネットワークコントローラ50で分割データを受信したときには、最後の分割データを受信するまでステップS110からステップS150の処理と同じ処理を繰り返し実行して、本処理を終了する。
このように、ドングル40では、クライアント端末70から分割して送信される1514バイトの分割データについて、1番目の分割データについては3個の512バイトのサイズのデータとしてプリンタ20に送信し、2番目の分割データについては2個の512バイトのサイズのデータと1個の490バイトのサイズのデータとしてプリンタ20に送信し、ネットワークコントローラ50で最後の分割データを受信してこのデータについての処理が終了するまでこの処理を繰り返す。
次に、ドングル40から送信されたデータをプリンタ20のUSBホストコントローラ36で受信する際の動作について説明する。プリンタ20での処理は、ドングル40のUSBデバイスコントローラ52にリクエスト信号を送信した後に実行される。最初に、USBデバイスコントローラ52から送信されるデータを受信するためのデータ受信処理を実行する(ステップS160)。図3は、データ受信処理の一例を示すフローチャートである。最初に、データを受信して(ステップS162)、受信したデータが512バイトであるか否かを判定する(ステップS164)。受信したデータが512バイトであるときには、ドングル40のUSBデバイスコントローラ52から続いて送信されてくると判断して、受信した512バイトのデータをプリンタ20のRAM30に確保したバッファ領域に保存する(ステップS166)。
続いて、バッファ領域に保存されている未送信のデータのサイズが512バイトの3倍のサイズの1536バイトに達したか否かを判定する(ステップS168)。バッファ領域の未送信のデータのサイズが1536バイトに達していないときには、ステップS162の処理に戻り、次のデータを受信して、ステップS164以降の処理を実行する。実施例では、ドングル40のUSBデバイスコントローラ52から1番目の分割データに対応する3個の512バイトのサイズのデータが送信されてくるので、3個目のデータを受信するまでステップS162からステップS168の処理が繰り返される。
バッファ領域の未送信のデータのサイズが1536バイトに達したとき、つまり、3個目の512バイトのサイズのデータがバッファ領域に格納されると、バッファ領域に格納されている1536バイトのサイズの未送信データのうちクライアント端末70から送信された元の分割データに含まれていない22バイトのサイズのデータを除く1514バイトのサイズのデータをプリンタエンジン34に送信する(ステップS170)。このように、クライアント端末70から分割して送信される1514バイトの分割データのうち、1番目の分割データに対応する3個の512バイトのサイズのデータについては、元の分割データに含まれていない22バイトのサイズのデータを削除して1514バイトのサイズのデータとしてプリンタエンジン34に送信することができる。
データの送信が終わると、ステップS162の処理に戻り、次のデータを受信して、ステップS164以降の処理を実行する。こうして、512バイト未満のデータを受信するまで、ステップS162からステップS170までの処理を実行する。
受信データが512バイト未満になると(ステップS164)、受信したデータが1回のリクエスト信号に対応してドングル40のUSBデバイスコントローラ52から送信される最後のデータであると判断して、受信した512バイトのサイズのデータをプリンタ20のRAM30に確保したバッファ領域に保存して(ステップS172)、バッファ領域内の未送信のデータを送信データとしてプリンタエンジン34に送信して(ステップS174)、データ受信処理を終了する。ステップS154の処理を実行するときに、実施例では、バッファ領域には、1個目の分割データに対応する3個の512バイトのサイズのデータは既に送信済みで、2個目の分割データに対応する2個の512バイトのサイズのデータと1個の490バイトのデータとが保存されているから、ステップS174の処理で2個目の分割データに対応する2個の512バイトのサイズのデータと1個の490バイトのサイズのデータとが1514バイトのデータとしてプリンタエンジン34に送信される。
ここで、図2に戻って説明を続ける。図2に示したステップS160の処理を実行すると、ドングル40のUSBデバイスコントローラ52に次のリクエスト信号を送信する。そして、USBデバイスコントローラ52のレジスタ52aにデータが保存されていれば、ステップS160の処理と同じ処理を実行し、USBデバイスコントローラ52のレジスタ52aに保存されているデータがなくなれば、プリンタ20でのデータを受信する処理を終了する。このようにプリンタ20のUSBホストコントローラ36では、ドングル40のUSBデバイスコントローラ52から送信されるデータを順に受信して1514バイトまでのサイズのデータとしてプリンタエンジン34に順次送信する。プリンタエンジン34では、送信されたデータを用いて印刷を実行する。
以上説明した実施例の印刷システム10によれば、ドングル40のUSBデバイスコントローラ52からプリンタ20のUSBホストコントローラ36に1回のリクエスト信号に対して送信できるデータの数の範囲内で、クライアント端末70から送信された分割データをより多く送信することができる。従って、1回のリクエスト信号で1個の分割データしか送信できないものに比して、システム全体のスループットの向上を図ることができる。
ここで、実施例の印刷システム10におけるドングル40のUSBデバイスコントローラ52のレジスタ52aが第1データ記憶手段に相当し、クライアント端末70から送信されたデータを受信する処理を実行するドングル40のCPU42が第1受信処理手段に相当し、分割データを512バイトずつのデータとして送信する処理を実行するドングル40のCPU42が第1送信処理手段に相当する。また、実施例の印刷システム10のプリンタ20においてドングル40から送信されたデータを受信した1514バイトまでずつのデータとする処理を実行するCPU26がデータ受信処理手段に相当する。そして、実施例の印刷システム10におけるプリンタ20のRAM30が第2データ記憶手段に相当し、ドングル40から送信されたデータを受信してRAM30に記憶させる処理を実行するプリンタ20のCPU26が第2受信処理手段に相当し、RAM30に記憶された2個の512バイトのサイズのデータと1個の490バイトのサイズのデータとを1514バイトのデータとしてプリンタエンジン34に送信する処理を実行するプリンタ20のCPU26が第2送信処理手段に相当する。さらに、実施例の印刷システム10におけるドングルが第1データ受信送信装置に相当し、プリンタ20が第2データ受信送信装置に相当する。
実施例の印刷システム10では、ステップS120の処理でUSBデバイスコントローラ52のレジスタ52aに1536バイトのサイズのバッファ領域を確保するものとしたが、確保するバッファ領域のサイズは、ドングル40で受信したデータのサイズより大きく、且つ、USBデバイスコントローラ52からプリンタ20のUSBホストコントローラ36に送信する1個のデータのサイズの整数倍であればよい。従って、スループットの低下を許容するならば、ステップS120の処理でUSBデバイスコントローラ52のレジスタ52aに512バイトの3倍より大きい整数倍のサイズ、例えば、4倍のサイズの2048バイトのサイズのバッファ領域を確保するものとしてもよい。
実施例の印刷システム10では、ドングル40で受信する分割データのサイズ、すなわち、クライアント端末70から送信される分割データのサイズを1514バイトであるものとしたが、分割データのサイズは、クライアント端末70とドングル40との間の通信サイズとして許容されているサイズであるなら如何なるサイズのデータであるものとしてもよい。また、ドングル40のUSBデバイスコントローラ52からプリンタ20のUSBホストコントローラ36に256バイトずつのデータを送信するものとしたが、送信するデータのサイズはUSBデバイスコントローラ52とUSBホストコントローラ36との間で許容されるサイズであるならば如何なるサイズのデータであるものとしてもよい。このような場合には、ステップS120の処理でドングル40で受信する分割データのサイズやドングル40のUSBデバイスコントローラ52からプリンタ20のUSBホストコントローラ36に送信するデータのサイズに応じて適宜設定するものとし、例えば、ドングル40で受信したデータのサイズ500バイトであり、USBデバイスコントローラ52からUSBホストコントローラ36に256バイトずつのデータを送信するときには、500バイトより大きく256バイトの2倍のサイズの512バイトのサイズのバッファ領域を確保するものとしてもよい。
実施例の印刷システム10では、ステップS120の処理で1514バイトのサイズの分割データを1536バイトのサイズのバッファ領域に保存するものとしたが、ステップS120の処理では1514バイトのサイズのデータを512バイトの3倍の1536バイトのサイズのデータとして処理できればいいから、受信した1514バイトのサイズの分割データに22バイトのサイズのデータを付加して1536バイトのデータにしてUSBデバイスコントローラ52のレジスタ52aに保存するものとしてもよい。
実施例の印刷システム10では、ドングル40をプリンタ20のUSBホストコントローラ36から送信される1個のリクエスト信号に対して512バイトまでのサイズのデータを8個まで送信できるものとしたが、送信可能なデータのサイズや個数は、実施例に記載したサイズや個数に限定されたものではなく、ドングル40のUSBデバイスコントローラ52とプリンタ20のUSBホストコントローラ36との間のデータの転送速度や1度に送信できるデータのサイズ、1回のリクエスト信号についてUSBホストコントローラ36がデータを受信する時間などに基づいて適宜設定するものとしてもよい。
実施例の印刷システム10では、ステップS140の処理でクライアント端末70から2個目の分割データを受信したら2個目の分割データについては1514バイトのサイズのバッファ領域に保存するものとしたが、クライアント端末70から送信される印刷データのサイズが比較的小さく1回のリクエスト信号で全てのデータを送信できる場合には、データを受信した後に分割データのヘッダに含まれる情報を解析して受信した分割データがクライアント端末70から最後に送信された分割データであるときに1514バイトのバッファ領域に保存するものとしてもよい。
実施例の印刷システム10では、ドングル40から送信されたデータをプリンタ20で受信するものとしたが、データの送信と受信を逆にしてプリンタ20から送信されたデータをドングル40で受信するものとしてもよい。
実施例の印刷システム10では、ドングル40においてUSBデバイスコントローラ52のレジスタ52aにバッファ領域を確保するものとしたが、データが記憶可能な手段であれば如何なる記憶手段にバッファ領域を確保してもよく、例えば、RAM46にバッファ領域を確保するものとしてもよいし、ドングル40がHDDなどの外部記憶装置を備えるときにはこのような外部記憶装置にバッファ領域を確保するものとしてもよい。
実施例の印刷システム10では、プリンタ20においてRAM30にバッファ領域を確保するものとしたが、データが記憶可能な手段であれば如何なる記憶手段にバッファ領域を確保してもよく、例えば、プリンタ20がHDDなどの外部記憶装置を備えるときにはこのような外部記憶装置にバッファ領域を確保するものとしてもよいし、USBホストコントローラ36がレジスタを備えているときにはレジスタ内にバッファ領域を確保するものとしてもよい。
実施例では、本発明を印刷システム10に適用することについて説明したが、本発明は、クライアント端末70から分割されて送信された分割データを受信して送信する第1の受信送信装置と第1の受信送信装置からのデータを受信して送信する第2データ受信送信装置とを備えるシステムであれば如何なるものに適用してもよく、第1の受信送信装置が受信するデータも印刷データに限定したものではなく、様々な種類のデータであるものとしてもよい。
実施例では、本発明を分割データを受信して送信する第1の受信送信装置と第1の受信送信装置からのデータを受信して送信する第2データ受信送信装置とから構成されるシステムに適用することについて説明したが、第1の受信送信装置と第2の受信送信装置とを備える一つの機器に適用するものしてもよい。
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
本発明の一実施例としての印刷システム10の構成の概略を示す構成図。 各装置で実行される処理と送受信するデータのサイズの一例を示す説明図。 データ受信処理の一例を示すフローチャート。
符号の説明
10 印刷システム、20 プリンタ、22 USBポート、24 メインコントローラ、26 CPU、28 ROM、30 RAM、32 EEPROM、32a データ処理プログラム、34 プリンタエンジン、40 ドングル、42 CPU、44 ROM、46 RAM、48 EEPROM、50 ネットワークコントローラ、52 USBデバイスコントローラ、52a レジスタ、60 ネットワーク、70 クライアント端末。

Claims (3)

  1. データを受信して送信する第1データ受信送信装置であって、
    データを記憶可能な第1データ記憶手段と、
    元データを第1のサイズに整数(n)を乗じたサイズより第1所定サイズだけ大きい第2のサイズ毎に分割してなる複数の分割データとして受信して前記第1データ記憶手段に記憶する第1受信処理手段と、
    前記記憶した複数の分割データを順に整数(n+1)個の第1のサイズのデータとして送信する第1送信処理手段と、
    を備え
    前記第1送信処理手段は、整数(m)個の分割データを送信する毎に整数(m)個目の分割データの整数(n+1)個目のデータについては前記第1所定サイズのデータとして送信する手段である
    第1データ受信送信装置。
  2. 請求項記載の第1データ受信送信装置から送信されるデータを受信する受信装置であって、
    前記第1データ受信送信装置から受信した整数(n+1)個のうちの最後のデータが第1のサイズであるときには該受信した整数(n+1)個のデータのうち整数(n)個目までのデータについては受信した第1のサイズのまま連結されるデータとして処理すると共に整数(n+1)個目のデータについては受信した第1のサイズのデータのうち前記第1所定サイズまでのデータだけを連結されるデータとして処理し且つ次に受信するデータについても連結される一連のデータであると認識し、前記第1データ受信送信装置から受信した整数(n+1)個のうちの最後のデータが第1のサイズではないときには該受信した整数(n+1)個のデータのうち整数(n)個目までのデータについては受信した第1のサイズのまま連結されるデータとして処理すると共に整数(n+1)個目のデータについては受信したデータを連結されるデータとして処理し且つ次に受信するデータについては該受信したデータの内容により連結されるデータであるか否かを判定すべきと認識するデータ受信処理手段、
    を備える受信装置。
  3. 請求項記載の第1データ受信送信装置と、データを記憶可能な第2データ記憶手段と整数(p+1)個の第3のサイズのデータを受信して前記第2データ記憶手段に記憶する第2受信処理手段と前記第2データ記憶手段に記憶された整数(p+1)個の第3のサイズのデータを該第3のサイズに整数(p)を乗じて得られるサイズに第2所定サイズを加えて得られる第4のサイズのデータとして送信する第2送信処理手段とを有する第2データ受信送信装置と、を備えるデータ受信送信システムであって、
    前記第3のサイズは、前記第1のサイズであり、
    前記第4のサイズは、前記第2のサイズであり、
    整数(p)は、整数(n)に一致し、
    前記第2所定サイズは、前記第1所定サイズに一致する
    データ受信送信システム。
JP2005303097A 2005-10-18 2005-10-18 第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法 Expired - Fee Related JP4655868B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005303097A JP4655868B2 (ja) 2005-10-18 2005-10-18 第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005303097A JP4655868B2 (ja) 2005-10-18 2005-10-18 第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法

Publications (2)

Publication Number Publication Date
JP2007114853A JP2007114853A (ja) 2007-05-10
JP4655868B2 true JP4655868B2 (ja) 2011-03-23

Family

ID=38096993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005303097A Expired - Fee Related JP4655868B2 (ja) 2005-10-18 2005-10-18 第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法

Country Status (1)

Country Link
JP (1) JP4655868B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4513866B2 (ja) * 2008-02-01 2010-07-28 ブラザー工業株式会社 無線通信装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021741A (ja) * 2002-06-18 2004-01-22 Canon Inc 画像処理装置及びその制御方法
JP2004207891A (ja) * 2002-12-24 2004-07-22 Matsushita Electric Ind Co Ltd データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10126441A (ja) * 1996-10-23 1998-05-15 Matsushita Electric Ind Co Ltd パケット通信システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021741A (ja) * 2002-06-18 2004-01-22 Canon Inc 画像処理装置及びその制御方法
JP2004207891A (ja) * 2002-12-24 2004-07-22 Matsushita Electric Ind Co Ltd データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体

Also Published As

Publication number Publication date
JP2007114853A (ja) 2007-05-10

Similar Documents

Publication Publication Date Title
US20070008580A1 (en) Printer, printing system and printing method
US9110611B2 (en) Non-transitory computer-readable mediums and image processing apparatus
EP2565777B1 (en) Processing device and processing method
US8532105B2 (en) Image forming apparatus, and control method and interface apparatus thereof
US8154746B2 (en) Information communication system, sending device, receiving device, recording medium storing transmission control program, recording medium storing reception control program, data signal embodied in carrier wave, sending method, and receiving method
US8566426B2 (en) Data processing apparatus, data processing method, and computer program
JP5899713B2 (ja) 印刷装置、印刷方法
JP4655868B2 (ja) 第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法
US9261948B2 (en) Image forming apparatus and control method for executing a proxy in response to a heartbeat
US7978357B2 (en) Printing system and method that uses a universal serial bus (USB) high-speed interrupt out pipe to transfer print data from the host computer to the printer
US8472058B2 (en) Image processing device, image processing method, and program
US9280762B2 (en) Electric mail processing apparatus
US9606756B2 (en) Printing apparatus and control method
JP5899712B2 (ja) 印刷装置、印刷方法
JP5618745B2 (ja) 通信装置、通信方法、及びプログラム
JP2005074928A (ja) データ処理システム、データ処理装置、及びデータ受信プログラム
US20230367737A1 (en) Method and apparatus for processing data associated with a transmitter and/or receiver device for a serial bus system
JP4581925B2 (ja) データ転送装置およびデータ転送方法
JP2007086984A (ja) データ送受信装置およびデータ送受信方法並びにプログラム
JP2007048069A (ja) 印刷システムにおける情報取得方法
JP2009053841A (ja) 画像形成システム及び画像形成装置
KR20230117898A (ko) 차량용 이종 통신 시스템 및 그 통신 방법
JP2002185466A (ja) パケット送受信装置
JP4665705B2 (ja) ネットワークプリンタにおけるデータ通信用クレジットの取得
JP2009059018A (ja) 情報処理システム、情報処理装置および情報処理システムのデータ転送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100816

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101213

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees