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: 20230306060
    Abstract: 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: Application
    Filed: June 1, 2023
    Publication date: September 28, 2023
    Applicant: Google LLC
    Inventors: Matthew H. Austern, James C. Dehnert, Aart J.c. Bik, Grzegorz J. Czajkowski, Grzegorz Malewicz
  • Patent number: 11698931
    Abstract: 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: Grant
    Filed: February 14, 2022
    Date of Patent: July 11, 2023
    Assignee: Google LLC
    Inventors: Matthew H. Austern, James C. Dehnert, Aart J. c. Bik, Grzegorz J. Czajkowski, Grzegorz Malewicz
  • Publication number: 20220164389
    Abstract: 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: Application
    Filed: February 14, 2022
    Publication date: May 26, 2022
    Applicant: Google LLC
    Inventors: Matthew H. Austern, James C. Dehnert, Aart J.c. Bik, Grzegorz J. Czajkowski, Grzegorz Malewicz
  • Patent number: 11263265
    Abstract: 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: Grant
    Filed: December 9, 2019
    Date of Patent: March 1, 2022
    Assignee: Google LLC
    Inventors: Matthew H. Austern, James C. Dehnert, Aart J. C. Bik, Grzegorz J. Czajkowski, Grzegorz Malewicz
  • Patent number: 10394792
    Abstract: 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: Grant
    Filed: October 5, 2016
    Date of Patent: August 27, 2019
    Assignee: Google LLC
    Inventors: James C. Dehnert, Matthew Harold Austern, Aart J. C. Bik, Grzegorz J. Czajkowski, Grzegorz Malewicz, Ilan Horn, Naty Leiser
  • 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: 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: 8973008
    Abstract: 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: Grant
    Filed: May 10, 2005
    Date of Patent: March 3, 2015
    Assignee: Oracle America, Inc.
    Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Laurent P. Daynès
  • Patent number: 8584129
    Abstract: 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: Grant
    Filed: February 20, 2004
    Date of Patent: November 12, 2013
    Assignee: Oracle America, Inc.
    Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Ciaran J. Bryce, Stephen C. Hahn, Peter James Soper
  • Patent number: 8392564
    Abstract: 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: Grant
    Filed: June 20, 2005
    Date of Patent: March 5, 2013
    Assignee: Oracle America, Inc.
    Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Laurent P. Daynès, Krzysztof Palacz
  • Patent number: 8250559
    Abstract: 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: Grant
    Filed: April 12, 2006
    Date of Patent: August 21, 2012
    Assignee: Oracle America, Inc.
    Inventors: Laurent P. Daynès, Grzegorz J. Czajkowski
  • Patent number: 8046763
    Abstract: 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: Grant
    Filed: February 20, 2004
    Date of Patent: October 25, 2011
    Assignee: Oracle America, Inc.
    Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Ciaran J. Bryce, Stephen C. Hahn, Peter James Soper
  • Patent number: 7849451
    Abstract: 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: Grant
    Filed: March 2, 2006
    Date of Patent: December 7, 2010
    Assignee: Oracle America Inc.
    Inventors: Krzysztof Palacz, Grzegorz J. Czajkowski, Laurent P. Daynès
  • Patent number: 7797692
    Abstract: 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: Grant
    Filed: May 12, 2006
    Date of Patent: September 14, 2010
    Assignee: Google Inc.
    Inventor: Grzegorz J. Czajkowski
  • Patent number: 7685597
    Abstract: 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: Grant
    Filed: February 20, 2004
    Date of Patent: March 23, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Ciaran J. Bryce, Stephen C. Hahn, Peter James Soper
  • Patent number: 7584231
    Abstract: 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: Grant
    Filed: May 25, 2006
    Date of Patent: September 1, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynès, Andrew McClure, Grzegorz J. Czajkowski
  • Patent number: 7454448
    Abstract: 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: Grant
    Filed: April 14, 2005
    Date of Patent: November 18, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent P. Daynes, Andrew McClure, Grzegorz J. Czajkowski
  • Patent number: 7234076
    Abstract: 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: Grant
    Filed: February 14, 2003
    Date of Patent: June 19, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent P. Daynes, Grzegorz J. Czajkowski
  • Patent number: 7216352
    Abstract: 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: Grant
    Filed: December 12, 2002
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Grzegorz J. Czajkowski, Laurent P. Daynes, Rodrick Ison Evans
  • Patent number: 7213098
    Abstract: 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: Grant
    Filed: February 11, 2002
    Date of Patent: May 1, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Grzegorz J. Czajkowski, Laurent P. Daynès