Patents by Inventor Simon Francis Capper

Simon Francis Capper has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11044197
    Abstract: In general, embodiments of the invention relate to processing network traffic data units (NTDUs). More specifically, embodiments of the invention relate to processing NTDUs transmitted between client device and the one or more protected resources. The protected resources are logically surrounded by a perimeter, which is implemented as a set of network devices that manage the flow of NTDUs between client devices and the protected resources. The perimeter works in conjunction with a set of filtering devices to determine whether a given NTDU can ultimately be transmitted to, and processed by, a protected resource.
    Type: Grant
    Filed: July 15, 2019
    Date of Patent: June 22, 2021
    Assignee: Arista Networks, Inc.
    Inventors: Simon Francis Capper, Kenneth James Duda, Hugh Holbrook
  • Publication number: 20210021515
    Abstract: In general, embodiments of the invention relate to processing network traffic data units (NTDUs). More specifically, embodiments of the invention relate to processing NTDUs transmitted between client device and the one or more protected resources. The protected resources are logically surrounded by a perimeter, which is implemented as a set of network devices that manage the flow of NTDUs between client devices and the protected resources. The perimeter works in conjunction with a set of filtering devices to determine whether a given NTDU can ultimately be transmitted to, and processed by, a protected resource.
    Type: Application
    Filed: July 15, 2019
    Publication date: January 21, 2021
    Inventors: Simon Francis Capper, Kenneth James Duda, Hugh Holbrook
  • Patent number: 10832370
    Abstract: A method and apparatus of a network element that processes data using a data processing pipeline with standby memory is described. In one embodiment, the network element prepares a new image for the data processing pipeline of the network element, where the data processing pipeline processes incoming network data received by the network element and the new image modifies a current set of functionalities of the data processing pipeline. The network element further writes the new image into a standby memory of the data processing pipeline, where the network element includes an active memory that programs the current set of functionalities of the data processing pipeline. In addition, the network element programs the data processing pipeline using the new image. The network element additionally processes the incoming network data received by using the data processing pipeline using modified current set of functionalities.
    Type: Grant
    Filed: March 27, 2018
    Date of Patent: November 10, 2020
    Assignee: Arista Networks, Inc.
    Inventors: Simon Francis Capper, Sebastiano Borgione, Navdeep Bhatia
  • Publication number: 20200319875
    Abstract: Embodiments disclosed herein relate to method and systems for updating hardware tables. Such methods may include receiving a flexible pipeline definition from a controller at a compiler; generating, by the compiler, a hardware table update initial instruction set; and transmitting the hardware table update initial instruction set to a network device. The network device may use the hardware table initial instruction set to configure the network device to implement the flexible pipeline definition for a network chip.
    Type: Application
    Filed: April 5, 2019
    Publication date: October 8, 2020
    Inventors: Prasanna Parthasarathy, Kenneth James Duda, Simon Francis Capper
  • Publication number: 20200322276
    Abstract: Certain embodiments disclosed herein relate to method for egress maximum transmission unit (MTU) enforcement. The method may include receiving a protocol packet at an ingress interface of a network device; make a first determination of a protocol packet payload length; performing an ingress MTU identifier lookup in an ingress MTU identifier table using the protocol packet payload length to obtain an ingress MTU identifier; performing a packet propagation lookup to obtain an egress MTU identifier; performing an MTU enforcement lookup in an MTU enforcement table using the ingress MTU identifier and the egress MTU identifier to obtain an egress action; and performing the egress action.
    Type: Application
    Filed: April 5, 2019
    Publication date: October 8, 2020
    Inventors: Prashanth Krishnamurthy, Simon Francis Capper, Tula Kraiser
  • Patent number: 10798014
    Abstract: Certain embodiments disclosed herein relate to method for egress maximum transmission unit (MTU) enforcement. The method may include receiving a protocol packet at an ingress interface of a network device; make a first determination of a protocol packet payload length; performing an ingress MTU identifier lookup in an ingress MTU identifier table using the protocol packet payload length to obtain an ingress MTU identifier; performing a packet propagation lookup to obtain an egress MTU identifier; performing an MTU enforcement lookup in an MTU enforcement table using the ingress MTU identifier and the egress MTU identifier to obtain an egress action; and performing the egress action.
    Type: Grant
    Filed: April 5, 2019
    Date of Patent: October 6, 2020
    Assignee: Arista Networks, Inc.
    Inventors: Prashanth Krishnamurthy, Simon Francis Capper, Tula Kraiser
  • Patent number: 10789059
    Abstract: A method and apparatus of a device that updates a software image for a network element is described. In an exemplary embodiment, a device receives a signal to update the network element with the new software image, where the network element includes a plurality of hardware forwarding engines and a control plane. The device further boots the control plane with the new software image, where the booting is accomplished without restarting the control plane. In one embodiment, the device boots the control plane by chain booting from a current software image to the new software image. The device additionally restarts and reconfigures the plurality of hardware forwarding engines. In a further embodiment, the device additionally prefills one or more queues in the hardware forwarding engines with keep-alive messages. These keep-alive messages are transmitted during the time that the control plane is being restarted. In a further embodiment, the hardware forwarding engines are reconfigured without restarting them.
    Type: Grant
    Filed: August 18, 2015
    Date of Patent: September 29, 2020
    Assignee: Arista Networks, Inc.
    Inventor: Simon Francis Capper
  • Publication number: 20200304368
    Abstract: In some implementations, a method is provided. The method includes receiving, by an agent of a first container of a network device from a second container of the network device, a request for a forwarding engine of the network device to perform an operation. The first container and the second container are located on a control plane of the network device. The first container comprises a set of drivers to support multiple types of forwarding engines. The first container further comprises an operating system. The method also includes providing the request to the operating system. The operating system uses a first driver of the set of drivers to communicate with the forwarding engine. The method further includes performing the operation requested by the second container. The method further includes providing a result of the operation to the second container in response to determining that the result should be provided to the second container.
    Type: Application
    Filed: March 20, 2019
    Publication date: September 24, 2020
    Inventors: Aparna Karanjkar, Ashwin Deepak Swaminathan, Vidya Kirupanidhi, Simon Francis Capper
  • Patent number: 10585725
    Abstract: A method and apparatus of a network element that processes data by a network element with a data processing pipeline is described. In an exemplary embodiment, the network element prepares a new image for the data processing pipeline of the network element, where the data processing pipeline processes network data received by the network element and the new image modifies one or more functionalities of the data processing pipeline. In addition, the network element puts the data processing pipeline into a non-forwarding mode. Furthermore, the network element writes the new image into memory of the data processing pipeline. The network element additionally puts the data processing pipeline into a forwarding mode, where the data processing pipeline processes network data received by the network element using the new image.
    Type: Grant
    Filed: March 27, 2018
    Date of Patent: March 10, 2020
    Assignee: Arista Networks, Inc.
    Inventors: Simon Francis Capper, Sebastiano Borgione, Navdeep Bhatia
  • Patent number: 10546018
    Abstract: A method and apparatus of a network element that stores a lookup entry in a hardware table of a network element is described. In an exemplary embodiment, the network element receives a notification of a dirty lookup entry to be processed for a hardware table of a network element, where the hardware table includes a plurality of lookup entries. In addition, the network element determines a location for a table modification associated with the dirty lookup entry in the hardware table. Furthermore, the network element performs, with a hardware writer of the network element, the table modification associated with the lookup entry in a non-disruptive manner, where the hardware writer performs the table modification associated with the lookup entry in response to determining that the table modification associated with the lookup entry does not leave one of the plurality of lookup entries inconsistent after the table modification is performed.
    Type: Grant
    Filed: October 31, 2017
    Date of Patent: January 28, 2020
    Assignee: Arista Networks, Inc.
    Inventors: Peter Lam, Navdeep Bhatia, Simon Francis Capper
  • Publication number: 20190304047
    Abstract: A method and apparatus of a network element that processes data using a data processing pipeline with standby memory is described. In one embodiment, the network element prepares a new image for the data processing pipeline of the network element, where the data processing pipeline processes incoming network data received by the network element and the new image modifies a current set of functionalities of the data processing pipeline. The network element further writes the new image into a standby memory of the data processing pipeline, where the network element includes an active memory that programs the current set of functionalities of the data processing pipeline. In addition, the network element programs the data processing pipeline using the new image. The network element additionally processes the incoming network data received by using the data processing pipeline using modified current set of functionalities.
    Type: Application
    Filed: March 27, 2018
    Publication date: October 3, 2019
    Inventors: Simon Francis Capper, Sebastiano Borgione, Navdeep Bhatia
  • Publication number: 20190303220
    Abstract: A method and apparatus of a network element that processes data by a network element with a data processing pipeline is described. In an exemplary embodiment, the network element prepares a new image for the data processing pipeline of the network element, where the data processing pipeline processes network data received by the network element and the new image modifies one or more functionalities of the data processing pipeline. In addition, the network element puts the data processing pipeline into a non-forwarding mode. Furthermore, the network element writes the new image into memory of the data processing pipeline. The network element additionally puts the data processing pipeline into a forwarding mode, where the data processing pipeline processes network data received by the network element using the new image.
    Type: Application
    Filed: March 27, 2018
    Publication date: October 3, 2019
    Inventors: Simon Francis Capper, Sebastiano Borgione, Navdeep Bhatia
  • Publication number: 20190222468
    Abstract: A method and apparatus of a network element that manages a network interface controller on a device coupled to a network element is described. In an exemplary embodiment, the network element detects that the network interface controller is manageable, wherein the network interface controller is coupled to the network element by a link. In addition, the network element transmits a command packet to the network interface controller in-band, where the network interface controller determines a response to the command packet using the resources of the network interface controller and without communicating data between the network interface controller and the device. The network element receives the response from the network interface controller.
    Type: Application
    Filed: January 17, 2018
    Publication date: July 18, 2019
    Inventor: Simon Francis Capper
  • Publication number: 20190005148
    Abstract: A method and apparatus of a network element that stores a lookup entry in a hardware table of a network element is described. In an exemplary embodiment, the network element receives a notification of a dirty lookup entry to be processed for a hardware table of a network element, where the hardware table includes a plurality of lookup entries. In addition, the network element determines a location for a table modification associated with the dirty lookup entry in the hardware table. Furthermore, the network element performs, with a hardware writer of the network element, the table modification associated with the lookup entry in a non-disruptive manner, where the hardware writer performs the table modification associated with the lookup entry in response to determining that the table modification associated with the lookup entry does not leave one of the plurality of lookup entries inconsistent after the table modification is performed.
    Type: Application
    Filed: October 31, 2017
    Publication date: January 3, 2019
    Inventors: Peter Lam, Navdeep Bhatia, Simon Francis Capper
  • Patent number: 10110474
    Abstract: A method and apparatus of a network element that updates an interface list of a multi-link group of a network element is described. In an exemplary embodiment, a network element receives an indication that the interface list for the multi-link group on a network element is to change. In addition, the interface list includes a first set of interfaces. The network element further includes an address table having a plurality of address entries, where each of the plurality of address entries includes an address, a multi-link nexthop, and a tag group reference. The tag group reference references an entry in a tag group table, where a tag group entry includes a tag group identifier and a tag group set of interfaces. The network element further receives a second set of interfaces. The network element additionally updates the interface list for the tag group entry to include a second set of interfaces. Furthermore, the network element transmits data with the multi-link group using the second set of interfaces.
    Type: Grant
    Filed: September 21, 2016
    Date of Patent: October 23, 2018
    Assignee: Arista Networks, Inc.
    Inventors: Feng Zhu, Di Wang, Simon Francis Capper, Kartik Chandran, Sriram Chidambaram, Hemanth Murthy
  • Patent number: 9996263
    Abstract: A method and apparatus of a device that includes a shared memory hash table that notifies one or more readers of changes to the shared memory hash table is described. In an exemplary embodiment, a device modifies a value in the shared memory hash table, where the value has a corresponding key. The device further stores a notification in a notification queue that indicates the value has changed. In addition, the device invalidates a previous entry in the notification queue that indicates the value has been modified. The device signals to the reader that a notification is ready to be processed.
    Type: Grant
    Filed: May 11, 2016
    Date of Patent: June 12, 2018
    Assignee: Arista Networks, Inc.
    Inventors: Hugh W. Holbrook, Duncan Stuart Ritchie, Sebastian Sapa, Simon Francis Capper
  • Publication number: 20180083863
    Abstract: A method and apparatus of a network element that updates an interface list of a multi-link group of a network element is described. In an exemplary embodiment, a network element receives an indication that the interface list for the multi-link group on a network element is to change. In addition, the interface list includes a first set of interfaces. The network element further includes an address table having a plurality of address entries, where each of the plurality of address entries includes an address, a multi-link nexthop, and a tag group reference. The tag group reference references an entry in a tag group table, where a tag group entry includes a tag group identifier and a tag group set of interfaces. The network element further receives a second set of interfaces. The network element additionally updates the interface list for the tag group entry to include a second set of interfaces. Furthermore, the network element transmits data with the multi-link group using the second set of interfaces.
    Type: Application
    Filed: September 21, 2016
    Publication date: March 22, 2018
    Inventors: Feng Zhu, Di Wang, Simon Francis Capper, Kartik Chandran, Sriram Chidambaram, Hemanth Murthy
  • Publication number: 20160253098
    Abstract: A method and apparatus of a device that includes a shared memory hash table that notifies one or more readers of changes to the shared memory hash table is described. In an exemplary embodiment, a device modifies a value in the shared memory hash table, where the value has a corresponding key. The device further stores a notification in a notification queue that indicates the value has changed. In addition, the device invalidates a previous entry in the notification queue that indicates the value has been modified. The device signals to the reader that a notification is ready to be processed.
    Type: Application
    Filed: May 11, 2016
    Publication date: September 1, 2016
    Inventors: Hugh W. Holbrook, Duncan Stuart Ritchie, Sebastian Sapa, Simon Francis Capper
  • Patent number: 9367251
    Abstract: A method and apparatus of a device that includes a shared memory hash table that notifies one or more readers of changes to the shared memory hash table is described. In an exemplary embodiment, a device modifies a value in the shared memory hash table, where the value has a corresponding key. The device further stores a notification in a notification queue that indicates the value has changed. In addition, the device invalidates a previous entry in the notification queue that indicates the value has been modified. The device signals to the reader that a notification is ready to be processed.
    Type: Grant
    Filed: May 5, 2014
    Date of Patent: June 14, 2016
    Assignee: Arista Networks, Inc.
    Inventors: Hugh W. Holbrook, Duncan Stuart Ritchie, Sebastian Sapa, Simon Francis Capper
  • Publication number: 20160048386
    Abstract: A method and apparatus of a device that updates a software image for a network element is described. In an exemplary embodiment, a device receives a signal to update the network element with the new software image, where the network element includes a plurality of hardware forwarding engines and a control plane. The device further boots the control plane with the new software image, where the booting is accomplished without restarting the control plane. In one embodiment, the device boots the control plane by chain booting from a current software image to the new software image. The device additionally restarts and reconfigures the plurality of hardware forwarding engines. In a further embodiment, the device additionally prefills one or more queues in the hardware forwarding engines with keep-alive messages. These keep-alive messages are transmitted during the time that the control plane is being restarted. In a further embodiment, the hardware forwarding engines are reconfigured without restarting them.
    Type: Application
    Filed: August 18, 2015
    Publication date: February 18, 2016
    Inventor: Simon Francis Capper