Abstract:
A server or software program implemented on a third-party server to facilitate incoming and outgoing calls in a mobile communication system is provided. Users can access information in a corporate information system (“CIS”) through a plurality of speech terminals coupled to the server through a communications network. The information may be accessed using voice or digital signals. Conferencing with other users is also made available through the server. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. 37 CFR 1.72(b).

Description:
FIELD OF THE INVENTION  
         [0001]    The present invention relates generally to a network based mobile communication system.  
         BACKGROUND  
         [0002]    As electronic communications systems continue to advance, the need to tightly integrate these systems has also increased. Electronic mail (e-mail), voice mail, electronic organizers and date books, and local and wide area networks, are just a few of the communication technologies that are vital to the success of businesses and other organizations in the modern world. Many of these communication systems and services (e.g., e-mail, professional contacts, company databases and calendaring systems) are accessible only to users while at the office through a corporate infrastructure such as provided by Microsoft Exchange™. This tends to promote inefficiency because more people are conducting business while on the road or away from their offices (e.g., using wireless phones). Thus, the challenge to effectively coordinate communication among different devices (e.g., personal computers, mobile phones, Personal Digital Assistant&#39;s (PDA&#39;s), etc.) and over different communications media so that people genuinely have effective access to one another is taking on a growing importance.  
           [0003]    Recently, the focus has been on trying to develop technology that provides users with greater functionality and access to other communications systems through their telephone. U.S. Pat. No. 6,047,053 entitled “Network based knowledge assistant” discloses a computer-implemented entity that assists a subscriber with his or her communications by carrying out tasks that are delegated to it. Although the electronic assistant can handle certain calls using a variety of different communication devices, one drawback of this type of system is it is unable to readily access corporate information systems, such as Microsoft Exchange™. In addition, it does not allow a user to perform more sophisticated communication tasks (e.g., compose e-mail messages by phone using text-to-speech recognition).  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0004]    The present invention will be understood more fully from the detailed description that follows and from the accompanying drawings, which however, should not be taken to limit the invention to the specific embodiments shown, but are for explanation and understanding only.  
         [0005]    [0005]FIG. 1 is a block diagram of a communications infrastructure incorporating a mobile communication system according to one embodiment of the present invention.  
         [0006]    [0006]FIG. 2A is a block diagram of the system architecture of a mobile communication system according to one embodiment of the present invention.  
         [0007]    [0007]FIG. 2B is an illustration of the self-contained, “pizza-box” style server of a mobile communication system according to one embodiment of the present invention.  
         [0008]    [0008]FIG. 3 illustrates an example of a computer system that implements one embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION  
       [0009]    The present invention provides a mobile communication system and method of operation for a network. In the following description numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, persons having ordinary skill in the computer arts will appreciate that many of these specific details may not be needed to practice the present invention.  
         [0010]    As illustrated in FIG. 1, the mobile communication system  10  operates within a communications infrastructure  12 . The mobile communication system  10  is a communication device with interfaces to a public communications network (public CN  14 ), a private communications network (private CN  16 ), and a computer network  18 . In the embodiment illustrated by FIG. 1, a firewall  24  is used to separate the mobile communication system  10  from the public CN  14 . It should be appreciated that the mobile communication system  10  may also interface with any other system of interconnections enabling two or more computers to exchange information as well (e.g., the Internet).  
         [0011]    Mobile communication system  10  communicates with any number of speech terminals  20 , (e.g., regular wired telephone and mobile phones), connected to the public CN  14  and also to any number of speech terminals  20  on the private CN  16 . As those skilled in the telecommunications art will readily appreciate, the speech terminals  20  are not necessarily limited to speech. For example, the mobile communication system  10  may also communicate with any number of personal digital assistants (PDA&#39;s)  15  and personal computers  25 . Since the speech terminals  20 , the PDA&#39;s  15 , and the personal computers  25  are electronic devices, they may incorporate circuitry to create and respond to electronic signals, such as conventional DTMF signals. It should be noted that the mobile communication system  10  also has an ability to work with speech in multiple languages (e.g., English, French, German, Italian, etc.).  
         [0012]    The mobile communication system  10  may communicate via the computer network  18  with a corporate information system (CIS  22 ). The CIS  22  includes one or more corporate servers  24 , such as servers for Microsoft Exchange™, Lotus Domino™, Customer Relationship Management (CRM), Field Force Automation (FFA), internal web sites, customized application servers, and database servers, such as Oracle™ servers. The servers may also continuously send information to the mobile communication system  10  via the computer network  18  and/or the Internet. Examples of continuous information include audio and video. These are labeled “corporate” here for convenience. The mobile communication system  10  may, of course, also be beneficially employed by other entities, like government agencies and non-commercial private organizations.  
         [0013]    The mobile communication system  10  may communicate via the computer network  18  and the Internet to external servers and Internet sites. These servers and sites may be geographically located in or away from the company. These sites may include servers for Microsoft Exchange™, Lotus Domino™, Customer Relationship Management (CRM), Field Force Automation (FFA), internal websites, customized application servers, and database servers, such as Oracle™ servers. The servers may also continuously send information to the mobile communication system  10  via the computer network  18  and/or the Internet. Examples of continuous information include audio and video.  
         [0014]    The mobile communication system  10  distributes incoming calls from the public CN  14  to the appropriate parties on a private CN  16 , facilitates outbound calling from the private CN  16  to the appropriate parties on the public CN  14 , and facilitates local calls between parties on the private CN  16 . The conference server  10  may also facilitate calls between parties on the public CN  14  only. For instance, an employee may call into the server from his cellular or home telephone and set up a conference call, solely with outside parties.  
         [0015]    A call is a connection between two or more users, where a user may be a person using an electrical device (e.g., a speech terminal  20 ) or an unattended electrical device. For example, a call may be initiated by a person using a cellular telephone but received by an unattended voice mail system.  
         [0016]    The public CN  14 , the private CN  16 , and the computer network  18  may all be distributed among multiple geographic locations.  
         [0017]    The mobile communication system  10  is configured to allow one party to access another party using their name or some other form of identification. In one embodiment, the mobile communication system  10  dynamically associates a user with (at least one) particular speech terminal  20 . To facilitate this feature, the concept of a login is employed. The association between a user and a speech terminal  20 , PDA  15 , or personal computer  25  is created when the user logs into the mobile communication system  10  from the speech terminal  20 . The association between a user name and a particular speech terminal  20  is stored together with a user profile in the corporate information system (CIS  22 ). The CIS  22  stores this association until the user either logs out or logs in on another speech terminal  20 . The association may be stored in memory, in a register, a latch, etc.  
         [0018]    If a user moves to another location, the user is able to log in at any speech terminal  20  at the new location. This causes the mobile communication system  10  to change the association between the user name and a speech terminal  20  and to store this new association in the CIS  22 .  
         [0019]    Once the user is logged in, the mobile communication system  10  may recall the association between the user and speech terminal  20 , so that the next time the user uses the same speech terminal  20 , the mobile communication system  10  will have this association available. The mobile communication system  10  may use this association until a logout or a login on another speech terminal  20 . However, the mobile communication system  10  will not necessarily allow access to sensitive data this way. In cases involving sensitive data, the mobile communication system  10  may require a login.  
         [0020]    Independent of whether or not a user is logged in (if at all) to a speech terminal  20 , the mobile communication system  10  may still allow any user to dial out from the speech terminal  20 , using the publicly available directory information or by providing the mobile communication system  10  with one or more outside phone numbers.  
         [0021]    To handle the necessary user data for all of this, the mobile communication system  10  is able to access all the information that is stored in the CIS  22 , including contact information, address information, e-mails, calendar and task lists. This may be quite a considerable amount of data and data that is particularly powerful. For an example one need only contemplate the range of data already commonly stored in systems like Microsoft Exchange™ Traditionally, reaching a party has required knowing their telephone number, extension, etc. Now, using speech or keystrokes, a user&#39;s actual number, system user name, e-mail address, instant messaging identifier, phone number, extensions, etc., may all be used. Any manner by which the user is “known” or may be known to the CIS  22  is searchable.  
         [0022]    Particular user information for use with the mobile communication system  10  may include password or PIN-codes, user preferences, alternate login-names, associations between users and speech terminals  20 . These are stored together with a user profile on the CIS  22 . For instance, using Microsoft Exchange™ this information is stored as “custom attributes.” Other mechanisms, in Microsoft Exchange™ or in entire other frameworks, like Lotus Domino™, may also be used.  
         [0023]    The mobile communication system  10  may use all parties that are defined in the CIS  22  as addressable parties. Typically, these are people/individuals, resources, and groups. The people or individuals are users of the system, as well as contact information on outside parties. The resources may include, for instance, meeting rooms, cars, office equipment, etc. And the groups are groupings of people and resources, (e.g., “marketing” or “sales”).  
         [0024]    The mobile communication system  10  has the ability to provide a so-called multi-modal interface, where the user can interact with the mobile communication system  10  through any form of input and output, such as text input, speech recognition, text output, text-to-speech, graphics, recorded files and video. In such interfaces, the speech recognition and text-to-speech generation may partly take place in the speech terminal  20  and partly in the mobile communication system  10 . For example, sound and/or video may be generated by the mobile communication system  10  by a continuous stream of sound and/or video data sent to the speech terminal  20 . Such divided speech recognition is referred to as distributed speech recognition and is well known in the communication arts.  
         [0025]    User-interaction with the mobile communication system  10  is particularly empowered. A user may command an attendant using spoken commands and keystrokes. For handling spoken commands the mobile communication system  10  incorporates speech recognition technology to interpret spoken commands, phrases, and sentences from the users. For handling keystroke commands the mobile communication system  10  interprets keystrokes from electronic devices in a conventional manner. For example, a user may call and request to have an e-mail read back to him from the CIS  22 . The user may then request the mobile communication system  10  to respond to the e-mail message with a phone call. The mobile communication system  10  has the ability to search the CIS  22  for the correct phone number and make the call. In another example of user-interaction with the mobile communication system  10 , a user can call the system and have the system update the user&#39;s calendar in the CIS  22 . By way of example, the user can provide a voice command to the system using their office phone such as “I&#39;ll be out for lunch until 2:00 p.m.” or “I&#39;ve gone to a doctor&#39;s appointment, I&#39;ll be back by 3:00 p.m.” The mobile communication system responds to the voice command by automatically updating the user&#39;s calendar in the CIS  22 . When another person then calls for the user, the mobile communication system will automatically take a message, forward the call, send an e-mail message to the user regarding the phone call, or take other appropriate action.  
         [0026]    The set of spoken commands and keystrokes that are accepted by the mobile communication system  10  may also change dynamically while a user is using the system, depending on what the users are doing and what their current needs and options may be. The user may specify, for example, directly as an explicit preference or implicitly by the nature of the speech terminal  20  currently being used, that a terse or verbose command mode be adopted. The mobile communication system  10  may also respond to the user by playing pre-recorded sound recordings or by on-the-fly translating of responses into sounds using text-to-speech technology. This may also be highly configurable or adaptive. For instance, the mobile communication system  10  may employ different “personalities” and it may also operate differently based on the nature of the speech terminal  20  currently being used by a particular user.  
         [0027]    As is shown in FIG. 2A, each incoming and outgoing call is handled by an attendant  76 . There are two types of attendants, a public attendant  78  and a corporate attendant  80 . The public attendant  78  handles incoming calls from users external to the corporation or other entity using the mobile communication system  10 . This allows an external user to ask to be connected to any user that is registered in the CIS  22 , and also to access a limited amount of information about the corporation.  
         [0028]    In the first case, the mobile communication system  10  first requests the caller&#39;s identity and then attempts to locate the party being called. If the party is found, the connection is set up. If the party is not reached, the mobile communication system  10  asks the outside user to record a message. The mobile communication system  10  can store the message as a voice mail is easily done or translate the message and send it as an e-mail, Instant Message, or other message type, via the CIS  22 .  
         [0029]    The corporate attendant  80  gives particular employees of the corporation access to all people and all the information that is in the CIS  22 , subject, if desired, to various security level permissions. The mobile communication system  10  prompts the user for their user name and passcode or PIN-code and then gives the user access to conferencing with all parties registered in the system, or access to all the information in the CIS  22  that the user normally has permission to access via other means.  
         [0030]    The information in the CIS  22  that a logged in user may access includes, but is not limited to, e-mails, calendars, directory listings, personal contacts, corporate information (e.g., news, employee plans, sales force information, etc.), content from the Internet, customer relationship management information, etc.  
         [0031]    A conference is initiated by a user or may be initiated by the mobile communication system  10 . The mobile communication system  10  may, using the information in the CIS  22 , determine which of the users may be reached and where they may be reached. The mobile communication system  10  thereafter connects to the users and the conference is set up. All users in the conference may then communicate among themselves and also access the information in the CIS  22  during the conference.  
         [0032]    New users may be added to an active conference session, by asking the mobile communication system  10  to conference in the user. Parties that were not reached in the initial set up for them may be notified and provided a conference ID. They are able to join the conference using this conference ID.  
         [0033]    Parties may also be reached as members of ring groups and hunt groups. Ring groups are groups in the CIS  22 . Hunt groups are also groups in the CIS  22 , but with some added information on the order in which the members are to be contacted. This information is also stored in the CIS  22 .  
         [0034]    New conferences may also be initiated from other functions in the mobile communication system  10 , such as while reading e-mails and looking at calendar entries. The mobile communication system  10  knows who the e-mail is from and who are the participants in a meeting, and the user can with a single command make the mobile communication system  10  call the sender or participants.  
         [0035]    The mobile communication system  10  furthermore supports parking of conferences, transfer of conferences, day and night modes, and background music. For instance, the background music may be retrieved from the CIS  22  and played by the mobile communication system  10 .  
         [0036]    All messages recorded in the mobile communication system  10  are transferred to the CIS  22  and stored there. The messages may be attached to other parties in the CIS  22 , such as e-mails and calendar entries.  
         [0037]    The mobile communication system  10  monitors the information in the CIS  22  and is able to notify a user when certain changes happen or when a time exceeds some predefined time bounds. Examples of such state changes include incoming e-mails, incoming meeting requests, and rescheduling of meetings.  
         [0038]    The mobile communication system  10  supports security measures such as PIN-codes, encrypted connection between the mobile communication system  10  and the CIS  22 , speaker authentication based on user voice characteristics, and, generally, the whole spectrum of existing authentication servers used today, including authentication servers supporting dynamically changing PIN-codes.  
         [0039]    From a user&#39;s perspective, they can simply access the mobile communication system  10  from any speech terminal  20 . To make a call from the private CN  16  the user picks up a telephone handset, and the attendant  76  can identify itself immediately. The user can then place conference calls or access information in the CIS  22 .  
         [0040]    The attendant  76  is available at all times when the user is connected to the mobile communication system  10 , and also during conference calls. The attendant  76  is thus able to act as a personal assistant, assisting the user with information access, setting up new conferences, and recording the conferences for later distribution. The attendant  76  can also be available to the leader of the conference only, or to all users of a conference. The user interface of the mobile communication system  10  is able to adapt to the user, such that the amount and kind of information passed to the user varies.  
         [0041]    From a system administration perspective, no user specific information is necessarily stored in the mobile communication system  10 . The mobile communication system  10  may, however, cache information from the CIS  22  to optimize performance. This provides the mobile communication system  10  with a number of benefits. Since it need not rely on user information databases of its own, there are no problems related to updating such. Similarly, a high degree of scalability is possible and is simplified because there are no problems or overhead associated with synchronizing user information databases among multiple mobile communication systems  10 . Yet further, the security measures of the underlying CIS  22  may be relied on and not compromised. Still further, mechanisms for working with the user information will be present in the CIS  22  and will, presumably, already be known. Thus training is easy and operation is highly consistent. In sum, the underlying user information, and the solutions to the vexing problems of maintaining it, are already present in the CIS  22  and need not be duplicated.  
         [0042]    A typical installation of the mobile communication system  10  is done in steps. First, certain network information is stored in the mobile communication system  10  by connecting to it from a speech terminal  20  and configuring it with the help of the attendant  76 . Second, a software component is installed on the CIS  22  and the CIS  22  is configured to use that software component. This may include configuring accounts, changing permissions, and storing configuration information specific to the mobile communication system  10 . Finally, the users are enabled in the mobile communication system  10 .  
         [0043]    As touched upon above, the inventive mobile communication system  10  is highly scalable. The mobile communication system  10  is essentially an “appliance” because the system is self-contained. It may be encased in a stackable, “pizza-box” style server  90  (FIG. 2B). Since all information may be stored in the CIS  22 , multiple mobile communication systems  10  can run against the same CIS  22 . This provides easy scalability, since an organization can add more mobile communication systems to expand capacity to meet increased demand.  
         [0044]    The mobile communication system  10  may also serve multiple geographic locations. Multiple mobile communication systems  10  may be connected to the same private CN  16 . In this configuration, a user can access the information in a CIS  22  from a mobile communication system  10  in a remote geographical location. The mobile communication system  10  relies on the directory information and mechanisms in the CIS  22  to forward the requests from the mobile communication system to the current repository.  
         [0045]    All maintenance, including system status information of the mobile communication system  10  and upgrading can be performed from a computer anywhere on the computer network  18 . Since all user-related information is stored with the user profile in the CIS  22 , it is easy to move information from one corporate sever  24  in the CIS  22  to another.  
         [0046]    Referring now to FIG. 2A there is shown a block diagram of the system architecture of a mobile communication system according to one embodiment of the present invention. The architecture  50  is modular and components may be swapped in and out, giving the flexibility to create several different configurations adapted to address different needs.  
         [0047]    The main software components reside in the mobile communication system  10  and the CIS  22 . In the mobile communication system  10 , there is a dialogue engine  52 , a notification manager  54 , backend data access modules  56 , and a security manager  58 . In the CIS  22 , one or more interface modules  60  are provided. In the embodiment illustrated by FIG. 2A, the first interface module  60  developed is for Microsoft Exchange™. Modules for other servers may be used as well, such as Lotus Domino™.  
         [0048]    The mobile communication system  10  provides part of the telephony functionality and includes a multicast control unit (MCU  62 ), a gate keeper  64 , and a conference manager  66 . The MCU  62  performs multicast switching inside kernal software  68 , (e.g., Linux™), running on a standard hardware platform with one or more CPUs. This may be performed via telephone line-cards, represented here by analog lines  70  and a T1 line  72 , and a local area network (LAN  74 ) which is, in turn, part of the computer network  18 .  
         [0049]    In the exemplary embodiment, the conference manager  66  holds the intelligence for locating people (office, home, cell, etc.) using information from Exchange (our example) in the CIS  22 . It also sets up conferences using Exchange groups, and manages these as they progress. Conferences may also be scheduled as a conference in the Exchange calendar; in this case, the conference manager  66  is notified when it is time for the conference and it initiates the conference.  
         [0050]    The dialogue engine  52  generates the speech dialogue at run-time, based on all the information that is available, (e.g., the user&#39;s profile, the calendar, meeting requests, and time of day). The user-interface adapts to the user, based on their preferences and how fast they respond. Combined with the use of data caching techniques, such as pre-fetching of the next e-mail, this provides a very rapid response in the user interface.  
         [0051]    The dialogue is generated by an attendant  76  (a module which includes both the public attendant  78  and the corporate attendant  80 ) and a number of application modules  82 , (e.g., for e-mail, calendar, contacts, web, and intranet). Different products may contain a different subset of the modules, as particular needs and options dictate. More flexibility can be added, if needs change.  
         [0052]    As noted, on the embodiment illustrated by FIG. 2A, two kinds of sub-attendant functionality are provided: the public attendant  78  and the corporate attendant  80 . The former greets outside users and connects them to people inside the company, and the latter allows employees to access their corporate information (Exchange, CRM, etc.).  
         [0053]    The notification manager  54  monitors the state of the backend information systems and initiates an action when certain events happen. Examples of events include the start of scheduled meetings, canceling of meetings, arrival of new e-mails, incoming calls and news flashes from the corporate intranet, etc. A user may request that the mobile communication system  10  places a call to the user, when such events occur. The mobile communication system  10  can also proactively assist customers. For example, if a user is in a meeting and a subsequent meeting is cancelled a voice mail message may be sent to the user&#39;s cell phone. Or a user may instruct the system that any e-mails from their supervisor or a key client are to be translated and sent as voice mail messages.  
         [0054]    The backend access modules  56  pass requests from the dialogue engine  52  to the backend systems (e.g., Exchange in the CIS  22 ). New access modules may be added into the framework as new backend systems may be added (e.g., Lotus Domino™ and CRM).  
         [0055]    The security manager  58  handles initial configuration of the mobile communication system  10 , so that a secure connection is immediately established between the mobile communication system  10  and the backend corporate servers  24 . Furthermore, it allows the mobile communication system  10  to connect to existing authentication servers in the corporate infrastructure, such as the security server  84  shown in FIG. 2A. The security manager  58  does not, however, have to remain active beyond initial configuration. As discussed above, once integrated into the system architecture  50 , the mobile communication system  10  may or may not rely on the CIS  22  for general security needs.  
         [0056]    To connect to the corporate information repositories on the corporate servers  24  in the CIS  22 , the interface modules  60  are installed in the CIS  22 . In one embodiment, interface module  60  is adapted for the widely used Microsoft Exchange™ product. The interface module  60  is a thin conversion layer that passes on requests from the mobile communication system  10  to Exchange and returns data in XML format. Furthermore, it registers with Exchange for certain events (e.g., arrival of urgent meeting requests) and forwards these to the notification manager  54 .  
         [0057]    It should be noted that the system described herein may also be implemented in software such as Java, Perl, C++ or other types of software programming languages and can be stored in a computer readable medium (e.g., a disk). This would be an embodiment of the invention as a software solution executing on a third-party server.  
         [0058]    Referring now to FIG. 3 there is shown an example of a computer system on which the present techniques may be implemented according to one embodiment of the present invention. The computer system  300  includes a processor  302  coupled through a bus  301  to a random access memory (RAM)  303 , a read only memory (ROM)  304 , and a mass storage device  305 . Mass storage device  305  could be a disk or tape drive for storing data and instructions. A display device  306  for providing visual output is also coupled to processor  302  through bus  301 . Keyboard  307  is coupled to bus  301  for communicating information and command selections to processor  302 . Another type of user input device is cursor control unit  308 , which may be a device such as a mouse or trackball, for communicating direction commands that control cursor movement on display  309 . Many other input devices well known in the art may also be used. Further coupled to processor  302  through bus  301  is an input/output (I/O) interface  310  which can be used to control and transfer data to electronic devices connected to computer  300 , such as other computers, tape records, and the like. The processor  302  may also be connected to a telephony interface  312  through bus  301 . It should be noted that although display device  306 , keyboard  307 , and cursor control unit  308  may be included in the computer system  300 , they are typically not essential for the computer system  300  to operate after the software has been installed.  
         [0059]    Network interface device  311  is coupled to bus  301  and provides a physical and logical connection between computer system  300  and the network medium (not shown in this view). Depending on the network environment in which computer  300  is used, this connection is typically to a server computer, but it can also be to a network router to another client computer. Note that the architecture of FIG. 3 is provided only for purposes of illustration, and a client computer used in conjunction with the present invention is not limited to this specific architecture.  
         [0060]    In the foregoing, a mobile communication system has been described. Although the present invention has been described with reference to specific exemplary embodiments, it should be understood that numerous changes in the disclosed embodiments can be made in accordance with the disclosure herein without departing from the spirit and scope of the invention. The preceding description, therefore, is not meant to limit the scope of the invention. Rather, the scope of the invention is to be determined only by the appended claims and their equivalents.