WO2007057248A1 - Method and system for carrying multiple suspended runtime images - Google Patents

Method and system for carrying multiple suspended runtime images Download PDF

Info

Publication number
WO2007057248A1
WO2007057248A1 PCT/EP2006/066990 EP2006066990W WO2007057248A1 WO 2007057248 A1 WO2007057248 A1 WO 2007057248A1 EP 2006066990 W EP2006066990 W EP 2006066990W WO 2007057248 A1 WO2007057248 A1 WO 2007057248A1
Authority
WO
WIPO (PCT)
Prior art keywords
portable device
host
virtual machine
industry standard
standard architecture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/EP2006/066990
Other languages
English (en)
French (fr)
Inventor
Mandayam Thondanur Raghunath
Chandrasekhar Narayanaswami
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IBM United Kingdom Ltd
International Business Machines Corp
Original Assignee
IBM United Kingdom Ltd
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IBM United Kingdom Ltd, International Business Machines Corp filed Critical IBM United Kingdom Ltd
Priority to JP2008540543A priority Critical patent/JP5004963B2/ja
Priority to CA2630282A priority patent/CA2630282C/en
Priority to CN200680043149.1A priority patent/CN101313277B/zh
Publication of WO2007057248A1 publication Critical patent/WO2007057248A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the invention disclosed broadly relates to the field of information processing systems and more particularly relates to the field of portable personal electronic devices .
  • Information storage capacities are increasing rapidly and it is becoming possible to add large capacity disk storage to several portable devices such as the iPod TM music player or any of several personal digital assistant (PDA) form factor devices.
  • the power consumption of disk drives has also been reduced to the point that the disks may be powered by batteries that are part of the portable devices themselves.
  • disk storage it is also possible to have disk storage present in a piggy back manner, where the disk is accessible only when the portable device is connected to another device that supplies power to the portable device, for example through a USB (universal serial bus) connection.
  • USB universal serial bus
  • a portable device carries multiple software stacks, one for each of two or more types of industry standard architectures so that the portable device can be coupled to various host computer systems using various incompatible architectures and yet each host system can boot from the portable device.
  • the portable device is connected to a first host system that operates according to a first industry standard architecture (e.g., a personal computer built according to the IBM Personal Computer Standard) ; the user initiates a session in the host system using the software and data in the portable device; the user suspends the state of the session, the state is stored in the portable device, and the user disconnects the portable device from the first host.
  • a first industry standard architecture e.g., a personal computer built according to the IBM Personal Computer Standard
  • the second host boots an autoconfiguring host operating system stored in the portable device and starts a virtual machine layer also stored in the portable device. The user then resumes operation of the suspended virtual machine layer session in the second host computer.
  • a second industry standard architecture e.g., Apple Macintosh TM
  • FIGs. IA and IB are high level block diagrams showing a portable device for coupling to a first and second host processing systems operating under different industry standards according to an embodiment of the invention.
  • FIG. 2 is a block diagram showing a host information processing system according to the embodiments shown in FIGs. IA and IB.
  • FIG. 3 is a block diagram showing software stack according to an embodiment of the invention .
  • FIG. 4 is a flow chart of a method according to an embodiment of the invention .
  • PSD portable storage device
  • a PSD is any electronic device that includes sufficient storage to operate as discussed herein and is not necessarily a device whose principal function is storage.
  • the PSD 100 comprises a USB (universal serial bus) port 102 for coupling to a USB port 212 in the host system 200 and a memory 104 for storing (among other things) a portable computing environment.
  • the memory 104 is preferably a persistent storage device such as a hard disk drive for storing a portable computing environment but can also be semiconductor memory such as a Flash EPROM or an equivalent.
  • the PSD 100 may also comprise a user interface 106 with a switch so that a user can select an industry standard architecture suitable for a host system to which the user plans to connect the PSD 100.
  • the memory also stores software to suspend and resume the state of a computing session, and to boot host computers from a wired connection interface such as a USB or Firewire interface 102.
  • the PSD 100 is coupled to a host system 200 that operates according to a first industry standard architecture, such a personal computer built according to the IBM Personal Computer Standard.
  • the user boots the host system 200 from software (or firmware) in the PSD 100 appropriate for the first industry standard architecture.
  • the user then initiates a session in the host system 200, works on the host system, perhaps then suspends the computing state, and disconnects the PSD 100 from the host system 200.
  • the user travels to a different environment and connects the PSD 100 to a second host system 250 via a USB interface 252.
  • the second host system 250 operates according to a second industry standard architecture such as that of the Apple Macintosh TM.
  • the second host 250 boots from software in the PSD 100 suitable for the second industry standard architecture.
  • the attached PSD 100 has a small form factor such as the size of a deck of cards and is expected to become even smaller as technology advances.
  • the PSD 100 works with the already deployed and pervasive collection of personal computers, attaching to them over a fast local connection. Effectively, everything from the standard host processing system, such as its central processor unit, memory, display, network, possibly except its hard disk drive will be exploited. To be successful, the connection process should be quick and the portable device should be less onerous to maintain than a separate computer system or systems. The ideal solution should be very easy to use and should be able to resume computation at the same state where it was suspended.
  • the host system 200 is a personal computer that operates according to a first industry standard architecture (in this case, the IBM PC standard) . Therefore, the system 200 comprises a basic input/output system (BIOS) 206 according to the IBM Personal Computer standard.
  • the host system 200 also comprises a processor 202, a memory 204 a hard disk drive 208, and the I/O interface 212.
  • the second host system 250 includes similar components but operates under the Apple Macintosh architecture standard.
  • the PSD 100 carries multiple multi-layer stacks 300 and 301, one for each type of host architecture and a suspended state for each host system.
  • the first software stack 300 consists of three partition layers 312, 314, and 316.
  • Layer 312 includes the user files 308 and is common to both architecture types.
  • Layer 314 comprises the guest OS, applications, and executables 310 and a suspended runtime state 311 from prior session.
  • Layer 316 comprises an auto configuring host OS 302 and a virtual machine monitoring (VMM) layer 304.
  • VMM virtual machine monitoring
  • Stack 301 is adapted to operate under a different industry standard architecture.
  • the stack 300 operates according to the IBM PC standard and stack 301 according to the Macintosh standard.
  • the invention can be used with any two or more incompatible industry standard architectures. Therefore, the PSD 100 can carry any number of different industry standard stacks that fit in its storage.
  • the second stack 301 includes the partition 312 and a second partition 326 that contains: a virtual machine 322 comprising a guest operating system, applications executables 320 and a suspended state 321.
  • the stack 301 also includes a third layer 318 that includes an autoconfiguring host OS 303 for the Macintosh standard and a VMM layer 324.
  • Embodiments of the invention enable a usage model where a single device 100 carries software essential for multiple hardware architectures and enables a user to access his own computing state on those different architectures.
  • This structure enables a usage model where a single device carries "souls" for multiple hardware architectures and enables a user to access his or her own computing state on different architectures.
  • the PC boots from this portable device 100, starts up the host OS and VMM layers corresponding to the PC architecture and resumes a suspended guest OS state that accesses the partition corresponding to the user files when necessary.
  • the host OS and VMM partition corresponding to the Macintosh computer are used to boot the Macintosh computer using the stack 301 and resume a suspended Macintosh session which also accesses the user files from the same shared partition where the user files reside.
  • a user can work on a file on a PC and save it back to the user partition 312 and then may resume work on a Mac and edit the same file there using a Macintosh application that understands the same file format.
  • One problem that needs to be overcome to achieve this solution is to make sure that the host machine boots from the correct disk partition from the portable device 100.
  • a host system is trying to boot from external media, it goes to a specific place on the disk to fetch its boot loader or other initial code to execute. We need to make sure that the machine that is trying to boot gets the code appropriate for its architecture.
  • PCs go to the Master Boot Record of a disk to initiate the booting sequence and unless the master boot record has code suitable for the PC architecture, the PC cannot boot.
  • a switch 106 on the portable device 100 carrying the software stack 300, that selects the architecture before we attach it to a machine and try to boot it. Based on this switch 106, the PSD device 100 presents the appropriate host OS to the host machine that is seeking to boot. If the PSD 100 has its own native function and user interface it will be able to access files in partition 312 without having to connect to a host computer. See U. S. patent application YOR920050266US1, which is hereby incorporated by reference .
  • the hardware switch 106 can simply be a selection from a menu using the UI controls.
  • the user was editing a file from the shared user partition on one architecture, suspends that session, and resumes on a different architecture. If the edit session is suspended without saving the file, the partial edits generally will not be available when resuming on a different architecture. If the "auto save" function is turned on, then the partial edits may be periodically saved back to the user partition. In this case, the partial edits up until the last auto save point can be made available on the second architecture if the editor on the second architecture can process the partial edit file. Any state that was part of the editor process on the first architecture will not be available .
  • the PSD 100 carries images for two different architectures, but the model readily extends to more than two architectures.
  • storage density were to increase substantially, one could carry the PSD stack on a SD (secure digital) card with a couple of switch settings and insert the card into a PDA (personal digital assistant) or other portable device and resume one's appropriate suspended computing state on that device.
  • one of the host systems 200 or 250 could be a small form-factor device such as a PDA.
  • FIG. 4 a flowchart illustrates a computer-implemented method 400 according to another embodiment of the invention.
  • step 401 the user of the PSD 100 sets the switch 106 to a selected industry standard architecture.
  • a portable storage 100 device is connected to a host system 200.
  • Step 404 boots the autoconfiguring host operating system.
  • Step 406 starts the virtual machine layer.
  • Step 408 resumes operation of the suspended virtual machine layer session.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
