Patents by Inventor Joseph S. Beda, III

Joseph S. Beda, 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: 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
  • 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: 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: 9619662
    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 associating each of a plurality of different virtual machine network addresses with a respective host machine network address; receiving, from a sender, a request for a source virtual machine to communicate with a destination virtual machine; determining that the source virtual machine is authorized to communicate with the destination virtual machine; selecting, from the associations, a host machine network address for the destination virtual machine; generating a token based at least partly on the selected host machine network address and on a secret key of the destination virtual machine, wherein the secret key is not known by the source virtual machine; and sending the selected host machine network address and generated token to the sender.
    Type: Grant
    Filed: January 11, 2012
    Date of Patent: April 11, 2017
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, III, Cristian Petrescu-Prahova, Christoph Kern
  • Patent number: 9535742
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for clustering for parallel processing. One of the methods includes providing virtual machines with an interface to a shuffle service, the shuffle service executing external of the virtual machines. The method includes receiving data records through the interface, each data record having a key and a value. The method includes partitioning the data records, using the shuffle service, according to the respective keys. The method includes providing a part of the partitioned data records through the interface to the virtual machines, wherein data records having the same key are provided to the same virtual machine. Each of the virtual machines can execute on a host machine and each of the virtual machine is a hardware virtualization of a machine.
    Type: Grant
    Filed: May 6, 2016
    Date of Patent: January 3, 2017
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, III, Grzegorz J. Czajkowski, Yonggang Zhao
  • 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: 9430255
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for maintaining virtual machine metadata. One of the methods includes initializing a first virtual machine (VM) on a first host machine using one or more elements of user-specified initialization metadata. Upon receiving a notification that the first VM has published one or more elements of VM-generated metadata, one or more elements of VM-generated metadata are obtained. A request is received for the one or more elements of VM-generated metadata, and the one or more elements of VM-generated metadata are provided in response to the request.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: August 30, 2016
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, III, Craig I. McLuckie, Christopher L. Eck
  • Patent number: 9336024
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for clustering for parallel processing. One of the methods includes providing virtual machines with an interface to a shuffle service, the shuffle service executing external of the virtual machines. The method includes receiving data records through the interface, each data record having a key and a value. The method includes partitioning the data records, using the shuffle service, according to the respective keys. The method includes providing a part of the partitioned data records through the interface to the virtual machines, wherein data records having the same key are provided to the same virtual machine. Each of the virtual machines can execute on a host machine and each of the virtual machine is a hardware virtualization of a machine.
    Type: Grant
    Filed: December 27, 2012
    Date of Patent: May 10, 2016
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, III, Grzegorz J. Czajkowski, Jerry Zhao
  • Patent number: 9292319
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for implementing a global computing interface. One of the methods includes maintaining a global database of virtual machine configuration information, the database including information on cloud computing resources in each of a plurality of regions, wherein each region of the plurality of regions includes one or more datacenters. A virtual machine image is received in a first region. The global database is updated with configuration information about the received virtual machine image that is stored in the first region. A request is received to start one or more virtual machines from the virtual machine image in a second different region, and the virtual machine image is transmitted from the first region to the second region and one or more virtual machines are started from the virtual machine image in a datacenter of the second different region.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 22, 2016
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, III, Cristian Petrescu-Prahova, Vishesh Khemani
  • Patent number: 9286092
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing images of virtual machine virtual disks. One of the methods includes receiving a request from a first user to save a first virtual machine (VM) disk image, wherein the first VM disk image is an image of a virtual disk of a first VM instance and captures an application and operating system configuration of the first VM instance; in response to the request, providing data identifying a plurality of image tracks to the first user, wherein each image track is a collection of VM disk images; receiving data from the first user identifying a first image track of the plurality of image tracks; and adding the first VM disk image to the first image track, comprising associating data identifying the first VM disk image with data identifying the first image track.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 15, 2016
    Assignee: Google Inc.
    Inventor: Joseph S. Beda, III
  • 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: 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: 8983860
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for an advertisement auction system. In one aspect, a method includes operating bidders on a data processing apparatus, each bidder executing in a distinct virtual machine, wherein a host operating system that executes on the data processing apparatus performs operations including: receiving an advertisement bid request from a requestor using a first communication protocol, the bid request identifying a bidder, the data processing apparatus and the ad exchange being on a same internal network; sending the advertisement bid request to the virtual machine of the identified bidder using a second communication protocol; receiving an advertisement bid response for the bid request from the identified bidder using the second communication protocol; and sending the advertisement bid response to the requestor using the first communication protocol.
    Type: Grant
    Filed: January 30, 2012
    Date of Patent: March 17, 2015
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, III, Craig I. McLuckie
  • Patent number: 8909939
    Abstract: Methods, systems, and apparatuses, including computer programs encoded on a computer storage medium, for distribution of cryptographic keys. In one aspect, a method includes receiving a plurality of requests, each request being received by a different respective virtual machine of a plurality of virtual machines; generating, by each of the virtual machines, a different host key pair, wherein each of the host key pairs comprises an encryption key and a decryption key that are associated with the virtual machine that generated it; providing, by each of the virtual machines, the encryption key generated by the virtual machine to a distinct metadata server that stores parameters of the virtual machine; and sending, from each of the metadata servers, the encryption key generated by the virtual machine that the metadata server is configured to communicate with to an application programming interface system.
    Type: Grant
    Filed: April 4, 2012
    Date of Patent: December 9, 2014
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, III, Brandon S. Baker
  • 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
  • Patent number: 8862743
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for managing resources in a computing system. A plurality of distributed computing system resources are represented as nodes in a graph. Links between the nodes are defined, where each link in the links representing ownership or usage by a parent node of a respective resource represented by a child node. A message is sent from a source node in the graph to a target node in the graph wherein the source node is linked directly or indirectly to the target node. The message is processed by a message handler task associated with the target node, wherein processing includes allocating or deallocating a respective resource represented by the target node.
    Type: Grant
    Filed: January 12, 2012
    Date of Patent: October 14, 2014
    Assignee: Google Inc.
    Inventors: Cristian Petrescu-Prahova, Joseph S. Beda, III, Vishesh Khemani, Robert A. Horn
  • Patent number: 8843925
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, relating to managing resources. In one aspect, a method includes the actions of receiving configuration information, the configuration information specifying a plurality of parameter values including values for a size and input/output performance parameters, where the size and performance parameters are independently specified by a user; determining one or more physical resources that satisfy the received configuration information; and generating one or more virtual disk instances having the specified size and performance parameters.
    Type: Grant
    Filed: November 15, 2011
    Date of Patent: September 23, 2014
    Assignee: Google Inc.
    Inventors: Joseph S. Beda, III, Andrew Kadatch
  • 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