WO2010005803A2 - System and method for safely updating thin client operating system over a network - Google Patents
System and method for safely updating thin client operating system over a network Download PDFInfo
- Publication number
- WO2010005803A2 WO2010005803A2 PCT/US2009/048735 US2009048735W WO2010005803A2 WO 2010005803 A2 WO2010005803 A2 WO 2010005803A2 US 2009048735 W US2009048735 W US 2009048735W WO 2010005803 A2 WO2010005803 A2 WO 2010005803A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- thin client
- service
- memory
- client device
- writing
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Definitions
- a "thin client” (sometimes also called a lean client) is a computer device that depends primarily on a central server for processing activities, and mainly focuses on conveying input and output between the user and the remote server. This is to be contrasted with a "thick” or “fat” client, which does as much processing as possible on the local device, and passes only data for communications and storage to the server. Many thin client devices run only web browsers or remote desktop software, meaning that all significant processing occurs on the server.
- Thin client computers typically have a very small flash storage device that contains the operating system (OS) and all of the software used on that particular computer.
- the thin client operating system plus all of the added software is called a "flash image” or “operating system image” and can be handled as one large file.
- a thin client operating system It can be desirable to update a thin client operating system from time to time. For example, a user of a network having multiple thin clients may desire to modify the original flash image or create their own flash image and redeploy this new image to all of the associated thin clients.
- Some thin client operating system images provide a feature to re-image the thin client with a new version of the flash image.
- thin clients typically do not have enough available memory to allow downloading of the entire flash image in one operation. Consequently, multiple write cycles are used. Unfortunately, if the thin client device loses power or network connectivity during the relatively long write cycles for downloading the new flash image, it is possible to corrupt the image of a thin client so that the device will not boot at all.
- FIG. 1 is a flow chart outlining the steps in an embodiment of a method for safely updating a thin client flash image over a network
- FIG. 2 is a diagram of an embodiment of a thin client connected to a network server having a new flash image and a service operating system ready to download to the thin client;
- FIG. 3 is a diagram of the embodiment of FIG. 2, showing the service operating system having been downloaded to RAM in the thin client, and being written to flash memory in the thin client;
- FIG. 4 is a diagram of the embodiment of FIG. 2, showing the service operating system having been written to the thin client flash memory, and the new image having been divided into large and small parts on the server;
- FIG. 5 is a diagram of the embodiment of FIG. 2, showing a portion of the large part of the new image having been written to the thin client flash memory;
- FIG. 6 is a diagram of the embodiment of FIG. 2, showing another portion of the large part of the new image having been written to the thin client flash memory;
- FIG. 7 is a diagram of the embodiment of FIG. 2, showing all portions of the large part of the new image having been written to the thin client flash memory;
- FIG. 8 is a diagram of the embodiment of FIG. 2, showing the small part of the new image having been downloaded to the thin client RAM;
- FIG. 9 is a diagram of the embodiment of FIG. 2, showing the entirety of the new image having been written to the thin client flash memory, the small part having overwritten the service OS.
- a method has been developed for safely updating a thin client operating system over a network.
- safely updating is used to refer to a method for updating (i.e. writing to memory in the thin client a new copy of) a thin client flash image in a manner that reduces the potential window of failure from loss of power or network connectivity during the network download or flash write processes. This method helps minimize windows of failure for updating the flash image.
- FIG. 2 One embodiment of a safe method for updating a thin client operating system over a network is outlined in the flowchart of FIG. 1 , and the related hardware and software components are shown in the block diagrams of FIGs. 2-9.
- This system 100 generally includes a server 1 10, which is connected to a thin client 1 12 via a communications link 1 14 (such as a local area network (LAN), the Internet, etc.).
- the thin client 1 12 includes random access memory (RAM) 1 16, and flash memory 1 18.
- the flash memory stores the current thin client operating system version, plus all of the software used on that particular computer, collectively labeled "old image" 120 in the figure.
- many thin clients 1 12 run only remote desktop software or web browsers, and depend primarily on the server 1 10 for processing activities. Due to it's relatively small size, the current thin client image 120 can be handled as one large file.
- a new thin client operating system image version 122 labeled "new image,” that is to be downloaded to the thin client 1 12.
- the new image can include many new applications and drivers and/or revisions of previous applications and drivers.
- the server also includes a relatively small service operating system ("service OS") 124 that plays a part in the downloading of the new image 122.
- the service OS can be a single purpose Linux image, for example.
- the illustration of FIG. 2 shows the system 100 in a typical operating condition where the thin client 1 12 utilizes the old image 120.
- the server 1 10 first prompts the thin client 1 12 to retrieve the service OS 124 (step 10 in FIG. 1 ). Whereupon, as shown in FIG. 3, the service OS 124 is loaded into RAM 1 16 of the thin client 1 12 (step 12 in FIG. 1 ). This download of the service OS can follow a standard file transfer protocol (FTP), as is typically used between a server and a client computer.
- FTP file transfer protocol
- the service OS 124 has been downloaded into RAM 1 16, confirmation that the file transfer process occurred properly is performed (step 14 in FIG. 1 ) and then the service OS is written to the thin client flash memory 1 18 (step 16 in FIG. 1 ), as shown in FIG. 4.
- the service OS is small (e.g. 3-5 MB)
- a quick write operation can be performed to write the service OS into the first part of the flash memory.
- the FTP site's information is also written into the service OS image on the flash memory 1 18.
- the process can take a couple of different paths.
- the thin client 1 12 can be prompted to reboot under the service OS (step 18 in FIG. 1 ).
- the service OS 124 can be written over any portion of the old image 120, because the old image is no longer needed.
- a copy of the service OS 128 can remain in RAM 1 16 for direct operation of the thin client 1 12.
- the system 100 can be configured to continue operating under the old image 120 (i.e., skipping step 18 in FIG. 1 ), with the service OS being copied into a partitioned part (e.g. a memory sector that has been labeled as "bad" by the old image) of the flash memory 124.
- a partitioned part e.g. a memory sector that has been labeled as "bad" by the old image
- the service OS is present to allow rebooting the thin client 1 12 in case of a loss of power or network connectivity during the subsequent steps in the process. Now the device is safe from power failure or network outages. If the device loses power, the service OS will boot and resume the FTP download of the image.
- the next step is to divide the new image 122 into a large part 130 and a small part 132, as shown in FIG. 5 (step 20 in FIG. 1 ).
- the smaller part 132 will eventually overwrite the service OS at the end of the process, while the large part 130 comprises the remainder of the new image, and is to be written over the old image in portions starting at the end of the service OS.
- the system 100 then initiates a process in which the large part 130 is downloaded in convenient pieces and written to the flash memory 1 18. Specifically, portions of the large part 130 are sequentially retrieved by the thin client (step 22 in FIG. 1 ), verified by the thin client 1 12 (step 42 in FIG.
- the first portion 130a of the large part 130 can be written over a portion of the old image 120 in the flash memory 1 18, but not over the service OS 124.
- This process repeats so long as there are additional portions of the large part 130 to be downloaded (step 28 in FIG. 1 ). For example, as shown in FIG. 6, the system then retrieves a second portion 130b of the large part 130, downloads, verifies and writes this portion over the old image 120 in the flash memory 1 18. This continues until all portions of the large part 130 have been written into flash memory in the thin client 1 12, as shown in FIG. 7.
- the small part 132 that will overwrite the service OS is fully downloaded to RAM 1 16 (step 30 in FIG. 1 ) and verified (step 32 in FIG. 1 ). This process is illustrated in FIG. 8.
- the small part Once the small part has been fully downloaded to RAM 1 16, it gets written to the flash memory 1 18 (step 34 in FIG. 1 ).
- the small part 132 is substantially the same size as the service OS 124 (e.g. 2-5 MB), so that this write step happens quickly.
- the new image 122 is complete as shown in FIG. 9, and the thin client computer 1 12 can then reboot under the new flash image (step 36 in FIG. 1 ).
- the only opportunities for failure are when the service OS is getting written to the flash memory 1 18, and when the service OS is getting overwritten by the small chunk of the new flash image. These opportunities are only open for the total time it takes to write 4-10 MB of data to the flash memory 1 18, which is on the order of a few seconds.
- the potential window of failure for some thin client updating systems, where the new image is larger than available RAM can be several minutes. This method thus reduces the potential window of failure when updating a flash image in a thin client, to allow the new image to be safely written to the flash memory.
- This method address these potential windows of failure, and also enables thin clients that have a flash image that is larger than available RAM to be safely updated via a network.
- the imaging process is performed from within the original operating system.
- a safe kernel is present through most of the update and will take over if power is ever lost. No extra flash space is needed.
- the FTP/TCP/IP protocol is typically allowed by firewalls and therefore a thin client user can have one sole location for their home-grown thin client images and allow access from around the world.
- This method is desirable to thin client users because of the small image size on a thin client. With this method the image size does not need to be smaller than the total available RAM size for the process to work. Additionally, operating system calls can be used to write the new image to the flash memory without having to reboot multiple times.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Facsimiles In General (AREA)
Abstract
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09794967A EP2300929A4 (en) | 2008-07-11 | 2009-06-25 | System and method for safely updating thin client operating system over a network |
US13/002,652 US9547345B2 (en) | 2008-07-11 | 2009-06-25 | System and method for safely updating thin client operating system over a network |
CN200980127019.XA CN102089753B (en) | 2008-07-11 | 2009-06-25 | System and method for safely updating thin client operating system over a network |
BRPI0910794A BRPI0910794A2 (en) | 2008-07-11 | 2009-06-25 | method for upgrading a thin client image, computer system, and method for upgrading a thin client operating system |
TW098122000A TWI509511B (en) | 2008-07-11 | 2009-06-30 | System and method for safely updating thin client operating system over a network |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8005208P | 2008-07-11 | 2008-07-11 | |
US61/080,052 | 2008-07-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2010005803A2 true WO2010005803A2 (en) | 2010-01-14 |
WO2010005803A3 WO2010005803A3 (en) | 2010-05-06 |
Family
ID=41507671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2009/048735 WO2010005803A2 (en) | 2008-07-11 | 2009-06-25 | System and method for safely updating thin client operating system over a network |
Country Status (6)
Country | Link |
---|---|
US (1) | US9547345B2 (en) |
EP (1) | EP2300929A4 (en) |
CN (1) | CN102089753B (en) |
BR (1) | BRPI0910794A2 (en) |
TW (1) | TWI509511B (en) |
WO (1) | WO2010005803A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268743A1 (en) * | 2012-03-30 | 2013-10-10 | Lenovo (Singapore) Pte. Ltd. | Methods for customizing an operating system at an information handling device |
US9182970B2 (en) | 2012-03-30 | 2015-11-10 | Lenovo (Singapore) Pte. Ltd. | Methods for creating device preload via manufacturing and cloud content |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9037843B2 (en) * | 2010-03-10 | 2015-05-19 | Hewlett-Packard Development, L.P. | Managing a target computing device |
US8452952B2 (en) * | 2010-10-20 | 2013-05-28 | Wyse Technology Inc. | Methods and apparatus for building system images and split booting |
US10075505B2 (en) | 2011-05-30 | 2018-09-11 | International Business Machines Corporation | Transmitting data including pieces of data |
US9503320B2 (en) * | 2013-07-30 | 2016-11-22 | Hewlett-Packard Development Company, L.P. | Operation image manager |
US10110594B2 (en) | 2013-09-04 | 2018-10-23 | Hewlett-Packard Development Company, L.P. | Header section download of package |
US10372463B1 (en) * | 2013-11-27 | 2019-08-06 | EMC IP Holding Company LLC | Provisioning a computerized device with an operating system |
US11265362B1 (en) * | 2015-12-28 | 2022-03-01 | Ted Tabacco | Mobile application streaming platform |
WO2021101563A1 (en) * | 2019-11-22 | 2021-05-27 | Hewlett-Packard Development Company, L.P. | Data management |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004003733A2 (en) | 2002-06-28 | 2004-01-08 | Koninklijke Philips Electronics N.V. | Software download into a receiver |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1254937B (en) | 1991-05-06 | 1995-10-11 | DYNAMIC UPDATE OF NON-VOLATILE MEMORY IN A COMPUTER SYSTEM | |
US5960445A (en) * | 1996-04-24 | 1999-09-28 | Sony Corporation | Information processor, method of updating a program and information processing system |
US6223284B1 (en) | 1998-04-30 | 2001-04-24 | Compaq Computer Corporation | Method and apparatus for remote ROM flashing and security management for a computer system |
US6282643B1 (en) | 1998-11-20 | 2001-08-28 | International Business Machines Corporation | Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running |
US6314455B1 (en) | 1999-02-24 | 2001-11-06 | International Business Machines Corporation | Data processing system and method for permitting a server to remotely initiate a client's boot block recovery |
JP2001209543A (en) | 2000-01-28 | 2001-08-03 | Nec Ic Microcomput Syst Ltd | Program rewriting method for flash microcomputer |
US20030061323A1 (en) | 2000-06-13 | 2003-03-27 | East Kenneth H. | Hierarchical system and method for centralized management of thin clients |
US7069452B1 (en) | 2000-07-12 | 2006-06-27 | International Business Machines Corporation | Methods, systems and computer program products for secure firmware updates |
US6718464B2 (en) | 2001-01-23 | 2004-04-06 | International Business Machines Corporation | Method and system for customizing a client computer system configuration for a current user using BIOS settings downloaded from a server |
CA2357382A1 (en) * | 2001-09-17 | 2003-03-17 | Soma Networks, Inc. | Software update method, apparatus and system |
US7421701B2 (en) | 2002-09-16 | 2008-09-02 | International Business Machines Corporation | System for facilitating transactions between thin-clients and message format service (MFS)-based information management system (IMS) applications |
US7139909B2 (en) | 2003-10-16 | 2006-11-21 | International Business Machines Corporation | Technique for system initial program load or boot-up of electronic devices and systems |
US20050144609A1 (en) | 2003-12-12 | 2005-06-30 | Intel Corporation | Methods and apparatus to provide a robust code update |
US20050160150A1 (en) * | 2004-01-20 | 2005-07-21 | Su-Hwa Kao | Apparatus and method for managing and transporting virtual disks over a network to networked stations |
US7809836B2 (en) | 2004-04-07 | 2010-10-05 | Intel Corporation | System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system |
US7558867B2 (en) * | 2004-04-20 | 2009-07-07 | Wyse Technology Inc. | Automatic firmware upgrade for a thin client using one or more FTP servers |
US7698698B2 (en) * | 2004-09-30 | 2010-04-13 | Smith Micro Software, Inc. | Method for over-the-air firmware update of NAND flash memory based mobile devices |
US7702646B2 (en) | 2005-02-18 | 2010-04-20 | The Macgregor Group, Inc. | System and method for displaying data on a thin client |
US20060200658A1 (en) | 2005-03-07 | 2006-09-07 | Bitfone Corporation | Agent framework for mobile devices |
ES2371995T3 (en) * | 2007-12-13 | 2012-01-12 | Telefonaktiebolaget Lm Ericsson (Publ) | UPDATE OF THE FIRMWARE OF AN ELECTRONIC DEVICE. |
-
2009
- 2009-06-25 WO PCT/US2009/048735 patent/WO2010005803A2/en active Application Filing
- 2009-06-25 BR BRPI0910794A patent/BRPI0910794A2/en not_active Application Discontinuation
- 2009-06-25 CN CN200980127019.XA patent/CN102089753B/en active Active
- 2009-06-25 US US13/002,652 patent/US9547345B2/en active Active
- 2009-06-25 EP EP09794967A patent/EP2300929A4/en not_active Ceased
- 2009-06-30 TW TW098122000A patent/TWI509511B/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004003733A2 (en) | 2002-06-28 | 2004-01-08 | Koninklijke Philips Electronics N.V. | Software download into a receiver |
Non-Patent Citations (1)
Title |
---|
See also references of EP2300929A4 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268743A1 (en) * | 2012-03-30 | 2013-10-10 | Lenovo (Singapore) Pte. Ltd. | Methods for customizing an operating system at an information handling device |
US9182970B2 (en) | 2012-03-30 | 2015-11-10 | Lenovo (Singapore) Pte. Ltd. | Methods for creating device preload via manufacturing and cloud content |
US9934044B2 (en) * | 2012-03-30 | 2018-04-03 | Lenovo (Singapore) Pte. Ltd. | Methods for customizing an operating system at an information handling device |
Also Published As
Publication number | Publication date |
---|---|
BRPI0910794A2 (en) | 2015-09-29 |
US20110119434A1 (en) | 2011-05-19 |
EP2300929A4 (en) | 2011-11-09 |
CN102089753B (en) | 2014-04-16 |
WO2010005803A3 (en) | 2010-05-06 |
EP2300929A2 (en) | 2011-03-30 |
US9547345B2 (en) | 2017-01-17 |
CN102089753A (en) | 2011-06-08 |
TWI509511B (en) | 2015-11-21 |
TW201007570A (en) | 2010-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9547345B2 (en) | System and method for safely updating thin client operating system over a network | |
US7934210B1 (en) | System and method for updating one or more programs and their environment | |
US7937697B2 (en) | Method, system and computer program for distributing software patches | |
US8037198B2 (en) | Firmware upgrade for thin clients using one or more servers | |
US7574481B2 (en) | Method and system for enabling offline detection of software updates | |
US9081639B2 (en) | System and method for remotely re-imaging a computer system | |
AU2011329096B2 (en) | Networked recovery system | |
US7278002B2 (en) | Method and system for reducing storage requirements for program code in a communication device | |
US6330715B1 (en) | Method and apparatus for managing software in a network system | |
US6625754B1 (en) | Automatic recovery of a corrupted boot image in a data processing system | |
RU2483349C2 (en) | Staged, lightweight backup system | |
US8065510B2 (en) | System and methods of retrieving firmware between network locations | |
US7577949B2 (en) | Installation source management | |
US10331427B2 (en) | Capturing and deploying an operation system in a computer environment | |
US7818557B2 (en) | Method for re-imaging a computer system | |
JP2009020882A (en) | Method and apparatus for upgrading firmware in embedded system | |
US8453141B1 (en) | High performance install update | |
CN109213504B (en) | Stack-type file system and loading method and upgrading method thereof | |
US6438606B1 (en) | Router image support device | |
US7937609B2 (en) | Disaster recovery in a data processing system | |
US20060095583A1 (en) | Uniform disk image for performing computer diagnostics | |
US20060010315A1 (en) | System and method for re-imaging computers | |
KR100487717B1 (en) | System and method for loading operating system for embedded system | |
JP2006172098A (en) | Packet communication device, rebooting method in packet communication device, and program | |
JP5668518B2 (en) | Information processing apparatus, information processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980127019.X Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13002652 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 151/CHENP/2011 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009794967 Country of ref document: EP |
|
NENP | Non-entry into the national phase in: |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09794967 Country of ref document: EP Kind code of ref document: A2 |
|
ENP | Entry into the national phase in: |
Ref document number: PI0910794 Country of ref document: BR Kind code of ref document: A2 Effective date: 20110111 |