Patents by Inventor Evan K. Anderson
Evan K. Anderson 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: 20240154930Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a packet from a client, the packet having header information including a destination Internet Protocol (IP) address, a destination port, a source IP address, and a source port, and wherein the source IP address and source port are associated with the client; selecting a destination virtual machine based on the destination port; modifying the packet by replacing the destination IP address in the header information with an IP address of the selected destination virtual machine; and sending the modified packet to the destination virtual machine.Type: ApplicationFiled: January 17, 2024Publication date: May 9, 2024Applicant: Google LLCInventor: Evan K. Anderson
-
Patent number: 11915033Abstract: Systems and techniques are described for virtual machine communication and migration. A described technique includes operating server systems that are configured to run virtual machines and providing a virtual network for Internet Protocol (IP) based communications to the virtual machines. The virtual machines can be assigned network addresses, such as IP addresses, on the virtual network. Providing the virtual network can include using separate IP tunnels to effect delivery of IP packets on the virtual network to the virtual machines, respectively. The technique includes migrating a virtual machine running on a first server system to a second server system. The migrated virtual machine can maintain its assigned IP address. The technique includes updating a tunnel endpoint destination associated with the assigned IP address of the migrated virtual machine. The updated tunnel endpoint destination can be based on a network address associated with the second server system.Type: GrantFiled: April 13, 2022Date of Patent: February 27, 2024Assignee: Google LLCInventors: Evan K. Anderson, Cristian Petrescu-Prahova, Joseph S. Beda, III
-
Patent number: 11909712Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a packet from a client, the packet having header information including a destination Internet Protocol (IP) address, a destination port, a source IP address, and a source port, and wherein the source IP address and source port are associated with the client; selecting a destination virtual machine based on the destination port; modifying the packet by replacing the destination IP address in the header information with an IP address of the selected destination virtual machine; and sending the modified packet to the destination virtual machine.Type: GrantFiled: November 6, 2020Date of Patent: February 20, 2024Assignee: Google LLCInventor: Evan K. Anderson
-
Publication number: 20220244980Abstract: Systems and techniques are described for virtual machine communication and migration A described technique includes operating server systems that are configured to run virtual machines and providing a virtual network for Internet Protocol (IP) based communications to the virtual machines. The virtual machines can be assigned network addresses, such as IP addresses, on the virtual network. Providing the virtual network can include using separate IP tunnels to effect delivery of IP packets on the virtual network to the virtual machines, respectively. The technique includes migrating a virtual machine running on a first server system to a second server system. The migrated virtual machine can maintain its assigned IP address. The technique includes updating a tunnel endpoint destination associated with the assigned IP address of the migrated virtual machine. The updated tunnel endpoint destination can be based on a network address associated with the second server system.Type: ApplicationFiled: April 13, 2022Publication date: August 4, 2022Applicant: Google LLC.Inventors: Evan K Anderson, Cristian Petrescu-Prahova, Joseph S. Beda, III
-
Patent number: 11321110Abstract: Systems and techniques are described for virtual machine communication and migration. A described technique includes operating server systems that are configured to run virtual machines and providing a virtual network for Internet Protocol (IP) based communications to the virtual machines. The virtual machines can be assigned network addresses, such as IP addresses, on the virtual network. Providing the virtual network can include using separate IP tunnels to effect delivery of IP packets on the virtual network to the virtual machines, respectively. The technique includes migrating a virtual machine running on a first server system to a second server system. The migrated virtual machine can maintain its assigned IP address. The technique includes updating a tunnel endpoint destination associated with the assigned IP address of the migrated virtual machine. The updated tunnel endpoint destination can be based on a network address associated with the second server system.Type: GrantFiled: March 11, 2019Date of Patent: May 3, 2022Assignee: Google LLCInventors: Evan K. Anderson, Cristian Petrescu-Prahova, Joseph S. Beda, III
-
Publication number: 20210243155Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a packet from a client, the packet having header information including a destination Internet Protocol (IP) address, a destination port, a source IP address, and a source port, and wherein the source IP address and source port are associated with the client; selecting a destination virtual machine based on the destination port; modifying the packet by replacing the destination IP address in the header information with an IP address of the selected destination virtual machine; and sending the modified packet to the destination virtual machine.Type: ApplicationFiled: November 6, 2020Publication date: August 5, 2021Applicant: Google LLCInventor: Evan K Anderson
-
Patent number: 10855652Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a packet from a client, the packet having header information including a destination Internet Protocol (IP) address, a destination port, a source IP address, and a source port, and wherein the source IP address and source port are associated with the client; selecting a destination virtual machine based on the destination port; modifying the packet by replacing the destination IP address in the header information with an IP address of the selected destination virtual machine; and sending the modified packet to the destination virtual machine.Type: GrantFiled: October 12, 2018Date of Patent: December 1, 2020Assignee: Google LLCInventor: Evan K. Anderson
-
Patent number: 10228959Abstract: Systems and techniques are described for virtual machine communication and migration. A described technique includes operating server systems that are configured to run virtual machines and providing a virtual network for Internet Protocol (IP) based communications to the virtual machines. The virtual machines can be assigned network addresses, such as IP addresses, on the virtual network. Providing the virtual network can include using separate IP tunnels to effect delivery of IP packets on the virtual network to the virtual machines, respectively. The technique includes migrating a virtual machine running on a first server system to a second server system. The migrated virtual machine can maintain its assigned IP address. The technique includes updating a tunnel endpoint destination associated with the assigned IP address of the migrated virtual machine. The updated tunnel endpoint destination can be based on a network address associated with the second server system.Type: GrantFiled: July 19, 2011Date of Patent: March 12, 2019Assignee: Google LLCInventors: Evan K. Anderson, Cristian Petrescu-Prahova, Joseph S. Beda, III
-
Patent number: 10122681Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a packet from a client, the packet having header information including a destination Internet Protocol (IP) address, a destination port, a source IP address, and a source port, and wherein the source IP address and source port are associated with the client; selecting a destination virtual machine based on the destination port; modifying the packet by replacing the destination IP address in the header information with an IP address of the selected destination virtual machine; and sending the modified packet to the destination virtual machine.Type: GrantFiled: January 20, 2016Date of Patent: November 6, 2018Assignee: Google LLCInventor: Evan K. Anderson
-
Patent number: 9798566Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for associating one or more of a plurality of metadata collections with one or more respective identifiers, wherein each metadata collection includes one or more pairings of metadata attributes with metadata values, and wherein each identifier is one of a project identifier, a tag identifier or an instance identifier; identifying, based on identifier information associated with a virtual machine instance, one or more metadata values to be provided to the virtual machine instance, wherein the identifier information specifies one or more of a project identifier, a tag identifier and an instance identifier, and wherein each identified metadata value belongs to a metadata collection associated with an identifier that is specified in the identifier information; and providing, to the virtual machine instance, the identified one or more metadata values.Type: GrantFiled: October 23, 2015Date of Patent: October 24, 2017Assignee: Google Inc.Inventors: Joseph S. Beda, III., Craig I. McLuckie, Christopher L. Eck, Martin R. Gannholm, Evan K. Anderson, Matthew A. Mills
-
Patent number: 9740516Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for implementing virtual network pairs between virtual machines and other devices.Type: GrantFiled: September 10, 2015Date of Patent: August 22, 2017Assignee: Google Inc.Inventors: Cristian Petrescu-Prahova, Christoph Kern, Evan K. Anderson, Joseph S. Beda, III
-
Patent number: 9448830Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for service bridges. In one aspect, a method includes a host operating system performs operations comprising: receiving, using one or more service bridges that execute in the host operating system, a plurality of requests from the one or more virtual machines, wherein each service bridge is associated with a different virtual machine of the one or more virtual machines, and wherein each request is a request to interface with one or more external services; modifying, using a respective service bridge, each request to be processed by the one or more external services; and providing each modified request from the respective service bridge to the one or more external services, where the respective service bridge communicates with the one or more external services over a network.Type: GrantFiled: March 14, 2013Date of Patent: September 20, 2016Assignee: Google Inc.Inventors: Evan K. Anderson, Alexander Mohr, Joseph S. Beda, III, Michael H. Waychison, Cory T. Maccarrone, Eric R. Northup, Sanjeet Singh Mehat
-
Patent number: 9419921Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving an outbound packet from a virtual machine executing on the data processing apparatus, the packet having header information including a destination Internet Protocol (IP) address, a destination port, a source IP address, and a source port, and wherein the source IP address and source port are associated with the virtual machine; selecting a different port than the source port from a plurality of ports associated with the virtual machine; changing the source port in the header information to the selected port; and sending the modified packet to an external network by way of a gateway that is configured to change the source IP address of the packet to an IP address of the gateway before routing the packet to its destination.Type: GrantFiled: January 12, 2012Date of Patent: August 16, 2016Assignee: Google Inc.Inventor: Evan K. Anderson
-
Publication number: 20160048410Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for associating one or more of a plurality of metadata collections with one or more respective identifiers, wherein each metadata collection includes one or more pairings of metadata attributes with metadata values, and wherein each identifier is one of a project identifier, a tag identifier or an instance identifier; identifying, based on identifier information associated with a virtual machine instance, one or more metadata values to be provided to the virtual machine instance, wherein the identifier information specifies one or more of a project identifier, a tag identifier and an instance identifier, and wherein each identified metadata value belongs to a metadata collection associated with an identifier that is specified in the identifier information; and providing, to the virtual machine instance, the identified one or more metadata values.Type: ApplicationFiled: October 23, 2015Publication date: February 18, 2016Inventors: Joseph S. Beda, III, Craig I. McLuckie, Christopher L. Eck, Martin R. Gannholm, Evan K. Anderson, Matthew A. Mills
-
Patent number: 9258271Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a packet from a client, the packet having header information including a destination Internet Protocol (IP) address, a destination port, a source IP address, and a source port, and wherein the source IP address and source port are associated with the client; selecting a destination virtual machine based on the destination port; modifying the packet by replacing the destination IP address in the header information with an IP address of the selected destination virtual machine; and sending the modified packet to the destination virtual machine.Type: GrantFiled: January 13, 2012Date of Patent: February 9, 2016Assignee: Google Inc.Inventor: Evan K. Anderson
-
Patent number: 9231933Abstract: In general, the subject matter described in this specification can be embodied in methods, systems, and program products for providing access to secured resources. A token providing system stores a primary authentication token that is used to obtain temporary authentication tokens. The token providing system provides, to application programs that are unable to access the primary authentication token, the temporary authentication tokens. The token providing system receives, from a first application program of the application programs, a first request to obtain a first temporary authentication token. The first request does not include the primary authentication token. The token providing system transmits a second request to obtain the first temporary authentication token. The second request includes the primary authentication token. The token providing system receives the first temporary authentication token.Type: GrantFiled: September 9, 2013Date of Patent: January 5, 2016Assignee: Google Inc.Inventors: Vittaldas Sachin Shenoy, Pankaj Risbood, Vivek Sahasranaman, Christoph Kern, Evan K. Anderson
-
Patent number: 9178698Abstract: Methods, systems, and apparatus, including computer programs, for managing keys for virtual machines (VM). One method includes receiving a first public key associated with a first user from a first client machine (CM), receiving a second public key associated with a second user from a second CM, and updating metadata associated with a project that includes a first VM and a second VM to include the first and the second public keys. The first public key and a corresponding first private key were generated on the first CM in response to a determination that the first CM lacked a private key for communication with the first VM by the first user. The second public key and a corresponding second private key were generated on the second CM in response to a determination that the second CM lacked a private key for communication with the second VM by the second user.Type: GrantFiled: December 21, 2012Date of Patent: November 3, 2015Assignee: Google Inc.Inventors: Omar S. Jarjur, Evan K. Anderson
-
Patent number: 9170834Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for associating one or more of a plurality of metadata collections with one or more respective identifiers, wherein each metadata collection includes one or more pairings of metadata attributes with metadata values, and wherein each identifier is one of a project identifier, a tag identifier or an instance identifier; identifying, based on identifier information associated with a virtual machine instance, one or more metadata values to be provided to the virtual machine instance, wherein the identifier information specifies one or more of a project identifier, a tag identifier and an instance identifier, and wherein each identified metadata value belongs to a metadata collection associated with an identifier that is specified in the identifier information; and providing, to the virtual machine instance, the identified one or more metadata values.Type: GrantFiled: October 31, 2012Date of Patent: October 27, 2015Assignee: Google Inc.Inventors: Joseph S. Beda, Craig I. McLuckie, Christopher L. Eck, Martin R. Gannholm, Evan K. Anderson, Mathew A. Mills
-
Patent number: 9135037Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving an outgoing packet from a source virtual machine; obtaining a secret key for the source virtual machine, the secret key not being known by a destination virtual machine; obtaining a unique token derived at least partly from the secret key and a network address of the destination virtual machine; encapsulating the outgoing packet in a second packet along with the token and a token expiration time; and sending the second packet to the destination virtual machine.Type: GrantFiled: January 13, 2012Date of Patent: September 15, 2015Assignee: Google Inc.Inventors: Cristian Petrescu-Prahova, Christoph Kern, Evan K. Anderson, Joseph S. Beda, III
-
Patent number: 8958293Abstract: Systems and techniques are described for virtual machine (VM) load-balancing. A described technique includes running VMs that communicate via a virtual network, the VMs being configured to handle requests associated with at least a destination address on a public network and operating gateways that provide connectivity between the virtual network and the public network, and use a consistent mapping operation to perform load-balancing among the VMs. A gateway can obtain VM health information; determine based on the VM health information a group of healthy VMs; receive an incoming packet that includes a source address and the destination address; select a handling VM based on an output of the consistent mapping operation given the source address and the group of healthy VMs; forward the incoming packet to the handling VM via the virtual network; and create an entry to forward one or more additional incoming packets to the handling VM.Type: GrantFiled: December 6, 2011Date of Patent: February 17, 2015Assignee: Google Inc.Inventor: Evan K. Anderson