Patents by Inventor Jonathan I. Turow

Jonathan I. Turow 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: 10397303
    Abstract: A virtual device representation of an Internet of Things (IoT) device in a service provider environment having device state information associated with the virtual device representation may be identified to enable one or more services of the service provider environment and one or more IoT devices to communicate with the virtual representation of the IoT device. Semantic annotations associated with IoT device data for the IoT device may be identified in a device registry of the service provider environment. A request may be received for data using a URL to communicate with the virtual device representation. Canonical data may be obtained from the IoT device data in the virtual representation and the canonical data may be translated according to the semantic annotations to fulfill the request for data.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: August 27, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Calvin Yue-Ren Kuo, Jonathan I. Turow, Alan Conrad Rawcliffe
  • Patent number: 10372486
    Abstract: Systems and methods are described for configuring a coordinator within a coordinated environment, which environment includes set of coordinated devices managed by the coordinator. The coordinated devices may include devices configured to be managed remotely, such as thin devices, devices with alternative primary functions (e.g., appliances, household objects, etc.), or devices with limited localized user interfaces. To manage the set of coordinated devices, the coordinator can execute tasks, each task corresponding to a set of portable code executable by the coordinator to implement a desired functionality. A user may generate one or more tasks, and submit them to a service provider environment for deployment to the coordinator. The service provider environment can utilize a device shadow to notify the coordinator of the obtained tasks, and thereafter deliver the tasks to the coordinator, thus modifying a configuration of the coordinator.
    Type: Grant
    Filed: November 28, 2016
    Date of Patent: August 6, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Calvin Yue-Ren Kuo, Rudresh Amin, Yen-Lin Chen, Jonathan I. Turow, Cheng Pan, Dmytro Taran, Naveen Kumar Aitha, Ambuj Tandon, Kyunghwan Choi, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan, Mark Edward Rafn
  • Patent number: 10356223
    Abstract: Technology is described for migrating connections for Internet of Things (IoT) devices. Data packets may be received from an IoT device for forwarding to a first physical host in a computing service environment. A determination to migrate the connection for the IoT device from the first physical host to a second physical host in the computing service environment may be performed when a throughput of the data packets received from the IoT device for the first physical host exceeds a defined threshold. A connection migration procedure may be initiated to migrate the connection for the IoT device from the first physical host to the second physical host. The connection migration procedure may include an exchange of session state information for the IoT device from the first physical host to the second physical host to enable the migration of the connection to the second physical host.
    Type: Grant
    Filed: March 17, 2016
    Date of Patent: July 16, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Calvin Yue-Ren Kuo, Jonathan I. Turow, Tristam Kyle MacDonald, Justin Robert Knoepfler, Yadunandan Parthasarathy, Aditya Bhalla, Sudarshan Anand Chitre
  • Patent number: 10270738
    Abstract: A technology is described for operating a device shadowing service that calculates an aggregated group state for a group of device representations. An example method may include receiving device states for devices represented using a group of device representations, where the devices connect over a network to a device shadowing service configured to manage the device states. In response to an event, device representations included in the group of device representations may be identified. Device states indicated by the device representations may be obtained and an aggregated group state for the group of device representations may be calculated using the device states indicated by the device representations.
    Type: Grant
    Filed: September 19, 2016
    Date of Patent: April 23, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Calvin Yue-Ren Kuo, William Alexander Stevenson, James Christopher Sorenson, III, Shyam Krishnamoorthy, Jonathan I. Turow, Mark Edward Rafn
  • Patent number: 10270875
    Abstract: A technology is described for managing dynamic groups of devices using device representations. An example method may include receiving a request for a dynamic group of device representations. In response to the request, a membership parameter used to identify member device representations included in the dynamic group of device representations may be obtained. Device representations may be queried using the membership parameter to identify member device representations that have a state that corresponds to the membership parameter, and the dynamic group of device representations may be generated to include identifiers for the member device representations.
    Type: Grant
    Filed: September 19, 2016
    Date of Patent: April 23, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Calvin Yue-Ren Kuo, Mark Edward Rafn, James Christopher Sorenson, III, Shyam Krishnamoorthy, Jonathan I. Turow, William Alexander Stevenson
  • Publication number: 20190097989
    Abstract: A computing environment is disclosed that receives from devices requests directed toward services accessible in the environment, and that forwards communications from services in the environment to devices registered with the environment. During a registration process at the environment, devices are assigned a device identifier that is used to identify and authenticate each particular device and requests communicated from and to the device via the environment. The computing environment maintains state information for each device that has been registered with the system. As the device interacts with the system, the state information is updated to reflect the changes in the device. When requests to perform functions are received from devices, the computing environment determines for the particular device and the particular function requested what processing needs to be performed by the environment in response to the request.
    Type: Application
    Filed: August 29, 2018
    Publication date: March 28, 2019
    Inventors: Alan Conrad Rawcliffe, Samuel John Young, Shyam Krishnamoorthy, Marco Argenti, Jonathan I. Turow, Calvin Yue-Ren Kuo, James Christopher Sorenson, III
  • Patent number: 10216540
    Abstract: Systems and methods are described for configuring a coordinator within a coordinated environment, which environment includes set of coordinated devices managed by the coordinator. The coordinated devices may include devices configured to be managed remotely, such as thin devices, devices with alternative primary functions (e.g., appliances, household objects, etc.), or devices with limited localized user interfaces. To manage the set of coordinated devices, the coordinator can execute tasks, each task corresponding to a set of portable code executable by the coordinator to implement a desired functionality. A user may generate one or more tasks, and submit them to a service provider environment for deployment to the coordinator. The service provider environment can utilize a device shadow to notify the coordinator of the obtained tasks, and thereafter deliver the tasks to the coordinator, thus modifying a configuration of the coordinator.
    Type: Grant
    Filed: November 28, 2016
    Date of Patent: February 26, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Calvin Yue-Ren Kuo, Jonathan I. Turow, Dmytro Taran, Naveen Kumar Aitha, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan, Mark Edward Rafn
  • Patent number: 10193839
    Abstract: Systems and methods are described for management of data transmitted between computing devices in a communication network. An administrative component can configure one or more devices in the communication path of messages to be exchanged by devices to interpret codes embedded in the communication messages. A receiving device can review incoming messages for security information. The receiving devices can then process the message based on the security information to determine how the communication message will be routed or otherwise processed.
    Type: Grant
    Filed: November 28, 2016
    Date of Patent: January 29, 2019
    Assignee: Amazon Technologies, Inc
    Inventors: Ambuj Tandon, Calvin Yue-Ren Kuo, Jonathan I. Turow, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan, Mark Edward Rafn
  • Patent number: 10091329
    Abstract: A computing environment is disclosed that receives from devices requests directed toward services accessible in the environment, and that forwards communications from services in the environment to devices registered with the environment. During a registration process at the environment, devices are assigned a device identifier that is used to identify and authenticate each particular device and requests communicated from and to the device via the environment. The computing environment maintains state information for each device that has been registered with the system. As the device interacts with the system, the state information is updated to reflect the changes in the device. When requests to perform functions are received from devices, the computing environment determines for the particular device and the particular function requested what processing needs to be performed by the environment in response to the request.
    Type: Grant
    Filed: June 30, 2015
    Date of Patent: October 2, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Calvin Yue-Ren Kuo, James Christopher Sorenson, III, Alan Conrad Rawcliffe, Shyam Krishnamoorthy, Jonathan I. Turow, Marco Argenti
  • Patent number: 10075422
    Abstract: A computing environment is disclosed that receives from devices requests directed toward services accessible in the environment, and that forwards communications from services in the environment to devices registered with the environment. During a registration process at the environment, devices are assigned a device identifier that is used to identify and authenticate each particular device and requests communicated from and to the device via the environment. The computing environment maintains state information for each device that has been registered with the system. As the device interacts with the system, the state information is updated to reflect the changes in the device. When requests to perform functions are received from devices, the computing environment determines for the particular device and the particular function requested what processing needs to be performed by the environment in response to the request.
    Type: Grant
    Filed: June 30, 2015
    Date of Patent: September 11, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Alan Conrad Rawcliffe, Samuel John Young, Shyam Krishnamoorthy, Marco Argenti, Jonathan I. Turow, Calvin Yue-Ren Kuo, James Christopher Sorenson, III
  • Publication number: 20180227388
    Abstract: A computing environment is disclosed that receives from devices requests directed toward services accessible in the environment, and that forwards communications from services in the environment to devices registered with the environment. During a registration process at the environment, devices are assigned a device identifier that is used to identify and authenticate each particular device and requests communicated from and to the device via the environment. The computing environment maintains state information for each device that has been registered with the system. As the device interacts with the system, the state information is updated to reflect the changes in the device. When requests to perform functions are received from devices, the computing environment determines for the particular device and the particular function requested what processing needs to be performed by the environment in response to the request.
    Type: Application
    Filed: February 1, 2018
    Publication date: August 9, 2018
    Inventors: Calvin Yue-Ren Kuo, James Christopher Sorenson, III, Alan Conrad Rawcliffe, Shyam Krishnamoorthy, Jonathan I. Turow, Marco Argenti
  • Publication number: 20180150325
    Abstract: Systems and methods are described for implementing a coordinator within a coordinated environment, which environment includes set of coordinated devices managed by the coordinator. The coordinator can be provisioned with a set of tasks, each task corresponding to a segment of code that can be executed by the coordinator, such as to manage the coordinated devices. To assist in execution of the tasks, the coordinator can include a resource manager that generates execution environments corresponding to an individual task execution, which environments may be isolated from other execution environments. The coordinator can further include a scheduler to obtain calls to execute tasks, and implement a queue from which to select tasks for execution. On selecting a task, the scheduler may interact with the resource manager to generate an execution environment for the task, and cause execution of the task within the execution environment.
    Type: Application
    Filed: November 28, 2016
    Publication date: May 31, 2018
    Inventors: Calvin Yue-Ren Kuo, Rudresh Amin, Yen-Lin Chen, Jonathan I. Turow, Cheng Pan, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan
  • Publication number: 20180150339
    Abstract: Systems and methods are described for implementing a coordinator within a coordinated environment, which environment includes set of coordinated devices managed by the coordinator. The coordinator can be provisioned with a set of tasks, each task corresponding to a segment of code that can be executed by the coordinator, such as to manage the coordinated devices. To assist in execution of the tasks, the coordinator can include a communications manager that enables communications between tasks. The communications manager can provide a language-independent interface to call for execution of tasks, pass information to a task, and obtain outputs of a task. In some embodiments, the communication manager may utilize a language-independent protocol, such as the hypertext transport protocol, and be configured to respond to requests addressed to uniform resource identifiers associated with the communications manager.
    Type: Application
    Filed: November 28, 2016
    Publication date: May 31, 2018
    Inventors: Cheng Pan, Calvin Yue-Ren Kuo, Jonathan I. Turow, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan
  • Publication number: 20180150317
    Abstract: Systems and methods are described for configuring a coordinator within a coordinated environment, which environment includes set of coordinated devices managed by the coordinator. The coordinated devices may include devices configured to be managed remotely, such as thin devices, devices with alternative primary functions (e.g., appliances, household objects, etc.), or devices with limited localized user interfaces. To manage the set of coordinated devices, the coordinator can execute tasks, each task corresponding to a set of portable code executable by the coordinator to implement a desired functionality. A user may generate one or more tasks, and submit them to a service provider environment for deployment to the coordinator. The service provider environment can utilize a device shadow to notify the coordinator of the obtained tasks, and thereafter deliver the tasks to the coordinator, thus modifying a configuration of the coordinator.
    Type: Application
    Filed: November 28, 2016
    Publication date: May 31, 2018
    Inventors: Calvin Yue-Ren KUO, Jonathan I. TUROW, Dmytro TARAN, Naveen Kumar AITHA, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan, Mark Edward Rafn
  • Publication number: 20180152405
    Abstract: Systems and methods are described for management of data transmitted between computing devices in a communication network. An administrative component can configure one or more devices in the communication path of messages to be exchanged by devices to interpret codes embedded in the communication messages. A receiving device can review incoming messages for one or more processing codes or instructions that are embedded in the portion of the communication typically utilized solely to identify the subject matter of the communication, generally referred to as the topic portion of the communication. The receiving devices can then process the embedded codes to determine how the communication message will be routed or otherwise processed.
    Type: Application
    Filed: November 28, 2016
    Publication date: May 31, 2018
    Inventors: Calvin Yue-Ren Kuo, Jonathan I. Turow, Kyunghwan Choi, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan, Mark Edward Rafn
  • Publication number: 20180150341
    Abstract: Systems and methods are described for implementing a coordinator within a coordinated environment, which environment includes set of coordinated devices managed by the coordinator. The coordinator can be provisioned with a set of tasks, each task corresponding to a segment of code that can be executed by the coordinator, such as to manage the coordinated devices. To assist in execution of the tasks, the coordinator can include a remote interface that enables retrieval of task calls from an external system, such as an external on-demand code execution environment. The remote interface may periodically retrieve calls from the external system, and generate corresponding call messages on the coordinator to cause executions of called tasks. The remote interface can further obtain outputs of such executions, and report those outputs to the external system.
    Type: Application
    Filed: November 28, 2016
    Publication date: May 31, 2018
    Inventors: Cheng Pan, Calvin Yue-Ren Kuo, Jonathan I. Turow, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan
  • Publication number: 20180150318
    Abstract: Systems and methods are described for configuring a coordinator within a coordinated environment, which environment includes set of coordinated devices managed by the coordinator. The coordinated devices may include devices configured to be managed remotely, such as thin devices, devices with alternative primary functions (e.g., appliances, household objects, etc.), or devices with limited localized user interfaces. To manage the set of coordinated devices, the coordinator can execute tasks, each task corresponding to a set of portable code executable by the coordinator to implement a desired functionality. A user may generate one or more tasks, and submit them to a service provider environment for deployment to the coordinator. The service provider environment can utilize a device shadow to notify the coordinator of the obtained tasks, and thereafter deliver the tasks to the coordinator, thus modifying a configuration of the coordinator.
    Type: Application
    Filed: November 28, 2016
    Publication date: May 31, 2018
    Inventors: Calvin Yue-Ren Kuo, Rudresh Amin, Yen-Lin Chen, Jonathan I. Turow, Cheng Pan, Dmytro Taran, Naveen Kumar Aitha, Ambuj Tandon, Kyunghwan Choi, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan, Mark Edward Rafn
  • Publication number: 20180152406
    Abstract: Systems and methods are described for management of data transmitted between computing devices in a communication network. An administrative component can configure one or more devices in the communication path of messages to be exchanged by devices to interpret codes embedded in the communication messages. A receiving device can review incoming messages and process the message to determine how the communication message will be routed or otherwise processed according to business rules or logic.
    Type: Application
    Filed: November 28, 2016
    Publication date: May 31, 2018
    Inventors: Calvin Yue-Ren Kuo, Jonathan I. Turow, Kyunghwan Choi, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan, Mark Edward Rafn
  • Publication number: 20180152401
    Abstract: Systems and methods are described for management of data transmitted between computing devices in a communication network. An administrative component can configure one or more devices in the communication path of messages to be exchanged by devices to interpret codes embedded in the communication messages. A receiving device can review incoming messages for security information. The receiving devices can then process the message based on the security information to determine how the communication message will be routed or otherwise processed.
    Type: Application
    Filed: November 28, 2016
    Publication date: May 31, 2018
    Inventors: Ambuj Tandon, Calvin Yue-Ren Kuo, Jonathan I. Turow, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan, Mark Edward Rafn
  • Patent number: 9973593
    Abstract: A computing environment is disclosed that receives from devices requests directed toward services accessible in the environment, and that forwards communications from services in the environment to devices registered with the environment. During a registration process at the environment, devices are assigned a device identifier that is used to identify and authenticate each particular device and requests communicated from and to the device via the environment. The computing environment maintains state information for each device that has been registered with the system. As the device interacts with the system, the state information is updated to reflect the changes in the device. When requests to perform functions are received from devices, the computing environment determines for the particular device and the particular function requested what processing needs to be performed by the environment in response to the request.
    Type: Grant
    Filed: June 30, 2015
    Date of Patent: May 15, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: James Christopher Sorenson, III, Alan Conrad Rawcliffe, Shyam Krisnamoorthy, Jonathan I. Turow, Calvin Yue-Ren Kuo, Marco Argenti