×

Transactional cache versioning and storage in a distributed data grid

  • US 9,201,685 B2
  • Filed: 01/26/2012
  • Issued: 12/01/2015
  • Est. Priority Date: 01/28/2011
  • Status: Active Grant
First Claim
Patent Images

1. A system for providing a transaction framework in a distributed data grid, said system comprising:

  • a cluster of server nodes that store and manage data, said data being modified using a set of transactions; and

    a client that establishes a connection to the cluster and maintains a commit version having a commit version value for each transaction of said set of transactions;

    wherein the cluster of server nodes employs a set of distributed caches as internal system tables for storing natural keys, synthetic keys, and versioned cache values;

    wherein said internal system tables include a natural table that maps a natural key associated with a transaction to one or more synthetic key associated with the transaction, whereby, by using the natural key and one or more synthetic keys associated with the transaction in combination, the set of distributed caches are enabled to store a plurality of versioned cache values simultaneously for each transaction;

    wherein each server node in the cluster maintains for each transaction on the server node a current version having a current version value that is updated as messages are received from the client;

    wherein when the client sends a message to a receiving server node of the cluster of server nodes, the client includes with the message a commit version value associated with the transaction;

    wherein upon receiving the message, the receiving server node sets the current version maintained by the receiving server node to the maximum of the current version value being stored in said receiving server node and the associated transaction'"'"'s commit version value received in the message from the client, and sends a return message to the client, said return message including the current version value set by the receiving server node; and

    wherein upon receiving the return message, the client sets the commit version to a commit version value greater than the maximum of the commit version value stored at the client and the current version value received from the receiving server node in the return message.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×