Disclosed are a system and a method for upgrading device drivers. The system for upgrading a device driver of a user's computer through a network, including an upgrade server dividing at least one device driver for upgrading into a variable file and an invariable file information according to a version thereof, and supplying the variable file and the invariable file information through the network; and an upgrading program installed in the user's computer, downloading the variable file and the invariable file information from the upgrade server and upgrading the device driver to the variable file based on the invariable file information. With this configuration, an end user can easily upgrade the device driver.
|
19. A method, comprising the steps of:
generating a variable file by extracting parts being different between an old version and a new version of a device driver, and an invariable file information by extracting parts being the same between said old version and said new version of said device driver;
storing said variable file and said invariable file information;
downloading said variable file and said invariable file information to said computer from storage; and
upgrading said device driver of said computer to said variable file based on said invariable file information.
1. A system for upgrading a device driver of a computer through a network, comprising:
an upgrade server dividing at least one device driver to be upgraded into a variable file and an invariable file information according to an upgrade version, and supplying said variable file and said invariable file information through said network; and
a computer including an upgrading program installed, said computer downloading said variable file and said invariable file information from said upgrade server and upgrading said device driver with said variable file based on said invariable file information.
12. A method for upgrading a device driver of a computer through a network, comprising the steps of:
generating a variable file by extracting parts being different between an old version and a new version of said device driver, and an invariable file information by extracting parts being the same between said old version and said new version of said device driver;
storing at least one device driver having said variable file and said invariable file information in an upgrade server;
downloading said variable file and said invariable file information from said upgrade server to said computer; and
upgrading said device driver of said computer to said variable file based on said invariable file information.
2. The system according to
3. The system according to
4. The system according to
5. The system according to
6. The system according to
7. The system according to
8. The system according to
9. The system according to
10. The system according to
11. The system according to
13. The method according to
14. The method according to
storing said variable file and said invariable file information in said computer for backup, during said step of downloading said variable file and said invariable file information; and
recovering said device driver based on said backup variable file and said backup invariable file information, when an error occurs in said device driver of said computer.
15. The method according to
installing said old version of said device driver to a first computer system and then storing a registry and a system file;
installing said new version of said device driver to a second computer system and then storing a registry and a system file; and
comparing said first computer system having said old version of said device driver with said second computer system having said new version of said device driver in terms of the registry and the system file to store the different parts between the old version and the new version of the device driver in the variable file, and to store the same parts between the old version and the new version of the device driver in the invariable file information.
16. The method according to
supplying information of a version of said device driver installed in said computer to said upgrade server; and
providing said computer with a list of said variable file and said invariable file information to said computer when said variable file and said invariable file information being of a newer version than said device driver on said computer.
17. The method according to
20. The method according to
21. The method according to
storing said variable file and said invariable file information in said computer for backup, during said step of downloading said variable file and said invariable file information; and
recovering said device driver according to said backup variable file and said backup invariable file information, when an error occurs in said device driver of said computer.
22. The method according to
installing said old version of said device driver to a first computer system and then storing information of an operating system of said first computer;
installing said new version of said device driver to a second computer system and then storing information of an operating system of said second computer; and
comparing said stored information of the operating systems of said first computer system and said second computer system to generate said variable file and said invariable file information.
|
This application makes reference to, incorporates the same herein, and claims all benefits accruing under 35 U.S.C. §119 from an application entitled System for Upgrading Device Driver and Method for Upgrading the Same earlier filed in the Korean Industrial Property Office on 13, Dec. 2000, and there duly assigned Serial No. 2000-76250 by that office.
1. Field of the Invention
The present invention relates to a system and a method for upgrading a device driver, and more particularly, to a system and a method for upgrading a device driver through a network .
2. Description of the Background Art
Development of the Internet has brought many changes with respect to computer programs. In the past, to upgrade a program, a user had to directly install upgrade data to his or her computer, after downloading the upgrade data through a data room provided by a communication company in which a program maker publishes the upgrade data. Currently, however, a user can upgrade a program more easily through the Internet. Programs that allow the user to upgrade through the Internet, include for example a vaccine program V3 and the operating system MICROSOFT Windows. In the case of the V3 program, if a vaccine engine is upgraded, the user is allowed direct access to a server in the Internet through the V3 program, and then the new upgraded engine is downloaded to be automatically installed in the user's computer.
A device driver is distinguished from the above-described general programs. The device driver is a program controlling peripheral units of a computer system, such as a disk unit and a printer, etc. For example, the device driver includes a sound driver controlling a sound card, a graphics driver controlling a graphics card, a mouse driver controlling a mouse and so on. Since these device drivers are closely connected to an operating system of the computer system, being different from the general programs, it is not easy for end users to upgrade them using the Internet.
An earlier technique of upgrading a device driver includes, first, a user connecting his or her computer to an upgrade server, using an Internet-connecting program. After the computer is connected to the upgrade server, the user browses a device driver to be upgraded and downloads it to the computer. The upgrade device driver provided by the upgrade server is provided in a compressed file, in consideration of the speed of transfer and the size of the upgrade file, etc. Thus, the user decompresses the upgrade device driver to be downloaded using a compression program. If the upgrade device driver is decompressed, an install file of the upgrade device driver is generated. Then, the user executes the install file and upgrades the device driver. Finally, when the user reboots up his or her computer, the upgrading process of the device driver is completed.
As described above, because the upgrading of a device driver using the earlier technique is more complicated than that of the general programs, it is inconvenient for an end user to upgrade the device driver.
Exemplars of the art are Korean Patent No. 1999-0061251 issued to Lee, for Network System and Managing Method for a Version Manager Using an Internet and a Local Disk, Japanese Patent No. 8-161250 and European Patent Application EP 0716371A2 to Nakagiri, for Information Processing Apparatus Having Automatic Os Selecting Function, Japanese Patent No. 9-251355 issued to Yoshioka, for Printer, Japanese Patent No. 10-91500 issued to Tatsutaki, for Client/Server System, Differential File down Loading Method in Client/Server System and Storage Medium Storing Program for Differential File down Loading, Japanese Patent No. 10-171634 issued to Yagi, for Information Processing Terminal and Program Updating System, Japanese Patent No. 11-327828 issued to Omura, for Printing Controller, Driver Managing Method for the Same and Storage Medium Storing Program Which Computer Can Read, Japanese Patent No. 2000-10787 of issued to Kudo et al., for Program Down-loading Device and its Method, U.S. Pat. No. 5,580,177 issued to Gase et al., for Printer/Client Network with Centrally Updated Printer Drivers and Printer Status Monitoring, U.S. Pat. No. 5,809,287 issued to Stupek, Jr. et al., for Automatic Computer Upgrading, and U.S. Pat. No. 6,023,585 issued to Perlman et al., for Automatically Selecting and Downloading Device Drivers from a Server System to a Client System That Includes One or More Devices.
It is therefore an object of the present invention to provide a system and a technique for a device driver, allowing an end user to easily upgrade the device driver.
It is another object to update a device driver through a network in a reliable and efficient manner.
It is yet another object to easily upgrade the device driver by manipulating the device driver file on the upgrade server for installation on the user's computer.
It is still yet another object to speed up the upgrade of the device driver through a network by reducing the size of the file needed to upgrade the device driver.
It is another object to upgrade a device driver through networks with lower bandwidth by reducing the size of the file needed to upgrade the device driver.
It is still another object to increase the reliability of upgrading device drivers by having a backup.
The above and other objects of the present invention may be achieved by a provision of a system for upgrading a device driver of a user's computer through a network, including an upgrade server dividing at least one device driver to be upgraded into a variable file and an invariable file information according to an upgrade version, and supplying the variable file and the invariable file information through the network, and an upgrading program installed in the user's computer, downloading the variable file and the invariable file information from the upgrade server and upgrading the device driver to the variable file based on the invariable file information.
Preferably, the upgrading program includes a communication module for connecting the upgrade server and downloading the variable file and the invariable file information.
Preferably, the user's computer further includes a backup storage unit for storing the variable file and the invariable file information downloaded, for backup.
The device driver includes one of a sound driver, a mouse driver, a graphics driver, a LAN (Local Area Network) card driver and SCSI (Small Computer System Interface) driver.
According to another aspect of the present invention, a method for upgrading a device driver of a user's computer through a network, includes the steps of generating a variable file by extracting different parts between an old version and a new version thereof of the device driver, and an invariable file information by extracting the same parts between the old version and the new version thereof, storing at least one device driver having the variable file and the invariable file information in an upgrade server; downloading the variable file and the invariable file information from the upgrade server to the user's computer; and upgrading the device driver of the user's computer to the variable file based on the invariable file information.
Preferably, the method further includes the step of transmitting information about a version of the device driver installed in the user's computer to the upgrade server, where the upgrade server provides the device driver to allow the user to download the device driver, where the device driver of the user's computer is of an old version compared with the device driver of the upgrade server, based on the version information.
More preferably, the method further includes the steps of storing the variable file and the invariable file information in the user's computer for backup, during the step of downloading the variable file and the invariable file information; and recovering the device driver based on the backup variable file and the backup invariable file information, where an error occurs in the device driver of the user's computer.
Still preferably, the step of generating the variable file and the invariable file information includes the steps of installing the old version of the device driver to a first computer system and then storing a registry and a system file; installing the new version of the device driver to a second computer system and then storing a registry and a system file; and comparing the system having the old version of the device driver with the system having the new version of the device driver in terms of the registry and the system file to store the different parts between the old version and the new version of the device driver in the variable file, and to store the same parts between the old version and the new version of the device driver in the invariable file information.
A more complete appreciation of this invention, and many of the attendant advantages thereof, will be readily apparent as the same becomes better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings in which like reference symbols indicate the same or similar components, wherein:
Turning now to the drawings, a process of upgrading a device driver according to an earlier method will be described with reference to FIG. 1.
First, a user connects his or her computer to an upgrade server, using an Internetconnecting program (U10). After the computer is connected to the upgrade server, the user browses a device driver to be upgraded and downloads it to the computer (U20). The upgrade device driver provided by the upgrade server is provided in a compressed file, in consideration of the speed of transfer and the size of the upgrade file, etc. Thus, the user decompresses the upgrade device driver to be downloaded using a compression program (U30). If the upgrade device driver is decompressed, an install file of the upgrade device driver is generated. Then, the user executes the install file and upgrades the device driver (U40). Lastly, if the user reboots up his or her computer (U50), the upgrading process of the device driver is completed.
Referring to
The upgrade server 10 divides the device driver file 41 for upgrading into a variable file 43 and information on an invariable file 45 and provides them to the user's computer 50 through the network 100.
The upgrade server 10 includes a communication unit 30 (to be described later) communicating with the user's computer 50 through the network 100, a file storage unit 40 storing the device driver file 41 for upgrading which is provided to the user, and a control unit 20 controlling the file storage unit 40 to permit the user's computer 50 to download the device driver file 41 for upgrading in response to the user's download request.
The device driver file 41 to be stored in the file storage unit 40 is divided into the variable file 43 and the invariable file information 45. The variable file 43 is only the new file added to the device driver 90 when the device driver 90 is upgraded from the old version (before upgrading) to the new version (after upgrading). Also, the invariable file information 45 is information about the coexistent parts in both the new version's and the old version's registry and system file of operating systems when the device driver 90 is upgraded from the old version to the new version.
The control unit 20 in the upgrade server 10 provides the variable file 43 and the invariable file information 45 of the device driver file 41 stored in the file storage unit 40 to the user's computer 50 through the network 100 where a user logs on the upgrade server 10 though the user's computer 50 to request download of the device driver file 41.
Thus, the user does not need to download the whole device driver file, but downloads only the variable file 43 containing the parts upgraded from the old version to the new version and the invariable file information 45 retained in the system.
The control unit 20 receives information on the device driver 90 stored in the user's computer 50 and compares it with information on the device driver file 41 stored in the file storage unit 40. Where the device driver file 41 stored in the file storage unit 40 is of the new version, the control unit 20 provides the device driver file 41 to the user's computer 50.
Even if the user's computer 50 does not log on the upgrade server 10, the control unit 20 transmits information about the device driver file 41 of the new version to the user's computer 50 based on log-on data like e-mail information, where the upgrade server 10 is equipped with the device driver file 41 of the new version so that the user's computer 50 is allowed to download the device driver file 41 of the new version.
The user's computer 50 connected to the upgrade server 10 to download the upgrading device driver file 41, includes the device driver 90 to be upgraded, an upgrading program 60 and a backup storage unit 80.
The upgrading program 60 includes a communication module 70 to log on the user's computer 50 to the upgrade server 10 through the network 100. The upgrading program 60 downloads the device driver file 41 for upgrading from the upgrade server 10 being connected by the communication module 70. The upgrading program 60 transmits information about the device driver 90 of the user's computer 50 to the upgrade server 10 through the communication module 70 and where the upgrade server 10 has the device driver file 41 of the new version, the upgrading program 60 receives the list (not shown) of the device driver file 41 of the new version from the upgrade server 10. Also, the upgrading program 60 stores a backup of the variable file 43 and the invariable file information 45 of the device driver file 41 being downloaded from the upgrade server 10 in the backup storage unit 80.
Where the device driver 90 installed in the user's computer 50 generates an error, a backup variable file 83 and a backup invariable file information 85 of a device driver file 81 stored in the backup storage unit 80 are brought by the upgrading program 60. Then, the upgrading program 60 recovers the device driver 90 of the user's computer 50 from the backup variable file 83 based on the backup invariable file information 85.
A process of generating the variable file 43 and the invariable file information 45 of the device driver file 41 for upgrading will be described with reference to
The device driver 90 of the old version 310 is installed in a first computer system (P10). Then a registry and a system file 320 of the operating system are adaptively changed. The changed registry and system files 320 of the operating system are stored in the operating system of the first computer system 300 by a commercial utility 330 such as “PICTURE TAKER” (P20). The device driver 90 of the new version 360 is installed in a second computer system 350 having the same configuration as the first computer system 300 (P30). In response to the installation of the device driver 90 of the new version 360, the registry and the system file 370 of the operating system are changed in the second computer system 350. The changed registry and system file 370 are stored in the operating system of the second computer system 350 by the “PICTURE TAKER” program 330 (P40).
With respect to the device drivers 90 of the old version 310 and the new version 360, the registry and the system files 320 and 370 stored in the operating system of the computer systems 300 and 350 by the “PICTURE TAKER” program 330 are compared to extract the different parts between the old version 310 and the new version 360 of the device driver 90 (P50), and the different parts are generated to the variable file 43 (P60). The same parts between the old version 310 and the new version 360 of the device driver 90 are extracted to constitute the invariable file information 45 (P70). The variable file 43 and the invariable file information 45 of the device driver file 41 are provided to the upgrade server 10 (P80).
A process of upgrading a device driver by the user's computer in the upgrading device driver system according to the present invention will be described with reference to
A user logs on his or her computer 50 to be connected to the upgrade server 10, using the upgrading program 60 provided therein (S10). The upgrading program 60 transmits information on the device driver 90 installed in the user's computer 50 to the upgrade sever 10 through the communication module 70 simultaneously as it connects the upgrade server 10 (S20).
The control unit 20 in the upgrade server 10 compares information on the device driver file of the file storage unit 40 with the transmitted information on the device driver 90 (S30). Where the upgrade server 10 is equipped with the device driver file 41 of the new version, the control unit 20 provides the list of the device driver file 41 of the new version to the user's computer 50 (S40). The user downloads a device driver file 41 (a variable file and information of an invariable file) which he or she wants to upgrade through the user's computer 50, among the list of the new version of the device driver files 41 (S50). If the download is completed, the upgrading program 60 upgrades the device driver 90 of the user's computer 50 according to the variable file 43, based on information of the invariable file 45 of the device driver file 41 downloaded (S60). If the upgrade of the device driver 90 is completed, the upgrading program 60 makes the user's computer 50 reboot (S70).
In the step S30, the user ends the upgrading where the upgrade server 10 is not equipped with the device driver file 41 of the new version. After the step S50, in consideration of a possible error generated by the device driver 90 during operation of the device driver 90, the upgrading program 60 stores the backup of the variable file 43 and the invariable file information 45 of the device driver 90 downloaded for upgrading in the backup storing part 80 (S55). As seen in
As described above, the user can upgrade easily the device driver, by dividing the device driver file into the variable file and the invariable file information, storing them in the upgrade server and installing the upgrading program in the user's computer.
Although the preferred embodiment of the present invention has been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.
Patent | Priority | Assignee | Title |
7096311, | Sep 30 2002 | Qualcomm Incorporated | Updating electronic files using byte-level file differencing and updating algorithms |
7213228, | Mar 17 2003 | Rovi Product Corporation | Methods and apparatus for implementing a remote application over a network |
7222349, | Jun 30 2003 | Veritas Technologies LLC | External device support for device abstraction layer |
7305456, | Dec 05 2001 | Ricoh Company, LTD | Device information acquiring method, server apparatus and computer-readable storage medium |
7313577, | Nov 18 2002 | Qualcomm Incorporated | Generating difference files using module information of embedded software components |
7320010, | Nov 18 2002 | Qualcomm Incorporated | Controlling updates of electronic files |
7350205, | Nov 12 2002 | Qualcomm Incorporated | Upgrading electronic files of a mobile device upgrade client |
7366824, | Sep 30 2002 | Qualcomm Incorporated | Updating electronic files using byte-level file differencing and updating algorithms |
7392260, | Jul 21 2003 | Qualcomm Incorporated | Code alignment of binary files |
7516451, | Aug 31 2004 | Qualcomm Incorporated | Maintaining mobile device electronic files including using difference files when upgrading |
7574691, | Feb 14 2004 | Rovi Product Corporation | Methods and apparatus for rendering user interfaces and display information on remote client devices |
7779055, | Nov 18 2002 | Qualcomm Incorporated | Device memory management during electronic file updating |
7831981, | Jun 30 2003 | Veritas Technologies LLC | External device support for device abstraction layer |
7844734, | Nov 18 2002 | Qualcomm Incorporated | Dynamic addressing (DA) using a centralized DA manager |
8126986, | Sep 23 2004 | Citrix Systems, Inc | Advanced content and data distribution techniques |
8156071, | May 13 2002 | Qualcomm Incorporated | Byte-level file differencing and updating algorithms |
8463951, | Mar 27 2003 | Nvidia Corporation | Unified driver architecture device identifier strategy |
8464238, | Jan 31 2006 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Method and system for managing storage area networks |
8645975, | Jul 17 2007 | Ricoh Company, Ltd. | Adding function to device driver |
8713137, | Nov 12 2002 | Qualcomm Incorporated | Fail-safe upgrading of portable electronic device software |
Patent | Priority | Assignee | Title |
5580177, | Mar 29 1994 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Printer/client network with centrally updated printer drivers and printer status monitoring |
5664195, | Apr 07 1993 | Radisys Corporation | Method and apparatus for dynamic installation of a driver on a computer system |
5794052, | Feb 27 1995 | SAMSUNG ELECTRONICS CO , LTD | Method of software installation and setup |
5809287, | Sep 08 1994 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Automatic computer upgrading |
5842024, | Feb 27 1995 | SAMSUNG ELECTRONICS CO , LTD | Method of software installation |
5905492, | Dec 06 1996 | Microsoft Technology Licensing, LLC | Dynamically updating themes for an operating system shell |
6023585, | May 02 1997 | Microsoft Technology Licensing, LLC | Automatically selecting and downloading device drivers from a server system to a client system that includes one or more devices |
6088717, | Feb 29 1996 | OneName Corporation | Computer-based communication system and method using metadata defining a control-structure |
6091411, | Dec 06 1996 | Microsoft Technology Licensing, LLC | Dynamically updating themes for an operating system shell |
6470496, | Aug 03 1998 | Matsushita Electric Industrial Co., Ltd. | Control program downloading method for replacing control program in digital broadcast receiving apparatus with new control program sent from digital broadcast transmitting apparatus |
6574588, | Sep 23 1998 | Microsoft Technology Licensing, LLC | Solid-state memory device that emulates a known storage device |
6604235, | Jan 06 1999 | Icebox, LLC | Operating system upgrading |
6668376, | Jan 07 2000 | Ricoh Company, Ltd. | System and method for automatically loading a device driver |
EP716371, | |||
JP10171634, | |||
JP1091500, | |||
JP11327828, | |||
JP200010787, | |||
JP2000293366, | |||
JP2000330779, | |||
JP8161250, | |||
JP9251355, | |||
KR19990061251, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 06 2001 | KIM, IN-SOO | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012316 | /0422 | |
Sep 06 2001 | KIM, KYUNG-YOUNG | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012316 | /0422 | |
Nov 20 2001 | Samsung Electronics Co., Ltd. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Sep 02 2005 | ASPN: Payor Number Assigned. |
Oct 09 2008 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Oct 18 2012 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Oct 23 2012 | RMPN: Payer Number De-assigned. |
Oct 25 2012 | ASPN: Payor Number Assigned. |
Oct 24 2016 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
May 10 2008 | 4 years fee payment window open |
Nov 10 2008 | 6 months grace period start (w surcharge) |
May 10 2009 | patent expiry (for year 4) |
May 10 2011 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 10 2012 | 8 years fee payment window open |
Nov 10 2012 | 6 months grace period start (w surcharge) |
May 10 2013 | patent expiry (for year 8) |
May 10 2015 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 10 2016 | 12 years fee payment window open |
Nov 10 2016 | 6 months grace period start (w surcharge) |
May 10 2017 | patent expiry (for year 12) |
May 10 2019 | 2 years to revive unintentionally abandoned end. (for year 12) |