Patents by Inventor James Christopher Sorenson, III

James Christopher Sorenson, III 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: 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: 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: 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: 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: 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
  • Publication number: 20180152501
    Abstract: Methods, apparatus, and computer-accessible storage media for remotely managing a gateway that serves as an interface between processes on a customer network and a service provider, for example to store data to a remote data store. The gateway sends a connection request to a gateway control server. The server holds the connection until the server receives information (e.g., information from the customer sent via the service provider) for the gateway. The server sends the information as requests via the gateway-initiated connection, and continues to hold the connection. If a server receives information for a gateway to which it does not hold a connection, the server sends the information to the server that does hold the connection. The server may either discover the appropriate server via a registration service that registers connections to gateways or broadcast the information to peer servers identified through a registration service.
    Type: Application
    Filed: January 8, 2018
    Publication date: May 31, 2018
    Applicant: Amazon Technologies, Inc.
    Inventors: James Christopher Sorenson, III, Yun Lin, David Carl Salyers, Ankur Khetrapal, Nishanth Alapati
  • 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
  • Patent number: 9934824
    Abstract: A system for storing data includes a rack, one or more data storage drive assemblies coupled to the rack, and a data control module coupled to the rack. The data storage drive assemblies include one or more drive mechanical modules configured to store data and one or more drive control modules coupled to the drive mechanical modules. The drive control modules control mechanical operations in the drive mechanical modules. The drive mechanical modules and the associated drive control modules are separable from one another without removing the other module from the at least one data storage drive assembly.
    Type: Grant
    Filed: December 30, 2016
    Date of Patent: April 3, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: James Christopher Sorenson, III, Colin Laird Lazier, Kestutis Patiejunas
  • Publication number: 20180091391
    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: June 30, 2015
    Publication date: March 29, 2018
    Inventors: Jonathan I. Turow, Calvin Yue-Ren Kuo, James Christopher Sorenson, III, Alan Conrad Rawcliffe, Shyam Krishnamoorthy, Marco Argenti
  • Publication number: 20180091621
    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: June 30, 2015
    Publication date: March 29, 2018
    Inventors: Calvin Yue-Ren Kuo, James Christopher Sorenson, III, Alan Conrad Rawcliffe, Shyam Krishnamoorthy, Jonathan I. Turow, Marco Argenti
  • Publication number: 20180083836
    Abstract: A technology is described for operating a device shadowing service that manages commands associated with groups of device representations. An example method may include receiving a group command associated with a group of device representations managed by a device shadowing service. Device representations included in the group of device representations represent physical devices that connect to the device shadowing service over one or more computer networks. In response to the group command, the device representations included in the group of device representations may be identified and an instruction to perform an action indicated by the group command may be sent to the physical devices represented by the device representations. Thereafter, indications may be received that at least a portion of the physical devices performed the action.
    Type: Application
    Filed: September 19, 2016
    Publication date: March 22, 2018
    Inventors: Calvin Yue-Ren Kuo, William Alexander Stevenson, Mark Edward Rafn, James Christopher Sorenson, III, Jonathan I. Turow, Shyam Krishnamoorthy
  • Patent number: 9913143
    Abstract: A provisioning device may be shipped to a client and used to automatically provision an IoT device to join a local network to communicate with a remote service provider. In response to a trigger input, the provisioning device creates a wireless hotspot that is recognizable by an IoT device as a provisioning hotspot. The provisioning device receives a signal from the IoT device indicating that the IoT device is available to be provisioned. The provisioning device obtains provisioning data and transmits the provisioning data to the IoT device. The IoT device uses the provisioning data to connect to a local wireless network and to establish a connection to the remote service provider. The IoT device may then use one or more IoT services of the service provider.
    Type: Grant
    Filed: November 28, 2016
    Date of Patent: March 6, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Kyle Michael Roche, James Christopher Sorenson, III
  • Patent number: 9898474
    Abstract: A host-side network processing device coupled between a storage system and a host machine may encode a data object according to a sharding technique. Encoding the data object may include receiving, from the host machine, a data object and a request to store the data object. The network processing device may send a request for a plurality of storage locations to the storage system. The network processing device may receive a location list including a plurality of location identifiers from the storage system, where each location identifier corresponds to a respective storage location. The network processing device may determine an encoding matrix and encode the data object into a plurality of shards based on the encoding matrix according to a sharding technique. The network processing device may generate a plurality of storage requests that each specify a different location identifier and that each includes a respective shard.
    Type: Grant
    Filed: January 5, 2015
    Date of Patent: February 20, 2018
    Assignee: Amazon Technologies, Inc.
    Inventor: James Christopher Sorenson, III
  • Patent number: 9886257
    Abstract: Methods, apparatus, and computer-accessible storage media for remotely updating an executing process that receives I/O requests on I/O port(s), stores write data to a write log on local storage, and uploads data from the write log to remote storage. An update for the process is detected and downloaded, and an updated process is instantiated from the update. The current process is directed to perform a shutdown for update during an update window. In response, the current process saves its current configuration, flushes an in-memory portion of the write log to local storage, and releases its I/O port(s). The updated process loads the saved configuration, detects that the port(s) have been released, and starts accepting I/O requests on the ports. During flushing, the current process flushes current data in memory while continuing to append new write data, stops accepting new write requests, and then flushes the new write data.
    Type: Grant
    Filed: April 21, 2014
    Date of Patent: February 6, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: James Christopher Sorenson, III, Yun Lin, Ivan Brugiolo
  • Patent number: 9875212
    Abstract: Systems and methods for managing cached information maintained in a distributed storage system are provided. Requests for information within the distributed storage system are directed to specific coordinators. Each coordinator can maintain cached version of information maintained at various information sources within the distributed storage system. To manage the cache, the system can utilize generation identifiers that identify the component within the distributed storage system that last updated information sources. Each coordinator can determine whether cached version of information is valid based on an analysis of generation identifiers.
    Type: Grant
    Filed: January 27, 2014
    Date of Patent: January 23, 2018
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventors: James Christopher Sorenson, III, Gunavardhan Kakulapati, Jason G. McHugh, Allan H. Vermeulen
  • Patent number: 9871712
    Abstract: A health check method for a distributed load balancer in which a router receives packets from at least one client and routes packet flows to multiple load balancer (LB) nodes, which in turn distribute the packet flows among multiple server nodes. Each LB node may be responsible for health checking one or more other LB nodes. In addition, each LB node may health check one or more of the server nodes. Heartbeat information for the nodes may be disseminated among the LB nodes according to a gossip protocol. The LB nodes may send LB node membership information to the server nodes. Failure of a node may be detected by the LB nodes according to the heartbeat information, and appropriate actions taken.
    Type: Grant
    Filed: April 16, 2013
    Date of Patent: January 16, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: James Christopher Sorenson, III, Douglas Stewart Laurence, Neha Shetty
  • Patent number: 9866622
    Abstract: Methods, apparatus, and computer-accessible storage media for remotely managing a gateway that serves as an interface between processes on a customer network and a service provider, for example to store data to a remote data store. The gateway sends a connection request to a gateway control server. The server holds the connection until the server receives information (e.g., information from the customer sent via the service provider) for the gateway. The server sends the information as requests via the gateway-initiated connection, and continues to hold the connection. If a server receives information for a gateway to which it does not hold a connection, the server sends the information to the server that does hold the connection. The server may either discover the appropriate server via a registration service that registers connections to gateways or broadcast the information to peer servers identified through a registration service.
    Type: Grant
    Filed: November 27, 2013
    Date of Patent: January 9, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: James Christopher Sorenson, III, Yun Lin, David Carl Salyers, Ankur Khetrapal, Nishanth Alapati
  • Patent number: 9858325
    Abstract: A data storage service distributes a plurality of data fragments corresponding to a data object among one or more data storage host groupings in a manner that avoids a possibility of correlated loss of multiple data fragments by consolidation of data of a data storage host grouping onto a single data storage host. The data storage service selects a data storage host grouping and determines an amount of used capacity for the selected data storage host grouping. If the selected grouping satisfies an emptiness threshold, the data storage service selects a data storage host from the grouping and consolidates one or more data sets of the grouping onto the selected data storage host. Subsequently, the data storage service updates metadata for each data storage host of the selected data storage host grouping to specify a location of data stored therein.
    Type: Grant
    Filed: September 29, 2014
    Date of Patent: January 2, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Claire E. Suver, Bryan James Donlan, Paul David Franklin, James Caleb Kirschner, James Christopher Sorenson, III
  • Patent number: 9846540
    Abstract: Methods and apparatus for data durability using un-encoded copies together with combination encodings are disclosed. Additional storage objects to be included in a durability group with a particular storage object are identified. An encoding of a combination of the particular object and another object of the group is generated. The encoding, as well as an un-encoded copy of the particular object, may be stored at respective nodes of a service. A request to perform a computation operation may be directed to a node with the un-encoded copy. In the event that the un-encoded copy becomes unavailable, a new un-encoded copy may be generated using the encoding.
    Type: Grant
    Filed: August 19, 2013
    Date of Patent: December 19, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Paul David Franklin, James Christopher Sorenson, III
  • Patent number: 9843630
    Abstract: Embodiments may include a load balancer configured to, for a given packet received from a remote client, select a host computer of a plurality of host computers according to a load balancing protocol, the selection based on load information updates received from the plurality of host computers. Each load information update may indicate a measure of the respective host computer's capacity to service additional connections with remote clients. The load balancer may provide the given packet to the selected host computer for processing by an application component on the selected host computer, and subsequent to determining that a specific application component on one of the plurality of host computers does not have capacity for additional connections based on the load information updates, continue to send packets for existing connections serviced by the specific application component to the respective host computer without sending packets for new connections to that host computer.
    Type: Grant
    Filed: June 8, 2015
    Date of Patent: December 12, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: James Christopher 'Sorenson, III, David Carl Salyers