Patents by Inventor Carol L. Colrain

Carol L. Colrain 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: 8725882
    Abstract: Methods, devices, and computer-readable media are provided for restoring state that was built up on a first session between a first server instance and a client to a second session between a second server instance and the client. Non-transactional session state that existed for the first session is preserved by repeating non-transactional commands in the second session. Transactions are executed in the second session when the transactions did not complete in the first session. The first server instance sends, to the client in the first session, information to maintain for a possible replay of commands that were sent in a request to the first server instance for execution in the first session. If the first session becomes unavailable, the maintained information may be used by the second server instance to restore the database session, masking the outage from users, applications, and clients.
    Type: Grant
    Filed: July 31, 2012
    Date of Patent: May 13, 2014
    Assignee: Oracle International Corporation
    Inventors: Kevin S. Neel, Carol L. Colrain, Douglas N. Surber, Nancy R. Ikeda, Stefan Heinrich Roesch, Tong Zhou, Jean De Lavarene
  • Patent number: 8626890
    Abstract: Runtime connection load balancing of work across connections to a clustered computing system involves the routing of requests for a service, based on the current operational performance of each of the instances that offer the service. A connection is selected from an identified connection pool, to connect to an instance that provides the service for routing a work request. The operational performance of the instances may be represented by performance information that characterizes the response time and/or the throughput of the service that is provided by a particular instance on a respective node of the system, and is relative to other instances that offer the same service.
    Type: Grant
    Filed: November 3, 2010
    Date of Patent: January 7, 2014
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Rajkumar A. Irudayaraj, Douglas N. Surber
  • Publication number: 20130297566
    Abstract: A process, apparatus, and computer-readable medium are provided for rebuilding a database session when a previous database session becomes unavailable and the commands previously sent for execution on the previous database session satisfy certain criteria. The process includes determining whether or not a set of commands sent by a client for execution on the previous database session is acceptable to replay based at least in part on whether or not the set of commands satisfies one or more criteria. The process further includes determining that the previous database session is unavailable due to a planned or unplanned recoverable error. In response to determining that the previous database session is unavailable, if the set of commands is acceptable for replay, the set of commands is sent for execution on a new database session to rebuild the state, which was exposed to the client from the previous database session, on the new database session. The process masks the outage from the application.
    Type: Application
    Filed: July 5, 2013
    Publication date: November 7, 2013
    Inventors: Carol L. Colrain, Kevin S. Neel, Tong Zhou, Douglas N. Surber, Stefan Heinrich Roesch, Nancy R. Ikeda
  • Patent number: 8549154
    Abstract: A process, apparatus, and computer-readable medium are provided for rebuilding a database session when a previous database session becomes unavailable and the commands previously sent for execution on the previous database session satisfy certain criteria. The process includes determining whether or not a set of commands sent by a client for execution on the previous database session is acceptable to replay based at least in part on whether or not the set of commands satisfies one or more criteria. The process further includes determining that the previous database session is unavailable. In response to determining that the previous database session is unavailable, if the set of commands is acceptable for replay, the set of commands is sent for execution on a new database session to rebuild the state on the new database session. The process masks the outage from the application.
    Type: Grant
    Filed: September 9, 2011
    Date of Patent: October 1, 2013
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Kevin S. Neel, Tong Zhou, Douglas N. Surber, Stefan Heinrich Roesch, Nancy R. Ikeda
  • Publication number: 20130066952
    Abstract: Methods, devices, and storage media are provided for preserving the context of a server-client session. A server generates an initial context and a context for each user command executed in a first session and sends context to a client with the return for each command. The context describes software, session state, returned data, and/or hardware characteristics of a server-side environment for the first session. The client receives and stores the context with each user command. Upon determining that the database session should be rebuilt in the second session, the client sends initial context. A server for the second session receives the initial context and determines whether commands should be replayed in the second session. If commands are replayed, the server validates that server environment and client-visible results for each command in the second session match that from execution in the first session using the context for that command.
    Type: Application
    Filed: July 5, 2012
    Publication date: March 14, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Carol L. Colrain, Hochak Hung, Kevin S. Neel
  • Publication number: 20130066948
    Abstract: A method, machine, and computer-readable medium is provided for managing transactional sets of commands sent from a client to a server for execution. A first server reports logical identifiers that identify transactional sets of commands to a client. The first server commits information about a set of commands to indicate that the set has committed. A second server receives, from the client, a request that identifies the set based on the logical identifier that the client had received. The second server determines whether the request identified the latest set received for execution in a corresponding session and whether any transactions in the set have not committed. If any transaction has not committed, the second server enforces uncommitted state of the identified set by blocking completion of the identified set issued in the first session. The identified set may then be executed in the second session without risk of duplication.
    Type: Application
    Filed: April 16, 2012
    Publication date: March 14, 2013
    Applicant: Oracle International Corporation
    Inventors: Carol L. Colrain, Stefan Heinrich Roesch, Kevin S. Neel
  • Publication number: 20130066955
    Abstract: Methods, devices, and computer-readable media are provided for restoring state that was built up on a first session between a first server instance and a client to a second session between a second server instance and the client. Non-transactional session state that existed for the first session is preserved by repeating non-transactional commands in the second session. Transactions are executed in the second session when the transactions did not complete in the first session. The first server instance sends, to the client in the first session, information to maintain for a possible replay of commands that were sent in a request to the first server instance for execution in the first session. If the first session becomes unavailable, the maintained information may be used by the second server instance to restore the database session, masking the outage from users, applications, and clients.
    Type: Application
    Filed: July 31, 2012
    Publication date: March 14, 2013
    Inventors: Kevin S. Neel, Carol L. Colrain, Douglas N. Surber, Nancy R. Ikeda, Stefan Heinrich Roesch, Tong Zhou, Jean De Lavarene
  • Publication number: 20130066837
    Abstract: A process, apparatus, and computer-readable medium are provided for rebuilding a database session when a previous database session becomes unavailable and the commands previously sent for execution on the previous database session satisfy certain criteria. The process includes determining whether or not a set of commands sent by a client for execution on the previous database session is acceptable to replay based at least in part on whether or not the set of commands satisfies one or more criteria. The process further includes determining that the previous database session is unavailable. In response to determining that the previous database session is unavailable, if the set of commands is acceptable for replay, the set of commands is sent for execution on a new database session to rebuild the state on the new database session. The process masks the outage from the application.
    Type: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Inventors: Carol L. Colrain, Kevin S. Neel, Tong Zhou, Douglas N. Surber, Stefan Heinrich Roesch, Nancy R. Ikeda
  • Publication number: 20130066949
    Abstract: A method, machine, and computer-readable medium is provided for managing transactional sets of commands sent from a client to a server for execution. A first server reports logical identifiers that identify transactional sets of commands to a client. The first server commits information about a set of commands to indicate that the set has committed. A second server receives, from the client, a request that identifies the set based on the logical identifier that the client had received. The second server determines whether the request identified the latest set received for execution in a corresponding session and whether any transactions in the set have not committed. If any transaction has not committed, the second server enforces uncommitted state of the identified set by blocking completion of the identified set issued in the first session. The identified set may then be executed in the second session without risk of duplication.
    Type: Application
    Filed: April 16, 2012
    Publication date: March 14, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Carol L. Colrain, Stefan Heinrich Roesch, Kevin S. Neel
  • Patent number: 8200658
    Abstract: A system and method for enabling a second database instance to more quickly process a request to execute a database statement that has previously been executed by a first database instance is described. In one embodiment, the method involves sending the database statement from the first database instance to the second database instance, and generating by the second database instance one or more structures needed to prepare the statement for execution, such as a parse tree and an execution plan for the statement. If at some point in the future, the second database instance receives a request to execute the same statement, the above structures can be used for execution, thereby eliminating the need for one or more potentially time-consuming operations, such as generation of a parse tree or execution plan for the statement.
    Type: Grant
    Filed: June 13, 2011
    Date of Patent: June 12, 2012
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Namit Jain, Juan R. Loaiza
  • Publication number: 20110238655
    Abstract: A system and method for enabling a second database instance to more quickly process a request to execute a database statement that has previously been executed by a first database instance is described. In one embodiment, the method involves sending the database statement from the first database instance to the second database instance, and generating by the second database instance one or more structures needed to prepare the statement for execution, such as a parse tree and an execution plan for the statement. If at some point in the future, the second database instance receives a request to execute the same statement, the above structures can be used for execution, thereby eliminating the need for one or more potentially time-consuming operations, such as generation of a parse tree or execution plan for the statement.
    Type: Application
    Filed: June 13, 2011
    Publication date: September 29, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Carol L. Colrain, Namit Jain, Juan R. Loaiza
  • Patent number: 7984042
    Abstract: A system and method for enabling a second database instance to more quickly process a request to execute a database statement that has previously been executed by a first database instance is described. In one embodiment, the method involves sending the database statement from the first database instance to the second database instance, and generating by the second database instance one or more structures needed to prepare the statement for execution, such as a parse tree and an execution plan for the statement. If at some point in the future, the second database instance receives a request to execute the same statement, the above structures can be used for execution, thereby eliminating the need for one or more potentially time-consuming operations, such as generation of a parse tree or execution plan for the statement.
    Type: Grant
    Filed: March 23, 2005
    Date of Patent: July 19, 2011
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Namit Jain, Juan R. Loaiza
  • Patent number: 7937493
    Abstract: Runtime connection load balancing of work across connections to a clustered computing system involves the routing of requests for a service, based on the current operational performance of each of the instances that offer the service. A connection is selected from an identified connection pool, to connect to an instance that provides the service for routing a work request. The operational performance of the instances may be represented by performance information that characterizes the response time and/or the throughput of the service that is provided by a particular instance on a respective node of the system, and is relative to other instances that offer the same service.
    Type: Grant
    Filed: June 27, 2005
    Date of Patent: May 3, 2011
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Rajkumar A. Irudayaraj, Douglas N. Surber
  • Publication number: 20110055368
    Abstract: Runtime connection load balancing of work across connections to a clustered computing system involves the routing of requests for a service, based on the current operational performance of each of the instances that offer the service. A connection is selected from an identified connection pool, to connect to an instance that provides the service for routing a work request. The operational performance of the instances may be represented by performance information that characterizes the response time and/or the throughput of the service that is provided by a particular instance on a respective node of the system, and is relative to other instances that offer the same service.
    Type: Application
    Filed: November 3, 2010
    Publication date: March 3, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Carol L. Colrain, Rajkumar A. Irudayaraj, Douglas N. Surber
  • Patent number: 7657527
    Abstract: A system and method for detecting termination of an application, such as a database instance, that uses locks is described. A holding child process is started from a parent process. The holding child process connects to a monitored application instance, acquires an exclusive lock on the monitored application instance and returns a ready signal upon successfully acquiring the exclusive lock. A waiting child process is started from the parent process subsequent to the holding child process. The holding child process connects to the monitored application instance, blocks on the exclusive lock on the monitored application instance and returns a result signal upon at least one of acquiring the exclusive lock and clearing the block on the exclusive lock. The return signal is processed at the parent process. Using locks provides immediate detection that the application has terminated. Methods for blocking against the application are also described.
    Type: Grant
    Filed: April 18, 2006
    Date of Patent: February 2, 2010
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Xing Du
  • Patent number: 7444335
    Abstract: A system and method for providing cooperative resource groups for high availability applications, such as cluster databases, is described. A cluster framework, including a plurality of nodes, is built. A plurality of cooperative resource groups is formed, each including a logical network address, at least one monitor and an application providing services and externally accessed using the logical network address. A plurality of resources is structured, each including a cluster service supporting the services provided by each application. A preferred node for execution is designated for each cooperative resource group and one or more possible nodes are provided as standby nodes for each other cooperative resource group. The services are restarted on a surviving node off a critical path of the preferred node upon an unavailability of the preferred node, while the logical network address is kept available on each possible node for the cooperative resource group.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: October 28, 2008
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Harvey A. Eneman
  • Patent number: 7069317
    Abstract: A system and method for detecting a failure of a first process is disclosed. According to one aspect, a first connection is established between a first process and a second process. A monitoring mechanism monitors the status of the first process to detect whether the first process has failed. In response to determining that the first process has failed, the monitoring mechanism causes an out-of-band message to be sent to the second process.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: June 27, 2006
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Harvey A. Eneman, Wei-Ming Hu, Sashikanth Chandrasekaran
  • Patent number: 7058629
    Abstract: A system and method for detecting termination of an application, such as a database instance, that uses locks is described. A holding child process is started from a parent process. The holding child process connects to a monitored application instance, acquires an exclusive lock on the monitored application instance and returns a ready signal upon successfully acquiring the exclusive lock. A waiting child process is started from the parent process subsequent to the holding child process. The holding child process connects to the monitored application instance, blocks on the exclusive lock on the monitored application instance and returns a result signal upon at least one of acquiring the exclusive lock and clearing the block on the exclusive lock. The return signal is processed at the parent process. Using locks provides immediate detection that the application has terminated. Methods for blocking against the application are also described.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: June 6, 2006
    Assignee: Oracle International Corporation
    Inventors: Carol L Colrain, Xing Du
  • Patent number: 6892205
    Abstract: A system and method for enabling a second database instance to more quickly process a request to execute a database statement that has previously been executed by a first database instance is described. In one embodiment, the method involves sending the database statement from the first database instance to the second database instance, and generating by the second database instance one or more structures needed to prepare the statement for execution, such as a parse tree and an execution plan for the statement. If at some point in the future, the second database instance receives a request to execute the same statement, the above structures can be used for execution, thereby eliminating the need for one or more potentially time-consuming operations, such as generation of a parse tree or execution plan for the statement.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: May 10, 2005
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Namit Jain, Juan R. Loaiza