The present invention relates to information technology software that enables automation processes that tracks data via custom configured bots, whose data are then stored, analyzed, and visually presented.
End users of Web task, legacy applications, Apple (Apple is a registered trade mark of Apple, Inc.) or Windows (Windows is a registered trade mark of Microsoft Corporation) based operating systems create few automated processes, that is, a series of steps that a user desires to execute on a computer (often at a pre-defined time or with a click of a button or a mouse). These software processes could be of any type and for any purpose, e.g., business, IT, scientific, or requirements to validate software behavior, etc. In some instances, the user desires to create a task, such as a bot for tracking and acquiring data, assign properties to the task, and then run the task on a local or a remote computer.
Desirable applications may be the creation of adapters that enable the automatic, periodic, collection of information and presenting that information to a user in a form that is visually helpful. Such systems assist the user to interactively analyze data that may be represented in a dashboard form, to permit the refinement of what may be useful data. In addition to permitting the refinement of what may be useful data and the ability to view it in forms that are constructive to an analysis, it may be instructive to a user that they see the interactions of the various data, such as acquired data and its meaning as relates to certain applications. Such visualization would allow the user to reach better decisions, or employ other applications more efficiently, as implied or derived from data. Traditional analytic visualization tools need data and business experts to manually construct data dashboards that require a deep understanding of the data elements and attributes being presented. These types of efforts are not scalable when one has hundreds of underlying data sources, each with its own distinct schema and data attributes.
U.S. Pat. No. 8,504,803 ('803) entitled System and Method For Creating and Executing Portable Software, incorporated by reference herein, demonstrates the creation of commands having single execution features or as part of a several line operation or one of several commands known as a portable unit that will facilitate the construction of the inventive features of the invention herein. What is needed is a system and method utilizing the principles of the '803 patent and to further enable the automated generation of dashboards, by using data analysis and profiling based techniques.
The invention discloses a computerized method for executing the steps including: (1) assembling tasks for collecting data for purposes of displaying a visual comparative, qualitative or quantitative analysis; (2) executing an analytics processor to perform an analysis of the data; (3) marking variables pertinent to the data by choosing from available variables related to the tasks; (4) choosing a data profile for inspecting the data against each variable marked for analytical examination within one or more elements of the task; (5) choosing a rank tab for displaying a distribution of the data against the parameters for an assigned variable; (6) running the tasks through the analytics processor; (7) automatically creating a dashboard for viewing one or more key comparative, qualitative or quantitative indicators, such as one of a mathematical presentation, chart, map or graph; (8) optionally using a data filter for analyzing the data over a data field and displaying the data field on the dashboard.
This disclosure further relates to a computer method for creating a dashboard on a display including the steps of: (1) creating an execution file having one or more tasks having command line arguments executable as widgets by the computer, assembled into an execution file, which includes nested tasks; (2) organizing the nested task related to each task; (3) accounting for all dependencies to insure that files, tasks, and environments for running on the computer are present in the execution file; (4) the step of creating an execution file further including, (a) reading the task file, (b) scanning for event dependencies, and (c) embedding files and links needed for execution of the execution file, (d) storing the dependencies in a dependency file, and (e) accessing a data profiler to profile data attributes related to the line arguments and pertinent to data sources tagged, (f) outputting the data profiler attributes and identifiers to a data rank classifier for a visualization widget generator, whereby one or more individual key performance indicators are programmatically input to a dashboard generator that combines the individual widgets to create a single dashboard associated with the underlying automation task for which the data attributes were associated.
This disclosure further relates to a computer system for creating a dashboard comprising: (1) executable widgets assembled into an execution file, which includes nested tasks; (2) a data elements profiler for profiling data attributes pertinent to a tagged data source for which one of a comparative, qualitative or quantitative analysis is desired; (3) a data rank classifier for inspecting the results from the data profiler and classifying numeric attributes based on a preselected parameter; (4) a visualization widget generator for generating a key performance indicator whereby one or more widgets selected attributes, is identified by a data rank classifier; (5) A dashboard generator for combining widgets generated by the visualization widget generator, for creating a dashboard associated with the underlying automation task for which the data attributes are associated; (6) a date filter associator in association with each of the widgets that form that part of the dashboard generated.
The present invention will now be described more fully with reference to the accompanying drawings, in which the preferred embodiments of the invention are shown. This invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout. In what follows, application software refers to all the computer software that causes a computer to perform useful tasks beyond the running of the computer itself.
The disclosure more specifically relates to software, which manages and integrates a computer's capabilities, such as the generation of widgets and adapters to enable application automation that can be leveraged by various automation engines, including such technology as offered at Automation Anywhere (found at www.automationanywhere.com).
The data storage device 107 may store, for example, (i) a program, (e.g., computer program code and/or a computer program product), for creating, executing and porting the software, as more fully described in
The term “computer-readable medium” as used herein refers to any medium that provides or participates in providing instructions to the processor of the computing device (or any other processor of a device described herein) for execution and more particularly for creating, executing and porting the bot, tagging, logging and analyzing the data, to achieve the novelty of the invention. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, by way of example, optical or magnetic disks, such as memory. Volatile media may include dynamic random access memory (DRAM), which typically constitutes the main memory. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM or EEPROM (electronically erasable programmable read-only memory), a FLASH-EEPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to the processor (or any other processor of a device described herein) for creating, executing and porting the bot, tagging, logging and analyzing the data. For example, the instructions may initially be borne on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over an Ethernet connection, cable line, or even telephone line using a modem. A communications device local to a computing device (or, e.g., a server, such as communication module 122) can receive the data on the respective communications line and place the data on a system bus for the processor. The instructions received by main memory may optionally be stored in memory either before or after execution by the processor. In addition, instructions may be received via communication module 122 and associated port as electrical, electromagnetic or optical signals, which are exemplary forms of wireless communications or data streams.
The data profiling of each data source schema is presented for analysis as data types and classified accordingly, as by way of example strings, numbers, and such distinguishing characteristics as date, time, place or condition of occurrence. The process 250 also includes ranking and classifying the data elements according to salience of the information that is being generated. The process allows building individual bots or widgets needed to retrieve data from multiple sources, that then allows automatic construction of the data into a dashboard 255 visualization, based on by way of example, a ranking of data elements, predefined by the user, based on user generated algorithms, or other artificial intelligent processes. As indicated in step 3 an auto-generation of a visualization dashboard 255 combines the individual widget generated data, by associating the relevant data filters to perform such visualizations as charts, graphs (e.g., time-series analysis) and maps on the dashboard 255. The process 250 also allows for the customization and personalization of the dashboard 255.
The invention further discloses a computerized method that embodies process 250, for executing the steps including: (1) assembling tasks for collecting diverse information for purposes of displaying a visual comparative, qualitative or quantitative analysis; (2) executing an analytics processor to perform an analysis of the information; (3) marking variables pertinent to the data analysis by choosing from available variables related to the tasks; (4) choosing a data profile for inspecting the data against each variable marked for analytical examination within one or more elements of the task; (5) choosing a rank tab for inspecting a distribution of the data against the parameters for an assigned variable; (6) running the tasks through the analytics processor; (7) automatically creating a dashboard for reviewing one or more key comparative, qualitative or quantitative indicators, such as one of a mathematical (e.g., statistical presentation or graphical timeline), chart, map or graph; (8) optionally using a data filter for analyzing the data over a data field and displaying the data field on the dashboard.
Referring now to
A data profiler 301 profiles the various data attributes pertinent to a data source tagged 252 (
The data rank classifier 307 inspects the results from the data elements profiler 301 and classifies the ‘n’ most valuable numeric attributes based on a preselected parameter, such as by way of example, a data distribution range (MAX-MIN). It then ranks this list based on an appropriate measure, such as by way of example, a SUM of the data values for each attribute. Thereafter the data rank classifier 307 determines a set of the ranks, such as the top n, where n is a number, such as 3, for a visualization widget generator 303.
The visualization widget generator 303 generates a individual key performance indicator (KPI), such as a pie chart, donut chart or time-series bar chart, whereby one or more widgets select attributes, such as a numeric data attribute, as identified by the data rank classifier 307. For example, a time-series bar chart, may depict the top 2 KPIs, which are then identified and plotted against by way of example, a date or time attribute that is identified based on the date or time having an attribute with a highest distinct value count. By way of another example, a donut chart may include the top KPI identified as plotted over 2 string type attributes, where a row count sum for the top 10 values as a percent (%) of total row count is highest.
A dashboard generator 309 combines all the individual widgets generated by a visualization widget generator 303, and creates a single dashboard that is associated with the underlying automation task for which the data attributes were associated.
A date filter associator 305 is a common data filter in association with each of the widgets that form that part of the dashboard generated, which is selected from the list of attributes based on certain parameters as, by way of example, the highest DISTINCT value count.
After the dashboard 259 (see,
With further reference to
More specifically, the disclosure herein further relates to a computer method for creating a dashboard on a display including the steps of: creating an execution file having one or more tasks having command line arguments executable as widgets by the computer, assembled into an execution file, which includes nested tasks, organizing the nested task related to each task and accounting for all dependencies to insure that files, tasks, and environments for running on the computer are present in the execution file, said step of creating an execution file further including, reading the task file, scanning for event dependencies and embedding files and links needed for execution of the execution file, storing the dependencies in a dependency file, and accessing a data profiler 301 to profile data attributes related to line arguments and pertinent to data sources tagged, the data profiler outputting the profile attributes and identifiers to the data rank classifier 307 for the visualization widget generator 303, that generates one or more individual key performance indicators to be input to a dashboard generator 309 that combines the individual widgets generated by the visualization widget generator 303, to create a single dashboard that is associated with the underlying automation task for which the data attributes were associated. A data filter associator 305 functions as a common data filter to allows the user to separate widgets that form that part of the dashboard generated into distinct categories.
More particularly with reference to
Upon execution of the new task 219, the data elements profiler 301 (
As shown in
Task editor 201 contains three adjunct windows, a task action window 206, a command window 204 and an action window 214b. The task editor 201 also includes commands that are inserted into the task action window 206. For each of the commands 202, added as tasks, the system 100 permits inserting new actions or keystrokes 207, removing/adding mouse moves 205, mouse clicks 213, delays 215 and optimizing tasks, and creating new tasks.
More particularly with reference to
Referring again to
Turning to
When the automation process is executed, the data elements marked for analytics logging 254 (
Dashboard 255 (
Individual elements of data found inside, by way of example illustrated in
The foregoing invention has been described with reference to the above embodiments, however additional modifications and changes can be made without departing from the spirit of the invention.
This is a continuation-in-part of and claims the priority benefit under 35 U.S.C. 120 for U.S. patent application Ser. No 15/351,615, entitled ROI Based Automation Recommendation and Execution, filed Nov. 15, 2016; and 35 U.S.C. 120 for U.S. patent application Ser. No. 62/409,444, entitled System and Method for Data Profile Driven analytics, filed Oct. 18, 2016; and 35 U.S.C. 120 for U.S. patent application Ser. No 14/988,877, entitled System And Method For Compliance Based Automation, filed Jan. 6, 2016; and 35 U.S.C. 120 for U.S. patent application Ser. No. 62/258,601, entitled ROI Based Automation Recommendation And Execution, filed Nov. 23, 2015; and the priority benefit under 35 U.S.C. 120 for U.S. patent application Ser. No 14/939,715, entitled Artificial Intelligence & Knowledge Based Automation Enhancement, filed, Nov. 12, 2015; and the priority benefit under 35 U.S.C. 120, Ser. No. 62/160,655, entitled System And Method For Compliance Based Automation, filed May 13, 2015; and 35 U.S.C. 120 for U.S. patent application Ser. No. 62/130,068 entitled System And Method For Upgrade Resilient Automation, filed Mar. 9, 2015; and Ser. No. 14/834,773, entitled System And Method For Resilient Automation, filed Aug. 25, 2015; and under 35 U.S.C. 120 for U.S. Pat. No. 9,462,042 entitled System And Method For Enabling Application Discovery By Automation Needs, issued Oct. 4, 2016; and the priority benefit under 35 U.S.C. 120 for U.S. Pat. No. 8,504,803 System and Method For Creating and Executing Portable Software, the entire disclosures of which are hereby incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
62409444 | Oct 2016 | US | |
62258601 | Nov 2015 | US | |
62160655 | May 2015 | US | |
62130068 | Mar 2015 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15351615 | Nov 2016 | US |
Child | 15675180 | US | |
Parent | 14988877 | Jan 2016 | US |
Child | 15351615 | US | |
Parent | 14939715 | Nov 2015 | US |
Child | 14988877 | US | |
Parent | 14834773 | Aug 2015 | US |
Child | 14939715 | US | |
Parent | 12787469 | May 2010 | US |
Child | 14834773 | US | |
Parent | 13925522 | Jun 2013 | US |
Child | 12787469 | US |