Patents by Inventor Hanumantha Rao Susarla

Hanumantha Rao Susarla has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7788346
    Abstract: A client-server system may include a distributed store configured to maintain a primary state of session data including one or more attributes. One or more other nodes may include other instances of the primary state. The system may compare the primary state to a benchmark primary state to generate a subset of the attributes of the session data that have been modified in the primary state. Another instance of the primary state may be synchronized with the primary state using the subset of the attributes. In one embodiment, the comparing may include performing binary differencing of binary representations of the primary state and the benchmark primary state to determine the modified attributes. In another embodiment, the comparing may include performing object graph differencing of object graph representations of the primary state and the benchmark primary state to determine the modified attributes.
    Type: Grant
    Filed: March 1, 2002
    Date of Patent: August 31, 2010
    Assignee: Oracle America, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani
  • Patent number: 7571354
    Abstract: A method and a system for request routing may include a router configured to forward a request to a process. The process may acquire a lock on a memory object. If the process is becomes hung, a data synchronizer may release the lock on the memory object assigned to the process. The lock on the memory object assigned to the process may be released after the process is detected to be hung and after another process requests a lock to the memory object. The router may list inactive processes, and if the process is hung, add the process to the list of inactive processes. The router may be configured to check the inactive list and not route requests to processes on the inactive list. The data synchronizer may be configured to prevent processes on the inactive list from modifying data.
    Type: Grant
    Filed: May 9, 2003
    Date of Patent: August 4, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Hanumantha Rao Susarla, Seema D. Alevoor, Harichandra Reddy Sannapa Reddy
  • Patent number: 7565406
    Abstract: A distributed data system may include nodes hosting at least one multi-threaded process operable to access portions of distributed data. A lock mechanism may grant locks to multi-threaded processes for portions of the distributed data. Only a process holding a lock may access a portion corresponding to the lock. Threads of other processes may not access the portion. A process may include one or more threads that may acquire a locks for the distributed data portion on behalf of the process. In one embodiment, the lock mechanism may allow any thread of a process release a lock held by the process. In embodiments, the last thread to access the distributed data portion corresponding to the lock may release the lock in response to no more threads of the process require access to the distributed data portion and/or in response to a request to release the lock.
    Type: Grant
    Filed: July 24, 2002
    Date of Patent: July 21, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Sandhya E, Ajay Kumar, Hanumantha Rao Susarla
  • Patent number: 7370329
    Abstract: A client-server system may include a primary state of session data. One or more application servers may include client states of the session data and may be configured to access the primary state. The session data may include one or more attributes. The distributed store may lock the primary state for access by a process executing on one of the application servers. Information may be maintained on which attributes are mutably accessed by the process. An object graph comparison of the mutably accessed attributes and a benchmark version of the attributes may be performed to determine which of the mutably accessed attributes were actually modified. The modified attributes may be used to synchronize the primary state with the client state.
    Type: Grant
    Filed: March 1, 2002
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani
  • Patent number: 7363612
    Abstract: An application program may include application modules. One or more of the application modules may each include a dynamic component and static component. The dynamic components and the static components may be configured to function according to an initial set of requirements for the application. A dynamic component generator may receive a new set of requirements for the application and generate updated dynamic components to replace the current dynamic components. The updated dynamic components may be configured to function according to the new set of requirements.
    Type: Grant
    Filed: March 6, 2002
    Date of Patent: April 22, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Sridhar Satuloori, Hanumantha Rao Susarla, Madhurabaratula Srinivas Ramprasad
  • Patent number: 7320035
    Abstract: A client-server system may include a distributed store configured to maintain a primary state of session data. The system may also include one or more application servers that each may include a client state of the session data. The session data may include one or more attributes. In one embodiment, the client state may be accessible by clients of the system. The application server may compare the client state to a benchmark of the client state to determine a subset of the attributes that have been modified in the client state. In some embodiments, the comparison may be a binary differencing or object graph differencing of the client state and the benchmark of the client state to locate the modified attributes. The distributed store may synchronize the primary state with the client state using the subset of the attributes.
    Type: Grant
    Filed: March 1, 2002
    Date of Patent: January 15, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani
  • Patent number: 7240058
    Abstract: A client-server system may include a primary state of session data. Application servers may include client states of the session data and may access the primary state. The session data may include attributes. The distributed store may provide locked access to the primary state to processes executing within the application servers. While one process has locked access, other processes are not allowed to access the primary state. In one embodiment, the distributed store provides locked access to portions of the primary state to threads executing within a process with locked access. While a portion of the primary state is locked for a thread, other threads cannot access the portion. In one embodiment, the distributed store may request the process to release the locked access. The process may release the locked access in response to the request. In one embodiment, the process may release the locked access when no longer needed.
    Type: Grant
    Filed: March 1, 2002
    Date of Patent: July 3, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani
  • Patent number: 7039923
    Abstract: Embodiments of a system and method for providing class dependency graph-based class loading and reloading may be used to segregate namespaces in a graph-centric way, and may provide a set of normalized topologies that may be used to efficiently support hot-swapping of programmatic logic such as classes, applets, and beans, among other applications. Embodiments may provide a domain-independent, flexible and robust namespace segregation technique that is based on the dependency between the various classes and not on details like the roles the classes play. The problem of segregating namespaces is formulated as a graph theory problem, and a solution is sought through graph techniques. The graph may be normalized by identifying and grouping interdependent classes and non-interdependent classes in separate groups. A directed dependency relationship of the groups may be determined using the relationships between the member classes of the groups.
    Type: Grant
    Filed: April 19, 2002
    Date of Patent: May 2, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla
  • Patent number: 6915511
    Abstract: A system and method for providing dynamic class reloading using a modular, pluggable and maintainable class loader is described. Each application in an application server (or alternatively in any implementation) may include a dynamic class loader module. The class loader module may include a hierarchical stack of class loaders. Each module in the application may be associated with its own class loader. Each class loader may be responsible for loading one or more classes. When a class is changed, the changed class may be detected by the class loader module. Any notification for a class change may come to the class loader controller so that the concerned class loader can be replaced. The class loaders for all classes that depend on the changed class may also be replaced. The replaced class loaders may then reload the affected classes.
    Type: Grant
    Filed: June 29, 2001
    Date of Patent: July 5, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Hanumantha Rao Susarla, Mukesh Garg, Sandhya E
  • Publication number: 20040225922
    Abstract: A method and a system for request routing may include a router configured to forward a request to a process. The process may acquire a lock on a memory object. If the process is becomes hung, a data synchronizer may release the lock on the memory object assigned to the process. The lock on the memory object assigned to the process may be released after the process is detected to be hung and after another process requests a lock to the memory object. The router may list inactive processes, and if the process is hung, add the process to the list of inactive processes. The router may be configured to check the inactive list and not route requests to processes on the inactive list. The data synchronizer may be configured to prevent processes on the inactive list from modifying data.
    Type: Application
    Filed: May 9, 2003
    Publication date: November 11, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Hanumantha Rao Susarla, Seema D. Alevoor, Harichandra Reddy Sannapa Reddy
  • Publication number: 20040019639
    Abstract: A distributed data system may include nodes hosting at least one multi-threaded process operable to access portions of distributed data. A lock mechanism may grant locks to multi-threaded processes for portions of the distributed data. Only a process holding a lock may access a portion corresponding to the lock. Threads of other processes may not access the portion. A process may include one or more threads that may acquire a locks for the distributed data portion on behalf of the process. In one embodiment, the lock mechanism may allow any thread of a process release a lock held by the process. In embodiments, the last thread to access the distributed data portion corresponding to the lock may release the lock in response to no more threads of the process require access to the distributed data portion and/or in response to a request to release the lock.
    Type: Application
    Filed: July 24, 2002
    Publication date: January 29, 2004
    Inventors: Sandhya E, Ajay Kumar, Hanumantha Rao Susarla
  • Publication number: 20040015936
    Abstract: A system and method for providing dynamic class reloading using a modular, pluggable and maintainable class loader is described. Each application in an application server (or alternatively in any implementation) may include a dynamic class loader module. The class loader module may include a hierarchical stack of class loaders. Each module in the application may be associated with its own class loader. Each class loader may be responsible for loading one or more classes. When a class is changed, the changed class may be detected by the class loader module. Any notification for a class change may come to the class loader controller so that the concerned class loader can be replaced. The class loaders for all classes that depend on the changed class may also be replaced. The replaced class loaders may then reload the affected classes.
    Type: Application
    Filed: June 29, 2001
    Publication date: January 22, 2004
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Hanumantha Rao Susarla, Mukesh Garg, Sandhya E
  • Publication number: 20030200350
    Abstract: Embodiments of a system and method for providing class dependency graph-based class loading and reloading may be used to segregate namespaces in a graph-centric way, and may provide a set of normalized topologies that may be used to efficiently support hot-swapping of programmatic logic such as classes, applets, and beans, among other applications. Embodiments may provide a domain-independent, flexible and robust namespace segregation technique that is based on the dependency between the various classes and not on details like the roles the classes play. The problem of segregating namespaces is formulated as a graph theory problem, and a solution is sought through graph techniques. The graph may be normalized by identifying and grouping interdependent classes and non-interdependent classes in separate groups. A directed dependency relationship of the groups may be determined using the relationships between the member classes of the groups.
    Type: Application
    Filed: April 19, 2002
    Publication date: October 23, 2003
    Inventors: Ajay Kumar, Hanumantha Rao Susarla
  • Publication number: 20030172370
    Abstract: An application program may include application modules. One or more of the application modules may each include a dynamic component and static component. The dynamic components and the static components may be configured to function according to an initial set of requirements for the application. A dynamic component generator may receive a new set of requirements for the application and generate updated dynamic components to replace the current dynamic components. The updated dynamic components may be configured to function according to the new set of requirements.
    Type: Application
    Filed: March 6, 2002
    Publication date: September 11, 2003
    Inventors: Sridhar Satuloori, Hanumantha Rao Susarla, Madhurabaratula Srinivas Ramprasad
  • Publication number: 20030167268
    Abstract: A client-server system may include a primary state of session data. Application servers may include client states of the session data and may access the primary state. The session data may include attributes. The distributed store may provide locked access to the primary state to processes executing within the application servers. While one process has locked access, other processes are not allowed to access the primary state. In one embodiment, the distributed store provides locked access to portions of the primary state to threads executing within a process with locked access. While a portion of the primary state is locked for a thread, other threads cannot access the portion. In one embodiment, the distributed store may request the process to release the locked access. The process may release the locked access in response to the request. In one embodiment, the process may release the locked access when no longer needed.
    Type: Application
    Filed: March 1, 2002
    Publication date: September 4, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani
  • Publication number: 20030167332
    Abstract: A client-server system may include a distributed store configured to maintain a primary state of session data. The system may also include one or more application servers that each may include a client state of the session data. The session data may include one or more attributes. In one embodiment, the client state may be accessible by clients of the system. The application server may compare the client state to a benchmark of the client state to determine a subset of the attributes that have been modified in the client state. In some embodiments, the comparison may be a binary differencing or object graph differencing of the client state and the benchmark of the client state to locate the modified attributes. The distributed store may synchronize the primary state with the client state using the subset of the attributes.
    Type: Application
    Filed: March 1, 2002
    Publication date: September 4, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani
  • Publication number: 20030167331
    Abstract: A client-server system may include a distributed store configured to maintain a primary state of session data including one or more attributes. One or more other nodes may include other instances of the primary state. The system may compare the primary state to a benchmark primary state to generate a subset of the attributes of the session data that have been modified in the primary state. Another instance of the primary state may be synchronized with the primary state using the subset of the attributes. In one embodiment, the comparing may include performing binary differencing of binary representations of the primary state and the benchmark primary state to determine the modified attributes. In another embodiment, the comparing may include performing object graph differencing of object graph representations of the primary state and the benchmark primary state to determine the modified attributes.
    Type: Application
    Filed: March 1, 2002
    Publication date: September 4, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani
  • Publication number: 20030167333
    Abstract: A client-server system may include a primary state of session data. One or more application servers may include client states of the session data and may be configured to access the primary state. The session data may include one or more attributes. The distributed store may lock the primary state for access by a process executing on one of the application servers. Information may be maintained on which attributes are mutably accessed by the process. An object graph comparison of the mutably accessed attributes and a benchmark version of the attributes may be performed to determine which of the mutably accessed attributes were actually modified. The modified attributes may be used to synchronize the primary state with the client state.
    Type: Application
    Filed: March 1, 2002
    Publication date: September 4, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani
  • Publication number: 20030167297
    Abstract: A client-server system may include a primary state of session data. Application servers may include client states of the session data and may access the primary state. The session data may include attributes. An application server may generate a set of attributes of the session data for synchronizing the primary state with the client state. The set may exclude immutable attributes. In some embodiment the set may further exclude attributes only immutably accessed and/or further exclude attributes that were not accessed. In some embodiments, the application server may use a binary comparison or an object graph comparison of the set of attributes to a benchmark of the client state to determine a subset of the generated set of attributes that are modified. The distributed store may synchronize the primary state with the client state using the generated set of attributes or, in some embodiments, using only the modified attributes.
    Type: Application
    Filed: March 1, 2002
    Publication date: September 4, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani
  • Publication number: 20030167285
    Abstract: A client-server system may include a distributed store configured to maintain a primary state of session data. The system may also include one or more application servers that each may include a client state of the session data for access by clients of the system. The session data may include one or more attributes. An application server may track accesses of the attributes. In one embodiment, the application server may track accesses of the attributes by storing information identifying the accessed attributes. The distributed store may synchronize the primary state with the client state using the tracked accessed attributes. In some embodiments, the application server may perform a binary or object graph comparison of the tracked accessed attributes and a benchmark of the session data to determine the attributes that are modified, and the distributed store may synchronize the primary state with the client state using only the modified attributes.
    Type: Application
    Filed: March 1, 2002
    Publication date: September 4, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani