×

Self-driving content distribution

  • US 10,681,177 B2
  • Filed: 04/18/2017
  • Issued: 06/09/2020
  • Est. Priority Date: 04/18/2017
  • Status: Active Grant
First Claim
Patent Images

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.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×