Active panel demarcation

In general, this disclosure describes a configurable cable patch panel, or “active panel,” that serves as a demarcation point between a customer area of a communication facility and a provider area of the communication facility. As described herein, the active panel may be dynamically configured to interconnect existing customer-side and provider-side connections to active panel ports in order to facilitate on-demand virtual connections within the communication facility between facility customers and/or between a facility customer and communication facility services. In some examples, a programmable network platform for the communication facility exposes a collection of interfaces by which customers may request virtual connections, which the programmable network platform provisions, in part, by configuring the active panel to interconnect select customer-side ports of the active panel with select provider-side ports of the active panel.

TECHNICAL FIELD

The invention relates to computer networks and, more specifically, to interconnecting computer networks.

BACKGROUND

A network services exchange provider or co-location provider (a “provider”) may employ a communication facility, such as a data center or warehouse, in which multiple customers of the provider locate network, server, and storage gear and interconnect to a variety of telecommunications and other network service provider(s) with a minimum of cost and complexity. Data centers may be shared by the multiple customers. With IT and communications facilities in safe, secure hands, telecommunications, Internet, application service providers, cloud service providers, content providers, and other providers, as well as enterprises, enjoy less latency and the freedom to focus on their core business. Additionally, customers may reduce their traffic back-haul costs and free up their internal networks for other uses.

SUMMARY

In general, this disclosure describes a configurable cable patch panel, or “active panel,” that serves as a demarcation point between a customer area of a communication facility and a provider area of the communication facility. As described herein, the active panel may be dynamically configured to interconnect existing customer-side and provider-side connections to active panel ports in order to facilitate on-demand virtual connections within the communication facility between facility customers and/or between a facility customer and communication facility services. In some examples, a programmable network platform for the communication facility exposes a collection of interfaces by which customers may request virtual connections, which the programmable network platform provisions, in part, by configuring the active panel to interconnect select customer-side ports of the active panel with select provider-side ports of the active panel.

The active panel may in this way facilitate the pooling of physical resources while abstracting individual active panel port assignments from services, which may permit the virtualization of interconnection services by the facility provider using, e.g., the programmable network platform. In other words, by decoupling the one-to-one or one-to-many dedicated connections between provider-side and customer-side ports, the active panel permits the physically pre-provisioned cross-connect infrastructure of the communication facility (representing a pool of interconnect capacity from/to the active panel) to be dynamically selected, configured, and used on-demand by the customers. For example, individual circuits made available by the facility and connected to the provider-side ports of the active panel may be dynamically ‘pooled’ or ‘aggregated’ into higher capacity interconnects or left isolated to provide dedicated capacity via configurable, logical interconnections within the active panel to customer-side ports. The active panel may thus improve provisioning speed for interconnects by reducing the need for manual installation or modification of physical cabling, may allow the customer to create both physical and logical circuits across the communication facility to providers and provider services of the customer's choosing, and may enable dynamic bundling of physical cables to create aggregation groups on demand. Moreover, dynamic configuration of the active panel may improve security by reducing the need for agents of the communication facility provider/operator to enter customer cages in order to configure interconnections.

In some examples, a cable patch panel comprises a software-configurable network interface device having a first side, a second side, a switch, and a configuration interface, the first side comprising a first plurality of network interface ports accessible only to a communication facility provider for a communication facility having an infrastructure network configured to interconnect a plurality of customer networks, the second side comprising a second plurality of network interface ports accessible only to a customer of the communication facility provider, and the configuration interface configured to, in response to receiving configuration data defining a connection between at least one port of the first plurality of network interface ports and at least one port of the second plurality of network interface ports, configure the switch to create the connection between the at least one port of the first plurality of network interface ports and the at least one port of the second plurality of network interface ports.

In some examples, a cage structure of a communication facility comprises a cage enclosure having at least one panel demarcating a customer area and a provider area, the cage enclosure enclosing the customer area accessible only to a customer of the communication facility provider; and a cable patch panel situated within the at least one panel comprising: a software-configurable network interface device having a first side, a second side, a switch, and a configuration interface, the first side comprising a first plurality of network interface ports accessible only to a communication facility provider for a communication facility having an infrastructure network configured to interconnect a plurality of customer networks, and the second side comprising a second plurality of network interface ports accessible only to the customer of the communication facility provider having access to the area enclosed by the cage enclosure, and the configuration interface configured to, in response to receiving configuration data defining a connection between at least one port of the first plurality of network interface ports and at least one port of the second plurality of network interface ports, configure the switch to create the connection between the at least one port of the first plurality of network interface ports and the at least one port of the second plurality of network interface ports.

In some examples, a method comprises receiving, by a configuration interface of a software-configurable network interface device of a cable patch panel, configuration data defining a connection between at least one port of the first plurality of network interface ports and at least one port of the second plurality of network interface ports, wherein the software-configurable network interface device includes a first side, a second side, and a switch, wherein the first side comprises a first plurality of network interface ports accessible only to a communication facility provider for a communication facility having an infrastructure network configured to interconnect a plurality of customer networks, and wherein the second side comprises a second plurality of network interface ports accessible only to a customer of the communication facility provider, configuring, by the configuration interface in response to the receiving, the switch to create the connection between the at least one port of the first plurality of network interface ports and the at least one port of the second plurality of network interface ports.

In some examples, a method comprises providing, by a programmable network platform (PNP), a software interface to receive service requests for configuration of interconnection services within network infrastructure of one or more network data centers that are controlled by the PNP and administered by a communication facility provider; receiving, by the PNP and via the software interface, a service request to configure an interconnection service within the network infrastructure of the one or more network data centers, wherein the network infrastructure within the one or more network data centers connect through one or more switching fabrics of the one or more network data centers; generating, by the PNP and based on the service request, configuration data defining a connection between at least one port of the first plurality of network interface ports of a cable patch panel and at least one port of the second plurality of network interface ports of the cable patch panel; and sending, by the PNP, the configuration data to the cable patch panel.

Like reference characters denote like elements throughout the figures and text.

DETAILED DESCRIPTION

In general, this disclosure describes active panel demarcation in which a dynamic, user-controllable/configurable active patch panel (or “active panel”) facilitates dynamic interconnectivity among customers and providers having a presence within a network interconnection infrastructure of a communication facility. The active panel may be employed as a network interface device (NID) within a customer cage mesh to provide on-demand service delivery within the communication facility (and in some cases to other such facilities proximal to the communication facility, e.g. within a metropolitan area), as well as cloud-ready infrastructure for enabling the rapid creation, updating, and deletion of cloud services connectivity to enterprise customers, for instance. By employing the active panel as described herein, the communication facility provider may reduce and in some cases eliminate media conversion between photonic and Ethernet packetized signals; per media-type port reservations and provisioning; patch panel assignments, tracking, and reservations; and physically running and connecting Ethernet or optical cables, e.g., between customer cages for each new/updated interconnect.

FIG. 1is a block diagram that illustrates a high-level view of a system1that provides an operating environment for a programmable network platform that administers, at least in part, connectivity for network infrastructure10and active panels12and14to interconnect cages2and4, in accordance with techniques described herein. In some cases, system1represents a cloud-based services exchange that interconnects cloud service providers (CSPs) to customers of the cloud-based services exchange at layer 3. In some aspects, system1represents an Ethernet exchange that interconnects customers of the Ethernet exchange.

