Patents by Inventor Attilla Danko

Attilla Danko 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: 8631409
    Abstract: A symmetric multiprocessing system includes multiple processing units and corresponding instances of an adaptive partition processing scheduler. Each instance of the adaptive partition processing scheduler selectively allocates the respective processing unit to run process threads of one or more adaptive partitions based on a comparison between merit function values of the one or more adaptive partitions. The merit function for a particular partition of the one or more adaptive partitions may be based on whether the adaptive partition has available budget on the respective processing unit. The merit function for a particular partition associated with an instance of the adaptive partition scheduler also, or in the alternative, may be based on whether the adaptive partition has available global budget on the symmetric multiprocessing system.
    Type: Grant
    Filed: April 7, 2008
    Date of Patent: January 14, 2014
    Assignee: QNX Software Systems Limited
    Inventor: Attilla Danko
  • Patent number: 8595733
    Abstract: A system 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. 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 weighted variables for each adaptive partition. The variables include, for example, 1) the process budget, such as a guaranteed time budget, of the adaptive partition, 2) the critical budget, if any, of the adaptive partition, 3) the rate at which the process threads of an adaptive partition consume processor time.
    Type: Grant
    Filed: December 23, 2010
    Date of Patent: November 26, 2013
    Assignee: QNX Software Systems Limited
    Inventors: Dan Dodge, Attilla Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Patent number: 8544013
    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 budget that is assigned to it. The process threads include a mutex holding thread and a mutex waiting thread. The mutex holding thread is associated with a first adaptive partition and may gain exclusive access to a mutex object. The mutex waiting thread is associated with a second adaptive partition and must wait for access to the mutex object while the mutex object is held by the mutex holding thread. The software code further includes a scheduling system that selectively allocates the processor to run the process threads based, at least in part, on the processor budget of the associated adaptive partitions.
    Type: Grant
    Filed: March 8, 2006
    Date of Patent: September 24, 2013
    Assignee: QNX Software Systems Limited
    Inventors: Dan Dodge, Attilla Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Patent number: 8504753
    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: Grant
    Filed: February 14, 2011
    Date of Patent: August 6, 2013
    Assignee: QNX Software Systems Limited
    Inventor: Attilla Danko
  • Patent number: 8434086
    Abstract: A system is set forth comprising a processor and memory storage units storing software code. The software code comprises code for a scheduling system and for generating a plurality of adaptive partitions that are each associated with one or more software threads and that each have a corresponding processor budget. The code also is executable to generate at least one sending thread and at least one receiving thread which responds to communications from the sending thread to execute one or more tasks corresponding to the communications. In operation, the scheduling system selectively allocates the processor to each sending and receiving thread based on the processor budget of the adaptive partition associated with the respective thread. The scheduling system bills the processor budget of the adaptive partition associated with the sending thread for processor allocation used by the receiving thread to respond to communications sent by the sending thread.
    Type: Grant
    Filed: December 22, 2005
    Date of Patent: April 30, 2013
    Assignee: QNX Software Systems Limited
    Inventors: Dan Dodge, Attilla Danko, Sebastien Marineau-Mes, Peter Van Der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Publication number: 20120240125
    Abstract: A system and method of managing resources of an electronic device are described. A solver of the electronic device may receive one or more resource requirements from one or more resource requesters executing on the electronic device. The solver determines a values for resource characteristic based on the received resource requirements and dependency information defining hierarchical dependency between resource characteristic values associated with resources of the electronic device. The determined values of the resource characteristics are then provided to the associated resources of the electronic device.
    Type: Application
    Filed: March 18, 2011
    Publication date: September 20, 2012
    Applicant: QNX SOFTWARE SYSTEMS CO
    Inventors: Attilla Danko, Brian John Stecher
  • 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
  • Patent number: 8245230
    Abstract: A symmetric multiprocessing system includes multiple processing units and corresponding instances of an adaptive partition processing scheduler. Each instance of the adaptive partition processing scheduler selectively allocates the respective processing unit to run process threads of one or more adaptive partitions based on a comparison between merit function values of the one or more adaptive partitions. The merit function for a particular partition of the one or more adaptive partitions may be based on whether the adaptive partition has available budget on the respective central processing unit. The merit function for a particular partition associated with an instance of the adaptive partition scheduler also, or in the alternative, may be based on whether the adaptive partition has available global budget on the symmetric multiprocessing system.
    Type: Grant
    Filed: February 28, 2008
    Date of Patent: August 14, 2012
    Assignee: QNX Software Systems Limited
    Inventor: Attilla Danko
  • 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
  • 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
  • Publication number: 20080235701
    Abstract: A symmetric multiprocessing system includes multiple processing units and corresponding instances of an adaptive partition processing scheduler. Each instance of the adaptive partition processing scheduler selectively allocates the respective processing unit to run process threads of one or more adaptive partitions based on a comparison between merit function values of the one or more adaptive partitions. The merit function for a particular partition of the one or more adaptive partitions may be based on whether the adaptive partition has available budget on the respective processing unit. The merit function for a particular partition associated with an instance of the adaptive partition scheduler also, or in the alternative, may be based on whether the adaptive partition has available global budget on the symmetric multiprocessing system.
    Type: Application
    Filed: April 7, 2008
    Publication date: September 25, 2008
    Inventor: Attilla Danko
  • Publication number: 20080196031
    Abstract: A symmetric multiprocessing system includes multiple processing units and corresponding instances of an adaptive partition processing scheduler. Each instance of the adaptive partition processing scheduler selectively allocates the respective processing unit to run process threads of one or more adaptive partitions based on a comparison between merit function values of the one or more adaptive partitions. The merit function for a particular partition of the one or more adaptive partitions may be based on whether the adaptive partition has available budget on the respective central processing unit. The merit function for a particular partition associated with an instance of the adaptive partition scheduler also, or in the alternative, may be based on whether the adaptive partition has available global budget on the symmetric multiprocessing system.
    Type: Application
    Filed: February 28, 2008
    Publication date: August 14, 2008
    Inventor: Attilla Danko
  • Publication number: 20070061788
    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: March 8, 2006
    Publication date: March 15, 2007
    Inventors: Dan Dodge, Attilla Danko, Sebastien Marineau-Mes, Peter Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Publication number: 20070061809
    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 budget that is assigned to it. The process threads include a mutex holding thread and a mutex waiting thread. The mutex holding thread is associated with a first adaptive partition and may gain exclusive access to a mutex object. The mutex waiting thread is associated with a second adaptive partition and must wait for access to the mutex object while the mutex object is held by the mutex holding thread. The software code further includes a scheduling system that selectively allocates the processor to run the process threads based, at least in part, on the processor budget of the associated adaptive partitions.
    Type: Application
    Filed: March 8, 2006
    Publication date: March 15, 2007
    Inventors: Dan Dodge, Attilla Danko, Sebastien Marineau-Mes, Peter Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Publication number: 20060206881
    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: Application
    Filed: March 8, 2006
    Publication date: September 14, 2006
    Inventors: Dan Dodge, Attilla Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher