CA2299387C - Automatic synchronization of address directories for unified messaging - Google Patents

Automatic synchronization of address directories for unified messaging Download PDF

Info

Publication number
CA2299387C
CA2299387C CA002299387A CA2299387A CA2299387C CA 2299387 C CA2299387 C CA 2299387C CA 002299387 A CA002299387 A CA 002299387A CA 2299387 A CA2299387 A CA 2299387A CA 2299387 C CA2299387 C CA 2299387C
Authority
CA
Canada
Prior art keywords
directory
post office
messaging system
address
messaging
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CA002299387A
Other languages
French (fr)
Other versions
CA2299387A1 (en
Inventor
Sergio A. Ciccolella
David Randall Ronca
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitel Networks Corp
Original Assignee
Mitel Networks 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 Mitel Networks Inc filed Critical Mitel Networks Inc
Publication of CA2299387A1 publication Critical patent/CA2299387A1/en
Application granted granted Critical
Publication of CA2299387C publication Critical patent/CA2299387C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4931Directory assistance systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/53Centralised arrangements for recording incoming messages, i.e. mailbox systems
    • H04M3/5307Centralised arrangements for recording incoming messages, i.e. mailbox systems for recording messages comprising any combination of audio and non-audio components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/12Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/58Arrangements providing connection between main exchange and sub-exchange or satellite
    • H04Q3/62Arrangements providing connection between main exchange and sub-exchange or satellite for connecting to private branch exchanges
    • H04Q3/625Arrangements in the private branch exchange

Abstract

A messaging system to store and retrieve messages for playback in response to user input commands includes a telephony messaging application responsive to incoming calls. A directory stores addressing information concerning addressable entities within the messaging system. The telephony messaging application accesses the directory in response to caller address queries. A post office stores user messages and includes addressing information concerning addressable entities within the messaging system. A synchronization mechanism synchronizes the addressing information in the directory with addressing information in the post office.

Description

AUTOMATIC SYNCHRONIZATION OF ADDRESS DIRECTORIES FOR
UNIFIED MESSAGING
Field Of The Invention The present invention relates generally to messaging systems and, in particular, to a messaging system and method for maintaining synchronization of address directories.
Background Of The Invention Voice messaging systems are common in today's business community.
Most business organizations or enterprises make use of a private branch exchange (PBX) to direct a caller's telephone call to the appropriate extension of the called party. If the called party is unable to answer the telephone call, the telephone call is forwarded to a voice messaging system, which allows the caller to leave a voice message in the mailbox assigned to the called party. Messages left for called parties within the business organization can be retrieved from memory by calling the voice messaging system using a telephone and entering appropriate commands via a touch-1 S tone keypad. Retrieved messages can be played, forwarded or deleted. An example of a voice messaging system of this nature is the Series 6 sold by Mitel Corporation of Ottawa, Ontario, Canada.
In addition to voice messages, communications within business organizations are also stored in facsimile and text formats. In the past, separate
-2-messaging systems have been used to handle these different types of communications.
Unfortunately, prior art messaging systems designed to handle one type of communication have not provided any means to interact with messaging systems handling other types of communications. This has required users to access each messaging system individually to retrieve messages and has required business organizations to maintain and manage multiple messaging systems separately. As a result, it has been necessary to establish separate accounts, address lists and message mailboxes in each messaging system for the various users in the business organizations.
More recently, attempts have been made to interconnect different messaging systems to provide access to different types of messages from a single point. For example, U.S. Patent No. 5,349,636 to Irribarren discloses a system and method for voice mail systems and interactive voice response (IVR) systems.
The Irnbarren system includes a voice message system and a text message system integrated via a network, which coordinates the functions of each individual message system. A user may access messages stored in the voice message system and in the text message system via a single telephone call. Although this system allows access to different types of messages, the voice message and text message systems require separate management.
The current trend is to integrate these various messaging systems to allow users to access all types of communications once a connection is made to the messaging system. To that end, unified messaging systems have been developed to provide users access to virtually all of their communications. Messaging systems of this nature store all messages for entities within the enterprise at a common location.
The entities may be individuals, groups, departments, or any appropriate logical organizations. Users accessing the messaging system via a telephone, desktop computer or other communication device have access to all of their messages regardless of message type and regardless of the type of communication device used to access the messaging system. Appropriate message translators such as text-to-speech (TTS) converters, speech-to-text (SST) converters, etc. are included to enable Att. Dkt. No.: MITEP003
-3-users to retrieve messages stored in formats not supported by the communication devices used to access the messaging system.
Although users may access the messaging system using a telephone or desktop computer, the needs of a user accessing the messaging system using a telephone are different than those of a user accessing the messaging system using a desktop computer. In the case of sending messages created via a telephone connection to the messaging system, addressing is of particular concern. Address directories are often distributed throughout an enterprise for many reasons such as directory population, system capacity, geographical dispersion, etc. However, when using a telephone to access the messaging system, due to the nature of the interface, access to dispersed directories has typically been slow if not impossible. Access speed is of course an important issue for messaging systems.
In the past, address directories in local telephony messaging servers of messaging systems have been populated with knowledge of all remote users to allow 1 S local users to address messages to the remote users. This has of course required extensive management to ensure all non-local directories are updated when a directory change has been made. Accordingly, improvements to addressing in messaging systems are desired.
Thus, there is a need for maintaining synchronization of address directories in messaging systems.
Summary Of The Invention The present invention provides a messaging system where telephony functions of the messaging system are handled by a telephony messaging application while messages are stored at a separate post office. The post office maintains a directory or database of the messages as well as address information. To facilitate fast and efficient access to addressing information, the telephony messaging application maintains a directory (e.g., directory cache) for enterprise wide addressing.
This local directory, which is a subset of the addressing information maintained at the post office, provides a fast addressing look-up service catering specifically to telephony users. Since the number of fields of addressing information stored in the local directory is typically less than that of any post office or external directory, the overall
-4-size of records in the directory is small. The result is a compact and efficient directory storing records of addressing information from multiple post offices and external directories. Furthermore, since the local directory is automatically synchronized with the addressing information in the post office, the accuracy of the local directory is maintained at a high level.
According to one aspect of the present invention there is provided a messaging system comprising:
a post office including a first enterprise wide address directory, said first address directory being updatable and including a directory record for each addressable entity in said messaging system, each directory record of said first address directory including addressing and other information relating to the associated addressable entity, said post office also including a mailbox for each addressable entity in said messaging system in which messages relating to the associated addressable entity are stored;
a second enterprise wide address directory including a directory record for each addressable entity in said messaging system, each directory record of said second address directory including a subset of the addressing and other information relating to the associated addressable entity that is stored in the corresponding directory record of said first address directory;
a telephony messaging application handling incoming telephone calls and communicating with said post office, said telephony messaging application forwarding messages to said post office for storage in mailboxes associated with addressable entities in said messaging system and retrieving messages from mailboxes in response to input commands, said telephony messaging application accessing said second address directory for addressable entity address information to enable enterprise wide messaging to be performed via said telephony messaging application;
and a synchronization mechanism synchronizing the addressing and other information of each directory record in the second address directory with addressing and other information of the corresponding directory record in the first address directory, said synchronization mechanism being triggered in response to selected events and at programmable selected intervals.
-5-The selected events include specified changes to critical addressing data stored in the post office. These specified changes may include changes to spoken greetings, changes to message destination data, and changes enabling telephone access to the messaging system. The synchronization mechanism can be responsive to a timer in the telephony messaging application which fires at the selected intervals.
In still another embodiment, the synchronization mechanism includes an event notifier responsive to the timer and a directory service in communication with the post office. The event notifier polls the post office for addressing information that has changed since the last polling cycle. The directory service receives changed addressing information from the post office and updates the directory accordingly.
In yet another embodiment, the synchronization mechanism further validates all of the addressing information in the directory with corresponding addressing information in the post office at specified second intervals and synchronizes its clock with the post office clock at the selected intervals.
According to yet another aspect of the present invention there is provided in a messaging system, a method for synchronizing addressing information stored in a directory of a telephony messaging application with updatable addressing information stored in a directory of a post office, said method comprising the steps of:
at selected programmable intervals, determining if changes to the addressing information in said post office directory have been made and if so, updating corresponding addressing information in said telephony messaging application directory; and in response to selected changes in addressing information in said post office directory, updating the corresponding addressing information in said telephony messaging application directory.
According to yet another aspect of the present invention there is provided in a messaging system, a method for synchronizing addressing information stored in a directory of a telephony messaging application with updatable addressing information stored in a directory of a post office, said method comprising the steps of:
at first selected programmable intervals, determining if changes to addressing information in the post office directory have been made and if so, updating corresponding addressing information in the telephony messaging application
-6-directory;
in response to selected changes in addressing information in the post office directory, updating the addressing information in the telephony messaging application directory; and at selected second intervals validating all addressing information in the post office directory and telephony messaging directory thereby to maintain the integrity of the addressing information therein.
According to still yet another aspect of the present invention there is provided a messaging system comprising:
a post office including a first enterprise wide address directory, said first address directory being updatable and including a directory record for each addressable entity in said messaging system, each directory record of said first address directory including addressing and other information relating to the associated addressable entity, said post office also including a mailbox for each addressable entity in said messaging system in which messages relating to the associated addressable entity are stored;
a second enterprise wide address directory including a directory record for each addressable entity in said messaging system, each directory record of said second address directory including a subset of the addressing and other information relating to the associated addressable entity that is stored in the corresponding directory record of said first address directory;
a telephony messaging application handling incoming telephone calls and communicating with said post office, said telephony messaging application forwarding messages to said post office for storage in mailboxes associated with addressable entities in said messaging system and retrieving messages from mailboxes in response to input commands, said telephony messaging application accessing said second address directory for addressable entity address information to enable enterprise wide messaging to be performed via said telephony messaging application;
a timer firing at first intervals; and a synchronization mechanism synchronizing the addressing and other information of each directory record in the second address directory with addressing and other information of the corresponding directory record in the first address -6a-directory, said synchronization mechanism being triggered in response to selected events and in response to firing of said timer at said first intervals.
Brief Description Of The Drawings An embodiment of the present invention will now be described more fully with reference to the accompanying drawings in which:
Figure 1 is a diagrammatic overview of a unified messaging system in accordance with the present invention;
Figure 2 is a diagrammatic representation of directory cache records stored in a directory cache forming part of the unified messaging system of Figure l;
Figure 3 is a diagrammatic representation of the synchronization processing in the unified messaging system of Figure 1;
Figure 4 is a flowchart diagram illustrating polling based synchronization of the unified messaging system of Figure l; and Figure 5 is a flowchart diagram of event based synchronization of the unified messaging system of Figure 1.
Detailed Description Of The Invention Turning now to Figure 1, a messaging system is shown and is generally indicated by reference numeral 100. Messaging system 100 includes a post office 102 communicating with a telephony messaging server 104. The post office 102 runs on one or more servers behaving logically as a single entity and is connected to the telephony server 104 via a local area network 106. Post office 102 communicates with clients 108, only one of which is shown for illustrative purposes, via a local area network, modem or other communication channel 110. Post office 102 and telephony messaging server 104 also communicate with external messaging systems via wide area networks 111 and 112 respectively.
The post office 102 provides message storage and delivery facilities for users of the messaging system 100 and includes mailboxes in which messages for the users are stored. The post office 102 handles and stores user messages regardless of format. Thus, the post office 102 stores voice and facsimile messages received from the telephony messaging server 104 as well as text messages, facsimile messages, -6b-graphics messages, etc. received from client 108 and/or wide area network 111.
The post office I02 also maintains a directory database of enterprise wide user information including addresses, locations and addressing related information as well as user preference records as will be described. The directory database information is accessible, retrievable and updatable using database type queries. In the preferred embodiment, post office 102 runs commercially available post office software such as Microsoft Exchange ~ sold by Microsoft Corporation of Redmond Washington.
In one embodiment, telephony messaging server 104 is a model TS800 telephony server provided by Mitel Corporation of Ottawa, Ontario or similar PC-based model. The telephony messaging server 104 executes a voice messaging application to handle incoming telephone calls which cannot be completed. As is well known to those of skill in the art, the voice messaging application includes a speech file administrator which retrieves prerecorded voice message prompts from a database to direct a caller to leave a message for a particular called party. Messages recorded by the voice messaging application are conveyed to the post office 102 for storage in the appropriate mailboxes. The voice messaging application also handles incoming user calls to allow users to retrieve messages stored in their mailboxes.
Telephony users may access the voice messaging application using a typical telephone or telephony device 114 providing telephone functions that is either directly connected to telephony messaging server 104 or connected to the telephony messaging server 104 through a private branch exchange (PBX) and a publicly switched telephone network PSTN (not shown). During access, users enter touch-tone commands and passwords to retrieve messages from their mailboxes in the post office 102. The voice messaging application calls the speech file administrator, which provides the appropriate voice message prompts to navigate users through the voice messaging application. During message playback, if a message stored in a user's mailbox is in a format not supported by the telephone or telephony device 114 used to access the messaging system 100, the voice messaging application calls an appropriate message translator to convert the message into a form which can be played back to the user.
The telephony messaging server 104 communicates with a directory cache 118 that is updated by the post office 102. The directory cache 118 stores a subset of the information stored by the post office 102. Specifically, the directory cache stores addressing information for users and groups associated with the messaging system 100. The telephony messaging server 104 accesses the directory cache 118 in response to user and caller queries made via a telephone device 114 to reduce directory search times and provide a fast addressing service as will be described.
Client 108 in this embodiment, is associated with or in the form of a computing device such as a personal computer 120. Through personal computer 120, a user can access voice messages, facsimile messages, electronic mail messages, etc.
stored in their post office mailbox. The user can also use personal computer 120 to Att. Dkt. No.: MITEP003 _$_ perform messaging functions such as create, attach, read, modify, reply, forward, store and delete messages of various types. In one embodiment, the personal computer runs Microsoft Outlook~ client messaging software sold by Microsoft Corporation.
The client messaging software provides a graphical user interface (GUI) to display the user's messages held in their post office mailbox and to allow the user to invoke messaging functions. Since the mailboxes store messages in different formats, it is preferred that the personal computer 120 includes appropriate hardware and software to allow all message types to be retrieved. In cases where the personal computer 120 does not include the hardware and/or software necessary to support certain message types, appropriate message translators can be called to convert the messages into a form compatible with the personal computer 120.
A user wishing to deliver a message to or retrieve a message from another user through a connection to the telephony messaging server 104 via a telephone device 114 has different needs and requirements than a user who obtains access to post office 102 through personal computing device 120. Speed of access and message addressing are especially important when using a telephone device since telephony devices are typically auditory in nature with no visual feedback.
Furthermore, tasks invoked via a telephone device 114 are serialized so that activities cannot be performed while waiting. Therefore, to provide for the unique needs of a user accessing the messaging system 100 via a connection to the telephony messaging server 104 through a telephone device 114, the directory cache 118 is utilized.
The telephony messaging server 104 maintains the directory cache 118 for enterprise wide addressing and optionally also for external addressing.
The directory cache 118 provides a fast addressing look-up service and allows the telephony messaging server 104 to perform messaging to any recipient in the enterprise without a degradation of response time. Optionally, the telephony messaging server 104 can be configured to query remote post offices to obtain addressing information for remote users and entities outside the enterprise.
In one embodiment, the directory cache 118 is implemented as a database within telephony messaging server 104 and, more particularly, can be a commercially available SQL
database providing remote query and update functions.
Att. Dkt. No.: MITEP003 Within the directory cache database implementing the directory cache 118 is a directory cache record for each addressable user, group, department and logical organization, collectively referred to as entities within the enterprise. Turning now to Figure 2, a plurality of directory cache records 202 to 208 are shown for illustrative purposes. It should be appreciated that many more directory cache records than those illustrated are included in the directory cache 118. As can be seen, each directory cache record includes a name field 210, a dial by name field 212, a mailbox field 214, and an extension field 216. The fields described above are not meant to be exhaustive and other fields can be included in the directory cache records if desired.
The dial by name field 212 holds digits corresponding to the spelling of the name in the name field 210 using a touch-tone keypad, regardless of whether the name is an individual, group, department or logical organization within the enterprise.
In this particular example, directory cache records 206 and 208 are assigned to individuals within the enterprise, while directory cache records 202 and 204 are assigned to departments within the enterprise. The telephony messaging server 104 uses the information in the directory cache records to facilitate addressing of messages to be sent to other users, groups, departments or logical organizations within the enterprise.
The digits in the dial by name fields 212 allow a user to direct messages by dialing the recipient's name. Further details of the dial by name feature are described in co-pending Canadian Patent Application No. 2,299,161 filed on February 23, 2000 entitled "DIAL BY NAME FEATURE FOR MESSAGING SYSTEM".
Table 1 below shows further detail concerning representative information stored in each directory cache record and the rationale for storing the information.

Table 1 CACHE DATA RATIONALE

Post Office User ID Give the Post Office a uni ue addressing identifier.

Dis la Name Convenient search criteria but ma not be uni ue Dial By Name Digits Search by entering digits corresponding to the concatenation of Last Name and First Name and converted to their numeric match on the telephone ke ad.

Mailbox Number Numeric identification of subscriber.
Not required to be identical to the tele hone extension.

Telephone Extension NumberOutside identification of number dialed to reach the subscriber.

Fax Direct Inward Dial Direct number dialed to deposit faxes Number in the Unified Messa in Mailbox.

User Spoken Name Provides confirmation of recipient when subscriber creates a messa a for deliver .

User Spoken Greeting Provides confirmation to outside caller depositing a voice messa a from a tele hone.

Directory cache 118 and post office 102 store corresponding addressing and related information for the users within the enterprise.
Therefore, in S order to maintain addressing integrity, it is necessary to ensure the directory cache 118 and post office 102 are synchronized. To achieve this, both the telephony messaging server 104 and post office 102 include synchronization components in the form of software processes to maintain their respective address directories.
During synchronization, the telephony messaging server 104 connects to the post office 102 and makes queries to automatically obtain and update the addressing information in the directory cache 118. In the preferred embodiment, telephony messaging server 104 uses the industry standard messaging application programming interface (MAPI) to create time polling queries and uses distributed programming techniques to create queries and receive event notifications as will be described further below.
Turning to Figure 3, the synchronization components of the directory cache 118 and the post office 102 are better illustrated. The synchronization component of the telephony messaging server 104 includes a directory service and an event notifier 312. The directory service 308 manages and synchronizes the directory cache 118 and performs any necessary data translation functions.
Event notifier 312 communicates with the directory service 308 and with the post office 102.
The event notifier 312 receives and transmits messages when events occur.
Events may be triggered by the directory service 308 or by the post office 102.
The synchronization component of the post office 102 includes an administrative component 314 and a post office storage 316. The administrative component 314 communicates with the post office storage 316, the event notifier 312 and the personal computer 120 through the GUI. Access to the administrative component 314 via the personal computer 120 allows a user to add, change and delete address information within the post office storage 316. The administrative component 314 monitors the post office storage 316 and coordinates the transfer of messages and the synchronization of the post office 102 with other address directories (including directory cache 118). The administrative component 314 also performs any necessary data translation functions.
Changes to address information in the post office 102 may be initiated through personal computer 120 as mentioned above or via a telephone device 114 through the telephony messaging server 104. In order to maintain consistency and coherency between the directory cache 118 and the post office 102, a robust but flexible synchronization mechanism is required. In the present embodiment, the synchronization components of the telephony messaging server 104 and the post office 102 use a combination of polling based synchronization and event based synchronization to ensure that the addressing information stored in the directory cache 118 and the post office 102 are the same. While it is important to maintain accurate directory data, frequent updates can expend a lot of processing resources to the detriment of overall messaging system performance. By selecting the type of synchronization mechanism to be used based on the type of directory change, address directory integrity can be maintained while avoiding excess use of processing time.
Specifically, data which is key to addressing is updated immediately using event based synchronization, while non-critical addressing data is updated using polling based synchronization.
Att. Dkt. No.: MITEP003 Referring now to Table 2 below, the types of data changes that are synchronized using event based synchronization are illustrated in the column entitled Immediate. The types of data changes that are synchronized using polling based synchronization are illustrated in the column entitled Poll Cycle Interval.
Table 2 also shows data changes that are dealt with by validation.
Table 2 IMMEDIATE POLL CYCLE INTERVAL VALIDATION

(default every 10 minutes)(default 1 X day, 1 S' poll after 2 a.m.) Spoken Greetings Spoken Name changed from the GUI

All administrator First Name and Last Name Unified Messaging from the administrator data (tel#, MB#, fax changing a user's name DID#) relevant to addressing messages Adds, Changes to User deleted by administrator enable Unified Messaging from outside Unified telephone access Messaging control by the subscriber The combination of event based synchronization and polling based synchronization yields an efficient mechanism which achieves a balance between frequent polling cycles that consume too many resources and the necessity to synchronize immediate changes between the directory cache 118 and the post office 102. Specifics of the polling based synchronization methodology will now be described with particular 1 S reference to Figure 4.
Upon initialization, the telephony messaging server 104 initiates a timer that fires at predetermined intervals, which may vary in length depending on the circumstances (block 402). In one embodiment, the timer fires in a regular cycle, typically every ten minutes. When the timer fires, the telephony messaging server 104 gets the time from the post office 102 since it is possible that the clocks of the telephony messaging server and the post office are not synchronized (block 404). The synchronization of time between the clocks of the telephony messaging server and the post office 102 is necessary to determine which address records have changed Att. Dkt. No.: MITEP003 since the last poll cycle update. Once the clocks are synchronized, the telephony messaging server 104 determines whether a previous poll cycle has taken place since the time of initialization or start-up of the telephony messaging server 104 (block 406). If no previous poll cycle has taken place, that is, the telephony messaging server 104 has just been initialized or started, then the directory service 308 sends a signal to event notifier 312. Event notifier 312 in turn sends a message to administrative component 314 at post office 102 requesting the transmission of address records from post office storage 316 (block 408). Post office 102 in turn sends the appropriate address records back to directory service 308. When directory service 308 receives the address records, it populates the directory cache 118 with corresponding directory cache records (block 410).
If at block 406 a previous poll cycle had taken place, then the directory service 308 sends a signal to event notifier 312, which in turn sends a message to the post office 102 for all telephony address data that has changed since the last polling cycle (block 412). When all of the changed or new data from the post office 102 is received by the directory service 308, the data is inserted into the directory cache 118 (block 410). At this point, the telephony messaging server 104 checks to see if this is the first poll cycle after a preset time in this case 2 a.m. (block 414). If not, the polling cycle ends (block 416).
However, if the poll cycle is the first poll cycle after 2 a.m., every directory cache record in the directory cache 118 of telephony messaging server is validated with the post office 102 and corrected as necessary (block 418). The validation provides a higher level of confidence and fault tolerance in the synchronicity of the telephony messaging server 104 and the post office 102.
The rationale is that it is useful to verify all of the data in the directory cache 118 to ensure that it is properly synchronized with the data in the post office, and correct such data as necessary.
Turning now to Figure 5, the event based synchronization methodology is illustrated. As can be seen, when the telephony messaging server 104 is initialized, the event notifier 312 generates an event (block 502).
Att. Dkt. No.: MITEP003 In response to the event, the directory service 308 registers an interest in the event and blocks on the event. The directory service 308 in turn sends a signal to the event notifier 312 which in turn sends an event to the administrative component 314. The administrative component 314 in response to the event, makes an addition, modification or deletion to the address data in the post office storage 316 that is of interest to the telephony messaging server 104. The administrative component then sends a signal to the event notifier 312 with the information on the event (block 508), which may include the change type (add, modify, or delete) and the user account ID. The event notifier 312 signals the directory service 308 that the specific named event has occurred. The directory service 308 in turn unblocks on the event and uses the information received from the event notifier 312 to make a specific request for the necessary data from the post office 102 to synchronize the directory cache 118 with the address directory in the post office storage 316 (block 510). The post office 102 then sends the specific data to the directory service 308 and the directory service updates the directory cache 118 accordingly. At this point, the telephony messaging server returns to step 504 and waits for the next event.
As will be appreciated, since the address information in the post office 102 and the address information in the directory cache 118 of the telephony messaging server 104 is synchronized at predetermined intervals and when certain events occur, addressing integrity in the messaging system 100 is maintained.
This allows the telephony messaging server 104 to use the directory cache 118 for addressing, which stores less information than the post office, and therefore, provides for quicker searching, without compromising addressing capabilities.
Although a preferred embodiment of the present invention has been described, those skilled in the art will appreciate that variations and modifications may be made without departing from the spirit and scope thereof as defined by the appended claims.
Att. Dkt. No.: MITEP003

Claims (46)

What is claimed is:
1. A messaging system comprising:
a post office including a first enterprise wide address directory, said first address directory being updatable and including a directory record for each addressable entity in said messaging system, each directory record of said first address directory including addressing and other information relating to the associated addressable entity, said post office also including a mailbox for each addressable entity in said messaging system in which messages relating to the associated addressable entity are stored;

a second enterprise wide address directory including a directory record for each addressable entity in said messaging system, each directory record of said second address directory including a subset of the addressing and other information relating to the associated addressable entity that is stored in the corresponding directory record of said first address directory;

a telephony messaging application handling incoming telephone calls and communicating with said post office, said telephony messaging application forwarding messages to said post office for storage in mailboxes associated with addressable entities in said messaging system and retrieving messages from mailboxes in response to input commands, said telephony messaging application accessing said second address directory for addressable entity address information to enable enterprise wide messaging to be performed via said telephony messaging application;
and a synchronization mechanism synchronizing the addressing and other information of each directory record in the second address directory with addressing and other information of the corresponding directory record in the first address directory, said synchronization mechanism being triggered in response to selected events and at programmable selected intervals.
2. A messaging system according to claim 1 wherein said selected events include updates that are made to addressing information in one or more directory records of the first address directory.
3. A messaging system according to claim 2 wherein said updates include changes to critical message addressing data.
4. A messaging system according to claim 3 wherein updates to critical message addressing data include changes to spoken greetings, changes to message destination data and/or changes enabling telephone access to said messaging system.
5. A messaging system according to claim 1 wherein said synchronization mechanism further validates all addressing information in directory records of said second address directory with corresponding addressing information in directory records of said first address directory at specified second intervals.
6. A messaging system according to claim 1 wherein said synchronization mechanism is responsive to a timer in said telephony messaging application, said timer firing at said selected intervals.
7. A messaging system according to claim 6 wherein said synchronization mechanism includes an event notifier responsive to said timer and a directory service in communication with said post office, said event notifier polling said post office for addressing information in said first address directory that has changed since a previous polling cycle, said directory service receiving changed addressing information from said post office and updating directory records in said second address directory accordingly.
8. A messaging system according to claim 6 wherein said synchronization mechanism includes a clock, said synchronization mechanism synchronizing the clock with a second clock in said post office at regular intervals.
9. A messaging system according to claim 8 wherein said regular intervals are coincident with said selected intervals.
10. A messaging system according to claim 1 wherein the directory records in said second address directory have less fields than the directory records in said first address directory.
11. A messaging system according to claim 1 wherein said second address directory is stored in a directory cache.
12. A messaging system according to claim 11 wherein said directory cache provides a fast entity addressing look-up service to said telephony messaging application.
13. A messaging system according to claim 12 wherein said telephony messaging application is executed by a telephony messaging server and wherein said directory cache is stored in said telephony messaging server.
14. A messaging system according to claim 13 wherein directory records in said first address directory are updatable via said telephony messaging application.
15. A messaging system according to claim 14 wherein said post office communicates with at least one client computer system, directory records of said first address directory being updatable via said at least one client computer system.
16. A messaging system according to claim 1 wherein said post office communicates with at least one client computer system, directory records of said first address directory being updatable via said at least one client computer system.
17. A messaging system according to claim 16 wherein said synchronization mechanism is responsive to a timer in said telephony messaging application, said timer firing at said selected intervals.
18. A messaging system according to claim 17 wherein said synchronization mechanism includes an event notifier responsive to said timer and a directory service in communication with said post office, said event notifier polling said post office for addressing information in said first address directory that has changed since a previous polling cycle, said directory service receiving changed addressing information from said post office and updating directory records in said second address directory accordingly.
19. A messaging system according to claim 18 wherein said synchronization mechanism further validates all addressing information in directory records of said second address directory with corresponding addressing information in directory records of said first address directory at specified second intervals.
20. In a messaging system, a method for synchronizing addressing information stored in a directory of a telephony messaging application with updatable addressing information stored in a directory of a post office, said method comprising the steps of:
at selected programmable intervals, determining if changes to the addressing information in said post office directory have been made and if so, updating corresponding addressing information in said telephony messaging application directory; and in response to selected changes in addressing information in said post office directory, updating the corresponding addressing information in said telephony messaging application directory.
21. The method of claim 20 wherein said selected changes relate to changes to critical message addressing data.
22. The method of claim 21 wherein said selected changes to critical message addressing data include at least one of changes to spoken greetings, changes to message destination data, and changes enabling telephone access to said messaging system.
23. The method of claim 20 comprising the steps of:

firing a timer at said selected intervals; and updating the addressing information in said telephony messaging application directory in response to said timer if changes have been made to the corresponding addressing information in said post office directory.
24. The method of claim 23 further comprising the step of validating all of the addressing information in said telephony messaging application directory with corresponding addressing information in said post office directory at specified second intervals.
25. The method of claim 24 further comprising the step of synchronizing clocks in said telephony messaging application and said post office at regular intervals corresponding with said selected intervals.
26. In a messaging system, a method for synchronizing addressing information stored in a directory of a telephony messaging application with updatable addressing information stored in a directory of a post office, said method comprising the steps of:
at first selected programmable intervals, determining if changes to addressing information in the post office directory have been made and if so, updating corresponding addressing information in the telephony messaging application directory;
in response to selected changes in addressing information in the post office directory, updating the addressing information in the telephony messaging application directory; and at selected second intervals validating all addressing information in the post office directory and telephony messaging directory thereby to maintain the integrity of the addressing information therein.
27. The method of claim 26 wherein changes to addressing information in said post office directory that result in said updating of the addressing information in the telephony messaging application relate to changes to critical message addressing data.
28. The method of claim 27 wherein said changes to critical message addressing data include changes to spoken greetings, changes to message destination data and changes enabling telephone access to said messaging system.
29. The method of claim 28 further comprising the steps of firing a timer at said first selected intervals and updating the addressing information in the telephony messaging application directory in response to said timer if changes have been made to the addressing information in the post office directory.
30. The method of claim 29 further comprising the step of synchronizing clocks in said telephony messaging application and said post office at regular intervals corresponding with said first selected intervals.
31. A messaging system comprising:
a post office including a first enterprise wide address directory, said first address directory being updatable and including a directory record for each addressable entity in said messaging system, each directory record of said first address directory including addressing and other information relating to the associated addressable entity, said post office also including a mailbox for each addressable entity in said messaging system in which messages relating to the associated addressable entity are stored;
a second enterprise wide address directory including a directory record for each addressable entity in said messaging system, each directory record of said second address directory including a subset of the addressing and other information relating to the associated addressable entity that is stored in the corresponding directory record of said first address directory;
a telephony messaging application handling incoming telephone calls and communicating with said post office, said telephony messaging application forwarding messages to said post office for storage in mailboxes associated with addressable entities in said messaging system and retrieving messages from mailboxes in response to input commands, said telephony messaging application accessing said second address directory for addressable entity address information to enable enterprise wide messaging to be performed via said telephony messaging application;
a timer firing at first intervals; and a synchronization mechanism synchronizing the addressing and other information of each directory record in the second address directory with addressing and other information of the corresponding directory record in the first address directory, said synchronization mechanism being triggered in response to selected events and in response to firing of said timer at said first intervals.
32. A messaging system according to claim 31 wherein said second address directory is stored in a directory cache.
33. A messaging system according to claim 32 wherein said directory cache provides a fast entity addressing look-up service to said telephony messaging application.
34. A messaging system according to claim 33 wherein said telephony messaging application is executed by a telephony messaging server and wherein said directory cache is stored in said telephony messaging server.
35. A messaging system according to claim 34 wherein directory records in said first address directory are updatable via said telephony messaging application.
36. A messaging system according to claim 35 wherein said post office communicates with at least one client computer system, directory records of said first address directory being updatable via said at least one client computer system.
37. A messaging system according to claim 31 wherein said post office communicates with at least one client computer system, directory records of said first address directory being updatable via said at least one client computer system.
38. A messaging system according to claim 37 wherein said synchronization mechanism includes an event notifier responsive to said timer and a directory service in communication with said post office, said event notifier polling said post office for addressing information in said first address directory that has changed since a previous polling cycle, said directory service receiving changed addressing information from said post office and updating directory records in said second address directory accordingly.
39. A messaging system according to claim 38 wherein said synchronization mechanism further validates all addressing information in directory records of said second address directory with corresponding addressing information in directory records of said first address directory at specified second intervals.
40. A messaging system according to claim 31 wherein said selected events include updates that are made to addressing information in one or more directory records of the first address directory.
41. A messaging system according to claim 40 wherein said updates include changes to critical message addressing data.
42. A messaging system according to claim 41 wherein updates to critical message addressing data include changes to spoken greetings, changes to message destination data and/or changes enabling telephone access to said messaging system.
43. A messaging system according to claim 42 wherein the directory records in said second address directory have less fields than the directory records in said first address directory.
44. A messaging system according to claim 31 wherein said synchronization mechanism includes a clock, said synchronization mechanism synchronizing the clock with a second clock in said post office at regular intervals.
45. A messaging system according to claim 44 wherein said regular intervals are coincident with said first intervals.
46. A messaging system according to claim 31 wherein the directory records in said second address directory have less fields than the directory records in said first address directory.
CA002299387A 1999-02-26 2000-02-23 Automatic synchronization of address directories for unified messaging Expired - Fee Related CA2299387C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/259,811 1999-02-26
US09/259,811 US6418200B1 (en) 1999-02-26 1999-02-26 Automatic synchronization of address directories for unified messaging

Publications (2)

Publication Number Publication Date
CA2299387A1 CA2299387A1 (en) 2000-08-26
CA2299387C true CA2299387C (en) 2003-07-01

Family

ID=22986494

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002299387A Expired - Fee Related CA2299387C (en) 1999-02-26 2000-02-23 Automatic synchronization of address directories for unified messaging

Country Status (3)

Country Link
US (1) US6418200B1 (en)
CA (1) CA2299387C (en)
GB (1) GB2347308B (en)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7283620B2 (en) 1999-02-26 2007-10-16 At&T Bls Intellectual Property, Inc. Systems and methods for originating and sending a voice mail message to an instant messaging platform
US6707890B1 (en) 2002-09-03 2004-03-16 Bell South Intellectual Property Corporation Voice mail notification using instant messaging
US6882708B1 (en) * 1999-02-26 2005-04-19 Bellsouth Intellectual Property Corporation Region-wide messaging system and methods including validation of transactions
GB2365260B (en) * 2000-02-24 2004-05-26 Ibm Database synchronisation for mobile computing devices
US6487278B1 (en) * 2000-02-29 2002-11-26 Ameritech Corporation Method and system for interfacing systems unified messaging with legacy systems located behind corporate firewalls
US6438215B1 (en) * 2000-02-29 2002-08-20 Ameritech Corporation Method and system for filter based message processing in a unified messaging system
US7117215B1 (en) 2001-06-07 2006-10-03 Informatica Corporation Method and apparatus for transporting data for data warehousing applications that incorporates analytic data interface
US6697458B1 (en) * 2000-07-10 2004-02-24 Ulysses Esd, Inc. System and method for synchronizing voice mailbox with e-mail box
JP2002041385A (en) * 2000-07-25 2002-02-08 Murata Mach Ltd Server device
DE10044555A1 (en) * 2000-09-06 2002-03-14 Siemens Ag Method and arrangement for transmitting brief information in writing to a communication terminal
US20020042846A1 (en) * 2000-10-05 2002-04-11 Bottan Gustavo L. Personal support network
US20020120690A1 (en) * 2001-02-23 2002-08-29 Block Frederick P. Accessing of unified messaging system user data via a standard e-mail client
US7162643B1 (en) 2001-06-15 2007-01-09 Informatica Corporation Method and system for providing transfer of analytic application data over a network
CA2350850A1 (en) * 2001-06-15 2002-12-15 Cameron Stevenson A system and method for providing an address book
US7720842B2 (en) 2001-07-16 2010-05-18 Informatica Corporation Value-chained queries in analytic applications
US7167701B1 (en) * 2001-12-18 2007-01-23 Bellsouth Intellectual Property Corporation Voice mailbox with management support
US6820077B2 (en) 2002-02-22 2004-11-16 Informatica Corporation Method and system for navigating a large amount of data
US6925156B2 (en) * 2002-12-20 2005-08-02 International Business Machines Corporation Pre-connection telephony data synchronization
US7584219B2 (en) * 2003-09-24 2009-09-01 Microsoft Corporation Incremental non-chronological synchronization of namespaces
US20050075988A1 (en) * 2003-10-06 2005-04-07 Pitney Bowes Incorporated System and method for automated mailing address error detection and correction
US7421458B1 (en) 2003-10-16 2008-09-02 Informatica Corporation Querying, versioning, and dynamic deployment of database objects
US7254590B2 (en) * 2003-12-03 2007-08-07 Informatica Corporation Set-oriented real-time data processing based on transaction boundaries
US20050249339A1 (en) * 2004-05-05 2005-11-10 Arnoff Mary S Providing notification of voicemail (VM) messages using instant messaging (IM) transport
US7693271B2 (en) * 2004-11-29 2010-04-06 Dialogic Corporation Method and apparatus for handling an incoming call to avoid a conflict with an earlier call
US7693628B2 (en) * 2005-01-04 2010-04-06 Gm Global Technology Operations, Inc. Controller with communication of multi-source tasks
US9479737B2 (en) * 2009-08-06 2016-10-25 Echostar Technologies L.L.C. Systems and methods for event programming via a remote media player
US20110153564A1 (en) * 2009-12-23 2011-06-23 Telcordia Technologies, Inc. Error-sensitive electronic directory synchronization system and methods
US9838351B2 (en) 2011-02-04 2017-12-05 NextPlane, Inc. Method and system for federation of proxy-based and proxy-free communications systems
US9077726B2 (en) 2011-03-31 2015-07-07 NextPlane, Inc. Hub based clearing house for interoperability of distinct unified communication systems
US9203799B2 (en) 2011-03-31 2015-12-01 NextPlane, Inc. Method and system for advanced alias domain routing
US9716619B2 (en) 2011-03-31 2017-07-25 NextPlane, Inc. System and method of processing media traffic for a hub-based system federating disparate unified communications systems
US9705840B2 (en) 2013-06-03 2017-07-11 NextPlane, Inc. Automation platform for hub-based system federating disparate unified communications systems
US9819636B2 (en) * 2013-06-10 2017-11-14 NextPlane, Inc. User directory system for a hub-based system federating disparate unified communications systems

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1760188A (en) 1987-06-18 1988-12-22 Octel Communications Corporation Voice mailbox address management system
US5349636A (en) 1991-10-28 1994-09-20 Centigram Communications Corporation Interface system and method for interconnecting a voice message system and an interactive voice response system
US5530740A (en) 1991-10-28 1996-06-25 Contigram Communications Corporation System and method for integrating voice, facsimile and electronic mail data through a personal computer
US5737395A (en) 1991-10-28 1998-04-07 Centigram Communications Corporation System and method for integrating voice, facsimile and electronic mail data through a personal computer
US5333266A (en) * 1992-03-27 1994-07-26 International Business Machines Corporation Method and apparatus for message handling in computer systems
US5740231A (en) 1994-09-16 1998-04-14 Octel Communications Corporation Network-based multimedia communications and directory system and method of operation
US5742905A (en) * 1994-09-19 1998-04-21 Bell Communications Research, Inc. Personal communications internetworking
CA2139081C (en) * 1994-12-23 1999-02-02 Alastair Gordon Unified messaging system and method
US5760823A (en) * 1995-09-01 1998-06-02 Lucent Technologies Inc. Video messaging arrangement
US5647002A (en) * 1995-09-01 1997-07-08 Lucent Technologies Inc. Synchronization of mailboxes of different types
US5841966A (en) 1996-04-04 1998-11-24 Centigram Communications Corporation Distributed messaging system
US5951638A (en) * 1997-03-21 1999-09-14 International Business Machines Corporation Integrated multimedia messaging system
US5948059A (en) * 1997-03-21 1999-09-07 International Business Machines Corporation Method and apparatus for synchronizing multimedia messages in different servers

Also Published As

Publication number Publication date
US6418200B1 (en) 2002-07-09
GB2347308A (en) 2000-08-30
CA2299387A1 (en) 2000-08-26
GB2347308B (en) 2003-12-10
GB9919248D0 (en) 1999-10-20

Similar Documents

Publication Publication Date Title
CA2299387C (en) Automatic synchronization of address directories for unified messaging
EP1157532B1 (en) Unified directory for caller id and electronic mail addresses
US5239577A (en) Network and method for providing cross-media connections
US8391461B2 (en) Caching user information in an integrated communication system
JP3967384B2 (en) Method and system for extended addressing planning
KR100293398B1 (en) Voice processing system
US8233594B2 (en) Caching message information in an integrated communication system
CA2297373C (en) Graphical user interface and method for displaying messages
CA2199573C (en) Organization chart based call information routing
US20060177023A1 (en) Distributed cache system
US20020126814A1 (en) Apparatus, method and computer program product for automatic directory entry generation via caller-id
US6775366B1 (en) System and method for adding internet functionality to a telephone call
JP2002111736A (en) Integrated communication automatic personal name addressing
US20060177011A1 (en) System and method for providing code on voicemail appliance
CA2392161A1 (en) Virtual pbx system
US6795536B1 (en) Automatic user preference selection for message playback based on caller line identification data
US7457398B2 (en) Methods and systems for providing voicemail services
US7376220B2 (en) Automatically updating a voice mail greeting
US6473496B1 (en) Method for handling telephone commands
WO2001072018A2 (en) Messaging applications for portable communication devices
Cisco Personal Assistant Administration Page Reference
US7328005B2 (en) Information storage system
CA2299161A1 (en) Dial by name feature for messaging system
JP2002135401A (en) Phone dialing system by mail address
MXPA01009052A (en) Unified directory for caller id and electronic mail addresses

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20200224