Patent Description:
A disaggregated (distributed) system is a system whose components are located on different networked computers, which communicate and coordinate their actions by forwarding messages to one another. The components interact with one another in order to achieve a common goal. Three significant characteristics of distributed systems are: concurrency of components, lack of global clock, and independent failure of components.

A computer program that runs within a distributed system is referred to as a distributed program. There are many different types of implementations for messages' conveying mechanism, among which pure HTTP, RPC-like connectors and message queues.

A computer cluster is a set of loosely or tightly connected computers that work together so that, in many respects, they can be viewed as a single entity. Unlike grid computers, computer clusters have each a node set to perform the same task, controlled and scheduled by a software.

The components of a cluster are usually connected to each other through fast local area networks, with each node (e.g., computer used as a server) running its own instance of an operating system. In most circumstances, all of the nodes use the same hardware and the same operating system, although in some setups (e.g., when Open Source Cluster Application Resources (OSCAR) is implemented), different operating systems can be used on each computer, or different hardware.

Clusters are usually deployed to improve performance and availability over that of a single computer, while typically being much more cost-effective than single computers of comparable speed or availability.

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, the term refers to the concept of disaggregating network entities' hardware and software. The control plan of a network entity in an NC is decoupled from its data-path, and is installed on a local server or in the cloud network. 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 exists nowadays 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. Currently, network operators are facing financial difficulties as the network elements' prices are relatively high per device and consequently the price is also high on a "per port" basis, whereas the income per subscriber remains mostly constant and, in some cases, even declines. Obviously, the above affects the profitability of the network owners and encourages them to look for ways to implement a cost reduction approach in their networks. Many network operators and large network owners, such as web-scale owners, have adopted the approach of implementing white-boxes, where a white-box is a hardware element that is manufactured by a silicon merchant (commodity chipsets) at ODMs. This approach allows network operators to use white boxes manufactured by different manufacturers within the same distributed network cloud cluster and thereby 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 are purchased as monolithic devices 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. However, by adopting this approach, new challenges for the software part of the solution are created. Since this approach involves multiple software modules and containers, the use of a distributed hardware nodes' solution by using a plurality of hardware white-boxes, requires the software modules and containers to run in synchronization.

Deployment and provisioning processes that are carried out in disaggregated, white box-based virtual clusters, impose several operational challenges. One such challenge, resides in the fact that several modular networking elements (nodes) are bundled in order for them to function as a single powerful network element. Each one of the nodes is responsible for a dedicated function within the router, and hence needs to be automatically identified, provisioned and assigned with the relevant SW component.

<NPL>,discloses automatic provisioning of switches newly installed in a network and the management of the provisioning process by a separate management server.

The solution provided by the present disclosure provides a device and a method for identifying the nodes in a dynamic and evolving environment, required for improving the operation of networks such as those described above.

The disclosure may be summarized by referring to the appended claims.

It is an object of the present disclosure to provide a novel disaggregated system comprising a large number of white boxes that operate effectively as a single entity (router, switch, etc.) while the functionality associated with that single entity is distributed over a plurality of physical white boxes.

It is an object of the present disclosure to provide a novel disaggregated system and a method for identifying elements included in that system based on their functionalities.

It is another object of the present disclosure to provide a novel approach for nodes' identification in a distributed cluster to enable improved control and operation of a network cloud.

Other objects of the present disclosure will become apparent from the following description. These objects are solved by the subject matters of the independent claims.

According to a first embodiment of the present disclosure there is provided a disaggregated routing system for use in a communication network comprising a plurality of white boxes, wherein said disaggregated system is characterized in that four of said plurality of white boxes are each configured to carry out a functionality selected from among a group that consists of: data path forwarding,<NUM> a fabric module, elements' controller and management switching, and wherein each of the four white boxes is configured to carry out a functionality different from the functionalities carried out by each of the other three white boxes from among said four white boxes, and wherein by joining the functionalities of said four white boxes,<NUM> networking functions are carried out in a network cloud, and wherein each of the four white boxes is provided with an identification based on its functionality, and wherein these identifications are derived based on information retrieved by using Link Layer Discovery Protocol.

The term "cluster" as used herein throughout the specification and claims is used to denote a virtual entity that comprises a plurality of nodes, among which are one or more element controller(s), management switch(es), fabric module(s) and data path forwarder (s). These nodes operate as a set of loosely or tightly connected computing entities that work together so that, in many respects, they can be viewed as a single entity.

According to another embodiment, at least some of the white boxes are further identified based on their respective location within the disaggregated routing system.

In accordance with another embodiment, the functionalities of each of the at least four of said plurality of white boxes is selected from among a group that consists of: data path forwarding, fabric module, elements' controller and management switching.

According to another aspect of the disclosure there is provided a method as described in claim <NUM>.

In accordance with another embodiment, the method provided comprises the steps of:.

By yet another embodiment, one or more of the identifying steps are based on information retrieved by using a Link Layer Discovery Protocol (LLDP).

According to still another embodiment, the step of identifying at least one of the plurality of white boxes as a node configured to act as an elements' controller, is carried out by a network orchestrator according the respective white box serial number.

In accordance with another embodiment, the step of identifying at least one of the plurality of white boxes as a node which is configured to act as a management switch, is carried out in accordance with a connectivity that exists between a respective white box and one or more adjacent white boxes acting as ECs, irrespective of whether the respective white box is connected directly or remotely to their adjacent ECs. Preferably, the identification is based on at least one connected port according to a connectivity matrix stored at an adjacent EC.

According to still another embodiment, the step of identifying at least one of the plurality of white boxes as a node which is configured to act as a fabric module is carried out by generating its identification according to its internal management connection to the management switch. Preferably, the identification is based at least one connected port according to a connectivity matrix stored at the management switch.

