Search

US-12621215-B1 - Optical module driver containerization

US12621215B1US 12621215 B1US12621215 B1US 12621215B1US-12621215-B1

Abstract

A system includes one or more memories and processing circuitry coupled to the one or more memories, wherein the processing circuitry is configured to: execute operating system (OS) software configured to control operation of a plurality of hardware optical modules of a network element, and execute a first containerized driver software for a first set of one or more hardware optical modules of the plurality of hardware optical modules to enable the OS software and the first set of one or more hardware optical modules to communicate with each other, the first containerized driver software being packaged and deployed separately from the OS software.

Inventors

  • Jason W. Dove

Assignees

  • CALIX, INC.

Dates

Publication Date
20260505
Application Date
20230809

Claims (17)

  1. 1 . A system comprising: one or more memories; and processing circuitry coupled to the one or more memories, wherein the processing circuitry is configured to: execute operating system (OS) software configured to control operation of a plurality of hardware optical modules of a network element; subsequent to executing the OS or as part of executing the OS, execute a first containerized driver software for a first set of one or more hardware optical modules of the plurality of hardware optical modules to enable the OS software and the first set of one or more hardware optical modules to communicate with each other, the first containerized driver software being packaged and deployed separately from the OS software; and subsequent to executing the OS or as part of executing the OS, execute a second containerized driver software for a second set of one or more hardware optical modules of the plurality of hardware optical modules, the second containerized driver software being packaged and deployed separately from the OS software and the first containerized driver software.
  2. 2 . The system of claim 1 , wherein the processing circuitry is further configured to: instantiate a null container; receive the first containerized driver software; and update the null container with the first containerized driver software, wherein to execute the first containerized driver software, the processing circuitry is configured to execute the first containerized driver software subsequent to the updating of the null container with the first containerized driver software.
  3. 3 . The system of claim 1 , wherein the processing circuitry is configured to output, to a container management framework, a request for the first containerized driver software in response to detecting that a first optical module of the first set of one or more hardware optical modules is plugged into a socket of the network element.
  4. 4 . The system of claim 1 , wherein the first containerized driver software is a first instance of the first containerized driver software, and wherein the processing circuitry is configured to: receive a second instance of the first containerized driver software, the second instance being a replacement for the first instance; and execute the second instance of the first containerized driver software.
  5. 5 . The system of claim 1 , wherein the network element comprises a plurality of sockets, wherein each of the plurality of sockets is configured to couple to one of the plurality of hardware optical modules, wherein each of the sockets includes at least a portion of the processing circuitry, and wherein to execute the first containerized driver software, the portion of the processing circuitry associated with a first socket into which a hardware optical module of the first set of one or more hardware optical modules is coupled is configured to execute the first containerized driver software.
  6. 6 . The system of claim 5 , wherein at least the portion of the processing circuitry comprises a virtual machine.
  7. 7 . The system of claim 1 , wherein the OS software includes aggregated driver software for another set of one or more hardware optical modules of the plurality of hardware optical modules.
  8. 8 . The system of claim 1 , further comprising a cloud computing system executing a container management framework, wherein the container management framework is configured to: receive a first driver software and libraries and services for the first driver software; and generate the first containerized driver software based on the first driver software and the libraries and services for the first driver software.
  9. 9 . A method comprising: executing, with processing circuitry, an operating system (OS) software configured to control operation of a plurality of hardware optical modules of a network element; subsequent to executing the OS or as part of executing the OS, executing, with the processing circuitry, a first containerized driver software for a first set of one or more hardware optical modules of the plurality of hardware optical modules to enable the OS software and the first set of one or more hardware optical modules to communicate with each other, the first containerized driver software being packaged and deployed separately from the OS software; and subsequent to executing the OS or as part of executing the OS, executing, with the processing circuitry, a second containerized driver software for a second set of one or more hardware optical modules of the plurality of hardware optical modules, the second containerized driver software being packaged and deployed separately from the OS software and the first containerized driver software.
  10. 10 . The method of claim 9 , further comprising: instantiating a null container; receiving the first containerized driver software; and updating the null container with the first containerized driver software, wherein executing the first containerized driver software comprises executing the first containerized driver software subsequent to the updating of the null container with the first containerized driver software.
  11. 11 . The method of claim 9 , further comprising outputting, to a container management framework, a request for the first containerized driver software in response to detecting that a first optical module of the first set of one or more hardware optical modules is plugged into a socket of the network element.
  12. 12 . The method of claim 9 , wherein the first containerized driver software is a first instance of the first containerized driver software, the method further comprising: receiving a second instance of the first containerized driver software, the second instance being a replacement for the first instance; and executing the second instance of the first containerized driver software.
  13. 13 . The method of claim 9 , wherein the network element comprises a plurality of sockets, wherein each of the plurality of sockets is configured to couple to one of the plurality of hardware optical modules, wherein each of the sockets includes at least a portion of the processing circuitry, and wherein executing the first containerized driver software comprises executing, with the portion of the processing circuitry associated with a first socket into which a hardware optical module of the first set of one or more hardware optical modules is coupled, the first containerized driver software.
  14. 14 . The method of claim 13 , wherein at least the portion of the processing circuitry comprises a virtual machine.
  15. 15 . The method of claim 9 , wherein the OS software includes aggregated driver software for another set of one or more hardware optical modules of the plurality of hardware optical modules.
  16. 16 . The method of claim 9 , further comprising: receiving, with a cloud computing system executing a container management framework, a first driver software and libraries and services for the first driver software; and generating the first containerized driver software based on the first driver software and the libraries and services for the first driver software.
  17. 17 . A non-transitory computer-readable storage medium comprising instructions stored thereon that when executed cause one or more processors to: execute an operating system (OS) software configured to control operation of a plurality of hardware optical modules of a network element; subsequent to executing the OS or as part of executing the OS, execute a first containerized driver software for a first set of one or more hardware optical modules of the plurality of hardware optical modules to enable the OS software and the first set of one or more hardware optical modules to communicate with each other, the first containerized driver software being packaged and deployed separately from the OS software; and subsequent to executing the OS or as part of executing the OS, execute a second containerized driver software for a second set of one or more hardware optical modules of the plurality of hardware optical modules, the second containerized driver software being packaged and deployed separately from the OS software and the first containerized driver software.

