Minimizing data transfer from POP3 servers

Systems and methods are disclosed that facilitate minimizing data transfer from a post office protocol (POP) server to a client device by employing a date filter with a predefined date range and applying a message body size threshold above which only a message header will be downloaded to conserve bandwidth and/or memory space on the client device. A user can request download of a message for which only a message header was originally downloaded if the header comprises information of interest to the user.

BACKGROUND OF THE INVENTION

Computers and computer-based devices have become a necessary tool for many applications throughout the world. Typewriters and slide rules have become obsolete in light of keyboards coupled with sophisticated word-processing applications and calculators that include advanced mathematical functions/capabilities. Moreover, computers that were once used solely for analyzing data have, over time, been transformed into multi-functional, multi-purpose machines utilized for contexts ranging from business applications to multi-media entertainment. Costs of such computing mechanisms have also trended downward, rendering personal computers ubiquitous throughout many portions of the world.

As computing devices have continued to develop and their use have become more widespread, peripherals associated with such devices have also become commonplace. For instance, typical computing devices include a plurality of ports (e.g., wired or wireless) into which peripherals can be attached and utilized in connection with the aforementioned computing devices. More particularly, attachable peripherals can include printers, keyboards, portable music/video players and recorders, cameras, video cards, speaker systems, personal digital assistants (PDAs), portable telephones, smart phones, or any other suitable computer peripheral. These devices can be physically coupled to a computing device by way of ports (e.g., USB ports, printer ports, . . . ), or can be communicatively coupled over a wireless link. This interaction of peripherals with computing devices has rendered such computing devices even more valuable in terms of user efficiency. Additionally, in the case of memory (resident or peripheral), finite storage limitations must be considered when allocating memory resource.

As computing devices become smaller, it can be desirable to maximize the efficiency with which memory space is allocated. Additionally, as file size and/or complexity increases due to advances in email technology, allocated memory for email downloads can be quickly consumed. Post-office protocol 3 (POP3) is a standard protocol for receiving email, by which email is stored in a message server until a user download, upon which event a downloaded email is deleted from the server or saved for a predetermined amount of time. Conventional POP3 server systems require a user to download a significant portion of email data that is ultimately discarded, thereby wasting valuable memory space on a client device. Thus, there exists a need in the art for systems and/or methodologies that overcome the aforementioned deficiencies of such email servers.

SUMMARY OF THE INVENTION

The subject invention disclosed and claimed herein, according to an aspect thereof, comprises a method of minimizing data transfer from a post office protocol (POP) server, such as a POP3 server. A date filter can be employed to filter messages to be downloaded to a client device according to whether or not such messages were delivered to the server within a predefined date range employed by the date filter. Messages excluded by the date filter can be downloaded with headers only to minimize bandwidth and storage requirements. In order to mitigate unnecessary download upon a user request to retrieve more than just the message header, an optimization algorithm can be employed to determine a size of a full or partial message body relative to the message header for the message, as well as elapsed time since a last message download session, to determine whether or not to include the message body portion with the header during download.

In another aspect, a system is disclosed that comprises a date filter and an analysis component that measures a size of a message header (e.g., in bytes), and determines a message body size threshold beyond which only the message header will be downloaded to conserve bandwidth and/or memory space on a client device to which the header is downloaded. The threshold value can be a predetermined multiple of the header size, or can be dynamically determined based in part on a time since a last download request. For instance, a longer time period since a last download increases a probability that there will be messages excluded by the date filter, thus permitting a smaller threshold value to be tolerated. Conversely, a shorter time period since a most recent previous download can increase a probability that there will be a high number of messages included by the date filters, permitting a higher threshold value to be tolerated and/or implemented.

According to a related aspect, a threshold calculation component can provide a comparison of predicted amounts of wasted bytes downloaded by employing each of a header-only protocol and a header-plus-partial message protocol, and can resolve the predicted waste values to determine an optimum threshold size value that minimizes extraneous download of information from a POP3 server to a client device to conserve resources.

DETAILED DESCRIPTION OF THE INVENTION

The subject invention relates to minimizing an amount of data transferred from a post office protocol (POP) email server when date filtering is employed by a client. Mobile devices typically have limited storage capacity. When storing e-mail on such a device, it can be desirable to store only recent e-mail messages in order to mitigate memory consumption. An e-mail client can have an option to store and display e-mail that is dated within the past X days, where X is an integer. In addition, it can be desirable to download only a portion of an email so that unusually large e-mail messages do not consume all of the available storage capacity. An e-mail client can have an option to store and display only the first Y lines or Z bytes of a message, where Y and Z are integers.

Network bandwidth to a mobile device can also often be limited and can incur a financial cost (to the user or network operator or both). Conventional POP protocols do not provide for filtering email messages according to date information.

In contrast to conventional systems, when downloading new email from a POP server, aspects described herein permit a client to select to download from the server only the email messages that are dated within a specified date range (and that have not already been downloaded to the client). The client can also limit the size of each downloaded message to satisfy any restrictions placed on the storage size of new email messages. Thus, an aspect of the invention provides for an algorithm that facilitates determining a most efficient method for downloading email from a POP server when date filtering is employed.

FIG. 1is an illustration of a methodology100for minimizing data transferred from a POP email server by employing a date filter to make a determination of whether to download a portion of an email message or only an email header to a client. When downloading an email from a POP server, a client device can download the email header only, the email header and part of the message body (e.g., a finite but variable number of lines following the header), and/or the header and the entire message body. Such downloading options generally correspond to a user option to store email data on a mobile device (e.g., a cellular phone, a laptop, a PDA, a smartphone, . . . ) in one of three manners. For example, a user can store the header only, the header and part of the message body, and/or the header and the entire message body. When a date filter is employed and the user requests more than just a message header to be downloaded and stored on the mobile device, there exists potential for memory to be needlessly occupied as well as bandwidth to be wasted during download because the message can ultimately be excluded by the date filter. That is, a user who downloads a message prior to subjecting the message to the scrutiny of the date filter risks occupying system resources that need not be occupied. For instance, if a client that downloads a header and a portion of a message body associated therewith, and if the message is excluded by the date filter, then the client has unnecessarily downloaded and stored the portion of the message body when only the header was required to determine whether the message should be excluded (e.g., the header can comprise a date field that can be employed to determine whether the message is within a date range specified by the date filter). The methodology100is provided to address such a situation to mitigate unnecessary data download and/or storage, and provides an algorithm that determines whether to include a partial message body when downloading messages, which determination can be made dynamically prior to retrieving new messages upon each user request to download a new email.

At102, a partial message size threshold, R, can be determined, which can be relative to and based at least in part on, a size of a typical message header. The partial message body size threshold, R, defines the boundary between small and large, relative to the size of the message header. R can be defined in an ad-hoc manner, and can be configurable via a registry key. At104, a partial message size, P, can be determined, assigned, etc., that can be compared to the threshold, R, defined at102. At106, a determination can be made regarding whether the date of the email or message satisfies a date filter. For instance, if a date filter with a range of 7 days is utilized, then an email received within the last 7 days will satisfy the date filter while a more aged email will be excluded by the date filter. If the email message satisfies the date filter at106, then the method can proceed to110, where the header and a portion or all of the message body can be downloaded to the client (e.g., mobile device). If the date filter is not satisfied at106, then at108a determination can be made regarding whether the size of the message portion, P, to be downloaded is less than the defined threshold, R. If it is determined that P<R, then the method can proceed to110where the header and the message portion can be downloaded and stored on the client device.

If, however, the message fails to satisfy the date filter at106and the message portion to be downloaded is larger than the threshold portion size as determined at108, then at112, only the header of the email message will be downloaded to the mobile device in order to save valuable memory space on the device and bandwidth associated with the download. The user can be permitted to request download of the message body or a portion thereof at114, if the user deems the message important based on information provided in the header.

In accordance with performing the methodology100, several observations can be taken into account. For example, message headers are typically of a known, constant size (e.g., 500 bytes, . . . ). If a user selects to store partial message bodies of a size that is small relative to the size of the header (e.g., 2-3 kilobytes, . . . ), then the extra cost of downloading the partial message is negligible. If the user selects to download and store entire message bodies or partial messages of a size that is large relative to the size of the header, then it can be desirable to download only the header of the message because the cost of downloading the header a second time in response to a user request (e.g., at114) is negligible when compared to the cost of downloading the entire message unnecessarily. If the time since a last download request is less than the range of the date filter, then partial message bodies, regardless of their size (e.g., up to and including the entire message), should be downloaded with their respective headers because there exists a high probability that all new messages will be included by the date filter. Finally, if the time since a last download request is greater than the range of the date filter, then only the headers should be initially downloaded because there is a high probability that some messages will be downloaded unnecessarily.

