用于数据链路层的数据接收方法以及传送方法

文档序号:7634501阅读:1593来源:国知局
专利名称:用于数据链路层的数据接收方法以及传送方法
技术领域
本发明涉及一种用于数据链路层的数据接收方法以及传送方法,并且更具体地,涉及一种用于基于LnCP(生活网络控制协议)的家庭网络系统的数据链路层的数据接收方法以及传送方法。
背景技术
家庭网络连接各种数字家庭设备,使得用户在室内或户外都能够一直享受到便捷、安全以及经济的生活服务。由于数字信号处理技术的发展,家庭设备操作系统技术以及高速多媒体通信技术已经被集成在数字家庭设备上,因此被称为白色家庭设备的电冰箱或洗衣机已经被逐步地数字化,并且已经开发出了新的信息家庭设备,用以改进家庭网络。
如表1中所示,家庭网络按照服务类型被分为数据网络,娱乐网络以及生活网络。
表1

这里,建立数据网络,用以在PC与外围装置之间交换数据或者提供互联网服务,并且在使用音频或视频信息的家庭设备之间建立娱乐网络。另外,建立生活网络仅仅是用于控制家庭设备,例如家庭自动化或远程仪表读数。
传统的家庭网络系统包括一个主装置,该主装置是电子装置,用于控制其他电子装置的操作或者监视其状态,以及一个从装置,该从装置也是一个电子设备,它的功能就是响应主装置的请求以及根据电子设备的特性或其他因素来通知状态变化。典型的电子装置包括用于生活网络服务的家庭设备例如洗衣机和电冰箱,用于数据网络服务以及娱乐网络服务的家庭设备,以及产品例如燃气阀控制装置,自动门装置以及电灯。
但是,传统技术没有提出一个通用的通信标准,用于提供对家庭网络系统中的电子装置进行控制和监视的功能。还有,传统技术家庭网络系统中的网络协议也没有提出一个有效的方法,用于发送以及接收信息包。

发明内容
本发明成功地解决了上述问题。本发明的一个目的就是提供在数据链路层的数据接收方法以及传送方法,用于基于一控制协议的家庭网络系统,其中该控制协议是一个通用的通信标准,用于提供对家庭网络系统中的电子装置进行控制和监视的功能。
本发明的另一个目的就是提供在数据链路层的数据接收方法,用于接收多个只与要组成的信息包相关的帧。
本发明的再另一个目的就是提供在数据链路层的数据接收方法,用于当一个信息包已经由多个与该信息包相关的已接收帧组成时,防止接收和/或存储额外的帧。
本发明的再另一个目的就是提供在数据链路层的数据传输方法,用于更有效地根据网络状态从上层传输信息包。
本发明的再另一个目的就是提供在数据链路层的数据传输方法,用于防止通过网络的信息包冲突。
本发明的再另一个目的就是提供在数据链路层的数据接收方法,用于根据信息包传输期间的重试计数来完成数据传输。
本发明的再另一个目的就是提供在数据链路层的数据接收方法,用于根据在信息包传输中花费的传输执行时间来完成数据传输。
本发明的再另一个目的就是提供在数据链路层的数据接收方法,用于通过将可变传输延时应用于信息包传输来增加成功信息包重发概率。
为了实现本发明的上述目的,提供一种用于一个协议的数据链路层的数据接收方法,其中该协议由物理层、数据链路层以及上层组成,并且该方法包括如下步骤从物理层接收数据;将接收到的数据存储在信息包缓冲器中;确定自从最后的数据被接收以来在预定的数据允许间隔时间内是否已经接收到了新数据;以及根据该第一确定的结果,完成对数据的接收。
本发明的另一个方面提供了一种用于数据链路层的数据传送方法,其中该数据链路层属于一个协议,该协议包括至少物理层、数据链路层以及上层,并且基于该协议的网络被用于在家庭网络系统中的至少一个电子装置以及至少一个网络管理器之间进行相互通信,并且该数据链路层将信息包从上层传输至物理层,其中该方法包括步骤第一检查步骤,用于检查该网络状态是否为空闲状态;根据该第一检查步骤的结果,选择一个传输延迟时间(RadomDelayTime);第二检查步骤,用于检查在被选中的传输延迟时间(RadomDelayTime)期间该网络状态是否为空闲状态;以及根据该第二检查步骤的结果,将接收到的信息包传输至物理层。
本发明的再另一个方面提供了一种用于数据链路层的数据传送方法,其中该数据链路层属于一个协议,该协议包括至少物理层、数据链路层以及上层,并且基于该协议的网络被用于在家庭网络系统中的至少一个电子装置以及至少一个网络管理器之间进行相互通信,并且该数据链路层将信息包从上层传输至物理层,其中该方法包括如下步骤用于检查该网络状态是否处于空闲状态;根据该检查结果,将接收到的信息包传送至物理层;以及确定该信息包是否被成功传输。
本发明的再另一个方面提供了一种用于数据链路层的数据传送方法,其中该数据链路层属于是一个协议,该协议包括至少物理层、数据链路层以及上层,并且基于该协议的网络被用于在家庭网络系统中的至少一个电子装置以及至少一个网络管理器之间进行相互通信,并且该数据链路层将信息包从上层传输至物理层,其中该方法包括如下步骤第一检查步骤,用于检查该网络状态是否为空闲状态;根据该第一检查步骤的结果,在预定的竞争窗口(Wc)范围内选择一个传输延迟时间(RadomDelayTime),其中该范围是根据接收到的信息包的服务优先权SvcPriority定义的;第二检查步骤,用于检查在被选中的传输延迟时间(RadomDelayTime)期间该网络状态是否为空闲状态;以及根据该第二检查步骤的结果,将接收到的信息包传输至物理层。


图1为说明根据本发明的家庭网络系统的结构图;图2为说明根据本发明的生活网络控制协议堆栈的结构图;图3和4分别为说明图2的各层之间的接口的结构图;图5-10分别为说明图3和4的接口的详细结构图;图11为说明根据本发明的用于数据链路层的数据接收方法的流程图;图12说明了由根据本发明的数据接收方法处理的帧;
图13为说明根据本发明的用于数据链路层的数据传输方法的流程图;以及图14说明了由根据本发明的数据传输方法在每个电子装置中处理的帧。
实现本发明的最佳模式下面将参照附图对根据本发明用于数据链路层的数据接收方法以及传送方法进行详细地描述。
图1为说明根据本发明的家庭网络系统的结构图。
参看图1,该家庭网络系统1通过互联网2访问LnCP服务器3,并且客户端装置4通过互联网访问LnCP服务器3。也就是说,该家庭网络系统1与LnCP服务器3和/或客户端装置4相连并进行通信。
该家庭网络系统1的外部网络,例如互联网2包括根据客户端装置4种类的附加组成元件。例如,当客户端装置4为计算机时,该互联网2就包括Web服务器(未示出),并且当客户端装置4为互联网电话时,该互联网2就包括Wap服务器(未示出)。
该LnCP服务器3分别根据预定的登陆和退出过程对家庭网络系统1和客户端装置4进行访问,从客户端装置4接收监视和控制命令,并将该命令按照预定类型消息的形式通过互联网2传输给网络系统1。另外,该LnCP服务器3从家庭网络系统1接收预定类型的消息,并将该消息存储和/或传输至客户端装置4。该LnCP服务器3也存储或生成一个消息,并将该消息传输给家庭网络系统1。也就是说,该家庭网络系统1对LnCP服务器3进行访问并下载提供的内容。
该家庭网络系统1包括家庭网关10,用于接入互联网2,网络管理器20-23,用于设置环境以及管理电子装置40-49,LnCP路由器30和31,用于接入在传输介质之间,LnCP适配器35和36,用于将网络管理器22以及电子装置连接至传输介质,以及多个电子装置40-49。
该家庭网络系统1的网络是通过利用共享传输介质将电子装置40-49连接在一块而形成的。数据链路层使用非标准化传输介质例如RS-485或更小的输出RF,或者标准化的传输介质例如电源线以及IEEE802.11作为传输介质。
该家庭网络系统1的网络与互联网2分离,用于组成一个独立的网络,通过有线或无线传输介质将电子装置连接在一块。这里,该独立的网络包括物理上连接、但逻辑上被分割的网络。
该家庭网络系统1包括主装置,用于控制其他电子装置40-49的操作或者监视其状态,以及从装置,用于响应于主装置的请求并通知它们的状态改变信息。该主装置包括网络管理器20-23,并且从装置包括电子装置40-49。该网络管理器20-23包括被控制电子装置40-49的信息以及控制代码,并根据编程方法或通过接收来自LnCP服务器3和/或客户端装置4的输入来控制电子装置40-49。仍旧参看图1,当连接有多个网络管理器20-23时,每个网络管理器20-23必须都是主装置和从装置,即物理上是一个装置,但逻辑上该装置(混合装置)同时进行主和从功能,以便于与其他网络管理器20-23进行信息交换,数据同步和控制。
另外,该网络管理器20-23以及电子装置40-49可以直接或者通过LnCP路由器30和31和/或LnCP适配器35和36与网络(电源线网络,RS-485网络以及RF网络)相连。
该电子装置40-49和/或LnCP路由器30和31和/或LnCP适配器35和36被登记在网络管理器20-23中,并且由产品提供内在逻辑地址(例如0x00,0x00等)。该逻辑地址与产品代码(例如空调0x02,洗衣机0x01)组合在一块,并被用作节点地址。例如,用节点地址例如0x0200(空调1)和0x0201(空调2)对电子装置40-49和/或LnCP路由器30和31和/或LnCP适配器35和36进行标识。根据预定的标准(全部相同的产品,产品的安装空间,用户等),一次可以使用一组地址,用于标识至少一个电子装置40-49和/或至少一个LnCP路由器30和301和/或至少一个LnCP适配器35和36。在该组地址中,显式组地址是一个簇,用于通过将地址选项值(将在下面提到的标记)设置为1来指定多个装置,隐式组地址通过将逻辑地址和/或产品代码的全部位值都添上1来指定多个装置。特别地,该隐式组地址被称为簇代码。
图2为说明根据本发明的生活网络控制协议堆栈的结构图。该家庭网络系统1使得网络管理器20-23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40-49根据图2的生活网络控制协议(LnCP)彼此相互通信。因此,网络管理器20-23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40-49根据该LnCP进行网络通信。
如图2中所示,该LnCP包括应用软件50,用于执行网络管理器20-23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40-49的内部功能,并提供与应用层60的接口功能,用于远程控制和监视该网络,应用层60,用于向用户提供服务,并且还提供一个功能,用于以消息的形式从用户形成信息或命令并将该消息传输至下层,网络层70,用于可靠地将网络管理器20-23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40-49网络连接在一块,数据链路层80,用于提供对共享传输介质进行访问的介质访问控制功能,物理层90,用于提供网络管理器20-23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40-49之间的物理接口,以及被传输位的规则,以及参数管理层100,用于设置和管理在每层中使用的节点参数。
更详细地,该应用软件50进一步包括网络管理子层51,用于管理节点参数,以及对网络进行访问的网络管理器20-23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40-49。也就是说,该网络管理子层51执行参数管理功能,用于通过参数管理层100设置或使用节点参数值,以及网络管理功能,用于当使用LnCP的装置为主装置时组成或管理该网络。
当网络管理器20-23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40-49访问的网络是一个非独立传输介质例如电源线,IEEE802.11以及无线(例如,当LnCP包括PLC协议和/或无线协议时)时,该网络层70还包括家庭代码控制子层71,用于设置、管理以及处理家庭代码,以在逻辑上划分每个单独的网络。当通过独立的传输介质例如RS-485在物理上划分单独的网络时,该家庭代码控制子层71并不包括在LnCP中。每个家庭代码都由64个字节组成,并且被设置作为用户的随机值或指定值。
图3和4分别为说明图2的各层之间的接口的结构图。
图3说明了当物理层90与非独立传输介质相连时各层之间的接口,图4说明了当物理层90与独立传输介质相连时各层之间的接口。
该家庭网络系统1将每层需要的报头和报尾加给来自上层的协议数据单元(PDU),并将它们传输给下层。
如图3和4所示,应用层PDU(APDU)就是在应用层60与网络层70之间传输的数据,网络层PDU(NPDU)就是在网络层70与数据链路层80或家庭代码控制子层71之间传输的数据,并且家庭代码控制子层PDU(HCNPDU)就是在网络层70(准确的说,家庭代码控制子层71)与数据链路层80之间传输的数据。在数据链路层80与物理层90之间的数据帧单元中形成该接口。
图5-10分别为说明图3和4的接口的详细结构图。
图5说明了应用层60中的APDU结构。
APDU长度(AL)字段示出了APDU的长度(从AL到消息字段的长度),并最小值为4,最大值为77。
APDU报头长度(AHL)字段示出了APDU报头的长度(从AL到AL0的长度),成功地具有3个字节并且可扩展至7个字节。在LnCP中,该APDU报头可以被扩展至7个字节,用于对消息字段进行编码以及改变应用协议。
应用层选项(ALO)字段扩展了消息集。例如,当ALO字段被设置为0时,如果ALO字段中含有不同值,则消息处理就被忽略掉。
消息字段对来自用户的控制消息或事件信息进行处理,并根据ALO字段的数值而被改变。
图6说明了网络层70中的NPDU结构,并且图7说明了NPDU的详细NLC结构。
LnCP信息包开始(SLP)字段表示信息包的开始,并且具有数值0x02。
目标地址(DA)和源地址(SA)字段分别为信息包的接收者和发送者的节点地址,并都是16位。最高有效1位包括一个标记,该标记表示组地址,随后的7位包括一种产品(产品代码),并且较低的8位包括逻辑地址,用于区分相同种类的多个网络管理器20-23以及相同种类的多个电子装置40-49。信息包长度(PL)字段示出了将要被传送的NPDU的整个长度,并且它的初始长度为15个字节,最大长度为120个字节。
服务优先权(SP)字段给出了传输消息的传输优先权并具有3位。表2示出了每个传输消息的优先权。
当从装置响应于主装置的请求时,该从装置从主装置获取请求消息的优先权。
表2

NPDU报头长度(NHL)字段扩展了NPDU报头(SLP的NLC字段),成功地具有9个字节,并且可扩展至最大值17个字节。
协议版本(PV)字段表示被采用的协议版本,并且其长度为1个字节。较高的4位示出了版本,并且较低的4位示出了子版本。版本和子版本分别使用HEX来表示它们的数值。
网络层信息包类型(NPT)字段为4位字段,用于区分网络层70中的一种信息包。该LnCP包括请求信息包,响应信息包,以及通知信息包。主装置的NPT字段必须被设置为请求信息包或通知信息包,从装置的NPT字段必须被设置为响应信息包或通知信息包。表3根据信息包的种类示出了NPT数值。
表3

传输计数器(TC)字段为2位字段,当网络层70中出现了通信错误,使其无法准确地传送请求信息包或响应信息包时,为了加强通知信息包的传输成功率,重新传输请求信息包或重复地传送通知信息包。表4根据NPT数值示出了TC字段的数值范围。
表4

信息包号(PN)字段由2个字节组成,其与TC一块使用,用于检测从装置中的复制信息包,并且被用于处理主装置中的多个通信周期。图5根据NPT数值示出了PN字段的数值范围。
表5

APDU字段为在应用层60和网络层70之间传输的应用层60的协议数据单元。该APDU字段的最小值为0字节,最大值为88个字节。
循环冗余检验(CRC)字段为16位字段,用于检查已接收的信息包(从SLP到APDU)的错误。
LnCP信息包结束(ELP)字段为信息包的末端,其数值为0x03。如果没有检测到该ELP字段,即使接收到的数据的字节长度与信息包的长度字段的数值相同,该信息包也将被认为是一个错误信息包。
图8说明了家庭代码控制子层71中的HCNPDU结构。
如图8中所示,家庭代码(HC)字段被加到NPDU的上部。
该家庭代码由4个字节组成,并且在信息包能够被传输的线路长度中具有唯一的数值。
图9说明了数据链路层80中的帧结构。
根据传输介质改变LnCP的数据链路层帧的报头和报尾结构。当数据链路层80使用非标准化传输介质时,该帧的报头和报尾必须为空字段,并且当数据链路层80使用标准化传输介质时,该帧的报头和报尾按照如协议所描述的形成。当物理层90为非独立的传输介质例如电源线IEEE802.11时,NPDU字段为从上面的网络层70传输的数据单元,并且HCNPDU为通过将家庭代码的4个字节加到NPDU的前部而得到的数据单元。该数据链路层80按照相同的方式处理NPDU以及HCNPDU。
图10说明了物理层90中的帧结构。
该LnCP的物理层90的功能就是传输和接收物理信号至传输介质。该数据链路层80可以使用非标准化传输介质例如RS-482或更小的输出RF或者标准化的传输介质例如电源线或IEEE802.11作为LnCP的物理层90。使用LnCP的家庭网络系统1采用通用异步收发器(UART)帧结构和RS-232信号电平,使得网络管理器20-23以及电子装置40-49能够与RS-485,LnCP路由器30和31或LnCP适配器35和36连接。当UART使用串行总线连接在装置之间时,该UART控制通信线路上的位信号流。在LnCP中,来自上层的信息包被转化为如图10所示的10位UART帧单元,并通过传输介质进行传输。该UART包括1位的开始位,8位的数据位,以及1位的结束位,没有任何校验位。首先传输该开始位,接着传输数据位和结束位。当使用LnCP的家庭网络系统1采用了UART时,它就不具有额外的帧报头和帧报尾。
下面将对在前面的层中使用的节点参数进行说明。
下面提到的节点参数的数据类型相当于表6的少数几个数据类型之一。
表6

