CN1184787C - 数据通信系统,数据通信方法和数据通信装置 - Google Patents

数据通信系统,数据通信方法和数据通信装置 Download PDF

Info

Publication number
CN1184787C
CN1184787C CNB991056108A CN99105610A CN1184787C CN 1184787 C CN1184787 C CN 1184787C CN B991056108 A CNB991056108 A CN B991056108A CN 99105610 A CN99105610 A CN 99105610A CN 1184787 C CN1184787 C CN 1184787C
Authority
CN
China
Prior art keywords
data
node
destination
controller
source node
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
Application number
CNB991056108A
Other languages
English (en)
Other versions
CN1235462A (zh
Inventor
波多江真一
小林崇史
新井田光央
大西慎二
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
Priority claimed from JP05726898A external-priority patent/JP3862403B2/ja
Priority claimed from JP10111681A external-priority patent/JPH11308255A/ja
Priority claimed from JP11972798A external-priority patent/JP4046846B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN1235462A publication Critical patent/CN1235462A/zh
Application granted granted Critical
Publication of CN1184787C publication Critical patent/CN1184787C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/13Flow control; Congestion control in a LAN segment, e.g. ring or bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/18End to end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]

Abstract

通过逻辑连接源节点与一个或多个目的地节点,并利用连接ID从而识别该逻辑连接关系控制每个节点之间的数据通信来实施通信系统和通信协议。另外,对于使用该逻辑连接关系的数据通信,即使在每个目的地节点的接收容量不同时,通过优化地设定源节点依次传送的每个分组的容量和每个目的地节点的接收缓冲器的容量来实施通信系统和通信协议。

Description

数据通信系统,数据 通信方法和数据通信装置
本发明涉及数据通信系统,数据通信方法和数据通信装置。特别是,本发明涉及在携带与命令数据混合的信息数据(包括图像数据)时能够高速通信的网络。本发明还涉及可应用于该网络的通信协议。
按常规,在个人计算机(下文称之为PC)的外围设备中,最常使用的是硬盘和打印机。这些外围设备通过诸如专供专门设备使用的输入/输出接口之类的数字接口、SCSI(小计算机系统接口)、或一些其它多用接口连接。
同时,近年来,更加注意作为PC外围设备之一的诸如数字照像机、数字摄像机之类的AV(音频/可视)装置。这些AV设备也通过专用于其具体使用的接口与PC连接。
图1是表明由PC和AV设备构成的常规通信系统的示意图。
在图1中,参考标号101表示一个AV设备(在此为数字照像机);102表示一台PC;103表示一台打印机。
对于数字照像机101,参考标号104表示记录压缩后的数字图像的存储器;105是对存储器104上记录的压缩图像数据进行扩展和解码的解码单元;106是图像处理单元;107是D/A转换器;108是由EVF构成的显示单元;109是连接数字照像机101和PC102的专用数字I/O单元。
对于PC102,参考标号110表示连接PC102和数字照像机101的专用数字I/O单元;111表示由键盘、鼠标等构成的操作单元;112是对压缩图像数据扩展和解码的解码单元;113是显示单元114;114是硬盘;115是RAM和其它存储器;116是MPU;117是PCI总线;118是连接PC102和打印机103的SCSI接口。
对于打印机103,参考标号119表示连接打印机103和PC102的SCSI;120是存储器;121是打印机头;122是控制打印机103工作的打印机控制器;123是打印机驱动器。
对于常规通信系统,存在着具有数字照像机101的数字接口(数字I/O单元109)和具有打印机103的数字接口(SCSI接口110)之间的不兼容性,使得不能将它们直接连接。因此,例如,如果希望从数字照像机101向打印机103传送静止图像,在任何环境下需要PC的介入。
另外,特别是当专用接口或SCSI接口应处理由AV设备提供的静止图像或象运动图像之类的大量数据时,在许多其它问题中,存在着下面给出的这些问题。
数据传送速率低。
由于并行通信造成通信电缆较粗。
限定了可连接的外围设备的数量和种类。
限制连接方法。
不能实时进行数据传送。
为了解决这些问题,已知作为更高速和更高性能的下一代数字接口的有IEEE(电气和电子工程师学会)1394-1995标准。
按照IEEE1394-1995标准(下文称之为1394接口)的数字接口有下列特征:
(1)数字传送速度高。
(2)支持实时数据传送(即同步传送方法)和异步传送方法。
(3)连接结构(布局)可具有更高的自由度。
(4)支持即插即用功能和有效线插入和删除动能。
然而,虽然IEEE 1394-1995标准定义了物理和电结构,最基本的两种数据传送方法等,但是未定义有关相对于数据种类、数据格式的发送和接收和根据其进行相应通信的通信协议。
另外,对于IEEE 1394-1995标准的同步传送。未规定对发出分组的响应。因此,不能够保证是否能准确地接收每个同步分组。结果是,如果希望准确地传送多个连续的数据,或如果希望通过将一个文件数据分成多个数据来准确地传送数据,则不能采用同步传送方法。
另外,即使在有空传送频带时,IEEE 1394-1995标准的同步传送方法设定了一个总通信数量为64的限制。结果是,如果希望通过较小的传送频带进行大量通信,则不能采用同步传送方法。
另外,当节点电源接通或断开时,则需要中止数据传送,进行与节点连接/断开相对应的总线复位。然而,按照IEEE1394-1995标准,如果因总线复位或传送误差而中止数据传送,则没有办法了解丢失数据的内容。另外,需要采取极为复杂的程序以恢复一旦中止的传送。
在此,总线复位是指识别新布局并自动设定分配给每个节点的地址(节点ID)的功能。通过该功能,能使IEEE1394-1995标准提供即插即用功能和有效线插入和删除功能。
另外,对于根据IEEE1394-1995标准构成的系统,对实时能力没有要求,但没有做出关于通信协议的具体建议,需要该通信协议通过将目标数据(例如静止图像数据、图形数据、文本数据、程序数据)分成一个要传送的分段数据可靠地执行相当大量的连续传送。
另外,对于基于IEEE1394-1995标准的通信系统,没有关于需要在使用该通信方法的多个设备之间实施数据通信所需的通信协议的具体建议。
本发明的一个目的是解决上述问题。
本发明的另一个目的是提供能连续和可靠地传送目标数据,而不需要实时能力的数据通信系统、数据通信方法和数据通信装置的技巧和技术。
本发明的再一个目的是提供一种能优化设定源节点连续传送的分组的容量和每个目的地节点的接收缓冲器容量的技巧和技术,即使每个目的地节点的接收能力对数据通信系统、数据通信方法和数据通信装置来说是不同。
作为该目的的一个优选实施例,本发明的数据通信系统公开了一种数据通信系统,包括:
一个源节点,用于利用一个或多个目的地节点与源节点之间的逻辑连接关系设定异步传送分成一段或多段的目标数据;和
一个控制器,用于设定源节点与一个或多个目的地节点之间的逻辑连接关系;
其中根据一个或多个目的地节点的接收能力设定分段的大小。
另外,作为另一个实施例,本发明的数据通信系统公开了一种数据通信系统,包括:
一个源节点,用于利用一个或多个目的地节点之间的逻辑连接关系设定广播分成一段或多段的目标数据;和
一个或多个目的地节点,用于利用逻辑连接关系接收从源节点广播的目标数据;
其中根据一个或多个目的地节点的接收能力设定分段的大小。
另外,作为另一个实施例,本发明的数据通信方法公开了一种数据通信方法,包括步骤:
设定源节点与一个或多个目的地节点之间的逻辑连接关系;和
利用该逻辑连接关系异步传送分成一段或多段的目标数据,
其中根据一个或多个目的地节点的接收能力设定分段的大小。
另外,作为另一个实施例,本发明的数据通信方法公开了一种数据通信方法,包括步骤:
利用通过一个或多个目的地节点设定的逻辑连接关系从源节点广播分成一段或多段的目标数据;和
利用该逻辑连接关系接收从源节点广播的目标数据;
其中根据一个或多个目的地节点的接收能力设定分段的大小。
另外,作为另一个实施例,本发明的数据通信方法公开了一种数据通信方法,包括步骤:
设定源节点与一个或多个目的地节点之间的逻辑连接关系;和
设定用于使用该逻辑连接关系异步传送分成一段或多段的目标数据所需的一部分初始设定,
其中根据一个或多个目的地节点的接收能力设定分段的大小。
另外,作为另一个实施例,本发明的数据通信方法公开了一种数据通信方法,包括步骤:
设定源节点与一个或多个目的地节点之间的逻辑连接关系;和
设定用于使用该逻辑连接关系广播分成一段或多段的目标数据所需的一部分初始设定,
其中根据一个或多个目的地节点的接收能力设定分段的大小。
另外,作为另一个实施例,本发明的数据通信装置公开了一种数据通信装置,包括:
用于设定与一个或多个目的地节点的逻辑连接关系的单元;和
用于利用该逻辑连接关系异步传送分成一段或多段的目标数据的单元,
其中根据一个或多个目的地节点的接收能力设定分段的大小。
另外,作为另一个实施例,本发明的数据通信装置公开了一种数据通信装置,包括:
用于设定源节点与一个或多个目的地节点之间的逻辑连接关系的单元;和
用于利用该逻辑连接关系接收异步传送的目标数据的接收单元,该目标数据分成一段或多段,
其中根据一个或多个目的地节点的接收能力设定分段的大小。
另外,作为另一个实施例,本发明的数据通信装置公开了一种数据通信装置,包括:
用于设定与一个或多个目的地节点的逻辑连接关系的单元;和
用于利用该逻辑连接关系广播分成一段或多段的目标数据的单元,
其中根据一个或多个目的地节点的接收能力设定分段的大小。
另外,作为另一个实施例,本发明的数据通信装置公开了一种数据通信装置,包括:
用于设定与源节点的逻辑连接关系的单元;和
用于利用该逻辑连接关系接收目标数据广播的接收单元,该目标数据分成一段或多段,
其中根据一个或多个目的地节点的接收能力设定分段的大小。
另外,作为另一个实施例,本发明的数据通信装置公开了一种数据通信装置,包括:
用于设定源节点与一个或多个目的地节点之间的逻辑连接关系的单元;和
用于利用该逻辑连接关系部分地设定异步传送分成一段或多段的目标数据所需的初始化的单元,
其中根据一个或多个目的地节点的接收能力设定分段的大小。
除上述目的外的本发明其它目的、优点通过参考下面对本发明实施例的描述将变得显而易见。
图1是常规系统的示意图。
图2是根据本实施例通信系统的结构实例的方框图。
图3是说明根据本发明第一实施例的通信协议基本结构的概念的示意图。
图4A和4B是说明根据第一实施例的通信协议的基本通信过程的顺序图。
图5是根据第一实施例的异步广播分组的结构示意图。
图6A和6B是说明每个节点的地址空间的示意图。
图7是根据第一实施例的目标数据传送模型的一个实例的示意图。
图8是根据本实施例的1394接口结构的示意图。
图9是说明多个控制器设定相同连接ID的配置的示意图。
图10是连接设定和释放过程的示意图。
图11是在一个源节点和N个目的地节点之间设定一个连接ID的实例的示意图。
图12是说明当N个目的地节点的接收缓冲器容量相同时传送过程的示意图。
图13是说明当N个目的地节点的接收缓冲器容量不同时传送过程的示意图。
图14是根据第一实施例的目标数据传送模型的另一个实例的示意图。
图15A和15B是根据本发明用于第二实施例的通信分组结构的示意图。
图16是说明根据第二实施例的通信协议的顺序图。
图17是用于第二实施例的命令格式的顺序图。
图18是设定源(SET SOURCE)命令和响应的内容的示意图。
图19是用于第二和第三实施例的响应格式的示意图。
图20是图16所示的设定源命令和响应的内容的示意图。
图21是图16所示的目标发送(OBJECT SEND)命令和响应的内容的示意图。
图22是根据第二实施例由控制器保持的连接管理使用表的示意图。
图23是根据第二实施例的目标数据传送模型的一个实例的示意图。
图24是根据第二实施例的异步广播分组的结构的示意图。
图25是图16所示的接收响应分组结构的示意图。
图26是图16所示清除连接(CLEAR CONNECTION)命令和响应的内容的示意图。
图27是根据第三实施例的通信协议的顺序图。
图28是图27所示的设定目的地命令和响应的内容的示意图。
图29是图27所示的设定源命令和响应的内容的示意图。
图30是根据第三实施例由控制器保持的连接管理表的示意图。
图31是根据本发明第四实施例的目标数据传送模型的一个实例的示意图。
图32是根据第四实施例的通信协议的顺序图。
图33是根据本发明第五实施例的通信协议的基本过程的顺序图。
图34是根据第五实施例的目标数据传送模型的一个实例的示意图。
图35是根据第五实施例的通信协议细节的顺序图。
图36是根据第五实施例的通信过程的流程图。
图37是根据本发明第六实施例的通信协议细节的顺序图。
图38是根据第六实施例的通信过程的流程图。
图39是根据本发明第七实施例的通信协议细节的顺序图。
图40是根据第七实施例的通信过程的流程图。
图41是根据本发明第八实施例的通信协议细节的顺序图。
图42是根据第八实施例的目标数据传送模型的一个实例的示意图。
图43是根据第八实施例的目标数据的传送模型的另一个实例的示意图。
下面参考附图详细描述本发明的优选实施例。
图2是根据本发明的数据通信系统一个结构实例的示意图。如图2所示,该数据通信系统包括一个计算机10;一个与照像机形成整体的数字视频编码器28;和一台打印机60。
首先,描述计算机10的结构。参考标号12表示控制计算机10操作的运算处理单元(MPU);14表示具有基于IEEE1394-1995标准的功能和与由本实施例规定的通信协议有关的功能的1394接口;16表示由键盘、鼠标和其它设备构成的操作单元;18表示对压缩编码数字数据(运动图像数据、静止图像数据、音频数据等)解码的解码器;20表示由CRT显示器、LCD面板等构成的显示单元;22表示记录各种数字数据(例如运动图像数据、静止图像数据、音频数据、图形数据、文本数据、程序数据)的硬盘;24表示内部存储器;26表示连接计算机10内部的每个处理单元的内部总线,例如PCI总线。
现在描述与照像机形成整体的数字视频编码器(下文称之为DVCR)28。在此,参考标号30表示把一个对象的光学图像转换成电信号,并将电信号转换成数字图像的照相(图像拾取)单元(opt);32表示模拟数字(A/D)转换器;34表示把数字运动图像和静止图像转换成规定格式的数字图像数据的图像处理单元;36表示对压缩编码的数字数据(运动图像数据、静止图像数据、音频数据等)提供解码功能和对数字图像数据提供高效编码功能(例如在用象MPEG方法或DV方法对规定图像的每个单元正交转换后将其量化,以使它们具有可变长度编码)的压缩/扩展处理单元;38表示为高效编码的数字图像数据提供存储的存储器;40表示临时存储未高效编码的数字图像数据的存储器;42表示数据选择器;44表示提供有基于IEEE1394-1995标准的功能和与由本实施例规定的通信协议有关的功能的1394接口;46和48表示控制向存储器38和40写入和从其读出的存储器控制器;50表示控制DVCR28的操作的控制单元(系统控制器),该单元设置有一个微计算机;52表示由遥控器、操作面板等构成的操作单元;54表示电子取景器(EVF);56表示D/A转换器;58表示由诸如磁带、磁盘、磁光盘之类的记录介质构成的记录和再现单元,该单元记录和再现各种数字数据(运动图像数据、静止图像数据,视频数据等)。
现在描述打印机60的结构。参考标号62表示具有基于IEEE1394-1995标准的功能和与本实施例规定的通信协议有关的功能的1394接口;64表示数据选择器;66表示由操作按钮、触摸面板等构成的操作单元;68表示控制打印机60操作的打印机控制器;70表示解码器;72表示内部存储器;74表示对通过1394接口接收的静止图像数据、文本数据、图形数据等数据进行处理的图像处理单元;76表示驱动器;78表示打印机头。
如图2所示,诸如计算机10、DVCR28和打印机60之类的每个通信装置(下文称之为节点)通过1394接口14、44和62相互连接(下文中将通过1394接口构成的网络称为1394串行总线)。每个节点可通过定义专用的通信协议来传送各种目标数据(例如运动图像数据、静止图像数据、音频数据、图形数据、文本数据、程序数据等),另外,可根据命令数据进行遥控。对于本实施例,通过采用异步传送方法定义通信协议。
现在结合图2描述构成本实施例的通信系统的每个节点的操作。
首先,描述构成计算机10的每个处理单元的功能和操作。
根据本实施例,计算机10作为控制例如DVCR28和打印机60之间的图像数据发送和接收的控制器,或作为对DVCR28和打印机60进行遥控的控制器操作。
MPU12执行硬盘22上记录的软件。与此同时,将各种数据传送到内部存储器24。另外,MPU12在与内部总线26连接的每个处理单元之间双重地操作干预。
1394接口14接收传送到1394串行总线的图像数据。同时,可把硬盘22或内部存储器24中记录的图像数据发送到1394串行总线。另外,1394接口14可在1394串行总线上传输命令数据,以便对某些其它节点进行遥控。另外,1394接口14配备有向某些其它节点传送已通过1394串行总线传送的信号的功能。
用户通过操作单元16选择希望的软件,以使MPU12执行硬盘22上记录的软件。在此,利用显示单元20提供该软件的信息。解码器18通过该软件对从1394串行总线接收的图像数据解码。通过显示单元20为用户提供解码的图像数据。
现在描述构成DVCR28的每个处理单元的功能和操作。
根据本发明,DVCR28作为根据本实施例的通信协议异步传送图像数据的图像传送装置(源节点)工作。
摄影单元30把目标的光学图像转换成包含亮度信号(Y)和色差信号(C)的电信号。然后,该单元把该电信号提供给A/D转换器32。A/D转换器32将该电信号数字化。
图像处理单元34对数字化的亮度和色差信号执行具体处理。同时,使它们复接。压缩/扩展处理单元36可使用单独的压缩电路与数字化亮度和色差信号的处理并行地压缩数据,或使用可共用的压缩处理电路按时间顺序执行这些处理。
另外,压缩/扩展处理单元36对压缩图像数据进行混合处理以经受传送路径误差。这样,可将代码中的连续错误(即突发错误)改变成更容易校正或内插的散射差错(即随机差错)。在此,如果希望使因图像表面上的疏或密造成的信息偏移量平均,应在压缩处理前执行该处理步骤。然后,当采用可变长度编码,例如行程长度时,可获得良好结果。
压缩/扩展处理单元36把数字识别信息(ID)加到压缩的图像数据,以存储其排(shuffling)。压缩/扩展处理单元36把纠错码(ECC)加到压缩的图像数据,以便在再现时减少发生的错误。
把压缩/扩展处理单元36中压缩的图像数据提供给存储器38和记录与再现单元58。记录与再现单元58把带有加入的ID和ECC的压缩图像数据记录在磁带或某些其它记录介质上。在此,压缩的图像数据记录在与记录音频数据的区域不同的独立区域上。
另一方面,对从图像处理单元34提供给D/A转换器56的图像数据进行D/A转换。EVF54显示从D/A转换器56提供的模拟图像信号。另外,图像处理单元34中处理的图像数据提供给存储器40。在此,把未压缩的图像数据存储在存储器40中。
数据选择器42根据来自用户的指令选择存储器38或存储器40,以便把压缩的图像数据或非压缩图像数据提供给1394接口44。另外,数据选择器42把从1394接口44提供的图像数据提供给存储器38或存储器40。
1394接口44根据下文将描述的本发明的通信协议异步地传送压缩图像数据或非压缩图像数据。另外,1394接口44通过串行总线接收控制命令以控制DVCR28。所接收的控制命令通过数据选择器42提供给控制单元50。1394接口44返回对上述控制命令的响应。
现在描述构成打印机60的每个处理单元的功能和操作。
根据本实施例,打印机60根据本实施例的通信协议作为例如通过接收异步传送的图像数据打印的图像接收装置(目的地节点)工作。
1394接口62通过1394串行总线接收异步传送的图像数据和控制命令。另外,1394接口62发送对控制命令的响应。
把所接收的图像数据通过数据选择器64提供给解码器70。解码器70解码图像数据,把将其结果输出到图像处理单元74。图像处理单元74把解码的图像数据暂时存储在存储器72中。
另外,图像处理单元74把存储器72中暂时存储的图像数据转换成打印数据并将它们提供给打印机头78。打印机头78按照打印机控制器68的控制进行打印。
另一方面,把所接收的控制命令通过数据选择器64输入到打印机控制器68。打印机控制器68按照控制数据进行各种打印控制。例如,打印机控制器通过驱动器76控制输送纸张、打印头78的位置等。
现在结合图8详细描述根据本实施例的1394接口14、44和62的结构。
1394接口由多层(分级配置)功能性地构成。在图8中,1394接口通过通信电缆801根据IEEE1394-1995标准与其它节点的1394接口连接。另外,1394接口设置有一个或多个通信端口802,每个通信端口802与硬件单元中包含的物理层803连接。
在图8中,硬件单元包括物理层803和链路层804。物理层803进行物理和电接口以及其它节点的总线复位和与其有关的处理的检测;输入和输出信号的编码和解码;和某些其它总线中总线可用性的插入。另外,链路层804产生通信分组;发送和接收各种通信分组;和在某些其它部件中控制定时器的周期。另外,链路层804提供后面将描述的异步广播分组的产生和其发送和接收功能。
另外,在图8中,固件单元包含事务处理层805和串行总线管理806。事务处理层805管理异步传送方法,并提供各种事务处理(读取、写入和锁定)。另外,事务处理层805提供异步广播事务处理功能。串行总线管理806提供控制自身节点的功能,以便管理自身节点的连接状态;根据下文描述的IEEE1212 CSR规则管理串行总线网络资源。
图8所示的硬件单元和固件单元是主要构成1394接口的那些单元。其基本结构由IEEE1394-1995标准规定。
另外,软件单元中包含的应用层807依据所使用的应用软件而不同,并控制目前可应用的目标数据的传送。
下文将描述的本实施例的通信协议扩展了构成1394接口的硬件单元和固件单元的功能,并为软件单元提供了新规定的传送过程。
第一实施例:
现在结合图3描述本实施例规定的通信协议的基本结构。
图3中,参考标号300表示控制器;302表示源节点;304表示n个目的地节点,其中(n≥1);306表示源节点的子单元;308表示目标数据,例如静止图像数据、图形数据、文本数据、文件数据、程序数据。
参考标号310表示由具体的目的地位移#0指定的目的地节点内部的第一存储空间;312是表示源节点302和目的地节点304之间的逻辑连接关系的第一连接。在此,目的地位移是指可共用指定(共同)的由n个目的地节点304保持的存储空间的地址。
参考标号314表示由具体目的地位移#n指定的目的地节点304内部的第n个存储空间;316是表示源节点302和目的地节点304之间的逻辑连接关系的第n个连接。
根据本实施例,每个节点根据IEEE1212 CSR(控制和状态寄存器构造)规则(或ISO/IEC13213:1994规则)利用64位地址空间管理第一存储空间310至第n个存储空间314。IEEE1212 CSR规则是规定用于串行总线的控制、管理和地址分配的规则。
图6A和6B是说明由每个节点保持的地址空间的示意图。图6A是按64位地址提供的逻辑存储空间。图6B示出图6A所示的一部分存储空间,例如,是高位16比特变为FFFF16的空间。图3所示的第一存储空间310至第n个存储空间314使用图6B所示的一部分存储空间。由表示对应地址的低位48比特表示的目的地位移指定每个存储空间310至314。
在图6B中,地址00000000000016至0000000003FF16是预留区。实际写入目标数据308的区域是具有其低位48比特变为FFFFF000040016等的地址的那些数据。
图3中,源节点302是指具有根据下文描述的通信协议传送目标数据308的功能的节点。目的地节点304是指具有从源节点304接收所传送的目标数据308的功能的节点。另外,控制器300是指具有设定源节点302与一个或多个目的地节点304之间的逻辑连接关系(即相互连接)的功能并根据下文描述的通信协议对其进行管理的节点。
在此,控制器300、源节点302和目的地节点304可作为各自独立节点。另外,控制器300和源节点302可作为同一个节点。另外,控制器300和目的地节点304可作为同一个节点。这种情况下,不需要控制器300与源节点302之间或控制器300与目的地节点304之间的事务处理。于是,该范围内得到的通信过程变得更简单。
对于本实施例,描述控制器300、源节点302和目的地节点304分别作为单个节点排列的情况。例如,配备有1394接口14的计算机10作为控制器300。另外,配备有1394接口44的DVCR作为源节点302。而配备有1394接口62的打印机60作为目的地节点304。
对于本实施例,如图3所示,可设定源节点302与一个或多个目的地节点304之间的一个或多个连接。当请求特定数据传送时,由一个或多个控制器300根据下文描述的通信协议设定这些连接。
根据本实施例,可设定可用于一个连接的一个或多个目的地位移。该目的地位移的值可以是预定值或由控制器300或源节点302可变地设定的值。在这方面,根据下文描述的通信协议定义该连接与目的地位移之间的关系。
当为一个连接设定多个目的地位移时,可利用一个连接实现多种模式的数据通信。例如,如果把不同的目的地位移分配给数据通信的每种模式,则可利用一个连接同时实现一对一、一对N、或N对N的数据通信。
在此,根据本实施例,作为控制器300的计算机10可起到目的地节点304的作用。这种情况下,设定一个源节点302与两个目的地节点304之间的连接,以便据此传送目标数据308。
另外,对于本实施例,描述计算机10作为控制器300工作,但不需要计算机10变为控制器300的情况。DVCR28或打印机60可起到控制器300的作用。
现在描述根据本实施例规定的通信协议的基本传送过程。
图4A是说明利用控制器300设定的连接传送一个目标数据过程的顺序图。图4B是说明一个目标数据的传送期间发生总线复位或传送错误过程的顺序图。
根据本实施例的通信协议,在特定控制器300已设定连接后,通过一个或多个″异步广播事务处理″传送一个目标数据。结合图4A和4B描述异步广播事务处理的详细通信过程。另外,结合图5描述用于异步广播事务处理的分组(下文称之为异步广播分组)。
在这方面,异步广播事务处理和异步广播分组是由本实施例的通信协议规定的全新的通信过程和分组格式。
下面结合图4A描述根据本实施例的通信协议的基本传送过程。
控制器300设定连接ID,以识别源节点302与一个或多个目的地节点304之间的逻辑连接关系(即相互连接)。然后,控制器300通知每个节点的连接ID和其自身的全球唯一(World wide unique)ID,从而建立一个连接(图4A中的401和402)。
通知连接ID后,控制器300指令源节点302开始传送目标数据308(图4A中的403)。
接收到指令后开始传送,源节点302与一个或多个目的地节点304进行协商,以进行异步广播事务处理的初始设定(图4A中的404和405)。
初始设定完成后,源节点302执行异步广播事务处理,以便依次广播由一个或多个分段数据构成的目标数据308(图4A中的406和409)。
在此,结合图7描述根据本实施例的目标数据的传送模型。在图7中,目标数据是例如数据容量为128字节的静止图像的数据。
源节点302根据每个目的地节点304的接收容量把目标数据308分成例如500段分段数据(每段256字节)。在此,由源节点302根据每个目的地节点304的内部缓冲器的容量可变地定义一个分段数据的数据容量。图7示出保证内部缓冲器与目标数据308的数据容量相同容量的情况。
另外,源节点302利用至少一个异步广播事务处理传送一个或多个分段数据。在图7中,利用异步广播事务处理传送一个分段数据。
完成所有分段数据的传送之后,源节点302终止与一个或多个目的地节点304的通信(图4A中的410和411)。
现在结合图4A描述控制器300的工作。
控制器300向源节点302和用户选择的一个或多个目的地节点304异步地传送该分组(下文称之为连接设定分组),以设定连接(图4A中的401和402)。在该分组的有效荷载中,存储了控制器300的连接ID和全球唯一ID。
然后,控制器300向源节点302异步传送发送分组(事务处理命令分组)(图4A的403)。
已接收发送命令分组的源节点302利用控制器300通知的连接ID和全球唯一ID开始该设定,并执行异步广播事务处理(图4A中的404)。通过该异步广播事务处理可使源节点302依次传送由一个或多个分段数据构成的目标数据308。
在此,根据本实施例的通信协议,控制器300提供用于管理进行连接和释放的功能。因此,一旦建立了连接,由源节点302和目的地节点304之间的协商来执行目标数据308的传送。
完成一系列异步广播事务处理后,源节点302广播表示分段结束的异步广播分组(下文称之为分段结束分组)(图4A中的410)。
从源节点302接收完分段结束分组之后,控制器300释放该连接并终止数据传送(图4A中的411)。
在此,由于广播了分段结束分组的内容,可由目的地节点304检测该分组的内容。因此,可安排该结构,以便由目的地节点304本身,而不是由控制器300释放与源节点302的连接。
现在结合图4A详细描述源节点的操作。
通过从控制器300接收连接设定分组和发送命令分组,源节点302发出异步广播分组,以此请求到每个目的地节点304的数据传送(下文称之为发送请求分组)(在图4A的404)。
在此,发送请求分组是一个请求分组,以便在执行前获得目标数据308的异步广播事务处理中的开始设定所需的初始信息。在该分组中,写入由控制器300指定的连接ID和控制器300的全球唯一ID。
目的地节点304广播表示对发送请求分组的响应的异步广播分组(下文称之为确认请求分组)(图4A中的405)。在此,在确认响应分组中,存储着与发送请求分组中相同的连接ID和全球唯一ID。因此,通过确认接收分组的连接ID和全球唯一ID,源节点302可识别已通过其传送确认响应分组的连接。
在此,在确认响应分组中,可由每个目的地节点304获取内部缓冲器的容量和指定具体存储空间的位移地址。接收到确认响应分组后,源节点302设定可共用地指定每个目的地节点304的存储空间的目的地位移,并初始化异步广播事务处理。在此,利用确认响应分组中包含的位移地址设定目的地位移。
在这方面,根据本实施例,利用确认响应分组中包含的位移地址设定用于异步广播事务处理的目的地位移。然而,本发明不限于此,例如,可向控制器300指定管理用于每个连接的目的地位移的功能。然后安排该结构,以便在设定连接ID的同时设定目的地位移。这种情况下,控制器300通知与每个连接对应的目的地位移的源节点。
然后,源节点302把第一异步广播分组写入上述目的地位移指示的存储空间中(图4A中的406)。在该分组中存储连接ID、全球唯一ID和分段数据的序号。
发送第一同步广播分组后,源节点302等待来自目的地节点304的响应分组。具有连接ID、全球唯一ID和其中存储的序号的响应分组以异步广播分组的形式发出。接收到该响应分组后,源节点302将序号递增,并传送包含下一个分段数据的异步广播分组(图4A中的407)。
源节点302重复该过程以连续执行异步广播事务处理(图4A中的409)。预定对来自目的地节点304的响应的最大等待时间。如果超过该时间后没有响应,使用同一个序号再次传送相同数据。
另外,如果应从目的地节点304传送请求再次发送的响应分组,源节点302可再次广播指定的序号的数据。
完成所有目标数据的异步广播事务处理后,源节点302广播分段结束分组以终止数据传送(图4A中的410和411)。
在此,如上所述,源节点302根据需要把目标数据308分成一个或多个分段数据。当对每个分段数据进行异步广播事务处理时产生上述响应分组。每个异步广播事务处理执行一个分段数据传送。目的地节点304配备有具有由上述缓冲器容量指定的容量的缓冲器。
在此,根据上述实施例,做出规定以便应在一个分段数据的每个异步广播事务处理发出响应分组。然而,本发明不必局限于此。可以安排该结构,以使目的地节点304在为目的地节点304提供的数据缓冲器已填满多个连续的分段数据后发送响应分组。
现在结合图4A详细描述目的地节点304的操作。
从控制器300接收连接设定分组后,目的地节点304等待来自源节点302的发送请求分组(图4A的404)。
通过接收发送请求分组,目的地节点304确认写入该分组的连接ID和全球唯一ID,以便识别该分组是否是来自源节点302的分组。
从源节点302接收发送请求分组后,每个目的地节点304广播具有连接ID和全球唯一ID的确认响应分组,可保证的内部缓冲器的容量和指定其上的具体存储空间的位移地址(图4A中的405)。
在存储空间上写入从源节点302传送的异步广播分组之后,目的地节点304确认该分组的连接ID和全球唯一ID。如果其连接ID和全球唯一ID与控制器300设定的值一致,则广播响应分组(包含连接ID、全球唯一ID、接收分组中包含的序号)(图4A中的406至409)。这种情况下,接收分组中包含的分段数据存储在内部缓冲器上。在此,如果接收分组包含的连接ID和全球唯一ID与为其自身设定的连接ID和全球唯一ID不同,目的地节点304则放弃接收的分组。
另外,当目的地节点304检测到接收分组的序号不一致时,可以再次发出请求分组传送的响应分组。这种情况下,目的地节点304向源节点302通知应进行请求传送的序号。
完成所有的异步广播事务处理后,源节点302广播分段结束分组。接收到该分组时,目的地节点304终止数据传送处理(图4A中的410)。
接收分段结束分组之后,目的地节点304广播表示分段结束分组正常接收的响应分组(图4A中的411)。
如上所述,本发明的通信系统能够解决现有通信系统中遇到的不便的问题。另外,在不需要实时数字传送能力的情况下,能以更快的速度容易地传送数据。
另外,根据本实施例,一旦控制器300建立了连接,在源节点300和每个目的地节点304之间执行目标数据的传送处理,而不需要来自控制器300的任何控制。这样,减少了控制器300的负荷。因而可提供更简单的通信协议而不经过复杂的通信过程。
另外,根据本实施例,构成目的地节点304在任何情况下返回其对每个异步广播事务处理的响应。这样,能够提供可靠进行数据传送而不需要实时能力的通信协议。
为了实现更可靠的数据传送,即使在因可能发生的总线复位或任何其它传送误差造成数据传送停止时,需要迅速恢复数据传送而不完全丢失数据。现在结合图4B描述由本实施例的通信协议规定的恢复过程。
例如,如果在已接收序号为i的异步广播分组后发生总线复位,每个节点中止传送处理,并根据IEEE1394-1995标准规定的程序执行总线初始化,识别连接结构,节点ID和一些其它内容(图4B中的420和421)。
完成总线重构后,每个目的地节点304广播具有连接ID、全球唯一ID和存储在其中的序号i的恢复请求分组(重发请求分组)(图4B中的422)。
如果能够恢复异步广播事务处理,源节点302确认所接收的重发请求分组的连接ID、全球唯一ID,然后,广播把它们存储在其中的确认响应分组(图4B中的423)。
此后,源节点302在重发请求分组请求的序号后不断地依次广播分段数据,即以序号(i+1)开始的分段数据(图4B中的424)。
根据前面描述的程序,控制器300、源节点302和目的地节点304可方便和可靠地恢复数据传送,即使在其通路上的数据传送中止后也不检验每个节点Id。
另外,如前所述,即使数据传送中止,本实施例在使控制器300的控制程序更简单方面有效。
现在结合图5描述本实施例规定的异步广播分组的结构。异步广播分组是具有例如以1Quadlet(4字节=32比特)作为其单位的数据分组。
首先,描述分组标题521的结构。
图5中,字段501(16比特)表明表示接收方的节点(即目的地节点304)ID的目的地ID。
在此,根据IEEE1394-1995标准,高位10比特表示目的地总线ID(即识别一个网络内总线的数量),低位6比特指示目的地物理ID(即识别一条总线内节点的数量)。在此,如果高位10比特是″3FFh″,表示到作为其接收方的局部总线的传送。如果是″0h″到″3FFh″,表示到作为其接收方的特定总线的传送。
另外,如果低位6比特是″3Fh″,表示广播分组传送。如果是″0h″至″3Eh″,表示到作为其接收方的特定总线的传送。根据本实施例的通信协议,定义该字段的值使ID用于广播(即″FFFF16″),以便实现目标数据308的异步广播事务处理。
字段502(6比特)表示事务处理标记(t1)字段,并作为每个事务处理的固有标识符。
字段503(2比特)表示重试(rt)码,并指定该分组是否进行重试。
字段504(4比特)表示事务处理码(tcode)。tcode指定分组的格式和应执行的事物处理类型。根据本实施例,该字段的值定义为例如″00012″,并请求将该分组的数据块522写入由目的地位移字段507指示的存储空间的处理(即请求写入事务处理)。
字段505(4比特)表示优先权(pri),并指定优先权等级。根据本实施例,该字段的值是″00012″。
字段506(16比特)表示源ID,并指示发送侧的节点ID(即源节点302)。
字段507(48比特)表示目的地位移,并可共用地指定为每个目的地节点304提供的地址空间的低位48比特。在此,对于目的地位移,可以指定所有连接的相同值或每个连接的不同值。然而,由于多个连接可并行处理异步广播分组,如果指定不同值更有效。
字段508(16比特)表示数据长度,并如后面所述的,指定每字节单元的数据字段的长度。
字段509(16比特)表示扩展tcode。根据本实施例,该字段的值定义为″00002″。
字段510(32比特)表示标题CRC,并存储上述字段501至509的检错码。
现在描述数据块522的结构。根据本发明,数据块522包括标题信息523和数据字段524。
标题信息523包含连接ID,以识别每个节点之间的逻辑连接关系(即相互连接)。在此,标题信息523的结构依据使用目的而不同。
另外,数据字段524是具有可变长度并存储上述分段数据的字段。在此,如果数据字段524中存储的分段数据不是多个Quadlet,″0″是Quadlet中未填入的部分中的分组。
字段511(2Quadlet,16比特)表示分配给控制器300的全球唯一ID。本实施例的1394接口通过该全球唯一ID识别已设定源节点302和目的地节点304之间的连接的控制器300。在这方面,全球唯一ID基于IEEE1394-1995标准,并且该ID是每个节点固有的。
另外,根据本实施例,全球唯一ID用作识别设定每个连接的控制器的信息。然而,本发明不限于此。只要该信息可具体识别每个节点,即可采用某些其它信息,甚至不会被上述总线复位等改变。
字段512(16比特)表示连接ID,并存储本实施例的连接ID。本实施例的1394接口根据该字段上存储的ID识别源节点302与一个或多个目的地节点304之间的连接设定。对于本实施例,一个控制器可建立216×(节点数)个连接。这样,变为可设定多个连接,直到每个连接使用的通信频带之和达到传送路径的最大容量。
另外,根据本实施例,1394接口利用上述全球唯一ID和和连接ID识别一个特定源节点302与一个或多个目的地节点304中间的绝对连接设定。因此,变成多个控制器300可为两个不同的逻辑连接关系设定相同的连接ID。换句话说,每个控制器可设定其自身的连接并对其进行管理,而不需对另一个控制器设定的连接ID给予任何特别关注。
字段513(8比特)表示协议类型,并根据标题信息523指示通信过程(即通信协议的种类)。在指示本实施例的通信协议时,该字段的值变为例如″0116″。
字段514(8比特)表示控制标记,并设定控制本实施例的通信协议的通信过程的具体控制数据。根据本实施例,把该字段最高有效位分配给例如重发请求标记。因此,如果该字段的最高有效位变为值″1″,则表明根据本实施例的通信协议做出恢复请求(重发请求)。
字段515(16比特)表示序号,并根据具体的连接ID(字段512指定的连接ID)设定应传送的分组的连续值(即序号)。目的地节点304通过这些序号能够监测异步广播事务处理处理的顺序分段数据的连续性。如果出现任何不一致,目的地节点304可根据这些序号请求重发。
字段516表示重新确认号。在该实施例中,该字段仅当重发请求标记变为值″1″时有意义。例如,当重发请求标记的值是值″1″时,把需要重发的分组序号设定到该字段。
字段517(16比特)表示缓冲器容量。在该字段上,设定目的地节点304的缓冲器容量。
字段518(48比特)表示位移地址。在该字段,存储为目的地节点304提供的地址空间的低位48比特。这样,如图3所示,指定第一存储空间310至第n个存储空间314之一。
字段519(32比特)表示数据CRC。在该字段,存储检错码供标题信息523(字段511至518)和数据字段524使用,如在上述标题CRC中。
现在结合图9详细描述由分别在网络上设定一和相同连接ID的两个控制器形成的建立。在图9中,控制器A300设置有即使在发生总线复位等时也不改变的节点唯一ID901。在此,ID901是按IEEE1394-1995标准规定的全球唯一ID,其值是例如″1″。
同样,在图9中,正如在控制器A300中的情况,控制器B300’设置有即使在发生总线复位等时也不改变的节点唯一ID902。在此,假设该ID902是按IEEE1394-1995标准规定的全球唯一ID,但其值例如设定为″4″。
通过这样设定全球唯一ID,控制器A和B中的每一个控制器可在相同或不同源节点302与目的地节点304之间建立相同连接。在图9中,把每个连接ID设定为例如″0″。
在这方面,当控制器A和B设定相同连接ID时,不需要在控制器A和B之间进行协商,以便不使连接ID重叠。
对于连接的建立,每个控制器A和B向源节点302和目的地节点304通知其连接ID和唯一ID901。然后,源节点302和目的地节点304可分别识别连接和已建立连接的控制器。
现在结合图10详细描述设定和释放由控制器300设定的连接的过程,从而补充结合图4A和4B的描述。
(1)首先,控制器300询问(quire)有关N(N≥1)个目的地节点304中每一个节点的最大有效负载容量,即每个目的地节点304可允许每个异步广播事务处理的max_rec容量,同时通知每一个目的地的控制器300设定的唯一连接ID。每个目的地节点304通知来自控制器300的每个命令的每个max_rec容量,并返回已设定该连接ID的响应(图10中的1001)。
(2)然后,控制器300通知源节点302的连接ID,通过该连接ID识别控制器已设定的连接;控制器300的全球唯一ID;由该连接逻辑连接的目的地节点304的总数N;源节点302传送的异步广播分组的有效负载的容量(图10的1002)。在此,从控制器300通知给源节点302的有效负载的容量是每个目的地节点304的max_rec容量中最小的max_rec。
源节点302从来自控制器300的有效负载容量减去图5所示的标题信息523的容量(有效负载中设定的固定数据容量的标题)。然后,把该相减结果作为一个分段的数据容量,以便如上所述对目标数据308分段。
另外,在这方面,已描述了源节点302计算一个分段数据容量的情况,但控制器300可计算该容量并将其结果通知给源节点302。此后,源节点302返回该响应,以指示来自控制器300的每个命令的每个设定。
(3)控制器300在源节点302保持的目标数据中为将进行的发送选择一个目标数据308(图10的1003)。源节点302向控制器300返回该响应以指示所希望目标308的选择。在此,所选择的目标308可以是静止图像或运动图像,另外,也可以是文本数据或二进制数据。
(4)已识别源节点302准备根据从源节点302接收的响应发送目标数据308后,控制器300向源节点302发送命令以命令目标数据308传送的初始化(即事务处理)(图10中的1004)。
(5)源节点302从控制器300接收到事务处理命令时,开始发送所选的目标数据308(图10中的1005)。在此,如前所述,目标数据308由一个或多个异步广播事务处理传送到N个目的地节点304。
(6)完成目标数据308的发送后,控制器300释放源目标308(图10的1006)。
(7)此时,控制器300进一步询问源节点302是否存在任何某些其它目标的发送请求。如果肯定,重复上述步骤(3)至(6)。
(8)当所有目标的发送完成时,控制器300释放预先已设定的唯一连接(图10中的1007和1008)。
现在结合图11描述一个控制器300在网络上的一个源节点302与N个目的地节点304之间设定一个连接ID的结构。在此,假设识别每个节点之间连接的唯一连接ID是FFFFh。在这方面,该值可以是某个其它值。
这种情况下,控制300相对于每个目的地节点304采用图10所示的步骤(1),并最终将其重复N次。
现在结合图12描述通过图11所示网络结构进行的通信过程,每个目的地节点304设置有相同容量的接收缓冲器,目标308的数据容量与上述缓冲器的相同。在此,为简化描述,假设目的地节点304的数量为N=3。在图12中,源节点302根据图10所示的过程识别有三个与相同连接ID连接的目的地节点(图12的1201)。
(1)当从控制器300向源节点302发送事务处理命令时,源节点302根据结合图4A描述的过程广播连接请求分组(图12中的1202)。
(2)当三个目的地节点304中的每一个节点完成接收的相应准备时,在加上其自身的接收缓冲器容量和其它信息后返回确认响应分组(图12中的1203)。
(3)确认三个确认响应分组的返回后,源节点302根据确认响应分组的接收缓冲器容量将目标数据308分段成每个具体的有效负载容量,并依次广播直到每个目的地节点304的缓冲器容量(图12中的1204)。
(4)在完成所有目标数据308的发送的最后分段数据上,源节点302设定表示分段结束的分段结束标记并发送(图12中1205)。
(5)当每个目的地节点304已接收分段结束分组时,返回分段结束接收响应,以表明完成了所有目标数据308的接收(图12中的1206)。
(6)在确认从所有目的地节点304返回分段结束接收响应后,控制器300和源节点302识别目标数据308的传送完成。
在此,可用与如图7所示相同的方式表示结合图12描述的目标数据的传送模型。
现在结合图13详细描述具有各自分别设置有不同容量接收缓冲器的三个目的地节点304的网络的通信过程。在这方面,为了简化描述,假设目的地节点304的数量为N=3。在图14中,控制器300已通知源节点302有三个与相同连接ID连接的目的地。
(1)当从控制器300向源节点发送事务处理命令时,源节点302根据结合图4A描述的过程广播连接请求分组(图13中的1301)。
(2)当三个目的地节点304中的每一个节点完成了相应的接收准备时,在把其自身接收缓冲器容量添加到其它信息后返回确认响应分组(图13中的1302)。
(3)确认三个确认响应分组返回后,源节点302根据确认响应分组的接收缓冲器容量将目标数据308分段成每个具体的有效负载容量,并依次广播多达三个目的地节点304的最小接收缓冲器容量(图13中的1303)。
(4)在已从具有最小接收缓冲器(图13中的目的地#1)的目的地节点304接收到接收响应分组后,源节点302依次继续广播直到下一个较大接收缓冲器容量,并等待来自下一个目的地节点304的接收响应分组(图13中的1304)。
(5)在从第二目的地节点304接收到接收响应分组后,源节点302依次继续广播多达下一个较大接收缓冲器容量,并等待来自下一个目的地节点304的接收响应分组(图13中的1305)。
(6)通过重复上面的过程,源节点302广播具有由此设定的分段结束标记的最后分段数据,并等待从每个目的地节点304接收分段结束响应(图13中的1306)。
(7)确认从所有目的地节点304返回分段结束接收响应后,控制器300和源节点302识别完成目标数据308传送(图13中的1307)。
现在结合图14描述图13所示的目标数据传送模型。在这方面,为简化描述,假设目的地节点304的数量为N=2。另外,在图15中,假设源节点302的目标数据308是静止图像,其容量是128字节进行描述。然而,本发明不限于此。数据容量是可变的。另外,目标数据308不限于静止图像,而可以是运动图像、文本、二进制数据等。
源节点302定义一个异步广播分组的有效负载容量为256字节,并将上述目标数据308分成500份。然后,依次广播每个分段数据直到目的地#1的缓冲器容量。在完全填充接收缓冲器后,目的地#1返回接收响应分组。源节点302依次继续广播直到完全填充目的地#2的接收缓冲器。
在此,目的地#2的缓冲器容量是目的地#1的两倍。然而,本发明不限于此。如上所述,目的地#1返回图15中的总共三个发送接收响应。然后,目的地#2最后返回两个发送接收响应。
第二实施例:
如同在第一实施例中,描述有关利用识别由控制器300设定的在源节点302和目的地节点304之间连接的数据实现在源节点302和目的地节点304之间数据传送的通信协议的第二实施例。
另外,对于第二实施例,描述可靠和有效地实施数据传送的通信协议,而与每个目的地节点304的接收缓冲器容量无关,即使多个目的地节点304分别设置有不同容量的接收缓冲器。
下面结合附图,根据本发明的第二实施例描述该通信协议。在这方面,假设第二实施例的通信协议的基本结构与第一实施例的相同。因此,省略对其描述。
现在利用图15A和15B描述用于第二实施例的通信分组。在此使用的通信分组是以例如4字节(32比特,下文称之为一个Quadlet)作为其单位。该通信分组有两种格式,即在目的地方指定节点ID的分组类型(即异步分组)和用信道号码的目的地广播的分组类型(称为异步流)。根据本发明,可以选择两种格式之一作为通过其传送目标数据308的分组。图15A所示的分组格式为指定节点ID的类型。
第一字段1501(16比特)是目的地ID字段,并指示接收侧的节点ID。
下一个字段1502(6比特)是作为固有地给予每个事务处理的标识符的事务处理标记(t1)字段。
下一个字段1503(6比特)是重试码(rt),该分组表示是否重试的请求。
下一个字段1504(4比特)是事务处理码(tcode)。tcode表示分组的格式和应执行的事务处理类型。
对于本实施例,假设该字段的值定义为例如00012。因而需要把该事务处理写入数据块。
下一个字段1505(4比特)是表示优先权等级的优先权(pri)字段。对于本实施例,假设该字段的值定义为00012
下一个字段1506(16比特)是指示发送侧节点ID的源ID。
下一个字段1507(4比特)是表示由目的地节点304保持的64比特的地址空间中低位48比特的目的地位移字段。
下一个字段1508(16比特)是表示数据字段长度的数据长度字段,后面将以字节为单位描述该数据字段。
下一个字段1509(4比特)是扩展tcode字段。当请求把事务处理写入本实施例使用的数据块时,该字段的值为000016
下一个字段1510(32比特)是用于分组标题检错的标题CRC字段。在此,由字段1501至1509构成分组标题。
下一个字段1511是可变长度数据字段。该字段被称为有效负载字段。根据本实施例,如果该字段不是多个quadlet,未用quadlet填充的比特是带有0的分组。
下一个字段1512(32比特)是数据CRC字段。如同在上面的标题CRC字段中,该字段用于对其检错。
图15B以表明信道数量的分组类型示出分组格式(即异步流分组)。
下一个字段1520(16比特)是表示数据文件长度的数据长度字段,后面将以字节为单位描述该数据字段。
下一个字段15021(2比特)是标识符字段。其值为002
下一个字段15022(6比特)是表示该分组的信道号码的信道字段。接收节点利用该信道号码识别该分组。
下一个字段15023(4比特)是事务处理码(tcode)。对于异步流来说为A16
下一个字段15024(4比特)是同步码(sy)。其值由使用该分组的应用确定。
下一个字段15025(32比特)是标题CRC字段。从上面的数据长度字段到sy字段的那些字段被称为分组标题。该字段用于分组标题的检错。
下一个字段1526是可变长度数据字段。该字段被称为有效负载字段。根据本实施例,如果该数据字段不是多个quadlet,未用quadlet填充的比特是带有0的分组。
下一个字段1527(32比特)是数据CRC字段。如同上面的标题CRC字段中,该字段用于数据字段的检错。
现在结合图16描述上述控制器300、源节点302和目的地节点304之间的异步事务处理。对于本实施例,描述在一个源节点和一个目的地节点之间设定连接的情况。
控制器300向用户选择的目的地节点304发送设定目的地命令分组以设定该连接(图16中的1601)。在该分组中,写入写在控制器300的ROM上的node_vendor_id、chip_id_hi、chip_id_lo和分配给该连接的connection_ID的数据。
已组合由每个节点保持的node_vendor_id、chip_id_hi、chip_id_lo的64比特数据被称为全球唯一ID或EUI-64(扩展唯一标识符,64比特),它是该节点固有的。因此,在一个通信系统中没有其它节点具有相同EUI-64。根据本实施例,用EUI-64和connection_ID的组合识别每个连接。下文中,把用于识别连接的数据称为连接识别符数据。
即使在总线上存在多个控制器300时,利用每个控制器的EUI-64和连接ID的组合识别这些连接。因此,每个控制器300可通过管理分配给其自身的连接ID来管理总线上唯一设定的连接。
现在结合图17描述用于本发明第二实施例的命令分组格式的实例。在图15A的数据字段1511中设定在此所示的格式的命令并发送到目的地节点。
在图17中,ctype字段是表明命令种类的字段并表示表1中所示的命令类型。在上述设定目的地命令的情况下,表示该控制。子单元类型(subunit_type)、子单元(subunit)ID字段是表明相对于目的地节点中的特定子单元的命令的字段。操作码、操作数字段是表示实际命令内容的字段。
              表1
  值 命令类型    含义0  控制        控制命令1  状态        询问设备的状态2  询问        询问对命令的支持状态3  通知        确认设备的状态改变
图18示出用于上面的设定目的地命令分组的操作码操作数的实例。对于操作码字段,提供该代码用于表明该分组用于设定与目的地节点304的连接。
对于操作数[0]至操作数[2]、操作数[3]、操作数[4]至操作数[7]的字段,分别设定写在控制器300的ROM上的node_vendor_id、chip_id_hi、chip_id_lo的数据。对于操作数[8],设定由控制器300管理的connection_ID的值。当从控制器300向目的地节点304发送该分组时,为剩余的操作数字段设定伪数据。
已接收上面的SET DESTINAYION命令分组的目的地节点向控制器300发送SET DESTINAYION响应分组(图16中的1602)。
图19示出该响应分组格式的实例。在图15A中表示的数据字段1511中设定在此所示的格式中的响应,并发送到指定节点。
在图19中,响应字段是表明响应种类并表示表2中所示的响应类型的字段。subunit_type、subunit_ID字段是表明相对于指定节点中的特定子单元的命令的字段。操作码、操作数字段是表示实际命令内容的字段。
                    表2
  值 响应类型 含义
  8 不实施 不支持该命令
  9 接受 接受命令
  A16 拒绝 拒绝命令
  F16 中间 以后返回响应
对于第二实施例,如果目的地节点304能设定异步广播事务处理的连接,在响应字段中设定中间(这样,假设在完成通过源节点302的异步广播事务处理时,目的地节点304再次向控制器300发送表示″接受″的响应)。如果不能,设定″拒绝″。操作码和操作数字段是图18所示的格式,在操作码中设定表示SET DESTINAYION响应分组的代码。对于node_vendor_id、chip_id_hi、chip_id_lo和connection_id字段,设定由控制器300指定的值。
在此,如果可设定连接,目的地节点304在max_rec字段中设定目的地节点的max-rec值(即表明可接收的每个异步广播事务处理的数据容量的值),在缓冲器容量(buffer_size)字段中设定可用于接收目标数据308的接收缓冲器的容量。
另外,如果不能设定连接,在max_rec和buffer_size字段中设定与为来自控制器300的控制命令分组设定的伪数据相同的数据。在状态信息(status_info)字段中,设定命令的执行状态。表3示出SET DESTINAYION响应分组的status_info字段的值的实例。如果可设定连接,指示″成功″。如果不能,指示″忙″。
        表3
  值 含义
  0016 成功
  0116 中断
  1116
  1216 串行总线错误
  1316 硬件故障
然后,在图16中,已从目的地节点304接收中间SET DSETINATION响应分组的控制器300发送SET SOURCE命令分组,以便为用户选择的源节点302设定连接(图16中的1603)。
在该分组中,写入为上面的目的地节点30设定的node_vendor_id、chip_id_hi、chip_id_lo和connection_id。该命令分组的格式如图17所示构成,并在ctype字段中设定控制。另外,在图15A中所示的数据字段1511中设定上面格式的命令,并发送到目的地节点。
图20示出上面SET SOURCE命令分组中存储的数据的一个实例。在操作码字段中,设定表示用于设定源节点302的连接的分组的代码。
在操作数[0]至操作数[2]、操作数[3]、操作数[4]至操作数[7]和操作数[8]的字段中,设定为目的地节点304设定的node_vendor_id、chip_id_hi、chip_id_lo和connection_id的数据。
在操作数[9]的max_rec和操作数[10]至操作数[12]的buffer_size中,设定为来自目的地节点304的SET DESTINAYION响应分组设定的max_rec和buffer_size的数据。在操作数[13]的目的地数量(number_of_destination)字段中,设定目的地号码。
在图16所示的流程中,事务处理是例如一对一的,这种情况下,设定1。为操作数[14]的status_info设定伪数据。
已经接收这样的设定源命令分组的源节点302发送设定源响应分组给控制器300(在图16的1604)。图19表示该设定源响应分组的格式。上述格式的分组在图15A的数据字段中设定,并且发送给指定的节点。
根据第二实施例,如果源节点302能够设定异步广播事务处理的连接,则在响应字段设定“接受”。如果不能设定该连接,则设定“拒绝”。在操作码和操作数字段,存储在图20表示的数据。在操作码中,设定指示该设定源响应分组的码,而在node-vender-id,chip-id-hi,chip-id-lo和connection-id字段中,设定由控制器300指定的数据。
当能够设定异步广播事务处理的连接时,源节点302从设定源分组中取出连接识别数据,将它存储在内部缓冲器中。而且,在max-rec和buffer-size字段中,设定在设定源命令分组中已经设定的数据。
虽然本实施例的源节点302能够设定与多个目的地节点304的连接,但是由于为使用异步接收或链路的每个目的地节点304提供的缓冲器的容量,可连接的目的地节点数受限制。因此,源节点302检查设定源命令分组的目的地数量字段的值,并且如果小于可能连接的值,在设定源响应分组的目的地数量字段中设定这样的值。如果检查的值超过这个值,仅仅可连接节点数设定为可执行的值。在状态信息字段中,设定命令执行的实际状态。表4表示设定源响应分组的状态信息字段的值的例子。如果可设定该连接,则指示该“成功”该目的地数量是否小于可连接的节点数。如果超过可连接的节点数,则设定“目的地太多”。如果不能设定该连接,则设定“忙”。
         表4
    值   含义
    0016   成功
    0216   目的地太多
    1116   忙
    1216   串行总线错误
    1316   硬件故障
在图16中,在从源节点302收到设定源响应分组之后,控制器300检查设定源响应分组的状态信息字段,并且如果控制器300确认该“成功”(在图16的1605),发送目标发送命令分组给源节点302。
在这方面,假定源节点302应该发送的目标数据308已经由某个装置(在本实施例中未示出)选择或者例如可能由目标发送命令分组选择。在这个分组中,写入了为前述源节点302设定的node-vender-id,chip-id-hi,chip-id-lo和connection-id。
这个命令分组的格式也在图17中形成,而控制在c类型字段中设定。而且,上述格式的数据在图15A的数据字段1511中设定,并且发送给指定的节点。
图21表示在前述目标发送命令分组中存储的数据的一个例子。在操作码字段中,设定该码以便命令开始源节点302选择的目标数据的传输。
在操作数[0]至操作数[2]、操作数[3]、操作数[4]至操作数[7]、操作数[8]的字段中,设定为源节点302设定的node-vender-id,chip-id-hi,chip-id-lo,和connection-id的数据。在操作数[9]的子功能字段中,设定由这个命令分组命令的实际操作的码。这个码的一个例子示于表5中。当应该指定目标数据308传送的开始时,设定该发送。而且,在操作数[10]的状态信息中设定伪数据。
                          表5
子功能 动作
发送 0016 执行正常操作
异常中断 0216 执行“异常中断命令”操作
在收到目标发送命令分组后,源节点302发送目标发送响应分组给控制器300(在图16的1606)。目标发送响应分组的格式如图19那样形成。而且,上述格式的响应数据在图15A的数据字段中设定,并且发送到指定的控制器300。源节点302检查目标发送命令分组的连接设定。如果该连接与为它自己设定的连接一致和目标数据308的传输的开始是可能的,在响应字段中设定中间(以这种方式,假定在与目的地节点304的异步广播事务处理完成时源节点302再发送指示“接受”的响应给控制器300)。否则,设定“拒绝”。
在操作码和操作数字段中,存储图21表示的数据。在操作码中,设定指示目标发送响应分组的码。在node-vender-id,chip-id-hi,chip-id-lo,connection-id和服从(subjection)中,设定在目标发送命令分组中由控制器300设定的数据。
在状态信息字段中,设定该命令的执行状态。表6表示目标发送响应分组的状态信息字段值的例子。如果目标数据的传送是可能的,设定“成功”。否则设定该数据相应于使它不能开始传输的理由。
          表6
  值   含义
  0016   成功
  0116   中断
  1116   忙
  1216   串行总线错误
  1316   硬件故障
  1416   不知道连接id
如上所述,通过执行图16所示的过程1601至1606,能够设定控制器300,目的地节点和源节点302之间的逻辑连接关系,即互连。在此之后,使用这个连接开始目标数据308的异步广播事务处理。
每个设定目的地,设定源和目标发送数据分别使用在图15A用于接收节点目的地ID字段中指定的节点ID的分组。然后,从每个节点进行传输。控制器300装备用于连接id管理的表,以便管理用于为它自己设定的连接的连接id。例如,如图22所示的,它装备存储对应于连接id,max-rec和缓冲器容量的标记寄存器的缓冲器,并且在使用的连接id标记中设定目前使用的比特。因此,保持max-rec和缓冲器容量的值。控制器300检查这个标记寄存器,然后分配未使用的连接id,以便一次设定多个连接。
现在进行叙述目标数据308的事务处理,这是在源节点302和目的地节点304之间执行的。
如图23所示的,假定例如源节点302选择128字节的静止图象作为要传送的目标数据,和每个目的地节点304装备用于32字节数据接收的缓冲器。而且,假定每个目的地节点304能够接收每个事务处理的512字节异步分组,即,max-rec=512字节。
在这种情况下,通过在max-rec中设定512字节和在上述设定目的地的缓冲器容量中设定32千字节的数据,目的地节点304发送响应给控制器300。控制器300通过使用设定源命令把该数据通知源节点302。
源节点302把选择的目标数据308分段为段数据,其数量不超过max-rec的值(根据本实施例,假定一个段数据具有256字节)。然后,每段顺序地传送到目的地节点304。在图23中,目标数据308分别以相同大小分段。
如在图16表示的流程中所示的,源节点302顺序地传送每个段单元的目标数据308。在这里,异步广播事务处理分别使用图15A和15B所示的格式的分组。当使用图15A所示的异步广播分组时,在目的地id字段1501中设定广播或多播使用的ID,而不是指示特定目的地节点的节点ID。
根据本实施例,虽然进行广播ID“FFFF16”和多播ID“FFDF16”,在目的地id字段1501中设定它们之一的分组用于目标数据308的传送。
而且,当使用图15B所示的格式的异步流分组时,在信道字段1522中设定由特定节点管理的信道号,而不是指示特定目的地节点304的节点ID。在这种情况下,在传送目标数据308之前,控制器300通知源节点302和上述信道号的目的地节点304。源节点302和目的地节点304使用具有为目标数据的传送设定的这个信道号的分组。
之后,将描述使用图15A表示的分组格式的例子。
图24表示分段的目标数据308的传输分组格式的例子。这个格式的数据是在图15A的数据字段1511中设定的并且从源节点302发送的。在图24中,识别由控制器300设定的连接的数据是在node-vender-id,chip-id-hi,chip-id-lo和连接id中设定的。在控制标记字段中,设定表示这个数据分组类型的信息。表7表示在源节点302中设定的控制标记字段的值。
        表7
  值   含义
  0016   正常数据
  0116   缓冲器结束
  0216   目标结束
在顺序号字段中,设定由这个分组发送的分段数据的运行号。在分段目标数据的部分中,设定分段目标数据的一个段数据。而且当使用图15B所示的分组时,同样也在数据字段1526中设定图24所示的格式的数据。
首先,叙述源节点302的操作。
源节点302计数已经发送的分段数据的总长度,并且顺序地传送该分段的数据直到由控制器300使用设定源命令已经通知的目的地节点304的缓冲器容量(在图16的1607)。
在这种情况下,在控制标记字段中设定正常数据。当发送数据的总长度达到不超过目的地节点304的缓冲器容量的合适容量时,在该分组的控制标记字段已经设定缓冲器结束之后发送该数据(在图16的1608)。
对于图23的例子,当发送其总长度变得与目的地节点304的缓冲器容量一样的段(顺序号127)时,在缓冲器结束中设定控制标记。此后,源节点302等待接收响应分组,该分组将从目的地节点304发送(在图16的1609)。
图25表示该接收响应分组格式的例子。在图15A所示的数据字段1511中设定这个格式的数据,并且从目的地节点304发送。
在图25中,识别由控制器300设定的连接的数据是在node-vender-id,chip-id-hi,chip-id-lo和连接id中设定的。控制标记字段中,设定该信息以便指示这个数据分组的类型。表8表示在目的地节点304中设定的控制标记字段的值。
   表8
  值   含义
  1016   接收成功
  1116   重发请求
当控制标记的值是“接收成功”时,设定已经正确接收的数据的顺序号。如果“重发请求”出现,设定希望重发的数据的顺序号。
源节点302接收具有在目的地id中设定的多播ID的异步分组,并且检查在有效负荷中的连接识别符数据。如果是与自己的节点设定的数据一致,检查控制标记的值。如果这个值是“接收成功”,则清除发送分段的数据的总计数。然后,开始数据传输使得该段流动(在图16的1610)。
对于图23中的例子,当发其顺序号为255,383的分段数据时,在缓冲器结束中设定控制标记。同样地,在从目的地节点304收到响应之后重新开始数据传输。
当发送目标数据308的最后数据时,源节点302在目标结束设定控制标记并发送数据(在图16的1611)。如同在缓冲器结束,源节点302同样等待接收响应。如果来自目的地节点304的接收响应的控制标记是“接收成功”,则目标发送响应发送给控制器300(在图16的614)。
这个异步分组与由控制器300在目的地id中设定的节点ID一起发送。在图19所示的响应字段中,设定“接受”,而在图19所示的操作码和操作数[0]至操作数[9]中,在收到目标发送命令之后如在发送给控制器300的中间目标发送响应中那样立即设定相同的数据。
在操作数[10]的状态信息字段中,设定指示数据传输结束状态的码。如果它是正常的结束,设定“成功”。现在叙述每个目的地节点304的操作。
当目的地节点308接收具有在目的地id字段中设定的多播ID的异步分组时,它检查识别在数据字段中的连接的数据,而如果这样的数据是与它自己的数据一致时,它以接收缓冲器的标题地址开始顺序地开始写分段的数据。而且,在这方面,通过检查顺序号字段是能够检测丢失的数据。
利用检查数据分组的控制标记,如果这个值指示正常的数据,则等待下一个数据分组的传输。如果控制标记的值指示缓冲器结束,则已经写在接收缓冲器的数据被复制到其它缓冲器(硬盘等),然后,清除该缓冲器。此后,图25所示格式的响应分组利用多播ID发送(图16中的1609)。
在这时候,在控制标记中设定“接收成功”,并且在顺序号中设定具有设定的缓冲器结束的数据分组的顺序号,对于图23表示的例子中设定127。在接收响应传输之后,目的地节点304等待从源节点302的数据传输的重新开始,并且以接收缓冲器的标题顺序地再开始写分段的数据(在图16中的1610)。对于图23表示的例子,当收到其顺序号为255,383的分段数据时,同样发送接收响应。
当收到其控制标记的值是目标结束的分段数据时,目的地节点304同样接收响应(在图16中的612)。在使用多播ID发送对目标结束的接收响应之后,目的地节点304发送设定目的地响应分组给控制器300(在图16中的1613)。利用在这个设定目的地响应分组的目的地id字段1501中设定控制器300的节点ID进行传输。在这个分组的响应字段中,设定“接受”,和在操作码及操作数[0]至操作数[12]中,与在中间设定目的地响应中相同的数据在收到设定目的地命令之后立即发送给控制器300。
在操作数[13]的状态信息中,设定指示数据传输结束状态的码。在正常结束的情况下,设定“成功”。利用上述的过程,在源节点302和目的地节点304之间完成目标数据308的传送。
在图16中,在已经分别从源节点302和目的地节点304收到目标发送和设定目的地的响应分组之后,控制器300发送清除连接命令分组给源节点302和目的地节点304以便释放连接(图16中的1615和1617)。
这个命令分组如在图17中那样形成,和在C类型字段中设定该控制。而且,这个命令在图15A所示的数据字段1511中设定并且发送给源节点302和目的地节点304。
图26表示在清除连接命令分组的操作码和操作数字段中存储的数据的一个例子。在操作码字段中,设定该码以便指示该连接的分组释放。在操作数[0]至操作数[2],操作数[3],操作数[4]至操作数[7]和操作数[8]的字段中,设定node-vender-id,chip-id-hi,chip-id-lo和连接id,以便识别应该释放的连接。
在操作数[9]中的状态信息,设定该码以便表示连接释放的理由。表9表示当清除命令发送到目的地节点304时状态信息字段的值的例子。
     表9
  值     含义
  0016   传送结束
  0116   传送中断
  1216   串行总线差错
  2016   源忙
  2116   太多目的地
  2216   源差错
  FF16   无信息
而且,表10表示当该清除连接发送给源节点时状态信息字段的值的例子。
          表10
    值     含义
    0016     传送结束
    0116     传送中断
    1216     串行总线差错
    2016     目的地忙
    2216     目的地差错
    FF16     无信息
当数据传送终止时,在源节点302和目的地节点304二者的状态信息字段中设定“传送结束”。
当已经收到清除连接命令的源节点302和目的地节点304清除该数据,以便如果这样的数据与它自己分别设定的数据一致,识别存储在每个节点的内部缓冲器中的连接,和发送分别发送清除连接响应分组给控制器300(图16中的1616和1618)。
响应数据如图19中那样形成,并且当正常进行连接释放时,在响应字段中设定“接受”。而且,在图15中的数据字段1511中设定这个响应,并且发送给控制器300。
图26表示在清除连接响应分组的操作码和操作数字段中存储的数据的一个例子。在操作码字段中,设定该码以便指示该分组是用于连接响应的。在node-vender-id,chip-id-hi,chip-id-lo和连接id的字段中,设定用于识别释放的连接的那些node-vender-id,chip-id-hi,chip-id-lo和连接id。
在状态信息字段中,设定该命令的执行状态。表11表示清除连接响应分组的状态值的例子。当连接正常释放时,设定“成功”。
           表11
    返回值     含义
    0016     成功
    1116     忙
    1216     串行总线差错
    1416     不知道的连接id
从源节点302和目的地节点304接收接受的清除连接响应分组的控制器300清除在释放的连接的连接id标记寄存器中使用的比特。根据上述过程,在源节点302和目的地节点304之间设定的逻辑连接关系被释放,而且完成了传送目标数据308的所有事务处理。
如上所述,通过设定由控制器300鉴别到源节点302和目的地节点304的相同连接,在源节点302和目的地节点304之间设定逻辑逻辑关系(即连接)是可能的。另外,在不使用控制器300,执行源节点302和目的地节点304之间事务处理中目标数据传送处理是可能的。
第三实施例:
现在结合图27进行叙述根据本发明的第三实施例。如在第一和第二实施例中那样,将叙述通过在图3中所示的控制器300,源节点302和目的地节点304之间设定的连接传送目标数据308的过程。
控制器300发送设定目的地命令分组给由用户选择的目的地节点304,以便设定该连接(在图27中的2701)。在这个分组中,写入存储在控制器300的ROM中的node-vender-id,chip-id-hi,chip-id-lo数据和分配给这个连接的连接id。
存储在设定目的地命令分组中的命令如在图17中那样形成,在C类型字段中,设定该控制。并且在图15A所示的数据字段1511中设定这个命令,以及发送给目的地节点304。
图28表示设定目的地命令分组使用的操作码和操作数的例子。在操作码字段中,设定该码以便指示识别为每个目的地节点304设定的连接的数据。
在操作数[0]至操作数[2],操作数[3]和操作数[4]至操作数[7]的字段中,设定在控制器300的ROM中存储的node-vender-id,chip-id-hi和chip-id-lo的数据。
在操作数[8]中,设定由控制器300管理的连接id的值。当控制器300发送这个分组给源节点302时,在其余的操作数中设定伪数据。
在收到设定目的地命令分组之后,目的地节点304发送该设定目的地响应分组给控制器300(在图27中的2702)。存储在设定目的地中的响应如在图19中那样形成,它是在图15A的数据字段1511中设定的,而且发送给控制器300。
在这里,当目的地节点304能够设定异步广播事务处理的连接时,在响应字段中设定中间(以这种方式,当完成与源节点302的异步广播事务处理时,目的地节点304再发送指示“接受”的响应给控制器300)。
而且,该操作码和操作数,如图28所示,在操作码字段中设定指示设定目的地响应分组的码,和在node-vender-id,chip-id-hi和chip-id-lo和连接id中,设定由控制器300指定的数据。而且,在目的地node-vender-id,目的地chip-id-hi和目的地chip-id-lo中,设定写在目的地节点304的ROM中的node-vender-id,chip-id-hi和chip-id-lo。
在这里,能够设定该连接,每个目的地节点304设定在max-rec字段中设定的目的地节点的max-rec值(指示每个异步广播事务处理可接收的数据长度的值),和在缓冲器容量字段中设定接收目标数据308可使用的接收缓冲器容量。在这里,接收缓冲器容量应该是整数倍或者max-rec值的二次方。
而且,如果不能设定该连接,则在max-rec和缓冲器容量中设定与从控制器300在控制命令分组中设定的伪数据一样的数据。在状态信息字段中,设定命令的执行状态。在这里,设定目的地响应分组的状态信息的值与在表3中列举的相同。当可设定连接时,则设定“成功”。如果不能设定时,则设定“忙”。
在图27中,在从目的地节点308收到中间设定目的地响应分组之后,控制器300发送设定源命令分组,用于设定到由用户选择的源节点302的连接(在图27中的2703)。在这个分组中,写入了在前述目的地节点304中设定的node-vender-id,chip-id-hi、chip-id-lo和连接id。
包含在这个命令分组中的命令如在图17中那样形成,并且在C类型字段中设定控制。而且,在图15A的数据字段1511中设定该命令,并且发送到源节点302。
图29表示设定源命令分组的一个例子。在操作码手段中,设定该码以便指示识别该连接的数据设定用于源节点302。
在node-vender-id,chip-id-hi、chip-id-lo和连接id中,设定在每个目的地节点304中设定的node-vender-id,chip-id-hi、chip-id-lo和连接id的数据。在max-rec和缓冲器容量字段中,设定在来自每个目的地节点304的该设定目的地响应分组中设定的max-rec和缓冲器容量的数据。在目的地字段数中,设定目的地的数量。
在图27所示的流程中,例如事务处理是一对一的。因此,在这种情况下,设定1.在node-vender-id,chip-id-hi、chip-id-lo和状态信息中设定伪数据。
在图27中,通过接收该设定源命令分组,源节点302发送设定源响应分组给控制器300(在图27的2704)。包含在设定源响应分组中的响应如在图19中那样形成。而且,在图15A中的数据字段1511设定这个响应,和发送到控制器300。
当源节点302能够设定用于异步广播连接的连接时,在响应字段中设定“接受”。如果不可能,则设定“拒绝”。而且,操作码和操作数,如在图29中所示的,在操作码字段中设定指示该设定源响应分组的数据,而在node-vender-id,chip-id-hi、chip-id-lo和连接id的字段中设定由控制器300指定的数据。
当可能设定用于异步广播事务处理的连接时,源节点302从设定源命令分组取出连接识别码数据并且将它存储在内部缓冲器中。在源node-vender-id,源chip-id-hi和源chip-id-lo的字段中,设定写在源节点302的ROM中的node-vender-id,chip-id-hi和chip-id-lo。
在Max-rec和缓冲器容量字段中,设定在设定源命令分组中设定的数据。根据本实施例,源节点302可设定具有多个目的地节点的连接。但是,由于提供给每个目的地节点304用于接收异步广播等的缓冲器的容量,目的地节点的数量有一个极限。
因此,源节点302检查设定源命令分组的目的地数的值,如果它小于可能连接的数量,则在设定源响应分组中设定该值。如果该值超过这样的连接可允许的数量,只设定可连接的节点的数量。在状态信息字段中,设定命令的执行状态。
设定源响应分组的状态信息的值是与在表4中列举的一样。如果连接是可能的,假定目的地节点的数量小于允许设定的连接的节点数,则设定“成功”。否则,设定“目的地太多”。如果列举的设定是不可能的,则设定“忙”。
在图27中,从源节点302接收该接受设定源响应分组,控制器300检查设定源响应分组的状态信息字段,而如果确认“成功”,则发送目标发送命令分组给源节点302(在图27的1605)。在这方面,目标发送命令的操作与第二实施例一样。因此省略其叙述。
通过执行图27所示的过程,在控制器300、目的地节点304和源节点302之间设定逻辑连接关系(即互连)。然后,使用这个连接,开始目标数据308的异步广播事务处理。
在这方面,设定目的地、设定源、目标发送分组使用相应的分组,这些分组在图15A的目的地ID字段1501中指定接收节点的节点ID。然后,从每个节点进行发送。
控制器300具有连接id的管理表,以便管理用于由它自己的控制器设定的连接的连接id。例如,如图30所示,控制器300具有数据缓冲器,用于存储每个连接id、max-rec、缓冲器容量的标记寄存器,缓冲器容量,目的地节点的数量和目的地节点304及源节点302的EUI-64值。在用于目前在使用的连接的标记寄存器中设定指示“在使用中”的数据,和保持对于这个连接id的每个数据。控制器300检查该标记寄存器,然后,分配未使用的连接id,因此一次设定多个连接和管理它们。
在图27中,在目标发送响应分组传输之后,源节点302开始以与第二实施例相同的方式传送目标数据308。在这里,如图27所示,如果在目的地节点304已经接收数据段#m+1之后发生总线复位,则在总线上的每个节点根据由IEEE1394-1995标准规定的过程执行总线的重构(在图27的2705),以这种方式,复位源节点302和目的地节点304的检索ID。
当完成总线复位时,目的地节点304使用具有在目的地id中设定的多播ID的异步分组(示于图15A),以图25表示的格式发送接收的响应分组。而且,如果以图15A表示的分组格式执行目标数据308的异步广播事务处理,目的地节点304使用在特定信道号的信道字段中存储的分组发送接收响应分组。
在这里,在接收响应分组的node-vender-id,chip-id-hi、chip-id-lo和连接id的字段中,在相应总线复位之前,设定由控制器300设定的node-vender-id,chip-id-hi、chip-id-lo和连接id的值。而且,在控制标记字段中,设定重发请求,和在顺序号字段中,设定该值(在这里为m+2),这是在总线复位已进行之前通过将1加到正常接收的段数据顺序号得到的值。
在总线复位之后,源节点302等待从目的地节点304来的接收响应分组,它已经由“重发请求”设定。在其接收之后,源节点302检查该接收响应分组的node-vender-id,chip-id-hi、chip-id-lo和连接id,如果这些id与复位之前使用的数据一致,重新开始以请求的顺序号的段数据开始的异步广播事务处理。
而且,在总线复位之后,控制器300使用图30表示的连接id管理表,用于源节点302和目的地节点304的管理,并且读出具有相应于目的地id设定的连接的目的地节点304和源节点302的EUI-64值,以及检测由于总线复位而有变化的目的地节点304和源节点302的节点ID。
这个节点ID检测例如使用对于在总线上的所有节点的异步读事务处理通过读出写在该节点的ROM中的EUI-64值执行。
当完成每个节点ID的检测时,控制器300发送设定目的地命令分组给目的地节点304和发送设定源命令分组给源节点302,以便重新开始连接(在图27的2707和2709)。然后,目的地节点304和源节点302发送相应的响应分组给控制器300(在图27的2708和2710)。在这个时候,在每个响应分组的响应字段中设定该中间。
利用上述过程,能够确定地执行数据传送和在出现终止线复位时复位该连接,另外,第一实施例的相同过程可应用到数据的传送和在总线复位之后的连接释放。
如上所述,根据第三实施例,控制器300可设定源节点和目的地节点之间的逻辑连接关系,即使发生总线复位也没有任何改变,因此,使它能够在这种情况下重新开始恰当地数据传送。
第四实施例:
对于第四个叙述,将说明使用源节点302和多个目的地节点304之间的连接进行目标数据308的异步广播事务处理的情况。
在图31中,每个目的地节点304分别具有不同容量的接收缓冲器。目的地#1具有32字节的接收缓冲器。目的地#2具有48字节,而目的地#3具有64字节。而且在图31中,max-rec值为:目的地#1是512字节;目的地#2是1024字节;而目的地#3是1024字节。
现在结合图32,根据本发明的第四实施例叙述传送的过程。
控制器300顺序地发送用于设定该连接的设定目的地命令分组给每个目的地节点304。在这里,命令分组的格式是与在第二实施例中表示的相同。而且,为发送给每个目的地节点304的设定目的地命令分组的node-vender-id,chip-id-hi、chip-id-lo和连接id的字段设定相同的值。
已经接收设定目的地命令分组的每个目的地节点304从该分组设定在内部缓冲器中的连接识别符数据,并且发送设定目的地响应分组给控制器300,如第二实施例那样。
在这时候,目的地#1设定指示在图18中表示的max-rec字段中的512字节的数据,和也指示在缓冲器容量字段中32字节的数据,并且发送指示该中间的响应分组。在这里,响应缓冲器的容量max-rec值的整数倍或二次方。
同样地,目的地#2在max-rec字段中设定指示1024字节的数据,和在缓冲器容量字段中设定指示48字节的数据;目的地#3在max-rec字段中设定指示1024字节的数据,和在缓冲器字段中设定指示54字节的数据,然后,发送指示该中间的响应分组。
在从每个目的地节点304接收中间设定目的地响应分组之后,控制器300发送设定源命令分组给由用户选择的源节点302,以便设定连接。
在这里,设定源命令分组具有与第二实施例一样的格式。在这个分组中,写入为每个目的地节点304设定的node-vender-id,chip-id-hi、chip-id-lo和连接id。而且,在max-rec字段中,设定从每个目的地节点304接收的max-rec值的最小值。
对于本实施例,从目的地节点304接收的max-rec值分别例如是512字节,1024字节和1024字节。因此,控制器300在max-rec字段中设定指示512字节的数据。而且,在缓冲器容量字段中,设定从每个目的地节点304接收的缓冲器值的最小值。根据本实施例,从三个目的地节点304接收的缓冲器容量分别是32字节,48字节和64字节。而且,在目的地数字段中,设定数字3指示目的地数。
已经接收设定源命令分组的源节点302发送设定源响应分组给控制器300。在这里,设定源响应分组的格式是与在第二实施例中表示的一样。而且,在每个字段中设定与第二实施例相同的数据。
在从源节点302接收该接受设定源响应分组之后,控制器300检查来自源节点302的设定源响应分组的状态信息字段,而且如果确认是“成功”,它就发送目标发送命令分组给源节点302。在这方面,目标发送命令的功能和操作与第二实施例相同。因此省略其叙述。
如上所述,通过在控制器300,每个目的地节点304和源节点302之间执行图32所示的过程,在源节点302和多个目的地节点之间设定逻辑连接关系(即互连)。然后,使用这样设定的连接开始目标数据308的异步广播事务处理。
在这方面,使用其接收节点ID在图15A的目的地ID字段中指定的分组,从每个节点发送设定目的地、设定源和目标发送分组。
在图32中,在目标发送响应分组发送之后,源节点302开始以与第二实施例相同的方式传送目标数据308。如在第一实施例中那样,源节点302顺序地传送包含多播ID、连接识别数据和1个段数据的广播分组。每个目的地节点304识别接收分组的连接识别符数据,和如果每个数据与它自己的连接识别数据一致,顺序地在内部接收缓冲器中写在该分组中包含的段数据。
如在第二实施例那样,源节点302计数发送段数据的总长度,和顺序地传送段数据直到该目的地的缓冲器容量,该目的地已从控制器300通知。
在这种情况下,设定每个分组的控制标记字段、正常数据。源节点302在控制标记字段设定缓冲器的未尾,并且如果发送的数据的总长度达到适当的量,该量不超过该目的地的缓冲器容量,则发送该数据。
对于图31所示的例子,当发送该段(段号127)时,在控制标记中设定缓冲器未尾。在这时,总长度变得与该缓冲器容量一样(由设定源命令分组通知)。此后,源节点302等待从每个目的地节点304发送的接收响应分组。
当接收每个广播分组时,每个目的地节点304检查分组中的控制标记。如果检查的值指示正常数据,每个目的地节点304等待直到发送下一个分组为止。如果控制标记只指示缓冲器的未尾,则每个目的地节点304复制写在接收缓冲器中的数据到一些其它的缓冲器(如硬盘),并且清除该缓冲器,和使用多播ID以图25所示的格式发送接收相应分组。在这时,在控制标记字段中设定“接收成功”,并且在顺序号字段中,设定指示该缓冲器的广播分组的顺序号。对于图31所示的例子,设定127。
源节点302发送具有在控制标记字段中设定的缓冲器未尾的段数据,和从每个目的地节点304接收该接收响应分组,然后,开始下一个段数据的传送等等,如在第一实施例中那样。当发送目标数据308的最后段数据时,如在第一实施例中那样,它在控制标记字段中设定目标未尾,并且发送它,因此等待从目的地节点304来的接收响应。
已经接收具有在其中设定的目标未尾的段数据的广播分组的每个目的地节点304以与其它广播分组相同的方式发送接收响应。此后,每个目的地发送设定目的地响应分组给控制器300,如在第二实施例中那样。
而且,在从每个目的地节点304接收目标未尾的接收响应分组之后,源节点302发送目标未尾响应分组给控制器300,如在第二实施例中那样。通过执行上述过程,在源节点302和多个目的地节点304之间完成了目标数据308的异步广播事务处理。
在分别收到指示目标未尾的响应分组和来自源节点302及每个目的地节点304的设定目的地之后,控制器300发送清除连接命令分组给每个目的地节点304和源节点302,以便释放该连接。在这方面,这个清除连接命令与第二实施例所示的格式相同。
每个目的地节点304和已经接收清除连接命令分组的源节点302以与第二实施例所示的相同过程分别释放该连接,然后,发送清除连接响应分组给控制器300。
通过从每个目的地节点304和源节点302接收接受清除连接响应分组,控制器300释放该连接,并且在同时,它清除由连接id标记寄存器使用的比特,如图22所示的。通过执行上述过程,在源节点302和多个目的地节点304之间设定的逻辑连接关系被释放,以便终止使用这个连接的所有事务处理。
而且,根据第四实施例,通过使用图15B所示的分组格式以与第二实施例相同的方式执行目标数据308的事务处理是可能的。
而且,根据第四实施例,每个目的地节点304执行与第三实施例相同的处理,即使在传送目标数据308时发生任何总线复位,因此使它能够重新开始目标数据308的传送。在这种情况下,源节点302从每个目的地节点304接收该接收响应分组,和重新开始从具有最小顺序号加1作为其号码的段数据开始的传送。
如上所述,根据第四实施例,控制器300能够设定源节点和多个目的地节点之间的逻辑连接关系(即互连)。而且,在源节点和多个目的地节点之间仅仅利用广播事务处理而无需控制器300的参与就可以简单地和有效地执行数据传送处理。
而且,即使在每个目的地节点的接收能力不同,也能够执行数据传送,而无需任何复杂的数据传送处理,这使得在考虑该数据应该发送到的多个目的地节点的最低接收能力时也是可执行的。
第五实施例:
现在,根据本发明叙述第五实施例。对于第五实施例,将叙述通信协议,因而控制器300设定源节点302和目的地节点304之间的逻辑连接(即互连),如在第一至第四实施例中那样,并且利用源节点302和目的地节点304之间异步事务处理实现目标数据308的传送。
根据第五实施例,将叙述通信协议,该协议能够在源节点302和目的地节点304之间适当地设定为目的地节点304提供的接收缓冲器的容量。
此后,结合附图,根据本发明的第五实施例叙述通信协议。在这方面,假定第五实施例的通信协议的基本结构是与第一实施例相同,因此省略其叙述。
图33是一个顺序图,说明根据本发明第五实施例的通信协议的基本过程。
在图33中,假定异步传送目标数据308的节点即源节点302是DVCR28。
而且,假定从源节点302接收异步地传送的目标数据308的节点即目的地节点304是打印机60。另外,管理源节点302和目的地节点304之间通信的节点即控制器300假定是计算机10。
根据第五实施例,通信协议由三个阶段构成。第一阶段3304是连接阶段,和控制器300询问目的地节点304关于接收缓冲器容量,以及接收是否可能,和设定目的地节点304等待接收。
而且,控制器300通知它已询问目的地节点304的源节点302有关该接收缓冲器容量,在同时,选择从源节点302异步地传送的目标数据308,因此,设定从该接收缓冲器的传送。这样,在源节点302和目的地节点304之间设定连接。
第二阶段3305是传送阶段,控制器300控制源节点302和目的地节点304,以便异步地传送目标数据308。
第三阶段3306是连接释放阶段,控制器300在它自己的管理下释放目的地节点304的接收缓冲器,而且还在它自己的管理下释放源节点302的发送缓冲器。
图34是说明在从源节点302异步地传送的目标数据308和目的地节点304的接收缓冲器之间的关系的图。从源节点302异步地传送的一个目标数据308被分为一个或几个段3402,它们等于目的地节点304的接收缓冲器的容量,它已从控制器300通知。在这里,每段3402的长度是固定的。一段是由一个或几个固定长度的数据构成的。
每段数据被分组为分组3403(在下面称为异步分组3403),用于异步传送模式,并且顺序地从源节点302传送到目的地节点304。
目的地节点304从源节点302顺序地接收每个异步分组3403,并且中间写在接收缓冲器3404。在一段传送完成之后,目的地节点304将存储在接收缓冲器的数据顺序地写入内部存储器3405。
现在结合图35和36详细地叙述第五实施例的传送阶段。
图35是详细说明根据本发明的第五实施例的传送阶段3305的顺序图。而且,图36是详细说明根据第五实施例的传送阶段3305的过程的流程图。
在步骤S3601,控制器300命令目的地节点304接收以几个通信分组异步传送的特定长度的目标数据308(在图35中的3504)。在这里,目的地节点304从控制器300返回该响应给这个命令。
在步骤S3602,控制器300命令源节点302将目标数据308分段为特定长度的每个段并且在几个通信分组中异步地传送这些段(在图35的3505)。在这里,源节点302从控制器300返回对这个命令的响应。
在步骤S3603,在控制器300的命令之后,源节点302分组一个段为一个或几个异步分组,并且顺序地将它们传送给目的地节点304(在图35的3506)。
在这里,在每个异步分组中,存储指定为目的地节点304提供的接收缓冲器的特定区域的位移地址。例如,在每段的第一异步分组中,存储由控制器300通知的接收缓冲器的标题地址。而且在随后的异步分组中,存储顺序地指定的接收缓冲器的特定区域的位移地址。
在步骤S3604,在异步传送一段部分完成之后,源节点302通知控制器300一段部分传送完成(在图35的3507)。在这里,源节点302等待下一段传送,直到它从控制器300接收该命令为止。
在步骤S3605,目的地节点304也通知控制器300一段接收完成(图35的3508)。
在步骤S3606,目的地节点304还通知控制器300又可保证的接收缓冲器容量,以便接收下段(图35的3509)。在这里,在图6所示的CSR空间的特定区域存储之后,控制器300管理从目的地节点304通知的新的缓冲器容量。
通过执行上述过程,完成一段的传送。
当开始下一段和以后的段的传送时,控制器300、源节点302和目的地节点304应该只重复图35中的过程步骤3504至3509(步骤3607)。在这时,控制器300通知源节点302每完成一段传送从目的地节点304知道的新缓冲器的容量。
如上所述,根据第五实施例,利用每次一段传送的完成控制目的地节点304通知控制器300新缓冲器的容量,因此,适当地设定对应于目的地节点304的接收容量的每段的数据量。
第六实施例:
对于上述第五实施例,已经叙述了通信协议,它控制使目的地节点304能够通知控制器300:对于目标数据308的一段部分的每个接收的该段下一次接收由目的地节点304新获得的接收缓冲器的容量。
对于本发明的第六实施例,将叙述该通信协议,它控制使目的地节点304能够直接通知源节点302对于下一次段接收新获得的接收缓冲器的容量。
如在第五实施例中,第六实施例的通信协议由三阶段构成的,即连接阶段、传送阶段和连接释放阶段。在这里,第六实施例的连接阶段和连接释放阶段可作为第一阶段3304和第三阶段3306执行,它们结合第五实施例叙述。因此,对于第六实施例,将详细地叙述传送阶段3305。
在下面,结合图37和38详细叙述第六实施例。
图37是详细说明根据本发明的第六实施例的传送阶段的顺序图。图38是详细说明根据第六实施例的传送过程的流程图。
在步骤S3801,控制器300命令目的地节点304接收在几个通信分组中异步传送的特定长度的目标数据308(图37的3704)。在这里,目的地节点304返回该响应给来自控制器300的这个命令。
在步骤S3802,控制器300命令源节点302分段该目标数据308为特定长度的每段,并且在几个通信分组中异步地传送该段(图37的3705)。在这里,源节点302返回该响应给来自控制器300的这个命令。
在步骤S3803,从控制器300的命令之后,源节点302分组一段为一个或几个异步分组,并且顺序地传送它们给目的地节点304(图37的3706)。在这里,在每个异步分组中,存储指定提供用于目的地节点304的接收缓冲器的特定区域的位移地址。例如,在每段的第一异步分组中,存储由控制器300通知的接收缓冲器的标题地址。而且,在随后的异步分组中,存储顺序地指定接收缓冲器的特定区域的位移地址。
在步骤S3804,在一段部分的异步传送完成之后,源节点302通知控制器300一段部分的传送完成(图37的3707)。在这里,源节点302等待下一段传送,直到它从控制器300接收该命令。
在步骤S3805,目的地节点304也通知控制器300一段接收完成(图37的3708)。
在步骤S3806,目的地节点304还通知源节点302可以新获得的接收缓冲器的容量,以便接收下一段(图37的3709)。
在步骤S3807,源节点302在图6所示的CSR空间的特定区域存储接收缓冲器的容量,并且在同时,通知控制器300:已经收到接收缓冲器的容量(图37的3710)。利用这个通知,控制器300可能命令开始下一段传送的开始。
通过执行上述过程,完成一段的传送。当开始下一段及以后段的传送时,控制器300、源节点302和目的地节点304应该只重复图37中的过程步骤3704至3710(步骤S3808)。
在这时,源节点302接收从每完成一段传送目的地节点304通知的新接收缓冲器的容量,并且确定根据这样接收的容量接着应该传送的该段的容量。如上所述,根据第六实施例,以每次完成目标数据308的一段传送进行控制,目的地节点304直接地通知源节点302该新缓冲器容量,因此适当地设定对应于目的地节点304的接收能力的每段的数据量。
而且,根据第六实施例,不需要控制器300管理在目标数据308通信期间已经变化的目的地节点304的接收缓冲器的容量。因此,可在源节点302和目的地节点304之间管理该容量。以这种方式,与第五实施例比较,可使控制器300的负荷更小。
第七实施例:
对于第六实施例,已经叙述了通信协议,它控制在控制器300、源节点302和目的地节点304之间设定连接,在同时,使控制器300能够命令开始每一段的传送。
对于本发明的第七实施例,将叙述通信协议,它控制在源节点302和目的地节点304之间每段的传送,而在源节点302和目的地节点304之间已由控制器300设定连接之后无需控制器300的参与。
在下面,叙述第七实施例的通信协议应用在图2所示的通信系统的情况。在这里,对于第七实施例,假定控制器300是计算机;源节点302是DVCR28;而目的地节点304是打印机60。
根据第七实施例,源节点302分段图34所示的一个目标数据(诸如图象数据、音频数据、图形数据和文本数据)为特定长度的每段,然后,作为具有固定长度的一个或多个数据异步地传送该段。
而且,目的地节点304接收从源节点302异步传送的一个或几个异步分组,并且顺序地在接收缓冲器存储包含在每个异步分组中的固定长度的数据。在这里,目的地节点304的接收缓冲器是放置在提供给目的地节点304的CRS(控制与状态寄存器)的空间。
每段被写在由包含在每个异步分组中的位移地址指定的CSR的特定区域中。每次目的地节点304已写在CSR空间的特定区域时,它在内部存储器存储一段部分。
另外,通过命令源节点302和目的地节点304释放缓冲器区域或者除了其它之外,命令源节点302开始传送目标数据308,控制器300管理源节点302和目的地节点304之间的连接。
现在,在下面结合本发明的第七实施例叙述该通信协议。
图39是根据本发明的第七实施例详细说明通信协议的顺序图。图40是根据本发明的第七实施例详细说明通信协议的过程的流程图。
如在第五实施例中的通信协议,第七实施例的通信协议是由三阶段构成的,即连接阶段3304,传送阶段3305和连接释放阶段3306。
首先,叙述连接阶段3304。
在步骤S4001,控制器300设定源节点302和目的地节点304之间的连接,并且命令目的地节点304释放该接收缓冲器和开始目标数据308的接收(图39的3904)。在这里,目的地节点304返回该响应给来自控制器300的这个命令。
在步骤S4002,控制器300命令源节点302释放该发送缓冲器和开始目标数据308的发送(图39的3905)。在这里,源节点302返回该响应给来自控制器300的这个命令。
现在叙述传送阶段3305。
在步骤S4003,源节点302通知目的地节点304该目标数据308的数据长度(图39的3906)。目的地节点304在图6所示的CSR空间的特定区域存储这个数据长度。
在步骤S4004,目的地节点304以1异步分组(即有效负荷长度)传送有关接收缓冲器的容量和可接收数据长度(图39的3907)。源节点302在图6所示的CSR空间的特定区域存储这个接收缓冲器容量和有效负荷长度。
在步骤S4005,源节点302根据接收缓冲器容量和有效负荷长度将目标数据308分段为特定长度的每段,并且分组该段为一个或几个异步分组,因此顺序地传送它们到目的地节点304(图39的3908)。在完成一段传送之后,源节点302等待传送下一段,直到由目的地节点304通知1段的传送完成为止。
在这里,在每个异步分组中,存储了位移地址,该地址指定为目的地节点304提供的接收缓冲器的特定区域。例如,在每段的第一异步分组中,存储由源节点302通知的接收缓冲器的标题地址。而且,在随后的异步分组中,存储顺序地指定接收缓冲器的特定区域的位移地址。
在S4006,在完成一段部分的异步传送之后,目的地节点304通知源节点302该一段部分传送完成(图39的3909)。
在步骤S4007,目的地节点304还通知源节点302可以新获得的接收缓冲器的容量,以便接收下一段(图39的3910)。源节点302在CRS空间的特定区域存储这个接收缓冲器,在同时,根据这个接收缓冲器容量和有效负荷长度设定接着传送的段的长度。
通过执行上述的过程,完成了目标数据308的一段的传送。
当开始下一段和以后备段的传送时,控制器300、源节点302和目的地节点304只应该重复图39中的过程步骤3904至3910(步骤S4008)。在这时,源节点302接收每完成一段传送从目的地节点304通知的新接收缓冲器的容量,并且根据这样接收的容量确定下一次应该传送的段的长度。在完成1个目标数据308传送之后,源节点302通知控制器300该传送完成(图39的3911)。
而且,目的地节点304通知控制器300完成1个目标数据308的接收(图39的3912)。
利用上述过程,完成传送阶段3305。
在连接阶段3306,当由源节点302和目的地节点304通知通信完成时,控制器300释放已在其管理下的目的地节点304的接收缓冲器(图39的3913),而且释放已在其管理下的源节点302的发送缓冲器(图39的3914)。
如上所述,根据第七实施例,利用每完成目标数据308的一段传送进行控制,目的地节点304通知源节点302该新缓冲器容量,因此使它能够适当地设定每段的数据量。
而且,根据第七实施例,不需要控制器300管理在目标数据308传送期间已变化的目的地节点304的接收缓冲器容量。因此,这个容量可在源节点302和目的地节点304之间管理。以这种方式,与第五实施例比较,控制器300的负荷可以更小。
另外,根据第七实施例,在源节点302和目的地节点304之间已设定连接之后,可在源节点302和目的地节点304之间对其执行控制每段长度的设定和每段的传送。因此,与第五和第六实施例比较,能够减少给予控制器300的负荷和通信过程仍然更简单。
第八实施例:
如在上述的第七实施例中那样,将叙述根据本发明的第八实施例,其中控制器300设定源节点302和目的地节点304之间的连接,此后,它控制源节点302和目的地节点304之间每段的传送,而不需要控制器300的参与。
在下面,叙述第八实施例的通信协议应用到图2所示的通信系统的情况。在这里,对于第八实施例,假定控制器300是计算机;源节点302是DVCR28;而目的地节点304是打印机60。
根据第八实施例,源节点302分段图34所示的一个目标数据308(诸如图象数据,音频数据,图形数据和文本数据)为特定长度的每段,然后,作为具有固定长度的一个或几个数据异步地传送这样的段。
而且,目的地节点304接收从源节点302异步地传送的一个或几个异步数据,并且在接收缓冲器中顺序地存储包含每个异步分组的固定长度的数据。在这里,目的地节点304的接收缓冲器是放置在为目的地节点304提供的CSR(控制与状态寄存器)的空间中(示于图6)。
每段写在由包含在每个异步分组中的位移地址指定的CSR的特定区域。目的地节点304在每次它已写在CSR空间的特定区域时,它在内部存储器存储一段部分。
现在,在下面结合图42和43详细叙述为源节点302和目的地节点304提供的缓冲器的结构。
在图42和图43中,源节点302装备一个接收缓冲器,即“源缓冲器1”。在这里,源缓冲器1是放置在为源节点302提供的CSR空间的特定区域中。
而且,在图42和图43中,目的地节点304装备两个接收缓冲器,即“目的地缓冲器1”和“目的地缓冲器2”。在这里,目的地缓冲器1和目的地缓冲器2放置在为目的地节点304提供的CSR空间的特定区域中。
源缓冲器1、目的地缓冲器1和目的地缓冲器2的容量定义如下:
首先,根据第八实施例,目的地缓冲器1和目的地缓冲器2的容量定义如下:
目的地缓冲器2=(max-rec)×N(N=1,2,3…)          …(公式1)
在这里,目的地缓冲器2对应于一段的长度。而且,N是整数,并且它对应于构成一段的段数据的数量。
目的地缓冲器1=(max-rec)                           …(公式2)
在这里,“max-rec”是指根据基于IEEE1394-1995标准的异步写事务处理可接收异步分组的目的地节点304的有效负荷容量的最大值。在这方面,取决于相应的目的地节点304的最大数据传送速度,“max-rec”的容量是不同的。“max-rec”定义如下:
max-rec=4字节×2L             (L=0,1,2,…)      (公式3)
在这里,L是整数。
从式(1)和(2),目的地缓冲器1和目的地缓冲器2之间的关系变为如下:
目的地缓冲器2=(目的地缓冲器1)×N           (N=1,2,3.…)(公式4)
而且,根据第八实施例,源缓冲器1定义如下:
源缓冲器1=4字节×2M       (M=0,1,2,…)         …(公式5)
在式(5)中,源缓冲器1是指可以发送的源节点302的异步分组的有效负荷容量的最大值。在这方面,取决于相应源节点302的最大数据传送速度,源缓冲器1的容量容量是不同的。在这里,M是整数。
从式(3)和(5),max-rec和源缓冲器1之间的关系变为下式(6):
源缓冲器1∶max-rec=2M∶2L                              (公式6)
然后,max-rec为:
max-rec=(2L/2M)×(源缓冲器1)
       =(2(L-M))×源缓冲器1)                           (公式7)
