CN1285041A - 电源线交换协议的方法和装置 - Google Patents

电源线交换协议的方法和装置 Download PDF

Info

Publication number
CN1285041A
CN1285041A CN98813262A CN98813262A CN1285041A CN 1285041 A CN1285041 A CN 1285041A CN 98813262 A CN98813262 A CN 98813262A CN 98813262 A CN98813262 A CN 98813262A CN 1285041 A CN1285041 A CN 1285041A
Authority
CN
China
Prior art keywords
node
network
medium
server
data
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.)
Pending
Application number
CN98813262A
Other languages
English (en)
Inventor
A·沃拜克
D·P·菲利普斯
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.)
Intelogis Inc
Original Assignee
Intelogis Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intelogis Inc filed Critical Intelogis Inc
Publication of CN1285041A publication Critical patent/CN1285041A/zh
Pending 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/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • H04L12/4035Bus networks with centralised control, e.g. polling in which slots of a TDMA packet structure are assigned based on a contention resolution carried out at a master unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/54Systems for transmission via power distribution lines
    • H04B3/542Systems for transmission via power distribution lines the information being in digital form
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2203/00Indexing scheme relating to line transmission systems
    • H04B2203/54Aspects of powerline communications not already covered by H04B3/54 and its subgroups
    • H04B2203/5404Methods of transmitting or receiving signals via power distribution lines
    • H04B2203/5408Methods of transmitting or receiving signals via power distribution lines using protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2203/00Indexing scheme relating to line transmission systems
    • H04B2203/54Aspects of powerline communications not already covered by H04B3/54 and its subgroups
    • H04B2203/5429Applications for powerline communications
    • H04B2203/5445Local network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

本发明涉及一个可伸缩的联网协议,该协议允许多节点(103、104、110)通过一个公共数据/控制信道进行通信(100)。该联网协议允许网络上的任何节点(103)指定自己作为活动的网络服务器。该活动的网络服务器轮询基于一个排队卡(S03)的客户节点。未激活的节点被自动从排队卡(S03)移去,因而减少了不必要的轮询业务量。这种结构减少了冲突,而为真正的数据传输保留了带宽。该协议为控制和数据联网两者的需求提供支持。通过在网络上分配时隙,并允许两个智能节点(103、104)互相直接对话且由活动的网络服务器仲裁,为流式数据和同步数据提供支持。该活动的网络服务器也能够分配单独的数据信道,这样大量的数据业务可以独立于该主网络的运行地流动。作为活动的网络服务器的该网络节点,可以在动态的基础上更换,并且典型地由在一个静止的网络上起始一个传输请求的第一个节点决定。客户节点由使用寻址隔离模式的动态轮询进行寻址。

Description

