US20190347838A1 - Passing system with an interactive user interface - Google Patents
Passing system with an interactive user interface Download PDFInfo
- Publication number
- US20190347838A1 US20190347838A1 US16/513,423 US201916513423A US2019347838A1 US 20190347838 A1 US20190347838 A1 US 20190347838A1 US 201916513423 A US201916513423 A US 201916513423A US 2019347838 A1 US2019347838 A1 US 2019347838A1
- Authority
- US
- United States
- Prior art keywords
- individual
- passing
- user interface
- interactive
- passings
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
- 
        - G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
 
- 
        - G06F17/246—
 
- 
        - G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
 
- 
        - G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
 
- 
        - G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
 
- 
        - G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
 
- 
        - G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
- G08G1/0129—Traffic data processing for creating historical data or processing based on historical data
 
- 
        - G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0137—Measuring and analyzing of parameters relative to traffic conditions for specific applications
- G08G1/0141—Measuring and analyzing of parameters relative to traffic conditions for specific applications for traffic information dissemination
 
- 
        - G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/017—Detecting movement of traffic to be counted or controlled identifying vehicles
- G08G1/0175—Detecting movement of traffic to be counted or controlled identifying vehicles by photographing vehicles, e.g. when violating traffic rules
 
- 
        - G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2240/00—Transportation facility access, e.g. fares, tolls or parking
 
