System and method for automatic bandwidth management

Systems and methods for automatically managing the bandwidth requirements of application workloads may include learning the bandwidth requirements using historical data, predicting the required bandwidth for a time interval and provisions the services to deliver the appropriate bandwidth to the applications. Systems and methods for automatically managing the bandwidth requirements of application workloads may also include monitoring for the actual bandwidth requirements of the applications and adapt dynamically to changing requirements.

FIELD OF DISCLOSURE

This disclosure relates generally to packet optical communication networks and more specifically, but not exclusively, to bandwidth management in packet optical communication networks.

BACKGROUND

Flexible bandwidth and bandwidth calendaring are two emerging applications for data transport services but so far, the effort has been focused on provisioning of services, and this is typically done using a manual intervention. This leads to inefficient usage of network resources, and can also result in sub-optimal performance for the applications using the network.

Currently, much of the industry effort has been focused on provisioning of services that offer data transport services, but the management of bandwidth requirement still requires manual intervention, and does not change based on the exact set of applications using the service. This leads to inefficiencies in provisioning, typically manifesting in under provisioning or over-provisioning of bandwidth for services. With under-provisioning of bandwidth on a service line, traffic ends up being dropped and affecting the application traffic. Over-provisioning is often done for critical applications but this leads to inefficient use of available resources.

Accordingly, there is a need for systems, apparatus, and methods that improve upon conventional approaches including the improved methods, system and apparatus provided hereby.

SUMMARY

The following presents a simplified summary relating to one or more aspects and/or examples associated with the apparatus and methods disclosed herein. As such, the following summary should not be considered an extensive overview relating to all contemplated aspects and/or examples, nor should the following summary be regarded to identify key or critical elements relating to all contemplated aspects and/or examples or to delineate the scope associated with any particular aspect and/or example. Accordingly, the following summary has the sole purpose to present certain concepts relating to one or more aspects and/or examples relating to the apparatus and methods disclosed herein in a simplified form to precede the detailed description presented below.

In one aspect, a method includes: setting a first rate of data transport for each of a plurality of connections in a packet optical network, the packet optical network configured to transport data over the plurality of connections at the rate of data transport; monitoring a first amount of data being transported over the plurality of connections; computing, by a controller, a second rate of data transport for a Carrier Ethernet service based on the first amount of data being transported; setting the second rate of data transport for the Carrier Ethernet service; monitoring a second amount of data being transported over the plurality of connections; computing, by the controller, a third rate of data transport for the Carrier Ethernet service based on the second amount of data being transported; and setting the third rate of data transport for the Carrier Ethernet service.

In another aspect, an apparatus includes a first controller configured to: set a first rate of data transport for each of a plurality of connections in a packet optical network, the packet optical network configured to transport data over the plurality of connections at the rate of data transport; monitor a first amount of data being transported over the plurality of connections; compute a second rate of data transport for a Carrier Ethernet service based on the first amount of data being transported; set the second rate of data transport for the Carrier Ethernet service; monitor a second amount of data being transported over the plurality of connections; compute a third rate of data transport for the Carrier Ethernet service based on the second amount of data being transported; and set the third rate of data transport for the Carrier Ethernet service.

In still another aspect, a non-transient computer readable medium containing program instructions for causing a processor to perform a process that includes: setting a first rate of data transport for each of a plurality of connections in a packet optical network, the packet optical network configured to transport data over the plurality of connections at the rate of data transport; monitoring a first amount of data being transported over the plurality of connections; computing a second rate of data transport for a Carrier Ethernet service based on the first amount of data being transported; setting the second rate of data transport for the Carrier Ethernet service; monitoring a second amount of data being transported over the plurality of connections; computing a third rate of data transport for the Carrier Ethernet service based on the second amount of data being transported; and setting the third rate of data transport for the Carrier Ethernet service.

Other features and advantages associated with the apparatus and methods disclosed herein will be apparent to those skilled in the art based on the accompanying drawings and detailed description.

In accordance with common practice, the features depicted by the drawings may not be drawn to scale. Accordingly, the dimensions of the depicted features may be arbitrarily expanded or reduced for clarity. In accordance with common practice, some of the drawings are simplified for clarity. Thus, the drawings may not depict all components of a particular apparatus or method. Further, like reference numerals denote like features throughout the specification and figures.

