Patent Publication Number: US-7213073-B1

Title: Call management system

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The invention relates to a system for managing calls and, more particularly, to a system for managing calls for a telephone of a user using a computer of the user connected via a network to a service provider. 
   2. Background of the Invention 
   Conventionally, a single-line telephone, such as an ordinary residential telephone, does not have multiple-line telephone features, such as the ability to receive more than one call at a time, to hold a current call, or to transfer a current call. To obtain multiple-line telephone features, a user conventionally has two choices. First, the user purchases a multiple-line telephone, which may include purchasing associated telephone switching hardware and software. This option, however, is potentially very costly to the user. Second, the user purchases multiple-line telephone features from a local service provider. For example, Verizon of New York, N.Y. offers a service known as CENTREX, which provides several multiple-line features. With the CENTREX service, if a user wishes to access a multiple-line telephone feature from a single-line telephone, the user must press one of the asterisks-codes via the keypad of the telephone or perform a flash via the hook state. With this option, however, a user must memorize an asterisks-code for each subscribed-to multiple-line telephone feature. Further, the accessing of the asterisks-codes may be awkward for a user during a telephone call if the keypad for the telephone is located in the handset of the telephone because the user must remove the handset from the ear and mouth of the user to access the asterisks-codes via the keypad in the handset. 
   SUMMARY OF THE INVENTION 
   It is an object of the invention to provide multiple-line telephone features for a single-line telephone of a user. 
   It is an object of the invention to provide control of a telephone of a user via a computer of the user. 
   The invention includes a system, an apparatus, a method, and an article of manufacture. 
   The system of the invention includes a computer system to provide at least one telephone feature to a telephone of a user, the computer system receiving instructions regarding said at least one telephone feature via a network from a graphical user interface operating on a computer of the user. The computer system comprises: an application server to interact with the telephone of the user and to provide said at least one telephone feature for the telephone; and a network server layer to interact with the application server, to interact via the network with the computer of the user, and to provide via the network the graphical user interface to the computer, the graphical user interface to operate said at least one telephone feature for the telephone of the user via the network, the network server layer, and the application server. 
   The method of the invention includes a method comprising the steps of: providing a graphical user interface via a network to a computer of a user; controlling a telephone of the user according to input received from the graphical user interface on the computer of the user; and updating the graphical user interface on the computer of the user via the network. The method further comprises the steps of: receiving a call information regarding the telephone; sending a refresh request to the graphical user interface to request an update on a state of the telephone; and receiving an update request from the graphical user interface for the update on the state of the telephone. 
   The system of the invention includes a system comprising: means for providing a graphical user interface via a network to a computer of a user; means for controlling a telephone of the user according to input received from the graphical user interface on the computer of the user; and means for updating the graphical user interface on the computer of the user via the network. The system further comprises: means for receiving a call information regarding the telephone; means for sending a refresh request to the graphical user interface to request an update on a state of the telephone; and means for receiving an update request from the graphical user interface for the update on the state of the telephone. 
   The apparatus of the invention includes a computer system for performing the method of the invention. 
   The apparatus of the invention includes a computer-readable medium comprising software for performing the method of the invention. 
   A “computer” refers to any apparatus that is capable of accepting a structured input, processing the structured input according to prescribed rules, and producing results of the processing as output. Examples of a computer include: a computer; a general purpose computer; a supercomputer; a mainframe; a super mini-computer; a mini-computer; a workstation; a micro-computer; a personal computer; a laptop computer; a server; an interactive television; and a hybrid combination of a computer and an interactive television. A computer can have a single processor or multiple processors, which can operate in parallel and/or not in parallel. A computer also refers to two or more computers connected together via a network for transmitting or receiving information between the computers. An example of such a computer includes a distributed computer system for processing information via computers linked by a network. 
   A “computer-readable medium” refers to any storage device used for storing data accessible by a computer. Examples of a computer-readable medium include: a magnetic hard disk; a floppy disk; an optical disk, such as a CD-ROM and a DVD; a magnetic tape; a memory chip; and a carrier wave used to carry computer-readable electronic data, such as those used in transmitting and receiving e-mail or in accessing a network. 
   “Software” refers to prescribed rules to operate a computer. Examples of software include: software; code segments; instructions; computer programs; and programmed logic. 
   A “computer system” refers to a system having a computer, where the computer comprises a computer-readable medium embodying software to operate the computer. 
   A “network” refers to a number of computers and associated devices that are connected by communication facilities. A network involves permanent connections such as cables or temporary connections such as those made through telephone or other communication links. Examples of a network include: an internet, such as the Internet; an intranet; a local area network (LAN); a wide area network (WAN); and a combination of networks, such as an internet and an intranet. 
   A “telephone network” refers to a network to route a telephone call. Example of a telephone network include: public switch telephone network (PSTN); and the Internet. A telephone network is accessed, for example, via an access gateway, a network gateway, or a soft switch. 
   Moreover, the above objects and advantages of the invention are illustrative, and not exhaustive, of those which can be achieved by the invention. Thus, these and other objects and advantages of the invention will be apparent from the description herein, both as embodied herein and as modified in view of any variations which will be apparent to those skilled in the art. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Embodiments of the invention are explained in greater detail by way of the drawings, where the same reference numerals refer to the same features. 
       FIG. 1  illustrates a plan view of the invention. 
       FIG. 2  illustrates a state diagram depicting exemplary relationships between exemplary call states of a telephone of a user. 
       FIG. 3  illustrates a flow diagram for connecting a telephone of a user to a service provider. 
       FIG. 4  illustrates a flow diagram for dialing a telephone number using a telephone of a user. 
       FIG. 5  illustrates a flow diagram for initiating a telephone feature from a computer of a user. 
       FIG. 6  illustrates a flow diagram for receiving a call for a telephone of a user. 
       FIG. 7  illustrates an exemplary graphical user interface (GUI). 
       FIG. 8  illustrates the GUI of  FIG. 7  with additional features. 
       FIG. 9  illustrates the GUI of  FIG. 8  with additional features. 
       FIG. 10  illustrates a plain view of another embodiment of the invention. 
       FIG. 11  illustrates a plain view of yet another embodiment of the invention. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   The invention integrates and improves upon call processing technologies and network technologies for new, unique, and useful telephone-related services for a user. Specifically, the invention controls a telephone of the user via a computer of the user. The computer of the user is connected via a network to a service provider to control the telephone of the user. The user initiates telephone calls via either the telephone of the user or the computer of the user and accesses telephone features provided by the service provider via the computer of the user. The service provider receives incoming calls for the telephone of the user and administers outgoing calls for the user. The service provider also synchronizes a call state of the telephone of the user with a representation of the call state on the computer of the user. 
   With the invention, the user is able to receive calls from many different types of telephony devices and access telephone features for addressing the received calls. Further, no software to control the telephone of the user preferably needs to be installed on the computer of the user beyond a network browser. In a preferred embodiment, the user invokes the telephone features to control the telephone of the user using a network browser on the computer of the user. 
   With the invention, the user is able to turn any telephone into a telephone having office-like features, including numerous multi-line features. As long as the user has access to a telephone and a connection from the computer to the service provider, the user is able to turn the telephone of the user into an office-like telephone. Further, the invention is available anywhere in the world where the user has access to a telephone, where the computer has access to a network for contacting the service provider, and where the service provider has access to control the telephone. 
     FIG. 1  illustrates a plan view of the invention. The invention includes a user side  1  and a service provider side  2 . The user side  1  includes a telephone  3  of a user and a computer  6  of the user. The service provider side  2  includes an application server  4  and a network server layer  5 . 
   The telephone  3  of the user is implemented with a wide variety of telephones. Examples of the telephone  3  include: a single-line telephone; a multiple-line telephone; a direct dial-in telephone; a public pay telephone; a mobile telephone; a wireless telephone; and a soft client (e.g., a web telephone). 
   The telephone  3  of the user does not need to be known to the service provider side  2  prior to the computer  6  connecting the service provider side  2 . With the invention, the telephone  3  is not required to be registered with the service provider side  2 , as with a local telephone company or a long distance telephone company. Instead, the user is registered with the service provider side  2  and, upon connecting the computer  6  to the service provider side  2 , is able to identify any telephone  3  for use with the invention. As an example, if the user is in an airport, the computer  6 , which is a laptop computer, for instance, is connected to the network server layer  5  via a mobile telephone of the user, and the telephone  3  is a public pay telephone located next to the user in the airport. As another example, if the user is visiting a friend who has a single-line telephone, the computer  6 , which is a laptop computer, for instance, is connected to the network server layer  5  via a mobile telephone of the user, and the telephone  3  is the single-line telephone of the friend. 
   A telephone network  10  connects the telephone  3  and the application server  4 . The telephone network bridges the user side  1  and the service provider side  2 . The application server  4  is connected to the telephone network  10  via, for example, an access gateway, a network gateway, or a soft switch. Preferably, the telephone  3  communicates with the application server  4  via the telephone network  10  using an Internet protocol (IP) telephony protocol via an access gateway. 
   The application server  4  connects the telephone  3  to the network server layer  5 . In addition, the application server  4  manages the services for the service provider side  2 , including maintaining and administering telephone features  11 , sending calls on behalf of the user via the computer  6  or the telephone  3 , and receiving calls for the telephone  3 . Preferably, the application server  4  is implemented with the invention disclosed in co-pending U.S. patent application Ser. No. 09/418,130, filed Oct. 12, 1999, which is incorporated herein by reference. 
   The telephone features  11  include any service usable with the telephone  3 . Examples of the telephone features  11  include the following: a multiple-line telephone feature; a dial number feature; a transfer feature; an answer/talk feature; a hold feature; a conferencing feature; a release feature; a voicemail feature; a do not disturb feature; and a call forwarding feature. Exemplary telephone features are further discussed with respect to the exemplary GUIs of  FIGS. 7–9 . 
   The application server  4  controls the telephone  3 . The application server  4  maintains zero or more calls for the user depending on the hardware of the service provider side  2  and depending on the number of call lines to which the user subscribes. 
   The application server  4  maintains one or more call states for the telephone  3 . Examples of a call state for the telephone  3  include the following: an idle call state; a non-idle call state; a call from state; a call to state; a talking state; and a held state.  FIG. 2  illustrates a state diagram depicting exemplary relationships between exemplary call states for the telephone  3  as managed by the application server  4 . 
   With the invention, the application server  4  is able to receive calls from a variety of communication devices, such as for example: a standard residential telephone; a standard business telephone; a wireless mobile telephone; a soft client (e.g., a web telephone); a pager; and a public pay telephone. 
   The network  12  connects the application server  4  and the network server layer  5 . Preferably, the network  12  is an intranet. As an option, the network  12  is the Internet. Preferably, the network  12  uses a three-layer system to couple the application server  4  and the network server layer  5 . The three-layer system comprises a client call protocol layer (CCP), which is on top of a remote invocation (RMI) layer, which is on top of a transmission control protocol/Internet protocol (TCP/IP) layer. The CCP layer includes a bi-directional protocol between the application server  4  and the network server layer  5 . The RMI layer transports object-oriented technology between the application server  4  and the network server layer  5 . The RMI layer is preferably implemented using the Java software and is able to start remote Java software. Information on Java software is available at wwwjava.sun.com. The TCP/IP layer comprises a TCP/IP socket. Alternatively, instead of the preferred three-layer system, the network  12  uses a bi-directional TCP/IP socket-based protocol. 
   The network server layer  5  connects the application server  4  and the computer  6 . The network server layer  5  mediates communications between the application server  4  and the computer  6 . Preferably, the network server layer  5  is a web server, such as an Apache web server available from The Apache Software Foundation of Forest Hill, Md. Further information on the Apache web server is available at www.apache.org. 
   The network server layer  5  maintains a GUI  13 . Preferably, the GUI  13  is in the hypertext markup language (HTML) and is usable with a network browser  19  of the computer  6 . Exemplary GUIs are illustrated in and discussed with respect to  FIGS. 7–9 . The network server layer  5  provides the GUI  13  to the computer  6  as GUI  17 . The network server layer  5  updates the GUI  17  regarding a representation of a call state of the telephone  3  and synchronizes a call state of the telephone  3  with a representation of the call state for the GUI  17 . The network server layer  5  provides information to and from the application server  4  regarding the GUI  17 . 
   The network server layer  5  maintains network communication software (NCS)  14 . Preferably, the NCS  14  is a Java applet. The NCS  14  is provided along with the GUI  13  to the computer  6  as NCS  18 . The NCS  18  receives prompts from the network server layer  5  for receiving real-time updates of the call state of the telephone  3  and the service provider side  2 . 
   The network server layer  5  maintains a servlet engine  15 . Preferably, the servlet engine  15  is a Java server engine, such as the Apache Jserv by the Apache Software Foundation of Forest Hill, Md. Information on Apache Jserv is available at java.apache.org. 
   In general, the network server layer  5  updates the GUI  17  for a call on telephone  3  transitioning from one state to another state. As an example, the network server layer  5  updates the GUI  17  to represent an idle call state when no calls are present on the telephone  3  and a non-idle call state when at least one call is present on the telephone  3 . Examples of states of the telephone, as administered by the application server  4 , are illustrated in  FIG. 2 . 
   The network server layer  5  provides to the GUI  17  an indication as to which telephone features  11  are accessible via the GUI  17  and an update of accessibility for the accessible telephone features  11 . For example, if a conferencing feature is one of the telephone features  11 , the user is able to have conference calls from the telephone  3 . If the user does not subscribe to the conferencing feature, the network server layer  5  does not provide an indication that the conferencing feature is available to the user via the GUI  17 . If, however, the user subscribes to the conferencing feature, the network server layer  5  provides an indication of accessibility to the conferencing feature and updates this indication of accessibility as the conferencing feature is in use and not in use. As another example, if the user subscribes to a hold feature of the telephone features  11 , the user is able to hold a call. If a call is present, the network server layer  5  updates the GUI  17  that the hold feature is available for selection by the user. If, however, no call is present and the telephone  3  is in an idle state, the network server layer  5  updates the GUI  17  that the hold feature is unusable by to the user. 
   The network  16  connects the network server layer  5  and the computer  6 . The network  16  bridges the user side  1  and the service provider side  2 . Preferably, the network  16  is an intranet. As an option, the network  16  is the Internet. Preferably, the network  16  is implemented with two two-layer systems: (1) an hypertext transfer protocol (HTTP) layer, which is on top of a first TCP/IP layer; and (1) a client push protocol (CPP) layer, which is on top of a second TCP/IP layer. The HTTP layer is bi-directional, and the CPP layer is uni-directional from the network server layer  5  to the computer  6 . The HTTP layer permits the computer  6  to pull information from the network server layer  5 . The CPP layer provides an additional layer of communication between the computer  6  and the network server layer  5  that is unavailable with the HTTP layer. Each of the two TCP/IP layers comprise a TCP/IP socket for transferring information between the network server layer  5  and the computer  6  such that the network  16  preferably includes two TCP/IP sockets. 
   The GUI  17  and the NCS  18  preferably use different techniques to communicate with the network server layer  5 . The GUI  17  preferably uses the HTTP layer, and the NCS  18  preferably uses the CPP layer. The CCP layer pushes information from the network server layer  5  to the computer  6 . Preferably, the CCP layer pushes information from the servlet engine  15  of the network server layer  5  to the NCS  18  of the computer  6 . With the CCP layer, real-time updates as to the call state of the telephone  3  and the status of the service provider side  2  are provided to the computer  6 . 
   The computer  6  resides on the user side  1  and provides the user with the ability to control the telephone  3  via the service provider side  2 . The computer  6  includes the GUI  17 , the NCS  18 , and a network browser  19 . The network browser  19  is any type that is able to support the GUI  17 . Examples of the network browser  19  include the Internet Explorer by Microsoft Corporation of Redmond, Wash. and the Netscape Navigator by America Online of Dulles, Va. The network browser  19  is used to connect the computer  6  to the network server layer  5  to initiate control of the telephone  3  via the server provider side  2 . 
   With the invention, no information is stored on the computer  6  regarding calls of the user and telephone features  11  subscribed to by the user. Instead, all such information is stored by the network server layer  5  on the service providers side  2 . 
   To update the GUI  17 , the network server layer  5  prompts the computer  6  to request from the network server layer  5  an update of the call state of the telephone  3 . Preferably, the network server layer  5  prompts the computer  6  using the CPP layer of the network  16 . Preferably, when the GUI  17  needs to be updated, the network server layer  5  via the servlet engine  15  prompts the NCS  18  via the CPP layer of the network  16  to request an update of the GUI  17 . The NCS  18  in turn prompts the GUI  17  to request an update from the network server layer  5 , and the GUI  17  requests an update from the network server layer  5  via the HTTP layer of the network  16 . The GUI update feature of the invention is further discussed with respect to  FIGS. 4–6 . 
   With the invention, no software is installed on the computer  6  at run time. Instead, all that is required is a network browser  19  on the computer  6 . The GUI  17  and the NCS  18  are provided from the network server layer  5  and are copies of the GUI  13  and the NCS  14 , respectively. In addition, no plug-ins or extra security permissions are preferably needed on the computer  6  to run the GUI  17  and the NCS  18 . 
   The invention permits extendable architecture for the service provider side  2 . As illustrated in  FIG. 1 , the application server  4  and the network server layer  5  are implemented separately. In one embodiment, the service provider side  2  comprises a computer system comprising one computer system for implementing the application server  4  and another computer system implementing the network server layer  5 . The application server  4  and the network server layer  5  do not need to reside in the same complex and, as an option, are located at geographically distinct locations. In another embodiment, the application server  4  and the network server layer  5  are implemented in a single computer system at the same geographic location. 
     FIGS. 3–6  illustrate the information flow of the invention and refer to the plan view of the invention illustrated in  FIG. 1 . 
     FIG. 3  illustrates a flow diagram for connecting the telephone  3  to the service provider side  2 . In block  31 , the computer  6  contacts the network server layer  5  via the network  16 . Preferably, the network browser  19  of the computer  6  contacts the network server layer  5  via the network  16 . Preferably, the network server layer  5  operates a web site accessible via the network browser  19  on the computer  6 . Once the web site is accessed by the computer  6 , all software that is required to control the telephone  3  via the computer  6  is preferably downloaded from the web site operated by the network server layer  5 , which is discussed below for block  32 . As an example, using the network browser  19  and the Internet, the user visits the web site maintained by the service provider side  2 . 
   In block  32 , the network server layer  5  provides the GUI  13  and the NCS  14  via the network  16  to the computer  6 . The provided GUI  13  is represented as the GUI  17  on the computer  6 , and the NCS  14  is represented as the NCS  18  on the computer  6 . Preferably, the web site operated by the network server layer  5  downloads the GUI  17  and the NCS  18  to the computer  6  via the HTTP layer of the network  16 . Preferably, no software other than the GUI  17  and the NCS  18  needs to be downloaded to control the telephone  3  via the computer  6 . Further, no additional software is required to be installed on the computer  6  other than the network browser  19 . All information regarding the services subscribed to by the user are stored in the network server layer  5  and are represented by the GUI  17 . 
   In block  33 , the GUI  17  of the computer  6  registers the telephone  3  of the user with the network server layer  5 . Once the GUI  17  and the NCS  18  are downloaded from the network server layer  5 , the GUI  17  and the NCS  18  start up via the network browser  19 . As an example, at the web site maintained by the service provider side  2 , the user elects to control a telephone of the user, and a separate window, for instance, on the computer  6  is opened using the network browser  19  to run the GUI  17  and the NCS  18 . As part of the initiation process, the GUI  17  prompts the user to enter the telephone number of the telephone  3 . Preferably, the GUI  17  includes a list of previously registered telephone numbers which are available to the user for selection. The list of previously registered telephone numbers is maintained by the network server layer  5  and is included with the GUI  17 . The user selects one of the previously registered telephone numbers or enters a new telephone number. Once entered, the GUI  17  forwards the telephone number to the network server layer  5  via the network  16 . The communication between the computer  6  and the network server layer  5  for block  33  is preferably via the HTTP layer of the network  16 . Once the network server layer  5  receives the telephone number of the telephone  3 , the network server layer  5  forwards the telephone number to the application server  4 . 
   In block  34 , the application server  4  controls the telephone  3  via the telephone features  11 . The application server  4  controls all calls to and from the telephone  3  and all calls from the computer  6  for the telephone  3 . Once the application server  4  receives the telephone number for the telephone  3  from the network server layer  5  via the network  12 , the application server  4  assumes control of the telephone network connections to the telephone  3  via, for example, an access gateway, a network gateway, or a soft switch. 
   In block  35 , the network server layer  5  stores information on both the user and calls and also synchronizes the GUI  17  of the computer  6  with the telephone  3 . The network server layer  5  stores, for example: information on calls to and from the telephone  3  and from the computer  6 ; information regarding the services subscribed to by the user, including the telephone features  11  subscribed to by the user; and the telephone number of the telephone  3 . The network server layer  5  synchronizes the call state of the telephone  3  with a representation of the call state for the GUI  17 . The synchronization is discussed further below with respect to  FIGS. 4–6 , and particularly blocks  44 – 48  in  FIG. 4 . 
     FIG. 4  illustrates a flow diagram for dialing a telephone number using the telephone  3 . This scenario is differentiated from the user dialing a telephone number using the GUI  17 , which is discussed with respect to  FIG. 5 . 
   In block  41 , the user dials a telephone number using the telephone  3 . 
   In block  42 , the telephone  3  sends call information regarding the dialed telephone number to the application server  4  via the telephone network  10 . 
   In block  43 , the application server  4  processes the call information received from the telephone  3 . Using the call information, the application server  4  accesses a telephone network (not shown) and dials the dialed telephone number. From the telephone  3 , the user hears the number being dialed, and the desired telephone number ringing if the connection is successful. 
   In block  44 , the application server  4  sends a call message to the network server layer  5  via the network  12 . The call message notifies the network server layer that the call state of the telephone  3  has changed from an idle state to a non-idle state, such as a call from state as illustrated in  FIG. 2 . 
   In block  45 , after receiving the call message from the application server  4 , the network server layer  5  sends a refresh request to the NCS  18  requesting that the GUI  17  request an update from the network server layer  5 . Preferably, the servlet engine  15  sends the refresh request via the CCP layer of the network  16  to the NCS  18 . The refresh request sent by the network server layer  5  to the NCS  18  notifies the GUI  17  that the GUI  17  needs to be refreshed. 
   In block  46 , the GUI  17  processes the refresh request received from the network server layer  5 . Preferably, the NCS  18 , which received the refresh request, forwards the refresh request to the GUI  17 , which interacts with the network browser  19 . 
   In block  47 , the GUI  17  sends an update request to the network server layer  5  via the network  16 . The GUI  17  in conjunction with the network browser  19  sends the update request to the network server layer  5 . Preferably, the update request is sent from the GUI  17  to the network server layer  5  via the HTTP layer of the network  16 . 
   In block  48 , the network server layer  5  sends updated telephone information to the GUI  17  via the network  16 . Preferably, the updated telephone information is sent to the GUI  17  via the HTTP layer of the network  16 . As the telephone call continues and the call state of the telephone  3  is changed, the GUI  17  is updated according to blocks  44 – 48 . 
     FIG. 5  illustrates a flow diagram for initiating a telephone feature  11  from the computer  6  of the user. In block  51 , the user initiates a telephone feature  11  using the GUI  17 . For example, the user initiates the dial number feature or the hold feature of the telephone features  11 . Any conventional technique is employed to permit the user to interact with the GUI  17  and select a telephone feature. 
   In block  52 , the GUI  17  sends a call management direction to the network server layer  5  via the network  16 . The call management direction indicates to the network server layer  5  that the user initiated a particular telephone feature  11 . Preferably, the call management direction is sent via the HTTP layer of the network  16 . 
   In block  53 , the network server layer  5  sends a telephone feature message to the application server  4  via the network  12 . The telephone feature message indicates to the application server  4  that a particular telephone feature  11  needs to be administered on behalf of the user. The telephone feature message is sent via the CCP layer of the network  12 . 
   In block  54 , the application server  4  administers the selected telephone feature  11 . As an example, if the selected telephone feature  11  is the dial number feature, the application server  4  dials the selected number and rings the telephone  3  via the telephone network  10 . When the user answers the telephone  3 , the user hears the dialing and ringing of the telephone number selected in block  51 . As another example, if the selected telephone feature  11  is the hold feature, the application server  4  places on hold the call selected by the user using the GUI  17  in block  51 . 
   In block  55 , the network server layer  5  synchronizes the GUI  17  with the telephone  3 . The application server  4  communicates with the network server layer  5  via the network  12  as to the status of the call state of the telephone  3 . The network server layer  5  and the GUI  17  communicate via network  16  as discussed above in blocks  44 – 48  to update the GUI  17  as to the status of the telephone  3 . The network server layer  5  synchronizes the call state of the telephone  3  with a representation of the call sate for the computer  6 . 
     FIG. 6  illustrates a flow diagram for receiving a call on the telephone  3  of the user. In block  61 , the application server  4  receives an incoming call on behalf of the telephone  3 . Because the telephone  3  is registered with the application server  4 , the application server  4  monitors the incoming telephone calls for telephone  3  and receives them on behalf of telephone  3 . 
   In block  62 , the application server  4  rings the telephone  3  via the telephone network  10 . 
   In block  63 , the network server layer  5  synchronizes the GUI  17  with the telephone  3 . The application server  4  communicates with the network server layer  5  via the network  12  as to the status of the call state of the telephone  3 . The network server layer  5  and the GUI  17  communicate via network  16  as discussed above in blocks  44 – 48  to update the GUI  17  as to the status of the telephone  3 . The network server layer  5  synchronizes the call state of the telephone  3  with a representation of the call sate for the computer  6 . 
   Various embodiments of the GUI  13 , which is provided to the computer  6  as GUI  17 , are discussed with respect to  FIGS. 7–9 . The various exemplary features of the exemplary GUIs illustrated in  FIGS. 7–9  are combinable and separable as desired. 
     FIG. 7  illustrates an exemplary GUI  71  usable as the GUI  13  and GUI  17 . The GUI  71  interacts with the network browser  19 , such as the Microsoft Internet Explorer network browser. The GUI  71  includes icons, some of which are user selectable, and display areas. 
   The GUI  71  includes icons identifying the service provider and the GUI. Service provider icon  72  designates a service provider administrating the service provider side  2 . Product icon  73  designates the name of the GUI  71  and the company providing the GUI  71 . 
   Phone list display area  74  is a pull-down menu listing available telephone lists. Examples of telephone lists include: a business phone group list, a personal phone list, and a recent calls phone list. After a phone list is selected from area  74 , the numbers available from the selected phone list are displayed in a phone list entries display area  75 , which is a pull-down menu. 
   As an example of areas  74  and  75 , with the business group phone list, the user selects the business group phone list from area  74  and selects a name from area  75  corresponding to a member within the business group. The business group is, for instance, a company employing the user, and the business group phone list includes names of fellow employees in the company. The business group phone list is, for example, set by the company of the user, where the company subscribes to the service provider on behalf of the user. 
   As another example, with the personal phone list, the user selects the personal phone list from area  74  and a name from area  75 . The personal phone list is configurable by the user. 
   As a further example, with a recent calls phone list, the user selects the recent calls phone list from area  74  and selects a listing from area  75  corresponding to a recently dialed number or a recently received number. The listings in area  75  are, for example, names, numbers, time/date stamps for calls, and/or a combination of these. The recent call phone list is a dynamic list, which is updated on a first-in-first-out basis. 
   Dial number area  76  displays a number the user desires to call. Area  76  displays a number manually entered by the user using, for example, the keyboard of the computer  6  or displays a number selected via areas  74  and  75 . 
   Dial icon  77  dials a telephone number. When icon  77  is selected by the user, the number displayed in area  76  is dialed according to the invention. If the telephone  3  is on hook, the telephone  3  rings when the application server  4  administers the dial number feature. Selecting icon  77  initiates the dial number feature of telephone features  11 . 
   Call area  78  displays current calls of the telephone  3 . The active call in area  78  is the call currently connected to telephone  3  and is indicated in area  78  as “Talking” or “Ringing.” For example, in  FIG. 7 , the first call is active, as indicated by the “Talking” status. The maximum number of calls displayable in area  78  preferably corresponds to the maximum number of calls provided by the service provider side  2  or by the number of virtual lines subscribed to by the user. The highlighted call in area  78  is a selected call. By default, the selected call is generally the active call, unless the user selects a different call as a highlighted call. 
   Each line in area  78  includes a cell  78   a  for the name of the party on the call, a cell  78   b  for the number of the party on the call, and a cell  78   c  for the status of the call (e.g., ringing, talking, holding). For cell  78   a , the name of the party is known and displayed if the user identifies the name of the party prior to dialing the number or if the name of the party is identifiable from a received call. If the name of the party on the call is unknown, cell  78   a  is blank. As an option, a time/date stamp is displayed in cell  78   a  if the name of the party is unknown. For cell  78   b , if the user dialed the number or if the number of the party is identifiable from a received call, the number of the party on the call is known and displayed. If the number of the party on the call is unknown, cell  78   b  is blank. As an example, when the icon  77  is selected by the user, the number in area  76  is displayed in area  78  in cell  78   b  along with the name of the called party, if known, in cell  78   a  and the status of the call in cell  78   c.    
   Transfer icon  79  transfers the highlighted call in area  78  to the number displayed in area  76 . The transferred-to number is, for example, the telephone number of a co-worker or voicemail. The highlighted call is transferred from telephone  3  to the transferred-to party, and the highlighted call is disconnected from the telephone  3 . Selecting icon  79  initiates the transfer feature of telephone features  11 . 
   Answer/talk icon  80  allows the user to answer an incoming call when there is another call in progress or to continue with a call on hold. When another call is incoming, the GUI  71  is updated by listing the new incoming call in area  78 . To answer the new incoming call, the user selects the incoming call in area  78 , which is then highlighted, and selects icon  80 . If no other calls are active in area  78 , and an incoming call is received, the user preferably answers the telephone  3  using the telephone  3 . If a call is on hold, the icon  80  is used to retrieve the call on hold. To retrieve a call on hold, the user selects the call in area  78 , which is then highlighted, and selects icon  80 . When the icon  80  is selected, any active calls in area  78  are placed on hold. Selecting icon  80  initiates the answer/talk feature of the telephone features  11  and, if another call is placed on hold, initiates the hold feature of the telephone features  11 . 
   Hold icon  81  allows user to place an active call on hold. The hold feature places an active call on hold until the call is retrieved by the user or the held party hangs up the telephone. To place the active call on hold, the user selects icon  81 . To place the active call on hold, the user selects icon  81 . Selecting icon  81  initiates the hold feature of the telephone features  11 . 
   Conference icon  82  initiates a conference call with the parties listed in area  78 . Calls are added and deleted to the conference call by highlighting a desired call and selecting the appropriate icon. Selecting icon  82  initiates the conferencing feature of the telephone features  11 . 
   Release icon  83  allows the user to disconnect a call. Selecting icon  83  releases the call highlighted in area  78 . An active call is also released by the user hanging up the telephone  3 . Selecting icon  83  initiates the release feature of the telephone features  11 . 
   Message waiting icon  84  displays the number of messages waiting in the voicemail of the user. Selecting icon  84  is equivalent to selecting icon  77  with the voicemail number of the user displayed in area  76 . Selecting icon  84  initiates a voice mail feature in the telephone features  11 . 
   Do not disturb icon  85  allows the user to make the telephone  3  appear busy. Incoming calls are answered by the voicemail of the user or receive a busy signal. Selecting icon  85  initiates the do not disturb feature of the telephone features  11 . 
   Call forwarding icon  86  forwards all incoming calls to the number displayed in call forwarding display area  87 . Selecting icon  86  initiates the call forwarding feature in the telephone features  11 . 
   Log out icon  88  logs out the user. When the user logs out, a message is sent to the network server layer  5  that the user is no longer interested in receiving updates, the window is closed, and the GUI  17  and the NCS  18  are removed from the computer  6 . Selecting icon  88  initiates a log out feature in the telephone features  11 . 
   Help icon  89  provides the user with information regarding interacting with the GUI  71 . 
     FIG. 8  illustrates an exemplary GUI  91 , which is the combination of the GUI  71  of  FIG. 7  along with a content central display area  92  and a resource channels display area  102 . With areas  92  and  102 , the GUI  91  operates as a web portal. A web portal provides access to, for example, web sites and network services, such as e-mail, forums, search engines, and on-line shopping malls. Aspects of the GUI  91  which are identical to those in the GUI  71  are not discussed. 
   Content central display area  92  displays messages from a personalized information provider. The messages include message information  93 . An e-mail icon  94  is available for saving the information  93  in the e-mail of the user. A trash can icon  95  is available for deleting the message  93 . Instead of icons  94  and  95 , alternative techniques are available for implementing saving and deleting messages  93 . 
   Resource channels display area  102  includes links to at least one organization, such as a service provider, a business, and a person. For each link, area  102  includes an identifier icon  103  of the organization, a network icon  104 , and a telephone icon  105 . By selecting icon  104 , the website of the organization identified by icon  103  is contacted. Preferably, when icon  104  is selected, a new window is displayed via the network browser  19  for the selected organization. Telephone call icon  105  initiates a telephone call to the organization identified by icon  103 . Using the dial number feature in telephone features  11 , the telephone number of the organization is dialed. Selecting icon  105  is equivalent to the user selecting icon  77  for a number displayed in area  76  corresponding to the desired organization. 
     FIG. 9  illustrates an exemplary GUI  111 , which is a combination of the GUI  91  in  FIG. 9  along with a search feature and an advertisement. Aspects of the GUI  111  which are identical to those in the GUI  91  are not discussed. To use the search feature, the user selects a phone list from phone list area  74 . In search display area  112 , the user enters search criteria. After the user initiates the search (e.g., by hitting the “enter” key on the keyboard of the computer  6 ), a search of the phone list selected in area  74  is conducted for the information displayed in area  112 . The results of the search are preferably displayed in a secondary window initiated by the network browser  19 . When a result in the secondary window is selected by the user, the number for the selected result is displayed in area  76 , and the secondary window is closed. 
   Advertisement area  113  displays an advertisement. Preferably, a fee for the advertisement is paid by an advertiser to the server provider maintaining the server provider side  2 . As an option, area  113  is updated on a periodic or aperiodic basis as discussed above for blocks  44 – 48  in  FIG. 4 . 
   The invention is described as controlling a single telephone  3  from the computer  6 . As an option, multiple telephones are controllable from the computer  6 . This option is desirable, for example, for use by a receptionist. In one embodiment, the GUI  17  is modified to control multiple telephones. For example, if the GUI  17  is implemented with the GUI  71  of  FIG. 7 , the GUI  17  includes an area  78  as for each telephone controlled by the GUI  17 .  FIG. 10  illustrates a plain view of the invention where the GUI  17  controls two telephones, namely telephone  3  and telephone  121 . Telephone  121  is connected to the network server layer  5  via telephone network  122 , which may be the same as or different than the telephone network  10 . The telephone features  11  are available to the computer  6  for controlling the telephones  3  and  121 . If the GUI  17  is implemented with the GUI  71  of  FIG. 7 , the GUI  17  includes an area  78  corresponding to telephone  3  and another area, similar to area  78 , corresponding to telephone  121 . 
   In another embodiment for controlling multiple telephones, instead of using a single GUI  17  and a single NCS  18  to control the multiple telephones from the computer  6 , multiple GUIs and multiple NCSs are used by the computer  6 . As an option, multiple GUIs and a single NCS for the computer  6  are used to control multiple telephones.  FIG. 11  illustrates a plain view of the invention where the GUI  17  and the NCS  18  control telephone  3  and where the GUI  131  and the NCS  132  control telephone  121 . The GUI  131  and the NCS  132  are downloaded from the network server layer  5  to the computer  6  and are copies of the GUI  13  and the NCS  14 , respectively. 
   The embodiments and examples discussed herein are non-limiting examples. 
   The invention is described in detail with respect to preferred embodiments, and it will now be apparent from the foregoing to those skilled in the art that changes and modifications may be made without departing from the invention in its broader aspects, and the invention, therefore, as defined in the claims is intended to cover all such changes and modifications as fall within the true spirit of the invention.