TECHNICAL FIELD

The invention relates to computer networks and, more specifically, to a computer network for interconnecting customers co-located in a data center.

BACKGROUND

A network services exchange provider or co-location provider (a “provider”) may employ a communication facility, such as a data center, 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. Such customers are said to be “co-located” in the communication facility. A communication facility may be shared by the multiple tenants locating networking equipment within the communication facility. 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.

In some cases, the communication facility includes an interconnection system that provides interconnection services by which customers of the provider may interconnect to one another over the interconnection system infrastructure or by which a customer of the provider may interconnect its spatially and/or geographically distributed customer networking equipment over the communication facility infrastructure. The communication facility may in such cases be referred to as an “interconnection facility” or “co-location and interconnection facility.” An interconnection facility provider may provide services accessible to co-located customers via an interconnection, such services including, for example, a cloud exchange, Internet access, an Internet exchange, “metro connect” for reaching other communication facilities within a metropolitan area, a cross-connect from one customer to another, and other interconnection services. Interconnections may represent connections between customer networks for inter-customer interconnections (between different customers) or intra-customer interconnections (between areas of an interconnection center(s) that are operated/leased by a single customer).

Cloud computing refers to the use of dynamically scalable computing resources accessible via a network, such as the Internet. The computing resources, often referred to as a “cloud,” provide one or more services to users. These services may be categorized according to service types, which may include for examples, applications/software, platforms, infrastructure, virtualization, and servers and data storage. The names of service types are often prepended to the phrase “as-a-Service” such that the delivery of applications/software and infrastructure, as examples, may be referred to as Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), Infrastructure-as-a-Service (IaaS), Virtualization-as-a-Service (VaaS), and data storage-as-a-service (dSaaS).

The term “cloud-based services” or, more simply, “cloud services” refers not only to services provided by a cloud, but also to a form of service provisioning in which cloud customers contract with cloud service providers for the online delivery of services provided by the cloud. Cloud service providers manage a public, private, or hybrid cloud to facilitate the online delivery of cloud services to one or more cloud customers. An interconnection facility may interconnect cloud customers and cloud service providers using a cloud exchange, for example.

SUMMARY

In general, techniques are described for dynamic port configuration with an interconnection system to streamline a process for port ordering and reduce port configuration and interconnection services provisioning times. In some examples, the interconnection system includes a programmable network platform and an interconnection facility. The programmable network platform for the interconnection facility in some examples provides a port ordering interface by which customers of the interconnection system provider (“provider”) may order a port of the interconnection facility (e.g., a port of a network interface card of a network switch) to be dedicated by the provider for exchanging packets with a customer network of the customer that is co-located in the interconnection facility. A port provides a physical interface to the interconnection facility switch fabric, for instance, and underlies interconnection services for a customer network that is cross-connected to the port. The interconnection facility switch fabric is deployed and managed by the interconnection system provider to facilitate interconnection and service delivery among customer networks for customers of the provider.

The port ordering interface may be accessible via a customer portal deployed by the provider. Using the port ordering interface for ordering the port, the customer may specify one or more parameters for the requested port, such as a port model, size/bandwidth, or location, for example. Upon receiving a submitted port order, the programmable network platform may automatically determine an appropriate available port within the interconnection facility for the customer and creates a cross-connect task. A technician may then provision a physical cross-connect between the port and the customer co-location space according to the cross-connect task. Upon provisioning the physical cross-connect, the technician may then mark the cross-connect task as completed in a computing system in communication with the programmable network platform, which triggers the programmable network platform to configure the port according to the submitted port order and to provision services for the port according to interconnection products requested by the customer to be provided via the port in the submitted port order.

Once the programmable network platform determines from the interconnection facility network that the port has been successfully configured and, in some cases, provisioned to deliver the requested services, the programmable network platform notifies the customer that the port is ready for acceptance and use. In this way, the interconnection system may streamline port ordering and reduce port configuration and interconnection services provisioning times. For instance, the techniques may allow customers to directly order ports rather than working with salespeople and sales engineers to configure orders for entry into interconnection facility provider systems. Further, because manual port orders may have a high rate of data errors, which slow down order entry and processing, portal-based or API-based port ordering as described herein can improve customer data capture and speed port delivery while improving customer experience.

In another aspect of this disclosure, techniques are described for verifying, by a customer using the programmable network platform, configuration and provisioning of a purchased port of the interconnection facility. For example, a customer may verify a port of a network switch fabric that is cross-connected to a customer network in the customer cage to provide connectivity between the customer network and the interconnection facility network.

In some examples, the verification techniques may include mirroring the purchased port to cause traffic received at the port to be mirrored to a mirror port of the interconnection. The programmable network platform may receive mirrored traffic from the mirror port and output an indication of the mirror traffic to a simulation interface by which the customer of the interconnection system provider may determine whether the port is correctly provisioned. For example, using the simulation interface, the customer may determine from the indication of the mirrored traffic whether the customer is able to transmit/receive Ethernet frames, whether the port has visibility to a configured VLAN for a cross-connection with the customer network, whether the port is able to see customer MAC addresses, indications of configured bandwidth or port performance (e.g., dropped packets), and other indications of port configuration and provisioning.

