Patents by Inventor Michael Roger Marty

Michael Roger Marty 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: 10218538
    Abstract: The expansion of a network by converting the network from a 2-stage folded Clos network to a 3-stage folded Clos network can be cost prohibitive. The system and methods described herein relate to a hybrid network topology. More particularly, the disclosure describes a hybrid topology having internal switches configured in a multidimensional topology configuration. Each of the internal switches are connected to the network hosts with a folded Clos topology.
    Type: Grant
    Filed: January 30, 2014
    Date of Patent: February 26, 2019
    Assignee: Google LLC
    Inventors: Peter Michael Klausler, Angela Chen, Michael Roger Marty, Philip Michael Wells, Adi Avidor
  • Patent number: 10038753
    Abstract: Systems and methods include a distributed system that uses a declarative language to separate application logic from the network technology used to communicate. For example, in a system with a plurality of processing nodes, each processing node may include at least one processor, a networking layer for communicating with other processing nodes, and a memory storing instructions that, when executed by the at least one processor, cause the processing node to perform operations. The operations may include receiving a processing plan using the networking layer and analyzing the processing plan to determine a service to perform and a number of inputs anticipated for the service. The operations may also include performing the determined service. The processing plan defines a processing tree comprising a subset of the plurality of processing nodes, the processing tree having unidirectional communication from the root to a final level of the tree.
    Type: Grant
    Filed: December 4, 2017
    Date of Patent: July 31, 2018
    Assignee: Google LLC
    Inventors: Michael Roger Marty, Nicholas Andrew Kidd, Marcus Fontoura, Charles Acknin
  • Publication number: 20180091607
    Abstract: Systems and methods include a distributed system that uses a declarative language to separate application logic from the network technology used to communicate. For example, in a system with a plurality of processing nodes, each processing node may include at least one processor, a networking layer for communicating with other processing nodes, and a memory storing instructions that, when executed by the at least one processor, cause the processing node to perform operations. The operations may include receiving a processing plan using the networking layer and analyzing the processing plan to determine a service to perform and a number of inputs anticipated for the service. The operations may also include performing the determined service. The processing plan defines a processing tree comprising a subset of the plurality of processing nodes, the processing tree having unidirectional communication from the root to a final level of the tree.
    Type: Application
    Filed: December 4, 2017
    Publication date: March 29, 2018
    Inventors: Michael Roger Marty, Nicholas Andrew Kidd, Marcus Fontoura, Charles Acknin
  • Patent number: 9843641
    Abstract: Systems and methods include a distributed system that uses a declarative language to separate application logic from the network technology used to communicate. For example, in a system with a plurality of processing nodes, each processing node may include at least one processor, a networking layer for communicating with other processing nodes, and a memory storing instructions that, when executed by the at least one processor, cause the processing node to perform operations. The operations may include receiving a processing plan using the networking layer and analyzing the processing plan to determine a service to perform and a number of inputs anticipated for the service. The operations may also include performing the determined service. The processing plan defines a processing tree comprising a subset of the plurality of processing nodes, the processing tree having unidirectional communication from the root to a final level of the tree.
    Type: Grant
    Filed: November 18, 2016
    Date of Patent: December 12, 2017
    Assignee: Google LLC
    Inventors: Michael Roger Marty, Nicholas Andrew Kidd, Marcus Fontoura, Charles Acknin
  • Publication number: 20170070583
    Abstract: Systems and methods include a distributed system that uses a declarative language to separate application logic from the network technology used to communicate. For example, in a system with a plurality of processing nodes, each processing node may include at least one processor, a networking layer for communicating with other processing nodes, and a memory storing instructions that, when executed by the at least one processor, cause the processing node to perform operations. The operations may include receiving a processing plan using the networking layer and analyzing the processing plan to determine a service to perform and a number of inputs anticipated for the service. The operations may also include performing the determined service. The processing plan defines a processing tree comprising a subset of the plurality of processing nodes, the processing tree having unidirectional communication from the root to a final level of the tree.
    Type: Application
    Filed: November 18, 2016
    Publication date: March 9, 2017
    Inventors: Michael Roger Marty, Nicholas Andrew Kidd, Marcus Fontoura, Charles Acknin
  • Patent number: 9563588
    Abstract: The present disclosure provides methods and systems to allow user space applications running on different cores to efficiently communicate interrupts between each other without have to enter an OS kernel. In one aspect, a hardware device for delivering inter-processor interrupts is provided. The hardware device includes a memory having a memory space that corresponds to a virtual memory space of a first guest process and a controller coupled to the memory. The controller may be configured to detect when interrupt information is recorded in the memory space. In that regard, the interrupt information is directed to a second guest process associated with a particular CPU core. In response to detecting interrupt information recorded in the memory space, the controller is configured to cause the second guest process to run on a different CPU core without making an operating system call.
    Type: Grant
    Filed: March 13, 2014
    Date of Patent: February 7, 2017
    Assignee: Google Inc.
    Inventors: Michael Roger Marty, Joel Scherpelz
  • Patent number: 9531842
    Abstract: Systems and methods include a distributed system that uses a declarative language to separate application logic from the network technology used to communicate. For example, in a system with a plurality of processing nodes, each processing node may include at least one processor, a networking layer for communicating with other processing nodes, and a memory storing instructions that, when executed by the at least one processor, cause the processing node to perform operations. The operations may include receiving a processing plan using the networking layer and analyzing the processing plan to determine a service to perform and a number of inputs anticipated for the service. The operations may also include performing the determined service. The processing plan defines a processing tree comprising a subset of the plurality of processing nodes, the processing tree having unidirectional communication from the root to a final level of the tree.
    Type: Grant
    Filed: September 24, 2015
    Date of Patent: December 27, 2016
    Assignee: Google Inc.
    Inventors: Michael Roger Marty, Nicholas Andrew Kidd, Marcus Fontoura, Charles Acknin
  • Patent number: 9247033
    Abstract: A method of processing client requests on a data processing apparatus. The method includes receiving control portions of client requests from respective clients. Each client request has control and payload portions, where the payload portion includes data and the control portion includes information relating to the data of the payload portion. The method also includes buffering, in non-transitory memory of the data processing apparatus, the received client request control portions, and retrieving the payload portion of a client request before processing that client request.
    Type: Grant
    Filed: December 26, 2012
    Date of Patent: January 26, 2016
    Assignee: Google Inc.
    Inventors: Lawrence Elias Greenfield, Michael Roger Marty, Frank Dabek, Daniel Jonathan Peng
  • Publication number: 20160014236
    Abstract: Systems and methods include a distributed system that uses a declarative language to separate application logic from the network technology used to communicate. For example, in a system with a plurality of processing nodes, each processing node may include at least one processor, a networking layer for communicating with other processing nodes, and a memory storing instructions that, when executed by the at least one processor, cause the processing node to perform operations. The operations may include receiving a processing plan using the networking layer and analyzing the processing plan to determine a service to perform and a number of inputs anticipated for the service. The operations may also include performing the determined service. The processing plan defines a processing tree comprising a subset of the plurality of processing nodes, the processing tree having unidirectional communication from the root to a final level of the tree.
    Type: Application
    Filed: September 24, 2015
    Publication date: January 14, 2016
    Inventors: Michael Roger Marty, Nicholas Andrew Kidd, Marcus Fontoura, Charles Acknin
  • Patent number: 9185156
    Abstract: Systems and methods include a distributed system that uses a declarative language to separate application logic from the network technology used to communicate. For example, in a system with a plurality of processing nodes, each processing node may include at least one processor, a networking layer for communicating with other processing nodes, and a memory storing instructions that, when executed by the at least one processor, cause the processing node to perform operations. The operations may include receiving a processing plan using the networking layer and analyzing the processing plan to determine a service to perform and a number of inputs anticipated for the service. The operations may also include performing the determined service. The processing plan defines a processing tree comprising a subset of the plurality of processing nodes, the processing tree having unidirectional communication from the root to a final level of the tree.
    Type: Grant
    Filed: February 14, 2013
    Date of Patent: November 10, 2015
    Assignee: Google Inc.
    Inventors: Michael Roger Marty, Nicholas Andrew Kidd, Marcus Fontoura, Charles Acknin
  • Patent number: 9049265
    Abstract: A method of processing client requests that includes receiving a client request from a client for access to data, issuing a direct memory access command to non-transitory storage resources to load data to a target memory location without accessing the target memory location, and instructing a network interface controller in communication with the storage resources to send a response to the client. The response includes an information portion and a data portion.
    Type: Grant
    Filed: December 26, 2012
    Date of Patent: June 2, 2015
    Inventors: Lawrence Elias Greenfield, Michael Roger Marty
  • Publication number: 20140181181
    Abstract: A method of processing client requests on a data processing apparatus. The method includes receiving control portions of client requests from respective clients. Each client request has control and payload portions, where the payload portion includes data and the control portion includes information relating to the data of the payload portion. The method also includes buffering, in non-transitory memory of the data processing apparatus, the received client request control portions, and retrieving the payload portion of a client request before processing that client request.
    Type: Application
    Filed: December 26, 2012
    Publication date: June 26, 2014
    Applicant: Google Inc.
    Inventors: Lawrence Elias Greenfield, Michael Roger Marty, Frank Dabek, Daniel Jonathan Peng