DETAILED DESCRIPTION

The exemplary methods, apparatus, and systems disclosed herein advantageously address the industry needs, as well as other previously unidentified needs, and mitigate shortcomings of the conventional methods, apparatus, and systems. In some examples, the systems, methods, and apparatus herein determine the number of time slots to allocate for a network connection, monitor the time slot usage on that network connection, and re-allocate additional time slots (or reduce the allocated number) based on real time monitored usage of the time slots. For example, systems and methods for automatically managing the time slot requirements of application workloads may include learning the time slot requirements using historical data (e.g. a minute, an hour, a day, or a week of data), predicting the required time slots for a time interval and provisions the services to deliver the appropriate bandwidth to the applications. Systems and methods for automatically managing the time slot requirements of application workloads may also include monitoring for the actual time slot requirements of the applications and adapt dynamically to changing requirements (e.g. changes is service requirements, increased or decreased usage, network faults or outages, etc.).

FIG. 1Ais a diagram of exemplary components of node12. As shown inFIG. 1A, node12may include a controller10configurable to control the operation of the node12including connection admission (e.g. a software defined networking controller capable of connection admission control), line cards or modules21-1,21-2, . . . ,21-Y (referred to collectively as “line modules21,” and individually as “line module21”) (where Y>=1) connected to switching planes22-1,22-2, . . .22-Z (referred to collectively as “switching planes22,” and individually as “switching plane22”) (where Z≧1). WhileFIG. 1Ashows a particular number and arrangement of components, node12may include additional, fewer, different, or differently arranged components than those illustrated inFIG. 1A. Also, it may be possible for one of the components of node12to perform a function that is described as being performed by another one of the components. Node12may configured as a TDM capable optical switch, a router, a reconfigurable optical add/drop multiplexer (ROADM) such as Infinera's DTN-X packet optical transport capable switch, Infinera's EMXP packet-optical transport switch, or similar device configurable to provide Carrier Ethernet services. Node12may also be referred to as a device, such as a first device, a second device etc.

Line module21may include hardware components such as one or more ports7-1,7-2, . . . ,7-Y, or a combination of hardware and software components, that may provide network interface operations. Line module21may receive a multi-wavelength optical signal6and/or transmit a multi-wavelength optical signal6at the ports7. A multi-wavelength optical signal6may include a number of optical signals of different optical wavelengths. In one implementation, line module21may perform retiming, reshaping, regeneration, time division multiplexing, and/or recoding services for each optical wavelength signal6.

Switching plane22may include hardware components, or a combination of hardware and software components, that may provide switching functions to transfer data between line modules21. In one implementation, switching plane22may provide fully non-blocking transfer of data. As to be explained below, switching plane22may be programmed to transfer data from a particular input port6to a particular output port6.

As shown inFIG. 1A, each of line modules21may connect to each of switching planes22with a plurality of connections8. The connections8between line modules21and switching planes22may be bidirectional. While a single connection8is shown between a particular line module21and a particular switching plane22, the connection8may include a pair of unidirectional connections (i.e., one in each direction). A connection8from a line module21to a switching plane22will be referred to herein as an “ingress switch link,” and a connection8from a switching plane22to a line module21will be referred to as an “egress switch link.”

FIG. 1Bis a diagram of exemplary components of a line module21. As shown inFIG. 1B, line module21may include a receiver (RX) photonic integrated circuit (PIC)31(e.g. a port7-1), a transmitter (TX) PIC32(e.g. a port7-2), and fabric managers (FMs)33-1,33-2, . . . ,33-X (referred to collectively as “FMs33,” and individually as “FM33”) (where X>=1). WhileFIG. 1Bshows a particular number and arrangement of components, line module21may include additional, fewer, different, or differently arranged components than those illustrated inFIG. 1B. Also, it may be possible for one of the components of line module21to perform a function that is described as being performed by another one of the components.

