Patents by Inventor Stefan Heinrich Roesch

Stefan Heinrich Roesch 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: 10339127
    Abstract: Techniques are described for providing a guaranteed commit outcome for global transactions that are optimized by deferring the commit processing to a resource manager, such as a DBMS, using optimizations. The “Distributed Transaction Processing: The XA Specification” standard specification is ambiguous regarding commit outcomes for transactions managed by DBMS, resulting in wrong results for vendors implementing the standard. The techniques described provide a guaranteed commit outcome when using the optimizations, creating the opportunity for safe replay of global transactions when a communication error or timeout occurs between the transaction manager and the resource manager, and eliminating ambiguous transaction outcomes reaching applications and end users. Techniques described herein distinguished between global transactions in a session managed by a transaction manager, and those in the same session that are managed by the resource manager using the optimizations.
    Type: Grant
    Filed: January 28, 2016
    Date of Patent: July 2, 2019
    Assignee: Oracle International Corporation
    Inventors: Carol Colrain, Stefan Heinrich Roesch, Todd J. Little, Paul Parkinson
  • Patent number: 10250693
    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 server receives, from a client in a second session, a request that identifies a set of commands that were sent by the client in a first session. The set of commands comprises one or more transactions. The server determines that at least one transaction of the one or more transactions in the set of commands has not committed. Based at least in part on determining that the at least one transaction of the one or more transactions has not committed, the server blocks, from the second session, completion of the at least one transaction in the first session to prevent committing of the at least one transaction in the first session.
    Type: Grant
    Filed: December 31, 2014
    Date of Patent: April 2, 2019
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Stefan Heinrich Roesch, Kevin S. Neel
  • Patent number: 9779116
    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: Grant
    Filed: July 5, 2013
    Date of Patent: October 3, 2017
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Kevin S. Neel, Tong Zhou, Douglas N. Surber, Stefan Heinrich Roesch, Nancy R. Ikeda, Paul Parkinson
  • Patent number: 9760584
    Abstract: Systems and methods are provided for supporting transaction recovery based on inline delegation of transaction logs to a database. The system can retrieve transaction recovery information of a transaction from a persistence store, wherein the transaction recovery information is persisted on a resource manager that is associated with the persistence store during a prepare phase. Furthermore, the system can retrieve one or more in-doubt transactions from one or more participating resource managers of the transaction. Then, the system can determine whether to commit or roll back the one or more in-doubt transactions by matching the one or more in-doubt transactions to the transaction recovery information.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: September 12, 2017
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Paul Parkinson, Todd J. Little, Stefan Heinrich Roesch, Carol Lyndall Colrain, Edward Heeren
  • Publication number: 20170220621
    Abstract: Techniques are described for providing a guaranteed commit outcome for global transactions that are optimized by deferring the commit processing to a resource manager, such as a DBMS, using optimizations. The “Distributed Transaction Processing: The XA Specification” standard specification is ambiguous regarding commit outcomes for transactions managed by DBMS, resulting in wrong results for vendors implementing the standard. The techniques described provide a guaranteed commit outcome when using the optimizations, creating the opportunity for safe replay of global transactions when a communication error or timeout occurs between the transaction manager and the resource manager, and eliminating ambiguous transaction outcomes reaching applications and end users. Techniques described herein distinguished between global transactions in a session managed by a transaction manager, and those in the same session that are managed by the resource manager using the optimizations.
    Type: Application
    Filed: January 28, 2016
    Publication date: August 3, 2017
    Inventors: CAROL COLRAIN, STEFAN HEINRICH ROESCH, TODD J. LITTLE, PAUL PARKINSON
  • Patent number: 9591103
    Abstract: Transactional and non-transactional data for maintaining session state is described. In a session, a server instance receives, from a client, a request to execute transactional commands and non-transactional commands. The server instance sends at least one first directive executable at the client to store, in a first set of information, one or more first items representing one or more particular transactional commands that are open but not yet committed. The first set of information is maintained separately from a second set of information including one or more second items representing one or more particular non-transactional commands that have been processed. Based on committing one or more particular transactional commands, the server instance sends at least one second directive executable at the client to purge, from the first set of information, the one or more first items without purging, from the second set of information, the one or more second items.
    Type: Grant
    Filed: June 24, 2015
    Date of Patent: March 7, 2017
    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
  • Publication number: 20160321304
    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 3, 2016
    Inventors: Carol L. Colrain, Kevin S. Neel, Tong Zhou, Douglas N. Surber, Stefan Heinrich Roesch, Nancy R. Ikeda
  • Publication number: 20150326673
    Abstract: Transactional and non-transactional data for maintaining session state is described. In a session, a server instance receives, from a client, a request to execute transactional commands and non-transactional commands. The server instance sends at least one first directive executable at the client to store, in a first set of information, one or more first items representing one or more particular transactional commands that are open but not yet committed. The first set of information is maintained separately from a second set of information including one or more second items representing one or more particular non-transactional commands that have been processed. Based on committing one or more particular transactional commands, the server instance sends at least one second directive executable at the client to purge, from the first set of information, the one or more first items without purging, from the second set of information, the one or more second items.
    Type: Application
    Filed: June 24, 2015
    Publication date: November 12, 2015
    Inventors: Kevin S. Neel, Carol L. Colrain, Douglas N. Surber, Nancy R. Ikeda, Stefan Heinrich Roesch, Tong Zhou, Jean De Lavarene
  • Patent number: 9124670
    Abstract: Transactional and non-transactional data for maintaining session state is described. In a session, a server instance receives, from a client, a request to execute transactional commands and non-transactional commands. The server instance sends at least one first directive executable at the client to store, in a first set of information, one or more first items representing one or more particular transactional commands that are open but not yet committed. The first set of information is maintained separately from a second set of information including one or more second items representing one or more particular non-transactional commands that have been processed. Based on committing one or more particular transactional commands, the server instance sends at least one second directive executable at the client to purge, from the first set of information, the one or more first items without purging, from the second set of information, the one or more second items.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: September 1, 2015
    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
  • Publication number: 20150172390
    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 server receives, from a client in a second session, a request that identifies a set of commands that were sent by the client in a first session. The set of commands comprises one or more transactions. The server determines that at least one transaction of the one or more transactions in the set of commands has not committed. Based at least in part on determining that the at least one transaction of the one or more transactions has not committed, the server blocks, from the second session, completion of the at least one transaction in the first session to prevent committing of the at least one transaction in the first session.
    Type: Application
    Filed: December 31, 2014
    Publication date: June 18, 2015
    Inventors: Carol L. Colrain, Stefan Heinrich Roesch, Kevin S. Neel
  • Patent number: 8984170
    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: Grant
    Filed: April 16, 2012
    Date of Patent: March 17, 2015
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Stefan Heinrich Roesch, Kevin S. Neel
  • Patent number: 8924346
    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: Grant
    Filed: April 16, 2012
    Date of Patent: December 30, 2014
    Assignee: Oracle International Corporation
    Inventors: Carol L. Colrain, Stefan Heinrich Roesch, Kevin S. Neel
  • Publication number: 20140229531
    Abstract: Transactional and non-transactional data for maintaining session state is described. In a session, a server instance receives, from a client, a request to execute transactional commands and non-transactional commands. The server instance sends at least one first directive executable at the client to store, in a first set of information, one or more first items representing one or more particular transactional commands that are open but not yet committed. The first set of information is maintained separately from a second set of information including one or more second items representing one or more particular non-transactional commands that have been processed. Based on committing one or more particular transactional commands, the server instance sends at least one second directive executable at the client to purge, from the first set of information, the one or more first items without purging, from the second set of information, the one or more second items.
    Type: Application
    Filed: March 31, 2014
    Publication date: August 14, 2014
    Applicant: 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: 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
  • 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: 20130246368
    Abstract: Systems and methods are provided for supporting transaction recovery based on inline delegation of transaction logs to a database. The system can retrieve transaction recovery information of a transaction from a persistence store, wherein the transaction recovery information is persisted on a resource manager that is associated with the persistence store during a prepare phase. Furthermore, the system can retrieve one or more in-doubt transactions from one or more participating resource managers of the transaction. Then, the system can determine whether to commit or roll back the one or more in-doubt transactions by matching the one or more in-doubt transactions to the transaction recovery information.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 19, 2013
    Applicant: Oracle International Corporation
    Inventors: Paul Parkinson, Todd J. Little, Stefan Heinrich Roesch, Carol Lyndall Colrain, Edward Heeren
  • 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