Description

TECHNICAL FIELD This disclosure relates to networking, and more particularly, updates at devices that support pluggable optical modules in an optical network. BACKGROUND There are various examples of devices in which an optical network into which one or more optical modules are plugged as part of an optical network. One example of such a device is in an optical line terminal (OLT), but other network elements such as aggregation routers are possible. An OLT is a network device that functions as a service provider endpoint in an optical network, such as a passive optical network (PON). Example network elements convert electrical signals into optical signals for downstream transmission to optical network units (ONUs) at subscriber premises, and converts optical signals into electrical signals from upstream transmissions from the ONUs. ONUs are one example, and other examples of devices are possible. The network element includes a plurality of sockets into which respective pluggable hardware optical modules can be plugged, and each pluggable optical modules transmits signals to and receives signals from one or more ONUs. The network element may be manufactured by one manufacturer, but one or more pluggable optical modules may be manufactured by other manufacturers and supported by the manufacturer of the network element. That is, the other manufacturers may develop respective optical modules for plugging into the network element, and the network element may be configured to support those optical modules. The network element may also support pluggable modules developed by the manufacturer of the network element. BRIEF DESCRIPTION OF DRAWINGS FIG. 1 is a block diagram illustrating a network, in accordance with one or more aspects of this disclosure. FIGS. 2A and 2B are block diagrams illustrating an example of a network element in accordance with the techniques described in this disclosure. FIG. 3 is a flowchart illustrating an example method of operation in accordance with techniques described in this disclosure. FIG. 4 is a flowchart illustrating another example method of operation in accordance with techniques described in this disclosure. DETAILED DESCRIPTION An optical network includes an optical line terminal (OLT), an optical splitter/combiner, and a plurality of optical network units (ONUs) at subscriber premises. One example of the optical network is a passive optical network (PON), but other examples of optical networks are possible, and the techniques are not limited to PONs. The OLT may be configured to function as an endpoint for a service provider. For instance, the service provider may provide access to the Internet, local area networks (LANs), wide area networks (WANs), etc. to users of the service provider. For downstream transmission to the ONUs, the service provider may provide the downstream content to the OLT, which then converts the electrical signals of the downstream content into optical signals for transmission to the ONUs of users of the service provider. For upstream transmission from the ONUs, the OLT converts the optical signal into electrical signals for further transmission to the Internet. One OLT may be configured to support one or more optical networks of one or more service providers. For instance, the OLT includes a plurality of sockets. Each socket is configured to receive a pluggable hardware optical module. The optical module is configured to convert electrical signals to optical signals for downstream communications, and convert optical signals to electrical signals for upstream communications. Each optical module may be configured to support a plurality of ONUs. For instance, a first optical module is coupled to a first optical splitter/combiner, and a first set of ONUs is coupled to the first optical splitter/combiner. A second optical module is coupled to a second optical splitter/combiner, and a second set of ONUs is coupled to the second optical splitter/combiner. The above example of an OLT supporting a plurality of pluggable optical modules is provided as one example, and should not be considered limiting. The OLT is an example of a network element. Other examples of the network element include aggregation routers, switches, and other such devices into which an optical module may be plugged. Moreover, in some examples, there may be no ONUs. Rather, a socket of one network element communicates with a socket of another network element via point to point Ethernet. For case of illustration only, the examples are described with respect to an OLT and ONUs, but the examples should not be considered limited as such. In some examples, each optical module is associated with an optical network. For instance, in the above example, the first optical module, the first optical splitter/combiner, and the first set of ONUs form a first optical network, and the second optical module, the second optical splitter/combiner, and the second set of ONUs form a second optical network. Howeve