Patents by Inventor Ulrich Drepper

Ulrich Drepper 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: 8682914
    Abstract: Systems and methods of managing primitives are disclosed. A data structure that is stored in user space is registered, wherein the data structure tracks a user controllable mutual exclusion primitive that is acquired by a process running in the user space, and wherein the user controllable mutual exclusion primitive serves as a lock on a resource provided by a computer system. A termination of the process is detected, wherein the process maintains the lock on the resource after termination and the data structure is searched to identify the user controllable mutual exclusion primitive that is acquired by the process that terminated. The user controllable mutual exclusion primitive is released if the user controllable mutual exclusion primitive is identified as being acquired by the process.
    Type: Grant
    Filed: December 22, 2011
    Date of Patent: March 25, 2014
    Assignee: Red Hat, Inc.
    Inventors: Ingo Molnar, Thomas Gleixner, Ulrich Drepper
  • Patent number: 8612970
    Abstract: Embodiments of the present invention provide an architecture for securely and efficiently executing byte code generated from a general programming language. In particular, a computer system is divided into a hierarchy comprising multiple types of virtual machines. A thin layer of software, known as a virtual machine monitor, virtualizes the hardware of the computer system and emulates the hardware of the computer system to form a first type of virtual machine. This first type of virtual machine implements a virtual operating domain that allows running its own operating system. Within a virtual operating domain, a byte code interpreter may further implement a second type of virtual machine that executes byte code generated from a program written in a general purpose programming language. The byte code interpreter is incorporated into the operating system running in the virtual operating domain.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: December 17, 2013
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Patent number: 8566840
    Abstract: An embodiment of the invention pertains to a method of filtering messages in a kernel of an operating system. The method includes receiving message traffic from network and determining information that indicates contents of each message in the kernel. The method also includes selectively passing the message from the kernel to one or more applications based on the information and according to at least one criterion, where the least one criterion is associated with a respective application of the one or more applications.
    Type: Grant
    Filed: February 27, 2006
    Date of Patent: October 22, 2013
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Patent number: 8429460
    Abstract: An embodiment relates generally to an apparatus for debugging. The apparatus includes a memory configured to store data and an arithmetic logic unit configured to perform logical and arithmetic operations. The apparatus also includes a control unit configured to interface with the memory and arithmetic logic unit and to decode instructions. The control unit is configured to write a data state designated to be overwritten by a currently executing instruction to a buffer allocated in the memory in response to a trace debug flag being set.
    Type: Grant
    Filed: September 24, 2010
    Date of Patent: April 23, 2013
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Patent number: 8429629
    Abstract: Embodiments of the present invention provide an architecture for efficiently loading and executing byte code generated from a general programming language. In particular, a byte code interpreter implements a virtual machine that executes the byte code and is divided into a kernel component and one or more user components. The kernel component of the virtual machine is integrated into the operating system kernel. The user component runs in the same virtual address space as the applet, provides support for executing an applet and couples the applet to the operating system. In addition, the kernel component of the virtual machine may share code with multiple user components.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: April 23, 2013
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Publication number: 20120096017
    Abstract: Systems and methods of managing primitives are disclosed. A data structure that is stored in user space is registered, wherein the data structure tracks a user controllable mutual exclusion primitive that is acquired by a process running in the user space, and wherein the user controllable mutual exclusion primitive serves as a lock on a resource provided by a computer system. A termination of the process is detected, wherein the process maintains the lock on the resource after termination and the data structure is searched to identify the user controllable mutual exclusion primitive that is acquired by the process that terminated. The user controllable mutual exclusion primitive is released if the user controllable mutual exclusion primitive is identified as being acquired by the process.
    Type: Application
    Filed: December 22, 2011
    Publication date: April 19, 2012
    Inventors: Ingo Molnar, Thomas Gleixner, Ulrich Drepper
  • Publication number: 20120066272
    Abstract: A system receives a notification that a process is requesting access to a file stored in a file system, wherein the process is currently delayed from accessing the file. The system determines whether a current file attribute setting for the requested file is correct in response to receiving the notification and changes the current file attribute setting to a correct file attribute setting in response to determining that the current file attribute setting is not correct. The system sends a notification to allow the process to resume to access the file in response determining that the current file attribute setting is correct or changing the current file attribute setting to the correct file attribute setting.
    Type: Application
    Filed: September 9, 2010
    Publication date: March 15, 2012
    Inventor: Ulrich Drepper
  • Patent number: 8104034
    Abstract: Embodiments of the present invention provide an architecture for securely and efficiently executing byte code generated from a general programming language. In particular, a computer system is divided into a hierarchy comprising multiple types of virtual machines. A thin layer of software, known as a virtual machine monitor, virtualizes the hardware of the computer system and emulates the hardware of the computer system to form a first type of virtual machine. This first type of virtual machine implements a virtual operating domain that allows running its own operating system. Within a virtual operating domain, a byte code interpreter may further implement a second type of virtual machine that executes byte code generated from a program written in a general purpose programming language. The byte code interpreter is incorporated into the operating system running in the virtual operating domain.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: January 24, 2012
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Patent number: 8095550
    Abstract: An embodiment relates to a method of managing primitives. The method includes providing a data structure available in user-space where the data structure comprises at least one futex. The method also includes detecting a termination of the process and searching the data structure for status of the at least one futex. The method further includes releasing the at least one futex in response to status of the at least one futex being held and setting a flag for at least one futex. The method further includes notifying at least one process waiting for the released at least one futex.
    Type: Grant
    Filed: August 23, 2010
    Date of Patent: January 10, 2012
    Assignee: Red Hat, Inc.
    Inventors: Ingo Molnar, Thomas Gleixner, Ulrich Drepper
  • Patent number: 8042099
    Abstract: A method and apparatus for facilitating availability of object data types at runtime are described. In one embodiment, the method may include parsing debug information generated by a compiler for a software program, identifying in the debug information desired data types and objects associated with the desired data types, and creating for each desired data type an object list including references to associated objects. The method may further include adding resulting object lists to a set of object files generated by the compiler for the software program. The set of object files with the added object lists may then be used by a linker when creating an executable file for the software program.
    Type: Grant
    Filed: May 30, 2007
    Date of Patent: October 18, 2011
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Patent number: 7937692
    Abstract: Embodiments of the present invention provide systems and methods for the static analysis of entire systems of software. Source code for at least some of the software system is received. An functional representation of the source code is generated from when the source code is compiled and references to other software are identified. The functional representations of the other software is retrieved from an archive and an abstract representation of the entire software system is built. A static analysis is then performed against the abstract representation of the entire system and results are provided. The software system or one or more of its components may be certified based on the static analysis results.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: May 3, 2011
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Patent number: 7926047
    Abstract: An embodiment relates generally to a method of optimization in a run-time execution environment. The method includes providing for a plurality of symbol tables, each symbol table associated with a respective object, the plurality of objects being linked to create a runtime version of a program. The method also includes searching through a selected symbol table of the plurality of symbol tables and determining a symbol type of an entry in the selected symbol table. The method further includes executing a callback function in response to the symbol type being an special symbol table entry and returning the address of an optimized function for the entry in the selected symbol table.
    Type: Grant
    Filed: November 28, 2006
    Date of Patent: April 12, 2011
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Publication number: 20110022896
    Abstract: An embodiment relates generally to an apparatus for debugging. The apparatus includes a memory configured to store data and an arithmetic logic unit configured to perform logical and arithmetic operations. The apparatus also includes a control unit configured to interface with the memory and arithmetic logic unit and to decode instructions. The control unit is configured to write a data state designated to be overwritten by a currently executing instruction to a buffer allocated in the memory in response to a trace debug flag being set.
    Type: Application
    Filed: September 24, 2010
    Publication date: January 27, 2011
    Inventor: Ulrich Drepper
  • Publication number: 20100318504
    Abstract: An embodiment relates to a method of managing primitives. The method includes providing a data structure available in user-space where the data structure comprises at least one futex. The method also includes detecting a termination of the process and searching the data structure for status of the at least one futex. The method further includes releasing the at least one futex in response to status of the at least one futex being held and setting a flag for at least one futex. The method further includes notifying at least one process waiting for the released at least one futex.
    Type: Application
    Filed: August 23, 2010
    Publication date: December 16, 2010
    Inventors: Ingo Molnar, Thomas Gleixner, Ulrich Drepper
  • Patent number: 7823022
    Abstract: An embodiment relates generally to an apparatus for debugging. The apparatus includes a memory configured to store data and an arithmetic logic unit configured to perform logical and arithmetic operations. The apparatus also includes a control unit configured to interface with the memory and arithmetic logic unit and to decode instructions. The control unit is configured to write a data state designated to be overwritten by a currently executing instruction to a buffer allocated in the memory in response to a trace debug flag being set.
    Type: Grant
    Filed: February 20, 2007
    Date of Patent: October 26, 2010
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Patent number: 7783649
    Abstract: An embodiment relates to a method of managing primitives. The method includes providing a data structure available in user-space where the data structure comprises at least one futex. The method also includes detecting a termination of the process and searching the data structure for status of the at least one futex. The method further includes releasing the at least one futex in response to status of the at least one futex being held and setting a flag for at least one futex. The method further includes notifying at least one process waiting for the released at least one futex.
    Type: Grant
    Filed: February 1, 2007
    Date of Patent: August 24, 2010
    Assignee: Red Hat, Inc.
    Inventors: Ingo Molnar, Thomas Gleixner, Ulrich Drepper
  • Publication number: 20100131956
    Abstract: Methods and systems for managing program-level parallelism in a multi-core processor environment are provided. The methods for managing parallel execution of processes associated with computer programs include providing an agent process in an application space, which is operatively coupled to an operating system having a kernel configured to determine processor configuration information. The application space may be a runtime environment or a user space of the operating system, and has a lower privilege level than the kernel. The agent process retrieves the processor configuration information from the kernel, and after receiving a request for the processor configuration information from application processes running in the application space, the agent process provides a response to the requesting application process.
    Type: Application
    Filed: November 24, 2008
    Publication date: May 27, 2010
    Inventor: Ulrich DREPPER
  • Patent number: 7698278
    Abstract: A computing device includes a local directory service cache. The local directory service cache is a live database. The directory service cache is stored in a shared memory space. In certain embodiments of the invention, client processes needing directory services can directly access the local directory service cache via memory mapping. A caching program updates and maintains the database and obtains the needed data if a cache miss is encountered. Some socket communications between the client processes and the caching program may be used to update database entries, notify the caching program of cache misses, etc.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: April 13, 2010
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Publication number: 20080301644
    Abstract: A method and apparatus for facilitating availability of object data types at runtime are described. In one embodiment, the method may include parsing debug information generated by a compiler for a software program, identifying in the debug information desired data types and objects associated with the desired data types, and creating for each desired data type an object list including references to associated objects. The method may further include adding resulting object lists to a set of object files generated by the compiler for the software program. The set of object files with the added object lists may then be used by a linker when creating an executable file for the software program.
    Type: Application
    Filed: May 30, 2007
    Publication date: December 4, 2008
    Inventor: Ulrich Drepper
  • Publication number: 20080201613
    Abstract: An embodiment relates generally to an apparatus for debugging. The apparatus includes a memory configured to store data and an arithmetic logic unit configured to perform logical and arithmetic operations. The apparatus also includes a control unit configured to interface with the memory and arithmetic logic unit and to decode instructions. The control unit is configured to write a data state designated to be overwritten by a currently executing instruction to a buffer allocated in the memory in response to a trace debug flag being set.
    Type: Application
    Filed: February 20, 2007
    Publication date: August 21, 2008
    Inventor: Ulrich Drepper