Abstract:
An apparatus and method that allows a telecommunication identification number for a communication terminal to be determined upon a presence of a user at the network connected telecommunication terminal.

Description:
TECHNICAL FIELD  
         [0001]    The present invention relates to communication systems, and, in particular, to the assignment of telecommunication identification numbers to telecommunication terminals.  
         BACKGROUND OF THE INVENTION  
         [0002]    As corporations have increased the numbers of their employees working mostly off-site, i.e., out of the office, the concept of “hot desks” has become common. Using hot desks, instead of each employee having their own individually assigned desks, employees are assigned an empty desk when they come into their office. Using the assigned desk, the employee can connect their laptop and have use of a desk phone. The problem arises that the desk telephone has a telephone number associated with it that is not assigned to the specific person who is now using the desk. The employee has to transmit this telephone number to people with whom they may need to communicate. It is inconvenient to reconfigure the telecommunication switching equipment to provide a new number for the employee each time they sit at a particular desk since the reconfiguring is a manual operation. Further, the reconfiguration must be manually undone once the employee is no longer using the desk.  
           [0003]    Within the prior art, one solution to the above problem is to have specially equipped telephone sets that accept credit cards which define the user to the telephone switching system. The disadvantage of this technique is the need for specially developed telephone sets.  
           [0004]    In addition, certain telecommunication switching systems such as MultiVantage® telecommunication switching system from Avaya, Inc. provide features that allow a telephone set to have its telephone number modified by a user through the use of a feature access code, a secret code and extension number. The phone can be tailored to the needs of the user. Unfortunately, this prior art solution does require a number of manual operations on the part of the user. In addition, the user must remember to reset the extension number when the user is done using the desk.  
           [0005]    Another prior art solution that has been used by some corporations is to give employees only wireless telephones, which they can then carry to any desk within the office complex. The wireless telephone is always used by the same user; hence, it always has the correct telephone number.  
         SUMMARY OF THE INVENTION  
         [0006]    The above mentioned problems are solved and a technical advance is achieved in the art by an apparatus and method that allows a telecommunication identification number for a communication terminal to be determined upon the presence of a user at the telecommunication terminal.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWING  
       [0007]    [0007]FIG. 1 illustrates, in block diagram form, an embodiment of the invention;  
         [0008]    [0008]FIG. 2 illustrates, in block diagram form, another embodiment of the invention;  
         [0009]    [0009]FIG. 3 illustrates, in block diagram form, an embodiment of a server or other computer;  
         [0010]    [0010]FIGS. 4 and 5 illustrate, in flowchart form, operations performed in implementing embodiments of the invention; and  
         [0011]    [0011]FIG. 6 illustrates, in flowchart form, operations performed by another embodiment of the invention. 
     
    
     DETAILED DESCRIPTION  
       [0012]    [0012]FIG. 1 illustrates, in block diagram form, an embodiment of the invention. In this embodiment, the user of laptop  107  is assigned a hot desk on which is telephone set  108 . Telecommunication services are provided to telephone set  108  by telecommunication switching system  101 . Server  103  provides data processing support for portable computer  107 . Portable computer may be a laptop computer, personal digital assistant (PDA), etc. (The portable computer is also referred to as a user computer.) Data network  104  provides communication for elements  101 - 103 ,  106  and  107 . Data network  104  may be an Ethernet network or any other data network, as is well known to those skilled in the art.  
         [0013]    When portable computer  107  establishes a connection to server  103  via data network  104 , server  103  identifies the port used by portable computer  107  by a network port number used by the network. The network port number defines the physical connection to the network. The user will be identified by the portable computer identification information. If data network  104  is the Ethernet, the identification may be the machine address controller (MAC). In addition, the IP address of portable computer  107  may be used for identification. Upon identifying the port based on the MAC or IP address, server  103  will access database  102  via data network  104  to determine which telephone set is associated with the port on the data network to which portable computer  107  is connected. Also, server accesses the database to determine the user of portable computer  107  based on a mapping between portable computer  107  and the user. One skilled in the art could readily envision that database  102 , rather than being a stand alone database, could be part of server  103  or telecommunication switching system  101 . Server  103  extracts from database  102  the telephone number that is assigned to the user and the port number on telephone switching system  101  for telephone  108 . Server  103  then transmits a message via data network  104  to telecommunication switching system  101  requesting that telephone switching system  101  assigned the telephone number of the user to telephone set  108 . One skilled in the art can readily envision different mechanisms for transmitting a message from server  103  to telecommunication switching system  101  then via a data network. For example, it is well known in the art to establish a direct connection between a server and a telecommunication switching system.  
         [0014]    When the user disconnects portable computer  107  from the network, server  103  transmits a message to telecommunication system  101  requesting that telecommunication system  101  remove the assignment of the user&#39;s telephone number to  108 .  
         [0015]    Consider a second embodiment of the invention where personal computer  106  permanently is co-located with telephone set  108  on a particular desk. When the user is assigned to this desk, the user logs on to server  103  via personal computer  106  using login methods well known to those skilled in the art. Server  103  then identifies personal computer  106  with the user using the login information and identifies telephone set  108 . Server  103  then requests that telecommunication switching system  101  assign the user&#39;s telephone number to telephone set  108 .  
         [0016]    [0016]FIG. 2 illustrates another embodiment of the invention. In FIG. 2, gatekeeper  201  is providing telephone service for IP telephones such as IP telephone  208  via data network  204 . When the user of portable computer  207  is assigned a desk on which IP telephone  208  is located, server  203  will determine the association of portable computer  207  with IP telephone  208  by monitoring the establishment of connections on data network  204 . By performing this monitoring, server  203  can determine not only when portable computer  207  becomes active but also the port on data network  204  that portable computer  207  is utilizing. Once again, when server  203  has determined the port being utilized by portable computer  207 , it makes the association that IP telephone  208  is close to this port. Server  203  access database  202  to obtain the telephone number assigned to the user of portable computer  207  as well as other information identifying IP telephone  208  to gatekeeper  201 . Server  203  then requests that gatekeeper  201  associate the telephone number of the user with IP telephone  208  by the transmission of one or more messages via data network  204 .  
         [0017]    When the user disconnects portable computer  207  from the network, server  203  transmits a message to gatekeeper  201  requesting that gatekeeper  201  remove the assignment of the user&#39;s telephone number to IP telephone  208 .  
         [0018]    [0018]FIG. 3 illustrates, in block diagram form, one embodiment of a computer such as server  103  or  203 . Processor  302  provides the overall control for the functions of a computer by executing programs and storing and retrieving data from memory  301 . Processor  302  connects to data network  104  or  204  via interface  303 . Processor  302  interfaces to user input device  311  via interface  307  and connects to display  319  via interface  309 . Processor  302  performs the operations of the embodiments by executing the routines illustrated in memory  301 .  
         [0019]    Operating system  312  provides the overall control and the necessary protocol operations. Database  316  stores information to be utilized by the various routines. Control is performed by control routine  316 . The communication and control of the various interfaces illustrated in FIG. 3 is provided by interfaces routine  317 . Connection routine  318  controls the operations concerned with the connection of a user&#39;s computer to the data network, and disconnection  321  performs the operations that result when a user&#39;s computer is disconnected from the data network.  
         [0020]    [0020]FIGS. 4 and 5 illustrate, in flowchart form, operations of embodiments of the invention. After being started from block  400 , decision block  401  determines if a connection is being made to the server by a user&#39;s computer. If the answer is yes, block  402  obtains the network port number through which the user&#39;s computer is connecting to the data network. Block  403  then utilizes information resulting from when the user logs into the server to obtain the user&#39;s information that includes the user&#39;s telephone number. Block  404  determines the telephone that is physically located with the port whose network port number is being utilized by the computer by accessing a database. Finally, block  406  requests that a telephone switching system or a gatekeeper that is controlling the telephony operations assign the telephone number of the user to the telephone before transferring control back to decision block  401 .  
         [0021]    Returning to decision block  401 , if the answer is no in decision block  401 , decision block  407  determines if a user computer is disconnecting from the server. If the answer is no, block  408  performs normal processing before transferring control back to decision block  401 . If the answer is yes in decision block  407 , control is transferred to block  501  of FIG. 5, block  501  obtains the network port number from which the computer is disconnecting, and block  502  obtains the user telephone number of the user that is using the computer. Block  503  determines the telephone that is associated with the network port number. In another embodiment, the server retains information in an internal database that records the user&#39;s telephone number and the telephone that the user is currently utilizing or, in yet another embodiment, this information can be stored in an external database such as database  102  or  202 . Finally, block  504  requests that the determined telephone be unassigned the telephone number of the user before control is transferred back to decision block  401 .  
         [0022]    [0022]FIG. 6 illustrates, in flowchart form, operations of another embodiment of the invention. In this embodiment, the operations are performed by the portable computer of a user. After being started from block  600 , decision block  601  determines if the portable computer is connecting to a network such as networks  104  or  204 . If the answer is yes, block  602  obtains the network port number through which the user&#39;s portable computer is connecting to the data network. Block  603  then utilizes internal information to obtain the user&#39;s telephone number. The portable computer may also access the telephone number from an external database. Block  604  determines the telephone that is physically located with the port whose network port number is being utilized by the portable computer by accessing a database. Finally, block  606  requests that a telephone switching system or a gatekeeper that is controlling the telephony operations assign the telephone number of the user to the telephone before transferring control back to decision block  601 .  
         [0023]    Returning to decision block  601 , if the answer is no in decision block  601 , decision block  607  determines if the portable computer is disconnecting from the server. This detection may be done by determining that the user is powering down the portable computer or by another indication from the user. If the answer is no, block  608  performs normal processing before transferring control back to decision block  601 . If the answer is yes in decision block  607 , control is transferred to block  609 . The latter block requests that the determined telephone be unassigned the telephone number of the user before control is transferred back to decision block  601 .  
         [0024]    In another embodiment, a portable computer interconnects via a wireless network for example a Bluetooth wireless network. The location of the portable computer is determined based on a location of a wireless base station or picronet with which the portable computer is in contact.  
         [0025]    When the operations of devices  103 ,  107 ,  203 , or  207  are implemented in software, as is shown in FIGS. 4-6, it should be noted that the software can be stored on any computer-readable medium for use by or in connection with any computer related system or method. In the context of this document, a computer-readable medium is an electronic, magnetic, optical, or other physical device or means that can contain or store a computer program for use by or in connection with a computer related system or method. Devices  103 ,  107 ,  203 , or  207  can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. For example, the computer-readable medium can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM, EEPROM, or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured via optical scanning of the paper or other medium and then compiled, interpreted or otherwise processed in a suitable manner, if necessary, and stored in a computer memory.  
         [0026]    In an alternative embodiment, where devices  103 ,  107 ,  203 , or  207  is implemented in hardware, devices  103 ,  107 ,  203 , or  207  can be implemented with any or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.  
         [0027]    Of course, various changes and modification to the illustrated embodiments described above will be apparent to those skilled in the art. Such changes and modifications can be made without departing from the spirit and scope of the invention and without diminishing its intended advantages. It is therefore intended that such changes and modifications be covered by the following claims except insofar as limited by the prior art.