RELATED APPLICATIONSThis application is a continuation of co-pending and commonly owned U.S. patent application Ser. No. 11/012,370, filed Dec. 14, 2004, which is incorporated herein by reference for all purposes, which is a continuation of U.S. patent application Ser. No. 09/590,502, filed Jun. 9, 2000, which is incorporated herein by reference for all purposes, now U.S. Pat. No. 6,842,774, which claimed the benefit of U.S. Provisional Application Ser. No. 60/191,779, filed Mar. 24, 2000, by Robert L. Piccioni.
TECHNICAL FIELD OF THE INVENTIONThis invention relates in general to data processing, and, more particularly, to a method and system for situation tracking and notification.
BACKGROUND OF THE INVENTIONAs computers have grown increasingly important in today's society, information tracking and distribution has grown increasingly useful in many industries. Law enforcement is one such industry. Law enforcement has successfully used computer systems for tracking information about criminals. However, existing law enforcement computer systems have typically been limited to crime information. Further, existing methods lack effective capabilities to share information with other law enforcement departments and non-law enforcement personnel.
SUMMARY OF THE INVENTIONOne aspect of the invention is a method for situation tracking comprising receiving an alert at a clearing house and handling an emergency event based on the alert. The method further includes generating a notification in response to a subscriber profile and the event and determining a destination for the notification based on the subscriber profile.
The present invention provides a number of technical advantages. One such technical advantage is having the capability for tracking weather, crime, emergency, traffic related and other situations to the media, public, law enforcement personnel, emergency personnel and others. Another such technical advantage is the capability to support the updating and creation of emergency situation events in response to alerts generated by mobile entity devices and other servers. Events may be then be searched and notifications sent to interested subscribers based on profiles associated with the subscribers. A further technical advantage is the capability for controlling access to emergency situation events based on the type of entity or person accessing the situation events and to provide controlled access to events over the Internet.
BRIEF DESCRIPTION OF THE DRAWINGSA better understanding of the present invention will be realized from the detailed description which follows, taking in conjunction with accompanying drawings, in which:
FIG. 1 illustrates a situation tracking system for notification of others regarding various situations;
FIG. 2 is a block diagram illustrating details of a situation event in accordance with the system ofFIG. 1;
FIG. 3 is a block diagram illustrating details of an alert for updating situation events in accordance with the system ofFIG. 1;
FIG. 4 is a block diagram illustrating details of a subscriber profile in accordance with the system ofFIG. 1;
FIG. 5 is a flowchart indicating a method for generating alerts and updating events in accordance with the system ofFIG. 1;
FIG. 6 is a block diagram illustrating an information flow path between a law enforcement agency and others in accordance with the system ofFIG. 1; and
FIG. 7 is a block diagram illustrating an information flow path between a investigator and others in accordance with the system ofFIG. 1.
DETAILED DESCRIPTION OF THE INVENTIONFIG. 1 illustrates anotification system10 usable by law enforcement officials or other agencies for rapid notification of others regarding various public safety events.Notification system10 comprises amobile entity device12, a plurality ofpublic safety alerts13, awireless network14, aserver16, anetwork18, aclient20 and a clearing house22.Notification system10 is operable to provide the capability for tracking weather, crime, emergency, traffic related and other situations to the media, public, law enforcement personnel, emergency personnel and others.System10 supports the updating and creation of public safety events in response to alerts generated bymobile entity devices12 andservers16. Events may be then be searched and notifications sent to interested subscribers based on profiles associated with the subscribers. Further,system10 provides the capability for controlling access to public safety events based on the type of entity or person accessing the public safety events. Software associated withsystem10 may be integrated with other software and hardware, or may stand alone.
Mobile entity device12 comprises one or more input and/or output devices operable to send and receive data. More specifically,mobile entity device12 may comprise a keyboard, a display, a scanner, a digital camera, other digital imaging products and an interface tonetwork14 and/or18. For example,device12 may comprise a PDA, handheld or other mobile computing device utilizing software such as the Motorola/SCA Mobile Data Product.Device12 may be located in a police cruiser, an emergency vehicle, carried by an individual officer or emergency personnel, or in other suitable mobile locations.Device12 may also be located at a fixed location such as a weather bureau office. A user ofdevice12 may comprise a law enforcement officer, emergency personnel, weather personnel and other suitable personnel.
Alerts13 comprise information regarding occurrences and situations encountered by users ofdevice12. Alerts are typically generated by the law enforcement officers, emergency personnel and weatherpersonnel using devices12.Alerts13 may also be generated automatically bydevices12 in response to the configuration ofdevices12 or by other entities.Alerts13 may be generated in realtime.
Wireless network14 comprises a wireless data communication system operable to communicate data betweendevice12,server16, andnetwork18. For example,wireless network14 may comprise a network utilizing Cellular Digital Packet Data (CDPD).
Server16 comprises any general purpose or specialized computing device operable to communicatedata using networks14 and18.Server18 is operable to examine data received frommobile entity device12 and clearing house22. More specifically,server16 may determine which data to pass on fromdevice12 to clearing house22 and which data to pass from clearing house22 todevice12.Server16 may also comprise input and output devices for receiving information directly. For example, officer status information may be entered atserver16 instead of being received fromdevice12. Data may also be entered at a client or terminal associated withserver16.Server16 is typically associated with a particular precinct, district, region, state or other geographic or organizational unit associated with law enforcement personnel, emergency services, weather bureaus and other suitable entities. For example, aserver16 may be associated with each precinct in a city, with the city as a whole, or in some other combination of precincts and cities.Server16 may comprise a simple server forhandling alerts13 or a more powerful server for handling bothalerts13 andpublic safety events40, similar to clearing house22 (described below) and including similar or identical elements or data, to clearing house22, such as, for example, criteria42.
Network18 comprises any suitable wireless or wireline data communications network for communicating betweendevice12,network14,server16,client20 and clearing house22. In the disclosed embodiment,network18 comprises the Internet.
Client20 comprises a general purpose or specialized computing system operable to receive information from a user.Client20 may also comprise a web browser (not shown) operable to access clearing house22 overnetworks18 and14.
Clearing house22 comprises a central processing unit (CPU)30 coupled to a computerreadable storage device32, acommunication server34, anevent module36, anotify module38, one or morepublic safety events40, criteria42 and a plurality ofsubscriber profiles46. CPU30 comprises any suitable general purpose or specialized processor operable to execute applications stored on computerreadable storage32. Computerreadable storage32 may comprise magnetic storage, optical storage, random access memory (RAM), and other suitable transient and persistent storage devices in any combination. A portion ofcommunication server34 may comprise any suitable World Wide Web (WWW) server operable to handle hypertext transport protocol (HTTP) requests received fromnetwork18. For example,Web server34 may comprise the Apache web server or the Microsoft Internet Information Service (IIS). Portions ofserver34 may also comprise interfaces operable to communicate withnetworks14 and18, and other suitable communications hardware and software.
Event module36 comprises an executable software module operable to receive alert13 fromservers16 andmobile devices12.Event module36 generates or updates anevent40 in response to one ofalerts13.Event40 comprises a particular activity to be tracked at clearing house22 and is described in more detail in association withFIG. 2.
Notifymodule38 comprises an executable software module operable to generatenotifications44 regardingevents40 for communication to a subscriber ofsystem10. Notifymodule38 is further operable to determine whichevents40 to send to particular subscribers. A subscriber comprises a human user, organization, or class of users or organizations, which desire to receive information aboutevents40 from clearing house22 and is described in more detail inFIG. 4. Notifymodule38 may be further operable to publishevents40 and portions ofevents40 to an Internet web site for public and/or restricted access. Aparticular subscriber profile46 may be generated by an administrator associated with clearing house22 to control which types100 ofevents40 and which portions of theevents40 are published to the Internet web site. Further, aparticular subscriber profile46 may be generated to correspond to a particular level of access to the Internet web site by a subscriber. For example, oneprofile46 may be generated for media or public access portions of the web site, while anotherprofile46 may be generated for restricted police access portions of the web site.
Public safety events40 comprise information related to situations and activities tracked by clearing house22. For example,events40 may track weather information, abducted/missing children and adults, prowler information, road construction, neighborhood watch information, traffic status information, chemical spills, cargo spills, sex offender information, officer status, vehicle location and health warnings.Events40 may also be used to provide information regarding how to react in an emergency, such as a tornado.
Criteria42 comprises rules and other directives atserver16 for handlingalerts13 received fromdevices12 and generated byserver16. For example, based on the type ofalert13, criteria42 may indicate that alert13 be modified, discarded, forwarded to clearing house22 or handled atserver16. Criteria42 may be configured by an administrator (not shown) associated withserver16.
Notifications44 comprise messages sent to entities interested inparticular events40.Notifications44 may comprise electronic mail messages, alphanumeric pager pages, Internet web pages, facsimile transmissions, publishing data to one or more web pages, traditional mail and other methods for deliveringinformation regarding events40 to interested parties. Notifications include accessible portions ofevents40. In one embodiment,notifications44 comprise an HTTP link to a web page associated with theevent40 associated with thenotification44.
Profiles46 comprise information aboutsubscribers using system10.Profiles46 may be created and updated manually by an administrator associated with clearing house22 and may also be created automatically at clearing house22 in response to information received from a subscriber or potential subscriber. For example, a subscriber may communicate with a web site associated with clearing house22 usingclient20 and fill out a subscription form at the web site to generate a profile for that subscriber. Subscribers may comprise businesses, persons, police departments, cities and any other human or organizational entity individually or collectively. Each subscriber has an associatedprofile46.System10 may providegeneric profiles46 for anonymous users and/or classes of users. For example, an administrator associated with clearing house22 may generate thegeneric profiles46 manually. For another example, ageneric profile46 may be created for media personnel.
In operation, one ormore alerts13 are generated bydevices12 and communicated toserver16. Users ofdevices12 generatealerts13 to describe and updateevents40. For example, an alert13 may be generated at the scene of a burglary indicating the location of the house burglarized, evidence found at the scene and other information. For another example, an alert13 may be generated automatically by adevice12 to indicate the current global positioning system (GPS) position, automatic vehicle locator (AVL) system position, or other vehicle location system position of a police cruiser associated withdevice12 or be used to automatically indicate a location for an alert13.
Alerts13 generated bydevices12 may be received and examined atserver16.Server16 uses criteria42 to determine how to handlealerts13. Criteria42 may indicate that alert13 is to be passed on to clearing house22 and/or handled atserver16.Server16 may examine various fields ofalerts13, such as those described inFIG. 3. Then,server16 may analyze the fields against criteria42. For example, criteria42 may indicate that all officer status type alerts should be handled atserver16. For another example, criteria42 may indicate that alerts13 related to crimes are to be inspected atserver16 to add information from arelated alert13 or another source such as, for example, a data entry device at a police precinct office. Such information may include, for example, a text description of a suspect to accompany a photograph. The modifiedalert13 may then be forwarded to clearing house22.Alerts13 may also be classified and sorted atserver16. For example, criteria42 may indicate that a copy of all receivedalerts13 is to maintained and sorted according to a geographic location associated with the alert13.
Alerts handled atserver16 may be used to updateevents40 handled byserver16. Criteria42 may also cause the generation offurther alerts13 and one ormore notifications44 in response to the receivedalert13. For example, criteria42 may indicate that alerts13 indicating the current position of police cruisers associated withserver16, such as whenserver16 is associated with a particular precinct, are to be handled atserver16 to updateevents40 tracking the location of police cruisers associated withserver16. For another example, criteria42 may indicate that alerts13 related to anational kidnapping event40 should be passed on to clearing house22. For yet another example, an alert13 indicating a high-speed pursuit by a police cruiser may generateother alerts13 as police units are deployed to form a road block. In general, criteria42 may indicate any suitable action to be taken in response toparticular alerts13 as configured by an administrator associated withserver16.
Server16 may also generatealerts13 independently. For example,server16 may generate an alert13 indicating the arrest and detainment of a criminal associated with anational kidnapping event40. For another example,server16 may be associated with a weather bureau and generate an alert13 indicating the location, direction and speed of a storm.Alerts13 fromserver16 are also processed according to criteria42.
Clearing house22 receivesalerts13 fromservers16 and may also receivealerts13 directly fromdevices12.Alerts13 may be used to updateevents40 supported by clearing house22. More specifically,event module36 examines the received alerts13.Event module36 may then update an existingevent40 or generate anew event40 based on the receivedalert13.
Whileevent module36 is processing alerts13, notifymodule38 determines whether to generatenotifications44 based on profiles46. Notifymodule38 may also generate search results in response to search requests fromclients20. More specifically, notifymodule38 comparesevents40 toprofiles46 to determine whether anotification44 is to be generated for the subscriber (not shown) associated with theparticular profile46. For example, aparticular profile46 may indicate that the associated subscriber desiresnotifications44 regardingevents40 associated murders in the state of Texas. For another example, a person who commutes daily or emergency personnel may have an associatedprofile46 indicating a desire fornotifications44 regardingevents40 associated with road conditions in the Dallas area, such as accidents and construction. For yet another example, an aircraft pilot may desirenotifications46 regardingevents40 associated with weather conditions in the Austin area. In general, profiles46 may indicate any suitable combination of information associated withevents40 for generatingnotifications44 to subscribers.Notifications44 may be communicated toclients20 anddevices12 bycommunication server34 overnetworks14 and18. Notifymodule38 may determine whichevents40 to publish to the Internet web site for access by web browsers onclients20 based on aparticular subscriber profile46 where the Internet web site or an access level associated with the web site is the subscriber.
Communications server34 may handle access toevents40 byclients20 overnetworks14 and18. More specifically, the web server portion ofserver34 may receive requests to view web pages associated withevents40 fromclients20.Server34 examines the requests and determines if the subscriber associated with the request may access the requested web page based onprofile46 and the access levels associated with theevent40.Server34 may then reply to the subscriber with the requested web page with the subscriber has access to the page, a portion of the requested web page when the subscriber has partial access to the web page or a failure message when the subscriber has no access to the requested web page. For example, a member of the media using either acustom profile46 for the particular member or a generic “media”profile46 may be allowed to access date, location information, and certain details associated withkidnapping events40, but not other details such as the current location of the suspect. This selective access prevents the suspect from using this information against the police. In one embodiment,server34 may generate web pages associated withevents40 such that all information associated withevents40 is available for unrestricted public access on the web site.
Client20 may be used to access clearing house22 by subscribers overnetwork18. For example, a web browser atclient20 may be used to perform a search ofevents40 at clearing house22.
FIG. 2 is a block diagram illustrating details ofevent40.Event40 comprises atype100, aidentifier102, adate104, atime106, anexpiration107, alocation108, one ormore access levels109 and one or more event details110.Type100 comprises a numeric, alphanumeric or other value for indicating the kind of theevent40.Type100 may be used to categorizeevents40. For example, type100 may indicate a crime event, an emergency event, a weather event or a traffic event.Type100 may also indicate more specific information. For example, type100 may indicate a kidnapping, a car theft, a fire emergency or a rain storm.Type100 may further comprise multiple indications regarding the type ofevent40. For example, type100 may comprise two indicators, one indicating a crime and the second indicating a kidnapping. Whiletype100 may be referred to herein as a singular element, multi-element type indications are within the scope of the invention.
Identifier102 comprises a numeric, alphanumeric or other value for uniquely identifying eachevent40 and distinguishingevents40 from each other. For example,identifier102 may comprise a case number.Date104 indicates a month, day and year associated withevent40, such as the date theevent40 occurred.Time106 is a field that may indicate one or more times associated with the reporting time of the incident or time of anevent40.Location108 comprises one or more indications of the location of the event. For example,location108 may comprise Dallas, Tex.Location108 may also be more detailed, such as the northwest corner of the intersection of first and second streets. In general,location108 may be as detailed as necessary for theparticular event40. For example, a weather relatedevent40 may only indicate Dallas, Tex. while a traffic accident may have a street intersection as well as city and state information.Expiration107 comprises an indication of when anevent40 should be deleted as being out of date.Expiration107 may be configured on a global basis for allevents40 at clearing house22 or may be set on an event-by-event basis as configured by the administrator associated with clearing house22 or automatically in response to type100 ofevent40. For example, forcrime type events40expiration107 may default to the statute of limitations time for particular types of crimes.
Access levels109 comprise one or more indications of who may accessevent40 and the elements ofevent40, such aslocation108 and details110.Access levels109 are configurable for eachevent40 individually. For example,access levels109 may indicate that members of the public may access information about the victim indetails110 of akidnapping type event40, but not be allowed to access any element ofmurder type events40 or even know thatmurder type events40 exist. For another example,access levels109 may indicate that public or anonymous users may access only weather andtraffic type events40 while media personnel may access portions ofcrime type events40. For a further example,access levels109 for aparticular event40 may specify that a public subscriber has access tolocation108 anddate104, a media subscriber has access tolocation108,date104 and only a description of the suspect from the information indetails110, and a law enforcement subscriber has access to all information. In addition, asaccess levels109 may be set on a per-event basis, a particular, high-profile event40, such as a kidnapping, may be configured release no information to anyone outside the law enforcement community, even though normal kidnappings release some information to the media and the public. For example, per-event access levels109 may be used to prevent Internet users from accessing web pages related to the high-profile event40.Access levels109 may be set byevent module36 and an administrator associated with clearing house22. In general,access levels109 may indicate different levels of access to particular elements ofevent40 to different types of subscribers.
Details110 compriseevent40 related information forspecific events40.Details110 may be customized based ontype100 ofevent40 to provide appropriate information.Details110 may include public bulletins, procedures, warnings, instructions or other pregenerated information related to aspecific event40. For example, akidnapping event40 may include a picture and description of the victim, possible suspects, sightings and other kidnapping specific information. For another example, aweather event40 may include direction, speed and strength of a storm indetails110. Continuing the weather example, a map with escape routes listed may be included indetails110 based onlocation108 and the direction of the storm. For a further example, a contact, such as an e-mail address or asubscriber profile46, may be provided indetails110 so that users who access aparticular event40 and have information related to theparticular event40 may communicate the information to the contact. In general, details110 may comprise any amount of text, graphics and other data appropriate for aparticular event40 as configured by an administrator associated with clearing house22. More than one field ofdetails110 may be used to control access to categories of details or differentiate between information included withinnotifications44 based on the identity of a particular subscriber.
FIG. 3 is a block diagram illustrating details ofalert13.Alert13 may comprise atype200, adate202, atime204, asource206, adestination208,event identifier102 and apayload210.Type200 comprises a numeric, alphanumeric or other identifier for indicating the type ofalert13. Similar to type100, type200 may be used to categorizealerts13. For example, type200 may indicate a crime alert, an emergency alert, a weather alert or a traffic alert.Type200 may also indicate more specific information. For example, type200 may indicate a kidnapping, a car theft, a fire emergency or a rain storm.Type200 may further comprise multiple indications regarding the type ofalert13. For example, type200 may comprise two indicators, one indicating a crime and the second indicating a kidnapping. Whiletype200 may be referred to herein as a singular element, multi-element type indications are within the scope of the invention.
Date202 indicates a month, day and year associated withalert13, such as the date associated withalert13.Time204 is a field that may indicate one or more times associated with the reporting time of the incident or time of an alert13.Location205 comprises one or more indications of the location of the event. For example,location205 may comprise Dallas, Tex.Location108 may also be more detailed, such as the northwest corner of the intersection of first and second streets. In general,location205 may be as detailed as necessary for theparticular alert13. For example, a weather related alert13 may only indicate Dallas, Tex., while a traffic accident may have a street intersection as well as city and state information.
Source206 comprises a numeric, alphanumeric or other identifier operable to indicate theparticular device12 orserver16 which generated the alert13.Destination208 comprises one or more indications of the destination or destinations ofalert13.Alert13 may be communicated to multiple destinations, such asserver16 and clearing house22.Alert12 may optionally include anevent identifier102 to identify aparticular event40 to update.
Payload210 comprises one or more items of information regarding the details ofalert13. Eachtype200 of alert13 may comprise distinct payload items based ontype200 ofalert13.Payload210 may be customized based ontype200 ofpayload210 to provide appropriate information. For example, akidnapping event40 may include a picture and description of the child, possible suspects, sightings and other kidnapping specific information. For another example, aweather event40 may include direction, speed and strength of a storm. For example, a map with escape routes may be included inpayload210 based on officer knowledge. In general,payload210 may comprise any number of text, graphics and other information appropriate for aparticular event40 as configured by an administrator associated withdevice12. Typically,payload210 is used to populatedetails110 ofevent40 with information. For a further example, a contact, such as an e-mail address or asubscriber profile46, may be provided inpayload210 so that a responsible officer may receive information from users who access theparticular event40 created or updated in response to alert13.
In operation, type200 may be used byserver16 andmodules36 and38 when handling alerts13. For example,server16 may considertype200 with respect to criteria42. For another example,event module36 may usetype200 in determining how to generateevents40.
FIG. 4 is a block diagram illustrating details ofsubscriber profile46.Profile46 comprises atype300,subscriber data302 and a subscriber information need304.Type300 comprises a numeric, alphanumeric or other identifier for indicating the type of subscriber associated withprofile46.Type300 may indicate a law enforcement subscriber, a media subscriber, a public subscriber, a emergency subscriber, a weather agency subscriber and other types of subscribers.
Type300 may be used withaccess levels109 to determine whatevents40 and elements ofevents40, such asdetails110,location108,date104 andtime106, may be accessed by particular subscribers. For example, a subscriber from the media may have complete access to weather andtraffic type events40, partial access tocrime events40 and no access toofficer status events40. For another example, a public subscriber, who may be using a free subscription, may have complete access to weather andtraffic type events40, partial access to sex offender relatedevents40, and no access to other types ofevents40. In general,access levels109 may be configured to allow access to some, all or none ofdate104,time106,location108 anddetails110 based onsubscriber type300.
Type300 may further comprise multiple indications regarding the type of subscriber. For example, type300 may comprise two indicators, one indicating a news media subscriber and the second indicating a pricing plan. Whiletype300 may be referred to herein as a singular element, multi-element type indications are within the scope of the invention. For example, a major news service may sign up reporters for an unlimited use subscription, while a smaller news service may sign up for a fee for use model. Astype300 may accommodate multiple indicators, any suitable combination of indicators may be used to indicate a pricing structure for a particular subscriber. For example, type300 may indicate that someevent types100 are free to the subscriber,other event types100 are fee-for-service and stillother event types100 are unlimited access for a fixed fee. For another example, access to allevents40 may be free, while charging for the ability to enterevents40. In general, fees may be charged to subscribers on an annual basis or other period, and may calculated based on a flat rate, a number of accesses during the billing period, or based on the number of individual users,clients20,devices12, orservers16 associated with a particular subscriber such as a police department or media outlet. The above examples of fees charged for access tosystem10 are not intended to limit the scope of any method of accounting or billing for fee collection from subscribers tosystem10. Other means of generating revenue forsystem10 such as selling web site advertisement space or displaying links to commercial web, sites my be utilized.
Subscriber data302 comprises information about the subscriber insubscriber profile46. More specifically,subscriber data302 may comprise anelectronic mail address310 andpersonal data312.Personal data312 may comprise name, address, phone number, fax number and other subscriber information associated withsubscriber profile46. In general,data302 may comprise any suitable information about the subscriber associated withprofile46.
Information need304 indicatesevents40 which the subscriber associated withprofile46 is interested in and comprises one ormore notification criteria320 and one ormore notification methods322. Eachnotification criteria320 comprises one or more elements ofevents40 indicatingevents40 which the subscriber should receivenotifications44 about. More specifically, eachcriteria320 may indicate one or more items fromevents40, such as date,104,time106,location108 and information indetails110, that indicateevents40 of interest to the associated subscriber. For example,criteria320 may specifyonly events40 with associated graphic images.Criteria320 may also allow for the Boolean combination of items fromevents40, such as AND, OR, XOR and NOT, and text matching of items fromevents40. For example, aparticular criteria320 may indicate that a subscriber is interested in kidnappingevents40 in the Dallas, Tex.,location108 that occur after Jan. 1, 2000, in thedate104 and involving “Jane Doe” in as a victim listed indetails110. For another example, a daily commuter may indicate an interest inevents40 having atype100 of traffic event in the Dallas, Tex.,location108 and freeway Interstate620 indetails110. For an additional example,criteria320 may indicate a distance for use withlocation108, such as allevents40 with alocation108 within five miles of a particular street address. Continuing the previous example, a subscriber could request alltraffic events40 occurring between two addresses, such as a home and work address, in order to monitor current trafficconditions using criteria320. Further continuing the previous example, a subscriber with a GPS system and a wireless connection to network14 could request real-time traffic updates based on the subscriber's current location and use that information to plot escape routes on an in-car navigation system. In general, any combination of items such astype100,date104,time106,location108 and information indetails110 may be indicated incriteria320. Further, eachprofile46 may includemultiple criteria320 indicating various different information needs.Profiles46 may also be manually or automatically processed to determine a permit access and level based ontype300.
Notification method322 comprises an indication of how to communicatenotifications44 generated in response tocriteria320 regardingevents40. Typically, anotification method322 is associated with eachcriteria320, but multiple criteria may use asingle method322. More specifically,method322 indicates whether electronic mail, traditional mail, facsimile transmission, an electronic page or other delivery method should be used for communicatingnotifications44 to the subscriber associated withprofile46.Multiple methods322 may be associated with asingle criteria320, such as when a subscriber desires to be notified by both electronic mail and an electronic page.
FIG. 5 is a flowchart indicating a method for alert13 generation andevent40 updating. The method begins atstep400 where alert data is received atdevice12 orserver16. The alert data may be received by a human operator entering the information or by some other method. Next, atstep402, alert13 is generated using the received alert information. More specifically,type200 is assigned to alert13 by the operator or using the alert information,date202 andtime204 are set,source206 is set to identify thedevice12 orserver16 generatingalert13,destination208 is set toserver16 and/or clearing house22 by the operator and/or based ontype200, andpayload210 is set using the alert information based on thetype200 ofalert13. Anevent identifier102 may also be included with alert13 to update a particular existingevent40 atserver16 or clearing house22. Then, atstep404, alert13 is communicated to the one or more destinations indicated indestination208.
Proceeding to step406, alert13 is received atserver16.Alert13 may also be directly communicated to clearing house22 and the method continued atstep414. Next, atdecisional step408,server16 determines whetheralert13 is to be handled atserver16 or forwarded to clearing house22. Ifalert13 is to be handled atserver16, then the YES branch ofdecisional step408 leads to step410. Atstep410, alert13 is handled atserver16. More specifically, based on criteria42 and alert13, anevent40 may be generated or updated atserver16, alert13 may be discarded orfurther alerts13 may be generated. The further alerts13 may be handled directly atserver16 and/or forwarded to clearing house22.
Ifalert13 is to be forwarded to clearing house22, then the NO branch ofdecisional step408 leads to step412. Atstep412,server16 forwards alert13 to clearing house22.Server16 may also change alert13 based on criteria42 before forwarding alert13 to clearing house22. Then, atstep414, alert13 is received at clearing house22.
Next, atdecisional step416, clearing house22 determines whetheralert13 relates to an existingevent40 based onidentifier102 inalert13. Ifalert13 relates to an existingevent40 then the YES branch ofstep416 leads to step418. Atstep418, theappropriate event40 is updated using information inalert13, such aspayload210. For example, an existingkidnapping event40 may be updated with recent sightings of the victim.
Ifalert13 is unrelated to existingevents40, then the NO branch ofstep416 leads to step420. At step420 anew event40 is generated based ontype200,date202,time204,location205 andpayload210 ofalert13.Access levels109 are also set atstep420 based ontype200. Aunique event identifier102 is also assigned to the newly generatedevent40. Next, atstep422, thenew event identifier102 is communicated to one ormore servers16 and/or one ormore devices12. Thenew event identifier102 is communicated toservers16 anddevices12 to allow for the updating ofevents40.Servers16 and/ordevices12 may store theevent identifier102 and a subset of the associated event information so as to be able to easily generatenew alerts13 to update thenew event40. For example,servers16 may storeevent identifiers102 so thatalerts13 received from associateddevices12 may be changed to include theappropriate event identifier102.
At either ofstep418 or420 forevents40,expiration time107 may be checked to determine ifevents40 are to be expired and deleted byevent module36.
Proceeding todecisional step430, notifymodule38 determines whether one ormore events40 meet notifycriteria320 inprofiles46.Module38 may check events for matches afterevents40 have been generated or updated based on alerts13.Module38 may also perform this check at other times, such as simultaneously with the processing ofalerts13 at clearing house22.Module38 also determines whether the subscriber has access to matchedevents40, based ontype300 of subscriber andaccess levels109 of matchedevents40. Alternatively,module38 may not searchevents40 for matches if the subscriber does not have access to the events. More specifically,module38 compares information intype100,identifier102,date104,time106,location108 anddetails110 to information provided incriteria320.Criteria320 may specify any of the information inevents40. For example, the geographic information inlocation108 may be used to findevents40 in a particular ZIP code, city, county, state, region or other geographic feature. For another example,criteria320 may specifyevents40 associated with armed robbery intype100 by female suspects indetails110 in the Clark county area inlocation108. If noevents40 meetcriteria320, then the NO branch ofdecisional step430 is followed and the method ends.
If one ormore events40 meetcriteria320, then the YES branch ofstep430 leads to step432. Atstep432,module38 determines the method of notification for each metcriteria320. Then, atstep434,notification44 is generated bymodule38 as appropriate for the notification method. For example, an electronic mail notification method results in the generation of an appropriate electronic mail including accessible information about the matchedevent40. Then, atstep436,notification44 is communicated to the subscriber associated with theprofile46 with matchedcriteria320.Notification44 may include all or a portion of the information in the matchedevent40.Criteria320 may specify which information to include innotification44.Access levels109 associated with the matchedevent40 may also limit the information included innotification44. In addition,module38 may be configured to return differing amounts of information associated with the matchedevent40 based onevent40 itself, thedelivery method322 and/or other data. For example,notification44 may include all oftype100,identifier102,date104,time106,location108 anddetails110 for law enforcement subscribers while includingonly type100 anddate104 to media subscribers. For another example,notification44 may includeonly type100 andlocation108 based onparticular criteria320. For a further example, only type100 anddate104 may be included whennotification method322 indicates an alphanumeric pager or a text-enabled cell phone.
For another example, the method of notification atstep432 may comprise the updating of the Internet web site associated with clearing house22. In this example, step434 would comprise the generation of one or more hypertext markup language (HTML) or other web pages based onevents40 matched to theprofile46 associated with the web site. More specifically,profile46 for the web site may indicate that allevents40 having ofmultiple types100 be added to the web site, such as all traffic andweather events40 andcertain types100 of crimes. Many or all of theevents40 supported at clearing house22 may be provided over the web site. Access toevents40 provided through the web site may be continue to be controlled byaccess levels109. More specifically,access levels109 may be used to control which elements,type100,identifier102,date104,time106,location108 anddetails110, ofevents40 to present in response to web page requests. For example, a web page with all elements ofevent40 may be presented to a law enforcement subscriber while a web page withonly type100 andlocation108 is presented to a media subscriber. Step436 may then comprise publishing the generated web pages to the Internet.
Returning tosteps418 and422, the method may also proceed to step440. Atstep440,communication server34 handles web page access. More specifically, the web server portion ofcommunication server34 handles HTTP requests fromclients20. The web page accesses may comprise page retrieval and search requests by users atclients20.Communication server34 provides web pages generated atsteps432,434 and436 to users atclients20 overnetworks14 and18.Communication server34 also supports searches on the web pages at the web site by users using web browsers atclients20 and enforcesaccess levels109 associated withevents40. For example, a user may search for alltraffic events40 in a particular ZIP code. For another example, a user may log-in to gain increased access to restrictedevents40, such asevents40 not or only partially available publicly.
FIG. 6 is a block diagram illustrating an information flow path between a law enforcement agency and others.FIG. 6 illustrates that information regarding a public safety incident may be entered atmobile entity device12. Clearing house22 then provides a forum for distributing information aboutpublic safety events40 to the responsible law enforcement agency. As clearing house22 is also operable to publishpublic safety event40 information to a web site, information may be distributed to a wide variety of citizens, media personnel and other law enforcement groups and personnel. By increasing the availability of public safety incident related information to citizens, the media and other law enforcement personnel and groups, the chance of receiving useful information regarding public safety incidents by the responsible law enforcement agency is increased. Thus, the advantages of increasing the solution rate of crimes and decreasing the number of open cases may be realized. A further benefit of decreased crime may be realized due to increased participation in law enforcement by non-law enforcement personnel.
FIG. 7 is a block diagram illustrating an information flow path between a investigator and others.FIG. 7 illustrates that information regarding a public safety incident may be electronically entered at devices or provided to an investigator by traditional paper reports. The investigator may then examine the available information about the public safety incident in electronic and/or paper form. The investigator's examination may include providing additional information about the public safety incident based on the experience, training and investigations of the investigator. The available information about the public safety incident may then be posted to the web site using clearing house22. Citizens, media and law enforcement groups may then access the web site and contact the investigator with information related to the public safety incident. For example, the contact information indetails110 of anevent40 related to the public safety incident may be used to contact the investigator.
It should also be recognized that other changes, substitutions and alterations are also possible without departing from the spirit and scope of the present invention, as defined by the following claims.