Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS7082603 B2
Publication typeGrant
Application numberUS 09/754,093
Publication dateJul 25, 2006
Filing dateJan 3, 2001
Priority dateJan 3, 2001
Fee statusPaid
Also published asUS20020087960
Publication number09754093, 754093, US 7082603 B2, US 7082603B2, US-B2-7082603, US7082603 B2, US7082603B2
InventorsDerrick I. Hisatake
Original AssigneeIntel Corporation
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Upgrading peripheral devices
US 7082603 B2
Abstract
Upgrading a peripheral device in a network device includes sending an upgrade package to the network device over a computer network and automatically upgrading the internal software of the peripheral device using the upgrade package.
Images(6)
Previous page
Next page
Claims(27)
1. A method comprising:
receiving, at a network device, an upgrade package over a computer network sent from a client device, the upgrade package including a flash erase file containing null data and upgrade software;
determining upgrade information for a peripheral device installed in the network device, the upgrade information comprising a type and version of the peripheral device and an upgrade process for the peripheral device;
determining if the update package is compatible with the peripheral device based on the upgrade information; and
automatically upgrading internal software of the peripheral device if the upgrade package is compatible with the peripheral device by appending contents of the flash erase file to a packet header, the packet header containing instructions for the peripheral device for overwriting contents of software in the peripheral device with the appended contents, and by transferring the packet header and the upgrade software to the peripheral device by a connection.
2. The method of claim 1 including recognizing the received package as an upgrade package based on information contained in the upgrade package.
3. The method of claim 1 including recognizing the received package based on a filename extension associated with the package.
4. The method of claim 1 wherein automatically upgrading the internal software includes:
opening a communications channel to the peripheral device; and
updating the peripheral device with contents of the upgrade package.
5. The method of claim 4 wherein upgrading the peripheral device includes:
setting the peripheral device to an upgrade mode;
parsing contents of the upgrade package into a format suitable for the peripheral device; and
transferring the parsed contents to the peripheral device.
6. The method of claim 5 wherein setting the peripheral device to an upgrade mode includes issuing a command to the peripheral device.
7. The method of claim 1 including sending a message indicating success or failure of the upgrade to a source of the upgrade package.
8. A system comprising:
a computer network;
a network device coupled to the network; and
a peripheral device installed within the network device;
wherein the network device comprises a processor configured to:
receive over the network an upgrade package that includes a flash erase file containing null data and upgrade software to update the peripheral device;
determine upgrade information for a peripheral device installed in the network device, the upgrade information comprising a type and version of the peripheral device and an upgrade process for the peripheral device;
determine if the update package is compatible with the peripheral device based on the upgrade information;
append contents of the flash erase file to a packet header if the peripheral device is compatible with the upgrade information, the packet header containing instructions for the peripheral device to overwrite contents of software in the peripheral device with the appended contents; and
transfer the packet header and the upgrade software to the peripheral device by a connection to automatically upgrade the peripheral device if the contents of the flash erase file are appended to the packet header.
9. The system of claim 8 wherein the processor is configured to upgrade internal software of the peripheral device with the package.
10. The system of claim 8 wherein the network device is configured to recognize the received package as an upgrade package based on information contained in the package.
11. The system of claim 8 wherein the network device is configured to recognize the received package as an upgrade package based on a filename extension associated with the package.
12. The system of claim 8 wherein the processor is configured to:
open a communications channel to the peripheral device; and
upgrade the peripheral device with contents of the upgrade package.
13. The system of claim 12 wherein the processor is configured to:
set the peripheral device to an upgrade mode;
parse contents of the upgrade package into a format suitable for the peripheral device; and
transfer the parsed contents to the peripheral device.
14. The system of claim 13 wherein the processor is configured to set the peripheral device to the upgrade mode by issuing a command to the peripheral device.
15. The system of claim 8 wherein the processor is configured to send a message indicating success or failure of the upgrade to a source of the upgrade package.
16. An article comprising a computer-readable medium that stores computer-executable instructions for causing a computer system to:
recognize a received package as an upgrade package intended for a peripheral device installed in a network device, the upgrade package including a flash erase file containing null data and upgrade software;
determine upgrade information for a peripheral device installed in the network device, the upgrade information comprising a type and version of the peripheral device and an upgrade process for the peripheral device;
determine if the update package is compatible with the peripheral device based on the upgrade information;
append contents of the flash erase file to a packet header if the peripheral device is compatible with the upgrade information, the packet header containing instructions for the peripheral device to overwrite contents of software in the peripheral device with the appended contents; and
transfer the packet header a:id the upgrade software to the peripheral device by a connection to automatically
upgrade internal software in the peripheral device if the contents of the flash erase file rare appended to the packet header.
17. The article of claim 16 including instructions for causing the computer system to recognize the received package as an upgrade package based on information contained in the package.
18. The article of claim 16 including instructions for causing the computer system to:
open a communications channel to the peripheral device; and
upgrade the peripheral device with contents of the upgrade package.
19. The article of claim 18 including instructions for causing the computer system to:
set the peripheral device to an upgrade mode;
parse contents of the upgrade package into a format suitable for the peripheral device; and
transfer the parsed contents to the peripheral device.
20. The article of claim 19 including instructions for causing the computer system to issue a command to the peripheral device in order to set the peripheral device to the upgrade mode.
21. The article of claim 16 including instructions for causing the computer system to send a message indicating success or failure of the upgrade.
22. An apparatus comprising:
a port for coupling the apparatus to a network;
a peripheral device installed in the apparatus; and
a processor;
wherein the processor is configured to:
receive an upgrade package through the port, the upgrade package including a flash erase file containing null data and upgrade software;
determine upgrade information for a peripheral device installed in the network device, the upgrade information comprising a type and version of the peripheral device and an upgrade process for :he peripheral device;
determine if the update package is compatible with the peripheral device based on the upgrade information;
append contents of the clash erase file to a packet header if the peripheral device is compatible with the upgrade information, the packet header containing instructions for the peripheral device to overwrite contents of software in the peripheral device with the appended contents; and
transfer the packet header and the upgrade software to the peripheral device by a connection to automatically upgrade internal software of the peripheral device if the contents of the flash erase file are appended to the packet header.
23. The apparatus of claim 22 wherein the processor is configured to recognize the received package as an upgrade package based on information contained therein.
24. The apparatus of claim 23 wherein the processor is configured to recognize the received package based on a filename extension associated with the package.
25. The apparatus of claim 22 wherein the processor is configured to:
set the peripheral device to an upgrade mode;
parse contents of the upgrade package into a format suitable for the peripheral device; and
transfer the parsed contents to the peripheral device.
26. The apparatus of claim 25 wherein the processor is configured to issue a command to cause the peripheral device to enter the upgrade mode.
27. The method of claim 1 wherein upgrading the internal software of the peripheral device occurs independently of a particular type of operating system on the client device.
Description
BACKGROUND

This invention relates to upgrading peripheral devices.

Peripheral devices provide input, output or other auxiliary functions to other devices in a computer system. Often the peripheral devices are embedded within network devices that lack a built-in user interface.

One method of upgrading such peripheral devices includes rebooting the network device into a specialized mode and using a special connector, such as a null modem cable, to connect the network device to a personal computer or other device that has a user interface. Using an application specific to the latter device's operating system, a user can upgrade the peripheral device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a computer system.

FIG. 2 is a flow chart.

FIG. 3 is a flow chart.

FIG. 4 shows an update package.

FIG. 5 is a flow chart.

SUMMARY

The disclosure relates to software upgrades of a peripheral device using an update package. For example, according to one aspect, a method includes sending an upgrade package over a computer network, receiving the upgrade package in a network device, and automatically upgrading internal software of a peripheral device installed in the network device using the upgrade package.

A system may include a computer network, a network device coupled to the network, and a peripheral device installed with the network device wherein the network device includes a processor configured to receive an upgrade package over the network and automatically upgrade the peripheral device using the upgrade package.

Additional features and various advantages will be readily apparent from the following description, the accompanying drawings and the claims.

DETAILED DESCRIPTION

As shown in FIG. 1, a network device 12 is coupled to a network 16 through which it can communicate with a client device such as a personal computer (PC) 15 connected to the network. The devices 12, 15 communicate by sending and receiving packages to and from one another. The packages can contain data, executable files, or a combination of both. A file transfer server 14 within the network device 12 helps manage the communications by storing the packages sent by the device 15. A processor 17 executes the functions that appropriately utilize the contents of the packages.

