Patent ID: 9256431
Filing Date: 2016-02-09
CPC Classification: G06F

Claim Text:
1. A method of increasing processing diversity on a computer system, the method comprising: a) loading a plurality of computer program executable instruction streams, each of the plurality of computer program executable instruction streams sharing the same registers and the same stacks, wherein the instruction streams are functionally equivalent and representing the same portions of a computer program; b) executing a first instruction stream of the plurality of computer program executable instruction streams to execute a first portion of the computer program; c) stopping execution of the first instruction stream at a first random location of the computer program; d) randomly selecting, by an instruction selector, a second instruction stream of the plurality of computer program executable instruction streams; e) executing said selected second instruction stream at a second location of the computer program to execute a second portion of the computer program immediately following the first portion, wherein the second location corresponds to the first location; and f) stopping execution of the second instruction stream at a third random location of the computer program, wherein steps b to f are repeated until all of the plurality of computer program executable instruction streams are executed.