The following discussion provides an example to illustrate the functionality of the methodology100. According to the example, a date filter can be employed with a date rage of three days, and a partial download size, P, can be determined to be 2000 bytes. Additionally, header size can be estimated to be 500 bytes and a partial message download size threshold can be set to 3000 bytes. Throughout this example, messages on the server with future dates (e.g., dates later than the download date being described) have not actually been delivered as of the download date, but are present for purposes of clarity and continuity. Table 1 expresses various initial conditions for a set of messages according to the present example:

To further this example, it can be determined that a first message download request is made on December 25. Because this is a first download, a last download date does not exist, so an assumption can be made that only headers should be downloaded, which results in a total savings of 1000 bytes because one of the messages is out of the filter range, as indicated in Table 2, below. As will be noted, 1500 bytes were saved on the first message because the device only downloaded the first 2000 bytes of a possible 5000.

If a next download request occurs on Jan. 1, 2005, then the previous request occur 7 days prior to the present request, which exceeds the 3-day date filter range. Accordingly, headers can be downloaded before a message or portion thereof is downloaded, to determine whether individual messages satisfy the date filter. As illustrated in Table 3, a total of 1000 bytes worth of headers were downloaded twice (e.g., once to verify date filter compliance and again with the message portion upon date filter satisfaction). However, such duplicate header download is negligible in view of the considerable bandwidth and memory savings that can be achieved by requiring date filter compliance in a POP3 emailing environment.

Still referring to the example, a next download request can occur on Jan. 3, 2005, such that the time since the last download request is less than the range of the date filter. Thus, all messages delivered to the server since the January 1 download can be downloaded in the header-plus-partial message body format described with regard to the methodology100, resulting in a net savings of 2500 bytes on the January 3 download, as illustrated below in Table 4.

As can be seen from the preceding example, byte savings can be substantial, especially when the date range is set large enough to accommodate a user's email downloading habits. For instance, most email users check their email daily, so that a date range of three days is sufficient to ensure that a time period between downloads is within the date range. In this manner, unnecessary byte download waste can be mitigated such the 500-byte waste per email illustrated in Table 3 is not present in Table 4 because the 500 bytes were not downloaded. It is to be appreciated that the various date ranges, threshold values, etc., described herein are illustrative in nature and are not intended to be taken in a limiting sense.

According to another example, a user can configure settings to download a 5-kb partial message size, request 3 days worth of email, and synchronize to a server at day 7 since a last download. According to this example, it can be assumed for illustrative purposes that the user receives 5 email messages per day. Under a conventional system, upon synchronization, a client device will download 175 kb of data (e.g., 5 kb/message*7 days*5 messages/day). However, 4 of the 7 days of email will not be kept on the client device, resulting in download waste of 100 kb, while 75 kb are retained in the client device. In contrast, according to an aspect of the subject invention, under the same downloading conditions, the client device will download 82.5 kb (e.g., 5.5 kb per partial message with header*3 days of new mail*5 messages per day), of which 75 kb will be retained on the client device. Thus, according to his aspect, a net savings of 92.5 kb can be achieved.

FIG. 2illustrates a methodology200for minimizing data transferred from a POP email server by employing a date filter to make a determination of whether to download a portion of an email message or only an email header to a client and permitting dynamic switching between download schemes upon detection of a boundary related to date filter inclusion. At202, a partial message size threshold, R, can be determined and/or defined. The partial message body size threshold, R, delineates a boundary between small and large, relative to the size of the message header. At204, a partial message size, P, can be determined, assigned, etc., for later comparison to the threshold, R, which was defined at202. At206, a determination can be made regarding whether the date of the email or message satisfies a date filter (e.g., is within a predefined date range, . . . ). If the email message is within the range of the date filter at206, then at210the header and a portion or all of the message body can be downloaded to the client (e.g., mobile device, laptop, cellular phone, smartphone, PDA, PC, . . . ). If the date filter is not satisfied at206, then at208a determination can be made regarding whether the size of the message portion, P, to be downloaded is less than the defined threshold, R. If it is determined that P<R, then the method can proceed to210, where the header and the message portion can be downloaded and stored on the client device.

In the event that the message fails to satisfy the date filter at206and the message portion to be downloaded is larger than the threshold portion size as determined at208, then at212, only the header of the email message will be downloaded to the mobile device in order to mitigate unnecessary consumption of memory space on the device and/or bandwidth associated with download messages.

If, after initiation of a header-plus-message portion download at210, it is determined by the client that a boundary related to message exclusion by the date filter has been or will soon be crossed (e.g., the current message is dated at or near an earliest date in the date filter range and messages are assessed in reverse-chronological order starting with a most recent, such that one or more successive messages will also likely be without the date filter range), then the client can dynamically switch from downloading the header and message portion to downloading only the header, at216. If a user desires to download the entire message or a portion thereof, the user can be permitted to do so at218. Similarly, if after initiation of a header-only download at212, it is determined by the client that a boundary related to message exclusion by the date filter has been or will soon be crossed (e.g., the current message is dated at or near an earliest date in the date filter range and messages are assessed in chronological order starting with first delivered message after a last download, such that one or more successive messages will also likely be within the date filter range), then the client can dynamically switch from downloading only the header to downloading the header and a portion of the message body, at214.

FIG. 3illustrates a methodology300for mitigating bandwidth and/or memory consumption by a device when downloading email from a POP email server wherein a partial email message download size threshold is dynamically calculated based in part on an amount of time since a last download request. The method is similar to that described above with regard toFIG. 1. However, a major distinction from the method ofFIG. 1occurs with the dynamic determination of the threshold value, R, at302. To calculate the value of R, a time since last download can be assessed. For instance, the longer the time period since a last download request, the higher the probability that messages exist that will be excluded by a date filter. Thus, a smaller value for R can be tolerated. Conversely, the more recently a last download request was made, the higher the probability for messages that will be included by the date filter, which in turn permits a tolerance for a relatively larger value for R.

For example, let E be an expected percentage of messages excluded by the date filter, let H be header size (a constant), and let P be partial message size (e.g., configurable by a user). Waste, w, generated by the respective downloading methods can be described as:
wp(n)=E*P*n; and
wh(n)=(1−E)*H*n
where n is a number of messages downloaded, wpis expected waste generated by downloading partial message bodies with message headers, and whis expected waste generated by downloading headers only and potentially re-downloading the a header with its respective message.

Given the preceding expressions, a partial message size that will result in substantially equal amounts of waste for each method can be derived such that:
P=H/E−H; and
R=H/E−H

Given the above, a boundary can be determined that can facilitate selecting one method of download over the other. Since H is typically a constant value (or dynamically adjusted by the client after a substantial number of download requests), the threshold value R can be calculated given a reasonable value for E. For instance, let T be the time since last download request, and let D be the date range used by the date filter. The E can be calculated such that:
E=0, when T<D; and
E=(1−D/T), whenT>=D

Thus, as E approaches 0, indicating that no messages are expected to be excluded by the date filter, the value of R can approach infinity because wp(n)=0. Conversely, if T is much greater than D, then very little waste will be generated by downloading headers only on an initial download because wh(n) approaches 0 when E approaches 1.

Once a value for R has been determined using the optimization technique at302, a partial message size, P, can be identified at304. At306, a determination can be made regarding whether the date of the email or message satisfies the date filter range. Upon inclusion by the date filter at306, the method can proceed to310, where the header and a portion or all of the message body can be downloaded to the client device. If the date filter range requirement is not satisfied at306, then at308a determination can be made regarding whether the size of the message portion, P, to be downloaded is less than the dynamically determined threshold, R. If it is determined that P<R, then the method can proceed to310where the header and the message portion can be downloaded and stored on the client device.

If the message portion to be downloaded is larger than the threshold portion size as determined at308, then at312, only the header of the email message is downloaded to the mobile device, which conserves valuable memory space on the device and bandwidth associated with the download. A user can request download of the message body or a portion thereof at314, if the user wishes to download and/or view the message body based on information provided in the downloaded header.

