WO2007040504A1 - Serveur de courriels a memoire cache de mandataire d'identificateurs uniques - Google Patents

Serveur de courriels a memoire cache de mandataire d'identificateurs uniques Download PDF

Info

Publication number
WO2007040504A1
WO2007040504A1 PCT/US2005/034540 US2005034540W WO2007040504A1 WO 2007040504 A1 WO2007040504 A1 WO 2007040504A1 US 2005034540 W US2005034540 W US 2005034540W WO 2007040504 A1 WO2007040504 A1 WO 2007040504A1
Authority
WO
WIPO (PCT)
Prior art keywords
uid
proxy
cache
mappings
email
Prior art date
Application number
PCT/US2005/034540
Other languages
English (en)
Inventor
David J. Clarke
Harshad N. Kamat
Original Assignee
Teamon Systems, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Teamon Systems, Inc. filed Critical Teamon Systems, Inc.
Priority to CA2621649A priority Critical patent/CA2621649C/fr
Priority to PCT/US2005/034540 priority patent/WO2007040504A1/fr
Publication of WO2007040504A1 publication Critical patent/WO2007040504A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication

Definitions

  • CMIME Multipurpose Internet Mail Extension
  • OTAFM Over The Air Folder Management operation
  • the port agent 30 acts as a transport layer between the infrastructure and the rest of the Web client engine 22. It is responsible for delivering packets to and from the mobile wireless communications device. To support different integrated mailboxes with one device, more than one service book can be used, and each service book can be associated with one integrated mailbox.
  • messages deleted on the device 25 may correspondingly be deleted from the source mailbox 51, 53.
  • device-originated marking of a message as read or unread on the device 25 may similarly be propagated to the source mailbox 51, 53. While the foregoing features are described as source-dependent and synchronizing one-way, in some embodiments certain synchronization features may in addition, or instead, propagate from the source mailbox/account to the handheld device, as will be appreciated by those skilled in the art.
  • the mail service provider or corporate mail server may be used for submission of outgoing messages. While this may not be possible for all mail service providers or servers, it is preferrably used when available as it may provide several advantages.
  • the mobile office platform 24 may be responsible for connecting to the various source mailboxes 51, 53 to detect new emails. For each new mail, a notification is sent to the Web client engine 22 and, based on this notification, the supervisor 34 chooses one of the workers 32 to process that email. The chosen worker will fetch additional account information and the contents of the mail message from the direct access proxy 40 and deliver it to the user device 25. [0057] In a message sent from handheld function, the MFH could be given to the direct access proxy 40 from the Web client worker 32. In turn, the mobile office platform 24 delivers a message to the Internet 49 by sending through a native outbox or sending it via SMTP.
  • LBAC 46 may support this function.
  • the LBAC 46 is a system-wide component that can perform two important functions . The first of these function is that it provides a mapping from the device PIN to a particular direct access proxy 40, while caching the information in memory for both fast access and to save load on the central database. Secondly, as the direct access proxy 40 will be run in clustered partitions, the LBAC 46 may distribute the load across all direct access proxies within any partition.
  • a receiving component in the Web client engine 22 saves the job that has been assigned to it from other components to a job store on the disk before processing. It can update the status of the job and remove the job from the job store when the job processing is completed. In case of component failure or if the process is restarted, it can recover the jobs from the job store and, based on the current statuses of these jobs, continue processing these jobs to the next state, saving the time to reprocess them from the beginning.
  • Any recovery from the standpoint of MTH/MFH can be achieved through current polling behavior and on the Web client engine 22 recovery mechanisms. From within the mail office platform components, until a message has been successfully delivered to a Web client engine 22, that message is not recorded in the partition database 60. During the next polling interval, the system can again "discover" the message and attempt to notify the Web client engine 22. For new mail events, if an event is lost, the system can pick up that message upon receiving the next event or during the next polling interval. For sources supporting notifications, this interval could be set at six hours, as one non-limiting example. For messages sent from the Web client engine 22, and for messages that have been accepted by the Web client engine, recovery can be handled by different Web client engine components.
  • the DA proxy 10 receives a Get/Delete/Move request for a Msgld and it does not find it in the cache 44, it accesses the database and obtains all the msgld, uid, and href mappings and caches them. Once cached, these mappings will reside for the life of the user session.
  • the database 60 can include a disk memory in which messages or portions of messages can be spooled. A disk memory to which messages or portions of messages can be spooled could be separate from the database physical structure, of course.
  • the system could retrieve a smaller number, for example, the latest 100, when the system is about to perform a quick poll.
  • the system does not require a full reconcile, and it is able to retrieve all UID' s only when the system is about to make a full poll.
  • the system could add another stored procedure call that gives it the mapping for this particular msgld and, as an example, another 100 mappings around it.
  • Sample data suggests that the average mailbox size on a Work Client production is 200. A typical mailbox, however, has 2000 UID' s.
  • Another possible approach makes a stored procedure (proc) call with a batch of UID' s in the right order, and implements the quick poll logic in the stored proc call.
  • This approach is available since the quick poll logic is rather straightforward, and it would eliminate a requirement to read all the UID mappings into memory.
  • the quick poll logic requires the system to look at the top and the bottom of the mailbox to check for new mail, in which case it would result in two separate hits to the database, once with the batch of UID' s from the top, and a second time with the UID' s from the bottom of the mailbox.
  • One method to reduce the memory requirement would be to purge the UID' s that have been read into memory after the polling step is over.
  • the system can proactively remove the UID' s that have been read into memory.
  • This polling logic requires only the UID' s, and it does not require the msgld or the davHref. These are no longer read from the database into memory.
  • the new UID mappings that have been discovered in the polling step are cached into memory, in order to avoid a database hit when the worker asks for them.
  • the system may end up deleting a message from the cache prematurely, and thus, have to download the message a second time. This could possibly increase bandwidth usage.
  • the system may not delete messages until the LRU forces them out, thus failing to derive any benefit from the optimization.
  • An example DA system request rate performance spreadsheet indicates the following requirements that the DA proxy 40 (per partition) can support. Those requests that involve reading or writing to the message cache in this example are:
  • 776,000 requests over a 12 hour period amounts to about 18 requests/sec. It is possible to use multiple proxies. If the system uses one DA proxy 40 per partition, as long as the disk I/O can give the system 18 requests per second, the system should be operable in its intended manner. If the system uses two DA proxies 40 per partition, then the system may require about 9 requests/second.
  • FIGS. 6A, 6B, 7 and 8 are high-level flowcharts illustrating examples of the processes for obtaining mappings for new UID' s and mapping new message ID' s (FIG. 6), reducing UID mappings in cache
  • FIG. 6A shows that a polling function can start (block 200).
  • the UID' s and message ID' s of new mail are stored in a persistent store such as a database (block 202) .
  • the message ID' s of new mail are cached to a cache memory (block 204) and the polling is complete.
  • FIG. 6B a mail job is received (block 210) and a determination is made if a message ID is in cache (block 212) . If so, a mapping is obtained from cache (block 214) and the mail job processed (block 216) .
  • the mail job is complete (block 218) .
  • the message ID and adjacent message ID'S can be retrieved from the persistent store as a data store (block 220) and the message ID is cached in the cache memory (block 222) .
  • the polling can start (block 230) . All previously existing UID' s can be fetched and cached from the persistent store as a database (block 232). The UID' s and message ID' s for new mail can be stored in the persistent store (block 234) . The message ID's for new mail can be stored in a message ID cache (block 236) . All previously existing UID' s can be cleared from the cache (block 238) and the polling is complete (block 240) . [0099] As shown in FIG. 8, the polling can start (block 250) . The UID' s and message ID's of new mail can be stored in a persistent store as a database (block 252) .
  • the message ID's or new mail can be cached to a cache memory (block 254) .
  • Each message can be retrieved and added into the LRU (block 256) .
  • the messages can be spooled to a disk (block 258) .
  • the polling is complete (block 260) .
  • the device 1000 illustratively includes a housing 1200, a keypad 1400 and an output device 1600.
  • the output device shown is a display 1600, which is preferably a full graphic LCD. Other types of output devices may alternatively be utilized.
  • a processing device 1800 is contained within the housing 1200 and is coupled between the keypad 1400 and the display 1600. The processing device 1800 controls the operation of the display 1600, as well as the overall operation of the mobile device 1000, in response to actuation of keys on the keypad 1400 by the user.
  • the housing 1200 may be elongated vertically, or may take on other sizes and shapes (including clamshell housing structures) .
  • the keypad may include a mode selection key, or other hardware or software for switching between text entry and telephony entry.
  • FIG. 9 In addition to the processing device 1800, other parts of the mobile device 1000 are shown schematically in FIG. 9. These include a communications subsystem 1001; a short-range communications subsystem 1020; the keypad 1400 and the display 1600, along with other input/output devices 1060, 1080, 1100 and 1120; as well as memory devices 1160, 1180 and various other device subsystems 1201.
  • the mobile device 1000 is preferably a two-way RF communications device having voice and data communications capabilities.
  • the mobile device 1000 preferably has the capability to communicate with other computer systems via the Internet .
  • Operating system software executed by the processing device 1800 is preferably stored in a persistent store, such as the flash memory 1160, but may be stored in other types of memory devices, such as a read only memory (ROM) or similar storage element.
  • system software, specific device applications, or parts thereof may be temporarily loaded into a volatile store, such as the random access memory (RAM) 1180.
  • Communications signals received by the mobile device may also be stored in the RAM 1180.
  • the processing device 1800 in addition to its operating system functions, enables execution of software applications 1300A-1300N on the device 1000.
  • a predetermined set of applications that control basic device operations, such as data and voice communications 1300A and 1300B, may be installed on the device 1000 during manufacture.
  • a personal information manager (PIM) application may be installed during manufacture.
  • the PIM is preferably capable of organizing and managing data items, such as e-mail, calendar events, voice mails, appointments, and task items.
  • the PIM application is also preferably capable of sending and receiving data items via a wireless network 1401.
  • the PIM data items are seamlessly integrated, synchronized and updated via the wireless network 1401 with the device user's corresponding data items stored or associated with a host computer system.
  • the communications subsystem 1001 includes a receiver 1500, a transmitter 1520, and one or more antennas 1540 and 1560.
  • the communications subsystem 1001 also includes a processing module, such as a digital signal processor (DSP) 1580, and local oscillators (LOs) 1601.
  • DSP digital signal processor
  • LOs local oscillators
  • a mobile device 1000 may include a communications subsystem 1001 designed to operate with the MobitexTM, Data TACTM or General Packet Radio Service (GPRS) mobile data communications networks, and also designed to operate with any of a variety of voice communications networks, such as AMPS, TDMA, CDMA, PCS, GSM, etc. Other types of data and voice networks, both separate and integrated, may also be utilized with the mobile device 1000.
  • Network access requirements vary depending upon the type of communication system. For example, in the Mobitex and DataTAC networks, mobile devices are registered on the network using a unique personal identification number or PIN associated with each device. In GPRS networks, however, network access is associated with a subscriber or user of a device. A GPRS device therefore requires a subscriber identity module, commonly referred to as a SIM card, in order to operate on a GPRS network.
  • SIM card subscriber identity module
  • the mobile device 1000 may send and receive communications signals over the communication network 1401.
  • Signals received from the communications network 1401 by the antenna 1540 are routed to the receiver 1500, which provides for signal amplification, frequency down conversion, filtering, channel selection, etc., and may also provide analog to digital conversion. Analog-to-digital conversion of the received signal allows the DSP 1580 to perform more complex communications functions, such as demodulation and decoding.
  • signals to be transmitted to the network 1401 are processed (e.g. modulated and encoded) by the DSP 1580 and are then provided to the transmitter 1520 for digital to analog conversion, frequency up conversion, filtering, amplification and transmission to the communication network 1401 (or networks) via the antenna 1560.
  • the DSP 1580 provides for control of the receiver 1500 and the transmitter 1520. For example, gains applied to communications signals in the receiver 1500 and transmitter 1520 may be adaptively controlled through automatic gain control algorithms implemented in the DSP 1580.
  • a received signal such as a text message or web page download
  • the received signal is then further processed by the processing device 1800 for an output to the display 1600, or alternatively to some other auxiliary I/O device 1060.
  • a device user may also compose data items, such as e- mail messages, using the keypad 1400 and/or some other auxiliary I/O device 1060, such as a touchpad, a rocker switch, a thumb-wheel, or some other type of input device.
  • the composed data items may then be transmitted over the communications network 1401 via the communications subsystem 1001.
  • a voice communications mode In a voice communications mode, overall operation of the device is substantially similar to the data communications mode, except that received signals are output to a speaker 1100, and signals for transmission are generated by a microphone 1120.
  • Alternative voice or audio I/O subsystems such as a voice message recording subsystem, may also be implemented on the device 1000.
  • the display 1600 may also be utilized in voice communications mode, for example to display the identity of a calling party, the duration of a voice call, or other voice call related information.
  • the short-range communications subsystem enables communication between the mobile device 1000 and other proximate systems or devices, which need not necessarily be similar devices.
  • the short- range communications subsystem may include an infrared device and associated circuits and components, or a BluetoothTM communications module to provide for communication with similarly-enabled systems and devices .

Abstract

L'invention concerne un serveur de courrier électronique (courriel) présentant une base de données qui mémorise des identificateurs uniques (UID) de messages électroniques. Un mandataire reçoit des tables de correspondance provenant de la base de données prévue pour des UID existant antérieurement de messages électroniques qui ont été déterminés sur la base d'une opération d'appels sélectifs. Une mémoire cache stocke en cache les tables de correspondance et le mandataire est en état de fonctionner pour éliminer les UID existant antérieurement, de la mémoire cache, après avoir effectué les appels sélectifs.
PCT/US2005/034540 2005-09-27 2005-09-27 Serveur de courriels a memoire cache de mandataire d'identificateurs uniques WO2007040504A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA2621649A CA2621649C (fr) 2005-09-27 2005-09-27 Serveur de courriels a memoire cache de mandataire d'identificateurs uniques
PCT/US2005/034540 WO2007040504A1 (fr) 2005-09-27 2005-09-27 Serveur de courriels a memoire cache de mandataire d'identificateurs uniques

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2005/034540 WO2007040504A1 (fr) 2005-09-27 2005-09-27 Serveur de courriels a memoire cache de mandataire d'identificateurs uniques

Publications (1)

Publication Number Publication Date
WO2007040504A1 true WO2007040504A1 (fr) 2007-04-12

Family

ID=36379553

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/034540 WO2007040504A1 (fr) 2005-09-27 2005-09-27 Serveur de courriels a memoire cache de mandataire d'identificateurs uniques

Country Status (2)

Country Link
CA (1) CA2621649C (fr)
WO (1) WO2007040504A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326932B2 (en) 2009-02-20 2012-12-04 Research In Motion Limited Caching email unique identifiers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036492A1 (fr) * 2001-09-18 2003-05-01 Idetic, Inc. Systeme de redistribution de fichier joint mime de courriel sans client via le web pour reduire l'utilisation de la largeur de bande du reseau
WO2005046148A1 (fr) * 2003-10-31 2005-05-19 Bluespace Group Limited Mise en cache dans un systeme de messagerie electronique

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036492A1 (fr) * 2001-09-18 2003-05-01 Idetic, Inc. Systeme de redistribution de fichier joint mime de courriel sans client via le web pour reduire l'utilisation de la largeur de bande du reseau
WO2005046148A1 (fr) * 2003-10-31 2005-05-19 Bluespace Group Limited Mise en cache dans un systeme de messagerie electronique

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326932B2 (en) 2009-02-20 2012-12-04 Research In Motion Limited Caching email unique identifiers
US8495159B2 (en) 2009-02-20 2013-07-23 Research In Motion Limited Caching email unique identifiers

