JP2003264596A - 通信デバイス、携帯端末、通信方法を実現するためのプログラム - Google Patents
通信デバイス、携帯端末、通信方法を実現するためのプログラムInfo
- Publication number
- JP2003264596A JP2003264596A JP2002061841A JP2002061841A JP2003264596A JP 2003264596 A JP2003264596 A JP 2003264596A JP 2002061841 A JP2002061841 A JP 2002061841A JP 2002061841 A JP2002061841 A JP 2002061841A JP 2003264596 A JP2003264596 A JP 2003264596A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- storage
- stored
- data item
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9078—Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Abstract
(57)【要約】
【課題】 TCP/IPを用いて、少ない消費電力でデ
ータを受信する。 【解決手段】 PDA100は、ネットワークに対して
データの送受信を制御するイーサネット(R)コントロ
ーラ110と、受信したデータを記憶する通信ドライバ
のバッファおよび受信ウインドウと、通信ドライバのバ
ッファにデータが記憶されてから予め定められた時間が
経過するまでに発生した、指定されたバッファへの格納
要求に応答して、ドライバのバッファに記憶されたデー
タをその指定されたバッファに転送する回路と、ドライ
バのバッファにデータが記憶されてから予め定められた
時間が経過するとドライバのバッファに記憶されたデー
タを受信ウインドウに転送する回路と、指定されたバッ
ファへの格納要求に応答して、受信ウインドウに記憶さ
れたデータを指定されたバッファに転送する回路とを含
む。
ータを受信する。 【解決手段】 PDA100は、ネットワークに対して
データの送受信を制御するイーサネット(R)コントロ
ーラ110と、受信したデータを記憶する通信ドライバ
のバッファおよび受信ウインドウと、通信ドライバのバ
ッファにデータが記憶されてから予め定められた時間が
経過するまでに発生した、指定されたバッファへの格納
要求に応答して、ドライバのバッファに記憶されたデー
タをその指定されたバッファに転送する回路と、ドライ
バのバッファにデータが記憶されてから予め定められた
時間が経過するとドライバのバッファに記憶されたデー
タを受信ウインドウに転送する回路と、指定されたバッ
ファへの格納要求に応答して、受信ウインドウに記憶さ
れたデータを指定されたバッファに転送する回路とを含
む。
Description
【0001】
【発明の属する技術分野】本発明は、ネットワーク通信
技術に関し、特に、TCP/IP(TransmissionControl
Protocol/Internet Protocol)を用いて、ネットワー
クからデータを受信した場合に、通信処理速度を向上さ
せる技術に関する。
技術に関し、特に、TCP/IP(TransmissionControl
Protocol/Internet Protocol)を用いて、ネットワー
クからデータを受信した場合に、通信処理速度を向上さ
せる技術に関する。
【0002】
【従来の技術】TCP/IPプロトコルは、インターネ
ット上で実行されるデータ通信に広く使用されている。
最近では、インターネットのブラウザ機能を有する携帯
端末も多く存在し、TCP/IPプロトコルは、これら
の携帯端末へ組込まれる機器へ用いられる。一般的に、
このような組込み機器では、CPU(Central Processi
ng Unit)の処理能力および消費電力に制限があるた
め、TCP/IPプロトコルに要する処理量および必要
電力を低減する必要がある。
ット上で実行されるデータ通信に広く使用されている。
最近では、インターネットのブラウザ機能を有する携帯
端末も多く存在し、TCP/IPプロトコルは、これら
の携帯端末へ組込まれる機器へ用いられる。一般的に、
このような組込み機器では、CPU(Central Processi
ng Unit)の処理能力および消費電力に制限があるた
め、TCP/IPプロトコルに要する処理量および必要
電力を低減する必要がある。
【0003】以下、TCP/IPプロトコルを用いてネ
ットワーク上で、TCP/IPパケットを含むイーサネ
ット(R)フレームを受信した場合の一般的な処理につ
いて説明する。イーサネット(R)フレームを受信した
通信装置は、ネットワークコントローラからネットワー
クドライバにイーサネット(R)フレームを受信したこ
とが通知される。ネットワークドライバは、受信したイ
ーサネット(R)フレームをネットワークコントローラ
から読み出して、ネットワークドライバのバッファへ転
送する。TCP/IPプロトコル処理部は、イーサネッ
ト(R)フレーム、イーサネット(R)フレームに含ま
れるIPデータグラム、IPデータグラムに含まれるT
CPセグメントの解析を順次行なう。TCP/IPプロ
トコル処理部は、TCPセグメントの中のデータ部分を
抽出して、受信ウインドウに転送する。この受信ウイン
ドウは、TCPプロトコルでデータを受信する場合に、
TCPの仕様上必要になる受信用のバッファである。
ットワーク上で、TCP/IPパケットを含むイーサネ
ット(R)フレームを受信した場合の一般的な処理につ
いて説明する。イーサネット(R)フレームを受信した
通信装置は、ネットワークコントローラからネットワー
クドライバにイーサネット(R)フレームを受信したこ
とが通知される。ネットワークドライバは、受信したイ
ーサネット(R)フレームをネットワークコントローラ
から読み出して、ネットワークドライバのバッファへ転
送する。TCP/IPプロトコル処理部は、イーサネッ
ト(R)フレーム、イーサネット(R)フレームに含ま
れるIPデータグラム、IPデータグラムに含まれるT
CPセグメントの解析を順次行なう。TCP/IPプロ
トコル処理部は、TCPセグメントの中のデータ部分を
抽出して、受信ウインドウに転送する。この受信ウイン
ドウは、TCPプロトコルでデータを受信する場合に、
TCPの仕様上必要になる受信用のバッファである。
【0004】TCPプロトコルの規定によると、ネット
ワーク上の他の装置にTCP/IPのパケットを送信す
る場合、TCPヘッダ部に自局の受信ウインドウの空き
サイズを含める必要がある。アプリケーションタスクか
らTCPプロトコルのデータの受信要求が発行されるま
で、受信ウインドウでデータが保持される。アプリケー
ションタスクからTCPプロトコルのデータの受信要求
が発行されると、受信ウインドウからアプリケーション
タスクで指定したバッファにデータが転送される。
ワーク上の他の装置にTCP/IPのパケットを送信す
る場合、TCPヘッダ部に自局の受信ウインドウの空き
サイズを含める必要がある。アプリケーションタスクか
らTCPプロトコルのデータの受信要求が発行されるま
で、受信ウインドウでデータが保持される。アプリケー
ションタスクからTCPプロトコルのデータの受信要求
が発行されると、受信ウインドウからアプリケーション
タスクで指定したバッファにデータが転送される。
【0005】このように、一般的なTCP/IPプロト
コルにおいては、ネットワーク上の他の機器から受信し
たデータが、ネットワークドライバのバッファから受信
ウインドウを介して、アプリケーションタスクにより指
定されたバッファに転送される。なお、TCP/IPプ
ロトコルの規定では、送信側の通信装置においては、受
信側の通信装置から通知された受信ウインドウの空きの
サイズに従って、データを送信する。受信側の通信装置
は、受信ウインドウのサイズを通信の途中で小さくして
はならない。このような理由から、TCP/IPプロト
コルを実現するためには、一般的には、固定長のメモリ
領域または通信途中でサイズが小さくならないメモリ領
域を、受信ウインドウに設定する。
コルにおいては、ネットワーク上の他の機器から受信し
たデータが、ネットワークドライバのバッファから受信
ウインドウを介して、アプリケーションタスクにより指
定されたバッファに転送される。なお、TCP/IPプ
ロトコルの規定では、送信側の通信装置においては、受
信側の通信装置から通知された受信ウインドウの空きの
サイズに従って、データを送信する。受信側の通信装置
は、受信ウインドウのサイズを通信の途中で小さくして
はならない。このような理由から、TCP/IPプロト
コルを実現するためには、一般的には、固定長のメモリ
領域または通信途中でサイズが小さくならないメモリ領
域を、受信ウインドウに設定する。
【0006】
【発明が解決しようとする課題】しかしながら、上述し
た受信側の通信装置における処理では、受信したデータ
を一旦受信ウインドウに転送してからアプリケーション
タスクにより指定されるバッファへ転送するため、デー
タの転送回数が増える。そのため、TCP/IPプロト
コル処理に必要なCPUおよびハードウェアの負荷が増
加し消費電力が増加したり、受信側の通信装置において
受信ウインドウが空きにくくデータ通信速度が低下した
りするという問題が発生する。
た受信側の通信装置における処理では、受信したデータ
を一旦受信ウインドウに転送してからアプリケーション
タスクにより指定されるバッファへ転送するため、デー
タの転送回数が増える。そのため、TCP/IPプロト
コル処理に必要なCPUおよびハードウェアの負荷が増
加し消費電力が増加したり、受信側の通信装置において
受信ウインドウが空きにくくデータ通信速度が低下した
りするという問題が発生する。
【0007】本発明は、上述の課題を解決するためにな
されたものであって、TCP/IPなどで規定されるプ
ロトコルにてデータを受信した場合に、バッファ間のデ
ータ転送の頻度を低減させて、少ない消費電力で、高速
にデータ受信処理を実行できる、通信デバイス、携帯端
末、通信方法を実現するためのプログラムを提供するこ
とである。
されたものであって、TCP/IPなどで規定されるプ
ロトコルにてデータを受信した場合に、バッファ間のデ
ータ転送の頻度を低減させて、少ない消費電力で、高速
にデータ受信処理を実行できる、通信デバイス、携帯端
末、通信方法を実現するためのプログラムを提供するこ
とである。
【0008】
【課題を解決するための手段】第1の発明に係る通信デ
バイスは、ネットワークに対して、データ項目の送受信
を制御するためのネットワーク制御手段と、ネットワー
ク制御手段に接続され、受信したデータ項目を一時的に
記憶するための第1の記憶手段と、第1の記憶手段に接
続され、受信したデータ項目を記憶するための第2の記
憶手段と、第1の記憶手段および第2の記憶手段に記憶
されたデータ項目を、予め定められたバッファに転送す
るように制御するための制御手段とを含む。制御手段
は、第1の記憶手段にデータ項目が記憶されてから予め
定められた時間が経過するまでに発生したバッファへの
格納要求に応答して、第1の記憶手段に記憶されたデー
タ項目を、バッファに転送するように、第1の記憶手段
を制御するための第1の転送制御手段と、第1の記憶手
段にデータ項目が記憶されてから予め定められた時間が
経過すると、第1の記憶手段に記憶されたデータ項目を
第2の記憶手段に転送し、バッファへの格納要求に応答
して、第2の記憶手段に記憶されたデータ項目を、バッ
ファに転送するように、第2の記憶手段を制御するため
の第2の転送制御手段とを含む。
バイスは、ネットワークに対して、データ項目の送受信
を制御するためのネットワーク制御手段と、ネットワー
ク制御手段に接続され、受信したデータ項目を一時的に
記憶するための第1の記憶手段と、第1の記憶手段に接
続され、受信したデータ項目を記憶するための第2の記
憶手段と、第1の記憶手段および第2の記憶手段に記憶
されたデータ項目を、予め定められたバッファに転送す
るように制御するための制御手段とを含む。制御手段
は、第1の記憶手段にデータ項目が記憶されてから予め
定められた時間が経過するまでに発生したバッファへの
格納要求に応答して、第1の記憶手段に記憶されたデー
タ項目を、バッファに転送するように、第1の記憶手段
を制御するための第1の転送制御手段と、第1の記憶手
段にデータ項目が記憶されてから予め定められた時間が
経過すると、第1の記憶手段に記憶されたデータ項目を
第2の記憶手段に転送し、バッファへの格納要求に応答
して、第2の記憶手段に記憶されたデータ項目を、バッ
ファに転送するように、第2の記憶手段を制御するため
の第2の転送制御手段とを含む。
【0009】第1の発明によると、たとえば、TCP/
IPプロトコルでネットワーク通信を行なう場合、第1
の記憶手段としての通信ドライバのバッファと、第2の
記憶手段としての受信ウインドウとを有する。ネットワ
ーク制御手段がデータ項目の受信を検知すると、通信ド
ライバのバッファに記憶させる。通信ドライバのバッフ
ァにデータ項目が記憶されてから予め定められた時間が
経過するまでに、アプリケーションタスクからのデータ
受信要求が発生すると、通信ドライバに記憶されたデー
タ項目がアプリケーションタスクにより指定されるバッ
ファに転送される。このとき、受信したデータ項目は、
受信ウインドウを経由しない。一方、通信ドライバのバ
ッファにデータ項目が記憶されてから予め定められた時
間が経過すると、通信ドライバのバッファに記憶された
データ項目が受信ウインドウに転送される。その後、ア
プリケーションタスクからのデータ受信要求が発生する
と、受信ウインドウに記憶されたデータ項目がアプリケ
ーションタスクにより指定されるバッファに転送され
る。このとき、受信したデータ項目は、受信ウインドウ
を経由する。このようにすると、通信ドライバのバッフ
ァから受信ウインドウに、受信したデータ項目の全てが
転送されるのではなく、予め定められた時間が経過する
までに、アプリケーションタスクからの受信要求が発生
しなかったデータ項目だけが、通信ドライバのバッファ
から受信ウインドウに転送される。その結果、データを
受信した場合に、バッファ間のデータ転送の頻度を低減
させて、少ない消費電力で、高速にデータ受信処理を実
行できる通信デバイスを提供することができる。なお、
第2の記憶手段である受信ウインドウの空きサイズは、
受信したデータ項目を受信ウインドウに記憶したサイズ
に応じて減少する。また、受信ウインドウの空きサイズ
は、アプリケーションタスクにより受信ウインドウから
読み出されたデータ項目のサイズに応じて増加する。こ
の受信ウインドウの空きサイズは、ネットワーク上の他
の装置に送信される。第1の発明に係る通信デバイスで
は、第2の記憶手段である受信ウインドウに記憶すべき
データを、第1の記憶手段であるネットワークドライバ
のバッファに記憶する。ネットワーク上の他の装置に送
信される受信ウインドウの空きサイズは、受信ウインド
ウに記憶されたデータだけではなく、ネットワークドラ
イバに記憶されたデータをも含めて(すなわち、受信ウ
インドウの空きサイズのみならず、ネットワークドライ
バのバッファの空きサイズをも含めて)算出する。すな
わち、ネットワーク上の他の装置に送信される受信ウイ
ンドウの空きサイズは、受信ウインドウのサイズから、
受信ウインドウに記憶されたデータのサイズとネットワ
ークドライバに記憶されたデータのサイズとを減算した
サイズになる。また、ネットワーク上の他の装置に送信
される受信ウインドウの空きサイズは、受信ウインドウ
の空きサイズとネットワークドライバのバッファの空き
サイズとを加算したサイズにならない。このようにする
と、ネットワーク上の他の装置に送信される受信ウイン
ドウの空きサイズは、従来方式のデバイスにおける受信
ウインドウの空きサイズと同様になるので、第1の発明
に係る通信デバイスは、TCP/IPプロトコルの仕様
に反しない。
IPプロトコルでネットワーク通信を行なう場合、第1
の記憶手段としての通信ドライバのバッファと、第2の
記憶手段としての受信ウインドウとを有する。ネットワ
ーク制御手段がデータ項目の受信を検知すると、通信ド
ライバのバッファに記憶させる。通信ドライバのバッフ
ァにデータ項目が記憶されてから予め定められた時間が
経過するまでに、アプリケーションタスクからのデータ
受信要求が発生すると、通信ドライバに記憶されたデー
タ項目がアプリケーションタスクにより指定されるバッ
ファに転送される。このとき、受信したデータ項目は、
受信ウインドウを経由しない。一方、通信ドライバのバ
ッファにデータ項目が記憶されてから予め定められた時
間が経過すると、通信ドライバのバッファに記憶された
データ項目が受信ウインドウに転送される。その後、ア
プリケーションタスクからのデータ受信要求が発生する
と、受信ウインドウに記憶されたデータ項目がアプリケ
ーションタスクにより指定されるバッファに転送され
る。このとき、受信したデータ項目は、受信ウインドウ
を経由する。このようにすると、通信ドライバのバッフ
ァから受信ウインドウに、受信したデータ項目の全てが
転送されるのではなく、予め定められた時間が経過する
までに、アプリケーションタスクからの受信要求が発生
しなかったデータ項目だけが、通信ドライバのバッファ
から受信ウインドウに転送される。その結果、データを
受信した場合に、バッファ間のデータ転送の頻度を低減
させて、少ない消費電力で、高速にデータ受信処理を実
行できる通信デバイスを提供することができる。なお、
第2の記憶手段である受信ウインドウの空きサイズは、
受信したデータ項目を受信ウインドウに記憶したサイズ
に応じて減少する。また、受信ウインドウの空きサイズ
は、アプリケーションタスクにより受信ウインドウから
読み出されたデータ項目のサイズに応じて増加する。こ
の受信ウインドウの空きサイズは、ネットワーク上の他
の装置に送信される。第1の発明に係る通信デバイスで
は、第2の記憶手段である受信ウインドウに記憶すべき
データを、第1の記憶手段であるネットワークドライバ
のバッファに記憶する。ネットワーク上の他の装置に送
信される受信ウインドウの空きサイズは、受信ウインド
ウに記憶されたデータだけではなく、ネットワークドラ
イバに記憶されたデータをも含めて(すなわち、受信ウ
インドウの空きサイズのみならず、ネットワークドライ
バのバッファの空きサイズをも含めて)算出する。すな
わち、ネットワーク上の他の装置に送信される受信ウイ
ンドウの空きサイズは、受信ウインドウのサイズから、
受信ウインドウに記憶されたデータのサイズとネットワ
ークドライバに記憶されたデータのサイズとを減算した
サイズになる。また、ネットワーク上の他の装置に送信
される受信ウインドウの空きサイズは、受信ウインドウ
の空きサイズとネットワークドライバのバッファの空き
サイズとを加算したサイズにならない。このようにする
と、ネットワーク上の他の装置に送信される受信ウイン
ドウの空きサイズは、従来方式のデバイスにおける受信
ウインドウの空きサイズと同様になるので、第1の発明
に係る通信デバイスは、TCP/IPプロトコルの仕様
に反しない。
【0010】第2の発明に係る通信デバイスは、第1の
発明の構成に加えて、第1の転送制御手段は、第1の記
憶手段に予め定められた個数のデータ項目が記憶される
までは、第1の記憶手段にデータ項目が記憶されてから
予め定められた時間が経過するまでに発生したバッファ
への格納要求に応答して、第1の記憶手段に記憶された
データ項目を、バッファに転送するための手段を含む。
第2の転送制御手段は、第1の記憶手段にデータ項目が
記憶されてから予め定められた時間が経過したことおよ
び第1の記憶手段に予め定められた個数のデータ項目が
記憶されたことのいずれかが満足されると、第1の記憶
手段に記憶されたデータ項目を第2の記憶手段に転送
し、バッファへの格納要求に応答して、第2の記憶手段
に記憶されたデータ項目を、バッファに転送するための
手段とを含む。
発明の構成に加えて、第1の転送制御手段は、第1の記
憶手段に予め定められた個数のデータ項目が記憶される
までは、第1の記憶手段にデータ項目が記憶されてから
予め定められた時間が経過するまでに発生したバッファ
への格納要求に応答して、第1の記憶手段に記憶された
データ項目を、バッファに転送するための手段を含む。
第2の転送制御手段は、第1の記憶手段にデータ項目が
記憶されてから予め定められた時間が経過したことおよ
び第1の記憶手段に予め定められた個数のデータ項目が
記憶されたことのいずれかが満足されると、第1の記憶
手段に記憶されたデータ項目を第2の記憶手段に転送
し、バッファへの格納要求に応答して、第2の記憶手段
に記憶されたデータ項目を、バッファに転送するための
手段とを含む。
【0011】第2の発明によると、通信ドライバのバッ
ファにデータ項目が記憶されてから予め定められた時間
が経過したか、通信ドライバのバッファに予め定められ
た個数のデータ項目が記憶されたかのいずれかの条件が
満足されると、通信ドライバから受信ウインドウにデー
タ項目が転送される。これにより、予め定められた時間
が経過するまでにアプリケーションタスクから受信要求
が発生しなかったデータ項目が、通信ドライバのバッフ
ァから受信ウインドウに転送される。このとき、予め定
められた時間が経過する前であっても、通信ドライバの
バッファに予め定められた数のデータ項目が記憶されて
いると、その予め定められた数を上回るデータ項目が、
通信ドライバのバッファから受信ウインドウに転送され
る。これにより、通信ドライバのバッファは、常に予め
定められた数以下のデータ項目しか記憶されず、一定の
大きさの空き領域を確保できる。その結果、通信ドライ
バの空きバッファがないことを理由とする、通信ドライ
バのバッファへ送信できない場合を少なくすることがで
きる。
ファにデータ項目が記憶されてから予め定められた時間
が経過したか、通信ドライバのバッファに予め定められ
た個数のデータ項目が記憶されたかのいずれかの条件が
満足されると、通信ドライバから受信ウインドウにデー
タ項目が転送される。これにより、予め定められた時間
が経過するまでにアプリケーションタスクから受信要求
が発生しなかったデータ項目が、通信ドライバのバッフ
ァから受信ウインドウに転送される。このとき、予め定
められた時間が経過する前であっても、通信ドライバの
バッファに予め定められた数のデータ項目が記憶されて
いると、その予め定められた数を上回るデータ項目が、
通信ドライバのバッファから受信ウインドウに転送され
る。これにより、通信ドライバのバッファは、常に予め
定められた数以下のデータ項目しか記憶されず、一定の
大きさの空き領域を確保できる。その結果、通信ドライ
バの空きバッファがないことを理由とする、通信ドライ
バのバッファへ送信できない場合を少なくすることがで
きる。
【0012】第3の発明に係る通信デバイスは、第2の
発明の構成に加えて、第1の転送制御手段は、第1の記
憶手段にデータ項目が送信された順序に従って予め定め
られた個数のデータ項目が記憶されるまでは、第1の記
憶手段にデータ項目が記憶されてから予め定められた時
間が経過するまでに発生したバッファへの格納要求に応
答して、第1の記憶手段に記憶されたデータ項目を、バ
ッファに転送するための手段を含む。
発明の構成に加えて、第1の転送制御手段は、第1の記
憶手段にデータ項目が送信された順序に従って予め定め
られた個数のデータ項目が記憶されるまでは、第1の記
憶手段にデータ項目が記憶されてから予め定められた時
間が経過するまでに発生したバッファへの格納要求に応
答して、第1の記憶手段に記憶されたデータ項目を、バ
ッファに転送するための手段を含む。
【0013】第3の発明によると、ネットワーク上のあ
る装置からこの通信デバイスに送信される複数のデータ
項目について、通信デバイスが受信する順序は、ある装
置が送信した順序であるとは限らない。アプリケーショ
ンタスクからは、送信された順序にしたがって受信要求
が発行される。通信デバイスのバッファには、データ項
目が送信された順序に従って予め定められた個数のデー
タ項目が記憶される。これにより、予め定められた個数
のデータ項目を、送信順序の早い順に通信デバイスのバ
ッファに記憶するため、予め定められた時間までにアプ
リケーションタスクから受信要求が発行されるデータ項
目の数が多くなる。その結果、通信ドライバのバッファ
から受信ウインドウに一旦転送されてから、アプリケー
ションタスクのバッファへ転送されるデータ項目の数を
減少させることができる。
る装置からこの通信デバイスに送信される複数のデータ
項目について、通信デバイスが受信する順序は、ある装
置が送信した順序であるとは限らない。アプリケーショ
ンタスクからは、送信された順序にしたがって受信要求
が発行される。通信デバイスのバッファには、データ項
目が送信された順序に従って予め定められた個数のデー
タ項目が記憶される。これにより、予め定められた個数
のデータ項目を、送信順序の早い順に通信デバイスのバ
ッファに記憶するため、予め定められた時間までにアプ
リケーションタスクから受信要求が発行されるデータ項
目の数が多くなる。その結果、通信ドライバのバッファ
から受信ウインドウに一旦転送されてから、アプリケー
ションタスクのバッファへ転送されるデータ項目の数を
減少させることができる。
【0014】第4の発明に係る通信デバイスは、第1の
発明の構成に加えて、第1の転送制御手段は、第1の記
憶手段に予め定められた容量のデータ項目が記憶される
までは、第1の記憶手段にデータ項目が記憶されてから
予め定められた時間が経過するまでに発生したバッファ
への格納要求に応答して、第1の記憶手段に記憶された
データ項目を、バッファに転送するための手段を含む。
第2の転送制御手段は、第1の記憶手段にデータ項目が
記憶されてから予め定められた時間が経過したことおよ
び第1の記憶手段に予め定められた容量のデータ項目が
記憶されたことのいずれかが満足されると、第1の記憶
手段に記憶されたデータ項目を第2の記憶手段に転送
し、バッファへの格納要求に応答して、第2の記憶手段
に記憶されたデータ項目を、バッファに転送するための
手段とを含む。
発明の構成に加えて、第1の転送制御手段は、第1の記
憶手段に予め定められた容量のデータ項目が記憶される
までは、第1の記憶手段にデータ項目が記憶されてから
予め定められた時間が経過するまでに発生したバッファ
への格納要求に応答して、第1の記憶手段に記憶された
データ項目を、バッファに転送するための手段を含む。
第2の転送制御手段は、第1の記憶手段にデータ項目が
記憶されてから予め定められた時間が経過したことおよ
び第1の記憶手段に予め定められた容量のデータ項目が
記憶されたことのいずれかが満足されると、第1の記憶
手段に記憶されたデータ項目を第2の記憶手段に転送
し、バッファへの格納要求に応答して、第2の記憶手段
に記憶されたデータ項目を、バッファに転送するための
手段とを含む。
【0015】第4の発明によると、通信ドライバのバッ
ファにデータ項目が記憶されてから予め定められた時間
が経過したか、通信ドライバのバッファに予め定められ
た容量のデータ項目が記憶されたかのいずれかの条件が
満足されると、通信ドライバから受信ウインドウにデー
タ項目が転送される。これにより、予め定められた時間
が経過するまでにアプリケーションタスクから受信要求
が発生しなかったデータ項目が、通信ドライバのバッフ
ァから受信ウインドウに転送される。このとき、予め定
められた時間が経過する前であっても、通信ドライバの
バッファに予め定められた容量のデータ項目が記憶され
ていると、その予め定められた容量を上回るデータ項目
が、通信ドライバのバッファから受信ウインドウに転送
される。これにより、通信ドライバのバッファは、常に
予め定められた容量以下のデータ項目しか記憶されず、
一定の大きさの空き領域を確保できる。その結果、通信
ドライバのバッファに空きがないことを理由とする、通
信ドライバのバッファへ送信できない場合を少なくする
ことができる。
ファにデータ項目が記憶されてから予め定められた時間
が経過したか、通信ドライバのバッファに予め定められ
た容量のデータ項目が記憶されたかのいずれかの条件が
満足されると、通信ドライバから受信ウインドウにデー
タ項目が転送される。これにより、予め定められた時間
が経過するまでにアプリケーションタスクから受信要求
が発生しなかったデータ項目が、通信ドライバのバッフ
ァから受信ウインドウに転送される。このとき、予め定
められた時間が経過する前であっても、通信ドライバの
バッファに予め定められた容量のデータ項目が記憶され
ていると、その予め定められた容量を上回るデータ項目
が、通信ドライバのバッファから受信ウインドウに転送
される。これにより、通信ドライバのバッファは、常に
予め定められた容量以下のデータ項目しか記憶されず、
一定の大きさの空き領域を確保できる。その結果、通信
ドライバのバッファに空きがないことを理由とする、通
信ドライバのバッファへ送信できない場合を少なくする
ことができる。
【0016】第5の発明に係る通信デバイスは、第4の
発明の構成に加えて、第1の転送制御手段は、第1の記
憶手段にデータ項目が送信された順序に従って予め定め
られた容量のデータ項目が記憶されるまでは、第1の記
憶手段にデータ項目が記憶されてから予め定められた時
間が経過するまでに発生したバッファへの格納要求に応
答して、第1の記憶手段に記憶されたデータ項目を、バ
ッファに転送するための手段を含む。
発明の構成に加えて、第1の転送制御手段は、第1の記
憶手段にデータ項目が送信された順序に従って予め定め
られた容量のデータ項目が記憶されるまでは、第1の記
憶手段にデータ項目が記憶されてから予め定められた時
間が経過するまでに発生したバッファへの格納要求に応
答して、第1の記憶手段に記憶されたデータ項目を、バ
ッファに転送するための手段を含む。
【0017】第5の発明によると、予め定められた容量
のデータ項目を、送信順序の早い順に通信デバイスのバ
ッファに記憶するため、予め定められた時間までにアプ
リケーションタスクから受信要求が発行されるデータ項
目の数が多くなる。その結果、通信ドライバのバッファ
から受信ウインドウに一旦転送されてから、アプリケー
ションタスクのバッファへ転送されるデータ項目の数を
減少させることができる。
のデータ項目を、送信順序の早い順に通信デバイスのバ
ッファに記憶するため、予め定められた時間までにアプ
リケーションタスクから受信要求が発行されるデータ項
目の数が多くなる。その結果、通信ドライバのバッファ
から受信ウインドウに一旦転送されてから、アプリケー
ションタスクのバッファへ転送されるデータ項目の数を
減少させることができる。
【0018】第6の発明に係る通信デバイスは、第1〜
4のいずれかの発明の構成に加えて、制御手段は、第1
の記憶手段にデータ項目が記憶される前に発生したバッ
ファへの格納要求に応答して、第1の記憶手段に記憶さ
れたデータ項目を、バッファに転送するように、第1の
記憶手段を制御するための第3の転送制御手段をさらに
含む。
4のいずれかの発明の構成に加えて、制御手段は、第1
の記憶手段にデータ項目が記憶される前に発生したバッ
ファへの格納要求に応答して、第1の記憶手段に記憶さ
れたデータ項目を、バッファに転送するように、第1の
記憶手段を制御するための第3の転送制御手段をさらに
含む。
【0019】第6の発明によると、他の装置からデータ
項目を受信する前に、アプリケーションタスクから受信
要求が発行されると、通信デバイスのバッファに記憶さ
れたデータ項目がアプリケーションタスクにより指定さ
れるバッファに転送される。これにより、予め発行され
たアプリケーションタスクからの受信要求に応答して、
受信したデータ項目を受信ウインドウを経由しないで、
通信ドライバのバッファからアプリケーションタスクの
バッファに転送できる。
項目を受信する前に、アプリケーションタスクから受信
要求が発行されると、通信デバイスのバッファに記憶さ
れたデータ項目がアプリケーションタスクにより指定さ
れるバッファに転送される。これにより、予め発行され
たアプリケーションタスクからの受信要求に応答して、
受信したデータ項目を受信ウインドウを経由しないで、
通信ドライバのバッファからアプリケーションタスクの
バッファに転送できる。
【0020】第7の発明に係る通信デバイスは、第6の
発明の構成に加えて、バッファへの格納要求は、第1の
記憶手段からバッファへのデータ項目の転送容量を示す
情報を含む。第3の転送制御手段は、バッファへの格納
要求に応答して、第1の記憶手段に記憶されたデータ項
目の中の転送容量以下のデータ項目をバッファに転送し
て、転送容量を越えるデータ項目を第1の記憶手段に記
憶するように、第1の記憶手段を制御するための手段を
含む。
発明の構成に加えて、バッファへの格納要求は、第1の
記憶手段からバッファへのデータ項目の転送容量を示す
情報を含む。第3の転送制御手段は、バッファへの格納
要求に応答して、第1の記憶手段に記憶されたデータ項
目の中の転送容量以下のデータ項目をバッファに転送し
て、転送容量を越えるデータ項目を第1の記憶手段に記
憶するように、第1の記憶手段を制御するための手段を
含む。
【0021】第7の発明によると、バッファへの格納要
求は、アプリケーションタスクのバッファの空き領域の
大きさに対応する転送容量を示す情報を含む。通信デバ
イスのバッファの中に記憶されたデータ項目が転送容量
を越える場合には、転送容量以下のデータ項目をアプリ
ケーションタスクのバッファに転送して、転送容量を越
えるデータ項目を通信デバイスのバッファに記憶する。
通信デバイスのバッファに記憶されたデータ項目は、予
め定められた時間が経過する前にアプリケーションタス
クからの受信要求が発生すると、受信ウインドウを経由
しないで、アプリケーションタスクのバッファに転送さ
れる。
求は、アプリケーションタスクのバッファの空き領域の
大きさに対応する転送容量を示す情報を含む。通信デバ
イスのバッファの中に記憶されたデータ項目が転送容量
を越える場合には、転送容量以下のデータ項目をアプリ
ケーションタスクのバッファに転送して、転送容量を越
えるデータ項目を通信デバイスのバッファに記憶する。
通信デバイスのバッファに記憶されたデータ項目は、予
め定められた時間が経過する前にアプリケーションタス
クからの受信要求が発生すると、受信ウインドウを経由
しないで、アプリケーションタスクのバッファに転送さ
れる。
【0022】第8の発明に係る通信デバイスは、第1〜
7のいずれかの発明の構成に加えて、予め定められた時
間は、バッファへの格納要求の送信元からの信号に基づ
いて設定されるものである。
7のいずれかの発明の構成に加えて、予め定められた時
間は、バッファへの格納要求の送信元からの信号に基づ
いて設定されるものである。
【0023】第8の発明によると、バッファへの格納要
求の送信元であるアプリケーションタスクから、予め定
められた時間を設定できる。これにより、アプリケーシ
ョンタスクは、たとえば、その処理内容に応じた受信要
求の発行頻度に基づいて、予め定められた時間を設定す
る。その結果、様々なアプリケーションタスクに対応し
て、受信ウインドウに転送しないで通信ドライバのバッ
ファに記憶する時間を設定にして、転送される回数を減
らすことができる。
求の送信元であるアプリケーションタスクから、予め定
められた時間を設定できる。これにより、アプリケーシ
ョンタスクは、たとえば、その処理内容に応じた受信要
求の発行頻度に基づいて、予め定められた時間を設定す
る。その結果、様々なアプリケーションタスクに対応し
て、受信ウインドウに転送しないで通信ドライバのバッ
ファに記憶する時間を設定にして、転送される回数を減
らすことができる。
【0024】第9の発明に係る通信デバイスは、第8の
発明の構成に加えて、予め定められた時間は、バッファ
への格納要求の送信元から送信された、バッファへの格
納要求の頻度に基づいて設定されるものである。
発明の構成に加えて、予め定められた時間は、バッファ
への格納要求の送信元から送信された、バッファへの格
納要求の頻度に基づいて設定されるものである。
【0025】第9の発明によると、様々なアプリケーシ
ョンタスクに対応して、バッファへの格納要求の頻度に
基づいて、受信したデータ項目を受信ウインドウに転送
しないで通信ドライバのバッファに記憶する時間を設定
できる。
ョンタスクに対応して、バッファへの格納要求の頻度に
基づいて、受信したデータ項目を受信ウインドウに転送
しないで通信ドライバのバッファに記憶する時間を設定
できる。
【0026】第10の発明に係る通信デバイスは、第2
または3の発明の構成に加えて、予め定められた個数
は、バッファへの格納要求の送信元からの信号に基づい
て設定されるものである。
または3の発明の構成に加えて、予め定められた個数
は、バッファへの格納要求の送信元からの信号に基づい
て設定されるものである。
【0027】第10の発明によると、様々なアプリケー
ションタスクに対応して、受信したデータ項目を受信ウ
インドウに転送しないで通信ドライバのバッファに記憶
するデータ項目の個数を設定できる。
ションタスクに対応して、受信したデータ項目を受信ウ
インドウに転送しないで通信ドライバのバッファに記憶
するデータ項目の個数を設定できる。
【0028】第11の発明に係る通信デバイスは、第4
または5の発明の構成に加えて、予め定められた容量
は、バッファへの格納要求の送信元からの信号に基づい
て設定されるものである。
または5の発明の構成に加えて、予め定められた容量
は、バッファへの格納要求の送信元からの信号に基づい
て設定されるものである。
【0029】第11の発明によると、様々なアプリケー
ションタスクに対応して、受信したデータ項目を受信ウ
インドウに転送しないで通信ドライバのバッファに記憶
するデータ項目の容量を設定できる。
ションタスクに対応して、受信したデータ項目を受信ウ
インドウに転送しないで通信ドライバのバッファに記憶
するデータ項目の容量を設定できる。
【0030】第12の発明に係る通信デバイスは、第1
〜7のいずれかの発明の構成に加えて、予め定められた
時間は、ネットワークの通信状態に基づいて設定される
ものである。
〜7のいずれかの発明の構成に加えて、予め定められた
時間は、ネットワークの通信状態に基づいて設定される
ものである。
【0031】第12の発明によると、ネットワークの通
信状態に基づいて、予め定められた時間を設定できる。
たとえば、通信デバイスは、送信元から送信先までのデ
ータ項目の伝送時間を測定する。この伝送時間が比較的
長い場合には、送信元からデータ項目が到着する時間も
長くなるので、予め定められた時間を長く設定してもよ
い。これにより、ドライバのバッファに記憶されたデー
タ項目が、受信ウインドウに一旦転送されてから、アプ
リケーションタスクのバッファに転送される回数を減少
させることができる。
信状態に基づいて、予め定められた時間を設定できる。
たとえば、通信デバイスは、送信元から送信先までのデ
ータ項目の伝送時間を測定する。この伝送時間が比較的
長い場合には、送信元からデータ項目が到着する時間も
長くなるので、予め定められた時間を長く設定してもよ
い。これにより、ドライバのバッファに記憶されたデー
タ項目が、受信ウインドウに一旦転送されてから、アプ
リケーションタスクのバッファに転送される回数を減少
させることができる。
【0032】第13の発明に係る通信デバイスは、第1
2の発明の構成に加えて、予め定められた時間は、ネッ
トワークにおける通信デバイスまでのデータの伝送時間
に基づいて設定されるものである。
2の発明の構成に加えて、予め定められた時間は、ネッ
トワークにおける通信デバイスまでのデータの伝送時間
に基づいて設定されるものである。
【0033】第13の発明によると、ネットワークにお
ける通信デバイスまでのデータの伝送時間に基づいて、
受信したデータ項目を受信ウインドウに転送しないで通
信ドライバのバッファに記憶する時間を設定できる。
ける通信デバイスまでのデータの伝送時間に基づいて、
受信したデータ項目を受信ウインドウに転送しないで通
信ドライバのバッファに記憶する時間を設定できる。
【0034】第14の発明に係る通信デバイスは、第2
または3の発明の構成に加えて、予め定められた個数
は、ネットワークの通信状態に基づいて設定されるもの
である。
または3の発明の構成に加えて、予め定められた個数
は、ネットワークの通信状態に基づいて設定されるもの
である。
【0035】第14の発明によると、ネットワークの通
信状態に基づいて、受信したデータ項目を受信ウインド
ウに転送しないで通信ドライバのバッファに記憶するデ
ータ項目の個数を設定できる。
信状態に基づいて、受信したデータ項目を受信ウインド
ウに転送しないで通信ドライバのバッファに記憶するデ
ータ項目の個数を設定できる。
【0036】第15の発明に係る通信デバイスは、第4
または5の発明の構成に加えて、予め定められた容量
は、ネットワークの通信状態に基づいて設定されるもの
である。
または5の発明の構成に加えて、予め定められた容量
は、ネットワークの通信状態に基づいて設定されるもの
である。
【0037】第15の発明によると、ネットワークの通
信状態に基づいて、受信したデータ項目を受信ウインド
ウに転送しないで通信ドライバのバッファに記憶するデ
ータ項目の容量を設定できる。
信状態に基づいて、受信したデータ項目を受信ウインド
ウに転送しないで通信ドライバのバッファに記憶するデ
ータ項目の容量を設定できる。
【0038】第16の発明に係る携帯端末は、第1〜1
5のいずれかの発明の構成である通信デバイスを搭載し
たものである。
5のいずれかの発明の構成である通信デバイスを搭載し
たものである。
【0039】第16の発明によると、TCP/IPプロ
トコルなどを用いてデータを受信した場合に、バッファ
間のデータ転送の頻度を低減させて、少ない消費電力
で、高速にデータ受信処理を実行できる携帯端末を提供
することができる。
トコルなどを用いてデータを受信した場合に、バッファ
間のデータ転送の頻度を低減させて、少ない消費電力
で、高速にデータ受信処理を実行できる携帯端末を提供
することができる。
【0040】第17の発明に係るプログラムは、ネット
ワークに対して、データ項目の送受信を制御するネット
ワーク制御ステップと、受信したデータ項目を一時的に
記憶する第1の記憶ステップと、受信したデータ項目を
記憶する第2の記憶ステップと、第1の記憶ステップお
よび第2の記憶ステップにて記憶したデータ項目を、予
め定められたバッファに転送する転送ステップとを含
む。転送ステップは、第1の記憶ステップにてデータ項
目が記憶されてから予め定められた時間が経過するまで
に発生したバッファへの格納要求に応答して、第1の記
憶ステップにて記憶したデータ項目を、バッファに転送
する第1の転送ステップと、第1の記憶ステップにてデ
ータ項目が記憶されてから予め定められた時間が経過す
ると、第1の記憶ステップにて記憶したデータ項目を第
2の記憶ステップにて記憶し、バッファへの格納要求に
応答して、第2の記憶ステップにて記憶したデータ項目
を、バッファに転送する第2の転送ステップとを含む処
理をコンピュータに実現させる。
ワークに対して、データ項目の送受信を制御するネット
ワーク制御ステップと、受信したデータ項目を一時的に
記憶する第1の記憶ステップと、受信したデータ項目を
記憶する第2の記憶ステップと、第1の記憶ステップお
よび第2の記憶ステップにて記憶したデータ項目を、予
め定められたバッファに転送する転送ステップとを含
む。転送ステップは、第1の記憶ステップにてデータ項
目が記憶されてから予め定められた時間が経過するまで
に発生したバッファへの格納要求に応答して、第1の記
憶ステップにて記憶したデータ項目を、バッファに転送
する第1の転送ステップと、第1の記憶ステップにてデ
ータ項目が記憶されてから予め定められた時間が経過す
ると、第1の記憶ステップにて記憶したデータ項目を第
2の記憶ステップにて記憶し、バッファへの格納要求に
応答して、第2の記憶ステップにて記憶したデータ項目
を、バッファに転送する第2の転送ステップとを含む処
理をコンピュータに実現させる。
【0041】第17の発明によると、たとえば、TCP
/IPプロトコルでネットワーク通信を行なう場合、通
信ドライバのバッファと受信ウインドウとを有する。ネ
ットワーク制御ステップにてデータ項目の受信を検知す
ると、通信ドライバのバッファに記憶させる。通信ドラ
イバのバッファにデータ項目が記憶されてから予め定め
られた時間が経過するまでに、アプリケーションタスク
からのデータ受信要求が発生すると、通信ドライバに記
憶されたデータ項目がアプリケーションタスクにより指
定されるバッファに転送される。このとき、受信したデ
ータ項目は、受信ウインドウを経由しない。一方、通信
ドライバのバッファにデータ項目が記憶されてから予め
定められた時間が経過すると、通信ドライバのバッファ
に記憶されたデータ項目が受信ウインドウに転送され
る。その後、アプリケーションタスクからのデータ受信
要求が発生すると、受信ウインドウに記憶されたデータ
項目がアプリケーションタスクにより指定されるバッフ
ァに転送される。このとき、受信したデータ項目は、受
信ウインドウを経由する。このようにすると、通信ドラ
イバのバッファから受信ウインドウに、受信したデータ
項目の全てが転送されるのではなく、予め定められた時
間が経過するまでに、アプリケーションタスクから受信
要求が発生しなかったデータ項目だけが、通信ドライバ
のバッファから受信ウインドウに転送される。その結
果、データを受信した場合に、バッファ間のデータ転送
の頻度を低減させて、少ない消費電力で、高速にデータ
受信処理を実行できる通信が提供される。
/IPプロトコルでネットワーク通信を行なう場合、通
信ドライバのバッファと受信ウインドウとを有する。ネ
ットワーク制御ステップにてデータ項目の受信を検知す
ると、通信ドライバのバッファに記憶させる。通信ドラ
イバのバッファにデータ項目が記憶されてから予め定め
られた時間が経過するまでに、アプリケーションタスク
からのデータ受信要求が発生すると、通信ドライバに記
憶されたデータ項目がアプリケーションタスクにより指
定されるバッファに転送される。このとき、受信したデ
ータ項目は、受信ウインドウを経由しない。一方、通信
ドライバのバッファにデータ項目が記憶されてから予め
定められた時間が経過すると、通信ドライバのバッファ
に記憶されたデータ項目が受信ウインドウに転送され
る。その後、アプリケーションタスクからのデータ受信
要求が発生すると、受信ウインドウに記憶されたデータ
項目がアプリケーションタスクにより指定されるバッフ
ァに転送される。このとき、受信したデータ項目は、受
信ウインドウを経由する。このようにすると、通信ドラ
イバのバッファから受信ウインドウに、受信したデータ
項目の全てが転送されるのではなく、予め定められた時
間が経過するまでに、アプリケーションタスクから受信
要求が発生しなかったデータ項目だけが、通信ドライバ
のバッファから受信ウインドウに転送される。その結
果、データを受信した場合に、バッファ間のデータ転送
の頻度を低減させて、少ない消費電力で、高速にデータ
受信処理を実行できる通信が提供される。
【0042】
【発明の実施の形態】以下、図面を参照しつつ、本発明
の実施の形態について説明する。以下の説明では、同一
の部品には同一の符号を付してある。それらの名称およ
び機能も同じである。したがってそれらについての詳細
な説明は繰返さない。
の実施の形態について説明する。以下の説明では、同一
の部品には同一の符号を付してある。それらの名称およ
び機能も同じである。したがってそれらについての詳細
な説明は繰返さない。
【0043】<第1の実施の形態>図1を参照して、本
発明の第1の実施の形態に係る通信デバイスを組込んだ
PDA(Personal Digital Assistant)の制御ブロック
を説明する。図1に示すように、このPDA100は、
ネットワークとのインターフェイスであってデータの送
受信完了時には割込み信号をCPU120に通知するイ
ーサネット(R)コントローラ110と、PDA100
の全体を制御するCPU120と、マンマシンインター
フェイスであるLCD(Liquid Crystal Display)13
0およびタッチパネル140と、後述する処理を実行す
るプログラムやそのプログラムによる実行途中の演算結
果を記憶するROM(Read Only Memory)150および
RAM(Random Access Memory)160とを含む。ま
た、イーサネット(R)コントローラ110は、ネット
ワークと接続するためのコネクタ190と接続されてい
る。
発明の第1の実施の形態に係る通信デバイスを組込んだ
PDA(Personal Digital Assistant)の制御ブロック
を説明する。図1に示すように、このPDA100は、
ネットワークとのインターフェイスであってデータの送
受信完了時には割込み信号をCPU120に通知するイ
ーサネット(R)コントローラ110と、PDA100
の全体を制御するCPU120と、マンマシンインター
フェイスであるLCD(Liquid Crystal Display)13
0およびタッチパネル140と、後述する処理を実行す
るプログラムやそのプログラムによる実行途中の演算結
果を記憶するROM(Read Only Memory)150および
RAM(Random Access Memory)160とを含む。ま
た、イーサネット(R)コントローラ110は、ネット
ワークと接続するためのコネクタ190と接続されてい
る。
【0044】図2を参照して、本実施の形態に係る通信
デバイスで実行されるプログラムの受信処理の構成を説
明する。イーサネット(R)コントローラ110は、イ
ーサネット(R)ケーブル上に自局宛てフレームが伝送
されていることを検知すると、そのフレームに対して、
誤り検出処理等の受信処理を行なう。その後、イーサネ
ット(R)コントローラ110は、イーサネット(R)
ドライバ処理部122にイーサネット(R)フレームを
受信したことを割込み処理で通知する。
デバイスで実行されるプログラムの受信処理の構成を説
明する。イーサネット(R)コントローラ110は、イ
ーサネット(R)ケーブル上に自局宛てフレームが伝送
されていることを検知すると、そのフレームに対して、
誤り検出処理等の受信処理を行なう。その後、イーサネ
ット(R)コントローラ110は、イーサネット(R)
ドライバ処理部122にイーサネット(R)フレームを
受信したことを割込み処理で通知する。
【0045】イーサネット(R)ドライバ処理部122
は、イーサネット(R)コントローラからの割込み信号
により起動され、受信したイーサネット(R)フレーム
のヘッダ部を解析する。イーサネット(R)フレームに
IPデータグラムが含まれていると、IPデータグラム
を受信したことをTCP/IPプロトコル処理タスク1
24へ通知する。
は、イーサネット(R)コントローラからの割込み信号
により起動され、受信したイーサネット(R)フレーム
のヘッダ部を解析する。イーサネット(R)フレームに
IPデータグラムが含まれていると、IPデータグラム
を受信したことをTCP/IPプロトコル処理タスク1
24へ通知する。
【0046】アプリケーションタスク126は、TCP
/IPプロトコルのデータを受信する場合、TCP/I
Pプロトコルタスク124にデータ受信要求を通知す
る。そのとき、TCP/IPプロトコルのデータの格納
先のアドレスやサイズ等の情報も併せて通知する。アプ
リケーションタスク126は、TCP/IPプロトコル
処理タスク124から受信完了の通知があるまで待ち状
態になる。
/IPプロトコルのデータを受信する場合、TCP/I
Pプロトコルタスク124にデータ受信要求を通知す
る。そのとき、TCP/IPプロトコルのデータの格納
先のアドレスやサイズ等の情報も併せて通知する。アプ
リケーションタスク126は、TCP/IPプロトコル
処理タスク124から受信完了の通知があるまで待ち状
態になる。
【0047】周期起動ハンドラ128は、予め定められ
た時間毎に起動されて、TCP/IPプロトコル処理タ
スク124に、通信処理を周期的に実行するように指示
する。
た時間毎に起動されて、TCP/IPプロトコル処理タ
スク124に、通信処理を周期的に実行するように指示
する。
【0048】TCP/IPプロトコル処理タスク124
は、アプリケーションタスク126、周期ハンドラ12
8、イーサネット(R)ドライバ処理部122等からの
通知に応じて、TCP/IPプロトコル処理を実行す
る。
は、アプリケーションタスク126、周期ハンドラ12
8、イーサネット(R)ドライバ処理部122等からの
通知に応じて、TCP/IPプロトコル処理を実行す
る。
【0049】図3を参照して、本実施の形態に係る通信
デバイスで処理されるデータの構造を説明する。図3に
示すように、イーサネット(R)フレームは、ヘッダと
データとを含む。イーサネット(R)フレームのデータ
は、IPデータグラムと呼ばれ、ヘッダとデータとを含
む。IPデータグラムのデータは、TCPセグメントと
呼ばれ、ヘッダとデータとを含む。TCPセグメントの
データ、ヘッダとデータとを含む。
デバイスで処理されるデータの構造を説明する。図3に
示すように、イーサネット(R)フレームは、ヘッダと
データとを含む。イーサネット(R)フレームのデータ
は、IPデータグラムと呼ばれ、ヘッダとデータとを含
む。IPデータグラムのデータは、TCPセグメントと
呼ばれ、ヘッダとデータとを含む。TCPセグメントの
データ、ヘッダとデータとを含む。
【0050】TCPセグメントのヘッダには、データの
送信順序を表わす順序番号、データサイズ等が記憶され
る。TCPセグメントのデータには、アプリケーション
タスクが使用するためのデータ(たとえば、D(0)、
D(1),D(2)およびD(3))が記憶される。
送信順序を表わす順序番号、データサイズ等が記憶され
る。TCPセグメントのデータには、アプリケーション
タスクが使用するためのデータ(たとえば、D(0)、
D(1),D(2)およびD(3))が記憶される。
【0051】図4を参照して、本実施の形態に係る通信
デバイスを組込んだPDA100で実行されるプログラ
ムは、以下のような制御構造を有する。
デバイスを組込んだPDA100で実行されるプログラ
ムは、以下のような制御構造を有する。
【0052】ステップ(以下、ステップをSと略す。)
100にて、CPU120は、各種のタスクを起動させ
る。S102にて、CPU120は、初期化処理を行な
う。このとき、変数などが初期化される。
100にて、CPU120は、各種のタスクを起動させ
る。S102にて、CPU120は、初期化処理を行な
う。このとき、変数などが初期化される。
【0053】S104にて、CPU120は、タスクや
ハンドラからの通知を待つ。S106にて、CPU12
0は、IPデータグラムの受信通知を受取ったか否かを
判断する。IPデータグラムの受信通知を受取ると(S
106にてYES)、処理はS108へ移される。もし
そうでないと(S106にてNO)、処理は図5のS1
30へ移される。
ハンドラからの通知を待つ。S106にて、CPU12
0は、IPデータグラムの受信通知を受取ったか否かを
判断する。IPデータグラムの受信通知を受取ると(S
106にてYES)、処理はS108へ移される。もし
そうでないと(S106にてNO)、処理は図5のS1
30へ移される。
【0054】S108にて、CPU120は、IPヘッ
ダ部の解析を行なう。S110にて、CPU120は、
TCPセグメントがあるか否かを判断する。TCPセグ
メントがある場合は(S110にてYES)、処理はS
112へ移される。もしそうでないと(S110にてN
O)、処理はS104へ戻される。
ダ部の解析を行なう。S110にて、CPU120は、
TCPセグメントがあるか否かを判断する。TCPセグ
メントがある場合は(S110にてYES)、処理はS
112へ移される。もしそうでないと(S110にてN
O)、処理はS104へ戻される。
【0055】S112にて、CPU120は、TCPセ
グメントの解析を行なう。S114にて、CPU120
は、TCPデータがあるか否かを判断する。TCPデー
タがある場合には(S114にてYES)、処理はS1
16へ移される。もしそうでないと(S114にてN
O)、処理はS118へ移される。
グメントの解析を行なう。S114にて、CPU120
は、TCPデータがあるか否かを判断する。TCPデー
タがある場合には(S114にてYES)、処理はS1
16へ移される。もしそうでないと(S114にてN
O)、処理はS118へ移される。
【0056】S116にて、CPU120は、イーサネ
ット(R)ドライバ処理部122のドライバで、TCP
データを保持するための管理情報を作成する。この作成
情報には、TCPデータを抽出した時刻、TCPデータ
の格納領域などが記憶される。
ット(R)ドライバ処理部122のドライバで、TCP
データを保持するための管理情報を作成する。この作成
情報には、TCPデータを抽出した時刻、TCPデータ
の格納領域などが記憶される。
【0057】S118にて、CPU120は、受信した
TCPセグメントに対する応答処理を行なう。その後、
処理はS104へ戻される。
TCPセグメントに対する応答処理を行なう。その後、
処理はS104へ戻される。
【0058】図5を参照して、S130にて、CPU1
20は、TCP受信要求を受取ったか否かを判断する。
TCP受信要求を受取ると(S130にてYES)、処
理はS132へ移される。もしそうでないと(S130
にてNO)、処理はS160へ移される。
20は、TCP受信要求を受取ったか否かを判断する。
TCP受信要求を受取ると(S130にてYES)、処
理はS132へ移される。もしそうでないと(S130
にてNO)、処理はS160へ移される。
【0059】S132にて、CPU120は、受信ウイ
ンドウまたはドライバのバッファにTCPデータがある
か否かを判断する。受信ウインドウまたはドライバのバ
ッファにTCPデータがある場合には(S132にてY
ES)、処理はS134へ移される。もしそうでないと
(S132にてNO)、処理は図4のS104へ戻され
る。
ンドウまたはドライバのバッファにTCPデータがある
か否かを判断する。受信ウインドウまたはドライバのバ
ッファにTCPデータがある場合には(S132にてY
ES)、処理はS134へ移される。もしそうでないと
(S132にてNO)、処理は図4のS104へ戻され
る。
【0060】S134にて、CPU120は、受信ウイ
ンドウまたはドライバのバッファからアプリケーション
タスクが指定したバッファ領域へTCPデータを転送す
る。
ンドウまたはドライバのバッファからアプリケーション
タスクが指定したバッファ領域へTCPデータを転送す
る。
【0061】S136にて、CPU120は、受信ウイ
ンドウからTCPデータの転送があるか否を判断する。
受信ウインドウからTCPデータの転送がある場合には
(S136にてYES)、処理はS138へ移される。
もしそうでないと(S136にてNO)、処理はS14
0へ移される。
ンドウからTCPデータの転送があるか否を判断する。
受信ウインドウからTCPデータの転送がある場合には
(S136にてYES)、処理はS138へ移される。
もしそうでないと(S136にてNO)、処理はS14
0へ移される。
【0062】S138にて、CPU120は、受信ウイ
ンドウの管理情報の更新を行なう。S140にて、CP
U120は、ドライバのバッファからTCPデータの転
送があるか否を判断する。ドライバのバッファからTC
Pデータの転送がある場合には(S140にてYE
S)、処理はS142へ移される。もしそうでないと
(S140にてNO)、処理はS146へ移される。
ンドウの管理情報の更新を行なう。S140にて、CP
U120は、ドライバのバッファからTCPデータの転
送があるか否を判断する。ドライバのバッファからTC
Pデータの転送がある場合には(S140にてYE
S)、処理はS142へ移される。もしそうでないと
(S140にてNO)、処理はS146へ移される。
【0063】S142にて、CPU120は、転送した
TCPデータが格納されていたドライバのバッファ領域
を解放する。S144にて、CPU120は、転送した
TCPデータに対応した管理情報の領域を解放する。
TCPデータが格納されていたドライバのバッファ領域
を解放する。S144にて、CPU120は、転送した
TCPデータに対応した管理情報の領域を解放する。
【0064】S146にて、CPU120は、受信要求
を発行したアプリケーションタスクへ、TCP受信完了
を通知する。その後、処理は図4のS104へ戻され
る。
を発行したアプリケーションタスクへ、TCP受信完了
を通知する。その後、処理は図4のS104へ戻され
る。
【0065】S160にて、CPU120は、TCP周
期処理要求を受取ったか否かを判断する。TCP周期処
理要求を受取ると(S160にてYES)、処理はS1
62へ移される。もしそうでないと(S160にてN
O)、処理は図4のS104へ移される。
期処理要求を受取ったか否かを判断する。TCP周期処
理要求を受取ると(S160にてYES)、処理はS1
62へ移される。もしそうでないと(S160にてN
O)、処理は図4のS104へ移される。
【0066】S162にて、CPU120は、保持時間
=(現在の時刻)−(TCPデータを抽出した時刻)と
する。S164にて、CPU120は、保持時間が予め
定められた保持時間よりも大きいか否かを判断する。保
持時間が予め定められた保持時間よりも大きい場合には
(S164にてYES)、処理はS166へ移される。
もしそうでないと(S164にてNO)、処理は図4の
S104へ移される。
=(現在の時刻)−(TCPデータを抽出した時刻)と
する。S164にて、CPU120は、保持時間が予め
定められた保持時間よりも大きいか否かを判断する。保
持時間が予め定められた保持時間よりも大きい場合には
(S164にてYES)、処理はS166へ移される。
もしそうでないと(S164にてNO)、処理は図4の
S104へ移される。
【0067】S166にて、CPU120は、ドライバ
のバッファに格納されたTCPデータを受信ウインドウ
に転送する。S168にて、CPU120は、受信ウイ
ンドウの管理情報を更新する。S170にて、CPU1
20は、転送したTCPデータが格納されていたドライ
バのバッファ領域を解放する。S172にて、CPU1
20は、転送したTCPデータに対応した管理情報の領
域を解放する。その後、処理は図4のS104へ戻され
る。
のバッファに格納されたTCPデータを受信ウインドウ
に転送する。S168にて、CPU120は、受信ウイ
ンドウの管理情報を更新する。S170にて、CPU1
20は、転送したTCPデータが格納されていたドライ
バのバッファ領域を解放する。S172にて、CPU1
20は、転送したTCPデータに対応した管理情報の領
域を解放する。その後、処理は図4のS104へ戻され
る。
【0068】以上のような構造およびフローチャートに
基づく、本実施の形態に係る通信デバイスを含むPDA
100の動作について説明する。
基づく、本実施の形態に係る通信デバイスを含むPDA
100の動作について説明する。
【0069】図6〜8に、本実施の形態に係る通信デバ
イスを含むPDA100が、イーサネット(R)からT
CP/IPパケットを含むイーサネット(R)フレーム
を受信した場合の処理の手順を示す。
イスを含むPDA100が、イーサネット(R)からT
CP/IPパケットを含むイーサネット(R)フレーム
を受信した場合の処理の手順を示す。
【0070】図6に示すように、イーサネット(R)コ
ントローラ110は、イーサネット(R)上を流れるイ
ーサネット(R)フレームの中から、イーサネット
(R)アドレスが自局宛であるフレームを検出する(S
106にてYES)。イーサネット(R)コントローラ
110は、受信したフレームをメモリに格納する。イー
サネット(R)コントローラ110は、イーサネット
(R)ドライバ112に対して、フレームを受信したこ
とを通知する。イーサネット(R)ドライバ122は、
イーサネット(R)コントローラ110から受信したイ
ーサネット(R)フレームをドライバのバッファに転送
する。TCP/IPプロトコル処理タスク124は、ド
ライバのバッファに格納されたイーサネット(R)フレ
ーム、イーサネット(R)フレームに含まれるIPデー
タグラム、IPデータグラムに含まれるTCPセグメン
トのヘッダ情報やデータを解析し(S108、S11
2)、自局宛であるか否か、データに誤りがないか否か
などを調べ、最終的にはTCPのデータD(0)を抽出
する(S114にてYES)。
ントローラ110は、イーサネット(R)上を流れるイ
ーサネット(R)フレームの中から、イーサネット
(R)アドレスが自局宛であるフレームを検出する(S
106にてYES)。イーサネット(R)コントローラ
110は、受信したフレームをメモリに格納する。イー
サネット(R)コントローラ110は、イーサネット
(R)ドライバ112に対して、フレームを受信したこ
とを通知する。イーサネット(R)ドライバ122は、
イーサネット(R)コントローラ110から受信したイ
ーサネット(R)フレームをドライバのバッファに転送
する。TCP/IPプロトコル処理タスク124は、ド
ライバのバッファに格納されたイーサネット(R)フレ
ーム、イーサネット(R)フレームに含まれるIPデー
タグラム、IPデータグラムに含まれるTCPセグメン
トのヘッダ情報やデータを解析し(S108、S11
2)、自局宛であるか否か、データに誤りがないか否か
などを調べ、最終的にはTCPのデータD(0)を抽出
する(S114にてYES)。
【0071】受信ウインドウには、データD(0)が転
送されない。データD(0)は、ドライバのバッファに
保持される。このとき、データD(0)を抽出した時刻
T(0)とデータD(0)のメモリ配置アドレス情報や
サイズなどを管理する情報が作成される(S116)。
さらに3つのイーサネット(R)フレームを受信した場
合にも、同様に各々のデータD(1)〜D(3)をドラ
イバのバッファに保持するとともに、各々を保持した時
刻T(1)〜T(3)などを含む管理情報が作成され
る。なお、データD(0)〜D(3)をドライバのバッ
ファに保持する時間は、各々予め定められた時間までと
する。
送されない。データD(0)は、ドライバのバッファに
保持される。このとき、データD(0)を抽出した時刻
T(0)とデータD(0)のメモリ配置アドレス情報や
サイズなどを管理する情報が作成される(S116)。
さらに3つのイーサネット(R)フレームを受信した場
合にも、同様に各々のデータD(1)〜D(3)をドラ
イバのバッファに保持するとともに、各々を保持した時
刻T(1)〜T(3)などを含む管理情報が作成され
る。なお、データD(0)〜D(3)をドライバのバッ
ファに保持する時間は、各々予め定められた時間までと
する。
【0072】図7に、予め定められた時間までにアプリ
ケーションタスク126から、TCPデータの受信要求
が発行された場合を示す。アプリケーションタスク12
6から受信要求が発行された場合には、ドライバのバッ
ファに保持されたデータD(0)〜D(3)に対応した
管理情報を参照して、データD(0)〜D(3)がドラ
イバのバッファからアプリケーションタスク126によ
り指定されたバッファに転送される(S134)。転送
されたデータD(0)〜D(3)に対応する管理情報が
削除される(S144)。
ケーションタスク126から、TCPデータの受信要求
が発行された場合を示す。アプリケーションタスク12
6から受信要求が発行された場合には、ドライバのバッ
ファに保持されたデータD(0)〜D(3)に対応した
管理情報を参照して、データD(0)〜D(3)がドラ
イバのバッファからアプリケーションタスク126によ
り指定されたバッファに転送される(S134)。転送
されたデータD(0)〜D(3)に対応する管理情報が
削除される(S144)。
【0073】ここで、ドライバのバッファに保持された
データD(0)〜D(3)の合計サイズが、アプリケー
ションタスク126により指定されたバッファのサイズ
よりも大きい場合には、ドライバのバッファに保持され
たデータD(0)〜D(3)がアプリケーションタスク
126により指定されたバッファのサイズに等しい分だ
け転送される。完全に転送されたデータに対する管理情
報のみが削除され、完全に転送されなかったデータ(デ
ータの一部のみ転送された場合を含む)については、引
続きドライバのバッファに保持されるとともに、そのデ
ータに対応するように、管理情報が更新される。
データD(0)〜D(3)の合計サイズが、アプリケー
ションタスク126により指定されたバッファのサイズ
よりも大きい場合には、ドライバのバッファに保持され
たデータD(0)〜D(3)がアプリケーションタスク
126により指定されたバッファのサイズに等しい分だ
け転送される。完全に転送されたデータに対する管理情
報のみが削除され、完全に転送されなかったデータ(デ
ータの一部のみ転送された場合を含む)については、引
続きドライバのバッファに保持されるとともに、そのデ
ータに対応するように、管理情報が更新される。
【0074】図8に、予め定められた時間までにアプリ
ケーションタスク126からTCPデータの受信要求が
発行されなかった場合を示す。ある時刻Tにおいてアプ
リケーションタスク126から受信要求が発行されてい
ない場合には、ドライバのバッファに格納されたデータ
D(0)〜D(3)に対応した管理情報を参照して、時
刻Tから各々が保持された時刻T(0)〜T(3)まで
の期間dT(0)〜dT(3)が各々算出される(S1
62)。
ケーションタスク126からTCPデータの受信要求が
発行されなかった場合を示す。ある時刻Tにおいてアプ
リケーションタスク126から受信要求が発行されてい
ない場合には、ドライバのバッファに格納されたデータ
D(0)〜D(3)に対応した管理情報を参照して、時
刻Tから各々が保持された時刻T(0)〜T(3)まで
の期間dT(0)〜dT(3)が各々算出される(S1
62)。
【0075】そして、期間dT(0)〜dT(3)が予
め定められた時間を超える場合には、データD(0)〜
D(3)がドライバのバッファから受信ウインドウに転
送され(S166)、転送されたデータに対応する管理
情報が削除される(S172)。
め定められた時間を超える場合には、データD(0)〜
D(3)がドライバのバッファから受信ウインドウに転
送され(S166)、転送されたデータに対応する管理
情報が削除される(S172)。
【0076】以上のようにして、本実施の形態に係る通
信デバイスを搭載したPDAは、予め定められた時間ま
でにアプリケーションタスクから受信要求が発行された
場合、受信ウインドウを介さずにドライバのバッファか
らアプリケーションタスクにより指定されるバッファへ
データ転送される。このため、従来方式に比べて、デー
タ転送の回数が低減される。データの転送回数が低減さ
れることにより、TCPプロトコル処理に要する消費電
力が低減される。また予め定められた時間を超えてアプ
リケーションタスクから受信要求が発行されなかった場
合には、ドライバに保持されたデータは受信ウインドウ
に転送されるため、ドライバのバッファがデータにより
占有される確率が、時間的な制限ない場合に比べて、低
減されることになる。そのため、TCP/IPプロトコ
ルのパケットを含まないイーサネット(R)フレームを
受信した場合(ARP(Address Resolution Protoco
l)、ICMP(Internet Control Message Protoco
l)、UDP/IP(User Datagram Protocol/Interne
t Protocol)のパケットなど)、複数のアプリケーショ
ンタスクが実行されている場合であって、複数の装置と
通信するような場合であっても、イーサネット(R)コ
ントローラで受信したイーサネット(R)フレームをド
ライバのバッファに転送できなくなる確率を低減させる
ことができる。その結果、データ受信時の転送速度の低
下を防ぐことができる。
信デバイスを搭載したPDAは、予め定められた時間ま
でにアプリケーションタスクから受信要求が発行された
場合、受信ウインドウを介さずにドライバのバッファか
らアプリケーションタスクにより指定されるバッファへ
データ転送される。このため、従来方式に比べて、デー
タ転送の回数が低減される。データの転送回数が低減さ
れることにより、TCPプロトコル処理に要する消費電
力が低減される。また予め定められた時間を超えてアプ
リケーションタスクから受信要求が発行されなかった場
合には、ドライバに保持されたデータは受信ウインドウ
に転送されるため、ドライバのバッファがデータにより
占有される確率が、時間的な制限ない場合に比べて、低
減されることになる。そのため、TCP/IPプロトコ
ルのパケットを含まないイーサネット(R)フレームを
受信した場合(ARP(Address Resolution Protoco
l)、ICMP(Internet Control Message Protoco
l)、UDP/IP(User Datagram Protocol/Interne
t Protocol)のパケットなど)、複数のアプリケーショ
ンタスクが実行されている場合であって、複数の装置と
通信するような場合であっても、イーサネット(R)コ
ントローラで受信したイーサネット(R)フレームをド
ライバのバッファに転送できなくなる確率を低減させる
ことができる。その結果、データ受信時の転送速度の低
下を防ぐことができる。
【0077】なお、本実施の形態においては、イーサネ
ット(R)フレームに含まれるTCPプロトコルのデー
タを受信した場合について説明したが、これに限定され
るものではない。たとえば、他のフレームの場合、たと
えばPPP(Point-to-PointProtocol)フレームに含ま
れるTCPデータを受信した場合であっても、本実施の
形態に係る通信デバイスを適用することができる。さら
に、伝送路もイーサネット(R)だけでなく、他の伝送
路、モデムを使用して電話線を利用した伝送路などであ
ってもよい。
ット(R)フレームに含まれるTCPプロトコルのデー
タを受信した場合について説明したが、これに限定され
るものではない。たとえば、他のフレームの場合、たと
えばPPP(Point-to-PointProtocol)フレームに含ま
れるTCPデータを受信した場合であっても、本実施の
形態に係る通信デバイスを適用することができる。さら
に、伝送路もイーサネット(R)だけでなく、他の伝送
路、モデムを使用して電話線を利用した伝送路などであ
ってもよい。
【0078】<第2の実施の形態>以下、本実施の形態
に係る通信デバイスを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
に係る通信デバイスを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
【0079】図9〜10を参照して、本実施の形態に係
る通信デバイスを含むPDAで実行されるプログラム
は、以下のような制御構造を有する。なお、図9に示す
フローチャートの中で、前述の図4に示したフローチャ
ートと同じ処理については、同じステップ番号を付して
ある。図10に示すフローチャートの中で、前述の図5
に示したフローチャートと同じ処理については、同じス
テップ番号を付してある。それらの処理も同じである。
したがって、それらについての詳細な説明はここでは繰
返さない。
る通信デバイスを含むPDAで実行されるプログラム
は、以下のような制御構造を有する。なお、図9に示す
フローチャートの中で、前述の図4に示したフローチャ
ートと同じ処理については、同じステップ番号を付して
ある。図10に示すフローチャートの中で、前述の図5
に示したフローチャートと同じ処理については、同じス
テップ番号を付してある。それらの処理も同じである。
したがって、それらについての詳細な説明はここでは繰
返さない。
【0080】S200にて、CPU120は、ドライバ
に保持したTCPデータの個数が予め定められた個数以
下であるか否かを判断する。ドライバに保持したTCP
データの個数が、予め定められた個数以下である場合に
は(S200にてYES)、処理はS116へ移され
る。もしそうでないと(S200にてNO)、処理はS
204へ移される。
に保持したTCPデータの個数が予め定められた個数以
下であるか否かを判断する。ドライバに保持したTCP
データの個数が、予め定められた個数以下である場合に
は(S200にてYES)、処理はS116へ移され
る。もしそうでないと(S200にてNO)、処理はS
204へ移される。
【0081】S202にて、CPU120は、ドライバ
のバッファに保持したTCPデータの個数を更新する。
のバッファに保持したTCPデータの個数を更新する。
【0082】S204にて、CPU120は、TCPデ
ータを受信ウインドウに転送する。S206にて、CP
U120は、受信ウインドウの管理情報を更新する。
ータを受信ウインドウに転送する。S206にて、CP
U120は、受信ウインドウの管理情報を更新する。
【0083】S202およびS206における処理の
後、処理はS118へ移される。図10を参照して、T
CP受信要求を受取った場合において、S230にて、
CPU120は、ドライバのバッファに保持したTCP
データの個数を更新する。
後、処理はS118へ移される。図10を参照して、T
CP受信要求を受取った場合において、S230にて、
CPU120は、ドライバのバッファに保持したTCP
データの個数を更新する。
【0084】TCP周期処理要求を受取った場合におい
て、S260にて、CPU120は、ドライバのバッフ
ァに保持したTCPデータの個数を更新する。
て、S260にて、CPU120は、ドライバのバッフ
ァに保持したTCPデータの個数を更新する。
【0085】以上のような構造およびフローチャートに
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
【0086】図11〜13に、本実施の形態に係るPD
Aがイーサネット(R)からTCP/IPパケットを含
むイーサネット(R)フレームを受信した場合の処理の
手順を示す。本実施の形態においては、前述の第1の実
施の形態と同様に、TCPセグメントのデータを抽出し
た後、受信ウインドウへ転送せずに、ドライバのバッフ
ァに予め定められた時間まで保持する。ただし、第1の
実施の形態と異なり、ドライバのバッファに保持するデ
ータの個数は、予め定められた個数までという制限があ
る。すなわち、予め定められたデータの個数を超えるデ
ータを受信した場合には、受信したデータは、ドライバ
のバッファに保持されるのではなく、受信ウインドウへ
転送され、受信ウインドウにおいて保持される。
Aがイーサネット(R)からTCP/IPパケットを含
むイーサネット(R)フレームを受信した場合の処理の
手順を示す。本実施の形態においては、前述の第1の実
施の形態と同様に、TCPセグメントのデータを抽出し
た後、受信ウインドウへ転送せずに、ドライバのバッフ
ァに予め定められた時間まで保持する。ただし、第1の
実施の形態と異なり、ドライバのバッファに保持するデ
ータの個数は、予め定められた個数までという制限があ
る。すなわち、予め定められたデータの個数を超えるデ
ータを受信した場合には、受信したデータは、ドライバ
のバッファに保持されるのではなく、受信ウインドウへ
転送され、受信ウインドウにおいて保持される。
【0087】図11に、予め定められたデータの個数が
「2」の場合を示す。PDAで受信したデータD(0)
〜D(1)は、第1の実施の形態と同様に、各々予め定
められた時間を経過するまでは、アプリケーションタス
ク126から受信要求が発行されるまで、ドライバのバ
ッファに格納される(S200にてYES)。その後、
受信したデータD(2)〜D(3)は、ドライバのバッ
ファに保持する予め定められたデータの個数を超えるた
め(S200にてNO)、ドライバのバッファから受信
ウインドウに転送されて、受信ウインドウにて保持され
る。
「2」の場合を示す。PDAで受信したデータD(0)
〜D(1)は、第1の実施の形態と同様に、各々予め定
められた時間を経過するまでは、アプリケーションタス
ク126から受信要求が発行されるまで、ドライバのバ
ッファに格納される(S200にてYES)。その後、
受信したデータD(2)〜D(3)は、ドライバのバッ
ファに保持する予め定められたデータの個数を超えるた
め(S200にてNO)、ドライバのバッファから受信
ウインドウに転送されて、受信ウインドウにて保持され
る。
【0088】図12に、図11で示した処理の後で、か
つデータD(0)〜D(1)がドライバのバッファに保
持されている期間が予め定められた時間以内である場合
に、アプリケーションタスク126から受信要求が発行
された場合を示す。アプリケーションタスク126から
受信要求が発行されると(S130にてYES)、ドラ
イバのバッファに保持されたデータD(0)〜D(1)
に対応した管理情報を参照して、データD(0)〜D
(1)がドライバのバッファからアプリケーションタス
ク126により指定されたバッファへ転送される(S1
34)。ドライバのバッファから転送されたデータD
(0)〜D(1)に対応する管理情報が削除される(S
144)。
つデータD(0)〜D(1)がドライバのバッファに保
持されている期間が予め定められた時間以内である場合
に、アプリケーションタスク126から受信要求が発行
された場合を示す。アプリケーションタスク126から
受信要求が発行されると(S130にてYES)、ドラ
イバのバッファに保持されたデータD(0)〜D(1)
に対応した管理情報を参照して、データD(0)〜D
(1)がドライバのバッファからアプリケーションタス
ク126により指定されたバッファへ転送される(S1
34)。ドライバのバッファから転送されたデータD
(0)〜D(1)に対応する管理情報が削除される(S
144)。
【0089】受信ウインドウに保持されているデータが
あるか否かが判断され(S132)、データD(2)〜
D(3)が受信ウインドウからアプリケーションタスク
126により指定されたバッファに転送される(S13
4)。ここで、データD(0)〜D(3)の合計サイズ
がアプリケーションタスク126により指定されたバッ
ファのサイズよりも大きい場合には、データD(0)〜
D(3)の中からアプリケーションタスク126により
指定されたバッファのサイズに等しい分だけが転送さ
れ、残りのデータは引続き保持される。
あるか否かが判断され(S132)、データD(2)〜
D(3)が受信ウインドウからアプリケーションタスク
126により指定されたバッファに転送される(S13
4)。ここで、データD(0)〜D(3)の合計サイズ
がアプリケーションタスク126により指定されたバッ
ファのサイズよりも大きい場合には、データD(0)〜
D(3)の中からアプリケーションタスク126により
指定されたバッファのサイズに等しい分だけが転送さ
れ、残りのデータは引続き保持される。
【0090】図13に、図11で示した処理の後で、か
つデータD(0)〜D(1)がドライバのバッファに保
持されている期間が予め定められた時間を超えても、ア
プリケーションタスク126からTCPプロトコルのデ
ータ受信要求が発行されなかった場合を示す。ある時刻
Tにおいて、アプリケーションタスク126から受信要
求が発行されていない場合には、ドライバのバッファに
格納されたデータD(0)〜D(1)に対応する管理情
報を参照して、時刻Tから各々が保持された時刻T
(0)〜T(1)までの期間dT(0)〜dT(1)が
各々算出される(S162)。期間dT(0)〜dT
(1)が予め定められた時間を超える場合には(S16
4にてYES)、データD(0)〜D(1)が、ドライ
バのバッファから受信ウインドウに転送され(S16
6)、各データに対応する管理情報が削除される(S1
72)。
つデータD(0)〜D(1)がドライバのバッファに保
持されている期間が予め定められた時間を超えても、ア
プリケーションタスク126からTCPプロトコルのデ
ータ受信要求が発行されなかった場合を示す。ある時刻
Tにおいて、アプリケーションタスク126から受信要
求が発行されていない場合には、ドライバのバッファに
格納されたデータD(0)〜D(1)に対応する管理情
報を参照して、時刻Tから各々が保持された時刻T
(0)〜T(1)までの期間dT(0)〜dT(1)が
各々算出される(S162)。期間dT(0)〜dT
(1)が予め定められた時間を超える場合には(S16
4にてYES)、データD(0)〜D(1)が、ドライ
バのバッファから受信ウインドウに転送され(S16
6)、各データに対応する管理情報が削除される(S1
72)。
【0091】以上のようにして、本実施の形態に係る通
信デバイスを含むPDAは、予め定められた時間までに
アプリケーションタスクから受信要求が発行された場
合、データD(0)〜D(1)については受信ウインド
ウを介さずにドライバのバッファからアプリケーション
タスクにより指定されるバッファへ転送される。また、
ドライバのバッファに保持する個数が予め定められた個
数以下に制限しているため、ドライバのバッファの空き
容量を所定のデータの数だけ確保することができる。そ
のため、TCP/IPのパケットを含まないイーサネッ
ト(R)フレームを受信した場合や、PDA上で複数の
アプリケーションタスクが実行されており各々が複数の
装置と通信するような場合であっても、イーサネット
(R)コントローラで受信したイーサネット(R)フレ
ームをドライバのバッファへ転送できない確率を低減さ
せることができる。
信デバイスを含むPDAは、予め定められた時間までに
アプリケーションタスクから受信要求が発行された場
合、データD(0)〜D(1)については受信ウインド
ウを介さずにドライバのバッファからアプリケーション
タスクにより指定されるバッファへ転送される。また、
ドライバのバッファに保持する個数が予め定められた個
数以下に制限しているため、ドライバのバッファの空き
容量を所定のデータの数だけ確保することができる。そ
のため、TCP/IPのパケットを含まないイーサネッ
ト(R)フレームを受信した場合や、PDA上で複数の
アプリケーションタスクが実行されており各々が複数の
装置と通信するような場合であっても、イーサネット
(R)コントローラで受信したイーサネット(R)フレ
ームをドライバのバッファへ転送できない確率を低減さ
せることができる。
【0092】<第3の実施の形態>以下、本実施の形態
に係る通信デバイスを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
に係る通信デバイスを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
【0093】図14を参照して、本実施の形態に係る通
信デバイスを含むPDAで実行されるプログラムは、以
下のような制御構造を有する。なお、図14に示すフロ
ーチャートの中で、前述の図9に示したフローチャート
と同じ処理については、同じステップ番号を付してあ
る。それらの処理も同じである。したがって、それらに
ついての詳細な説明はここでは繰返さない。
信デバイスを含むPDAで実行されるプログラムは、以
下のような制御構造を有する。なお、図14に示すフロ
ーチャートの中で、前述の図9に示したフローチャート
と同じ処理については、同じステップ番号を付してあ
る。それらの処理も同じである。したがって、それらに
ついての詳細な説明はここでは繰返さない。
【0094】S300にて、CPU120は、送信順序
と空き個数とを比較し、ドライバのバッファに受信した
TCPデータを保持することが可能か否かを判断する。
送信順序と空き個数とを比較して、ドライバのバッファ
に受信したTCPデータを保持することが可能である場
合には(S300にてYES)、処理はS116へ移さ
れる。もしそうでないと(S300にてNO)、処理は
S204へ移される。
と空き個数とを比較し、ドライバのバッファに受信した
TCPデータを保持することが可能か否かを判断する。
送信順序と空き個数とを比較して、ドライバのバッファ
に受信したTCPデータを保持することが可能である場
合には(S300にてYES)、処理はS116へ移さ
れる。もしそうでないと(S300にてNO)、処理は
S204へ移される。
【0095】S116における処理の後、処理はS20
2およびS118へ移され、その後、処理はS104へ
戻される。
2およびS118へ移され、その後、処理はS104へ
戻される。
【0096】S204における処理の後、処理はS20
6およびS118に移され、その後、処理はS104へ
移される。
6およびS118に移され、その後、処理はS104へ
移される。
【0097】以上のような構造およびフローチャートに
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
【0098】図15〜17に、本発明の実施の形態に係
る通信デバイスを含むPDAがイーサネット(R)から
TCP/IPパケットを含むイーサネット(R)フレー
ムを受信した場合の処理を示す。ただし、送信側の通信
装置は、データD(0)、D(1)、D(2)、D
(3)を含むイーサネット(R)フレームを、その順に
送信すると想定し、受信側のPDAは、データD
(0)、D(2)、D(1)、D(3)を含むイーサネ
ット(R)フレームを、その順に受信すると想定する。
る通信デバイスを含むPDAがイーサネット(R)から
TCP/IPパケットを含むイーサネット(R)フレー
ムを受信した場合の処理を示す。ただし、送信側の通信
装置は、データD(0)、D(1)、D(2)、D
(3)を含むイーサネット(R)フレームを、その順に
送信すると想定し、受信側のPDAは、データD
(0)、D(2)、D(1)、D(3)を含むイーサネ
ット(R)フレームを、その順に受信すると想定する。
【0099】本実施の形態においては、第2の実施の形
態と同様に、TCPセグメントのデータを抽出した後、
抽出されたデータを受信ウインドウへ転送せずにドライ
バのバッファに予め定められた時間まで保持する。さら
に、ドライバのバッファに保持するデータの個数は予め
定められた個数とする。さらに、第2の実施の形態にお
いては、PDAで受信したデータ順に予め定められたデ
ータの個数までドライバのバッファに保持していたが、
本実施の形態においては、送信側の装置から送信したデ
ータ順であって、かつデータの個数が予め定められた個
数の範囲に収まるデータのみを、ドライバのバッファに
保持する。それ以外のデータについては、ドライバのバ
ッファから受信ウインドウへ転送される。
態と同様に、TCPセグメントのデータを抽出した後、
抽出されたデータを受信ウインドウへ転送せずにドライ
バのバッファに予め定められた時間まで保持する。さら
に、ドライバのバッファに保持するデータの個数は予め
定められた個数とする。さらに、第2の実施の形態にお
いては、PDAで受信したデータ順に予め定められたデ
ータの個数までドライバのバッファに保持していたが、
本実施の形態においては、送信側の装置から送信したデ
ータ順であって、かつデータの個数が予め定められた個
数の範囲に収まるデータのみを、ドライバのバッファに
保持する。それ以外のデータについては、ドライバのバ
ッファから受信ウインドウへ転送される。
【0100】図15〜16に、予め定められたデータの
個数が「2」の場合を示す。送信側の通信装置から、デ
ータD(0)、D(1)、D(2)、D(3)を含むイ
ーサネット(R)フレームが、その順に送信される。P
DAは、データD(0)、D(1)を受信すると(S3
00にてYES)、それらのデータが送信された順序に
従って処理する。PDAは、ドライバのバッファに、そ
れらのデータを送信された順序に従って、予め定められ
た時間まで保持する。その他のデータD(2)、D
(3)を受信した場合には(S300にてNO)、それ
らのデータは、ドライバのバッファから受信ウインドウ
に転送される(S204)。
個数が「2」の場合を示す。送信側の通信装置から、デ
ータD(0)、D(1)、D(2)、D(3)を含むイ
ーサネット(R)フレームが、その順に送信される。P
DAは、データD(0)、D(1)を受信すると(S3
00にてYES)、それらのデータが送信された順序に
従って処理する。PDAは、ドライバのバッファに、そ
れらのデータを送信された順序に従って、予め定められ
た時間まで保持する。その他のデータD(2)、D
(3)を受信した場合には(S300にてNO)、それ
らのデータは、ドライバのバッファから受信ウインドウ
に転送される(S204)。
【0101】ここで、データをドライバのバッファに保
持する期間には予め定められた期間以内であるという制
限があるため、データD(3)を受信するまでに、デー
タD(0)がドライバのバッファで予め定められた時間
だけ保持されたが、それまでにアプリケーションタスク
126から受信要求が発行されなかった場合には、図1
7に示すようになる。すなわち、データD(0)は受信
ウインドウへ転送され、転送された後は、ドライバのバ
ッファに保持されているデータ数が「1」になる。その
ため、データD(3)を受信した場合には、ドライバの
バッファで保持されることになる。
持する期間には予め定められた期間以内であるという制
限があるため、データD(3)を受信するまでに、デー
タD(0)がドライバのバッファで予め定められた時間
だけ保持されたが、それまでにアプリケーションタスク
126から受信要求が発行されなかった場合には、図1
7に示すようになる。すなわち、データD(0)は受信
ウインドウへ転送され、転送された後は、ドライバのバ
ッファに保持されているデータ数が「1」になる。その
ため、データD(3)を受信した場合には、ドライバの
バッファで保持されることになる。
【0102】以上のようにして、本実施の形態に係る通
信デバイスを含むPDAによると、データの受信順序で
はなくデータの送信順序に基づいてデータ処理を行な
う。一般的にアプリケーションタスクにおいては、送信
側の通信装置から送信されたデータの順序で、TCPデ
ータの受信要求を発行する。このような場合には、送信
側から送信されたデータの中で、後で送信されたデータ
はそれよりも先に送信されたデータと、同一の時刻か、
それよりも後で、アプリケーションタスクから受信要求
が発行される。そのため、送信時の順序を基準として、
ドライバのバッファへ保持する個数を予め定められた個
数として制限した方が、受信した順序を基準として保持
する場合よりも、予め定められた時間を過ぎて受信ウイ
ンドウへ転送されるデータの個数を低減させることがで
きる。
信デバイスを含むPDAによると、データの受信順序で
はなくデータの送信順序に基づいてデータ処理を行な
う。一般的にアプリケーションタスクにおいては、送信
側の通信装置から送信されたデータの順序で、TCPデ
ータの受信要求を発行する。このような場合には、送信
側から送信されたデータの中で、後で送信されたデータ
はそれよりも先に送信されたデータと、同一の時刻か、
それよりも後で、アプリケーションタスクから受信要求
が発行される。そのため、送信時の順序を基準として、
ドライバのバッファへ保持する個数を予め定められた個
数として制限した方が、受信した順序を基準として保持
する場合よりも、予め定められた時間を過ぎて受信ウイ
ンドウへ転送されるデータの個数を低減させることがで
きる。
【0103】<第4の実施の形態>以下、本実施の形態
に係る通信デバイスを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
に係る通信デバイスを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
【0104】本実施の形態に係るPDAにおける処理
は、前述の第2の実施の形態および第3の実施の形態に
おいて、受信したデータを予め定められた個数を基準と
して、ドライバのバッファで保持するか否かを判断して
いたことに対し、異なる基準を有する。
は、前述の第2の実施の形態および第3の実施の形態に
おいて、受信したデータを予め定められた個数を基準と
して、ドライバのバッファで保持するか否かを判断して
いたことに対し、異なる基準を有する。
【0105】本実施の形態においては、予め定められた
個数ではなく、予め定められたデータのサイズを基準と
して、ドライバのバッファにデータを保持する。すなわ
ち、ドライバのバッファに保持されたデータの合計サイ
ズと、受信したデータのサイズの合計が、予め定められ
たデータサイズ以下であれば、受信したデータをドライ
バのバッファに保持する。一方、ドライバのバッファに
保持されたデータの合計サイズと、受信したデータのサ
イズの合計が、予め定められたデータサイズを超える場
合には、受信したデータのすべてまたは受信したデータ
の一部を受信ウインドウに転送する。
個数ではなく、予め定められたデータのサイズを基準と
して、ドライバのバッファにデータを保持する。すなわ
ち、ドライバのバッファに保持されたデータの合計サイ
ズと、受信したデータのサイズの合計が、予め定められ
たデータサイズ以下であれば、受信したデータをドライ
バのバッファに保持する。一方、ドライバのバッファに
保持されたデータの合計サイズと、受信したデータのサ
イズの合計が、予め定められたデータサイズを超える場
合には、受信したデータのすべてまたは受信したデータ
の一部を受信ウインドウに転送する。
【0106】このようにして、本実施の形態に係る通信
デバイスを含むPDAにおいては、前述の第2の実施の
形態および第3の実施の形態と異なり、データの個数の
代わりにデータサイズを基準として処理する。これ以外
の処理については前述の第2の実施の形態および第3の
実施の形態と同じである。したがって、それらについて
の詳細な説明はここでは繰返さない。
デバイスを含むPDAにおいては、前述の第2の実施の
形態および第3の実施の形態と異なり、データの個数の
代わりにデータサイズを基準として処理する。これ以外
の処理については前述の第2の実施の形態および第3の
実施の形態と同じである。したがって、それらについて
の詳細な説明はここでは繰返さない。
【0107】以上のようにして、本実施の形態に係る通
信デバイスを含むPDAは、受信したデータの個数を基
準にドライバのバッファにデータを保持するかどうかを
決定するのではなく、ドライバのバッファに保持された
データの合計サイズと受信したデータのサイズの合計と
予め定められたデータサイズとを比較して受信したデー
タをドライバのバッファに保持するか否かを決定する。
これにより、受信したデータのサイズが比較的小さい場
合には、受信した各々のデータサイズが比較的大きい場
合に比べて、ドライバのバッファの空きが増加する。す
なわち、ドライバのバッファの空きが増えた分だけ、有
効に利用することができる。
信デバイスを含むPDAは、受信したデータの個数を基
準にドライバのバッファにデータを保持するかどうかを
決定するのではなく、ドライバのバッファに保持された
データの合計サイズと受信したデータのサイズの合計と
予め定められたデータサイズとを比較して受信したデー
タをドライバのバッファに保持するか否かを決定する。
これにより、受信したデータのサイズが比較的小さい場
合には、受信した各々のデータサイズが比較的大きい場
合に比べて、ドライバのバッファの空きが増加する。す
なわち、ドライバのバッファの空きが増えた分だけ、有
効に利用することができる。
【0108】<第5の実施の形態>以下、本実施の形態
に係る通信デバイスを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
に係る通信デバイスを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
【0109】図18を参照して、本実施の形態に係る通
信デバイスを含むPDAで実行されるプログラムは、以
下のような制御構造を有する。なお、図18に示すフロ
ーチャートの中で、前述の図4に示したフローチャート
と同じ処理については同じステップ番号を付してある。
それらについての処理も同じである。したがって、それ
らについての詳細な説明はここでは繰返さない。
信デバイスを含むPDAで実行されるプログラムは、以
下のような制御構造を有する。なお、図18に示すフロ
ーチャートの中で、前述の図4に示したフローチャート
と同じ処理については同じステップ番号を付してある。
それらについての処理も同じである。したがって、それ
らについての詳細な説明はここでは繰返さない。
【0110】S500に、CPU120は、アプリケー
ションタスクから、TCP受信要求を受取り、かつTC
P受信完了が未通知であるか否かを判断する。すなわ
ち、アプリケーションタスク126からのデータ受信要
求が待たされているか否かを判断する。アプリケーショ
ンタスクからTCP受信要求を受取り、かつTCP受信
完了を未通知の場合には(S500にてYES)、処理
はS502へ移される。もしそうでないと(S500に
てNO)、処理はS116へ移される。
ションタスクから、TCP受信要求を受取り、かつTC
P受信完了が未通知であるか否かを判断する。すなわ
ち、アプリケーションタスク126からのデータ受信要
求が待たされているか否かを判断する。アプリケーショ
ンタスクからTCP受信要求を受取り、かつTCP受信
完了を未通知の場合には(S500にてYES)、処理
はS502へ移される。もしそうでないと(S500に
てNO)、処理はS116へ移される。
【0111】S502にて、CPU120は、ドライバ
のバッファからアプリケーションタスクが指定したバッ
ファ領域へ、TCPデータを転送する。S504にて、
CPU120は、TCPデータが格納されていたドライ
バのバッファの領域を解放する。その後、処理はS11
8へ移され、さらにその後、処理はS104へ戻され
る。
のバッファからアプリケーションタスクが指定したバッ
ファ領域へ、TCPデータを転送する。S504にて、
CPU120は、TCPデータが格納されていたドライ
バのバッファの領域を解放する。その後、処理はS11
8へ移され、さらにその後、処理はS104へ戻され
る。
【0112】S116における処理の後、処理はS11
8へ移され、さらに処理はS104へ戻される。
8へ移され、さらに処理はS104へ戻される。
【0113】以上のような構造およびフローチャートに
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
【0114】図19〜20に、本実施の形態に係る通信
デバイスを含むPDAのアプリケーションタスク126
からの受信要求が待たされている場合に、イーサネット
(R)からTCP/IPパケットを含むイーサネット
(R)フレームを受信した場合の処理を示す。
デバイスを含むPDAのアプリケーションタスク126
からの受信要求が待たされている場合に、イーサネット
(R)からTCP/IPパケットを含むイーサネット
(R)フレームを受信した場合の処理を示す。
【0115】図19に示すように、アプリケーションタ
スク126から受信要求が発行された時点では、受信ウ
インドウおよびドライバのバッファにデータが保持され
ていない。このため、アプリケーションタスク126か
ら発行された受信要求が待ち状態に入っていることを示
す。
スク126から受信要求が発行された時点では、受信ウ
インドウおよびドライバのバッファにデータが保持され
ていない。このため、アプリケーションタスク126か
ら発行された受信要求が待ち状態に入っていることを示
す。
【0116】図20に、アプリケーションタスク126
からの受信要求が待たされている場合において(図1
9)、TCP/IPパケットを含むイーサネット(R)
フレームを受信した場合の処理を示す。図20に示すよ
うに、イーサネット(R)コントローラ110は、イー
サネット(R)上を流れるイーサネット(R)フレーム
の中から、イーサネット(R)アドレスが自局宛のフレ
ームを検出する。イーサネット(R)コントローラ11
0は、受信したフレームをメモリに格納する。イーサネ
ット(R)コントローラ110は、イーサネット(R)
ドライバ122に対して、フレームを受信したことを通
知する。
からの受信要求が待たされている場合において(図1
9)、TCP/IPパケットを含むイーサネット(R)
フレームを受信した場合の処理を示す。図20に示すよ
うに、イーサネット(R)コントローラ110は、イー
サネット(R)上を流れるイーサネット(R)フレーム
の中から、イーサネット(R)アドレスが自局宛のフレ
ームを検出する。イーサネット(R)コントローラ11
0は、受信したフレームをメモリに格納する。イーサネ
ット(R)コントローラ110は、イーサネット(R)
ドライバ122に対して、フレームを受信したことを通
知する。
【0117】イーサネット(R)ドライバ122は、イ
ーサネット(R)コントローラ110から受信したフレ
ームを、ドライバのバッファに転送する。TCP/IP
タスク124においては、ドライバのバッファに格納さ
れたイーサネット(R)フレーム、イーサネット(R)
フレームに含まれるIPデータグラム、IPデータグラ
ムに含まれるTCPセグメントのヘッダ情報やデータを
解析して、自局宛であるか否か、データに誤りがないか
否かなどを判断して、最終的にTCPセグメントのデー
タD(0)を抽出する。そして、抽出されたデータD
(0)を受信ウインドウを介さずに、ドライバのバッフ
ァから直接アプリケーションタスク126により指定さ
れたバッファに転送する。
ーサネット(R)コントローラ110から受信したフレ
ームを、ドライバのバッファに転送する。TCP/IP
タスク124においては、ドライバのバッファに格納さ
れたイーサネット(R)フレーム、イーサネット(R)
フレームに含まれるIPデータグラム、IPデータグラ
ムに含まれるTCPセグメントのヘッダ情報やデータを
解析して、自局宛であるか否か、データに誤りがないか
否かなどを判断して、最終的にTCPセグメントのデー
タD(0)を抽出する。そして、抽出されたデータD
(0)を受信ウインドウを介さずに、ドライバのバッフ
ァから直接アプリケーションタスク126により指定さ
れたバッファに転送する。
【0118】以上のようにして、本実施の形態に係るP
DAは、アプリケーションタスクからの受信要求が先に
発行された場合であっても、後から受信したデータを受
信ウインドウを介さずにドライバのバッファからアプリ
ケーションタスクにより指定されるバッファへデータ転
送される。これにより、従来の方式よりも、データ転送
の回数を低減させることができる。その結果、TCPプ
ロトコル処理に関する消費電力を低減させることができ
る。
DAは、アプリケーションタスクからの受信要求が先に
発行された場合であっても、後から受信したデータを受
信ウインドウを介さずにドライバのバッファからアプリ
ケーションタスクにより指定されるバッファへデータ転
送される。これにより、従来の方式よりも、データ転送
の回数を低減させることができる。その結果、TCPプ
ロトコル処理に関する消費電力を低減させることができ
る。
【0119】<第6の実施の形態>以下、本実施の形態
に係る通信デバイスを含むPDAについて説明する。本
実施の形態に係るPDAのハードウェア構成は、前述の
第1の実施の形態に係るPDAのハードウェア構成と同
じである。したがって、それらについての詳細な説明は
ここでは繰返さない。
に係る通信デバイスを含むPDAについて説明する。本
実施の形態に係るPDAのハードウェア構成は、前述の
第1の実施の形態に係るPDAのハードウェア構成と同
じである。したがって、それらについての詳細な説明は
ここでは繰返さない。
【0120】図21を参照して、本実施の形態に係る通
信デバイスを含むPDAで実行されるプログラムは、以
下のような制御構造を有する。なお、図21に示すフロ
ーチャートの中で、前述の図18に示したフローチャー
トと同じ処理については同じステップ番号を付してあ
る。それらについての処理も同じである。したがって、
それらについての詳細な説明はここでは繰返さない。
信デバイスを含むPDAで実行されるプログラムは、以
下のような制御構造を有する。なお、図21に示すフロ
ーチャートの中で、前述の図18に示したフローチャー
トと同じ処理については同じステップ番号を付してあ
る。それらについての処理も同じである。したがって、
それらについての詳細な説明はここでは繰返さない。
【0121】アプリケーションタスクからTCP受信要
求を受取り、かつTCP受信完了を未通知である場合に
は、S600にて、CPU120は、処理Eを行なう。
求を受取り、かつTCP受信完了を未通知である場合に
は、S600にて、CPU120は、処理Eを行なう。
【0122】図22を参照して、S600の処理Eにつ
いて説明する。S630にて、CPU120は、受信し
たTCPデータのサイズがアプリケーションタスクによ
り指定されたバッファ領域のサイズよりも大きいか否か
を判断する。受信したTCPデータのサイズがアプリケ
ーションタスクにより指定されたバッファ領域のサイズ
よりも大きい場合には(S630にてYES)、処理は
S632へ移される。もしそうでないと(S630にて
NO)、処理はS638へ移される。
いて説明する。S630にて、CPU120は、受信し
たTCPデータのサイズがアプリケーションタスクによ
り指定されたバッファ領域のサイズよりも大きいか否か
を判断する。受信したTCPデータのサイズがアプリケ
ーションタスクにより指定されたバッファ領域のサイズ
よりも大きい場合には(S630にてYES)、処理は
S632へ移される。もしそうでないと(S630にて
NO)、処理はS638へ移される。
【0123】S632にて、CPU120は、アプリケ
ーションタスクにより指定されたバッファ領域のサイズ
分のデータを、ドライバのバッファからアプリケーショ
ンタスクにより指定されたバッファ領域へ、TCPデー
タを転送する。S634にて、CPU120は、転送さ
れたTCPデータを格納していたドライバのバッファ領
域を解放する。S636にて、CPU120は、転送さ
れなかったTCPデータを、ドライバのバッファで保持
するための管理情報を作成する。この管理情報には、T
CPデータを抽出した時刻やTCPデータの格納領域な
どが含まれる。このS636における処理の後、処理は
S118へ移される。
ーションタスクにより指定されたバッファ領域のサイズ
分のデータを、ドライバのバッファからアプリケーショ
ンタスクにより指定されたバッファ領域へ、TCPデー
タを転送する。S634にて、CPU120は、転送さ
れたTCPデータを格納していたドライバのバッファ領
域を解放する。S636にて、CPU120は、転送さ
れなかったTCPデータを、ドライバのバッファで保持
するための管理情報を作成する。この管理情報には、T
CPデータを抽出した時刻やTCPデータの格納領域な
どが含まれる。このS636における処理の後、処理は
S118へ移される。
【0124】S638にて、CPU120は、ドライバ
のバッファからアプリケーションタスクにより指定され
るバッファ領域へ、TCPデータを転送する。S640
にて、CPU120は、TCPデータが格納されていた
ドライバのバッファ領域を解放する。その後、処理はS
118へ移される。
のバッファからアプリケーションタスクにより指定され
るバッファ領域へ、TCPデータを転送する。S640
にて、CPU120は、TCPデータが格納されていた
ドライバのバッファ領域を解放する。その後、処理はS
118へ移される。
【0125】以上のような構造およびフローチャートに
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
【0126】図23〜26に、本実施の形態に係る通信
デバイスを含むPDAにおけるバッファ間のデータ転送
の手順を示す。本実施の形態においては、PDAのアプ
リケーションタスク126から受信要求が発行された時
点では、受信ウインドウおよびドライバのバッファには
データが保持されていない。データを受信するまでアプ
リケーションタスク126からの受信要求が待たされて
いる場合に、イーサネット(R)からTCP/IPパケ
ットを含むイーサネット(R)フレームを受信した場合
の処理を示す。ここで、送信側の通信装置は、データD
(0)、D(1)、D(2)、D(3)を含むイーサネ
ット(R)フレームをその順に送信するものと想定し、
受信側のPDAは、データD(2)、D(3)、D
(1)、D(0)を含むイーサネット(R)フレーム
を、その順に受信すると想定する。
デバイスを含むPDAにおけるバッファ間のデータ転送
の手順を示す。本実施の形態においては、PDAのアプ
リケーションタスク126から受信要求が発行された時
点では、受信ウインドウおよびドライバのバッファには
データが保持されていない。データを受信するまでアプ
リケーションタスク126からの受信要求が待たされて
いる場合に、イーサネット(R)からTCP/IPパケ
ットを含むイーサネット(R)フレームを受信した場合
の処理を示す。ここで、送信側の通信装置は、データD
(0)、D(1)、D(2)、D(3)を含むイーサネ
ット(R)フレームをその順に送信するものと想定し、
受信側のPDAは、データD(2)、D(3)、D
(1)、D(0)を含むイーサネット(R)フレーム
を、その順に受信すると想定する。
【0127】本実施の形態においては、第5の実施の形
態と同様に、抽出されたTCPセグメントのデータは、
受信ウインドウに転送せずにドライバのバッファからア
プリケーションタスクが指定したバッファへデータが転
送される。ただし、アプリケーションタスクが指定した
バッファに収まるデータのみが転送され、それを超える
データについてはドライバのバッファに保持される。こ
こで、ドライバのバッファに保持する時間は、予め定め
られた時間までとする。さらに、データをドライバのバ
ッファに保持した場合には、データを抽出した時刻とデ
ータのメモリ配置アドレス情報やサイズなどを管理する
情報が作成される(S116)。
態と同様に、抽出されたTCPセグメントのデータは、
受信ウインドウに転送せずにドライバのバッファからア
プリケーションタスクが指定したバッファへデータが転
送される。ただし、アプリケーションタスクが指定した
バッファに収まるデータのみが転送され、それを超える
データについてはドライバのバッファに保持される。こ
こで、ドライバのバッファに保持する時間は、予め定め
られた時間までとする。さらに、データをドライバのバ
ッファに保持した場合には、データを抽出した時刻とデ
ータのメモリ配置アドレス情報やサイズなどを管理する
情報が作成される(S116)。
【0128】ドライバのバッファに保持されたデータ
は、予め定められた時間までにアプリケーションタスク
126から受信要求が発行された場合には、アプリケー
ションタスク126の指定するバッファへ転送される。
一方、予め定められた時間までにアプリケーションタス
ク126から受信要求が発行されなかった場合には、デ
ータは、ドライバのバッファから受信ウインドウへ転送
される。
は、予め定められた時間までにアプリケーションタスク
126から受信要求が発行された場合には、アプリケー
ションタスク126の指定するバッファへ転送される。
一方、予め定められた時間までにアプリケーションタス
ク126から受信要求が発行されなかった場合には、デ
ータは、ドライバのバッファから受信ウインドウへ転送
される。
【0129】図23に示すように、まずデータD(2)
を含むイーサネット(R)フレームが受信された場合、
第5の実施の形態と同様にして、データD(2)が抽出
される。その後、データD(2)は、アプリケーション
タスク126により指定されたバッファに収まるので
(S630にてNO)、アプリケーションタスク126
により指定されたバッファに転送される。データD
(3)を含むイーサネット(R)フレームが受信される
と、データD(3)が抽出されるが、データD(3)は
アプリケーションタスク126により指定されたバッフ
ァに収まらない(S630にてYES)、そのため、デ
ータD(3)はドライバのバッファに保持される。その
際に、データD(3)を抽出した時刻T(3)とデータ
D(3)のメモリ配置アドレス情報やサイズなどを管理
するための情報が作成される(S636)。この時点で
は、データD(2)より前に送信されたデータが欠落し
ているため、アプリケーションタスク126から発行さ
れた受信要求は引続き待たされることになる。
を含むイーサネット(R)フレームが受信された場合、
第5の実施の形態と同様にして、データD(2)が抽出
される。その後、データD(2)は、アプリケーション
タスク126により指定されたバッファに収まるので
(S630にてNO)、アプリケーションタスク126
により指定されたバッファに転送される。データD
(3)を含むイーサネット(R)フレームが受信される
と、データD(3)が抽出されるが、データD(3)は
アプリケーションタスク126により指定されたバッフ
ァに収まらない(S630にてYES)、そのため、デ
ータD(3)はドライバのバッファに保持される。その
際に、データD(3)を抽出した時刻T(3)とデータ
D(3)のメモリ配置アドレス情報やサイズなどを管理
するための情報が作成される(S636)。この時点で
は、データD(2)より前に送信されたデータが欠落し
ているため、アプリケーションタスク126から発行さ
れた受信要求は引続き待たされることになる。
【0130】図24に、その後、データD(1)、D
(0)を含むイーサネット(R)フレームを受信した場
合を示す。PDAは、抽出したデータD(0)、D
(1)は、アプリケーションタスク126により指定さ
れたバッファに収まるので(S630にてNO)、アプ
リケーションタスク126により指定されたバッファに
転送される(S632)。この時点では、連続したデー
タD(0)からD(2)までのデータを受信することが
できたため、アプリケーションタスク126から発行さ
れた受信要求の待ちが解除される。
(0)を含むイーサネット(R)フレームを受信した場
合を示す。PDAは、抽出したデータD(0)、D
(1)は、アプリケーションタスク126により指定さ
れたバッファに収まるので(S630にてNO)、アプ
リケーションタスク126により指定されたバッファに
転送される(S632)。この時点では、連続したデー
タD(0)からD(2)までのデータを受信することが
できたため、アプリケーションタスク126から発行さ
れた受信要求の待ちが解除される。
【0131】図25に、データD(3)が、ドライバの
バッファに保持されている時間が予め定められた時間以
下である場合に、再度アプリケーションタスク126か
ら受信要求が発行された場合を示す。アプリケーション
タスク126から受信要求が発行されると、ドライバの
バッファに保持されたデータD(3)に対応した管理情
報が参照されて、データD(3)がドライバのバッファ
からアプリケーションタスク126により指定されるバ
ッファへ転送される。転送されたデータD(3)に対応
した管理情報が削除される。
バッファに保持されている時間が予め定められた時間以
下である場合に、再度アプリケーションタスク126か
ら受信要求が発行された場合を示す。アプリケーション
タスク126から受信要求が発行されると、ドライバの
バッファに保持されたデータD(3)に対応した管理情
報が参照されて、データD(3)がドライバのバッファ
からアプリケーションタスク126により指定されるバ
ッファへ転送される。転送されたデータD(3)に対応
した管理情報が削除される。
【0132】図25に、ドライバのバッファに保持され
たデータD(3)のサイズが、アプリケーションタスク
126により指定されたバッファのサイズ以下である場
合を示した。ドライバのバッファに保持されたデータD
(3)のサイズが、アプリケーションタスク126によ
り指定されたバッファのサイズを超える場合について
は、ドライバのバッファに保持されたデータD(3)を
アプリケーションタスクが指定したバッファのサイズに
等しい分だけ転送する。転送されなかった残りのデータ
については、引続きドライバのバッファに保持するとと
もに、データD(3)に対応するように、管理情報が更
新される。
たデータD(3)のサイズが、アプリケーションタスク
126により指定されたバッファのサイズ以下である場
合を示した。ドライバのバッファに保持されたデータD
(3)のサイズが、アプリケーションタスク126によ
り指定されたバッファのサイズを超える場合について
は、ドライバのバッファに保持されたデータD(3)を
アプリケーションタスクが指定したバッファのサイズに
等しい分だけ転送する。転送されなかった残りのデータ
については、引続きドライバのバッファに保持するとと
もに、データD(3)に対応するように、管理情報が更
新される。
【0133】図26に、データD(3)のドライバのバ
ッファに保持されている時間が予め定められた時間を超
えるまで、再度アプリケーションタスク126から受信
要求が発行されなかった場合を示す。ある時刻Tにおい
て、アプリケーションタスク126から受信要求が発行
されていない場合には、ドライバのバッファに格納され
たデータD(3)に対応した管理情報が参照されて、時
刻TからデータD(3)が保持された時刻T(3)まで
の期間dT(3)が算出される。期間dT(3)が予め
定められた時間を超える場合には、データD(3)がド
ライバのバッファから受信ウインドウに転送される。そ
のとき、データD(3)に対応する管理情報が削除され
る。
ッファに保持されている時間が予め定められた時間を超
えるまで、再度アプリケーションタスク126から受信
要求が発行されなかった場合を示す。ある時刻Tにおい
て、アプリケーションタスク126から受信要求が発行
されていない場合には、ドライバのバッファに格納され
たデータD(3)に対応した管理情報が参照されて、時
刻TからデータD(3)が保持された時刻T(3)まで
の期間dT(3)が算出される。期間dT(3)が予め
定められた時間を超える場合には、データD(3)がド
ライバのバッファから受信ウインドウに転送される。そ
のとき、データD(3)に対応する管理情報が削除され
る。
【0134】以上のようにして、本実施の形態に係る通
信デバイスを含むPDAは、データD(0)〜D(2)
は、受信ウインドウを介さずにドライバのバッファから
アプリケーションタスクにより指定されたバッファに転
送される。これにより、従来方式よりもデータ転送の回
数を低減させることができる。またデータD(3)につ
いても、予め定められた時間までにアプリケーションタ
スクにより受信要求が発行されると、受信ウインドウを
介さずにドライバのバッファからアプリケーションタス
クにより指定されるバッファへデータが転送されるた
め、従来方式よりもデータ転送の回数を低減させること
ができる。さらに、予め定められた時間を超えても、ア
プリケーションタスクから受信要求が発行されなかった
場合には、ドライバに保持されたデータD(3)は受信
ウインドウに転送されるため、ドライバのバッファがデ
ータD(3)のように占有される確率は、時間的な制限
がない場合に比べて、低減されることになる。そのた
め、TCP/IPのパケットを含まないイーサネット
(R)フレームを受信した場合や、PDA上で複数のア
プリケーションタスクが実行されていて各々のアプリケ
ーションタスクが他の装置と通信するような場合であっ
ても、ネットワークコントローラで受信したイーサネッ
ト(R)フレームをドライバのバッファへ転送できない
確率を低減させることができる。
信デバイスを含むPDAは、データD(0)〜D(2)
は、受信ウインドウを介さずにドライバのバッファから
アプリケーションタスクにより指定されたバッファに転
送される。これにより、従来方式よりもデータ転送の回
数を低減させることができる。またデータD(3)につ
いても、予め定められた時間までにアプリケーションタ
スクにより受信要求が発行されると、受信ウインドウを
介さずにドライバのバッファからアプリケーションタス
クにより指定されるバッファへデータが転送されるた
め、従来方式よりもデータ転送の回数を低減させること
ができる。さらに、予め定められた時間を超えても、ア
プリケーションタスクから受信要求が発行されなかった
場合には、ドライバに保持されたデータD(3)は受信
ウインドウに転送されるため、ドライバのバッファがデ
ータD(3)のように占有される確率は、時間的な制限
がない場合に比べて、低減されることになる。そのた
め、TCP/IPのパケットを含まないイーサネット
(R)フレームを受信した場合や、PDA上で複数のア
プリケーションタスクが実行されていて各々のアプリケ
ーションタスクが他の装置と通信するような場合であっ
ても、ネットワークコントローラで受信したイーサネッ
ト(R)フレームをドライバのバッファへ転送できない
確率を低減させることができる。
【0135】<第7の実施の形態>以下、本実施の形態
に係る通信デバイスを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
に係る通信デバイスを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
【0136】図27を参照して、本実施の形態に係るP
DAで実行されるプログラムは、以下のような制御構造
を有する。なお、図27に示すフローチャートの中で、
前述の図21に示したフローチャートと同じ処理につい
ては同じステップ番号を付してある。それらについての
処理も同じである。したがって、それらについての詳細
な説明はここでは繰返さない。
DAで実行されるプログラムは、以下のような制御構造
を有する。なお、図27に示すフローチャートの中で、
前述の図21に示したフローチャートと同じ処理につい
ては同じステップ番号を付してある。それらについての
処理も同じである。したがって、それらについての詳細
な説明はここでは繰返さない。
【0137】S500にて、CPU120は、アプリケ
ーションタスクからTCP受信要求を受取り、かつTC
P受信完了を未通知であるか否かを判断する。アプリケ
ーションタスクからTCP受信要求を受取りかつTCP
受信完了を未通知である場合には(S500にてYE
S)、処理はS708へ移される。もしそうでないと
(S500にてNO)、処理はS700へ移される。
ーションタスクからTCP受信要求を受取り、かつTC
P受信完了を未通知であるか否かを判断する。アプリケ
ーションタスクからTCP受信要求を受取りかつTCP
受信完了を未通知である場合には(S500にてYE
S)、処理はS708へ移される。もしそうでないと
(S500にてNO)、処理はS700へ移される。
【0138】S700にて、CPU120は、ドライバ
に保持したTCPデータの個数が予め定められた個数以
下であるか否かを判断する。ドライバに保持されたTC
Pデータの個数が予め定められた個数以下である場合に
は(S700にてYES)、処理はS116へ移され
る。もしそうでないと(S700にてNO)、処理はS
704へ移される。
に保持したTCPデータの個数が予め定められた個数以
下であるか否かを判断する。ドライバに保持されたTC
Pデータの個数が予め定められた個数以下である場合に
は(S700にてYES)、処理はS116へ移され
る。もしそうでないと(S700にてNO)、処理はS
704へ移される。
【0139】S702にて、CPU120は、ドライバ
のバッファに保持したTCPデータの個数を更新する。
その後、処理はS118に移され、さらに処理はS10
4へ移される。
のバッファに保持したTCPデータの個数を更新する。
その後、処理はS118に移され、さらに処理はS10
4へ移される。
【0140】S704にて、CPU120は、TCPデ
ータを受信ウインドウに転送する。S706にて、CP
U120は、受信ウインドウの管理情報を更新する。そ
の後処理はS118へ移され、さらに処理はS104へ
移される。
ータを受信ウインドウに転送する。S706にて、CP
U120は、受信ウインドウの管理情報を更新する。そ
の後処理はS118へ移され、さらに処理はS104へ
移される。
【0141】S708にて、CPU120は、処理Fを
行なう。図28を参照して、S708の処理Fについて
説明する。なお、図28に示すフローチャートの中で、
前述の図22に示したフローチャートと同じ処理につい
ては同じステップ番号を付してある。それらについての
処理も同じである。したがって、それらについての詳細
な説明はここでは繰返さない。
行なう。図28を参照して、S708の処理Fについて
説明する。なお、図28に示すフローチャートの中で、
前述の図22に示したフローチャートと同じ処理につい
ては同じステップ番号を付してある。それらについての
処理も同じである。したがって、それらについての詳細
な説明はここでは繰返さない。
【0142】S730にて、CPU120は、ドライバ
に保持したTCPデータの個数が予め定められた個数以
下であるか否かを判断する。ドライバに保持されたTC
Pデータの個数が予め定められた個数以下である場合に
は(S730にてYES)、処理はS636へ移され
る。もしそうでないと(S730にてNO)、処理はS
734へ移される。
に保持したTCPデータの個数が予め定められた個数以
下であるか否かを判断する。ドライバに保持されたTC
Pデータの個数が予め定められた個数以下である場合に
は(S730にてYES)、処理はS636へ移され
る。もしそうでないと(S730にてNO)、処理はS
734へ移される。
【0143】S732にて、CPU120は、ドライバ
のバッファに応じたTCPデータの個数を更新する。そ
の後、処理はS118へ移される。
のバッファに応じたTCPデータの個数を更新する。そ
の後、処理はS118へ移される。
【0144】S734にて、CPU120は、転送され
なかったTCPデータをドライバのバッファから受信ウ
インドウに転送する。S736にて、CPU120は、
受信ウインドウの管理情報を更新する。その後、処理は
S118に移される。
なかったTCPデータをドライバのバッファから受信ウ
インドウに転送する。S736にて、CPU120は、
受信ウインドウの管理情報を更新する。その後、処理は
S118に移される。
【0145】以上のような構造およびフローチャートに
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。本実施の形態においては、第
6の実施の形態と同様にして、抽出されたTCPセグメ
ントのデータは、受信ウインドウへ転送せずに、ドライ
バのバッファからアプリケーションタスクにより指定さ
れたバッファへ転送される。ただし、アプリケーション
タスクにより指定されたバッファに収まるデータのみが
転送され、そうではないデータについては、ドライバの
バッファに保持される。
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。本実施の形態においては、第
6の実施の形態と同様にして、抽出されたTCPセグメ
ントのデータは、受信ウインドウへ転送せずに、ドライ
バのバッファからアプリケーションタスクにより指定さ
れたバッファへ転送される。ただし、アプリケーション
タスクにより指定されたバッファに収まるデータのみが
転送され、そうではないデータについては、ドライバの
バッファに保持される。
【0146】データがドライバのバッファに保持される
のは、第6の実施の形態で説明した予め定められた時間
以内であるという条件に加えて、本実施の形態において
はドライバのバッファに保持されたデータの個数が予め
定められた個数以下であるという条件である(S700
にてYES、S730にてYES)。予め定められた個
数を基準として、データをドライバのバッファに保持す
る動作については、第2の実施の形態と同様であるた
め、ここでの詳細な説明は繰返さない。
のは、第6の実施の形態で説明した予め定められた時間
以内であるという条件に加えて、本実施の形態において
はドライバのバッファに保持されたデータの個数が予め
定められた個数以下であるという条件である(S700
にてYES、S730にてYES)。予め定められた個
数を基準として、データをドライバのバッファに保持す
る動作については、第2の実施の形態と同様であるた
め、ここでの詳細な説明は繰返さない。
【0147】以上のようにして、本実施の形態に係る通
信デバイスを含むPDAは、第6の実施の形態の動作に
加えて、ドライバのバッファに保持されるデータの個数
を予め定められた数以下に制限しているため、ドライバ
のバッファの空き領域を予め定められたデータの個数だ
け確保することができる。そのため、TCP/IPのパ
ケットを含まないイーサネット(R)フレームを受信し
た場合やPDA上で複数のアプリケーションタスクが実
行されており、各々のアプリケーションタスクが複数の
装置と通信するような場合であっても、ネットワークコ
ントローラで受信したイーサネット(R)フレームをド
ライバのバッファに転送できない確率を低減させること
ができる。
信デバイスを含むPDAは、第6の実施の形態の動作に
加えて、ドライバのバッファに保持されるデータの個数
を予め定められた数以下に制限しているため、ドライバ
のバッファの空き領域を予め定められたデータの個数だ
け確保することができる。そのため、TCP/IPのパ
ケットを含まないイーサネット(R)フレームを受信し
た場合やPDA上で複数のアプリケーションタスクが実
行されており、各々のアプリケーションタスクが複数の
装置と通信するような場合であっても、ネットワークコ
ントローラで受信したイーサネット(R)フレームをド
ライバのバッファに転送できない確率を低減させること
ができる。
【0148】<第8の実施の形態>以下、本発明の第8
の実施の形態に係る通信デバイスを含むPDAについて
説明する。なお、本実施の形態に係るPDAのハードウ
ェア構成は、前述の第1の実施の形態に係るPDAのハ
ードウェア構成と同じである。したがって、それらにつ
いての詳細な説明はここでは繰返さない。
の実施の形態に係る通信デバイスを含むPDAについて
説明する。なお、本実施の形態に係るPDAのハードウ
ェア構成は、前述の第1の実施の形態に係るPDAのハ
ードウェア構成と同じである。したがって、それらにつ
いての詳細な説明はここでは繰返さない。
【0149】図29を参照して、本実施の形態に係る通
信デバイスを含むPDAで実行されるプログラムは、以
下のような制御構造を有する。なお、図29に示すフロ
ーチャートの中で、前述の図27に示したフローチャー
トと同じ処理については同じステップ番号を付してあ
る。それらについての処理も同じである。したがって、
それらについての詳細な説明はここでは繰返さない。
信デバイスを含むPDAで実行されるプログラムは、以
下のような制御構造を有する。なお、図29に示すフロ
ーチャートの中で、前述の図27に示したフローチャー
トと同じ処理については同じステップ番号を付してあ
る。それらについての処理も同じである。したがって、
それらについての詳細な説明はここでは繰返さない。
【0150】S500にて、CPU120は、アプリケ
ーションタスクからTCP受信要求を受けており、かつ
TCP受信完了通知を未送信であるか否かを判断する。
アプリケーションタスクからTCP受信要求を受取らず
かつTCP受信完了通知を未送信である場合には(S5
00にてYES)、処理はS802へ移される。もしそ
うでないと(S500にてNO)、処理はS700へ移
される。
ーションタスクからTCP受信要求を受けており、かつ
TCP受信完了通知を未送信であるか否かを判断する。
アプリケーションタスクからTCP受信要求を受取らず
かつTCP受信完了通知を未送信である場合には(S5
00にてYES)、処理はS802へ移される。もしそ
うでないと(S500にてNO)、処理はS700へ移
される。
【0151】S800にて、CPU120は、送信順序
と空き個数とを比較し、ドライバのバッファに受信した
データを保持することが可能であるか否かを判断する。
送信順序と空き個数とを比較して、ドライバのバッファ
に受信したデータを保持することが可能である場合には
(S800にてYES)、処理はS116へ移される。
もしそうでないと(S800にてNO)、処理はS70
4へ移される。
と空き個数とを比較し、ドライバのバッファに受信した
データを保持することが可能であるか否かを判断する。
送信順序と空き個数とを比較して、ドライバのバッファ
に受信したデータを保持することが可能である場合には
(S800にてYES)、処理はS116へ移される。
もしそうでないと(S800にてNO)、処理はS70
4へ移される。
【0152】S802にて、CPU120は、処理Gを
行なう。図30を参照して、S802の処理Gについて
説明する。なお、図30に示すフローチャートの中で前
述の図28に示したフローチャートと同じ処理について
は同じステップ番号を付してある。それらについての処
理も同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
行なう。図30を参照して、S802の処理Gについて
説明する。なお、図30に示すフローチャートの中で前
述の図28に示したフローチャートと同じ処理について
は同じステップ番号を付してある。それらについての処
理も同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
【0153】S830にて、CPU120は、送信順序
と空き個数とを比較して、ドライバのバッファに受信し
たデータを保持することが可能であるか否かを判断す
る。送信順序と空き個数とを比較して、ドライバのバッ
ファに受信したデータを保持することが可能である場合
には(S830にてYES)、処理はS636へ移され
る。もしそうでないと(S830にてNO)、処理はS
734へ移される。S636およびS732の処理の
後、処理はS118へ移され、さらに処理はS104へ
戻される。
と空き個数とを比較して、ドライバのバッファに受信し
たデータを保持することが可能であるか否かを判断す
る。送信順序と空き個数とを比較して、ドライバのバッ
ファに受信したデータを保持することが可能である場合
には(S830にてYES)、処理はS636へ移され
る。もしそうでないと(S830にてNO)、処理はS
734へ移される。S636およびS732の処理の
後、処理はS118へ移され、さらに処理はS104へ
戻される。
【0154】S734およびS736における処理の
後、処理はS118に移され、さらに処理はS104へ
移される。
後、処理はS118に移され、さらに処理はS104へ
移される。
【0155】以上のような構造およびフローチャートに
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。本実施の形態においては、第
7の実施の形態と同様にして、抽出されたTCPセグメ
ントのデータは、受信ウインドウに転送せずに、ドライ
バのバッファからアプリケーションタスク126により
指定されたバッファへ転送される。ただし、アプリケー
ションタスク126により指定されたバッファに収まる
データのみが転送され、そうではないデータについて
は、ドライバのバッファに保持される。ここで、データ
をドライバのバッファに保持するのは、第7の実施の形
態において説明した予め定められた時間以下であって、
かつドライバのバッファに保持されたデータの個数が予
め定められた個数以下であるという2つの条件に加え
て、本実施の形態においては、第3の実施の形態と同様
にして、ドライバに保持されるデータは、送信側の装置
から送信したデータの順でデータの個数が予め定められ
た個数の範囲に収まるという条件を満たすものに限定さ
れる(S700にてYES、S800にてYES)。そ
れ以外のデータについては、ドライバのバッファから受
信ウインドウに転送される。
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。本実施の形態においては、第
7の実施の形態と同様にして、抽出されたTCPセグメ
ントのデータは、受信ウインドウに転送せずに、ドライ
バのバッファからアプリケーションタスク126により
指定されたバッファへ転送される。ただし、アプリケー
ションタスク126により指定されたバッファに収まる
データのみが転送され、そうではないデータについて
は、ドライバのバッファに保持される。ここで、データ
をドライバのバッファに保持するのは、第7の実施の形
態において説明した予め定められた時間以下であって、
かつドライバのバッファに保持されたデータの個数が予
め定められた個数以下であるという2つの条件に加え
て、本実施の形態においては、第3の実施の形態と同様
にして、ドライバに保持されるデータは、送信側の装置
から送信したデータの順でデータの個数が予め定められ
た個数の範囲に収まるという条件を満たすものに限定さ
れる(S700にてYES、S800にてYES)。そ
れ以外のデータについては、ドライバのバッファから受
信ウインドウに転送される。
【0156】なお、送信側の装置から送信したデータ順
で、予め定められた個数の範囲に収まるデータのみをド
ライバのバッファに保持するという条件については、第
3の実施の形態と同じであるため、ここでの詳細な説明
は繰返さない。
で、予め定められた個数の範囲に収まるデータのみをド
ライバのバッファに保持するという条件については、第
3の実施の形態と同じであるため、ここでの詳細な説明
は繰返さない。
【0157】以上のようにして、本実施の形態に係る通
信デバイスを含むPDAによると、送信した順序を基準
としてドライバのバッファに保持する個数を制限した方
が、受信した順序を基準としてドライバのバッファに保
持する個数を制限するよりも、予め定められた時間を過
ぎて受信ウインドウへ転送される確率を低くすることが
できる。その結果、ドライバのバッファから受信ウイン
ドウへ転送されるデータの数が低減され、TCPプロト
コル処理に要する消費電力を低減させることができる。
信デバイスを含むPDAによると、送信した順序を基準
としてドライバのバッファに保持する個数を制限した方
が、受信した順序を基準としてドライバのバッファに保
持する個数を制限するよりも、予め定められた時間を過
ぎて受信ウインドウへ転送される確率を低くすることが
できる。その結果、ドライバのバッファから受信ウイン
ドウへ転送されるデータの数が低減され、TCPプロト
コル処理に要する消費電力を低減させることができる。
【0158】<第9の実施の形態>以下、本実施の形態
に係る通信ドライバを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。さらに、本実施の形態に係
るPDAで実行されるプログラムは、予め定められたデ
ータサイズを基準に、受信したデータをドライバのバッ
ファに保持するか否かを判断する制御構造を有する。デ
ータサイズを基準に、ドライバのバッファに保持するか
否かを決定する処理に関しては、第4の実施の形態と同
様であるため、ここでの詳細な説明は繰返さない。
に係る通信ドライバを含むPDAについて説明する。な
お、本実施の形態に係るPDAのハードウェア構成は、
前述の第1の実施の形態に係るPDAのハードウェア構
成と同じである。したがって、それらについての詳細な
説明はここでは繰返さない。さらに、本実施の形態に係
るPDAで実行されるプログラムは、予め定められたデ
ータサイズを基準に、受信したデータをドライバのバッ
ファに保持するか否かを判断する制御構造を有する。デ
ータサイズを基準に、ドライバのバッファに保持するか
否かを決定する処理に関しては、第4の実施の形態と同
様であるため、ここでの詳細な説明は繰返さない。
【0159】本実施の形態においては、第7〜8の実施
の形態における、受信したデータをドライバのバッファ
に保持するか否かを決定する条件を、データの個数を基
準に判断していたが、本実施の形態においてはデータの
サイズを基準には判断する。これにより、受信したデー
タのサイズが比較的小さい場合には、受信したデータの
サイズが比較的大きい場合に比べて、ドライバのバッフ
ァの空き領域を増加させることができる。その結果、第
7の実施の形態および第8の実施の形態におけるPDA
に比較して、受信したデータを受信ウインドウへ転送す
る回数をさらに低減させることができる。
の形態における、受信したデータをドライバのバッファ
に保持するか否かを決定する条件を、データの個数を基
準に判断していたが、本実施の形態においてはデータの
サイズを基準には判断する。これにより、受信したデー
タのサイズが比較的小さい場合には、受信したデータの
サイズが比較的大きい場合に比べて、ドライバのバッフ
ァの空き領域を増加させることができる。その結果、第
7の実施の形態および第8の実施の形態におけるPDA
に比較して、受信したデータを受信ウインドウへ転送す
る回数をさらに低減させることができる。
【0160】<第10の実施の形態>以下、本実施の形
態に係る通信デバイスを含むPDAについて説明する。
なお、前述の第1〜9の実施の形態における、予め定め
られた時間、予め定められた個数および予め定められた
データサイズは一定値であったが、本実施の形態に係る
通信デバイスにおいてはアプリケーションタスクからこ
れらの値を設定できる。なお、本実施の形態に係る通信
デバイスを含むPDAのハードウェア構成は、前述の第
1の実施の形態に係るPDAのハードウェア構成と同じ
である。したがって、それらについての詳細な説明はこ
こでは繰返さない。
態に係る通信デバイスを含むPDAについて説明する。
なお、前述の第1〜9の実施の形態における、予め定め
られた時間、予め定められた個数および予め定められた
データサイズは一定値であったが、本実施の形態に係る
通信デバイスにおいてはアプリケーションタスクからこ
れらの値を設定できる。なお、本実施の形態に係る通信
デバイスを含むPDAのハードウェア構成は、前述の第
1の実施の形態に係るPDAのハードウェア構成と同じ
である。したがって、それらについての詳細な説明はこ
こでは繰返さない。
【0161】図31を参照して、本実施の形態に係るP
DAで実行されるプログラムは、以下のような制御構造
を有する。なお、図31に示すフローチャートの中で、
前述の図10に示したフローチャートと同じ処理につい
ては、同じステップ番号を付してある。それらについて
の処理も同じである。したがって、それらについての詳
細な説明はここでは繰返さない。
DAで実行されるプログラムは、以下のような制御構造
を有する。なお、図31に示すフローチャートの中で、
前述の図10に示したフローチャートと同じ処理につい
ては、同じステップ番号を付してある。それらについて
の処理も同じである。したがって、それらについての詳
細な説明はここでは繰返さない。
【0162】S146の処理の後、S1000にて、C
PU120は、処理Hを行なう。その後、処理はS10
4へ移される。
PU120は、処理Hを行なう。その後、処理はS10
4へ移される。
【0163】図32を参照して、S1000の処理Hに
ついて説明する。S1030にて、CPU120は、T
CP受信要求間隔=現在の時刻−前回の受信要求時刻と
して算出する。S1032にて、CPU120は、保持
時間の更新値=α×(TCP受信要求間隔/N)の演算
を行なう。S1034にて、Nが予め定められた回数積
算されると(S1034にてYES)、処理はS103
6へ移される。もしそうでないと(S1034にてN
O)、処理はS104へ移される。
ついて説明する。S1030にて、CPU120は、T
CP受信要求間隔=現在の時刻−前回の受信要求時刻と
して算出する。S1032にて、CPU120は、保持
時間の更新値=α×(TCP受信要求間隔/N)の演算
を行なう。S1034にて、Nが予め定められた回数積
算されると(S1034にてYES)、処理はS103
6へ移される。もしそうでないと(S1034にてN
O)、処理はS104へ移される。
【0164】S1036にて、CPU120は、予め定
められた時間を更新する。このとき、予め定められた時
間は、S1032で算出された更新値とされる。
められた時間を更新する。このとき、予め定められた時
間は、S1032で算出された更新値とされる。
【0165】以上のような構造およびフローチャートに
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
【0166】PDAは、アプリケーションタスク126
から受信要求が発行される間隔に応じて、係数αにTC
P受信要求間隔を乗算したものの平均値を算出する(S
1032)。予め定められたサンプル数(N)について
の処理が行なわれると(S1034にてYES)、算出
された平均値が、予め定められた時間として更新される
(S1036)。
から受信要求が発行される間隔に応じて、係数αにTC
P受信要求間隔を乗算したものの平均値を算出する(S
1032)。予め定められたサンプル数(N)について
の処理が行なわれると(S1034にてYES)、算出
された平均値が、予め定められた時間として更新される
(S1036)。
【0167】以上のようにして、本実施の形態に係る通
信デバイスを含むPDAは、アプリケーションタスクに
より、そのアプリケーションタスクにおける処理の内容
に応じて、予め定められた時間を動的に変更できる。こ
れにより、ドライバのバッファから受信ウインドウへ転
送する回数をさらに低減させることができる。
信デバイスを含むPDAは、アプリケーションタスクに
より、そのアプリケーションタスクにおける処理の内容
に応じて、予め定められた時間を動的に変更できる。こ
れにより、ドライバのバッファから受信ウインドウへ転
送する回数をさらに低減させることができる。
【0168】なお、本実施の形態においては、予め定め
られた時間を更新するものとして説明したが、これに限
定されるものではない。予め定められたデータの個数お
よび予め定められたデータのサイズについても、アプリ
ケーションタスクによって演算を行ない、ドライバのバ
ッファから受信ウインドウへ転送する条件を変更するよ
うにしてもよい。
られた時間を更新するものとして説明したが、これに限
定されるものではない。予め定められたデータの個数お
よび予め定められたデータのサイズについても、アプリ
ケーションタスクによって演算を行ない、ドライバのバ
ッファから受信ウインドウへ転送する条件を変更するよ
うにしてもよい。
【0169】<第11の実施の形態>以下、本実施の形
態に係る通信デバイスを含むPDAについて説明する。
なお、本実施の形態に係るPDAのハードウェア構成
は、前述の第1の実施の形態に係るPDAのハードウェ
ア構成と同じである。したがって、それらについての詳
細な説明はここでは繰返さない。
態に係る通信デバイスを含むPDAについて説明する。
なお、本実施の形態に係るPDAのハードウェア構成
は、前述の第1の実施の形態に係るPDAのハードウェ
ア構成と同じである。したがって、それらについての詳
細な説明はここでは繰返さない。
【0170】本実施の形態に係る通信デバイスを含むP
DAは、第1〜9の実施の形態に係るPDAにおける予
め定められた時間、予め定められたデータ個数および予
め定められたデータサイズをネットワークの状態に応じ
て変更できる。
DAは、第1〜9の実施の形態に係るPDAにおける予
め定められた時間、予め定められたデータ個数および予
め定められたデータサイズをネットワークの状態に応じ
て変更できる。
【0171】図33を参照して、本実施の形態に係るP
DAで実行されるプログラムは、以下のような制御構造
を有する。なお、図33に示すフローチャートの中で、
前述の図29に示したフローチャートと同じ処理につい
ては同じステップ番号を付してある。それらについての
処理も同じである。したがって、それらについての詳細
な説明はここでは繰返さない。
DAで実行されるプログラムは、以下のような制御構造
を有する。なお、図33に示すフローチャートの中で、
前述の図29に示したフローチャートと同じ処理につい
ては同じステップ番号を付してある。それらについての
処理も同じである。したがって、それらについての詳細
な説明はここでは繰返さない。
【0172】TCPセグメントを解析した結果、TCP
データがある場合には、S1100にて、CPU120
は処理Iを行なう。
データがある場合には、S1100にて、CPU120
は処理Iを行なう。
【0173】図34を参照して、このS1100におけ
る処理Iについて説明する。S1130にて、CPU1
20は、TCPヘッダの応答番号が更新されたか否かを
判断する。TCPヘッダ中の応答番号は、送信したTC
Pデータに対する応答があったことを示す。TCPヘッ
ダ中の応答番号が更新されると(S1130にてYE
S)、処理はS1132へ移される。もしそうでないと
(S1130にてNO)、処理はS500へ移される。
る処理Iについて説明する。S1130にて、CPU1
20は、TCPヘッダの応答番号が更新されたか否かを
判断する。TCPヘッダ中の応答番号は、送信したTC
Pデータに対する応答があったことを示す。TCPヘッ
ダ中の応答番号が更新されると(S1130にてYE
S)、処理はS1132へ移される。もしそうでないと
(S1130にてNO)、処理はS500へ移される。
【0174】S1132にて、CPU120は、送信し
たTCPデータに対する応答から、往復の伝送時間を測
定する。このとき、往復の伝送時間=現在の時刻−送信
時刻と算出される。S1134にて、CPU120は、
更新値=β×(往復の伝送時間/M)の演算を行なう。
S1136にて、CPU120は、Mが予め定められた
回数積算されたか否かを判断する。予め定められた回数
積算されると(S1136にてYES)、処理はS11
38へ移される。もしそうでないと(S1136にてN
O)、処理はS500へ移される。
たTCPデータに対する応答から、往復の伝送時間を測
定する。このとき、往復の伝送時間=現在の時刻−送信
時刻と算出される。S1134にて、CPU120は、
更新値=β×(往復の伝送時間/M)の演算を行なう。
S1136にて、CPU120は、Mが予め定められた
回数積算されたか否かを判断する。予め定められた回数
積算されると(S1136にてYES)、処理はS11
38へ移される。もしそうでないと(S1136にてN
O)、処理はS500へ移される。
【0175】S1138にて、CPU120は、予め定
められた時間の更新を行なう。このとき、予め定められ
た時間はS1134にて算出された更新値とされる。そ
の後、処理はS500へ移される。
められた時間の更新を行なう。このとき、予め定められ
た時間はS1134にて算出された更新値とされる。そ
の後、処理はS500へ移される。
【0176】以上のような構造およびフローチャートに
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
基づく、本実施の形態に係る通信デバイスを含むPDA
の動作について説明する。
【0177】PDAは、送信元から送信先までのデータ
の伝送時間を定期的に測定する(S1132)。測定し
た伝送時間に係数βを乗算したものの平均値が更新値と
して算出される(S1134)。伝送時間が比較的長い
ときには、送信元から送信先にデータが到着する間隔も
長くなるため、予め定められた時間が長く設定される
(S1138)。一方、ネットワークの状況により伝送
時間が短くなると、送信元から送信先へデータが到着す
る間隔が短くなるため、予め定められた時間が短く設定
される(S1138)。
の伝送時間を定期的に測定する(S1132)。測定し
た伝送時間に係数βを乗算したものの平均値が更新値と
して算出される(S1134)。伝送時間が比較的長い
ときには、送信元から送信先にデータが到着する間隔も
長くなるため、予め定められた時間が長く設定される
(S1138)。一方、ネットワークの状況により伝送
時間が短くなると、送信元から送信先へデータが到着す
る間隔が短くなるため、予め定められた時間が短く設定
される(S1138)。
【0178】以上のようにして、本実施の形態に係る通
信デバイスを含むPDAは、ネットワークの状況(ネッ
トワークにおける伝送速度)に応じて、ドライバのバッ
ファにデータを保持する時間の設定を変更することがで
きる。これにより、ネットワークの通信状態に応じて、
適宜ドライバのバッファから受信ウインドウへ転送する
ための条件を変更することができ、ネットワークの状況
に応じて、ドライバ側から受信ウインドウへ転送する回
数を低減させることができる。
信デバイスを含むPDAは、ネットワークの状況(ネッ
トワークにおける伝送速度)に応じて、ドライバのバッ
ファにデータを保持する時間の設定を変更することがで
きる。これにより、ネットワークの通信状態に応じて、
適宜ドライバのバッファから受信ウインドウへ転送する
ための条件を変更することができ、ネットワークの状況
に応じて、ドライバ側から受信ウインドウへ転送する回
数を低減させることができる。
【0179】なお、上述した実施の形態においては、ネ
ットワークの状況に応じて変更するものを予め定められ
た時間として説明したが、これに限定されるものではな
い。ネットワークの状況(データ伝送速度)に応じて、
予め定められたデータの個数および予め定められたデー
タのサイズを変更するようしてもよい。
ットワークの状況に応じて変更するものを予め定められ
た時間として説明したが、これに限定されるものではな
い。ネットワークの状況(データ伝送速度)に応じて、
予め定められたデータの個数および予め定められたデー
タのサイズを変更するようしてもよい。
【0180】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
【図1】 本発明の実施の形態に係る通信デバイスが組
込まれるPDAの制御ブロック図である。
込まれるPDAの制御ブロック図である。
【図2】 図1に示すCPUで実行されるプログラムの
構成を示す図である。
構成を示す図である。
【図3】 本発明の実施の形態に係る通信デバイスが送
受信するデータの構造を示す図である。
受信するデータの構造を示す図である。
【図4】 本発明の第1の実施の形態に係る通信デバイ
スで実行される処理の手順を示すフローチャート(その
1)である。
スで実行される処理の手順を示すフローチャート(その
1)である。
【図5】 本発明の第1の実施の形態に係る通信デバイ
スで実行される処理の手順を示すフローチャート(その
2)である。
スで実行される処理の手順を示すフローチャート(その
2)である。
【図6】 本発明の第1の実施の形態に係る通信デバイ
スで実行される転送処理を説明する図(その1)であ
る。
スで実行される転送処理を説明する図(その1)であ
る。
【図7】 本発明の第1の実施の形態に係る通信デバイ
スで実行される転送処理を説明する図(その2)であ
る。
スで実行される転送処理を説明する図(その2)であ
る。
【図8】 本発明の第1の実施の形態に係る通信デバイ
スで実行される転送処理を説明する図(その3)であ
る。
スで実行される転送処理を説明する図(その3)であ
る。
【図9】 本発明の第2の実施の形態に係る通信デバイ
スで実行される処理の手順を示すフローチャート(その
1)である。
スで実行される処理の手順を示すフローチャート(その
1)である。
【図10】 本発明の第2の実施の形態に係る通信デバ
イスで実行される処理の手順を示すフローチャート(そ
の2)である。
イスで実行される処理の手順を示すフローチャート(そ
の2)である。
【図11】 本発明の第2の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その1)であ
る。
イスで実行される転送処理を説明する図(その1)であ
る。
【図12】 本発明の第2の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その2)であ
る。
イスで実行される転送処理を説明する図(その2)であ
る。
【図13】 本発明の第2の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その3)であ
る。
イスで実行される転送処理を説明する図(その3)であ
る。
【図14】 本発明の第3の実施の形態に係る通信デバ
イスで実行される処理の手順を示すフローチャートであ
る。
イスで実行される処理の手順を示すフローチャートであ
る。
【図15】 本発明の第3の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その1)であ
る。
イスで実行される転送処理を説明する図(その1)であ
る。
【図16】 本発明の第3の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その2)であ
る。
イスで実行される転送処理を説明する図(その2)であ
る。
【図17】 本発明の第3の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その3)であ
る。
イスで実行される転送処理を説明する図(その3)であ
る。
【図18】 本発明の第5の実施の形態に係る通信デバ
イスで実行される処理の手順を示すフローチャートであ
る。
イスで実行される処理の手順を示すフローチャートであ
る。
【図19】 本発明の第5の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その1)であ
る。
イスで実行される転送処理を説明する図(その1)であ
る。
【図20】 本発明の第5の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その2)であ
る。
イスで実行される転送処理を説明する図(その2)であ
る。
【図21】 本発明の第6の実施の形態に係る通信デバ
イスで実行される処理の手順を示すフローチャート(そ
の1)である。
イスで実行される処理の手順を示すフローチャート(そ
の1)である。
【図22】 本発明の第6の実施の形態に係る通信デバ
イスで実行される処理の手順を示すフローチャート(そ
の2)である。
イスで実行される処理の手順を示すフローチャート(そ
の2)である。
【図23】 本発明の第6の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その1)であ
る。
イスで実行される転送処理を説明する図(その1)であ
る。
【図24】 本発明の第6の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その2)であ
る。
イスで実行される転送処理を説明する図(その2)であ
る。
【図25】 本発明の第6の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その3)であ
る。
イスで実行される転送処理を説明する図(その3)であ
る。
【図26】 本発明の第6の実施の形態に係る通信デバ
イスで実行される転送処理を説明する図(その4)であ
る。
イスで実行される転送処理を説明する図(その4)であ
る。
【図27】 本発明の第7の実施の形態に係る通信デバ
イスで実行される処理の手順を示すフローチャート(そ
の1)である。
イスで実行される処理の手順を示すフローチャート(そ
の1)である。
【図28】 本発明の第7の実施の形態に係る通信デバ
イスで実行される処理の手順を示すフローチャート(そ
の2)である。
イスで実行される処理の手順を示すフローチャート(そ
の2)である。
【図29】 本発明の第8の実施の形態に係る通信デバ
イスで実行される処理の手順を示すフローチャート(そ
の1)である。
イスで実行される処理の手順を示すフローチャート(そ
の1)である。
【図30】 本発明の第8の実施の形態に係る通信デバ
イスで実行される処理の手順を示すフローチャート(そ
の2)である。
イスで実行される処理の手順を示すフローチャート(そ
の2)である。
【図31】 本発明の第10の実施の形態に係る通信デ
バイスで実行される処理の手順を示すフローチャート
(その1)である。
バイスで実行される処理の手順を示すフローチャート
(その1)である。
【図32】 本発明の第10の実施の形態に係る通信デ
バイスで実行される処理の手順を示すフローチャート
(その2)である。
バイスで実行される処理の手順を示すフローチャート
(その2)である。
【図33】 本発明の第11の実施の形態に係る通信デ
バイスで実行される処理の手順を示すフローチャート
(その1)である。
バイスで実行される処理の手順を示すフローチャート
(その1)である。
【図34】 本発明の第11の実施の形態に係る通信デ
バイスで実行される処理の手順を示すフローチャート
(その2)である。
バイスで実行される処理の手順を示すフローチャート
(その2)である。
100 PDA、110 イーサネット(R)コントロ
ーラ、120 CPU、130 LCD、140 タッ
チパネル、150 ROM、160 RAM、170
アドレスバス、180 データバス、190 コネク
タ。
ーラ、120 CPU、130 LCD、140 タッ
チパネル、150 ROM、160 RAM、170
アドレスバス、180 データバス、190 コネク
タ。
Claims (17)
- 【請求項1】 ネットワークに対して、データ項目の送
受信を制御するためのネットワーク制御手段と、 前記ネットワーク制御手段に接続され、受信したデータ
項目を一時的に記憶するための第1の記憶手段と、 前記第1の記憶手段に接続され、前記受信したデータ項
目を記憶するための第2の記憶手段と、 前記第1の記憶手段および前記第2の記憶手段に記憶さ
れた前記データ項目を、予め定められたバッファに転送
するように制御するための制御手段とを含み、前記制御
手段は、 前記第1の記憶手段に前記データ項目が記憶されてから
予め定められた時間が経過するまでに発生した前記バッ
ファへの格納要求に応答して、前記第1の記憶手段に記
憶された前記データ項目を、前記バッファに転送するよ
うに、前記第1の記憶手段を制御するための第1の転送
制御手段と、 前記第1の記憶手段に前記データ項目が記憶されてから
予め定められた時間が経過すると、前記第1の記憶手段
に記憶された前記データ項目を前記第2の記憶手段に転
送し、前記バッファへの格納要求に応答して、前記第2
の記憶手段に記憶された前記データ項目を、前記バッフ
ァに転送するように、前記第2の記憶手段を制御するた
めの第2の転送制御手段とを含む、通信デバイス。 - 【請求項2】 前記第1の転送制御手段は、前記第1の
記憶手段に予め定められた個数のデータ項目が記憶され
るまでは、前記第1の記憶手段に前記データ項目が記憶
されてから予め定められた時間が経過するまでに発生し
た前記バッファへの格納要求に応答して、前記第1の記
憶手段に記憶された前記データ項目を、前記バッファに
転送するための手段を含み、 前記第2の転送制御手段は、前記第1の記憶手段に前記
データ項目が記憶されてから予め定められた時間が経過
したことおよび前記第1の記憶手段に予め定められた個
数のデータ項目が記憶されたことのいずれかが満足され
ると、前記第1の記憶手段に記憶された前記データ項目
を前記第2の記憶手段に転送し、前記バッファへの格納
要求に応答して、前記第2の記憶手段に記憶された前記
データ項目を、前記バッファに転送するための手段とを
含む、請求項1に記載の通信デバイス。 - 【請求項3】 前記第1の転送制御手段は、前記第1の
記憶手段に前記データ項目が送信された順序に従って予
め定められた個数のデータ項目が記憶されるまでは、前
記第1の記憶手段に前記データ項目が記憶されてから予
め定められた時間が経過するまでに発生した前記バッフ
ァへの格納要求に応答して、前記第1の記憶手段に記憶
された前記データ項目を、前記バッファに転送するため
の手段を含む、請求項2に記載の通信デバイス。 - 【請求項4】 前記第1の転送制御手段は、前記第1の
記憶手段に予め定められた容量のデータ項目が記憶され
るまでは、前記第1の記憶手段に前記データ項目が記憶
されてから予め定められた時間が経過するまでに発生し
た前記バッファへの格納要求に応答して、前記第1の記
憶手段に記憶された前記データ項目を、前記バッファに
転送するための手段を含み、 前記第2の転送制御手段は、前記第1の記憶手段に前記
データ項目が記憶されてから予め定められた時間が経過
したことおよび前記第1の記憶手段に予め定められた容
量のデータ項目が記憶されたことのいずれかが満足され
ると、前記第1の記憶手段に記憶された前記データ項目
を前記第2の記憶手段に転送し、前記バッファへの格納
要求に応答して、前記第2の記憶手段に記憶された前記
データ項目を、前記バッファに転送するための手段とを
含む、請求項1に記載の通信デバイス。 - 【請求項5】 前記第1の転送制御手段は、前記第1の
記憶手段に前記データ項目が送信された順序に従って予
め定められた容量のデータ項目が記憶されるまでは、前
記第1の記憶手段に前記データ項目が記憶されてから予
め定められた時間が経過するまでに発生した前記バッフ
ァへの格納要求に応答して、前記第1の記憶手段に記憶
された前記データ項目を、前記バッファに転送するため
の手段を含む、請求項4に記載の通信デバイス。 - 【請求項6】 前記制御手段は、前記第1の記憶手段に
前記データ項目が記憶される前に発生した前記バッファ
への格納要求に応答して、前記第1の記憶手段に記憶さ
れた前記データ項目を、前記バッファに転送するよう
に、前記第1の記憶手段を制御するための第3の転送制
御手段をさらに含む、請求項1〜4のいずれかに記載の
通信デバイス。 - 【請求項7】 前記バッファへの格納要求は、前記第1
の記憶手段から前記バッファへのデータ項目の転送容量
を示す情報を含み、 前記第3の転送制御手段は、前記バッファへの格納要求
に応答して、前記第1の記憶手段に記憶された前記デー
タ項目の中の前記転送容量以下のデータ項目を前記バッ
ファに転送して、前記転送容量を越えるデータ項目を前
記第1の記憶手段に記憶するように、前記第1の記憶手
段を制御するための手段を含む、請求項6に記載の通信
デバイス。 - 【請求項8】 前記予め定められた時間は、前記バッフ
ァへの格納要求の送信元からの信号に基づいて設定され
る、請求項1〜7のいずれかに記載の通信デバイス。 - 【請求項9】 前記予め定められた時間は、前記バッフ
ァへの格納要求の送信元から送信された、前記バッファ
への格納要求の頻度に基づいて設定される、請求項8に
記載の通信デバイス。 - 【請求項10】 前記予め定められた個数は、前記バッ
ファへの格納要求の送信元からの信号に基づいて設定さ
れる、請求項2または3に記載の通信デバイス。 - 【請求項11】 前記予め定められた容量は、前記バッ
ファへの格納要求の送信元からの信号に基づいて設定さ
れる、請求項4または5に記載の通信デバイス。 - 【請求項12】 前記予め定められた時間は、前記ネッ
トワークの通信状態に基づいて設定される、請求項1〜
7のいずれかに記載の通信デバイス。 - 【請求項13】 前記予め定められた時間は、前記ネッ
トワークにおける前記通信デバイスまでのデータの伝送
時間に基づいて設定される、請求項12に記載の通信デ
バイス。 - 【請求項14】 前記予め定められた個数は、前記ネッ
トワークの通信状態に基づいて設定される、請求項2ま
たは3に記載の通信デバイス。 - 【請求項15】 前記予め定められた容量は、前記ネッ
トワークの通信状態に基づいて設定される、請求項4ま
たは5に記載の通信デバイス。 - 【請求項16】 請求項1〜15のいずれかに記載した
通信デバイスを搭載した、携帯端末。 - 【請求項17】 ネットワークに対して、データ項目の
送受信を制御するネットワーク制御ステップと、 受信したデータ項目を一時的に記憶する第1の記憶ステ
ップと、 前記受信したデータ項目を記憶する第2の記憶ステップ
と、 前記第1の記憶ステップおよび前記第2の記憶ステップ
にて記憶した前記データ項目を、予め定められたバッフ
ァに転送する転送ステップとを含み、 前記転送ステップは、 前記第1の記憶ステップにて前記データ項目が記憶され
てから予め定められた時間が経過するまでに発生した前
記バッファへの格納要求に応答して、前記第1の記憶ス
テップにて記憶した前記データ項目を、前記バッファに
転送する第1の転送ステップと、 前記第1の記憶ステップにて前記データ項目が記憶され
てから予め定められた時間が経過すると、前記第1の記
憶ステップにて記憶した前記データ項目を前記第2の記
憶ステップにて記憶し、前記バッファへの格納要求に応
答して、前記第2の記憶ステップにて記憶した前記デー
タ項目を、前記バッファに転送する第2の転送ステップ
とを含む通信方法をコンピュータに実現させるためのプ
ログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002061841A JP2003264596A (ja) | 2002-03-07 | 2002-03-07 | 通信デバイス、携帯端末、通信方法を実現するためのプログラム |
| US10/323,977 US20030169759A1 (en) | 2002-03-07 | 2002-12-20 | Communication device for processing data received from network |
| DE2003105129 DE10305129A1 (de) | 2002-03-07 | 2003-02-07 | Kommunikations-Vorrichtung zum Verarbeiten von Daten, die von einem Netzwerk empfangen wurden |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002061841A JP2003264596A (ja) | 2002-03-07 | 2002-03-07 | 通信デバイス、携帯端末、通信方法を実現するためのプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2003264596A true JP2003264596A (ja) | 2003-09-19 |
Family
ID=27784872
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002061841A Withdrawn JP2003264596A (ja) | 2002-03-07 | 2002-03-07 | 通信デバイス、携帯端末、通信方法を実現するためのプログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20030169759A1 (ja) |
| JP (1) | JP2003264596A (ja) |
| DE (1) | DE10305129A1 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005039150A1 (ja) * | 2003-10-22 | 2005-04-28 | Nec Corporation | 通信装置およびその通信方法ならびにプログラム |
| CN100391200C (zh) * | 2004-12-31 | 2008-05-28 | 华为技术有限公司 | 一种数据传送方法 |
| JP6046488B2 (ja) * | 2012-12-28 | 2016-12-14 | ラピスセミコンダクタ株式会社 | データ通信システム、半導体装置及びデータ通信方法 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4663706A (en) * | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
| US4512011A (en) * | 1982-11-01 | 1985-04-16 | At&T Bell Laboratories | Duplicated network arrays and control facilities for packet switching |
| US5857074A (en) * | 1996-08-16 | 1999-01-05 | Compaq Computer Corp. | Server controller responsive to various communication protocols for allowing remote communication to a host computer connected thereto |
| US6351471B1 (en) * | 1998-01-14 | 2002-02-26 | Skystream Networks Inc. | Brandwidth optimization of video program bearing transport streams |
| ATE390788T1 (de) * | 1999-10-14 | 2008-04-15 | Bluearc Uk Ltd | Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen |
| US6977930B1 (en) * | 2000-02-14 | 2005-12-20 | Cisco Technology, Inc. | Pipelined packet switching and queuing architecture |
| AU2001293783A1 (en) * | 2000-09-29 | 2002-04-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for transmitting data |
-
2002
- 2002-03-07 JP JP2002061841A patent/JP2003264596A/ja not_active Withdrawn
- 2002-12-20 US US10/323,977 patent/US20030169759A1/en not_active Abandoned
-
2003
- 2003-02-07 DE DE2003105129 patent/DE10305129A1/de not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| US20030169759A1 (en) | 2003-09-11 |
| DE10305129A1 (de) | 2003-09-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10015104B2 (en) | Processing received data | |
| EP2645674B1 (en) | Interrupt management | |
| CN108616458B (zh) | 客户端设备上调度分组传输的系统和方法 | |
| US20080091868A1 (en) | Method and System for Delayed Completion Coalescing | |
| US20080259821A1 (en) | Dynamic packet training | |
| JPH0934818A (ja) | パケットベース・アーキテクチャを使用するデータ処理システム内での短縮待ち時間データ受信のための方法および装置 | |
| US20080256271A1 (en) | Methods and apparatus for reducing storage usage in devices | |
| CN101069173A (zh) | 用于低功率运行无线局域网接口的系统 | |
| US20130332638A1 (en) | Self clocking interrupt generation in a network interface card | |
| CN106375239A (zh) | 一种网络数据接收的处理方法及装置 | |
| CN113992588A (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
| CN113225265A (zh) | 流量控制方法、装置、设备和计算机存储介质 | |
| WO2008013209A1 (en) | Cpu connection circuit, data processing device, operation device, and mobile communication terminal and data transfer method using them | |
| JP2003264596A (ja) | 通信デバイス、携帯端末、通信方法を実現するためのプログラム | |
| CN100444594C (zh) | 用于执行接收处理的通信装置和方法 | |
| US6985970B2 (en) | Data transfer with implicit notification | |
| EP2383659B1 (en) | Queue depth management for communication between host and peripheral device | |
| WO2008073493A2 (en) | Methods and apparatus for reducing storage usage in devices | |
| WO2011054224A1 (zh) | 客户端接口机、服务端接口机及其消息处理方法、系统 | |
| US9948533B2 (en) | Interrupt management | |
| CN115470014A (zh) | 获取任务完成通知的方法、装置及直接访问内存的方法 | |
| Chung et al. | Design and implementation of the high speed TCP/IP Offload Engine | |
| EP1966950A2 (en) | Processing received data | |
| JP4373887B2 (ja) | パケット処理方法 | |
| CN115665046B (zh) | 数据流控方法、装置、设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050510 |