Insurance providers generally monitor and track risk events such as hurricanes, earthquakes, tornadoes, wildfires, riots, unrest, hail events, volcanic eruptions, etc. that impact their products (e.g., insurance policies). A system of monitoring events that affect the state of a set of insurance policies may include an application that provides mapping of risk event related data based on information collected from multiple sources. Thus, for example, where a tornado is occurring or has occurred, data on the tornado event may be mapped to a geographic area. In this manner, an insurance provider or other interested party may be able to visualize and gauge its risk exposure via a map. Such a system may be called a mapping system or an impact-on-demand system.
A data collection and data management component may be implemented to manage data upon which the impact-on-demand system operates. For example, a worthwhile feature of such an event/risk mapping system may be the ability to accumulate and incorporate new data relating to the event from multiple sources in an efficient manner to enable basic mapping features such as on-demand report generation. However, managing the received data from multiple disparate sources having different formats can be difficult. Moreover, creating certain views based on dynamic data acquisition may require ad-hoc or on-the-fly re-organization of data. Further, in a system in which available data combinations are changing, an efficient process may be needed to recognize when certain fields or combinations of fields are available so that further data manipulation can be more efficient.
Embodiments of a system for delivering source data to a destination system (an impact-on-demand or mapping system) include a dynamic data delivery module stored on a non-transitory, tangible computer storage medium, a link that communicatively connects the dynamic data delivery module to the mapping system, and a data storage entity storing one or more rules corresponding to the mapping system. The dynamic data delivery module may be configured to automatically transform the source data from a first format into a second format, where the second format is compatible with the mapping system. The dynamic data delivery module may be further configured to perform a validation of at least a portion of the source data based on at least one of the rules corresponding to the mapping system, and to cause the transformed, validated source data to be delivered, via the link, to the mapping system to be stored in a client portfolio. The mapping system may be configured to receive the transformed, validated source data from the dynamic data delivery module, store the data in a client portfolio, and geographically map contents of the client portfolio and impact events to determine risk exposure.
Embodiments of a method of delivering source data to an impact-on-demand or mapping system include receiving, from the mapping system, one or more rules corresponding to one or more client portfolios stored at the mapping system. The method may also include automatically transforming, based on at least one of the rules, client-indicated source data from a first format into a second format. The method may additionally include performing a validation of at least a portion of the source data in the first format or in the second format, and causing the transformed, validated source data to be delivered to the mapping system for mapping with one or more impact events for risk exposure analysis or for other mapping system functionality. Outputs of the mapping system that are based on the transformed, validated source data may be displayed at a local or remote user interface in real-time.
Embodiments of a system for delivering source data to an impact-on-demand or mapping system may include a dynamic data delivery module. The dynamic data delivery module may have a first communicative connection to a user interface and a second communicative connection to the impact-on-demand or mapping system. The mapping system may be configured to receive the source data from the dynamic data delivery module and to geographically map contents of the source data and impact events to determine risk exposure. The dynamic data delivery module may be configured to be executed by a processor to receive an indication of a user selection of source data in a first format, transform the source data in the first format into a second format compatible with the mapping system, and perform a validation of at least a portion of the source data in the first format or in the second format. The dynamic data delivery module may further be configured to cause the transformed, validated source data to be delivered to the mapping system to be stored in a client portfolio. The mapping system may perform mapping functionality on the source data and one or more impact events, and may return an output to the dynamic data delivery module for display on the user interface, in an embodiment. When the output is generated per a user request, the output may be generated by the mapping system and returned to the dynamic data delivery module in real-time.
Embodiments of a system for securely delivering source data to a destination system over a network include, a data manager system operatively connected to the network, where the data manager system includes circuitry configured to receive a public key from the destination system, generate a random session key, encrypt the session key with the public key using a public key cryptosystem, divide the source data into a number of chunks, compress each of the chunks, merge all of the compressed chunks into an assembled file, encrypt the assembled file with the session key using a symmetric-key cryptosystem, divide the encrypted assembled file into a number of parts, send each of the parts to the destination system over the network, and send the encrypted session key to the destination system over the network.
Although the following text sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the description is defined by the words of the claims set forth at the end of this patent and equivalents. The detailed description is to be construed as exemplary only and does not describe every possible embodiment since describing every possible embodiment would be impractical. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.
It should also be understood that, unless a term is expressly defined in this patent using the sentence “As used herein, the term ‘______’ is hereby defined to mean . . . ” or a similar sentence, there is no intent to limit the meaning of that term, either expressly or by implication, beyond its plain or ordinary meaning, and such term should not be interpreted to be limited in scope based on any statement made in any section of this patent (other than the language of the claims). To the extent that any term recited in the claims at the end of this patent is referred to in this patent in a manner consistent with a single meaning, that is done for sake of clarity only so as to not confuse the reader, and it is not intended that such claim term be limited, by implication or otherwise, to that single meaning. Finally, unless a claim element is defined by reciting the word “means” and a function without the recital of any structure, it is not intended that the scope of any claim element be interpreted based on the application of 35 U.S.C. § 112, sixth paragraph.
An impact-on-demand system (also referred to interchangeably herein as a “mapping system,” an “exposure system,” or a “risk management system”) generally maps parameters of an impact event to a particular location or geographical area and provides an indication of risk exposure for the particular location or geographical area. Typically, but not necessarily, the risk exposure may be indicated using a map, a chart, a report or other suitable indication. An “impact event” may be any catastrophic event. For example, an impact event may be a weather-related event such as a storm, hurricane, earthquake, tornado, hail storm, volcanic eruption, etc. An impact event may be a natural or man-made disaster such as a wildfire or a flood caused by a dam break. In some situations, an impact event may be societal in nature, such as a riot, terrorism act, or civil unrest. Generally, an impact event may be any risk event that has an ability to impact or affect a physical or geographical area, and, as such, may have an ability to impact or affect real property and/or other insurable or insured properties of interest situated in or around the physical or geographical area.
A client, user or other interested party of the impact-on-demand or mapping system may create or define one or more client portfolios that indicate specific physical or geographical areas of particular interest to the client. In some instances, client portfolios may include indications of real property or other insurable or insured properties of interest to the client where the property is located in, on or by the specific physical or geographical areas (e.g., buildings, factories, farm land, waterways, forests, or other tangible fixed or natural capital). The impact-on-demand or mapping system may provide, as at least a portion of its output, an indication of existing and/or predicted risk to one or more client portfolios as related to one or more impact events. In an example, the impact-on-demand or mapping system may provide a visual map that tracks the impact event over time with respect to a particular client portfolio, and/or the impact-on-demand or mapping system may provide on-demand reports corresponding to the impact event and the client portfolio. Reports may include, for example, predicted or estimated loss, damage, replacement costs, and the like. In some embodiments, output of the impact-on-demand system may be provided to the user on request. In some embodiments, upon user request, the output of the impact-on-demand system may be provided to the user in real-time.
As such, a client, user or other interested party may utilize the impact-on-demand or mapping system to better assess the risk of the one or more impact events for risk management or other purposes. The terms “client,” “user” and “interested party” of the impact-on-demand or mapping system are used interchangeably herein to refer to a receiver of information (e.g., maps, reports, and other information) that is provided by the impact-on-demand or mapping system. The client may be a computing device, or the client may be a human user of a computing device. In some scenarios, a human client (or the company or organization with which the human client is associated) may have a business relationship with the provider of the impact-on-demand or mapping system, although this is not necessary. In one non-limiting example, a client may be a primary insurance company or a department of an insurance company such as management, product management group, claims department, underwriting department, etc. In another example, the client may be a government disaster or emergency response organization. Other examples of clients that have business or working relationships with the provider of the impact-on-demand system may be possible.
The techniques described herein include systems and methods of managing, organizing and delivering source data from a client to enable the impact-on-demand system to generate various different risk mapping functionalities and efficiencies. In an embodiment, the source data may be delivered from a client for inclusion in a client portfolio that is stored at the impact-on-demand or mapping system. The term “source data,” as used herein, generally refers to data of interest to the client that is provided to the mapping or impact-on-demand system for generating its output, e.g., maps, reports, risk management assessments, and the like. For example, the source data may include data pertaining to real property or other insurable or insured properties of interest to the client that are located in, on or by the specific physical or geographical areas (e.g., buildings, factories, farm land, waterways, forests, or other tangible fixed or natural capital). Typically, but not necessarily, the source data may include an indication of a geographical location corresponding to the property of interest to the client.
The source data for delivery to the impact-on-demand system may be indicated by the client, and may be obtained from a data file. Alternatively or additionally, the source data may be provided by the client via direct input. In some scenarios, at least some of the source data may include data that is provided by a party other than the client (such as a database or file that is generated by a third-party). In some scenarios, at least a portion of the source data may include existing client portfolio data (e.g., data that has been previously incorporated into a client portfolio), such as when the client desires to modify existing client portfolio data. The source data may be entered or provided by a client of the impact-on-demand or mapping system at an impact data manager (also referred to herein interchangeably as an “impact data manager system”).
Generally, the techniques described herein may be implemented by an impact data manager in communicative connection with the impact-on-demand or mapping system. As such, the impact data manager may be considered to be a “front-end component,” and the mapping system may be considered to be a “back-end component.” In some embodiments, more than one impact data manager may be in communicative connection with the impact-on-demand or mapping system, such as in scenarios where multiple clients use the impact-on-demand system and each impact data manager services a different client.
In some embodiments, the impact data manager 5 may include a dynamic data delivery module 12 that is accessible to a user via a user interface 15, and that is configured to dynamically deliver source data to the mapping system 10. In an embodiment, the system 5 may reside on one or more computing devices whose user interface 15 is directly utilized by a user (e.g., via a keyboard, mouse, screen, voice commands, etc.).
In another embodiment, the impact data manager system 5 may be remotely situated from the user and may reside on one or more remote computing devices, servers, cloud computing devices, etc. In this embodiment, the system 5 may be accessible to the user via a user interface 15 of a device that is directly and locally accessible to the user (e.g., a laptop, desktop, wireless device, smart device, etc.) and that is in communicative connection with the system 5.
In some embodiments, the user interface 15 may be provided by via a rich client (e.g., an executable program) that communicates through a network (not shown) with the impact data manager system 5. The rich client, in some embodiments, is an application executable by an Internet browser application. In some examples, the rich client may be a runtime executable application or applet configured to coordinate transfer of information between the client computing system and the impact data manager system 5 via an Internet browser application. In another example, the rich client may be an installed application configured to present a user interface to a user for coordinating transfer of information between the client computing system and the impact data manager system 5.
The rich client, in some embodiments, enforces security rules. In a first example, the rich client may be configured to coordinate authentication with a user account with the impact data manager system 5. In another example, the rich client may be configured to confirm that a user having a user account with the impact data manager system 5 has authorization to upload data to the impact data manager system 5. In a particular example, certain users may have a user level associated with viewing information provided by the impact data manager system 5 but not for uploading data to the data manager system 5 for analysis and generation of the information.
In some embodiments, the rich client enforces secure data transfer rules and/or processes for transmission of data to the impact data manager system 5. For example, the rich client may set secure transmission settings of the Internet browser application. In another example, the rich client may follow a security process or protocol design to affect secure transfer. The security process or protocol may involve coordinated encryption of the information, where encryption keys are shared between the rich client and the impact data manager system 5. The security process or protocol, for example, may include the process 500 described in relation to
In some embodiments, the rich client provides an interactive display for identifying data formatting within a source data file. In one illustration, the rich client may allow the user to select a third party driver to translate data stored in an unrecognized format. For example, the user may be provided the opportunity to browse to and select driver to translate from a particular database file type (e.g., Informix RDBMS by IBM Corporation of Armonk, N.Y. or Oracle RDBMS by Oracle Corporation of Santa Clara, Calif.). Format identification, for example, may be entered via a user interface similar to the screen 314 shown in
In another example, the rich client may automatically identify data types captured in rows of a data file, present the automatically detected data types to the user, and allow the user to correct an inaccurate data type (e.g., an integer should be identified as long integer).
In some embodiments, the rich client may allow the user to select particular columns of a data file for transmission to the impact data manager system 5. For example, certain columns within an internal data file may include sensitive data (e.g., account numbers, social security numbers, etc.) not useful to the impact data manager system 5. The user may be provided the opportunity to deselect one or more data columns for transmission to protect this sensitive data. For example, as illustrated in
In some implementations, the rich client may provide the user with the opportunity to store the data formatting for future identification. For example, the rich client may upload the data format information to the impact data manager system 5 for storage in user account information. Upon a subsequent upload by the user, the user may select a data file and the stored data formatting. The rich client may retrieve the data formatting from the impact data manager system 5 and validate that the contents of the file match the stored data formatting (e.g., same number of columns, columns identified as numbers don't contain strings, etc.). The data formatting, in some embodiments, includes instruction to deselect certain column(s) prior to transmission. Turning to
In some embodiments, the rich client provides the user with an interactive interface for combining contents of two or more columns into a single data column (e.g., new data type). In a particular example, the user may select to combine a street address column, a city column, a state column, and a zip code column as a single address data type. The interactive interface, in a further example, may allow the user to enter formatting details for formatting the combined information. For example, when combining fields to obtain a street address, the user may enter that a comma should be placed after the city name and two spaces placed between the state name and the zip code.
Turning to
Upon completion of the custom column, in some implementations, the user stores the custom column to the destination mapping. For example, as illustrated in
As illustrated in
The mapping system 10 back-end may include a mapping system data storage entity 20 that is accessible to one or more computing devices 22. The mapping system data storage entity 20 may store one or more client portfolios P1-Pn. Each of the client portfolios may indicate a set of properties or geographical locations that are of interest to a client for mapping purposes. For example, a client portfolio may indicate a set of insured real properties in a specific geographical area. In an embodiment, a client portfolio may include any data that may be visualized on a map including, but not limited to data corresponding to weather patterns, terror targets, offshore oil platforms, sinkhole locations, fire stations, migrations of crowds of people (e.g., during rallies, protests, etc.), and other data. Generally, contents of each client portfolio P1-Pn may be defined by a client. The mapping system data storage entity 20 may store multiple portfolios corresponding to one or more clients, in an embodiment.
Although the embodiment shown in
Returning to the impact data manager 5 at the front-end, the dynamic data delivery module 12 may include a set of computer-executable instructions stored on one or more non-transitory, tangible computer-storage media such as a non-transitory memory storage device. The computer-executable instructions may be executable by one or more processors. The one or more processors and the one or more computer-storage media on which the dynamic data delivery module 12 is stored may or may not reside in a same physical computing device. In a non-limiting embodiment, the one or more processors may be included in a first set of computing devices, and the one or more computer-storage media may be included in a second set of computing devices. Generally, the computer-executable instructions of the dynamic data delivery module 12, when executed by one or more processors, may allow for dynamic selection, preparation and upload of source data for inclusion in a client portfolio stored at the mapping system 10. Additionally, the computer-executed instructions of the dynamic data delivery module 12, when executed by the one or more processors, may allow for a user to interface with the impact data manager 5 during the dynamic preparation and upload of the source data.
In some embodiments, the dynamic data delivery module 12 may be communicatively connected with one or more other modules included in the impact data manager 5. For example, the dynamic data delivery module 12 may be coupled to an intelligence cube module 26 for remotely generating dynamic intelligence cubes from the mapping system 10, such as described in U.S. patent application Ser. No. 13/493,100 entitled “Impact Data Manager for Generating Dynamic Intelligence Cubes” and filed Jun. 11, 2012, the entire disclosure of which is hereby incorporated by reference. The generated intelligence cubes may be used in excising information from one or more client portfolios P1-Pn for use in reports and other intelligence tools. Similar to the dynamic data delivery module 12, the intelligence cube module 26 and/or any other modules may each be communicatively connected to the user interface 15 and to a data storage entity 30 of the impact data manager system 5.
The dynamic data module 12 may automatically transform, convert or map, based on one or more rules corresponding to the mapping system 10, client-indicated source data from at least one first format into a second format, where the second format is compatible with the mapping system 10. In an embodiment, the client-indicated source data may correspond to a set of insured or insurable properties and/or to a set of tangible resources or capital. The source data may include indications of one or more physical or geographical locations, such as indications of geographical areas or locations of real properties. The indications of the one or more physical or geographical locations may include indications of geo-spatial coordinates, such as latitude, longitude and/or altitude, in an embodiment. The location indications may include at least a portion of a mailing or postal address (e.g., IS03 Country, Street Address, City, State, Postal Code, etc.), in an embodiment. In another embodiment, the location indications may include satellite navigation coordinates or ranges thereof such as GPS (Global Positioning System) coordinates, or coordinates of other satellite navigation systems (e.g., GLONASS (Russian Global Navigation Satellite System, European Union Galileo positioning system, Chinese Compass navigation system, Indian Regional Navigational Satellite System, etc.). The source data may additionally or alternatively include location indications using other data types, including but not limited to numeric, text, date, Boolean, user-defined data types, and other data types.
The source data may be client-generated or client-collected. For example, the client may populate at least a portion of a data file to include in the source data that is to be uploaded or delivered from the impact data manager system 5 to the mapping system 10. In some instances, some portion of the source data may be collected or obtained from a third party. For example, the client may retrieve geospatial coordinates from another database or application to include in a source data file for upload or delivery to the mapping system 10.
The first format or original format of the source data may be any format in which data may be stored or represented, including but not limited to plain text, delimited text, fixed length fields, databank format, dif format, and the like. In some embodiments, the first format may be a database format compatible with a commercial or industry standard format, for example Microsoft® Access, Microsoft Excel, dBASE™, SQL (Standard Query Language), and/or any other database format. The source data may include data of more than one format, for example, when the client collects or enters the source data from various different sources or files.
The dynamic data delivery module 12 may perform a validation or verification on the source data prior to delivering the source data to the mapping system 10. The validation or verification may be based on one or more rules 28a corresponding to the mapping system 10. The rules 28a may indicate a set of characteristics, limits and/or boundary conditions of data fields and/or contents of data fields corresponding to the second format or target format, so that data in the second format will be understood by or will be compatible with the mapping system 10 for storage in a portfolio. As such, the set of rules 28a may be referred to interchangeably herein as a set of “portfolio rules,” “mapping rules,” or “mapping system rules.”
The set of rules 28a may originate at the mapping system 10 (e.g., at the mapping system data storage entity 20), and in some embodiments, the set of rules 28b may be stored as a “master copy” at the mapping system 10. The mapping system 10 may deliver a copy 28a of at least a portion of the rules 28b to the impact data manager 5 via the links 18a, 18b. For example, a copy 28a of at least some of the rules 28b may be downloaded or delivered by a suitable transfer mechanism, either automatically and/or per user request. In an embodiment, the mapping system 10 may deliver the copy of set of rules 28a (or may deliver an update to the set of rules 28a) in response to a request of the dynamic data delivery module 12. The copy of set of rules 28a may be locally stored at the impact data manager system 5 in a local data storage entity 30, so that the dynamic data delivery module 12 may access the rules 28a to perform transformation, validation and/or verification of the source data, or other tasks.
In an embodiment, the dynamic data delivery module 12 may perform the validation of the source data based on both the set of rules 28a and based on user input. For example, the user may elect a tighter boundary than allowed by the rules 28a, or the user may modify or make one or more exceptions to the rules 28a. In another example, the user may define an additional rule to use during the transformation, validation and/or verification processes. A copy of a basic set of rules, for example, may be provided to the user for including additional limitations. In some implementations, the user is restricted from deleting one or more rules and/or broadening (e.g., loosening) one or more rules. For example, the mapping system may require certain numerical information to have at least a minimum granularity such that a rule requiring a certain mathematical granularity will be enforced.
In an embodiment, the validation process may determine whether or not the data fields of the source data and the contents therein are compatible with the second format or are able to be transformed or to be converted to be compatible with the second format. For example, if the presence of a particular data field is required in the second format so that the mapping system 10 may perform its functions, the validation process may determine whether or not the particular data field is present in the source data. In another example, if a data field in the second or target format requires a particular length or syntax, the validation process may determine whether or not the corresponding data field of the source data in the first or original format is able to be so transformed or converted.
In an embodiment, the validation process may include a numerical value validation, e.g., an evaluation of whether or not a value included in the source data falls within an expected range. Additionally or alternatively, the validation process may include a control total validation to crosscheck values and totals across various dimensions of the source data (e.g., columns and rows, subsets, categories, and the like). Further, the validation process may include a geographical location validation, such as a validation of a longitude/latitude pair, a mailing address, or some other geographical location validation. For example, portions of a mailing address may be validated for cohesiveness, e.g., does the ZIP code correspond to the state, is the house or building number valid for the street, etc.
In an embodiment, during the validation process, the dynamic data delivery module 12 may determine an anomaly, inconsistency, or incompatibility. For example, the dynamic data delivery module 12 may determine a presence of an anomaly in a particular data field, such as when the particular data field is a keyed field or includes a reference that cannot be resolved at the mapping system 10. In another example, the dynamic data delivery module 12 may determine a discrepancy between the contents of two fields, such as a ZIP code that does not correspond to the indicated state. In yet another example, the dynamic data delivery module 12 may determine a numerical anomaly, such as a policy expiration date occurring before a policy inception date. In still yet another example, the dynamic data delivery module 12 may determine a field property anomaly, such as when the target format requires (for a particular data field) at least a field length of X and the original format uses a field length of Y, where Y is less than X. Other types of anomalies or discrepancies may be possible.
In an embodiment, the dynamic data delivery module 12 may automatically notify the user of any discrepancies or anomalies. In an embodiment, the dynamic data delivery module 12 may take corrective action or automatically adjust the source data to resolve the anomaly or inconsistency. For example, the dynamic data delivery module 12 may bring the anomaly to the user's attention via the user interface 15 and await a user response (e.g., “Keyed Field Detected in Input Data; Please Correct”) without taking any corrective action. In some scenarios, the dynamic data delivery module 12 may provide a suggested corrective action along with the notification, and may await an indication of an approval from the user. In some embodiments, the dynamic data delivery module 12 may automatically perform corrections or adjustments without any user notification or input (e.g., synchronizing source data currency values that are represented by “int” data types and source data currency values that are represented by “char” data types into a common “money” data type, extending a field length, changing a field name from “Policy ID” to “Policy Number,” etc.).
In some scenarios, the transformation or conversion from the first format to the second format may be a direct, rote translation from one exact format to another exact format. However, the techniques described herein are not so limited. In some embodiments, a source data file may include multiple different source data formats (e.g., multiple different “first formats”), and a single transformation of the source data file by the dynamic data delivery module 12 may convert data of multiple different source data formats included in the source data file to fit within the boundaries of the second format. As such, the rules 28a corresponding to the second or target format need not conform to a rigid syntax, but may be sufficiently flexible to accommodate the distinguishing characteristics of each different original source data format. Accordingly, multiple direct, rote translations need not be performed, and a client may easily upload source data from multiple different sources and formats to be processed by the mapping system 10 in a single transformation and validation process. In one particular example, dates may be recognized as having a number of different formats within a same source data file (e.g., DD-MM-YY, DD-MM-YYYY, DD-Month-YY, etc.), and upon identification of a “date” the format may be transformed into a single standardized format. Similarly, in another example, state names (e.g., Vermont vs. VT) may be recognized and transformed to a standard format. In some implementations, file metadata may be reviewed to determine formatting. For example, an Excel spreadsheet may include metadata regarding formatting of columns, rows, and individual fields.
In some implementations, the transformation or conversion from the first format to the second format involves determining a second data format that minimizes (reduces) storage space of the information. The second data format, for example, may be selected in part as being sufficiently precise to be compatible with the mapping system 10. For example, numerical values provided in one or more data fields in a first format may be rounded such that the number of decimal points stored is reduced. In another example, data which is not necessary to the mapping system and which may be regenerated later may be expunged. In a particular example, a state may be derived from a zip code such that only the zip code would need to be stored.
Once the source data has been validated or verified, in an embodiment, the dynamic data delivery module 12 may encrypt and/or compress the source data to further prepare the source data for delivery. Encryption and compression may be selectable, in an embodiment. The dynamic data delivery module 12 may cause the source data (whether encrypted or non-encrypted, and/or compressed or non-compressed) to be delivered to the mapping system 10 via the link 18a. In an embodiment, the source data may be delivered to the mapping system 10 via a proprietary delivery system. In an embodiment, direct uploading or delivery of source data to the mapping system 10 using the impact data manager 5 may be an automated process that uploads or delivers data on-demand from multiple sources for use with the mapping system 10.
The mapping system 10 may receive the source data from the impact data manager 5, and may store the source data in an indicated client portfolio. In an embodiment, the mapping system 10 may perform control total validation on the received source data, and may provide results of the control total validation to the impact data manager 5 for a user to accept or decline. If the user accepts the control total validation, the source data received at the mapping system 10 may be published, and if the user declines the control total validation, the source data received at the mapping system 10 may be removed or deleted from the system 10. The mapping system 10 may perform one or more mapping functions on published data included in the client portfolio and one or more impact events.
Thus, as discussed above, the dynamic data delivery module 12 of the impact data manager 5 may automatically transform the source data from one or more original or first formats into a target or second format, where the second format comports with the requirements and boundaries of the mapping system 10. As such, the second format may enable functionality of the impact-on-demand system mapping system 10, and the dynamic data delivery module 12 may manipulate source data to fit the second format. The validity and format of the transformed, validated source data allows the mapping system 10 to perform mapping functionality in real-time, without being hindered by data incompatibilities and other anomalies or errors.
Some of the data fields of the second format may be designated as fields that are required at the mapping system 10 in order for the mapping system 10 to enable minimum functionality. Other required or recommended fields may be additionally or alternatively designated to enable full functionality in the mapping system 10. In embodiments where a mapping system 10 is flexible to allow for additional fields, all additional fields from a source dataset may be transformed into the second format for delivery to the mapping system 10. For the transformation of any additional fields, an intuitive naming standard for the additional fields may be used.
In an embodiment, to ensure base functionality of the impact-on-demand mapping system 10, a set of data fields may be designated as being required. That is, any source data that is transformed into the second format may be required to include at least the set of required data fields. Typically, the set of required data fields may indicate a physical, geographical or geo-spatial location to support Geo-Coding (in which geo-spatial data such as longitude and latitude are tagged to the raw source data).
A first example set of required data fields is listed below. The first example set below corresponds to mailing or postal addresses of target locations.
First Example Set of Required Data Fields (Address-Based)
Street Number—the Street Number data field may be populated with an indication of the street number corresponding to a location at which a risk is located. Special characters (i.e. #, /, &, *, etc.) may be extracted or eliminated from this field during the automatic transformation process, as well as any unnecessary information such as driving directions or insured names.
Street Name—the Street Name data field may be populated with an indication of the street name corresponding to a location at which a risk is located. Special characters (i.e. #, /, *, etc.) may be extracted or eliminated from this field during the automatic transformation process, as well as any unnecessary information such as driving directions or insured names.
Street Address—the Street Address data field may be populated with an indication of the street number and street name corresponding to a location at which a risk is located. Special characters (i.e. #, /, &, *, etc.) may be extracted or eliminated from this field during the automatic transformation process, as well as any unnecessary information such as driving directions or insured names. In some embodiments, if the Street Address field is included in the set of required data fields, the Street Name and Street Number fields may be eliminated from the required data set.
City—the City data field may be populated with an indication of the city in which the risk is located.
2-Digit State Abbreviation (ISO State Code/Abbreviation)—the International Organization for Standardization (ISO) for State Code/Abbreviation data field may be populated with an indication of the code or abbreviation corresponding to the location of the risk.
ZIP Code (9- or 5-digit) or Postal Code—In an embodiment, the ZIP Code data field may be populated with an indication of a 9-digit or 5-digit ZIP Code corresponding to the location of the risk. In another embodiment, the Postal Code data field may be more broadly populated with a variety of postal code formats encompassing multiple nations. In an embodiment, all risks included in the source data must have at least a valid 5-digit ZIP Code. The ZIP Code field may be verified as to whether or not the ZIP code is valid within the state indicated by the ISO State Code/Abbreviation data field. In another embodiment, the field may be populated with an international Postal Code that corresponds to the country or area.
County Name—the County Name data field may be populated with an indication of the county in which the risk is located. The indication of the county may correspond to a FIPS (Federal Information Processing Standard) county code or may be an alphanumeric county name. In some embodiment, a County Name is not required.
Of course, the first example required data set is not limited to only the above fields. In other embodiments, one or more other data fields may be added to or deleted from the first example set.
In some embodiments, instead of the set of required data fields being defined based on a mailing or postal address as discussed above, the set of required data fields may be based instead on other types of location or geographical identifiers, e.g., latitude/longitude pairs, GPS coordinates, or other suitable location identifiers. For example, a required set of data fields to support base functionality of the mapping system 10 may use geo-coding. In an embodiment, the dynamic data delivery module 12 may default to producing geo-coded fields during the automatic transformation of the source data into the second format. The geo-coded fields may be populated with data from the source data and/or from another source. Some of the geo-coded fields may be automatically populated by the impact data manager 5, in some scenarios. Thus, in an embodiment, if the source data in the first format includes pre-populated geo-coded fields, the impact data manager 5 may directly utilize the pre-populated geo-coded fields of the first format in the second format. In scenarios where one or more required geo-coded fields are not provided in the first format (e.g., when the source data includes postal addresses), the impact data manager 5 may automatically transform the source data into the desired geo-coded fields.
An example set of required data fields using geo-coding is listed below.
Second Example Set of Required Data Fields (Geo-Coding)
Latitude—the Latitude data field may be populated with an indication of a latitude value corresponding to the risk.
Longitude—the Longitude data field may be populated with an indication of a longitude value corresponding to the risk.
In some embodiments, other geo-coding fields may be included in the set of required data fields, e.g., “Altitude” or “Depth.”
While the above described fields may be required to support a minimal mapping functionality of the mapping system 10, in some embodiments, one or more additional fields may be included in the transformed source data to enable additional functionality of the mapping system 10. For example, if the client includes additional data in the original source data beyond any required data, the impact data manager 5 may be configured, in an embodiment, to automatically determine the inclusion of the additional data and to automatically transform the additional data of the first format to be compatible with the second format.
The additional data fields may be used by the mapping system 10 for “look-ahead” technology or features, in an embodiment. For example, the mapping system 10 may analyze data fields and, based on the analysis, may dynamically make changes to the functionality and/or display choices available to the user. As such, if certain data exists within the data set, the mapping system 10 may cause extra “look ahead” functionality to be presented or executed. Examples of look-ahead features may include (but are not limited to) geo-coding (e.g., when the required data fields are addressed-based), thematic shading (e.g., geographical shading on a map based on county or other location), quick exposure calculations (e.g., detailed calculation of exposed limits for included data), risk analysis, single risk modeling, and the like.
In some embodiments, to support desired look-ahead features, the dynamic data delivery module 12 may determine if certain additional information needs to be included in the transformed source data, whether or not the additional information has been included by the client in the original source data. In these embodiments, the dynamic data delivery module 12 may automatically provide or enable extra menus, features, fields and calculations to generate populated data fields of the second format.
Examples of possible additional data fields are described below. For ease of reading, the example additional data fields are grouped into categories, but any number of additional data fields of zero, one, or more categories may be included in the automatic transformation performed by the dynamic data delivery module.
Examples of Optional Additional Data Fields:
Policy Terms
Policy Number—the Policy Number data field may be populated with an indication of an insurance policy identification (e.g., a number, an alphanumeric code, or similar). The Policy Number data field may be needed to identify multi-location policies, to generate policy averages and to calculate losses to individual policies that cover multiple locations. For a single location policy, the Policy Number data field may be populated as a unique number or identifier. For a multi-location policy, the Policy Number data field may be populated with a same number or identifier for all locations under the multi-location policy.
Policy Name—the Policy Name data field may be populated with an indication of a name associated with a policy.
Policy Premium—the Policy Premium data field may be populated with an indication of a direct written premium for policies in force as of the date of the source data or as of an indicated date.
Policy Limit—the Policy Limit data field may be populated with an indication of a policy limit for policies in force as of the date of the source data or as of an indicated date.
Line of Business—the Line of Business data field may be populated with a code indicating a particular line of business. Examples of Lines of Business may include commercial fire (including, in some instances, commercial extended coverage), dwelling fire (including, in some instances, personal extended coverage), homeowners, contents-only homeowners, mobile homeowners, commercial multi-peril, commercial inland marine, commercial auto, personal auto, farm owners, and other lines of businesses. The set of codes corresponding to lines of businesses may be programmable based on client.
Policy Inception Date—the Policy Inception Date data field may be populated with an indication of the effective date of policy coverage.
Policy Expiration Date—the Policy Expiration Date data field may be populated with an indication of the date on which coverage is set to expire unless renewed.
Risk Characteristics/Location Details
Square Footage—the Square Footage data field may be populated with an indication of the total square footage corresponding to real property associated with the risk. In an embodiment, the Square Footage data field may be populated with an indication of a value based on a personal lines policy.
Construction Class—the Construction Class data field may be populated with an indication of one or more structural properties corresponding to the risk.
Occupancy Type—the Occupancy Type data field may be populated with an indication of the general occupancy of the risk.
Year Built—the Year Built data field may be populated with an indication of the year of construction corresponding to the risk.
Number of Stories—the Number of Stories data field may be populated with a number of stories of a structure corresponding to the risk.
Number of Buildings (Risk Count)—if the source data is aggregated, the Number of Buildings data field may indicate a number of risks included in the aggregation. For policies corresponding to multiple buildings, the Number of Buildings data field may be populated with an indication of the number of building structures covered by the policies.
Peril Endorsements
Wind Endorsed—the Wind Endorsed data field may be populated with an indication of whether or not a policy is covered for windstorm loss. In an embodiment, a “Y” in this field may indicate the policy is covered for losses due to wind, while an “N” in this field may indicate no wind coverage.
Earthquake Endorsed—the Earthquake Endorsed data field may indicate whether or not a policy is endorsed with earthquake coverage. In an embodiment, a “Y” in this field may indicate the policy is covered for losses due to earthquake, while an “N” in this field may indicate no earthquake coverage.
Tornado and Hail Endorsed—the Tornado and Hail Endorsed data field may indicate whether or not a policy is endorsed with tornado and hail coverage. In an embodiment, a “Y” in this field may indicate the risk is covered for losses due to tornado hail, while an “N” may indicate no tornado hail coverage.
Wildfire Endorsed—the Wildfire Endorsed data field may indicate whether or not a policy is endorsed with wildfire coverage. In an embodiment, a “Y” in this field may indicate the risk is covered for losses due to wildfire, while an “N” may indicate no wildfire coverage.
Data fields that represent other peril endorsements may be included as additional or alternative data fields. For example, other peril endorsements may include Flood, Worker Compensation, Terrorism, Winter Storm, and other perils.
Multi-Peril Capabilities
The mapping system 10 may be capable of receiving a source data file for two or more perils (e.g., one import file for more than one peril). Thus, site, coverage and other multi-peril capability values may be included for perils that are applicable to the source data. Each multi-peril capability data field may be respectively applied to each different peril, hence the descriptions of the capabilities herein do not refer to a specific peril. Examples of capabilities may include zero, one, or more of the following data fields:
Total Insured Value:
TIV (Total Insured Value)—the Total Insured Value data field may be populated with an indication of a total insured value of the location. For peril specific TIV values, an alphanumeric peril abbreviation may be added followed by an underscore before TIV (for example: HU_TIV for a Hurricane peril, EQ_TIV for an Earthquake peril, TH_TIV for a Tornado Hail peril, etc.).
Location Details—Multi-Location Policies:
Location Name—The Location Name data field may be populated with an indication of a name or other identification of an individual location of a multi-location policy.
Location Number—the Location Number data field may be populated with an indication of a number to identify an individual location of a multi-location policy.
Location Premium—the Location Premium data field may be populated with an indication of a premium value of a location included in a multi-location policy.
Location Limit—the Location Limit data field may be populated with an indication of a limit value of a location included in a multi-location policy.
Layer Details:—the Layer Details data field(s) may include an attachment point of the policy, policy limit and layer amount.
Layer Limit—the Layer Limit data field may be populated with an indication of a layer limit. The value of the layer limit may be used by the mapping system 10, for example, in a capped limit calculation.
Attachment Point—the Attachment Point data field may be populated with an indication of the attachment point for the layer. The attachment point may be used by the mapping system 10, for example, in a capped limit calculation.
Capped Limit—the Capped Limit data field may be used for multi-location policies to determine a cumulative limit across multiple locations, e.g., for policy limits, attachment points, location limits, etc.
Participation Percent—the Participation Percent data field may be populated with an indication of a participation percent for the layer. The participation percent may be used by the mapping system 10, for example, in a capped limit calculation.
Site Limits and Deductibles:
Site Limit—the Site Limit data field may generally be populated with a total insured limit of the location when each location of a multi-location policy has a separate limit. In cases where the site limit equals the policy limit, the site limit may not be required.
Site Deductible—The Site Deductible data field may be populated to report a deductible value for each location of a multi-location policy. For single location policies, the Site Deductible data field may be the same as the Policy Deductible data field.
While any or all the above example additional data fields may be optional, a subset of the additional data fields may be designated as being required to achieve full functionality of a particular look-ahead feature. In an embodiment, various different subsets of additional fields may be designated as required for respective different look-ahead features or functions.
In some embodiments, the home screen 300 may be partitioned into multiple areas 302, 305. A first area 302 of the screen 300 may include a display of selectable user controls 308a, 310a, 312a corresponding to high-level management functions that are provided via the impact data manager 5. For example, the impact data manager system 5 may provide a portfolio management function 308a, a business intelligence management function 310a, a document management function 312a, and/or any number of other high-level management functions (not shown). A second area 305 of the screen 300 may include a display of selectable user controls 308b, 310b, 312b for sets of actions that respectively correspond to each of the high-level data management functions 308a, 310a, 312a. Of course, the display of the high-level management functions 308a-312a in the screen portion 302 and corresponding actions 308b-312b in the screen portion 305 is not limited to the arrangement 300 shown in
In the example scenario, the dynamic data delivery module 12 may receive indications of a user selection of the Portfolio Management function 308a and the action New Portfolio 308b. By this selection combination, the user indicates to the impact data manager 5 that he or she desires to prepare source data for use in a new portfolio to be stored at the mapping system 10.
The system 5 may respond to these user selections by displaying a format identification screen 314 as shown in
Turning to
The impact data manager 5 may open or access the source data file, as illustrated by screen 330 of
In
The impact data manager 5 may allow the user to select some or all of the source data contained within the source data file 332 for transformation and upload or delivery to the mapping system 10 to be stored as a portfolio, as shown by the data selection screen 345 of
The impact data manager 5 may automatically convert, transform or map the source data from its original or first format to a portfolio, target or second format that is compatible with the mapping system 10. To this end, the impact data manager 5 may display a validation screen 360 as illustrated in
The screen 360 may include a second portion 368 via which a user may interface with the impact data manager 5 to validate the source data (in its original format, target format, or both). The validation may be performed based on a set of rules such as the set of mapping rules 28a of
The user may select one or more rules 28a via, for example, a drop-down menu 370 or other suitable user control selection mechanism. In the example shown in
In an embodiment, data field properties may be validated. For example, as shown in
When the user is satisfied that he or she has selected the desired rules 28a in the second portion 368 of the screen 360 and has indicated the desired properties 372 for desired data fields 358, the user may indicate as such by selecting the “Validate” user control 375 or other suitable user control. Upon receiving the selection of the “Validate” control 375, the impact data manager 5 may automatically validate the data fields 358 and the contents therein based on the rules indicated in the second portion 368 and in the third portion 372 of the screen 360. For example, based on the rules 368, 372, the impact data manager 5 may validate the data fields and/or the contents of the data fields in the first format, the data fields and/or the contents of the data fields in the second format, or both.
In an embodiment, the impact data manager 5 may automatically correct any anomalies or errors found during the validation process and may indicate such automatic corrections to the user. Additionally or alternatively, the impact data manager 5 may find one or more anomalies, may determine one or more possible corrections or adjustments to resolve the one or more anomalies, and may request user input prior to proceeding with applying the possible corrections or any other corrections that are subsequently indicated by the user.
For example,
Continuing on with anomaly correction,
The user may continue with manually correcting errors or anomalies detected during the validation process, and/or accepting corrections or adjustments suggested by the impact data manager 5. For example, the user may activate the “Validate” user control 375 to determine if any anomalies are outstanding, and the user make take steps to correct or resolve any outstanding errors or anomalies. After all anomalies have been corrected or resolved, the impact data manager 5 may indicate as such 392 on the screen 360, as shown in
Via the screen 400 or via a previous screen (e.g., the validation screen 360), the user may request to validate control totals 418. Control totals may include a verification of a summation or other combination of values, e.g., a maximum exposure for a portfolio, a maximum policy premium when a portfolio includes multiple locations, a maximum number of people, and the like. In some examples, control totals may include a tally of values by a particular data field (e.g., column type or name). In this manner, the data may be filtered by a data column and values combined for all rows having a matching value for the selected data field. In a particular example, the data field is geographic region, and control totals include a control total for geographic region A, a control total for geographic region B, etc., up to a control total for geographic region N. The geographic region, in some examples, may identify a state, province, county, city, or country. In an embodiment, one or more control totals may be presented on the user interface 15 for user assessment, and the user may take actions to modify the source data (either original, converted or both) if the user deems necessary. In an embodiment, the impact data manager 5 may automatically determine one or more possible anomalies associated with one or more control totals (e.g., based on the rules 28a and/or the properties 372 of the control totals), determine one or more possible corrections or adjustments to resolve the one or more anomalies, and request user input prior to proceeding with applying the possible corrections or other corrections indicated by the user. In some embodiments, control total validation 418 may be performed at the impact data manager 5. In some embodiments, control total validation 418 may be performed at the mapping system 10. For example, the impact data manager 5 may deliver the source data to the mapping system 10 for control total validation, the mapping system 10 may perform control total validation 418 and return control totals to the impact data manager 5 for a user to accept or decline.
After the portfolio has been identified and any desired control totals are validated, the user may activate the “Next” user control 420 to schedule delivery of the converted, validated source data to be stored at the mapping system 10 under the named portfolio.
The user may indicate that the named portfolio (including the converted, validated source data) be immediately delivered to the mapping system 10, e.g., for publication, or the user may schedule the named portfolio to be delivered to the mapping system 10. In an embodiment, prior to delivery, the named portfolio may be encrypted and/or the named portfolio may be compressed. The named portfolio may be delivered to the mapping system 10, and, in real-time, the mapping system 10 may respond to the impact data manager 5 with an acknowledgement of a successful delivery and storage. The impact data manager 5 may provide an indication of the successful delivery at the user interface 15.
As the example scenarios of
The method 450 may include receiving one or more portfolio rules corresponding to a mapping system 452. For example, an impact data manager 5 or a dynamic data delivery module 12 included in the impact data manager 5 may receive one or more portfolio rules, mapping rules or mapping system rules 28a via a communications link 18a, 18b from a mapping system 10. The one or more portfolio rules 28a may indicate a data format that is understood by and compatible with the mapping system 10, e.g., a set of characteristics, limits, and/or boundary conditions of various data fields and contents of the various data fields. As such, the one or more portfolio rules may define data compatibility with the mapping system 10.
At a block 455, source data to be delivered to the mapping system 10 may be automatically transformed or converted from a first or original format into a second or target format. Source data may include data that is provided to the mapping system 10 for generating output. Mapping system output may include, for example, maps, reports, risk management assessments, and the like. Source data may include one or more indications of a geographical location. In an embodiment, at least some of the source data may correspond to one or more properties, e.g., to one or more insured real properties or other types of properties. The second format may be at least partially defined or bounded by at least one of the one or more portfolio rules. In an embodiment, the transformation may be at least partially based on user input, such as when a user selects a subset of the source data to be transformed or when the user indicates a priority order of rule application. In an embodiment, the source data may be automatically transformed 455 by the dynamic data delivery module 12 of the impact data manager 5. For example, one or more data field properties such as size, length, format, etc. may be automatically transformed by the dynamic data delivery module 12, a data type of a data field (e.g., num, char, int, money, etc.) may be automatically transformed or changed, or one or more rows or columns of the original source data may be added or deleted.
At a block 458, at least a portion of the source data may be validated. In an embodiment, the dynamic data delivery module 12 may perform a validation of at least a portion of the source data in the first format, at least a portion of the source data in the second format, or both. The validation may be performed based on at least one of the portfolio rules and/or based on at least one other rule. In an embodiment, a user may indicate a rule (in addition to those included in the at least one of the portfolio rules) that is to be used in the validation process. The validation may include, for example, a numerical value validation, a control total validation, a geographical location validation, a cross-check validation between different data cells and/or data fields, a data field property validation, a data field type validation, or any other desired validation. In an embodiment, the types of validation to be performed 458 may be at least partially selected by a user.
At a block 460, if the presence of an anomaly or error is discovered or determined, a correction or adjustment to the source data may be applied or performed. In an embodiment, the dynamic data delivery module 12 may discover an anomaly or error based on at least one of the portfolio rules and/or based on at least one other rule, and the dynamic data delivery module 12 may automatically make a correction or apply an adjustment 460 to the source data based on the anomaly or error. For example, one or more data field properties such as size, length, format, etc. may be automatically adjusted or changed to be compatible with the second format. A data type of a data field (e.g., num, char, int, money, etc.) may be automatically adjusted to be compatible with the second format. One or more rows or columns of the original source data may be added or deleted.
In some embodiments, a correction or adjustment may be performed only after user approval for the correction or adjustment is received. A correction or adjustment may be made to the source data in the first format, to the source data in the second format, or to both. In an embodiment, multiple corrections or adjustments may be made, either simultaneously or sequentially.
In some embodiments, the blocks 458-460 may be iteratively executed until no more anomalies or errors are detected. In some embodiments, the block 455 may be executed in conjunction with at least one iterative execution of the blocks 458-460, such as when additional source data in the first format is required to be added in order to correct a detected anomaly.
At a block 462, the validated, transformed source data may be caused to be delivered to the mapping system 10. In an embodiment, the dynamic data delivery module 12 may cause the validated, transformed source data to be delivered from the impact data manager system 5 to the mapping system 10 via the links 18a, 18b to be stored at the mapping system 10 as a portfolio. In some embodiments, the validated, transformed source data may be encrypted, compressed, or both encrypted and compressed 465 prior to being caused to be delivered 462 to the mapping system 10.
In some embodiments, a process 500, illustrated in
To enable the secure data transfer process illustrated in
At a block 505, in some implementations, before starting a new upload, a public key is received. The impact data manager 5, for example, may receive the public key from the mapping system 10 by a secure web service (via HTTPS, for example). In another example, the mapping system 10 may receive the public key from a remote client. The use of a secure web service to transport the public key may reduce the possibility of a so-called “man-in-the-middle” attack, where an attacker may secretly relay and/or alter the communication between two parties.
At a block 510, in some implementations, a random session key is generated. For example, the impact data manager 5 may generate a random and cryptographically strong session key. In another example, the remote client may generate the session key. A new session key may be generated for each new upload. The session key may be kept secret and used only internally within impact data manager 5 or remote client. The session key may also be sent securely (using a public key cryptosystem, for example) to the recipient system (e.g., the mapping system 10 from the impact data manager 5). The session key may be associated with a symmetric-key cryptosystem where the same cryptographic key is used for both encryption and decryption. Symmetric-key cryptosystems include, but are not limited to, the Data Encryption Standard (DES), the Advanced Encryption Standard (AES)/Rijndael, Twofish, Blowfish, Serpent, CAST-128, Kuznyechik, RC4, 3DES, Skipjack, Safer+/++, International Data Encryption Algorithm (IDEA), and the like. For the AES/Rijndael symmetric-key cryptosystem, a key length of 256 bits may be used to ensure a high level of security.
In some implementations, at a block 512, the session key is encrypted with the public key. For example, the impact data manager 5 may encrypt the session key with the public key received from mapping system 10 in block 505. The session key may be encrypted using a secure public key encryption system, such as RSA, ElGamal, ECC and the like.
At a block 515, in some implementations, the upload file is divided into chunks. For example, the impact data manager 5 may divide a file containing validated, transformed source data into a number of chunks. In another example, a remote client may divide source data into a number of chunks. Each chunk may be the same predetermined number of bits, or each chunk may be a different number of bits. In some examples, each chunk may include 500 kilobytes, 1 megabyte, or 2 megabytes, The choice of the size of the chunks may depend on the structure and number of the source data files.
At a block 518, in some implementations, each chunk is compressed. For example, the impact data manager 5 may compress each chunk to reduce the size of each chunk. The compression may use any lossless data compression algorithm, such as Lempel-Ziv (LZ), Lempel-Ziv-Welch (LZW), Lempel-Ziv-Renau (LZR) (also known as Zip), Sequitur, Huffman coding, and the like.
In some implementations, at a block 520, the compressed chunks are merged. For example, impact data manager 5 may merge all of the compressed chunks into a single assembled file. The assembled file may include a concatenated sequence of records, with each record containing a compressed chunk preceded by an offset indicating the location of the start of the next record.
At a block 522, in some implementations, the merged, compressed chunks are encrypted using the session key. For example, the impact data manager 5 may encrypt the assembled file with a selected symmetric-key cryptosystem (AES, for example) using the session key generated in block 510.
At a block 525, in some implementations, the encrypted, merged, and compressed chunks may be divided into file parts. For example, the impact data manager 5 may divide the encrypted assembled file into a number of file parts. In an example, the choice of the number of file parts may depend upon the speed and/or type of connection between the sending and receiving systems. In one example, based upon historic transfer speeds, the number of file parts (e.g., size of each file part) may be adjusted. The size of each file part may range from a minimum packet size for effecting transfer to a maximum file part length. The maximum file part length, for example, may be configured in some embodiments by the sender or the receiver.
At a block 528, in some implementations, the file parts are provided to the remote receiving system. For example, the impact data manager 5 may send each file part to mapping system 10. Local sending system (e.g., remote client or impact data manager 5) may use a secure data transport protocol, such as Transport Layer Security (TLS) or Secure Sockets Layer (SSL), to securely transfer the file parts to mapping system 10.
In some implementations, at a block 530, the encrypted session key is provided to the remote system. For example, the impact data manager 5 may send the encrypted session key to mapping system 10.
In some embodiments, a process 550, illustrated in
In some implementations, at a block 555, file parts are received and merged. For example, the mapping system 10 may receive and merge the file parts from the impact data manager 5. The merged file parts may be stored by mapping system 10 on, for example, the mapping system data storage entity 20.
At a block 558, in some implementations, an encrypted session key is received. The mapping system 10, for example, may receive the encrypted session key from the impact data manager 5. In some implementations, the encrypted session key is stored by the receiver. For example, the mapping system 10 may store the encrypted session key in the mapping system data storage entity 20.
In some implementations, at a block 560, the session key is decrypted using the private key. The session key, for example, may be decrypted using the same public key encryption system as used by the sender (e.g., impact data manager 5 or the remote client) along with the private key.
In some implementations, at a block 562, the merged file parts are decrypted using the session key. For example, the mapping system 10 may decrypt the encrypted assembled file stored in, for example, the mapping system data storage entity 20 using the session key and the same symmetric-key cryptosystem as used to encrypt the assembled file in block 522 of
In some implementations, at a block 565, each compressed chunk is uncompressed. For example, the mapping system 10 may uncompress each compressed chunk in the decrypted assembled file using a decompression algorithm associated with the compression algorithm used in step 518 of
At a block 568, in some implementations, the chunks are combined into a data file. For example, mapping system 10 may combine the uncompressed chunks. After combination, the data file may be processed. For example, the impact data manager 5 may validate and/or transform a file of source data supplied by a remote client. In another example, the mapping system 10 may process the resulting file of validated, transformed source data.
The process described in
Although described in a particular order of operations, in other embodiments, the methods performed by the processes of
Assembled file 618 may then be encrypted 635, as described above, for example with a selected symmetric-key cryptosystem using a session key, resulting in encrypted assembled file 640. Encrypted assembled file 640 may then be divided into a number of file parts 645a-645e. Each of the of file parts 645a-645e may then be sent to the destination system. Finally, encrypted session key 650 may be sent to the destination system to allow the destination system to decrypt the file parts 645a-645e.
In the example shown in
The impact-on-demand platform 900 may include both hardware and software applications, as well as various data communications channels for communicating data between the various hardware and software components. The impact-on-demand platform 900 may be roughly divided into front-end components 902 and back-end components 904. The front-end components 902 may primarily (but not necessarily) be disposed within a client network 910 including one or more clients computing devices 912. The client devices 912 may be located, by way of example rather than limitation, in separate geographic locations from each other, including different areas of the same city, different cities, or even different states. The front-end components 902 may additionally comprise a number of workstations 928. The workstations 928 may be local computers or computing devices located in the various locations 912 throughout the network 910 and executing various impact-on-demand/impact data manager applications. In an embodiment, each workstation and local computing device 928 may include an instance of an impact data manager, such as the impact data manager 5 discussed with respect to
Web-enabled devices 914 (e.g., personal computers, tablets, cellular phones, smart phones, web-enabled televisions, etc.) may be communicatively connected to locations 912 and to the system 940 through a digital network 930 or a wireless router 931. In an embodiment, a web-enabled device 914 may include the user interface 15 of
Returning now to
Of course, a local digital network 984 may also operatively connect each of the workstations 928 to the facility server 926. Unless otherwise indicated, any discussion of the workstations 928 also refers to the facility servers 926, and vice versa. Moreover, environments other than the locations 912, such as the kiosks, call centers, and Internet interface terminals may employ the workstations 928, the web-enabled devices 914, and the servers 926. As used herein, the term “location” refers to any of these points of contact (e.g., call centers, kiosks, Internet interface terminals, etc.) in addition to the locations 912, etc. described above.
The front-end components 902 may communicate with the back-end components 904 via the digital network 930. In embodiment, the digital network 930 may be the network 25 of
The digital network 930 may be a proprietary network, a secure public Internet, a virtual private network or some other type of network, such as dedicated access lines, plain ordinary telephone lines, satellite links, combinations of these, etc. Where the digital network 930 comprises the Internet, data communication may take place over the digital network 930 via an Internet communication protocol. In addition to one or more web servers 990 (described below), the back-end components 904 may include a central processing system 940 within a central processing facility. In an embodiment, the central processing system 940 may include the mapping system 10 of
The central processing system 940 may include a database 946. The database 946 may be adapted to store data related to the operation of the impact-on-demand platform 900, such as client portfolios, business intelligence cubes, mapping rules 28b and the like. In an embodiment, the database 946 may be the mapping system data storage entity 20 of
Although the impact-on-demand platform 900 is shown to include a central processing system 940 in communication with three locations 912 and various web-enabled devices 914 it should be understood that different numbers of processing systems, locations, and devices may be utilized. For example, the digital network 930 (or other digital networks, not shown) may interconnect the system 900 to a plurality of included central processing systems 940, hundreds of locations 912, and thousands of web-enabled devices 914. According to the disclosed example, this configuration may provide several advantages, such as, for example, enabling near real-time uploads and downloads of information as well as periodic uploads and downloads of information. This provides for a primary backup of all the information generated in the wireless customer data transfer process. Alternatively, some of the locations 912 may store data locally on the facility server 926 and/or the workstations 928.
The controller 955 may include a non-transitory, tangible program memory 960, the processor 962 (may be called a microcontroller or a microprocessor), a non-transitory, tangible random-access memory (RAM) 964, and the input/output (I/O) circuit 966, all of which may be interconnected via an address/data bus 965. It should be appreciated that although only one microprocessor 962 is shown, the controller 955 may include multiple microprocessors 962. Similarly, the memory of the controller 955 may include multiple RAMS 964 and multiple program memories 960. Although the I/O circuit 966 is shown as a single block, it should be appreciated that the I/O circuit 966 may include a number of different types of I/O circuits. The RAM(s) 964 and the program memories 960 may be implemented as semiconductor memories, magnetically readable memories, and/or optically readable memories, for example. A link 935 may operatively connect the controller 955 to the digital network 930 through the I/O circuit 966.
Each of the locations 912 may have one or more tablets or user computing devices 933 and/or a facility server 926. The digital network 930 and wireless router 931 may operatively connect the facility server 926 to the plurality of user devices 933 and/or to other web-enabled devices 914 and workstations 928. The digital network 930 may be a wide area network (WAN), a local area network (LAN), or any other type of digital network readily known to those persons skilled in the art. The digital network 930 may operatively connect the facility server 926, the health tablets 933, the workstations 928, and/or the other web-enabled devices 914 to the central processing system 940.
Each tablet 933, workstation 928, client device terminal 928A, or facility server 926 may include a controller 970. Similar to the controller 955 from
The database 982 may include data such as customer records, insurer information records, and rules (e.g., the mapping rules 28a described with respect to
Either or both of the program memories 960 (
In addition to the controller 970, the tablets 933, the workstations 928 and the other web-enabled devices 914 may further include a user interface such as the user interface 15 of
Various software applications resident in the front-end components 902 and the back-end components 904 may implement functions related to location and mapping operations, and provide various user interface means to allow users to access the system 900. One or more of the front-end components 902 and/or the back-end components 904 may include a user-interface application 911 for allowing a user to input and view data associated with the system 900, and to interact with the impact-on-demand platform 900. The user-interface application 911 may, for example, be in communicative connection with the dynamic data delivery module 12, or may be a part of the dynamic data delivery module 12. In an embodiment, the user interface application 911 is a web browser client, and the facility server 926 or the central processing system 940 implements a server application 913 for providing data to the user interface application 911. However, the user interface application 911 may be any type of interface, including a proprietary interface, and may communicate with the facility server 926 or the central processing system 940 using any type of protocol including, but not limited to, file transfer protocol (FTP), telnet, 32 hypertext-transfer protocol (HTTP), etc. Moreover, some embodiments may include the user interface application 911 running on one of the web-enabled devices 914 (as when a patient is accessing the system), while other embodiments may include the user interface application 911 running on the tablet 933 in a location 912. The central processing system 940 and/or the facility server 926 may implement any known protocol compatible with the user interface application 911 running on the tablets 933, the workstations 928 and the web-enabled devices 914 and adapted to the purpose of receiving and providing the necessary information during the wireless data transfer process.
For purposes of implementing the impact-on-demand platform 900, the user may interact with location systems (e.g., the central processing system 940) via a plurality of web pages.
Turning now to
In addition to being connected through the digital network 930 to the user devices 933 and 994a-994e, as depicted in
The program memory 908 and/or the RAM 918 may store various applications for execution by the microprocessor 916. For example, an application 932 may provide a user interface to the server, which user interface may, for example, allow a network administrator to configure, troubleshoot, or test various aspects of the server's operation, or otherwise to access information thereon. A server application 934 may operate to populate and transmit web pages to the web-enabled devices 994a-994e, receive information from the user 992 transmitted back to the server 990, and forward appropriate data to the central processing system 940 and the facility servers 926, as described below. Like the software the server application 934 or a plurality of server application modules 934a, 934b. In an embodiment, the server application 934 or the server application modules 934a, 934b may include at least a portion of the computer-executable instructions for the dynamic data delivery module 12 of
While the server application 934 is depicted in
Typically, a user may launch or instantiate a user interface application (e.g., a web browser or other client application) from a web-enabled device, such as the web-enabled devices 933 and 994a-994e, to access the web server 990 cooperating with the system 940 to implement the impact-on-demand platform 900.
Although the foregoing text sets forth a detailed description of numerous different embodiments, it should be understood that the scope of the patent is defined by the words of the claims set forth at the end of this patent. The detailed description is to be construed as exemplary only and does not describe every possible embodiment because describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.
Thus, many modifications and variations may be made in the techniques and structures described and illustrated herein without departing from the spirit and scope of the present claims. Accordingly, it should be understood that the methods and apparatus described herein are illustrative only and are not limiting upon the scope of the claims.
The present application is a continuation in part of and claims the benefit of Ser. No. 13/493,095 filed Jun. 11, 2012 and entitled “Impact Data Manager for Dynamic Data Delivery”, which claims the benefit of U.S. Provisional Application No. 61/512,390 filed on Jul. 27, 2011, the entire disclosure of each of which is hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
7444506 | Datta | Oct 2008 | B1 |
8554932 | Leong et al. | Oct 2013 | B1 |
9489397 | Olson | Nov 2016 | B1 |
20030149657 | Reynolds et al. | Aug 2003 | A1 |
20070192470 | Fujiwara | Aug 2007 | A1 |
20070214023 | Mathai et al. | Sep 2007 | A1 |
20070276951 | Riggs et al. | Nov 2007 | A1 |
20080133300 | Jalinous | Jun 2008 | A1 |
20100030586 | Taylor | Feb 2010 | A1 |
20100280755 | Pillsbury et al. | Nov 2010 | A1 |
20110071980 | Patterson | Mar 2011 | A1 |
20120066517 | Vysogorets | Mar 2012 | A1 |
20120089829 | Kholidy | Apr 2012 | A1 |
20120123806 | Schumann et al. | May 2012 | A1 |
20140019171 | Koziol | Jan 2014 | A1 |
20160154698 | Kazi | Jun 2016 | A1 |
20160173458 | Alculumbre | Jun 2016 | A9 |
20160283127 | Stabrawa et al. | Sep 2016 | A1 |
20160306699 | Resch et al. | Oct 2016 | A1 |
Entry |
---|
International Search Report and Written Opinion of the International Searching Authority for International Application No. PCT/2017/059906, dated Feb. 28, 2018. |
Non-Final Office Action dated Oct. 2, 2014 for U.S. Appl. No. 13/493,095. |
Final Office Action dated Apr. 9, 2015 for U.S. Appl. No. 13/493,095. |
Non-Final Office Action dated Oct. 26, 2015 for U.S. Appl. No. 13/493,095. |
Notice of Allowance dated Jul. 6, 2016 for U.S. Appl. No. 13/493,095. |
International Preliminary Report on Patentability of PCT/US2017/059906 dated May 7, 2019. |
Partial Supplementary European Search Report dated Apr. 14, 2020 from European Application No. 17867267.1. |
Extended European Search Report issued in EP Application No. 17867267.1 dated Jul. 15, 2020. |
Number | Date | Country | |
---|---|---|---|
20170078094 A1 | Mar 2017 | US |
Number | Date | Country | |
---|---|---|---|
61512390 | Jul 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13493095 | Jun 2012 | US |
Child | 15342951 | US |