CN1179277C - 通信控制方法和装置及通信*** - Google Patents
通信控制方法和装置及通信*** Download PDFInfo
- Publication number
- CN1179277C CN1179277C CNB981191320A CN98119132A CN1179277C CN 1179277 C CN1179277 C CN 1179277C CN B981191320 A CNB981191320 A CN B981191320A CN 98119132 A CN98119132 A CN 98119132A CN 1179277 C CN1179277 C CN 1179277C
- Authority
- CN
- China
- Prior art keywords
- originator
- data
- target
- order
- formation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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/126—Program 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1293—Printer information exchange with computer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40123—Interconnection of computers and peripherals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0012—High 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)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Record Information Processing For Printing (AREA)
Abstract
通过从一个目标(100)访问始发者(200)的存储区域(208)来交换数据的通信控制方法,所述始发者(200)将对应于读写访问所述存储区域(208)的命令传输到所述目标(100),使得不超出所述目标(100)能够保留的读写命令数,并且所述目标(100)异步处理接收到的读写命令。
Description
本发明涉及用于连接装置(如主机和打印机)的通信控制方法和装置。
近年来,IEEE1394接口被用于连接计算机和***装置或者***装置间连接。与握手方案(hand-shake scheme)如集中(Centronics)接口相比,IEEE1394接口允许高速双向的通信。同样,IEEE1394接口是一种存储总线模式接口(memory bus model interface),并且通过IEEE1394接口连接的设备能够从被连接设备的指定地址处读入数据而且能够在指定地址处写数据。
IEEE1394定义了在许多应用中采用的物理和链路层的协议,但是没有定义设备部件中的详细协议。为此,采用IEEE1394作为物理和链路层的传输层协议如SBP(串行总线协议)-2已经提交建议。传输层为应用提供了数据传输功能,并且使用此传输层的应用能够彼此交换数据。
协议SBP-2利用IEEE1394的存储总线模式特征,并且使用此协议,当其资源可以使用时,数据接收方能够接收数据。
在SBP-2中,当数据需要传输时,传输方执行称为注册的操作,以便与通信方(communication partner)建立一通道。在此情况下,注册方被称为始发者(initiator),并且通信方被称为目标。数据传输以这样的方式进行:目标根据来自始发者的指令,读入/写入数据从/到始发者中。在此方案中,始发者在注册之后产生一ORB(操作请求块),该ORB包括被传输数据的存储地址、大小等等;并且通知该ORB的地址给目标。目标以写入ORB中的地址和大小为基础从始发者中读出数据并且处理读出的数据,或者当其资源可以使用时,写入数据。在此处理之后,目标产生一状态块将处理状态通知给始发者。
当采用基于IEEE1394构造的SBP-2进行通信时,特别是当SBP-2被应用于从作为始发者的数据源如主机等中传输数据到作为目标的***装置如打印机装置时,引起如下两个问题:
(1)由于全双工通信使得过程复杂
在SBP-2中,数据传输主要由始发者管理,并且目标不能异步地传输数据到始发者。在SBP-2中,当目标要传输数据到始发者时,其发送一使用自发状态的数据读请求到始发者。始发者产生一ORB以响应该请求,并且将产生的ORB增加到未处理的ORB(包括从始发者到目标的数据传输请求等)列表的末尾。从最早的一个开始依次处理这些ORB。为此,仅当始发者方的ORB处理已经进行并且始发者处理为响应来自目标的数据读请求而产生的ORB时,目标才能够传输数据到始发者。也就是,从目标到始发者的数据传输的时间并不是从目标到始发者的读请求发布的时间,而是比此时间延迟了处理未处理ORB所需的时间。结果,不能实现双向的异步数据传输。当从目标传输到始发者的数据被异步地产生时,例如,当目标为打印机并且该打印机中出现一个错误时,要立即传输到始发者的数据不能被实时传输。
为此,为了实时地传输打印机异步产生的数据到主机,打印机必须象始发者那样执行一个注册过程,并且必须将主机作为目标进行数据传输。
在此方式中,当主机和打印机彼此相互注册,并且两者互为始发者和目标时,它们两者必须均象始发者和目标那样进行处理。打印机也必须执行一次注册。
处理图象的***装置如打印机为进行图象处理需消耗庞大的存储容量和处理器资源。为此,通过简化装置布局以便减小成本,同时尽可能地减小图象处理之外所使用的资源以便获得较快的处理速度。然而,如上所述,当打印机必须运行许多处理时,使得许多资源被消耗,从而干扰了成本的降低和有效的处理。
另一方面,在主机和打印机之间流动的数据象打印数据和其处理状态那样彼此相关。如果通过独立的注册处理以两种方式设置通道,那么其数据和响应必须彼此相关,因此必须增加一新的处理协议。
在此方式中,在主机和打印机之间的通信中直接应用IEEE1394和SBP-2是不合适的,并且难于在各自装置中降低所需的资源以及改善效率。
(2)不能实现多通道
最近,结合了不同功能的多功能机器被广泛地用作***装置。例如,允许主机将其作为扫描仪、打印机和传真机使用的数字多功能机器已经为人所知。当使用这样的装置时,如果通过功能部件中的多个独立通道进行通信的话,那么多种功能能够同时使用。
然而,由于SBP-2不提供多通道,所以难于同时使用这样的部件功能。
SBP-2之外的一些协议能够异步传输产生的数据并且能够实现多通道。然而,这样的协议不能够利用IEEE1394的特征如存储总线模式。也就是,当这样的协议应用于主机和打印机之间的通信时,打印机不能最方便地执行数据传输,并且主机必须在监视打印机状态的同时进行数据传输。
本发明是在参考上述的现有技术下作出的,其目的在于提供通信控制方法和装置--使得能够通过单个注册过程进行全双工通信(异步双向通信),并且能够有效地利用数据交换所需的资源如处理器、存储空间等等,以及使用该方法的打印机装置。
本发明的另一目的在于提供通信控制方法和装置--使得一旦其资源可以使用时就允许目标读出始发者准备的数据,并且能够防止始发者被目标随意的数据传输所占据,以及使用该方法的打印机装置。
本发明的再一目的在于提供能够实现多通道的通信控制方法和装置,以及使用该方法的打印机。
为了达到上述目的,本发明包括如下的布局。
也就是,基于从目标中访问始发者的存储区域,提供了交换数据的通信控制方法,
其中始发者将对应于存储区域的读写访问的命令传输到目标,使得不超出目标所能保留的读写命令数,并且
目标在不同的队列中保留接收到的读写命令并且单独处理保留的命令。
基于从目标中访问始发者的存储区域,也提供了交换数据的通信控制方法,
其中目标检查被传输的数据大小是否超出了预定大小,当传输的数据大小超出了预定大小时,请求始发者在存储区域中发布一写命令,以及当传输的数据大小没有超出预定大小时,发送数据到始发者,并且
基于从目标处接收的写命令发布请求,始发者发布一写命令。
基于从目标中访问始发者的存储区域,也提供了用于数据交换的通信***,
其中始发者将对应于存储区域的读写访问的命令传输到目标,使得不超出目标所能保留的读写命令数,并且
目标在不同的队列中保留接收到的读写命令并且单独处理保留的命令。
基于从目标中访问始发者的存储区域,也提供了用于交换数据的通信***,
其中目标检查被传输的数据大小是否超出了预定大小,当传输的数据大小超出了预定大小时,请求始发者在存储区域中发布一写命令,以及当传输的数据大小没有超出预定大小时,发送数据到始发者,并且
基于从目标处接收的写命令发布请求,始发者发布一写命令。
基于从通过通信连接的目标中访问存储器中的存储区域,也提供了与目标交换数据的通信控制方法,其包括:
接收来自目标的自发请求和在队列中将请求排队的排队步骤;以及
产生和传输读写命令到存储区域的命令产生步骤,以响应来自应用或目标的请求,使得不超出目标所能保留的读写命令数。
基于访问通过通信连接的始发者的存储区域,也提供了与始发者交换数据的通信控制方法,其包括:
将从始发者处接收的读命令在一具有预定大小的队列中排队的排队步骤;
从队列中获得和执行一读命令的排队执行步骤;
在接收之后立即执行从始发者处接收的写命令的立即执行步骤;并且
发布数据传输请求给始发者的传输请求步骤。
通过存储区域也提供了用于与目标交换数据的通信控制装置,其包括:
用于与目标通信的装置;
包括存储区域的存储器;
用于将来自目标的自发请求进行排队的队列管理装置;
用于产生和传输对应于存储区域的读写命令的命令产生装置,以响应来自应用或目标的请求,使得不超出目标所能保留的读写命令数。
通过访问始发者的存储区域,也提供了用于与始发者交换数据的通信控制装置,其包括:
用于与始发者通信的装置;
保留从始发者处接收到的读命令并且具有预定大小的队列;
用于从队列中获得和执行读命令的排队执行装置;
用于在接收之后立即执行从始发者处接收的写命令的立即执行装置;以及
发布数据传输请求给始发者的传输请求装置。
从通过通信连接的目标中访问存储区域,也提供了一计算机可读存储介质,该介质存储用于交换数据的通信控制程序,该程序包括:
用于将来自目标的自发请求进行排队的队列管理方法;
用于产生和传输对应于存储区域的读写命令的命令产生方法,以响应来自应用或目标的请求,使得不超出目标所能保留的读写命令数。
访问通过通信连接的始发者的存储区域,也提供了一计算机可读存储介质,该介质存储用于交换数据的通信控制程序,该程序包括:
用于将从始发者处接收的读命令排队到具有预定容量的队列中的队列管理方法;
用于从队列中获得和执行一读命令的排队执行装置;
用于在接收之后立即执行从始发者处接收的写命令的立即执行方法;以及
发布数据传输请求给始发者的传输请求方法。
也提供了使用通信控制方法的打印***,该方法中始发者将对应于读写访问存储区域的命令传输到目标,使得不超出目标所能保留的读写命令数,并且目标将接收到的读写命令保留在不同的队列中并单独处理保留的命令。其中作为始发者的主机装置被连接到作为目标的打印机装置,打印机装置从主机装置处接收打印数据并且将接收到的打印数据打印出来,同时主机装置接收打印机装置的状态信息。
在通信控制方法中,也提供了用于将打印数据传输到目标和从目标处接收状态信息的打印控制装置。该控制方法包括从目标处接收自发请求和将请求在队列中进行排队的排队步骤和命令产生步骤--产生和传输读写命令到存储区域,以响应来自应用或目标的请求使得不超出目标所能保留的读写命令数。
通过通信控制方法,也提供了用于从始发者处接收打印数据和将状态信息传输到始发者的打印装置。该控制方法包括将始发者处接收到的读命令在具有预定大小的队列中进行排队的排队步骤和从队列中获得和执行一读命令的排队执行步骤,和在接收之后立即执行从始发者处接收到的写命令的立即执行步骤以及发布数据传输请求给始发者的传输请求步骤。
在下面的描述和其相应的附图中,本发明的其它特征和优点是很显然的。附图中相同的参考文字在整个附图中指定了同样的或相似的部分。
构成说明书一部分的相应附图说明了本发明的实施方式,并与描述一起用于解释本发明的原理
图1是目标(打印机)的框图;
图2是始发者(主机)的框图;
图3A和3B显示了ORB的一般格式;
图4显示了队列深度命令ORB的格式;
图5显示了数据发送命令ORB的格式;
图6显示了请求读命令ORB的格式;
图7显示了直接状态响应命令ORB的格式;
图8A和8B显示了获取设备资源E命令ORB的格式;
图9显示了数据资源释放命令ORB的格式;
图10显示了基本设备状态命令ORB的格式;
图11A和11B显示了状态块的一般格式;
图12显示了队列深度状态块的格式;
图13显示了数据发送状态块的格式;
图14的流程图显示了始发者为响应产生的数据传输请求而执行的处理过程;
图15的流程图显示了基于在门铃寄存器中的写入,目标的获取代理执行的处理过程;
图16的流程图显示了基于从获取代理处接收的ORB消息,执行代理所执行的处理过程;
图17的流程图显示了为响应产生的数据传输请求目标所执行的处理过程;
图18的流程图显示了基于在状态寄存器中的写入,始发者所执行的处理过程;
图19显示了从始发者(主机)到目标(打印机)的数据传输序列;
图20显示了使用读请求状态从目标到始发者的数据传输序列;
图21显示了使用直接状态从目标到始发者的数据传输序列;
图22是提供多通道的目标的框图;
图23是提多通道的始发者的框图;
图24显示了多通道数据发送命令ORB的格式;
图25显示了多通道请求读命令ORB的格式;
图26显示了多通道直接状态响应命令ORB的格式;
图27A和27B显示了多通道获取设备资源E命令ORB的格式;
图28显示了多通道释放设备资源命令ORB的格式;
图29显示了多通道放弃设备资源应答命令ORB的格式;
图30显示了多通道基本设备状态命令ORB的格式;
图31A和31B显示了打开通道请求响应的格式;
图32A和32B显示了关闭通道请求响应的格式;
图33A到33C显示了多通道状态块的一般格式;
图34显示了多通道数据发送状态块的格式;
图35显示了多通道直接状态块的格式;
图36显示了多通道设备资源获取状态块的格式;
图37显示了多通道放弃设备资源状态块的格式;
图38显示了多通道基本设备状态块的格式;
图39A的流程图显示了基于在状态寄存器中的写入,多通道始发者所执行的处理过程;
图39B的流程图显示了基于在门铃寄存器中的写入,多通道目标所执行的处理过程;
图40的流程图显示了使用IEEE1394接口的打印机***的硬件布局。
【第一实施方式】
通过IEEE1394连接主机和打印机的打印***将作为本发明的第一实施方式在下面进行描述。在此***中,数据传输依据本发明的协议(此后称为HPT)进行,该协议使用构造在IEEE 1394之上的SBP-2。图40显示了该打印***中的硬件布局。
《***的硬件布局》
在图40中,主机200包括CPU 1--以存储在ROM 3中的程序ROM区域内的文档处理程序为基础,处理包括图形、图象、文字、表(包括表计算等)等等的文档 CPU 1***地控制与***总线4连接的各个设备。ROM 3的程序ROM区域存储用于CPU 1等设备的控制程序,ROM 3的字体ROM区域存储在文档处理中使用的字体数据等等,ROM 3的数据ROM区域存储在执行文档处理等中使用的各种数据。RAM 2作为CPU 1的主存储器、工作区域等等。程序可以存储在RAM 2中。在RAM 2上,确保了用于存储ORB的传输数据缓冲区和***存储器。
键盘控制器(KBC)5控制键盘9和指示设备(pointingdevice)(没有显示)的按键输入。CRT控制器(CRTC)6控制在CRT显示器(CRT)10上的显示。存储控制器(MC)7控制对外部存储器11如硬盘(HD)、软盘(FD)等等的访问,外部存储器存储了启动程序、各种应用程序、字体数据、用户文件、编辑文件等等。根据IEEE1394标准,1394接口8被连接到打印机100,并且实现与打印机100的通信控制。注意:例如,CPU 1将轮廓字体数据映射(光栅处理)到定位于RAM 2中的显示信息RAM区域,以在CRT10上实现“所见即所得”(WYSIWYG)环境。CPU 1以鼠标(没有显示)等所指定的命令为基础,打开各种已注册的窗口并且执行各种数据处理。
在打印机100中,打印机CPU 12以存储在ROM 13的程序ROM区域中的控制程序或者存储在外部存储器14中的控制程序为基础,***地控制对与***总线15相连接的各种设备的访问并且将图象信号作为输出信息输出到通过打印机装置接口16连接的打印机装置(打印机引擎)17中。ROM 13的程序ROM区域也存储用于CPU 12的控制程序,其实现各种代理(在后面描述)。ROM 13的字体ROM区域存储在产生输出信息中使用的字体数据等,ROM 13的数据ROM区域在打印机没有外部存储器14如硬盘等的情况下存储在主机上使用的信息等。CPU 12能够通过1394接口18与主机通信,并且能够将打印机中的信息等通知给主机200。
RAM 19作为CPU 12的主存储器、工作区域等,并且使用连接到扩充端口(没有显示)的可选RAM,其存储容量能够被扩充。注意:RAM 9被用作输出信息映射区域、环境数据存储区域、NVRAM等等。
存储控制器(MC)20控制对上述外部存储器14如硬盘(HD)、IC卡等等的访问。外部存储器14作为选项连接,并且存储字体数据、仿真程序、表格数据等等。控制面盘(控制台)1002提供了操作开关、LED指示器等等。外部存储器数并不限于一个,并且打印机可以包括多个外部存储器,使得包括除了内部字体外可选字体的可选字体卡的多个外部存储器、存储用于解释其它打印机控制语言等的程序的外部存储器可能被连接。进一步地,可以增加NVRAM(没有显示),并且可以从控制面盘1002中存储打印机模式设置信息。
《始发者的布局》
图1和图2显示了在上述的硬件布局中使用打印机100作为目标、主机200作为始发者的通信***。在此实施方式中,当主机和打印机中的CPU执行预定程序时,就实现了这样的布局。首先描述在图2中显示的始发者。
在图2中,将主机作为始发者,作为应用的打印机驱动器209通过HPT处理器203发布一数据传输请求给打印机,并且从打印机处接收一响应(应答)。
HPT处理器203包括ORB管理器206。ORB管理器206管理在***存储器208中产生的ORB。一ORB是存储了从主机到打印机(或者相反)之间传输的数据缓冲区的地址、大小等等的块。ORB被依次链接成ORB列表。对于这些ORB,定义了如下的处理规则:
(1)ORB列表中的ORB以先进先出(FIFO)的次序依次进行处理。根据接收到的完成消息(状态块),从ORB列表中将对应的ORB删除。
(2)新产生的ORB被增加到ORB列表的末尾。
(3)能被链接到ORB列表的ORB的最大数目与打印机中的两条队列的总容量相同,这将在后面描述。
为了实现第三条,ORB管理器206准备对应于打印机两条队列的两个计数器。一个计数器命名为CurrentQuedQUE,指示打印机的预取队列(在后面描述)中当前的空位置号。另一计数器命名为CurrentImmediateQUE,在此实施方式中对应于此计数器的队列容量是1,并且仅仅一个被处理的条目能够被排队。这些计数器内容的增加/减小对应于ORB的产生/删除。
当主机产生一ORB时,其在称为门铃寄存器的寄存器中写入一任意值以通知打印机已产生一ORB。这一过程在SBP-2中指定,并且在其手册等中描述。
HPT处理器203包括状态队列204和队列处理器205。通过1394接口接收到的状态由状态标识符202标识,并且根据状态的类型,将其直接发送到ORB管理器206或增加到状态队列204中。队列处理器205以先进先出的次序处理添加到状态队列204中的状态。有两种状态类型。
(1)正常状态……此状态是一状态块,在主机和打印机之间通报数据传输结果,并且被直接发送到ORB管理器206。
(2)自发(unsolicited)状态……此状态是一状态块,指示从打印机传输到主机的异步数据已经产生,并且被增加到状态队列204中。通常,此状态由打印机自发地发布。
这些状态类型通过写入状态块中的值来区分。
状态寄存器210是一寄存器,打印机将数据写入到该寄存器中以指示被主机读取的数据已经提供。
作为始发者的主机具有上述的功能布局。
《目标的布局》
图1的框图显示了作为目标的打印机的功能布局。
在图1中,主机将数据写入到门铃寄存器108中。在门铃寄存器中写入任意值意味着一新ORB的产生。命令获取代理103通过1394接口101读入ORB,并且根据其类型,将读入的ORB附加到预取队列104的末尾或者发送到立即执行代理106处。命令类型的确定将参考指示立即或排队执行的域来确定。然而,此域实际上对应于命令的功能。例如,在此实施方式中,用于从目标到始发者的数据传输的命令(请求读命令)和获取目标状态的命令均是立即执行命令,而用于将打印数据从始发者传输到目标的命令等是排队执行命令。
排队执行代理105和立即执行代理106根据命令获取代理103读入的ORB的内容,从主机的缓冲区中读入数据或者将数据处理器107提供的数据写入。此后,这些代理将正常状态返回给主机。
进一步地,立即执行代理106发送自发状态给主机以响应来自数据处理器107的数据传输请求,该数据处理器107通过解释和执行PDL为产生的光栅数据进行光栅处理以及进行设备管理。总线接口102用于从打印机100中访问主机200的***存储器208上的所需存储位置。
在此实施方式的***中,排队执行代理用于从主机到打印机的数据传输ORB,并且立即执行代理用于从打印机到主机的数据传输ORB。
已经简要地解释了始发者和目标的布局及操作。在其详细描述之前,将在下面详细解释ORB的内容。
《命令ORB(操作请求块)的内容》
图3A和3B显示了ORB的一般格式。在图3A中,“下一个ORB”(链接)域301存储了到下一ORB的链接。如果没有下一ORB的话,则存储指示该情况的预定值。注意:第一个ORB由预定的地址寄存器指示。“数据描述符”(数据地址)域302指示数据缓冲区中的地址。“d”(方向)域303指示从主机到打印机(0:写入)的数据传输或者从打印机到主机(1:读入)的数据传输。“数据大小”(数据大小)域304指示地址域302所指的数据缓冲区的大小。从“下一个ORB”域301到“数据大小”域304的这些域均为SBP-2中指定的那些域,并且下面描述对HPT唯一的域305到308在处理中的使用。
如图3B中所示,“i”(立即位)域305指示该ORB是否被目标中的立即或排队执行代理执行。如果该域值为“0”,也就是排队执行代理,那么ORB被放到预取队列中;如果该域值为“1”,那么由立即执行代理处理该ORB。“功能”(功能)域306指示ORB的含义,这将在后面详细描述。“命令块长度”(命令长度)域307指示“控制块”(控制块)域308的长度。控制块域308存储对应于功能域306中值的各种值。
ORB的内容将在功能单元中解释。
(队列深度命令)
图4显示了功能=0的队列深度命令ORB。此命令用于获得目标的预取队列104的深度。立即位被设置为“1”。
此命令的控制块包括两个域,也就是:“资源ID”(资源ID)域40 和“状态队列深度”(状态队列深度)域402。资源ID域存储在始发者中已经注册的过程的标识符。在图2显示的例子中,已注册的过程是打印机驱动器。
增加此域是为了当多个过程已经注册时允许目标标识需要应答的过程。状态队列深度域402将始发者状态队列204的深度通知给目标。
状态队列深度域用于管理在目标的状态队列中排队的自发状态块数目。以始发者管理预取队列的同样方式,目标根据自发状态的产生/处理完成消息来管理状态队列的深度。
基于接收到的队列深度命令,目标在计数器CurrentUnsolicitedQUE中存储状态队列的长度,并且将预取队列长度返回给始发者。以此命令获得的预取队列的队列深度为基础,始发者根据ORB的产生和删除来管理在目标中排队的ORB数目。
(数据发送命令)
图5显示了功能=1的数据发送命令。此命令应用于从始发者传输数据到目标。“页表已提供”位501指示提供了一页表。当提供了页表时,页表所引用的页大小在“页大小”域502中被设置。被传输的数据缓冲区由此页表、地址503和数据大小504指示。
基于接收到的数据发送命令,目标根据方向域中的值在指定的数据缓冲区中写数据或者从其中读出数据。
(请求读命令)
图6显示了功能=2的请求读命令。当“读请求状态”时,此命令为打印机提供了将数据写入的数据缓冲区,也就是,作为目标的打印机中的数据传输请求被从目标中发送到主机。“序列号”(序列号)域601设置成与附加到对应的读请求状态的序列号相同的值,其促使此命令的发布。该值使得请求读状态和请求读命令彼此相对应。其它域的格式与数据发送命令中的相同。在此命令中,立即位设置为“1”,并且方向位也设置为“1”(读)。立即位设置为“1”的原因是为了立即响应目标所发布的读请求状态。缓冲区大小使用由读请求状态指定的值。
基于接收到的数据发送命令,目标确保在始发者的***存储器上指定的数据缓冲区中写数据。
(直接状态响应命令)
图7显示了功能=3的直接状态响应命令ORB。当始发者使得目标放弃一读请求时,为响应读请求状态发布此命令。可选地,为响应来自目标的直接状态,此命令被用作对目标的应答。“序列号”(序列号)域701设置成与附加到对应的读请求状态或直接状态的序列号相同的值,其促使此命令的发布。其它域的格式与数据发送命令中的相同。在此命令中,立即位设置为“1”。
基于接收到的直接状态响应命令,如果已经发布了具有对应的序列号的读请求状态,那么目标放弃读请求。
(获取设备资源命令)
图8A显示了功能=8的获取设备资源命令ORB。“资源ID”(资源ID)域801的含义如图8B中所示。值“0”依赖于使用的设备类型和逻辑装置特征。在此***中,“0”指示打印机为一种设备类型并且打印服务作为逻辑装置特征。
基于接收到的获取设备资源命令,目标指派由资源ID指定的资源给作为此命令发送者的始发者。
(释放设备资源命令)
图9显示了功能=9的释放设备资源命令。“资源ID”(资源ID)域801的含义如图8B中所示。
基于接收到的释放设备资源命令,目标释放由资源ID指定的资源。
(基本设备状态命令)
图10显示了功能=A(十六进制)的基本设备状态命令ORB。
接收到的此命令后,目标将其自身状态回答给始发者,同时将其封装在一基本设备状态块中。通过发布此命令,始发者能够识别打印机状态。在打印机中,例如,与打印机相关的各种状态信息如纸张大小、仿真支持等等被作为基本状态从目标中发送回来。
《状态块的内容》
图11A和11B显示了从作为目标的打印机中发送回到作为始发者的主机的状态块。为每个上述的命令ORB准备一个对应的状态块。目标的排队和立即执行代理发布该状态块。
在图11A中,第一个域到“ORB_offset_lo”域均在SBP-2中指定,并且包括用于指示对应于状态的命令ORB的域等等。“i”(立即位)域1101指示排队和立即执行代理中的哪一个发布此状态。如果值为“0”,其指示排队执行代理发布该状态;如果值为“1”,其指示立即执行代理发布该状态。“hpt状态”(hpt状态)域1102指示状态块的类型,如图11B中所示。“hpt状态_dependent”域1103依赖于hpt状态给出其值。“状态长度”(状态长度)域1104指示响应块1105的长度。状态块将在下面的类型单元中解释。
(队列深度状态块)
图12显示了hpt状态=0的队列深度状态。目标为响应队列深度命令而应答队列深度状态,目标在”预取队列深度”域1201中设置预取队列104的深度并且将状态发送回始发者。使用此状态,始发者能够检测预取队列的大小,并且管理对应于该大小所产生的ORB的数目。
(数据发送状态块)
图13显示了hpt状态=1的数据发送状态。目标为响应数据发送命令而应答数据发送状态,并且目标基于数据发送命令ORB的处理完成来发布此状态。基于接收到的此状态,始发者能够检测一ORB已经从目标的队列中处理和删除。
(读请求状态块)
此状态为hpt状态=2(其格式没有显示),并且具有由始发者在响应块中确保的数据缓冲区大小。通常,目标发布此状态并非为了响应命令ORB,而是自发地发布。始发者发布上述的请求读命令ORB以响应此读请求状态。这一处理的过程将在后面描述。
(直接状态块)
此状态为hpt状态=3(其格式没有显示),并且包括响应块中的应用层(也就是,目标中的数据处理器)的状态。更为特别地,应用层上的数据交换通常使用ORB和链接的数据缓冲区来实现。然而,当数据非常小并且处在响应块的上限之内(在此实施方式中为24字节)时,应用层的应答被封装在一HPT-层应答中。为响应此状态,始发者发布直接状态响应命令ORB。
(设备资源获取状态块)
此状态为hpt状态=8(其格式没有显示),并且由已经接收到获取设备资源E命令并对其处理的目标来发布此状态。
(设备资源释放状态块)
此状态为hpt状态=9(其格式没有显示),并且由已经接收到释放设备资源命令并对其处理的目标来发布此状态。
(BASIC DEVICE状态块)
此状态为hpt状态=A(十六进制)(其格式没有显示),并且基于基本设备状态命令的接收,目标发布此状态。这一状态被设置成预定的设备状态。
已经描述了本实施方式的打印***中使用的命令和状态块。始发者和目标中的数据交换过程将在下面解释。
《来自始发者的数据传输请求处理》
图14显示了为响应从主机到打印机(或反之亦然)的数据传输请求,在主机中用于将命令ORB的产生通知给打印机的过程。
来自应用如打印机驱动器等的数据传输请求在步骤S1401中监视。数据传输请求可能是将从应用如打印机驱动器中直接传输的数据的出现通知给主机或者可能是根据来自打印机的数据读请求而产生的。注意:打印机发送到主机的并与主机异步的状态此后称为自发状态。另一方面,从主机中作为命令ORB的处理完成消息返回的状态此后将称为正常状态。
基于数据传输请求的检测,在步骤1402中确定数据传输是由排队执行命令执行还是由立即执行命令执行。如果数据传输由立即执行命令执行,那么ORB的立即位被设置。当为响应来自打印机的自发状态而发布ORB时,数据传输由立即执行命令执行;当为响应来自主机应用的数据传输请求而发布ORB时,数据传输由排队执行命令执行。
在排队执行的情况中,在步骤S1403中检查计数器CurrentQuedQUE是否为“0”。基于电源打开或重新设置,队列深度命令读取打印机的预取队列深度,并且设置为计数器CurrentQuedQUE的缺省值。更为具体地,计数器CurrentQuedQUE对预取队列中的当前空位置号进行计数。如果在步骤S1403中确定空位置号为“0”,由于目标的预取队列非空,那么控制一直等到该队列具有一空位置。如果发现空位置,那么计数器CurrentQuedQUE的值在步骤S1404中减1,并且在步骤S1407中产生数据传输ORB并将之链接进ORB列表。此后,在步骤S1408中往打印机的门铃寄存器108中写入任意值,从而将新ORB的产生通知给目标。
另一方面,如果在步骤S1402中确定由立即执行命令来执行数据传输,那么在步骤S1405中检查计数器CurrentImmediateQUE的值是否大于“0”。注意没有为目标的立即执行代理准备队列,因此该计数器的最大值为“1”。否则,重新设置时将计数器CurrentImmediateQUE设置为“1”。如果计数器CurrentImmediateQUE的值大于“0”,那么在步骤S1406中将计数器值减1。接着,将ORB链接到ORB列表并写门铃寄存器。
基于以此方式写入门铃寄存器,获取代理在图15显示的过程中将ORB放入目标。
《获取代理进行的处理》
图15显示了基于对门铃寄存器108的写,目标的获取代理所执行的处理过程。
基于对门铃寄存器108的写,在***存储器中的第一链接ORB的地址在步骤S1601中被设置在读指针中。
在步骤S1602中,由读指针指示的ORB的立即位被测试以检查其为立即执行命令还是排队执行命令。如果相关的ORB为排队执行命令,那么在步骤S1603中获得预取队列104的尾地址(NextWritePointer)。由于主机在已经确定预取队列的空位置之后会写门铃寄存器,所以队列确实具有一空位置。
读指针所指示的ORB在步骤S1604中被复制到预取队列的末尾,并且在步骤S1605中获取代理将ORB接收通知给排队执行代理。在步骤S1606中接着检查由读指针所指示的ORB的“下一个ORB”域(指向下一ORB的链接域)是否为空,也就是,是否提供了链接的ORB。如果该域为空,那么流程结束;否则,该链接ORB的地址被设置在读指针中并重复从步骤S1602开始的流程。
另一方面,如果在步骤S1602中确定ORB为立即执行命令,那么在步骤S1608中将该ORB复制到立即执行代理预先所指定的地址中。此后,获取代理在步骤S1609中将ORB接收通知给立即执行代理,并且流程前进到步骤S1606。
在此方式中,ORB被放入目标以将ORB接收通知给每个执行代理。接着,ORB由图16中显示的过程来执行。
《执行代理进行的处理》
存在两种执行代理,即:立即和排队执行代理,但是它们使用相同的过程来处理ORB。因此,将使用图16来同时描述其处理。
当将来自获取代理的ORB接收通知给执行代理时,在步骤S1701中其抽取出Nextreadpointer所指示的ORB的数据地址域、方向位和数据大小域的值。注意:Nextreadpointer是一存储在队列中并指示执行代理将要处理的ORB的指针。在排队执行代理的情况中,该指针指示预取队列中的第一ORB。
在步骤S1702中检查抽取出来的数据大小是否为“0”。如果大小不为“0”,那么在步骤S1703中检查方向位(Direction位)指示写还是读。如果方向位指示写,那么在步骤S1704中,执行代理从该始发者的***存储器中读出由数据地址和大小指定的数据并且将读出的数据传递到数据处理器107。
数据处理器在步骤S1705到步骤S1707中处理传递来的数据。例如,在打印机中解释PDL数据并对其进行光栅处理。在步骤S1707中,将处理结束通知给执行代理。
基于数据处理器中处理结束的通知,在步骤S1708中,执行代理产生一数据发送状态块(正常状态)作为指示相关ORB处理结束的消息,并且在步骤S1709中将该消息写入状态寄存器210中以将该状态通知给始发者。
另一方面,如果在步骤S1703中确定ORB的方向位指示读,那么,在步骤S1710中,执行代理将数据写入由ORB的数据地址域和数据大小域所指定的数据缓冲区中。由目标写的数据被称为逆向数据(reverse data)。被写的逆向数据已经由数据处理器107等产生并且存储在一缓冲区中。例如,逆向数据为大于24字节的数据如打印机内置的字体列表。
在步骤S1711中,存储已经被写的数据的缓冲区被释放。
基于处理的完成,在步骤S1713中,执行代理产生处理完成消息的状态块(正常状态),并且在步骤S1714中将一预定的值写入状态寄存器以将状态块消息通知给主机。
最后,在步骤S1715中,执行代理将计数器CurrentUnSolicitedQUE的值增加1。基于队列深度命令的接收,存储在其“状态队列深度”域中的值被设置为计数器CurrentUnSolicitedQUE的缺省值。对应于自发状态块的传输和其处理完成消息的此计数器内容的增加/减小将指示状态队列204的空位置数目。计数器CurrentUnSolicitedQUE在下面的条件下进行计数:
-计数减小的条件
(1)基于自发状态块的传输,计数器减1。在始发者中,自发状态单独在状态队列204中排队。
-计数增加的条件
(1)基于请求读ORB的处理完成状态块的传输,计数器增加1。基于此状态的接收,始发者从状态队列204中移去该已处理的状态块。
(2)基于用于具有数据大小=0的ORB的处理完成状态块的传输,计数器增加1。换言之,基于用于直接状态响应ORB的状态块的传输,计数器增加1。基于此状态的接收,始发者从状态队列204中移去该已处理的状态块(直接状态)。
如果在步骤S1702中确定数据大小为“0”,由于没有数据需要处理,在步骤S1713中,执行代理将没有进行任何处理的状态块返回以发送一处理完成消息。
使用前面提及的过程,由始发者产生的ORB以及其处理,和由目标产生的状态块均被执行。为响应从打印机传输到主机的自发状态的数据传输将在下面参考图17和图18进行解释。
《目标中自发状态的发布》
一些信息种类必须立即从打印机通知给主机,例如,当缺纸、夹纸等等错误在打印机中出现时。在这种情况下,打印机自发地传输数据到主机,与来自主机的命令传输异步。如果从打印机发送的数据产生,那么数据处理器将该数据的出现通知给立即执行代理,从而启动图17中的处理。
在步骤S1801中检查传输给主机的数据是否超出24字节。注意24字节为能够存储在状态块的响应块中的数据容量的上限。
如果数据超出该上限值,那么在步骤S1802中产生一读请求状态块(自发状态),并且在步骤S1803中逆向数据的存储地址被设置在该状态块的“ORB_offset”域中。此时,逆向数据的大小也被写入状态块中。
在步骤S1804中检查计数器CurrentUnSolicitedQUE的值是否大于“0”,也就是,状态队列具有空位置。如果在步骤S1804中为NO,那么控制一直等到队列具有空位置,计数器CurrentUnSolicitedQUE的值在步骤S1805中减1,并且在步骤S1806中将一合适值写入状态寄存器中。
另一方面,如果数据等于或者小于24字节,由于该数据能够发送到主机,同时被封装在状态块中,直接状态(自发状态)被产生,并且逆向数据被存储在其命令集依赖域。此后,流程分支到步骤S1804。
在此方式中,自发状态被发送到始发者。
基于状态的接收,始发者通过图18所示的过程处理它。
《始发者执行的状态处理》
此过程由在状态寄存器中设置预定值所产生的中断来启动。允许多个中断,并且每次在状态寄存器中设置值时就产生一中断。
在步骤S1501中,检查状态为正常状态还是自发状态。如果状态为自发状态,那么,在步骤S1502中,从目标中读出状态块,并且将其复制到状态队列的末尾。在步骤S1503中检查相关块是否已经移动到队列的头位置。如果在步骤S1503中已经移动到队列的头位置,那么在步骤S1504中存储逆向数据的缓冲区被确定,并且在步骤S1505中检查状态为读请求ED状态还是直接状态。
如果状态为读请求ED状态,那么在步骤S1506中产生读请求ED命令ORB。产生的ORB被设置成“立即”标志,并且其方向标志指示读。同样,存储要读出的数据的缓冲区的地址被写入ORB中。此后,在步骤S1507中,图14中所示过程被告知请求数据传输的事件已经产生。如图14中所示过程发送在步骤S1506中产生的ORB到目标,并且来自目标的数据被写入数据缓冲区中,从而实现数据传输。
如果在步骤S1505中确定状态为直接状态,那么该状态中的逆向数据被复制到步骤S1508中确定的缓冲区中,并且在步骤S1509中被传递到主机如应用等。此后,在步骤S1510中产生直接状态响应ORB(立即位设置成“立即”)。此时,数据大小=0被指定。
另一方面,如果在步骤S1501中确定状态为正常状态,那么在步骤S1511中检查对应于该状态的ORB的方向位指示读还是写。如果方向位指示写,也就是,将数据从始发者传输到目标,那么对应的ORB从列表中删除(步骤S1512),由该ORB使用的数据缓冲区被释放(步骤S1513),并且指示预取队列空大小的计数器CurrentQuedQUE的值增加1(步骤S1514)。
另一方面,如果方向位指示读,也就是,数据从目标传输到始发者,由于该状态为请求读命令ORB的应答,那么在步骤S1515中,将读结束通知给主机过程如打印机驱动器等。在步骤S1516中将对应的ORB从列表中删除,并且计数器CurrentQuedQUE的值增加1。也就是,立即执行代理已准备好发送下一ORB。
在此方式中,基于对状态寄存器的写,始发者处理该状态。也就是,自发状态被依次排队和处理,但是正常状态被立即处理。自发状态被排队的原因是其产生一ORB。产生和链接到ORB列表的ORB数目被限制在低于目标执行代理的处理容量和预取队列大小的总和。ORB的数目以这样的方式限制以确保在ORB产生消息之后被立即执行的ORB被立即处理。立即执行命令只要传递给目标就被立即执行代理立即处理。然而,如果ORB被自由地产生,那么ORB列表本身不必要地成为立即执行代理所处理的ORB的队列,并且该产生的ORB不传递到目标。结果,立即执行没有被确保。由于链接的ORB的数目被限制为放置在目标的预取队列中的ORB的数目和执行代理所执行的ORB的数目的总值,所以始发者产生的ORB能立即被传递给目标。为此,甚至基于自发状态的接收,由于对ORB数目上的限制,始发者也不能经常产生一新ORB。因此,自发状态被临时放置在状态队列中。
《消息序列的例子》
在上述过程中始发者和目标之间交换的消息序列的例子将在下面参考图19到21来解释。
(到目标的数据传输序列)
图19显示了将数据从始发者(主机)传输到目标(打印机)的序列的例子。
注意图19中的SBP-2代表SBP-2标准所指定的数据,也就是,处理层处理图3A和3B中所示的命令中SBP-2所指定的域和图11A和11B中所示的状态。同样,HPT代表执行功能单元中定义的而没有在SBP-2中指定的处理的处理层。HPT执行上述流程图的过程。SBP-2实现链接ORB的功能、写门铃、传递ORB或状态给HPT等等。
始发者上的应用产生数据,并且其HPT产生一ORB(在此情况下,为数据传输ORB),空队列计数器(CurrentQuedQUE)的值减1,并且ORB链接请求被发布给SBP-2(1901)。SBP-2将产生的ORB链接到列表,并且发布一写请求给门铃寄存器(1902)。1394接口在门铃寄存器中写一门铃(1903),并且目标的SBP-2接着接收该消息(1904)。
基于该消息的接收,SBP-2发布一ORB读请求给1394接口(1905),并且从***存储器中读出该ORB(1906)。HPT依据其内容在对应的队列中存储读出的ORB(1907)。在此情况中,由于ORB为一数据传输命令ORB,所以将数据读请求发布给1394接口(1908)。为响应此请求,数据从指定地址中读出并且被传递到一应用(1909)。例如,在此情况中的应用为用于映射图象的光栅处理器,并且被映射的图象由打印机引擎打印出来。
在该数据读出之后,状态块传输请求被发布给目标的SBP-2(1910),并且一状态块(数据传输状态)被发送回始发者(1911)。基于状态的接收,始发者的HPT从链接中删除对应的ORB,并且将空队列计数器(CurrentQuedQUE)增加1(1912)。
使用上述的序列,将数据从始发者传输到目标。
(到始发者的数据传输序列)
图20显示了读请求状态序列。
当目标上的应用产生数据时,自发状态(读请求状态)被产生,状态队列计数器(CurrentUnSolicitedQUE)减1,并且自发状态传输请求被发布(2001)。基于此请求的接收,SBP-2传输一自发状态块到始发者(2002)。基于此状态的接收,始发者的SBP-2层传输一自发状态块到HPT层(2003)。HPT层复制自发状态块到状态队列。
对于状态队列头位置处的状态,HPT层准备数据缓冲区和读请求ORB并且请求SBP-2层链接该产生的ORB(2004)。SBP-2层发布一写请求给门铃寄存器(2005),并且1394接口写一门铃(2006)。将门铃写消息从1394接口发送到SBP-2(2007),并且ORB的读请求的发布(2008)和ORB的读(2009)被立即执行。读出的ORB被传递给目标的HPT层,并且HPT层在指定的队列中存储该ORB(2010)。此后,HPT层解释ORB的内容以识别一数据读请求,并且将数据写请求发布给1394接口(2011)。
为响应此请求,逆向数据被写入始发者准备的数据缓冲区中(2012)。
基于此过程的完成,目标发布一状态块产生请求,并且将状态队列的空位置数增加1(2013)。为响应该请求,一正常状态块被发送回始发者(2014)。当为响应该状态而发布一ORB链接删除请求给HPT时,对应的ORB被删除,并且立即执行代理的队列的空位置(必须为0)的数目增加1,从而释放使用的数据缓冲区(2015)。
使用此序列,将数据从目标传输到始发者。
(到始发者的数据传输序列)
图21显示了从目标到始发者的数据传输的序列。与图20的序列不同,由于被传输的数据较小,所以使用直接状态。
当目标上的应用产生数据时,自发状态(直接状态)被产生,状态队列计数器(CurrentUnSolicitedQUE)减1,并且自发状态传输请求被发布(2101)。基于此请求的接收,SBP-2传输一自发状态块给始发者(2102)。基于此状态的接收,始发者的SBP-2层传输一自发状态块到HPT层(2103)。HPT层复制自发状态块到状态队列。
对于状态队列头位置处的状态,HPT层将封装在此状态中的应用层上的数据读出,并准备数据缓冲区和直接状态响应ORB,以及请求SBP-2层链接该产生的ORB(2104)。SBP-2层发布一写请求给门铃寄存器(2105),并且1394接口写一门铃(2106)。将门铃写消息从1394接口发送到SBP-2(2107),并且ORB的读请求的发布(2108)和ORB的读(2109)被立即执行。
读出的ORB被传递给目标的HPT层,并且HPT层在指定的队列中存储该ORB(2110)。此后,HPT层解释ORB的内容。如果确认ORB为直接状态响应ORB,那么目标发布一对应的状态块产生请求,并且将状态队列的空位置数增加1(2111)。为响应此请求,将一正常状态块发送回始发者(2112)。当为响应该状态而发布一ORB链接删除请求给HPT时,对应的ORB被删除,并且立即执行代理的队列的空位置的数目增加1,从而释放使用的数据缓冲区(2113)。
使用此序列,将数据从目标传输到始发者。在此序列中,与图20中所示相比,数据写请求(2011)和逆向数据写(2012)这两个步骤被省略。
《此***唯一的功能》
此***的布局和操作已经如上所述。对此***唯一的功能、布局、优点等总结如下:
(1)在目标中准备了两个执行代理,也就是,排队和立即执行代理,并且对应于这些执行代理提供了命令代理。在此方式中,来自始发者的数据传输请求ORB被依次排队和处理(排队执行),但是来自目标的读请求状态在对应的请求读ORB发布之后,被立即处理(立即执行)。由于链接到ORB列表的ORB数的上限被限制在用于写ORB的排队执行队列的大小,以及被限制在用于写ORB的立即执行队列的大小(此种情况中为1),所以确保了立即执行。
另一方面,来自目标的读请求状态在始发者中被排队。为此,来自始发者的数据传输请求被附加到预取队列的末尾,并且来自目标的数据传输请求(读请求)被增加到状态队列。使用此控制,能够在始发者和目标上的应用之间提供全双工通信通道。也就是,与数据传输方向无关,被附加到队列中的请求以先进先出的次序被处理,并且在一个方向上的数据传输不会影响另一方向上的数据传输,因此,提供了彼此互不干扰的独立通道。换言之,在始发者或目标中产生的数据能够实现从始发者到目标或反过来从目标到始发者的异步传输。
(2)由于始发者和目标均监视彼此队列的空大小,那么传输的ORB或状态块能够被可靠地接收。
(3)由单一的注册过程提供全双工通信通道。也就是,由于当始发者和打印机的资源如目标那样缺乏时能够使用计算机及其资源来进行数据交换,打印机资源,尤其是所需的内存容量能够被禁止。
(4)由于使用了IEEE1394接口,当目标随着其资源可以使用而读出数据时,到目标的数据传输被执行,并且能够防止始发者被目标随意的数据传输所占据。如果打印机作为目标,那么当其资源可以使用时其能够读出计算机传递来的数据。为此,主机在确定打印机已准备好接收数据之后,不需要执行监视和启动数据传输的处理。也就是,主机能够在不考虑打印机的状态下发送数据到打印机,并且不需要在打印机可以使用之后传输数据。
(5)由于使用了SBP-2,ORB被单独在目标中排队,并且被传输的数据本身在处理等待时间内被存储在始发者中。为此,目标的存储器资源能够被减小。
(6)使用直接状态,应用层的数据能够封装在HPT层的状态中,并且能够从目标传输到始发者。为此,能够缩短数据传输序列。
注意此实施方式的***并不限于主机和打印机,而可以应用于各种装置。上述特征不仅对主机和打印机之间的关系有用,而且能够用于使用较少的资源连接主机和***装置以及***装置之间的连接。
【第二实施方式】
同时提供了多个逻辑通道的***将作为本发明的第二实施方式来解释。在此情况中,在目标方,结合了打印机、传真和图像扫描仪的数字多功能机器被用于替代单一的打印机。
《***布局》
图23是此实施方式的始发者的框图。在图23中,仅解释不同于图2的地方,并且公共部件的描述将被省略。图23的典型特征是状态标识符212不仅标识状态类型而且标识逻辑通道,并且以通道为单位配上状态块,而且具有为多个通道(图23中的2)的每个通道附带***存储器和HPT处理器的布局。
注意状态标识符212根据包括在状态块中的通道ID来标识通道。这将在后面描述。例如,当使用数字多功能机器时,不同的应用可以被指派给不同的通道,也就是,一个通道被打印机驱动器使用而其它通道被图像扫描仪使用,或者一个单一应用可以使用多个通道。
图22是目标的框图。不同于图1的地方在于:命令获取代理113以通道为单位配上命令ORB。每个通道象图1那样具有相同的布局,并且具有一个预取队列和两个执行代理(排队和立即执行代理)。
注意ORB指示一逻辑通道,并且命令获取代理标识引用它的通道。
《命令ORB的格式》
图24到32B显示了命令ORB格式的例子。图24显示了数据传输命令ORB,图25显示了请求读命令ORB,图26显示了直接状态响应命令ORB,图27A和27B显示了获取设备资源E命令ORB,图28显示了释放设备资源命令ORB,以及图30显示了基本设备状态命令ORB。除了它们具有通道ID域外,这些命令ORB实际上与第一实施方式中的那些命令相同。
图29显示了放弃设备资源应答命令ORB,该命令是对来自目标的放弃设备资源请求的应答。由于目标缺乏资源,所以当使用多个通道时和当多个应用在运行时,处理的资源可能变得缺乏。在此情况中,目标发布放弃设备资源请求。
图31A显示了用于发布一通道打开请求的打开通道请求命令,并且图31B显示了对应于该命令的打开通道请求状态。使用这些命令和状态,所需的逻辑通道被打开。
图32A显示了用于发布一通道关闭请求的关闭通道请求命令,并且图32B显示了对应于该命令的关闭通道请求状态。使用这些命令和状态,所需的逻辑通道被关闭。
《状态块的格式》
图33A到38显示了状态块的格式。图33A到33显示了状态的一般格式,图34显示了读请求状态,图35显示了直接状态,图36显示了获取设备资源状态,并且图38显示了基本设备状态。除了它们包括通道ID外,这些状态的格式实际上与第一实施方式中的那些状态相同。
图37显示了放弃设备资源状态块,该状态块在资源ID域3701中存储用于请求始发者放弃的资源ID。由于此状态是目标所发布的请求,所以其作为自发状态传输到始发者。
《始发者和目标中的命令/状态处理过程》
图39A和39B显示了此实施方式的始发者和目标中的处理过程。图39A显示了对应于第一实施方式图18的处理过程,在始发者中,该过程基于在状态寄存器中写被启动。当处理被启动时,在步骤S3901中通道ID被区分。此后,为此区分出来的通道执行如步骤S1501中同样的处理和图18中的后续步骤。
图39B显示了对应于第一实施方式图15的处理过程,在目标中,该过程基于在门铃寄存器中写被启动。当处理被启动时,在步骤S3911中通道ID被区分。此后,为此区分出来的通道执行如步骤S1601中同样的处理和图15中的后续步骤。
此外,为响应数据传输请求而启动的处理(图14),由目标代理执行的处理(图16)和对从打印机传输到主机的数据的产生的处理(图17)与第一实施方式中的那些处理相同。然而,在这些处理之前,必须打开通道。
同样,来自目标的放弃资源请求请求以使用来自目标的直接状态的数据传输的同样序列被发布。
在此实施方式中,由上述过程执行数据传输。除了使用多个逻辑通道外,此实施方式的***实际上与第一实施方式中的相同。
此***能够为多个逻辑通道的每个提供全双工通信。为此,甚至能够为具有多个设备的装置如数字多功能机器提供双向通信。因此,在第一实施方式中描述的功能(1)到(6)也能够为多个通道提供。
【其它实施方式】
注意本发明既可以应用于由多个装置(如:主机、接口设备、读入器、打印机等等)构成的***,也可以应用于包括单个装置(如:复印机、传真装置等等)的装置。
通过提供记录软件程序的程序代码(也就是在图14到18和图39A和39B中显示的过程的程序)的存储介质和由***或装置的计算机(或者CPU、MPU等等)读出及执行存储在存储介质中的程序代码也能达到本发明的目的,其中软件程序能够实现上述***或装置的实施方式的功能。
在此情况中,从存储介质中读出的程序代码本身实现了上述实施方式的功能,并且存储程序代码的存储介质组成了本发明。
用于提供程序代码的存储介质,例如,软盘、硬盘、光盘、磁光盘、CD-ROM、CD-R、磁带、非逸失性存储卡、ROM等等均可以使用。
上述实施方式的功能不仅可以通过由计算机执行读出的程序代码来实现,而且可以以程序代码的指令为基础,通过由计算机上运行的OS(操作***)所执行的一些或全部的实际处理操作来实现。
进一步地,在从存储介质中读出的程序代码被写入扩展板或装置的存储器中之后,上述实施方式的功能可以通过由安排在功能扩展板或功能扩展装置中的CPU等执行的一些或全部的实际处理操作来实现,这些扩展板被***计算机或与计算机连接。
根据本发明重申允许异步双向通信的全双工通信能够通过单一的注册过程来实现,并且数据交换所需的资源如处理器、存储器等能够被有效地使用。
由于始发者和目标监视彼此队列的空闲大小,所以传输的ORB或状态块能够可靠地接收。
由于使用了IEEE1394接口,所以当目标随其资源可以使用而读出数据时,就能执行到目标的数据传输,并且能够防止始发者被目标随意的传输数据所占据。
由于使用了SBP-2,在目标中单独为ORB排队,并且在处理等待时间中被传输的数据本身被存储在始发者中。为此,目标的存储资源能够减小。
使用直接状态,应用层的数据被封装在HPT层的状态中,并且能够从目标传输到始发者。为此,数据传输序列能够缩短。
同样,能够实现多通道。
同样地,只要不偏离本发明中的原理和范围,本发明的许多明显地、广泛地不同实施方式均可实现,应该理解的是本发明不仅限于附加的权利要求中定义的特定的实施方式。
Claims (23)
1、一种用作始发者的装置,所述始发者将命令传输到目标,所述目标异步地执行读操作和写操作,其中,在读操作中,响应来自第一队列的第一命令,目标从始发者的存储区域中的指定位置读数据;在写操作中,响应来自第二队列的第二命令,目标在始发者的存储区域的指定位置上写数据,所述始发者包括:
产生装置,用于产生包括指派命令是排队到第一队列还是排队到第二队列的第一和第二命令;以及
传输控制装置,用于确定第一和第二队列是否分别有空闲区域,以及对将第一命令和第二命令传输给所述目标进行管理,以便在相应队列有空闲区域时,分别传输第一和第二命令。
2、根据权利要求1的装置,还包括通道区分装置,用于使用通道标识符区分对应于来自所述目标的请求的通道;并且其中所述装置将对应于所区分的通道的通道标识符或对应于应用的通道指派给该命令。
3、根据权利要求1的装置,其特征在于,在从所述目标接收到在所述存储区域中数据写入请求后,所述始发者将所述请求保留在状态队列中,并发布第二命令给所述目标。
4、根据权利要求1的装置,其特征在于,所述始发者响应来自所述目标的请求发布在所述存储区域中的写命令。
5、一种用于通过访问一个始发者的存储区域与所述始发者交换数据的通信控制装置,包括:
用于与所述始发者通信的装置;
用于保留从所述始发者处接收到的读命令并且具有预定大小的队列;
用于从所述队列中获得和执行读命令的排队执行装置;
用于在接收之后立即执行从所述始发者处接收的写命令的立即执行装置;以及
用于发布数据传输请求到所述始发者的传输请求装置。
6、根据权利要求5的装置,还包括能保留一个命令的第二队列,其中所述写命令保留在第二队列中,并且所述立即执行装置执行第二队列中的写命令。
7、根据权利要求5的装置,其特征在于,所述装置发布写请求给所述始发者,使得不超出始发者状态队列所能保留的请求数。
8、根据权利要求5的装置,其特征在于,当要传输给所述始发者的数据大小小于预定大小时,所述装置不请求始发者在存储区域中写,而直接在始发者的存储区域中的预定区域中写数据。
9、一种用于使计算机操作为用作始发者的装置的方法,所述始发者将命令传输到目标,所述目标异步地执行读操作和写操作,其中,在读操作中,响应来自第一队列的第一命令,目标从始发者的存储区域中的指定位置读数据;在写操作中,响应来自第二队列的第二命令,目标在始发者的存储区域的指定位置上写数据,所述方法包括以下步骤:
产生处理步骤,产生包括指派命令是排队到第一队列还是排队到第二队列的第一命令和第二命令;以及
传输控制步骤,确定第一和第二队列是否分别有空闲区域,以及对将第一命令和第二命令传输给目标进行管理,以便在相应队列有空闲区域时,分别传输第一和第二命令。
10、一种使用如权利要求9的通信控制方法,用于传输打印数据给目标并从所述目标接收状态信息的打印控制装置。
11、一种在访问经通信连接的始发者的存储区域时,与所述始发者交换数据的通信控制方法,包括:
排队步骤,将从所述始发者接收的读命令排队到具有预定大小的队列;
排队执行步骤,从所述队列中获得和执行读命令;
立即执行步骤,在接收后,立即执行从所述始发者处接收的写命令;以及
传输请求步骤,发布数据传输请求到所述始发者。
12、根据权利要求11的方法,还包括通道区分步骤,使用通道标识符区分对应于来自所述目标的请求的通道;并且其中产生处理步骤包括将对应于所区分通道的通道标识符或对应于应用的通道指派给所述命令。
13、根据权利要求12的方法,还包括,通道区分步骤,使用通道标识符区分对应于来自所述始发者的命令的通道;响应步骤,将指派有对应于所区分的通道的通道标识符发送回所述始发者,以及其中传输请求步骤包括将对应于所区分的通道的通道标识符或对应于应用的通道指派给所述请求。
14、根据权利要求13的方法,其中传输请求步骤包括步骤:当所述始发者的数据大小大于预定大小时,请求所述始发者发布在所述存储区域中的数据写命令,并且在所述数据小于预定大小时,直接在所述存储区域的预定区域中写数据。
15、一种利用权利要求11的通信控制方法,从始发者接收打印数据并将状态信息传输给所述始发者的打印装置。
16、一种在始发者和目标之间交换数据的通信控制方法,所述方法包括以下步骤:
在目标异步地执行读操作和写操作,其中,在读操作中,响应来自第一队列的第一命令,从始发者的存储区域中的指定位置读数据;在写操作中,响应来自第二队列的第二命令,在始发者的存储区域的指定位置上写数据;
在目标,根据包括在命令中的是将命令排队到第一队列或是第二队列的的指派,将第一命令和第二命令传输给第一队列或是第二队列;
在始发者,产生包括指派命令是排队到第一队列还是排队到第二队列的第一命令和第二命令;以及
确定第一和第二队列是否分别有空闲区域,以及对将第一命令和第二命令传输给目标进行管理,以便在相应队列有空闲区域时,分别传输第一和第二命令。
17、根据权利要求16的方法,其特征在于,所述目标在第二队列中保留第二命令,该第二队列具有在队列中保留一个命令和处理所述命令的能力。
18、根据权利要求16的方法,其特征在于,在从所述目标接收到在所述存储区域中数据写入请求后,所述始发者将所述请求保留在状态队列,并发布第二命令给所述目标。
19、根据权利要求18的方法,其特征在于,所述目标发布写请求给所述始发者,使得不超过所述状态队列所能保留的请求数。
20、根据权利要求16的方法,其特征在于,所述始发者响应来自所述目标的请求,发布在所述存储区域中的写命令。
21、根据权利要求20的方法,其特征在于,当要传输给所述始发者的数据小于预定大小时,所述目标不请求所述始发者在所述存储区域中写,而直接在所述始发者的存储区域中的预定区域中写数据。
22、根据权利要求16的方法,其特征在于,所述目标和始发者指派通道标识符给第二和第一命令,并且以通道标识符为单位来单独处理所述命令。
23、一种使用权利要求16的通信控制方法的打印***,其中,作为始发者的主机装置被连接到作为目标的打印机装置,所述打印机装置从所述主机装置中接收打印数据并且根据接收的打印数据进行打印,并且所述主机装置接收所述打印机装置的状态信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP244430/1997 | 1997-09-09 | ||
JP24443097A JP4086345B2 (ja) | 1997-09-09 | 1997-09-09 | 通信制御方法及び装置及び通信システム |
JP244430/97 | 1997-09-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1219705A CN1219705A (zh) | 1999-06-16 |
CN1179277C true CN1179277C (zh) | 2004-12-08 |
Family
ID=17118548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB981191320A Expired - Fee Related CN1179277C (zh) | 1997-09-09 | 1998-09-09 | 通信控制方法和装置及通信*** |
Country Status (7)
Country | Link |
---|---|
US (3) | US6452693B1 (zh) |
EP (2) | EP1280064B1 (zh) |
JP (1) | JP4086345B2 (zh) |
KR (1) | KR100297219B1 (zh) |
CN (1) | CN1179277C (zh) |
CA (1) | CA2246830C (zh) |
DE (2) | DE69813976T2 (zh) |
Families Citing this family (28)
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 | キヤノン株式会社 | 通信制御方法及び機器 |
JP3365377B2 (ja) * | 1999-08-12 | 2003-01-08 | セイコーエプソン株式会社 | ログイン装置、被ログイン装置、及び装置間通信システム、ログイン制御方法、並びに記録媒体 |
EP1358563A1 (en) * | 2001-01-31 | 2003-11-05 | International Business Machines Corporation | Method and apparatus for controlling flow of data between data processing systems via a memory |
CA2432387A1 (en) * | 2001-01-31 | 2002-08-08 | International Business Machines Corporation | Method and apparatus for controlling flow of data between data processing systems via a memory |
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 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 제어 방법 |
JP5601041B2 (ja) * | 2009-07-23 | 2014-10-08 | セイコーエプソン株式会社 | 記録システム、及び、記録システムにおける通信制御方法 |
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 (zh) | 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 |
KR102521873B1 (ko) | 2021-07-30 | 2023-04-13 | 소프트기어 가부시키가이샤 | 정보 처리 프로그램, 정보 처리 장치, 및 정보 처리 방법 |
US20230409239A1 (en) * | 2022-06-21 | 2023-12-21 | Micron Technology, Inc. | Efficient command fetching in a memory sub-system |
Family Cites Families (12)
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 |
-
1997
- 1997-09-09 JP JP24443097A patent/JP4086345B2/ja not_active Expired - Fee Related
-
1998
- 1998-09-04 EP EP02079458A patent/EP1280064B1/en not_active Expired - Lifetime
- 1998-09-04 EP EP98307152A patent/EP0902371B1/en not_active Expired - Lifetime
- 1998-09-04 DE DE69813976T patent/DE69813976T2/de not_active Expired - Lifetime
- 1998-09-04 DE DE69839783T patent/DE69839783D1/de not_active Expired - Lifetime
- 1998-09-08 US US09/148,472 patent/US6452693B1/en not_active Expired - Lifetime
- 1998-09-08 CA CA002246830A patent/CA2246830C/en not_active Expired - Fee Related
- 1998-09-09 CN CNB981191320A patent/CN1179277C/zh not_active Expired - Fee Related
- 1998-09-09 KR KR1019980037116A patent/KR100297219B1/ko not_active IP Right Cessation
-
2002
- 2002-07-15 US US10/194,202 patent/US6927873B2/en not_active Expired - Lifetime
-
2005
- 2005-05-09 US US11/124,266 patent/US7296095B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1280064A3 (en) | 2004-10-20 |
US20050200895A1 (en) | 2005-09-15 |
DE69813976D1 (de) | 2003-06-05 |
KR19990029655A (ko) | 1999-04-26 |
CN1219705A (zh) | 1999-06-16 |
DE69813976T2 (de) | 2003-12-11 |
EP0902371B1 (en) | 2003-05-02 |
US6927873B2 (en) | 2005-08-09 |
US6452693B1 (en) | 2002-09-17 |
EP1280064B1 (en) | 2008-07-23 |
DE69839783D1 (de) | 2008-09-04 |
EP1280064A2 (en) | 2003-01-29 |
CA2246830C (en) | 2002-07-30 |
US20020171870A1 (en) | 2002-11-21 |
KR100297219B1 (ko) | 2001-10-26 |
CA2246830A1 (en) | 1999-03-09 |
JP4086345B2 (ja) | 2008-05-14 |
EP0902371A1 (en) | 1999-03-17 |
US7296095B2 (en) | 2007-11-13 |
JPH1185662A (ja) | 1999-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1179277C (zh) | 通信控制方法和装置及通信*** | |
CN1179280C (zh) | 通信***及其方法,发送装置及其方法 | |
CN1201240C (zh) | 打印控制设备和方法 | |
CN1612122A (zh) | 服务供给设备、服务供给程序、记录介质和服务供给方法 | |
CN1271503C (zh) | 信息处理装置、打印***、信息处理装置的打印控制方法 | |
CN1126343C (zh) | 数据通信方法、设备和*** | |
CN1154935C (zh) | 设备控制装置及设备判断方法 | |
CN1266587C (zh) | 打印数据处理方法 | |
CN1704893A (zh) | 作业处理方法、记录介质、程序和*** | |
CN1591341A (zh) | 用于共享资源的通知 | |
CN1690993A (zh) | 信息处理装置、信息处理方法及随其使用的程序和记录介质 | |
CN1174471A (zh) | 打印机***及其动作控制方法 | |
CN1629871A (zh) | 工作流管理设备及方法 | |
CN1227644A (zh) | 允许对共享资源分布式控制的方法和装置 | |
CN1469251A (zh) | 信息处理装置、信息设备、自动备份方法及数据收发方法 | |
CN1932750A (zh) | 信息处理装置、信息处理方法和程序 | |
CN1788258A (zh) | 用于执行协议转换处理的装置、方法和程序 | |
CN1707468A (zh) | 处理数据的方法和设备、程序及存有可机读程序的存储介质 | |
CN101052083A (zh) | 图像处理器 | |
CN1174354A (zh) | 利用网络的信息分发*** | |
CN1624647A (zh) | 进行负载分散打印的装置和方法 | |
CN1119001C (zh) | 数据发送装置及其方法 | |
CN1301471C (zh) | 数据通信***及其方法 | |
CN1134729C (zh) | 接口装置及其控制方法 | |
CN1212396A (zh) | 数据结构的识别方法和记录介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20041208 Termination date: 20150909 |
|
EXPY | Termination of patent right or utility model |