CROSS REFERENCE TO RELATED APPLICATIONS This application is a continuation application of application Ser. No. 09/775,321, entitled “UNIFIED MESSAGING/CALL ROUTING CONFIGURATION USING PALMTOP COMPUTER,” filed Jan. 31, 2001, now allowed, to be issued as U.S. Pat. No. 7,319,744. The subject matter in the above-identified co-pending and commonly owned application(s) is incorporated herein by reference.
FIELD OF THE INVENTION The present invention relates to the field of controlling telephone, fax and email routing. More particularly, the present invention relates to control of telephone, fax and email routing using a palmtop computer.
BACKGROUND As the components required to build a computer system have reduced in size, new categories of computer systems have emerged. One of the new categories of computer systems is the “palmtop” computer system. A palmtop computer system is a computer that is small enough to be held in the hand of a user and can be “palm-sized.” Most palmtop computer systems are used to implement various Personal Information Management (PIM) applications such as an address book, a daily organizer and electronic notepads, to name a few.
For many workers today there are a wide variety of methods by which they can be contacted by telephone. For example, any particular individual might have one or more home telephones, one or more office telephones, perhaps an answering service, an assistant, a cellular telephone, a voice mail system, as well as multiple email addresses and fax numbers by which the individual can be contacted. Someone wishing to contact that individual (assuming that individual wishes to be contacted) is thus presented with many potential actions for contacting the individual with an associated limited possibility of success at any given telephone number. Moreover, there are times when the individual might not wish to be contacted directly by anyone or by certain individuals. It would be desirable to be able to utilize a palmtop computer to organize this aspect of an individual's life.
SUMMARY OF THE INVENTION Accordingly, what is needed is convenient technique for management of telephone calls, emails and faxes using a palmtop computer.
In accordance with one embodiment consistent with the present invention, a method of routing telephone calls, emails and faxes using a palmtop computer is provided. Using a date book forming a part of a personal information manager application of a palmtop computer, the user enters an appointment into the date book. Such an appointment has a starting and an ending time. The user then selects (either at the time of entry of the appointment or after receipt of an alarm reminder of the appointment) a destination telephone number for routing of telephone calls between the starting time and the ending time. This selection can be in the form of a menu selection of a predetermined telephone call routing profile for routing telephone calls. The palmtop computer then sends a representation of the destination telephone number or numbers, the starting time and the ending time to a telephone call server (and/or an email server and/or a fax server), so that the telephone call server routes telephone calls to the destination telephone number or numbers between the starting time and the ending time. This provides the user with the ability to manage telephone calls using a palmtop computer.
In accordance with an embodiment consistent with the present invention, a method of directing telephone calls from a palmtop computer includes: receiving entry of an appointment into an electronic calendar program residing on the palmtop computer, the appointment having a starting and an ending time; receiving a selection of a destination for a telephone call during the time duration of the appointment at the palmtop computer; and sending a message from the palmtop computer to a telephone call server instructing the telephone call server to direct telephone calls to the destination between the starting and ending times.
In another embodiment consistent with the present invention, a palmtop computer that directs a user's telephone calls includes a central processor. An electronic calendar program runs on the central processor. A data entry arrangement receives entry of an appointment into an electronic calendar program residing on the palmtop computer, the appointment having a starting and an ending time. The data entry arrangement also receives a selection of a destination for a telephone call during the time duration of the appointment at the palmtop computer. The palmtop computer sends a message to a telephone call server instructing the telephone call server to direct telephone calls to the destination between the starting and ending times.
Another method of controlling telephone routing consistent with the present invention includes: opening a date book forming a part of a personal information manager application of a palmtop computer; entering an appointment in the date book, the appointment having a starting and an ending time; selecting a destination telephone number for routing of telephone calls between the starting time and the ending time; and sending a representation of the destination telephone number, the starting time and the ending time to a telephone call server, so that the telephone call server routes telephone calls to the destination telephone number between the starting time and the ending time.
Similar techniques can be used to route fax communication and email communication without departing from the invention. For example, in another embodiment of the invention, a method of directing communications using a palmtop computer includes: receiving entry of an appointment into an electronic calendar program residing on the palmtop computer, the appointment having a starting and an ending time; receiving a selection of a destination for a communication during the time duration of the appointment at the palmtop computer; and sending a message from the palmtop computer to a communication server instructing the communication server to direct communications to the destination between the starting and ending times.
The above summaries are intended to illustrate exemplary embodiments of the invention, which will be best understood in conjunction with the detailed description to follow, and are not intended to limit the scope of the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is system illustration of a palmtop computer system connected to other computer systems and the Internet via a cradle device.
FIG. 2A is a top side perspective view of a palmtop computer system that can be used as a platform for data entry.
FIG. 2B is a bottom side perspective view of the palmtop computer system ofFIG. 2A.
FIG. 3 is an exploded view of the components of the palmtop computer system ofFIG. 2A.
FIG. 4 is a perspective view of the cradle device for connecting the palmtop computer system to other systems via a communication interface.
FIG. 5 is a logical block diagram of the palmtop computer system in accordance with an embodiment of the present invention.
FIG. 6 illustrates a telephone routing system under control of a palmtop computer in a manner consistent with embodiments of the present invention.
FIG. 7 illustrates an embodiment of a data entry screen for entering a telephone call routing profile consistent with the present invention.
FIG. 8 illustrates a first process for implementing an embodiment of the call routing of the present invention.
FIG. 9 illustrates an embodiment of a telephone call routing profile menu screen consistent with embodiments of the present invention.
FIG. 10 illustrates a second process for implementing an embodiment of the call routing of the present invention.
DETAILED DESCRIPTION OF THE INVENTION In the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one skilled in the art that the present invention may be practiced without these specific details or with equivalents thereof. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Notation and Nomenclature
Some portions of the detailed descriptions which follow are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits that can be performed on computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer executed step, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities.
Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as “processing” or “computing” or “translating” or “calculating” or “determining” or “scrolling” or “displaying” or “recognizing” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Unified Messaging I Call Routing Configuration Using Palmtop Computer in Accordance with the Present Invention
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail specific embodiments, with the understanding that the present disclosure is to be considered as an example of the principles of the invention and not intended to limit the invention to the specific embodiments shown and described. In the description below, like reference numerals are used to describe the same, similar or corresponding parts in the several views of the drawings.
FIG. 1 illustrates asystem50 including ahost computer system56 which can either be a desktop unit as shown, or, alternatively, can be alaptop system58. Optionally, one or more host computer systems can be used withinsystem50.Host computer systems58 and56 are shown connected to acommunication bus54, which in one embodiment can be a serial communication bus, but could be of any of a number of well known designs, e.g., a parallel bus, Ethernet Local Area Network (LAN), etc. Optionally,bus54 can provide communication with theInternet52 using a number of well known protocols.
Bus54 is also coupled to acradle60 for receiving and initiating communication with a palmtop (“palm-sized”)portable computer system100 of the present invention.Cradle60 provides an electrical and mechanical communication interface between bus54 (and anything coupled to bus54) and thecomputer system100 for two way communications.Computer system100 also contains a wirelessinfrared communication mechanism64 for sending and receiving information from other devices.
FIG. 2A is a perspective illustration of thetop face100aof one embodiment of the palmtop computer system of the present invention. The top face110acontains adisplay screen105 surrounded by a bezel or cover. Aremovable stylus80 is also shown. Thedisplay screen105 is a touch screen able to register contact between the screen and the tip of thestylus80. Thestylus80 can be of any material to make contact with thescreen105. Thetop face100aalso contains one or more dedicated and/orprogrammable buttons75 for selecting information and causing the computer system to implement functions. The on/offbutton95 is also shown.
FIG. 2A also illustrates a handwriting recognition pad or “digitizer” containing tworegions106aand106b. Region106ais for the drawing of alphabetic characters therein for automatic recognition andregion106bis for the drawing of numeric characters therein for automatic recognition. Thestylus80 is used for stroking a character within one of theregions106aand106b. The stroke information is then fed to an internal processor for automatic character recognition. Once characters are recognized, they are typically displayed on thescreen105 for verification and/or modification.
FIG. 2B illustrates thebottom side100bof one embodiment of the palmtop computer system of the present invention. An optionalextendible antenna85 is shown and also a batterystorage compartment door90 is shown. Acommunication interface108 is also shown. In one embodiment of the present invention, theserial communication interface108 is a serial communication port, but could also alternatively be of any of a number of well known communication standards and protocols, e.g., parallel, SCSI, Firewire (IEEE 1394), Ethernet, USB (Universal Serial Bus), etc. In addition to providing the serial interface, some versions of palmtop computers consistent with the present invention include charging terminals for charging internal batteries through the cradle connection atinterface108. Accordingly,interface108 typically comprises approximately ten to twelve electrical connector terminals.
FIG. 3 is an exploded view of thepalmtop computer system100 in accordance with one implementation.System100 contains afront cover210 having an outline ofregion106 and holes75afor receiving buttons75b. A flat panel display105 (both liquid crystal display and touch screen) fits intofront cover210. Any of a number of display technologies can be used, e.g., LCD, FED, plasma, etc., for theflat panel display105. Abattery215 provides electrical power. A contrast adjustment (potentiometer)220 is also shown. On/offbutton95 is shown along with an infrared emitter anddetector device64. Aflex circuit230 is shown along with aPC board225 containing electronics and logic (e.g., memory, communication bus, processor, etc.) for implementing computer system functionality. The digitizer pad is also included inPC board225. Amidframe235 is shown along withstylus80. Positionadjustable antenna85 is shown.
A radio receiver/transmitter device240 is also shown between the midframe and therear cover245 ofFIG. 3. The receiver/transmitter device240 is coupled to theantenna85 and also coupled to communicate with thePC board225. In one implementation the Mobitex wireless communication system is used to provide two way communication betweensystem100 and other networked computers and/or the Internet via a proxy server.
FIG. 4 is a perspective illustration of one embodiment of thecradle60 for receiving thepalmtop computer system100.Cradle60 contains a mechanical andelectrical interface260 for interfacing with serial connection108 (FIG. 2B) ofcomputer system100 whensystem100 is slid into thecradle60 in an upright position. Once inserted,button270 can be pressed to initiate two way communication betweensystem100 and other computer systems coupled toserial communication265.
FIG. 5 illustrates circuitry ofcomputer system100, some of which can be implemented onPC board225.Computer system100 includes an address/data bus100 for communicating information, acentral processor101 coupled with the bus for processing information and instructions, a volatile memory102 (e.g., random access memory RAM) coupled with thebus100 for storing information and instructions for thecentral processor101 and a non-volatile memory103 (e.g., read only memory ROM) coupled with thebus100 for storing static information and instructions for theprocessor101.Computer system110 also includes an optional data storage device104 (e.g., memory stick, SD memory, etc.) coupled with thebus100 for storing information and instructions.Device104 can be removable. As described above,system100 also contains adisplay device105 coupled to thebus100 for displaying information to the computer user.PC board225 can contain theprocessor101, thebus100, theROM103 and theRAM102.
Also included incomputer system110 ofFIG. 5 is an optionalalphanumeric input device106 which in one implementation is a handwriting recognition pad (“digitizer”) havingregions106aand106b(FIG. 2A), for instance.Device106 can communicate information and command selections to thecentral processor101.Computer system110 also includes an optional cursor control or directingdevice107 coupled to the bus for communicating user input information and command selections to thecentral processor101. In one implementation,device107 is a touch screen device incorporated withscreen105.Device107 is capable of registering a position on thescreen105 where the stylus makes contact. Thedisplay device105 utilized with thecomputer system110 may be a liquid crystal device, cathode ray tube (CRT), field emission device (FED, also called flat panel CRT) or other display device suitable for creating graphic images and alphanumeric characters recognizable to the user. In the preferred embodiment,display105 is a flat panel display.
Signal communication device108, also coupled tobus100, can be a serial port for communicating with thecradle60.Device108 can also include an infrared communication port. Areal time clock120 can also be coupled tobus100.
Apalmtop computer100 such as that previously described can be advantageously utilized to permit a user to control the access to the user by telephone, fax or email.FIG. 6 illustrates an exemplary system for providing such control over telephone calls in whichpalmtop computer100 communicates with a telephone server610 (and/or an email server and/or a fax server). The invention will be easily extended to control of fax and email communication by those skilled in the art. This communication can be effected either by a wireless radio frequency link to thetelephone server610 from thepalmtop computer100 or alternatively by a hard wired connection during a synchronization operation, e-mail or other suitable communication technique. In accordance with embodiments of the present invention,palmtop computer100 sends an HTML message to thetelephone server610 establishing rules for routing telephone calls to the various telephone numbers associated with the user. This is depicted conceptually by the various connections from thetelephone server610 to the registeredusers telephone services620 including anoffice phone622, ahome telephone624, ananswering service626, anassistants telephone628, acellular telephone630 and avoice mail system632. Of course, this is not to be limiting since any other suitable telephone connection such as multiple office telephones, etc., can be manipulated in accordance with the present invention.
Therefore, when utilizing the present invention, a telephone call from, for example,
telephone640 through the
telephone network644 to the
telephone server610 is routed to an appropriate one of the users registered
telephone services620 in accordance with the telephone call routing profile stored in a
routing database614. The telephone call routing profiles stored in the routing database are communicated from the
palmtop computer100 in accordance with telephone call routing profiles associated with a users calendar application forming a part of the personal information manager of
palmtop computer100. For reference, TABLE 1 below provides an exemplary set of telephone numbers associated with a particular user to be used in exemplary embodiment in accordance with the present invention.
| OFFICE | 123-555-1234 |
| HOME | 123-555-2222 |
| VOICE MAIL | 123-555-3333 |
| CELLULAR PHONE | 123-555-4444 |
| ASSISTANT'S TELEPHONE | 123-555-7777 |
| |
In addition, TABLE 2 below illustrates a set of telephone call routing profiles established for routing telephone calls to a user having a main telephone number shown as 123-555-4321. In this exemplary embodiment, the user has established seven telephone call routing profiles entitled home, voice mail, meeting, urgent only, assistant, emergency and mobile. Associated with each of these telephone call routing profiles is a destination phone number or phone numbers to which the call will be routed. In several instances, multiple phone numbers are listed in which case failure to connect within a predetermined number of rings on the primary number will result in the call being transferred to the secondary number. In addition, the telephone call routing profile is able to filter the calls based upon the source so that all calls can be accepted and routed to the destination number, only certain source numbers will be routed to the destination number with other numbers being rejected in some manner (for example, a busy signal or a default voice mail message) or all calls with certain exceptions will be routed to a particular destination number.
| TABLE 2 |
|
|
| PROFILES FOR USER PHONE NUMBER 123-555-4321 |
| PROFILE | | DESTINATION |
| NAME | SOURCE NUMBERS | NUMBER |
|
| HOME | ALL EXCEPT: 123-555-9999 | 123-555-2222 |
| VOICE MAIL | ALL | 123-555-3333 |
| MEETING | ALL | 123-555-7777/ |
| | 123-555-3333 |
| URGENT | ALL | 123-555-7777/ |
| ONLY | | 123-555-4444 |
| ASSISTANT | ALL | 123-555-7777 |
| EMERGENCY | 123-555-2222 | 123-555-4444/ |
| 111-555-1199 | 123-555-7777 |
| 123-555-9876 |
| MOBILE | ALL | 123-555-4444 |
|
In one process consistent with the present invention, such telephone call routing profiles can be entered into thedisplay105 ofpalmtop computer100 by use of a data entry form similar to that illustrated as700 inFIG. 7. In this example data entry form, a telephone call routing profile name is entered intoregion704. Destination numbers (primary and secondary) are entered intosection708. For this telephone call routing profile, calls are routed if received from the telephone numbers listed inregion712 and all other calls are rejected as shown inregion714. In this manner, a user can establish a menu selection for later use which will be referred to simply by the telephone call routing profile name, in this case “emergency.”
Referring now toFIG. 8, aprocess800 is illustrated starting at802 for implementing an embodiment of the present invention. At804, a previously established date book alarm sounds to alert the user that it is time for a particular activity that the user has scheduled in his date book application in the personal information manager ofpalmtop computer100. The alarm, which is indicative of the approach of a particular appointment, is displayed at808 to the user until the user accepts the alarm at812 (e.g., by tapping a button on the display). Upon accepting the alarm at812, the palmtop computer displays a menu of telephone call routing profiles so that the user can accept one of the telephone call routing profiles at816. If no telephone call routing profile is accepted at820, control returns to804 until the next date book alarm sounds. However, if a telephone call routing profile is selected at820, information relating to the particular appointment and telephone call routing profile are sent to thetelephone server610 at824. Thetelephone server610 then directs calls for the registered telephone user to the destination telephone number for the duration that the telephone call routing profile is active at828. Control then returns to804 to await the next date book alarm.
In accordance withprocess800, a user therefore makes a selection of a telephone call routing profile whenever an alarm is accepted from thepalmtop computer100. This can be accomplished by displaying a telephone call routing profile menu such as850 illustrated inFIG. 9. In this illustration, thepalmtop computers frame100 displays screen850 in which the user can, for example, select thevoice mail selection860 to associate with the current appointment. Thus, for example, if the appointment runs from 10:00 a.m. to 11:00 a.m. all telephone calls incoming during the time period 10:00 a.m. to 11:00 a.m. will be routed to the users voice mail telephone number established in the voice mail telephone call routing profile as shown in TABLE 2. Alternatively, if the user does not wish to associate a telephone call routing profile with a particular appointment, he may simply exit at866 making no selection of a particular telephone call routing profile.
An alternative embodiment is illustrated inFIG. 10 asprocess900. In this embodiment, starting at902, the personal information manager application awaits opening of a date book at904 by the user. Once the date book is opened at904, it opens to the appointments at the current date at908. The user can then either enter an appointment at912 or view the calendar or date book at912 and exit at916 to return to904. If the user chooses to enter or edit an appointment at912, control passes to920 where a data entry form is presented to the user after entry or editing of the appointment to permit the user to establish a telephone call routing profile. This would lead to thedata entry screen850 or a similar screen. Upon entry of such a telephone call routing profile, the user saves it at924 thus associating the telephone call routing profile with the particular appointment in the date book. Once saved at924, if a telephone call routing profile is not selected at930, the process can either exit at934 to return to904 or can return to the open date of the address book at908. However, if a telephone call routing profile is selected at930, control passes to936 where the time and telephone call routing profile information is sent to the telephone server. The telephone server directs calls using the active telephone call routing profile at the time of the call receipt in accordance with the stored telephone call routing profiles and time information therein. Control then returns to934.
As a result of the
process900 of
FIG. 10, the
telephone server610 establishes a database containing information similar to that illustrated in TABLE 3 below for each user. In such cases, the user can establish default telephone call routing profiles and exceptions by simply registering appointments in the personal information manager applications date book in the
palmtop computer100. Thus, for example, for the time period from 3:00 p.m. to 5:00 p.m. on November 2, all calls would be routed to the users assistant in accordance with the telephone call routing profile illustrated. Similarly, evenings and Saturdays and Sundays calls will be routed to voice mail with the exception that Monday through Friday during the evenings calls will be routed to the home if from the telephone number 123-555-4321.
| TABLE 3 |
|
|
| USER PROFILE FOR PHONE NUMBER123-555-1234 |
| DEFAULT PROFILE: OFFICE |
| EXCEPTION TABLE: |
| | START | STOP | CALL | DESTINATION |
| DATE | DAY | TIME | TIME | SOURCE | PROFILE |
|
| SATURDAY | | | | | | VOICE MAIL |
| SUNDAY | | | | | | VOICE MAIL |
| MONDAY- | 6:00 | PM | 8:00 | AM | | VOICE MAIL |
| FRIDAY |
| MONDAY- | 6:00 | PM | 8:00 | AM | 123-555-4321 | HOME |
| FRIDAY |
| 11/2/2000 | | 9:00 | AM | 10:00 | AM |
| 11/2/2000 | | 10:00 | AM | 11:30 | AM |
| 11/2/2000 | | 11:30 | AM | 12:00 | AM |
| 11/2/2000 | | 12:00 | AM | 1:00 | PM |
| 11/2/2000 | | 3:00 | PM | 5:00 | PM |
| 11/2/2000 | | 6:00 | PM | 6:30 | PM |
| . . . | . . . | . . . | . . . | . . . | . . . |
|
Thus, the present invention provides a mechanism for a user to control the routing of telephone calls by use of the personal information manager of hispalmtop computer100 by simply associating a telephone call routing profile with particular appointments or other time periods within the date book. Those skilled in the art will appreciate that the two processes described can be varied in numerous ways without departing from the present invention and can include numerous other details (such as the ability to exit the process at any point) without departing from the invention.
Those skilled in the art will also understand that the information transmitted from the palmtop computer to the telephone server may be formatted in any number of ways that effectively communicate the information required. For example, in some embodiments, only a starting and ending time is transmitted along with an indicator of a selected telephone call routing profile. In this case, the telephone server stores the telephone call routing profile indicator and understands the relationship between the telephone call routing profile and the destination for calls received the time range. In other embodiments, the time range along with specifics of the telephone call routing profile can be transmitted so that the telephone call routing profile itself is only retained in the palmtop computer and the telephone server is sent details required to correctly route calls during the time period. Those skilled in the art will appreciate that many such variations are possible without departing from the present invention. It is also contemplated that default routings can be established for particular times as depicted in TABLE 3, but this is not to be considered limiting on the scope of the invention.
The invention, as described above, provides for the user to control a telephone call via his or her palmtop computer. However, those skilled in the art will understand that the current invention is not so limited. The invention is readily extended to controlling the receipt of faxes by simply providing a similar profile for receipt of fax communication. In a similar manner, an email server can be controlled by the palmtop computer to redirect emails upon receipt of similar information.
Those skilled in the art will recognize that the present invention has been described in terms of exemplary embodiments based upon use of a programmed processor. However, the invention should not be so limited, since the present invention could be implemented using hardware component equivalents such as special purpose hardware and/or dedicated processors which are equivalents to the invention as described and claimed. Similarly, general purpose computers, microprocessor based computers, micro-controllers, optical computers, analog computers, dedicated processors and/or dedicated hard wired logic may be used to construct alternative equivalent embodiments of the present invention.
Those skilled in the art will also appreciate that the embodiments described above can be implemented using disc storage as well as other forms of storage including Read Only Memory (ROM) devices, Random Access Memory (RAM) devices; optical storage elements, magnetic storage elements, magneto-optical storage elements, flash memory, core memory and/or other equivalent storage technologies without departing from the present invention. Such alternative storage devices should be considered equivalents.
The present invention is preferably implemented using a programmed processor executing programming instructions that are broadly described above in flow chart form and can be stored on any suitable electronic storage medium. However, those skilled in the art will appreciate that the processes described above can be implemented in any number of variations and in many suitable programming languages without departing from the present invention. For example, the order of certain operations carried out can often be varied, and additional operations can be added without departing from the invention. Error trapping can be added and/or enhanced and variations can be made in user interface and information presentation without departing from the present invention. Such variations are contemplated and considered equivalent.
While the invention has been described in conjunction with specific embodiments, it is evident that many alternatives, modifications, permutations and variations will become apparent to those skilled in the art in light of the foregoing description. Accordingly, it is intended that the present invention embrace all such alternatives, modifications and variations as fall within the scope of the appended claims.