US9270339B2 - Method, apparatus and system of recovering an operating system on a portable communication device - Google Patents

Method, apparatus and system of recovering an operating system on a portable communication device Download PDF

Info

Publication number
US9270339B2
US9270339B2 US13/997,827 US201213997827A US9270339B2 US 9270339 B2 US9270339 B2 US 9270339B2 US 201213997827 A US201213997827 A US 201213997827A US 9270339 B2 US9270339 B2 US 9270339B2
Authority
US
United States
Prior art keywords
communication device
portable communication
operating system
high speed
near field
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.)
Expired - Fee Related, expires
Application number
US13/997,827
Other versions
US20140065958A1 (en
Inventor
Jiewen Yao
Chuan Song
Haili Zhang
Wenlong Yang
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SONG, CHUAN, Yang, Wenlong, YAO, JIEWEN, ZHANG, HAILI
Publication of US20140065958A1 publication Critical patent/US20140065958A1/en
Application granted granted Critical
Publication of US9270339B2 publication Critical patent/US9270339B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/72Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
    • H04B5/0031
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • H04M1/72525
    • H04M1/7253

Definitions

  • the portable communication device may be connected with a computer via a data line or a universal serial bus (USB) to copy an operating system image from the computer.
  • USB universal serial bus
  • the computer may online search and download the operating system image suitable for the portable communication device,
  • FIG. 1 illustrates an embodiment of a system for recovering an operating system.
  • FIG. 2 illustrates an embodiment of an environment for recovering the operating system, which is established by the system of FIG. 1 .
  • FIG. 3 illustrates an embodiment of a method of recovering the operating system.
  • references in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
  • Embodiments of the invention may be implemented in hardware, firmware, software, or any combination thereof.
  • Embodiments of the invention implemented in a computer system may include one or more bus-based interconnects between components and/or one or more point-to-point interconnects between components.
  • Embodiments of the invention may also be implemented as instructions carried by or stored on a transitory or non-transitory machine-readable (e.g., computer-readable) medium, which may be read and executed by one or more processors.
  • a machine-readable medium may be embodied as any device, mechanism, or physical structure for storing or transmitting information in a form readable by a machine (e.g., a computing device).
  • a machine-readable medium may be embodied as read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; mini- or micro-SD cards, memory sticks, electrical signals, and others.
  • schematic elements used to represent instruction blocks may be implemented using any suitable form of machine-readable instruction, such as software or firmware applications, programs, functions, modules, routines, processes, procedures, plug-ins, applets, widgets, code fragments and/or others, and that each such instruction may be implemented using any suitable programming language, library, application programming interface (API), and/or other software development tools.
  • API application programming interface
  • some embodiments may be implemented using Java, C++, and/or other programming languages.
  • schematic elements used to represent data or information may be implemented using any suitable electronic arrangement or structure, such as a register, data store, table, record, array, index, hash, map, tree, list, graph, file (of any file type), folder, directory, database, and/or others.
  • connecting elements such as solid or dashed lines or arrows
  • the absence of any such connecting elements is not meant to imply that no connection, relationship or association can exist.
  • some connections, relationships or associations between elements may not be shown in the drawings so as not to obscure the disclosure.
  • a single connecting element may be used to represent multiple connections, relationships or associations between elements.
  • a connecting element represents a communication of signals, data or instructions
  • such element may represent one or multiple signal paths (e.g., a bus), as may be needed, to effect the communication.
  • FIG. 1 illustrates an embodiment of a system 100 for recovering an operating system of a portable communication device 102 using an operating system image copied from another portable communication device 104 .
  • “recovering” may refer to reinstalling, refreshing, updating, or the similar.
  • the portable communication device 102 may include a processor 110 , an I/O subsystem 114 , a memory 116 , a data storage 118 , a communication circuitry 120 , and one or more peripheral devices 122 .
  • several of the foregoing components may be incorporated on a motherboard or main board of the portable communication device 102 , while other components may be communicatively coupled to the motherboard via, for example, a peripheral port.
  • the portable communication device 102 may include other components, sub-components, and devices commonly found in a communication and/or computing device, which are not illustrated in FIG. 1 for clarity of the description.
  • the processor 110 of the portable communication device 102 may be embodied as any type of processor capable of executing software/firmware, such as a microprocessor, digital signal processor, microcontroller, or the like.
  • the processor 110 is illustratively embodied as a single core processor having a processor core 112 . However, in other embodiments, the processor 110 may be embodied as a multi-core processor having multiple processor cores 112 . Additionally, the portable communication device 102 may include additional processors 110 having one or more processor cores 112 .
  • the I/O subsystem 114 of the portable communication device 102 may be embodied as circuitry and/or components to facilitate input/output operations with the processor 110 and/or other components of the portable communication device 102 .
  • the I/O subsystem 114 may be embodied as a memory controller hub (MCH or “northbridge”), an input/output controller hub (ICH or “southbridge”) or platform controller hub (PCH), and a firmware device.
  • the firmware device of the I/O subsystem 114 may be embodied as a memory device for storing Basic Input/Output System (BIOS) data and/or instructions and/or other information (e.g., a BIOS driver used during hooting of the portable communication device 102 ).
  • BIOS Basic Input/Output System
  • I/O subsystems having other configurations may be used.
  • the I/O subsystem 114 may be embodied as a platform controller hub (PCH).
  • the memory controller hub (MCH) may be incorporated in or otherwise associated with the processor 110 , and the processor 110 may communicate directly with the memory 116 (as shown by the dashed line in FIG. 1 ).
  • the I/O subsystem 114 may form a portion of a system-on-a-chip (SoC) and be incorporated, along with the processor 110 and other components of the portable communication device 102 , on a single integrated circuit chip.
  • SoC system-on-a-chip
  • the processor 110 is communicatively coupled to the I/O subsystem 114 via a number of signal paths.
  • These signal paths may be embodied as any type of signal paths capable of facilitating communication between the components of the portable communication device 102 .
  • the signal paths may be embodied as any number of point-to-point links, wires, cables, light guides, printed circuit hoard traces, vias, bus, intervening devices, and/or the like.
  • the memory 116 of the portable communication device 102 may be embodied as or otherwise include one or more memory devices or data storage locations including, for example, dynamic random access memory devices (DRAM), synchronous dynamic random access memory devices (SDRAM), double-data rate synchronous dynamic random access memory device (DDR SDRAM), mask read-only memory (ROM) devices, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) devices, flash memory devices, and/or other volatile and/or non-volatile memory devices.
  • the memory 116 is communicatively coupled to the I/O subsystem 114 via a number of signal paths. Although only a single memory device 116 is illustrated in FIG. 1 , the portable communication device 102 may include additional memory devices in other embodiments.
  • Various data and software may be stored in the memory 116 . For example, one or more operating systems, applications, programs, libraries, and drivers that make up the software stack executed by the processor 110 may reside in memory 116 during execution.
  • the data storage 118 may be embodied as any type of device or devices configured for the short-term or long-term storage of data.
  • the data storage 118 may include any one or more memory devices and circuits, memory cards, hard disk drives, solid-state drives, or other data storage devices
  • the communication circuitry 120 of the portable communication device 102 may include any number of devices and circuitry for enabling communications between the portable communication device 102 and one or more devices or networks as discussed in more detail below.
  • the communication circuitry 120 may be configured to use any one or more, or combination thereof, communication protocols to communicate, such as, for example, a cellular communication protocol Wideband Code Division Multiple Access (W-CDMA)), a wireless network communication protocol (e.g., Wi-Fi®, WiMAX), a wireless personal area network communication protocol (e.g., Bluetooth®), a wired network communication protocol (e.g., TCP/IP), and/or other communication protocols.
  • W-CDMA Wideband Code Division Multiple Access
  • Wi-Fi® Wireless Fidelity
  • WiMAX wireless personal area network communication protocol
  • Bluetooth® wireless personal area network communication protocol
  • a wired network communication protocol e.g., TCP/IP
  • the portable communication device 102 may also include one or more peripheral devices 122 .
  • peripheral devices 122 may include any number of additional input/output devices, interface devices, and/or other peripheral devices.
  • the peripheral devices 122 may include a display, touch screen, graphics circuitry, keyboard, speaker system, and/or other input/output devices, interface devices, and/or peripheral devices.
  • the portable communication device 104 may be substantially similar to the portable communication device 102 and include similar components, which have been identified in FIG. 1 with a common reference numbering scheme, including a processor 150 , a processor core 152 , a 110 subsystem 154 , a memory 156 , a data storage 158 , a communication circuitry 160 and one or more peripheral devices 162 .
  • the description provided above of the components of the portable communication device 102 is equally applicable to those similar components of the portable communication device 104 and is not repeated herein so as not to obscure the present disclosure.
  • the portable communication devices 102 , 104 of the system 100 may be dissimilar to each other.
  • the portable communication devices of the system 100 may be embodied as various types of communication devices different from each other (e.g., a tablet, a smart phone, or other communication device) and include components typically found in such corresponding communication devices.
  • Each of the portable communication devices 102 , 104 of the system 100 may be embodied as any type of communication device capable of performing the functions described herein.
  • each of the portable communication devices 102 , 104 may be embodied as, without limitation, a smart phone, a cellular telephone, a handset, a messaging device, a tablet, a consumer electronic device, and/or any other portable communication device configured to recovering the operating system.
  • FIG. 2 illustrates an embodiment of an environment 200 for recovering the operating system, which is established by the system of FIG. 1 .
  • the environment 200 may comprise a recovery agent 205 residing in a firmware 203 of the portable communication device 102 , which may communicate with a recovery agent 215 residing in an operating system 212 of the portable communication device 104 , to recover an operating system 202 in the portable communication device 102 , in response that a system detection module 204 residing in the firmware 203 detects that the operating system 202 is crashed.
  • the system detection module 204 may detect a system of the portable communication device 102 during a system boot process, including detecting whether the operating system 202 is crashed, e.g., because of a malicious attack to the portable communication device 102 . If the operating system 202 is crashed, the system detection module 204 may send a recovery request to the recovery agent 205 .
  • the system detection module 204 may report to a user of the portable communication device 102 , who may request the recovery, e.g., through pressing a key.
  • the recovery agent 205 may comprise a near field communication (NFC) module 206 a high speed wireless communication module 207 , a recovery manager 208 and a read/write module 209 .
  • the recovery agent 215 may comprise a near field communication (NFC) module 216 , a high speed wireless communication module 217 , a recovery manager 218 and a read/write module 219 .
  • the NFC module 206 may detect whether the portable communication device 104 exists, connect the portable communication device 102 with the portable communication device 104 and obtain a network address of the portable communication device 104 , based on NFC technologies.
  • the recovery manager 208 may initiate a session with the recovery manager 218 .
  • the recovery manager 208 may coordinate the NFC module 206 to send a request of connection and receive a response to the request from/to the recovery manager 218 of the portable communication device 104 .
  • the NFC module 206 may disconnect the NFC connection with the portable communication device 104 .
  • the high speed wireless communication module 207 may then connect the portable communication device 102 with the portable communication device 104 , based on a high speed wireless communication technology, such as Bluetooth or WiFi.
  • the high speed wireless communication module 207 may complete the connection using the network address obtained from the NFC module.
  • the recovery manager 208 may continue the session with the recovery manager 218 to copy an operating, system image from the portable communication device 104 using the read/write module 209 .
  • the operating system image may include the operating system 212 of the portable communication device 104 , except for any data or codes desired to keep secret from the portable communication device 102 , such as private data.
  • the operating system image may be obtained from a third party, e.g., an online source, and pre-stored in the portable communication device 104 .
  • the operating system image may be copied from the portable communication device 102 before the operating system 202 is crashed.
  • the NFC module 216 may detect whether the portable communication device 102 exists, connect the portable communication device 104 with the portable communication device 102 , and obtain a network address of the portable communication device 102 , based on the NFC technology.
  • the recovery manager 218 may initiate a session with the recovery manager 208 of the portable communication device 102 .
  • the recovery manager 218 may coordinate the NFC module 216 to receive a request of connection and send a response to the request from/to the recovery manager 208 of the portable communication device 104 .
  • the NFC module 216 may disconnect the NFC link with the portable communication device 102 .
  • the high speed wireless communication module 217 may then connect the portable communication device 104 with the portable communication device 102 , based on a high speed wireless communication technology, such as Bluetooth or WiFi.
  • the high speed wireless communication module 217 may complete the connection using the network address obtained by the NFC module.
  • the recovery manager 218 may continue the session with the recovery manager 208 to obtain the operating system image using the read/write module 219 and send the operating system image to the portable communication device 102 .
  • the portable communication device 102 may further install various applications running over the operating system 202 .
  • the portable communication device 104 may further install a firmware 213 running under the operating system 212 and various applications 211 running over the operating system 212 .
  • the various modules of the environment 200 may be embodied as hardware, software, firmware or a combination thereof.
  • any of the above-stated modules may be embodied as software/firmware instructions stored in a machine-readable medium of the portable communication device 102 or the portable communication device 104 .
  • the portable communication device 102 may recover the operating system from another portable communication device without the need of a wired connection, such as a data line or a USB.
  • a wireless connection can be used to recover the operating system from a reliable source, namely, the portable communication device 104 , which the user of the portable communication device 102 trusts and runs the operating system that may be suitable for the portable communication device 102 as well.
  • the portable communication devices 102 and 104 obtain each other's network address and initiate the session via the NFC connection, it avoids broadcasting under other wireless communication schemes to obtain the targeted network addresses, and thus enhances security for the later operating system image transmission.
  • FIG. 3 illustrates an embodiment of a method of recovering the operating system.
  • the method on the left is implemented by the portable communication device 102
  • the method on the right is implemented by the portable communication device 104 .
  • the system detection module 204 may check hardware and software of the system. If, in block 302 , the system detection module 204 detects that the operating system 202 is crashed before being loaded into a memory of the portable communication device 102 , then in blocks 303 - 304 , the portable communication device 102 may display the information about the operating system being crashed on its screen and detect whether the user presses a key to request the operating system recovery. If the user presses the key, then in block 305 , the NFC module 206 or other device may detect whether the portable communication device 104 having a good operating system image suitable for the portable communication device 102 exists within a NFC communication distance.
  • the recovery manager 208 or other device may initiate a session with the recovery manager 218 or other device, in block 306 .
  • the recovery manager 208 may coordinate the NFC module 206 to connect with the portable communication device 104 and obtain the network address of the portable communication device 104 , based on the NFC technologies.
  • the NFC module 206 may disconnect the NFC connection with the portable communication device 104 .
  • the recovery manager 208 or other device may coordinate the high speed wireless communication module 207 or other device to connect the portable communication device 102 with the portable communication device 104 , based on a high speed wireless communication technology, such as Bluetooth or WiFi.
  • the high speed wireless communication module 207 may complete the connection using the network address obtained from the NFC module.
  • the recovery manager 208 or other device may continue the session with the recovery manager 218 and send a request of copying the operating system image to the portable communication device 104 .
  • Examples of the operating system image may include the operating system 212 of the portable communication device 104 , except for any data or codes desired to keep secret from the portable communication device 102 , e.g., private data.
  • the operating system image may be obtained from a third party, e.g., an online source, and pre-stored in the portable communication device 104 .
  • the operating system image may be copied from the portable communication device 102 before the operating system 202 is crashed.
  • the recovery manager 208 or other device may receive the operating system image from the portable communication device 104 , and install the operating system image onto the firmware 203 using the read/write module 209 or other device.
  • the portable communication device 102 may reboot and load the operating system image to the memory.
  • the NFC module 216 or other device may detect whether the portable communication device 102 exists within a NFC communication distance.
  • the recovery manager 218 or other device may initiate a session with the recovery manager 208 or other device, in block 321 .
  • the recovery manager 208 may coordinate the NFC module 206 to connect with the portable communication device 102 and obtain the network address of the portable communication device 102 , based on the NFC technologies.
  • the NFC module 216 may disconnect the NFC connection with the portable communication device 102 .
  • the high speed wireless communication module 217 or other device may connect the portable communication device 104 with the portable communication device 102 , based on a high speed wireless communication technology, such as Bluetooth or WiFi.
  • the high speed wireless communication module 217 may complete the connection using the network address obtained from the NFC module 216 .
  • the recovery manager 18 or other device may continue the session with the recovery manager 208 and receive a request of copying the operating system image from the portable communication device 102 .
  • Examples of the operating system image may include the operating system 212 , except for any data or codes desired to keep secret from the portable communication device 102 , e.g., the private data.
  • the operating system image may be obtained from a third party, e.g., an online source, and pre-stored in the portable communication device 104 .
  • the operating system image may be copied from the portable communication device 102 before the operating system 202 is crashed.
  • the recovery manager 218 or other device may obtain the operating system image using the read/write module 219 , and send the operating system image to the portable communication device 102 .
  • the process of displaying the operating system being crashed on the screen and waiting for the user to press the key may be omitted.
  • the system detection module 204 detects that the operating system 202 is crashed, the system detection module 204 or other device may send the recovery agent 205 with the request of recovering the operating system, in response to which, the recovery agent 205 can start connecting with the portable communication device 104 and recover the operating system.
  • the portable communication device 102 may recover the operating system, even if the operating system 202 hasn't been crashed. For example, during the system boot process, the user may initiatively request the operating system recovery (e.g., through pressing a special key), rather than requesting the recovery after receiving the notification of the operating system being crashed.
  • An embodiment of the devices, systems, and methods disclosed herein are provided below.
  • An embodiment of the devices, systems, and methods may include any one or more, and any combination of, the examples described below.
  • a portable communication device may comprise a near field communication module; a high speed wireless communication module; and a recovery manager to initiate a session between the portable communication device and another portable communication device through a near field communication connection established by the near field communication module, continue the session to receive an operating system image from the another portable communication device through a high speed wireless connection established by the high speed wireless communication module and recover an operating system of the portable communication device with use of the operating system image.
  • the near field communication module, the high speed communication module and the recovery manager may be stored in a firmware of the portable communication device. Additionally, in any of the above examples, the near field communication module may be further to obtain an address of the another portable communication device during the session through the near field communication connection; and the high speed wireless communication module may be further to utilize the address to establish the high speed wireless connection with the another portable communication device.
  • the recovery manager may be further to initiate the session in response that a user of the portable communication device presses a key to request recovering the operating system. Additionally, in any of the above examples, the recovery manager may be further to recover the operating system through storing the operating system image in the firmware and rebooting the portable communication device. Additionally, in any of the above examples, the high speed wireless connection may be Bluetooth or Wi-Fi connection. Additionally, in any of the above examples, the portable communication device and the another portable communication device may be smart phones.
  • a method operated by a portable communication device may comprise initiating, by a recovery manager, a session between the portable communication device and another portable communication device through a near field communication connection established by a near field communication module; and continuing, by the recovery manager, the session to receive an operating system image from the another portable communication device through a high speed wireless connection established by a high speed wireless communication module; and recovering, by the recovery manager, an operating system of the portable communication device with use of the operating system image, wherein the near field communication module, the high speed communication module and the recovery manager may be stored in a firmware of the portable communication device.
  • the method may further comprise obtaining, by the near field communication module, an address of the another portable communication device during the session through the near field communication connection; and utilizing, by the high speed wireless communication module, the address to establishing the high speed wireless connection with the another portable communication device.
  • the operating system image is received from another recovery manager stored in another operating system of the another portable communication device. Additionally, in any of the above examples, the initiating the session comprises initiating the session further in response that an user of the portable communication device presses a key to request recovering the operating system.
  • the recovering the operating system further comprises storing the operating system image in the firmware; and rebooting the portable communication device.
  • the high speed wireless connection is Bluetooth or Wi-Fi communication.
  • the portable communication device and the another portable communication device are smart phones.
  • a portable communication device may comprise a near field communication module; a high speed wireless communication module; and a recovery manager to initiate a session between the portable communication device with another portable communication device through a near field communication connection established by the near field communication module; and continue the session to send an operating system image to the another portable communication device through a high speed wireless connection established by the high speed wireless communication module, in response to a request from another recovery manager stored in a firmware of the another portable communication device
  • the near field communication module, the high speed communication module and recovery manager may be stored in an operating system of the portable communication device. Additionally, in any of the above examples, the near field communication module may be further to obtain an address of the another portable communication device during the session through the near field communication connection, and the high speed wireless communication module may be further to utilize the address to establish the high speed wireless connection with the another portable communication device.
  • the high speed wireless connection is Bluetooth or Wi-Fi communication.
  • the portable communication device and the another portable communication device are smart phones.
  • a method operated by a portable communication device may comprise initiating, by a recovery manager, a session between the portable communication device with another portable communication device through a near field communication connection established by a near field communication module; and continuing, by the recovery manager, the session to send an operating system image to the another portable communication device through a high speed wireless connection established by a high speed wireless communication module, in response to a request from another recovery manager stored in a firmware of the another portable communication device, wherein the near field communication module, the high speed communication module and the recovery manager may be stored in an operating system of the portable communication device.
  • the method may further comprise obtaining, by the near field communication module, an address of the another portable communication device during the session through the near field communication connection; and utilizing, by the high speed wireless communication module, the address to establish the high speed wireless connection with the another portable communication device.
  • the high speed wireless connection is Bluetooth or communication.
  • the portable communication device and the another portable communication device are smart phones.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)