By yet another embodiment the step of identifying at least one of the plurality of white boxes as a node which is configured to act as a data path forwarder is carried out by generating an ID of the data path forwarder according to its internal management connection to the management switch.

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 that are known in the art per se. In addition, the described embodiments comprise different steps that are carried out, not all of which are required in all embodiments of the invention. The scope of the invention can be summarized by referring to the appended claims.

The present disclosure relates to a disaggregated routing system (e.g. a distributed cluster), which comprises a large number of network elements, where most (or all) of these network elements are white boxes. Using such a configuration enables on one hand to implement a very large system (i.e., a system having a large capacity) at a relatively low price and on the other hand, to easily expand the system by further adding new white boxes. Yet, one of the main disadvantages in implementing such a system is its complexity. In order for the network cloud to operate properly, the present disclosure proposes to identify each white box functionality and preferably together with its location within the network cloud.

The present disclosure describes a novel approach for identification of while boxes (nodes) included in a disaggregated routing system (e.g., a distributed cluster) wherein each of the white boxes is configured to carry out a certain functionality, such as controlling, for maintaining and operating a powerful network cloud, and by joining their functionalities, it is possible to carry out various networking functions such as routing and switching in the network cloud.

Let us begin by describing the general architecture of a network cloud (NC) and its fundamental building blocks.

The NC is relatively a new network architecture, built for extreme growth, rapid service innovation and economic profitability. Typically, it is comprised of three levels of disaggregation:.

The network cloud comprises the following software building blocks:.

Next, a Network Cloud Router (NCR) is formed by using various white boxes (hardware building blocks) that have the following functionalities:.

One of the challenges in implementing such a configuration is, how to enable accessing each one of HW building blocks, i.e., in order to operate the cluster properly, how to identify each of the HW building blocks in order to ensure that the desired network functionality is attained.

In the following example, a flow for cluster formation procedure is demonstrated, wherein each of the NC HW building blocks is identified as well as their inter-dependencies. The flow exemplified comprises the following main steps:.

As a general assumption, let us assume that an MS, as depicted in <FIG>, must be connected to a node element (DPF/FM), while an EC may be active without having a connection to an MS for pre provisioning purposes.

<FIG> illustrates a schematic view of a system construed in accordance with the present invention, comprising different white boxes operating as MS, EC, DPF or FM, operating system (OS) associated with the respective white boxes and respective services carried by these white boxes in accordance with their functionality.

<FIG> exemplifies a method construed in accordance with an embodiment of the present invention for carrying out the identification process of white boxes included in a disaggregated system.

First, the various white boxes operating as MS, EC, DPF or FM activate continuously a Link Layer Discovery Protocol (LLDP) at their connected control ports (step <NUM>).

Now, starting with the identification of the Elements' Controller (EC) (step <NUM>), in this example this identification is done via the network orchestrator according to the serial number of the white box(es) configured to act as an EC. Assuming that for high availability purposes it is decided that two white boxes comprised in the disaggregated system will be used as ECs, then ID <NUM> may be allocated (e.g., by default) to the preferred EC, while ID <NUM> will be allocated to the other EC. Preferably, IDs should not be changed on the fly but only during deployment and remain fixed thereafter.

Next, let us consider the step of identifying the Management Switch (MS) (step <NUM>). Its host/system name will be determined in accordance with its connectivity to its adjacent ECs. The EC may configure the MS through its shell prompt via REST-API, i.e., Representational State Transfer (REST), being a set of rules followed when creating the relevant APIs. MSs may be directly or remotely connected to their adjacent EC. The identification criteria are based on at least one connected port according to a connectivity matrix defined at the EC. Following is an example of a typical process flow:.

Next, the step of identifying the disaggregated system's (cluster) Fabric Module (FM) (step <NUM>) is carried out. The ID of the FM will be generated automatically and be allocated to the FM according to its internal management connection to the MS, by using a protocol such as the LLDP. An identification criterion may be at least one connected port according to the MS connectivity matrix. Other factors that may be considered while taking this decision such as for example potential collisions and differentiation between startup mode in which a new ID will not be allocated (only serial number information will be available) and operational mode.

The following example demonstrates an embodiment for the latter case:.

The last type of white boxes which needs to be identified is the Data Path Forwarder (DPF) type of node (step <NUM>). The ID of the PDF will be generated automatically according to its internal management connection to the MS while the identification will be carried out by using LLDP.

An identification criterion which may be used is the use of at least one connected port according to the MS connectivity matrix. Other factors that may be considered while taking this decision are for example potential collisions and differentiation between startup mode in which a new ID will not be allocated (only serial number information will be available) and operational mode. The following example demonstrates an embodiment for the latter case:.

Another important parameter that should preferably be taken into consideration is the number of ports that should be correctly connected in order to activate the DPF.

Now, the EC compares the retrieved data with data stored at the connectivity matrix, finds compatibility with the number of connected ports based on a pre-defined threshold, and allocates the DPF ID to that node.

Claim 1:
A disaggregated routing system for use in a communication network comprising a plurality of white boxes, wherein said disaggregated system is characterized in that four of said plurality of white boxes are each configured to carry out a functionality selected from among a group that consists of: a) data path forwarding -DPF- b) a fabric module -FM-c) elements' controller -EC- and d) management switching -MS-and wherein the selected functionality for each of said four white boxes is different from the functionalities selected for each of the other three white boxes from among said four white boxes, and wherein by joining the different functionalities of said four white boxes, networking functions are carried out in a network cloud, and wherein each of said four white boxes is provided with an identification based on its functionality, and wherein said identifications are derived based on information retrieved by using Link Layer Discovery Protocol.