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: 10339127Abstract: 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: GrantFiled: January 28, 2016Date of Patent: July 2, 2019Assignee: Oracle International CorporationInventors: Carol Colrain, Stefan Heinrich Roesch, Todd J. Little, Paul Parkinson
-
Patent number: 10250693Abstract: 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: GrantFiled: December 31, 2014Date of Patent: April 2, 2019Assignee: Oracle International CorporationInventors: Carol L. Colrain, Stefan Heinrich Roesch, Kevin S. Neel
-
Patent number: 9779116Abstract: 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: GrantFiled: July 5, 2013Date of Patent: October 3, 2017Assignee: Oracle International CorporationInventors: Carol L. Colrain, Kevin S. Neel, Tong Zhou, Douglas N. Surber, Stefan Heinrich Roesch, Nancy R. Ikeda, Paul Parkinson
-
Patent number: 9760584Abstract: 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: GrantFiled: March 14, 2013Date of Patent: September 12, 2017Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Paul Parkinson, Todd J. Little, Stefan Heinrich Roesch, Carol Lyndall Colrain, Edward Heeren
-
Publication number: 20170220621Abstract: 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: ApplicationFiled: January 28, 2016Publication date: August 3, 2017Inventors: CAROL COLRAIN, STEFAN HEINRICH ROESCH, TODD J. LITTLE, PAUL PARKINSON
-
Patent number: 9591103Abstract: 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: GrantFiled: June 24, 2015Date of Patent: March 7, 2017Assignee: Oracle International CorporationInventors: Kevin S. Neel, Carol L. Colrain, Douglas N. Surber, Nancy R. Ikeda, Stefan Heinrich Roesch, Tong Zhou, Jean De Lavarene
-
Publication number: 20160321304Abstract: 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: ApplicationFiled: July 5, 2013Publication date: November 3, 2016Inventors: Carol L. Colrain, Kevin S. Neel, Tong Zhou, Douglas N. Surber, Stefan Heinrich Roesch, Nancy R. Ikeda
-
Publication number: 20150326673Abstract: 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: ApplicationFiled: June 24, 2015Publication date: November 12, 2015Inventors: Kevin S. Neel, Carol L. Colrain, Douglas N. Surber, Nancy R. Ikeda, Stefan Heinrich Roesch, Tong Zhou, Jean De Lavarene
-
Patent number: 9124670Abstract: 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: GrantFiled: March 31, 2014Date of Patent: September 1, 2015Assignee: Oracle International CorporationInventors: Kevin S. Neel, Carol L. Colrain, Douglas N. Surber, Nancy R. Ikeda, Stefan Heinrich Roesch, Tong Zhou, Jean De Lavarene
-
Publication number: 20150172390Abstract: 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: ApplicationFiled: December 31, 2014Publication date: June 18, 2015Inventors: Carol L. Colrain, Stefan Heinrich Roesch, Kevin S. Neel
-
Patent number: 8984170Abstract: 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: GrantFiled: April 16, 2012Date of Patent: March 17, 2015Assignee: Oracle International CorporationInventors: Carol L. Colrain, Stefan Heinrich Roesch, Kevin S. Neel
-
Patent number: 8924346Abstract: 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: GrantFiled: April 16, 2012Date of Patent: December 30, 2014Assignee: Oracle International CorporationInventors: Carol L. Colrain, Stefan Heinrich Roesch, Kevin S. Neel
-
Publication number: 20140229531Abstract: 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: ApplicationFiled: March 31, 2014Publication date: August 14, 2014Applicant: Oracle International CorporationInventors: Kevin S. Neel, Carol L. Colrain, Douglas N. Surber, Nancy R. Ikeda, Stefan Heinrich Roesch, Tong Zhou, Jean De Lavarene
-
Patent number: 8725882Abstract: 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: GrantFiled: July 31, 2012Date of Patent: May 13, 2014Assignee: Oracle International CorporationInventors: Kevin S. Neel, Carol L. Colrain, Douglas N. Surber, Nancy R. Ikeda, Stefan Heinrich Roesch, Tong Zhou, Jean De Lavarene
-
Publication number: 20130297566Abstract: 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: ApplicationFiled: July 5, 2013Publication date: November 7, 2013Inventors: Carol L. Colrain, Kevin S. Neel, Tong Zhou, Douglas N. Surber, Stefan Heinrich Roesch, Nancy R. Ikeda
-
Patent number: 8549154Abstract: 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: GrantFiled: September 9, 2011Date of Patent: October 1, 2013Assignee: Oracle International CorporationInventors: Carol L. Colrain, Kevin S. Neel, Tong Zhou, Douglas N. Surber, Stefan Heinrich Roesch, Nancy R. Ikeda
-
Publication number: 20130246368Abstract: 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: ApplicationFiled: March 14, 2013Publication date: September 19, 2013Applicant: Oracle International CorporationInventors: Paul Parkinson, Todd J. Little, Stefan Heinrich Roesch, Carol Lyndall Colrain, Edward Heeren
-
Publication number: 20130066948Abstract: 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: ApplicationFiled: April 16, 2012Publication date: March 14, 2013Applicant: Oracle International CorporationInventors: Carol L. Colrain, Stefan Heinrich Roesch, Kevin S. Neel
-
Publication number: 20130066955Abstract: 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: ApplicationFiled: July 31, 2012Publication date: March 14, 2013Inventors: Kevin S. Neel, Carol L. Colrain, Douglas N. Surber, Nancy R. Ikeda, Stefan Heinrich Roesch, Tong Zhou, Jean De Lavarene
-
Publication number: 20130066837Abstract: 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: ApplicationFiled: September 9, 2011Publication date: March 14, 2013Inventors: Carol L. Colrain, Kevin S. Neel, Tong Zhou, Douglas N. Surber, Stefan Heinrich Roesch, Nancy R. Ikeda