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: 20220244980
    Abstract: 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: Application
    Filed: April 13, 2022
    Publication date: August 4, 2022
    Applicant: Google LLC.
    Inventors: Evan K Anderson, Cristian Petrescu-Prahova, Joseph S. Beda, III
  • Patent number: 11321110
    Abstract: 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: Grant
    Filed: March 11, 2019
    Date of Patent: May 3, 2022
    Assignee: Google LLC
    Inventors: Evan K. Anderson, Cristian Petrescu-Prahova, Joseph S. Beda, III
  • Publication number: 20210243155
    Abstract: 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: Application
    Filed: November 6, 2020
    Publication date: August 5, 2021
    Applicant: Google LLC
    Inventor: Evan K Anderson
  • Patent number: 10855652
    Abstract: 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: Grant
    Filed: October 12, 2018
    Date of Patent: December 1, 2020
    Assignee: Google LLC
    Inventor: Evan K. Anderson
  • Patent number: 10228959
    Abstract: 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: Grant
    Filed: July 19, 2011
    Date of Patent: March 12, 2019
    Assignee: Google LLC
    Inventors: Evan K. Anderson, Cristian Petrescu-Prahova, Joseph S. Beda, III
  • Patent number: 10122681
    Abstract: 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: Grant
    Filed: January 20, 2016
    Date of Patent: November 6, 2018
    Assignee: Google LLC
    Inventor: Evan K. Anderson
  • Patent number: 9798566
    Abstract: 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: Grant
    Filed: October 23, 2015
    Date of Patent: October 24, 2017
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, III., Craig I. McLuckie, Christopher L. Eck, Martin R. Gannholm, Evan K. Anderson, Matthew A. Mills
  • Patent number: 9740516
    Abstract: 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: Grant
    Filed: September 10, 2015
    Date of Patent: August 22, 2017
    Assignee: Google Inc.
    Inventors: Cristian Petrescu-Prahova, Christoph Kern, Evan K. Anderson, Joseph S. Beda, III
  • Patent number: 9448830
    Abstract: 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: Grant
    Filed: March 14, 2013
    Date of Patent: September 20, 2016
    Assignee: 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: 9419921
    Abstract: 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: Grant
    Filed: January 12, 2012
    Date of Patent: August 16, 2016
    Assignee: Google Inc.
    Inventor: Evan K. Anderson
  • Publication number: 20160048410
    Abstract: 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: Application
    Filed: October 23, 2015
    Publication date: February 18, 2016
    Inventors: Joseph S. Beda, III, Craig I. McLuckie, Christopher L. Eck, Martin R. Gannholm, Evan K. Anderson, Matthew A. Mills
  • Patent number: 9258271
    Abstract: 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: Grant
    Filed: January 13, 2012
    Date of Patent: February 9, 2016
    Assignee: Google Inc.
    Inventor: Evan K. Anderson
  • Patent number: 9231933
    Abstract: 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: Grant
    Filed: September 9, 2013
    Date of Patent: January 5, 2016
    Assignee: Google Inc.
    Inventors: Vittaldas Sachin Shenoy, Pankaj Risbood, Vivek Sahasranaman, Christoph Kern, Evan K. Anderson
  • Patent number: 9178698
    Abstract: 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: Grant
    Filed: December 21, 2012
    Date of Patent: November 3, 2015
    Assignee: Google Inc.
    Inventors: Omar S. Jarjur, Evan K. Anderson
  • Patent number: 9170834
    Abstract: 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: Grant
    Filed: October 31, 2012
    Date of Patent: October 27, 2015
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, Craig I. McLuckie, Christopher L. Eck, Martin R. Gannholm, Evan K. Anderson, Mathew A. Mills
  • Patent number: 9135037
    Abstract: 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: Grant
    Filed: January 13, 2012
    Date of Patent: September 15, 2015
    Assignee: Google Inc.
    Inventors: Cristian Petrescu-Prahova, Christoph Kern, Evan K. Anderson, Joseph S. Beda, III
  • Patent number: 8958293
    Abstract: 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: Grant
    Filed: December 6, 2011
    Date of Patent: February 17, 2015
    Assignee: Google Inc.
    Inventor: Evan K. Anderson
  • Patent number: 8874888
    Abstract: Techniques and systems for managed boot are described. A described technique includes creating, at a server system, a boot image based on one or more user-specified parameters associated with virtual machine booting, providing a first virtual drive that includes the boot image, booting a virtual machine using the boot image on the first virtual drive, and providing a second virtual drive to the virtual machine, where the virtual machine mounts the second virtual drive as a root file system.
    Type: Grant
    Filed: January 5, 2012
    Date of Patent: October 28, 2014
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, III, Sanjeet Singh Mehat, Robert H. Earhart, III, Andrew Thornton, David T. McWherter, Evan K. Anderson, Frank Berreth
  • Publication number: 20140282510
    Abstract: 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: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Inventors: Evan K. Anderson, Alexander Mohr, Joseph S. Beda, III, Michael H. Waychison, Cory T. Maccarrone, Eric R. Northup, Sanjeet Singh Mehat
  • Patent number: 8533343
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for implementing virtual network pairs between virtual machines and other devices. In one aspect, a method includes receiving a plurality of outgoing packets from one or more source virtual machines executing on the data processing apparatus, each source virtual machine being a hardware virtualization of the data processing apparatus and each packet destined for a destination virtual machine; establishing a plurality of virtual network pairs, one for each unique pair of source and destination virtual machines, wherein establishing the plurality of virtual network pairs comprises obtaining, from an external data processing apparatus, a different network address for each destination virtual machine; encapsulating each outgoing packet in a message; and sending each message to the destination virtual machine for the respective packet by sending the message to the respective network destination address.
    Type: Grant
    Filed: May 31, 2012
    Date of Patent: September 10, 2013
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, III, Cristian Petrescu-Prahova, Christoph Kern, Evan K. Anderson