throbber
(12) United States Patent
`Mann et al.
`
`USOO6922722B1
`(10) Patent No.:
`US 6,922,722 B1
`(45) Date of Patent:
`Jul. 26, 2005
`
`(54) METHOD AND APPARATUS FOR DYNAMIC
`NETWORK CONFIGURATION OF AN
`ALERT-BASED CLIENT
`
`(75) Inventors: Eric K. Mann, Hillsboro, OR (US);
`Anil Vasudevan, Hillsboro, OR (US)
`(73) Assignee: Intel Corporation, Santa Clara, CA
`(US)
`-
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(*) Notice:
`
`6,161,133 A 12/2000 Kikinis ....................... 709/220
`6,182,180 B1
`1/2001 Liu et al.
`6,198.722 B1
`3/2001 Bunch
`6.219,708 B1
`4/2001 Martenson
`6.243,746 B1
`6/2001 Sondour et al.
`6,249,885 B1
`6/2001 Johnson et al.
`6.253,243 B1
`6/2001 Spencer
`6,275,864 B1
`8/2001 Mancusi et al.
`6,282,568 B1
`8/2001 Sondur et al.
`6,286,038 B1 * 9/2001 Reichmeyer et al. ....... 709/220
`6,308.206 B1 10/2001 Singh
`6,349,333 B1
`2/2002 Panikatt et al.
`6,353,854 B1 * 3/2002 Cromer et al. .............. 709/220
`6,363,421 B2
`3/2002 Barker et al.
`6,363,422 B1
`3/2002 Hunter et al. ............... 709/218
`6.490.620 B1
`12/2002 Dit
`t al.
`2 : - - 2
`f
`he ea
`* cited by examiner
`
`(21) Appl. No.: 09/409,627
`(22) Filed:
`Sep. 30, 1999
`(51) Int. Cl." .............................................. G06F 15/177
`Primary Examiner Ario Etienne
`ASSistant Examiner Kevin Parton
`(52) U.S. Cl. ....................... 709/220; 709/221; 709/222;
`(74) Attorney, Agent, or Firm-Blakely, Sokoloff, Taylor &
`709/223; 709/224; 709/225; 709/217; 709/218;
`Zafman LLP
`709/219; 717/172; 717/177
`(58) Field of Search ................................. 709/221-225,
`ABSTRACT
`(57)
`709/217-219, 220; 717/171-173, 176-178;
`701/220, 223, 224 A method and apparatus for performing network-based
`control functions on an alert-enabled managed client. An
`alert proxy translates generic, management-based command
`data received from a management application/agent into
`Specific client-based hardware control data. The alert proxy
`transmits a data packet containing the hardware control data
`over a network to an alert-enabled managed client. Alert
`hardware within the alert-enabled managed client parses the
`hardware control data into control bits and utilizes the
`control bits to Set or clear registers within the alert-enabled
`managed client So as to effectuate the Specified control
`operations. The control operations may be performed on the
`alert-enabled managed client independent of the operational
`Status of the alert-enabled managed client's operating Sys
`tem.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,168,566. A 12/1992 Kuki et al.
`5,175,855 A 12/1992 Putnam et al.
`5,181.201 A 1/1993 Schauss et al.
`5,309,563 A 5/1994 Farrand et al.
`5,600,782 A 2/1997 Thomson
`5,689,708 A 11/1997 Regnier et al.
`5,838,907 A 11/1998 Hansen ....................... 709/220
`5,860,010 A 1/1999 Attal
`5,968,116 A 10/1999 Day, II et al.
`5,968,176. A 10/1999 Nesset et al.
`5,978,912 A 11/1999 Rakavy et al.
`5.987,514 A 11/1999 Rangarajan
`5.987,554. A 11/1999 Liu et al.
`6,065,053 A 5/2000 Nouri et al.
`
`15 Claims, 14 Drawing Sheets
`
`
`
`
`
`
`
`ALERTPROXY
`125
`
`
`
`NEWORKSTACK
`122
`
`MGMTSERVER 120
`
`CENT 11
`
`NETWORK
`100
`
`Intel Corporation v. ACQIS LLC
`Intel Corp.'s Exhibit 1049
`Ex. 1049, Page 1
`
`

`

`U.S. Patent
`
`Jul. 26, 2005
`
`Sheet 1 of 14
`
`US 6,922,722 B1
`
`
`
`
`
`
`
`?V? INBITO
`
`
`
`?Ž? HENNES | WOW
`
`Ex. 1049, Page 2
`
`

`

`U.S. Patent
`
`Jul. 26, 2005
`
`Sheet 2 of 14
`
`US 6,922,722 B1
`
`
`
`HETTO?HINOO
`}}}JONA13N
`
`?I?
`
`Ex. 1049, Page 3
`
`

`

`US. Patent
`
`Jul. 26, 2005
`
`Sheet 3 0f 14
`
`US 6,922,722 B1
`
`meEmz
`
`amm._._OE.ZOo
`
`Ema25%
`
`$959,$59
`
`Hmm4<
`
`a$2392:
`
`v3.10
`
`mwo._x23
`
`mOmme2E
`
`
`
`mmafigmw>oo
`
`
`
`flownmam—2m
`
`mewzww
`
`mszmw
`
`9mm
`
`mOmzmw
`
`momzmm
`
`W3
`
`<m.OE
`
`meEmz
`
`Ex. 1049, Page 4
`
`Ex. 1049, Page 4
`
`
`
`

`

`U.S. Patent
`
`Jul. 26, 2005
`
`Sheet 4 of 14
`
`US 6,922,722 B1
`
`
`
`*JOSNES}JOSNES(JOSNES}}OSNES
`???55????
`
`Ex. 1049, Page 5
`
`

`

`U.S. Patent
`
`Jul. 26, 2005
`
`Sheet 5 of 14
`
`US 6,922,722 B1
`
`STAR
`
`
`
`
`
`
`
`
`
`
`
`RECEIVE EVENT MESSAGE
`DATA
`402
`
`PARSEEVENT MESSAGE
`DAA
`404
`
`ASSIGN VALUESTO EVEN
`VARABLES BASED UPON
`EVENT MESSAGE DAA
`406
`
`REFERENCE EVENT
`DESCRIPTION FLE
`
`FIG. 4A
`
`Ex. 1049, Page 6
`
`

`

`U.S. Patent
`
`m
`
`6m
`
`mn.7,202,,
`
`
`
`
`
`%ram225<$5.82as:m:m,95E25:2%QO$528.o.55%v:
`
`
`
`
`
`Sascha::022:833:352mat.m0<mmm2«av
`
`mv.0.”—
`
`
`
`:028&5:MatEmaas. 255.2888:a8m:$8.223me25:8.65szEma«2m255m353%?a8m:$382$38<25:88%mea?m2522m$55:
`
`
`
`
`
`
`
`c2552;22m.285225:85%Emav2
`
`Ex. 1049, Page 7
`
`Ex. 1049, Page 7
`
`

