Abstract:
A computer implemented method, computer program product and system are provided for implementing calling card security. A telephone call request is received from a calling card user. A plurality of predefined options is checked to identify user selected options for the calling card. The telephone call request from the calling card user is processed responsive to the identified user selected options for the calling card. During calling card setup, the calling card user can selectively enable multiple predefined options for use of the calling card. The calling card user can selectively enable use of the calling card for one or more user specified telephone numbers, use of the calling card to a user specified limited area, use of the calling card with voice recognition, use of the calling card for a user specified limited number of calls from a specified telephone number; and use of the calling card for a user specified limited time duration for a call.

Description:
FIELD OF THE INVENTION  
         [0001]    The present invention relates generally to the data processing field, and more particularly, relates to a method, computer program product and system for implementing calling card security.  
         DESCRIPTION OF RELATED ART  
         [0002]    Today calling cards can be bought at stores and the only associated security with the cards is a personal identification (PIN) number. Once someone gets this PIN number the card is capable of being used by anyone and anywhere. Some calling cards include the PIN number on the calling card. If such a calling card is lost, then a person finding the card can use the card without any effort.  
           [0003]    Also there have been and probably will always be people trying to steal PIN numbers. This is done through cameras at an airport or computers ripping through random numbers to try and find a valid number.  
           [0004]    A need exists for a mechanism for implementing effective calling card security. It is desirable to provide a secured calling card without interfering with the desired use of the calling card. It is desirable to provide a mechanism for implementing effective calling card security with user selected security options.  
         SUMMARY OF THE INVENTION  
         [0005]    A principal object of the present invention is to provide a method, computer program product and system for implementing calling card security. Other important objects of the present invention are to provide such method, computer program product and system for implementing calling card security substantially without negative effect and that overcome many of the disadvantages of prior art arrangements.  
           [0006]    In brief, a computer implemented method, computer program product and system are provided for implementing calling card security. A telephone call request is received from a calling card user. A plurality of predefined options is checked to identify user selected options for the calling card. The telephone call request from the calling card user is processed responsive to the identified user selected options for the calling card.  
           [0007]    In accordance with features of the invention, during calling card setup, the calling card user can selectively enable multiple predefined options for use of the calling card. The calling card user can selectively enable use of the calling card for one or more user specified telephone numbers, use of the calling card to a user specified limited area, use of the calling card with voice recognition, use of the calling card for a user specified limited number of calls from a specified telephone number; and use of the calling card for a user specified limited time duration for a call. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0008]    The present invention together with the above and other objects and advantages may best be understood from the following detailed description of the preferred embodiments of the invention illustrated in the drawings, wherein:  
         [0009]    [0009]FIGS. 1A and 1B are block diagram representations illustrating a server computer system and operating system for implementing calling card security in accordance with the invention;  
         [0010]    [0010]FIG. 2 is a diagram illustrating a calling card record in accordance with the preferred embodiment;  
         [0011]    [0011]FIGS. 3A, 3B, and  3 C are flow charts illustrating exemplary steps for implementing calling card security in accordance with the preferred embodiment; and  
         [0012]    [0012]FIG. 4 is a block diagram illustrating a computer program product in accordance with the preferred embodiment. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0013]    Having reference now to the drawings, in FIGS. 1A and 1B, there is shown a server computer system generally designated by the reference character  100  for carrying out the methods for implementing calling card security of the preferred embodiment. As shown in FIG. 1A, server computer system  100  includes a central processor unit (CPU)  102 , a read only memory  103 , a random access memory  104 , a display adapter  106  coupled to a display  108 . CPU  102  is connected to a user interface (Ul) adapter  110  connected to a pointer device and keyboard  112 . CPU  102  is connected to an input/output ( 10 ) adapter  114  connected to a direct access storage device (DASD)  116  and a tape unit  118 . CPU  102  is connected to a communications adapter  120  providing a communications function. Communications adapter  120  is connected via a communications link  122  to a telephone central office  124 . A telephone  126  for a calling card user is connected to the server computer  100  via the telephone central office  124 . POTS (plain old telephone service) can be used between the telephone  126  and the central office  124  and between the server computer  100  and the central office  124 . It should be understood that the present invention is not limited to a computer model with a single CPU, or other single component architectures as shown in FIG. 1A.  
         [0014]    As shown in FIG. 1B, server computer system  100  includes an operating system  130  and a calling card security program  132  of the preferred embodiment. The server computer  100  in accordance with the calling card security methods of the preferred embodiment stores a calling card record  136  that can include multiple calling card user selected options.  
         [0015]    Various commercially available computers can be used for the server computer system  100 , for example, an IBM personal computer. CPU  102  is suitably programmed by the calling card security program  132  to execute the flowcharts of FIGS. 3A, 3B, and  3 C of the preferred embodiment.  
         [0016]    In accordance with features of the preferred embodiment, the calling card purchaser is provided with multiple security options that can be setup and used with a calling card. The user can set up the security options using a standard telephone from various locations, for example, in the comfort of the user&#39;s home. The user is given more security choices without interfering with the convenient use of the calling card. The security features are optional and used on a requested basis by the calling card user.  
         [0017]    In accordance with features of the preferred embodiment, multiple features are made available to the calling card user. A personal identification (PIN) number or calling card number can be enabled to only work from a specific telephone number and/or to a specific telephone number. This provides significant value since some calling card users only want to use the calling card for making or receiving long distance calls at their main residence. Voice recognition software can be enabled to determine if a call should be allowed. The PIN number or calling card number can be enabled to only work with a finite set of numbers, for example, to share the card with family members at different residents. The PIN number or calling card number can be enabled to only work with certain area codes, area codes could be set up to cover entire states or regions. The PIN number or calling card number can be enabled to only work with certain geographical regions, for example, only at the Minneapolis airport. Call duration can be limited; for example to 5 minutes and then the telephone functions as through you have run out of minutes on the card. The number of calls made from any specified telephone number can be limited. The number of calls from any one area code, region, and the like can be limited. This is useful for business travel and travel in general.  
         [0018]    [0018]FIG. 2 illustrates the calling card record  136  in accordance with the preferred embodiment. Server computer  100  stores the calling card record  136  that includes a calling card number  202  and a time remaining  204  for the calling card. The calling card record  136  includes multiple user selected options  206  including specified telephone numbers for use  208 , specified PIN numbers  210 , user voice pattern  212 , limit number of calls from a particular telephone number  214 , limit area for enabled calls  216 , and limit time duration for enabled calls  218 . The calling card user can select any of the multiple user selected options  206 .  
         [0019]    [0019]FIGS. 3A, 3B, and  3 C illustrate exemplary steps performed by the server computer  100  for implementing calling card security and a secured calling card in accordance with the preferred embodiment. The sequential steps start at block  300  when the server computer  100  receives a telephone call from a calling card user. Checking whether use for a specified telephone number or specified telephone numbers is enabled is performed as indicated in a decision block  302 . For example, user specified telephone numbers for use  208  can limit the use of the calling card for specified telephone numbers for either or both originating and called telephone numbers. When use for a specified telephone number or specified telephone numbers is enabled, checking whether the call is for a specified telephone number is performed as indicated in a decision block  304 . If the call is not for a specified telephone number, then the call is terminated as indicated in a block  306  labeled hang-up and the sequence ends as indicated in a block  308 .  
         [0020]    Otherwise, if the call is from a specified telephone number or when use from a specified telephone number or specified telephone numbers is not enabled, then checking whether this is a request to setup card is performed as indicated in a decision block  310 . If so, then setup is performed as indicated in a block  312  where user selected options  206  are received and stored in the calling card record  136  of FIG. 2. The calling card user can select any of the multiple user selected options  206 . During the card setup, the calling card user can set multiple specified telephone numbers for use  208  so that calls will be blocks from any other telephone numbers and one or more specified PIN numbers  210  so that calls will be blocks and other information denied unless the specified PIN numbers are provided. During the card setup, the calling card user can provide the user voice pattern  212  so that calls will be blocks from any caller not providing the user voice pattern. The calling card user can set a limited number of calls from a particular telephone number  214 . The calling card user can set a limited area for enabled calls  216 , and a limited time for enabled calls  218 .  
         [0021]    Checking whether this is a request to get remaining time is performed as indicated in a decision block  314 . If this is a request to get remaining time, then a secondary PIN number is obtained as indicated in a block  316 . Checking whether the PIN number is correct is performed as indicated in a decision block  318 . If the correct PIN number is found, then the minutes remaining on the calling card are returned as indicated in a block  320 .  
         [0022]    Referring to FIG. 3B, checking whether voice recognition is enabled is performed as indicated in a decision block  322 . When voice recognition is enabled, the user is asked to speak a phrase as indicated in a block  324 . Checking whether the spoken voice pattern matches the stored voice pattern  212  is performed as indicated in a decision block  326 . If the voice patterns do not match, then the call is terminated as indicated in a block  328  and the sequence ends as indicated in a block  330 .  
         [0023]    When voice recognition is not enabled or after matching voice patterns are identified, checking whether the number of calls from a specified phone number is enabled as indicated in a decision block  332 . When the number of calls from a specified phone number is enabled, checking whether the number of calls from this phone number exceeds a defined threshold limit as indicated in a decision block  334 . When the number of calls from this phone number exceeds the defined threshold limit then the call is terminated as indicated in a block  336  and the sequence ends as indicated in a block  338 . Otherwise when the number of calls from a specified phone number is not enabled or the number of calls from this phone number does not exceed the defined threshold limit, then checking whether for a user hang-up is performed as indicated in a decision block  340 . When a user hang-up is identified, then the call is terminated at block  336  and the sequence ends at block  338 .  
         [0024]    Referring to FIG. 3C, when a user hang-up is not found, checking whether this is a request to dial a telephone number is performed as indicated in a decision block  342 . When a request to dial a telephone number is not identified, then the sequential steps return to block  302  in FIG. 3A. When a request to dial a telephone number is identified, then checking whether calls to a limited area is enabled as indicated in a decision block  344 . When calls to a limited area is enabled, checking if the telephone number dialed is within the limited area is performed as indicated in a decision block  346 . When the telephone number dialed is not within the limited area, then the call is terminated as indicated in a block  348  and the sequence ends as indicated in a block  350 . Otherwise, when calls to a limited area is not enabled or the telephone number dialed is within the limited area, then the call is connected to the telephone number dialed as indicated in a block  352 .  
         [0025]    Next, checking whether limited time is enabled is performed as indicated in a decision block  354 . When limited time is enabled, checking whether the call has exceeded the time limit is performed as indicated in a decision block  356 . When the call has exceeded the time limit, then the call is terminated as indicated in a block  358  and the sequence ends as indicated in a block  360 .  
         [0026]    Otherwise, when limited time is not enabled or the call has not exceeded the time limit, then checking for a user hang-up is performed as indicated in a decision block  362 . If the user did hang-up, then the call is terminated as indicated in a block  364  and the sequence ends as indicated in a block  366 . Otherwise, the sequential operations continue, returning to decision block  354  to check whether limited time is enabled.  
         [0027]    Referring now to FIG. 4, an article of manufacture or a computer program product  400  of the invention is illustrated. The computer program product  400  includes a recording medium  402 , such as, a floppy disk, a high capacity read only memory in the form of an optically read compact disk or CD-ROM, a tape, a transmission type media such as a digital or analog communications link, or a similar computer program product. Recording medium  402  stores program means  404 ,  406 ,  408 ,  410  on the medium  402  for carrying out the methods for implementing calling card security of the preferred embodiment in the server system  100  of FIG. 1.  
         [0028]    A sequence of program instructions or a logical assembly of one or more interrelated modules defined by the recorded program means  404 ,  406 ,  408 ,  410 , direct the server computer system  100  for implementing calling card security of the preferred embodiment.  
         [0029]    While the present invention has been described with reference to the details of the embodiments of the invention shown in the drawing, these details are not intended to limit the scope of the invention as claimed in the appended claims.