Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ADDRESS CONFIGURATION METHOD AND APPARATUS IN SOFTWARE-DEFINED NETWORKING SYSTEM
Document Type and Number:
WIPO Patent Application WO/2018/109550
Kind Code:
A1
Abstract:
The present disclosure provides a software-defined access network System and an address configuration method thereof. One or more access nodes receive a routing request message from a user network and encapsulates the routing request message into an OpenFlow message to be forwarded. A software-defined network controller receives the OpenFlow message from the access node, identifies the routing request message therein and allocates a corresponding network prefix, and constructs a corresponding routing announcement message and encapsulates it into an OpenFlow message to be sent to the access node. The access node is further used to receive the routing announcement message from the software-defined network controller and forwarding it to the user network. The present disclosure may effectively combine the IPv6 technology and the software-defined network technology to meet address demands of future access networks, implements separation of control from forwarding and quick deployment of diverse Internet-of-things value-added services and the like.

Inventors:
WEN HAIBO (CN)
Application Number:
PCT/IB2017/001632
Publication Date:
June 21, 2018
Filing Date:
December 01, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ALCATEL LUCENT (FR)
International Classes:
H04L45/74
Other References:
TSENG CHIA-WEI ET AL: "IPv6 operations and deployment scenarios over SDN", THE 16TH ASIA-PACIFIC NETWORK OPERATIONS AND MANAGEMENT SYMPOSIUM, IEEE, 17 September 2014 (2014-09-17), pages 1 - 6, XP032713761, DOI: 10.1109/APNOMS.2014.6996530
KIM SEONG-MUN ET AL: "OpenFlow-based Proxy mobile IPv6 over software defined network (SDN)", 2014 IEEE 11TH CONSUMER COMMUNICATIONS AND NETWORKING CONFERENCE (CCNC), IEEE, 10 January 2014 (2014-01-10), pages 119 - 125, XP032626034, DOI: 10.1109/CCNC.2014.6866558
RODRIGO R DENICOL ET AL: "On IPv6 support in OpenFlow via Flexible Match Structures", CHANGE & OFELIA SUMMER SCHOOL: POSTER SESSION, 11 November 2011 (2011-11-11) - 11 November 2011 (2011-11-11), Berlin, DE, pages 1 - 2, XP055293984
GOVINDARAJAN KANNAN ET AL: "Interoperability issue between IPv4 and IPv6 in OpenFlow enabled network: IPv4 and IPv6 transaction flow traffic", 2014 INTERNATIONAL CONFERENCE ON COMPUTER, CONTROL, INFORMATICS AND ITS APPLICATIONS (IC3INA), IEEE, 21 October 2014 (2014-10-21), pages 58 - 63, XP032736232, DOI: 10.1109/IC3INA.2014.7042601
Attorney, Agent or Firm:
BERTHIER, Karine (FR)
Download PDF:
Claims:
I/We Claim:

1. A software-defined access network system, comprising:

one or more access nodes configured to receive a routing request message from a user network and encapsulate the routing request message into an OpenFlow message to be forwarded;

a software-defined network controller configured to receive the OpenFlow message from the access nodes, identify the routing request message in the OpenFlow message and allocate a corresponding network prefix, and construct a corresponding routing announcement message and encapsulate the routing announcement message into an OpenFlow message to be sent to the access nodes;

wherein the access nodes are further configured to receive the routing announcement message from the software-defined network controller and forward the routing announcement message to the user network. 2. The access network system according to claim 1, wherein when the access nodes are configured to encapsulate the routing request message into the OpenFlow message, the OpenFlow message further includes a user network identifier corresponding to the routing request message. 3. The access network system according to claim 1 or 2, wherein the OpenFlow message into which the access nodes are configured to encapsulate the routing request message is a Packet-In message.

4. The access network system according to claim 2, wherein the software-defined network controller is configured to allocate the corresponding network prefix according to the user network identifier in the received OpenFlow message.

5. The access network system according to claim 4, wherein the OpenFlow message into which the software-defined network controller is configured to encapsulate the routing announcement message is a Packet-Out message.

6. A method of performing stateless address configuration for a software-defined system, comprising: receiving, by one or more access nodes, a routing request message from a user network and encapsulating the routing request message into an OpenFlow message to be forwarded to a software-defined network controller of an access network;

receiving, by the software-defined network controller, the OpenFlow message, identifying the routing request message in the OpenFlow message and allocating a corresponding network prefix, and constructing a corresponding routing announcement message and encapsulating the routing announcement message into an OpenFlow message to be sent to the access nodes;

