Patent Description:
The term Network Cloud (NC) refers to a cloud that is being used for serving network functionalities such as routing, switching, etc. In other words, it refers to a concept of disaggregating network entities hardware and software. The control plan of a network entity is decoupled from its data-path, and is installed on a local server or in a network cloud. An underlying abstraction layer separates the control element and makes it agnostic to the data-path related hardware components. The data-path runs on a distributed hardware resources such as servers, network interfaces and white box devices and may be programmed directly.

Network cloud concept uses cloud methodology to serve Software Defined Network ("SDN") services such as routing, switching, VPN, QOS, DDOS mitigation and the like in a more efficient, centrally controlled and easily programmable way.

The separation that nowadays exists between software and hardware in the networking field, has resulted in a new model of a network cloud, wherein an optimized usage of hardware resources is implemented to enable deploying of a distributed network operating system.

Nowadays, network operators are facing a financial problem as the network elements' prices are relatively high per device and consequently the price is high on a "per port" basis, whereas the income per subscriber remains mostly constant and, in some cases, has even declined. Obviously, this affects the profitability of network owners and encourages them to look for ways to implement a cost reduction approach. Many network operators and large network owners, such as web-scale owners, have adopted the approach of implementing white-boxes in their networks, where a white-box is a hardware element that is manufactured by silicon ODMs (commodity chipsets sellers). This approach allows network operators to use different white boxes manufactured by different manufacturers, within the same distributed network cloud cluster and thereby to reduce the hardware price to a model of BOM cost plus an agreed-upon margin. Yet, this approach is rather different from the traditional approach, whereby network elements were purchased as a monolithic device of hardware and software combined together. As was mentioned above, the hardware part of the problem (i.e. the hardware part of the network elements) was solved by adopting the white-box approach. Still, the adoption of this approach has created new challenges for the software part of the problem. Since this approach involves multiple software modules and containers, the use of distributed hardware nodes solution which comprises a plurality of hardware white-boxes, requires the software modules and containers to run in synchronization.

When this concept is adopted, different functionalities may be distributed between hardware resources as they can function along the data-path while allowing packet processing. Alternatively, they can function as fabric entities allowing communication between data-path elements, or as network controllers handling routing protocols or while carrying out any other applicable functionality.

Enterprises, as well as communication service providers, who implement a virtualized network cloud, are facing new challenges that relate to the installation, deployment, configuration, orchestration, provisioning and monitoring of the plurality of different entities required in the lifecycle management of the cluster, whether these entities are network cloud routers, switches or any other applicable network element.

Additionally, as the complexity of the distributed network cloud increases, there is an increasing need to enable automatic processes for adding, removing or replacing hardware devices within the network.

<CIT> discloses A radio communication network includes: a network orchestration entity, configured to orchestrate a plurality of network resources to set up at least one logical network of a plurality of logical networks based on a logical network-specific service level agreement.

<CIT> discloses techniques that are described for extending a two-way active measurement protocol (TWAMP) to enable measurement of service key performance indicators (KPIs) in a software defined network (SDN) and network function virtualization (NFV) architecture. The TWAMP extensions enable control messaging to be handled by a TWAMP control client executed on a centralized controller, and data messaging to be handled by a TWAMP session initiator executed on a separate network device.

<CIT> discloses a virtual machine server clusters are managed using self-healing and dynamic optimization to achieve closed-loop automation. The technique uses adaptive thresholding to develop actionable quality metrics for benchmarking and anomaly detection.

Therefore, there is a need for an orchestration model which may be configured for managing a plurality of routing or switching entities in a network cloud. The present invention seeks to fulfill this need.

It is an object to provide a novel solution for managing a plurality of routing and/or switching entities operating in a network cloud.

It is another object to provide a communication system and a method for managing distributed network nodes operating in a network cloud, based on information related to key performance indicators (KPIs) collected from the plurality of physical network elements.

It is another object to provide a communication system and a method for managing distributed network nodes based on threshold values associated with KPIs and the information collected from a plurality of physical network elements.

Other objects of the present disclosure will become apparent from the following description.

According to a first example there is provided a communication system according to independent claim <NUM>.

The terms "physical network element" or "physical network node" or "hardware network element" or "network element", as the case may be, are used interchangeably herein throughout the specification and claims to denote a physical entity such as a packet processor, a CPU, a memory, a network interface, and the like, that can act as a single or multiple entities being a part of a virtual routing entity and supports the routing functionality of the latter.

The term "network cloud", as used herein throughout the specification and claims, refers to a cloud that is being used for serving network functionalities such as routing, switching, etc..

On the other hand, the term "cloud network" denotes network resources (servers, disks, CPUs, and the like) that are used for providing a cloud functionality (e.g. for hosting services, files, sites, and the like), as web scale companies do.

The terms "cloud orchestrator" or "orchestrator" as used herein throughout the specification and claims refer to a cloud management platform that automates provisioning of cloud services using policy-based tools. It enables the user to configure, provision, integrate service management-and add management, monitoring, back-up and security-in a short period of time. The platform comprises a collection of customized individual activities that are specific to a product or technology, so that the activities to be performed thereby are integrated with that product. The cloud orchestrator is typically able of guiding information, providing redundancy, availability, low latency and total transparency among the different communication protocols while offering security, management and capacity to integrate a large number of network elements, and to enable aggregating new members to a network cloud in a fast and secured manner.

By yet another embodiment, the cloud orchestrator is operative to configure a communication channel for conveying messages exchanged between network elements that are members of a cluster, and/or between network elements that are members of the cluster and the cloud orchestrator. Preferably, these messages comprise at least one type of messages being a member of a group that comprises: keepalive messages, configuration commands forwarded from the cloud orchestrator to modules installed at network elements, messages that are sent every pre-determined time interval to the cloud orchestrator and comprise information that relate to at least one of: current telemetry, statistics, events, KPIs, and the like.

In accordance with another aspect of the present disclosure there is provided a method for use in a network cloud, according to independent claim <NUM>.

By still another embodiment, the method further comprising a step of establishing a communication channel for conveying messages exchanged between network elements that are members of the cluster, and/or between network elements that are members of the cluster and the cloud orchestrator.

According to another example the messages comprise at least one type of messages being a member of a group that consists of: keepalive messages, configuration commands forwarded from the cloud orchestrator to modules installed at network elements, messages that are sent every pre-determined time interval to the cloud orchestrator and comprise information that relate to at least one of: current telemetry, statistics, events and KPIs.

The accompanying drawings, which are incorporated herein and constitute a part of this specification, illustrate several embodiments of the disclosure and, together with the description, serve to explain the principles of the embodiments disclosed herein.

Some of the specific details and values in the following detailed description refer to certain examples of the disclosure. However, this description is provided only by way of example and is not intended to limit the scope of the invention in any way. As will be appreciated by those skilled in the art, the claimed method and device may be implemented by using other methods and/or other devices that are known in the art per se. In addition, the described embodiments comprise different steps, not all of which are required in all embodiments of the invention.

<FIG> illustrates a network cloud (<NUM>) construed in accordance with an embodiment of the present invention. The network cloud (<NUM>) comprises a cloud orchestrator (<NUM>) that includes a storage for KPIs and actions and a database being in two-ways communication with cloud controller <NUM> (e.g. mediator), comprising a storage for KPIs, actions and a database, and wherein network cloud (<NUM>) further comprises a plurality of network elements (NEs) <NUM><NUM> to <NUM>N, each comprising a respective agent <NUM><NUM> to <NUM>N, and wherein these agents are configured to communicate with cloud controller <NUM> over a L2/L3 communication channel.

A cloud orchestrator automates the management, coordination and organization of complicated computer systems, services and middleware. In addition to a reduced requirement for personnel involvement, the orchestration functionality eliminates the potential errors that might be introduced while carrying out provisioning, scaling or other cloud processes.

Once an operating system (OS) is installed at the cloud orchestrator <NUM> (and at the network controller <NUM>, if the latter is deployed), agents <NUM><NUM> to <NUM>N may be installed at NEs <NUM><NUM> to <NUM>N to support communication from cloud orchestrator <NUM> either directly or through cloud controller <NUM>. Once these agents have been installed, links are established at the L2 layer and respective tunnels may be configured, thereby enabling a two-ways communication between the cloud orchestrator and the network elements.

<FIG> demonstrate various steps included in three different operational stages of a method by which the network cloud referred to hereinabove, operates.

<FIG> demonstrates a schematic block diagram of steps comprised at the stage of configuring a new network element when added to a network cloud, construed in accordance with an embodiment of the present invention.

First, the newly added network element, being for example a router or a switch, is identified and a communication link is established between the cloud orchestrator and that new NE (step <NUM>). The NE is then associated by the managing entity with a certain cluster (step <NUM>) and the cloud orchestrator or the cloud controller, as the case may be, forwards images/dockers to the new NE (step <NUM>). Once a keepalive message is sent by the NE to the cloud orchestrator/controller, checking/confirming that the communication link that has been established between the two is operative, a plurality of KPIs will be collected and stored at the cloud orchestrator, preferably at pre-configurable time intervals (step <NUM>).