Also Published As

Publication number Publication date
CA2621649C (fr) 2009-12-22
CA2621649A1 (fr) 2007-04-12

Similar Documents

Publication Publication Date Title
US8296369B2 (en) Email server with proxy caching of unique identifiers
US8307036B2 (en) Email server with enhanced least recently used (LRU) cache
US8301711B2 (en) Electronic mail communications system with client email internet service provider (ISP) polling application and related methods
US8756317B2 (en) System and method for authenticating a user for accessing an email account using authentication token
US8494491B2 (en) System and method for provisioning a mobile wireless communications device to display account or device-specific characteristics
EP1929401B1 (fr) Serveur de courrier electronique destine a traiter un nombre seuil de taches de courriers electroniques pour un utilisateur donne et procedes associes
US20070072588A1 (en) System and method for reconciling email messages between a mobile wireless communications device and electronic mailbox
US20070073815A1 (en) Email server with proxy caching of message identifiers and related methods
CA2622833C (fr) Serveur de courrier electronique effectuant le traitement de taches de courriers electroniques pour un utilisateur donne et procede associe
EP1929721B1 (fr) Procede et systeme permettant des communications asynchrones sur internet
US8468204B2 (en) Communications system providing asynchronous communications over the internet and related methods
CA2622409C (fr) Serveur de messagerie electronique a memoire cache d'utilisation la moins recente
CA2621347C (fr) Systeme et procede de reconciliation des messages entre un terminal de radiocommunications mobiles et une boite de courrier electronique
EP1929725B1 (fr) Systeme et procede d'affichage de compte ou de caracteristiques specifiques de dispositif
CA2621649C (fr) Serveur de courriels a memoire cache de mandataire d'identificateurs uniques
CA2622316C (fr) Serveur de courriel avec cache proxy d'identificateurs de message et procedes associes
EP1929740A1 (fr) Systeme et procede permettant d'authentifier un utilisateur pour acces a un compte de courriers electroniques au moyen d'un jeton d'authentification
EP1999913A1 (fr) Système et méthode d'approvisionnement d'un dispositif de communication mobile sans fil, comportant des indicateurs représentant les données image et son

Legal Events

Date Code Title Description
DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2621649

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05799722

Country of ref document: EP

Kind code of ref document: A1