Receiver PIC31may include hardware, or a combination of hardware and software, that may receive a multi-wavelength optical signal6, separate the multi-wavelength signal6into signals of individual wavelengths, and convert the signals6to electrical (i.e. digital or analog) signals11. In one implementation, receiver PIC31may include components, such as a photodetector1, a demultiplexer2, and/or an optical-to-electrical converter3. Transmitter PIC32may include hardware, or a combination of hardware and software, that may convert signals11from digital form into a multi-wavelength optical signal6, and transmit the multi-wavelength signal6. In one implementation, transmitter PIC32may include components, such as an electrical-to-optical converter4, a multiplexer5, and/or a laser9. As shown inFIG. 1B, receiver PIC31and transmitter PIC32may connect to each of FMs33. Receiver PIC31may transfer signals11to FMs33. Transmitter PIC32may receive signals11from FMs33.

FM33may include hardware, or a combination of hardware and software, that may process digital signals11for transmission to switching plane22or transmitter PIC32. In one implementation, FM33may receive a stream of signals11from receiver PIC31and divide the stream into time slots13. In one implementation, each time slot13may include the same quantity of bytes (e.g., each time slot13may contain an equal amount of bandwidth). In another implementation, each time slot13may not include the same quantity of bytes (e.g., at least one time slot may contain a different amount of bandwidth). As can be seen inFIG. 1B, some time slots13are used (i.e. include a data payload in bits) and are shown with diagonal hash marks and others are not hashed indicating that they do not contain a payload or only default place holder bits. The stream of signals11received by FM33may, in one implementation, already be segmented into time slots13, for example when the multi-wavelength optical signal6is received already divided into time slots13. In this situation, when dividing the signals11into time slots13, FM33may identify the time slots13based on, for examples, identifiers in the signals11.

In one implementation, the quantity of time slots13may equal the quantity of switches available in switching planes22. Assume, for example, that there are sixteen switches available in switching planes22. In this case, FM33may divide the signals11into sixteen equal time slots13. FM33may send each of the time slots13to a different one of the switches. In one implementation, FM33may sequentially send each of the time slots13in a round robin fashion. In another implementation, FM33may send out each of the time slots13in another systematic fashion.

FIG. 1Cis a diagram of exemplary components of a switching plane22. As shown inFIG. 1C, switching plane22may include switches61-1, . . . ,61-W (referred to collectively as “switches61,” and individually as “switch61”) (where W≧1). WhileFIG. 1Cshows a particular number and arrangement of components, switching plane22may include additional, fewer, different, or differently arranged components than those illustrated inFIG. 1C. Also, it may be possible for one of the components of switching plane22to perform a function that is described as being performed by another one of the components.

Switch61may include hardware, or a combination of hardware and software, that may transfer a received time slot13on an ingress switch link14to a time slot13on an egress switch link15, where the time slot13on the ingress switch link14may differ from the time slot13on the egress switch link15. Switch61may include a set of ingress switch links14via which time slots13are received, and a set of egress switch links15via which time slots13are transmitted. Each ingress switch link14and egress switch link15may connect to a particular FM33.

Switch61may include a configuration database65. Configuration database65may store mapping information that instructs switch61on which egress switch link15and in what time slot13to send a block of data received within a particular time slot13on a particular ingress switch link14along with information on what port7to use. The mapping information may be programmed by an operator of node12on a per node12basis, and may remain fixed until changed by the operator. Alternatively, the mapping information may be programmed under the control of a network-level routing and signaling algorithm, and may remain fixed until changed by the algorithm. In one implementation, each of switches61may store identical mapping information. In other words, each of switches61may be programmed to map time slot A on its ingress switch link B to time slot C on its egress switch link D.

In one implementation, configuration database65may store the mapping information in the form of a table, such as provided below.

This information may identify an ingress switch link14and ingress time slot13(e.g., a time slot13on the ingress switch link14) for each egress switch link15and egress time slot13(e.g., a time slot13on the egress switch link15). As shown, for example, the mapping information may map time slot #10 on ingress switch link #1 to time slot #14 on egress switch link #8.