数据链路层80规定了一个介质访问控制(MAC)函数,用于接入共享传输介质。当使用非标准化传输介质例如RS-485时,该数据链路层80采用了概率延迟载波监听多路访问(p-DCSMA)作为介质访问控制协议,并且当使用标准化传输介质例如电源线或IEEE802.11时,通过相应的协议来规定该数据链路层80。
表7示出了在使用UART帧的数据链路层80中使用的节点参数值。假设物理层9的传输速率为4800bps设置每个参数的时间。在此,一个信息单元时间被计算为2.1ms。
表7

图11为说明根据本发明的用于数据链路层的数据接收方法的流程图。
参看图11,在步骤S51中,在来自物理层90的帧被传输之前或之后,确定数据链路层80是否已经准备好了接收该帧。如果数据链路层80已经生成了另一个信息包,其中该信息包具有已经接收到的帧,或者处于信息包传输期间(即,将要被描述的S56~S58),则可以确定该数据链路层80没有准备好接收该帧。这样,该被接收的帧就没有被处理,并且该数据接收方法在这里结束。但是,如果证明是该数据链路层80已经准备好接收该帧,则该方法进行至下一步骤S52。
在步骤S52中,该数据链路层80从物理层90接收该帧,并将其存储在信息包缓冲器(未示出)中。实际上,该数据链路层80顺序地从物理层90接收多个帧,以便于组成一个信息包,并将它们存储在信息包缓冲器中。
在步骤S53中,该数据链路层80将最后被传输帧与新帧的之间的间隔(在下文中被简称为“帧间隔”)与帧允许时间间隔FrameTimeOut进行比较。如果该帧间隔小于帧允许时间间隔FrameTimeOut,即如果自从最后帧以来在帧允许时间间隔FrameTimeOut之内已经接收到了新帧,则就意味着最后帧和新帧应该被包括在同一信息包中。在这种情况下,数据链路层80进行接收新帧并将其存储在信息包缓冲器中的步骤(即,S52)。另一方面,如果帧间隔大于或等于帧允许时间间隔FrameTimeOut,也就是说,如果在帧允许时间间隔FrameTimeOut期间没有传输新帧,则就意味着最后帧和新帧应该被包括在彼此不相同的信息包中。因此,该数据链路层80将该点之前事先接收到的帧(包括最后帧)存储到信息包缓冲器中,并且该方法进行至下一步骤S54。
在步骤S54中,该数据链路层80认为这些帧属于同一信息包,其中这些帧的帧间隔小于帧允许时间间隔FrameTimeOut,并不再从物理层90接收帧。
因此,在步骤S55中,数据链路层80禁止从物理层90接收帧。这种状态在完成接收(所需)帧之后至少保持最小信息包允许时间间隔MinPktInterval,使得新帧不会在信息包缓冲器中被重叠。
在步骤S56中,数据链路层80将存储在信息包缓冲器中的帧组成信息包NPDU。
在步骤S57中,数据链路层80将该信息包NPDU传输至上面的网络层70。
在步骤S58中,数据链路层80等待,直到完成接收该帧之后经过的时间等于或大于最小信息包允许时间间隔MinPktInterval。接着,在步骤S59中,该数据链路层80使能从物理层90接收帧。换句话说,该帧链路层80现在能够接收新帧并组成新的信息包。
这里,最小信息包允许时间间隔MinPktInterval被设置为比接收帧的完成时间与通过网络层70将信息包NPDU传输至应用层60并完成信息包处理的时间之间的间隔更大的数值。这就可以确保数据链路层80没有准备好接收新帧或信息包,直到接收到的帧或其信息包被完全处理。通过这种方式,在同一层中接收多个帧或其信息包,并且没有同时进行它们的处理和传输。因此,可以更稳定地接收、处理以及传输帧或信息包。
上述的数据接收方法以软件程序的形式被存储在预定的存储装置或存储介质中。
图12说明了由根据本发明的数据接收方法处理的帧。
如图12中所描述的,信息包A包括帧f1-f16。该数据链路层80首先接收帧f1(S52),并且该帧f1变成了当前被接收的最后帧。在接收帧f1之后,在帧允许时间间隔FrameTimeout内接收另一个帧f2(S53)。重复该帧接收过程(即,S52和S53),直到接收到了帧f16。从图中可以看到,帧f8和f9之间的帧间隔大于其他的帧间隔,但是仍小于帧允许时间间隔FrameTimeout。这样,帧f8和f9就被包括在同一信息包A中。
由于在最后帧f16之后的帧允许时间间隔FrameTimeout内没有接收到新帧‘f1,因此数据链路层80只将帧f1-f16组成了信息包A(S54)。
随后,数据链路层80传输组成的信息包A,并且当该信息包间隔变得大于最小信息包允许时间间隔MinPktInterval时,该数据链路层80接收新帧‘f1,以组成新的信息包B。
图13为说明根据本发明在数据链路层的数据传输方法的流程图。
如上所述,该数据链路层80从网络层70接收信息包NPDU/HCNPDU,并通过增加帧报头和帧报尾来组成一个帧。接着通过物理层90将该组成的帧传输至一个网络(例如图1中所示的电源线网络,RS-485网络,RF网络等)。在下面的说明中,当说到数据链路层80传输一个帧的时候,实际上就是指数据链路层80传输一个帧,该帧包括来自网络层70的信息包。因此,本发明的说明书和权利要求书就是基于如下的假设该数据链路层80将信息包从网络层70传输至物理层90。
对于从网络层70传输信息包,重试计数RetryCount被设置为‘0’。
现在参看图13,在步骤S61,数据链路层80检查网络状态LineStatus是否为空闲状态LINE_IDLE。为此目的,该数据链路层80从物理层90接收关于网络状态的信息。如果该网络状态LineStatus为空闲状态LINE_IDLE,则该方法进行至下一步骤S62,而如果网络状态LineStatus为忙LINE_BUSY,则该方法进行至步骤S71。
在步骤S62中,该数据链路层80检查该网络状态LineStatus在最小信息包允许时间间隔MinPktInterval内是否为空闲状态LINE_IDLE。为了当网络管理器20-23以及电子装置40-49通过网络传输数据(信息包)时防止在网络上出现数据冲突,设置了最小信息包允许时间间隔MinPktInterval。因此,为了防止数据冲突的相同目的,用于网络管理器20-23以及电子装置40-49的数据链路层80也在步骤S62中检查该网络状态LineStatus在最小信息包允许时间间隔MinPktInterval内是否为空闲状态LINE_IDLE。如果该网络状态LineStatus在最小信息包允许时间间隔MinPktInterval内变为忙LINE_BUSY,则该方法进行至步骤S71,否则该方法进行至步骤S63。
在步骤S63,该数据链路层80随机地通过接收到的信息包的SvcPriority值在预定的竞争窗口Wc范围内(参看表8)选择传输延迟时间RadomDelayTime(前面提到的服务表示传输服务,因此该服务优先权在下面的说明中将被称为‘传输优先权’)。图8根据传输优先权示出了竞争窗口Wc范围。
表8

如表8中所示,优先权数值越高,即优先权越低,竞争窗口Wc范围就会越宽,并且它的下限也会增加。例如,在高优先权的情况下,Wc范围的下限为0并且其上限为5。类似地,在一般优先权的情况下,Wc范围的下限为10并且其上限为30。由于传输延迟时间RadomDelayTime是从竞争窗口Wc范围内随机选出的,因此在较小优先权数值中选择较小传输延迟时间RadomDelayTime的概率相对就要高一些。
在步骤S64中,该数据链路层80检查该网络状态LineStatus在被选择的传输延迟时间RadomDelayTime内是否为空闲状态LINE_IDLE。特别地,为了防止网络上的信息包冲突,执行了步骤S64。如果该网络状态LineStatus为忙LINE_BUSY,则该方法进行至步骤S68。但是,如果该网络状态LineStatus在传输延迟时间RadomDelayTime内为空闲状态LINE_IDLE,则该方法进行至步骤S65。
在步骤S65中,该数据链路层80确定该信息包是否被成功地传输。为了得出这个结论,该数据链路层80将来自物理层90的信息包与网络层70的信息包进行比较。如果这两个信息包是相同的,则该数据链路层80确定该信息包传输被成功地进行,并且这样,该方法进行至步骤S67。但是,如果信息包不相同,则该方法进行至步骤S68。
在步骤S67中,数据链路层80将传输的结果报告给网络层70,其中该传输结果包括成功消息SEND_OK。
在步骤S68中,如果步骤S64中的网络状态LineStatus为忙LINE_BUSY或者如果在步骤S66中没有成功地传输信息包,则用于被接收的信息包的重试计数RetryCount增加预定值。例如,虽然开始时重试计数RetryCount被设置为“0”,但是该重试计数RetryCount被增加至‘1’。
在步骤S69中,增加的重试计数RetryCount与预定补偿重复次数BackOff Retries进行比较。该补偿重复次数BackOffRetries是指从数据链路层80到物理层90重新传输相同信息包的重试计数的最大值。还有,在步骤S69中,对于相同信息包的重试计数RetryCount被限制为补偿重复次数BackOffRetries,以便于防止网络管理器20-23以及电子装置40-49只对于相同信息包的传输才使用它们的资源。如果该重试计数RetryCount大于或等于补偿重复次数BackOffRetries,则该方法进行至步骤S70,否则该方法进行至步骤S71。
在步骤S70中,该数据链路层80将信息包传输的结果报告给网络层70,其中该结果包括失败消息SEND_FAILED。
在步骤S71中,该数据链路层80将接收到的信息包的传输执行时间与预定最大传输允许时间MACExecTime进行比较。该传输执行时间是指直到该比较为止,信息包传输所花费时间的总量。通过将一个信息包传输时间限制为最大传输允许时间MACExecTime以下的任何值,就可以防止网络管理器20-23以及电子装置40-49只对于相同的信息包才使用它们的资源。如果接收到的信息包的传输执行时间大于最大传输允许时间MACExecTime,则数据链路层80将传输失败消息SEND_FAILED报告给网络层70(S70)。但是,如果接收到的信息包的传输执行时间小于最大传输允许时间MACExecTime,则该方法进行至步骤S72。
在步骤S72中,根据接收到的信息包的传输优先权SvcPriority将竞争窗口Wc范围改变预定偏移,并接着该方法进行至步骤S61。
实际上,改变该Wc范围就是为了改进信息包传输的可能性。表9A示出了通过根据传输优先权的缩减值WindowShift来缩小竞争窗口Wc范围。
表9A

假设如表9A中所示,竞争窗口Wc范围被缩小。在中间传输优先权SvcPriority的情况下,用于第一传输的Wc范围10-20被缩小至用于第二传输的范围9-19,其上限和下限都被降低。这就意味着即使是比在步骤S63中选择的传输延迟时间RadomDelayTime还小的数值也更有可能被选中。因此,可以在更短的时间内再一次检查网络状态LineStatus,其依次增加了信息包传输可能性。
在步骤S72中,也可以只对下限和上限之一减小上述的缩减值Window Shift。例如,该数据链路层80根据重试计数RetryCount固定上限,并且只将下限减小预定的缩减值WindowShift。
在步骤S72中,确保下限没有跌到预定的偏移值以下是很重要的。在这种情况下,每个传输优先权SvcPriority的下限能够保持至少一个预定间隔。因此,即使是在重新传输(或重试)信息包期间,也根据传输优先权SvcPriority而将传输可能性保持为不同值。
另外,在步骤S72中,为了通过网络减少信息包冲突(可能性),根据传输优先权,竞争窗口Wc范围被增加了图9B中所示的缩减值WindowShift。
表9B

假设如表9B所示来增加竞争窗口Wc范围。在中间传输优先权SvcPriority的情况下,用于第一传输的Wc范围10-20被增加至用于第二传输的范围30-40,其上限和下限都增加20。这就意味着即使是比在步骤S63中选择的传输延迟时间RadomDelayTime还大的数值也更有可能被选中。因此,可以在一个长时间内再一次检查网络状态LineStatus(Line_Status),其依次减少通过网络的信息包冲突。
在步骤S72中,也可以只对下限和上限之一增加上述的增加值Window Shift。例如,该数据链路层80根据重试计数RetryCount固定下限,并且只将上限增加预定的增加值WindowShift。
根据本发明的数据传输方法,步骤S63、S64以及S72,步骤S68-S69,或者步骤S71都能够随意地被包括在内。也就是说,数据传输方法可以由图13中所示的全部步骤组成,或者也可以只由它们中的一部分步骤组成。
图14说明了由根据本发明的数据传输方法在每个电子装置中处理的帧。
特别地,图14说明了4个电子装置40-43,这4个电子装置通过网络同时传输或者准备传输预定的信息包。例如,电子装置40已经处于传输信息包期间,而其他的电子装置41-43只是准备好传输信息包。
电子装置41-43中的每一个都进行步骤S61(请参看图13),用以检查网络状态LineState。接着,自从电子装置40传输完成时间之后的最小信息包允许时间间隔MinPktInterval,该电子装置41-43进行步骤S62和S63,以根据它们接收到的信息包传输优先权SvcPriority来选择传输延迟时间RadomDelayTime。
回头再看图14,随着时间的流逝,结果是电子装置42具有最短的传输延迟时间RadomDelayTime。因此,电子装置42传输该信息包(请参看图13中的步骤S64和S65),并且其他电子装置41-43在它们的传输延迟时间RadomDelayTime期间检查网络状态,并进行至步骤S68之后的方法。在电子装置42传输了预定的信息包之后,电子装置41和43进行如上所述的相同步骤。
如到目前为止所说明的,本发明提供了数据链路层的数据传输和接收方法,并根据控制协议用于家庭网络系统中,其中该控制协议为普通通信标准,用于对家庭网络系统中的电子装置进行控制和监视。
根据本发明,只接收多个与将要组成的信息包相关的帧。
另外,本发明可以被方便地用于当一个信息包已经由多个接收到的与该信息包相关的帧组成时,防止额外的帧被接收和/或存储。
根据本发明,来自上层的信息包可以被更有效地传输,这取决于网络的状态。
还有,本发明能够被方便地用于防止通过网络的信息包冲突。
根据本发明,根据信息包传输期间的重试计数来完成信息包传输。因此,可以防止网络装置使用它们的全部资源仅仅用于信息包传输。
并且,根据本发明,根据在信息包传输中花费的传输执行时间来完成信息包传输。因此可以防止网络装置使用它们的全部资源仅仅用于信息包传输。
进一步,本发明可以方便地被用于通过对信息包传输采用可变传输延迟来增加成功信息包传输的可能性,其依次根据随机进行的传输优先权来进行传输。
虽然已经对本发明的优选实施例进行了描述,但可以理解的是,本发明应该不仅限于这些优选实施例,并且在后面所要求的本发明的精神和范围内,本领域内的技术人员能够进行各种改变和修改。
权利要求
1.一种用于一个协议的数据链路层的数据接收方法,其中该协议由物理层、数据链路层以及上层组成,该方法包括步骤从物理层接收数据;将接收到的数据存储在信息包缓冲器中;确定自从最后的数据被接收以来在预定的数据允许间隔时间内是否已经接收到了新数据;以及根据该第一确定的结果,完成对数据的接收。
2.根据权利要求1的方法,其中如果,在确定步骤中,在数据允许间隔时间内没有接收到新数据,则完成了对数据的接收,而如果在数据允许间隔时间内接收到了新数据,则该新数据被存储在信息包缓冲器中。
3.根据权利要求1的方法,进一步包括步骤在数据接收步骤之前确定该数据链路层是否准备好接收数据,并且如果该数据链路层已经准备好了,则接收该数据。
4.根据权利要求1-3之一的方法,进一步包括步骤将存储在信息包缓冲器中的数据组成一个信息包;以及将该组成的信息包传输该上层。
5.根据权利要求4的方法,进一步包括步骤在完成接收数据之后以及组成信息包之前,禁用数据链路层的数据接收。
6.根据权利要求5的方法,进一步包括步骤自从信息包传输的预定时间间隙之后,使能数据链路层的数据接收。
7.根据权利要求6的方法,其中该预定的时间为最小信息包允许时间间隔(MinPktInterval)。
8.根据权利要求7的方法,其中该最小信息包允许时间间隔(MinPkt Interval)大于接收信息包以及完成信息包处理时在上层花费的时间。
9.根据权利要求1的方法,其中该协议为生活网络控制协议(LnCP)。
10.一种用于数据链路层的数据传送方法,其中该数据链路层属于一个协议,该协议包括至少物理层、数据链路层以及上层,并且基于该协议的网络被用于在家庭网络系统中的至少一个电子装置以及至少一个网络管理者之间进行相互通信,并且该数据链路层将信息包从上层传输至物理层,该方法包括步骤第一检查步骤,用于检查该网络状态是否为空闲状态;根据该第一检查步骤的结果,选择一个传输延迟时间(RadomDelayTime);第二检查步骤,用于检查在被选中的传输延迟时间(RadomDelayTime)期间该网络状态是否为空闲状态;以及根据该第二检查步骤的结果,将接收到的信息包传输至物理层。
11.根据权利要求10的方法,其中在最小信息包允许时间间隔(MinPktInterval)期间进行该第一网络状态检查步骤。
12.根据权利要求10的方法,进一步包括步骤进行关于该信息包是否被成功传输的第一确定。
13.根据权利要求12的方法,进一步包括步骤根据第一确定的结果,将信息包传输的结果报告给上层。
14.根据权利要求13的方法,其中如果,在第一确定步骤中,该信息包被成功传输,则该传输结果中包括成功消息(SEND_OK)。
15.根据权利要求12的方法,进一步包括步骤如果,在第二检查步骤中,该网络状态为忙或如果,在第一确定步骤中,该信息包没有被成功传输,则将已接收信息包的重试计数(RetryCount)增加预定值;在增加的重试计数(RetryCount)与预定补偿重复次数(BackOffRetries)之间进行第一比较;以及根据该第一比较的结果,将传输结果传输至上层。
16.根据权利要求15的方法,其中如果,在第一比较步骤中,增加的重试计数(RetryCount)大于预定补偿重复次数(BackOffRetries),则该传输结果中包括失败消息(SEND_FAILED)。
17.根据权利要求15的方法,其中如果,在第一比较步骤中,增加的重试计数(RetryCount)小于或等于预定补偿重复次数(BackOffRetries),则再次从第一检查步骤开始进行所有的步骤。
18.根据权利要求10-17之一的方法,进一步包括步骤在已接收信息包的传输执行时间与预定的最大传输允许时间(MACExecTime)之间进行第二比较,其中如果,在第一检查步骤中,该网络状态为忙或如果,在第一比较步骤中,该增加的重试计数(RetryCount)小于或等于补偿重复次数(BackOffRetries),则进行第二比较步骤。
19.根据权利要求18的方法,进一步包括步骤根据第二比较的结果,将传输结果传输至上层。
20.根据权利要求19的方法,其中如果,在第二比较步骤中,已接收信息包的传输执行时间大于或等于预定的最大传输允许时间(MACExecTime),则该传输结果中包括失败消息(SEND_FAILED)。
21.根据权利要求19的方法,其中如果,在第二比较步骤中,已接收信息包的传输执行时间小于预定的最大传输允许时间(MACExecTime),则再次从第一检查步骤开始进行所有的步骤。
22.根据权利要求21的方法,其中根据已接收信息包的服务优先权(SvcPriority)在预定竞争窗口(Wc)范围内选择传输延迟时间(RadomDelayTime)。
23.根据权利要求23的方法,进一步包括步骤在再次进行第一检查步骤之前,将竞争窗口(Wc)范围改变预定大小,其中该预定大小是根据已接收信息包的服务优先权(SvcPriority)而被设置的。
24.根据权利要求23的方法,其中,为了增加传输可能性,降低竞争窗口(Wc)范围的下限和/或上限的大小。
25.根据权利要求24的方法,其中该下限只被降低至预定偏移值。
26.根据权利要求23的方法,其中,为了缩小传输冲突,增加竞争窗口(Wc)范围的下限和/或上限的大小。
27.根据权利要求26的方法,其中该下限是固定的。
28.根据权利要求12-14之一的方法,其中该第一确定步骤包括子步骤将已传输信息包与已接收信息包进行比较,并根据比较结果确定该信息包是否被成功传输。
29.根据权利要求10的方法,其中该协议为生活网络控制协议(LnCP)。
30.一种用于数据链路层的数据传送方法,其中该数据链路层属于一个协议,该协议包括至少物理层、数据链路层以及上层,并且基于该协议的网络被用于在家庭网络系统中的至少一个电子装置以及至少一个网络管理者之间进行相互通信,并且该数据链路层将信息包从上层传输至物理层,其中该方法包括如下步骤第一检查步骤,用于检查该网络状态是否为空闲状态;根据第一检查步骤的结果,将接收到的信息包传送至物理层;以及进行第一确定,关于该信息包是否被成功传输。
31.根据权利要求30的方法,其中在最小信息包允许时间间隔(MinPktInterval)期间进行该第一网络状态检查步骤。
32.根据权利要求12的方法,进一步包括步骤根据第一确定的结果,将信息包传输的结果报告给上层。
33.根据权利要求32的方法,其中如果,在第一确定步骤中,该信息包被成功传输,则该传输结果中包括成功消息(SEND_OK)。
34.根据权利要求30的方法,进一步包括步骤如果,在第一确定步骤中,该信息包没有被成功传输,则将已接收信息包的重试计数(RetryCount)增加预定值;在增加的重试计数(RetryCount)与预定补偿重复次数(BackOffRetries)之间进行第一比较;以及根据该第一比较的结果,将传输结果传输至上层。
35.根据权利要求34的方法,其中如果,在第一比较步骤中,增加的重试计数(RetryCount)大于预定补偿重复次数(BackOffRetries),则该传输结果中包括失败消息(SEND_FAILED)。
36.根据权利要求30-35之一的方法,进一步包括步骤在已接收信息包的传输执行时间与预定的最大传输允许时间(MACExecTime)之间进行第二比较,其中如果,在第一检查步骤中,该网络状态为忙或如果,在第一比较步骤中,该增加的重试计数(RetryCount)小于或等于补偿重复次数(BackOffRetries),则进行第二比较步骤。
37.根据权利要求36的方法,进一步包括步骤根据第二比较的结果,将传输结果传输至上层。
38.根据权利要求37的方法,其中如果,在第二比较步骤中,已接收信息包的传输执行时间大于或等于预定的最大传输允许时间(MACExecTime),则该传输结果中包括失败消息(SEND_FAILED)。
39.根据权利要求37的方法,其中如果,在第二比较步骤中,已接收信息包的传输执行时间小于预定的最大传输允许时间(MACExecTime),则再次从第一检查步骤开始进行所有的步骤。
40.根据权利要求30的方法,其中该第一确定步骤包括子步骤将已传输信息包与已接收信息包进行比较,并根据比较结果确定该信息包是否被成功传输。
41.根据权利要求30的方法,其中该协议为生活网络控制协议(LnCP)。
42.一种用于数据链路层的数据传送方法,其中该数据链路层属于一个协议,该协议包括至少物理层、数据链路层以及上层,并且基于该协议的网络被用于在家庭网络系统中的至少一个电子装置以及至少一个网络管理者之间进行相互通信,并且该数据链路层将信息包从上层传输至物理层,该方法包括步骤第一检查步骤,用于检查该网络状态是否为空闲状态;根据该第一检查步骤的结果,在预定的竞争窗口(Wc)范围内选择一个传输延迟时间(RadomDelayTime(随机延迟时间)),其中该范围是根据接收到的信息包的服务优先权SvcPriority定义的;第二检查步骤,用于检查在被选中的传输延迟时间(RadomDelayTime(随机延迟时间))期间该网络状态是否为空闲状态;以及根据该第二检查步骤的结果,将接收到的信息包传输至物理层。
43.根据权利要求42的方法,其中在最小信息包允许时间间隔(MinPktInterval)期间进行该第一网络状态检查步骤。
44.根据权利要求42的方法,进一步包括步骤确定该信息包是否被成功传输。
45.根据权利要求44的方法,进一步包括步骤根据该确定的结果,将信息包传输的结果报告给上层。
46.根据权利要求44的方法,其中如果该信息包被成功传输,则该传输结果中包括成功消息(SEND_OK)。
47.根据权利要求42-46之一的方法,进一步包括步骤在已接收信息包的传输执行时间与预定的最大传输允许时间(MACExecTime)之间进行比较,其中如果,在第一检查步骤中,该网络状态为忙或如果,在第一确定步骤中,该信息包没有被成功传输,则进行比较步骤。
48.根据权利要求47的方法,进一步包括步骤根据该比较的结果,将传输结果传输至上层。
49.根据权利要求48的方法,其中如果,在比较步骤中,已接收信息包的传输执行时间大于或等于预定的最大传输允许时间(MACExecTime),则该传输结果中包括失败消息(SEND_FAILED)。
50.根据权利要求48的方法,其中如果,在比较步骤中,已接收信息包的传输执行时间小于预定的最大传输允许时间(MACExecTime),则再次从第一检查步骤开始进行所有的步骤。
51.根据权利要求47的方法,进一步包括步骤在再次进行第一检查步骤之前,将竞争窗口(Wc)范围改变预定大小,其中该预定大小是根据已接收信息包的服务优先权(SvcPriority)而被设置的。
52.根据权利要求51的方法,其中,为了增加传输可能性,降低竞争窗口(Wc)范围的下限和/或上限的大小。
53.根据权利要求52的方法,其中该下限只被降低至预定偏移值。
54.根据权利要求51的方法,其中,为了缩小传输冲突,增加竞争窗口(Wc)范围的下限和/或上限的大小。
55.根据权利要求54的方法,其中该下限是固定的。
56.根据权利要求44-46之一的方法,其中该第一确定步骤包括子步骤将已传输信息包与已接收信息包进行比较,并根据比较结果确定该信息包是否被成功传输。
57.根据权利要求42的方法,其中该协议为生活网络控制协议(LnCP)。
全文摘要
本发明公开了一种在数据链路层的数据传送和接收方法,用于基于生活网络控制协议的家庭网络系统。一个协议由物理层、数据链路层以及上层构成,在该协议的数据链路层的数据接收方法包括步骤从物理层接收数据;将接收到的数据存储在信息包缓冲器中;确定自从最后的数据被接收以来在预定的数据允许间隔时间内是否已经接收到了新数据;以及根据该第一确定的结果,完成接收数据。
文档编号H04L29/06GK1939008SQ200580010313
公开日2007年3月28日 申请日期2005年3月31日 优先权日2004年3月31日
发明者河三喆, 白承勉, 李君锡, 金容台 申请人:Lg电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1