电源线交换协议的方法和装置
发明背景
技术领域
本发明涉及计算机数据网络协议,特别是涉及适用于电源线联网系统的协议。
相关技术描述
计算机特别是个人计算机的广泛应用,造成了计算机网络数量的迅速增长。两台或多台计算机联网到一起允许计算机共享信息、文件资源、打印机等。把两台或多台个人计算机和打印机连接到一起形成一个网络,原则上,是一个简单的任务。计算机和打印机可以使用一根电缆简单地连接到一起,并且在计算机上安装必要的软件。在网络术语中,电缆是网络介质,计算机和打印机是网络节点。不幸的是,在实际中,建立一个计算机网络经常并不象听起来那么简单。典型地,在尝试配置计算机网络时,用户将遇到软件的和硬件的问题。
标准的网络软件,如基于下文所述的开放系统互联(OSI)模型的软件,在编写时,假设每个网络节点都是一个具有基本的数据处理和存储能力的“智能”设备。一个典型的个人计算机就具有必须的数据处理和存储能力。但是,一台典型的打印机是一个“哑的”设备,并且不具有必须的处理和存储能力。一些制造商提供允许打印机被连接到网络的网络打印机适配器。该打印机适配器,是提供类似于全配置个人计算机的数据处理和存储能力的单板计算机。该网络打印机适配器,因此把“哑的”打印机转换为一个“智能”设备。尽管网络打印机确实起作用,但是它们的价格相对昂贵,因此不适于在一些家庭和小型办公环境中使用。此外,该打印机适配器也不适于用来将其它非PC设备连接到网络。例如,用户经常希望连接哑的设备,如户外的灯、报警系统、电话系统等诸如此类的设备,到他们的计算机网络。购买网络适配器插件,来把这些哑设备的每一个变为一个智能设备,将不可避免地费用昂贵。
当连接一个网络时,软件问题并不是用户遇到的唯一的问题。因为安装网络电缆来连接设备经常是必须的,用户也经常遇到硬件问题。在家庭或办公环境中,当计算机在不同的房间中或不同的楼层上时,安装必要的布线可能非常困难。人们都知道使用无线的和红外线的网络系统,但是这些系统容易被干扰,并受政府管制,因此不如倚赖于如电线或电缆的物理连接的系统那样常见。
发明概述
本发明通过提供一个廉价的、易于使用的、灵活的、可靠的、并且可伸缩的网络结构/协议,解决了这些以及其它的问题,该网络结构/协议允许多个智能的和哑的节点通过一个共用的数据/控制信道进行通信。该联网协议允许网络上的任何节点把自己指定为活动的网络服务器。该活动的网络服务器轮询基于一个排队卡的客户节点。未激活的节点被自动从排队卡移去,因而减少不必要的轮询业务量。这种结构减少了冲突,而为真正的数据传输保留了带宽。该协议提供了为控制和数据联网两者所需的支持。通过在网络上分配时隙,并允许两个智能节点互相直接对话且由活动的网络服务器仲裁,为流式数据和同步数据提供支持。该活动的网络服务器也能够分配单独的数据信道,因此大量的数据业务可以独立于该主网络的运行地流动。作为活动的网络服务器的该网络节点,可以在动态的基础上更换,并且典型地由在一个静止的网络上起始一个传输请求的第一个节点决定。客户节点由使用寻址隔离模式的动态轮询进行寻址。
该PLX结构,包括PLX协议,非常适于使用在建筑内已有的电力电源导线(电源线)作为网络介质的网络。使用已有的电源线来传输数据意味着用户不需要安装网络电缆。
该PLX结构为网络节点提供强大的、确定性的媒体接入能力。节点通过使用寻址隔离模式的动态轮询进行寻址。提供了一个可行的数据信道,使用于诊断、变元传送和一般的数据传送的应用系统。
在一个实施例中,该PLX协议提供了全球单一的识别码、节点文件夹和32位的虚拟寻址能力。这使得该PLX协议与即插即用型的网络相兼容。
在一个实施例中,该PLX结构提供了诸如同级、多个服务器、简单的配置、安全、数据报检测、多种数据格式以及优先权计划的特征。错误检测,如CRC和校验和以及数据完整性能力是一些PLX实施例的一部分。该PLX结构用于智能节点、哑的节点,并且该结构用于从简单控制到复杂数据流的数据处理。
在一个实施例中,PLX可以由状态(state)机器逻辑或一个微控制器来实施。一个流线型的低端的节点(哑的节点)可以被实施来使用整个PLX能力的一个子集。中端的节点,如器具,适合在此公开的该协议。高端的节点(智能节点),如PC、PBX、内部通信/监视系统、打印机、鼠标以及其它数据密集型的节点也可以在PLX结构中找到适用性。
该PLX为数据链路层、网络层和传送层定义了操作规则。在一个实施例中,PLX包括数据链路层的介质访问控制(MAC)部分。该MAC协议是管理怎样以及何时物理介质能够被每个节点访问的一组规则。在一个实施例中,该MAC协议使用一个减少在电源线上发生冲突的动态中心分布式令牌传递结构。
该PLX结构允许网络上的任何节点指定自已作为负责仲裁令牌请求的活动的网络服务器。当节点为非激活状态时,它们进入一种“静止”状态,因而减少了任何不必要的“轮询”业务量。这种结构减少了冲突,而为真正的数据传输保留了宝贵的带宽。
该PLX结构,在一些方面,是一个为控制和数据两方面联网所需的支持包的客户/服务器联网结构。通过在网络上分配时隙,并允许两个智能节点互相直接对话且由活动的网络服务器仲裁,能够为流式数据和同步数据提供支持。该活动的网络服务器也能够分配单独的数据信道,因此大量的数据业务可以独立于该主网络的运行地流动。作为活动的网络服务器的该网络节点,可以在动态的基础上更换,并且典型地由在一个静止的网络上起始一个传输请求的第一个节点决定。另外,该活动的网络服务器是独立于应用服务器地被选定的。应用服务器典型地在一固定节点位置。该网络服务器可以是任何能胜任的服务器节点。
在一个实施例中,PLX提供组合的介质访问能力,包括一个为在未激活的(静止的)网络介质上的最初访问的数据报检测算法,被为插入到一个激活的网络上的中心控制的令牌传递跟随。这有效地把多个访问与一个无冲突的、令牌传递型的环境,以及确定性的附加的益处联系在一起。在一个实施例中,PLX用一个数据报的出现,来决定最初的介质可访问性。特别是通过匹配一个特定的前同步码/长度序列组合,来检测该数据报。
在一个实施例中,通过使用一个仅仅传递令牌到在系统上的激活的节点的、集中式动态轮询算法,PLX减少在网络上的业务量。一旦一个节点变为非激活的,该节点就被从轮询的列表中移去。这种选择性的轮询过程,是基于节点通过一个被称为“在总线上发信号(spitting)”,把它们自己插入到轮询的列表中的能力。
这种发信号(spitting)过程,提供对于轮询列表的实时的、飞击式(on-the-fly)插入。这种发信号(spitting)过程,允许多个节点响应被视为一个单个的系统响应。这个系统响应允许活动的服务器节点(正在进行轮询的节点)来进一步把要求插入到轮询列表的特定的节点区分出来。
从轮询列表中实时的、飞击式(on-the-fly)的退出(de-insertion)插入由一个老化(aging)过程提供。经过一个预先定义的时间段后,如果他们没有使用令牌,未激活的节点最终被从轮询列表中移去(分离插入)。在一个实施例中,如果一个节点未能响应一个令牌请求,该时效过程进一步被加速。
在一个实施例中,基于介质的带宽能力,轮询列表被设置为一个固定的容量(节点的数量)。传输具有较低的优先权的数据(如用于照明系统的控制数据)的节点,被从轮询列表中移去,目的是为传输具有较高的优先权的数据(如音频/视频流式数据)的节点让出空间。
在一个实施例中,在该PLX中的介质访问控制(MAC)层,通过使用一个备用的接收缓冲器和忙响应信号交换,提供一种自我调节机制。在一个实施例中,自我调节是通过提供一个MAC报头,在每个节点中的用于保持该MAC报头的一个拷贝的足够大的接收区来完成。即使一个节点被先前的包请求完全淹没,通过一个忙响应,这个被淹没的节点也能够对一个请求作出响应。该忙响应通知正在传输的节点,正在传输的节点必须截止它的包突发或序列,因此根据每个接收节点的能力协调该系统。
一个节点的加电时的自动通告特征,提供了远端数据库服务器的再同步。在一个新节点加电时,该新节点将通告它新出现在介质上。
在一个实施例中,PLX提供优选的服务器选择和kick-start算法。因为PLX是一个客户/服务器型的结构,一个单个的节点被典型地选定来仲裁介质访问。在一个典型的电源线网络上,并非所有的节点要建立为平等的。因此,PLX的一个实施例允许一个用户选择一个处于最中心位置(如邻近一个开关板)的节点作为优选的“活动的网络服务器”。如果该优选的服务器未激活,远端的节点可以激活该优选的服务器。一个简单的唤醒算法允许一个未激活的优选的服务器再次变为激活的。
在一个客户/服务器模型中,开始,一个节点请求访问介质的令牌。一旦一个客户节点被发给令牌,在一个特定的时间内,它可以接管该介质。在此期间,它可以与系统上的任何节点直接通信,而独立于服务器的涉及之外。在此期间结束后,介质访问控制被释放回服务器节点。因此,介质的仲裁首先以客户/服务器的方式进行,接下来是一个对等关系的时隙。
在一个实施例中,PLX包括一个动态的仲裁服务器。该仲裁到介质访问的服务器,基于活动性被动态地指定。当第一个要传输包的节点,发现系统是“未激活的”,并且经过唤醒优选的服务器(如果有一个存在)的几次尝试后,出现这种动态的指定,承担活动的网络服务器的职责。在PLX网络上,任何具有服务器能力的节点都能成为活动的网络服务器。
在一个实施例中,本网络协议提供了通过电源线介质发送和接收流式数据。在一个实施例中,流式数据包括数字语音数据。在一个实施例中,流式数据包括数字视频数据。
在一个实施例中,通过电源线介质,该网络协议被用来提供数字PBX型功能和/或数字内部通信功能。在家里已有的电源线上,该网络协议可以被用来扩展宽带数字联网服务(如DSL、电缆、ISDN等)遍及家里。
该网络协议可以同时处理和管理三种或多种联网业务:控制业务;数据业务;以及流式数据业务(流多媒体数据)。该网络协议提供区分优先权方案,以根据一个给定的节点的联网需求(如一个为语音设备决定的需求),允许有保证的访问时间。
附图的简要描述
当与以下列出的附图一起阅读时,本公开的发明的优点和特征,将被在本技术领域内熟练的人员,从以下的详细描述中,很容易地意识到。
图1是具有智能节点,如个人计算机,和哑节点,如外部安全照明,的一个网络的一个框图。
图2是七层OSI网络模型的一个框图。
图3是关于一个智能设备的一个PLX网络模型的框图。
图4是关于一个哑设备的一个PLX网络模型框图。
图5是展示介质访问算法的一个流程图。
图6A是展示活动的网络服务器发信号(spitting)算法的一个流程图。
图6B是展示客户发信号(spitting)算法的一个流程图。
图7是展示活动的网络服务器轮询算法的一个流程图。
图8是展示一个PLX逻辑组隔离(LoGI)包的字段一个框图。
图9是展示一个PLX原始数据包的字段的一个框图。
图10是展示一个PLX令牌包的字段的一个框图。
图11是展示一个PLX直接确认(DACK)包的字段的一个框图。
图12是展示一个PLX掩码的排队插入包(LIPG)的字段的一个框图。
图13是展示一个PLX直接排队插入(LIPD)包的字段的一个框图。
图14是展示一个PLX内部主机包的字段的一个框图。
图15是展示一个PLX公共应用语言(Common ApplicationLanguage)(CAL)请求包的一个框图。
图16是展示一个PLX CAL响应包的一个框图。
图17是展示一个PLX单个信道传输状态包的一个框图。
图18是展示一个PLX多信道传输状态包的一个框图。
图19是展示一个PLX包定时的一个定时图。
在图中,任何三位数字的第一位数字,一般标识组件第一次出现的图的号码。使用四位参考号码的地方,前两位数字标识图的号码。
最佳实施例的详细描述
图1展示了具有网络介质100(展示为一根电缆)的一个典型的计算机网络。一个智能节点(展示为一台个人计算机103)通过一个连接器102被连接到该网络介质100。一台打印机110,一台计算机104和一个安全照明系统118也被连接到该网络介质100。该安全照明系统118,是具有相对少的计算功能或存储的一个“哑”节点的一个例子。
为智能节点(如计算机103和104)配置的大部分网络,是基于由开放系统接口(OSI)委员会开发的一个网络结构模型。该OSI结构定义了一个网络模型,其中列出了在一个通信系统中的每一个单独的硬件和软件层,层之间的内部相关性,以及每一层所执行的单一功能。
图2展示了该OSI结构被分为七个层,从最低到最高为:物理层201;数据链路层202;网络层203;传送层204;对话层205;表示层206;和应用层207。每层使用直接在其下面的层,并且为直接在其上面的层提供服务。在一些实施中,一层可能本身由多个子层组成。一层是两个或多个通信设备或计算机的软件和/或硬件环境,一个特定的网络协议在该通信设备或计算机中运行。一个网络连接可以被看成为一组或多或少独立的协议,每一个在不同的层或级中。最低层管理在不同节点的硬件之间直接的节点到节点的通信;最高层由用户应用程序组成。每层使用在其下面的层,并且为在其上面的层提供服务。在一个主机上的每个联网组成部分的硬件或软件,使用适用于这一层的协议,与在另一个节点上的相应的组成部分(它的“对等”)进行通信。这样的分层协议被称为对等协议。
分层协议的优点,在于由一层到另一层传递信息的方法,被清晰地确定为协议组成的部分,并且防止了在一个协议层内的改变影响到另一个协议层。这简化了设计和维护通信系统的任务。
物理层201是OSI分层的模型中的最低层。它涉及网络中电的和机械的连接,包括介质访问控制(MAC)。介质访问控制是指控制,和访问数据传输介质100(例如网络电缆)。物理层201被数据链路层202使用。
数据链路层202是OSI模型中的由下数的第二层。为了在物理层201上发送数据和接收确认帧,数据链路层202把数据分成帧。数据链路层202执行错误检测和重传未被正确接收的帧。数据链路层202为网络层203提供一个无差错的虚拟信道。数据链路层202被典型地分为一个高的子层,逻辑链路控制(LLC),和一个低的子层,介质访问控制(MAC)。
网络层203是OSI七层模型中的由下数的第三层。网络层203决定通过数据链路层202的由发送者到接受者的数据包的路由,并且被传送层204使用。最常用的网络层协议是IP。
传送层204(或“主机-主机层”)是OSI模型中处于中间的层。传送层204决定怎样使用网络层203,来提供一个虚拟的无差错的、点对点的连接,因此第一个节点可以传送信息到第二个节点,并且信息将未被破坏地和以正确的次序到达。传送层204建立和释放节点间的连接。
对话层205是OSI模型中的由上数的第三层。对话层205使用传送层204来建立在不同节点上的过程间的连接。对话层205处理安全性和对话的建立。
表示层206是OSI模型中的由上数的第二层。表示层206执行如文本压缩、编码或格式转换等功能,来消除节点间的差异。表示层206允许在应用层中不兼容的过程,通过对话层进行通信。
应用层207是OSI模型中的最高层。应用层207与用户对于网络(如格式化的电子邮件信息)的观点相关。表示层206为应用层207提供独立于在网络上使用的格式的熟悉的本地数据表示。应用层协议的例子包括:远程登录、文件传送协议(FTP)、简单网络管理协议(SNMP)、简单邮件传送协议(SMTP)、网间控制报文协议(ICMP)、NetWare核心协议(NCP)、路由信息协议(RIP)、服务广告协议(SAP)、一般的文件传送协议(TFTP)、系统错误容限协议(SFTP)。
在OSI模型的七个层中,对话层205和表示层206,与其他五层相比,与该PLX协议有相对较少的关系。PLXOSI模型
OSI上面的五层203-207中的每一层,都给网络应用增加了有效的开销。如图3所示,PLX使用被称为公共应用语言(CAL)的一个相对小的应用层307,和一个相对小的传送/网络层303,来补充下边的数据链路层302和物理层301。301-303和307中的每一层,都被典型地表示在PLX顺从性节点中。如图3所示,PLX数据联网节点(智能节点),也可以包括在应用层207、网络层203和传送层204中的传统的OSI网络性能(如TCP/IP,IPX,Windows,NetWare,等)。PLX顺从性节点典型地包含数量减少的控制信息,该控制信息仅使用PLX堆栈的在PLX节点之间传递,如包含在301-303和307层中的。PLX物理层
PLX物理层301处理与网络硬件、网络电缆,并且典型地,包括实际的硬件本身相接口的硬件细节。PLX物理层包括诸如调制技术、使用的频率、输出功率等属性。在一个实施例中,PLX使用如下所述的数字电源线(DPL)技术。PLX数据链路层
PLX数据链路层302处理与介质100接口的细节,如寻址能力、介质仲裁计划、间隙之间的间隔、退出算法等。数据链路层302典型地包括一个报头,其中包括源/目的地址、长度和错误检测/校正数据,如循环冗余校验(CRC)或校验和数据。PLX网络层
网络/传送层303,有时被称为网间网层,负责为数据包在网络上由一个地点到另一个地点进行路由。在PLX内,网络层303典型地处理使用在一个MAC报头字段中的系统、单个节点、套接字、和网络地址字段。PLX传送层
PLX网络/传送层303,为驻留在其上面的应用层307,提供在两个主机之间的一个数据流。传送层303也包括序列号和/或请求/应答型的确认信息。与OSI传送层203相比,在PLX中,传送层303被减小规模并连成一个整体,来允许控制应用。传送层303提供请求/应答信号交换算法、重传算法、超时算法等。PLX几乎完全在一个MAC报头的控制字段中,实施网络/传送层303。PLX应用层
PLX应用层307处理应用的细节,并且根据正在使用的是何种传输,PLX应用层307可以使用信号交换协议和/或请求/应答协议来确保包的发送。在OSI各层的协议中存在大量的重复字段。这种重复转换为更多的开销,使用更多的空间,并且需要附加的处理能力。在PLX协议中,许多OSI字段并不需要而被典型地省略掉。
包括在不同的OSI协议中的不同的元件的检测,显示出数据链路层302在没有上面三层时,可以作许多过滤。这种过滤是有益的,因为数据链路层302经常典型地被限制在也负责硬件问题的硬件逻辑中,如多个节点为相同的通信信道竞争(如多个网卡为相同的网络连线竞争)。在一个实施例中,一个特定的网络节点的网络硬件,过滤除了目的地为该特定的网络节点的数据包以外的所有的东西。在这样的一个系统下,节点仅需要对一个数据包的数据部分进行语法分析。用于DPL的两个协议
PLX优先地定义了两个协议用于数字电源线(DPL);一个低级协议和一个高级协议。
低级协议定义。该低级协议提供了数据链路层302的一个限定,并限定了如何从相同的介质100,以相对较少的联网和传送功能进行包的过滤、发送和接收。
高级协议定义。PLX节点包含数量减少的控制信息。每一个PLX节点使用一个通用的应用层307来控制特殊的节点属性。这允PLX系统可以具有不管节点类型的特征。在硬件报头被分离出来后,应用层307译码或分析控制信息。物理层:数字电源线(DPL)技术规格
PLX协议是一个多用途的协议,该协议可以与许多种类型的网络介质(如数据传输系统)一起使用,网络介质包括光传输、光纤传输、射频传输系统、双绞线传输系统、同轴电缆传输系统、卫星传输系统、数字电源线(DPL)系统等。
DPL系统,也称为电源线载波系统,使用电力供给连线(如建筑物中的110伏特交流(VAC)电路)来承载数字数据。在一个实施例中,PLX协议被用于具有DPL的连接中,该DPL具有一个单个的低速率信道(350-1000kbps)、约为5.6MHz的低速载频、约为80dB或更好的动态范围、低的带宽使用率(依赖于速率,但约为1MHz)。
在一个实施例中,PLX协议被用于具有DPL的连接中,该DPL具有多个速率信道(共4-8mbps)、直至30MHz或更高的高速载频、和约为80dB或更好的动态范围。
在一个典型的DPL系统上,在数据之前的传输载波被典型地允许为至少20毫秒,并且直到接收器检测不到载波为止,发送器停止发送之间的时间可以为15毫秒或更长。低级协议层:PLX技术规格
从简单的控制到复杂的数据流网络,该PLX协议大小可调。在一个实施例中,该PLX协议被适配为可以权衡Generic CAL技术规格的大部分特征。在EIA-600中定义的CEBus,是用来控制总线设备的一种工业标准控制语言。EIA-600为用在家庭中的LAN中的通用应用语言提供了一个框架。Generic CAL在EIA-721系列标准(包括EIA-721.1、EIA-721.2、EIA-721.3和EIA-721.4)中定义。CEBus工业委员会(CIC)定义了一个家用的即插即用(HPP)技术规格,通过为使用该语言定义“语法”规则,该技术规格具体化了该框架。
该HPP技术规格细节化了家庭中的产品和系统的一组行为特征,这将允许它们基于家庭的状态采取行动。例如,该技术规格区分了家庭中的不同条件,如“居住者不在”或“居住者在家并在睡觉”,来允许家庭系统采取适当的行动,如启动安全系统、关掉内部电灯,或设置温度。HPP技术规格也包括为开发基于Windows′95 PC的家庭控制应用的信息。
在EIA-600中定义的通用应用语言,为不同工业部门(如娱乐、计算机、加热/制冷、厨房用具等)生产的家庭中LAN产品之间的通信提供了一个框架。
每个工业部门定义它的产品所使用语言的“应用环境”(如语法规则)。CIC作为支持组织被创立,该组织帮助不同的工业部门开发“协调的”应用环境。对于那些追求具有基于可互操作的产品的CAL的家庭LAN市场的工业部门,CIC的HPP是协调的应用环境的纲要。
CEBus/Generic CAL技术规格在此全部插入作为参考。介质访问概述
PLX可以是具有中心控制的令牌传递计划或DSMA/CTP的数据报检测多访问协议的特征。因为多个对等体被允许访问相同的物理介质100,PLX提出了为每个节点把数据放到介质100上时,使用的一组通用的规则。
PLX从不同数量的协议集成了几个特征,来创建一个单独的、高效的、确定性的环境。PLX提供数据报检测。每个PLX节点可以检测介质100的业务量,如果介质100目前静止时,指定它自己。通过一个有组织的令牌传递型机制避免冲突。PLX包括为处理到介质的访问而选择一个单独的、中心的仲裁节点的方法。该中心节点(活动的服务器)负责确保在一个活动的系统上有一个令牌。PLX使用选择性的动态轮询来提供设计的简化、实施的简易性、无冲突的访问、系统的接收和随后释放令牌、和用于数据的可靠传递(请求/应答)的一个确认序列。
当节点是“未激活”时,PLX提供维持“静止的”介质100的能力。典型地,在PLX中,只有“激活的”节点在介质100上通信。为即插即用功能,PLX也提供一个全球寻址计划,和隔离多节点争用介质100的一种算法。
PLX也为流应用提供时间确定机制、或确保的时隙,和为快速回转时隙(times)而提供减少的单元长度(包长度)。
PLX提供多速率支持、热交换、确认(athentication)和安全、控制和管理包。
此外,在高层协议中,PLX提供许多控制联网的功能。结果,通过应用许多不同拓扑的先进功能,介质访问的方法被高度地优化。介质访问方法
介质访问方法列出了用于获取对介质100的访问的规则。PLX获取对介质100的访问的方法典型地包括三步;
1.数据报检测或“侦听”;
2.在总线上发信号(spitting);和
3.中心控制的令牌传递。
根据在系统上出现的令牌,节点具有作为活动的网络服务器节点或作为一个客户节点的特征。在一个PLX系统上,对介质100的起始访问是通过侦听活动来完成,然后自我指定为活动的网络服务器,最后是活动的网络服务器的系统的中心控制的令牌传递。
图5是展示介质访问算法的一个流程图,PLX用该算法来仲裁哪个节点被允许在介质100上“通话”。图5中的流程图由一个加电和通告过程框501开始,其中每个节点在加电后,通告它在介质100上的出现。通告完成后,过程前进到一个判定框502。该节点(空闲的)在判定框502处循环,直到接收到一个传输(Tx)准备好的命令,据此,过程前进到一个判定框503。如果在判定框503中,节点不在排队卡上或者节点是活动的服务器,过程前进到一个数据报判定框504;否则,过程前进到一个判定框516。在判定框516中,如果该节点接收到令牌,那么过程前进到一个传输包框514;否则,过程前进到一个超时(timeout)判定框510。在判定框510中,如果未发生超时,则过程返回到判定框516;否则,过程前进到数据报检测框504。在传输包框514中,过程传送一个传输包并前进到一个轮询框515。在轮询框515中,活动的网络服务器轮询激活的节点,如与图7相关的描述的那样,或者返回,如果节点是客户。完成轮询框515后,过程前进到一个判定框502。
在数据报检测框504中,节点侦听介质一段特定的时间,然后前进到一个判定框505。在过程框504的侦听阶段中,如果介质醒来,则过程前进到一个LIP请求判定框506;否则,过程前进到过程框512。在过程框512中,节点发送一个“唤醒”包,并前进到一个判定框514。在判定框514中,如果已经发送了三个唤醒包而未得到响应,则过程前进到一个自我指定框513;否则,过程返回到数据报检测框504。在自我指定框513中,节点指定自己作为活动的服务器节点,并且过程前进到传输包框514。
在LIP请求判定框506中,过程检测LIP请求的出现。如果没有LIP请求出现,过程前进到一个超时判定框509,否则,过程前进到一个过程框507。在超时判定框509中,过程检测来看一个特定包的时效期间是否已经过去。如果该期间已经过去,则过程返回到判定框502;否则,过程返回到LIP请求判定框506。
在过程框507中,节点在总线上发信号(spit)然后前进到一个判定框508。在判定框508中,过程检测来看该节点是否已经被选中(draft)。如果节点被选中(draft),则过程返回到接收令牌判定框516;否则,过程返回到LIP请求判定框506。
框502、503、510和514-516,是中心控制的令牌传递算法的部分。框504、505和511-513,是数据报检测(侦听)算法的部分。框506-509是在总线上发信号(spitting)算法的部分。
如图5所示,开始的访问介质100是根据介质是“睡眠的”或“醒来的”,通过两种不同的方法之一来完成。如果介质是睡眠的,一个期望访问的节点将自我指定为活动的网络服务器。如果介质100是激活的(也就是说,正在被一个活动的网络服务器使用),则一个期望访问的客户节点将向该活动的网络服务器请求访问。该活动的网络服务器维持一个发出访问请求的客户节点排队卡。通过被称为“在总线上发信号(spitting)”的一个过程,一个客户节点请求被放到排队卡上。
典型地任何具有服务器性能的节点,都可以指定自己作为活动的网络服务器,但是,在一个给定的节点中,并不要求包括服务器性能的特性。
一旦一个活动的网络服务器被选定,它必须能够建立并维持包括一个要被轮询的激活的节点列表的一个“排队卡”。当所有激活的节点变为静止后(通过一个老化过程),活动的网络服务器释放作为活动的服务器的当前状态,并且介质100再次变为静止的(睡着的)。典型地,活动的网络服务器是被一个要在介质100上传输的节点自我指定的。
当一个节点沉默一段时间后,该激活的节点被从排队卡上移去。当一个具有较高优先权数据的节点需要访问排队卡时,激活的节点也将被从排队卡上移去。排队卡典型地有一个最大的时隙(slots)数量。换句话说,排队卡有一个最大的可以进入排队卡的节点数量。时隙(slots)数量一般由在介质100上可用的带宽和不同的节点所需的带宽决定。如果N是排队卡中时隙的最大数量,t是一个特定的节点可以保持令牌的最长时间(以毫秒计),那么每个激活的节点至少约每隔N*t毫秒获得一次令牌。因此,排队卡提供决定机制,在此机制中一个激活的节点将在一个规则的、可预测的基础上得到轮询。
例如,流式视频数据具有比流式音频数据更高的优先权。因此,如果N个流式视频节点已经进入到排队卡上,一个流式音频节点请求进入到排队卡上将被拒绝。但是,当该流式音频节点每次请求进入到排队卡上时,将被发给令牌。这说明了排队卡的一个属性。列在排队卡上的节点将被自动轮询,因此将在一个规则的基础上获得令牌而不必请求令牌。未列在排队卡上的节点,只有在请求令牌后或一个请求被放到排队卡上后,才收到令牌。
一个特定的节点提供的数据的优先权,决定于与在如下所述的节点文件夹目标中共同描述的网络级别字段。对于一个特定的节点的网络级别,也可以在该节点地址(设备类型字段)的最高四位中找到。
节点信号标志
每个PLX节点管理两个本地信号标志,这些信号标志反应系统当前的状态和在系统中节点的涉及。这些信号标志帮助节点决定是否需要开始侦听过程。典型地,节点管理这两个信号标志,因为它们被用来获得到介质100的访问(当节点要传输东西时)。
第一个信号标志反映“系统状态”。系统的状态是“正在使用(awake)”或“静止(asleep)”,这决定于介质100是否处于激活的状态(如,在介质100上检测到包)。
第二个信号标志被称为“本地节点状态”。该本地节点状态反映一个节点的三个可能的状态之一,如下:(1)该节点是一个活动的网络服务器节点;(2)该节点是一个激活的客户节点,或(3)该节点是一个未激活的客户节点。本地节点状态说明一个节点是否应开始侦听算法,该节点是否目前在排队卡上(正在被轮询),或该节点目前是活动的服务器。
“系统状态”信号标志
每个节点对系统是否正在使用或处于静止得出各自的结论。这个结论是基于排队插入请求包(LIP)在介质100上的出现。当一个节点检测到一个LIP包时,系统状态信号标志变为正在使用。如果经过一段时间后,LIP包未被检测到,该节点把系统状态切换为静止。这含义是,如果一个活动的网络服务器存在,它应该不时地发送LIP包来使客户节点保持于正在使用状态。
一个节点使用这个信号标志来决定是否它必须侦听介质100。只有当系统状态为静止时,节点才需要通过一个侦听过程来争用介质100。
“本地节点状态”信号标志
在一个客户节点的最后传输后,活动的网络服务器,将持续一至十秒,分配令牌(轮询)到目前在它的排队卡上的这个客户节点。在此时,活动的网络服务器确定该节点完成了传输,并使该节点“老化”,从排队卡上去掉。客户节点必须能够检测这个。当客户节点正在接收到令牌时,它被认为是激活的。当客户节点目前没有接收到令牌,它被认为是未激活的。只有当通过一个称为“在总线上发信号(spitting)”的处理过程,被活动的网络服务器插入到排队卡中后,一个未激活的客户才能在介质100上传输。下表1列出了可能的节点信号标志状态,和对于在介质上传输来说每个状态的含义。
表1.有一个准备好的新的传输的节点的下一步行动
系统状态    节点状态    下一步传输行动
正在工作    激活的      在排队卡上:等待令牌
正在工作    未激活的    不在排队卡上:在总线上发
                            信号(Spit)
静止        激活的    不良状态:侦听,然后指定
                            作为服务器
静止        未激活的  侦听,然后指定作为服务器
数据报检测或“侦听”
上文所讨论的系统状态信号标志,是决定一个节点是否开始侦听的主要因素。它也是决定节点是否应把自己指定为活动的网络服务器,或是否接受作为一个客户的顺从角色的主要因素。典型地,侦听只在开始在一个静止的系统上传输前执行。如果有任何节点在介质100上传输,则一个活动的网络服务器早已被选定来发送LIP包和仲裁令牌的分配,并且系统正在使用中。如果系统正在使用,节点应作为一个客户。
当一个节点确定它有一个包准备好发送到介质100上,并且系统状态信号标志是静止,该节点执行一个侦听过程来决定它的下一步,并在这个起始过程中把冲突减到最小。这应是在PLX网络上,两个节点可能为介质100竞争的仅有的期间,并且会发生可能的未知冲突。因而,提供了一个加强的补偿算法。
有两个在侦听中寻址的可能的情况:(1)节点刚加电并需要传输它的“通告”或“CAL-ping”包,来宣布它加入到当前系统;或(2)节点是未激活的并正在尝试唤醒系统。在其中任一情况,如果一个服务器在侦听时被检测到,该节点应立即开始查找一个LIP包。一个LIP包将允许该节点插入到活动的网络服务器的排队卡上,并进行随后的令牌传递和节点传输。
开始“侦听/发脉冲(Ping)”通告
一旦一个节点加电,则通过发送一个广播CAL-ping包,该节点通告其在系统中的出现。通过“推进”信息而不是总是尝试去“取出”信息,这样使得自动发现机制更加强大。因为刚刚加电的节点,没有关于系统的历史记录,与一个普通的唤醒过程相比,它的侦听算法稍有不同。
在广播一个CAL-ping包之前,初始的侦听可能持续500ms。这是通过对业务实际侦听一段限定的时间,然后在那段时间内随机地传送一个广播唤醒包三次,如果该节点存在,允许优选的服务器轮询这个节点。这个序列重复三次,在每次结束时,广播一个CAL-ping包到所有节点,表明已成功地进入到系统上。侦听/发脉冲(ping)过程的这个序列由伪代码给出如下:
1)
a)侦听介质100,持续一个小于125ms的随机数量的时间长度
  (查找一个LIP包)。
b)发送一个广播唤醒包三次,其中间隔300μs间隙空间。
c)继续侦听,以完成一整个125ms的时间段。
2)
a)侦听介质100,持续一个小于125ms的随机数量的时间长
  度(查找一个LIP包)。
b)发送一个广播唤醒包三次,其中间隔300μs间隙空间。
c)继续侦听,以完成一整个125ms的时间段。
3)
a)“侦听”介质100,持续一个小于125ms的随机数量的时
  间长度(查找一个LIP包)。
b)发送一个广播唤醒包三次,其中间隔300μs间隙空间。
c)继续“侦听”,以完成一整个125ms的时间段。
4)指定作为活动的网络服务器,并且发送一个“CAL-ping”包来
  表明出现。
5)取消指定作为活动的网络服务器。
以上侦听/发脉冲(ping)过程在节点加电后立即发生,因此这个过程所用的执行时间一般并非很长。如下所述,运行时的唤醒过程,经常被执行,因此理想地具有一个短的执行时间。
运行时“侦听/唤醒”序列
一旦一个节点加电后并在系统上通告它的出现,该节点开始工作在一种运行时模式中。在该节点运行时模式工作中,如果一个节点需要传输一个包到一个静止的系统上,它经过一个相似的事件序列,来尝试并唤醒一个优选的服务器。如果优选的服务器不存在,并且没有活动的网络服务器存在,那么该节点指定它自己作为活动的网络服务器,并开始轮询客户节点。为侦听/唤醒算法的一个伪代码列表给出如下。在如下给出的算法之外,为了更快的响应时间,节点也可以选择性地监视介质100并使用本地节点信号标志来反映系统的状态。该本地节点信号标志与唤醒包一起使用来进一步减少与这个过程相关的等待时间。
1)
a)侦听介质100,持续一个小于125ms的随机数量的时间长度
  (查找一个LIP包)。
b)发送一个广播唤醒包三次,其中间隔300μs间隙空间。
c)继续“侦听”,以完成一整个125ms的时间段。
2)
a)侦听介质100,持续一个小于125ms的随机数量的时间长
  度(查找一个LIP包)。
b)发送一个广播唤醒包三次,其中间隔300μs间隙空间。
c)继续侦听,以完成一整个125ms的时间段。
3)
a)侦听介质100,持续一个小于125ms的随机数量的时间长
  度(查找一个LIP包)。
b)发送一个广播唤醒包三次,其中间隔300μs间隙空间。
c)继续侦听,以完成一整个125ms的时间段。
4)指定作为活动的网络服务器,并且发送一个“CAL-ping”包来
  表明出现。
5)取消指定作为活动的网络服务器。
在总线上发信号(Spitting)
当系统上的一个节点有一个包准备好要发送,并且系统处于工作状态(一个活动的网络服务器存在并正在分配令牌)时,“发信号(spitting)”过程发生。该活动的网络服务器是被授权来允许在介质100上访问的唯一节点。该活动的网络服务器的排队卡是一个机制,通过这个机制,未激活的客户节点可以获得到介质100的访问。各节点发信号(spit)来进入活动的网络服务器的排队卡。
在典型的运行时工作期间,网络将呈现两种状态之一:静止状态或工作状态。根据网络当前的状态,发信号(spitting)过程稍有不同。
静止和工作状态
当活动的网络服务器确定没有节点目前需要服务(发送包),网络进入静止状态,并且作为结果,停止传送令牌。使网络停止活动之前,在一个特定的时间内,活动的网络服务器发送一系列掩码组LIP(LIPG)请求包。如果LIPG请求包序列没有得到来自任何客户节点的响应,活动的网络服务器变为未激活状态,并且网络变为静止状态。请求传输的节点到网络上的后续进入,随后通过上文所述的通常的争用处理、侦听算法来完成。
工作状态象征特定网络上的节点,这些节点正在与一个或多个远端节点交换信息。在工作状态,介质访问由活动的网络服务器和它的排队卡控制。通过使用为目前在排队卡上的节点的一个令牌传递计划,和通过为尝试进入到排队卡上的节点的发信号(spitting),减少了冲突。
“在总线上发信号(spitting)”序列
在总线上发信号(spitting)的序列允许活动的网络服务器周期性地发送一个LIPG包。静止的客户节点被允许响应LIPG包。一旦发现一个响应,该活动的网络服务器发送一个未掩码的LIPD请求到所有的节点,希望得到带有需要令牌的节点的地址的一个单独响应。如果多于一个节点竞争令牌,将见不到响应,并且活动的网络服务器进入一个节点隔离序列。
图6A和6B分别说明了一个活动的网络服务器和客户节点在总线上发信号(spitting)的过程。在图6A中,一个活动的网络服务器在总线上发信号(spitting)的过程,始于起始框601,此时开始一个节点变为活动的网络服务器。该过程由起始框601前进到一个轮询框602。在轮询框602中,活动的网络服务器轮询当前在排队卡上的所有节点。一旦轮询结束,该过程前进到发送框603。在发送框603中,活动的服务器发送一个未掩码的LIP请求,然后前进到一个判定框604。在判定框604中活动的服务器检测LoGI响应。如果收到一个LoGI响应,则过程前进到一个过程框605;否则,该过程返回到轮询框602。
在过程框605中,该活动的网络服务器发送一个未掩码的LIPD请求,然后前进到一个判定框606。在判定框606中,活动的服务器检测一个直接ACK(DACK)响应。如果一个单独的DACK响应被接收到,则该过程前进到一个过程框607。如果多个DACK响应被接收到,或者如果没有接收到DACK响应,则该过程前进到一个节点隔离框610。在过程框607中,发送DACK响应的客户节点被加到排队卡上,然后过程返回到轮询框602。
在过程框610(开始节点隔离算法)中,过程初始化一个LIPG掩码,并前进到一个过程框611。在过程框611中,该掩码被更新(如在掩码中的一个下一位被切换),并且过程前进到一个发送框612。在发送框612中,一个掩码的LIPG请求被发送,并且过程前进到一个判定框613。在判定框613中,过程检测一个LoGI响应。如果一个LoGI响应被接收到,过程前进到一个判定框615,否则,过程前进到一个过程框614。在过程框614中,在过程框611中最近被切换的掩码位,被恢复到切换前的值,并且过程前进到一个判定框615。
在判定框615中,如果掩码中所有的位已经被切换,过程前进到一个过程框616,否则,过程返回到过程框611。在过程框616中,活动的网络服务器发送一个掩码的LIPG请求,并前进到一个判定框617。在判定框617中,如果一个DACK响应被接收到,则过程前进到一个过程框607;否则,过程返回到轮询框602。
过程框603-607是一个服务器发信号(spitting)起始的序列的部分。过程框610-617是一个服务器发信号(spitting)节点隔离序列的部分。
图6B是展示客户发信号(spitting)算法的一个流程图,在一个正在工作的网络上的一个客户,由一个开始框631开始。由开始框681,过程前进到一个判定框682,在此检测发送状态。如果该发送状态是“已准备好”,则过程前进到一个判定框683;否则,过程前进到一个空闲框688(该空闲框返回到判定框682)。
在判定框683中,如果节点已经接收到系统令牌,则过程前进到一个发送框689;否则,过程前进到一个判定框684。在发送框689中,该节点发送一个数据包,然后过程返回到判定框682。在判定框684中,如果该节点接收到一个LIPD请求,则过程前进到一个过程框690;否则,过程前进到一个判定框686。在判定框686中,过程检查超时或系统静止状态。如果过程检测到超时和静止,则过程前进到一个过程框687,在此当前的节点指定它自己作为活动的服务器。
在过程框690中,由LIPD的掩码与当前节点的节点地址相比较,并且过程前进到一个判定框691。在判定框691中,如果掩码与该节点匹配,则过程前进到一个响应框692;否则,过程返回到判定框682。在响应框692中,该节点响应网络服务器(恰当地带有一个LoGI或DACK),并且过程返回到判定框682。
组LIP(LIPG)查询
当网络正在工作时,活动的网络服务器定时地广播组LIP查询。一个组LIP(LIPG)查询,要求从任何数量的节点的一个逻辑的组隔离(LoGI)响应。在一个无冲突的机制中的一个正在工作的网络期间,这种机制给客户节点一个机会来被插入到排队卡上。LoGI包的优点在于,多个节点可以同时发送这种包(假设它们在同一个时间段上),结果将是一个单独的LoGI包。因此,由接收的节点看来,多个LoGI响应结果是一个单独的LoGI包。
起始的LIP序列包是一个未掩码的组LIP(LIPG)查询,该未掩码的组LIP(LIPG)查询被发送来确定是否网络上的任一节点要开始LIP序列以插入到排队卡。如果发现一个LoGI响应,可能仅仅是一个单个的节点要插入,因此下一步发送一个未掩码的直接的LIP(LIPG)包。如果未发现一个直接的响应,则发送带有一个掩码地址的作为组包的后续的LIPG包。这是一个艰巨而低效的隔离机制,用来隔离一个特定的节点以插入到排队卡。这是通过系统地传送一个位掩码实现的,该位掩码一次隔离远端节点32位地址的一个单个的位。如果两个或多个冲突的节点同时请求令牌,必须执行这种隔离机制。
直接的LIP(LIPD)查询
直接的LIP(LIPD)查询被作为由一个LIPG查询的一个LoGI响应的结果发送。该LIPD查询的目的是加速LIP过程,这通过发送一个未掩码的LIPD请求到所有节点,希望只有一个单个的节点响应(这应是大部分时候的情况)。这个LIPD包由包括响应节点的地址的一个普通的DACK响应来响应。如果是一个单个的节点响应,则响应被发现,并且该节点的地址被恰当地加入到排队卡上。但是,如果LIPD请求未被发现,(由于多个节点同时响应)则活动的网络服务器继续隔离,通过普通的隔离算法,使用LIPG包来只选择竞争的节点中的一个,插入到“排队卡”。
因此,该LIPD包仅仅用来加速隔离过程,希望仅仅有一个单个的节点响应请求。
节点隔离序列
如果一个节点响应起始的LIPG,但是由于某种原因由LIPD查询未发现一个单个的响应,则活动的网络服务器自动地进入节点隔离。隔离序列使用要求一个LoGI响应的LIPG包。这允许多个同时的响应被活动的网络服务器发现。
通过发送带有第一个地址(最低有效的)位组的一个包,“活动的网络服务器”开始这个序列。当且仅当这个特定的地址位与它们自己的相匹配时,需要发送的节点响应这个包。这一算法是一种简单的“与”,随后和原始的掩码相比较。如果两个值相匹配,则用一个LoGI响应这个包。
该活动的网络服务器,然后发送具有未用的预先匹配的掩码的下一个包,这个包带有下一个位组。再次,当整个位序列匹配时,节点将响应。如果没有节点响应,活动的网络服务器清除当前位,并重传这个包。这个过程将继续直到所有32位被识别并发现一个匹配。这时,单独地被识别的节点被加到活动的网络服务器的排队卡。
中心控制的令牌传递(轮询)
当系统正在工作时,希望给包括在排队卡上的每个节点(通过发信号(spitting)过程)一个确定性的时隙,在此时隙中节点可以访问介质100。进一步还希望给每个节点相同的机会在繁忙的介质100上发送。以太网缺乏上述的两个优点中的任何一个,而令牌环具有以上两个优点。
令牌环具有一个缺点,它需要每个节点了解它的上行和下行邻居的地址,并且需要一个令牌持续存在/循环。传统的令牌环网络的开销需求,与PLX所关注的的哑节点不兼容。而且,一个电源线网络的特别的联网需求,也并非有益于这样严格的令牌循环。因此PLX引入具有一个动态的排队卡的中心控制的令牌传递(CTP)机制。
在CTP中,活动的网络服务器节点负责确保一个令牌存在、每个需要令牌的节点得到它、静止的节点可以醒来并接收令牌、并且令牌被以一个确定性的方式公平地分配。在CTP下,活动的服务器以外的节点被作为客户来引用。活动的网络服务器的职责,是通过前述的数据报检测或侦听过程,自我指定的。经过一段预先确定的在介质100上无活动的时间段后,活动的网络服务器的职责被释放。在一个实施例中,活动的服务器的职责,经过无活动的约5秒钟后,被释放。在系统活动中,该活动的网络服务器负责轮询在排队卡中的每个客户节点,也允许新节点有机会通过发信号(spitting)过程把它们自己插入到排队卡中。
图7是展示网络服务器轮询算法的一个流程图,由开始框701开始,在此一个节点变为活动的服务器。过程由开始框701前进到一个判定框702,在此过程确定发送一个周期性的LIP包的需求。如果需要一个LIP包,则过程前进到过程框710,否则,过程前进到一个过程框703。在过程框710中,节点执行与图6A一起描述的活动的服务器发信号(spitting)过程。在完成过程框710后,过程前进到过程框703。
在过程框703中,过程获得在排队卡中的下一入口,并前进到一个判定框704。在过程框704中,如果排队卡上的所有入口都已处理过(也就是,如果所有的客户节点都已经有一次机会讲话),则过程前进到一个过程框711;否则,过程前进到一个过程框705。在过程框711中,令牌被分给活动的服务器(因此允许活动的服务器讲话),并且过程前进到过程框705。
在过程框705中,令牌被发给从排队卡上得到的下一个节点,并且过程前进到一个判定框707。在判定框707中,如果一个响应超时发生,则过程前进到过程框712;否则,过程前进到一个判定框707。在判定框707中,如果客户节点没有使用令牌,则过程前进到过程框712。在过程框712中,一个激活的节点的计数被减少,并且过程前进到判定框708。
在判定框708中,如果所有的节点都是未激活的,则过程前进到一个过程框709;否则,过程返回到判定框702。在过程框709中,活动的服务器回复为一个未激活的客户节点。包的类型和格式
一个PLX网络上的包,可以根据包的目的使用不同的格式。不同的包的格式可以方便地分组为三个不同的类别。
一种格式允许多个节点同时发送/接收相同的响应包而没有干扰或解调问题。这些包被称为逻辑组隔离(LoGI)包,并且主要被用来广播/重广播和确认。
其它两种类型的包,被称为原始数据有效负荷包和命令有效负荷包,当一个单个的节点在任何给定点在线上通信时使用这两种包。一个原始数据有效负荷包,被一个需要发送/接收与它的应用有关的信息的应用使用。来自主节点的包是原始数据有效负荷包,任何CAL包也是原始数据有效负荷包。
一个PLX命令有效负荷包被用来管理介质访问和流。PLX命令包在适配器的固件和硬件中产生和终结,并且不被传递到主节点上。PLX命令包便于令牌、确认、排队插入等的平滑流动,是所有的PLX网络所固有的。
逻辑组隔离(LoGI)响应包
当一个节点发出一个组请求(一个可能得到多个同时响应的请求)到网络上时,使用第一种形式。因为PLX希望是一个较少冲突的、或在一些情况下无冲突的环境,所以很难检测到冲突。因此,同时响应是可能的。如图8所示的LoGI包800,包括一个两字节的NULL字段,跟着多个两字节的全“1”字段,并由一个两字节的NULL字段结束。在这种包中的数据是非常秘密的,但是它确实达到它的帮助分离组响应到一个单个的节点的目的。
一个掩码的LIPG包一个在LoGI包之前。掩码意味着多于一个节点可以与掩码的地址匹配,因此,多个同时响应可能发生。LIPG包在后文描述。
通过加长一个特定包中的1序列,LoGI包也可以包含一些非常简单化的数据。加长的包必须与一个时间位移一起使用,来标识不同类型的响应。广播包使用这种特性,来允许由一个或多个节点以同时的方式标识的一个忙的响应。
有效负荷包
第二种形式被用来在网络上承载一个有效负荷。这是用在网络上的最普通的形式,并且是用于发送和接收有用的数据信息的有效的形式。
有效负荷包使用另外的两种形式,这两种形式指明接收者的范围以及它们期望收到何种形式的响应。它们具有组寻址(典型的广播包)和直接寻址的包类型。因为只期望一个单个的响应,所以组寻址的包只能接收LoGI响应包,而直接寻址的包接收直接的ACK确认或DACK包。
有效负荷包类型进一步细分为两个不同的类型,这两种不同的类型决定在包中有效负荷的使用。它们是:原始数据包和PLX命令包。
原始数据包
图9示出了一个原始数据包900的格式,格式中包括一个前同步码字段901、一个长度字段902、一个长度字段903、一个控制字段904、一个目标地址字段905、一个源地址字段906、一个序列字段907、一个确认字段908、一个DSK字段909、一个SSK字段910、一个有效负荷字段911和一个CRC字段912。原始数据包900由一个活动的服务器节点或客户节点发送。长度字段902、长度字段903、控制字段904、目标地址字段905、源地址字段906、序列字段907、然后为确认字段908、DSK字段909和SSK字段910,是一个MAC报头915的组成部分。有效负荷字段911包括要被一个适当的有效负荷处理器分析的应用层信息。主机PC和CAL译码器是有效负荷处理器的例子。在一个实施例中,原始数据包900有一个三字节的前同步码字段901,一个13-15字节的MAC报头915、一个直至255字节的有效负荷部分911和一个2字节的CRC 912。
PLX(外部的)命令包
通过为两个节点通过简短的包序列通信提供一个方法,PLX命令包被使用以便于数据流上下介质100。关于PLX命令包的变化的描述如下:
令牌包:一个PLX令牌包1000的格式如图10所示,包括前同步码字段901、长度字段902、长度字段903、控制字段904、目标地址字段905和CRC字段912。长度字段902、长度字段903和控制字段904,分别具有0×05、0×05和0×017的(十六位进制)值。令牌包1000被发送到直接的地址节点,并请求有效负荷包的两种中的一种。不需要留意的节点应简单地直接确认(DACK)(状态字段设置为0×03),意思是它们没有任何东西要表示并且将不使用该令牌。
客户节点在正在工作的网络上传送之前,需要调用一个令牌(通过LIP过程)。只要一个客户节点继续使用令牌,活动的网络服务器将继续交给它令牌。但是,如果客户节点重复地以一个“令牌未被使用”的响应来回应,则活动的网络服务器将使该节点老化并且该节点被从排队中移去。
一个令牌包包括通常的MAC报头(减去一个源地址)和CRC,但是,数据字段未被使用(数据字段的长度为0)。令牌只能来自地址固定为0×fffffffe的“活动的网络服务器”,因此不需要源地址字段。
直接确认(DACK)包:一个PLX令牌包1100的格式如图11所示,包括前同步码字段901、长度字段902、长度字段903、控制字段904、目标地址字段905、一个状态字段1101和CRC字段912。长度字段902、长度字段903和控制字段904,分别具有0×06、0×06和0×07的(十六位进制)值。
一个DACK包被一个接收节点发送,来确认包或包序列的接收有效。DACK包只由直接地址信息包返回(LIPD包除外)。
一个DACK包被用来终结在网络上两个节点间的典型的信号交换序列,并且结果涉及三个节点…1)活动的网络服务器、2)请求的节点和3)响应的节点。(如果活动的网络服务器是当前请求的目的地,请求/响应节点也可以是“活动的网络服务器”。)该DACK的状态字段根据接收包的节点类型(活动的网络服务器或客户节点)改变。DACK包送回请求的节点(由响应的节点),释放控制给请求的节点来继续一个包流,DACK包送回“活动的网络服务器”(由请求的节点),释放控制给“活动的网络服务器”,表示一个包流的结束。如果一个响应或DACK包没有接收到,请求的节点负责重复请求一个包。
该DACK包包括一个典型的MAC报头和CRC,以及一个1字节有效负荷。状态字段包括被接收包的信息,并在这个字段中被返回。状态字段1101的值列在表2中。
  表2.DACK状态字段1101的值
