Title of Invention

"A SYSTEM FOR PRE-SELECTING A FOLDER FOR A MESSAGE"

Abstract In a computer system, a system, for pre-selecting a folder for a current message. The system, involve (a) providing a folder pre-selection cache having n configurable entries, n being a predetermined positive integer greater than one, each configurable entry being configured to include an associated pre-selection criterion for matching with the current message, and an associated folder identification for identifying an associated folder in the plurality of folders; (b) for at least one entry in the folder pre-selection cache, comparing a comparison criterion, obtained from the current message, with the associated pre-selection criterion to determine a matching entry in the folder pre-selection cache; and, (c) pre-selecting the folder identified by the associated folder identification of the matching entry when the message comparison module determines the matching entry in the folder pre-selection cache.
Full Text Field of the invention
[0001] The present invention relates generally to message storage, and
more particularly relates to pre-selecting a folder from a plurality of folders for storing a message
Background of the invention
[0002] Messaging systems such as electronic mail (e-mail) have
revolutionized the way in which people communicate. One of the advantages of e-mail is that functions that will take the user considerable time using other messaging systems can be automated within an e-mail environment, making the system more convenient and user-friendly. However, there is an ongoing need to automate more functions, and to assist the user in executing frequently executed tasks involving multiple steps, such that a procedure that might previously have taken two or three steps, will now take only one step.
[0003] In messaging systems, specific messages are usually saved
within a particular folder, such that all of the messages saved within that folder are alike in relevant respects To select the correct folder, a user must typically sort through a number of folders, identify the correct folder, and then allocate the message to this folder. The number of steps required to perform this function can often be reduced to one by providing a folder pre-select function The pre-select function would select a candidate for a folder to which to allocate the message Subsequently, the user could either approve the selection, or follow the above-described feature of going through the folders to identify the correct folder. If the pre-selected folder is frequently correct, in that the user approves its selection, then the pre-select function makes the messaging system more user friendly and efficient
[0004] In some contexts, it may be desirable to pre-select a folder for a
current message based on how all of the existing messages have been stored. For example, it may be desirable to order all of the messages on the system according to an attribute of these messages - this attnbute might be the sender or the subject or some other attnbute. However, if this is done,
then these indices must be maintained if there are any changes This is expensive both in terms of processing and memory, and also may lead to errors Further, in desktop systems where there are thousands of messages this could be highly impractical due to limitations imposed by processing speed, network bandwidth, memory and other factors.
[0005] In general, there will often be cases in which it is desirable to
implement a folder pre-select function in a system in which resources are scarce. As a result, there remains a need to develop folder pre-selection functions that consume fewer resources.
Summary of the tnvention
[0006] An object of one aspect of the present invention is to provide an
improved system for pre-selecting a folder for a current message.
[0007] In accordance with this first aspect of the present invention,
there is provided a system for pre-selecting a folder for a current message, the folder being one of a plurality of folders for storing messages The system comprises- (a) a storage module for storing the plurality of folders; (b) a communication module for receiving and transmitting the current message, (c) a folder pre-selection cache having n configurable entnes, n being a predetermined positive integer greater than one, each configurable entry being configurable to record an associated pre-selection cnterion for matching With the current message and an associated folder identification for identifying an associated folder in the plurality of folders, (d) a message comparison module for comparing a comparison criterion, denved from the current message, with the associated pre-selection criterion of at least one entry in the folder pre-selection cache to determine a matching entry in the folder preselection cache; and, (e) a folder pre-selection module for pre-selecting the folder identified by the associated folder identification of the matching entry when the message comparison module determines the matching entry in the folder pre-selection cache
[0008] An object of a second aspect of the present invention is to
provide an improved method for pre-selecting a folder for a current message
[0009] In accordance with this second aspect of the present invention,
there is provided a system for pre-selecting a folder for a current message The folder is one of a plurality of folders for stonng messages. A method of pre-selecting a folder for storing a current message, the folder being one of a plurality of folders, the method comprising: (a) providing a folder pre-selection cache having n configurable entries, n being a predetermined positive integer greater than one, each configurable entry being configured to include an associated pre-selection criterion for matching with the current message, and an associated folder identification for identifying an associated folder in the plurality of folders; (b) for at least one entry in the folder pre-selection cache, companng a comparison cnterion, obtained from the current message, with the associated pre-selection criterion to determine a matching entry in the folder pre-selection cache, and, (c) pre-seiecting the folder identified by the associated folder identification of the matching entry when the message companson module determines the matching entry in the folder pre-selection cache.
[0010] An object of a third aspect of the present invention is to provide
an improved computer software product for configuring a computer to preselect a folder for a current message
[0011] In accordance with this third aspect of the present invention,
there is provided a computer software product for configuring a computer to pre-seiect a folder for a current message. The folder is one of a plurality of folders for storing messages. The computer program product comprises a recording medium and means recorded on the recording medium for configunng the computer to perform the steps of (a) providing a folder preselection cache having n configurable entries, n being a predetermined positive integer greater than one, each configurable entry being configured to include an associated pre-selection criterion for matching with the current
message, and an associated folder identification for identifying an associated folder in the plurality of folders, (b) for at least one entry in the folder preselection cache, comparing a comparison criterion, obtained from the current message, with the associated pre-selection critenon to determine a matching entry in the folder pre-seiection cache; and, (c) pre-selecting the folder identified by the associated folder identification of the matching entry when the message companson module determines the matching entry in the folder pre-selection cache
Brief description of the drawings
[0012] A detailed descnption of the preferred embodiments is provided
herein below with reference to the following drawings, in which.
[0013] Figure 1, in a block diagram, illustrates a system for pre-
selecting a folder for a current message in accordance with the preferred embodiment of the present invention;
[0014] Figure 2, in a block diagram, illustrates a mobile transmitter
system for implementing the system of Figure 1,
[0015] Figure 3, in a block diagram, illustrates the folder pre-selection
cache of Figure 1, and,
[0016] Figure 4, in a block diagram, illustrates a configurable entry of
the folder pre-selection cache of Figure 3;
[0017] Figure 5, in a block diagram, illustrates a message that is
received or transmitted by the system of Figure 1;
[0018] Figure 6, in a flowchart, illustrates a method for pre-selecting a
folder for a current message in accordance with a second preferred embodiment of the invention.
Detailed description of the preferred embodiments of the invention
[0019] Referring to Figure 1, there is illustrated in a block diagram a
system 20 for pre-selecting a folder 22" for a current message 24 (Figure 5) in accordance with a preferred embodiment of the invention As shown in Figure 1, the system 20 includes a communication module 26 for receiving or transmitting the current message 24, and a storage module 28 for storing a plurality of folders 22 for storing messages. The system pre-seiects a folder 22' from this plurality of folders 22
[0020] According to one embodiment, as illustrated in Figure 2, the
system 20 is a mobile communication device 30, which communicates with a message sender 32 via a wireless network 34 and the Internet 36 In this case, the communication module 26 would typically be a wireless transceiver
[0021] Pre-selection is made on the basis of features of the message
24. Referring to Figure 5, there is illustrated in a block diagram a message 24 of the type that is stored in the plurality of folders 22 in the storage module 28 of the system 20 of Figure 1. This message 24 includes message attributes 40 and a message body 42 The message body 42 includes the content of the message 24, while the message attributes 40 include specific attributes such as, as indicated in Figure 5, a subject attnbute 44 and a sender (or, in the case of an outgoing message, recipient) attnbute 46 In addition, message attnbutes 40 may include other attributes such as the time sent, encoding, or contents
[0022] The folder 22' that is pre-selected for storing the message 24 is
determined by the folder pre-selection cache 48, message companson module 50 and folder pre-selection module 52 of the system 20 of Figure 1
[0023] Referring to Figure 3, there is illustrated in a block diagram the
folder pre-selection cache 48 of Figure 1 As shown in Figure 3, the preselection cache 48 includes a sender cache 54 for stonng sender entnes 57 used to pre-select a folder 22' based on the sender attribute 46 of the current message 24, and a subject cache 56 including subject entnes 57 used to preselect the folder 22" for the current message 24 based on the subject attribute
44 of the current message 24. Optionally, the folder pre-selection cache 48 may include other caches, such as a time sent cache which would pre-select the folder 22' for the current message 24 based on the particular attribute selected - i e in this case the time sent attnbute. Both the sender cache 54 and the subject cache 56 include more than one entry
[0024] In an example operation, a current message 24 is received by
the communication module 26 and is stored temporarily in the storage module 28 The message companson module 50 then compares the current message 24 with entries 57 in either or both of the sender cache 54 or subject cache 56 to determine an entry having a message attnbute 40 that matches a message attribute in the current message 24
[0025] Preferably, the system of Figure 1 also includes a denvation
module for taking a hash code 58 of the selected attnbute of the current message 24 Referring to Figure 4, there is illustrated in a block diagram an entry 57 of either the sender cache 54 or the subject cache 56 of Figure 3. As shown in Figure 4, the entry 57 includes a hash code 58, time stamp 60 and folder identifier 62. The hash code 58 will be a hash obtained by applying a hash function to the subject attribute 44 in the case of the subject cache 56, and will be derived from the sender attribute 46 in the case of entries in the sender cache 54 If there is a match between the hash code 58 in an entry 57, and the hash code 58 generated from the current message 24 by the denvation module, then the folder identifier 62 of the entry 57 is used to determine the folder 22' to be pre-selected. Specifically, once the message companson module 50 has determined a match with an entry 57 in the folder pre-selection cache 48, the folder pre-selection module 52 selects the folder 22" identified by the folder identifier 62 of the matching entry 57
[0026] In some instances, the derivation module may take a hash code
58 of the selected attribute of the current message 24 that erroneously corresponds to a hash code of an entry 57 in either the subject cache 56 or the sender cache 54 That is, the hash function inadvertently maps different
subjects or senders to the same hash code This is called a collision If this happens, then the folder identifier 62 of the erroneously selected entry 57 will, in all likelihood, designate an incorrect folder In such instances, the user will simply overnde the folder pre-select function provided by the present invention and select the desired folder for storing the current message
[0027] As shown in Figure 1, the system 20 also includes a user
interface 64 This user interface 64 includes a means for displaying the current message 24 as well as the pre-selected folder 22'. By using a folder allocation module, the user can then either approve this pre-selected folder 22', in which case the current message 24 will be allocated to the pre-selected folder 22', or, alternatively, can allocate the current message 24 to another folder in the plurality of folders 22
[0028] According to a preferred embodiment, these decisions by the
user are used to provide the entries 57 of the subject cache 56 and sender cache 54 of the folder pre-selection cache 48 For example, in the case of the subject cache 56 (or, for that matter, the sender cache 54), each of the entnes corresponds to a message in up to n previous messages that have undergone folder selection prior to the current message 24 When the user allocated each of these n previous messages to a user-selected folder in the plurality of folders 22, a cache updating submodule 59 in the folder pre-selection cache 48 updated a corresponding configurable entry in the subject cache 56. As updated, this configurable entry is configured so that its hash code 58 or preselection cnterion is derived from the message 24 and the folder identifier 62 of this entry 57 identifies the folder 22 selected by the user for stonng this message 24. In the case of the subject cache 56, of course, the pre-selection cntenon or hash code 58 is denved from a subject attnbute 44 of the message 24, while in the case of the sender cache 54, the pre-selection cntenon or hash code 58 would be generated from a sender attnbute 46 of the message 24
[0029] As shown in Figure 3, the folder pre-selection cache 48 also
includes a time and date submodule 65
[0030] As shown in Figure 4, this time and date submodule 65
provides a time stamp 60 for each entry in the subject cache 56 and sender cache 54. Using the time stamp 60, the entries 57 are periodically replaced by an entry replacement submodule 66 (Figure 3). Specifically, when a new message 24 is transmitted or received and then allocated by the user to a particular folder, this message 24 will become one of the n previous messages Then, in order to include this message 24 In the n previous messages, room must be made by discarding the oldest entry. Thus, the entry replacement submodule 66, reviews the entnes 57 to find the entry with the oldest time stamp 60, and discards this entry to make room for the new entry 57 Of course, if there is still room in the folder pre-selection cache 48, in that not all of the n configurable entries of each of the subject and sender cache 56, 54 have been configured to store information from one of n previously received messages 24, then new entries 57 for new messages 24 can be configured without discarding any older entries
[0031] It will, of course, be appreciated by those skilled in the art that
other methods may be implemented for updating the entnes in each cache Specifically, instead of discarding the oldest entry, the entry to be discarded could be selected randomly, or some other means used.
[0032] Preferably, the user will also be able to expand the total number
n of entries 57 in each of the subject cache 56 and the sender cache 54 (these respective caches need not have the same number of entries) via the user interface 64 According to another preferred embodiment of the invention, the cache updating submodule 59 is operable to automatically change the positive integer n based on the storage space available in the storage module 28 for the folder pre-selection cache 48 In other words, as more storage space becomes available, n can be increased, and when
storage space is reduced, n may be decreased. However changed, n must always remain a positive integer that is greater than one
[0033] Sometimes, there will be no entry 57 having a hash code 58
corresponding to a hash code generated from either the sender attribute or subject attnbute 46 of a message 24. In these cases, the message comparison module 50 will fail to determine a matching entry in the folder preselection cache 48. In such cases, the folder pre-selection module 52 selects a default folder 22, such as the Inbox, for receiving the current message 24
[0034] Optionally, the system 20 may pre-select a folder 22 for a
plurality of messages 24. According to this aspect of the invention, the user would simply designate a plurality of messages 24 by, say, highlighting them, and then the folder pre-select function 22s would be triggered Say the first message in the list of highlighted messages 24 cannot be matched with any of the entries in the folder pre-selection cache 48. Then the next message is checked If this message 24 yields a hash code 58 that matches a hash code in an entry 57 of the folder pre-selection cache 48, then the folder identifier 62 of that entry 57 will be used to pre-select a folder 22s for storing all of the plurality of messages 24. If this message 24 does not yield a hash code 58 that matches a hash code 58 in an entry 57 of the folder pre-selection cache 48, then the folder pre-select function proceeds to the next message 24. This process is continued until a match is found, or all of the messages in the plurality of messages 24 fail to produce a match with an entry 57 in the folder pre-selection cache 48 In the latter event, the default folder will be selected for the plurality of messages 24
[0035] Referring again to Figure 2, the system 20 comprises the mobile
communication device 30 according to one preferred embodiment of the invention It is desirable that mobile communication devices be linked to associated desktops such that the storage structure on one mirrors the storage structure on the other, and changes in the storage structure on one will be reflected in the storage structure on the other Accordingly, preferably,
where messages or other documents are moved between folders on one of the desktop and the mobile communication device 30, the messages 24 and other documents will automatically be correspondingly moved on the other of the desktop or the mobile communication device 30. That is, when a user moves a message 24 on their desktop from one folder to another, the user's mobile communication device 30 will make a corresponding move of the corresponding message 24 on their mobile communication device 30 to a corresponding folder
[0036] When this happens, it is necessary to update the corresponding
entry 57 for the message 24 in the folder pre-selection cache 48. That is, the folder identifier 62 of this entry identified the folder originally selected by the user However, where the user remotely moves the message 24 from this folder to another folder, the folder identifier 62 must be updated to identify the new folder. According to a preferred embodiment of the invention, the cache updating sub-module 59 is operable to do this Note that the cache updating sub-module 59 may be operable to update the entries of messages 24 being moved from folder to folder without any user interface 64 of the mobile communication device 30 being involved. That is, the messages 24 may be moved purely by remote
[0037] This function of the cache-updating sub-module 59 will also be
triggered when there are other automated changes in the storage structure Say, for example, that the system automatically moves all of the messages from a particular sender to a particular folder. Then for each of these messages for which there are corresponding entries m the folder pre-selection cache 48, the cache-updating sub-module 59 is operable to update the file identifier to identify this particular folder. As in the foregoing example, the cache updating sub-module 59 may be operable to update the entries of messages 24 being moved from folder to folder without the user interface 64 of the mobile communication device 30 being involved
[0038] Where the system 20 is implemented on a mobile
communication device 30, this mobile communication device 30 will typically receive messages 24 from a server that serves that mobile communication device 30. This server will periodically send messages 24 to the mobile communication device 30 As the server is, to some extent, dedicated to the mobile communication device 30, the server may have better information regarding how to pre-select a folder for the message 24 than the mobile communication device 30. According to a preferred embodiment of the invention, the message 24 from the server comprises a server-determined folder identifier for identifying a folder for storing the message. Preferably, the server-determined folder identifier includes an assigned weight. The assigned weight comprises a first weight and a second weight. If the server-determined folder identifier is of the first weight, then the recommendation is only a recommendation That is, if the message comparison module 50 determines a matching entry for the current message 24, then the pre-selected folder 22 will be the folder identified by the associated folder identification of the matching entry 57. However, if the message companson module 50 fails to determine a matching entry 57 for the message 24, then instead of pre-selecting the default folder, the folder identified by the server-determined folder identifier will be pre-selected Alternatively, if the server-determined folder identifier is of the second weight, then the folder 22 identified by the server-determined folder identifier is selected whether or not there is a matching entry 57 for the message 24 in the folder pre-selection cache 48.
[0039] Referring to Figure 6, there is illustrated a flowchart for
implementing a method of pre-selecting a folder 22' for a current message 24 in accordance with an aspect of the present invention. In step 100, an electronic message 24 is either generated by the user, or received by the communication module 26 From this message 24, hash codes 58 are generated. These hash codes 58 may be generated from a message attribute 40 of the message 24, such as the sender attribute 46 or the subject attnbute 44, or may be generated from the body of the message 24 itself In step 102,
hash codes 58 are generated for both the subject attribute 44 and the sender attribute 46 of the message 24.
[0040] In query 104, the system 20 checks whether the subject hash
code 58 IS in any of the entries of the subject cache 56 If query 104 returns the answer YES, then the method proceeds to step 108 in which the folder identification is retrieved from the cache entry having the subject hash code 58 created in step 102 The method then proceeds to step 114 If, on the other hand, query 104 returns the answer NO, the method proceeds to query 106, which queries whether the send hash code 58 generated in step 102 is in any of the entries of the sender cache 54. The sender hash code was derived from applying the hash function to the sender attribute 46 If query 106 returns the answer YES, then the method proceeds to step 110, in which it retrieves the folder identification from the entry 57 of the sender cache 54 including the sender hash code. The method then proceeds to step 114. If query 106 returns the answer NO, then the method proceeds to step 112 and the folder ID for the default folder is returned in step 112, before the method proceeds to step 114
[0041] In step 114, the user is prompted for the folder name At this
point, the user may simply select the pre-selected folder 22', or alternatively may select a different folder 22. Then, in step 116, the message is filed under the folder selected by the user, and the method proceeds to query 118 Query 118 checks whether the user selected the predicted folder 22' from the subject cache 56 If query 118 returns the answer YES, then the method proceeds to step 120 in which the entry having the subject hash code generated in step 102 is promoted within the search order. That is, all of the entnes 57 in the subject cache 56 are searched in a particular order - the search order If an entry 57 is used to identify a folder 22, then, in order to improve the search speed for subsequent searches using the same subject hash code 58, the particular entry 57 used to provide the folder identification IS moved up in the order of the entries searched so that it will be located more quickly the next time a search is conducted Then, the method proceeds to
step 122, in which the sender cache 54 is updated Specifically, the sender cache 54 is updated to include an entry 57 having the sender hash determined in step 102 and the folder ID identifying the folder 22 determined by the user in step 114 At the same time, assuming information from n previous messages was already being stored in the sender cache 54, the oldest of the n entries in the sender cache 54 is discarded There is no need to update the subject cache 56 by adding an entry 57 having the subject hash determined in step 102, as in step 120 a subject cache entry including the subject hash determined in step 104 has already been promoted in the search order. That is, the subject cache 56 already includes an entry 57 having the subject hash determined in step 104.
[0042] If query 118 returns the answer NO, then the method proceeds
to query 124 Query 124 checks whether the user in step 114 indicated the predicted folder 22' from the sender cache 54. If query 124 returns the answer NO, then the method proceeds to step 130, in which the folder selection cache 48 is updated Specifically, the folder selection cache 48 is updated such that the formerly current message 24 that has just been assigned to a folder 22 becomes one of the n previous messages 24. At the same time, assuming information from n previous messages was already being stored in the subject cache 56 and the sender cache 54, the oldest of the n previous messages 24 in each cache 54, 56 is discarded. Aftenwards, there will be corresponding entry 57 in the sender cache 54 having the sender hash code determined in step 102, and a corresponding entry 57 in the subject cache 56 having the subject hash code determined in step 102. Both of these entries 57 will have a folder identification identifying the folder 22 indicated by the user in step 114 This IS desirable, as the very fact that the method reached step 130 makes it apparent Ihat the subject cache 56 did not previously have an entry 57 having the subject cache code determined in step 102, and that the sender cache 56 did not previously have an entry 57 having the sender cache code determined in step 102
[0043] If query 124 returns the answer YES, then the method proceeds
to step 126 in which the entry 57 of the sender cache 54 is promoted or moved higher up in the search order such that it will be located more quickly by subsequent searches Then, the method proceeds to step 128, in which the subject cache 56 is updated That is, the subject cache 56 is updated to include an entry 57 having the subject hash code determined in step 102 and the folder ID identifying the folder determined by the user in step 114 This is desirable, as the very fact that the method reached step 128 makes it apparent that the subject cache 56 did not previously have an entry 57 having the subject cache code determined in step 102. At the same time, there is no need to add an entry 57 to the sender cache 54 having the sender hash code 54 determined in step 102, as the sender cache 54 already includes a sender cache entry including the sender hash code determined in step 102 - this entry 57 was promoted in step 126.
[0044] According to a further preferred embodiment of the invention, a
restoration or backup function is provided. According to this aspect of the invention, the entire folder pre-selection cache 48 may be backed up or saved Alternatively, to save storage resources, the folder pre-selection cache 48 may include a restoration function that regenerates the folder pre-selection cache 48 based on all of the messages 24 stored in files in the storage module 28 That is, on triggering of the restore function, the system 20 will go through each of the messages 24 still on the system 20 according to the time at which they were sent That is, the restoration function will add entries 57 to the folder pre-selection cache 48 based on the messages 24 stored in the storage module 28. As the restoration function works through all of the messages 24 stored, some of these first added entries 57 will be discarded as they are replaced by other entries 57 generated from later messages 24. Other entries 57 will be promoted as they are used to correctly predict folders in which later messages 24 are actually stored. While this function consumes more processing power than simply backing up the folder pre-selection cache 48, it also consumes less in the way of storage resources. Further, the folder
pre-selection cache 48 restored will, to a large extent, be optimized, as the entries 57 remaining in the folder pre-selection cache 48 after this procedure will to some extent be the entries 57 determined to have been useful in sorting through the messages 24 already on the system 20
[0045] Optionally, the system 20 can be configured to pre-select a file
folder for an attachment file for a current message According to this aspect of the invention, among the folders 22 stored in the storage module 20 are file folders for stonng files that are potentially attachable to messages. Similarly, the entries 57 of the folder pre-selection cache 48 are configured in a slightly different manner That is, the message attributes 40, such as the subject attribute 44 or the sender/recipient attribute 46, may still be used to attempt to match the current message with an entry 57 in the folder pre-selection cache 148 As descnbed above, this involves applying a hash function to the selected attnbute to provide a hash code The message companson module 50 of the system 20 then compares this hash code with the hash code stored in the entries 57 of the folder pre-selection cache 48. However, the entnes 57 have been configured such that their folder identifiers 62 identify file folders instead of message folders
[0046] Say that the message companson module 50 matches the hash
code derived from the selected attribute of the current message with a hash code of an entry in the folder pre-selection cache 48. Then the folder preselection module 52 will pre-select the file folder identified by the file identifier of the matching entry. What this file folder is used for will depend on whether the current message is an incoming message or an outgoing message If the current message is an incoming message, then the pre-selected folder 22 is for stonng the attachment That is, if the user indicates that he or she wishes to save the attachment, then the system will present the pre-selected file as an easily executable option Alternatively, if the current message is an outgoing message, then the pre-selected folder 22 is presented as the folder in which the user can find the file to be attached to the current message In
both cases, of course, the user is free to overnde the pre-selection and to select another file folder
[0047] In the aspects of the present invention described above, in
which a file for storing a message is pre-selected, the entries of the folder preselection module were configured based on up to n previous message undergoing folder selection prior to the current message Similarly, where the system is pre-selecting a file folder for a file attachment for a current message, the entries of the folder pre-selection module may be configured based on up to n previous message undergoing folder selection pnor to the current message However, in this case the folder selection referred to is the selection of a file folder for an attachment Thus, all of the up to n previous messages, on the basis of which the entries of the folder pre-selection cache are configured, will have had an attached file for which a file folder was selected However, this is not the only way in which the folder pre-selection cache 48 can be configured.
[0048] The entries 57 of the folder pre-selection cache 48 need not be
configured based on up to n previous messages including attached files stored or extracted from folders selected by the user Instead, the entnes 57 of the folder pre-selection cache 48 may be configured based on up to n previously edited documents. That is, in the case of an outgoing e-mail, it is likely that the attachment for the e-mail will be a recently edited document Thus, the entries 57 of the folder pre-selection cache 48 will identify those folders 22 in which work has most recently been done. In this case, the hash code 58 could be determined from the potentially attachable file itself That is. It could be determined from the subject of the attachable file, or from an intended recipient of the attachable file In the case of incoming e-mail, a selected subject or sender attribute may be compared against similar attnbutes selected from the n previously edited documents to determine a match and identify a folder
[0049] Other variations and modifications of the invention are possible.
For example, in addition to the subject cache and sender cache of the folder pre-selection cache descnbed above, there could be other specific caches for storing different selected attributes of messages Those skilled in the art will also appreciate that the present invention can be implemented in any number of e-mail systems, and not merely with mobile communication devices All such modifications or variations are believed to be within the sphere and scope of the invention as defined by the claims appended hereto




We claim:
1. A system 20 for pre-selecting a folder 22' for a current message 24, the folder 22'
being one of a plurality of folders 22, the system comprising:
(a) a storage module 28 for storing the plurality of folders 22;
(b) a communication module 26 for receiving or transmitting the current rriessage;
(c) a folder pre-selection cache 48 having n configurable entries 57, n being a predetermined positive integer greater than one, each configurable entry 57 being configurable to record an associated pre-selection criterion 58 for matching with the current message 24 and an associated folder identification 62 for identifying an associated folder in the plurality of folders 22; said positive integer nselectably changeable through a user interface means 64.
(d) a message comparison module 50 for comparing a comparison criterion, derived from the current message 24, with the associated pre-selection criterion 58 of at least one entry 57 in the folder pre-selection cache 48 to determine a matching entry in the folder pre-selection cache 48; and,
(e) a folder pre-selection module 52 for pre-selecting the folder 22' identified by the associated folder identification 62 of the matching entry when the message comparison module 50 determines the matching entry in the folder preselection cache 48.

2. The system as claimed in claim 1, wherein when the message comparison module 50 fails to determine the matching entry in the folder pre-selection cache 48, the folder pre-selection module 52 is operable to select a diefault folder.
3. The system as claimed in claim 1, comprising a first cache-Updating means 59 for automatically changing the positive integer n based on available storage space in the storage module 28 for the folder pre-selection cache 48.
4. The system as claimed in claim 1, comprising a designation means for designafing a plurality of the current messages 24, wherein
the message comparison module 50 is operable to compare at least one comparison criterion, derived from at least one of the plurality of the current messages 24, with the associated pre-selection criterion 58 of at least one entry in the folder pre-selection cache 48 to determine the matching entry in the folder preselection cache 48; and,
the folder pre-selection module 52 is operable to pre-select the folder 22' for the plurality of the current messages 24.
5. The system as claimed in claim 1, wherein the comparison criterion is the current message 24.
6. The system as claimed in claim 1, wherein the system is a mobile communication device 30.
7. The system as claimed in claim 7 wherein the current message is from a server and comprises a server-determined folder identifier for identifying a server-determined folder for storing the current message 24.
8. The system as claimed in claim 8, wherein
the server-determined folder identifier has an assigned weight, the assigned weight being one of a first weight and a second weight;
when the server-determined folder identifier 62 is of the first weight, the server-determined folder is pre-selected if the message comparison module 50 fails to determine the matching entry in the folder pre-selection cache 48, and the folder identified by the associated folder identification of the matching entry is preselected if the message comparison module 50 determines the matching entry 57 in the folder pre-selection cache 48; and,
when the server-determined folder identifier Is of the second weight, the server-determined folder is pre-selected.
9. The system as claimed in claims 1 and 3, wherein said user-interface means 64
displays the current message 24 and the pre-selected folder 22", and comprises a
folder selection module operable by a user.
10. The system as claimed in claim 10, wherein
the plurality of folders 22 are for storing messages; and,
the folder selection module 52 is operable by the user to allocate the current message 24 to a user-selected folder in the plurality of folders 22.
11. The system as claimed in claims 4 and 11, wherein said cache-updating means updates the folder pre-selection cache 48 based on up to n previous messages undergoing folder selection prior to the current message 24.
12. The system as claimed in claim 12, wherein
each message in the up to n messages is allocated to an associated user-selected folder in the plurality of folders 22;
the folder pre-selection cache 48 includes a corresponding configurable entry 57 for each message in the up to n messages; and,
the cache-updating means 59 is operable, for each message;in the up to n messages, to update the folder pre-selection cache 48 by configuring the corresponding configurable entry 57 in the folder pre-selection cache 48 such that the associated pre-selection criterion is derived from the message, and the associated folder identification of the corresponding entry 57 identifies an associated user-selected folder previously selected for the message.
13. The system as claimed in claim 13, wherein, when a message in the up to n messages is moved from a first folder in the plurality of folders 22 to a second folder 22 in the plurality of folders, the cache-updating means 59 is opferable to update the associated folder identification 62 for the corresponding entry from identifying the first folder to identify the second folder.
14. The system as claimed in claim 13, wherein the folder pre-selection cache 48 comprises an entry replacement sub-module 66 for updating the folder preselection cache 48 when a new message is allocated to an associated user-selected folder by discarding an existing entry 57 and adding a new corresponding entry 57 for the new message.
15. The system as claimed in claim 15, wherein
the folder pre-selection cache 48 comprises a time-and-date sub-module 65 for, for each message in the up to n messages, providing a time-and-date indicator to the corresponding entry 57 for indicating when the message was allocated to an associated user-selected folder, and
the entry replacement sub-module 66 is operable to update the folder pre-selection cache 48 when the new message is allocated to the associated user-selected folder by discarding the existing entry having an oldest time-and-date stamp.
16. The system as claimed in claim 15, comprising a derivation sub-module for,
for each message in the up to n messages, deriving the associated pre-selection criterion from an associated selected attribute of the message; and,
deriving the comparison criterion from an associated selected attribute 40 of the current message 24.
17. The system as claimed in claim 17, wherein for each message in the up to n messages, and for the current message 24, the associated selected attribute of the message 4G comprises one of an associated sender/recipient attribute of the message 46, an associated subject attribute of the message 44, a time sent of the message, a message body contents of the message 42, and a message encoding of the message.
18. The system as claimed in claim 17, wherein the derivation sub-module comprises a hash deternnination means for,
for each message in the up to n messages, deriving the associated pre-selection criterion 58 from the message by applying a hash function to the associated selected attribute; and,
for the current message 24, deriving the comparison criterion by applying the hash function to the associated selected attribute.
19. The system as claimed in claim 15, wherein
each entry in the folder pre-selection cache 48 is ordered according to a search order;
the message comparison module 50 is operable to compare the comparison criterion with the associated pre-selection criterion 58 of each entry 57 in the folder pre-selection cache 48 according to the search order to determine a matching entry in the search order having an associated pre-selection criterion 58 matching the comparison criterion; and,
the cache-updating means 59 is operable, when the matching entry is not a first entry in the search order and is the user-selected folder, to advance the matching entry within the search order.
20. The system as clairned in claim 15, comprising a restoration means for, when information is erased from the folder pre-selection cache 48, substantially restoring the folder pre-selection cache 48 by processing each message in the plurality of folders in chronological order from an oldest message in the plurality of folders 22 to a youngest message in the plurality of folders 22.
21. The system as claimed in claim 1, wherein
the plurality of folders 22 comprises a plurality of file folders for storing a plurality of potentially attachable files; and,
the folder selection module is operable by the user to select from the plurality of file folders 22 an associated user-selected file folder for an associated attachment file for the current message 24.
22. The system as claimed in claim 22, comprising a cache-updating means 59 for updating the folder pre-selection cache 48 based on up to n previous messages undergoing folder selection prior to the current message 24 wherein each message in the up to n previous messages includes an associated attachment file.
23. The system as claimed in claim 23, wherein
the folder pre-selection cache 48 includes a corresponding configurable entry 57 for each message in the up to n messages; and,
the cache-updating means 59 is operable, for each message in the up to n messages, to update the folder pre-selection cache 48 by configuring the corresponding configurable entry 57 in the folder pre-selection cache 48 such that the associated pre-selection criterion 58 is derived from the message, and the associated folder identification of the corresponding entry 57 identifies an associated user-selected folder previously selected for the associated attachment file.
24. The system as claimed in claim 23, comprising a derivation sub-module for,
for each message in the up to n messages, deriving the associated pre-selection criterion 58 from an associated selected attribute of the message 40; and,
deriving the comparison criterion from an associated selected attribute 40 of the current message 24.
25. The system as claimed in claim 25, wherein for each message in the up to n messages, and for the current message 24, the associated selected attribute of the message 40 comprises one of an associated sender/recipient attribute of the message 46, an associated subject attribute of the message 44, a time sent of the current message, and a message encoding of the message.
26. The system as claimed in claim 26, wherein the derivation sub-module comprises a hash determination means for,
for each message in the up to n messages, deriving the associated pre-selection criterion 58 from the message by applying a hash function to the associated selected attribute; and,
for the current message 24, deriving the comparison criterion by applying the hash function to the associated selected attribute.
27. The system as claimed in claim 22, comprising a cache-updating means 59 for updating
the folder pre-selection cache 48 based on up to n previously edited attiachments stored
in the plurality of file folders 22.
28. A method using the system of preceding claims of pre-selecting the folder for storing the current message, the folder being one of the plurality of folders, the method comprising:
(a) providing the folder pre-selection cache 48;
(b) for at least one entry 57 in the folder pre-selection cache 48, comparing the comparison criterion, obtained from the current message 24, with the associated pre-selection criterion 58 to determine the matching entry in the folder pre-selection cache 48; and,
(c) pre-selecting the folder identified by the associated folder identification 62 of the matching entry when the message comparison module 50 determines the matching entry in the folder pre-selection cache 48.

Documents:

2306-delnp-2005-abstract.pdf

2306-delnp-2005-assignment.pdf

2306-DELNP-2005-Claims.pdf

2306-delnp-2005-complete specification (as,files).pdf

2306-delnp-2005-complete specification (granted).pdf

2306-delnp-2005-correspondence-others.pdf

2306-delnp-2005-correspondence-po.pdf

2306-DELNP-2005-Description (Complete).pdf

2306-DELNP-2005-Drawings.pdf

2306-delnp-2005-form-1.pdf

2306-delnp-2005-form-18.pdf

2306-DELNP-2005-Form-2.pdf

2306-delnp-2005-form-3.pdf

2306-delnp-2005-form-5.pdf

2306-delnp-2005-gpa.pdf

2306-delnp-2005-pct-210.pdf

2306-delnp-2005-pct-304.pdf

2306-delnp-2005-pct-371.pdf

2306-delnp-2005-pct-408.pdf


Patent Number 243950
Indian Patent Application Number 2306/DELNP/2005
PG Journal Number 47/2010
Publication Date 19-Nov-2010
Grant Date 11-Nov-2010
Date of Filing 31-May-2005
Name of Patentee RESEARCH IN MOTION LIMITED, a corporation organized and existing under the laws of Ontario, Canada, of 295 Phillip Street, Waterloo, Ontario, N2L 3W8, Canada
Applicant Address 295 PHILLIP STREET, WATERLOO, ONTARIO N2L 3W8, CANADA.
Inventors:
# Inventor's Name Inventor's Address
1 SCIAN, Anthony F. 402 CAVENDISH DRIVE, WATERLOO, ONTARIO N2T 2N6, CANADA.
2 YACH, David P. 254 CASTLEFIELD AVE., WATERLOO, ONTARIO N2K 2N1, CANADA.
3 ZINN, R. Scottle 319 ERINBROOK DRIVE, KITCHENER, ONTARIO N2E 3M2, CANADA.
4 KLASSEN, Gerhard D. 510 HEATHERHILL PLACE, WATERLOO, ONTARIO N2T 1H7, CANADA.
PCT International Classification Number G06F 17/60
PCT International Application Number PCT/CA03/000183
PCT International Filing date 2003-02-07
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 60/430,369 2002-12-03 U.S.A.