Patent Publication Number: US-RE40922-E

Title: Method and apparatus for powering-on a computer-based system via a network interface

Description:
This is a continuation of application Ser. No. 08/499,085, filed Jul. 6, 1995, now U.S. Pat. No.  5,809,313.  This application is a reissue patent application of U.S. Pat. No. 5,958,057, which issued from U.S. application Ser. No. 09/152,634 filed Sep. 14, 1998, which is a continuation of application Ser. No. 08/499,085 filed Jul. 6, 1995, now U.S. Pat. No. 5,809,313.    
    
    
     FIELD OF THE INVENTION 
     The present invention relates to networked computer-based systems, and more specifically to powering-on such systems using network interface signals. 
     BACKGROUND OF THE INVENTION 
     A network is used to couple a host server computer to one or more client computers, using wires (including telephone wires), fiber optics, or wireless signals. There are at least several million computers in the United States alone, and an increasing number of these computers are becoming network-accessible. 
       FIG. 1  depicts a generic network  10  that includes a server  20  and one or more client computers or workstations  30 ,  30 ′ that each include a central processing unit (“CPU”)  40 ,  40 ″. (As used herein, the term computer shall be understood to include the term workstation.) The server and clients communicate over information paths  50 ,  50 ′ that, as noted, may be wires, optical cables, or radio transmissions. Paths  50 ,  50 ′ may be parallel, e.g., a plurality of wires, or may be serial, e.g., a single data line. At the client end, each computer includes a network interface circuit  60 ,  60 ′. 
     Network interface controller  60 ,  60 ′ typically is an integrated circuit (“IC”) chip that provides interfacing between the client computer and the remote host/server. According to current Ethernet network protocol, networked computers rely upon three attributes of the network: (a) the network is always up or active, (b) the client computer is always alive and coupled to the network, and (c) and/or application programs may be run locally or run remotely over the network from another computer. Each computer  30 ,  30 ′ includes a power supply that is typically coupled to 110 VAC/220 VAC, and whose output DC voltages are coupled through an ON/OFF power switch relay, here depicted as a manually operated switch S 1 , or S 1 ′. If the computer is to communicate with the network, the power switch is ON, otherwise there is no operating voltage to the computer. Although S 1  is depicted as a manually operated switch, it is understood that power may be switched on or off using other switching devices, including electronic switching devices. 
     A single desktop computer such as computer  30  or  30 ′ may only consume perhaps 150 watts of electrical power. However, cumulatively the electrical power consumed by all of the computers in the United States, and indeed in the world, is becoming appreciable. With a view to reducing this power consumption and the environmental cost involved in generating the power, the United States Federal Government has promulgated the Energy Star program. 
     As applicable to the present invention, the Energy Star program requires that computers be powered-off to a low energy state of less than 30 watts consumption during periods of inactivity. Computers meeting this requirement, so-called “green PCs”, are permitted to bear an Energy Star insignia. Conversely, non-Energy Star compliant equipment is often less well received in the commercial marketplace. 
     One approach to complying with the Energy Star requirement is to design lower power consumption equipment, laptop computers, for example. Many computers can also benefit from advanced power management features, including features that are incorporated into the computer operating system. Intel Corp. and Microsoft Corp. collectively have promulgated one such Advanced Power Management specification. 
     Using power management, a computer can power-down its harddisk and slow its CPU clock rate, thus saving electrical power, after inactivity exceeding a certain threshold. Depressing a key on the computer keyboard, or moving a mouse or other control device will “awaken” the computer, restoring it to full CPU clock rate and/or reactivating the hard disk, within a few seconds. 
     However, powering-off a networked Energy Star compliant computer during periods of inactivity detrimentally interrupts established events that constantly occur in a networked computing environment, polling for example. In practice, powering-off a networked computer could readily make such a computer a pariah in the network marketplace. It is thus desirable to maintain some operating power, preferably less than 30 watts, to a networked computer to permit the computer to respond to the network without being manually awakened. 
     It is known in the art to remotely awaken a powered-off computer with a facsimile (“FAX”) signal or a modem signal coupled to the computer&#39;s serial port from the telephone line. However such “awakening” requires a FAX or modem signal to be sent to the specific telephone number associated with the computer&#39;s modem. The modem must be powered at all times and may consume from 5 watts to 10 watts power. 
     Thus, there is a need to make a networked computer Energy Star compliant, without risk of interrupting network functions that can occur even during periods of client-system inactivity. Preferably the computer should be capable of being powered-off, and then “awakened” using only signals available from the network and coupled to the network interface card. Furthermore, there is a need for a mechanism or system by which a large number of networked computers can be powered-on, quickly or even simultaneously. 
     The present invention discloses a method and apparatus for accomplishing these needs. 
     SUMMARY OF THE INVENTION 
     A network interface card in a networked client computer includes a software or hardware mechanism that is powered at all times. This mechanism decodes incoming network packets and recognizes therein a server-transmitted address whose receipt means the client must be powered-on, even if it had been manually switched off. The transmitted address may be a “broadcast” address whose receipt will cause power-on of all recipient client computers on the network. This address may instead be a client-dedicated address whose receipt will cause power-on only in client computers whose decode and recognition mechanism recognizes this address. 
     Within the network interface card, the address comparison may be implemented in hardware using register comparator logic, or in software using a hashing algorithm. In either event, the decoding and address recognizing mechanism operates with less than 30 watts power and is powered at all times. 
     Upon receipt, decoding and recognition of a broadcast or client address, the decode and recognition mechanism outputs a signal that activates a power control circuit within the network interface card. The power control circuit is coupled between the DC power source and the client, and activation closes this circuit, bringing full operating DC voltage and thus full power-on to the client. 
     Full power-on condition will occur within a few seconds, regardless of whether the client computer was in a power-off mode or was switched off manually. The present invention permits a server to broadcast a power-on address whose receipt will cause each of a plurality of clients coupled to the network to power-on simultaneously. 
     Other features and advantages of the invention will appear from the following description in which the preferred embodiments have been set forth in detail, in conjunction with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  depicts a generic network, according to the prior art; 
         FIG. 2  is a block diagram of a portion of a network interface card and power control circuitry, according to the present invention; 
         FIG. 3  is a flow diagram depicting steps in recognizing a network broadcast power-on indicating address, and in powering-on a networked client computer, according to the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       FIG. 2  depicts a client computer (or workstation)  30  that includes a CPU  40 , and a modified network interface card  200  according to the present invention. Computer  30  is coupled, via line or lines  50  to a network server  20 , such as server  20  in FIG.  1 . 
     Among line(s)  50  are line(s)  90  that can carry packets of information broadcast by server  20  to all client computers  30 ,  30 ′, etc. coupled to the network. Although  FIG. 2  depicts path  50  as including a plurality of lines including lines  90 , e.g., parallel coupling, a single serial line (e.g., a single line  50  or line  90 ) configuration could instead be used, depending upon the network electrical specification. 
     The information broadcast by server  20  over line(s)  50  is in packet format, with each packet comprising a number of bytes. Packet size may be 48 bytes in certain protocols, each packet including an address field of 6 bytes, or 48 bits. In some protocols, the first 24 bits of an address field are organization address blocks, which contain bit patterns unique to the organization producing the hardware. Some organization address blocks are defined on an industry-wide basis. For example, within the IEEE Ethernet protocol, a string of 24 0&#39;s denotes a null packet, which recipient clients may ignore. 
     As described below, the present invention utilizes client receipt and recognition of certain server-transmitted address patterns to command power-on within a recipient networked client, even if the client had been manually turned-off. 
     Referring to  FIG. 2 , DC operating power to computer  30  is provided by an internal power supply (not shown) on line  70  that is coupled by a switch mechanism, here shown as a switch S 1 , into the computer at node  80 . If switch S 1  is in the OFF position, operating power to computer  30  is interrupted. However, a small amount of operating power is still coupled to at least a portion of a network interface circuit  100  via a power lead  110 , and is also provided as an input to a power control circuit  130 . Alternatively, a split power plane or a battery could be used to power the network interface circuit  100 . Circuit  100  is powered at all times and will consume less than 30 watts mandated by the Energy Star program. Actual circuit  100  power consumption depends upon the nature of the server-to-client coupling but will typically range from 5 watts to 10 watts. 
     If switch S 1  is in the ON position, computer  30  receives full operating power, with CPU  40  being coupled via lead  85  to powered node  80 . However, computer  30  may enter energy saving modes in which the computer hard disk (not shown) ceases rotation, and in which CPU  40  is clocked at a relatively slower rate, or completely halted. 
     It is to be understood that full operating power need not pass through switch S 1 , and that node  80  may in fact be the input node of a latch device within computer  30 . Upon receipt of a DC signal at node  80 , such latch device can switch the full operating power on to power computer  30 . 
     Network interface circuit  100  is coupled by line (or lines)  90  to server  20 , and to client CPU  40  by the local CPU data bus  45 . Operating power is always available to circuit  100  via a power lead  110  that comes from the power source side of switch S 1 . 
     Circuit  100  includes an address decoder  102  and a comparator  104  that compares the decoding incoming address received via line(s)  90  against a stored bit representing an address whose receipt means computer  30  should enter power-on. The comparator could, for example, include logic allowing a user of computer  30  to program not only the addresses to be recognized, but also to determine whether power-on should occur even if recognition is made. At a minimum, the portion of circuit  100  including decoder  102  and comparator  104  receive operating power at all times, but the rest of circuit  100  need not be powered at all times. Of course several such address bit patterns may be stored, including for example, a broadcast address pattern and a client address pattern. 
     Comparator  104  may be implemented in hardware using conventional hardware registers and comparator logic. Alternatively, comparator  104  may be implemented in software to shorten comparison time and reduce cost of implementation and/or power consumption. In a software implementation, comparator  104  includes a hash table and will first compare most significant bit portions of an incoming packet address. A hashing algorithm is executed within the interface controller unit. If matched, less significant bit portions are compared until a complete broadcast or client address match is recognized. 
     However implemented, if unit  100  recognizes an address match, a “power-on” signal is coupled over lead  120  to the input of a power control unit  130  that is coupled in parallel across switch S 1 . Power control circuit  130  may be a single power control integrated circuit (“IC”), a MOSFET switch, or other latch-accomplishing mechanism. 
     Upon receipt of this signal, power control unit  130  “closes”, coupling together power-carrying line  110  and line  70  with line  140 . CPU  40  now receives operating voltage via lead  85 , and computer  30  can enter a full power-up state within one or two seconds, even if S 1  is open. 
     Thus, when server  20  broadcasts a address over line(s)  90  whose receipt and recognition by circuit  100  commands a power-on of computer  30 , unit  100  triggers power control unit  130 , which provides full operating power to computer  30 . Power-on occurs regardless of whether computer  34  is in an Energy Star low-power mode (e.g., where S 1  was in the ON position to power-on computer  30 , but has been turned OFF as a result of Energy Star mechanism), or is in a power-off mode (e.g., with S 1  in the OFF position). In the low-power mode, although S 1  will have been in the ON position, CPU  40 , hard disk(s) (not shown) and other power consuming components within computer  30  will have entered power saving modes, e.g., operating and using less than 30 watts. 
     In the above fashion, one or a plurality of client computers  30  may be simultaneously forced to enter a power-on state using address information broadcast by a network server. This is in contrast to the prior art use of a telephone line and modem to dial a dedicated telephone number for a given computer to remotely command the computer to power-on. 
       FIG. 3  depicts the various method steps used to carry out the present invention. Initially, at method step  300 , it is assumed that S 1  is OFF, and that no DC operating potential is coupled to node  80  of computer  30 . 
     At step  310 , if switch S 1  is ON (or activated), then at step  350  DC power is coupled to CPU  40  and indeed to computer  30 . If, however, CPU  40  is inactive for 30 minutes as determined by step  360 , Energy Star compliance mandates that, at step  300 , CPU power be interrupted, e.g., S 1  returned to OFF. 
     Returning to step  310 , even if S 1  is OFF, unit  100  receives operating power and examines incoming address information communicated over line(s)  90 . 
     Within unit  100 , if a comparison match is formed between the incoming address and a bit pattern known to represent a broadcast address communicating a power-on condition, step  330  returns to step  350  and the CPU power is turned ON by activating power control unit  130  via line  120 . However, as noted, user-programmable logic may be provided to override turn-on, even if a broadcast match occurs. As before, at step  360 , after 30 minutes of inactivity, the Star Energy-compliant client will interrupt CPU power at step  300  by causing S 1  to be OFF, and by power control unit  130  to open circuit. 
     However, if step  330  does not result in a broadcast address match, at step  340  a determination is made by unit  100  to determine whether the incoming address represents an address commanding a power-on condition of this particular computer  30 . 
     If an address match occurs, then at step  350  power control unit is activated, providing operating DC voltage to computer  30 . However, as noted, user-programmable logic may be provided to override power-on, even if a client address match occurs. Such logic could, if desired, flexibly permit a broadcast address match but not a client address match to cause power-on, or the converse. 
     If, however, step  340  does not recognize the incoming address, the routine returns to step  300  and computer  30  remains off. 
     Modifications and variations may be made to the disclosed embodiments without departing from the subject and spirit of the invention as defined by the following claims.