wherein the access nodes further receive the routing announcement message from the software-defined network controller and forward the routing announcement message to the user network.

7. The method according to claim 6, wherein when the access nodes encapsulate the routing request message into the OpenFlow message, the OpenFlow message further includes a user network identifier corresponding to the routing request message.

8. The method according to claim 6 or 7, wherein the OpenFlow message into which the access nodes encapsulate the routing request message is a Packet-In message. 9. The method according to claim 6, wherein the software-defined network controller allocates the corresponding network prefix according to the user network identifier in the received OpenFlow message.

10. The method according to claim 6, wherein the OpenFlow message into which the software-defined network controller encapsulates the routing announcement message is a

Packet-Out message.

11. A method of assisting in performing stateless address configuration for a software-defined network in an access node, comprising:

receiving a routing request message from a user network and encapsulating the routing request message into an OpenFlow message to be sent to a software-defined network controller;

receiving an OpenFlow message including a routing announcement message from the software-defined network controller, and constructing the routing announcement message to be forwarded to the user network.

12. The method according to claim 11, wherein when the access node encapsulates the router request message into the OpenFlow message, the OpenFlow message further includes a user network identifier corresponding to the routing request message.

13. The method according to claim 11, wherein the OpenFlow message into which the access node encapsulates the routing request message is a Packet-In message. 14. An access node configured to carry out the method according to any of claims

11-13.

15. A method of performing stateless address configuration for an access network in a software-defined network controller, comprising:

receiving an OpenFlow message from one or more access nodes in the access network; identifying a routing request message in the OpenFlow message and allocating a corresponding network prefix;

constructing a corresponding routing announcement message and encapsulating the routing announcement message into an OpenFlow message to be sent to the access nodes.

16. The method according to claim 15, wherein the software-defined network controller allocates the corresponding network prefix according to a user network identifier in the received OpenFlow message. 17. The method according to claim 15, wherein the OpenFlow message into which the software-defined network controller encapsulates the routing announcement message is a Packet-Out message.

18. A software-defined network controller configured to carry out the method according to any of claims 15-17.

Description:
ADDRESS CONFIGURATION METHOD AND APPARATUS IN SOFTWARE-DEFINED NETWORKING SYSTEM

FIELD

[0001] The present disclosure relate to the technical field of communications, and particularly to an address configuration method, apparatus and system in a software-defined networking system.

BACKGROUND

[0002] At present, network is getting into a brand-new era of the Internet of things. Billions of devices based on embedded type technologies implement seamless interconnection, are managed and safely perform interaction operations by virtue of the network. In the original

32

IPv4-based address management scheme, at most 2 devices may be connected to the Internet, which fails to meet future demands. To expand the address space, the address space is to be re-defined through IPv6. The IPv6 employs a 128-bit address length and almost may provide addresses without limitation.

[0003] On the other hand, SDN (software-defined network), which is a novel network innovation architecture, is an implementation mode of network virtualization and its core is to implement flexible control of network traffic by separating a network device control plane from a data plane so that the network becomes more intelligent as a pipeline. The data plane is only responsible for pure data forwarding, whereas the control plane employs a centralized controller and is responsible for controlling different service logic and forwarding manners. An open programmable interface is provided between the control plane and the data plane. Currently, a mainstream protocol is Openflow protocol.

[0004] As for the IPv6 address management scheme, address automatic configuration is a very important technical implementation, and how to effectively implement IPv6 stateless address auto-configuration in a future SDN network architecture is a problem to be solved urgently.

SUMMARY

[0005] To at least partially solve the above and other potential problems, embodiments of the present disclosure provide a technical solution of a stateless address configuration in a software-defined network system.

[0006] An embodiment of the present disclosure provides a software-defined access network system, comprising: one or more access nodes configured to receive a routing request message from a user network and encapsulate the routing request message into an OpenFlow message to be forwarded; a software-defined network controller configured to receive the OpenFlow message from the access node, identify the routing request message therein and allocate a corresponding network prefix, and constructe a corresponding routing announcement message and encapsulate it into an OpenFlow message to be sent to the access nodes; wherein the access nodes are further configured to receive the routing announcement message from the software-defined network controller and forward it to the user network.

[0007] In particular, upon encapsulating the routing request message into the OpenFlow message, the access nodes further encapsulate a user network identifier corresponding to the routing request message. [0008] In particular, the OpenFlow message formed by the access nodes encapsulating the router request message is a Packet-In message.

