Home network system

Information

  • Patent Grant
  • 7903670
  • Patent Number
    7,903,670
  • Date Filed
    Friday, May 14, 2004
    20 years ago
  • Date Issued
    Tuesday, March 8, 2011
    13 years ago
Abstract
The present invention discloses a home network using a living network control protocol. The home network system includes: a network based on a predetermined protocol; at least electric device connected to the network; and a network manager connected to the network, for controlling and/or monitoring the electric device, when the protocol includes an application layer for handling a message for controlling and monitoring the electric device, a network layer for network-connecting the electric device to the network manager, a data link layer for accessing shared transmission medium, and a physical layer for providing a physical interface between the electric device and the network manager, wherein the physical layer further includes a special protocol for providing an interface with a dependent transmission medium, and the network layer further includes a home code control sub-layer for managing a home code for network security when accessing the dependent transmission medium.
Description

This application claims the benefit of Korean Patent Application No. 2003-0034962, filed on May 30, 2003; Korean Patent Application No. 2004-0022184, filed Mar. 31, 2004 and PCT Application No. PCT/KR2004/001147, filed on May 14, 2004, which are hereby incorporated by reference for all purposes as if fully set forth herein.


TECHNICAL FIELD

The present invention relates to a home network system, and more particularly to, a home network system using a living network control protocol.


BACKGROUND ART

A home network connects various digital home appliances so that the user can always enjoy convenient, safe and economic life services inside or outside the house. Refrigerators or washing machines called white home appliances have been gradually digitalized due to the development of digital signal processing techniques, home appliance operating system techniques and high speed multimedia communication techniques have been integrated on the digital home appliances, and new information home appliances have been developed, to improve the home network.


As shown in Table 1, the home network is classified into a data network, an entertainment network and a living network by types of services.











TABLE 1





Classification
Function
Service type







Data network
Network between PC and
Data exchange, internet



peripheral devices
service, etc.


Entertainment
Network between
Music, animation


network
A/V devices
service, etc.


Living network
Network for controlling
Home appliances control,



home appliances
home automation,




remote meter reading,




message service, etc.









Here, the data network is built to exchange data between a PC and peripheral devices or provide an internet service, and the entertainment network is built between home appliances using audio or video information. In addition, the living network is built to simply control home appliances, such as home automation or remote meter reading.


A conventional home network system includes a master device which is an electric device for controlling an operation of the other electric devices or monitoring a status thereof, and a slave device which is an electric device having a function of responding to the request of the master device and a function of notifying a status change according to characteristics of the electric devices or other factors. Exemplary electric devices include home appliances for the living network service such as a washing machine and a refrigerator, home appliances for the data network service and the entertainment network service, and products such as a gas valve control device, an automatic door device and an electric lamp.


However, the conventional arts do not suggest a general communication standard for providing functions of controlling and monitoring electric devices in a home network system.


DISCLOSURE OF THE INVENTION

The present invention is achieved to solve the above problems. An object of the present invention is to provide a home network system using a control protocol which is a general communication standard for providing functions of controlling and monitoring electric devices in the home network system.


Another object of the present invention is to provide a home network system using a living network control protocol as a general communication standard.


Yet another object of the present invention is to provide a plurality of united primitives for transmitting data in a living network control protocol.


In order to achieve the above-described objects of the invention, there is provided a home network system including: a network based on a predetermined protocol; at least one electric device connected to the network; and a network manager connected to the network, for controlling and monitoring the electric device, wherein the protocol includes an application layer for handling a message for controlling and/or monitoring the electric device, a network layer for network-connecting the electric device to the network manager, a data link layer for accessing a shared transmission medium, and a physical layer for providing a physical interface between the electric device and the network manager, wherein the physical layer further includes a special protocol for providing an interface with a dependent transmission medium, and the network layer further includes a home code control sub-layer for managing a home code for network security when accessing the dependent transmission medium.


Preferably, the protocol performs an intrinsic function of the electric device or the network manager, and further includes an application software for providing an interface with the application layer.


Preferably, the application software further includes a network management sub-layer for managing a parameter and/or the electric device and/or network manager accessing the network.


Preferably, the special protocol is a power line communication protocol when the dependent transmission medium is a power line.


Preferably, the special protocol is a wireless communication protocol when the dependent transmission medium is wireless.


Preferably, the protocol further includes a parameter management layer for setting, getting or transmitting a parameter used in the application layer, the network layer, the data link layer or the physical layer upon the request of the network management sub-layer.


Preferably, the interface between the physical layer and the data link layer includes at least one of a frame sending primitive, a frame receiving primitive and a line status transmitting primitive.


Preferably, the frame sending primitive and the frame receiving primitive include predetermined bytes of a universal asynchronous receiver and transmitter (UART) frame.


Preferably, the line status transmitting primitive includes a line status such as a busy or idle status.


Preferably, the interface between the data link layer and the network layer includes at least one of a packet sending primitive, a packet receiving primitive and a data link layer completing primitive.


Preferably, the packet sending primitive includes a packet, a length of the packet and service priority.


Preferably, the packet receiving primitive includes a packet and a length of the packet.


Preferably, the data link layer completing primitive includes a packet transmission result.


Preferably, the data link layer completing primitive includes a transmission failure reason according to the packet transmission result.


Preferably, the interface between the network layer and the application layer includes at least one of a request message sending primitive, a message receiving primitive and a network layer completing primitive.


Preferably, the request message sending primitive includes a communication cycle identifier, a request message, a length of the request message, a destination address, a source address, a network layer service, response timeout, a transmission interval between repeated notification messages and service priority.


Preferably, the message receiving primitive includes a communication cycle identifier, an event response message, a length of the event response message, a destination address and a source address.


Preferably, the network layer completing primitive includes a communication cycle identifier and a transmission result.


Preferably, the network layer completing primitive includes a transmission failure reason according to the transmission result.


Preferably, the network layer completing primitive includes a retry number according to the transmission result.


Preferably, the protocol is applied to the network manager and/or electric device performing a master function.


Preferably, the interface between the network layer and the application layer includes at least one of a request message receiving primitive, a response message sending primitive, an event message sending primitive and a network layer completing primitive.


Preferably, the request message receiving primitive includes a request message, a length of the request message, a destination address, a source address, a network layer service and a duplicate packet check result.


Preferably, the response message sending primitive includes a communication cycle identifier, a response message and a length of the response message.


Preferably, the event message sending primitive includes a communication cycle identifier, an event message, a length of the event message, a destination address, a source address, a network layer service, a transmission interval between repeated notification messages and service priority.


Preferably, the network layer completing primitive includes a communication cycle identifier and a transmission result.


Preferably, the network layer completing primitive includes a transmission failure reason according to the transmission result.


Preferably, the network layer completing primitive includes a retry number according to the transmission result.


Preferably, the protocol is applied to the electric device performing a slave function.


Preferably, the interface between the application layer and the application software includes at least one of a user request primitive, a user download request primitive, a user upload request primitive, a user response primitive, a user event receiving primitive and an application layer completing primitive.


Preferably, the user request primitive includes an application service code, a request message, a length of the request message, a destination address, an application layer service, timeout and service priority.


Preferably, the user download request primitive includes an application service code, a download file, an application layer service, a destination address, timeout and service priority.


Preferably, the user upload request primitive includes an application service code, an upload file, an application layer service, a destination address, timeout and service priority.


Preferably, the user response primitive includes an application service code, a response message, a length of the response message and a source address.


Preferably, the user event receiving primitive includes an event message, a length of the event message and a source address.


Preferably, the application layer completing primitive includes an application service code and a service result.


Preferably, the application layer completing primitive includes a failure reason according to the service result.


Preferably, the protocol is applied to the network manager and/or electric device performing a master function.


Preferably, the interface between the application layer and the application software includes at least one of a user request receiving primitive, a user response sending primitive and a user event sending primitive.


Preferably, the user request receiving primitive includes an application service code, a request data, a length of the request data and a source address.


Preferably, the user response sending primitive includes an application service code, a response data and a length of the response data.


Preferably, the user event sending primitive includes an application service code, an application service, an event code and a status variable value.


Preferably, the protocol is applied to the electric device performing a slave function.


Preferably, the parameter of the physical layer includes a communication speed.


