Found following examples of software patents set together by Gordon Irlam: Operating Systems
* Assigning a client request to a server process by first examining all the server processes not handling the maximum number of clients, and then assigning it to the server process currently servicing the fewest clients. [#5,249,290].
* Intercepting calls to a network operating system by replacing the first few instructions of an entry point by a call to an intercept routine. [#5,257,381].
* Statically allocating an initial amount of memory when a program is first loaded according to a size value contained in the program header. [#5,247,674].
* A particular multi-threaded C-shell variant that provides commands for manipulating the threads. [#5,261,097].
* Mark Williams' famous host independent byte ordering patent. [#4,956,809].
* Roger Billings' famous alleged client/server database patent. [#4,714,989].
File Systems
* A file server that merges together multiple pending writes that require updating the same meta-data. [#5,218,695].
* Simulating the access times associated with a CD ROM by slowing down a hard disk. [#5,121,492].
* Creating variable size disk partitions comprising tracks residing on multiple disks. [#5,129,088].
* Remembering file access behavior and using it to control the amount of read-ahead the next time the file is opened. [#5,257,370].
* Altering the working set of a process based upon its paging behavior and how its paging behavior changes in response to changes in its working set size. [#5,247,687].
* Using of multiple read only tokens and a single read write token to control access to a portion of a file in a distributed file system. [#5,175,851].
Graphics and Windowing Systems
* Use of different colors to distinguish the nesting level of nested expressions in computer programs. [#4,965,765].
* The computer graphics representation of a surface using and array of dots, rather than the more traditional wire frame model. [#5,257,347].
* A calendar tool that includes a bar graph of the duration of each meeting and a composite bar graph of all meetings. [#5,247,438].
* Cadtrak's famous xor cursor patent. [#4,197,590].
* Rob Pike's famous backing store patent. [#4,555,775].
Compilers and Simulators
* A parallelizing compiler that estimates the execution time for each of a number of different parallelization conversions and then selects the one that it thinks will be the fastest. [#5,151,991].
* Partitioning a program to run on a multiprocessor by identifying procedures within the program that can be run on a second processor, and inserting remote procedure calls to do so. [#5,261,095].
* Using condition code graph analysis in a CPU simulator to determine whether it is necessary to simulate the generation of the condition codes. [#4,951,195].
* Caching the most recent branch target code when simulating a procedure return instruction. [#5,167,023].
* A patent that was recently obtained by Microsoft on a particular calling convention. [#5,261,101.]
* Dynamically linking a replacement procedure into a running program by rewriting a call instruction to point to the new procedure. [#5,175,828].
* IBM's famous patent on performing global common subexpression elimination by first identifying all operands that are used, but not defined, within each basic block. [#4,656,583].
Cryptography and Data Compression
* The famous Diffie/Hellman secret key exchange patent. [#4,200,770].
* The famous Hellman/Merkle public key cryptography patent. [#4,218,582].
* Compressing a font by detecting rows and columns that are entirely blank and encoding them separately. [#5,272,768].
* The famous LZW compression patent. [#4,558,302].
Multimedia
* A document storage system that has a digital camera to scan in documents, stores the documents on an optical disk, and uses character recognition software to construct an index. [#4,941,125].
* Compton's famous alleged multimedia search patent. [#5,241,671].
Word Processors
* A word processor that monitors the sequence of keys you type and tries to teach you about new features. If it notices you doing a particular sequence several times it will display information about a simpler command sequence that may help you do what you want. [#4,947,346].
* Any word processor with a separate mode that the user selects when they wish to type in a mathematical formula. [#5,122,953].
* A word processor that has a feature that allows you to specify that a portion of the text should be shaded - such as may be useful when revising a manual - by enclosing the relevant text within commands that turn shading on and off. [#4,924,411].
* A word processor screen layout that simultaneously displays the global page heading/footing and the contents of the current page, and permits you to edit either. [#4,984,162].
* A word processor which marks and makes correction to a document using two additional different colors. [#5,021,972].
Spreadsheets
* A spreadsheet that has an outline mode to automatically collapse rows that are hierarchically subordinate to another row. [#5,255,356].
* A spreadsheet in which each cell has a "next cell" attribute defining the next cell to advance to after having entering data into the current cell. [#5,121,499].
* Combining two or more spreadsheet tables together to produce a new table in accordance with the indicated row and column headings. [#5,272,628].
* A spreadsheet in which a single cell can contain multiple (possibly optional) fields. [#5,247,611].
* The famous Refac natural order recalculation patent. [#4,398,249].
Miscellaneous
* Quicksort implemented using a linked list of pointers to the objects to be sorted. [#5,175,857].
* Generation of random numbers by feeding the output of one random number generator into the input of another random number generator. [#5,251,165].
Source: base.com