Now turning toFIG. 4, a system400is illustrated that facilitates mitigating bandwidth and memory requirements associated with downloading email messages from an email server, such as a POP server. The system400comprises a date filter402that is operatively coupled to a message analysis component404. The analysis component404can receive input related to one or more emails to be downloaded and can determine an appropriate portion of the email to download to permit based at least in part on a delivery date of an email and a date range provided by the date filter402. In this manner, the system400can mitigate unnecessary download and/or storage of email that is ultimately discarded. The analysis component404can employ an algorithm to determine the size of an email or a portion thereof relative to the size of the email header to facilitate predicting whether downloading only the header for the email or the header and a portion of the email is likely to be more efficient in mitigating waste associated with unnecessary email downloads.

For example, upon downloading an email from a server (not shown), the analysis component can determine whether it is more efficient to download the email header only, the email header and part of the message body, and/or the header and the entire message body. Such downloading options additionally can correspond to storing email data in one of three manners. When date filter402is employed and more than a message header is to be downloaded and stored, there exists potential for system resources to be wasted during download because the message can ultimately be excluded by the date filter402(e.g., if the date of the message is not within the range of the date filter402). Downloading a message prior to subjecting the message to the date filter402risks occupying system resources that need not be occupied. For instance, download of a header and a portion of a message body associated therewith, followed by exclusion of the message by the date filter402, can result in wasted resources being occupied to download and store the portion of the message body when only the header was required to determine whether the message should be excluded.

FIG. 5is an illustration of system500that facilitates mitigating resource waste when downloading emails from a POP server to a client device. The system500comprises a date filter502that is operatively coupled to a POP message analysis component504. The analysis component504is further operatively associated with a client device508. It will be appreciated that, although depicted as separate components, either or both of the analysis component504and the date filter502can be integral to the client device508. The client device508is further operatively associated with a POP3 message server506from which the client device508can retrieve email messages.

When a user of the client device508initiates a download request to check email from the server506, the analysis component504can facilitate making a determination of a most efficient method of retrieving such email. For example, the analysis component504can compare a date in the header of an email to a date range associated with the date filter502. If the analysis component504determines that the date of the email is within the date range of the date filter502, then the email header can be downloaded as well as a portion of the email body. If the email header indicates that the email message does not satisfy the date filter502, then the analysis component504can compare the size of the message body to a predetermined message size threshold, which can be a function of header size, and can determine whether to download the header only, or the header and the message portion, to the client device508. Such a determination can be made, for example, by employing the algorithm set forth supra with regard toFIG. 1.

FIG. 6illustrates a system600that facilitates determining an appropriate method of message download to mitigate unnecessary consumption of resources during message download and/or storage. The system600comprises a date filter602with a predefined date range against which a date associated with an email to be downloaded from a POP3 server606to a client608can be compared to determine whether the message should be downloaded. The system600further comprises a message analysis component604that determines whether a message body, a portion thereof, or only a header for the message should be downloaded to minimize an amount of data transferred between the POP3 server606and the client device608, as described above with regard to the preceding figures.

The analysis component604comprises a boundary detector610that can facilitate a determination by the analysis component604whether the system600should switch from downloading a header only for an email message to a header-plus-partial message or vice-versa. For example, after initiation of a header-plus-message portion download for a particular email (e.g., based on date filter satisfaction and/or sub-threshold partial message size), the boundary detector component610can determine a boundary related to message exclusion by the date filter602has been or will soon be crossed (e.g., the current message has a date at or near an earliest date in the date filter range and messages are assessed in reverse-chronological order starting with a most recent, such that one or more successive messages will likely be without the date filter range), then the client608can dynamically switch from downloading the header and message portion to downloading only the header. Similarly, if after initiation of a header-only download, it is determined by the boundary detector610that a boundary related to message exclusion by the date filter602has been or will soon be crossed (e.g., the current message is dated at or near an earliest date in the date filter range and messages are assessed in chronological order starting with first delivered message after a last download request, such that one or more successive messages will also likely be within the date filter range), then the client608can dynamically switch from downloading the header only to downloading the header and message portion.