FIG. 1Dillustrates an exemplary network configuration of the nodes inFIG. 1Ain accordance with some examples of the disclosure. As shown inFIG. 1D, an optical network16may include a plurality of nodes12interconnected by a plurality of connections17. Each of the plurality of connections17may be configured to transport a plurality of multi-wavelength optical signals6having a plurality of time slots13or in another format. Each of the plurality of connections17may be, for example, a unidirectional or bi-direction medium such as an optical fiber capable of transporting an optical signal6or an electrical signal11. The following examples describe apparatus and methods for use in conjunction with node12.

The exemplary TDM capable node12described above may be used in conjunction with any of the following methods, apparatus, or systems described below to provide data transport services in Carrier Ethernet, for example. A Carrier Ethernet service is defined as a data communication service based on Carrier Ethernet which is delivered to a Carrier Ethernet Subscriber by a Carrier Ethernet Service Provider. Based on the goals of the 5 Carrier Ethernet attributes and the specifications developed by the Metro Ethernet Forum (MEF), Carrier Ethernet: delivers Ethernet frames between different locations in any part of the world at speeds between 1 Mbps and 100 Gbps, differentiates between traffic of multiple end-users running over a single network, runs over multiple types of infrastructure and transport technologies, and coexists with existing Layer 2 and Layer 3 solutions while taking advantage of the huge worldwide Ethernet installed base.

MEF-defined Carrier Ethernet (CE) services—E-Line, E-LAN, E-Tree and E-Access—are what users of Carrier Ethernet ‘consume’ and therefore are the most recognizable aspect of Carrier Ethernet and the work of the MEF. Carrier Ethernet services are defined in the MEF service definition specifications MEF 6.2, MEF 51, and MEF 33.

FIGS. 2A-Cillustrate three Ethernet Virtual Connection (EVC) based service types (i.e. User Network Interface (UNI)-to-UNI) that describe the basic connectivity options of a Carrier Ethernet subscriber service in accordance with some examples of the disclosure.FIG. 2Aillustrates an E-LINE configuration400that may provide a point210(UNI such as node12) to point220(UNI such as node12) connectivity over a connection17. An E-LINE is a point-to-point Ethernet service that connects exactly 2 UNIs. Those 2 UNIs can communicate only with each other. E-LINES may be used to create Ethernet Private Lines, Ethernet Virtual Private Lines, and Ethernet Internet access. For example, E-LINES may be used to replace TDM private lines.

FIG. 2Billustrates an E-LAN configuration410that may provide a point230(UNI such as node12) to many points240-270(UNIs such as nodes12) connectivity over a plurality of connections17. E-LAN services may be appropriate when all UNIs can generate traffic towards any other UNI and all UNIs belong to the same administrative domain—in other words when traffic separation between different organizations sharing the service is not required. An E-LAN is a multipoint-to-multipoint service that connects a number of UNIs (2 or more) providing full mesh connectivity for those sites. Each UNI can communicate with any other UNI that is connected to that Ethernet service. E-LANs may be used to create Multipoint L2 VPNs, Transparent LAN services, Layer 2 VPNs, and a foundation for IPTV and Multicast networks.

FIG. 2Cillustrates an E-Tree configuration420that may provide a point280(UNI such as node12) to many points281-283(UNIs such as nodes12) connectivity over a plurality of connections17. E-Tree services may be appropriate when the service source is located at just one UNI, or a small number of UNIs, each of which is designated a root UNI (point280). The end-users of the service are typically client organizations that require that their respective traffic will not be visible to other clients of the service. An E-Tree is a rooted multipoint service that connects a number of UNIs providing sites with hub and spoke multipoint connectivity. Each UNI is designated as either root (point280) or leaf (points281-283). A root UNI can communicate with any leaf UNI, while a leaf UNI can communicate only with a root UNI. E-Trees provide the separation between UNIs required to deliver a single service instance in which different customers (each having a leaf UNI) connect to an ISP which has one or more root UNIs. Having more than one root UNI is useful for load sharing and resiliency schemes. E-Trees may be used to create Multicast delivery services, Internet access, Mobile backhaul services, and Telemetry services. In E-Lines and E-LANs, all UNIs are designated as a root UNI. In E-Tree, UNIs are designated either as root UNIs or as leaf UNIs. Root UNIs are used to source traffic that can be directed to any other UNI in the E-Tree. Those UNIs should be only able to see traffic that it originates in one of the root UNIs in the E-Tree that are designated as leaf UNIs. For example in an E-Tree used to provide access for multiple organizations to a single ISP, the ISP POP will sit at the root UNI, whereas each organization accessing the ISP sits at a leaf UNI so that it is unable to see traffic to and from other ISP clients. Multiple root UNIs are permitted in E-Trees in order to support mirror sites (resiliency) and load sharing configurations.

In a flexible bandwidth application, the requirement is to be able to adjust service bandwidth based on customer requests, and in the bandwidth calendaring application, the network operator specifies bandwidth limits on the service based on date and time. For example, the services could be defined to provide more bandwidth when utilization is low such as off-hours (flexible bandwidth). In another use-case, the services could be provisioned to be used at scheduled intervals (bandwidth calendaring). Herein bandwidth and time slot may be used interchangeably and a rate of data transport is a rate at which data is transported or to be transported in a network16—the number of time slots13out of the total available time slots13on a connection17in the network16. Thus, setting a rate of data transport for a Carrier Ethernet service means allocating a number of time slots13(unused time slots) out of the available time slots13(used and unused time slots13on a connection17) for use by the Carrier Ethernet service to transport data in the network16where the rate is a ratio of allocated time slots (time slots allocated for use by the Carrier Ethernet service) to total number of available time slots on a connection (available time slots are both the used and unused time slots).

FIG. 3illustrates an exemplary data transport service between two end points510and520with video traffic in accordance with some examples of the disclosure. While this example discloses only discloses two end points510and520, it should be understood that it may include more (E-Line, E-Tree, or E-Lan configuration). As shown inFIG. 3, an optical communication network500may include a first client device510(e.g. node12or similar) connected to a second client device520(e.g. node12or similar) through the network500over a plurality of connections517(e.g. connections17). The network500may include a first network device530(e.g. node12or similar) connected to the first client device510in an E-LINE configuration over a connection517. While the description describes an E-LINE configuration, it should be understood that the configuration used may also be a E-TREE configuration, E-LAN configuration, and to provision bandwidth for any type of Virtual Private Network (VPN) services such as Virtual Private Wire Service (VPWS), Virtual Private LAN Service (VPLS), and Ethernet VPN (EVPN). The first network device530is interconnected to a second network device540(e.g. node12or similar) and a third network device550(e.g. node12or similar) over connections517. The network500may be used to provide automatic time slot management including: (1) learning time slot requirements based on application workloads, (2) prediction of time slot requirement based on the workload history, (3) provisioning and management of services based on predicted time slot demand, and (4) monitoring and adapting to changes in application workloads. Learning time slot requirements based on application workloads.

