SYSTEM AND METHOD FOR
DOWNLOADING INFORMATION TO A
BACKGROUND OF THE INVENTION 5
Today, there a variety of mobile devices that are designed to keep a user updated with current information. For example, there are personal digital assistants, wireless phones, email devices, and the like. While each of these 10 mobile devices may offer somewhat unique information, each of the mobile devices need to synchronize their information at some time with a fixed device (i.e., a synchronization server). The process for updating information is commonly referred to as a synchronization session. 15
The information that is synchronized may include emails, attachments to emails, web page content, and the like. The information varies in size. For example, some attachments may be quite large (e.g., 2 Mbytes). Thus, during the synchronization session, the large attachment is downloaded 20 over a wireless connection to the mobile device. However, downloading large attachments over a wireless connection may be very expensive and time-consuming. The mobile device incurs a usage charge for the total time that the mobile device is synchronizing with the fixed device over 25 the wireless network. A typical synchronization session may take several minutes. Therefore, there is a need for a mechanism that minimizes the duration of the synchronization session.
SUMMARY OF THE INVENTION
The present invention is directed at an efficient system and method for downloading information to a mobile device. Briefly stated, the system and method provide a mechanism 35 for selectively identifying the type of information that can be downloaded to the mobile device. In one embodiment, the mechanism includes a user interface resident on the mobile device that allows user selection of the type of information. In another embodiment, the mechanism includes a profile 40 maintained on a server. The profile identifies the type of information, such as file types, that a particular mobile device supports. As a further refinement, the type of information may be based on a file size associated with the information. Once the type of information is identified, the 45 server downloads the identified type of information to the mobile device without downloading undesired types of information. Thus, in accordance with the present invention, the synchronization session of the mobile device is efficiently managed so that undesired information is not down- 50 loaded to the mobile device.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an exemplary computing device that 55 may be used in one exemplary embodiment of the present invention.
FIG. 2 illustrates an exemplary mobile device that may be used in one exemplary embodiment of the present invention.
FIG. 3 is a functional block diagram of an exemplary 60 synchronization system as implemented using the computing device shown in FIG. 1 and the mobile device shown in FIG. 2.
FIG. 4 is a sequence flow diagram illustrating a synchronization process between the mobile device shown in FIG. 65 2 and the computing device shown in FIG. 1, in accordance with one embodiment of the present invention.
FIG. 5 is a sequence flow diagram illustrating another synchronization process between the mobile device shown in FIG. 2 and the computing device shown in FIG. 1, in accordance with another embodiment of the present invention.
FIG. 6 is a graphical representation generally illustrating the salient portions of a profile suitable for use during the synchronization process of FIG. 4 and FIG. 5.
FIG. 7 is an illustrative screen shot of a user-interface that may be presented on the mobile device shown in FIG. 2, in accordance with one implementation of the invention.
DETAILED DESCRIPTION OF THE
Briefly stated, the present invention is directed at efficiently downloading information of interest to a mobile device. The information of interest may be based on file types supported by the mobile device, the amount of storage available on the mobile device, and the like. These and other aspects of the invention will become apparent to those skilled in the art after reading the following detailed description.
Illustrative Operating Environment
With reference to FIG. 1, one exemplary system for implementing the invention includes a computing device, such as computing device 100. In a very basic configuration, computing device 100 typically includes at least one processing unit 102 and system memory 104. Depending on the exact configuration and type of computing device, system memory 104 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. System memory 104 typically includes an operating system 105, one or more program modules 106, and may include program data 107. This basic configuration is illustrated in FIG. 1 by those components within dashed line 108.
Computing device 100 may have additional features or functionality. For example, computing device 100 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 1 by removable storage 109 and non-removable storage 110. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. System memory 104, removable storage 109 and non-removable storage 110 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 100. Any such computer storage media may be part of device 100. Computing device 100 may also have input device(s) 112 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 114 such as a display, speakers, printer, etc. may also be included. These devices are well known in the art and need not be discussed at length here.
Computing device 100 may also contain communication connections 116 that allow the device to communicate with other computing devices 118, such as over a network. Communication connections 116 are one example of com