Method for direct transfer from a portable device to a scanning device using optical codes

One embodiment provides a system for transferring a file from a portable device to a scanning device. During operation, the system displays an optical code associated with the file on the portable device. Next, the system detects successful scanning of the current optical code by the scanning device. Subsequently, the system displays a next optical code associated with the file on the portable device, thereby allowing the scanning device to decode the file after a sequence of optical codes are scanned.

BACKGROUND

The present disclosure relates generally to communication among peripheral devices. More specifically, the present disclosure relates to a method and system for transferring documents from a portable device to a scanning device using optical codes.

2. Related Art

The proliferation of portable devices is changing the way people work. For example, people receive emails with document attachments that can include large documents, presentation slides, and schedules. Typically, such attachments are difficult to read on the portable device because of limited screen sizes. At the same time, printing from the portable device is difficult for several reasons. The portable device might not have enough memory or computing power to support printer drivers. A printer driver designed for the operating system on the portable device might not be available. The portable device is often required to discover nearby printers in a new environment, which can be time-consuming and might not always be successful. Furthermore, the portable device might not have secure network access to the printer, thus introducing security concerns in the printing process.

Current solutions to printing from a portable device are complicated. A portable device must follow a complicated series of steps, including discovering the printer, downloading software drivers, creating an account, uploading documents, logging into the printer, and selecting documents. In addition, printing from a portable device requires new, costly and/or retrofitted hardware, such as Bluetooth®, WiFi®, RFID, NFC, USB, and lrDA.

SUMMARY

One embodiment provides a system for transferring a file from a portable device to a scanning device. During operation, the system displays an optical code associated with the file on the portable device. Next, the system detects successful scanning of the current optical code by the scanning device. Subsequently, the system displays a next optical code associated with the file on the portable device, thereby allowing the scanning device to decode the file after a sequence of optical codes are scanned.

In some embodiments, the system generates the sequence of optical codes for the file.

In some embodiments, the system detects successful scanning of the current optical code by waiting for the scanning device for a specified time period before displaying the next optical code by the portable device.

In some embodiments, the system detects successful scanning of the current optical code by detecting passing of a scanner head with a light sensor on the portable device.

In some embodiments, the system detects successful scanning of the current optical code by detecting passing of a scanner head with a touch screen on the portable device.

In some embodiments, the system detects successful scanning of the current optical code by allowing the scanning device to notify a user to operate the portable device to display the next optical code.

In some embodiments, the file is encoded in a Uuencode or multi-part Multipurpose Internet Mail Extensions (MIME) format.

In some embodiments, the optical code is a QR Code.

In some embodiments, the scanning device comprises a printer.

DETAILED DESCRIPTION

Overview

Embodiments of the present invention solve the problem of printing a document from a portable device by displaying one or more optical codes on the portable device. The user can display the optical code to a scanner associated with a printer, which in turn can scan and recognize the optical code. Based on the information contained in the optical code, the printer (or a computer associated with the printer) can then receive the document and print the document.

This basic idea of using a sequence of optical codes to transfer a document from a portable device to a multi-function device for printing can be applied in different computing environments. One such example is illustrated by the system shown inFIG. 1, which facilitates direct transfer of documents from a portable device to a multi-function device in accordance with an embodiment. In this example, the user of a portable device140places the portable device's screen, which is displaying a sequence of optical codes130that encode a document, on the flatbed scanner of a multi-function device (MFD)150. MFD150scans the optical codes130from the portable device's screen. Portable device140then displays the next optical code associated with the file when it senses that MFD150has finished scanning the current optical code. After MFD150has successfully scanned the sequence of optical codes, it sends optical codes130to a decoding service120, and retrieves document110from decoding service120. Subsequently, MFD150prints document110.

In this example, optical codes130can be any optical representation of information that can be captured and recognized by any optical-sensing device, such as a scanner or digital camera. Typical optical codes include, but are not limited to: one-dimensional barcodes, two-dimensional barcodes (also called matrix codes, such as the “Quick Response” or “QR” codes), and data glyphs. The encoding of the digital content in the optical code follows well-known techniques such as Unix-to-Unix encoding (Uuencoding) or multipart Multipurpose Internet Mail Extensions (MIME) protocols, which define the sets of text symbols and boundaries within message bodies that represent binary data for transmission.

Decoding service120can be provided by a separate server, or by MFD150itself. In addition, MFD150can also be a conventional printer coupled to a computer which is also coupled to a scanner. The computer and scanner jointly perform the scanning and decoding.

The document transferring and print system illustrated in the example inFIG. 1offers several benefits. First, portable device140does not require network access. As long as the user of portable device140can visually locate a printer and display optical codes130to the associated scanner, the document transfer and printing can be performed. Furthermore, the system supports all portable devices and can be modified to work on portable devices with the few features. In addition, the optical codes that encode the document can also serve the purpose of identification and authentication for printing.