DACK    节点    描述
0×0    全部    接收缓冲区满(失败)
0×1    全部    失败(多信道响应)
0×2    服务器令牌由节点使用
0×3    服务器令牌未被节点使用
0×4    服务器令牌响应唤醒请求
0×9    全部    打印机序列编号错误
0×a    全部    打印机未插入错误
0×b    全部    打印机脱机错误
0×c    全部    打印机一般错误
0×d    全部    打印机无纸错误
0×e    全部    打印机不能识别错误
0×f    全部    成功
应当注意,这些信息是在实际的介质100本身上被传递,并且可能不是传递到主机节点的状态。请见关于内部PLX包的部分,关于被传递到主机的状态信息的更多信息的Tx状态。
排队插入包(LIPD和LIPG):图12展示了一个PLXLPG包1200的格式,PLX LIPG包包括前同步码字段901、长度字段902、长度字段903、控制字段904、目标地址字段905、一个掩码字段1201和CRC字段912。长度字段902、长度字段903和控制字段904,分别具有0×09、0×09和0×23的(十六位进制)值。
图13展示了一个PLXLIPD包1300的格式,PLXLIPD包包括前同步码字段901、长度字段902、长度字段903、控制字段904、目标地址字段905、一个NULL字段1301和CRC字段912。长度字段902、长度字段903和控制字段904,分别具有0×09、0×09和0×23的(十六位进制)值。
排队插入包(LIP)被定时地由“活动的网络服务器”发送,以允许新接收的成员进入已有的排队卡。这是由两个单独的包来完成的,它们都被广播到正在侦听的节点。第一个包,LIPG包1200,包含LIP掩码字段1201。在用一个LoGI响应回应之前,该掩码1201必须与远端的地址相匹配。第二个包,LIPD包1300,通过使响应的节点用包含它的源地址(以便插入到排队卡中)的一个DACK包来响应,被用来加速插入过程。
因此,LIPG包被掩码,并且具有在LIP掩码字段中的一个相应的位序列。一个节点应使用一个LoGI包来响应LIPG包。相似地,LIPD包未被掩码,意思是,任何希望进入排队卡的节点(这意味着该节点并未在排队卡上),应使用一个DACK来响应。
有效负载包帧格式
以下是可能出现在一个有效负载类型的包中的每个字段的描述。这对原始数据和PLX命令包类型两者都成立。
尽管前同步码/开始序列并不是包格式的部分,但是它是预先确定的位模式,这种位模式被用来进行检测载波、把硬件与输入的包同步、决定位计数或在当前包内的后续字节的线速率。前同步码的长度由建立一个有效载波的出现和在线路上同步所需的位计数时间的最小值决定。前同步码901的位模式为:
值           序列
0×aa    第一个同步字节
0×31    第一个同步字节
0×nn   速率/第三个同步字节
速率(或第三个同步)字节确定输入数据(由长度字节902开始)的速率,概述如下:
值        速率
0×55    低速率-350k
0×dd    中速率-700k
0×99    高速率-1.19m
0×11    保留
最后,该前同步码之后是两个双重的长度字节902-903,902-903描述包的长度。这些字节将以新的速率进入。
长度字段
长度字段902-903被用来指示输入包的长度。长度字段902-903被硬件使用(在缺少载波检测信号时)来确定有效包的接收。一旦包的长度达到后,就为有效性检测CRC字段912。一个PLX包的长度因此最好限制在总共256字节之内(不包括前同步码字段901和CRC字段912)。长度包括MAC报头915(控制、地址等)、可选字段和有效负荷字段911。
长度字段被重复两次(902、903)来确保输入数据流的有效性(它作为前同步码的一个延伸)。在包接收开始前,长度字段902-903必须相互匹配(前同步码也匹配)。
控制字段
如上文所示,有效负荷包可以是以下两种类型之一:PLX命令包或原始数据包。
PLX命令包类型可以进一步分类为两个子类型:外部和内部PLX命令。内部PLX命令包,是指通过本地连接(USB、1284、串行等)在硬件和主机节点的驱动之间的信号交换。外部PLX命令包,是指在电源线介质100本身上的信号交换包,它管理对介质100的访问。
控制字段904根据包的类型而改变,如表3所示,每一个位表示一个特定的定义。
表3控制字段904中的位位 PLX(外部)      PLX(内部)      原始(非PLX)0  包_类型(1)     包_类型(1)     包_类型(0)1  PLX_子类型(1)  PLX_子类型(0)  原始_ACK_类型02  PLX_ACK_类型   保留(0)        原始ACK类型13  保留(0)        保留(0)        密码4  外部_子类型    内部_子类型    套接字5  外部_子类型    内部_子类型    保留(0)6  外部_子类型    内部_子类型    PID7  外部_子类型    内部_子类型    保留(0)
包类型
包类型位被用来指示一个给定的包是否是PLX类型、原始数据类型或非-PLX类型。因为PLX协议请求得到不同的处理,并在大多情况下由微控制器固件处理,并且原始数据包典型地由一个单独的应用或主机软件处理,所以在控制字段中进行区分是有益的。原始数据包,典型地包含要被传递到适当的应用软件的原始有效负荷信息。这种情况的一个例外,是包含微控制器中的翻译器的部分和在主机中的部分的CAL包。
位0    包类型
1    PLX命令包=1
0    原始数据包=0
PLX子包类型
PLX命令典型地为两种形式之一。第一种形式是来自电线的由另一个节点的一个请求,第二种形式是来自主机的一个请求,来自主机的请求并不送到电线上。因为微控制器固件对这两种类型的响应进行区分,并且这两种类型彼此是完全独立的,所以建立这个位。
位1  PLX子包类型
1    外部的PLX命令包=1
0    内部的PLX命令包=0
PLX ACK类型
令牌和DACK命令包被用来传送到介质100访问的权利,并终结一个序列,在此“活动的网络服务器”暂时释放对介质100的控制到另一个节点。另外两个PLX命令包,LIPG和LIPD,要求一个响应包。该响应类型是LoGI类型或DACK类型两者之一。这个位确定节点应使用什么类型的响应。
位2  PLX ACK类型
1    用一个DACK响应=1
0    用一个DACK响应=0
PLX子包外部的类型
PLX技术规格,提供在一个中心控制的(服务器仲裁令牌)令牌传递系统中,两个节点之间的无连接的、有确认的和无确认的数据传送服务。这些位允许这种通信进行。
在一个客户开始发送前,活动的网络服务器把一个直接的令牌放到介质100上。一个客户节点,使用直接返回活动的网络服务器节点的一个DACK响应包,终结到介质100的访问权利。当轮询客户节点时,活动的网络服务器维持激活的节点的一个排队卡。为进入到排队卡上,一个客户节点恰当地响应一个直接的LIP请求(LIPD)或一个组LIP请求(LIPG)。
节点一旦在排队卡上,它们将被轮询,并且它们可以以确认的或非确认的形式,发送和接收具有有效负荷信息的包。以下是一个在介质100上被允许的有效的PLX子包外部的类型的一个表。
位(7、6、5、4)字节的值  包的子类型
0000    0×07    DACK
0001    0×17    令牌
0010    0×27    LIPD
        0×23    LIPG
其它…                     保留
注:如果一个DACK/GACK未被请求的节点,在预先确定的间隙间隔要求内接收到,则发送的节点(请求的或响应的)负责重传该请求(响应)。
PLX子包内部的类型
PLX技术规格允许在一个主机节点上,如一台PC上,存在协议端口。周期性地,该主机节点需要访问在所连接的节点上的信息,主机节点物理上与该节点连接。这被认为是一个内部的PLX请求,因为该请求是为所连接的节点而发,并且一般不应被放到电线上来被发送到一个远端的节点。以下是可能的内部PLX子类型的描述。
位(7、6、5、4)字节的值  包的子类型
1111      0×f1    信号交换错误
0001      0×11    CAL请求
0010      0×21    CAL 向应
0011      0×31    Tx状态
11xx               保留
内部的子类型被从主机发送并被硬件吸收,并且一个适当的响应被返回到主机节点。内部的包从来不被发送到介质100上。因而,这种包类型不在有效负荷包部分下定义,但是在PLX(内部的)主机包定义的部分中。
原始ACK类型
原始ACK类型确定了什么类型的响应应跟随在当前的原始数据包之后。响应类型具有以下四种形式之一:突发(无响应)、双LoGI、LoGI和DACK。
突发的类型是自我说明性的,包被一个接一个地发送。一个突发序列的最后一个包,应当具有一个指定的不同的ACK确认类型(为完成该突发序列,使用一个响应)。
一个LoGI序列允许发送组或广播请求。如果一个节点不能缓存这个包,则该节点在第一个间隙间隔内响应,如果该节点正确地接收和分析这个包,则它在一个延迟的间隙间隔内响应。
LoGI响应被导向一个单个的节点,并且是最有效的响应机制。一个LoGI包的长度具有最高的带宽利用率,但是不能包含关于响应的很多信息。
DACK响应被导向一个特定的节点,但是与LoGI类型相比,能够包含响应内的很多信息。
    位(2、1)包的子类型
    00    突发
    01    双LoGI
    10    LoGI
    11    DACK
密码
密码位允许由验证字节开始的包内容被加密。一个加密方案使用一个256位Diffie-Hellman信号交换来进行密钥交换,此后,一个秘密的32字节矩阵被通过介质100安全地发送。随后的事务可以为安全通信使用加密矩阵。
位3:密码
当前的包被加密=1
当前的包未被加密=0
套接字
典型地,一个PLX原始数据有效负荷包将包含以下字段长度。
  字段           长度
  前同步码901    3字节
  长度902、903   重复的2字节
  控制904        1字节
  目的地址905    4字节
  源地址906      4字节
  有效负荷911    0-255字节
  CRC912         2字节
当同一个节点上有多个应用时,通过使用一种机制来使包能够被路由到在一个特定的节点地址中的适当的应用。这些类型的应用使用一个套接字字段。第一个字节是目标套接字地址,而第二个字节是源套接字地址。因此,由于设定这个位,MAC报头的长度增加2个字节。当使用时,这个字段将紧跟着确认字节字段,并且如果以下的位被置1,则它就被包括进来。
    位4   套接字
    1    包括套接字字段
    0    不包括套接字字段