Preferably, the parameter of the data link layer includes at least one of frame timeout, a maximum frame allowable interval time, a minimum packet allowable interval time, a backoff retry number, a maximum transmission allowable time, a busy check time and a transmission delay time.


Preferably, the parameter of the network layer includes at least one of a product code, a node address, a cluster code, a home code, a maximum retry number, transmission timeout, a response delay time, a transmission delay time and a duplicate packet elapsed time.


Preferably, the parameter of the application layer includes at least one of a transmission interval between address request messages, a transmission interval between active event messages, a buffer size, service timeout and a transmission interval between download messages.


Preferably, the network management sub-layer interfaces with the parameter management layer through at least one of a parameter setting primitive and a parameter getting primitive in order to set or get at least one of the parameters of the physical layer, the data link layer, the network layer and the application layer.


Preferably, the parameter management layer interfaces with the physical layer, the data link layer, the network layer or the application layer through at least one of a parameter setting primitive, a parameter getting primitive and a parameter transmitting primitive in order to set, get or transmit at least one of the parameters of the physical layer, the data link layer, the network layer and the application layer.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a structure view illustrating a home network system in accordance with the present invention;



FIG. 2 is a structure view illustrating a living network control protocol stack in accordance with the present invention;



FIGS. 3A and 3B are structure views illustrating interfaces between layers of FIG. 2, respectively;



FIGS. 4A to 4F are detailed structure views illustrating the interfaces of FIGS. 3A and 3Bb, respectively; and



FIGS. 5A and 5B are structure views illustrating primitives for transmitting data exchanged between the layers.





BEST MODE FOR CARRYING OUT THE INVENTION

A home network system in accordance with the present invention will now be described in detail with reference to the accompanying drawings.



FIG. 1 is a structure view illustrating the home network system in accordance with the present invention.


Referring to FIG. 1, the home network system 1 accesses an LnCP server 3 through an internet 2, and a client device 4 accesses the LnCP server 3 through the internet 2. That is, the home network system 1 is connected to communicate with the LnCP server 3 and/or the client device 4.


An external network of the home network system 1 such as the internet 2 includes additional constitutional elements according to a kind of the client device 4. For example, when the client device 4 is a computer, the internet 2 includes a Web server (not shown), and when the client device 4 is an internet phone, the internet 2 includes a Wap server (not shown).


The LnCP server 3 accesses the home network system 1 and the client device 4 according to predetermined login and logout procedures, respectively, receives monitoring and control commands from the client device 4, and transmits the commands to the network system 1 through the internet 2 in the form of predetermined types of messages. In addition, the LnCP server 3 receives a predetermined type of message from the home network system 1, and stores the message and/or transmits the message to the client device 4. The LnCP server 3 also stores or generates a message, and transmits the message to the home network system 1. That is, the home network system 1 accesses the LnCP server 3 and downloads provided contents.


The home network system 1 includes a home gateway 10 for performing an access function to the internet 2, network managers 20 to 23 for performing a function of setting an environment and managing electric devices 40 to 49, LnCP routers 30 and 31 for access between transmission media, LnCP adapters 35 and 36 for connecting the network manager 22 and the electric device 46 to the transmission medium, and the plurality of electric devices 40 to 49.


The network of the home network system 1 is formed by connecting the electric devices 40 to 49 through a shared transmission medium. A data link layer uses a non-standardized transmission medium such as RS-485 or small output RF, or a standardized transmission medium such as a power line and IEEE 802.11 as the transmission medium.


The network of the home network system 1 is separated from the internet 2, for composing an independent network for connecting the electric devices through wire or wireless transmission medium. Here, the independent network includes a physically-connected but logically-divided network.


The home network system 1 includes master devices for controlling operations of the other electric devices 40 to 49 or monitoring statuses thereof, and slave devices having functions of responding to the request of the master devices and notifying their status change information. The master devices include the network managers 20 to 23, and the slave devices include the electric devices 40 to 49. The network managers 20 to 23 include information of the controlled electric devices 40 to 49 and control codes, and control the electric devices 40 to 49 according to a programmed method or by receiving inputs from the LnCP server 3 and/or the client device 4. Still referring to FIG. 1, when the plurality of network managers 20 to 23 are connected, each of the network managers 20 to 23 must be both the master device and the slave device, namely physically one device but logically the device (hybrid device) for simultaneously performing master and slave functions in order to perform information exchange, data synchronization and control with the other network managers 20 to 23.


In addition, the network managers 20 to 23 and the electric devices 40 to 49 can be connected directly to the network (power line network, RS-485 network and RF network) or through the LnCP routers 30 and 31 and/or the LnCP adapters 35 and 36.


The electric devices 40 to 49 and/or the LnCP routers 30 and 31 and/or the LnCP adapters 35 and 36 are registered in the network managers 20 to 23, and provided with intrinsic logical addresses by products (for example, 0x00, 0x01, etc.). The logical addresses are combined with product codes (for example, 0x02 of air conditioner and 0x01 of washing machine), and used as node addresses. For example, the electric devices 40 to 49 and/or the LnCP routers 30 and 31 and/or the LnCP adapters 35 and 36 are identified by the node addresses such as 0x0200 (air conditioner 1) and 0x0201 (air conditioner 2). A group address for identifying at least one electric device 40 to 49 and/or at least one LnCP router 30 and 31 and/or at least one LnCP adapter 35 and 36 at a time can be used according to a predetermined standard (all identical products, installation space of products, user, etc.). In the group address, an explicit group address is a cluster for designating a plurality of devices by setting an address option value (flag mentioned below) as 1, and an implicit group address designates a plurality of devices by filling the whole bit values of the logical addresses and/or the product codes with 1. Especially, the implicit group address is called a cluster code.



FIG. 2 is a structure view illustrating a living network control protocol stack in accordance with the present invention. The home network system 1 enables the network managers 20 to 23, the LnCP routers 30 and 31, the LnCP adapters 35 and 36 and the electric devices 40 to 49 to communicate with each other according to the living network control protocol (LnCP) of FIG. 2. Therefore, the network managers 20 to 23, the LnCP routers 30 and 31, the LnCP adapters 35 and 36 and the electric devices 40 to 49 perform network communication according to the LnCP.


As illustrated in FIG. 2, the LnCP includes an application software 50 for performing intrinsic functions of the network managers 20 to 23, the LnCP routers 30 and 31, the LnCP adapters 35 and 36 and the electric devices 40 to 49, and providing an interface function with an application layer 60 for remote controlling and monitoring on the network, the application layer 60 for providing services to the user, and also providing a function of forming information or a command from the user in the form of a message and transmitting the message to the lower layer, a network layer 70 for reliably network-connecting the network managers 20 to 23, the LnCP routers 30 and 31, the LnCP adapters 35 and 36 and the electric devices 40 to 49, a data link layer 80 for providing a medium access control function of accessing a shared transmission medium, a physical layer 90 for providing physical interfaces between the network managers 20 to 23, the LnCP routers 30 and 31, the LnCP adapters 35 and 36 and the electric devices 40 to 49, and rules for transmitted bits, and a parameter management layer 100 for setting and managing node parameters used in each layer.


In detail, the application software 50 further includes a network management sub-layer 51 for managing the node parameters, and the network managers 20 to 23, the LnCP routers 30 and 31, the LnCP adapters 35 and 36 and the electric devices 40 to 49 which access the network. That is, the network management sub-layer 51 performs a parameter management function of setting or using the node parameter values through the parameter management layer 100, and a network management function of composing or managing the network when the device using the LnCP is a master device.


When the network which the network managers 20 to 23, the LnCP routers 30 and 31, the LnCP adapters 35 and 36 and the electric devices 40 to 49 access is a dependent transmission medium such as a power line, IEEE 802.11 and wireless (for example, when the LnCP includes a PLC protocol and/or wireless protocol), the network layer 70 further includes a home code control sub-layer 71 for performing a function of setting, managing and processing home codes for logically dividing each individual network. When the individual networks are physically divided by an independent transmission medium such as RS-485, the home code control sub-layer 71 is not included in the LnCP. Each of the home codes is comprised of 4 bytes, and set as random values or designated values of the user.



