JPH1185662A - 通信制御方法及び装置及び通信システム - Google Patents

通信制御方法及び装置及び通信システム

Info

Publication number
JPH1185662A
JPH1185662A JP24443097A JP24443097A JPH1185662A JP H1185662 A JPH1185662 A JP H1185662A JP 24443097 A JP24443097 A JP 24443097A JP 24443097 A JP24443097 A JP 24443097A JP H1185662 A JPH1185662 A JP H1185662A
Authority
JP
Japan
Prior art keywords
initiator
target
data
request
channel
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.)
Granted
Application number
JP24443097A
Other languages
English (en)
Other versions
JP4086345B2 (ja
Inventor
Takashi Isoda
隆司 礒田
Akihiro Shimura
明弘 志村
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 JP24443097A priority Critical patent/JP4086345B2/ja
Priority to EP02079458A priority patent/EP1280064B1/en
Priority to EP98307152A priority patent/EP0902371B1/en
Priority to DE69839783T priority patent/DE69839783D1/de
Priority to DE69813976T priority patent/DE69813976T2/de
Priority to CA002246830A priority patent/CA2246830C/en
Priority to US09/148,472 priority patent/US6452693B1/en
Priority to KR1019980037116A priority patent/KR100297219B1/ko
Priority to CNB981191320A priority patent/CN1179277C/zh
Publication of JPH1185662A publication Critical patent/JPH1185662A/ja
Priority to US10/194,202 priority patent/US6927873B2/en
Priority to US11/124,266 priority patent/US7296095B2/en
Application granted granted Critical
Publication of JP4086345B2 publication Critical patent/JP4086345B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40123Interconnection of computers and peripherals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0012High speed serial bus, e.g. IEEE P1394

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】プリンタの資源が少なくても済む全2重通信路
を提供する。 【解決手段】プリンタは、順次実行用のキュー104と
即時実行エージェント106と順次実行エージェント1
05とを有する。即時実行エージェントは受信したコマ
ンドを直ちに実行してホストへのデータの書き込みを、
順次実行エージェントはキューからコマンドを取り出し
てホストからのデータの読み出しを行う。一方ホストで
は、プリンタからのデータ転送要求をキューに入れ、そ
のキューの要求あるいはアプリケーションからの要求に
基づいてコマンドをプリンタに発行する。その際、プリ
ンタのキューの容量以上のコマンドは発行しない。この
ようにして、上り下りいずれの方向も、互いに独立した
全2重チャネルが提供できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えばホストコンピュ
ータとプリンタ等、機器同士を接続する通信制御方法及
び通信制御装置に関する。
【0002】
【従来の技術】近年、IEEE1394インターフェー
スが、コンピュータと周辺機器、あるいは周辺機器同士
の接続に用いられつつある。IEEE1394インター
フェースは、セントロニクスインターフェースなどのハ
ンドシェイク方式に比べて高速で、しかも双方向通信が
可能である。また、メモリバスモデルのインターフェー
スであり、IEEE1394インターフェースで接続さ
れた機器は、相手の機器に対して指定したアドレスのデ
ータを読み書きすることができる。
【0003】このIEEE1394は、広範囲に応用す
るための物理層及びリンク層のプロトコルを定めたもの
で、機器ごとの詳細なプロトコルは定められていない。
そのため、物理・リンク層としてIEEE1394を利
用したSBP(Serial Bus Protocol)−2などのトラン
スポート層のプロトコルが提案されている。トランスポ
ート層はアプリケーションに対してデータ転送機能を提
供する層であり、この層を利用するアプリケーション
は、互いにデータの交換が可能となる。
【0004】このSBP−2なるプロトコルは、IEE
E1394のメモリバスモデルとしての特徴を活かした
プロトコルであり、データの受信側が自身の都合に応じ
てデータを受信することができる。
【0005】SBP−2では、データを転送する場合
に、まず送信側でログインという操作を行って通信相手
との間のチャネルを確立する。この際、ログインされた
側がイニシエータ、相手側がターゲットと呼ばれる。デ
ータ転送は、イニシエータからの指示に応じて、ターゲ
ットからイニシエータにデータを読み書きすることで行
われる。この方式においては、イニシエータは、ログイ
ン後、送信するデータを格納したアドレスやサイズ等が
書かれたORB(Operation Request Block)を作成し、
そのORBのアドレスをターゲットに知らせる。ターゲ
ットでは自分の都合に合わせてORBに書かれたアドレ
スやサイズに基づいてイニシエータからデータを読み出
して処理し、あるいはデータを書き込み、それらの処理
後ステータスブロックを作成して、処理の状態をイニシ
エータに知らせることになる。
【0006】
【発明が解決しようとする課題】このIEEE1394
の上に構築されるSBP−2プロトコルを利用して通信
を行う場合、特に、ホストコンピュータ等のデータ源を
イニシエータとし、それからターゲットであるプリンタ
装置などの周辺機器へのデータ転送に応用する場合、次
のような問題点があった。 全2重通信のために手順が複雑である。
【0007】SBP−2では、基本的にデータの転送は
イニシエータによって管理され、ターゲットはイニシエ
ータへの非同期のデータ転送を行うことができない。す
なわち、SBP−2では、ターゲットがイニシエータへ
のデータ転送を行いたい時には、イニシエータに対して
アンソリサイテドステータスでデータリード要求を送
り、イニシエータはそれに応じてORB生成し、ペンデ
ィング中のORB(イニシエータからターゲットへのデ
ータ転送要求などが含まれている)のリストの末尾にそ
の生成したORBをつける。このORBは先頭から順番
に処理されるため、ターゲットがイニシエータにリード
要求を発行したタイミングではなく、イニシエータ側の
ORBの処理が進み、ターゲットからのデータリード要
求によるORBが処理されたときに初めてターゲットか
らイニシエータにデータが転送されることになる。すな
わち、双方向の非同期なデータ転送が行えず、ターゲッ
トからイニシエータに転送すべきデータが非同期に発生
する場合、例えばターゲットがプリンタであれば、その
プリンタでエラーが発生する場合など、直ちにイニシエ
ータに伝達すべきデータを即時に伝達できない。
【0008】このため、例えばプリンタで非同期に発生
するデータを即時的にホストに転送するためには、プリ
ンタをイニシエータとしてログイン手続きを行い、ホス
トコンピュータをターゲットとするデータ転送を行わね
ばならない。
【0009】このようにホストコンピュータとプリンタ
で互いにログインしてそれぞれがイニシエータでありタ
ーゲットであるような状況では、ホストコンピュータ及
びプリンタの双方にイニシエータとしてのプロセスとタ
ーゲットとしてのプロセスを備えなければならない。ま
た、ログインの操作もプリンタから行わねばならない。
【0010】プリンタのような画像を扱う周辺装置で
は、画像処理のために大量のメモリ資源やプロセッサ資
源を消費する。そのために、装置の構成を簡略化して原
価を節減したり、処理を迅速に行うため画像処理用途以
外に用いられる資源をできるだけ節約しなければならな
いが、上述のように多くのプロセスを稼働することにな
ればその分多くの資源を消費することになり、原価低減
・処理の効率化という目的に反することになる。
【0011】また、ホストコンピュータとプリンタとの
関係であれば、各方向に流れるデータは、印刷データと
それに対する処理状況といったように、互いに関連付け
られるものであるが、各方向について独立したログイン
によりチャネルを設定すると、それらデータとレスポン
スとを関連づけなければならず、そのための処理手順を
新たに追加する必要がある。
【0012】このようにIEEE1394及びSBP−
2をそのままホストコンピュータ−プリンタ装置間の通
信に適用することは適切でなく、各装置における必要な
資源を減らすことや効率を向上させることが難しかっ
た。 マルチチャネルを実現できない。
【0013】最近、周辺装置として種々の機能を複合さ
せた複合機が利用されつつある。例えば、ファクシミリ
装置を、スキャナ単体,プリンタ単体,ファクシミリと
してホストコンピュータ等から利用できるデジタル複合
機などがある。このような装置を利用する際には、各単
体機能ごとに独立した複数のチャネルを介して通信を行
えば、同時に複数の機能を利用することができる。
【0014】しかしながら、SBP−2では、マルチチ
ャネルを提供できないため、そのように単体機能を同時
に利用することが難しい。 SBP−2以外のプロトコルを採用すれば非同期に発
生するデータの転送が可能となるものも、マルチチャネ
ルが実現できるものもあるが、そのようなプロトコルで
はIEEE1394のメモリバスモデルとしての特徴を
活かすことができない。すなわち、ホストとプリンタの
通信であれば、プリンタ側の都合に応じてデータ転送を
行うことができず、ホストがプリンタの状態を監視しな
がらデータ転送を行わねばならないことになる。
【0015】本発明は上記従来例に鑑みてなされたもの
で、1回のログインで全2重通信(互いに非同期な双方
向通信)を可能とし、また、データの交換に必要なプロ
セスやメモリといった資源を効率的に利用できる通信制
御方法及び通信制御装置及びそれを用いた印刷装置を提
供することを目的とする。
【0016】また、イニシエータとターゲットとが互い
のキューの空き容量を相互に監視しているため、ORB
あるいはステータスブロックを送信した際に、確実に受
信される通信制御方法及び通信制御装置及びそれを用い
た印刷装置を提供することを目的とする。
【0017】また、ターゲット側へのデータ転送を、タ
ーゲットがその都合に応じて読み出すことで行うことが
でき、イニシエータがターゲットの都合によってデータ
転送に占有されることを防止できる通信制御方法及び通
信制御装置及びそれを用いた印刷装置を提供することを
目的とする。
【0018】また、マルチチャネルを実現する通信制御
方法及び通信制御装置及びそれを用いた印刷装置を提供
することを目的とする。
【0019】
【課題を解決するための手段】上記目的を達成するため
に本発明は次のような構成から成る。すなわち、イニシ
エータの有する記憶領域に対してターゲットからデータ
を読み書きしてデータを交換する通信制御方法であっ
て、イニシエータは、前記記憶領域に対する読み出し・
書き込みそれぞれに応じた命令を、ターゲットが保持で
きる読み出し・書き込みそれぞれの命令の数を越えない
ようにターゲットに送信し、ターゲットは、受信した読
み出し・書き込みそれぞれの命令を、互いに異なるキュ
ーにより保持して、互いに独立に処理する。あるいは、
イニシエータの有する記憶領域に対してターゲットから
データを読み書きしてデータを交換する通信制御方法で
あって、ターゲットは、送信しようとするデータのサイ
ズが所定サイズを越えるか判定し、越える場合には、前
記記憶領域に対する書込み命令を発行するようイニシエ
ータに対して要求し、越えない場合には、当該データを
イニシエータの前記記憶領域中の定められた領域に書き
込み、イニシエータは、前記ターゲットから書込み命令
を発行する要求を受信した場合には書込み命令を発行す
る。
【0020】あるいは、イニシエータの有する記憶領域
に対してターゲットからデータを読み書きしてデータを
交換する通信システムであって、イニシエータは、前記
記憶領域に対する読み出し・書き込みそれぞれに応じた
命令を、ターゲットが保持できる読み出し・書き込みそ
れぞれの命令の数を越えないようにターゲットに送信
し、ターゲットは、受信した読み出し・書き込みそれぞ
れの命令を、互いに異なるキューにより保持して、互い
に独立に処理する。
【0021】あるいは、イニシエータの有する記憶領域
に対してターゲットからデータを読み書きしてデータを
交換する通信システムであって、ターゲットは、送信し
ようとするデータのサイズが所定サイズを越えるか判定
し、越える場合には、前記記憶領域に対する書込み命令
を発行するようイニシエータに対して要求し、越えない
場合には、当該データをイニシエータの前記記憶領域中
の定められた領域に書き込み、イニシエータは、前記タ
ーゲットから書込み命令を発行する要求を受信した場合
には書込み命令を発行する。
【0022】あるいは、メモリ内の記憶領域に対して、
通信により接続されたターゲットからデータを読み書き
してデータを交換する通信制御方法であって、前記ター
ゲットからの自発的な要求を受けてキューに登録するキ
ューイング工程と、アプリケーションあるいはターゲッ
トからの要求に応じて、前記記憶領域に対する読み出し
・書き込み命令を、ターゲットが保持できる読み出し・
書き込みそれぞれの命令の数を越えないように生成して
送信する命令生成工程とを備える。
【0023】あるいは、通信により接続されたイニシエ
ータの有する記憶領域に対してデータを読み書きしてデ
ータを交換する通信制御方法であって、前記イニシエー
タから受信した読み出し命令を所定容量のキューに登録
するキューイング工程と、前記キューから読み出し命令
を取り出して実行する順次実行工程と、前記イニシエー
タから受信した書込み命令を受信後直ちに実行する即時
実行工程と、前記イニシエータに対するデータ転送の要
求を発行する転送要求工程とを備える。
【0024】あるいは、記憶領域に対してターゲットか
らデータを読み書きしてデータを交換する通信制御装置
であって、ターゲットとの通信手段と、前記記憶領域を
含むメモリと、前記ターゲットからの自発的な要求を登
録するキュー管理手段と、アプリケーションあるいはタ
ーゲットからの要求に応じて、前記記憶領域に対する読
み出し・書き込み命令を、ターゲットが保持できる読み
出し・書き込みそれぞれの命令の数を越えないように生
成して送信する命令生成手段とを備える。
【0025】あるいは、イニシエータの有する記憶領域
に対してデータを読み書きしてデータを交換する通信制
御装置であって、イニシエータとの通信手段と、前記イ
ニシエータから受信した読み出し命令を保持する所定容
量のキューと、前記キューから読み出し命令を取り出し
て実行する順次実行手段と、前記イニシエータから受信
した書込み命令を受信後直ちに実行する即時実行手段
と、前記イニシエータに対するデータ転送の要求を発行
する転送要求手段とを備える。
【0026】あるいは、記憶領域に対して通信で接続さ
れるターゲットからデータを読み書きしてデータを交換
する通信制御プログラムを格納するコンピュータ可読の
記憶媒体であって、前記プログラムは、前記ターゲット
からの自発的な要求を登録するキュー管理手段と、アプ
リケーションあるいはターゲットからの要求に応じて、
前記記憶領域に対する読み出し・書き込み命令を、ター
ゲットが保持できる読み出し・書き込みそれぞれの命令
の数を越えないように生成して送信する命令生成手段と
を備える。
【0027】あるいは、通信で接続されるイニシエータ
の有する記憶領域に対してデータを読み書きしてデータ
を交換する通信制御プログラムを格納するコンピュータ
可読の記憶媒体であって、前記プログラムは、前記イニ
シエータから受信した読み出し命令を所定容量のキュー
に登録するキュー管理手段と、前記キューから読み出し
命令を取り出して実行する順次実行手段と、前記イニシ
エータから受信した書込み命令を受信後直ちに実行する
即時実行手段と、前記イニシエータに対するデータ転送
の要求を発行する転送要求手段とを備える。
【0028】あるいは、上記いずれかに記載の通信制御
方法を用いて、ホスト装置をイニシエータとし、プリン
タ装置をターゲットしてホスト装置とプリンタ装置とを
接続し、前記プリンタ装置は、ホスト装置から印刷デー
タを受信してそれを基に印刷出力し、前記ホスト装置
は、プリンタ装置からプリンタの状態情報を受信する印
刷システム。
【0029】
【発明の実施の形態】
[第1の実施の形態]本発明の第1の実施の形態とし
て、ホストコンピュータとプリンタとを、IEEE13
94で接続し、その上に構築されたSBP−2プロトコ
ルを用いた、本発明に係るプロトコル(以下HPTと呼
ぶ)に従ってデータ転送を行うプリンタシステムを説明
する。図40は、そのプリンタシステムにおけるハード
ウエア構成図である。 <システムのハードウエア構成>図40において、ホス
トコンピュータ200は、ROM3のプログラム用RO
Mに記憶された文書処理プログラム等に基づいて、図
形,イメージ,文字,表(表計算等を含む)等が混在し
た文書処理を実行するCPU1を備える。CPU1はシ
ステムデバイス4に接続される各デバイスをCPU1が
総括的に制御する。また、ROM3のプログラム用RO
Mには、CPU1の制御プログラム等が記憶され、RO
M3のフォント用ROMには上記文書処理の際に使用す
るフォントデータ等が記憶され、ROM3のデータ用R
OMは上記文書処理等を行う際に使用する各種データが
記憶される。RAM2は、CPU1の主メモリ,ワーク
エリア等として機能する。プログラムはRAM2に格納
されても良い。また、RAM2には、送信データバッフ
ァやORBを格納するシステムメモリが確保される。
【0030】キーボードコントローラ(KBC)5は、
キーボード9や不図示のポインティングデバイスからの
キー入力を制御する。CRTコントローラ(CRTC)
6は、CRTディスプレイ(CRT)10の表示を制御
する。メモリコントローラ(MC)7は、プートプログ
ラム,種々のアプリケーション,フォントデータ,ユー
ザファイル,編集ファイル等を記憶するハードディスク
(HD)、フロッピーディスク(FD)等の外部メモリ
11とのアクセスを制御する。1394インターフェー
ス8は、IEEE1394規格に従ってプリンタ100
に接続されて、プリンタ100との通信制御処理を実行
する。なお、CPU1は、例えばRAM2上に設定され
た表示情報RAMへのアウトラインフォントの展開(ラ
スタライズ)処理を実行し、CRT10上でのWYSI
WYGを可能としている。また、CPU1は、CRT1
0上の不図示のマウスカーソル等で指示されたコマンド
に基づいて登録された種々のウィンドウを開き、種々の
データ処理を実行する。
【0031】プリンタ100において、プリンタCPU
12は、ROM13のプログラム用ROMに記憶された
制御プログラム等或いは外部メモリ14に記憶された制
御プログラム等に基づいてシステムバス15に接続され
る各種のデバイスとのアクセスを総括的に制御し、印刷
部インタフェース16を介して接続される印刷部(プリ
ンタエンジン)17に出力情報としての画像信号を出力
する。また、このROM13のプログラムROMには、
後述する各種エージェントた画像処理を実現するCPU
12の制御プログラム等が記憶される。ROM13のフ
ォント用ROMには上記出力情報を生成する際に使用す
るフォントデータ等が記憶され、ROM13のデータ用
ROMには、ハードディスク等の外部メモリ14が無い
プリンタの場合には、ホストコンピュータ上で利用され
る情報等が記憶されている。CPU12は1394イン
ターフェース18を介してホストコンピュータとの通信
処理が可能となっており、プリンタ内の情報等をホスト
コンピュータ200に通知可能に構成されている。
【0032】RAM19は、CPU12の主メモリ、ワ
ークエリア等として機能するRAMで、図示しない増設
ポートに接続されるオプションRAMによりメモリ容量
を拡張することができるように構成されている。なお、
RAM19は、出力情報展開領域、環境データ格納領
域、NVRAM等に用いられる。
【0033】前述したハードディスク(HD)、ICカ
ード等の外部メモリ14は、メモリコントローラ(M
C)20によりアクセスを制御される。外部メモリ14
は、オプションとして接続され、フォントデータ、エミ
ュレーションプログラム、フォームデータ等を記憶す
る。また、操作パネル18には、操作のためのスイッチ
およびLED表示器等が配されている。また、前述した
外部メモリは1個に限らず、少なくとも1個以上備え、
内蔵フォントに加えてオプションフォントカード,言語
系の異なるプリンタ制御言語を解釈するプログラムを格
納した外部メモリを複数接続できるように構成されてい
ても良い。さらに、図示しないNVRAMを有し、操作
パネル1012からのプリンタモード設定情報を記憶す
るようにしても良い。 <イニシエータの構成>上述したハードウエア構成にお
いて、プリンタ100をターゲットとし、ホストコンピ
ュータ200をイニシエータとした通信システムを、図
1及び図2に示す。本実施形態に置いては、これら構成
は、それぞれホストコンピュータ及びプリンタにおける
CPUによりプログラムを実行することで実現される。
まず、図2のイニシエータから説明する。
【0034】図2において、イニシエータであるホスト
コンピュータにおいては、アプリケーションであるプリ
ンタドライバ209はHPT処理部203を介してプリ
ンタに対するデータ転送要求を発行するとともに、プリ
ンタからの応答を受ける。
【0035】HPT処理部203はORB管理部206
を含んでおり、システムメモリ208に生成されるOR
Bを管理している。ORBはホストコンピュータからプ
リンタへ、あるいはプリンタからホストコンピュータへ
転送されるデータバッファのアドレスやサイズ等を格納
したブロックであり、先頭のORBから順次リンクされ
ている。このORBについては、次のような処理の原則
がある。 リンクの先頭のORBから順次処理される。完了通知
(ステータスブロック)を受信するとリンクからはずさ
れる。 新たに生成されたORBはリンクの末尾につながれ
る。 リンクされるORBの数の上限は後述するプリンタに
おける2つのキューの容量の合計と同一である。
【0036】この項を実現するために、ORB管理部
206は、プリンタの2つのキューそれぞれについて2
つのカウンタを用意している。ひとつはCurrentQuedQUE
というカウンタであり、後述するプリンタのプリフェッ
チキューの現在の空き数を示している。また、もうひと
つはCurrentImmediateQUEというカウンタである。こち
らのカウンタが対応するキューの容量は本実施形態では
1であり、処理されているエントリのみがキューに入っ
ているということができる。これらカウンタは、ORB
の生成と削除に合わせて増減される。
【0037】また、ORBを生成した際には、プリンタ
側のドアベルレジスタと呼ばれるレジスタに書き込むこ
とにより、ORBが発生したことをプリンタに知らせ
る。この手続きはSBP−2で規定されているもので、
その規格書等に記載されている。
【0038】また、HPT処理部203は、ステータス
キュー204及びキュー処理部205を含む。1394
インターフェース201を介して受信されたステータス
は、ステータス識別部202により識別され、ステータ
スの種類に応じて直接ORB管理部206に送り付けら
れるか、あるいはステータスキュー204に入れられ、
先入先出順にキュー処理部205で処理される。ステー
タスの種類には2種類ある。 ノーマルステータス…ホストコンピュータ−プリンタ
間のデータ転送の結果を通知するステータスブロックで
あり、直接ORB管理部に送られる。 アンソリサイテド(Unsolicited)ステータス…プリン
タからホストコンピュータに対して転送すべき非同期デ
ータが発生したことを示すステータスブロックであり、
ステータスキューに入れられる。これは通常プリンタか
ら自発的に発行される。これらの区別はステータスブロ
ックに書き込まれた値によってなされる。
【0039】また、ステータスレジスタ210はプリン
タから書き込まれるレジスタであり、ホストコンピュー
タが読むべきデータがプリンタがあることを示す。
【0040】イニシエータたるホストコンピュータは以
上のような機能的な構成からなっている。 <ターゲットの構成>図1は、ターゲットたるプリンタ
の機能上の構成を示すブロック図である。
【0041】図1において、ドアベルレジスタ108は
ホストコンピュータによって書き込まれるレジスタであ
り、ORBが新たに生成されたことを示す。コマンドフ
ェッチエージェント103は、1394インターフェー
ス101を介してORBを読み込み、その種類に応じて
プリフェッチキュー104に入れるか、あるいは即時実
行エージェント106に送りつける。このコマンドの種
類は、即時実行か順次実行かを示すフィールドを基準に
して判定される。しかし、実質的にはこのフィールドは
コマンドの機能に対応しており、本実施形態ではターゲ
ットからイニシエータへのデータ転送のためのコマンド
(リード要求コマンド)や、ターゲットの状態を捕捉す
るためのコマンドは即時実行であり、イニシエータから
ターゲットへの印刷データの転送などは順次実行とされ
ている。
【0042】順次実行エージェント105及び即時実行
エージェント106は、ともにコマンドフェッチエージ
ェント103によって読み込まれたORBを、その内容
に応じて、ホストコンピュータのバッファからのデータ
の読み出しや、データ処理部7から与えられたデータの
書込みなどを行う。その後、ホストコンピュータにノー
マルステータスを返す。
【0043】さらに、即時実行エージェント106は、
PDLを解釈実行してラスタデータを生成するラスタラ
イズやデバイス管理を行うデータ処理部107からのデ
ータ転送要求に応じて、アンソリサイテドステータスを
ホストコンピュータに送る。バスインターフェース10
2は、プリンタ100からホストコンピュータ200の
システムメモリ208の所望のメモリロケーションにア
クセスするためのインターフェースである。
【0044】なお、本例のシステムでは、順次実行エー
ジェントはホストコンピュータからプリンタへのデータ
転送のORBのために用いられ、即時実行エージェント
はプリンタからホストコンピュータへのデータ転送のO
RBのために用いられる。
【0045】以上、イニシエータ及びタ−ゲットの構成
と動作を簡単に説明した。これらを更に詳しく説明する
前に、まずORBの詳しい内容を説明する。 <コマンドORB(Operation Request Block)の内容>
図3はORB一般の構成を示す図である。図3(A)に
おいて、"Next_ORB"(リンク)フィールド301は、次
のORBへのリンクである。次のORBがない場合には
それを表す所定の値が入れられる。なお、先頭のORB
は、所定のアドレスレジスタにより示される。"data_de
scripter"(データアドレス)フィールド302は、デ
ータバッファのアドレスを示す。"d"(方向)フィール
ド303は、ホストコンピュータからプリンタへのデー
タ転送(0:ライト)か、プリンタからホストコンピュ
ータへのデータ転送(1:リード)かを示す。"data_si
ze"(データサイズ)フィールド304は、アドレスフ
ィールド302で指し示されるデータバッファのサイズ
を示す。以上、図の点線よりも上のフィールドがSBP
−2で規定されているフィールドであり、これから説明
するフィールド305〜308が、HPTに固有の処理
に用いられるフィールドである。
【0046】"i"フィールド(即時ビット)305は、
ターゲットにおいて、即時実行エージェントか、順次実
行エージェントかどちらで実行されるORBであるかを
示している。値が0すなわち順次実行エージェントであ
ればプリフェッチキューに入れられ、値が1であれば即
時実行エージェントにより処理される。"function"(フ
ァンクション)フィールド306は、図3(B)に示す
ようにORBの意味を示している。これについては、更
に詳しく説明する。"command_block_length"(コマンド
長)フィールド307は、"control_block"(コントロ
ールブロック)フィールド308の長さを表している。
コントロールブロックフィールド308には、ファンク
ションフィールド306の値に応じて様々な値が入れら
れる。
【0047】次に、機能ごとにORBの内容を説明す
る。 (キューデプスコマンド)図4はファンクション=0の
キューデプスコマンドORBを示している。このコマン
ドは、ターゲットのプリフェッチキュー104の深さを
得るためのコマンドである。即時ビットは1にセットさ
れる。
【0048】このコマンドのコントロールブロックに
は、"source_ID"(ソースID)401と"status_queue
_length"(ステータスキュー長)402の2つのフィー
ルドが含まれている。ソースIDは、イニシエータにロ
グインしたプロセスの識別子が入れられる。図2の例で
は、ログインしたプロセスはプリンタドライバとなる。
これは、複数のプロセスがログインしている場合に、タ
ーゲットが応答すべきプロセスを識別するために付加さ
れている。また、ステータスキュー長402は、イニシ
エータの有するステータスキュー204の深さをターゲ
ットに知らせるためのフィールドである。
【0049】ステータスキュー長は、ターゲットにおい
てステータスキューにどれだけアンソリサイテドステー
タスがキューイングされているかを管理するために用い
られる。ターゲットは、イニシエータがプリフェッチキ
ューを管理するのと同様に、アンソリサイテドステータ
スの生成および処理済みの通知に従ってステータスキュ
ーの深さを管理している。
【0050】このコマンドを受けたターゲットは、ステ
ータスキュー長をカウンタCurrentUnsolicitedQUEに格
納するとともに、プリフェッチキュー長をイニシエータ
に返す。イニシエータでは、このコマンドによって得た
プリフェッチキューのキューの深さを元にして、ORB
の生成および消去という動作に応じて、ターゲットにキ
ューされているORBの数を管理する。 (データ転送コマンド)図5はファンクション=1のデ
ータ転送コマンドORBを示している。このコマンド
は、イニシエータからターゲットにデータを転送するた
めのコマンドである。"page_table_present"ビット50
1は、ページテーブルの存在を示しており、ページテー
ブルがある場合には、"page_size"フィールド502に
ページテーブルにより参照されるページサイズをセット
する。転送するデータバッファは、このページテーブル
とアドレス503およびデータサイズ504によって示
される。
【0051】このコマンドを受けたターゲットは方向フ
ィールドの値に応じて、指定されたデータバッファへの
データのかき込みあるいはバッファからデータの読み出
しを行う。 (リード要求コマンド)図6はファンクション=2のリ
ード要求コマンドORBを示している。このコマンド
は、ターゲットから「リード要求ステータス」、すなわ
ちターゲットのプリンタからホストへのデータ転送要求
が送られてきた場合に、プリンタにデータを書き込むべ
きデータバッファを提供するコマンドである。"sequenc
e_number"(シーケンス番号)フィールド601は、こ
のコマンドを発行するきっかけとなった対応するリード
要求ステータスに付されているシーケンス番号と同一の
値であり、リード要求ステータスとリード要求コマンド
とを対応づけるための番号である。その他のフィールド
の構成はデータ転送コマンドと同様である。ただし、即
時ビットは1、方向ビットも1(リード)に設定され
る。即時ビットが1に設定されているのは、ターゲット
から発行されるリード要求ステータスに対して直ちに対
応するためである。また、バッファのサイズは、リード
要求ステータスによって指定されている値を使用する。
【0052】このコマンドを受けたターゲットは、イニ
シエータのシステムメモリに確保された、指定されたデ
ータバッファへとデータを書き込む。 (ダイレクトステータス応答コマンド)図7はファンク
ション=3のダイレクトステータス応答コマンドORB
を示している。このコマンドは、ターゲットによりリー
ド要求を破棄させる場合に、リード要求ステータスに対
応して発行される。あるいは、ターゲットからのダイレ
クトステータスに対応したターゲットへの応答に用いら
れる。"sequence_number"(シーケンス番号)フィール
ド701は、このコマンドを発行するきっかけとなった
対応するリード要求ステータスあるいはダイレクトステ
ータスに付されているシーケンス番号と同一の値であ
る。その他のフィールドの構成はデータ転送コマンドと
同様である。ただし、即時ビットは1に設定される。
【0053】このコマンドを受けたターゲットは、対応
するシーケンス番号を有するリード要求ステータスを発
行していれば、それにかかるリード要求を破棄する。 (デバイス資源獲得コマンド)図8はファンクション=
8のデバイス資源獲得コマンドORBを示している。"r
esource_ID"(リソースID)フィールド801は、図
8(B)に示されている。値0は、使用するデバイスク
ラスおよび論理ユニット特性に依存した値であり、この
システムでは、0はデバイスクラスとしてプリンタ、論
理ユニット特性として印刷サービスを示している。
【0054】このコマンドを受けたターゲットは、リソ
ースIDで指定された資源を、このコマンドの送り手で
あるイニシエータに対して割り当てる。 (デバイス資源解放コマンド)図9はファンクション=
9のデバイス資源解放コマンドORBを示している。"r
esource_ID"(リソースID)フィールド801は、図
8(B)に示されている通りである。
【0055】このコマンドを受けたターゲットは、リソ
ースIDで指定された資源を解放する。 (基本デバイスステータスコマンド)図10はファンク
ション=A(Hex)の基本デバイスステータスコマンドO
RBを示している。
【0056】このコマンドを受けたターゲットは、ター
ゲット自身の有する状態を基本デバイスステータスブロ
ックにのせてイニシエータに応答する。イニシエータは
このコマンドを発行することで、ターゲットの状態を把
握できる。プリンタにおいては、例えば用紙サイズやサ
ポートするエミュレーション、その他のプリンタに関る
様々な状態情報が基本ステータスとしてターゲットから
返される。 <ステータスブロックの内容>図11は、ターゲットで
あるプリンタからイニシエータであるホストコンピュー
タに返されるステータスブロックを示している。ステー
タスブロックは、前述したコマンドORBに対応して用
意されている。ステータスブロックは、ターゲットの順
次実行エージェントおよび即時実行エージェントから発
行される。
【0057】図11(A)において、右側の点線より上
の部分はSBP−2により規定されたフィールドであ
り、ステータスに対応するコマンドORBを示すためな
どのフィールドを含む。"i"(即時ビット)1101
は、ステータスが順次実行エージェントと即時実行エー
ジェントのいずれから発行されたかを示す。値が0であ
れば順次実行エージェントから、1であれば即時実行エ
ージェントから発行されたことを示す。"hpt_status"
(hptステータス)フォールド1102は、図11
(B)に示したように、ステータスブロックの種類を示
している。"hpt_status_dependent"フィールド1103
は、hptステータスに依存してその値が与えられ
る。"status_length"(ステータス長)フィールド10
4は、レスポンスブロック1105の長さを示してい
る。次に、種類毎にステータスブロックを説明する。 (キューデプスステータスブロック)図12は、hpt
ステータス=0のキューデプスステータスを示してい
る。キューデプスステータスは、キューデプスコマンド
に対するターゲットからの応答であり、ターゲットは"p
refetch_queue_depth"フィールド1201にプリフェッ
チキュー104の深さをセットしてイニシエータに返
す。これによりイニシエータはプリフェッチキューの容
量を知ることができ、その容量にあわせて生成するOR
Bの数を管理する。 (データ転送ステータスブロック)図13は、hptス
テータス=1のデータ転送ステータスを示している。デ
ータ転送ステータスは、データ転送コマンドに対するタ
ーゲットからの応答であり、データ転送コマンドORB
の処理が終了した時点でターゲットから発行される。イ
ニシエータはこのステータスを受けることで、ターゲッ
トのキューから1つのORBが処理されて排出されたこ
とを知ることができる。 (リード要求ステータスブロック)このステータスはh
ptステータス=2であり、そのフォーマットは特に図
示しないが、レスポンスブロック内に、イニシエータに
確保させるデータバッファのサイズを有している。この
ステータスは、コマンドORBに対して発行されるので
はなく、通常ターゲットから自発的に発行される。イニ
シエータはこのリード要求ステータスに対して、前述し
たリード要求コマンドORBを発行する。この手順につ
いては後述する。 (ダイレクトステータスブロック)このステータスはh
ptステータス=3であり、そのフォーマットは特に図
示しないが、レスポンスブロック内に、アプリケーショ
ンレベル(すなわちターゲットにおけるデータ処理部)
のステータスを含んでいる。すなわち、通常はアプリケ
ーションレベルのデータの交換はORBとそれにリンク
したデータバッファとを用いて行われる。しかし、デー
タが非常に小さく、レスポンスブロックの上限(本例で
は24バイト)内に治まる場合には、HTPレベルの応
答にアプリケーションレベルの応答を重畳してしまう。
イニシエータではこのステータスに対応してダイレクト
ステータス応答コマンドORBを発行する。 (デバイス資源獲得ステータスブロック)このステータ
スはhptステータス=8であり、そのフォーマットは
特に図示しないが、デバイス資源獲得コマンドを受けて
それを処理したターゲットから発行される。 (デバイス資源解放ステータスブロック)このステータ
スはhptステータス=9であり、そのフォーマットは
特に図示しないが、デバイス資源解放コマンドを受けて
それを処理したターゲットから発行される。 (基本デバイスステータスブロック)このステータスは
hptステータス=A(Hex)であり、そのフォーマット
は特に図示しないが、基本デバイスステータスコマンド
を受けた場合に、ターゲットから発行される。このステ
ータスには、所定のデバイスステータスがセットされ
る。
【0058】以上、本実施形態の印刷システムにおいて
用いられるコマンドおよびステータスについて説明し
た。次に、イニシエータおよびターゲットにおけるデー
タ交換の手順を説明する。 <イニシエータからのデータ転送要求処理>図14はホ
ストコンピュータにおける、ホストコンピュータからプ
リンタあるいはプリンタからホストコンピュータへのデ
ータ転送要求に応じて、プリンタにコマンドORBの生
成を通知する手順を示している。
【0059】プリンタドライバ等のアプリケーションか
らデータの転送要求はステップS1401で監視されて
いる。データ転送要求には、プリンタドライバ等のアプ
リケーションが転送すべきデータがあることを知らせて
くる場合と、プリンタからのデータリード要求に応じて
知らされる場合とがある。なおプリンタが主体的にホス
トコンピュータに送るステータスを、アンソリサイテド
ステータスと呼ぶ。一方、ホストコンピュータからのコ
マンドORBの処理完了通知として返すステータスをノ
ーマルステータスと呼ぶ。
【0060】データ転送要求があると、ステップS14
02で、それを順次実行とするか、即時実行とするか決
定し、ORBの即時ビットにセットする。プリンタから
のアンソリサイテドステータスによってORBを発行す
る場合は即時実行、ホストコンピュータのアプリケーシ
ョンからのデータ転送要求による場合には順次実行とし
ている。
【0061】順次実行の場合、ステップS1403にお
いてカウンタCurrentQuedQUEが0でないか判定する。こ
のカウンタCurrentQuedQUEの初期値としては、電源立ち
上げ時やリセット時等、プリンタのプリフェッチキュー
の深さがキューデプスコマンドにより読取られて、それ
がセットされる。すなわち、カウンタCurrentQuedQUEに
より、現在のプリフェッチキューの空きがカウントされ
る。ステップS1404において空きが0であれば、タ
ーゲットのプリフェッチキューは空いていないので、空
くまでまつ。空きがあればステップS1404でカウン
タCurrentQuedQUEを1減らし、ステップS1407でデ
ータ転送ORBを生成してリストにリンクする。このと
き、アプリケーションによって作成されているデータバ
ッファがORBにリンクされる。その後、ステップS1
408で、プリンタのドアベルレジスタ108に書き込
み、OBRが発生したことをターゲットに知らせる。
【0062】一方、ステップS1402で即時実行であ
ると判定された場合、ステップS1406でカウンタCu
rrentImmediateQUEの値が0より大きいか判定する。な
お、ターゲットの即時実行エージェントにはキューは用
意されておらず、従ってこのカウンタの値は最大値が1
であり、リセット時に1に設定されている。0より大き
い場合には、ステップS1406でそのカウンタを1減
らし、ORBを生成リンクにリストしてドアベルを書き
込む。
【0063】以上のようにしてドアベルレジスタに書き
込まれると、図15の手順で、フェッチエージェントに
よってORBがターゲットに取り込まれる。 <フェッチエージェントによる処理>図15は、ドアベ
ルレジスタ108に書き込みが行われた際のターゲット
のフェッチエージェントによる処理手順である。
【0064】ドアベルレジスタ108に書き込まれる
と、ステップS1601においてリードポインタに、シ
ステムメモリ内でリンクされている先頭のORBのアド
レスを設定する。
【0065】ステップS1602では、リードポインタ
で示されるORBの即時ビットをテストし、即時である
か順次であるか判定する。順次実行である場合には、ス
テップS1603でプリフェッチキュー104の最後尾
のアドレス(NextWritePointer)を獲得する。ホストコン
ピュータはプリフェッチキューの空きを確認してドアベ
ルをライトするので、キューの空きは保証されている。
【0066】次にステップS1604で、リードポイン
タで示されるORBをプリフェッチキューの最後尾にコ
ピーし、ステップS1605で、順次実行エージェント
に対してORBの受信を通知する。ステップS1606
で、リードポインタで示されるORBの"Next_ORB"フィ
ールド(次のORBへのリンクフィールド)がヌルでは
ないか、すなわちリンクしているORBがあるか判定
し、なければ終了するが、あれば、そのリンクされてい
るORBのアドレスをリードポインタに設定してステッ
プS1602からくり返す。
【0067】一方、ステップS1602で即時実行され
るORBであると判定されると、ステップS1608で
は、そのORBを即時実行エージェントによって予め示
されるアドレスへとコピーする。その後、ステップS1
609で即時実行エージェントにORBの受信を通知
し、ステップS1606に進む。
【0068】以上のようにしてORBがターゲットの取
り込まれて各実行エージェントにORBの受信が通知さ
れ、図16の手順でORBの処理が実行される。 <実行エージェントによる処理>実行エージェントは、
即時実行エージェントと順次実行エージェントがある
が、ORBの処理に関しては同じ手順であるので、図1
6としてまとめて説明する。
【0069】実行エージェントは、フェッチエージェン
トからORB受信の通知があると、ステップS1701
においてNextreadpointerにより指し示されるORBの
データアドレスフィールド、方向ビット、データサイズ
フィールドの値を取り出す。なお、Nextreadpointerと
は、キューに格納されている、実行エージェントがまさ
に処理するORBへのポインタである。順次実行エージ
ェントにおいては、プリフェッチキューの先頭のORB
が指し示される。
【0070】ステップS1702では、取り出したデー
タサイズが0であるか判定し、サイズが0でなければ、
ステップS1703において方向ビット(Direction bi
t)がライトであるかリードであるか判定する。ライトで
ある場合には、データアドレスとデータサイズで指定さ
れるデータをイニシエータのシステムメモリから読み出
し、データ処理部107に渡す。
【0071】データ処理部はステップS1705〜S1
707で渡されたデータを処理する。例えば、プリンタ
ではPDLデータの解析やラスタライズなどが行われ
る。
【0072】データ処理部での処理終了が通知される
と、ステップS1708で、当該ORBの処理が完了し
た旨通知するデータ転送ステータスブロック(ノーマル
ステータス)を生成し、ステップS1709でステータ
スをイニシエータにの通知するために、ステータスレジ
スタ210にその旨書き込む。
【0073】一方、ステップS1703でORBの方向
ビットがリードであると判定されると、ステップS17
10において、ORBのデータアドレスフィールドおよ
びデータサイズフィールドで指定されたデータバッファ
に、データを書き込む。このターゲットから書き込まれ
るデータをリバースデータと呼ぶ。書き込むリバースデ
ータは、データ処理部などで作成、バッファに格納され
ているデータであり、例えば、プリンタの搭載フォント
の列挙といった24バイト以上のデータである。
【0074】ステップS1711では書き込みが済んだ
データを格納してあったバッファを解放する。
【0075】処理が終了したなら、ステップS1713
で処理完了通知のステータスブロック(ノーマルステー
タス)を作成し、ステップS1714でステータスレジ
スタに所定の値を書き込んでステータスブロックの通知
をホストコンピュータに知らせる。
【0076】最後に、ステップS1715において、カ
ウンタCurrentUnsolicitedQUEを1増やして終了する。
このカウンタCurrentUnsolicitedQUEは、キューデプス
コマンドを受信した際に、その"status_que_depth"フィ
ールドに格納されている値が初期値として設定されてい
る。このカウンタは、ステータスキュー204の空きを
示すように、アンソリサイテドステータスブロックの送
信と、その処理済みの通知に応じて増減される。カウン
タCurrentUnsolicitedQUEのカウントは次の条件に従っ
て行われる。 −カウントアップの条件 アンソリサイテドステータスブロックを送信した場合
1加算する。イニシエータではアンソリサイテドステー
タスのみがステータスキュー204にキューイングされ
る。 −カウントダウンの条件 リード要求ORBの処理完了のステータスブロックを
送信した場合に1加算する。イニシエータではこのステ
ータスを受けてステータスキュー203から処理済みの
ステータスブロックをはずす。 データサイズが0のORBの処理完了のステータスブ
ロックを送信した場合に1加算する。すなわち、ダイレ
クトステータス応答のORBに対するステータスブロッ
クを送信した場合に1加算する。イニシエータでは、こ
のステータスを受けてステータスキュー203から処理
済みのステータスブロック(ダイレクトステータス)を
はずす。
【0077】また、ステップS1702でデータサイズ
が0であると判定されたなら、特に処理すべきデータは
ないので、何もせずに処理完了通知を送るべくステップ
S1713でステータスブロックを応答する。
【0078】以上の手順で、イニシエータによるORB
の生成から、ターゲットによるその処理とステータスブ
ロックの生成までの処理が行われる。次に、図17,1
8を参照して、プリンタからホストコンピュータへのア
ンソリサイテドステータスの送信をきっかけとするデー
タ転送を説明する。 <ターゲットにおけるアンソリサイテドステータスの発
行処理>プリンタに紙切れやジャム等のエラーが発生し
た場合など、プリンタからホストコンピュータに直ちに
通知しなければならない情報がある。この場合にはプリ
ンタが主体となって、データをプリンタに転送する。プ
リンタから送るべきデータがあると、データ処理部10
7はその旨即時実行エージェントに通知し、それにより
図17の処理が開始される。
【0079】ステップS1801では、ホストコンピュ
ータに送信すべきデータが24バイト超過であるか判定
する。24バイトとは、ステータスブロックのレスポン
スブロックにいれられるデータ量の上限である。
【0080】上限値を越えている場合、ステップS18
02でリード要求ステータスブロック(アンソリサイテ
ドステータス)を生成し、ステップS1803でステー
タスブロックの"ORB_offset"フィールドにリバースデー
タが格納されたアドレスを設定する。このとき、リバー
スデータのサイズもステータスブロックに書き込まれ
る。
【0081】ステップS1804では、カウンタCurren
tUnsolicitedQUEの値が0より大きい以下、すなわちス
テータスキューに空きがあるか判定する。空きがなけれ
ば空くまで待ってから、ステップS1805で、カウン
タCurrentUnsolicitedQUEの値を1減らして、ステップ
S1806でステータスレジスタに適当な値を書き込
む。
【0082】一方、データが24バイト以下であれば、
そのデータはステータスブロックに重畳してホストコン
ピュータに送れるため、ダイレクトステータス(アンソ
リサイテドステータス)を作成し、そのコマンドセット
依存フィールドにリバースデータを格納する。その後ス
テップS1804に分岐する。
【0083】以上のようにして、アンソリサイテドステ
ータスがイニシエータに送り付けられる。
【0084】ターゲットからステータスを受けたイニシ
エータは、図18の手順でそれを処理する。 <イニシエータによるステータス処理>この処理は、ス
テータスレジスタに所定の値がセットされて生じる割り
込みによって起動される。また、この割り込みとして
は、ステータスレジスタに値がセットされるごとの多重
割り込みを許している。
【0085】まずステップS1501において、ステー
タスがノーマルステータスかアンソリサイテドステータ
スか判別する。アンソリサイテドステータスであれば、
ステップS1502で、ステータスブロックをターゲッ
トから読み出してステータスキューの末尾にコピーす
る。ステップS1503ではそのブロックがキューの先
頭になったか判定し、キューの先頭になったなら、ステ
ップS1504で、リバースデータの格納用のバッファ
を確保し、ステップS1505でそのステータスがリー
ド要求ステータスかそれともダイレクトステータスか判
定する。
【0086】リード要求ステータスであれば、リード要
求コマンドORBをステップS1506で作成する。作
成されるORBは、即時フラグが「即時」であり、方向
フラグがリードである。また、バッファのアドレスをO
RBに搭載する。この後、データ転送の必要事項が生じ
たことを図14のプロセスに通知する。図14のプロセ
スにより、ステップS1506で作成されたORBはタ
ーゲットに送られ、そのデータバッファにターゲットか
らデータが書き込まれてデータ転送が行われることにな
る。
【0087】ステップS1505でダイレクトステータ
スと判定された場合、そのステータス内のリバースデー
タを確保したバッファにコピーし、ステップS1509
で、アプリケーション等の上位プロセスにそのリバース
データを送る。その後、ダイレクトステータス応答OR
B(即時ビットは「即時」)をステップS1510で作
成する。この時データサイズは0に指定する。
【0088】一方、ステップS1501でノーマルステ
ータスと判定されると、そのステータスに対応するOR
Bの方向ビットがリードかライトかステップS1511
で判定される。ライト、すなわちイニシエータからター
ゲットへのデータ転送であった場合、対応ORBをリス
トから削除し(ステップS1512)、それが使用して
いたデータバッファを解放し(ステップS1513)、
プリフェッチキューの空き容量であるカウンタCurrentQ
uedQUEの値を1増やす。
【0089】方向ビットがリード、すなわちターゲット
からイニシエータへのデータ転送であれば、そのステー
タスはリード要求コマンドORBに対する応答であるの
で、ステップS1515で、プリンタドライバ等の上位
プロセスにリード処理の終了を通知して、ステップS1
516で対応ORBをリストから削除し、カウンタCurr
entImmediateQUEを1増やす。すなわち、即時実行エー
ジェントに次のORBを送ることができる状態にする。
【0090】以上のようにして、ステータスレジスタへ
の書き込みが行われた場合に、ステータスを処理する。
すなわち、アンソリサイテドステータスはキューする
が、ノーマルステータスは直ちに処理される。アンソリ
サイテドステータスをキューイングする理由は、アンソ
リサイテドステータスはORBの生成を引き起こすが、
生成されリストされるORBの数はプリフェッチキュー
の容量を上回らないように制限されているためである。
ORBの数をこのように制限するのは、即時実行される
べきORBが、ORB作成通知後直ちに処理されること
を保証するためである。ORBが無制限に作られてしま
うと、ORBリスト自体が即時実行エージェントに処理
されるORBのキューとなってしまい、即時実行が保証
されなくなる。リンクされるORBの数を、ターゲット
のプリフェッチキューに入れられているORBの数と即
時実行エージェントで実行されているORBの数(1)
との合計値に制限することで、リンクリスト上のORB
を、ターゲットにおけるプリフェッチキューに対して透
過にすることができる。 <メッセージシーケンスの例>以上説明した手順でイニ
シエータとターゲットとの間で交換されるメッセージシ
ーケンスの例を、図19〜図21を用いて説明する。 (ターゲットへのデータ転送シーケンス)図19は、イ
ニシエータ(ホストコンピュータ)からターゲット(プ
リンタ)へのデータ転送時のシーケンス例である。
【0091】なお、図中のSBP−2とは、SBP−2
規格で規定されたデータ、すなわち図3のコマンドおよ
び図11のステータスにおける、SBP−2で規定され
たフィールドを処理する処理層である。また、HPTと
は、SBP−2で規定されいない、ファンクションごと
に定められた処理を行う処理層である。HPTでは、前
述したフローチャートの手順を行う。SBP−2は、そ
の手順において、ORBのリンクやドアベルのライト、
ORBやステータスのHPTへの引き渡し等の機能を果
たす。
【0092】まず、イニシエータのアプリケーションで
データ、HPTでORB(ここではデータ転送ORB)
が作成され、空きキューカウンタ(CurrentQuedQUE)が1
減らされて、ORBのリンク要求がSBP−2に出され
る(1901)。SBP−2ではORBをリンクしてド
アベルレジスタにライト要求を出す(1902)。13
94インタフェースにより、ドアベルレジスタが書き込
まれ(1903)、それがターゲットのSBP−2に通
知される(1904)。
【0093】通知を受けたSBP−2は、ORBリード
要求を1394インタフェースに出して(1905)、
システムメモリからORBが読み出される(190
6)。HPTは、読み出されたORBの内容に応じて対
応キューに格納する(1907)。ここではデータ転送
コマンドORBなので、1394インタフェースに対し
てデータリード要求を出す(1908)。これに応じ
て、指定されたアドレスからデータが読み出され、アプ
リケーションに渡される(1909)。アプリケーショ
ンは、この場合画像の展開を行うラスタライザ等であ
り、展開された画像はプリンタエンジンから印刷出力さ
れることになる。
【0094】これに対してターゲットのSBP−2に対
してステータスブロック送信要求が出され(191
0)、ステータスブロック(データ転送ステータス)が
イニシエータに返される(1911)。イニシエータの
HTPは、これを受けると対応ORBをリンクから削除
し、空きキューカウンタを1増やす(1912)。
【0095】以上のシーケンスによりイニシエータから
ターゲットにデータが転送される。 (イニシエータへのデータ転送シーケンス)図20は、
リード要求ステータスのシーケンスである。
【0096】ターゲットのアプリケーションでデータが
作成されると、アンソリサイテドステータス(リード要
求ステータス)が作成され、ステータスキューカウンタ
(CurrentUnsolicitedQUE)が1減らされて、アンソリサ
イテドステータス送信要求が出される(2001)。こ
れを受けたSBP−2ではアンソリサイテドステータス
ブロックをイニシエータに送信する(2002)。イニ
シエータのSBP−2層は、このステータスを受けてH
PT層にアンソリサイテドステータスブロックを送信す
る(2003)。HPT層は、アンソリサイテドステー
タスブロックをステータスキューにコピーする。
【0097】ステータスキューの先頭のステータスにつ
いては、データバッファおよびリード要求ORBを作成
してSBP−2層に作成したORBのリンクを要求する
(2004)。SBP−2層は、ドアベルレジスタへの
書き込み要求を出し(2005)、1394インタフェ
ースによりライトが行われる(2006)。ドアベル書
き込みの通知は1394インタフェースからSBP−2
に通知され(2007)直ちにORBのリード要求(2
008)とORBのリードが行われる(2009)。読
み出されたORBはターゲットのHPT層に渡され、H
PTでは指定されたキューにそれを格納した後(201
0)、その内容を解析してデータリード要求であること
を認識し、データライト要求を1394インタフェース
に対して出す(2011)。
【0098】これに応じてリバースデータがイニシエー
タの用意したデータバッファに書き込まれる(201
2)。
【0099】この処理が終わると、ステータスブロック
作成要求ががターゲットから出され、ステータスキュー
の空きが1つ増やされる(2013)。それに応じてノ
ーマルステータスブロックがイニシエータに返され(2
014)、それによってHPTにORBのリンク削除の
要求が出されると、対応ORBが削除され、即時実行エ
ージェント側のキューの空き数(0のはずである)に1
加えられ、使用されたデータバッファが解放される(2
015)。
【0100】以上のシーケンスによりターゲットからイ
ニシエータにデータが転送される。 (イニシエータへのデータ転送シーケンス)図21は、
ターゲットからイニシエータへとデータ転送する際のシ
ーケンスである。ただし、図20のシーケンスと異な
り、転送されるデータが小さいためにダイレクトステー
タスを用いている。
【0101】ターゲットのアプリケーションでデータが
作成されると、アンソリサイテドステータス(ダイレク
トステータス)が作成され、ステータスキューカウンタ
(CurrentUnsolicitedQUE)が1減らされて、アンソリサ
イテドステータス送信要求が出される(2101)。こ
れを受けたSBP−2ではアンソリサイテドステータス
ブロックをイニシエータに送信する(2102)。イニ
シエータのSBP−2層は、このステータスを受けてH
PT層にアンソリサイテドステータスブロックを送信す
る(2103)。HPT層は、アンソリサイテドステー
タスブロックをステータスキューにコピーする。
【0102】ステータスキューの先頭のステータスにつ
いては、ステータスに重畳されたアプリケーションレベ
ルのデータを読み出し、データバッファおよびダイレク
トステータス応答ORBを作成してSBP−2層に作成
したORBのリンクを要求する(2104)。SBP−
2層は、ドアベルレジスタへの書き込み要求を出し(2
105)、1394インタフェースによりライトが行わ
れる(2106)。ドアベル書き込みの通知は1394
インタフェースからSBP−2に通知され(2107)
直ちにORBのリード要求(2108)とORBのリー
ドが行われる(2109)。
【0103】読み出されたORBはターゲットのHPT
層に渡され、HPTでは指定されたキューにそれを格納
した後(2110)、その内容を解析する。ダイレクト
ステータス応答ORBであることが認識されると、対応
するステータスブロック作成要求がターゲットから出さ
れ、ステータスキューの空きが1つ増やされる(211
1)。それに応じてノーマルステータスブロックがイニ
シエータに返され(2112)、それによってHPTに
ORBのリンク削除の要求が出されると、対応ORBが
削除され、即時実行エージェント側のキューの空き数に
1加えられ、使用されたデータバッファが解放される
(2113)。
【0104】以上のシーケンスによりターゲットからイ
ニシエータにデータが転送される。このシーケンスで
は、図20のシーケンスに比べてデータライト要求(2
011)およびリバースデータ書き込み(2012)の
2つの手順が省かれている。 <本システムに特有の機能>本システムの構成および動
作は上述した通りである。このシステムに特有な機能や
構成、利点などをここで整理すると次のようなものがあ
げられる。 ORBのキューを順次実行用と即時実行用と2つ設
け、それぞれに応じた実行エージェントを設けた。これ
により、イニシエータからのデータ転送要求ORBはキ
ューイングされて順次処理されるが(順次実行)、ター
ゲットからのリード要求ステータスは、リード要求OR
B発行後直ちに処理される(即時実行)。即時実行は、
ORBリストにリンクするORB数の上限を、ライトの
ORBについては順次実行キューの容量に、リードのO
RBについては即時実行キューの容量(この場合1)に
することにより保証されている。
【0105】一方、ターゲットからのリード要求ステー
タスは、イニシエータにおいてキューイングされる。こ
のため、イニシエータからのデータ転送要求はターゲッ
トのプリフェッチキューにより、ターゲットからのデー
タ転送要求(リード要求)はイニシエータのステータス
キューによりそれぞれキューイングされることになり、
アプリケーション層にデータ転送をおこなうための全2
重通信チャネルを提供できる。すなわち、いずれの方向
へのデータ転送についても、キューに入れられた順に要
求は処理され、一方へのデータ転送の処理が他方のデー
タ転送の処理に影響を及ぼさず、互いに干渉しない独立
したチャネルを提供できる。言い換えれば、イニシエー
タからターゲット,ターゲットからイニシエータへと、
それぞれにおいて非同期に発生したデータを非同期に転
送できる。 イニシエータとターゲットとが互いのキューの空き容
量を相互に監視しているため、ORBあるいはステータ
スブロックを送信した際に、確実に受信される。 全2重通信チャネルは1回のログインで提供される。
すなわち、資源を豊富に有するホストコンピュータをイ
ニシエータとし、資源の乏しいプリンタをターゲットと
して相互にデータを交換できる。このため、プリンタの
備える資源、特に必要なメモリ容量を抑制することがで
きる。 IEEE1394インターフェースを利用しているた
めに、ターゲット側へのデータ転送を、ターゲットがそ
の都合に応じて読み出すことで行うことができ、イニシ
エータがターゲットの都合によってデータ転送に占有さ
れることを防止できる。 SBP−2プロトコルを利用しているため、ターゲッ
トでキューされるのはORBだけで、実際に転送される
データそのものは処理待ちの間イニシエータに格納され
ている。このため、ターゲットのメモリ資源を小容量化
できる。 ダイレクトステータスを利用することで、HPT層の
ステータスにアプリケーション層のデータを重畳させて
ターゲットからイニシエータに送信できる。このため、
データ転送シーケンスを短くすることができる。
【0106】なお、本実施例のシステムは、ホストコン
ピュータとプリンタに限らず様々な装置に適用すること
ができる。また、上述した特徴点は、ホストコンピュー
タとプリンタとの関係にとどまらず、ホストコンピュー
タと資源の少ない周辺装置一般、周辺装置同士という接
続であっても有用である。 [第2の実施の形態]本発明の第2の実施の形態とし
て、同時に複数の論理チャネルを提供するシステムを説
明する。この場合、ターゲット側には、プリンタ単体で
なく、ファクシミリや画像スキャナといった機器が複合
したデジタル複合機を利用することができる。 <システムの構成>図23は本実施形態におけるイニシ
エータのブロック図である。図2と異なる点について説
明し、共通する構成の説明は省略する。図23で特徴的
といえるのは、ステータス識別部212が、ステータス
の種類だけでなく、論理チャネルを識別し、チャネル毎
にステータスを振り分ける点と、システムメモリ,HP
T処理部を有する1チャネル分の構成を、複数(図では
2)チャネル分備えている点である。
【0107】なお、ステータス識別部は、ステータスブ
ロックに含まれるチャネルIDに従って、チャネルを識
別する。これについては後述する。例えば、デジタル複
合機を利用する場合には、1つのチャネルはプリンタド
ライバが、もう一つは画像スキャナドライバが利用す
る、といったように各チャネル毎に異なるアプリケーシ
ョンであってもよいし、同一のアプリケーションが複数
のチャネルを利用してもよい。
【0108】図22は、ターゲットのブロック図であ
る。図1と異なる点は、コマンドフェッチエージェント
113が、コマンドORBをチャネル毎に振り分ける、
という点である。各チャネルは、図1と同様の構成であ
り、プリフェッチキューと2つの実行エージェントを有
している。
【0109】なお、ORBには、論理チャネルが示され
ており、コマンドフェッチエージェント113はそれを
見てチャネルを識別する。 <コマンドORBの形式>図24〜図32はコマンドO
RBのフォーマットの例である。図24はデータ転送コ
マンドORB,図25はリード要求コマンドORB,図
26はダイレクトステータス応答コマンドORBの図,
図27はデバイス資源獲得コマンドORBの図,図28
はデバイス資源解放コマンドROBの図,図30は基本
デバイスステータスコマンドORBの図であり、第1の
実施の形態におけるそれぞれのコマンドと、チャネルI
Dフィールドを有する点で異なっている。他の構成は同
じである。
【0110】図29はデバイス資源放棄応答コマンドO
RBの図で、ターゲットからのデバイス資源放棄要求に
対する応答である。アクセプトビット2901により、
放棄が要求された資源を放棄したか否かが示される。タ
ーゲットは資源が乏しいため、複数のチャネルが利用さ
れたり、複数のアプリケーションプロセスが稼働するな
どにより各プロセスの資源が不足することもあり得る。
そのような場合、ターゲットから資源放棄要求が出され
ることになる。
【0111】図31(A)は、オープンチャネル要求コ
マンド、図31(B)はオープンチャネル要求ステータ
スの図である。これらにより、所望の論理チャネルが開
かれる。
【0112】図32(A)は、クローズチャネル要求コ
マンド、図31(B)はクローズンチャネル要求ステー
タスの図である。これらにより、所望の論理チャネルが
閉じられる。 <ステータスブロックの形式>図33〜図38はステー
タスブロックのフォーマットを示す図である。図33は
ステータス一般の形式の図、図34はリード要求ステー
タスの図、図35はダイレクトステータスの図、図36
はデバイス資源獲得ステータスの図、図38は基本デバ
イスステータスの図である。これらの形式は、チャネル
IDが含まれていることを除いて第1の実施の形態にお
けるステータスブロックと同様である。
【0113】また、図37は、デバイス資源放棄ステー
タスブロックの図であり、イニシエータに放棄を求める
資源のIDを資源IDフィールド3701に格納してい
る。このステータスはターゲットから発せられる要求の
ため、アンソリサイテドステータスとしてイニシエータ
に送信される。 <イニシエータおよびターゲットにおけるコマンド/ス
テータス処理手順>図39は、本実施形態における処理
手順である。図39(A)はイニシエータにおいてステ
ータスレジスタに書き込みが行われて起動される処理手
順で、第1実施形態の図18に相当する。処理が開始さ
れると、初めにステップS3901でチャネルIDが判
別される。その後、判別された各チャネルについて、図
18のステップS1501からと同様の処理がおこなわ
れる。
【0114】図39(B)は、ターゲットにおいてドア
ベルレジスタに書き込みが行われて起動される処理の手
順で、第1の実施の形態における図15に相当する。処
理が開始されると、初めにステップS3911でチャネ
ルIDが判別される。その後判別された各チャネルにつ
いて、図15のステップS1601からと同様の処理が
おこなわれる。
【0115】このほか、データ転送要求から始まる処理
(図14)、ターゲットエージェントによる処理(図1
6)、プリンタからホストコンピュータへとデータが発
生した場合の処理(図17)については、第1の実施の
形態と同様である。ただし、これらの処理の前に、まず
チャネルが開かれなければならない。
【0116】ターゲットからの資源放棄要求は、ターゲ
ットからのダイレクトステータスによるデータ転送と同
様のシーケンスで行われる。
【0117】本実施形態では、以上の手順でデータ転送
が実行される。複数の論理チャネルが利用できることを
除けば、第1の実施形態とほぼ同様のシステムである。
【0118】このシステムにより、複数の論理チャネル
それぞれについて全2重通信を提供することができる。
そのため、デジタル複合機等、複数のデバイスを有する
機器についても、双方向通信を提供できる。それによ
り、第1の実施の形態で説明した〜の機能を複数の
チャネルについて提供できる。
【0119】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ,インタフェイス機器,リーダ,プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機,ファクシミリ
装置など)に適用してもよい。
【0120】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコード(す
なわち、図14〜図18および図39の手順のプログラ
ム)を記録した記憶媒体を、システムあるいは装置に供
給し、そのシステムあるいは装置のコンピュータ(また
はCPUやMPU)が記憶媒体に格納されたプログラム
コードを読出し実行することによっても達成される。
【0121】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。
【0122】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0123】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれる。
【0124】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれる。
【0125】
【発明の効果】以上説明したように、本発明によれば、
1回のログインで、互いに非同期で転送できる双方向通
信する全2重通信を可能とし、また、データの交換に必
要なプロセスやメモリといった資源を効率的に利用でき
る。
【0126】また、イニシエータとターゲットとが互い
のキューの空き容量を相互に監視しているため、ORB
あるいはステータスブロックを送信した際に、確実に受
信される。
【0127】IEEE1394インターフェースを利用
しているために、ターゲット側へのデータ転送を、ター
ゲットがその都合に応じて読み出すことで行うことがで
き、イニシエータがターゲットの都合によってデータ転
送に占有されることを防止できる。
【0128】SBP−2プロトコルを利用しているた
め、ターゲットでキューされるのはORBだけで、実際
に転送されるデータそのものは処理待ちの間イニシエー
タに格納されている。このため、ターゲットのメモリ資
源を小容量化できる。
【0129】ダイレクトステータスを利用することで、
HPT層のステータスにアプリケーション層のデータを
重畳させてターゲットからイニシエータに送信できる。
このため、データ転送シーケンスを短くすることができ
る。
【0130】また、マルチチャネルを実現できる。
【0131】
【図面の簡単な説明】
【図1】ターゲット(プリンタ)のブロック図である。
【図2】イニシエータ(ホストコンピュータ)のブロッ
ク図である。
【図3】ORB一般のフォーマットを示す図である。
【図4】キューデプスコマンドORBのフォーマットを
示す図である。
【図5】データ転送コマンドORBのフォーマットを示
す図である。
【図6】リード要求コマンドORBのフォーマットを示
す図である。
【図7】ダイレクトステータス応答コマンドORBのフ
ォーマットを示す図である。
【図8】デバイス資源獲得コマンドORBのフォーマッ
トを示す図である。
【図9】デバイス資源開放コマンドORBのフォーマッ
トを示す図である。
【図10】基本デバイスステータスコマンドORBのフ
ォーマットを示す図である。
【図11】ステータスブロック一般のフォーマットを示
す図である。
【図12】キューデプスステータスブロックのフォーマ
ットを示す図である。
【図13】データ転送ステータスブロックのフォーマッ
トを示す図である。
【図14】イニシエータによる、データ転送要求の発生
に対する処理手順のフローチャートである。
【図15】ドアベルレジスタに書き込みが行われた際の
ターゲットのフェッチエージェントによる処理手順のフ
ローチャートである。
【図16】フェッチエージェントからORB通知を受け
た際の実行エージェントによる処理手順のフローチャー
トである。
【図17】ターゲットによる、データ転送発生の要求に
対する処理手順のフローチャートである。
【図18】ステータスレジスタに書込みがおこなされた
際のイニシエータによる処理手順のフローチャートであ
る。
【図19】イニシエータ(ホストコンピュータ)からタ
ーゲット(プリンタ)へのデータ転送時のシーケンスの
図である。
【図20】ターゲットからイニシエータへとリード要求
ステータスを用いてデータ転送する際のシーケンスの図
である。
【図21】ターゲットからイニシエータへとダイレクト
ステータスを用いてデータ転送する際のシーケンスの図
である。
【図22】マルチチャネルを提供するターゲットのブロ
ック図である。
【図23】マルチチャネルを提供するイニシエータのブ
ロック図である。
【図24】マルチチャネル化されたデータ転送コマンド
ORBのフォーマットを示す図である。
【図25】マルチチャネル化されたリード要求コマンド
ORBのフォーマットを示す図である。
【図26】マルチチャネル化されたダイレクトステータ
ス応答コマンドORBのフォーマットを示す図である。
【図27】マルチチャネル化されたデバイス資源獲得コ
マンドORBのフォーマットを示す図である。
【図28】マルチチャネル化されたデバイス資源開放コ
マンドORBのフォーマットを示す図である。
【図29】マルチチャネル化されたデバイス資源放棄応
答コマンドORBのフォーマットを示す図である。
【図30】マルチチャネル化された基本デバイスステー
タスコマンドORBのフォーマットを示す図である。
【図31】オープンチャネル要求/応答のフォーマット
を示す図である。
【図32】クローズチャネル要求/応答のフォーマット
を示す図である。
【図33】マルチチャネル化されたステータスブロック
一般のフォーマットを示す図である。
【図34】マルチチャネル化されたデータ転送ステータ
スブロックのフォーマットを示す図である。
【図35】マルチチャネル化されたダイレクトステータ
スブロックのフォーマットを示す図である。
【図36】マルチチャネル化されたデバイス資源獲得ス
テータスブロックのフォーマットを示す図である。
【図37】マルチチャネル化されたデバイス資源放棄ス
テータスブロックのフォーマットを示す図である。
【図38】マルチチャネル化された基本デバイスステー
タスブロックのフォーマットを示す図である。
【図39】(A)マルチチャネル化されたイニシエータ
による、ステータスレジスタへの書込みがおこなわれた
際の処理手順と、(B)マルチチャネル化されたターゲ
ットによる、ドアベルレジスタへの書込みがおこなわれ
た際の処理手順のフローチャートである。
【図40】IEEE1394インターフェースを用いた
プリンタシステムのハードウエア構成図である。
【符号の説明】
1 CPU 2 RAM 3 ROM 4 システムバス 12 CPU 13 ROM 19 RAM 100 プリンタ 101 1394インターフェース 102 バスインターフェース 103 コマンドフェッチエージェント 104 プリフェッチキュー 105 順次実行エージェント 106 即時実行エージェント 107 データ処理部 200 ホストコンピュータ 201 1394インターフェース 202 ステータス識別部 203 HPT処理部 204 ステータスキュー 205 キュー処理部 206 ORB管理部 207 バスインターフェース 208 システムメモリ 209 アプリケーション

Claims (34)

    【特許請求の範囲】
  1. 【請求項1】 イニシエータの有する記憶領域に対して
    ターゲットからデータを読み書きしてデータを交換する
    通信制御方法であって、 イニシエータは、前記記憶領域に対する読み出し・書き
    込みそれぞれに応じた命令を、ターゲットが保持できる
    読み出し・書き込みそれぞれの命令の数を越えないよう
    にターゲットに送信し、 ターゲットは、受信した読み出し・書き込みそれぞれの
    命令を、互いに異なるキューにより保持して、互いに独
    立に処理することを特徴とする通信制御方法。
  2. 【請求項2】 前記ターゲットは、書き込み命令につい
    ては、キューに保持せず直ちに処理することを特徴とす
    る請求項1に記載の通信制御方法。
  3. 【請求項3】 前記イニシエータは、前記記憶領域に対
    するデータの書き込み要求をターゲットから受けると、
    それを第2のキューにより保持してからターゲットに対
    して書き込み命令を発行することを特徴とする請求項1
    または2に記載の通信制御方法。
  4. 【請求項4】 前記ターゲットは、前記第2のキューに
    より保持できる数を越えないように、書き込み要求を前
    記イニシエータに発行することを特徴とする請求項3に
    記載の通信制御方法。
  5. 【請求項5】 前記イニシエータは、前記記憶領域に対
    する書込みの命令を、前記ターゲットからの要求に応じ
    て発行することを特徴とする請求項1乃至4のいずれか
    に記載の通信制御方法。
  6. 【請求項6】 前記ターゲットは、前記イニシエータに
    転送すべきデータが所定サイズに満たない場合には、前
    記記憶領域への書き込みをイニシエータに対して要求せ
    ず、イニシエータに対して当該データを前記記憶領域中
    の所定領域に直接書き込むことを特徴とする請求項5に
    記載の通信制御方法。
  7. 【請求項7】 イニシエータの有する記憶領域に対して
    ターゲットからデータを読み書きしてデータを交換する
    通信制御方法であって、 ターゲットは、送信しようとするデータのサイズが所定
    サイズを越えるか判定し、越える場合には、前記記憶領
    域に対する書込み命令を発行するようイニシエータに対
    して要求し、越えない場合には、当該データをイニシエ
    ータに対して送り付け、 イニシエータは、前記ターゲットから書込み命令を発行
    する要求を受信した場合には書込み命令を発行すること
    を特徴とする通信制御方法。
  8. 【請求項8】 前記ターゲット及びイニシエータは、前
    記書き込み・読み出しそれぞれの命令についてチャネル
    識別子を付与し、チャネル識別子ごとに各命令を独立し
    て処理することを特徴とする請求項1乃至8のいずれか
    に記載の通信制御方法。
  9. 【請求項9】 イニシエータの有する記憶領域に対して
    ターゲットからデータを読み書きしてデータを交換する
    通信システムであって、 イニシエータは、前記記憶領域に対する読み出し・書き
    込みそれぞれに応じた命令を、ターゲットが保持できる
    読み出し・書き込みぞれぞれの命令の数を越えないよう
    にターゲットに送信し、 ターゲットは、受信した読み出し・書き込みそれぞれの
    命令を、互いに異なるキューにより保持して、互いに独
    立に処理することを特徴とする通信システム。
  10. 【請求項10】 前記ターゲットは、書き込み命令につ
    いては、キューに保持せず直ちに処理することを特徴と
    する請求項9に記載の通信システム。
  11. 【請求項11】 前記イニシエータは、前記記憶領域に
    対するデータの書き込み要求をターゲットから受ける
    と、それを第2のキューにより保持してからターゲット
    に対して書き込み命令を発行することを特徴とする請求
    項9または10に記載の通信システム。
  12. 【請求項12】 前記ターゲットは、前記第2のキュー
    により保持できる数を越えないように、書き込み要求を
    前記イニシエータに発行することを特徴とする請求項1
    1に記載の通信システム。
  13. 【請求項13】 前記イニシエータは、前記記憶領域に
    対する書込みの命令を、前記ターゲットからの要求に応
    じて発行することを特徴とする請求項9乃至12のいず
    れかに記載の通信システム。
  14. 【請求項14】 前記ターゲットは、前記イニシエータ
    に転送すべきデータが所定サイズに満たない場合には、
    前記記憶領域への書き込みをイニシエータに対して要求
    せず、イニシエータに対して当該データを前記記憶領域
    中の所定領域に直接書き込むことを特徴とする請求項1
    3に記載の通信システム。
  15. 【請求項15】 イニシエータの有する記憶領域に対し
    てターゲットからデータを読み書きしてデータを交換す
    る通信システムであって、 ターゲットは、送信しようとするデータのサイズが所定
    サイズを越えるか判定し、越える場合には、前記記憶領
    域に対する書込み命令を発行するようイニシエータに対
    して要求し、越えない場合には、当該データをイニシエ
    ータに対して書き込み、 イニシエータは、前記ターゲットから書込み命令を発行
    する要求を受信した場合には書込み命令を発行すること
    を特徴とする通信システム。
  16. 【請求項16】 前記ターゲット及びイニシエータは、
    前記書き込み・読み出しそれぞれの命令についてチャネ
    ル識別子を付与し、チャネル識別子ごとに各命令を独立
    して処理することを特徴とする請求項9乃至16のいず
    れかに記載の通信システム。
  17. 【請求項17】 メモリ内の記憶領域に対して、通信に
    より接続されたターゲットからデータを読み書すること
    でターゲットとデータを交換する通信制御方法であっ
    て、 前記ターゲットからの自発的な要求を受けてキューに登
    録するキューイング工程と、 アプリケーションあるいはターゲットからの要求に応じ
    て、前記記憶領域に対する読み出し・書き込み命令を、
    ターゲットが保持できる読み出し・書き込みそれぞれの
    命令の数を越えないように生成して送信する命令生成工
    程とを備えることを特徴とする通信制御方法。
  18. 【請求項18】 通信により接続されたイニシエータの
    有する記憶領域に対してデータを読み書きしてイニシエ
    ータとデータを交換する通信制御方法であって、 前記イニシエータから受信した読み出し命令を所定容量
    のキューに登録するキューイング工程と、 前記キューから読み出し命令を取り出して実行する順次
    実行工程と、 前記イニシエータから受信した書込み命令を受信後直ち
    に実行する即時実行工程と、 前記イニシエータに対するデータ転送の要求を発行する
    転送要求工程とを備えることを特徴とする通信制御方
    法。
  19. 【請求項19】 前記ターゲットからの要求が、いずれ
    のチャネルであるかチャネル識別子により判別するチャ
    ネル判別工程を更に備え、前記命令生成工程は、判別さ
    れたチャネルあるいはアプリケーションに対応したチャ
    ネルに応じたチャネル識別子を命令に付与することを特
    徴とする請求項18に記載の通信制御方法。
  20. 【請求項20】 前記イニシエータからの命令が、いず
    れのチャネルであるかチャネル識別子により判別するチ
    ャネル判別工程と、判別されたチャネルに応じたチャネ
    ル識別子を付与した応答をイニシエータに返す応答工程
    とを更に備えるとともに、前記転送要求工程は、判別さ
    れたチャネルあるいはアプリケーションに対応したチャ
    ネルに応じたチャネル識別子を要求に付与することを特
    徴とする請求項19に記載の通信制御方法。
  21. 【請求項21】 前記転送要求工程は、前記イニシエー
    タに対するデータのサイズが所定サイズより大きけれ
    ば、前記イニシエータに対して前記記憶領域へのデータ
    書込み命令を発行する要求を出し、小さければ、当該デ
    ータを前記記録領域の定められた領域に直接書き込むこ
    とを特徴とする請求項20に記載の通信制御方法。
  22. 【請求項22】 記憶領域に対してデータを読み書きし
    てターゲットとデータを交換する通信制御装置であっ
    て、 ターゲットとの通信手段と、 前記記憶領域を含むメモリと、 前記ターゲットからの自発的な要求を登録するキュー管
    理手段と、 アプリケーションあるいはターゲットからの要求に応じ
    て、前記記憶領域に対する読み出し・書き込み命令を、
    ターゲットが保持できる読み出し・書き込みそれぞれの
    命令の数を越えないように生成して送信する命令生成手
    段とを備えることを特徴とする通信制御装置。
  23. 【請求項23】 イニシエータの有する記憶領域に対し
    てデータを読み書きしてイニシエータとデータを交換す
    る通信制御装置であって、 イニシエータとの通信手段と、 前記イニシエータから受信した読み出し命令を保持する
    所定容量のキューと、 前記キューから読み出し命令を取り出して実行する順次
    実行手段と、 前記イニシエータから受信した書込み命令を受信後直ち
    に実行する即時実行手段と、 前記イニシエータに対するデータ転送の要求を発行する
    転送要求手段とを備えることを特徴とする通信制御装
    置。
  24. 【請求項24】 前記ターゲットからの要求が、いずれ
    のチャネルであるかチャネル識別子により判別するチャ
    ネル判別手段を更に備え、前記命令生成手段は、判別さ
    れたチャネルあるいはアプリケーションに対応したチャ
    ネルに応じたチャネル識別子を命令に付与することを特
    徴とする請求項22に記載の通信制御装置。
  25. 【請求項25】 前記イニシエータからの命令が、いず
    れのチャネルであるかチャネル識別子により判別するチ
    ャネル判別手段と、判別されたチャネルに応じたチャネ
    ル識別子を付与した応答をイニシエータに返す応答手段
    とを更に備えるとともに、前記転送要求手段は、判別さ
    れたチャネルあるいはアプリケーションに対応したチャ
    ネルに応じたチャネル識別子を要求に付与することを特
    徴とする請求項23に記載の通信制御装置。
  26. 【請求項26】 前記転送要求手段は、前記イニシエー
    タに対するデータのサイズが所定サイズより大きけれ
    ば、前記イニシエータに対して前記記憶領域へのデータ
    書込み命令を発行する要求を出し、小さければ、当該デ
    ータを前記記憶領域の定められた領域に直接書き込むこ
    とを特徴とする請求項25に記載の通信制御装置。
  27. 【請求項27】 記憶領域に対して通信で接続されるタ
    ーゲットからデータを読み書きしてデータを交換する通
    信制御プログラムを格納するコンピュータ可読の記憶媒
    体であって、前記プログラムは、 前記ターゲットからの自発的な要求を登録するキュー管
    理手段と、 アプリケーションあるいはターゲットからの要求に応じ
    て、前記記憶領域に対する読み出し・書き込み命令を、
    ターゲットが保持できる命令の数を越えないように生成
    して送信する命令生成手段とを備えることを特徴とする
    記憶媒体。
  28. 【請求項28】 通信で接続されるイニシエータの有す
    る記憶領域に対してデータを読み書きしてデータを交換
    する通信制御プログラムを格納するコンピュータ可読の
    記憶媒体であって、前記プログラムは、 前記イニシエータから受信した読み出し命令を所定容量
    のキューに登録するキュー管理手段と、 前記キューから読み出し命令を取り出して実行する順次
    実行手段と、 前記イニシエータから受信した書込み命令を受信後直ち
    に実行する即時実行手段と、 前記イニシエータに対するデータ転送の要求を発行する
    転送要求手段とを備えることを特徴とする記憶媒体。
  29. 【請求項29】 前記ターゲットからの要求が、いずれ
    のチャネルであるかチャネル識別子により判別するチャ
    ネル判別手段を更に備え、前記命令生成手段は、判別さ
    れたチャネルあるいはアプリケーションに対応したチャ
    ネルに応じたチャネル識別子を命令に付与することを特
    徴とする請求項27に記載の記憶媒体。
  30. 【請求項30】 前記イニシエータからの命令が、いず
    れのチャネルであるかチャネル識別子により判別するチ
    ャネル判別手段と、判別されたチャネルに応じたチャネ
    ル識別子を付与した応答をイニシエータに返す応答手段
    とを更に備えるとともに、前記転送要求手段は、判別さ
    れたチャネルあるいはアプリケーションに対応したチャ
    ネルに応じたチャネル識別子を要求に付与することを特
    徴とする請求項28に記載の記憶媒体。
  31. 【請求項31】 前記転送要求手段は、前記イニシエー
    タに対するデータのサイズが所定サイズより大きけれ
    ば、前記イニシエータに対して前記記憶領域へのデータ
    書込み命令を発行する要求を出し、小さければデータ転
    送の要求とともにデータをイニシエータに送り付けるこ
    とを特徴とする請求項30に記載の記憶媒体。
  32. 【請求項32】 請求項1乃至9いずれかに記載の通信
    制御方法を用いて、ホスト装置をイニシエータとし、プ
    リンタ装置をターゲットしてホスト装置とプリンタ装置
    とを接続し、前記プリンタ装置は、ホスト装置から印刷
    データを受信してそれを基に印刷出力し、前記ホスト装
    置は、プリンタ装置からプリンタの状態情報を受信する
    ことを特徴とする印刷システム。
  33. 【請求項33】 請求項17または19に記載の通信制
    御方法によりターゲットに印刷データを送信し、ターゲ
    ットから状態情報を受信することを特徴とする印刷制御
    装置。
  34. 【請求項34】 請求項18または20または21に記
    載の通信制御方法によりイニシエータから印刷データを
    受信し、イニシエータに状態情報を送信することを特徴
    とする印刷装置。
JP24443097A 1997-09-09 1997-09-09 通信制御方法及び装置及び通信システム Expired - Fee Related JP4086345B2 (ja)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP24443097A JP4086345B2 (ja) 1997-09-09 1997-09-09 通信制御方法及び装置及び通信システム
EP98307152A EP0902371B1 (en) 1997-09-09 1998-09-04 Communication control method and apparatus, and communication system
DE69839783T DE69839783D1 (de) 1997-09-09 1998-09-04 Kommunikationssteuerverfahren und Vorrichtung und Kommunikationssystem
DE69813976T DE69813976T2 (de) 1997-09-09 1998-09-04 Datenübertragungssteuerverfahren und Vorrichtung und Datenübertragungssystem
EP02079458A EP1280064B1 (en) 1997-09-09 1998-09-04 Communication control method and apparatus, and communication system
US09/148,472 US6452693B1 (en) 1997-09-09 1998-09-08 Communication control method and apparatus, and communication system
CA002246830A CA2246830C (en) 1997-09-09 1998-09-08 Communication control method and apparatus, and communication system
KR1019980037116A KR100297219B1 (ko) 1997-09-09 1998-09-09 통신 제어 방법 및 장치, 및 통신 시스템
CNB981191320A CN1179277C (zh) 1997-09-09 1998-09-09 通信控制方法和装置及通信系统
US10/194,202 US6927873B2 (en) 1997-09-09 2002-07-15 Communication control method and apparatus, and communication system
US11/124,266 US7296095B2 (en) 1997-09-09 2005-05-09 Communication control method and apparatus, and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24443097A JP4086345B2 (ja) 1997-09-09 1997-09-09 通信制御方法及び装置及び通信システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006188698A Division JP4307467B2 (ja) 2006-07-07 2006-07-07 通信制御方法及び通信システム

Publications (2)

Publication Number Publication Date
JPH1185662A true JPH1185662A (ja) 1999-03-30
JP4086345B2 JP4086345B2 (ja) 2008-05-14

Family

ID=17118548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24443097A Expired - Fee Related JP4086345B2 (ja) 1997-09-09 1997-09-09 通信制御方法及び装置及び通信システム

Country Status (7)

Country Link
US (3) US6452693B1 (ja)
EP (2) EP0902371B1 (ja)
JP (1) JP4086345B2 (ja)
KR (1) KR100297219B1 (ja)
CN (1) CN1179277C (ja)
CA (1) CA2246830C (ja)
DE (2) DE69839783D1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004523035A (ja) * 2001-01-31 2004-07-29 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置
JP2004523829A (ja) * 2001-01-31 2004-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置
JP2011044133A (ja) * 2009-07-23 2011-03-03 Seiko Epson Corp 記録システム、及び、記録システムにおける通信制御方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4111472B2 (ja) * 1998-05-15 2008-07-02 キヤノン株式会社 通信制御方法及び装置及び通信システム
JP4443679B2 (ja) 1998-10-09 2010-03-31 株式会社リコー プリントシステム
JP4109770B2 (ja) * 1998-12-02 2008-07-02 キヤノン株式会社 通信制御方法及び機器
EP2284688B1 (en) * 1999-03-18 2015-02-25 Seiko Epson Corporation Information processing apparatus for controlling a printer, control method and storage medium carrying computer program
JP3365377B2 (ja) * 1999-08-12 2003-01-08 セイコーエプソン株式会社 ログイン装置、被ログイン装置、及び装置間通信システム、ログイン制御方法、並びに記録媒体
JP2002318777A (ja) * 2001-04-19 2002-10-31 Matsushita Electric Ind Co Ltd 高速シリアルインターフェース用のコマンド発行装置
JP4854144B2 (ja) * 2001-07-16 2012-01-18 キヤノン株式会社 印刷システム、管理方法、及び印刷装置
JP2003110651A (ja) * 2001-10-01 2003-04-11 Canon Inc データ処理方法、データ処理装置、通信プロトコル及びプログラム
JP4264924B2 (ja) * 2002-06-07 2009-05-20 ソニーマニュファクチュアリングシステムズ株式会社 データ転送方法
KR100453052B1 (ko) * 2002-06-07 2004-10-15 삼성전자주식회사 전송 패킷을 이용하여 다기능을 수행하기 위한 통신 방법 및 장치
US6676022B1 (en) * 2002-10-04 2004-01-13 Mobile-Mind, Inc. Smart card system with command queuing
US7143224B2 (en) * 2003-05-09 2006-11-28 Stmicroelectronics, Inc. Smart card for performing advance operations to enhance performance and related system, integrated circuit, and methods
US8437020B2 (en) * 2004-05-13 2013-05-07 Sharp Laboratories Of America, Inc. System and method for printer emulation
KR100535442B1 (ko) * 2005-04-18 2005-12-09 주식회사 빅솔론 프린팅 장치, 상기 프린팅 장치의 제어 방법 및 상기프린팅 장치를 이용한 데이터 처리 장치
JP2008152464A (ja) * 2006-12-15 2008-07-03 Toshiba Corp 記憶装置
US8279475B2 (en) 2008-05-27 2012-10-02 Bixolon Co., Ltd. Printing apparatus and method for processing real-time command using the printing apparatus
KR101541344B1 (ko) * 2008-12-05 2015-08-03 삼성전자주식회사 메모리 장치 및 메모리 장치의 제어 방법
US8397253B2 (en) * 2009-07-23 2013-03-12 Fmr Llc Inserting personalized information into digital content
JP5593682B2 (ja) * 2009-11-17 2014-09-24 セイコーエプソン株式会社 プリンター、プリンターの制御方法、及び、プログラム
IN2014DE02931A (ja) 2013-11-01 2015-06-26 Seiko Epson Corp
CN104615388B (zh) * 2013-11-01 2017-12-22 精工爱普生株式会社 打印控制系统
CN103618586B (zh) * 2013-11-07 2017-07-28 华为技术有限公司 一种发送响应帧的方法及装置
US10520929B2 (en) * 2016-08-31 2019-12-31 Esab Ab Techniques for implementing universal commands in a welding or cutting system
US11157285B2 (en) * 2020-02-06 2021-10-26 International Business Machines Corporation Dynamic modification of instructions that do not modify the architectural state of a processor
WO2023008008A1 (ja) * 2021-07-30 2023-02-02 株式会社ソフトギア 情報処理プログラム、情報処理装置及び情報処理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4224667A (en) * 1978-10-23 1980-09-23 International Business Machines Corporation Command queuing for I/O adapters
JP3194938B2 (ja) 1990-08-15 2001-08-06 株式会社日立製作所 印刷システム
US5640596A (en) * 1992-03-10 1997-06-17 Hitachi, Ltd. Input output control system for transferring control programs collectively as one transfer unit designated by plurality of input output requests to be executed
JP3002056B2 (ja) 1992-06-23 2000-01-24 キヤノン株式会社 プリンタ装置及び該装置における印刷制御方法
JP2952111B2 (ja) * 1992-07-09 1999-09-20 キヤノン株式会社 データ制御装置
US5611056A (en) * 1994-08-31 1997-03-11 Unisys Corporation Method for controlling the expansion of connections to a SCSI bus
JPH08255120A (ja) 1995-03-17 1996-10-01 Fujitsu Ltd 入出力制御装置
US5720015A (en) * 1996-04-22 1998-02-17 Lexmark International, Inc. Method and apparatus for providing remote printer resource management
GB9611715D0 (en) * 1996-06-05 1996-08-07 Int Computers Ltd Peripheral device control
US6441308B1 (en) 1996-06-07 2002-08-27 Cable Design Technologies, Inc. Cable with dual layer jacket
US6112265A (en) * 1997-04-07 2000-08-29 Intel Corportion System for issuing a command to a memory having a reorder module for priority commands and an arbiter tracking address of recently issued command
US5875313A (en) * 1997-04-08 1999-02-23 National Instruments Corporation PCI bus to IEEE 1394 bus translator employing write pipe-lining and sequential write combining

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004523035A (ja) * 2001-01-31 2004-07-29 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置
JP2004523829A (ja) * 2001-01-31 2004-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置
JP2011044133A (ja) * 2009-07-23 2011-03-03 Seiko Epson Corp 記録システム、及び、記録システムにおける通信制御方法

Also Published As

Publication number Publication date
US6452693B1 (en) 2002-09-17
US20050200895A1 (en) 2005-09-15
CA2246830A1 (en) 1999-03-09
EP1280064A2 (en) 2003-01-29
EP1280064B1 (en) 2008-07-23
US6927873B2 (en) 2005-08-09
DE69813976D1 (de) 2003-06-05
CN1179277C (zh) 2004-12-08
US20020171870A1 (en) 2002-11-21
EP1280064A3 (en) 2004-10-20
DE69813976T2 (de) 2003-12-11
DE69839783D1 (de) 2008-09-04
US7296095B2 (en) 2007-11-13
JP4086345B2 (ja) 2008-05-14
EP0902371A1 (en) 1999-03-17
CN1219705A (zh) 1999-06-16
CA2246830C (en) 2002-07-30
KR19990029655A (ko) 1999-04-26
KR100297219B1 (ko) 2001-10-26
EP0902371B1 (en) 2003-05-02

Similar Documents

Publication Publication Date Title
JP4086345B2 (ja) 通信制御方法及び装置及び通信システム
US7110831B2 (en) Communication control method, communication system, print control apparatus, printing apparatus, host apparatus, peripheral apparatus, and storage medium
JP3990833B2 (ja) 通信制御方法及び装置
US7199890B2 (en) Print control method and apparatus
US7130068B1 (en) Print server apparatus, information processing apparatus, print job reservation management method, reservation job generation method and memory medium
EP0949561B1 (en) Print system and printer
JP4111472B2 (ja) 通信制御方法及び装置及び通信システム
WO2005124531A1 (ja) 情報処理装置及びジョブ転送制御方法
JP3774702B2 (ja) 印刷制御プログラム及び情報処理装置
US7489414B2 (en) Image forming system and image forming apparatus
CN100409170C (zh) 打印控制装置以及控制方法
US7190469B1 (en) Printing system for printing interrupt jobs
US20040227972A1 (en) Printing apparatus and canceling method
JP4307467B2 (ja) 通信制御方法及び通信システム
JP3566511B2 (ja) 情報処理装置及び印刷システム及び印刷処理方法並びにコンピュータ可読の記憶媒体
JP2004126943A (ja) 印刷処理装置、印刷処理方法及び印刷処理プログラム
JP3037537B2 (ja) 印刷システムおよび印刷システムに使用する印刷装置
JPH04233028A (ja) プリンタ装置
JP2002273985A (ja) 印刷制御装置およびデータ処理方法および記憶媒体
JP2002041255A (ja) 画像出力装置
JP2000250728A (ja) データ処理装置およびデータ処理装置のデータ処理方法および印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH09171444A (ja) ネットワークプリンタシステム
JP2000047839A (ja) 画像形成装置および画像形成システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040908

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20040908

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080219

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

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120229

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130228

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140228

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees