Patents by Inventor John D. Doty
John D. Doty 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: 9229696Abstract: A common intermediate representation for a data scripting language is provided for efficient representation and direct specification of programming constructs in memory. The common intermediate representation of data scripts allows data intensive applications to be created and analyzed in a machine accessible format, and the elements of the common intermediate representation can be stored independent of underlying storage specifics. Stored elements of the common intermediate representation of code are thus available for fast loading in memory when desired by other applications and programs by mapping the stored elements to the in memory intermediate representation.Type: GrantFiled: May 24, 2013Date of Patent: January 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Donald F. Box, Bradford H. Lovering, John D. Doty, Jeffrey C. Schlimmer, John L. Hamby, David E. Langworthy
-
Patent number: 8949784Abstract: An efficient, logical and expressive type system is provided for flexibly defining types of a declarative programming language so that efficient and structurally compact data intensive applications can be generated. The type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. With the type system, types can be expressed as intersections and/or unions of other types. Thus, types can be efficiently represented for a full range of types of data as may be found in real world data stores.Type: GrantFiled: October 3, 2008Date of Patent: February 3, 2015Assignee: Microsoft Technology Licensing, LLCInventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
-
Patent number: 8762942Abstract: An efficient, logical and expressive type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. A bidirectional type checking algorithm is provided for the type system including synthesis and checking steps to statically verify types of code based on the type system.Type: GrantFiled: October 3, 2008Date of Patent: June 24, 2014Assignee: Microsoft CorporationInventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
-
Publication number: 20130263099Abstract: A common intermediate representation for a data scripting language is provided for efficient representation and direct specification of programming constructs in memory. The common intermediate representation of data scripts allows data intensive applications to be created and analyzed in a machine accessible format, and the elements of the common intermediate representation can be stored independent of underlying storage specifics. Stored elements of the common intermediate representation of code are thus available for fast loading in memory when desired by other applications and programs by mapping the stored elements to the in memory intermediate representation.Type: ApplicationFiled: May 24, 2013Publication date: October 3, 2013Applicant: Microsoft CorporationInventors: Donald F. Box, Bradford H. Lovering, John D. Doty, Jeffrey C. Schlimmer, John L. Hamby, David E. Langworthy
-
Patent number: 8539457Abstract: Computing responses to semantic queries. A method includes accessing a plurality of objects that represent source code for an input program. The source code is transformed into a plurality of immutable objects that are structured such that the immutable objects can be used to derive any response as defined by the semantic rules about the source code. A query is received from a requestor requesting a semantic characteristic of the input program. The semantic characteristic is calculated. The semantic characteristic is returned to the requestor. The semantic characteristic is cached in a cache. Information describing a dependency between the cached semantic characteristic and one or more of the objects in the plurality of objects is stored.Type: GrantFiled: November 6, 2009Date of Patent: September 17, 2013Assignee: Microsoft CorporationInventors: John Lawrence Hamby, Joshua Ryan Williams, John D. Doty, Clemens A. Szyperski, David Michael Miller
-
Patent number: 8473897Abstract: A common intermediate representation for a data scripting language is provided for efficient representation and direct specification of programming constructs in memory. The common intermediate representation of data scripts allows data intensive applications to be created and analyzed in a machine accessible format, and the elements of the common intermediate representation can be stored independent of underlying storage specifics. Stored elements of the common intermediate representation of code are thus available for fast loading in memory when desired by other applications and programs by mapping the stored elements to the in memory intermediate representation.Type: GrantFiled: October 3, 2008Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventors: Donald F. Box, Bradford H. Lovering, John D. Doty, Jeffrey C. Schlimmer, John L. Hamby, David E. Langworthy
-
Patent number: 8413119Abstract: An efficient, logical and expressive type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. Various embodiments verify the validity of subtyping relationships by translating to first-order logic, and invoking a general-purpose theorem prover with the first-order logic as input. In contrast to treating formulas as types, types are translated into formulas of standard first-order logic. Moreover, to represent data structures of the programming language as first-order logic, universal and existential quantifiers of first-order logic, and function symbols in terms, are exploited. Data intensive applications can be generated, verified, and deployed with greater speed and scale.Type: GrantFiled: October 3, 2008Date of Patent: April 2, 2013Assignee: Microsoft CorporationInventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
-
Patent number: 8321833Abstract: The subject disclosure relates to a syntax for a scripting language that allows data intensive applications to be written in a compact, human friendly, textual format. The scripting language can be a declarative programming language, such as the “D” programming language, which is well suited to the authoring of data intensive programs. A compact query syntax is provided for D that simplifies the expression of complex and data intensive programs. In another non-limiting aspect, conventional operator precedence is modified to accommodate the compact syntax and other unique features of a general purpose declarative programming language.Type: GrantFiled: October 3, 2008Date of Patent: November 27, 2012Assignee: Microsoft CorporationInventors: David E. Langworthy, Bradford H. Lovering, Donald F. Box, Giovanni M. Della-Libera, Jeffrey S. Pinkston, Jeffrey C. Schlimmer, John D. Doty, John L. Hamby
-
Patent number: 8271454Abstract: The setting up of a circular log implementation to be able to detect amnesia in a circular log, and to the determination of whether or not amnesia has occurred in such a circular log. Upon detecting a checkpoint trigger, information is preserved sufficient to detect whether or not the removed records ever existed in the circular log. If a request for information from a record were subsequently to be received by the circular log implementation, and if the record was not actually in the circular log, the preserved information could then be consulted to see if it indicates that the record had once existed in the circular log. If the information indicates that the record had once existed in the circular log, then amnesia has not occurred. If the information does not indicate that the record had once existed in the circular log, then amnesia has occurred. Accordingly, amnesia detection is made possible even in a complicated circular log implementation.Type: GrantFiled: December 18, 2007Date of Patent: September 18, 2012Assignee: Microsoft CorporationInventors: John D. Doty, Craig A. Critchley
-
Patent number: 8082344Abstract: A transaction manager virtualization layer is provided for supporting multiple active transaction managers in a cluster or node. By virtualizing the transaction managers, applications and services are enabled to migrate across cluster nodes or even outside a cluster that includes relevant recovery mechanisms for transactions that are not completed at the time of migration. Multiple implementations of a transaction manager may be enabled to run side-by-side in a node or cluster allowing a rolling upgrade of transaction managers in clusters.Type: GrantFiled: February 12, 2007Date of Patent: December 20, 2011Assignee: Microsoft CorporationInventors: John D. Doty, James E. Johnson, William James Carley, Kapil Gupta
-
Patent number: 8001075Abstract: Log file amnesia detection is accomplished by associating a unique identifier with each record in a log file, where each record receives a unique log sequence number. Multiple time intervals are associated with the log file with different events triggering the beginning of a new time interval. The log file implementation marks the beginnings of these multiple time intervals with a unique identifier. Every time an event occurs that triggers a new time interval a new unique identifier is generated. This unique identifier will be associated with the records in the log file that are created thereafter until the next unique identifier gets generated, marking the beginning of a next time interval. Log file amnesia can be identified when a log client requests information about a record and then comparing the unique identifier and log sequence number of the record with all records in the log file.Type: GrantFiled: June 1, 2007Date of Patent: August 16, 2011Assignee: Microsoft CorporationInventors: John D Doty, Craig A Critchley
-
Publication number: 20110113408Abstract: Computing responses to semantic queries. A method includes accessing a plurality of objects that represent source code for an input program. The source code is transformed into a plurality of immutable objects that are structured such that the immutable objects can be used to derive any response as defined by the semantic rules about the source code. A query is received from a requestor requesting a semantic characteristic of the input program. The semantic characteristic is calculated. The semantic characteristic is returned to the requestor. The semantic characteristic is cached in a cache. Information describing a dependency between the cached semantic characteristic and one or more of the objects in the plurality of objects is stored.Type: ApplicationFiled: November 6, 2009Publication date: May 12, 2011Applicant: MICROSOFT CORPORATIONInventors: John Lawrence Hamby, Joshua Ryan Williams, John D. Doty, Clemens A. Szyperski, David Michael Miller
-
Patent number: 7912973Abstract: A mechanism for negotiating a relatively transport agnostic communication protocol for use in accomplishing a distributed activity. The potential protocols subject to negotiation may be, for example, extensions to Web Services Coordination. In that case, when the initiator creates a transaction, the initiator also negotiates the desired protocol with its transaction manager. The transaction manager and any other participants in the transaction will then follow that negotiated protocol when communicating with the transaction manager. The protocol may be selected to improve performance and may be tailored to existing needs and capabilities.Type: GrantFiled: December 3, 2004Date of Patent: March 22, 2011Assignee: Microsoft CorporationInventors: Max A. Feingold, David E. Langworthy, James E. Johnson, John D. Doty, Michael R. Clark
-
Patent number: 7860900Abstract: A signaling system of the present invention provides a synchronized approach to delivering, reporting, and/or otherwise processing status changes in a software dependency chain. In a first phase, the signaling system identifies all dependencies between software components, and further sets a binary indicator of each node in a first representation. After identifying any changes in a source node, the system (e.g., a value is updated), the system updates each binary indicator to a second setting. In a second phase, the system initiates all listeners in the dependency chain in an essentially progressive order from source node, to intermediate node, and end-node, etc. Once all listeners have had a chance to perform one or more processes based on the updated value, the system can discard the dependency graph, allowing a new dependency graph to be built for subsequent value changes.Type: GrantFiled: February 25, 2008Date of Patent: December 28, 2010Assignee: Microsoft CorporationInventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, John D. Doty
-
Publication number: 20100192129Abstract: An efficient, logical and expressive type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. Various embodiments verify the validity of subtyping relationships by translating to first-order logic, and invoking a general-purpose theorem prover with the first-order logic as input. In contrast to treating formulas as types, types are translated into formulas of standard first-order logic. Moreover, to represent data structures of the programming language as first-order logic, universal and existential quantifiers of first-order logic, and function symbols in terms, are exploited. Data intensive applications can be generated, verified, and deployed with greater speed and scale.Type: ApplicationFiled: October 3, 2008Publication date: July 29, 2010Applicant: MICROSOFT CORPORATIONInventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
-
Publication number: 20100088661Abstract: An efficient, logical and expressive type system is provided for flexibly defining types of a declarative programming language so that efficient and structurally compact data intensive applications can be generated. The type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. With the type system, types can be expressed as intersections and/or unions of other types. Thus, types can be efficiently represented for a full range of types of data as may be found in real world data stores.Type: ApplicationFiled: October 3, 2008Publication date: April 8, 2010Applicant: MICROSOFT CORPORATIONInventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
-
Publication number: 20100088666Abstract: A common intermediate representation for a data scripting language is provided for efficient representation and direct specification of programming constructs in memory. The common intermediate representation of data scripts allows data intensive applications to be created and analyzed in a machine accessible format, and the elements of the common intermediate representation can be stored independent of underlying storage specifics. Stored elements of the common intermediate representation of code are thus available for fast loading in memory when desired by other applications and programs by mapping the stored elements to the in memory intermediate representation.Type: ApplicationFiled: October 3, 2008Publication date: April 8, 2010Applicant: Microsoft CorporationInventors: Donald F. Box, Bradford H. Lovering, John D. Doty, Jeffrey C. Schlimmer, John L. Hamby, David E. Langworthy
-
Publication number: 20100088679Abstract: An efficient, logical and expressive type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. A bidirectional type checking algorithm is provided for the type system including synthesis and checking steps to statically verify types of code based on the type system.Type: ApplicationFiled: October 3, 2008Publication date: April 8, 2010Applicant: MICROSOFT CORPORATIONInventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
-
Publication number: 20100088672Abstract: The subject disclosure relates to a syntax for a scripting language that allows data intensive applications to be written in a compact, human friendly, textual format. The scripting language can be a declarative programming language, such as the “D” programming language, which is well suited to the authoring of data intensive programs. A compact query syntax is provided for D that simplifies the expression of complex and data intensive programs. In another non-limiting aspect, conventional operator precedence is modified to accommodate the compact syntax and other unique features of a general purpose declarative programming language.Type: ApplicationFiled: October 3, 2008Publication date: April 8, 2010Applicant: MICROSOFT CORPORATIONInventors: David E. Langworthy, Bradford H. Lovering, Donald F. Box, Douglas A. Walter, Giovanni M. Della-Libera, Jeffrey S. Pinkston, John D. Doty, John L. Hamby
-
Patent number: 7593994Abstract: Example embodiments of the present invention provide a mechanism for allowing developers to define new interfaces and insert custom translational code that implements these new interfaces for legacy components that otherwise cannot communicate in a web service environment. These new interfaces are then exposed to the web service client in such a way that abstracts the web service client from the legacy components interfaces. The objects that implement the new interfaces are referred to herein as “service surrogates” and the new interfaces will be commonly referred to as a, “surrogate interfaces.” These surrogate interfaces may be initialized along with an instance of the service surrogate upon startup of an application that offers the services. In addition, a dynamic web service can simultaneously run along with the service surrogate for those services that may not need the features offered by the service surrogates.Type: GrantFiled: March 8, 2005Date of Patent: September 22, 2009Assignee: Microsoft CorporationInventors: Andrew D. Milligan, Harris Syed, John D. Doty, Max Attar Feingold, Saji Abraham