1461187021-d510a795-ff6f-45f6-9f7a-0c5b454142b6

1. A method of constructing a database for a database application, said method comprising:
for each of a plurality of transactions, receiving input from a user via the database application;
constructing a corresponding record that embodies the received input for that transaction;
appending a time address to the corresponding record for that transaction, wherein the time address identifies when the corresponding transaction was completed; and
storing the corresponding record for that transaction in a non-volatile data storage, wherein the time address for that corresponding record is permanently associated with that stored corresponding record and wherein the database application during normal operation prevents any overwriting of that stored corresponding record with any other data.
2. The method of claim 1 further comprising, for each of the plurality of transactions, adding a primary key to the corresponding record.
3. The method of claim 1 wherein, for all transactions handled by the database application, storing the corresponding record comprises adding that corresponding record to a single common accounting transaction file in the non-volatile data storage.
4. The method of claim 1 wherein, for all transactions handled by the database application, storing the corresponding record comprises appending that corresponding record to the end of a single common file in the non-volatile data storage.
5. The method of claim 1 further comprising responding to a command to delete a particular one of the stored records by:
generating a new version of the stored record;
flagging the new version of the stored record as deleted;
adding a time address to the new version of the stored record, wherein the added time address is different from the time address of said particular stored record; and
storing the new version of the stored record in the non-volatile data storage while continuing to leave said particular record in the non-volatile data storage.
6. The method of claim 1 further comprising generating a plurality of indexes to information that is within the stored records.
7. The method of claim 1 further comprising generating and maintaining in volatile memory a plurality of indexes to information that is within the stored records.
8. The method of claim 7 wherein each of said plurality of indexes includes two levels, the second level of which contains the time addresses that are within the stored records.
9. A database method comprising:
storing a plurality of records in a data-storage, wherein each of the records of the plurality of records has a common structure that is characterized at its highest level by a key:value pair map in which the values are structures rather than scalars or primitives, said structures for containing one or more sub-records within the record; and
generating and maintaining a plurality of drill-down indexes in volatile memory, wherein each of said plurality of drill-down indexes is based on a corresponding multipart key and is for extracting different information from the sub-records contained with the records of said plurality of records.
10. The method of claim 9, wherein storing said plurality of records involves adding a time address to each of the plurality of stored records, wherein the time address identifies when the corresponding record was created and wherein each corresponding index indexes said time addresses in its last level, said time address indexes identifying the time address within the stored records.
11. A method of maintaining summary information for a database application that manages a database of records, said method comprising:
constructing an index in volatile memory for a key having associated therewith one or more quantity-related attributes that are found in the database records, wherein for each different instance of the key the index maintains a summary bucket that contains a cumulative value that is the sum of all values for the one or more quantity-related attributes associated with that instance of the key; and
automatically updating the summary buckets in the index in volatile memory each time a new record is added to the database.
12. The method of claim 11 wherein the automatic updating involves:
whenever a new record is added, scanning the new record for instances of attributes that match the summary bucket definitions for that file;
extracting values associated with those instances; and
adding the extracted values to the appropriate summary buckets stored in the index.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. An electronic device comprising:
a key pad having a plurality of mechanically responsive keys;
each key of the plurality of keys to directly responds to an application of force thereon by providing an input signal to the electronic device, and comprises:
a single glass substrate forming a top face of said each key on which the application of force is applied causing said each key to move from a neutral state to a compressed state;
a plurality of organic light emitting diodes (OLEDs) disposed in a plane below the single glass substrate;
a plurality of depressible posts controlling a movement of the top face of said each key from the neutral state to the compressed state, wherein each depressible post of the plurality of posts electrically connects to a different one of the plurality of OLEDs to a printed circuit board; and
an application-specific integrated circuit (ASIC) is electrically connected to each OLED of the plurality of OLEDs through a corresponding one of the plurality of posts;
wherein said each OLED of the plurality of OLEDs is individually controllable by the ASIC to cooperate in real time with each other to present a composite image at the key pad, the composite image comprising partial images cooperatively presented by the plurality of OLEDs of said each key of the plurality of keys, and wherein the top face of said each key of the plurality of keys is dynamically altered by using the ASIC to turn on and off certain OLEDs of the plurality of the OLEDs.
2. The electronic device of claim 1, wherein said each key of the plurality of the keys further comprises a display element, and the display element of said each key of the plurality of keys comprises:
a transparent organic light emitting diode (OLED) anode;
an OLED emission layer element disposed below the transparent OLED anode; and
an OLED cathode disposed below the OLED emission layer element such that when said each individually controllable OLED of the plurality of OLEDs is activated, the OLED emission layer element produces light that travels through the transparent OLED anode and through the single glass substrate.
3. The electronic device of claim 2, wherein the display element of said each key of the plurality of keys further comprises: a first transport layer element disposed in between the transparent OLED anode and the OLED emission layer element; and a second transport layer element disposed in between the OLED emission layer element and the OLED cathode.
4. The electronic device of claim 2, wherein a first transport layer element is formed by stamping an adhesive pattern onto the transparent OLED anode and injecting first transport layer material into a chamber, allowing the first transport layer material to contact the adhesive pattern.
5. The electronic device of claim 1, wherein a display element of said each key of the plurality of keys is switched on with a predetermined frequency to create animation effects on the top face of said each key of the plurality of keys.
6. The electronic device of claim 1, wherein the ASIC is configured to coordinate with an ASIC of one or more other keys of the plurality of keys in order to control the plurality of keys simultaneously to display a single symbol across the plurality of keys.
7. The electronic device of claim 1, wherein said each key of the plurality of keys is controlled differently based on an application program running on a computer coupled to the electronic device.
8. The electronic device of claim 1, wherein said each key of the plurality of keys is controlled differently based on an application program running on the electronic device.
9. A method of manufacturing a keyboard arranged to present a composite image, the keyboard including a plurality of keys, wherein each key of the plurality of keys having a dynamically changeable top face, the method comprising:
providing a glass substrate having an upper surface forming the top face of said each key, wherein said each key directly responds to an application of force by providing an input signal to an electronic device;
forming an array of organic light emitting diodes (OLEDs) on the glass substrate, wherein each OLED in the array of the OLEDs to be switched on and off individually using an application specific integrated circuit (ASIC), and the ASIC dynamically alters the top face of said each key of the plurality of keys, wherein said forming the array of the OLEDs includes:
forming an optically transmissive anode on a bottom surface of the glass substrate,
forming a first transport layer on top of the anode;
forming an emission layer on top of the first transport layer;
forming a second transport layer on top of the emission layer; and
forming a cathode adjacent to the second transport layer;
coupling each different depressible electrically conductive post of a plurality of depressible electrically conductive posts to said each OLED in the array of the OLEDs and to the ASIC, said each different depressible electrically conductive post of the plurality of depressible electrically conductive posts controlling a movement of the top face of said each key of the plurality of keys from a neutral state to a compressed state; and
attaching key housing sidewalls and supporting structures to the glass substrate, wherein said each OLED in the array of the OLEDs for said each key of the plurality of keys is individually controllable by the ASIC to cooperate in real time with each other to present the composite image at the keyboard, the composite image comprising partial images cooperatively presented by the array of the OLEDs of said each key of the plurality of keys.
10. The method of claim 9 wherein the ASIC is configured to display a single symbol partially on a first key of the plurality of keys and partially on a second key of the plurality of keys.
11. The method of claim 9, wherein the ASIC is configured to periodically switch on and off the array of the OLEDs on said each key of the plurality of keys with a predetermined frequency to create animation effects on the top face of said each key of the plurality of keys.
12. The method of claim 9, wherein said each key of the plurality of keys is located in a computer keyboard.
13. The method of claim 9, wherein the array of the OLEDS are organized in a non-square pattern.
14. A computer system comprising:
a peripheral device having a plurality of keys for receiving a direct user input, wherein:
each key of the plurality of keys includes a plurality of organic light emitting diodes (OLEDs) arranged to present at least a partial image at a glass substrate top face of said each key of the plurality of keys on which a force is applied causing said each key of the plurality of keys to move from a neutral state to a compressed state and to provide an input signal;
said each key of the plurality of keys having the plurality of OLEDs, wherein the plurality of OLEDs create a dynamically changeable composite image presented by the peripheral device by cooperatively combining respective partial images of said each key of the plurality of keys;
each OLED of the plurality of OLEDs is electrically connected via each separate electrically conductive post of a plurality of electrically conductive posts to a corresponding application specific integrated circuit (ASIC), wherein the ASIC provides information to and controls an operation of the plurality of OLEDs;
said each separate electrically conductive post of the plurality of electrically conductive posts at least partially controls a movement of the top face of said each key of the plurality of keys from the neutral state to the compressed state; and
the plurality of OLEDs to display the respective partial images of said each key of the plurality of keys in accordance with the information received from the ASIC, the respective partial images used to create the dynamically changeable composite image by the peripheral device;
wherein the top face of said each key of the plurality of keys is dynamically altered by using the ASIC to turn on and off certain OLEDs of the plurality of OLEDs.
15. The computer system of claim 14, wherein the ASIC is further configured to operate a game wherein a user interacts with the plurality of OLEDs for the plurality of keys.
16. The computer system of claim 15, wherein the game involves the user attempting to depress a key of the plurality of keys that is illuminated before a different key of the plurality of keys is illuminated.
17. The computer system of claim 15, wherein the game involves the user chasing a moving key of the plurality of keys around a keyboard, wherein the moving key moves by virtue of the plurality of OLEDs of adjacent keys of the plurality of keys switching between on and off.
18. The computer system as recited in claim 14, wherein the composite image is a company logo.