# US 10,372,332 B1 · Interconnection of peripheral devices on different electronic devices

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

- Number: US 10,372,332 B1
- Document ID: US10372332B1
- Status: Granted
- Kind: B1
- Application number: 16/188,832
- Filed: 2018-11-13
- Granted: 2019-08-06
- Earliest claimed: 2010-02-24
- Assignees: Open Invention Network, LLC
- Applicants: Open Invention Network LLC
- Inventors: Martin Wieland
- Web page: https://patentgrep.com/patent/US10372332B1

## CPC

- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/038: Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/068: {Hybrid storage device}
- G06F 12/023: {Free address space management}
- G06F 12/1475: {in a virtual system, e.g. with translation means}
- G06F 13/385: {for adaptation of a particular data processing system to different peripheral devices}
- G06F 16/2455: Query execution
- G06F 2203/0383: Remote input, i.e. interface arrangements in which the signals generated by a pointing device are transmitted to a PC at a remote location, e.g. to a PC in a LAN
- G06F 2212/1044: Space efficiency improvement
- G06F 2212/1052: Security improvement
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method and apparatus of performing a data transmission from an electronic device or a peripheral device of an electronic device to a peripheral device of a remote electronic device is disclosed. One example method of performing the data transmission may include transmitting data designated for the remote peripheral device to a local virtual device object. The data that is received by the local virtual device object is transmitted via at least one communication interface or peripheral device of the electronic device to at least one remote communication interface or peripheral device of the remote electronic device. The data arriving at the least one remote communication interface or peripheral device of the remote electronic device is received by a remote virtual device object and transmitted to the designated remote peripheral device.

## Claims

### Claim 1

A method, comprising:
determining allocated memory locations of an electronic device that are already allocated by at least one existing peripheral device based on information of the at least one existing peripheral device;
creating a first virtual device based on an allocation of at least one of a reading memory and a writing memory;
receiving data at a physical interface of the electronic device;
locking at least one of the allocated memory locations of the electronic device via the first virtual device to prevent any device other than the first virtual device from reading the data stored in the at least one of the allocated memory locations;
creating a second virtual device configured to receive data transmitted by the first virtual device when a first virtual device memory area allocated to the first virtual device is locked;
unlocking the first virtual device memory area by the second virtual device; and
transmitting data from the first virtual device when the first virtual device memory area is unlocked.

### Claim 2 (depends on 1)

The method of claim 1, wherein the information of the at least one existing peripheral device is stored in at least one of a text file and a formatted file.

### Claim 3 (depends on 2)

The method of claim 2, wherein the at least one of the text file and the formatted file is stored in an external storage media separate from the electronic device and accessible to the electronic device.

### Claim 4 (depends on 2)

The method of claim 2, wherein the at least one of the text file and the formatted file is stored in a memory of the electronic device.

### Claim 5 (depends on 1)

The method of claim 1, wherein the information of the at least one peripheral device comprises information regarding data input and output capabilities of the at least one peripheral device and the allocated memory locations that have been designated for the at least one peripheral device.

### Claim 6 (depends on 1)

The method of claim 1 comprising copying the information of the at least one existing peripheral device.

### Claim 7 (depends on 1)

The method of claim 1 comprising analyzing capabilities of the at least one existing peripheral device.

### Claim 8 (depends on 1)

The method of claim 1 comprising copying the data from the locked allocated memory location to the first virtual device memory and clearing the data from the locked allocated memory location.

### Claim 9

An apparatus, comprising:
a physical interface configured to receive data;
a processor configured to:
determine allocated memory locations that are already allocated by at least one existing peripheral device based on information of at least one existing peripheral device;
create a first virtual device based on an allocation of at least one of a reading memory and a writing memory;
a memory configured to store the copied information of the at least one existing peripheral device and provide the allocated memory locations and the unallocated memory; and
a receiver configured to receive data at the physical interface;
and wherein the processor is further configured to:
lock at least one of the allocated memory locations via the first virtual device to prevent any device other than the first virtual device from being able to read the data stored in the at least one of the allocated memory locations;
create a second virtual device configured to receive data transmitted by the first virtual device when a first virtual device memory area allocated to the first virtual device is locked;
unlock the first virtual device memory area by the second virtual device; and
transmit data from the first virtual device when the first virtual device memory area is unlocked.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the information of the at least one existing peripheral device is stored in at least one of a text file and a formatted file.

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein the at least one of the text file and the formatted file is stored in an external storage media separate from the apparatus and accessible to the apparatus.

### Claim 12 (depends on 10)

The apparatus of claim 10, wherein the at least one of the text file and formatted file is stored in the memory.

### Claim 13 (depends on 9)

The apparatus of claim 9, wherein the information of the at least one peripheral device comprises information regarding data input and output capabilities of the at least one peripheral device and the allocated memory locations that have been designated for the at least one peripheral device.

### Claim 14 (depends on 9)

The apparatus of claim 9, wherein the processor is further configured to copy the information of the at least one existing peripheral device.

### Claim 15 (depends on 9)

The apparatus of claim 9, wherein the processor is further configured to analyze capabilities of the at least one existing peripheral device.

### Claim 16 (depends on 9)

The apparatus of claim 9, wherein the processor is further configured to copy the data from the locked allocated memory location to the first virtual device memory and clear the data from the locked allocated memory location.

### Claim 17

A non-transitory computer readable medium storing instructions that when read by a processor, cause the processor to perform:
determining allocated memory locations of electronic device that are already allocated by at least one existing peripheral device based on information of the at least one existing peripheral device;
creating a first virtual device based on an allocation of at least one of a reading memory and a writing memory;
receiving data at a physical interface of the electronic device;
locking at least one of the allocated memory locations of the electronic device via the first virtual device to prevent any device other than the first virtual device from reading the data stored in the at least one of the allocated memory locations;
creating a second virtual device configured to receive data transmitted by the first virtual device when a first virtual device memory area allocated to the first virtual device is locked;
unlocking the first virtual device memory area by the second virtual device; and
transmitting data from the first virtual device when the first virtual device memory area is unlocked.

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the information of the at least one existing peripheral device is stored in at least one of a text file and a formatted file.

### Claim 19 (depends on 18)

The non-transitory computer readable medium of claim 18, wherein the at least one of the text file and the formatted file is stored in an external storage media separate from the electronic device and accessible to the electronic device.

### Claim 20 (depends on 18)

The non-transitory computer readable medium of claim 18, wherein the at least one of the text file and the formatted file is stored in a memory of the electronic device.
