Software virtual machine for content delivery
First Claim
1. A device comprising:
- a multi-core hardware processor having a plurality of execution cores;
a plurality of memory partitions each associated with a different one of the execution cores;
an in-memory database comprising;
a database table having a field and one or more rows that each include a value for the field; and
an index having a set of index entries that each map a value for the field to a corresponding row of one or more rows of the database table,wherein each of the plurality of memory partitions stores a different one of a plurality of portions of the index, wherein each of the different portions of the index includes a different subset of the set of index entries;
a content delivery engine that configures a plurality of private data channels to each deliver unique data to a corresponding one of a plurality of data consumers; and
a parallelization engine that receives, from the content delivery engine, a query request for rows of the one or more rows of the database table having a value for the field that matches a criteria of the query request,wherein the parallelization engine, in response to the query request, applies an assignment algorithm to the criteria of the query request to identify one of the execution cores that is associated with one of the memory partitions that stores one of the portions of the index that includes one of the index entries that maps the value for the field that matches the criteria of the query request to a matching row of the one or more rows of the database table, andwherein the parallelization engine spawns and deploys a task to the identified execution core to execute only on the identified execution core to obtain and return, to the content delivery engine and in response to the query request, at least one value of the matching row of the one or more rows of the database table.
8 Assignments
0 Petitions
Accused Products
Abstract
In general, this disclosure is directed to a software virtual machine that provides high-performance transactional data acceleration optimized for multi-core computing platforms. The virtual machine utilizes an underlying parallelization engine that seeks to maximize the efficiencies of multi-core computing platforms to provide a highly scalable, high performance (lowest latency), virtual machine. In some embodiments, the virtual machine may be viewed as an in-memory virtual machine with an ability in its operational state to self organize and self seek, in real time, available memory work boundaries to automatically optimize maximum available throughput for data processing acceleration and content delivery of massive amounts of data.
-
Citations
20 Claims
-
1. A device comprising:
-
a multi-core hardware processor having a plurality of execution cores; a plurality of memory partitions each associated with a different one of the execution cores; an in-memory database comprising; a database table having a field and one or more rows that each include a value for the field; and an index having a set of index entries that each map a value for the field to a corresponding row of one or more rows of the database table, wherein each of the plurality of memory partitions stores a different one of a plurality of portions of the index, wherein each of the different portions of the index includes a different subset of the set of index entries; a content delivery engine that configures a plurality of private data channels to each deliver unique data to a corresponding one of a plurality of data consumers; and a parallelization engine that receives, from the content delivery engine, a query request for rows of the one or more rows of the database table having a value for the field that matches a criteria of the query request, wherein the parallelization engine, in response to the query request, applies an assignment algorithm to the criteria of the query request to identify one of the execution cores that is associated with one of the memory partitions that stores one of the portions of the index that includes one of the index entries that maps the value for the field that matches the criteria of the query request to a matching row of the one or more rows of the database table, and wherein the parallelization engine spawns and deploys a task to the identified execution core to execute only on the identified execution core to obtain and return, to the content delivery engine and in response to the query request, at least one value of the matching row of the one or more rows of the database table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
associating each of a plurality of memory partitions with a different one of a plurality of execution cores of a multi-core hardware processor; configuring, with a content delivery engine, a plurality of private data channels to each deliver unique data to a corresponding one of a plurality of data consumers; configuring an in-memory database comprising; a database table having a field and one or more rows that each include a value for the field; and an index having a set of index entries that each map a value for the field to a corresponding row of one or more rows of the database table, wherein each of the plurality of memory partitions stores a different one of a plurality of portions of the index, wherein each of the different portions of the index includes a different subset of the set of index entries; receiving, with a parallelization engine executing on the multi-core hardware processor and from the content delivery engine, a query request for rows of the one or more rows of the database table having a value for the field that matches a criteria of the query request; with the parallelization engine and in response to the query request, applying an assignment algorithm to the criteria of the query request to identify one of the execution cores that is associated with one of the memory partitions that stores one of the portions of the index that includes one of the index entries that maps the value for the field that matches the criteria of the query request to a matching row of the one or more rows of the database table; and with the parallelization engine, spawning and deploying a task to the identified execution core to execute on the identified execution core to obtain and return, to the content delivery engine and in response to the query request, at least one value of the matching row of the one or more rows of the database table. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable storage device comprising instructions that, when executed, cause a multi-core hardware processor having a plurality of execution cores to:
-
associate each of a plurality of memory partitions with a different one of a plurality of execution cores of a multi-core hardware processor; configure, with a content delivery engine, a plurality of private data channels to each deliver unique data to a corresponding one of a plurality of data consumers; configure an in-memory database comprising; a database table having a field and one or more rows that each include a value for the field; and an index having a set of index entries that each map a value for the field to a corresponding row of the one or more rows of the database table, wherein each of the plurality of memory partitions stores a different one of a plurality of portions of the index, wherein each of the different portions of the index includes a different subset of the set of index entries; receive, with a parallelization engine executing on the multi-core hardware processor and from the content delivery engine, a query request for rows of the one or more rows of the database table having a value for the field that matches a criteria of the query request; with the parallelization engine and in response to the query request, apply an assignment algorithm to the criteria of the query request to identify one of the execution cores that is associated with one of the memory partitions that stores one of the portions of the index that includes one of the index entries that maps the value for the field that matches the criteria of the query request to a matching row of the one or more rows of the database table; and with the parallelization engine, spawn and deploy a task to the identified execution core to execute on the identified execution core to obtain and return, to the content delivery engine and in response to the query request, at least one value of the matching row of the one or more rows of the database table. - View Dependent Claims (20)
-
Specification