Abstract:
Methods, systems, devices, and computer program products for implementing condition alert services are provided. A method includes receiving information elements from a source that identify a condition, aggregating the information elements from the source with information elements from other sources that identify the same condition, and creating a composite file that includes the aggregated information elements representing each of the sources. The method also includes generating a condition alert from the composite file and transmitting the condition alert to a recipient communications device.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 11/926,823, filed Oct. 29, 2007, the entire contents of which are incorporated herein by reference. 
    
    
     BACKGROUND 
     Exemplary embodiments relate generally to communications, and more particularly, to methods, systems, devices, and computer program products for implementing condition alert services. 
     Conditions or events that affect a particular region or group of people can happen unexpectedly. Conditions may be traffic related (e.g., a collision, traffic jam, disabled vehicle), road related (e.g., debris on road, pothole, disabled traffic light), weather related (e.g., severe thunderstorm, flooding), or health and safety related (e.g., chemical spill, terrorist threat), to name a few. Many of these types of conditions go unresolved for an extended period of time. This may be due, in part, to either a lack of knowledge by a governing agency charged with handling the type of condition, or the agency may not fully appreciate the severity of the condition resulting in a delayed response. It may also take significant travel time for the governing agency to arrive at the area in which the condition has occurred. As a result, unsuspecting individuals who are in the region of the condition may find themselves unwittingly face-to-face with it. 
     Most often, a condition is reported to a governing agency (e.g., police, fire, emergency service providers) by one or more individuals who are first on the scene to discover it. However, other individuals might benefit from obtaining this information at the time of first discovery as opposed to the time in which these individuals arrive in the area of the condition. For example, an individual who receives advance warning of a condition may be in a position to avoid the area in which the condition has occurred. If enough individuals are provided with advanced warning and avoid the region, it would certainly provide a benefit to both the individuals who are notified, as well as the governing agency or first responders who require fast and unobstructed access to the condition. 
     What is needed, is a way to communicate information concerning conditions at the time of discovery to relevant individuals or entities, such that the individuals or entities can take action to avoid the condition, and to enable greater access to the condition locations for those who are charged with addressing or resolving the condition. 
     BRIEF SUMMARY 
     Exemplary embodiments include methods for implementing centralized condition alert management services. A method includes receiving information elements from a source that identify a condition, aggregating the information elements from the source with information elements from other sources that identify the same condition, and creating a composite file that includes the aggregated information elements representing each of the sources. The method also includes generating a condition alert from the composite file and transmitting the condition alert to a recipient communications device. 
     Additional exemplary embodiments include systems for implementing centralized condition alert management services. A system includes a host system and a centralized condition alert management application executing on the host system. The centralized condition alert management application implements a method. The method includes receiving information elements from a source that identify a condition, aggregating the information elements from the source with information elements from other sources that identify the same condition, and creating a composite file that includes the aggregated information elements representing each of the sources. The method also includes generating a condition alert from the composite file and transmitting the condition alert to a recipient communications device. 
     Further exemplary embodiments include computer program products for implementing centralized condition alert management services. A computer program product includes instructions for causing a computer to implement a method. The method includes receiving information elements from a source that identify a condition, aggregating the information elements from the source with information elements from other sources that identify the same condition, and creating a composite file that includes the aggregated information elements representing each of the sources. The method also includes generating a condition alert from the composite file and transmitting the condition alert to a recipient communications device. 
     Further exemplary embodiments include methods for implementing proximity-based condition alerts. A method includes collecting information elements by a communications device that identify a condition, creating a condition file that includes the information elements and a condition file identifier, and determining a destination address for notification of the condition. The method also includes generating and transmitting a condition alert to the destination address. The condition alert includes the condition file. 
     Further exemplary embodiments include communications devices for implementing proximity-based condition alerts. A communications device includes a processor unit and a condition alert application executing on the processor unit. The condition alert application implements a method. The method includes collecting information elements that identify a condition, creating a condition file that includes the information elements and a condition file identifier, and determining a destination address for notification of the condition. The method also includes generating and transmitting a condition alert to the destination address. The condition alert includes the condition file. 
     Other systems, methods, and/or computer program products according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, and/or computer program products be included within this description, be within the scope of the exemplary embodiments, and be protected by the accompanying claims. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
       Referring now to the drawings wherein like elements are numbered alike in the several FIGURES: 
         FIG. 1  is a block diagram describing a system upon which centralized condition alert management services and proximity-based condition alerts may be implemented in accordance with exemplary embodiments; 
         FIG. 2  is a block diagram depicting a communications device used in receiving the centralized condition alert management services and for implementing proximity-based condition alerts in exemplary embodiments; 
         FIG. 3  is a flow diagram describing a process for implementing centralized condition alert management services in exemplary embodiments; 
         FIG. 4  is a user interface screen for registering for the centralized condition alert management services in exemplary embodiments; 
         FIG. 5  is a user interface screen for reporting a discovered condition via a communications device in exemplary embodiments; 
         FIG. 6  illustrate sample databases used by the centralized condition alert management services in exemplary embodiments; 
         FIG. 7  is a user interface screen depicting a sample condition alert; and 
         FIG. 8  is a flow diagram describing a process for implementing proximity-based condition alerts in exemplary embodiments. 
     
    
    
     The detailed description explains the exemplary embodiments, together with advantages and features, by way of example with reference to the drawings. 
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
     Centralized condition alert management services and proximity-based condition alerts are provided in accordance with exemplary embodiments. The centralized condition alert management services provide prompt and targeted notifications of conditions that occur, which can potentially impact a large number of people. By registering for the service and providing user-defined preferences, the centralized condition alert management services process condition information (also referred to as information elements) and directly notify those registered users who have an interest in, or who may be affected by, the condition. The proximity-based condition alerts provide a means for individuals to create and disseminate their own condition alerts to other individuals within a geographic proximity of the condition, thereby providing advance warning of a condition that may affect the individuals who may be en route to, or nearby, a location in the vicinity of the condition. By using proximity-based condition alerts, individuals who may be affected by a condition may benefit from real-time notifications that may enable the individuals to take measures to avoid unnecessary exposure to the condition. 
     Turning now to  FIG. 1 , an exemplary system for implementing the centralized condition alert management services and the proximity-based condition alerts will now be described in accordance with exemplary embodiments. The system of  FIG. 1  includes a centralized condition alert management system  100  in communication with one or more communications devices  104 A- 104 C over one or more networks  106 . The centralized condition alert management services are implemented via a host system  102  of the centralized condition alert management system  100 . 
     The host system  102  may be implemented using a high-speed processing device (e.g., a computer system) that is capable of handling high volume activities conducted via users of the centralized condition alert management system  100 . The host system  102  may be implemented by a network service provider, content service provider, or other enterprise, e.g., as a subscription-based service. The host system  102  executes a centralized condition alert management application (CCAMA)  108  for providing the centralized condition alert management services described herein. 
     The communications devices  104 A and  104 B represent mobile communications devices, such as cellular telephones, personal digital assistants, or other portable communications devices. As shown in the system of  FIG. 1 , the communications device  104 A is a handheld device and communications device  104 B is a device installed in a vehicle. The communications device  104 C represents a stationary communications device that is installed at a fixed location. For example, as shown in  FIG. 1 , the communications device  104 C is installed on a utility pole. The communications devices  104 A- 104 C may operate over a wireless data network, using Internet protocols (e.g., TCP/IP) and may also be configured to include global positioning system (GPS) technology as will be described further herein. The communications devices  104 A- 104 C execute a condition alert application  110  for implementing the proximity-based condition alerts described herein. The communications devices  104 A- 104 C may also be configured to access a user interface of the CCAMA  108 , e.g., via the networks  106 , in order to utilize the services provided by the centralized condition alert management system  100 . 
     The networks  106  may be implemented using wireless networks or any kind of physical network implementation known in the art. The communications devices  104 A- 104 C may be coupled to the host system  102  through multiple networks so that not all of the communications devices  104 A- 104 C are coupled to the host system  102  through the same network. In exemplary embodiments, the communications devices  104 A- 104 C and the host system  102  may be connected to the networks  106  in a wireless fashion. In an exemplary embodiment, networks  106  include peer-to-peer networks that enable direct communication among the communications devices  104 A- 104 C, which are within signal range of one another. 
     The host system  102  is also in communication with a storage device  112 . The storage device  112  may be implemented using a variety of devices for storing electronic information. It is understood that the storage device  112  may be implemented using memory contained in the host system  102 , or the storage device  112  may be a separate physical device. Information stored in the storage device  112  may be retrieved and manipulated via the host system  102 . 
     The storage device  112  stores a condition database, a location database, a solution database, and a rules database. In addition, the storage device  112  stores a subscriber alerts database, composite files, and condition alerts and updates as described further herein. The condition, location, solution, and rules databases are shown and described in  FIG. 6 . A sample condition alert is shown in  FIG. 7 . 
     Turning now to  FIG. 2 , an exemplary communications device  104  will now be described in accordance with exemplary embodiments. The communications device  104  includes a processor unit  202 , an input/output component  204  for initiating and receiving condition alerts, a condition alert application  110  executing on the processor unit  202 , and a communications component  206 . In exemplary embodiments, the processor unit  202  executes the condition alert application  110  for facilitating the proximity-based condition alerts described herein. The input/output component  204  may include elements such as a keyboard and display screen. As described above, the communications device  104  may also be configured to access the user interface of the CCAMA  108  via the communications component  206  in order to utilize the services provided by the centralized condition alert management system  100 . The communications component  206  may be configured to transmit communication signals (e.g., via a transmitter), including condition alerts created by the condition alert application  110 , as well as reporting conditions via the user interface of the CCAMA  108 . The communications component  206  may be configured to detect other communications devices in proximity of the communications device  104  and transmit condition alerts to these other communications devices over a peer-to-peer network (e.g., one of networks  106 ). Likewise, the communications component  206  may be configured to receive condition alerts generated by other communications devices  104 . 
     In exemplary embodiments, the communications device  104  further includes a recording component  208 , one or more sensors  210 , and a range finder  212 . The components  208 ,  210 , and  212  collect information elements relating to a condition. For example, the recording component  208  may comprise a digital image capturing device, a video capturing device, an audio capturing device, or a combination thereof. Depending upon the type of condition that occurs, various measurements may be acquired by the communications device  104  using one or more sensors  210 . For example, temperature readings may be acquired via a temperature gauge. In addition, navigational components may be employed to acquire elevation and azimuth information with respect to a condition. This information may provide point-of-view data that is useful in understanding critical aspects of the condition. For example, the point-of-view data for a condition, such as a fire may indicate the size and scope of the fire, as well as wind direction so that first responders can ascertain which adjacent structures may be impacted by the condition. In exemplary embodiments, the elevation or altitude readings may be acquired by a radar device or a GPS device (i.e., one of the communications components  206 ) using a triangulation calculation technique). Velocity, such as wind speed, may be tracked using an anemometer-type probe. These, and other types of sensors  110  and components, may be utilized in collecting various information elements for a condition alert. 
     The range finder  212  may be used for calculating a distance between the communications device  104  and the condition. The range finder  212  may be implemented, e.g., using laser, ultrawideband, or other range finding technologies. This information may be useful in accurately identifying a location in which the condition has occurred with greater specificity. 
     The communications device  104  also includes memory  214  which may be used by the condition alert application  110  when collecting these measurements before reporting a condition alert. 
     The information elements may be sent to the centralized condition alert management system  100  for processing as described further in  FIG. 3  (utilized in the centralized condition alert management services) or may be used to generate a condition alert by the condition alert application  110  (utilized in the proximity-based condition alerts), as described further in  FIG. 8 . 
     The condition alert application  110  may include a user interface configurable via the application  110 . For example, a user interface screen  500  for entering information elements associated with a condition is shown and described in  FIG. 5 . Likewise, this type of user interface screen  500  may also be used in reporting a condition to the CCAMA  108 . As indicated above the condition alert application  110  may also include a discovery feature for enabling the user to detect communications devices, such as the communications devices  104 A- 104 C in proximity. 
     Turning now to  FIG. 3 , a process for implementing centralized condition alert management services will now be described in accordance with exemplary embodiments. The centralized condition alert management services utilize various databases, such as databases  600 A- 600 D of  FIG. 6  and apply rules to the information therein as described herein. The processes described in  FIG. 3  may require that a user register in order to receive the services. A user of the services may register for the services via, e.g., the user interface provided by the CCAMA  108 . A sample user interface screen  400  for subscribing to the services is shown in  FIG. 4 . As illustrated in  FIG. 4 , a user may register for the services by providing information including preferences for condition alerts. For example, the user may specify a commuting route and approximate times of travel in fields  402 ,  404 , and  406 , which identify the geographic area and times in which the user expects to be present in the locations. Thus, should a condition be reported for the location entered by the user and at times close to those entered in the fields  402 ,  404 , and  406 , a condition alert would be transmitted to the user accordingly. 
     Once registered, a subscriber record is created that includes the information provided via the user interface screen  400  and is stored in the subscriber database  600 B as shown in  FIG. 6 . In alternative exemplary embodiments, the user may select an automated GPS option via the field  406 , which directs the application  108  to ascertain the user&#39;s current location prior to determining whether to transmit a condition alert. For example, if the user&#39;s current location is miles away from the condition, a condition alert may not be necessary. In addition, the CCAMA  108  may be configured to periodically ascertain the user&#39;s current location, particularly if the condition is severe. Thus, should the CCAMA  108  determine via the GPS that the user is within range of the condition, and the condition is still unresolved, a determination is made to send the condition alert to the user. As shown in the database  600 B of  FIG. 6 , a subscriber identifier  610  distinguishes the subscriber record from other records in the database  600 B. A location identifier  612  refers to the current location of the user (if using GPS). 
     Turning back to  FIG. 4 , an alert menu option  408  may be provided, whereupon selection thereof, the user is directed to a new interface screen (not shown) for entering additional preferences (e.g., a communications address to which a condition alert is to be sent if desired). For example, the user may desire to be notified of a condition alert via a particular means, such as cell phone, personal digital assistant, email account, or other desired means. This information may be stored in an alert identification field  614  of the subscriber record of the database  600 B. 
     Returning now to  FIG. 3 , the host system  102  receives information elements from a source (e.g., communications device  104 A) that identify a condition at step  302 . As indicated above, the information elements may be provided via the user interface screen  500  as shown in  FIG. 5 . The information elements may include a condition descriptor that identifies the nature of the condition (e.g., pot hole in road, broken traffic light, hazardous debris in road, and chemical spill, to name a few). As shown in  FIG. 1  for purposes of illustration, the condition comprises a pothole  116 . This information may be entered, e.g., via a drop down list  508  by selecting a condition type field  502 , or may be manually entered via a description field  504 , followed by selecting a submit option  506 . 
     In addition, the information elements may include the time of condition discovery, which may be automatically acquired by a clock feature of the communications device  104 A (e.g., a timestamp). Information elements may also include the time of condition occurrence, which indicates the time in which the condition originated as opposed to discovered. The information elements may include the location of the condition, which may be automatically acquired via GPS on the device  104 A or may be manually entered. Additionally, the information elements may include data that identify measurements taken, scope, and magnitude of the condition, positional and angular data identifying a point of view, and distance of the condition with respect to the communications device  104  at the time of information capture. As shown in the user interface screen  500  of  FIG. 5 , e.g., a user may select an auto collection feature  516  whereby the sensors  210  and/or range-finder  212  collect various measurements as described above in  FIG. 2 . Alternatively, the user may select from one or more categories of measurements via a window  518  and manually enter actual or estimated measurements. 
     In addition, information elements may include an identification of the communications device  104  that identify the source (e.g., user&#39;s cell phone number) and one or more media files capturing media, such as audio, video, and static images of the condition. The user&#39;s identification may be optional if the user desires anonymity via a field  522  of the user interface screen  500 . The media files may be captured via the recording component  208 . The user then selects an option  510  to attach a file and selects the file type from a window  512 , followed by the file to be attached from a window  514 . These information elements are transmitted to the CCAMA  108  to report the condition via a submit option  524 . Alternatively, if the user interface screen  500  is used to generate a proximity-based condition alert via the condition alert application  110 , the information elements may be used to create a condition alert by the user of the communications device  104 A as described further in  FIG. 8 . 
     At step  304 , the CCAMA  108  categorizes the information elements by condition type. The condition types may include, e.g., traffic conditions, road conditions, weather conditions, and health and safety conditions. The CCAMA  108  may utilize pre-defined conditions and condition types, as shown in the condition database  600 A of  FIG. 6A . For example, the condition database  600 A illustrates condition types in fields  602  and listings of conditions in fields  604 . These condition types are provided by way of example only and are not to be construed as limiting in scope. 
     In addition, conditions that are reported are mapped to corresponding locations in which the conditions occur. The condition location database  600 C illustrates types of information used in mapping condition information elements to respective condition locations. As shown in  FIG. 6 , e.g., the database  600 C illustrates a State identification field  620  including a breakdown by county, city/town, and street. General locations may be defined in the database  600 C as well. For example, familiar or well-known locations may be defined using a field  622 . 
     At step  306 , the CCAMA  108  aggregates the information elements from each of the sources (e.g., multiple communications devices  104 A- 104 C) that identify the same condition (e.g., the pothole  116 ). For example, the composite file may aggregate measurements taken of the condition from multiple sources in order to clarify the extent or severity of the condition. This may be useful in situations where discrepancies in the information elements occur. Any outliers may be extracted from the composite file. Additionally, the aggregated information elements may be useful where a condition is likely to worsen over time. Aggregated information such as the time of condition discovery by communications devices, such as the communications devices  104 A- 104 C, can be used to compare earlier acquired condition information with later acquired condition information (e.g., image data acquired for a pothole having dimensions that have changed/worsened over time). 
     At step  308 , the CCAMA  108  creates a composite file that includes the aggregated information elements. For example, the composite file may aggregate measurements taken of the condition from multiple sources in order to clarify the extent or severity of the condition. This may be useful in situations where discrepancies in the information elements occur. Any outliers may be extracted from the composite file. Additionally, this may be useful where a condition is likely to worsen over time. For example, aggregated information such as the time of condition discovery by the communications devices  104 A- 104 C can be used to compare earlier image data of the condition to later image data. 
     At step  310 , the CCAMA  108  generates a condition alert for the composite file. A sample condition alert  700  is shown in  FIG. 7 . As shown in  FIG. 7 , the condition alert  700  may include a condition file identifier  702  that identifies the reported condition, a condition type  704 , a time of discovery  706 , location of the condition  708 , and condition details  710 . In addition, if a media file has been captured, the condition alert  700  may include an option  712  to open an attachment that reflects the media file. Additionally, if the source has provided personal information and approval, the condition alert may include an option  714  allowing the recipient of the condition alert  700  to contact the source. Also, the condition alert  700  may include a field  716  that enables the recipient to request validation of the condition. By selecting the option in the field  716 , the CCAMA  108  may utilize updated or confirmed information elements acquired since the time the condition was reported and provide confirmatory or updated information as to the status of the condition over time. 
     At step  312 , the CCAMA  108  determines a destination address for transmitting the condition alert. The destination address may be determined using the preferences provided in the user interface screen  400  of  FIG. 4  as described above. Depending upon the nature and severity of the condition, rules may be applied for determining whether to notify a governing agency (e.g., department of public welfare (DPW), police, fire, ambulance, HAZMAT). 
     As indicated above, the CCAMA  108  may validate the accuracy and currency of the condition. Thus, at step  314 , the CCAMA  108  validates the accuracy or currency of the information elements in response to a validation request via the field  716  of  FIG. 7 . 
     At step  316 , the CCAMA  108  transmits the condition alert to the destination address(es). 
     In situations where the centralized condition alert management system  100  services a wide geographic region, it is likely that several concurrent conditions may be reported. The CCAMA  108  may be configured to process condition reports (i.e., information elements) from multiple sources (e.g., the communications devices  104 A- 104 C), as well as for multiple varying conditions. In this scenario, the CCAMA  108  creates multiple composite files for each of the conditions reported. The CCAMA  108  may prioritize the composite files according to a severity level determined for each of the conditions. For example, suppose that a pothole, barn file, and chemical spill have all been simultaneously reported. The CCAMA  108  may assign a severity rating (also referred to herein as priority value) to each of the composite files, such that condition alerts are processed and transmitted to various entities or agencies based upon the severity rating. In this example, the CCAMA  108  may apply rules to the condition information elements and determine a severity rating of 90/100 for the chemical spill based upon the type of material leaked, considered with factors such as the general population of the area in which the condition has occurred. Likewise, a barn fire in a remote area may be ranked at 50/100, while the pothole located on a secondary road and having relatively small dimensions may be ranked as a 10/100. The CCAMA  108  may be configured to process condition alerts for composite files with a severity ranking that exceeds a pre-defined threshold. Sample rules for processing composite files are shown in the rules database  600 D of  FIG. 6  as rules  616 . 
     Turning now to  FIG. 8 , a flow diagram describing a process for implementing proximity-based condition alerts will now be described in exemplary embodiments. As indicated above, a user of a communications device (e.g., device  104 A) may generate a condition alert and disseminate the condition alert to any communications devices, such as the communications devices  104 B- 104 C discovered to be in network communication with the communications device  104 A. At step  802 , the user collects information elements via the communications device  104 A and condition alert application  110 . As described above, the information elements may be automatically collected via the sensors  210  or range-finder component  212  of the communications device  104 A by selecting this option  516  from the user interface screen  500  of  FIG. 5 . Alternatively, the information elements may be manually entered as described above in  FIGS. 3 and 5 . The information elements may include one or more media files as described above in  FIGS. 3 and 5 . At step  804 , the condition alert application  110  creates a condition file that includes the information elements and the condition file identifier  702  (shown in  FIG. 7 ). The condition file identifier  702  identifies the condition file and optionally, the source of the condition file. At step  806 , the condition alert application  110  determines a destination address for distributing the condition file. As indicated above, the communications device  104 A may be configured to discover other communications devices (e.g., devices  104 B,  104 C), using the communications component  206  over a peer-to-peer network, such as the network  106 . As shown in the user interface screen  500  of  FIG. 5 , the user may select an option  520 , which causes the condition alert application  110  to begin searching for a peer communications device. At step  808 , a condition alert (e.g., the condition alert  700 ) is generated and transmitted to the destination address. The condition alert  700  includes the information in the condition file. 
     As described above, the exemplary embodiments can be in the form of computer-implemented processes and apparatuses for practicing those processes. The exemplary embodiments can also be in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the exemplary embodiments. The exemplary embodiments can also be in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into an executed by a computer, the computer becomes an apparatus for practicing the exemplary embodiments. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits. 
     While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed for carrying out this invention, but that the invention will include all embodiments falling within the scope of the claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another. Furthermore, the use of the terms a, an, etc. do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item.