JP2001094613A - 通信制御装置、方法および記録媒体 - Google Patents

通信制御装置、方法および記録媒体

Info

Publication number
JP2001094613A
JP2001094613A JP26783699A JP26783699A JP2001094613A JP 2001094613 A JP2001094613 A JP 2001094613A JP 26783699 A JP26783699 A JP 26783699A JP 26783699 A JP26783699 A JP 26783699A JP 2001094613 A JP2001094613 A JP 2001094613A
Authority
JP
Japan
Prior art keywords
credits
communication control
packet
data
control device
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.)
Pending
Application number
JP26783699A
Other languages
English (en)
Inventor
Makoto Hibi
真 日比
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP26783699A priority Critical patent/JP2001094613A/ja
Publication of JP2001094613A publication Critical patent/JP2001094613A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 受信側が、データ読み出し後に追加クレジッ
トを正確に算出でき、得られた追加クレジットを送信側
に発行し、受信バッファをリング・バッファとして使用
することができる。 【解決手段】 パケット通信制御装置のデータ受信にお
いて、受信したパケットのパケット・データを受信パケ
ットの論理チャネルに対応したリング・バッファ201
に記憶し、リング・バッファ201のライト・ポインタ
205、リード・ポインタ204と全体の容量に基づき
計算されたリング・バッファの空き容量206と、上記
論理チャネルの転送可能な最大パケット・サイズに基づ
き、受信可能なクレジット数208を計算し、通信制御
装置がデータ受信において把握している送信側送信可能
パケット数209と受信可能なクレジット数208との
差分に基づき、追加の受信可能なクレジット数を計算し
て送信側へ発行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パケット通信機能
を有する通信制御装置,方法および記録媒体に関し、特
に記録装置に好適であって、IEEE(Institute Electric
al and Electronics Engineers)P1284.4プロトコルに
より、ホスト・コンピュータからのパケット受信の際
に、リング・バッファと呼ばれる受信用のバッファ・メ
モリの空き容量を計算し、効率的にクレジットを発行す
ることによりデータ転送効率をあげる通信制御装置、方
法および記録媒体に関する。
【0002】
【従来の技術】従来、複数の論理チャネルでデータ送受
信処理を行う多重論理チャネル通信は、多数の端末とセ
ンタ装置が接続されるLAN(Local Area Network)等で
広く用いられている。近年のパーソナル・コンピュータ
の機能向上、特にはネットワーク機能の向上に伴い、パ
ーソナル・コンピュータのみならず、パーソナル・コン
ピュータに接続される周辺機器、特にプリンタといった
記録装置に対しても多重論理チャネル通信機能が求めら
れている。
【0003】このため、パーソナル・コンピュータとプ
リンタとの接続に広く用いられているインタフェースで
あるIEEE1284上で運用されることを想定した、IEEEP128
4.4なる多重論理チャネル通信プロトコルも提唱されて
いる。
【0004】IEEEP1284.4プロトコルは物理インタフェ
ース層の上でアプリケーション層よりは下になる層に使
用されるPPP(Point-to-Point Protocol)を定めたもの
である。こうした層はOSI(Open Systems Interconnect
ion)参照モデルで示されるところのトランスポート層
とセッション層の機能と特徴を持っている。このプロト
コルはIEEE1284-1994インタフェース上で機能するもの
とされるが、別のポイント・トゥ・ポイント(point to
point)インタフェース上でも機能することができる。
【0005】IEEEP1284.4プロトコルを実装する上で物
理インタフェースに要求されている事は双方向通信が可
能なことであり、IEEEP1284.4プロトコルはそのインタ
フェース上に論理的な通信路(チャネル)を確立し、1
つのチャネルに対して双方向の通信を実現するプロトコ
ルである。
【0006】このIEEEP1284.4プロトコルではデータ転
送方法としてパケットによる通信方法を採用しており、
このパケットによる通信方法とは図10に示すように、
パケットの論理チャネルとパケット・サイズを示すヘッ
ダ部分(6byte)と、データ自身からなるパケット・デ
ータとから構成されたパケットを1つのデータ群として
送信する通信方法である。
【0007】IEEEP1284.4プロトコルでは、転送可能な
最大パケット・サイズは初期化プロセスの段階でチャネ
ル毎にネゴシエーションされ決定される。具体的には、
前述のネゴシエーションは、IEEEP1284.4のDraft1.20以
降ではオープン・チャネル(OpenChannel)・コマンド
/オープン・チャネル・リプライ(OpenChannelReply)
・コマンドによって行うよう規定されている(注;IEEE
P1284.4のDraft1.10までは、コンフィグ・ソケット(Co
nfigSocket)・コマンド/コンフィグ・ソケット・リプ
ライ(ConfigSocketReply)・コマンドが、上記オープ
ン・チャネル・コマンド/オープン・チャネル・リプラ
イ・コマンドに対応。以下、IEEEP1284.4のDraft1.20以
降について述べる)。
【0008】しかしながら、実際に転送するパケットは
上記転送可能な最大パケット・サイズを満たしていない
場合もある。そのため、パケット・ヘッダにはそのパケ
ットのパケット・データ・サイズを把握できるようなパ
ケット・サイズが記述されている。受信側装置はパケッ
トを受信すると、ヘッダ部分に示されたパケット・サイ
ズを基にして、パケット・データとパケットの切れ目と
を認識し、認識されたパケット・データを取り出して、
装置内のメモリに格納するなどの処理を行う。
【0009】IEEEP1284.4プロトコルでは、データ交換
の歩調を合わせるためにクレジット(Credit)化された
フロー制御プロセスを用いる。このフロー制御における
クレジットとは、データを受信する能力を示す値であ
り、上記パケット・サイズに対し受信側が受信可能なパ
ケット数で、始めに受信側の機器により生成される。
【0010】続いてこのクレジットは、受信側の機器か
ら送信側の機器へクレジット・コマンドによって送信さ
れる。そして送信側の機器において、受信側機器のデー
タを受信する能力が判断される。通常、クレジットはそ
れぞれの機器における未使用のバッファ領域の容量を示
している。これにより送信側はクレジットの内容から、
データ輻輳によるデータ・ロス、或いは受信側バッファ
がオーバー・フローすることなく受信側に送信できるデ
ータ量を判断する。
【0011】以上のクレジット処理の具体的な例を以下
に説明する。
【0012】送信側があるチャネルをオープンしようと
したとする。ここでチャネルをオープンする前には、こ
のチャネルに対する最大パケット・サイズをオープン・
チャネル・コマンドによって指定しなければならない。
例えば、送信側が上記オープンしようとするチャネルに
対する最大パケット・サイズを「パケット・データ・サ
イズ1Kbyte+パケット・ヘッダ・サイズ」にしようと
する場合、オープン・チャネル・コマンドに“パケット
・データ・サイズ1Kbyte+パケット・ヘッダ・サイ
ズ”と記述してコマンドを発行する。
【0013】受信側は上記オープン・チャネル・コマン
ドを受信した後、上記最大パケット・サイズを受け入れ
ることができるならば、“パケット・データ・サイズ1
Kbyte+パケット・ヘッダ・サイズ”を記述したオープ
ン・チャネル・リプライ・コマンドを送信側へ発行して
も良いし、必要ならばより小さいサイズを記述したオー
プン・チャネル・リプライ・コマンドを送信側へ発行す
ることも可能である。
【0014】送信側は上記オープン・チャネル・リプラ
イ・コマンドを受信した時点で、自らが発行したオープ
ン・チャネル・コマンド内のパケット・サイズと、受信
側が発行したオープン・チャネル・リプライ・コマンド
内のパケット・サイズを比較し、小さいほうをオープン
しようとするチャネル上で送信可能な最大パケット・サ
イズとして以後運用することになる。
【0015】次に、送信側は、上記最大パケット・サイ
ズが決まったチャネルをオープンする。受信側は、オー
プンされたチャネルに対する最大パケット・サイズか
ら、自らが受信可能なパケット数を算出し、クレジット
・コマンドによって送信側にクレジットを与えなければ
ならない。
【0016】例えば、上述の受信側の機器の上記オープ
ンされたチャネルに対するバッファのサイズが32Kbyt
eであったとすると、上記受信側は、パケット・データ
・サイズが最大1Kbyteのパケットを32個受け取るこ
とが可能なので、クレジット数としては“32”を送信
側に与えることが可能である。
【0017】送信側は、受信側より“32”のクレジッ
トを受け取った場合、少なくとも32のパケットは受信
側の処理を待つことなく送信することができる。即ち、
受信側は発行したクレジット数のパケットは必ず受信で
きなければならない。一方、送信側はこのクレジット数
を常に把握して、送信するパケット数がクレジット数を
オーバーすることがないように配慮しなければならな
い。
【0018】つまり送信側は、1つのパケットを送信す
る度自分の持ちクレジットを減算し、クレジットが無く
なったら、新たに受信側が発行するクレジット・コマン
ドによる追加クレジットを受け取るまで、パケットを送
信してはならない(ただし、送信側はクレジット・リク
エスト(CreditRequest)・コマンドを発行し、受信側
に追加クレジットの発行を要求することは可能であ
る)。
【0019】次にクレジット処理に用いられるバッファ
の処理方法を以下に説明する。
【0020】従来、上述のパケットおよびクレジットの
処理を行うために、図11に示すようなブロック化され
た受信バッファを利用していた。このブロック化された
受信バッファは、受信バッファとして割り当てられた領
域をオープン・チャネル・コマンド/オープン・チャネ
ル・リプライ・コマンドによって確立された最大パケッ
ト・サイズからヘッダ部を取り除いたサイズ(=最大パ
ケット・データ・サイズ)に区切り、そのブロック数N
(N=n1+n2、n1=使用中のブロック数、n2=未使用ブ
ロック数、N/n1/n2は全て0以上の整数)をそのままク
レジット総数として扱う。送信側から送信されてきたパ
ケットは、ヘッダ部のみ取り除かれたパケット・データ
・サイズ分だけそのままブロック化された受信バッファ
にコピーされる。
【0021】上記オープン・チャネル・コマンド/オー
プン・チャネル・リプライ・コマンドによって確立され
た最大パケット・サイズより小さいパケットを受信した
場合、パケット・データをコピーした受信バッファのブ
ロックには未使用の領域が生じる。一方、次のパケット
のパケット・データは別の受信バッファのブロックにコ
ピーされる。
【0022】この場合、送信側の持ちクレジット数は、
使われていない受信バッファのブロック数と一致するた
め、データを読み出した受信バッファのブロック数を追
加クレジットとみなすことができ、比較的簡単にクレジ
ット処理を行うことが可能である。しかし、前述のよう
に1つのパケットには全てデータが詰まっているとは限
らないため、上記オープン・チャネル・コマンド/オー
プン・チャネル・リプライ・コマンドによって確立され
た最大パケット・サイズより小さいパケットが大量に送
信された場合、受信バッファの未使用の領域が増加する
のでデータの転送効率が悪い。
【0023】また、IEEEP1284.4プロトコルのようなパ
ケットによる通信方法のデータ転送以外には、従来のセ
ントロニクス・インタフェースに代表されるようなスト
リームによるデータ転送方法がある。この場合、受信側
のバッファとして、図12に示されるような通常リング
・バッファと呼ばれる形態が用いられることが多い。
【0024】このリング・バッファは書き込み用のライ
ト・ポインタ(WritePointer)と読み出し用のリード・
ポインタ(ReadPointer)を持ち、データ受信によって
データを書き込む時はライト・ポインタを進め、データ
をバッファから読み出す時はリード・ポインタを進め
る。
【0025】ここで重要なことは、リード・ポインタは
ライト・ポインタを追い越すことは許されず、また、ラ
イト・ポインタもリード・ポインタを追い越すことは許
されない。さらに、ライト・ポインタ、リード・ポイン
タ共にバッファ領域のエンド・アドレスに到達すると、
再びスタート・アドレスへ戻ることでバッファを有効に
使っている。
【0026】
【発明が解決しようとする課題】パケット・データをス
トリームによるデータ転送方法のごとくリング・バッフ
ァにコピーすると、パケット・データ・サイズに関わら
ずリング・バッファを有効に使うことが可能ではある
が、追加クレジットを発行しなければブロック化された
受信バッファのクレジット総数と同様の数のパケット受
信が保障されるだけであり、データを読み出した時に読
み出した結果が最大パケット・サイズのパケットいくつ
分に相当するのか不明となってしまう。この結果、追加
すべきクレジット数が不明瞭である、という解決すべき
課題が従来技術にはあった。
【0027】そこで本発明の目的は、受信側が、データ
読み出し後に追加クレジットを正確に算出でき、得られ
た追加クレジットを送信側に発行し、受信バッファをリ
ング・バッファとして使用することができる、通信制御
装置、方法および記録媒体を提供することにある。
【0028】
【課題を解決するための手段】このような目的を達成す
るために、請求項1の発明は、送信側の装置から送信さ
れたデータをパケット通信機能により受信する通信制御
装置において、受信したパケット・データを記憶するた
めに、パケットの論理チャネルに対応してリング・バッ
ファ的に使用する記憶手段と、前記記憶手段の容量と前
記論理チャネルの転送可能な最大パケット・サイズのデ
ータ量に基づき、該記憶手段が受信可能なクレジット数
を計算し、当該計算された受信可能なクレジット数を送
信側の装置に対してデータ受信開始時に発行する手段
と、前記記憶手段のライト・ポインタ、リード・ポイン
タの値と容量に基づき、該記憶手段の空き容量を計算
し、当該計算された空き容量に基づき、追加で受信可能
なクレジット数を計算する手段と、当該計算された追加
で受信可能なクレジット数を送信側の装置に対して発行
する手段とを具えたことを特徴とする。
【0029】請求項2の発明は、請求項1に記載の通信
制御装置において、前記追加で受信可能なクレジット数
を計算する手段は、前記空き容量と前記論理チャネルの
転送可能な最大パケット・サイズのデータ量に基づき、
前記記憶手段が受信可能なクレジット数を計算する手段
と、前記通信制御装置が把握している送信側の装置の送
信可能なクレジット数と、当該計算された受信可能なク
レジット数との差分に基づき、追加の受信可能なクレジ
ット数を計算する手段とを具えたことを特徴とする。
【0030】請求項3の発明は、請求項1に記載の通信
制御装置において、前記送信側の装置では、該通信制御
装置の前記データ受信開始時に発行する手段により発行
された受信可能なクレジット数と、該通信制御装置の前
記発行する手段により発行された追加で受信可能なクレ
ジット数との和と、送信したクレジット数との差分に基
づき、送信可能なクレジット数を認識することを特徴と
する。
【0031】請求項4の発明は、請求項1に記載の通信
制御装置において、前記パケット通信機能はIEEEP1284.
4プロトコルを使用することを特徴とする。
【0032】請求項5の発明は、請求項1に記載の通信
制御装置において、該通信制御装置は、記録装置に設置
されることを特徴とする。
【0033】請求項6の発明は、請求項1〜請求項3の
いずれかに記載の通信制御装置において、前記クレジッ
ト数はパケット数であることを特徴とする。
【0034】請求項7の発明は、送信側の装置から送信
されたデータをパケット通信機能により受信する通信制
御装置での通信制御方法において、受信したパケット・
データをパケットの論理チャネルに対応させてリング・
バッファに記憶し、前記リング・バッファの容量と前記
論理チャネルの転送可能な最大パケット・サイズのデー
タ量に基づき、該リング・バッファが受信可能なクレジ
ット数を計算し、当該計算された受信可能なクレジット
数を送信側の装置に対してデータ受信開始時に発行し、
前記リング・バッファのライト・ポインタ、リード・ポ
インタの値と容量に基づき、該リング・バッファの空き
容量を計算し、当該計算された空き容量に基づき、追加
で受信可能なクレジット数を計算し、当該計算された追
加で受信可能なクレジット数を送信側の装置に対して発
行することを特徴とする。
【0035】請求項8の発明は、請求項7に記載の通信
制御方法において、前記追加で受信可能なクレジット数
を計算する方法は、前記空き容量と前記論理チャネルの
転送可能な最大パケット・サイズのデータ量に基づき、
前記リング・バッファが受信可能なクレジット数を計算
し、前記通信制御装置が把握している送信側の装置の送
信可能なクレジット数と、当該計算された受信可能なク
レジット数との差分に基づき、追加の受信可能なクレジ
ット数を計算することを特徴とする。
【0036】請求項9の発明は、請求項7に記載の通信
制御方法において、前記送信側の装置では、該通信制御
装置の前記データ受信開始時に発行された受信可能なク
レジット数と、該通信制御装置の前記発行された追加で
受信可能なクレジット数との和と、送信したクレジット
数との差分に基づき、送信可能なクレジット数を認識す
ることを特徴とする。
【0037】請求項10の発明は、請求項7に記載の通
信制御方法において、前記パケット通信機能はIEEEP128
4.4プロトコルを使用することを特徴とする。
【0038】請求項11の発明は、請求項7に記載の通
信制御方法において、前記通信制御装置は、記録装置に
設置されることを特徴とする。
【0039】請求項12の発明は、請求項7〜請求項9
のいずれかに記載の通信制御方法において、前記クレジ
ット数はパケット数であることを特徴とする。
【0040】請求項13の発明は、通信制御装置におい
てパケット通信機能により送信側の装置から送信された
データを受信するためのプログラムを記録した記録媒体
において、受信したパケット・データをパケットの論理
チャネルに対応させてリング・バッファに記憶するステ
ップと、前記リング・バッファの容量と前記論理チャネ
ルの転送可能な最大パケット・サイズのデータ量に基づ
き、該リング・バッファが受信可能なクレジット数を計
算し、当該計算された受信可能なクレジット数を送信側
の装置に対してデータ受信開始時に発行するステップ
と、前記リング・バッファのライト・ポインタ、リード
・ポインタの値と容量に基づき、該リング・バッファの
空き容量を計算し、当該計算された空き容量に基づき、
追加で受信可能なクレジット数を計算するステップと、
当該計算された追加で受信可能なクレジット数を送信側
の装置に対して発行するステップとを具えたことを特徴
とする。
【0041】請求項14の発明は、請求項13に記載の
記録媒体において、前記追加で受信可能なクレジット数
を計算するステップは、前記空き容量と前記論理チャネ
ルの転送可能な最大パケット・サイズのデータ量に基づ
き、前記リング・バッファが受信可能なクレジット数を
計算するステップと、前記通信制御装置が把握している
送信側の装置の送信可能なクレジット数と、当該計算さ
れた受信可能なクレジット数との差分に基づき、追加の
受信可能なクレジット数を計算するステップとを具えた
ことを特徴とする。
【0042】請求項15の発明は、請求項13に記載の
記録媒体において、前記送信側の装置では、該通信制御
装置の前記データ受信開始時に発行するステップにより
発行された受信可能なクレジット数と、該通信制御装置
の前記発行するステップにより発行された追加で受信可
能なクレジット数との和と、送信したクレジット数との
差分に基づき、送信可能なクレジット数を認識すること
を特徴とする。
【0043】請求項16の発明は、請求項13に記載の
記録媒体において、前記パケット通信機能はIEEEP1284.
4プロトコルを使用することを特徴とする。
【0044】請求項17の発明は、請求項13に記載の
記録媒体において、前記通信制御装置は、記録装置に設
置されることを特徴とする。
【0045】請求項18の発明は、請求項13〜請求項
15のいずれかに記載の記録媒体において、前記クレジ
ット数はパケット数であることを特徴とする。
【0046】
【発明の実施の形態】以下、図面を参照して本発明に係
る実施形態を詳細に説明する。
【0047】本実施形態の記録装置の主要構成の一例を
図1に示す。
【0048】図1において、上記記録装置は、IEEEP128
4.4通信制御部1010、バッファ群1020、マイク
ロプロセッサ1030、印字バッファ1040、印字制
御部1050、記録ヘッド1060、LF(改行)モー
タ・ドライバ1070、LFモータ1080、CR(復
帰)モータ・ドライバ1090およびCRモータ110
0を有する。
【0049】IEEEP1284.4通信制御部1010は、受信
したIEEEP1284.4パケットの解析とバッファ群1020
の1バッファへの受信パケット・データのバッファリン
グ、および記録装置からホスト・コンピュータへの応答
のためのIEEEP1284.4パケットの送信のための制御を司
る。
【0050】バッファ群1020は、上記記録装置のIE
EEP1284.4通信制御部1010が受信したIEEEP1284.4パ
ケットの論理チャネルに対応したバッファに、上記パケ
ットのパケット・データを格納するのに使用される。ま
た、上記記録装置のデータ送信時に、マイクロプロセッ
サ1030がIEEEP1284.4通信制御部1010に指示し
た論理チャネル番号に対応したバッファに、送信データ
を格納するのに使用される。
【0051】マイクロプロセッサ1030はメモリその
他の機能を内臓したワン・チップ・マイクロコンピュー
タであり、制御のための制御プログラムを内臓のメモリ
に記憶しており、本実施形態の記録装置全体の制御を司
る。
【0052】印字バッファ1040は、1回の印字に必
要となる印字データを格納するためのバッファである。
印字制御部1050は、記録ヘッド1060への印字デ
ータの転送を制御する。
【0053】図1に示す記録装置のデータ送受信動作を
以下に説明する。
【0054】まず、データ受信動作を説明する。
【0055】図1において、ホスト・コンピュータが送
信した印字データおよび制御コマンド等は、不図示の記
録装置のインタフェース部等を経由して、IEEEP1284.4
受信データとしてIEEEP1284.4通信制御部1010へ転
送される。
【0056】IEEEP1284.4通信制御部1010では、受
信したIEEEP1284.4受信データをIEEEP1284.4パケットと
認識し、受信したIEEEP1284.4パケットのパケット・ヘ
ッダを解析し、論理チャネル、パケット・データ・サイ
ズを特定する。
【0057】さらにIEEEP1284.4通信制御部1010で
は、上記論理チャネルに対応するバッファ、例えば受信
したIEEEP1284.4パケットの論理チャネルn(nは0以
上の整数)に対応するバッファnをバッファ群1020
から選択し、受信したIEEEP1284.4パケットのパケット
・データを上記選択されたバッファnにパケット・デー
タ・サイズ分格納する。
【0058】一方、マイクロプロセッサ1030によっ
て、バッファ群1020の1バッファから読み出された
印字データが、順次、印字バッファ1040に格納され
ていく。印字制御部1050は、マイクロプロセッサ1
030からの印字制御信号に応じ、印字バッファ104
0から印字データを読み出し、所定の駆動タイミングに
則って記録ヘッド1060に転送する。
【0059】マイクロプロセッサ1030は、記録ヘッ
ド1060による印字、およびCRモータ・ドライバ10
90によるCRモータ1100の回転制御、LFモータ・ド
ライバ1070によるLFモータ1080の回転制御を
し、記録媒体上に印字データに応じた画像を形成してい
く。
【0060】次に、データ送信動作を説明する。
【0061】図1のIEEEP1284.4通信制御部1010で
は、マイクロプロセッサ1030から送られてくる論理
チャネル番号、データ・サイズを受け取り、受け取った
論理チャネル番号に対応するバッファ、例えば論理チャ
ネルn(nは0以上の整数)に対応するバッファn10
21をバッファ群1020から選択し、受け取ったデー
タ・サイズ分のデータを選択されたバッファnから読み
込む。
【0062】さらにIEEEP1284.4通信制御部1010で
は、マイクロプロセッサ1030から送られてくる前述
の論理チャネル番号、データ・サイズに対応したIEEEP1
284.4パケット・ヘッダが作成され、上記選択バッファ
n1021から読み込まれデータと上記パケット・ヘッ
ダよりIEEEP1284.4パケットが生成され、記録装置のイ
ンタフェース部等に生成されたIEEEP1284.4パケットが
転送される。
【0063】上述の記録装置のデータ受信動作におけ
る、バッファ群1020での受信データのバッファリン
グについて、以下詳細に述べる。データ受信時の1論理
チャネル、例えば論理チャネルnに対応したバッファn
1021をリング・バッファとして処理する場合につい
て、図2から図7を用いて説明する。
【0064】図2は、データ受信における、論理チャネ
ルnに対応したバッファn1021をリング・バッファ
として処理する場合の、バッファ処理の内容を表してい
る。
【0065】図2において、リング・バッファ・管理デ
ータ202はマイクロプロセッサ1030内のメモリ内
に設けられる。リング・バッファ・管理データ202
は、リード・ポインタ(Read-Pointer)204、ライト
・ポインタ(Write-Pointer)205、空き容量20
6、最大パケット・データ・サイズ207、クレジット
数208および送信側送信可能パケット数209を管理
する記憶領域である。
【0066】図2におけるリード・ポインタ204とラ
イト・ポインタ205は、「従来の技術」で既述の図8
でのリード・ポインタ/ライト・ポインタと同様のた
め、詳細な説明は省略する。空き容量206はバッファ
n1021の空き容量を示す。最大パケット・データ・
サイズ207は論理チャネルnの最大パケット・データ
・サイズを示す。クレジット数208は、記録装置のデ
ータ受信におけるクレジット数を示す。送信側送信可能
パケット数209は、記録装置がデータ受信処理時に把
握しているホスト・コンピュータの送信側送信可能パケ
ット数を示す。
【0067】クレジット数計算手段203は、マイクロ
プロセッサ1030が図8、図9のプログラムを実行す
ることにより実現される。クレジット数計算手段203
は、空き容量206の計算と算出された空き容量206
と最大パケット・データ・サイズ207からのクレジッ
ト数208の計算等を行う。
【0068】図3から図7は、論理チャネルnに対応し
たバッファn1021をリング・バッファとして処理す
る場合の、バッファ処理の例を示す。
【0069】図3は、論理チャネルnがオープンされ、
記録装置がデータ受信を開始する初期状態を表す。簡単
のため、バッファn1021のサイズを8Kbyte、扱え
る最大パケット・サイズを「最大パケット・データ・サ
イズ1Kbyte+パケット・ヘッダ・サイズ」とする。即
ち、空き容量306は8Kbyte、最大パケット・データ
・サイズ307は1Kbyteである。また、リード・ポイ
ンタ、ライト・ポインタはリセット状態にある。
【0070】この場合、最大8つの最大パケット・サイ
ズのパケットを受信可能、即ちクレジット数308が
“8”なので、記録装置からホスト・コンピュータへ与
えるクレジット数も“8”となる。よって、送信側送信
可能パケット数309は“8”である。
【0071】図4は、図3の後、記録装置が1パケット
を受信した状態を表す。この例では、受信したパケット
のパケット・データ・サイズが0.5Kbyteだった場合
を表す。
【0072】パケットの受信が終了した時点で、バッフ
ァn1021の空き容量406を計算すると、7.5Kb
yteである。したがって、 7.5Kbyte(空き容量406)/1Kbyte(最大パケッ
ト・データ・サイズ307)=7.5 の商の整数部分“7”を採ると、この先受信可能な最大
パケット・サイズのパケット数、即ちクレジット数40
8は“7”となる。
【0073】一方、1パケットを送信したホスト・コン
ピュータ側も1クレジット消費したことが分かってい
る。ここで記録装置側は、 8(クレジット数308)−1(受信パケット数=送信
側消費クレジット数)=7 より、記録装置が把握している送信側送信可能パケット
数409は“7”であり、同様な値をホスト・コンピュ
ータ側も認識する。
【0074】この場合、 7(クレジット数408)−7(送信側送信可能パケッ
ト数409)=0 より、記録装置がホスト・コンピュータに対して追加ク
レジットを発行する必要はない。
【0075】図5は、図4の後、記録装置が1パケット
を受信した状態を表す。この例では、受信したパケット
のパケット・データ・サイズが0.5Kbyteだった場合
を表す。
【0076】パケットの受信が終了した時点で、バッフ
ァn1021の空き容量506を計算すると、7Kbyte
である。したがって、 7Kbyte(空き容量506)/1Kbyte(最大パケット・
データ・サイズ307)=7 より、この先受信可能な最大パケット・サイズのパケッ
ト数、即ちクレジット数508は“7”となる。
【0077】一方、1パケットを送信したホスト・コン
ピュータ側も1クレジット消費したことが分かってい
る。ここで記録装置側は、 7(クレジット数408)−1(受信パケット数=送信
側消費クレジット数)=6 より、記録装置が把握している送信側送信可能パケット
数509は“6”であり、同様な値をホスト・コンピュ
ータ側も認識する。
【0078】この場合、 7(クレジット数508)−6(送信側送信可能パケッ
ト数509)=1 より、記録装置はホスト・コンピュータに対して追加ク
レジット数1を発行する。
【0079】図6は、図5の後、記録装置が1パケット
を受信した状態を表している。この例では、受信したパ
ケットのパケット・データ・サイズが0.7Kbyteだっ
た場合を表す。
【0080】パケットの受信が終了した時点で、バッフ
ァn1021の空き容量606を計算すると、6.3kb
yteである。したがって、 6.3Kbyte(空き容量606)/1Kbyte(最大パケッ
ト・データ・サイズ307)=6.3 の商の整数部分“6”を採ると、この先受信可能な最大
パケット・サイズのパケット数、即ちクレジット数60
8は“6”となる。
【0081】一方、1パケット送信したホスト・コンピ
ュータ側も1クレジット消費したことが分かっている。
ここで記録装置側は、 7(クレジット数508)−1(受信パケット数=送信
側消費クレジット数)=6 より、記録装置が把握している送信側送信可能パケット
数609は“6”であり、同様な値をホスト・コンピュ
ータ側も認識する。
【0082】この場合、 6(クレジット数608)−6(送信側送信可能パケッ
ト数609)=0 より、記録装置がホスト・コンピュータに対して追加ク
レジットを発行する必要はない。
【0083】図7は、図6の後、記録装置がバッファn
1021から1Kbyteのデータの読み出しと1パケット
受信をした状態を表す。この例では、受信したパケット
のパケット・データ・サイズが0.3Kbyteだった場合
を表す。
【0084】パケットの受信が終了した時点で、バッフ
ァn1021の空き容量706を計算すると、7Kbyte
である。したがって、 7Kbyte(空き容量706)/1Kbyte(最大パケット・
データ・サイズ307)=7 より、この先受信可能な最大パケット・サイズのパケッ
ト数、即ちクレジット数708は“7”となる。
【0085】一方、1パケット送信したホスト・コンピ
ュータ側も1クレジット消費したことが分かっている。
ここで記録装置側は、 6(クレジット数608)−1(受信パケット数=送信
側消費クレジット数)=5 より、記録装置が把握している送信側送信可能パケット
数709は“5”であり、同様な値をホスト・コンピュ
ータ側も認識する。
【0086】この場合、 7(クレジット数708)−5(送信側送信可能パケッ
ト数709)=2 より、記録装置はホスト・コンピュータに対して追加ク
レジット数“2”を発行する。
【0087】図8、図9のフロー・チャートは、上述の
図2から図7で示した本発明に係るバッファの処理をマ
イクロプロセッサ1030により実行するための処理手
順を示す。この処理手順は、マイクロプロセッサ103
0が実行可能なプログラム言語の形態で、内臓のメモリ
(記録媒体)に予め記憶されている。
【0088】最初に図8を用いて、受信したパケットの
パケット・データをリング・バッファへ書き込む処理に
ついて説明する。
【0089】図8においてマイクロプロセッサ1030
は、バッファn1021用リング・バッファ管理データ
202のライト・ポインタ205から、受信パケット・
データ・サイズ分のパケット・データをバッファn10
21に書き込んだ場合に得られる、新ライト・ポインタ
をステップS100にて算出する。
【0090】ステップS140でマイクロプロセッサ1
030は、新ライト・ポインタがバッファn1021の
エンド・アドレスを超えていないかチェックする。新ラ
イト・ポインタがバッファn1021のエンド・アドレ
スを超えていない場合、ステップS180へ進む。新ラ
イト・ポインタがバッファn1021のエンド・アドレ
スを超えている場合ステップS160へ進み、新ライト
・ポインタがエンド・アドレスを超えた分に相当する、
スタート・アドレスからのアドレス変位を新たに新ライ
ト・ポインタとし、ステップS180へ進む。
【0091】ステップS180でマイクロプロセッサ1
030は、バッファn1021用リング・バッファ管理
データ202のライト・ポインタ205から、受信パケ
ット・データ・サイズ分のパケット・データをバッファ
n1021に書き込み、ステップS200で新ライト・
ポインタをバッファn1021用リング・バッファ管理
データ202のライト・ポインタ205へセーブする。
【0092】次に、ステップS220でマイクロプロセ
ッサ1030は、バッファn1021用リング・バッフ
ァ管理データ202のリード・ポインタ204、ライト
・ポインタ205およびバッファn1021のサイズよ
り、バッファn1021の空き容量を算出し、バッファ
n1021用リング・バッファ管理データ102の空き
容量206へ算出された空き容量をセーブする。
【0093】ステップS240でマイクロプロセッサ1
030は、バッファn1021用リング・バッファ管理
データ202の空き容量206を最大パケット・データ
・サイズ207で割った商の整数部分より、記録装置の
データ受信に係る新クレジット数を取得する。
【0094】さらにステップS260で、取得した新ク
レジット数から受信パケット数を引いた値を計算し、得
られた値を記録装置がデータ受信処理時に把握している
ホスト・コンピュータの送信側送信可能パケット数とし
て、バッファn1021用リング・バッファ管理データ
202の送信側送信可能パケット数209へセーブす
る。
【0095】ステップS280でマイクロプロセッサ1
030は、上述の新クレジット数から、バッファn10
21用リング・バッファ管理データ202の送信側送信
可能パケット数209の値を引いた値を計算し、得られ
た値を記録装置がホスト・コンピュータへ発行する追加
クレジットの数とする。また、ステップS300で上記
新クレジット数をバッファn1021用リング・バッフ
ァ管理データ202のクレジット数208にセーブす
る。
【0096】ステップS320でマイクロプロセッサ1
030は、上記追加クレジットの有無を判定し、追加ク
レジットが有る場合はステップS340へ進み、無い場
合は処理を終了する。
【0097】次に図9を用いて、セーブされ未読のデー
タをリング・バッファから読み出す処理について説明す
る。
【0098】図9において、マイクロプロセッサ103
0は、バッファn1021用リング・バッファ管理デー
タ202のリード・ポインタ204から、読み出しデー
タ・サイズ分のデータをバッファn1021から読み出
した場合に得られる、新リード・ポインタをステップS
500にて算出する。
【0099】ステップS520でマイクロプロセッサ1
030は、新リード・ポインタがバッファn1021用
リング・バッファ管理データ202のライト・ポインタ
205を追い越していないかチェックする。追い越して
いない場合ステップS540へ進み、追い越している場
合は処理を終了する。
【0100】ステップS540でマイクロプロセッサ1
030は、新リード・ポインタがバッファn1021の
エンド・アドレスを超えていないかチェックする。超え
ていない場合、ステップS580へ進む。超えている場
合ステップS560へ進み、新リード・ポインタがエン
ド・アドレスを超えた分に相当する、スタート・アドレ
スからのアドレス変位を新たに新リード・ポインタと
し、ステップS520へ戻る。
【0101】ステップS580でマイクロプロセッサ1
030は、バッファn1021用リング・バッファ管理
データ202のリード・ポインタ204から、読み出し
データ・サイズ分のパケット・データをバッファn10
21から読み出し、ステップS600で新リード・ポイ
ンタをバッファn1021用リング・バッファ管理デー
タ202のリード・ポインタ204へセーブする。
【0102】以上、説明したように、本実施形態によれ
ば、受信側の記録装置がデータ読み出し後に追加クレジ
ットを正確に算出でき、得られた追加クレジットを送信
側のホスト・コンピュータに発行し、従来のストリーム
方式のごとく受信バッファをリング・バッファとして使
用し、パケットのパケット・データ・サイズに関わらず
受信バッファを有効に使いデータ転送効率を良くするこ
とが可能となる。
【0103】上述の実施形態の他に次の形態を実施でき
る。
【0104】1) 上述の実施形態では、ホスト・コン
ピュータと記録装置との間の通信制御処理を説明した。
しかし、これらの機器に限定することなく、パソコンそ
の他汎用的なコンピュータ、データ処理を行うデータ処
理装置、その他通信機能を有する装置間での通信に、本
発明を適用することができる。
【0105】
【発明の効果】以上、説明したように、本発明によれ
ば、受信側の装置、例えば記録装置の受信可能なクレジ
ット数、および受信側の装置が把握している送信側の装
置の送信可能なクレジット数に基づき、追加で受信可能
なクレジット数を計算し、計算された追加で受信可能な
クレジット数を送信側の装置へ送信する。これにより、
受信側の装置が、データ読み出し後に追加クレジットを
正確に算出でき、得られた追加クレジットを送信側に発
行し、受信バッファをリング・バッファとして使用する
ことが可能となる。
【図面の簡単な説明】
【図1】本実施形態の記録装置の主要構成を示すブロッ
ク構成図である。
【図2】本実施形態の記録装置のデータ受信における、
論理チャネルに対応したバッファをリング・バッファと
して処理する場合の、バッファ処理の概略構成を示す説
明図である。
【図3】本実施形態の記録装置のデータ受信における、
論理チャネルに対応したバッファをリング・バッファと
して処理する場合の、バッファ処理の例を示した説明図
である。
【図4】本実施形態の記録装置のデータ受信における、
論理チャネルに対応したバッファをリング・バッファと
して処理する場合の、バッファ処理の例を示した説明図
である。
【図5】本実施形態の記録装置のデータ受信における、
論理チャネルに対応したバッファをリング・バッファと
して処理する場合の、バッファ処理の例を示した説明図
である。
【図6】本実施形態の記録装置のデータ受信における、
論理チャネルに対応したバッファをリング・バッファと
して処理する場合の、バッファ処理の例を示した説明図
である。
【図7】本実施形態の記録装置のデータ受信における、
論理チャネルに対応したバッファをリング・バッファと
して処理する場合の、バッファ処理の例を示した説明図
である。
【図8】本実施形態のバッファの処理を行うプログラム
の処理手順を説明するフロー・チャートである。
【図9】本実施形態のバッファの処理を行うプログラム
の処理手順を説明するフロー・チャートである。
【図10】IEEEP1284.4に準拠した、IEEEP1284.4パケッ
トの構成を示す構成図である。
【図11】従来のブロック化された受信バッファを示し
た説明図である。
【図12】従来のセントロニクス・インタフェースでの
リング構成の受信バッファを示した説明図である。
【符号の説明】
1010 IEEEP1284.4通信制御部 1020 バッファ群 1021 バッファn 1030 マイクロプロセッサ 1040 印字バッファ 1050 印字制御部 1060 記録ヘッド 1070 LFモータ・ドライバ 1080 LFモータ 1090 CRモータ・ドライバ 1100 CRモータ 201 リング・バッファ 202 リング・バッファ・管理データ 203 クレジット数計算手段 204 リング・バッファ・リード・ポインタ 205 リング・バッファ・ライト・ポインタ 206 リング・バッファ・空き容量 207 受信最大パケット・データ・サイズ 208 受信側クレジット数 209 送信側送信可能パケット数 306 リング・バッファ・空き容量 307 受信最大パケット・データ・サイズ 308 受信側クレジット数 309 送信側送信可能パケット数 406 リング・バッファ・空き容量 408 受信側クレジット数 409 送信側送信可能パケット数 506 リング・バッファ・空き容量 508 受信側クレジット数 509 送信側送信可能パケット数 606 リング・バッファ・空き容量 608 受信側クレジット数 609 送信側送信可能パケット数 706 リング・バッファ・空き容量 708 受信側クレジット数 709 送信側送信可能パケット数
フロントページの続き Fターム(参考) 5B089 GA04 GB01 HA06 HB18 KE03 KE09 KG05 5K034 AA02 AA04 EE10 EE11 FF01 FF02 FF13 FF15 FF18 GG02 GG06 HH12 HH17 HH26 HH46 HH49 HH50 HH56 MM14 MM16 MM39 NN22 NN26

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 送信側の装置から送信されたデータをパ
    ケット通信機能により受信する通信制御装置において、 受信したパケット・データを記憶するために、パケット
    の論理チャネルに対応してリング・バッファ的に使用す
    る記憶手段と、 前記記憶手段の容量と前記論理チャネルの転送可能な最
    大パケット・サイズのデータ量に基づき、該記憶手段が
    受信可能なクレジット数を計算し、当該計算された受信
    可能なクレジット数を送信側の装置に対してデータ受信
    開始時に発行する手段と、 前記記憶手段のライト・ポインタ、リード・ポインタの
    値と容量に基づき、該記憶手段の空き容量を計算し、当
    該計算された空き容量に基づき、追加で受信可能なクレ
    ジット数を計算する手段と、 当該計算された追加で受信可能なクレジット数を送信側
    の装置に対して発行する手段とを具えたことを特徴とす
    る通信制御装置。
  2. 【請求項2】 請求項1に記載の通信制御装置におい
    て、前記追加で受信可能なクレジット数を計算する手段
    は、前記空き容量と前記論理チャネルの転送可能な最大
    パケット・サイズのデータ量に基づき、前記記憶手段が
    受信可能なクレジット数を計算する手段と、前記通信制
    御装置が把握している送信側の装置の送信可能なパケッ
    ト数と、当該計算された受信可能なクレジット数との差
    分に基づき、追加の受信可能なクレジット数を計算する
    手段とを具えたことを特徴とする通信制御装置。
  3. 【請求項3】 請求項1に記載の通信制御装置におい
    て、前記送信側の装置では、該通信制御装置の前記デー
    タ受信開始時に発行する手段により発行された受信可能
    なクレジット数と、該通信制御装置の前記発行する手段
    により発行された追加で受信可能なクレジット数との和
    と、送信したパケット数との差分に基づき、送信可能な
    パケット数を認識することを特徴とする通信制御装置。
  4. 【請求項4】 請求項1に記載の通信制御装置におい
    て、前記パケット通信機能はIEEEP1284.4プロトコルを
    使用することを特徴とする通信制御装置。
  5. 【請求項5】 請求項1に記載の通信制御装置におい
    て、該通信制御装置は、記録装置に設置されることを特
    徴とする通信制御装置。
  6. 【請求項6】 請求項1〜請求項3のいずれかに記載の
    通信制御装置において、前記クレジット数はパケット数
    であることを特徴とする通信制御装置。
  7. 【請求項7】 送信側の装置から送信されたデータをパ
    ケット通信機能により受信する通信制御装置での通信制
    御方法において、 受信したパケット・データをパケットの論理チャネルに
    対応させてリング・バッファに記憶し、 前記リング・バッファの容量と前記論理チャネルの転送
    可能な最大パケット・サイズのデータ量に基づき、該リ
    ング・バッファが受信可能なクレジット数を計算し、当
    該計算された受信可能なクレジット数を送信側の装置に
    対してデータ受信開始時に発行し、 前記リング・バッファのライト・ポインタ、リード・ポ
    インタの値と容量に基づき、該リング・バッファの空き
    容量を計算し、当該計算された空き容量に基づき、追加
    で受信可能なクレジット数を計算し、 当該計算された追加で受信可能なクレジット数を送信側
    の装置に対して発行することを特徴とする通信制御方
    法。
  8. 【請求項8】 請求項7に記載の通信制御方法におい
    て、前記追加で受信可能なクレジット数を計算する方法
    は、前記空き容量と前記論理チャネルの転送可能な最大
    パケット・サイズのデータ量に基づき、前記リング・バ
    ッファが受信可能なクレジット数を計算し、前記通信制
    御装置が把握している送信側の装置の送信可能なパケッ
    ト数と、当該計算された受信可能なクレジット数との差
    分に基づき、追加の受信可能なクレジット数を計算する
    ことを特徴とする通信制御方法。
  9. 【請求項9】 請求項7に記載の通信制御方法におい
    て、前記送信側の装置では、該通信制御装置の前記デー
    タ受信開始時に発行された受信可能なクレジット数と、
    該通信制御装置の前記発行された追加で受信可能なクレ
    ジット数との和と、送信したパケット数との差分に基づ
    き、送信可能なパケット数を認識することを特徴とする
    通信制御方法。
  10. 【請求項10】 請求項7に記載の通信制御方法におい
    て、前記パケット通信機能はIEEEP1284.4プロトコルを
    使用することを特徴とする通信制御方法。
  11. 【請求項11】 請求項7に記載の通信制御方法におい
    て、前記通信制御装置は、記録装置に設置されることを
    特徴とする通信制御方法。
  12. 【請求項12】 請求項7〜請求項9のいずれかに記載
    の通信制御方法において、前記クレジット数はパケット
    数であることを特徴とする通信制御方法。
  13. 【請求項13】 通信制御装置においてパケット通信機
    能により送信側の装置から送信されたデータを受信する
    ためのプログラムを記録した記録媒体において、 受信したパケット・データをパケットの論理チャネルに
    対応させてリング・バッファに記憶するステップと、 前記リング・バッファの容量と前記論理チャネルの転送
    可能な最大パケット・サイズのデータ量に基づき、該リ
    ング・バッファが受信可能なクレジット数を計算し、当
    該計算された受信可能なクレジット数を送信側の装置に
    対してデータ受信開始時に発行するステップと、 前記リング・バッファのライト・ポインタ、リード・ポ
    インタの値と容量に基づき、該リング・バッファの空き
    容量を計算し、当該計算された空き容量に基づき、追加
    で受信可能なクレジット数を計算するステップと、 当該計算された追加で受信可能なクレジット数を送信側
    の装置に対して発行するステップとを具えたことを特徴
    とする記録媒体。
  14. 【請求項14】 請求項13に記載の記録媒体におい
    て、前記追加で受信可能なクレジット数を計算するステ
    ップは、前記空き容量と前記論理チャネルの転送可能な
    最大パケット・サイズのデータ量に基づき、前記リング
    ・バッファが受信可能なクレジット数を計算するステッ
    プと、前記通信制御装置が把握している送信側の装置の
    送信可能なパケット数と、当該計算された受信可能なク
    レジット数との差分に基づき、追加の受信可能なクレジ
    ット数を計算するステップとを具えたことを特徴とする
    記録媒体。
  15. 【請求項15】 請求項13に記載の記録媒体におい
    て、前記送信側の装置では、該通信制御装置の前記デー
    タ受信開始時に発行するステップにより発行された受信
    可能なクレジット数と、該通信制御装置の前記発行する
    ステップにより発行された追加で受信可能なクレジット
    数との和と、送信したパケット数との差分に基づき、送
    信可能なパケット数を認識することを特徴とする記録媒
    体。
  16. 【請求項16】 請求項13に記載の記録媒体におい
    て、前記パケット通信機能はIEEEP1284.4プロトコルを
    使用することを特徴とする記録媒体。
  17. 【請求項17】 請求項13に記載の記録媒体におい
    て、前記通信制御装置は、記録装置に設置されることを
    特徴とする記録媒体。
  18. 【請求項18】 請求項13〜請求項15のいずれかに
    記載の記録媒体において、前記クレジット数はパケット
    数であることを特徴とする記録媒体。
JP26783699A 1999-09-21 1999-09-21 通信制御装置、方法および記録媒体 Pending JP2001094613A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26783699A JP2001094613A (ja) 1999-09-21 1999-09-21 通信制御装置、方法および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26783699A JP2001094613A (ja) 1999-09-21 1999-09-21 通信制御装置、方法および記録媒体

Publications (1)

Publication Number Publication Date
JP2001094613A true JP2001094613A (ja) 2001-04-06

Family

ID=17450305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26783699A Pending JP2001094613A (ja) 1999-09-21 1999-09-21 通信制御装置、方法および記録媒体

Country Status (1)

Country Link
JP (1) JP2001094613A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005055546A1 (ja) * 2003-12-03 2005-06-16 Nec Corporation セッション中継装置、セッション中継方法及びセッション中継プログラム
WO2008050394A1 (fr) 2006-10-24 2008-05-02 Fujitsu Limited Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données
US7515534B2 (en) 2004-01-29 2009-04-07 Canon Kabushiki Kaisha Printing apparatus and reception buffer management method
JP2009540681A (ja) * 2006-06-05 2009-11-19 フリースケール セミコンダクター インコーポレイテッド データ通信フロー制御の装置および方法
JP2012039661A (ja) * 2008-12-29 2012-02-23 Apple Inc リソースの粒度がクレジットの粒度よりも大きいときのクレジット管理
EP2461525A1 (en) * 2010-12-03 2012-06-06 MIMOON GmbH Method and appratus for aligning data frames in a transceiver device
US8316129B2 (en) 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
JP2016174292A (ja) * 2015-03-17 2016-09-29 株式会社リコー 通信装置、通信制御プログラム、および通信制御方法
US10630781B2 (en) 2011-09-09 2020-04-21 Microsoft Technology Licensing, Llc SMB2 scaleout

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4650792B2 (ja) * 2003-12-03 2011-03-16 日本電気株式会社 セッション中継装置、セッション中継方法及びセッション中継プログラム
JPWO2005055546A1 (ja) * 2003-12-03 2007-07-05 日本電気株式会社 セッション中継装置、セッション中継方法及びセッション中継プログラム
US8793394B2 (en) 2003-12-03 2014-07-29 Nec Corporation Session relaying apparatus, session relay method, and session relay program
WO2005055546A1 (ja) * 2003-12-03 2005-06-16 Nec Corporation セッション中継装置、セッション中継方法及びセッション中継プログラム
US7515534B2 (en) 2004-01-29 2009-04-07 Canon Kabushiki Kaisha Printing apparatus and reception buffer management method
US8825885B2 (en) 2005-05-25 2014-09-02 Microsoft Corporation Data communication protocol
US9438696B2 (en) 2005-05-25 2016-09-06 Microsoft Technology Licensing, Llc Data communication protocol
US8316129B2 (en) 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
US9332089B2 (en) 2005-05-25 2016-05-03 Microsoft Technology Licensing, Llc Data communication coordination with sequence numbers
US9071661B2 (en) 2005-05-25 2015-06-30 Microsoft Technology Licensing, Llc Data communication coordination with sequence numbers
US8850025B2 (en) 2005-05-25 2014-09-30 Microsoft Corporation Data communication coordination with sequence numbers
JP2009540681A (ja) * 2006-06-05 2009-11-19 フリースケール セミコンダクター インコーポレイテッド データ通信フロー制御の装置および方法
US8631152B2 (en) 2006-10-24 2014-01-14 Fujitsu Limited System and method for data packet transmission and reception
WO2008050394A1 (fr) 2006-10-24 2008-05-02 Fujitsu Limited Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données
JP2012039661A (ja) * 2008-12-29 2012-02-23 Apple Inc リソースの粒度がクレジットの粒度よりも大きいときのクレジット管理
US8400924B2 (en) 2008-12-29 2013-03-19 Apple Inc. Credit management when resource granularity is larger than credit granularity
EP2461525A1 (en) * 2010-12-03 2012-06-06 MIMOON GmbH Method and appratus for aligning data frames in a transceiver device
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US10284626B2 (en) 2011-06-29 2019-05-07 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US9462039B2 (en) 2011-06-30 2016-10-04 Microsoft Technology Licensing, Llc Transparent failover
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US10630781B2 (en) 2011-09-09 2020-04-21 Microsoft Technology Licensing, Llc SMB2 scaleout
JP2016174292A (ja) * 2015-03-17 2016-09-29 株式会社リコー 通信装置、通信制御プログラム、および通信制御方法

Similar Documents

Publication Publication Date Title
JP3602089B2 (ja) 通信システム
US7058748B1 (en) ATA device control via a packet-based interface
US7200685B2 (en) Communication apparatus for communicating data between separate toplogies, and related method, storage medium, and program
US6185607B1 (en) Method for managing network data transfers with minimal host processor involvement
EP0996069B1 (en) Method of transferring image data using a IEEE 1394 bus
JP2001094613A (ja) 通信制御装置、方法および記録媒体
WO2004029817A1 (en) Bus connection system
JP2004157966A (ja) エンドポイント・メモリ制御方法、エンドポイント・メモリ制御装置、usb装置および記憶媒体
JP2003316712A5 (ja)
US6445718B1 (en) Serial interface circuit
US5926650A (en) Method and system utilizing a negotiation phase to transfer commands and data in separate modes over a host/peripheral interface
EP1687922B1 (en) Backward-compatible parallel ddr bus for use in host-daughtercard interface
JP4264924B2 (ja) データ転送方法
JP2003248558A (ja) データ転送方法、および、その装置
JP2004013429A (ja) データ制御方式及び記録装置
JP3579884B2 (ja) データ通信方法及び装置、並びにプリンタ及びその制御方法
EP1195685B1 (en) A process for interfacing a microprocessor with a packet based device and respective system
JP2000022743A (ja) 非同期データ通信方法
JP3754930B2 (ja) プリンタ及びプリンタシステム
KR101005397B1 (ko) 버스 스테이션 및 버스 통신 시스템
JP2004078877A (ja) データ通信システム
JP2004118517A (ja) データ転送方法及び装置及び印刷方法及び印刷装置及びデータ転送装置の制御プログラム及び記憶媒体
JP2003242103A (ja) シリアルバス通信システムおよびシリアルバス通信方法
JPH11232243A (ja) 通信制御装置、方法および通信制御システム
JP2003023471A (ja) パケット送受信処理回路