In some examples, the verification techniques may include simulating, by the programmable network platform, customer operations to a customer of the interconnection system provider that has purchased a port of the interconnection facility. For example, the programmable network platform may include a simulation application that may exchange, via a customer-purchased port, data communications with a customer network that is connected to the port in a manner that simulates, to the customer network, typical communications of remote customer network co-located in the interconnection facility. In some cases, the simulation application simulates the operations of buyers (cloud customers, e.g., enterprises) or sellers (e.g., cloud services providers or resellers) of cloud services via a purchased port. In this way, the simulation application may impersonate ports or services that are programmed to behave like customers (e.g., cloud service buyers or cloud service sellers) interconnected to a customer that has requested simulated customer communications.

In some instances, the simulated customer operations may include simulating behavior of a remote customer network router to the customer network via the purchased port. The simulated remote customer network router may peer with the customer network router for a routing protocol to receive and advertise routes for the private layer 3 network that includes the customer network and the simulated remote customer network router. In this way, the customer may verify that establishing an interconnection to an actual remote customer network does not cause routing loops in the customer network.

The port verification techniques may provide one or more advantages. For example, the port verification techniques may allow a customer to perform self-service port testing. In other words, a customer may purchase a port and test, by operation of the simulation application, the customer's port and traffic capabilities within the interconnection system (e.g., the cloud exchange) to confirm appropriate configuration and functionality. This may streamline service provisioning and reduce a need for manual testing requiring participation of interconnection system provider technicians. The port verification techniques may be combined with portal-based port ordering to create a more fully self-service startup operation for customers of the interconnection facility provider.

In some examples, an interconnection system comprises at least one interconnection facility and a programmable network platform, the at least one interconnection facility including: a network switch fabric having at least one network device and a plurality of ports; and a customer cage for a customer of an interconnection system provider for the interconnection system, wherein the programmable network platform is configured to, in response to a port verification request initiated by the customer to verify a port of the plurality of ports that is cross-connected to a customer network in the customer cage to provide connectivity with the network switch fabric: obtain an indication of port configuration for the port; and output the indication of port configuration for the port for display to the customer.

In some examples, an interconnection system comprises at least one interconnection facility and a programmable network platform, the at least one interconnection facility including: a network switch fabric having at least one network device and a plurality of ports; a customer cage for a customer of an interconnection system provider for the interconnection system, wherein the programmable network platform is configured to, in response to a port verification request initiated by the customer to verify a port of the plurality of ports that is cross-connected to a customer network in the customer cage to provide connectivity with the network switch fabric: simulate a remote customer network reachable by the customer network via the port.

In some examples, a computing device comprises at least one programmable processor operably coupled to a memory; and a programmable network platform for at least one interconnection facility having a network switch fabric having at least one network device, a plurality of ports, and a customer cage for a customer of an interconnection system provider for the at least one interconnection facility, wherein programmable network platform is configured for execution by the at least one programmable processor to: in response to a port verification request initiated by the customer to verify a port of the plurality of ports that is cross-connected to a customer network in the customer cage to provide connectivity with the network switch fabric, obtain an indication of port configuration for the port and output the indication of port configuration for the port for display to the customer.

In some examples, a computing device comprises at least one programmable processor operably coupled to a memory; and a programmable network platform for at least one interconnection facility having a network switch fabric having at least one network device, a plurality of ports, and a customer cage for a customer of an interconnection system provider for the at least one interconnection facility, wherein programmable network platform is configured for execution by the at least one programmable processor to: in response to a port verification request initiated by the customer to verify a port of the plurality of ports that is cross-connected to a customer network in the customer cage to provide connectivity with the network switch fabric, simulate a remote customer network reachable by the customer network via the port.

In some examples, a method comprises receiving, by a programmable network platform for at least one interconnection facility having a network switch fabric having at least one network device and a plurality of ports and a customer cage for a customer of an interconnection system provider for the at least one interconnection facility, a port request for a customer co-located in an interconnection facility; and by the programmable network platform in response to a port verification request initiated by the customer to verify a port of the plurality of ports that is cross-connected to a customer network in the customer cage to provide connectivity with the network switch fabric, obtaining an indication of port configuration for the port and outputting the indication of port configuration for the port for display to the customer.

In some examples, a method comprises receiving, by a programmable network platform for at least one interconnection facility having a network switch fabric having at least one network device and a plurality of ports and a customer cage for a customer of an interconnection system provider for the at least one interconnection facility, a port request for a customer co-located in an interconnection facility; and by the programmable network platform in response to a port verification request initiated by the customer to verify a port of the plurality of ports that is cross-connected to a customer network in the customer cage to provide connectivity with the network switch fabric, simulating a remote customer network reachable by the customer network via the port.

The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.