Network infrastructure10includes layer 3 (L3) and layer 2 (L2) forwarding elements, which may include one or more routers, switches, and other L3/L2 forwarding devices. Network infrastructure10may further include one or more real servers that offer one or more compute/computing farms by which the network infrastructure10may offer services to customers associated with cages2,4and/or apply services to service traffic. Network infrastructure10allows respective active panels12,14of cages2and4associated with, e.g., a carrier/NSP, cloud service provider, or cloud customer, to be directly cross-connected via a provisioned virtual connection between ports of active panels12,14to each other, or to any other cage, thereby allowing direct exchange of network traffic among the customer networks, carrier networks, and cloud service providers networks.

Cages2and4are installed by the system1provider and provide a secure structure and location for a customer, carrier, or cloud service provider to store and access their systems, while also having access to network infrastructure10via a customer-side of active panels12and14. Cages2and4may also provide the system1provider with convenient and secure access to a provider-side of active panels12and14. For example, the provider may be able to access the respective provider-sides of active panels12and14without accessing the interior of cages2and4, where the customer-side of active panels12and14may be located. Likewise, the customers leasing or otherwise having access to the interiors of cages2,4may be able to access the respective customer-sides of active panels12,14, but may be prevented from accessing the provider-sides of active panels12,14. In some examples, the provider may able to access a secure hallway between cages2and4, which may allow access to the provider-side active panels12and14.

Active panels12and14are installed by the provider in respective cages2and4and provide a secure structure and location for the customer, carrier, or cloud service provider to connect their networks and/or systems to network infrastructure10via customer ports on the customer-side of respective active panels12and14. Active panels12and14may also provide a secure structure and location for the provider to connect the networks and/or systems of the customer, carrier, or cloud service provider to network infrastructure10via provider ports on the provider-side of respective active panels12and14. As described herein, active panels12and14may enable automation of the connection between the systems of the customer, carrier, or cloud service provider to network infrastructure10and hence to each other via provisioned virtual connections between the customer ports and the provider ports of active panel12or via provisioned virtual connections between the customer ports and the provider ports of active panel14.

Network interface devices (NIDs)6,8of respective active panels12,14include a collection of network interfaces or ports and may be configured according to techniques described herein to dynamically create, update, or delete connections between select provider-side ports and select customer-side ports (or, more simply, “customer ports”) of the NID. More specifically, NIDs6and8may allow for remote and on-demand provisioning by controller3via a configuration interface exposed by the NIDs. In some examples, NIDs6and8may allow for direct provisioning by the provider at the provider-side of active panels12and14.

In some examples, active panel12may be configured to enable a customer to access cloud services offered by cloud service providers (CSPs) or carriers via network infrastructure10from a customer-side port of NID6dynamically coupled to a provider-side port (or, more simply, “provider port”) of NID6. Cage2may also be used by the customer to access another cage used by the customer via network infrastructure10and a provisioned customer-side port to the provider port with one or more virtual connections of NID6.

In some examples, active panel14may be used by a network service provider (NSP) that is associated with a transit network by which network subscribers of the NSP access cloud services offered by cloud service providers (CSPs) via network infrastructure10and a provisioned NSP port to the provider ports with one or more dynamically-configured connections within NID8. In general, customers of CSPs may include network carriers, large enterprises, managed service providers (MSPs), as well as Software-as-a-Service (SaaS), Platform-aaS (Paas), Infrastructure-aaS (IaaS), Virtualization-aaS (VaaS), and data Storage-aaS (dSaaS) customers for such cloud-based services as are offered by the CSPs via network infrastructure10.

In this way, network infrastructure10and active panels12and14streamline and simplify the process of partnering CSPs and customers (via carriers or directly) in a secure and convenient manner. One example application of network infrastructure10and active panels12and14may be a co-location and interconnecting data center in which CSPs, carriers, and/or customers may already have network presence. In this example, one or more customer ports may be dynamically connected to one or more provider ports within respective active panels12,14, which may allow for interconnection within the data center via network infrastructure10. In other words, network infrastructure10and active panels12and14may allow for the participating carriers, customers, and CSPs to have a wide range of interconnectivity options in the same facility.

System1includes programmable network platform (PNP)3, alternatively referred to herein as an “interconnection platform.” Programmable network platform3may expose a software interface that defines the methods, fields, and/or other software primitives by which application(s)5may invoke PNP3to provision one or more virtual connections between cages2,4. In this way, the interface to PNP3allow customers, carriers, and CSPs programmable access to capabilities and assets of network infrastructure10by connecting customer ports to provider ports of active panels12,14in order to establish one or more connections to network infrastructure10that is physically connected to the provider ports. By also provisioning a virtual connection within network infrastructure10, PNP3is able to interconnect customer ports of NID6and customer ports of NID8. In this way, the end-to-end path setup between specific customer ports of NIDs6,8may be performed on-the-fly and may allow the system1provider to avoid having to manually patch network infrastructure10cabling to particular provider ports of the NIDs6,8in order to establish connectivity for an interconnection service. Moreover, this end-to-end path setup may be performed despite the system1provider not having access to any of the customer ports of the NIDs6,8that are securely located within respective cages2,4.

Application(s)5represents at least one application that invokes programmable network platform3to provision an interconnection service within network infrastructure10to dynamically establish connectivity between customer ports of NIDs6and customer ports of NID8. Application(s)5represent client-side software for interfacing with the programmable network platform3and may include a customer portal, customer applications, a system1provider application, a console such as a command-line interface or graphical user interface, and/or a provider-developed application. Users/clients may include enterprise customers, the system1provider, and cloud service providers, for instance.

Programmable network platform3may represent an application executing within one or more data centers of system1or alternatively, off-site at a back office or branch of the system1provider (for instance). Although shown as administering a single communication facility, programmable network platform3may control service provisioning for multiple different interconnection facilities. Alternatively or additionally, multiple separate instances of the programmable network platform3may control service provisioning for respective multiple different interconnection facilities.

Programmable network platform3may provide an extensible software interface framework that allows software developers associated with the customers of network infrastructure10, including enterprise, NSP, and other service providers, to create software applications that allow and leverage access to the programmable network platform by which the applications may request that the customer ports of an active panel be provisioned to provider ports of the active panel in order to establish connectivity and obtain interconnection and other services from network infrastructure10.

As further described herein, PNP3invokes configuration interfaces18,20of respective active panels12,14to enable dynamic and on-demand provisioning of virtual connections between customer ports and provider ports within an active panel and by extension between customer ports in active panel12and customer ports in active panel14, thus and allowing for the end-to-end path interconnection of customer and service provider networks in network infrastructure10, or between customer networks for the same customer located in different cages. In this way, programmable network platform3and the one or more virtual connections of NIDs6and8may enable the automation of aspects of services provisioning. For example, the configuration interfaces18,20may provide an automated and seamless way for customers to provision customer ports to provider ports of an active panel.

Each of configuration interfaces18,20may represent an application programming interface (API) that defines the methods, fields, and/or other software primitives by which PNP3may modify a configuration of the corresponding active panel. Configuration interface18, for example, may be invoked by an application (e.g., PNP3) to create, modify, or remove a connection between any customer port of the active panel12and any provider port of the active panel12, such that packets received at a customer port are switched by the NID6to the associated provider port, and vice-versa. Configuration interface18may further enable PNP3to determine a current configuration of the active panel12. Further, customer ports of the active panel12may be configured as part of a virtual local area network (VLAN) or VxLAN for a customer network within cage2and associated with one or more provider ports of the active panel12such that VLAN traffic received at the customer port is switched out of the associated provider ports for forwarding within the network infrastructure10, e.g., according to an interconnection service provided by the system1provider (also referred to herein as an “interconnection service provider”). Interconnection services may include, e.g., layer 2 services such as Virtual Private LAN Services (VPLS), E-LINES, or other layer 2 virtual connections/virtual private networks; layer 3 services such as an L3 virtual private networks (L3VPNs); and one or more connectivity services provided in an OSI or TCP/IP layer that is greater than L3, such as Application, Presentation, Session, and Transport layer services (“L3+ services”).

As further described herein, NIDs6and8of respective active panels12and14may also provide direct provisioning of virtual connections between customer and provider ports in active panels12,14for interconnecting customer and cloud service provider networks. In this way, the one or more virtual connections of NIDs6and8may enable the automation of aspects of cloud services provisioning. For example, active panels12and14may provide the provider direct and secure access to NIDs6and8, which may enable a secure and automated way for the provider to provision customer and provider ports of an active panel, that is, establish, de-install and manage provisioned ports of active panels12,14and interconnection with multiple, different cloud providers participating in network infrastructure10. In this example, direct access to NIDs6and8and the automated way for the provider to provision ports of an active panel may eliminate the need for the provider to provision the active panels12,14with physical cross-connects and Ethernet or optical cable runs.

In some examples, access panels on the provider/corridor side of active panels12,14are associated with security devices that prevent access to the provider ports to those parties not having the appropriate credentials, token, or key, for instance. The security devices may include a lock, a recognition device, a key card access device, a keypad access device, or other security device.

In some examples, active panels12,14represent a pool of interconnect capacity that can be selected, configured and used on-demand by the customer. Individual virtual connections of NIDs6and8may be dynamically “pooled” into higher capacity interconnects or left isolated to provide dedicated capacity (similar to manual provisioning services). In other words, active panels12,14enable a customer to dynamically adjust bandwidth capacity and increase provisioning speed. For example, a customer agent using programmable network platform3may bundle, on-demand, physical cables together creating aggregation groups. Additionally or alternatively, in another example, a customer using programmable network platform3may create both physical and logical circuits across network infrastructure10to access cloud service providers on-demand. Additionally or alternatively, in another example, a customer may use programmable network platform3to decrease the amount of time required to provision services. In this example, the decrease in the amount of time required to provision service may be from avoiding manual installation of physical cabling by pre-installing the physical cabling for network infrastructure10to active panels12,14. On-demand service provisioning may also improve security of the cages2,4by reducing the need for agents the communication facility provider/operator to enter customer cages to patch cables to the customer-side ports accessible from the inside of the customer cages, configure the patch panel, or otherwise set up interconnections.

In some examples, NIDs6,8of active panels12,14may use an already available power source. For example, NIDs6,8may use a low voltage DC power system that is already configured to provide power to cameras and bio-metric hand scanners in cages2,4and/or throughout a data center.

In this way, each of active panels12,14is a virtualized universal service access point to which customers can connect and consume interconnect services on-demand, without manual intervention by the system1provider. For instance, the active panel12enclosure and NID6, including a configurable switch for switching packets between provider ports (including, e.g., uplink transceivers) and customer ports, may be coupled to fiber optic cables of network infrastructure. Collectively, these make up the active panel12which represents a pool of interconnect capacity that can be consumed on-demand by the cage2customer by creating local physical interconnects to the active panel12within cage2(i.e., no system1provider intervention is required within the customer cage2) and requesting interconnect services on-demand through application(s)5. The size of the switch, the uplink capacity and the fiber counts can all vary in size based on the size of the customer cage2and expected demand. The active panel may be installed at the time a cage is built and have dimensionality that conforms to manually provisioned in-cage mesh patch panels, in some examples.

FIG. 2is a block diagram that illustrates a high-level view of data center101that provides an operating environment for communication facility100, in accordance with techniques described herein. In the example ofFIG. 2, data center or “communication facility”101may include communication facility100, programmable network platform103, and active panels208A-208N (collectively “active panels208”), which may correspond to network infrastructure10, programmable network platform3, and active panels12and14as described inFIG. 1.

In some examples, communication facility100allows a corresponding one of customer networks104D,104E and carrier networks104A-104C (collectively, “private networks104”) of any carriers106A-106C (collectively, “carriers106”) or other cloud customers including customers107A,107B to be directly cross-connected, via active panels208A-208N to any other customer network and/or to any of cloud service providers110A-110N (collectively, “CSPs110”), thereby allowing direct exchange of network traffic among the customer networks and CSPs110.

Carriers106may each represent a network service provider that is associated with a transit network by which network subscribers of the carrier106may access cloud services offered by CSPs110via the communication facility100. In general, customers of CSPs110may include network carriers, large enterprises, managed service providers (MSPS), as well as Software-as-a-Service (SaaS), Platform-aaS (Paas), Infrastructure-aaS (IaaS), Virtualization-aaS (VaaS), and data Storage-aaS (dSaaS) customers for such cloud-based services as are offered by the CSPs110via the communication facility100.

Active panels208may each represent an active demarcation panel between carriers106, customers107A,107B, and CSPs110and the provider of network infrastructure122, also referred to herein as a “cloud exchange provider” in aspects of data center101that include a cloud exchange point. Communication facility100of data center101includes network infrastructure122that provides a L2/L3 switching fabric by which CSPs110and customers/carriers interconnect via a switching module of active panels208. This enables a carrier/customer to have options to create many interconnections with only a one-time hook up to an active panel and provisioning of the switching module of the active panel with programmable network platform103of communication facility100. In other words, instead of having to establish separate connections across transit networks to access different cloud service providers or different cloud services of one or more cloud service providers, communication facility100allows customers to interconnect to multiple CSPs and cloud services using active panels208and network infrastructure122within data center101.

In some examples, APIs114facilitate machine-to-machine communication to enable dynamic and on-demand provisioning of virtual connections in the metro-wide infrastructure for interconnecting customer and provider networks. In this way, programmable network platform103enables the automation of aspects of cloud services provisioning. For example, the software interfaces may provide an automated and seamless way for customers to establish, de-install and manage provisioned ports of active panels208and interconnection with multiple, different cloud providers participating in the cloud exchange.

In some examples, communication facility100includes an API gateway112having one or more processors that executes one or more applications that expose software interfaces defined according to APIs114. The applications may invoke services that correspond to endpoints of the APIs114, and the services may themselves invoke the programmable network platform service of orchestration engine118. API gateway112may execute on a management device such as one or virtual machines and/or real servers of data center101. Although shown as a single element inFIG. 2, API gateway112may comprise a cluster of one or more physical and/or virtual computing machines executing on one or more physical processors.

