CN108737481B - Communication method and communication device - Google Patents

Communication method and communication device Download PDF

Info

Publication number
CN108737481B
CN108737481B CN201710272201.0A CN201710272201A CN108737481B CN 108737481 B CN108737481 B CN 108737481B CN 201710272201 A CN201710272201 A CN 201710272201A CN 108737481 B CN108737481 B CN 108737481B
Authority
CN
China
Prior art keywords
service
sdn controller
data flow
downstream
sdn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710272201.0A
Other languages
Chinese (zh)
Other versions
CN108737481A (en
Inventor
汪治
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Networks Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Networks Oy filed Critical Nokia Networks Oy
Priority to CN201710272201.0A priority Critical patent/CN108737481B/en
Publication of CN108737481A publication Critical patent/CN108737481A/en
Application granted granted Critical
Publication of CN108737481B publication Critical patent/CN108737481B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Abstract

Embodiments of the present disclosure relate to a communication method and a communication apparatus. There is provided a method implemented at an SDN controller, comprising: sending a service query request message to a downstream SDN controller, wherein the service query request message indicates information related to a service required by a data flow; receiving a service query response message from a downstream SDN controller, wherein the service query response message indicates the capability of the downstream SDN controller for providing service for the data flow; and selecting an SDN controller for providing service for the data flow based on the service inquiry response message.

Description

Communication method and communication device
Technical Field
Embodiments of the present disclosure relate generally to communication technology, and more particularly, to a communication method implemented at a communication device and a corresponding communication device.
Background
In recent years, Software Defined Networking (SDN) has gained more and more attention due to its features such as flexibility and ease of use. In SDN, the control plane that performs important network routing and handover functions is separate from the data forwarding plane. The control plane, which may be logically centralized and may be implemented with hardware components of various architectures, includes, for example, an SDN controller. The data forwarding plane includes, for example, forwarding devices that may employ inexpensive and simple network switches or routers that are available from SDN controller configurations. The SDN controller controls the forwarding process, forwarding rules and the like of forwarding equipment accessing the SDN. SDNs are increasingly widely deployed due to scalability, cost-effectiveness, reliability, and flexibility in customizing and optimizing network services for specific user needs.
In the prior art, solutions have been proposed to serve data flows using lower cost routes in a single SDN controller. However, given the complexity and size of the network, in a practical environment, it is nearly impossible for a single SDN controller to manage all connectivity services across multiple networks, multiple vendors, and multiple technology network domains. Therefore, when the current technical scheme provides services for data flows across multiple different SDNs, due to the lack of a technology capable of realizing communication and cooperation among the SDNs, when providing optimized services with a global end-to-end view exceeding that of a single SDN for a data flow, problems of high total service cost, poor service quality, non-ideal service effect and the like are generated, and these problems are all problems to be solved in the current technology.
Disclosure of Invention
In general, embodiments of the present disclosure propose a communication method implemented at a communication device and a corresponding communication device to address the above-mentioned problems in serving data flows across an SDN.
In a first aspect, embodiments of the present disclosure provide a communication method implemented at an SDN controller. The method comprises the following steps: sending a service query request message to a downstream SDN controller, wherein the service query request message indicates information related to a service required by a data flow; receiving a service query response message from a downstream SDN controller, wherein the service query response message indicates the capability of the downstream SDN controller for providing service for the data flow; and selecting an SDN controller for providing service for the data flow based on the service inquiry response message.
In this regard, embodiments of the present disclosure also provide an SDN controller, including: a transceiver configured to: sending a service query request message to a downstream SDN controller, wherein the service query request message indicates information related to a service required by a data flow; receiving a service inquiry response message from the downstream SDN controller, wherein the service inquiry response message indicates the capability of the downstream SDN controller for providing service for the data flow; and a controller configured to select an SDN controller providing a service for the data flow based on the service query response message.
Embodiments of the present disclosure also include an SDN controller, comprising: a processor and a memory storing instructions that, when executed by the processor, cause the network device to perform the method according to the first aspect.
Embodiments of the present disclosure also include an apparatus for implementation at an SDN controller. The apparatus comprises: means for sending a service query request message to a downstream SDN controller, the service query request message indicating information about a service required by a data flow; means for receiving a service query response message from a downstream SDN controller, the service query response message indicating capabilities of the downstream SDN controller to provide services for the data flow; and means for selecting an SDN controller to provide service for the data flow based on the service query response message.
In a second aspect, embodiments of the present disclosure provide a communication method implemented at an SDN controller. The method comprises the following steps: receiving a service query request message from an upstream SDN controller, the service query request message indicating information about services required by a data flow at the upstream SDN controller; generating a service query response message based on the service query request message, the service query response message indicating capabilities of the SDN controller to provide services for the data flow; and sending a service query response message to the upstream SDN controller, so that the upstream SDN controller selects an SDN controller providing a service for the data flow based on the service query response message.
In this regard, embodiments of the present disclosure also provide an SDN controller, including: a transceiver configured to receive a service query request message from an upstream SDN controller, the service query request message indicating information about services required by a data flow at the upstream SDN controller; and a controller configured to generate a service query response message based on the service query request message, the service query response message indicating capabilities of the SDN controller to provide services for the data flow, wherein the transceiver is further configured to send the service query response message to the upstream SDN controller so that the upstream SDN controller selects the SDN controller to provide services for the data flow based on the service query response message.
Embodiments of the present disclosure also include an SDN controller, comprising: a processor and a memory storing instructions that, when executed by the processor, cause the network device to perform the method according to the second aspect.
Embodiments of the present disclosure also include an apparatus for implementation at an SDN controller. The apparatus comprises: means for receiving a service query request message from an upstream SDN controller, the service query request message indicating information about services required by a data flow at the upstream SDN controller; means for generating a service query response message based on the service query request message, the service query response message indicating capabilities of the SDN controller to provide services for the data flow; and means for sending a service query response message to the upstream SDN controller, such that the upstream SDN controller selects an SDN controller that provides services for the data flow based on the service query response message.
As will be understood from the following description, in servicing data flows across multiple different SDNs, a service provider that can provide data flows with lower cost and better quality of service may be selected from the SDNs according to embodiments of the present disclosure. In this way, a plurality of network resources can be fully utilized to reduce service providing cost and improve service providing efficiency.
It should be understood that the statements herein reciting aspects are not intended to limit the critical or essential features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The above and other features, advantages and aspects of various embodiments of the present disclosure will become more apparent by referring to the following detailed description when taken in conjunction with the accompanying drawings. In the drawings, like or similar reference characters designate like or similar elements, and wherein:
FIG. 1 illustrates an example communication network in which embodiments of the present disclosure may be implemented;
figure 2 illustrates a flow diagram of a service query method implemented at the SDN controller side, in accordance with certain embodiments of the present disclosure;
figure 3 illustrates a flow diagram of a service provisioning method implemented at the SDN controller side, in accordance with certain embodiments of the present disclosure;
figure 4 illustrates a flow diagram of a service update method implemented at the SDN controller side, in accordance with certain embodiments of the present disclosure;
figure 5 illustrates a flow diagram of a service cancellation method implemented at the SDN controller side, in accordance with certain embodiments of the present disclosure;
figure 6 illustrates a flow diagram of a service query method implemented at the SDN controller side, in accordance with certain embodiments of the present disclosure;
figure 7 shows a schematic diagram of a communication process between a plurality of SDN controllers according to an embodiment of the present disclosure;
figure 8 illustrates a block diagram of an apparatus at an SDN controller, in accordance with certain embodiments of the present disclosure;
figure 9 illustrates a block diagram of an apparatus at another SDN controller, in accordance with certain embodiments of the present disclosure; and
fig. 10 illustrates a block diagram of an apparatus in accordance with certain embodiments of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
The terms "include" or "comprise," and variations thereof, as used herein, are inclusive, i.e., "including but not limited to. The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment". Relevant definitions for other terms will be given in the following description.
As used herein, the term "first SDN controller" denotes an upstream SDN controller of two communicating SDN controllers, and "second SDN controller" denotes a downstream SDN controller of two communicating SDN controllers. When it is determined that the data flow at the upstream server is to be serviced by the downstream SDN controller, the upstream server may route the data flow to the downstream server to have the data serviced.
Fig. 1 illustrates an example communication network 100 in which embodiments of the present disclosure may be implemented. The communication network 100 includes: SDN network 130 and its SDN controller 110, SDN network 140 and its SDN controller 120, wherein SDN controller 110 and SDN controller 120 are in a forwarding path of a particular data flow. In this embodiment, assume that the data flow is currently in SDN network 130 and requires service 1, and SDN network 130 and SDN network 140 may both provide service 1. According to a conventional approach, the SDN controller 110 determines that a data flow should be served 1 by an SDN network 130 corresponding to itself (e.g., managed by the SDN controller 110). In this case, even though SDN network 140 may provide service 1 for the data flow with lower cost (such as lower tariff, less delay, etc.), only service 1 in SDN network 130 may be utilized to provide service for the data flow. Thus, problems such as high service cost, poor service quality, and poor service effect may occur.
To address these and other potential problems, embodiments of the present disclosure provide a method of route control between different SDN networks (also referred to simply as "SDNs" in the context of the present disclosure). According to the embodiment of the disclosure, the selection of the optimal service provider for the data flow to be served from multiple angles such as cost and service capability is supported by introducing the horizontal (west/east) capability of the SDN controller, such as cost (e.g. charging, etc.) negotiation and monitoring functions. Therefore, traffic routing between different SDNs can meet the requirement of routing with lower use cost, network resources are effectively utilized to the maximum extent, dynamic optimal routing path selection and dynamic charges based on network condition changes are provided for service providers, and accordingly more income and higher service efficiency are achieved.
It should be understood that the number of SDN networks, the number of SDN controllers, and the number of services provided by each network shown in fig. 1 are for illustration purposes only and are not intended to be limiting. Communication network 100 may include any suitable type and number of SDN networks and SDN controllers, each of which may provide suitable coverage and a suitable number of services.
It should also be understood that the communication between SDN controllers 110 and 120 shown in fig. 1 is merely exemplary and not limiting. It is fully understood by those skilled in the art that embodiments of the present disclosure are applicable not only to communication between SDN controllers 110 and 120, but also to communication between other SDN controllers.
Furthermore, it should be understood that in embodiments of the present disclosure, one SDN network corresponds to one SDN controller, and the SDN controller manages and coordinates service provision capabilities of the SDN network corresponding to itself. Thus, in embodiments of the present disclosure, an SDN controller is also sometimes referred to as a provider of a service.
The principles and specific embodiments of the present disclosure will be described in detail below with reference to the embodiments shown in fig. 2 to 10. Reference is first made to fig. 2, which illustrates a flow diagram of a service query method 200 implemented at the SDN controller side, according to some embodiments of the present disclosure. It may be appreciated that method 200 may be implemented, for example, at an SDN controller 110 (also referred to as an "upstream SDN controller") as shown in fig. 1, where a downstream SDN controller may be implemented, for example, as SDN controller 120 shown in fig. 1.
Method 200 begins at 210, where SDN controller 110 sends a service query request message to downstream SDN controller 120. According to an embodiment of the present disclosure, the service inquiry request message indicates information about a service required by the data flow. The service inquiry request message may be generated in various ways. In some embodiments, the service query request message may be generated based on an identifier of the service and related information of the data flow. The related information of the data flow is, for example, but not limited to, an identifier of the data flow, a source address, a destination address, an application type, and the like.
Upon receiving the service query request message, downstream SDN controller 120 may generate a service query reply message based on the service query request message to indicate the capabilities of SDN controller 120 to provide the required service for the data flow. Downstream SDN controller 120 then sends a service query reply message to its upstream SDN controller 110.
At 220, SDN controller 110 receives a service query response message from downstream SDN controller 120 so that the capability of the downstream SDN controller to provide service for the data flow may be known. SDN controller 110 may obtain a variety of information from the service query reply message, such as an identifier of downstream SDN controller 120, a capability indicator indicating whether downstream SDN controller 120 can provide service for the data flow, a cost of providing the service, whether the cost is variable, a validity period of the cost, service provision priorities of different downstream SDN controllers, quality of service parameters (e.g., bandwidth, latency, etc.) of providing the service, and/or other suitable information. When there are multiple potential providers (e.g., downstream SDN controller 120, further downstream SDN controllers of the downstream SDN controller 120, etc.) for the same service, service provisioning priorities of different downstream SDN controllers may include priority suggestion identifications for the different providers for reference by upstream SDN controller 110 in service selection.
In embodiments of the present disclosure, the term "cost" includes metrics such as tariff, validity period, latency, bandwidth, quality of service, etc., associated with providing a respective service for a data flow. For example, in some embodiments, if the tariff for SDN controller 110 to provide service 1 for a data flow is $ 1/Gb and the tariff for SDN controller 120 to provide service 1 for a data flow is $ 1.5/Gb, then SDN controller 110 may be considered to be less costly to provide the service than SDN controller 120. It should be understood that the above examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure in any way. It is well understood by those skilled in the art that the cost of providing the corresponding service to the data stream can be determined by taking into account a plurality of the above-mentioned factors (e.g., applying different weights to different factors).
At 230, SDN controller 110 selects an SDN controller that provides services for the data flow based on the service query response message. In some embodiments, SDN controller 110 may determine, based on the service query answer message, an SDN controller capable of providing the service from among SDN controller 110 and one or more downstream SDN controllers capable of providing the service (e.g., SDN controller 120 and/or further downstream SDN controllers thereof), as a candidate SDN controller. Then, the SDN controller 110 selects an SDN controller satisfying a predetermined policy from the candidate SDN controllers as the SDN controller providing the service for the data flow.
In embodiments of the present disclosure, the predetermined policy may be formulated according to a variety of ways. In some embodiments, the predetermined policy may be a policy associated with cost control, such as cost minimization. In this case, at 230, SDN controller 110 may determine the least costly of the candidate SDN controllers to serve the data flow as the service provider.
According to a further embodiment of the present disclosure, optionally, the SDN controller 110 may request the SDN controller selected at 230 for providing the service for the data flow to perform the provision of the service. This will be described in detail in the embodiment described below in connection with fig. 3.
Fig. 3 illustrates a flow diagram of a service provisioning method 300 implemented at the SDN controller side, in accordance with certain embodiments of the present disclosure. It should be understood that the method 300 is a further embodiment of the method 200, which is exemplary only, and not limiting. Assuming that the SDN controller selected in method 200 to provide service to the data flow is downstream SDN controller 120 shown in fig. 1, upstream SDN controller 110 requests downstream SDN controller 120 to provide the service in the embodiment of fig. 3. The method 300 may be implemented, for example, at the SDN controller 110 as shown in fig. 1.
Method 300 begins at 310, where SDN controller 110 sends a service provisioning request message to downstream SDN controller 120. The service provisioning request message instructs SDN controller 110 to request downstream SDN controller 120 to provision services for the data flow. The service provisioning request message may include, for example, a data flow identification, a service identification (e.g., indicating whether the service required for the data flow is service 1, service 2, or another service), a length of time for the required service, and so on.
In some embodiments, upon receiving the service provision request message, SDN controller 120 may provide the corresponding service for the data flow, for example, may perform flow table downloading, updating, and/or other appropriate operations.
Alternatively or additionally, in some embodiments, upon receiving the service provision request message, SDN controller 120 may decide whether to accept the request from SDN controller 120. For example, SDN controller 120 may complete the above decision process according to load conditions, congestion level, quality of service, etc. of SDN network 140. SDN controller 120 may then generate a service provisioning reply message indicating whether SDN controller 120 agrees to provision services for the data flow and send the generated message to SDN controller 110. SDN controller 110 receives a service provisioning response message from downstream SDN controller 120, so that it can know whether downstream SDN controller 120 agrees to provision a service for the data flow.
In some embodiments, if downstream SDN controller 120 agrees to provide the required services for the data flows, it may, for example, perform flow table downloads, updates, and/or other appropriate operations for the provision of the services. On the other hand, if the downstream SDN controller 120 does not provide the required service for the data flow, the SDN controller 110 may remove the downstream SDN controller 120 from the candidate SDN controller, thereby updating the candidate SDN controller. SDN controller 110 may then reselect a service provider from the updated candidate SDN controllers. This reselection process may be similar to the selection performed at block 230 and will not be described further herein.
According to a further embodiment of the present disclosure, the SDN controller 110 may optionally obtain a cost corresponding to providing the service from the service provider, so that the cost may be updated periodically or aperiodically. In this way, it may be determined whether the current service provider is appropriate based on the cost of the update. This will be described in detail in the embodiment described below in connection with fig. 4.
Fig. 4 illustrates a flow diagram of a service update method 400 implemented at the SDN controller side, in accordance with certain embodiments of the present disclosure. It should be understood that method 400 is a further embodiment of method 200, which is exemplary only, and not limiting. Assuming that the SDN controller selected in method 200 to service the data flow is the downstream SDN controller 120 shown in fig. 1, the upstream SDN controller 110 requests the downstream SDN controller 120 to provide the cost of the update in the embodiment of fig. 4. Method 400 may be implemented, for example, at SDN controller 110 as shown in fig. 1.
Method 400 begins at 410 with determining whether a cost of serving a data flow by a downstream SDN controller 120 is variable.
At 420, in response to determining that the cost is variable, an update subscription request message is sent to the downstream SDN controller 120 to request the downstream SDN controller 120 to provide an updated cost of servicing the data flow. After receiving the update subscription request message from SDN controller 110, downstream SDN controller 120 may know that SDN controller 110 wishes to know about the updated service provision cost. Accordingly, downstream SDN controller 120 determines an updated cost and sends information about the updated cost to SDN controller 110. In some embodiments, downstream SDN controller 120 may generate an update subscription reply message, wherein the update subscription reply message includes a cost of the update, and then send the update subscription reply message to SDN controller 110.
At 430, SDN controller 110 receives an update subscription answer message from downstream SDN controller 120, so that the updated cost may be obtained from the update subscription answer message. Based on the updated cost, SDN controller 110 may determine whether the current service provider is the best suited of the candidate SDN controllers to provide the service. This determination may be made, for example, according to a predetermined policy (e.g., a cost minimization policy such as charging) or according to other embodiments within the scope of the present disclosure.
According to a further embodiment of the present disclosure, optionally, the SDN controller 110 may cause the service provider to stop providing the service for the data flow. This will be described in detail in the embodiment described below in connection with fig. 5. Fig. 5 illustrates a flow diagram of a service cancellation method 500 implemented at the SDN controller side, in accordance with certain embodiments of the present disclosure. It should be understood that method 500 is a further embodiment of method 200, which is exemplary only, and not limiting. Assuming that the SDN controller selected in method 200 to provide services for the data flow is downstream SDN controller 120 shown in fig. 1, in the embodiment of fig. 5, upstream SDN controller 110 notifies downstream SDN controller 120 to stop providing the services for the data flow. Method 500 may be implemented, for example, at SDN controller 110 as shown in fig. 1.
Method 500 begins at 510, where SDN controller 110 determines whether to continue to provide service for the data flow by downstream SDN controller 120. In some embodiments, SDN controller 110 may determine whether the updated cost of servicing the data flow satisfies a predetermined policy based on an update subscription acknowledgement message received from a downstream SDN controller. Determining to discontinue servicing of the data flow by the downstream SDN controller if the updated cost does not satisfy the predetermined policy. In some alternative embodiments, if SDN controller 110 determines that the data flow no longer requires the services described above, it may determine that the data flow is no longer being serviced by a downstream SDN controller.
At 520, responsive to determining that data flow is no longer being serviced by downstream SDN controller 120, SDN controller 110 sends a service cancellation message to downstream SDN controller 120. In response to receiving the service cancellation message from upstream SDN controller 110, downstream SDN controller 120 stops providing the service for the data flow.
Embodiments of the present disclosure are further described below by way of specific examples in connection with the above-described methods. Assume in the embodiment of fig. 1 that service 1 has different costs, e.g. tariffs, in different SDNs. Table 1 and table 2 show examples of costs for providing service 1 by SDN network 130 and SDN network 140, respectively.
TABLE 1
Network conditions Rate of charge
By default $ 1.25/Gb
TABLE 2
Network conditions Rate of charge
Congestion level
1 $ 1.50/Gb
Congestion level 2 $ 3.00/Gb
Without congestion $ 0.50/Gb
In this embodiment, assume that SDN controller 110 determines that service 1 should be provided for a particular data flow through SDN network 130 and SDN network 140. Through service query request messages/service query reply messages between SDN controller 110 and SDN controller 120, SDN controller 110 finds that service 1 in SDN network 140 has a current tariff rate of $ 0.50 per GB, which is lower than SDN network 130. Accordingly, SDN controller 110 selects service 1 in SDN network 140 for the data flow and requests SDN network 140 to provide the service by sending a service provision request message to SDN controller 120. Since the tariff for service 1 in SDN network 140 is context dependent, i.e. the cost is variable. So, SDN controller 120 may also subscribe to tariff changes for service 1 in SDN network 140. The data flow will then be routed through service 1 in SDN network 140.
Assume that the rate for service 1 in SDN network 140 changes to $ 1.50 per GB over a period of time due to network congestion. SDN controller 110 may reselect an appropriate routing path upon receiving a tariff change from SDN controller 120. In this case, assuming that SDN network 140 provides a higher tariff than SDN network 110, SDN controller 110 may select service 1 in SDN network 130 while cancelling service 1 in SDN network 140. The data flow will then be routed through service 1 in SDN network 110 and no longer through service 1 in SDN network 120.
Fig. 6 illustrates a flow diagram of a service query method 600 implemented at the SDN controller side, in accordance with certain embodiments of the present disclosure. It is to be appreciated that method 600 may be implemented, for example, at an SDN controller (also referred to as "downstream SDN controller") 120 as shown in fig. 1, where an upstream SDN controller may be implemented, for example, as SDN controller 110 shown in fig. 1.
Method 600 begins at 610 with receiving a service query request message from an upstream SDN controller 110, the service query request message indicating information about services required by a data flow at the upstream SDN controller 110. The service inquiry request message may include, for example: an identifier of the service, an identifier of the data flow, a source address of the data flow, a destination address of the data flow, an application type, etc. It will be appreciated by those skilled in the art that the service query request message may also include information related to the data flow and/or the service, and the above examples are merely illustrative and not limiting.
At 620, a service query response message is generated based on the service query request message.
In some embodiments, in response to a service query request message from an upstream SDN controller 110, SDN controller 120 may extract from the service query request message a data flow identification and an identification of a service required for the data flow, thereby determining whether it and/or other SDN controllers downstream of it may provide the required service for the data flow. SDN controller 120 may generate a capability indicator to indicate whether SDN controller 120 can provide the service for the data flow.
In some embodiments, when SDN controller 120 is able to provide the service, a cost of SDN controller 120 providing the service may be determined. The cost may include, for example, a tariff associated with servicing the data flow, an expiration period, latency, bandwidth, quality of service, and the like. In other embodiments, SDN controller 120 may further query its downstream SDN controller (not shown) whether the service can be provided. If so, the cost of the downstream SDN controller to provide the service may be further queried. SDN controller 120 may then determine service provisioning priorities for its one or more downstream SDN controllers based on the cost of providing the service to those downstream SDN controllers. For example, a costly SDN controller may have a lower priority than a less costly SDN controller.
SDN controller 120 may then generate a service query reply message to notify an upstream SDN controller according to the determined cost. The service query response message indicates the SDN controller's capability to provide services for the data flow, which may include, for example: an identifier of the SDN controller 120, a capability indicator, a cost of providing the service, whether the cost is variable, a validity period of the cost, a service provision priority of different downstream SDN controllers, and so on.
At 630, SDN controller 120 sends a service query response message to upstream SDN controller 110, such that upstream SDN controller 110 selects an SDN controller that provides services for the data flow based on the service query response message. According to embodiments of the present disclosure, a service provider may be selected based on a service query response message according to various implementations. This has already been described in the embodiments of fig. 2 to 5 and will not be described again here.
In further embodiments according to the present disclosure, SDN controller 120 may also receive a service provision request message from upstream SDN controller 110, the service provision request message instructing upstream SDN controller 110 to request that SDN controller 120 provide service for the data flow. SDN controller 120 then generates a service provisioning reply message indicating whether it agrees to provision the service for the data flow. SDN controller 120 may then send a service provisioning reply message to upstream SDN controller 110.
In further embodiments according to the present disclosure, SDN controller 120 may also receive an update subscription request message from upstream SDN controller 110. The update subscription request message requests SDN controller 120 to provide an updated cost of providing the service for the data flow to upstream SDN controller 110. SDN controller 120 may then determine an updated cost and may generate an update subscription reply message including the updated cost. SDN controller 120 may then send the update subscription answer message to upstream SDN controller 110.
In further embodiments according to the present disclosure, upon receiving a service cancellation message from upstream SDN controller 110, SDN controller 120 may also stop providing the service for the data flow.
Fig. 7 shows a schematic diagram of a communication process 700 between multiple SDN controllers according to an embodiment of the disclosure. Specifically, in the embodiment shown in fig. 7, an interaction process between SDN controller 110, SDN controller 120, SDN network 130, and SDN network 140 of fig. 1 is shown. In this embodiment, SDN controller 110 is an upstream SDN controller and SDN controller 120 is a downstream SDN controller.
In process 700, SDN controller 110 sends 711 a service query request message to SDN controller 120 to indicate that there are data flows that require one or more services. SDN controller 120 generates a service query response message based on the received service query request message, the service query response message indicating the capabilities of SDN controller 120 to provide the required service for the data flow.
In this embodiment, assuming that SDN controller 120 is capable of providing the service for the data flow, it sends 712 a service query response message to SDN controller 110 to inform SDN controller 110 that it is capable of providing the corresponding service itself. Meanwhile, the SDN controller 120 may also determine a cost for providing the service by itself, such as a tariff, a validity period, a time delay, a bandwidth, a quality of service, and the like, and determine whether the cost is variable, the validity period of the cost, a service provision priority of different downstream SDN controllers, and the like. SDN controller 120 may also include the determined cost-related information in the service query reply message.
In some embodiments, the service query response message may include the following Information Elements (IEs): a tariff for each candidate service provider. The information element may contain the current tariff for each SDN providing the service and the validity period of this tariff. Each tariff may correspond to an identifier to indicate which tariff is context dependent. Optionally, SDN controller 120 may also add more capability related information related to the requested service. For example, if there are multiple SDNs that can provide the same network function (e.g., a video optimizer), each SDN may be prioritized for subsequent prioritization to select which SDN to employ to service a data flow.
When SDN controller 110 receives the service query response message, it may select 713 the SDN controller that provides service for the data flow based on the service query response message. In this embodiment, assuming that the cost of SDN controller 120 providing the service is $ 1/Gb and the cost of SDN controller 110 providing the service is $ 1.5/Gb, then both SDN controller 110 and SDN controller 120 are candidate SDN controllers. SDN controller 110 may select a lower cost SDN controller 120 as the service provider.
SDN controller 110 may then send a service provisioning request message to SDN controller 120 to request downstream SDN controller 120 to provision the service for the data flow. Upon receiving the service provision request message, SDN controller 120 determines whether to provide service for the data flow based on current load conditions, quality of service conditions, and the like of SDN network 140. In this embodiment, assuming SDN controller 120 agrees to service a data flow, it notifies 716SDN network 140 to service the data flow and perform flow table downloads, updates, and/or other appropriate operations. Furthermore, SDN controller 120 generates a response message, i.e. a service provisioning response message, and sends 717 the service provisioning response message to SDN controller 110, indicating SDN controller 120 agrees to provision the service for the data flow.
Upon receiving the service provisioning response message, the SDN controller 110 knows that the SDN controller 120 has agreed to provision the service for the data flow, and then notifies 718 the SDN network 130 corresponding to itself of the message.
In this way, the same service can be provided for the data stream at lower cost, the service providing cost is effectively reduced, and the service providing efficiency is improved.
Additionally or alternatively, in further embodiments, the cost of the SDN controller may be updated. For example, during the time that a data flow is serviced by SDN controller 120, SDN controller 110 may determine from the received service query reply message whether the cost of downstream SDN controller 120 to service the data flow is variable. If it is determined that the cost is variable, SDN controller 110 sends 719 an update subscription request message to downstream SDN controller 120 to request the downstream SDN controller to provide an updated cost of servicing the data flow.
SDN controller 120 then determines the cost of the update according to the current service tariff, validity period, latency, bandwidth, quality of service, etc. of SDN network 140 and sends 720 an update subscription response message to SDN controller 110, the update subscription response message including the cost of the update.
Upon receiving the updated cost, SDN controller 110 may determine whether to continue to be serviced by SDN controller 120 for the data flow. For example, assuming that the updated cost of SDN controller 120 is $ 2/Gb, which is higher than the cost of SDN controller 110 to provide the service (i.e., $ 1.5/Gb), then SDN controller 110 with the lower cost 721 may be selected as the service provider.
Subsequently, the SDN controller 110 sends 722 a message to the SDN network 130 to inform the SDN network 130 to provide the service for the data flow. Furthermore, SDN control 110 also sends 723 a service cancellation message to SDN controller 120. SDN control 120 stops providing the service for the data flow in response to the service cancellation message.
Fig. 8 illustrates a block diagram of an apparatus 800 at an SDN controller in accordance with certain embodiments of the present disclosure. It is to be appreciated that the apparatus 800 may be implemented in the SDN controller 110 shown in fig. 1. As shown in fig. 8, the apparatus 800 includes: a transmitting unit 810, a receiving unit 820 and a selecting unit 830. The transmitting unit 810 is configured to: sending a service query request message to the downstream SDN controller, the service query request message indicating information about services required by the data flow. The receiving unit 820 is configured to receive a service query response message from a downstream SDN controller, the service query response message indicating a capability of the downstream SDN controller to provide a service for a data flow. The selecting unit 830 is configured to select an SDN controller providing a service for the data flow based on the service query response message.
In some embodiments, the sending unit 810 may be further configured to generate the service query request message based on: an identifier of the service; and at least one of the following for the data stream: an identifier, a source address, a destination address, and an application type.
In some embodiments, the receiving unit 820 may be further configured to obtain at least one of the following from the service query response message: an identifier of a downstream SDN controller, a capability indicator indicating whether the downstream SDN controller can provide service for the data flow, a cost of providing the service, whether the cost is variable, a validity period of the cost, and a service provision priority of different downstream SDN controllers, wherein the cost includes at least one of the following associated with providing service for the data flow: cost, validity period, time delay, bandwidth and quality of service.
In some embodiments, the selecting unit 830 may be further configured to determine, based on the service query response message, an SDN controller capable of providing the service from the SDN controller and a downstream SDN controller as a candidate SDN controller; and selecting the SDN controller meeting the preset strategy from the candidate SDN controllers as the SDN controller for providing service for the data flow.
In some embodiments, the selection unit 830 may be further configured to determine a lowest cost SDN controller of the candidate SDN controllers to service the data flow.
In some embodiments, the sending unit 810 may be further configured to send a service provision request message to the downstream SDN controller, the service provision request message indicating that the downstream SDN controller is requested to provide a service for the data flow.
In some embodiments, the receiving unit 820 may be further configured to receive a service provision acknowledgement message from the downstream SDN controller, the service provision acknowledgement message indicating whether the downstream SDN controller agrees to provide service for the data flow.
In some embodiments, the apparatus 800 may further include a determining unit configured to determine whether a cost of a downstream SDN controller to service a data flow is variable. The transmitting unit 810 may be further configured to: in response to determining that the cost is variable, sending an update subscription request message to the downstream SDN controller to request the downstream SDN controller to provide an updated cost of servicing the data flow. The receiving unit 820 may be further configured to: receiving an update subscription answer message from the downstream SDN controller, the update subscription answer message comprising an updated cost.
In some embodiments, the apparatus 800 may further include a determining unit configured to determine whether to continue to provide service for the data flow by the downstream SDN controller. The transmitting unit 810 may be further configured to: in response to determining that the data flow is no longer being serviced by the downstream SDN controller, a service cancellation message is sent to the downstream SDN controller. In some embodiments, the determining unit may be further configured to: determining whether the updated cost of providing service for the data flow meets a predetermined policy based on an update subscription response message received from a downstream SDN controller; and if the updated cost does not satisfy the predetermined policy, determining to discontinue servicing the data flow by the downstream SDN controller.
Fig. 9 illustrates a block diagram of an apparatus 900 at another SDN controller, in accordance with certain embodiments of the present disclosure. It is to be appreciated that apparatus 900 may be implemented in SDN controller 120 shown in fig. 1. As shown in fig. 9, the apparatus 900 includes: a receiving unit 910, a generating unit 920 and a transmitting unit 930. The receiving unit 910 is configured to receive a service query request message from an upstream SDN controller, the service query request message indicating information about services required by a data flow at the upstream SDN controller. The generating unit 920 is configured to generate a service query response message based on the service query request message, the service query response message indicating the capability of the SDN controller to provide services for the data flow. The sending unit 930 is configured to send a service query response message to the upstream SDN controller, so that the upstream SDN controller selects an SDN controller providing services for the data flow based on the service query response message.
In some embodiments, the generating unit 920 may be further configured to: generating a capability indicator indicating whether the SDN controller can provide service for the data flow; determining a cost of the SDN controller to provide the service when the SDN controller is capable of providing the service; and generating a service query response message based on the capability indicator and the cost, the service query response message including at least one of: an identifier of the SDN controller, a capability indicator, a cost of providing the service, whether the cost is variable, a validity period of the cost, and a service provision priority of different downstream SDN controllers, wherein the cost comprises at least one of the following associated with providing the service for the data flow: cost, validity period, time delay, bandwidth and quality of service.
In some embodiments, the receiving unit 910 may be further configured to: a service provisioning request message is received from an upstream SDN controller, the service provisioning request message instructing the upstream SDN controller to request the SDN controller to provision services for the data flow. The generating unit 920 may be further configured to: a service provisioning reply message is generated indicating whether the SDN controller agrees to provision services for the data flow. The transmitting unit 930 may be further configured to: sending a service provisioning acknowledgement message to an upstream SDN controller.
In some embodiments, the receiving unit 910 may be further configured to: receiving an update subscription request message from an upstream SDN controller, the update subscription request message requesting the SDN controller to provide an updated cost for servicing the data flow to the upstream SDN controller. In this embodiment, the apparatus 900 may further comprise a determining unit configured to determine an updated cost of the SDN controller. The transmitting unit 930 may be further configured to: sending an update subscription response message to the upstream SDN controller, wherein the update subscription response message comprises the updated cost.
In some embodiments, the apparatus 900 may further comprise a cancellation unit configured to stop servicing the data flow in response to receiving a service cancellation message from an upstream SDN controller.
It should be understood that each of the units recited in the apparatus 800 and the apparatus 900 correspond to a respective step in the methods 200 and 600 described with reference to fig. 2 and 6, respectively. Thus, the operations and features described above in connection with fig. 2 and 6 are equally applicable to the apparatus 800 and 900 and the units included therein, and have the same effects, and detailed details are not repeated.
The units included in the apparatus 800 and the apparatus 900 may be implemented in various ways including software, hardware, firmware or any combination thereof. In one embodiment, one or more of the units may be implemented using software and/or firmware, such as machine executable instructions stored on a storage medium. In addition to, or in the alternative to, machine-executable instructions, some or all of the elements of 800 and apparatus 900 may be implemented at least in part by one or more hardware logic components. By way of example, and not limitation, exemplary types of hardware logic components that may be used include Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standards (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and so forth.
The elements shown in fig. 8 and 9 may be implemented partially or wholly as hardware modules, software modules, firmware modules, or any combination thereof. In particular, in some embodiments, the procedures, methods or processes described above may be implemented by hardware in a base station or a terminal device. For example, a base station or terminal device may implement methods 200 and 600 using its transmitter, receiver, transceiver, and/or processor or controller.
Fig. 10 illustrates a block diagram of a device 1000 suitable for implementing embodiments of the present disclosure. Device 1000 may be used to implement SDN controllers, such as SDN controller 110 and SDN controller 120 shown in fig. 1.
As shown, the device 1000 includes a controller 1010. Controller 1010 controls the operation and functions of device 1000. For example, in certain embodiments, the controller 1010 may perform various operations by way of instructions 1030 stored in a memory 1020 coupled thereto. The memory 1020 may be of any suitable type suitable to the local technical environment and may be implemented using any suitable data storage technology, including but not limited to semiconductor-based memory devices, magnetic memory devices and systems, optical memory devices and systems. Although only one memory unit is shown in FIG. 10, there may be multiple physically distinct memory units within device 1000.
The controller 1010 may be of any suitable type suitable to the local technical environment, and may include, but is not limited to, one or more of general purpose computers, special purpose computers, microcontrollers, digital signal controllers (DSPs), and controller-based multi-core controller architectures. The device 1000 may also include a plurality of controllers 1010. The controller 1010 is coupled to a transceiver 1040, which may enable the transceiver 1040 to receive and transmit information via one or more antennas 1050 and/or other components.
When the device 1000 is acting as an SDN controller 110, the controller 1010 and the transceiver 1040 may operate in cooperation to implement the method 200 described above with reference to fig. 2. Wherein the transceiver 1040 is configured for sending a service query request message to the downstream SDN controller, the service query request message indicating information about a service required by the data flow; and receiving a service inquiry response message from the downstream SDN controller, the service inquiry response message indicating the capability of the downstream SDN controller to provide service for the data flow. The controller 1010 is configured to select an SDN controller that provides services for the data flow based on the service query response message.
In some embodiments, the transceiver 1040 may be further configured to: sending a service query request message to a downstream SDN controller, wherein the service query request message indicates information related to a service required by a data flow; and receiving a service inquiry response message from the downstream SDN controller, the service inquiry response message indicating the capability of the downstream SDN controller to provide service for the data flow. The controller 1010 may be further configured to select an SDN controller that provides services for the data flow based on the service query response message.
In some embodiments, the controller 1010 may be further configured to: generating a service query request message based on: an identifier of the service; and at least one of the following for the data stream: an identifier, a source address, a destination address, and an application type.
In some embodiments, the controller 1010 may be further configured to: obtaining at least one of the following from the service query response message: an identifier of a downstream SDN controller, a capability indicator indicating whether the downstream SDN controller can provide service for the data flow, a cost of providing the service, whether the cost is variable, a validity period of the cost, and a service provision priority of different downstream SDN controllers, wherein the cost includes at least one of the following associated with providing service for the data flow: cost, validity period, time delay, bandwidth and quality of service.
In some embodiments, the controller 1010 may be further configured to: determining SDN controllers capable of providing services from the SDN controllers and downstream SDN controllers as candidate SDN controllers based on the service inquiry response message; and selecting the SDN controller meeting the preset strategy from the candidate SDN controllers as the SDN controller for providing service for the data flow.
In some embodiments, the controller 1010 may be further configured to: determining a lowest cost SDN controller of the candidate SDN controllers for providing service for the data flow.
In some embodiments, the transceiver 1040 may also be configured to: and sending a service providing request message to the downstream SDN controller, wherein the service providing request message indicates that the downstream SDN controller is requested to provide service for the data flow.
In some embodiments, the transceiver 1040 may also be configured to: receiving a service provisioning reply message from the downstream SDN controller, the service provisioning reply message indicating whether the downstream SDN controller agrees to provision services for the data flow.
In some embodiments, the controller 1010 may be further configured to: determining whether a cost of a downstream SDN controller to service a data flow is variable. In some embodiments, the transceiver 1040 may also be configured to: in response to determining that the cost is variable, sending an update subscription request message to a downstream SDN controller to request the downstream SDN controller to provide an updated cost to service the data flow; and receiving an update subscription response message from the downstream SDN controller, the update subscription response message including the updated cost.
In some embodiments, the controller 1010 may be further configured to: it is determined whether to continue servicing the data flow by the downstream SDN controller. The transceiver 1040 may also be configured to: in response to determining that the data flow is no longer being serviced by the downstream SDN controller, a service cancellation message is sent to the downstream SDN controller.
In some embodiments, the controller 1010 may be further configured to: determining whether the updated cost of providing service for the data flow meets a predetermined policy based on an update subscription response message received from a downstream SDN controller; and if the updated cost does not satisfy the predetermined policy, determining to discontinue servicing the data flow by the downstream SDN controller.
When device 1000 is acting as SDN controller 120, controller 1010 and transceiver 1040 may operate in cooperation to implement method 600 described above with reference to fig. 6. Wherein the transceiver 1040 is configured to receive a service query request message from an upstream SDN controller, the service query request message indicating information about services required by a data flow at the upstream SDN controller. The controller 1010 is configured to generate a service inquiry response message based on the service inquiry request message, the service inquiry response message indicating capabilities of the SDN controller to provide services for the data flow. Transceiver 1040 is further configured to send a service query response message to an upstream SDN controller, such that the upstream SDN controller selects an SDN controller that provides services for the data flow based on the service query response message.
In some embodiments, the controller 1010 may be further configured to: generating a capability indicator indicating whether the SDN controller can provide service for the data flow; determining a cost of the SDN controller to provide the service when the SDN controller is capable of providing the service; and generating a service query response message based on the capability indicator and the cost, the service query response message including at least one of: an identifier of the SDN controller, a capability indicator, a cost of providing the service, whether the cost is variable, a validity period of the cost, and a service provision priority of different downstream SDN controllers, wherein the cost comprises at least one of the following associated with providing the service for the data flow: cost, validity period, time delay, bandwidth and quality of service.
In some embodiments, the transceiver 1040 may also be configured to: a service provisioning request message is received from an upstream SDN controller instructing the upstream SDN controller to request the SDN controller to provision a service for the data flow. The controller 1010 may be further configured to: a service provisioning reply message is generated indicating whether the SDN controller agrees to provision services for the data flow. The transceiver 1040 may also be configured to: sending a service provisioning acknowledgement message to an upstream SDN controller.
In some embodiments, the transceiver 1040 may also be configured to: receiving an update subscription request message from an upstream SDN controller, the update subscription request message requesting the SDN controller to provide an updated cost for servicing the data flow to the upstream SDN controller. The controller 1010 may be further configured to: an updated cost of the SDN controller is determined. The transceiver 1040 may also be configured to: sending an update subscription response message to the upstream SDN controller, wherein the update subscription response message comprises the updated cost.
In some embodiments, the controller 1010 may be further configured to: in response to receiving a service cancellation message from an upstream SDN controller, service for the data flow is stopped.
All of the features described above with reference to fig. 2 and 6 apply to the apparatus 1000 and are not described in detail here.
In general, the various example embodiments of this disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Certain aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device. While aspects of embodiments of the disclosure have been illustrated or described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that the blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
By way of example, embodiments of the disclosure may be described in the context of machine-executable instructions, such as those included in program modules, being executed in a device on a target real or virtual processor. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform particular tasks or implement particular abstract data types. In various embodiments, the functionality of the program modules may be combined or divided between program modules as described. Machine-executable instructions for program modules may be executed within local or distributed devices. In a distributed facility, program modules may be located in both local and remote memory storage media.
Computer program code for implementing the methods of the present disclosure may be written in one or more programming languages. These computer program codes may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the computer or other programmable data processing apparatus, cause the functions/acts specified in the flowchart and/or block diagram block or blocks to be performed. The program code may execute entirely on the computer, partly on the computer, as a stand-alone software package, partly on the computer and partly on a remote computer or entirely on the remote computer or server.
In the context of this disclosure, a machine-readable medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More detailed examples of a machine-readable storage medium include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical storage device, a magnetic storage device, or any suitable combination thereof.
Additionally, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In some cases, multitasking or parallel processing may be beneficial. Likewise, while the above discussion contains certain specific implementation details, this should not be construed as limiting the scope of any invention or claims, but rather as describing particular embodiments that may be directed to particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (27)

1. A communication method implemented at a software defined network, SDN, controller, comprising:
sending a service query request message to a downstream SDN controller, wherein the service query request message indicates information related to a service required by a data flow;
receiving a service query response message from the downstream SDN controller, the service query response message indicating a capability of the downstream SDN controller to provide the service for the data flow;
determining, from the SDN controller and the downstream SDN controller, an SDN controller capable of providing the service as a candidate SDN controller based on the service query response message; and
selecting, from the candidate SDN controllers, an SDN controller satisfying a predetermined policy as the SDN controller providing the service for the data flow.
2. The method of claim 1, wherein sending a service query request message downstream of the SDN controller comprises:
generating the service query request message based on: an identifier of the service; and at least one of the following for the data stream: an identifier, a source address, a destination address, and an application type.
3. The method of claim 1, wherein receiving a service query reply message from the downstream SDN controller comprises:
obtaining at least one of the following from the service query response message: an identifier of the downstream SDN controller, a capability indicator indicating whether the downstream SDN controller can provide the service for the data flow, a cost of providing the service, whether the cost is variable, a validity period of the cost, and a service provision priority of a different downstream SDN controller,
wherein the cost comprises at least one of the following associated with providing the service for the data flow: cost, validity period, time delay, bandwidth and quality of service.
4. The method of claim 1, wherein selecting an SDN controller from the candidate SDN controllers that satisfies a predetermined policy comprises:
determining a least costly SDN controller of the candidate SDN controllers to provide the service for the data flow.
5. The method of claim 1, further comprising:
sending a service provision request message to a downstream SDN controller, wherein the service provision request message indicates that the downstream SDN controller is requested to provide the service for the data flow.
6. The method of claim 5, further comprising:
receiving a service provisioning reply message from the downstream SDN controller, the service provisioning reply message indicating whether the downstream SDN controller agrees to provision the service for the data flow.
7. The method of claim 1, further comprising:
determining whether a cost of the downstream SDN controller to provide the service for the data flow is variable;
in response to determining that the cost is variable, sending an update subscription request message to the downstream SDN controller to request the downstream SDN controller to provide an updated cost for providing the service for the data flow; and
receiving an update subscription answer message from the downstream SDN controller, the update subscription answer message including the updated cost.
8. The method of claim 1, further comprising:
determining whether to continue providing the service for the data flow by the downstream SDN controller; and
sending a service cancellation message to the downstream SDN controller in response to determining that the service is no longer being provided by the downstream SDN controller for the data flow.
9. The method of claim 8, wherein determining whether to continue providing the service for the data flow by the downstream SDN controller comprises:
determining, based on an update subscription response message received from the downstream SDN controller, whether an updated cost of providing the service for the data flow satisfies a predetermined policy; and
determining to discontinue provision of the service for the data flow by the downstream SDN controller if the updated cost does not satisfy the predetermined policy.
10. A communication method implemented at a software defined network, SDN, controller, comprising:
receiving a service query request message from an upstream SDN controller, the service query request message indicating information about services required by a data flow at the upstream SDN controller;
generating a service query response message based on the service query request message, the service query response message indicating capabilities of the SDN controller to provide the service for the data flow;
sending the service query response message to the upstream SDN controller, so that the upstream SDN controller selects an SDN controller providing the service for the data flow based on the service query response message;
receiving a service provision request message from the upstream SDN controller, the service provision request message indicating that the upstream SDN controller requests the SDN controller to provide the service for the data flow;
generating a service provisioning response message indicating whether the SDN controller agrees to provision the service for the data flow; and
sending the service provisioning acknowledgement message to the upstream SDN controller.
11. The method of claim 10, wherein generating a service query response message based on the service query request message comprises:
generating a capability indicator indicating whether the SDN controller can provide the service for the data flow;
determining a cost of the SDN controller to provide the service when the SDN controller is capable of providing the service; and
generating the service query response message based on the capability indicator and the cost, the service query response message including at least one of: an identifier of the SDN controller, the capability indicator, a cost of providing the service, whether the cost is variable, a validity period of the cost, and a service provision priority of different downstream SDN controllers,
wherein the cost comprises at least one of the following associated with providing the service for the data flow: cost, validity period, time delay, bandwidth and quality of service.
12. The method of claim 10, further comprising:
receiving an update subscription request message from the upstream SDN controller, the update subscription request message requesting the SDN controller to provide an updated cost to the upstream SDN controller to provide the service for the data flow;
determining the updated cost of the SDN controller; and
sending an update subscription response message to the upstream SDN controller, the update subscription response message including the updated cost.
13. The method of claim 10, further comprising:
stopping providing the service for the data flow in response to receiving a service cancellation message from the upstream SDN controller.
14. A software defined network, SDN, controller for communication, comprising:
a transceiver configured to:
sending a service query request message to a downstream SDN controller, wherein the service query request message indicates information related to a service required by a data flow; and
receiving a service query response message from the downstream SDN controller, the service query response message indicating a capability of the downstream SDN controller to provide the service for the data flow; and
a controller configured to:
determining, from the SDN controller and the downstream SDN controller, an SDN controller capable of providing the service as a candidate SDN controller based on the service query response message; and
selecting, from the candidate SDN controllers, an SDN controller satisfying a predetermined policy as the SDN controller providing the service for the data flow.
15. The SDN controller of claim 14, wherein the controller is further configured to:
generating the service query request message based on: an identifier of the service; and at least one of the following for the data stream: an identifier, a source address, a destination address, and an application type.
16. The SDN controller of claim 14, wherein the controller is further configured to:
obtaining at least one of the following from the service query response message: an identifier of the downstream SDN controller, a capability indicator indicating whether the downstream SDN controller can provide the service for the data flow, a cost of providing the service, whether the cost is variable, a validity period of the cost, and a service provision priority of a different downstream SDN controller,
wherein the cost comprises at least one of the following associated with providing the service for the data flow: cost, validity period, time delay, bandwidth and quality of service.
17. The SDN controller of claim 14, wherein the controller is further configured to:
determining a least costly SDN controller of the candidate SDN controllers to provide the service for the data flow.
18. The SDN controller of claim 14, wherein the transceiver is further configured to:
sending a service provision request message to a downstream SDN controller, wherein the service provision request message indicates that the downstream SDN controller is requested to provide the service for the data flow.
19. The SDN controller of claim 18, wherein the transceiver is further configured to:
receiving a service provisioning reply message from the downstream SDN controller, the service provisioning reply message indicating whether the downstream SDN controller agrees to provision the service for the data flow.
20. The SDN controller of claim 14, wherein the controller is further configured to: determining whether a cost of the downstream SDN controller to provide the service for the data flow is variable, and
wherein the transceiver is further configured to:
in response to determining that the cost is variable, sending an update subscription request message to the downstream SDN controller to request the downstream SDN controller to provide an updated cost for providing the service for the data flow; and
receiving an update subscription answer message from the downstream SDN controller, the update subscription answer message including the updated cost.
21. The SDN controller of claim 14, wherein the controller is further configured to: determining whether to continue providing the service for the data flow by the downstream SDN controller, and
wherein the transceiver is further configured to: sending a service cancellation message to the downstream SDN controller in response to determining that the service is no longer being provided by the downstream SDN controller for the data flow.
22. The SDN controller of claim 21, wherein the controller is further configured to:
determining, based on an update subscription response message received from the downstream SDN controller, whether an updated cost of providing the service for the data flow satisfies a predetermined policy; and
determining to discontinue provision of the service for the data flow by the downstream SDN controller if the updated cost does not satisfy the predetermined policy.
23. A software defined network, SDN, controller for communication, comprising:
a transceiver configured to receive a service query request message from an upstream SDN controller, the service query request message indicating information about services required by a data flow at the upstream SDN controller; and
a controller configured to generate a service query response message based on the service query request message, the service query response message indicating capabilities of the SDN controller to provide the service for the data flow,
wherein the transceiver is further configured to send the service query reply message to the upstream SDN controller in order for the upstream SDN controller to select an SDN controller providing the service for the data flow based on the service query reply message;
the transceiver is further configured to receive a service provisioning request message from the upstream SDN controller, the service provisioning request message indicating that the upstream SDN controller requests the SDN controller to provide the service for the data flow;
the controller is further configured to generate a service provisioning reply message indicating whether the SDN controller agrees to provision the service for the data flow; and
the transceiver is further configured to send the service provisioning acknowledgement message to the upstream SDN controller.
24. The SDN controller of claim 23, wherein the controller is further configured to:
generating a capability indicator indicating whether the SDN controller can provide the service for the data flow;
determining a cost of the SDN controller to provide the service when the SDN controller is capable of providing the service; and
generating the service query response message based on the capability indicator and the cost, the service query response message including at least one of: an identifier of the SDN controller, the capability indicator, a cost of providing the service, whether the cost is variable, a validity period of the cost, and a service provision priority of different downstream SDN controllers,
wherein the cost comprises at least one of the following associated with providing the service for the data flow: cost, validity period, time delay, bandwidth and quality of service.
25. The SDN controller of claim 23, wherein the transceiver is further configured to: receiving an update subscription request message from the upstream SDN controller, the update subscription request message requesting the SDN controller to provide an updated cost to the upstream SDN controller to provide the service for the data flow;
wherein the controller is further configured to: determining the updated cost of the SDN controller; and
wherein the transceiver is further configured to: sending an update subscription response message to the upstream SDN controller, the update subscription response message including the updated cost.
26. The SDN controller of claim 23, wherein the controller is further configured to: stopping providing the service for the data flow in response to receiving a service cancellation message from the upstream SDN controller.
27. A software defined network, SDN, controller comprising:
a processor and a memory, the memory including a program executable by the processor, the processor when executing the program causing the SDN controller to perform the method of any of claims 1-9 or claims 10-13.
CN201710272201.0A 2017-04-24 2017-04-24 Communication method and communication device Active CN108737481B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710272201.0A CN108737481B (en) 2017-04-24 2017-04-24 Communication method and communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710272201.0A CN108737481B (en) 2017-04-24 2017-04-24 Communication method and communication device

Publications (2)

Publication Number Publication Date
CN108737481A CN108737481A (en) 2018-11-02
CN108737481B true CN108737481B (en) 2021-04-23

Family

ID=63934396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710272201.0A Active CN108737481B (en) 2017-04-24 2017-04-24 Communication method and communication device

Country Status (1)

Country Link
CN (1) CN108737481B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015180154A1 (en) * 2014-05-30 2015-12-03 华为技术有限公司 Network control method and apparatus
WO2016095142A1 (en) * 2014-12-17 2016-06-23 华为技术有限公司 Data forwarding method, device and system in software-defined networking (sdn)
CN106533743A (en) * 2016-10-24 2017-03-22 上海斐讯数据通信技术有限公司 SDN-based full-network low-energy-consumption routing method, device and system
CN106559459A (en) * 2015-09-29 2017-04-05 中国电信股份有限公司 SDN controller distribution methods, SDN controllers multicast group and network system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160323144A1 (en) * 2015-04-29 2016-11-03 Futurewei Technologies, Inc. Traffic-driven network controller placement in software-defined networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015180154A1 (en) * 2014-05-30 2015-12-03 华为技术有限公司 Network control method and apparatus
WO2016095142A1 (en) * 2014-12-17 2016-06-23 华为技术有限公司 Data forwarding method, device and system in software-defined networking (sdn)
CN106559459A (en) * 2015-09-29 2017-04-05 中国电信股份有限公司 SDN controller distribution methods, SDN controllers multicast group and network system
CN106533743A (en) * 2016-10-24 2017-03-22 上海斐讯数据通信技术有限公司 SDN-based full-network low-energy-consumption routing method, device and system

Also Published As

Publication number Publication date
CN108737481A (en) 2018-11-02

Similar Documents

Publication Publication Date Title
RU2571377C2 (en) System and method of control of services, advanced nodeb and data packet network gateway
WO2016033979A1 (en) Processing method, device and system for user service provision
EP3963841A1 (en) Network nodes for joint mec host and upf selection
US20150032495A1 (en) System and Method for User Controlled Cost Based Network and Path Selection across Multiple Networks
US20130148596A1 (en) Resource management system and method of centralized base station in mobile communication network
US20130246600A1 (en) Communication service providing system, method of providing communication service and data center management system
US9155101B2 (en) Systems and methods for dynamic association ordering based on service differentiation in wireless local area networks
US10798182B2 (en) Application function control of IP address allocation
US20200177462A1 (en) Service Management Method and Apparatus, and Storage Medium
US20170332284A1 (en) Enhanced mobility management within a mobile communication network
JP2022525898A (en) User device access processing methods, devices, electronic devices and computer programs
CN113709876A (en) Satellite service resource allocation method and electronic equipment
CN113518354B (en) Method, device and system for determining strategy
US20210144063A1 (en) Edge computing topology information exposure
CN111083727A (en) Method and device for predicting connection service quality
CN105656978A (en) Resource sharing method and device
CN116112946A (en) Communication method and device
CN108737481B (en) Communication method and communication device
KR102488791B1 (en) Association redirection method and device
CN108462657B (en) Method and equipment for acquiring resources and information of SDN (software defined network) of different operators
CN113873569A (en) Radio resource management method, storage medium, and electronic device
Ozfatura et al. Delay-aware coded caching for mobile users
WO2017199099A1 (en) Communication method for use between sdn device and ocs, sdn device, and ocs
US11553402B2 (en) Systems and methods for subscription based multicast service discovery
CN115190034B (en) Service deployment method based on edge cloud computing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant