home *** CD-ROM | disk | FTP | other *** search
/ Phoenix Rising BBS / phoenixrising.zip / phoenixrising / cellular / patent-1.txt < prev    next >
INI File  |  1995-01-06  |  83KB  |  1,422 lines

  1. [ONLINE PATENT INFORMATION PROVIDED BY PHOENIX RISING COMMUNICATIONS]
  2.  
  3. PATN  Patent Bibliographic Information
  4.  
  5.  
  6. WKU     Patent Number:                           05345595
  7. SRC     Series Code:                             7
  8. APN     Application Number:                      9755128
  9. APT     Application Type:                        1
  10. ART     Art Unit:                         261
  11. APD     Application Filing Date:                 19921112
  12. TTL     Title of Invention:                      Apparatus and method for
  13.                                                  detecting fraudulent
  14.                                                  telecommunication activity
  15. ISD     Issue Date:                              19940906
  16. NCL     Number of Claims:                        14
  17. ECL     Exemplary Claim Number:                         1
  18. EXP     Primary Examiner:                        Urban; Edward F.
  19. NDR     Number of Drawings Sheets:               46
  20. NFG     Number of Figures:                       36
  21.  
  22. INVT  Inventor Information
  23. NAM     Inventor Name:                           Johnson; Eric A.
  24. CTY     Inventor City:                           Longmont
  25. STA     Inventor State:                          CO
  26.  
  27. INVT  Inventor Information
  28. NAM     Inventor Name:                           Liss; Michael D.
  29. CTY     Inventor City:                           Nederland
  30. STA     Inventor State:                          CO
  31.  
  32. INVT  Inventor Information
  33. NAM     Inventor Name:                           Jensen; Flemming B.
  34. CTY     Inventor City:                           Sandy
  35. STA     Inventor State:                          UT
  36.  
  37. ASSG  Assignee Information
  38. NAM     Assignee Name:                           Coral Systems, Inc.
  39. CTY     Assignee City:                           Longmont
  40. STA     Assignee State:                          CO
  41. COD     Assignee Type Code:                      02
  42.  
  43. CLAS  Classification
  44. OCL     Original U.S. Classification:                          455 331
  45. XCL     Cross Reference Classification:                        455 531
  46. XCL     Cross Reference Classification:                        455 677
  47. XCL     Cross Reference Classification:                        379 60
  48. EDF     International Classification Edition Field:            5
  49. ICL     International Classification:                          H04Q  700
  50. FSC     Field of Search Class:                                 455
  51. FSS     Field of Search Subclass:     33.1;34.1;34.2;56.1;67.1;67.7;53.1
  52. FSC     Field of Search Class:                                 379
  53. FSS     Field of Search Subclass:                       58;59;145;60
  54.  
  55. UREF  U.S. Patent Reference
  56. PNO     Patent Number:                                  4182934
  57. ISD     Issue Date:                                     19800100
  58. NAM     Patentee Name:                                  Keys et al.
  59. OCL     Original U.S. Classification:                          179  7
  60.  
  61. UREF  U.S. Patent Reference
  62. PNO     Patent Number:                                  4893330
  63. ISD     Issue Date:                                     19900100
  64. NAM     Patentee Name:                                  Franco
  65. OCL     Original U.S. Classification:                          379 91
  66.  
  67. UREF  U.S. Patent Reference
  68. PNO     Patent Number:                                  4953198
  69. ISD     Issue Date:                                     19900800
  70. NAM     Patentee Name:                                  Daly et al.
  71. OCL     Original U.S. Classification:                          455 34.2
  72.  
  73. UREF  U.S. Patent Reference
  74. PNO     Patent Number:                                  4955049
  75. ISD     Issue Date:                                     19900900
  76. NAM     Patentee Name:                                  Ghisler
  77. OCL     Original U.S. Classification:                          379 58
  78.  
  79. UREF  U.S. Patent Reference
  80. PNO     Patent Number:                                  5091942
  81. ISD     Issue Date:                                     19920200
  82. NAM     Patentee Name:                                  Dent
  83. OCL     Original U.S. Classification:                          380 46
  84.  
  85. UREF  U.S. Patent Reference
  86. PNO     Patent Number:                                  5109408
  87. ISD     Issue Date:                                     19920400
  88. NAM     Patentee Name:                                  Greenspan et al.
  89. OCL     Original U.S. Classification:                          379197
  90.  
  91. UREF  U.S. Patent Reference
  92. PNO     Patent Number:                                  5144649
  93. ISD     Issue Date:                                     19920900
  94. NAM     Patentee Name:                                  Zicker et al.
  95. OCL     Original U.S. Classification:                          379 59
  96.  
  97. OREF  Other Reference
  98.  
  99. Subscriber Computing, Inc. news release entitled "Subscriber Computing,
  100. Inc. Unveils Advanced Version of FraudWatch.TM.", Mar. 1, 1993, Irvine,
  101. Calif., 3 pages (no author given).
  102.  
  103. Cellular Technical Services Company (CTS) product literature on the
  104. Clonerwatch.TM. product, (no author, relevant pages, date or place of
  105. publication given).
  106.  
  107. EDS Personal Communications Corp. News Release, "EDS Personal
  108. Communications Corporation Announces Comprehensive Fraud Solutions and
  109. Capabilities", Mar. 2, 1993, Waltham, Mass., 3 pages (no author given).
  110.  
  111. EDS Personal Communications Corp., News Release entitled, "EDS Personal
  112. Communications Corporation Tackles Fraud with New `Strategic Partnership`
  113. Plan." Waltham, Mass., 4 pages (no author or date of publication given).
  114.  
  115. "Telemate Fraud Software Ready", Jul. 13, 1992. Communications Week p. 24.
  116.  
  117. "Hacon System Self-Activates Computer Fraud & Security Bulletin", Nov.
  118. 1992, Elsevier Advanced Technology Publications.
  119.  
  120. Lewyn, Mark, "Phone Sleuths Are Cutting Off The Hackers . . . ", Jul. 13,
  121. 1992, Business Week.
  122.  
  123. LREP  Legal Information
  124. FRM     Legal Firm:                              Sheridan Ross & McIntosh
  125.  
  126. ABST  Abstract
  127.  
  128. An apparatus for detecting potentially fraudulent telecommunication
  129. activity, comprising a digital computer; interface, operatively connected
  130. to the digital computer, for receiving a call information record for each
  131. call involving a particular subscriber; comparator operating within the
  132. digital computer, for comparing a parameter of the particular subscriber's
  133. current usage with a subscriber-specific pattern of the particular
  134. subscriber's historical usage; and an output for outputting an indication
  135. of a potentially fraudulent call based upon a result of the comparison
  136. performed by the comparator.
  137.  
  138. BSUM  Brief Summary
  139.  
  140.                         BACKGROUND OF THE INVENTION
  141.  
  142.      1. Field of the Invention
  143.  
  144.      This invention relates to monitoring telecommunication systems, and more
  145. specifically, to an apparatus and method for detecting potentially
  146. fraudulent telecommunication system usage. Telecommunication systems
  147. include both wireless systems (e.g., cellular telephones, satellite
  148. transmission, etc.) and systems utilizing transmission lines (e.g., common
  149. telephone systems). Fraudulent telecommunication activity is unauthorized
  150. usage for which the telecommunication system owner is not paid for its
  151. services.
  152.  
  153.      2. Description of the Related Art
  154.  
  155.      Because immediate access to information has become a necessity in
  156. virtually
  157. all fields of endeavor--including business, finance and
  158. science--telecommunication systems usage, particularly for wireless
  159. telecommunication systems, is increasing at a substantial rate. With the
  160. increase in overall usage, however, the incidence of fraudulent usage has
  161. experienced a corresponding increase. It is estimated, for example, that
  162. fraudulent wireless telecommunication system usage is responsible for
  163. losses to the wireless telecommunication industry of $600 million each
  164. year. Clearly, a system for detecting and preventing such fraudulent
  165. activity would be highly desirable.
  166.  
  167.      Fraudulent telecommunication activity, which may occur both in wireless
  168. and common telephone systems, has several different varieties. Among these
  169. varieties are cloning fraud, tumbling fraud, tumbling-clone fraud, calling
  170. card fraud, and subscriber fraud.
  171.  
  172.      Cloning fraud, which occurs in cellular telephone systems, involves the
  173. misappropriation of a valid set of subscriber identification numbers (ID),
  174. programming the ID into one or more cellular telephones, and then using
  175. the "cloned" cellular telephones to place calls which are billed to the
  176. subscriber whose ID was misappropriated.
  177.  
  178.      Tumbling fraud involves placing cellular telephone calls using a
  179. different randomly generated subscriber ID for each telephone call placed.
  180. Under certain circumstances no pre-call verification of the ID number is
  181. performed before the call is connected. Therefore, a fraudulent user may
  182. place calls even without possession of a valid subscriber ID. In this way,
  183. for example, 50 fraudulent calls placed by a single fraudulent user will
  184. be billed to 50 different subscriber IDs, most of which will be unassigned
  185. and unbillable, rather than to a single subscriber as in the case of
  186. cloning fraud.
  187.  
  188.      Tumbling-Clone fraud, as the name suggests, is a hybrid of tumbling fraud
  189. and cloning fraud which involves placing cellular telephone calls using a
  190. plurality of cloned subscriber IDs. For example, a tumbling-clone cellular
  191. telephone may have a sequence of 10 different cloned subscriber IDs
  192. programmed into it. With each successive call placed by the fraudulent
  193. user, the cellular telephone would use the cloned subscriber ID next in
  194. sequence to initiate the call. In this way, the fraudulent calls would
  195. equally be dispersed over 10 different subscriber IDs, consequently making
  196. the fraudulent activity more difficult to detect.
  197.  
  198.      Calling card fraud involves the misappropriation of a valid calling card
  199. number and then using the misappropriated number to place toll calls which
  200. are billed to an unsuspecting subscriber.
  201.  
  202.      Subscriber fraud, which may occur in either cellular telephone or common
  203. telephone systems, involves fraudulent usage by an otherwise legitimate
  204. subscriber. Typically, this type of fraud is experienced when a subscriber
  205. signs up for telecommunication services, either cellular or calling card,
  206. and proceeds to use the telecommunication services with no intent of ever
  207. paying for the services provided. A user practicing subscriber fraud would
  208. continue to use the services without paying until system access was
  209. blocked by the service provider.
  210.  
  211.      Although a number of prior fraud detection and prevention systems have
  212. been suggested, all have proved inadequate for various reasons. One proposed
  213. solution involves setting a predetermined number as a system-wide
  214. threshold for the number of cellular calls that may be placed by an
  215. individual subscriber in one day; when the predetermined number is
  216. exceeded, the method indicates that fraud has occurred. The system-wide
  217. threshold method, however, has several drawbacks. For example, this method
  218. applies the same threshold to every user. Typically, a high-volume
  219. subscriber such as a stockbroker may regularly place a large volume of
  220. calls each day in the normal course of business, whereas a low-volume
  221. subscriber who maintains a cellular telephone primarily for emergency
  222. usage may only place a few calls each week. The system-wide threshold
  223. method would be inadequate for each of these users, because it would
  224. generate a false alert for the high-volume subscriber who happens to
  225. legitimately exceed the threshold on a given day, while, incorrectly, no
  226. alert would be generated for the fraudulent use of the low-volume
  227. subscriber ID, as long as the threshold was not exceeded. Moreover, the
  228. system-wide threshold method is easily defeated by a fraudulent user who
  229. is aware of the predetermined threshold and takes care to limit the number
  230. of fraudulent calls placed to a number less than the threshold.
  231.  
  232.      Another method, referred to as "call numbering," has been proposed to
  233. detect fraudulent cellular telephone calls, wherein a predetermined
  234. sequence of numbers is assigned to each cellular telephone unit within the
  235. network and, with each successive call placed, the next number in sequence
  236. is transmitted by the cellular telephone unit to the service provider
  237. station and recorded in the order received. When the call records are
  238. processed, if any call sequence number occurs more than once, or if the
  239. call sequence numbers are out of order, fraud or malfunction is indicated
  240. and the cause must be investigated. This method, however, has the
  241. disadvantage, inter alia, of requiring that the cellular telephone unit be
  242. modified to include additional equipment to generate and transmit the
  243. predetermined sequence of numbers. Consequently, the "call numbering"
  244. method is incompatible with the large majority of existing
  245. telecommunication equipment that has not been modified.
  246.  
  247.      Moreover, the call numbering method is unreliable. It has been found that
  248. the call number sequence may become disordered through normal legitimate
  249. use, by events such as early termination of the call or power failure,
  250. thereby resulting in false alerts.
  251.  
  252.      Therefore, a system which reliably and accurately indicates the
  253. possibility of fraudulent telecommunication activity, but which is flexible
  254. enough to permit legitimate use by a wide variety of subscribers, and which is
  255. compatible with all types of existing telecommunication equipment is
  256. needed.
  257.  
  258.                           SUMMARY OF THE INVENTION
  259.  
  260.      It is an object of the present invention to provide a method and
  261. apparatus for detecting potentially fraudulent telecommunication activity by
  262. comparing current usage for a particular subscriber ID or calling card
  263. number with the particular subscriber's historical pattern of usage. If
  264. current usage for that ID or calling card number indicates a deviation in
  265. the historical pattern of usage by the subscriber, a potential fraud is
  266. indicated.
  267.  
  268.      In one embodiment of the invention, the particular subscriber's usage is
  269. analyzed to determine parameters such as call duration (the average length
  270. in time of a call), call velocity (the number of calls placed within a
  271. specified time period), and call thresholds (the highest number of calls
  272. placed by the subscriber within a specified time period). One or more of
  273. these parameters is then compared to the particular subscriber's
  274. historical pattern of usage. If there is abnormal usage relative to the
  275. subscriber's historical pattern of usage, a potential fraud is indicated.
  276.  
  277.      In one embodiment a particular subscriber's usage is characterized as a
  278. plurality of moving averages, each calculated over a different specified
  279. number of days, which are then compared to each other to determine if a
  280. significant deviation in usage has occurred. When a significant deviation
  281. in usage is detected, a potential fraud is indicated.
  282.  
  283.      In another embodiment, a significant deviation in usage is indicated when
  284. both of the following two conditions are satisfied: (1) a moving average
  285. calculated over a shorter number of days is greater than a moving average
  286. calculated over a longer number of days; and (2) the percentage increase
  287. between a moving average calculated on day (t) and the same moving average
  288. calculated on the prior day (t-1) exceeds a predetermined amount.
  289.  
  290.      It is a further object of the present invention to provide a method and
  291. apparatus for detecting potentially fraudulent telecommunication activity
  292. by detecting an occurrence of overlapping calls. Overlapping calls are two
  293. or more calls which either (1) occur concurrently, or (2) are placed from
  294. different geographic regions and occur within a sufficiently short time
  295. interval such that it would be improbable that a single subscriber could
  296. place the first call and then travel to the location of the second call
  297. within the given time interval to place the second call. Because each
  298. unique subscriber ID or calling card number may typically only be used by
  299. a single subscriber from a single location at one time, fraud is indicated
  300. upon occurrence of either or both of these two conditions.
  301.  
  302.      In one embodiment, the fraud detection apparatus looks at each call made
  303. by a particular subscriber to determine whether any two calls using the same
  304. subscriber ID or calling card number occurred substantially concurrently.
  305.  
  306.      In another embodiment, the fraud detection apparatus adjusts each call
  307. geographic dispersion to determine if two or more calls were placed using
  308. the same subscriber ID or calling card number from different geographic
  309. locations within a sufficiently short time interval such that travel
  310. between the two geographic locations within the given time interval is
  311. improbable.
  312.  
  313.      It is a further object of the present invention to provide a method and
  314. apparatus for detecting potentially fraudulent telecommunication activity
  315. by comparing the particular subscriber's present telecommunication usage
  316. with a predetermined call destination. If the predetermined
  317. subscriber-specific condition is satisfied, fraud is indicated.
  318.  
  319.      In one embodiment, each number called using a particular subscriber ID or
  320. calling card number is compared to a predetermined list of numbers
  321. suspected of frequently being called by fraudulent users.
  322.  
  323.      In a further embodiment, each country called using a particular
  324. subscriber or calling card number is compared to a predetermined list of
  325. countries suspected of frequently being called by fraudulent users.
  326.  
  327.      Several of the above-mentioned objects are achieved by an apparatus
  328. comprising a digital computer; interface means for receiving a call
  329. information record for each call involving a particular subscriber;
  330. comparison means for comparing the particular subscriber's current usage
  331. with a subscriber-specific historical pattern of usage; and output means
  332. for outputting an alert-state to signal a potentially fraudulent call
  333. based upon a result of the comparison performed by the comparison means.
  334.  
  335.      These and other features of the present invention will become evident
  336. from the detailed description set forth hereafter with reference to the
  337. accompanying drawings.
  338.  
  339. DRWD  Drawing Description
  340.  
  341.                        BRIEF DESCRIPTION OF DRAWINGS
  342.  
  343.      A more complete understanding of the invention can be had by referring to
  344. the detailed description of the invention and the drawings in which:
  345.  
  346.      FIG. 1A is a diagram illustrating a typical cellular telecommunications
  347. network.
  348.  
  349.      FIG. 1B is a block diagram of a telecommunications fraud detection system
  350. according to one embodiment of the present invention.
  351.  
  352.      FIG. 2 is a block diagram showing the components of a Common Call Format
  353. (CCF) record according to one embodiment of the present invention.
  354.  
  355.      FIGS. 3A-3L are flowcharts of the Event Manager procedure.
  356.  
  357.      FIGS. 4A-4L are flowcharts of the Alert Manager procedure.
  358.  
  359.      FIGS. 5A-5C are flowcharts of the User Interface procedure.
  360.  
  361.      FIG. 6 is a screen display of the Login Window of the User Interface in
  362. one embodiment of the present invention.
  363.  
  364.      FIG. 7 is a screen display of the Control Window of the User Interface in
  365. one embodiment of the present invention.
  366.  
  367.      FIG. 8 is a screen display of the Investigate Subscriber Window of the
  368. User Interface in one embodiment of the present invention.
  369.  
  370.      FIG. 9 is a graph showing call velocity fluctuations for a typical
  371. cloning fraud user.
  372.  
  373.      FIG. 10 is a screen display of the Monitor New SID(s) Window of the User
  374. Interface in one embodiment of the present invention.
  375.  
  376.      FIG. 11 is a screen display of the Monitor Alerts Window of the User
  377. Interface in one embodiment of the present invention.
  378.  
  379. DETD  Detail Description
  380.  
  381.                    DETAILED DESCRIPTION OF THE INVENTION
  382.  
  383.      A detailed description of an apparatus and method for detecting
  384. potentially fraudulent telecommunications activity, is set forth below with
  385. reference to the figures.
  386.  
  387.      A diagram illustrating a typical cellular telecommunications network is
  388. illustrated in FIG. 1A. Referring to FIG. 1A, each predetermined fixed
  389. geographic region is served by a separate Mobile Switching Center (MSC).
  390. Additionally, each MSC region may comprise one or more cells, wherein each
  391. cell is served by its own base station connected to the MSC for that
  392. region. In FIG. 1A, Region I is served by a first MSC 101 while Region II
  393. is served by a second MSC 102. Region I comprises four cells each having
  394. its own base station 104 connected to the first MSC 101. Region II
  395. comprises three cells each having its own base station 106 connected to
  396. the second MSC 102.
  397.  
  398.      When a subscriber originates a call, the cellular telephone 103
  399. communicates via a base station with the particular MSC serving that
  400. geographic region by means of wireless radiofrequency transmission. The
  401. subscriber may either remain within the particular cell from which the
  402. call was originated or the subscriber may roam across cell and MSC region
  403. boundaries. For example, a cellular call may be originated by a subscriber
  404. in Cell A and the call would be handled initially by the first MSC 101.
  405. However, because cellular telephones are mobile, the subscriber could
  406. travel from Cell A into Cell B during the course of the call. Upon
  407. crossing from Cell A into Cell B, the call would cease being handled by
  408. the first MSC 101 and may be picked up mid-call and handled by the second
  409. MSC 102.
  410.  
  411.      Multiple MSCs are dispersed throughout the United States, and much of the
  412. world, so that a subscriber may call from any geographic region served by
  413. a MSC. All of the various MSCs around the world are interconnected by a
  414. global telecommunications network, so that telecommunications may occur
  415. between two cellular telephones, or between a cellular telephone and a
  416. physical line telephone, even if they are in different geographic regions.
  417.  
  418.      The function of a MSC is to receive and route both cellular originated
  419. calls and cellular terminated calls. A cellular originated call is one
  420. placed by a cellular telephone located within the MSC serving area to
  421. either another cellular telephone or a physical line telephone. A cellular
  422. terminated call is one received by a cellular telephone located within the
  423. MSC serving area, regardless if placed by a cellular or physical line
  424. telephone.
  425.  
  426.      Each subscriber's cellular telephone has its own unique ID corresponding
  427. to a set of identification numbers. The identification numbers comprise two
  428. individual identifiers--a Mobile Identification Number (MIN), and (2) a
  429. Mobile Serial Number (MSN). The MIN is a ten-digit number, corresponding
  430. to the ten-digit telephone number used in North America, having the format
  431. npa-nxx-xxxx, where npa is a three-digit area code, nxx is a three-digit
  432. prefix which identifies the serving switch, and xxxx is a four-digit
  433. suffix which identifies the individual subscriber or physical line number.
  434. The combination of the npa and nxx components form a number which
  435. identifies a subscriber's "home" MSC. At the initiation of each call, the
  436. cellular telephone transmits to the MSC its unique combination of MIN and
  437. MSN. For each call, whether cellular originated or cellular terminated,
  438. each MSC handling the call creates a separate Call Detail Record (CDR)
  439. which contains several items of information describing the call and the
  440. subscriber. For example, the CDR contains the following call information
  441. items: MIN, MSN, number called, call duration, call origination date and
  442. time, country called, information identifying the MSC, etc. The format of
  443. the CDR, however, is not consistent among the several different providers
  444. of cellular telephone service. At present, for example, at least five
  445. different CDR formats exist.
  446.  
  447.      As mentioned above, each individual subscriber has a single home MSC
  448. corresponding to the npa and nxx components of the subscriber's MIN.
  449. Unless a cellular subscriber has previously notified the home MSC of his
  450. or her whereabouts, the subscriber may only receive a cellular terminated
  451. call when that subscriber is within his or her home MSC region. In most
  452. cases, a subscriber may initiate a cellular originated call, however, from
  453. any MSC region without any special proactive requirements. A subscriber
  454. who originates a cellular call from a region other than his or her home
  455. MSC region is referred to as a "roamer." Because only the subscriber's
  456. home MSC maintains a database of that subscriber's identity and status, a
  457. MSC handling a roamer call is unable to verify whether or not the
  458. subscriber MIN and MSN received for a call are valid. Accordingly, for
  459. each roamer call handled by a MSC, the MSC records CDR information for
  460. that call and sends the information to a clearing house. The clearing
  461. house collects all CDRs pertaining to a particular MSC, creates a magnetic
  462. tape--a roamer tape--containing multiple CDRs, and sends the tape to the
  463. appropriate home carrier.
  464.  
  465.      FIG. 1B is a block diagram of a telecommunications fraud detection system
  466. according to one embodiment of the present invention. Initially, a general
  467. description of the fraud detection system 107 is provided as follows.
  468.  
  469.      The fraud detection system 107 of the present invention, comprising the
  470. switch interface 111, the event manager 113, the alert manager 115, and
  471. the user interface 117, is implemented, in one embodiment, as software
  472. running on a digital computer, for example, a Sun Microsystems
  473. workstation. The digital computer includes memory means for storing
  474. computer programs and data; processing means for running computer programs
  475. and manipulating data; and input/output means for communicating with a
  476. MSC, a system operator, a magnetic tape drive (not shown), or another
  477. computer (not shown).
  478.  
  479.      CDR records for both cellular originated and cellular terminated calls
  480. fed into a switch interface 111 both from the MSC 101 directly and from a
  481. roamer tape 109. After the switch interface 111 translates a CDR record
  482. into a format understandable to the fraud detection system 107--the CCF
  483. format--a CCF record is passed to the event manager 113. The function of
  484. the event manager 113 is to perform a number of checks to compare the
  485. present CCF record both with past subscriber-specific usage information
  486. and with certain predetermined conditions to determine whether this
  487. particular CCF record should trigger the event manager 113 to generate an
  488. "event." If an event is generated by the event manager 113 it is logged to
  489. a database--the "events database"--containing past events specific to each
  490. subscriber and passed to the alert manager 115. Depending on the nature
  491. and quantity of past events for a particular subscriber, a newly received
  492. event may cause the alert manager 115 to generate an "alert" for the
  493. particular subscriber ID in question. Each of the alerts generated is
  494. stored in a database--the "alerts database"--specific to each subscriber.
  495. Depending upon a predetermined set of rules, either a single alert or a
  496. specific combination of alerts may generate an "alert-state" which is
  497. passed to the user interface 117 to signal the system operator 119 that
  498. the particular subscriber ID for which the alert-state was generated is
  499. suspected of being used fraudulently. Each of the alert-states generated
  500. is stored in a database--the "alert-states database"--specific to each
  501. subscriber. The system operator 119 may then investigate a subscriber ID
  502. for which an alert-state was generated by looking at subscriber-specific
  503. data, a graph of the particular subscriber's call velocity for a given
  504. time period, and the history of alerts and events which eventually
  505. triggered the alert-state in question. Once the system operator "clears"
  506. an alert it will no longer be considered in determining whether an
  507. alert-state should be generated for a particular subscriber ID.
  508.  
  509.      Referring to FIG. 1B, a more detailed description of the fraud detection
  510. system 107 is provided as follows. A cellular telephone 103 communicates
  511. with a MSC 101 to place a call either to a physical line telephone 105 or
  512. to another cellular telephone. Additionally, the cellular telephone 103
  513. may receive a call originated by either a physical line telephone 105 or
  514. another cellular telephone. The MSC 101 creates a separate CDR record for
  515. each call that it handles, whether cellular originated or cellular
  516. terminated. Each individual MSC 101 is connected to a fraud detection
  517. system 107 which receives CDR records as input from the MSC. The CDR input
  518. read directly from the MSC 101 into the fraud detection system 107
  519. corresponds to calls handled by that MSC for its home subscribers. CDR
  520. records not involving the MSC's home subscribers are sent to a clearing
  521. house to generate roamer tapes to be sent to the appropriate home MSC, as
  522. discussed above.
  523.  
  524.      Alternatively, if the fraud detection system 107 was interconnected to
  525. one or more "peer" fraud detection systems, i.e., a separate system serving a
  526. different MSC, after the switch interface 111 had converted the CDR
  527. records into CCF format, the fraud detection system 107 would send those
  528. CCF records corresponding to roamer calls to the appropriate peer fraud
  529. detection system corresponding to the respective home MSC of each roamer
  530. call.
  531.  
  532.      Additionally, the fraud detection system 107 receives input from a roamer
  533. tape 109 by means of a magnetic tape reader (not shown) in a format
  534. referred to as the CIBER format. The combination of the home MSC 101 input
  535. and the roamer tape 109 input represents all of the call activity for a
  536. MSC's home subscribers, regardless of the geographic region in which the
  537. calls were originated or terminated.
  538.  
  539.      The call information input, whether from the roamer tape 109 or from the
  540. home MSC 101, is fed into the switch interface 111 of the fraud detection
  541. system 107. The function of the switch interface 111 is to translate the
  542. various CIBER and CDR input formats into a consistent format--the Common
  543. Call Format (CCF). The switch interface 111 is capable of accepting CDR
  544. input in any of the existing formats, and is easily adaptable to new CDR
  545. formats created in the future. Typically, a CCF record contains only a
  546. subset of the total information contained in a CDR. This subset of
  547. information corresponds to those information items used during operation
  548. of the fraud detection system 107.
  549.  
  550.      Alternatively, in another embodiment of the present invention, the fraud
  551. detection system 107 may receive input from a telecommunications system
  552. other than a cellular telephone MSC. For example, the fraud detection
  553. system may receive input from a calling card system to detect calling card
  554. fraud merely by modifying the switch interface 111 to accept the data
  555. format specific to the calling card system used.
  556.  
  557.      FIG. 2 illustrates one embodiment of the present invention wherein the
  558. CCF Record 201 comprises sixteen separate fields, numbered 203 through 233.
  559. The combination of the npa field 203, the nxx field 205, and the xxxx
  560. field 207 comprise the subscriber's ten-digit telephone number, or MIN, as
  561. discussed above. The switch interface 111 separates the MIN into three
  562. components so that each may be separately accessed with ease.
  563.  
  564.      The MSN field 209 holds the subscriber Mobile Serial Number (MSN) which,
  565. as discussed above, is transmitted along with the MIN by the cellular
  566. telephone 103 to the MSC 101 with each cellular originated call.
  567.  
  568.      The call type field 211 holds a value of "0" if this call was cellular
  569. originated or a value of "1" if this call was cellular terminated.
  570.  
  571.      The answer status field 213 holds a value of "0" if this call was not
  572. answered by the party called or a value of "1" if the call was answered.
  573.  
  574.      The called number field 215 holds the number dialed by the cellular
  575. subscriber for this call.
  576.  
  577.      The country code field 217 holds a number corresponding to a unique code
  578. for the particular country called by the cellular subscriber for this
  579. call.
  580.  
  581.      The roamer status field 219 holds a "TRUE" state if the subscriber was a
  582. "roamer" when the call was originated, that is, the subscriber placed the
  583. call through a MSC other than his or her home MSC, or a "FALSE" state if
  584. the subscriber placed the call from his or her home MSC.
  585.  
  586.      The sid field 221 holds a switch identifier number identifying the
  587. serving MSC that generated the present CDR record for this call. Because a
  588. subscriber may move between different MSC regions during the course of a
  589. single cellular call, multiple MSCs may handle a single call in successive
  590. fashion as the subscriber roams between MSC regions. Accordingly, multiple
  591. CDR records may be generated for a single call--one for each MSC that
  592. handled the call. The sid field 221 identifies the MSC that generated this
  593. particular CDR, even if it was not the MSC on which the call originated.
  594.  
  595.      The first serving MSC field 223 and the first serving cell field 225
  596. identify the specific MSC and cell, respectively, on which the call
  597. originated. As discussed above, both the cell and the MSC which handle a
  598. call may change as the subscriber roams across cell and MSC region
  599. boundaries. Although each MSC which handles a call will generate a
  600. separate CDR having its own switch number in the sid field 221, the first
  601. serving MSC field 223 and the first serving cell field 225 will remain
  602. constant for all CDR records pertaining to a single call.
  603.  
  604.      The orig time field 227 and the orig date field 229 hold the time and
  605. date, respectively, at which the present call was originated.
  606.  
  607.      The call feature field 231 holds information indicating whether this call
  608. utilized a call feature, such as call waiting, call forwarding, or
  609. three-way calling.
  610.  
  611.      Lastly, the call seconds field 233 holds the duration of the present call
  612. in seconds.
  613.  
  614.      Referring again to FIG. 1B, once the switch interface 111 has translated
  615. the CDR or CIBER format input into a CCF record, it passes the CCF record
  616. to the event manager 113. The event manager 113 procedure is illustrated
  617. by a flowchart in FIG. 3A. The function of the event manager is to perform
  618. a number of checks to compare the present CCF record both with past
  619. subscriber-specific usage information and with certain predetermined
  620. conditions to determine whether this particular CCF record should trigger
  621. an "event."
  622.  
  623.      Referring to FIG. 3A, the services indicated by steps S303 through S309
  624. are referred to as "call event" checks. In the call event checks the CCF
  625. record is compared to a set of predetermined conditions to determine
  626. whether or not an event should be generated for this CCF record. Call
  627. events are further broken down into the following event types: number
  628. events, country events, credit events, and overlap events. Additionally,
  629. overlap events have two event subtypes: geographic dispersion and
  630. simultaneous calls.
  631.  
  632.      The services indicated by steps S311 through S321 are referred to as
  633. "pattern event" checks. In the pattern event checks the CCF record is used
  634. to update a plurality of previously compiled subscriber-specific usage
  635. patterns which define a particular subscriber's typical usage. Each CCF
  636. record received by the event manager is used to update and maintain an
  637. individual usage pattern for the particular subscriber to which the CCF
  638. record pertains. In pattern event checks, the event manager will generate
  639. an event when the present CCF record, when used to update the
  640. subscriber-specific usage pattern, causes the subscriber's usage pattern
  641. to indicate a trend of abnormal usage suggestive of fraudulent
  642. telecommunications activity. Pattern events are further broken down into
  643. the following event types: average events and threshold events.
  644. Additionally, average events have the following four subtypes: velocity,
  645. international velocity, duration, and international duration. Threshold
  646. events have the following six subtypes: daily velocity, daily
  647. international velocity, five-day average velocity, five-day average
  648. international velocity, ten-day average velocity, and ten-day average
  649. international velocity.
  650.  
  651.      The event manager procedure initiates at step S300 when the event manager
  652. 113 receives a CCF record from the switch interface 111. At step S301 the
  653. event manager parses the CCF record to place the CCF component fields into
  654. appropriate variables and data structures to be easily accessible by the
  655. event manager services. It should be noted that due to delays in creating
  656. and forwarding roamer tapes to the appropriate home MSC, a CCF record
  657. being processed by the fraud detection system on a particular day may
  658. actually correspond to a call placed several days earlier. Therefore, for
  659. each of the steps performed by the fraud detection system, as discussed
  660. below, the CCF record is analyzed based on the day the call was
  661. originated, rather than on the date on which the CCF record is processed
  662. by the fraud detection system. For the sake of convenience, the date on
  663. which a call originated will be referred to as the "call date," while the
  664. date on which the CCF record is processed by the fraud detection system
  665. will be referred to as "today." The date on which a call originated is
  666. determined by the value held by the orig date field 229 of the CCF record
  667. 201. Additionally, the fraud detection system maintains a database of all
  668. CCF records received over the past predetermined number of days so that a
  669. delayed CCF record can be analyzed in connection with other calls placed
  670. on the same day. This database is referred to as the "calls database."
  671.  
  672.      At step S302 the event manager uses the present CCF record to update the
  673. subscriber-specific usage patterns. Specifically, the event manager
  674. calculates new five-day and ten-day moving averages for each of the call
  675. velocity pattern, the international call velocity pattern, the call
  676. duration pattern, and the international call duration pattern. A moving
  677. average is a technique used in time-series analysis to smooth a series or
  678. to determine a trend in a series, calculated by the equation:
  679. ##EQU1##
  680. where m.sub.n is the moving average on day n; k is an index counter; d is
  681. the number of days over which the average is calculated and u, u.sub.2, .
  682. . . , u.sub.n are a series of values to be averaged. For example, assume a
  683. series of values over day 21 to day 25 where u.sub.21 =16, u.sub.22 =9,
  684. u.sub.23 =12, u.sub.24 =8, and u.sub.25 =15. To calculate a five-day
  685. moving average on the 25th day, m.sub.25, n is equal to 25, d is equal to
  686. 5, and k takes the successive values 21, 22, 23, 24, and 25. Therefore:
  687. ##EQU2##
  688. Five and ten-day moving averages are calculated for each of the
  689. above-listed four patterns in similar fashion. For example, the five-day
  690. moving average call velocity is calculated by summing the number of calls
  691. originated within the past five days using a particular subscriber ID and
  692. dividing the total by five. Of course, the ten-day averages are calculated
  693. by summing over ten days and dividing by ten, rather than five. In order
  694. to calculate the ten-day moving average, the fraud detection system saves
  695. CCF records for each particular subscriber for the past eleven days.
  696.  
  697.      Although this embodiment of the present invention characterizes
  698. subscriber-specific usage patterns by utilizing two moving averages
  699. calculated over five days and ten days, respectively, it should be noted
  700. that an alternative embodiment may utilize other types of characterizing
  701. schemes, for example a weighted moving average. Additionally, even if
  702. moving averages are utilized, a different number of moving averages, for
  703. example one, three or more, may be used as deemed effective. Moreover, the
  704. moving averages may be calculated over a number of days different than
  705. five and ten, as desired.
  706.  
  707.      Next, the event manager runs the CCF record through a series of call
  708. event checks and pattern event checks, represented by steps S303 through S321.
  709. Although one embodiment of the present invention arranges these checks in
  710. a specific order as illustrated in FIG. 3A, the checks are substantially
  711. order independent and may proceed in any convenient order.
  712.  
  713.      In the embodiment of the present invention depicted in FIG. 3A, the event
  714. manager performs the checks in the following order: (1) check suspect
  715. termination, (2) check suspect country code, (3) check credit limit, (4)
  716. check overlap calls, (5) check call duration pattern, (6) check
  717. international call duration pattern, (7) check call thresholds, (8) check
  718. international call thresholds, (9) check call velocity pattern, and (10)
  719. check international call velocity pattern. Each of these checks will be
  720. described in further detail below with reference to FIGS. 3B-3L.
  721.  
  722.      Referring to FIG. 3B, the Check Suspect Termination service S303 is
  723. responsible for determining whether the number called by the cellular
  724. subscriber is suspected of being called by other fraudulent cellular
  725. telephone users. This service receives the called number field 215 of the
  726. CCF Record 201 as an argument.
  727.  
  728.      First, at step S325, the service determines whether the present call was
  729. cellular originated by examining the call type field 211 of the CCF Record
  730. 201. Because this event check is only relevant for cellular originated
  731. calls, if the present call was not cellular originated the service flows
  732. to step S337, which marks the completion of the Check Suspect Termination
  733. service.
  734.  
  735.      If the present call was cellular originated as determined from the call
  736. type field 211, the service, at step S327, tests whether the number
  737. called, held in the called number field 215, matches a number on a
  738. predetermined list of numbers set by the telecommunication service
  739. provider and maintained in a database by the fraud detection system 107.
  740. If no number on the list is matched the service flows to step S337 and
  741. this check is completed.
  742.  
  743.      If a matching number is found the service, at step S329, tests whether
  744. the matched number from the database has been flagged as "suspect." If a
  745. specified field in the database of numbers is marked "TRUE," then the
  746. matched number will be determined to be suspect and the service will flow
  747. to step S331. Otherwise, if the specified database field is not marked
  748. "TRUE," then the service flows to step S337 and the check is completed.
  749.  
  750.      At step S331, it has been determined that a number called using the
  751. particular subscriber ID for this CCF Record is a number suspected of
  752. being called by other fraudulent users. Accordingly, the service generates
  753. a "suspect termination event" by recording the event type, "number event,"
  754. along with specific information particular to this call in the events
  755. database for this particular subscriber ID.
  756.  
  757.      Next, at step S333, the "event context" data structure is built with
  758. information specific to this event. The event context data structure
  759. contains information including (1) the event type ("number event"); (2)
  760. the event subtype (none for this event type); (3) the subscriber ID number
  761. (corresponding to the three MIN fields 203, 205, 207 and the MSN field
  762. 209); (4) the call date (from the orig date field 229); and (5) the
  763. current alert-state (either normal, yellow, or red depending on the nature
  764. and quantity of alerts outstanding for this particular subscriber as
  765. determined by the alert manger, discussed below).
  766.  
  767.      Next, at step S335, the service sends the event context data structure
  768. previously built at step S333 to the alert manager 115 to signal the alert
  769. manager that a new event has been generated and to provide a reference for
  770. locating the newly generated event in the events database.
  771.  
  772.      Lastly, the service flows to step S337, where the suspect termination
  773. check is completed and the next check in the event manager procedure is
  774. initiated.
  775.  
  776.      Referring to FIG. 3C, the Check Suspect Country Code service S305 is
  777. responsible for determining whether the country called by the cellular
  778. subscriber, as indicated by the country code, is suspected of being called
  779. by other fraudulent cellular telephone users. This service receives the
  780. called number field 215 of the CCF Record 201 and its related country code
  781. as arguments.
  782.  
  783.      First, at step S339, the service determines whether the present call was
  784. cellular originated by examining the call type field 211 of the CCF Record
  785. 201. Because this event check is only relevant for cellular originated
  786. calls, if the present call was not cellular originated the service flows
  787. to step S351, and the Check Suspect Country Code service is completed.
  788.  
  789.      If the present call was cellular originated as determined from the call
  790. type field 211, the service, at step S341, tests whether the country code
  791. called matches a country code on a predetermined list of numbers set by
  792. the telecommunication service provider and maintained in a database by the
  793. fraud detection system 107. If no country code on the list is matched the
  794. service flows to step S351 and this check is completed.
  795.  
  796.      If a matching country code is found the service, at step S343, tests
  797. whether the matched country code from the database has been flagged as
  798. "suspect." If a specified field in the database of country codes is marked
  799. "TRUE," then the country code will be determined to be suspect and the
  800. service will flow to step S345. Otherwise, if the specified database field
  801. is not marked "TRUE," then the service flows to step S351 and the check is
  802. completed.
  803.  
  804.      At step S345, it has been determined that a country called using the
  805. particular subscriber ID for this CCF Record is a country suspected of
  806. being called by other fraudulent users. Accordingly, the service generates
  807. a "suspect country code event" by recording the event type, "country
  808. event," along with specific information particular to this call in the
  809. events database for this particular subscriber ID.
  810.  
  811.      Next, at step S347, the event context data structure is built with
  812. information specific to this event, as discussed above. The event context
  813. data structure for this service has the event type, "country event," and
  814. no event subtype.
  815.  
  816.      Next, at step S349, the service sends the event context data structure
  817. previously built at step S347 to the alert manager 115 to signal the alert
  818. manager that a new event has been generated and to provide a reference for
  819. locating the newly generated event in the events database.
  820.  
  821.      Lastly, the service flows to step S351, where the suspect country code
  822. check is completed and the next check in the event manager procedure is
  823. initiated.
  824.  
  825.      Referring to FIG. 3D, the Check Credit Limit service S307 is responsible
  826. for determining whether a particular subscriber has exceeded his or her
  827. specified usage limit by maintaining a running cumulative total usage
  828. duration for each subscriber and comparing the running total to a
  829. predetermined value set by the telecommunication service provider. This
  830. service receives the call seconds field 233 from the CCF Record 201 as an
  831. argument.
  832.  
  833.      First, at step S353, the service tests whether this particular subscriber
  834. has an entry for the present month in the credit limit database maintained
  835. by the fraud detection system. If a credit limit entry is not found an
  836. inconsistency in the system has been encountered; an error is logged to an
  837. error handling server and the service flows to step S367 which marks the
  838. completion of the credit limit check.
  839.  
  840.      If a credit limit entry is found for this particular subscriber for the
  841. present month, the service flows to step S357 where the running monthly
  842. usage total for this particular subscriber is updated by adding the usage
  843. for the present call, represented by the value held in the call seconds
  844. field 233, to the previous monthly usage total for this particular
  845. subscriber.
  846.  
  847.      Next, at step S359, the service tests whether the newly calculated
  848. usage total exceeds the predetermined usage limit set by the
  849. telecommunications service provider for this particular subscriber. If the
  850. usage limit has not been exceeded, the service flows to step S367 which
  851. marks the completion of the credit limit check.
  852.  
  853.      If the predetermined usage limit has been exceeded, the service flows to
  854. step S361 where a "credit limit event" is generated by recording the event
  855. type, "credit event," along with specific information particular to this
  856. call in the events database for this particular subscriber ID.
  857.  
  858.      Next, at step S363, the event context data structure is built with
  859. information specific to this event, as discussed above. The event context
  860. data structure for this service has the event type, "credit event," and no
  861. event subtype.
  862.  
  863.      Next, at step S365, the service sends the event context data structure
  864. previously built at step S365 to the alert manager 115 to signal the alert
  865. manager that a new event has been generated and to provide a reference for
  866. locating the newly generated event in the events database.
  867.  
  868.      Lastly, the service flows to step S367, where the credit limit check is
  869. completed and the next check in the event manager procedure is initiated.
  870.  
  871.      Although one embodiment of the above-described credit limit check
  872. performs the check on the basis of cumulative call duration in units of time,
  873. as an alternative, the credit limit check may be performed on the basis of
  874. cumulative money charges, by multiplying the particular service provider's
  875. rate times the cumulative call duration. It has been determined, however,
  876. that using time units rather than money units to perform the credit limit
  877. check provides several advantages, including enhanced simplicity,
  878. flexibility, and accuracy.
  879.  
  880.      Referring to FIGS. 3E-3F, the Check Overlap Calls service S309 is
  881. responsible for determining whether a call made by a particular subscriber
  882. overlaps any other calls made using that same subscriber ID. Overlapping
  883. calls are two or more calls which either (1) occur concurrently, or (2)
  884. are placed from different geographic regions and occur within a
  885. sufficiently short time interval such that it would be improbable that a
  886. single subscriber could place the first call and then travel to the
  887. location of the second call within the given time interval to place the
  888. second call. Because each unique subscriber ID or calling card number may
  889. typically only be used by a single subscriber from a single location at
  890. any one time, fraud is indicated upon occurrence of either or both of
  891. these two conditions. The Check Overlap Calls service is comprised of two
  892. separate checks: Check Simultaneous Calls and Check Geographic Dispersion.
  893.  
  894.      Referring to FIG. 3E, the Check Overlap Calls service first performs the
  895. Simultaneous Calls check at step S369. After retrieving the first call
  896. stored in the calls database at step S371, the check simultaneous calls
  897. service, at step S373, tests whether the retrieved call was placed on the
  898. same date as the call presently under consideration as determined from the
  899. orig date field 229 of the CCF Record 201. If the retrieved call was not
  900. placed on the same date, the retrieved call cannot overlap the present
  901. call and the service flows to step S389 to check the next call in the
  902. calls database, if any.
  903.  
  904.      If the retrieved call was placed on the same date as the present call,
  905. the service, at step S375, tests whether the retrieved call has the same
  906. subscriber ID as the present call, as determined by the three MIN fields
  907. 203, 205, 207 and the MSN field 207. If the subscriber IDs do not match,
  908. the retrieved call cannot overlap the present call and the service flows
  909. to step S389 to check the next call in the calls database, if any.
  910.  
  911.      If the subscriber IDs match, the service, at steps S377 and S379, tests
  912. whether the retrieved call used either the three-way call or the
  913. call-waiting features, respectively, as determined from the call feature
  914. field 231 of the retrieved call CCF record. Calls utilizing these call
  915. features are presently ignored when checking for overlap calls because
  916. calls that utilize these features, while appearing to overlap, may be
  917. legitimate. Accordingly, when these call features are present the service
  918. flows to step S389 to check the next call in the calls database, if any.
  919.  
  920.      If neither of these call features were utilized, the service, at step
  921. S381, tests whether any portion of the retrieved call chronologically overlaps
  922. the present call. Overlap is determined by satisfying either of the
  923. following two conditions: (1) the origination time of the present call (as
  924. determined from the value held by the orig time field 227 of the present
  925. call CCF record) is chronologically between the origination time of the
  926. retrieved call (as determined from value held by the orig time field 227
  927. of the retrieved call CCF record) and the termination time of the
  928. retrieved call (as determined by adding the value held by the call seconds
  929. field 233 of the retrieved call CCF record to the value held by the orig
  930. time field 227 of the retrieved call CCF record); or (2) the termination
  931. time of the present call (as determined by adding the value held by the
  932. call seconds field 233 of the present call CCF record to the value held by
  933. the orig time field 227 of the present call CCF record) is chronologically
  934. between the origination time of the retrieved call and the termination
  935. time of the retrieved call. If neither of these two conditions are met,
  936. the retrieved call and the present call do not overlap chronologically,
  937. and the service flows to step S389 to check the next call in the calls
  938. database, if any.
  939.  
  940.      If either of the two conditions are met, however, the present call and
  941. the retrieved call overlap chronologically and the service flows to step S383
  942. where an "overlap call event" is generated by recording the event subtype,
  943. "simultaneous calls," along with specific information particular to this
  944. call in the events database for this particular subscriber ID.
  945.  
  946.      Next, at step S385, the event context data structure is built with
  947. information specific to this event, as discussed above. The event context
  948. data structure for this service has the event type, "overlap event," and
  949. event subtype, "simultaneous calls."
  950.  
  951.      Next, at step S387, the service sends the event context data structure
  952. previously built at step S385 to the alert manager 115 to signal the alert
  953. manager that a new event has been generated and to provide a reference for
  954. locating the newly generated event in the events database. It should be
  955. noted that the service performs steps S383 through S387--that is, another
  956. event is generated--for each call retrieved from the calls database which
  957. overlaps the present call. Therefore, the single CCF record under
  958. consideration may generate multiple "overlap call" events.
  959.  
  960.      Next, at step S389, the service tests whether any calls remain in the
  961. calls database to be compared for overlap with the present call. If additional
  962. calls remain in the calls database which have not yet been checked for
  963. overlap with the present call, the service flows to step S391 where the
  964. next call is retrieved from the calls database and the service returns to
  965. step S373 to check for call overlap. It should be noted that steps S373
  966. through S391 are performed as many times as the number of calls in the
  967. calls database.
  968.  
  969.      If no more calls remain to be compared, the service, at step S395,
  970. performs a Geographic Dispersion Check, a flow chart for which is shown in FIG.
  971. 3F.  Referring to FIG. 3F, at step S401, the check Geographic Dispersion
  972. service retrieves the first call stored in the calls database.
  973.  
  974.      Next, at step S403, the service tests whether the retrieved call was
  975. originated on the same date as the call presently under consideration as
  976. determined from the orig date field 229 of the CCF Record 201. If the
  977. retrieved call was not placed on the same date, the retrieved call cannot
  978. overlap the present call and the service flows to step S423 to check the
  979. next call in the calls database, if any.
  980.  
  981.      If, however, the retrieved call was placed on the same date as the
  982. present call, the service, at step S405, tests whether the retrieved call
  983. has the same subscriber ID as the present call, as determined by the three MIN
  984. fields 203,205, 207 and the MSN field 207. If the subscriber IDs do not
  985. match, the retrieved call cannot overlap the present call and the service
  986. flows to step S423 to check the next call in the calls database, if any.
  987.  
  988.      If the subscriber IDs match, the service, at steps S407 and S409, tests
  989. whether the retrieved call used either the three-way call or the
  990. call-waiting features, respectively, as determined from the call feature
  991. field 231 of the retrieved call CCF record. Calls utilizing these call
  992. features are presently ignored when checking for overlap calls because
  993. calls that utilize these features, while appearing to have a geographical
  994. dispersion problem, may be legitimate. Accordingly, when these call
  995. features are present the service flows to step S423 to check the next call
  996. in the calls database, if any.
  997.  
  998.      If neither of these call features were utilized, the service, at step
  999. S411, calculates the mileage between the location of the present call and the
  1000. location of the retrieved call using, for example, the "airline formula."
  1001. The airline formula is taught by the following publication, AT&T Tariff
  1002. F.C.C., No. 264 (effective date: Apr. 2, 1979), a copy of which is
  1003. included as Appendix B. The locations of the retrieved and present calls
  1004. are determined from the values held by the sid field 221, the first
  1005. serving field 223 and the first serving cell field 225 of the each of the
  1006. CCF records for the present and retrieved calls. Because each MSC has a
  1007. unique identifying number, and because the exact geographic location of
  1008. each MSC is known, the service can approximate the location of each call
  1009. by using the MSC identifier to index a database of MSC geographic
  1010. coordinates.
  1011.  
  1012.      Next, at step S413, the mileage between the location of the present call
  1013. and the location of the retrieved call is transformed into a time value
  1014. using a predetermined Miles-Per-Hour (MPH) tuning parameter. The time
  1015. value calculated is the geographic dispersion adjustment which will be
  1016. applied to the calls under comparison to determine if call overlap
  1017. occurred.
  1018.  
  1019.      Next, at step S415, the service tests whether any portion of the present
  1020. call chronologically overlaps the retrieved call when adjusted for
  1021. geographic dispersion. Overlap is determined by satisfying either of the
  1022. following two conditions: (1) the origination time of the present call (as
  1023. determined from the value held by the orig time field 227 of the present
  1024. call CCF record) is chronologically between the origination time of the
  1025. retrieved call (as determined from value held by the orig time field 227
  1026. of the retrieved call CCF record) minus the geographic dispersion
  1027. adjustment time and the termination time of the retrieved call (as
  1028. determined by adding the value held by the call seconds field 233 of the
  1029. retrieved call CCF record to the value held by the orig time field 227 of
  1030. the retrieved call CCF record) plus the geographic dispersion adjustment
  1031. time; or (2) the termination time of the present call (as determined by
  1032. adding the value held by the call seconds field 233 of the present call
  1033. CCF record to the value held by the orig time field 227 of the present
  1034. call CCF record) is chronologically between the origination time of the
  1035. retrieved call minus the geographic dispersion adjustment time and the
  1036. termination time of the retrieved call plus the geographic dispersion
  1037. adjustment time. If neither of these two conditions are met, the retrieved
  1038. call and the present call do not overlap chronologically when adjusted for
  1039. geographic dispersion, and the service flows to step S423 to check the
  1040. next call in the calls database, if any.
  1041.  
  1042.      If either of the two conditions are met, however, the present call and
  1043. the retrieved call overlap chronologically when adjusted for geographic
  1044. dispersion and the service, at step S417, generates a "overlap call event"
  1045. by recording the event subtype, "geographic dispersion," along with
  1046. specific information particular to this call in the events database for
  1047. this particular subscriber ID.
  1048.  
  1049.      Next, the service flows to step S419 where the event context data
  1050. structure is built with information specific to this event, as discussed above.
  1051. The event context data structure for this service has the event type, "overlap
  1052. event," and event subtype, "geographic dispersion."
  1053.  
  1054.      Next, at step S421, the service sends the event context data structure
  1055. previously built at step S419 to the alert manager 115 to signal the alert
  1056. manager that a new event has been generated and to provide a reference for
  1057. locating the newly generated event in the events database. It should be
  1058. noted that the service performs steps S417 through S421--that is, another
  1059. event is generated--for each call retrieved from the calls database which
  1060. overlaps the present call when adjusted for geographic dispersion.
  1061. Therefore, the single CCF record under consideration may generate multiple
  1062. "overlap call" events.
  1063.  
  1064.      Next, at step S423, the service tests whether any calls remain in the
  1065. calls database to be compared for geographic dispersion overlap with the present
  1066. call. If additional calls remain in the calls database which have not yet
  1067. been checked for geographic dispersion overlap with the present call, the
  1068. service flows to step S425 where the next call is retrieved from the calls
  1069. database and the service returns to step S403 to check for geographic
  1070. dispersion call overlap. It should be noted that steps S403 through S425
  1071. are performed as many times as the number of calls in the calls database.
  1072.  
  1073.      If no more calls remain to be compared, the service flows to step S427
  1074. where the Overlap Calls Check is completed and the next check in the event
  1075. manager procedure is initiated.
  1076.  
  1077.      Referring to FIG. 3G, the Check Call Duration Pattern service S311 is
  1078. responsible for determining if a particular subscriber's call duration is
  1079. increasing at a rate which makes it suspect for fraudulent activity. The
  1080. trend being examined is a five-day moving average increasing over a
  1081. ten-day moving average for a prolonged period of time. This trend shows a
  1082. marked increase in the amount of time a subscriber is willing to stay on
  1083. the telephone. The theory is that users who do not intend to pay for their
  1084. telephone services (for example, cloning fraud users) will not be
  1085. concerned with the length of their calls. This service expects the
  1086. previously calculated five-day and ten-day call duration moving averages
  1087. as arguments.
  1088.  
  1089.      First, at step S429, the service tests whether the five-day moving
  1090. average call duration calculated for the call date is greater than a
  1091. predetermined minimum amount. This step ensures that fluctuations in usage for
  1092. low volume users do not generate an abnormal number of events. For example, if
  1093. a subscriber whose five-day moving average call duration was 130 seconds
  1094. on the day before the call date based on a single call within the past
  1095. five days, increased to 195 seconds on the call date based on one
  1096. additional call, a 50% increase would be calculated, even though the
  1097. actual usage change is represented by one long call. If the five-day
  1098. moving average call duration calculated for the call date is less than the
  1099. predetermined amount, therefore, a call duration pattern check would not
  1100. be performed and false alerts would be avoided. This would be the case,
  1101. continuing with the example, if the predetermined minimum amount were 200
  1102. seconds. Accordingly, the service flows to step S443 which marks the
  1103. completion of the check.
  1104.  
  1105.      If, however, the five-day moving average call duration is greater than
  1106. the predetermined minimum amount, the service, at step S431, tests whether the
  1107. five-day moving average call duration for the call date is greater than
  1108. the ten-day moving average call duration for the same date. If it is not
  1109. greater, the service flows to step S443 which marks the completion of the
  1110. check.
  1111.  
  1112.      If the five-day moving average call duration for the call date is greater
  1113. than the ten-day moving average call duration for the same date, the
  1114. service, at step S433, calculates the percentage increase between the
  1115. five-day moving average call duration for the call date and the five-day
  1116. moving average call duration for the day before the call date.
  1117.  
  1118.      Next, at step S435, the service tests whether the percentage increase
  1119. calculated at step S433 is greater than a predetermined limit. If the
  1120. predetermined limit is not exceeded it indicates that the average call
  1121. duration for the particular subscriber ID under consideration is not
  1122. increasing at an abnormal rate and there is no reason to suspect fraud on
  1123. the basis of the call duration trend. Accordingly, the service flows to
  1124. step S443 which marks the completion of the check.
  1125.  
  1126.      If, however, the percentage increase exceeds the predetermined limit, it
  1127. indicates that call duration for the particular subscriber ID under
  1128. consideration is increasing at an abnormal rate. Accordingly, at step
  1129. S437, the service generates a "call duration pattern event" by recording
  1130. the event type, "average event," and the event subtype, "duration," along
  1131. with specific information particular to this call in the events database
  1132. for this particular subscriber ID.
  1133.  
  1134.      Next, the service flows to step S439 where the event context data
  1135. structure is built with information specific to this event, as discussed above.
  1136. The event context data structure for this service has the event type, "average
  1137. event," and event subtype, "duration."
  1138.  
  1139.      Next, at step S441, the service sends the event context data structure
  1140. previously built at step S439 to the alert manager 115 to signal the alert
  1141. manager that a new event has been generated and to provide a reference for
  1142. locating the newly generated event in the events database.
  1143.  
  1144.      Lastly, the service flows to step S443, where the call duration pattern
  1145. check is completed and the next check in the event manager procedure is
  1146. initiated.
  1147.  
  1148.      As illustrated in FIG. 3H, the service for Check International Call
  1149. Duration Pattern is nearly identical to the service for Check Call
  1150. Duration Pattern, except the event manager maintains a separate
  1151. subscriber-specific pattern for international call duration against which
  1152. the CCF record is checked, and the event subtype is "international
  1153. duration." Due to the near identity of this service with the Check Call
  1154. Duration Pattern service, no further discussion is necessary.
  1155.  
  1156.      Referring to FIG. 3I, the Check Call Thresholds service S315 is
  1157. responsible for determining whether a particular subscriber has exceeded one or
  1158. more of his or her previous high water marks. A high water mark is the highest
  1159. number of calls placed within a given time period. The Check Call
  1160. Thresholds service S315 comprises three separate checks: a one-day high
  1161. water mark check, a five-day moving average high water mark check, and a
  1162. ten-day moving average high water mark check. The fraud detection system
  1163. 107 keeps track of the highest number of calls ever made by a particular
  1164. subscriber for each the three different time periods. With each additional
  1165. CCF record processed, the Check Call Thresholds service S315 checks to see
  1166. if the addition of the present call to the present total number of calls
  1167. placed for each of the three separate time periods exceeds one of the high
  1168. water marks for a particular subscriber. Because the three checks are
  1169. nearly identical, with only a difference in the time period to be used in
  1170. performing the check, only the daily call threshold check will be
  1171. explained in detail.
  1172.  
  1173.      As shown in FIG. 3I, the Daily Call Threshold Check S445 is performed
  1174. first. At step S447 the service tests whether the present daily call
  1175. count--that is, the total number of calls made for the call date--exceeds
  1176. a predetermined minimum amount. This step ensures that an excess number of
  1177. daily threshold events are not generated for low volume subscribers. For
  1178. example, it would be undesirable to generate a daily threshold event for a
  1179. low volume subscriber who placed only three calls for the call date, but
  1180. whose previous daily high water mark was 2 calls placed in one day.
  1181. Accordingly, if the present call count does not exceed the predetermined
  1182. minimum amount the service flows to step S459 and the next call threshold
  1183. check is initiated.
  1184.  
  1185.      If, however, the present call count exceeds the predetermined minimum
  1186. amount, the service, at step S449, tests whether the present daily call
  1187. count exceeds the one-day high water mark. If the one-day high water mark
  1188. is not exceeded, the service flows to step S459 and the next call
  1189. threshold check is initiated.
  1190.  
  1191.      If, however, the one-day high water mark is exceeded by the present daily
  1192. call count, the service, at step S451, resets the one-day high water mark
  1193. to the present daily call count, and then, at step S453, generates a daily
  1194. call threshold event by recording the event type, "threshold event," and
  1195. the event subtype "1 day velocity," along with specific information
  1196. particular to this call in the events database for this particular
  1197. subscriber ID.
  1198.  
  1199.      Next, at step S455, the event context data structure is built with
  1200. information specific to this event, as discussed above. The event context
  1201. data structure for this service has the event type, "threshold event," and
  1202. event subtype, "1 day velocity."
  1203.  
  1204.      Next, at step S457, the service sends the event context data structure
  1205. previously built at step S455 to the alert manager 115 to signal the alert
  1206. manager that a new event has been generated and to provide a reference for
  1207. locating the newly generated event in the events database.
  1208.  
  1209.      Next, at step S459, the service initiates the five-day moving average
  1210. threshold check. As illustrated in FIG. 3I, both the five-day and ten-day
  1211. checks are nearly identical to the daily check, except that the high water
  1212. marks for five-day and ten-day periods, respectively, are used, and the
  1213. event subtypes are "5 day average velocity" and "10 day average velocity,"
  1214. respectively. Consequently, no further discussion of these checks is
  1215. believed to be necessary.
  1216.  
  1217.      As illustrated in FIG. 3J, the service for Check International Call
  1218. Thresholds is nearly identical to the service for Check Call Thresholds,
  1219. except the event manager maintains a separate subscriber-specific pattern
  1220. for international call thresholds against which the CCF record is checked,
  1221. and the events subtypes are "1 day international velocity," "5 day average
  1222. international velocity," or "10 day average international velocity," as
  1223. appropriate. Due to the near identity of this service with the Check Call
  1224. Thresholds service, no further discussion is believed necessary.
  1225.  
  1226.      Referring to FIG. 3K, the Check Call Velocity Pattern service S319 is
  1227. responsible for determining if a particular subscriber's call velocity is
  1228. increasing at a rate which makes it suspect for fraudulent activity. The
  1229. trend being examined is a five-day moving average increasing over a
  1230. ten-day moving average for a prolonged period of time. This trend shows a
  1231. marked increase in the number of calls a subscriber is willing to place.
  1232. The theory is that users who do not intend to pay for their telephone
  1233. services (for example, cloning fraud users) will not be concerned with the
  1234. quantity of their calls. This service expects the previously calculated
  1235. five-day and ten-day call velocity moving averages as arguments.
  1236.  
  1237.      First, at step S461, the service tests whether the five-day moving
  1238. average call velocity calculated for the call date is greater than a
  1239. predetermined minimum amount. This step ensures that fluctuations in usage for
  1240. low volume users do not generate an abnormal number of events. For example, if
  1241. a subscriber whose five-day moving average call velocity was 2 calls/day
  1242. on the day before the call date increased to 3 calls/day on the call date,
  1243. a 50% increase would be calculated, even though the actual usage change is
  1244. as insignificant as one call. If the five-day moving average call velocity
  1245. calculated for the call date is less than the predetermined amount,
  1246. therefore, a call velocity pattern check would likely generate false
  1247. alerts and should not be performed. Accordingly, the service flows to step
  1248. S475 which marks the completion of the check.
  1249.  
  1250.      If, however, the five-day moving average call velocity is greater than
  1251. the predetermined minimum amount, the service, at step S463, tests whether the
  1252. five-day moving average call velocity for the call date is greater than
  1253. the ten-day moving average call velocity for the same date. If it is not
  1254. greater, the service flows to step S475 which marks the completion of the
  1255. check.
  1256.  
  1257.      If the five-day moving average call velocity for the call date is greater
  1258. than the ten-day moving average call velocity for the same date, the
  1259. service, at step S465, calculates the percentage increase between the
  1260. five-day moving average call velocity for the call date and the five-day
  1261. moving average call velocity for the day before the call date.
  1262.  
  1263.      Next, at step S467, the service tests whether the percentage increase
  1264. calculated at step S465 is greater than a predetermined limit. If the
  1265. predetermined limit is not exceeded it indicates that the average call
  1266. velocity for the particular subscriber ID under consideration is not
  1267. increasing at an abnormal rate and there is no reason to suspect fraud on
  1268. the basis of the call velocity trend. Accordingly, the service flows to
  1269. step S475 which marks the completion of the check.
  1270.  
  1271.      If, however, the percentage increase exceeds the predetermined limit, it
  1272. indicates that call velocity for the particular subscriber ID under
  1273. consideration is increasing at an abnormal rate. Accordingly, at step
  1274. S469, the service generates a "call velocity pattern event" by recording
  1275. the event type, "average event," and the event subtype, "velocity," along
  1276. with specific information particular to this call in the events database
  1277. for this particular subscriber ID.
  1278.  
  1279.      Next, the service flows to step S471 where the event context data
  1280. structure is built with information specific to this event, as discussed above.
  1281. The event context data structure for this service has the event type, "average
  1282. event," and event subtype, "velocity."
  1283.  
  1284.      Next, at step S473, the service sends the event context data structure
  1285. previously built at step S471 to the alert manager 115 to signal the alert
  1286. manager that a new event has been generated and to provide a reference for
  1287. locating the newly generated event in the events database.
  1288.  
  1289.      Lastly, the service flows to step S475, where the call velocity pattern
  1290. check is completed and the next check in the event manager procedure is
  1291. initiated.
  1292.  
  1293.      As illustrated in FIG. 3L, the service for Check International Call
  1294. Velocity Pattern is nearly identical to the service for Check Call
  1295. Velocity Pattern, except the event manager maintains a separate
  1296. subscriber-specific pattern for international call velocity against which
  1297. the CCF record is checked, and the event subtype is "international
  1298. velocity." Due to the near identity of this service with the Check Call
  1299. Velocity Pattern service, no further discussion is felt necessary.
  1300.  
  1301.      Once all of the event manager checks have been performed, the event
  1302. manager procedure is complete for the particular CCF record under consideration
  1303. as indicated by step S323 in FIG. 3A. If a new event was not generated for
  1304. the present CCF record, the fraud detection system procedure is complete
  1305. for that CCF record. Accordingly, the fraud detection system 107 waits for
  1306. the next CCF record to be input into the switch interface 111.
  1307.  
  1308.      However, if one or more events were generated for the present CCF record,
  1309. each corresponding event context data structure is passed to the alert
  1310. manager 115, the procedure for which is illustrated by a flowchart in FIG.
  1311. 4A. The function of the alert manager 115 is to receive each event
  1312. generated by the event manager 113 and "analyze" that event, to determine
  1313. if an "alert" should be generated. Depending upon a predetermined set of
  1314. rules, either a single alert or a specific combination of alerts may
  1315. generate an "alert-state" which is then passed to the user interface 117
  1316. to signal the system operator 119 that the particular subscriber ID for
  1317. which an alert-state was generated is suspected of being used
  1318. fraudulently. It should be noted that a single CCF record may generate
  1319. multiple events, each of which is individually analyzed by the alert
  1320. manager 115. Accordingly, the alert manager procedure, described below,
  1321. may be performed multiple times for a single CCF record. More
  1322. specifically, the alert manager procedure will be performed once for each
  1323. event generated by the event manager 113.
  1324.  
  1325.      Referring to FIG. 4A, the alert manager procedure initiates at step S476
  1326. where the alert manager receives an event context data structure for the
  1327. particular event to be analyzed by one of the ten different analysis
  1328. services. The ten different analysis services, represented by flowcharts
  1329. in FIGS. 4B-4K, will be described in detail with reference to the
  1330. appropriate figures.
  1331.  
  1332.      Next, the alert manager determines the type of event to be analyzed by
  1333. examining the event type field in the event context data structure
  1334. received from the event manager. At step S478, if the event type is a
  1335. suspect termination event, the alert manager procedure flows to step S480
  1336. where the Analyze Suspect Termination Event service analyzes the incoming
  1337. event.
  1338.  
  1339.      Referring to FIG. 4B, the Analyze Suspect Termination Event service S480
  1340. generates a new suspect termination alert for every incoming suspect
  1341. termination event. Upon receiving the event context data structure as an
  1342. argument, the service generates a "suspect termination" alert at step S524
  1343. by adding a new entry to the alerts database for this particular
  1344. subscriber ID. An entry into the alerts database includes the following
  1345. information: (1) subscriber ID (particular subscriber ID for which this
  1346. alert was generated); (2) alert type ("suspect termination" in this case);
  1347. (3) alert date (date that alert was generated); and (4) call date (date
  1348. indicated in orig date field 229 for the CCF record which generated the
  1349. event being analyzed).
  1350.  
  1351.      Next, at step S526, the service "associates" the event under
  1352. consideration with the newly generated alert. This is performed by adding a new
  1353. entry to a database--the alert-events database--containing all previously
  1354. generated alerts, and the associated events which triggered the specific alert,
  1355. for each particular subscriber. The purpose of the alert-events database is to
  1356. provide a system operator investigating a particular alert with a list of
  1357. the specific event, or events, responsible for triggering the alert under
  1358. investigation.
  1359.  
  1360.      Next, at step S528, the service sends the alert generated at step S524 to
  1361. the Evaluate Subscriber Condition service S522, described below.
  1362.  
  1363.      Lastly, the service flows to step S530 which marks the completion of the
  1364. analysis for the present event and the alert manager procedure flows to
  1365. step S520 (see FIG. 4A) to determine whether the subscriber's condition
  1366. needs to be evaluated, as discussed below.
  1367.  
  1368.      Referring to FIG. 4A, if the event type did not match at step S478, the
  1369. alert manager procedure flows to step S482. At this step, if the event
  1370. type is a suspect country code event, the procedure flows to step S484
  1371. where the Analyze Suspect Country Code Event service analyzes the incoming
  1372. event.
  1373.  
  1374.      Referring to FIG. 4C, the Analyze Suspect Country Code Event service S484
  1375. is responsible for collecting country code event information and
  1376. determining whether a newly received event should trigger an alert.
  1377.  
  1378.      Upon receiving the event context data structure as an argument, the
  1379. service, at step S532, counts the number of events presently recorded in
  1380. the events database which meet each of the following three conditions: (1)
  1381. the database event has the same subscriber ID as the present event; (2)
  1382. the database event type is "country event"; and (3) the date of the
  1383. database event is the same as the call date.
  1384.  
  1385.      At step S534, if the number of database events counted at step S532 is
  1386. less than a predetermined limit set by the telecommunications service provider,
  1387. the service flows to step S542 which marks completion of the analysis. If,
  1388. however, the number of database events counted exceeds the predetermined
  1389. limit, the service flows to step S536 where a suspect country code alert
  1390. is generated by adding a new entry with alert type "suspect country code"
  1391. to the alerts database for this particular subscriber ID. The function of
  1392. step S534 is to prevent generating an alert every time a suspect country
  1393. code is called. The theory is that not every user who calls the suspect
  1394. country a few times is a fraudulent user.
  1395.  
  1396.      Next, at step S538, the service associates the event under consideration
  1397. with the newly generated alert by adding a new entry to the alert-events
  1398. database for this particular subscriber ID.
  1399.  
  1400.      Next, at step S540, the service sends the alert generated at step S536 to
  1401. the Evaluate Subscriber Condition service S522, described below.
  1402.  
  1403.      Lastly, the service flows to step S542 which marks the completion of the
  1404. analysis for the present event and the alert manager procedure flows to
  1405. step S520 (see FIG. 4A) to determine whether the subscriber's condition
  1406. needs to be evaluated, as discussed below.
  1407.  
  1408.      Referring to FIG. 4A, if the event type did not match at step S482, the
  1409. alert manager procedure flows to step S486. At this step, if the event
  1410. type is a credit limit event, the procedure flows to step S488 where the
  1411. Analyze Credit Limit Event service...
  1412.  
  1413. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1414. The text unfortunately terminates at this point (in this copy).  We will
  1415. attempt to obtain more complete text and graphics on this and other cellular
  1416. related patents.
  1417.  
  1418. Watch for additional information of this nature on Phoenix Rising Online.
  1419.  
  1420.  
  1421.  
  1422. (N)ext, (P)revious, or (R)ead this message?