Patents by Inventor Sebastian Sapa
Sebastian Sapa 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).
-
Publication number: 20250077073Abstract: Notifications for data written to a shared memory are prioritized so that certain data can be processed ahead of other data. A writer stores all notifications to a main notification queue store, including normal priority notifications and different levels of high priority notifications. A set of priority notification queues store pointers to entries in the main notification queue that contain high priority notifications. The writer stores notifications to the main notification queue of a given high priority level to a corresponding priority notification queue. Readers read notifications and process the data pointed to in the notifications. A reader first reads the priority notification queues to consume high priority notifications followed by consuming normal priority notifications.Type: ApplicationFiled: August 30, 2023Publication date: March 6, 2025Inventors: Duncan Stuart RITCHIE, Christopher Elisha NEILSON, Sebastian SAPA, Waris BOONYASIRIWAT
-
Patent number: 12169741Abstract: A method and apparatus of a network device that allocates a shared memory buffer for an object is described. In an exemplary embodiment, the network device receives an allocation request for the shared memory buffer for the object. In addition, the network device allocates the shared memory buffer from shared memory of a network device, where the shared memory buffer is accessible by a writer and a plurality of readers. The network device further returns a writer pointer to the writer, where the writer pointer references a base address of the shared memory buffer. Furthermore, the network device stores the object in the shared memory buffer, wherein the writer accesses the shared memory using the writer pointer. The network device further shares the writer pointer with at least a first reader of the plurality of readers. The network device additionally translates the base address of the shared memory buffer to a reader pointer, where the reader pointer is expressed in a memory space of the first reader.Type: GrantFiled: August 22, 2023Date of Patent: December 17, 2024Assignee: ARISTA NETWORKS, INC.Inventors: Stuart Ritchie, Sebastian Sapa, Christopher Neilson, Eric Secules, Peter Edwards
-
Publication number: 20240297829Abstract: Embodiments as disclosed allow the definition and use of custom models in association with a network agent on a network device. In particular, custom models can be placed on a network device and utilized by the network device. The use of these custom models including, notifications and responses associated with those custom models, may appear indistinguishable to use of vendor supplied models.Type: ApplicationFiled: October 19, 2023Publication date: September 5, 2024Inventors: Roman Olegovich Chertov, Sebastian Sapa, Christopher Elisha Neilson, Ronan Mac Fhlannchadha
-
Publication number: 20240275676Abstract: A network device includes an application programming interface (API) to access (read/write) network device configuration and status. For read requests, the API services the request by reading one or more internal data stores to read out the requested data without first reading a data tree that stores network device configuration and state. For write requests, the API services the request by writing data to one or more internal data stores, without first writing to a data tree that stores network device configuration and state.Type: ApplicationFiled: February 3, 2023Publication date: August 15, 2024Inventors: Roman Olegovich Chertov, Sebastian Sapa, Allan Drew Clarke
-
Publication number: 20240250877Abstract: Methods and apparatus for enabling detection of configuration changes in a network device. One method uses a configuration counter in a system database of the network device. In response to an atomic submission of CLI commands to a configuration agent and the storing of the corresponding configuration in a system database, the configuration counter is incremented. An OpenConfig module maintains an expected value of the configuration counter and, upon completion of its own command submissions, compares the expected value to the value in the configuration counter. If the two values do not match, it indicates that the configuration counter in the system database has been incremented as a result of a configuration change from a source other than the OpenConfig module. A configuration client can then be notified of the configuration change so that it can revert the configuration to a desired configuration.Type: ApplicationFiled: March 19, 2024Publication date: July 25, 2024Inventors: Roman Olegovich Chertov, Sebastian Sapa, Christopher Elisha Neilson, Francois Guy Maurice Ripault, Ronan Mac Fhlannchadha
-
Patent number: 11973660Abstract: Systems and methods for the dynamic mapping of network element data between data models in network devices are disclosed. In particular, a marked-up native data model can be processed to create a mapping schema file based on the markup included in the native data model. This mapping schema file may define mappings between elements of the native data model and corresponding elements of an external data model. The mapping schema file can then be used to dynamically map network element data from the native data model to the external data model, such as when responding to requests for network element data associated with the mapped elements.Type: GrantFiled: December 9, 2022Date of Patent: April 30, 2024Assignee: ARISTA NETWORKS, INC.Inventors: Roman Olegovich Chertov, Sebastian Sapa, Allan Drew Clarke
-
Patent number: 11968091Abstract: Methods and apparatus for enabling detection of configuration changes in a network device. One method uses a configuration counter in a system database of the network device. In response to an atomic submission of CLI commands to a configuration agent and the storing of the corresponding configuration in a system database, the configuration counter is incremented. An OpenConfig module maintains an expected value of the configuration counter and, upon completion of its own command submissions, compares the expected value to the value in the configuration counter. If the two values do not match, it indicates that the configuration counter in the system database has been incremented as a result of a configuration change from a source other than the OpenConfig module. A configuration client can then be notified of the configuration change so that it can revert the configuration to a desired configuration.Type: GrantFiled: January 20, 2023Date of Patent: April 23, 2024Assignee: ARISTA NETWORKS, INC.Inventors: Roman Olegovich Chertov, Sebastian Sapa, Christopher Elisha Neilson, Francois Guy Maurice Ripault, Ronan Mac Fhlannchadha
-
Patent number: 11860861Abstract: A method and apparatus of a device that grows and/or shrinks a table that is shared between a writer and a plurality of readers is described. In an exemplary embodiment, a device receives an entry to be added to the shared table. In response to receiving the entry, the device remaps shared table to add a new storage segment to the shared table. The device further adds the entry to the shared table, where the entry is stored in the new storage segment. In addition, the device updates a shared table characteristic to indicate that the shared table has changed. The device further shrinks the shared table by remapping the table to remove a segment of the table.Type: GrantFiled: July 13, 2021Date of Patent: January 2, 2024Assignee: Arista Networks, Inc.Inventors: Sebastian Sapa, Duncan Stuart Ritchie, Jonathan Antusiak, Stephanie Elaine Fung
-
Publication number: 20230393914Abstract: A method and apparatus of a network device that allocates a shared memory buffer for an object is described. In an exemplary embodiment, the network device receives an allocation request for the shared memory buffer for the object. In addition, the network device allocates the shared memory buffer from shared memory of a network device, where the shared memory buffer is accessible by a writer and a plurality of readers. The network device further returns a writer pointer to the writer, where the writer pointer references a base address of the shared memory buffer. Furthermore, the network device stores the object in the shared memory buffer, wherein the writer accesses the shared memory using the writer pointer. The network device further shares the writer pointer with at least a first reader of the plurality of readers. The network device additionally translates the base address of the shared memory buffer to a reader pointer, where the reader pointer is expressed in a memory space of the first reader.Type: ApplicationFiled: August 22, 2023Publication date: December 7, 2023Inventors: Stuart Ritchie, Sebastian Sapa, Christopher Neilson, Eric Secules, Peter Edwards
-
Patent number: 11748179Abstract: A method and apparatus of a network device that allocates a shared memory buffer for an object is described. In an exemplary embodiment, the network device receives an allocation request for the shared memory buffer for the object. In addition, the network device allocates the shared memory buffer from shared memory of a network device, where the shared memory buffer is accessible by a writer and a plurality of readers. The network device further returns a writer pointer to the writer, where the writer pointer references a base address of the shared memory buffer. Furthermore, the network device stores the object in the shared memory buffer, wherein the writer accesses the shared memory using the writer pointer. The network device further shares the writer pointer with at least a first reader of the plurality of readers. The network device additionally translates the base address of the shared memory buffer to a reader pointer, where the reader pointer is expressed in a memory space of the first reader.Type: GrantFiled: May 20, 2021Date of Patent: September 5, 2023Assignee: ARISTA NETWORKS, INC.Inventors: Stuart Ritchie, Sebastian Sapa, Christopher Neilson, Eric Secules, Peter Edwards
-
Patent number: 11436135Abstract: Systems and methods for implementing polymorphic allocators in an operating system are disclosed. An illustrative method includes a method of allocating memory space in a memory by creating a first allocator. In response to receiving a first request to allocate memory space in the memory for a data buffer instance using the first allocator, the method allocates one or more pages of a first region in the memory by populating one or more entries of an allocator table. The one or more entries of the allocator table correspond to the one or more pages of the first region. The entries of the allocator table are indexed by page indexes corresponding to page addresses identifying the pages of the first region in the memory. Each of the populated entries of the allocator table includes a specific allocator identifier identifying a corresponding allocator to that entry.Type: GrantFiled: October 8, 2020Date of Patent: September 6, 2022Assignee: Arista Networks, Inc.Inventors: Duncan Stuart Ritchie, Christopher Elisha Neilson, Sebastian Sapa
-
Patent number: 11422872Abstract: Systems and methods for creating a new entry in a hierarchical state data structure with object entries is disclosed. The method includes allocating a shared memory buffer for a new entry in a shared memory. A request to create the new entry for a child object in a hierarchical state data structure in the shared memory is received. The new entry is to span at least one shared memory buffer uniquely identifiable in a location of the shared memory. The child object is a logical representation of a state of a system. In response to a request for an allocation of a shared memory buffer within a region of the shared memory for the new entry, a location identifier corresponding to a location of a parent entry holding a parent object to the child object in the hierarchical state data structure of an allocated region is received. The child object is created in the shared memory buffer for the new entry, and the new entry is available for concurrent access by one or more readers of the shared memory.Type: GrantFiled: May 28, 2020Date of Patent: August 23, 2022Assignee: ARISTA NETWORKS, INC.Inventors: Christopher Elisha Neilson, Duncan Stuart Ritchie, Sebastian Sapa
-
Patent number: 11314656Abstract: Systems and methods for processing memory address spaces corresponding to a shared memory are disclosed. After a writer restart process, pre-restart writer pointers of a pre-restart writer addressable space in the shared memory are replaced with corresponding location independent pointers. A writer pointer translation table is rebuilt in the shared memory to replace an association of modified pre-restart writer pointers and pre-restart translation base pointers based on the pre-restart writer pointers, respectively, with an association of modified post-restart writer pointers and post-restart translation base pointers based on post-restart writer pointers, respectively. After the writer pointer translation table is rebuilt, the location independent pointers are replaced with post-restart writer pointers in the shared memory, respectively, and the post-restart writer pointers are stored in the shared memory for access by one or more readers of the shared memory.Type: GrantFiled: August 12, 2020Date of Patent: April 26, 2022Assignee: ARISTA NETWORKS, INC.Inventors: Duncan Stuart Ritchie, Christopher Elisha Neilson, Sebastian Sapa
-
Publication number: 20220114084Abstract: Systems and methods for implementing polymorphic allocators in an operating system are disclosed. An illustrative method includes a method of allocating memory space in a memory by creating a first allocator. In response to receiving a first request to allocate memory space in the memory for a data buffer instance using the first allocator, the method allocates one or more pages of a first region in the memory by populating one or more entries of an allocator table. The one or more entries of the allocator table correspond to the one or more pages of the first region. The entries of the allocator table are indexed by page indexes corresponding to page addresses identifying the pages of the first region in the memory. Each of the populated entries of the allocator table includes a specific allocator identifier identifying a corresponding allocator to that entry.Type: ApplicationFiled: October 8, 2020Publication date: April 14, 2022Inventors: Duncan Stuart Ritchie, Christopher Elisha Neilson, Sebastian Sapa
-
Publication number: 20220050789Abstract: Systems and methods for processing memory address spaces corresponding to a shared memory are disclosed. After a writer restart process, pre-restart writer pointers of a pre-restart writer addressable space in the shared memory are replaced with corresponding location independent pointers. A writer pointer translation table is rebuilt in the shared memory to replace an association of modified pre-restart writer pointers and pre-restart translation base pointers based on the pre-restart writer pointers, respectively, with an association of modified post-restart writer pointers and post-restart translation base pointers based on post-restart writer pointers, respectively. After the writer pointer translation table is rebuilt, the location independent pointers are replaced with post-restart writer pointers in the shared memory, respectively, and the post-restart writer pointers are stored in the shared memory for access by one or more readers of the shared memory.Type: ApplicationFiled: August 12, 2020Publication date: February 17, 2022Inventors: Duncan Stuart Ritchie, Christopher Elisha Neilson, Sebastian Sapa
-
Patent number: 11222002Abstract: Techniques are described herein for managing data structure groups. Such techniques may include providing to a data structure group, by a reader, a plurality of data structure identifiers including a first data structure identifier and a second data structure identifier; mounting, by the data structure group, a first data structure identified by the first data structure identifier and including a first instance identifier; mounting, by the data structure group, a second data structure identified by the second data structure identifier and including a second instance identifier; making a first determination that the first data structure and the second data structure are mounted; making a second determination that the first instance identifier and the second instance identifier match; and marking, based on the first determination and the second determination, the data structure group as ready-to-read.Type: GrantFiled: December 10, 2019Date of Patent: January 11, 2022Assignee: Arista Networks, Inc.Inventors: Jonathan Antusiak, Christopher Elisha Neilson, Sebastian Sapa, Duncan Stuart Ritchie
-
Publication number: 20210373982Abstract: Systems and methods for creating a new entry in a hierarchical state data structure with object entries is disclosed. The method includes allocating a shared memory buffer for a new entry in a shared memory. A request to create the new entry for a child object in a hierarchical state data structure in the shared memory is received. The new entry is to span at least one shared memory buffer uniquely identifiable in a location of the shared memory. The child object is a logical representation of a state of a system. In response to a request for an allocation of a shared memory buffer within a region of the shared memory for the new entry, a location identifier corresponding to a location of a parent entry holding a parent object to the child object in the hierarchical state data structure of an allocated region is received. The child object is created in the shared memory buffer for the new entry, and the new entry is available for concurrent access by one or more readers of the shared memory.Type: ApplicationFiled: May 28, 2020Publication date: December 2, 2021Inventors: Christopher Elisha Neilson, Duncan Stuart Ritchie, Sebastian Sapa
-
Publication number: 20210365441Abstract: A method and apparatus of a device that grows and/or shrinks a table that is shared between a writer and a plurality of readers is described. In an exemplary embodiment, a device receives an entry to be added to the shared table. In response to receiving the entry, the device remaps shared table to add a new storage segment to the shared table. The device further adds the entry to the shared table, where the entry is stored in the new storage segment. In addition, the device updates a shared table characteristic to indicate that the shared table has changed. The device further shrinks the shared table by remapping the table to remove a segment of the table.Type: ApplicationFiled: July 13, 2021Publication date: November 25, 2021Inventors: Sebastian Sapa, Duncan Stuart Ritchie, Jonathan Antusiak, Stephanie Elaine Fung
-
Publication number: 20210271535Abstract: A method and apparatus of a network device that allocates a shared memory buffer for an object is described. In an exemplary embodiment, the network device receives an allocation request for the shared memory buffer for the object. In addition, the network device allocates the shared memory buffer from shared memory of a network device, where the shared memory buffer is accessible by a writer and a plurality of readers. The network device further returns a writer pointer to the writer, where the writer pointer references a base address of the shared memory buffer. Furthermore, the network device stores the object in the shared memory buffer, wherein the writer accesses the shared memory using the writer pointer. The network device further shares the writer pointer with at least a first reader of the plurality of readers. The network device additionally translates the base address of the shared memory buffer to a reader pointer, where the reader pointer is expressed in a memory space of the first reader.Type: ApplicationFiled: May 20, 2021Publication date: September 2, 2021Inventors: Stuart Ritchie, Sebastian Sapa, Christopher Neilson, Eric Secules, Peter Edwards
-
Patent number: 11068469Abstract: A method and apparatus of a device that grows and/or shrinks a table that is shared between a writer and a plurality of readers is described. In an exemplary embodiment, a device receives an entry to be added to the shared table. In response to receiving the entry, the device remaps shared table to add a new storage segment to the shared table. The device further adds the entry to the shared table, where the entry is stored in the new storage segment. In addition, the device updates a shared table characteristic to indicate that the shared table has changed. The device further shrinks the shared table by remapping the table to remove a segment of the table.Type: GrantFiled: June 20, 2016Date of Patent: July 20, 2021Assignee: Arista Networks, Inc.Inventors: Sebastian Sapa, Duncan Stuart Ritchie, Jonathan Antusiak, Stephanie Elaine Fung