Patents by Inventor John Anthony Taylor
John Anthony Taylor 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: 10437810Abstract: A facility maintains a cardinality schema to manage indications of property cardinality on behalf of a database such as a graph database that is indifferent to the cardinality of properties stored within it. The facility can add cardinality indications to the cardinality schema for a property based on (1) semantics used to refer to one or more values of the property in an update request, (2) the number of values specified for the property in an update request, or (3) an explicit client declaration of the property's cardinality. Where a query or update request against the database uses cardinality semantics for a property that are inconsistent with the cardinality schema's indication for the property, the facility can reject the query or update request. The facility can also use the cardinality schema to automatically complete incomplete queries using the proper cardinality semantics for each involved property.Type: GrantFiled: September 30, 2016Date of Patent: October 8, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Angshuman Sarkar, Henrik Frystyk Nielsen, John Anthony Taylor
-
Patent number: 10417039Abstract: Methods, systems, and computer program products for dispatching an incoming event are described. A scorable tree is obtained and the incoming event is submitted to a root node of the scorable tree for processing. The incoming event is augmented with scoring data generated by the root node to create a scoring event and the scoring event is iteratively passed from each parent node of the scorable tree to each corresponding child node of the scorable tree for further processing until each leaf node of each branch of the scorable tree is reached, wherein each child node augments an incoming scoring event with additional scoring data and each leaf node generates an intermediate scoring event.Type: GrantFiled: June 12, 2017Date of Patent: September 17, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Christopher C. McConnell, William L. Portnoy, Steven W. Ickman, Shahin Shayandeh, John Anthony Taylor
-
Patent number: 10339130Abstract: A facility for addressing nodes in a graph database is described. The facility receives from a first application a first indication that it treats a first property as a unique identifier, and receives from a second application distinct from the first application a second indication that it treats a second property distinct from the first property as a unique identifier. The facility receives from the first application a first update request for a distinguished entity, the distinguished entity identified in the first update request by its value for the first property. The facility performs the first update request with respect to the distinguished entity. The facility receives from the second application a second update request for the distinguished entity, the distinguished entity identified in the second update request by its value for the second property. The facility performs the second update request with respect to the distinguished entity.Type: GrantFiled: October 6, 2016Date of Patent: July 2, 2019Assignee: Microsoft Technology Licensing, LLCInventors: John Anthony Taylor, Christopher Lee Mullins
-
Publication number: 20190096391Abstract: At least some embodiments described herein relate to computer-assisted conversation. The set of available conversation segments is updated by addressing conversation segments at the granularity of a conversation segment or a group of conversation segments. For instance, an entire class of conversation segments may be addressed to add, delete, turn on, or turn off, the class of conversation segments. Groups of class of conversation segments may also be similarly addressed. Thus, as the scope of a conversation changes, the available set of conversation segments may likewise change with fine-grained control. Accordingly, rather than pre-plan every set of possible conversations, the context and direction of the conversation may be evaluated by code to thereby determine what new sets of conversation segments should be added, deleted, turned on, or turned off. New conversation segments may even be generated dynamically, taking into account the values of parameters that then exist.Type: ApplicationFiled: September 26, 2017Publication date: March 28, 2019Inventors: Angshuman SARKAR, John Anthony TAYLOR, Henrik Frystyk NIELSEN
-
Publication number: 20180357096Abstract: Methods, systems, and computer program products for dispatching an incoming event are described. A scorable tree is obtained and the incoming event is submitted to a root node of the scorable tree for processing. The incoming event is augmented with scoring data generated by the root node to create a scoring event and the scoring event is iteratively passed from each parent node of the scorable tree to each corresponding child node of the scorable tree for further processing until each leaf node of each branch of the scorable tree is reached, wherein each child node augments an incoming scoring event with additional scoring data and each leaf node generates an intermediate scoring event.Type: ApplicationFiled: June 12, 2017Publication date: December 13, 2018Inventors: Christopher C. McConnell, William L. Portnoy, Steven W. Ickman, Shahin Shayandeh, John Anthony Taylor
-
Publication number: 20180358006Abstract: Methods, systems, and computer program products for dispatching an incoming event are described. A scoring stack is accessed, the scoring stack comprising an identity of one or more tasks, each task corresponding to one or more scorable functions. A scorable tree is generated based on the one or more scorable functions corresponding to the one or more tasks of the scoring stack and the incoming event is processed using the scorable tree to generate one or more scores. One or more actions identified in the scorable tree are performed based on the one or more scores.Type: ApplicationFiled: June 12, 2017Publication date: December 13, 2018Inventors: Christopher C. McConnell, William L. Portnoy, Steven W. Ickman, Shahin Shayandeh, John Anthony Taylor
-
Patent number: 10095807Abstract: Systems and methods are provided for storing and retrieving data using a linked data model having a tree format. Instead of using a traditional relational database, a linked data model can be used with links between data items that reflect the underlying business logic. To facilitate retrieval of data, the data items stored using the linked data model can be individually addressable.Type: GrantFiled: April 28, 2015Date of Patent: October 9, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventor: John Anthony Taylor
-
Publication number: 20180101559Abstract: A facility for addressing nodes in a graph database is described. The facility receives from a first application a first indication that it treats a first property as a unique identifier, and receives from a second application distinct from the first application a second indication that it treats a second property distinct from the first property as a unique identifier. The facility receives from the first application a first update request for a distinguished entity, the distinguished entity identified in the first update request by its value for the first property. The facility performs the first update request with respect to the distinguished entity. The facility receives from the second application a second update request for the distinguished entity, the distinguished entity identified in the second update request by its value for the second property. The facility performs the second update request with respect to the distinguished entity.Type: ApplicationFiled: October 6, 2016Publication date: April 12, 2018Inventors: John Anthony Taylor, Christopher Lee Mullins
-
Publication number: 20180096015Abstract: A facility maintains a cardinality schema to manage indications of property cardinality on behalf of a database such as a graph database that is indifferent to the cardinality of properties stored within it. The facility can add cardinality indications to the cardinality schema for a property based on (1) semantics used to refer to one or more values of the property in an update request, (2) the number of values specified for the property in an update request, or (3) an explicit client declaration of the property's cardinality. Where a query or update request against the database uses cardinality semantics for a property that are inconsistent with the cardinality schema's indication for the property, the facility can reject the query or update request. The facility can also use the cardinality schema to automatically complete incomplete queries using the proper cardinality semantics for each involved property.Type: ApplicationFiled: September 30, 2016Publication date: April 5, 2018Inventors: Angshuman Sarkar, Henrik Frystyk Nielsen, John Anthony Taylor
-
Patent number: 9798738Abstract: The present invention extends to methods, systems, and computer program products for creating and manipulating custom compound data types in declarative programs. The present invention allows a developer to create and use custom compound data types without requiring the custom type to be specifically defined (e.g. via registering a custom assembly) in the underlying framework. This is accomplished by providing a data container that is configurable to represent virtually any combination of primitive or compound types defined within the framework. The present invention also provides a declarative model for interacting with data containers representing custom compound data types. This declarative model employs a path-based syntax (or other type of syntax) for accessing the elements of a custom compound data type. Multiple paths can be defined within a single unit of developer input so that multiple elements of a custom data type can be manipulated by the single unit of input.Type: GrantFiled: February 3, 2015Date of Patent: October 24, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
-
Publication number: 20160321376Abstract: Systems and methods are provided for storing and retrieving data using a linked data model having a tree format. Instead of using a traditional relational database, a linked data model can be used with links between data items that reflect the underlying business logic. To facilitate retrieval of data, the data items stored using the linked data model can be individually addressable.Type: ApplicationFiled: April 28, 2015Publication date: November 3, 2016Inventor: JOHN ANTHONY TAYLOR
-
Patent number: 9420053Abstract: The canonicalization of input messages having application specific data into a canonical message format, regardless of whether those native messages are well-formed. When a message is accessed, as long as the message is processable, the message is canonicalized. If the native message is well-formed, then a canonical message is generated that includes the application specific data in a schema understood by the application. On the other hand, if the native message is not well-formed, the canonical message is generated in a manner that the canonical message may be used to access the raw bits of the message, and that includes sufficient information for some downstream processing to determine that the message was not well-formed. That downstream processing may optionally then perform compensatory actions to regain access to the application specific data, and may potentially use information from the canonicalized message to do so.Type: GrantFiled: May 29, 2008Date of Patent: August 16, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Nicholas Alexander Allen, John Anthony Taylor
-
Publication number: 20150213052Abstract: The present invention extends to methods, systems, and computer program products for creating and manipulating custom compound data types in declarative programs. The present invention allows a developer to create and use custom compound data types without requiring the custom type to be specifically defined (e.g. via registering a custom assembly) in the underlying framework. This is accomplished by providing a data container that is configurable to represent virtually any combination of primitive or compound types defined within the framework. The present invention also provides a declarative model for interacting with data containers representing custom compound data types. This declarative model employs a path-based syntax (or other type of syntax) for accessing the elements of a custom compound data type. Multiple paths can be defined within a single unit of developer input so that multiple elements of a custom data type can be manipulated by the single unit of input.Type: ApplicationFiled: February 3, 2015Publication date: July 30, 2015Inventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
-
Patent number: 8984530Abstract: Embodiments described herein allow a service component author to write service components without having to handle incoming messages being received at any time. This may be facilitated by a message dispatch engine that dispatches messages from the incoming message queue only when the destination service component has indicated that it is ready to receive the message having that context. If the service component is not yet ready for the message, the message dispatch component may lock the message at least until the destination service component indicates that it is now ready to receive the message. Until that time, the message dispatch engine may ignore the locked message when finding messages to dispatch.Type: GrantFiled: January 31, 2008Date of Patent: March 17, 2015Assignee: Microsoft CorporationInventors: Edmund Samuel Victor Pinto, Kenneth David Wolf, Stephen J. Millet, Richard D. Hill, Nicholas Alexander Allen, John Anthony Taylor
-
Patent number: 8978041Abstract: Service virtualization containers to aggregate service functionality from a plurality of services into an apparent service exhibiting the aggregated functionality. A plurality of service implementations is assigned to a service virtualization container. The container selects some of the service operations from the service implementations. One or more message characteristics are assigned to the service operations in one or more routing tables. A message is received at a service endpoint different from the service endpoints of any of the service implementations. A determination is made of one or more message characteristics. The one or more routing tables are consulted to select a determined service operation based on the message characteristics. The message is routed to the selected service implementation.Type: GrantFiled: December 23, 2008Date of Patent: March 10, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Nicholas Alexander Allen, Raul Guillermo Camacho, Alexander E. Nosov, William Leo Oellermann, Jr., Kartik Paramasivam, Ramasubramaniam Poornalingam, John Anthony Taylor
-
Patent number: 8949785Abstract: The present invention extends to methods, systems, and computer program products for creating and manipulating custom compound data types in declarative programs. The present invention allows a developer to create and use custom compound data types without requiring the custom type to be specifically defined (e.g. via registering a custom assembly) in the underlying framework. This is accomplished by providing a data container that is configurable to represent virtually any combination of primitive or compound types defined within the framework. The present invention also provides a declarative model for interacting with data containers representing custom compound data types. This declarative model employs a path-based syntax (or other type of syntax) for accessing the elements of a custom compound data type. Multiple paths can be defined within a single unit of developer input so that multiple elements of a custom data type can be manipulated by the single unit of input.Type: GrantFiled: December 15, 2011Date of Patent: February 3, 2015Assignee: Microsoft CorporationInventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
-
Patent number: 8689239Abstract: In one embodiment, a computer system accesses an event associated with an activity, where the activity has been executed by a runtime as part of a software application. The runtime includes a software hook configured to listen for event stream operation indications from the user. The computer system tags the accessed event with an additional portion of identification information that uniquely identifies the executed activity. The computer system receives an event stream operation indication from the user indicating that event transmission for an identified event stream is to be dynamically enabled or disabled and identifies the user-indicated event stream using the tagged identification information. The computer system also dynamically performs the indicated event stream operation on the identified event stream according to the user's indication.Type: GrantFiled: May 20, 2009Date of Patent: April 1, 2014Assignee: Microsoft CorporationInventors: John Anthony Taylor, Igor Sedukhin, Gilles C. J. A. Zunino, Amol Sudhakar Kulkarni, Haoran Andy Wu, Sumit Mohanty, Kenneth D. Wolf, Timothy Glenn MacNary, Michael Josef Krejcik
-
Patent number: 8683030Abstract: Message intermediation for multiple service instances, while allowing the service instance to control whether messages are processed under a transaction. The message intermediator chooses to dispatch messages among different backend service instances based on any routing rules. The message intermediator performs a peek-lock of message from a forward-end queue, and assigns the message to a service instance. The message is provided into a backward-end queue specific to the assigned service instance. The service instance may then process the message, perhaps under a transaction created at the service instance. Upon completion of processing, the message is deleted in the back-end queue, which causes the forward-end queue to delete the message under the same transaction created by the service instance. Whether or not this deletion at the forward-end is committed or rolled back depends on whether the transaction created at the service instance is committed or rolled back.Type: GrantFiled: October 18, 2012Date of Patent: March 25, 2014Assignee: Microsoft CorporationInventors: Kartik Paramasivam, James E. Johnson, Nicholas Alexander Allen, John Anthony Taylor, Margaret J. Drollinger
-
Publication number: 20130159970Abstract: The present invention extends to methods, systems, and computer program products for creating and manipulating custom compound data types in declarative programs. The present invention allows a developer to create and use custom compound data types without requiring the custom type to be specifically defined (e.g. via registering a custom assembly) in the underlying framework. This is accomplished by providing a data container that is configurable to represent virtually any combination of primitive or compound types defined within the framework. The present invention also provides a declarative model for interacting with data containers representing custom compound data types. This declarative model employs a path-based syntax (or other type of syntax) for accessing the elements of a custom compound data type. Multiple paths can be defined within a single unit of developer input so that multiple elements of a custom data type can be manipulated by the single unit of input.Type: ApplicationFiled: December 15, 2011Publication date: June 20, 2013Applicant: Microsoft CorporationInventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
-
Patent number: 8468529Abstract: Embodiments are directed to generating trace events that are configured to report an association between a workflow activity and a message. A computer system receives a message over a communication medium, where the workflow activity includes a unique workflow activity identifier (ID) that uniquely identifies the workflow activity. The message also includes a unique message ID that uniquely identifies the message. The computer system generates a trace event that includes a combination of the unique workflow activity ID and the unique message ID. The trace event is configured to report the association between the workflow activity and the message. The computer system also stores the generated trace event in a data store.Type: GrantFiled: May 27, 2009Date of Patent: June 18, 2013Assignee: Microsoft CorporationInventors: Sumit Mohanty, John Anthony Taylor, Vikram Desai, Kenneth D. Wolf, Haoran Andy Wu, Michael Josef Krejcik