Cloud powered system enabling mobile devices to control peripherals without drivers
First Claim
1. A method for accessing a service from a peripheral device using a mobile device, the method comprising:
- discovering, by an application on the first mobile device, a peripheral from which a user of the first mobile device desires to access a service;
transmitting, by the application on the first mobile device, a file generated on the first mobile device to a server;
at the server, converting the file into a content stream compatible with the peripheral, determining, based on available network bandwidth and a size of the content stream, whether or not to compress the content stream, and transmitting the content stream or the compressed content stream to the first mobile device, wherein the server includes a compression decision function that determines whether or not to compress the content stream using an indicator function derived from one of;
whether, given the available network bandwidth and the size of the content stream, a modeled total print time for the content stream without compression of the content stream exceeds a modeled total print time for the content stream with compression of the content stream; and
whether, given the available network bandwidth and the size of the content stream, a modeled energy consumption of the first mobile device without compression of the content stream exceeds a modeled energy consumption of the first mobile device with compression of the content stream;
receiving, by the application on the first mobile device, the content stream or the compressed content stream from the server to be delivered to the peripheral and for which the service is to be invoked;
performing, by the application on the first mobile device, header assembly or decompression of the content stream; and
relaying, by the application on the first mobile device, the content stream to the peripheral or to a second mobile device.
2 Assignments
0 Petitions
Accused Products
Abstract
Smart devices including smart phones and tablets are getting more powerful and become versatile enough to replace conventional personal computers. Despite the rapid evolution of capabilities of such devices, controlling peripherals such as networked printers is infeasible due to lack of dedicated drivers to communicate with peripherals. To immediately enable smart devices to operate peripherals, a cloud-powered system, CloudBridge, is suggested. A CloudBridge application miming on a smart device works as a TCP bridge relaying packets between two TCP tunnels connected to a networked peripheral on one side and a cloud server on the other side. Through the bridge, issuing operations from a smart device without having drivers becomes possible by asking the cloud server to interpret the operations to a language that the peripheral can understand, CloudBridge further optimizes user experience by using data compression that is adaptively applied by a decision function. The system implemented in Android phones and Linux servers is demonstrated to control networked printers on smart phones and tablets. The decision function is shown to optimize QoE metrics, such as response time and energy consumption though extensive evaluations.
-
Citations
16 Claims
-
1. A method for accessing a service from a peripheral device using a mobile device, the method comprising:
-
discovering, by an application on the first mobile device, a peripheral from which a user of the first mobile device desires to access a service; transmitting, by the application on the first mobile device, a file generated on the first mobile device to a server; at the server, converting the file into a content stream compatible with the peripheral, determining, based on available network bandwidth and a size of the content stream, whether or not to compress the content stream, and transmitting the content stream or the compressed content stream to the first mobile device, wherein the server includes a compression decision function that determines whether or not to compress the content stream using an indicator function derived from one of; whether, given the available network bandwidth and the size of the content stream, a modeled total print time for the content stream without compression of the content stream exceeds a modeled total print time for the content stream with compression of the content stream; and whether, given the available network bandwidth and the size of the content stream, a modeled energy consumption of the first mobile device without compression of the content stream exceeds a modeled energy consumption of the first mobile device with compression of the content stream; receiving, by the application on the first mobile device, the content stream or the compressed content stream from the server to be delivered to the peripheral and for which the service is to be invoked; performing, by the application on the first mobile device, header assembly or decompression of the content stream; and relaying, by the application on the first mobile device, the content stream to the peripheral or to a second mobile device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for accessing a service from a peripheral device using a mobile device, the system comprising:
-
a server including at least one processor and a memory and containing a driver for controlling a peripheral to provide a service; and an application configured to execute on a first mobile device for discovering the peripheral from which a user of the first mobile device desires to access the service, for transmitting a file generated on the first mobile device to the server, wherein the server converts the file into a content stream compatible with the peripheral, determines, based on available network bandwidth and a size of the content stream, whether or not to compress the content stream, and transmits the content stream or a compressed content stream to the first mobile device, wherein the server includes a compression decision function that determines whether or not to compress the content stream using an indicator function derived from one of; whether, given the available network bandwidth and the size of the content stream, a modeled total print time for the content stream without compression of the content stream exceeds a modeled total print time for the content stream with compression of the content stream; and whether, given the available network bandwidth and the size of the content stream, a modeled energy consumption of the first mobile device without compression of the content stream exceeds a modeled energy consumption of the first mobile device with compression of the content stream; and wherein the application receives the content stream or the compressed content stream from the server to be delivered to the peripheral and for which the service is to be invoked, performs header assembly or decompression of the content stream, and relays the content stream to the peripheral or to a second mobile device. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer readable medium having stored thereon executable instructions that when executed by the processor or a computer control the computer to perform steps comprising:
-
discovering, by an application on a first mobile device, a peripheral from which a user of the first mobile device desires to access a service; transmitting, by the application on the first mobile device, a file generated on the first mobile device to a server; at the server, converting the file into a content stream compatible with the peripheral, determining, based on available network bandwidth and a size of the content stream, whether or not to compress the content stream, and transmitting the content stream or the compressed content stream to the first mobile device wherein the server includes a compression decision function that determines whether or not to compress the content stream using an indicator function derived from one of; whether, given the available network bandwidth and the size of the content stream, a modeled total print time for the content stream without compression of the content stream exceeds a modeled total print time for the content stream with compression of the content stream; and whether, given the available network bandwidth and the size of the content stream, a modeled energy consumption of the first mobile device without compression of the content stream exceeds a modeled energy consumption of the first mobile device with compression of the content stream; receiving, by the application on the first mobile device, the content stream or the compressed content stream from the server to be delivered to the peripheral and for which the service is to be invoked; performing, by the application on the first mobile device, header assembly or decompression of the content stream; and relaying, by the application on the first mobile device, the content stream to the peripheral or to a second mobile device.
-
Specification