In some examples, cloud exchange includes an orchestration engine118that organizes, directs and integrates underlying software sub-systems120for managing various aspects of interconnection within the network infrastructure122including provisioning of active panels208as well as cloud services management. The orchestration engine118may, for example, provide a rule-drive workflow engine that operates between the APIs114and the underlying programmable network platform of communication facility100that includes sub-systems120and network infrastructure122. In this way, the orchestration engine118can be used by customer-proprietary applications and the APIs114for direct participation with programmable network platform103of the communication facility100. In other words, the orchestration engine118offers a “programmable network platform service” having various application engines to handle the API gateway112service requests.

As described in further detail below, sub-systems120may offer “provisioning services” invokable by orchestration engine118. Sub-systems120and orchestration engine118may each be centralized or distributed applications and may execute on a management device such as one or virtual machines and/or real servers of data center101.

Network infrastructure122represents the switching fabric of communication facility100connected to the provider ports of active panels208that may be dynamically provisioned to customer ports with virtual connections by invoking APIs114according to techniques described herein. Each of the customer ports of active panels208that may be dynamically provisioned is associated with one of carriers106, customers107, and CSPs110.

FIG. 3is a block diagram illustrating an example of a plurality of active panels208managed by programmable network platform103of communication facility100to provide cross-connect availability between cages124, in accordance with techniques described herein. In this example, communication facility100provides active panels208A-208D (collectively “active panels208”) of respective cages124A-124D (collectively “cages124”) and programmable network platform103. In the example ofFIG. 3, communication facility100may include network infrastructure122, programmable network platform103, cages124A-124D (collectively “cages124”), and active panels208A-208D (collectively “active panels208”), which may correspond to network infrastructure10, programmable network platform3, cages2and4, and active panels12and14as described inFIG. 1.

In the example ofFIG. 3, programmable network platform103may allow for provisioning customer ports to provider ports of active panels208in order to access virtual circuits150,155,160,165,170for cross-connecting carrier networks205,210,215and220.

As shown in the example ofFIG. 3, communication facility100exposes a collection of software interfaces114, also referred to herein as application programming interfaces (APIs), that allow customer systems196A-196D (collectively “customer systems196”) programmatic access to capabilities and assets of programmable network platform103of communication facility100. That is, software interfaces114provide an extensible framework that allows software developers associated with the customers of communication facility100to create software applications executable on customer systems196that allow and leverage access to sub-systems120of communication facility100. Underlying subsystems120of communication facility100may, for example, control provisioning and managing of all aspects of communication facility100, including: (1) provisioning ports and interconnects of active panels208, (2) identification and authorization of carriers, (3) management and fulfillment of orders, (4) delivery of network services, (5) managing inventory and capacity, (6) managing and reporting/alerting incidence, and (7) content management.

As such, carriers106and other customers of communication facility100, such as network services providers, cloud services providers, managed service providers and other enterprises may make use of the software interfaces exposed by the programmable network platform to manage their direct cross-connects with other carriers via provisioning of active panels208. That is, software interfaces114enable machine-to-machine communication, shown as dotted arrows inFIG. 3, between network infrastructure and provisioning/billing/accounting/AAA systems positioned within different carrier networks205,210,215and220for carriers106establishing and managing direct cross-connects. As such, software interfaces114enable near real-time setup and modifications of provisioned ports, e.g., virtual connections within active panels208, and may also eliminate or reduce the need for human interaction for the entire provisioning set-up and management process. In this way, the software interfaces provide an automated and seamless way for carriers106to establish, de-install and manage provisioned ports of active panels208and interconnection with multiple, different customers participating in communication facility100.

Moreover, as further shown in the example ofFIG. 2, communication facility100includes an internal orchestration engine118that organizes, directs and integrates underlying software and network sub-systems120for managing various aspects of the provisioning services provided by communication facility100. Orchestration engine118may, for example, provide a rule-drive workflow engine that operates between APIs114and the underlying programmable network platform provided by subsystems120of communication facility100. In this way, orchestration engine118can be invoked by customer-proprietary applications executing on customer systems196by way of APIs114for direct participation within the programmable network platform of the metro-wide infrastructure.

As described herein, orchestration engine118synthesizes the information and actions from underlying sub-systems120of the programmable network platform to formulate intelligent next steps and responses to the customer applications. As such, orchestration engine118abstracts the complexity of the underlying software and network sub-systems120of the communication facility100by providing a uniform, simplified and secured means to access the programmable network platform.

Further example details of an communication facility100that includes a cloud-based services exchange are found in U.S. Provisional Patent Application 62/149,374, filed Apr. 17, 2015 and entitled “Cloud-Based Services Exchange;” U.S. Provisional Patent Application 62/072,976, filed Oct. 30, 2014 and entitled “INTERCONNECTION PLATFORM FOR REAL-TIME CONFIGURATION AND MANAGEMENT OF A CLOUD-BASED SERVICES EXCHANGE;” and in U.S. Provisional Patent Application 62/160,547, filed May 12, 2015 and entitled “PROGRAMMABLE NETWORK PLATFORM FOR A CLOUD-BASED SERVICES EXCHANGE;” each of which are incorporated herein by reference in their respective entireties.

Further example details of an communication facility100that includes a carrier Ethernet exchange are found in U.S. Pat. No. 8,537,845 entitled “REAL TIME CONFIGURATION AND PROVISIONING FOR A CARRIER ETHERNET EXCHANGE”, filed Sep. 13, 2012; U.S. Utility application titled “REAL TIME CONFIGURATION AND PROVISIONING FOR A CARRIER ETHERNET EXCHANGE” filed on Sep. 2, 2010 having application Ser. No. 12/875,054; U.S. Provisional application titled “ETHERNET EXCHANGE” filed on Dec. 10, 2009 having application Ser. No. 61/285,371; U.S. Provisional application titled “PRIVATE NETWORK CONNECTIVITY PLATFORM” filed on Sep. 4, 2009 having application Ser. No. 61/239,997; U.S. Provisional application titled “ETHERNET EXCHANGE” filed on Apr. 12, 2010 having application Ser. No. 61/323,066; U.S. patent application titled “REAL TIME CONFIGURATION AND PROVISIONING FOR A CARRIER ETHERNET EXCHANGE” filed on Sep. 2, 2010 having application Ser. No. 12/875,054. Each of the above patents and patent applications are incorporated herein by reference in their respective entireties. Communication facility100may include both a carrier Ethernet exchange and a cloud-based services exchange, in some examples.

FIGS. 4-11are block diagrams each illustrating different examples of an active panel situated in a cage mesh demarcating a secure customer area within a cage from the provider area, in accordance with techniques described herein. Cage124and active panel208ofFIGS. 4-11may represent example instances of any of cage124and active panel208as described inFIG. 3.