Abstract

A device, method and system for recovering an operating system may comprise a near field communication module; a high speed wireless communication module; and a recovery manager. In some embodiments, the recovery manager may initiate a session between a portable communication device and another portable communication device through a near field communication connection established by the near field communication module; continue the session to receive an operating system image from the another portable communication device through a high speed wireless connection established by the high speed wireless communication module; and recover the operating system of the portable communication device with use of the operating system image.

Description

BACKGROUND
With prevailing of portable communication devices, such as smart phones and tablets, more and more people worry about security for operating systems of the portable communication devices. In current practices, when an operating system of a portable communication device is crashed, the portable communication device may be connected with a computer via a data line or a universal serial bus (USB) to copy an operating system image from the computer. Usually, before the copying, the computer may online search and download the operating system image suitable for the portable communication device,
BRIEF DESCRIPTION OF THE DRAWINGS
The invention described herein is illustrated by way of example and not by way of limitation in the accompanying figures. For simplicity and clarity of illustration, elements illustrated in the figures are not necessarily drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference labels have been repeated among the figures to indicate corresponding or analogous elements.
FIG. 1 illustrates an embodiment of a system for recovering an operating system.
FIG. 2 illustrates an embodiment of an environment for recovering the operating system, which is established by the system of FIG. 1.
FIG. 3 illustrates an embodiment of a method of recovering the operating system.
DETAILED DESCRIPTION
While the concepts of the present disclosure are susceptible to various modifications and alternative forms, specific exemplary embodiments thereof have been shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the concepts of the present disclosure to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives consistent with the present disclosure and the appended claims.
In the following description, numerous specific details such as logic implementations, opcodes, means to specify operands, resource partitioning/sharing/duplication implementations, types and interrelationships of system components, and logic partitioning/integration choices are set forth in order to provide a more thorough understanding of the present disclosure. It will be appreciated, however, by one skilled in the art that embodiments of the disclosure may be practiced without such specific details. In other instances, control structures, gate level circuits and full software instruction sequences have not been shown in detail in order not to obscure the invention. Those of ordinary skill in the art, with the included descriptions, will be able to implement appropriate functionality without undue experimentation.
References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Embodiments of the invention may be implemented in hardware, firmware, software, or any combination thereof. Embodiments of the invention implemented in a computer system may include one or more bus-based interconnects between components and/or one or more point-to-point interconnects between components. Embodiments of the invention may also be implemented as instructions carried by or stored on a transitory or non-transitory machine-readable (e.g., computer-readable) medium, which may be read and executed by one or more processors. A machine-readable medium may be embodied as any device, mechanism, or physical structure for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a machine-readable medium may be embodied as read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; mini- or micro-SD cards, memory sticks, electrical signals, and others.
In the drawings, specific arrangements or orderings of schematic elements, such as those representing devices, modules, instruction blocks, and data elements, may be shown for ease of description. However, it should be understood by those skilled in the art that the specific ordering or arrangement of the schematic elements in the drawings is not meant to imply that a particular order or sequence of processing, or separation of processes, is required. Further, the inclusion of a schematic element in a drawing is not meant to imply that such element is required in all embodiments or that the features represented by such element may not be included in or combined with other elements in some embodiments.
In general, schematic elements used to represent instruction blocks may be implemented using any suitable form of machine-readable instruction, such as software or firmware applications, programs, functions, modules, routines, processes, procedures, plug-ins, applets, widgets, code fragments and/or others, and that each such instruction may be implemented using any suitable programming language, library, application programming interface (API), and/or other software development tools. For example, some embodiments may be implemented using Java, C++, and/or other programming languages. Similarly, schematic elements used to represent data or information may be implemented using any suitable electronic arrangement or structure, such as a register, data store, table, record, array, index, hash, map, tree, list, graph, file (of any file type), folder, directory, database, and/or others.
Further, in the drawings, where connecting elements, such as solid or dashed lines or arrows, are used to illustrate a connection, relationship or association between or among two or more other schematic elements, the absence of any such connecting elements is not meant to imply that no connection, relationship or association can exist. In other words, some connections, relationships or associations between elements may not be shown in the drawings so as not to obscure the disclosure. In addition, for ease of illustration, a single connecting element may be used to represent multiple connections, relationships or associations between elements. For example, where a connecting element represents a communication of signals, data or instructions, it should be understood by those skilled in the art that such element may represent one or multiple signal paths (e.g., a bus), as may be needed, to effect the communication.
FIG. 1 illustrates an embodiment of a system 100 for recovering an operating system of a portable communication device 102 using an operating system image copied from another portable communication device 104. Here, “recovering” may refer to reinstalling, refreshing, updating, or the similar. The portable communication device 102 may include a processor 110, an I/O subsystem 114, a memory 116, a data storage 118, a communication circuitry 120, and one or more peripheral devices 122. In some embodiments, several of the foregoing components may be incorporated on a motherboard or main board of the portable communication device 102, while other components may be communicatively coupled to the motherboard via, for example, a peripheral port. Furthermore, it should be appreciated that the portable communication device 102 may include other components, sub-components, and devices commonly found in a communication and/or computing device, which are not illustrated in FIG. 1 for clarity of the description.
The processor 110 of the portable communication device 102 may be embodied as any type of processor capable of executing software/firmware, such as a microprocessor, digital signal processor, microcontroller, or the like. The processor 110 is illustratively embodied as a single core processor having a processor core 112. However, in other embodiments, the processor 110 may be embodied as a multi-core processor having multiple processor cores 112. Additionally, the portable communication device 102 may include additional processors 110 having one or more processor cores 112.
The I/O subsystem 114 of the portable communication device 102 may be embodied as circuitry and/or components to facilitate input/output operations with the processor 110 and/or other components of the portable communication device 102. In some embodiments, the I/O subsystem 114 may be embodied as a memory controller hub (MCH or “northbridge”), an input/output controller hub (ICH or “southbridge”) or platform controller hub (PCH), and a firmware device. In such embodiments, the firmware device of the I/O subsystem 114 may be embodied as a memory device for storing Basic Input/Output System (BIOS) data and/or instructions and/or other information (e.g., a BIOS driver used during hooting of the portable communication device 102). However, in other embodiments, I/O subsystems having other configurations may be used. For example, in some embodiments, the I/O subsystem 114 may be embodied as a platform controller hub (PCH). In such embodiments, the memory controller hub (MCH) may be incorporated in or otherwise associated with the processor 110, and the processor 110 may communicate directly with the memory 116 (as shown by the dashed line in FIG. 1). Additionally, in other embodiments, the I/O subsystem 114 may form a portion of a system-on-a-chip (SoC) and be incorporated, along with the processor 110 and other components of the portable communication device 102, on a single integrated circuit chip.
The processor 110 is communicatively coupled to the I/O subsystem 114 via a number of signal paths. These signal paths (and other signal paths illustrated in FIG. 1) may be embodied as any type of signal paths capable of facilitating communication between the components of the portable communication device 102. For example, the signal paths may be embodied as any number of point-to-point links, wires, cables, light guides, printed circuit hoard traces, vias, bus, intervening devices, and/or the like.
The memory 116 of the portable communication device 102 may be embodied as or otherwise include one or more memory devices or data storage locations including, for example, dynamic random access memory devices (DRAM), synchronous dynamic random access memory devices (SDRAM), double-data rate synchronous dynamic random access memory device (DDR SDRAM), mask read-only memory (ROM) devices, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) devices, flash memory devices, and/or other volatile and/or non-volatile memory devices. The memory 116 is communicatively coupled to the I/O subsystem 114 via a number of signal paths. Although only a single memory device 116 is illustrated in FIG. 1, the portable communication device 102 may include additional memory devices in other embodiments. Various data and software may be stored in the memory 116. For example, one or more operating systems, applications, programs, libraries, and drivers that make up the software stack executed by the processor 110 may reside in memory 116 during execution.
The data storage 118 may be embodied as any type of device or devices configured for the short-term or long-term storage of data. For example, the data storage 118 may include any one or more memory devices and circuits, memory cards, hard disk drives, solid-state drives, or other data storage devices
The communication circuitry 120 of the portable communication device 102 may include any number of devices and circuitry for enabling communications between the portable communication device 102 and one or more devices or networks as discussed in more detail below. The communication circuitry 120 may be configured to use any one or more, or combination thereof, communication protocols to communicate, such as, for example, a cellular communication protocol Wideband Code Division Multiple Access (W-CDMA)), a wireless network communication protocol (e.g., Wi-Fi®, WiMAX), a wireless personal area network communication protocol (e.g., Bluetooth®), a wired network communication protocol (e.g., TCP/IP), and/or other communication protocols.
In some embodiments, the portable communication device 102 may also include one or more peripheral devices 122. Such peripheral devices 122 may include any number of additional input/output devices, interface devices, and/or other peripheral devices. For example, in some embodiments, the peripheral devices 122 may include a display, touch screen, graphics circuitry, keyboard, speaker system, and/or other input/output devices, interface devices, and/or peripheral devices.
The portable communication device 104 may be substantially similar to the portable communication device 102 and include similar components, which have been identified in FIG. 1 with a common reference numbering scheme, including a processor 150, a processor core 152, a 110 subsystem 154, a memory 156, a data storage 158, a communication circuitry 160 and one or more peripheral devices 162. As such, the description provided above of the components of the portable communication device 102 is equally applicable to those similar components of the portable communication device 104 and is not repeated herein so as not to obscure the present disclosure. Of course, it should be appreciated that in some embodiments the portable communication devices 102, 104 of the system 100 may be dissimilar to each other. For example, the portable communication devices of the system 100 may be embodied as various types of communication devices different from each other (e.g., a tablet, a smart phone, or other communication device) and include components typically found in such corresponding communication devices.
Each of the portable communication devices 102, 104 of the system 100 may be embodied as any type of communication device capable of performing the functions described herein. For example, each of the portable communication devices 102, 104 may be embodied as, without limitation, a smart phone, a cellular telephone, a handset, a messaging device, a tablet, a consumer electronic device, and/or any other portable communication device configured to recovering the operating system.
FIG. 2 illustrates an embodiment of an environment 200 for recovering the operating system, which is established by the system of FIG. 1. In an embodiment, the environment 200 may comprise a recovery agent 205 residing in a firmware 203 of the portable communication device 102, which may communicate with a recovery agent 215 residing in an operating system 212 of the portable communication device 104, to recover an operating system 202 in the portable communication device 102, in response that a system detection module 204 residing in the firmware 203 detects that the operating system 202 is crashed.
In an embodiment, the system detection module 204 may detect a system of the portable communication device 102 during a system boot process, including detecting whether the operating system 202 is crashed, e.g., because of a malicious attack to the portable communication device 102. If the operating system 202 is crashed, the system detection module 204 may send a recovery request to the recovery agent 205. However, it should be understood that other embodiments may implement other technologies for the recovery request. For example, the system detection module 204 may report to a user of the portable communication device 102, who may request the recovery, e.g., through pressing a key.
In an embodiment, the recovery agent 205 may comprise a near field communication (NFC) module 206 a high speed wireless communication module 207, a recovery manager 208 and a read/write module 209. The recovery agent 215 may comprise a near field communication (NFC) module 216, a high speed wireless communication module 217, a recovery manager 218 and a read/write module 219.
In an embodiment, the NFC module 206 may detect whether the portable communication device 104 exists, connect the portable communication device 102 with the portable communication device 104 and obtain a network address of the portable communication device 104, based on NFC technologies. In response to detecting the existence of the portable communication device 104, the recovery manager 208 may initiate a session with the recovery manager 218. For example, the recovery manager 208 may coordinate the NFC module 206 to send a request of connection and receive a response to the request from/to the recovery manager 218 of the portable communication device 104.
In an embodiment, after the session is initiated, the NFC module 206 may disconnect the NFC connection with the portable communication device 104. The high speed wireless communication module 207 may then connect the portable communication device 102 with the portable communication device 104, based on a high speed wireless communication technology, such as Bluetooth or WiFi. The high speed wireless communication module 207 may complete the connection using the network address obtained from the NFC module.
Through the high speed wireless connection, the recovery manager 208 may continue the session with the recovery manager 218 to copy an operating, system image from the portable communication device 104 using the read/write module 209. Examples of the operating system image may include the operating system 212 of the portable communication device 104, except for any data or codes desired to keep secret from the portable communication device 102, such as private data. In another embodiment, the operating system image may be obtained from a third party, e.g., an online source, and pre-stored in the portable communication device 104. In yet another embodiment, the operating system image may be copied from the portable communication device 102 before the operating system 202 is crashed.
In an embodiment, the NFC module 216 may detect whether the portable communication device 102 exists, connect the portable communication device 104 with the portable communication device 102, and obtain a network address of the portable communication device 102, based on the NFC technology. In response to detecting the existence of the portable communication device 102, the recovery manager 218 may initiate a session with the recovery manager 208 of the portable communication device 102. For example, the recovery manager 218 may coordinate the NFC module 216 to receive a request of connection and send a response to the request from/to the recovery manager 208 of the portable communication device 104.
In an embodiment, after the session is initiated, the NFC module 216 may disconnect the NFC link with the portable communication device 102. The high speed wireless communication module 217 may then connect the portable communication device 104 with the portable communication device 102, based on a high speed wireless communication technology, such as Bluetooth or WiFi. The high speed wireless communication module 217 may complete the connection using the network address obtained by the NFC module.
Through the high speed wireless connection, the recovery manager 218 may continue the session with the recovery manager 208 to obtain the operating system image using the read/write module 219 and send the operating system image to the portable communication device 102.
As illustrated in FIG. 2, the portable communication device 102 may further install various applications running over the operating system 202. Similarly, the portable communication device 104 may further install a firmware 213 running under the operating system 212 and various applications 211 running over the operating system 212.
In some embodiments, the various modules of the environment 200 may be embodied as hardware, software, firmware or a combination thereof. For example, any of the above-stated modules may be embodied as software/firmware instructions stored in a machine-readable medium of the portable communication device 102 or the portable communication device 104.
With the above solution, the portable communication device 102 may recover the operating system from another portable communication device without the need of a wired connection, such as a data line or a USB. On the contrary, a wireless connection can be used to recover the operating system from a reliable source, namely, the portable communication device 104, which the user of the portable communication device 102 trusts and runs the operating system that may be suitable for the portable communication device 102 as well. In addition, since the portable communication devices 102 and 104 obtain each other's network address and initiate the session via the NFC connection, it avoids broadcasting under other wireless communication schemes to obtain the targeted network addresses, and thus enhances security for the later operating system image transmission.
FIG. 3 illustrates an embodiment of a method of recovering the operating system. The method on the left is implemented by the portable communication device 102, while the method on the right is implemented by the portable communication device 104.
Referring to the method on the left, in block 301, when booting the system of the portable communication device 102, the system detection module 204 may check hardware and software of the system. If, in block 302, the system detection module 204 detects that the operating system 202 is crashed before being loaded into a memory of the portable communication device 102, then in blocks 303-304, the portable communication device 102 may display the information about the operating system being crashed on its screen and detect whether the user presses a key to request the operating system recovery. If the user presses the key, then in block 305, the NFC module 206 or other device may detect whether the portable communication device 104 having a good operating system image suitable for the portable communication device 102 exists within a NFC communication distance. In response to detecting the existence of the portable communication device 104, the recovery manager 208 or other device may initiate a session with the recovery manager 218 or other device, in block 306. For example, the recovery manager 208 may coordinate the NFC module 206 to connect with the portable communication device 104 and obtain the network address of the portable communication device 104, based on the NFC technologies. In an embodiment, after the session is initiated, the NFC module 206 may disconnect the NFC connection with the portable communication device 104.
Then, in block 307, the recovery manager 208 or other device may coordinate the high speed wireless communication module 207 or other device to connect the portable communication device 102 with the portable communication device 104, based on a high speed wireless communication technology, such as Bluetooth or WiFi. The high speed wireless communication module 207 may complete the connection using the network address obtained from the NFC module. In block 308, the recovery manager 208 or other device may continue the session with the recovery manager 218 and send a request of copying the operating system image to the portable communication device 104. Examples of the operating system image may include the operating system 212 of the portable communication device 104, except for any data or codes desired to keep secret from the portable communication device 102, e.g., private data. In an embodiment, the operating system image may be obtained from a third party, e.g., an online source, and pre-stored in the portable communication device 104. In yet another embodiment, the operating system image may be copied from the portable communication device 102 before the operating system 202 is crashed.
In blocks 309-310, the recovery manager 208 or other device may receive the operating system image from the portable communication device 104, and install the operating system image onto the firmware 203 using the read/write module 209 or other device. In block 311, the portable communication device 102 may reboot and load the operating system image to the memory.
Referring now to the method on the right, in block 320, the NFC module 216 or other device may detect whether the portable communication device 102 exists within a NFC communication distance. In response to detecting the existence of the portable communication device 102, the recovery manager 218 or other device may initiate a session with the recovery manager 208 or other device, in block 321. For example, the recovery manager 208 may coordinate the NFC module 206 to connect with the portable communication device 102 and obtain the network address of the portable communication device 102, based on the NFC technologies. In an embodiment, after the session is initiated, the NFC module 216 may disconnect the NFC connection with the portable communication device 102.
Then, in block 322, the high speed wireless communication module 217 or other device may connect the portable communication device 104 with the portable communication device 102, based on a high speed wireless communication technology, such as Bluetooth or WiFi. The high speed wireless communication module 217 may complete the connection using the network address obtained from the NFC module 216. In block 323, the recovery manager 18 or other device may continue the session with the recovery manager 208 and receive a request of copying the operating system image from the portable communication device 102. Examples of the operating system image may include the operating system 212, except for any data or codes desired to keep secret from the portable communication device 102, e.g., the private data. In another embodiment, the operating system image may be obtained from a third party, e.g., an online source, and pre-stored in the portable communication device 104. In yet another embodiment, the operating system image may be copied from the portable communication device 102 before the operating system 202 is crashed. In block 324, the recovery manager 218 or other device may obtain the operating system image using the read/write module 219, and send the operating system image to the portable communication device 102.
It should be understood that other embodiments may implement other technologies for the system and method as discussed above. In an embodiment, the process of displaying the operating system being crashed on the screen and waiting for the user to press the key may be omitted. On the contrary, when the system detection module 204 detects that the operating system 202 is crashed, the system detection module 204 or other device may send the recovery agent 205 with the request of recovering the operating system, in response to which, the recovery agent 205 can start connecting with the portable communication device 104 and recover the operating system. In another embodiment, the portable communication device 102 may recover the operating system, even if the operating system 202 hasn't been crashed. For example, during the system boot process, the user may initiatively request the operating system recovery (e.g., through pressing a special key), rather than requesting the recovery after receiving the notification of the operating system being crashed.
While the disclosure has been illustrated and described in detail in the drawings and foregoing description, such an illustration and description is to be considered as exemplary and not restrictive in character, it being understood that only illustrative embodiments have been shown and described and that all changes and modifications consistent with the disclosure and recited claims are desired to be protected.
EXAMPLES
Illustrative examples of the devices, systems, and methods disclosed herein are provided below. An embodiment of the devices, systems, and methods may include any one or more, and any combination of, the examples described below.
In one example, a portable communication device may comprise a near field communication module; a high speed wireless communication module; and a recovery manager to initiate a session between the portable communication device and another portable communication device through a near field communication connection established by the near field communication module, continue the session to receive an operating system image from the another portable communication device through a high speed wireless connection established by the high speed wireless communication module and recover an operating system of the portable communication device with use of the operating system image.
Additionally, in an example, the near field communication module, the high speed communication module and the recovery manager may be stored in a firmware of the portable communication device. Additionally, in any of the above examples, the near field communication module may be further to obtain an address of the another portable communication device during the session through the near field communication connection; and the high speed wireless communication module may be further to utilize the address to establish the high speed wireless connection with the another portable communication device.
Additionally, in any of the above examples, the recovery manager may be further to initiate the session in response that a user of the portable communication device presses a key to request recovering the operating system. Additionally, in any of the above examples, the recovery manager may be further to recover the operating system through storing the operating system image in the firmware and rebooting the portable communication device. Additionally, in any of the above examples, the high speed wireless connection may be Bluetooth or Wi-Fi connection. Additionally, in any of the above examples, the portable communication device and the another portable communication device may be smart phones.
In another example, a method operated by a portable communication device may comprise initiating, by a recovery manager, a session between the portable communication device and another portable communication device through a near field communication connection established by a near field communication module; and continuing, by the recovery manager, the session to receive an operating system image from the another portable communication device through a high speed wireless connection established by a high speed wireless communication module; and recovering, by the recovery manager, an operating system of the portable communication device with use of the operating system image, wherein the near field communication module, the high speed communication module and the recovery manager may be stored in a firmware of the portable communication device.
Additionally, in an example, the method may further comprise obtaining, by the near field communication module, an address of the another portable communication device during the session through the near field communication connection; and utilizing, by the high speed wireless communication module, the address to establishing the high speed wireless connection with the another portable communication device.
Additionally, in any of the above examples, the operating system image is received from another recovery manager stored in another operating system of the another portable communication device. Additionally, in any of the above examples, the initiating the session comprises initiating the session further in response that an user of the portable communication device presses a key to request recovering the operating system.
Additionally, in any of the above examples, the recovering the operating system further comprises storing the operating system image in the firmware; and rebooting the portable communication device. Additionally, in any of the above examples, the high speed wireless connection is Bluetooth or Wi-Fi communication. Additionally, in any of the above examples, the portable communication device and the another portable communication device are smart phones.
In another example, a portable communication device may comprise a near field communication module; a high speed wireless communication module; and a recovery manager to initiate a session between the portable communication device with another portable communication device through a near field communication connection established by the near field communication module; and continue the session to send an operating system image to the another portable communication device through a high speed wireless connection established by the high speed wireless communication module, in response to a request from another recovery manager stored in a firmware of the another portable communication device
Additionally, in an example, the near field communication module, the high speed communication module and recovery manager may be stored in an operating system of the portable communication device. Additionally, in any of the above examples, the near field communication module may be further to obtain an address of the another portable communication device during the session through the near field communication connection, and the high speed wireless communication module may be further to utilize the address to establish the high speed wireless connection with the another portable communication device.
Additionally, in any of the above examples, the high speed wireless connection is Bluetooth or Wi-Fi communication. Additionally, in any of the above examples, the portable communication device and the another portable communication device are smart phones.
In another example, a method operated by a portable communication device may comprise initiating, by a recovery manager, a session between the portable communication device with another portable communication device through a near field communication connection established by a near field communication module; and continuing, by the recovery manager, the session to send an operating system image to the another portable communication device through a high speed wireless connection established by a high speed wireless communication module, in response to a request from another recovery manager stored in a firmware of the another portable communication device, wherein the near field communication module, the high speed communication module and the recovery manager may be stored in an operating system of the portable communication device.
Additionally, in any of the above examples, the method may further comprise obtaining, by the near field communication module, an address of the another portable communication device during the session through the near field communication connection; and utilizing, by the high speed wireless communication module, the address to establish the high speed wireless connection with the another portable communication device. Additionally, in any of the above examples, the high speed wireless connection is Bluetooth or communication. Additionally, in any of the above examples, the portable communication device and the another portable communication device are smart phones.

Claims (19)

What is claimed is:
1. A portable communication device, comprising:
a near field communication module;
a high speed wireless communication module; and
a recovery manager configured to:
initiate, in response to a determination that an operating system of the portable communication device has crashed, a session between the portable communication device and another portable communication device through a near field communication connection established by the near field communication module;
obtain, via the near field communication module, an address of the another portable communication device during the session;
establish, via the high-speed wireless communication module, a high speed wireless connection with the another portable communication device using the address;
continue the session to receive an operating system image from the another portable communication device through the high speed wireless connection; and
recover the operating system of the portable communication device with use of the operating system image.
2. The portable communication device of claim 1, wherein the near field communication module, the high speed communication module and the recovery manager are stored in a firmware of the portable communication device.
3. The portable communication device of claim 1, wherein the recovery manager is further to initiate the session in response that a user of the portable communication device presses a key to request recovering the operating system.
4. The portable communication device of claim 1, wherein the recovery manager is further to recover the operating system through storing the operating system image in the firmware and rebooting the portable communication device.
5. The portable communication device of claim 1, wherein the high speed wireless connection is Bluetooth or Wi-Fi connection.
6. The portable communication device of claim 1, wherein the portable communication device and the another portable communication device are smart phones.
7. One or more non-transitory, machine readable storage media comprising a plurality of instructions that in response to being executed cause a portable computing device to:
initiate, by a recovery manager and in response to a determination that an operating system of the portable communication device has crashed, a session between the portable communication device and another portable communication device through a near field communication connection established by a near field communication module;
obtain, through the near field communication connection, an address of the another portable communication device during the session;
establish, by a high speed wireless communication module, a high speed wireless connection with the another portable communication device using the address:
continue, by the recovery manager, the session to receive an operating system image from the another portable communication device through the high speed wireless connection; and
recover, by the recovery manager, the operating system of the portable communication device with use of the operating system image;
wherein the near field communication module, the high speed communication module and the recovery manager are stored in a firmware of the portable communication device.
8. The non-transitory, machine readable media of claim 7, wherein the operating system image is received from another recovery manager stored in another operating system of the another portable communication device.
9. The non-transitory, machine readable media of claim 7, wherein to initiate the session comprises to initiate the session further in response that a user of the portable communication device presses a key to request recovering the operating system.
10. The non-transitory, machine readable media of claim 7, wherein to recover the operating system further comprises to:
store the operating system image in the firmware; and
reboot the portable communication device.
11. The non-transitory, machine readable media of claim 7, wherein the high speed wireless connection is Bluetooth or Wi-Fi communication.
12. The non-transitory, machine readable media of claim 7, wherein the portable communication device and the another portable communication device are smart phones.
13. A portable communication device, comprising:
a near field communication module;
a high speed wireless communication module; and
a recovery manager configured to:
initiate, in response to a determination that an operating system of the portable communication device has crashed, a session between the portable communication device with another portable communication device through a near field communication connection established by the near field communication module; and
obtain, via the near field communication module, an address of the another portable communication device during the session;
establish, via the high-speed wireless communication module, a high speed wireless connection with the another portable communication device using the address;
continue the session to send the operating system image to the another portable communication device through the high speed wireless connection, in response to a request from another recovery manager stored in a firmware of the another portable communication device.
14. The portable communication device of claim 13, wherein the near field communication module, the high speed communication module and recovery manager are stored in an operating system of the portable communication device.
15. The portable communication device of claim 13, wherein the high speed wireless connection is Bluetooth or Wi-Fi communication.
16. The portable communication device of claim 13, wherein the portable communication device and the another portable communication device are smart phones.
17. One or more non-transitory, machine readable storage media comprising a plurality of instructions that in response to being executed cause a portable computing device to:
initiate, by a recovery manager and in response to a determination that an operating system of the portable communication device has crashed, a session between the portable communication device with another portable communication device through a near field communication connection established by a near field communication module; and
obtain, through the near field communication connection, an address of the another portable communication device during the session;
establish, by a high speed wireless communication module, a high speed wireless connection with the another portable communication device using the address;
continue, by the recovery manager, the session to send the operating system image to the another portable communication device through the high speed wireless connection, in response to a request from another recovery manager stored in a firmware of the another portable communication device;
wherein the near field communication module, the high speed communication module and the recovery manager are stored in an operating system of the portable communication device.
18. The non-transitory, machine readable media of claim 17, wherein the high speed wireless connection is Bluetooth or Wi-Fi communication.
19. The non-transitory, machine readable media of claim 17, wherein the portable communication device and the another portable communication device are smart phones.
US13/997,827 2012-08-29 2012-08-29 Method, apparatus and system of recovering an operating system on a portable communication device Expired - Fee Related US9270339B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/080680 WO2014032230A1 (en) 2012-08-29 2012-08-29 Method, apparatus and system of recovering an operating system on a portable communication device

Publications (2)

Publication Number Publication Date
US20140065958A1 US20140065958A1 (en) 2014-03-06
US9270339B2 true US9270339B2 (en) 2016-02-23

Family

ID=50182353

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/997,827 Expired - Fee Related US9270339B2 (en) 2012-08-29 2012-08-29 Method, apparatus and system of recovering an operating system on a portable communication device

Country Status (6)

Country Link
US (1) US9270339B2 (en)
EP (1) EP2825956B1 (en)
JP (1) JP6303198B2 (en)
KR (1) KR101754680B1 (en)
CN (1) CN104285210B (en)
WO (1) WO2014032230A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230393943A1 (en) * 2021-05-18 2023-12-07 Samsung Electronics Co., Ltd. Method of recovering bootloader in mobile electronic device and bootloader recovery system performing thereof

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014102836A1 (en) * 2012-12-24 2014-07-03 Datalogic Ip Tech S.R.L. Method for the automatic configuration of portable terminals
US9313609B2 (en) 2012-12-28 2016-04-12 Joseph Nicholi Prencipe Contact information social exchange method and system
TW201432459A (en) * 2013-02-01 2014-08-16 Primax Electronics Ltd Method of wireless communication between electrical device and computer host and computer system using the method
US20150215161A1 (en) * 2014-01-24 2015-07-30 Cisco Technology, Inc. Near field communication based bootstrapping
US20160070665A1 (en) * 2014-09-08 2016-03-10 Htc Corporation Portable electronic device and user data access method therefor
CN104794014B (en) * 2015-04-08 2020-08-25 华为技术有限公司 System operation method and intelligent terminal
WO2018174856A1 (en) * 2017-03-21 2018-09-27 Hewlett-Packard Development Company, L.P. Operating system retrieval
WO2019089047A1 (en) * 2017-11-06 2019-05-09 Hewlett-Packard Development Company, L.P. Operating system repairs via recovery agents
KR102433435B1 (en) * 2020-12-30 2022-08-18 포항공과대학교 산학협력단 Method and apparatus for restoring disk in pear to pear for restoring damage from ransomware

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001055922A2 (en) 2000-01-28 2001-08-02 Omrad Opto-Electronics Ltd. Apparatus and method for accessing multimedia content
US20020112198A1 (en) * 2001-02-13 2002-08-15 Lim Swee Boon Method and apparatus for recovering from failure of a mirrored boot device
US20050144431A1 (en) * 2003-12-31 2005-06-30 Jade Quantum Technologies, Inc. IP-based method and apparatus for remote booting computers in wide-area-network environment
WO2005093964A1 (en) 2004-03-17 2005-10-06 Nokia Corporation System and method for remote service information
US20060129614A1 (en) * 2004-12-14 2006-06-15 Kim Hong Y Crash recovery system and method for distributed file server using object based storage
WO2007121791A1 (en) 2006-04-21 2007-11-01 Sony Ericsson Mobile Communications Ab Method and device for accessing data using near field communications
US20080209199A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation Boot negotiation among multiple boot-capable devices
US20080291852A1 (en) * 2007-05-23 2008-11-27 Microsoft Corporation Method for optimizing near field links
US7831857B2 (en) * 2006-10-31 2010-11-09 Hewlett-Packard Development Company, L.P. Method and system for recovering from operating system crash or failure
US20110098056A1 (en) * 2009-10-28 2011-04-28 Rhoads Geoffrey B Intuitive computing methods and systems
US20110289350A1 (en) * 2010-05-18 2011-11-24 Carlton Andrews Restoration of an Image Backup Using Information on Other Information Handling Systems
US20120329389A1 (en) * 2011-06-27 2012-12-27 Broadcom Corporation Measurement and Reporting of Received Signal Strength in NFC-Enabled Devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070218837A1 (en) * 2006-03-14 2007-09-20 Sony Ericsson Mobile Communications Ab Data communication in an electronic device
JP2008071188A (en) * 2006-09-14 2008-03-27 Toshiba Corp Information processor, program and system recovery method
JP2009135865A (en) * 2007-07-30 2009-06-18 Ricoh Co Ltd Information processor, path search apparatus, household electric appliance, information processing system, and program
JP5040694B2 (en) * 2008-02-05 2012-10-03 富士通株式会社 Communication support program and communication support method
KR20090090801A (en) * 2008-02-22 2009-08-26 삼성전자주식회사 Method and apparatus for updating firmware in portable terminal
JP4506856B2 (en) * 2008-03-10 2010-07-21 ソニー株式会社 Communication apparatus and communication method
CN101741390A (en) * 2008-11-21 2010-06-16 爱思开电讯投资(中国)有限公司 Differential Miller coding and decoding methods and devices for near field communication system

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001055922A2 (en) 2000-01-28 2001-08-02 Omrad Opto-Electronics Ltd. Apparatus and method for accessing multimedia content
US20020112198A1 (en) * 2001-02-13 2002-08-15 Lim Swee Boon Method and apparatus for recovering from failure of a mirrored boot device
US20050144431A1 (en) * 2003-12-31 2005-06-30 Jade Quantum Technologies, Inc. IP-based method and apparatus for remote booting computers in wide-area-network environment
WO2005093964A1 (en) 2004-03-17 2005-10-06 Nokia Corporation System and method for remote service information
US20060129614A1 (en) * 2004-12-14 2006-06-15 Kim Hong Y Crash recovery system and method for distributed file server using object based storage
WO2007121791A1 (en) 2006-04-21 2007-11-01 Sony Ericsson Mobile Communications Ab Method and device for accessing data using near field communications
US7831857B2 (en) * 2006-10-31 2010-11-09 Hewlett-Packard Development Company, L.P. Method and system for recovering from operating system crash or failure
US20080209199A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation Boot negotiation among multiple boot-capable devices
KR20090118941A (en) 2007-02-28 2009-11-18 마이크로소프트 코포레이션 Boot negotiation among multiple boot-capable devices
KR20100017105A (en) 2007-05-23 2010-02-16 마이크로소프트 코포레이션 Method for optimizing near field links
US20080291852A1 (en) * 2007-05-23 2008-11-27 Microsoft Corporation Method for optimizing near field links
US20110098056A1 (en) * 2009-10-28 2011-04-28 Rhoads Geoffrey B Intuitive computing methods and systems
US20110289350A1 (en) * 2010-05-18 2011-11-24 Carlton Andrews Restoration of an Image Backup Using Information on Other Information Handling Systems
US20120329389A1 (en) * 2011-06-27 2012-12-27 Broadcom Corporation Measurement and Reporting of Received Signal Strength in NFC-Enabled Devices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
International Search Report and Written Opinion received for PCT Patent Application No. PCT/CN2012/080680, mailed on Jun. 6, 2013, 10 pages.
Notice of Preliminary Rejection issued Oct. 19, 2015 in connection with Korean Patent Application No. 10-2015-7000837, 9 pages.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230393943A1 (en) * 2021-05-18 2023-12-07 Samsung Electronics Co., Ltd. Method of recovering bootloader in mobile electronic device and bootloader recovery system performing thereof