Note that this disclosure uses the term “document optical code” interchangeably with “optical code.” Furthermore, the terms “printer” and “multi-function device” are also used interchangeably in this disclosure. Functions, methods, and operations described in this disclosure to be performed by a scanner or an MFD can also be performed by a computer associated with the scanner or MFD.

Detecting a Successful Scan

In the exemplary document-printing system illustrated inFIG. 1, the document to be printed is encoded in the optical codes. There is always a limit on how much information one optical code may contain. The limit depends on the resolution of the display, as well as the resolution of the scanner. For example, an optical code with blocks of 4×4 pixels can be scanned with reasonable accuracy from the screen of a BlackBerry® phone. Since the resolution of the screen is 320 by 240 pixels, each scan transfers approximately 320×240/16=4800 bits of information to the scanner. Note that error corrections may further reduce this number. In many cases, files are much larger than the data size a single optical code can carry and have to be encoded in multiple optical codes. Therefore, to print a large file, the portable device typically displays a sequence of optical codes so that the scanner can decode the file after scanning each of the optical codes successfully.

After the portable device displays an optical code to the scanner, the portable device ideally determines when the scanner has completed the scanning. Thus, the portable device can continue displaying the next optical code in the sequence until all the optical codes that encode the file have been scanned. Multiple means can be employed for the portable device to detect a successful scan.

In one embodiment, the portable device may simply display optical codes in the sequence one by one. While displaying each optical code, the portable device waits a specific period before proceeding to the next optical code. The MFD scans at a regular speed until all the optical codes have been acquired. A second pass may be necessary if some of the optical codes are missing from the first scanning session.

In another embodiment, with each display of an optical code, the MFD may notify the user of the scan result. The user can operate the portable device to display the current optical code or the next optical code.

Many smartphones, such as the iPhone 3G, have light sensors that can detect the passing of the light bar of an MFD as the illuminated light bar slides under the phone's display. When the phone detects the passing of the light bar, it may display the next optical code in the sequence.

An increasing number of portable devices now use capacitive sensors in their touch screens (e.g., the iPhone 3G). Capacitive sensors by design detect the disruption of an electrical field from a conductor, such as a human finger. The metal in an MFD light bar can also be sensed as the light bar slides under the touch screen. Similarly, when the phone detects the passing of the light bar, it may display the next optical code in the sequence.

System Operation

FIG. 2presents a flow chart illustrating the process of transferring a document from a portable device to a multi-function device in accordance with an embodiment. During operation, the portable device receives or generates a sequence of optical codes that encode a document to be printed (operation200). The portable device then transfers the optical codes to the MFD (operation220). Subsequently, the optical codes are decoded (operation240). Next, the MFD prints the document based on the decoded optical codes (operation260). Note that the portable device may also encode the file in a sequence of optical codes itself instead of receiving the optical codes from an encoding service.

FIG. 3presents a flow chart illustrating the process of transferring the optical codes from the portable device to the MFD in accordance with an embodiment. During operation, the portable device displays an optical code to the scanner of the MFD (operation300). The portable device then determines whether the scanner has successfully scanned the current optical code (operation320). If not, the portable device continues displaying the current optical code and waits for the scanner to complete the scanning process. Otherwise, the portable device further determines if there are more optical codes in the sequence (operation340). If so, the portable device advances to the next optical code (operation360), and displays the optical code (operation300). Otherwise, the transferring process is complete.

FIG. 4presents a flow chart illustrating the process of decoding the optical codes in accordance with an embodiment. During operation, the MFD sends the sequence of optical codes scanned from the display of the portable device to a server that provides a decoding service (operation400). Next, the MFD receives the decoded file from the server and is ready for printing the document (operation410).

In order to provide authenticity and security, a secret shared between the portable device and the decoding server may be embedded in the optical code. For example, the decoding server may combine the shared secret and other protection schemes such as passwords to decode the optical codes. The portable device may also be required to send additional information for verification, such as a hash of the optical codes, through a different channel to the server to enforce extra security.

Exemplary Portable Device

FIG. 5presents an exemplary portable device for direct transfer of a document from a portable device to a multi-function device in accordance with an embodiment. Portable device500for direct transfer of a document comprises a processor510, a memory520, a storage530, an optical-code-displaying mechanism540, and an optical-code-generating mechanism550, all of which can be in communication with each other through various means.

Storage530stores programs to be executed by processor510. Specifically, storage530stores a program that implements a system (application) for direct transfer of a document from a portable device to a multi-function device. During operation, the application program can be loaded from storage530into memory520and executed by processor510. As a result, portable device500for direct transfer of a document from a portable device to a multi-function device can perform the functions described above.

During operation, optical-code-generating mechanism550obtains/generates optical codes corresponding to a document to be printed. Subsequently, optical-code-displaying mechanism540displays the optical codes to a scanner of the multi-function device. As a result, the printer of the multi-function device can retrieve and print the document.