从式(7)和(1),目的地缓冲器2为:
目的地缓冲器2=(源缓冲器1)×(2(L-M))×N                 (公式8)
从式(8),当源节点302发送异步分组时目的地缓冲器2充满,其有效负荷容量是源缓冲器1的[(2(L-M))×N]倍。
利用这样作出的定义,目的地缓冲器2的容量可由源缓冲器1的容量和目的地缓冲器1的容量确定。
例如,在图42中,在源缓冲器1=目的地缓冲器1(=max-rec)的情况下,M=L.在这种情况下,目的地缓冲器2的容量变为N倍的源缓冲器1的容量。结果,利用N值的设定,它变得能够可变地控制每段的长度。
而且,在图42中,在源缓冲器1>目的地缓冲器1(=max-rec)的情况下,M>L.在这种情况下,源节点302设定源缓冲器1的容量等于目的地缓冲器1的容量。以这种方式,目的地缓冲器2的容量变为N倍的源缓冲器1。结果,通过设定N值,能够可变地控制每段的长度。
另外,在图43中,在源缓冲器1<目的地缓冲器1(=max-rec)的情况下,M<L.在这种情况下,目的地节点304设定目的地缓冲器1的容量等于源缓冲器1的容量。以这种方式,目的地缓冲器2的容量变为[(2(L-M)×N]倍源缓冲器1的容量。因此,通过设定M,N和L的值,能够可变地控制每段的长度。
另外,根据第八实施例,控制器300利用对源节点302的命令管理源节点302和目的地节点304之间的连接,和目的地节点304释放缓冲器区域或除了其它的外,命令源节点302开始目标数据308的传送。
现在,在下面根据本发明的第八实施例叙述通信协议。
图41是根据第八实施例详细说明通信协议的顺序图。
如在第五实施例的通信协议中那样,第八实施例的通信协议是由三阶段构成的,即连接阶段,传送阶段和连接释放阶段。
首先,叙述连接阶段3304。
(1)图41所示的过程4104的叙述
控制器300发出应用CTS(命令控制集)命令(图41中所示的“SubUnitAppli Cmd”)给目的地节点304,并且控制用于目的地节点304的子单元,以便准备接收。对于第八实施例,目的地节点304是打印机60。因此,控制器300以CTS命令的形式发出打印命令给用于打印机60的打印机单元。
目的地节点304装备两个接收缓冲器,即图42和图43中所示的目的地缓冲器1和目的地缓冲器2.,已经接收应用CTS命令的目的地节点304初始化目的地缓冲器1和目的地缓冲器2,而且,除了其它的之外,初始化用于子单元的应用存储器。如果子单元准备接收发送,中间响应(图41所示的“SubUnitAppli Resp”)以CTS命令的形式返回到控制器300。
(2)图41所示的过程4105的叙述
然后,控制器300发出应用CTS命令(图41中表示的“SubUnit AppliCmd”)给源节点302和控制为源节点302提供的子单元,准备发送。对于第八实施例,源节点302是DVCR28。因此,控制器300以CTS命令的形式发出重现命令给为DVCR28提供的相机编码器(camcoder)单元。
如图42和图43所示,源节点302装备源缓冲器1。已经接收应用CTS命令的源节点302初始化源缓冲器1。如果子单元准备进行传输,则中间响应(图41中所示的“SubUnit Appli Resp”)以CTS命令的形式返回给控制器300。
现在叙述传送阶段3305。
(3)叙述图41所示的过程4106
已经发送中间响应的源节点302准备存储在子单元的应用存储器中的1个目标数据308的发送,并且通知目的地节点304每个准备的完成。
如果使用基于IEEE1394-1995标准的异步写事务处理通知发送准备完成,则源节点302写“准备好发送”信息,它指示在为目的地节点304提供的特定寄存器上的发送准备完成。在这方面,上述M值是包含在“准备好发送”信息中。
在这里,特定寄存器是在为目的地节点304提供的CSR空间中的特定地址设定的。因此,源节点302使用指定这个特定地址的异步写事务处理写该“准备好发送”信息。
而且,根据第八实施例,已经叙述了该过程,因而在特定寄存器中写该“准备好发送”信息,但是,通过设定这样的标记能够写该标记以便在这样的寄存器的特定字段中指示该“准备好发送”。
(4)叙述图41所示的过程4107
已经发送中间响应和从源节点302接收“准备好发送”信息的目的地节点304在源节点302装备的寄存器中写“准备好发送”信息和有关目的地缓冲器1及2的信息(图41所示的“缓冲器信息”)。
在这里,有关目的地缓冲器1的信息是该目的地的有效负荷的最大值,它可接收该发送和由前述L值和M值设定,而且,它是表示该段数据长度的的信息。而且,有关目的地缓冲器2的信息是指示由前述N值设定的段的长度的信息。在这里,段的长度被设定为N倍的段数据的长度。而且,目的地节点304可根据每段可变地设定N值。
在这里,特定寄存器是在为源节点302提供的CSR空间的特定地址设定的。因此,目的地节点304使用异步写事务处理写这些条信息,指定这样的特定地址。
(5)叙述图41所示的数据传送4108
在从目的地节点304已收到“准备好发送”信息之后,源节点302使用目的地缓冲器1和2分段1个目标数据308为由能够段数据构成的段。
已经在源缓冲器1存储每段之后,源节点302使用异步写事务处理顺序地将它传送。
在这里,每段是连续地写入放置在CSR空间的目的地缓冲器1。写入目的地缓冲器1的段数据在收到下一段数据之前被存储在目的地缓冲器2。执行每段数据的发送,直到由目的地节点304固定的目的地缓冲器2被充满为止。
(6)叙述图41所示的过程4109
在发送N个段数据之后,源节点302发送图41所示的“段结束”信息给目的地节点304。“段结束”信息使用异步写事务处理写在被写入“准备好发送”信息的寄存器。
在这方面,当来自1个目标数据308的所有段完全发送时,源节点302发送图41所示的“数据结束”信息给目的地节点304,即使目的地缓冲器2没有完全被占用。“数据结束”信息使用异步写事务处理被写在写入“准备好发送”信息的寄存器。
(7)叙述图41所示的过程4110
在收到“段结束”信息之后,目的地节点304及其子单元识别1段(由N个固定长度数据构成)的传送完成。
目的地节点304在子单元内的应用存储器区域存储已经存储在目的地缓冲器2的N个段数据。此后,目的地节点304使用异步写事务处理在为源节点302提供的特定寄存器中写入“准备好接收”信息。
通过接收“准备好接收”信息,在下一段的发送准备完成之后,源节点302再执行图41所示的过程步骤4106-4110,并且发送对应目的地缓冲器2部分的数据。
而且,如果收到“数据结束”信息,目的地节点304识别来自1个目标数据308的所有段的发送完成。此后,目的地节点304发送图41所示的“end ofconf”信息给源节点302。“数据结束”信息使用异步写事务处理写在已写入“准备好发送”信息的寄存器。
通过上述过程,完成传送阶段。
现在叙述连接释放阶段3306
(8)叙述图41所示的过程4111
在收到“end of conf”信息之后,源节点302通知控制器300来自1个目标数据308的所有段的发送完成了。这个通知是使用CTS命令的形式的“接受响应”进行的。
(9)叙述图41所示的过程4112
在发送“end of conf”信息之后,目的地节点304通知控制器300来自1个目标数据308的所有段的接收完成了。这个通知是使用CTS命令的形式的“接受响应”进行的。
如上所述,根据第八实施例,定义了源缓冲器1、目的地缓冲器1和目的地缓冲器2之间的关系。然后,目的地节点304能够根据由源节点302通知的M值以及N与L值可变地设定每段的长度。而且,对每段长度的确定进行计算变得容易了。
而且,根据第八实施例,进行控制使目的地节点304能够在每次完成1段数据308的传送完成时通知源节点302新的缓冲器容量。因此,适当地设定每段的数据量变得可能了。
而且,根据第八实施例,如在第七实施例中那样,不需要控制器300管理在传送目标数据308期间已经变化的目的地节点304的接收缓冲器容量。结果,这样的管理在源节点302和目的地节点304之间是可能的,而且与第五实施例比较,该控制器的负荷可以更小。
另外,根据第八实施例,在源节点302和目的地节点304之间已经设定连接之后,可在源节点302和目的地节点304之间控制和执行每段的长度设定及其传送并且执行。因此,如与第五和第六实施例比较,控制器的负荷减小了,使得通信过程更简单。
而且,根据第八实施例,设定每段的长度为它可接收的目的地节点304的有效负荷长度的整数倍。然后,通过管理从源节点302发出的分组数量,能够管理每段的传送和便于控制源节点302的传送。
另外,根据第八实施例,目的地节点304的接收缓冲器的容量被设定为它可接收传输的目的地节点304的有效负荷长度的整数倍。然后,可能利用由目的地节点304有效地固定的接收缓冲器,在同时,便于在每段控制地址被写入。
其它实施例:
对应根据上面的每个实施例叙述的通信协议需要的各种处理操作及其实现,可利用软件实现。
例如,安排该结构,使得在其中存储实现上述每个实施例的功能的编程码的存储介质被提供给构成每个实施例的设备的控制单元(图2中的MPU12,系统控制器50和打印机控制器68)。然后,进行安排使得该控制单元能够读出在存储介质中存储的编程码和控制通信系统或其设备的操作,以便根据编程码实现每个实施例的功能。利用这样的安排,可实现上述的每个实施例。
而且,在其中已存储编程码以实现每个实施例的功能的存储介质提供给为这个设备安排的1394接口14,44和62,然后,可以安排结构,使得控制1394接口14,44和62的操作的控制单元(诸如图8中的串行总线管理806)可控制处理操作,以便根据存储在存储介质的编程码实现每个实施例的功能。
在这种情况下,从存储介质本身读出该编程码实现每个实施例的功能。因此,编程码本身和提供编程码给控制单元(例如存储介质本身)的装置构成本发明。
作为存储这些编程码的存储介质,其中例如有软盘,硬盘,光盘,光磁盘,CD-ROM,磁带,非易失存储卡和ROM。
而且,当编程码从与操作系统OS或操作前述控制单元的各种应用软件等一起合作实现每个实施例的功能的上述存储介质中读出该编程码时,当然包括在本发明中。
另外,在从上述存储介质读出的编程码被存储在为扩展功能的单元提供的存储器中时,该单元是与前述控制单元连接的,为这样的扩展功能的单元提供的控制单元根据这样存储在前述存储器中的编程码部分地或全部地执行实际的操作处理,当然在每个实施例的功能是通过执行这样的过程实现时包括在本发明中。
如上所述,根据每个实施例,能够构成逻辑连接关系,它不取决于实际的连接模式,如由IEEE1394-1995标准形成的总线型网络。
而且,根据上述每个实施例,能够提供完全新的通信协议,其中要求可靠但不是实时能力的相对大量的数据的目标数据(其中诸如静止图象数据,图形数据,文本数据,文件数据和程序数据)可被分段为一个或几个段数据并且根据IEEE1394-1995规定在通信系统中连续地传送。
而且,根据每个实施例,能够提供完全新的通信协议,其中数据通信是使用根据IEEE1394-1995标准在通信系统中异步地广播该数据的通信方法在多个设备之间实现的。
而且,根据每个实施例,能够可靠地传送具有连续性的多个数据,而不使用IEEE1394-1995标准的同步传送方法。而且,能够通过将一个目标数据分段为多个数据可靠地传送它。
而且,根据每个实施例,当由于总线复位或传输差错该数据传送中断时,能够知道丢失的段数据,和重新开始传送,而不采取非常复杂的通信过程。
而且,对于使用逻辑连接关系的数据通信,能够实现该通信系统和通信协议,因而最佳地设定源节点顺序地传送的分组的长度和每个目的地节点的接收缓冲器的容量。
在这方面,本发明可以以其它特定的形式实现而不脱离其精神或基本特征。
例如,已经叙述了通信协议,它可应用于基于IEEE1394-1995标准的网络,但是本发明不必限于此。采用本发明的通信协议可应用到基于IEEE1394-1995标准形成总线型的网络,以及应用到可虚拟地形成总线型网络。
因此,从各方面讲上述实施例仅仅是例子,而不必构成对本发明的限制。
本发明的范围由所附权利要求书的范围定义,而根本不由本说明书的具体叙述限定。此外,属于权利要求的等效物的所有修改和改变被认为是落在本发明的范围内。

Claims (21)

1.一种通信系统,包括:
源装置;以及
一个或多个目的地装置;
其中,所述源装置根据从所述一个或多个目的地装置获得的一个或多个接收能力确定分段大小以便将目标数据分成多个分段数据、根据所确定的分段大小将所述目标数据分成多个分段数据、并通过在所述源装置和所述一个或多个目的地装置之间设置的逻辑连接将所述多个分段数据传送给所述一个或多个目的地装置。
2.根据权利要求1所述的通信系统,其中,所述源装置根据每一个目的地装置中接收缓冲器的容量确定分段大小。
3.根据权利要求1所述的通信系统,其中,所述源装置根据用于传送所述多个分段数据的数据包的最大有效载荷量确定分段大小。
4.根据权利要求1所述的通信系统,其中,所述源装置根据最低接收能力确定分段大小。
5.根据权利要求1至4任一所述的通信系统,其中,每一个分段数据的分段大小是可变的。
6.根据权利要求1至4任一所述的通信系统,其中,所述通信系统符合IEEE 1394-1995标准。
7.根据权利要求1至4任一所述的通信系统,其中,目标数据包括图像数据。
8.一种通信方法,在通信装置中使用,所述通信装置通过在通信装置和一个或多个目的地装置之间设置的逻辑连接将目标数据传送给一个或多个目的地装置,所述方法包括:
确定步骤,根据从所述一个或多个目的地装置获得的一个或多个接收能力确定分段大小以便将目标数据分成多个分段数据;
划分步骤,根据所确定的分段大小将所述目标数据分成多个分段数据;以及
传送步骤,通过所述逻辑连接将所述多个分段数据从通信装置传送给所述一个或多个目的地装置。
9.根据权利要求8所述的通信方法,其中,所述确定步骤根据每一个目的地装置中接收缓冲器的容量确定分段大小。
10.根据权利要求8所述的通信方法,其中,所述确定步骤根据用于传送所述多个分段数据的数据包的最大有效载荷量确定分段大小。
11.根据权利要求8所述的通信方法,其中,所述确定步骤根据最低接收能力确定分段大小。
12.根据权利要求8至11任一所述的通信方法,其中,每一个分段数据的分段大小是可变的。
13.根据权利要求8至11任一所述的通信方法,其中,所述通信方法应用于符合IEEE 1394-1995标准的通信系统中。
14.根据权利要求8至11任一所述的通信方法,其中,目标数据包括图像数据。
15.一种通信装置,通过在所述通信装置和一个或多个目的地装置之间设置的逻辑连接将目标数据传送给所述一个或多个目的地装置,所述通信装置包括:
控制部件,用于根据从所述一个或多个目的地装置获得的一个或多个接收能力确定分段大小以便将目标数据分成多个分段数据、并根据所确定的分段大小将所述目标数据分成多个分段数据;以及
数字接口,用于通过所述逻辑连接将所述多个分段数据传送给所述一个或多个目的地装置。
16.根据权利要求15所述的通信装置,其中,所述控制部件根据每一个目的地装置中接收缓冲器的容量确定分段大小。
17.根据权利要求15所述的通信装置,其中,所述控制部件根据用于传送所述多个分段数据的数据包的最大有效载荷量确定分段大小。
18.根据权利要求15所述的通信装置,其中,所述控制部件根据最低接收能力确定分段大小。
19.根据权利要求15至18任一所述的通信装置,其中,每一个分段数据的分段大小是可变的。
20.根据权利要求15至18任一所述的通信装置,其中,所述通信装置应用于符合IEEE 1394-1995标准的通信系统中。
21.根据权利要求15至18任一所述的通信装置,其中,目标数据包括图像数据。
CNB991056108A 1998-02-24 1999-02-24 数据通信系统,数据通信方法和数据通信装置 Expired - Fee Related CN1184787C (zh)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
JP042656/98 1998-02-24
JP4265698 1998-02-24
JP042656/1998 1998-02-24
JP05726898A JP3862403B2 (ja) 1998-03-09 1998-03-09 データ通信システムおよびデータ通信装置
JP057268/98 1998-03-09
JP057268/1998 1998-03-09
JP111681/1998 1998-04-22
JP111681/98 1998-04-22
JP10111681A JPH11308255A (ja) 1998-04-22 1998-04-22 データ通信システム、方法及び装置並びに記憶媒体
JP119727/1998 1998-04-28
JP11972798A JP4046846B2 (ja) 1998-04-28 1998-04-28 データ通信システム及びデータ通信装置
JP119727/98 1998-04-28

Publications (2)

Publication Number Publication Date
CN1235462A CN1235462A (zh) 1999-11-17
CN1184787C true CN1184787C (zh) 2005-01-12

Family

ID=27461248

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991056108A Expired - Fee Related CN1184787C (zh) 1998-02-24 1999-02-24 数据通信系统,数据通信方法和数据通信装置

Country Status (5)

Country Link
US (1) US7590133B2 (zh)
EP (1) EP0984601A3 (zh)
KR (1) KR100294960B1 (zh)
CN (1) CN1184787C (zh)
MY (1) MY135481A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107409091A (zh) * 2015-03-10 2017-11-28 华为技术有限公司 用于分组交换网络的流量工程馈线

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4366741B2 (ja) * 1998-12-22 2009-11-18 ソニー株式会社 ディジタル放送の受信装置及びディジタル信号処理機器の認識方法
KR100618967B1 (ko) * 1999-07-01 2006-08-31 삼성전자주식회사 디지털 인터페이스 연결 관리 방법
US7042896B1 (en) * 1999-07-26 2006-05-09 Samsung Electronics Co. Ltd. Method for managing a digital interface connection
US7068674B1 (en) * 1999-08-23 2006-06-27 Lg Electronics Inc. Method of controlling connection between nodes in digital interface
US6910090B1 (en) * 1999-09-21 2005-06-21 Sony Corporation Maintaining communications in a bus bridge interconnect
US6542538B2 (en) * 2000-01-10 2003-04-01 Qualcomm Incorporated Method and apparatus for testing wireless communication channels
JP3400772B2 (ja) * 2000-04-25 2003-04-28 松下電器産業株式会社 パケット送受信処理装置
JP2002009781A (ja) * 2000-06-19 2002-01-11 Matsushita Electric Ind Co Ltd 識別番号管理装置、識別番号管理システムおよび識別番号管理方法
TW536883B (en) * 2000-08-04 2003-06-11 Sony Corp Communication control method, communication system and communication device
WO2002023344A2 (en) * 2000-09-15 2002-03-21 Wind River Systems, Inc. System and method for communicating software debug, diagnostic and maintenance information between devices
JP3800158B2 (ja) * 2002-09-27 2006-07-26 ブラザー工業株式会社 データ送信システム、端末装置、及びプログラム
GB2405773B (en) * 2003-09-02 2006-11-08 Siemens Ag A method of controlling provision of audio communication on a network
JP2005176233A (ja) * 2003-12-15 2005-06-30 Canon Inc 通信装置及び通信システム
US7853209B2 (en) * 2004-03-30 2010-12-14 Mitsubishi Denki Kabushiki Kaisha Mobile communication station, base station apparatus, and dedicated-short-range-communications system
US7944819B2 (en) * 2004-10-29 2011-05-17 Texas Instruments Incorporated System and method for transmission and acknowledgment of blocks of data frames in distributed wireless networks
JP4856400B2 (ja) * 2005-07-06 2012-01-18 ルネサスエレクトロニクス株式会社 記憶装置及び情報処理端末
US20070022198A1 (en) * 2005-07-19 2007-01-25 Samsung Electronics Co., Ltd. Method and system for pushing asynchronous notifications to networked devices
CN101110759A (zh) * 2006-07-20 2008-01-23 朗迅科技公司 用于因特网协议电视网络的对等文件下载系统
JP2008078768A (ja) * 2006-09-19 2008-04-03 Denso Corp ネットワークシステム,ネットワークデバイスおよびプログラム
EP2497057A1 (en) * 2009-11-06 2012-09-12 Emue Holdings Pty Ltd A method and a system for validating identifiers
JP5535115B2 (ja) * 2011-03-29 2014-07-02 株式会社日立システムズ マルチスレッド型ファイル入出力システム、及びマルチスレッド型ファイル入出力プログラム
US20120320909A1 (en) * 2011-06-16 2012-12-20 Ziegler Michael L Sending request messages over designated communications channels
US9282019B2 (en) 2013-07-12 2016-03-08 Nicira, Inc. Tracing logical network packets through physical network
US9344349B2 (en) 2013-07-12 2016-05-17 Nicira, Inc. Tracing network packets by a cluster of network controllers
US9407580B2 (en) * 2013-07-12 2016-08-02 Nicira, Inc. Maintaining data stored with a packet
US10469342B2 (en) 2014-10-10 2019-11-05 Nicira, Inc. Logical network traffic analysis
GB2530368B (en) * 2015-06-03 2016-08-10 Bridgeworks Ltd Transmitting data
US10200306B2 (en) 2017-03-07 2019-02-05 Nicira, Inc. Visualization of packet tracing operation results
TWI767997B (zh) * 2017-03-23 2022-06-21 日商索尼半導體解決方案公司 通信裝置、通信方法、程式及通信系統
US10785348B2 (en) * 2017-08-29 2020-09-22 Hewlett Packard Enterprise Development Lp Segment size determination
US10608887B2 (en) 2017-10-06 2020-03-31 Nicira, Inc. Using packet tracing tool to automatically execute packet capture operations
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
US11558426B2 (en) 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster
US11196628B1 (en) 2020-07-29 2021-12-07 Vmware, Inc. Monitoring container clusters
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in container cluster
CN112583923B (zh) * 2020-12-16 2022-08-30 深圳数联天下智能科技有限公司 一种文件传输方法、设备和存储介质
US11736436B2 (en) 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
KR102588452B1 (ko) * 2021-03-05 2023-10-12 주식회사 핀텔 딥러닝 영상 분석을 위한 영상 데이터 전달 시스템 및 그 방법
US11687210B2 (en) 2021-07-05 2023-06-27 Vmware, Inc. Criteria-based expansion of group nodes in a network topology visualization
US11711278B2 (en) 2021-07-24 2023-07-25 Vmware, Inc. Visualization of flow trace operation across multiple sites
US11706109B2 (en) 2021-09-17 2023-07-18 Vmware, Inc. Performance of traffic monitoring actions

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5282207A (en) * 1991-03-28 1994-01-25 Sprint International Communications Corp. Frame compression in integrated services networks
US5379296A (en) * 1992-12-31 1995-01-03 Unisys Corporation Method and apparatus for interfacing a workstation to a plurality of computer platforms
US5450406A (en) * 1993-04-20 1995-09-12 Kabushiki Kaisha Toshiba ATM communication system with high speed connection-less service function
NZ269342A (en) * 1993-06-28 1998-05-27 Bellsouth Corp Mediating message traffic across advanced intelligent network interfaces
US5430719A (en) * 1993-06-28 1995-07-04 Bellsouth Corporation Mediation of open advanced intelligent network interface by shared execution environment
US5701301A (en) 1993-06-28 1997-12-23 Bellsouth Corporation Mediation of open advanced intelligent network in SS7 protocol open access environment
JPH0758806A (ja) 1993-08-17 1995-03-03 Fujitsu Ltd パケット通信システム
JPH0766811A (ja) 1993-08-25 1995-03-10 Toshiba Corp Atmセル化装置およびatmデセル化装置
JP3514793B2 (ja) 1993-09-29 2004-03-31 富士通株式会社 異種伝送路間のコネクションレス通信方式
US5519704A (en) * 1994-04-21 1996-05-21 Cisco Systems, Inc. Reliable transport protocol for internetwork routing
US5689244A (en) * 1994-06-24 1997-11-18 Sony Corporation Communication system and electronic apparatus
JP3246200B2 (ja) 1994-06-24 2002-01-15 ソニー株式会社 データ通信方法及び電子機器
US5583862A (en) * 1995-03-28 1996-12-10 Bay Networks, Inc. Method and apparatus for routing for virtual networks
DE69631182T2 (de) * 1995-04-28 2004-08-19 Matsushita Electric Industrial Co., Ltd., Kadoma Datenübertragungsverfahren
JPH0981334A (ja) 1995-09-19 1997-03-28 Canon Inc 情報処理装置並びに情報処理装置のデータ転送方法
JP3271493B2 (ja) * 1995-09-26 2002-04-02 ヤマハ株式会社 ネットワークおよびデータ伝送方法
JPH0991100A (ja) 1995-09-28 1997-04-04 Tec Corp データ伝送制御装置
JP3618433B2 (ja) 1995-12-18 2005-02-09 株式会社野村総合研究所 データ配布システム
JP2865049B2 (ja) 1996-02-28 1999-03-08 日本電気株式会社 Atmネットワーク通信システム
US6081852A (en) * 1996-04-26 2000-06-27 Texas Instruments Incorporated Packet data transferring system for autonomously operating a DMA by autonomous boot mode select signal wherein the DMA is enabled to at least one program control list
JPH1031484A (ja) 1996-07-15 1998-02-03 Yamaha Corp ネットワークシステム
US6173330B1 (en) * 1996-09-17 2001-01-09 Motorola, Inc. Delivery and acquisition of data segments with optimized inter-arrival time
US5987030A (en) * 1996-09-27 1999-11-16 Cisco Technology, Inc. Transparent circuit emulation for packet switching network
US6185210B1 (en) * 1997-09-30 2001-02-06 Bbn Corporation Virtual circuit management for multi-point delivery in a network system
US6288743B1 (en) * 1997-10-20 2001-09-11 Eastman Kodak Company Electronic camera for processing image segments
US5870412A (en) * 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US7002964B1 (en) * 1998-02-24 2006-02-21 Canon Kabushiki Kaisha Communication system, method for a communication system and controller for a communication system
JP3445532B2 (ja) 1999-06-28 2003-09-08 株式会社東芝 Atm通信システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107409091A (zh) * 2015-03-10 2017-11-28 华为技术有限公司 用于分组交换网络的流量工程馈线
US10491525B2 (en) 2015-03-10 2019-11-26 Huawei Technologies Co., Ltd. Traffic engineering feeder for packet switched networks
CN107409091B (zh) * 2015-03-10 2019-11-29 华为技术有限公司 用于分组交换网络的流量工程馈线

Also Published As

Publication number Publication date
US20030172201A1 (en) 2003-09-11
KR19990072918A (ko) 1999-09-27
EP0984601A3 (en) 2009-06-24
KR100294960B1 (ko) 2001-09-07
CN1235462A (zh) 1999-11-17
EP0984601A2 (en) 2000-03-08
MY135481A (en) 2008-04-30
US7590133B2 (en) 2009-09-15

Similar Documents

Publication Publication Date Title
CN1184787C (zh) 数据通信系统,数据通信方法和数据通信装置
CN1148041C (zh) 网络控制系统及其控制器、目标及消费器
CN1179280C (zh) 通信系统及其方法,发送装置及其方法
CN1238790C (zh) 接收并存储广播内容、响应用户请求使内容成为可利用状态的接收终端装置
CN1302654C (zh) 记录系统及其控制方法
CN1604562A (zh) 通信控制器、主机端控制器、通信设备、通信系统和方法
CN1833230A (zh) 网络音频及视频系统
CN1738219A (zh) 发送接收装置、数据传送系统、发送接收方法及程序
CN1702634A (zh) 便利无环境主机干预下的可分页模式虚拟环境存储管理
CN1156862A (zh) 文件系统
CN1170285A (zh) 多路传输方法和系统及其中采用的声音跳动吸收方法
CN1592259A (zh) 网络用交换装置、路径管理服务器、网络接口装置及其控制方法
CN1933387A (zh) 接收装置、电子设备、通信方法、通信程序以及记录介质
CN1252646C (zh) 图像处理方法和图像处理装置
CN101076852A (zh) 数据结构、信息处理设备、信息处理方法、发送设备、发送方法、多路复用设备、多路复用方法、以及程序
CN1770776A (zh) 传送设备及其控制方法、分布式处理系统、程序和记录介质
CN1444356A (zh) 数据通信方法
CN1301471C (zh) 数据通信系统及其方法
CN1582571A (zh) 电子摄像机
CN1890624A (zh) 电子装置及其控制方法、主机装置及其控制方法
CN1564973A (zh) 信息处理设备、信息处理方法及信息处理程序
CN1132395C (zh) 数据通信系统和数据通信方法
CN1212531A (zh) 信息接收方法和信息接收装置以及媒体
CN1261881C (zh) 信息处理设备和方法
CN1215403C (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: 20050112

Termination date: 20160224

CF01 Termination of patent right due to non-payment of annual fee