Patents by Inventor Angela Lin

Angela Lin 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: 20240020285
    Abstract: Systems and methods for version reclaiming in a clustered system which avoid attempting to reclaim versions that are still in use by any member of the cluster. Version reclaim is performed efficiently by avoiding duplication of version reclaim effort, avoiding generating version reclaim cleanup transactions that are invalid (i.e., reclaiming versions that are still in use), and minimizing inter-database node communication.
    Type: Application
    Filed: July 27, 2023
    Publication date: January 18, 2024
    Inventor: Angela LIN
  • Patent number: 11836090
    Abstract: A method to store a data value onto a cache of a storage hierarchy. A range of a collection of values that resides on a first tier of the hierarchy is initialized. The range is partitioned into disjointed range partitions; a first subset of which is designated as cached; a second subset is designated as uncached. The collection is partitioned into a subset of uncached data and cached data and placed into respective partitions. The range partition to which the data value belongs (i.e. the target range partition) is identified as being cached. If the cache is full, all of the disjointed range partitions are deleted. A first new cached partition range that contains the data value is created; it excludes at least one value that had been cached. The remaining values are placed in uncached range partitions; contents of the cache are updated to reflect the new range partition.
    Type: Grant
    Filed: February 17, 2021
    Date of Patent: December 5, 2023
    Assignee: Kinaxis Inc.
    Inventor: Angela Lin
  • Patent number: 11775433
    Abstract: A method to store a data value onto a cache of a storage hierarchy. A range of a collection of values that resides on a first tier of the hierarchy is initialized. The range is partitioned into disjointed range partitions; a first subset of which is designated as cached; a second subset is designated as uncached. The collection is partitioned into a subset of uncached data and cached data and placed into respective partions. The range partition to which the data value belongs (i.e. the target range partition) is identified as being cached. If the cache is full all cached range partitions that do not contain the data value are designated as uncached. All values that lie in the cached range partitions designated as uncached are evicted. The data value is then inserted into the target range partition, and copied to the first tier.
    Type: Grant
    Filed: October 20, 2022
    Date of Patent: October 3, 2023
    Assignee: Kinaxis Inc.
    Inventor: Angela Lin
  • Publication number: 20230281175
    Abstract: Systems and methods comprising: sending, by one or more database nodes, a release event for each database node for a version to an event log, where the database node no longer needs the version; continuously consuming, by a version reclaim-leader, the one or more release events from the event log; determining, by the version reclaim-leader, whether a version has been released by all database nodes; generating, by the version reclaim-leader, one or more cleanup transactions for the version; committing, by the version reclaim-leader, the one or more cleanup transactions to a transaction log; continuously replicating, by each database node, the one or more cleanup transactions from the transaction log; and applying, by each database node, the one or more cleanup transactions for the version.
    Type: Application
    Filed: February 28, 2023
    Publication date: September 7, 2023
    Inventor: Angela LIN
  • Patent number: 11734185
    Abstract: A method to store a data value onto a cache of a storage hierarchy. A range of a collection of values that resides on a first tier of the hierarchy is initialized. The range is partitioned into disjointed range partitions; a first subset of which is designated as cached; a second subset is designated as uncached. The collection is partitioned into a subset of uncached data and cached data and placed into respective partitions. The range partition to which the data value belongs (i.e. the target range partition) is identified as being cached. If the cache is full, the range of the target range partition is reduced until either: the data value is excluded (if the data value is an end point of the partition range); or elements within the target range are evicted to make space for the data value.
    Type: Grant
    Filed: February 16, 2021
    Date of Patent: August 22, 2023
    Assignee: Kinaxis Inc.
    Inventor: Angela Lin
  • Publication number: 20230259451
    Abstract: Systems and methods for computer memory management by a memory coordinator and a plurality of memory consumers. An urgency and memory quota of each memory consumer is initialized by the memory coordinator, which then adjusts the memory quota of each memory consumer such that the sum of the memory quota of each memory consumer does not exceed a finite amount of computer memory. Each memory consumer adjusts its memory usage in response to the quota input and urgency input from the memory coordinator.
    Type: Application
    Filed: April 25, 2023
    Publication date: August 17, 2023
    Inventors: Angela LIN, Robert WALKER, Marin CREANGA, Dylan ELLICOTT, Alex FITZPATRICK
  • Patent number: 11714758
    Abstract: A method to store a data value onto a cache of a storage hierarchy. A range of a collection of values that resides on a first tier of the hierarchy is initialized. The range is partitioned into disjointed range partitions; a first subset of which is designated as cached; a second subset is designated as uncached. The collection is partitioned into a subset of uncached data and cached data and placed into respective portions. The range partition to which the data value belongs (i.e. the target range partition) is identified as being cached. If the cache is full, the target range partition is divided into two partitions, the partition that excludes the data value is designated as uncached; the values therein are evicted. If the cache has space, the data value is copied onto the cache; otherwise the division/eviction are repeated until the cache has space.
    Type: Grant
    Filed: January 29, 2021
    Date of Patent: August 1, 2023
    Assignee: Kinaxis Inc.
    Inventor: Angela Lin
  • Patent number: 11669442
    Abstract: Systems and methods for computer memory management by a memory coordinator and a plurality of memory consumers. An urgency and memory quota of each memory consumer is initialized by the memory coordinator, which then adjusts the memory quota of each memory consumer such that the sum of the memory quota of each memory consumer does not exceed a finite amount of computer memory. Each memory consumer adjusts its memory usage in response to the quota input and urgency input from the memory coordinator.
    Type: Grant
    Filed: November 8, 2021
    Date of Patent: June 6, 2023
    Assignee: Kinaxis Inc.
    Inventors: Angela Lin, Robert Nigel Walker, Marin Creanga, Dylan Ellicott, Alex Fitzpatrick
  • Publication number: 20230129353
    Abstract: Systems and methods for efficient consolidation of record blocks in a data base. The system comprises: 1) a deletion record set; an in-memory database representation comprising: tables and records; one or more exclusive locks for the records; and a record block index; 2) a persistent database representation comprising: record blocks; and a transaction log. The method comprises: receiving, by a processor, a deletion record set; acquiring, by the processor, an exclusive lock for one or more records in the deletion record set; consolidating, by the processor, one or more record blocks; updating, by the processor, an in-memory record block index; and adding, by the processor, a transaction log entry for the updated record block index update.
    Type: Application
    Filed: December 23, 2022
    Publication date: April 27, 2023
    Inventors: Angela LIN, Marin CREANGA, Dylan ELLICOTT
  • Publication number: 20230107071
    Abstract: Methods and systems for resolving these transaction conflicts in a way that does not involve aborting or rolling back conflicting transactions.
    Type: Application
    Filed: September 29, 2022
    Publication date: April 6, 2023
    Inventor: Angela LIN
  • Publication number: 20230064907
    Abstract: Systems and methods for efficient bulk data deletion. The system comprises: 1) a deletion record set; an in-memory database representation comprising: tables and records; one or more exclusive locks for the records; and a record block index; 2) a persistent database representation comprising: record blocks; and a transaction log. The method comprises: receiving, by a processor, a deletion record set; acquiring, by the processor, an exclusive lock for one or more records in the deletion record set; deleting, by the processor, the deletion record set from an in-memory representation of the database; generating, by the processor, one or more post-delete record block sets; updating, by the processor, an in-memory record block index; writing, by the processor, the one or more post-delete record block sets to a persistent storage representation of the database; and, adding, by the processor, a transaction log entry for the record block index update.
    Type: Application
    Filed: August 29, 2022
    Publication date: March 2, 2023
    Inventors: Angela LIN, Dylan ELLICOTT, Marin CREANGA
  • Publication number: 20230041972
    Abstract: A method to store a data value onto a cache of a storage hierarchy. A range of a collection of values that resides on a first tier of the hierarchy is initialized. The range is partitioned into disjointed range partitions; a first subset of which is designated as cached; a second subset is designated as uncached. The collection is partitioned into a subset of uncached data and cached data and placed into respective partions. The range partition to which the data value belongs (i.e. the target range partition) is identified as being cached. If the cache is full all cached range partitions that do not contain the data value are designated as uncached. All values that lie in the cached range partitions designated as uncached are evicted. The data value is then inserted into the target range partition, and copied to the first tier.
    Type: Application
    Filed: October 20, 2022
    Publication date: February 9, 2023
    Inventor: Angela LIN
  • Patent number: 11556470
    Abstract: A method to store a data value onto a cache of a storage hierarchy. A range of a collection of values that resides on a first tier of the hierarchy is initialized. The range is partitioned into disjointed range partitions; a first subset of which is designated as cached; a second subset is designated as uncached. The collection is partitioned into a subset of uncached data and cached data and placed into respective partitions. The range partition to which the data value belongs (i.e. the target range partition) is identified as being cached. If the cache is full all cached range partitions that do not contain the data value are designated as uncached. All values that lie in the cached range partitions designated as uncached are evicted. The data value is then inserted into the target range partition, and copied to the first tier.
    Type: Grant
    Filed: February 2, 2021
    Date of Patent: January 17, 2023
    Assignee: Kinaxis Inc.
    Inventor: Angela Lin
  • Publication number: 20220245065
    Abstract: A method to store a data value onto a cache of a storage hierarchy. A range of a collection of values that resides on a first tier of the hierarchy is initialized. The range is partitioned into disjointed range partitions; a first subset of which is designated as cached; a second subset is designated as uncached. The collection is partitioned into a subset of uncached data and cached data and placed into respective partions. The range partition to which the data value belongs (i.e. the target range partition) is identified as being cached. If the cache is full all cached range partitions that do not contain the data value are designated as uncached. All values that lie in the cached range partitions designated as uncached are evicted. The data value is then inserted into the target range partition, and copied to the first tier.
    Type: Application
    Filed: February 2, 2021
    Publication date: August 4, 2022
    Inventor: Angela Lin
  • Patent number: 11288179
    Abstract: Systems and methods for computer memory management by a memory coordinator and a plurality of memory consumers. An urgency and memory quota of each memory consumer is initialized by the memory coordinator, which then adjusts the memory quota of each memory consumer such that the sum of the memory quota of each memory consumer does not exceed a finite amount of computer memory. Each memory consumer adjusts its memory usage in response to the quota input and urgency input from the memory coordinator.
    Type: Grant
    Filed: July 27, 2020
    Date of Patent: March 29, 2022
    Assignee: Kinaxis Inc.
    Inventors: Angela Lin, Robert Walker, Marin Creanga, Dylan Ellicott, Alex Fitzpatrick
  • Publication number: 20220066922
    Abstract: Systems and methods for computer memory management by a memory coordinator and a plurality of memory consumers. An urgency and memory quota of each memory consumer is initialized by the memory coordinator, which then adjusts the memory quota of each memory consumer such that the sum of the memory quota of each memory consumer does not exceed a finite amount of computer memory. Each memory consumer adjusts its memory usage in response to the quota input and urgency input from the memory coordinator.
    Type: Application
    Filed: November 8, 2021
    Publication date: March 3, 2022
    Inventors: Angela Lin, Robert Nigel Walker, Marin Creanga, Dylan Ellicott, Spencer Belleau, Alex Fitzpatrick
  • Publication number: 20210165741
    Abstract: A method to store a data value onto a cache of a storage hierarchy. A range of a collection of values that resides on a first tier of the hierarchy is initialized. The range is partitioned into disjointed range partitions; a first subset of which is designated as cached; a second subset is designated as uncached. The collection is partitioned into a subset of uncached data and cached data and placed into respective partitions. The range partition to which the data value belongs (i.e. the target range partition) is identified as being cached. If the cache is full, the range of the target range partition is reduced until either: the data value is excluded (if the data value is an end point of the partition range); or elements within the target range are evicted to make space for the data value.
    Type: Application
    Filed: February 16, 2021
    Publication date: June 3, 2021
    Inventor: Angela Lin
  • Publication number: 20210165742
    Abstract: A method to store a data value onto a cache of a storage hierarchy. A range of a collection of values that resides on a first tier of the hierarchy is initialized. The range is partitioned into disjointed range partitions; a first subset of which is designated as cached; a second subset is designated as uncached. The collection is partitioned into a subset of uncached data and cached data and placed into respective partitions. The range partition to which the data value belongs (i.e. the target range partition) is identified as being cached. If the cache is full, all of the disjointed range partitions are deleted. A first new cached partition range that contains the data value is created; it excludes at least one value that had been cached. The remaining values are placed in uncached range partitions; contents of the cache are updated to reflect the new range partition.
    Type: Application
    Filed: February 17, 2021
    Publication date: June 3, 2021
    Inventor: Angela LIN
  • Publication number: 20210149814
    Abstract: A method to store a data value onto a cache of a storage hierarchy. A range of a collection of values that resides on a first tier of the hierarchy is initialized. The range is partitioned into disjointed range partitions; a first subset of which is designated as cached; a second subset is designated as uncached. The collection is partitioned into a subset of uncached data and cached data and placed into respective portions. The range partition to which the data value belongs (i.e. the target range partition) is identified as being cached. If the cache is full, the target range partition is divided into two partitions, the partition that excludes the data value is designated as uncached; the values therein are evicted. If the cache has space, the data value is copied onto the cache; otherwise the division/eviction are repeated until the cache has space.
    Type: Application
    Filed: January 29, 2021
    Publication date: May 20, 2021
    Inventor: Angela Lin
  • Patent number: 10936501
    Abstract: A method to determine if a value is present in a storage hierarchy which comprises initialization of a range of the collection that resides on a first storage device that is in a tier slower than a fastest tier of a storage hierarchy; partitioning the range into disjointed range partitions such that a first subset of the range partitions is designated as cached and a second subset is designated as uncached; partitioning the collection into a subset of uncached data and cached data; copying, the subset of the collection which lies in the one or more cached range partitions into a cache, wherein the cache resides on a second storage device that is in a tier faster than the first storage device; determination of a target range partition to which the value belongs, and determining if the target range partition is cached or uncached.
    Type: Grant
    Filed: February 1, 2019
    Date of Patent: March 2, 2021
    Assignee: Kinaxis Inc.
    Inventor: Angela Lin