FIGS. 3A and 3B are structure views illustrating interfaces between the layers of FIG. 2, respectively.



FIG. 3A illustrates the interfaces between the layers when the physical layer 90 is connected to the dependent transmission medium, and FIG. 3B illustrates the interfaces between the layers when the physical layer 90 is connected to the independent transmission medium.


The home network system 1 adds headers and trailers required by each layer to protocol data units (PDU) from the upper layers, and transmit them to the lower layers.


As shown in FIGS. 3A and 3B, an application layer PDU (APDU) is a data transmitted between the application layer 60 and the network layer 70, a network layer PDU (NPDU) is a data transmitted between the network layer 70 and the data link layer 80 or the home code control sub-layer 71, and a home code control sub-layer PDU (HCNPDU) is a data transmitted between the network layer 70 (precisely, the home code control sub-layer 71) and the data link layer 80. The interface is formed in data frame units between the data link layer 80 and the physical layer 90.



FIGS. 4A to 4F are detailed structure views illustrating the interfaces of FIGS. 3A and 3B, respectively.



FIG. 4A illustrates the APDU structure in the application layer 60.


An APDU length (AL) field shows a length of the APDU (length from AL to message field), and has a minimum value of 4 and a maximum value of 77.


An APDU header length (AHL) field shows a length of an APDU header (length from AL to AL0), normally has 3 bytes, and is extensible to 7 bytes. In the LnCP, the APDU header can be extended to 7 bytes to encode a message field and change an application protocol.


An application layer option (ALO) field extends a message set. For example, when the ALO field is set as 0, if the ALO field contains a different value, message processing is ignored.


The message field processes a control message from the user or event information, and is changed by the value of the ALO field.



FIG. 4B illustrates the NPDU structure in the network layer 70, and FIG. 4C illustrates a detailed NLC structure of the NPDU.


A start of LnCP packet (SLP) field shows start of a packet and has a value of 0x02.


Destination address (DA) and source address (SA) fields are node addresses of a receiver and a sender of a packet, and have 16 bits, respectively. The most significant 1 bit includes a flag indicating a group address, the succeeding 7 bits include a kind of a product (product code), and the lower 8 bits include a logical address for distinguishing the plurality of network managers 20 to 23 of the same kind and the plurality of electric devices 40 to 49 of the same kind.


A packet length (PL) field shows the whole length of the NPDU, and has a minimum value of 12 bytes and a maximum value of 100 bytes.


A service priority (SP) field gives transmission priority to a transmission message and has 3 bits. Table 2 shows the priority of each transmission message.


When a slave device responds to a request of a master device, the slave device takes the priority of the request message from the master device.











TABLE 2





Priority
Value
Application layer







High
0
When an urgent message is transmitted


Middle
1
When a normal packet is transmitted




When an event message for online or offline status




change is transmitted


Normal
2
When a notification message for composing a




network is transmitted




When a normal event message is transmitted


Low
3
When a data is transmitted by download




or upload mechanism









An NPDU header length (NHL) field extends an NPDU header (NLC field of SLP), normally has 9 bytes, and is extensible maximally to 16 bytes.


A protocol version (PV) field is an one-byte field showing a version of a used protocol. The upper 4 bits include a version field and the lower 4 bits include a sub-version field. The version and the sub-version are represented by the hexadecimal, respectively.


A network layer packet type (NPT) field is a 4-bit field for distinguishing a kind of a packet in the network layer 70. The LnCP includes a request packet, a response packet and a notification packet. The NPT field of a master device must be set as the request packet or the notification packet, and the NPT field of a slave device must be set as the response packet or the notification packet. Table 3 shows NPT values by kinds of packets.












TABLE 3







Explanation
Value









Request packet
0



Not used
1~3



Response packet
4



Not used
5~7



Notification packet
8



Not used
 9~12



Reserved value for interface with the home code
13~15



control sub-layer










A transmission counter (TC) field is a 2-bit field for retrying a request packet when the request packet or response packet is not successfully transmitted due to a communication error in the network layer 70, or repeatedly transmitting a notification packet to improve a transmission success ratio. A receiver can check a duplicate message by using a value of the TC field. Table 4 shows the range of the values of the TC field by the NPT values.












TABLE 4







Kind of packet
Value (range)









Request packet
1~3



Response packet
1



Notification packet
1~3










A packet number (PN) field has 2 bits, and is used to check a duplicate packet in a slave device with the TC field and process a plurality of communication cycles in a master device. Table 5 shows the range of the values of the PN field by the NPT values.












TABLE 5







Kind of packet
Value (range)









Request packet
0~3



Response packet
Copy a PN field value of a request packet



Notification packet
0~3










An APDU field is a protocol data unit of the application layer 60 transmitted between the application layer 60 and the network layer 70. The APDU field has a minimum value of 0 byte and a maximum value of 88 bytes.


A cyclic redundancy check (CRC) field is a 16-bit field for checking an error of a received packet (from SLP to APDU).


An end of LnCP packet (ELP) field shows end of a packet and has a value of 0x03. Although a data corresponding to the length of the PL field is received, if the ELP field is not checked, it is deemed to be a packet error.



FIG. 4D illustrates the HCNPDU structure in the home code control sub-layer 71.


As depicted in FIG. 4D, a home code (HC) field is added to the upper portion of the NPDU.


The home code is comprised of 4 bytes, and has a unique value within the line distance where a packet can be transmitted.



FIG. 4E illustrates a frame structure in the data link layer 80.


The structure of the header and the trailer of the data link layer frame of the LnCP is changed according to transmission media. When the data link layer 80 uses a non-standardized transmission medium, the header and the trailer of the frame must have null fields, and when the data link layer 80 uses a standardized transmission medium, the header and the trailer of the frame are formed as prescribed by the protocol. An NPDU field is a data unit transmitted from the upper network layer 70, and an HCNPDU field is a data unit obtained by adding 4 bytes of home code to the front portion of the NPDU, when the physical layer 90 is a dependent transmission medium such as a power line or IEEE 802.11. The data link layer 80 processes the NPDU and the HCNPDU in the same manner.



FIG. 4F illustrates a frame structure in the physical layer 90.


The physical layer 90 of the LnCP handles a function of transmitting and receiving a physical signal to a transmission medium. The data link layer 80 can use a non-standardized transmission medium such as RS-485 or small output RF or a standardized transmission medium such as a power line or IEEE. 802.11 as the physical layer 90 of the LnCP. The home network system 1 using the LnCP employs a universal asynchronous receiver and transmitter (UART) frame structure and a signal level of RS-232, so that the network managers 20 to 23 and the electric devices 40 to 49 can interface with RS-485, the LnCP routers 30 and 31 or the LnCP adapters 35 and 36. When the UART is connected between the devices by using a serial bus, the UART controls flow of bit signals on a communication line. In the LnCP, a packet from the upper layer is converted into 10 bits of UART frame unit as shown in FIG. 4f, and transmitted through the transmission medium. The UART frame includes one bit of start bit, 8 bits of data and one bit of stop bit, and does not use a parity bit. The UART frame is transmitted in the order of the start bit to stop bit. When the home network system 1 using the LnCP employs the UART, it does not have additional frame header and frame trailer.


The node parameters used in the aforementioned layers will now be explained.


Data types of the node parameters mentioned below correspond to one of a few data types of Table 6.











TABLE 6





Notation
Data type
Explanation







char
signed char
1 byte when data length is not stated


uchar
unsigned char
1 byte when data length is not stated


int
signed int
2 bytes when data length is not stated


uint
unsigned int
2 bytes when data length is not stated


long
signed long
4 bytes when data length is not stated


ulong
unsigned long
4 bytes when data length is not stated


string
string
A character string data where the last byte




is NULL


FILE

A data having a file structure









First, the application layer 60 generates a message and an APDU by using information or a command transmitted from the user through the application software 50, transmits the message and the APDU to the lower network layer 70, interprets an APDU from the lower network layer 70, and transmits the APDU to the application software 50.


Table 7 shows node parameter values used in the application layer 60.











TABLE 7





Name
Type
Explanation







Transmission interval
constant uint
A logical address value is received from the network layer 70


between address
AddressReqInt
directly after power on. When the value is 0x00, an address


request messages

request message is consecutively transmitted at an interval of




AddressReqInt seconds until an address is designated.


Transmission interva
uint NP_AliveInt
When a logical address of the network layer 70 is not 0x00, an


between active event

active event message is consecutively transmitted at an


messages

Interval of NP_AliveInt seconds in a network connection status.


Buffer size
uchar NP_BufferSize
A size of a buffer containing a message (unit is byte number)


Service timeout
const uint SvcTimeOut
A time taken for the application layer 60 to receive a request




message sending primitive RegMsgSend, 30 seconds


Transmission interval
const unit DLInterval
A time interval for deciding download service failure when the


between download

application layer 60 of a slave device receives a download


request messages

request message and does not receive subsequent download




request message









Thereafter, the network layer 70 performs the following functions.


First, the network layer 70 performs an address management function, namely stores its address and an address of the destination network manager 20 to 23 or the destination electric device 40 to 49. Here, the network layer 70 can designate a cluster address by using information and location information of the network manager 20 to 23 or the electric device 40 to 49 included in the address, and support multicasting and broadcasting communication.


Second, the network layer 70 performs a flow control function, namely manages a communication cycle and controls flow of a packet.


Third, the network layer 70 performs an error control function. That is, when the network layer 70 does not receive a response packet within a set time, the network layer 70 retries a data. A retry number is maximally 3.


Fourth, the network layer 70 performs a transaction control function, namely prevents duplicate transaction of the same message by checking a duplicate packet, and controls simultaneous communication cycles.


Fifth, the network layer 70 performs a routing control function, namely transmits a packet between at least two independent transmission media, and controls flow of a packet to prevent an infinite loop between the LnCP routers 30 and 31 and the LnCP adapters 35 and 36.


The network layer 70 provides services in communication cycle units. The communication cycles are classified into {1-Request, 1-Response}, {1-Request, Multi-Responses}, {1-Notification} and {Repeated-Notification}.


In the {1-Request, 1-Response} communication cycle, one master device transmits one request packet to one slave device, and the slave device transmits one response packet to the master device as a response.


In the {1-Request, Multi-Responses} communication cycle, one master device transmits one request packet to a plurality of slave devices, and each of the slave devices sequentially transmits a response packet to the request packet.


In the {1-Notification} communication cycle, a (master or slave) device transmits one notification packet to one or a plurality of (master or slave) devices, and directly ends communication.


In the {Repeated-Notification} communication cycle, in order to obtain transmission reliability of the {1-Notification} communication cycle, the same packet is repeatedly transmitted and communication is ended.


Table 8a shows relations among the aforementioned communication cycles, packet types and transmission services (or network layer services).











TABLE 8a





Communication cycle
Packet type
NL service







{1-Request, 1-Response}
Request packet-
Acknowledged(0)



Response packet


{1-Request, Multi-Responses}
Request packet-
Acknowledged(0)



Response packet


{1-Notification}
Notification packet
Non-




Acknowledged(1)


{Repeated-Notification}
Notification packet
Repeated-




Notification(2)









Table 8b shows node parameter values used in the network layer 70.











TABLE 8b





Name
Type
Explanation







Product code
uchar ProductCode
A code for combining individual functions of products


Logical
uchar
An one-byte address for distinguishing a plurality of products having


address
NP_LogicalAddress
the same product code


Cluster code
uchar
An one-byte address for distinguishing clusters of a device



NP_ClusterCode


Home code
ulong
A 4-byte value for defining a home code of a device



NP_HomeCode


Maximum
constant uchar
In an acknowledged service, a maximum retry number of a request


retry
SendRetries
packet, or in a repeated-notification service, a retry number


number


Transmission
constant uint
A time (ms) taken for the network layer 70 to transmit an NPDU to


timeout
SendTimeOut
the data link layer 80 and receive DLLCompleted primitive, 1000 ms


Response
uint
When an acknowledged transmission service is performed on a


delay time
ResDelayTime
group address, a time (ms) delayed by a slave device receiving a




request packet before transmitting a response packet, random value




within the range of 0~5000 ms


Maximum
constant uint
When the network is normally operated, a maximum time (ms)


repeater
RepeaterDelayTime
allowed until a normal packet from a sender is received by a


delay time

receiver, 5000 ms


Duplicate
constant uint
When a slave device consecutively receives request packets from


packet
DupElapsedTime
the same master device, a minimum interval time (ms) between the


elapsed time

request packets for guaranteeing individuality of each packet, 10000 ms









The data link layer 80 prescribes a medium access control (MAC) function of accessing a shared transmission medium. When using a non-standardized transmission medium such as RS-485, the data link layer 80 employs probabilistic-delayed carrier sense multiple access (p-DCSMA) as a medium access control protocol, and when using a standardized transmission medium such as a power line or IEEE 802.11, the data link layer 80 is prescribed by the corresponding protocol.


Table 9 shows node parameter values used in the data link layer 80 using the UART frame. The time of each parameter is set in the presumption that a transmission rate of the physical layer 90 is 4800 bps. Here, one information unit time (IUT) is calculated as 2.1 ms.











TABLE 9





Name
Type
Explanation







Frame allowable
constant uchar
A maximum allowable interval time between UART frames


interval time
FrameTimeOut
in packet reception, 2 IUT


Maximum frame
constant uchar
A maximum allowable interval time between UART frames


allowable interval time
MaxFrameInterval
in packet transmission, 1 IUT


Minimum packet
uint
A minimum allowable interval time between packets


allowable interval time
MinPktinterval
transmitted on a medium in packet transmission, over 5 IUT.




A time for transmitting a packet received by the data link




layer 80 to the application layer 60 and finishing packet




processing must be smaller than this value.


Backoff retry number
constant uchar
A maximum retry number of a MAC algorithm in competition



BackOffRetries
failure or conflict of transmission data, 10 times


Maximum transmission
constant uint
An allowable execution time (ms) of a MAC algorithm, 1000 ms


allowable time
MACExecTime


Busy check time
constant uchar
A time for sensing a medium status (busy or idle), 3 IUT



BusyCheckTime


Transmission delay
uint
A standby time for transmission when a medium is in an idle


time
RandomDealyTime
status, random value within a competitive window Wc range




selected by SvcPriority value









Table 10 shows node parameter values used in the physical layer 90.











TABLE 10





Name
Type
Explanation







Communication
Unit NP_bps
A communication speed of UART,


speed

initial value is 4800 bps.










FIGS. 5A and 5B are structure views illustrating primitives for transmitting data exchanged between the layers.



FIG. 5A illustrates transmission of the primitives between the layers of the master device.


As shown in FIG. 5A, the primitives between the application software 50 and the application layer 60 include UserReq, UserDLReq, UserULReq, ALCompleted, UserRes and UserEventRcv.


The user request primitive UserReq is a service request primitive formed by a single communication cycle from the application software 50 of the master device, and used for controlling or monitoring. The user request primitive UserReq includes constitutional elements of Table 11a.











TABLE 11a





Name
Type
Explanation







Application service
ulong ALSvcCode
An application service code of the application layer 60,


code

combination of a product code and a command code


Request message
RequestMessage
A request message including a command code and



*ReqMsg
input arguments


Length of request
uchar
A byte data length of a request message


message
ReqMsgLength


Designation address
uint DstAddress
An address of a receiver device


Network layer
uchar NLService
Transmission service types in the network layer 70


service

0: Request-response-message




1: Request-message-only




2: Repeated-message




3: Event-message-only


Timeout
uint TimeOut
When an AL service is Request-response-message, a time




(ms) taken for a master device to transmit a request packet




and receive a response packet, or when the AL service is




Repeated-message, a time interval (ms) between




consecutive messages


Service priority
uchar SvcPriority
Transmission priority in the data link layer 80









In an application layer service (AL service), Request-response-message is combination of a request message and a response message. Here, the master device transmits the request message, and the slave device receiving the request message always transmits the response message. In Request-message-only, only a request message is provided. Here, the slave device receiving the request message does not transmit a response message. In Repeated-message, only a request message or only an event message is consecutively provided. Here, the slave device does not transmit a response message. In Event-message-only, only an event message is provided. Here, the slave device does not transmit a response message.


The user download request primitive UserDLReq is a download service request primitive transmitted from the application software 50 of the master device, and includes constitutional elements of Table 11b.











TABLE 11b





Name
Type
Explanation







Application service
ulong ALSvcCode
An application service code of the application layer 60,


code

combination of a product code and a command code


Download file
FILE *DownloadFile
A file having download data


Application layer
uchar ALService=0
A transmission service type fixed to


service

Request-response-message(0)


Destination address
uint DstAddress
An address of a receiver device


Timeout
uint TimeOut
A time (ms) taken for a master device to transmit a




request packet and receive a response packet


Service priority
uchar SvcPriority
Transmission priority in the data link layer 80 fixed to 1









The user upload request primitive UserULReq is an upload service request primitive transmitted from the application software 50 of the master device, and includes constitutional elements of Table 11c.











TABLE 11c





Name
Type
Explanation







Application service
ulong ALSvcCode
An application service code of the application layer 60,


code

combination of a product code and a command code


Upload file
FILE *UploadFile
A file name for storing upload data


Application layer service
uchar ALService
A transmission service type fixed to




Request-response-message(0)


Destination address
uint DstAddress
Address of a receiver device


Timeout
uint TimeOut
A time (ms) taken for a master device to transmit a request




packet and receive a response packet


Service priority
uchar SvcPriority
Transmission priority in the data link layer 80 fixed to 1









The user response primitive UserRes is a primitive for transmitting a service execution result of the master device to the application software 50, and includes constitutional elements of Table 11d.











TABLE 11d





Name
Type
Explanation







Application service
ulong ALSvcCode
An application service


code

code of the application layer




60, combination of a product




code and a command code


Response message
ResponseMessage
A response message having



*ResMsg
a command code and




return arguments


Length of response
uchar
A byte data length


message
ResMsgLength
of a response message


Source address
uint SrcAddress
An address of a sender




device









The user event receiving primitive UserEventRcv is an event service primitive transmitted to the application software 50 of the master device, and includes constitutional elements of Table 11e.











TABLE 11e





Name
Type
Explanation







Application service
ALSvcCode
An application service code


code

of the application layer 60,




combination of a product code,




a command code and an




event code


Event message
EventMesage
An event message from



*EventMsg
a slave device


Length of event
uchar
A byte data length of a response


message
EventMsgLength
message


Source address
uint SrcAddress
An address of a sender device









The application layer completing primitive ALCompleted is a primitive for transmitting an execution result of the application layer 60 of the master device to the application software 50, and includes constitutional elements of Table 11f.











TABLE 11f





Name
Type
Explanation







Application
ulong ALSvcCode
An application service


service code

code of the application layer 60,




combination of a product




code and a command code


Service result
uchar ALResult
If a service requested by the




user has been successfully




finished, SERVICE_OK(1),




and if not, SERVICE_FAILED(0)


Failure reason
uchar ALFailCode
When ALResult is


code

SERVICE_FAILED, a value for




classifying failure reasons









Still referring to FIG. 5A, the primitives between the application layer 60 and the network layer 70 include ReqMsgSend, NLCompleted and MsgRev.


The request message sending primitive ReqMsgSend is a primitive for transmitting a message from the application layer 60 of the master device to the network layer 70, and includes constitutional elements of Table 12a.











TABLE 12a





Name
Type
Explanation







Communication cycle
ulong CycleID
An ID number of a communication cycle in a


identifier

master device


Request message
uchar *ReqAPDU
An APDU including a request message generated




in the application layer 60 of a master device


Length of request message
uchar APDULength
A byte data length of an APDU


Destination address
uint DstAddress
An address of a receiver device


Source address
uint SrcAddress
An address of a sender device


Network layer
uchar NLService
Communication cycle service types of a master


service

device 0: Acknowledged, 1: Non-acknowledged




2: Repeated-notification


Response timeout
uchar
When an NL service is selected as Acknowledged,



responseTimeOut
a time (ms) taken for a master device to transmit a




request packet and receive a response packet


Transmission interval
uint
When an NL service is selected as


between repeated
RepNotiInt
Repeated-notification, a time interval (ms) between


notification packets

consecutive notification packets


Service priority
uchar SvcPriority
Transmission priority of a request message









Here, the communication cycle identifier CycleID is generated by combining the application service code ALSvcCode and the node address of the receiver device.


The message receiving primitive MsgRcv is a primitive for transmitting a packet from the network layer 70 of the master device to the application layer 60, and includes constitutional elements of Table 12b.











TABLE 12b





Name
Type
Explanation







Communication
ulong CycleID
An ID number of a


cycle identifier

communication cycle




in a master device


Event response
uchar
An APDU transmitted to


message
*ResEventAPDU
the application layer 60


Length of event
uchar
A byte data length of an APDU


response message
APDULength


Destination address
uint DstAddress
An address of a receiver device


Source address
uint SrcAddress
An address of a sender device









The structure of the communication cycle identifier CycleID will later be explained.


The network layer completing primitive NLCompleted is a primitive for notifying a packet processing status from the network layer 70 to the application layer 60, and includes constitutional elements of Table 12c.











TABLE 12c





Name
Type
Explanation







Communication
ulong CycleID
An ID number of a communication cycle in a master


cycle identifier

device


transmission result
uchar NLResult
If a communication cycle has been successfully




finished, CYCLE_OK(1), and if not,




CYCLE_FAILED(0)


Failure reason code
uchar NLFailCode
When NLResult is CYCLE_FAILED, a value for




classifying failure reasons


Retry number
uchar NLSuccessCode
When NLResult is CYCLE_OK, a retry number









As shown in FIG. 5A, the primitives between the network layer 70 and the data link layer 80 include PktSend, PktRcv and DLLCompleted.


The packet sending primitive PktSend is a primitive for transmitting a packet from the network layer 70 to the data link layer 80, and includes constitutional elements of Table 13a.











TABLE 13a





Name
Type
Explanation







Packet
uchar
A packet of the network layer 70



*NPDU/HCNPDU


Length of packet
uchar NPDULength
A byte data length of an




NPDU/HCNPDU


Service priority
uchar SvcPriority
Transmission priority









The packet receiving primitive PktRcv is a primitive for transmitting a packet from the data link layer 80 to the network layer 70, and includes constitutional elements of Table 13b.











TABLE 13b





Name
Type
Explanation







Packet
uchar *PDU
A packet of the network layer 70


Length of packet
uchar PDULength
A byte data length of a PDU









The data link layer completing primitive DLLCompleted is a primitive for notifying a packet transmission result from the data link layer 80 to the network layer 70, and includes constitutional elements of Table 13c.











TABLE 13c





Name
Type
Explanation







Packet
uchar
A packet transmission result:


transmission
DLLResult
If a packet transmission process has


result

been successfully finished, SEND_OK(1),




and if not, SEND_FAILED(0)


Transmission
uchar
When DLLResult is SEND_FAILED(0),


failure
DLLFailCode
a value for classifying failure reasons


reason









At last, the primitives between the data link layer 80 and the physical layer 90 include FrameSend, FrameRcv and RptLineStatus.


The frame sending primitive FrameSend is a primitive for transmitting an one-byte data from the data link layer 80 to the physical layer 90, and includes constitutional elements of Table 14a.













TABLE 14a







Name
Type
Explanation









Byte
UART_byte
One-byte data










The frame receiving primitive FrameRcv is a primitive for transmitting an one-byte data from the physical layer 90 to the data link layer 80, and includes constitutional elements of Table 14a.


The line status transmitting primitive RptLineStatus is a primitive for notifying a line status to the data link layer 80, and includes constitutional elements of Table 14b.













TABLE 14b







Name
Type
Explanation









Line status
uchar
In a busy status where an UART




LineStatus
frame exists on a line, LINE_BUSY





is transmitted, and in an idle





status, LINE_IDLE is transmitted.











FIG. 5B illustrates transmission of the primitives between the layers of the slave device.


First, the primitives between the application software 50a and the application layer 60a include UserReqRcv, UserResSend and UserEventSend.


The user request receiving primitive UserReqRcv is a primitive for transmitting a request message (including download and upload) from the master device to the application software 50a of the slave device, and includes constitutional elements of Table 15a.











TABLE 15a





Name
Type
Explanation







