Report September 2, 1998 Draft Digital Technology Prior to 1980 Compared to Patent Claims Allen Klinger As an ordinary matter the knowledge possessed by any professional practicing in the fields of computer software (i.e., programming, systems analysis) and hardware (system and logic design) and most graduates of electrical engineering programs before 1980 would have included awareness that: 1. One or two binary digits can represent a special signal, commonly called a tag, flag or sentinel. 2. A reserved binary digit (or two) could be associated with a physical memory word or a software representation of the information stored in such a location, at virtually zero relative cost and effort. 3. Sensing a binary digit value of zero or one is like learning a light switch position (up indicating a light is on, down that it is off). 4. A binary digit is abbreviated by "bit"; three bits suffice to represent any number from zero through and including seven. 5. Memory locations in a store are addressed by, and reachable through, recognition of a string of bits. 6. Digital circuits accept inputs from a constantly running electrical source of impulses called the clock. The above statements can be verified by references. A short list of some relevant widely available textbooks, research papers published in authoritative professional journals and conference proceedings is appended. The significance of these statements is that everyone who worked before 1980 in designing elements of computer hardware, as well as any person who wrote computer programs, would have known all of the facts in points one through six above. That knowledge is all that is necessary for an ordinary practitioner of digital technology to design the aspects of pagers described in the claims. For instance, patent number 4,851,829 describes "a plurality of storage areas," "determining the status value for a message storage area; assigning a decoded message value to the decoded message; comparing the status value to the decoded message value;" and similar statements; the preceding is contained in claim one. But this is exactly what is done in the ordinary training material available before 1980 (references 2 and 3) and the historic context is presented in an authoritative journal in 1978 (reference 1). The references discuss determining whether information is contained in a particular memory location aided by reserving a single binary digit (bit) there for that purpose. The reserved bit indicates by showing a zero, that the numbers elsewhere in the memory location are meaningless. If it shows a one, that tells the other devices or software steps that the memory location holds meaningful data. The same sort of process handles determining the number of individual messages. This could have been applied in pagers just as it was in more general computer systems to learn how many files were previously stored in memory. The content of the sixth claim of patent 4,385,295 (except for the word "pager") is what these references are about. Such patent language as "memory locations for storing" reads like a statement from a text in digital computers. So does "means for indicating the presence or absence of a stored message in each of said memory locations; means for reading said messages; and means for signifying which of said memory locations contains a stored message which has not yet been read." Knuth, reference 2, presents means to use a single bit for indicating whether a program has read an item. He likewise describes the marking of all the nodes in computer memory to determine those no longer reachable or useful to any running program. This process is equivalent to "means for signifying which of said memory locations contains a stored message which has not yet been read." Tanenbaum, reference 3, presents means to use a single bit to indicate "whenever a segment is referenced, whether for reading, or writing, or executing." The simple way to find out whether one or more "memory locations contains a stored message which has not yet been read" would be to check the value of that bit (where a one would indicate it had, and a zero it had not been read). Sensing such a bit is something an ordinary practitioner would have known how to accomplish. A commercial company (now Unisys) programmer-training course open to individuals with only two years of high school education in 1959 used index registers. In 1970 there was an IBM 360 with 32 bit registers and a CDC 6600 with 60 bit registers. In space systems the design of means to overcome transmission errors was based on registers: Golomb, reference 5, describes shift registers. Both programmer-training and large computer systems used simple registers and all trained professionals in engineering and the allied arts saw them as accessible storage devices for holding a number. Such people knew, in 1980, that for representing a number zero, one, two, or three, only two bits are needed. They knew that to count one of the values zero, one, two, three, four, five, six or seven is possible from three elements of a register (i.e., three bits, three binary digits. They knew that a register currently holding all zeroes shows that the process of acquiring information hasn't begun. When the left-most element of the three that make up a register has a one but the other two hold zeroes, it was well known that this situation corresponds to the decimal number four. Likewise, when the program senses zeroes everywhere but in the right-most device, it knows that the first item has been counted, and that only a decimal value of one is appropriate. This applies simply to reading discrete files stored in memory. First, evaluating a count lets the software locate the file in computer memory. A register that holds a large number of enables the software to know where to go within an ordinary fast memory: as the statements above about IBM and CDC computers in 1970 indicate, these can be very substantial values. While until recently sixteen-bit words were standard on many ordinary computers, reserving a single bit for other uses, the remaining fifteen still can represent 32,768 different numbers. [Many early computers had thirty-two thousand memory addresses.] All computers locate storage in fast memory by first sensing the value present in the register that holds the item's address. Hence they all practice the kind of thing referred to in the patents as "decoding." This has been common knowledge of the ordinary practitioner for decades before 1980. Consequently the statement of patent 4,412,217 claim one duplicates common practice in the computer world and adds nothing new. That statement reads: "In a pager, a method of indicating a number of received pages comprising the steps of: incrementing a register when a page is received; and displaying a count from the register, which count is a measure of the number of received pages." Every word beginning with incrementing up until "pages" is a standard practice well known to the ordinary practitioner. Likewise the placement of a new item in one of several reserved blocks of storage or storage areas is not novel. It uses well-known principles. Assigning status values to such items is again a standard use of elements of digital technology well known to the ordinary practitioner any time before 1980. Locating the amount of available space for future storage of messages is exactly the process described in great detail in Knuth, reference 2, originally published in 1968 as a distillation of methods well known in the art over the prior decades. The display of the status or actual current indicators is in no way novel. Digital computers normally displayed the contents of registers by visual indicators in the nineteen-sixties. References 6 and 7 indicate the nature of the profession with regard to digital displays well before 1980. The assignment of a code to some message on a basis other than chronological, for example by recognition of a specific sequence within it, corresponds to methods well-described in thee ordinary digital literature. For that purpose the term "priority" has been used in books and papers in journals, and that material would have been accessible to any practitioner who sought to develop such a system, as an ordinary, well documented method. The ordinary practitioner would have known "means for receiving ... decoding ... encoded address signal ... (and) for generating a periodic initial alert signal ... and ... a periodic reminder audio" as described in patent 4,701,759 claim one. That is so because only widely present general knowledge of clocking pulses and digital logic is described in that claim. Patent 5,157,391 claim one speaks of "presenting a plurality of function indicators" but that is not anything explained or taught in any of the three drawing sheets nor the detailed description of "the invention." The ordinary practitioner would have had such knowledge about presenting multiple visual function indicators from the general computer literature. Reference 6 contains material of this sort. An excerpt from the 1974 Vol. 15, No. 4, p. 175 states "As a supplier of both stroke-written and digital TV displays ... approximately 5900 characters can be drawn". The power of existing technology that led to the personal computer revolution of the next decade was well understood by the ordinary practitioner. Two survey articles, one from 1971, the other 1973 describe (in the first case) "utilizing the power of the computer" and in the second "utilizing a set of powerful computer based tools." These methods involved display of several function indicators. The general community soon became aware of such methods ["The true successor to the Xerox' Alto would be Apple Corporation's own computer: the Lisa. ... When the Lisa was launched in 1983"] through Apple's Macintosh [1984] but the technical world was well aware of the presentation of multiple indicators through the prior efforts at Xerox Palo Alto Research Center and through general publications. Patent 5,258,751, claim one and claim three, covers items that would be obvious to the ordinary practitioner of electrical engineering and computer engineering. The language of the first claim describes a series of functions that an electrical engineer with knowledge of computer technology would have been able to design. Claim one consists of statements about receiving messages, assigning them codes, storing the messages and doing that in response to varied measures, time of receipt as well as assigned code. Claim three puts "means for accepting user input" and other words that simply describe using "sequential order" onto the claim one material. Neither is an unusual item. Rather both are typical things that could be implemented by an ordinary practitioner. Patent 5,075,684 is "to provide an improved method for storing and receiving messages." However in claim one nothing is stated other than the storage "in one of said plurality of source files ... determined by the message source signal." This is exactly what had been the course of computing in at least the prior thirty years. The ordinary practitioner would have been well acquainted with reading or decoding a string and determining from its values where it should be stored. Editing a string of decimal digits by placing a shorter set at its initial value would not be a novel application of the digital technology. Shifting a string of binary digits so that portion could be selected, read, or replaced were and are standard and well-known machine-language computer instructions or operations. They correspond directly to the items in patent 5,459,774, particularly to the specific statements in claim one. Indeed the content of the material concerning registers in the 1959 training course was essentially the same as that claim with slight adjustments of language (i.e., "first portion" and "second portion" would have replaced by engineering equivalents). The ordinary practitioner of digital arts and technology would have known all of this as obvious at any time after the mid-nineteen-sixties, due to the wide circulation given to all these concepts. This can be seen by a glance at the following, particularly the first three references. References 1. Censier, Lucien M. and Paul Feautrier, "A New Solution to Coherence Problems in Multicache Systems" IEEE Trans. Computers, C-27: Dec '78, 1112-1118. [The first two columns, the entirety of p. 1112 set the background and history of the idea.] 2. Knuth, Donald E., The Art of Computer Programming, 1, Fundamental Algorithms, Addison-Wesley Publishing Company, 1968, 1971. [An extensive amount of material concerns traversing binary trees assisted by a single bit. The bit is used to indicate whether a program has read a datum. A similar extensive discussion concerns the marking of all the nodes in computer memory to determine which are no longer reachable or useful to any running program.] 3. Tanenbaum, Andrew S., Structured Computer Organization, Prentice-Hall, 1976. [A terse statement concerns a bit being set or put to a binary one value whenever an item is modified. This material is the hardware equivalent of what Knuth described as a standard software technique.] 4. Klinger, Allen, "Data Structures", The Encyclopedia of Physical Science and Technology, Meyers, Robert A., ed., NY: Academic Press, 1987, 125-135; revision Vol. 5, 43-56, 1992. [A survey based on the work by Knuth (above). Includes definitions of "bit" and "tag". Refers to two journal publications from 1972. Discusses memory allocation.] 5. Golomb, Solomon W., Shift Register Sequences, with portions co-authored by Lloyd R. Welch, Richard M. Goldstein and Alfred W. Hales, 1967. 6. Proceedings of the Society for Information Display, Vol. 10, 1969; Vol. 14, 1973, particularly Bair, James H., "Experiences With An Augmented Human Intellect System: Computer Mediated Communication," pp. 42-51 (quotations on p. 43; second one from van Dam, Andries and David E. Rice, "On-Line Text Editing: A Survey," Computing Surveys, 3, Sept. 1971, pp. 93-114.) 7. Data Displays for Information Systems, American Data Processing, Inc., 1969; Sherr, Sol, "The Technology and Characteristics of Computer Driven, Interactive, Graphic Display Systems," Proceedings of the Society for Information Display, Vol. 15, 1974, pp. 2-16: ibid. p. 16, reference to Sutherland, Ivan, "Computer Graphics," Datamation, 1966, pp. 23-27, Sherr, Sol, Fundamentals of Display System Design, NY: John Wiley and Sons, Inc., 1970, and Sherr, Sol, Computer Graphics -Technology and Available Equipment, Glen Cove NY: North Hills Associates, 1973. 8. Levy, Steven, Insanely Great: The Life and Times of Macintosh, the Computer that Changed Everything, 1994. Review by Keith Schengili-Roberts in http://www.tcp.ca/Aug94/Mac10th.html . Counting Adjoining binary-digit-storing register-elements enables counting. Starting from all zeroes, ones are added step-by-step, first only a single one into the right-most location. Then if a second one is to be added, it cannot be placed in the right-most place because it already holds a one. By simple means known to all digital hardware designers, circuits cause that existing one to move to the second-from-the-right location and be replaced by a zero at the right-most place. This left-right state of zero-one-zero is well known to correspond to the representation of the decimal number two in binary. In a similar manner decimal numbers three, four, five, six and seven correspond to the presence or absence of zero or one in one of the three elements. Again that enables counting to seven in decimal notation with only three elements. The same arrangements and operations enable counting to fifteen from zero with only four elements, to thirty-one from zero with only five elements, and respectively to sixty-three or one hundred twenty-seven with six or seven. Patents and Claims 4,851,829 1 4,385,295 6 4,412,217 1 4,701,759 1 5,157,391 1 5,258,751 1: "A selective call receiver, comprising: a receiver for selectively receiving messages; a memory coupled to the receiver for storing the messages; means coupled to the memory and to the receiver for assigning a chronological order to each of the messages stored in the memory based on an order in which the messages are received, and also for assigning a status designation, other than the chronological order, to the messages and further for prioritizing the messages in a sequential order being prioritized there within according to the chronological order assigned to the messages; and means coupled to the memory for displaying message indicators capable of being organized to represent the sequential order for the messages." 3: "The selective call receiver of claim 1, further comprising: user input control means for accepting user input, and wherein the displaying means is responsive to the user input for displaying the messages to a user of the selective call receiver according to the sequential order for the messages represented by the message indicators." 5,075,684 1 5,459,774 1 ------- End of Forwarded Message