Patents Assigned to QNX Software Systems GmbH & Co. KG
  • Publication number: 20120210104
    Abstract: Suspendable interrupts are described that allow a processor to remain in an idle state for a longer period of time. Each suspendable interrupt defines a maximum delay value that specifies the maximum delay software associated with the interrupt can wait between a receipt of an interrupt signal associated with the suspendable interrupt and raising the interrupt for servicing by the software. The delay value allows suspendable interrupts to be masked when a processor is placed in the idle state if they can be dealt with at a next scheduled wake time of the processor, allowing the processor to potentially remain in the idle state for a longer period of time.
    Type: Application
    Filed: February 14, 2011
    Publication date: August 16, 2012
    Applicant: QNX SOFTWARE SYSTEMS GMBH & CO. KG
    Inventor: Attilla Danko
  • Publication number: 20110282921
    Abstract: A publish-subscribe system publishes events associated with one or more objects represented by files within a file system. The files may be accessed using a file system application programming interface by both publishers and subscribers. Each file may contain an identifier and a plurality of attributes and each attribute may have a name and a value. The files and the associated objects may be persisted to compensate for restarts and failures of a computing platform hosting the system for publish-subscribe.
    Type: Application
    Filed: May 14, 2010
    Publication date: November 17, 2011
    Applicant: QNX Software Systems GmbH & Co. KG
    Inventor: Dan Dodge
  • Patent number: 7996843
    Abstract: The present invention relates generally to computer operating systems, and more specifically, to operating system calls in a symmetric multiprocessing (SMP) environment. Existing SMP strategies either use a single lock or multiple locks to limit access to critical areas of the operating system to one thread at a time. These strategies suffer from a number of performance problems including slow execution, large software and execution overheads and deadlocking problems. The invention applies a single lock strategy to a micro kernel operating system design which delegates functionality to external processes. The micro kernel has a single critical area, the micro kernel itself, which executes very quickly, while the external processes are protected by proper thread management. As a result, a single lock may be used, overcoming the performance problems of the existing strategies.
    Type: Grant
    Filed: September 5, 2006
    Date of Patent: August 9, 2011
    Assignee: QNX Software Systems GmbH & Co. KG
    Inventor: Peter Van Der Veen
  • Patent number: 7987190
    Abstract: A system comprising a processor, a data storage device that is accessible by the processor, and filesystem software that is executable by the processor to organize files on the data storage device are provided. The filesystem software is executable to maintain a filename cache having variable size filename entries. The filename entries may include a filename header section and a name section storing an entire filename of a corresponding file.
    Type: Grant
    Filed: December 3, 2010
    Date of Patent: July 26, 2011
    Assignee: QNX Software Systems GmbH & CO. KG
    Inventors: Dan Dodge, Peter ver der Veen
  • Patent number: 7970803
    Abstract: A computer system having a transaction based file system is disclosed. The computer system includes file system software that manages the file data and the file system structure of files stored on a persistent data storage device and maintains a transaction file that includes a plurality of transaction records. Each of the transaction records has a header section and a data section. The header section of each transaction record includes one or more fields that are designated to store information corresponding to a file transaction that is represented by the transaction record. The file system software executes a startup process in which a reconstructed file system is generated in random access memory. The startup process skips verification of the data section of a transaction record when the transaction record meets one or more predetermined criterion.
    Type: Grant
    Filed: July 1, 2005
    Date of Patent: June 28, 2011
    Assignee: QNX Software Systems GmbH & Co. KG
    Inventor: Dan Dodge
  • Publication number: 20110107342
    Abstract: A system is set forth that includes a processor, one or more memory storage units, and software code stored in the one or more memory storage units. The software code is executable by the processor to generate a plurality of adaptive partitions that are each associated with one or more process threads. Each of the plurality, of adaptive partitions has one or more corresponding scheduling attributes that are assigned to it. The software code further includes a scheduling system that is executable by the processor for selectively allocating the processor to run the process threads based on a comparison between ordering function values for each adaptive partition. The ordering function value for each adaptive partition is calculated using one or more of the scheduling attributes of the corresponding adaptive partition.
    Type: Application
    Filed: December 23, 2010
    Publication date: May 5, 2011
    Applicant: QNX Software Systems GmbH & Co. KG
    Inventors: Dan Dodge, Attilla Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Publication number: 20110078219
    Abstract: A system comprising a processor, a data storage device that is accessible by the processor, and filesystem software that is executable by the processor to organize files on the data storage device are provided. The filesystem software is executable to maintain a filename cache having variable size filename entries. The filename entries may include a filename header section and a name section storing an entire filename of a corresponding file.
    Type: Application
    Filed: December 3, 2010
    Publication date: March 31, 2011
    Applicant: QNX SOFTWARE SYSTEMS GMBH & CO. KG
    Inventors: Dan Dodge, Peter van der Veen
  • Patent number: 7917725
    Abstract: A processing system includes memory management software responsive to changes in a page table to consolidate a run of contiguous page table entries into a page table entry having a larger memory page size. The memory management software determines whether the run of contiguous page table entries may be cached using the larger memory page size in an entry of a translation lookaside buffer. The translation lookaside buffer may be a MIPS-like TLB in which multiple page table entries are cached in each TLB entry.
    Type: Grant
    Filed: September 11, 2007
    Date of Patent: March 29, 2011
    Assignee: QNX Software Systems GmbH & Co., KG
    Inventor: Brian Stecher
  • Publication number: 20110072060
    Abstract: An electronic data system comprises memory storage having stored data, file system software, and a transaction file. The transaction file is maintained by the file system software, and includes a plurality of transaction records corresponding to transactions that have been or are to be executed on one or more files and/or the or more directories of the file system. The file system software operates to organize and maintain the stored data in the files and directories and also to coalesce multiple transaction records meeting one or more criteria into fewer coalesced transaction records. The physical memory space required by the transaction file is reduced by the transaction record coalescing. The coalesced transaction records may be constructed so that they represent a logical result of applying each transaction record of a transaction record set in chronological order.
    Type: Application
    Filed: November 29, 2010
    Publication date: March 24, 2011
    Applicant: QNX SOFTWARE SYSTEMS GMBH & CO. KG
    Inventor: Dan Dodge
  • Publication number: 20110072061
    Abstract: A computer system that may be used in implementing a transaction based file system is disclosed. The computer system includes a processor, random access memory that may be accessible by the processor, and a persistent data storage device that is likewise accessible by the processor. The computer system also may include file system software. The file system software may be executed by the processor and operates to manage the file data and the file system structure of the files stored on the persistent data storage device. Additionally, the file system software may maintain a transaction file that includes a plurality of transaction records. Each of the transaction records has a header section and a data section. The header section of each transaction record may include one or more fields that are designated to store information corresponding to a file transaction that is represented by the transaction record.
    Type: Application
    Filed: December 1, 2010
    Publication date: March 24, 2011
    Applicant: QNX SOFTWARE SYSTEMS GMBH & CO. KG
    Inventor: Dan Dodge
  • Patent number: 7908276
    Abstract: A system comprising a processor, a data storage device that is accessible by the processor, and filesystem software that is executable by the processor to organize files on the data storage device are provided. The filesystem software is executable to maintain a filename cache having variable size filename entries. The filename entries may include a filename header section and a name section storing an entire filename of a corresponding file.
    Type: Grant
    Filed: March 13, 2007
    Date of Patent: March 15, 2011
    Assignee: QNX Software Systems GmbH & Co. KG
    Inventors: Dan Dodge, Peter van der Veen
  • Publication number: 20110050688
    Abstract: The present invention relates generally to computer graphics, and more specifically to methods of, and systems for, configuring, controlling and accessing multiple hardware graphics layers that are used to compose a single video display.
    Type: Application
    Filed: November 5, 2010
    Publication date: March 3, 2011
    Applicants: QNX Software Systems GmbH & Co., KG
    Inventors: Darrin Fry, Angela Lin, David Donohoe
  • Patent number: 7873683
    Abstract: An electronic data system comprises memory storage having stored data, file system software, and a transaction file. The transaction file is maintained by the file system software, and includes a plurality of transaction records corresponding to transactions that have been or are to be executed on one or more files and/or the or more directories of the file system. The file system software operates to organize and maintain the stored data in the files and directories and also to coalesce multiple transaction records meeting one or more criteria into fewer coalesced transaction records. The physical memory space required by the transaction file is reduced by the transaction record coalescing. The coalesced transaction records may be constructed so that they represent a logical result of applying each transaction record of a transaction record set in chronological order.
    Type: Grant
    Filed: June 9, 2006
    Date of Patent: January 18, 2011
    Assignee: QNX Software Systems GmbH & Co. KG
    Inventor: Dan Dodge
  • Patent number: 7870554
    Abstract: A system includes a processor, one or more memory storage units, and software code stored in the memory storage units. The software code is executable by the processor to generate a plurality of adaptive partitions that are each associated with one or more process threads. Each of adaptive partition has one or more corresponding assigned scheduling attributes. The software code includes a scheduling system for selectively allocating the processor to run process threads based on a comparison between ordering function values for each adaptive partition. Ordering function values are calculated based on scheduling attributes of the corresponding adaptive partition. A critical ordering function value also may be calculated and used to determine the proper manner of billing an associated adaptive partition for the processor allocation used to run its associated critical threads. Methods of implementing various aspects of such a system are also set forth.
    Type: Grant
    Filed: March 8, 2006
    Date of Patent: January 11, 2011
    Assignee: QNX Software Systems GmbH & Co. KG
    Inventors: Dan Dodge, Attilla Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Patent number: 7840966
    Abstract: A system is set forth that includes a processor, one or more memory storage units, and software code stored in the one or more memory storage units. The software code is executable by the processor to generate a plurality of adaptive partitions that are each associated with one or more process threads. Each of the plurality of adaptive partitions has a corresponding processor time budget. One or more of the process threads are designated as critical threads. Each adaptive partition associated with a critical thread is assigned a corresponding critical time budget. The software code also includes a scheduling system that is executable by the processor for selectively allocating the processor to run the process threads based, at least in part, on the processor time budgets of the respective adaptive partitions.
    Type: Grant
    Filed: March 8, 2006
    Date of Patent: November 23, 2010
    Assignee: QNX Software Systems GmbH & Co. KG
    Inventors: Dan Dodge, Attilla Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Patent number: 7840682
    Abstract: An improved distributed operating system over a network of computer systems is described. Existing distributed operating systems have transmission performance limitations dictated by their inability to (1) reliably handle transient communication failures and rapid node reboots, (2) provide a transmission protocol that adapts to link reliability, and (3) allow transmissions to occur over an arbitrary combinations of communication links. The systems and methods described herein solve these problems by providing a reliable node-to-node session protocol that offers high performance message delivery and multi-interface management and support. This is done by transmitting all data between two nodes of the operating system over a single connection that may dynamically exploit multiple interfaces between the nodes.
    Type: Grant
    Filed: June 3, 2005
    Date of Patent: November 23, 2010
    Assignee: QNX Software Systems, GmbH & Co. KG
    Inventor: Andrew Boyd
  • Patent number: 7830372
    Abstract: The present invention relates generally to computer graphics, and more specifically to methods of, and systems for, configuring, controlling and accessing multiple hardware graphics layers that are used to compose a single video display.
    Type: Grant
    Filed: August 30, 2004
    Date of Patent: November 9, 2010
    Assignee: QNX Software Systems GmbH & Co. KG
    Inventors: Darrin Fry, Angela Lin, David Donohoe
  • Publication number: 20100253693
    Abstract: A system aids composited graphics rendering. A script and corresponding virtual machine engine code may be stored in memory. An off-screen buffer is generated in the memory by the script. The off-screen buffer includes an extended stage having first a buffer portion. The buffer portion may include pre-rendered graphical object. An on-screen buffer may include a composition of the pre-rendered graphical objects of the extended stage. The script renders a graphical change to the on-screen buffer using independent block copying, from the extended stage to corresponding target areas in the on-screen buffer, of one or more of the pre-rendered graphics of the extended stage area affected by the graphical changes.
    Type: Application
    Filed: March 25, 2010
    Publication date: October 7, 2010
    Applicant: QNX Software Systems GmbH & Co. KG
    Inventors: Paul Streatch, Roger MacLean, Dan Dodge
  • Patent number: 7809777
    Abstract: A computer system employs file system software to maintain a transaction file that includes a plurality of transaction records that each include a header section and a data section. The file system software executes a startup process in which a reconstructed file system is generated in a random access memory. During startup, the file system software selectively verifies only the header section of a transaction record or both the header section and data section of a transaction record based on certain criterion. The transaction records may be stored in Flash memory.
    Type: Grant
    Filed: July 1, 2005
    Date of Patent: October 5, 2010
    Assignee: QNX Software Systems GmbH & Co. KG
    Inventor: Dan Dodge
  • Patent number: 7793070
    Abstract: A processing system includes memory management software responsive to a translation lookaside buffer miss. The memory management software updates translation lookaside buffer information based on one or more missed virtual addresses. Entries of a first translation lookaside buffer are updated by the memory management software with information corresponding to the missed virtual addresses if memory page size information for the missed virtual addresses meet a first criterion. Entries of a second translation lookaside buffer are updated by the memory management software with information corresponding to the missed virtual addresses if memory page size information for the missed virtual addresses meet a second criterion. The first and second criterion may correspond to first and second memory page sizes supported by the respective translation lookaside buffers.
    Type: Grant
    Filed: July 12, 2007
    Date of Patent: September 7, 2010
    Assignee: QNX Software Systems GmbH & Co. KG
    Inventor: Brian Stecher