Patents by Inventor Dan Dodge

Dan Dodge 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: 10135938
    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: Grant
    Filed: April 15, 2015
    Date of Patent: November 20, 2018
    Assignee: 2236008 Ontario Inc.
    Inventor: Dan Dodge
  • Patent number: 9424093
    Abstract: A system includes 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 process threads and that each have a corresponding processor budget. The code also is executable to, when the system is under a normal load, allocate the processor to one of the threads that is in a ready state and has the highest priority among the process threads that are in a ready state. The code is also executable to, when the system is in overload, allocate the processor to one of the process threads that is in a ready state and has the highest priority among the process threads that are in a ready state and for which the adaptive partition that the process thread is associated with has available guaranteed processor budget.
    Type: Grant
    Filed: April 29, 2013
    Date of Patent: August 23, 2016
    Assignee: 2236008 Ontario Inc.
    Inventors: Dan Dodge, Attila Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Publication number: 20160179575
    Abstract: An adaptive partition scheduler is a priority-based scheduler that also provides execution time guarantees (fair-share). Execution time guarantees apply to threads or groups of threads when the system is overloaded. When the system is not overloaded, threads are scheduled based strictly on priority, maintaining strict real-time behavior. When the system is overloaded, threads are scheduled based priority of threads that are in a ready state and based on the available guaranteed processor time budget of the adaptive partition associated with each thread.
    Type: Application
    Filed: February 25, 2013
    Publication date: June 23, 2016
    Inventors: Dan Dodge, Attila Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Patent number: 9361156
    Abstract: An adaptive partition scheduler is a priority-based scheduler that also provides execution time guarantees (fair-share). Execution time guarantees apply to threads or groups of threads when the system is overloaded. When the system is not overloaded, threads are scheduled based strictly on priority, maintaining strict real-time behavior. When the system is overloaded, threads are scheduled based priority of threads that are in a ready state and based on the available guaranteed processor time budget of the adaptive partition associated with each thread.
    Type: Grant
    Filed: February 25, 2013
    Date of Patent: June 7, 2016
    Assignee: 2236008 ONTARIO INC.
    Inventors: Dan Dodge, Attila Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Publication number: 20150222722
    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: April 15, 2015
    Publication date: August 6, 2015
    Inventor: Dan Dodge
  • Patent number: 9026567
    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: Grant
    Filed: May 14, 2010
    Date of Patent: May 5, 2015
    Assignee: 2236008 Ontario Inc.
    Inventor: Dan Dodge
  • Patent number: 9014530
    Abstract: A system comprises a movie clip environment in which a movie clip object is defined, and a native application that is external to the movie clip environment. The native application renders an image to an off-screen surface of the system. A composition manager is responsive to communications from the movie clip object to control where the off-screen surface is to be rendered on a display screen. The composition manager may be responsive to communications from the movie clip object to direct the native application to control one or more properties of the image of the off-screen surface.
    Type: Grant
    Filed: August 12, 2008
    Date of Patent: April 21, 2015
    Assignee: 2236008 Ontario Inc.
    Inventors: Dan Dodge, Paul Streatch, Roger Maclean
  • Patent number: 8976187
    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: Grant
    Filed: March 25, 2010
    Date of Patent: March 10, 2015
    Assignee: 2236008 Ontario, Inc.
    Inventors: Paul Streatch, Roger MacLean, Dan Dodge
  • Patent number: 8959125
    Abstract: A computer system that improves upon the traditional file system hierarchy is disclosed. The computer system includes a processor and a persistent data storage device that is accessible by the processor. The system also may include file system software that is executed by the processor. The file system software may operate to organize the files of the persistent data storage device into a plurality of records that are contained in a metafile. Within the metafile, the files and directories of the file system may be organized in an inverted hierarchical structure. In the inverted hierarchical structure, records corresponding to child files and child directories of a parent directory may directly point to a record in the metafile that corresponds to the parent directory. In one implementation of the file system, individual records of the metafile may be each addressable by a file identifier.
    Type: Grant
    Filed: July 1, 2005
    Date of Patent: February 17, 2015
    Assignee: 226008 Ontario Inc.
    Inventor: Dan Dodge
  • Publication number: 20140245311
    Abstract: An adaptive partition scheduler is a priority-based scheduler that also provides execution time guarantees (fair-share). Execution time guarantees apply to threads or groups of threads when the system is overloaded. When the system is not overloaded, threads are scheduled based strictly on priority, maintaining strict real-time behavior. When the system is overloaded, threads are scheduled based priority of threads that are in a ready state and based on the available guaranteed processor time budget of the adaptive partition associated with each thread.
    Type: Application
    Filed: February 25, 2013
    Publication date: August 28, 2014
    Applicant: QNX SOFTWARE SYSTEMS LIMITED
    Inventors: Dan Dodge, Attila Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Patent number: 8667029
    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. The file system software executes a startup process in which a reconstructed file system is generated in random access memory from the transaction records. The startup process may skip verification of some of the transactions. The file system software may error check at least one of the skipped transactions in response to a request to access a file identified by a file node record in the reconstructed filed system after the startup process is completed.
    Type: Grant
    Filed: August 30, 2011
    Date of Patent: March 4, 2014
    Assignee: QNX Software Systems Limited
    Inventor: Dan Dodge
  • 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: 8566503
    Abstract: A multimedia system comprising at least two multimedia devices having differing filesystems and/or no filesystem(s), one or more applications, and a media filesystem adapted to communicate with the at least two multimedia devices and the one or more applications is disclosed. The one or more applications are adapted to issue filesystem commands and/or receive filesystem responses in a common filesystem representation with respect to files of the at least two multimedia devices. The media filesystem may accept the filesystem commands from the one or more applications and may provide responses to filesystem commands to the one or more applications using the common filesystem representation.
    Type: Grant
    Filed: March 13, 2007
    Date of Patent: October 22, 2013
    Assignee: QNX Software Systems Limited
    Inventors: Dan Dodge, Peter van der Veen
  • 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
  • Publication number: 20130247066
    Abstract: A system includes 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 process threads and that each have a corresponding processor budget. The code also is executable to, when the system is under a normal load, allocate the processor to one of the threads that is in a ready state and has the highest priority among the process threads that are in a ready state. The code is also executable to, when the system is in overload, allocate the processor to one of the process threads that is in a ready state and has the highest priority among the process threads that are in a ready state and for which the adaptive partition that the process thread is associated with has available guaranteed processor budget.
    Type: Application
    Filed: April 29, 2013
    Publication date: September 19, 2013
    Applicant: QNX SOFTWARE SYSTEMS LIMITED
    Inventors: Dan Dodge, Attila Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Patent number: 8497842
    Abstract: A system includes a touchscreen display and an interface application. The interface application controls the touchscreen display to provide a container and a user interface control. The user interface control may be selected through manipulation of the touchscreen display in an area of the container proximate the user interface control. The user interface application identifies a user manipulation as a mouse movement in response to manipulation of the touchscreen display in an area of the container when the manipulation has a motion magnitude exceeding a threshold value.
    Type: Grant
    Filed: February 28, 2008
    Date of Patent: July 30, 2013
    Assignee: QNX Software Systems Limited
    Inventors: Steve Tomkins, Dan Dodge, Peter Van Der Veen, Xiaodan Tang, Colin Burgess
  • 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
  • Patent number: 8412752
    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: November 29, 2010
    Date of Patent: April 2, 2013
    Assignee: QNX Software Systems Limited
    Inventor: Dan Dodge
  • Patent number: 8387052
    Abstract: An adaptive partition scheduler is a priority-based scheduler that also provides execution time guarantees (fair-share). Execution time guarantees apply to threads or groups of threads when the system is overloaded. When the system is not overloaded, threads are scheduled based strictly on priority, maintaining strict real-time behavior. Even when overloaded, the scheduler provides real-time guarantees to a set of critical threads, as specified by the system architect.
    Type: Grant
    Filed: August 31, 2005
    Date of Patent: February 26, 2013
    Assignee: QNX Software Systems Limited
    Inventors: Dan Dodge, Attila Danko, Sebastien Marineau-Mes, Peter Van Der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Patent number: 8330774
    Abstract: A system compositing images from different applications includes a movie clip based application, an image application, and a compositing application that is in communication with the movie clip based application and the image application. The movie clip based application defines one or more movie clip images for display. The image application provides one or more images for display with the one or more movie clip images. The compositing application operates to composite the one or more movie clip images with the one or more images of the image application for viewing on a display.
    Type: Grant
    Filed: October 29, 2008
    Date of Patent: December 11, 2012
    Assignee: QNX Software Systems Limited
    Inventors: Garry Turcotte, David Donohoe, Dan Dodge, Peter van der Veen, Steve Tomkins, Xiaodan Tang, Colin Burgess