Patent ID: 8719274
Filing Date: 2014-05-06
Classification: G06F

Abstract:
1. A computer-implemented method for providing generic database services within an extensible firmware interface environment, the method comprising computer-implemented operations for: loading, by a computer processor, one or more programs at a computer boot time within the extensible firmware interface environment, the programs configured to provide boot and runtime services for a computer, the extensible firmware interface environment providing an interface between an operating system and system firmware; receiving, by the computer processor, a request from the programs to create a database within the extensible firmware interface environment on a computer, the request comprising a plurality of population parameters comprising an initial count for indicating an initial number of records to be stored in the database, a key count for indicating a number of key fields in a record, and a pointer to a data field storing a pointer to a function for retrieving and comparing a value of a key field of a record in the database; creating, by the computer processor, a database structure within the extensible firmware interface environment according to the population parameters, the database structure further comprising an index array field for storing a pointer to an index array, the index array having a number of columns equal to the key count and an initial number of rows equal to the initial count; populating, by the computer processor, the database structure with the population parameters; allocating memory, by a computer processor, for the index array, the index array comprising a sorted array of pointers to a plurality of records in the database, the sorted array of pointers being sorted according to the key fields of the plurality of records in the database, the key fields comprising an integer field, a byte field, and a globally unique identifier (GUID) field; in response to a request to add a new record to the database, adjusting, by a computer processor, the index array such that the sorted array of pointers remains sorted after the new record is added; and in response to a request to delete an old record from the database, adjusting, by a computer processor, the index array such that the sorted array of pointers remains sorted after the old record is deleted.