CN101366010B - 多优先级报文接发 - Google Patents
多优先级报文接发 Download PDFInfo
- Publication number
- CN101366010B CN101366010B CN2006800479838A CN200680047983A CN101366010B CN 101366010 B CN101366010 B CN 101366010B CN 2006800479838 A CN2006800479838 A CN 2006800479838A CN 200680047983 A CN200680047983 A CN 200680047983A CN 101366010 B CN101366010 B CN 101366010B
- Authority
- CN
- China
- Prior art keywords
- data
- priority data
- priority
- node
- message
- 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.)
- Active
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于传输第一优先级数据和第二优先级数据的方法、系统和计算机程序产品。该第一优先级数据和第二优先级数据被存储在不同的数据缓冲器里,而且该第一优先级数据优先于该第二优先级数据而被传输。
Description
本申请要求2005年12月22日提交的编号为60/753,991的美国临时专利申请的利益,其全部内容作为参考合并于此。
技术领域
本公开涉及信息系统。
背景技术
某些系统在系统组件间传输具有各种重要等级的信息。更重要的信息可以在处理中被给予更高的优先级。例如,在传统的机器人辅助手术系统中,控制和反馈信号一般在处理中被给予更高的优先级。其它的信号类型,诸如常规的系统状态消息,在处理中一般被给予较低的优先级。系统一般适应低优先级信号的延迟。
在机器人辅助手术系统中使用的一个传统通讯系统使用数百个路径(例如电线)以把外科医生的控制台连接到机器人手臂。使用数百个路径允许对每一种信号类型的专用路径,该专用路径在设计时适应特定信号。然而,对数百个路径的使用导致对系统的建造和维护麻烦,而且需要可观的空间来布线所有的路径。
发明内容
在一方面,提供包含可编程处理器和第一数据缓冲器的系统,该可编程处理器可操作为执行指令,该第一数据缓冲器耦连到该可编程处理器。该可编程处理器响应指令,将第一优先级数据传送到第一数据缓冲器。该第一数据缓冲器仅与该第一优先级数据一起使用。第二数据缓冲器与该可编程处理器耦连,而且该可编程处理器响应指令,传送第二优先级数据到该第二数据缓冲器。该第二数据缓冲器仅与第二优先级数据一起使用。该系统也包含数据链路和传输逻辑,该传输逻辑与第一缓冲器和第二缓冲器耦连而且耦连到该数据链路。该传输逻辑依照消息/报文接发协议(massaging protocal)通过数据链路优先于第二优先级数据传输第一优先级数据。
特定的实施方式可包含一个或多于一个下面的特征。第一优先级数据可以含有用来控制机器人手臂的运动的命令,以及第二优先级数据可以包含非关键的状态信息和错误日志信息中的至少一个。第三数据缓冲器可以被耦连到可编程处理器。该可编程处理器可以响应指令,而传送第三优先级数据到第三数据缓冲器,以及该第三数据缓冲器可以仅与第三优先级数据一起使用。第一优先级数据可以是高优先级数据,第二优先级数据可以是低优先级数据,以及第三优先级可以是中优先级数据。
消息接发协议可以要求传输逻辑优先于来自第二数据缓冲器的第二优先级数据,传输来自于第一数据缓冲器的第一优先级数据。消息接发协议可以要求传输逻辑优先于来自第三数据缓冲器的第三优先级数据,传输来自第一数据缓冲器的第一优先级数据。消息接发协议可以要求传输逻辑优先于来自第二数据缓冲器的第二优先级数据,传输来自第三数据缓冲器的第三优先级数据。优先于第二优先级数据传输第一优先级数据可以包含:先于任何可用的第二优先级数据传输任何可用的第一优先级数据。优先于第二优先级数据传输第一优先级数据可以包含:相比于可用的第二优先级数据,分配给可用的第一优先级数据较多的传输时隙(transmit slot)。可编程处理器可以包含传输逻辑。
在另一方面,提供包含产生第一优先级数据和第二优先级数据的方法和计算机程序产品。该第一优先级数据被放置在第一数据缓冲器中,并且第一数据缓冲器仅与第一优先级数据一起使用。该第二优先级数据被放置在第二数据缓冲器中,并且第二数据缓冲器仅与第二优先级数据一起使用。通过数据链路从第一数据缓冲器和第二数据缓冲器传输第一优先级数据和第二优先级数据。第一优先级数据比第二优先级数据优先传输。
特定的实施方式可含有一个或多于一个下面的特征。第三优先级数据可以被生成,其中第一优先级数据是高优先级数据、第二优先级数据是低优先级数据以及第三优先级数据是中优先级数据。第三优先级数据可以被放置在第三数据缓冲器中,并且第三数据缓冲器仅与第三优先级数据一起使用。可以通过数据链路传输来自第三数据缓冲器的第三优先级数据。第一优先级数据可以优先于第三优先级数据而被传输,并且第三优先级数据可以优先于第二优先级数据而被传输。消息接发协议可以被识别,并且优先传输可以包括依照该消息接发协议优先传输。优先于第二优先级数据传输第一优先级数据可以包含:先于任何可用的第二优先级数据传输任何可用的第一优先级数据。优先于第二优先级数据传输第一优先级数据可以包含相比于可用的第二优先级数据,分配较多的传输时隙给可用的第一优先级数据。第一优先级数据可以包含时间-关键消息。第二优先级数据可以包含非关键的状态信息和错误日志信息中的至少一个。
特定的实施方式可以被实施以实现下面优点的一个或多于一个。被分配给不同的优先级层级的多个独立的数据流可以通过使用点对点串行连接在整个系统内被传输。相同的消息接发协议可以被用于系统中具有不同的类型和速度的多个通信链路。
本发明的一个或多于一个实施例的细节将通过附图和下面的描述阐明。本发明的其它的特征、方面和优点从描述、附图和权利要求书中将变得明显。
附图说明
图1A是系统的框图,该系统包含由链路连接的多个节点。
图1B是单个节点的框图。
图1C是在节点处执行的传输过程的流程图。
图2是硬件层级数据包的结构图。
图3是节点间的包传输的时序图。
图4是差错恢复方案的时序图。
图5是差错恢复方案的时序图。
图6是节点处执行的过程的流程图。
图7是消息/报文的结构图。
图8是消息的结构图。
在多个附图中相似的参考数字和命名表示相似的元件。
具体实施方式
描述了一种用于在系统中进行数据消息通信的方法和架构(包含数据结构),该方法和架构允许具有不同优先级的消息/报文通过两个系统节点间的单个的串行通路被传输。节点可包含,例如,计算机、可编程处理器、现场可编程门阵列(FPGA)或其它数据处理装置。可以使用任何合适的链路层传输该数据消息(例如软件消息)。在本申请中,描述在两个节点间传输基本连续的全双工串行数据流的实施方式。该数据消息/报文被分成一个或多于一个段,这些段的每一个在固定长度的硬件层级包中被传输。在本申请中,该数据消息一般被简单地称为“消息/报文”。
不管是否消息数据是否可用来传输,该固定长度的包连续地在两个节点间传输。当没有数据可用来传输时,包的数据字段可被“填充”数据所填充,该“填充”数据可在接收节点处被丢弃。被发送的包包含对先前所接收的包的应答,发送节点会发送第一个包,并且在接收来自接收节点的对该第一个包的应答之前开始发送至少一个后续包。在节点处对包的发送和接收是互锁的,这将在下面进行更详细的阐述。
如图1A所示,通过在串行链路上多路复用数据,来自第一节点11 0的消息数据/报文数据可被发送到多个目标节点,例如,第二节点120、第三节点130和第四节点140。第一节点110和特定的目标节点之间的节点可以路由该数据。第一节点110可以通过第一链路125传输发往第二节点120的数据。第一节点110也可通过第一链路125将发往第三节点1 30的数据传输到第二节点120,第二节点120可以通过第二链路135路由该数据到第三节点130。类似地,第一节点110可以通过第一链路125传输发往第四节点140的数据,第二节点120可以通过第三链路145路由该数据到第四节点140。
在一个实施方式中,在被发送的消息数据中可以控制对目标节点的指定。在该实施方式中,在发送含有部分消息的硬件层级包到目标节点之前,第二节点120一般处理从第一节点110发送的消息的至少一部分。如果第二节点120本身是目标节点,那么该消息无须再进一步被传输。
在一些系统中,第一节点110和第三节点130以及第一节点110和第四节点140之间的通信相对于第三节点130和第四节点140之间的通信发生得更频繁。在这样的系统中,第一链路125相对于第二链路135或第三链路145可以是更高速的链路,以对通过第一链路125传输更大量的数据提供足够的容量。
节点110、120、130和140可包含一个或多于一个硬件数据缓冲器152-164,该硬件数据缓冲器接收消息且一直保存消息,直到在各自的节点上或在与各自的节点通信的数据处理装置上执行的软件准备好接收该消息。该硬件数据缓冲区152-164也可以从与各自的节点关联的软件程序处接收消息并且保存该消息,直到该节点准备好发送该消息。
如图1B所示,节点170的一个实施方式包含消息管理器174、发送/接收逻辑178、发送缓冲器182和接收缓冲器184。该发送缓冲器182和接收缓冲器184的每一个被分为多个部分,这些部分被指定给消息的不同优先级(例如,分别创建不同的发送缓冲器182-1、182-2、182-3和接收缓冲器184-1、184-2、184-3),其将在下文解释。在一个实施方式中,提供多个发送缓冲器182,并为每一个优先级提供一个或多于一个发送缓冲器182的。为了下面讨论的目的,参考含有多个发送缓冲器和接收缓冲器的实施方式。其它的配置是可能的。每个缓冲器可单独地寻址,这样消息管理器174和发送/接收逻辑178可以将字节放置到任何缓冲器中或者从任何缓冲器中读取字节,而不受其它缓冲器影响。
消息管理器1 74可以将消息或部分消息放置到发送缓冲器182-1、181-1和182-3中的任何一个中。在一个实施方式中,消息管理器174将高优先级消息放置在高优先级发送缓冲器182-1中,将中优先级消息放置在中优先级发送缓冲器182-2中,并将低优先级消息放置在低优先级发送缓冲器182-3中。尽管在该例子中示出三个优先级层级,但是更少(例如2个)或更多的优先级层级可以由系统分配和处理。
发送/接收逻辑178依照消息接发协议从发送缓冲器182通过串行链路186发送消息或部分消息。该消息接发协议可以为不同的优先级层级的消息(例如,基于该消息被分配的缓冲器)提供规定的服务质量而在对应的节点间创建通信通道。在一个实施方式中,每个通道具有不同的优先级层级。一旦足够的数据被写入到缓冲器而填满硬件层级包,发送/接收逻辑178可以自动发送部分消息。这就是说,当数据可用时,消息传输可被执行而无须等到整个消息被写入到缓冲器。
可以实施该消息接发协议以提供可选择的(例如用户或其它定义的)服务质量。在一个实施方式中,当具有不同优先级的消息可用于发送时(例如消息存在于高优先级发送缓冲器182-1和中优先级发送缓冲器182-2中时),发送/接收逻辑178优先于其它较低优先级消息发送最高优先级消息或部分消息。例如,发送/接收逻辑178在发送来自中优先级182-2或低优先级182-3的消息或部分消息之前,发送来自高优先级发送缓冲器182-1的消息。类似地,来自中优先级发送缓冲器182-2的消息或部分消息先于存储在低优先级发送缓冲器182-3的消息而被发送。
在另一个实施方式中,发送/接收逻辑178可以实施复用消息的消息接发协议。在该实施方式中,发送/接收逻辑178限定用于在节点间传输的时隙(slot)。该传输时隙可以依照规定的服务质量被填充。例如,在高优先级发送缓冲器182-1中的可用消息或部分消息相比于在中优先级发送缓冲器182-2或低优先级发送缓冲器182-3中的可用的消息或部分消息,可以被分派更多的传输时隙。
在另一个实施方式中,发送/接收逻辑178可以实施以循环方式服务(例如发送)发送缓冲器182中可用的消息或部分消息的消息接发协议,但是,相比于中优先级缓冲器(例如,2个)或低优先级缓冲器(例如,1个),提供更多高优先级发送缓冲器(例如,4个)。
发送/接收逻辑178也从串行链路186处接收消息或部分消息,并且放置该消息或部分消息到接收缓冲器184中的适当的缓冲器中。发送/接收逻辑178使用通过串行链路186(在下面阐述)传输的硬件层级包中的通道指示,来判断给定消息或部分消息所属的优先级层级。在一个实施方式中,发送/接收逻辑178将接收到的消息传给消息管理器174而没有使用接收缓冲器184。在替代性实施方式中,接收到的消息没有根据在接收缓冲器184中的优先级而被分隔。
消息管理器174和发送/接收逻辑178的每一个可以是计算机、可编程处理器、FPGA、引擎或者其它数据处理装置。尽管消息管理器174和发送/接收逻辑178被图解说明为分离的部件,但它们可以被组合为单个部件。发送/接收逻辑178也可以被分为分离的发送或接收逻辑单元。
发送缓冲器182和接收缓冲器184可以是先入先出(FIFO)的数据缓冲器或者可以是带有读和写指针的循环缓冲器。发送缓冲器182和接收缓冲器184的每一个可以在分立的设备(例如,分立的集成电路)上被实施或可以在单个设备的部分上被实施。在一个实施方式中,包含缓冲器在内的节点170的所有的部件被实施在单个FPGA中。
图1C示出用于发送具有不同优先级的消息的过程102。在该示例中,包括三个消息优先级:高优先级消息、中优先级消息和低优先级消息。作为初始步骤,要发送的消息(例如,通过在图1B中的消息管理器174上运行的软件)被识别和分类(步骤190)。根据类型,该消息被放置在相应的发送缓冲器中(步骤192),高优先级消息放置在高优先级发送缓冲器中,中优先级消息放置在中优先级发送缓冲器中,而低优先级消息放置在低优先级发送缓冲器中。识别消息接发协议(例如,发送/接收逻辑178为每个消息类型确定服务质量(步骤193))。然后,依照识别的消息接发协议(例如高优先级消息优先于中优先级消息和低优先级消息被发送(步骤194),以及中优先级消息优先于低优先级消息被发送(步骤196)),该消息(例如,通过发送/接收逻辑178)被发送。消息可以被优先发送的可能的方式在关于发送/接收逻辑178的上下文中被讨论。
如图2所示,一个实施方式的固定长度的包200可包括多个字节201-240。虽然示出的是40字节的包,该固定长度的包可以是其它长度。在示出的实施方式中,控制信息被置于40字节的8个字节中,并且数据被置于剩下的32字节中。第一字节201是同步字段,其可被用于在接收包的节点处保持字节帧结构。附加的同步字节可被周期性地添加到包上(例如每128字节一次),以补偿节点间的时钟漂移。第二字节202是应答字段,其指示发送包200的节点所接收的上一个包是否被正确地接收(例如包括有效差错校验信息)。第二字节202可被设置为用于指示上一个包被正确接收的肯定应答(ACK)的一个值(例如0xAC),以及被设置为用于指示上一个包没有被正确接收(否定应答,或NAK)的相反值(例如0x53)。在一个实施方式中,任何异于该肯定应答值的值都可被解释为否定应答。在该实施方式中,如果NAK值是ACK值的相反值,则需要8位差错来将被传输的NAK转换成为ACK。
第三字节203是响应字段,其含有多个控制位,诸如指示系统处于诊断测试模式的测试模式位,和多个消息通道(例如低优先级、中优先级和高优先级通道)中的每一个消息通道的XOFF位。控制位也可以包含重发位,当其被置位时指示包200是较早的包的重发。一个或多于一个控制位也可以是故障位,其指示在系统中发生了错误。
第四字节204是头字段。头字段可以包含多个子字段,诸如通道选择子字段和命令子字段。所述通道选择子字段用于指示在哪个优先级通道中发送包200中的数据。命令子字段可以包含用于刷新缓冲器和重启消息流的指令。命令子字段可以包含请求通过硬件通道发送的特定数据的指令或识别这种数据的代码。该命令子字段也可以被用来同步系统。例如,在同步循环的开始,可以发送含有同步命令的包,使系统中的子系统保持同步(例如,在10毫秒内)。第五字节205是顺序号字段,其含有可被接收节点用来检测传输差错的硬件层级包顺序号。第六字节206到第37字节237属于数据字段,其包含32字节数据,诸如消息或部分消息。
第38字节238是包结束字段,其可以指定数据字段中对应于消息的字节数量,和填充字节的字节数量。该包结束字段也可以包含消息结束指示位,其在数据字段中的字节结束消息时被置位。该消息结束指示位可以在接收节点处触发中断。第39字节239和第40字节240是差错校验字段的一部分,在一个实施方式中,其可含有16位CRC(循环冗余校验)值(例如使用CCITT 16位CRC算法来计算)。当节点接收包时,该节点可以使用差错校验字段来判断在所述包被发送或被接收时是否发生了错误。
包200的结构允许指示节点中故障的故障反应逻辑(FRL)信号以多种方式来通信。例如,FRL信号可以在包控制信息(例如在包200的响应字段的控制位中)和/或在消息中被传输。直接在包控制信息中传输FRL信号允许故障信息在系统范围内被非常迅速地传输,并且在很低的层级被处理。系统范围的故障信号可以在没有软件介入的情况下被传播,并且故障反应硬件可以在故障信号被接收时将系统置于安全状态。一旦导致该故障的问题已被解决(例如,通过人类操作员的介入),该故障信号可被清除,并且所述系统可以返回到操作状态。当所述故障信号被清除时,指示故障的FRL信号直到另一个故障发生之前一般不会在包控制信息中传输。冗余的FRL信号可以在高优先级消息和中优先级消息中被传输。
被描述的硬件包结构允许在单个通道上或在串行链路上多路复用的多个通道上发送消息。特定的消息在哪个通道上被发送由包200中的通道选择子字段来指示。时间-关键(time-critical)消息可在高优先级通道上被传输,而相对不重要的消息可在低优先级通道上被传输。
在其中传输具有不同优先级层级的消息是有利的系统的例子是机器人辅助手术系统。这种系统可包含持有手术器械或设备(诸如:腹腔镜、内窥镜、灯、照相机和吹入器)的多个机器人手臂,其中的一些可以在病人体内。该机器人手臂一般由坐在控制台处的外科医生远程地操纵。外科医生操作的控制与控制该机器人手臂的节点之间的通信可以使用本公开中描述的方法、系统和装置。来自外科医生的用于控制机器人手臂运动的命令一般在高优先级通道上被传输,这样在命令的发布和产生运动之间的时延被最小化。来自机器人手臂的响应(例如,来自于在手臂上的传感器的手臂的实际运动的测量)也可以在高优先级通道上传输,以允许手臂对命令的响应的迅速反馈。异步系统消息,诸如非关键的状态信息和差错日志信息可以在中优先级通道或低优先级通道上被传输。
在第三字节203中的XOFF位控制通道中的数据流。每个节点可以包括多个硬件缓冲器,这些硬件缓冲器接收在多个通道的相应一个通道上发送的消息。例如,高优先级消息被存储在高优先级缓冲器上,而低优先级消息被存储在低优先级缓冲器上。当发送包200的第一节点置位包200中的XOFF位时,该第一节点指示接收包200的第二节点停止在相应的数据通道上发送数据到第一节点。例如,当第一节点放置来自该数据通道的消息的缓冲器变满时,第一节点的硬件可以自动地置位数据通道的XOFF位。在一个实施方式中,节点何时置位给定通道XOFF位的阈值被设置为等于节点中相应通道的接收缓冲器的大小(例如512字)减去32个字(4个包)。该32个字的余量范围给予接收节点时间来接收和处理带有误差的余量范围的XOFF信号。其它阈值水平是可能的。当大量(例如12)消息位于接收缓冲器时,第一节点的硬件也可以置位数据通道的XOFF位。一旦从缓冲器移除包或消息,硬件可以自动地清除数据通道的XOFF位。每一个优先级通道可以在节点中具有相应的接收缓冲器。因为XOFF位在每个包中被传输,差错校验字段施加于XOFF位并且防止对XOFF位的破坏。
通信的多个通道可以通过使用上述的通道选择子字段而在链路层可用。例如,硬件通道、高优先级通道、中优先级通道和低优先级通道可以被实现。消息的长度可变(例如在3字和128字之间),并且可根据消息的长度,在一个或多于一个包中被发送。系统硬件可以在发送节点处将消息分段为多个包,并且在接收节点处重组消息。如果消息没有填满包的数据部分,则填充数据可被插入到数据部分的剩余部分。消息的发送和接收缓冲器可以在硬件中被实施。例如,节点可包含每个通道(例如,高优先级通道、中优先级通道和低优先级通道)的硬件发送和接收缓冲器。在一个实施方式中,通道的发送和接收缓冲器是最大消息大小的1.5倍。
图3示出使用诸如在图2的上下文中讨论的那些包在两个节点之间通信的概念性的时序图。包301-304从主节点顺序地发送到次节点。包311-314在次节点被接收,并且对应于包301-304,虽然在发生传输错误的情况下,包311-314可能是相应的包301-304的损坏形式。由于包沿着链路的有限的传播时间,对包311-314的接收在时间上相对于包301-304的发送被延迟。在图3示出的例子中,包的传播时间小于包的持续时间(主节点发送包所需要的时间总量)。
次节点将包355-358发送到主节点。包365-368在延迟后在主节点处被接收,并且对应于包355-358。包356包含施加于包301的应答字段。如果包311(其对应于包301)在次节点处被正确地接收,则包356包含对包301的ACK。如果包311没有被正确地接收,则包356包含NAK。包357包含对应于包302的应答字段。类似地,包303包含指示包365是否在主节点处被正确地接收的应答字段,并且包304包含对包366的应答字段。
在一个实施方式中,次节点直到从主节点接收到第一应答字段之后才开始发送包。例如,次节点直到其接收到包311中的应答字段之后才开始发送包355。为便于在主节点和次节点之间的初始同步,在主节点发送包301之前,两个节点可以相互发送多个顺序的同步字节。
图3图解说明在主节点和次节点之间的两个包“流水线”的例子。包356含有对包301的应答字段。如果该应答字段含有ACK,则主节点发送包303。然而如果包356的应答字段含有NAK,则主节点可以对包301和302进行再成帧(reframe)和重发包301和302。在这个实施方式中,当接收到两个包中的第一个包的NAK时,两个包被重发,以便再同步系统。如果没有正确地接收到两个包中的第一个包,则可以重发第二个包,而无须检查第二个包是否在其第一次被传输时被正确地接收。在第一个包中的差错是由在两个节点之间的同步丢失而导致的情况下,第二个包可能含有差错,所以第二个包被先占性地重发。发送NAK的节点也会重发在发送NAK之前它发送的最后两个包。图3被描述为在主节点和次节点之间的两个包流水线,这是因为仅在另一个包被发送之后才接收对给定包的应答字段。在主节点和次节点之间的往返时间等于或稍小于发送一个包所需的时间,这就是说,主节点在它停止发送包301之前开始接收包365。该往返时间一般取决于链路上的传输延迟和节点处的处理时间。更长的往返时间(绝对时间更长或相对于包持续时间较长)也可被用在系统中,并且导致比两个包更深的流水线。
包在主节点和次节点之间基本连续地传输,不管有无消息被放置在包的数据字段内。如图3所示,包被以互锁的方式传输。固定长度包的互锁传输引起在节点处被接收的包和在此节点处被发送的包之间的固定的相位偏移。在发送先前发送的包之后的预定时间量,节点从远程节点接收含有对先前发送的包的无错接收的肯定应答的包。互锁包的连续传输容许节点之间精确同步的高带宽、低时延的通信。此外,包的连续传输容许系统精确地和基本连续地计算在节点之间的连接的误码率(BER)。
如图4所示,当次节点接收来自于主节点的包411并且判断导致包411中的数据被毁坏的传输错误发生过,该次节点停止发送包,而不是发送下一个包,次节点将NAK和再成帧(reframing)序列456发送到主节点。该再成帧序列456被发送,以重建在主节点和次节点之间的同步,因为包411可能已被毁坏的一个原因是在主节点和次节点之间的同步可能已被削弱或丢失。该再成帧序列可以包括交替同步字段和链路字段,其中该链路字段可以是预定的代码(例如0xA3)。在一个实施方式中,在节点被认为要被再成帧之前,必须接收四个链路字节。主节点接收NAK和再成帧序列466,并且发送再成帧序列403。在主节点已发送再成帧序列403之后,该主节点重发送在接收NAK之前被发送的最后的几个包。在N个包流水线的情况下,最后的N个包被重发送。一旦次节点接收到第一重发的包414中的ACK,该次节点也开始重发包。
如图5所示,当主节点接收到来自于次节点的包565,并且判断发生了导致包565中的数据被毁坏的传输错误时,该主节点将NAK和再成帧序列503发送到次节点。该次节点接收NAK和再成帧序列513,并且发送再成帧序列557。在主节点已发送NAK和再成帧序列503之后,该主节点重发送在接收到被毁坏的包之前发送的最后的几个包。一旦次节点接收到第一重发的包514中的ACK时,该次节点也开始重发包。
差错计数器可以跟踪发生在节点中的硬件传输错误的数量。当计数器达到阈值时,中断可被开启。在一个实施方式中,该差错计数器可以被节点中的软件读取,并且该软件可以设置中断阈值。差错检测和校正可以在该系统中很低的层级中处理,并且在所描述的链路层之上运行的软件层不需要实现附加的差错检测和校正。
图6图解说明在一个实施方式中在节点处执行的过程600。该节点开始接收第一个包(步骤610),并且接收第一个包中的应答字段(步骤615)。该节点判断该应答字段是ACK还是NAK(步骤620)。如果该应答字段是NAK,则该节点发送再成帧序列(步骤625),并且重发接收到的NAK所对应的包以及在该包之后被发送的任何包(步骤630)。如果该应答字段是ACK,则该节点开始发送第二个包(步骤635),并且例如,通过检验包中的CRC值,来检测第一个包的差错(步骤640)。如果在第一个包中检测到差错,该节点停止发送第二个包(步骤645),并且发送NAK和再成帧序列(步骤650)。
如果没有在第一个包中检测到差错,该节点判断在第一个包中的故障位是否被置位(步骤655)。如果故障位被置位,则该节点被置于故障模式或安全状态(步骤660)。如果故障位没有被置位,或者一旦该节点被置于故障模式,则该节点停止发送第二个包(步骤665),并且开始发送第三包(步骤670)。
图7示出可以通过在图2-图6描述的链路层传输的消息700,该链路层用于系统中节点间的通信。消息700也可以通过其它的连接传输,诸如USB、RS-232或者IEEE 802.3(以太网)。同样的消息700可以通过各种类型的连接传输,消息700适当地被包裹在特定连接的包装中。例如,在包200(图2)的第六字节206到第三十七字节237中传输的消息是被包裹在包装中的消息700,其将在图8的上下文中进行阐述。因为消息700在整个系统使用共有的格式,因此消息700可以被传输到系统中的任何节点而无须转换。
消息700包含多字节701-708。消息700的开头的六个字节701-706构成头,最后的字节707-708构成消息体。最后的字节707-708中的消息体的长度可以变化(字节707和字节708之间的字节未示出)。头的第一字节701包含随后字节的校验和字段。第二字节702包含命令字段,该命令字段可以包含,例如,同步命令或配置检测命令。节点可以响应另一个节点发出的命令(例如,报告命令的执行状态),而且命令字段可以包含响应位。响应节点可以设置响应消息中的命令字段的响应位,该响应消息要发送到发出命令的节点。该响应位指示此消息是对命令的响应而且不含有新的命令。
消息700的第三字节703包含源字段,该源字段指示发送消息700的节点。第四字节704包含目的字段,该目的字段指示消息700应发送到的节点(或多个节点)。第五节点705包含状态字段。当发送响应消息时,响应节点可以在状态字段中包含关于命令的执行的信息(例如,指示成功或失败)。第六字段706包含长度字段,该长度字段指示消息700的主体的长度。
如图8所示,使用上述的链路层传输的消息800包含多个字节801-810。开头的四个字节801-804构成头,最后的四个字节807-810构成尾,以及中间字节805-806构成主体,该主体含有消息700(图7)。头的第一字节801包含长度字段,该长度字段指示消息的主体的长度。头的第二字节802包含说明消息类型的类型字段。头的第三字节803包含源字段,该源字段指示发送消息800的节点。头的第四字节804包含目的字段,该目的字段指示消息800应发送到的节点(或多个节点)。
中间字节805-806的长度可以变化(字节805和字节806之间的字节未示出)而且含有消息700(图7)。尾的第一字节807可以是为将来使用而保留的填充字节。尾的第二字节808可以是顺序号字段。尾的第三字节和第四字节809-810可以是消息800的头和主体的校验和字段。
尾的第二字节808中的顺序号字段可以包含消息800的顺序号,该顺序号指定消息800要在其上传输的优先级通道。这就是说,系统可以独立于其它优先级通道为给定优先级通道上传输的消息分配顺序号。该顺序号也可以依赖形成和开始消息800的传输的节点。这样,系统中的每一个节点可以对在该节点上的每一个优先级通道具有不同的开始顺序号。在消息从特定的节点在特定的优先级通道上被成功地发送之后,给定节点和优先级通道的顺序号递增。
尾的第三字节和第三字节809-810中的校验和字段可以是头和主体中的字节的总和。该校验和字段可以用来检测消息800中的差错。为了更强健的差错检测,消息800的主体也可以包含CRC校验和。
当系统加电时,主节点(例如机器人辅助手术系统中的外科医生的控制台处)中的软件可以为系统中的每一个节点分配节点标识符(ID),该节点标识符用于在消息800的源字段和目的字段中识别相应的节点。一个或多于一个特殊的标识符可以被保留,并且用来识别在目的字段中包含该特殊的标识符的消息是否要被广播到多个节点。
主节点中的软件可以查询系统中的其它节点,以确定其它节点在运行的软件的版本。如果系统中的节点在运行未预料的软件版本(例如,该版本与主节点的版本不匹配或与存储在主控制器中所要求的版本消息不匹配),则故障被触发,并且系统的节点可以被置于安全状态,直到操作员在该节点上装载了软件的正确版本或者用安装有正确版本的软件的不同节点替代该节点。
当系统中发生故障时,该故障的原因一般被存储在故障发生所在的节点上的错误日志中。故障原因的信息一般地也被发送到主节点,以便被记录在该处。
在一个实施方式中,节点可以包含使用上述的链路层通信的端口,通用串行总线USB端口、RS-232端口和以太网端口。一些或全部的端口可以用来与其它节点通信,以及一些或全部的端口可以用来连接测试或更新系统的装备。当测试或更新系统的装备与端口连接时,系统可能要求该装备提供安全密码。
消息可以用于系统维护和更新。例如,消息可以被用来从一个节点或从与多个节点中的一个节点耦连的更新装备(例如膝上型电脑)发送软件更新到另一个节点。耦连到节点的诊断或更新装备可以与该节点通信,并且也可以通过使用该设备连接到其上的节点来转发消息到期望的节点(例如,通过在消息800的目的字段中指定期望的节点),来与系统中的其它节点通信。在整个系统中对消息700使用共有格式允许诊断或更新装备以直接-转发的方式与系统中的任何节点通信。
本发明的实施例和在本说明书中描述的所有功能性的操作可被实施在数字电子电路中,或在计算机软件、固件或硬件中,其包含本说明书中公开的结构和它们的结构等价物,或被实施在它们中一个或多于一个的组合中。本发明的实施例可被实施为一个或多于一个计算机程序产品,即在计算机可读介质上编码的一个或多于一个计算机程序指令模块,用以由数据处理装置执行或用于控制数据处理装置的操作。所述计算机可读介质可以是机器可读的存储设备、机器可读的存储衬底、存储器设备、影响机器可读传播信号的物质的合成,或者它们中的一个或多于一个的组合。术语“数据处理装置”包含所有用于处理数据的装置、设备和机器,例如包括,可编程处理器、计算机或多处理器或计算机。除了硬件之外,所述装置还可以包含为所讨论的计算机程序创建执行环境的代码,例如组成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多于一个的组合的代码。传播信号是人工生成的信号,例如机器生成的电子的、光学的或电磁的信号,该信号被生成以编码要被发送到合适的接收装置的信息。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以用包括编译语言或解释性语言的任何形式的编程语言来编写,并且计算机程序可以任何形式来部署,包含作为独立程序或作为模块、组件、子程序或适合在计算环境中使用的其它单元。计算机程序不必对应于文件系统中的文件。程序可被存储在保存其它程序或数据的文件(例如,存储在标记语言文档中的一个或多于一个脚本)的一部分之中,存储在所讨论的程序专用的单个文件中,或存储在多协调文件(例如,存储一个或多于一个模块、子程序或部分代码的文件)中。计算机程序可被部署,从而在一台计算机上或在位于一个地点或分布在多个地点而被通信网络相互连接的多台计算机上被执行。
在本说明书中描述的处理和逻辑流程可以由执行一个或多于一个计算机程序的一个或多于一个可编程处理器来实现,从而通过操作输入数据和生成输出来实现功能。该处理和逻辑流程也可由专用逻辑电路实现,并且装置也可被实现为专用逻辑电路,该专用逻辑电路例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。
适合执行计算机程序的处理器包括,例如,通用微处理器和专用微处理器,以及任何种类的数字计算机的任何一个或多于一个处理器。一般地,处理器会从只读存储器或随机存取存储器或两者中接收指令和数据。计算机的主要元件是执行指令的处理器和用于存储指令和数据的一个或多于一个存储器设备。一般地,计算机也可包括,或可操作地被耦连用以从其中接收数据或发送数据到其上的、或既接收又发送数据到其上的、用于存储数据的一个或多于一个海量存储器设备,例如磁盘、磁光盘或光盘。然而,计算机不必具有这种设备。此外,计算机可被嵌入到另外的设备中,例如移动电话、个人数字助理(PDA)、移动音乐播放器、全球定位系统(GPS)接收器,仅试举几例。适合存储计算机程序指令和数据的计算机可读介质包含所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。该处理器和存储器可由专用逻辑电路补充或被合并到专用逻辑电路中。
为提供与用户的交互,本发明的实施例可以在计算机上被实施,该计算机具有显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监控器,用以给用户显示信息,并且具有用户可以对计算机提供输入的键盘或点击设备,例如鼠标或轨迹球。也可使用其它类型的设备来提供与用户的交互;例如提供给用户的反馈可以是任何形式的传感器反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以任何形式接收,包括声学输入、语音输入或触觉输入。
虽然本说明书含有很多细节,它们不应构成对本发明范围的或要求保护的范围的限制,而是对本发明的特定实施例的具体的特性描述。在本说明书中的以不同的(多个)实施例的方式描述的特定的特征也可以在单个的实施例的组合中实施。相反地,以单个的实施例方式描述的各种特征也可以在多个实施例中分别实施,或者在任何合适的子组合中实施。此外,尽管特征可能在前面被描述为特定组合甚至起初这样被要求保护,要求保护的组合中的一个或多于一个特征在一些情况下可从该组合中被去除,且该要求保护的组合可能会是子组合或子组合的变体。
类似地,虽然在附图中以特定的顺序对操作进行描述,但这不应被理解为,要求以示出的特定的顺序或以相继的顺序来执行这种操作,或者要求执行所有图解说明的操作,以实现所需的结果。在特定的状况下,多任务和并行处理可能是有利的。此外,在上述的实施例中的各种系统组件的分隔不应理解为在所有的实施例中都要求这种分隔,其应被理解为描述的程序组件和系统可以一般地在单独的软件产品中被集成到一起或打包为多软件产品。
因此,本发明的特定的实施例已被阐述。其它的实施例在权利要求的范围内。例如,在权利要求中描述的动作可以不同的顺序被执行,并且仍然实现所需结果。上述的方法、系统和装置可以与各种物理的传输机制一起使用,包括光纤(例如,运行在160兆位每秒)、低压差分信号(运行在122兆位每秒),源同步串行和异步背板线。在一个实施方式中,当这些包含有可容错的数据时,被毁坏的包不必被重发。例如,在视频或音频流中偶尔的假信号是可被接受的。在这个实施中仍然可以使用差错检测和再成帧,以允许从帧差错中快速的硬件实现的恢复。
Claims (18)
1.一种机器人辅助手术系统,其包括:
多个节点,每个节点通过串行数据链路耦连到至少一个其他节点,所述串行数据链路被配置为在相应节点之间传输具有不同优先级类型的数据,每个节点包括:
可操作为执行指令的可编程处理器;
耦连到所述可编程处理器的第一数据缓冲器,所述可编程处理器可操作以响应所述指令而通过第一串行数据链路传送由所述节点接收的第一优先级数据到所述第一数据缓冲器,所述第一数据缓冲器仅与所述第一优先级数据一起使用,所述第一优先级数据是已经被分配第一优先级类型并且包括所述机器人辅助手术系统的手术控制命令的消息;
耦连到所述可编程处理器的第二数据缓冲器,所述可编程处理器可操作以响应所述指令而通过所述第一串行数据链路传送由所述节点接收的第二优先级数据到所述第二数据缓冲器,所述第二数据缓冲器仅与所述第二优先级数据一起使用,所述第二优先级数据是已经被分配第二优先级类型并且包括所述机器人辅助手术系统的非关键系统通信的消息;以及
耦连到所述第一缓冲器和所述第二缓冲器以及所述串行数据链路的传输逻辑模块,所述传输逻辑模块可操作以依照消息接发协议通过所述串行数据链路优先于所述第二优先级数据而传输所述第一优先级数据。
2.根据权利要求1所述的机器人辅助手术系统,其中:
所述第一优先级数据包含用来控制机器人手臂的运动的命令;以及
所述第二优先级数据包含非关键的状态信息和错误日志信息中的至少一个。
3.根据权利要求1所述的机器人辅助手术系统,其进一步包括:
耦连到所述可编程处理器的第三数据缓冲器,所述可编程处理器可操作以响应所述指令而传送第三优先级数据到所述第三数据缓冲器,所述第三数据缓冲器仅与所述第三优先级数据一起使用,其中所述第一优先级数据是高优先级数据,所述第二优先级数据是低优先级数据,并且所述第三优先级数据是中优先级数据。
4.根据权利要求3所述的机器人辅助手术系统,其中:
所述消息接发协议要求所述传输逻辑模块优先于来自于所述第二数据缓冲器的所述第二优先级数据而传输来自于所述第一数据缓冲器的所述第一优先级数据。
5.根据权利要求4所述的机器人辅助手术系统,其中:
所述消息接发协议进一步要求,所述传输逻辑模块优先于来自于所述第三数据缓冲器的所述第三优先级数据而传输来自于所述第一数据缓冲器的所述第一优先级数据。
6.根据权利要求5所述的机器人辅助手术系统,其中:
所述消息接发协议进一步要求,所述传输逻辑模块优先于来自于所述第二数据缓冲器的所述第二优先级数据而传输来自于所述第三数据缓冲器的所述第三优先级数据。
7.根据权利要求4所述的机器人辅助手术系统,其中:
相比于所述第二优先级数据,优先传输所述第一优先级数据包含:先于任何可用的第二优先级数据传输任何可用的第一优先级数据。
8.根据权利要求4所述的机器人辅助手术系统,其中:
相比于所述第二优先级数据,优先传输所述第一优先级数据包含:相比于可用的第二优先级数据,分配更多的传输时隙给可用的第一优先级数据。
9.根据权利要求1所述的机器人辅助手术系统,其中所述可编程处理器包含所述传输逻辑模块。
10.根据权利要求1所述的机器人辅助手术系统,其中所述可编程处理器使用通道指示硬件层级包确定数据的优先级。
11.一种操作机器人辅助手术系统的方法,其包括:
提供机器人辅助手术系统,所述机器人辅助手术系统包含多个节点,所述多个节点包含由串行数据链路耦连到接收节点的至少一个传输节点,所述串行数据链路被配置为在所述传输节点和所述接收节点之间传输具有不同优先级类型的数据,以及在所述传输节点处:
生成第一优先级数据和第二优先级数据,所述第一优先级数据是已经被分配第一优先级类型并且和关键手术命令消息关联的消息数据,并且所述第二优先级数据是已经被分配第二优先级类型并且和非关键消息关联的消息数据;
放置所述第一优先级数据到第一数据缓冲器中,所述第一数据缓冲器仅与第一优先级数据一起使用;
放置所述第二优先级数据到第二数据缓冲器中,所述第二数据缓冲器仅与第二优先级数据一起使用;
通过所述串行数据链路传输来自于所述第一数据缓冲器和第二数据缓冲器的所述第一优先级数据和所述第二优先级数据到所述接收节点,根据消息接发协议,所述第一优先级数据优先于所述第二优先级数据而被传输。
12.根据权利要求11所述的方法,其进一步包括,在所述传输节点处:
生成第三优先级数据,其中所述第一优先级数据是高优先级数据,所述第二优先级数据是低优先级数据,并且所述第三优先级数据是中优先级数据;
放置所述第三优先级数据到第三数据缓冲器,所述第三数据缓冲器仅与第三优先级数据一起使用;以及
通过所述串行数据链路传输来自于所述第三数据缓冲器的第三优先级数据,所述第一优先级数据优先于所述第三优先级数据而被传输,所述第三优先级数据优先于所述第二优先级数据而被传输。
13.根据权利要求11所述的方法,其进一步包括,在所述传输节点处:
识别所述消息接发协议,其中识别所述消息接发协议包括选择特殊的消息接发协议,从而为不同优先级类型的消息提供规定的服务质量。
14.根据权利要求11所述的方法,其中:
相比于所述第二优先级数据,优先传输所述第一优先级数据包含:先于任何可用的第二优先级数据传输任何可用的第一优先级数据。
15.根据权利要求11所述的方法,其中:
相比于所述第二优先级数据,优先传输所述第一优先级数据包含:相比于可用的第二优先级数据,分配更多的传输时隙给可用的第一优先级数据。
16.根据权利要求11所述的方法,其中:
所述第一优先级数据包含时间-关键消息。
17.根据权利要求11所述的方法,其中:
所述第二优先级数据包含非关键的状态信息和错误日志信息中的至少一个。
18.根据权利要求11所述的方法,其中:
传输所述第一优先级数据和第二优先级数据包括在数据可用时传输所述数据,而无需等待整个消息写入到数据缓冲器中。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75399105P | 2005-12-22 | 2005-12-22 | |
US60/753,991 | 2005-12-22 | ||
US11/480,282 | 2006-06-30 | ||
US11/480,282 US7757028B2 (en) | 2005-12-22 | 2006-06-30 | Multi-priority messaging |
PCT/US2006/062367 WO2007130155A2 (en) | 2005-12-22 | 2006-12-20 | Multi priority messaging |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101366010A CN101366010A (zh) | 2009-02-11 |
CN101366010B true CN101366010B (zh) | 2012-09-19 |
Family
ID=38300539
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800470462A Active CN101432629B (zh) | 2005-12-22 | 2006-12-20 | 同步数据通信 |
CN2006800479838A Active CN101366010B (zh) | 2005-12-22 | 2006-12-20 | 多优先级报文接发 |
CN2006800485453A Active CN101346915B (zh) | 2005-12-22 | 2006-12-20 | 同步数据通信 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800470462A Active CN101432629B (zh) | 2005-12-22 | 2006-12-20 | 同步数据通信 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800485453A Active CN101346915B (zh) | 2005-12-22 | 2006-12-20 | 同步数据通信 |
Country Status (2)
Country | Link |
---|---|
JP (3) | JP2007174644A (zh) |
CN (3) | CN101432629B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2590148T3 (es) | 2012-03-02 | 2016-11-18 | Lsis Co., Ltd. | Dispositivo de comunicación y procedimiento de comunicación |
CN105431103B (zh) * | 2013-08-09 | 2018-08-17 | 直观外科手术操作公司 | 具有用于控制容纳在远侧的多个马达的远程电流控制器的医疗机器人系统 |
US10616080B2 (en) * | 2014-11-26 | 2020-04-07 | Fanuc America Corporation | System for diagnosis of robot state |
CN104951373B (zh) * | 2015-05-28 | 2018-11-27 | 浙江元亨通信技术股份有限公司 | 调度系统的消息队列处理方法 |
JP6980689B2 (ja) * | 2016-03-31 | 2021-12-15 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 撮像システム及び撮像システムの複数のノード間における通信のための通信プラットフォーム |
CN106095717B (zh) * | 2016-06-27 | 2019-09-17 | 哈尔滨明快机电科技有限公司 | 一种动态延迟补偿方法及装置 |
CN106502950B (zh) * | 2016-09-30 | 2019-10-01 | 株洲太昌电子信息技术股份有限公司 | 一种通过串口传输文件的方法及系统 |
US10237885B2 (en) * | 2017-05-01 | 2019-03-19 | Bae Systems Information And Electronic Systems Integration Inc. | Multiple access wireless network with low latency subnet |
US10728912B2 (en) * | 2017-09-15 | 2020-07-28 | Qualcomm Incorporated | System and method of modes for data transmission |
US10624707B2 (en) * | 2017-09-18 | 2020-04-21 | Verb Surgical Inc. | Robotic surgical system and method for communicating synchronous and asynchronous information to and from nodes of a robotic arm |
US10892995B2 (en) * | 2017-12-28 | 2021-01-12 | Ethicon Llc | Surgical network determination of prioritization of communication, interaction, or processing based on system or device needs |
US11923084B2 (en) | 2018-09-07 | 2024-03-05 | Cilag Gmbh International | First and second communication protocol arrangement for driving primary and secondary devices through a single port |
US20200078117A1 (en) | 2018-09-07 | 2020-03-12 | Ethicon Llc | Energy module for drivig multiple energy modalities through a port |
US11318618B2 (en) | 2019-04-05 | 2022-05-03 | Verb Surgical Inc. | Robotic surgical system and method for handling real-time and non-real-time traffic |
US11980411B2 (en) | 2021-03-30 | 2024-05-14 | Cilag Gmbh International | Header for modular energy system |
US11963727B2 (en) | 2021-03-30 | 2024-04-23 | Cilag Gmbh International | Method for system architecture for modular energy system |
US11950860B2 (en) | 2021-03-30 | 2024-04-09 | Cilag Gmbh International | User interface mitigation techniques for modular energy systems |
US11978554B2 (en) | 2021-03-30 | 2024-05-07 | Cilag Gmbh International | Radio frequency identification token for wireless surgical instruments |
CN114872052B (zh) * | 2022-06-06 | 2023-01-06 | 吉林农业科技学院 | 一种远程自动控制智能工厂机械臂的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182120B1 (en) * | 1997-09-30 | 2001-01-30 | International Business Machines Corporation | Method and system for scheduling queued messages based on queue delay and queue priority |
CN1377162A (zh) * | 2001-03-27 | 2002-10-30 | 信息产业部武汉邮电科学研究院 | 物理层与网络层设备之间的数据传输装置和方法 |
US6728599B2 (en) * | 2001-09-07 | 2004-04-27 | Computer Motion, Inc. | Modularity system for computer assisted surgery |
CN1612566A (zh) * | 2003-10-27 | 2005-05-04 | 英特尔公司 | 网络协议引擎 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AT405588B (de) * | 1995-06-26 | 1999-09-27 | Ericsson Schrack Aktiengesells | Verfahren zur wiederholung fehlerhaft übertragener daten |
WO2000013364A1 (en) * | 1998-08-26 | 2000-03-09 | Nokia Networks Oy | Bidirectional arq apparatus and method |
CN1134135C (zh) * | 2000-11-22 | 2004-01-07 | 深圳市中兴通讯股份有限公司 | 一种应用于双网容错系统的通讯方法 |
JP3471785B1 (ja) * | 2002-07-31 | 2003-12-02 | 松下電器産業株式会社 | 通信装置及びデータの再送制御方法 |
CN1249942C (zh) * | 2003-05-13 | 2006-04-05 | 武汉汉网高技术有限公司 | 正交频分复用系统中的随机接入方法 |
-
2006
- 2006-12-11 JP JP2006333845A patent/JP2007174644A/ja not_active Withdrawn
- 2006-12-15 JP JP2006337855A patent/JP2007174646A/ja not_active Withdrawn
- 2006-12-20 CN CN2006800470462A patent/CN101432629B/zh active Active
- 2006-12-20 CN CN2006800479838A patent/CN101366010B/zh active Active
- 2006-12-20 CN CN2006800485453A patent/CN101346915B/zh active Active
- 2006-12-20 JP JP2006342980A patent/JP2007174666A/ja not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182120B1 (en) * | 1997-09-30 | 2001-01-30 | International Business Machines Corporation | Method and system for scheduling queued messages based on queue delay and queue priority |
CN1377162A (zh) * | 2001-03-27 | 2002-10-30 | 信息产业部武汉邮电科学研究院 | 物理层与网络层设备之间的数据传输装置和方法 |
US6728599B2 (en) * | 2001-09-07 | 2004-04-27 | Computer Motion, Inc. | Modularity system for computer assisted surgery |
CN1612566A (zh) * | 2003-10-27 | 2005-05-04 | 英特尔公司 | 网络协议引擎 |
Also Published As
Publication number | Publication date |
---|---|
JP2007174646A (ja) | 2007-07-05 |
CN101346915A (zh) | 2009-01-14 |
JP2007174666A (ja) | 2007-07-05 |
CN101432629A (zh) | 2009-05-13 |
CN101366010A (zh) | 2009-02-11 |
JP2007174644A (ja) | 2007-07-05 |
CN101432629B (zh) | 2013-04-03 |
CN101346915B (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101366010B (zh) | 多优先级报文接发 | |
EP1963976B1 (en) | Multi priority messaging | |
KR101279827B1 (ko) | 동기화 데이터 통신 | |
US8054752B2 (en) | Synchronous data communication | |
EP0055404B1 (en) | Method and system for data communication | |
RU2596582C2 (ru) | Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных | |
CN112134652A (zh) | Oam消息传输方法、传输设备及存储介质 | |
WO2000019650A1 (en) | Method and system for communication with a network | |
WO2000019666A1 (en) | Method and system for scheduling network communication | |
JP2021509797A (ja) | 時間情報決定方法、装置及びデバイス | |
WO2000019683A1 (en) | Method and system for managing storage of data | |
US20130238946A1 (en) | Trace protocol efficiency | |
US9160661B2 (en) | Method and apparatus for full duplex serial shifting mode and switch mode data transmission | |
JP5857568B2 (ja) | 情報処理システム、受信装置、及び情報処理方法 | |
JP5102300B2 (ja) | データ伝送ブロックの送信方法、並びに、データ伝送ブロックの伝送方法、およびデータ伝送ブロックを伝送するためのシステム | |
JP6813637B1 (ja) | 伝送装置および伝送方法 | |
WO2023132367A1 (ja) | 通信装置、通信システム及び通信方法 | |
CN115934593A (zh) | 在数据流中传输usb数据 | |
KR100985684B1 (ko) | 데이터 패킷 전송 방법 및 장치 | |
JP2010011001A (ja) | データ伝送システム及び試験制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: INTUITIVE SURGICAL OPERATING COMPANY Free format text: FORMER OWNER: INTUITIVE SURGICAL INC. Effective date: 20101214 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20101214 Address after: American California Applicant after: Intuitive Surgical Operating Company Address before: American California Applicant before: Intuitive Surgical Inc. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |