Patents by Inventor Jeremy Paul Kramskoy
Jeremy Paul Kramskoy 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: 8631219Abstract: 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: GrantFiled: February 3, 2012Date of Patent: January 14, 2014Assignee: Myriad Group AGInventors: 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: 20120278581Abstract: 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: ApplicationFiled: February 3, 2012Publication date: November 1, 2012Applicant: MYRIAD GROUP AGInventors: 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: 8127280Abstract: 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: GrantFiled: June 29, 2007Date of Patent: February 28, 2012Assignee: Myriad Group AGInventors: 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: 7080366Abstract: 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: GrantFiled: May 16, 2001Date of Patent: July 18, 2006Assignee: Esmertec AGInventors: 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: 7069549Abstract: 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: GrantFiled: May 16, 2001Date of Patent: June 27, 2006Assignee: Esmertec AGInventors: 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: 7058929Abstract: 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: GrantFiled: May 16, 2001Date of Patent: June 6, 2006Assignee: Esmertec AGInventors: 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: 7039738Abstract: 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: GrantFiled: May 16, 2001Date of Patent: May 2, 2006Assignee: Esmertec AGInventors: 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: 7007005Abstract: 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: GrantFiled: May 16, 2001Date of Patent: February 28, 2006Assignee: Esmertec AGInventors: 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: 6976254Abstract: A bytecode execution system and method for increasing the execution speed of invoking and returning from Methods while minimizing the memory footprint required to support this. The system includes a virtual machine with a class loader and an interpreter or, alternatively, a hardware accelerator. Speed and memory enhancements are realized by establishing an activation stack frame template with a set of criteria. Each Method from subject code is examined to determine whether the Method conforms to the criteria of the stack frame template. If the Method conforms, an activation frame for that Method based on the activation stack frame template is created when the Method is invoked. Otherwise, an activation frame based on standard virtual machine criteria is created. An access structure is associated with each Method and a Method routing structure is created for each class.Type: GrantFiled: November 28, 2001Date of Patent: December 13, 2005Assignee: Esmertec AGInventor: Jeremy Paul Kramskoy
-
Patent number: 6925637Abstract: 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: GrantFiled: May 16, 2001Date of Patent: August 2, 2005Assignee: Esmertec AGInventors: 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: 6901587Abstract: 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: GrantFiled: May 16, 2001Date of Patent: May 31, 2005Assignee: Esmertec AGInventors: 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: 6862728Abstract: 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: GrantFiled: May 16, 2001Date of Patent: March 1, 2005Assignee: Esmertec AGInventors: 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: 6766513Abstract: 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: GrantFiled: May 16, 2001Date of Patent: July 20, 2004Assignee: Esmertec AGInventors: 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: 6691303Abstract: 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: GrantFiled: May 16, 2001Date of Patent: February 10, 2004Assignee: Esmertec AGInventors: 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: 20030110200Abstract: A bytecode execution system and method for increasing the execution speed of invoking and returning from Methods while minimizing the memory footprint required to support this. The system includes a virtual machine with a class loader and an interpreter or, alternatively, a hardware accelerator. Speed and memory enhancements are realized by establishing an activation stack frame template with a set of criteria. Each Method from subject code is examined to determine whether the Method conforms to the criteria of the stack frame template. If the Method conforms, an activation frame for that Method based on the activation stack frame template is created when the Method is invoked. Otherwise, an activation frame based on standard virtual machine criteria is created. An access structure is associated with each Method and a Method routing structure is created for each class.Type: ApplicationFiled: November 28, 2001Publication date: June 12, 2003Applicant: Insignia Solutions, plcInventor: Jeremy Paul Kramskoy
-
Publication number: 20020165848Abstract: 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: ApplicationFiled: May 16, 2001Publication date: November 7, 2002Applicant: Insignia Solutions, PLCInventors: 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: 20020112227Abstract: 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: ApplicationFiled: May 16, 2001Publication date: August 15, 2002Applicant: 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: 20020108106Abstract: 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: ApplicationFiled: May 16, 2001Publication date: August 8, 2002Applicant: 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: 20020108107Abstract: 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: ApplicationFiled: May 16, 2001Publication date: August 8, 2002Applicant: Insignia Solutions, PLCInventors: 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: 20020104077Abstract: 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: ApplicationFiled: May 16, 2001Publication date: August 1, 2002Applicant: 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