An internal peripheral device 10 is located within the network device 12. Software 11 used by the peripheral device 10 to perform its own functions is stored within the peripheral device. The software 11, which may include firmware, can be stored, for example, as read-only memory (ROM).

As illustrated by FIG. 2, upon receiving 30 a package from the device 15 over the network 16, the file transfer server 14 determines 32 what type of package it is. For example, packages can include a key string, such as a filename extension, that indicates what the package's contents are and the appropriate functions needed to employ them. The server 14 examines the package's identifying key string to determine the package type. If the package is identified as a peripheral device upgrade, the server 14 allocates 34 a memory block 18 and stores 36 the contents of the package in the block. The server 14 then calls 38 a corresponding routine 20 that upgrades the peripheral 10 device with the package.

As illustrated by FIG. 3 the upgrade routine 20 initially causes a communications channel 22 to be opened 40 between the processor 17 and the peripheral device 10. The communications channel can be, for example, a serial connection or a parallel connection. Next, the routine 18 identifies 42 the type and version of peripheral device 10 and its upgrade process using the connection 22. The peripheral device 10 is set 44 to a mode in which its internal software can be upgraded. Setting the peripheral device 10 to the upgrade mode may be accomplished, for example, by sending a command to the device 10, or by other techniques described below.

The routine 18 verifies 46 that the upgrade file in the stored package is the correct type for the peripheral device 10, and then parses the package 48 into a format suitable for transfer to the peripheral device 10. The parsed file is uploaded 50 to the peripheral device 10 over the communications channel 22. After the file is uploaded, a determination is made 52 as to whether the upgrade was completed successfully. If the upgrade was successful, a message reflecting the successful upgrade is sent 54 to the remote device 15. If the upgrade was not successful, for example, if an error fatal to the upgrade procedure occurs during the process, an error message is sent 56 to the remote device 15.

FIG. 4 shows an exemplary upgrade package 60 for upgrading the peripheral device 10. The package 60 contains software 62 that is intended to replace the peripheral device's 10 old software 11. The package 60 also contains a flash erase file 64 that is used to erase the old software in the peripheral device 10, thus setting the peripheral device 10 to a mode in which the new software 62 can be implemented. The flash erase file 64 can contain all zeros or equivalent null data content used to erase the specified memory location in the peripheral device 10.

FIG. 5 illustrates how the flash erase file 64 can be used to set the peripheral device 10 to the upgrade mode. In this particular implementation, the connection 22 to the peripheral device 10 carries serial data. One line of the flash erase file 64 is read 70 from the memory 18, appended 72 to a packet header and checked 74 to confirm that it is in a valid format. The packet header contains instructions for the peripheral device 10 to overwrite the contents of its software 11 with the contents of the packet. The packet then is sent 76 to the peripheral device 10 over the connection 22. The upgrade routine 20 checks 78 if the flash erase file's 64 transfer is complete, and repeats blocks 70, 72, 74 and 76 until the entire new file is downloaded to the peripheral device 10. If necessary, block 76 can be repeated a predetermined number of times before an error message is sent 56 to the remote device 56.

The automatic upgrade technique described above can be implemented, for example, in network devices such as the Intel® InBusiness™ Internet Station 56K as well as other devices coupled to a computer network. The process can be used to upgrade embedded peripheral devices such as onboard modems or other devices installed inside the network device. The file server 14 can use, for example, File Transfer Protocol (“FTP”) to send and receive packages over the network 16. Other transfer methods, such as HyperText Transfer Protocol (HTTP), also may be used.

Advantages of these techniques may include the ability for upgrades to be made to embedded peripheral devices without the use of special connections, such as null modem cables, between a client PC and the network device. In addition, the peripheral devices can be upgraded regardless of the operating system on the client device 15. In many implementations the techniques would not require any specialized knowledge of the upgrading process, allowing end users to perform the upgrades without assistance from a service representative. Also, the forgoing techniques can help reduce the amount of time required to upgrade embedded peripheral devices.