`

`U.S. Patent
`
`Jul. 26, 2005
`
`Sheet 7 of 14
`
`US 6,922,722 B1
`
`F.G. 5A
`
`505->|LANGUAGE MAP
`eSm esp
`
`510->{SYSTEM D)
`511 - XXX = CompanyxYZ
`512->YYY = CompanyABC
`520-EVENT TYPE
`O = SMPLE
`521 - 1 = SIMPLE
`522->8 = SOFTWARE
`523 -> 90 = COMPOUND
`
`530->EVENT MAP
`531-> CompanyxYZ = 1,2; 2,2; 84,9; 90.7
`540->EVENT LIST
`O = 13000;14014
`541 -> 1 = 13001;14015
`2 = 13002;14O16
`3 = 13003;14017
`550 -> COMPANYXYZ 90)
`551 - 7 - 8
`552->9 = 10
`(RESOURCE MAP
`CompanyxYZ = XYZ
`CompanyABC = ABC
`
`565-ICOMPANYXYZ
`01.06.2712
`
`Ex. 1049, Page 8
`
`

`

`U.S. Patent
`
`Jul. 26, 2005
`
`Sheet 8 of 14
`
`US 6,922,722 B1
`
`FIG. 5B
`
`570
`
`572
`
`574
`
`576
`
`
`
`GE EVENT EXTENSION:
`
`
`
`
`
`
`
`N PLATFORMAND EVENT
`TYPE # SECTION, REFERENCE
`EVENT EXTENSION i
`
`OBAN 2ND EVENT TYPE
`CORREATED TO EVENT
`EXTENSON #
`
`584
`
`586
`
`588
`
`GE SYSTEM O
`
`ASSOCATE SYSTEM D
`WHPAFORM NAME
`
`GET FRST EVENTYPE
`
`578
`
`
`
`S EVENT TYPE
`"COMPOUND"?
`
`N PLATFORM EVENT MAP
`REFERENCE ST EVENT TYPE
`
`IN PLATFORM EVENT MAP
`OBAN 2NO EVENT TYPE
`CORRELATED TO ST EVENT
`TYPE
`
`
`
`
`
`NEVENT LIST, REFERENCE2ND
`EVENTYPE is
`
`OBAN OCALIZED EVENT
`SRNG AND EVEN INFO STRING
`CORRELATED WITH 2ND
`EVENT TYPE
`
`592
`
`
`
`
`
`
`
`
`
`594
`
`GE "SOFTWARE, EVENT
`MESSAGE STRING
`
`
`
`N PLAFORMAND EVENT TYPE
`SECTION, OBTAINS/W INFO
`STRING CORRELATED TO
`SW MESSAGE STRING
`
`
`
`596
`
`598
`
`580
`
`
`
`
`
`582
`
`
`
`
`
`
`
`
`
`
`
`Ex. 1049, Page 9
`
`

`

`U.S. Patent
`
`Jul. 26, 2005
`
`Sheet 9 of 14
`
`US 6,922,722 B1
`
`FIG. 6A
`
`610 - FUNCTION_LIST
`O = 20000:21015
`1 = 20001:21016
`610 -> 2 = 20002:21017
`620->(FUNCTION_MAP)
`622--> COMPANYXYZ = 1,1,2,2,3,3,445,596
`630-SUBFUNCTIONS_2)
`632 -
`0 = 16001; 16002
`634-> 1 = 16003;16004
`(COMPANYXYZ)
`DeviceType = 0
`StatusPolarity = 0xD9
`StatusPowerupMask = 0x1B
`StatusPOWerdown Mask FOX19
`CompanyxYZ
`652 - 101
`3.0040
`110 W:300402
`114 C:3004-03
`
`Company ABC
`662 - 101 300402;300800300801
`110 300405
`
`672 -> 300401
`300402
`300403
`30O800
`300801
`
`A failure occurred during testing of the system board
`A memory parity failure occurred
`Adapter ROM failure
`Memory may be defective
`Replace memory
`
`Ex. 1049, Page 10
`
`

`

`U.S. Patent
`
`Jul. 26, 2005
`
`Sheet 10 of 14
`
`US 6,922,722 B1
`
`SART
`
`
`
`RECEIVE POST CODE EVENT
`DATA
`710
`
`PARSE EVENT DATA AND
`OBAN SYSTEM D
`T5
`
`CORRELATE SYSTEM D WITH
`OEM DESCRIPTION
`720
`
`LOCATE OEM SECON
`725
`
`EXRAC MAPPING OF POST
`CODES TO STRING D'S
`730
`
`NDEX INTO STRENGABLE
`
`FIG. 7
`
`Ex. 1049, Page 11
`
`

`

`U.S. Patent
`
`Jul. 26, 2005
`
`Sheet 11 of 14
`
`US 6,922,722 B1
`
`886986#86Z86
`
`
`
`
`
`
`
`
`
`
`
`? 006
`
`?
`
`Ex. 1049, Page 12
`
`

`

`U.S. Patent
`
`Jul. 26, 2005
`
`Sheet 12 of 14
`
`US 6,922,722 B1
`
`START
`
`POWER-UPISTART BOOT
`
`SETIENABLE WATCHDOG
`
`
`
`
`
`
`
`DECREMENT WATCH DOG
`
`1008
`
`CONTINUE
`BOOT
`
`
`
`WATCHOOG
`SUSPENDED?
`
`1002
`
`
`
`1004
`
`1005
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`WATCHDOG
`EXPRED?
`
`TRGGER
`WATCHDOG
`EVENT
`
`1016
`
`
`
`BOOTS
`SUCCESSFU
`
`BOO
`REACHED
`SPECIFEO
`PON?
`
`
`
`FIG. 10
`
`Ex. 1049, Page 13
`
`

`

`U.S. Patent
`
`
`
`Jul. 26, 2005
`
`Sheet 13 of 14
`
`US 6,922,722 B1
`
`|NEITO
`
`Ex. 1049, Page 14
`
`

`

`U.S. Patent
`
`Jul. 26, 2005
`
`Sheet 14 of 14
`
`US 6,922,722 B1
`
`START
`
`
`
`FIRST DATA PACKET
`LOADED FROM EEPROM
`1202
`
`ALERT HIW XMITS DATA
`PACKET TO CONFIG SERVER
`1204
`
`CONFIG SERVER RESPONDS
`WITH CONFIG PARAMEERS
`1206
`
`CONFIG PARAMETERS
`RECEIVED BY ALERT HIW
`1208
`
`ALERT HIW UPDATES 2ND
`DAA PACKET IN EEPROM
`1210
`
`2ND DATA PACKET LOADED
`AND TRANSMITTED TO ALERT
`PROXY
`1212
`
`STOP
`
`FIG. 12
`
`Ex. 1049, Page 15
`
`

`

`1
`METHOD AND APPARATUS FOR DYNAMIC
`NETWORK CONFIGURATION OF AN
`ALERT-BASED CLIENT
`
`This nonprovisional patent application is related to con
`temporaneously filed nonprovisional patent application Ser.
`No. 09/410,483 entitled “PLATFORM INDEPENDENT
`ALERT DETECTION AND MANAGEMENT, and con
`temporaneously filed nonprovisional patent application Ser.
`No. 09/411,407 entitled “METHOD AND APPARATUS
`FOR PERFORMING NETWORK-BASED CONTROL
`FUNCTIONS ON AN ALERT-ENABLED MANAGED
`CLIENT.
`
`BACKGROUND OF THE INVENTION
`
`15
`
`1. Field of the Invention
`The present invention relates generally to the field of
`networking. Specifically, the present invention relates to a
`method and apparatus for dynamic unattended network
`configuration of an alert-based client.
`2. Background of the Invention
`AS the size and complexity of computer networks con
`tinues to grow, So too does the time required to maintain
`Such networks. It is not uncommon for local area networks
`that once required only a Single network administrator to
`now require multiple administrators or even a dedicated
`network Support department.
`AS networks continue to grow in size, they likewise grow
`in complexity.
`Nowadays, it is rare for networks to contain devices that
`were all produced by the same manufacturer. More likely,
`whether because of price, availability, or otherwise, a given
`network will contain a mixture of computers and appliances,
`produced by various manufacturers. Furthermore, the wide
`Selection of central processing units, audio and Video
`components, Storage devices, and other Support hardware
`available for both computer Systems and peripherals has
`enabled custom configuration of Systems tailored to meet
`particular needs.
`Unfortunately, however, from a network administration or
`management perspective, the more diverse a network is, the
`more difficult it is to manage due to the varying hardware
`and Software configurations utilized by the varying devices
`or clients. Traditionally, when a networked device ceased to
`function on a network, the network administrator would
`personally visit the device to troubleshoot the cause of the
`malfunction. In a large network containing many clients,
`however, the process of locating a client, not to mention the
`process of troubleShooting, can be time consuming and
`therefore costly.
`Remote management tools have been developed as part of
`an effort to decrease the total cost of ownership of networked
`Systems by increasing their manageability. Typically, remote
`management tools provide System administrators with a
`means for detecting client malfunctions located remotely
`from the administrator. Unfortunately though, the notifica
`tion that the administrator receives may be limited merely to
`an indication of whether an event has occurred, rather than
`a preferred notification indicating what type of event has
`occurred. Likewise due to the varying degree of customi
`Zation within network devices, the event notification may
`not be tailored to the Specific device that generated the event.
`Thus, an improved approach to event notification is desired.
`Furthermore, although remote detection of a malfunction
`may be possible using a management tool, a personal visit
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,922,722 B1
`
`2
`by an administrator remains necessary in order to attempt to
`remedy the problem. Although notification of a malfunction
`or System alert is important, it is also desirable to have the
`capability to remotely act on the information to correct a
`failing condition. Since a large portion of malfunctions
`cause client operating Systems to "hang”, “freeze' or “lock
`up”, it is further desirable for a mechanism that provides the
`ability to perform remote operations on a client after boot,
`to also provide the ability to perform Such operations when
`the client is without a functioning operating System, or in
`pre-boot State.
`SUMMARY OF THE INVENTION
`A System is provided to dynamically obtain at least one
`alert detection and management parameter from a first
`server. The system is provided to further dynamically obtain
`configuration data from a remote alert proxy using the at
`least one obtained alert detection and management param
`eter. The System is provided to further configure the appa
`ratus using the dynamically obtained configuration data.
`BRIEF DESCRIPTION OF THE DRAWINGS
`The invention is illustrated by way of example, and not by
`way of limitation in the figures of the accompanying draw
`ings in which like reference numerals refer to Similar ele
`mentS.
`FIG. 1 is a block diagram illustrating one embodiment of
`a network alerting System.
`FIG. 2 is a block diagram illustrating one embodiment of
`an alert-enabled managed client.
`FIG. 3A is a block diagram illustrating one embodiment
`of an input pin connection Scheme on a first System.
`FIG. 3B is a block diagram illustrating one embodiment
`of an input pin connection Scheme on a Second System.
`FIG. 4A is a flow diagram illustrating the operation of one
`embodiment of an alert proxy.
`FIG. 4B is a table illustrating one embodiment of vari
`ables used by the alert proxy.
`FIG. 5A illustrates a sample event description file con
`taining event data for different platforms.
`FIG. 5B is a flow diagram illustrating the operation of one
`embodiment of an alert proxy with respect to an event
`description file.
`FIG. 6A illustrates a sample event description file con
`taining control operation information and BIOS configura
`tion data.
`FIG. 6B illustrates one embodiment of a sample BIOS
`String table.
`FIG. 7 is a flow diagram illustrating the operation of one
`embodiment of an alert proxy with respect to BIOS.
`FIG. 8 illustrates one embodiment of a RMCP manage
`ment transmit packet format.
`FIG. 9 illustrates one embodiment of a RMCP manage
`ment receive packet format.
`FIG. 10 is a flow diagram illustrating one embodiment of
`a managed client boot process with respect to a watchdog
`timer.
`FIG. 11 is a block diagram illustrating one embodiment of
`an automatically configurable network alerting System.
`FIG. 12 is a flow diagram illustrating one embodiment of
`an automatic configuration process of a networked client.
`DETAILED DESCRIPTION
`In the following description, for purposes of explanation,
`numerous Specific details are Set forth in order to provide a
`
`Ex. 1049, Page 16
`
`

`

`US 6,922,722 B1
`
`15
`
`25
`
`35
`
`40
`
`3
`thorough understanding of the present invention. It will be
`apparent, however to one skilled in the art that the present
`invention can be practiced without these specific details. In
`other instances, well-known Structures and devices are
`shown in block diagram form to avoid obscuring the present
`invention.
`Some portions of the detailed descriptions which follow
`are presented in terms of algorithms and Symbolic repre
`Sentations of operations on data bits within a computer
`memory. These algorithmic descriptions and representations
`are the means used by those skilled in the data processing
`arts to most effectively convey the substance of their work
`to otherS Skilled in the art. An algorithm is here, and
`generally, conceived to be a Self-consistent Sequence of steps
`leading to a desired result. The Steps are those requiring
`physical manipulations of physical quantities. Usually,
`though not necessarily, these quantities take the form of
`electrical or magnetic Signals capable of being Stored,
`transferred, combined, compared, and otherwise manipu
`lated. It has proven convenient at times, principally for the
`reasons of common usage, to refer to these signals as bits,
`values, elements, Symbols, characters, terms, numbers, or
`the like.
`It should be borne in mind, however, that all of these and
`Similar terms are to be associated with the appropriate
`physical quantities and are merely convenient labels applied
`to these quantities. Unless Specifically Stated otherwise as
`apparent from the following discussions, it is appreciated
`that throughout the present invention, discussions utilizing
`terms Such as “processing or “computing or "calculating
`or “determining” or “displaying or the like, refer to the
`action and processes of a computer System, or Similar
`electronic computing device, that manipulates and trans
`forms data represented as physical (electronic) quantities
`within the computer System's registers and memories into
`other data Similarly represented as physical quantities within
`the computer System registers or memories or other Such
`information Storage, transmission or display devices.
`The present invention also relates to an apparatus for
`performing the operations herein. This apparatus may be
`Specially constructed for the required purposes, or it may
`comprise a general purpose computer Selectively activated
`or reconfigured by a computer program Stored in the com
`puter. Such a computer program may be Stored in a computer
`readable Storage medium, Such as, but is not limited to, any
`type of disk including floppy disks, optical disks,
`CD-ROMS, magneto-optical disks, read-only memories
`(ROMs), random access memories (RAMs), EPROMs,
`EEPROMs, magnetic or optical cards, or any type of media
`Suitable for Storing electronic instructions, and each coupled
`to a computer System bus. The algorithms and displayS
`presented herein are not inherently related to any particular
`computer or other apparatus. Various general purpose
`machines may be used with programs in accordance with the
`teachings herein, or it may prove convenient to construct
`more Specialized apparatus to perform the required method
`Steps. The required Structure for a variety of these machines
`will appear from the description below. In addition, although
`the present invention may be described with reference to a
`particular programming language, it will be appreciated that
`a variety of programming languages may be used to imple
`ment the teachings of the invention as described herein.
`Although all or Some of the operations may be performed
`by Software executing on one or more processing devices
`(e.g., CPUs), on a computer System or specialized apparatus,
`Some or all of these operations may be performed by digital
`logic and/or circuitry, an integrated circuit (e.g., ASIC) or
`other Semiconductor Substrates.
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`Brief Overview
`Network alerting, as described herein, refers to a network
`devices ability to perform problem identification,
`notification, and resolution. In one embodiment of the
`present invention, a Software-based intermediary referred to
`herein as an alert proxy is to used to transform binary,
`device-specific event or alert data into user-friendly plain
`text explanations of the event. In one embodiment, a man
`agement device containing the alert proxy is able to return
`a contextually correct description of the event to an admin
`istrator or other interested party based upon the character
`istics of the Specific device initiating the event. In one
`embodiment, event data is generated by alert Software
`executing on an alert-enabled managed client, whereas in
`another embodiment, event data is generated by alert hard
`ware embodied within an alert-enabled managed client.
`In another embodiment of the present invention, the alert
`proxy translates generic, management-based command data
`received from a management application/agent into specific
`client-based hardware control data. The alert proxy trans
`mits a data packet containing the hardware control data over
`a network to an alert-enabled managed client. Alert hard
`ware within the alert-enabled managed client parses the
`hardware control data into control bits and utilizes the
`control bits to Set or clear registers within the alert-enabled
`managed client So as to effectuate the Specified control
`operations.
`In another embodiment of the present invention, a
`network-alert client transmits a data packet over a network
`requesting Specific alert detection and management param
`eters from a centralized configuration Server. The configu
`ration server responds Supplying the network-alert client
`with the requested data. Using the received alert detection
`and management parameters, the network-alert client for
`mulates a Second data packet to be transmitted to the alert
`proxy upon the occurrence of an event. In Such a manner
`automatic, unattended, Simultaneous configuration of mul
`tiple network-alert clients is made possible.
`FIG. 1 is a block diagram illustrating one embodiment of
`a network alerting System. Referring to FIG. 1, management
`server 120 and alert-enabled managed client 110 are shown
`connected to a network 100. Network 100 may represent a
`local area network (LAN), a wide area network (WAN), the
`Internet, or any other interconnected data path acroSS which
`multiple devices may communicate. In one embodiment,
`network 100 is an Ethernet based network utilizing the
`transmission control protocol/internet protocol (TCP/IP). In
`another embodiment, network 100 utilizes the user datagram
`protocol/internet protocol (UDP/IP). It will be apparent to
`one of ordinary skill in the art, however, that various
`network and communication protocols could equivalently be
`implemented without departing from the Spirit and Scope of
`the present invention. Similarly, although management
`server 120 and alert-enabled managed client 110 are shown
`physically connected to network 100, any Such connection
`means known in the art may be implemented including
`wireleSS technology Such as infrared, radio frequency and
`microwave transfer means.
`In the present disclosure, the term "packet' is generically
`used to represent data transmitted or received over a network
`and should not be interpreted as being Specific to any
`particular topology or communication protocol. Likewise, in
`the present disclosure, the terms “event” and “alert” are used
`interchangeably to represent a particular type of data packet
`or message. Additionally, the term “event' is also used to
`represent a particular occurrence or change of State in a
`device.
`
`Ex. 1049, Page 17
`
`

`

`US 6,922,722 B1
`
`15
`
`25
`
`35
`
`40
`
`S
`In one embodiment of the present invention, alert-enabled
`managed client 110 represents a device equipped and con
`figured to detect and transmit events to management Server
`120. In one embodiment, alert-enabled managed client 110
`is equipped and configured to detect and transmit events
`while in a pre-boot or operating System unavailable mode. In
`one embodiment, as depicted in FIG. 1, alert-enabled man
`aged client 110 represents a general purpose digital
`computer, whereas in another embodiment, alert-enabled
`managed client 110 may represent a peripheral device Such
`as a printer or mass Storage unit. In yet another embodiment,
`alert-enabled managed client 110 may represent an intelli
`gent networked appliance Such as a microwave oven,
`refrigerator, or a System Such as an environmental heating
`ventilation air conditioning (HVAC) System, a burglar alarm
`System, a Sprinkler System and the like.
`Alert-enabled managed client 110 is shown having net
`work controller 112 and alert hardware 114 of the present
`invention. Network controller 112 represents a device
`capable of establishing a communication link between alert
`enabled managed client 110 and network 100. In one
`embodiment, network controller 112 is an 82559 multifunc
`tion fast Ethernet LAN controller available from Intel Cor
`poration of Santa Clara, Calif.
`Alert hardware 114 represents logic equipped to detect
`alerts on alert-enabled managed client 110 and to formulate
`one or more network data packets representing those alerts.
`In one embodiment, as shown in FIG. 1, alert hardware
`114 and network controller 112 represent two distinct com
`ponents connected through System management bus
`(SMBus) 115, whereas in another embodiment, alert hard
`ware 114 and network controller 112 may be integrated into
`a single ASIC. Similarly, both alert hardware 114 and
`network controller 112 may each be located on a mother
`board or on one or more Separate add-in expansion cards
`such as a network interface card (NIC).
`Management server 120 is shown connected to network
`100 and comprises network stack 122, alert proxy 125 of the
`present invention, and management application 127. In one
`embodiment of the present invention, management Server
`120 is a general purpose digital computer configured to
`execute alert proxy 125 and management application 127.
`Management application 127 represents any one or more of
`the various System management applications known in the
`art to be able to manage multiple clients over a shared
`network. In one embodiment, management application 127
`represents any one or more applications from the
`LANDESKCR suite of management products, available from
`Intel Corporation.
`Alert proxy 125 represents an intermediary configured to
`perform numerous tasks including translating platform inde
`pendent alert packets generated by alert-enabled managed
`client 110 into platform Specific alert explanations.
`Additionally, alert proxy 125 translates control commands
`from management application 127 into hardware-specific
`data control packets to be transmitted to alert-enabled man
`aged client 110. Alert proxy 125 can also perform tasks
`including, but not limited to discovering clients, identifying
`different hardware configurations and message formats,
`Sending and receiving network packets for event configura
`tion and control purposes, and providing a consistent exter
`nal interface to management applications. In one
`embodiment, alert proxy 125 includes a plain-text “...ini”
`description data file (not pictured), whereas in other
`embodiments, alert proxy 125 includes description files
`based upon the management information format (MIF)
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`and/or management information block (MIB) format. A
`more detailed description of alert proxy 125 may be found
`below.
`Network stack 122 which is also shown as part of man
`agement server 120, represents an optional TCP/IP-based
`network Stack and Supporting hardware device drivers nec
`essary for management Server 120 to communicate over
`network 100. It will be apparent to one of ordinary skill in
`the art, however, that various network communication pro
`tocols and hardware device drivers could equivalently be
`implemented.
`FIG. 2 is a block diagram illustrating one embodiment of
`an alert-enabled managed client. Client 210 represents an
`alert enabled managed client and includes processor 255
`coupled to chipset 250. In one embodiment, processor 255
`is a processor from the Pentium(R) family of processors
`including the Pentium(R), Pentium(R) Pro, Pentium(R II, and
`Pentium(R III processors available from Intel Corporation.
`Alternatively, other processors known in the art may also be
`used. Additionally, processor 255 may include a first level
`(L1) cache (not shown), and/or second level (L2) cache
`memory 207. The L1 and L2 cache memories may be
`integrated into a single device Such as processor 255, or one
`or both may be omitted entirely. Chipset 250 connects BIOS
`255 and main memory 257 to processor 255. In one
`embodiment, chipset 250 is a 440PCIset series PCI chipset
`available from Intel Corporation, although various other
`chipsets known in the art may be employed. Main memory
`257 and cache memory 207 store sequences of instructions
`that are executed by processor 255. In one embodiment,
`main memory 257 includes dynamic random access memory
`(DRAM), however, main memory 257 may comprise other
`configurations. The Sequences of instructions executed by
`processor 255 may be retrieved from main memory 257,
`cache memory 207 or Some other Storage device Such as
`hard disk 264 via IDE bus 261. Additionally, multiple
`processors (not shown) may be connected to chipset 250 as
`well as one or more Video devices Such as a cathode ray tube
`(CRT) or liquid crystal display (LCD) (neither shown).
`Chipset 250 may also be connected to additional bus
`structures Such as SMBus 240 and PCI bus 211. In one
`embodiment, network controller 212 is connected to chipset
`250 through PCI bus 211. Network controller 212 is also
`connected to alert hardware 214 by way of SMBus 215, as
`well as network 200 which is identical to network 100
`shown in FIG. 1.
`SMBus 240 connects alert hardware 214 to sensors 245
`and input/output unit 263. In one embodiment, input/output
`unit 263 is a general purpose input/output (GPIO) device,
`whereas Sensors 245 are implemented using a Heceta 4
`environmental IC to detect fluctuations in System Voltages
`and temperatures, as well as CPU and cooling fan integrity.
`If an event Such as, for example, a cooling fan failure is
`detected by sensors 245, alert hardware 214 is able to detect
`the event through SMBus 240.
`EEPROM 217 is connected to alert hardware 214 and
`provides the alert hardware with various default configura
`tion data. In one embodiment, EEPROM 217 is a Microw
`ire" compatible electrically erasable programmable read
`only memory that holds data about the alert hardware's
`default packet format, default register values, and SMBus
`device polling information. In one embodiment, alert hard
`ware 214 polls SMBus 240 for events by comparing SMBus
`address and register data loaded from EEPROM 217 against
`a bit mask using a logical AND function.
`Software executing on client 210 can Similarly generate
`events on alert hardware 214 by writing to certain registers
`
`Ex. 1049, Page 18
`
`

`

`7
`(not pictured) included in alert hardware 214. BIOS 255 for
`example, may be connected to, and write POST codes to
`alert hardware 214, whereby the codes are thereafter encap
`Sulated in an event message packet and Sent to alert proxy
`125 for interpretation. Alert hardware 214 can also detect
`events generated on Signal lines connected directly to the
`alert hardware. One embodiment of Such signal lines is
`depicted in FIG. 2 as input pins 224 and output pins 234
`which are shown connected to alert hardware 214. Both
`input pins 224 and output pins 234 may be implemented
`using a GPIO device connected to alert hardware 214. In one
`embodiment, GPIO 263 may be connected directly to alert
`hardware 214 rather than SMBus 240. One or more of input
`pins 224 may be connected to one or more Sensors that
`monitor System conditions. Similarly, one or more of output
`pins 234 may provide Signals to effectuate control data
`received from management Server 120.
`In one embodiment of the present invention, alert hard
`ware 214 may be connected to power Source 262 through
`output pins 234, or in another embodiment, power Source
`262 may be connected to GPIO device 263 as shown in FIG.
`2. A signal line from alert hardware 214 or GPIO 263 may
`also be connected to a power Signal trace on the motherboard
`of client 210, such that management server 120 may cause
`alert hardware 214 to perform remote power functions on
`client 210 by way of a network control data packet.
`Similarly, a signal line from alert hardware 214 or GPIO 263
`may be connected to a reset pin of the processor of client
`210, such that management server 120 may effectuate a
`remote system reset on client 210 by way of a network
`control data packet. In one embodiment, the Stimulus for
`Such remote power/reset operations is an Remote Manage
`ment & Control Protocol (RMCP) data packet sent from
`alert proxy 125 to alert hardware 214 (discussed below). In
`an alternative embodiment of the present invention, power/
`reset operations are effectuated by alert hardware 214 using
`the Simple Network Management Protocol (SNMP-defined
`in Request for Comments (RFC) 1157).
`FIG. 3A is a block diagram illustrating one embodiment
`of an input pin connection Scheme on a first System, whereas
`FIG. 3B is a block diagram illustrating one embodiment of
`an input pin connection Scheme on a Second System. It is to
`be appreciated that additional pin connection Schemes other
`than those illustrated may equivalently be implemented
`without departing from the Spirit and Scope of the invention.
`Referring to FIG. 3A, alert hardware 314 is shown con
`nected to network controller 312 and SMBus 340 having
`sensors 345. Alert hardware 314 is also shown having four
`input pins (pin 1, pin 2, pin 3, and pin 4) connected to four
`corresponding Switches or Sensors. In FIG. 3A, a cover
`tamper Switch is connected to pin 1, a fan Sensor device is
`connected to pin 2, a CPU monitoring device is connected
`to pin 3, and a link loSS Se

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket