Patents by Inventor Grzegorz J. Czajkowski
Grzegorz J. Czajkowski 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: 20230306060Abstract: Data are maintained in a distributed computing system that describe a graph. The graph represents relationships among items. The graph has a plurality of vertices that represent the items and a plurality of edges connecting the plurality of vertices. At least one vertex of the plurality of vertices includes a set of label values indicating the at least one vertex's strength of association with a label from a set of labels. The set of labels describe possible characteristics of an item represented by the at least one vertex. At least one edge of the plurality of edges includes a set of label weights for influencing label values that traverse the at least one edge. A label propagation algorithm is executed for a plurality of the vertices in the graph in parallel for a series of synchronized iterations to propagate labels through the graph.Type: ApplicationFiled: June 1, 2023Publication date: September 28, 2023Applicant: Google LLCInventors: Matthew H. Austern, James C. Dehnert, Aart J.c. Bik, Grzegorz J. Czajkowski, Grzegorz Malewicz
-
Patent number: 11698931Abstract: Data are maintained in a distributed computing system that describe a graph. The graph represents relationships among items. The graph has a plurality of vertices that represent the items and a plurality of edges connecting the plurality of vertices. At least one vertex of the plurality of vertices includes a set of label values indicating the at least one vertex's strength of association with a label from a set of labels. The set of labels describe possible characteristics of an item represented by the at least one vertex. At least one edge of the plurality of edges includes a set of label weights for influencing label values that traverse the at least one edge. A label propagation algorithm is executed for a plurality of the vertices in the graph in parallel for a series of synchronized iterations to propagate labels through the graph.Type: GrantFiled: February 14, 2022Date of Patent: July 11, 2023Assignee: Google LLCInventors: Matthew H. Austern, James C. Dehnert, Aart J. c. Bik, Grzegorz J. Czajkowski, Grzegorz Malewicz
-
Publication number: 20220164389Abstract: Data are maintained in a distributed computing system that describe a graph. The graph represents relationships among items. The graph has a plurality of vertices that represent the items and a plurality of edges connecting the plurality of vertices. At least one vertex of the plurality of vertices includes a set of label values indicating the at least one vertex's strength of association with a label from a set of labels. The set of labels describe possible characteristics of an item represented by the at least one vertex. At least one edge of the plurality of edges includes a set of label weights for influencing label values that traverse the at least one edge. A label propagation algorithm is executed for a plurality of the vertices in the graph in parallel for a series of synchronized iterations to propagate labels through the graph.Type: ApplicationFiled: February 14, 2022Publication date: May 26, 2022Applicant: Google LLCInventors: Matthew H. Austern, James C. Dehnert, Aart J.c. Bik, Grzegorz J. Czajkowski, Grzegorz Malewicz
-
Patent number: 11263265Abstract: Data are maintained in a distributed computing system that describe a graph. The graph represents relationships among items. The graph has a plurality of vertices that represent the items and a plurality of edges connecting the plurality of vertices. At least one vertex of the plurality of vertices includes a set of label values indicating the at least one vertex's strength of association with a label from a set of labels. The set of labels describe possible characteristics of an item represented by the at least one vertex. At least one edge of the plurality of edges includes a set of label weights for influencing label values that traverse the at least one edge. A label propagation algorithm is executed for a plurality of the vertices in the graph in parallel for a series of synchronized iterations to propagate labels through the graph.Type: GrantFiled: December 9, 2019Date of Patent: March 1, 2022Assignee: Google LLCInventors: Matthew H. Austern, James C. Dehnert, Aart J. C. Bik, Grzegorz J. Czajkowski, Grzegorz Malewicz
-
Patent number: 10394792Abstract: Data are maintained in a distributed computing system that describe a directed graph representing relationships among a set of items. The directed graph models a condition having an associated problem. The directed graph has graph components having associated data fields. The relationships are analyzed to identify a solution to the problem. As part of the analysis, a new value for the data field associated with a graph component is identified responsive to an operation performed during the analysis. The new value is compared with an existing value of the data field, and the data field is modified. The modification may include inserting the new value into an overflow vector of data, and replacing the existing value in the data field with exception information identifying the location of the new value. An exception flag associated with the data field is set to indicate that the exception information is being used.Type: GrantFiled: October 5, 2016Date of Patent: August 27, 2019Assignee: Google LLCInventors: James C. Dehnert, Matthew Harold Austern, Aart J. C. Bik, Grzegorz J. Czajkowski, Grzegorz Malewicz, Ilan Horn, Naty Leiser
-
Patent number: 9535742Abstract: 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: GrantFiled: May 6, 2016Date of Patent: January 3, 2017Assignee: Google Inc.Inventors: Joseph S. Beda, III, Grzegorz J. Czajkowski, Yonggang Zhao
-
Patent number: 9336024Abstract: 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: GrantFiled: December 27, 2012Date of Patent: May 10, 2016Assignee: Google Inc.Inventors: Joseph S. Beda, III, Grzegorz J. Czajkowski, Jerry Zhao
-
Patent number: 8973008Abstract: Combining different resource types into a single logical resource can provide a perspective more suitable for managing a given computer program. Resources of different types that have similar characteristics are combined as a single resource type. Resource management policies are applied against the different resource types via the single combination resource type, wherein on a single computer or applied against a cluster of computers.Type: GrantFiled: May 10, 2005Date of Patent: March 3, 2015Assignee: Oracle America, Inc.Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Laurent P. Daynès
-
Patent number: 8584129Abstract: Providing an intermediate isolate, referred to as a dispenser, to handle resource requests allows for monitoring and controlling of resource consumption separate from an operating system. Resources are characterized with a set of common attributes, separate from their specific implementation. The dispenser invokes computations that provide policy decisions corresponding to a resource request. The dispenser provides the requesting isolate a response based at least in part on the policy decisions. Separating management of resources from the operating system facilitates implementation of a dispenser in a safe language and management of a broad range of resources by the dispenser.Type: GrantFiled: February 20, 2004Date of Patent: November 12, 2013Assignee: Oracle America, Inc.Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Ciaran J. Bryce, Stephen C. Hahn, Peter James Soper
-
Patent number: 8392564Abstract: An infrastructure including a cluster-global dispenser that evaluates resource consume requests against cluster-global resource management policies facilitates flexible and extensible monitoring and/or control of resource consumption for multiple and/or multi-component applications on a cluster of interconnected computers. Such an infrastructure facilitates application of comprehensive resource management to cluster computing, and compatibility with the level of abstraction offered by modern object-oriented languages. Such an infrastructure also maintains backwards-compatibility. Building on the foundation of a well-defined isolated component, the resulting resource management framework is capable of supporting a rich collection of resources and of defining policies. The notion of a cluster-global resource naturally captures the aggregation of node-local resource. This applies the familiar “single system image” attribute of cluster systems to the area of resource management.Type: GrantFiled: June 20, 2005Date of Patent: March 5, 2013Assignee: Oracle America, Inc.Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Laurent P. Daynès, Krzysztof Palacz
-
Patent number: 8250559Abstract: System and method for supporting per-program classpath and class sharing in a multi-tasking virtual machine. A virtual machine may allow each program to specify its classpath independently of other programs classpaths. Tasks that specify identical classpaths for their respective class loaders may share the runtime representation of classes. A multi-tasking virtual machine may generate and compare canonical forms of classpaths to determine which programs may share classes with each other. The runtime representation of a class may be split between shared and private portions of the runtime representation. A shared runtime representation may be associated with multiple private runtime representations. In one embodiment, unique class loader keys and a system dictionary may be used to associate tasks, class loaders and the shared representations of classes.Type: GrantFiled: April 12, 2006Date of Patent: August 21, 2012Assignee: Oracle America, Inc.Inventors: Laurent P. Daynès, Grzegorz J. Czajkowski
-
Patent number: 8046763Abstract: Controlling rate of resource consumptions improves manageability of resources in relation to the entities consuming the resource. A consumer's resource consumption behavior can be controlled with a mechanism that throttles its resource requests to conform to a threshold rate, such as a resource consumption rate. A set of one or more computations tracks a consumption measurement variable over a given time interval, such as number of resource requests for a given resource within the last 5 seconds. When a resource request is received, the set of computations determine whether servicing the resource request would exceed the threshold rate. If the threshold rate would be exceeded, then the computations sleep until servicing the resource request would not exceed the threshold rate.Type: GrantFiled: February 20, 2004Date of Patent: October 25, 2011Assignee: Oracle America, Inc.Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Ciaran J. Bryce, Stephen C. Hahn, Peter James Soper
-
Patent number: 7849451Abstract: A dynamic delegation chain of executor objects can, at runtime, adapt code units to be executed as isolated computations prior to their execution to comport with current state of an environment. A dynamic delegation chain performs the dynamic runtime adaptation of the code unit in accordance with isolated computations that host the executor objects of the delegation chain. Adapting a code unit prior to execution of the code unit allows adaptation of the code unit to a current state, as well as at least reducing concerns of program integrity.Type: GrantFiled: March 2, 2006Date of Patent: December 7, 2010Assignee: Oracle America Inc.Inventors: Krzysztof Palacz, Grzegorz J. Czajkowski, Laurent P. Daynès
-
Patent number: 7797692Abstract: A system that estimates a dominant computational resource which is used by a computer program. During operation, for each basic block in the computer program, the system determines a nesting level for the basic block. Next, the system selects basic blocks with nesting levels greater than a specified threshold. For each selected basic block, the system analyzes the basic block to estimate the dominant computational resource used by the basic block. The system then uses the estimated dominant computational resources for the selected basic blocks to estimate the dominant computational resource for the computer program.Type: GrantFiled: May 12, 2006Date of Patent: September 14, 2010Assignee: Google Inc.Inventor: Grzegorz J. Czajkowski
-
Patent number: 7685597Abstract: Providing a resource domain structure allows flexible management of resources. With flexible management, computations, such as threads and processes, do not have to be related to be bound to the same resource domain. Since resource domains do not require the parent-child relationship, unrelated computations can bind each other to their resource domains. A data structure identifies a resource domain, the resource of the domain, and implementation of a resource management policy. The implementation of the resource management policy includes policy action, which when executed invoke policy imposing isolates. The resource domain data structure also indicates availability of usage of the resource.Type: GrantFiled: February 20, 2004Date of Patent: March 23, 2010Assignee: Sun Microsystems, Inc.Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Ciaran J. Bryce, Stephen C. Hahn, Peter James Soper
-
Patent number: 7584231Abstract: A method is provided enabling concurrent garbage collection of a young generation of a task with other tasks executing in a multi-tasking virtual machine. A first record is provided for each thread which has a value in an old generation memory after each thread successfully allocates an object in the old generation memory. A second record is provided for each thread which has a memory address value. Threads of a garbage-collecting task are stopped and an end of scan value for the task is calculated. Garbage collection on threads associated the garbage-collected task are permitted when one of two conditions involving either second records or second records and first records are met.Type: GrantFiled: May 25, 2006Date of Patent: September 1, 2009Assignee: Sun Microsystems, Inc.Inventors: Laurent Daynès, Andrew McClure, Grzegorz J. Czajkowski
-
Patent number: 7454448Abstract: A method for managing memory in a multi-tasking virtual machine, involving suspending a first task for garbage collection of a plurality of concurrently executing tasks, promoting at least one object associated with the first task to a old generation using a gap buffer to obtain a promoted object, wherein the gap buffer stores a gap created by objects directly allocated by at least one of the plurality of concurrently executing tasks, locating the promoted object using the gap buffer, traversing the promoted object to determine whether a first referenced object exist, and promoting the first referenced object using the gap buffer, if the first referenced object exists.Type: GrantFiled: April 14, 2005Date of Patent: November 18, 2008Assignee: Sun Microsystems, Inc.Inventors: Laurent P. Daynes, Andrew McClure, Grzegorz J. Czajkowski
-
Patent number: 7234076Abstract: System resources (e.g., objects or other resources) are managed to provide multiple levels of undo and/or support for delegation of updates on main-memory resident objects accessible by concurrent transactions. For example, a log associated with each transaction stores information regarding an update to an object when the object is locked in an update mode (e.g., a write mode) by the transaction. The transaction can be rolled back by restoring information from the log of the transaction to the object. If the transaction commits, then the log may be destroyed. If the transaction delegates to another transaction, the log of the transaction is also delegated. A record codelet can be automatically generated to perform the storing of information in the log, and a restore codelet can be automatically generated to undo updates by restoring information from the log to the updated objects. The codelets may be specific to each class of objects.Type: GrantFiled: February 14, 2003Date of Patent: June 19, 2007Assignee: Sun Microsystems, Inc.Inventors: Laurent P. Daynes, Grzegorz J. Czajkowski
-
Patent number: 7216352Abstract: A method of reducing interference among applications co-located in a process when using dynamic libraries is disclosed. For each dynamic library, multiple instances of the dynamic library are loaded in the same operating system process (or process), whereas each instance of the dynamic library corresponds to one of the multiple applications co-located in the same process. In particular, the text segments (or read-only segments) of the instances of the dynamic library are mapped to the same physical memory pages, leading to a low memory footprint. Moreover, within the process, a co-located application's access to a dynamic library is directed to the instance (of the dynamic library) associated with the accessing application, reducing interference among applications co-located in the same process.Type: GrantFiled: December 12, 2002Date of Patent: May 8, 2007Assignee: Sun Microsystems, Inc.Inventors: Grzegorz J. Czajkowski, Laurent P. Daynes, Rodrick Ison Evans
-
Patent number: 7213098Abstract: The present invention relates to computer systems and methods for providing a memory buffer for use with native and platform-independent software code. In a particular embodiment, the method includes providing a first software program compiled to platform-independent code for execution in a first process of the computer system, providing a second software program compiled to native code for execution in a second process of the computer system, and sending a message from the first process to the second process to request a memory buffer. In another particular embodiment, the computer system includes a processor and a memory. The computer system includes a first process to execute a first software program coded in a safe language, a second process to execute a second software program coded in an unsafe language, and an inter-process communication mechanism that allows data message communication between the first process and the second process.Type: GrantFiled: February 11, 2002Date of Patent: May 1, 2007Assignee: Sun Microsystems, Inc.Inventors: Grzegorz J. Czajkowski, Laurent P. Daynès