×

Systems and methods for processing data objects

  • US 8,209,281 B2
  • Filed: 03/31/2009
  • Issued: 06/26/2012
  • Est. Priority Date: 03/31/2009
  • Status: Active Grant
First Claim
Patent Images

1. A computer system for processing a data object comprising:

  • a storage device containing a database for storing a plurality of data objects;

    a user interface module configured to present data to a user via a graphical user interface on a screen;

    a fast data provider module configured to statelessly read upon request from the user interface module the data object from the database by treating the request as an independent transaction and provide the data object to the user interface module without retaining any session state information and without locking the data object;

    a transaction provider module configured to read the data object from the user interface module, to lock the data object while reading from and writing to the database, the locking preserving consistency and atomicity, and to perform a consistency check between the data object read from the user interface module and the database;

    wherein the user interface module is further configured to;

    initially read the data object from the fast data provider module, incorporate data initially read from the fast data provider module into the graphical user interface,receive a user interaction indicating that data in the graphical user interface has changed and,on response of said indication,compare the data object in the fast data provider module to the data in the graphical user interface to identify whether the graphical user interface data incorporated from the data object has changed;

    if the graphical user interface data incorporated from the data object has changed;

    create a buffer in memory instantiating the transaction provider module;

    send a request to the transaction provider to lock and transactionally read said data object from the database causing the transaction provider to store the transactionally read data object in the buffer;

    compare the transactionally read data object stored in the buffer to the data object in the fast data provider module to identify whether the data object stored in the buffer is identical to that in the fast data provider module;

    if the data object stored in the buffer is not identical to that in the fast data provider module, send a request to the transaction provider module to release the lock, otherwise,merge the changed data in the graphical user interface relating to the data object into the data object stored in the buffer; and

    send a request to the transaction provider to store the merged data object in the database and release the lock.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×