×

Web services database cluster architecture

  • US 7,685,131 B2
  • Filed: 02/28/2006
  • Issued: 03/23/2010
  • Est. Priority Date: 02/28/2006
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method of performing web services on a database, said database including a master and a replica instance of said database, said method comprising:

  • inputting a user request to a URL of a Quality of Service-goal based Router Servlet (QRS), and associating said user request with a thread,wherein said QRS communicates with a session database having a cluster architecture;

    assigning, by said QRS, a user identity (UID) to a user session and storing said UID in a session object or reading said UID from said session object;

    if said database is marked changed and data in not yet replicated, then adding a database state change flag to said user request, else establishing, by said QRS, a user class and service class from said user request, assigning a Quality of Service (QoS) goal to said user request, and selecting a node from a cluster of nodes that meets said QoS goal, and routing said user request to said selected node;

    reading, by a Session Synchronizer Servlet (SSS) of said selected node, said user session using said UID and said database state change flag, if present;

    getting, by said SSS, attributes of said session object and setting said attributes from said session object read from said session database, and if said database change state flag is associated with said user request, then adding said database state change flag to said thread;

    forwarding, by said SSS, said user request to application logic of said selected node, wherein deployment of an entity bean for read, write, and delete operations and to manage persistent data is re-engineered to enable integration with master and replica database instances by creating a clone entity bean with all of said read and write operations (CEBRW) and a clone entity bean with only said read operations (CEBR);

    deploying said CEBRW using a Java Naming and Directory Interface name of an application session bean against a master database instance as an application entity bean, wherein said application session bean interacts with said CEBRW and not with said application entity bean;

    intercepting, by said CEBRW, all user requests from said application logic, said CEBRW;

    first routing a read request via said CEBR to a replica database instance, if a write flag is not set;

    secondly, routing a write request via said application entity bean to a master database instance, if said write flag is set, writing to said master database instance, and time stamping said write request; and

    thirdly, routing a read request via said application entity bean to said master database instance, if said write flag is set;

    then storing, by said SSS, said session object in said session database;

    caching, by said QRS, said database state change flag in said user session and information related to state changes of said user class by said selected node for routing subsequent user requests to said selected node;

    recording, by said QRS, performance of said selected node for said service class; and

    outputting, by said QRS, a user request result to a user.

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