PCT/EP2006/066990 2005-11-17 2006-10-03 Method and system for carrying multiple suspended runtime images Ceased WO2007057248A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008540543A JP5004963B2 (ja) 2005-11-17 2006-10-03 複数の中断された実行時イメージを伝達する方法及びシステム
CA2630282A CA2630282C (en) 2005-11-17 2006-10-03 Method and system for carrying multiple suspended runtime images
CN200680043149.1A CN101313277B (zh) 2005-11-17 2006-10-03 用于携带多个挂起的运行时映像的方法与系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/281,795 US7680643B2 (en) 2005-11-17 2005-11-17 Method for carrying multiple suspended runtime images
US11/281,795 2005-11-17

Publications (1)

Publication Number Publication Date
WO2007057248A1 true WO2007057248A1 (en) 2007-05-24

Family

ID=37546875

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/066990 Ceased WO2007057248A1 (en) 2005-11-17 2006-10-03 Method and system for carrying multiple suspended runtime images

Country Status (6)

Country Link
US (1) US7680643B2 (enExample)
JP (1) JP5004963B2 (enExample)
CN (1) CN101313277B (enExample)
CA (1) CA2630282C (enExample)
TW (1) TW200741549A (enExample)
WO (1) WO2007057248A1 (enExample)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010026730A (ja) * 2008-07-17 2010-02-04 I-O Data Device Inc 外部記憶装置、起動プログラム切替方法および起動プログラム切替プログラム
JP2011514992A (ja) * 2008-02-27 2011-05-12 サムスン エレクトロニクス カンパニー リミテッド 仮想化技術を利用したデータ入出力方法及び装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239544B2 (en) * 2005-06-17 2012-08-07 Microsoft Corporation Removable storage content transfer
US20090013171A1 (en) * 2006-03-02 2009-01-08 Oqo, Inc. Computer docking system using hardware abstraction
US7926054B2 (en) * 2006-03-03 2011-04-12 Novell, Inc. System, method, and computer-readable medium for virtual machine instantiation from an external peripheral device
EP2049990A2 (en) * 2006-07-25 2009-04-22 Nxp B.V. Mobile device comprising an operating system emulator
US8601470B2 (en) * 2007-01-05 2013-12-03 Moka5, Inc. Symbiotic smart peripherals
US8125986B2 (en) * 2007-01-19 2012-02-28 International Business Machines Corporation Method for enabling secure usage of computers using a mechanism lockdown
JP5433837B2 (ja) * 2007-12-05 2014-03-05 株式会社日立製作所 仮想計算機システム、仮想計算機の制御方法及びプログラム
US9164925B2 (en) * 2008-01-15 2015-10-20 Samsung Electronics Co., Ltd. Method and apparatus for authorizing host to access portable storage device
US20100228906A1 (en) * 2009-03-06 2010-09-09 Arunprasad Ramiya Mothilal Managing Data in a Non-Volatile Memory System
US8683088B2 (en) * 2009-08-06 2014-03-25 Imation Corp. Peripheral device data integrity
US8745365B2 (en) * 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
US20110113426A1 (en) * 2009-11-09 2011-05-12 Hsiang-Tsung Kung Apparatuses for switching the running of a virtual machine between multiple computer devices belonging to the same computer platform and the associated switching methods
US9693039B2 (en) * 2010-05-27 2017-06-27 Nintendo Co., Ltd. Hand-held electronic device
US9052965B2 (en) 2010-06-10 2015-06-09 Hewlett-Packard Development Company, L.P. Virtual machine for execution on multiple computing systems
EP3029592B1 (en) 2010-08-18 2018-07-25 Security First Corp. Systems and methods for securing virtual machine computing environments
US8849941B2 (en) * 2010-09-30 2014-09-30 Microsoft Corporation Virtual desktop configuration and operation techniques
TWI581109B (zh) * 2011-05-25 2017-05-01 威盛電子股份有限公司 電腦整合裝置、系統以及方法
AU2013243923A1 (en) * 2012-04-06 2014-10-30 Security First Corp. Systems and methods for securing and restoring virtual machines
CN106293877B (zh) * 2016-08-05 2020-03-03 苏州浪潮智能科技有限公司 一种虚拟机创建方法及系统
CN109791498A (zh) * 2016-10-06 2019-05-21 伟视达电子工贸有限公司 移动虚拟化
EP3603028B1 (en) 2017-03-28 2023-05-24 NetApp, Inc. Methods and systems for providing wake-on-demand access to session servers
KR102782803B1 (ko) * 2020-05-21 2025-03-19 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038932A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation System and method for portable running operating system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795966B1 (en) * 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
CA2430062A1 (en) * 2000-12-08 2002-07-18 Matsushita Electric Industrial Co., Ltd. Distribution device, terminal device, and program and method for use therein
JP2004005599A (ja) * 2003-04-18 2004-01-08 Optrom Inc 電子回路を有する記憶媒体及びそれを含むコンピュータシステム
US20050235045A1 (en) * 2004-03-05 2005-10-20 International Business Machines Corporation Portable personal computing environment server
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US7849462B2 (en) * 2005-01-07 2010-12-07 Microsoft Corporation Image server

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038932A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation System and method for portable running operating system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CACERES R ET AL: "Reincarnating PCs with portable SoulPads", PROCEEDINGS OF THE THIRD INTERNATIONAL CONFERENCE ON MOBILE SYSTEMS, APPLICATIONS, AND SERVICES (MOBISYS 2005) USENIX ASSOCIATION BERKELEY, CA, USA, June 2005 (2005-06-01), pages 65 - 78, XP002413100, ISBN: 1-931971-31-5 *
SCHWENZFEGER G: "Setting up a Dual Boot with Win XP and Linux using the GRUB Loader", INTERNET ARTICLE, 12 April 2002 (2002-04-12), pages 1 - 6, XP002413101, Retrieved from the Internet <URL:http://web.archive.org/web/20020901061652/http://devhood.com/tutorials/tutorial_details.aspx?tutorial_id=405> [retrieved on 20060103] *
WARRENE B: "Portable Linux Virtual Machines", INTERNET ARTICLE, 24 October 2004 (2004-10-24), pages 1 - 3, XP002413102, Retrieved from the Internet <URL:http://www.sitepoint.com/blogs/2004/10/24/portable-linux-virtual-machines/> [retrieved on 20070102] *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011514992A (ja) * 2008-02-27 2011-05-12 サムスン エレクトロニクス カンパニー リミテッド 仮想化技術を利用したデータ入出力方法及び装置
US8966142B2 (en) 2008-02-27 2015-02-24 Samsung Electronics Co., Ltd. Method and apparatus for inputting/outputting virtual operating system from removable storage device on a host using virtualization technique
US9164919B2 (en) 2008-02-27 2015-10-20 Samsung Electronics Co., Ltd. Method and apparatus for inputting/outputting virtual operating system from removable storage device on a host using virtualization technique
JP2010026730A (ja) * 2008-07-17 2010-02-04 I-O Data Device Inc 外部記憶装置、起動プログラム切替方法および起動プログラム切替プログラム