Various features of the system can be implemented in hardware, software, or a combination of hardware and software. For example, some aspects of the system can be implemented in computer programs executing on programmable computers. Each program can be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. Furthermore, each such computer program can be stored on a storage medium, such as read-only-memory (ROM) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage medium is read by the computer to perform the functions described above.

Other implementations are within the scope of the following claims.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US5504801 *Feb 9, 1994Apr 2, 1996Harris CorporationUser-controlled electronic modification of operating system firmware resident in remote measurement unit for testing and conditioning of subscriber line circuits
US5659801 *Dec 7, 1994Aug 19, 1997Emc CorporationMethod and apparatus for replacing resident peripheral device control microcode by download via an application program
US5815722 *Nov 18, 1992Sep 29, 1998Canon Information Systems, Inc.In an interactive network board, a method and apparatus for remotely downloading and executing files in a memory
US5878256 *Oct 16, 1991Mar 2, 1999International Business Machine Corp.Method and apparatus for providing updated firmware in a data processing system
US6055632 *Sep 25, 1997Apr 25, 2000Allen-Bradley Company, LlcMethod and apparatus for transferring firmware to a non-volatile memory of a programmable controller system
US6070012 *May 22, 1998May 30, 2000Nortel Networks CorporationMethod and apparatus for upgrading software subsystems without interrupting service
US6327617 *Apr 25, 2000Dec 4, 2001Microsoft CorporationMethod and system for identifying and obtaining computer software from a remote computer
US6467088 *Jun 30, 1999Oct 15, 2002Koninklijke Philips Electronics N.V.Reconfiguration manager for controlling upgrades of electronic devices
US6594723 *Sep 7, 1999Jul 15, 2003Microsoft CorporationMethod and apparatus for updating data in nonvolatile memory
US6601212 *Mar 29, 2000Jul 29, 2003Hewlett-Packard Development Company, Lp.Method and apparatus for downloading firmware to a non-volatile memory
US6622246 *Nov 12, 1999Sep 16, 2003Xerox CorporationMethod and apparatus for booting and upgrading firmware
US6880075 *Oct 27, 2000Apr 12, 2005Seiko Epson CorporationOutput device, method of controlling it, and storage medium
US6904592 *Apr 28, 2000Jun 7, 2005Gilbarco Inc.Software download system for automatic retrieval of warranty and commission data
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7676479 *Jul 7, 2004Mar 9, 2010Red Bend Ltd.Method and system for updating versions of content stored in a storage device
US7818737 *Feb 2, 2006Oct 19, 2010Lg Electronics Inc.Video device having software upgrade function using wireless communication and method for controlling the same
US8156487 *Jul 2, 2009Apr 10, 2012Microsoft CorporationEfficient patching
US8539469Jun 30, 2004Sep 17, 2013Microsoft CorporationEfficient patching
US8577892Jun 5, 2009Nov 5, 2013Microsoft CorporationUtilizing affinity groups to allocate data items and computing resources
US20100312809 *Jun 5, 2009Dec 9, 2010Microsoft CorporationGeographic co-location service for cloud computing
WO2005109191A2 *Sep 10, 2004Nov 17, 2005Heng-Chien ChenMethod of updating software in a host-client netnork
Classifications
U.S. Classification717/173
International ClassificationG06F9/44, G06F9/445
Cooperative ClassificationG06F8/68
European ClassificationG06F8/68
Legal Events
DateCodeEventDescription
Dec 27, 2013FPAYFee payment
Year of fee payment: 8
Nov 2, 2011ASAssignment
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CPTN HOLDINGS LLC;REEL/FRAME:027162/0342
Effective date: 20110909
Owner name: NOVELL INTELLECTUAL PROPERTY HOLDINGS INC., WASHIN
Jan 20, 2010FPAYFee payment
Year of fee payment: 4
Apr 30, 2001ASAssignment
Owner name: INTEL CORPORATION, CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HISATAKE, DERRICK I.;REEL/FRAME:011776/0045
Effective date: 20010404