Definitions
- the present disclosure relates to systems and techniques for marker passing data integration, analysis, and visualization. More specifically, systems and methods are disclosed that facilitate calculation and presentation of passing analysis. Furthermore, systems and methods are disclosed for the collection and processing of passing data from various data sources.
- Embodiments of the present disclosure generally relate to passing data processing and visualization.
- Marker management systems such as toll management applications, are available from a number of providers. Some of the marker management systems may provide a user interface displaying the passing, marker, and/or co-passing information.
- the system is configured to automatically access data from a plurality of data sources, and convert the data to a common format.
- the system can also communicate with other marker passing (e.g., toll) management systems and/or any other vehicle related systems to collect data.
- the data can include vehicle data and/or individual data.
- the vehicle data can include information associated with a vehicle, such as its ownership information, passenger information (e.g., which individuals are in the vehicle) at a specific time of record, color, license plate information, etc.
- the individual data can include information associated with the individual, such as name, age, gender, vehicle ownership, ride information (e.g., which vehicle he is in) at a specific time of record, etc.
- the system can first map the related data based on one or more pre-defined rules and store the mapping the database.
- the system can provide a user an interactive user interface for displaying data associated with a first individual.
- the interactive user interface in some cases, can be defined by the user.
- the system can automatically retrieve related data associated with the second individual and update the interactive user interface to display a comparison of data associated with the two individuals.
- the interactive user interface can include comparisons of data associated with the two individuals, including visualizations such as timelines and bubble charts with the data visually overlapping to provide insights to the user.
- the system can generate a second interactive user interface to display detailed vehicle information associated with to a specific marker, which gives the user a more illustrative way to analyze the data.
- the second user interface includes a matrix visualization of vehicle information, where a first dimension of the matrix represents buckets of time, and a second dimension of the matric represents different lanes by which vehicles passed the specific marker.
- the second interactive user interface can provide insights to a user regarding timing and sequencing of vehicles passing the marker, and can include indications of attributes of the vehicles (e.g., color of the vehicles) and options for filtering and highlighting of displayed vehicles.
- the system may be configured and/or designed to generate user interface data useable for rendering the various interactive user interfaces described.
- the user interface data may be used by the system, and/or another computer system, device, and/or software program (for example, a browser program), to render the interactive user interfaces.
- the interactive user interfaces may be displayed on, for example, electronic displays (including, for example, touch-enabled displays).
- the present disclosure describes various embodiments of interactive and dynamic user interfaces that are the result of significant development. This non-trivial development has resulted in the user interfaces described herein which may provide significant cognitive and ergonomic efficiencies and advantages over previous systems.
- the interactive and dynamic user interfaces include improved human-computer interactions that may provide reduced mental workloads, improved decision-making, reduced work stress, and/or the like, for a user.
- user interaction with the interactive user interface via the inputs described herein may provide an optimized display of, and interaction with, image data (including medical images) and may enable a user to more quickly and accurately access, navigate, assess, and digest the image data than previous systems.
- the interactive and dynamic user interfaces described herein are enabled by innovations in efficient interactions between the user interfaces and underlying systems and components.
- disclosed herein are improved methods of receiving user inputs (including methods of interacting with, and selecting, search criteria, etc.), translation and delivery of those inputs to various system components, automatic and dynamic execution of complex processes in response to the input delivery, automatic interaction among various components and processes of the system, and automatic and dynamic updating of the user interfaces (to, for example, display the relevant medical images).
- the interactions and presentation of data via the interactive user interfaces described herein may accordingly provide cognitive and ergonomic efficiencies and advantages over previous systems.
- systems and/or computer systems comprise a computer readable storage medium having program instructions embodied therewith, and one or more processors configured to execute the program instructions to cause the one or more processors to perform operations comprising one or more aspects of the above- and/or below-described embodiments (including one or more aspects of the appended claims).
- computer program products comprising a computer readable storage medium
- the computer readable storage medium has program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to perform operations comprising one or more aspects of the above- and/or below-described embodiments (including one or more aspects of the appended claims).
- a system comprising a computer readable storage medium having embodied thereon program instructions and one or more processors.
- the one or more processors are configured to execute the program instructions to cause the system to: generate user interface data configured to be rendered as an interactive user interface.
- the interactive user interface includes: a first portion including an interactive bubble chart configured to display a first set of passing information related to instances of a first individual passing a first plurality of markers, wherein the bubble charts comprises: indications of one or more days of the week along a first axis; indications of one or more time periods within a day along a second axis orthogonal to the first axis; and at each of a first set of intersections of respective days and time periods, indications in a first format of a quantity of the first individual passing at least one of the first plurality of markers in a respective time period on a respective day of a week, the first set of intersections being determined based on the first set of passing information; and a second portion including a selectable user interface element for providing one or more search criteria for identifying other individuals in a search for other individuals with passings related to passings of the first individual.
- the one or more processors are further configured to execute the program instructions to cause the system to: receive a first user input providing one or more search criteria via the second portion of the user interface; in response to the first user input: determine, based at least in part on the one or more search criteria, one or more other individuals with passings related to the passings of the first individual; display a list of the one or more other individuals in a third portion of the interactive user interface; receive a second user input selecting a second individual from the list of the one or more other individuals; determine a second set of passing information related to one or more instances of the second individual passing the first plurality of markers; automatically update the bubble chart included in the first portion of the interactive user interface to include: at each of a second set of intersections of respective days and time periods, indications in a second format of a quantity of the second individual passing at least one of the first plurality of markers in a respective time period on a respective day of a week, the second set of intersections being determined based at least partly on the second set of passing information, wherein the
- a computer-implemented method for processing passing information data and generating interactive user interfaces comprises, by one or more processors executing program instructions, generating user interface data configured to be rendered as an interactive user interface including: a first portion including an interactive bubble chart configured to display a first set of passing information related to instances of a first individual passing a first plurality of markers, wherein the bubble charts comprises: indications of one or more days of the week along a first axis; indications of one or more time periods within a day along a second axis orthogonal to the first axis; and at each of a first set of intersections of respective days and time periods, indications in a first format of a quantity of the first individual passing at least one of the first plurality of markers in a respective time period on a respective day of a week, the first set of intersections being determined based on the first set of passing information; and a second portion including a selectable user interface element for providing one or more search criteria for identifying
- the computer-implemented method further comprises, by one or more processors executing program instructions, receiving a first user input providing one or more search criteria via the second portion of the user interface; in response to the first user input: determining, based at least in part on the one or more search criteria, one or more other individuals with passings related to the passings of the first individual; displaying a list of the one or more other individuals in a third portion of the interactive user interface; receiving a second user input selecting a second individual from the list of the one or more other individuals; determining a second set of passing information related to one or more instances of the second individual passing the first plurality of markers; automatically updating the bubble chart included in the first portion of the interactive user interface to include: at each of a second set of intersections of respective days and time periods, indications in a second format of a quantity of the second individual passing at least one of the first plurality of markers in a respective time period on a respective day of a week, the second set of intersections being determined based at least partly on the second set of passing information
- FIG. 1 is a system diagram illustrating an example integrated passing system in an example operating environment, according to an embodiment of the present disclosure.
- FIG. 2 is a flow chart illustrating an example process of passing analysis, according to an embodiment of the present disclosure.
- FIG. 3 is a flow chart illustrating an example process of marker analysis, according to an embodiment of the present disclosure.
- FIGS. 4 and 5 illustrate example integrated system user interfaces displaying passing, co-passing, and/or marker information to the user.
- FIG. 6 illustrates a computer system with which certain methods discussed herein may be implemented.
- the system is configured to automatically access data from a plurality of data sources, and convert the data to a common format.
- the system can also communicate with other marker passing (e.g., toll) management systems and/or any other vehicle related systems to collect data.
- the data can include vehicle data and/or individual data.
- the vehicle data can include information associated with a vehicle, such as its ownership information, passenger information (e.g., which individuals are in the vehicle) at a specific time of record, color, license plate information, etc.
- the individual data can include information associated with the individual, such as name, age, gender, vehicle ownership, ride information (e.g., which vehicle he is in) at a specific time of record, etc.
- the system can first map the related data based on one or more pre-defined rules and store the mapping the database.
- the system can provide a user an interactive user interface for displaying data associated with a first individual.
- the interactive user interface in some cases, can be defined by the user.
- the system can automatically retrieve related data associated with the second individual and update the interactive user interface to display a comparison of data associated with the two individuals.
- the interactive user interface can include comparisons of data associated with the two individuals, including visualizations such as timelines and bubble charts with the data visually overlapping to provide insights to the user.
- the system can generate a second interactive user interface to display detailed vehicle information associated with to a specific marker, which gives the user a more illustrative way to analyze the data.
- the second user interface includes a matrix visualization of vehicle information, where a first dimension of the matrix represents buckets of time, and a second dimension of the matric represents different lanes by which vehicles passed the specific marker.
- the second interactive user interface can provide insights to a user regarding timing and sequencing of vehicles passing the marker, and can include indications of attributes of the vehicles (e.g., color of the vehicles) and options for filtering and highlighting of displayed vehicles.
- Data Store/Source Any computer readable storage medium and/or device (or collection of data storage mediums and/or devices). Examples of data stores include, but are not limited to, optical disks (e.g., CD-ROM, DVD-ROM, etc.), magnetic disks (e.g., hard disks, floppy disks, etc.), memory circuits (e.g., solid state drives, random-access memory (RAM), etc.), and/or the like.
- Another example of a data store is a hosted storage environment that includes a collection of physical data storage devices that may be remotely accessible and may be rapidly provisioned as needed (commonly referred to as “cloud” storage).
- Data sources may include any application, system, etc. that can provide the system with availabilities of entities and/or locations, including but not limited to: any marker management applications, any third party personnel management systems, any internal logs, etc. In some examples, data source can also include data manually input by entities.
- Database Any data structure (and/or combinations of multiple data structures) for storing and/or organizing data, including, but not limited to, relational databases (e.g., Oracle databases, MySQL databases, etc.), non-relational databases (e.g., NoSQL databases, etc.), in-memory databases, spreadsheets, as comma separated values (CSV) files, eXtendible markup language (XML) files, TeXT (TXT) files, flat files, spreadsheet files, and/or any other widely used or proprietary format for data storage. Databases are typically stored in one or more data stores.
- relational databases e.g., Oracle databases, MySQL databases, etc.
- non-relational databases e.g., NoSQL databases, etc.
- in-memory databases e.g., spreadsheets, as comma separated values (CSV) files, eXtendible markup language (XML) files, TeXT (TXT) files, flat files, spreadsheet files, and/or
- each database referred to herein is to be understood as being stored in one or more data stores.
- the present disclosure may show or describe data as being stored in combined or separate databases, in various embodiments such data may combined and/or separated in any appropriate way into one or more databases, one or more tables of one or more databases, etc.
- a marker may include a toll, facility, or other indicator that provides for crossing a boundary, manages entering and/or exiting of a designated area, and/or the like.
- Some examples are parking structures, gated communities, research labs, campuses, countries (borders), court houses, etc. Areas may be designated for various reasons, such as security, traffic limitation, etc.
- One designated area may have one or more markers (e.g., one or more entrances/exits). Information of individuals passing a marker can be recorded, either manually by personnel or automatically by other one or more independent systems. Individuals entering and/or exiting different designated areas may be required to provide various personal identifiable information.
- a marker may include one or more lanes.
- a passing may include entering and/or exiting events related to a marker of a designated area.
- the passing can be made by an individual via a vehicle, on foot, etc.
- a passing can be made by one or more individuals.
- the one or more individuals may make a passing for various reasons, and sometimes the passing may be made by ways of log in, identification, security checking, background checking, etc. Passings can also be categorized based on individuals.
- Co-Passings Any passing of an individual (or other entity) that is in any way related to a passing of another individual (or entity). For example, if two individuals pass a marker in one car, their passings can be viewed as a co-passing by the system.
- the relationship of co-passings may be one of more remote in nature.
- co-passings may include two passings of two individuals happening in one designated area, happening within a certain period of time, happening at the same marker, happening in the same vehicle in totally different areas, etc.
- the relations of co-passings may be defined by a user.
- FIG. 1 is a system diagram illustrating an example integrated system in an example operating environment 100 , according to an embodiment of the present disclosure.
- the operating environment 100 includes the system 120 , data sources A 110 a to N 110 n, and user device 130 .
- the system 120 , the data sources A 110 a to N 110 n, and the user device 130 can communicate with each other using a network 102 .
- the system 120 can include one or more centralized databases.
- the operating environment 100 can allow users to input, edit, organize, and/or compute data in the system 120 via the user device 130 .
- the system 120 can generate one or more interactive user interfaces displaying on the user device 130 .
- the network 102 can be a local area network, a wide area network, a peer-to-peer network, radio frequency, Bluetooth, Wi-Fi, or any other type of communication network.
- components within the computing environment 100 can communicate with each other through different types of networks at the same time.
- the system 120 can perform various functions in the operating environment 100 , such as collecting data items associated with various individuals from the data sources A 110 a to N 110 n, storing and process data items for the individuals, transmitting the processed data items to the user device 130 , generating and transmitting notices based on the processed data items to the user device 130 and/or the data source A 110 a to N 110 n, etc.
- the system 120 may be a part of one or more servers.
- the system 120 can include multiple engines performing the various functions.
- the system 120 includes a data management engine 124 , a passing analysis engine 126 , a UI management engine 128 , and a data store 122 .
- the data store 122 can be a local data store. Alternatively, the data store 122 can be a remote data store connected to the system 120 via the network 102 .
- one or more engines can perform one or more of the various functions.
- the data management engine 124 can communicate, exchange, or share data with other devices or systems, such as the data sources A 110 a to N 110 n, the user device 130 , other data stores, etc.
- the data management engine 124 can collect data items associated with passings of individuals, reformat the data items into uniform format data items, and/or store the reformatted data items, process the reformatted data items to determine potential co-passings and transmit the processed reformatted data items to the user device 130 , generating and transmitting notices to the data sources A 110 a to N 110 n., etc.
- the passing analysis engine 126 can compute the uniform format data items and determine co-passings based at least partly on search criteria provided by the user.
- the passing analysis engine 126 can update co-passings of the individual and the other individual. As the passing analysis engine 126 determines co-passings, it can retrieve data from one or more databases for the user.
- the UI management engine 128 can generate an interactive user interface for the user on the user device 130 , where the interactive user interface can display passings of an individual and/or co-passings of two or more individuals in various formats, such as interactive bubble charts, interactive tables, interactive timelines, interactive bar charts, etc.
- the UI management engine 128 can also receive inputs from the user to search co-passings.
- the passing analysis engine 126 can determine co-passings based at least partly on the input and the UI management engine 128 can advantageously in some embodiments update the interactive user interface on the user device 130 to display the passings. Additionally, the UI management engine 128 can also receive user inputs from the user to view the co-passings more interactively.
- the system 120 includes a data management engine 124 .
- the data management engine 124 can communicate, exchange, or share data with other devices or systems, such as the data sources A 110 a to N 110 n, the user device 130 , other data stores, etc.
- the data management engine 124 can collect data items associated with passings of individuals, reformat the data items into uniform format data items, and/or store the reformatted data items, process the reformatted data items to determine potential co-passings and transmit the processed reformatted data items to the user device 130 , generating and transmitting notices to the data sources A 110 a to N 110 n., etc.
- the data management engine 124 can communicate, exchange, or share data with the other devices or systems constantly. For example, each time the data sources A 110 a to N 110 n have a data update, the data management engine 124 can receive the update automatically. The data management engine 124 can also communicate, exchange, or share data with the data sources A 110 a to N 110 n periodically upon a trigger event defined by the user.
- a trigger event may be an indication that a certain period of time has passed since the last update.
- a trigger event may be also a specific individual passing a certain marker.
- the data management engine 124 can only request relevant data from the data sources A 110 a to N 110 n as needed. For example, the user may wish to view passing data of one or more individuals.
- the data management engine 124 can first communicate with each of the other devices and systems asking for data items associated with the one or more individuals. The data management engine 124 can then collect data items associated with the one or more individuals.
- the various data sources A 110 a to N 110 n may operate various different systems collecting different passing data items. In some instances, these systems may allow access through specific Application Programming Interfaces (“APIs”). Commonly, each API utilizes its own format in storing availability data items associated with a marker.
- the data management engine 124 can collect data items that are stored in a specific format in a specific API in the data source A 110 a by forming API requests in the specific format. The API request may contain information required by the API. The data management engine 124 can then collect responses from the API, parse through the responses, and translate the responses into data items in a uniform format that the passing analysis engine 126 can compute.
- the data management engine 124 can form various requests for the various APIs, collect responses containing information from the APIs in the various data sources A 110 a to N 110 n.
- the data management engine 124 can store the collected information in the data store 122 .
- the data management engine 124 can also parse through the collected responses and determine the data items to be translated into the uniform format.
- the uniform format data items can also include information associated with the API(s) and/or the data source(s) where the data items are collected from.
- the data management engine 124 can determine the types of information needed. The data management engine 124 can compare the types of information needed with the data items in the responses collected and then translate the data items containing the types of information needed.
- the data management engine can communicate with other systems if the data management engine 124 determines the data items collected are not comprehensive as needed, it may communicate with other systems the system 120 does not normally communicate with to collect required data. As an example, if passing data items the data management engine 124 collected does not include data of a photo of an individual, the data management engine 124 may communicate with social network systems and/or search engines to obtain data of a photo (e.g., the most recent photo) of the individual.
- a photo e.g., the most recent photo
- the data management engine 124 can first translate the data items in the collected responses into the uniform format and then compare the uniform format data with the types of information needed. The data management engine 124 can then store the relevant information in the data store 122 .
- the data management engine 124 can create an individual passing database stored in the data store 122 .
- the individual passing database can store the uniform format data items translated from the collected information. Alternatively, the individual database can store the data items in the data stores 122 in their original formats.
- the data management engine 124 may choose not to translate the single format data items into the uniform format.
- the data management engine 124 can parse through the data and store the relevant data items in the individual passing database in the single format.
- the individual passing database can store any information associated with the individual and his passing, such as a name, an ID (e.g., SSN), a date of birth, a gender, a photo, an event (e.g., social, personal, criminal, etc.), vehicle information, etc.
- the vehicle information can include any information of a vehicle by which an individual uses to pass a marker or an indication that the individual passes a marker on foot, such as a color of a vehicle, a model of vehicle, individuals related to the vehicle, etc.
- the data management engine 124 can communicate with the data sources A 110 a to N 110 n periodically in order to update the individual passing database. This can advantageously improve the efficiency, accuracy, and/or speed as it avoids multiple requests to the same API(s).
- the data management engine 124 may only need to collect updated information associated with passings that are not stored in the availability database. For example, upon receiving a new request to view passings for one or more individuals, the data management engine 124 can collect information associated with each individual. If currently there is information associated with one or more individuals stored in the individual passing database, the data management engine 124 can compare the newly collected information associated with the one or more individuals with the stored information in the individual passing database and store only the updated information in the individual passing database.
- the data management engine 124 can store the collected information in the data store 122 temporarily. The data management engine 124 may delete the stored information each time the system 120 receive a user input indicating the user has finished viewing passing information. Upon receiving a new request, the data management engine 124 can repeat the process.
- the data management engine 124 can also create a marker database. As the passing analysis engine 126 determines one or more co-passings, the data management engine 124 can store the co-passings in the marker database.
- the marker database can also include any other information related to passings of a marker, such as individuals passing the marker, a related marker (e.g., another marker of the same and/or related designated area), a lane an individual in which an individual passing the marker, a vehicle, etc.
- the data management engine 124 can also map data items in the marker database with data items in other databases, such as the individual passing database.
- the data management engine 124 can also store in the marker database other information, such as user inputs regarding co-passings with other individuals, rankings and/or scores of each of the other individuals, etc.
- the data management engine can also transmit the notices the passing analysis engine 126 generates to the user device 130 and/or the data sources A 110 a to N 110 n.
- the data management engine 124 can retrieve the API information stored in the individual passing database, and generate the notices in the data formats the APIs recognize. The data management engine 124 can then transmit the notices to the data sources A 110 a to N 110 n and/or the user device 130 .
- the notices can be any information related to the passing of the individual.
- the system 120 includes a passing analysis engine 126 .
- the passing analysis engine 126 can compute the uniform format data items and determine co-passings based at least partly on search criteria provided by the user. Additionally, based at least on user inputs selecting another individual, the passing analysis engine 126 can update co-passings of the individual and the other individual. As the passing analysis engine 126 determines co-passings, it can retrieve data from the individual passing database and/or the marker database to provide more information for the user.
- the passing analysis engine 126 can retrieve information related to one or more passing instances related to the individual or the marker from the data store 122 .
- the passing analysis engine 126 can categorize the information it retrieves from the data store 122 into different groups for easy access. In some embodiments, such categorization may have been performed by the data management engine 124 as it stores passing information in the individual passing database and/or marker database.
- the passing analysis engine 126 can communicate with the UI management engine to generate interface data to display such information in an interactive user interface on the user device 130 .
- the passing analysis engine 126 can determine one or more other individuals whose passings are related to the instances of the passings of the individual.
- the search criteria can include a minimal and/or maximum number of co-passings, a minimal and/or maximum number of independent passings, a minimal and/or maximum time interval, whether to include related vehicles, whether to include related markers, etc.
- the minimal or maximum number of co-passings may indicate a minimal or maximum number of the passings of the one or more markers that are related to the individual in a certain way.
- the relationship may be defined by the user and/or pre-defined by the system.
- co-passings may include individuals from a single household.
- co-passings may include individuals passing a specific marker, and/or a same lane of the same marker in the same day.
- the user may define co-passings at any time to better analyze passings of individuals.
- the system 120 may pre-define co-passings as individuals passing the same marker in the same day.
- the system 120 may then provide the user, via the UI management engine 128 , with a user interface to define co-passings.
- the minimal or maximum independent passings may indicate a minimal or maximum number of the passings that are not related to the individual in any way.
- the minimal or maximum time interval may indicate a minimal or maximum period of time could lapse between two co-passings.
- Whether to include related vehicles may indicate whether the other one or more individuals used one or more vehicles related to the individual.
- the related vehicles may be vehicles used by the individual, vehicles registered under the individual's name, vehicles used by a person related to the individual, etc.
- the related vehicle may be defined by the user and/or pre-defined by the user.
- Whether to include related markers may indicate whether one or more markers related to the markers the individual passed are included. Such relationship may be defined by the user and/or pre-defined by the user.
- markers are related if they are associated with the same designated area.
- two or more designated areas are associated with each other, such as various campuses of a university, markers associated with the designated areas are related.
- the analysis engine 126 can compute data items in the data store 122 and determine one or more other individuals with passings related to the passings of the first individual. If there is one other individual with passings related to the passings of the first individual, the passing analysis engine 126 can communicate with the UI management engine 128 to update the interactive user interface displaying the passing of the one other individuals, such as in the interactive bubble chart, interactive bar chart, interactive table, and/or interactive timeline. In some embodiments, if there are more than one other individual with passings related to the passings of the first individual, the passing analysis engine 126 can weight and/or rank, based at least partly on one or more predefined decision rules and/or user defined rules, the more than one other individual.
- the decision rules can include: the time of co-passings based at least on the search criteria, a quantity of each of the more than one other individual passing a certain marker, a quantity of each of the more than one other individual entering and/or exiting the designated area.
- the system 120 can then update the interactive user interface to display the more than one other individuals based at least partly on the ranking.
- the passing analysis engine 126 can communicate with the UI management engine 128 to update the interactive user interface to display the passing of the one of the more than one other individuals, such as in the interactive bubble chart, interactive bar chart, interactive table, and/or interactive timeline.
- the passing analysis engine 126 may further include a machine learning module.
- the machine learning module may parse through the data items stored in the individual passing database and/or marker database.
- the machine learning module can advantageously map the multiple data items in the individual passing database and/or the marker database.
- the machine learning module can first conduct the pre-computation mappings based on the system pre-defined mapping rules.
- the mapping rules may be any relationships between individuals, markers, and/or vehicles.
- the machine learning module can, based at least on the user interactions, update the mapping rules. Additionally, based at least on the updates in the mapping rules, the machine learning module may also advantageously make one or more predictions of a specific user's preference of search criteria.
- the machine learning module may map individuals passing a same marker in related vehicles within a thirty minute interval in the individual passing database and/or marker database. As such user makes a further interaction with the system 120 asking for individual A's passing information and requests co-passings of another individual passing the same marker in related vehicles within a thirty-minute interval, the machine learning can search the stored mappings and determine one or more other individuals that meet the search criteria. As another example, if a user frequently searches co-passings using two or more sets of search criteria, the machine learning module can conduct two or more mappings for each individual in the individual passing and/or marker database.
- the system can provide the requested information more efficiently as the system can simply retrieve the mapping in the data store 122 without conducting further computation and/or searching in the data store 122 .
- the machine learning module can determine one or more possible relations between individuals or markers.
- the machine learning module can study and/or analyze one or more patterns of an individual's passings, such as time, dates, specific markers, etc.
- the machine learning module can determine the relationships between the events and tag those of high importance. As one example, if one individual passes a marker at a time out of pattern, the machine learning module can flag the individual. As a related individual is trying to pass a related marker, the machine learning module can generate a notice and the system 120 can transmit the notice to the data sources A 110 a to N 110 n.
- the system 120 in the example of FIG. 1 , includes a UI management engine 128 .
- the UI management engine 128 can generate an interactive user interface for the user on the user device 130 , where the interactive user interface can display the passing, co-passing, and/or marker information on the user device 130 .
- the UI management engine 128 can also receive inputs from the user to request co-passings information. Based at least on the received inputs, the system 120 can instruct the passing analysis engine 126 to determine co-passings and the UI management engine 128 can advantageously update the interactive user interface on the user device 130 displaying the co-passing information.
- the UI management engine 128 may generate one or more portions on the interactive user interface for receiving, displaying, and/or updating search criteria, passing information, and/or any other information.
- the UI management engine 128 can generate the following portions of the interactive user interface: one for receiving search criteria from the user, one for an interactive bubble chart displaying passing information, one for displaying one or more other individuals related to the individual based at least partly on the search criteria, one for receiving user inputs, etc.
- the UI management engine 128 can generate and/or display more or fewer portions for displaying more or less passing information and/or receiving inputs from users.
- the UI management engine 128 can, based on user inputs, add, delete, update, and/or edit one or more user interface elements on the interactive user interface. For example, the UI management engine 128 can generate a UI element for adding, deleting, and/or updating the search criteria. The user, using the UI element, can add one or more UI elements to customize the search criteria. The added UI elements may have different formats, such as calendar, dropdown box, etc. More details of the UI management engine 128 will be discussed with references to FIG. 4 and FIG. 5 .
- system 120 may comprise, or be implemented in, a “virtual computing environment”.
- virtual computing environment should be construed broadly to include, for example, computer readable program instructions executed by one or more processors (e.g., as described below in the example of FIG. 6 ) to implement one or more aspects of the modules and/or functionality described herein. Further, in this implementation, one or more modules/engines/etc.
- data management engine 124 may be understood as comprising one or more rules engines of the virtual computing environment that, in response to inputs received by the virtual computing environment, execute rules and/or other program instructions to modify operation of the virtual computing environment.
- a request received from the user device(s) 130 may be understood as modifying operation of the virtual computing environment to cause the data management engine 124 to gather data associated with the request, the passing analysis engine 126 to automatically generate scheduled, and the UI management engine 128 to generate interactive user interfaces.
- Such functionality may comprise a modification of the operation of the virtual computing environment in response to inputs and according to various rules.
- Other functionality implemented by the virtual computing environment may further comprise modifications of the operation of the virtual computing environment, for example, the operation of the virtual computing environment may change depending on the information gathered by the data management engine 124 and/or responses received and analyzed via the UI management engine 128 and/or the passing analysis engine 126 .
- Initial operation of the virtual computing environment may be understood as an establishment of the virtual computing environment.
- the virtual computing environment may comprise one or more virtual machines, containers, and/or other types of emulations of computing systems or environments.
- the virtual computing environment may comprise a hosted computing environment that includes a collection of physical computing resources that may be remotely accessible and may be rapidly provisioned as needed (commonly referred to as “cloud” computing environment).
- Implementing one or more aspects of the system 120 as a virtual computing environment may advantageously enable executing different aspects or modules of the system on different computing devices or processors, which may increase the scalability of the system.
- Implementing one or more aspects of the system 120 as a virtual computing environment may further advantageously enable sandboxing various aspects, data, or modules of the system from one another, which may increase security of the system by preventing, e.g., malicious intrusion into the system from spreading.
- Implementing one or more aspects of the system 120 as a virtual computing environment may further advantageously enable parallel execution of various aspects or modules of the system, which may increase the scalability of the system.
- Implementing one or more aspects of the system 120 as a virtual computing environment may further advantageously enable rapid provisioning (or de-provisioning) of computing resources to the system, which may increase scalability of the system by, e.g., expanding computing resources available to the system or duplicating operation of the system on multiple computing resources.
- the system may be used by thousands, hundreds of thousands, or even millions of users simultaneously, and many megabytes, gigabytes, or terabytes (or more) of data may be transferred or processed by the system, and scalability of the system may enable such operation in an efficient and/or uninterrupted manner.
- FIG. 2 is a flow chart illustrating an example passing analysis process according to an embodiment of the present disclosure.
- fewer blocks or additional blocks may be included in the process of FIG. 2 , or various blocks may be performed in an order different from that shown in the figure.
- the block of FIG. 2 may be performed serially and/or concurrently, and may be performed multiple times simultaneously. Further, one or more blocks in the figure may be performed by various components of the system, for example, the passing analysis engine 126 (described above in reference to FIG. 1 ).
- the system 120 may receive initial search criteria.
- the initial search criteria may be entered by the user in an interactive user interface described later with reference to block 214 .
- the initial search criteria may include one or more of the following: a name, an ID, a date of birth, etc.
- the initial search criteria in some embodiment, may be used to determine one or more individuals by the system 120 .
- the system 120 can display the list of the one or more individuals to the user and the user can choose a first individual whose passing information the user wishes to view.
- the system 120 can determine a set of passing information of the first individual the user wishes to view.
- the set of passing information may include passing information related to instances of the individual passing one or more markers.
- the passing analysis engine 126 can retrieve data associated with the passing information related to the instances of the individual passing the one or more markers in the individual passing database.
- the system 120 can generate an interactive user interface on the user device 130 .
- the interactive user interface can include an interactive bubble chart in a first portion.
- the set of passing information of the instances related to the first individual can be displayed in the interactive bubble chart.
- the interactive bubble chart may be used to show a pattern in the first set of passing information.
- the Y axis of the interactive bubble chart indicates one or more days of the week and the X axis of the interactive bubble chart indicates one or more time periods within a day.
- a bubble at an intersection of the X axis and the Y axis indicates a quantity of the first individual passing the one or more markers.
- the size of the bubble may indicate the quantity.
- the system 120 can update the interactive user interface to display one or more user elements in a second portion.
- the one or more interactive user elements can indicate one or more search criteria for identifying other individuals in a search for passings related to the passings of the first individual.
- the search criteria can include a minimal and/or maximum number of co-passings, a minimal and/or maximum number of independent passings, a minimal and/or maximum time interval, whether to include related vehicles, whether to include related markers, etc.
- the system 120 can provide the user in the second portion for the user to define, add, delete, and/or update the one or more search criteria.
- the system 120 can update the interactive user interface to include one or more additional portions.
- the one or more additional portions may include one or more interactive user interface elements for displaying the first set of passing information.
- the system 120 can update the interactive user interface to include an interactive timeline, an interactive bar chart, and/or an interactive table.
- the one or more interactive user interface elements can be used to display the first set of passing information of instances of the first individual.
- the system 120 can provide the user in the second portion a user interface element for the user to define, add, delete, and/or update the one or more user interface elements for search criteria.
- the system 120 can receive one or more search criteria via the second portion of the interactive user interface.
- the search criteria can be input by the user.
- the search criteria entered by the user can be used by the passing analysis engine 126 to determine one or more patterns of the user's analysis.
- the one or more patterns can be used by the passing analysis engine 126 to conduct one or more pre-computation mappings.
- the pre-computation mappings can categorize information in the individual passing database and/or marker databases based at least partly on the one or more patterns. This can advantageously improve the computation speed of the system 120 and/or prove the efficiency.
- the system 120 can determine one or more other individuals with passings related to the passings of the first individual based at least on the one or more search criteria.
- the system 120 can search the individual passing database and/or marker database to determine the one or more individuals.
- the system 120 can retrieve the pre-computation mappings of the user if the one or more search criteria match the one or more patterns.
- the system 120 can then update the interactive user interface to display the one or more individuals.
- the system 120 can communicate with the data sources A 110 a to N 110 n to receive updates and update the individual passing database and/or marker database accordingly. Based on the one or more search criteria, the system 120 can refine and/or update the one or more patterns of the pre-computation mappings.
- the system 120 can weigh and rank the one or more other individuals based on one or more decision rules.
- the decisions rules can be pre-defined by system 120 and/or by the user.
- the decision rules may include a quantity of the co-passings, a time of co-passings based at least of the search criteria, a quantity of each of the more than one other individual passing a certain marker, a quantity of each of the more than one other individual entering and/or exiting the designated area, etc.
- the one or more patterns can include the user's preference of analysis of co-passings.
- the machine learning module can then update the one or more pre-computation mappings to improve efficiency of the system 120 .
- the system 120 can update the interactive user interface to display the list of the one or more other individuals in a third portion.
- the list of the one or more other individuals may be displayed according to the ranking determined at optional block 222 .
- the interactive user interface, in the third portion, may include one or more reasons of the rankings.
- the system 120 can receive a user input selecting a second individual from the list of the one or more individuals. As the system receives such selection, the system 120 can determine, at block 228 , a second set of passing information related to one or more instances of the second individuals passing the markers in the individual passing database and/or marker database.
- the system 120 can retrieves the relevant passing information as well.
- the user can select a third individual from the list (not indicated in FIG. 3 ), the system can update the interactive user interface accordingly.
- the system 120 can update the interactive user interface to display the second set of passing information in the interactive bubble chart.
- the second set of passing information may be displayed in the interactive bubble chart using a different format than the first set of passing information, such as a different color, different shades, etc.
- the system 120 can update the interactive user interface to display the second set of passing information in the interactive timeline, bar chart and/or table. As in the interactive bubble chart, the second set of passing information may be displayed in the interactive timeline, bar chart and/or table in a different format.
- the system 120 can optionally receive another one or more search criteria from the user to find another individual as the passing analysis process loops back to the block 218 .
- the system 120 can update other portions to indicate such interactions. For example, if the user selects a bubble in the interactive bubble chart, the system 120 can update the interactive timeline, interactive bar chart and/or interactive table to highlight only passing information of the selected bubble in the interactive bubble chart. Due to the pre-computation mappings and/or patterns, the system 120 can provide more efficient passing data processing to the user. The machine learning module of the system 120 can also help the user to better understand the passing information by sending notices.
- FIG. 3 is a flow chart illustrating an example process 300 of marker analysis, according to an embodiment of the present disclosure.
- fewer blocks or additional blocks may be included in the process of FIG. 3 , or various blocks may be performed in an order different from that shown in the figure.
- the block of FIG. 3 may be performed serially and/or concurrently, and may be performed multiple times simultaneously. Further, one or more blocks in the figure may be performed by various components of the system 120 , for example, the passing analysis engine 126 (described above in reference to FIG. 1 ).
- the system 120 receives a user input to view detailed information associated with a specific marker.
- the input may be a passing, a marker and/or any other criteria.
- the system 120 can determine at optional block 304 a set of detailed vehicle information related to a group of passings in the individual passing database and/or marker database.
- the user can request to view the detailed vehicle information in an interactive user table as discussed with reference to FIG. 2 .
- the system at optional block 306 , can generate an interactive user interface to display the set of detailed vehicle information.
- the system 120 can update the interactive user interface for the user to enter one or more criteria to view detailed vehicle information related to a specific marker as later described in details with reference to FIG. 5 .
- the system 120 can update the interactive user interface to display the set of detailed vehicle information in an interactive table in a first portion.
- the rows correspond to different time periods of a specific day and the columns indicate one or more lanes of the specific marker.
- Each cell may include detailed information of a vehicle of the passing, such as a photo of the vehicle, a color of the vehicle, a model of the vehicle, a time of the vehicle passing the marker, etc.
- the system 120 may update the interactive table to display the detailed information in different formats.
- the system 120 can update the interactive table to show an actual photo of the vehicle, including the specific color and model. Such display can help the user to better visually analyze of the passing.
- the system can update the interactive user interface to display a second portion for providing one or more filter criteria.
- the filter criteria can include lane filter criteria and/or visual filter criteria.
- the lane filter criteria may include a marker, a date, a time, etc.
- the system 120 can provide the user options to add, edit, and/or delete the lane filter criteria.
- the visual filter criteria may include a color of a vehicle, a model of a vehicle, a VIN number of a vehicle, a license plate of a vehicle, etc.
- the system 120 can provide the user options to add, edit, and/or delete the visual filter criteria on the interactive user interface.
- the system 120 receives one or more lane filter criteria from the use. As the system 120 receives the one or more lane filter criteria, the system 120 can determine at block 314 a first subset of detailed vehicle information based at least partly on the lane filter criteria. The system 120 can retrieve the first subset of detailed vehicle information from the individual passing database and/or the marker database.
- the system 120 can update the interactive user interface to display the first subset of detailed vehicle information in the interactive table.
- the rows and columns of the interactive tables can be updated.
- Each cell can show one or more sets of detailed vehicle information meeting the lane filter criteria.
- the system 120 can receive one or more visual filter criteria. Based at least partly on the one or more visual filter criteria, the system 120 can determine a second subset of detailed vehicle information at block 320 .
- the system can group passings with similar vehicle visual characteristics together associated with a marker in the marker database.
- the system 120 can group passings of black vehicles associated with a marker.
- the system 120 can group passings of 2011 black Model A vehicles together.
- the system 120 can then determine the second subset of detailed vehicle information in the related group. This way, when dealing with a huge number of passing data, the system 120 can provide an efficient way to process data.
- the system 120 at block 322 can update the interactive user interface to highlight the second subset of detailed vehicle information.
- the highlighting can be done by the system 120 in various formats. As one example, if the user wishes to view only red vehicles, the system 120 can update the interactive table to highlight the set of detailed vehicle information of red vehicles in red boxes as described in details later with reference to FIG. 5 .
- the system 120 can receive a user selection of a set of detailed vehicle information.
- the system 120 can then determine one or more individuals associated with the vehicle in the selected cell at block 326 .
- the system 120 can retrieve detailed individual information associated with the one or more individuals in the individual passing database and/or marker database.
- the system 120 can then update the interactive user interface to display the detailed individual information associated with the one or more individuals.
- the detailed individual information may include a photo, a name, an ID, etc.
- the user can further interact with the system 120 to request a passing photo which was taken as the individual passed the marker.
- the system 120 can automatically group relevant detailed individual information as at block 320 .
- the system 120 can provide an efficient way to process data.
- the system 120 can further provide the user with more comprehensive ways to view detailed vehicle and/or individual information related to a marker.
- FIG. 4 and FIG. 5 illustrate example interactive user interfaces displaying passing and/or co-passing information to a user, according to an embodiment, in which search criteria is collected, analyzed and/or computed and, based on the analysis and/or computation, co-passing information is automatically determined and presented to a user.
- the system 120 can generate an interactive user interface 400 on the user device 130 for displaying passing and/or co-passing information.
- the user can input one or more initial search criteria in user interface elements provided by the system 120 .
- the user can enter a name in a textbox 402 , an ID in a textbox 404 , and/or a date of birth in a textbox 406 .
- the system 120 can determine a first individual, Individual 1 , whose passing information the user wishes to view.
- the system 120 can retrieve data items associated passing information related to Individual 1 in the individual passing database and/or the marker database.
- the system 120 can update the interactive user interface 400 to allow the user to add, edit, and/or delete one or more user interface elements for providing more or fewer initial search criteria.
- one or more other applications can provide the system 120 with one or more initial search criteria.
- the one or more other applications can be text systems, call systems, and/or internet-based applications.
- the user can text the system 120 one or more initial search criteria and the system 120 can parse through the text message and determine the one or more initial search criteria inputted by the user.
- the system 120 can then update the interactive user interface 400 displaying the passing information of Individual 1 in various interactive user interface element.
- the system 120 can update the interactive user interface to display personal information of Individual 1 .
- a photo of Individual 1 is displayed via a user interface element 408 .
- the name of Individual 1 , Event # 1 , and Event # 2 are displayed next to the photo.
- the system 120 can generate a pop-up user interface to display detailed individual information related to Individual 1 .
- the system 120 can also display the passing information related to Individual 1 in various interactive user interface elements, such as an interactive time bar 420 , an interactive bubble chart 410 , an interactive bar chart 430 , and an interactive table 490 .
- the X-axis 416 indicates one or more time periods within a day and the Y-axis indicates days within a week.
- the passing information related to Individual 1 is displayed as various bubbles in the chart.
- Each bubble indicates a quantity of passings related to Individual 1 .
- bubble 414 may indicate a quantity of passings related to Individual 1 happening from 21:00 to 23:00 on Tuesdays.
- the size of a bubble may indicate the quantity of passings as shown in the interactive bubble chart 410 .
- bubble 413 is smaller than bubble 414 ; the quantity of the passings related to Individual 1 from 21:00 to 23:00 on Tuesdays is higher than the quantity of the passings related to Individual 1 from 21:00 to 23:00 on Fridays.
- the system 120 may indicate the quantity of passings within the bubble. Additionally, if the user clicks on the bubble 414 , the system 120 can generate a pop-up user interface to display detailed information of the passings related to the bubble 414 , such as detailed vehicle and/or individual information of such passing.
- the system 120 can provide the user with a user interface element to edit and/or define the interactive bubble chart, such as to change the format, the X-axis indications, the Y-axis indications, etc.
- the X-axis may indicate a month of a year.
- the X-axis in the interactive time line indicates a quarter of a year.
- Each bar in the interactive timeline may indicate the number of passings related to Individual 1 in the time period of the X-axis.
- bar 424 indicates a number of passing related to Individual 1 around March, 2015.
- the system 120 can generate a pop-up user interface displaying more detailed vehicle and/or individual information of the passings.
- the system 120 can provide the user with a user interface element to edit and/or define the interactive bar chart.
- the Y-axis of the vehicle used information table indicates one or more vehicles Individual used the passings of Individual 1 while the X-axis indicates a number of the one or more vehicles used.
- the vehicle information may be display in models, license plates, and so on.
- the Y-axis of the passing type table indicates whether the user used one or more vehicle or walked the passings of Individual 1 while the X-axis indicates a number of passing type.
- the Y-axis of the marker table indicates one or more markers related to the passings of Individual 1 while the X-axis indicates a number of passing the one or more marker.
- the system 120 can generate a pop-up user interface displaying more detailed vehicle and/or individual information of the passings.
- the system 120 can provide the user means to edit and/or define the interactive bar chart.
- the system 120 can also generate an interactive table 490 displaying the passing information related to Individual 1 .
- column 460 indicates a date of a passing
- column 462 indicates one or more individuals associated with the passing
- column 464 indicates one or more IDs of the one or more individuals
- column 466 indicates one or more dates of birth of the one or more individuals
- column 468 indicates one or more markers associated with the passing
- column 470 indicates a passing type
- column 472 indicates a vehicle associated with passing.
- row 491 indicates that Individual 1 passed Marker # 1 in Vehicle V 2 at 2:30:00 on March 1 st , 2015 and Individual 1 's ID is ID # 1 and Individual's date of birth is DOB# 1 .
- the interactive table 490 may be updated to indicate the more than one individual as shown in row 492 .
- the system 120 can generate a pop-up user interface displaying more detailed vehicle and/or individual information of the passings associated with the cell.
- the system 120 can provide the user with a user interface element to edit and/or define the interactive table, such as adding more columns, changing the order of the column, etc.
- the user can view detailed vehicle information by clicking on a button 454 .
- the system 120 can then generate a new interactive user interface displaying marker specific information as described later with reference to FIG. 5 .
- the user can enter one or more search criteria in search for one or more other individuals with passings related to the passings of the first individual.
- the user can enter a minimal number of co-passings via a user interface element 480 , enter a minimal number of independent passing via a user interface element 481 , enter a maximum time interval via a user interface element 482 , enter whether to include related vehicles via a user interface element 483 , and/or enter whether to include multiple related markers via a user interface element 484 .
- the system 120 can provide the user with a user interface element to add, edit, and/or delete the one or more search criteria.
- the system 120 can determine one or more other individuals that meet the search criteria in the individual passing database and/or marker database.
- the system 120 can improve data processing efficiency by accessing patterns and/or pre-computation mappings.
- the user enters the following search criteria: a minimal number of two co-passings, a minimal number of one independent passings and maximum time of thirty minute interval.
- the system 120 determines three other individuals meeting the search criteria: Individual 2 , Individual 3 , and Individual 4 .
- the system 120 can update the interactive user interface 400 to include a list of the other individuals.
- the system 120 can weigh and rank the three other individuals and can display the list according to the ranking. As shown in boxes 485 , 486 , and 487 , Individual 2 is listed on the top of the list as he has 10 passings with 4 co-passings related to the passings of Individual 1 , Individual 3 is listed on the second of the list as he has 7 passings with 2 co-passings while Individual 4 is listed on the bottom of the list as he has 6 passing with 2 co-passings. They are listed on the interactive user interface 400 based on the number of their passing and co-passings
- the system 120 can generate a pop-up user interface to display more detailed information of the passings related to Individual 2 , Individual 3 , or Individual 4 .
- the system 120 can update the interactive user interface 400 to display the passing information related to Individual 2 in the interactive bubble chart, the interactive timeline, the interactive bar chart and/or the interactive table.
- the system 120 can also update the interactive user interface 400 to include personal information related to Individual 2 , such as a photo 409 of Individual 2 , Individual 2 's related events and any other individual information associated with Individual 2 .
- a box 417 different formats may be shown for various individuals by the system 120 .
- the passing information related to Individual 1 is shown in a format in a user interface element 416 while the passing information related to Individual 2 is shown in a format in a user interface element 417 .
- the different formats may be different colors, different lines, different shades, etc.
- the system 120 can advantageously offer the user a clear and interactive way of viewing a comparison of the passing information associated with Individual 1 and Individual 2 .
- One example is the bubble 414 and a bubble 412 in the interactive bubble chart 410 .
- Other examples are bar 432 and bar 434 in the interactive bar chart 430 , bar 422 and bar 424 in the interactive timeline 420 , the row 491 and the row 492 in the interactive table.
- the user is viewing co-passing information related to Individual 1 and Individual 2 .
- the user can select yet another individual, for example, Individual 3 , to view the co-passing information related to Individual 1 , Individual 2 , and Individual 3 in different formats.
- the system 120 can efficiently retrieve relevant passing and/or co-passing information based at least partly on the user input.
- the system 120 can also provide a more interactive and detailed way for the user to view such information.
- the system 120 can generate another interactive user interface 500 to display detailed vehicle information related to a marker. As discussed with reference to FIG. 4 , the system 120 can generate the interactive user interface 500 in response to a user input to view detailed vehicle information associated with a specific marker.
- the system 120 can generate an interactive table 550 on the interactive user interface 500 to display detailed vehicle information related to the marker. Rows of the interactive table 550 indicate one or more time periods on a specific day while columns of the interactive table 550 indicate a lane of the marker. Each cell indicates a set of detailed vehicle information related to a vehicle passing the marker using the corresponding lane in the corresponding time period. For example, in box 562 and box 564 , the system 120 display two sets of detailed vehicle information related to two vehicles passing the marker using Lane 1 from 14:00 to 14:10.
- the detailed vehicle information in the interactive table may indicate information related to the vehicle: a license plate number, a date, a time of passing, a model, a color, a photo, etc.
- the user can input one or more lane filter criteria to filter the detailed vehicle information listed in the interactive user table 550 : the user can select a marker via a user interface element 514 , select a date via a user interface element 516 , select a time via a user interface element 518 , etc.
- the system may provide a user interface element for the user to add, delete, and/or edit one or more lane filter criteria.
- the system 120 can update the interactive table 550 to display only the detailed vehicle information that satisfies the one or more lane filter criteria.
- the user can input one or more visual filter criteria to filter the detailed vehicle information listed in the interactive user table 550 : the user can select a vehicle color via a user interface element 524 , a vehicle model via a user interface element 526 , a VIN number via a user interface element 528 , a license plate number via a user interface element 529 .
- the system may also provide the user with a user interface element to add, delete, and/or edit one or more visual filter criteria.
- the system 120 can update the interactive table 550 to highlight the detailed vehicle information that satisfies the one or more visual criteria.
- the color of the highlighting in some embodiments may correspond to the color filter criterion. For example, if the user wishes to view detailed vehicle information related to red vehicles, the system 120 can update the interactive table 550 to highlight the cell 562 and cell 568 in red boxes.
- the system 120 can highlight the cell and determines one or more individuals related to the cell. For example, if the user selects the cell 562 , the system 120 can determines Individual 5 as the driver and Individual 6 as a passenger by accessing the individual passing database and/or the marker database and/or search individual information related to the specific marker, time period, vehicle, and as so on. In the box 530 , the system 120 can display detailed individual information related to a driver, Individual 5 , such as a photo, an ID, a date of birth and/or related events.
- the system 120 can display detailed individual information related to a passenger, Individual 6 , such as a photo, an ID, a date of birth and/or related events. Additionally, the user can view a passing photo of Individual 1 by clicking a button 534 , and the system 120 can generate a pop-up user interface to display a photo of Individual 5 and Individual 6 passing the Marker 1 at 14:05 on Jan. 1, 2015 in a red model # 1 vehicle with a license plate number “License # 1 ”.
- the user may also wish to view passing information related to the driver, Individual 5 .
- the user can click the photo or any other information in the box 530 , the system can display the passing information related to Individual 1 on the interactive user interface 400 as described with reference to FIG. 4 .
- the system 120 can efficiently retrieve relevant detailed vehicle and/or individual information based at least partly on the user input.
- the system 120 can also provide a more interactive and detailed way for the user to view such information.
- Various embodiments of the present disclosure may be a system, a method, and/or a computer program product at any possible technical detail level of integration
- the computer program product may include a computer readable storage medium (or mediums) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure
- the functionality described herein may be performed as software instructions are executed by, and/or in response to software instructions being executed by, one or more hardware processors and/or any other suitable computing devices.
- the software instructions and/or other executable code may be read from a computer readable storage medium (or mediums).
- the computer readable storage medium can be a tangible device that can retain and store data and/or instructions for use by an instruction execution device.
- the computer readable storage medium may be, for example, but is not limited to, an electronic storage device (including any volatile and/or non-volatile electronic storage devices), a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- a non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a solid state drive, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- SRAM static random access memory
- CD-ROM compact disc read-only memory
- DVD digital versatile disk
- memory stick a floppy disk
- a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
- a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions (as also referred to herein as, for example, “code,” “instructions,” “module,” “application,” “software application,” and/or the like) for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages.
- Computer readable program instructions may be callable from other instructions or from itself, and/or may be invoked in response to detected events or interrupts.
- Computer readable program instructions configured for execution on computing devices may be provided on a computer readable storage medium, and/or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution) that may then be stored on a computer readable storage medium.
- Such computer readable program instructions may be stored, partially or fully, on a memory device (e.g., a computer readable storage medium) of the executing computing device, for execution by the computing device.
- the computer readable program instructions may execute entirely on a user's computer (e.g., the executing computing device), partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart(s) and/or block diagram(s) block or blocks.
- the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- the instructions may initially be carried on a magnetic disk or solid state drive of a remote computer.
- the remote computer may load the instructions and/or modules into its dynamic memory and send the instructions over a telephone, cable, or optical line using a modem.
- a modem local to a server computing system may receive the data on the telephone/cable/optical line and use a converter device including the appropriate circuitry to place the data on a bus.
- the bus may carry the data to a memory, from which a processor may retrieve and execute the instructions.
- the instructions received by the memory may optionally be stored on a storage device (e.g., a solid state drive) either before or after execution by the computer processor.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the blocks may occur out of the order noted in the Figures.
- two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- certain blocks may be omitted in some implementations.
- the methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate.
- any of the processes, methods, algorithms, elements, blocks, applications, or other functionality (or portions of functionality) described in the preceding sections may be embodied in, and/or fully or partially automated via, electronic hardware such application-specific processors (e.g., application-specific integrated circuits (ASICs)), programmable processors (e.g., field programmable gate arrays (FPGAs)), application-specific circuitry, and/or the like (any of which may also combine custom hard-wired logic, logic circuits, ASICs, FPGAs, etc. with custom programming/execution of software instructions to accomplish the techniques).
- ASICs application-specific integrated circuits
- FPGAs field programmable gate arrays
- any of the above-mentioned processors, and/or devices incorporating any of the above-mentioned processors may be referred to herein as, for example, “computers,” “computer devices,” “computing devices,” “hardware computing devices,” “hardware processors,” “processing units,” and/or the like.
- Computing devices of the above-embodiments may generally (but not necessarily) be controlled and/or coordinated by operating system software, such as Mac OS, iOS, Android, Chrome OS, Windows OS (e.g., Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, Windows Server, etc.), Windows CE, Unix, Linux, SunOS, Solaris, Blackberry OS, VxWorks, or other suitable operating systems.
- operating system software such as Mac OS, iOS, Android, Chrome OS, Windows OS (e.g., Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, Windows Server, etc.), Windows CE, Unix, Linux, SunOS, Solaris, Blackberry OS, VxWorks, or other suitable operating systems.
- the computing devices may be controlled by a proprietary operating system.
- Conventional operating systems control and schedule computer processes for execution, perform memory management, provide file system, networking, I/O services, and provide a user interface functionality, such as a graphical user interface (“GUI”), among other things.
- GUI graphical user interface
- FIG. 6 is a block diagram that illustrates a computer system 600 upon which various embodiments of the system 120 may be implemented.
- Computer system 600 includes a bus 602 or other communication mechanism for communicating information, and a hardware processor, or multiple processors, 604 coupled with bus 602 for processing information.
- Hardware processor(s) 604 may be, for example, one or more general purpose microprocessors.
- Computer system 600 also includes a main memory 606 , such as a random access memory (RAM), cache and/or other dynamic storage devices, coupled to bus 602 for storing information and instructions to be executed by processor 604 .
- Main memory 606 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 604 .
- Such instructions when stored in storage media accessible to processor 604 , render computer system 600 into a special-purpose machine that is customized to perform the operations specified in the instructions.
- the main memory 606 can be the data store 122 .
- Computer system 600 further includes a read only memory (ROM) 608 or other static storage device coupled to bus 602 for storing static information and instructions for processor 604 .
- ROM read only memory
- a storage device 610 such as a magnetic disk, optical disk, or USB thumb drive (Flash drive), etc., is provided and coupled to bus 602 for storing information and instructions.
- Computer system 600 may be coupled via bus 602 to a display 612 , such as a cathode ray tube (CRT) or LCD display (or touch screen), for displaying information to a computer user.
- a display 612 such as a cathode ray tube (CRT) or LCD display (or touch screen)
- An input device 614 is coupled to bus 602 for communicating information and command selections to processor 604 .
- cursor control 616 is Another type of user input device, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 604 and for controlling cursor movement on display 612 .
- This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
- a first axis e.g., x
- a second axis e.g., y
- the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor. Users can use the display 612 , the input device 614 , and/or the cursor control 616 to view, input, update, and/or change displayed passing information generated by the system 120 .
- Computing system 600 may include a user interface module (e.g., the UI management engine 128 ) to implement a GUI that may be stored in a mass storage device as computer executable program instructions that are executed by the computing device(s).
- Computer system 600 may further, as described below, implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 600 to be a special-purpose machine.
- the techniques herein are performed by computer system 600 in response to processor(s) 604 executing one or more sequences of one or more computer readable program instructions contained in main memory 606 . Such instructions may be read into main memory 606 from another storage medium, such as storage device 610 . Execution of the sequences of instructions contained in main memory 606 causes processor(s) 604 to perform the process steps described herein.
- hard-wired circuitry may be used in place of or in combination with software instructions.
- Various forms of computer readable storage media may be involved in carrying one or more sequences of one or more computer readable program instructions to processor 604 for execution.
- the instructions may initially be carried on a magnetic disk or solid state drive of a remote computer.
- the remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem.
- a modem local to computer system 600 can receive the data (e.g., data items associated with an marker) on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal.
- An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 602 .
- Bus 602 carries the data to main memory 606 , from which processor 604 retrieves and executes the instructions.
- the instructions received by main memory 606 may optionally be stored on storage device 610 either before or after execution by processor 604 .
- Computer system 600 also includes a communication interface 618 coupled to bus 602 .
- Communication interface 618 provides a two-way data communication coupling to a network link 620 that is connected to a local network 622 .
- communication interface 618 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line.
- ISDN integrated services digital network
- communication interface 618 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or WAN component to communicate with a WAN).
- LAN local area network
- Wireless links may also be implemented.
- communication interface 618 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
- Network link 620 typically provides data communication through one or more networks to other data devices.
- network link 620 may provide a connection through local network 622 to a host computer 624 or to data equipment operated by an Internet Service Provider (ISP) 626 .
- ISP 626 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 628 .
- Internet 628 uses electrical, electromagnetic or optical signals that carry digital data streams.
- the signals through the various networks and the signals on network link 620 and through communication interface 618 which carry the digital data to and from computer system 600 , are example forms of transmission media.
- Computer system 600 can send messages and receive data, including program code, through the network(s), network link 620 and communication interface 618 .
- a server 830 might transmit a requested code for an application program through Internet 628 , ISP 626 , local network 622 and communication interface 618 .
- the received code may be executed by processor 604 as it is received, and/or stored in storage device 610 , or other non-volatile storage for later execution.
- certain functionality may be accessible by a user through a web-based viewer (such as a web browser), or other suitable software program).
- the user interface may be generated by a server computing system and transmitted to a web browser of the user (e.g., running on the user's computing system).
- data e.g., user interface data
- the user interface may be generated (e.g., the user interface data may be executed by a browser accessing a web service and may be configured to render the user interfaces based on the user interface data).
- the user may then interact with the user interface through the web-browser.
- User interfaces of certain implementations may be accessible through one or more dedicated software applications.
- one or more of the computing devices and/or systems of the disclosure may include mobile computing devices, and user interfaces may be accessible through such mobile computing devices (for example, smartphones and/or tablets).
- computer system 800 when configured as monitoring device 150 , hosts a web server serving an HTML-based user interface to analysts connecting through a remote device.
- Conditional language such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.
- a general purpose computer comprising one or more processors should not be interpreted as excluding other computer components, and may possibly include such components as memory, input/output devices, and/or network interfaces, among others.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
-  This application is a continuation of U.S. patent application Ser. No. 15/652,641, filed Jul. 18, 2017, and titled “PASSING SYSTEM WITH AN INTERACTIVE USER INTERFACE”. The entire disclosure of the above item is hereby made part of this specification as if set forth fully herein and incorporated by reference for all reference for all purposes, for all that it contains.
-  Any and all applications for which a foreign or domestic priority claim is identified in the Application Data Sheet as filed with the present application are hereby incorporated by reference under 37 CFR 1.57 for all purposes and for all that they contain.
-  The present disclosure relates to systems and techniques for marker passing data integration, analysis, and visualization. More specifically, systems and methods are disclosed that facilitate calculation and presentation of passing analysis. Furthermore, systems and methods are disclosed for the collection and processing of passing data from various data sources.
-  Embodiments of the present disclosure generally relate to passing data processing and visualization. Marker management systems, such as toll management applications, are available from a number of providers. Some of the marker management systems may provide a user interface displaying the passing, marker, and/or co-passing information.
-  The systems, and methods described herein each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of this disclosure, several non-limiting features will now be discussed briefly.
-  Using current available marker (e.g., toll) management systems, information about vehicles passing a marker can be recorded. However, most systems cannot collect and process data in an efficient and comprehensive manner as the systems cannot collect individual data associated with the vehicles (e.g., vehicle owner data, vehicle passenger data, etc.). Additionally, as most systems store and/or collect vehicle data in different formats and/or require different types of vehicle data, the systems do not provide an efficient platform to process all the stored/collected data in efficient means. Furthermore, the systems do not provide interactive user interfaces for users to view and interact with the processed data in an efficient way or provide a more illustrative way for the user to analyze the processed data.
-  The system is configured to automatically access data from a plurality of data sources, and convert the data to a common format. The system can also communicate with other marker passing (e.g., toll) management systems and/or any other vehicle related systems to collect data. The data can include vehicle data and/or individual data. The vehicle data can include information associated with a vehicle, such as its ownership information, passenger information (e.g., which individuals are in the vehicle) at a specific time of record, color, license plate information, etc. The individual data can include information associated with the individual, such as name, age, gender, vehicle ownership, ride information (e.g., which vehicle he is in) at a specific time of record, etc. In some embodiments, to improve efficiency, the system can first map the related data based on one or more pre-defined rules and store the mapping the database.
-  The system can provide a user an interactive user interface for displaying data associated with a first individual. The interactive user interface, in some cases, can be defined by the user. As the user makes requests to view information related to a second individual, the system can automatically retrieve related data associated with the second individual and update the interactive user interface to display a comparison of data associated with the two individuals. The interactive user interface can include comparisons of data associated with the two individuals, including visualizations such as timelines and bubble charts with the data visually overlapping to provide insights to the user.
-  Additionally, the system can generate a second interactive user interface to display detailed vehicle information associated with to a specific marker, which gives the user a more illustrative way to analyze the data. The second user interface includes a matrix visualization of vehicle information, where a first dimension of the matrix represents buckets of time, and a second dimension of the matric represents different lanes by which vehicles passed the specific marker. The second interactive user interface can provide insights to a user regarding timing and sequencing of vehicles passing the marker, and can include indications of attributes of the vehicles (e.g., color of the vehicles) and options for filtering and highlighting of displayed vehicles.
-  Further, as described herein, the system may be configured and/or designed to generate user interface data useable for rendering the various interactive user interfaces described. The user interface data may be used by the system, and/or another computer system, device, and/or software program (for example, a browser program), to render the interactive user interfaces. The interactive user interfaces may be displayed on, for example, electronic displays (including, for example, touch-enabled displays).
-  Additionally, it has been noted that design of computer user interfaces “that are useable and easily learned by humans is a non-trivial problem for software developers.” (Dillon, A. (2003) User Interface Design. MacMillan Encyclopedia of Cognitive Science, Vol. 4, London: MacMillan, 453-458.) The present disclosure describes various embodiments of interactive and dynamic user interfaces that are the result of significant development. This non-trivial development has resulted in the user interfaces described herein which may provide significant cognitive and ergonomic efficiencies and advantages over previous systems. The interactive and dynamic user interfaces include improved human-computer interactions that may provide reduced mental workloads, improved decision-making, reduced work stress, and/or the like, for a user. For example, user interaction with the interactive user interface via the inputs described herein may provide an optimized display of, and interaction with, image data (including medical images) and may enable a user to more quickly and accurately access, navigate, assess, and digest the image data than previous systems.
-  Further, the interactive and dynamic user interfaces described herein are enabled by innovations in efficient interactions between the user interfaces and underlying systems and components. For example, disclosed herein are improved methods of receiving user inputs (including methods of interacting with, and selecting, search criteria, etc.), translation and delivery of those inputs to various system components, automatic and dynamic execution of complex processes in response to the input delivery, automatic interaction among various components and processes of the system, and automatic and dynamic updating of the user interfaces (to, for example, display the relevant medical images). The interactions and presentation of data via the interactive user interfaces described herein may accordingly provide cognitive and ergonomic efficiencies and advantages over previous systems.
-  Additional embodiments of the disclosure are described below in reference to the appended claims, which may serve as an additional summary of the disclosure.
-  In various embodiments, systems and/or computer systems are disclosed that comprise a computer readable storage medium having program instructions embodied therewith, and one or more processors configured to execute the program instructions to cause the one or more processors to perform operations comprising one or more aspects of the above- and/or below-described embodiments (including one or more aspects of the appended claims).
-  In various embodiments, computer-implemented methods are disclosed in which, by one or more processors executing program instructions, one or more aspects of the above- and/or below-described embodiments (including one or more aspects of the appended claims) are implemented and/or performed.
-  In various embodiments, computer program products comprising a computer readable storage medium are disclosed, wherein the computer readable storage medium has program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to perform operations comprising one or more aspects of the above- and/or below-described embodiments (including one or more aspects of the appended claims).
-  According to an embodiment, a system is disclosed. The system comprises a computer readable storage medium having embodied thereon program instructions and one or more processors. The one or more processors are configured to execute the program instructions to cause the system to: generate user interface data configured to be rendered as an interactive user interface. The interactive user interface includes: a first portion including an interactive bubble chart configured to display a first set of passing information related to instances of a first individual passing a first plurality of markers, wherein the bubble charts comprises: indications of one or more days of the week along a first axis; indications of one or more time periods within a day along a second axis orthogonal to the first axis; and at each of a first set of intersections of respective days and time periods, indications in a first format of a quantity of the first individual passing at least one of the first plurality of markers in a respective time period on a respective day of a week, the first set of intersections being determined based on the first set of passing information; and a second portion including a selectable user interface element for providing one or more search criteria for identifying other individuals in a search for other individuals with passings related to passings of the first individual. The one or more processors are further configured to execute the program instructions to cause the system to: receive a first user input providing one or more search criteria via the second portion of the user interface; in response to the first user input: determine, based at least in part on the one or more search criteria, one or more other individuals with passings related to the passings of the first individual; display a list of the one or more other individuals in a third portion of the interactive user interface; receive a second user input selecting a second individual from the list of the one or more other individuals; determine a second set of passing information related to one or more instances of the second individual passing the first plurality of markers; automatically update the bubble chart included in the first portion of the interactive user interface to include: at each of a second set of intersections of respective days and time periods, indications in a second format of a quantity of the second individual passing at least one of the first plurality of markers in a respective time period on a respective day of a week, the second set of intersections being determined based at least partly on the second set of passing information, wherein the indications associated with the first individual and the indications associated with the second individual are configured to overlap one another in the bubble chart, if needed.
-  According to an embodiment, a computer-implemented method for processing passing information data and generating interactive user interfaces is disclosed. The computer-implemented method comprises, by one or more processors executing program instructions, generating user interface data configured to be rendered as an interactive user interface including: a first portion including an interactive bubble chart configured to display a first set of passing information related to instances of a first individual passing a first plurality of markers, wherein the bubble charts comprises: indications of one or more days of the week along a first axis; indications of one or more time periods within a day along a second axis orthogonal to the first axis; and at each of a first set of intersections of respective days and time periods, indications in a first format of a quantity of the first individual passing at least one of the first plurality of markers in a respective time period on a respective day of a week, the first set of intersections being determined based on the first set of passing information; and a second portion including a selectable user interface element for providing one or more search criteria for identifying other individuals in a search for other individuals with passings in some way related to passings of the first individual. The computer-implemented method further comprises, by one or more processors executing program instructions, receiving a first user input providing one or more search criteria via the second portion of the user interface; in response to the first user input: determining, based at least in part on the one or more search criteria, one or more other individuals with passings related to the passings of the first individual; displaying a list of the one or more other individuals in a third portion of the interactive user interface; receiving a second user input selecting a second individual from the list of the one or more other individuals; determining a second set of passing information related to one or more instances of the second individual passing the first plurality of markers; automatically updating the bubble chart included in the first portion of the interactive user interface to include: at each of a second set of intersections of respective days and time periods, indications in a second format of a quantity of the second individual passing at least one of the first plurality of markers in a respective time period on a respective day of a week, the second set of intersections being determined based at least partly on the second set of passing information, wherein the indications associated with the first individual and the indications associated with the second individual are configured to overlap one another in the bubble chart, if needed.
-  The following drawings and the associated descriptions are provided to illustrate embodiments of the present disclosure and do not limit the scope of the claims. Aspects and many of the attendant advantages of this disclosure will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
-  FIG. 1 is a system diagram illustrating an example integrated passing system in an example operating environment, according to an embodiment of the present disclosure.
-  FIG. 2 is a flow chart illustrating an example process of passing analysis, according to an embodiment of the present disclosure.
-  FIG. 3 is a flow chart illustrating an example process of marker analysis, according to an embodiment of the present disclosure.
-  FIGS. 4 and 5 illustrate example integrated system user interfaces displaying passing, co-passing, and/or marker information to the user.
-  FIG. 6 illustrates a computer system with which certain methods discussed herein may be implemented.
-  Although certain preferred embodiments and examples are disclosed below, inventive subject matter extends beyond the specifically disclosed embodiments to other alternative embodiments and/or uses and to modifications and equivalents thereof. Thus, the scope of the claims appended hereto is not limited by any of the particular embodiments described below. For example, in any method or process disclosed herein, the acts or operations of the method or process may be performed in any suitable sequence and are not necessarily limited to any particular disclosed sequence. Various operations may be described as multiple discrete operations in turn, in a manner that may be helpful in understanding certain embodiments; however, the order of description should not be construed to imply that these operations are order dependent. Additionally, the structures, systems, and/or devices described herein may be embodied as integrated components or as separate components. For purposes of comparing various embodiments, certain aspects and advantages of these embodiments are described. Not necessarily all such aspects or advantages are achieved by any particular embodiment. Thus, for example, various embodiments may be carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other aspects or advantages as may also be taught or suggested herein.
-  Using current available marker (e.g., toll) management systems, information about vehicles passing a marker can be recorded. However, most systems cannot collect and process data in an efficient and comprehensive manner as the systems cannot collect individual data associated with the vehicles (e.g., vehicle owner data, vehicle passenger data, etc.). Additionally, as most systems store and/or collect vehicle data in different formats and/or require different types of vehicle data, the systems do not provide an efficient platform to process all the stored/collected data in efficient means. Furthermore, the systems do not provide interactive user interfaces for users to view and interact with the processed data in an efficient way or provide a more illustrative way for the user to analyze the processed data.
-  The system is configured to automatically access data from a plurality of data sources, and convert the data to a common format. The system can also communicate with other marker passing (e.g., toll) management systems and/or any other vehicle related systems to collect data. The data can include vehicle data and/or individual data. The vehicle data can include information associated with a vehicle, such as its ownership information, passenger information (e.g., which individuals are in the vehicle) at a specific time of record, color, license plate information, etc. The individual data can include information associated with the individual, such as name, age, gender, vehicle ownership, ride information (e.g., which vehicle he is in) at a specific time of record, etc. In some embodiments, to improve efficiency, the system can first map the related data based on one or more pre-defined rules and store the mapping the database.
-  The system can provide a user an interactive user interface for displaying data associated with a first individual. The interactive user interface, in some cases, can be defined by the user. As the user makes requests to view information related to a second individual, the system can automatically retrieve related data associated with the second individual and update the interactive user interface to display a comparison of data associated with the two individuals. The interactive user interface can include comparisons of data associated with the two individuals, including visualizations such as timelines and bubble charts with the data visually overlapping to provide insights to the user.
-  Additionally, the system can generate a second interactive user interface to display detailed vehicle information associated with to a specific marker, which gives the user a more illustrative way to analyze the data. The second user interface includes a matrix visualization of vehicle information, where a first dimension of the matrix represents buckets of time, and a second dimension of the matric represents different lanes by which vehicles passed the specific marker. The second interactive user interface can provide insights to a user regarding timing and sequencing of vehicles passing the marker, and can include indications of attributes of the vehicles (e.g., color of the vehicles) and options for filtering and highlighting of displayed vehicles.
-  In order to facilitate an understanding of the systems and methods discussed herein, a number of terms are defined below. The terms defined below, as well as other terms used herein, should be construed to include the provided definitions, the ordinary and customary meaning of the terms, and/or any other implied meaning for the respective terms. Thus, the definitions below do not limit the meaning of these terms, but only provide exemplary definitions.
-  Data Store/Source: Any computer readable storage medium and/or device (or collection of data storage mediums and/or devices). Examples of data stores include, but are not limited to, optical disks (e.g., CD-ROM, DVD-ROM, etc.), magnetic disks (e.g., hard disks, floppy disks, etc.), memory circuits (e.g., solid state drives, random-access memory (RAM), etc.), and/or the like. Another example of a data store is a hosted storage environment that includes a collection of physical data storage devices that may be remotely accessible and may be rapidly provisioned as needed (commonly referred to as “cloud” storage). Data sources may include any application, system, etc. that can provide the system with availabilities of entities and/or locations, including but not limited to: any marker management applications, any third party personnel management systems, any internal logs, etc. In some examples, data source can also include data manually input by entities.
-  Database: Any data structure (and/or combinations of multiple data structures) for storing and/or organizing data, including, but not limited to, relational databases (e.g., Oracle databases, MySQL databases, etc.), non-relational databases (e.g., NoSQL databases, etc.), in-memory databases, spreadsheets, as comma separated values (CSV) files, eXtendible markup language (XML) files, TeXT (TXT) files, flat files, spreadsheet files, and/or any other widely used or proprietary format for data storage. Databases are typically stored in one or more data stores. Accordingly, each database referred to herein (e.g., in the description herein and/or the figures of the present application) is to be understood as being stored in one or more data stores. Additionally, although the present disclosure may show or describe data as being stored in combined or separate databases, in various embodiments such data may combined and/or separated in any appropriate way into one or more databases, one or more tables of one or more databases, etc.
-  Marker: Any boundary, whether or not physically indicated. For example, a marker may include a toll, facility, or other indicator that provides for crossing a boundary, manages entering and/or exiting of a designated area, and/or the like. Some examples are parking structures, gated communities, research labs, campuses, countries (borders), court houses, etc. Areas may be designated for various reasons, such as security, traffic limitation, etc. One designated area may have one or more markers (e.g., one or more entrances/exits). Information of individuals passing a marker can be recorded, either manually by personnel or automatically by other one or more independent systems. Individuals entering and/or exiting different designated areas may be required to provide various personal identifiable information. A marker may include one or more lanes.
-  Passing: Any crossing of a marker. For example, a passing may include entering and/or exiting events related to a marker of a designated area. The passing can be made by an individual via a vehicle, on foot, etc. A passing can be made by one or more individuals. The one or more individuals may make a passing for various reasons, and sometimes the passing may be made by ways of log in, identification, security checking, background checking, etc. Passings can also be categorized based on individuals.
-  Co-Passings: Any passing of an individual (or other entity) that is in any way related to a passing of another individual (or entity). For example, if two individuals pass a marker in one car, their passings can be viewed as a co-passing by the system. The relationship of co-passings may be one of more remote in nature. As one example, co-passings may include two passings of two individuals happening in one designated area, happening within a certain period of time, happening at the same marker, happening in the same vehicle in totally different areas, etc. The relations of co-passings may be defined by a user.
-  FIG. 1 is a system diagram illustrating an example integrated system in anexample operating environment 100, according to an embodiment of the present disclosure. In the example ofFIG. 1 , the operatingenvironment 100 includes thesystem 120, data sources A 110 a toN 110 n, anduser device 130. Thesystem 120, the data sources A 110 a toN 110 n, and theuser device 130 can communicate with each other using anetwork 102. In some embodiments, thesystem 120 can include one or more centralized databases. The operatingenvironment 100 can allow users to input, edit, organize, and/or compute data in thesystem 120 via theuser device 130. Thesystem 120 can generate one or more interactive user interfaces displaying on theuser device 130. Thenetwork 102 can be a local area network, a wide area network, a peer-to-peer network, radio frequency, Bluetooth, Wi-Fi, or any other type of communication network. In some embodiments, components within thecomputing environment 100 can communicate with each other through different types of networks at the same time.
-  Thesystem 120 can perform various functions in the operatingenvironment 100, such as collecting data items associated with various individuals from the data sources A 110 a toN 110 n, storing and process data items for the individuals, transmitting the processed data items to theuser device 130, generating and transmitting notices based on the processed data items to theuser device 130 and/or the data source A 110 a toN 110 n, etc. Thesystem 120 may be a part of one or more servers. Thesystem 120 can include multiple engines performing the various functions. In the example ofFIG. 1 , thesystem 120 includes adata management engine 124, a passinganalysis engine 126, aUI management engine 128, and adata store 122. Thedata store 122 can be a local data store. Alternatively, thedata store 122 can be a remote data store connected to thesystem 120 via thenetwork 102. In some embodiments, one or more engines can perform one or more of the various functions.
-  Thedata management engine 124 can communicate, exchange, or share data with other devices or systems, such as the data sources A 110 a toN 110 n, theuser device 130, other data stores, etc. Thedata management engine 124 can collect data items associated with passings of individuals, reformat the data items into uniform format data items, and/or store the reformatted data items, process the reformatted data items to determine potential co-passings and transmit the processed reformatted data items to theuser device 130, generating and transmitting notices to the data sources A 110 a to N 110 n., etc. The passinganalysis engine 126 can compute the uniform format data items and determine co-passings based at least partly on search criteria provided by the user. Additionally, based at least on user inputs selecting another individual, the passinganalysis engine 126 can update co-passings of the individual and the other individual. As the passinganalysis engine 126 determines co-passings, it can retrieve data from one or more databases for the user. TheUI management engine 128 can generate an interactive user interface for the user on theuser device 130, where the interactive user interface can display passings of an individual and/or co-passings of two or more individuals in various formats, such as interactive bubble charts, interactive tables, interactive timelines, interactive bar charts, etc. TheUI management engine 128 can also receive inputs from the user to search co-passings. Based at least partly on the received inputs, the passinganalysis engine 126 can determine co-passings based at least partly on the input and theUI management engine 128 can advantageously in some embodiments update the interactive user interface on theuser device 130 to display the passings. Additionally, theUI management engine 128 can also receive user inputs from the user to view the co-passings more interactively.
-  Example Data Management Engine
-  In the example ofFIG. 1 , thesystem 120 includes adata management engine 124. Thedata management engine 124 can communicate, exchange, or share data with other devices or systems, such as the data sources A 110 a toN 110 n, theuser device 130, other data stores, etc. Thedata management engine 124 can collect data items associated with passings of individuals, reformat the data items into uniform format data items, and/or store the reformatted data items, process the reformatted data items to determine potential co-passings and transmit the processed reformatted data items to theuser device 130, generating and transmitting notices to the data sources A 110 a to N 110 n., etc.
-  In some embodiments, thedata management engine 124 can communicate, exchange, or share data with the other devices or systems constantly. For example, each time the data sources A 110 a toN 110 n have a data update, thedata management engine 124 can receive the update automatically. Thedata management engine 124 can also communicate, exchange, or share data with the data sources A 110 a toN 110 n periodically upon a trigger event defined by the user. A trigger event may be an indication that a certain period of time has passed since the last update. A trigger event may be also a specific individual passing a certain marker.
-  Thedata management engine 124, advantageously in some embodiments, can only request relevant data from the data sources A 110 a toN 110 n as needed. For example, the user may wish to view passing data of one or more individuals. Upon thesystem 120 receives the user input from theuser device 130, thedata management engine 124 can first communicate with each of the other devices and systems asking for data items associated with the one or more individuals. Thedata management engine 124 can then collect data items associated with the one or more individuals.
-  The various data sources A 110 a toN 110 n may operate various different systems collecting different passing data items. In some instances, these systems may allow access through specific Application Programming Interfaces (“APIs”). Commonly, each API utilizes its own format in storing availability data items associated with a marker. Advantageously in some embodiments, thedata management engine 124 can collect data items that are stored in a specific format in a specific API in the data source A 110 a by forming API requests in the specific format. The API request may contain information required by the API. Thedata management engine 124 can then collect responses from the API, parse through the responses, and translate the responses into data items in a uniform format that the passinganalysis engine 126 can compute. In collecting the passing data items of each marker, thedata management engine 124 can form various requests for the various APIs, collect responses containing information from the APIs in the various data sources A 110 a toN 110 n. Thedata management engine 124 can store the collected information in thedata store 122.
-  Additionally, thedata management engine 124 can also parse through the collected responses and determine the data items to be translated into the uniform format. The uniform format data items can also include information associated with the API(s) and/or the data source(s) where the data items are collected from. As the responses collected from the APIs may contain information irrelevant to determining co-passings, advantageously in some embodiments, thedata management engine 124 can determine the types of information needed. Thedata management engine 124 can compare the types of information needed with the data items in the responses collected and then translate the data items containing the types of information needed. In some embodiments, the data management engine can communicate with other systems if thedata management engine 124 determines the data items collected are not comprehensive as needed, it may communicate with other systems thesystem 120 does not normally communicate with to collect required data. As an example, if passing data items thedata management engine 124 collected does not include data of a photo of an individual, thedata management engine 124 may communicate with social network systems and/or search engines to obtain data of a photo (e.g., the most recent photo) of the individual.
-  In some embodiments, thedata management engine 124 can first translate the data items in the collected responses into the uniform format and then compare the uniform format data with the types of information needed. Thedata management engine 124 can then store the relevant information in thedata store 122. Thedata management engine 124 can create an individual passing database stored in thedata store 122. The individual passing database can store the uniform format data items translated from the collected information. Alternatively, the individual database can store the data items in thedata stores 122 in their original formats. Advantageously in some embodiments, if the data sources A 110 andN 110 n provide thedata management engine 124 with data items in a single format, thedata management engine 124 may choose not to translate the single format data items into the uniform format. Thedata management engine 124 can parse through the data and store the relevant data items in the individual passing database in the single format.
-  The individual passing database can store any information associated with the individual and his passing, such as a name, an ID (e.g., SSN), a date of birth, a gender, a photo, an event (e.g., social, personal, criminal, etc.), vehicle information, etc. The vehicle information can include any information of a vehicle by which an individual uses to pass a marker or an indication that the individual passes a marker on foot, such as a color of a vehicle, a model of vehicle, individuals related to the vehicle, etc.
-  In some embodiments, thedata management engine 124 can communicate with the data sources A 110 a toN 110 n periodically in order to update the individual passing database. This can advantageously improve the efficiency, accuracy, and/or speed as it avoids multiple requests to the same API(s). Thedata management engine 124 may only need to collect updated information associated with passings that are not stored in the availability database. For example, upon receiving a new request to view passings for one or more individuals, thedata management engine 124 can collect information associated with each individual. If currently there is information associated with one or more individuals stored in the individual passing database, thedata management engine 124 can compare the newly collected information associated with the one or more individuals with the stored information in the individual passing database and store only the updated information in the individual passing database. In some embodiments, thedata management engine 124 can store the collected information in thedata store 122 temporarily. Thedata management engine 124 may delete the stored information each time thesystem 120 receive a user input indicating the user has finished viewing passing information. Upon receiving a new request, thedata management engine 124 can repeat the process.
-  Thedata management engine 124 can also create a marker database. As the passinganalysis engine 126 determines one or more co-passings, thedata management engine 124 can store the co-passings in the marker database. The marker database can also include any other information related to passings of a marker, such as individuals passing the marker, a related marker (e.g., another marker of the same and/or related designated area), a lane an individual in which an individual passing the marker, a vehicle, etc. Thedata management engine 124 can also map data items in the marker database with data items in other databases, such as the individual passing database. Thedata management engine 124 can also store in the marker database other information, such as user inputs regarding co-passings with other individuals, rankings and/or scores of each of the other individuals, etc. The data management engine can also transmit the notices the passinganalysis engine 126 generates to theuser device 130 and/or the data sources A 110 a toN 110 n. In some embodiments, thedata management engine 124 can retrieve the API information stored in the individual passing database, and generate the notices in the data formats the APIs recognize. Thedata management engine 124 can then transmit the notices to the data sources A 110 a toN 110 n and/or theuser device 130. The notices can be any information related to the passing of the individual.
-  Example Passing Analysis Engine
-  In the example ofFIG. 1 , thesystem 120 includes a passinganalysis engine 126. The passinganalysis engine 126 can compute the uniform format data items and determine co-passings based at least partly on search criteria provided by the user. Additionally, based at least on user inputs selecting another individual, the passinganalysis engine 126 can update co-passings of the individual and the other individual. As the passinganalysis engine 126 determines co-passings, it can retrieve data from the individual passing database and/or the marker database to provide more information for the user.
-  Upon receiving a request to view passing information related to an individual or a marker, the passinganalysis engine 126 can retrieve information related to one or more passing instances related to the individual or the marker from thedata store 122. The passinganalysis engine 126 can categorize the information it retrieves from thedata store 122 into different groups for easy access. In some embodiments, such categorization may have been performed by thedata management engine 124 as it stores passing information in the individual passing database and/or marker database. The passinganalysis engine 126 can communicate with the UI management engine to generate interface data to display such information in an interactive user interface on theuser device 130.
-  Additionally, upon receiving searching criteria from user to search for one or more co-passings related to the individual, the passinganalysis engine 126 can determine one or more other individuals whose passings are related to the instances of the passings of the individual. The search criteria can include a minimal and/or maximum number of co-passings, a minimal and/or maximum number of independent passings, a minimal and/or maximum time interval, whether to include related vehicles, whether to include related markers, etc.
-  The minimal or maximum number of co-passings may indicate a minimal or maximum number of the passings of the one or more markers that are related to the individual in a certain way. The relationship may be defined by the user and/or pre-defined by the system. As one example, co-passings may include individuals from a single household. As another example, co-passings may include individuals passing a specific marker, and/or a same lane of the same marker in the same day. The user may define co-passings at any time to better analyze passings of individuals. In some embodiments, thesystem 120 may pre-define co-passings as individuals passing the same marker in the same day. Thesystem 120 may then provide the user, via theUI management engine 128, with a user interface to define co-passings.
-  The minimal or maximum independent passings may indicate a minimal or maximum number of the passings that are not related to the individual in any way. The minimal or maximum time interval may indicate a minimal or maximum period of time could lapse between two co-passings. Whether to include related vehicles may indicate whether the other one or more individuals used one or more vehicles related to the individual. The related vehicles may be vehicles used by the individual, vehicles registered under the individual's name, vehicles used by a person related to the individual, etc. The related vehicle may be defined by the user and/or pre-defined by the user. Whether to include related markers may indicate whether one or more markers related to the markers the individual passed are included. Such relationship may be defined by the user and/or pre-defined by the user. As one example, markers are related if they are associated with the same designated area. As another example, if two or more designated areas are associated with each other, such as various campuses of a university, markers associated with the designated areas are related.
-  Based at least partly on the search criteria, theanalysis engine 126 can compute data items in thedata store 122 and determine one or more other individuals with passings related to the passings of the first individual. If there is one other individual with passings related to the passings of the first individual, the passinganalysis engine 126 can communicate with theUI management engine 128 to update the interactive user interface displaying the passing of the one other individuals, such as in the interactive bubble chart, interactive bar chart, interactive table, and/or interactive timeline. In some embodiments, if there are more than one other individual with passings related to the passings of the first individual, the passinganalysis engine 126 can weight and/or rank, based at least partly on one or more predefined decision rules and/or user defined rules, the more than one other individual. The decision rules can include: the time of co-passings based at least on the search criteria, a quantity of each of the more than one other individual passing a certain marker, a quantity of each of the more than one other individual entering and/or exiting the designated area. Thesystem 120 can then update the interactive user interface to display the more than one other individuals based at least partly on the ranking. As the user selects one of the more than one other individuals, the passinganalysis engine 126 can communicate with theUI management engine 128 to update the interactive user interface to display the passing of the one of the more than one other individuals, such as in the interactive bubble chart, interactive bar chart, interactive table, and/or interactive timeline.
-  In some embodiments, the passinganalysis engine 126 may further include a machine learning module. The machine learning module may parse through the data items stored in the individual passing database and/or marker database. The machine learning module can advantageously map the multiple data items in the individual passing database and/or the marker database. The machine learning module can first conduct the pre-computation mappings based on the system pre-defined mapping rules. The mapping rules may be any relationships between individuals, markers, and/or vehicles. As user interacts with thesystem 120, the machine learning module can, based at least on the user interactions, update the mapping rules. Additionally, based at least on the updates in the mapping rules, the machine learning module may also advantageously make one or more predictions of a specific user's preference of search criteria.
-  For example, if one user frequently searches co-passings of two individuals passing the same marker in related vehicles within a thirty-minute interval, the machine learning module may map individuals passing a same marker in related vehicles within a thirty minute interval in the individual passing database and/or marker database. As such user makes a further interaction with thesystem 120 asking for individual A's passing information and requests co-passings of another individual passing the same marker in related vehicles within a thirty-minute interval, the machine learning can search the stored mappings and determine one or more other individuals that meet the search criteria. As another example, if a user frequently searches co-passings using two or more sets of search criteria, the machine learning module can conduct two or more mappings for each individual in the individual passing and/or marker database. This way, advantageously, as the user requests to view co-passings information using the same two or more sets of search criteria, the system can provide the requested information more efficiently as the system can simply retrieve the mapping in thedata store 122 without conducting further computation and/or searching in thedata store 122.
-  In some embodiments, based on the pre-computation mappings and/or the events stored in the individual passing database, the machine learning module can determine one or more possible relations between individuals or markers. The machine learning module can study and/or analyze one or more patterns of an individual's passings, such as time, dates, specific markers, etc. The machine learning module can determine the relationships between the events and tag those of high importance. As one example, if one individual passes a marker at a time out of pattern, the machine learning module can flag the individual. As a related individual is trying to pass a related marker, the machine learning module can generate a notice and thesystem 120 can transmit the notice to the data sources A 110 a toN 110 n.
-  Example UI Management Engine
-  Thesystem 120, in the example ofFIG. 1 , includes aUI management engine 128. TheUI management engine 128 can generate an interactive user interface for the user on theuser device 130, where the interactive user interface can display the passing, co-passing, and/or marker information on theuser device 130. TheUI management engine 128 can also receive inputs from the user to request co-passings information. Based at least on the received inputs, thesystem 120 can instruct the passinganalysis engine 126 to determine co-passings and theUI management engine 128 can advantageously update the interactive user interface on theuser device 130 displaying the co-passing information.
-  TheUI management engine 128, in some embodiments, may generate one or more portions on the interactive user interface for receiving, displaying, and/or updating search criteria, passing information, and/or any other information. In the examples ofFIG. 4 , theUI management engine 128 can generate the following portions of the interactive user interface: one for receiving search criteria from the user, one for an interactive bubble chart displaying passing information, one for displaying one or more other individuals related to the individual based at least partly on the search criteria, one for receiving user inputs, etc. In other examples, theUI management engine 128 can generate and/or display more or fewer portions for displaying more or less passing information and/or receiving inputs from users.
-  TheUI management engine 128 can, based on user inputs, add, delete, update, and/or edit one or more user interface elements on the interactive user interface. For example, theUI management engine 128 can generate a UI element for adding, deleting, and/or updating the search criteria. The user, using the UI element, can add one or more UI elements to customize the search criteria. The added UI elements may have different formats, such as calendar, dropdown box, etc. More details of theUI management engine 128 will be discussed with references toFIG. 4 andFIG. 5 .
-  Additional Example Implementations of the System
-  In an implementation the system 120 (or one or more aspects of the system 120) may comprise, or be implemented in, a “virtual computing environment”. As used herein, the term “virtual computing environment” should be construed broadly to include, for example, computer readable program instructions executed by one or more processors (e.g., as described below in the example ofFIG. 6 ) to implement one or more aspects of the modules and/or functionality described herein. Further, in this implementation, one or more modules/engines/etc. (e.g.,data management engine 124, passinganalysis engine 126, and/or UI management engine 128) of thesystem 120 may be understood as comprising one or more rules engines of the virtual computing environment that, in response to inputs received by the virtual computing environment, execute rules and/or other program instructions to modify operation of the virtual computing environment. For example, a request received from the user device(s) 130 may be understood as modifying operation of the virtual computing environment to cause thedata management engine 124 to gather data associated with the request, the passinganalysis engine 126 to automatically generate scheduled, and theUI management engine 128 to generate interactive user interfaces. Such functionality may comprise a modification of the operation of the virtual computing environment in response to inputs and according to various rules. Other functionality implemented by the virtual computing environment (as described throughout this disclosure) may further comprise modifications of the operation of the virtual computing environment, for example, the operation of the virtual computing environment may change depending on the information gathered by thedata management engine 124 and/or responses received and analyzed via theUI management engine 128 and/or the passinganalysis engine 126. Initial operation of the virtual computing environment may be understood as an establishment of the virtual computing environment. In some implementations the virtual computing environment may comprise one or more virtual machines, containers, and/or other types of emulations of computing systems or environments. In some implementations the virtual computing environment may comprise a hosted computing environment that includes a collection of physical computing resources that may be remotely accessible and may be rapidly provisioned as needed (commonly referred to as “cloud” computing environment).
-  Implementing one or more aspects of thesystem 120 as a virtual computing environment may advantageously enable executing different aspects or modules of the system on different computing devices or processors, which may increase the scalability of the system. Implementing one or more aspects of thesystem 120 as a virtual computing environment may further advantageously enable sandboxing various aspects, data, or modules of the system from one another, which may increase security of the system by preventing, e.g., malicious intrusion into the system from spreading. Implementing one or more aspects of thesystem 120 as a virtual computing environment may further advantageously enable parallel execution of various aspects or modules of the system, which may increase the scalability of the system. Implementing one or more aspects of thesystem 120 as a virtual computing environment may further advantageously enable rapid provisioning (or de-provisioning) of computing resources to the system, which may increase scalability of the system by, e.g., expanding computing resources available to the system or duplicating operation of the system on multiple computing resources. For example, the system may be used by thousands, hundreds of thousands, or even millions of users simultaneously, and many megabytes, gigabytes, or terabytes (or more) of data may be transferred or processed by the system, and scalability of the system may enable such operation in an efficient and/or uninterrupted manner.
-  FIG. 2 is a flow chart illustrating an example passing analysis process according to an embodiment of the present disclosure. In various embodiments, fewer blocks or additional blocks may be included in the process ofFIG. 2 , or various blocks may be performed in an order different from that shown in the figure. In various implementations, the block ofFIG. 2 may be performed serially and/or concurrently, and may be performed multiple times simultaneously. Further, one or more blocks in the figure may be performed by various components of the system, for example, the passing analysis engine 126 (described above in reference toFIG. 1 ).
-  Atoptional block 210, thesystem 120 may receive initial search criteria. The initial search criteria may be entered by the user in an interactive user interface described later with reference to block 214. The initial search criteria may include one or more of the following: a name, an ID, a date of birth, etc. The initial search criteria, in some embodiment, may be used to determine one or more individuals by thesystem 120. Thesystem 120 can display the list of the one or more individuals to the user and the user can choose a first individual whose passing information the user wishes to view.
-  Atblock 212, thesystem 120 can determine a set of passing information of the first individual the user wishes to view. The set of passing information may include passing information related to instances of the individual passing one or more markers. As thesystem 120 receives the initial search criteria from the user input, the passinganalysis engine 126 can retrieve data associated with the passing information related to the instances of the individual passing the one or more markers in the individual passing database.
-  Atblock 214, thesystem 120 can generate an interactive user interface on theuser device 130. The interactive user interface can include an interactive bubble chart in a first portion. The set of passing information of the instances related to the first individual can be displayed in the interactive bubble chart. The interactive bubble chart may be used to show a pattern in the first set of passing information. As an example, the Y axis of the interactive bubble chart indicates one or more days of the week and the X axis of the interactive bubble chart indicates one or more time periods within a day. A bubble at an intersection of the X axis and the Y axis indicates a quantity of the first individual passing the one or more markers. The size of the bubble may indicate the quantity.
-  Atblock 216, thesystem 120 can update the interactive user interface to display one or more user elements in a second portion. The one or more interactive user elements can indicate one or more search criteria for identifying other individuals in a search for passings related to the passings of the first individual. As described with reference to the passinganalysis engine 126, the search criteria can include a minimal and/or maximum number of co-passings, a minimal and/or maximum number of independent passings, a minimal and/or maximum time interval, whether to include related vehicles, whether to include related markers, etc. In some embodiments, thesystem 120 can provide the user in the second portion for the user to define, add, delete, and/or update the one or more search criteria.
-  At optional 217, thesystem 120 can update the interactive user interface to include one or more additional portions. The one or more additional portions may include one or more interactive user interface elements for displaying the first set of passing information. For example, thesystem 120 can update the interactive user interface to include an interactive timeline, an interactive bar chart, and/or an interactive table. The one or more interactive user interface elements can be used to display the first set of passing information of instances of the first individual. In some embodiments, thesystem 120 can provide the user in the second portion a user interface element for the user to define, add, delete, and/or update the one or more user interface elements for search criteria.
-  Atblock 218, thesystem 120 can receive one or more search criteria via the second portion of the interactive user interface. The search criteria can be input by the user. As described with reference toFIG. 1 , the search criteria entered by the user can be used by the passinganalysis engine 126 to determine one or more patterns of the user's analysis. The one or more patterns can be used by the passinganalysis engine 126 to conduct one or more pre-computation mappings. The pre-computation mappings can categorize information in the individual passing database and/or marker databases based at least partly on the one or more patterns. This can advantageously improve the computation speed of thesystem 120 and/or prove the efficiency.
-  Atblock 220, thesystem 120 can determine one or more other individuals with passings related to the passings of the first individual based at least on the one or more search criteria. Thesystem 120 can search the individual passing database and/or marker database to determine the one or more individuals. Advantageously in some embodiments, thesystem 120 can retrieve the pre-computation mappings of the user if the one or more search criteria match the one or more patterns. Thesystem 120 can then update the interactive user interface to display the one or more individuals. Additionally, before updating the interactive user interface, thesystem 120 can communicate with the data sources A 110 a toN 110 n to receive updates and update the individual passing database and/or marker database accordingly. Based on the one or more search criteria, thesystem 120 can refine and/or update the one or more patterns of the pre-computation mappings.
-  Atoptional block 222, thesystem 120 can weigh and rank the one or more other individuals based on one or more decision rules. The decisions rules can be pre-defined bysystem 120 and/or by the user. The decision rules may include a quantity of the co-passings, a time of co-passings based at least of the search criteria, a quantity of each of the more than one other individual passing a certain marker, a quantity of each of the more than one other individual entering and/or exiting the designated area, etc. Advantageously, the one or more patterns can include the user's preference of analysis of co-passings. For example, if a user constantly views co-passings of two individuals with similar events (such as, same department), such preference may be taken into consideration when determining the one or more patterns of the user. The machine learning module can then update the one or more pre-computation mappings to improve efficiency of thesystem 120.
-  Atblock 224, thesystem 120 can update the interactive user interface to display the list of the one or more other individuals in a third portion. In some embodiments, the list of the one or more other individuals may be displayed according to the ranking determined atoptional block 222. The interactive user interface, in the third portion, may include one or more reasons of the rankings.
-  Atblock 226, thesystem 120 can receive a user input selecting a second individual from the list of the one or more individuals. As the system receives such selection, thesystem 120 can determine, atblock 228, a second set of passing information related to one or more instances of the second individuals passing the markers in the individual passing database and/or marker database. Advantageously in some embodiment, as thesystem 120 retrieves the pre-computation mappings, thesystem 120 can retrieves the relevant passing information as well. Alternatively, the user can select a third individual from the list (not indicated inFIG. 3 ), the system can update the interactive user interface accordingly.
-  Atblock 230, thesystem 120 can update the interactive user interface to display the second set of passing information in the interactive bubble chart. The second set of passing information may be displayed in the interactive bubble chart using a different format than the first set of passing information, such as a different color, different shades, etc. Atoptional block 232, thesystem 120 can update the interactive user interface to display the second set of passing information in the interactive timeline, bar chart and/or table. As in the interactive bubble chart, the second set of passing information may be displayed in the interactive timeline, bar chart and/or table in a different format. Thesystem 120 can optionally receive another one or more search criteria from the user to find another individual as the passing analysis process loops back to theblock 218.
-  Advantageously in some embodiments, as the user interacts with one portion of the interactive user interface, thesystem 120 can update other portions to indicate such interactions. For example, if the user selects a bubble in the interactive bubble chart, thesystem 120 can update the interactive timeline, interactive bar chart and/or interactive table to highlight only passing information of the selected bubble in the interactive bubble chart. Due to the pre-computation mappings and/or patterns, thesystem 120 can provide more efficient passing data processing to the user. The machine learning module of thesystem 120 can also help the user to better understand the passing information by sending notices.
-  FIG. 3 is a flow chart illustrating anexample process 300 of marker analysis, according to an embodiment of the present disclosure. In various embodiments, fewer blocks or additional blocks may be included in the process ofFIG. 3 , or various blocks may be performed in an order different from that shown in the figure. In various implementations, the block ofFIG. 3 may be performed serially and/or concurrently, and may be performed multiple times simultaneously. Further, one or more blocks in the figure may be performed by various components of thesystem 120, for example, the passing analysis engine 126 (described above in reference toFIG. 1 ).
-  Atoptional block 302, thesystem 120 receives a user input to view detailed information associated with a specific marker. The input may be a passing, a marker and/or any other criteria. Based at least partly on the user input, thesystem 120 can determine at optional block 304 a set of detailed vehicle information related to a group of passings in the individual passing database and/or marker database. In some embodiments, the user can request to view the detailed vehicle information in an interactive user table as discussed with reference toFIG. 2 . The system, atoptional block 306, can generate an interactive user interface to display the set of detailed vehicle information. Alternatively, thesystem 120 can update the interactive user interface for the user to enter one or more criteria to view detailed vehicle information related to a specific marker as later described in details with reference toFIG. 5 .
-  Atoptional block 310, thesystem 120 can update the interactive user interface to display the set of detailed vehicle information in an interactive table in a first portion. In the interactive table, the rows correspond to different time periods of a specific day and the columns indicate one or more lanes of the specific marker. Each cell may include detailed information of a vehicle of the passing, such as a photo of the vehicle, a color of the vehicle, a model of the vehicle, a time of the vehicle passing the marker, etc. In some embodiments, thesystem 120 may update the interactive table to display the detailed information in different formats. As one example, thesystem 120 can update the interactive table to show an actual photo of the vehicle, including the specific color and model. Such display can help the user to better visually analyze of the passing.
-  Atblock 310, the system can update the interactive user interface to display a second portion for providing one or more filter criteria. The filter criteria can include lane filter criteria and/or visual filter criteria. The lane filter criteria may include a marker, a date, a time, etc. Thesystem 120 can provide the user options to add, edit, and/or delete the lane filter criteria. The visual filter criteria may include a color of a vehicle, a model of a vehicle, a VIN number of a vehicle, a license plate of a vehicle, etc. Thesystem 120 can provide the user options to add, edit, and/or delete the visual filter criteria on the interactive user interface.
-  Atblock 312, thesystem 120 receives one or more lane filter criteria from the use. As thesystem 120 receives the one or more lane filter criteria, thesystem 120 can determine at block 314 a first subset of detailed vehicle information based at least partly on the lane filter criteria. Thesystem 120 can retrieve the first subset of detailed vehicle information from the individual passing database and/or the marker database.
-  Atblock 316, thesystem 120 can update the interactive user interface to display the first subset of detailed vehicle information in the interactive table. The rows and columns of the interactive tables can be updated. Each cell can show one or more sets of detailed vehicle information meeting the lane filter criteria.
-  Atblock 318, thesystem 120 can receive one or more visual filter criteria. Based at least partly on the one or more visual filter criteria, thesystem 120 can determine a second subset of detailed vehicle information atblock 320. Advantageously in some embodiments, the system can group passings with similar vehicle visual characteristics together associated with a marker in the marker database. As one example, thesystem 120 can group passings of black vehicles associated with a marker. As another example, thesystem 120 can group passings of 2011 black Model A vehicles together. As thesystem 120 receives the one or more visual filter criteria, thesystem 120 can then determine the second subset of detailed vehicle information in the related group. This way, when dealing with a huge number of passing data, thesystem 120 can provide an efficient way to process data.
-  As thesystem 120 determines the second subset, thesystem 120 atblock 322 can update the interactive user interface to highlight the second subset of detailed vehicle information. The highlighting can be done by thesystem 120 in various formats. As one example, if the user wishes to view only red vehicles, thesystem 120 can update the interactive table to highlight the set of detailed vehicle information of red vehicles in red boxes as described in details later with reference toFIG. 5 .
-  Atblock 322, thesystem 120 can receive a user selection of a set of detailed vehicle information. Thesystem 120 can then determine one or more individuals associated with the vehicle in the selected cell atblock 326. Thesystem 120 can retrieve detailed individual information associated with the one or more individuals in the individual passing database and/or marker database. Thesystem 120 can then update the interactive user interface to display the detailed individual information associated with the one or more individuals. The detailed individual information may include a photo, a name, an ID, etc. The user can further interact with thesystem 120 to request a passing photo which was taken as the individual passed the marker.
-  Advantageously in some embodiments, as thesystem 120 determines the first subset and the second subset of detailed vehicle information, thesystem 120 can automatically group relevant detailed individual information as atblock 320. Thesystem 120 can provide an efficient way to process data. Thesystem 120 can further provide the user with more comprehensive ways to view detailed vehicle and/or individual information related to a marker.
-  FIG. 4 andFIG. 5 illustrate example interactive user interfaces displaying passing and/or co-passing information to a user, according to an embodiment, in which search criteria is collected, analyzed and/or computed and, based on the analysis and/or computation, co-passing information is automatically determined and presented to a user.
-  In the example ofFIG. 4 , thesystem 120 can generate aninteractive user interface 400 on theuser device 130 for displaying passing and/or co-passing information. The user can input one or more initial search criteria in user interface elements provided by thesystem 120. For example, the user can enter a name in atextbox 402, an ID in atextbox 404, and/or a date of birth in atextbox 406. As the user makes his input, thesystem 120 can determine a first individual,Individual 1, whose passing information the user wishes to view. Thesystem 120 can retrieve data items associated passing information related toIndividual 1 in the individual passing database and/or the marker database. In some embodiments, thesystem 120 can update theinteractive user interface 400 to allow the user to add, edit, and/or delete one or more user interface elements for providing more or fewer initial search criteria. In some embodiments, one or more other applications can provide thesystem 120 with one or more initial search criteria. The one or more other applications can be text systems, call systems, and/or internet-based applications. As an example, the user can text thesystem 120 one or more initial search criteria and thesystem 120 can parse through the text message and determine the one or more initial search criteria inputted by the user.
-  Thesystem 120 can then update theinteractive user interface 400 displaying the passing information ofIndividual 1 in various interactive user interface element. As an example, thesystem 120 can update the interactive user interface to display personal information ofIndividual 1. In the example ofFIG. 4 , a photo ofIndividual 1 is displayed via auser interface element 408. The name ofIndividual 1,Event # 1, andEvent # 2 are displayed next to the photo. In some embodiments, as the user click on the name ofIndividual 1 and/or the photo, thesystem 120 can generate a pop-up user interface to display detailed individual information related toIndividual 1.
-  Thesystem 120 can also display the passing information related toIndividual 1 in various interactive user interface elements, such as aninteractive time bar 420, aninteractive bubble chart 410, aninteractive bar chart 430, and an interactive table 490. In theinteractive bubble chart 410, theX-axis 416 indicates one or more time periods within a day and the Y-axis indicates days within a week. The passing information related toIndividual 1 is displayed as various bubbles in the chart. Each bubble indicates a quantity of passings related toIndividual 1. As an example,bubble 414 may indicate a quantity of passings related toIndividual 1 happening from 21:00 to 23:00 on Tuesdays. The size of a bubble may indicate the quantity of passings as shown in theinteractive bubble chart 410. As one example,bubble 413 is smaller thanbubble 414; the quantity of the passings related toIndividual 1 from 21:00 to 23:00 on Tuesdays is higher than the quantity of the passings related toIndividual 1 from 21:00 to 23:00 on Fridays. In some embodiments, thesystem 120 may indicate the quantity of passings within the bubble. Additionally, if the user clicks on thebubble 414, thesystem 120 can generate a pop-up user interface to display detailed information of the passings related to thebubble 414, such as detailed vehicle and/or individual information of such passing. Thesystem 120 can provide the user with a user interface element to edit and/or define the interactive bubble chart, such as to change the format, the X-axis indications, the Y-axis indications, etc.
-  In theinteractive timeline 420, the X-axis may indicate a month of a year. In the example ofFIG. 4 , the X-axis in the interactive time line indicates a quarter of a year. Each bar in the interactive timeline may indicate the number of passings related toIndividual 1 in the time period of the X-axis. For example,bar 424 indicates a number of passing related toIndividual 1 around March, 2015. As bubbles in the interactive bubble chart, as the user clicks on a bar in the interactive timeline, thesystem 120 can generate a pop-up user interface displaying more detailed vehicle and/or individual information of the passings. Thesystem 120 can provide the user with a user interface element to edit and/or define the interactive bar chart.
-  In the example ofFIG. 4 , there are three interactive bar charts displaying vehicle used information, passing type information, marker information. The Y-axis of the vehicle used information table indicates one or more vehicles Individual used the passings ofIndividual 1 while the X-axis indicates a number of the one or more vehicles used. The vehicle information may be display in models, license plates, and so on. The Y-axis of the passing type table indicates whether the user used one or more vehicle or walked the passings ofIndividual 1 while the X-axis indicates a number of passing type. The Y-axis of the marker table indicates one or more markers related to the passings ofIndividual 1 while the X-axis indicates a number of passing the one or more marker. As bubbles in the interactive bubble chart, as the user clicks on a bar in the interactive bar chart, thesystem 120 can generate a pop-up user interface displaying more detailed vehicle and/or individual information of the passings. Thesystem 120 can provide the user means to edit and/or define the interactive bar chart.
-  Thesystem 120 can also generate an interactive table 490 displaying the passing information related toIndividual 1. In the example ofFIG. 4 ,column 460 indicates a date of a passing,column 462 indicates one or more individuals associated with the passing,column 464 indicates one or more IDs of the one or more individuals,column 466 indicates one or more dates of birth of the one or more individuals,column 468 indicates one or more markers associated with the passing,column 470 indicates a passing type, andcolumn 472 indicates a vehicle associated with passing. For example,row 491 indicates thatIndividual 1 passedMarker # 1 in Vehicle V2 at 2:30:00 on March 1st, 2015 andIndividual 1's ID isID # 1 and Individual's date of birth isDOB# 1. As more than one individual may involve in a passing, the interactive table 490 may be updated to indicate the more than one individual as shown inrow 492. As bubbles in the interactive bubble chart, as the user clicks a cell of the interactive table, thesystem 120 can generate a pop-up user interface displaying more detailed vehicle and/or individual information of the passings associated with the cell. Thesystem 120 can provide the user with a user interface element to edit and/or define the interactive table, such as adding more columns, changing the order of the column, etc. Additionally, as the user selects a cell of the interactive table 490, the user can view detailed vehicle information by clicking on abutton 454. Thesystem 120 can then generate a new interactive user interface displaying marker specific information as described later with reference toFIG. 5 .
-  In the example ofFIG. 4 , the user can enter one or more search criteria in search for one or more other individuals with passings related to the passings of the first individual. For example, the user can enter a minimal number of co-passings via auser interface element 480, enter a minimal number of independent passing via auser interface element 481, enter a maximum time interval via auser interface element 482, enter whether to include related vehicles via auser interface element 483, and/or enter whether to include multiple related markers via auser interface element 484. Thesystem 120 can provide the user with a user interface element to add, edit, and/or delete the one or more search criteria.
-  As the user enters the search criteria, thesystem 120 can determine one or more other individuals that meet the search criteria in the individual passing database and/or marker database. Advantageously, as discussed with reference toFIG. 2 , thesystem 120 can improve data processing efficiency by accessing patterns and/or pre-computation mappings. In the example ofFIG. 4 , the user enters the following search criteria: a minimal number of two co-passings, a minimal number of one independent passings and maximum time of thirty minute interval. Thesystem 120 determines three other individuals meeting the search criteria:Individual 2,Individual 3, andIndividual 4. Thesystem 120 can update theinteractive user interface 400 to include a list of the other individuals. As thesystem 120 determines the three other individuals, thesystem 120 can weigh and rank the three other individuals and can display the list according to the ranking. As shown inboxes Individual 2 is listed on the top of the list as he has 10 passings with 4 co-passings related to the passings ofIndividual 1,Individual 3 is listed on the second of the list as he has 7 passings with 2 co-passings whileIndividual 4 is listed on the bottom of the list as he has 6 passing with 2 co-passings. They are listed on theinteractive user interface 400 based on the number of their passing and co-passings
-  As the user moves its cursor or clicks theboxes system 120 can generate a pop-up user interface to display more detailed information of the passings related toIndividual 2,Individual 3, orIndividual 4. As the user selectsIndividual 1, thesystem 120 can update theinteractive user interface 400 to display the passing information related toIndividual 2 in the interactive bubble chart, the interactive timeline, the interactive bar chart and/or the interactive table. Thesystem 120 can also update theinteractive user interface 400 to include personal information related toIndividual 2, such as aphoto 409 ofIndividual 2,Individual 2's related events and any other individual information associated withIndividual 2.
-  In abox 417, different formats may be shown for various individuals by thesystem 120. As shown inFIG. 4 , the passing information related toIndividual 1 is shown in a format in auser interface element 416 while the passing information related toIndividual 2 is shown in a format in auser interface element 417. The different formats may be different colors, different lines, different shades, etc. Using the different formats, thesystem 120 can advantageously offer the user a clear and interactive way of viewing a comparison of the passing information associated withIndividual 1 andIndividual 2. One example is thebubble 414 and abubble 412 in theinteractive bubble chart 410. Other examples are bar 432 and bar 434 in theinteractive bar chart 430,bar 422 and bar 424 in theinteractive timeline 420, therow 491 and therow 492 in the interactive table.
-  In the example ofFIG. 4 , the user is viewing co-passing information related toIndividual 1 andIndividual 2. In some embodiments, the user can select yet another individual, for example,Individual 3, to view the co-passing information related toIndividual 1,Individual 2, andIndividual 3 in different formats. Advantageously, by efficiently processing data in the individual passing database and/or marker database, thesystem 120 can efficiently retrieve relevant passing and/or co-passing information based at least partly on the user input. Thesystem 120 can also provide a more interactive and detailed way for the user to view such information.
-  As shown inFIG. 5 . Thesystem 120 can generate anotherinteractive user interface 500 to display detailed vehicle information related to a marker. As discussed with reference toFIG. 4 , thesystem 120 can generate theinteractive user interface 500 in response to a user input to view detailed vehicle information associated with a specific marker.
-  Thesystem 120 can generate an interactive table 550 on theinteractive user interface 500 to display detailed vehicle information related to the marker. Rows of the interactive table 550 indicate one or more time periods on a specific day while columns of the interactive table 550 indicate a lane of the marker. Each cell indicates a set of detailed vehicle information related to a vehicle passing the marker using the corresponding lane in the corresponding time period. For example, inbox 562 andbox 564, thesystem 120 display two sets of detailed vehicle information related to two vehicles passing themarker using Lane 1 from 14:00 to 14:10. The detailed vehicle information in the interactive table may indicate information related to the vehicle: a license plate number, a date, a time of passing, a model, a color, a photo, etc.
-  Inbox 510, the user can input one or more lane filter criteria to filter the detailed vehicle information listed in the interactive user table 550: the user can select a marker via auser interface element 514, select a date via auser interface element 516, select a time via auser interface element 518, etc. The system may provide a user interface element for the user to add, delete, and/or edit one or more lane filter criteria. As the user inputs the one or more lane filter criteria, thesystem 120 can update the interactive table 550 to display only the detailed vehicle information that satisfies the one or more lane filter criteria.
-  Inbox 520, the user can input one or more visual filter criteria to filter the detailed vehicle information listed in the interactive user table 550: the user can select a vehicle color via auser interface element 524, a vehicle model via auser interface element 526, a VIN number via auser interface element 528, a license plate number via auser interface element 529. The system may also provide the user with a user interface element to add, delete, and/or edit one or more visual filter criteria. As the user inputs the one or more visual filter criteria, thesystem 120 can update the interactive table 550 to highlight the detailed vehicle information that satisfies the one or more visual criteria. The color of the highlighting in some embodiments may correspond to the color filter criterion. For example, if the user wishes to view detailed vehicle information related to red vehicles, thesystem 120 can update the interactive table 550 to highlight thecell 562 andcell 568 in red boxes.
-  Additionally, as the user selects a cell in the interactive table 550, thesystem 120 can highlight the cell and determines one or more individuals related to the cell. For example, if the user selects thecell 562, thesystem 120 can determinesIndividual 5 as the driver andIndividual 6 as a passenger by accessing the individual passing database and/or the marker database and/or search individual information related to the specific marker, time period, vehicle, and as so on. In thebox 530, thesystem 120 can display detailed individual information related to a driver,Individual 5, such as a photo, an ID, a date of birth and/or related events. In thebox 540, thesystem 120 can display detailed individual information related to a passenger,Individual 6, such as a photo, an ID, a date of birth and/or related events. Additionally, the user can view a passing photo ofIndividual 1 by clicking a button 534, and thesystem 120 can generate a pop-up user interface to display a photo ofIndividual 5 andIndividual 6 passing theMarker 1 at 14:05 on Jan. 1, 2015 in ared model # 1 vehicle with a license plate number “License # 1”.
-  The user may also wish to view passing information related to the driver,Individual 5. The user can click the photo or any other information in thebox 530, the system can display the passing information related toIndividual 1 on theinteractive user interface 400 as described with reference toFIG. 4 . Advantageously, by efficiently processing data in the individual passing database and/or marker database, thesystem 120 can efficiently retrieve relevant detailed vehicle and/or individual information based at least partly on the user input. Thesystem 120 can also provide a more interactive and detailed way for the user to view such information.
-  Various embodiments of the present disclosure may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or mediums) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure.
-  For example, the functionality described herein may be performed as software instructions are executed by, and/or in response to software instructions being executed by, one or more hardware processors and/or any other suitable computing devices. The software instructions and/or other executable code may be read from a computer readable storage medium (or mediums).
-  The computer readable storage medium can be a tangible device that can retain and store data and/or instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device (including any volatile and/or non-volatile electronic storage devices), a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a solid state drive, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
-  Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
-  Computer readable program instructions (as also referred to herein as, for example, “code,” “instructions,” “module,” “application,” “software application,” and/or the like) for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. Computer readable program instructions may be callable from other instructions or from itself, and/or may be invoked in response to detected events or interrupts. Computer readable program instructions configured for execution on computing devices may be provided on a computer readable storage medium, and/or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution) that may then be stored on a computer readable storage medium. Such computer readable program instructions may be stored, partially or fully, on a memory device (e.g., a computer readable storage medium) of the executing computing device, for execution by the computing device. The computer readable program instructions may execute entirely on a user's computer (e.g., the executing computing device), partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
-  Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
-  These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart(s) and/or block diagram(s) block or blocks.
-  The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks. For example, the instructions may initially be carried on a magnetic disk or solid state drive of a remote computer. The remote computer may load the instructions and/or modules into its dynamic memory and send the instructions over a telephone, cable, or optical line using a modem. A modem local to a server computing system may receive the data on the telephone/cable/optical line and use a converter device including the appropriate circuitry to place the data on a bus. The bus may carry the data to a memory, from which a processor may retrieve and execute the instructions. The instructions received by the memory may optionally be stored on a storage device (e.g., a solid state drive) either before or after execution by the computer processor.
-  The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. In addition, certain blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate.
-  It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions. For example, any of the processes, methods, algorithms, elements, blocks, applications, or other functionality (or portions of functionality) described in the preceding sections may be embodied in, and/or fully or partially automated via, electronic hardware such application-specific processors (e.g., application-specific integrated circuits (ASICs)), programmable processors (e.g., field programmable gate arrays (FPGAs)), application-specific circuitry, and/or the like (any of which may also combine custom hard-wired logic, logic circuits, ASICs, FPGAs, etc. with custom programming/execution of software instructions to accomplish the techniques).
-  Any of the above-mentioned processors, and/or devices incorporating any of the above-mentioned processors, may be referred to herein as, for example, “computers,” “computer devices,” “computing devices,” “hardware computing devices,” “hardware processors,” “processing units,” and/or the like. Computing devices of the above-embodiments may generally (but not necessarily) be controlled and/or coordinated by operating system software, such as Mac OS, iOS, Android, Chrome OS, Windows OS (e.g., Windows XP, Windows Vista,Windows 7,Windows 8,Windows 10, Windows Server, etc.), Windows CE, Unix, Linux, SunOS, Solaris, Blackberry OS, VxWorks, or other suitable operating systems. In other embodiments, the computing devices may be controlled by a proprietary operating system. Conventional operating systems control and schedule computer processes for execution, perform memory management, provide file system, networking, I/O services, and provide a user interface functionality, such as a graphical user interface (“GUI”), among other things.
-  For example,FIG. 6 is a block diagram that illustrates acomputer system 600 upon which various embodiments of thesystem 120 may be implemented.Computer system 600 includes abus 602 or other communication mechanism for communicating information, and a hardware processor, or multiple processors, 604 coupled withbus 602 for processing information. Hardware processor(s) 604 may be, for example, one or more general purpose microprocessors.
-  Computer system 600 also includes amain memory 606, such as a random access memory (RAM), cache and/or other dynamic storage devices, coupled tobus 602 for storing information and instructions to be executed byprocessor 604.Main memory 606 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed byprocessor 604. Such instructions, when stored in storage media accessible toprocessor 604, rendercomputer system 600 into a special-purpose machine that is customized to perform the operations specified in the instructions. In some embodiments, themain memory 606 can be thedata store 122.
-  Computer system 600 further includes a read only memory (ROM) 608 or other static storage device coupled tobus 602 for storing static information and instructions forprocessor 604. Astorage device 610, such as a magnetic disk, optical disk, or USB thumb drive (Flash drive), etc., is provided and coupled tobus 602 for storing information and instructions.
-  Computer system 600 may be coupled viabus 602 to adisplay 612, such as a cathode ray tube (CRT) or LCD display (or touch screen), for displaying information to a computer user. Aninput device 614, including alphanumeric and other keys, is coupled tobus 602 for communicating information and command selections toprocessor 604. Another type of user input device iscursor control 616, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections toprocessor 604 and for controlling cursor movement ondisplay 612. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. In some embodiments, the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor. Users can use thedisplay 612, theinput device 614, and/or thecursor control 616 to view, input, update, and/or change displayed passing information generated by thesystem 120.
-  Computing system 600 may include a user interface module (e.g., the UI management engine 128) to implement a GUI that may be stored in a mass storage device as computer executable program instructions that are executed by the computing device(s).Computer system 600 may further, as described below, implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes orprograms computer system 600 to be a special-purpose machine. According to one embodiment, the techniques herein are performed bycomputer system 600 in response to processor(s) 604 executing one or more sequences of one or more computer readable program instructions contained inmain memory 606. Such instructions may be read intomain memory 606 from another storage medium, such asstorage device 610. Execution of the sequences of instructions contained inmain memory 606 causes processor(s) 604 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
-  Various forms of computer readable storage media may be involved in carrying one or more sequences of one or more computer readable program instructions toprocessor 604 for execution. For example, the instructions may initially be carried on a magnetic disk or solid state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local tocomputer system 600 can receive the data (e.g., data items associated with an marker) on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data onbus 602.Bus 602 carries the data tomain memory 606, from whichprocessor 604 retrieves and executes the instructions. The instructions received bymain memory 606 may optionally be stored onstorage device 610 either before or after execution byprocessor 604.
-  Computer system 600 also includes acommunication interface 618 coupled tobus 602.Communication interface 618 provides a two-way data communication coupling to anetwork link 620 that is connected to alocal network 622. For example,communication interface 618 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example,communication interface 618 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or WAN component to communicate with a WAN). Wireless links may also be implemented. In any such implementation,communication interface 618 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
-  Network link 620 typically provides data communication through one or more networks to other data devices. For example,network link 620 may provide a connection throughlocal network 622 to ahost computer 624 or to data equipment operated by an Internet Service Provider (ISP) 626.ISP 626 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 628.Local network 622 andInternet 628 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals onnetwork link 620 and throughcommunication interface 618, which carry the digital data to and fromcomputer system 600, are example forms of transmission media.
-  Computer system 600 can send messages and receive data, including program code, through the network(s),network link 620 andcommunication interface 618. In the Internet example, a server 830 might transmit a requested code for an application program throughInternet 628,ISP 626,local network 622 andcommunication interface 618.
-  The received code may be executed byprocessor 604 as it is received, and/or stored instorage device 610, or other non-volatile storage for later execution.
-  As described above, in various embodiments certain functionality may be accessible by a user through a web-based viewer (such as a web browser), or other suitable software program). In such implementations, the user interface may be generated by a server computing system and transmitted to a web browser of the user (e.g., running on the user's computing system). Alternatively, data (e.g., user interface data) necessary for generating the user interface may be provided by the server computing system to the browser, where the user interface may be generated (e.g., the user interface data may be executed by a browser accessing a web service and may be configured to render the user interfaces based on the user interface data). The user may then interact with the user interface through the web-browser. User interfaces of certain implementations may be accessible through one or more dedicated software applications. In certain embodiments, one or more of the computing devices and/or systems of the disclosure may include mobile computing devices, and user interfaces may be accessible through such mobile computing devices (for example, smartphones and/or tablets). In an example embodiment, when configured as monitoring device 150, computer system 800 hosts a web server serving an HTML-based user interface to analysts connecting through a remote device.
-  Many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure. The foregoing description details certain embodiments. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the systems and methods can be practiced in many ways. As is also stated above, it should be noted that the use of particular terminology when describing certain features or aspects of the systems and methods should not be taken to imply that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects of the systems and methods with which that terminology is associated.
-  Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.
-  The term “substantially” when used in conjunction with the term “real-time” forms a phrase that will be readily understood by a person of ordinary skill in the art. For example, it is readily understood that such language will include speeds in which no or little delay or waiting is discernible, or where such delay is sufficiently short so as not to be disruptive, irritating, or otherwise vexing to a user.
-  Conjunctive language such as the phrase “at least one of X, Y, and Z,” or “at least one of X, Y, or Z,” unless specifically stated otherwise, is to be understood with the context as used in general to convey that an item, term, etc. may be either X, Y, or Z, or a combination thereof. For example, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list. Thus, such conjunctive language is not generally intended to imply that certain embodiments require at least one of X, at least one of Y, and at least one of Z to each be present.
-  The term “a” as used herein should be given an inclusive rather than exclusive interpretation. For example, unless specifically noted, the term “a” should not be understood to mean “exactly one” or “one and only one”; instead, the term “a” means “one or more” or “at least one,” whether used in the claims or elsewhere in the specification and regardless of uses of quantifiers such as “at least one,” “one or more,” or “a plurality” elsewhere in the claims or specification.
-  The term “comprising” as used herein should be given an inclusive rather than exclusive interpretation. For example, a general purpose computer comprising one or more processors should not be interpreted as excluding other computer components, and may possibly include such components as memory, input/output devices, and/or network interfaces, among others.
-  While the above detailed description has shown, described, and pointed out novel features as applied to various embodiments, it may be understood that various omissions, substitutions, and changes in the form and details of the devices or processes illustrated may be made without departing from the spirit of the disclosure. As may be recognized, certain embodiments of the inventions described herein may be embodied within a form that does not provide all of the features and benefits set forth herein, as some features may be used or practiced separately from others. The scope of certain inventions disclosed herein is indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims (21)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| US16/513,423 US20190347838A1 (en) | 2017-07-18 | 2019-07-16 | Passing system with an interactive user interface | 
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| US15/652,641 US10403011B1 (en) | 2017-07-18 | 2017-07-18 | Passing system with an interactive user interface | 
| US16/513,423 US20190347838A1 (en) | 2017-07-18 | 2019-07-16 | Passing system with an interactive user interface | 
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| US15/652,641 Continuation US10403011B1 (en) | 2017-07-18 | 2017-07-18 | Passing system with an interactive user interface | 
Publications (1)
| Publication Number | Publication Date | 
|---|---|
| US20190347838A1 true US20190347838A1 (en) | 2019-11-14 | 
Family
ID=67769970
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| US15/652,641 Active 2038-02-03 US10403011B1 (en) | 2017-07-18 | 2017-07-18 | Passing system with an interactive user interface | 
| US16/513,423 Abandoned US20190347838A1 (en) | 2017-07-18 | 2019-07-16 | Passing system with an interactive user interface | 
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| US15/652,641 Active 2038-02-03 US10403011B1 (en) | 2017-07-18 | 2017-07-18 | Passing system with an interactive user interface | 
Country Status (1)
| Country | Link | 
|---|---|
| US (2) | US10403011B1 (en) | 
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US20230185830A1 (en) * | 2015-06-09 | 2023-06-15 | Palantir Technologies Inc. | Systems and methods for indexing and aggregating data records | 
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| WO2019000418A1 (en) * | 2017-06-30 | 2019-01-03 | 上海联影医疗科技有限公司 | Tissue density analysis method and system | 
| CN115167188B (en) * | 2021-04-01 | 2025-07-29 | 云米互联科技(广东)有限公司 | Content display control method and device and intelligent household appliance | 
Family Cites Families (515)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US4958305A (en) | 1987-11-04 | 1990-09-18 | General Electric Company | Polygon edge clipping | 
| US4899161A (en) | 1988-07-21 | 1990-02-06 | International Business Machines Corporation | High accuracy coordinate conversion method for air traffic control applications | 
| US5109399A (en) | 1989-08-18 | 1992-04-28 | Alamo City Technologies, Inc. | Emergency call locating system | 
| FR2684214B1 (en) | 1991-11-22 | 1997-04-04 | Sepro Robotique | INDEXING CARD FOR GEOGRAPHIC INFORMATION SYSTEM AND SYSTEM INCLUDING APPLICATION. | 
| US5632009A (en) | 1993-09-17 | 1997-05-20 | Xerox Corporation | Method and system for producing a table image showing indirect data representations | 
| US5670987A (en) | 1993-09-21 | 1997-09-23 | Kabushiki Kaisha Toshiba | Virtual manipulating apparatus and method | 
| US6877137B1 (en) | 1998-04-09 | 2005-04-05 | Rose Blush Software Llc | System, method and computer program product for mediating notes and note sub-notes linked or otherwise associated with stored or networked web pages | 
| IL113805A0 (en) | 1994-05-23 | 1995-08-31 | Coulter Corp | Detection of reticulocytes | 
| JP3252623B2 (en) | 1994-11-09 | 2002-02-04 | 松下電器産業株式会社 | Shape model generator | 
| US5777549A (en) | 1995-03-29 | 1998-07-07 | Cabletron Systems, Inc. | Method and apparatus for policy-based alarm notification in a distributed network management environment | 
| US6366933B1 (en) | 1995-10-27 | 2002-04-02 | At&T Corp. | Method and apparatus for tracking and viewing changes on the web | 
| US5781195A (en) | 1996-04-16 | 1998-07-14 | Microsoft Corporation | Method and system for rendering two-dimensional views of a three-dimensional surface | 
| US5845300A (en) | 1996-06-05 | 1998-12-01 | Microsoft Corporation | Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items | 
| US5798769A (en) | 1996-08-15 | 1998-08-25 | Xerox Corporation | Method and apparatus for maintaining links between graphic objects in a free-form graphics display system | 
| US6178432B1 (en) | 1996-09-30 | 2001-01-23 | Informative Graphics Corp. | Method and apparatus for creating interactive web page objects | 
| CA2187704C (en) | 1996-10-11 | 1999-05-04 | Darcy Kim Rossmo | Expert system method of performing crime site analysis | 
| US5870559A (en) | 1996-10-15 | 1999-02-09 | Mercury Interactive | Software system and associated methods for facilitating the analysis and management of web sites | 
| US5974572A (en) | 1996-10-15 | 1999-10-26 | Mercury Interactive Corporation | Software system and methods for generating a load test using a server access log | 
| US6275233B1 (en) | 1996-11-01 | 2001-08-14 | International Business Machines Corporation | Surface simplification preserving a solid volume | 
| US6026233A (en) | 1997-05-27 | 2000-02-15 | Microsoft Corporation | Method and apparatus for presenting and selecting options to modify a programming language statement | 
| US6091956A (en) | 1997-06-12 | 2000-07-18 | Hollenberg; Dennis D. | Situation information system | 
| US6157747A (en) | 1997-08-01 | 2000-12-05 | Microsoft Corporation | 3-dimensional image rotation method and apparatus for producing image mosaics | 
| JP3636272B2 (en) | 1998-02-09 | 2005-04-06 | 富士通株式会社 | Icon display method, apparatus thereof, and recording medium | 
| US6247019B1 (en) | 1998-03-17 | 2001-06-12 | Prc Public Sector, Inc. | Object-based geographic information system (GIS) | 
| US6173067B1 (en) | 1998-04-07 | 2001-01-09 | Hughes Electronics Corporation | System and method for rapid determination of visibility-based terrain properties over broad regions | 
| US6389289B1 (en) | 1998-05-07 | 2002-05-14 | Hughes Electronics Corporation | Earth tiling system for providing regional based service in a mobile satellite communication network | 
| US7168039B2 (en) | 1998-06-02 | 2007-01-23 | International Business Machines Corporation | Method and system for reducing the horizontal space required for displaying a column containing text data | 
| US6742003B2 (en) | 2001-04-30 | 2004-05-25 | Microsoft Corporation | Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications | 
| US6577304B1 (en) | 1998-08-14 | 2003-06-10 | I2 Technologies Us, Inc. | System and method for visually representing a supply chain | 
| US6161098A (en) | 1998-09-14 | 2000-12-12 | Folio (Fn), Inc. | Method and apparatus for enabling small investors with a portfolio of securities to manage taxable events within the portfolio | 
| US6232971B1 (en) | 1998-09-23 | 2001-05-15 | International Business Machines Corporation | Variable modality child windows | 
| US6279018B1 (en) | 1998-12-21 | 2001-08-21 | Kudrollis Software Inventions Pvt. Ltd. | Abbreviating and compacting text to cope with display space constraint in computer software | 
| US6529900B1 (en) | 1999-01-14 | 2003-03-04 | International Business Machines Corporation | Method and apparatus for data visualization | 
| US6662103B1 (en) | 1999-03-22 | 2003-12-09 | Arc Second Inc. | Method and system for creating a user-selectable arbitrary coordinate frame | 
| US6631496B1 (en) | 1999-03-22 | 2003-10-07 | Nec Corporation | System for personalizing, organizing and managing web information | 
| US6483509B1 (en) | 1999-04-09 | 2002-11-19 | International Business Machines Corp. | Curve contour smoothing | 
| US6369835B1 (en) | 1999-05-18 | 2002-04-09 | Microsoft Corporation | Method and system for generating a movie file from a slide show presentation | 
| US6714936B1 (en) | 1999-05-25 | 2004-03-30 | Nevin, Iii Rocky Harry W. | Method and apparatus for displaying data stored in linked nodes | 
| US6307573B1 (en) | 1999-07-22 | 2001-10-23 | Barbara L. Barros | Graphic-information flow method and system for visually analyzing patterns and relationships | 
| US7039863B1 (en) | 1999-07-23 | 2006-05-02 | Adobe Systems Incorporated | Computer generation of documents using layout elements and content elements | 
| US7373592B2 (en) | 1999-07-30 | 2008-05-13 | Microsoft Corporation | Modeless child windows for application programs | 
| US6560620B1 (en) | 1999-08-03 | 2003-05-06 | Aplix Research, Inc. | Hierarchical document comparison system and method | 
| US6976210B1 (en) | 1999-08-31 | 2005-12-13 | Lucent Technologies Inc. | Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality | 
| US20020174201A1 (en) | 1999-09-30 | 2002-11-21 | Ramer Jon E. | Dynamic configuration of context-sensitive personal sites and membership channels | 
| US6674434B1 (en) | 1999-10-25 | 2004-01-06 | Navigation Technologies Corp. | Method and system for automatic generation of shape and curvature data for a geographic database | 
| US7716077B1 (en) | 1999-11-22 | 2010-05-11 | Accenture Global Services Gmbh | Scheduling and planning maintenance and service in a network-based supply chain environment | 
| FR2806183B1 (en) | 1999-12-01 | 2006-09-01 | Cartesis S A | DEVICE AND METHOD FOR INSTANT CONSOLIDATION, ENRICHMENT AND "REPORTING" OR BACKGROUND OF INFORMATION IN A MULTIDIMENSIONAL DATABASE | 
| US7194680B1 (en) | 1999-12-07 | 2007-03-20 | Adobe Systems Incorporated | Formatting content by example | 
| US6958753B2 (en) | 1999-12-27 | 2005-10-25 | Minolta Co., Ltd. | Method and apparatus for reducing three-dimensional shape data | 
| US6859909B1 (en) | 2000-03-07 | 2005-02-22 | Microsoft Corporation | System and method for annotating web-based documents | 
| US7148898B1 (en) | 2000-03-29 | 2006-12-12 | Sourceprose Corporation | System and method for synchronizing raster and vector map images | 
| US6456997B1 (en) | 2000-04-12 | 2002-09-24 | International Business Machines Corporation | System and method for dynamically generating an invisible hierarchy in a planning system | 
| JP4325075B2 (en) | 2000-04-21 | 2009-09-02 | ソニー株式会社 | Data object management device | 
| US6642945B1 (en) | 2000-05-04 | 2003-11-04 | Microsoft Corporation | Method and system for optimizing a visual display for handheld computer systems | 
| US7269786B1 (en) | 2000-05-04 | 2007-09-11 | International Business Machines Corporation | Navigating an index to access a subject multi-dimensional database | 
| US6915289B1 (en) | 2000-05-04 | 2005-07-05 | International Business Machines Corporation | Using an index to access a subject multi-dimensional database | 
| US6594672B1 (en) | 2000-06-01 | 2003-07-15 | Hyperion Solutions Corporation | Generating multidimensional output using meta-models and meta-outlines | 
| US6839745B1 (en) | 2000-07-19 | 2005-01-04 | Verizon Corporate Services Group Inc. | System and method for generating reports in a telecommunication system | 
| US6484101B1 (en) | 2000-08-16 | 2002-11-19 | Imagelinks, Inc. | 3-dimensional interactive image modeling system | 
| US7278105B1 (en) | 2000-08-21 | 2007-10-02 | Vignette Corporation | Visualization and analysis of user clickpaths | 
| US20020065708A1 (en) | 2000-09-22 | 2002-05-30 | Hikmet Senay | Method and system for interactive visual analyses of organizational interactions | 
| AUPR033800A0 (en) | 2000-09-25 | 2000-10-19 | Telstra R & D Management Pty Ltd | A document categorisation system | 
| US6757445B1 (en) | 2000-10-04 | 2004-06-29 | Pixxures, Inc. | Method and apparatus for producing digital orthophotos using sparse stereo configurations and external models | 
| US6829621B2 (en) | 2000-10-06 | 2004-12-07 | International Business Machines Corporation | Automatic determination of OLAP cube dimensions | 
| US8117281B2 (en) | 2006-11-02 | 2012-02-14 | Addnclick, Inc. | Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content | 
| US8707185B2 (en) | 2000-10-10 | 2014-04-22 | Addnclick, Inc. | Dynamic information management system and method for content delivery and sharing in content-, metadata- and viewer-based, live social networking among users concurrently engaged in the same and/or similar content | 
| JP2002123530A (en) | 2000-10-12 | 2002-04-26 | Hitachi Ltd | Method and apparatus for visualizing multidimensional data | 
| US6738770B2 (en) | 2000-11-04 | 2004-05-18 | Deep Sky Software, Inc. | System and method for filtering and sorting data | 
| US9053222B2 (en) | 2002-05-17 | 2015-06-09 | Lawrence A. Lynn | Patient safety processor | 
| AUPR313301A0 (en) | 2001-02-15 | 2001-03-08 | Topshop Holdings Pty Ltd | Method & system for avoiding channel conflict in electronic commerce | 
| US6516268B2 (en) | 2001-02-16 | 2003-02-04 | Wizeguides.Com Inc. | Bundled map guide | 
| US6985950B1 (en) | 2001-03-06 | 2006-01-10 | Microsoft Corporation | System for creating a space-efficient document categorizer for training and testing of automatic categorization engines | 
| TW493142B (en) | 2001-03-14 | 2002-07-01 | Ind Tech Res Inst | Method for building progressive mesh | 
| US7043702B2 (en) | 2001-03-15 | 2006-05-09 | Xerox Corporation | Method for visualizing user path through a web site and a path's associated information scent | 
| US9256356B2 (en) | 2001-03-29 | 2016-02-09 | International Business Machines Corporation | Method and system for providing feedback for docking a content pane in a host window | 
| US6775675B1 (en) | 2001-04-04 | 2004-08-10 | Sagemetrics Corporation | Methods for abstracting data from various data structures and managing the presentation of the data | 
| ATE476702T1 (en) | 2001-05-11 | 2010-08-15 | Computer Ass Think Inc | METHOD AND SYSTEM FOR CONVERTING LEGACY SOFTWARE APPLICATIONS INTO MODERN, OBJECT-ORIENTED SYSTEMS | 
| US6980984B1 (en) | 2001-05-16 | 2005-12-27 | Kanisa, Inc. | Content provider systems and methods using structured data | 
| US7865427B2 (en) | 2001-05-30 | 2011-01-04 | Cybersource Corporation | Method and apparatus for evaluating fraud risk in an electronic commerce transaction | 
| US6828920B2 (en) | 2001-06-04 | 2004-12-07 | Lockheed Martin Orincon Corporation | System and method for classifying vehicles | 
| US8001465B2 (en) | 2001-06-26 | 2011-08-16 | Kudrollis Software Inventions Pvt. Ltd. | Compacting an information array display to cope with two dimensional display space constraint | 
| US20030039948A1 (en) | 2001-08-09 | 2003-02-27 | Donahue Steven J. | Voice enabled tutorial system and method | 
| WO2003015456A2 (en) | 2001-08-10 | 2003-02-20 | Seti Média Inc. | Sound pollution surveillance system and method | 
| US8660869B2 (en) | 2001-10-11 | 2014-02-25 | Adobe Systems Incorporated | System, method, and computer program product for processing and visualization of information | 
| US7725348B1 (en) * | 2001-10-17 | 2010-05-25 | United Toll Systems, Inc. | Multilane vehicle information capture system | 
| US6744434B2 (en) | 2001-11-30 | 2004-06-01 | Caterpillar Inc | Cuts removal system for triangulated CAD Models | 
| US7611602B2 (en) | 2001-12-13 | 2009-11-03 | Urban Mapping, Llc | Method of producing maps and other objects configured for presentation of spatially-related layers of data | 
| US20070203771A1 (en) | 2001-12-17 | 2007-08-30 | Caballero Richard J | System and method for processing complex orders | 
| US7970240B1 (en) | 2001-12-17 | 2011-06-28 | Google Inc. | Method and apparatus for archiving and visualizing digital images | 
| US7139800B2 (en) | 2002-01-16 | 2006-11-21 | Xerox Corporation | User interface for a message-based system having embedded information management capabilities | 
| US7454466B2 (en) | 2002-01-16 | 2008-11-18 | Xerox Corporation | Method and system for flexible workflow management | 
| US7546245B2 (en) | 2002-01-17 | 2009-06-09 | Amsapplied Medical Software, Inc. | Method and system for gainsharing of physician services | 
| US7640173B2 (en) | 2002-01-17 | 2009-12-29 | Applied Medical Software, Inc. | Method and system for evaluating a physician's economic performance and gainsharing of physician services | 
| US7305444B2 (en) | 2002-01-23 | 2007-12-04 | International Business Machines Corporation | Method and system for controlling delivery of information in a forum | 
| US7162475B2 (en) | 2002-04-17 | 2007-01-09 | Ackerman David M | Method for user verification and authentication and multimedia processing for interactive database management and method for viewing the multimedia | 
| US7171427B2 (en) | 2002-04-26 | 2007-01-30 | Oracle International Corporation | Methods of navigating a cube that is implemented as a relational object | 
| US20040126840A1 (en) | 2002-12-23 | 2004-07-01 | Affymetrix, Inc. | Method, system and computer software for providing genomic ontological data | 
| US20040012633A1 (en) | 2002-04-26 | 2004-01-22 | Affymetrix, Inc., A Corporation Organized Under The Laws Of Delaware | System, method, and computer program product for dynamic display, and analysis of biological sequence data | 
| US7703021B1 (en) | 2002-05-24 | 2010-04-20 | Sparta Systems, Inc. | Defining user access in highly-configurable systems | 
| JP2003345810A (en) | 2002-05-28 | 2003-12-05 | Hitachi Ltd | Document search method, document search system, and document search result indicating system | 
| US20030229848A1 (en) | 2002-06-05 | 2003-12-11 | Udo Arend | Table filtering in a computer user interface | 
| US7103854B2 (en) | 2002-06-27 | 2006-09-05 | Tele Atlas North America, Inc. | System and method for associating text and graphical views of map information | 
| US7872647B2 (en) | 2002-07-19 | 2011-01-18 | Rockwell Collins Simulation And Training Solutions Llc | System and method for modeling a spheroid world database | 
| US6847888B2 (en) | 2002-08-07 | 2005-01-25 | Hrl Laboratories, Llc | Method and apparatus for geographic shape preservation for identification | 
| CA2398103A1 (en) | 2002-08-14 | 2004-02-14 | March Networks Corporation | Multi-dimensional table filtering system | 
| US6728608B2 (en) | 2002-08-23 | 2004-04-27 | Applied Perception, Inc. | System and method for the creation of a terrain density model | 
| US7127352B2 (en) | 2002-09-30 | 2006-10-24 | Lucent Technologies Inc. | System and method for providing accurate local maps for a central service | 
| AU2003284118A1 (en) | 2002-10-14 | 2004-05-04 | Battelle Memorial Institute | Information reservoir | 
| US20040143602A1 (en) | 2002-10-18 | 2004-07-22 | Antonio Ruiz | Apparatus, system and method for automated and adaptive digital image/video surveillance for events and configurations using a rich multimedia relational database | 
| CA2501153A1 (en) * | 2002-10-25 | 2004-05-06 | Yoshiaki Takida | Toll road charge collection system using artificial satellite, charge collecting machine, and charge collecting method | 
| US20040085318A1 (en) | 2002-10-31 | 2004-05-06 | Philipp Hassler | Graphics generation and integration | 
| IL153535A (en) | 2002-12-19 | 2007-12-03 | Rafael Advanced Defense Sys | Method and system for processing and analyzing digital terrain data | 
| US8589273B2 (en) | 2002-12-23 | 2013-11-19 | Ge Corporate Financial Services, Inc. | Methods and systems for managing risk management information | 
| JP4041417B2 (en) * | 2003-02-26 | 2008-01-30 | 株式会社エヌ・ティ・ティ・ドコモ | Billing information notification system | 
| US7133054B2 (en) | 2004-03-17 | 2006-11-07 | Seadragon Software, Inc. | Methods and apparatus for navigating an image | 
| US7627552B2 (en) | 2003-03-27 | 2009-12-01 | Microsoft Corporation | System and method for filtering and organizing items based on common elements | 
| US7280038B2 (en) | 2003-04-09 | 2007-10-09 | John Robinson | Emergency response data transmission system | 
| US8484576B2 (en) | 2003-04-17 | 2013-07-09 | Supersonic Aerospace International, Llc | System and method for customizing multiple windows of information on a display | 
| KR100996029B1 (en) | 2003-04-29 | 2010-11-22 | 삼성전자주식회사 | Apparatus and method for encoding low density parity check code | 
| US9607092B2 (en) | 2003-05-20 | 2017-03-28 | Excalibur Ip, Llc | Mapping method and system | 
| US20050027705A1 (en) | 2003-05-20 | 2005-02-03 | Pasha Sadri | Mapping method and system | 
| US7562289B2 (en) | 2003-06-18 | 2009-07-14 | Layton Geo-Science, Inc. | Methods and systems for encoding geographic coordinates and features in a portable document format file | 
| US7620648B2 (en) | 2003-06-20 | 2009-11-17 | International Business Machines Corporation | Universal annotation configuration and deployment | 
| US20040267746A1 (en) | 2003-06-26 | 2004-12-30 | Cezary Marcjan | User interface for controlling access to computer objects | 
| US7055110B2 (en) | 2003-07-28 | 2006-05-30 | Sig G Kupka | Common on-screen zone for menu activation and stroke input | 
| CA2436312C (en) | 2003-08-01 | 2011-04-05 | Perry Peterson | Close-packed, uniformly adjacent, multiresolutional, overlapping spatial data ordering | 
| US7363581B2 (en) | 2003-08-12 | 2008-04-22 | Accenture Global Services Gmbh | Presentation generator | 
| US7516086B2 (en) | 2003-09-24 | 2009-04-07 | Idearc Media Corp. | Business rating placement heuristic | 
| US7334195B2 (en) | 2003-10-14 | 2008-02-19 | Microsoft Corporation | System and process for presenting search results in a histogram/cluster format | 
| US7584172B2 (en) | 2003-10-16 | 2009-09-01 | Sap Ag | Control for selecting data query and visual configuration | 
| US20050125715A1 (en) | 2003-12-04 | 2005-06-09 | Fabrizio Di Franco | Method of saving data in a graphical user interface | 
| US7818658B2 (en) | 2003-12-09 | 2010-10-19 | Yi-Chih Chen | Multimedia presentation system | 
| US7917376B2 (en) | 2003-12-29 | 2011-03-29 | Montefiore Medical Center | System and method for monitoring patient care | 
| US20050166144A1 (en) | 2004-01-22 | 2005-07-28 | Mathcom Inventions Ltd. | Method and system for assigning a background to a document and document having a background made according to the method and system | 
| US7872669B2 (en) | 2004-01-22 | 2011-01-18 | Massachusetts Institute Of Technology | Photo-based mobile deixis system and related techniques | 
| US7343272B2 (en) | 2004-02-12 | 2008-03-11 | International Business Machines Corporation | System and method for detecting generalized space-time clusters | 
| US7343552B2 (en) | 2004-02-12 | 2008-03-11 | Fuji Xerox Co., Ltd. | Systems and methods for freeform annotations | 
| US20050180330A1 (en) | 2004-02-17 | 2005-08-18 | Touchgraph Llc | Method of animating transitions and stabilizing node motion during dynamic graph navigation | 
| US20050182793A1 (en) | 2004-02-18 | 2005-08-18 | Keenan Viktor M. | Map structure and method for producing | 
| US7596285B2 (en) | 2004-02-26 | 2009-09-29 | International Business Machines Corporation | Providing a portion of an electronic mail message at a reduced resolution | 
| US20050210409A1 (en) | 2004-03-19 | 2005-09-22 | Kenny Jou | Systems and methods for class designation in a computerized social network application | 
| US7599790B2 (en) | 2004-03-23 | 2009-10-06 | Google Inc. | Generating and serving tiles in a digital mapping system | 
| WO2005104039A2 (en) | 2004-03-23 | 2005-11-03 | Google, Inc. | A digital mapping system | 
| US7865301B2 (en) | 2004-03-23 | 2011-01-04 | Google Inc. | Secondary map in digital mapping system | 
| US20060026120A1 (en) | 2004-03-24 | 2006-02-02 | Update Publications Lp | Method and system for collecting, processing, and distributing residential property data | 
| US7269801B2 (en) | 2004-03-30 | 2007-09-11 | Autodesk, Inc. | System for managing the navigational usability of an interactive map | 
| US7539666B2 (en) | 2004-04-06 | 2009-05-26 | International Business Machines Corporation | Method, system and program for managing geographic data stored in a database | 
| WO2005104736A2 (en) | 2004-04-26 | 2005-11-10 | Right90, Inc. | Forecasting data with real-time updates | 
| US20050246327A1 (en) | 2004-04-30 | 2005-11-03 | Yeung Simon D | User interfaces and methods of using the same | 
| US20050251786A1 (en) | 2004-05-07 | 2005-11-10 | International Business Machines Corporation | System and method for dynamic software installation instructions | 
| US7280897B2 (en) | 2004-05-28 | 2007-10-09 | Lockheed Martin Corporation | Intervisibility determination | 
| GB2415317B (en) | 2004-06-15 | 2007-08-15 | Orange Personal Comm Serv Ltd | Provision of group services in a telecommunications network | 
| US8289390B2 (en) | 2004-07-28 | 2012-10-16 | Sri International | Method and apparatus for total situational awareness and monitoring | 
| US7529195B2 (en) | 2004-07-30 | 2009-05-05 | Fortiusone, Inc. | System and method of mapping and analyzing vulnerabilities in networks | 
| US7290698B2 (en) | 2004-08-25 | 2007-11-06 | Sony Corporation | Progress bar with multiple portions | 
| US7617232B2 (en) | 2004-09-02 | 2009-11-10 | Microsoft Corporation | Centralized terminology and glossary development | 
| US8842179B2 (en) | 2004-09-24 | 2014-09-23 | Smartvue Corporation | Video surveillance sharing system and method | 
| US7933862B2 (en) | 2004-09-27 | 2011-04-26 | Microsoft Corporation | One click conditional formatting method and system for software programs | 
| US7712049B2 (en) | 2004-09-30 | 2010-05-04 | Microsoft Corporation | Two-dimensional radial user interface for computer software applications | 
| US7788589B2 (en) | 2004-09-30 | 2010-08-31 | Microsoft Corporation | Method and system for improved electronic task flagging and management | 
| US20060074881A1 (en) | 2004-10-02 | 2006-04-06 | Adventnet, Inc. | Structure independent searching in disparate databases | 
| US7284198B2 (en) | 2004-10-07 | 2007-10-16 | International Business Machines Corporation | Method and system for document draft reminder based on inactivity | 
| US7574409B2 (en) | 2004-11-04 | 2009-08-11 | Vericept Corporation | Method, apparatus, and system for clustering and classification | 
| US7529734B2 (en) | 2004-11-12 | 2009-05-05 | Oracle International Corporation | Method and apparatus for facilitating a database query using a query criteria template | 
| US7797197B2 (en) | 2004-11-12 | 2010-09-14 | Amazon Technologies, Inc. | Method and system for analyzing the performance of affiliate sites | 
| US7620628B2 (en) | 2004-12-06 | 2009-11-17 | Yahoo! Inc. | Search processing with automatic categorization of queries | 
| US20060129746A1 (en) | 2004-12-14 | 2006-06-15 | Ithink, Inc. | Method and graphic interface for storing, moving, sending or printing electronic data to two or more locations, in two or more formats with a single save function | 
| US7849395B2 (en) | 2004-12-15 | 2010-12-07 | Microsoft Corporation | Filter and sort by color | 
| US7451397B2 (en) | 2004-12-15 | 2008-11-11 | Microsoft Corporation | System and method for automatically completing spreadsheet formulas | 
| US7660823B2 (en) | 2004-12-30 | 2010-02-09 | Sas Institute Inc. | Computer-implemented system and method for visualizing OLAP and multidimensional data in a calendar format | 
| JP2006190049A (en) | 2005-01-05 | 2006-07-20 | Fujitsu Ltd | Vertex reduction drawing method and apparatus | 
| US9436945B2 (en) | 2005-02-01 | 2016-09-06 | Redfin Corporation | Interactive map-based search and advertising | 
| US7614006B2 (en) | 2005-02-11 | 2009-11-03 | International Business Machines Corporation | Methods and apparatus for implementing inline controls for transposing rows and columns of computer-based tables | 
| US8646080B2 (en) | 2005-09-16 | 2014-02-04 | Avg Technologies Cy Limited | Method and apparatus for removing harmful software | 
| US20060242630A1 (en) | 2005-03-09 | 2006-10-26 | Maxis Co., Ltd. | Process for preparing design procedure document and apparatus for the same | 
| US7676845B2 (en) | 2005-03-24 | 2010-03-09 | Microsoft Corporation | System and method of selectively scanning a file on a computing device for malware | 
| US7746340B2 (en) | 2005-04-13 | 2010-06-29 | Siemens Medical Solutions Usa, Inc. | Method and apparatus for generating a 2D image having pixels corresponding to voxels of a 3D image | 
| US7426654B2 (en) | 2005-04-14 | 2008-09-16 | Verizon Business Global Llc | Method and system for providing customer controlled notifications in a managed network services system | 
| US7525422B2 (en) | 2005-04-14 | 2009-04-28 | Verizon Business Global Llc | Method and system for providing alarm reporting in a managed network services environment | 
| US20060242040A1 (en) | 2005-04-20 | 2006-10-26 | Aim Holdings Llc | Method and system for conducting sentiment analysis for securities research | 
| US8639757B1 (en) | 2011-08-12 | 2014-01-28 | Sprint Communications Company L.P. | User localization using friend location information | 
| US8082172B2 (en) | 2005-04-26 | 2011-12-20 | The Advisory Board Company | System and method for peer-profiling individual performance | 
| US7958120B2 (en) | 2005-05-10 | 2011-06-07 | Netseer, Inc. | Method and apparatus for distributed community finding | 
| US7672968B2 (en) | 2005-05-12 | 2010-03-02 | Apple Inc. | Displaying a tooltip associated with a concurrently displayed database object | 
| US8024778B2 (en) | 2005-05-24 | 2011-09-20 | CRIF Corporation | System and method for defining attributes, decision rules, or both, for remote execution, claim set I | 
| US8825370B2 (en) | 2005-05-27 | 2014-09-02 | Yahoo! Inc. | Interactive map-based travel guide | 
| US8161122B2 (en) | 2005-06-03 | 2012-04-17 | Messagemind, Inc. | System and method of dynamically prioritized electronic mail graphical user interface, and measuring email productivity and collaboration trends | 
| AU2006263703A1 (en) | 2005-06-28 | 2007-01-04 | Nokia Corporation | User interface for geographic search | 
| US20070016363A1 (en) | 2005-07-15 | 2007-01-18 | Oracle International Corporation | Interactive map-based user interface for transportation planning | 
| US7586489B2 (en) | 2005-08-01 | 2009-09-08 | Nvidia Corporation | Method of generating surface defined by boundary of three-dimensional point cloud | 
| WO2007015548A1 (en) | 2005-08-04 | 2007-02-08 | Matsushita Electric Industrial Co., Ltd. | Search object estimation device and method, and server for search object estimation device | 
| US7376516B2 (en) | 2005-08-23 | 2008-05-20 | R.A. Smith National | High accuracy survey grade GIS system | 
| US7917841B2 (en) | 2005-08-29 | 2011-03-29 | Edgar Online, Inc. | System and method for rendering data | 
| JP2007079641A (en) | 2005-09-09 | 2007-03-29 | Canon Inc | Information processing apparatus, information processing method, program, and storage medium | 
| US8095866B2 (en) | 2005-09-09 | 2012-01-10 | Microsoft Corporation | Filtering user interface for a data summary table | 
| US7716226B2 (en) | 2005-09-27 | 2010-05-11 | Patentratings, Llc | Method and system for probabilistically quantifying and visualizing relevance between two or more citationally or contextually related data objects | 
| US20070078832A1 (en) | 2005-09-30 | 2007-04-05 | Yahoo! Inc. | Method and system for using smart tags and a recommendation engine using smart tags | 
| US7870493B2 (en) | 2005-10-03 | 2011-01-11 | Microsoft Corporation | Distributed clipboard | 
| US7574428B2 (en) | 2005-10-11 | 2009-08-11 | Telmap Ltd | Geometry-based search engine for navigation systems | 
| US7933897B2 (en) | 2005-10-12 | 2011-04-26 | Google Inc. | Entity display priority in a distributed geographic information system | 
| US7487139B2 (en) | 2005-10-12 | 2009-02-03 | International Business Machines Corporation | Method and system for filtering a table | 
| US20070094389A1 (en) | 2005-10-23 | 2007-04-26 | Bill Nussey | Provision of rss feeds based on classification of content | 
| US7627812B2 (en) | 2005-10-27 | 2009-12-01 | Microsoft Corporation | Variable formatting of cells | 
| US20100198858A1 (en) | 2005-11-21 | 2010-08-05 | Anti-Gang Enforcement Networking Technology, Inc. | System and Methods for Linking Multiple Events Involving Firearms and Gang Related Activities | 
| US7725530B2 (en) | 2005-12-12 | 2010-05-25 | Google Inc. | Proxy server collection of data for module incorporation into a container document | 
| US8185819B2 (en) | 2005-12-12 | 2012-05-22 | Google Inc. | Module specification for a module to be incorporated into a container document | 
| US7730109B2 (en) | 2005-12-12 | 2010-06-01 | Google, Inc. | Message catalogs for remote modules | 
| US7730082B2 (en) | 2005-12-12 | 2010-06-01 | Google Inc. | Remote module incorporation into a container document | 
| US20070150369A1 (en) | 2005-12-28 | 2007-06-28 | Zivin Michael A | Method and system for determining the optimal travel route by which customers can purchase local goods at the lowest total cost | 
| CN100481077C (en) | 2006-01-12 | 2009-04-22 | 国际商业机器公司 | Visual method and device for strengthening search result guide | 
| US7634717B2 (en) | 2006-01-23 | 2009-12-15 | Microsoft Corporation | Multiple conditional formatting | 
| US7818291B2 (en) | 2006-02-03 | 2010-10-19 | The General Electric Company | Data object access system and method using dedicated task object | 
| US7791616B2 (en) | 2006-02-10 | 2010-09-07 | The United States Of America As Represented By The Secretary Of The Navy | Method for efficiently transforming a raster image from one map projection to another map projection | 
| US7770100B2 (en) | 2006-02-27 | 2010-08-03 | Microsoft Corporation | Dynamic thresholds for conditional formats | 
| US7899611B2 (en) | 2006-03-03 | 2011-03-01 | Inrix, Inc. | Detecting anomalous road traffic conditions | 
| US7579965B2 (en) | 2006-03-03 | 2009-08-25 | Andrew Bucholz | Vehicle data collection and processing system | 
| US20070208498A1 (en) | 2006-03-03 | 2007-09-06 | Inrix, Inc. | Displaying road traffic condition information and user controls | 
| US20080052142A1 (en) | 2006-03-13 | 2008-02-28 | Bailey Maurice G T | System and method for real-time display of emergencies, resources and personnel | 
| US7519470B2 (en) | 2006-03-15 | 2009-04-14 | Microsoft Corporation | Location-based caching for mobile devices | 
| US8397171B2 (en) | 2006-03-31 | 2013-03-12 | Reaearch In Motion Limited | User interface methods and apparatus for controlling the visual display of maps having selectable map elements in mobile communication devices | 
| US8176179B2 (en) | 2006-04-03 | 2012-05-08 | Secure64 Software Corporation | Method and system for data-structure management | 
| US20070240062A1 (en) | 2006-04-07 | 2007-10-11 | Christena Jennifer Y | Method and System for Restricting User Operations in a Graphical User Inerface Window | 
| US8712192B2 (en) | 2006-04-20 | 2014-04-29 | Microsoft Corporation | Geo-coding images | 
| US20090115786A1 (en) | 2006-04-24 | 2009-05-07 | Takamasa Shimasaki | Drawing device, and drawing method | 
| US8739278B2 (en) | 2006-04-28 | 2014-05-27 | Oracle International Corporation | Techniques for fraud monitoring and detection using application fingerprinting | 
| US7945852B1 (en) | 2006-05-19 | 2011-05-17 | Washington State University Research Foundation | Strategies for annotating digital maps | 
| US20080010273A1 (en) | 2006-06-12 | 2008-01-10 | Metacarta, Inc. | Systems and methods for hierarchical organization and presentation of geographic search results | 
| US7657626B1 (en) | 2006-09-19 | 2010-02-02 | Enquisite, Inc. | Click fraud detection | 
| US7468662B2 (en) | 2006-06-16 | 2008-12-23 | International Business Machines Corporation | Method for spatio-temporal event detection using composite definitions for camera systems | 
| US8290943B2 (en) | 2006-07-14 | 2012-10-16 | Raytheon Company | Geographical information display system and method | 
| NZ574850A (en) | 2006-08-10 | 2011-02-25 | Univ Loma Linda Med | Advanced emergency geographical information system | 
| US20130150004A1 (en) | 2006-08-11 | 2013-06-13 | Michael Rosen | Method and apparatus for reducing mobile phone usage while driving | 
| US20080040684A1 (en) | 2006-08-14 | 2008-02-14 | Richard Crump | Intelligent Pop-Up Window Method and Apparatus | 
| US20080077597A1 (en) | 2006-08-24 | 2008-03-27 | Lance Butler | Systems and methods for photograph mapping | 
| US20080051989A1 (en) | 2006-08-25 | 2008-02-28 | Microsoft Corporation | Filtering of data layered on mapping applications | 
| JP4778865B2 (en) | 2006-08-30 | 2011-09-21 | 株式会社ソニー・コンピュータエンタテインメント | Image viewer, image display method and program | 
| US7725547B2 (en) | 2006-09-06 | 2010-05-25 | International Business Machines Corporation | Informing a user of gestures made by others out of the user's line of sight | 
| US8271429B2 (en) | 2006-09-11 | 2012-09-18 | Wiredset Llc | System and method for collecting and processing data | 
| US20080082578A1 (en) | 2006-09-29 | 2008-04-03 | Andrew Hogue | Displaying search results on a one or two dimensional graph | 
| US8060556B2 (en) | 2006-10-20 | 2011-11-15 | Sap Ag | Service enabled tagged user interfaces | 
| US7698336B2 (en) | 2006-10-26 | 2010-04-13 | Microsoft Corporation | Associating geographic-related information with objects | 
| US8065080B2 (en) | 2006-10-31 | 2011-11-22 | At&T Intellectual Property I, Lp | Location stamping and logging of electronic events and habitat generation | 
| US7663621B1 (en) | 2006-11-03 | 2010-02-16 | Nvidia Corporation | Cylindrical wrapping using shader hardware | 
| US7792868B2 (en) | 2006-11-10 | 2010-09-07 | Microsoft Corporation | Data object linking and browsing tool | 
| AU2007323838A1 (en) | 2006-11-13 | 2008-05-29 | Tele Atlas North America, Inc. | System and method for providing multiple participants with a central access portal to geographic point of interest | 
| US7962495B2 (en) | 2006-11-20 | 2011-06-14 | Palantir Technologies, Inc. | Creating data in a data store using a dynamic ontology | 
| US20080228512A1 (en) | 2006-12-08 | 2008-09-18 | Michael Calkins | Cross-jurisdictional towing administration and data management system | 
| US7680939B2 (en) | 2006-12-20 | 2010-03-16 | Yahoo! Inc. | Graphical user interface to manipulate syndication data feeds | 
| US7809703B2 (en) | 2006-12-22 | 2010-10-05 | International Business Machines Corporation | Usage of development context in search operations | 
| US20080162616A1 (en) | 2006-12-29 | 2008-07-03 | Sap Ag | Skip relation pattern for graph structures | 
| US7812717B1 (en) | 2007-02-02 | 2010-10-12 | Resource Consortium Limited | Situational network | 
| US8368695B2 (en) | 2007-02-08 | 2013-02-05 | Microsoft Corporation | Transforming offline maps into interactive online maps | 
| EP2122490B1 (en) | 2007-02-13 | 2020-11-25 | ESRI Technologies, LLC | A method and system for integrating a social network and data repository to enable map creation | 
| US7920963B2 (en) | 2007-02-22 | 2011-04-05 | Iac Search & Media, Inc. | Map interface with a movable marker | 
| JP2008209208A (en) * | 2007-02-26 | 2008-09-11 | Denso Corp | Car navigation device | 
| US8352881B2 (en) | 2007-03-08 | 2013-01-08 | International Business Machines Corporation | Method, apparatus and program storage device for providing customizable, immediate and radiating menus for accessing applications and actions | 
| US8266116B2 (en) | 2007-03-12 | 2012-09-11 | Broadcom Corporation | Method and apparatus for dual-hashing tables | 
| US8084712B2 (en) | 2007-03-16 | 2011-12-27 | TEN Medias LLC | Method and apparatus for laser marking objects | 
| JP5268274B2 (en) | 2007-03-30 | 2013-08-21 | キヤノン株式会社 | Search device, method, and program | 
| US8229458B2 (en) | 2007-04-08 | 2012-07-24 | Enhanced Geographic Llc | Systems and methods to determine the name of a location visited by a user of a wireless device | 
| US20080255973A1 (en) | 2007-04-10 | 2008-10-16 | Robert El Wade | Sales transaction analysis tool and associated method of use | 
| AU2008242910A1 (en) | 2007-04-17 | 2008-10-30 | Emd Millipore Corporation | Graphical user interface for analysis and comparison of location-specific multiparameter data sets | 
| US8312546B2 (en) | 2007-04-23 | 2012-11-13 | Mcafee, Inc. | Systems, apparatus, and methods for detecting malware | 
| US8078641B2 (en) | 2007-04-25 | 2011-12-13 | Mitac International Corporation | Adjusting spatial operations based on map density | 
| US20080267107A1 (en) | 2007-04-27 | 2008-10-30 | Outland Research, Llc | Attraction wait-time inquiry apparatus, system and method | 
| DE102008010419A1 (en) | 2007-05-03 | 2008-11-13 | Navigon Ag | Apparatus and method for creating a text object | 
| US8090603B2 (en) | 2007-05-11 | 2012-01-03 | Fansnap, Inc. | System and method for selecting event tickets | 
| WO2009038822A2 (en) | 2007-05-25 | 2009-03-26 | The Research Foundation Of State University Of New York | Spectral clustering for multi-type relational data | 
| US8515207B2 (en) | 2007-05-25 | 2013-08-20 | Google Inc. | Annotations in panoramic images, and applications thereof | 
| US8739123B2 (en) | 2007-05-28 | 2014-05-27 | Google Inc. | Incorporating gadget functionality on webpages | 
| US7809785B2 (en) | 2007-05-28 | 2010-10-05 | Google Inc. | System using router in a web browser for inter-domain communication | 
| US20090027418A1 (en) | 2007-07-24 | 2009-01-29 | Maru Nimit H | Map-based interfaces for storing and locating information about geographical areas | 
| US8234298B2 (en) | 2007-07-25 | 2012-07-31 | International Business Machines Corporation | System and method for determining driving factor in a data cube | 
| US9740731B2 (en) | 2007-08-14 | 2017-08-22 | John Nicholas and Kristen Gross Trust | Event based document sorter and method | 
| US20090055251A1 (en) | 2007-08-20 | 2009-02-26 | Weblistic, Inc., A California Corporation | Directed online advertising system and method | 
| US20130066673A1 (en) | 2007-09-06 | 2013-03-14 | Digg, Inc. | Adapting thresholds | 
| US20090088964A1 (en) | 2007-09-28 | 2009-04-02 | Dave Schaaf | Map scrolling method and apparatus for navigation system for selectively displaying icons | 
| US20090100018A1 (en) | 2007-10-12 | 2009-04-16 | Jonathan Roberts | System and method for capturing, integrating, discovering, and using geo-temporal data | 
| US20090125369A1 (en) | 2007-10-26 | 2009-05-14 | Crowe Horwath Llp | System and method for analyzing and dispositioning money laundering suspicious activity alerts | 
| US8510743B2 (en) | 2007-10-31 | 2013-08-13 | Google Inc. | Terminating computer applications | 
| US8200618B2 (en) | 2007-11-02 | 2012-06-12 | International Business Machines Corporation | System and method for analyzing data in a report | 
| WO2009061501A1 (en) | 2007-11-09 | 2009-05-14 | Telecommunication Systems, Inc. | Points-of-interest panning on a displayed map with a persistent search on a wireless phone | 
| US8019709B2 (en) | 2007-11-09 | 2011-09-13 | Vantrix Corporation | Method and system for rule-based content filtering | 
| US8626618B2 (en) | 2007-11-14 | 2014-01-07 | Panjiva, Inc. | Using non-public shipper records to facilitate rating an entity based on public records of supply transactions | 
| US20090132953A1 (en) | 2007-11-16 | 2009-05-21 | Iac Search & Media, Inc. | User interface and method in local search system with vertical search results and an interactive map | 
| KR20090050577A (en) | 2007-11-16 | 2009-05-20 | 삼성전자주식회사 | User interface for displaying and playing multimedia contents, apparatus and control method thereof | 
| US8145703B2 (en) | 2007-11-16 | 2012-03-27 | Iac Search & Media, Inc. | User interface and method in a local search system with related search results | 
| WO2009073637A2 (en) | 2007-11-29 | 2009-06-11 | Iqzone | Systems and methods for personal information management and contact picture synchronization and distribution | 
| US20090144262A1 (en) | 2007-12-04 | 2009-06-04 | Microsoft Corporation | Search query transformation using direct manipulation | 
| US8400448B1 (en) | 2007-12-05 | 2013-03-19 | The United States Of America, As Represented By The Secretary Of The Navy | Real-time lines-of-sight and viewsheds determination system | 
| US8325178B1 (en) | 2007-12-05 | 2012-12-04 | The United States Of America, As Represented By The Secretary Of The Navy | Lines-of-sight and viewsheds determination system | 
| US20090158185A1 (en) | 2007-12-17 | 2009-06-18 | Socialexplorer, Inc. | Adaptive map layer visibility control | 
| US8001482B2 (en) | 2007-12-21 | 2011-08-16 | International Business Machines Corporation | Method of displaying tab titles | 
| US8230333B2 (en) | 2007-12-26 | 2012-07-24 | Vistracks, Inc. | Analysis of time-based geospatial mashups using AD HOC visual queries | 
| US7865308B2 (en) | 2007-12-28 | 2011-01-04 | Yahoo! Inc. | User-generated activity maps | 
| US8010886B2 (en) | 2008-01-04 | 2011-08-30 | Microsoft Corporation | Intelligently representing files in a view | 
| US8239245B2 (en) | 2008-01-22 | 2012-08-07 | International Business Machines Corporation | Method and apparatus for end-to-end retail store site optimization | 
| US7805457B1 (en) | 2008-02-14 | 2010-09-28 | Securus Technologies, Inc. | System and method for identifying members of a gang or security threat group | 
| WO2009115921A2 (en) | 2008-02-22 | 2009-09-24 | Ipath Technologies Private Limited | Techniques for enterprise resource mobilization | 
| US20090222760A1 (en) | 2008-02-29 | 2009-09-03 | Halverson Steven G | Method, System and Computer Program Product for Automating the Selection and Ordering of Column Data in a Table for a User | 
| WO2009111581A1 (en) | 2008-03-04 | 2009-09-11 | Nextbio | Categorization and filtering of scientific data | 
| US20090234720A1 (en) | 2008-03-15 | 2009-09-17 | Gridbyte | Method and System for Tracking and Coaching Service Professionals | 
| US9830366B2 (en) | 2008-03-22 | 2017-11-28 | Thomson Reuters Global Resources | Online analytic processing cube with time stamping | 
| US8370111B2 (en) | 2008-03-31 | 2013-02-05 | The Boeing Company | System and method for forming optimized perimeter surveillance | 
| WO2009132106A2 (en) | 2008-04-22 | 2009-10-29 | Oxford J Craig | System and method for interactive map, database, and social networking engine | 
| US8620641B2 (en) | 2008-05-16 | 2013-12-31 | Blackberry Limited | Intelligent elision | 
| US9646025B2 (en) | 2008-05-27 | 2017-05-09 | Qualcomm Incorporated | Method and apparatus for aggregating and presenting data associated with geographic locations | 
| US8219555B1 (en) | 2008-06-13 | 2012-07-10 | Ustringer LLC | Method and apparatus for distributing content | 
| US8301904B1 (en) | 2008-06-24 | 2012-10-30 | Mcafee, Inc. | System, method, and computer program product for automatically identifying potentially unwanted data as unwanted | 
| WO2010000014A1 (en) | 2008-07-02 | 2010-01-07 | Pacific Knowledge Systems Pty. Ltd. | Method and system for generating text | 
| US8364698B2 (en) | 2008-07-11 | 2013-01-29 | Videosurf, Inc. | Apparatus and software system for and method of performing a visual-relevance-rank subsequent search | 
| GB2461771A (en) | 2008-07-11 | 2010-01-20 | Icyte Pty Ltd | Annotation of electronic documents with preservation of document as originally annotated | 
| US8301464B1 (en) | 2008-07-18 | 2012-10-30 | Cave Consulting Group, Inc. | Method and system for producing statistical analysis of medical care information | 
| KR20110056502A (en) | 2008-08-04 | 2011-05-30 | 퀴드, 아이엔씨. | Enterprise performance analysis engine | 
| US8010545B2 (en) | 2008-08-28 | 2011-08-30 | Palo Alto Research Center Incorporated | System and method for providing a topic-directed search | 
| WO2010028169A2 (en) | 2008-09-05 | 2010-03-11 | Fotonauts, Inc. | Reverse tagging of images in system for managing and sharing digital images | 
| US20110078055A1 (en) | 2008-09-05 | 2011-03-31 | Claude Faribault | Methods and systems for facilitating selecting and/or purchasing of items | 
| US8041714B2 (en) | 2008-09-15 | 2011-10-18 | Palantir Technologies, Inc. | Filter chains with associated views for exploring large data sets | 
| US8984390B2 (en) | 2008-09-15 | 2015-03-17 | Palantir Technologies, Inc. | One-click sharing for screenshots and related documents | 
| US20100070845A1 (en) | 2008-09-17 | 2010-03-18 | International Business Machines Corporation | Shared web 2.0 annotations linked to content segments of web documents | 
| US8214361B1 (en) | 2008-09-30 | 2012-07-03 | Google Inc. | Organizing search results in a topic hierarchy | 
| US8554579B2 (en) | 2008-10-13 | 2013-10-08 | Fht, Inc. | Management, reporting and benchmarking of medication preparation | 
| US20100114887A1 (en) | 2008-10-17 | 2010-05-06 | Google Inc. | Textual Disambiguation Using Social Connections | 
| US8108933B2 (en) | 2008-10-21 | 2012-01-31 | Lookout, Inc. | System and method for attack and malware prevention | 
| US8411046B2 (en) | 2008-10-23 | 2013-04-02 | Microsoft Corporation | Column organization of content | 
| US8422825B1 (en) | 2008-11-05 | 2013-04-16 | Hover Inc. | Method and system for geometry extraction, 3D visualization and analysis using arbitrary oblique imagery | 
| US20100131457A1 (en) | 2008-11-26 | 2010-05-27 | Microsoft Corporation | Flattening multi-dimensional data sets into de-normalized form | 
| US8762869B2 (en) | 2008-12-23 | 2014-06-24 | Intel Corporation | Reduced complexity user interface | 
| US20100191563A1 (en) | 2009-01-23 | 2010-07-29 | Doctors' Administrative Solutions, Llc | Physician Practice Optimization Tracking | 
| US8601401B2 (en) | 2009-01-30 | 2013-12-03 | Navico Holding As | Method, apparatus and computer program product for synchronizing cursor events | 
| US8208943B2 (en) | 2009-02-02 | 2012-06-26 | Waldeck Technology, Llc | Anonymous crowd tracking | 
| US9177264B2 (en) | 2009-03-06 | 2015-11-03 | Chiaramail, Corp. | Managing message categories in a network | 
| US8447722B1 (en) | 2009-03-25 | 2013-05-21 | Mcafee, Inc. | System and method for data mining and security policy management | 
| IL197961A0 (en) | 2009-04-05 | 2009-12-24 | Guy Shaked | Methods for effective processing of time series | 
| US9767427B2 (en) | 2009-04-30 | 2017-09-19 | Hewlett Packard Enterprise Development Lp | Modeling multi-dimensional sequence data over streams | 
| US8719249B2 (en) | 2009-05-12 | 2014-05-06 | Microsoft Corporation | Query classification | 
| US8856691B2 (en) | 2009-05-29 | 2014-10-07 | Microsoft Corporation | Gesture tool | 
| US9268761B2 (en) | 2009-06-05 | 2016-02-23 | Microsoft Technology Licensing, Llc | In-line dynamic text with variable formatting | 
| US20100321399A1 (en) | 2009-06-18 | 2010-12-23 | Patrik Ellren | Maps from Sparse Geospatial Data Tiles | 
| KR101076887B1 (en) | 2009-06-26 | 2011-10-25 | 주식회사 하이닉스반도체 | Method of fabricating landing plug in semiconductor device | 
| US20110022312A1 (en) | 2009-07-23 | 2011-01-27 | Fmr Llc | Generating and Tracking Activity Patterns for Mobile Devices | 
| US8635223B2 (en) | 2009-07-28 | 2014-01-21 | Fti Consulting, Inc. | System and method for providing a classification suggestion for electronically stored information | 
| US8756244B2 (en) | 2009-07-29 | 2014-06-17 | Teradata Us, Inc. | Metadata as comments for search problem determination and analysis | 
| MX2012001497A (en) | 2009-08-14 | 2012-06-19 | Telogis Inc | Real time map rendering with data clustering and expansion and overlay. | 
| US8560548B2 (en) | 2009-08-19 | 2013-10-15 | International Business Machines Corporation | System, method, and apparatus for multidimensional exploration of content items in a content store | 
| US8334773B2 (en) | 2009-08-28 | 2012-12-18 | Deal Magic, Inc. | Asset monitoring and tracking system | 
| JP5431235B2 (en) | 2009-08-28 | 2014-03-05 | 株式会社日立製作所 | Equipment condition monitoring method and apparatus | 
| US9280777B2 (en) | 2009-09-08 | 2016-03-08 | Target Brands, Inc. | Operations dashboard | 
| US8756489B2 (en) | 2009-09-17 | 2014-06-17 | Adobe Systems Incorporated | Method and system for dynamic assembly of form fragments | 
| US20110074811A1 (en) | 2009-09-25 | 2011-03-31 | Apple Inc. | Map Layout for Print Production | 
| US20110078173A1 (en) | 2009-09-30 | 2011-03-31 | Avaya Inc. | Social Network User Interface | 
| US8595058B2 (en) | 2009-10-15 | 2013-11-26 | Visa U.S.A. | Systems and methods to match identifiers | 
| US8085268B2 (en) | 2009-10-20 | 2011-12-27 | Palantir Technologies, Inc. | Techniques for drawing geodetic polygons | 
| US8554699B2 (en) | 2009-10-20 | 2013-10-08 | Google Inc. | Method and system for detecting anomalies in time series data | 
| US8312367B2 (en) | 2009-10-30 | 2012-11-13 | Synopsys, Inc. | Technique for dynamically sizing columns in a table | 
| IL202062A0 (en) | 2009-11-11 | 2010-11-30 | Dror Nadam | Apparatus, system and method for self orientation | 
| CA2780811A1 (en) | 2009-11-13 | 2011-05-19 | Zoll Medical Corporation | Community-based response system | 
| US11122009B2 (en) | 2009-12-01 | 2021-09-14 | Apple Inc. | Systems and methods for identifying geographic locations of social media content collected over social networks | 
| US20110153384A1 (en) | 2009-12-17 | 2011-06-23 | Matthew Donald Horne | Visual comps builder | 
| US8676597B2 (en) | 2009-12-28 | 2014-03-18 | General Electric Company | Methods and systems for mapping healthcare services analytics for volume and trends | 
| US8564596B2 (en) | 2010-01-12 | 2013-10-22 | Palantir Technologies, Inc. | Techniques for density mapping | 
| US8271461B2 (en) | 2010-01-18 | 2012-09-18 | Battelle Memorial Institute | Storing and managing information artifacts collected by information analysts using a computing device | 
| US8290926B2 (en) | 2010-01-21 | 2012-10-16 | Microsoft Corporation | Scalable topical aggregation of data feeds | 
| US8683363B2 (en) | 2010-01-26 | 2014-03-25 | Apple Inc. | Device, method, and graphical user interface for managing user interface content and user interface elements | 
| US20110218934A1 (en) | 2010-03-03 | 2011-09-08 | Jeremy Elser | System and methods for comparing real properties for purchase and for generating heat maps to aid in identifying price anomalies of such real properties | 
| US8863279B2 (en) | 2010-03-08 | 2014-10-14 | Raytheon Company | System and method for malware detection | 
| US20110231296A1 (en) | 2010-03-16 | 2011-09-22 | UberMedia, Inc. | Systems and methods for interacting with messages, authors, and followers | 
| US8577911B1 (en) | 2010-03-23 | 2013-11-05 | Google Inc. | Presenting search term refinements | 
| US20110238553A1 (en) | 2010-03-26 | 2011-09-29 | Ashwin Raj | Electronic account-to-account funds transfer | 
| SG184509A1 (en) | 2010-04-12 | 2012-11-29 | Fortem Solutions Inc | Camera projection meshes | 
| US8572023B2 (en) | 2010-04-14 | 2013-10-29 | Bank Of America Corporation | Data services framework workflow processing | 
| US8799812B2 (en) | 2010-04-29 | 2014-08-05 | Cheryl Parker | System and method for geographic based data visualization and extraction | 
| US8489331B2 (en) | 2010-04-29 | 2013-07-16 | Microsoft Corporation | Destination maps user interface | 
| US8595234B2 (en) | 2010-05-17 | 2013-11-26 | Wal-Mart Stores, Inc. | Processing data feeds | 
| US20110289407A1 (en) | 2010-05-18 | 2011-11-24 | Naik Devang K | Font recommendation engine | 
| JP5161267B2 (en) | 2010-05-19 | 2013-03-13 | 株式会社日立製作所 | Screen customization support system, screen customization support method, and screen customization support program | 
| US20110289397A1 (en) | 2010-05-19 | 2011-11-24 | Mauricio Eastmond | Displaying Table Data in a Limited Display Area | 
| US8723679B2 (en) | 2010-05-25 | 2014-05-13 | Public Engines, Inc. | Systems and methods for transmitting alert messages relating to events that occur within a pre-defined area | 
| US8756224B2 (en) | 2010-06-16 | 2014-06-17 | Rallyverse, Inc. | Methods, systems, and media for content ranking using real-time data | 
| US20110310005A1 (en) | 2010-06-17 | 2011-12-22 | Qualcomm Incorporated | Methods and apparatus for contactless gesture recognition | 
| US8489641B1 (en) | 2010-07-08 | 2013-07-16 | Google Inc. | Displaying layers of search results on a map | 
| WO2012004933A1 (en) | 2010-07-09 | 2012-01-12 | パナソニック株式会社 | Object mapping device, method of mapping object, program and recording medium | 
| US20120019559A1 (en) | 2010-07-20 | 2012-01-26 | Siler Lucas C | Methods and Apparatus for Interactive Display of Images and Measurements | 
| US8554653B2 (en) | 2010-07-22 | 2013-10-08 | Visa International Service Association | Systems and methods to identify payment accounts having business spending activities | 
| DE102010036906A1 (en) | 2010-08-06 | 2012-02-09 | Tavendo Gmbh | Configurable pie menu | 
| US20120036013A1 (en) | 2010-08-09 | 2012-02-09 | Brent Lee Neuhaus | System and method for determining a consumer's location code from payment transaction data | 
| US20120050293A1 (en) | 2010-08-25 | 2012-03-01 | Apple, Inc. | Dynamically smoothing a curve | 
| US8661335B2 (en) | 2010-09-20 | 2014-02-25 | Blackberry Limited | Methods and systems for identifying content elements | 
| US8463036B1 (en) | 2010-09-30 | 2013-06-11 | A9.Com, Inc. | Shape-based search of a collection of content | 
| US20120084118A1 (en) | 2010-09-30 | 2012-04-05 | International Business Machines Corporation | Sales predication for a new store based on on-site market survey data and high resolution geographical information | 
| EP2444134A1 (en) | 2010-10-19 | 2012-04-25 | Travian Games GmbH | Methods, server system and browser clients for providing a game map of a browser-based online multi-player game | 
| US8781169B2 (en) | 2010-11-03 | 2014-07-15 | Endeavoring, Llc | Vehicle tracking and locating system | 
| US8316030B2 (en) | 2010-11-05 | 2012-11-20 | Nextgen Datacom, Inc. | Method and system for document classification or search using discrete words | 
| JP5706137B2 (en) | 2010-11-22 | 2015-04-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method and computer program for displaying a plurality of posts (groups of data) on a computer screen in real time along a plurality of axes | 
| US20130251233A1 (en) | 2010-11-26 | 2013-09-26 | Guoliang Yang | Method for creating a report from radiological images using electronic report templates | 
| US8407180B1 (en) | 2010-11-29 | 2013-03-26 | Teradata Us, Inc. | Eliminating inner joins based on a temporal relationship constraint | 
| US8839133B2 (en) | 2010-12-02 | 2014-09-16 | Microsoft Corporation | Data visualizations including interactive time line representations | 
| US9141405B2 (en) | 2010-12-15 | 2015-09-22 | International Business Machines Corporation | User interface construction | 
| US20120159363A1 (en) | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Z-order bands | 
| US9378294B2 (en) | 2010-12-17 | 2016-06-28 | Microsoft Technology Licensing, Llc | Presenting source regions of rendered source web pages in target regions of target web pages | 
| US20120159399A1 (en) | 2010-12-17 | 2012-06-21 | International Business Machines Corporation | System for organizing and navigating data within a table | 
| US9881257B2 (en) | 2010-12-29 | 2018-01-30 | Tickr, Inc. | Multi-dimensional visualization of temporal information | 
| US8447263B2 (en) | 2011-01-28 | 2013-05-21 | Don Reich | Emergency call analysis system | 
| US8437731B2 (en) | 2011-01-28 | 2013-05-07 | Don Reich | Emergency call analysis system | 
| US20120206469A1 (en) | 2011-02-15 | 2012-08-16 | Tudor Hulubei | Efficient pre-computing of simplified vector data for rendering at multiple zoom levels | 
| EP2678774A4 (en) | 2011-02-24 | 2015-04-08 | Lexisnexis Division Of Reed Elsevier Inc | Methods for electronic document searching and graphically representing electronic document searches | 
| US20120246148A1 (en) | 2011-03-22 | 2012-09-27 | Intergraph Technologies Company | Contextual Display and Scrolling of Search Results in Graphical Environment | 
| US9449010B2 (en) | 2011-04-02 | 2016-09-20 | Open Invention Network, Llc | System and method for managing sensitive data using intelligent mobile agents on a network | 
| US10185932B2 (en) | 2011-05-06 | 2019-01-22 | Microsoft Technology Licensing, Llc | Setting permissions for links forwarded in electronic messages | 
| WO2012166944A2 (en) | 2011-06-03 | 2012-12-06 | Uc Group Limited | Systems and methods for registration, validation, and monitoring of users over multiple websites | 
| US9104765B2 (en) | 2011-06-17 | 2015-08-11 | Robert Osann, Jr. | Automatic webpage characterization and search results annotation | 
| US8725307B2 (en) | 2011-06-28 | 2014-05-13 | Schneider Electric It Corporation | System and method for measurement aided prediction of temperature and airflow values in a data center | 
| US20130006725A1 (en) | 2011-06-30 | 2013-01-03 | Accenture Global Services Limited | Tolling integration technology | 
| CA2837454A1 (en) | 2011-07-01 | 2013-01-10 | Truecar, Inc. | Method and system for selection, filtering or presentation of available sales outlets | 
| US9026944B2 (en) | 2011-07-14 | 2015-05-05 | Microsoft Technology Licensing, Llc | Managing content through actions on context based menus | 
| US8751399B2 (en) | 2011-07-15 | 2014-06-10 | Wal-Mart Stores, Inc. | Multi-channel data driven, real-time anti-money laundering system for electronic payment cards | 
| US8726379B1 (en) | 2011-07-15 | 2014-05-13 | Norse Corporation | Systems and methods for dynamic protection from electronic attacks | 
| US8612137B2 (en) | 2011-07-18 | 2013-12-17 | Ituran Usa | System, method and apparatus for tracking parking behavior of a vehicle | 
| US8768009B1 (en) | 2011-07-26 | 2014-07-01 | Shawn B. Smith | Locating persons of interest based on license plate recognition information | 
| US8666919B2 (en) | 2011-07-29 | 2014-03-04 | Accenture Global Services Limited | Data quality management for profiling, linking, cleansing and migrating data | 
| US20130046635A1 (en) | 2011-08-19 | 2013-02-21 | Bank Of America Corporation | Triggering offers based on detected location of a mobile point of sale device | 
| EP2560134A1 (en) | 2011-08-19 | 2013-02-20 | Agor Services BVBA | A platform and method enabling collaboration between value chain partners | 
| US8533204B2 (en) | 2011-09-02 | 2013-09-10 | Xerox Corporation | Text-based searching of image data | 
| US10031646B2 (en) | 2011-09-07 | 2018-07-24 | Mcafee, Llc | Computer system security dashboard | 
| US10140620B2 (en) | 2011-09-15 | 2018-11-27 | Stephan HEATH | Mobile device system and method providing combined delivery system using 3D geo-target location-based mobile commerce searching/purchases, discounts/coupons products, goods, and services, or service providers-geomapping-company/local and socially-conscious information/social networking (“PS-GM-C/LandSC/I-SN”) | 
| US8903355B2 (en) | 2011-09-26 | 2014-12-02 | Solacom Technologies Inc. | Answering or releasing emergency calls from a map display for an emergency services platform | 
| US8508533B2 (en) | 2011-09-28 | 2013-08-13 | Palantir Technologies, Inc. | Simplifying a polygon | 
| US20130097482A1 (en) | 2011-10-13 | 2013-04-18 | Microsoft Corporation | Search result entry truncation using pixel-based approximation | 
| US20130101159A1 (en) | 2011-10-21 | 2013-04-25 | Qualcomm Incorporated | Image and video based pedestrian traffic estimation | 
| JP2015505382A (en) | 2011-10-26 | 2015-02-19 | グーグル・インコーポレーテッド | Display location status | 
| US9411797B2 (en) | 2011-10-31 | 2016-08-09 | Microsoft Technology Licensing, Llc | Slicer elements for filtering tabular data | 
| US8918424B2 (en) | 2011-10-31 | 2014-12-23 | Advanced Community Services | Managing homeowner association messages | 
| US9053083B2 (en) | 2011-11-04 | 2015-06-09 | Microsoft Technology Licensing, Llc | Interaction between web gadgets and spreadsheets | 
| US8498984B1 (en) | 2011-11-21 | 2013-07-30 | Google Inc. | Categorization of search results | 
| US8412234B1 (en) | 2011-12-07 | 2013-04-02 | Sprint Communications Company L.P. | Clustering location and time for location prediction | 
| US20130151388A1 (en) | 2011-12-12 | 2013-06-13 | Visa International Service Association | Systems and methods to identify affluence levels of accounts | 
| US9026364B2 (en) | 2011-12-12 | 2015-05-05 | Toyota Jidosha Kabushiki Kaisha | Place affinity estimation | 
| US20130157234A1 (en) | 2011-12-14 | 2013-06-20 | Microsoft Corporation | Storyline visualization | 
| US20130166550A1 (en) | 2011-12-21 | 2013-06-27 | Sap Ag | Integration of Tags and Object Data | 
| US9189556B2 (en) | 2012-01-06 | 2015-11-17 | Google Inc. | System and method for displaying information local to a selected area | 
| WO2013102892A1 (en) | 2012-01-06 | 2013-07-11 | Technologies Of Voice Interface Ltd | A system and method for generating personalized sensor-based activation of software | 
| US9558645B2 (en) | 2012-01-06 | 2017-01-31 | 3M Innovative Properties Company | Released offender geospatial location information trend analysis | 
| US9116994B2 (en) | 2012-01-09 | 2015-08-25 | Brightedge Technologies, Inc. | Search engine optimization for category specific search results | 
| CA2838068A1 (en) | 2012-02-24 | 2013-06-24 | Jerry Wolfe | System and method for providing flavor advisement and enhancement | 
| WO2013130633A1 (en) | 2012-02-29 | 2013-09-06 | Google Inc. | Interactive query completion templates | 
| US8554840B1 (en) | 2012-03-14 | 2013-10-08 | Veritascope, Inc. | Live stream detection and notification service | 
| US8787939B2 (en) | 2012-03-27 | 2014-07-22 | Facebook, Inc. | Dynamic geographic beacons for geographic-positioning-capable devices | 
| US20130263019A1 (en) | 2012-03-30 | 2013-10-03 | Maria G. Castellanos | Analyzing social media | 
| US8738665B2 (en) | 2012-04-02 | 2014-05-27 | Apple Inc. | Smart progress indicator | 
| US8983936B2 (en) | 2012-04-04 | 2015-03-17 | Microsoft Corporation | Incremental visualization for structured data in an enterprise-level data store | 
| US9071653B2 (en) | 2012-04-05 | 2015-06-30 | Verizon Patent And Licensing Inc. | Reducing cellular network traffic | 
| US8792677B2 (en) | 2012-04-19 | 2014-07-29 | Intelligence Based Integrated Security Systems, Inc. | Large venue security method | 
| US9298856B2 (en) | 2012-04-23 | 2016-03-29 | Sap Se | Interactive data exploration and visualization tool | 
| US9043710B2 (en) | 2012-04-26 | 2015-05-26 | Sap Se | Switch control in report generation | 
| US8742934B1 (en) | 2012-04-29 | 2014-06-03 | Intel-Based Solutions, LLC | System and method for facilitating the execution of law enforcement duties and enhancing anti-terrorism and counter-terrorism capabilities | 
| US10304036B2 (en) | 2012-05-07 | 2019-05-28 | Nasdaq, Inc. | Social media profiling for one or more authors using one or more social media platforms | 
| US20140032506A1 (en) | 2012-06-12 | 2014-01-30 | Quality Attributes Software, Inc. | System and methods for real-time detection, correction, and transformation of time series data | 
| US8966441B2 (en) | 2012-07-12 | 2015-02-24 | Oracle International Corporation | Dynamic scripts to extend static applications | 
| US8836788B2 (en) | 2012-08-06 | 2014-09-16 | Cloudparc, Inc. | Controlling use of parking spaces and restricted locations using multiple cameras | 
| US8554875B1 (en) | 2012-08-13 | 2013-10-08 | Ribbon Labs, Inc. | Communicating future locations in a social network | 
| US10311062B2 (en) | 2012-08-21 | 2019-06-04 | Microsoft Technology Licensing, Llc | Filtering structured data using inexact, culture-dependent terms | 
| US8676857B1 (en) | 2012-08-23 | 2014-03-18 | International Business Machines Corporation | Context-based search for a data store related to a graph node | 
| JP5904909B2 (en) | 2012-08-31 | 2016-04-20 | 株式会社日立製作所 | Supplier search device and supplier search program | 
| US20140068487A1 (en) | 2012-09-05 | 2014-03-06 | Roche Diagnostics Operations, Inc. | Computer Implemented Methods For Visualizing Correlations Between Blood Glucose Data And Events And Apparatuses Thereof | 
| US20140095273A1 (en) | 2012-09-28 | 2014-04-03 | Catalina Marketing Corporation | Basket aggregator and locator | 
| US20140095509A1 (en) | 2012-10-02 | 2014-04-03 | Banjo, Inc. | Method of tagging content lacking geotags with a location | 
| US9513780B2 (en) | 2012-10-08 | 2016-12-06 | Fisher-Rosemount Systems, Inc. | Distribution policy for propagation of changes to process control objects | 
| US9104786B2 (en) | 2012-10-12 | 2015-08-11 | International Business Machines Corporation | Iterative refinement of cohorts using visual exploration and data analytics | 
| US20140108068A1 (en) | 2012-10-17 | 2014-04-17 | Jonathan A. Williams | System and Method for Scheduling Tee Time | 
| US9501799B2 (en) | 2012-11-08 | 2016-11-22 | Hartford Fire Insurance Company | System and method for determination of insurance classification of entities | 
| US9146969B2 (en) | 2012-11-26 | 2015-09-29 | The Boeing Company | System and method of reduction of irrelevant information during search | 
| US20140157172A1 (en) | 2012-11-30 | 2014-06-05 | Drillmap | Geographic layout of petroleum drilling data and methods for processing data | 
| US20140156527A1 (en) | 2012-11-30 | 2014-06-05 | Bank Of America Corporation | Pre-payment authorization categorization | 
| US9497289B2 (en) | 2012-12-07 | 2016-11-15 | Genesys Telecommunications Laboratories, Inc. | System and method for social message classification based on influence | 
| TWI480751B (en) | 2012-12-27 | 2015-04-11 | Ind Tech Res Inst | Interactive object retrieval method and system based on association information | 
| US9294576B2 (en) | 2013-01-02 | 2016-03-22 | Microsoft Technology Licensing, Llc | Social media impact assessment | 
| US20140195515A1 (en) | 2013-01-10 | 2014-07-10 | I3 Analytics | Methods and systems for querying and displaying data using interactive three-dimensional representations | 
| US9501202B2 (en) | 2013-03-15 | 2016-11-22 | Palantir Technologies, Inc. | Computer graphical user interface with genomic workflow | 
| US8868486B2 (en) | 2013-03-15 | 2014-10-21 | Palantir Technologies Inc. | Time-sensitive cube | 
| US8903717B2 (en) | 2013-03-15 | 2014-12-02 | Palantir Technologies Inc. | Method and system for generating a parser and parsing complex data | 
| US8917274B2 (en) | 2013-03-15 | 2014-12-23 | Palantir Technologies Inc. | Event matrix based on integrated data | 
| US8818892B1 (en) | 2013-03-15 | 2014-08-26 | Palantir Technologies, Inc. | Prioritizing data clusters with customizable scoring strategies | 
| US8937619B2 (en) | 2013-03-15 | 2015-01-20 | Palantir Technologies Inc. | Generating an object time series from data objects | 
| US9740369B2 (en) | 2013-03-15 | 2017-08-22 | Palantir Technologies Inc. | Systems and methods for providing a tagging interface for external content | 
| US9372929B2 (en) | 2013-03-20 | 2016-06-21 | Securboration, Inc. | Methods and systems for node and link identification | 
| US8799799B1 (en) | 2013-05-07 | 2014-08-05 | Palantir Technologies Inc. | Interactive geospatial map | 
| GB2542517B (en) | 2013-05-07 | 2018-01-24 | Palantir Technologies Inc | Interactive Geospatial map | 
| US8620790B2 (en) | 2013-07-11 | 2013-12-31 | Scvngr | Systems and methods for dynamic transaction-payment routing | 
| US20150019394A1 (en) | 2013-07-11 | 2015-01-15 | Mastercard International Incorporated | Merchant information correction through transaction history or detail | 
| US9041708B2 (en) | 2013-07-23 | 2015-05-26 | Palantir Technologies, Inc. | Multiple viewshed analysis | 
| US9477372B2 (en) | 2013-08-08 | 2016-10-25 | Palantir Technologies Inc. | Cable reader snippets and postboard | 
| US9565152B2 (en) | 2013-08-08 | 2017-02-07 | Palantir Technologies Inc. | Cable reader labeling | 
| GB2518745A (en) | 2013-08-08 | 2015-04-01 | Palantir Technologies Inc | Template system for custom document generation | 
| US9223773B2 (en) | 2013-08-08 | 2015-12-29 | Palatir Technologies Inc. | Template system for custom document generation | 
| US9335897B2 (en) | 2013-08-08 | 2016-05-10 | Palantir Technologies Inc. | Long click display of a context menu | 
| US8713467B1 (en) | 2013-08-09 | 2014-04-29 | Palantir Technologies, Inc. | Context-sensitive views | 
| US8689108B1 (en) | 2013-09-24 | 2014-04-01 | Palantir Technologies, Inc. | Presentation and analysis of user interaction data | 
| US9785317B2 (en) | 2013-09-24 | 2017-10-10 | Palantir Technologies Inc. | Presentation and analysis of user interaction data | 
| US8938686B1 (en) | 2013-10-03 | 2015-01-20 | Palantir Technologies Inc. | Systems and methods for analyzing performance of an entity | 
| US8812960B1 (en) | 2013-10-07 | 2014-08-19 | Palantir Technologies Inc. | Cohort-based presentation of user interaction data | 
| US9116975B2 (en) | 2013-10-18 | 2015-08-25 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores | 
| US8924872B1 (en) | 2013-10-18 | 2014-12-30 | Palantir Technologies Inc. | Overview user interface of emergency call data of a law enforcement agency | 
| US9021384B1 (en) | 2013-11-04 | 2015-04-28 | Palantir Technologies Inc. | Interactive vehicle information map | 
| US8832594B1 (en) | 2013-11-04 | 2014-09-09 | Palantir Technologies Inc. | Space-optimized display of multi-column tables with selective text truncation based on a combined text width | 
| US8868537B1 (en) | 2013-11-11 | 2014-10-21 | Palantir Technologies, Inc. | Simple web search | 
| US9235638B2 (en) | 2013-11-12 | 2016-01-12 | International Business Machines Corporation | Document retrieval using internal dictionary-hierarchies to adjust per-subject match results | 
| EP2884441A1 (en) | 2013-12-16 | 2015-06-17 | Palantir Technologies, Inc. | Methods and systems for analyzing entity performance | 
| US10025834B2 (en) | 2013-12-16 | 2018-07-17 | Palantir Technologies Inc. | Methods and systems for analyzing entity performance | 
| US20150187036A1 (en) | 2014-01-02 | 2015-07-02 | Palantir Technologies Inc. | Computer-implemented methods and systems for analyzing healthcare data | 
| US9043696B1 (en) | 2014-01-03 | 2015-05-26 | Palantir Technologies Inc. | Systems and methods for visual definition of data associations | 
| US9009827B1 (en) | 2014-02-20 | 2015-04-14 | Palantir Technologies Inc. | Security sharing system | 
| US9009171B1 (en) | 2014-05-02 | 2015-04-14 | Palantir Technologies Inc. | Systems and methods for active column filtering | 
| US9021260B1 (en) | 2014-07-03 | 2015-04-28 | Palantir Technologies Inc. | Malware data item analysis | 
| US9043894B1 (en) | 2014-11-06 | 2015-05-26 | Palantir Technologies Inc. | Malicious software detection in a computing system | 
| SG11201705774XA (en) * | 2015-01-15 | 2017-08-30 | Mitsubishi Heavy Ind Mechatronics Systems Ltd | Information presentation system for evaluating billing location | 
- 
        2017
        - 2017-07-18 US US15/652,641 patent/US10403011B1/en active Active
 
- 
        2019
        - 2019-07-16 US US16/513,423 patent/US20190347838A1/en not_active Abandoned
 
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US20230185830A1 (en) * | 2015-06-09 | 2023-06-15 | Palantir Technologies Inc. | Systems and methods for indexing and aggregating data records | 
| US11809457B2 (en) * | 2015-06-09 | 2023-11-07 | Palantir Technologies Inc. | Systems and methods for indexing and aggregating data records | 
Also Published As
| Publication number | Publication date | 
|---|---|
| US10403011B1 (en) | 2019-09-03 | 
Similar Documents
| Publication | Publication Date | Title | 
|---|---|---|
| US11989396B2 (en) | Integrated data authentication system with an interactive user interface | |
| US11030556B1 (en) | Digital processing systems and methods for dynamic object display of tabular information in collaborative work systems | |
| US10740429B2 (en) | Apparatus and method for acquiring, managing, sharing, monitoring, analyzing and publishing web-based time series data | |
| US11322027B2 (en) | Interactive vehicle information mapping system | |
| US10789263B2 (en) | System and user interfaces for searching resources and related documents using data structures | |
| US20220011911A1 (en) | Interactive display with workflow management system | |
| US11294915B2 (en) | Focused probabilistic entity resolution from multiple data sources | |
| US11768854B2 (en) | Data permissioning through data replication | |
| US12093159B2 (en) | Audit logging database system and user interface | |
| US9213472B2 (en) | User interface for providing supplemental information | |
| US12124464B2 (en) | Object-centric data analysis system and graphical user interface | |
| US12242537B2 (en) | Ontology-based time series visualization and analysis | |
| US20190347838A1 (en) | Passing system with an interactive user interface | |
| Daniel | Using a Digital Platform as a PMO in a Mega Project | 
Legal Events
| Date | Code | Title | Description | 
|---|---|---|---|
| AS | Assignment | Owner name: PALANTIR TECHNOLOGIES INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BRAKELEY, NATHANIEL;HWANG, DEBORAH;SIGNING DATES FROM 20170818 TO 20170821;REEL/FRAME:049934/0963 | |
| STPP | Information on status: patent application and granting procedure in general | Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION | |
| AS | Assignment | Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNOR:PALANTIR TECHNOLOGIES INC.;REEL/FRAME:051713/0149 Effective date: 20200127 Owner name: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT, CANADA Free format text: SECURITY INTEREST;ASSIGNOR:PALANTIR TECHNOLOGIES INC.;REEL/FRAME:051709/0471 Effective date: 20200127 | |
| AS | Assignment | Owner name: PALANTIR TECHNOLOGIES INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:ROYAL BANK OF CANADA;REEL/FRAME:052856/0382 Effective date: 20200604 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., NEW YORK Free format text: SECURITY INTEREST;ASSIGNOR:PALANTIR TECHNOLOGIES INC.;REEL/FRAME:052856/0817 Effective date: 20200604 | |
| STPP | Information on status: patent application and granting procedure in general | Free format text: PRE-INTERVIEW COMMUNICATION MAILED | |
| STPP | Information on status: patent application and granting procedure in general | Free format text: NON FINAL ACTION MAILED | |
| STCB | Information on status: application discontinuation | Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION | |
| AS | Assignment | Owner name: PALANTIR TECHNOLOGIES INC., CALIFORNIA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST;ASSIGNOR:ROYAL BANK OF CANADA;REEL/FRAME:057335/0753 Effective date: 20200604 | |
| AS | Assignment | Owner name: WELLS FARGO BANK, N.A., NORTH CAROLINA Free format text: ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:060572/0640 Effective date: 20220701 Owner name: WELLS FARGO BANK, N.A., NORTH CAROLINA Free format text: SECURITY INTEREST;ASSIGNOR:PALANTIR TECHNOLOGIES INC.;REEL/FRAME:060572/0506 Effective date: 20220701 |