Also Published As

Publication number Publication date
EP2825956A1 (en) 2015-01-21
CN104285210B (en) 2018-05-25
KR20150032703A (en) 2015-03-27
US20140065958A1 (en) 2014-03-06
WO2014032230A1 (en) 2014-03-06
CN104285210A (en) 2015-01-14
EP2825956B1 (en) 2018-07-25
EP2825956A4 (en) 2015-10-28
KR101754680B1 (en) 2017-07-27
JP6303198B2 (en) 2018-04-04
JP2015531187A (en) 2015-10-29

Similar Documents

Publication Publication Date Title
US9270339B2 (en) Method, apparatus and system of recovering an operating system on a portable communication device
US11134145B2 (en) Executing applications in conjunction with other devices
US9801004B2 (en) Device, method, and system for securely pairing mobile communication devices using movement
US9514100B2 (en) Method, apparatus and system of screenshot grabbing and sharing
EP3032418A1 (en) Permission control method and device
JP6483863B2 (en) Method and system for implementing validation in data transfer
US20170201378A1 (en) Electronic device and method for authenticating identification information thereof
US20150215772A1 (en) Apparatus and method for providing a service
US10257873B2 (en) Method and electronic device for providing tethering service
CN112055424A (en) Electronic device and method for switching electronic device
US9398432B2 (en) Electronic device and method for controlling emergency call in electronic device
KR102480627B1 (en) Electronic device for managing embedded subscriber identity module and method for the same
US9729815B2 (en) Method and electronic device for controlling content integrity using numerical data
US10491730B2 (en) Method and apparatus for providing contact information
WO2017128673A1 (en) Dual-channel mobile terminal for reusing flash rom
CN110008668B (en) Data processing method, device and storage medium
US9535566B2 (en) Method, apparatus and system of displaying a file
WO2021233351A1 (en) Data transfer method and device, and terminal and computer-readable storage medium
US20140349612A1 (en) Method, apparatus and system of managing a user login interface
CA2798394C (en) Method and system to layout applications on multiple platforms
US11809550B2 (en) Electronic device and control method therefor
CN117255336A (en) Card mode switching method of terminal equipment, terminal equipment and storage medium
CN112867994A (en) Data recovery method and device and electronic equipment

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YAO, JIEWEN;SONG, CHUAN;ZHANG, HAILI;AND OTHERS;REEL/FRAME:031281/0513

Effective date: 20130909

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20200223