CN105814840B - 用于多个网络之间的互操作性的系统和方法 - Google Patents
用于多个网络之间的互操作性的系统和方法 Download PDFInfo
- Publication number
- CN105814840B CN105814840B CN201480056467.6A CN201480056467A CN105814840B CN 105814840 B CN105814840 B CN 105814840B CN 201480056467 A CN201480056467 A CN 201480056467A CN 105814840 B CN105814840 B CN 105814840B
- Authority
- CN
- China
- Prior art keywords
- real
- time
- network
- data packet
- flow
- 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
- 238000000034 method Methods 0.000 title claims description 72
- 238000013507 mapping Methods 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims description 31
- 238000003780 insertion Methods 0.000 claims description 7
- 230000037431 insertion Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 abstract description 4
- 238000012423 maintenance Methods 0.000 abstract 1
- 238000004886 process control Methods 0.000 abstract 1
- 230000001360 synchronised effect Effects 0.000 description 35
- 230000005540 biological transmission Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 18
- 230000006399 behavior Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000013523 data management Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000000926 separation method Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012369 In process control Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010965 in-process control Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40097—Interconnection with other networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
- H04L49/206—Real Time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在实时网络之间互操作的网络交换机(200)包括多个端口(210a‑210e)和耦合到所述多个端口的交换电路系统(205)。至少一个端口(例如端口(210e))耦合到在第一实时网络中操作的节点(例如节点(300))或实时网络(350)。实时网络(350)承载第一流量。第一流量包括尽力而为流量和第一实时流量。另外,另外的端口(诸如端口(210a))被配置为耦合到第二实时网络(诸如实时网络(250))的节点。实时网络(250)承载第二流量,第二流量只包括第二实时流量。交换电路系统(205)耦合到端口(210a‑210e)并且被配置有指定端口之间的数据路由的映射。因此,交换电路系统(205)被配置成基于该映射在第一实时网络(诸如实时网络(350))和一个或多个第二实时网络(诸如实时网络(250))之间路由数据包,并维护第一实时流量和第二实时流量之间的(或第一实时流量和第二实时流量的)实时行为。在操作期间,交换电路系统(205)在从实时网络(250)路由到实时网络(350)的数据包中插入路由信息,并且从从实时网络(350)路由到实时网络(250)的数据包中移除路由信息。另外,交换电路系统(205)被配置成将数据包路由到用于第一流量和第二流量的不同队列,以供在至少一个设备(诸如设备325)上执行的应用进行处理。此外,基于映射来执行数据包到不同队列的路由。对往返于第一队列对以及第二队列对的数据包的流入和流出打时间戳,基于时间戳来关联第一和第二实时网络的时钟同步信息。实时网络可以具有不同的协议,诸如由IIE 802.1定义的时间敏感网络以及一个或多个实时网络(诸如PROFINET等时通信、EtherCAT现场总线系统、以太网/IP过程控制和工业自动化应用以及以太网Powerlink的确定性协议)。
Description
技术领域
本发明涉及时间敏感的(TS)网络领域,更具体而言,涉及用于网络之间的互操作性的系统和方法,包括在带有不同协议的实时网络之间管理数据流路径和虚拟局域网(VLAN)标记的配置、网络之间的时钟同步和/或调度数据流出。
背景技术
在工业或嵌入式应用领域,有多个实时以太网实现可用。虽然在功能上类似,但是,每一实现都与其他实现充分不同,以致于它们不能彼此互操作。例如,PROFINET、用于控制自动化技术的以太网(EtherCAT)、以太网工业协议(以太网/IP)以及以太网Powerlink全部都使用相同以太网物理层,但是,在它们本身之间不能互操作。另外,这些实时以太网实现也不能连接到标准IEEE 802.1交换机,因为由每一种实现使用的媒体访问控制(MAC)层的实现被自定义以支持其自己的专有协议。如此,由于有大量现有的实时基于以太网的协议的部署,因此,需要定义这些现有的专有技术如何可以与标准IEEE 802.1以太网技术共存并互操作。
例如,将实时数据传送支持添加到IEEE 802.1下的标准以太网的特征统称为时间敏感的(TS)联网(networking)。这些特征在以太网交换机中以IEEE 802.1定义流预留和基于时间的调度。一方面,流预留保证端对端的用于实时/时间敏感的流(例如,数据包)的带宽。另一方面,基于时间的调度允许“时间窗口”的配置,在该时间窗口,只有特定数据包被允许流出交换机。可以通过在数据流穿过网络时由端点最小化数据流的年龄(即,数据流的延迟),将这些“时间窗口”与时间敏感的数据包(TS数据包)的传输相协调。使用这样的“时间窗口”还可以约束或限制流从制作者到使用者的最大延迟,以便可以确定准确的调度。
TS联网基于虚拟局域网(VLAN)技术。VLAN是不同的隔离广播域。VLAN是从局域网(LAN)中分割的,并只能通过一个路由器或多个路由器在彼此之间传递数据。另外,VLAN允许基于组织逻辑地分段交换网络。换言之,可以按照功能或应用而并非基于物理或地理位置来分段网络。TS网络预定义特定的VLAN标记,这些标记允许在TS数据包通过LAN路由时标识TS数据包。
TS网络接口控制器(NIC)通过多个队列支持TS联网特征。队列基于VLAN标记分离LAN流量。然而,如上文所提及的,现有技术的实时网络设备通常实现不符合IEEE 802.1的、并因此不与TS网络兼容的自定义MAC。因此,需要一种允许TS网络和现有技术实时网络之间的互操作性的方案,包括需要在网络之间使时钟同步和/或需要调度数据流出。
发明内容
下面介绍了用于网络之间的互操作性的系统和方法的各实施例,包括管理承载不同流量(traffic)的实时网络之间的数据流路径和虚拟局域网(VLAN)标记的配置、网络之间的时钟同步以及调度数据流出。
在一个实施例中,用于在实时网络之间互操作的系统可包括多个端口以及耦合到所述多个端口的交换电路系统。至少一个端口可以耦合到承载第一流量的第一实时网络。第一流量可包括第一实时流量和尽力而为流量。一个或多个其他端口可以耦合到承载第二流量的一个或多个第二实时网络。第二流量可只包括第二实时流量。交换电路系统可以被配置有指定多个端口之间的数据路由的映射,并可以相应地基于所述映射在第一实时网络和一个或多个第二实时网络之间路由数据包,由此维护第一实时流量和第二实时流量之间的(或者第一实时流量和第二实时流量的)实时行为。交换电路系统可以在从一个或多个第二实时网络路由到第一实时网络的数据包中插入路由信息,并可以从从第一实时网络路由到一个或多个第二实时网络的数据包中移除路由信息。进一步,交换电路系统可以基于映射,将数据包路由到第一流量和第二流量的不同队列,以供在至少一个设备上执行的应用进行处理。
在另一个实施例中,用于在实时网络之间互操作的系统可包括网络交换机。网络交换机可包括交换电路系统、耦合到承载第一流量的第一实时网络的至少一个端口以及分别耦合到承载第二流量的一个或多个第二实时网络的一个或多个额外的其他端口。类似于上文,第一流量可包括第一实时流量和尽力而为流量,第二流量可只包括第二实时流量。交换电路系统可以耦合到端口,并可以被配置有指定端口之间的数据路由的映射。交换电路系统可以被配置成基于映射在第一实时网络和一个或多个第二实时网络之间路由数据包,以便维护第一实时流量和第二实时流量之间的(或者第一实时流量和第二实时流量的)实时行为。在操作过程中,交换电路系统可以在从一个或多个第二实时网络路由到第一实时网络的数据包中插入路由信息,并可以从从第一实时网络路由到一个或多个第二实时网络的数据包中移除路由信息。
系统还可以包括耦合到网络交换机的第一设备。应用可以在第一设备上执行,第一设备可包括第一流量的至少两个第一队列对以及一个或多个第二实时网络的第二流量的一个或多个相应的第二队列对。交换电路系统可以被配置成基于映射将数据包路由到第一队列对中的一个或多个队列以及到相应的第二队列对中的一个或多个队列,以供在第一设备上执行的应用进行处理。
示例性实施例还可以包括根据上面的技术的各实施例的交换电路系统的配置以及操作。
在进一步的实施例中,第一设备可以被配置成对往返于第一队列对以及第二队列对的数据包的流入和流出打时间戳,应用可以基于时间戳关联第一实时网络和一个或多个第二实时网络的时钟同步信息。
另外,在一些实施例中,交换电路系统可包括被配置成执行在第一实时网络和一个或多个第二实时网络之间路由数据包、插入路由信息、移除路由信息以及将数据包路由到第一队列对和第二队列对的操作的一个或多个功能单元。
在一个实施例中,网络节点可包括网络交换机和第一设备。网络节点可被配置成第一实时网络和一个或多个第二实时网络中的至少一个之间的桥接器。
在一个实施例中,用于同步实时网络的系统可包括位于第一实时网络上的第一设备。该设备可包括功能单元、耦合到功能单元的端口以及耦合到功能单元和端口并被配置用于基于一个或多个额外的实时网络到相应的输出队列的映射来分离网络数据包的多个输出队列。功能单元可以被配置成对于一个或多个额外的实时网络中的每一个,基于主时钟生成同步数据包。数据包(例如,网络数据包)可以由(相应的)额外的实时网络的网络记时器(例如,网络的主时钟)用来将该(相应的)额外的实时网络同步到主时钟。另外,功能单元可以被配置成基于映射将同步数据包存储在相应的输出队列中,并通过端口将同步数据包发送到额外的实时网络的网络记时器。示例性实施例可包括根据上面的技术的各实施例的功能单元的配置以及操作。
在进一步的实施例中,功能单元、端口以及多个输出队列可以被包括在与一个或多个额外的实时网络分离并且不同的第一实时网络上的第一设备中。如此,第一设备可以包含在第一实时网络的网络节点中,网络节点可包括网络交换机。另外或者另选地,主时钟可以是第一实时网络外部的。在一个实施例中,主时钟可以是一个或多个额外的实时网络中的一个的网络记时器。在另一个实施例中,主时钟可以是第一实时网络的网络主时钟,并可以被包括在第一实时网络的网络交换机中。在一个实施例中,主时钟可以被同步到一个或多个额外的实时网络外部的全局时钟。
在一些实施例中,系统可包括耦合到功能单元并同步到主时钟的时钟,以及耦合到功能单元和时钟的时间戳单元。在这样的实施例中,功能单元可以被配置成使用时间戳单元来根据时钟生成同步数据包的时间戳。
在某些实施例中,功能单元可以被配置成对于一个或多个额外的实时网络中的每一个,基于指定的流出周期,通过相应的输出队列流出同步数据包,指定的流出周期可以指定用于流出同步数据包的时间窗口和频率。
在一个实施例中,用于调度的数据流出的网络交换机可包括交换电路系统、耦合到交换电路系统的多个端口以及耦合到交换电路系统和多个端口的多个队列。每一端口都可以与网络数据包的相应一组路由信息相关联,每一端口都可以配置有相应一组流出周期。另外,每一网络数据包都可以具有相应的路由信息以及指定相应的流出周期的类型。每一队列都可以与相应的网络数据包类型以及多个端口中的端口相关联。
交换电路系统可以被配置成从实时网络的网络节点非确定性地接收一个或多个网络数据包,并基于路由信息以及网络数据包的类型确定性地路由每一网络数据包。另外,为了路由每一网络数据包,交换电路系统可以被配置成基于网络数据包的路由信息确定多个端口中的端口,并基于网络数据包的类型确定网络数据包的流出周期。进一步,交换电路系统可以被配置成如果网络数据包当前不可被流出,则基于流出周期将网络数据包存储在耦合到端口的队列中,并在流出周期期间从该端口提供网络数据包,由此确定性地流出网络数据包。示例性实施例可包括根据上面的技术的各实施例的交换电路系统的配置以及操作。
在一个实施例中,配置交换电路系统以确定性地路由网络数据包配置网络交换机以将网络数据包的调度从网络节点卸载到网络交换机。
在另一个实施例中,为了判断当前数据包是否可以被流出,交换电路系统可以被配置成判断用于流出网络数据包的相应时间窗口被关闭,判断已经有相同类型的排队的网络数据包存储在队列中供流出,或判断端口当前正在流出网络数据包。
在一个实施例中,交换电路系统可以基本上同时接收一组两个或更多网络数据包。在这样的实施例中,每一流出周期都可以指定用于流出网络数据包的相应的时间窗口和频率,确定的流出周期的相应的时间窗口只允许流出这两个或更多网络数据包中的一个。在某些实施例中,每一流出周期都可以指定用于流出网络数据包的相应的时间窗口和频率,其中,交换电路系统可以被配置成确定在所确定的流出周期期间流出的两个或更多网络数据包的量,并配置相应的时间窗口以允许该量在确定的流出周期期间流出。
在另一个实施例中,交换电路系统可包括一个或多个功能单元,这一个或多个功能单元可以被配置成执行确定端口、确定流出周期、存储网络数据包以及流出网络数据包的操作。
在一些实施例中,可以以最小化延迟的方式调度实时网络内的所有数据传输。这样的调度可以实现总线上协调的传输时间,以最小化网络交换机中的冲突(其中,这样的冲突可能会导致排队延时,并因此增加延迟)。为实现这一点,在一个实施例中,可以生成全局调度,该全局调度向节点提供基于时间的传输调度,向网络交换机提供时间窗口配置。可以通过考虑电缆传播时间以及内部节点和交换机传输延时,计算节点上的网络数据包的传输时间。这可以使网络数据包能够从发送方节点传播到接收方节点,在当交换机的基于时间窗口“打开”时的准确时间经过每一交换机。如此,发送方节点和接收方节点之间的传输时间可以被最小化。为集成彼此不可互操作的实时网络,可以扩展全局基于时间的调度,以包括在各种实时网络之间传输的网络数据包。上文所描述的系统和方法,包括实时网络之间的时钟同步,可以帮助实现并维护全局基于时间的调度。
附图说明
当结合下列图形考虑优选实施例的下列详细描述时可以获得对本发明的更好的理解,其中:
图1是根据各实施例的实时网络的示例性框图;
图2是根据各实施例的用于允许实时网络之间的互操作性的系统的示例性框图;
图3是根据各实施例的用于允许实时网络之间的互操作性的系统的示例性框图;
图4是根据一实施例的实时网络接口控制器(NIC)的示例性框图;
图5示出了根据一实施例的用于路由数据包的示例性系统;
图6示出了根据另一实施例的用于路由数据包的示例性系统;
图7示出了根据一实施例的用于路由数据包的示例性系统;
图8示出了根据一实施例的用于路由的示例性系统;
图9A和9B是示出了根据各实施例的用于在实时网络之间配置路由数据包的方法的流程图;
图10是示出了根据一实施例的在实时网络之间路由数据包的方法的流程图;
图11是根据一实施例的实时NIC的示例性框图;
图12示出了根据一实施例的用于在实时网络之间同步时钟的示例性系统;
图13是示出了根据一实施例的用于在实时网络之间配置时钟同步的方法的流程图;
图14是示出了根据一实施例的用于在实时网络之间同步时钟的方法的流程图;
图15是根据一实施例的实时网络交换机的示例性框图;
图16是根据一实施例的从实时网络交换机的基于时间的调度的流出的图示;
图17是示出了根据一实施例的用于配置从网络交换机的调度的数据流出的方法的流程图;以及
图18是示出了根据一实施例的用于从网络交换机的调度的数据流出的方法的流程图。
尽管本发明可以具有各种修改和替代形式,但是,此处将通过附图中的示例示出了其特定实施例,并进行详细描述。然而,应了解,附图和详细描述不打算将本发明只限于所公开的特定形式,相反地,本发明可以涵盖落入如所附权利要求所定义的本发明的精神和范围内的所有修改、等效内容和替代方案。
具体实施方式
通过引用的合并:
下列引用在此作为参考全部被并入,如同在此处完整并完全地被阐述:
(6888-57801)2013年10月15日提交的标题为“System and Method forInteroperability Between Multiple Networks”的美国专利申请系列No.14/054,227。
(6888-58001)2013年10月15日提交的标题为“System and Method forSynchronizing a Master Clock Between Networks”的美国专利申请系列No.14/054,443。
(6888-58401)2013年10月15日提交的标题为“Time-Sensitive Switch forScheduled Data Egress”的美国专利申请系列No.14/054,566。
术语
下面是本申请中所使用的术语汇编:
计算机系统——各种类型的计算或处理系统中的任何类型,这些计算或处理系统包括个人计算机系统(PC)、大型计算机系统、工作站、网络家电(network appliance)、因特网家电(Internet appliance)、个人数字助理(PDA)、电视系统、网格计算系统或者其他设备或设备的组合。一般来说,术语“计算机系统”可以广义地定义为包括具有至少一个执行来自存储器介质的指令的处理器的任何设备(或设备组合)。
测量设备——包括仪器、数据采集设备、智能传感器以及被配置为采集和/或存储数据的各种类型的设备的任何一种。测量设备还可以可选地被进一步配置为分析或处理所采集或者所存储的数据。测量设备的示例包括仪器,诸如传统的独立式“盒子”仪器、基于计算机的仪器(卡上仪器)或者外部仪器、数据采集卡、与数据采集卡类似地操作的计算机外部的设备、智能传感器、底盘中的一个或多个DAQ或测量卡或模块、图像采集设备(诸如图像采集(或机器视觉)卡(也称作视频捕获板)或者智能相机)、运动控制设备、具有机器视觉的机器人、以及其他类似类型的设备。示例性“独立式”仪器包括示波器、万用表、信号分析器、任意波形发生器、分光镜以及类似的测量、测试或自动化仪器。
测量设备还可以被配置为执行控制功能,例如响应于对所采集或者所存储的数据的分析。例如,测量设备可以响应于特定的数据而发送控制信号到外部系统(诸如运动控制系统)或者到传感器。测量设备还可以被配置为执行自动化功能,即可以接收并且分析数据,并且作为响应发出自动化控制信号。
功能单元(或者处理元件)——指各种元件或者元件的组合。处理元件包括,例如诸如ASIC(专用集成电路)这样的电路,单独处理器核心、整个处理器核心、单独处理器、诸如现场可编程门阵列(FPGA)的可编程硬件设备的部分或电路,和/或包括多个处理器的系统的较大部分,以及其任意组合。
自动——指的是动作或操作由计算机系统(例如由计算机系统执行的软件)或设备(例如电路系统、可编程硬件元件、ASIC等)执行,而没有直接指定或执行该动作或操作的用户输入。因此术语“自动”与由用户手动执行或指定的操作(其中用户提供直接执行该操作的输入)形成对照。自动的过程可以由用户所提供的输入启动,但随后“自动”执行的动作不由用户指定,即不是“手动”执行(“手动”执行中用户指定每个要执行的操作)。例如,用户通过选择每个字段并提供指定信息的输入(例如通过键入信息、选择复选框、单选等)来填写电子表格是手动填写所述电子表格,即使计算机系统必须响应于用户动作来更新所述表格。所述表格可以由计算机系统自动填写,其中计算机系统(例如在计算机系统上执行的软件)分析表格的字段并填写表格而没有指定字段的答案的任何用户输入。如上面所指示的,用户可以调用表格的自动填写,但并不参与表格的实际填写(例如用户不手动指定字段的答案,相反字段的答案自动完成)。本说明书提供响应于用户已经采取的动作而自动被执行的操作的各种例子。
并发——指并行运行或执行,其中任务、处理或程序以至少部分重叠的方式执行。例如,并发性可以使用“强的”或者严格的并行性或者使用“弱的并行性”来实现,在强的并行性的情况下,任务在相应的计算元件上(至少部分地)并行地执行,在弱的并行性的情况下,任务以交错的方式(例如通过执行线程的时间复用)执行。
因特网协议(IP)——指用于网络(诸如因特网)的联网模型和一组通信协议。
传输控制协议(TCP)——指因特网协议套件的核心协议并且提供八位元组流的在连接到局域网、内联网或公共因特网的计算机上运行的程序之间的递送。
以太网——指如在IEEE 802.3中标准化的用于局域网(LAN)的计算机联网技术的族。
局域网(LAN)——指在诸如办公大楼或者办公综合楼这样的有限地理区域中互连计算机的计算机网络。
虚拟局域网(VLAN)——指以组织为基础逻辑地分割的计算机网络,换言之,该分割基于功能或应用而不是像LAN的情况那样以物理或地理为基础。
媒体访问控制(MAC)层——指多层计算机网络模型中的子层,该子层提供使得能够在共享共同介质(诸如以太网)的多个网络节点之间进行通信的寻址和通道访问控制机制。MAC层充当逻辑链路控制子层与网络的物理(PHY)层之间的接口。
时间敏感(TS)网络——指遵守用于实时数据传送的IEEE 802.1标准的网络。
时间敏感(TS)分组——指路由通过TS网络的数据的特定分组,该分组包含时间敏感数据。可以包括来自非IEEE 802.1兼容的实时网络的分组,其中VLAN标签使用本发明的实施例被插入。
等时——通常指定期地、或者换言之以相等的时间间隔发生的事件。
异步——通常指不定期地、或者换言之以未经调度且间歇性的时间间隔发生的事件。
图1——示例性实时网络
图1示出了根据各实施例的实时网络的示例性框图。可以根据如下面更详细地描述的本发明的各实施例配置网络交换机100。另外,还可以根据如下面更详细地描述的各实施例,配置诸如网络节点115、125、135以及175之类的网络节点。
如图1所示出的,在一个实施例中,网络交换机100可包括耦合到功能单元和交换电路系统的多个端口,例如110a到110f。术语“功能单元”应在其广义上使用,并且指各种元件或元件组合,诸如例如电路(诸如ASIC(专用集成电路)),单独处理器核心、整个处理器核心、单独处理器、可编程硬件设备(诸如现场可编程门阵列(FPGA))的一些部分或电路,和/或包括多个处理器的系统的较大的部分,以及它们的任何组合。在某些实施例中,功能单元可以被包括在交换电路系统中。另外,在一些实施例中,交换电路系统可包括额外的功能单元。
在某些实施例中,网络交换机可以被包括在用于带有不同协议的实时网络之间的互操作的系统中,这些实时网络诸如IEEE 802.1所定义的时间敏感的网络以及一个或多个现有技术实时网络,现有技术实时网络诸如PROFINET——其使用诸如TCP/IP和以太网之类的标准连同用于实时和等时实时通信的机制;EtherCAT——其是开放高性能基于以太网的现场总线系统;以太网/IP——其被设计成使用在过程控制及其他工业自动化应用;以太网Powerlink——这是用于标准以太网的确定性实时协议;等等。因此,如图所示,网络交换机100可以允许实时网络145和155之间的互操作。
在这样的实施例中,多个端口110a到110f中的诸如端口110c的第一端口可以被配置成耦合到诸如实时网络155的实时网络。注意,实时网络155可以承载只包括实时流量的流量。因此,例如,实时网络155可以是专有的实时以太网实现,诸如PROFINET、EtherCAT、以太网/IP或以太网Powerlink等等。另外,网络交换机100的第二端口,诸如端口110d或110f,可以耦合到另一实时网络的节点,诸如节点175和115。注意,节点175和115可以被包括在承载包括实时和尽力而为流量两者的流量的实时网络(诸如符合IEEE 802.1的网络)中。在一些实施例中,交换电路系统可以耦合到交换机100的多个端口,并可以被配置有指定多个端口之间的数据路由的映射。在一个实施例中,交换电路系统可以被配置成基于映射在诸如实时网络115和155的实时网络之间路由数据包。在这样的实施例中,映射和路由可以维护实时网络之间的实时行为。进一步,交换电路系统可以在从实时网络155路由到实时网络115的数据包中插入路由信息,并可以从从网络115路由到网络155的数据包中移除路由信息。
在一些实施例中,网络交换机100中的每一端口都可以与网络数据包的相应一组路由信息相关联。在这样的实施例中,每一端口都可以配置有相应一组流出周期,每一网络数据包都可以具有相应的路由信息和可以指定相应的流出周期的类型。进一步,多个队列可以耦合到网络交换机100的多个端口和交换电路系统,每一队列都可以与相应的网络数据包类型和多个端口中的端口相关联。相应地,交换电路系统可以被配置成从实时网络的网络节点非确定性地接收一个或多个网络数据包,并基于网络数据包的类型和路由信息确定性地路由每一网络数据包。另外,为了路由每一网络数据包,交换电路系统可以被配置成基于网络数据包的路由信息确定多个端口中的端口,并基于网络数据包的类型确定网络数据包的流出周期。应该指出的是,如果网络数据包当前不可以被流出,则交换电路系统可以被配置成基于流出周期将网络数据包存储在耦合到端口的队列中,并在流出周期期间从该端口提供网络数据包以确定性地流出网络数据包。
在一些实施例中,网络节点(例如,网络节点135或175)可包括网络接口控制器(NIC)。在其他实施例中,网络节点(例如,网络节点115或125)可包括功能单元、耦合到功能单元的端口以及耦合到功能单元和端口的多个输出队列。输出队列可以被配置用于基于额外的实时网络到相应的输出队列的映射来分离网络数据包。进一步,功能单元可以被配置成对于额外的实时网络中的每一个,生成同步数据包,该同步数据包可以基于主时钟并可以被额外的实时网络的网络记时器用来将额外的实时网络同步到主时钟。另外,功能单元可以被配置成基于映射将同步数据包存储在相应的输出队列中,并通过端口将同步数据包发送到额外的实时网络的网络记时器。
图2-3:用于网络之间的互操作性的示例性系统
图2是用于诸如实时网络350和250的网络之间的互操作性的示例性系统的框图。应该指出的是,虽然实时网络350被示为包含网络交换机200、NIC 300以及设备325,但是可以预想,网络350可包括一个或多个网络交换机、一个或多个网络节点(诸如NIC)以及一个或多个设备。在一些实施例中,用于在第一实时网络(诸如网络350)和第二实时网络(诸如网络250)之间互操作的系统可包括网络交换机(诸如网络交换机200)以及NIC(诸如NIC300)。
在示例性实施例中,网络交换机200可包括多个端口210a-210e以及耦合到这多个端口的交换电路系统205。注意,在一些实施例中,交换电路系统205可包括一个或多个功能单元。至少一个端口,例如端口210e,可以耦合到在第一实时网络中操作的节点,例如节点300或实时网络350。实时网络350可以承载第一流量。在一个实施例中,第一流量可包括尽力而为流量和第一实时流量。另外,额外的端口,诸如端口210a,可以被配置成耦合到诸如实时网络250的第二实时网络的节点。实时网络250可以承载第二流量,第二流量可只包括第二实时流量。
在一个实施例中,交换电路系统205可以耦合到端口210a-210e,并可以被配置有指定端口之间的数据路由的映射。因此,交换电路系统205可以被配置成基于该映射在诸如实时网络350的第一实时网络和诸如实时网络250的一个或多个第二实时网络之间路由数据包,并可以维护第一实时流量和第二实时流量之间的(或第一实时流量和第二实时流量的)实时行为。在一个实施例中,在操作过程中,交换电路系统205可以在从实时网络250路由到实时网络350的数据包中插入路由信息,并可以从从实时网络350路由到实时网络250的数据包中移除路由信息。另外,在示例性实施例中,交换电路系统205可以被配置成将数据包路由到第一流量和第二流量的不同队列,以供在诸如设备325的至少一个设备上执行的应用进行处理。进一步,数据包路由到不同的队列可以基于映射来执行。应该指出的是,设备325可以是或者包括下列各项中的任何一个:仪器、数据采集设备、智能传感器或者被配置成采集和/或存储数据的各种类型的设备中的任何一个。换言之,设备325可以是或者包括一种或多种测量设备。
在一个实施例中,不同的队列可包括与第一流量相关联的队列对以及与第二流量相关联的额外的队列对。在这样的实施例中,交换电路系统205可以进一步被配置成对往返于第一队列对以及一个或多个第二队列对的数据包的流入和流出打时间戳,该应用可以基于时间戳来关联实时网络350和实时网络250的时钟同步信息。
在某些实施例中,网络交换机的额外的端口,例如网络交换机的多个端口中的一个或多个其他端口,诸如网络交换机200的端口210b-210d,可以各自都被配置成耦合到对应的其他第二实时网络,例如只承载第二流量的实时网络。换言之,示例性端口210b-210d可以被配置成耦合到对应的第二实时网络。
虽然交换电路系统205被描述为包括在网络交换机200中,但是可以预想,在各实施例中,交换电路系统205可以分布在实时网络内的各种设备和/或节点中。因此,例如,交换电路系统205可包括多个功能单元,这些功能单元可以跨实时网络分布。因此,多个功能单元中的至少一个可以如上文所描述地被包括在网络交换机中,额外的功能单元可以被包括在设备(例如,设备325)中。在一个实施例中,网络节点可包括诸如交换机200的网络交换机以及诸如设备325的设备。在进一步的实施例中,网络节点可被配置为实时网络之间的桥接器。
在又一些其他实施例中,网络节点可包括诸如NIC 300的NIC。另外,网络节点可包括诸如设备325的设备。在示例性实施例中,设备可以是或者包括嵌入式设备。嵌入式设备可包括一个或多个测量设备。
进一步,在一些实施例中,网络节点可包括诸如NIC 300的NIC和诸如网络交换机200的网络交换机这两者。在这样的实施例中,网络节点还可以包括诸如设备325的设备。在示例性实施例中,设备可以是或者包括嵌入式设备。在一些实施例中,嵌入式设备可包括一个或多个测量设备。另外,在一些实施例中,网络节点可被配置为实时网络之间的桥接器。系统还可以包括一个或多个另外的网络节点,它们和该网络节点一起形成多个网络节点。每一网络节点都可包括NIC以及带有上文所公开的功能的网络交换机,多个网络节点中的每一网络节点都可被配置为实时网络之间的桥接器。
图3是用于网络之间的互操作性的另一示例性系统的框图,所述网络诸如被配置成承载第一流量(可包括第一实时流量和尽力而为流量)的实时网络355和被配置成承载第二流量(可只包括第二实时流量)的实时网络250。注意,类似地标记了带有与前面参考图2所描述的框类似的或相同的功能的框。如此,实时网络250可以具有与图2的实时网络250相同或类似的功能。类似地,图2的设备325可以具有与图3的设备325相同或类似的功能。
在示例性实施例中,用于在实时网络355和实时网络250之间互操作的网络节点400可包括功能单元405以及耦合到功能单元405的多个端口,例如端口410a-410e。第一端口,例如端口410a,可以被配置成耦合到实时网络250的网络节点。另外,网络节点400可包括耦合到功能单元405的多个第二流量接收数据包队列,例如队列420a-420n。第二流量接收数据包队列可以被配置成存储从承载第二流量的相应的实时网络接收到的数据包,其中第一个第二流量接收数据包队列(例如,接收数据包队列420a)对应于实时网络250。网络节点400还可以包括耦合到功能单元405的多个第二流量发送数据包队列,例如队列430a-430n。第二流量发送数据包队列可以被配置成存储从诸如设备325的耦合到网络节点400的设备接收到的数据包。因此,例如,第二流量发送数据包队列430a可以对应于队列420a,并存储用于传输到实时网络250的数据包。
在一些实施例中,功能单元405可以被配置成通过第二端口(例如,端口410b-410e中的一个)与实时网络355传递带标记的数据包。在这样的实施例中,第二端口(例如,端口410b)可以被配置成耦合到实时网络355的另一网络节点,功能单元405可以通过第二端口将从实时网络250接收到的数据包转发到实时网络355。另外,第二端口(例如,端口410b)可以被配置成从实时网络355接收数据包,功能单元可以将通过第二端口接收到的数据包转发到第一端口。
进一步,功能单元405可以被配置成在将通过第一端口(例如,端口410a)从实时网络250接收到的每一数据包路由到第二端口(例如,端口410b)、多个端口中的一个或多个其他端口(例如,端口410c-410e)或者路由到第一个第二流量接收数据包队列(例如,队列420a)之前,将指出实时网络250的VLAN标记插入到该每一数据包中,由此生成带标记的数据包。而且,功能单元可以被配置成在通过第一端口(例如,端口410a)将通过第二端口(例如,端口410b)、一个或多个其他端口(例如,端口410c-410e)接收到的、或从对应于第一个第二流量接收数据包队列的第二流量发送数据包队列(例如,队列430a)接收到的每一带VLAN标记的数据包转发到实时网络250的节点之前,从每一接收到的带VLAN标记的数据包中移除VLAN标记。
在某些实施例中,功能单元405可以被配置成将由网络节点400接收到的带标记的数据包的至少子集排队在第二流量接收数据包队列420a中,供随后提供到设备325。另外,功能单元405可以被配置成在将每一数据包转发到端口410a之前,将从设备325接收到的数据包排队在第二流量发送数据包队列430a中,由此生成带标记的数据包。
应该指出的是,此处所公开的各种端口、队列以及网络的数量和标记只是示例性的,并不旨在将端口、队列以及网络限制到任何特定的数量、形式或功能。
图4-8:用于实时网络之间的互操作性的设备和系统的示例性实现
图4到8示出了允许实时网络之间的互操作性的本技术的各实施例的实现。此处所描述的实现只用于说明,并不旨在将本发明的范围限制到任何特定形式、架构或功能。每一实现都可以使用上文参考图1-3所描述的各实施例的全部或一部分。
图4是支持对承载上文定义的第一流量的实时网络的网络接口控制器(NIC)的示例性实现的高级别框图。在一些实施例中,NIC可以被包括在网络节点中。另外,网络节点可包括或耦合到诸如测量设备之类的设备。在一些实施例中,该设备可包括嵌入式设备,该嵌入式设备可包括物理接口和总线/存储器接口(包括应用和配置接口)。
NIC可包括被配置成实现此处所描述的逻辑的功能单元。例如,功能单元可以被配置成控制VLAN数据管理块以及动态存储器访问(DMA)块。另外,功能单元可以耦合到物理层(PHY)、媒体访问层(MAC)以及NIC的时间戳单元(TSU),并与它们进行通信。注意,在一些实施例中,PHY可包括TSU。
在一些实施例中,功能单元(通过VLAN数据管理块)可以基于(诸如上文所描述的VLAN标记的)VLAN标记来分离流量。VLAN数据管理块可以耦合到多个发送(Tx)队列和多个接收(Rx)队列。在一些实施例中,Tx队列的子集可包括多个第二流量(如上文定义的)发送数据包队列。类似地,Rx队列的子集可包括多个第二流量接收数据包队列。可以通过软件配置DMA块,以通过应用界面对嵌入式设备读写数据。通过NIC接收到的数据(诸如来自承载第二流量的实时网络的带有标记的数据包)被路由到VLAN数据管理块,该数据管理块将数据分离到适当的Rx队列中。接着,DMA块可以从Rx队列读数据,并将数据写到嵌入式设备。另外,嵌入式设备还可以生成数据,该数据由DMA块读取并被写到适当的Tx队列。
图5是允许第一实时网络(例如,实时网络A)和第二实时网络(例如,实时网络B)之间的互操作性的系统的示例拓扑,虽然所示出的拓扑以及其中包括的各种元件只是示例性的。第一实时网络可以承载第一流量,包括第一实时流量和尽力而为流量,第二实时网络可以承载第二流量,只包括第二实时流量。第一实时网络可包括允许实时网络之间的互操作性的网络交换机。网络交换机可包括上文参考网络交换机100、200以及400所描述的各实施例的任何组合的任何特征。网络交换机500可包括多个端口,例如端口A-E。在所示出的实施例中,端口A、B以及E每个都耦合到网络节点。端口A可以耦合到节点530,该节点530可以与NIC 300具有相同或类似的功能,或具有上文参考图4的NIC的所描述的功能。在此特定示例中,节点530可以耦合到嵌入式设备EB530。然而注意,节点530可以另选地包括嵌入式设备EB530。类似于端口A,端口B可以耦合到节点540,其中节点540可以具有与节点530类似的或相同的功能。节点540可以耦合到或包括嵌入式设备EB540。另外,端口E可以耦合到节点520。节点520可包括NIC和网络交换机两者。节点520的NIC可以耦合到或包括嵌入式设备EB520。进一步,如上文所公开的,节点520可以具有多个功能单元或单个功能单元。换言之,节点520可包括控制网络交换机的第一功能单元以及控制NIC的第二功能单元,或者节点520可以具有控制NIC和网络交换机两者的单个功能单元。而且,节点520可被配置成桥接器,并可以通过节点520的网络交换机的端口耦合到节点510。TS节点510可以类似于节点520,并包括NIC和网络交换机两者。嵌入式设备EB510可以被包括在节点510中或耦合到节点510。
网络交换机的端口D和C可以耦合到除网络或网络节点以外的网络或节点。例如,端口D可以耦合到诸如因特网/LAN 165的以太网网络,而端口C可以耦合到实时网络B的诸如节点550的节点。节点550可包括或耦合到嵌入式设备EB550。进一步,节点550可被配置成到节点560的桥接器,该节点560可以耦合到或包括嵌入式设备EB560。换言之,节点510可包括NIC和网络交换机两者。
为了允许网络之间的互操作性,例如实时网络A的节点510-540和实时网络B的节点550和560之间的互操作性,网络交换机500可包括或实现如上文所描述的本发明的各实施例。例如,网络交换机500中所包括的交换电路系统可以被配置成将VLAN标记插入到通过端口C接收到的每一数据包中。换言之,可以例如用“VLAN 3”来标记从实时网络B接收到的每一数据包。进一步,交换电路系统可以被配置成在通过端口C将通过端口A接收到的每一数据包转发到实时网络B之前,从这每一数据包中移除VLAN标记。因此,通过端口A接收到的并包含标记“VLAN 3”的数据包的该标记将在该数据包被转发到实时网络B端口C之前被移除。注意,在如上文所描述的配置中,只有端口A可以流出用“VLAN 3”进行标记的数据包,例如通过端口C从实时网络B接收到的数据包。所有其他端口都被配置成丢弃带有“VLAN 3”标记的数据包。
如上文所提及的,实时网络A的每一网络节点都可以被配置有上文所描述的各实施例中的特征中的任何一个。例如,耦合到端口A的节点530可包括被配置成基于VLAN标记来分离并排队网络数据包的功能单元。因此,节点530的NIC可包括多个第二流量接收数据包队列,每一第二流量接收数据包队列可以被配置成存储从承载第二流量的相应网络接收到的数据包,包括被配置成存储从实时网络B接收到的数据包的第一个第二流量接收数据包队列。另外,NIC可以包括对应的多个第二流量发送数据包队列,每一第二流量发送数据包队列都可以被配置成存储从EB530接收到的用于承载第二流量的相应网络的数据包。因此,第一个第二流量发送数据包队列可以对应于第一个第二流量接收数据包队列,并且存储数据包用于传输到实时网络B。而且,节点530的功能单元可以耦合到多个第二流量接收数据包队列和多个第二流量发送数据包队列,并被配置成将从端口A接收到的带标记的数据包排队在第一个第二流量接收数据包队列中,用于随后提供到EB530。另外,功能单元还可以被配置成将从EB530接收到的数据包排队在第一个第二流量发送数据包队列中,并且在将从第一个第二流量发送数据包队列接收到的每一数据包转发到网络交换机500的端口A之前,将指出实时网络B的VLAN标记(例如,“VLAN 3”)插入到该数据包中。
图6是允许实时网络之间的互操作性的系统的替换的拓扑的示例,所述实时网络诸如承载第一流量的实时网络A以及承载第二流量的实时网络B。在这样的拓扑中,实时网络A可包括一个或多个网络节点和交换机,诸如节点610-630和网络交换机600。注意,嵌入式设备EB610-630可以被包括在或耦合到相应的节点610-630。另外,如图所示,节点630可被配置成实时网络之间的桥接器。实时网络B可包括节点640-650,其中嵌入式设备EB640和EB650被包括在或耦合到相应的节点640和650。为了使节点630充当网络之间的桥接器,它可包括通过本发明的各实施例配置的网络交换机和NIC这两者,以允许对从实时网络B(例如,节点640)接收到的数据包进行VLAN标记。另外,节点620还可以包括通过本发明的各实施例配置的网络交换机和NIC,以允许VLAN标记的数据包通过网络交换机600被转发到实时网络A内的其他目的地(诸如节点610),每一其他目的地都可包括本发明的各实施例,以允许VLAN标记的数据包的转发和分离。
图7是允许承载第一流量(如上文定义的,可包括第一实时流量和尽力而为流量)的实时网络A和承载第二流量(如上文定义的,可以只包括第二实时流量)的实时网络B之间的互操作性的另一替换系统的示例拓扑。在这样的拓扑中,实时网络A可包括多个网络节点,每一网络节点都耦合到相应的实时网络B。因此,例如,节点720可以耦合到包括节点722-728的实时网络B1,节点730可以耦合到包括节点732-738的实时网络B2,节点740可以耦合到包括节点742-748的实时网络B3。另外,可以给实时网络B中的每一个都指定对网络进行指示的特定VLAN标记。例如,可以用“VLAN 2”标记来标记从节点722接收到的数据包,而可以用“VLAN 3”标记来标记从节点732接收到的数据包,可以用“VLAN 4”标记来标记从节点742接收到的数据包。进一步,节点720-740中的每一个都可包括NIC和网络交换机两者,其中每一个都根据本发明的一个实施例配置,允许对带标记的数据包进行管理。同样,可耦合到或包括嵌入式设备710的节点710可以根据本发明的实施例配置,以管理从相应的实时网络B中的每一个接收到的数据包。因此,节点710可以被配置有用于每一个相应的实时网络B的相应的第二流量接收数据包队列和相应的第二流量发送数据包队列。换言之,节点710可包括与每一VLAN标记相关联的发送/接收队列对,例如用于用“VLAN 2”标记的数据包的发送/接收队列对,用于用“VLAN 3”标记的数据包的发送/接收队列对,以及用于用“VLAN 4”标记的数据包的发送/接收队列对。另外,节点710可包括用于第一流量数据包(诸如由实时相机750生成的并通过节点720从因特网/LAN 165接收到的那些)的发送/接收队列对。
图8是允许承载第一流量的实时网络A和承载第二流量的网络830-850之间的互操作性的再一个替换系统的示例拓扑。在这样的系统中,网络之间的互操作性可以由根据本发明的各实施例配置的网络交换机800管理。因此,网络交换机800可以被配置成用“VLAN3”标记来标记从网络830接收到的数据包,用“VLAN 2”标记来标记从网络840接收到的数据包,并用“VLAN 1”标记来标记从网络850接收到的数据包。同样,类似于节点710,节点810和820可以被配置成在相应的发送/接收队列对中分离从网络830-850中的每一个接收到的以及发往它们的数据包,同时还分离来自实时网络A的网络数据包和通过网络交换机800从因特网/LAN 165接收到的以太网数据包。
图9A-9B——用于在实时网络之间互操作的方法的流程图
图9A-B示出了根据一实施例的用于配置第一实时网络和一个或多个第二实时网络之间的互操作性的方法。第一实时网络可以承载包括尽力而为流量和第一实时流量的第一流量,一个或多个第二实时网络可以只承载第二实时流量。如图9A-B所示的方法可以和此处所描述的任何附图所示出的系统或设备中的任何一个(以及其他设备)一起使用。在各实施例中,所示出的方法元素中的一些可以并行地执行、以与所示出的不同的顺序执行或可以省略。也可以根据需要,执行附加的方法元素。如图所示,图9A中所示出的方法可以按如下方式进行操作。
首先,在902,网络交换机的多个端口中的至少一个端口可以被配置成耦合到可以承载第一流量的第一实时网络。
在904,这多个端口中的一个或多个端口可以被配置成分别耦合到可以承载第二流量的一个或多个第二实时网络中的一个。
在906,网络交换机的交换电路系统可以被配置有指定多个端口之间的数据路由的映射。在一个实施例中,交换电路系统可包括一个或多个功能单元。在这样的实施例中,交换电路系统的配置可包括这一个或多个功能元件的配置。另外,在某些实施例中,网络交换机可以被包括在网络节点中。在这样的实施例中,网络节点可被配置为第一实时网络和一个或多个第二实时网络中的至少一个之间的桥接器。
在908,交换电路系统可以被配置成基于映射在第一实时网络和这一个或多个第二实时网络之间路由数据包,以维护第一实时流量和第二实时流量之间的实时行为。
在910,交换电路系统可以被配置成将路由信息插入到可以从一个或多个第二实时网络路由到第一实时网络的数据包中。
在912,交换电路系统可以被配置成从从第一实时网络路由到一个或多个第二实时网络的数据包中移除路由信息。
在914,交换电路系统可以被配置成将数据包路由到用于第一流量和第二流量的不同队列,以供在至少一个设备上执行的应用进行处理。另外,数据包路由到不同的队列可以基于映射来执行。进一步,在一个实施例中,不同的队列可包括与第一流量相关联的第一队列对以及与第二流量相关联的一个或多个第二队列对。在这样的实施例中,交换电路系统可以进一步被配置成对往返于第一队列队以及一个或多个第二队列对的数据包的流入和流出打时间戳。进一步,该应用可以基于所述时间戳,关联第一实时网络和一个或多个第二实时网络的时钟同步信息。
转向图9B,在952,可以基于可指定路由的映射,在第一实时网络和一个或多个第二实时网络之间路由数据包。映射可以维护第一实时流量和第二实时流量之间的实时行为。
在954,可以在从一个或多个第二实时网络路由到第一实时网络的数据包中插入路由信息。
在956,可以从从第一实时网络路由到一个或多个第二实时网络的数据包中移除路由信息。
在958,可以将数据包路由到用于第一流量和第二流量的不同队列,以供在至少一个设备上执行的应用进行处理,并且可以基于映射执行数据包到不同队列的路由。在一个实施例中,不同的队列可包括与第一流量相关联的第一队列对以及与第二流量相关联的一个或多个第二队列对。在这样的实施例中,该方法可以进一步包括对往返于第一队列对以及一个或多个第二队列对的数据包的流入和流出打时间戳。相应地,该应用可以基于所述时间戳,关联第一实时网络和一个或多个第二实时网络的时钟同步信息。
图10——用于在实时网络之间互操作的方法的流程图
图10示出了根据一实施例的用于在第一实时网络和一个或多个第二实时网络之间互操作的方法。如上文所描述的,第一实时网络可以承载包括尽力而为流量和第一实时流量的第一流量,一个或多个第二实时网络可以只承载第二实时流量。如图10所示的方法可以和此处所描述的任何一个附图所示出的方法、系统或设备中的任何一个(以及其他设备)一起使用。在各实施例中,所示出的方法元素中的一些可以并行地执行、以与所示出的不同的顺序执行或可以省略。还可以根据需要,执行附加的方法元素。如图所示,图10中所示出的方法可以按如下方式进行操作。
首先,在1002,可以在第一实时网络和一个或多个第二实时网络之间路由数据包。可以由映射指定路由。如上文所指出的,映射可以维护第一实时流量和第二实时流量之间的实时行为。
在1004,可以在从一个或多个第二实时网络路由到第一实时网络的数据包中插入路由信息。
在1006,可以从从第一实时网络路由到一个或多个第二实时网络的数据包中移除路由信息。
在1008,可以将数据包路由到用于第一流量和第二流量的不同队列,以供在至少一个设备上执行的应用进行处理。在一个实施例中,数据包路由到不同的队列可以基于映射来执行。
注意,上文所描述的方法在示例性实施例中可以和上文参考图9A和9B所描述的方法一起使用。具体而言,图9A和9B的方法可以配置系统以执行上文参考图10所描述的方法。当然,对所属领域的技术人员明显的是,上文所描述的方法可以独立地使用或者和其他方法一起使用。
图11-13:用于在网络之间同步主时钟的系统和方法
下面所描述的系统和方法可以允许使用不同实时协议的实时网络之间的同步。例如,在一个实施例中,可以将不符合用于实时数据传输的IEEE 802.1标准的实时数据传送网络与符合用于实时数据传输的IEEE 802.1标准的实时网络同步。注意,许多非IEEE802.1实时网络实现专有的时钟同步方案。因此,为了与符合IEEE 802.1的实时网络完全互操作,符合IEEE 802.1的实时网络的网络时钟同步可能需要被映射到它可以耦合到的每一非符合IEEE 802.1的实时网络。更一般而言,下面的系统和方法允许根据不同的协议操作的实时网络之间的时钟同步。
图11:NIC的示例性框图
图11是用于在实时网络之间同步时钟的示例性NIC(网络接口控制器)的框图。NIC1100可以类似于上文所描述的NIC。在一些实施例中,NIC 1100可包括功能单元,诸如耦合到端口(诸如端口1110)的功能单元1130。另外,NIC可包括时钟,诸如耦合到功能单元并同步到主时钟(诸如实时网络1150的主时钟1152)的时钟1132。在一些实施例中,主时钟可以被包括在实时网络的网络交换机中。在其他实施例中,主时钟可以是实时网络外部的,诸如外部网络记时器。在某些实施例中,主时钟可以被同步到实时网络外部的全局时钟。
时钟还可以耦合到时间戳单元(TSU),诸如TSU 1134。TSU还可以耦合到功能单元。在一些实施例中,TSU可以被包括在NIC的物理层中。进一步,NIC可包括耦合到功能单元和端口的多个输入/输出队列对,诸如Rx(接收)队列1120a-1120n和Tx(发送)队列1140a-1140n,用于基于一个或多个实时网络到相应的输出(例如,Tx)队列的映射来分离网络数据包。例如,输入队列1120a可以具有对应的输出队列1140a,并且两者可以对应于实时网络1160。另外,输入队列可以是如上文所讨论的接收数据包队列,输出队列可以是如上文所讨论的发送数据包队列。
对于相应的实时网络中的每一个,功能单元可以被配置成生成可被相应的实时网络的网络记时器(例如是被同步到主时钟的时钟)使用的同步数据包,以将相应的实时网络同步到主时钟。在一个实施例中,这可包括使用TSU来根据同步到主时钟的时钟生成用于同步数据包的时间戳以及使用对应的输入/输出队列对通过端口与相应的实时网络进行通信。换言之,功能单元可以基于映射将同步数据包存储在相应的输出(例如,Tx)队列中,并通过端口将同步数据包发送到相应的实时网络的网络记时器。
在示例性实施例中,功能单元可以进一步被配置成基于指定的流出周期,通过至少一个输入/输出队列对的输出队列流出同步数据包。指定的流出周期可以指定用于流出同步数据包的时间窗口和频率。
因此,例如,功能单元1130可以生成可被实时网络1160的记时器1162用来将实时网络1160同步到实时网络1150的主时钟1152的同步数据包。另外,为了生成同步数据包,功能单元1130可以使用TSU 1134来根据同步到实时网络1150的主时钟1152的时钟1132,生成用于同步数据包的时间戳。接着,功能单元1130可以通过端口1110使用Rx队列1120a和Tx队列1140a与实时网络1160进行通信,包括将同步数据包发送到实时网络1160的记时器1162。
应当注意的是,可能需要实时网络1150包括上文所讨论的功能的各实施例,以允许实时网络1150和1160之间的互操作性。因此,由NIC 1100发送的同步数据包可以是如上文所详细描述的带标记的数据包。
在一些实施例中,NIC可以被包括在网络节点中。在一个实施例中,网络节点可包括NIC和网络交换机。
图12:用于在实时网络之间同步时钟的示例性系统
图12是用于在实时网络之间同步时钟的示例性系统的图示。如图所示,系统可包括网络交换机1200以及节点1210和1220。网络交换机1200可以在功能上类似于前面所描述的网络交换机。因此,网络交换机1200可包括被配置成管理实时网络之间的数据流的功能单元。在此特定示例中,网络交换机1200包括端口A-E。端口B可以被配置成耦合到包括节点1232-1238的实时网络1230。注意,实时网络A可以承载第一流量——包括第一实时流量和尽力而为流量,而实时网络1230和1240可以承载第二流量——只包括第二实时流量。注意,实时网络A、1230以及1240可以各自根据不同的实时协议来操作。相应地,在一个实施例中,实时网络A可以根据IEEE 802.1操作,同时实时网络1230和1240可以根据非IEEE 802.1协议来操作。
因此,在一个实施例中,功能单元可以被配置成将指示实时网络1230的VLAN标记插入到通过端口B从节点1232接收到的数据包中。类似地,端口C可以被配置成耦合到包括节点1242-1248的实时网络1240。因此,功能单元还可以被配置成将指示实时网络1240的VLAN标记插入到通过端口C从节点1242接收到的数据包中。
节点1210和1220可以各自都包括类似于图11的NIC 1100配置的NIC。因此,节点1210和1220可以各自都包括同步到主时钟的时钟。在此特定示例中,网络交换机1200中所包括的时钟可被配置成主时钟。因此,节点1210和1220的时钟可以各自都同步到网络交换机1200的时钟。注意,由于节点1210和1220各自都包括同步到主时钟的时钟,因此,两者都被视为实时网络A的记时器。另外,网络交换机1200的主时钟可以被同步到诸如因特网/LAN165的全局时钟的全局时钟。
进一步,节点1220可以被配置成通过同步数据包将其时钟传播到节点1232,实时网络1230的记时器。另外,节点1210可以被配置成通过同步数据包将其时钟传播到节点1242,实时网络1240的记时器。注意,每一实时网络都包括其自己的同步每一网络内的时钟的机制,因此,通过同步网络的记时器,可以将整个网络与发送同步数据包的网络节点同步。因此,实时网络1230的每一个节点都可以与节点1220同步,实时网络1240的每一个节点都可以与节点1210同步。因此,所有网络都可以端对端地同步。
图13-14:用于在实时网络之间同步时钟的方法的流程图
图13和14示出了用于同步一个或多个实时网络的网络记时器(例如,时钟)的方法的实施例。如图13和14所示的方法可以和此处所描述的任何一个附图所示出的方法、系统或设备中的任何一个(以及其他设备)一起使用。在各实施例中,所示出的方法元素中的一些可以并行地执行、以与所示出的不同的顺序执行或可以省略。还可以根据需要,执行附加的方法元素。如图所示,图13中所示出的方法可以按如下方式进行操作。
在1302,功能单元可以被配置成对于一个或多个实时网络中的每一个,生成基于主时钟并且可被实时网络的网络记时器用来将实时网络同步到主时钟的同步数据包。功能单元可以包含在诸如上文所描述的NIC 1100之类的NIC中。
在1304,功能单元可以被配置成基于一个或多个实时网络到相应的输出队列的映射,将同步数据包存储在相应的输出队列中。注意,功能单元可以被配置成存储用于一个或多个实时网络中的每一个的同步数据包。
在1306,功能单元可以被配置成对于一个或多个实时网络中的每一个,将同步数据包发送到的实时网络的网络记时器。
在某些实施例中,该方法还可以包括功能单元被配置成生成可被相应的实时网络的网络记时器用来将实时网络同步到主时钟的同步数据包,包括使用TSU来根据被同步到主时钟的时钟,生成用于同步数据包的时间戳。另外,功能单元可以使用对应的输入/输出队列对通过端口与相应的实时网络进行通信,包括将同步数据包发送到相应的实时网络的实时网络记时器。
在示例性实施例中,功能单元可以进一步被配置成基于指定的流出周期,通过至少一个输入/输出队列对的输出队列来流出同步数据包,其中指定的流出周期指定用于流出同步数据包的时间窗口和频率。进一步,该方法可包括功能单元基于指定的流出周期通过至少一个输入/输出队列对的输出队列流出同步数据包,其中指定的流出周期指定用于流出同步数据包的时间窗口和频率。
现在转向图14,用于同步一个或多个实时网络的方法可以按如下方式进行操作。
在1402,对于一个或多个实时网络中的每一个,可以生成基于主时钟并且可被实时网络的网络记时器用来将实时网络同步到主时钟的同步数据包。注意,实时网络可以各自根据不同的协议进行操作。例如,实时网络中的一个可以承载可包括尽力而为流量和第一实时流量两者的第一流量,而实时网络中的另一个可以承载可只包括第二实时流量的第二流量。另外,承载第二流量的实时网络可以各自包括专有的同步和通信协议,以便实时网络可能不可互操作。
在1404,用于一个或多个实时网络中的每一个的同步数据包可以基于一个或多个实时网络到相应的输出队列的映射,存储在相应的输出队列中。
在1406,可以将用于一个或多个实时网络中的每一个的同步数据包发送到实时网络的网络记时器。
图15-18:用于从网络交换机调度的数据流出的系统和方法
下面所描述的系统和方法的各实施例可以允许数据从网络交换机的调度流出,并可以允许网络节点的调度开销被卸载到网络交换机。因此,网络节点可以将多个数据包发送到需要被调度的网络交换机,网络交换机可以调度并在调度时间发送数据包。
图15:被配置用于调度的数据流出的网络交换机的示例性框图
图15是根据一实施例的被配置用于调度的数据流出的网络交换机的示例性框图。如图15所示,诸如网络交换机1500的网络交换机可包括诸如交换电路系统1520的交换电路系统。另外,网络交换机可包括多个端口,诸如端口1510a-1510d,每一端口都可以耦合到交换电路系统并与数据包的相应一组网络地址相关联。每一端口可以进一步配置有相应一组流出周期,其中每一数据包具有目的地地址和指定相应的流出周期的类型,其中每一流出周期可以基于数据包的类型指定用于将数据包流出到网络节点的相应的时间窗口和频率。进一步,网络交换机可包括耦合到多个端口以及交换电路系统的多个队列,诸如耦合到端口1510a的队列1521a-1521n,耦合到端口1510b的队列1522a-1522n,耦合到端口1510c的队列1523a-1523n,以及耦合到端口1510d的队列1524a-1524n。而且,每一队列可以与相应的数据包类型以及多个端口中的相应的端口相关联。注意,在一个实施例中,交换电路系统可包括一个或多个功能单元。
在某些实施例中,交换电路系统可以被配置成通过第一端口从网络节点异步地接收一个或多个数据包。因此,例如,交换电路系统1520可以通过端口1510a从网络节点异步地接收一个或多个数据包。在一些实施例中,第一端口可以被配置成耦合到另一实时网络的节点。注意,该另一实时网络可能与交换机1500所在的实时网络不可以互操作。在这样的实施例中,上文所描述的方法和系统可以被用来实现互操作性。另外,交换电路系统可以被配置成基于至少一个数据包的目的地地址,确定用于流出一个或多个数据包中的至少一个的第二端口(诸如端口1510b)。在一些实施例中,第二端口可以被配置成耦合到另一实时网络的节点。进一步,交换电路系统可以被配置成基于至少一个数据包的类型,确定用于流出该至少一个数据包的流出周期。而且,交换电路系统可以被配置成判断该至少一个数据包当前不可从第二端口流出。在一些实施例中,为了判断用于流出该至少一个数据包的相应的时间窗口关闭,交换电路系统可以进一步被配置成判断已经有相同类型的排队数据包在第一队列中排队用于从第二端口流出或者判断第二端口当前正在流出数据包。
响应于判断至少一个数据包当前不可以流出,交换电路系统可以基于相应的数据包类型和目的地地址,将所述至少一个数据包排队在多个队列中的第一队列中,其中第一队列与第二端口相关联。例如,交换电路系统1520可以判断端口1510b当前不可以流出该至少一个数据包,并且作为响应可以将该至少一个数据包排队在队列1522b中。
交换电路系统还可以另外被配置成在相应的时间窗口从第二端口流出至少一个数据包。因此,例如,交换电路系统1520可以在端口1510b的相应时间窗口,通过端口1510b流出该至少一个数据包。在一些实施例中,该至少一个数据包可包括两个或更多数据包。在这样的实施例中,可以指定所确定的流出周期的相应时间窗口以允许这两个或更多数据包中的一个的流出。在其中至少一个数据包可包括两个或更多数据包的某些实施例中,指定所确定的流出的相应时间窗口可包括确定每一流出周期流出的这两个或更多数据包的量,以及配置相应的时间窗口以允许在每一流出周期该量的流出。在网络交换机的两个或更多端口可以被配置成耦合到相应的实时网络的一些实施例中,可以调度用于两个或更多端口中的每一个端口的数据包以并行地流出,因此允许两个或更多实时网络并行地接收数据包。
图16:从网络交换机的基于时间的调度流出的图示
图16是从络交换机(诸如网络交换机1500)网的基于时间的数据流出的示例性调度的图示。在时间A,如上文所描述的,数据包1-4可以异步地流入到网络交换机并排队。为了简化,假设在时间A流出的所有数据包都具有相同数据包类型和相同目的地地址。另外,为了简化,假设指定了流出周期,使得单个数据包在每一流出周期流出。接着,在时间B,数据包1被出列并流出。在数据包1的流出期间,“时间窗口”“打开”,允许数据包流出。接着,在指定的持续时间之后,“时间窗口”“关闭”,交换机等待下一流出周期开始。在时间C,数据包2被出列并流出。类似地,在时间D和E,数据包3和4分别出列并流出。以此方式,在网络处异步地接收到的数据包可以按基于时间的调度流出。
图17和18:用于调度的数据流出的方法的流程图
图17和18示出了根据一些实施例的用于调度的数据流出的方法。如图17和18所示的方法可以和此处所描述的任何一个附图所示出的方法、系统或设备中的任何一个(以及其他设备)一起使用。在各实施例中,所示出的方法元素中的一些可以并行地执行、以与所示出的不同的顺序执行或可以省略。也可以根据需要,执行附加的方法元素。如图所示,图17中所示出的方法可以按如下方式进行操作。
在1702,网络交换机可以被配置成从实时网络的网络节点非确定性地接收网络数据包。每一网络数据包都可以具有相应的路由信息以及可指定相应的流出周期的类型。网络交换机可包括多个端口,每一端口都可以配置有相应一组路由信息和相应一组流出周期。另外,每一端口可以与用于流出周期的相应的队列相关联。
在1704,网络交换机可以被配置成基于每一网络数据包的路由信息和类型,确定性地路由网络数据包。网络交换机的配置可包括下列方法元素。
在1714,网络交换机可以被配置成基于网络数据包的路由信息,确定用于每一个网络数据包的多个端口中的端口。
在1724,网络交换机可以被配置成基于网络数据包的类型,确定用于每一个网络数据包的流出周期。
在1734,网络交换机可以被配置成对于当前不可被流出的每一个网络数据包,基于流出周期将网络数据包存储在耦合到该端口的队列中。
在1744,网络交换机可以被配置成对于当前不可被流出的每一个网络数据包,在流出周期期间从该端口流出网络数据包。因此,网络交换机可以被配置成确定性地流出网络数据包。
在方法的更进一步的实施例中,网络交换机可以通过第一端口从网络节点异步地接收一个或多个数据包,并且基于至少一个数据包的目的地地址确定用于流出一个或多个数据包中的至少一个的多个端口中的第二端口。另外,网络交换机可以基于至少一个数据包的类型确定用于流出至少一个数据包的流出周期,并判断该至少一个数据包当前不可从第二端口流出。而且,交换电路系统可以响应于判断该至少一个数据包当前不可被流出,基于相应的数据包类型和目的地地址将该至少一个数据包排队在多个队列中的第一队列中,其中第一队列与第二端口相关联。相应地,可以在相应的时间窗口从第二端口流出该至少一个数据包。
在方法的某些实施例中,网络交换机为了判断该至少一个数据包当前不可流出,可以判断用于该至少一个数据包的流出的相应时间窗口关闭,判断已经有相同类型的排队数据包在第一队列中排队用于从第二端口流出,或者判断第二端口当前正在流出数据包。
在方法的其他实施例中,数据包可包括两个或更多数据包。在这样的实施例中,可以指定所确定的流出周期的相应时间窗口,以允许这两个或更多数据包中的一个的流出。另选地,指定所确定的流出的相应时间窗口可包括交换电路系统确定在每一流出周期流出的这两个或更多数据包的量,以及配置相应的时间窗口以允许在每一流出周期该量的流出。
进一步,如图18所示,交换机可以按如下方式执行用于流出数据包(例如,网络数据包)的方法。
在1802,网络交换机可以从实时网络的网络节点非确定性地接收网络数据包。每一网络数据包都可以具有相应的路由信息以及可指定相应的流出周期的类型。网络交换机可包括多个端口,每一端口可以配置有相应一组路由信息和相应一组流出周期。另外,每一端口都可以与用于流出周期的相应队列相关联。
在1804,网络交换机可以基于每一网络数据包的路由信息和类型确定性地路由网络数据包。网络交换机的确定性路由可包括下列方法元素。
在1814,网络交换机可以基于网络数据包的路由信息,确定用于每一个网络数据包的多个端口中的一个端口。
在1824,网络交换机可以基于网络数据包的类型,确定用于每一个网络数据包的流出周期。
在1834,网络交换机可以对于当前不可被流出的每一个网络数据包,基于流出周期将网络数据包存储在耦合到该端口的队列中。
在1844,网络交换机可以对于当前不可被流出的每一个网络数据包,在流出周期期间从该端口流出网络数据包。因此,网络交换机可以确定性地流出网络数据包。
虽然非常详细地描述了上文的实施例,一旦完全理解了上面的说明,很多变化和修改方案对于本领域技术人员将变得显而易见。权利要求旨在被解释为包括所有这样的变化和修改方案。
Claims (16)
1.一种用于在第一实时网络和一个或多个第二实时网络之间互操作的系统,所述第一实时网络和所述一个或多个第二实时网络根据不同的协议操作,所述系统包括:
多个端口,包括:
耦合到所述第一实时网络的至少一个端口,其中所述第一实时网络承载包括尽力而为流量和第一实时流量的第一流量;以及
分别耦合到所述一个或多个第二实时网络的一个或多个端口,其中所述一个或多个第二实时网络中的每一个都承载只包括第二实时流量的第二流量;以及
耦合到所述多个端口的交换电路系统,其中所述交换电路系统被配置有指定所述多个端口之间的数据路由的映射;
其中,所述交换电路系统被配置成基于所述映射在所述第一实时网络和所述一个或多个第二实时网络之间路由数据包,由此维护所述第一实时流量和所述第二实时流量之间的实时行为,其中所述交换电路系统在从所述一个或多个第二实时网络路由到所述第一实时网络的数据包中插入路由信息,并且其中所述交换电路系统从从所述第一实时网络路由到所述一个或多个第二实时网络的数据包中移除路由信息;
其中,所述交换电路系统被配置成将数据包路由到用于所述第一流量和所述第二流量的不同队列以供在至少一个设备上执行的应用进行处理,并且对往返于与所述第一流量相关联的第一队列对以及与所述第二流量相关联的一个或多个第二队列对的数据包的流入和流出打时间戳,其中基于所述映射来执行所述数据包到所述不同队列的所述路由,其中所述不同队列包括所述第一队列对以及所述一个或多个第二队列对,并且其中所述应用基于所述时间戳来关联所述第一实时网络和一个或多个第二实时网络的时钟同步信息。
2.如权利要求1所述的系统,其中所述交换电路系统进一步包括:
一个或多个功能单元,所述一个或多个功能单元被配置成执行以下操作:所述在所述第一实时网络和所述一个或多个第二实时网络之间路由数据包以及将数据包路由到不同队列。
3.如权利要求2所述的系统,其中所述一个或多个功能单元中的至少一个包括在网络交换机中。
4.如权利要求3所述的系统,其中所述一个或多个功能单元中的至少另一个包括在所述至少一个设备中。
5.如权利要求4所述的系统,其中网络节点包括:
所述网络交换机;以及
所述至少一个设备。
6.如权利要求5所述的系统,其中所述网络节点被配置为所述第一实时网络和所述一个或多个第二实时网络中的至少一个之间的桥接器。
7.一种用于配置第一实时网络和一个或多个第二实时网络之间的互操作性的方法,所述第一实时网络和所述一个或多个第二实时网络根据不同的协议操作,其中所述第一实时网络承载包括尽力而为流量和第一实时流量的第一流量,并且其中所述一个或多个第二实时网络只承载第二实时流量,所述方法包括:
配置网络交换机,所述网络交换机包括多个端口和耦合到所述多个端口的交换电路系统,其中所述配置包括:
配置所述多个端口中的一个或多个端口以分别耦合到所述一个或多个第二实时网络中的一个;以及
配置所述多个端口中的至少一个端口以耦合到所述第一实时网络;以及
用指定所述多个端口之间的数据路由的映射来配置所述交换电路系统;以及
配置所述交换电路系统以执行以下操作:
基于所述映射在所述第一实时网络和所述一个或多个第二实时网络之间路由数据包,由此维护所述第一实时流量和所述第二实时流量之间的实时行为;
在从所述一个或多个第二实时网络路由到所述第一实时网络的数据包中插入路由信息;
从从所述第一实时网络路由到所述一个或多个第二实时网络的数据包中移除路由信息;以及
将数据包路由到用于所述第一流量和第二流量的不同队列以供在至少一个设备上执行的应用进行处理,并且对往返于与所述第一流量相关联的第一队列对以及与所述第二流量相关联的一个或多个第二队列对的数据包的流入和流出打时间戳,其中基于所述映射来执行所述数据包到所述不同队列的所述路由,其中所述不同队列包括所述第一队列对以及所述一个或多个第二队列对,并且其中所述应用基于所述时间戳来关联所述第一实时网络和一个或多个第二实时网络的时钟同步信息。
8.如权利要求7所述的方法,其中所述交换电路系统包括一个或多个功能单元,所述一个或多个功能单元被配置成执行以下操作:所述在所述第一实时网络和所述一个或多个第二实时网络之间路由数据包、所述插入路由信息、所述移除路由信息以及将数据包路由到不同队列。
9.如权利要求8所述的方法,其中网络节点包括所述网络交换机。
10.如权利要求9所述的方法,进一步包括:
将所述网络节点配置成所述第一实时网络和所述一个或多个第二实时网络中的至少一个之间的桥接器。
11.一种用于在第一实时网络和一个或多个第二实时网络之间互操作的方法,所述第一实时网络和所述一个或多个第二实时网络根据不同的协议操作,其中所述第一实时网络承载包括尽力而为流量和第一实时流量的第一流量,并且其中所述一个或多个第二实时网络只承载第二实时流量,所述方法包括:
基于指定路由的映射在所述第一实时网络和所述一个或多个第二实时网络之间路由数据包,由此维护所述第一实时流量和所述第二实时流量之间的实时行为;
在从所述一个或多个第二实时网络路由到所述第一实时网络的数据包中插入路由信息;
从从所述第一实时网络路由到所述一个或多个第二实时网络的数据包中移除路由信息;以及
将数据包路由到用于所述第一流量和第二流量的不同队列以供在至少一个设备上执行的应用进行处理,并且对往返于与所述第一流量相关联的第一队列对以及与所述第二流量相关联的一个或多个第二队列对的数据包的流入和流出打时间戳,其中基于所述映射来执行数据包到所述不同队列的所述路由,其中所述不同队列包括所述第一队列对以及所述一个或多个第二队列对,并且其中所述应用基于所述时间戳来关联所述第一实时网络和一个或多个第二实时网络的时钟同步信息。
12.如权利要求11所述的方法,其中一个或多个功能单元执行以下操作:所述在所述第一实时网络和所述一个或多个第二实时网络之间路由数据包、所述插入路由信息、所述移除路由信息以及将数据包路由到不同队列。
13.一种用于在第一实时网络和一个或多个第二实时网络之间互操作的系统,所述第一实时网络和所述一个或多个第二实时网络根据不同的协议操作,所述系统包括:
网络交换机,包括:
耦合到第一实时网络的至少一个端口,其中所述第一实时网络承载包括尽力而为流量和第一实时流量的第一流量;以及
分别耦合到所述一个或多个第二实时网络的一个或多个端口,其中所述一个或多个第二实时网络中的每一个都承载只包括第二实时流量的第二流量;以及
耦合到端口的交换电路系统,其中所述交换电路系统被配置有指定所述端口之间的数据路由的映射;
其中,所述交换电路系统被配置成基于所述映射来在所述第一实时网络和所述一个或多个第二实时网络之间路由数据包,由此维护所述第一实时流量和所述第二实时流量之间的实时行为,其中所述交换电路系统在从所述一个或多个第二实时网络路由到所述第一实时网络的数据包中插入路由信息,并且其中所述交换电路系统从从所述第一实时网络路由到所述一个或多个第二实时网络的数据包中移除路由信息;以及
耦合到所述交换机的第一设备,其中应用在所述第一设备上执行,其中所述第一设备包括用于所述第一流量的至少两个第一队列对以及用于所述一个或多个第二实时网络的所述第二流量的一个或多个相应的第二队列对,其中所述第一设备被配置成对往返于第一队列以及第二队列的数据包的流入和流出打时间戳,并且其中所述应用基于所述时间戳关联所述第一实时网络和一个或多个第二实时网络的时钟同步信息;
其中,所述交换电路系统被配置成基于所述映射将数据包路由到所述第一队列对中的一个或多个队列以及路由到所述相应的第二队列对中的一个或多个队列,以供在所述第一设备上执行的所述应用进行处理。
14.如权利要求13所述的系统,其中所述交换电路系统进一步包括:
一个或多个功能单元,所述一个或多个功能单元被配置成执行以下操作:所述在所述第一实时网络和所述一个或多个第二实时网络之间路由数据包、所述插入路由信息、所述移除路由信息以及将数据包路由到不同队列。
15.如权利要求13所述的系统,其中网络节点包括:
所述网络交换机;以及
所述第一设备。
16.如权利要求15所述的系统,其中所述网络节点被配置为所述第一实时网络和所述一个或多个第二实时网络中的至少一个之间的桥接器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/054,227 | 2013-10-15 | ||
US14/054,227 US9137044B2 (en) | 2013-10-15 | 2013-10-15 | System and method for interoperability between multiple networks |
US14/511,863 US10164793B2 (en) | 2013-10-15 | 2014-10-10 | System and method for interoperability between multiple networks |
US14/511,863 | 2014-10-10 | ||
PCT/US2014/060311 WO2015057587A1 (en) | 2013-10-15 | 2014-10-13 | System and method for interoperability between multiple networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105814840A CN105814840A (zh) | 2016-07-27 |
CN105814840B true CN105814840B (zh) | 2019-07-16 |
Family
ID=51862548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480056467.6A Active CN105814840B (zh) | 2013-10-15 | 2014-10-13 | 用于多个网络之间的互操作性的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10164793B2 (zh) |
EP (1) | EP3058683B1 (zh) |
CN (1) | CN105814840B (zh) |
WO (1) | WO2015057587A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9967209B2 (en) * | 2013-10-15 | 2018-05-08 | National Instruments Corporation | Switch for scheduled data egress |
DE102013226977B3 (de) * | 2013-12-20 | 2015-02-05 | Cetitec GmbH | Kommunikationsknoten für ein paketvermitteltes Datennetzwerk und Verfahren zu dessen Betrieb |
CN105306326B (zh) * | 2015-11-13 | 2019-03-29 | 上海新时达电气股份有限公司 | 驱动器集成多种工业总线的实现方法 |
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 |
DE102018213123A1 (de) * | 2018-08-06 | 2020-02-06 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur echtzeitfähigen Datenübertragung zwischen zwei Netzwerken |
US10270567B1 (en) * | 2018-09-14 | 2019-04-23 | Ge Aviation Systems Limited | Avionics data networks |
EP3674824B1 (de) | 2018-12-28 | 2023-08-23 | Siemens Aktiengesellschaft | Verfahren zum betrieb eines kommunikationssystems zur übermittlung zeitkritischer daten und kommunikationsgerät |
US11489769B2 (en) | 2019-03-20 | 2022-11-01 | Cisco Technology, Inc. | Virtualized radio access network architecture for applications requiring a time sensitive network |
DE102019114309A1 (de) * | 2019-05-28 | 2020-12-03 | Beckhoff Automation Gmbh | Verfahren zum Routen von Telegrammen in einem Automatisierungsnetzwerk, Datenstruktur, Automatisierungsnetzwerk und Netzwerkverteiler |
DE102019121929A1 (de) * | 2019-08-14 | 2021-02-18 | Beckhoff Automation Gmbh | Netzwerkverteiler, Automatisierungsnetzwerk und Verfahren zur Datenübertragung in einem Automatisierungsnetzwerk |
US11924312B2 (en) | 2019-10-30 | 2024-03-05 | Microchip Technology Incorporated | EtherCAT controllers |
CN111585862A (zh) * | 2020-04-29 | 2020-08-25 | 烽火通信科技股份有限公司 | 一种EtherCAT与TSN网络互通的实现方法及装置 |
US11121889B1 (en) * | 2020-06-15 | 2021-09-14 | Moxa Inc. | Apparatuses and methods for routing packets between a time-sensitive networking (TSN) network and a non-TSN network by virtual local area network (VLAN) tag manipulation |
JP7248044B2 (ja) | 2021-02-26 | 2023-03-29 | 株式会社安川電機 | コントローラ、機器制御システム、時刻同期方法、および時刻同期プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002025988A1 (en) * | 2000-09-25 | 2002-03-28 | Themistoklis Rapsomanikis | Real-time traffic transfer in multi-service communication networks system and method |
CN101800751A (zh) * | 2010-03-09 | 2010-08-11 | 上海雅海网络科技有限公司 | 分布式实时数据编码传输方法 |
CN102204130A (zh) * | 2008-10-21 | 2011-09-28 | 泰克诺沃斯公司 | 在无源光网络中支持多住所单元 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2557892T3 (es) * | 1999-07-15 | 2016-01-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Control de admisión y planificación de tráfico de datos por paquetes |
CN102096405B (zh) | 2011-01-05 | 2013-05-01 | 深圳市赛远自动化系统有限公司 | 基于S-Link和VLAN技术的远程工业网络监控的方法及系统 |
-
2014
- 2014-10-10 US US14/511,863 patent/US10164793B2/en active Active
- 2014-10-13 WO PCT/US2014/060311 patent/WO2015057587A1/en active Application Filing
- 2014-10-13 CN CN201480056467.6A patent/CN105814840B/zh active Active
- 2014-10-13 EP EP14793684.3A patent/EP3058683B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002025988A1 (en) * | 2000-09-25 | 2002-03-28 | Themistoklis Rapsomanikis | Real-time traffic transfer in multi-service communication networks system and method |
CN102204130A (zh) * | 2008-10-21 | 2011-09-28 | 泰克诺沃斯公司 | 在无源光网络中支持多住所单元 |
CN101800751A (zh) * | 2010-03-09 | 2010-08-11 | 上海雅海网络科技有限公司 | 分布式实时数据编码传输方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150103831A1 (en) | 2015-04-16 |
EP3058683A1 (en) | 2016-08-24 |
EP3058683B1 (en) | 2017-06-14 |
WO2015057587A1 (en) | 2015-04-23 |
CN105814840A (zh) | 2016-07-27 |
US10164793B2 (en) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105814840B (zh) | 用于多个网络之间的互操作性的系统和方法 | |
US9654416B2 (en) | Switch for scheduled time-sensitive data egress | |
US10091027B2 (en) | Systems and methods for network interoperability | |
US9967209B2 (en) | Switch for scheduled data egress | |
US20150103848A1 (en) | System and Method for Synchronizing a Master Clock Between Networks | |
CN107078958B (zh) | 用于分组交换网中低抖动通信的系统、设备和方法 | |
US8068429B2 (en) | Transmit scheduling | |
Jasperneite et al. | A proposal for a generic real-time ethernet system | |
JP2024521725A (ja) | パケット伝送方法及びパケット伝送装置 | |
Huang et al. | Cycle-based time-sensitive and deterministic networks: Architecture, challenges, and open issues | |
CN104243536B (zh) | 一种高速列车控制网络半实物仿真系统 | |
Schriegel et al. | A migration strategy for profinet toward Ethernet TSN-based field-level communication: An approach to accelerate the adoption of converged IT/OT communication | |
Li et al. | EmuStack: An OpenStack‐Based DTN Network Emulation Platform (Extended Version) | |
CN110383776A (zh) | 用于等时交换分组化媒体流的系统和方法 | |
Simon et al. | Ethernet with time sensitive networking tools for industrial networks | |
Baldi et al. | Time-driven priority router implementation: Analysis and experiments | |
Berisa et al. | Investigating and Analyzing CAN-to-TSN Gateway Forwarding Techniques | |
Seliem et al. | Software-defined time sensitive networks (SD-TSN) for industrial automation | |
US20150103849A1 (en) | System and Method for Synchronizing a Master Clock Between Networks | |
CN112688868A (zh) | 一种面向电力物联网的周期感知tsn路由方法 | |
Gopalakrishnan | Applications of software defined networks in industrial automation | |
Donde | Support for Emulated 5G-System Bridge in a Time-Sensitive Bridged Network | |
CN109691019A (zh) | 执行通信网络业务模拟的设备和方法 | |
CN107425987B (zh) | 一种交换机控制方法、装置及系统 | |
Otten | Network simulation for professional audio networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |