Patents by Inventor Stefan R. Batres
Stefan R. Batres 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: 10417011Abstract: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.Type: GrantFiled: December 19, 2016Date of Patent: September 17, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Publication number: 20170168843Abstract: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.Type: ApplicationFiled: December 19, 2016Publication date: June 15, 2017Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Patent number: 9529608Abstract: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.Type: GrantFiled: March 13, 2014Date of Patent: December 27, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Patent number: 9015341Abstract: The present invention extends to methods, systems, and computer program products for hierarchically disassembling messages. The functionality of disassemblers and framers is decoupled such that framers for different types of messages can be utilized at the same level in a hierarchy without having to also change disassemblers. Virtually any level of disassembly is possible to address any corresponding level of message nesting. Disassembly can be performed on a per message or per session basis.Type: GrantFiled: March 28, 2012Date of Patent: April 21, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Nicholas A. Allen, John A. Taylor, Stefan R. Batres, Bin Li
-
Patent number: 8898144Abstract: Processing messages. Messages are processed based on a characteristic derived from information in messages, metadata about messages, or other information external to messages. Values for one or more pieces of information are received. At least one of the values for one or more pieces of information is associated with a first message. Queries are received. The queries specify one or more of the pieces of information. At least a portion of the plurality of values for the one or more pieces of information is processed in conjunction with the one or more queries to create one or more normalized characteristics for the first message. The one or more normalized characteristics for the first message are in a same format irrespective of the format of the pieces of information. The first message, and/or other messages, is processed based on at least one of the one or more normalized characteristics.Type: GrantFiled: June 20, 2013Date of Patent: November 25, 2014Assignee: Microsoft CorporationInventors: Nicholas A. Allen, Stefan R. Batres, Justin D. Brown, Jayteerth N. Katti, Stephen Maine, Edmund S. V. Pinto, Kenneth D. Wolf
-
Publication number: 20140196053Abstract: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.Type: ApplicationFiled: March 13, 2014Publication date: July 10, 2014Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Patent number: 8694961Abstract: Methods are provided for thread-agile script execution. Thread-agile script execution may be carried out by receiving, in a message queue, a message for an instance of a script and determining whether the web browser has a stored state object for the instance of the script identified by the message. If the web browser has a stored state object for the script, thread-agile script execution may be carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the script in dependence upon the state object and an execution context for the instance of the script; providing, to an execution engine for executing the script, the state object and the prepared thread; and passing the message to the execution engine.Type: GrantFiled: April 3, 2012Date of Patent: April 8, 2014Assignee: Microsoft CorporationInventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Publication number: 20130282655Abstract: Processing messages. Messages are processed based on a characteristic derived from information in messages, metadata about messages, or other information external to messages. Values for one or more pieces of information are received. At least one of the values for one or more pieces of information is associated with a first message. Queries are received. The queries specify one or more of the pieces of information. At least a portion of the plurality of values for the one or more pieces of information is processed in conjunction with the one or more queries to create one or more normalized characteristics for the first message. The one or more normalized characteristics for the first message are in a same format irrespective of the format of the pieces of information. The first message, and/or other messages, is processed based on at least one of the one or more normalized characteristics.Type: ApplicationFiled: June 20, 2013Publication date: October 24, 2013Inventors: Nicholas A. Allen, Stefan R. Batres, Justin D. Brown, Jayteerth N. Katti, Stephen Maine, Edmund S.V. Pinto, Kenneth D. Wolf
-
Publication number: 20130263087Abstract: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.Type: ApplicationFiled: April 3, 2012Publication date: October 3, 2013Applicant: Microsoft CorporationInventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Patent number: 8514750Abstract: The present invention extends to methods, systems, and computer program products for multiplexed communication for duplex applications. Embodiments of the invention facilitate a multiplexed variant of long polling over a request/reply communication medium that (potentially significantly) reduces the resources utilized when exchanging messages. The lightweight address generation mechanism facilitates polling and routing for a pool of many clients and many services while minimizing allocated resources to each established session. Further, the benefits of a lower latency bidirectional communication medium between clients and services can be utilized.Type: GrantFiled: October 18, 2010Date of Patent: August 20, 2013Assignee: Microsoft CorporationInventors: Nicholas A. Allen, Stefan R. Batres, Philbert L. Henning, II, Margaret J. Lye, Evgeny Osovetsky
-
Patent number: 8473455Abstract: Messages are processed based on a characteristic derived from information in messages, metadata about messages, or other information external to messages. Values for one or more pieces of information are received. At least one of the values for one or more pieces of information is associated with a first message. Queries are received. The queries specify one or more of the pieces of information. At least a portion of the plurality of values for the one or more pieces of information is processed in conjunction with the one or more queries to create one or more normalized characteristics for the first message. The one or more normalized characteristics for the first message are in a same format irrespective of the format of the pieces of information. The first message, and/or other messages, is processed based on at least one of the one or more normalized characteristics.Type: GrantFiled: September 3, 2008Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventors: Nicholas A. Allen, Stefan R. Batres, Justin D. Brown, Jayteerth N. Katti, Stephen Maine, Edmund S. V. Pinto, Kenneth D. Wolf
-
Patent number: 8375095Abstract: The dispatching of messages from an incoming message pool to service instance(s). Message are received non-destructively and exclusively from the incoming message pool. If a particular service instance receives a message out of order, the processing of the message is deferred without releasing the exclusivity in the incoming message queue. Thus, the target service instance may continue to process one or more other messages until the target service instance is ready to process one or more deferred messages. In this way, messages may be pulled from the incoming message queue for dispatch to service instance(s), while maintaining correct order of processing, even if messages do not arrive into the incoming message queue in the correct order.Type: GrantFiled: December 22, 2009Date of Patent: February 12, 2013Assignee: Microsoft CorporationInventors: Jesse R. Yurkovich, Nicholas Alexander Allen, Edmund Samuel Victor Pinto, Stefan R. Batres, Kenneth D. Wolf, Justin D. Brown
-
Publication number: 20120246663Abstract: The present invention extends to methods, systems, and computer program products for hierarchically disassembling messages. The functionality of disassemblers and framers is decoupled such that framers for different types of messages can be utilized at the same level in a hierarchy without having to also change disassemblers. Virtually any level of disassembly is possible to address any corresponding level of message nesting. Disassembly can be performed on a per message or per session basis.Type: ApplicationFiled: March 28, 2012Publication date: September 27, 2012Applicant: MICROSOFT CORPORATIONInventors: Nicholas A. Allen, John A. Taylor, Stefan R. Batres, Bin Li
-
Patent number: 8250234Abstract: The present invention extends to methods, systems, and computer program products for hierarchically disassembling messages. The functionality of disassemblers and framers is decoupled such that framers for different types of messages can be utilized at the same level in a hierarchy without having to also change disassemblers. Virtually any level of disassembly is possible to address any corresponding level of message nesting. Disassembly can be performed on a per message or per session basis.Type: GrantFiled: April 26, 2010Date of Patent: August 21, 2012Assignee: Microsoft CorporationInventors: Nicholas A. Allen, John A. Taylor, Stefan R. Batres, Bin Li
-
Patent number: 8099498Abstract: Routing messages using unreliable routing data. A method includes receiving a message from a computer readable communication medium. Characteristic properties of the message are calculated so as to determine state requirements for a service instance at a service for processing of the message. An attempt is made to acquire an appropriate service instance that satisfies the state requirements for processing the message. A determination is made that attempting to acquire an appropriate service instance that satisfies the state requirements for processing the message is not successful at acquiring an appropriate service instance. As a result, the message is redirected using an unreliable local cache of routing information and without coordination between processing nodes.Type: GrantFiled: September 3, 2008Date of Patent: January 17, 2012Assignee: Microsoft CorporationInventors: Nicholas A. Allen, Stefan R. Batres, Justin D. Brown, Edmund S. V. Pinto, Karthik Raman, John A. Taylor, Kenneth D. Wolf
-
Publication number: 20110264738Abstract: The present invention extends to methods, systems, and computer program products for hierarchically disassembling messages. The functionality of disassemblers and framers is decoupled such that framers for different types of messages can be utilized at the same level in a hierarchy without having to also change disassemblers. Virtually any level of disassembly is possible to address any corresponding level of message nesting. Disassembly can be performed on a per message or per session basis.Type: ApplicationFiled: April 26, 2010Publication date: October 27, 2011Applicant: Microsoft CorporationInventors: Nicholas A. Allen, John A. Taylor, Stefan R. Batres, Bin Li
-
Publication number: 20110153713Abstract: The dispatching of messages from an incoming message pool to service instance(s). Message are received non-destructively and exclusively from the incoming message pool. If a particular service instance receives a message out of order, the processing of the message is deferred without releasing the exclusivity in the incoming message queue. Thus, the target service instance may continue to process one or more other messages until the target service instance is ready to process one or more deferred messages. In this way, messages may be pulled from the incoming message queue for dispatch to service instance(s), while maintaining correct order of processing, even if messages do not arrive into the incoming message queue in the correct order.Type: ApplicationFiled: December 22, 2009Publication date: June 23, 2011Inventors: Jesse R. Yurkovich, Nicholas Alexander Allen, Edmund Samuel Victor Pinto, Stefan R. Batres, Kenneth D. Wolf, Justin D. Brown
-
Verifying and maintaining connection liveliness in a reliable messaging for web services environment
Patent number: 7899921Abstract: The present invention monitors the receipt of messages between two endpoints on established sequence session in accordance with a Reliable Messaging protocol for Web Services (RM-WS protocol). The messages received may be application or infrastructure messages (e.g., acknowledgement messages in accordance with the RM-WS protocol). Further, the present invention defines a time period known as the inactivity timeout, which is an upper limit to the time that may pass without receiving a message (either application or infrastructure) on the sequence session. Based on this inactivity timeout period, the present invention calculates time periods for sending idempotent infrastructure messages in accordance with the RM-WS protocol for verifying and maintaining connection liveliness.Type: GrantFiled: December 8, 2004Date of Patent: March 1, 2011Assignee: Microsoft CorporationInventors: Richard D. Hill, Stefan R. Batres, Shy Cohen, Michael J. Moroney, Rodney T. Limprecht, Margaret J. Lye -
Publication number: 20110032847Abstract: The present invention extends to methods, systems, and computer program products for multiplexed communication for duplex applications. Embodiments of the invention facilitate a multiplexed variant of long polling over a request/reply communication medium that (potentially significantly) reduces the resources utilized when exchanging messages. The lightweight address generation mechanism facilitates polling and routing for a pool of many clients and many services while minimizing allocated resources to each established session. Further, the benefits of a lower latency bidirectional communication medium between clients and services can be utilized.Type: ApplicationFiled: October 18, 2010Publication date: February 10, 2011Applicant: Microsoft CorporationInventors: Nicholas A. Allen, Stefan R. Batres, Philbert L. Henning, II, Margaret J. Lye, Evgeny Osovetsky
-
Patent number: 7835309Abstract: The present invention extends to methods, systems, and computer program products for multiplexed communication for duplex applications. Embodiments of the invention facilitate a multiplexed variant of long polling over a request/reply communication medium that (potentially significantly) reduces the resources utilized when exchanging messages. The lightweight address generation mechanism facilitates polling and routing for a pool of many clients and many services while minimizing allocated resources to each established session. Further, the benefits of a lower latency bidirectional communication medium between clients and services can be utilized.Type: GrantFiled: December 16, 2008Date of Patent: November 16, 2010Assignee: Microsoft CorporationInventors: Nicholas A. Allen, Stefan R. Batres, Philbert L. Henning, II, Margaret J. Lye, Evgeny Osovetsky