Abstract:
A method for determining the time required for a server to effect a telephone ring signal at a client computer, the method including tracking elapsed time concurrently at the server and the client computer, initiating a telephone call from the sever to the client computer after a specified time period has elapsed, detecting at least one telephone ring signal at the client computer, recording the time at which the telephone ring signal is detected at the client computer, and transmitting the recorded time to the server.

Description:
FIELD OF THE INVENTION 
     The present invention relates to telephone signaling systems in general, and more particularly to methods and apparatus for controlling telephone rings. 
     BACKGROUND OF THE INVENTION 
     It is curtly not possible for a telephone caller to know prior to placing a telephone call to another party the number of rings and the delay between rings that will occur at the called party&#39;s telephone. This is due mainly to the differences between telephone systems, even within a single country or area code. Furthermore, different providers of PABX services utilize different ring generators, and those PABXs that have computer interfaces often take different routes to the various destination computers, causing rings and delays at a particular client computer to vary from those of another client computer, even within the same PABX system. 
     SUMMARY OF THE INVENTION 
     The present invention seeks to provide an automatic tuning process whereby a telephone caller may know prior to placing a telephone call to another party the number of rings and the delay between rings that will occur at the called party&#39;s telephone. The invention is preferably implemented using a computer, such as a personal computer or a wireless computer device such as a World-Wide-Web enabled device, that is adapted to place a telephone call via a land-based or wireless telephone network. The called party&#39;s computer or wireless device then provides ring and delay information to the calling computer via a computer network. The ring and delay information may then be used by the calling computer to cause a predetermined number of telephone ring signals and ring separation delays to occur at a called computer or web-enabled wireless device in order to convey information thereby. 
     There is thus provided in accordance with a preferred embodiment of the present invention a method for determining the time required for a server to effect a telephone ring signal at a client computer, the method including tracking elapsed time concurrently at the server and the client computer, initiating a telephone call from the server to the client computer after a specified time period has elapsed, detecting at least one telephone ring signal at the client computer, recording the time at which the telephone ring signal is detected at the client computer, and transmitting the recorded time to the server. 
     Further in accordance with a preferred embodiment of the present invention the method further includes transmitting an indication of the specified time period to the client computer. 
     Still further in accordance with a preferred embodiment of the present invention any of the transmitting steps includes transmitting via a network. 
     Additionally in accordance with a preferred embodiment of the present invention the method further includes maintaining the call for a predetermined length of time sufficient for three ring signals to be detected at the client computer. 
     Moreover in accordance with a preferred embodiment of the present invention the method further includes discontinuing the call subsequent to the detecting step. 
     There is also provided in accordance with a preferred embodiment of the present invention a method for conveying information to a computer, the method including notifying the computer of at least one ring-and-delay combination and the information that the combination represents, initiating a telephone call to the computer, effecting the ring-and-delay combination at the computer via the telephone call, and detecting the ring-and-delay combination at the computer, thereby conveying the information to the computer. 
     Further in accordance with a preferred embodiment of the present invention the method further includes varying the ring-and-delay combination in accordance with an algorithm known in advance to the computer. 
     There is additionally in accordance with a preferred embodiment of the present invention a method for conveying information to a computer, the method including determining the time required for a server to effect a telephone ring signal at the computer by tracking elapsed time concurrently at the server and the computer, initiating a telephone call from the server to the computer after a specified time period has elapsed, detecting at least one telephone ring signal at the computer, recording the time at which the telephone ring signal is detected at the computer, and transmitting the recorded time to the server, notifying the computer of at least one ring-and-delay combination and the information that the combination represents, initiating a telephone call to the computer, effecting the ring-and-delay combination using the recorded time at the computer via the telephone call, and detecting the ring-and-delay combination at the computer, thereby conveying the information to the computer. 
     It is appreciated throughout the specification and claims that the term “automatic tuning process” refers to a procedure for determining the time required for a computer server to effect one or more telephone ring signals at a client computer, that the term “signaling operation” refers to a procedure for causing a predetermined number of telephone ring signals and ring separation delays to occur at a client computer, that the term “computes” refers to any device incorporating a central processing unit, such as, but not limited to, a personal computer, a notebook computer, and a cellular telephone, and that the term “network” refers to a wired or wireless computer network or other telecommunications network capable of conveying electronic transmissions between computers. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the appended drawings, in which: 
     FIG. 1 is a simplified conceptual illustration of a system for controlling telephone rings, constructed and operative in accordance with a preferred embodiment of the present invention; 
     FIG. 2 is a simplified flowchart illustration of an exemplary automatic tuning process of the system of FIG. 1, operative in accordance with a preferred embodiment of the present invention; and 
     FIG. 3 is a simplified flowchart illustration of an exemplary signaling operation of the system of FIG. 1, operative in accordance with a preferred embodiment of the present invention. 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     Reference is now made to FIG. 1, which is a simplified conceptual illustration of a system for controlling telephone rings, constructed and operative in accordance with a preferred embodiment of the present invention. In the system of FIG. 1 a client computer  10 , which may be any known computer or web-enabled wireless device, is shown in telephonic communication with a network  12 , typically the Internet, using any conventional means. Client  10  is adapted to send transmissions to a server  14 , which may be any known server computer, via network  12  using any suitable network communications protocol, and likewise to receive transmissions from server  14 . Server  14  is adapted to place a telephone call via a land-based or wireless telephone network  16  using dialing apparatus  18  to client  10  in response to receiving a transmission from client  10 . Dialing apparatus  18  may be any known dialing means controllable by a server, such as a standard modem. Client  10  is adapted to detect the call using call detection apparatus  20 . Detection apparatus  20  may be any known call detection means for interfacing with client  10 , and is adapted to identify telephone rings and provide notifications of ring events to client  10 . 
     Reference is now made to FIG. 2, which is a simplified flowchart illusion of an exemplary automatic tuning process of the system of FIG. 1 operative in accordance with a preferred embodiment of the present invention. In the method of FIG. 2 client  10  establishes a telephonic connection to network  12  and sends a transmission via network  12  to server  14  (step  100 ). The transmission may include information identifying client  10 , including client  10 &#39;s network address, or else client  10 &#39;s network address may simply be included in the transmission header in accordance with standard network transmission protocols. Once server  14  identifies client  10  from the transmission, server  14  sends a transmission via network  12  to client  10  indicating that an automatic tuning process is about to commence (step  110 ). The transmission from server  14  may indicate to client  10  that the automatic tuning process will begin after a specified period of time elapses from the time of receipt of the transmission from server  14  by client  10 . Alteratively, this period of time may be predefined in advance and known to both server  14  and client  10 , and thus need not be conveyed by transmission. Client  10  then preferably acknowledges receipt of the transmission from server  14  and disconnects from network  12  (step  120 ). Server  14  begins tacking the elapsed time of the automatic tuning process from the time it sent its transmission to client  10 , or alternatively from the time server  14  received client  10 &#39;s acknowledgement (step  130 ). Client  10  likewise begins tracking the elapsed time of the automatic tuning process from the time it received server  14 &#39;s transmission, or alternatively from the time client  10  sent its acknowledgement of receipt of server  14 &#39;s transmission (step  140 ). Typically, both client  10  and server  14  track elapsed time by referring to an internal system clock in accordance with conventional techniques. 
     Once the specified period of time has elapsed, server  14  initiates a telephone call to client  10  via telephone network  16  using dialing apparatus  18  (step  150 ). Upon receipt of the call at call detection apparatus  20 , detection apparatus  20  indicates to client  10  that a call has been received. Preferably, detection apparatus  20  notifies client  10  of events relating to the call using known telephony application programming interface (TAPI) protocols, with detection apparatus  20  sending client  10  an event message each time a ring signal is detected (step  160 ). Client  10  records the time of each ring signal event in terms of the current elapsed time from the start of the automatic tug process (step  170 ). Server  14  maintains the call for a predetermined length of time, preferably sufficient for three rings to be detected by detection apparatus  20  (step  180 ). Server  14  then instructs dialing apparatus  18  to discontinue the call to client  10  (step  190 ). 
     After waiting a predefined period of time in which no rings are detected, client  10  reestablishes a telephonic connection to network  12  and transmits to server  14  via network  12  the recorded time of one or more of the ring signal events in terms of the elapsed time from the start of the automatic tuning process (step  200 ). Typically, client  10  only transmits the recorded times of the first two ring events it encounters. Thus, for example, if t 0  is the time at which the automatic tuning process is to begin, the first ring event t 1  might be reported as t 0 +2 seconds, while the second ring event t 2  might be reported as t 0 +6 seconds, and the third at t 0 +10 seconds. Alternatively, each ring event may be reported in terms of a time offset from the immediately-preceding ring event (e.g., t 1  t 0 +2 seconds, t 2 =t 1 +4 seconds, etc.). In this manner, server  14  may know that a telephone call placed to client  10  at a time to for a duration of t 0 +6 seconds will cause one complete ring to occur at client  10 , that a call of a duration &lt;t 0 +10 seconds will cause a second complete ring to occur at client  10 , and that a ring cycle from the start of one ring until the start of the next ring is 4 seconds. 
     It is appreciated that the method of FIG. 2 may be implemented periodically in order to obtain updated tuning information, this in accordance with a predetermined schedule or at the initiative of either client  10  or server  14 . 
     Reference is now made to FIG. 3, which is a simplified flowchart illustration of an exemplary signaling operation of the system of FIG. 1, operative in accordance with a preferred embodiment of the present invention In the method of FIG. 3, server  14  uses ring signal timing data received from client  10  as part of an automatic tuning process to convey information to client  10 . The signaling operation begins with server  14  notifying client  10 , typically as part of a transmission via network  12 , of one or more ring-and-delay combinations and the information that each particular ring and delay combination represents (step  300 ). For example, server  14  might indicate to client  10  that two rings followed by a delay of 45 seconds followed by one ring indicates that an email message has arrived at server  14  that is addressed to client  10 . Thus, when server  14  wishes to signal client  10 , it initiates a telephone call to client  10  at time to and begins tracking the elapsed time (step  310 ). The two rings are then effected at client  10  at times t 0 +2 and t 0 +6 (step  320 ), with the call being terminated prior to t 0 +10 (step  330 ). Preferably, termination of a call should be sufficiently prior to the beginning of the next ring, such as by terminating the call at t 0 +(0.8=(ring cycle)) or at another faction of the ring cycle. A second telephone call is then initiated at t 0 +45−2 (since, in this example, a fist ring occurs two seconds after the initiation of the telephone call) (step  340 ) and terminated prior to t 0 +45+4 (step  350 ), thus completing the two-rings-delay-one-ring signaling operation. 
     It is appreciated that the various ring-and-delay combinations need not be fixed, but rather may vary in the number of rings, the length of the delays, and the combination of rings and delays. Thus, the 45 second delay in the preceding example may be extended to 50 seconds in the next signaling operation and still convey the same information. In a variation of the preceding example server  14  might simulate the initial two-ring telephone call using two one-ring telephone calls separated by a delay of a few seconds. The variations may be transmitted to client  10  by server  14  or may be applied in accordance with an algorithm known in advance to both client  10  and server  14  and dependant on factors such as the date and time of the telephone call or other known pseudo-randomization factors. 
     It is appreciated that one or more steps of any of the methods described herein may be omitted or implemented in a different order than that shown while not departing from the spirit and scope of the invention. 
     While the methods and apparatus disclosed herein may or may not have been described with reference to specific hardware or software, the methods and apparatus have been described in a manner sufficient to enable persons of ordinary skill in the art to readily adapt commercially available hardware and software as may be needed to reduce any of the embodiments of the present invention to practice without undue experimentation and using conventional techniques. 
     While the present invention has been described with reference to a few specific embodiments, the description is intended to be illustrative of the invention as a whole and is not to be construed as limiting the invention to the embodiments shown. It is appreciated that various modifications may occur to those skilled in the art that, while not specifically shown herein, are nevertheless within the true spirit and scope of the invention.