Field oriented pipeline architecture for a programmable data streaming processor
First Claim
1. A distributed data processing system for executing database operations comprising:
- (a) a first group including two or more host processors configured to accept queries with filtering criteria for data stored on mass storage devices of a database;
(b) a second group including two or more Job Processing Units (JPUs), each JPU configured to receive requests from the two or more host processors and including a first processor and a second processor, the second processor including an interface for accessing the mass storage devices of the database;
(c) a network infrastructure providing network connection of the first and second groups as network nodes, to support communication of data among network nodes, the network infrastructure using a communication protocol;
(d) a communication process responsible for communicating data blocks in one or more messages communicated among network nodes; and
(e) an application process for executing database operations, with portions of the application process executing on the JPUs, and portions of the application process executing on at least one of the two or more host processors, the portions executing on the JPUs including the second processor;
parsing streaming data in accordance with a format of the database, wherein the streaming data is received from the mass storage devices of the database via the interface; and
filtering the parsed data based on the filtering criteria of a corresponding query;
wherein the parsing and filtering are performed as the streaming data is being read from the mass storage devices of the database for transference of the filtered data from the second processor to the first processor.
8 Assignments
0 Petitions
Accused Products
Abstract
A distributed data processing system executes database operations, and includes a first group of host processors and a second group of job processing units (JPUs). A software application for executing database operations executes in a distributed fashion with portions of the database application executing on at least one central database processor and other portions executing on the data storage processors. At least a portion of the database application is implemented within and/or coordinated by a communication process that is executing the communication protocol. The communication process implements a load balancing function in front of the host processors, the load balancing function directing individual transactions to selected processors so as to evenly distribute workload.
-
Citations
28 Claims
-
1. A distributed data processing system for executing database operations comprising:
-
(a) a first group including two or more host processors configured to accept queries with filtering criteria for data stored on mass storage devices of a database; (b) a second group including two or more Job Processing Units (JPUs), each JPU configured to receive requests from the two or more host processors and including a first processor and a second processor, the second processor including an interface for accessing the mass storage devices of the database; (c) a network infrastructure providing network connection of the first and second groups as network nodes, to support communication of data among network nodes, the network infrastructure using a communication protocol; (d) a communication process responsible for communicating data blocks in one or more messages communicated among network nodes; and (e) an application process for executing database operations, with portions of the application process executing on the JPUs, and portions of the application process executing on at least one of the two or more host processors, the portions executing on the JPUs including the second processor; parsing streaming data in accordance with a format of the database, wherein the streaming data is received from the mass storage devices of the database via the interface; and filtering the parsed data based on the filtering criteria of a corresponding query; wherein the parsing and filtering are performed as the streaming data is being read from the mass storage devices of the database for transference of the filtered data from the second processor to the first processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of executing database operations comprising:
-
operating a communication process to communicate data blocks in one or more messages communicated among two or more Job Processing Units (JPUs) and two or more host processors as network nodes, each host processor configured to accept queries with filtering criteria for data stored on mass storage devices of a database, each JPU configured to receive requests from the two or more host processors and including a first processor and a second processor, the second processor including an interface for accessing the mass storage devices of the database; and operating an application process to execute database operations, with portions of the application process executing on the two or more JPUs, and portions of the application process executing on the two or more host processors, the portions executing on the JPUs including the second processor; parsing streaming data in accordance with a format of the database, wherein the streaming data is received from the mass storage devices via the interface; and filtering the parsed data based on the filtering criteria of a corresponding query; wherein the parsing and filtering are performed as the streaming data is being read from the mass storage devices of the database for transference of the filtered data from the second processor to the first processor. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer program product for executing database operations comprising:
a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to; operate a communication process to communicate data blocks in one or more messages communicated among two or more Job Processing Units (JPUs) and two or more host processors as network nodes, each host processor configured to accept queries with filtering criteria for data stored on mass storage devices of a database, each JPU configured to receive requests from the two or more host processors and including a first processor and a second processor, the second processor including an interface for accessing the mass storage devices of the database; and operate an application process to execute database operations, with portions of the application process executing on the two or more JPUs, and portions of the application process executing on the two or more host processors, the portions executing on the JPUs including the second processor; parsing streaming data in accordance with a format of the database, wherein the streaming data is received from the mass storage devices of the database via the interface; and filtering the parsed data based on the filtering criteria of a corresponding query; wherein the parsing and filtering are performed as the streaming data is being read from the mass storage devices of the database for transference of the filtered data from the second processor to the first processor. - View Dependent Claims (28)
Specification