# US 10,120,701 B2 · System and method for transferring data between operating systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,120,701 B2
- Document ID: US10120701B2
- Status: Granted
- Kind: B2
- Application number: 14/560,829
- Filed: 2014-12-04
- Published: 2015-06-11
- Granted: 2018-11-06
- Earliest claimed: 2013-12-05
- Assignees: Insyde Software Corp.
- Applicants: Insyde Software Corp.
- Inventors: Timothy Andrew Lewis
- Web page: https://patentgrep.com/patent/US10120701B2

## CPC

- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/441: {Multiboot arrangements, i.e. selecting an operating system to be loaded}
- G06F 9/543: {User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Mechanisms for moving data between different operating systems in a dual OS computing device are discussed. More particularly, embodiments of the present invention utilize the clipboard facilities supported by the operating systems, along with firmware and helper software in each OS, to move data back and forth when switching between an active and inactive operating system. The clipboard contents are preserved in non-volatile storage that is not lost across the sleep-state transitions used to switch operating systems. Helper software analyzes the clipboard contents being copied and converts them into a format recognized by the current operating system and its applications.

## Claims

### Claim 1

A computer-implemented method for copying data between an active and inactive operating system (OS) in a dual-OS computing device, comprising:
identifying a user initiation of a switch of an operating system in the computing device from an active first OS to an inactive second OS;
copying data from a first clipboard available to the first OS to a non-volatile storage location based on the identifying of the initiation of the switch, the copying of the data to the non-volatile storage location performed by a first agent operating while the first OS is active before the switch;
performing the switch of the operating systems using a sleep-state transition so that the first OS becomes inactive and the second OS becomes active; and
copying data while the second OS is becoming active during the sleep-state transition from the non-volatile storage location to a second clipboard available to the second OS, the copying of the data to the second clipboard available to the second OS performed by a second agent, wherein the sleep-state transition invokes an S3 sleep-state and the non-volatile storage location includes system RAM shared by the first agent and the second agent.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
converting the data copied from the first clipboard available to the first OS to a format recognizable by the second OS prior to its being copied to the second clipboard available to the second OS.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
converting the data based on encoded information about the first OS, the converting performed by the second agent.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
converting the data with the first agent to a common format before saving the data to the non-volatile storage location.

### Claim 5 (depends on 2)

The method of claim 2 wherein the converting is between at least one of text encoding schemes, graphic encoding schemes and video encoding schemes.

### Claim 6 (depends on 2)

The method of claim 2 wherein the converting is between proprietary application-specific formats.

### Claim 7 (depends on 2)

The method of claim 2, further comprising:
converting the data from a first format supported by the first OS to more than one format when the second clipboard available to the second OS allows multiple formats to be presented simultaneously.

### Claim 8 (depends on 1)

The method of claim 1 wherein the copying of data from the first clipboard available to the active first OS to a non-volatile storage location is only allowed if the computing device is operated by a user of sufficient privilege.

### Claim 9 (depends on 1)

The method of claim 1 wherein the data from the first clipboard available to the active first OS is a reference to a file, and further comprising:
copying the file referred to by the reference to the non-volatile storage location.

### Claim 10

A non-transitory medium holding computer-executable instructions for copying data between an active and inactive operating system (OS) in a dual-OS computing device, the instructions when executed causing the computing device to:
identify a user initiation of a switch of an operating system in the computing device from an active first OS to an inactive second OS;
copy data from a first clipboard available to the first OS to a non-volatile storage location based on the identifying of the initiation of the switch, the copying of the data to the non-volatile storage location performed by a first agent operating while the first OS is active before the switch;
perform the switch of the operating systems using a sleep-state transition so that the first OS becomes inactive and the second OS becomes active; and
copy data while the second OS is becoming active during the sleep-state transition from the non-volatile storage location to a second clipboard available to the second OS, the copying of the data to the second clipboard available to the second OS performed by a second agent, wherein the sleep-state transition invokes an S3 sleep-state and the non-volatile storage location includes system RAM shared by the first agent and the second agent.

### Claim 11 (depends on 10)

The medium of claim 10 wherein the instructions when executed further cause the computing device to:
convert the data copied from the first clipboard available to the first OS to a format recognizable by the second OS prior to its being copied to the second clipboard available to the second OS.

### Claim 12 (depends on 11)

The medium of claim 11 wherein the instructions when executed further cause the computing device to:
convert the data based on encoded information about the first OS, the converting performed by the second agent.

### Claim 13 (depends on 11)

The medium of claim 11 wherein the instructions when executed further cause the computing device to:
convert the data with the first agent to a common format before saving the data to the non-volatile storage location.

### Claim 14 (depends on 11)

The medium of claim 11 wherein the converting is between at least one of text encoding schemes, graphic encoding schemes and video encoding schemes.

### Claim 15 (depends on 11)

The medium of claim 11 wherein the converting is between proprietary application-specific formats.

### Claim 16 (depends on 11)

The medium of claim 11 wherein the instructions when executed further cause the computing device to:
convert the data from a first format supported by the first OS to more than one format when the second clipboard available to the second OS allows multiple formats to be presented simultaneously.

### Claim 17 (depends on 10)

The medium of claim 10 wherein the copying of data from the first clipboard available to the active first OS to a non-volatile storage location is only allowed if the computing device is operated by a user of sufficient privilege.

### Claim 18 (depends on 10)

The medium of claim 10 wherein the data from the first clipboard available to the active first OS is a reference to a file, and wherein the instructions when executed further cause the computing device to:
copy the file referred to by the reference to the non-volatile storage location.

### Claim 19

A dual-OS computing device equipped with a first operating system (OS) and a second OS that is configured to transfer data between the first OS and the second OS, comprising:
a processor configured to execute computer-executable instructions including firmware and instructions for the first OS and the second OS,
a volatile memory able to hold an active first OS;
a first agent operable while the first OS is active, the first agent configured to copy data from a first clipboard available to the first OS to a non-volatile storage location based on an identifying of a user initiation of a switch of an operating system in the computing device from an active first OS to an inactive second OS;
non-volatile storage holding the firmware, the firmware when executed configured to perform the switch of the operating systems using a sleep-state transition so that the first OS becomes inactive and the second OS becomes active;
a second agent, the second agent configured to copy data while the second OS is becoming active during the sleep-state transition from the non-volatile storage location to a second clipboard available to the second OS,
wherein the sleep-state transition invokes an S3 sleep-state and the non-volatile storage location includes system RAM shared by the first agent and the second agent.

### Claim 20 (depends on 19)

The computing device of claim 19 wherein the data copied from the first clipboard available to the first OS is converted to a format recognizable by the second OS prior to its being copied to the second clipboard available to the second OS.