The next stage is exemplified in <FIG>, which presents a schematic block diagram of steps included at the stage of task execution by the newly added network element. This example comprises the following steps. First, lists of KPIs are collected from the NEs that communicate (directly or indirectly) with the cloud orchestrator (step <NUM>). The KPIs are compared with pre-defined respective threshold values (step <NUM>) and if a certain KPI reaches its respective threshold value, a pre-defined action will be initiated (step <NUM>) after retrieving the required action details from the database located at the cloud orchestrator (step <NUM>). Preferably, once the cloud orchestrator has executed the required action, it confirms by checking with all NEs that are relevant to the action taken, that indeed the action had an effect on these NEs (step <NUM>). Once the confirmation is obtained, the cloud orchestrator receives new KPIs (at least from these relevant NEs) to verify whether an improvement has occurred in their operation (step <NUM>). After verifying that improvements have been achieved at the NEs, the action is logged at the cloud orchestrator storage (step <NUM>).

Another phase of the network cloud operation is exemplified in <FIG>, which illustrates a schematic block diagram of an embodiment of the present disclosure of carrying out traffic analysis and automatic execution of actions associated with network elements that belong to the network cloud.

This phase starts by retrieving KPIs collected from different NEs (step <NUM>). Then, the cloud orchestrator analyzes the traffic flows that are conveyed via these NEs and identifies traffic trends (such as future possible congestion, etc.) based on these traffic flows that were analyzed (step <NUM>). In view of the identified trends, one or more automatic actions and their associated threshold values are suggested to be carried out in the network cloud (step <NUM>), in order to adequately act on the scenarios predicted based on the trends identified in step <NUM>. Once the changes (the new automated actions) are approved (step <NUM>) the new actions and their respective threshold values are added to the cloud orchestrator storage for automatic execution thereof (step <NUM>), and upon occurrence of situations at which the need for the new actions were added arises, the actions will be executed automatically (step <NUM>).

When a configuration change to a network element (e.g. a node) or a plurality of nodes is required, the cloud orchestrator (acting as an administrator) may define a configuration patch (e.g. certain configuration lines or scripts) and set a list of one or more threshold values that will trigger that configuration change. The cloud orchestrator triggers the required configuration change when threshold values are exceeded, logs the executed changes and allows rollbacks. The system may execute actions in response to threshold values being exceeded, and machine learning (Artificial Intelligence) actions can be carried for configuration, administration and/or orchestration types of activities. Such actions may be for example one of the following actions:.

During operation, periodic calculations may be carried out using recently retrieved KPIs in order to identify trends in the network cloud operation. A machine learning algorithm may be used to generate hourly and/or daily and/or weekly trends, which may then be displayed visually to the network operator.

Furthermore, based on the calculated trends, predictions can be made and be then translated into relevant threshold values. The threshold values may be saved in a thresholds database which is comprised in this example within the cloud orchestrator, so that an event manager (part of the functionality carried out by the cloud orchestrator server) may trigger events upon exceeding these relevant threshold values.

In addition, a list of required or recommended actions may be generated based on the analysis of the collected information and the calculated predictions, and the managing entity of the cloud orchestrator (an administrator) may be used to determine whether a certain action should be executed, or whether to avoid preforming a certain action, or whether to automate a certain action, so that when applicable, that action will be carried out automatically.

Moreover, monitoring of failures may be carried out according to the following embodiment:.

Claim 1:
A communication system (<NUM>) configured to operate in a network cloud, the system comprising
a plurality of physical network elements (<NUM><NUM> ....<NUM>n) and a server;
wherein said communication system is characterized in that
each of the plurality of physical network elements (<NUM><NUM> .... <NUM>n) comprises a respective agent (<NUM>, ... <NUM>n) that enables communications between said agent (<NUM><NUM> .... <NUM>n) and a server configured to operate as a cloud orchestrator (<NUM>), wherein said respective agents (<NUM><NUM> .... <NUM>n) are used to establish links at an L2 layer that enable a two-ways communication between said cloud orchestrator (<NUM>) and a respective physical network element (<NUM><NUM> .... <NUM>n), and
wherein said cloud orchestrator (<NUM>) is further configured to receive information related to key performance indicators, KPIs, collected (<NUM>) from each of said plurality of physical network elements (<NUM><NUM> ....<NUM>n) along a respective established link, and upon determining
that a pre-defined action that relates to a respective physical network element needs to be executed (<NUM>), based on one or more threshold values stored at said cloud orchestrator and associated with said KPIs and the information collected from the plurality of physical network elements, triggering a configuration change at said respective physical network element.