JP4624252B2 - データパケット転送装置、データパケット転送方法、及び、データパケット転送プログラム - Google Patents
データパケット転送装置、データパケット転送方法、及び、データパケット転送プログラム Download PDFInfo
- Publication number
- JP4624252B2 JP4624252B2 JP2005360367A JP2005360367A JP4624252B2 JP 4624252 B2 JP4624252 B2 JP 4624252B2 JP 2005360367 A JP2005360367 A JP 2005360367A JP 2005360367 A JP2005360367 A JP 2005360367A JP 4624252 B2 JP4624252 B2 JP 4624252B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data packets
- transferred
- data
- predetermined number
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Description
XMODEMのデータ転送手順について図4を用いて説明する。XMODEMは送信するべきデータを、最小単位であるブロックデータに分割し、このブロックデータを所定byteにまとめ単位長当たりのデータを生成する。この単位長当たりのデータに各種通信キャラクタを付与してデータパケットを生成し、パケット毎にデータ転送を行う。各パケットのヘッダ部分には、データアドレスが付与されており、データ受信機側では、分割して転送されるデータパケットをデータアドレスに基づいて再構築し、元データの再現を行う。
端末側は、nパケットの受信処理を行い(ステップS601)、データパケットを正常に受信したと判断する場合に、肯定応答を示すACK(Acknowledge)をPCに応答返信する(ステップS602)。なお、データパケットを正常に受信できない場合は、否定応答を示すNAK(Negative Acknowledge)をPCに応答返信する。
PC側は、nパケットの肯定応答であるACK(n)を受信すると(ステップS502)、先に送信したデータパケットが正常に受信されたことを認識し、2つめのデータパケットであるn+1パケットを端末側に送信する。逆に、NAKを受信したり所定時間が過ぎても応答信号を受信しない場合(タイムアウト)は、1つ目のデータパケットを再送し、その後の応答信号の受信に備えて待機状態となる。
PC側は、n+1パケットに対するACK(n+1)を受信すると(ステップS504)、3つ目のデータパケットであるn+2パケットを送信し(ステップS505)、その後n+1の受信処理及びACK(n+2)の返信(ステップS605及びS606)を経て、ACK(n+2)を受信すると(ステップS506)、n+4を送信する。この様に、1つのデータパケット毎に送信と受信状態を示す応答信号とやり取りすることにより安定的なデータ転送を行うようになっている。
請求項3に記載の発明は、請求項1に記載の発明において、前記応答信号の内容とは、転送されたデータパケットが正常に受信されたことを示すものであり、前記制御手段は、前記受信手段が前記第1の転送手段によって前記一度に転送された前記所定数のデータパケットの一つについて正常に受信されたことを受信すると、前記所定数のデータパケットの次に転送順序が割り当てられたデータパケットを転送するよう前記第2の転送手段によって転送されるデータパケットの転送を制御することを特徴とする。
データパケットへの分割、もしくは結合・復元処理にかかる負担を考慮した転送を行うことができる。
図1に、本発明を適用したデータ転送システム1の概要構成を示す。データ転送システム1はPC2及び端末12が伝送路20により接続されて構成される。PC2は、データ転送装置として適用されるものであり、民生用のワークステーションを適用することもできる。
PC2には、制御部3、記憶部4、XMODEM通信部5及び入出力バッファ6が設けられる。制御部3はCPU(Central Processing Unit)、MPU(Micro Processing Unit)等から構成され、プログラムに従いPC2の全体制御を行うものである。また、PC2〜端末12間で行われるデータ転送を行う際にデータ転送の制御を行う。なお、制御部3とは独立してデータ転送制御ICを設ける構成とすることもできる。
記憶部4は、ハードディスク等から構成され、PC2で使用するオペレーションプログラム、各種のアプリケーションプログラム及び端末12に転送する各種のデータ等を記憶する。XMODEM通信部5は、端末12に転送するデータの供給を受け、所定のデータサイズ(例えば、128バイト)に分割してデータパケットを生成する。その後、XMODEM通信部5は、生成したデータパケットを入出力バッファ6に送信し伝送路20を介して端末12にデータを出力する。具体的なデータパケットの転送手順については後述する。
入出力バッファ6は、PC2〜端末12間のデータ処理速度の効率化を図るために、転送データを一時的に記憶し、PC2及び端末12のデータ処理速度に合わせて適宜データの入出力を行うものである。
端末12は、入出力バッファ16、XMODEM通信部15、記憶部14及び端末用制御部13が設けられる。
入出力バッファ16は、入出力バッファ6と同様に、伝送路20と接続され、PC2及び端末12のデータ処理速度に合わせて適宜データの入出力を行うものである。
XMODEM通信部15は、入出力バッファ16からデータの供給を受け、ノイズ等によりデータが損傷しているか否か即ちデータが正常に受信されたか否かを検出する。正常に受信されている場合は肯定応答としてACKを、正常に受信されていない場合は否定応答としてNAKをPC2に送信する。
端末用制御部13は、端末12及びXMODEM通信部15の制御を行うものである。受信したデータパケットの受信処理及びこのデータパケットの受信状態を示す応答返信(ACK、NAK等)の出力指示を行う。
記憶部14は、ハードディスク、EPROM(Erasable Programmable ROM)、EEPROM(Electrical Erasable Programmable ROM)、フラッシュメモリ等の随時読み書き可能な不揮発メモリから構成される記憶媒体である。XMODEM通信部15から送信されたデータを記憶し、端末12の仕様にあわせてデータの読出し及び書き込みが行われる。
図2に、PC2〜端末12間で行われる通常転送処理の流れを模式的に示す。なお、以下の説明において、送信されるデータパケットの送信順序はnを基調として示すものとし、1つ目に送信されるデータパケットをn、2つ目に送信されるデータパケットをn+1、3つ目に送信されるデータパケットをn+2と表す。また、これに従い端末12から送信される応答返信であるACK等も、データパケットnに対するACKをACK(n)、データパケットn+1に対するACKをACK(n+1)として説明するものとする。
また、制御部3はXMODEM通信部5及び16を通じて、既にデータリンクを確立しているものとする。
nパケット及びn+1パケットは伝送路20を介して端末12側の入出力バッファ16に出力されXMODEM通信部15に供給される。
更に、このT1のオーバーヘッド時間に、XMODEM通信部15はn+1パケットの受信処理を行う(ステップS203)。その後、ACK(n+1)を入出力バッファ16に送信する(ステップS204)。
ステップS103で入出力バッファ6に送信されたn+2パケットは、入出力バッファ16に出力される。
その後、端末用制御部13は、XMODEM通信部15にn+2パケットを送信し、受信処理を行う(ステップS205)。その後、n+2パケットの応答信号であるACK(n+2)を入出力バッファ16に送信する。
一方、ステップS103で入出力バッファ6に送信されたn+2パケットが入出力バッファ16に出力されるオーバーヘッド時間と同時あるいは重複して、入出力バッファ16から入出力バッファ6に、n+1パケットの応答信号であるACK(n+1)が出力される。
制御部3は、ステップS105で入出力バッファ6に送信したn+3パケットを入出力バッファ16に出力する。次いで、端末用制御部13は、XMODEM通信部15にn+3パケットを受信し、受信処理を行う(ステップS207)。その後、n+3パケットの応答信号であるACK(n+3)を入出力バッファ16に送信する(ステップS208)。
更に、このT3のステップS105〜ステップS207のオーバーヘッド時間と同時あるいは重複して、ステップS206で入出力バッファ16に送信されたn+2パケットの応答信号であるACK(n+2)が入出力バッファ6に出力される。
制御部3は、ステップS107で入出力バッファ6に送信したn最終パケットを入出力バッファ16に出力する。次いで、端末用制御部13はXMODEM通信部15にn最終パケットを送信し、受信処理を行う(ステップS209)。その後、n最終パケットの応答信号であるACK(n最終)を入出力バッファ16に出力する(ステップS209)。
更に、このT4のタイミングにおいて、入出力バッファ6に送信したn最終パケットが入出力バッファ16に出力されるオーバーヘッド時間と同時あるいは重複して、入出力バッファ16から入出力バッファ6に、ACK(n+3)を出力する。
端末用制御部13は、ステップS210で入出力バッファ16に送信したACK(n最終)を入出力バッファ6に送信する。
その後、T6において、制御部3は、ACK(n最終)を入出力バッファ6からXMODEM通信部5に受信し(ステップS109)、通常転送処理を終了する。
その後、nパケットは、入出力バッファ6から入出力バッファ16に出力される。
その後、端末用制御部13は、入出力バッファ16に出力されたnパケットをXMODEM通信部15に受信し、受信処理を行う(ステップS401)。このステップS401の受信処理でデータが正常に受信されていないことを検出すると、XMODEM通信部15はNAKを入出力バッファ16に送信する(ステップS402)。
その後、n+1パケットは、入出力バッファ6から入出力バッファ16に出力される。
端末用制御部13は、入出力バッファ16からXMODEM通信部15にn+1パケットを受信すると、従前の応答返信処理(ステップ:S402)が否定応答を送信しているため、NAK(n+1)を入出力バッファ16に送信する(ステップS403)。
その後、nパケット及びn+1パケットは入出力バッファ16に出力される。
端末用制御部13は入出力バッファ16からXMODEM通信部にnパケットを受信し、再受信処理を行う(ステップS404)。その後、ACK(n+1)を入出力バッファ16に送信する(ステップ:S405)。
その後、n+2パケットが入出力バッファ16に出力され、端末用制御部13がXMODEM通信部15でn+2パケットの受信処理を行い(ステップ:S408)、ACK(n+2)を入出力バッファ16に送信する(ステップ:S409)。
n+2パケットのオーバーヘッド時間及びXMODEM通信部15のS408及びS409における各種処理の時間のバックグラウンドでACK(n+1)のオーバーヘッドが行われる。
更に、データパケットの送信のタイミングは、2つ前に送信した応答返信(ACK又はNAK)に基づいて行われるため、各データパケット転送の信頼性を損なうことがないという効果がある。
2 PC
3 制御部
4、14 記憶部
5、15 XMODEM通信部
6、16 入出力バッファ
12 端末
13 端末用制御部
20 伝送路
Claims (6)
- 転送順序が割り当てられた複数のデータパケットを転送先の装置から送信される応答信号を受信する毎に順次転送する転送装置において、
前記複数のデータパケットの最初の転送または転送再開時に、前記複数のデータパケットのうち転送順序に従った所定数のデータパケットを一度に転送する第1の転送手段と、
前記第1の転送手段によって転送された前記所定数のデータパケットの次以降に転送される転送順序のデータパケットを、前記所定数のデータパケットの数よりも少ない数のデータパケット単位で順次転送する第2の転送手段と、
この第1の転送手段によって一度に転送された前記所定数のデータパケットの一つに対応する応答信号を受信する受信手段と、
この受信手段によって応答信号を受信すると、この応答信号の内容に応じて、前記第1の転送手段及び前記第2の転送手段によって転送されるデータパケットの転送を制御する制御手段と、
を備えることを特徴とするデータパケット転送装置。 - 前記制御手段は、
前記第1の転送手段によって前記一度に転送された前記所定数のデータパケットの少なくとも一つに対応する応答信号を受信する前に、前記一度に転送された前記所定数のデータパケットの次に転送される転送順序のデータパケットを送信するよう前記第2の転送手段によって転送されるデータパケットの転送を制御することを特徴とする請求項1に記載のデータパケット転送装置。 - 前記応答信号の内容とは、転送されたデータパケットが正常に受信されたことを示すものであり、
前記制御手段は、前記受信手段が前記第1の転送手段によって前記一度に転送された前記所定数のデータパケットの一つについて正常に受信されたことを受信すると、前記所定数のデータパケットの次に転送順序が割り当てられたデータパケットを転送するよう前記第2の転送手段によって転送されるデータパケットの転送を制御することを特徴とする請求項1に記載のデータパケット転送装置。 - 前記応答信号の内容とは、転送されたデータパケットが正常に受信されなかったことを示すものであり、
前記制御手段は、前記受信手段が前記第1の転送手段によって前記一度に転送された前記所定数のデータパケットの一つについて正常に受信されなかったことを受信すると、前記第1の転送手段によって一度に転送された前記所定数のデータパケットに対応する残りの応答信号が受信されるまで前記第2の転送手段によるデータパケットの転送を停止するとともに、前記受信手段が前記第1の転送手段によって前記一度に転送された前記所定数のデータパケットに対応する残りの応答信号を受信すると、前記転送された前記所定数のデータパケットを再転送するよう前記第1の転送手段に戻って、前記複数のデータパケットの転送を制御することを特徴とする請求項1に記載のデータパケット転送装置。 - 転送順序が割り当てられた複数のデータパケットを転送先の装置から送信される応答信号を受信する毎に順次転送するデータパケット転送方法であって、
前記複数のデータパケットの最初の転送または転送再開時に、前記複数のデータパケットのうち転送順序に従った所定数のデータパケットを一度に転送する第1の転送ステップと、
前記第1の転送ステップによって転送された前記所定数のデータパケットの次以降に転送される転送順序のデータパケットを、前記所定数のデータパケットの数よりも少ない数のデータパケット単位で順次転送する第2の転送ステップと、
この第1の転送ステップにて一度に転送された前記所定数のデータパケットの一つに対応する応答信号を受信する受信ステップと、
この受信ステップにて応答信号を受信すると、この応答信号の内容に応じて、前記第1の転送ステップ及び前記第2の転送ステップによって転送されるデータパケットの転送を制御する制御ステップと、
からなることを特徴とするデータパケット転送方法。 - 転送順序が割り当てられた複数のデータパケットを転送先の装置から送信される応答信号を受信する毎に順次転送するコンピュータを、
前記複数のデータパケットの最初の転送または転送再開時に、前記複数のデータパケットのうち転送順序に従った所定数のデータパケットを一度に転送する第1の転送手段、
前記第1の転送手段によって転送された前記所定数のデータパケットの次以降に転送される転送順序のデータパケットを、前記所定数のデータパケットの数よりも少ない数のデータパケット単位で順次転送する第2の転送手段、
この第1の転送手段によって一度に転送された前記所定数のデータパケットの一つに対応する応答信号を受信する受信手段、
この受信手段によって応答信号を受信すると、この応答信号の内容に応じて、前記第1の転送手段及び前記第2の転送手段によって転送されるデータパケットの転送を制御する制御手段、
として機能させるデータパケット転送プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005360367A JP4624252B2 (ja) | 2005-12-14 | 2005-12-14 | データパケット転送装置、データパケット転送方法、及び、データパケット転送プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005360367A JP4624252B2 (ja) | 2005-12-14 | 2005-12-14 | データパケット転送装置、データパケット転送方法、及び、データパケット転送プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007166281A JP2007166281A (ja) | 2007-06-28 |
JP2007166281A5 JP2007166281A5 (ja) | 2008-12-04 |
JP4624252B2 true JP4624252B2 (ja) | 2011-02-02 |
Family
ID=38248667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005360367A Expired - Fee Related JP4624252B2 (ja) | 2005-12-14 | 2005-12-14 | データパケット転送装置、データパケット転送方法、及び、データパケット転送プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4624252B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11168525A (ja) * | 1997-12-03 | 1999-06-22 | Mitsubishi Electric Corp | データ通信方法およびデータ通信装置 |
JP2004072372A (ja) * | 2002-08-06 | 2004-03-04 | Renesas Technology Corp | パケット通信装置 |
JP2004080070A (ja) * | 2002-08-09 | 2004-03-11 | Nippon Telegr & Teleph Corp <Ntt> | データ転送方法及びデータ転送システム並びにコンテンツ配信システム |
JP2005278001A (ja) * | 2004-03-26 | 2005-10-06 | Seiko Epson Corp | Tcp処理回路及び半導体集積回路 |
-
2005
- 2005-12-14 JP JP2005360367A patent/JP4624252B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11168525A (ja) * | 1997-12-03 | 1999-06-22 | Mitsubishi Electric Corp | データ通信方法およびデータ通信装置 |
JP2004072372A (ja) * | 2002-08-06 | 2004-03-04 | Renesas Technology Corp | パケット通信装置 |
JP2004080070A (ja) * | 2002-08-09 | 2004-03-11 | Nippon Telegr & Teleph Corp <Ntt> | データ転送方法及びデータ転送システム並びにコンテンツ配信システム |
JP2005278001A (ja) * | 2004-03-26 | 2005-10-06 | Seiko Epson Corp | Tcp処理回路及び半導体集積回路 |
Also Published As
Publication number | Publication date |
---|---|
JP2007166281A (ja) | 2007-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8127053B1 (en) | System and method for peripheral device communications | |
JP4452690B2 (ja) | 電子装置、その制御方法、ホスト装置及びその制御方法 | |
JP2006343815A (ja) | 通信装置、通信方法、通信システム | |
EP2846470B1 (en) | A method of mobile terminal internal communications | |
EP0886410A2 (en) | Data communication method, data communication apparatus, and data communication program recording medium | |
US8510485B2 (en) | Low power digital interface | |
JP4385247B2 (ja) | 集積回路、および情報処理装置 | |
JP4624252B2 (ja) | データパケット転送装置、データパケット転送方法、及び、データパケット転送プログラム | |
KR20220135562A (ko) | 메모리 액세스를 위한 직렬 통신 방법 및 시스템 | |
JP4458873B2 (ja) | シリアルデータ転送方法とその装置 | |
US7401134B2 (en) | Packet processing architecture | |
JP2007074641A (ja) | 通信システム | |
JP2005074911A (ja) | 画像処理装置 | |
JP3454264B2 (ja) | 無線通信システムおよび無線通信方法 | |
JP2006100950A (ja) | 通信システム | |
JP2006115315A (ja) | データ転送方法及びデータ転送装置 | |
CN114942900A (zh) | 嵌入式系统双缓冲数据串行发送方法 | |
JPWO2004107188A1 (ja) | データ処理装置及びデータ通信方法 | |
KR100427764B1 (ko) | 서로 다른 데이터 버스를 가지는 디바이스들의 정합 장치 | |
JP4498225B2 (ja) | 通信システム、通信端末装置およびプログラム | |
JPS62232057A (ja) | 擬似dma方式 | |
JP2002185466A (ja) | パケット送受信装置 | |
JPH07105797B2 (ja) | Hdlc手順のポ−リング制御送信処理方式 | |
JP2004056348A (ja) | データ転送装置 | |
JP2001094438A (ja) | シリアルインタフェイス回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081022 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081022 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20100310 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100802 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100929 |
|
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: 20101012 |
|
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: 20101102 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |