JPH1195948A - プリンタ用パケット通信データに用いられる通信用バッファを動的に管理するための方法及び装置 - Google Patents

プリンタ用パケット通信データに用いられる通信用バッファを動的に管理するための方法及び装置

Info

Publication number
JPH1195948A
JPH1195948A JP16909698A JP16909698A JPH1195948A JP H1195948 A JPH1195948 A JP H1195948A JP 16909698 A JP16909698 A JP 16909698A JP 16909698 A JP16909698 A JP 16909698A JP H1195948 A JPH1195948 A JP H1195948A
Authority
JP
Japan
Prior art keywords
size
buffer
buffers
data
transmission
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
JP16909698A
Other languages
English (en)
Inventor
Kaataa Buraun Ritsukii
リッキー・カーター・ブラウン
Reen Meiberii Maaku
マーク・レーン・メイベリー
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.)
Lexmark International Inc
Original Assignee
Lexmark International 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 Lexmark International Inc filed Critical Lexmark International Inc
Publication of JPH1195948A publication Critical patent/JPH1195948A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 バッファのサイズと数を動的に割り振ると共
に、利用可能なメモリの量を効率よく使用して、メモリ
の割り振られた量に関して最適なスループット機能を与
える通信バッファシステムを提供する。 【解決手段】 送信バッファのサイズ及び数が先ず決定
され、この決定はその瞬間にどれ位のプール域がプリン
タのメモリ・システムで利用できるかを考慮した後に行
われ、送信バッファのサイズ及び数が決定されると、受
信バッファが次に構成される。最初のステップは暫定的
な計算を行って、受信バッファ・サイズがホスト・コン
ピュータとプリンタの間のこの特定の構成に対する最大
ターンアラウンド時間中に受信できるデータの量よりも
大きく設定されないようにすることである。これが決定
された後、受信バッファのサイズが暫定的に2の累乗に
設定され、バッファの数がこの受信バッファ・サイズで
除した残っているプール・サイズに等しく設定される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的には通信機器
に関し、特に、赤外線通信ポートを含んでいるタイプの
プリンタを対象としている。本発明は、通信リンクにわ
たってのデータ受信に用いられる一組の送信受信バッフ
ァを動的に割り振るプリンタとして特定的に開示されて
いる。
【0002】
【従来の技術】通信システムは通常、通信リンクからデ
ータを受信する場合に、1つ或は複数のバッファを使用
して、受信装置の処理システムが情報を処理できるよう
になるまで、データを記憶する。ほとんどの状況におい
て、バッファに入ってくる情報は、データが消費される
速度とは大幅に異なるデータ伝送速度で到着する。更
に、処理システムが本質的にシリアルである場合には、
最初のデータが通信リンクを介して到着したときに、処
理システムが他のタスクを実行していてビジィーである
ことがしばしばあり、それ故にプロセッサがこの他のタ
スクからデータを処理する新しいタスクにジャンプし
て、直ちに利用可能とはならない。この状況のため、従
来のバッファの中には実質的な自律モードで動作して、
主システム・プロセッサの助けなしでバッファにデータ
を記憶でき、従ってプロセッサがこのデータを適切に処
理できるようになる前にこのデータの部分が失われるこ
とがない。
【0003】ある種の通信バッファ取扱いシステムが米
国特許第5,179,662号(Corrigan)等の
米国特許に開示されており、2重バッファ手法を使用し
て補助記憶装置へデータを書き込んだり、或はこれらデ
ータを読み取るために最適化入出力バッファを使用する
システムが開示されている。この特許において、補助記
憶装置という用語は磁気ディスク或は光ディスクを指
し、これらはその記憶媒体との間のデータ転送にはきわ
めて遅いものである。従来技術において、ほとんどのコ
ンピュータはバッファを使用して、データを補助記憶装
置との間で「ページ(page)」する。バッファはR
AMなどの高速なメモリ域に配置される。Corrig
an特許において、ユーザがデータを補助記憶装置へ送
ることを望んだ場合、内容が補助記憶装置へ非同期的に
書き込まれるとき、第1のバッファにはデータが充填さ
れる。非同期書込みが完了するのを待つことなく、第2
のバッファにはデータが充填され、これが充填された
後、その内容が補助記憶装置へ非同期的に書き込まれ
る。このときまでに第1のバッファがその書込み動作を
完了していない場合、バッファのサイズが小さすぎると
の判断が行われ、両方のバッファのサイズが増やされ
る。サイズのこの増加は増分的に行われ、コンピュータ
が1つのバッファにデータを再充填できるようになる前
に、そのバッファがその書込み動作を完了するのを、コ
ンピュータ同期的に待つ必要がなくなるまで継続する。
他方、バッファのサイズが大きくなりすぎることもあ
り、これは第1のバッファがその書込み動作を完了して
から、第2のバッファに所定の閾率以上に充填される場
合に真であると判断される。その場合、両方のバッファ
のサイズは小さくされる。理想的には、第2のバッファ
に50%などの所定の閾率以上に充填が行われた場合
に、第1のバッファがその書込み動作を完了することで
ある。
【0004】他の特許、即ち米国特許第5,289,47
0号(Chang)はネットワーク装置にデータ・パケ
ットを記憶するメモリ・バッファ・システムを開示して
いる。ネットワーク装置は複数のバッファを有してお
り、各バッファ・セットはあるサイズの個別のバッファ
を有している。たとえば、バッファ・セット1は、すべ
て同じサイズの8つのバッファを有していることができ
る。バッファ・セット2はすべて同じサイズであるが、
セット2のバッファがセット1のバッファよりも大きい
6つのバッファを有していることができる。この特許に
記載されている例においては、5つの異なるセットのバ
ッファがあり、セットを示す数字が増えるにしたがい、
各々のサイズは順次大きくなる。データ・パケットをネ
ットワーク装置で受信した場合、バッファはまずバッフ
ァ・セット1から割り振られる。パケットのサイズがこ
の割り振られたバッファ・サイズを超えない場合、パケ
ット全体がそのバッファに格納される。それ以外の場合
には、データ・パケットの一部がこの第1のバッファを
充填し、セット2からの他のバッファが割り振られて、
このパケットの残りを格納する。パケットがセット1及
びセット2からの組合せバッファ内に依然収まらない場
合には、セット3からのバッファが割り振られて、この
パケットを格納する。より大きいバッファのこの漸増割
振りは、データ・パケット全体が1つ或は複数のバッフ
ァに記憶されるまで継続する。
【0005】他の特許、即ち米国特許第5,303,34
7号(Gagne)は、異なる属性を有する情報のパケ
ットをホスト・メモリ内のバッファに転送するネットワ
ーク・データ受信装置を開示している。このメモリは特
定の属性値或は値の範囲専用であり、特定のパケット属
性の特定の値の範囲専用のメモリ・バッファに各々が関
連付けられた、受信リングの形態の複数の共用データ構
造を使用する。着信パケットは、パケットの属性に対応
する属性を有しているバッファへ送られる。幾つかのタ
イプのバッファへパケットを送る際に使用できる属性と
しては、(1)パケット・サイズ、(2)ネットワーク
・ユーザ識別記号、(3)サイズとユーザIDの組合
せ、並びに、(4)ソースIDやデータ・タイプなどの
他のタイプの属性がある。
【0006】米国特許第5,566,315号(Mili
llo)は高低の閾値を調節することによって動的に制
御される、コンピュータ内のキャッシュ・メモリ・スペ
ースを開示している。高低の閾値は入出力要求に対する
応答で達成される割振りの数、ならびに割振りを達成で
きなかったときに生じるブロッキングの数に基づいて調
節される。低閾値は「割振りプレディクタ(allocation
predictor)」に対する直接関係で設定され、高閾値は
「ブロッキング・プレディクタ(blockage predictor)」
に対する所定の直接関係で設定される。フリー・スペー
スの量が低閾値まで減少した場合、キャッシュ・メモリ
のフリー・スペースを増やすために、キャッシュ・スペ
ースは解除され、またフリー・スペースの量が高閾値に
達した場合、キャッシュ・スペースの解除は停止され
る。
【0007】米国特許第5,442,747号(Cha
n)はすべての着信データ及びすべての発信データを待
ち行列化するマルチポート中央キャッシュ・メモリを有
するマルチメディア・ビデオ・プロセッサ・チップを開
示している。キャッシュの各記憶域は特定のデータ・ソ
ースからのデータの記憶専用である。キャッシュ境界は
記憶域が所与のモードにおけるデータ・ストリームに対
する最悪な状態に合わせて最適化されるように選択され
る。データを待ち行列化するためにFIFO装置は使用
されず、その代わりに、入力或は出力されるすべてのデ
ータを待ち行列化するために単一の中央キャッシュが使
用される。キャッシュはランダム・アクセス・メモリ
(RAM)であり、モードを変更したときに、その内部
境界域を変更することができる。開示されている3つの
モードは(1)インタレース・フレーム・データの2つ
の入力ストリームをRAMに格納し、出力データを2つ
の入力ストリームを組み込んだノンインタレース画像デ
ータとする場合、(2)入力データの単一ストリームを
バッファし、出力データの2つのストリームをバッファ
する場合、ならびに(3)入力データを待ち行列化し、
最終的に、表示することなく、ハード・ディスクによっ
てキャプチャする場合である。境界制御回路が異なるグ
ループのレジスタをバッファに割り振って、各グループ
のレジスタがデータ・ソースのうち単一のものからのデ
ータだけを含むようにする。レジスタの各グループのサ
イズはビデオ画像メモリ・システムに対して選択された
動作の特定のモードに応じて変わる。
【0008】米国特許第5,130,986号(Dosh
i)は受信機が送信機に対して受信したデータ・パケッ
トの各ブロックについて確認する必要のある光ファイバ
長距離データ通信システムを開示している。2つのウィ
ンドウ、即ち(1)帯域幅遅延積の値に設定されたサイ
ズを有する、ネットワーク内のデータを制限する「ネッ
トワーク・ウィンドウ(network window)」と、(2)受
信データを一時的に保持して、パケットが脱落したり、
あるいは失われたりしないようにする「受信機フロー制
御ウィンドウ(receiver flow control window)」が作成
される。受信機フロー制御ウィンドウはネットワーク・
ウィンドウのサイズの2倍以上の値に設定される。
【0009】米国特許第5,440,692号(Jani
cek)は動的に拡張或は収縮できるD−Base2バ
ッファ・プールを開示している。残っている仮想記憶ス
ペースが10Mバイト未満に低下した場合、拡張要求は
拒絶される。拡張要求が受け入れられた場合、サイズが
4K或は32Kのページを割り振る。収縮要求はまず、
バッファ内の待ち行列のタイプを調べる。待ち行列のタ
イプが「使用中(in use)」チェーンである場合、バッフ
ァは解除されない。待ち行列のタイプが「未使用(never
use)」チェーンである場合、これは解除される。「以
前使用(previously use)」チェーンはDB2アプリケー
ションがそのチェーンで終わった場合に、解除される。
【0010】米国特許第5,046,039号(Ugaj
in)は全体的なバッファ・サイズが一定であるが、送
信バッファと受信バッファのサイズの比が可変であるバ
ッファ管理システムを開示している。時間間隔ごとの受
信バッファ・ビジー状態オカレンスがプリセット値より
も大きくなった場合、受信バッファ域(或は、受信バッ
ファの数)が大きくされ、送信バッファ域は同じ量だけ
減らされる。
【0011】米国特許第4,158,235号(Cal
l)は入出力バッファの各々に複数の入出力ポートのい
ずれかによってアクセスできるバッファ記憶システムを
開示している。メモリ・セルには、データ・ポートが要
求した名前とマッチしていなければならない論理名が割
り当てられる。
【0012】
【発明が解決しようとする課題】従って、本発明の主な
目的は、バッファとして使用するのに利用できるメイン
・システム・メモリの「プール域(pool area)」内の利
用可能なメモリの量に従って、またバッファが割り振ら
れるポートの通信パラメータに従って、バッファ・サイ
ズとバッファ数を動的に割り振るプリンタを提供するこ
とである。
【0013】本発明の他の目的は、赤外線データ協会プ
ロトコル(Infrared Data Associ
ation Protocol)に従って赤外線通信ポ
ートを介して送信ステーションと通信できるプリンタを
提供することである。
【0014】本発明の更に他の目的は、サイズ及び/或
はバッファを増やすか、プリンタが受信しているプリン
ト・ジョブ・データを効率よく記憶するのに必要とされ
るバッファの数を増やすとともに、データを受信してい
る特定の通信リンクの通信パラメータに従ってバッファ
の数及びサイズを割り振ることによって、プリンタ内の
メモリの利用度を最大限のものとすることにある。
【0015】本発明の更にまた他の目的は、赤外線通信
ポートを有しており、特定のホスト装置によるディスカ
バリの際に、プリンタのメモリにバッファのサイズ及び
数を割り振って、ディスカバリ手順中に決定される通信
パラメータに従ってそのホストからのデータを最も効率
よく受信するプリンタを提供することである。
【0016】本発明の更にまた他の目的は、通信リンク
の他端にあるホスト・ステーションが送信できる通信デ
ータの最大送信パケット・サイズで使用するためにバッ
ファの適切なサイズ及び数を割り振ることによりバッフ
ァに対して利用可能なメモリの量を効率よく使用する赤
外線通信リンクとともに使用される通信装置を提供する
ことである。
【0017】本発明の付加的な目的、利点、並びにその
他の新規の特徴の一部は以下の説明で説明し、また一部
は以下の検証から当分野の技術者には明らかとなろう
し、また本発明を実施することにより理解されよう。
【0018】
【課題を解決するための手段】上記及びその他の目的を
達成するため、また本発明の一態様によれば、バッファ
のサイズ及び数を動的に割り振って、通信リンクにより
通信データのパケットを最適に受信するとともに、利用
可能なメモリの量を効率的に使用して、メモリの割り振
られた量に関して最適なスループット機能を提供する改
善された通信バッファ・システムが提供される。このバ
ッファ・システムは赤外線通信ポートに簡単に適合させ
ることができ、動的割振りは送信赤外線ポート及び受信
赤外線ポートが通信パラメータを共用し、両方の装置が
一組の同意通信パラメータに切り換わる際の「ディスカ
バリ(discovery)」ダイアログ手順後に行われる。これ
が発生した後、通信バッファ・システムは本発明の原理
に従って、バッファのサイズ及び数を最適化する。一般
に、送信装置の接続が断たれると(即ち、通信セッショ
ンを終了すると)、本発明の通信バッファ・システムは
そのデフォルトの設定に戻る。
【0019】本発明の通信バッファ・システムは、1つ
或は複数のホスト・コンピュータから、プリンタの1つ
或は複数のポートを介して、一般にプリント・ジョブの
形態でデータを受信する印刷装置にも含まれる。このタ
イプのプリンタは通常、パラレル・ポート、シリアル・
ポート、ネットワーク・ポート、並びに赤外線ポートを
含む数種類の異なるタイプのポートからデータを受け取
る。本発明の原理を使用して、これら各種のタイプのポ
ートのいずれかに対してバッファのサイズ及び数を動的
に割り振り、かつ、上記で関連付けたように、IrDA
(赤外線協会)プロトコルにより各種の送信速度、デー
タ・パケット・サイズ、最大ターンアラウンド時間、並
びにその他の通信パラメータが1つのホスト−受信機組
合せから他のものへ変化する可能性を可能とすることが
できるため、赤外線通信ポートとともに使用する場合に
特に有利である。ディスカバリ・ダイアログ手順が実行
されるまで、通信パラメータが大幅に変動するものであ
るため、受信プリンタ装置が実際には、最適なバッファ
の設定がどういうものとなるべきなのかを現実的に知る
方法がない。
【0020】通信セッションが開始され、ホスト・コン
ピュータ及び本発明のプリンタがディスカバリ・ダイア
ログを確立すると、プリンタはバッファのサイズ及び数
を最も効率よく割り振るために十分な情報を取得する。
この手順の開始時に、プリンタはまず、その「プール
域」でどれ位の「フリー(free)」メモリを利用できるの
かを判断し、次いで、そのプール域を送信バッファ及び
受信バッファの両方へどのように分割するのか最良であ
るかを判断する。これらのバッファのサイズを増やすだ
けではないことが重要であるが、さまざまな理由からバ
ッファの数を増やすことが重要であることもしばしばあ
る。詳細にいうと、通信データ転送速度が特定のホスト
・コンピュータとプリンタの組合せに対して特に高速で
ある場合、単一の伝送セッション中に、2つ以上のデー
タ・パケットをホスト・コンピュータとプリンタの間で
送受信することができる。プリンタに情報の各パケット
を単一のバッファに格納させるのが一般にきわめて効果
的であり、従って、複数のパケットを受信するために
は、プリンタは同じような複数のバッファを利用できる
ようにする必要がある。もちろん、これらの受信バッフ
ァの各々はバッファに割り振られた十分なメモリを有し
ているので、特定の伝送シーケンスの各パケットに対す
る最大パケット・サイズ全体を格納することができる。
【0021】本発明の他の態様においては、データ・メ
ッセージの最初の受信時に、送信バッファのサイズ及び
数がまず決定され、この決定はその時点でプリンタのメ
モリ・システムでどれ位のプール域が利用できるかを検
討した後に行われる。送信バッファのサイズ及び数が決
定されると、受信バッファが次に決定される。第1のス
テップは予備計算を行って、受信バッファ・サイズがホ
スト・コンピュータとプリンタの間のこの特定の構成に
対する最大ターンアラウンド時間中に受信することので
きるデータの量よりも大きく設定されないようにするこ
とである。これが決定された後、受信バッファ・サイズ
は暫定的に2の累乗に設定され、バッファの数はこの受
信バッファ・サイズで除した残余のプール・サイズに等
しく設定される。少なくともある最小数の受信バッファ
が存在するようになった後、「ウィンドウ・サイズ(win
dow size)」が少なくとも赤外線通信ポートに対するあ
る最大サイズに設定される。プール域全体がこれらの送
信及び受信バッファに割り振られると、通信セッション
をホスト・コンピュータとプリンタの間で開始して、実
際のプリント・ジョブ・データを通信することができ
る。
【0022】バッファ管理のこの方法の主な利点はその
最適化されたメモリ利用度にある。ポートに利用できる
メモリは常に、現行の接続パラメータにとって最も有利
な態様で使用される。システムの動作中にこれらのパラ
メータが変化できるという事実は動的な動的な調節を必
要とする。このシステムの他の利点は、データをこれを
受信したパケット・バッファから、使用されるのを待っ
ているリングへコピーする必要がないことである。デー
タはその代わりに、パケット・バッファから直接消費さ
れる。
【0023】本発明の更に他の目的は、以下の説明及び
本発明を実行することが考えられている最良のモードの
1つにおける本発明の好適実施例が図示されている図面
から、当分野の技術者には明らかとなろう。以下で認識
されるように、本発明は他の異なる実施例にできるもの
であり、その幾つかの細部は、本発明から逸脱すること
なく各種の明白な態様に於いて変更できるものである。
従って、図面及び説明は本質的に説明的なものとみなさ
れるべきであり、制限的なものとみなされるべきではな
い。
【0024】本明細書に組み込まれ、その一部を形成す
る添付図面は本発明の幾つかの態様を示すものであり、
以下の説明及び特許請求の範囲とともに、本発明の原理
を説明するのに役立つものである。
【0025】
【発明の実施の形態】同様な符号が図全体にわたり同じ
要素を示している添付図面に例が示されている本発明の
好適実施例を詳細に参照する。
【0026】図面を参照すると、図1は参照符号10で
総括的に示されているレーザ・プリンタのハードウェア
・ブロック図を示している。レーザ・プリンタ10は異
なる電圧レベルの複数の出力を有していることのできる
直流電源12、アドレス・ライン、データ・ライン、並
びに、制御及び/或は割込みラインを有しているマイク
ロプロセッサ14、読取り専用メモリ(ROM)16、
並びに、幾つかの異なる機能を実行するため幾つかの部
分に分割されているランダム・アクセス・メモリ(RA
M)などの幾つかの比較的標準的な構成要素を含んでい
るのが好ましい。
【0027】レーザ・プリンタ10は、少なくとも1つ
の赤外線入力ポート或はパラレル入力ポート、または、
多くの場合両方のタイプの入力ポートも含んでおり、赤
外線ポートは参照符号18で、パラレル(並列)ポート
は参照符号20で示されている。これらのポート18及
び20の各々は、図1で参照符号22で総括的に示され
ている対応する入力バッファに接続されている。赤外線
ポート18は通常、ワード・プロセッサ或はグラフィッ
クス・パッケージ或はコンピュータ支援作図パッケージ
などのソフトウェア・プログラムを含んでいるパーソナ
ル・コンピュータ或はワークステーションの赤外線出力
ポートと通信を行う。同様に、パラレル・ポート20は
同じタイプのプログラムを含んでいるパーソナル・コン
ピュータ或はワークステーションの同じタイプのパラレ
ル出力ポートに接続される。このような入力装置はそれ
ぞれ、図1において参照符号24及び26で示されてい
る。
【0028】テキスト或はグラフィック・データを入力
バッファ22が受信すると、一般に参照符号28で示さ
れる1つ或は複数のインタプリタへ通信される。共通イ
ンタプリタはPostScriptTM(ポストスクリプ
ト)であり、これはほとんどのレーザ・プリンタによっ
て使用されている業界標準である。解釈された後、入力
データは通常、共通グラフィックス・エンジンへ送られ
て、ラスタ化される。これは通常、図1において参照符
号30で示されるRAMの部分で行われる。ラスタ化の
処理をスピードアップするため、フォント・プール及び
恐らくはフォント・キャッシュもそれぞれ、ほとんどの
レーザ・プリンタ内にあるROM或はRAMに格納さ
れ、これらのフォント・メモリは図1において参照符号
32で示されている。このようなフォント・プール及び
キャッシュは共通の英数字に対するビットマップ・パタ
ーンを供給して、共通グラフィック・エンジン30がこ
のような文字の各々を最小限の経過時間を使用してビッ
トマップへ変換できるようにする。
【0029】データはラスタ化されると、参照符号34
で示されているRAMの一部である待ち行列マネージャ
或はページ・バッファへ送られる。典型的なレーザ・プ
リンタにおいて、ラスタ化されたデータのページ全体
は、そのページのハード・コピーを物理的に印刷するの
にかかる期間中に待ち行列マネージャに格納される。待
ち行列マネージャ34はリアルタイムで、参照符号36
で示されている印刷エンジンへ通信される。印刷エンジ
ン36は印刷ヘッド内にレーザ光源を含んでおり、その
出力40はレーザ・プリンタ10からの最終印刷出力で
ある、紙への物理的インク供給となる。
【0030】アドレス・ライン、データ・ライン、並び
に、制御ラインが通常バスにグループ化されており、こ
のバスがレーザ・プリンタ10内の各種の電子部品を中
心としてパラレルに(ときには、多重化されて)物理的
に通信する導電路であることが理解されよう。たとえ
ば、アドレス・バス及びデータ・バスは通常、すべての
ROM及びRAM集積回路に送られ、制御ラインないし
割込みラインはバッファとして作用するすべての入力或
は出力集積回路へ送られる。
【0031】本発明のバッファ管理手法はイーサネッ
ト、トークン・リング或はローカル・トークなどの任意
のパケット指向リンク・プロトコルに対して適正に作動
する。赤外線プロトコルはその動的な性質から、現在の
ところ、すべての機能を使用している唯一のものであ
る。赤外線ポートは受信機によって送られる光を送信ス
テーションに点滅させることによって通信を行う。検出
器の性質のため、ステーションがデータを伝送している
場合、その検出器はそれ自体の伝送によってブラインド
され、それ故、受信することができない。これは2つの
ステーションが同時に伝送している事実と組み合され
て、伝送を修復不能に混乱させ、これにより強制的に、
一方のステーションだけが一時にリンクを所有するよう
にする。これはしばしばほとんどのネットワーク・プロ
トコルに共通の制限である。
【0032】送信ステーションにおける光の点滅頻度が
リンク上でのデータ転送速度を決定する。すべての赤外
線装置が同じ速度でデータを送信及び受信できるわけで
はない。現在、データ転送速度は2400ビット/秒か
ら400万ビット/秒の間である。最適の通信を行うた
めには、ステーションはお互いの機能を判定しなければ
ならない。これは「ディスカバリ」と呼ばれる手順によ
って行われる。すべての赤外線(IR)対応ステーショ
ンはこれらが会話に積極的に関与しない場合、「正規切
断モード(normal disconnect mode)」(NDM)と呼ば
れる状態になる。
【0033】IRステーションは2つのクラス、「プラ
イマリ(primaries)」と「セカンダリ(secondaries)」に
分割される。実際には、これらのラベルは永続識別記号
として作用するのではなく、ステーションが果たす役割
をさす。IRステーションがダイアログを開始すること
を望んでいる場合、このステーションはプライマリの役
割を果たし、ディスカバリ・プロセスを開始する。標準
化されたプロセスにより、プライマリはその範囲内にす
べてのIRステーションが存在していると判断する。N
DM状態のデータ転送パラメータは十分に定義されてお
り、NDMでのすべてのステーションはこれらのパラメ
ータに準拠しているトラフィックを聴取している。しか
しながら、NDMトラフィックは低いデータ転送速度
(即ち、9600ビット/秒)で行われるので、プライ
マリは可能な限り高いデータ転送速度へ切り換ろうとす
る。
【0034】プライマリはこれが通信することを望むス
テーションを特定し、「正規応答設定モード(set norma
l response mode)」(SNRM)コマンドをそのステー
ションへ送る。このコマンドはNDM状態でも送られ、
セカンダリに対して、プライマリが接続の開始を望んで
いることを示し、またプライマリのすべての機能も示
す。セカンダリは次いで、プライマリの機能をそれ自体
のものと比較し、両方のステーションがサポートできる
通信パラメータの最良の組を決定する。セカンダリはこ
の情報を(依然、NDM状態で)プライマリへ送り返
す。この時点で、ステーションは新しい通信パラメータ
へ切り換り、接続を開始する。重要な通信パラメータの
中には、転送速度、最大ターンアラウンド時間、最小タ
ーンアラウンド時間、最大パケット・サイズ、並びに、
付加的なフレーム先頭の数が含まれている。これらの属
性はすべて単一のパケットで送信及び/或は受信できる
データの量に影響を及ぼすため重要である。
【0035】赤外線プロトコルの機能が、メモリ管理問
題を生じるパケット・サイズを動的に調整することが好
ましい。この問題は(伝送速度に基づいて)3種類の符
号化手法があることにより、更に複雑なものとなる。ほ
とんどのネットワーク・プロトコル(IRを含む)は、
特別な状態(パケットの先頭及び末尾など)を示すため
の幾つかの予約ビット・パターンを有している。これら
のビット・パターンがデータ内で発生するような場合、
これらを何らかの態様で「クォート(quote)」し、誤解
釈を防止する必要がある。符号化手法のうちの2つは
「ビット・スタッフィング(bit stuffing)」を使用して
この問題を回避している。これは本質的に、この操作を
行うためにハードウェアが存在しており、バッファ・サ
イズに影響を及ぼさないことを必要とする。しかしなが
ら、第3の符号化手法(低いデータ伝送速度用の)は通
常ソフトウェアで実現され、「バイト・スタッフィング
(byte stuffing)」によって行われる。これはパケット
内の各データ・バイトがバッファ・スペースの2つのバ
イトを占める可能性を開くものであるが、バッファ・サ
イズを調節する場合にも考慮しなければならないもので
ある。
【0036】バッファを割り振る際の直接的な従来の手
法の1つは、IRリンク用に予約されているメモリの量
を取り入れて、これを妥当な数のバッファ、入力リン
グ、並びに、出力リングに分割するものである。次い
で、データが着信すると、これをバッファから入力リン
グへ移動し、データが生成された場合には、これを出力
リングからバッファへ移動して、送信する。しかしなが
ら、このような手法における欠点はバッファを常にサポ
ートされている最大サポート・サイズに設定しておかな
ければならないことである。データ・パケット・サイズ
が動的に折衝され、ジョブごとに変わる可能性があるた
め、この構成は大量の無駄なバッファ・スペースをもた
らす可能性がある。更に、これには最小限必要なメモリ
に関して融通性がなく、システムは常に最悪な状況を想
定しなければならず、実際に必要であるか否かにかかわ
りなく(しかもこれは事前に決定することはできな
い)、サポートされている最大のデータ・パケット・サ
イズに合わせてスペースを割り振らなければならない。
【0037】一方、バッファをパケットの(動的に折衝
した)サイズに継続的に調節する手法ではメモリの利用
度が最適になり、それ故、ポートのスループットが大き
くなる。本発明のメモリ管理手法においては、メモリを
パケット・バッファのみに分割することが好ましい。メ
モリ利用度を改善するために、パケット・バッファを入
力バッファと出力バッファとに分割する。これは異なる
ハードウェア拡張機能(たとえば、データがハードウェ
アで「デクォート(dequote)」されるが、ソフトウェア
でクォートしなければならない場合)に対してシステム
を最適化し、ならびにステーションの目的(たとえば、
プリンタが幾つかの大きい入力バッファを望むが、数個
の小さい出力バッファしかない)に基づいてシステムを
最適化するために行われる。
【0038】初期設定時に、IRリンクに割り振られた
メモリ・プールは上記の関係の要因によって決定される
機能に基づいて、また通信パラメータのNDMセットを
想定して入力バッファと出力バッファとの間で分割され
る。通信パラメータの新しいセットをSNRMコマンド
によって受信すると、すべての未使用バッファが無効と
され、これらのメモリが組み合され、上記と同じ機能に
基づいて(ただし、ここでは新しい通信パラメータを使
用して)バッファの新しい組が作成される。
【0039】本発明において、上記の通信パラメータの
各々は各パケット・バッファをどれ位の大きさにするか
に関する判断に影響を及ぼす。本明細書で使用する場
合、「最大ターンアラウンド時間(maximum turnaround
time)」という語はシステムが通信チャネルの方向を逆
にし、他のステーションがこれを使えるようにしなけれ
ばならなくなる前に、このチャネルを保持しておける総
時間を指す。それ故、これは送信或は受信いずれかのバ
ッファをこの時間内に伝送できる(データ転送速度に基
づいて)データの量よりも大きくするためには何の働き
もしない。「最小ターンアラウンド時間(minimum turna
round time)」は送信ステーションと受信ステーション
が役割を切り換えた後にリンクが遊休のままでなければ
ならない時間を指す。この時間はステーションの受信機
がそれ自体の送信機によって引き起こされた飽和状態か
ら回復できるようにするために使用され、装置ごとに異
なる。この属性は更に、ステーションがデータを送信す
るのに利用できる時間を短縮する。「最大パケット・サ
イズ(maximum packet size)」はステーションが取り扱
うことのできる最も大きいパケット・バッファを示すこ
とができるパラメータである。それ故、送信バッファを
この値よりも大きくするためには何の働きもしない。
「フレームの先頭(beginning-of-frames)」(BOF)
の数はステーションに送られるすべてのパケットがBO
Fのデフォルト数よりも大きい数を含むことを、ステー
ションが要求することのできるパラメータである。この
値を大きくすると、データを送信するのに利用できる時
間が短くなり、それ故、バッファ・サイズに影響を及ぼ
す。
【0040】プライマリ・ステーション及びセカンダリ
・ステーションは「ディスカバリ」手順中に、共通転送
速度及び最大ターンアラウンド時間を折衝し、同意しな
ければならない。しかしながら、他のパラメータは各ス
テーションに一意のものである。セカンダリの最大送信
パケット・バッファ・サイズは以下のいずれか小さい方
として記述することができる。
【0041】(1){(プライマリの最大ターンアラウ
ンド時間−最小ターンアラウンド時間)*(バイト/ミ
リ秒で表した伝送速度)−プライマリのBOFの数}或
は(2)(プライマリの最大パケット・サイズ)
【0042】同様に、セカンダリの最大有効受信バッフ
ァ・サイズは次の通りである。
【0043】(1){(セカンダリの最大ターンアラウ
ンド時間−最小ターンアラウンド時間)*(バイト/ミ
リ秒で表した伝送速度)−セカンダリのBOFの数}或
は(2)(セカンダリの最大パケット・サイズ)
【0044】これらのサイズはハードウェアの助けを受
けて(あるいは、これなしで)、かつ装置の主要機能に
合わせて最適化することによって調節する必要がある。
新しいデータ・パケット・サイズを折衝するたびに(潜
在的には、プライマリがセカンダリと折衝するたび
に)、バッファ・サイズが再計算され、未使用のメモリ
・スペースが再生され、その装置に適切なように送信バ
ッファと受信バッファに分割される。データをパケット
・バッファ中へ受信した場合、データはそこに残り、入
力データを含んでいる他のバッファにより順次待ち行列
化される。このデータは次いで、パケットごとに「コン
シューマ(consumer)」に対して明らかにされる。最初の
パケットに含まれているデータのアドレスはそのパケッ
ト中のデータ・バイト数とともに、そのパケット内のす
べてのデータが消費されるまで、コンシューマに対して
明らかにされる唯一のものである。この時点で、パケッ
トは解除され、データを更に受信するために利用できる
ようにされ、待ち行列中の次のパケット内のデータがコ
ンシューマに対して明らかにされる。
【0045】図2において、IRポート18は入力バッ
ファ22と通信を行っているものとして示されている。
参照符号50で示されている入力方向と、参照符号60
で示されている出力方向の2つの通信方向がある。IR
ポート18がホスト・コンピュータ或はその他のタイプ
の送信ステーションからデータ・パケットを受信する
と、各パケットは1つずつ参照符号51〜58で示され
ている受信バッファの1つへ渡される。たとえば、送信
(或は、「プライマリ」)ステーション24及びIRポ
ート18は両方とも比較的早いデータ伝送速度で通信す
ることができ、幾つかのデータ・パケットを単一の最大
ターンアラウンド時間内に送信及び受信できる可能性が
ある。IrDA規格によれば、1ターンアラウンド時間
内に最大7つのパケットを伝送することができ、従っ
て、高速通信リンクで赤外線ポートを使用した場合、入
力バッファ22に7つの受信バッファを割り振って、こ
れらの7つのデータ・パケットを受信するのが有利であ
るが、それよりも少ないパケットでも受け入れることが
できる。図2に示すように、受信バッファ#1は参照符
号51で示され、受信バッファ#2は参照符号52で示
され、以下同様にして、受信バッファ#7は参照符号5
7で示されている。
【0046】最大ターンアラウンド時間あたりのパケッ
トの最大「ウィンドウ(window)」サイズが7つに制限さ
れている場合であっても、データ・パケットの次の伝送
を入力バッファ22が受信する前に、プリンタの処理シ
ステムが受信バッファ51〜57のデータにアクセスで
きない状況があるため、全部で8つ以上の受信バッファ
を割り振るのが望ましいことがある。従って、もっと多
くの受信バッファが望ましいこともあり、図2は参照符
号Nの「受信バッファN(receive buffer N)」までの大
きさにされた特定の構成に対する最大数の受信バッファ
を示している。
【0047】図2は参照符号61〜68の複数の送信バ
ッファも示している。印刷装置の場合、各送信バッファ
の希望するサイズは各受信バッファの希望するサイズよ
りもはるかに小さいことがあるが、これはプリンタが大
量のデータを送信するよりも、プリンタが大量のデータ
を受信する方がはるかに起こりやすいからである。しか
しながら、通常は、入力バッファ22で幾つかの異なる
送信バッファが利用できて、プリンタ10がそのIRポ
ート18から複数の短いメッセージを送り出せ、かつ通
信リンクがデータ・パケットを送るのに実際に利用でき
るようになるまで、プリンタがメッセージを一時的に記
憶する個々の送信バッファあたり1つの適当な場所を見
つけ出せることが望ましい。
【0048】他のタイプの通信リンクに対して単一のタ
ーンアラウンド期間内に伝送できるパケットないしシー
ケンスの最大数が7よりもはるかに大きい数であり、従
って、本発明の原理から逸脱することなく、7つよりも
はるかに多い受信バッファを割り振って、このような通
信ポートを処理できることが理解されよう。同様に、そ
の他の各種の通信ポートに対して、割り振られる送信バ
ッファの数も、本発明の原理から逸脱することなく、図
2に示す数よりもはるかに多くすることができる。更
に、送信バッファ及び受信バッファの数及びサイズを、
各種の通信パラメータに基づき、また本発明の原理を使
用しながら、IRポート以外のタイプのポートに対する
バッファとして使用するのに現在利用できるメモリの共
通「プール域」で利用可能なメモリの最大サイズに基づ
いて、動的に割り振ることができることが理解されよ
う。
【0049】図3は参照符号100で総括的に示されて
いるIRバッファ・マネージャのタスクを示す図であ
る。ホスト・コンピュータが現在プリンタ10へプリン
ト・ジョブを送ろうとしている場合を含め、ホスト・コ
ンピュータとの各ダイアログの開始時に、IRポート1
8は標準の9600ボーの伝送データ速度で最初の通信
メッセージを受信して、「ディスカバリ」という手順の
間に、ホスト・コンピュータ(即ち、送信ステーショ
ン)24及びプリンタ(即ち、受信ステーション)10
の両方に共通して利用できる最適な通信パラメータを決
定する。このディスカバリ手順中に、両方の装置は以降
のデータ伝送中に使用される通信パラメータについて同
意し、詳細にいえば、これはデータ通信速度を含んでい
る。ディスカバリ手順の終了時に、両方の装置(即ち、
送信ステーション24及び受信プリンタ10)は同意し
た通信パラメータに切り換わる。これらの装置が新しい
通信パラメータへ切り換わると、IRバッファ・マネー
ジャは手順によってそのバッファを最適化して、参照符
号102で示すようなバッファを再構成する。これはか
なり複雑な手順であり、詳細については以下で説明す
る。
【0050】バッファが再構成された後、送信ステーシ
ョンはプリント・ジョブの形態のそのデータ、或は他の
タイプの通信メッセージを送る。データがIRポート1
8に着信すると、機能108でバッファが要求され、バ
ッファ・デリバリ手順が機能104で開始される。バッ
ファ・デリバリ手順104については以下で詳細に説明
する。バッファ要求機能108を使用して、着信データ
に対してバッファを供給する。バッファが再構成される
と(機能102を使用して)すべてのバッファは空(或
は、「フリー」)になり、バッファ要求機能108はフ
リー・バッファ・リストから「先頭の(top)」バッファ
を取り入れ、そのバッファを渡す。
【0051】図3に示すIRマネージャの他の機能は送
信完了機能106、データ要求機能110、並びに、デ
ータ放棄機能112である。これらの機能についても以
下で詳細に説明する。図3のデータ・コンシューマ28
は一般にプリンタで見出される1つ或は複数のインタプ
リタを表す。もちろん、本明細書記載の通信システムが
非印刷装置で使用するものである場合、データ・コンシ
ューマは不揮発性メモリ記憶装置或は何らかのタイプの
モニタないしディスプレイである。
【0052】図4及び図5はバッファ再構成機能102
の流れ図である。機能ブロック150から開始される
と、この特定のホストのみに関連する残余の送信情報は
放棄される。論理の流れは判断ブロック152へ進み、
「使用済み(used)」バッファがあるかどうかを判断す
る。この質問はこの時点で未消費のデータを有している
受信バッファがあるかどうかをたずねるものであり、回
答がYESである場合には、機能ブロック154はこれ
らのバッファをフリー・プールのバッファの先頭にある
連続メモリにパックする。フリー・プールのサイズは小
さくされ、バッファの割振りが始まり、これに従ってバ
ッファのサイズが決定される。
【0053】機能ブロック156は、プリンタの場合、
通常、64バイトなどのきわめて小さいサイズである送
信バッファ・サイズを設定する。一般に、最大送信バッ
ファ・サイズは以下のうちいずれか小さい方に等しい。
【0054】(1){(プライマリの最大ターンアラウ
ンド時間−最小ターンアラウンド時間)*(バイト/ミ
リ秒で表した伝送速度)−プライマリのBOFの数}或
は(2)(プライマリの最大パケット・サイズ)
【0055】判断ブロック158はここでプール・サイ
ズを調べて、これが20Kバイトよりも大きいかどうか
を判断する。回答がYESである場合、機能ブロック1
60はプリンタの場合には、送信バッファの数を16に
設定する。回答がNOである場合、判断ブロック162
はプール・サイズが10Kバイトよりも大きいかどうか
を判断する。回答がYESである場合、機能ブロック1
66は送信バッファの数を8に設定し、回答がNOであ
る場合には、機能ブロック164は送信バッファの数を
4に設定する。
【0056】判断ブロック170はこのポートに対する
接続方法(即ち、通信方法)が、「低速(slow)」赤外線
であることを示すSIRであるかどうかを判断する。回
答がYESである場合、機能ブロック172はすべての
送信バッファのサイズを2倍にし、これによってSIR
データ伝送速度で必要とされるが、バイト・スタッフィ
ング・プロセスをサポートするのにより大きなバッファ
・サイズを必要とするバイト・スタッフィングを可能と
する。機能ブロック174は送信バッファを割り当て、
これに従ってフリー・プール・サイズを調節する。論理
の流れはここでブロック「A」に達し、このブロックは
図5の論理の流れに続いている。
【0057】図5において、論理の流れはブロック
「A」から機能ブロック180に進み、受信バッファの
サイズを設定する。最も大きい有効受信バッファ・サイ
ズは以下のうちいずれか小さい方に等しい。
【0058】(1){(セカンダリの最大ターンアラウ
ンド時間−最小ターンアラウンド時間)*(バイト/ミ
リ秒で表した伝送速度)−セカンダリのBOFの数}或
は(2)(セカンダリの最大パケット・サイズ)
【0059】機能ブロック182はここで受信バッファ
・サイズを次に大きな2の累乗に調節する。判断ブロッ
ク184はここで受信バッファ・サイズを調べて、2K
バイト(これはIrDAプロトコルによる最大データ・
バッファ・サイズである)よりも大きいかどうかを判断
する。回答がYESである場合、機能ブロック186は
受信バッファ・サイズを2048バイト(即ち、2K)
まで小さくする。
【0060】機能ブロック188はここで受信バッファ
の数を設定する。残っているプール域のサイズを新たに
決定された受信バッファ・サイズによって除し、これは
割り振られる受信バッファの数となる。判断ブロック1
90はここで受信バッファの数が4よりも大きいかどう
かを判断する。回答がNOである場合、機能ブロック1
92は受信バッファの数を2で除する。論理の流れは機
能ブロック188へ戻り、バッファの数を、受信バッフ
ァ・サイズ(上記で2で除している)で除したプール域
サイズに等しく設定する。
【0061】論理の流れは再度判断ブロック190へ進
み、この論理「DOループ(DO-loop)」は受信バッファ
の数が4よりも大きくなるまで継続する。これに達する
と、論理の流れは判断ブロック190からのYES出力
から機能ブロック194へ進む。
【0062】機能ブロック194において、「ウィンド
ウ・サイズ」は丸められた整数値の量(バッファの数か
ら1を引き、2で除した)に等しく設定される。上記に
関係して、ウィンドウ・サイズとは単一のターンアラウ
ンド期間内の送受信できるデータ・パケットの数を指
す。少なくともウィンドウ・サイズを充填するのに必要
な数の割振りバッファ(これらが利用できる場合)と区
別し、最大数のデータ・パケットをバッファあたり1つ
ずつ受信できるようにするのが好ましい。
【0063】論理の流れは判断ブロック195へ進み、
ウィンドウ・サイズが7つのバッファよりも大きいかど
うかを判断する。回答がYESである場合、機能ブロッ
ク196は7に等しく設定し、これはIrDAプロトコ
ルを使用して単一のターンアラウンド時間で伝送できる
パケットの最大数である。機能ブロック198はここで
このルーチンを抜ける。
【0064】図6はバッファ・デリバリ機能104の流
れ図を表している。判断ブロック200から始めて、送
信或は受信が要求されているかどうかを判断する。これ
が送信要求である場合には、機能ブロック204がデー
タを「ポート送信バッファ待ち行列(ports transmit bu
ffer queue)」内で待ち行列化する(即ち、データを待
ち行列に追加する)。これが受信要求である場合には、
論理の流れは機能ブロック202へ進み、データを「ポ
ート受信バッファ待ち行列(ports receive buffer queu
e)」に待ち行列化する。
【0065】本発明の通信システムで使用される待ち行
列には、(1)フリー送信バッファ待ち行列、(2)フ
リー受信バッファ待ち行列、(3)使用済み送信バッフ
ァ待ち行列、並びに、(4)使用済み受信バッファ待ち
行列(即ち、「受信待ち行列」)という4種類の待ち行
列があるのが好ましい。「フリー」送信及び受信バッフ
ァは本質的に、IRポートが使用するのに利用できる空
のバッファである。「使用済み」送信及び受信バッファ
は何らかの有効データを現在含んでいるバッファであ
る。
【0066】論理の流れは機能ブロック204から判断
ブロック206へ進み、このデータが送信待ち行列の唯
一の要素であるかどうかを調べる。回答がYESである
場合、機能ブロック208はIRポート18に、伝送を
開始できることを通知する。機能ブロック210はここ
でこのルーチンから抜ける。コンシューマが十分迅速に
データを要求しなかった場合、ポート受信バッファ待ち
行列の受信バッファをバックアップできることを理解さ
れたい。コンシューマは、図8を参照して詳細に説明す
るデータ要求済み機能110によってこれを行う。
【0067】図7は送信完了機能106の流れ図であ
る。機能ブロック220において、バッファはフリー・
プールへ移動され、待ち行列が前進する。これは送信バ
ッファを使用済み待ち行列から移動させ、このバッファ
を新しい送信バッファ待ち行列へ送る。判断ブロック2
22において、出力待ち行列が空であるかどうかの判断
が行われる。回答がNOである場合、機能ブロック22
4はIRポート18に、伝送を開始できることを通知す
る。論理の流れは機能ブロック226へ進む。
【0068】図8はデータ要求ルーチン110の流れ図
である。判断ブロック240は受信待ち行列が空である
かどうかを判断する。回答がYESである場合、機能ブ
ロック222はコンシューマへ「データなし(no dat
a)」というメッセージを戻す。回答がNOである場合、
これは現在何らかの使用済みバッファがあることを意味
する。
【0069】使用済み受信バッファがある場合、機能ブ
ロック242は先頭バッファの未消費部分をデータ・コ
ンシューマへ渡す。この操作は一時に1つのバッファず
つ行われる。出口機能246へこれで到達し、このルー
チンを終了する。
【0070】図9はデータ放棄機能112の流れ図であ
る。機能ブロック260は受信待ち行列の先頭にある
「バッファの指示部分(indicated portion of buffe
r)」に「消費済み(consumed)」とマークをつける。これ
を行った後、判断ブロック262は受信バッファ全体が
消費されてしまったかどうかを判断する。回答がYES
である場合、機能ブロック264は使用済み受信バッフ
ァ待ち行列の先頭バッファを新規受信バッファ待ち行列
へ移動させ、受信待ち行列を増分する。論理の流れはこ
こで機能ブロック266へ到達し、このルーチンを抜け
る。データ放棄機能112は本質的に、IRバッファ・
マネージャ100に受信待ち行列のデータが消費されて
しまったことを通知する。
【0071】本発明の好適実施例の上記の説明は図示説
明のために行ったものである。これは完全なものである
ことや、本発明を開示した通りの形態に限定することを
目的とするものではない。上記の教示に照らして、明白
な改変或は変形が可能である。実施例は本発明の原理及
びその実用上の用途を最もよく説明し、これによって当
分野の技術者が各種の実施例で、かつ意図している特定
の用途に合うような変形を施して本発明を利用できるよ
うにするために選択され、記載されたものである。本発
明の範囲は首記の特許請求の範囲によって画定されるも
のである。
【図面の簡単な説明】
【図1】図1は、本発明の原理に従って構成されたプリ
ンタの主要構成要素のブロック図である。
【図2】図2は、図1に示したプリンタの入力バッファ
部分の図である。
【図3】図3は、図1に示したプリンタの赤外線ポート
とともに使用される赤外線バッファ・マネージャによっ
て行われる高水準機能の図である。
【図4】図4は、図3に示した赤外線バッファ・マネー
ジャの「再構成バッファ(Reconfigure Buffers)」機能
の流れ図である。
【図5】図5は、図4における流れ図のブロック「A」
から続く流れ図である。
【図6】図3に示した赤外線バッファ・マネージャの
「バッファ・デリバリ(Buffer Delivery)」機能の流れ
図である。
【図7】図3に示した赤外線バッファ・マネージャの
「送信完了(Transmit Complete)」機能の流れ図であ
る。
【図8】図3に示した赤外線バッファ・マネージャの
「データ要求(Data Request)」機能の流れ図である。
【図9】図3に示した赤外線バッファ・マネージャの
「データ廃棄(Data Discard)」機能の流れ図である。
【符号の説明】 10 レーザ・プリンタ 12 直流電源 14 マイクロプロセッサ 16 読取り専用メモリ(ROM) 18 赤外線ポート 20 パラレル・ポート 22 入力バッファ 28 インタプリタ 30 グラフィック・エンジン 34 待ち行列マネージャ 36 印刷エンジン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーク・レーン・メイベリー アメリカ合衆国 40356 ケンタッキー、 ニコラスビル、ウエイル・レーン 402

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 メモリ記憶装置、双方向通信ポート、並
    びに、処理回路を有するコンピュータ・システムにおけ
    る、メモリ・スペースを送信バッファ及び受信バッファ
    に効率よく割り振る方法において、 (a)複数の送信バッファであって、該送信バッファの
    数及び該送信バッファの各々のサイズが前記通信ポート
    におけるメッセージの受信の開始時における利用可能な
    総プール・サイズによって決定される複数の送信バッフ
    ァを作成し、 (b)複数の受信バッファであって、該受信バッファの
    各々のサイズが前記メッセージを前記通信ポートへ送る
    通信リンクのタイプに関連する通信パラメータによって
    決定され、かつそのメッセージの受信の開始時における
    利用可能な総プール・サイズによって決定され、しかも
    「プール域」内に作成される受信バッファの数が前記通
    信ポートにおける前記メッセージの受信の開始時におけ
    る利用可能な総プール・サイズ及び前記受信バッファの
    数によって決定される複数の受信バッファを作成するこ
    とによって、 前記メモリ記憶装置内のメモリ要素の「プール域」を複
    数の送信及び受信バッファに分割する段階を含むことか
    ら成る方法。
  2. 【請求項2】 前記メッセージを前記通信ポートへ送る
    通信リンクのタイプの前記通信パラメータの1つが、前
    記通信ポートで受信される前記メッセージの最大ターン
    アラウンド時間の指定を含む、請求項1に記載の方法。
  3. 【請求項3】 前記通信ポートで受信される前記メッセ
    ージの前記最大ターンアラウンド時間の指定が、前記印
    刷装置の前記通信ポートと前記通信リンクの他端にある
    送信ステーションの間の「ディスカバリ」手順中に決定
    される、請求項2に記載の方法。
  4. 【請求項4】 前記通信ポートが赤外線ポートを含む、
    請求項1に記載の方法。
  5. 【請求項5】 前記コンピュータ・システムが印刷装置
    に常駐している、請求項1に記載の方法。
  6. 【請求項6】 セカンダリの最大送信パケット・バッフ
    ァ・サイズが、 (a){(送信装置の前記赤外線通信ポートの前記通信
    リンクの最大ターンアラウンド時間−最小ターンアラウ
    ンド時間)*(バイト/ミリ秒で表した伝送速度)−前
    記送信装置のBOFの数}、或は(b)(前記送信装置
    の最大パケット・サイズ)のいずれか小さい方である、
    請求項5に記載の方法。
  7. 【請求項7】 前記受信バッファの最大有効サイズが、 (a){(前記印刷装置の前記赤外線通信ポートの前記
    通信リンクの最大ターンアラウンド時間−最小ターンア
    ラウンド時間)*(バイト/ミリ秒で表した伝送速度)
    −前記印刷装置のBOFの数}、或は(b)(前記印刷
    装置の最大パケット・サイズ)のいずれか小さい方であ
    る、請求項5に記載の方法。
  8. 【請求項8】 前記印刷装置と前記通信リンクの他端に
    ある前記送信ステーションの間の接続タイプが比較的遅
    いデータ伝送速度を示している場合に、送信バッファの
    サイズを増やす段階を更に含む、請求項5に記載の方
    法。
  9. 【請求項9】 前記接続タイプがシリアル赤外線通信リ
    ンクを含む、請求項8に記載の方法。
  10. 【請求項10】 前記プール・サイズが、前記各送信及
    び受信バッファのサイズを小さくして、所定の数を達成
    することを必要とする場合であっても、前記印刷装置が
    送信及び受信バッファそれぞれの最小数を所定の数に制
    限する、請求項5に記載の方法。
  11. 【請求項11】 前記受信バッファの最小数が赤外線協
    会規格に従って単一のターンアラウンド時間内に伝送で
    きるデータ・パケットのウィンドウ・サイズよりも大き
    いことを、前記印刷装置が必要としている、請求項5に
    記載の方法。
  12. 【請求項12】 (a)メモリ要素の「プール域」であ
    って、複数の送信バッファ及び複数の受信バッファに分
    割される「プール域」を含んでいるメモリ回路と、 (b)少なくとも1つの外部装置及び前記メモリ回路と
    通信する双方向通信ポートであって、前記の少なくとも
    1つの外部装置から前記複数の受信バッファへデータを
    送り、かつ前記の少なくとも1つの外部装置から前期複
    数の送信バッファへデータを送る双方向通信ポートと、 (c)前記メモリ回路と前記通信ポートの間のデータの
    流れを制御するように構成された処理回路であって、前
    記複数の送信及び受信バッファの数及びサイズを決定す
    るように構成されている処理回路とを備えており、 前記プール域内に作成される送信バッファの数が前記通
    信ポートにおけるメッセージの受信の開始時における利
    用可能な総プール・サイズによって決定され、前記受信
    バッファの各々のサイズが前記メッセージを前記通信ポ
    ートへ送る通信リンクのタイプに関連する通信パラメー
    タによって決定され、かつそのメッセージの受信の開始
    時における利用可能な総プール・サイズによって決定さ
    れ、 前記プール域内に作成される受信バッファの数が前記通
    信ポートにおける前記メッセージの受信の開始時におけ
    る利用可能な総プール・サイズ及び前記受信バッファの
    数によって決定されることから成るコンピュータ・シス
    テム。
  13. 【請求項13】 前記メッセージを前記通信ポートへ送
    る通信リンクのタイプの前記通信パラメータの1つが、
    前記通信ポートで受信される前記メッセージの最大ター
    ンアラウンド時間の指定を含む、請求項12に記載のコ
    ンピュータ・システム。
  14. 【請求項14】 前記通信ポートで受信される前記メッ
    セージの前記最大ターンアラウンド時間の指定が、前記
    印刷装置の前記通信ポートと前記通信リンクの他端にあ
    る送信ステーションの間の「ディスカバリ」手順中に決
    定される、請求項13に記載のコンピュータ・システ
    ム。
  15. 【請求項15】 前記通信ポートが赤外線ポートを含
    む、請求項12に記載のコンピュータ・システム。
  16. 【請求項16】 前記コンピュータ・システムが印刷装
    置に常駐している、請求項12に記載のコンピュータ・
    システム。
  17. 【請求項17】 セカンダリの最大送信パケット・バッ
    ファ・サイズが、 (a){(送信装置の前記赤外線通信ポートの前記通信
    リンクの最大ターンアラウンド時間−最小ターンアラウ
    ンド時間)*(バイト/ミリ秒で表した伝送速度)−前
    記送信装置のBOFの数}、及び(b)(前記送信装置
    の最大パケット・サイズ)のいずれか小さい方である、
    請求項16に記載のコンピュータ・システム。
  18. 【請求項18】 前記受信バッファの最大有効サイズ
    が、 (a){(前記印刷装置の前記赤外線通信ポートの前記
    通信リンクの最大ターンアラウンド時間−最小ターンア
    ラウンド時間)*(バイト/ミリ秒で表した伝送速度)
    −前記印刷装置のBOFの数}、及び(b)(前記印刷
    装置の最大パケット・サイズ)のいずれか小さい方であ
    る、請求項16に記載のコンピュータ・システム。
  19. 【請求項19】 前記印刷装置と前記通信リンクの他端
    にある前記送信ステーションの間の接続タイプが、比較
    的遅いデータ伝送速度を示している場合に、送信バッフ
    ァのサイズを更に増やすように前記処理回路が更に構成
    されている、請求項16に記載の印刷装置。
  20. 【請求項20】 前記接続タイプがシリアル赤外線通信
    リンクを含む、請求項19に記載の印刷装置。
  21. 【請求項21】 プール・サイズが前記各送信及び受信
    バッファのサイズを小さくして、所定の数を達成するこ
    とを必要とする場合であっても、前記印刷装置が送信及
    び受信バッファそれぞれの最小数を所定の数に制限す
    る、請求項16に記載の印刷装置。
  22. 【請求項22】 受信バッファの最小数が赤外線協会規
    格に従って単一のターンアラウンド時間内に伝送できる
    データ・パケットのウィンドウ・サイズよりも大きいこ
    とを、前記印刷装置が必要としている、請求項16に記
    載の印刷装置。
JP16909698A 1997-05-12 1998-05-12 プリンタ用パケット通信データに用いられる通信用バッファを動的に管理するための方法及び装置 Pending JPH1195948A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/854,510 US5916309A (en) 1997-05-12 1997-05-12 System for dynamically determining the size and number of communication buffers based on communication parameters at the beginning of the reception of message
US08/854,510 1997-05-12

Publications (1)

Publication Number Publication Date
JPH1195948A true JPH1195948A (ja) 1999-04-09

Family

ID=25318885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16909698A Pending JPH1195948A (ja) 1997-05-12 1998-05-12 プリンタ用パケット通信データに用いられる通信用バッファを動的に管理するための方法及び装置

Country Status (7)

Country Link
US (1) US5916309A (ja)
EP (1) EP0878757B1 (ja)
JP (1) JPH1195948A (ja)
KR (1) KR19980086926A (ja)
CN (1) CN1139034C (ja)
DE (1) DE69818141T2 (ja)
TW (1) TW384428B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208952A (ja) * 2002-01-16 2003-07-25 Japan Aviation Electronics Industry Ltd カード接続用コネクタ

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105064A (en) * 1997-05-30 2000-08-15 Novell, Inc. System for placing packets on network for transmission from sending endnode to receiving endnode at times which are determined by window size and metering interval
US6385672B1 (en) * 1997-05-30 2002-05-07 3Com Corporation System to optimize packet buffer utilization via selectively partitioned transmit and receive buffer portions
US6519686B2 (en) * 1998-01-05 2003-02-11 Intel Corporation Information streaming in a multi-process system using shared memory
US6098124A (en) * 1998-04-09 2000-08-01 National Instruments Corporation Arbiter for transferring largest accumulated data block output from data buffers over serial bus
US6778545B1 (en) * 1998-09-24 2004-08-17 Cisco Technology, Inc. DSP voice buffersize negotiation between DSPs for voice packet end devices
US6314466B1 (en) 1998-10-06 2001-11-06 Realnetworks, Inc. System and method for providing random access to a multimedia object over a network
US7899052B1 (en) * 1999-01-27 2011-03-01 Broadcom Corporation Memory structure for resolving addresses in a packet-based network switch
US6324625B1 (en) * 1999-03-16 2001-11-27 Fujitsu Network Communications, Inc. Rotating rationed buffer refresh
US6421756B1 (en) * 1999-05-06 2002-07-16 International Business Machines Corporation Buffer assignment for bridges
US6625157B2 (en) * 1999-05-20 2003-09-23 Advanced Micro Devices, Inc. Apparatus and method in a network switch port for transferring data between buffer memory and transmit and receive state machines according to a prescribed interface protocol
US6771595B1 (en) * 1999-08-31 2004-08-03 Intel Corporation Apparatus and method for dynamic resource allocation in a network environment
US6397274B1 (en) * 1999-09-30 2002-05-28 Silicon Graphics, Inc. Method and apparatus for analyzing buffer allocation to a device on a peripheral component interconnect bus
US6678813B1 (en) * 1999-10-28 2004-01-13 Hewlett-Packard Development Company, L.P. Dynamically adaptive buffer mechanism
US6625708B1 (en) * 1999-11-23 2003-09-23 Intel Corporation Method and apparatus for dynamically defining line buffer configurations
US7035916B1 (en) * 2000-02-16 2006-04-25 Microsoft Corporation Coupling a filter graph space to a network driver space
EP1146678B1 (en) * 2000-04-14 2006-12-20 Alcatel An auto-adaptive jitter buffer
US6732195B1 (en) * 2000-10-03 2004-05-04 Hewlett-Packard Development Company, Lp. Apparatus for and method of updating a device driver from a local resource
AU2002243279A1 (en) 2000-11-01 2002-06-18 Flexiworld Technologies, Inc. Controller and manager for device-to-device pervasive digital output
US10915296B2 (en) 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
US7318086B2 (en) 2000-11-20 2008-01-08 Flexiworld Technologies, Inc. System for mobile and pervasive output
US20020097418A1 (en) 2001-01-19 2002-07-25 Chang William Ho Raster image processor and processing method for universal data output
GB2372914B (en) * 2001-02-28 2003-12-24 3Com Corp Direct data placement and message reassembly
US20020194609A1 (en) * 2001-06-18 2002-12-19 Tran Thanh T. Video client with dynamically allocable video buffer for efficiently streaming video
US20040158622A1 (en) * 2002-05-16 2004-08-12 Pitts William M. Auto-sizing channel
US7546451B1 (en) * 2002-06-19 2009-06-09 Finisar Corporation Continuously providing instructions to a programmable device
JP2006510083A (ja) * 2002-12-12 2006-03-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ハードウエアにおける構成可能なメモリ分割
CN100336392C (zh) * 2003-12-03 2007-09-05 北京中视联数字系统有限公司 一种机顶盒的数据存储管理方法
US20050128508A1 (en) * 2003-12-11 2005-06-16 Microsoft Corporation System for transferring documents and resources to a printer
CN100384240C (zh) * 2004-02-09 2008-04-23 联想(北京)有限公司 一种屏幕的截屏方法
US7756594B2 (en) 2004-06-14 2010-07-13 Microsoft Corporation Systems and methods for parsing flexible audio codec topologies
US7590065B2 (en) * 2004-08-04 2009-09-15 Microsoft Corporation Equal-opportunity bandwidth regulation
US20060041895A1 (en) * 2004-08-04 2006-02-23 Microsoft Corporation Systems and methods for interfacing with codecs across an architecture optimized for audio
US20060031607A1 (en) * 2004-08-05 2006-02-09 Microsoft Corporation Systems and methods for managing input ring buffer
US7706901B2 (en) * 2004-10-01 2010-04-27 Microsoft Corporation Low latency real-time audio streaming
JP2006127401A (ja) * 2004-11-01 2006-05-18 Fujitsu Ltd 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム
JP2006189937A (ja) * 2004-12-28 2006-07-20 Toshiba Corp 受信装置、送受信装置、受信方法及び送受信方法
US7689739B2 (en) * 2005-07-11 2010-03-30 Via Technologies, Inc. Spread spectrum receiver, apparatus and method of a circular buffer for multirate data
JP4859419B2 (ja) * 2005-09-14 2012-01-25 株式会社エヌ・ティ・ティ・ドコモ 無線基地局およびユーザ共通データ伝送方法
TWI324305B (en) * 2006-06-14 2010-05-01 Via Tech Inc Embedded system and related buffer size determining method thereof
US7768519B1 (en) * 2006-09-19 2010-08-03 Nvidia Corporation High-performance crossbar for high throughput pipelines
US8312190B2 (en) * 2008-03-06 2012-11-13 Integrated Device Technology, Inc. Protocol translation in a serial buffer
US8625621B2 (en) * 2008-03-06 2014-01-07 Integrated Device Technology, Inc. Method to support flexible data transport on serial protocols
US20090228733A1 (en) * 2008-03-06 2009-09-10 Integrated Device Technology, Inc. Power Management On sRIO Endpoint
US8312241B2 (en) * 2008-03-06 2012-11-13 Integrated Device Technology, Inc. Serial buffer to support request packets with out of order response packets
US20090225775A1 (en) * 2008-03-06 2009-09-10 Integrated Device Technology, Inc. Serial Buffer To Support Reliable Connection Between Rapid I/O End-Point And FPGA Lite-Weight Protocols
US8213448B2 (en) * 2008-03-06 2012-07-03 Integrated Device Technology, Inc. Method to support lossless real time data sampling and processing on rapid I/O end-point
TWI423032B (zh) * 2009-04-30 2014-01-11 Ralink Technology Corp 提升資料傳輸效能的方法
US20110040761A1 (en) * 2009-08-12 2011-02-17 Globalspec, Inc. Estimation of postings list length in a search system using an approximation table
TWI538425B (zh) * 2014-04-14 2016-06-11 微晶片科技公司 藍牙介面的資料傳輸系統及傳輸方法
CN105450587B (zh) * 2014-07-28 2018-08-24 国际商业机器公司 用于保护网络通信安全的方法和装置
GB2545756B (en) * 2016-02-22 2020-07-22 1E Ltd Dynamic buffer allocation
CN107204198B (zh) * 2016-03-18 2020-06-09 深圳市中兴微电子技术有限公司 高速访问双倍速率同步动态随机存储器的控制方法及装置
JP6833364B2 (ja) * 2016-07-01 2021-02-24 株式会社東芝 Icカード、および、icカード処理装置
US10401225B2 (en) * 2017-10-02 2019-09-03 Lexmark International, Inc. Method of calibrating a contact image sensor scan bar in a document scanner
US10824369B2 (en) * 2018-07-31 2020-11-03 Nutanix, Inc. Elastic method of remote direct memory access memory advertisement
KR102769767B1 (ko) * 2019-04-25 2025-02-20 에스케이하이닉스 주식회사 컨트롤러 및 그것의 동작방법
KR102691906B1 (ko) * 2019-08-29 2024-08-06 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4158235A (en) * 1977-04-18 1979-06-12 Burroughs Corporation Multi port time-shared associative buffer storage pool
US4298954A (en) * 1979-04-30 1981-11-03 International Business Machines Corporation Alternating data buffers when one buffer is empty and another buffer is variably full of data
US4315312A (en) * 1979-12-19 1982-02-09 Ncr Corporation Cache memory having a variable data block size
JPS5969826A (ja) * 1982-10-15 1984-04-20 Hitachi Ltd バツフア制御方式
GB2143405B (en) * 1983-07-13 1986-08-13 Standard Telephones Cables Ltd Time division multiplex system
US5038277A (en) * 1983-11-07 1991-08-06 Digital Equipment Corporation Adjustable buffer for data communications in a data processing system
US4845710A (en) * 1986-12-23 1989-07-04 Oki Electric Industry Co., Ltd. Dynamic buffer supervising system for a data link access protocol control
JPS63292747A (ja) * 1987-05-25 1988-11-30 Hitachi Ltd バツフア管理方式
US5125096A (en) * 1988-10-31 1992-06-23 International Business Machines Corporation System for implementing to a packet switch protocol for a multinode data communications network utilizing separate data and control paths
US4965748A (en) * 1989-07-12 1990-10-23 Ricoh Company, Ltd. Laser printer controller flexible frame buffer architecture which allows offsetting different input/output data widths
US5276781A (en) * 1989-07-12 1994-01-04 Ricoh Company, Ltd. Laser printer controller flexible frame buffer architecture which allows hardware assisted memory erase
US5206932A (en) * 1989-07-12 1993-04-27 Ricoh Corporation Flexible frame buffer architecture having adjustable sizes for direct memory access
US4977519A (en) * 1989-07-12 1990-12-11 Ricoh Company, Ltd. Laser printer controller flexible frame buffer architecture which allows software to change X and Y dimensions of the buffer
US5179662A (en) * 1989-08-31 1993-01-12 International Business Machines Corporation Optimized i/o buffers having the ability to increase or decrease in size to meet system requirements
US5130986A (en) * 1990-04-27 1992-07-14 At&T Bell Laboratories High speed transport protocol with two windows
IL98700A (en) * 1990-07-13 1994-04-12 Minnesota Mining & Mfg A method and device for building a composite figure from several data types
US5185853A (en) * 1991-01-03 1993-02-09 Acer Incorporated Expandable printer buffer system
US5197128A (en) * 1991-03-04 1993-03-23 Hewlett-Packard Company Modular interface
US5313582A (en) * 1991-04-30 1994-05-17 Standard Microsystems Corporation Method and apparatus for buffering data within stations of a communication network
GB9111524D0 (en) * 1991-05-29 1991-07-17 Hewlett Packard Co Data storage method and apparatus
US5301275A (en) * 1991-10-03 1994-04-05 Compaq Computer Corporation Data transfer system with variable data buffer size and programmable interrupt frequency
US5303347A (en) * 1991-12-27 1994-04-12 Digital Equipment Corporation Attribute based multiple data structures in host for network received traffic
JP3233173B2 (ja) * 1992-01-07 2001-11-26 セイコーエプソン株式会社 ラスタイメージシリアルプリンタ
JP3031393B2 (ja) * 1992-01-30 2000-04-10 日本電気株式会社 クラス別バッファ面数の動的変更方式
KR940007680A (ko) * 1992-09-30 1994-04-27 로버트 에이. 에셀만 메모리 할당 요구의 축소 방법 및 시스템
US5381528A (en) * 1992-10-15 1995-01-10 Maxtor Corporation Demand allocation of read/write buffer partitions favoring sequential read cache
US5440692A (en) * 1992-10-27 1995-08-08 Bmc Software, Inc. Method of dynamically expanding or contracting a DB2 buffer pool
US5289470A (en) * 1992-12-14 1994-02-22 International Business Machines Corp. Flexible scheme for buffer space allocation in networking devices
US5490237A (en) * 1993-04-26 1996-02-06 Hewlett-Packard Company Page printer having improved system for receiving and printing raster pixel image data from a host computer
US5442747A (en) * 1993-09-27 1995-08-15 Auravision Corporation Flexible multiport multiformat burst buffer
EP0665502B1 (en) * 1994-01-27 2002-06-12 Sun Microsystems, Inc. Asynchronous serial communication circuit
US5566208A (en) * 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5566315A (en) * 1994-12-30 1996-10-15 Storage Technology Corporation Process of predicting and controlling the use of cache memory in a computer system
US5806997A (en) * 1996-02-20 1998-09-15 Canon Business Machines, Inc. Dot matrix printer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208952A (ja) * 2002-01-16 2003-07-25 Japan Aviation Electronics Industry Ltd カード接続用コネクタ

Also Published As

Publication number Publication date
CN1201194A (zh) 1998-12-09
DE69818141T2 (de) 2004-07-08
CN1139034C (zh) 2004-02-18
EP0878757A2 (en) 1998-11-18
US5916309A (en) 1999-06-29
EP0878757B1 (en) 2003-09-17
TW384428B (en) 2000-03-11
KR19980086926A (ko) 1998-12-05
EP0878757A3 (en) 1999-12-08
DE69818141D1 (de) 2003-10-23

Similar Documents

Publication Publication Date Title
EP0878757B1 (en) Method and apparatus for dynamically managing communication buffers used with packet communication data for a printer
US6046817A (en) Method and apparatus for dynamic buffering of input/output ports used for receiving and transmitting print data at a printer
US6877048B2 (en) Dynamic memory allocation between inbound and outbound buffers in a protocol handler
EP0505764B1 (en) Modular interface and method therefor
US6922408B2 (en) Packet communication buffering with dynamic flow control
US6167029A (en) System and method for integrated data flow control
US6363075B1 (en) Shared buffer management mechanism and method using multiple linked lists in a high speed packet switching system
JP3448067B2 (ja) ネットワークアダプタのためのネットワークコントローラ
JP3786152B2 (ja) 印刷システム、印刷方法及びプリンタ
US7403525B2 (en) Efficient routing of packet data in a scalable processing resource
US20160344644A1 (en) System and method for ordering of data transferred over multiple channels
EP0646872A1 (en) Method and apparatus for multimedia data interchange with pacing capability in a distributed data processing system
JPH1023078A (ja) 通信速度調整方法
US6038621A (en) Dynamic peripheral control of I/O buffers in peripherals with modular I/O
EP1408401A2 (en) Printing method and printer
US7307994B2 (en) Controller area network (CAN) based communication system with multiple bus connected nodes
US7113516B1 (en) Transmit buffer with dynamic size queues
US7020712B1 (en) Reducing CPU overhead in the forwarding process in an inbound/outbound controller for a router
US20020101876A1 (en) Head of line blockage avoidance system and method of operation thereof
US6618164B1 (en) Network printer and network printing method
JPH09179809A (ja) 論理チャネル利用制御方法
JPS59230346A (ja) 伝送装置の送受信デ−タのバツフアリング方式
JP2002051100A (ja) 中継装置およびその制御方法
JP2001306482A (ja) 入出力制御方法および装置
JP2003244275A (ja) 送受信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071002

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071214

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071225

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080229

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20080513

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080603