协议ID(PID)
每个包都包含能够被较高级协议,如IPX、TCP/IP或CAL,解析的信息。PLX仅仅被用作传送装置,以封装要穿过网络被发送/接收的这些类型的包。典型地,较高级的解析程序存在于一个主机系统上;但是,需要硬件来包含CAL解析功能的一个最小设置。这样,硬件解析CAL请求,并把所有的其它请求交给适当的有效负荷处理程序。一些协议信息可以驻留在硬件中(如在ROM、FLASH存储器等之中),其它协议信息由主机节点解析。这个位决定是否需要硬件协议处理器来开始解析这个包。
      位6  协议ID(PID)
     1    协议ID存在(微解析)
     0    协议ID不存在(原始-主机解析)
原始包的含义是数据的第一个字节不是这种类型的协议的一个字节编码,而是协议报头本身的第一个字节。具有PID解析性能的包译码第一个字节编码来决定由哪个协议解析这个包。
以下是当PID位被设定时可用的选择。第一个数据字节代表解析当前的包所需的协议类型:字节的值       定义                   类型
0×ff          保留                   n/a
0×fe          完成的包               cebusResp
0×fd          失败的包               cebusResp
0×fc          错误的包               cebusResp
0×df-0×fb    保留                   n/a
0×a0-0×de    前后关系编号(CAL)       cebusResp
0×9f          保留(CAL)              cebusResp
0×00-0×9e    前后关系级别(CAL)       cebusResp
目的地址字段
目的地址字段905包含当前包的目的节点。
当一个节点有一个请求或响应另一个节点的请求时,它把响应包的目的地址,放到目的地址字段905中。如果该节点只能与活动的网络服务器或数据库服务器通信,它将把那个地址放到目的地址字段905中。否则,目的地址一般由请求包的源地址字段906中得到。
一些PLX地址是众所周知的。这些众所周知的PLX地址列出如下:
地址                      描述
0×00000000-0×ffffffef   有效的单个节点地址
O×fffffff0-0×fffffffc   保留
0×fffffffd    应用服务器节点地址
0×fffffffe    活动的网络服务器节点地址
0×ffffffff    广播节点地址
源地址字段
源地址906包含用于当前包的节点地址。当一个节点有一个请求或响应另一个节点的请求时,它把它自己的节点地址,放到源地址字段906中。该节点地址使用8字节GUID的一部分,与节点的类型结合,形成一个四字节的节点地址。使用由GUID的最低有效的7个半字节,并将节点的类型盖写节点地址的最高有效半字节(第8半字节)。
例如:
If…
GUID=0×123456789ABCDEF
AND Note Type=0×03
Then…
Source Address=0×39ABCDEF
End If
序列编号字段
序列字段907为一个主机应用,提供重建或重组一个数据包或序列的能力,为了在介质100上传输,该数据包或序列被分为较小的包。重复的序列编号可以被抛弃,而未收到的序列编号可以被重传。编号为较长的数据流提供了数据完整性。在序列字段907内的值决定于应用,并且如果需要,可以为另一个应用使用。
确认字段
确认字段908允许每个包在接收完成前被确认。确认字段908典型地通过对于加密矩阵的第一个两字节求异或而被植入(seeded)。因此,在一个安全系统内的所有节点将植入(seeded)相同的确认值,并且所有这些节点都应通过这个确认程序。该确认字段为增强完整性被进一步加密。
有效负荷字段
数据有效负荷字段911被用来为接收节点提供信息。有效负荷数据的第一个字节可以包含决定怎样解析内容的一个字节编码。这个第一个数据字节与上文所述的原始(RAW)位共同使用。
循环冗余检验(CRC)字段
在已发送的包中,循环冗余检验(CRC)字段912被用来提供一个可靠的错误检测技术。为了确认,根据完成和比较,它被重新评估。不能通过这项检测的包被抛弃。
CRC算法被选得足够高效而且简单,以提供理想水平的可靠性而没有不适当的开销(在软件和硬件中)。提供一个这样的CRC算法是理想的,该算法足够快可以为发送和接收的包进行实时的(on-the-fly)CRC计算。
实时计算(当一个位或字节被收到,CRC就被更新,而不是等待整个包被收到,对于发送也是同样)不是强制性的,但是有助于系统的总的处理能力和性能。
在一个实施例中,G(X)由G(x)=x16+x15+x11+x8+x6+x5+x4+x3+x+1给出。
PLX(内部的)主机包
PLX内部的主机包永远不到介质100上,这样,包的描述看起来较简单。不需要前同步码901,不需要重复的长度字段902、903,不需要地址字段905、906,也不需要CRC字段912。图14展示了一个PLX内部的主机包的格式,包括一个长度字段1401、一个控制字段1402和一个数据字段1403。数据字段1403包含控制字段指定的任何东西。如前面的控制字段的定义(它也应用于PLX内部的主机包)所示,存在在硬件和主机节点间通过的许多包,它们促进业务流。以下是每种类型的包的定义。
CAL请求包
图15展示了一个CAL请求包1500的格式,包括一个长度字段1401、一个控制字段1402和一个CAL数据字段1503。控制字段1402的值为0×11。
一个CAL请求包1500被主机节点发送到硬件节点,以接收表示在硬件上的CAL信息。因为PLX节点可以具有应用编码或独立于硬件/ASIC的一个主机处理器,CAL信息也可以在这两个独立的处理器之间传播。这样,主机处理器从所连接的节点定时地收集CAL信息。
CAL响应包
图16展示了一个CAL响应包1600的格式,包括一个长度字段1401、一个控制字段1402和一个CAL响应字段1603。控制字段1402的值为0×21。
由于与上文所述同样的原因,一个CAL响应包被由硬件节点发往所连接的主机节点。这个响应包1600作为对一个在前的CAL请求包1500的响应而被发送。
Tx状态包(单信道、速率)
图17展示了一个单信道CAL响应包1700的格式,包括一个长度字段1401、一个控制字段1402和一个数据字段1603。控制字段1402的值为0×21。图18展示了一个多信道CAL响应包1800的格式,包括一个长度字段1401、一个控制字段1402和一个数据字段1803。控制字段1402的值为0×31。
有两种格式的Tx状态包。一种格式是为单信道、单速率的应用,使用时控制字段的值为0×21。第二种格式是为多信道、多速率的解决方案,使用时控制字段的值为0×31。
单信道、单速率的解决方案只有两个可用的Tx缓冲区,这两个Tx缓冲区的状态被定时地通过一个内部的PLX信号交换传回主机节点。这些Tx状态包的目的是闭合关于被从主机节点交给硬件的显著的传送事件的环。经常,在一个DACK包内被返回的相同的值,为了与这个发送事件有关的信息,将被传递给主机,但是,很多时候DACK是到一个外部的PLX事件,在此情况下,该DACK值不应被交给主机节点。当主机节点发起传送请求时,该DACK值被交回给主机节点。
相应地,PLX使用如下所示的重复的DACK状态值。
在介质上得到的DACK状态值
0×0=接收缓冲区满(失败)
0×2=令牌被节点使用(未被传给主机)
0×3=令牌未被节点使用(未被传给主机)
0×4=令牌响应“唤醒”请求(未被传给主机)
0×9=打印机序列编号错误
0×a=打印机未插入错误
0×b=打印机脱机错误
0×c=打印机一般错误
0×d=打印机无纸错误
0×e=打印机未知错误
0×f=成功
值0×9到0×e来自打印机节点的DACK响应。打印机响应值被未改变地传回主机节点。
值0×f是一个成功的DACK响应,如果是主机发起请求,则这个值被未加改变地传回主机节点。
值0×2到0×4是到外部的PLX命令包的DACK响应值,不应被传回主机节点。
唯一奇怪的状态值是0×0,0×0在电线上的意思是接收节点忙,因此无法接收包。硬件识别这种状态并将重传这个包(经常是节点并非忙)一个特定数量的次数。如果接收节点在一段非常长的时间一直处于忙状态,则该包被最终放弃,并且一个“失败-0×f”响应状态被传回主机节点。一个0×0的值被传回主机节点不表示任何含义。这是传输事件未被完成的缺省值,主机节点将等待直到一个非零状态被放入这个字段中。值0×1从来不在电线上被返回。如果一个节点接收到一个有错误数据的包,它仅简单地不响应这个包,发送的节点将被要求重传这个包。只有当一个发送包超时并达到它的最大重传次数,值0×1才被传回主机。
以下是一个展示一般被返回主机节点的Tx状态值的表(注意这些值并非在所有的情况下与DACK响应值相同):
Tx状态数据字段值
0×0=对此Tx缓冲区无Tx状态
0×1=失败(Tx超时或接收缓冲区满)
0×9=打印机序列编号错误
0×a=打印机未插入错误
0×b=打印机脱机错误
0×c=打印机一般错误
0×d=打印机无纸错误
0×e=打印机未知错误
0×f=成功
这个意思是以下的DACK信息未被通过一个内部的Tx状态包传给主机节点。
未传给主机节点的另外的Tx状态信息
0×0=接收缓冲区满(失败)
0×2=令牌被节点使用(未被传给主机)
0×3=令牌未被节点使用(未被传给主机)
0×4=令牌响应“唤醒”请求(未被传给主机)
Tx状态字节被进一步分为两部分,每部分半字节,代表两个Tx缓冲区状态。在Tx状态字段中的值以及它们各自的含义列出如下。
Tx状态值举例
0×0f=第一个Tx缓冲区成功发送
0×f0=第二个Tx缓冲区成功发送
0×ff=两个Tx缓冲区成功发送
0×1f=第二个Tx缓冲区失败,第一个Tx缓冲区成功
等…
Tx状态包(多信道、速率)
Tx状态包的第二种格式用于多信道、多速率的解决方案。全部前面论述的关于单信道Tx状态包,以及它如何与DACK值相关,依然适用。不同点在于,包含在多信道/速率Tx状态包中的数据信息的量。该包将基本包含一个代表每个信道的单个的前文定义的状态字节。结果是多个数据字节,每个字节代表一个具有两个独立的Tx缓冲区的单个的信道。
包定时、间隔和重发
为在介质100上传输的所有的包,必须符合严格的定时要求。这些定时要求是使该系统平稳而无冲突地运行的规则。为了恰当地运行,必须严格地、强制性地坚持这些规则。
在平时运行中,一个“活动的网络服务器”出现在系统上,并且仲裁所有激活的节点到介质100的访问。以下假设适用于这样一个出现在介质100上的激活的状态。在介质100上未激活,意味着每个节点都处于静止状态,并且在指定节点作为“活动的网络服务器”前,必须经过平常的“侦听”过程。
进一步,该PLX系统的特征在于确认的信号交换序列。确认包要在特定的时间间隔内被返回。除了确认包(DACK、LoGI或双LoGI)外,传送任何信息前都需要令牌包。活动的网络服务器是具有传送令牌和LIP包权利的唯一节点。客户节点仅仅传送有效负荷和确认包。
典型的包定时
图19是展示包定时和间隔的一个定时图。包定时的定义涉及第一个参考时间1902和第二个参考时间1904。第二个参考时间跟着第一个参考时间1902,之间有一个平均的包间间隙(I/Gap)50μs(微秒)。
以上所示的图假定一个运行在350kbps的系统的定时。除了间隙定时外,所有的值都应被调整为如表4所给出,表4中上标1表示一个参考第一个参考1902的时间,上标2表示一个参考第二个参考1904的时间。
表4包定时
               350kbps    700kbps   1.2mbps  1.4mbps