As shown inFIG. 3, three network devices530-550may be provisioned with an E-LINE service between two client devices510and520. While three network devices530-550are shown, it should be understood that more or less devices may be used. The provisioned service is responsible for carrying video (or data) traffic between two sites, and the video application would necessarily have varying time slot requirements. Once the operator (or the paying customer) decides the maximum amount of time slot that the application would requirement, one exemplary method described below may be used to automatically provision the E-LINE service with the appropriate time slot carrying capacity. First, the network500(e.g. a centralized controller or any of network devices530-550may automatically learn the time slot13demand in the network500. On every network device530-550or at least one, the traffic history is monitored to learn the time slot13demand on a per-port basis, such as an egress destination port507-1(e.g. port7-1), a ingress source port507-2(e.g. port7-2), and a ingress source port507-3(e.g. port7-Y). Also illustrated inFIG. 3is a plurality of time slots13(i.e. a traffic stream) with some time slots being used, such as with an Application/Flow-ID513-A, or a Timestamp513-B and others unused (time slots513-U). To learn the application demand, one exemplary method involves monitoring the following parameters:Application/Flow-ID513-A—This is an identifier for a traffic stream. We assume Application/Flow-ID can be used to identify the type of service/traffic (e.g.: video stream, chat, analytics, etc.) using a lookup table the target environment may provide.Ingress/Source port507-3—The port (physical or logical) through which the traffic enters the third network device550from the second client device520.Ingress/Source port507-2—The port (physical or logical) through which the traffic leaves the third network device550.Egress/Destination port507-1—The port (physical or logical) through which the traffic enters the first network device530from the network500.Provisioned time slot13—This is the provisioned demand for time slot13for the given traffic stream.Timestamp513-B—A discrete value of time for which the traffic parameters are measured.

From historical data of the above grouped parameters, the rate of change C of utilized time slot13with respect to the provisioned time slot13per port per flow may be learned over a period of time as under:
C(t)=d(Bw)/dt(Equation 1)where Bw (t)=Ft(flow data rate, provisioned time slot13, total utilized time slot13)

The period of time of the historical data may vary depending on numerous factors. For example, the length of historical data used may be a function of network scale, and how soon the system converges to an acceptable forecast. If, for instance, there is a weekly pattern to the setup and use of time slot13services such as backup of data every week, the system may be configured to monitor the data for a month to decipher some acceptable pattern.

Flow data rate is computed using the difference in received and transmitted packets across a flow over time. Total utilized time slot13—This is the actual demand for time slot13for the given traffic stream aggregated over all the flows based on the ingress/egress port combination:
Total Utilized Time slot 13=Σk=0nflow data rate(k),  (Equation 2)k being the flow ID

Prediction of time slot13requirement based on the workload history may use linear or non-linear regression analysis based on progression characteristics on the variable C(t) as described above. This may allow any of the network devices530-550to derive the correlation function Ft binding utilized time slot13with provisioned time slot13over a period of time:
Fte≈R(C(t))  (Equation 3)where R is the regression function, and e is the coefficient of error

This correlation function may enable the network devices530-550to predict/forecast the value of C(t) for a point (or range) of time in the future. The value of e may be minimized by using a sufficiently large historical dataset to train the regression model. For example:(1) Let t0 be the start of sampling period of historical data and tmax be the end.(2) This enables predicting the value of Fte for the time period t0′ to tmax′.(3) For k=1 through n//Overall Flow IDs(A) For t=[t0′ to tmax′.](i) Bw(k)=COMPUTE(Fte, k)//Using Equation (3).(ii) If emin<e<emax//emin and emax may be user defined thresholds of error(a) Go to Step 4.(iii) Else Go to Step 3.A.i and refine the time slot13(4) Compute (total utilized time slot13) using Equation (2) and Bw(k) for all flows k.

Any of network devices530-550or a centralized controller (not shown) may provision and manage services based on predicted time slot13demand. The actual provisioning of services with appropriately predicted time slot13depends on the individual network device implementation (i.e. provisioning by a router may differ from a ROADM, for example). For instance, this could be accomplished with the help of a Software Defined Network (SDN) controller (e.g a centralized controller) that configures and manages a traditional E-LINE configuration on network devices such as routers. One example may use the REST APIs published by the Infinera Service Mediator to provision appropriate VPN services on the managed devices. Another implementation may use the Infinera OTS framework for provisioning the time slot13services. In order to prevent a repetitive re-provisioning of the time slot13and prevent transient traffic losses, the following guidelines may be used by the network devices or SDN controller.Ensure make before break approach in provisioning time slot13.Overprovision time slot13by a small factor (may be user or operator defined) to accommodate for errors in predicted values.Quickly normalize the time slot13to optimum levels using hysteresis. In other words, do not let the predicted time slot13fluctuate a great deal within a short amount of time.

Any of network devices530-550or a centralized controller (e.g. controller10) may monitor and adapt to changes in application workloads using the regression model to auto-tune itself. Once this application is “plugged-in” to a live network environment, a feedback loop of parameters mentioned previously will be continuously compared against the predicted value for that point of time. If the difference between the actual and predicted values exceed a threshold (which may be derived empirically from historical data), the correlation function Fte will be recomputed. Thus, the regression model will account for any change in the network characteristic related to time slot13and enable optimal time slot13utilization. Since the process may be configured to run on an independent compute environment, brute force statistical/machine learning methodologies may be applied without affecting network performance.

FIG. 4illustrates time slot13prediction based on work load history in accordance with some examples of the disclosure. As shown inFIG. 4, flow rate and time slot13are depicted for sample data600depicting the rate of change of time slot13. The flow data rate610, the provisioned bandwidth620, the predicted total utilized bandwidth630, the total utilized bandwidth640, and the predicted flow bandwidth650are shown fluctuating over time.

The systems and methods described herein for automated time slot13management of application workloads may lead to (a) better utilization of resources in the network leading to lower CAPEX/OPEX, (b) adapt dynamically to changing application requirements and therefore, improve the application response times, (c) simplify the service management by eliminating the need for manual management of time slot13services, and (d) automatically identify and flag anomalous traffic patterns that could ultimately help in quickly identifying and responding to security and failure scenarios. Also, other learning algorithms may be adapted and used in addition to the processes disclosed herein.

The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any details described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other examples. Likewise, the term “examples” does not require that all examples include the discussed feature, advantage or mode of operation. Use of the terms “in one example,” “an example,” “in one feature,” and/or “a feature” in this specification does not necessarily refer to the same feature and/or example. Furthermore, a particular feature and/or structure can be combined with one or more other features and/or structures. Moreover, at least a portion of the apparatus described hereby can be configured to perform at least a portion of a method described hereby.

It should be noted that the terms “connected,” “coupled,” or any variant thereof, mean any connection or coupling, either direct or indirect, between elements, and can encompass a presence of an intermediate element between two elements that are “connected” or “coupled” together via the intermediate element.

Any reference herein to an element using a designation such as “first,” “second,” and so forth does not limit the quantity and/or order of those elements. Rather, these designations are used as a convenient method of distinguishing between two or more elements and/or instances of an element. Thus, a reference to first and second elements does not mean that only two elements can be employed, or that the first element must necessarily precede the second element. Also, unless stated otherwise, a set of elements can comprise one or more elements.

Nothing stated or illustrated depicted in this application is intended to dedicate any component, step, feature, benefit, advantage, or equivalent to the public, regardless of whether the component, step, feature, benefit, advantage, or the equivalent is recited in the claims.

Although some aspects have been described in connection with a device, it goes without saying that these aspects also constitute a description of the corresponding method, and so a block or a component of a device should also be understood as a corresponding method step or as a feature of a method step. Analogously thereto, aspects described in connection with or as a method step also constitute a description of a corresponding block or detail or feature of a corresponding device. Some or all of the method steps can be performed by a hardware apparatus (or using a hardware apparatus), such as, for example, a microprocessor, a programmable computer or an electronic circuit. In some examples, some or a plurality of the most important method steps can be performed by such an apparatus.

In the detailed description above it can be seen that different features are grouped together in examples. This manner of disclosure should not be understood as an intention that the claimed examples require more features than are explicitly mentioned in the respective claim. Rather, the situation is such that inventive content may reside in fewer than all features of an individual example disclosed. Therefore, the following claims should hereby be deemed to be incorporated in the description, wherein each claim by itself can stand as a separate example. Although each claim by itself can stand as a separate example, it should be noted that—although a dependent claim can refer in the claims to a specific combination with one or a plurality of claims—other examples can also encompass or include a combination of said dependent claim with the subject matter of any other dependent claim or a combination of any feature with other dependent and independent claims. Such combinations are proposed herein, unless it is explicitly expressed that a specific combination is not intended. Furthermore, it is also intended that features of a claim can be included in any other independent claim, even if said claim is not directly dependent on the independent claim.

It should furthermore be noted that methods disclosed in the description or in the claims can be implemented by a device comprising means for performing the respective steps or actions of this method.

Furthermore, in some examples, an individual step/action can be subdivided into a plurality of sub-steps or contain a plurality of sub-steps. Such sub-steps can be contained in the disclosure of the individual step and be part of the disclosure of the individual step.

While the foregoing disclosure shows illustrative examples of the disclosure, it should be noted that various changes and modifications could be made herein without departing from the scope of the disclosure as defined by the appended claims. The functions, steps and/or actions of the method claims in accordance with the examples of the disclosure described herein need not be performed in any particular order. Additionally, well-known elements will not be described in detail or may be omitted so as to not obscure the relevant details of the aspects and examples disclosed herein. Furthermore, although elements of the disclosure may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.