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: 9652334Abstract: 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: GrantFiled: January 29, 2015Date of Patent: May 16, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Flavio Paiva Junqueira, Johannes Klein, Satish R. Thatte
-
Publication number: 20160224432Abstract: 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: ApplicationFiled: January 29, 2015Publication date: August 4, 2016Inventors: Flavio Paiva Junqueira, Johannes Klein, Satish R. Thatte
-
Patent number: 8775367Abstract: 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: GrantFiled: June 15, 2012Date of Patent: July 8, 2014Assignee: Microsoft CorporationInventors: Todd J. Abel, Satish R. Thatte, Richard Roma iDalfo, Mark C. McLoughlin, Greg Prickril, Alex Burst
-
Patent number: 8606843Abstract: 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: GrantFiled: March 25, 2008Date of Patent: December 10, 2013Assignee: Microsoft CorporationInventors: Bimal Mehta, Johannes Klein, Lee Graber, Paul Maybee, Sriram Balasubramanian, Sanjib Saha, Satish R. Thatte, Paul F. Ringseth
-
Publication number: 20120260162Abstract: 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: ApplicationFiled: June 15, 2012Publication date: October 11, 2012Applicant: MICROSOFT CORPORATIONInventors: Todd J. Abel, Satish R. Thatte, Ricard Roma i Dalfo, Mark C. McLoughlin, Greg Prickril, Alex Burst
-
Patent number: 8224769Abstract: 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: GrantFiled: March 5, 2007Date of Patent: July 17, 2012Assignee: Microsoft CorporationInventors: Todd J. Abel, Satish R. Thatte, Ricard Roma i Dalfo, Mark C. McLoughlin, Greg Prickril, Alex Burst
-
Publication number: 20120078677Abstract: 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: ApplicationFiled: December 9, 2011Publication date: March 29, 2012Applicant: MICROSOFT CORPORATIONInventors: David G. Green, Bimal K. Mehta, Satish R. Thatte, Dharma K. Shukla, Abhay Vinayak Parasnis
-
Patent number: 8103536Abstract: 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: GrantFiled: August 13, 2010Date of Patent: January 24, 2012Assignee: Microsoft CorporationInventors: David G. Green, Bimal K. Mehta, Satish R. Thatte, Dharma K. Shukla, Abhay Vinayak Parasnis
-
Patent number: 8019781Abstract: 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: GrantFiled: February 15, 2007Date of Patent: September 13, 2011Assignee: Microsoft CorporationInventors: Todd J. Abel, Satish R. Thatte, Ricard Roma Dalfo, Alex Burst
-
Publication number: 20110219425Abstract: 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: ApplicationFiled: March 8, 2010Publication date: September 8, 2011Inventors: Ying Xiong, Satish R. Thatte, Daniel James Foley, III, Anuj Bansal, Aaron Hanks, Pankaj Sharma, Barry Briggs, Eric Slippern
-
Patent number: 8001189Abstract: 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: GrantFiled: October 15, 2002Date of Patent: August 16, 2011Assignee: Microsoft CorporationInventors: 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: 20100306000Abstract: 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: ApplicationFiled: August 13, 2010Publication date: December 2, 2010Applicant: MICROSOFT CORPORATIONInventors: David G. Green, Bimal K. Mehta, Satish R. Thatte, Dharma K. Shukla, Abhay Vinayak Parasnis
-
Patent number: 7805324Abstract: 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: GrantFiled: January 31, 2005Date of Patent: September 28, 2010Assignee: Microsoft CorporationInventors: David G. Green, Bimal K. Mehta, Satish R. Thatte, Dharma K. Shukla, Abhay Vinayak Parasnis
-
Patent number: 7761584Abstract: 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: GrantFiled: October 1, 2004Date of Patent: July 20, 2010Assignee: Microsoft CorporationInventors: David E. Langworthy, Satish R. Thatte
-
Patent number: 7757213Abstract: 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: GrantFiled: May 18, 2005Date of Patent: July 13, 2010Assignee: Microsoft CorporationInventors: Eddie Fusaro, Vladimir Pogrebinsky, Arunachallam S. Sivakumar, Satish R. Thatte, Neilton J. Saari, Wei Xiao, Girish Mittur Venkataramanappa
-
Patent number: 7747894Abstract: 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: GrantFiled: June 6, 2005Date of Patent: June 29, 2010Assignee: Microsoft CorporationInventors: Eldar A. Musayev, Jean-Emile Elien, Kartik Paramasivam, Kevin Bowen Smith, Lee B. Graber, Sanjib Saha, Satish R. Thatte
-
Patent number: 7665093Abstract: 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: GrantFiled: December 22, 2004Date of Patent: February 16, 2010Assignee: Microsoft CorporationInventors: Paul E. Maybee, Anandhi Somasekaran, Satish R. Thatte
-
Patent number: 7496682Abstract: 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: GrantFiled: June 26, 2006Date of Patent: February 24, 2009Assignee: Microsoft CorporationInventors: Andrew J. Layman, Gopal Krishna R. Kakivaya, Satish R. Thatte, Henrik F. Nielsen, Robert George Atkinson
-
Patent number: 7437711Abstract: 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: GrantFiled: August 4, 2003Date of Patent: October 14, 2008Assignee: Microsoft CorporationInventors: 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: 20080222079Abstract: 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: ApplicationFiled: March 5, 2007Publication date: September 11, 2008Applicant: Microsoft CorporationInventors: Todd J. Abel, Satish R. Thatte, Ricard Roma i Dalfo, Mark C. McLoughlin, Greg Prickril, Alex Burst