Patents by Inventor Stephen Paul Thomas

Stephen Paul Thomas 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: 8631219
    Abstract: A computer system which includes a plurality of threads and a garbage collector that traces memory objects and identifies memory objects according to a three-color abstraction. The computer system also includes two methods of deleting compiled code in a self-modifying multi-threaded computer system. The computer system also utilizes a method of handling links between fragments of code in a self-modifying multi-threaded computer system. The computer system also handles patches between two pieces of code.
    Type: Grant
    Filed: February 3, 2012
    Date of Patent: January 14, 2014
    Assignee: Myriad Group AG
    Inventors: Stephen Paul Thomas, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Wayne Plummer
  • Publication number: 20120278581
    Abstract: A computer system which includes a plurality of threads and a garbage collector that traces memory objects and identifies memory objects according to a three-color abstraction. The computer system also includes two methods of deleting compiled code in a self-modifying multi-threaded computer system. The computer system also utilizes a method of handling links between fragments of code in a self-modifying multi-threaded computer system. The computer system also handles patches between two pieces of code.
    Type: Application
    Filed: February 3, 2012
    Publication date: November 1, 2012
    Applicant: MYRIAD GROUP AG
    Inventors: Stephen Paul Thomas, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Wayne Plummer
  • Patent number: 8127280
    Abstract: A computer system which includes a plurality of threads and a garbage collector that traces memory objects and identifies memory objects according to a three-color abstraction. The computer system also includes two methods of deleting compiled code in a self-modifying multi-threaded computer system. The computer system also utilizes a method of handling links between fragments of code in a self-modifying multi-threaded computer system. The computer system also handles patches between two pieces of code.
    Type: Grant
    Filed: June 29, 2007
    Date of Patent: February 28, 2012
    Assignee: Myriad Group AG
    Inventors: Stephen Paul Thomas, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Wayne Plummer
  • Patent number: 7080366
    Abstract: A dynamic compiler and method of compiling code to generate a dominate path and handle exceptions. The dynamic compiler includes an execution history recorder that is configured to record the number of times a fragment of code is interpreted. When the code is interpreted a threshold number of times, the code is queued for compilation. The execution history recorder also keeps track of where transfer of control came from and where transfer of control goes to for each fragment of code that is executed, thereby allowing for compilation of a dominant path of code. If the execution of code deviates from the dominant path of compiled code (such as when an exception occurs), a fallback interpreter is utilized to interpret the fragment of code to be executed.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: July 18, 2006
    Assignee: Esmertec AG
    Inventors: Jeremy Paul Kramskoy, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Wayne Plummer, Jeremy James Sexton, Michael John Wynn, Keith Rautenback, Stephen Paul Thomas
  • Patent number: 7069549
    Abstract: A method and system multi-threaded fragment patching. The method provides a link in a self-modifying multi-threaded computer system between a first and a second piece of compiled code where the first piece of compiled code includes a control transfer instruction to the second piece of compiled code. The link is formed by inserting a patch from the first piece of compiled code to the second piece of compiled code. The patch may be a direct reference or a reference to an outlier.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: June 27, 2006
    Assignee: Esmertec AG
    Inventors: William Thomas Charnell, Wayne Plummer, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Stephen Paul Thomas
  • Patent number: 7058929
    Abstract: A system and method of direct invocation of Methods using class loaders. The method includes compiling a call to and a Method of a first class (assuming that the Method is final), determining whether the second class includes an instance of the Method of the first class, determining whether the instance of the Method of the second class overrides the Method of the first class, and altering the compiled code of the Method of the first class if the instance of the Method of the second class overrides the Method of the first class.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: June 6, 2006
    Assignee: Esmertec AG
    Inventors: William Thomas Charnell, Wayne Plummer, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Stephen Paul Thomas
  • Patent number: 7039738
    Abstract: A method and system for handling device driver interrupts in a computer system. An interrupt handling Method is initiating prior to the occurrence of any interrupts in the computer system. The interrupt handling Method is executed to a waiting state, and execution is then resumed when an interrupt occurs. When an interrupt is detected control is transferred to the operating system and the interrupt is dismissed.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: May 2, 2006
    Assignee: Esmertec AG
    Inventors: Wayne Plummer, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenback, Stephen Paul Thomas
  • Patent number: 7007005
    Abstract: A method and structure for reducing search times. The method includes examining the entries in a list in turn beginning with the entry pointed to by a start pointer and continuing until the particular entry is found. The start pointer is then reset to point at the particular entry that was found. The next search will therefore begin to search at the location where the last search ended. Such a strategy increases the likelihood of locating the particular entry faster. The list of entries includes next entry pointers that point to another entry in the list such that the next entry pointers together form a closed loop. If the entire list is searched and the particular entry is not found, the search is aborted.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: February 28, 2006
    Assignee: Esmertec AG
    Inventors: Keith Rautenback, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Wayne Plummer, Stephen Paul Thomas
  • Patent number: 6925637
    Abstract: A method and system of carrying out garbage collection in a computer system. Specifically, the method and system utilize low contention grey object sets for concurrent marking garbage collection. A garbage collector traces memory objects and identifies memory objects according to a three-color abstraction, identifying a memory object with a certain color if that memory object itself has been encountered by the garbage collector, but some of the objects to which the memory object refers have not yet been encountered. A packet manager organizes memory objects identified with the certain color into packets, provides services to obtain empty or partially full packets, and obtain full or partially full packets, and verifies whether a packet of the certain color is being accessed by one of the threads of the garbage collector.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: August 2, 2005
    Assignee: Esmertec AG
    Inventors: Stephen Paul Thomas, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenback, Wayne Plummer
  • Patent number: 6901587
    Abstract: A method and a system of cache management using spatial separation of outliers. The system includes a dynamic compiler arranged to create compiled fragments of code having dominant code blocks and outliers. Memory coupled to the dynamic compiler is managed by a compiler manager such that dominant code blocks are stored in one portion of the memory and the outliers are stored in another portion of the memory. Storing the dominant path code separate from the outliers increases efficiency of the system.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: May 31, 2005
    Assignee: Esmertec AG
    Inventors: Jeremy Paul Kramskoy, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Wayne Plummer, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Stephen Paul Thomas
  • Patent number: 6862728
    Abstract: A hash table dispatch mechanism for interface Methods. The mechanism reduces dispatch times during the execution of an object-oriented language program. An interface hash table having a pointer as an index for either a specific location in a corresponding dispatch table or an interface Method of the program is created for a dispatch table. The interface hash table has an address and a plurality of slots having a hash value related to an interface Method. The mechanism includes a recovery Method for resolving conflicts when two or more slots in the interface hash table contain clashing values.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: March 1, 2005
    Assignee: Esmertec AG
    Inventors: Stephen Darnell, William Thomas Charnell, Wayne Plummer, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenback, Stephen Paul Thomas
  • Patent number: 6766513
    Abstract: A method and a system of memory management using stack walking. The method of managing memory in a computer system includes identifying compiled code to be deleted, examining the return addresses of the frames in the stack, determining whether any of the return address of the frames are in the range of addresses of the compiled code to be deleted, and if they are, then altering the contents of the frame determined to have a return address in the range of addresses of the compiled code to be deleted.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: July 20, 2004
    Assignee: Esmertec AG
    Inventors: William Thomas Charnell, Wayne Plummer, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenback, Stephen Paul Thomas
  • Patent number: 6691303
    Abstract: A method and system of testing and verifying computer code in a multi-threaded environment. The method includes testing a first piece of computer code that is an implementation of a specification against a second piece of computer code that is a different implementation of the specification. Corresponding synchronization points in the first and second pieces of code are defined and the first piece of code is executed to the first synchronization point of the first piece of code. A state message is generated and sent to the second piece of code. The second piece of code is executed to the first synchronization point of the second piece of code and then a state after message is generated and compared to the state before message. The synchronization points are generally selected from a group including conditional transfers of control, Method calls, Method returns, and backward transfers of control.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: February 10, 2004
    Assignee: Esmertec AG
    Inventors: Philippa Joy Guthrie, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Wayne Plummer, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenback, Stephen Paul Thomas
  • Publication number: 20020165848
    Abstract: A method and structure for reducing search times. The method includes examining the entries in a list in turn beginning with the entry pointed to by a start pointer and continuing until the particular entry is found. The start pointer is then reset to point at the particular entry that was found. The next search will therefore begin to search at the location where the last search ended. Such a strategy increases the likelihood of locating the particular entry faster. The list of entries includes next entry pointers that point to another entry in the list such that the next entry pointers together form a closed loop. If the entire list is searched and the particular entry is not found, the search is aborted.
    Type: Application
    Filed: May 16, 2001
    Publication date: November 7, 2002
    Applicant: Insignia Solutions, PLC
    Inventors: Keith Rautenbach, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Wayne Plummer, Stephen Paul Thomas
  • Publication number: 20020112227
    Abstract: A dynamic compiler and method of compiling code to generate a dominate path and handle exceptions. The dynamic compiler includes an execution history recorder that is configured to record the number of times a fragment of code is interpreted. When the code is interpreted a threshold number of times, the code is queued for compilation. The execution history recorder also keeps track of where transfer of control came from and where transfer of control goes to for each fragment of code that is executed, thereby allowing for compilation of a dominant path of code. If the execution of code deviates from the dominant path of compiled code (such as when an exception occurs), a fallback interpreter is utilized to interpret the fragment of code to be executed.
    Type: Application
    Filed: May 16, 2001
    Publication date: August 15, 2002
    Applicant: Insignia Solutions, PLC.
    Inventors: Jeremy Paul Kramskoy, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Wayne Plummer, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Stephen Paul Thomas
  • Publication number: 20020108107
    Abstract: A hash table dispatch mechanism for interface Methods. The mechanism reduces dispatch times during the execution of an object-oriented language program. An interface hash table having a pointer as an index for either a specific location in a corresponding dispatch table or an interface Method of the program is created for a dispatch table. The interface hash table has an address and a plurality of slots having a hash value related to an interface Method. The mechanism includes a recovery Method for resolving conflicts when two or more slots in the interface hash table contain clashing values.
    Type: Application
    Filed: May 16, 2001
    Publication date: August 8, 2002
    Applicant: Insignia Solutions, PLC
    Inventors: Stephen Darnell, William Thomas Charnell, Wayne Plummer, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Stephen Paul Thomas
  • Publication number: 20020108106
    Abstract: A method and a system of cache management using spatial separation of outliers. The system includes a dynamic compiler arranged to create compiled fragments of code having dominant code blocks and outliers. Memory coupled to the dynamic compiler is managed by a compiler manager such that dominant code blocks are stored in one portion of the memory and the outliers are stored in another portion of the memory. Storing the dominant path code separate from the outliers increases efficiency of the system.
    Type: Application
    Filed: May 16, 2001
    Publication date: August 8, 2002
    Applicant: Insignia Solutions, PLC.
    Inventors: Jeremy Paul Kramskoy, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Wayne Plummer, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Stephen Paul Thomas
  • Publication number: 20020104077
    Abstract: A method and system of multi-threaded fragment patching. The method provides a link in a self-modifying multi-threaded computer system between a first and a second piece of compiled code where the first piece of compiled code includes a control transfer instruction to the second piece of compiled code. The link is formed by inserting a patch from the first piece of compiled code to the second piece of compiled code. The patch may be a direct reference or a reference to an outlier.
    Type: Application
    Filed: May 16, 2001
    Publication date: August 1, 2002
    Applicant: Insignia Solutions, PLC.
    Inventors: William Thomas Charnell, Wayne Plummer, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Stephen Paul Thomas
  • Publication number: 20020049865
    Abstract: A system and method of direct invocation of Methods using class loaders. The method includes compiling a call to and a Method of a first class (assuming that the Method is final), partially loading a second class, determining whether the second class includes an instance of the Method of the first class, determining whether the instance of the Method of the second class overrides the Method of the first class, and altering the compiled code of the Method of the first class if the instance of the Method of the second class overrides the Method of the first class.
    Type: Application
    Filed: May 16, 2001
    Publication date: April 25, 2002
    Applicant: Insignia Solutions, PLC
    Inventors: William Thomas Charnell, Wayne Plummer, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Stephen Paul Thomas
  • Publication number: 20020042807
    Abstract: A method and system of carrying out garbage collection in a computer system. Specifically, the method and system utilize low contention grey object sets for concurrent marking garbage collection. A garbage collector traces memory objects and identifies memory objects according to a three-color abstraction, identifying a memory object with a certain color if that memory object itself has been encountered by the garbage collector, but some of the objects to which the memory object refers have not yet been encountered. A packet manager organizes memory objects identified with the certain color into packets, provides services to obtain empty or partially full packets, and obtain full or partially full packets, and verifies whether a packet of the certain color is being accessed by one of the threads of the garbage collector.
    Type: Application
    Filed: May 16, 2001
    Publication date: April 11, 2002
    Applicant: Insignia Solutions, PLC.
    Inventors: Stephen Paul Thomas, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Wayne Plummer