最小I/Gap1     15μs      15μs     15μs     15μs
平均I/Gap1     50μs      50μs     50μs     50μs
前同步码       130μs     65μs     38μs     33μs
LoGI包2       140μs     70μs     40μs     35μs
DloGI包2      185μs     92μs     54μs     46μs
DACK包2       335μs     168μs    98μs     84μs
TxRetry LoGI1 205μs     103μs    61μs     52μs
TxRetry DACK1 400μs     200μs    117μs    100μs
TxRetry DloGI1320μs     160μs    94μs     80μs
内部令牌1     3+ms       3+ms      3+ms      3+ms
在平时状态下,典型的包定时需要接收包的节点在一个预先确定的时间内响应。除LoGI/双LoGI确认包外,这个响应时间对于所有的包是一致的。因此,包定时的两种情况是1)LoGI/双LoGI响应和2)所有的其它响应。
其它包定时
在一个特定的时间内,节点把一个包传回有效负荷包发出的节点,突发包和确认包除外,它们不需要响应包。响应包的类型可以是:DACK包、LoGI包或有效负荷包。
响应包符合上文中图19所示的间隙间隔需要。最小的响应时间典型地长于15毫秒,最大的响应时间典型地不应超过50毫秒。
如果一个发送节点未接收到前面的发送的确认,为了增加传递的可靠性,它必须开始一个重传过程。这个重传过程典型地在最长的可能的确认序列或一个DACK包加上最长的可能间隙间隔或在350kbps时约400毫秒后开始。节点特定信息
每个节点用一个特定数量的信息配置,形成了该特定节点的特性。PLX节点需要这个最小量的信息,以在系统上实现完全的功能。
唯一标识、可寻址性和全球唯一标识(GUID)
当一PLX节点插入一个电力系统中时,它可以马上准备好行动。每个节点具有一个烧入的序列号,其中最低有效的28位被用作该节点运行时的地址。这并不能确保全球的单一性,但是她确实限定了可能性,因为你找到具有冲突地址的两个节点的机会是1比268百万。这个运行时的长地址只轻微减少吞吐量,但是在简单化系统时(因为节点从工厂出来时已预先设置),它增强了即插即用的能力并使用容易。
普通的设备环境和节点文件夹目标
CEBus/Generic CAL兼容节点,至少有一个普通的设备环境和一个具有相关的实例变量(Ⅳs)的节点控制目标。PLX背离CEBus/GenericCAL定义的报告条件和节点寻址,(两者都与该PLX客户/服务器结构有关,而与CEBus/Generic CAL的对等结构相反。因此,PLX重新定义了普通的设备环境/节点控制目标,作为具有稍微不同的Ⅳ描述的节点文件夹目标。而且,每个PLX顺从性节点包含与节点文件夹目标相关的实例变量。
每个节点都负责包含一个预先定义的属性组,该属性组标识节点并把节点放到具有一般已知属性的一组节点类型中。每个节点的节点文件夹目标信息,最好被硬性编码进在该节点中的非挥发性存储器中。该信息根据请求被发送到服务器。一个节点文件夹目标由一个实例变量的列表组成。每个PLX节点至少包括,一个普通的设备环境(0×00)、一个节点文件夹目标(0×01)和特定的实例变量(Ⅳ),如以下表5所示(其中R/W表示读/写)。
表5
R/W 类型 名称 描述
o  R/W  d  context_list 包含这个特定的节点所支持的所有的设备环境的列表
w  R/W  b  power 控制到这个特定节点的整体(global)电源
s  R  d  serial_number 包含一个设备商分配的产品序列号,其最低有效的8个字节也是该设备的GUID(全球唯一标识)(18字节)
c  R  n  manufacture_name 制造商的特定名称(最长18字节)
m  R  c  manufacturemodel 制造商的特定型号(最长18字节)
c  R  n  product_class 根据Generic CAL技术规格(2 ASII字节)
v  R  c  conformance_level  CAL/PLX支持这个特定的设备的标识其目前级别的字符串(4 ASII字节)
h  R/W  d  area_address 用于路由和网络标识目的(1字节)。这个Ⅳ总是全球可读(与network_name一起)。
a  R/W  d  unit_address 用于直接寻址包的节点ID(4字节)
t  R  d  network_class 定义设备的网络种类,并将被用于重写该设备MAC地址的最高四位,以区分令牌分配的优先次序。以下是优先次序和与网络类型相关的值:0×01视频系统Ⅰ
 0×02视频系统Ⅱ0×03音频系统Ⅰ0×04音频系统Ⅱ0×05保留0×06安全系统0×07应用监视系统0×08 HVAC系统0×09照明系统0×0a应用系统0×0b数据联网系统0×0c保留0×0d保留0×0e保留0×0f通用系统
f  R  d  buffering 以字节为单位的接收缓冲区大小
x  R  c  product_rev 产品修订等级(ASCII字节)
b  R/W  d  dynamic_mask 包括可以由一个单个位表示特征的一些动态节点功能。位0:混合模式1=允许0=不允许位1:MAC服务器1=MAC服务器0=非MAC服务器位2:规则/数据库服务器1=数据库服务器0=非数据库服务器位3:未激活的/激活的设备(被轮询/轮询)1=目前为激活的0=目前为未激活的
u  R  d static_mask 包括可以由一个单个位表示特征的一些静态节点功能。位0:远端闪烁能力1=远端能够0=远端不能够位1:确认能力1=能确认(需要NVMem)0=不能确认位2:复杂方法支持1=复杂方法支持0=复杂方法不支持位3:Diffie/Hellman最大密钥大小1=512位0=256位
y  R  d statistics 保持在此节点中的所有相关的计数器的一个统计表,具有以下格式:位0:表版本位1:位掩码计数器
r  R/W  d reset 允许这个节点被复位。写一个值0×52“R”到这个实例变量,开始复位功能。
I  R/W  b sleep 为了服务或人工控制,允许节点继续或脱机。
G  R/W  d group_address_list 这个节点支持的所有组地址的一个长度优先列表。因此,第一个16位值是跟着的组地址号。
ji     R/W     d authentication 根据配置和初始化,传到节点的确认ID值。
kgd 在Diffie-hellman中使用的XOR的密码矩阵在Diffie-hellman中使用的非XOR的密码矩阵公共密钥公共的产生器随机号
q R/W c network_name 允许一个节点,被用户使用一个可理解的名称,放入一个特定的安全网络中。
e R/W c product_name 允许一个节点被一个逻辑名称引用。
p R/W c product_location 允许一个节点,被用户使用一个可理解的名称,放入一个特定的位置。
R/W d *system_id_list 在这个环境领域中,所有被分配的系统ID的一个列表。
R/W c *last_log 最后被记录的事件
下表6列出了被“应用服务器”存储、管理和维护,并存在于应用服务器的数据库中的客户Ⅳ。因此,客户不需要涉及有关存储或提供关于这些Ⅳ的信息。
仅为主要情况的通用设备环境的部分,也是一个规则目标(0×03),该规则目标使用由CAL定义的数据存储目标,以及为我们的目的而定义的一些单独的Ⅳ。
表6Ⅳ  R/W    类型  名称           实例变量描述r   R/W    d     current_rule   包含被当前的目录变量指向的有效
                            的规则。C R/W  n    current_index 包含当前规则变量所示的规则的目
                      录(名号)。s R    n    Rule_length   包含当前规则变量所示的规则的长
                      度。m R    n    Maximum_      包含可以被放入当前的目录变量中
        index         的最大的目录值。p R/W  d    Previous-     包含在相应的规则中提到的每个Ⅳ
        value         的以前值的一个字符串。每个Ⅳ
                      都是长度在先,NULL在结束/填
                      充。I R   n    Previous_      Previous_value字符串的最大长度。
                      Value_lengthn R/W c    Rule_name      分配给这个特定规则的逻辑名称。
                      用来使得客户接口更具可读性。z R/W n    Status         包含当前规则的状态。如果它的值
                      为零,该规则有效,如果它的值为
                      非零,则被这个规则指向的Ⅳ之
                      一无效(脱机)。
规则目标允许远端的节点使用一个方法,来在规则列表中增加(继承)、删除(不继承)以及查看(获取矩阵)规则。
通过提供一个通用的设备环境,该网络能够包含一个节点列表。节点能够包含一个设备环境列表。节点能够有每个设备环境的一个目标列表。给出目标列表,节点也能够包含特定的实例变量。许多这些列表在GenericCAL技术规格中(而不是网络和节点列表)被说明。
当被要求时,节点使用上文所示的为它的特定配置的节点文件夹的特定的部分进行响应。该节点文件夹允许一个自动配置特定节点的方法,该节点在所考虑的网络中是唯一的。为了被唯一地标识,重复的节点能够提供另一水平的的配置。安全
通过一个两步过程实现安全。开始,在网络上加电的每个节点立即被放入公共网络中。公共网络是为所有节点分配的默认的网络,它们为所有其它的公共节点所见,并且它们的确认ID被赋值为NULL。一旦一个节点,通过下述的密钥交换过程变为安全时,它的确认ID变为由加密矩阵规定的一个值。每个节点被指派到这个专用/安全网络,它们被给与32字节的矩阵,由此它们加密或解密随后的包。这是通过一个被称为Diffie-Hellman的密钥交换技术,使用一个256位密钥实现的。使用一个有效的取幂算法,来减少被用在密钥交换中计算数值所需的时间。一旦加密矩阵被存储在网络上每个节点的存储器中,就执行加密和解密。在一个实施例中,加密和解密使用了基于一个带反馈异或的一个流密码技术。也可以使用其它算法,包括,例如,DES、RC4、MD5等等。附加的特征
报告状态详细说明
因为与它们在CAL下相比,在PLX下报告状态被不同地处理,该PLX处理规则的方法在此示出。这些变化用来说明在一个严格的CAL报告状态方法中的许多限制。不同点在下表7中示出。
表7与Generic CAL相比PLX的优点
Cebus CAL            PLX
每个目标一个规则     每个目标多个规则
每个目标一个有效的Ⅳ 每个目标多个有效的Ⅳ
只有简单规则         简单的和复杂的规则
固定的规则           灵活的规则
因为PLX规则存在于服务器上,与在Generic CAL下的分布式规则相对,通过它的单个的、功能强大的引擎,PLX在它如何处理规则上,功能更强大。PLX客户节点将它们的Ⅳ中的变化,汇报到服务器。任何Ⅳ变化都如此。当服务器检测到一个Ⅳ变化时,该服务器查看变化的特定目标/Ⅳ组合,该服务器查看它的规则列表,并且该服务器测试每个规则的有效性。因此,每个目标都被配置为包含以下两个Ⅳ,这两个Ⅳ处理为特定目标建立的每个规则,相关的Ⅳ列出如下。Ⅳ R/W 类型 名称            设备环境功能R  R/W d    rules_arry      包含一个目录的指针矩阵到主
                        用的规则列表(规则目标)。
                        当在这个目标中的Ⅳ被改变
                        时,每个入口表示一个要被测
                        试的完全的规则。P R/W  n    number_of_rules 包含在rules_arry中的规则数
                        量。
实际的report_header、report_address、report_condition和previous_value变量,每个被保存在矩阵所指向的规则中。调用程序简单地传递这个指针(或目录)到规则引擎,而规则引擎将从主用的规则列表,解析它需要的适当的信息。
非挥发性存储器使用
每个节点在一个静态的存储位置,如ROM中,包含节点文件夹信息。另外,节点也可以在非挥发性存储器中,存储其它信息,如确认密钥,但是,这是一个选择,并非任何PLX顺从性节点都需要。其它的选择性的存储器需求,包括路由信息和其它的动态表。
客户变化通知
客户节点典型地报告状态变化到应用服务器节点。意思是,即使应用服务器告诉一个客户改变它的状态,该客户回报应用服务器它的状态已经改变。这减少了应用服务器数据库未与真正的客户节点变量同步的问题。
这是所希望的,因为应用服务器包含,与客户变量的变化相关的报告的状态和规则。该客户在此方面智能较少,因此它们应当把适当的变化通知应用服务器。
该应用服务器典型地不更新属于一个特定的客户节点的它的数据库变量,直到从那个客户节点接收到确认,通知该“应用服务器”该客户节点已经改变状态。其它实施例
尽管前文已对本发明的特定实施例进行了描述和说明,本领域熟练的技术人员,可以对其进行不同的修改和变化,而无需背离权利要求中所定义的本发明的范围和构思。

Claims (27)

1.一种为仲裁一个网络介质的使用的方法,用于避免多个节点在该网络介质上同时试图传输数据而引起的冲突,所述方法包括步骤:
侦听一个网络介质来判定所述介质是激活的或未激活的;
如果所述的介质是未激活的,建立一个活动的网络服务器;并且
当所述的介质是激活的,为访问一个所述的介质,使用中心控制的令牌传递,所述的中心控制的令牌传递由所述的活动的网络服务器控制。
2.如权利要求1中所述的方法,其中所述的活动的网络服务器维持列出一个或多个激活的客户节点的一个排队卡。
3.如权利要求1中所述的方法,其中所述的活动的网络服务器传递一个令牌到一个选定的客户节点,所述的选定的客户节点是在所述的排队卡上列出的一个或多个激活的客户节点之一。
4.如权利要求3中所述的方法,其中只有当所述的选定的节点拥有所述的令牌,所述的选定的节点才被允许在所述的网络介质上传输数据。
5.如权利要求3中所述的方法,其中当所述的选定的节点处于未激活状态一段时间后,所述的选定的节点被从所述的排队卡上移去。
6.如权利要求3中所述的方法,其中一个新的客户节点通过在总线算法上使用发信号(Spitting),请求插入到所述的排队卡上。
7.如权利要求1中所述的方法,其中通过匹配一个特定的前同步码和长度序列,一个所述的数据报的出现被检测到。
8.如权利要求1中所述的方法,其中到所述介质的访问由一个介质访问控制层提供。
9.如权利要求8中所述的方法,其中所述的介质访问控制层提供控制结构,来实施容纳一个大得足够容纳介质访问控制报头的备用的接收缓冲区。
10.如权利要求9中所述的方法,进一步包括当所述的接收节点被前面的包请求淹没时,由一个接收节点到一个传送节点,发送一个忙响应的步骤。
11.如权利要求1中所述的方法,进一步包括当一个新的节点进入网络时,发布一个自动通告包的步骤。
12.如权利要求1中所述的方法,其中一个首选的服务器节点响应一个唤醒算法,变成为所述的活动的服务器节点。
13.一个混合的客户/服务器和对等的联网结构,提供对一个网络介质的中心控制,具有所述网络介质的分布式访问性能,所述结构包括:
一个活动的服务器节点;和
至少一个客户节点,被配置来提供一个令牌到所述的至少一个客户节点的所述的活动的服务器节点,被配置成在返还所述的令牌到所述的活动的服务器节点前,在所述的介质上的传输期不超过一个特定的时间段的所述的至少一个客户节点。
14.如权利要求13中所述的混合的客户/服务器和对等的联网结构,其中所述的活动的服务器节点维持一个激活的客户节点的排队卡。
15.如权利要求13中所述的混合的客户/服务器和对等的联网结构,其中当该活动的服务器节点,和所有的客户节点变为未激活状态时,所述的活动的服务器节点释放活动的服务器的作用。
16.一种为动态地仲裁访问一个网络介质的方法,其中所述的动态的仲裁是基于连接到所述介质的网络节点的活动性,所述的方法包括步骤:
使用一个第一个网络节点来尝试唤醒一个优选的服务器节点,当所述的第一个网络节点有数据要在所述的介质上传输并且所述的介质是未激活状态时,所述的第一个网络节点尝试唤醒所述的优选的服务器节点;
如果所述的优选的服务器醒来,分配活动的网络服务器的权力到所述的优选的服务器;和
如果所述的预选的服务器未能醒来,分配所述的活动的网络服务器的权力到所述的第一个网络节点。
17.一个数据网络包括:
一个网络介质;
用于维持一个激活的客户节点的列表,并仲裁到所述介质的访问的活动的服务器装置,所述的活动的服务器装置提供一个令牌;
从所述活动的服务器接装置收所述的令牌的客户节点装置。
18.如权力要求17中所述的数据网络,其中所述的客户节点装置包括一个智能节点。
19.如权力要求17中所述的数据网络,其中所述的客户节点装置包括一个哑节点。
20.如权力要求17中所述的数据网络,其中所述的客户节点装置通过在总线上发信号(spitting),成为一个激活的客户节点。
21.如权力要求17中所述的数据网络,其中所述的网络介质是一根电源线。
22.如权力要求17中所述的数据网络,其中所述的激活的客户节点列表构成一个排队卡。
23.如权力要求17中所述的数据网络,其中在所述的激活的节点的列表中的每一个所述的激活的节点,被根据每一个节点承载的一个数据类型被区分优先次序。
24.如权力要求23中所述的数据网络,其中所述的节点列表,考虑到被列出的节点的最大数量,所述的列表被配置为可以移去传输的数据具有相对较低的优先权的第一个节点,来为传输的数据具有相对较高的优先权的第二个节点备出空间。
25.与一个网络连接的一个网络节点,所述的节点包括:
一个处理器;
与所述的处理器连接的一个内存;和
被装载在所述的内存中的一个协议程序,所述的程序被配置为:
在所述的网络上通告一个所述节点的出现;
申请访问一个网络介质;
从一个服务器节点接收一个令牌;
保持所述的令牌;
当保持所述的令牌时,在所述的网络上传输数据;和
在一个特定的时间段内返回所述的令牌到所述的服务器
节点。
26.如权力要求25中所述的网络节点,其中所述的网络介质是一种电源线介质,所述的网络节点提供穿过所述的电源线介质的流式数据。
27.如权力要求26中所述的网络节点,其中所述的多媒体数据包括语音数据。
CN98813262A 1997-12-15 1998-12-15 电源线交换协议的方法和装置 Pending CN1285041A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US6947497P 1997-12-15 1997-12-15
US60/069,474 1997-12-15

Publications (1)

Publication Number Publication Date
CN1285041A true CN1285041A (zh) 2001-02-21

Family

ID=22089217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98813262A Pending CN1285041A (zh) 1997-12-15 1998-12-15 电源线交换协议的方法和装置

Country Status (10)

Country Link
US (1) US20050091413A1 (zh)
EP (1) EP1040360B1 (zh)
JP (1) JP2002508643A (zh)
KR (1) KR20010033457A (zh)
CN (1) CN1285041A (zh)
AT (1) ATE434315T1 (zh)
AU (1) AU1917399A (zh)
CA (1) CA2315160A1 (zh)
DE (1) DE69840915D1 (zh)
WO (1) WO1999031521A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005067203A1 (en) * 2003-12-30 2005-07-21 Intel Corporation Techniques for guaranteeing bandwidth with aggregate traffic
CN100452750C (zh) * 2005-02-04 2009-01-14 西安电子科技大学 Ad Hoc网络的令牌传递方法
CN102946340A (zh) * 2006-12-27 2013-02-27 英特尔公司 带有可变令牌激活的环形网络
US8631151B2 (en) 2006-05-18 2014-01-14 Intel Corporation Techniques for guaranteeing bandwidth with aggregate traffic

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4218152B2 (ja) * 1999-10-28 2009-02-04 ソニー株式会社 通信方法及び通信システム
DE1243098T1 (de) * 1999-12-20 2003-02-06 Mitel Semiconductor V N Inc ENERGIESPAREN FüR EINE MAC-ETHERNET-STEUERLOGIK
US6386992B1 (en) 2000-05-04 2002-05-14 Acushnet Company Golf ball compositions including microcellular materials and methods for making same
DE10026928A1 (de) * 2000-05-30 2001-06-21 Siemens Ag PLC-System
US6907044B1 (en) 2000-08-04 2005-06-14 Intellon Corporation Method and protocol to support contention-free intervals and QoS in a CSMA network
US20020184300A1 (en) * 2001-06-05 2002-12-05 Schmeling Garth F. Device management system and method
KR100441594B1 (ko) * 2002-03-07 2004-07-23 삼성전자주식회사 홈피엔에이에서 우선순위를 적용한 통신방법
FI114245B (fi) * 2002-11-13 2004-09-15 Nokia Corp Synkronointi-istunnon järjestäminen
US7609724B1 (en) * 2005-04-29 2009-10-27 Qualcomm Incorporated Enhanced frame aggregation in a wireless network system
KR100877137B1 (ko) * 2005-07-14 2009-01-07 삼성전자주식회사 광대역 무선통신시스템에서 일대일 에뮬레이션 장치 및방법
US20070294088A1 (en) * 2006-05-31 2007-12-20 Big Fish Games, Inc Network Service Recruitment Architecture
US20070294175A1 (en) * 2006-05-31 2007-12-20 Big Fish Games, Inc Operation of a Network Service Recruitment Architecture
US20080130667A1 (en) * 2006-11-30 2008-06-05 International Business Machines Corporation Distributed arbitration mechanism for ring networks
US8370261B2 (en) * 2007-01-10 2013-02-05 Amnon Nissim System and a method for access management and billing
US8447895B2 (en) * 2010-10-19 2013-05-21 Apple Inc. Methods and apparatus for decreasing power consumption and bus activity
US8855218B2 (en) * 2012-11-23 2014-10-07 Mega Act Technologies Holdings Ltd Method and apparatus for data communications over power lines
DE102012222474A1 (de) * 2012-12-06 2014-06-12 Siemens Aktiengesellschaft Verfahren zum Betreiben eines Busgeräts einer Gebäudeautomatisierungseinrichtung
US9143327B2 (en) * 2013-10-04 2015-09-22 Texas Instruments Incorporated Power line communication (PLC) network nodes using cipher then segment security
US10320589B1 (en) * 2017-12-30 2019-06-11 Texas Instruments Incorporated Signal isolation circuit

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4491946A (en) * 1981-03-09 1985-01-01 Gould Inc. Multi-station token pass communication system
US4558275A (en) * 1981-04-21 1985-12-10 The Superior Electric Company Line voltage monitor system
US4506360A (en) * 1982-03-29 1985-03-19 Gould Inc. Multi-station token pass communication system and method
DE3467843D1 (en) * 1983-05-12 1988-01-07 American Telephone & Telegraph Communication network
US4725834A (en) * 1984-02-27 1988-02-16 American Telephone And Telegraph Company, At&T Bell Laboratories Reliable broadcast protocol for a token passing bus network
US4642607A (en) * 1985-08-06 1987-02-10 National Semiconductor Corporation Power line carrier communications system transformer bridge
US4682326A (en) * 1985-11-27 1987-07-21 General Electric Company Method and apparatus for maintaining a dynamic logical ring in a token passing lan
US4766530A (en) * 1986-11-24 1988-08-23 Westinghouse Electric Corp. Token passing scheme for a predetermined configuration local area network
JPH0248841A (ja) * 1988-08-10 1990-02-19 Omron Tateisi Electron Co バス型lanにおける送信権制御方式
US4949337A (en) * 1989-01-30 1990-08-14 Honeywell Inc. Token passing communication network including a node which maintains and transmits a list specifying the order in which the token is passed
CH677568A5 (zh) * 1989-03-21 1991-05-31 Datawatt Bv
US5272702A (en) * 1991-08-05 1993-12-21 Fisher Controls International, Inc. Integrity mapping in data communication system
US5381407A (en) * 1992-06-04 1995-01-10 Bell Communications Research, Inc. Method and system for controlling user traffic to a fast packet switching system
US5276681A (en) * 1992-06-25 1994-01-04 Starlight Networks Process for fair and prioritized access to limited output buffers in a multi-port switch
US5450404A (en) * 1992-12-21 1995-09-12 Otis Elevator Company Explicit and implicit token media access protocol with multi-level bus arbitration
US5444695A (en) * 1993-01-11 1995-08-22 Forte Networks, Inc. Token ring local area network testing apparatus providing station history information
US5554968A (en) * 1994-08-22 1996-09-10 Lee; Raymond Data communication using power lines
US5553083B1 (en) * 1995-01-19 2000-05-16 Starburst Comm Corp Method for quickly and reliably transmitting frames of data over communications links
US5812777A (en) * 1995-12-28 1998-09-22 Compaq Computer Corporation Remote terminal operation
US5878221A (en) * 1996-02-05 1999-03-02 Xinex Networks Inc. Network for multimedia asynchronous transfer mode digital signal transmission and components thereof
US5838226A (en) * 1996-02-07 1998-11-17 Lutron Electronics Co.Inc. Communication protocol for transmission system for controlling and determining the status of electrical devices from remote locations
US6424872B1 (en) * 1996-08-23 2002-07-23 Fieldbus Foundation Block oriented control system
CN1232559A (zh) * 1996-10-04 1999-10-20 费希尔控制国际公司 运用于过程控制网络中的维护接口装置
US5832195A (en) * 1996-11-20 1998-11-03 Allen-Bradley Company, Llc Peer-to-peer fault identification
US5980078A (en) * 1997-02-14 1999-11-09 Fisher-Rosemount Systems, Inc. Process control system including automatic sensing and automatic configuration of devices

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005067203A1 (en) * 2003-12-30 2005-07-21 Intel Corporation Techniques for guaranteeing bandwidth with aggregate traffic
US9264311B2 (en) 2003-12-30 2016-02-16 Intel Corporation Techniques for guaranteeing bandwidth with aggregate traffic
US10038599B2 (en) 2003-12-30 2018-07-31 Intel Corporation Techniques for guaranteeing bandwidth with aggregate traffic
US10721131B2 (en) 2003-12-30 2020-07-21 Intel Corporation Techniques for guaranteeing bandwidth with aggregate traffic
CN100452750C (zh) * 2005-02-04 2009-01-14 西安电子科技大学 Ad Hoc网络的令牌传递方法
US8631151B2 (en) 2006-05-18 2014-01-14 Intel Corporation Techniques for guaranteeing bandwidth with aggregate traffic
CN102946340A (zh) * 2006-12-27 2013-02-27 英特尔公司 带有可变令牌激活的环形网络
CN102946340B (zh) * 2006-12-27 2016-01-27 英特尔公司 带有可变令牌激活的环形网络

Also Published As

Publication number Publication date
WO1999031521A1 (en) 1999-06-24
EP1040360A4 (en) 2004-10-20
AU1917399A (en) 1999-07-05
DE69840915D1 (de) 2009-07-30
CA2315160A1 (en) 1999-06-24
KR20010033457A (ko) 2001-04-25
EP1040360A1 (en) 2000-10-04
ATE434315T1 (de) 2009-07-15
US20050091413A1 (en) 2005-04-28
JP2002508643A (ja) 2002-03-19
EP1040360B1 (en) 2009-06-17

Similar Documents

Publication Publication Date Title
CN1285041A (zh) 电源线交换协议的方法和装置
CN1296585A (zh) 用于通用数据交换网关的方法和装置
CN1306780C (zh) 网络电话系统及其方法
CN1148041C (zh) 网络控制系统及其控制器、目标及消费器
CN1126343C (zh) 数据通信方法、设备和系统
CN1310487C (zh) 提供虚拟桌面系统体系结构的方法和装置
CN1263302C (zh) 远程会议系统和远程会议支持方法
CN1179277C (zh) 通信控制方法和装置及通信系统
CN1378405A (zh) 通过直接接触或邻近连接在通信设备间进行无线局域网参数设置的方法
CN1179280C (zh) 通信系统及其方法,发送装置及其方法
CN1922833A (zh) 使多个不同通信系统能够共存的终端设备
CN1051278A (zh) 异步光通信系统
CN1428029A (zh) 用于提供小组通信服务的系统和方法
CN1533643A (zh) 用于基于电力线载波的介质访问控制协议的信道访问方法
CN1121008C (zh) 一种网络环境下的计算机远程启动方法
CN1799219A (zh) 家庭网络系统
CN1703701A (zh) 用于管理门户服务器中的门户构件集合的方法和装置
CN1579072A (zh) 一种多媒体通信的数据结构、方法和系统
CN1729660A (zh) 分组发送接收装置
CN1541370A (zh) 通用数据输出系统
CN1842782A (zh) 网络资源信息路由的服务器结构
CN1729460A (zh) 通信方法、通信系统、中继系统、通信程序、中继系统用程序、邮件发送的系统、方法及程序
CN1841989A (zh) 实现有线网络内的高吞吐量带宽分配的方法和系统
CN1735061A (zh) 通信系统、电子设备及其控制方法、信息提供装置和方法
CN1636398A (zh) 多媒体系统中管理信息资源及多路复用频道的方法与设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1065615

Country of ref document: HK

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1032265

Country of ref document: HK