FIG. 4is a block diagram illustrating a provider view of an example active panel208, in accordance with techniques described herein. In the example ofFIG. 4, active panel208includes provider Ethernet ports302A-302N (collectively “provider Ethernet ports302”) and provider optical ports304A-304N (collectively “provider optical ports304”), infrastructure conduit306, management configuration interface312, configuration port311, and switch350. In some examples, switch350may correspond to any of NID6,8described inFIG. 1.

Switch350is a network switch and/or a router device. In some examples, switch350as a network switch may be a computer networking device, which may use packet or cell switching to receive, process, and forward data to a destination device of one or more devices connected by switch350. In some examples, switch350may be an Ethernet switch. In some examples, switch350may also process data at the network layer (layer 3) by incorporating routing functionality to perform packet forwarding. In these examples, switch350may be a layer-3 switch or a multilayer switch. In some examples, switch350as a router device may be a networking device or module that forwards data packets between computer networks. In some examples, switch350may have a switching module configured to partition a single layer-2 network to create multiple distinct broadcast domains that are mutually isolated, such that packets may only pass between them via one or more routers. In other words, the switching module of switch350may be configured to provision ports of switch350by creating a virtual local area network (VLAN) between the ports of switch350. In some examples, switch350may be configured to perform at least one of Ethernet switching or photonic switching.

Provider Ethernet ports302are Ethernet ports on side316of switch350that are only accessible by the provider. Provider optical ports304are optical ports on side316of switch350that are only accessible by the provider. Infrastructure conduit306is a conduit for connecting provider Ethernet ports302and provider optical ports304to a metro-wide infrastructure (e.g., network infrastructure100as described inFIG. 3).

Management configuration interface312is an interface for configuring switching module of switch350to provide virtual connections between provider Ethernet ports302and provider optical ports304to the customer ports of switch350as described herein. In other words, an application may invoke management configuration interface312to control the switching module of switch350to provision the customer ports to provider Ethernet and optical ports302,304of switch350by creating, modifying, or removing connections between the customer ports and provider Ethernet and optical ports302,304of switch350.

In some examples, management configuration interface312includes a software-defined network (SDN) interface by which a SDN controller configures the active panel208. As such, programmable network platform3may configure active panel208by issuing configuration commands either directly to the active panel208by way of management configuration interface312, or indirectly to the active panel208via an SDN controller that manages the active panel208on behalf of the programmable network platform3. Programmable network platform3may in some instances be alternatively referred to as an orchestrator in that programmable network platform3orchestrates SDN controllers so as to configure active panels and and/or other elements of the network infrastructure to dynamically establish interconnections.

In some examples, provider Ethernet ports302and provider optical ports304(collectively “provider ports”) are connected to network infrastructure100via cabling within infrastructure conduit306at a first side of the provider ports, and are connected to the switching module of switch350at a second side of the provider ports. In some examples, management configuration interface312may be accessible by only the provider through at least one of the provider ports. In the illustrated example, management configuration interface312may be accessible by only the provider by a dedicated provider port311also coupled in this example to network infrastructure via a cable320running within infrastructure conduit306. As a result, a programmable network platform as described herein may access management configuration interface312via the network infrastructure in order to provision connections between provider ports302,304and customer ports. Although illustrated as set off from other provider ports302,304, provider port311may in some aspects be any of provider ports302,304utilized by the communication facility provider to send configuration commands to the switch350using the management configuration interface312.

FIG. 5is a block diagram illustrating a customer view of an example active panel208, in accordance with techniques described herein. In the example ofFIG. 5, active panel208includes customer Ethernet ports308A-308N (collectively “customer Ethernet ports308”) and customer optical ports310A-310N (collectively “customer optical ports310”), and switch350. In the example ofFIG. 5, active panel208and switch350may correspond to active panel208and switch350as described inFIG. 4.

Customer Ethernet ports308are Ethernet ports on side318of switch350that are only accessible by the customer within cage124. Customer optical ports310are optical ports on side318of switch350that are only accessible by the customer within cage124. In some examples, customer Ethernet ports308and customer optical ports310(collectively “customer ports”) are configured to be connected to networks and/or systems of the customer at a first side of the customer ports, and are connected to switch350as described inFIG. 4at a second side of the customer ports. The customer may perform “in-cage” cabling to connect Ethernet cables to Ethernet ports308and optical cables to optical ports310, each of the Ethernet and/or optical cables also connected to customer equipment securely situated within the cage124and inaccessible to the communication facility provider, among others. In this way, the customer may securely complete in-cage cabling in order to prepare for on-demand provisioning of interconnection services by the communication facility.

FIG. 6is a block diagram illustrating a side view of an example active panel208, in accordance with techniques described herein. In the example ofFIG. 6, active panel208includes provider Ethernet ports302and customer Ethernet ports308, configuration port311, and switch350. In the example ofFIG. 6, active panel208, provider Ethernet ports302, customer Ethernet ports308, and switch350may correspond to active panel208, provider Ethernet ports302, customer Ethernet ports308, and switch350as described inFIGS. 4 and 5.

Provider Ethernet ports302are Ethernet ports on side316of switch350that are only accessible by the provider, as shown by the dashed line representing the division between the provider and customer access of active panel208. Customer Ethernet ports308are Ethernet ports on side318of switch350that are only accessible by the customer within cage124defined in part by cage mesh125and the provider-customer demarcation shown by the dashed line representing the division between the provider and customer access to active panel208.

Switch350may be configured to provision connectivity between select customer Ethernet ports308to select provider Ethernet ports302based on an provisioning data from a programmable network platform (e.g., programmable network platform103as described inFIG. 3) received at configuration port311(or in some aspects via one of provider Ethernet ports302or provider optical ports304as described inFIG. 4).

FIG. 7is a block diagram illustrating a three-dimensional view of an example active panel208, in accordance with techniques described herein. In the example ofFIG. 7, active panel208includes switch350including provider optical ports304, customer optical ports310, and configuration port311. In the example ofFIG. 7, active panel208, provider optical ports304, customer optical ports310, and switch350may correspond to active panel208, provider optical ports304, customer optical ports310, and switch350as described inFIGS. 4 and 5.

Provider optical ports304are optical ports on side316of switch350that are only accessible by the provider, as shown by the dashed line representing the division between the provider and customer access of active panel208. Customer optical ports310are optical ports on side318of switch350that are only accessible by the customer within cage124, as shown by the dashed line representing the division between the provider and customer access of active panel208together with cage mesh125demarcating customer side318and provider side316. The communication facility provider technicians or agents walking corridor127may access the provider side318of active panel208.

FIG. 8is a block diagram illustrating a provider view of an example active panel208, in accordance with techniques described herein. In the example ofFIG. 8, active panel208includes provider Ethernet ports302A-302N (collectively “provider Ethernet ports302”), provider optical ports304A-304N (collectively “provider optical ports304”), management configuration interface312, and switch350. In the example ofFIG. 8, active panel208may be connected to a network infrastructure with multiple communication cables running through infrastructure conduit306.

Ethernet cables running through infrastructure conduit306may be pre-provisioned by the communication facility provider to any one or more of Ethernet ports302, and optical cables running through infrastructure conduit306may be pre-provisioned by the communication facility provider to any one or more of optical ports304.