[0009] In particular, the software-defined network controller allocates the corresponding network prefix according to the user network identifier in the received OpenFlow message.

[0010] In particular, the OpenFlow message formed by the software-defined network controller encapsulating the routing announcement message is a Packet-Out message.

[0011] An embodiment of the present disclosure provides a method of performing stateless address configuration for a software-defined system, one or more access nodes receiving a routing request message from a user network and encapsulating the routing request message into an OpenFlow message to be forwarded to a software-defined network controller of the access network; the software-defined network controller receiving the OpenFlow message, identifying the routing request message therein and allocating a corresponding network prefix, and constructing a corresponding routing announcement message and encapsulating it into anOpenFlow message to be sent to the access nodes; wherein the access nodes further receive the routing announcement message from the software-defined network controller and forward it to the user network.

[0012] In particular, upon encapsulating the routing request message into the OpenFlow message, the access nodes further encapsulate a user network identifier corresponding to the routing request message.

[0013] In particular, the OpenFlow message formed by access nodes encapsulating the routing request message is a Packet-In message.

[0014] In particular, the software-defined network controller allocates the corresponding network prefix according to the user network identifier in the received OpenFlow message.

[0015] In particular, the OpenFlow message formed by the software-defined network controller encapsulating the routing announcement message is a Packet-Out message.

[0016] An embodiment of the present disclosure provides a method of assisting in performing stateless address configuration for a software-defined network in an access node, comprising receiving a routing request message from a user network and encapsulating the routing request message into an OpenFlow message to be sent to a software-defined network controller; receiving, from the software-defined network controller, the OpenFlow message including a routing announcement message, and constructing the routing announcement message to be forwarded to the user network. [0017] In particular, upon encapsulating the routing request message into the OpenFlow message, the access nodes further encapsulate a user network identifier corresponding to the router request message.

[0018] In particular, the OpenFlow message formed by access node encapsulating the routing request message is a Packet-In message. [0019] An embodiment of the present disclosure further provides an access node configured to execute any of the above methods.

[0020] An embodiment of the present disclosure further provides a method of performing stateless address configuration for an access network in a software-defined network controller, comprising receiving an OpenFlow message from one or more access nodes in the access network, identifying a routing request message therein and allocating a corresponding network prefix, and constructing a corresponding routing announcement message and encapsulating it as an the OpenFlow message to be sent to the access nodes.

[0021] In particular, the aforesaid software-defined network controller allocates the corresponding network prefix according to a user network identifier in the received OpenFlow message.

[0022] In particular, the OpenFlow message formed by the software-defined network controller encapsulating the router announcement message is a Packet-Out message.

[0023] An embodiment of the present disclosure further provides a software-defined network controller configured to implement any of the above methods.

[0024] The technical solution of the stateless address configuration according to the 5 embodiments of the present disclosure may effectively combine the IPv6 technology and SDN technology to meet demands of future access networks (a lot of addressing space and quick service deployment), implement separation of control from forwarding and quick deployment of various new applications such as diverse Internet-of-things value-added services. l o BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The present disclosure will be understood better and other objectives, details, features and advantages of the present disclosure will be made more apparent through the following description of detailed embodiments of the present disclosure with reference to the following figures. In the figures:

15 [0026] Fig. 1 illustrates a structural schematic diagram of a conventional access network system;

[0027] Fig. 2 illustrates a flow chart of address configuration under the conventional access network system;

[0028] Fig. 3 illustrates a structural schematic diagram of a SDN access network system 0 according to an embodiment of the present disclosure;

[0029] Fig. 4 illustrates a flow chart of stateless address auto-configuration in a SDN access network system according to an embodiment of the present disclosure;

[0030] Fig. 5 illustrates an instance of a IGMPv6 message format according to the present disclosure; and 5 [0031] Fig. 6 illustrates a Packet-In message in an embodiment of the present disclosure.

DETAILED DESCRIPTION OF EMBODIMENTS

[0032] Embodiments of the present disclosure will be described with reference to the drawings in detail. Though some embodiments of the present disclosure are shown in the drawings, it should be appreciated that the present disclosure can be implemented in various 30 manners and should not be interpreted as limited to the implementations described herein. Rather, these implementations are provided for thorough and complete understanding of the present disclosure, and to completely convey the scope of the present disclosure to those skilled in the art.

