Patents by Inventor John M. Holt

John M. Holt 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: 7844665
    Abstract: The present invention discloses a modified computer architecture (50, 71, 72) which enables an applications program (50) to be run simultaneously on a plurality of computers (M1, . . . Mn). Shared memory at each computer is updated with amendments and/or overwrites so that all memory read requests are satisfied locally. During initial program loading (75), or similar, instructions which result in memory being re-written or manipulated are identified (92). Additional instructions are inserted (103) to cause the equivalent memory locations at all computers to be updated. In addition, the initialization of JAVA language classes and objects is disclosed (162, 163) so all memory locations for all computers are initialized in the same manner. The finalization of JAVA language classes and objects is also disclosed (162, 163) so finalization only occurs when the last class or object present on all machines is no longer required.
    Type: Grant
    Filed: April 22, 2005
    Date of Patent: November 30, 2010
    Assignee: Waratek Pty Ltd.
    Inventor: John M. Holt
  • Patent number: 7831779
    Abstract: A multiple computer system is disclosed in which n computers (M1, M2 . . . Mn) each run a different portion of a single application program written to execute only on a single computer. The local memory of each computer is maintained substantially the same by updating all computers with every change made to addressed memory locations. Contention can arise when the same memory location is substantially simultaneously updated by two or more machines because of transmission delays and latency of the communications network interconnecting all the computers. Contention detection and resolution is disclosed. A count value (99) indicative of the cumulative number of times each memory location has been updated is utilized. Contention is indicated if the currently stored count value and the incoming updating count value are the same. A method of echo suppression and a method of echo rejection are disclosed.
    Type: Grant
    Filed: October 5, 2007
    Date of Patent: November 9, 2010
    Assignee: Waratek Pty Ltd.
    Inventor: John M. Holt
  • Patent number: 7739349
    Abstract: A multiple computer system is disclosed in which the local memory of each computer (M1, M2, . . . Mn) can be different having some memory locations (A, B) which are replicated in other computers and other memory locations (E) which are not. When any computer seeks to acquire or release a synchronizing lock a check (171, 181) is made to see if the relevant memory location is present on any other machine. If yes, synchronization is carried out. However, if no, then no synchronization is required and the synchronizing procedures are by-passed.
    Type: Grant
    Filed: October 5, 2007
    Date of Patent: June 15, 2010
    Assignee: Waratek Pty Limited
    Inventor: John M. Holt
  • Publication number: 20100121935
    Abstract: A multiple computer system with hybrid replicated shared memory is disclosed. The local memory (10, 20, . . . 80) of each of the multiple computers M1, M2, . . . Mn is partitioned into a first part (11, 21, . . . 81) and a second part (12, 22, . . . 82). Each of the first parts are identical and each of the second parts are independent. The total memory available to the system is the first memory part plus n times the second memory part, n being the total number of application running multiple computers.
    Type: Application
    Filed: October 5, 2007
    Publication date: May 13, 2010
    Inventor: John M. Holt
  • Publication number: 20100054254
    Abstract: A method of, and system for, asynchronous data transmission are disclosed which have application in the transmission of stock exchange data or replicated memory data. Later transmitted data (14) is used to overwrite earlier transmitted and received data (13). However, earlier transmitted data (14) which is received later than later transmitted data (15) (for example due to network latency) does not overwrite the later transmitted data (15). Transmitted data packets include a count value (15) indicative of the sequence position of each data packet in a transmitted sequence (13, 14, 15) of data packets. A transmitter and receiver for asynchronous data transmission and reception, and a packet signal structure are also disclosed.
    Type: Application
    Filed: October 5, 2007
    Publication date: March 4, 2010
    Inventor: John M. Holt
  • Publication number: 20090055603
    Abstract: A modified computer architecture (50, 71, #1, #2, #3) which enables applications program (50) to be run simultaneously on a plurality of computers (M1, . . . Mn) and a computer for the multiple computer system are disclosed. Shared memory at each computer is updated with amendments and/or overwrites so memory read requests are satisfied locally. During initial program loading (75) instructions which result in memory being re-written/manipulated are identified. Instructions are inserted to cause equivalent memory locations at all computers to be updated. Initialization of JAVA language classes and objects is disclosed so memory locations for all computers are initialized in the same manner. Finalization of JAVA language classes and objects is disclosed. Finalization occurs when the last class/object on all machines is no longer required. During initial program loading (75) instructions which result in the program (50) acquiring/releasing a lock on an asset (synchronization) are identified.
    Type: Application
    Filed: April 20, 2006
    Publication date: February 26, 2009
    Inventor: John M. Holt
  • Publication number: 20080250221
    Abstract: A multiple computer system is disclosed in which n computers (M1, M2 . . . Mn) each run a different portion of a single application program written to execute only on a single computer. The local memory of each computer is maintained substantially the same by updating all computers with every change made to addressed memory locations. Contention can arise when the same memory location is substantially simultaneously updated by two or more machines because of transmission delays and latency of the communications network interconnecting all the computers. In particular a method of data consolidation which permits contention detection and resolution is disclosed. A count value indicative of the cumulative number of times each memory location has been updated is utilized. Contention is indicated if the currently stored count value and the incoming updating count value are the same.
    Type: Application
    Filed: October 5, 2007
    Publication date: October 9, 2008
    Inventor: John M. Holt
  • Publication number: 20080250213
    Abstract: Computers and other computing machines and information appliances having a modified computer architecture and program structure which enables the operation of an application program concurrently or simultaneously on a plurality of computers interconnected via a communications link or network using a special distributed runtime (DRT), and that provides for a redundant array of independent computing systems that include computer code distribution using code-striping onto the plurality of the computers or computing machines. A redundant array of independent computing systems operating in concert and code-striping features.
    Type: Application
    Filed: March 19, 2008
    Publication date: October 9, 2008
    Inventor: John M. Holt
  • Publication number: 20080215928
    Abstract: The updating of only some memory locations in a multiple computer environment in which at least one applications program (50) executes simultaneously on a plurality of computers M1, M2 . . . Mn each of which has a local memory, is disclosed. Memory locations (A, B, D, E, X) in said local memory are categorized into two groups. The first group of memory locations (X1, X2, . . . Xn, A1, A2, . . . An) are each present in other computers. The second group of memory locations (B, E) are each present only in the computer having the local memory including the memory location. Changes to the contents of memory locations in the first group only are transmitted to all other computers. A computer failure detection mechanism is disclosed to prevent updating of any first group memory locations of any failed computer.
    Type: Application
    Filed: January 23, 2008
    Publication date: September 4, 2008
    Inventor: John M. Holt
  • Publication number: 20080215701
    Abstract: A multiple computer environment is disclosed in which an application program executes simultaneously on a plurality of computers (M1, M2, . . . Mn) interconnected by a communications network (53) and in which the local memory of each computer is maintained substantially the same by updating in due course. A lock mechanism is provided to permit exclusive access to an asset, object, or structure (ie memory location) by acquisition and release of the lock. In particular, before a new lock can be acquired by any other computer on a memory location previously locked by one computer, any re-written content(s) for the previously locked memory location are transmitted to all the other computers and their corresponding memory locations (before the in due course updating). Thus when the new lock is acquired all the corresponding memory locations of all computers have been updated.
    Type: Application
    Filed: January 23, 2008
    Publication date: September 4, 2008
    Inventor: John M. Holt
  • Publication number: 20080215593
    Abstract: The updating of only some memory locations in a multiple computer environment in which at least one applications program (50) executes simultaneously on a plurality of computers M1, M2 . . . Mn each of which has a local memory, is disclosed. Objects A and B in each local memory are disclosed which each include primitive fields (11). However, the simultaneous operation of the application program (50) can result in a “non-primitive” reference field (10) in one machine which must then be replicated in all other machines. However, the reference field (10) references another object (H) in the one machine's local memory so corresponding objects (T, K) must be created in the local memory of each other machine and be referenced by the corresponding non-primitive field (10).
    Type: Application
    Filed: January 23, 2008
    Publication date: September 4, 2008
    Inventor: John M. Holt
  • Publication number: 20080215703
    Abstract: The updating of only some memory locations in a multiple computer environment in which at least one applications program (50) executes simultaneously on a plurality of computers M1, M2 . . . Mn each of which has a local memory, is disclosed. Memory locations (A, B, D, E, X) in said local memory are categorized into two groups. The first group of memory locations (X1, X2, . . . Xn, A1, A2 . . . An) are each accessible by other computers. The second group of memory locations (B, E) are each accessible only by the computer having the local memory including the memory location. Changes to the values of memory locations in the first group only are transmitted to all other computers. A promotion mechanism is disclosed to promote memory locations in the second group into the first group in the event that application program execution means that a memory location in said second group is referred to by a memory location in the first group (ie the first group location now points to the second group location).
    Type: Application
    Filed: January 23, 2008
    Publication date: September 4, 2008
    Inventor: John M. Holt
  • Publication number: 20080195682
    Abstract: The updating of only some memory locations in a multiple computer environment in which at least one applications program (50) executes simultaneously on a plurality of computers M1, M2 . . . Mn each of which has a local memory, is disclosed. Memory locations (A, B, D, E, X) in said local memory are categorized into two groups. The first group of memory locations (X1, X2, . . . Xn, A1, A2 . . . An) are each accessible by other computers. The second group of memory locations (B, E) are each accessible only by the computer having the local memory including the memory location. Changes to the contents of memory locations in the first group only are transmitted to all other computers. A demotion mechanism is disclosed to demote memory locations in the first group into the second group in the event that application program execution means that a memory location in said first group is no longer referenced by another memory location in another computer.
    Type: Application
    Filed: January 23, 2008
    Publication date: August 14, 2008
    Inventor: John M. Holt
  • Publication number: 20080195617
    Abstract: A multiple computer system in which a single application program, written to execute on only a single computer, runs on multiple computers is disclosed. Each computer (M1, . . . Mn) has a substantially identical local memory structure. Synchronizing locks are used to ensure that only one computer is able to write to a local memory location and all other computers are prohibited to writing to their corresponding memory location. In the event of failure of a computer holding such a lock, the lock is arranged to be released. The released lock can then be re-allocated to another computer which has not failed. In this way failure of one, or a sequence of, computers, does not result in failure of the whole computer system.
    Type: Application
    Filed: January 23, 2008
    Publication date: August 14, 2008
    Inventor: John M. Holt
  • Publication number: 20080189385
    Abstract: A multiple computer environment is disclosed in which an application program executes simultaneously on a plurality of computers (M1, M2, . . . Mn) interconnected by a communications network (53) and in which the local memory of each computer is not maintained substantially the same by updating in due course. An address table mechanism is provided to permit access to an asset, object, or structure (ie memory location) for the purpose of updating, for example. Since not all computers have the same memory, it is not necessary for all computers to be updated and so the volume of traffic on the communications network (53) is reduced.
    Type: Application
    Filed: January 23, 2008
    Publication date: August 7, 2008
    Inventor: John M. Holt
  • Publication number: 20080184071
    Abstract: A multiple computer system incorporating redundancy is disclosed. Data to be stored (A, B, C) is distributed (A1, A2, A3, . . . B1, B2, B3, . . . C1, C2, C3, . . . ) amongst a multiplicity of computers (M1, M2, . . . Mn). A parity form (P[A], P[B], . . . ) of the stored data is created by use of a reversible encoding process. The parity form data is preferably cycled amongst the various computers. In the event of failure of one of the computers the lost data can be re-generated.
    Type: Application
    Filed: October 5, 2007
    Publication date: July 31, 2008
    Inventor: John M. Holt
  • Publication number: 20080155127
    Abstract: A switching network for multiple computer systems is disclosed which utilises pairs of multi-port switches (S1-S4) and (preferably) less complex switches (S5-S7). The multi-port switches are arranged in pairs with a computer of the multiple computer system being able to be connected to each port of each multi-port switch except for one port. That one port of each multi-port switch is connected to a single one of the less complex switches. All the less complex switches are arranged in a twin branch multi-level tree structure. The arrangement overcomes bottlenecks arising from the serial interconnection of multi-port switches.
    Type: Application
    Filed: October 5, 2007
    Publication date: June 26, 2008
    Inventor: John M. Holt
  • Publication number: 20080151902
    Abstract: A system and method for interconnecting multiple computers (M1, M2, . . . , Mn) via at least two independent communications ports (28, 38) are disclosed. Data is sent and received via a data protocol which identifies the sequence position of each data packet in a transmitted sequence of data packets. The packets can be transmitted and/or received out of order. The multiple computers each execute a different portion of an application program written to execute on a single computer.
    Type: Application
    Filed: October 5, 2007
    Publication date: June 26, 2008
    Inventor: John M. Holt
  • Publication number: 20080140975
    Abstract: A multiple computer system is disclosed in which n computers (M1, M2 . . . Mn) each run a different portion of a single application program written to execute only on a single computer. The local memory of each computer is maintained substantially the same by updating all computers with every change made to addressed memory locations. Contention can arise when the same memory location is substantially simultaneously updated by two or more machines because of transmission delays and latency of the communications network interconnecting all the computers. In particular a method of data consolidation which permits contention detection and resolution is disclosed. A count value indicative of the cumulative number of times each memory location has been updated is utilized. Contention is indicated if the currently stored count value and the incoming updating count value are the same.
    Type: Application
    Filed: October 5, 2007
    Publication date: June 12, 2008
    Inventor: John M. Holt
  • Publication number: 20080140976
    Abstract: A multiple computer system is disclosed in which n computers (M1, M2 . . . Mn) each run a different portion of a single application program written to execute only on a single computer. The local memory of each computer is maintained substantially the same by updating all computers with every change made to addressed memory locations. Contention can arise when the same memory location is substantially simultaneously updated by two or more machines because of transmission delays and latency of the communications network interconnecting all the computers. Contention detection and resolution is disclosed. A count value (99) indicative of the cumulative number of times each memory location has been updated is utilized. Contention is indicated if the currently stored count value and the incoming updating count value are the same. A method of echo suppression and a method of echo rejection are disclosed.
    Type: Application
    Filed: October 5, 2007
    Publication date: June 12, 2008
    Inventor: John M. Holt