FIG. 9is a block diagram illustrating a customer view of an example active panel208, in accordance with techniques described herein. In the example ofFIG. 9, switch350of active panel208includes customer Ethernet ports308A-308N (collectively “customer Ethernet ports308”), and customer optical ports310A-310N (collectively “customer optical ports310”) to which the customer may perform in-cage cabling by connecting one or more Ethernet cables and one or more optical cables, respectively.

FIG. 10is a block diagram illustrating a side view of an example active panel208, in accordance with techniques described herein. In the example ofFIG. 10, active panel208includes provider Ethernet ports302, provider optical ports304customer Ethernet ports308, customer optical ports310, management configuration interface312, input320, and switch350. In some examples, cage124, active panel208, provider Ethernet ports302, provider optical ports304customer Ethernet ports308, customer optical ports310, management configuration interface312, input320, and switch350may correspond to cage124, active panel208, provider Ethernet ports302, provider optical ports304customer Ethernet ports308, customer optical ports310, management configuration interface312, input320, and switch350as described inFIGS. 4 and 5.

In some examples, provider Ethernet ports302on side316of switch350and provider optical ports304on side318(collectively “provider ports”) are only accessible by the provider, as shown by the dashed line representing the division between the provider and customer access of active panel208. In some examples, customer Ethernet ports308on side318and customer optical ports310on side318(collectively “customer ports”) of switch350that are only accessible by the customer within cage124, as shown by the dashed line representing the division between the provider and customer access of active panel208.

FIG. 11is a block diagram illustrating the example active panel ofFIG. 10in three-dimensions.

Further example details of a demarcation panel in a cage can be found in U.S. Pat. No. 8,650,805, entitled “SYSTEMS AND METHODS FOR DMARC IN A CAGE MESH DESIGN” filed Sep. 7, 2010; U.S. Utility application titled “SYSTEMS AND METHODS FOR DMARC INA CAGE MESH DESIGN” filed on Sep. 7, 2010 having application Ser. No. 12/876,911; and U.S. Provisional application titled “A DMARC IN A CAGE MESH DESIGN” filed on May 17, 2010 having application Ser. No. 61/345,445. Each of the above patents and patent applications are incorporated herein by reference in their respective entireties.

FIG. 12is a block diagram illustrating an example active panel208with operations performed by example components of switch350for a programmable network platform for an communication facility, in accordance with techniques described herein.

Pass-through line322denotes sections of active panel208. In some examples, pass-through line322may create a first section where provider ports of switch350are dynamically provisioned by switching module375to customer ports of switch350based on provisioning data received by management configuration interface312and a second section where provider ports are directly and statically connected to customer ports. Although pass-through line322illustrates an example of customer optical ports310directly connected to provider optical ports304, pass-through line322in another example could illustrate customer Ethernet ports308directly connected to provider Ethernet ports302. In other words, switch350in various examples may have at least one customer Ethernet port308and/or customer optical port310directly and statically connected to provider Ethernet ports302and provider optical ports304.

Switching module375is controlled by management configuration interface312and enables management configuration interface312to dynamically provision the customer ports to the provider ports with virtual connections based on provisioning data received via cable320(e.g., an input from the provider, an input from a programmable network platform, or the like) by management configuration interface312according to techniques described herein.

In some examples, management configuration interface312may be configured to control switching module375to dynamically provision customer ports to provider ports based on an input from a programmable network platform (e.g., programmable network platform103as described inFIG. 3). In some examples, management configuration interface312may be configured to receive an input from the programmable network platform via one of the provider ports. In this way, management configuration interface312may be configured to control switching module375to dynamically and automatically provision customer ports to provider ports based on the input received from the programmable network platform.

In some examples, management configuration interface312may be configured to control switching module375based on provisioning data received from the provider to dynamically and automatically provision connections between customer ports and provider ports. In these examples, management configuration interface312may be configured to receive input320from the provider via a direct connection separate from provider ports. In this way, management configuration interface312may be configured to control switching module375to dynamically and automatically provision customer ports to provider ports based on the input received from the provider.

Switching module375includes programmable processors, controllers, or other configurable logic (such as ASICs, FPGAs, CPLDs, etc.) for physically or logically connecting provider ports to customer ports, and vice-versa. Switching module375may represent a cross-bar switch or switching fabric, an Ethernet or other L2 switch, a VLAN-enable Ethernet switch, a photonic or optical switch for layer 0 and/or layer 1 switching, or other logic or mechanisms for directing packets received on a provider port to a connected customer port, according to a configuration of switch350.

Switching module375may in some examples switch packets received on customer Ethernet port308A, e.g., for output via multiple provider Ethernet ports302A-302N. As noted above, pre-provisioned cross-connect infrastructure of the communication facility represents a pool of interconnect capacity connected to the provider ports and may be dynamically selected and used on-demand by customers, with provisioning of the active panel208. In response to receiving provisioning data received via management configuration interface312connecting Ethernet ports302A-302B with customer Ethernet port308A, switching module375may multiplex customer-sourced packets received on customer Ethernet port308A for output via provider Ethernet ports302A-302B. In some examples, switching module375may use statistical multiplexing to balance uplink traffic via the provider Ethernet ports302A-302B, at least in some cases proportional to the respective uplink bandwidths for the provider Ethernet ports302A-302B. Such statistical multiplexing may be based on the number of packets, the number of bytes, and the number of flows, for instance.

In some examples, switch350is configured to logically interconnect provider ports302and customer ports308using VLANs, according to provisioning data received via management configuration interface312. For example, customer port308A may be configured with VLAN1, and VLAN1may be mapped to provider port302A such that packets received on customer port308A are forwarded via provider port302A. In this way, the active panel208enables multiplexing multiple customer services over a common endpoint.

FIG. 13is a block diagram illustrating further details of one example of a computing device that operates in accordance with one or more techniques of the present disclosure.FIG. 13may illustrate a particular example of a server or other computing device500that includes one or more processor(s)502for executing any one or more of API gateway112, orchestration engine118, sub-systems120, configuration management interface312, switch350, or any other computing device described herein. Other examples of computing device500may be used in other instances. Although shown inFIG. 13as a stand-alone computing device500for purposes of example, a computing device may be any component or system that includes one or more processors or other suitable computing environment for executing software instructions and, for example, need not necessarily include one or more elements shown inFIG. 13(e.g., communication units506; and in some examples components such as storage device(s)508may not be co-located or in the same chassis as other components).

As shown in the specific example ofFIG. 13, computing device500includes one or more processors502, one or more input devices504, one or more communication units506, one or more output devices512, one or more storage devices508, and user interface (UI) device510, and communication unit506. Computing device500, in one example, further includes one or more applications522, virtual concept-building application524, and operating system516that are executable by computing device500. Each of components502,504,506,508,510, and512are coupled (physically, communicatively, and/or operatively) for inter-component communications. In some examples, communication channels514may include a system bus, a network connection, an inter-process communication data structure, or any other method for communicating data. As one example, components502,504,506,508,510, and512may be coupled by one or more communication channels514.

Processors502, in one example, are configured to implement functionality and/or process instructions for execution within computing device500. For example, processors502may be capable of processing instructions stored in storage device508. Examples of processors502may include, any one or more of a microprocessor, a controller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or equivalent discrete or integrated logic circuitry.