[0033] Fig. 1 illustrates a structure of a conventional access network system. In the figure, a network device in a user network may be accessed to an access node AN directly or in various different manners such as optical distribution network (ODN), xDSL, PON network, point-to-point optical fiber link, or WiFi wireless link and the like. A bandwidth network gateway BNG in the access network system serves, as a boundary router, is responsible for device address configuration management in the access network system, and the user host possesses a global unicast address through a router request RS and a router announcement RA messages between the user host and the bandwidth network gateway BNG.

[0034] Usually, an IPv6 stateless address auto-configuration procedure comprises two phases: link local address configuration and global unicast address configuration. When a network interface of a host device in the user network is activated, the host device first generates a link local address for the interface according to a local prefix FE80::/64 and a EUI-64 interface identifier. If an address conflict occurs in subsequent duplicate address detection (DAD) check, the local link address must be manually configured for the interface, otherwise the interface will be unavailable. In conjunction with Fig. 2 which illustrates a flow chart of address configuration under the conventional access network system, steps of configuring the global unicast address on the host device in the user network are as follows: Φ after the link local address is duly configured, the host device sends a router request RS message to request the router's prefix information. © after receiving the router announcement RS message, the BNG sends a unicast router announcement RA message, which carries the prefix information for use in the stateless address automatic configuration. ® meanwhile, the BNG periodically sends a multicast router announcement RA message, which carries the prefix information for use in the stateless address automatic configuration. Thereafter, after receiving the router announcement RA message, the host device generates a temporary global unicast address according to the prefix information and configuration information. Meanwhile, the DAD is activated, and a NS message is sent to verify uniqueness of the temporary address, whereupon the address is in a temporary state. After other network nodes on the link in the user network receives the DAD's NS message, if no users use the address, the message will be discarded, otherwise a NA message for responding to the NS message will be generated. If the host device does not receive the DAD's NA message, this indicates that the address is globally unique, and then the temporary address will be used to initialize the interface, whereupon the address enters a valid state.

[0035] As stated above, under the conventional access network system, the router request/router announcement (RS/RA) message exchange between the user host and BNG in the user network directly passes through the access node. This address configuration manner has certain unfavorable factors under the SDN access network architecture because under the SDN network system, any data stream is forbidden to spread to the network side unless the path is configured with a permission. Although it is possible to pre-build a specific channel between the BNG and the access node device to permit the host and the BNG in the user network to exchange RS/RA message, this will result in potential network attacks and reduces the programmability performance of the SDN network.

[0036] Fig. 3 illustrates a structural schematic diagram of a SDN access network system according to an embodiment of the present disclosure. In the figure, the network device in the user network may be accessed to an access node 321, 322 directly or in various different manners such as optical distribution network (ODN), xDSL, PON network, point-to-point optical fiber link, or WiFi wireless link and the like. The access node 321, 322 operates under control of a SDN controller 301 in the access network, and the access network may further comprise one or more switches 341-343. In addition, the access network may further comprise a bandwidth network gateway BNG 305 which may operate under the control of the SDN controller 301. According to an embodiment of the present application, the access nodes 321-322, the intermediate switches 341-343, the bandwidth network gateway 305 all may operate under the control of the SDN controller 301 of the access network through OpenFlow protocol. The SDN controller 301 configures a forwarding rule of the aforesaid network device, and only permitted data streams that satisfy the configuration conditions can be forwarded in the access network system.

[0037] In an embodiment of the present disclosure, the access nodes 321, 322 both only have a data plane function. Here, the access nodes 321, 322 are provided with a proxy device, which does not have the control plane function and cannot process a control-related message from the host device in the user network 330. For example, the access node 321 receives the router request RS message which comes from the user network 330 and involves the IPv6 stateless address configuration, encapsulates the RS message and a user network identifier R-ID corresponding to the user network 330 into an OpenFlow message, and sends it to the SDN controller 301. Meanwhile, the access node 321 receives an OpenFlow message that comes from the SDN controller 301 and includes RA message, parses it to find the corresponding router announcement RA message and user network identifier R ID, and then sends the router announcement RA message to the corresponding user network 330.

[0038] The above-mentioned user network identifier R ID may be information uniquely identifying the user network, for example, an port number connecting the access node of the user network, or a combination of the access node plus the port number, or a unique number calculated in a certain coding manner.

