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).
-
Patent number: 10198319Abstract: A storage manager may be used to perform a coding operation (e.g., an encoding operation or a decoding operation) on a data object using a refined version of a coding matrix in a storage system, such as an object-redundant storage system. The coding operation may include identifying a coding matrix for the data object and retrieving a refined version of the identified coding matrix from a data store of pre-refined coding matrices. The refined version of the coding matrix may identify two or more computations to be performed as part of the coding operation, where the two or more computations have common terms and operations. The coding operation may include determining one or more precomputed results of the two or more identified computations. The precomputed results may be used instead of performing the computations when performing the coding operation.Type: GrantFiled: December 15, 2014Date of Patent: February 5, 2019Assignee: Amazon Technologies Inc.Inventors: Mark Robert Sieklucki, James Christopher Sorenson, III, Rajesh Shanker Patel, Dave Rahmany
-
Patent number: 10198317Abstract: A storage manager may be used to perform a refinement operation on a coding matrix as part of a coding operation (e.g., an encoding operation or a decoding operation) in a storage system, such as an object-redundant storage system. The refinement operation may include identifying a plurality of computations to be performed as part of the coding operation, where the plurality of computations have common terms and operations. The refinement operation may include refining a coding matrix associated with the coding operation based on the identified computations and precomputing the identified computations. The precomputed computations may be used instead of performing the computations when performing the coding operation.Type: GrantFiled: November 17, 2014Date of Patent: February 5, 2019Assignee: Amazon Technologies Inc.Inventors: James Christopher Sorenson, III, Mark Robert Sieklucki, Rajesh Shanker Patel, Dave Rahmany
-
Patent number: 10193839Abstract: 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: GrantFiled: November 28, 2016Date of Patent: January 29, 2019Assignee: Amazon Technologies, IncInventors: Ambuj Tandon, Calvin Yue-Ren Kuo, Jonathan I. Turow, Marc John Brooker, James Christopher Sorenson, III, Weili Zhong McClenahan, Mark Edward Rafn
-
Patent number: 10180953Abstract: Methods and apparatus for receiving uploaded data from a sender at a receiver. A data deduplication technique is described that may reduce the bandwidth used in uploading data from the sender to the receiver. In the technique, the receiver, rather than the sender, maintains a fingerprint dictionary for previously uploaded data. When a sender has additional data to be uploaded, the sender extracts fingerprints for units of the data and sends the fingerprints to the receiver. The receiver checks its fingerprint dictionary to determine the data units to be uploaded and notifies the sender of the identified units, which then sends the identified units of data to the receiver. The technique may, for example, be applied in virtualized data store systems to reduce bandwidth usage in uploading data.Type: GrantFiled: January 26, 2015Date of Patent: January 15, 2019Assignee: Amazon Technologies Inc.Inventor: James Christopher Sorenson, III
-
Publication number: 20180375928Abstract: 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 according to a per-flow hashed multipath routing technique. For a given packet flow, the LB nodes randomly select a server node as a target for the packet flow from among multiple server nodes and send a connection request to the server node. A load balancer module on the server node makes the decision on whether to accept or reject the connection based on one or more metrics indicating a respective server's current load. If the module accepts the connection request, a connection is established between the server and the client. Otherwise, the load balancer nodes may select another server node and try again. The connections established between clients and servers pass through the load balancer nodes, but are not terminated at the load balancer nodes.Type: ApplicationFiled: August 31, 2018Publication date: December 27, 2018Applicant: Amazon Technologies, Inc.Inventors: James Christopher Sorenson, III, Douglas Stewart Laurence, Venkatraghavan Srinivasan, Akshay Suhas Vaidya, Fan Zhang
-
Publication number: 20180359177Abstract: A distributed load balancer in which a router receives packets from at least one client and routes packet flows to multiple load balancer nodes. The router exposes a public IP address and the load balancer nodes all advertise the same public IP address to the router. The router may implement a per-flow hashed multipath routing technique, for example an equal-cost multipath (ECMP) routing technique, to distribute the flows across the load balancer nodes. Thus, the multiple load balancer nodes may service a single public endpoint. The load balancer nodes may advertise to the router according to the Border Gateway Protocol (BGP). Rather than advertising itself, however, a load balancer node may be advertised to the router by one or more neighbor load balancer nodes; the neighbor nodes may terminate the BGP sessions with the router in response to determining that the load balancer node has failed.Type: ApplicationFiled: July 27, 2018Publication date: December 13, 2018Applicant: Amazon Technologies, Inc.Inventors: James Christopher Sorenson, III, Douglas Stewart Laurence, Neha Shetty
-
Patent number: 10135914Abstract: A connection publishing 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. A load balancer (LB) module on each server node determines and publishes a list of active connections between client(s) and the server (a connection publishing packet) back to the LB nodes. The LB module may randomly select a LB node to receive the packet. Upon receiving the packet, the LB node processes the connection information in the packet, distributing the connection information among appropriate LB nodes. Receiving the connection publishing information from the server nodes refreshes leases for the connections on the LB nodes.Type: GrantFiled: April 16, 2013Date of Patent: November 20, 2018Assignee: Amazon Technologies, Inc.Inventors: James Christopher Sorenson, III, Douglas Stewart Laurence, Venkatraghavan Srinivasan, Akshay Suhas Vaidya
-
Patent number: 10129337Abstract: Methods, apparatus, and computer-accessible storage media for providing a volume-based block storage service and application programming interfaces (APIs) to the service. A block storage service and block storage service APIs may allow processes (applications or appliances) on the service client network to leverage remote, volume-based block storage provided by the service provider. The APIs may provide a standard interface to volume-based block storage operations on a remote data store. The service provider, the service clients, and/or third parties may develop various applications and/or appliances that may, for example, be instantiated in service clients' local networks and that leverage the block storage service via the APIs to create and manage volumes and snapshots on the remote data store and to upload and download data from the volumes and snapshots on the remote data store.Type: GrantFiled: April 24, 2017Date of Patent: November 13, 2018Assignee: Amazon Technologies, Inc.Inventors: Yun Lin, James Christopher Sorenson, III, David C. Salyers
-
Patent number: 10120579Abstract: Techniques for implementing a data management scheme for optimizing data storage are described herein. A deletion quantity or other metric relating to deletions of data within a first storage zone are tracked. Upon detection that the tracked deletion metric meets certain criteria, the data within the first storage zone are moved to a second storage zone. A verification of the data to be moved is also performed, and if such verification indicates that at least a portion of the data is corrupted, routines repairing and/or restoring at least the corrupted portion are initiated.Type: GrantFiled: August 8, 2012Date of Patent: November 6, 2018Assignee: Amazon Technologies, Inc.Inventors: Kestutis Patiejunas, Colin L. Lazier, James Christopher Sorenson, III
-
Patent number: 10091329Abstract: 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: GrantFiled: June 30, 2015Date of Patent: October 2, 2018Assignee: Amazon Technologies, Inc.Inventors: Calvin Yue-Ren Kuo, James Christopher Sorenson, III, Alan Conrad Rawcliffe, Shyam Krishnamoorthy, Jonathan I. Turow, Marco Argenti
-
Patent number: 10075422Abstract: 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: GrantFiled: June 30, 2015Date of Patent: September 11, 2018Assignee: 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
-
Patent number: 10069903Abstract: 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 according to a per-flow hashed multipath routing technique. For a given packet flow, the LB nodes randomly select a server node as a target for the packet flow from among multiple server nodes and send a connection request to the server node. A load balancer module on the server node makes the decision on whether to accept or reject the connection based on one or more metrics indicating a respective server's current load. If the module accepts the connection request, a connection is established between the server and the client. Otherwise, the load balancer nodes may select another server node and try again. The connections established between clients and servers pass through the load balancer nodes, but are not terminated at the load balancer nodes.Type: GrantFiled: April 16, 2013Date of Patent: September 4, 2018Assignee: Amazon Technologies, Inc.Inventors: James Christopher Sorenson, III, Douglas Stewart Laurence, Venkatraghavan Srinivasan, Akshay Suhas Vaidya, Fan Zhang
-
Publication number: 20180227388Abstract: 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: ApplicationFiled: February 1, 2018Publication date: August 9, 2018Inventors: Calvin Yue-Ren Kuo, James Christopher Sorenson, III, Alan Conrad Rawcliffe, Shyam Krishnamoorthy, Jonathan I. Turow, Marco Argenti
-
Patent number: 10038626Abstract: A distributed load balancer in which a router receives packets from at least one client and routes packet flows to multiple load balancer nodes. The router exposes a public IP address and the load balancer nodes all advertise the same public IP address to the router. The router may implement a per-flow hashed multipath routing technique, for example an equal-cost multipath (ECMP) routing technique, to distribute the flows across the load balancer nodes. Thus, the multiple load balancer nodes may service a single public endpoint. The load balancer nodes may advertise to the router according to the Border Gateway Protocol (BGP). Rather than advertising itself, however, a load balancer node may be advertised to the router by one or more neighbor load balancer nodes; the neighbor nodes may terminate the BGP sessions with the router in response to determining that the load balancer node has failed.Type: GrantFiled: April 16, 2013Date of Patent: July 31, 2018Assignee: Amazon Technologies, Inc.Inventors: James Christopher Sorenson, III, Douglas Stewart Laurence
-
Patent number: 10027712Abstract: Embodiments may include a load balancer that receives a request packet sent by a remote client to an original destination address of multiple network addresses serviced by the load balancer, and selects according to a load balancing protocol, a host computer of a plurality of host computers to process the request. The load balancer may, from among a plurality of ports on the selected host computer, select a particular port having a one-to-one association with the original destination address, the association specified by mapping information accessible to the load balancer, and send the request packet to the selected port on the selected host computer. The mapping information accessible to the selected host computer specifies a one-to-one association between the selected port and the original destination address. Sending the request packet to the selected port conveys that address to the selected server without that address being included in that packet.Type: GrantFiled: August 18, 2014Date of Patent: July 17, 2018Assignee: Amazon Technologies, Inc.Inventors: James Christopher Sorenson, III, David Carl Salyers
-
Publication number: 20180199204Abstract: 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: ApplicationFiled: March 5, 2018Publication date: July 12, 2018Applicant: Amazon Technologies, Inc.Inventors: Kyle Michael Roche, James Christopher Sorenson, III
-
Patent number: 10003527Abstract: A device is described for assisting network technicians and other users with network cabling. The device can be provided to a technician, where the technician plugs a loose cable end into the device, and if the other end of the cable is attached to a switch (e.g. Euclid switch), the device indicates to the technician via a display where on the network the cable should be plugged in (which port on which switch). When the device is connected to a switch via a cable, the switch can make available its information to the device. The device can also consult a data store to determine where the other end should be attached. The information that is used to determine where the cable should be attached can include the number of layers in the network; the number of switches in each layer; and the number of ports on the switches.Type: GrantFiled: January 26, 2012Date of Patent: June 19, 2018Assignee: Amazon Technologies, Inc.Inventor: James Christopher Sorenson, III
-
Publication number: 20180157997Abstract: A system capable of identifying and locking resources (e.g., items, tickets, etc.) may map resources to a bit vector and use bit vectors to efficiently identify and lock the resources. For example, tickets to a concert may be mapped to a bit vector and the system may generate an availability bit vector indicating an availability of the seat locations. Thus, the tickets may be reserved by changing a binary value for bits corresponding to individual tickets. In addition, the system may generate bit vectors corresponding to metadata associated with the seat locations (e.g., aisle seat, handicap accessible, first ten rows, back ten rows, etc.), allowing the system to easily identify available seat locations that satisfy the search request. As the bit vectors are relatively small and can be processed easily, the system may improve a latency and reduce an error rate associated with searching for and reserving seat locations.Type: ApplicationFiled: December 6, 2016Publication date: June 7, 2018Inventors: Steve Huynh, Owen Cummings, Karl Gohde, Antonio Gabriel Perez de Tejada Martinez, Adam Douglas Morley, Graham Pedersen, James Christopher Sorenson, III
-
Publication number: 20180157998Abstract: A system capable of identifying and locking resources (e.g., items, tickets, etc.) may map resources to a bit vector and use bit vectors to efficiently identify and lock the resources. For example, tickets to a concert may be mapped to a bit vector and the system may generate an availability bit vector indicating an availability of the seat locations. Using bit vectors, the system may easily identify available seat locations that satisfy a search request and may select from the available seat locations using an optimization technique. For example, the system may select groups of seats that are next to unavailable seat locations or avoid selling groups of seats that would leave only a single seat available. Thus, the system may avoid fragmentation of ticket sales while improving a latency associated with searching for and reserving seat locations.Type: ApplicationFiled: December 6, 2016Publication date: June 7, 2018Inventors: Steve Huynh, Owen Cummings, Karl Gohde, Antonio Gabriel Perez de Tejada Martinez, Adam Douglas Morley, Graham Pedersen, James Christopher Sorenson, III
-
Patent number: 9990147Abstract: Methods and apparatus for optimizing resource utilization in distributed storage systems. A data migration technique is described that may operate in the background in a distributed storage data center to migrate data among a fleet of storage units to achieve a substantially even and randomized data storage distribution among all storage units in the fleet. When new storage units are added to the fleet and coupled to the data center network, the new storage units are detected. Instead of processing and storing new data to the newly added storage units, as in conventional distributed storage systems, the new units are blocked from general client I/O to allow the data migration technique to migrate data from other, previously installed storage hardware in the data center onto the new storage hardware. Once the storage load on the new storage units is balanced with the rest of the fleet, the new storage units are released for general client I/O.Type: GrantFiled: April 27, 2015Date of Patent: June 5, 2018Assignee: Amazon Technologies, Inc.Inventors: James Christopher Sorenson, III, Gang He, Saurabh Goel