`[19]
`[11] Patent Number:
`5,867,714
`
`Todd et al.
`[45] Date of Patent:
`Feb. 2, 1999
`
`U8005867714A
`
`[54] SYSTEM AND METHOD FOR
`DISTRIBUTING CONFIGURATION-
`DEPENDENT SOFTWARE REVISIONS TO A
`COMPUTER SYSTEM
`
`[75]
`
`Inventors: David K. Todd, Atlanta, Ga.; Michael
`R. Terrell, Spencerport, NY.
`
`[73] Assignee: NCR Corporation, Dayton, Ohio
`
`21] Appl. No.: 740,584
`22]
`Filed:
`Oct. 31, 1996
`
`l
`
`Int. Cl.0 ...................................................... G06F 9/445
`
`52] U-S- Cl-
`395/712; 395/500; 395/651;
`395/653; 707/10; 707/104; 707/201; 707/203
`[58l Field Of Search ------------------------------------- 395/712) 500:
`395/651, 653, 2005, 20051—20054, 20047—20049:
`182~01> 18201 183~01> 18303, 18307!
`183‘13’ 183‘14’ 1832’ 184‘01’ 828’ 830;
`707/1’ 10’ 104’ 200’ 201’ 203; 364/550’
`5153110I’33413681’ 19:76iki4973é/ITD’ fig’
`’
`’
`’
`’
`’
`’
`’ 123’ 1837186, 188’
`’
`’
`
`I56I
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,155,847 10/1992 Kirouac et a1.
`5,247,683
`9/1993 Holmes et al.
`5,287,505
`2/1994 Calvert et al.
`5,579,529
`11/1996 Terrell et al.
`5,619,716
`4/1997 Nonaka et al.
`5,664,093
`9/1997 Barnett et a].
`
`.................... 395/200.51
`395/200.51
`
`............................ 707/10
`........................... 395/828
`..... 395/712
`
`395/183.07
`
`Primary Examiner—Hal Dodge Wachsman
`Attorney, Agent, or FirmiWilliam A. Munck
`[57]
`ABSTRACT
`
`.
`.
`.
`.
`.
`There is disclosed a system for detectmg and avording faults
`stemming from conflicts in hardware and/or software con—
`figurations in a computer system. The system comprises
`communications circuitry that, from time to time, automati-
`cally transmits at least part of the current hardware and
`software configuration data of the computer system to a
`remote data source capable of identifying inherent conflicts
`in the hardware and software configuration. The remote data
`source then transmits t0 the computer system software
`revisions that are capable of resolving the inherent conflicts.
`After the communications circuitry receives the software
`revisions, processing circuitry in the computer system modi-
`
`fies the current software configuration according to the
`received software revisions.
`
`5,019,963
`
`5/1991 Alderson et al.
`
`....................... 707/201
`
`20 Claims, 3 Drawing Sheets
`
`100
`
`f
`
`130 ( REMOTE DATA SOURCE )
`
`[
`
`REGISTRATION
`DATABASE
`
`\132
`
`
`
`
`
`
`
`
`
`
`
`”REVISIONS
`
`COMMUNICATION LINK
`
`Y
`
`112
`
`MEMORY
`DEVICE
`
`
`
`
`[114
`
`PROCESSING
`CIRCUITRY
`
`116
`__[___
`NONVOLATILE
`MEMORY
`
`CONFIGURATION DATA
`
`140
`
`‘I‘IB
`COMMUNICATIONS
`
`CIRCUITRY
`
`120
`CONFIGURATION
`DETECTION CIRCUITRY
`
`IIIMCOMPUTER SYSTEM)
`
`EXHIBIT 1006
`
`MICROSOFT CORP
` !"
`#$%& '(()
`
`Page 1 of 13
`
`APPLE EXHIBIT 1006 - PAGE 0001
`
`
`
`
`
`
`
`US. Patent
`
`Feb. 2, 1999
`
`Sheet 1 0f3
`
`5,867,714
`
`FIG. 1
`
`100
`
`,/
`
`[130 ( REMOTE DATA SOURCE)
`
`
`
`
`REGISTRATION
`DATABASE
`
`132
`
`REVISIONS
`
`CONFIGURATION DATA
`
`
`COMMUNICATION LINK
`
`
`
`
`
`
`
`
`
`
`112
`
`MEMORY
`DEVICE
`
`PROCESSING
`CIRCUITRY
`
`NONVOLATILE
`MEMORY
`
`COMMUNICATIONS
`CIRCUITRY
`
`CONFIGURATION
`DETECTION CIRCUITRY
`
`110 (COMPUTER SYSTEM)
`
`Page 2 of 13
` *
`APPLE EXHIBIT 1006 - PAGE 0002
`
`
`
`
`
`
`
`US. Patent
`
`Feb. 2, 1999
`
`Sheet 2 0f3
`
`5,867,714
`
`205
`
`DETECT CHANGES
`IN CONFIGURATION
`
`ALTER CURRENT
`CONFIGURATION DATA
`
` 210
`
`
`
`
`215
`
`220
`
`240
`
`
`
`ESTABLISH
`COMMUNICATIONS LINK
`
`IDENTIFY CONFLICTS
`
`245
`
`
`
`FIG. 2A
`
`FIG. 2B
`
`
`
`
`
`
`
`SELECT
`SOFTWARE REVISIONS
`
`TRANSMIT
`SOFTWARE REVISIONS
`
`250
`
`255
`
`
`
`
`MODIFY SOFTWARE
`CONFIGURATION
`
`
`
`260
`
`
`
`265
`
`Page 3 of 13
`
`APPLE EXHIBIT 1006 - PAGE 0003
`
`
`
`
`
`
`
`US. Patent
`
`Feb. 2, 1999
`
`Sheet 3 0f3
`
`5,867,714
`
`FIG. 3
`
`330
`
`DATA SOURCE
`
`CENTRAL
`
`340
`
`320
`
`310A
`
`3108
`
`3100
`
`Page 4 of 13
` -
`APPLE EXHIBIT 1006 - PAGE 0004
`
`
`
`
`
`
`
`5,867,714
`
`1
`SYSTEM AND METHOD FOR
`DISTRIBUTING CONFIGURATION-
`DEPENDENT SOFTWARE REVISIONS TO A
`COMPUTER SYSTEM
`
`TECHNICAL FIELD OF THE INVENTION
`
`The present invention is directed, in general, to a com-
`puting apparatus and, more specifically,
`to a computer
`system capable of distributing or receiving software revi-
`sions that are a function of a specific system hardware and
`software configuration.
`BACKGROUND OF THE INVENTION
`
`Immeasurable gains in technology offered in personal
`computers (“PCs”) have allowed PCs to assume roles per-
`formed only by mainframe or minicomputers in the past.
`Many companies and individual users rely solely on
`commercially-available PCs, such as those provided by
`NCR, to meet their information processing needs. Thus, it is
`vital that
`their PCs perform reliably.
`If, however, a PC
`experiences a fault, it is equally vital that the PC commu-
`nicate existence of the fault to inform the user of a need to
`repair the fault so the PC can return to active service. For
`computer systems in general,
`it
`is most helpful for the
`computer system itself to provide an indication of the
`specific location and nature of the fault to help the user more
`quickly isolate and more economically repair the fault. To
`that end, today’s PCs are typically equipped with some form
`of internal diagnostics, the purpose of which is to detect and
`subsequently isolate specific hardware and software com-
`ponent failures and faults brought about by interactions
`among the PC’s hardware and software components (so-
`called “conflicts” leading to so-called “configuration
`faults”).
`For years, PCs have been provided with diagnostic rou-
`tines that test and report on the operational status or func-
`tionality of hardware and software components within the
`computer, allowing a user to repair or replace hardware or
`software components that are not functioning to the desired
`degree or to resolve certain conflicts manually.
`As PC systems become more and more complex and as
`users come more and more to rely on the services of remote,
`skilled technicians to maintain and repair their PCs, it is
`growing less desirable to force the user to diagnose PC faults
`alone. The general direction in the development of diagnos-
`tic software systems to this point has been to isolate the user
`somewhat from the intricate and technically complex opera-
`tions of diagnostic routines by: (1) providing more user-
`friendly diagnostic programs to the user, with interfaces
`written in clear text and presented in an aesthetically pleas-
`ing manner and (2) providing remote diagnostic capability
`so the remote technician may query the PC directly and
`determine faults without the user’s substantial participation.
`However,
`the user is still forced to undergo a fault and
`contact a remote technician for help.
`Unlike outright hardware or software failures, conflicts
`arise quite frequently and are entirely predictable. Quite
`often, technicians see the same conflicts over and over again.
`Users having similar hardware and software configurations
`tend to experience the same conflicts, some earlier than the
`rest. Therefore, the user may not have had to experience the
`conflict in the first place.
`The solution to such configuration problems usually
`involves manually correcting the computer’s configuration
`by revising (usually updating) portions (such as libraries and
`hardware drivers) of the computer’s operating system. The
`
`10
`
`15
`
`30
`
`u.)‘1‘
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`remote technician or the user may effect these revisions.
`Unfortunately, the above-described solutions to the diagnos-
`tic problem still require the user to suffer a fault and contact
`a technician, even if it is an avoidable fault due to a conflict.
`In the past,
`the answer has seemed to lie merely in
`automating the diagnostic process. For example, US. Pat.
`No, 5,287,505, issued on Feb. 15, 1994, to Calvert, et al.,
`and entitled “On—line Problem Management of Remote Data
`Processing Systems, Using Local Problem Determination
`Procedures and a Centralized Database” is directed to auto-
`mated problem analysis and resolution of a customer data-
`processing system in which a central service data-processor
`system communicates with the customer system. Included is
`a database for converting machine, software and symptom
`data into instructions, hardware and software module lists,
`and service call schedules. The customer system detects data
`concerning its own configuration and problem symptoms for
`communication to the service system. The service system
`itself orders repair modules, and electronically communi-
`cates software fixes to the customer system.
`Unfortunately, Calvert, et al.,
`is expressly directed to
`repair of a fault once it has occurred and does not provide a
`means by which to anticipate and avoid faults, particularly
`configuration faults arising out of hardware/software con-
`flicts.
`
`In the past, some effort has been given to automating the
`process of software revision to avoid prospective, purely
`software-based faults. For example, US. Pat. No. 5,155,847,
`issued on Oct. 13, 1992,
`to Kirouac, et al., and entitled
`“Method and Apparatus for Updating Software at Remote
`Locations” is directed to a method and system for updating
`the software used in remote computer systems from a central
`computer system. The method includes storing, in the cen-
`tral computer system, copies of the software executable used
`in each remote computer system. When the copies of the
`software in the central computer system are upgaded, for
`example, to correct the software, to add new facilities, to
`change user interfaces,
`to make cosmetic changes,
`to
`improve performance, etc., each change made to the soft-
`ware is monitored and stored. The remote computer systems
`are permitted access to the central computer system via
`communications links and the software in the remote com-
`
`puter systems and the corresponding software in the central
`computer system are compared. All of the changes that have
`been made to the software in the central computer system
`which have not been made to the corresponding software at
`the remote computer system accessing the central computer
`are detected. The detected changes are then transmitted to
`the remote computer system and applied to the software
`therein in order to upgrade the software in the remote
`computer system. The upgraded software in the remote
`computer system is examined to ensure that the software has
`been changed correctly. The method allows the software at
`the remote computer systems to be upgraded even while the
`software at the remote site is being used. The system and
`method also allow the software used in the remote computer
`systems to be upgraded when the remote computer systems
`use different versions of the software and allow the software
`
`to be upgraded in a variety of hardware environments and
`operating systems.
`Unfortunately, Kirouac, et al., is directed only at revising
`application-level software. Kirouac, et al. is not directed to
`analyzing the complete hardware and software configuration
`of a computer system in an effort to identify hardware/
`software conflicts and potential configuration faults. Further,
`Kirouac, et al., is not directed to revising components of the
`computer’s operating system.
`
`Page 5 of 13
` /
`APPLE EXHIBIT 1006 - PAGE 0005
`
`
`
`
`
`
`
`5,867,714
`
`3
`Given that potential faults due to conflicts are diagnosable
`and readily repairable, what is needed in the art is a system
`and method for automatically correcting hardware/software
`conflicts that have potential for causing a fault, preferably
`well before they actually become faults. The system and
`method should be capable of distributing or receiving soft-
`ware revisions that are a function of a specific system
`hardware and software configuration to address the conflict.
`SUMMARY OF THE INVENTION
`
`
`
`To address the above-discussed deficiencies of the prior
`art, the present invention provides, for use with a computer
`system having a hardware and software configuration sub-
`ject to change over time, a system for, and method of,
`receiving software revisions as a function of the hardware
`and software configuration. The system includes: (1) current
`configuration data, stored in a memory device associated
`with the computer system, containing a current description
`of at
`least a portion of the hardware and software
`configuration, (2) communications circuitry, associated with
`the computer system, that automatically establishes a com-
`munications link between the computer system and a remote
`data source to transmit the current configuration data to the
`remote data source, the remote data source able to identify
`conflicts inherent
`in the hardware and software
`configuration, select configuration-dependent software revi-
`sions (revisions that are a function of the hardware and
`software configuration) and transmit the software revisions
`o the computer system to address at least some of the
`conflicts and (3) processing circuitry, associated with the
`computer system, that modifies a software configuration of
`he computer system in accordance with the software revi-
`sions thereby to avoid a configuration fault.
`The above-described system therefore allows at least a
`aortion of a computer’s hardware and software configuration
`0 be stored and remotely monitored. If the hardware and
`software configuration indicates a conflict and therefore a
`aotential configuration fault ahead for the user, the remote
`data source can distribute the necessary configuration revi-
`sions to address the conflict and thereby avoid the configu-
`ration fault entirely. In this way, valuable user and technician
`ime can be saved.
`
`The remote data source should preferably be able to
`'dentify conflicts inherent
`in the hardware and software
`configuration. Most preferably, the power of identification is
`lad by experience. In other words, when a user or other
`aarty (such as a manufacturer) identifies or experiences a
`ault brought about by a conflict, the knowledge required to
`identify the conflict and the necessary configuration revi-
`sions are added to the remote data source. Thus, the remote
`data source acts as a conflict and revision database.
`However, this need not be the case. The remote data source
`may alternatively take the form of an expert system that is
`able to identify conflicts before anyone experiences them.
`In one embodiment of the present invention, the remote
`data source comprises a registration database containing
`other data pertaining to the computer system,
`the remote
`data source able to identify the conflicts by analyzing the
`current configuration data and the other data.
`Often, proper diagnosis of a conflict is enhanced when
`information about the computer system, other than configu-
`ration data,
`is known. The other data may comprise, for
`instance, the make, model and serial number of the computer
`system and data indicating the personal working habits of
`the computer system’s user. Of course, still other data may
`be desired; the present invention is not limited by the type
`of data used for diagnosis and revision.
`
`4
`In one embodiment of the present invention, the commu-
`nications circuitry periodically automatically establishes the
`communications link between the computer system and the
`remote data source. This may, most advantageously, result in
`nightly or weekend contacts for the purpose of receiving
`configuration revisions. Of course, the present invention is
`not limited to automatic, periodic contact;
`the user may
`contact the remote data source at will or aperiodically.
`In one embodiment of the present invention, the system
`further comprises configuration detection circuitry that
`detects changes in the hardware and software configuration
`and automatically alters the current configuration data as a
`function thereof. Preferably,
`the user does not need to
`intervene in altering the current configuration data. The
`computer system can be programmed to perform the func-
`tion automatically. However, the broad scope of the present
`invention certainly encompasses manual alteration of the
`current configuration data by the user.
`In one embodiment of the present invention, the software
`revisions include revisions to operating system software
`stored in nonvolatile memory associated with the computer
`system. As previously described, conflicts are often resolved
`by revising portions of the computer’s operating system,
`some of which may reside in nonvolatile memory (such as
`Electrically-Erasable Programmable Read-Only Memory
`(“EEPROM”)) within the computer system. However, the
`broad scope of the present
`invention is not so limited.
`Revisions may be made to other operating system software
`or to application programs.
`In one embodiment of the present invention, the current
`configuration data includes usage pattern tracking data. The
`usage pattern tracking data may be employed to monitor the
`manner in which the user employs the computer system.
`Thus, the present invention may be regarded as not only a
`solver of potential problems, but also as a finder of oppor-
`tunity. As will be explained in greater detail below, the
`present invention may be employed to allow a manufacturer
`to track how its customers are using their computers, giving
`the manufacturer specific access and insight to its custom-
`ers’ needs and allowing the manufacturer to target
`its
`customer base with appropriate advertising.
`In one embodiment of the present invention, the commu-
`nications circuitry establishes the communications link via a
`selected one of a telecommunications system and a com-
`puter network. Thus, the present invention, in its broadest
`form, contemplates any mode of contact to effect the com-
`munications link.
`
`Another aspect of the present invention provides a system
`for automatically distributing configuration-dependent soft-
`ware revisions, comprising: (1) a central data source, (2) a
`plurality of remote computer systems, each of the plurality
`of remote computer systems having an associated system for
`receiving software revisions from the central data source, the
`associated system including: (2a) current configuration data
`containing a current description of at least a portion of a
`hardware and software configuration of the associated
`remote computer system, (2b) communications circuitry that
`automatically establishes a communications link between
`the remote computer system and the central data source to
`transmit the current configuration data to the central data
`source and receive software revisions from the central data
`
`source in response thereto and (2c) processing circuitry,
`associated with the remote computer system, that modifies a
`software configuration of the computer system in accor-
`dance with software revisions and (3) revision selection
`circuitry, associated with the central data source that
`
`10
`
`15
`
`30
`
`u.)‘1‘
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 6 of 13
` 1
`APPLE EXHIBIT 1006 - PAGE 0006
`
`
`
`
`
`
`
`5,867,714
`
`5
`receives current configuration data from the plurality of
`remote computer systems, identifies conflicts inherent in the
`hardware and software configurations of the plurality of
`remote computer systems, selects software revisions as a
`function of the hardware and software configurations and
`transmits the software revisions to respective ones of the
`remote computer system to address at least some of the
`conflicts. In alternate embodiments, the revision selection
`circuitry may identify conflicts inherent in the hardware and
`software configuration of a single computer system, select
`software revisions as a function of that hardware and soft-
`ware configuration and transmit the software revisions to the
`computer system to address at least some of the conflicts.
`An advantageous embodiment for employing or distrib-
`uting the present invention is as software. The software
`embodiment
`includes a plurality of processing system
`instructions that may suitably be stored to a conventional
`storage medium. Preferred storage media include without
`limitation magnetic, optic and electric, as well as suitably
`arranged combinations of the same. The processing system
`instructions are readable and executable by one or more
`computer or processing systems to distributing
`configuration-dependent software revisions to a computer
`system in accordance with the pr'nciples of the present
`invention.
`
`The foregoing has outlined, rathe broadly, preferred and
`alternative features of the present 'nvention so that those
`skilled in the art may better understand the detailed descrip-
`tion of the invention that follows. Additional features of the
`
`invention will be described hereinaf er that form the subject
`of the claims of the invention. Those skilled in the art should
`
`
`
`appreciate that they can readily use tie disclosed conception
`and specific embodiment as a basis for designing or modi-
`fying other structures for carrying out the same purposes of
`the present invention. Those skilled in the art should also
`realize that such equivalent construe ions do not depart from
`the spirit and scope of the invention in its broadest form.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`For a more complete understanding of the present
`invention, reference is now made to the following descrip-
`tions taken in conjunction with the accompanying drawings,
`in which like numbers designate like parts and in which:
`FIG. 1 illustrates a block diagram of a system constructed
`according to the principles of the present invention; and
`FIG. 2A illustrates a flow diagram of a method of ensuring
`that configuration data are current;
`FIG. 2B illustrates a flow diagram of a method of estab-
`lishing a communications link and receiving software revi-
`sions; and
`FIG. 3 illustrates a block diagram of a centralized system
`for automatically distributing configuration-dependent soft-
`ware revisions.
`
`DETAILED DESCRIPTION
`
`Referring initially to FIG. 1, illustrated is a block diagram
`of a system constructed according to the principles of the
`present invention. The system, generally designated 100, is
`illustrated as residing locally on a computer system 110
`(which may advantageously be a PC or any other conven-
`tional suitably arranged processing system), using existing
`circuitry within the computer system 110 to perform novel
`functions according to the present invention. “Or,” as the
`term is used herein, is inclusive, meaning and/or.
`The computer system 110 is illustrated as including a
`memory device 112 (which may be random access memory
`
`6
`read-only memory (“ROM”), a conventional
`(“RAM”),
`mass storage device, such as a floppy or hard disk drive, or
`the like). “Include,” as the term is used herein, means
`inclusion without limitation. The memory device 112 is
`conventionally capable of storing data of many types.
`However, the present invention advantageously employs the
`memory device 112 to store current configuration data
`pertaining to the hardware and software configuration of the
`computer system 110. The kind of data contained in the
`current configuration data will be set forth in greater detail
`below.
`
`The computer system 110 is further illustrated as includ-
`ing processing circuitry 114. The processing circuitry 114
`generally governs the flow of software instructions and
`substantive data within the computer system 110. In FIG. 1,
`the processing circuitry 114 is used to provide, among other
`things, read/write access to the memory device 112.
`The computer system further includes nonvolatile
`memory 116. The nonvolatile memory 116 may be ROM,
`EEPROM or a conventional mass storage device and may be
`used to store, among other things, operating system software
`components, such as hardware drivers (not shown).
`In
`conventional PC systems, the nonvolatile memory employed
`for this purpose is ROM or EEPROM. Because the revisions
`distributed according to the present invention may suitably
`include revisions to operating system components stored in
`the nonvolatile memory 116,
`it is advantageous that the
`nonvolatile memory 116 be EEPROM, such that the revi-
`sions may be written to the nonvolatile memory 116.
`The computer system 110 is further illustrated as includ-
`ing communications circuitry 118. The communications
`circuitry 118 may be, for example, a modem (allowing the
`computer system 110 to communicate via a telecommuni-
`cations system (not shown)) or a network interface card
`(“NIC”) (allowing the computer system 110 to communicate
`via a computer network (not shown)).
`It should be
`understood, however, that the present invention in its broad-
`est form is indifferent to the type of system or mode of
`communication in which the communications circuitry 118
`is designed to operate.
`The computer system 110 further includes configuration
`detection circuitry 120. The configuration detection circuitry
`120 is responsible for obtaining data pertaining to at least a
`portion of the current hardware and software configuration
`of the computer system 110. The configuration detection
`circuitry 120 may be as simple as a software program,
`executable within the computer system 110, for querying the
`user as to the current hardware and software configuration.
`More preferably, however, the configuration detection cir-
`cuitry 120 determines the hardware and software configu—
`ration automatically, by polling hardware components and
`cataloging software components to create a list of current
`configuration data setting forth the components that com-
`prise the computer system 110. Such a list might read as
`follows:
`
`COMPUTER
`
`Manufacturer Name:
`Manufacturer No.
`Serial No.
`Computer Name
`ID Bytes
`Bus
`Processor
`CPU State
`
`Dell Computer Corp.
`99999
`99999
`Generic Al' Compatible
`FC, 01 (IBM AT 339)
`ISA (16 bit)
`Cyrix 486DLC, 50 Mhz
`V8086 Mode, A20 On
`
`10
`
`15
`
`30
`
`u.)‘1‘
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 7 of 13
` 2
`APPLE EXHIBIT 1006 - PAGE 0007
`
`
`
`
`
`
`
`7
`-continued
`
`Cyrix 80387, 50 Mhz
`CMOS RAM
`CMOS
`BIOS/DOS
`
`Coprocessor
`Setup Type
`Clock
`
`BIOS Mfr
`BIOS Size
`DOS Version
`BIOS Date
`
`5,867,714
`
`Mfr S/N
`
`8
`-c0ntinued
`
`N/A
`FLOPPY DRIVE 0
`
`5
`
`Size
`DOS Name
`Geometry
`Media Support
`
`Disk Size
`
`15
`
`Disk Size
`
`Port 0
`Name
`
`1.2M(5.25")
`A:
`80 Tracks, 2 Heads, 15 Sectors
`AMI
`1.2M High Density
`64K
`360K Double Density
`7.00
`(no disk in drive)
`06/06/92
`FLOPPY DRIVE 1
`10
`PRIMARY VIDEO
`Copyright 1988—1991 TRIDENT MICROSYSTEMS INC —
`— Size
`1.44M(3.5”)
`Adapter
`VESA
`DOS Name
`B:
`RAM Size
`1,024K
`Geometry
`80 Tracks, 2 Heads, 18 Sectors
`Video BIOS
`Trident
`Media Support
`1.44M High Density
`Chip Set
`Unknown
`20K Double Density
`VESA Installed
`Yes (Version 1.02)
`(no disk in drive)
`Max Resolution
`1280X1024, 16 colors (106h)
`SERIAL PORTS
`Max Colors
`640X480, 16777216 colors (11211)
`—
`Max 'l'ext Mode
`1322460, 16 colors (10ch)
`DOS
`Monitor
`VGA Color
`COMl:
`
`7
`SECONDARY VIDEO
`— ~0
`No Adapter
`PHYSICAL MEMORY
`640K
`619K
`156K
`OK
`Port 0
`7,168K
`Name
`None
`I/O Address
`MANAGED MEMORY
`— Bidirectional
`14,044K
`30
`Port 1
`6,876K (taken from Extended Memory)
`Port 2
`64K (in-use)
`3.00
`3.5
`No Driver Installed
`HARD DRIVE 0
`169M
`11M
`Big DOS (C:)
`169M
`No Defined
`Not Defined
`Not Defined
`902 Cyls, 8 Heads, 46 Sectors
`Uri:nown
`(undetermined)
`Urignown
`47
`47
`IDE/ESDI (BIOS driver)
`Advanced
`Un:n0wn
`Un:n0wn
`N/A
`N/A
`HARD DRIVE 1
`
`25
`
`2;
`__
`
`40
`
`45
`
`50
`
`
`
`Base... Total
`Available
`Upper Memory... Total
`Largest Block
`Extended... Total
`Available
`
`XMS... Total
`Available
`HMA
`Version
`Driver Rev.
`EMS...
`
`Total Size
`DOS Free
`Partition 1
`Size
`Partition 2
`Partition 3
`Partition 4
`BIOS Geometry
`Real Geometry
`Interleave
`Sectors \Vastcd
`CMOS Type
`Best Match
`Interface
`Encoding
`Translated
`Model
`Rev.
`Manufacturer No.
`
`Total Size
`DOS Free
`Partition 1
`$126.
`_
`Partition 2
`Partition 3
`.
`.
`Partition 4
`
`BIOS Geometry
`Real Geometry
`Interleave
`Sectors \Vasted
`CMOS Type
`Interface
`Encoding
`Translated
`Model
`Rev
`
`169M
`11l\/I
`Big DOS (D:)
`169M
`Not Defined
`Not Defined
`Not Defined
`
`902 Cyls, 8 Heads, 46 Sectors
`Uri:nown
`(undetermined)
`U11:110W]1
`47
`Best Match: 47
`IDE/ESDI (BIOS driver)
`Advanced
`Un:n0wn
`Un:n0wn
`N/A
`
`
`
`55
`
`60
`
`‘35
`
`I/O Address
`Chip Type
`FIFO
`Settings
`Port 1
`Port 2
`Port 3
`
`Adapter
`Monitor
`Max Colors
`Max Resolution
`
`Sound Device
`Compatibility:
`Features
`
`Interface
`I/O Address
`Version
`
`Interface
`Driver
`Version
`DOS Name(s)
`
`Type
`Num Lock
`Caps Lock
`Scroll Lock
`
`Tvpe
`(1
`'
`.
`.
`Spee
`Driver ReViSion
`
`3F8h
`16550A
`No
`2400 Baud, None. 8, 1
`No Port
`No Port
`No Port
`PARALLEL PORTS
`—
`DOS
`LPT1:
`378h
`No
`No Port
`No Port
`VIDEO
`—
`VESA
`VGA Color
`640X480, 16777216 colors (112h)
`1280X1024, 16 colors (106h)
`SOUND
`
`Sound Blaster Compatible
`Sound Blaster, Adlib
`FM Synthesis
`Digital Playback
`Microphone Input
`Internal Card
`220h
`3.0
`CD-ROM
`—
`Microsoft CD-ROM Extensions
`MSCDEX.EXE
`2.23
`E:
`KEYBOARD
`
`101-key Enhanced
`On
`Off
`Off
`MOUSE
`—
`Serial (2 button)
`Medium
`8.48
`
`w
`_
`NOt Determined Yet
`MODEM 2
`
`Net Determined Yet
`
`FAX
`
`No FAX Found
`
`Page 8 of 13
` 4
`APPLE EXHIBIT 1006 - PAGE 0008
`
`
`
`
`
`
`
`9
`-continued
`
`10
`-c0ntinued
`
`5,867,714
`
`4Eh Unused
`Interrupt Vectors Usage
`— 4Fh
`Unused
`00h
`Divide Error
`0520:0139
`Available
`50h
`DESQvieWRelocated IRQO
`01h
`Debug Exceptions
`0070:0465
`DOS Kernel
`51h
`DESQvieWRelocated IRQ1
`02h
`Non-Maskable Interrupt
`0520:025E
`Available
`52h
`DESQvieWRelocated IRQZ
`03h
`Breakpoint
`0070:0465
`DOS Kernel
`53h
`DESQvieWRelocated IRQ3
`04h
`Overflow
`0070:0465
`DOS Kernel
`54h
`DESQvieWRelocated IRO4
`05h
`Print Screen Handler
`F000:FF54
`System ROM
`55h
`DESQvieWReleeated IRQS
`06h
`Invalid Opcode
`F000:EB43
`System ROM
`56h
`DESQviewRelocated IRQ6
`07h
`No Coprocessor
`F000:EAEB
`System ROM
`10 57h
`DESQviewRelocated IRQ7
`08h
`IRQO-Time1'
`0498:0000
`vmm32
`58h
`{eservec
`09h
`IRQ1-Keyboard
`CE69:0028
`UMB
`59h
`GSS Graphics Interface
`0A1
`IRQ27EGA Vert. Retrace
`CE69:003A
`UMB
`5A
`Cluster Adapter BIOS
`0B1
`IRQ3-COM2
`CE69:0052
`UMB
`5B 1 Used by Cluster Adapter
`0C1
`IRQ4—COM1
`CE69:006A
`UMB
`5C 1 NETBIOS & TOPS API
`0D 1
`IRQ5
`CE69:0082
`UMB
`15 5Dh
`{eservec
`0E1
`IRQ6-Diskette
`CE69:009A
`UMB
`5E1
`{eservec
`0F1
`IRQ7—Printer
`0070:0465
`DOS Kernel
`5F1
`{eservec
`0
`Video
`DC17:000A
`UMB
`601
`Nets, PCiIPC, SYsiPROF
`1
`Equipment Determination
`F000:F84D
`System ROM
`61 1
`{eservec ‘or User Intr
`2
`Mem. Size Determination
`F000:F841
`System ROM
`621
`{eservec or User Intr
`3
`Diskette & Fixed Disk
`FD5B:2532
`System ROM
`631
`{eservec or User Intr
`7
`4
`Serial
`F000:E739
`System ROM
`“0 641
`Novell Low-Level API
`5
`System Services
`0251:053A
`EMM386
`651
`{eservec or User Intr
`6
`Keyboard
`0070:042D
`DOS Kernel
`66 1
`{eservec or User Intr
`7
`Printer
`CC9D:0A28
`UMB
`671
`LIM, EMS, VCPI
`8
`Transfer to ROM BASIC
`F000:E000
`System ROM
`681
`APPC/PC
`9
`Bootstrap Loader
`691
`{eservec or User Intr
`A1
`Timer & Real-Time Clock
`25 6Ah OPTHELP
`B1
`Ctrl-Break
`6Bh Ungermann-Bass NETCI
`C1
`Clock Tick
`6Ch DOS 3.2 {eal-Time Clock
`D1 Video Init Tables
`6Dh
`{eservec or VGA
`E1
`Diskette Parameters
`6Eh Unused
`F1
`Graphics Set 2
`6Fh
`Novell PCOX API, 10-.\IET
`20 1
`DOS Prog. Termination
`30 7011
`IRQ8-Rea -Time Clock
`21
`DOS System Services
`71h
`IRQ9
`22
`DOS Terminate Address
`72h
`IRQ10
`23
`DOS Ctrl-C Address
`73h
`IRQ11
`24
`Critical Error Handler
`74h
`IRQ12
`25
`DOS Absolute Disk Read
`75h
`IRQ13-Coprocessor Error
`26
`DOS Absolute Disk Write
`35 76h
`IRQ14—Fixed Disk
`27
`Terminate Stay Resident
`77h
`IRQ15
`28
`DOS Keyboard Busy Loop
`29
`DOS Fast Putchar
`2A1 NETBIOS, Other Networks
`2B1
`Reserved for DOS
`2C1
`Reserved for DOS
`2D1
`Reserved for DOS
`2E1
`DOS Internal EXECUTE
`2F1 Multiplex
`30
`CP/M JMP Command
`31
`DPMI
`32
`Reserved for DOS
`331 MOUSE
`34 1
`Floating Pt. Emulation
`35
`Floating Pt. Emulation
`36
`Floating Pt. Emulation
`37
`Floating Pt. Emulation
`38
`Floating Pt. Emulation
`39
`Floating Pt. Emulation
`3A1
`Floating Pt. Emulation
`3B1
`Floating Pt. Emulation
`3C1
`Floating Pt. Emulation
`3D1
`Floating Pt. Emulation
`3E1
`Floating Pt. Emulation
`3F1
`Overlay & DLL Managers
`40
`Orig Diskette Handler
`41
`1st Fixed Disk Params
`42
`Orig Video Handler
`43
`EGA/VGA UserFontTable
`44
`EGA/VGA Fonts
`45
`Unused
`46
`2nd Fixed Disk Params
`471
`SQL Base API
`48
`Unused
`49
`Unused
`4Ah User Alarm
`4Bh Unused
`4Ch Unused
`4Dh Unused
`
`
`
`
`
`
`
`
`F000:FE6E
`CC9D:0604
`0498:001D
`F000:FOA4
`
`C000:4E16
`00C9:0FA8
`CC9D:04A0
`FDA9:2052
`FD45:2692
`03B6:080B
`00C9:0FBC
`00C9:0FC6
`00C9:0FDO
`00C9:106F
`0070:0466
`CC9D:05B4
`00C9:106F
`00C9:106F
`00C9:106F
`03A8:0000
`03B6:03CC
`C90F:E4EA
`F000:EA00
`00C9:106F
`0492:0001
`152E:0306
`152E:0306
`152E:0306
`152E:0306
`152E:0306
`152E:0306
`152E:0306
`152E:0306
`152E:0306
`152E:0306
`152E:03C6
`00C9:106F
`F000:EC59
`F000:E13D
`F000:F065
`C000:5216
`F000:EA97
`F000:EA97
`F000:E14D
`F000:EA97
`F000:EA97
`F000:EA97
`F000:EA97
`FD49:2652
`F000:EA97
`F000:EA97
`
`System ROM
`UMB
`vmm32
`System ROM
`
`Video ROM
`DOS Kernel
`UMB
`System ROM
`System ROM
`WIN
`DOS Kernel
`DOS Kernel
`DOS Kernel
`DOS Kernel
`DOS Kernel
`UMB
`DOS Kernel
`DOS Kernel
`DOS Kernel
`WIN Data
`WIN
`UMB
`System ROM
`DOS Kernel
`v11111132
`Available
`Available
`Available
`Available
`Available
`Available
`Available
`Available
`Available
`Available
`Available
`DOS Kernel
`System ROM
`System ROM
`System ROM
`Video ROM
`System ROM
`System ROM
`System ROM
`System ROM
`System ROM
`System ROM
`System ROM
`System ROM
`System ROM
`System ROM
`
`5
`
`
`
`