Localized data affinity system and hybrid method

US9613129B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9613129-B2
Application numberUS-201414555443-A
CountryUS
Kind codeB2
Filing dateNov 26, 2014
Priority dateMay 17, 2010
Publication dateApr 4, 2017
Grant dateApr 4, 2017

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. The records are associated with record sets, based on a record number contained in the record. Record sets are associated with physically separate processor sets, which include one or more processors. Records are electronically routed to associated processor sets for processing, based on the record set associated with the record. Records are processed on processors in the processor sets. Furthermore, various localized affinities can be established. Process affinity can link server processes with processor sets. Cache affinity can link database caches with processor sets. Data affinity can link incoming data to processor sets.

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 physically separate processor sets, the method comprising: associating, on at least one of the plurality of processors, each record with a record set of a plurality of record sets, based on a record number contained in the record; associating, on at least one of the plurality of processors, each record set with a processor set; electronically routing the records to processor sets based on the associated record set; and processing the records with the processor sets. 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 processor set; and assigning a single processor in each processor set to log database transactions, 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 processor set; 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; and creating an affinity between each database cache and the associated processor set. 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 physically separate processor sets configured to process records in a database, wherein the apparatus is configured to: associate each record with a record set of a plurality of record sets, based on a record number contained in the record; associate each record set with a processor set; electronically route the records to processor sets based on the associated record set; and process the records. 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 processor set; and assign a single processor in each processor set to log database transactions, 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 processor set; and associate each server process with a record set, wherein each server process processes records in the associated 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; and create an affinity between each database cache and the associated processor set. 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, based on a record number contained in the record; associate each record set with a processor set; electronically route the records to physically separate processor sets based on the associated record set; and process the records. 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; create an affinity between each logging cache and an associated processor set; and assign a single processor in each processor set to log database transactions, wherein each processor set comprises a plurality of processors. 15. The computer-readable non-transitory storage medium of claim 14 , 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 processor set; and associate each server process with a record set, wherein each server process processes records in the associated record set. 16. The computer-readable non-transitory storage medium of claim 14 , further comprising code capable of causing a computer 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; and create an affinity between each database cache and the associated processor set. 17. The computer-readable non-transitory storage medium of claim 14 , further comprising code capable of causing a computer to route records to processing sets based on a static routing table. 18. The computer-readable non-transitory storage medium of claim 14 , further comprising code capable of causing a computer to associate records with record sets such that there is no data dependency between record sets when processing records. 19. A method of inserting a record into a database in a multiprocessor environment, the method comprising: receiving, at a routing node, a record; associating, at the routing node, the record with a record set of a plurality of record sets, based on a record number contained in the record; electronically routing the record to a processor set of a plurality of physically separate processor sets based on the associated record set; searching, at the processor set, a part of the database for a matching record, the part of the database being associated with the processor set; and inserting the record into the part of the database when the record is not found in the part of the database. 20. An apparatus comprising a routing node and a plurality of processors grouped into a plurality of processor sets configured to process records in a database, wherein the apparatus is configured to: receive, at a routing node, a record; associate, at the routing node, the record with a record set of a plurality of record sets, based on a record number contained in the record; electronically route the record to a processor set of the plural

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 US9613129B2 cover?
A method, system, and computer program for processing records is disclosed. The records are associated with record sets, based on a record number contained in the record. Record sets are associated with physically separate processor sets, which include one or more processors. Records are electronically routed to associated processor sets for processing, based on the record set associated with t…
Who is the assignee on this patent?
United States Postal Service
What technology area does this patent fall under?
Primary CPC classification G06F16/285. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 04 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). 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).