[0039] According to an embodiment of the present disclosure, the OpenFlow message including the router announcement RA message may be encapsulated into a Packer-In message. After the access nodes 321, 322 receive a data packet, but fails to successfully match it with a flow table item in the access node, the switch encapsulates the data into the Packet-In message, and sends it to the controller for processing. At this time, the data packet is buffered in the switch and awaits processing. Fig. 6 illustrates a Packet-In message in an embodiment of the present disclosure, in which a portion represented by 601 is an adjustment of a reason portion of the Packet-In message. A new Reason type value is defined to directly indicate that a Match field (payload field) is a IPv6 packet of the router request, other fields of Ethernet frames are not included at this time. A struct of p match match portion represented by 602 is the router request message encapsulated into the Packet-In message. In addition, the portion represented by 601 may not specifically indicate the Reason type value, and instead, an Ethernet frame including the router request RS message is directly put in a Match payload area, and is sent to the SDN controller to parse the payload area to judge whether it is the router request RS message.

[0040] According to an embodiment of the present disclosure, the router request RS message may also be encapsulated into other types of steam messages and the SDN controller needs to perform specific configuration for the flow table item of the access node in advance. After receiving the router request RS message from the user network, the access node adapts the filterring according to the flow table item, encapsulates the router request RS message into a specific flow control message to send it to a designated network device, which may be the SDN controller 301 or BNG 305. [0041] According to an embodiment of the present disclosure, the SDN controller 301 converges the control plane function of the access network. Here, the SDN controller 301 is provided with a stateless address auto-configuration SAAC device, which maintains a IPv6 prefix information table, and the IPv6 prefix allocated to each user network is recorded in the table. Each table item of the IPv6 prefix information table has a format <user network identifier R ID, IPv6 prefix information^ so that each user network may be identified by the user network identifier R ID in the prefix information table. When the stateless address auto-configuration SAAC device receives a router request RS message from a certain access node encapsulated in a certain specific message of the OpenFlow, such as Packet ln message, it looks up the IPv6 prefix information table based on the user network identifier R ID in the RS message to obtain the IPv6 prefix information corresponding to the user network, constructes a related router announcement RS message and encapsulates it into the certain specific message of the OpenFlow such as Packet-Out message and sends it to a corresponding access node.

[0042] As for each authorized user network, the SDN controller 301 may encapsulate the RA message into the OpenFlow message and periodically sends it to its corresponding access node, and the message also includes an authorized user network identifier R-ID. [0043] According to an embodiment of the present disclosure, the access nodes 321, 322 receive the OpenFlow message from the SDN controller 301. If the message carries the router announcement RA message, it will obtain the user network identifier R ID and the IPv6 prefix information of the user network therein, and construct a corresponding router announcement RA message to announce the network prefix of the host device in the user network.

[0044] Then, after receiving the router announcement RA message, the host device in the user network generates a temporary global unicast address according to the prefix information and configuration information. Meanwhile, the DAD is activated, and a NS message is sent to verify uniqueness of the temporary address, whereupon the address is in a temporary state. After other network nodes on the link in the user network receives the DAD's NS message, if no users use the address, the message will be discarded, otherwise a NA message for responding to NS message will be generated. If the host device does not receive the DAD's NA message, this indicates that the address is globally unique, and then the temporary address is used to initialize the interface, whereupon the address enters a valid state. [0045] Fig. 4 illustrates a flow chart of stateless address auto-configuration in a software-defined access network.

[0046] At step S401, the host device in the user network sends a router request RS message to an access node such as access node 221. In combination with a IGMPv6 (the sixth version of Internet Group Management Protocol) message format as illustrated in Fig. 5, the ICMPv6 data packet has a Next Header field with a value 58, an IPv6 target address with a value FF02: : 2, and a type filed with a value 133. The message body specifically represents the router request message.

[0047] At step S402, the access node 321 identifies the router request RS message received by it. The access node 321 may perform the identification based on different clues. As stated above, the router request RS message may be quickly identified by identifying the Next Header filed, the IPv6 target address and the type field in the ICMPv6 message. Certainly, those having ordinary skill in the art appreciate that different identifying rules can be set according to needs without departing from the scope of the present application.

[0048] At step S403, the access node 321 encapsulates the router request RS message as a message type compatible with the OpenFlow standard of the SDN, and meanwhile, the user network identifier R ID of the host device is encapsulated in the message and sent to the SDN controller 301. Typically, the OpenFlow message type may be a Packet ln message. Certainly, other OpenFlow message types may also be defined according to different application scenarios.

[0049] At step S404, the SND controller 301 decapsulates the received OpenFlow message. Since the Packet ln message provided by the present disclosure includes the router request RS message and user network identifier R ID, the controller 101 may directly employs a corresponding control module to process the router request RS message, in conjunction with the Pv6 prefix information table in the SDN controller 301 recording the IPv6 prefix allocated to each user network. Each table item of the IPv6 prefix information table has a format <user network identifier R ID, IPv6 prefix informations The IPv6 prefix information table is looked up based on the user network identifier R ID in the received message to obtain the IPv6 prefix information corresponding to the user network.

[0050] Preferably, the SDN controller 301 may perform prefix allocation through a certain set policy, for example, users belonging to a certain region being allocated a certain prefix, or users belonging to a certain user type being allocated a certain specific prefix. [0051] At step S405, the SDN controller 301 constructs a related RA message and encapsulates it into a certain specific message of the OpenFlow such as the Packet-Out message and sends it to a corresponding access node 321, and the router announcement RA message includes the IPv6 prefix information corresponding to the user network.

[0052] As for each authorized user network, the SDN controller 301 may encapsulate the multicast router announcement RA message in a certain specific message of the OpenFlow and periodically send it to the access node corresponding to each authorized user network. [0053] At step S406, the access node 321 decapsulates the received OpenFlow message to obtain the RA message.

[0054] At step S407, the access node 321 constructs a corresponding router request RS message and sends it to the host device in the user network. In combination with a IGMPv6 message format as illustrated in Fig. 5, the ICMPv6 data packet has a Next Header field with a value 58, an IPv6 target address with a value FF02: : 1, and a type field with a value 134. A message body has an optional TLV (type, length, value) field, in which when the type is 3, its corresponding range of values is IPv6 prefix information.

[0055] Then, after receiving the router announcement RA message, the host device in the user network generates a temporary global unicast address according to the prefix information and configuration information.

[0056] In one or more exemplary designs, the function of the present disclosure may be implemented using hardware, software, firmware, or their arbitrary combinations. In the case of implementation with software, the function may be stored on a computer readable medium as one or more instructions or codes, or transmitted as one or more instructions or codes on the computer readable medium. The computer readable medium comprises a computer storage medium and a communication medium. The communication medium includes any medium that helps to transmit the computer program from one place to another place. The storage medium may be any available medium accessible to a generic or a dedicated computer. The computer-readable medium may include, for example, but not limited to, RAM, ROM, EEPROM, CD-ROM or other optical disk storage device, a magnetic disk storage device, or other magnetic storage device, or any other medium that carries or stores a desired program code module in a manner of instruction or data structure that is accessible to a generic or dedicated computer or a generic or dedicated processor. Besides, any connection may also be called a computer-readable medium. For example, if software is transmitted from a website, server or other remote source using a co-axial cable, an optical cable, a twisted pair wire, a digital subscriber line (DSL), or a radio technology such as infrared, radio or microwave, the co-axial cable, optical cable, twisted pair wire, DSL, or radio technology such as infrared, radio or microwave are also covered in the definition of medium.

[0057] A general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logical device, discrete gate or transistor logic, discrete hardware component or any combination of the above for performing the function described here can be used to implement or execute various exemplary logic blocks, modules and circuits as described in conjunction with the present disclosure. The general-purpose processor may be a microprocessor, or the processor may also be any conventional processor, controller, microcontroller, or a state machine. The processor may be implemented as a combination of a computing device, e.g., combination of DSP and microprocessor, a plurality of microprocessors, a combination of one or more microprocessors with a DSP kernel, or any other such structure.

[0058] A person of ordinary skilled in the art should also understand that various logical blocks, modules, circuits and algorithm steps as exemplarily depicted in conjunction with the embodiments of the present disclosure may be implemented as electronic hardware, computer software, or a combination of the two. In order to clearly express such exchangeability between hardware and software, the various exemplary components, blocks, modules, circuits and steps have been depicted in general around the function. As to whether this function is implemented as hardware or software, it depends on a specific application and a design constraint condition applied on the whole system. Those skilled in the art may implement the depicted function in a flexible manner for each specific application. However, such implementation decision should not be construed as departing from the protection scope of the present invention.

[0059] The above depiction of the present disclosure is for enabling any person of ordinary skilled in the art to implement or use the present invention. For a person of ordinary skilled in the art, various modifications of the present disclosure are obvious, and the general principle defined herein may also be applied to other transformations without departing from the spirit and protection scope of the present invention. Thus, the present invention is not limited to the instances and design as described herein, but consistent with the broadest scope of the principle and novel characteristics of the present disclosure.