Patents by Inventor Andrew Layman

Andrew Layman 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).

  • Publication number: 20220335499
    Abstract: Methods and systems are provided for facilitating comparison of gemstones having multiple attributes that characterize the gemstones. A facilitated comparison system receives from a user a selection of a gemstone in a collection of the gemstones. Each gemstone in the collection is associated with a selling index indicating a probability of the gemstone being bought by a customer. For each of a predetermined set of the attributes, the system determines one or more comparable ranges. The system identifies alternate gemstones to recommend using the comparable ranges for the attributes and the selling indices of the gemstones. The system displays to the user the selected gemstone and one or more of the alternate gemstones for comparison.
    Type: Application
    Filed: March 28, 2022
    Publication date: October 20, 2022
    Inventors: Andrew Caples, Martin Springer, Amanda Johns, Saurabh Verma, Andrew Layman, Akhil Gupta
  • Patent number: 11296961
    Abstract: The technology disclosed offers a declarative framework that implements a machine for multi-step progression of interaction with an entity. The declarative framework is usable over and over for a broad range of applications because it provides a simple rule-based authoring tool that can be used for specifying different elements and components of a complex state machine, including state definitions, state transition triggers, state transition conditions and state transition actions. Once defined, the state machine is automatically generated and implemented based on the declarative input provided by a non-technical user.
    Type: Grant
    Filed: April 6, 2020
    Date of Patent: April 5, 2022
    Assignee: salesforce.com, inc.
    Inventors: Andrew Layman, Eric Hauser, Matthew John Fleckenstein, Tatyana Mamut, Adam Bosworth
  • Patent number: 11288728
    Abstract: Methods and systems are provided for facilitating comparison of gemstones having multiple attributes that characterize the gemstones. A facilitated comparison system receives from a user a selection of a gemstone in a collection of the gemstones. Each gemstone in the collection is associated with a selling index indicating a probability of the gemstone being bought by a customer. For each of a predetermined set of the attributes, the system determines one or more comparable ranges. The system identifies alternate gemstones to recommend using the comparable ranges for the attributes and the selling indices of the gemstones. The system displays to the user the selected gemstone and one or more of the alternate gemstones for comparison.
    Type: Grant
    Filed: July 31, 2019
    Date of Patent: March 29, 2022
    Assignee: BLUE NILE, INC.
    Inventors: Andrew Caples, Martin Springer, Amanda Johns, Saurabh Verma, Andrew Layman, Akhil Gupta
  • Publication number: 20210035178
    Abstract: Methods and systems are provided for facilitating comparison of gemstones having multiple attributes that characterize the gemstones. A facilitated comparison system receives from a user a selection of a gemstone in a collection of the gemstones. Each gemstone in the collection is associated with a selling index indicating a probability of the gemstone being bought by a customer. For each of a predetermined set of the attributes, the system determines one or more comparable ranges. The system identifies alternate gemstones to recommend using the comparable ranges for the attributes and the selling indices of the gemstones. The system displays to the user the selected gemstone and one or more of the alternate gemstones for comparison.
    Type: Application
    Filed: July 31, 2019
    Publication date: February 4, 2021
    Inventors: Andrew Caples, Martin Springer, Amanda Johns, Saurabh Verma, Andrew Layman, Akhil Gupta
  • Patent number: 10878379
    Abstract: The technology disclosed relates to processing events generated by Internet of Things (IoT) devices. In particular, it relates to storing a machine-readable declarative specification of stateful event processing of an automated multi-step progression of monitoring of Internet of Things (IoT) devices that generate events. It includes compiling into tangible memory, in response to the declarative specification, a state processing network that implements a multi-step progression of monitoring events generated by the IoT devices. The state processing network implements both the time based transition triggers and the event based transition triggers after being initiated by the IoT devices. Further, data structures, which record monitoring status of particular IoT devices, are compiled. Finally, the state processing network further selects an alternative action to trigger, and triggers the selected action using at least some data from a particular event being processed.
    Type: Grant
    Filed: June 18, 2019
    Date of Patent: December 29, 2020
    Assignee: salesforce.com, inc.
    Inventors: Aubrey Wing, Tatyana Mamut, Arthur Ping-Tak Che, Tiffany Joy Chin, Amy Kar Sin Poon, Andrew Layman
  • Publication number: 20200366581
    Abstract: The technology disclosed offers a declarative framework that implements a machine for multi-step progression of interaction with an entity. The declarative framework is usable over and over for a broad range of applications because it provides a simple rule-based authoring tool that can be used for specifying different elements and components of a complex state machine, including state definitions, state transition triggers, state transition conditions and state transition actions. Once defined, the state machine is automatically generated and implemented based on the declarative input provided by a non-technical user.
    Type: Application
    Filed: April 6, 2020
    Publication date: November 19, 2020
    Inventors: Andrew LAYMAN, Eric HAUSER, Matthew John FLECKENSTEIN, Tatyana MAMUT, Adam BOSWORTH
  • Patent number: 10756991
    Abstract: The technology disclosed offers a declarative and visualization framework that implements a state machine for multi-step progression of interaction with an entity. The declarative framework is usable over and over for a broad range of applications because it provides a simple rule-based authoring tool that can be used for specifying different elements and components of a complex state machine, including state definitions, state transition triggers, state transition conditions and state transition actions. Once defined, the state machine is automatically generated and visually implemented based on the declarative input provided by a non-technical user.
    Type: Grant
    Filed: November 3, 2015
    Date of Patent: August 25, 2020
    Assignee: salesforce.com, inc.
    Inventors: Andrew Layman, Eric Hauser, Matthew John Fleckenstein, Tatyana Mamut, Arthur Ping-Tak Che, Tiffany Joy Chin, Amy Kar Sin Poon
  • Patent number: 10616079
    Abstract: The technology disclosed offers a declarative framework that implements a machine for multi-step progression of interaction with an entity. The declarative framework is usable over and over for a broad range of applications because it provides a simple rule-based authoring tool that can be used for specifying different elements and components of a complex state machine, including state definitions, state transition triggers, state transition conditions and state transition actions. Once defined, the state machine is automatically generated and implemented based on the declarative input provided by a non-technical user.
    Type: Grant
    Filed: November 9, 2015
    Date of Patent: April 7, 2020
    Assignee: salesforce.com, inc.
    Inventors: Andrew Layman, Eric Hauser, Matthew John Fleckenstein, Tatyana Mamut, Adam Bosworth
  • Publication number: 20200082340
    Abstract: The technology disclosed relates to processing events generated by Internet of Things (IoT) devices. In particular, it relates to storing a machine-readable declarative specification of stateful event processing of an automated multi-step progression of monitoring of Internet of Things (IoT) devices that generate events. It includes compiling into tangible memory, in response to the declarative specification, a state processing network that implements a multi-step progression of monitoring events generated by the IoT devices. The state processing network implements both the time based transition triggers and the event based transition triggers after being initiated by the IoT devices. Further, data structures, which record monitoring status of particular IoT devices, are compiled. Finally, the state processing network further selects an alternative action to trigger, and triggers the selected action using at least some data from a particular event being processed.
    Type: Application
    Filed: June 18, 2019
    Publication date: March 12, 2020
    Inventors: Aubrey Wing, Tatyana Mamut, Arthur Ping-Tak Che, Tiffany Joy Chin, Amy Kar Sin Poon, Andrew Layman
  • Patent number: 10437635
    Abstract: The disclosed declarative framework implements a machine for multi-step progression of interaction with an entity. The framework is usable for a broad range of applications—providing a simple rule-based authoring tool for specifying elements and components of a complex state machine, including state definitions, state transition triggers, state transition conditions and state transition actions. Case-status states, a first filtering condition, and a count parameter that specifies a limit on a number of times within a time period in excess of which additional events with characteristics that match will be ignored or discarded are usable to determine whether to ignore or process an incoming event—throttling the rate at which certain actions occur. A workflow engine gets loaded with instructions derived from the states and event filtering conditions, for handling incoming machine-generated events. Once defined, the state machine is automatically generated and implemented based on the declarative input provided.
    Type: Grant
    Filed: August 18, 2016
    Date of Patent: October 8, 2019
    Assignee: salesforce.com, inc.
    Inventors: Andrew Layman, Adam Bosworth, Tatyana Mamut
  • Patent number: 10324773
    Abstract: The technology disclosed relates to processing events generated by Internet of Things (IoT) devices. In particular, it relates to storing a machine-readable declarative specification of stateful event processing of an automated multi-step progression of monitoring of Internet of Things (IoT) devices that generate events. It includes compiling into tangible memory, in response to the declarative specification, a state processing network that implements a multi-step progression of monitoring events generated by the IoT devices. The state processing network implements both the time based transition triggers and the event based transition triggers after being initiated by the IoT devices. Further, data structures, which record monitoring status of particular IoT devices, are compiled. Finally, the state processing network further selects an alternative action to trigger, and triggers the selected action using at least some data from a particular event being processed.
    Type: Grant
    Filed: April 1, 2016
    Date of Patent: June 18, 2019
    Assignee: salesforce.com, inc.
    Inventors: Aubrey Wing, Tatyana Mamut, Arthur Ping-Tak Che, Tiffany Joy Chin, Amy Kar Sin Poon, Andrew Layman
  • Publication number: 20170228253
    Abstract: The disclosed declarative framework implements a machine for multi-step progression of interaction with an entity. The framework is usable for a broad range of applications—providing a simple rule-based authoring tool for specifying elements and components of a complex state machine, including state definitions, state transition triggers, state transition conditions and state transition actions. Case-status states, a first filtering condition, and a count parameter that specifies a limit on a number of times within a time period in excess of which additional events with characteristics that match will be ignored or discarded are usable to determine whether to ignore or process an incoming event—throttling the rate at which certain actions occur. A workflow engine gets loaded with instructions derived from the states and event filtering conditions, for handling incoming machine-generated events. Once defined, the state machine is automatically generated and implemented based on the declarative input provided.
    Type: Application
    Filed: August 18, 2016
    Publication date: August 10, 2017
    Applicant: salesforce.com, inc.
    Inventors: Andrew Layman, Adam Bosworth, Tatyana Mamut
  • Publication number: 20170083386
    Abstract: The technology disclosed relates to processing events generated by Internet of Things (IoT) devices. In particular, it relates to storing a machine-readable declarative specification of stateful event processing of an automated multi-step progression of monitoring of Internet of Things (IoT) devices that generate events. It includes compiling into tangible memory, in response to the declarative specification, a state processing network that implements a multi-step progression of monitoring events generated by the IoT devices. The state processing network implements both the time based transition triggers and the event based transition triggers after being initiated by the IoT devices. Further, data structures, which record monitoring status of particular IoT devices, are compiled. Finally, the state processing network further selects an alternative action to trigger, and triggers the selected action using at least some data from a particular event being processed.
    Type: Application
    Filed: April 1, 2016
    Publication date: March 23, 2017
    Applicant: salesforce.com, inc.
    Inventors: Aubrey Wing, Tatyana Mamut, Arthur Ping-Tak Che, Tiffany Joy Chin, Amy Kar Sin Poon, Andrew Layman
  • Publication number: 20170083175
    Abstract: The technology disclosed offers a declarative framework that implements a machine for multi-step progression of interaction with an entity. The declarative framework is usable over and over for a broad range of applications because it provides a simple rule-based authoring tool that can be used for specifying different elements and components of a complex state machine, including state definitions, state transition triggers, state transition conditions and state transition actions. Once defined, the state machine is automatically generated and implemented based on the declarative input provided by a non-technical user.
    Type: Application
    Filed: November 9, 2015
    Publication date: March 23, 2017
    Applicant: SALESFORCE.COM, INC.
    Inventors: Andrew Layman, Eric Hauser, Matthew John Fleckenstein, Tatyana Mamut, Adam Bosworth
  • Publication number: 20170085445
    Abstract: The technology disclosed offers a declarative and visualization framework that implements a state machine for multi-step progression of interaction with an entity. The declarative framework is usable over and over for a broad range of applications because it provides a simple rule-based authoring tool that can be used for specifying different elements and components of a complex state machine, including state definitions, state transition triggers, state transition conditions and state transition actions. Once defined, the state machine is automatically generated and visually implemented based on the declarative input provided by a non-technical user.
    Type: Application
    Filed: November 3, 2015
    Publication date: March 23, 2017
    Applicant: salesforce.com, inc.
    Inventors: Andrew Layman, Eric Hauser, Matthew John Fleckenstein, Tatyana Mamut, Arthur Ping-Tak Che, Tiffany Joy Chin, Amy Kar Sin Poon
  • Publication number: 20060277458
    Abstract: Here is described an implementation of an object persister, which serializes an object to preserve the object's data structure and its current data. The serialized object is encoded using XML and inserted within a message. That message is transmitted to an entity over a network. Such a transmission is performed using standard Internet protocols, such as HTML. Upon receiving the serialed object, the receiving entity deserializes the object to use it. Rather than include copies of referenced objects within the serialized object, the object persister includes references to those objects. This avoids redundant inclusion of the same object and potentially infinite inclusion of the object itself that is being serialized.
    Type: Application
    Filed: July 16, 2004
    Publication date: December 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Andrew Layman, Gopal Kakivaya, Satish Thatte
  • Publication number: 20060235983
    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: Application
    Filed: June 26, 2006
    Publication date: October 19, 2006
    Applicant: Microsoft Corporation
    Inventors: Andrew Layman, Gopal Kakivaya, Satish Thatte, Henrik Nielsen, Robert Atkinson
  • Publication number: 20060212599
    Abstract: An apparatus and method is provided for resolving virtual network names using one or more name routers. A conventional Uniform Resource Locator (URL) naming scheme is extended by allowing any component to be mapped to an address. The resolution process occurs recursively through a plurality of name routers. Resolution can be contextual, such that the same virtual network name may be resolved differently depending on the identity of the client or other parameters.
    Type: Application
    Filed: June 5, 2006
    Publication date: September 21, 2006
    Applicant: Microsoft Corporation
    Inventors: Steven Lucco, Erik Christensen, Andrew Layman, David Levin, Bradford Lovering, Henrik Nielsen, John Shewchuk
  • Publication number: 20060123333
    Abstract: Herein is described an implementation of an object persister, which serializes an object to preserve the object's data structure and its current data. The serialized object is encoded using XML and inserted within a message. That message is transmitted to an entity over a network. Such a transmission is performed using standard Internet protocols, such as HTML. Upon receiving the serialized object, the receiving entity deserializes the object to use it. Rather than include copies of referenced objects within the serialized object, the object persister includes references to those objects. This avoids redundant inclusion of the same object and potentially infinite inclusion of the object itself that is being serialized.
    Type: Application
    Filed: July 16, 2004
    Publication date: June 8, 2006
    Applicant: Microsoft Corporation
    Inventors: Andrew Layman, Gopal Kakivaya, Satish Thatte
  • Publication number: 20050267935
    Abstract: A general programmatic interface-to-network messaging adapter exposes a suitable object integration interface or application programming interface to applications on a controller device and sends network data messages to invoke services or query status of a controlled device. The adapter maps application calls to the interface into network data messages according to service protocols of the controlled device. The general adapter provides the interface suitable to any specific service of a controlled device based on a data description of the interface, and converts the application calls to network data messages based on a data description of a protocol and format for network data messages to interact with the specific service. Once the interface/messaging description is obtained, applications on the controller device can programmatically interact with the adapter, and the adapter then handles appropriate message exchanges with the service of the controlled device.
    Type: Application
    Filed: June 23, 2005
    Publication date: December 1, 2005
    Applicant: Microsoft Corporation
    Inventors: Amar Gandhi, Andrew Layman