FIG. 7is an illustration of a system700that facilitates mitigating bandwidth requirements for email downloads from a POP3 server to a client device and dynamically determining a threshold message portion size. The system700comprises a date filter702and a message analysis component704, each of which is operatively coupled to a client device708and to each other. The client device708is furthermore coupled to a message server706that retains email messages for a user until the user employs the client device to download such email messages. The analysis component704comprises a boundary detection component710as detailed above with regard toFIG. 6, as well as a threshold calculation component712that facilitates dynamically determining a threshold size, R, for a portion of an email to be downloaded with an email header to minimize waste of system resources such as bandwidth and/or memory.

For example, the threshold component712can determine wpand wh, as detailed above with regard toFIG. 3. Once a value for R has been determined by the threshold calculation component712, a partial message size, P, for a given message can be determined by the analysis component704based on information contained in the header for the message. Once the date filter702has determined whether the date of the email or message satisfies the date filter range, the message can be added to a list of messages to be wholly or partially downloaded to the client708. If the date filter range requirement is not satisfied, then the analysis component704can determine whether the size of the message portion, P, to be downloaded is less than the dynamically determined threshold, R. If it is determined that P<R, then the header and the message portion can be downloaded from the server706and stored on the client device708. If the message portion to be downloaded is larger than the threshold portion size, then only the header of the email message will be downloaded to the client device708, in order to conserve system resources. If the user wishes to download and/or view the message body based on information provided in the downloaded header, the user can be permitted to initiate a download of the message body via the client device708.

FIG. 8illustrates a system800that facilitates data transfer minimization during message retrieval from a POP3 message server. The system800comprises a date filter802and a POP3 message analysis component804that respectively determine whether a message is recent enough and/or comprises a portion to be downloaded that is small enough to warrant downloading of the header and message portion rather than just the header. The system800also comprises a POP3 email server806that retains email messages for a client808until a user employs the client808to retrieve such messages from the server806. The client808is operatively coupled to each of the date filter802and the message analysis component804, which in turn comprises a boundary detection component801and a threshold calculation component812as detailed with regard to the preceding figures.

The system800further comprises a processor814and a memory816. It is to be appreciated that the processor814can be a processor dedicated to analyzing and/or generating information received by the message analysis component804and/or components thereof, a processor that controls one or more components of the system800, and/or a processor that both analyzes and generates information received by the message analysis component804and/or components thereof and controls one or more components of the system800.

The memory816can additionally store protocols associated with downloading a message header, a message header with a portion of the message body, and/or a header and an entire corresponding message body, protocols associated with determining an optimal threshold message size below which a message body portion may be downloaded, etc., as described herein. It will be appreciated that the memory816component can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of illustration, and not limitation, nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). The memory816of the subject systems and methods is intended to comprise, without being limited to, these and any other suitable types of memory.

FIG. 9is an illustration of a system900that facilitates improving data transfer efficiency between a POP3 message server and a client device by making inferences regarding a most suitable method of mitigating resource waste. The system900comprises a date filter902that determines whether a message to be downloaded is within a predefined date range to assess whether to download the header of the message with the message body or a portion thereof, or whether to download the header only (e.g., if the message is outside of the predefined date range). The date filter902is coupled to a POP3 message analysis component904that determines the size of a message header in bytes, and assesses the size of an associated message body. The analysis component904can predefine a message body size threshold based at least in part on the size of the header, beyond which only message headers will be downloaded to conserve system resources. For example, if the analysis component904determines that a header size is 500 bytes in size, a predefined message size threshold can be set at 2000 bytes. For messages excluded by the date filter902for being too aged to warrant download of more than just a message header, the analysis component904can still permit download of the header and a message body portion from a POP3 server906to a client908when the message body portion to be downloaded is below the 2000-byte threshold.

The analysis component904comprises a boundary detector910that permits the system900to dynamically switch between a header-only download protocol and a header-plus-partial message download protocol upon determining that a substantial number of upcoming messages will likely be included or excluded by the date filter902. The analysis component904further comprises a threshold calculator component912that facilitates dynamically determining an appropriate message portion size threshold based on predicted resource waste analysis, which can be implemented alternatively and/or in addition to the predefined message size threshold described above. Furthermore, the analysis component904is operatively coupled to each of a processor914and a memory916.

