DELIVERY OF CONTENT TO CUSTOMIZABLE
TELEPHONE DEVICES
FIELD AND BACKGROUND OF THE INVENTION The present invention relates to a customizable telephone system and telephone devices for which content is provided according to the operation of each specific telephone device.
Current telephone systems, both analog and digital in a variety of settings, including both home and office use, are highly limited and fixed in functions that they provide. For example, the functionality of such telephones cannot be altered, but rather is limited to the factory- determined features.
A scripting based IP telephony system connects a scripting capable telephone to a scripting based server over a packet-switched network such as an IP (Internet Protocol) network, as its name suggests. These telephonic systems can receive data through such a network, and therefore can perform various voice mail and other telephonic functions through software on the connected server over the packet-switched network. Clearly, such a system is more flexible, since additional functions can be provided by adjusting the language based scripts that reside at the server and execute at both the server and telephone devices. Furthermore, such software can be customized by the user in order to perform these telephonic functions according to the request of the user. Thus, an IP scripting based telephony system provides a greater level of customization than non-scripting based telephones, but such a system is not currently known in the art. Unfortunately, even currently available IP telephony systems still lack flexibility, since the telephonic device which is connected to the dedicated server is not scripting language based and have limited customization. Although the software at the dedicated server can be customized, the same is not true of the telephonic device connected to the server. A more improved system would also include a flexible, customizable network telephonic device
for receiving and transmitting the telephone calls. Such a system is disclosed in U.S. Provisional Application No. 60/168,395, filed on December 2, 1999, which is hereby incorporated by reference as if fully set forth herein.
The advantage of the disclosed system and telephonic devices is the ability to be flexibly customized according to the preferences of the user. The disclosed network telephonic device is intended for connection to a packet-switched network, preferably an IP network, and is particularly preferred for use as a telephone, as its name suggests. The device preferably features a display screen for displaying text, graphical and video information, such as a GUI (graphical user interface) for example. More preferably, the display screen is integrated with a touch screen. Additionally or alternatively, function buttons are also provided for receiving user input. The device of the present invention also provides software scripting functionality which enables the device to be flexibly customized according to the request of the user, optionally and preferably through scripts provided as HTML pages and scripts such as JavaScripts.
Such flexible customization is useful for a number of different functions, such as for determining how incoming telephone calls are handled, as well as for displaying information to the user through the GUI displayed on the screen. One possible type of customization involves the provision of customized content to the individual user through such a display on the display screen. Currently, networked telephones cannot provide such customized content to the user, as they lack the flexible customization capabilities of the disclosed network telephonic device. There is thus a need for, and it would be useful to have, a network telephonic device which is flexible and customizable for the provision of customized content to the user through the provision of IP telephony services as part of an IP telephony system.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, wherein: FIG. 1 is a schematic block diagram of an exemplary network telephonic system according to the present invention;
FIG. 2 is a schematic block diagram of an exemplary software architecture according to the present invention;
FIG. 3 shows a schematic block diagram of a software core according to the present invention; and
FIGS. 4A and 4B are flowcharts of exemplary methods according to the present invention.
SUMMARY OF THE INVENTION The present invention is of a system and method for displaying customized content to networked telephonic devices which are themselves customizable. The content is preferably based upon telephone call processes occurring within the networked telephonic device, such as upon a particular outbound telephone number to which a call is being placed, or upon the identification of the caller for an incoming telephone call, for example. Once the telephone call process has been analyzed and the information concerning the telephone call has been retrieved, the content is then selected according to the retrieved information. The selected content is delivered to the networked telephonic device and is displayed through the display screen of the device. According to preferred embodiments of the present invention, the customized content is delivered to the networked telephonic device as HTML or other mark-up language pages (Web pages) from the centralized Web server. Alternatively or additionally, the content could be delivered in the form of other types of media, including but not limited to, streaming audio and/or video data, still image data and animated data.
According to the present invention, there is provided a system for displaying selected content to a user, the system comprising: (a) a networked telephonic device for displaying the selected content to the user and for performing a telephone call operation; (b) a software package for being operated by the networked telephonic device and for analyzing the telephone call operation to determine a key for selecting the selected content; (c) a server for receiving the key and a request for the selected content from the software package, the server selecting content to form the selected content according to the key; and (d) a network for connecting the networked telephonic device and the server.
According to another embodiment of the present invention, there is provided a method for displaying selected content to a user, the method comprising the steps of: (a) providing a networked telephonic device for interaction with the user, and for displaying the selected content to the user; (b) performing a telephone call operation by the networked telephonic device; (c) analyzing the telephone call operation to determine a key; (d) selecting the selected content according to the key; and (e) displaying the selected content. Hereinafter, the term "network" refers to a connection between any two or more computational devices which permits the transmission of data. Hereinafter, the term "computational device" includes, but is not limited to, an IP telephone having a real time operating system such as Vx Works (Wind River Ltd.); personal computers (PC) having an operating system such as DOS, Windows™, OS/2™ or Linux; Macintosh™ computers; computers having JAVA™-OS as the operating system; graphical workstations such as the computers of Sun Microsystems™ and Silicon Graphics™, and other computers having some version of the UNIX operating system such as AIX™ or SOLARIS™ of Sun Microsystems™; or any other known and available operating system, or any device which can be connected to a packet switched network and which has an operating system. Hereinafter, the term
"Windows™" includes but is not limited to Windows95™, Windows 3.x™ in which "x" is an integer such as "1", Windows NT™, Windows98™, Windows CE™ and any upgraded versions of these operating systems by Microsoft Corp. (USA). Hereinafter, the term "Web page" refers to any document written in a mark-up language including, but not limited to, HTML (hypertext mark-up language) or VRML (virtual reality modeling language), dynamic HTML, XML (extended mark-up language) or related computer languages thereof, as well as to any collection of such documents reachable through one specific Internet address or at one specific World Wide Web site, or any document obtainable through a particular URL (Uniform Resource Locator). Hereinafter, the term "Web site" refers to at least one Web page, and preferably a plurality of Web pages, virtually connected to form a coherent group. Hereinafter, the term "Web server" refers to a server for providing one or more Web pages upon request. Hereinafter, the phrase "display a Web page" includes all actions necessary to render at least a portion of the information on the Web page available to the computer user. As such, the phrase includes, but is not limited to, the static visual display of static graphical information, the audible production of audio information, the animated visual display of animation and the visual display of video stream data.
The method of the present invention could be described as a series of steps performed by a data processor, and as such could optionally be implemented as software, hardware or firmware, or a combination thereof. For the present invention, a software application could be written in substantially any suitable programming language, which could easily be selected by one of ordinary skill in the art. The programming language chosen should be compatible with the computational device according to which the software application is executed. Examples of suitable programming languages include, but are not limited to, C, C++ and Java.
DETAILED DESCRIPTION OF THE INVENTION
The present invention is of a system and method for displaying customized content to networked telephonic devices which are themselves customizable. The content is preferably related to the telephone call being performed, and is optionally advertising, although substantially any other type of content could also be displayed.
The networked telephonic device preferably features a display screen for displaying the video and graphical portions of the content and an audio output device such as a speaker for playing audio data, as well as software and/or hardware features for placing and receiving telephone calls. The content is preferably based upon telephone call processes occurring within the networked telephonic device, such as upon a particular outbound telephone number to which a call is being placed, or upon the identification of the caller for an incoming telephone call, for example. Once the telephone call process has been analyzed and the information concerning the telephone call has been retrieved, the content is then selected according to the retrieved information. The selected content is delivered to the networked telephonic device and is displayed through the display screen of the device, and/or through the audio output device(s). As previously noted, one example of such a networked telephonic device is disclosed in U.S. Provisional Application No. 60/168,395. The device preferably operates with IP (Internet Protocol) networks, although it could optionally be operated with any packet-switched network. The device is customizable through scripts, such that a portion of the software operated by the networked telephonic device is comprised of these scripts. The scripts are preferably provided as HTML pages from a central Web server which is connected to the telephonic device through the network.
As the network telephonic device of the present invention is more preferably intended for connection to an Ethernet network, this device can be described as an Ethernet connected voice and data terminal, which is
particularly preferred for use as a telephone, as its name suggests. The device preferably features a display screen, such as a VGA LCD for example, for displaying video information. More preferably, the display screen is integrated with a touch screen. Additionally or alternatively, function buttons are also provided for receiving user input. The network telephonic device executes at least one script for determining at least one function of the telephonic device, which enables the functioning of the telephonic device to be customized. A script contains commands to control both the display and call processes on the telephonic device. According to preferred embodiments of the present invention, the customized content is delivered to the networked telephonic device as HTML or other mark-up language pages (Web pages) from the centralized Web server. Alternatively or additionally, the content could be delivered in the form of other types of media, including but not limited to, streaming audio and/or video data, still image data and animated data.
According to other preferred embodiments of the present invention, the delivered content is advertisements, and is delivered by the service provider to which the networked telephonic device is connected. The subscriber to the service provider may then optionally receive tiered services according to whether such advertisements are received and displayed by the networked telephonic device. For example, subscribers who receive such advertisements may also receive a reduction in the cost of services charged by the service provider.
The principles and operation of a system and method according to the present invention may be better understood with reference to the drawings and the accompanying description, it being understood that these drawings are given for illustrative purposes only and are not meant to be limiting.
Referring now to the drawings, Figure 1 is a schematic block diagram of an exemplary network telephonic system according to the present invention. A system 10 features a networked telephonic device 12 connected to a Web
server 14 through a network 16. Network 16 is preferably a packet-switched network, more preferably an IP network, and most preferably an Ethernet network as previously described. Alternatively, network 16 is the Internet. Networked telephonic device 12 receives content from Web server 14 through network 16, and displays this content on a display 18 of networked telephonic device 12. Display 18 preferably includes at least a display screen 20, such as a VGA LCD for example, for displaying video information. More preferably, display 18 also includes at least one speaker 22 or other audio output device for playing or "displaying" audio data. Thus, the content which is received from Web server 14, although preferably in the form of Web pages, is also alternatively or additionally served as audio and/or video data. For example, the content could be served in the form of streaming audio or video data.
The operation of networked telephonic device 12, including receiving content from Web server 14 and displaying the received content through display 18, is preferably controlled by a plurality of software modules, organized into a software package 24. The architecture of the software package is shown in greater detail with regard to Figures 2 and 3. Briefly, software package 24 is able to receive the incoming content, such as Web pages for example, and to cause the content to be displayed appropriately, for example through display screen 20. In addition, software package 24 controls the operations of networked telephonic device 12, such as placing outbound calls and receiving inbound calls, as described in greater detail below.
The control and analysis of these operations is important for selecting the type of information in the served content according to the telephone call processes which are occurring within networked telephonic device 12, such that there is a direct and immediate correlation between the type of content which is sent from Web server 14 and the operations of networked telephonic device 12. As used herein, the term "telephone call processes" refers to the operations of networked telephonic device 12 during a telephone call. If the
user of networked telephonic device 12 is placing the telephone call to a second telephonic device of some kind, such that the telephone call is an outbound telephone call, then these operations of networked telephonic device 12 include selecting the telephone number of the second telephonic device by the user; initiating the connection to the second telephonic device; and, if the connection is made successfully, initiating some type of voice communication with the second telephonic device. The telephone number is optionally selected by the user through the operation of a keypad 26, or alternatively is retrieved from a database through the interaction of the user with a GUI (graphical user interface) which is displayed by display screen 20, for example. Regardless of the mechanism for selecting the telephone number, software package 24 of networked telephonic device 12 is able to retrieve the telephone number for the outgoing call.
Software package 24 then contacts Web server 14 with the retrieved telephone number, informing Web server 14 that networked telephonic device 12 is placing an outgoing telephone call to that telephone number. Web server 14 then searches through an associated database 28 for any identification information associated with the telephone number. Such identification information enables content to be selected which is related to the telephone number to which the outgoing call is being placed. For example, if the outgoing call is being placed to a commercial concern, then the content is preferably selected according to the type of business conducted by the commercial concern. The process of selecting content is described in greater detail with regard to Figures 4A and 4B below. The selected content is then sent from Web server 14 to networked telephonic device 12.
A similar process is optionally followed for delivering content which is related to an incoming telephone call, and more preferably to the identity of the external caller who is placing the incoming telephone call to networked telephonic device 12. As used for incoming telephone calls, the term "telephone call processes" again refers to the operations of networked
telephonic device 12, which now include receiving a request to initiate the connection to the external telephonic device; accepting the connection; and receiving voice data from the external telephonic device.
Software package 24 is optionally and preferably able to determine the identity of the external caller who is placing the incoming telephone call, and then contacts Web server 14. More preferably, software package 24 is able to determine the identity of the external caller during the ringing processes, such that even before the user of networked telephonic device 12 is able to accept the incoming call by answering networked telephonic device 12, software package 24 contacts Web server 14 with the request for content. Web server 14 then retrieves and sends the content according to the identity of the external caller, which is preferably determined according to the telephone number from which the incoming call is being placed. Thus, the operation of software package 24 is important for identifying the telephone number to which an outgoing call is being placed, or from which an incoming call is being placed, in order for appropriate, related content to be selected.
Figure 2 is a schematic block diagram of an exemplary software package 24 according to the present invention. As shown, software package 24 features an HTML application layer 30, which is the plurality of HTML documents, optionally including software scripts such as Javascripts for example, for customizing the functionality of the network telephonic device of the present invention. These HTML documents can be created and/or adjusted by the user in order to customize the functions of the network telephonic device.
An HTML client 32, preferably HTML Works (Wind River Ltd., USA) for example, gives access to the scripts of HTML application layer 30 to a TCP/IP layer 34 and to a core software 36. TCP/IP layer 34 provides services for communication across the packet-switched network for the TCP/IP protocols, assuming that the network is a TCP/IP network.
Core software 36 performs a number of functions, including maintaining the state machines for telephone calls. These state machines involve such
activities as answering an incoming telephone call, for example in order to generate an audible ring tone, to know when the user has answered or to perform a conference call, for example.
Another function performed by core software 36 is controlling the start-up of the telephonic device, for example in order to receive its own network address from a DHCP (Dynamic Host Configuration Protocol) server. Core software 36 also provides access for the customized user scripts of HTML application layer 30 to all of the resources of the telephonic device, such as the various hardware components, as described in greater detail with regard to Figure 3. Core software 36 controls these various hardware components through one of a plurality of hardware drivers 38 for each such hardware component, in a manner which is obvious to one of ordinary skill in the art.
Core software 36 provides access to network services through an FTP (File Transfer Protocol)/DHCP module 40 and through an H.323/SIP module 42 for network telephony communication services. With regard to the customizable services, H.323/SIP module 42 detects the telephone number of an outgoing telephone call, and then passes this telephone number to core software 36. Core software 36 then passes the telephone number to HTML application layer 30, which sends the information to the server (not shown), preferably either as part of a new HTML document or alternatively as part of a new URL, for example in order to be received by a CGI script at the server.
Figure 3 shows the architecture of core software 36 in more detail. Core software 36 features an API 44 for communicating with HTML client 32 of Figure 2. API 44 is also in communication with a telephone start-up module 46, which as previously mentioned enables the telephonic device of the present invention to begin operation. A call state machines module 48 maintains the state machines for the telephone calls, including detecting the telephone number and sending this telephone number to HTML application 30 of Figure 2 through API 44, from which it is processed as previously described. Interfaces to various software modules and hardware components of the
telephonic device are also provided as follows. A call control protocol interface 50 interacts with H.323/SIP module 42 of Figure 2 for performing communication according to network telephony protocols such as H.323 and SIP for example. An audio device interface 54 interacts with the audio devices of the network telephonic device, such as the headset, handset, speaker and microphone(s) of the telephonic device according to the present invention. Such interaction may optionally include, but is not limited to, the detection of dialing tones for an incoming telephone call, the generation of such tones for an outgoing telephone call, and handling streaming audio data. Audio device interface 54 transfers information for communicating with hardware drivers 38. A UI (user interface) interface 56 interacts with the various software and hardware components of the user interface of the network telephonic device, such as the touch screen, LCD display, the GUI (graphical user interface) shown on the LCD display, the keypad and the LED's. UI interface 56 also communicates with the hardware drivers 38 for these components. HTML application layer 30 preferably performs all of the graphical image rendering to bitmaps for display on an LCD display.
A non-volatile memory interface 58 interacts with the non-volatile memory component(s) of the network telephonic device, for example for the storage and retrieval of configuration parameters.
Figures 4A and 4B are flowcharts of exemplary methods according to the present invention for displaying specific content on the network telephonic device, in which the specific content is determined according to the operation of one or more telephone call processes. Both Figures 4A and 4B are explained with regard to the system of Figure 1.
Figure 4A is a flowchart of an exemplary method for such a display according to information received from an outgoing telephone call, which is placed by the networked telephonic device to an external telephonic device. Figure 4B is a flowchart of an exemplary method for such a display according
to information received from an incoming telephone call, which is received by the networked telephonic device from the external telephonic device. In both cases, the content is selected according to a key, such as a telephone number for example. If a telephone number is used, preferably the content is selected according to the identity of the telephone subscriber who owns the telephone number, such that the telephone subscriber has at least one characteristic which is used to select the content. As used herein, the term "user" refers to the user of the networked telephonic device, while the term "external user" refers to the individual who operates the external telephonic device. As shown in Figure 4A, in step 1, the user selects a telephone number for placing an outgoing telephone call. As previously noted, such a selection is optionally performed by entering the telephone number through a keypad of networked telephonic device, and alternatively is performed by retrieving the telephone number from a database of such numbers. The database is optionally local to the networked telephonic device, but alternatively is associated with the Web server.
In step 2, the selected telephone number is detected by the software architecture of the networked telephonic device. In step 3, the detected telephone number is sent from the networked telephonic device to the Web server. In step 4, the Web server searches through an associated database for any content which is associated with the telephone number. In this example, the telephone number is that of a florist, such that the Web server retrieves advertising content related to florists, flowers, gardening or any other subject which has been predetermined to be related to florists. However, the content is not necessarily advertising, but could be substantially any content which has been determined to be related to florists.
In step 5, the Web server locates appropriate content which is related to florists. Optionally, the content could be determined from a script which operates dynamically and "on the fly" at the Web server. In step 6, if necessary, the Web server preferably formats the content
into a data format which is appropriate for the networked telephonic device, such as in the form of Web pages, for example. In step 7, the content is sent from the Web server to the networked telephonic device. In step 8, the content is displayed by the networked telephonic device, such that as the user places the telephone call to the florist, the content which is related to florists is displayed on the display of the networked telephonic device, for example with a graphic, video and/or audio display. A video display is optionally suitable for certain types of content, such that if the user had placed an outgoing telephone call to a movie theater instead, for example, the content could be a streaming video display of a video clip.
Figure 4B shows a flowchart of an exemplary method for selecting content according to an incoming telephone call. In step 1, the networked telephonic device receives a request for a connection from an external telephonic device. Preferably, such a request includes generating ring tone or another indication to the user that a telephone call is being received by the networked telephonic device. In step 2, preferably even during the generation of the ring tones or other indication, the software architecture of the networked telephonic device performs a caller identification procedure, in order to determine the identity of the external caller, or at least the telephone number. Optionally, other information may be provided according to the SIP protocol, such as the e-mail address of the external caller, if the telephonic device of the external caller is connected to an accessible network. Preferably, such a caller identification procedure includes the identification of the telephone number from which the external call is being placed. In step 3, the detected telephone number is sent from the networked telephonic device to the Web server. In step 4, the Web server searches through an associated database for any content which is associated with the telephone number. In this example, the telephone number is that of a dentist, such that the Web server retrieves advertising content related to oral hygiene products or any other general subject which has been predetermined to be
related to dentists. However, the content is not necessarily advertising, but could be substantially any content which has been determined to be related to dentists. For example, the content could be related to a future dental appointment for that user. Alternatively, the user could receive more private content, such as information about the birthday of a friend or family member, for example.
The remaining steps of the method are substantially similar to those for Figure 4A. Briefly, in step 5, the Web server locates appropriate content which is related to dentists. In step 6, if necessary, the Web server preferably formats the content into a data format which is appropriate for the networked telephonic device, such as in the form of Web pages, for example. In step 7, the content is sent from the Web server to the networked telephonic device. In step 8, the content is displayed by the networked telephonic device, such that as the user receives the telephone call from the dentist, the content which is related to dentists is displayed on the display of the networked telephonic device, for example with a graphic, video and/or audio display.
It will be appreciated that the above descriptions are intended only to serve as examples, and that many other embodiments are possible within the spirit and the scope of the present invention.