One or more storage devices508may be configured to store information within computing device500during operation. Storage device508, in some examples, is described as a computer-readable storage medium. In some examples, storage device508is a temporary memory, meaning that a primary purpose of storage device508is not long-term storage. Storage device508, in some examples, is described as a volatile memory, meaning that storage device508does not maintain stored contents when the computer is turned off. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art. In some examples, storage device508is used to store program instructions for execution by processors502. Storage device508, in one example, is used by software or applications running on computing device500to temporarily store information during program execution.

Storage devices508, in some examples, also include one or more computer-readable storage media. Storage devices508may be configured to store larger amounts of information than volatile memory. Storage devices508may further be configured for long-term storage of information. In some examples, storage devices508include non-volatile storage elements. Examples of such non-volatile storage elements include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories.

Computing device500, in some examples, also includes one or more communication units506. Computing device500, in one example, utilizes communication units506to communicate with external devices via one or more networks, such as one or more wired/wireless/mobile networks. Communication units506may include a network interface card, such as an Ethernet card, an optical transceiver, a radio frequency transceiver, or any other type of device that can send and receive information. Other examples of such network interfaces may include 3G and WiFi radios. In some examples, computing device500uses communication unit506to communicate with an external device.

Computing device500, in one example, also includes one or more user interface devices510. User interface devices510, in some examples, are configured to receive input from a user through tactile, audio, or video feedback. Examples of user interface devices(s)510include a presence-sensitive display, a mouse, a keyboard, a voice responsive system, video camera, microphone or any other type of device for detecting a command from a user. In some examples, a presence-sensitive display includes a touch-sensitive screen.

One or more output devices512may also be included in computing device500. Output device512, in some examples, is configured to provide output to a user using tactile, audio, or video stimuli. Output device512, in one example, includes a presence-sensitive display, a sound card, a video graphics adapter card, or any other type of device for converting a signal into an appropriate form understandable to humans or machines. Additional examples of output device512include a speaker, a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), or any other type of device that can generate intelligible output to a user.

Computing device500may include operating system516. Operating system516, in some examples, controls the operation of components of computing device500. For example, operating system516, in one example, facilitates the communication of one or more applications522and programmable network platform application(s)524with processors502, communication unit506, storage device508, input device504, user interface devices510, and output device512.

Application522and programmable network platform application(s)524may also include program instructions and/or data that are executable by computing device500. Example programmable network platform application(s)524executable by computing device500may include any one or more of orchestration engine module550, API gateway module552, and sub-systems554, each illustrated with dashed lines to indicate that these may or may not be executable by any given example of computing device500.

Orchestration engine module550may include instructions for causing computing device to perform one or more of the operations and actions described in the present disclosure with respect to orchestration engine118. As one example, orchestration engine module550may include instructions that cause computing device500to organize, direct and integrate underlying software sub-systems of the programmable network platform for a network infrastructure, including managing various aspects of provisioned ports of active panels208, interconnecting customer ports of an active panel208to provider ports of the active panel208, provisioning connectivity between customer networks within the network infrastructure and cloud service provider networks, orchestrating native services (e.g., firewall, network address translation, deep packet inspection, traffic shaping, DDoS) within the communication facility, and/or cloud services management, for instance. The orchestration engine module550may, for example, provide a rule-driven workflow engine that operates between the APIs and the underlying programmable network platform of a metro-wide infrastructure that includes sub-systems and network infrastructure.

API gateway module552may include instructions for causing computing device to perform one or more of the operations and actions described in the present disclosure with respect to API gateway112. As one example, API gateway module552may include instructions that cause computing device500to expose a collection of software interfaces, e.g., APIs114, that define the methods, fields, and/or other software primitives by which applications may invoke the programmable network platform. These software interfaces allow carriers and customers programmable access to capabilities and assets of a cloud exchange.

Sub-systems554may include instructions for causing computing device to perform one or more of the operations and actions described in the present disclosure with respect to sub-systems120.

FIG. 14is a block diagram illustrating an example end-to-end service dynamically established between customer networks of a communication facility, in accordance with techniques described herein. Network system600includes network infrastructure602and cages604A-604B of a communication facility. Each of cages604A-604B includes a corresponding active panel606A-606B providing secure access to customers and the communication facility provider, as well as dynamic interconnection of customer and provider ports according to techniques described in this disclosure. Each of active panels606A-606B includes a corresponding one of NIDs607A-607B, which may represent example instances of NIDs6,8ofFIG. 1.

Programmable network platform3provisions network infrastructure with two different example types of layer 2 virtual private networks (L2VPNs), an E-LINE network612and a Virtual Private LAN Service (VPLS)614. E-LINE network612is a point-to-point L2VPN that in this example connects at least one provider port of NIC607A to one provider port of NIC607B through network infrastructure602. E-LINE network612may represent or include, for instance, a provider VLAN or VxLAN, a pseudowire, another tunnel, and/or a physical connection. In order to provision connectivity between respective L2 networks of customer A of cage604A and customer B of cage604B, in conjunction with provisioning E-LINE612, programmable network platform3additionally sends configuration data603that provisions NIDs607A,607B to interconnect the provider ports, to which E-LINE612is connected, to the customer ports of the NIDs607A,607B to which the customer L2 networks are connected. In the illustrated example, VLAN616(associated with VLAN id300) is a customer L2 network of customer A and VLAN608(associated with VLAN id400) is a customer L2 network of customer B. Configuration data603causes NID607A to be configured to interconnect a customer port of NIC607A that is configured with VLAN616and a provider port of NIC607A that is connected to E-LINE612. Configuration data603also causes NID607B to be configured to interconnect a customer port of NIC607B that is configured with VLAN608and a provider port of NIC607B that is connected to E-LINE612. In this way, programmable network platform3may dynamically configure active panels606to interconnect different customer networks of the communication facility via the infrastructure network602.

VPLS614is a multipoint-to-multipoint L2VPN that in this example connects at least one provider port of NIC607A to one provider port of NIC607B through network infrastructure602. VPLS614may represent or include, for instance, a provider VLAN or VxLAN, a mesh of pseudowires, and/or a physical LAN. In order to provision connectivity between respective L2 networks of customer A of cage604A and customer B of cage604B, in conjunction with provisioning VPLS614, programmable network platform3additionally sends configuration data603that provisions NIDs607A,607B to interconnect the provider ports, to which VPLS614is connected, to the customer ports of the NIDs607A,607B to which the customer L2 networks are connected. In the illustrated example, VLAN618(associated with VLAN id301) is a customer L2 network of customer A and VLAN610(associated with VLAN id401) is a customer L2 network of customer B. Configuration data603causes NID607A to be configured to interconnect a customer port of NIC607A that is configured with VLAN618and a provider port of NIC607A that is connected to VPLS614. Configuration data603also causes NID607B to be configured to interconnect a customer port of NIC607B that is configured with VLAN610and a provider port of NIC607B that is connected to VPLS614. In this way, programmable network platform3may dynamically configure active panels606to interconnect different L2 customer networks of the communication facility via the infrastructure network603.

FIG. 15is a block diagram illustrating an example end-to-end layer 3 service dynamically established between customer networks of a communication facility, in accordance with techniques described herein. Network system700includes network infrastructure702and cages704A-704B of a communication facility. Each of cages704A-704B includes a corresponding active panel706A-706B providing secure access to customers and the communication facility provider, as well as dynamic interconnection of customer and provider ports according to techniques described in this disclosure. Each of active panels706A-706B includes a corresponding one of NIDs707A-707B, which may represent example instances of NIDs6,8ofFIG. 1.

In this example, network infrastructure702includes a layer 3 (L3) autonomous system having a plurality of edge routers interconnected by an iBGP mesh to provide layer 3 connectivity between customer networks that peer to the L3 autonomous system according to an L3 routing protocol to exchange L3 routes with the L3 autonomous system, and in doing so facilitate end-to-end layer 3 connectivity between the customer networks.

Programmable network platform3may provision network infrastructure720with virtual routing and forwarding tables (VRFs) for a layer 3 interconnection service between cages704A and704B, in order to connect (at layer 3) the customer L3 autonomous system having AS number (ASN)64500and associated with customer A with the customer L3 autonomous system having ASN64501and associated with customer B. Such provisioning may include attachment circuits connecting NID707A to the edge router having network address 192.168.51.130 and connecting NID707B to the edge router having network address 192.168.51.134. At least one provider port of NID707A couples NID707A to at least one cable offering connectivity, e.g., as part of an attachment circuit, to network infrastructure702and in particular to the edge router having network address 192.168.51.130. At least one provider port of NID707B couples NID707B to at least one cable offering connectivity, e.g., as part of an attachment circuit, to network infrastructure702and in particular to the edge router having network address 192.168.51.133.

In order to provision end-to-end L3 connectivity between respective L3 autonomous systems of customer A of cage704A and customer B of cage704B, in conjunction with provisioning network infrastructure702, programmable network platform3additionally sends configuration data703that provisions NIDs707A,707B to interconnect the provider ports, to which the layer 3 network of network infrastructure702is connected, to the customer ports of the NIDs707A,707B to which the customer L2 networks for the corresponding L3 subnets are connected. In the illustrated example, VLAN718(associated with VLAN id500) is a customer L2 network of customer A for a subnet advertised to the L3 autonomous system of infrastructure network702; and VLAN710(associated with VLAN id500) is a customer L2 network of customer B for a subnet advertised to the L3 autonomous system of infrastructure network702. Configuration data703causes NID707A to be configured to interconnect a customer port of NIC707A that is configured with VLAN718and a provider port of NIC707A that is connected to the edge router having network address 192.168.51.130. Configuration data703also causes NID707B to be configured to interconnect a customer port of NIC707B that is configured with VLAN710and a provider port of NIC707B that is connected to the edge router having network address 192.168.51.133. In this way, programmable network platform3may dynamically configure active panels706to interconnect, via a layer 3 end-to-end path, different L2 customer networks having corresponding L3 subnets via the infrastructure network703.

FIG. 16is a block diagram illustrating a network system having active panels for customer cages in a communication facility, in accordance with techniques described herein. In this example, NIDs807A-807B of respective active panels806A-806B each have at least one provider port connected to a programmable network platform in order to receive configuration data803. VPLS812of network infrastructure802is configured to transport data from programmable network platform3to NIDs807A-807B and from NIDs807A-807B to programmable network platform3. Programmable network platform3may send configuration data803via VPLS812to NIDs807A-807B to provision the NIDs to connect at least one provider port to at least one customer port in order to establish connectivity between a customer network located in customer cage804A and a customer network located in customer cage804B. In the illustrated example, programmable network platform configures NIDs807A-807B to connect VLAN813A to VPLS811via NID807A and to connect VLAN813B to VPLS811via NID807B.

FIG. 17is a flowchart illustrating example process900for providing on-demand service provisioning with an active panel, in accordance with one or more aspects of the present disclosure.FIG. 17is described with reference to cage2ofFIG. 1. However, process900may also apply to cage4or any other cage of system1.

An interconnection service provider for a communication facility may construct cage2(902). Cage2includes active panel12. Active panel12may include network interface device (NID)6and configuration interface18. In some examples, before, during, or after construction of cage2with active panel12, the interconnection service provider may pre-provision NID6of active panel12with a physical connection to network infrastructure10. In some examples, before, during, or after construction of cage2with active panel12, the interconnection service provider may connect configuration interface18of active panel12to PNP3. In some examples, as part of constructing cage2, the interconnection service provider may secure cage2by allowing access to a tenant customer that leases cage2and preventing access to cage2to others. For example, as part of the construction of cage2, the interconnection service provider may install a security system that prevents access to cage2.

After construction of cage2, the interconnection service provider may allow for a customer to access cage2(904). For example, the interconnection service provider may provide the customer with a key or some other form of security access. Upon granting access to cage2, the interconnection service provider may also allow for the customer to complete in-cage cabling with active panels12of cage2(906). For example, the interconnection service provider may provide the customer physical access to customer ports on one side (e.g., the customer side) of active panel12of cage2. In this example, the interconnection service provider may also restrict the customer's physical access to provider ports on another side (e.g., the interconnection service provider side) of active panel12of cage2.

During or after customer completes in-cage cabling with active panel12, the interconnection service provider may provide on-demand service provisioning with active panel12(908). For example, the interconnection service provider may provide on-demand service provisioning via PNP3and configuration interface18of active panel12. The customer may request the interconnection service using a customer portal or other application. In other examples, prior to customer completing in-cage cabling with active panel12, the interconnection service provider may provide predetermined or pre-provisioned service provisioning with active panel12.

After provisioning active panel12, the interconnection service provider may allow for the customer to re-access cage2to change the in-cage cabling with active panel12(910). Similarly, after on-demand service provisioning of active panel12, the customer may request that the interconnection service provider provide on-demand service re-provisioning of active panel12(912). For example, the interconnection service provider may provide on-demand service re-provisioning via PNP3and configuration interface18of active panel12.

In this way, an interconnection service provider using technique900and cage2with active panel12may facilitate the pooling of physical resources while abstracting individual active panel port assignments from services, which may permit the virtualization of interconnection services by the interconnection service provider using, e.g., the interconnection platform. In other words, by decoupling the one-to-one or one-to-many dedicated connections between the provider-side and customer-side ports of active panel12, an interconnection service provider may use active panel12to permit the physically pre-provisioned cross-connect infrastructure of the communication facility (representing a pool of interconnect capacity) to be dynamically selected, configured, and used on-demand by the customer(s). For example, individual circuits made available by the interconnection service provider and that are connected to the provider-side ports of active panel12may be dynamically ‘pooled’ or ‘aggregated’ into higher capacity interconnects or left isolated to provide dedicated capacity via configurable, logical interconnections within active panel12to customer-side ports. The interconnection service provider may thus use active panel12to improve provisioning speed for interconnects by reducing the need for manual installation or modification of physical cabling, allow the customer to create both physical and logical circuits across the communication facility to providers and provider services of the customer's choosing, and enable dynamic bundling of physical cables to create aggregation groups on demand.