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: 10437810
    Abstract: 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: Grant
    Filed: September 30, 2016
    Date of Patent: October 8, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Angshuman Sarkar, Henrik Frystyk Nielsen, John Anthony Taylor
  • Patent number: 10417039
    Abstract: 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: Grant
    Filed: June 12, 2017
    Date of Patent: September 17, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Christopher C. McConnell, William L. Portnoy, Steven W. Ickman, Shahin Shayandeh, John Anthony Taylor
  • Patent number: 10339130
    Abstract: 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: Grant
    Filed: October 6, 2016
    Date of Patent: July 2, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Anthony Taylor, Christopher Lee Mullins
  • Publication number: 20190096391
    Abstract: 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: Application
    Filed: September 26, 2017
    Publication date: March 28, 2019
    Inventors: Angshuman SARKAR, John Anthony TAYLOR, Henrik Frystyk NIELSEN
  • Publication number: 20180357096
    Abstract: 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: Application
    Filed: June 12, 2017
    Publication date: December 13, 2018
    Inventors: Christopher C. McConnell, William L. Portnoy, Steven W. Ickman, Shahin Shayandeh, John Anthony Taylor
  • Publication number: 20180358006
    Abstract: 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: Application
    Filed: June 12, 2017
    Publication date: December 13, 2018
    Inventors: Christopher C. McConnell, William L. Portnoy, Steven W. Ickman, Shahin Shayandeh, John Anthony Taylor
  • Patent number: 10095807
    Abstract: 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: Grant
    Filed: April 28, 2015
    Date of Patent: October 9, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventor: John Anthony Taylor
  • Publication number: 20180101559
    Abstract: 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: Application
    Filed: October 6, 2016
    Publication date: April 12, 2018
    Inventors: John Anthony Taylor, Christopher Lee Mullins
  • Publication number: 20180096015
    Abstract: 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: Application
    Filed: September 30, 2016
    Publication date: April 5, 2018
    Inventors: Angshuman Sarkar, Henrik Frystyk Nielsen, John Anthony Taylor
  • Patent number: 9798738
    Abstract: 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: Grant
    Filed: February 3, 2015
    Date of Patent: October 24, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
  • Publication number: 20160321376
    Abstract: 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: Application
    Filed: April 28, 2015
    Publication date: November 3, 2016
    Inventor: JOHN ANTHONY TAYLOR
  • Patent number: 9420053
    Abstract: 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: Grant
    Filed: May 29, 2008
    Date of Patent: August 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nicholas Alexander Allen, John Anthony Taylor
  • Publication number: 20150213052
    Abstract: 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: Application
    Filed: February 3, 2015
    Publication date: July 30, 2015
    Inventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
  • Patent number: 8984530
    Abstract: 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: Grant
    Filed: January 31, 2008
    Date of Patent: March 17, 2015
    Assignee: Microsoft Corporation
    Inventors: Edmund Samuel Victor Pinto, Kenneth David Wolf, Stephen J. Millet, Richard D. Hill, Nicholas Alexander Allen, John Anthony Taylor
  • Patent number: 8978041
    Abstract: 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: Grant
    Filed: December 23, 2008
    Date of Patent: March 10, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nicholas Alexander Allen, Raul Guillermo Camacho, Alexander E. Nosov, William Leo Oellermann, Jr., Kartik Paramasivam, Ramasubramaniam Poornalingam, John Anthony Taylor
  • Patent number: 8949785
    Abstract: 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: Grant
    Filed: December 15, 2011
    Date of Patent: February 3, 2015
    Assignee: Microsoft Corporation
    Inventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
  • Patent number: 8689239
    Abstract: 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: Grant
    Filed: May 20, 2009
    Date of Patent: April 1, 2014
    Assignee: Microsoft Corporation
    Inventors: 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: 8683030
    Abstract: 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: Grant
    Filed: October 18, 2012
    Date of Patent: March 25, 2014
    Assignee: Microsoft Corporation
    Inventors: Kartik Paramasivam, James E. Johnson, Nicholas Alexander Allen, John Anthony Taylor, Margaret J. Drollinger
  • Publication number: 20130159970
    Abstract: 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: Application
    Filed: December 15, 2011
    Publication date: June 20, 2013
    Applicant: Microsoft Corporation
    Inventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
  • Patent number: 8468529
    Abstract: 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: Grant
    Filed: May 27, 2009
    Date of Patent: June 18, 2013
    Assignee: Microsoft Corporation
    Inventors: Sumit Mohanty, John Anthony Taylor, Vikram Desai, Kenneth D. Wolf, Haoran Andy Wu, Michael Josef Krejcik