Patents by Inventor Satish R. Thatte

Satish R. Thatte 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: 9652334
    Abstract: The present invention extends to methods, systems, and computer program products for increasing coordination service reliability. A coordination service maintains state (e.g., using replication) for one or more software components (e.g., applications). Tokens can be used to identify incarnations of a member set within the coordination service. When a member starts and has no token, the member attempts to learn the token from a majority other members. If no such token exists, the member requests a new token. Aspects of the invention can be used to detect and compensate for lost state within the coordination service, including state lost due to storage device failures (which may be referred to as “silent data loss”). Detecting and compensating for silent data loss makes the coordination service more reliable and can essentially guarantee that the coordination service notifies clients when data is lost and ceases processing when incorrect state may exist.
    Type: Grant
    Filed: January 29, 2015
    Date of Patent: May 16, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Flavio Paiva Junqueira, Johannes Klein, Satish R. Thatte
  • Publication number: 20160224432
    Abstract: The present invention extends to methods, systems, and computer program products for increasing coordination service reliability. A coordination service maintains state (e.g., using replication) for one or more software components (e.g., applications). Tokens can be used to identify incarnations of a member set within the coordination service. When a member starts and has no token, the member attempts to learn the token from a majority other members. If no such token exists, the member requests a new token. Aspects of the invention can be used to detect and compensate for lost state within the coordination service, including state lost due to storage device failures (which may be referred to as “silent data loss”). Detecting and compensating for silent data loss makes the coordination service more reliable and can essentially guarantee that the coordination service notifies clients when data is lost and ceases processing when incorrect state may exist.
    Type: Application
    Filed: January 29, 2015
    Publication date: August 4, 2016
    Inventors: Flavio Paiva Junqueira, Johannes Klein, Satish R. Thatte
  • Patent number: 8775367
    Abstract: Techniques for enterprise data as office content are described. An apparatus may comprise a client device having an application program, an insertion component and an update component. The insertion component may be arranged to insert source data elements from a data source into a document for the application program. The update component may be arranged to update the inserted data elements as the source data elements are modified. Other embodiments are described and claimed.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: July 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Todd J. Abel, Satish R. Thatte, Richard Roma iDalfo, Mark C. McLoughlin, Greg Prickril, Alex Burst
  • Patent number: 8606843
    Abstract: An XLANG/s compiler detects convoy scenarios during compilation and generates runtime directives to correctly correlate incoming messages with business process instances. A convoy scenario, present in event driven processes, is defined by a correlation set initialized during a receive operation which is provided to a subsequent receive operation. The compiler detects those convoy scenarios by analyzing the control and dataflow of a XLANG/s program. Three convoy patterns are distinguished: (1) activation convoys, (2) uniform sequential convoys, and (3) non-uniform sequential convoys. XLANG/s allows declarative descriptions of convoy scenarios without requiring an understanding of the low-level details supporting their correct execution. Convoy scenarios are processed by statically analyzing a written workflow application to deduce the nature and type of convoy scenarios used by the application. Information is extracted at compile time to support the runtime infrastructure.
    Type: Grant
    Filed: March 25, 2008
    Date of Patent: December 10, 2013
    Assignee: Microsoft Corporation
    Inventors: Bimal Mehta, Johannes Klein, Lee Graber, Paul Maybee, Sriram Balasubramanian, Sanjib Saha, Satish R. Thatte, Paul F. Ringseth
  • Publication number: 20120260162
    Abstract: Techniques for enterprise data as office content are described. An apparatus may comprise a client device having an application program, an insertion component and an update component. The insertion component may be arranged to insert source data elements from a data source into a document for the application program. The update component may be arranged to update the inserted data elements as the source data elements are modified. Other embodiments are described and claimed.
    Type: Application
    Filed: June 15, 2012
    Publication date: October 11, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Todd J. Abel, Satish R. Thatte, Ricard Roma i Dalfo, Mark C. McLoughlin, Greg Prickril, Alex Burst
  • Patent number: 8224769
    Abstract: Techniques for enterprise data as office content are described. An apparatus may comprise a client device having an application program, an insertion component and an update component. The insertion component may be arranged to insert source data elements from a data source into a document for the application program. The update component may be arranged to update the inserted data elements as the source data elements are modified. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 5, 2007
    Date of Patent: July 17, 2012
    Assignee: Microsoft Corporation
    Inventors: Todd J. Abel, Satish R. Thatte, Ricard Roma i Dalfo, Mark C. McLoughlin, Greg Prickril, Alex Burst
  • Publication number: 20120078677
    Abstract: Designing and executing a workflow having flow-based and constraint-based regions. A user selects one or more activities to be part of a constraint-based region. Each constraint-based region has a constraint associated therewith. The workflow is executed by executing the flow-based region and the constraint-based region. The flow-based region executes sequentially. The constraint is evaluated, and the constraint-based region executes responsive to the evaluated constraint.
    Type: Application
    Filed: December 9, 2011
    Publication date: March 29, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: David G. Green, Bimal K. Mehta, Satish R. Thatte, Dharma K. Shukla, Abhay Vinayak Parasnis
  • Patent number: 8103536
    Abstract: Designing and executing a workflow having flow-based and constraint-based regions. A user selects one or more activities to be part of a constraint-based region. Each constraint-based region has a constraint associated therewith. The workflow is executed by executing the flow-based region and the constraint-based region. The flow-based region executes sequentially. The constraint is evaluated, and the constraint-based region executes responsive to the evaluated constraint.
    Type: Grant
    Filed: August 13, 2010
    Date of Patent: January 24, 2012
    Assignee: Microsoft Corporation
    Inventors: David G. Green, Bimal K. Mehta, Satish R. Thatte, Dharma K. Shukla, Abhay Vinayak Parasnis
  • Patent number: 8019781
    Abstract: Techniques for host context framework are described. An apparatus may comprise a client device having a host application program with multiple host item objects, and a host context manager to manage multiple host contexts corresponding to the host item objects. The host context manager may create a host context for each host item object, and perform operations for each host item object in accordance with the corresponding host context. Other embodiments are described and claimed.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: September 13, 2011
    Assignee: Microsoft Corporation
    Inventors: Todd J. Abel, Satish R. Thatte, Ricard Roma Dalfo, Alex Burst
  • Publication number: 20110219425
    Abstract: Methods, systems, and computer-readable media of access control using roles and multi-dimensional constraints are disclosed are disclosed. A particular method includes assigning a user a particular role of a plurality of roles and associating the user with one or more multi-dimensional constraints. A request from the user to perform an operation permitted by the particular role may be received. The method includes determining whether any of the multi-dimensional constraints allows the user to perform the operation. The request is granted when at least one of the multi-dimensional constraints allows the user to perform the operation. The request is denied when none of the multi-dimensional constraints allows the user to perform the operation.
    Type: Application
    Filed: March 8, 2010
    Publication date: September 8, 2011
    Inventors: Ying Xiong, Satish R. Thatte, Daniel James Foley, III, Anuj Bansal, Aaron Hanks, Pankaj Sharma, Barry Briggs, Eric Slippern
  • Patent number: 8001189
    Abstract: A routing protocol is provided for exchanging messages between an initial sender and an ultimate receiver, potentially via a set of intermediaries. The routing protocol provides an optional reverse message path that enables two-way message exchange patterns. The routing protocol can be expressed as a header entry within a message envelope, is independent of the underlying protocol, and can be generated at the application layer of a protocol stack. The routing protocol may allow each intermediary to process the message and dynamically alter the message path en route to the intended recipient.
    Type: Grant
    Filed: October 15, 2002
    Date of Patent: August 16, 2011
    Assignee: Microsoft Corporation
    Inventors: Henrik F. Nielsen, John P. Shewchuk, Erik B. Christensen, Alfred M. Lee, Christian Huitema, James M. Lyon, Mark H. Lukovsky, Andrew J. Layman, Satish R. Thatte, Christopher Kaler
  • Publication number: 20100306000
    Abstract: Designing and executing a workflow having flow-based and constraint-based regions. A user selects one or more activities to be part of a constraint-based region. Each constraint-based region has a constraint associated therewith. The workflow is executed by executing the flow-based region and the constraint-based region. The flow-based region executes sequentially. The constraint is evaluated, and the constraint-based region executes responsive to the evaluated constraint.
    Type: Application
    Filed: August 13, 2010
    Publication date: December 2, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: David G. Green, Bimal K. Mehta, Satish R. Thatte, Dharma K. Shukla, Abhay Vinayak Parasnis
  • Patent number: 7805324
    Abstract: Designing and executing a workflow having flow-based and constraint-based regions. A user selects one or more activities to be part of a constraint-based region. Each constraint-based region has a constraint associated therewith. The workflow is executed by executing the flow-based region and the constraint-based region. The flow-based region executes sequentially. The constraint is evaluated, and the constraint-based region executes responsive to the evaluated constraint.
    Type: Grant
    Filed: January 31, 2005
    Date of Patent: September 28, 2010
    Assignee: Microsoft Corporation
    Inventors: David G. Green, Bimal K. Mehta, Satish R. Thatte, Dharma K. Shukla, Abhay Vinayak Parasnis
  • Patent number: 7761584
    Abstract: Signals are mapped from one protocol to another protocol. A first protocol is received, and a mapping interface is generated to a second protocol. The first protocol is then mapped to the second protocol in accordance with the mapping interface. The mapping interface may comprise a coordination map. Moreover, a state diagram may be generated that is based on the first protocol, prior to mapping the first protocol to the second protocol. The first protocol may be an abstract protocol or a web services business activity protocol, for example, and the second protocol may be another abstract protocol, a concrete interface, a web services interface, a common language runtime interface, or a business process execution language for web services, for example.
    Type: Grant
    Filed: October 1, 2004
    Date of Patent: July 20, 2010
    Assignee: Microsoft Corporation
    Inventors: David E. Langworthy, Satish R. Thatte
  • Patent number: 7757213
    Abstract: A system for managing an application set is disclosed. The system includes a wrapper that designates a component as belonging to the application set and an interface that provides access to the component. The system also includes a control module that uses the interface to manage the component. Methods of using the system are also provided.
    Type: Grant
    Filed: May 18, 2005
    Date of Patent: July 13, 2010
    Assignee: Microsoft Corporation
    Inventors: Eddie Fusaro, Vladimir Pogrebinsky, Arunachallam S. Sivakumar, Satish R. Thatte, Neilton J. Saari, Wei Xiao, Girish Mittur Venkataramanappa
  • Patent number: 7747894
    Abstract: A transport-neutral in-order delivery in a distributed environment is provided. Typically, in-order delivery guarantees that sequential orders received by a transport engine are sent out in the same order they are received. Such delivery may be forwarded either to another transport engine or to some application. In case there is a failure of delivery of messages in a stream, the messages are either resubmitted, suspended, or moved to backup. A user or administrator can configure the desired action. Additionally, any stream can be manually aborted or a specified port can be unenlisted. Deliverable streams of messages are locked on to a back-end transport engines or applications and dequeued sequentially unless one of the above mentioned failure scenarios occurs.
    Type: Grant
    Filed: June 6, 2005
    Date of Patent: June 29, 2010
    Assignee: Microsoft Corporation
    Inventors: Eldar A. Musayev, Jean-Emile Elien, Kartik Paramasivam, Kevin Bowen Smith, Lee B. Graber, Sanjib Saha, Satish R. Thatte
  • Patent number: 7665093
    Abstract: Workflow management for maintaining consistency of persisted state across communicating components via batching of uncommitted work. A workflow component defines a workflow containing work items to be performed by service provider components. The workflow component assigns the work items to the service provider components, and the service provider components acknowledge the assigned work items. The workflow component appends the assigned work items to a work batch. The workflow component creates a transaction containing the batched work items. The workflow component commits to the workflow by requesting the service provider components to perform the work items. The workflow component checks the state of the execution of the work items and stores the state in a persistent storage.
    Type: Grant
    Filed: December 22, 2004
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Paul E. Maybee, Anandhi Somasekaran, Satish R. Thatte
  • Patent number: 7496682
    Abstract: Using a message exchanger (“message exchanger”), data messages are exchanged between entities in a decentralized, distributed, potentially heterogeneous, network environment. The message exchanger employs XML (extensible Markup Language). To accomplish this, the entities on both ends of the message exchange understand, identify, and parse the message format. The message exchanger defines such a mechanism. Data messages are broken down into two portions—one portion (the body) is intended from an ultimate destination and the other portion (the header) is intended for intermediate destination and/or the ultimate destination. The body may be defined so that it must be understood by the ultimate destination. The header may be defined so that it must be understood or changed. Regardless, the data in the body is delivered intact to the ultimate destination. The message exchanger defines a message envelope exchange format in XML over a transport protocol, such as HTTP (HyperText Transport Protocol).
    Type: Grant
    Filed: June 26, 2006
    Date of Patent: February 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Andrew J. Layman, Gopal Krishna R. Kakivaya, Satish R. Thatte, Henrik F. Nielsen, Robert George Atkinson
  • Patent number: 7437711
    Abstract: Communication among agile objects and context-bound objects within object-oriented programming environments, including communication across contextual boundaries, is disclosed. In one embodiment, a reference to a second object within a second context is wrapped in a proxy wrapper. A first object within a first context calls the second object via the wrapped reference. No direct reference is held by the first object to the second object. Other embodiments relate to agile objects. Agile objects called by context-bound objects execute in the contexts of their callers. The context of a calling context-bound object becomes the context of an agile object for calling of the agile object by the calling context-bound object. Direct reference to the agile object by the context-bound object is thus permitted.
    Type: Grant
    Filed: August 4, 2003
    Date of Patent: October 14, 2008
    Assignee: Microsoft Corporation
    Inventors: Christopher W. Brumme, James M. Lyon, Michael J. Toutonghi, Satish R. Thatte, Gopal Krishna R. Kakivaya, Richard D. Hill, Jan S. Gray, Craig H. Wittenberg, Rebecca A. Norlander, Scott G. Robinson, Eric W. Johnson
  • Publication number: 20080222079
    Abstract: Techniques for enterprise data as office content are described. An apparatus may comprise a client device having an application program, an insertion component and an update component. The insertion component may be arranged to insert source data elements from a data source into a document for the application program. The update component may be arranged to update the inserted data elements as the source data elements are modified. Other embodiments are described and claimed.
    Type: Application
    Filed: March 5, 2007
    Publication date: September 11, 2008
    Applicant: Microsoft Corporation
    Inventors: Todd J. Abel, Satish R. Thatte, Ricard Roma i Dalfo, Mark C. McLoughlin, Greg Prickril, Alex Burst