`COMPUTER
`SCIENCE AND
`TECHNOLOGY
`
`HARRY HENDERSON
`
`
`
`KDPACTSONFILESCTENCELIBRARY
`
`e.
`
`«
`
`2
`
`Naace eat [LearAerar
`i RVAe
`4
`:
`
`jy) Ter. ea
`
`MyPAQ, Exhibit 2027
`IPR2022-00311
`Page 1 of 7
`
`
`
`More BooksVisit : www.iqbalkalmati.blogspot.com
`
`ENCYCLOPEDIA OF
`COMPUTER SCIENCE
`AND TECHNOLOGY
`
`REVISED EDITION
`
`HARRY HENDERSON
`
`(4Facts On File
`
`An imprint ofInfobase Publishing
`
`MyPAQ , Exhibit 2027
`IPR2022-0031 1
`Page 2 of 7
`
`MyPAQ, Exhibit 2027
`IPR2022-00311
`Page 2 of 7
`
`
`
`More BooksVisit : www.iqbalkalmati.blogspot.com
`
`In memory of my brother,
`Bruce Henderson,
`who gave me my first opportunity to explore
`personal computing almost 30 years ago.
`
`ENCYCLOPEDIA OF COMPUTER SCIENCE AND TECHNOLOGY,Revised Edition
`
`Copyright © 2009, 2004, 2003 by Harry Henderson
`
`All rights reserved. No part of this book may be reproducedorutilized in any form or by
`any means,electronic or mechanical, including photocopying, recording, or by any
`information storageorretrieval systems, without permission in writing from the publisher.
`For information contact:
`
`Facts OnFile, Inc.
`Animprint of Infobase Publishing
`132 West 31st Street
`New York NY 10001
`
`Library of Congress Cataloging-in-Publication Data
`
`Henderson,Harry, 1951-
`Encyclopedia of computer science and technology / Harry Henderson.—Rev. ed.
`p. cm.
`Includes bibliographical references and index.
`ISBN-13: 978-0-8160-6382-6
`ISBN-10: 0-8160-6382-6
`1. Computer science—Encyclopedias. 2. Computers—Encyclopedias.
`QA76.15.H43 2008
`
`I. Title.
`
`004.03—dc22
`
`2008029156
`
`Facts On File booksare available at special discounts when purchased in bulk quantities
`for businesses, associations, institutions, or sales promotions. Pleasecall our Special Sales
`Department in New York at (212) 967-8800 or (800) 322-8755.
`
`You can find Facts On File on the World Wide Webat http://www.factsonfile.com
`
`Text design by Erika K. Arroyo
`Cover design by Salvatore Luongo
`Illustrations by Sholto Ainslie
`Photo research by Tobi Zausner, Ph.D.
`
`Printed in the United States of America
`
`VB Hermitage 10987654321
`
`This bookis printed on acid-free paper and contains
`30 percent postconsumerrecycled content.
`
`MyPAQ, Exhibit 2027
`IPR2022-00311
`Page 3 of 7
`
`MyPAQ, Exhibit 2027
`IPR2022-00311
`Page 3 of 7
`
`
`
`More BooksVisit : www.iqbalkalmati.blogspot.com
`
`CONTENTS
`
`ACKNOWLEDGMENTS
`
`iv
`
`INTRODUCTION TO THE REVISED EDITION
`Vv
`
`A-Z ENTRIES
`
`1
`
`APPENDIX I
`Bibliographies and Web Resources
`527
`
`APPENDIXII
`A Chronology of Computing
`529
`
`APPENDIXIII
`SomeSignificant Awards
`542
`
`APPENDIX IV
`Computer-Related Organizations
`553
`
`INDEX
`
`555
`
`MyPAQ, Exhibit 2027
`IPR2022-0031 1
`Page 4 of 7
`
`MyPAQ, Exhibit 2027
`IPR2022-00311
`Page 4 of 7
`
`
`
`More BooksVisit : www.iqbalkalmati.blogspot.com
`
`Blogging can also be seen aspart of a larger trend toward
`Web users taking an active role in expressing and sharing
`opinion and resources (see USER-CREATED CONTENT, FILE-
`SHARING AND P2P NETWORKS, and YOUTUBE).
`
`SOCIAL AND ECONOMIC IMPACT
`Blogs first emerged in popular consciousness as a new way
`in which people caught in the midst of a tragedy such as the
`September 11, 2001, attacks could reassure friends about
`their safety while describing often harrowing accounts. The
`Iraq war that began in 2003 wasthe first war to be blogged
`on a large scale. Like their journalistic counterparts, blog-
`gers, whether American or Iraqi, were “embedded” in the
`often-violent heart of the protracted conflict, but they were
`also effectively beyond the control of government or mil-
`itary authorities.
`(See also POLITICAL ACTIVISM AND THE
`INTERNET.)
`Blogs are also being used widely in business. Within a
`company, a blog can highlight ongoingactivities and relevant
`resources that might otherwise be overlooked in a large cor-
`porate network. Software developers can also report on the
`progress of bug fixes or enhancements andsolicit comments
`from end users. There has been some concern, however, that
`corporate blogs are not sufficiently supervised to prevent
`the dissemination of sensitive information or the posting of
`libelous or inflammatory material. (For the collaborative cre-
`ation of large bodies of structured knowledge, see WIKIS AND
`WIKIPEDIA.)
`Blogs have provided an outlet where other means of
`expression are unavailable because of war (as in Iraq),
`disaster (Hurricane Katrina), or government censorship—
`although China in particular has hired hundredsof censors
`to remove offending postings as well as requiring blog pro-
`viders such as MSNto police their content (see CENSORSHIP
`AND THE INTERNET).
`
`Further Reading
`Blogger. Available online. URL: http://www.bloger.com. Accessed
`September 2, 2007.
`Bloglines. Available online. URL: http:/;www.bloglines.com. Accessed.
`April 10, 2007.
`Blood, Rebecca. The Weblog Handbook: Practical Advice on Creating
`and Maintaining Your Blog. Cambridge, Mass.: Perseus, 2002.
`Burden, Matthew Currier. The Blog of War: Front-Line Dispatches
`from Soliders in Iraq and Afghanistan. New York: Simon &
`Schuster, 2006.
`Dedman,Jay. Videoblogging. New York: Wiley, 2006.
`Farber, Dan. “Reflections on the First Decade of Blogging.” Febru-
`ary 25. 2007. Available online. URL: http://blogs.zdnet.com/
`BTL/?p=4541@tag=nl.e539. Accessed April 10, 2007.
`Hasin, Hayder. WordPress Complete: Set Up, Customize, and Market
`Your Blog. Birmingham, U.K.: Packt Publishing, 2006.
`Radio Userland. Available online. URL: http://radio.userland.com.
`Accessed September2, 2007.
`Rebecca's Pocket. Available online. URL: http:/;www.rebeccablood.
`net/. Accessed April 10, 2007.
`Technorati. Available online. URL: http://www.technorati.com.
`Accessed April 10, 2007.
`WordPress. Available online. URL: http:// www.wordpress.com.
`Accessed April 10, 2007.
`
`Boolean operators
`
`53
`
`Bluetooth
`Loosely namedafter a 10th-century Danish king, Bluetooth
`is a wireless data communications and networking system
`designed for relatively short-range operation (generally
`within the same room,although it can be used over longer
`distances up to several hundred feet [tens of meters]). The
`radio transmission is in the 2.4-GHz bandandis typically
`low power, making it suitable for battery-powered devices
`such as laptops.
`
`APPLICATIONS
`Bluetooth was originally developed by Ericsson Corpora-
`tion to provide a wireless connection for mobile telephone
`headsets. Today it is often used to “sync” (update data)
`between a PDA such as a Blackberry or Palm (see PDA)
`with a Bluetooth-equipped laptop or desktop. Manycell
`phonesare also equipped with Bluetooth, allowing them to
`be dialed from a PDA,although the growing use of phones
`that combine telephony and PDA functions is making this
`scenario less common (see SMARTPHONE). Bluetooth can
`also be used for wireless keyboards, mice,or printers.
`It is possible to connect PDAsor PCsto the Internet and
`local area networks using a Bluetooth wireless access point
`(WAP)attachedto a router, but faster and longer range Wifi
`(802.11) wireless connections are much more widely used
`for this application (see WIFI).
`Bluetooth connections between devices are specified
`using profiles. Profiles have been developed for common
`kinds of devices, specifying how data is formatted and
`exchanged. For example, there are profiles for controlling
`telephones, printers and faxes, digital cameras, and audio
`devices. Most modern operating systems (including Win-
`dows Mobile, Linux, Palm OS, and Mac OSX)include sup-
`port for basic Bluetooth profiles. Functions fundamental to
`all Bluetooth operations are found in Bluetooth Core Speci-
`fications (version 2.1 as of August 2007). Planned future
`enhancements include accommodation for ultra-wide band
`(UWB) radio technology, allowing for data transfer up to
`480 megabits per second. At the same time, Bluetooth is
`extending the ultra-low-power modes that are particularly
`important for wearable or implanted medical devices.
`
`Further Reading
`“Bluetooth.” Wikipedia. Available online. URL: http://en-wikipedia.
`org/wiki/Bluetooth. Accessed July 20, 2007.
`Bluetooth Special Interest Group. Available online. URL: http://
`www.bluetooth.com/bluetooth/. Accessed July 20, 2007.
`Layton,Julia, and Curt Franklin. “How Bluetooth Works.” Avail-
`able online. URL: http://Awww.howstuffworks.com/bluetooth.
`htm. Accessed September3, 2007.
`
`Boolean operators
`In 1847, British mathematician George Boole proposed a
`system of algebra that could be used to manipulate proposi-
`tions,that is, assertions that could beeithertrueor false. In
`his system, called propositional calculus or Boolean Alge-
`bra, propositions can be combined using the “and” and “or”
`
`MyPAQ, Exhibit 2027
`IPR2022-00311
`Page 5 of 7
`
`MyPAQ, Exhibit 2027
`IPR2022-00311
`Page 5 of 7
`
`
`
`More BooksVisit : www.iqbalkalmati.blogspot.com
`
`54
`
`boot sequence
`
`operators (called Boolean operators), yielding a new propo-
`sition thatis also either true or false. For example:
`“A cat is an animal” AND “The sunis a star” is true
`because both of the componentpropositionsare true.
`“A square has four sides” AND “TheEarthisflat” is false
`because only one of the componentpropositionsis true.
`However “A square has four sides” OR “The Earth is
`flat” is true, because at least one of the component proposi-
`tionsis true.
`A chart called a truth table can be used to summarize
`the AND and ORoperations. Here 1 means true and 0
`meansfalse, and you read across from the side and down
`from the top to see the result of each combination.
`
`
`AND TABLE
`
`)
`1
`
`0
`0
`0
`
`1
`0
`1
`
`OR TABLE
`
`1
`0
`1
`0
`)
`
`
`11 1
`
`A variant of the OR operator is the “exclusive OR,”
`sometimes called “XOR” operator. The XORoperatoryields
`a result of true (1) if only one of the componentpropositions
`is true:
`
` XOR TABLE
`0
`1
`0
`1
`0
`
`
`11 0
`
`that simply
`there is a NOT operator
`Additionally,
`reverses the truth value of a proposition. That is, NOT 1 is
`0 and NOTOis1.
`
`APPLICATIONS
`Note the correspondence between the two values of Boolean
`logic and the binary numbersystem in which each digit can
`have only the values of 1 or 0. Electronic digital computers
`are possible because circuits can be designed to follow the
`rules of Boolean logic, and logical operations can be har-
`nessedto perform arithmetic calculations.
`Besides being essential
`to computer design, Boolean
`operations are also used to manipulate individual bits in
`memory (see BITWISE OPERATIONS), storing and extracting
`information needed for device control and other purposes.
`Computer programsalso use Boolean logic to make deci-
`sions using branching statements suchasIf and loopstate-
`ments such as While. For example, the Basic loop
`While (Not Eof()) OR (Line = 50)
`Read (Line$)
`(LineS)
`Line = Line + 1
`
`Endwhile
`
`will read and print lines from the previously openedfile
`until either the Eof (end offile) function returns a value of
`True or the value of Line reaches 50. (In some programming
`languages different symbols are used for the operators. In
`C, for example, AND is &&, ORis ||, and NOTis!.)
`Users of databases and Web search engines are also
`familiar with the use of Boolean statements for defining
`search criteria. In many search engines, the search phrase
`“computer science” AND “graduate” will match sites that
`have both the phrase “computer science” and the word
`“graduate,” while sites that have only one or the other will
`either not be listed or will be listed after those that have
`both (see SEARCH ENGINE).
`
`Further Reading
`University at Albany Libraries. “Boolean Searching on the Inter-
`net.” Available online. URL: http://www.albany.edu/library/
`internet/boolean.html.
`Whitesitt, J. E. Boolean Algebra and Its Applications. New York:
`Dover, 1995.
`
`boot sequence
`All computers are faced with the problem that they need
`instructions in orderto be able to read in the instructions
`they need to operate. The usual solution to this conundrum
`is to store a small program called a “loader” in a ROM
`(read-only memory) chip. When the computer is switched
`on, this chip is activated and runs the loader. The loader
`program has the instructions needed to be able to access
`the disk containing the full operating system. This process
`is called booting (short for “bootstrapping”).
`
`BOOTING A PC
`While the details of the boot sequence vary with the hard-
`ware and operating system used,a look at the booting of a
`“Wintel” machine (IBM architecture PC running DOS and
`Microsoft Windows) can serve as a practical example.
`Whenthe poweris turned on, a chip called the BIOS
`(basic input-output system) begins to execute a small pro-
`gram (see BIOS). The first thing it does is to run a rou-
`tine called the POST (power-on self test) that sends a
`query over the system bus (see BUS)
`to each of the key
`devices (memory, keyboard, video display, and so on) for
`a responsethat indicates it is functioning properly. If an
`error is detected, the system generates a series of beeps,
`the numberof which indicates the area where the problem
`was found, and thenhalts.
`Assuming the test runs successfully (sometimes indi-
`cated by a single beep), the BIOS program then queries the
`devices to see if they have their own BIOS chips, andif so,
`executes their programs to initialize the devices, such as
`the video card and disk controllers. At this point, since the
`video display is available, informational and error messages
`can be displayed as appropriate. The BIOSalso sets various
`parameters such as the organization of the disk drive, using
`information stored in a CMOS chip. (There is generally
`a way the user can access and change these information
`screens, such as wheninstalling additional memorychips.)
`
`MyPAQ, Exhibit 2027
`IPR2022-00311
`Page 6 of 7
`
`MyPAQ, Exhibit 2027
`IPR2022-00311
`Page 6 of 7
`
`
`
`More BooksVisit : www.iqbalkalmati.blogspot.com
`
`branching statements
`
`55
`
`In most languagesif statements can be nested so that a
`second if statement is executed only if the first oneis true.
`For example:
`
`if (Turn > MaxTurns)
`
`{i
`
`}
`
`)
`f (Winner()
`PrintScore();
`
`Here the first if test determines whether the maximum
`numberof turns in the game has been exceeded.If it has,
`the secondif statementis executed, and the Winner() func-
`tion is called to determine whether there is a winner. If
`there is a winner, the PrintScore() function is called. This
`example alsoillustrates the general rule in most languages
`that wherever a single statement can be used a block of
`statements can also be used. (The block is delimited by
`braces in the C family of languages, while Pascal uses
`Begin . .. End.)
`The switch or case statement found in many languages
`is a variantofthe if statementthat allowsfor easy testing of
`several possible values of a condition. One could write:
`
`if (Category = = “A”)
`AStuff();
`
`else if (Category
`BStuf£ ();
`
`else if (Category
`CStuf£t ();
`
`= “B”)
`
`= “C”)
`
`else
`
`print£ “(None of the above\n”) ;
`
`However, C, Pascal, and many other languages provide a
`more convenient multiway branching statement
`(called
`switch in C and case in Pascal). Using a switch statement,
`the preceding test can be rewritten in C as:
`
`switch (Category)
`case “A”:
`
`{
`
`AStuf£t();
`break;
`case “B”:
`
`BStufE£ ();
`break;
`case “C”
`
`CStuf£t ();
`break;
`default:
`
`print£ (“None of the above\n”) ;
`
`} (
`
`Here the break statements are needed to prevent execution
`from continuing on through the other alternatives when
`only one branch should be followed.)
`
`Further Reading
`Sebesta, Robert W. Concepts of Programming Languages. 8th ed.
`Boston: Addison-Wesley, 2008.
`
`MyPAQ, Exhibit 2027
`IPR2022-0031 1
`Page7 of 7
`
`The BIOS now looksfor a disk drive that is bootable—
`that is, that contains files with the code needed to load the
`operating system. This is generally a hard drive, but could
`be a floppy disk or even a CD-ROM or USB device. (The
`order in which devices are checked can be configured.) On
`a hard drive, the code neededto start the operating system
`is found in a “master bootrecord.”
`The booting of the operating system (DOS) involves the
`determination of the disk structure and file system and the
`loading of the operating system kernel (foundin files called
`10.SYS and MSDOS.SYS), and a commandinterpreter (COM-
`MAND.COM). The latter can then read the contents of the
`files AUTOEXEC.BAT and CONFIG.SYS, which specify sys-
`tem parameters, device drivers, and other programs to be
`loaded into memoryatstartup. If the system is to run Micro-
`soft Windows,that more elaborate operating system will then
`take over, building upon or replacing the foundation of DOS.
`
`Further Reading
`PC Guide. “System Boot Sequence.” Available online. URL: http://
`www.pcguide.com/_ref/mbsys/bios/bootSequence-c.html.
`Accessed April 10, 2008.
`
`branching statements
`(see CALCULATOR)
`The simplest calculating machines
`could only execute a series of calculations in an unalter-
`able sequence. Part of the transition from calculator to full
`computeris the ability to choose different paths of execu-
`tion according to particular values—in somesense, to make
`decisions.
`Branching statements (also called decision statements
`or selection statements) give programstheability to choose
`one or more different paths of execution depending on the
`results of a logical test. The general form for a branching
`statement in most programminglanguagesis
`
`if (Boolean expression)
`statement
`
`else statement
`
`For example, a blackjack game written in C might have a
`statementthat reads:
`
`if ((Card_Count + Value(This_Card))
`printf (“You're busted!”);
`
`> 21)
`
`Here the Boolean expression in parenthesis following the if
`keywordis evaluated.If it is true, then the following state-
`ment (beginning with printf) is executed. (The Boolean
`expression can be any combination of expressions, function
`calls, or even assignment statements,as long as they evalu-
`ate to true or false—see also BOOLEAN OPERATORS.)
`The else clause allowsthe specification of an alternative
`statement to be executed if the Boolean expression is not
`true. The preceding example could be expandedto:
`
`if (Card_Count + Value (This_Card)
`printf (“You’re busted!”);
`else
`
`> 21)
`
`printf£("“Do you want another card?”);
`
`MyPAQ, Exhibit 2027
`IPR2022-00311
`Page 7 of 7
`
`