# US 7,610,349 B1 · Photo-serving communication protocols and methodology for providing disparate host devices with FTP-like access to digital images residing on a digital camera device

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

- Number: US 7,610,349 B1
- Document ID: US7610349B1
- Status: Granted
- Kind: B1
- Application number: 09/703,412
- Filed: 2000-10-31
- Granted: 2009-10-27
- Earliest claimed: 2000-10-31
- Assignees: LightSurf Technologies, Inc.
- Inventors: William G. Swinton; David Vogel; Philippe R. Kahn; Eric O. Bodnar; Timothy W. Genske
- Web page: https://patentgrep.com/patent/US7610349B1

## CPC

- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/14: Session management (for real-time applications in data packet communications networks H04L65/1066)
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L 69/161: {Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A methodology for providing FTP-like server capability to a portable, intermittently-connected device, such as a digital camera device, is described. Using XML syntax, a photo-serving protocols suite supporting FTP-like photo-serving capability is incorporated into a digital camera device (or other portable device), so that digital images (or other files) on that device may be easily accessed by a variety of disparate hosts over standard protocols. If desired, standard (e.g., generic) FTP may be employed instead of the photo-serving protocols. All hosts that are commonly available include implementations of industry-standard TCP/IP protocols on which the photo-serving protocols may be borne. As a result, no host need have a proprietary, one-off solution to bear the photo-serving protocols. The camera device, at the level of the photo-serving protocols, functions in an identical manner no matter what host the camera device is attached to, and no matter how an individual industry-standard protocol suite is borne or implemented. In this fashion, a variety of host devices can access digital photos (or other files or objects) on the camera device with the same ease that a desktop computer may access files from an FTP server, for purposes of receiving or manipulating photographic image information captured on the digital camera device.

## Claims

### Claim 1

A method for providing a variety of disparate host devices access to digital images residing on a digital camera device, the method comprising upon connection of the digital camera device to a particular host device that is capable of hosting digital camera devices, the digital camera device:
sending, prior to establishing a communication session on top of a physical communication link for a communication stack of the connection, one or more queries over the connection, the one or more queries being associated with one or more expected responses stored in a knowledgebase including a registry, the communication stack having one or more communication layers including the communication session, each communication layer corresponding to a communication protocol;
comparing a response received in response to the one or more queries over the connection with the one or more expected responses to determine an identifier for a kind of the physical communication link for the communication stack of the connection to the particular host device;
looking up a preferred configuration for the one or more communication layers according to the determined identifier referencing the settings in the registry;
allowing communication between the digital camera device and the particular host device;
automatically identifying the particular host device that the digital camera device is currently connected to;
based on said determined kind of physical communication link, establishing the communication session between the digital camera device and the particular host device for the communication stack of the connection, said communication session supporting photo-serving communication protocols that present the digital camera device as a file server to the host device; and through said photo-serving communication protocols, allowing the host device to access digital images residing on the digital camera device, as if the digital camera device were the file server, wherein said particular host device and said digital camera device support TCP/IP connectivity corresponding to one of the communication protocols of the communication stack and wherein the communication session is a TCP/IP session.

### Claim 2 (depends on 1)

The method of claim 1, wherein said connecting step includes:
connecting the digital camera device to a particular host device over a wireless communication medium.

### Claim 3 (depends on 1)

The method of claim 1, wherein said connecting step includes:
connecting the digital camera device to a particular host device over a wireline communication medium.

### Claim 4 (depends on 3)

The method of claim 3, wherein said wireline communication medium includes a selected one of serial (RS-232) and USB (Universal Serial Bus) connectivity.

### Claim 5 (depends on 1)

The method of claim 1, wherein said particular host device comprises a handheld computing device.

### Claim 6 (depends on 1)

The method of claim 1, wherein said particular host device comprises a cellular phone device.

### Claim 7 (depends on 1)

The method of claim 1, wherein further comprising: updating the knowledge base with corresponding communication information relevant to the particular device connected.

### Claim 8 (depends on 1)

The method of claim 1, wherein said particular host device includes facilities for offloading digital images from said digital camera device, wherein the preferred configurations include transmission speed properties of the kind of the physical communication link identified by the identifier.

### Claim 9 (depends on 1)

The method of claim 1, wherein said particular host device includes facilities for manipulating digital images, while those digital images reside on said digital camera device.

### Claim 10 (depends on 1)

The method of claim 1, wherein said identifying step occurs immediately upon connection of the digital camera to the particular host device.

### Claim 11 (depends on 1)

The method of claim 1, wherein said identifying step includes:
probing the particular host device in a query/response fashion, for identifying the particular host device, the registry including keys comprising one or more query/response pairs, and wherein the probing comprises sending query-byte sequences according to one of the query/response pairs.

### Claim 12 (depends on 11)

The method of claim 11, wherein said probing step includes:
referencing a knowledgebase that stores expected responses, for identifying the particular host device.

### Claim 13 (depends on 12)

The method of claim 12, wherein said expected responses comprise factory preset values.

### Claim 14 (depends on 12)

The method of claim 12, wherein said knowledgebase is stored in a registry of the digital camera device.

### Claim 15 (depends on 1)

The method of claim 1, wherein said communication session established between the digital camera device and the particular host device employs TCP/IP connectivity through use of Point-to-Point protocol.

### Claim 16 (depends on 1)

The method claim 1, wherein said photo-serving communication protocols comprise a photo-specific interface allowing the particular host device to directly access digital images on a per-file basis, while those images reside on the digital camera device.

### Claim 17 (depends on 1)

The method of claim 1, wherein said photo-serving communication protocols comprise a command set providing the particular host device with file-based access and manipulation of digital images residing on the digital camera device.

### Claim 18 (depends on 1)

The method of claim 1, further comprising:
providing host-side support for the photo-serving communication protocols by injecting an appropriate driver into the particular host device.

### Claim 19 (depends on 18)

The method of claim 18, wherein the appropriate driver is initially stored on said digital camera device and is injected into the particular host device upon connection of the two devices together.

### Claim 20

A method for a digital camera device to provide a variety of disparate host devices access to files residing on digital camera device, upon the digital camera device's connection to one of the host devices, the method comprising:
sending, prior to establishing a communication session on top of a physical communication link for a communication stack of the connection, one or more queries over the connection, the one or more queries being associated with one or more expected responses stored in a knowledgebase including a registry, the communication stack having one or more communication layers including the communication session, each communication layer corresponding to a communication protocol;
comparing, subsequently to sending the one or more queries, a response received over the connection with the one or more expected responses to determine an identifier for a kind of a physical communication link for the communication stack of the connection to the particular host device;
looking up preferred configurations for the one or more communication layers according to the determined identifier referencing the settings in the registry;
allowing communication between the digital camera device and the particular host device;
automatically identifying the particular host device that the digital camera device is connected to; and
based on said determined kind of physical communication link:
(1) establishing the communication session between the digital camera device and the particular host device for the communication stack of the connection, said communication session supporting file-serving communication protocols that present the digital camera device as a file server to the host device; and
(2) if needed by the host for supporting said file-serving communication protocols, automatically uploading a driver from the digital camera device to the particular host device and thereafter invoking execution of the driver at the particular host device, for providing host-side support for said file-serving communication protocols, wherein said particular host device and said digital camera device support TCP/IP connectivity corresponding to one of the communication protocols of the communication stack and wherein the communication session is a TCP/IP session.

### Claim 21 (depends on 20)

The method of claim 20, wherein said connecting step includes:
connecting the digital camera device to a particular host device over a wireless communication medium.

### Claim 22 (depends on 20)

The method of claim 20, wherein said connecting step includes:
connecting the digital camera device to a particular host device over a wireline communication medium.

### Claim 23 (depends on 22)

The method of claim 22, wherein said wireline communication medium includes a selected one of serial (RS-232) and USB (Universal Serial Bus) connectivity.

### Claim 24 (depends on 20)

The method of claim 20, wherein said particular host device comprises a computing device.

### Claim 25 (depends on 20)

The method of claim 20, wherein said particular host device comprises a handheld computing device.

### Claim 26 (depends on 20)

The method of claim 20, wherein said particular host device comprises a cellular phone device.

### Claim 27 (depends on 20)

The method of claim 20, further comprising: updating the knowledge base with corresponding communication information relevant to the particular device connected.

### Claim 28 (depends on 20)

The method of claim 20, wherein said particular host device includes facilities for offloading files from said digital camera device, wherein the preferred configurations include transmission speed properties of the kind of the physical communication link identified by the identifier.

### Claim 29 (depends on 20)

The method of claim 20, wherein said particular host device includes facilities for manipulating files, while those files reside on said digital camera device.

### Claim 30 (depends on 20)

The method of claim 20, wherein said identifying step occurs immediately upon connection of the digital camera device to the particular host device.

### Claim 31 (depends on 20)

The method of claim 20, wherein said identifying step includes:
probing the particular host device in a query/response fashion, for identifying the particular host device, wherein registry includes one or more query/response pairs arranged in an order, wherein the probing comprises sending query-byte sequences according to one of the query/response pairs.

### Claim 32 (depends on 31)

The method of claim 31, wherein said probing step includes:
referencing a knowledgebase that stores expected responses, for identifying the particular host device.

### Claim 33 (depends on 32)

The method of claim 32, wherein said expected responses comprise factory preset values.

### Claim 34 (depends on 32)

The method of claim 32, wherein said knowledgebase is stored in a registry of the digital camera device.

### Claim 35 (depends on 20)

The method of claim 20, wherein said communication session established between the digital camera device and the particular host device employs TCP/IP connectivity through use of Point-to-Point protocol.

### Claim 36 (depends on 20)

The method claim 20, wherein said file-serving communication protocols comprise a file-specific interface allowing the particular host device to directly access files, while those files reside on the digital cameral device.

### Claim 37 (depends on 20)

The method of claim 20, wherein said file-serving communication protocols comprise a command set providing the particular host device with file-based access and manipulation of files residing on the digital camera device.

### Claim 38 (depends on 20)

The method of claim 20, further comprising:
providing host-side support for the file-serving communication protocols by injecting an appropriate driver into the particular host device.

### Claim 39 (depends on 38)

The method of claim 38, wherein the appropriate driver is initially stored on said digital camera device and is injected into the particular host device upon connection of the two devices together.

### Claim 40

A digital camera device allowing a variety of disparate host devices access to files residing on the digital camera device, upon the digital camera device's connection to one of the host devices, the digital camera device comprising:
a connection interface for enabling the connection of the digital camera device to a particular host device that is capable of hosting the digital camera device;
an identification module configured for sending, prior to establishing a communication session on top of a physical communication link for a communication stack of the connection, one or more queries over the connection, the one or more queries being associated with one or more expected responses stored in a knowledgebase including a registry having key settings configured with factory preset values, the communication stack having one or more communication layers including the communication session, each communication layer corresponds to a communication protocol comparing, subsequently to sending the one or more queries, a response received over the connection with the one or more expected responses according to the key settings of the registry to determine an identifier for a kind of the physical communication link for the communication stack of the connection to the particular host device;
looking up preferred configurations for the one or more communication layers according to the determined identifier referencing the configured key settings in the registry device is currently connected to, wherein the key settings include sub-keys as a table of possible communicating devices that may be connected from time to time to the digital camera device and wherein the particular host device is indicated by one or more internal flags updated according to the identification; and
a communication module for establishing, based on said determined kind of physical communication link, the communication session between the digital camera device and the particular host device, wherein said communication session supports file-serving communication protocols that present the digital camera device as a file server to the host device, wherein the access of the files includes quality of the files depending on the preferred configurations for the preferred configurations for the one or more communication layers of the communication stack, wherein said particular host device and said digital camera device support TCP/IP connectivity corresponding to one of the communication protocols of the communication stack and wherein the communication session is a TCP/IP session.

### Claim 41 (depends on 40)

The device of claim 40, wherein said connection interface supports connecting the digital camera device to a particular host device over a wireless communication medium.

### Claim 42 (depends on 40)

The device of claim 40, wherein said connection interface supports connecting the digital camera device to a particular host device over a wireline communication medium.

### Claim 43 (depends on 42)

The device of claim 42, wherein said wireline communication medium includes a selected one of serial (RS-232) and USB (Universal Serial Bus) connectivity.

### Claim 44 (depends on 40)

The device of claim 40, wherein said particular host device comprises a computing device.

### Claim 45 (depends on 40)

The device of claim 40, wherein said particular host device comprises a handheld computing device.

### Claim 46 (depends on 40)

The device of claim 40, wherein said particular host device comprises a cellular phone device.

### Claim 47 (depends on 40)

The device of claim 40, wherein the knowledge base is updated with corresponding communication information relevant to the particular device connected.

### Claim 48 (depends on 40)

The device of claim 40, wherein said particular host device includes facilities for offloading files from said digital camera device, wherein the preferred configurations include transmission speed properties of the kind of the physical communication link identified by the identifier.

### Claim 49 (depends on 40)

The device of claim 40, wherein said particular host device includes facilities for manipulating files, while those files reside on said digital camera device.

### Claim 50 (depends on 40)

The device of claim 40, wherein said identification module operates to identify the particular host device immediately upon connection of the digital camera device to the particular host device.

### Claim 51 (depends on 40)

The device of claim 40, wherein said identification module probes the particular host device in a query/response fashion, for identifying the particular host device, wherein the key settings include one or more query/response pairs arranged in an order, wherein the probing comprises sending query-byte sequences according to one of the query/response pairs following the order and wherein the query-byte sequences match the one of the query/response pairs if a value of the one of the query/response pairs is of zero length.

### Claim 52 (depends on 51)

The device of claim 51, wherein said identification module references a knowledgebase that stores expected responses, for identifying the particular host device.

### Claim 53 (depends on 52)

The device of claim 52, wherein said expected responses comprise factory preset values.

### Claim 54 (depends on 32)

The device of claim 32, wherein said knowledgebase is stored in a registry of the digital camera device.

### Claim 55 (depends on 40)

The device of claim 40, wherein said communication session established between the digital camera device and the particular host device employs TCP/IP connectivity through use of Point-to-point protocol.

### Claim 56 (depends on 40)

The device claim 40, wherein said file-serving communication protocols comprise a file-specific interface allowing the particular host device to directly access files, while those files reside on the digital camera device.

### Claim 57 (depends on 40)

The device of claim 40, wherein said file-serving communication protocols comprise a command set providing the particular host device with file-based access and manipulation of files residing on the digital camera device.

### Claim 58 (depends on 40)

The device of claim 40, wherein the driver injection module stores an appropriate driver initially on said digital camera device, wherein the driver is injected into the particular host device upon connection of the two devices together.

### Claim 59 (depends on 40)

The device of claim 40, wherein the communication session is initially established using Point-to-Point protocol.

### Claim 60 (depends on 40)

The device of claim 40, wherein said file-serving communication protocols include FTP (File Transport Protocol) support.

### Claim 61 (depends on 40)

The device of claim 40, further comprising: a driver injection module for providing host-side support for said file-serving communication protocols if not already present, said driver injection module operating by automatically uploading a driver from the digital camera device to the particular host device and thereafter invoking execution of the driver at the particular host device, so that the host device may access files residing on the digital camera device, as if the digital camera device were a file server.