Also Published As

Publication number Publication date
CA2630282C (en) 2014-03-18
JP2009518703A (ja) 2009-05-07
CN101313277B (zh) 2012-07-25
CA2630282A1 (en) 2007-05-24
CN101313277A (zh) 2008-11-26
JP5004963B2 (ja) 2012-08-22
TW200741549A (en) 2007-11-01
US7680643B2 (en) 2010-03-16
US20070113228A1 (en) 2007-05-17

Similar Documents

Publication Publication Date Title
CA2630282C (en) Method and system for carrying multiple suspended runtime images
EP1924909B1 (en) Method and apparatus for quick resumption
CN102708064B (zh) 从休眠中多阶段恢复
CN101650660B (zh) 从中央存储装置引导计算机系统
US20050235045A1 (en) Portable personal computing environment server
US20060288168A1 (en) Transportable computing environment
US20050204013A1 (en) Portable personal computing environment technologies
JP2004310775A (ja) 同じものをロードするためのポータブルオペレーティングシステムおよび方法
WO2010096611A1 (en) Concurrent execution of a smartphone operating system and a desktop operating system
US20130007438A1 (en) Storage medium storing master boot record, computer system having the same and booting method of the computer system
CN102135893A (zh) 将操作系统集成到bios芯片及启动服务器上操作系统的方法
JP5951145B2 (ja) オペレーティングシステムリカバリー方法、装置、及び端末デバイス
CN101957769A (zh) Mid多操作系统并行方法
US6961848B2 (en) System and method for supporting legacy operating system booting in a legacy-free system
US8499142B1 (en) UEFI boot loader for loading non-UEFI compliant operating systems
US7480791B2 (en) Method and apparatus for quick resumption where the system may forego initialization of at least one memory range identified in the resume descriptor
CN102135923A (zh) 将操作系统集成到bios芯片的方法及启动该操作系统的方法
TWI263901B (en) Program initiation methods and embedded systems utilizing the same
EP1963966A1 (en) Method and apparatus for efficiently arranging portable executable (pe) images
CN102591691A (zh) 硬盘启动方法和基于bios的操作系统启动加载方法
CN201194106Y (zh) 计算机系统装置及移动储存装置
CN117785547A (zh) 备份和还原
CN201066506Y (zh) 可提高应用系统效能的读卡装置及应用系统
EP1914628A1 (en) Method for changing booting sources of computer system and related backup/restore method thereof
WO2006108148A2 (en) Transportable computing environment

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680043149.1

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2008540543

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2630282

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06806938

Country of ref document: EP

Kind code of ref document: A1