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: 10417011
    Abstract: 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: Grant
    Filed: December 19, 2016
    Date of Patent: September 17, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Publication number: 20170168843
    Abstract: 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: Application
    Filed: December 19, 2016
    Publication date: June 15, 2017
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Patent number: 9529608
    Abstract: 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: Grant
    Filed: March 13, 2014
    Date of Patent: December 27, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Patent number: 9015341
    Abstract: 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: Grant
    Filed: March 28, 2012
    Date of Patent: April 21, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nicholas A. Allen, John A. Taylor, Stefan R. Batres, Bin Li
  • Patent number: 8898144
    Abstract: 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: Grant
    Filed: June 20, 2013
    Date of Patent: November 25, 2014
    Assignee: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stefan R. Batres, Justin D. Brown, Jayteerth N. Katti, Stephen Maine, Edmund S. V. Pinto, Kenneth D. Wolf
  • Publication number: 20140196053
    Abstract: 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: Application
    Filed: March 13, 2014
    Publication date: July 10, 2014
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Patent number: 8694961
    Abstract: 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: Grant
    Filed: April 3, 2012
    Date of Patent: April 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Publication number: 20130282655
    Abstract: 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: Application
    Filed: June 20, 2013
    Publication date: October 24, 2013
    Inventors: Nicholas A. Allen, Stefan R. Batres, Justin D. Brown, Jayteerth N. Katti, Stephen Maine, Edmund S.V. Pinto, Kenneth D. Wolf
  • Publication number: 20130263087
    Abstract: 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: Application
    Filed: April 3, 2012
    Publication date: October 3, 2013
    Applicant: Microsoft Corporation
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Patent number: 8514750
    Abstract: 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: Grant
    Filed: October 18, 2010
    Date of Patent: August 20, 2013
    Assignee: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stefan R. Batres, Philbert L. Henning, II, Margaret J. Lye, Evgeny Osovetsky
  • Patent number: 8473455
    Abstract: 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: Grant
    Filed: September 3, 2008
    Date of Patent: June 25, 2013
    Assignee: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stefan R. Batres, Justin D. Brown, Jayteerth N. Katti, Stephen Maine, Edmund S. V. Pinto, Kenneth D. Wolf
  • Patent number: 8375095
    Abstract: 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: Grant
    Filed: December 22, 2009
    Date of Patent: February 12, 2013
    Assignee: Microsoft Corporation
    Inventors: Jesse R. Yurkovich, Nicholas Alexander Allen, Edmund Samuel Victor Pinto, Stefan R. Batres, Kenneth D. Wolf, Justin D. Brown
  • Publication number: 20120246663
    Abstract: 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: Application
    Filed: March 28, 2012
    Publication date: September 27, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Nicholas A. Allen, John A. Taylor, Stefan R. Batres, Bin Li
  • Patent number: 8250234
    Abstract: 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: Grant
    Filed: April 26, 2010
    Date of Patent: August 21, 2012
    Assignee: Microsoft Corporation
    Inventors: Nicholas A. Allen, John A. Taylor, Stefan R. Batres, Bin Li
  • Patent number: 8099498
    Abstract: 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: Grant
    Filed: September 3, 2008
    Date of Patent: January 17, 2012
    Assignee: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stefan R. Batres, Justin D. Brown, Edmund S. V. Pinto, Karthik Raman, John A. Taylor, Kenneth D. Wolf
  • Publication number: 20110264738
    Abstract: 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: Application
    Filed: April 26, 2010
    Publication date: October 27, 2011
    Applicant: Microsoft Corporation
    Inventors: Nicholas A. Allen, John A. Taylor, Stefan R. Batres, Bin Li
  • Publication number: 20110153713
    Abstract: 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: Application
    Filed: December 22, 2009
    Publication date: June 23, 2011
    Inventors: Jesse R. Yurkovich, Nicholas Alexander Allen, Edmund Samuel Victor Pinto, Stefan R. Batres, Kenneth D. Wolf, Justin D. Brown
  • Patent number: 7899921
    Abstract: 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: Grant
    Filed: December 8, 2004
    Date of Patent: March 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Richard D. Hill, Stefan R. Batres, Shy Cohen, Michael J. Moroney, Rodney T. Limprecht, Margaret J. Lye
  • Publication number: 20110032847
    Abstract: 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: Application
    Filed: October 18, 2010
    Publication date: February 10, 2011
    Applicant: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stefan R. Batres, Philbert L. Henning, II, Margaret J. Lye, Evgeny Osovetsky
  • Patent number: 7835309
    Abstract: 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: Grant
    Filed: December 16, 2008
    Date of Patent: November 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stefan R. Batres, Philbert L. Henning, II, Margaret J. Lye, Evgeny Osovetsky