The system900further comprises an artificial intelligence (AI) component918that can make inferences regarding system operation. For example, the AI component918can receive information related to a particular type of attachment or embedded object in an email message to be downloaded and can infer that a message comprising such data should be downloaded using a header-only method due to the anticipated size of the message body (e.g., without assessing message size), etc. According to a related example, the AI component918can operate in conjunction with the boundary detector910to infer a proper time for switching between downloading methods, and/or with the threshold calculation component912to determine an appropriate message size threshold. It will be appreciated that the foregoing examples are illustrative in nature, and are not intended to limit the scope or number of inferences that can be made or the manner in which the AI component918makes inferences.

The AI component918(e.g., in connection with minimizing data transfer) can employ various artificial intelligence based schemes for carrying out various aspects thereof. For example, a process for determining which download method preserves system resources most efficiently can be facilitated via an automatic classifier system and process.

A classifier is a function that maps an input attribute vector, x=(x1, x2, x3, x4, xn), to a confidence that the input belongs to a class, that is, f(x)=confidence(class). Such classification can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to prognose or infer an action that a user desires to be automatically performed. In the case of email messaging systems, for example, attributes can be messages, headers, message body size, or other data-specific attributes derived from the messages, headers, etc. (e.g., dates, byte-size, . . . ), and the classes are categories or areas of interest (e.g., system resource waste, . . . ).

As will be readily appreciated from the subject specification, the subject invention can employ classifiers that are explicitly trained (e.g., via a generic training data) as well as implicitly trained (e.g., via observing user behavior, receiving extrinsic information). For example, SVM's are configured via a learning or training phase within a classifier constructor and feature selection module. Thus, the classifier(s) can be used to automatically perform a number of functions, including but not limited to determining according to a predetermined criteria whether to download a message header only or a message header and a portion of the message body, when to switch between download methods, whether a determined message body size threshold is optimal based on resource waste predictions, etc.

With reference again toFIG. 10, there is illustrated an exemplary environment1000for implementing various aspects of the invention that includes a computer1002, the computer1002including a processing unit1004, a system memory1006and a system bus1008. The system bus1008couples system components including, but not limited to, the system memory1006to the processing unit1004. The processing unit1004can be any of various commercially available processors. Dual microprocessors and other multi-processor architectures may also be employed as the processing unit1004.

A monitor1044or other type of display device is also connected to the system bus1008via an interface, such as a video adapter1046. In addition to the monitor1044, a computer typically includes other peripheral output devices (not shown), such as speakers, printers, etc.

When used in a LAN networking environment, the computer1002is connected to the local network1052through a wired and/or wireless communication network interface or adapter1056. The adaptor1056may facilitate wired or wireless communication to the LAN1052, which may also include a wireless access point disposed thereon for communicating with the wireless adaptor1056. When used in a WAN networking environment, the computer1002can include a modem1058, or is connected to a communications server on the WAN1054, or has other means for establishing communications over the WAN1054, such as by way of the Internet. The modem1058, which can be internal or external and a wired or wireless device, is connected to the system bus1008via the serial port interface1042. In a networked environment, program modules depicted relative to the computer1002, or portions thereof, can be stored in the remote memory/storage device1050. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be used.

Referring now toFIG. 11, there is illustrated a schematic block diagram of an exemplary computing environment1100in accordance with the subject invention. The system1100includes one or more client(s)1102. The client(s)1102can be hardware and/or software (e.g., threads, processes, computing devices). The client(s)1102can house cookie(s) and/or associated contextual information by employing the subject invention, for example. The system1100also includes one or more server(s)1104. The server(s)1104can also be hardware and/or software (e.g., threads, processes, computing devices). The servers1104can house threads to perform transformations by employing the subject invention, for example. One possible communication between a client1102and a server1104can be in the form of a data packet adapted to be transmitted between two or more computer processes. The data packet may include a cookie and/or associated contextual information, for example. The system1100includes a communication framework1106(e.g., a global communication network such as the Internet) that can be employed to facilitate communications between the client(s)1102and the server(s)1104.

Communications can be facilitated via a wired (including optical fiber) and/or wireless technology. The client(s)1102are operatively connected to one or more client data store(s)1108that can be employed to store information local to the client(s)1102(e.g., cookie(s) and/or associated contextual information). Similarly, the server(s)1104are operatively connected to one or more server data store(s)1110that can be employed to store information local to the servers1104.