Patents by Inventor Kenneth J. Goldman
Kenneth J. Goldman 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: 20230281041Abstract: A method includes receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request including a priority, a deadline, and an operation type and representing a request to perform an operation on at least one file maintained in a distributed file system; identifying, by the data processing apparatus, a group of file operation requests to be executed together from the plurality of file operation requests, the identification based at least in part on at least one of: the file operations in the group of file operations being directed to a same storage system, or file operations in the group of file operations sharing a common operation type; and sending a request to execute the group of file operation requests to a system configured to perform the group of file operation requests.Type: ApplicationFiled: May 13, 2023Publication date: September 7, 2023Applicant: Google LLCInventors: Chi Ma, Kenneth J. Goldman, Yonggang Zhao, Stephen P.G. Gildea
-
Patent number: 11681547Abstract: A method includes receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request including a priority, a deadline, and an operation type and representing a request to perform an operation on at least one file maintained in a distributed file system; identifying, by the data processing apparatus, a group of file operation requests to be executed together from the plurality of file operation requests, the identification based at least in part on at least one of: the file operations in the group of file operations being directed to a same storage system, or file operations in the group of file operations sharing a common operation type; and sending a request to execute the group of file operation requests to a system configured to perform the group of file operation requests.Type: GrantFiled: May 27, 2021Date of Patent: June 20, 2023Assignee: Google LLCInventors: Chi Ma, Kenneth J. Goldman, Yonggang Zhao, Stephen P. G. Gildea
-
Publication number: 20210279098Abstract: A method includes receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request including a priority, a deadline, and an operation type and representing a request to perform an operation on at least one file maintained in a distributed file system; identifying, by the data processing apparatus, a group of file operation requests to be executed together from the plurality of file operation requests, the identification based at least in part on at least one of: the file operations in the group of file operations being directed to a same storage system, or file operations in the group of file operations sharing a common operation type; and sending a request to execute the group of file operation requests to a system configured to perform the group of file operation requests.Type: ApplicationFiled: May 27, 2021Publication date: September 9, 2021Applicant: Google LLCInventors: Chi Ma, Kenneth J. Goldman, Yonggang Zhao, Stephen P.G. Gildea
-
Patent number: 11036547Abstract: A method includes receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request including a priority, a deadline, and an operation type and representing a request to perform an operation on at least one file maintained in a distributed file system; identifying, by the data processing apparatus, a group of file operation requests to be executed together from the plurality of file operation requests, the identification based at least in part on at least one of: the file operations in the group of file operations being directed to a same storage system, or file operations in the group of file operations sharing a common operation type; and sending a request to execute the group of file operation requests to a system configured to perform the group of file operation requests.Type: GrantFiled: June 25, 2019Date of Patent: June 15, 2021Assignee: Google LLCInventors: Chi Ma, Kenneth J. Goldman, Yonggang Zhao, Stephen P. G. Gildea
-
Patent number: 10754705Abstract: A manager agent access a grain hierarchy that represents a state for a computation that is to performed by a distributed processing system, wherein the grain hierarchy includes manager agent grains including metadata for manager agent processes that manage the performance of the computation by the distributed processing system, and worker agent grains including, for tasks to be performed by the distributed processing system, metadata for worker agents that each correspond to a subset of the plurality of data processors for performing the task. A manager agent performs processes defined by a manager agent grain to manage the computation by worker agents and storing, within the grain, metadata describing the manager agent process performed by the manager agent, and worker agents perform tasks assigned to the worker agents based on an assignment of a respective worker agent grain to the worker agent.Type: GrantFiled: September 28, 2018Date of Patent: August 25, 2020Assignee: Google LLCInventors: Kenneth J. Goldman, Sunghwan Ihm, Xiaozhou Li, Jelena Pjesivac-Grbovic
-
Publication number: 20190377601Abstract: A method includes receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request including a priority, a deadline, and an operation type and representing a request to perform an operation on at least one file maintained in a distributed file system; identifying, by the data processing apparatus, a group of file operation requests to be executed together from the plurality of file operation requests, the identification based at least in part on at least one of: the file operations in the group of file operations being directed to a same storage system, or file operations in the group of file operations sharing a common operation type; and sending a request to execute the group of file operation requests to a system configured to perform the group of file operation requests.Type: ApplicationFiled: June 25, 2019Publication date: December 12, 2019Inventors: Chi Ma, Kenneth J. Goldman, Yonggang Zhao, Stephen P.G. Gildea
-
Patent number: 10338961Abstract: A method includes receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request including a priority, a deadline, and an operation type and representing a request to perform an operation on at least one file maintained in a distributed file system; identifying, by the data processing apparatus, a group of file operation requests to be executed together from the plurality of file operation requests, the identification based at least in part on at least one of: the file operations in the group of file operations being directed to a same storage system, or file operations in the group of file operations sharing a common operation type; and sending a request to execute the group of file operation requests to a system configured to perform the group of file operation requests.Type: GrantFiled: September 15, 2016Date of Patent: July 2, 2019Assignee: Google LLCInventors: Chi Ma, Kenneth J. Goldman, Yonggang Zhao, Stephen P. G. Gildea
-
Publication number: 20190171493Abstract: A manager agent access a grain hierarchy that represents a state for a computation that is to performed by a distributed processing system, wherein the grain hierarchy includes manager agent grains including metadata for manager agent processes that manage the performance of the computation by the distributed processing system, and worker agent grains including, for tasks to be performed by the distributed processing system, metadata for worker agents that each correspond to a subset of the plurality of data processors for performing the task. A manager agent performs processes defined by a manager agent grain to manage the computation by worker agents and storing, within the grain, metadata describing the manager agent process performed by the manager agent, and worker agents perform tasks assigned to the worker agents based on an assignment of a respective worker agent grain to the worker agent.Type: ApplicationFiled: September 28, 2018Publication date: June 6, 2019Inventors: Kenneth J. Goldman, Sunghwan Ihm, Xiaozhou Li, Jelena Pjesivac-Grbovic
-
Patent number: 10089154Abstract: A manager agent access a grain hierarchy that represents a state for a computation that is to performed by a distributed processing system, wherein the grain hierarchy includes manager agent grains including metadata for manager agent processes that manage the performance of the computation by the distributed processing system, and worker agent grains including, for tasks to be performed by the distributed processing system, metadata for worker agents that each correspond to a subset of the plurality of data processors for performing the task. A manager agent performs processes defined by a manager agent grain to manage the computation by worker agents and storing, within the grain, metadata describing the manager agent process performed by the manager agent, and worker agents perform tasks assigned to the worker agents based on an assignment of a respective worker agent grain to the worker agent.Type: GrantFiled: August 18, 2016Date of Patent: October 2, 2018Assignee: Google LLCInventors: Kenneth J. Goldman, Sunghwan Ihm, Xiaozhou Li, Jelena Pjesivac-Grbovic
-
Patent number: 9983901Abstract: The present disclosure relates to dynamically adjusting shard allocation during parallel processing operations. One example method includes determining a target completion time for a batch data processing job of an input data set performed by a plurality of tasks, each of the plurality of tasks processing a different input shard including a different portion of the input data set; identifying a first task having an estimated completion time greater than the target completion time of the batch data processing job; and splitting the first input shard into a first split input shard and a second split input shard different from the first split input shard, the first split input shard including a first portion of the first input shard, and the second split input shard including a second portion of the first input shard different from the first portion.Type: GrantFiled: July 9, 2014Date of Patent: May 29, 2018Assignee: Google LLCInventors: Jeremy S. Hurwitz, Eugene R. Kirpichov, Jelena Pjesivac-Grbovic, Kenneth J. Goldman
-
Patent number: 9760595Abstract: Parallel processing of data may include a set of map processes and a set of reduce processes. Each map process may include at least one map thread. Map threads may access distinct input data blocks assigned to the map process, and may apply an application specific map operation to the input data blocks to produce key-value pairs. Each map process may include a multiblock combiner configured to apply a combining operation to values associated with common keys in the key-value pairs to produce combined values, and to output intermediate data including pairs of keys and combined values. Each reduce process may be configured to access the intermediate data output by the multiblock combiners. For each key, an application specific reduce operation may be applied to the combined values associated with the key to produce output data.Type: GrantFiled: December 28, 2016Date of Patent: September 12, 2017Assignee: Google Inc.Inventors: Kenneth J. Goldman, Tushar Deepak Chandra, Tal Shaked, Yonggang Zhao
-
Publication number: 20170177738Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for relating the operation of applications on a user device are described including accessing, for a first application, intent data describing intent groups for the first application, each intent group including one or more intents that belong to the intent group, determining enabling connectors for the intent groups, each enabling connector specifying an enabling intent that causes a corresponding intent group to become active in the first application, generating intent group association data that associates intent groups to other intent groups by enabling connectors, wherein an enabling intent associates a first intent group to a second intent group, and the second intent group becomes active in response to an execution of the enabling connector, and providing the intent group association data to a user device that has the first application installed.Type: ApplicationFiled: December 21, 2015Publication date: June 22, 2017Inventor: Kenneth J. Goldman
-
Publication number: 20170004010Abstract: A method includes receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request including a priority, a deadline, and an operation type and representing a request to perform an operation on at least one file maintained in a distributed file system; identifying, by the data processing apparatus, a group of file operation requests to be executed together from the plurality of file operation requests, the identification based at least in part on at least one of: the file operations in the group of file operations being directed to a same storage system, or file operations in the group of file operations sharing a common operation type; and sending a request to execute the group of file operation requests to a system configured to perform the group of file operation requests.Type: ApplicationFiled: September 15, 2016Publication date: January 5, 2017Inventors: Chi Ma, Kenneth J. Goldman, Yonggang Zhao, Stephen P.G. Gildea
-
Patent number: 9536014Abstract: Parallel processing of data may include a set of map processes and a set of reduce processes. Each map process may include at least one map thread. Map threads may access distinct input data blocks assigned to the map process, and may apply an application specific map operation to the input data blocks to produce key-value pairs. Each map process may include a multiblock combiner configured to apply a combining operation to values associated with common keys in the key-value pairs to produce combined values, and to output intermediate data including pairs of keys and combined values. Each reduce process may be configured to access the intermediate data output by the multiblock combiners. For each key, an application specific reduce operation may be applied to the combined values associated with the key to produce output data.Type: GrantFiled: October 26, 2015Date of Patent: January 3, 2017Assignee: Google Inc.Inventors: Kenneth J. Goldman, Tushar Deepak Chandra, Tal Shaked, Yonggang Zhao
-
Publication number: 20160357613Abstract: A manager agent access a grain hierarchy that represents a state for a computation that is to performed by a distributed processing system, wherein the grain hierarchy includes manager agent grains including metadata for manager agent processes that manage the performance of the computation by the distributed processing system, and worker agent grains including, for tasks to be performed by the distributed processing system, metadata for worker agents that each correspond to a subset of the plurality of data processors for performing the task. A manager agent performs processes defined by a manager agent grain to manage the computation by worker agents and storing, within the grain, metadata describing the manager agent process performed by the manager agent, and worker agents perform tasks assigned to the worker agents based on an assignment of a respective worker agent grain to the worker agent.Type: ApplicationFiled: August 18, 2016Publication date: December 8, 2016Inventors: Kenneth J. Goldman, Sunghwan Ihm, Xiaozhou Li, Jelena Pjesivac-Grbovic
-
Patent number: 9495207Abstract: The present disclosure relates to cataloging data sets for reuse in pipeline applications. One example method includes identifying a data set produced by a particular pipeline object included in a first pipeline instance, the first pipeline instance including a plurality of pipeline objects, each pipeline object configured to perform a computation, and the particular pipeline object configured to perform a particular computation; determining a set of metadata for the data set, the set of metadata including identifying information for the data set to identify the data set to pipeline instances separate from the first pipeline instance; and allowing pipeline instances separate from the first pipeline instance to retrieve the data set based at least in part on the set of metadata, wherein the pipeline instances avoid performing the particular computation by using the retrieved data set.Type: GrantFiled: July 9, 2014Date of Patent: November 15, 2016Assignee: Google Inc.Inventors: Jelena Pjesivac-Grbovic, Kenneth J. Goldman
-
Patent number: 9449018Abstract: A method includes receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request including a priority, a deadline, and an operation type and representing a request to perform an operation on at least one file maintained in a distributed file system; identifying, by the data processing apparatus, a group of file operation requests to be executed together from the plurality of file operation requests, the identification based at least in part on at least one of: the file operations in the group of file operations being directed to a same storage system, or file operations in the group of file operations sharing a common operation type; and sending a request to execute the group of file operation requests to a system configured to perform the group of file operation requests.Type: GrantFiled: November 25, 2013Date of Patent: September 20, 2016Assignee: Google Inc.Inventors: Chi Ma, Kenneth J. Goldman, Yonggang Zhao, Stephen P. G. Gildea
-
Patent number: 9424083Abstract: Methods, systems, and apparatus are described for managing metadata for a distributed processing system. In one aspect, a method includes receiving a computation specification that includes a set of grains that specifies an initial state for a computation that is to be performed by a distributed processing system, wherein each grain comprises metadata that specifies a portion of the initial state for the computation; storing a grain hierarchy that represents a state for the computation based on a grain type associated with each grain, the grain hierarchy comprising subscription grains for subscriptions for the grain hierarchy, each subscription corresponding to one or more grains included in the grain hierarchy, and each subscription specifying one or more actions to be performed by the hub device; and performing, during performance of the computation, at least one of the actions specified by at least one of the subscriptions.Type: GrantFiled: March 14, 2014Date of Patent: August 23, 2016Assignee: Google Inc.Inventors: Kenneth J. Goldman, Sunghwan Ihm, Xiaozhou Li, Jelena Pjesivac-Grbovic
-
Publication number: 20160011901Abstract: The present disclosure relates to dynamically adjusting shard allocation during parallel processing operations. One example method includes determining a target completion time for a batch data processing job of an input data set performed by a plurality of tasks, each of the plurality of tasks processing a different input shard including a different portion of the input data set; identifying a first task having an estimated completion time greater than the target completion time of the batch data processing job; and splitting the first input shard into a first split input shard and a second split input shard different from the first split input shard, the first split input shard including a first portion of the first input shard, and the second split input shard including a second portion of the first input shard different from the first portion.Type: ApplicationFiled: July 9, 2014Publication date: January 14, 2016Inventors: Jeremy S. Hurwitz, Eugene R. Kirpichov, Jelena Pjesivac-Grbovic, Kenneth J. Goldman
-
Patent number: 9170848Abstract: Parallel processing of data may include a set of map processes and a set of reduce processes. Each map process may include at least one map thread. Map threads may access distinct input data blocks assigned to the map process, and may apply an application specific map operation to the input data blocks to produce key-value pairs. Each map process may include a multiblock combiner configured to apply a combining operation to values associated with common keys in the key-value pairs to produce combined values, and to output intermediate data including pairs of keys and combined values. Each reduce process may be configured to access the intermediate data output by the multiblock combiners. For each key, an application specific reduce operation may be applied to the combined values associated with the key to produce output data.Type: GrantFiled: July 27, 2011Date of Patent: October 27, 2015Assignee: Google Inc.Inventors: Kenneth J. Goldman, Tushar Chandra, Tal Shaked, Jerry Zhao