专利名称:网络层数据处理方法
技术领域:
本发明涉及数据处理方法,尤其涉及一种适用于家庭网络系统的网络层数据处理方法(DATA PROCESSING METHOD FOR NETWORK LAYER)。
背景技术:
家庭网络(home Network)是一种把各数字化家电联接的网络。通过家庭网络,可以随时随地很方便地对家中的家电进行控制,可以带来生活上的乐趣。随着数字消息处理技术的发展,冰箱或洗衣机等家电,正在逐渐发展成数字化家电设备。随着家电使用体系技术和高速数字通信技术的快速发展,正在出现综合利用上述技术的消息家电。在上述背景下,出现了家庭网络系统。
这种家庭网络如下表1,根据所提供的服务类型可分为数据网络,娱乐网及互动网络。
表1
这里,数据网络(data network)属于在PC及周边设备之间,为了数据交换或提供网络服务等建立的网络类型。娱乐网(entertainment network)属于处理ODO,VDO等消息的家庭网络类型。另外,互动网络(living network)是指以家电自动化或远程控制等单纯控制为目的的网络。
这种用于家庭的家庭网络系统由作为电器设备的主控(master)设备和从属设备形成。作为电器设备,主控设备对其他电器设备进行控制或显示其他电器设备的状态。作为电器设备,从属设备按电器设备的特性或其他要素,对主控设备的要求进行应答,并输出自身的状态变化消息。本发明的说明书中使用的电器设备(或新装置)不仅包括洗衣机、冰箱等用于上述互动网络服务的家电,还包括用于数据网络服务的家电以及用于娱乐网络服务的家电。另外,还包括煤气自动空设备及自动门,电灯等电器。
这种传统技术,不能提供对家庭网络系统中的电器设备履行控制及监视等功能的泛用(广义)通信规范。
发明内容
本发明的主要目的在于克服现有产品存在的上述缺点,而提供一种网络层数据处理方法(DATA PROCESSING METHOD FOR NETWORK LAYER),其提供一种适用泛用通信规范——控制通信协议的家庭网络系统的网络层数据处理方法,该泛用通信规范具有控制并监视家庭网络系统内各电器设备的功能。
本发明的另一目的为提供一种网络层数据处理方法,其作为泛用通信规范采用互动网络控制通信协议(Living network Control ProtocolLnCP)的网络层数据处理方法。
本发明的又一目的为提供一种网络层数据处理方法,其在某种情况下,进行数据包的再传送,提高数据传送效率。
本发明的再一目的为提供一种网络层数据处理方法,其可以从应用层向数据链路层传送数据包。
本发明的目的是由以下技术方案实现的。
本发明网络层数据处理方法,其特征在于,至少由物理层、数据链路层、网络层、以及应用层组成的通信协议中,包括从应用层,接收由应用层通信协议数据单位(APDU)构成的消息传送(MsgSend)原语的阶段;根据消息传送(MsgSend)原语生成通信循环明细的阶段;根据消息传送(MsgSend)原语以及/或通信循环明细,生成由网络层通信协议数据单位(NPDU)构成的数据包传送(PktSend)原语的阶段;把数据包传送(PktSend)原语传向数据链路层的阶段。
前述的网络层数据处理方法,其中通信循环明细包括通信循环标识符(CycleID),通信循环标识符包括在所述消息传送(MsgSend)原语中。
前述的网络层数据处理方法,其中通信循环明细包括通信循环类型(CycleType),通信循环类型包括在所述消息传送(MsgSend)原语,根据网络层服务(NLService)以及/或目的地址设定通信循环类型。
前述的网络层数据处理方法,其中网络层服务至少包括需要应答(Acknowledged)、不需要应答(Non-acknowledged)、反复通知(Repeated-notification)中的某一个。
前述的网络层数据处理方法,其中通信循环类型在需要应答(Acknowledged)时包括第1编码或第2编码,在不需要应答(Non-acknowledged)时包括第3编码,在反复通知(Repeated-notification)时包括第4编码。
前述的网络层数据处理方法,其中第1编码为“1-请求、1-应答”通信循环,第2编码为“1-请求、多-应答”通信循环,第3编码为“1-通知”通信循环,第4编码为“反复-通知”通信循环。
前述的网络层数据处理方法,其中需要应答中的消息传送(MsgSend)原语包括的目的地址指向单一收信,则所述通信循环类型包括第1编码,如果目的地址指向数个收信,则所述通信循环类型包括第2编码。
前述的网络层数据处理方法,其中通信循环明细包括连接器地址,连接器地址包括收信方地址,收信方地址包括在所述消息传送(MsgSend)原语中。
前述的网络层数据处理方法,其中通信循环明细包括数据包编号(PacketNo)。
前述的网络层数据处理方法,其中通信循环明细包括数据包编号(PacketNo)的值为,在最近刚结束的通信循环所使用的值上加“1”后的值。
前述的网络层数据处理方法,其中数据处理方法还包括如下阶段,即,如果所述相加后得到的数据包编号(PacketNo)值是一定的极限值,则把上述值设定成初始值的阶段。
前述的网络层数据处理方法,其中初始值为“0”,极限值为“4”。
前述的网络层数据处理方法,其中通信循环明细包括网络层服务(NLService),该网络层服务(NLService)包括在上述消息传送(MsgSend)原语中。
前述的网络层数据处理方法,其中通信循环明细包括服务优先次序(SvcPriority),该服务优先次序(SvcPriority)包括在上述消息传送(MsgSend)原语中。
前述的网络层数据处理方法,其中通信循环明细包括暂停时间(TimeOut),该暂停时间包括在上述消息传送(MsgSend)原语中。
前述的网络层数据处理方法,其中通信循环明细包括用于传送同一NPDU的传送次数(TransmissionNo)。
前述的网络层数据处理方法,其中传送次数(TransmissionNo)的初始值为‘1’。
前述的网络层数据处理方法,其中通信循环明细包括经过时间(ElapsedTime),经过时间表示从所述应用层接收新通信循环标识符(CycleID)后所经过的时间。
前述的网络层数据处理方法,其中经过时间(ElapsedTime)的初始值为‘0’。
前述的网络层数据处理方法,其中通信循环明细包括应答收信状态(ResRcvState),该应答收信状态表示有没有接收到相应于上述消息传送(MsgSend)原语的应答数据包。
前述的网络层数据处理方法,其中生成上述数据包传送(PktSend)原语的阶段中,在所述应用层通信协议数据单位(APDU)上追加网络层通信协议数据单位(NPDU)头和尾,利用网络层通信协议数据单位(NPDU)生成上述数据包传送(PktSend)原语。
前述的网络层数据处理方法,其中数据处理方法还包括如下阶段,即把生成的NPDU进行储存的阶段。
前述的网络层数据处理方法,其中处理方法还包括如下阶段在某些情况下结束当前通信循环的阶段。
前述的网络层数据处理方法,其中数据处理方法还包括如下各阶段进行所述结束通信循环的阶段后,删除通信循环明细的阶段;把网络层完成(NLCompleted)原语传向应用层的阶段;该网络层完成(NLCompleted)包括(意味着)通信循环结果的编码值。
前述的网络层数据处理方法,其中通信协议适用在上述主控装置。
前述的网络层数据处理方法,其中完成阶段中,如下几个情况表示的是成功的完成当上述通信循环类型为第1编码时,上述应答收信状态(ResRcvState)为应答收信(RES_RECEIVED)的情况;当上述通信循环类型为第2编码时,上述应答收信状态(ResRcvState)为应答收信(RES_RECEIVED),而且上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;当上述通信循环类型为第3编码时,从上述数据链路层接收到包括传送成功(SEND_OK)的数据链路层完成(DLLCompleted)原语的情况;当上述通信循环类型为第4编码时,从上述数据链路层接收到至少包括一个传送成功(SEND_OK)的数据链路层完成(DLLCompleted)原语的情况。
前述的网络层数据处理方法,其中完成阶段中,如下几个情况表示的是失败的完成当上述通信循环类型为第1编码时,上述传送次数(TransmissionNo)大于作为网络层媒介变量的最大再传送次数(SendRetries)的情况;当上述通信循环类型为第2编码时,上述应答收信状态(ResRcvState)为应答未收信(NOT_RECEIVED),而且上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;当上述通信循环类型为第3编码时,从上述数据链路层接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语,或在作为网络层的媒介变量的传送暂停时间(SendTimeOut)内,没能接收到来自数据链路层的数据链路层完成(DLLCompleted)原语的情况;当上述通信循环类型为第4编码时,相应于所有数据包传送,从上述数据链路层,接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语,或在上述传送暂停时间(SendTimeOut)内,相应于所有数据包传送,没能接收到来自数据链路层的数据链路层完成(DLLCompleted)原语的情况为特征的网络层数据处理方法。
前述的网络层数据处理方法,其中通信协议适用在从属设备。
前述的网络层数据处理方法,其中完成阶段中,如下情况表示成功的完成从上述数据链路层接收到包括传送成功(SEND_OK)的数据链路层完成(DLLCompleted)原语的情况。
前述的网络层数据处理方法,其中完成阶段中,如下情况表示失败的完成从上述数据链路层中接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语的情况,或在作为网络层媒介变量的传送暂停时间(SendTimeOut)内,没能接收到来自数据链路层的数据链路层完成(DLLCompleted)原语的情况。
前述的网络层数据处理方法,其中处理方法还包括如下阶段把包括已储存NPDU的消息传送(MsgSend)原语,进行再传送的阶段。
前述的网络层数据处理方法,其中数据处理方法还包括如下阶段进行上述再传送阶段后,把上述再传送次数(TransmissionNo)加‘1’,把经过时间(ElapsedTime)设定成‘0’,把应答收信状态(ResRcvState)设定成应答未收信(NOT_RECEIVED),由此更新上述通信循环明细的阶段。
前述的网络层数据处理方法,其中通信协议适用于主控设备。
前述的网络层数据处理方法,其中再传送阶段在下述几个情况中的某一情况中被执行上述通信循环类型是第1编码或第4编码,上述传送次数(TransmissionNo)小于作为网络层媒介变量的最大再传送次数(SendRetries),上述应答收信状态(ResRcvState)为应答未收信(NOT_RECEIVED),上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;上述传送次数(TransmissionNo)小于上述最大再传送次数(SendRetries),从上述数据链路层接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语的情况;上述传送次数(TransmissionNo)小于最大再传送次数(SendRetries),在上述传送暂停时间(SendTimeOut)内,没能接收到来自上述数据链路层的数据链路层完成(DLLCompleted)原语的情况。
前述的网络层数据处理方法,其中通信协议适用在从属设备。
前述的网络层数据处理方法,其中再传送阶段在下述几个情况中的某一情况中被执行上述通信循环类型是第4编码,上述传送次数(TransmissionNo)小于作为网络层媒介变量的最大再传送次数(SendRetries),上述应答收信状态(ResRcvState)为应答未收信(NOT_RECEIVED),上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;上述传送次数(TransmissionNo)小于上述最大再传送次数(SendRetries),从上述数据链路层接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语的情况;上述传送次数(TransmissionNo)小于最大再传送次数(SendRetries),在上述传送暂停时间(SendTimeOut)内,没能接收到来自上述数据链路层的数据链路层完成(DLLCompleted)原语的情况。
前述的网络层数据处理方法,其中适用在上述主控设备,上述消息传送(MsgSend)原语是请求消息传送(ReqMsgSend)原语。
前述的网络层数据处理方法,其中通信协议适用在从属设备,上述消息传送(MsgSend)原语是事件消息传送(EventMsgSend)原语。
前述的网络层数据处理方法,其中通信协议是互动网络控制通信协议(LnCP)。
四
图1为本发明的家庭网络框图。
图2为本发明互动网络控制协议的框图。
图3a及图3b为图2所示各层间的接口框图。
图4a至4f为图3a及3b所示的接口详细框图。
图5a,图5b为包括用于各层之间交换的原语(primitive)的框图。
图6为本发明的数据处理方法实施例流程图。
图中主要部件标号1家庭网络系统、2因特网、3为LnCP服务器、4客户设备、10网关、20至23网络管理器、30,31为LnCP路由器、40至49电器设备。
五具体实施例方式
至少由物理层、数据链路层、网络层、以及应用层组成的通信协议中,本发明的网络层数据处理方法包括如下各阶段。即,从上述应用层,接收由应用层通信协议数据单位(APDU)构成的消息传送(MsgSend)原语的阶段;根据上述MsgSend原语生成通信循环明细的阶段;根据上述MsgSend原语以及/或上述通信循环明细,生成由网络层通信协议数据单位(NPDU)构成的数据包传送(PktSend)原语的阶段;把上述数据包传送(PktSend)原语传向上述数据链路层的阶段。
这里,所述通信循环明细包括通信循环标识符(CycleID),通信循环标识符包括在MsgSend原语中。
另外,所述通信循环明细包括通信循环类型(CycleType),通信循环类型包括在MsgSend原语,这里,根据网络层服务(NLService)以及/或目的地址设定通信循环类型。
该网络层服务至少包括需要应答(Acknowledged)、不需要应答(Non-acknowledged)、反复通知(Repeated-notification)中的某一个。
该通信循环类型在需要应答(Acknowledged)时包括第1编码或第2编码,在不需要应答(Non-acknowledged)时包括第3编码,在反复通知(Repeated-notification)时包括第4编码。
第1编码为“1-请求、1-应答”通信循环,第2编码为“1-请求、多-应答”通信循环,第3编码为“1-通知”通信循环,第4编码为“反复-通知”通信循环。
如果上述需要应答中的MsgSend原语包括的目的地址指向单一收信者,则上述通信循环类型包括第1编码,如果目的地址指向数个收信者,则上述通信循环类型包括第2编码。
上述通信循环明细包括连接器地址,连接器地址包括收信方地址,收信方地址包括在上述MsgSend原语中。通信循环明细包括数据包编号(PacketNo)。通信循环明细包括数据包编号(PacketNo)的值为,在最近刚结束的通信循环所使用的值上加“1”后的值。
上述数据处理方法还包括如下阶段,即,如果上述相加后得到的值是一定的极限值,则把上述值设定成初始值的阶段;上述初始值为“0”,极限值为“4”。
上述通信循环明细包括网络层服务(NLService),这里的网络层服务(NLService)包括在上述MsgSend原语中。
该通信循环明细包括服务优先次序(SvcPriority),这里的服务优先次序(SvcPriority)包括在上述MsgSend原语中。
该通信循环明细包括暂停时间(TimeOut),这里的暂停时间包括在上述MsgSend原语中。
该通信循环明细包括用于传送同一NPDU的传送次数(TransmissionNo),上述传送次数(TransmissionNo)的初始值为‘1’。
该通信循环明细包括经过时间(ElapsedTime),经过时间表示从上述应用层接收新通信循环标识符(CycleID)后所经过的时间,其初始值为‘0’。
该通信循环明细包括应答收信状态(ResRcvState),上述应答收信状态表示有没有接收到相应于上述MsgSend原语的应答数据包。
生成所述数据包传送(PktSend)原语的阶段中,在上述APDU上追加NPDU头和尾,利用NPDU生成上述数据包传送(PktSend)原语。
所述数据处理方法还包括如下阶段,即把生成的NPDU进行储存的阶段。
所述处理方法还包括如下阶段,即在某些情况下结束当前通信循环的阶段。
所述数据处理方法还包括如下各阶段;即,进行上述结束通信循环的阶段后,删除通信循环明细的阶段;把网络层完成(NLCompleted)原语传向应用层的阶段;这里的网络层完成(NLCompleted)包括意味着通信循环结果的编码值。
上述通信协议适用在上述主控装置。
上述完成阶段中,如下几个情况表示的是成功的完成;即,当上述通信循环类型为第1编码时,上述应答收信状态(ResRcvState)为应答收信(RES_RECEIVED)的情况;当上述通信循环类型为第2编码时,上述应答收信状态(ResRcvState)为应答收信(RES_RECEIVED),而且上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;当上述通信循环类型为第3编码时,从上述数据链路层接收到包括传送成功(SEND_OK)的数据链路层完成(DLLCompleted)原语的情况;当上述通信循环类型为第4编码时,从上述数据链路层接收到至少包括一个传送成功(SEND_OK)的数据链路层完成(DLLCompleted)原语的情况。
上述完成阶段中,如下几个情况表示的是失败的完成;即,当上述通信循环类型为第1编码时,上述传送次数(TransmissionNo)大于作为网络层媒介变量的最大再传送次数(SendRetries)的情况;当上述通信循环类型为第2编码时,上述应答收信状态(ResRcvState)为应答未收信(NOT_RECEIVED),而且上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;当上述通信循环类型为第3编码时,从上述数据链路层接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语,或在作为网络层的媒介变量的传送暂停时间(SendTimeOut)内,没能接收到来自数据链路层的数据链路层完成(DLLCompleted)原语的情况;当上述通信循环类型为第4编码时,相应于所有数据包传送,从上述数据链路层,接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语,或在上述传送暂停时间(SendTimeOut)内,相应于所有数据包传送,没能接收到来自数据链路层的数据链路层完成(DLLCompleted)原语的情况。
上述通信协议适用在从属设备。
上述完成阶段中,如下情况表示成功的完成;即,从上述数据链路层接收到包括传送成功(SEND_OK)的数据链路层完成(DLLCompleted)原语的情况。上述完成阶段中,如下情况表示失败的完成;即,从上述数据链路层中接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语的情况,或在作为网络层媒介变量的传送暂停时间(SendTimeOut)内,没能接收到来自数据链路层的数据链路层完成(DLLCompleted)原语的情况。
上述处理方法还包括如下阶段;即,把包括已储存NPDU的MsgSend原语,进行再传送的阶段。
上述数据处理方法还包括如下阶段;即,进行上述再传送阶段后,把上述再传送次数(TransmissionNo)加‘1’,把经过时间(ElapsedTime)设定成‘0’,把应答收信状态(ResRcvState)设定成应答未收信(NOT_RECEIVED),由此更新上述通信循环明细的阶段。
上述通信协议适用于主控设备。
上述再传送阶段在下述几个情况中的某一情况中被执行;即,上述通信循环类型是第1编码或第4编码,上述传送次数(TransmissionNo)小于作为网络层媒介变量的最大再传送次数(SendRetries),上述应答收信状态(ResRcvState)为应答未收信(NOT_RECEIVED),上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;上述传送次数(TransmissionNo)小于上述最大再传送次数(SendRetries),从上述数据链路层接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语的情况;上述传送次数(TransmissionNo)小于最大再传送次数(SendRetries),在上述传送暂停时间(SendTimeOut)内,没能接收到来自上述数据链路层的数据链路层完成(DLLCompleted)原语的情况。
上述通信协议适用在从属设备。
上述再传送阶段在下述几个情况中的某一情况中被执行;即,上述通信循环类型是第4编码,上述传送次数(TransmissionNo)小于作为网络层媒介变量的最大再传送次数(SendRetries),上述应答收信状态(ResRcvState)为应答未收信(NOT_RECEIVED),上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;上述传送次数(TransmissionNo)小于上述最大再传送次数(SendRetries),从上述数据链路层接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语的情况;上述传送次数(TransmissionNo)小于最大再传送次数(SendRetries),在上述传送暂停时间(SendTimeOut)内,没能接收到来自上述数据链路层的数据链路层完成(DLLCompleted)原语的情况。
适用在上述主控设备,上述MsgSend原语是请求消息传送(ReqMsgSend)原语。
上述通信协议适用在从属设备,上述MsgSend原语是事件消息传送(EventMsgSend)原语。
上述通信协议是互动网络控制通信协议(LnCP)。
下面,通过本发明的实施例及附图,对本发明的家庭网络系统进行详细说明。不容置疑,本发明的范围不受限于以下的实施例及附图。本发明的权利范围,应以后附的权利请求范围为基础,进行解释。
图1为本发明的家庭网络系统的框图。
如图1所示,家庭网络系统1通过因特网络2联接到LnCP服务器3。另外客户设备4通过因特网络2联接到LnCP服务器3。即,家庭网络系统1把LnCP服务器3及/或客户设备4联接成可以互相传递消息。
家庭网络系统1的外部网络包括因特网络2,上述外部网络根据客户设备4的种类还可具备其它设备。即,以该因特网络2为例,客户设备4为计算机时具备Web服务器(Websever)(未图示),客户设备4为网络电话时具备通信服务器(Wap sever)(未图示)。
LnCP服务器3通过特定的注册及注销程序,分别联接到家庭网络系统1及客户设备4,从客户设备4接收监视及控制命令等,再通过因特网络2用特定形式的消息传送到家庭网络系统1。另外,LnCP服务器3从家庭网络系统1接收并储存特定形式的消息或把它传送到客户设备4。另外,LnCP服务器3把自身储存或生成的消息传送到上述家庭网络系统1。即,家庭网络系统1联接在LnCP服务器3,可下载LnCP服务器3所提供的服务内容。
家庭网络系统1包括网关10,网络管理器20~23,LnCP路由器30,31,LnCP适配器(adapter)35,36及多个电器设备40~49。网关10具有联接因特网的功能。网络管理器20~23履行对电器设备40~49的环境设定及管理功能。LnCP路由器30、31负责传输媒体之间的联接。LnCP适配器35,36可以使网络管理器22及电器设备46联接到传输媒体。
家庭网络系统1内的网络由各电器设备40~49共用的传输媒体相互联接组成。该传输媒体可利用RS-485或低功率的RF等数据链路层非规格化的传输媒体(non-standardized transmission medium),或可以利用电力线或IEEE802.11等规格化的传输媒体(standardized transmission medium)。
家庭网络系统1内的网络由与因特网络2是相互分离的网络。即,上述家庭网络系统1内的网络构成由有线或无线传输媒体联接的独立网络。这里,独立网络包括虽然处于物理上的联接状态但理论上分离的网络。
家庭网络系统1包括主控(Master)设备,从属(Slave)设备。主控设备可以控制电器设备40~49或监视其工作状态。从属设备可以回应主控设备的请求及通知自身状态的变化情报。该主控设备包括网络管理器20~23,从属设备包括电器设备40~49。该网络管理器20~23包括所要控制的电器设备40~49的消息及控制码,按程序化的方式进行控制作业,或接收从LnCP服务器及/或客户设备4输入的消息后,进行控制作业。另外,如图所示,联接有多个网络管理器20~23时,为了进行与其它网络管理器20~23之间的交换消息,也为了消息的同步化以及进行控制,这些网络管理器20~23即可以是主控设备又可以是从属设备。即应该是一种,从物理意义上只是一个设备,但理论上是同时具有主控及从属功能的设备(即兼容设备)。
另外,这些网络管理器20~23及电器设备40~49可以直接联接到网络(如图示的电力线网络,RS-485网络,RF网络)上。另外,还可以通过LnCP路由器30、31及/或LnCP网络适配器35,36联接。
另外,电器设备40~49及/或LnCP路由器30、31及/或LnCP网络适配器35,36注册在网络管理器20~23上,并根据产品情报,接收唯一的理论地址(例如0x00,0x01等)。这个理论地址与产品码(例如空调为‘0x02’,洗衣机为’0x01’)结合后,作为节点地址(Node Address)使用。例如,通过0x02009(空调1)及0x0201(空调2)的相同的节点地址被电器设备40~49及/或LnCP路由器30、31及/或LnCP网络适配器35,36识别。另外,还可以使用按特定的基准(同种产品,产品的设置位置,使用者等)设置的群地址,使用群地址时可以一次性识别一个以上的电器设备40~49及/或LnCP路由器30、31及/或LnCP网络适配器35,36。在这个群地址中,显性群地址把地址选择值(下述为标记flag)设定为“1”时该显性群地址为指定多个的客户设备的集团(cluster)地址。默示群地址把理论地址及/或产品码的所有比特(byte)值添加为“1”,进而可以指定多个客户设备。这里,特别要指出的是把明示群地址通常称为集团码。
图2为本发明的互动网络控制协议(LnCP)框图。家庭网络系统1通过图2中的互动网络控制协议(LnCP)可以使网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49之间互相传送消息。进而,网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49通过这种LnCP实行网络通信。
如图2所示,LnCP包括应用软件50,应用层60,网络层70,数据链路层80,物理层90及媒介变量管理层100。应用软件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之间的物理接口及要传送的比特(byte)的规则。媒介变量管理层100管理设定各层中使用的节点的媒介变量(node parameter)。
详细的说,应用软件50还包括网络管理附属层51。网络管理附属层51具有管理节点媒介变量,及管理联接在网络上的网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49的功能。即,该网络管理附属层51具有一种功能,可以通过媒介变量管理层100,设定媒介变量数值或利用媒介变量对媒介变量进行管理。适用于LnCP的设备为主控设备时,该网络管理附属层51还具有履行构成网络或管理网络的功能。
另外,网络层70还包括家庭码控制附属层71。网络联接有网络管理器20~23、LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49。当利用电力线或IEEE 802.11、无线等非独立形传输媒体(例如LnCP包括电力线通信(PLC)协议/或无线(wireless)协议时)构成上述网络时,为了在理论上划分各网络,家庭码控制附属层71发挥设定家庭码及管理家庭码的功能。该家庭码控制附属层71通过像RS-485等独立形传输媒体,从物理意义上分离个别网络时,不包括在LnCP中。该家庭码以4字节(byte)组成,设定为随机(random)值或使用者设定值。
图3a及图3b为图2的层间的接口的框图。
图3a所示为物理层90联接到非独立形传输媒体时的层间的接口示意图。
图3b所示的是物理层90联接到独立形传输媒体时的层间的接口示意图。
家庭网络系统1把各层需要的头(header)及尾(trailer)消息加到从高层接收的网络协议消息单位(Protocol Data UnitPDU)中,在传达到低层。
如图所示,APDU(Appolication layer PDU)是应用层60和网络层70之间传送的数据值(data)。NPDU(Network Layer PDU)是网络层70与数据链路层80或家庭码附属层71之间传送的数据值。HCNPDU(Home Code ControlSublayer PDU)是网络层70(确切的说是家庭码附属层71)与数据链路层80或家庭码附属层71之间传送的数据值。数据链路层80与物理层90之间按数据值(data),数据帧单位形成接口。
图4a至4f为图3a及3b的接口的详细框图。
图4a所示为在应用层60中的APDU结构。
AL(APDU Length)域为表示APDU的长度(AL到数据帧组的长度)的域,最小值为4最大值为77。
AHL(APDU Header Length)域是表示APDU头(header)的长度(AL到ALO的长度),的域,没有扩展时为3字节,可以扩展到7字节。LnCP网络协议中为了数据帧组的密码化,为了变更应用协议等APDU头(header)可以扩展到7字节。
ALO(Application Layer Option)域是用于扩展消息3的域,例如该域被设定为“0”时,装有其它值时消息处理被忽视。
数据帧组为处理使用者的控制消息或事件消息的域,其结构随着ALO所含值的变化发生变化。
图4b为网络层70中的NPDU的结构,图4c为NPDU中的NLC的详细结构示意图。
SLP(Start of LnCP Packet)域为表示数据包的起始域,其值为0x02。
DA(Destination Address)及SA(Source Address)的域为要传送的数据包的收信方及送信方的节点地址,各由16比特构成。这里最高1比特为显示群地址的标记(flag),接下来的7比特为产品的种类(产品码),低8比特包括分得的理论地址。具有多个同一种类的网络管理器20~23或电器设备40~49时,上述低8比特用于划分上述各网络管理器20~23或电器设备40~49。
PL(Packet Length)域为显示要传送的NPDU总长的域,其最小值为12字节,最大值为100字节。
SP(Service Priority)域为给予传送消息传送优先位的域,由3比特构成。各传送消息的优先顺位如表2。
从属客户设备应答主控客户设备的请求时,随从主控客户设备接收到的请求消息的优先顺位。
表2
NHL(NPDU Header Length)域是用于扩展NPDU头(header)(SLP中的NLC域)使用的域,没扩展时是9字节,最大可扩展到16字节。
PV(Protocol Version)域是显示所采用的网络协议版本的1字节的域,由高4比特及低4比特构成。高4比特为版本(version)域,低4比特为服务器版本(sub-version)域。版本(version)及服务器版本(sub-version)分别以16进制标法显示版本。
NPT(Network layer Packet Type)域是在网络层中划分数据包种类的4比特域。LnCP包括请求数据包(Request Packet),应答数据包(ResponsePacket),通知数据包(Notification Packet)。主控客户设备的NPL域应设定为请求数据包或通知数据包,从属设备的NPL域应设定为应答数据包或通知数据包。数据包种类的NPT值如下表3所示。
表3
TC(Transmission Counter)域是网络层发生通信故障,不能成功发送请求数据包或应答数据包时,为了提高传送请求数据包或应答数据包的成功率,再传送或反复传送的2比特域。收信方可以利用TC域的数值,检测出重复消息。随NPT值的TC域值的范围同下表4。
表4
PN(Packet Number)域由2比特构成。在从属设备中为了检测出重复数据包PN(Packet Number)域与TC一起被使用。在主控客户设备中为了处理多个的通信循环被使用。随NPT值的PN域的范围如下表5所示。
表5
APDU域是应用层60与网络层70之间传送的应用层的网络协议数据值(data)的单位。APDU最小值为0字节,最大值为88字节。
CRC(Cyclic Redundancy Check)域是为了检测出已接收数据包(SLP到APDU域)的错误的16比特域。
ELP(End of LnCP Packet)域是显示数据包未端的域,其值为0x03。如果接收与数据包长度域中的与长度相应的数据值(data),也不能检测出ELP域,则示为数据包错误。
图4d为家庭码控制附属层71中的HCNPDU结构图。
如图所示,NPDU的高部分还包含HC(Home Code)域。
该家庭码的数值由4字节构成。该家庭码在数据包可传播的线路的距离内具有唯一的值。
图4e所示为数据链路层中的数据帧的结构。
LnCP的数据链路层的数据帧的头(header)及尾(trailer)根据传输媒体形成不同的结构。数据链路层80使用非规格化的传输媒体时,数据帧的头(header)及尾应具有Null域(Null Field)。如使用规格化的传输媒体,则随网络协议的规定。NPDU域是从高网络层70传送的数据值的单位。HCNPDU是物理层90为电力线或IEEE 802.11等非独立形传输媒体时使用的数据值单位,是在NPDU前端追加4字节家庭码的数据值单位。数据链路层80不划分NPDU及HCNPDU的处理。
图4f为物理层90中的数据帧结构。
LnCP的物理层90具有把物理信号传送到传输媒体的功能。作为LnCP网络协议的物理层90,可以使用与RS-485或低功率RF等同的非规格化数据链路层80的传输媒体。还可以使用如电力线或IEEE 802.11等同的规格化传输媒体。适用LnCP网络的家庭网络系统1中,为了网络管理器20~23及电器设备40~49与RS-485或LnCP路由器30,31,及LnCP适配器35,36联接,利用了UART(Universal Asynchronous Receiver and Transmitter)数据帧结构及RS-232的信号标准(level)。各设备之间利用网线(serial bus)联接时,UART在通信线路控制比特信号流。如图4f所示,在LnCP中,把高层送来的数据包,变换成10比特大小的UART数据帧单位后,通过传输媒体传送。UART数据帧由1比特的起始位(Start Bit)、8比特的数据值(data)及1比特的停止位(Stop Bit)构成。上述UART数据帧不使用效验位(Parity Bit)。UART数据帧从起始位传达,最后传达停止位。适用LnCP的家庭网络系统1利用UART时,不使用追加的数据帧头(frame header)及帧尾(frametrailer)。
以下是对使用在上述层中的节点媒介变量的说明。
下述的节点媒介变量的数据值的类型(type)与表6所示的多个形式中的一种相对应。
表6
该网络层70具有如下功能。
第1为地址管理功能,地址管理功能为储存自身地址及目的地的网络管理器20~23或电器设备40~49的地址的功能。这时,使用地址所含的各网络管理器20~23或各电器设备40~49的消息及位置消息,可以指定集团地址,并可支持立体声调频广播(multicasting)及广播(broadcasting)通信。
第2为流动控制功能,流动控制功能为通过通信循环(cycle)控制数据包流动的功能。
第3为错误控制功能,错误控制功能为在规定的时间内没能接收应答数据包时,重新传输域值的功能。重新传输次数最大限制为3回。
第4为事务控制(Transaction Control)功能,事务控制功能为通过检测出重复数据包,防止重复履行同样的消息,并控制同时多发的通信循环的功能。
第5为路由控制功能,路由控制功能为在两个以上独立的传输媒体间,传输数据包,并为了防止各LnCP路由器30~31以及LnCP适配器35~36之间的无限循环(loop),控制数据包的流动的功能。
这种网络层70以通信循环为单位提供服务。这种通信循环有{1-Request,1-Response},{1-Request,Multi-Responses},{1-Notification},{Repeated-Notification}等四种。
{1-Request,1-Response}通信循环为一个主控设备向一个从属设备传输一个请求数据包(Request Packet),从属设备传输对应上述请求的一个应答数据包(Request Packet)的通信循环。
{1-Request,Multi-Responses}通信循环为一个主控设备向多个从属设备传输一个请求数据包,各从属设备并依次传输应答请求数据包的应答数据包的通信循环。
{1-Notification}通信循环为设备(主控或从属)以一个或多个设备(主控或从属)为对象,传输一个通知数据包后,即刻结束通信的通信循环。
{Repeated-Notification}通信循环为在(1-Notification}通信循环为了确保传输可靠性,反复传输同样的数据包后,结束通信的通信循环。
上述通信循环与数据包类型及传输服务(或网络层服务)(NLservice)同表7a。
表7a
网络层70使用的节点媒介变量(Node Parameter)的值同表7b。
表7b
图5a,图5b为包括用于各层之间交换的原语(primitive)的框图。
图5a为主控设备各层之间的原语传送示意图。
如图所示,用于应用软件50和应用层60之间的原语,使用UserReq、UserDLReq、UserULReq、ALCompleted、UserRes、UserEventRcv。这里,省略上述内容的相关说明。
如图所示,用于应用阶层60和网络层70之间的原语,包括ReqMsgSend、NLCompleted以及MsgRev。
请求消息送信(ReqMsgSend)原语是,用于把消息从主控设备应用层60传向网络层70的原语,包括表8a所示的构成要素。
表8a
这里,通信循环识别方(CycleID)是由上述应用服务编码(ALSvcCode)和收信设备节点地址(node Address)组合形成。
消息收信(MsgRcv)原语是用于把数据包从主控设备网络层70传向应用层60的原语,包括表8b的构成要素。
表8b
上述通信循环识别方(CycleID)的构成,将在下面进行说明。
网络层完成(NLCompleted)原语是用于从网络层70向应用层通知数据包处理状态的原语,包括表8c的构成要素。
表8c
如图所示,用于网络层70和数据链路层80之间的原语,包括PktSend、PktRcv、以及DLLCompleted。
数据包送信(PktSend)原语是用于把数据包从网络层70传向数据链路层80的原语,包括表9a的构成要素。
表9a
数据包收信(PktRcv)原语是用于把数据包从数据链路层80传向网络层70的原语,包括表9b的构成要素。
表9b
数据链路层完成(DLLCompleted)原语是用于通知从数据链路层80向网络层70传送的数据包传送结果的原语,包括表9c的构成要素。
表9c
如图所示,用于数据链路层80和物理层90之间的原语包括FrameSend、FrameRcv、RptLineStatus。这里省略其说明。
图5b为从属设备层之间的原语传送状态示意图。
如图所示,用于软件50a和应用层60a之间的原语包括UserResSend、UserEventSend、UserReqRcv、ALCompleted,这里省略其说明。
如图所示,用于应用层60a和网络层70a之间的原语包括ReqMsgRcv、ResMsgSend
EventMsgSend、NLCompleted。
请求消息收信(ReqMsgRcv)原语是从网络层70a向应用层60a传送请求消息的原语,包括表10a的构成要素。
表10a
应答消息送信(ResMsgSend)原语是用于从应用层60a向网络层70a传送应答消息的原语,包括表10b的构成要素。
表10b
事件消息送信(EventMsgSend)原语是从应用层60a向网络层70a传送事件消息的原语,包括表10c的构成要素。
表10c
网络层完成(NLCompleted)原语是从网络层70a向应用层60a通报数据包处理状态的原语,包括表10d的构成要素。
表10d
用于从属设备的各网络层70a、数据层80a以及物理层90a之间的原语,其使用状况与主控设备的各原语相同。
图6为本发明的数据处理方法实施例流程图。该流程图展示的是为了把主控设备的请求数据包和从属设备的通知数据包,从应用层60、60a传向数据链路层80、80a,在网络层中处理上述各数据包的过程。即,对网络层70,70a与应用层60、60a之间的APDU收信以及,网络层70、70a与数据链路层80、80a之间的NPDU送信,进行说明。
阶段(S61)中,主控设备网络层70从应用层60接收请求消息送信(ReqMsgSend)原语(即,请求消息或数据包)。另外,从属设备网络层70a从应用层60a接收事件消息送信(EventMsgSend)原语(即,通信消息或数据包)。网络层70、70a计算从收信起始点开始的经过时间(ElapsedTime)。
阶段(S62)中,主控设备的网络层70根据从应用层60接收的请求消息送信(ReqMsgSend)原语,生成具有表11所示结构的通信循环明细(CycleDescription)。对通信循环明细的变数,进行如下设定。
首先,通信循环标识符(CycleID)是包括在请求消息送信(ReqMsgSend)原语中的通信循环标识符(CycleID)。如果包括在请求消息送信(ReqMsgSend)原语中的网络层服务(NLService)为不需要应答(Non-acknowledged)或反复通知(Repeated-notification)服务,则通信循环类型(CycleType)被设定为{1-notification}(2)或{Repeated-notification}(3)。如果网络层服务(NLService)是需要应答(Acknowledged)服务,而且服务目的地址(DstAddress)值所指的是单一收信者,则通信循环类型(CycleType)被设定为{1-request,1-response}(0)。如果网络层服务(NLService)是需要应答(Acknowledged)服务,而且服务目的地址(DstAddress)值是群地址,则通信循环类型(CycleType)被设定为{1-request,multi-response}(1)。连接器地址(Connector Addr)是包括在请求消息送信(ReqMsgSend)原语中的目的地址(DstAddress),在传送时是收信方地址,而在接收时是送信方地址。数据包编号(PacketNo)是在最近刚结束的通信循环中的编号值上加“1”后得到的值,如果得到的值为“4”则归“0”。网络层服务(NLService)是包括在请求消息送信(ReqMsgSend)原语中的网络层服务(NLService)。服务优先次序(SvcPriority)(与上述传送优先次序相同)是包括在请求消息送信(ReqMsgSend)原语的优先次序(SvcPriority)。暂停时间(TimeOut)是包括在请求消息送信(ReqMsgSend)原语中的暂停时间(Time Out),该暂停时间应大于传送暂停时间(SendTimeOut)(1000ms),上述传送暂停时间是用于数据链路层完成(DLLCompleted)原语的等待时间。通信循环为{1-request,1-response}或{Repeated-notification}通信循环时,传送次数(TransmissionNo)是指传送同一APPU的次数,其初始值为“1”,可以进行的再传送次数为最大再传送次数(SendRetries)所定义的3次,上述最大再传送次数是网络层70的媒介变量。经过时间(ElapsedTime)是应用层60接收到新通信循环标识符(CycleID)时的时间点之后所经过的时间,其初始值为“0”,后续值为通信循环所耗时间,其值一直被更新,直到当前通信循环结束为止。应答收信状态(ResRcvState)用于表示发送请求数据包后有没有接收到应答数据包,其初始值为应答未收信(NOT_RECEIVED),接收到应答数据包后的值为应答收信(RES_RECEIVED)。
数据包送信(PktSend)原语primitiv是用于把数据包从网络层70传向数据链路层80的原语primitiv,包括表13a的构成要素。
表13a
数据包收信(PktRcv)原语primitiv是用于把数据包从数据链路层80传向网络层70的原语primitiv,包括表13b的构成要素。
表13b
数据链路层结束(DLLCompleted)原语primitiv是用于通知从数据链路层80向网络层70传送的数据包传送结果的原语primitiv,包括表13c的构成要素。
表13c
如图所示,用于数据链路层80和物理层90之间的原语primitiv包括FrameSend、FrameRcv、RptLineStatus。
从属设备网络层70a从应用层60a接收事件消息通信(EventMsgSend)原语后,按下述方式生成通信循环明细。
通信循环标识符(CycleID)是包括在事件消息送信(EventMsgSend)原语中的通信循环标识符(CycleID)。如果包括在事件消息送信(EventMsgSend)原语中的网络层服务(NLService)为不需要应答(Non-acknowledged)或反复通知(Repeated-notification)服务,则通信循环类型(CycleType)被设定为{1-notification}(2)或{Repeated-notification}(3)。连接器地址(Connector Addr)是包括在事件消息送信(EventMsgSend)原语中的目的地址(DstAddress),数据包编号(PacketNo)是在最近刚结束的通信循环中的编号值上加“1”后得到的值,如果得到的值为“3”则归“0”。网络层服务(NLService)是包括在事件消息送信(EventMsgSend)原语中的网络层服务(NLService)。服务优先次序(SvcPriority)是包括在事件消息送信(EventMsgSend)原语的优先次序(SvcPriority)。暂停时间(TimeOut)是包括在事件消息送信(EventMsgSend)原语中的暂停时间(Time Out),这里表示的是反复通知消息传送间隔(RepNotiInt)。通信循环为{1-notification}(2)或{Repeated-notification}(3)通信循环时,传送次数(TransmissionNo)是指传送同一APPU的次数,其初始值为“1”。经过时间(ElapsedTime)是应用层60a接收到新通信循环标识符(CycleID)时的时间点之后所经过的时间,其初始值为“0”,后续值为当前通信循环所耗时间,其值一直被更新,直到当前通信循环结束为止。应答收信状态(ResRcvState)用于表示发送通知数据包后有没有接收到通知数据包,其值为应答未收信(NOT_RECEIVED)表12为通信循环、数据包类型、网络层服务之间的关系示意图。
阶段S63中,利用通信循环明细的各变量,在APDU上追加NPDU头和尾后生成NPDU。这里,头的各域值设定过程如下。首先,SA域包括送信方节点地址(Node Address),PL域(NPDU长度)包括有在APDULength上加13后的值。这里APDULength包括在从应用层60,60a传送的原语中。另外,PV域(原语版本)中,比如包括有0x20(版本2.0)。其他域使用包括在通信循环明细中的值。然后,在头上追加APDU,并追加NPDU尾,上述APDU包括在从应用层60、60a传送的原语中。即,ELP域中包括有0x03,而CRC域中比如包括利用CCITT-16标准生成多项式算出的值。
阶段S64中,主控设备的网络层70生成NPDU后,利用包括上述NPDU的数据包传送(PktSend)原语,按通信循环明细中设定的网络层服务(NLService),把上述NPDU即可传向上述数据链路层80。这里,为了进行再传送,储存上述将要传送的NPDU。
另外,从属设备的网络层70a生成NPDU后,利用包括NPDU的数据包传送(PktSend)原语,按通信循环明细中设定的通信循环类型(CycleType)值,把NPDU传向数据链路层80a。即,通信循环类型(CycleType)如果是{1-request,multi-response}通信循环,则按应答迟延时间(ResDelayTime),迟延后把NPDU传向数据链路层80a。如果是其他通信循环,则即刻传送。另外,如果是{Repeated-notification}通信循环,则为了能够进行再传送,储存NPDU。
传送NPDU后,进入结束当前通信循环的过程。
阶段S65中,网络层70,70a对通信循环控制的结束,进行判断,如果判定为结束,则与成功和失败无关,进行阶段S67,如果不是则进行阶段S66。
更详细的说,主控设备的网络层70中,在下述4种情况下,把通信循环判断为成功。
*{1-request,1-response}通信循环中,应答收信状态(ResRcvState)值为,应答收信(RES_RECEIVED)时;*{1-request,multi-response}通信循环中,应答收信状态(ResRcvState)值为,应答收信(RES_RECEIVED),经过时间(ElapsedTime)值大于暂停时间(TimeOut)值时;*{1-notification}通信循环中,从数据链路层(80)接收到包括意味着传送结束的SEND_OK值的数据链路层完成(DLLCompleted)原语时;*进行{Repeated-notification}通信循环的期间内,从数据链路层(80)接收到包括意味着传送结束的SEND-OK值的数据链路层完成(DLLCompleted)原语时。
另外,主控设备网络层70中,在下述6种情况下,把通信循环判断为失败。
*{1-request,1-response}通信循环中,通信循环明细的传送次数(TransmissionNo)值大于作为网络层70媒介变量的最大再传送次数3次时;*{1-request,multi-response}通信循环中,应答收信状态(ResRcvState)值为应答未收信(NOT_RECEIVED),而且经过时间(ElapsedTime)值大于暂停时间(TimeOut)值时;*{1-notification}通信循环中,从数据链路层(80)接收包括意味着传送失败的SEND_FAILED的数据链路层完成(DLLCompleted)原语时;*{1-notification}通信循环中,在作为网络层(70)媒介变量的传送暂停时间(SendTimeOut)内,没能从数据链路层(80)接收到数据链路层完成(DLLCompleted)原语时;*在进行{Repeated-notification}通信循环的期间内,在传送所有的数据包时,从数据链路层80只接收到包括意味着传送失败的SEND_FAILED的数据链路层完成(DLLCompleted)原语时;*进行{Repeated-notification}通信循环的期间内,在传送所有的数据包时,在作为网络层(70)媒介变量的传送暂停时间(SendTimeOut)内,没能从数据链路层(80)接收到数据链路层完成(DLLCompleted)原语时。
从属设备的网络层70a把通知数据包传送到数据链路结成80a后,如果从数据链路层80a接收到包括SEND_OK值的数据链路层完成(DLLCompleted)原语,则成功结束通信循环。
另外,从属设备网络层70a向数据链路层80a传送通知数据包后,如果从数据链路层80a接收到包括SEND_FAILED值的数据链路层完成(DLLCompleted)原语,或在传送暂停时间(SendTimeOut)内没能从数据链路层80a接收数据链路层完成(DLLCompleted)原语,则以失败结束通信循环。
阶段S66中,在通信循环没有结束的情况下,网络层70,70a对是不是需要进行再传送,进行判断。如果符合再传送条件,则进行阶段S67,如果不是则进行阶段S65,重新判断通信循环是否结束。
更详细的说,主控设备在发送请求数据包后,所进行的通信循环是{1-request,1-response}或{Repeated-notification},并仅限2次可以进入NPDU再传送过程。下面,展示主控设备进入再传送的条件。
*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并经过时间(ElapsedTime)的值大于暂停时间(TimeOut)值时;*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并从数据链路层80接收到包括SEND FAILED的数据链路层完成(DLLCompeted)原语时;*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并在传送暂停时间(SendTimeOut)内,没能从数据链路层80接收到数据链路层完成(DLLCompeted)原语时。
从属设备在发送通知数据包后,如果进行的通信循环为{Repeated-notification},传送次数(TransMissionNo)值大于1,则可以限于2次进入NPDU的再传送过程。下面,展示从属设备进入再传送的条件。
*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并经过时间(ElapsedTime)的值大于暂停时间(TimeOut)值时;*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并从数据链路层80a接收到包括SEND FAILED的数据链路层完成(DLLCompeted)原语时;*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并在传送暂停时间(SendTimeOut)内,没能从数据链路层80a接收到数据链路层完成(DLLCompeted)原语时。
阶段S67中,如果进入到再传送阶段,则主控设备和从属设备修改通信循环明细内容后,重新进行NPDU生成过程和通信循环结束过程。这里,通信循环明细进行如下修改。
*传送次数(TransMissionNo)增加‘1’;*经过时间(ElapsedTime)设定成‘0’;应答收信状态(ResRcvState)设定成应答未收信(NOT_RECEIVED)。
阶段S68中,主控设备和从属设备在以成功或失败结束通信循环时,删除相应的通信循环明细。阶段S69中,把包括失败原因编码值的网络层完成(NLCompleted)原语,传送到应用层60,60a中。这里,如果成功结束通信循环,则包括的编码值为CYCLE_OK,如果以失败结束通信循环,则包括的编码值为CYCLE_FAILED。
上述数据处理方法在开始阶段中,按一定的方法检测出主控设备网络层接收的应答数据包中的重复数据包,并把上述重复数据包进行处理。同时,可以利用通信循环标识符(CycleID),进行通信循环的控制、错误控制等作业。
综上所述,本发明具有如下有益效果。本发明可以提供适用泛用通信规范——控制通信协议的家庭网络系统的网络层数据处理方法,该泛用通信规范具有控制并监视家庭网络系统内各电器设备的功能。本发明的网络层数据处理方法,作为泛用通信规范采用互动网络控制通信协议(Living networkControl ProtocolLnCP)。本发明的网络层数据处理方法,在某种情况下,可以进行数据包的再传送,提高数据传送效率。本发明的网络层数据处理方法可以从应用层向数据链路层传送数据包。
权利要求
1.一种网络层数据处理方法,其特征在于,至少由物理层、数据链路层、网络层、以及应用层组成的通信协议中,包括从应用层,接收由应用层通信协议数据单位(APDU)构成的消息传送(MsgSend)原语的阶段;根据消息传送(MsgSend)原语生成通信循环明细的阶段;根据消息传送(MsgSend)原语以及/或通信循环明细,生成由网络层通信协议数据单位(NPDU)构成的数据包传送(PktSend)原语的阶段;把数据包传送(PktSend)原语传向数据链路层的阶段。
2.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信循环明细包括通信循环标识符(CycleID),通信循环标识符包括在所述消息传送(MsgSend)原语中。
3.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信循环明细包括通信循环类型(CycleType),通信循环类型包括在所述消息传送(MsgSend)原语,根据网络层服务(NLService)以及/或目的地址设定通信循环类型。
4.根据权利要求3所述的网络层数据处理方法,其特征在于,所述网络层服务至少包括需要应答(Acknowledged)、不需要应答(Non-acknowledged)、反复通知(Repeated-notification)中的某一个。
5.根据权利要求4所述的网络层数据处理方法,其特征在于,所述通信循环类型在需要应答(Acknowledged)时包括第1编码或第2编码,在不需要应答(Non-acknowledged)时包括第3编码,在反复通知(Repeated-notification)时包括第4编码。
6.根据权利要求5所述的网络层数据处理方法,其特征在于,所述第1编码为“1-请求、1-应答”通信循环,第2编码为“1-请求、多-应答”通信循环,第3编码为“1-通知”通信循环,第4编码为“反复-通知”通信循环。
7.根据权利要求5所述的网络层数据处理方法,其特征在于,所述需要应答中的消息传送(MsgSend)原语包括的目的地址指向单一收信,则所述通信循环类型包括第1编码,如果目的地址指向数个收信,则所述通信循环类型包括第2编码。
8.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信循环明细包括连接器地址,连接器地址包括收信方地址,收信方地址包括在所述消息传送(MsgSend)原语中。
9.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信循环明细包括数据包编号(PacketNo)。
10.根据权利要求9所述的网络层数据处理方法,其特征在于,所述通信循环明细包括数据包编号(PacketNo)的值为,在最近刚结束的通信循环所使用的值上加“1”后的值。
11.根据权利要求10所述的网络层数据处理方法,其特征在于,所述数据处理方法还包括如下阶段,即,如果所述相加后得到的数据包编号(PacketNo)值是一定的极限值,则把上述值设定成初始值的阶段。
12.根据权利要求11所述的网络层数据处理方法,其特征在于,所述初始值为“0”,极限值为“4”。
13.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信循环明细包括网络层服务(NLService),该网络层服务(NLService)包括在上述消息传送(MsgSend)原语中。
14.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信循环明细包括服务优先次序(SvcPriority),该服务优先次序(SvcPriority)包括在上述消息传送(MsgSend)原语中。
15.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信循环明细包括暂停时间(TimeOut),该暂停时间包括在上述消息传送(MsgSend)原语中。
16.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信循环明细包括用于传送同一NPDU的传送次数(TransmissionNo)。
17.根据权利要求16所述的网络层数据处理方法,其特征在于,所述传送次数(TransmissionNo)的初始值为‘1’。
18.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信循环明细包括经过时间(ElapsedTime),经过时间表示从所述应用层接收新通信循环标识符(CycleID)后所经过的时间。
19.根据权利要求18所述的网络层数据处理方法,其特征在于,所述经过时间(ElapsedTime)的初始值为‘0’。
20.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信循环明细包括应答收信状态(ResRcvState),该应答收信状态表示有没有接收到相应于上述消息传送(MsgSend)原语的应答数据包。
21.根据权利要求1所述的网络层数据处理方法,其特征在于,所述生成上述数据包传送(PktSend)原语的阶段中,在所述应用层通信协议数据单位(APDU)上追加网络层通信协议数据单位(NPDU)头和尾,利用网络层通信协议数据单位(NPDU)生成上述数据包传送(PktSend)原语。
22.根据权利要求1所述的网络层数据处理方法,其特征在于,所述数据处理方法还包括如下阶段,即把生成的NPDU进行储存的阶段。
23.根据权利要求1至20任意一项中所述的网络层数据处理方法,其特征在于,所述处理方法还包括如下阶段在某些情况下结束当前通信循环的阶段。
24.根据权利要求23所述的网络层数据处理方法,其特征在于,所述数据处理方法还包括如下各阶段进行所述结束通信循环的阶段后,删除通信循环明细的阶段;把网络层完成(NLCompleted)原语传向应用层的阶段;该网络层完成(NLCompleted)包括(意味着)通信循环结果的编码值。
25.根据权利要求23所述的网络层数据处理方法,其特征在于,所述通信协议适用在上述主控装置。
26.根据权利要求25所述的网络层数据处理方法,其特征在于,所述完成阶段中,如下几个情况表示的是成功的完成当上述通信循环类型为第1编码时,上述应答收信状态(ResRcvState)为应答收信(RES_RECEIVED)的情况;当上述通信循环类型为第2编码时,上述应答收信状态(ResRcvState)为应答收信(RES_RECEIVED),而且上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;当上述通信循环类型为第3编码时,从上述数据链路层接收到包括传送成功(SEND_OK)的数据链路层完成(DLLCompleted)原语的情况;当上述通信循环类型为第4编码时,从上述数据链路层接收到至少包括一个传送成功(SEND_OK)的数据链路层完成(DLLCompleted)原语的情况。
27.根据权利要求25所述的网络层数据处理方法,其特征在于,所述完成阶段中,如下几个情况表示的是失败的完成当上述通信循环类型为第1编码时,上述传送次数(TransmissionNo)大于作为网络层媒介变量的最大再传送次数(SendRetries)的情况;当上述通信循环类型为第2编码时,上述应答收信状态(ResRcvState)为应答未收信(NOT_RECEIVED),而且上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;当上述通信循环类型为第3编码时,从上述数据链路层接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语,或在作为网络层的媒介变量的传送暂停时间(SendTimeOut)内,没能接收到来自数据链路层的数据链路层完成(DLLCompleted)原语的情况;当上述通信循环类型为第4编码时,相应于所有数据包传送,从上述数据链路层,接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语,或在上述传送暂停时间(SendTimeOut)内,相应于所有数据包传送,没能接收到来自数据链路层的数据链路层完成(DLLCompleted)原语的情况为特征的网络层数据处理方法。
28.根据权利要求23所述的网络层数据处理方法,其特征在于,所述通信协议适用在从属设备。
29.根据权利要求28所述的网络层数据处理方法,其特征在于,所述完成阶段中,如下情况表示成功的完成从上述数据链路层接收到包括传送成功(SEND_OK)的数据链路层完成(DLLCompleted)原语的情况。
30.根据权利要求28所述的网络层数据处理方法,其特征在于,所述完成阶段中,如下情况表示失败的完成从上述数据链路层中接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语的情况,或在作为网络层媒介变量的传送暂停时间(SendTimeOut)内,没能接收到来自数据链路层的数据链路层完成(DLLCompleted)原语的情况。
31.根据权利要求1至20或22任意一项中所述的网络层数据处理方法,其特征在于,所述处理方法还包括如下阶段把包括已储存NPDU的消息传送(MsgSend)原语,进行再传送的阶段。
32.根据权利要求31所述的网络层数据处理方法,其特征在于,所述数据处理方法还包括如下阶段进行上述再传送阶段后,把上述再传送次数(TransmissionNo)加‘1’,把经过时间(ElapsedTime)设定成‘0’,把应答收信状态(ResRcvState)设定成应答未收信(NOT_RECEIVED),由此更新上述通信循环明细的阶段。
33.根据权利要求31所述的网络层数据处理方法,其特征在于,所述通信协议适用于主控设备。
34.根据权利要求33所述的网络层数据处理方法,其特征在于,所述再传送阶段在下述几个情况中的某一情况中被执行上述通信循环类型是第1编码或第4编码,上述传送次数(TransmissionNo)小于作为网络层媒介变量的最大再传送次数(SendRetries),上述应答收信状态(ResRcvState)为应答未收信(NOT_RECEIVED),上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;上述传送次数(TransmissionNo)小于上述最大再传送次数(SendRetries),从上述数据链路层接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语的情况;上述传送次数(TransmissionNo)小于最大再传送次数(SendRetries),在上述传送暂停时间(SendTimeOut)内,没能接收到来自上述数据链路层的数据链路层完成(DLLCompleted)原语的情况。
35.根据权利要求31所述的网络层数据处理方法,其特征在于,所述通信协议适用在从属设备。
36.根据权利要求35所述的网络层数据处理方法,其特征在于,所述再传送阶段在下述几个情况中的某一情况中被执行上述通信循环类型是第4编码,上述传送次数(TransmissionNo)小于作为网络层媒介变量的最大再传送次数(SendRetries),上述应答收信状态(ResRcvState)为应答未收信(NOT_RECEIVED),上述经过时间(ElapsedTime)大于暂停时间(TimeOut)的情况;上述传送次数(TransmissionNo)小于上述最大再传送次数(SendRetries),从上述数据链路层接收到包括传送失败(SEND_FAILED)的数据链路层完成(DLLCompleted)原语的情况;上述传送次数(TransmissionNo)小于最大再传送次数(SendRetries),在上述传送暂停时间(SendTimeOut)内,没能接收到来自上述数据链路层的数据链路层完成(DLLCompleted)原语的情况。
37.根据权利要求1至22任意一项中所述的网络层数据处理方法,其特征在于,所述适用在上述主控设备,上述消息传送(MsgSend)原语是请求消息传送(ReqMsgSend)原语。
38.根据权利要求1至22任意项中所述的网络层数据处理方法,其特征在于,所述通信协议适用在从属设备,上述消息传送(MsgSend)原语是事件消息传送(EventMsgSend)原语。
39.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信协议是互动网络控制通信协议(LnCP)。
全文摘要
本发明涉及一种网络层数据处理方法,是有关适用于家庭网络系统的网络层中的数据处理方法;本发明中家庭网络系统采用互动网络控制协议,至少由物理层、数据链路层、网络层以及应用层组成的通信协议中,网络层数据处理方法包括如下各阶段。即,从应用层,接收由应用层通信协议数据单位(APDU)构成的消息传送(MsgSend)原语的阶段;根据所述MsgSend原语生成通信循环明细的阶段;根据该MsgSend原语以及/或通信循环明细,生成由网络层通信协议数据单位(NPDU)构成的数据包传送(PktSend)原语的阶段;把所述数据包传送(PktSend)原语传向上述数据链路层的阶段。
文档编号H04L29/08GK1747476SQ20041007182
公开日2006年3月15日 申请日期2004年9月6日 优先权日2004年9月6日
发明者白承冕, 李军石, 金勇泰 申请人:乐金电子(天津)电器有限公司