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: 11314656
    Abstract: 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: Grant
    Filed: August 12, 2020
    Date of Patent: April 26, 2022
    Assignee: ARISTA NETWORKS, INC.
    Inventors: Duncan Stuart Ritchie, Christopher Elisha Neilson, Sebastian Sapa
  • Publication number: 20220114084
    Abstract: 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: Application
    Filed: October 8, 2020
    Publication date: April 14, 2022
    Inventors: Duncan Stuart Ritchie, Christopher Elisha Neilson, Sebastian Sapa
  • Publication number: 20220050789
    Abstract: 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: Application
    Filed: August 12, 2020
    Publication date: February 17, 2022
    Inventors: Duncan Stuart Ritchie, Christopher Elisha Neilson, Sebastian Sapa
  • Patent number: 11222002
    Abstract: 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: Grant
    Filed: December 10, 2019
    Date of Patent: January 11, 2022
    Assignee: Arista Networks, Inc.
    Inventors: Jonathan Antusiak, Christopher Elisha Neilson, Sebastian Sapa, Duncan Stuart Ritchie
  • Publication number: 20210373982
    Abstract: 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: Application
    Filed: May 28, 2020
    Publication date: December 2, 2021
    Inventors: Christopher Elisha Neilson, Duncan Stuart Ritchie, Sebastian Sapa
  • Publication number: 20210365441
    Abstract: 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: Application
    Filed: July 13, 2021
    Publication date: November 25, 2021
    Inventors: Sebastian Sapa, Duncan Stuart Ritchie, Jonathan Antusiak, Stephanie Elaine Fung
  • Patent number: 11068469
    Abstract: 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: Grant
    Filed: June 20, 2016
    Date of Patent: July 20, 2021
    Assignee: Arista Networks, Inc.
    Inventors: Sebastian Sapa, Duncan Stuart Ritchie, Jonathan Antusiak, Stephanie Elaine Fung
  • Publication number: 20200242099
    Abstract: 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: Application
    Filed: December 10, 2019
    Publication date: July 30, 2020
    Inventors: Jonathan Antusiak, Christopher Elisha Neilson, Sebastian Sapa, Duncan Stuart Ritchie
  • Patent number: 10642750
    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 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: Grant
    Filed: August 3, 2015
    Date of Patent: May 5, 2020
    Assignee: Arista Networks, Inc.
    Inventors: Duncan Stuart Ritchie, Sebastian Sapa, Peter John Fordham
  • Patent number: 10372437
    Abstract: 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: Grant
    Filed: October 31, 2017
    Date of Patent: August 6, 2019
    Assignee: Tellabs Operations Inc.
    Inventors: Chakravarthi S. Chigurapati, Pawan Uberoy, Somnath Mani, Praveen Madhav, Duncan Stuart Ritchie, Sebastian Sapa
  • Patent number: 10031859
    Abstract: 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: Grant
    Filed: June 22, 2016
    Date of Patent: July 24, 2018
    Assignee: Arista Networks, Inc.
    Inventors: Duncan Stuart Ritchie, Sebastian Sapa, Christopher Elisha Neilson
  • 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: 20180052678
    Abstract: 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: Application
    Filed: October 31, 2017
    Publication date: February 22, 2018
    Applicant: Coriant Operations, Inc.
    Inventors: Chakravarthi S. Chigurapati, Pawan Uberoy, Somnath Mani, Praveen Madhav, Duncan Stuart Ritchie, Sebastian Sapa
  • Publication number: 20170371806
    Abstract: 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: Application
    Filed: June 22, 2016
    Publication date: December 28, 2017
    Inventors: Duncan Stuart Ritchie, Sebastian Sapa, Christopher Elisha Neilson
  • Patent number: 9830143
    Abstract: 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: Grant
    Filed: May 29, 2014
    Date of Patent: November 28, 2017
    Assignee: Tellabs Operations, Inc.
    Inventors: Chakravarthi S. Chigurapati, Pawan Uberoy, Somnath Mani, Praveen Madhav, Duncan Stuart Ritchie, Sebastian Sapa
  • Patent number: 9703582
    Abstract: 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: Grant
    Filed: September 7, 2012
    Date of Patent: July 11, 2017
    Assignee: Tellabs Operations, Inc.
    Inventors: Chakravarthi S. Chigurapati, Praveen Madhav, Sebastian Sapa, Anirban Sinha, Travis Frederick Brown, Duncan Stuart Ritchie
  • Publication number: 20170068700
    Abstract: 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: Application
    Filed: June 20, 2016
    Publication date: March 9, 2017
    Inventors: Sebastian Sapa, Duncan Stuart Ritchie, Jonathan Antusiak, Stephanie Elaine Fung
  • Publication number: 20170039143
    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 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: Application
    Filed: August 3, 2015
    Publication date: February 9, 2017
    Inventors: Duncan Stuart Ritchie, Sebastian Sapa, Peter John Fordham
  • Patent number: 9495114
    Abstract: A method and apparatus of a device that reads and writes data using a shared memory hash table and a lookaside buffer is described. In an exemplary embodiment, a device locates a bucket for the data in a shared memory hash table, where a writer updates the shared memory hash table and a reader that is one of a plurality of readers reads from the shared memory hash table. The device further retrieves an initial value of a version of the bucket. If the initial value of the version is odd, the device copies the data from a lookaside buffer of the writer to a local buffer for the reader, wherein the lookaside buffer stores a copy of the data while the bucket is being modified.
    Type: Grant
    Filed: May 5, 2014
    Date of Patent: November 15, 2016
    Assignee: Arista Networks, Inc.
    Inventors: Hugh W. Holbrook, Duncan Stuart Ritchie, Sebastian Sapa
  • 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