Various example embodiments of a flexible ethernet group recovery capability are presented. The flexible ethernet group recovery capability may be provided as a Flex Ethernet (FlexE) group recovery capability. The FlexE group recovery capability may be configured to support automatic recovery of a FlexE group. The FlexE group recovery capability may be configured to support automatic recovery of a FlexE group composed of a set of members (e.g., a set of physical links, a set of logical links, or the like) in response to a condition associated with one or more of the members of the FlexE group. The FlexE group recovery capability may be configured to support automatic recovery of a FlexE group based on functions performed by the FlexE shims supporting the FlexE group.
Legal claims defining the scope of protection, as filed with the USPTO.
20 -. (canceled)
at least one processor; and detecting, at a node configured to support a flexible ethernet group having a set of members, a condition associated with the flexible ethernet group; reconfiguring, at the node based on the condition, the flexible ethernet group to provide a modified membership of the flexible ethernet group at the node; and sending, by the node toward a remote node, an indication of the modified membership of the flexible ethernet group at the node. at least one memory storing instructions which, when executed by the at least one processor, cause the apparatus at least to perform: . An apparatus, comprising:
claim 21 . The apparatus of, wherein the set of members includes a set of physical interfaces or a set of logical instances defined for a set of physical interfaces.
claim 21 modifying the set of members of the flexible ethernet group, based on at least one of removal of at least one existing member from the set of members or addition of at least one new member to the set of members, to provide the modified membership of the flexible ethernet group at the node. . The apparatus of, wherein reconfiguring the flexible ethernet group comprises:
claim 21 . The apparatus of, wherein the reconfiguring of the flexible ethernet group to provide the modified membership of the flexible ethernet group at the node is performed by a flexible ethernet shim supporting the flexible ethernet group.
claim 21 . The apparatus of, wherein the condition comprises a reception failure associated with at least one of the members of the set of members of the flexible ethernet group.
claim 25 sending, by the node toward the remote node, an indication of the reception failure. . The apparatus of, wherein the instructions, when executed by the at least one processor, cause the apparatus at least to perform:
claim 25 receiving, at the node from the remote node, an indication of a membership of the flexible ethernet group at the remote node; and restoring service for the flexible ethernet group at the node based on a determination that the modified membership of the flexible ethernet group at the node and the membership of the flexible ethernet group at the remote node match. . The apparatus of, wherein the instructions, when executed by the at least one processor, cause the apparatus at least to perform:
claim 21 . The apparatus of, wherein the condition comprises a remote failure indication for at least one of the members of the flexible ethernet group.
claim 28 receiving, at the node from the remote node associated with the flexible ethernet group, an indication of the remote failure indication. . The apparatus of, wherein the instructions, when executed by the at least one processor, cause the apparatus at least to perform:
claim 28 receiving, at the node from the remote node, an indication of a membership of the flexible ethernet group at the remote node; and restoring service for the flexible ethernet group at the node based on a determination that the modified membership of the flexible ethernet group at the node and the membership of the flexible ethernet group at the remote node match. . The apparatus of, wherein the instructions, when executed by the at least one processor, cause the apparatus at least to perform:
claim 21 modifying a group overhead of the flexible ethernet group to provide a new group overhead for the flexible ethernet group. . The apparatus of, wherein reconfiguring the flexible ethernet group comprises:
claim 31 supporting, at the node, a set of flexible ethernet clients based on a mapping of the set of flexible ethernet clients to the flexible ethernet group. . The apparatus of, wherein the instructions, when executed by the at least one processor, cause the apparatus at least to perform:
claim 32 modifying, at the node, the mapping of the set of flexible ethernet clients to the flexible ethernet group. . The apparatus of, wherein the instructions, when executed by the at least one processor, cause the apparatus at least to perform:
claim 33 reducing, for at least one of the flexible ethernet clients, a respective rate of the at least one of the flexible ethernet clients. . The apparatus of, wherein modifying the mapping of the set of flexible ethernet clients to the flexible ethernet group comprises:
claim 33 removing, from the set of flexible ethernet clients, at least one of the flexible ethernet clients. . The apparatus of, wherein modifying the mapping of the set of flexible ethernet clients to the flexible ethernet group comprises:
claim 33 . The apparatus of, wherein the mapping of the set of flexible ethernet clients to the flexible ethernet group is modified based on an available bandwidth of the flexible ethernet group after the flexible ethernet group is reconfigured.
claim 33 . The apparatus of, wherein the mapping of the set of flexible ethernet clients to the flexible ethernet group is modified based on a prioritization mechanism configured to select at least one of the flexible ethernet clients for which a modification operation is to be performed.
claim 21 . The apparatus of, wherein the flexible ethernet group comprises a Flex Ethernet (FlexE) group.
detecting, at a node configured to support a flexible ethernet group having a set of members, a condition associated with the flexible ethernet group; reconfiguring, at the node based on the condition, the flexible ethernet group to provide a modified membership of the flexible ethernet group at the node; and sending, by the node toward a remote node, an indication of the modified membership of the flexible ethernet group at the node. . A computer-readable storage medium storing computer program instructions which, when executed by an apparatus, cause the apparatus at least to perform:
detecting, at a node configured to support a flexible ethernet group having a set of members, a condition associated with the flexible ethernet group; reconfiguring, at the node based on the condition, the flexible ethernet group to provide a modified membership of the flexible ethernet group at the node; and sending, by the node toward a remote node, an indication of the modified membership of the flexible ethernet group at the node. . A method, comprising:
Complete technical specification and implementation details from the patent document.
Various example embodiments relate generally to communication systems and, more particularly but not exclusively, to supporting communications based on Flex Ethernet (FlexE).
Various communications technologies may be used to support communications in various types of communication systems.
In at least some example embodiments, an apparatus includes at least one processor and at least one memory storing instructions which, when executed by the at least one processor, cause the apparatus at least to perform detecting, at a node configured to support a flexible ethernet group having a set of members, a condition associated with the flexible ethernet group, reconfiguring, at the node based on the condition, the flexible ethernet group to provide a modified membership of the flexible ethernet group at the node, and sending, by the node toward a remote node, an indication of the modified membership of the flexible ethernet group at the node. In at least some example embodiments, the set of members includes a set of physical interfaces or a set of logical instances defined for a set of physical interfaces. In at least some example embodiments, reconfiguring the flexible ethernet group comprises modifying the set of members of the flexible ethernet group, based on at least one of removal of at least one existing member from the set of members or addition of at least one new member to the set of members, to provide the modified membership of the flexible ethernet group at the node. In at least some example embodiments, the reconfiguring of the flexible ethernet group to provide the modified membership of the flexible ethernet group at the node is performed by a flexible ethernet shim supporting the flexible ethernet group. In at least some example embodiments, the condition includes a reception failure associated with at least one of the members of the set of members of the flexible ethernet group. In at least some example embodiments, the instructions, when executed by the at least one processor, cause the apparatus at least to perform sending, by the node toward the remote node, an indication of the reception failure. In at least some example embodiments, the instructions, when executed by the at least one processor, cause the apparatus at least to perform receiving, at the node from the remote node, an indication of a membership of the flexible ethernet group at the remote node and restoring service for the flexible ethernet group at the node based on a determination that the modified membership of the flexible ethernet group at the node and the membership of the flexible ethernet group at the remote node match. In at least some example embodiments, the condition includes a remote failure indication for at least one of the members of the flexible ethernet group. In at least some example embodiments, the instructions, when executed by the at least one processor, cause the apparatus at least to perform receiving, at the node from the remote node associated with the flexible ethernet group, an indication of the remote failure indication. In at least some example embodiments, the instructions, when executed by the at least one processor, cause the apparatus at least to perform receiving, at the node from the remote node, an indication of a membership of the flexible ethernet group at the remote node and restoring service for the flexible ethernet group at the node based on a determination that the modified membership of the flexible ethernet group at the node and the membership of the flexible ethernet group at the remote node match. In at least some example embodiments, reconfiguring the flexible ethernet group includes modifying a group overhead of the flexible ethernet group to provide a new group overhead for the flexible ethernet group. In at least some example embodiments, the instructions, when executed by the at least one processor, cause the apparatus at least to perform supporting, at the node, a set of flexible ethernet clients based on a mapping of the set of flexible ethernet clients to the flexible ethernet group. In at least some example embodiments, the instructions, when executed by the at least one processor, cause the apparatus at least to perform modifying, at the node, the mapping of the set of flexible ethernet clients to the flexible ethernet group. In at least some example embodiments, modifying the mapping of the set of flexible ethernet clients to the flexible ethernet group includes reducing, for at least one of the flexible ethernet clients, a respective rate of the at least one of the flexible ethernet clients. In at least some example embodiments, modifying the mapping of the set of flexible ethernet clients to the flexible ethernet group includes removing, from the set of flexible ethernet clients, at least one of the flexible ethernet clients. In at least some example embodiments, the mapping of the set of flexible ethernet clients to the flexible ethernet group is modified based on an available bandwidth of the flexible ethernet group after the flexible ethernet group is reconfigured. In at least some example embodiments, the mapping of the set of flexible ethernet clients to the flexible ethernet group is modified based on a prioritization mechanism configured to select at least one of the flexible ethernet clients for which a modification operation is to be performed. In at least some example embodiments, the flexible ethernet group includes a Flex Ethernet (FlexE) group.
In at least some example embodiments, a computer readable medium stores computer program instructions which, when executed by an apparatus, cause the apparatus at least to perform detecting, at a node configured to support a flexible ethernet group having a set of members, a condition associated with the flexible ethernet group, reconfiguring, at the node based on the condition, the flexible ethernet group to provide a modified membership of the flexible ethernet group at the node, and sending, by the node toward a remote node, an indication of the modified membership of the flexible ethernet group at the node. In at least some example embodiments, the set of members includes a set of physical interfaces or a set of logical instances defined for a set of physical interfaces. In at least some example embodiments, reconfiguring the flexible ethernet group comprises modifying the set of members of the flexible ethernet group, based on at least one of removal of at least one existing member from the set of members or addition of at least one new member to the set of members, to provide the modified membership of the flexible ethernet group at the node. In at least some example embodiments, the reconfiguring of the flexible ethernet group to provide the modified membership of the flexible ethernet group at the node is performed by a flexible ethernet shim supporting the flexible ethernet group. In at least some example embodiments, the condition includes a reception failure associated with at least one of the members of the set of members of the flexible ethernet group. In at least some example embodiments, the computer program instructions, when executed by the apparatus, cause the apparatus at least to perform sending, by the node toward the remote node, an indication of the reception failure. In at least some example embodiments, the computer program instructions, when executed by the apparatus, cause the apparatus at least to perform receiving, at the node from the remote node, an indication of a membership of the flexible ethernet group at the remote node and restoring service for the flexible ethernet group at the node based on a determination that the modified membership of the flexible ethernet group at the node and the membership of the flexible ethernet group at the remote node match. In at least some example embodiments, the condition includes a remote failure indication for at least one of the members of the flexible ethernet group. In at least some example embodiments, the computer program instructions, when executed by the apparatus, cause the apparatus at least to perform receiving, at the node from the remote node associated with the flexible ethernet group, an indication of the remote failure indication. In at least some example embodiments, the computer program instructions, when executed by the apparatus, cause the apparatus at least to perform receiving, at the node from the remote node, an indication of a membership of the flexible ethernet group at the remote node and restoring service for the flexible ethernet group at the node based on a determination that the modified membership of the flexible ethernet group at the node and the membership of the flexible ethernet group at the remote node match. In at least some example embodiments, reconfiguring the flexible ethernet group includes modifying a group overhead of the flexible ethernet group to provide a new group overhead for the flexible ethernet group. In at least some example embodiments, the computer program instructions, when executed by the apparatus, cause the apparatus at least to perform supporting, at the node, a set of flexible ethernet clients based on a mapping of the set of flexible ethernet clients to the flexible ethernet group. In at least some example embodiments, the computer program instructions, when executed by the apparatus, cause the apparatus at least to perform modifying, at the node, the mapping of the set of flexible ethernet clients to the flexible ethernet group. In at least some example embodiments, modifying the mapping of the set of flexible ethernet clients to the flexible ethernet group includes reducing, for at least one of the flexible ethernet clients, a respective rate of the at least one of the flexible ethernet clients. In at least some example embodiments, modifying the mapping of the set of flexible ethernet clients to the flexible ethernet group includes removing, from the set of flexible ethernet clients, at least one of the flexible ethernet clients. In at least some example embodiments, the mapping of the set of flexible ethernet clients to the flexible ethernet group is modified based on an available bandwidth of the flexible ethernet group after the flexible ethernet group is reconfigured. In at least some example embodiments, the mapping of the set of flexible ethernet clients to the flexible ethernet group is modified based on a prioritization mechanism configured to select at least one of the flexible ethernet clients for which a modification operation is to be performed. In at least some example embodiments, the flexible ethernet group includes a Flex Ethernet (FlexE) group.
In at least some example embodiments, a method includes detecting, at a node configured to support a flexible ethernet group having a set of members, a condition associated with the flexible ethernet group, reconfiguring, at the node based on the condition, the flexible ethernet group to provide a modified membership of the flexible ethernet group at the node, and sending, by the node toward a remote node, an indication of the modified membership of the flexible ethernet group at the node. In at least some example embodiments, the set of members includes a set of physical interfaces or a set of logical instances defined for a set of physical interfaces. In at least some example embodiments, reconfiguring the flexible ethernet group comprises modifying the set of members of the flexible ethernet group, based on at least one of removal of at least one existing member from the set of members or addition of at least one new member to the set of members, to provide the modified membership of the flexible ethernet group at the node. In at least some example embodiments, the reconfiguring of the flexible ethernet group to provide the modified membership of the flexible ethernet group at the node is performed by a flexible ethernet shim supporting the flexible ethernet group. In at least some example embodiments, the condition includes a reception failure associated with at least one of the members of the set of members of the flexible ethernet group. In at least some example embodiments, the method includes sending, by the node toward the remote node, an indication of the reception failure. In at least some example embodiments, the method includes receiving, at the node from the remote node, an indication of a membership of the flexible ethernet group at the remote node and restoring service for the flexible ethernet group at the node based on a determination that the modified membership of the flexible ethernet group at the node and the membership of the flexible ethernet group at the remote node match. In at least some example embodiments, the condition includes a remote failure indication for at least one of the members of the flexible ethernet group. In at least some example embodiments, the method includes receiving, at the node from the remote node associated with the flexible ethernet group, an indication of the remote failure indication. In at least some example embodiments, the method includes receiving, at the node from the remote node, an indication of a membership of the flexible ethernet group at the remote node and restoring service for the flexible ethernet group at the node based on a determination that the modified membership of the flexible ethernet group at the node and the membership of the flexible ethernet group at the remote node match. In at least some example embodiments, reconfiguring the flexible ethernet group includes modifying a group overhead of the flexible ethernet group to provide a new group overhead for the flexible ethernet group. In at least some example embodiments, the method includes supporting, at the node, a set of flexible ethernet clients based on a mapping of the set of flexible ethernet clients to the flexible ethernet group. In at least some example embodiments, the method includes modifying, at the node, the mapping of the set of flexible ethernet clients to the flexible ethernet group. In at least some example embodiments, modifying the mapping of the set of flexible ethernet clients to the flexible ethernet group includes reducing, for at least one of the flexible ethernet clients, a respective rate of the at least one of the flexible ethernet clients. In at least some example embodiments, modifying the mapping of the set of flexible ethernet clients to the flexible ethernet group includes removing, from the set of flexible ethernet clients, at least one of the flexible ethernet clients. In at least some example embodiments, the mapping of the set of flexible ethernet clients to the flexible ethernet group is modified based on an available bandwidth of the flexible ethernet group after the flexible ethernet group is reconfigured. In at least some example embodiments, the mapping of the set of flexible ethernet clients to the flexible ethernet group is modified based on a prioritization mechanism configured to select at least one of the flexible ethernet clients for which a modification operation is to be performed. In at least some example embodiments, the flexible ethernet group includes a Flex Ethernet (FlexE) group.
In at least some example embodiments, an apparatus includes means for detecting, at a node configured to support a flexible ethernet group having a set of members, a condition associated with the flexible ethernet group, means for reconfiguring, at the node based on the condition, the flexible ethernet group to provide a modified membership of the flexible ethernet group at the node, and means for sending, by the node toward a remote node, an indication of the modified membership of the flexible ethernet group at the node. In at least some example embodiments, the set of members includes a set of physical interfaces or a set of logical instances defined for a set of physical interfaces. In at least some example embodiments, reconfiguring the flexible ethernet group comprises modifying the set of members of the flexible ethernet group, based on at least one of removal of at least one existing member from the set of members or addition of at least one new member to the set of members, to provide the modified membership of the flexible ethernet group at the node. In at least some example embodiments, the reconfiguring of the flexible ethernet group to provide the modified membership of the flexible ethernet group at the node is performed by a flexible ethernet shim supporting the flexible ethernet group. In at least some example embodiments, the condition includes a reception failure associated with at least one of the members of the set of members of the flexible ethernet group. In at least some example embodiments, the apparatus includes means for sending, by the node toward the remote node, an indication of the reception failure. In at least some example embodiments, the apparatus includes means for receiving, at the node from the remote node, an indication of a membership of the flexible ethernet group at the remote node and means for restoring service for the flexible ethernet group at the node based on a determination that the modified membership of the flexible ethernet group at the node and the membership of the flexible ethernet group at the remote node match. In at least some example embodiments, the condition includes a remote failure indication for at least one of the members of the flexible ethernet group. In at least some example embodiments, the apparatus includes means for receiving, at the node from the remote node associated with the flexible ethernet group, an indication of the remote failure indication. In at least some example embodiments, the apparatus includes means for receiving, at the node from the remote node, an indication of a membership of the flexible ethernet group at the remote node and means for restoring service for the flexible ethernet group at the node based on a determination that the modified membership of the flexible ethernet group at the node and the membership of the flexible ethernet group at the remote node match. In at least some example embodiments, the means for reconfiguring the flexible ethernet group includes means for modifying a group overhead of the flexible ethernet group to provide a new group overhead for the flexible ethernet group. In at least some example embodiments, the apparatus includes means for supporting, at the node, a set of flexible ethernet clients based on a mapping of the set of flexible ethernet clients to the flexible ethernet group. In at least some example embodiments, the apparatus includes means for modifying, at the node, the mapping of the set of flexible ethernet clients to the flexible ethernet group. In at least some example embodiments, the means for modifying the mapping of the set of flexible ethernet clients to the flexible ethernet group includes means for reducing, for at least one of the flexible ethernet clients, a respective rate of the at least one of the flexible ethernet clients. In at least some example embodiments, the means for modifying the mapping of the set of flexible ethernet clients to the flexible ethernet group includes means for removing, from the set of flexible ethernet clients, at least one of the flexible ethernet clients. In at least some example embodiments, the mapping of the set of flexible ethernet clients to the flexible ethernet group is modified based on an available bandwidth of the flexible ethernet group after the flexible ethernet group is reconfigured. In at least some example embodiments, the mapping of the set of flexible ethernet clients to the flexible ethernet group is modified based on a prioritization mechanism configured to select at least one of the flexible ethernet clients for which a modification operation is to be performed. In at least some example embodiments, the flexible ethernet group includes a Flex Ethernet (FlexE) group.
To facilitate understanding, identical reference numerals have been used herein, wherever possible, in order to designate identical elements that are common among the various figures.
Various example embodiments of a flexible ethernet group recovery capability are presented herein. The flexible ethernet group recovery capability may be provided as a Flex Ethernet (FlexE) group recovery capability (e.g., where flexible ethernet is based on FlexE). The FlexE group recovery capability may be configured to support automatic recovery of a FlexE group. The FlexE group recovery capability may be configured to support automatic recovery of a FlexE group composed of a set of members (e.g., a set of physical links, a set of logical links, or the like) in response to a condition associated with one or more of the members of the FlexE group. The FlexE group recovery capability may be configured to support automatic recovery of a FlexE group based on functions performed by the FlexE shims supporting the FlexE group. The FlexE group recovery capability may be configured to support automatic recovery of a FlexE group based on functions performed by the FlexE shims supporting the FlexE group where the functions performed by each of the FlexE shims supporting the FlexE group include detecting a condition associated with the FlexE group, reconfiguring the FlexE group to provide a modified membership of the FlexE group, and sending an indication of the modified membership of the FlexE group, thereby enabling both of the FlexE shims supporting the FlexE group to verify the membership of the FlexE group before restoring service to the FlexE group. The FlexE group recovery capability may be configured to support automatic recovery of a FlexE group based on functions performed by the FlexE shims supporting the FlexE group where the functions performed by each of the FlexE shims supporting the FlexE group include determining a membership of the FlexE group at a node including the FlexE shim, determining a membership of the FlexE group at a remote node of the FlexE group, and restoring service for the FlexE group based on a determination that the membership of the FlexE group at the node and the membership of the FlexE group at the remote node match. The FlexE group recovery capability may be configured to support automatic recovery of a FlexE group based on functions performed by the FlexE shims supporting the FlexE group, including interactions between the FlexE shims supporting the FlexE group, without any external network manager interactions. It will be appreciated that these and various other example embodiments of the FlexE group recovery capability may be further understood within the context of various figures presented herein, which are discussed further below.
1 FIG. depicts an example embodiment of a communication system configured to support automatic recovery of FlexE groups.
1 FIG. 1 FIG. 100 As illustrated in, communication systemsupports communications based on use of Flex Ethernet (FlexE). FlexE is a flexible Ethernet client interface standard defined by the OIF Flex Ethernet Implementation Agreement. FlexE enables flexible Ethernet connectivity between routers independent of the physical line rates of the underlying physical layer, thereby enabling extension of standard Ethernet physical interfaces to add support for bonding, sub-rating, and channelization while also providing support for functions such as flexible rate matching, bandwidth configuration, service isolation, network slicing, and so forth. FlexE may be applied in various contexts within which Ethernet may be employed for communications, such as for datacenter interconnections, metro transport networks, and so forth. As illustrated in, and discussed further herein, FlexE operates by decoupling the Media Access Control (MAC) layer from the physical (PHY) layer through the introduction of a FlexE shim layer, thereby providing an abstraction layer that supports bundling of multiple independent Ethernet PHY interfaces to create a bandwidth pipe between FlexE shim endpoints and use of the bandwidth pipe to support communications of one or more MAC clients.
100 110 110 110 120 100 100 110 120 100 The communication systemincludes a pair of communication devices-A and-Z (collectively, communication devices) connected via a transport network. The communication systemis configured to support communications based on use of FlexE, and may be used within various types of communication contexts. For example, the communication systemmay be used to support interconnection of datacenters, connections within metro transport networks, or the like. The communication devicesmay include routers, optical transport devices (e.g., configured to support mapping onto optical fibers), or other types of communication devices configured to support communications based on use of FlexE. The transport networkmay be an optical transport network or other type of transport network configured to support communications based on use of FlexE. It will be appreciated that the communication system, although primarily presented as including specific elements, may include various other communication elements or communication support elements, may be used within various other types of communication contexts, or the like, as well as various combinations thereof.
110 111 112 113 110 111 1 111 111 112 113 1 113 113 110 111 1 111 111 112 113 1 113 113 113 1 113 110 113 1 113 114 1 114 114 114 1 113 1 110 113 1 110 114 113 110 113 110 113 114 The communication deviceseach include a set of MAC clients, a FlexE shim, and a group of PHY interfaces. More specifically, communication device-A includes a set of MAC clients-A-to-A-M (collectively, MAC clients-A), a FlexE shim-A, and a group of PHY interfaces-A-to-A-N (collectively, PHY interfaces-A) and, similarly, communication device-Z includes a set of MAC clients-Z-to-Z-M (collectively, MAC clients-Z), a FlexE shim-Z, and a group of PHY interfaces-Z-to-Z-N (collectively, PHY interfaces-Z). The PHY interfaces-A-to-A-N of the communication device-A and the of PHY interfaces-Z-to-Z-N are interconnected via a set of physical links-to-N (collectively, physical links), respectively. Namely, the physical link-interconnects the PHY interface-A-on communication device-A and the PHY interface-Z-on communication device-Z, and so forth, with the physical link-N interconnecting the PHY interface-A-N on communication device-A and the PHY interface-Z-N on communication device-Z. It will be appreciated that, although primarily described within the context of a FlexE group that is composed of physical links, the FlexE group may composed of logical links (e.g., using sub-rating on each of the PHY interfacesto support multiple FlexE member instances over each of the physical links).
110 112 112 110 111 110 113 110 113 110 111 110 111 110 113 110 113 110 113 110 111 110 111 110 113 110 113 110 110 110 The communication deviceseach include a FlexE shim. The FlexE shimon a communication device, as indicated above, provides an abstraction layer between the MAC clientsof the communication deviceand the PHY interfacesof the communication device, enabling the PHY interfacesof the communication deviceto be bundled to create an aggregate bandwidth pipe which can be used to support the communications of the MAC clientsof the communication device. In this manner, individual ones of the MAC clientsof the communication devicedo not necessarily need to be matched to specific ones of the PHY interfacesof the communication device(e.g., rate-matched to the available rates of individual ones of the PHY interfacesof the communication device); rather, the aggregate bandwidth of the aggregate bandwidth pipe formed using the PHY interfacesof the communication devicemay be used to support the bandwidth needs of the individual ones of the MAC clientsof the communication device(e.g., the bandwidth needs of any given MAC clientof the communication devicemay be provided by any combination of the PHY interfacesof the communication device). This bundling of PHY interfacesof the communication devicesto form the aggregate bandwidth pipe, which is performed on both of the communication devices, as indicated above, is based on FlexE and enables establishment and use of a FlexE group between the communication devices.
110 115 114 115 114 110 113 114 114 115 113 115 113 110 115 110 115 110 110 115 113 114 115 110 115 113 114 115 115 110 115 115 110 110 The communication deviceshave a FlexE groupconfigured therebetween, with the physical linksbeing the members of the FlexE groupsuch that the physical linksmay be used together as an aggregate bandwidth pipe to support communications between the communication devices. The PHY interfaceson both sides of the physical linksare connected to the physical linkswhich form the FlexE groupand, thus, the PHY interfacesthemselves also may be considered to form part of the FlexE group. This association of the PHY interfacesof the communication deviceswith the FlexE groupenables each communication deviceto maintain a localized view of FlexE groupthat is specific to the communication device, respectively. Namely, the communication device-A may maintain a local view of the membership of the FlexE groupas being the set of PHY interfaces-A connected to the physical linksof the FlexE groupand, similarly, the communication device-Z may maintain a local view of the membership of the FlexE groupas being the set of PHY interfaces-Z connected to the physical linksof the FlexE group. As long as the localized views of the membership of the FlexE groupare consistent (i.e., both communication devicesagree on the membership of the FlexE group), the FlexE groupmay be used by the communication devicesfor communications between the communication devices.
110 110 115 110 115 115 115 110 110 115 114 113 113 110 113 110 112 115 113 110 115 115 110 115 115 115 115 113 114 115 110 The communication devicesare configured to support communications between the communication devicebased on the FlexE group. The communication devicesare configured to support recovery of the FlexE groupin response to a condition associated with the FlexE group, such that the FlexE groupmay continue to be used for communications between the communication devices. For example, the communication devicesmay be configured to support recovery of the FlexE groupin response to a failure associated with one of the physical linksof the FlexE group (e.g., a failure of a PHY interface). For example, if one of the PHY interfaceson a communication devicefails, then traffic across the PHY interfaceson the communication devicebecomes blocked and recovery operations need to be performed to reconfigure the FlexE shimsto allow the FlexE groupto recover using the remaining valid PHY interfaces. The communication devicesare configured to support recovery of the FlexE groupin response to such a failure or other types of conditions which may impact membership of the FlexE group. The communication devicesmay be configured to support improved recovery of the FlexE groupin response to a condition associated with the FlexE grouplocally, without requiring the involvement of an external network manager (e.g., obviating a need for a network management station(s) to be informed of a failure condition and then react to change the configuration of the FlexE groupin order to allow the FlexE groupto recover using the remaining valid PHY interfacesand associated physical links, which can delay the recovery of the FlexE groupfor an unacceptable duration of time depending on various factors such as the communication channels between the management station(s) and the communication devices).
110 115 115 110 115 115 112 110 115 115 112 115 115 112 119 112 110 119 112 110 119 115 115 119 112 115 115 110 115 115 1 FIG. The communication devices, as indicated above, may be configured to support recovery of the FlexE groupin response to a condition associated with the FlexE group. The communication devicesmay be configured to support recovery of the FlexE groupin response to a condition associated with the FlexE groupbased on configuration of the FlexE shimsof the communication devicesto support recovery of the FlexE groupin response to a condition associated with the FlexE group(e.g., the FlexE shimsmay be configured to perform various functions presented herein as being associated with recovery of the FlexE groupin response to a condition associated with the FlexE group). As illustrated in, the FlexE shimsinclude reconfiguration controllers(illustratively, the FlexE shim-A of the communication device-A incudes a reconfiguration controller-A and the FlexE shim-Z of the communication device-Z includes a reconfiguration controller-Z) configured to support recovery of the FlexE groupin response to a condition associated with the FlexE group(e.g., the reconfiguration controllersof the FlexE shimsmay be configured to perform various functions presented herein as being associated with recovery of the FlexE groupin response to a condition associated with the FlexE group). It will be appreciated that various other components or elements of the communication devicesalso or alternatively may be configured to support local recovery of the FlexE group, in response to a condition associated with the FlexE group, without the need for involvement of any management stations.
110 115 115 110 115 115 115 115 110 115 115 110 110 115 110 115 114 114 115 110 115 110 110 115 115 110 115 110 115 110 115 115 The communication devices, as indicated above, may be configured to support recovery of the FlexE groupin response to a condition associated with the FlexE group. The communication devicesmay be configured to support recovery of the FlexE groupin response to a condition associated with the FlexE groupby performing various FlexE group recovery operations to support recovery of the FlexE groupin response to the condition associated with the FlexE group. For example, the recovery operations performed by the communication devicesfor recovery of the FlexE groupmay include reconfiguration of the FlexE grouplocally at the communication devices(e.g., the communication devicesmodify the membership of the FlexE grouplocally at the communication devicessuch that the FlexE grouponly includes operational ones of the physical linksand the physical link(s)which are no longer operational due to the condition are removed from the FlexE groupat the communication devices, respectively), exchanging indications of the reconfiguration of the FlexE grouplocally at the communication devices(e.g., the communication devicessend each other their local views of the membership of the FlexE groupfor verification that they share a common view of the membership of the FlexE group), and reestablishing communications between the communication devicesvia the FlexE groupwhen both communication deviceshave verified a common view of the membership of the FlexE group. It will be appreciated that the communication devicesmay be configured to support various other functions for supporting recovery of the FlexE groupin response to a condition associated with the FlexE group.
110 115 115 115 115 115 115 114 114 113 115 113 114 115 110 113 114 115 113 114 115 110 110 115 115 110 115 115 110 The communication devices, to support recovery of the FlexE groupin response to a condition associated with the FlexE group, may be configured to support detection and notification of the condition associated with the FlexE group. The condition associated with the FlexE groupmay include any condition which impacts the membership of the FlexE group. For example, the condition associated with the FlexE groupmay include a failure of one of the physical linksof the FlexE group (or other event which impacts availability of the physical link), a failure of one of the PHY interfacesof the FlexE group(or other event which impacts availability of the PHY interfaceand, thus, the physical link), or the like. The detection of the condition associated with the FlexE groupby a communication devicemay include detection of a condition for a PHY interfaceassociated with a physical linkthat is a member of the FlexE group, reception of a remote condition indication that is indicative of a condition for a PHY interfaceassociated with a physical linkthat is a member of the FlexE group(e.g., from the other communication deviceor any other suitable source of such a remote condition indication), or the like. The remote condition indication received by a communication devicemay simply include an indication of the existence of the condition associated with the FlexE groupor also may include an indication of the local reconfiguration of the FlexE groupat the communication devicefrom which the remote condition indication is received (e.g., an indication that a condition was detected and that the condition caused the reconfiguration of the FlexE groupto include the membership indicated in the remote failure indication). It will be appreciated that detection and notification of the condition associated with the FlexE groupmay be supported by the communication devicein various other ways.
110 115 115 115 110 110 110 110 115 110 115 110 115 110 115 115 114 114 115 110 113 115 110 114 1 110 115 110 115 110 114 2 114 110 115 110 115 110 114 2 114 115 110 110 The communication devices, to support recovery of the FlexE groupin response to a condition associated with the FlexE group, may be configured to support reconfiguration of the FlexE grouplocally at the communication devices, respectively. For example, a communication device, upon detecting the condition at the communication deviceor receiving an indication of the condition from the other communication device, reconfigures the FlexE groupat the communication deviceby modifying the membership of the FlexE groupat the communication device. The modification of the membership of the FlexE groupat the communication devicemay include removing any member(s) of the FlexE groupwhich are no longer operational due to the condition and, thus, no longer available for supporting communication of traffic of the FlexE group. For example, where the condition results in unavailability of one of the physical links, that physical linkmay be removed from the FlexE groupat the communication device, which also may include removal of the corresponding PHY interfacefrom the FlexE groupat the communication device. For example, where a condition causes unavailability of the physical link-, communication device-A may reconfigure the FlexE grouplocally at the communication device-A such that the membership of the FlexE groupat the communication device-A is [physical link-, . . . , physical link-N] and, similarly, communication device-Z may reconfigure the FlexE grouplocally at the communication device-Z such that the membership of the FlexE groupat the communication device-Z is [physical link-, . . . , physical link-N]. It will be appreciated that reconfiguration of the FlexE grouplocally at the communication devicesmay be supported by the communication devicein various other ways.
110 115 115 115 110 110 115 115 110 110 110 115 110 115 110 110 110 110 115 110 115 110 115 110 115 115 115 110 115 110 115 110 The communication devices, to support recovery of the FlexE groupin response to a condition associated with the FlexE group, may be configured to support exchanging of indications of the reconfiguration of the FlexE grouplocally at the communication devices. This ensures that both of the communication devicesagree on the new membership of the FlexE groupafter the condition before communication of traffic on the FlexE groupis restored. The communication device-A, upon detecting the condition at the communication device-A or receiving an indication of the condition from the communication device-Z, reconfigures the FlexE groupat the communication device-A and sends an indication of the reconfigured FlexE groupto the communication device-Z and, similarly, the communication device-Z, upon detecting the condition at the communication device-Z or receiving an indication of the condition from the communication device-A, reconfigures the FlexE groupat the communication device-Z and sends an indication of the reconfigured FlexE groupto the communication device-A. The indications of the membership of the FlexE groupmay be sent by the communication devicesby sending FlexE maps which include indications of the FlexE group membership information for the FlexE groupafter reconfiguration of the FlexE groupis complete. The exchanging of FlexE group membership information for the reconfigured FlexE groupenables the communication devicesto verify that the new membership of the FlexE groupis consistent at the communication devicesbefore continuing the use of the FlexE groupfor communications between the communication devices.
110 115 115 115 115 110 110 115 115 110 110 115 110 115 115 110 110 115 115 110 115 110 115 110 115 115 115 115 115 115 The communication devices, to support recovery of the FlexE groupin response to a condition associated with the FlexE group, may be configured to confirm membership of the FlexE groupafter the condition before continuing use of the FlexE groupfor communications between the communication devices. The communication device-A compares its local view of the membership of the FlexE groupto the membership of the FlexE groupreceived from the communication device-Z and, based on a determination that both communication deviceshave a common view of the membership of the FlexE group, to restore service on the FlexE group. Similarly, the communication device-Z compares its local view of the membership of the FlexE groupto the membership of the FlexE groupreceived from the communication device-A and, based on a determination that both communication deviceshave a common view of the membership of the FlexE group, to restore service on the FlexE group. It is noted that, since each communication deviceupdates the membership of the FlexE grouplocally in response to an indication of the condition and informs the other communication deviceof the updated membership of the FlexE group, it is possible for both communication devicesto locally confirm a unified view of the membership of the FlexE groupand restore service on the FlexE groupwithout the assistance of any centralized management entity. In this manner, both sides of the FlexE groupare able to confirm a common and consistent view of the membership of the FlexE groupso that service on the FlexE groupmay be restored and, thus, the FlexE groupis recovered despite the condition.
110 115 111 115 111 115 111 115 111 115 115 111 115 115 111 115 111 115 111 115 111 115 115 110 111 115 The communication devices, in response to reconfiguration of the FlexE groupbased on a condition, may also reconfigure the set of MAC clientssupported by the FlexE group. The reconfiguration of the set of MAC clientssupported by the FlexE groupmay include removal of one or more of the MAC clientsfrom being associated with the FlexE group. The removal of one or more of the MAC clientsfrom being associated with the FlexE groupmay be based on the available bandwidth of the reconfigured FlexE group(e.g., removing one or more of the MAC clientsfrom being associated with the FlexE groupsuch that available bandwidth of the reconfigured FlexE groupis sufficient to support the bandwidth requirements of the remaining MAC clientsassociated with the FlexE group). The removal of one or more of the MAC clientsfrom being associated with the FlexE groupmay be based on a prioritization mechanism configured to select the one or more of the MAC clientsto be removed from being associated with the FlexE group. The removal of one or more of the MAC clientsfrom being associated with the FlexE groupbased on the reconfiguration of the FlexE groupmay be performed in various other ways. It will be appreciated that the communication devicesmay be configured to perform various other functions for supporting reconfiguration of the set of MAC clientssupported by the FlexE group.
110 115 115 115 115 113 114 115 115 110 115 114 115 115 115 110 115 115 110 110 The communication devices, although primarily described as supporting restoration of the FlexE groupbased on a condition that results in removal of one more existing members from the FlexE group, also may be configured to support reconfiguration of the FlexE groupbased on a condition that can result in addition of one more members to the FlexE group. For example, when a PHY interfaceor an associated physical link, which was previously a member of the FlexE groupand was removed from the FlexE groupdue to a failure condition, is restored, the communication devicesmay support reconfiguration of the FlexE groupsuch that the physical linkagain becomes a member of the FlexE group. This also may be considered to be a condition associated with the FlexE groupthat results in local reconfiguration of the FlexE groupby the communication devices, in order to modify the membership of the FlexE group, such that the FlexE groupmay continue to be used by the communication devicesto support communications between the communication devices.
110 115 115 It will be appreciated that the communication devicesmay be configured to support various other functions for supporting reconfiguration of the FlexE groupin response to a condition associated with the FlexE group.
110 115 115 2 FIG. It will be appreciated that operation of the communication devicesto support reconfiguration of the FlexE groupin response to a condition associated with the FlexE groupmay be further understood by considering the example of.
2 FIG. depicts an example embodiment of a communication system configured to support automatic recovery of FlexE groups.
200 210 210 210 220 200 200 210 220 200 The communication systemincludes a pair of communication devices-A and-Z (collectively, communication devices) connected via a transport network. The communication systemis configured to support communications based on use of FlexE, and may be used within various types of communication contexts. For example, the communication systemmay be used to support interconnection of datacenters, connections within metro transport networks, or the like. The communication devicesmay include routers, optical transport devices (e.g., configured to support mapping onto optical fibers), or other types of communication devices configured to support communications based on use of FlexE. The transport networkmay be an optical transport network or other type of transport network configured to support communications based on use of FlexE. It will be appreciated that the communication system, although primarily presented as including specific elements, may include various other communication elements or communication support elements, may be used within various other types of communication contexts, or the like, as well as various combinations thereof.
210 211 212 213 210 211 1 211 211 212 213 1 213 4 213 210 211 1 211 211 212 213 1 213 4 213 213 1 213 4 210 213 1 213 4 213 1 210 213 1 210 213 4 210 213 4 210 4 The communication deviceseach include a set of MAC clients, a FlexE shim, and a group of PHY interfaces. More specifically, communication device-A includes a set of MAC clients-A-to-A-M (collectively, MAC clients-A), a FlexE shim-A, and a group of PHY interfaces-A-to-A-(collectively, PHY interfaces-A) and, similarly, communication device-Z includes a set of MAC clients-Z-to-Z-M (collectively, MAC clients-Z), a FlexE shim-Z, and a group of PHY interfaces-Z-to-Z-(collectively, PHY interfaces-Z). The PHY interfaces-A-to-A-of the communication device-A and the of PHY interfaces-Z-to-Z-are interconnected via a set of physical links (omitted for purposes of clarity), respectively. Namely, a physical link or links interconnects the PHY interface-A-on communication device-A and the PHY interface-Z-on communication device-Z, and so forth, with a physical link or links interconnecting the PHY interface-A-on communication device-A and the PHY interface-Z-on communication device-.
210 213 114 213 213 1 213 4 214 213 1 213 1 214 1 1 214 1 4 214 1 213 2 213 2 214 2 1 214 2 4 214 2 213 3 213 3 214 3 1 214 3 4 214 3 213 4 213 4 214 4 1 214 4 4 214 4 213 214 213 214 213 214 213 The communication devicesare configured to support sub-rating such that FlexE group is composed of FlexE member instances rather than the PHY interfacesor associated physical links. Namely, the PHY interfacesassociated with the physical links are sub-rated such that the four pairs of PHY interfaces-to-are supporting a set of sixteen FlexE instances(illustratively, the pair of PHY interfaces-A-and-Z-supports four FlexE instances--to--(collectively, FlexE instances-), the pair of PHY interfaces-A-and-Z-supports four FlexE instances--to--(collectively, FlexE instances-), the pair of PHY interfaces-A-and-Z-supports four FlexE instances--to--(collectively, FlexE instances-), and the pair of PHY interfaces-A-and-Z-supports four FlexE instances--to--(collectively, FlexE instances-). For example, where each of the PHY interfacesis a 100 G interface, each of the FlexE instancesmay operate as a 25 G FlexE instance. For example, where each of the PHY interfacesis a 400 G interface, each of the FlexE instancesmay operate as a 100 G FlexE instance. It will be appreciated that various other rates may be supported for the PHY interfacesand for the corresponding FlexE instancessupported by the PHY interfaces.
210 215 214 210 215 215 210 215 215 210 215 215 210 215 210 210 210 215 2 FIG. The communication devicesare configured to support a FlexE groupthat is composed of FlexE group members including the FlexE instances. The communication devicesare configured to support local recovery of the FlexE groupwhen a condition impacts the operation of the FlexE group. The communication devicesare configured to support local recovery of the FlexE group, without involvement of a centralized manager, when a condition impacts the operation of the FlexE group. The communication devicesare configured to support local recovery of the FlexE group, when a condition impacts the operation of the FlexE group, based on local FlexE group recovery operations performed on the communication devices(e.g., reconfiguration of the FlexE groupon each of the communication devices, exchanging of FlexE group reconfiguration information between the communication devices, and so forth). The operation of the communication devicesto support the local recovery of the FlexE groupmay be further understood by way of reference to the specific example of.
2 FIG. 215 215 214 1 2 213 1 210 213 1 210 214 1 2 251 212 212 214 1 2 214 1 2 212 214 1 2 215 214 214 1 2 215 214 215 212 212 212 214 1 2 215 212 214 1 2 215 212 215 212 212 212 215 212 215 212 212 215 212 215 212 212 215 212 215 212 212 215 212 215 212 212 215 215 210 In the example of, initially, all sixteen of the FlexE instancesare operational and are members of the FlexE group. Then, at some point, a failure condition impacts the operation of the FlexE instance--between the PHY interface-A-of communication device-A and the PHY interface-Z-of communication device-Z such that the FlexE instance--is no longer operational (indicated by). The FlexE shim-A and the FlexE shim-Z each detect the failure associated with the FlexE instance--, directly and/or based on notifications to each other up detecting the failure associated with the FlexE instance--. The FlexE shim-A, based on detection of the failure associated with the FlexE instance--, reconfigures the FlexE groupat the FlexE shim-A such that the FlexE instance--is no longer a member of the FlexE groupat the FlexE shim-A and sends an indication of the reconfigured FlexE groupat the FlexE shim-A to the FlexE shim-Z, and, similarly, the FlexE shim-Z, based on detection of the failure associated with the FlexE instance--, reconfigures the FlexE groupat the FlexE shim-Z such that the FlexE instance--is no longer a member of the FlexE groupat the FlexE shim-Z and sends an indication of the reconfigured FlexE groupat the FlexE shim-Z to the FlexE shim-A. The FlexE shim-A compares the membership of the reconfigured FlexE groupat the FlexE shim-A to the indication of the membership of the reconfigured FlexE groupat the FlexE shim-Z that was received from the FlexE shim-Z and, based on a determination that the membership of the FlexE groupon both FlexE shimsis consistent, restores service on the FlexE groupat the FlexE shim-A, and, similarly, the FlexE shim-Z compares the membership of the reconfigured FlexE groupat the FlexE shim-Z to the indication of the membership of the reconfigured FlexE groupat the FlexE shim-A that was received from the FlexE shim-A and, based on a determination that the membership of the FlexE groupon both FlexE shimsis consistent, restores service on the FlexE groupat the FlexE shim-Z. In this manner, both FlexE shimsare able to verify a consistent view of the current membership of the FlexE groupbefore restoring service on the reconfigured FlexE groupfor supporting communication between the communication devices.
3 FIG. 1 FIG. 2 FIG. 3 FIG. It will be appreciated that, although primarily presented with respect to example embodiments in which automated recovery is supported for a particular type of flexible ethernet (namely, FlexE as defined by the Optical Internetworking Forum (IOF)), various example embodiments presented herein may be configured to support automated recovery for other type of flexible ethernet which may be employed to support flexible communications within communication systems and, thus, it will be further appreciated that references herein to FlexE specific terms (e.g., FlexE, FlexE shim, FlexE group, and the like) may be read more generally (e.g., flexible ethernet, flexible ethernet shim flexible ethernet group, and the like) so as to potentially encompass other types of flexible ethernet which may be developed for supporting flexible communications within various types of communication systems. It is noted that various example embodiments are described within the context of this broader terminology within the context ofand, thus, that various example embodiments presented herein within the context ofandmay be adapted for use within the context of.
3 FIG. 3 FIG. 300 301 300 310 320 330 399 300 300 depicts an example embodiment of a method for use by a node to support automatic recovery of a flexible ethernet group. It will be appreciated that, although primarily presented herein as being performed serially, at least a portion of the functions of methodmay be performed contemporaneously or in a different order than as presented in. At block, the methodbegins. At block, detect, at a node configured to support a flexible ethernet group having a set of members, a condition associated with the flexible ethernet group. At block, reconfigure, at the node based on the condition, the flexible ethernet group to provide a modified membership of the flexible ethernet group at the node. At block, send, by the node toward a remote node, an indication of the modified membership of the flexible ethernet group at the node. At block, the methodends. It will be appreciated that at least a portion of the functions of the methodmay be performed by a flexible ethernet shim of the node.
4 FIG. 4 FIG. 400 401 400 410 420 430 499 400 400 depicts an example embodiment of a method for use by a node to support automatic recovery of a flexible ethernet group. It will be appreciated that, although primarily presented herein as being performed serially, at least a portion of the functions of methodmay be performed contemporaneously or in a different order than as presented in. At block, the methodbegins. At block, determine, at a node configured to support a flexible ethernet group between the node and a remote node, a membership of the flexible ethernet group at the node. At block, determine, at the node based on at least one message from the remote node, a membership of the flexible ethernet group at the remote node. At block, restore, at the node based on a determination that the membership of the flexible ethernet group at the node and the membership of the flexible ethernet group at the remote node match, service for the flexible ethernet group. At block, the methodends. It will be appreciated that at least a portion of the functions of the methodmay be performed by a flexible ethernet shim of the node.
Various example embodiments of the FlexE group recovery capability may be configured to provide various advantages or potential advantages. For example, various example embodiments of the FlexE group recovery capability may be configured to support automatic recovery of a FlexE group in response to a PHY interface failure. For example, various example embodiments of the FlexE group recovery capability may be configured to support automatic recovery of a FlexE group in response to a PHY interface failure based on functions performed by the FlexE shims supporting the FlexE group, without any external network manager interactions. It will be appreciated that various example embodiments of the FlexE group recovery capability may be configured to provide various other advantages or potential advantages.
5 FIG. depicts an example embodiment of a computer suitable for use in performing various functions presented herein.
500 502 504 500 The computerincludes a processor(e.g., a central processing unit (CPU), a graphics processing unit (GPU), a processor, a processor core of a processor, a subset of processor cores of a processor, a set of processor cores of a processor, or the like) and a memory(e.g., a random access memory (RAM), a read-only memory (ROM), or the like). In at least some example embodiments, the computermay include at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the computer to perform various functions presented herein.
500 505 505 505 504 502 505 The computeralso may include a cooperating element. The cooperating elementmay be a hardware device. The cooperating elementmay be a process that can be loaded into the memoryand executed by the processorto implement various functions presented herein (in which case, for example, the cooperating element(including associated data structures) can be stored on a non-transitory computer readable medium, such as a storage device or other suitable type of storage element (e.g., a magnetic drive, an optical drive, or the like)).
500 506 506 The computeralso may include one or more input/output devices. The input/output devicesmay include one or more of a user input device (e.g., a keyboard, a keypad, a mouse, a microphone, a camera, or the like), a user output device (e.g., a display, a speaker, or the like), one or more network communication devices or elements (e.g., an input port, an output port, a receiver, a transmitter, a transceiver, or the like), one or more storage devices (e.g., a tape drive, a floppy drive, a hard disk drive, a compact disk drive, or the like), or the like, as well as various combinations thereof.
500 500 It will be appreciated that computermay represent a general architecture and functionality suitable for implementing functional elements described herein, portions of functional elements described herein, or the like, as well as various combinations thereof. For example, computermay provide a general architecture and functionality that is suitable for implementing one or more elements presented herein, such as a customer device or a portion thereof, a customer premises equipment device or a portion thereof, a cellular access device or a portion thereof, or the like.
It will be appreciated that at least some of the functions presented herein may be implemented in software (e.g., via implementation of software on one or more processors, for executing on a general purpose computer (e.g., via execution by one or more processors) so as to provide a special purpose computer, and the like) and/or may be implemented in hardware (e.g., using a general purpose computer, one or more application specific integrated circuits, and/or any other hardware equivalents).
It will be appreciated that at least some of the functions presented herein may be implemented within hardware, for example, as circuitry that cooperates with the processor to perform various functions. Portions of the functions/elements described herein may be implemented as a computer program product wherein computer instructions, when processed by a computer, adapt the operation of the computer such that the methods and/or techniques described herein are invoked or otherwise provided. Instructions for invoking the various methods may be stored in fixed or removable media (e.g., non-transitory computer readable media), transmitted via a data stream in a broadcast or other signal bearing medium, and/or stored within a memory within a computing device operating according to the instructions.
It will be appreciated that the term “non-transitory” as used herein is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation of data storage persistency (e.g., RAM versus ROM).
It will be appreciated that, as used herein, “at least one of <a list of two or more elements>” and “at least one of the following: <a list of two or more elements>” and similar wording, where the list of two or more elements are joined by “and” or “or”, mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements.
It will be appreciated that, as used herein, the term “or” refers to a non-exclusive “or” unless otherwise indicated (e.g., use of “or else” or “or in the alternative”).
It will be appreciated that, although various embodiments which incorporate the teachings presented herein have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 24, 2024
March 26, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.