A digital camera typically has memory which can store a finite number of pictures. A photographer, therefore, can take only a limited number of pictures before the pictures stored on the camera must be off-loaded, for example, to a computer, to make room for more pictures. A photographer may not always have easy access to a computer to off-load the pictures. For example, while on a vacation, the photographer may not have access to a computer.
For a detailed description of exemplary embodiments of the invention, reference will now be made to the accompanying drawings in which:
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, computer companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . .” Also, the term “couple” or “couples” is intended to mean either an indirect, direct, optical or wireless electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, through an indirect electrical connection via other devices and connections, through an optical electrical connection, or through a wireless electrical connection.
The network 25 comprises a local area network (LAN), a wide area network (WAN), or other type of network through which the server 10 and user interface device 30 communicate with each other. In some embodiments, the network 25 comprises the Internet. The user interface device 30 communicates with the server 10 from a location close to (e.g., in the same room) or remote from (e.g., in different rooms, buildings, geographical locations) the server 10.
The user interface device 20 comprises a computer in accordance with at least some embodiments. As such, the user interface device 20 comprises a processor 32 and may comprise other components (e.g., memory, keyboard, display, etc.) as desired.
In accordance with various embodiments, a portable computer-readable medium (CRM) 40 is also provided and may be removably coupled to the processor 32 of the user interface device 20. The CRM 40 comprises any of a variety of non-volatile storage devices. Examples comprise Flash memory, electrically-erasable read-only memory (EEPROM), etc. The CRM 40 may also comprise battery-backed random access memory (RAM). In some embodiments, the CRM 40 comprises a memory device from a digital camera. In accordance with some embodiments, the CRM 40 comprises a U3 drive. A U3 drive comprises a universal serial bus (USB) interface for coupling to the user interface device 20. Further, a U3 drive is capable of storing software that is executable by the computer to which the U3 drive is coupled. The software stored on a U3 drive is automatically executed by the host computer.
The CRM 40 stores one or more files 42. Each file 42 comprises any of a variety of types of information such as images (e.g., digital photographs), video, audio, text, authentication digests, file metadata. A file 42 may comprise one such type of information or combinations of two or more types of such information. Further, one file 42 may comprise one type of information (e.g., digital photographs), while another file comprises a different type of information (e.g., text). In
In at least some embodiments, the CRM 40 also comprises software 44 which is executable by processor 32 of the user interface device 30 when the CRM 40 is coupled to the user interface device 30. In some embodiments, the software 44 is automatically executed upon a user coupling the CRM 40 to the user interface device 30. For example, in some embodiments as noted above, the CRM 40 comprises a U3 drive. A characteristic of a U3 drive, as noted above, is that software contained therein can be executed automatically upon coupling the U3 drive to a computer (a feature sometimes referred to as “Autoplay”).
In accordance with the disclosed embodiments, a user causes one or more files to be automatically transferred from the CRM 40 across the network 25 to a destination location such as server 10. For example, each time the user couples the CRM 40 to the user interface device 30, the software 44 automatically executes on the processor 32 to select files 42 in accordance with the policy 20 and transfer the selected files to the server 10. Automatic execution of the software 44 comprises the processor 32 executing the software 44 without being a prompt from the user-execution of the software 44 is caused by the user coupling the CRM 40 to the user interface device 30.
In some embodiments, Internet Protocol (IP) address, Uniform Resource Locator (URL) or other identifying mechanism of the server 10 is programmed onto the CRM 40. This identifying mechanism is used by the software 44 to establish a communication channel between the user interface device 30 and the server 10 via the network 25. In such embodiments, the user interface device 30 accesses the same server 10 to receive the transferred files 42 each time the user couples the CRM 40 to the user interface device 30.
After uploading the files from the CRM 40 to the server 10, the user can delete the files that were transferred from the CRM 40 and save new files to the CRM 40 to be uploaded the next time the user couples the CRM to the user interface device 30. In other embodiments, the user can leave the files that were transferred on the CRM. While in some embodiments, all files 42 are transferred from the CRM 40 to the server 10, in other embodiments, one or more, but not necessarily all, of the files 42 are transferred to the server. The file(s) that are selected for transferring to the server 10 are selected based on the policy 20.
The policy 20 is configured by the user of the server 10 and comprises one or more criteria used to determine which files are to be transferred from the CRM 40 to the server 10. Table I provides an illustrative list of criteria that can be implemented as part of the policy. The policy comprises any one or more of such criteria. Other criteria can be implemented as well as part of the policy.
In accordance with the “no repeat transmission” policy criterion, once a file has been transferred from the CRM 40 to the server 10, that same file will not again be transferred. Thus, when a user couples the CRM 40 to the user interface device 30, only those files that have not already been transferred will be transferred, thereby expediting the transfer process. In some embodiments, all files that have not previously been transferred are selected for transfer to the server 10. In other embodiments, files that have already been transferred are not selected and the remaining files may or may not be selected based on one or more of the other policy criteria. The processor 32 stores a tag associated with each file to indicate whether that file has been transferred to the server 10. Examination of the tags enables the processor 32 to determine which files have already been transferred to the server and which have not.
In accordance with the “file type” policy criterion, only those files of a specified file type will be transferred. For example, a user may specify a file type of Joint Photographic Experts Group (JPEG) as part of the policy 20. Then, when the user couples the CRM 40 to the user interface device 30, only JPEG files from among the files 42 will be transferred from the CRM 40 across the network 25 to the server 10. The user can specify one or more files types as part of the policy.
In accordance with the “file size” policy criterion, only those files whose size is equal to or less than a specified threshold will be transferred. For example, a user may specify a file size of 2 megabytes. Then, when the user couples the CRM 40 to the user interface device 30, only those files 42 having a size equal to or less than 2 megabytes will be transferred to the server. In some embodiments, only those files whose size is greater than the specified the file size are transferred. In yet embodiments, the user specifies a range of sizes and thus only files whose size falls within the specified range are transferred.
In accordance with the “file name” policy criterion, only those files whose name matches a specified name will be transferred. The user can specify a complete file name or a partial name with a “wild card.” For example, the user may specify a name of “picture*”. The asterisk (*) is a wild card and thus the specified name in this example includes all files whose name starts with “picture.”
In accordance with the MIME criterion, various standard file type identifiers are known to those skilled in the art, examples including HyperText Markup Language (HTML), Joint Photographic Experts Group (JPEG), Manolito Point-to-Point (MP2P), etc. These MIME types may be included in file selection policies when transferring files from the CRM 40. In some embodiments, file selection policies might be restricted to a list of known video MIME types.
In accordance with the metadata criterion, metadata refers to any data about a file, whether included as part of the file (examples include Exchangeable Image File (EXIF) and Tagged Image File Format (TIFF)), or whether located externally in a separate file or database. Examples of external metadata (i.e., metadata stored separate from the file to which the metadata pertains) comprise Resource Forks of the Apple Corp., Thumbs.db files, etc. Use of metadata for policy selection might be used to select only those files with EXIF data identifying a specified camera manufacturer (e.g., Sony Corp.). Another example is to use geographic metadata stored within or external to a video file describing the physical location of the camera at the time the video was created. A policy might select only video files that were created in Europe.
In accordance with the “file creation date” policy criterion, only those files created after (or before) a specified data are transferred from the CRM 40 to the server 10.
In an embodiment of the copyright policy criterion, only those files that are not tagged with a copyright notice or are not tagged with a copyright notice of a user-specified entity are transferred.
In accordance with the file descriptive information, authenticity, and ownership policy criteria, only files that can be authenticated as having been created by a specific user, or by a specific piece of equipment are selected to be transferred in some embodiments. These criteria are enforced by use of a message digest code (MAC) file that is used to verify that the file was created by someone or something in possession of a private key, or by other methods of verifying the authenticity of data.
In some embodiments, the policy 70 remains on the CRM 40 for use the next time a user couples the CRM 40 to the user interface device 30. In other embodiments, the policy 20 is transferred from the server 10 to the CRM 40 each time the user couples the CRM 40 to the user interface device 30 regardless of whether the policy 70 is already present on the CRM 40. Thus, the automatic file transfer process uses the most current policy 20.
At 126, the server 10 compares the file information 52 to policy 20 and generates a file list 54 accordingly. In some embodiments, the logic 12 of the server 10 receives the file information 52 and the policy 20 and generates the file list 54. The file list 54 comprises a list of the files 42 from the CRM 40 that are to be transferred from the CRM 40 to the server 10. The file list 52 is generated by the server 10 applying the policy 20 to the file information 52. At 128, the server 10 transfers the file list to the user interface device 30. This transfer is depicted by arrow 68 in
At 128, the user interface device 30 selects a file(s) 42 in accordance with the file list 56, which itself was generated based on the policy 20. At 118, the user interface device 30 automatically transfers the selected file(s) across the network 25 to the server 10.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.