Localized data affinity system and hybrid method

US2020110763A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020110763-A1
Application numberUS-201916705917-A
CountryUS
Kind codeA1
Filing dateDec 6, 2019
Priority dateMay 17, 2010
Publication dateApr 9, 2020
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, system, and computer program for processing records is disclosed. In some aspects, a method includes associating, on at least one of the plurality of processors, each record with a record set of a plurality of record sets. Each record set is assigned to a sub-database based on the record set. A cache is associated with each sub-database, and each sub-database and its associated cache is associated with a processor set. An affinity is created between each database cache and the associated processor set, and records are processed with the processor sets according to the associations.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method of processing records in a database on a plurality of processors grouped into a plurality of processor sets, the method comprising: associating, on at least one of the plurality of processors, each record with a target record set of a plurality of record sets, the target record set identified by a remainder of an equation R modulo N, where R is a record number identifying the record and N is the number of processor sets; associating, on at least one of the plurality of processors, the target record set with a target processor set; routing the records to the associated processor sets based on the associated record set; and processing the records with the processor sets; and assigning the target record set to a target database cache associated with the target processor set based on the equation R modulo N, wherein the target database cache comprises only the target record set. 2 . The method of claim 1 , further comprising: creating a logging cache for each processor set of the plurality of processor sets or a single logging cache for the plurality of processors; creating an affinity between each logging cache and an associated target processor set such that each logging cache resides only in memory local to the target processor set with which it is associated; and assigning a single processor in each processor set to log database transactions into the logging cache, wherein each processor set comprises a plurality of processors. 3 . The method of claim 1 , further comprising: creating a plurality of server processes, wherein each server process is associated with a processor set of the plurality of processor sets; creating an affinity between each server process and the associated target processor set such that each server process is preferentially scheduled to run on the target processor set with which it is associated; and associating each server process with a record set, wherein each server process processes records in the associated record set. 4 . The method of claim 1 , further comprising: dividing the database into a plurality of sub-databases; associating each sub-database with a processor set; and creating a database cache for each sub-database associated with a processor set such that an affinity exists between each database cache and the associated target processor set such that each database cache resides only in memory local to the target processor set with which it is associated. 5 . The method of claim 1 , wherein routing records comprises routing records to processing sets based on a static routing table. 6 . The method of claim 1 , wherein associating records comprises associating records with record sets such that there is no data dependency between record sets when processing records. 7 . An apparatus comprising a plurality of processors grouped into a plurality of processor sets configured to process records in a database, wherein the apparatus is configured to: associate each record with a target record set of a plurality of record sets, the target record set identified by a remainder of an equation R modulo N, where R is a record number identifying the record and N is the number of processor sets; associate the target record set with a target processor set; route the records to the associated processor sets based on the associated record set; process the records; and assign the target record set to a target database cache associated with the target processor set based on the equation R modulo N, wherein the target database cache comprises only the target record set. 8 . The apparatus of claim 7 , wherein the apparatus is further configured to: create a logging cache for each processor set of the plurality of processor sets or a single logging cache for the plurality of processors; create an affinity between each logging cache and an associated target processor set such that each logging cache resides only in memory local to the target processor set with which it is associated; and assign a single processor in each processor set to log database transactions into the logging cache, wherein each processor set comprises a plurality of processors. 9 . The apparatus of claim 7 , wherein the apparatus is further configured to: create a plurality of server processes, wherein each server process is associated with a processor set of the plurality of processor sets; create an affinity between each server process and the associated target processor set such that each server process is preferentially scheduled to run on the target processor set with which it is associated; and associate each server process with a record set, wherein each server process processes records in the associated target record set. 10 . The apparatus of claim 7 , wherein the apparatus is further configured to: divide the database into a plurality of sub-databases; associate each sub-database with a processor set; and create a database cache for each sub-database associated with a processor set such that an affinity exists between each database cache and the associated target processor set such that each database cache resides only in memory local to the target processor set with which it is associated. 11 . The apparatus of claim 7 , wherein the apparatus is further configured to route records to processing sets based on a static routing table. 12 . The apparatus of claim 7 , wherein the apparatus is further configured to associate records with record sets such that there is no data dependency between record sets when processing records. 13 . A computer-readable non-transitory storage medium comprising code capable of causing a computer to: associate each record in a database with a record set of a plurality of record sets, the target record set identified by a remainder of an equation R modulo N, where R is a record number identifying the record and N is the number of processor sets; associate the target record set with a target processor set; route the records to the associated processor sets based on the associated record set; process the records; and assign the target record set to a target database cache associated with the target processor set based on the equation R modulo N, wherein the target database cache comprises only the target record set. 14 . The computer-readable non-transitory storage medium of claim 13 , further comprising code capable of causing a computer to: create a logging cache for each processor set of the plurality of processor sets or a single logging cache for the plurality of processors such that an affinity exists between each logging cache and an associated target processor set such that each logging cache resides only in memory local to the target processor set with which it is associated; and assign a single processor in each processor set to log database transactions into the logging cache, wherein each processor set comprises a plurality of processors. 15 . The computer-readable non-transitory storage medium of claim 13 , further comprising code capable of causing a computer to: create a plurality of server processes, wherein each server process is associated with a processor set of the plurality of processor sets; create an affinity between each server process and the associated target processor set such that each server process is preferentially scheduled to run on the target processor set with which it is associated; and associate each server process with a record set, wherein each server process processes records in the associated record set. 1

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2020110763A1 cover?
A method, system, and computer program for processing records is disclosed. In some aspects, a method includes associating, on at least one of the plurality of processors, each record with a record set of a plurality of record sets. Each record set is assigned to a sub-database based on the record set. A cache is associated with each sub-database, and each sub-database and its associated cache …
Who is the assignee on this patent?
United States Postal Service
What technology area does this patent fall under?
Primary CPC classification G06F9/5033. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Apr 09 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).