EP2300907A2

Improved database architecture for supporting group communications among wireless communication devices

Abstract

This record has no abstract on file.

Term

Projected expiry 9 June 2029.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

20 claims: 4 independent, 16 dependent

  1. 1
    Claims of equivalent WO 2009155162 A2 CLAIMS What is claimed is:1. A system for continually updating a large and substantially continually changing dataset that is accessed by multiple application threads, comprising: a first server configured to selectively control a substantially continually changing first dataset, the first server including a plurality of application threads resident thereupon, including a checkpointing thread, the first server further including a checkpointing cache and a data-index table, wherein the first data set substantially consistently being accessed by, at least, the application threads resident on the first server;and a second server configured to selectively send new data from a second data set to the first server for inclusion into the first dataset, the new data comprised of discrete, ordered blocks, wherein the data-index table further containing the ordering information of data blocks held within the second data set, and the data-index table being updated as new data blocks are received at the first server from the second server, and wherein, as new data blocks are received at the first server from the second server, at least the ordering information of the data blocks is placed into the checkpointing cache, and then for each block of new data to be included in the first data set, the checkpointing thread comparing the ordering information of the data block in the data-index table to the ordering information for the data block in the checkpointing cache, and upon comparison indicating that the correct ordering information for the order of the data block to be included in the first data set, the checkpointing thread including that data block into first data set, otherwise, upon the comparison indicating incorrect ordering information for the data block to be included in the first data set, the checkpointing thread discarding that data block and awaiting the data block of the correct order from the checkpointing cache.
  2. 8
    A method for continually updating a large and substantially continually changing dataset that is accessed by multiple application threads, comprising:receiving new data comprised of discrete, ordered blocks at a first server that is configured to selectively control a substantially continually changing first dataset, the new data from a second dataset, and the first server including a plurality of application threads resident thereupon, including a checkpointing thread, the first server further including a checkpointing cache and a data-index table, wherein the first data set substantially continuously being accessed by, at least, the application threads resident on the first server;updating the data-index table as new data blocks are received at the first server from, the data-index table containing the ordering information of data blocks held within the second dataset;placing the ordering information of the data blocks into the checkpointing cache;for each block of new data to be included in the first data set, the checkpointing thread comparing the ordering information of the data block in the data-index table to the ordering information for the data block in the checkpointing cache, and upon the comparison indicating that the correct ordering information for the order of the data block to be included in the first data set, the checkpointing thread including that data block into first data set, and otherwise, upon the comparison indicating incorrect ordering information for the data block to be included in the first data set, the checkpointing thread discarding that data block and awaiting the data block of the correct order from the checkpointing cache.
  3. 13
    A server configured to selectively control a substantially continually updated and changing resident dataset, comprising:a plurality of application threads resident thereupon, including a checkpointing thread, a checkpointing cache;a data-index table, a first data set substantially continuously being accessed by, at least, the application threads resident on the first server, the first dataset being at least periodically updated with data blocks from a second dataset, the second dataset comprised of discrete, ordered blocks;wherein the data-index table is updated as new data blocks from the second dataset are received at the server, the data-index table containing the ordering information of data blocks held within the second data set;wherein, as new data blocks are received at the server, at least the ordering information of the data blocks is placed into the checkpointing cache, and then for each block of new data to be included in the first data set, the checkpointing thread comparing the ordering information of the data block in the data-index table to the ordering information for the data block in the checkpointing cache, and upon the comparison indicating that the correct ordering information for the order of the data block to be included in the first data set, the checkpointing thread including that data block into first data set, otherwise, upon the comparison indicating incorrect ordering information for the data block to be included in the first data set, the checkpointing thread discarding that data block and awaiting the data block of the correct order from the checkpointing cache.
  4. 20
    A server configured to selectively control a substantially continually updated and changing dataset, comprising:means for controlling a plurality of resident application threads resident thereupon, means for storing checkpointing data;means for storing a data-index;means for storing a first data set that is substantially consistently being accessed by, at least, the means for controlling the application threads, means for updating the first dataset at least periodically with data blocks from a second data set;wherein the means for storing a data-index further updating the data-index as new data blocks are received at the server, the data-index containing the ordering information of data blocks held within the second data set;wherein the means for storing checkpointing data further storing the ordering information of the data blocks from the second dataset;means for comparing the ordering information of the data block in the means for storing a data-index to the ordering information for the data block in the means for storing checkpointing data, and wherein, for each block of new data to be included in the first data set, upon the comparison indicating that the correct ordering information for the order of the data block to be included in the first data set, the means for updating then updating the first data set with that data block, otherwise, upon the comparison indicating incorrect ordering information for the data block to be included in the first data set, the means for updating then discarding that data block and awaiting the data block of the correct order from the means for storing checkpointing data.