Application
ulong
A service code of the application


service code
ALSvcCode
layer 60a, combination of a




product code and a command code


Request data
uchar *ReqData
A data included in a request




message from a master device


Length of request
uchar
A length (byte) of a request data


data
ReqDataLength


Source address
uint SrcAddress
Address of a sender device









The user response sending primitive UserResSend is a primitive for transmitting a response message to a request message of the master device to the application layer 60a of the slave device, and includes constitutional elements of Table 15b.











TABLE 15b





Name
Type
Explanation







Application
ulong
A service code of the application


service code
ALSvcCode
layer 60a, combination of a




product code and a command code


Response
uchar *ResData
A data included in a response


data

message transmitted to a master device


Length of
uchar
A byte length of ResData


response data
ResDataLength









The user event sending primitive UserEventSend is a primitive for transmitting to the application layer 60a a status variable value of an event message of the slave device intended to be transmitted to the master device, and includes constitutional elements of Table 15c.











TABLE 15c





Name
Type
Explanation







Application
uchar
A service code of the application


service
ALSvcCode
layer 60a, combination of a product


code

code, a command code




and an event code


Application
uchar ALService
Transmission service types


layer service

2: Repeated-message,




3. Event-message-only


Event code
uint EventCode
An event code


Status variable
uchar *StateValue
A status variable value of an


value

event message









Still referring to FIG. 5B, the primitives between the application layer 60a and the network layer 70a include ReqMsgRcv, ResMsgSend, EventMsgSend and NLCompleted.


The request message receiving primitive ReqMsgRcv is a primitive for transmitting a received request message from the network layer 70a to the application layer 60a, and includes constitutional elements of Table 16a.











TABLE 16a





Name
Type
Explanation







Request message
uchar *ReqAPDU
An APDU transmitted to




the application layer 60a


Length of request
uchar
A byte data length of an APDU


message
APDULength


Destination
uint DstAddress
An address of a receiver device


address


Source address
uint SrcAddress
An address of a sender device


Network layer
uchar NLService
Communication cycle service


service

types of a slave device




0: Acknowledged,




1: Non-acknowledged


Duplicate packet
uchar
If a duplicate packet check result


check result
DuplicateCheck
is normal, NORMAL_PKT(1),




and if a duplicate packet is




checked, DUPLICATED_PKT(0)









The response message sending primitive ResMsgSend is a primitive for transmitting a response message from the application layer 60a to the network layer 70a, and includes constitutional elements of Table 16b.











TABLE 16b





Name
Type
Explanation







Communication
ulong CycleID
An ID number of a communication


cycle identifier

cycle in a slave device


Response
uchar
An APDU including a response


message
*ResAPDU
message generated in the




application layer 60 of a slave device


Length of
uchar
A byte data length of an APDU


response
APDULength


message









The event message sending primitive EventMsgSend is a primitive for transmitting an event message from the application layer 60a to the network layer 70a, and includes constitutional elements of Table 16c.











TABLE 16c





Name
Type
Explanation







Communication
ulong CycleID
An ID number of a communication cycle in a slave device


cycle identifier


Event message
uchar
An APDU including an event message generated in the



*EventAPDU
application layer 60 of a slave device


Length of event
uchar
A byte data length of an APDU


message
APDULength


Destination address
uint
Address of a receiver device



DstAddress


Source address
uint SrcAddress
Address of a sender device


Network layer service
uchar NLService
Transmission services in the network layer 70a




1: Non-acknowledged, 2: Repeated-notification


Transmission interval
uchar
When an NL service is selected as Repeated-notification, a


between repeated
RepNotiInt
time interval (ms) between consecutive notification packets


notification messages


Service priority
uchar SvcPriority
Transmission priority of an event message









The network layer completing primitive NLCompleted is a primitive for notifying a packet processing status from the network layer 70a to the application layer 60a, and includes constitutional elements of Table 16d.











TABLE 16d





Name
Type
Explanation







Communication
ulong CycleID
An ID number of a communication cycle in a slave device


cycle identifier


Transmission result
uchar NLResult
If a communication cycle has been successfully finished,




CYCLE_OK(1), and if not, CYCLE_FAILED(0)


Failure reason code
uchar NLFailCode
When NLResult is CYCLE_FAILED, a value for




classifying failure reasons


Retry number
uchar NLSuccessCode
When NLResult is CYCLE_OK, a retry number









Thereafter, the primitives between the network layer 70a and the data link layer 80a of the slave device and the primitives between the data link layer 80a and the physical layer 90a of the slave device are used in the same manner as the primitives of the master device of FIG. 5A.


The network management sub-layers 51 and 51a perform a parameter management function of setting parameters in each device, and a function of composing a network, setting an environment and managing an operation of the network.


When the network management sub-layers 51 and 51a receive a request from the application softwares 50 and 50a and the master device, the network management sub-layers 51 and 51a set, read or get parameter values as shown in Table 17a on the corresponding layers through the parameter management layers 100 and 100a.












TABLE 17a







Layer
Parameter









Application layer
AddressReqInt, NP_AliveInt, SvcTimeOut,




NP_BufferSize



Network layer
NP_LogicalAddress, NP_ClusterCode,




NP_HomeCode, SendRetries



Data link layer
MinPktInterval



Physical layer
NP_bps










Especially, when the network management sub-layer 51a of the slave device receives the user request receiving primitive UserReqRcv including an application service belonging to ‘device node parameter setting service’ or ‘device node parameter getting service’ from the application layer 60a, the network management sub-layer 51a sets or reads the parameter values on the corresponding layers through the parameter management layer 100a, and transmits the result to the application layer 60a through the user response sending primitive UserResSend. Table 17b shows the application services for managing parameters by layers.










TABLE 17b





Layer
Parameter







Application layer
SetOption service, SetAliveTime service, SetClock



service, GetBufferSize service


Network layer
SetTempAddress service, SetAddress service,



GetAddress service


Data link layer
No corresponding service


Physical layer
SetSpeed









The network management sub-layers 51 and 51a provide a network management function of composing an LnCP network, setting an environment and managing an operation of the network. The general network management function is operated on the application layer 60, and some of a network information synchronization function between the plurality of network managers 20 to 23 is operated on the application layer 60a of the slave device. As the interface with the application layer 60 of the master device, the user request primitive UserReq, the user download request primitive UserDLReq, the user upload request primitive UserULReq, the user response primitive UserRes, the user event receiving primitive UserEventRcv and the application layer completing primitive ALCompleted are used, and as the interface with the application layer 60a of the slave device, the user request receiving primitive UserReqRcv and the user response sending primitive UserResSend are used.


The parameter management layers 100 and 100a set or read parameters used in each layer upon the request of the network management sub-layers 51 and 51a.


Table 18 shows the parameters used in the parameter management layers 100 and 100a.













TABLE 18







Name
Type
Explanation









Parameter
const uint
A standby time (ms) for



timeout
ParTimeOut
transmitting GetALPar(or





GetNLPar, GetDLLPar,





GetPHYPar) to each





layer, and receiving





RptALPar(or RptNLPar,





RptDLLPar, RptPHYPar)










The primitives between the parameter management layers 100 and 100a and the network management sub-layers 51 and 51a will now be explained.


Table 19a shows parameter setting primitives SetPar for the interfaces with the network management sub-layers 51 and 51a. Here, the parameter setting primitives SetPar are primitives for transmitting parameter values from the network management sub-layers 51 and 51a to the parameter management layers 100 and 100a.











TABLE 19a





Name
Type
Explanation







Destination
uchar Destlayer
A layer receiving a parameter value,


layer

application layer: 1, network layer: 2,




data link layer: 3, physical layer: 4


Layer parameter
structure
Parameters of each layer having


setting
SetLayerPar
different values according to a




destination layer value, application




layer: SetALPar,




network layer: SetNLPar,




data link layer: SetDLLPar,




physical layer: SetPHYPar









Table 19b shows parameter getting primitives GetPar for the interfaces with the network management sub-layers 51 and 51a.











TABLE 19b





Name
Type
Explanation







Source layer
uchar SrcLayer
A layer transmitting a parameter value, application




layer: 1, network layer: 2, data link layer: 3, physical layer: 4


Parameter layer
uchar PMLResult
If parameter values have been successfully got from each


result

layer, PAR_OK(1), and if not, PAR_FAILED(0)


Layer parameter
structure
Parameters of each layer having different values


getting
GetLayerPar
according to SrcLayer value, application layer: RptALPar,




network layer: RptNLPar, data link layer: RptDLLPar,




physical layer: RptPHYPar









The primitives between each layer and the parameter management layers 100 and 100a will now be explained.


Parameter setting primitives SetALPar, SetNLPar, SetDLLPar and SetPHYPar for setting predetermined parameter values, parameter getting primitives GetALPar, GetNLPar, GetDLLPar and GetPHYPar for getting predetermined parameter values, and parameter transmitting primitives RptALPar, RptNLPar, RptDLLPar and RptPHYPar for transmitting predetermined parameter values to correspond to the parameter getting primitives GetALPar, GetNLPar, GetDLLPar and GetPHYPar are used between the application layers 60 and 60a, the network layers 70 and 70a, the data link layers 80 and 80a and the physical layers 90 and 90a, and the parameter management layers 100 and 100a.


Here, the parameter setting primitives are primitives for setting node parameter values of each layer, the parameter getting primitives are primitives for enabling the parameter management layers 100 and 100a to read the node parameter values of each layer, and the parameter transmitting primitives are primitives for transmitting the node parameter values upon the request of the parameter management layers 100 and 100a. Table 20 shows the node parameters included in the primitives between each layer and the parameter management layers 100 and 100a.













TABLE 20





Layer
SetALPar
SetNLPar
SetDLLPar
SetPHYPar







Node
uint AddressReqInt,
uchar ProductCode
uint
uint NP_bps


parameter
uint NP_AliveInt,
uint NP_LogicalAddress,
MinPktInterval



uint SvcTimeOut,
uint NP_ClusterCode,



uchar NP_BufferSize.
uint NP_HomeCode,




uchar SendRetries.









A maximum retry number SendRetries in the network layer 70 is used merely in the master device.


At last, the parameter setting primitives SetPar and the parameter getting primitives GetPar for setting and getting the node parameters between the application softwares 50 and 50a and the parameter management layers 100 and 100a are used to set and get the aforementioned node parameters.


When the parameter management layers 100 and 100a receive the parameter setting primitives SetPar from the network management sub-layers 51 and 51a, the parameter management layers 100 and 100a transmit SetALPar, SetNLPar, SetDLLPar or SetPHYPar to the layers stated in the primitives. Each layer must ignore the parameters having the whole bit values of 1 in the received primitives (for example, 0xFF, 0xFFFF, etc).


When the parameter management layers 100 and 100a receive the parameter getting primitives GetPar from the network management sub-layers 51 and 51a, the parameter management layers 100 and 100a transmit GetALPar, GetNLPar, GetDLLPar or GetPHYPar to the layers stated in the primitives.


When the parameter management layers 100 and 100a receive RptALPar, RptNLPar, RptDLLPar or RptPHYPar from each layer, the parameter management layers 100 and 100a set PARResult values included in the GetPar primitives as PAR_OK, and transmit the primitives to the network management sub-layers 51 and 51a. When the parameter management layers 100 and 100a do not receive the primitives from each layer within the parameter timeout ParTimeOut, the parameter management layers 100 and 100a set PARResult values as PAR_FAILED, and transmit the parameters to the network management sub-layers 51 and 51a.


As discussed earlier, the present invention provides the home network system using the control protocol which is the general communication standard for providing the functions of controlling and monitoring the electric devices in the home network system.


In addition, the present invention provides the home network system using the LnCP as the general communication standard.


Furthermore, the present invention provides the plurality of united primitives for transmitting data in the LnCP.


Although the preferred embodiments of the present invention have been described, it is understood that the present invention should not be limited to these preferred embodiments but various changes and modifications can be made by one skilled in the art within the spirit and scope of the present invention as hereinafter claimed.

Claims
  • 1. A network electric device for communicating with another network electric device on a network, the network electric device comprising a processor configured for executing at least an application layer, a network layer, a data link layer, a physical layer, an application software, a network management sub-layer, and a parameter management layer, wherein the application layer handles a message for controlling or monitoring the network electric device or the other network electric device, and the application layer communicating with the application software and communicating with the network layer,wherein the application layer transmits a APDU (application protocol data unit) to the network layer;wherein the network layer performs at least an address management function and a routing control function and the network layer communicating with the data link layer,wherein the network layer transmits a NPDU (network protocol data unit) to the data link layer,wherein the NPDU comprises a start indicating field, a length field, and an end indication field, the start indicating field indicating a start of the NPDU, the length field specifying a length of the NPDU, and the end indication field indicating an end of the NPDU,wherein when a data having a length corresponding to the length field is received by the processor and the end indication field is not received by the processor, the processor considers this as a data errorwherein the data link layer accesses a transmission medium, the data link layer communicating with the physical layer,wherein the physical layer provides a physical interface between the network electric device and the other network electric device,wherein the application software performs an intrinsic function of the network electric device,wherein the network management sub-layer transmits a parameter set-primitive to the parameter management layer, the parameter set-primitive including a destination layer field and a parameter field indicating which parameter is to be set, and the destination layer field indicating one of the application layer, the network layer, the data link layer, and the physical layer, andwherein when the parameter management layer receives the parameter set-primitive, the parameter management layer processes the received parameter set-primitive according to the destination field and the parameter field included in the parameter set-primitive.
  • 2. The network electric device of claim 1, wherein the physical layer further comprises a special protocol for providing an interface with a dependent transmission medium, and the network electric device includes a home code control sub-layer for managing a home code for network security when accessing the dependent transmission medium.
  • 3. The network electric device of either claim 1 or 2, wherein the interface between the physical layer and the data link layer comprises a frame sending primitive, a frame receiving primitive and a line status transmitting primitive.
  • 4. The network electric device of either claim 1 or 2, wherein the interface between the data link layer and the network layer comprises a packet sending primitive, a packet receiving primitive and a data link layer completing primitive.
  • 5. The network electric device of either claim 1 or 2, wherein the interface between the network layer and the application layer comprises a request message sending primitive, a message receiving primitive and a network layer completing primitive.
  • 6. The network electric device of either claim 5, wherein the network electric device performs a master function.
  • 7. The network electric device of either claim 1 or 2, wherein the interface between the network layer and the application layer comprises a request message receiving primitive, a response message sending primitive, an event message sending primitive and a network layer completing primitive.
  • 8. The network electric device of claim 7, wherein the network electric device performs a slave function.
  • 9. The network electric device of either claim 1 or 2, wherein the interface between the application layer and the application software comprises a user request primitive, a user download request primitive, a user upload request primitive, a user response primitive, a user event receiving primitive and an application layer completing primitive.
  • 10. The network electric device of claim 9, wherein the network electric device performs a master function.
  • 11. The network electric device of either claim 1 or 2, wherein the interface between the application layer and the application software comprises a user request receiving primitive, a user response sending primitive and a user event sending primitive.
  • 12. The network electric device of claim 11, wherein the network electric device performs a slave function.
  • 13. The network electric device of claim 1, wherein the parameter of the physical layer comprises a communication speed.
  • 14. The network electric device of claim 1, wherein the parameter of the data link layer comprises at least one of frame timeout, a maximum frame allowable interval time, a minimum packet allowable interval time, a backoff retry number, a maximum transmission allowable time, a busy check time and a transmission delay time.
  • 15. The network electric device of claim 1, wherein the parameter of the network layer comprises at least one of a product code, a node address, a cluster code, a home code, a maximum retry number, transmission timeout, a response delay time, a transmission delay time and a duplicate packet elapsed time.
  • 16. The network electric device of claim 1, wherein the parameter of the application layer comprises at least one of a transmission interval between address request messages, a transmission interval between active event messages, a buffer size, service timeout and a transmission interval between download messages.
  • 17. The network electric device of any one of claim 1 or 13 to 16, wherein the network management sub-layer interfaces with the parameter management layer through at least one of the parameter set primitive and a parameter get primitive in order to set or get at least one of the parameters of the physical layer, the data link layer, the network layer and the application layer.
  • 18. The network electric device of claim 17, wherein the parameter management layer interfaces with the physical layer, the data link layer, the network layer or the application layer through at least one of a parameter setting primitive, a parameter getting primitive and a parameter transmitting primitive in order to set, get or transmit at least one of the parameters of the physical layer, the data link layer, the network layer and the application layer.
  • 19. The network electric device of claim 1, wherein when the destination layer field indicates the application layer, the parameter field indicates at least one of a first time interval parameter, a second time interval parameter, a buffer size parameter, and a service timeout parameter, wherein the first time interval parameter specifies a time interval of a address request message, the second time interval parameter specifies a time interval of an active event message informing network status, the buffer size parameter specifies a buffer size of a message, and the service timeout parameter specifies a time for waiting a primitive.
  • 20. The network electric device of claim 1, wherein when the destination layer field indicates network layer, the parameter field indicates at least one of a logical address parameter, a cluster code parameter, a home code parameter, and a retry parameter, wherein the logical address parameter specifies a logical address for distinguishing a plurality of network electric devices having the same product code, the cluster code parameter specifies a cluster code distinguishing cluster of network electric device, the home code parameter specifies a home code of network electric device and the retry parameter specifies a retry number.
  • 21. The network electric device of claim 1, wherein when the destination layer field indicates the data link layer, the parameter field is a third time interval, the third time interval specifying a minimum time interval between packets.
  • 22. The network electric device of claim 1, wherein when the destination layer field indicates the physical layer, the parameter field specifies a communication speed.
Priority Claims (2)
Number Date Country Kind
10-2003-0034962 May 2003 KR national
10-2004-0022184 Mar 2004 KR national
PCT Information
Filing Document Filing Date Country Kind 371c Date
PCT/KR2004/001147 5/14/2004 WO 00 11/29/2005
Publishing Document Publishing Date Country Kind
WO2004/107088 12/9/2004 WO A
US Referenced Citations (112)
Number Name Date Kind
4888728 Shirakawa et al. Dec 1989 A
4928245 Moy et al. May 1990 A
4980913 Skret Dec 1990 A
5268666 Michel et al. Dec 1993 A
5519858 Walton et al. May 1996 A
5551001 Cohen et al. Aug 1996 A
5794037 Young Aug 1998 A
5808885 Dew et al. Sep 1998 A
5835723 Andrews et al. Nov 1998 A
5859847 Dew et al. Jan 1999 A
5867666 Harvey Feb 1999 A
6006272 Aravamudan et al. Dec 1999 A
6058106 Cudak et al. May 2000 A
6078952 Fielding et al. Jun 2000 A
6105093 Rosner et al. Aug 2000 A
6160808 Maurya Dec 2000 A
6233248 Sautter et al. May 2001 B1
6258169 Asano Jul 2001 B1
6366583 Rowett et al. Apr 2002 B2
6415313 Yamada et al. Jul 2002 B1
6453687 Sharood et al. Sep 2002 B2
6507953 Horlander et al. Jan 2003 B1
6522654 Small Feb 2003 B1
6615243 Megeid et al. Sep 2003 B1
6618764 Shteyn Sep 2003 B1
6631476 Vandesteeg et al. Oct 2003 B1
6701198 Vandesteeg et al. Mar 2004 B1
6721900 Lenner et al. Apr 2004 B1
6731201 Bailey et al. May 2004 B1
6735619 Sawada May 2004 B1
6759946 Sahinoglu et al. Jul 2004 B2
6842430 Melnik Jan 2005 B1
6854053 Burkhardt et al. Feb 2005 B2
6856999 Flanagin et al. Feb 2005 B2
6891850 Vandesteeg et al. May 2005 B1
6909891 Yamashita et al. Jun 2005 B2
6915444 Vasko et al. Jul 2005 B2
6934740 Lawande et al. Aug 2005 B1
6982960 Lee et al. Jan 2006 B2
6987462 Bae et al. Jan 2006 B2
7028312 Merrick et al. Apr 2006 B1
7035270 Moore, Jr. et al. Apr 2006 B2
7058722 Ikami et al. Jun 2006 B2
7062531 Kim Jun 2006 B2
7069091 Williamson Jun 2006 B2
7103834 Humpleman et al. Sep 2006 B1
7107358 Vasko et al. Sep 2006 B2
7111100 Ellerbrock Sep 2006 B2
7149792 Hansen et al. Dec 2006 B1
7200683 Wang et al. Apr 2007 B1
7257104 Shitama Aug 2007 B2
7287062 Im et al. Oct 2007 B2
7308644 Humpleman et al. Dec 2007 B2
7353259 Bakke et al. Apr 2008 B1
7389332 Muchow et al. Jun 2008 B1
7389358 Matthews et al. Jun 2008 B1
7403994 Vogl et al. Jul 2008 B1
7412538 Eytchison et al. Aug 2008 B1
7421478 Muchow Sep 2008 B1
7430591 Chamberlain Sep 2008 B2
7437494 Ellerbrock Oct 2008 B2
7454517 Ha et al. Nov 2008 B2
7461164 Edwards et al. Dec 2008 B2
7673030 Hite et al. Mar 2010 B2
7673153 Oishi et al. Mar 2010 B1
20010025322 Song et al. Sep 2001 A1
20020011923 Cunningham et al. Jan 2002 A1
20020021465 Moore et al. Feb 2002 A1
20020026528 Lo Feb 2002 A1
20020035624 Kim Mar 2002 A1
20020038358 Sweatt, III et al. Mar 2002 A1
20020059617 Terakado et al. May 2002 A1
20020103898 Moyer et al. Aug 2002 A1
20020118696 Suda Aug 2002 A1
20020120763 Miloushev et al. Aug 2002 A1
20020165989 Etoh Nov 2002 A1
20020193144 Belski et al. Dec 2002 A1
20030009537 Wang Jan 2003 A1
20030014630 Spencer et al. Jan 2003 A1
20030038730 Imafuku et al. Jan 2003 A1
20030051053 Vasko et al. Mar 2003 A1
20030051203 Vasko et al. Mar 2003 A1
20030053477 Kim et al. Mar 2003 A1
20030054809 Bridges et al. Mar 2003 A1
20030065824 Kudo Apr 2003 A1
20030067910 Razazian et al. Apr 2003 A1
20030079000 Chamberlain Apr 2003 A1
20030079001 Chamberlain Apr 2003 A1
20030083758 Williamson May 2003 A1
20030085795 An May 2003 A1
20030088703 Kim May 2003 A1
20030158956 Tanaka et al. Aug 2003 A1
20030165142 Mills et al. Sep 2003 A1
20040042487 Ossman Mar 2004 A1
20040047298 Yook et al. Mar 2004 A1
20040064578 Boucher et al. Apr 2004 A1
20040088731 Putterman et al. May 2004 A1
20040111490 Im et al. Jun 2004 A1
20040158333 Ha et al. Aug 2004 A1
20040184456 Binding et al. Sep 2004 A1
20040205309 Watanabe Oct 2004 A1
20050108568 Bussiere et al. May 2005 A1
20050190727 Vanlieshout et al. Sep 2005 A1
20060047677 Lin et al. Mar 2006 A1
20060248518 Kundert Nov 2006 A1
20060271709 Vasko et al. Nov 2006 A1
20070019615 Baek et al. Jan 2007 A1
20070025368 Ha et al. Feb 2007 A1
20080097631 Baek et al. Apr 2008 A1
20080222325 Ishino et al. Sep 2008 A1
20080255692 Hofrichter et al. Oct 2008 A1
20080259786 Gonda Oct 2008 A1
Foreign Referenced Citations (14)
Number Date Country
1199192 Nov 1998 CN
1398469 Feb 2003 CN
1115263 Jul 2001 EP
1 202 493 May 2002 EP
60-112336 Jun 1985 JP
61-216543 Sep 1986 JP
10308335 Nov 1998 JP
2002-325079 Nov 2002 JP
10-2001-93265 Oct 2001 KR
10-2002-0064847 Aug 2002 KR
10-2003-0040766 May 2003 KR
WO 0137581 May 2001 WO
WO 0180030 Oct 2001 WO
WO 02097555 Dec 2002 WO
Related Publications (1)
Number Date Country
20060251086 A1 Nov 2006 US