Self-driving content distribution
First Claim
1. A self-driving content distribution platform in a network comprising a network controller, a network host, and a network switch for network service development, management, and operations, that utilizes content delivery instructions within special packets;
- wherein the network host produces and consumes the special packets, and the network host further comprises;
a. a physical or virtualized hardware for receiving and transmitting the special packets to and from the network as well as providing computational resources;
b. a computational environment for applications, the computational environment selected from a group comprising a container, operating system of virtual machine or physical server, or any other environment that is capable to run applications and can provide access to level 2/3 sockets,wherein the computational environment is adapted to functioning in self-driving content distribution environment,wherein an agent facilitates interactions between applications and network, the agent providing new communication endpoint capabilities to applications on an upper level and, at the same time, utilizes a standard level 2/3 networking capabilities of computational environment on a lower level;
wherein the network switch performs actions on the special packets coming from host communication endpoints or other network switches, the network switch;
implemented as a standalone appliance comprising both instruction execution and packet relay functional entities or the instruction execution functional entity may be implemented as a component by itself and integrated with an existing OpenFlow switch which provides packet relay functions;
the network switch further comprising the functional entities of;
a. a processor for execution of content delivery instructions wherein the processor;
parses and authorizes an incoming special packet,defines whether any of stored action sets can be applied to the special packet based on the special packet content, a switch policy, and stored flow records,retrieves a stored action set or executes delivery instructions from the special packet in order to produce a required action set,applies the required action set to the special packet in accordance to the switch policy;
b. a controller-side interface of an OpenFlow channel to support an interaction between the processor and the OpenFlow switch,wherein the interface;
receives the special packet, that might be encapsulated in an OpenFlow message comprising an OpenFlow packetIn, from the OpenFlow switch and redirects the special packet, extracted from the OpenFlow message, to the processor for further processing,receives the special packet from the processor, encapsulates the special packet in the OpenFlow message comprising an OpenFlow packetOut, and sends the special packet to the OpenFlow switch,receives a request to modify a state of the OpenFlow switch from the processor and sends the OpenFlow message comprising an OpenFlow flowMod to the OpenFlow switch,receives the OpenFlow message comprising an OpenFlow flowRemoved on a flow record removal from the OpenFlow switch and sends a notification to the processor,supports exchange of information about latency, bandwidth, liveness, change of port status, and statistics between the OpenFlow switch and the processor;
c. a component for packet relay, which is part of the network switch itself, wherein the component;
receives the special packet,temporarily stores the special packet, e.g. in pipeline or shared memory,invokes a packet processing function of the processor,provides the processor with access to the stored special packet for write/read operations during the processing,transmits or discards the special packet;
d. a component for packet relay, which is part of another network appliance comprising the OpenFlow switch,wherein the component;
receives the special packet,parses and validates the special packet in order to define whether to process the special packet locally by applying an action set already stored in flow tables or to send the special packet to the processor requesting a flow table update,matches the special packet to a flow record in flow tables or sends the special packet to the processor,applies the matching action set to the special packet,either discards or modifies-transmits the special packet;
e. a component for control data management,wherein the component;
controls the state of the switch and its links,maintains switch ingress, execution, and egress policy,supports exchange of information with the network controller,performs standard operations, administration and maintenance functions.
0 Assignments
0 Petitions
Accused Products
Abstract
A platform provides a novel mechanism of implementation and operation for network functions such as switching, routing, firewalling, load balancing, isolation, etc. In the prior art, all the network functions are defined and instantiated within the software- or hardware-based network appliances. In the present invention, all the network appliances execute only the content delivery instructions received from business applications. Virtual service templates are used by application developers to describe different sets of application communication roles. The new platform includes a controller that stores those templates, authorizes interactions between platform components, collects information about the running state of platform components, and assists applications with the use of the platform. In accordance with the role assignments, each application may request role-specific configuration from the controller, use it to generate content delivery instructions, and send data alongside with the instructions, in the form of a special packet, into the network.
-
Citations
2 Claims
-
1. A self-driving content distribution platform in a network comprising a network controller, a network host, and a network switch for network service development, management, and operations, that utilizes content delivery instructions within special packets;
-
wherein the network host produces and consumes the special packets, and the network host further comprises; a. a physical or virtualized hardware for receiving and transmitting the special packets to and from the network as well as providing computational resources; b. a computational environment for applications, the computational environment selected from a group comprising a container, operating system of virtual machine or physical server, or any other environment that is capable to run applications and can provide access to level 2/3 sockets, wherein the computational environment is adapted to functioning in self-driving content distribution environment, wherein an agent facilitates interactions between applications and network, the agent providing new communication endpoint capabilities to applications on an upper level and, at the same time, utilizes a standard level 2/3 networking capabilities of computational environment on a lower level; wherein the network switch performs actions on the special packets coming from host communication endpoints or other network switches, the network switch; implemented as a standalone appliance comprising both instruction execution and packet relay functional entities or the instruction execution functional entity may be implemented as a component by itself and integrated with an existing OpenFlow switch which provides packet relay functions; the network switch further comprising the functional entities of; a. a processor for execution of content delivery instructions wherein the processor; parses and authorizes an incoming special packet, defines whether any of stored action sets can be applied to the special packet based on the special packet content, a switch policy, and stored flow records, retrieves a stored action set or executes delivery instructions from the special packet in order to produce a required action set, applies the required action set to the special packet in accordance to the switch policy; b. a controller-side interface of an OpenFlow channel to support an interaction between the processor and the OpenFlow switch, wherein the interface; receives the special packet, that might be encapsulated in an OpenFlow message comprising an OpenFlow packetIn, from the OpenFlow switch and redirects the special packet, extracted from the OpenFlow message, to the processor for further processing, receives the special packet from the processor, encapsulates the special packet in the OpenFlow message comprising an OpenFlow packetOut, and sends the special packet to the OpenFlow switch, receives a request to modify a state of the OpenFlow switch from the processor and sends the OpenFlow message comprising an OpenFlow flowMod to the OpenFlow switch, receives the OpenFlow message comprising an OpenFlow flowRemoved on a flow record removal from the OpenFlow switch and sends a notification to the processor, supports exchange of information about latency, bandwidth, liveness, change of port status, and statistics between the OpenFlow switch and the processor; c. a component for packet relay, which is part of the network switch itself, wherein the component; receives the special packet, temporarily stores the special packet, e.g. in pipeline or shared memory, invokes a packet processing function of the processor, provides the processor with access to the stored special packet for write/read operations during the processing, transmits or discards the special packet; d. a component for packet relay, which is part of another network appliance comprising the OpenFlow switch, wherein the component; receives the special packet, parses and validates the special packet in order to define whether to process the special packet locally by applying an action set already stored in flow tables or to send the special packet to the processor requesting a flow table update, matches the special packet to a flow record in flow tables or sends the special packet to the processor, applies the matching action set to the special packet, either discards or modifies-transmits the special packet; e. a component for control data management, wherein the component; controls the state of the switch and its links, maintains switch ingress, execution, and egress policy, supports exchange of information with the network controller, performs standard operations, administration and maintenance functions.
-
-
2. A self-driving content distribution platform in a network comprising a network controller, a network host, and a network switch for network service development, management, and operations, that utilizes content delivery instructions within special packets;
-
wherein the network host produces and consumes special packets, and the network host further comprises; a. a physical or virtualized hardware for receiving and transmitting the special packets to and from the network as well as providing computational resources; b. a computational environment for applications, the computational environment selected from a group comprising a container, operating system of virtual machine or physical server, or any other environment that is capable to run applications and can provide access to level 2/3 sockets, wherein the computational environment is adapted to functioning in self-driving content distribution environment, wherein an agent facilitates interactions between applications and the network, the agent providing new communication endpoint capabilities to applications on an upper level and, at the same time, utilizes a standard level 2/3 networking capabilities of computational environment on a lower level; wherein the network controller executes network service deployment, management, and operation functions using special packet specifications, the network controller; provides administration of access controls to the specifications at flow, resource, service and user levels, maintains the special packet specifications, assists network hosts in setting up communication endpoints in accordance to the specifications, and authorizes network switches to establish links with hosts and other switches, i.e. network nodes, for special packets exchange; the network controller further comprising functional entities of; a. a network resource, service, and user database, wherein the database stores and enables access for other components of the network controller to information regarding; network resources;
network nodes and links, current network usage on flow level, administrative and operational statuses of the nodes and links,network services;
service templates and topic instances with special packet specifications, current network usage on communication endpoint level, administrative and operational statuses of the templates and topic instances,network users;
domains and users accounts, current network usage on user level, administrative and operational statuses of the domains and users accounts;b. an administrative web interface, wherein the interface enables access to platform management functions for administrators; c. an identity service component, wherein the service component enables; domain and network user management, authentication and high-level authorization of network users; d. a service support module, wherein the support module enables; management of network service templates and topic instances, configuration of host communication endpoints, additional host service-related setup; e. a network control module, wherein the control module enables; network resource management, comprising node and link management, if necessary, node and link registration, comprising registration of hosts and switches and links between them, nodes and links for participating in self-driving content distribution, switch usage policy updates.
-
Specification