Users today utilize a variety of user devices, such as cell phones, smart phones, tablet computers, or the like, to access online services (e.g., email applications, Internet services, television services, or the like), purchase products and/or services, and/or perform other tasks via networks. The user devices may include a variety of monitoring devices, such as accelerometers, global positioning system (GPS) devices, infrared sensors, cameras, microphones, speakers, or the like.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
Monitoring environmental events, such as weather-related events (e.g., precipitation, hurricanes, tornados, thunderstorms, or the like), natural disasters (e.g., earthquakes, mudslides, forest fires, or the like), environmental effects (e.g., ozone depletion, smog, pollution, climate change, or the like), or the like, typically requires use of expensive monitoring equipment (e.g., satellites, sensors, or the like). Implementations, described herein, may enable inexpensive monitoring and detection of environmental events based on information received from multiple user devices associated with a network(s).
As further shown in
In some implementations, the analysis server may enable an entity (e.g., users of the user devices, government agencies, or the like) to access or receive analysis information that is customized for the entity. For example, as shown in
Systems and/or methods described herein may provide a framework for monitoring and detecting environmental events with user devices. The systems and/or methods may enable users of the user devices, government agencies, or the like to detect precursors to adverse environmental events based on an analysis (e.g., anomaly detection, diagnosis, trending, prediction, segmentations, prognostics, or the like) of monitored information generated by monitoring devices associated with the user devices. The systems and/or methods may provide alerts of the adverse environmental events to the users, the government agencies, or the like so that the users/agencies may appropriately address the adverse environmental events.
As used herein, the term user is intended to be broadly interpreted to include a user device or a user of a user device. The term entity, as used herein, is intended to be broadly interpreted to include a business, an organization, a government agency, a user device, a user of a user device, or the like.
User device 210 may include a device that is capable of communicating over network 230 with analysis server 220. In some implementations, user device 210 may include a radiotelephone; a personal communications services (PCS) terminal that may combine, for example, a cellular radiotelephone with data processing and data communications capabilities; a smart phone; a configured television; a laptop computer; a tablet computer; a global positioning system (GPS) device; a gaming device; a set-top box (STB); or another type of computation and communication device. In some implementations, user device 210 may include one or more monitoring devices (e.g., accelerometers, GPS devices, infrared sensors, cameras, microphones, speakers, or the like) that monitor environmental events, such as, for example, weather-related events, natural disasters, environmental effects, or the like. In some implementations, user devices 210 may generate device data (e.g., information associated with operation of user devices 210, models of user devices 210, or the like) and/or application data (e.g., images, accelerometer readings, GPS device readings, audio files, video files, infrared sensor readings, or the like).
Analysis server 220 may include one or more personal computers, one or more workstation computers, one or more server devices, one or more virtual machines (VMs) provided in a cloud computing environment, or one or more other types of computation and communication devices. In some implementations, analysis server 220 may be associated with an entity that manages and/or operates network 230, such as, for example, a telecommunication service provider, a television service provider, an Internet service provider, or the like.
In some implementations, analysis server 220 may receive the device data and the application data from user devices 210, and may receive network data (e.g., information associated with usage, connectivity, provisioning, or the like of network 230 by/for user devices 210) from network 230. In some implementations, a device may be provided in network 230 to detect data (e.g., the device data, the application data, and/or the network data, referred to herein as “monitored information”), and to provide the detected data to analysis server 220. Analysis server 220 may perform an analysis of the received data, in near real time, real time, or batch time, via anomaly detection, trending, prediction, segmentation, or the like. In some implementations, analysis server 220 may generate analysis information based on the analysis of the received data, and may provide the analysis information for display.
Network 230 may include a network, such as a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network, such as the Public Switched Telephone Network (PSTN) or a cellular network, an intranet, the Internet, a fiber optic network, a cloud computing network, or a combination of networks.
In some implementations, network 230 may include a fourth generation (4G) cellular network that includes an evolved packet system (EPS). The EPS may include a radio access network (e.g., referred to as a long term evolution (LTE) network), a wireless core network (e.g., referred to as an evolved packet core (EPC) network), an Internet protocol (IP) multimedia subsystem (IMS) network, and a packet data network (PDN). The LTE network may be referred to as an evolved universal terrestrial radio access network (E-UTRAN). The EPC network may include an all-IP packet-switched core network that supports high-speed wireless and wireline broadband access technologies. The EPC network may allow user devices 210 to access various services by connecting to the LTE network, an evolved high rate packet data (eHRPD) radio access network (RAN), and/or a wireless local area network (WLAN). The IMS network may include an architectural framework or network (e.g., a telecommunications network) for delivering IP multimedia services. The PDN may include a communications network that is based on packet switching.
The number and arrangement of devices and/or networks shown in
Bus 310 may include a path that permits communication among the components of device 300. Processor 320 may include a processor (e.g., a central processing unit, a graphics processing unit, an accelerated processing unit, or the like), a microprocessor, and/or any processing component (e.g., a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or the like) that interprets and/or executes instructions, and/or that is designed to implement a particular function. In some implementations, processor 320 may include multiple processor cores for parallel computing. Memory 330 may include a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage component (e.g., a flash, magnetic, or optical memory) that stores information and/or instructions for use by processor 320.
Input component 340 may include a component that permits a user to input information to device 300 (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, or the like). Output component 350 may include a component that outputs information from device 300 (e.g., a display, a speaker, one or more light-emitting diodes (LEDs), or the like).
Communication interface 360 may include a transceiver-like component, such as a transceiver and/or a separate receiver and transmitter, which enables device 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. For example, communication interface 360 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a high-definition multimedia interface (HDMI), or the like.
Device 300 may perform various operations described herein. Device 300 may perform these operations in response to processor 320 executing software instructions included in a computer-readable medium, such as memory 330. A computer-readable medium is defined as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
Software instructions may be read into memory 330 from another computer-readable medium or from another device via communication interface 360. When executed, software instructions stored in memory 330 may cause processor 320 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
The number and arrangement of components shown in
As shown in
As further shown in
As further shown in
Alternatively, or additionally, the one or more preferences may include a preference of the user with respect to the analysis application detecting anomalies associated with user devices 210 and/or with information provided by user devices 210. For example, the analysis application may detect anomalies associated with usage, connectivity, provisioning, or the like of network 230 by/for user devices 210, security associated with user devices 210 (e.g., if a stationary user device 210 has moved from a fixed location, this may indicate a weather event, such as an earthquake or a tornado), application data generated by user devices 210, or the like.
Alternatively, or additionally, the one or more preferences may include a preference of the user with respect to the analysis application providing trends and/or historical information associated with user devices 210 and/or with information provided by user devices 210. For example, the analysis application may determine trends and/or store historical information associated with usage, connectivity, provisioning, or the like of network 230 by/for user devices 210, security associated with user devices 210, errors generated by user devices 210, application data generated by user devices 210, or the like.
Alternatively, or additionally, the one or more preferences may include a preference of the user with respect to the analysis application sending notifications associated with anomalies detected for user devices 210 and/or for information provided by user devices 210. For example, the user may indicate that the analysis application is to send notifications to the user or to others (e.g., via a text message, an email message, a voicemail message, a voice call, or the like).
Alternatively, or additionally, the one or more preferences may include a preference of the user with respect to the analysis application providing a comparison of user devices 210 with similar devices. For example, the user may indicate that the analysis application is to provide a comparison of user devices 210 with other similar user devices 210, devices providing similar services as user devices 210, or the like.
Alternatively, or additionally, the one or more preferences may include a preference of the user with respect to the analysis application providing miscellaneous information associated with user devices 210 and/or with information provided by user devices 210. For example, the user may indicate that the analysis application is to correlate different types of data received from user devices 210, predict future behavior of user devices 210, predict a future environmental event (e.g., an earthquake, a tsunami, a hurricane, or the like), or the like.
Alternatively, or additionally, a type of the account, of the user, associated with the analysis application may determine the quantity of preferences that the user is able to specify. For example, the analysis application may enable the user to specify only a portion of the above preferences or specify additional preferences based on the type of the account with which the user is associated.
As further shown in
As further shown in
In some implementations, analysis server 220 may generate the configuration information, which may be used to configure the analysis application, based on the information identifying the one or more preferences of the user. For example, the configuration information may include information that causes the analysis application to receive information associated with user devices 210 and analyzed by analysis server 220.
Alternatively, or additionally, the configuration information may include information that causes analysis server 220 to detect anomalies associated with user devices 210 and/or with information provided by user devices 210, and to provide information associated with the detected anomalies to a user of analysis server 220. Alternatively, or additionally, the configuration information may include information that causes analysis server 220 to provide trends and/or historical information, associated with user devices 210 and/or with information provided by user devices 210, to the user of analysis server 220.
Alternatively, or additionally, the configuration information may include information that causes analysis server 220 to send notifications (e.g., to other users and devices associated with the other users) associated with anomalies detected by analysis server 220 for user devices 210 and/or for the information provided by user devices 210. Alternatively, or additionally, the configuration information may include information that causes analysis server 220 to perform a comparison of user devices 210 with similar devices, and to provide information associated with the comparison to the user of analysis server 220. Alternatively, or additionally, the configuration information may include information that causes analysis server 220 to correlate different types of data received from user devices 210, predict future behavior of user devices 210 and/or the information provided by user devices 210, or the like, and to provide the correlation and/or behavior to the user of analysis server 220.
Alternatively, or additionally, the configuration information may be obtained from a data structure. In some implementations, analysis server 220 may provide, to user device 210, the configuration information independent of receiving the information identifying the one or more preferences of the user.
As further shown in
In some implementations, analysis server 220 may provide updates, to the configuration information, to user device 210 based on use of the analysis application by user device 210 and/or by other user devices 210. For example, analysis server 220 may receive updates, to the configuration information, from one or more other users and may provide the received updates to user device 210. User device 210 may store the updates to the configuration information. In some implementations, analysis server 220 may provide the updates periodically based on a preference of the user and/or based on a time frequency determined by analysis server 220. In some implementations, analysis server 220 may determine whether to provide the updates based on the type of the account associated with the user.
Although
Assume that the user has previously caused user device 210 to request and download the analysis application or to log into an account associated with the analysis application. Further assume that the user causes user device 210 to install the analysis application on user device 210. When the user logs into the account or user device 210 installs the analysis application, as shown in
As further shown in
As shown in
As further shown in
As further shown in
Once the user has identified the preferences, user interface 510 may allow the user to select a “Submit” option to store the preferences and/or submit the preferences to analysis server 220. Analysis server 220 may then provide, to user device 210, configuration information based on the preferences.
As further shown in
The number and arrangement of elements of user interface 510 shown in
As shown in
In some implementations, user devices 210 may generate application data, and may provide the application data to analysis server 220. In some implementations, analysis server 220 may monitor the application data associated with user devices 210. In some implementations, a device in network 230 may be configured to monitor and route the application data (or a copy of the application data) to analysis server 220. The application data may include, for example, data generated based on operation of user devices 210 (e.g., images, accelerometer readings, GPS device readings, audio files, video files, infrared sensor readings, or the like).
In some implementations, network data may be generated by network devices of network 230 based on utilization of network 230 by user devices 210 (e.g., to provide the device data and/or the application data to analysis server 220). In some implementations, analysis server 220 may monitor the network data associated with user devices 210. In some implementations, a device in network 230 may be configured to monitor and route the network data (or a copy of the network data) to analysis server 220. The network data may include, for example, information associated with usage of network 230 by user devices 210, connectivity of user devices 210 to network 230, provisioning of network 230 for user devices 210, or the like. In some implementations, the device data, the application data, and/or the network data may be referred to as monitored information, and analysis server 220 may receive the monitored information associated with user devices 210.
In some implementations, analysis server 220 may preprocess the monitored information utilizing feature selection (e.g., a process of selecting a subset of relevant features for use in model construction); dimensionality reduction (e.g., a process of reducing a number of random variables under consideration); normalization (e.g., adjusting values measured on different scales to a common scale); data subsetting (e.g., retrieving portions of data that are of interest for a specific purpose); or the like.
As further shown in
Anomaly detection may generally include identifying items, events, or observations that do not conform to an expected pattern or other items, events, or observations in a dataset. In some implementations, analysis server 220 may determine normal behavior patterns associated with user devices 210 and/or with information provided by user devices 210, over time and based on the monitored information. For example, analysis server 220 may determine that user devices 210 have a particular usage pattern with network 230, that user devices 210 have a particular connectivity pattern with network 230, that user devices 210 generate particular application data, that particular geographical locations are experiencing high levels of pollution, that a particular geographical location is experiencing a tornado, or the like.
Analysis server 220 may compare current monitored information with the determined normal behavior patterns in order to detect anomalous user devices 210/environmental events and/or to predict abnormal behavior of user devices 210/environmental events before the abnormal behavior occurs (e.g., so that preventative action may be taken). In some implementations, analysis server 220 may utilize unsupervised anomaly detection techniques, supervised anomaly detection techniques, or semi-supervised anomaly detection techniques to identify one or more anomalous user devices 210 and/or environmental events detected by user devices 210, based on the monitored information. Anomaly detection may enable an entity (e.g., a government agency, emergency personnel, or the like) to identify potential environmental problems with particular geographical locations, and to appropriately address the potential environmental problems.
In some implementations, analysis server 220 may utilize trending techniques (or trend analysis) to determine trends in network usage, connectivity, and/or provisioning activities of user devices 210; trends in the device data; and/or trends in the application data. Trending techniques may generally include collecting information and attempting to determine a pattern, or a trend, in the information. Trending techniques may be used to predict future events and/or to estimate uncertain events in the past. In some implementations, analysis server 220 may analyze the network usage, connectivity, and/or provisioning activities of user devices 210, the device data, and/or the application data, for a particular time period, in order to identify the trends in the network usage, connectivity, and/or provisioning activities, the device data, and/or the application data. The trending technique may enable an entity (e.g., a government agency, emergency personnel, or the like) to predict when geographical locations will experience environmental events, and to address such environmental events accordingly.
In some implementations, analysis server 220 may utilize prediction techniques (or predictive analytics) to determine future behavior of user devices 210 and/or information provided by user devices 210, based on historical monitored information and/or correlated monitored information (e.g., location information associated with user devices 210, destination addresses of packets generated by user devices 210, radio frequency (RF) data associated with user devices 210 connections to network 230, or the like). Prediction techniques may generally include a variety of techniques (e.g., statistics, modeling, machine learning, data mining, or the like) that analyze current and historical information to make predictions about future, or otherwise unknown, events. In some implementations, analysis server 220 may determine normal behavior patterns associated with user devices 210 and/or information provided by user devices 210, over time and based on the monitored information. Analysis server 220 may utilize the determined normal behavior patterns in order to predict future behavior of user devices 210 (e.g., to predict future network usage, connectivity, and provisioning activities of user devices 210) and/or information provided by user devices 210. The prediction techniques may enable an entity (e.g., a government agency, emergency personnel, or the like) to predict when geographical locations will experience environmental events, and to address such environmental events accordingly.
In some implementations, analysis server 220 may utilize segmentation techniques to determine groups of user devices 210/environmental events that are similar in behavior (e.g., different types of user devices 210 may have similar network usage and connectivity behavior, similar environmental events may have similar characteristics, conditions, or the like). Segmentation techniques may generally include dividing or clustering items into groups that are similar in specific ways relevant to the items, such as the behavior of the items. In some implementations, analysis server 220 may analyze the network usage, connectivity, and/or provisioning activities of user devices 210, the device data, and/or the application data, for a particular time period, in order to identify similarities in the network usage, connectivity, and/or provisioning activities, the device data, and/or the application data associated with user devices 210 and/or with information provided by user devices 210. Analysis server 220 may utilize the determined similarities to group user devices 210 into groups of devices with similar behavior. In some implementations, analysis server 220 may analyze the network usage, connectivity, and/or provisioning activities of user devices 210, the device data, and/or the application data, for a particular time period, in order to determine correlations between different types of data (e.g., between network usage data and the application data, between the network usage data and the network connectivity data, or the like). The segmentation technique may enable an entity (e.g., a government agency) to compare similar user devices 210 in order to determine when a particular environmental event will occur.
In some implementations, analysis server 220 may perform the analysis of the monitored information via the anomaly detection techniques, the trending techniques, the prediction techniques, the segregation techniques, and/or other analytics techniques. In some implementations, a user of analysis server 220 may specify which analytics techniques to perform on the monitored information. In some implementations, a number and types of analytics techniques performed by analysis server 220 on the monitored information may be based on a type of account of the user, processing power of analysis server 220, an amount of money paid by the user, or the like.
As further shown in
In some implementations, the analysis information may include a comparison of analyzed information, associated with user devices 210 of a first user, and analyzed information, associated with user devices 210 of a second user similar to the first user. Such implementations may enable an entity (e.g., a government agency) to determine how environmental events associated with the first user compares with environmental events associated with the second user, and vice versa. In some implementations, analysis server 220 may process the analysis information by filtering patterns in the analysis information, performing visualization on the analysis information, interpreting patterns in the analysis information, or the like.
In some implementations, analysis server 220 may combine the results of the different analysis techniques (e.g., anomaly detection, trending, prediction, segregation, or the like) together to generate the analysis information. In some implementations, analysis server 220 may assign weights to different results of the different analysis techniques, and may combine the weighted results together to generate the analysis information. In some implementations, the analysis information may include information identifying anomalies in the application data (e.g., signal readings from particular user devices 210 may include unusually high static); information identifying anomalies in the device data (e.g., error codes may be generated by particular user devices 210); information identifying anomalies in the network data (e.g., high data usage by particular user devices 210); information identifying trends associated with the application data received from user devices 210 (e.g., the application data may indicate that a particular location is experiencing increased loss of vegetation due to pollution); information identifying comparisons between similar user devices 210 (e.g., application data from user device 210 associated with a first user may be compared with application data from user device 210 associated with a second user); information identifying predictions based on information received from particular user devices 210 (e.g., information received from the particular user devices 210 may indicate that an earthquake is likely in a particular location within the next few days); or the like.
As further shown in
In some implementations, the dashboard may include information that highlights problems with user devices 210 (e.g., anomalous user devices 210, user devices 210 that are damaged or stolen, problem usage trends associated with particular user devices 210, or the like) and/or with information provided by user devices 210 (e.g., environmental events that are life threatening, environmental events that require further investigation, environmental events that require emergency personnel, or the like). In such implementations, the dashboard may provide relevant predictive and diagnostic information, associated with user devices 210 and/or with information provided by user devices 210, in a user interface. This may alert users about the problems with user devices 210 and/or with information provided by user devices 210, so that the users may take appropriate actions. In some implementations, the users may perform scientific research (e.g., on environmental events) or ask scientific questions about the environmental events based on the information provided in the dashboard.
In some implementations, the dashboard may aid an entity (e.g., a government agency) in daily management of environmental events recorded by user devices 210, and may enable the entity to make decisions associated with the environmental events. In some implementations, the dashboard may enable the entity to control costs associated with monitoring environmental events by detecting the environmental events with user devices 210, by identifying network issues associated with user devices 210, or the like. In some implementations, the dashboard may enable the entity to control asset losses and costs due to data security breaches. For example, the entity may determine data security breaches based on packet inspection, by analysis server 220, of the application data received from user devices 210 (e.g., with the entity's permission). In some implementations, the dashboard may enable the entity to track environmental conditions over time. For example, the dashboard may provide a comparison between images of vegetation, taken at a particular location and at a first time period, and images of the vegetation, taken at the particular location and at a second time period (e.g., later than the first time period). The comparison may enable the entity to determine whether the vegetation is more or less green at the second time period than at the first time period (e.g., which may be indicative of an environmental problem).
As further shown in
In some implementations, analysis server 220 may determine a geographical area affected by an environmental event by identifying user devices 210 reporting conditions associated with the environmental event and determining the geographical locations of user devices 210. For example, if fifty (50) user devices 210 are located within a particular geographical area and are reporting a significant temperature drop, analysis server 220 may determine that the particular geographical area is experiencing or is about to experience a tornado. In some implementations, analysis server 220 may track an environmental event over time, and may provide a warning to user devices 210 that will be affected by the environmental event in the future. For example, assume that analysis server 220 identifies, in a manner described herein, a thunderstorm with high winds that is moving toward a particular geographical area (e.g., a town). In such an example, analysis server 220 may provide a warning to user devices 210 that are located in the town so that users of user devices 210 may prepare for the thunderstorm.
Although
As further shown in
As further shown in
As shown in
As further shown in
Analysis server 220 may utilize analysis information 730 to generate a first dashboard user interface 765, as shown in
Assume that “Advanced Analytics” tab 770 is selected, and that the selection causes analysis server 220 to provide a second dashboard user interface 775 for display, as shown in
As further shown in
If one of the anomalous user devices 210 and/or environmental events listed in the third section of user interface 775 is selected, analysis server 220 may provide a third dashboard user interface 780 for display, as shown in
As shown in
As shown in
As indicated above,
Systems and/or methods described herein may provide a framework for monitoring and detecting environmental events with user devices. The systems and/or methods may enable users of the user devices, government agencies, or the like to detect precursors to adverse environmental events based on an analysis of monitored information generated by monitoring devices associated with the user devices. The systems and/or methods may provide alerts of the adverse environmental events to the users, the government agencies, or the like so that the users/agencies may appropriately address the adverse environmental events.
The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
To the extent the aforementioned implementations collect, store, or employ personal information provided by individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information may be subject to consent of the individual to such activity, for example, through “opt-in” or “opt-out” processes as may be appropriate for the situation and type of information. Storage and use of personal information may be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
A component is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
User interfaces may include graphical user interfaces (GUIs) and/or non-graphical user interfaces, such as text-based interfaces. The user interfaces may provide information to users via customized interfaces (e.g., proprietary interfaces) and/or other types of interfaces (e.g., browser-based interfaces, or the like). The user interfaces may receive user inputs via one or more input devices, may be user-configurable (e.g., a user may change the sizes of the user interfaces, information displayed in the user interfaces, color schemes used by the user interfaces, positions of text, images, icons, windows, or the like, in the user interfaces, or the like), and/or may not be user-configurable. Information associated with the user interfaces may be selected and/or manipulated by a user (e.g., via a touch screen display, a mouse, a keyboard, a keypad, voice commands, or the like). In some implementations, information provided by the user interfaces may include textual information and/or an audible form of the textual information.
It will be apparent that systems and/or methods, described herein, may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods were described herein without reference to specific software code—it being understood that software and hardware can be designed to implement the systems and/or methods based on the description herein.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.
No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items, and may be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.