Patents by Inventor Duncan Stuart Ritchie
Duncan Stuart Ritchie 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: 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
-
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
-
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
-
Publication number: 20200242099Abstract: 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: ApplicationFiled: December 10, 2019Publication date: July 30, 2020Inventors: Jonathan Antusiak, Christopher Elisha Neilson, Sebastian Sapa, Duncan Stuart Ritchie
-
Patent number: 10642750Abstract: 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 receives a key that corresponds to the value, where the key used to retrieve the value form the shared memory hash table and the shared memory hash table is written to by a writer and read from by a plurality of readers. In addition, the device retrieves an index from a local values table, where the local values table stores a plurality of indices for one of the plurality of readers and the index is an index into an entry in the shared memory hash table. The device further retrieves the value from the shared memory hash table using the index.Type: GrantFiled: August 3, 2015Date of Patent: May 5, 2020Assignee: Arista Networks, Inc.Inventors: Duncan Stuart Ritchie, Sebastian Sapa, Peter John Fordham
-
Patent number: 10372437Abstract: A method and/or network system is able to perform an in-service software upgrade (“ISSU”) using virtualization technology while ongoing network service is maintained. After receipt of an upgrade signal such as a command of software upgrade, a new or second virtual machine (“VM”) is created in response to the upgrade signal. After downloading the new version of program to the second VM while maintaining the first version of program running on the first VM, the process for providing network management begins to migrate from the first version of program to the new version of program. The process simultaneously facilitates ISSU for a data-path module such as a line card to convert from the previous version of software to the new version of the software.Type: GrantFiled: October 31, 2017Date of Patent: August 6, 2019Assignee: Tellabs Operations Inc.Inventors: Chakravarthi S. Chigurapati, Pawan Uberoy, Somnath Mani, Praveen Madhav, Duncan Stuart Ritchie, Sebastian Sapa
-
Patent number: 10031859Abstract: A method and apparatus of a device that reads and writes a plurality of counters is described. In an exemplary embodiment, a device receives plurality labels that correspond to the plurality of counters. The plurality of counters is stored in a shared memory table in the shared memory of the device. In addition, a writer writes counter data for each of the plurality of counters to the shared memory table. For each of the plurality of labels, the device performs a lookup of that label for a memory reference to a corresponding counter that is one of the plurality of counters and retrieves the memory reference for the corresponding counter. The device further reads the counter data for plurality of counters using the plurality of memory references. The device additionally sends the counter data to the client.Type: GrantFiled: June 22, 2016Date of Patent: July 24, 2018Assignee: Arista Networks, Inc.Inventors: Duncan Stuart Ritchie, Sebastian Sapa, Christopher Elisha Neilson
-
Patent number: 9996263Abstract: 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: GrantFiled: May 11, 2016Date of Patent: June 12, 2018Assignee: Arista Networks, Inc.Inventors: Hugh W. Holbrook, Duncan Stuart Ritchie, Sebastian Sapa, Simon Francis Capper
-
Publication number: 20180052678Abstract: A method and/or network system is able to perform an in-service software upgrade (“ISSU”) using virtualization technology while ongoing network service is maintained. After receipt of an upgrade signal such as a command of software upgrade, a new or second virtual machine (“VM”) is created in response to the upgrade signal. After downloading the new version of program to the second VM while maintaining the first version of program running on the first VM, the process for providing network management begins to migrate from the first version of program to the new version of program. The process simultaneously facilitates ISSU for a data-path module such as a line card to convert from the previous version of software to the new version of the software.Type: ApplicationFiled: October 31, 2017Publication date: February 22, 2018Applicant: Coriant Operations, Inc.Inventors: Chakravarthi S. Chigurapati, Pawan Uberoy, Somnath Mani, Praveen Madhav, Duncan Stuart Ritchie, Sebastian Sapa
-
Publication number: 20170371806Abstract: A method and apparatus of a device that reads and writes a plurality of counters is described. In an exemplary embodiment, a device receives plurality labels that correspond to the plurality of counters. The plurality of counters is stored in a shared memory table in the shared memory of the device. In addition, a writer writes counter data for each of the plurality of counters to the shared memory table. For each of the plurality of labels, the device performs a lookup of that label for a memory reference to a corresponding counter that is one of the plurality of counters and retrieves the memory reference for the corresponding counter. The device further reads the counter data for plurality of counters using the plurality of memory references. The device additionally sends the counter data to the client.Type: ApplicationFiled: June 22, 2016Publication date: December 28, 2017Inventors: Duncan Stuart Ritchie, Sebastian Sapa, Christopher Elisha Neilson
-
Patent number: 9830143Abstract: A method and/or network system is able to perform an in-service software upgrade (“ISSU”) using virtualization technology while ongoing network service is maintained. After receipt of an upgrade signal such as a command of software upgrade, a new or second virtual machine (“VM”) is created in response to the upgrade signal. After downloading the new version of program to the second VM while maintaining the first version of program running on the first VM, the process for providing network management begins to migrate from the first version of program to the new version of program. The process simultaneously facilitates ISSU for a data-path module such as a line card to convert from the previous version of software to the new version of the software.Type: GrantFiled: May 29, 2014Date of Patent: November 28, 2017Assignee: Tellabs Operations, Inc.Inventors: Chakravarthi S. Chigurapati, Pawan Uberoy, Somnath Mani, Praveen Madhav, Duncan Stuart Ritchie, Sebastian Sapa
-
Patent number: 9703582Abstract: A method or network system able to efficiently redistribute information, data, and/or context between virtual machines (“VMs”) using an in-memory file system (“IMFS”) is disclosed. After requesting memory access by an application program, a process of VM using IMFS is able to forward the memory allocation request from a VM kernel operating under a VM environment to an emulator. The emulator, which operates between the VM kernel and the hypervisor, again redirects the memory allocation request to the hypervisor for storage allocation. The hypervisor subsequently allocates at least a portion of storage space in the IMFS in accordance with the memory allocation request.Type: GrantFiled: September 7, 2012Date of Patent: July 11, 2017Assignee: Tellabs Operations, Inc.Inventors: Chakravarthi S. Chigurapati, Praveen Madhav, Sebastian Sapa, Anirban Sinha, Travis Frederick Brown, Duncan Stuart Ritchie
-
Publication number: 20170068700Abstract: 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: June 20, 2016Publication date: March 9, 2017Inventors: Sebastian Sapa, Duncan Stuart Ritchie, Jonathan Antusiak, Stephanie Elaine Fung